keating 0.3.8 → 0.3.10
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/dist/src/core/benchmark.js +37 -31
- package/dist/src/core/pi-agent.js +1 -1
- package/dist/src/pi/hyperteacher-extension.js +30 -4
- package/dist/src/runtime/pi.js +4 -3
- package/package.json +4 -3
- package/web/.output/nitro.json +17 -0
- package/web/.output/public/.well-known/llms.txt +44 -0
- package/web/.output/public/apple-touch-icon.svg +10 -0
- package/web/.output/public/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/web/.output/public/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/web/.output/public/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/web/.output/public/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/web/.output/public/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/web/.output/public/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/web/.output/public/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/web/.output/public/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/web/.output/public/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/web/.output/public/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/web/.output/public/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/web/.output/public/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/web/.output/public/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/web/.output/public/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/web/.output/public/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/web/.output/public/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/web/.output/public/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/web/.output/public/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/web/.output/public/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/web/.output/public/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/web/.output/public/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/web/.output/public/assets/anthropic-D8J8em9_.js +39 -0
- package/web/{dist/assets/arc-BgYOxBdg.js → .output/public/assets/arc-oTgBOc9h.js} +1 -1
- package/web/.output/public/assets/architecture-YZFGNWBL-DZ_Ec0kf.js +1 -0
- package/web/{dist/assets/architectureDiagram-Q4EWVU46-Yh6i8NsV.js → .output/public/assets/architectureDiagram-Q4EWVU46-BkX3k5GJ.js} +1 -1
- package/web/.output/public/assets/azure-openai-responses-BllE29wk.js +1 -0
- package/web/{dist/assets/band-mY0qgSES.js → .output/public/assets/band-w5KgYWOj.js} +1 -1
- package/web/{dist/assets/blockDiagram-DXYQGD6D-DUOEnS09.js → .output/public/assets/blockDiagram-DXYQGD6D-DQcL9Ujg.js} +1 -1
- package/web/{dist/assets/c4Diagram-AHTNJAMY-XzNOUnLt.js → .output/public/assets/c4Diagram-AHTNJAMY-D-IePZqI.js} +1 -1
- package/web/.output/public/assets/channel-CYyKOAtV.js +1 -0
- package/web/{dist/assets/chunk-2KRD3SAO-mLbXjVje.js → .output/public/assets/chunk-2KRD3SAO-B6zL3K_-.js} +1 -1
- package/web/{dist/assets/chunk-336JU56O-CQcnUKNW.js → .output/public/assets/chunk-336JU56O-c7e9XQL0.js} +2 -2
- package/web/.output/public/assets/chunk-426QAEUC-BjSoaXb2.js +1 -0
- package/web/{dist/assets/chunk-4BX2VUAB-DRZjGMDM.js → .output/public/assets/chunk-4BX2VUAB-C-QwaF8o.js} +1 -1
- package/web/{dist/assets/chunk-4TB4RGXK-CAwQq2uM.js → .output/public/assets/chunk-4TB4RGXK-BPHoxzPs.js} +1 -1
- package/web/{dist/assets/chunk-55IACEB6-C19HKnvd.js → .output/public/assets/chunk-55IACEB6-B1zv33Gi.js} +1 -1
- package/web/{dist/assets/chunk-5FUZZQ4R-Bw3BFJJs.js → .output/public/assets/chunk-5FUZZQ4R-Ca04rGKU.js} +1 -1
- package/web/{dist/assets/chunk-5PVQY5BW-Ciel-YVc.js → .output/public/assets/chunk-5PVQY5BW-B-37rcM6.js} +1 -1
- package/web/{dist/assets/chunk-67CJDMHE-DNZKE79k.js → .output/public/assets/chunk-67CJDMHE-HdGQv4Jx.js} +1 -1
- package/web/{dist/assets/chunk-7N4EOEYR-BGZXIfBD.js → .output/public/assets/chunk-7N4EOEYR-DqXAO0Gi.js} +1 -1
- package/web/{dist/assets/chunk-AA7GKIK3-CLWjm_Gk.js → .output/public/assets/chunk-AA7GKIK3-DDm8EH48.js} +1 -1
- package/web/{dist/assets/chunk-BSJP7CBP-DwT1eVSc.js → .output/public/assets/chunk-BSJP7CBP-c6iSgQvG.js} +1 -1
- package/web/.output/public/assets/chunk-Bj-mKKzh.js +1 -0
- package/web/{dist/assets/chunk-CIAEETIT-DaQsGVwH.js → .output/public/assets/chunk-CIAEETIT-CJ1fnWwS.js} +1 -1
- package/web/{dist/assets/chunk-EDXVE4YY-DNeRJTiS.js → .output/public/assets/chunk-EDXVE4YY-BAD3qlf8.js} +1 -1
- package/web/{dist/assets/chunk-ENJZ2VHE-Crfow0Ab.js → .output/public/assets/chunk-ENJZ2VHE-CygEaEHK.js} +1 -1
- package/web/{dist/assets/chunk-FMBD7UC4-BWSstEYx.js → .output/public/assets/chunk-FMBD7UC4-DtK74FNN.js} +1 -1
- package/web/{dist/assets/chunk-FOC6F5B3-BrTsf5ix.js → .output/public/assets/chunk-FOC6F5B3-B1tJYVCE.js} +1 -1
- package/web/{dist/assets/chunk-ICPOFSXX-C04NFfJk.js → .output/public/assets/chunk-ICPOFSXX-Cx8pjnoR.js} +3 -3
- package/web/{dist/assets/chunk-K5T4RW27-C6ErEFB0.js → .output/public/assets/chunk-K5T4RW27-BwFJlMGX.js} +1 -1
- package/web/{dist/assets/chunk-KGLVRYIC-DWgMrjZr.js → .output/public/assets/chunk-KGLVRYIC-mZuEP_SX.js} +1 -1
- package/web/{dist/assets/chunk-LIHQZDEY-D3DWGnJT.js → .output/public/assets/chunk-LIHQZDEY-kAIrsC_z.js} +1 -1
- package/web/{dist/assets/chunk-ORNJ4GCN-D0nhq27e.js → .output/public/assets/chunk-ORNJ4GCN-B5sPpxPr.js} +1 -1
- package/web/{dist/assets/chunk-OYMX7WX6-CQLx0cU3.js → .output/public/assets/chunk-OYMX7WX6-793CQBwp.js} +1 -1
- package/web/.output/public/assets/chunk-QZHKN3VN-BeLnIYwL.js +1 -0
- package/web/{dist/assets/chunk-U2HBQHQK-FqDOW_Dq.js → .output/public/assets/chunk-U2HBQHQK-ffKeXnV6.js} +1 -1
- package/web/{dist/assets/chunk-X2U36JSP-DiSftNGg.js → .output/public/assets/chunk-X2U36JSP-DntoY71A.js} +1 -1
- package/web/{dist/assets/chunk-XPW4576I-CTCFDURY.js → .output/public/assets/chunk-XPW4576I-DuNk6l5T.js} +1 -1
- package/web/{dist/assets/chunk-YZCP3GAM-BhxShnp0.js → .output/public/assets/chunk-YZCP3GAM-C6cD67UW.js} +1 -1
- package/web/{dist/assets/chunk-ZZ45TVLE-DMfGJuPz.js → .output/public/assets/chunk-ZZ45TVLE-C-NXiDgG.js} +1 -1
- package/web/.output/public/assets/classDiagram-6PBFFD2Q-B0p5BvS5.js +1 -0
- package/web/.output/public/assets/classDiagram-v2-HSJHXN6E-CNV1kogp.js +1 -0
- package/web/.output/public/assets/clone-t_jPG6Vp.js +1 -0
- package/web/{dist/assets/cose-bilkent-S5V4N54A-BWrDpSLZ.js → .output/public/assets/cose-bilkent-S5V4N54A-B_r8CGOq.js} +1 -1
- package/web/{dist/assets/custom-tts-DA7XkgNJ.js → .output/public/assets/custom-tts-6caJdeJH.js} +1 -1
- package/web/{dist/assets/dagre-C_Y5Jrtl.js → .output/public/assets/dagre-B6LvKZOC.js} +1 -1
- package/web/{dist/assets/dagre-KV5264BT-DcrvRRX1.js → .output/public/assets/dagre-KV5264BT-kmbpW2Qa.js} +1 -1
- package/web/.output/public/assets/diagnostics-Dir03GES.js +1 -0
- package/web/{dist/assets/diagram-5BDNPKRD-BsChRck6.js → .output/public/assets/diagram-5BDNPKRD-jScdzoma.js} +1 -1
- package/web/{dist/assets/diagram-G4DWMVQ6-raeAsgoe.js → .output/public/assets/diagram-G4DWMVQ6-DpX26eSz.js} +1 -1
- package/web/{dist/assets/diagram-MMDJMWI5-CuKsP84I.js → .output/public/assets/diagram-MMDJMWI5-C9dVTkG7.js} +1 -1
- package/web/{dist/assets/diagram-TYMM5635-T7ILcS3d.js → .output/public/assets/diagram-TYMM5635-DRTAOPO-.js} +1 -1
- package/web/{dist/assets/dist-oYdMaa1U.js → .output/public/assets/dist-mae6wHLp.js} +3 -3
- package/web/.output/public/assets/env-api-keys-7u9jMM5_.js +1 -0
- package/web/{dist/assets/erDiagram-SMLLAGMA-C9z6kYxH.js → .output/public/assets/erDiagram-SMLLAGMA-Coj28jXq.js} +1 -1
- package/web/.output/public/assets/event-stream-DcqAlaOm.js +1 -0
- package/web/{dist/assets/flatten-n72VCU_F.js → .output/public/assets/flatten-U6HPKYck.js} +1 -1
- package/web/{dist/assets/flowDiagram-DWJPFMVM-BA3HBIvp.js → .output/public/assets/flowDiagram-DWJPFMVM-CrvcpZkH.js} +1 -1
- package/web/{dist/assets/ganttDiagram-T4ZO3ILL-BXKKRsbk.js → .output/public/assets/ganttDiagram-T4ZO3ILL-C_IKmfo1.js} +1 -1
- package/web/.output/public/assets/gemini-live-yGyuxMZL.js +2 -0
- package/web/.output/public/assets/gitGraph-7Q5UKJZL-CqSUwktU.js +1 -0
- package/web/{dist/assets/gitGraphDiagram-UUTBAWPF-CfGAccI8.js → .output/public/assets/gitGraphDiagram-UUTBAWPF-BI4Z-mQ2.js} +1 -1
- package/web/.output/public/assets/github-copilot-headers-B6Fvsk-Y.js +1 -0
- package/web/.output/public/assets/google-Nkegp1GZ.js +1 -0
- package/web/.output/public/assets/google-shared-DGeOO0KQ.js +11 -0
- package/web/.output/public/assets/google-vertex-g5NuaSdk.js +1 -0
- package/web/{dist/assets/graphlib-sK54_wxh.js → .output/public/assets/graphlib-5VtJ2oig.js} +1 -1
- package/web/.output/public/assets/headers-DkHU-pcw.js +1 -0
- package/web/{dist/assets/index-B_MGHHww.js → .output/public/assets/index-BqQW1iWw.js} +807 -775
- package/web/.output/public/assets/index-CGn8E70R.css +2 -0
- package/web/.output/public/assets/info-OMHHGYJF-CuBqqD0E.js +1 -0
- package/web/{dist/assets/infoDiagram-42DDH7IO-CXoykyfr.js → .output/public/assets/infoDiagram-42DDH7IO-DJwPib2w.js} +1 -1
- package/web/{dist/assets/isEmpty-Lz_aOZWI.js → .output/public/assets/isEmpty-Bz-lCaCA.js} +1 -1
- package/web/{dist/assets/ishikawaDiagram-UXIWVN3A-BJieXVMt.js → .output/public/assets/ishikawaDiagram-UXIWVN3A-Bm0Zg0-C.js} +1 -1
- package/web/{dist/assets/journeyDiagram-VCZTEJTY-CwCyrnqT.js → .output/public/assets/journeyDiagram-VCZTEJTY-7KIiN_Ei.js} +1 -1
- package/web/{dist/assets/json-parse-C6tSeIxX.js → .output/public/assets/json-parse-MTOUHjU0.js} +2 -1
- package/web/{dist/assets/kanban-definition-6JOO6SKY-8ACmDHsl.js → .output/public/assets/kanban-definition-6JOO6SKY-CWSQfP5S.js} +1 -1
- package/web/{dist/assets/line-BqZCcbso.js → .output/public/assets/line-DrNncrSe.js} +1 -1
- package/web/{dist/assets/linear-CXf5Bx3D.js → .output/public/assets/linear-BwflsB10.js} +1 -1
- package/web/{dist/assets/mermaid-parser.core-C8ylgsWV.js → .output/public/assets/mermaid-parser.core-DMxe11ol.js} +2 -2
- package/web/{dist/assets/mermaid.core-BHCT6V24.js → .output/public/assets/mermaid.core-CzgDa8OF.js} +3 -3
- package/web/{dist/assets/mindmap-definition-QFDTVHPH-DrDAZL9Q.js → .output/public/assets/mindmap-definition-QFDTVHPH-D-lNkDnE.js} +1 -1
- package/web/.output/public/assets/mistral-Ba31w8rV.js +69 -0
- package/web/.output/public/assets/openai-codex-responses-X5oqdT0v.js +7 -0
- package/web/.output/public/assets/openai-completions-DYxG7eWy.js +5 -0
- package/web/.output/public/assets/openai-prompt-cache-9tCK10l1.js +1 -0
- package/web/{dist/assets/openai-realtime-BCZmIToJ.js → .output/public/assets/openai-realtime-D1gbzEEc.js} +1 -1
- package/web/.output/public/assets/openai-responses-BzceW3eb.js +1 -0
- package/web/.output/public/assets/openai-responses-shared-B9_LiyEY.js +12 -0
- package/web/{dist/assets/openai-tts-BRg2goic.js → .output/public/assets/openai-tts-DG5Ys3k9.js} +1 -1
- package/web/.output/public/assets/openrouter-C9VgLw1K.js +1 -0
- package/web/{dist/assets/ordinal-CHOvK70a.js → .output/public/assets/ordinal-Cw77dVkR.js} +1 -1
- package/web/.output/public/assets/ort-wasm-simd-threaded.jsep-B0T3yYHD.wasm +0 -0
- package/web/.output/public/assets/p-retry-mEzMPax9.js +1 -0
- package/web/.output/public/assets/packet-4T2RLAQJ-D2x4nN0-.js +1 -0
- package/web/.output/public/assets/pdf.worker.min-Cpi8b8z3.mjs +28 -0
- package/web/.output/public/assets/pie-ZZUOXDRM-kWPr2BJV.js +1 -0
- package/web/{dist/assets/pieDiagram-DEJITSTG-CSnulv9o.js → .output/public/assets/pieDiagram-DEJITSTG-C7FwzQS5.js} +1 -1
- package/web/.output/public/assets/preload-helper-DSXbuxSR.js +1 -0
- package/web/{dist/assets/quadrantDiagram-34T5L4WZ-DiM-1bw4.js → .output/public/assets/quadrantDiagram-34T5L4WZ-CY7HoVD8.js} +1 -1
- package/web/.output/public/assets/radar-PYXPWWZC-C95fU_MN.js +1 -0
- package/web/{dist/assets/reduce-r7gP4wdg.js → .output/public/assets/reduce-DQIdC_mC.js} +1 -1
- package/web/{dist/assets/renderer-BHoCfdWO-BFpsm4dw.js → .output/public/assets/renderer-BHoCfdWO-COcEnbx-.js} +1 -1
- package/web/{dist/assets/requirementDiagram-MS252O5E-CunJUnIN.js → .output/public/assets/requirementDiagram-MS252O5E-paEmPBuX.js} +1 -1
- package/web/.output/public/assets/sanitize-unicode-BD2XKRoV.js +1 -0
- package/web/{dist/assets/sankeyDiagram-XADWPNL6-DaA_56zq.js → .output/public/assets/sankeyDiagram-XADWPNL6-Ext_g4Ox.js} +1 -1
- package/web/{dist/assets/sequenceDiagram-FGHM5R23-CG_SeqVO.js → .output/public/assets/sequenceDiagram-FGHM5R23-CTLnxFUj.js} +1 -1
- package/web/{dist/assets/speech-ZNExxXBR.js → .output/public/assets/speech-D3C-KRDP.js} +2 -2
- package/web/{dist/assets/src-BfaOho0B.js → .output/public/assets/src-BOZISNbw.js} +1 -1
- package/web/{dist/assets/stateDiagram-FHFEXIEX-CSUigMtP.js → .output/public/assets/stateDiagram-FHFEXIEX-B3an23Pn.js} +1 -1
- package/web/.output/public/assets/stateDiagram-v2-QKLJ7IA2-D_cYSwJU.js +1 -0
- package/web/{dist/assets/supertonic-hDdNdgtO.js → .output/public/assets/supertonic-DzwILFbx.js} +2 -2
- package/web/{dist/assets/time-DaCo2z7n.js → .output/public/assets/time-HnfVL2-O.js} +1 -1
- package/web/{dist/assets/timeline-definition-GMOUNBTQ-DcMiH-gG.js → .output/public/assets/timeline-definition-GMOUNBTQ-D_chE-0s.js} +1 -1
- package/web/.output/public/assets/transform-messages-BQ4ruKay.js +1 -0
- package/web/{dist/assets/transformers.web-R9eWI1xg.js → .output/public/assets/transformers.web-Bopumv3I.js} +1 -1
- package/web/.output/public/assets/treeView-SZITEDCU-BaJsJYGU.js +1 -0
- package/web/.output/public/assets/treemap-W4RFUUIX-CZyrM93a.js +1 -0
- package/web/{dist/assets/vennDiagram-DHZGUBPP-C6A75Q3q.js → .output/public/assets/vennDiagram-DHZGUBPP-CVDiEdUR.js} +1 -1
- package/web/.output/public/assets/wardley-RL74JXVD-CF0AcTcr.js +1 -0
- package/web/{dist/assets/wardleyDiagram-NUSXRM2D-XmYD0oYm.js → .output/public/assets/wardleyDiagram-NUSXRM2D-CroPrw7r.js} +1 -1
- package/web/.output/public/assets/web-CVLwkmjx.js +10 -0
- package/web/{dist/assets/xychartDiagram-5P7HB3ND-BgSoKcS9.js → .output/public/assets/xychartDiagram-5P7HB3ND-C0_hkOEJ.js} +1 -1
- package/web/.output/public/assets/zodToJsonSchema-CS8B3iBY.js +3 -0
- package/web/.output/public/favicon.svg +10 -0
- package/web/.output/public/index.html +118 -0
- package/web/.output/public/keating-metaharness.pdf +10557 -3
- package/web/.output/public/llms.txt +44 -0
- package/web/.output/public/logo.png +0 -0
- package/web/.output/public/manifest.webmanifest +1 -0
- package/web/.output/public/og-image.png +0 -0
- package/web/.output/public/pwa-192x192.svg +10 -0
- package/web/.output/public/pwa-512x512.svg +10 -0
- package/web/.output/public/registerSW.js +1 -0
- package/web/.output/public/robots.txt +8 -0
- package/web/.output/public/sitemap.xml +39 -0
- package/web/.output/public/sw.js +665 -0
- package/web/.output/public/tapes/doctor.mp4 +0 -0
- package/web/.output/public/tapes/feedback-flow.mp4 +0 -0
- package/web/.output/public/tapes/improve-flow.mp4 +0 -0
- package/web/.output/public/tapes/intro.mp4 +0 -0
- package/web/.output/public/tapes/learning-flow.mp4 +0 -0
- package/web/.output/public/tapes/session-flow.mp4 +0 -0
- package/web/.output/public/tapes/teacher-flow.mp4 +0 -0
- package/web/.output/public/tapes/tests.mp4 +0 -0
- package/web/.output/public/workbox-2ae722a1.js +4390 -0
- package/web/.output/server/_chunks/renderer-template.mjs +10 -0
- package/web/.output/server/_libs/h3+rou3+srvx.mjs +1383 -0
- package/web/.output/server/_libs/hookable.mjs +41 -0
- package/web/.output/server/_libs/ufo.mjs +64 -0
- package/web/.output/server/index.mjs +2095 -0
- package/web/dist/assets/_baseFor-B4pl5CmD.js +1 -0
- package/web/dist/assets/anthropic-D8J8em9_.js +39 -0
- package/web/dist/assets/arc-oTgBOc9h.js +1 -0
- package/web/dist/assets/architecture-YZFGNWBL-DZ_Ec0kf.js +1 -0
- package/web/dist/assets/architectureDiagram-Q4EWVU46-BkX3k5GJ.js +36 -0
- package/web/dist/assets/array-DKReyB4R.js +1 -0
- package/web/dist/assets/azure-openai-responses-BllE29wk.js +1 -0
- package/web/dist/assets/band-w5KgYWOj.js +1 -0
- package/web/dist/assets/blockDiagram-DXYQGD6D-DQcL9Ujg.js +132 -0
- package/web/dist/assets/c4Diagram-AHTNJAMY-D-IePZqI.js +10 -0
- package/web/dist/assets/channel-CYyKOAtV.js +1 -0
- package/web/dist/assets/chunk-2KRD3SAO-B6zL3K_-.js +1 -0
- package/web/dist/assets/chunk-336JU56O-c7e9XQL0.js +2 -0
- package/web/dist/assets/chunk-426QAEUC-BjSoaXb2.js +1 -0
- package/web/dist/assets/chunk-4BX2VUAB-C-QwaF8o.js +1 -0
- package/web/dist/assets/chunk-4TB4RGXK-BPHoxzPs.js +206 -0
- package/web/dist/assets/chunk-55IACEB6-B1zv33Gi.js +1 -0
- package/web/dist/assets/chunk-5FUZZQ4R-Ca04rGKU.js +62 -0
- package/web/dist/assets/chunk-5PVQY5BW-B-37rcM6.js +2 -0
- package/web/dist/assets/chunk-67CJDMHE-HdGQv4Jx.js +1 -0
- package/web/dist/assets/chunk-7N4EOEYR-DqXAO0Gi.js +1 -0
- package/web/dist/assets/chunk-AA7GKIK3-DDm8EH48.js +1 -0
- package/web/dist/assets/chunk-BSJP7CBP-c6iSgQvG.js +1 -0
- package/web/dist/assets/chunk-CIAEETIT-CJ1fnWwS.js +1 -0
- package/web/dist/assets/chunk-EDXVE4YY-BAD3qlf8.js +1 -0
- package/web/dist/assets/chunk-ENJZ2VHE-CygEaEHK.js +10 -0
- package/web/dist/assets/chunk-FMBD7UC4-DtK74FNN.js +15 -0
- package/web/dist/assets/chunk-FOC6F5B3-B1tJYVCE.js +1 -0
- package/web/dist/assets/chunk-ICPOFSXX-Cx8pjnoR.js +123 -0
- package/web/dist/assets/chunk-K5T4RW27-BwFJlMGX.js +94 -0
- package/web/dist/assets/chunk-KGLVRYIC-mZuEP_SX.js +1 -0
- package/web/dist/assets/chunk-LIHQZDEY-kAIrsC_z.js +1 -0
- package/web/dist/assets/chunk-ORNJ4GCN-B5sPpxPr.js +1 -0
- package/web/dist/assets/chunk-OYMX7WX6-793CQBwp.js +231 -0
- package/web/dist/assets/chunk-QZHKN3VN-BeLnIYwL.js +1 -0
- package/web/dist/assets/chunk-U2HBQHQK-ffKeXnV6.js +70 -0
- package/web/dist/assets/chunk-X2U36JSP-DntoY71A.js +1 -0
- package/web/dist/assets/chunk-XPW4576I-DuNk6l5T.js +32 -0
- package/web/dist/assets/chunk-YZCP3GAM-C6cD67UW.js +1 -0
- package/web/dist/assets/chunk-ZZ45TVLE-C-NXiDgG.js +1 -0
- package/web/dist/assets/classDiagram-6PBFFD2Q-B0p5BvS5.js +1 -0
- package/web/dist/assets/classDiagram-v2-HSJHXN6E-CNV1kogp.js +1 -0
- package/web/dist/assets/clone-t_jPG6Vp.js +1 -0
- package/web/dist/assets/cose-bilkent-S5V4N54A-B_r8CGOq.js +1 -0
- package/web/dist/assets/custom-tts-6caJdeJH.js +1 -0
- package/web/dist/assets/cytoscape.esm-CIAhqqev.js +321 -0
- package/web/dist/assets/dagre-B6LvKZOC.js +1 -0
- package/web/dist/assets/dagre-KV5264BT-kmbpW2Qa.js +4 -0
- package/web/dist/assets/defaultLocale-CzQOUpbn.js +1 -0
- package/web/dist/assets/diagnostics-Dir03GES.js +1 -0
- package/web/dist/assets/diagram-5BDNPKRD-jScdzoma.js +10 -0
- package/web/dist/assets/diagram-G4DWMVQ6-DpX26eSz.js +24 -0
- package/web/dist/assets/diagram-MMDJMWI5-C9dVTkG7.js +43 -0
- package/web/dist/assets/diagram-TYMM5635-DRTAOPO-.js +24 -0
- package/web/dist/assets/dist-DzRHszr6.js +1 -0
- package/web/dist/assets/dist-mae6wHLp.js +10 -0
- package/web/dist/assets/env-api-keys-7u9jMM5_.js +1 -0
- package/web/dist/assets/erDiagram-SMLLAGMA-Coj28jXq.js +85 -0
- package/web/dist/assets/event-stream-DcqAlaOm.js +1 -0
- package/web/dist/assets/flatten-U6HPKYck.js +1 -0
- package/web/dist/assets/flowDiagram-DWJPFMVM-CrvcpZkH.js +162 -0
- package/web/dist/assets/ganttDiagram-T4ZO3ILL-C_IKmfo1.js +292 -0
- package/web/dist/assets/gemini-live-yGyuxMZL.js +2 -0
- package/web/dist/assets/gitGraph-7Q5UKJZL-CqSUwktU.js +1 -0
- package/web/dist/assets/gitGraphDiagram-UUTBAWPF-BI4Z-mQ2.js +106 -0
- package/web/dist/assets/github-copilot-headers-B6Fvsk-Y.js +1 -0
- package/web/dist/assets/google-Nkegp1GZ.js +1 -0
- package/web/dist/assets/google-shared-DGeOO0KQ.js +11 -0
- package/web/dist/assets/google-vertex-g5NuaSdk.js +1 -0
- package/web/dist/assets/graphlib-5VtJ2oig.js +1 -0
- package/web/dist/assets/hash-K0cSe8jy.js +1 -0
- package/web/dist/assets/headers-DkHU-pcw.js +1 -0
- package/web/dist/assets/index-BqQW1iWw.js +3219 -0
- package/web/dist/assets/index-CGn8E70R.css +2 -0
- package/web/dist/assets/info-OMHHGYJF-CuBqqD0E.js +1 -0
- package/web/dist/assets/infoDiagram-42DDH7IO-DJwPib2w.js +2 -0
- package/web/dist/assets/init-BPUAOWDF.js +1 -0
- package/web/dist/assets/isEmpty-Bz-lCaCA.js +1 -0
- package/web/dist/assets/ishikawaDiagram-UXIWVN3A-Bm0Zg0-C.js +70 -0
- package/web/dist/assets/journeyDiagram-VCZTEJTY-7KIiN_Ei.js +139 -0
- package/web/dist/assets/json-parse-MTOUHjU0.js +3 -0
- package/web/dist/assets/kanban-definition-6JOO6SKY-CWSQfP5S.js +89 -0
- package/web/dist/assets/katex-C_VFEy8p.js +265 -0
- package/web/dist/assets/line-DrNncrSe.js +1 -0
- package/web/dist/assets/linear-BwflsB10.js +1 -0
- package/web/dist/assets/math-CqsWNv0u.js +1 -0
- package/web/dist/assets/mermaid-parser.core-DMxe11ol.js +4 -0
- package/web/dist/assets/mermaid.core-CzgDa8OF.js +11 -0
- package/web/dist/assets/mindmap-definition-QFDTVHPH-D-lNkDnE.js +96 -0
- package/web/dist/assets/mistral-Ba31w8rV.js +69 -0
- package/web/dist/assets/openai-DAtqabcb.js +16 -0
- package/web/dist/assets/openai-codex-responses-X5oqdT0v.js +7 -0
- package/web/dist/assets/openai-completions-DYxG7eWy.js +5 -0
- package/web/dist/assets/openai-prompt-cache-9tCK10l1.js +1 -0
- package/web/dist/assets/openai-realtime-D1gbzEEc.js +1 -0
- package/web/dist/assets/openai-responses-BzceW3eb.js +1 -0
- package/web/dist/assets/openai-responses-shared-B9_LiyEY.js +12 -0
- package/web/dist/assets/openai-tts-DG5Ys3k9.js +1 -0
- package/web/dist/assets/openrouter-C9VgLw1K.js +1 -0
- package/web/dist/assets/ordinal-Cw77dVkR.js +1 -0
- package/web/dist/assets/ort.bundle.min-CE4lKfUe.js +2805 -0
- package/web/dist/assets/p-retry-mEzMPax9.js +1 -0
- package/web/dist/assets/packet-4T2RLAQJ-D2x4nN0-.js +1 -0
- package/web/dist/assets/path-DceIr1s7.js +1 -0
- package/web/dist/assets/pie-ZZUOXDRM-kWPr2BJV.js +1 -0
- package/web/dist/assets/pieDiagram-DEJITSTG-C7FwzQS5.js +30 -0
- package/web/dist/assets/quadrantDiagram-34T5L4WZ-CY7HoVD8.js +7 -0
- package/web/dist/assets/radar-PYXPWWZC-C95fU_MN.js +1 -0
- package/web/dist/assets/reduce-DQIdC_mC.js +1 -0
- package/web/dist/assets/renderer-BHoCfdWO-COcEnbx-.js +1 -0
- package/web/dist/assets/requirementDiagram-MS252O5E-paEmPBuX.js +84 -0
- package/web/dist/assets/rough.esm-zabqYs6f.js +1 -0
- package/web/dist/assets/sanitize-unicode-BD2XKRoV.js +1 -0
- package/web/dist/assets/sankeyDiagram-XADWPNL6-Ext_g4Ox.js +10 -0
- package/web/dist/assets/sequenceDiagram-FGHM5R23-CTLnxFUj.js +157 -0
- package/web/dist/assets/speech-D3C-KRDP.js +2 -0
- package/web/dist/assets/src-BOZISNbw.js +1 -0
- package/web/dist/assets/state-CrA0YVPh-CbRahjhd.js +27 -0
- package/web/dist/assets/stateDiagram-FHFEXIEX-B3an23Pn.js +1 -0
- package/web/dist/assets/stateDiagram-v2-QKLJ7IA2-D_cYSwJU.js +1 -0
- package/web/dist/assets/step-Dm9As71j.js +1 -0
- package/web/dist/assets/string-DAtruGuJ.js +1 -0
- package/web/dist/assets/supertonic-DzwILFbx.js +2 -0
- package/web/dist/assets/time-HnfVL2-O.js +1 -0
- package/web/dist/assets/timeline-definition-GMOUNBTQ-D_chE-0s.js +120 -0
- package/web/dist/assets/transform-messages-BQ4ruKay.js +1 -0
- package/web/dist/assets/transformers.web-Bopumv3I.js +14 -0
- package/web/dist/assets/treeView-SZITEDCU-BaJsJYGU.js +1 -0
- package/web/dist/assets/treemap-W4RFUUIX-CZyrM93a.js +1 -0
- package/web/dist/assets/vennDiagram-DHZGUBPP-CVDiEdUR.js +34 -0
- package/web/dist/assets/wardley-RL74JXVD-CF0AcTcr.js +1 -0
- package/web/dist/assets/wardleyDiagram-NUSXRM2D-CroPrw7r.js +20 -0
- package/web/dist/assets/web-CVLwkmjx.js +10 -0
- package/web/dist/assets/xychartDiagram-5P7HB3ND-C0_hkOEJ.js +7 -0
- package/web/dist/assets/zodToJsonSchema-CS8B3iBY.js +3 -0
- package/web/dist/index.html +21 -20
- package/web/dist/sw.js +148 -130
- package/web/dist/assets/anthropic-mDOoXVZn.js +0 -36
- package/web/dist/assets/architecture-YZFGNWBL-MLoSDt-a.js +0 -1
- package/web/dist/assets/azure-openai-responses-lDjfaDoj.js +0 -1
- package/web/dist/assets/channel-BumC_1wb.js +0 -1
- package/web/dist/assets/chunk-426QAEUC-AjoT_j_q.js +0 -1
- package/web/dist/assets/chunk-QZHKN3VN-X2zPgEFk.js +0 -1
- package/web/dist/assets/classDiagram-6PBFFD2Q-qESk_xyE.js +0 -1
- package/web/dist/assets/classDiagram-v2-HSJHXN6E-BM1nmtfm.js +0 -1
- package/web/dist/assets/clone-CVy2b825.js +0 -1
- package/web/dist/assets/env-api-keys-BNlMKqxw.js +0 -1
- package/web/dist/assets/event-stream-D33K9rpL.js +0 -1
- package/web/dist/assets/gemini-live-dK40vCc5.js +0 -2
- package/web/dist/assets/gitGraph-7Q5UKJZL-Cy0KloCM.js +0 -1
- package/web/dist/assets/github-copilot-headers-BuUn5v2j.js +0 -1
- package/web/dist/assets/google-BdS4iTyC.js +0 -1
- package/web/dist/assets/google-gemini-cli-ECA0sP3z.js +0 -2
- package/web/dist/assets/google-shared-DFv4ubOG.js +0 -2
- package/web/dist/assets/google-vertex-Duei77qD.js +0 -1
- package/web/dist/assets/index-C_k9n6xi.css +0 -2
- package/web/dist/assets/info-OMHHGYJF-DiTlPM51.js +0 -1
- package/web/dist/assets/mistral-BCIirCkW.js +0 -7
- package/web/dist/assets/openai-codex-responses-BgRTWVD_.js +0 -7
- package/web/dist/assets/openai-completions-D5AUQEua.js +0 -5
- package/web/dist/assets/openai-responses-CTlQ1a-G.js +0 -1
- package/web/dist/assets/openai-responses-shared-CLzQyVyy.js +0 -10
- package/web/dist/assets/packet-4T2RLAQJ-EXgAtQjm.js +0 -1
- package/web/dist/assets/pie-ZZUOXDRM-dKU8mzlj.js +0 -1
- package/web/dist/assets/radar-PYXPWWZC-B4d2wh2H.js +0 -1
- package/web/dist/assets/stateDiagram-v2-QKLJ7IA2-CgpYzp7D.js +0 -1
- package/web/dist/assets/transform-messages-DXDWLrnO.js +0 -1
- package/web/dist/assets/treeView-SZITEDCU-V29H5f16.js +0 -1
- package/web/dist/assets/treemap-W4RFUUIX-DsAU74TP.js +0 -1
- package/web/dist/assets/wardley-RL74JXVD-lGAI4Cps.js +0 -1
- package/web/dist/assets/web-jLdm8a1-.js +0 -10
- /package/web/{dist/assets/_baseFor-2QgQJAzW.js → .output/public/assets/_baseFor-B4pl5CmD.js} +0 -0
- /package/web/{dist/assets/array-B4O_ir3H.js → .output/public/assets/array-DKReyB4R.js} +0 -0
- /package/web/{dist/assets/cytoscape.esm-CdzdaUMP.js → .output/public/assets/cytoscape.esm-CIAhqqev.js} +0 -0
- /package/web/{dist/assets/defaultLocale-Bhb3osZR.js → .output/public/assets/defaultLocale-CzQOUpbn.js} +0 -0
- /package/web/{dist/assets/dist-DQ41Rxbw.js → .output/public/assets/dist-DzRHszr6.js} +0 -0
- /package/web/{dist/assets/hash-CQjDwcjR.js → .output/public/assets/hash-K0cSe8jy.js} +0 -0
- /package/web/{dist/assets/init-DugVGdkd.js → .output/public/assets/init-BPUAOWDF.js} +0 -0
- /package/web/{dist/assets/katex-CyM-5LlM.js → .output/public/assets/katex-C_VFEy8p.js} +0 -0
- /package/web/{dist/assets/math-Csj_9zpx.js → .output/public/assets/math-CqsWNv0u.js} +0 -0
- /package/web/{dist/assets/openai-CRGaNv9i.js → .output/public/assets/openai-DAtqabcb.js} +0 -0
- /package/web/{dist/assets/ort.bundle.min-Drf2fDrC.js → .output/public/assets/ort.bundle.min-CE4lKfUe.js} +0 -0
- /package/web/{dist/assets/path-BVVvcbiy.js → .output/public/assets/path-DceIr1s7.js} +0 -0
- /package/web/{dist/assets/rough.esm-D5NinLFK.js → .output/public/assets/rough.esm-zabqYs6f.js} +0 -0
- /package/web/{dist/assets/state-CrA0YVPh-wJ4Rmm6M.js → .output/public/assets/state-CrA0YVPh-CbRahjhd.js} +0 -0
- /package/web/{dist/assets/step-qalMyYGy.js → .output/public/assets/step-Dm9As71j.js} +0 -0
- /package/web/{dist/assets/string-DPssBiak.js → .output/public/assets/string-DAtruGuJ.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./chunk-5PVQY5BW-
|
|
1
|
+
import"./chunk-5PVQY5BW-B-37rcM6.js";import{i as e,r as t}from"./src-BOZISNbw.js";import{a as n}from"./flatten-U6HPKYck.js";import{b as r}from"./chunk-ICPOFSXX-Cx8pjnoR.js";import"./chunk-U2HBQHQK-ffKeXnV6.js";import"./chunk-BSJP7CBP-c6iSgQvG.js";import{n as i}from"./chunk-ZZ45TVLE-C-NXiDgG.js";import{n as a,t as o}from"./graphlib-5VtJ2oig.js";import{t as s}from"./clone-t_jPG6Vp.js";import{t as c}from"./dagre-B6LvKZOC.js";import"./chunk-X2U36JSP-DntoY71A.js";import{a as l,c as u,i as d,l as f,n as p,t as m,u as h}from"./chunk-5FUZZQ4R-Ca04rGKU.js";import{a as g,i as _,n as v,r as y,t as b}from"./chunk-ENJZ2VHE-CygEaEHK.js";function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:S(e),edges:C(e)};return a(e.graph())||(t.value=s(e.graph())),t}function S(e){return n(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),i={v:t};return a(n)||(i.value=n),a(r)||(i.parent=r),i})}function C(e){return n(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return a(t.name)||(r.name=t.name),a(n)||(r.value=n),r})}var w=new Map,T=new Map,E=new Map,D=t(()=>{T.clear(),E.clear(),w.clear()},`clear`),O=t((t,n)=>{let r=T.get(n)||[];return e.trace(`In isDescendant`,n,` `,t,` = `,r.includes(t)),r.includes(t)},`isDescendant`),k=t((t,n)=>{let r=T.get(n)||[];return e.info(`Descendants of `,n,` is `,r),e.info(`Edge is `,t),t.v===n||t.w===n?!1:r?r.includes(t.v)||O(t.v,n)||O(t.w,n)||r.includes(t.w):(e.debug(`Tilt, `,n,`,not in descendants`),!1)},`edgeInCluster`),A=t((t,n,r,i)=>{e.warn(`Copying children of `,t,`root`,i,`data`,n.node(t),i);let a=n.children(t)||[];t!==i&&a.push(t),e.warn(`Copying (nodes) clusterId`,t,`nodes`,a),a.forEach(a=>{if(n.children(a).length>0)A(a,n,r,i);else{let o=n.node(a);e.info(`cp `,a,` to `,i,` with parent `,t),r.setNode(a,o),i!==n.parent(a)&&(e.warn(`Setting parent`,a,n.parent(a)),r.setParent(a,n.parent(a))),t!==i&&a!==t?(e.debug(`Setting parent`,a,t),r.setParent(a,t)):(e.info(`In copy `,t,`root`,i,`data`,n.node(t),i),e.debug(`Not Setting parent for node=`,a,`cluster!==rootId`,t!==i,`node!==clusterId`,a!==t));let s=n.edges(a);e.debug(`Copying Edges`,s),s.forEach(a=>{e.info(`Edge`,a);let o=n.edge(a.v,a.w,a.name);e.info(`Edge data`,o,i);try{k(a,i)?(e.info(`Copying as `,a.v,a.w,o,a.name),r.setEdge(a.v,a.w,o,a.name),e.info(`newGraph edges `,r.edges(),r.edge(r.edges()[0]))):e.info(`Skipping copy of edge `,a.v,`-->`,a.w,` rootId: `,i,` clusterId:`,t)}catch(t){e.error(t)}})}e.debug(`Removing node`,a),n.removeNode(a)})},`copy`),j=t((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)E.set(i,e),r=[...r,...j(i,t)];return r},`extractDescendants`),M=t((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),i=e.edges().filter(e=>e.v===n||e.w===n),a=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),o=i.map(e=>({v:e.v,w:e.w}));return a.filter(e=>o.some(t=>e.v===t.v&&e.w===t.w))},`findCommonEdges`),N=t((t,n,r)=>{let i=n.children(t);if(e.trace(`Searching children of id `,t,i),i.length<1)return t;let a;for(let e of i){let t=N(e,n,r),i=M(n,r,t);if(t)if(i.length>0)a=t;else return t}return a},`findNonClusterChild`),P=t(e=>!w.has(e)||!w.get(e).externalConnections?e:w.has(e)?w.get(e).id:e,`getAnchorId`),F=t((t,n)=>{if(!t||n>10){e.debug(`Opting out, no graph `);return}else e.debug(`Opting in, graph `);t.nodes().forEach(function(n){t.children(n).length>0&&(e.warn(`Cluster identified`,n,` Replacement id in edges: `,N(n,t,n)),T.set(n,j(n,t)),w.set(n,{id:N(n,t,n),clusterData:t.node(n)}))}),t.nodes().forEach(function(n){let r=t.children(n),i=t.edges();r.length>0?(e.debug(`Cluster identified`,n,T),i.forEach(t=>{O(t.v,n)^O(t.w,n)&&(e.warn(`Edge: `,t,` leaves cluster `,n),e.warn(`Descendants of XXX `,n,`: `,T.get(n)),w.get(n).externalConnections=!0)})):e.debug(`Not a cluster `,n,T)});for(let e of w.keys()){let n=w.get(e).id,r=t.parent(n);r!==e&&w.has(r)&&!w.get(r).externalConnections&&(w.get(e).id=r)}t.edges().forEach(function(n){let r=t.edge(n);e.warn(`Edge `+n.v+` -> `+n.w+`: `+JSON.stringify(n)),e.warn(`Edge `+n.v+` -> `+n.w+`: `+JSON.stringify(t.edge(n)));let i=n.v,a=n.w;if(e.warn(`Fix XXX`,w,`ids:`,n.v,n.w,`Translating: `,w.get(n.v),` --- `,w.get(n.w)),w.get(n.v)||w.get(n.w)){if(e.warn(`Fixing and trying - removing XXX`,n.v,n.w,n.name),i=P(n.v),a=P(n.w),t.removeEdge(n.v,n.w,n.name),i!==n.v){let e=t.parent(i);w.get(e).externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){let e=t.parent(a);w.get(e).externalConnections=!0,r.toCluster=n.w}e.warn(`Fix Replacing with XXX`,i,a,n.name),t.setEdge(i,a,r,n.name)}}),e.warn(`Adjusted Graph`,x(t)),I(t,0),e.trace(w)},`adjustClustersAndEdges`),I=t((t,n)=>{if(e.warn(`extractor - `,n,x(t),t.children(`D`)),n>10){e.error(`Bailing out`);return}let r=t.nodes(),i=!1;for(let e of r){let n=t.children(e);i||=n.length>0}if(!i){e.debug(`Done, no node has children`,t.nodes());return}e.debug(`Nodes = `,r,n);for(let i of r)if(e.debug(`Extracting node`,i,w,w.has(i)&&!w.get(i).externalConnections,!t.parent(i),t.node(i),t.children(`D`),` Depth `,n),!w.has(i))e.debug(`Not a cluster`,i,n);else if(!w.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){e.warn(`Cluster without external connections, without a parent and with children`,i,n);let r=t.graph().rankdir===`TB`?`LR`:`TB`;w.get(i)?.clusterData?.dir&&(r=w.get(i).clusterData.dir,e.warn(`Fixing dir`,w.get(i).clusterData.dir,r));let a=new o({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});e.warn(`Old graph before copy`,x(t)),A(i,t,a,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:w.get(i).clusterData,label:w.get(i).label,graph:a}),e.warn(`New graph after copy node: (`,i,`)`,x(a)),e.debug(`Old graph after copy`,x(t))}else e.warn(`Cluster ** `,i,` **not meeting the criteria !externalConnections:`,!w.get(i).externalConnections,` no parent: `,!t.parent(i),` children `,t.children(i)&&t.children(i).length>0,t.children(`D`),n),e.debug(w);r=t.nodes(),e.warn(`New list of nodes`,r);for(let i of r){let r=t.node(i);e.warn(` Now next level`,i,r),r?.clusterNode&&I(r.graph,n+1)}},`extractor`),L=t((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=L(e,e.children(t));n=[...n,...r]}),n},`sorter`),R=t(e=>L(e,e.children()),`sortNodesByHierarchy`),z=t(async(n,r,a,o,s,p)=>{e.warn(`Graph in recursive render:XAX`,x(r),s);let m=r.graph().rankdir;e.trace(`Dir in recursive render - dir:`,m);let _=n.insert(`g`).attr(`class`,`root`);r.nodes()?e.info(`Recursive render XXX`,r.nodes()):e.info(`No nodes found for`,r),r.edges().length>0&&e.info(`Recursive edges`,r.edge(r.edges()[0]));let b=_.insert(`g`).attr(`class`,`clusters`),S=_.insert(`g`).attr(`class`,`edgePaths`),C=_.insert(`g`).attr(`class`,`edgeLabels`),T=_.insert(`g`).attr(`class`,`nodes`);await Promise.all(r.nodes().map(async function(t){let n=r.node(t);if(s!==void 0){let n=JSON.parse(JSON.stringify(s.clusterData));e.trace(`Setting data for parent cluster XXX
|
|
2
2
|
Node.id = `,t,`
|
|
3
3
|
data=`,n.height,`
|
|
4
4
|
Parent cluster`,s.height),r.setNode(s.id,n),r.parent(t)||(e.trace(`Setting parent`,t,s.id),r.setParent(t,s.id,n))}if(e.info(`(Insert) Node XXX`+t+`: `+JSON.stringify(r.node(t))),n?.clusterNode){e.info(`Cluster identified XBX`,t,n.width,r.node(t));let{ranksep:i,nodesep:s}=r.graph();n.graph.setGraph({...n.graph.graph(),ranksep:i+25,nodesep:s});let c=await z(T,n.graph,a,o,r.node(t),p),l=c.elem;h(n,l),n.diff=c.diff||0,e.info(`New compound node after recursive render XAX`,t,`width`,n.width,`height`,n.height),f(l,n)}else r.children(t).length>0?(e.trace(`Cluster - the non recursive path XBX`,t,n.id,n,n.width,`Graph:`,r),e.trace(N(n.id,r)),w.set(n.id,{id:N(n.id,r),node:n})):(e.trace(`Node - the non recursive path XAX`,t,T,r.node(t),m),await l(T,r.node(t),{config:p,dir:m}))})),await t(async()=>{let t=r.edges().map(async function(t){let n=r.edge(t.v,t.w,t.name);e.info(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(t)),e.info(`Edge `+t.v+` -> `+t.w+`: `,t,` `,JSON.stringify(r.edge(t))),e.info(`Fix`,w,`ids:`,t.v,t.w,`Translating: `,w.get(t.v),w.get(t.w)),await y(C,n)});await Promise.all(t)},`processEdges`)(),e.info(`Graph before layout:`,JSON.stringify(x(r))),e.info(`############################################# XXX`),e.info(`### Layout ### XXX`),e.info(`############################################# XXX`),c(r),e.info(`Graph after layout:`,JSON.stringify(x(r)));let E=0,{subGraphTitleTotalMargin:D}=i(p);return await Promise.all(R(r).map(async function(t){let n=r.node(t);if(e.info(`Position XBX => `+t+`: (`+n.x,`,`+n.y,`) width: `,n.width,` height: `,n.height),n?.clusterNode)n.y+=D,e.info(`A tainted cluster node XBX1`,t,n.id,n.width,n.height,n.x,n.y,r.parent(t)),w.get(n.id).node=n,u(n);else if(r.children(t).length>0){e.info(`A pure cluster node XBX1`,t,n.id,n.x,n.y,n.width,n.height,r.parent(t)),n.height+=D,r.node(n.parentId);let i=n?.padding/2||0,a=n?.labelBBox?.height||0,o=a-i||0;e.debug(`OffsetY`,o,`labelHeight`,a,`halfPadding`,i),await d(b,n),w.get(n.id).node=n}else{let t=r.node(n.parentId);n.y+=D/2,e.info(`A regular node XBX1 - using the padding`,n.id,`parent`,n.parentId,n.width,n.height,n.x,n.y,`offsetY`,n.offsetY,`parent`,t,t?.offsetY,n),u(n)}})),r.edges().forEach(function(t){let n=r.edge(t);e.info(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(n),n),n.points.forEach(e=>e.y+=D/2),g(n,v(S,n,w,a,r.node(t.v),r.node(t.w),o))}),r.nodes().forEach(function(t){let n=r.node(t);e.info(t,n.type,n.diff),n.isGroup&&(E=n.diff)}),e.warn(`Returning from recursive render XAX`,_,E),{elem:_,diff:E}},`recursiveRender`),B=t(async(t,n)=>{let i=new o({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=n.select(`g`);_(a,t.markers,t.type,t.diagramId),p(),b(),m(),D(),t.nodes.forEach(e=>{i.setNode(e.id,{...e}),e.parentId&&i.setParent(e.id,e.parentId)}),e.debug(`Edges:`,t.edges),t.edges.forEach(e=>{if(e.start===e.end){let t=e.start,n=t+`---`+t+`---1`,r=t+`---`+t+`---2`,a=i.node(t);i.setNode(n,{domId:n,id:n,parentId:a.parentId,labelStyle:``,label:``,padding:0,shape:`labelRect`,style:``,width:10,height:10}),i.setParent(n,a.parentId),i.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:``,padding:0,shape:`labelRect`,label:``,style:``,width:10,height:10}),i.setParent(r,a.parentId);let o=structuredClone(e),s=structuredClone(e),c=structuredClone(e);o.label=``,o.arrowTypeEnd=`none`,o.id=t+`-cyclic-special-1`,s.arrowTypeStart=`none`,s.arrowTypeEnd=`none`,s.id=t+`-cyclic-special-mid`,c.label=``,a.isGroup&&(o.fromCluster=t,c.toCluster=t),c.id=t+`-cyclic-special-2`,c.arrowTypeStart=`none`,i.setEdge(t,n,o,t+`-cyclic-special-0`),i.setEdge(n,r,s,t+`-cyclic-special-1`),i.setEdge(r,t,c,t+`-cyc<lic-special-2`)}else i.setEdge(e.start,e.end,{...e},e.id)}),e.warn(`Graph at first:`,JSON.stringify(x(i))),F(i),e.warn(`Graph after XAX:`,JSON.stringify(x(i)));let s=r();await z(a,i,t.type,t.diagramId,void 0,s)},`render`);export{B as render};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=new Set;function t(t){return e.add(t),()=>{e.delete(t)}}function n(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:String(e)}function r(e){if(!(e instanceof Error))return{name:`ThrownValue`,message:n(e)};let t=e.code;return{name:e.name||void 0,message:e.message||e.name,stack:e.stack,code:typeof t==`string`||typeof t==`number`?t:void 0}}function i(e,t,n){return{type:e,timestamp:Date.now(),error:r(t),details:n}}function a(e,t){e.diagnostics=[...e.diagnostics??[],t]}export{t as i,i as n,n as r,a as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./chunk-5PVQY5BW-
|
|
1
|
+
import{r as e}from"./chunk-5PVQY5BW-B-37rcM6.js";import{i as t,r as n}from"./src-BOZISNbw.js";import{B as r,C as i,V as a,W as o,_ as s,a as c,c as l,d as u,v as d,y as f}from"./chunk-ICPOFSXX-Cx8pjnoR.js";import{t as p}from"./chunk-426QAEUC-BjSoaXb2.js";import{t as m}from"./chunk-4BX2VUAB-C-QwaF8o.js";import{t as h}from"./mermaid-parser.core-DMxe11ol.js";import{t as g}from"./chunk-QZHKN3VN-BeLnIYwL.js";var _=new g(()=>({cnt:1,stack:[{id:0,level:-1,name:`/`,children:[]}]})),v=n(()=>{_.reset(),c()},`clear`),y=n(()=>_.records.stack[0],`getRoot`),b=n(()=>_.records.cnt,`getCount`),x=u.treeView,S={clear:v,addNode:n((e,t)=>{for(;e<=_.records.stack[_.records.stack.length-1].level;)_.records.stack.pop();let n={id:_.records.cnt++,level:e,name:t,children:[]};_.records.stack[_.records.stack.length-1].children.push(n),_.records.stack.push(n)},`addNode`),getRoot:y,getCount:b,getConfig:n(()=>e(x,f().treeView),`getConfig`),getAccTitle:d,getAccDescription:s,getDiagramTitle:i,setAccDescription:r,setAccTitle:a,setDiagramTitle:o},C=n(e=>{m(e,S),e.nodes.map(e=>S.addNode(e.indent?parseInt(e.indent):0,e.name))},`populate`),w={parse:n(async e=>{let n=await h(`treeView`,e);t.debug(n),C(n)},`parse`)},T=n((e,t,n,r,i)=>{let a=r.append(`text`).text(n.name).attr(`dominant-baseline`,`middle`).attr(`class`,`treeView-node-label`),{height:o,width:s}=a.node().getBBox(),c=o+i.paddingY*2,l=s+i.paddingX*2;a.attr(`x`,e+i.paddingX),a.attr(`y`,t+c/2),n.BBox={x:e,y:t,width:l,height:c}},`positionLabel`),E=n((e,t,n,r,i,a)=>e.append(`line`).attr(`x1`,t).attr(`y1`,n).attr(`x2`,r).attr(`y2`,i).attr(`stroke-width`,a).attr(`class`,`treeView-node-line`),`positionLine`),D=n((e,t,r)=>{let i=0,a=0,o=n((e,t,n,r)=>{let o=r*(n.rowIndent+n.paddingX);T(o,i,t,e,n);let{height:s,width:c}=t.BBox;E(e,o-n.rowIndent,i+s/2,o,i+s/2,n.lineThickness),a=Math.max(a,o+c),i+=s},`drawNode`),s=n((t,n=0)=>{o(e,t,r,n),t.children.forEach(e=>{s(e,n+1)});let{x:i,y:a,height:c}=t.BBox;if(t.children.length){let{y:n,height:o}=t.children[t.children.length-1].BBox;E(e,i+r.paddingX,a+c,i+r.paddingX,n+o/2+r.lineThickness/2,r.lineThickness)}},`processNode`);return s(t),{totalHeight:i,totalWidth:a}},`drawTree`),O={draw:n((e,n,r,i)=>{t.debug(`Rendering treeView diagram
|
|
2
2
|
`+e);let a=i.db,o=a.getRoot(),s=a.getConfig(),c=p(n),u=c.append(`g`);u.attr(`class`,`tree-view`);let{totalHeight:d,totalWidth:f}=D(u,o,s);c.attr(`viewBox`,`-${s.lineThickness/2} 0 ${f} ${d}`),l(c,d,f,s.useMaxWidth)},`draw`)},k={labelFontSize:`16px`,labelColor:`black`,lineColor:`black`},A={db:S,renderer:O,parser:w,styles:n(({treeView:t})=>{let{labelFontSize:n,labelColor:r,lineColor:i}=e(k,t);return`
|
|
3
3
|
.treeView-node-label {
|
|
4
4
|
font-size: ${n};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./chunk-5PVQY5BW-Ciel-YVc.js";import{n as t}from"./ordinal-CHOvK70a.js";import{i as n,r,t as i}from"./src-BfaOho0B.js";import{t as a}from"./defaultLocale-Bhb3osZR.js";import{B as o,C as s,E as c,V as l,W as u,_ as d,a as f,c as p,d as m,v as h,y as g}from"./chunk-ICPOFSXX-C04NFfJk.js";import{t as _}from"./chunk-426QAEUC-AjoT_j_q.js";import{t as v}from"./chunk-4BX2VUAB-DRZjGMDM.js";import{t as y}from"./mermaid-parser.core-C8ylgsWV.js";import{t as b}from"./chunk-EDXVE4YY-DNeRJTiS.js";import{i as x,n as S}from"./chunk-X2U36JSP-DiSftNGg.js";function C(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function w(){return this.eachAfter(C)}function T(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function E(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function D(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function O(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function k(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function A(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function j(e){for(var t=this,n=M(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function M(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function N(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function P(){return Array.from(this)}function F(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function I(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*L(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function R(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=V)):t===void 0&&(t=B);for(var n=new W(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new W(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(U)}function z(){return R(this).eachBefore(H)}function B(e){return e.children}function V(e){return Array.isArray(e)?e[1]:null}function H(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function U(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function W(e){this.data=e,this.depth=this.height=0,this.parent=null}W.prototype=R.prototype={constructor:W,count:w,each:T,eachAfter:D,eachBefore:E,find:O,sum:k,sort:A,path:j,ancestors:N,descendants:P,leaves:F,links:I,copy:z,[Symbol.iterator]:L};function G(e){if(typeof e!=`function`)throw Error();return e}function K(){return 0}function q(e){return function(){return e}}function J(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function ee(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function te(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(i-n)/e.value;++s<c;)o=a[s],o.x0=t,o.x1=r,o.y0=n,o.y1=n+=o.value*l}var ne=(1+Math.sqrt(5))/2;function re(e,t,n,r,i,a){for(var o=[],s=t.children,c,l,u=0,d=0,f=s.length,p,m,h=t.value,g,_,v,y,b,x,S;u<f;){p=i-n,m=a-r;do g=s[d++].value;while(!g&&d<f);for(_=v=g,x=Math.max(m/p,p/m)/(h*e),S=g*g*x,b=Math.max(v/S,S/_);d<f;++d){if(g+=l=s[d].value,l<_&&(_=l),l>v&&(v=l),S=g*g*x,y=Math.max(v/S,S/_),y>b){g-=l;break}b=y}o.push(c={value:g,dice:p<m,children:s.slice(u,d)}),c.dice?ee(c,n,r,i,h?r+=m*g/h:a):te(c,n,r,h?n+=p*g/h:i,a),h-=g,u=d}return o}var ie=(function e(t){function n(e,n,r,i,a){re(t,e,n,r,i,a)}return n.ratio=function(t){return e((t=+t)>1?t:1)},n})(ne);function ae(){var e=ie,t=!1,n=1,r=1,i=[0],a=K,o=K,s=K,c=K,l=K;function u(e){return e.x0=e.y0=0,e.x1=n,e.y1=r,e.eachBefore(d),i=[0],t&&e.eachBefore(J),e}function d(t){var n=i[t.depth],r=t.x0+n,u=t.y0+n,d=t.x1-n,f=t.y1-n;d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),t.x0=r,t.y0=u,t.x1=d,t.y1=f,t.children&&(n=i[t.depth+1]=a(t)/2,r+=l(t)-n,u+=o(t)-n,d-=s(t)-n,f-=c(t)-n,d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),e(t,r,u,d,f))}return u.round=function(e){return arguments.length?(t=!!e,u):t},u.size=function(e){return arguments.length?(n=+e[0],r=+e[1],u):[n,r]},u.tile=function(t){return arguments.length?(e=G(t),u):e},u.padding=function(e){return arguments.length?u.paddingInner(e).paddingOuter(e):u.paddingInner()},u.paddingInner=function(e){return arguments.length?(a=typeof e==`function`?e:q(+e),u):a},u.paddingOuter=function(e){return arguments.length?u.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):u.paddingTop()},u.paddingTop=function(e){return arguments.length?(o=typeof e==`function`?e:q(+e),u):o},u.paddingRight=function(e){return arguments.length?(s=typeof e==`function`?e:q(+e),u):s},u.paddingBottom=function(e){return arguments.length?(c=typeof e==`function`?e:q(+e),u):c},u.paddingLeft=function(e){return arguments.length?(l=typeof e==`function`?e:q(+e),u):l},u}var Y=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=l,this.getAccTitle=h,this.setDiagramTitle=u,this.getDiagramTitle=s,this.getAccDescription=d,this.setAccDescription=o}static{r(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let t=m,n=g();return e({...t.treemap,...n.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{S(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){f(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function X(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}r(X,`buildHierarchy`);var oe=r((e,t)=>{v(e,t);let n=[];for(let n of e.TreemapRows??[])n.$type===`ClassDefStatement`&&t.addClass(n.className??``,n.styleText??``);for(let r of e.TreemapRows??[]){let e=r.item;if(!e)continue;let i=r.indent?parseInt(r.indent):0,a=se(e),o=e.classSelector?t.getStylesForClass(e.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:s};n.push(c)}let i=X(n),a=r((e,n)=>{for(let r of e)t.addNode(r,n),r.children&&r.children.length>0&&a(r.children,n+1)},`addNodesRecursively`);a(i,0)},`populate`),se=r(e=>e.name?String(e.name):``,`getItemName`),Z={parser:{yy:void 0},parse:r(async e=>{try{let t=await y(`treemap`,e);n.debug(`Treemap AST:`,t);let r=Z.parser?.yy;if(!(r instanceof Y))throw Error(`parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);oe(t,r)}catch(e){throw n.error(`Error parsing treemap:`,e),e}},`parse`)},ce=10,Q=10,$=25,le={draw:r((e,o,s,c)=>{let l=c.db,u=l.getConfig(),d=u.padding??ce,f=l.getDiagramTitle(),m=l.getRoot(),{themeVariables:h}=g();if(!m)return;let v=f?30:0,y=_(o),S=u.nodeWidth?u.nodeWidth*Q:960,C=u.nodeHeight?u.nodeHeight*Q:500,w=S,T=C+v;y.attr(`viewBox`,`0 0 ${w} ${T}`),p(y,T,w,u.useMaxWidth);let E;try{let e=u.valueFormat||`,`;if(e===`$0,0`)E=r(e=>`$`+a(`,`)(e),`valueFormat`);else if(e.startsWith(`$`)&&e.includes(`,`)){let t=/\.\d+/.exec(e),n=t?t[0]:``;E=r(e=>`$`+a(`,`+n)(e),`valueFormat`)}else if(e.startsWith(`$`)){let t=e.substring(1);E=r(e=>`$`+a(t||``)(e),`valueFormat`)}else E=a(e)}catch(e){n.error(`Error creating format function:`,e),E=a(`,`)}let D=t().range([`transparent`,h.cScale0,h.cScale1,h.cScale2,h.cScale3,h.cScale4,h.cScale5,h.cScale6,h.cScale7,h.cScale8,h.cScale9,h.cScale10,h.cScale11]),O=t().range([`transparent`,h.cScalePeer0,h.cScalePeer1,h.cScalePeer2,h.cScalePeer3,h.cScalePeer4,h.cScalePeer5,h.cScalePeer6,h.cScalePeer7,h.cScalePeer8,h.cScalePeer9,h.cScalePeer10,h.cScalePeer11]),k=t().range([h.cScaleLabel0,h.cScaleLabel1,h.cScaleLabel2,h.cScaleLabel3,h.cScaleLabel4,h.cScaleLabel5,h.cScaleLabel6,h.cScaleLabel7,h.cScaleLabel8,h.cScaleLabel9,h.cScaleLabel10,h.cScaleLabel11]);f&&y.append(`text`).attr(`x`,w/2).attr(`y`,v/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(f);let A=y.append(`g`).attr(`transform`,`translate(0, ${v})`).attr(`class`,`treemapContainer`),j=R(m).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),M=ae().size([S,C]).paddingTop(e=>e.children&&e.children.length>0?$+Q:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?Q:0).paddingRight(e=>e.children&&e.children.length>0?Q:0).paddingBottom(e=>e.children&&e.children.length>0?Q:0).round(!0)(j),N=M.descendants().filter(e=>e.children&&e.children.length>0),P=A.selectAll(`.treemapSection`).data(N).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,$).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),P.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${o}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,$),P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>D(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>O(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=x({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),P.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,$/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+x({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=i(this),n=e.data.name;t.text(n);let r=e.x1-e.x0,a;a=u.showValues!==!1&&e.value?r-10-30-10-6:r-6-6;let o=Math.max(15,a),s=t.node();if(s.getComputedTextLength()>o){let e=n;for(;e.length>0;){if(e=n.substring(0,e.length-1),e.length===0){t.text(`...`),s.getComputedTextLength()>o&&t.text(``);break}if(t.text(e+`...`),s.getComputedTextLength()<=o)break}}}),u.showValues!==!1&&P.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,$/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?E(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+x({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let F=M.leaves(),I=A.selectAll(`.treemapLeafGroup`).data(F).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);I.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`style`,e=>x({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`stroke-width`,3),I.append(`clipPath`).attr(`id`,(e,t)=>`clip-${o}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),I.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:`+k(e.data.name)+`;`+x({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${o}-${t})`).text(e=>e.data.name).each(function(e){let t=i(this),n=e.x1-e.x0,r=e.y1-e.y0,a=t.node(),o=n-8,s=r-8;if(o<10||s<10){t.style(`display`,`none`);return}let c=parseInt(t.style(`font-size`),10),l=.6;for(;a.getComputedTextLength()>o&&c>8;)c--,t.style(`font-size`,`${c}px`);let u=Math.max(6,Math.min(28,Math.round(c*l))),d=c+2+u;for(;d>s&&c>8&&(c--,u=Math.max(6,Math.min(28,Math.round(c*l))),!(u<6&&c===8));)t.style(`font-size`,`${c}px`),d=c+2+u;t.style(`font-size`,`${c}px`),(a.getComputedTextLength()>o||c<8||s<c)&&t.style(`display`,`none`)}),u.showValues!==!1&&I.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:`+k(e.data.name)+`;`+x({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${o}-${t})`).text(e=>e.value?E(e.value):``).each(function(e){let t=i(this),n=this.parentNode;if(!n){t.style(`display`,`none`);return}let r=i(n).select(`.treemapLabel`);if(r.empty()||r.style(`display`)===`none`){t.style(`display`,`none`);return}let a=parseFloat(r.style(`font-size`)),o=Math.max(6,Math.min(28,Math.round(a*.6)));t.style(`font-size`,`${o}px`);let s=(e.y1-e.y0)/2+a/2+2;t.attr(`y`,s);let c=e.x1-e.x0,l=e.y1-e.y0-4,u=c-8;t.node().getComputedTextLength()>u||s+o>l||o<6?t.style(`display`,`none`):t.style(`display`,null)}),b(y,u.diagramPadding??8,`flowchart`,u?.useMaxWidth||!1)},`draw`),getClasses:r(function(e,t){return t.db.getClasses()},`getClasses`)},ue={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},de={parser:Z,get db(){return new Y},renderer:le,styles:r(({treemap:t}={})=>{let n=e(c(),g().themeVariables),r=e(ue,t),i=r.titleColor??n.titleColor,a=r.labelColor??n.textColor,o=r.valueColor??n.textColor;return`
|
|
1
|
+
import{r as e}from"./chunk-5PVQY5BW-B-37rcM6.js";import{n as t}from"./ordinal-Cw77dVkR.js";import{i as n,r,t as i}from"./src-BOZISNbw.js";import{t as a}from"./defaultLocale-CzQOUpbn.js";import{B as o,C as s,E as c,V as l,W as u,_ as d,a as f,c as p,d as m,v as h,y as g}from"./chunk-ICPOFSXX-Cx8pjnoR.js";import{t as _}from"./chunk-426QAEUC-BjSoaXb2.js";import{t as v}from"./chunk-4BX2VUAB-C-QwaF8o.js";import{t as y}from"./mermaid-parser.core-DMxe11ol.js";import{t as b}from"./chunk-EDXVE4YY-BAD3qlf8.js";import{i as x,n as S}from"./chunk-X2U36JSP-DntoY71A.js";function C(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function w(){return this.eachAfter(C)}function T(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function E(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function D(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function O(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function k(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function A(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function j(e){for(var t=this,n=M(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function M(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function N(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function P(){return Array.from(this)}function F(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function I(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*L(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function R(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=V)):t===void 0&&(t=B);for(var n=new W(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new W(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(U)}function z(){return R(this).eachBefore(H)}function B(e){return e.children}function V(e){return Array.isArray(e)?e[1]:null}function H(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function U(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function W(e){this.data=e,this.depth=this.height=0,this.parent=null}W.prototype=R.prototype={constructor:W,count:w,each:T,eachAfter:D,eachBefore:E,find:O,sum:k,sort:A,path:j,ancestors:N,descendants:P,leaves:F,links:I,copy:z,[Symbol.iterator]:L};function G(e){if(typeof e!=`function`)throw Error();return e}function K(){return 0}function q(e){return function(){return e}}function J(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function ee(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function te(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(i-n)/e.value;++s<c;)o=a[s],o.x0=t,o.x1=r,o.y0=n,o.y1=n+=o.value*l}var ne=(1+Math.sqrt(5))/2;function re(e,t,n,r,i,a){for(var o=[],s=t.children,c,l,u=0,d=0,f=s.length,p,m,h=t.value,g,_,v,y,b,x,S;u<f;){p=i-n,m=a-r;do g=s[d++].value;while(!g&&d<f);for(_=v=g,x=Math.max(m/p,p/m)/(h*e),S=g*g*x,b=Math.max(v/S,S/_);d<f;++d){if(g+=l=s[d].value,l<_&&(_=l),l>v&&(v=l),S=g*g*x,y=Math.max(v/S,S/_),y>b){g-=l;break}b=y}o.push(c={value:g,dice:p<m,children:s.slice(u,d)}),c.dice?ee(c,n,r,i,h?r+=m*g/h:a):te(c,n,r,h?n+=p*g/h:i,a),h-=g,u=d}return o}var ie=(function e(t){function n(e,n,r,i,a){re(t,e,n,r,i,a)}return n.ratio=function(t){return e((t=+t)>1?t:1)},n})(ne);function ae(){var e=ie,t=!1,n=1,r=1,i=[0],a=K,o=K,s=K,c=K,l=K;function u(e){return e.x0=e.y0=0,e.x1=n,e.y1=r,e.eachBefore(d),i=[0],t&&e.eachBefore(J),e}function d(t){var n=i[t.depth],r=t.x0+n,u=t.y0+n,d=t.x1-n,f=t.y1-n;d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),t.x0=r,t.y0=u,t.x1=d,t.y1=f,t.children&&(n=i[t.depth+1]=a(t)/2,r+=l(t)-n,u+=o(t)-n,d-=s(t)-n,f-=c(t)-n,d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),e(t,r,u,d,f))}return u.round=function(e){return arguments.length?(t=!!e,u):t},u.size=function(e){return arguments.length?(n=+e[0],r=+e[1],u):[n,r]},u.tile=function(t){return arguments.length?(e=G(t),u):e},u.padding=function(e){return arguments.length?u.paddingInner(e).paddingOuter(e):u.paddingInner()},u.paddingInner=function(e){return arguments.length?(a=typeof e==`function`?e:q(+e),u):a},u.paddingOuter=function(e){return arguments.length?u.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):u.paddingTop()},u.paddingTop=function(e){return arguments.length?(o=typeof e==`function`?e:q(+e),u):o},u.paddingRight=function(e){return arguments.length?(s=typeof e==`function`?e:q(+e),u):s},u.paddingBottom=function(e){return arguments.length?(c=typeof e==`function`?e:q(+e),u):c},u.paddingLeft=function(e){return arguments.length?(l=typeof e==`function`?e:q(+e),u):l},u}var Y=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=l,this.getAccTitle=h,this.setDiagramTitle=u,this.getDiagramTitle=s,this.getAccDescription=d,this.setAccDescription=o}static{r(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let t=m,n=g();return e({...t.treemap,...n.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{S(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){f(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function X(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}r(X,`buildHierarchy`);var oe=r((e,t)=>{v(e,t);let n=[];for(let n of e.TreemapRows??[])n.$type===`ClassDefStatement`&&t.addClass(n.className??``,n.styleText??``);for(let r of e.TreemapRows??[]){let e=r.item;if(!e)continue;let i=r.indent?parseInt(r.indent):0,a=se(e),o=e.classSelector?t.getStylesForClass(e.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:s};n.push(c)}let i=X(n),a=r((e,n)=>{for(let r of e)t.addNode(r,n),r.children&&r.children.length>0&&a(r.children,n+1)},`addNodesRecursively`);a(i,0)},`populate`),se=r(e=>e.name?String(e.name):``,`getItemName`),Z={parser:{yy:void 0},parse:r(async e=>{try{let t=await y(`treemap`,e);n.debug(`Treemap AST:`,t);let r=Z.parser?.yy;if(!(r instanceof Y))throw Error(`parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);oe(t,r)}catch(e){throw n.error(`Error parsing treemap:`,e),e}},`parse`)},ce=10,Q=10,$=25,le={draw:r((e,o,s,c)=>{let l=c.db,u=l.getConfig(),d=u.padding??ce,f=l.getDiagramTitle(),m=l.getRoot(),{themeVariables:h}=g();if(!m)return;let v=f?30:0,y=_(o),S=u.nodeWidth?u.nodeWidth*Q:960,C=u.nodeHeight?u.nodeHeight*Q:500,w=S,T=C+v;y.attr(`viewBox`,`0 0 ${w} ${T}`),p(y,T,w,u.useMaxWidth);let E;try{let e=u.valueFormat||`,`;if(e===`$0,0`)E=r(e=>`$`+a(`,`)(e),`valueFormat`);else if(e.startsWith(`$`)&&e.includes(`,`)){let t=/\.\d+/.exec(e),n=t?t[0]:``;E=r(e=>`$`+a(`,`+n)(e),`valueFormat`)}else if(e.startsWith(`$`)){let t=e.substring(1);E=r(e=>`$`+a(t||``)(e),`valueFormat`)}else E=a(e)}catch(e){n.error(`Error creating format function:`,e),E=a(`,`)}let D=t().range([`transparent`,h.cScale0,h.cScale1,h.cScale2,h.cScale3,h.cScale4,h.cScale5,h.cScale6,h.cScale7,h.cScale8,h.cScale9,h.cScale10,h.cScale11]),O=t().range([`transparent`,h.cScalePeer0,h.cScalePeer1,h.cScalePeer2,h.cScalePeer3,h.cScalePeer4,h.cScalePeer5,h.cScalePeer6,h.cScalePeer7,h.cScalePeer8,h.cScalePeer9,h.cScalePeer10,h.cScalePeer11]),k=t().range([h.cScaleLabel0,h.cScaleLabel1,h.cScaleLabel2,h.cScaleLabel3,h.cScaleLabel4,h.cScaleLabel5,h.cScaleLabel6,h.cScaleLabel7,h.cScaleLabel8,h.cScaleLabel9,h.cScaleLabel10,h.cScaleLabel11]);f&&y.append(`text`).attr(`x`,w/2).attr(`y`,v/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(f);let A=y.append(`g`).attr(`transform`,`translate(0, ${v})`).attr(`class`,`treemapContainer`),j=R(m).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),M=ae().size([S,C]).paddingTop(e=>e.children&&e.children.length>0?$+Q:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?Q:0).paddingRight(e=>e.children&&e.children.length>0?Q:0).paddingBottom(e=>e.children&&e.children.length>0?Q:0).round(!0)(j),N=M.descendants().filter(e=>e.children&&e.children.length>0),P=A.selectAll(`.treemapSection`).data(N).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,$).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),P.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${o}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,$),P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>D(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>O(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=x({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),P.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,$/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+x({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=i(this),n=e.data.name;t.text(n);let r=e.x1-e.x0,a;a=u.showValues!==!1&&e.value?r-10-30-10-6:r-6-6;let o=Math.max(15,a),s=t.node();if(s.getComputedTextLength()>o){let e=n;for(;e.length>0;){if(e=n.substring(0,e.length-1),e.length===0){t.text(`...`),s.getComputedTextLength()>o&&t.text(``);break}if(t.text(e+`...`),s.getComputedTextLength()<=o)break}}}),u.showValues!==!1&&P.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,$/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?E(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+x({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let F=M.leaves(),I=A.selectAll(`.treemapLeafGroup`).data(F).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);I.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`style`,e=>x({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`stroke-width`,3),I.append(`clipPath`).attr(`id`,(e,t)=>`clip-${o}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),I.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:`+k(e.data.name)+`;`+x({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${o}-${t})`).text(e=>e.data.name).each(function(e){let t=i(this),n=e.x1-e.x0,r=e.y1-e.y0,a=t.node(),o=n-8,s=r-8;if(o<10||s<10){t.style(`display`,`none`);return}let c=parseInt(t.style(`font-size`),10),l=.6;for(;a.getComputedTextLength()>o&&c>8;)c--,t.style(`font-size`,`${c}px`);let u=Math.max(6,Math.min(28,Math.round(c*l))),d=c+2+u;for(;d>s&&c>8&&(c--,u=Math.max(6,Math.min(28,Math.round(c*l))),!(u<6&&c===8));)t.style(`font-size`,`${c}px`),d=c+2+u;t.style(`font-size`,`${c}px`),(a.getComputedTextLength()>o||c<8||s<c)&&t.style(`display`,`none`)}),u.showValues!==!1&&I.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:`+k(e.data.name)+`;`+x({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${o}-${t})`).text(e=>e.value?E(e.value):``).each(function(e){let t=i(this),n=this.parentNode;if(!n){t.style(`display`,`none`);return}let r=i(n).select(`.treemapLabel`);if(r.empty()||r.style(`display`)===`none`){t.style(`display`,`none`);return}let a=parseFloat(r.style(`font-size`)),o=Math.max(6,Math.min(28,Math.round(a*.6)));t.style(`font-size`,`${o}px`);let s=(e.y1-e.y0)/2+a/2+2;t.attr(`y`,s);let c=e.x1-e.x0,l=e.y1-e.y0-4,u=c-8;t.node().getComputedTextLength()>u||s+o>l||o<6?t.style(`display`,`none`):t.style(`display`,null)}),b(y,u.diagramPadding??8,`flowchart`,u?.useMaxWidth||!1)},`draw`),getClasses:r(function(e,t){return t.db.getClasses()},`getClasses`)},ue={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},de={parser:Z,get db(){return new Y},renderer:le,styles:r(({treemap:t}={})=>{let n=e(c(),g().themeVariables),r=e(ue,t),i=r.titleColor??n.titleColor,a=r.labelColor??n.textColor,o=r.valueColor??n.textColor;return`
|
|
2
2
|
.treemapNode.section {
|
|
3
3
|
stroke: ${r.sectionStrokeColor};
|
|
4
4
|
stroke-width: ${r.sectionStrokeWidth};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./chunk-5PVQY5BW-
|
|
1
|
+
import{r as e}from"./chunk-5PVQY5BW-B-37rcM6.js";import{i as t,r as n}from"./src-BOZISNbw.js";import{B as r,C as i,E as a,V as o,W as s,_ as c,a as l,c as u,d,v as f,y as p}from"./chunk-ICPOFSXX-Cx8pjnoR.js";import{t as m}from"./chunk-426QAEUC-BjSoaXb2.js";import{t as h}from"./chunk-4BX2VUAB-C-QwaF8o.js";import{t as g}from"./mermaid-parser.core-DMxe11ol.js";var _={showLegend:!0,ticks:5,max:null,min:0,graticule:`circle`},v={axes:[],curves:[],options:_},y=structuredClone(v),b=d.radar,x=n(()=>e({...b,...p().radar}),`getConfig`),S=n(()=>y.axes,`getAxes`),C=n(()=>y.curves,`getCurves`),w=n(()=>y.options,`getOptions`),T=n(e=>{y.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},`setAxes`),E=n(e=>{y.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:D(e.entries)}))},`setCurves`),D=n(e=>{if(e[0].axis==null)return e.map(e=>e.value);let t=S();if(t.length===0)throw Error(`Axes must be populated before curves for reference entries`);return t.map(t=>{let n=e.find(e=>e.axis?.$refText===t.name);if(n===void 0)throw Error(`Missing entry for axis `+t.label);return n.value})},`computeCurveEntries`),O={getAxes:S,getCurves:C,getOptions:w,setAxes:T,setCurves:E,setOptions:n(e=>{let t=e.reduce((e,t)=>(e[t.name]=t,e),{});y.options={showLegend:t.showLegend?.value??_.showLegend,ticks:t.ticks?.value??_.ticks,max:t.max?.value??_.max,min:t.min?.value??_.min,graticule:t.graticule?.value??_.graticule}},`setOptions`),getConfig:x,clear:n(()=>{l(),y=structuredClone(v)},`clear`),setAccTitle:o,getAccTitle:f,setDiagramTitle:s,getDiagramTitle:i,getAccDescription:c,setAccDescription:r},k=n(e=>{h(e,O);let{axes:t,curves:n,options:r}=e;O.setAxes(t),O.setCurves(n),O.setOptions(r)},`populate`),A={parse:n(async e=>{let n=await g(`radar`,e);t.debug(n),k(n)},`parse`)},j=n((e,t,n,r)=>{let i=r.db,a=i.getAxes(),o=i.getCurves(),s=i.getOptions(),c=i.getConfig(),l=i.getDiagramTitle(),u=M(m(t),c),d=s.max??Math.max(...o.map(e=>Math.max(...e.entries))),f=s.min,p=Math.min(c.width,c.height)/2;N(u,a,p,s.ticks,s.graticule),P(u,a,p,c),F(u,a,o,f,d,s.graticule,c),R(u,o,s.showLegend,c),u.append(`text`).attr(`class`,`radarTitle`).text(l).attr(`x`,0).attr(`y`,-c.height/2-c.marginTop)},`draw`),M=n((e,t)=>{let n=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,i={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return u(e,r,n,t.useMaxWidth??!0),e.attr(`viewBox`,`0 0 ${n} ${r}`),e.append(`g`).attr(`transform`,`translate(${i.x}, ${i.y})`)},`drawFrame`),N=n((e,t,n,r,i)=>{if(i===`circle`)for(let t=0;t<r;t++){let i=n*(t+1)/r;e.append(`circle`).attr(`r`,i).attr(`class`,`radarGraticule`)}else if(i===`polygon`){let i=t.length;for(let a=0;a<r;a++){let o=n*(a+1)/r,s=t.map((e,t)=>{let n=2*t*Math.PI/i-Math.PI/2;return`${o*Math.cos(n)},${o*Math.sin(n)}`}).join(` `);e.append(`polygon`).attr(`points`,s).attr(`class`,`radarGraticule`)}}},`drawGraticule`),P=n((e,t,n,r)=>{let i=t.length;for(let a=0;a<i;a++){let o=t[a].label,s=2*a*Math.PI/i-Math.PI/2;e.append(`line`).attr(`x1`,0).attr(`y1`,0).attr(`x2`,n*r.axisScaleFactor*Math.cos(s)).attr(`y2`,n*r.axisScaleFactor*Math.sin(s)).attr(`class`,`radarAxisLine`),e.append(`text`).text(o).attr(`x`,n*r.axisLabelFactor*Math.cos(s)).attr(`y`,n*r.axisLabelFactor*Math.sin(s)).attr(`class`,`radarAxisLabel`)}},`drawAxes`);function F(e,t,n,r,i,a,o){let s=t.length,c=Math.min(o.width,o.height)/2;n.forEach((t,n)=>{if(t.entries.length!==s)return;let l=t.entries.map((e,t)=>{let n=2*Math.PI*t/s-Math.PI/2,a=I(e,r,i,c);return{x:a*Math.cos(n),y:a*Math.sin(n)}});a===`circle`?e.append(`path`).attr(`d`,L(l,o.curveTension)).attr(`class`,`radarCurve-${n}`):a===`polygon`&&e.append(`polygon`).attr(`points`,l.map(e=>`${e.x},${e.y}`).join(` `)).attr(`class`,`radarCurve-${n}`)})}n(F,`drawCurves`);function I(e,t,n,r){return r*(Math.min(Math.max(e,t),n)-t)/(n-t)}n(I,`relativeRadius`);function L(e,t){let n=e.length,r=`M${e[0].x},${e[0].y}`;for(let i=0;i<n;i++){let a=e[(i-1+n)%n],o=e[i],s=e[(i+1)%n],c=e[(i+2)%n],l={x:o.x+(s.x-a.x)*t,y:o.y+(s.y-a.y)*t},u={x:s.x-(c.x-o.x)*t,y:s.y-(c.y-o.y)*t};r+=` C${l.x},${l.y} ${u.x},${u.y} ${s.x},${s.y}`}return`${r} Z`}n(L,`closedRoundCurve`);function R(e,t,n,r){if(!n)return;let i=(r.width/2+r.marginRight)*3/4,a=-(r.height/2+r.marginTop)*3/4;t.forEach((t,n)=>{let r=e.append(`g`).attr(`transform`,`translate(${i}, ${a+n*20})`);r.append(`rect`).attr(`width`,12).attr(`height`,12).attr(`class`,`radarLegendBox-${n}`),r.append(`text`).attr(`x`,16).attr(`y`,0).attr(`class`,`radarLegendText`).text(t.label)})}n(R,`drawLegend`);var z={draw:j},B=n((e,t)=>{let n=``;for(let r=0;r<e.THEME_COLOR_LIMIT;r++){let i=e[`cScale${r}`];n+=`
|
|
2
2
|
.radarCurve-${r} {
|
|
3
3
|
color: ${i};
|
|
4
4
|
fill: ${i};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./chunk-5PVQY5BW-
|
|
1
|
+
import{r as e}from"./chunk-5PVQY5BW-B-37rcM6.js";import{i as t,r as n}from"./src-BOZISNbw.js";import{B as r,C as i,V as a,W as o,_ as s,a as c,c as l,d as u,v as d,y as f}from"./chunk-ICPOFSXX-Cx8pjnoR.js";import{t as p}from"./chunk-426QAEUC-BjSoaXb2.js";import{t as m}from"./chunk-4BX2VUAB-C-QwaF8o.js";import{t as h}from"./mermaid-parser.core-DMxe11ol.js";var g=u.packet,_=class{constructor(){this.packet=[],this.setAccTitle=a,this.getAccTitle=d,this.setDiagramTitle=o,this.getDiagramTitle=i,this.getAccDescription=s,this.setAccDescription=r}static{n(this,`PacketDB`)}getConfig(){let t=e({...g,...f().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){c(),this.packet=[]}},v=1e4,y=n((e,n)=>{m(e,n);let r=-1,i=[],a=1,{bitsPerRow:o}=n.getConfig();for(let{start:s,end:c,bits:l,label:u}of e.blocks){if(s!==void 0&&c!==void 0&&c<s)throw Error(`Packet block ${s} - ${c} is invalid. End must be greater than start.`);if(s??=r+1,s!==r+1)throw Error(`Packet block ${s} - ${c??s} is not contiguous. It should start from ${r+1}.`);if(l===0)throw Error(`Packet block ${s} is invalid. Cannot have a zero bit field.`);for(c??=s+(l??1)-1,l??=c-s+1,r=c,t.debug(`Packet block ${s} - ${r} with label ${u}`);i.length<=o+1&&n.getPacket().length<v;){let[e,t]=b({start:s,end:c,bits:l,label:u},a,o);if(i.push(e),e.end+1===a*o&&(n.pushWord(i),i=[],a++),!t)break;({start:s,end:c,bits:l,label:u}=t)}}n.pushWord(i)},`populate`),b=n((e,t,n)=>{if(e.start===void 0)throw Error(`start should have been set during first phase`);if(e.end===void 0)throw Error(`end should have been set during first phase`);if(e.start>e.end)throw Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*n)return[e,void 0];let r=t*n-1,i=t*n;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:i,end:e.end,label:e.label,bits:e.end-i}]},`getNextFittingBlock`),x={parser:{yy:void 0},parse:n(async e=>{let n=await h(`packet`,e),r=x.parser?.yy;if(!(r instanceof _))throw Error(`parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);t.debug(n),y(n,r)},`parse`)},S=n((e,t,n,r)=>{let i=r.db,a=i.getConfig(),{rowHeight:o,paddingY:s,bitWidth:c,bitsPerRow:u}=a,d=i.getPacket(),f=i.getDiagramTitle(),m=o+s,h=m*(d.length+1)-(f?0:o),g=c*u+2,_=p(t);_.attr(`viewBox`,`0 0 ${g} ${h}`),l(_,h,g,a.useMaxWidth);for(let[e,t]of d.entries())C(_,t,e,a);_.append(`text`).text(f).attr(`x`,g/2).attr(`y`,h-m/2).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).attr(`class`,`packetTitle`)},`draw`),C=n((e,t,n,{rowHeight:r,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:s,showBits:c})=>{let l=e.append(`g`),u=n*(r+a)+a;for(let e of t){let t=e.start%s*o+1,n=(e.end-e.start+1)*o-i;if(l.append(`rect`).attr(`x`,t).attr(`y`,u).attr(`width`,n).attr(`height`,r).attr(`class`,`packetBlock`),l.append(`text`).attr(`x`,t+n/2).attr(`y`,u+r/2).attr(`class`,`packetLabel`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).text(e.label),!c)continue;let a=e.end===e.start,d=u-2;l.append(`text`).attr(`x`,t+(a?n/2:0)).attr(`y`,d).attr(`class`,`packetByte start`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,a?`middle`:`start`).text(e.start),a||l.append(`text`).attr(`x`,t+n).attr(`y`,d).attr(`class`,`packetByte end`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,`end`).text(e.end)}},`drawWord`),w={draw:S},T={byteFontSize:`10px`,startByteColor:`black`,endByteColor:`black`,labelColor:`black`,labelFontSize:`12px`,titleColor:`black`,titleFontSize:`14px`,blockStrokeColor:`black`,blockStrokeWidth:`1`,blockFillColor:`#efefef`},E={parser:x,get db(){return new _},renderer:w,styles:n(({packet:t}={})=>{let n=e(T,t);return`
|
|
2
2
|
.packetByte {
|
|
3
3
|
font-size: ${n.byteFontSize};
|
|
4
4
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/renderer-BHoCfdWO-
|
|
2
|
-
import{t as e}from"./preload-helper-DSXbuxSR.js";import{$ as t,At as n,Bt as r,C as i,Ct as a,D as o,Dt as s,E as c,Et as l,Ft as u,G as d,Gt as f,H as p,Ht as m,I as ee,J as te,L as h,Lt as ne,M as g,Mt as re,N as ie,O as ae,P as oe,Pt as se,Q as ce,R as le,St as _,Tt as ue,V as de,Vt as fe,W as v,Wt as pe,X as me,Y as he,Yt as ge,_t as y,a as b,at as _e,bt as ve,ct as x,d as ye,dt as be,en as xe,et as Se,gt as S,ht as C,it as w,j as T,k as Ce,kt as we,lt as Te,m as E,nt as Ee,ot as De,p as D,pt as O,qt as Oe,r as k,rn as ke,rt as A,st as Ae,t as je,tn as Me,tt as Ne,u as Pe,yt as Fe,z as j}from"./state-CrA0YVPh-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/renderer-BHoCfdWO-COcEnbx-.js","assets/state-CrA0YVPh-CbRahjhd.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-DSXbuxSR.js";import{$ as t,At as n,Bt as r,C as i,Ct as a,D as o,Dt as s,E as c,Et as l,Ft as u,G as d,Gt as f,H as p,Ht as m,I as ee,J as te,L as h,Lt as ne,M as g,Mt as re,N as ie,O as ae,P as oe,Pt as se,Q as ce,R as le,St as _,Tt as ue,V as de,Vt as fe,W as v,Wt as pe,X as me,Y as he,Yt as ge,_t as y,a as b,at as _e,bt as ve,ct as x,d as ye,dt as be,en as xe,et as Se,gt as S,ht as C,it as w,j as T,k as Ce,kt as we,lt as Te,m as E,nt as Ee,ot as De,p as D,pt as O,qt as Oe,r as k,rn as ke,rt as A,st as Ae,t as je,tn as Me,tt as Ne,u as Pe,yt as Fe,z as j}from"./state-CrA0YVPh-CbRahjhd.js";var Ie=new Set([`role`,`name`,`aria-label`,`rel`,`href`]),M=e=>{if(!/^[a-z\-]{3,}$/i.test(e))return!1;let t=e.split(/-|[A-Z]/);for(let e of t)if(e.length<=2||/[^aeiou]{4,}/i.test(e))return!1;return!0},Le=(e,t)=>{let n=Ie.has(e)||e.startsWith(`data-`)&&M(e),r=M(t)&&t.length<100||t.startsWith(`#`)&&M(t.slice(1));return n&&r},Re=e=>{let t=e[0].name;for(let n=1;n<e.length;n++)t=`${e[n].name} > ${t}`;return t},ze=e=>{let t=0;for(let n of e)t+=n.penalty;return t},Be=(e,t)=>ze(e)-ze(t),Ve=(e,t)=>{let n=e.parentNode;if(!n)return;let r=n.firstChild;if(!r)return;let i=0;for(;r&&(r.nodeType===Node.ELEMENT_NODE&&(t===void 0||r.tagName.toLowerCase()===t)&&i++,r!==e);)r=r.nextSibling;return i},He=(e,t)=>e===`html`?`html`:`${e}:nth-child(${t})`,Ue=(e,t)=>e===`html`?`html`:`${e}:nth-of-type(${t})`,We=(e,t)=>{let n=[],r=e.getAttribute(`id`),i=e.tagName.toLowerCase();r&&M(r)&&n.push({name:`#${CSS.escape(r)}`,penalty:0});for(let t of e.classList)M(t)&&n.push({name:`.${CSS.escape(t)}`,penalty:1});for(let r of e.attributes)t(r.name,r.value)&&n.push({name:`[${CSS.escape(r.name)}="${CSS.escape(r.value)}"]`,penalty:2});n.push({name:i,penalty:5});let a=Ve(e,i);a!==void 0&&n.push({name:Ue(i,a),penalty:10});let o=Ve(e);return o!==void 0&&n.push({name:He(i,o),penalty:50}),n},Ge=(e,t=y,n=[])=>{if(t<=0)return[];if(e.length===0)return[n];let r=[];for(let i of e[0]){let a=t-r.length;if(a<=0)break;r.push(...Ge(e.slice(1),a,[...n,i]))}return r},Ke=(e,t)=>{let n=t.getRootNode?.();return n instanceof ShadowRoot?n:e.nodeType===Node.DOCUMENT_NODE?e:e.ownerDocument},qe=(e,t)=>t.querySelectorAll(Re(e)).length===1,Je=(e,t)=>{let n=e,r=[];for(;n&&n!==t;){let e=n.tagName.toLowerCase(),t=Ve(n,e);if(t===void 0)return;r.push({name:Ue(e,t),penalty:10}),n=n.parentElement}return qe(r,t)?r:void 0},Ye=(e,t,n,r)=>{if(e.nodeType!==Node.ELEMENT_NODE)throw Error(`Can't generate CSS selector for non-element node type.`);if(e.tagName.toLowerCase()===`html`)return`html`;let i=Ke(t,e),a=Date.now(),o=[],s=e,c=0,l;for(;s&&s!==i&&!l;)if(o.push(We(s,r)),s=s.parentElement,c++,c>=3){let t=Ge(o);t.sort(Be);for(let r of t){if(Date.now()-a>n){let t=Je(e,i);if(!t)throw Error(`Timeout: Can't find a unique selector after ${n}ms`);return Re(t)}if(qe(r,i)){l=r;break}}}if(!l&&c<3){let e=Ge(o);e.sort(Be);for(let t of e){if(Date.now()-a>n)break;if(qe(t,i)){l=t;break}}}if(!l)throw Error(`Selector was not found.`);return Re(l)},Xe=e=>typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`),Ze=e=>e.ownerDocument.body??e.ownerDocument.documentElement,Qe=new Set([`data-testid`,`data-test-id`,`data-test`,`data-cy`,`data-qa`,`aria-label`,`role`,`name`,`title`,`alt`]),$e=e=>e.length>0&&e.length<=120,et=(e,t)=>{try{let n=e.ownerDocument.querySelectorAll(t);return n.length===1&&n[0]===e}catch{return!1}},tt=e=>{if(e instanceof HTMLElement&&e.id){let t=`#${Xe(e.id)}`;if(et(e,t))return t}for(let t of Qe){let n=e.getAttribute(t);if(!n||!$e(n))continue;let r=`[${t}=${JSON.stringify(n)}]`;if(et(e,r))return r;let i=`${e.tagName.toLowerCase()}${r}`;if(et(e,i))return i}return null},nt=e=>{let t=[],n=Ze(e),r=e;for(;r;){if(r instanceof HTMLElement&&r.id){t.unshift(`#${Xe(r.id)}`);break}let e=r.parentElement;if(!e){t.unshift(r.tagName.toLowerCase());break}let i=Array.from(e.children).indexOf(r),a=i>=0?i+1:1;if(t.unshift(`${r.tagName.toLowerCase()}:nth-child(${a})`),e===n){t.unshift(n.tagName.toLowerCase());break}r=e}return t.join(` > `)},rt=(e,t=!0)=>{let n=tt(e);if(n)return n;if(t)try{let t=Ye(e,Ze(e),200,(e,t)=>Le(e,t)||Qe.has(e)&&$e(t));if(t)return t}catch{}return nt(e)},it=new Map([`top`,`right`,`bottom`,`left`].flatMap(e=>[[`border-${e}-style`,e],[`border-${e}-color`,e]])),at=null,ot=new Map,st=()=>at||(at=document.createElement(`iframe`),at.style.cssText=`position:fixed;left:-9999px;width:0;height:0;border:none;visibility:hidden;`,document.body.appendChild(at),at),ct=e=>{let t=ot.get(e);if(t)return t;let n=st(),r=n.contentDocument,i=r.createElement(e);r.body.appendChild(i);let a=n.contentWindow.getComputedStyle(i),o=new Map;for(let e of De){let t=a.getPropertyValue(e);t&&o.set(e,t)}return i.remove(),ot.set(e,o),o},lt=(e,t)=>{let n=it.get(e);if(!n)return!1;let r=t.getPropertyValue(`border-${n}-width`);return r===`0px`||r===`0`},ut=e=>{let t=ct(e.tagName.toLowerCase()),n=getComputedStyle(e),r=[];for(let e of De){let i=n.getPropertyValue(e);i&&i!==t.get(e)&&(lt(e,n)||r.push(`${e}: ${i};`))}let i=e.getAttribute(`class`)?.trim(),a=r.join(`
|
|
3
3
|
`);return i?a?`className: ${i}\n\n${a}`:`className: ${i}`:a},dt=()=>{at?.remove(),at=null,ot.clear()},ft=`/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
|
|
4
4
|
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Geist",ui-sans-serif,system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--color-white:#fff;--spacing:4px;--font-weight-medium:500;--font-weight-semibold:600;--radius-sm:4px;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--transition-fast:.1s;--transition-normal:.15s}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.touch-hitbox{position:relative}.touch-hitbox:before{content:"";width:100%;min-width:44px;height:100%;min-height:44px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.-top-1{top:calc(var(--spacing)*-1)}.top-0{top:calc(var(--spacing)*0)}.top-0\\.5{top:calc(var(--spacing)*.5)}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-full{right:100%}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-0\\.5{left:calc(var(--spacing)*.5)}.left-1\\.5{left:calc(var(--spacing)*1.5)}.left-2\\.5{left:calc(var(--spacing)*2.5)}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.m-0{margin:calc(var(--spacing)*0)}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-0\\.5{margin-inline:calc(var(--spacing)*.5)}.-my-1\\.5{margin-block:calc(var(--spacing)*-1.5)}.my-0\\.5{margin-block:calc(var(--spacing)*.5)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-2\\.5{margin-top:calc(var(--spacing)*2.5)}.mr-0\\.5{margin-right:calc(var(--spacing)*.5)}.mr-1\\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2\\.5{margin-right:calc(var(--spacing)*2.5)}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2\\.5{margin-bottom:calc(var(--spacing)*2.5)}.-ml-\\[2px\\]{margin-left:-2px}.ml-0\\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2\\.5{margin-left:calc(var(--spacing)*2.5)}.ml-4{margin-left:calc(var(--spacing)*4)}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-\\[18px\\]{width:18px;height:18px}.h-0{height:calc(var(--spacing)*0)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-\\[17px\\]{height:17px}.h-fit{height:fit-content}.max-h-\\[240px\\]{max-height:240px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.w-0{width:calc(var(--spacing)*0)}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-5{width:calc(var(--spacing)*5)}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-2\\.5{min-width:calc(var(--spacing)*2.5)}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.interactive-scale{transition-property:transform;transition-duration:var(--transition-normal);transition-timing-function:cubic-bezier(.34,1.56,.64,1)}@media (hover:hover) and (pointer:fine){.interactive-scale:hover{transform:scale(1.05)}}.interactive-scale:active{transform:scale(.97)}.press-scale{transition-property:transform;transition-duration:var(--transition-fast);transition-timing-function:ease-out}.press-scale:active{transform:scale(.97)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\\[hint-flip-in_var\\(--transition-normal\\)_ease-out\\]{animation:hint-flip-in var(--transition-normal)ease-out}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-\\[5px\\]{gap:5px}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.rounded-\\[10px\\]{border-radius:10px}.rounded-full{border-radius:3.40282e38px}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[\\#B3B3B3\\]{border-color:#b3b3b3}.border-t-\\[\\#D9D9D9\\]{border-top-color:#d9d9d9}.bg-\\[\\#FEF2F2\\]{background-color:#fef2f2}.bg-black{background-color:var(--color-black)}.bg-black\\/5{background-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.bg-black\\/5{background-color:color-mix(in oklab,var(--color-black)5%,transparent)}}.bg-black\\/25{background-color:#00000040}@supports (color:color-mix(in lab, red, red)){.bg-black\\/25{background-color:color-mix(in oklab,var(--color-black)25%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.px-0\\.5{padding-inline:calc(var(--spacing)*.5)}.px-0\\.25{padding-inline:calc(var(--spacing)*.25)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-\\[3px\\]{padding-inline:3px}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-0\\.25{padding-block:calc(var(--spacing)*.25)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-px{padding-block:1px}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.text-left{text-align:left}.font-sans{font-family:var(--font-sans)}.text-\\[8px\\]{font-size:8px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.leading-3{--tw-leading:calc(var(--spacing)*3);line-height:calc(var(--spacing)*3)}.leading-3\\.5{--tw-leading:calc(var(--spacing)*3.5);line-height:calc(var(--spacing)*3.5)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.wrap-break-word{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-\\[\\#71717a\\]{color:#71717a}.text-\\[\\#B3B3B3\\]{color:#b3b3b3}.text-\\[\\#B91C1C\\]{color:#b91c1c}.text-\\[\\#B91C1C\\]\\/50{color:oklab(50.542% .168942 .0880134/.5)}.text-black{color:var(--color-black)}.text-black\\/25{color:#00000040}@supports (color:color-mix(in lab, red, red)){.text-black\\/25{color:color-mix(in oklab,var(--color-black)25%,transparent)}}.text-black\\/30{color:#0000004d}@supports (color:color-mix(in lab, red, red)){.text-black\\/30{color:color-mix(in oklab,var(--color-black)30%,transparent)}}.text-black\\/40{color:#0006}@supports (color:color-mix(in lab, red, red)){.text-black\\/40{color:color-mix(in oklab,var(--color-black)40%,transparent)}}.text-black\\/50{color:#00000080}@supports (color:color-mix(in lab, red, red)){.text-black\\/50{color:color-mix(in oklab,var(--color-black)50%,transparent)}}.text-black\\/60{color:#0009}@supports (color:color-mix(in lab, red, red)){.text-black\\/60{color:color-mix(in oklab,var(--color-black)60%,transparent)}}.text-black\\/70{color:#000000b3}@supports (color:color-mix(in lab, red, red)){.text-black\\/70{color:color-mix(in oklab,var(--color-black)70%,transparent)}}.text-black\\/85{color:#000000d9}@supports (color:color-mix(in lab, red, red)){.text-black\\/85{color:color-mix(in oklab,var(--color-black)85%,transparent)}}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter-\\[drop-shadow\\(0px_1px_2px_\\#51515140\\)\\]{filter:drop-shadow(0 1px 2px #51515140)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\,opacity\\]{transition-property:grid-template-columns,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\,opacity\\]{transition-property:grid-template-rows,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[top\\,left\\,width\\,height\\,opacity\\]{transition-property:top,left,width,height,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,)var(--tw-contain-layout,)var(--tw-contain-paint,)var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[animation-fill-mode\\:backwards\\]{animation-fill-mode:backwards}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}.\\[scrollbar-color\\:transparent_transparent\\]{scrollbar-color:transparent transparent}.\\[scrollbar-width\\:thin\\]{scrollbar-width:thin}.before\\:\\!min-h-full:before{content:var(--tw-content);min-height:100%!important}.before\\:\\!min-w-full:before{content:var(--tw-content);min-width:100%!important}@media (hover:hover){.hover\\:bg-\\[\\#F5F5F5\\]:hover{background-color:#f5f5f5}.hover\\:bg-\\[\\#FEE2E2\\]:hover{background-color:#fee2e2}.hover\\:bg-black\\/10:hover{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-black\\/10:hover{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.hover\\:text-black:hover{color:var(--color-black)}.hover\\:opacity-100:hover{opacity:1}.hover\\:\\[scrollbar-color\\:rgba\\(0\\,0\\,0\\,0\\.15\\)_transparent\\]:hover{scrollbar-color:#00000026 transparent}}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:opacity-40:disabled{opacity:.4}}:host{all:initial;direction:ltr}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-3px)}30%{transform:translate(3px)}45%{transform:translate(-3px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}90%{transform:translate(2px)}}@keyframes success-pop{0%{opacity:0;transform:scale(.9)}60%{opacity:1;transform:scale(1.1)}80%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes hint-flip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes icon-loader-spin{0%{opacity:1}50%{opacity:.5}to{opacity:.2}}.icon-loader-bar{animation:.5s linear infinite icon-loader-spin}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.shimmer-text{color:#0000;background:linear-gradient(90deg,#71717a 0%,#a1a1aa 25%,#71717a 50%,#a1a1aa 75%,#71717a 100%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;animation:2.5s linear infinite shimmer}@keyframes clock-flash{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.92)}75%{transform:scale(1.05)}to{transform:scale(1)}}.animate-clock-flash{will-change:transform;animation:.4s ease-out clock-flash}.animate-shake{will-change:transform;animation:.3s ease-out shake}.animate-success-pop{will-change:transform,opacity;animation:.25s ease-out success-pop}.animate-tooltip-fade-in{animation:tooltip-fade-in var(--transition-fast)ease-out;will-change:transform,opacity}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-contain-size{syntax:"*";inherits:false}@property --tw-contain-layout{syntax:"*";inherits:false}@property --tw-contain-paint{syntax:"*";inherits:false}@property --tw-contain-style{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}`,pt=Symbol(`store-raw`),mt=Symbol(`store-node`),N=Symbol(`store-has`),ht=Symbol(`store-self`);function gt(e){let t=e[j];if(!t&&(Object.defineProperty(e,j,{value:t=new Proxy(e,bt)}),!Array.isArray(e))){let n=Object.keys(e),r=Object.getOwnPropertyDescriptors(e);for(let i=0,a=n.length;i<a;i++){let a=n[i];r[a].get&&Object.defineProperty(e,a,{enumerable:r[a].enumerable,get:r[a].get.bind(t)})}}return t}function P(e){let t;return typeof e==`object`&&!!e&&(e[j]||!(t=Object.getPrototypeOf(e))||t===Object.prototype||Array.isArray(e))}function F(e,t=new Set){let n,r,i,a;if(n=e!=null&&e[pt])return n;if(!P(e)||t.has(e))return e;if(Array.isArray(e)){Object.isFrozen(e)?e=e.slice(0):t.add(e);for(let n=0,a=e.length;n<a;n++)i=e[n],(r=F(i,t))!==i&&(e[n]=r)}else{Object.isFrozen(e)?e=Object.assign({},e):t.add(e);let n=Object.keys(e),o=Object.getOwnPropertyDescriptors(e);for(let s=0,c=n.length;s<c;s++)a=n[s],!o[a].get&&(i=e[a],(r=F(i,t))!==i&&(e[a]=r))}return e}function _t(e,t){let n=e[t];return n||Object.defineProperty(e,t,{value:n=Object.create(null)}),n}function I(e,t,n){if(e[t])return e[t];let[r,i]=d(n,{equals:!1,internal:!0});return r.$=i,e[t]=r}function L(e,t){let n=Reflect.getOwnPropertyDescriptor(e,t);return!n||n.get||!n.configurable||t===j||t===mt?n:(delete n.value,delete n.writable,n.get=()=>e[j][t],n)}function vt(e){T()&&I(_t(e,mt),ht)()}function yt(e){return vt(e),Reflect.ownKeys(e)}var bt={get(e,t,n){if(t===pt)return e;if(t===j)return n;if(t===g)return vt(e),n;let r=_t(e,mt),i=r[t],a=i?i():e[t];if(t===mt||t===N||t===`__proto__`)return a;if(!i){let n=Object.getOwnPropertyDescriptor(e,t);T()&&(typeof a!=`function`||e.hasOwnProperty(t))&&!(n&&n.get)&&(a=I(r,t,a)())}return P(a)?gt(a):a},has(e,t){return t===pt||t===j||t===g||t===mt||t===N||t===`__proto__`?!0:(T()&&I(_t(e,N),t)(),t in e)},set(){return!0},deleteProperty(){return!0},ownKeys:yt,getOwnPropertyDescriptor:L};function R(e,t,n,r=!1){if(!r&&e[t]===n)return;let i=e[t],a=e.length;n===void 0?(delete e[t],e[N]&&e[N][t]&&i!==void 0&&e[N][t].$()):(e[t]=n,e[N]&&e[N][t]&&i===void 0&&e[N][t].$());let o=_t(e,mt),s;if((s=I(o,t,i))&&s.$(()=>n),Array.isArray(e)&&e.length!==a){for(let t=e.length;t<a;t++)(s=o[t])&&s.$();(s=I(o,`length`,a))&&s.$(e.length)}(s=o[ht])&&s.$()}function z(e,t){let n=Object.keys(t);for(let r=0;r<n.length;r+=1){let i=n[r];R(e,i,t[i])}}function B(e,t){if(typeof t==`function`&&(t=t(e)),t=F(t),Array.isArray(t)){if(e===t)return;let n=0,r=t.length;for(;n<r;n++){let r=t[n];e[n]!==r&&R(e,n,r)}R(e,`length`,r)}else z(e,t)}function V(e,t,n=[]){let r,i=e;if(t.length>1){r=t.shift();let a=typeof r,o=Array.isArray(e);if(Array.isArray(r)){for(let i=0;i<r.length;i++)V(e,[r[i]].concat(t),n);return}else if(o&&a===`function`){for(let i=0;i<e.length;i++)r(e[i],i)&&V(e,[i].concat(t),n);return}else if(o&&a===`object`){let{from:i=0,to:a=e.length-1,by:o=1}=r;for(let r=i;r<=a;r+=o)V(e,[r].concat(t),n);return}else if(t.length>1){V(e[r],t,[r].concat(n));return}i=e[r],n=[r].concat(n)}let a=t[0];typeof a==`function`&&(a=a(i,n),a===i)||r===void 0&&a==null||(a=F(a),r===void 0||P(i)&&P(a)&&!Array.isArray(a)?z(i,a):R(e,r,a))}function xt(...[e,t]){let n=F(e||{}),r=Array.isArray(n),i=gt(n);function a(...e){h(()=>{r&&e.length===1?B(n,e[0]):V(n,e)})}return[i,a]}var St=new WeakMap,Ct={get(e,t){if(t===pt)return e;let n=e[t],r;return P(n)?St.get(n)||(St.set(n,r=new Proxy(n,Ct)),r):n},set(e,t,n){return R(e,t,F(n)),!0},deleteProperty(e,t){return R(e,t,void 0,!0),!0}};function H(e){return t=>{if(P(t)){let n;(n=St.get(t))||St.set(t,n=new Proxy(t,Ct)),e(n)}return t}}var wt=e=>typeof e==`number`&&!Number.isNaN(e)&&Number.isFinite(e),Tt=e=>{let t=e.trim();if(!t)return null;let n=parseFloat(t);return wt(n)?n:null},U=(e,t)=>{let n=e.split(`,`);if(n.length!==t)return null;let r=[];for(let e of n){let t=Tt(e);if(t===null)return null;r.push(t)}return r},Et=(e,t,n,r)=>e===1&&t===0&&n===0&&r===1,Dt=e=>e[0]===1&&e[1]===0&&e[2]===0&&e[3]===0&&e[4]===0&&e[5]===1&&e[6]===0&&e[7]===0&&e[8]===0&&e[9]===0&&e[10]===1&&e[11]===0&&e[15]===1,W=e=>{if(!e||e===`none`)return`none`;if(e.startsWith(`matrix`))if(e.startsWith(`matrix3d(`)){let t=e.length-1,n=U(e.slice(9,t),16);if(n)return n[12]=0,n[13]=0,n[14]=0,Dt(n)?`none`:`matrix3d(${n[0]}, ${n[1]}, ${n[2]}, ${n[3]}, ${n[4]}, ${n[5]}, ${n[6]}, ${n[7]}, ${n[8]}, ${n[9]}, ${n[10]}, ${n[11]}, 0, 0, 0, ${n[15]})`}else{let t=e.length-1,n=U(e.slice(7,t),6);if(n){let e=n[0],t=n[1],r=n[2],i=n[3];return Et(e,t,r,i)?`none`:`matrix(${e}, ${t}, ${r}, ${i}, 0, 0)`}}return`none`},Ot=e=>e.isIdentity?`none`:e.is2D?Et(e.a,e.b,e.c,e.d)?`none`:`matrix(${e.a}, ${e.b}, ${e.c}, ${e.d}, 0, 0)`:e.m11===1&&e.m12===0&&e.m13===0&&e.m14===0&&e.m21===0&&e.m22===1&&e.m23===0&&e.m24===0&&e.m31===0&&e.m32===0&&e.m33===1&&e.m34===0&&e.m44===1?`none`:`matrix3d(${e.m11}, ${e.m12}, ${e.m13}, ${e.m14}, ${e.m21}, ${e.m22}, ${e.m23}, ${e.m24}, ${e.m31}, ${e.m32}, ${e.m33}, ${e.m34}, 0, 0, 0, ${e.m44})`,kt=new WeakMap,At=new WeakMap,jt=new WeakMap,Mt=()=>{kt=new WeakMap,At=new WeakMap,jt=new WeakMap},Nt=(e,t)=>{let n=At.get(e);if(n&&t-n.timestamp<16)return n.transform;let r=window.getComputedStyle(e).transform,i=r&&r!==`none`?r:`none`;return At.set(e,{transform:i,timestamp:t}),i},Pt=(e,t,n)=>{let r=t&&t!==`none`,i=null,a=e.parentElement,o=0;for(;a&&a!==document.documentElement&&o<6;){let e=Nt(a,n);if(e!==`none`)i=i?new DOMMatrix(e).multiply(i):new DOMMatrix(e);else if(!r&&!i&&o>=3)return`none`;a=a.parentElement,o++}return i?(r&&(i=i.multiply(new DOMMatrix(t))),Ot(i)):r?W(t):`none`},Ft=(e,t,n)=>{let r=jt.get(e);if(r&&n-r.timestamp<200)return r.borderRadius;let i=(t??window.getComputedStyle(e)).borderRadius||`0px`;return jt.set(e,{borderRadius:i,timestamp:n}),i},It=(e,t,n,r)=>{let i=Pt(e,n.transform,r),a=Ft(e,n,r);if(i!==`none`&&e instanceof HTMLElement){let n=e.offsetWidth,r=e.offsetHeight;if(n>0&&r>0){let e=t.left+t.width*.5,o=t.top+t.height*.5;return{borderRadius:a,height:r,transform:i,width:n,x:e-n*.5,y:o-r*.5}}}return{borderRadius:a,height:t.height,transform:i,width:t.width,x:t.left,y:t.top}},G=e=>{let t=performance.now(),n=kt.get(e);if(n&&t-n.timestamp<16)return n.bounds;let r=It(e,e.getBoundingClientRect(),window.getComputedStyle(e),t);return kt.set(e,{bounds:r,timestamp:t}),r},K=e=>({x:e.x+e.width/2,y:e.y+e.height/2}),Lt=e=>({current:{state:`idle`},wasActivatedByToggle:!1,pendingCommentMode:!1,keyHoldDuration:e.keyHoldDuration,pointer:{x:O,y:O},dragStart:{x:O,y:O},copyStart:{x:O,y:O},copyOffsetFromCenterX:0,detectedElement:null,frozenElement:null,frozenElements:[],frozenDragRect:null,lastGrabbedElement:null,lastCopiedElement:null,selectionFilePath:null,selectionLineNumber:null,inputText:``,viewportVersion:0,grabbedBoxes:[],labelInstances:[],isTouchMode:!1,theme:e.theme,activationTimestamp:null,previouslyFocusedElement:null,contextMenuPosition:null,contextMenuElement:null,contextMenuClickOffset:null}),Rt=e=>{let[t,n]=xt(Lt(e)),r=()=>{n(H(e=>{e.frozenElement=null,e.frozenElements=[],e.frozenDragRect=null}))},i=e=>{n(`current`,H(t=>{t.state===`active`&&(t.phase=e)}))},a={startHold:e=>{e!==void 0&&n(`keyHoldDuration`,e),n(`current`,{state:`holding`,startedAt:Date.now()})},releaseHold:()=>{t.current.state===`holding`&&n(`current`,{state:`idle`})},activate:()=>{n(H(e=>{e.current={state:`active`,phase:`hovering`,isPromptMode:!1,isPendingDismiss:!1},e.activationTimestamp=Date.now(),e.previouslyFocusedElement=document.activeElement}))},deactivate:()=>{n(H(e=>{e.current={state:`idle`},e.wasActivatedByToggle=!1,e.pendingCommentMode=!1,e.inputText=``,e.frozenElement=null,e.frozenElements=[],e.frozenDragRect=null,e.activationTimestamp=null,e.previouslyFocusedElement=null,e.contextMenuPosition=null,e.contextMenuElement=null,e.contextMenuClickOffset=null,e.lastCopiedElement=null}))},toggle:()=>{t.activationTimestamp===null?(n(`wasActivatedByToggle`,!0),a.activate()):a.deactivate()},freeze:()=>{if(t.current.state===`active`){let e=t.frozenElement??t.detectedElement;e&&n(`frozenElement`,e),i(`frozen`)}},unfreeze:()=>{t.current.state===`active`&&(n(H(e=>{e.frozenElement=null,e.frozenElements=[],e.frozenDragRect=null})),i(`hovering`))},startDrag:e=>{t.current.state===`active`&&(r(),n(`dragStart`,{x:e.x+window.scrollX,y:e.y+window.scrollY}),i(`dragging-select`))},startDragReposition:()=>{t.current.state===`active`&&t.current.phase===`dragging-select`&&i(`dragging-reposition`)},stopDragReposition:()=>{t.current.state===`active`&&t.current.phase===`dragging-reposition`&&i(`dragging-select`)},shiftDragStart:e=>{t.current.state===`active`&&t.current.phase===`dragging-reposition`&&n(`dragStart`,t=>({x:t.x+e.x,y:t.y+e.y}))},endDrag:()=>{t.current.state===`active`&&(t.current.phase===`dragging-select`||t.current.phase===`dragging-reposition`)&&(n(`dragStart`,{x:-1e3,y:-1e3}),i(`justDragged`))},cancelDrag:()=>{t.current.state===`active`&&(t.current.phase===`dragging-select`||t.current.phase===`dragging-reposition`)&&(n(`dragStart`,{x:-1e3,y:-1e3}),i(`hovering`))},finishJustDragged:()=>{t.current.state===`active`&&t.current.phase===`justDragged`&&i(`hovering`)},startCopy:()=>{let e=t.current.state===`active`;n(`current`,{state:`copying`,startedAt:Date.now(),wasActive:e})},completeCopy:e=>{e&&n(`lastCopiedElement`,e);let r=t.current.state===`copying`?t.current.wasActive:!1;n(`current`,{state:`justCopied`,copiedAt:Date.now(),wasActive:r})},finishJustCopied:()=>{t.current.state===`justCopied`&&(t.current.wasActive&&!t.wasActivatedByToggle?(r(),n(`current`,{state:`active`,phase:`hovering`,isPromptMode:!1,isPendingDismiss:!1})):a.deactivate())},enterPromptMode:(e,r)=>{let{x:i}=K(G(r));n(`copyStart`,e),n(`copyOffsetFromCenterX`,e.x-i),n(`pointer`,e),n(`frozenElement`,r),n(`wasActivatedByToggle`,!0),t.current.state===`active`?n(`current`,H(e=>{e.state===`active`&&(e.isPromptMode=!0,e.phase=`frozen`)})):(n(`current`,{state:`active`,phase:`frozen`,isPromptMode:!0,isPendingDismiss:!1}),n(`activationTimestamp`,Date.now()),n(`previouslyFocusedElement`,document.activeElement))},exitPromptMode:()=>{t.current.state===`active`&&n(`current`,H(e=>{e.state===`active`&&(e.isPromptMode=!1,e.isPendingDismiss=!1)}))},setInputText:e=>{n(`inputText`,e)},clearInputText:()=>{n(`inputText`,``)},setPendingDismiss:e=>{t.current.state===`active`&&n(`current`,H(t=>{t.state===`active`&&(t.isPendingDismiss=e)}))},setPointer:e=>{n(`pointer`,e)},setDetectedElement:e=>{n(`detectedElement`,e)},setFrozenElement:e=>{n(H(t=>{t.frozenElement=e,t.frozenElements=[e],t.frozenDragRect=null}))},setFrozenElements:e=>{n(H(t=>{t.frozenElements=e,t.frozenElement=e.length>0?e[0]:null,t.frozenDragRect=null}))},setFrozenDragRect:e=>{n(`frozenDragRect`,e)},setCopyStart:(e,t)=>{let{x:r}=K(G(t));n(`copyStart`,e),n(`copyOffsetFromCenterX`,e.x-r)},setLastGrabbed:e=>{n(`lastGrabbedElement`,e)},clearLastCopied:()=>{n(`lastCopiedElement`,null)},setWasActivatedByToggle:e=>{n(`wasActivatedByToggle`,e)},setPendingCommentMode:e=>{n(`pendingCommentMode`,e)},setTouchMode:e=>{n(`isTouchMode`,e)},setSelectionSource:(e,t)=>{n(H(n=>{n.selectionFilePath=e,n.selectionLineNumber=t}))},incrementViewportVersion:()=>{n(`viewportVersion`,e=>e+1)},addGrabbedBox:e=>{n(`grabbedBoxes`,t=>[...t,e])},removeGrabbedBox:e=>{n(`grabbedBoxes`,t=>t.filter(t=>t.id!==e))},clearGrabbedBoxes:()=>{n(`grabbedBoxes`,[])},addLabelInstance:e=>{n(`labelInstances`,t=>[...t,e])},updateLabelInstance:(e,r,i)=>{let a=t.labelInstances.findIndex(t=>t.id===e);a!==-1&&n(`labelInstances`,a,H(e=>{e.status=r,i!==void 0&&(e.errorMessage=i)}))},removeLabelInstance:e=>{n(`labelInstances`,t=>t.filter(t=>t.id!==e))},clearLabelInstances:()=>{n(`labelInstances`,[])},showContextMenu:(e,t)=>{let{x:r,y:i}=K(G(t));n(H(n=>{n.contextMenuPosition=e,n.contextMenuElement=t,n.contextMenuClickOffset={x:e.x-r,y:e.y-i}}))},hideContextMenu:()=>{n(H(e=>{e.contextMenuPosition=null,e.contextMenuElement=null,e.contextMenuClickOffset=null}))},updateContextMenuPosition:()=>{let e=t.contextMenuElement,r=t.contextMenuClickOffset;if(!e||!r||!E(e))return;let{x:i,y:a}=K(G(e));n(`contextMenuPosition`,{x:i+r.x,y:a+r.y})}};return{store:t,actions:a}},zt=`data-react-grab`,Bt=e=>{let t=document.querySelector(`[${zt}]`);if(t){let e=t.shadowRoot?.querySelector(`[${zt}]`);if(e instanceof HTMLDivElement&&t.shadowRoot)return e}let r=document.createElement(`div`);r.setAttribute(zt,`true`),_e(r),r.style.zIndex=String(n),r.style.position=`fixed`,r.style.inset=`0`,r.style.pointerEvents=`none`,r.style.contain=`strict`;let i=r.attachShadow({mode:`open`}),a=document.createElement(`style`),o=te();o&&(a.nonce=o),a.textContent=`@import url("https://fonts.googleapis.com/css2?family=Geist:wght@500&display=swap");\n${e??``}`,i.appendChild(a);let s=document.createElement(`div`);s.setAttribute(zt,`true`),i.appendChild(s);let c=document.body??document.documentElement;return c.appendChild(r),setTimeout(()=>{c.appendChild(r)},Te),s},q=()=>{},Vt=()=>({activate:q,deactivate:q,toggle:q,comment:q,isActive:()=>!1,isEnabled:()=>!1,setEnabled:q,getToolbarState:()=>null,setToolbarState:q,onToolbarStateChange:()=>q,dispose:q,copyElement:()=>Promise.resolve(!1),getSource:()=>Promise.resolve(null),getStackContext:()=>Promise.resolve(``),getState:()=>({isActive:!1,isDragging:!1,isCopying:!1,isPromptMode:!1,isSelectionBoxVisible:!1,isDragBoxVisible:!1,targetElement:null,dragBounds:null,grabbedBoxes:[],labelInstances:[],selectionFilePath:null,toolbarState:null}),setOptions:q,registerPlugin:q,unregisterPlugin:q,getPlugins:()=>[],getDisplayName:()=>null}),Ht=()=>{let e=new AbortController;return{signal:e.signal,abort:()=>e.abort(),addWindowListener:(t,n,r={})=>{window.addEventListener(t,n,{...r,signal:e.signal})},addDocumentListener:(t,n,r={})=>{document.addEventListener(t,n,{...r,signal:e.signal})}}},Ut=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`),Wt=(e,t)=>{let n=t?.componentName??`div`,r={version:s,content:e,entries:t?.entries??[{tagName:t?.tagName,componentName:n,content:e,commentText:t?.commentText}],timestamp:Date.now()},i=t=>{t.preventDefault(),t.clipboardData?.setData(`text/plain`,e),t.clipboardData?.setData(`text/html`,`<meta charset='utf-8'><pre><code>${Ut(e)}</code></pre>`),t.clipboardData?.setData(`application/x-react-grab`,JSON.stringify(r))};document.addEventListener(`copy`,i);let a=document.createElement(`textarea`);a.value=e,a.style.position=`fixed`,a.style.left=`-9999px`,a.ariaHidden=`true`,document.body.appendChild(a),a.select();try{return typeof document.execCommand==`function`?document.execCommand(`copy`):!1}finally{document.removeEventListener(`copy`,i),a.remove()}},Gt=async(e,t={})=>(await Promise.allSettled(e.map(e=>Fe(e,t)))).map(e=>e.status===`fulfilled`?e.value:``),Kt=e=>e.length<=1?e[0]??``:e.map((e,t)=>`[${t+1}]\n${e}`).join(`
|
|
5
5
|
|
|
@@ -7,4 +7,4 @@ import{t as e}from"./preload-helper-DSXbuxSR.js";import{$ as t,At as n,Bt as r,C
|
|
|
7
7
|
|
|
8
8
|
`),r=await t.hooks.transformHtmlContent(n,t.elements);return r?Wt(In(r,await e.getStackContext(t.element)),{componentName:t.componentName,tagName:t.tagName}):!1})}})}),Rn=Nn({name:`copy-styles`,contextMenuAction:e=>({id:`copy-styles`,label:`Copy styles`,showInToolbarMenu:!0,onAction:async t=>{await t.performWithFeedback(async()=>Wt(In(t.elements.map(ut).join(`
|
|
9
9
|
|
|
10
|
-
`),await e.getStackContext(t.element)),{componentName:t.componentName,tagName:t.tagName}))}}),cleanup:dt}),zn=e=>`${e}-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,Bn=`react-grab-comment-items`,Vn=`react-grab-history-items`,Hn=`react-grab-clear-confirmed`,Un=()=>{try{let e=sessionStorage.getItem(Vn);e&&!sessionStorage.getItem(Bn)&&sessionStorage.setItem(Bn,e),sessionStorage.removeItem(Vn)}catch{}},Wn=()=>{try{let e=sessionStorage.getItem(Bn);return e?JSON.parse(e).map(e=>({...e,elementsCount:Math.max(1,e.elementsCount??1),previewBounds:e.previewBounds??[],elementSelectors:e.elementSelectors??[]})):[]}catch{return[]}},Gn=e=>{try{return sessionStorage.getItem(e)===`1`}catch{return!1}},Kn=e=>{let t=e;for(;t.length>0;){let e=JSON.stringify(t);if(new Blob([e]).size<=2097152)return t;t=t.slice(0,-1)}return t},qn=e=>{X=Kn(e);try{sessionStorage.setItem(Bn,JSON.stringify(X))}catch{}return X},X=[],Jn=!1;typeof window<`u`&&(Un(),X=Wn(),Jn=Gn(Hn));var Yn=()=>X,Xn=e=>qn([{...e,id:zn(`comment`)},...X].slice(0,20)),Zn=e=>{qn(X.filter(t=>t.id!==e))},Qn=()=>qn([]),$n=()=>Jn,er=()=>{Jn=!0;try{sessionStorage.setItem(Hn,`1`)}catch{}},tr=()=>{let e=document.querySelector(`meta[name="viewport"]`),t=e?.getAttribute(`content`)??null;e||(e=document.createElement(`meta`),e.name=`viewport`,document.head.appendChild(e));let n=t??``;return e.content=/maximum-scale/.test(n)?n.replace(/maximum-scale\s*=\s*[\d.]+/,`maximum-scale=1`):`${n}${n?`, `:``}maximum-scale=1`,()=>{t===null?e.remove():e.content=t}},nr=e=>{let t=e.left+e.width/2,n=e.top+e.height/2,r=n,i=window.innerHeight-n,a=t,o=window.innerWidth-t,s=Math.min(r,i,a,o);return s===r?`top`:s===a?`left`:s===o?`right`:`bottom`},rr=[Pn,Y,Ln,Rn,Fn],ir=!1,ar=new Set,or=n=>{if(typeof window>`u`)return Vt();let s={enabled:!0,activationMode:`toggle`,keyHoldDuration:100,allowActivationInsideInput:!0,maxContextLines:3,...jn(),...n};if(s.enabled===!1||ir)return Vt();ir=!0,On();let{enabled:g,...he}=s;return i(n=>{let i=!1,s,g=xn(he),{store:y,actions:x}=Rt({theme:vn,keyHoldDuration:g.store.options.keyHoldDuration??100}),S=v(()=>y.current.state===`holding`),C=v(()=>y.current.state===`active`),w=v(()=>y.current.state===`active`&&y.current.phase===`frozen`),T=v(()=>y.current.state===`active`&&(y.current.phase===`dragging-select`||y.current.phase===`dragging-reposition`)),Te=v(()=>y.current.state===`active`&&y.current.phase===`dragging-reposition`),De=v(()=>y.current.state===`active`&&y.current.phase===`justDragged`),D=v(()=>y.current.state===`copying`),O=v(()=>y.current.state===`justCopied`),A=v(()=>y.current.state===`active`&&!!y.current.isPromptMode),Ae=v(()=>y.pendingCommentMode||A()),Fe=v(()=>y.current.state===`active`&&!!y.current.isPromptMode&&!!y.current.isPendingDismiss),j=null;k(b(C,(e,t)=>{e&&!t?(ke(y.pointer.x,y.pointer.y),se(),document.body.style.touchAction=`none`,j=tr()):!e&&t&&(me(),l(),document.body.style.touchAction=``,j?.(),j=null)}));let Ie=Ce(),[M,Le]=d(Ie?.enabled??!0),[Re,ze]=d(0),[Be,Ve]=d(0),[He,Ue]=d(Ie),[We,Ge]=d(!1),[Ke,qe]=d(Yn()),[Je,Ye]=d(null),[Xe,Ze]=d(null),[Qe,$e]=d(null),et,tt=null,nt=new Map,[it,at]=d(0),[ot,st]=d(!1),ct=[],lt=e=>{let t=He()??Ce(),n={edge:t?.edge??`bottom`,ratio:t?.ratio??.5,collapsed:t?.collapsed??!1,enabled:t?.enabled??!0,defaultAction:t?.defaultAction??`comment`,...e};o(n),Ue(n);for(let e of ar)e(n)},ut=e=>nt.get(e)??[],dt=e=>{let t=e.elementSelectors??[];if(t.length===0)return[];let n=[];for(let e of t)if(e)try{let t=document.querySelector(e);E(t)&&n.push(t)}catch{}return n},pt=e=>{let t=ut(e.id),n=t.filter(e=>E(e));if(t.length>0&&n.length===t.length)return n;let r=dt(e);return r.length>0?(nt.set(e.id,r),r):n},mt=e=>pt(e)[0],N=v(()=>{Je();let e=new Set;for(let t of Ke())pt(t).length===0&&e.add(t.id);return e},void 0,{equals:(e,t)=>{if(e.size!==t.size)return!1;for(let n of t)if(!e.has(n))return!1;return!0}}),ht=()=>{z.timerId!==null&&(clearTimeout(z.timerId),z.timerId=null)},gt=()=>{z.copyWaiting=!1,z.holdTimerFired=!1,z.startTimestamp=null};k(()=>{if(y.current.state!==`holding`){ht();return}z.startTimestamp=Date.now(),z.timerId=window.setTimeout(()=>{if(z.timerId=null,z.copyWaiting){z.holdTimerFired=!0;return}x.activate()},y.keyHoldDuration),ye(ht)}),k(()=>{if(y.current.state!==`active`||y.current.phase!==`justDragged`)return;let e=setTimeout(()=>{x.finishJustDragged()},f);ye(()=>clearTimeout(e))}),k(()=>{if(y.current.state!==`justCopied`)return;let e=setTimeout(()=>{x.finishJustCopied()},f);ye(()=>clearTimeout(e))}),k(b(S,(e,t=!1)=>{!t||e||!C()||(g.store.options.activationMode!==`hold`&&x.setWasActivatedByToggle(!0),g.hooks.onActivate())}));let P=(e,t,n)=>{_t(e,t,n),x.clearInputText()},F=()=>{let e=y.frozenElement||Y();e&&x.enterPromptMode({x:y.pointer.x,y:y.pointer.y},e)},_t=(e,t,n)=>{x.setCopyStart({x:t,y:n},e)},I={lastDetectionTimestamp:0,pendingDetectionScheduledAt:0,latestPointerX:0,latestPointerY:0},L=null,[vt,yt]=d(null),bt=(e,t)=>{L!==null&&clearTimeout(L),yt(null),L=window.setTimeout(()=>{yt({x:e,y:t}),L=null},32)},R=null,z={timerId:null,startTimestamp:null,copyWaiting:!1,holdTimerFired:!1},B=null,[V,xt]=d(!1),St=0,Ct=!1,H=null,wt=()=>{Ct=!0,H!==null&&window.clearTimeout(H),H=window.setTimeout(()=>{Ct=!1,H=null},f)},Tt=()=>{H!==null&&(window.clearTimeout(H),H=null),Ct=!1},U=null,Et=0,Dt=0,W=null,Ot=null,kt=!1,At=null,[jt,Mt]=d(null),[Nt,Pt]=d(void 0),[Ft,It]=d([]),[Lt,zt]=d(null),[q,Vt]=d([]),[Ut,Gt]=d(0),Jt=Sn(Me,G),Xt=En(()=>y.pointer,()=>T(),e=>{if(Te()){if(x.shiftDragStart(e),B){B={x:B.x+e.x,y:B.y+e.y};return}let{pageX:t,pageY:n}=Hn(y.pointer.x,y.pointer.y);B={x:t,y:n}}}),J=v(()=>C()&&!D()),Zt=new Map,Qt=(e,t)=>{let n=zn(`grabbed`),r={id:n,bounds:e,createdAt:Date.now(),element:t};x.addGrabbedBox(r),g.hooks.onGrabbedBox(e,t);let i=window.setTimeout(()=>{Zt.delete(n),x.removeGrabbedBox(n)},f);Zt.set(n,i)},$t=async e=>{let t=await Promise.all(e.map(async e=>{let t=await ne(e),n=t?.componentName??null,r=t?.filePath,i=t?.lineNumber??void 0,a=t?.columnNumber??void 0;n||=pe(e);let o=e instanceof HTMLElement?e.innerText?.slice(0,100):void 0;return{tagName:_(e),id:e.id||void 0,className:e.getAttribute(`class`)||void 0,textContent:o,componentName:n??void 0,filePath:r,lineNumber:i,columnNumber:a}}));window.dispatchEvent(new CustomEvent(`react-grab:element-selected`,{detail:{elements:t}}))},en=new Map,ln=e=>{let t=en.get(e);t!==void 0&&(window.clearTimeout(t),en.delete(e))},fn=()=>{for(let e of en.values())window.clearTimeout(e);en.clear()},pn=e=>{ln(e);let t=window.setTimeout(()=>{en.delete(e),x.updateLabelInstance(e,`fading`),setTimeout(()=>{en.delete(e),x.removeLabelInstance(e)},150)},f);en.set(e,t)},yn=(e,t)=>{if(t)ln(e);else{let t=y.labelInstances.find(t=>t.id===e);t&&t.status===`copied`&&pn(e)}},bn=(e,t,n,r,i)=>{x.clearLabelInstances(),fn();let a=zn(`label`),o=e.x+e.width/2,s=e.width/2,c=i?.mouseX,l=c===void 0?void 0:c-o,u={id:a,bounds:e,boundsMultiple:i?.boundsMultiple,tagName:t,componentName:n,status:r,createdAt:Date.now(),element:i?.element,elements:i?.elements,mouseX:c,mouseXOffsetFromCenter:l,mouseXOffsetRatio:l!==void 0&&s>0?l/s:void 0,hideArrow:i?.hideArrow};return x.addLabelInstance(u),a},Dn=()=>{fn(),x.clearLabelInstances()},On=(e,t,n)=>{t?x.updateLabelInstance(e,`copied`):x.updateLabelInstance(e,`error`,n||`Unknown error`),pn(e)},kn=async(e,t,n,r)=>{Tt(),y.current.state!==`copying`&&x.startCopy();let i=!1,a;try{await e(),i=!0}catch(e){a=qt(e,`Action failed`)}t&&On(t,i,a),y.current.state===`copying`&&(i&&x.completeCopy(n),r?Q():i?(x.activate(),wt()):x.unfreeze())},An=e=>{let{copiedElements:t,content:n,extraPrompt:r,elementName:i,tagName:a,componentName:o}=e;if(g.hooks.onCopySuccess(t,n),!r)return;let s=t.length>0;if(s){let e=Ke();for(let[n,i]of nt.entries()){if(!(i.length===t.length&&i.every((e,n)=>e===t[n])))continue;let a=e.find(e=>e.id===n);if(a&&a.commentText===r){Zn(n),nt.delete(n);break}}}let c=t.map((e,t)=>rt(e,t===0)),l=Xn({content:n,elementName:i??`element`,tagName:a??`div`,componentName:o??void 0,elementsCount:t.length,previewBounds:t.map(e=>G(e)),elementSelectors:c,commentText:r,timestamp:Date.now()});qe(l),at(e=>e+1);let u=l[0];u&&s&&nt.set(u.id,[...t]);let d=new Set(l.map(e=>e.id));for(let e of nt.keys())d.has(e)||nt.delete(e)},jn=(e,t,n)=>{let r=e[0],i=n??(r?pe(r):null),a=r?_(r):null,o=i??a??void 0;return Yt({maxContextLines:g.store.options.maxContextLines,getContent:g.store.options.getContent,componentName:o},{onBeforeCopy:g.hooks.onBeforeCopy,transformSnippet:g.hooks.transformSnippet,transformCopyContent:g.hooks.transformCopyContent,onAfterCopy:g.hooks.onAfterCopy,onCopySuccess:(e,n)=>{An({copiedElements:e,content:n,extraPrompt:t,elementName:o,tagName:a,componentName:i})},onCopyError:g.hooks.onCopyError},e,t)},Nn=async(e,t,n)=>{if(e.length===0)return;let r=[],i=[];for(let t of e){let{wasIntercepted:e,pendingResult:n}=g.hooks.onElementSelect(t);e||r.push(t),n&&i.push(n),g.store.theme.grabbedBoxes.enabled&&Qt(G(t),t)}if(await Ne(),r.length>0)await jn(r,t,n);else if(i.length>0&&!(await Promise.all(i)).every(Boolean))throw Error(`Failed to copy`);$t(e)},Pn=e=>{let{element:t,cursorX:n,selectedElements:r,extraPrompt:i,shouldDeactivateAfter:a,onComplete:o,dragRect:s}=e,c=r??[t],l=s??y.frozenDragRect,u=c.length>1,d=l&&u?on(l):cn(G(t)),f=u?d.x+d.width/2:n,p=_(t);Tt(),x.startCopy();let m=p?bn(d,p,void 0,`copying`,{element:t,mouseX:f,elements:r}):null;ge(t).then(async e=>{await kn(()=>Nn(c,i,e??void 0),m,t,a),o?.()}).catch(e=>{m&&On(m,!1,qt(e,`Action failed`)),y.current.state===`copying`&&x.unfreeze()})},Y=v(()=>{if(y.viewportVersion,!J()||T())return null;let e=y.detectedElement;return E(e)?e:null}),Fn=v(()=>y.frozenElement||(w()?null:Y()));k(()=>{let e=y.detectedElement;if(!e)return;let t=setInterval(()=>{E(e)||x.setDetectedElement(null)},100);ye(()=>clearInterval(t))}),k(b(Fn,e=>{if(W!==null&&(clearTimeout(W),W=null),!e){Mt(null);return}W=window.setTimeout(()=>{W=null,Mt(e)},100)})),ye(()=>{W!==null&&(clearTimeout(W),W=null)}),k(()=>{let e=y.frozenElements;ye(m(e))}),k(b(C,e=>{e&&g.store.options.freezeReactUpdates&&ye(Se())}));let In=()=>{if(y.isTouchMode&&T()){let e=y.detectedElement;return!e||u(e)?void 0:e}let e=Fn();if(!(!e||u(e)))return e},Ln=v(()=>In()),Rn=()=>Ln()?y.isTouchMode&&T()?J():J()&&!T():!1,Bn=v(()=>{y.viewportVersion;let e=y.frozenElements;if(e.length===0)return[];let t=y.frozenDragRect;return t&&e.length>1?[on(t)]:e.filter(e=>e!==null).map(e=>G(e))}),Vn=v(()=>{y.viewportVersion;let e=y.frozenElements;if(e.length>0){let t=Bn();if(e.length===1){let e=t[0];if(e)return e}let n=y.frozenDragRect;return n?t[0]??on(n):cn(_n(t))}let t=Ln();if(t)return G(t)}),Hn=(e,t)=>({pageX:e+window.scrollX,pageY:t+window.scrollY}),Un=(e,t)=>{let{pageX:n,pageY:r}=Hn(e,t);return{x:Math.abs(n-y.dragStart.x),y:Math.abs(r-y.dragStart.y)}},Wn=v(()=>{if(!T())return!1;let e=Un(y.pointer.x,y.pointer.y);return e.x>2||e.y>2}),Gn=(e,t)=>{let{pageX:n,pageY:r}=Hn(e,t),i=Math.min(y.dragStart.x,n),a=Math.min(y.dragStart.y,r),o=Math.abs(n-y.dragStart.x),s=Math.abs(r-y.dragStart.y);return{x:i-window.scrollX,y:a-window.scrollY,width:o,height:s}},Kn=e=>e.code===`Space`||e.key===` `,qn=()=>{if(!T())return;x.startDragReposition();let{pageX:e,pageY:t}=Hn(y.pointer.x,y.pointer.y);B={x:e,y:t}},X=()=>{x.stopDragReposition(),B=null},Jn=v(()=>{if(y.viewportVersion,!Wn())return;let e=Gn(y.pointer.x,y.pointer.y);return{borderRadius:`0px`,height:e.height,transform:`none`,width:e.width,x:e.x,y:e.y}}),or=v(()=>{if(y.viewportVersion,!Wn())return[];let e=vt();if(!e)return[];let t=Gn(e.x,e.y),n=tn(t,Me);return(n.length>0?n:tn(t,Me,!1)).map(e=>G(e))}),sr=v(()=>{let e=or();return e.length>0?e:Bn()}),cr=v(()=>{if(!V())return[];let e=Fn();return e?(y.viewportVersion,[...nn(e),e].map(e=>G(e))):[]}),lr=v(()=>{if(D()||A()){y.viewportVersion;let e=y.frozenElement||Y();return e?{x:K(G(e)).x+y.copyOffsetFromCenterX,y:y.copyStart.y}:{x:y.copyStart.x,y:y.copyStart.y}}return{x:y.pointer.x,y:y.pointer.y}});k(b(()=>[Y(),y.lastGrabbedElement],([e,t])=>{t&&e&&t!==e&&x.setLastGrabbed(null),e&&g.hooks.onElementHover(e)})),k(b(()=>Y(),e=>{let t=++Et,n=()=>{Et===t&&x.setSelectionSource(null,null)};if(!e){n();return}ne(e).then(e=>{if(Et===t){if(!e){n();return}x.setSelectionSource(e.filePath,e.lineNumber)}}).catch(()=>{Et===t&&x.setSelectionSource(null,null)})}));let ur=v(()=>y.grabbedBoxes.map(e=>({id:e.id,bounds:e.bounds,createdAt:e.createdAt}))),dr=v(()=>y.labelInstances.map(e=>({id:e.id,status:e.status,tagName:e.tagName,componentName:e.componentName,createdAt:e.createdAt})));k(b(v(()=>{let e=C(),t=T(),n=D(),r=A(),i=Y(),a=Jn(),o=g.store.theme.enabled,s=g.store.theme.selectionBox.enabled,c=g.store.theme.dragBox.enabled,l=Wn(),u=Fn(),d=O();return{isActive:e,isDragging:t,isCopying:n,isPromptMode:r,isSelectionBoxVisible:!!(o&&s&&e&&!n&&!d&&!t&&u!=null),isDragBoxVisible:!!(o&&c&&e&&!n&&l),targetElement:i,dragBounds:a?{x:a.x,y:a.y,width:a.width,height:a.height}:null,grabbedBoxes:[...ur()],labelInstances:[...dr()],selectionFilePath:y.selectionFilePath,toolbarState:He()}}),e=>{g.hooks.onStateChange(e)})),k(b(()=>[A(),y.pointer.x,y.pointer.y,Y()],([e,t,n,r])=>{g.hooks.onPromptModeChange(e,{x:t,y:n,targetElement:r})})),k(b(()=>[Ci(),Vn(),Y()],([e,t,n])=>{g.hooks.onSelectionBox(!!e,t??null,n)})),k(b(()=>[Ai(),Jn()],([e,t])=>{g.hooks.onDragBox(!!e,t??null)})),k(b(()=>[Mi(),ji(),lr(),Y(),y.selectionFilePath,y.selectionLineNumber],([e,t,n,r,i,a])=>{g.hooks.onElementLabel(!!e,t,{x:n.x,y:n.y,content:``,element:r??void 0,tagName:r&&_(r)||void 0,filePath:i??void 0,lineNumber:a??void 0})}));let Z=null,fr=e=>{if(e){if(!Z){Z=document.createElement(`style`),Z.setAttribute(`data-react-grab-cursor`,``);let e=te();e&&(Z.nonce=e),_e(Z),document.head.appendChild(Z)}Z.textContent=`* { cursor: ${e} !important; }`}else Z&&=(Z.remove(),null)};k(b(()=>[C(),D(),A()],([e,t,n])=>{fr(t?`progress`:e&&!n?`crosshair`:null)}));let pr=()=>{let e=S();x.activate(),e||g.hooks.onActivate()},Q=()=>{let e=T(),t=y.previouslyFocusedElement;X(),x.deactivate(),xt(!1),Fr(),Ot=null,kt=!1,e&&(document.body.style.userSelect=``),R&&window.clearTimeout(R),Xt.stop(),t instanceof HTMLElement&&E(t)&&t.focus(),g.hooks.onDeactivate()},mr=()=>{S()&&x.releaseHold(),C()&&Q(),Tt()},hr=()=>{x.setWasActivatedByToggle(!0),pr()},gr=()=>{x.clearLastCopied();let e=[...y.frozenElements],t=y.frozenElement||Y(),n=A()?y.inputText.trim():``;if(!t){Q();return}let r=e.length>0?e:[t],i=r.map(e=>G(e))[0],{x:a,y:o}=K(i),s=a+y.copyOffsetFromCenterX;x.setPointer({x:a,y:o}),x.exitPromptMode(),x.clearInputText(),Pn({element:t,cursorX:s,selectedElements:r,extraPrompt:n||void 0,shouldDeactivateAfter:!0})},_r=()=>{if(x.clearLastCopied(),A()){if(Fe()){x.clearInputText(),Q();return}x.setPendingDismiss(!0),Ve(e=>e+1)}},vr=()=>{x.clearInputText(),Q()},yr=()=>{x.setPendingDismiss(!1)},br=()=>{let e=y.frozenElement||Y();e&&P(e,y.pointer.x,y.pointer.y),F()},xr=()=>{if(C())Q();else if(M()){let e=He()?.defaultAction??`comment`;e===`comment`?x.setPendingCommentMode(!0):(At=e,kt=!0),hr()}},Sr=(e,t,n)=>{x.setPendingCommentMode(!1),x.clearInputText(),x.enterPromptMode({x:t,y:n},e)},Cr=(e,t)=>{x.showContextMenu(t,e),Fr(),oa(),g.hooks.onContextMenu(e,t)},wr=(e,t)=>{let n=At;if(At=null,!n)return;let r=g.store.actions.find(e=>e.id===n);if(!r){ca(ue),Cr(e,t);return}let i=G(e),a=Bi({element:e,filePath:y.selectionFilePath??void 0,lineNumber:y.selectionLineNumber??void 0,tagName:_(e)||void 0,componentName:Nt(),position:t,shouldDeferHideContextMenu:!1,performWithFeedbackOptions:{fallbackBounds:i,fallbackSelectionBounds:[i],position:t}});r.onAction(a)},Tr=()=>{if(M()){if(C()&&Ae()){Q();return}x.setPendingCommentMode(!0),C()||hr()}},Er=()=>{let e=!M();Le(e),lt({enabled:e}),e||(mr(),oa())},Dr=(e,n)=>{if(!M()||A()||w()||y.contextMenuPosition!==null)return;x.setPointer({x:e,y:n}),I.latestPointerX=e,I.latestPointerY=n;let r=performance.now(),i=I.pendingDetectionScheduledAt>0&&r-I.pendingDetectionScheduledAt<200;if(r-I.lastDetectionTimestamp>=32&&!i&&(I.lastDetectionTimestamp=r,I.pendingDetectionScheduledAt=r,setTimeout(()=>{let e=t(I.latestPointerX,I.latestPointerY);e!==y.detectedElement&&x.setDetectedElement(e),I.pendingDetectionScheduledAt=0})),T()){if(Te()){let{pageX:t,pageY:r}=Hn(e,n);B&&x.shiftDragStart({x:t-B.x,y:r-B.y}),B={x:t,y:r}}bt(e,n);let t=Tn(e,n),r=t.top||t.bottom||t.left||t.right;r&&!Xt.isActive()?Xt.start():!r&&Xt.isActive()&&Xt.stop()}},Or=(e,t)=>!J()||D()?!1:(x.startDrag({x:e,y:t}),x.setPointer({x:e,y:t}),document.body.style.userSelect=`none`,bt(e,t),g.hooks.onDragStart(e+window.scrollX,t+window.scrollY),!0),kr=(e,t)=>{let n=tn(e,Me),r=n.length>0?n:tn(e,Me,!1);if(r.length===0)return;ve(r),g.hooks.onDragEnd(r,e);let i=r[0],a=K(G(i));x.setPointer(a),x.setFrozenElements(r);let o=sn(e);if(x.setFrozenDragRect(o),x.freeze(),x.setLastGrabbed(i),y.pendingCommentMode){Sr(i,a.x,a.y);return}if(kt){kt=!1,At?wr(i,a):Cr(i,a);return}let s=y.wasActivatedByToggle&&!t;Pn({element:i,cursorX:a.x,selectedElements:r,shouldDeactivateAfter:s,dragRect:o})},Ar=(e,n,r)=>{let i=E(y.frozenElement)?y.frozenElement:null,a=E(Ot)?Ot:null,o=i??a??t(e,n)??(E(y.detectedElement)?y.detectedElement:null);if(!o)return;let s=!i&&a===o,c,l;if(i)c=y.pointer.x,l=y.pointer.y;else if(s){let e=K(G(o));c=e.x,l=e.y}else c=e,l=n;if(Ot=null,y.pendingCommentMode){Sr(o,c,l);return}if(kt){kt=!1;let{wasIntercepted:e}=g.hooks.onElementSelect(o);if(e)return;ve([o]),x.setFrozenElement(o);let t={x:c,y:l};x.setPointer(t),x.freeze(),At?wr(o,t):Cr(o,t);return}let u=y.wasActivatedByToggle&&!r;x.setLastGrabbed(o),Pn({element:o,cursorX:c,shouldDeactivateAfter:u})},jr=()=>{T()&&(X(),x.cancelDrag(),Xt.stop(),document.body.style.userSelect=``)},Mr=(e,t,n)=>{if(!T())return;L!==null&&(clearTimeout(L),L=null),yt(null);let r=Un(e,t),i=r.x>2||r.y>2,a=i?Gn(e,t):null;i?x.endDrag():x.cancelDrag(),X(),Xt.stop(),document.body.style.userSelect=``,a?kr(a,n):Ar(e,t,n)},$=Ht(),Nr=wn(),Pr=e=>{let t;try{t=Nr.originalKeyDescriptor?.get?Nr.originalKeyDescriptor.get.call(e):e.key}catch{return!1}let n=t===`Enter`||Mn(e.code),r=C()||S();return n&&r&&!A()&&!y.wasActivatedByToggle&&Qe()===null?(Nr.claimedEvents.add(e),e.preventDefault(),e.stopImmediatePropagation(),!0):!1};$.addDocumentListener(`keydown`,Pr,{capture:!0}),$.addDocumentListener(`keyup`,Pr,{capture:!0}),$.addDocumentListener(`keypress`,Pr,{capture:!0});let Fr=()=>{Vt([]),Gt(0),Jt.clearHistory()},Ir=e=>{x.setFrozenElement(e),x.freeze(),Ot=e;let t=K(G(e));x.setPointer(t),y.contextMenuPosition!==null&&x.showContextMenu(t,e)},Lr=e=>{let t=rn(G(e)),n=be(t.x,t.y).filter(Me).reverse();Vt(n),Gt(Math.max(0,n.indexOf(e)))},Rr=e=>{let t=q()[e];t&&(Gt(e),Jt.clearHistory(),Ir(t))},zr=e=>{if(!C()||A()||!fe.has(e.key))return!1;let n=Fn(),r=!n;if(n||=t(window.innerWidth/2,window.innerHeight/2),!n)return!1;if(!(e.key===`ArrowUp`||e.key===`ArrowDown`)){Fr();let t=Jt.findNext(e.key,n);return!t&&!r?!1:(e.preventDefault(),e.stopPropagation(),Ir(t??n),!0)}q().length===0&&Lr(n);let i=Jt.findNext(e.key,n)??n;e.preventDefault(),e.stopPropagation(),Ir(i);let a=q().indexOf(i);return a===-1?Lr(i):Gt(a),!0},Br=e=>{if(!Mn(e.code)||de(e))return!1;let t=y.lastCopiedElement;if(!S()&&!A()&&!C()&&t&&E(t)&&!y.labelInstances.some(e=>e.status===`copied`||e.status===`fading`)){e.preventDefault(),e.stopImmediatePropagation();let n=K(G(t));return x.setPointer(n),P(t,n.x,n.y),x.setFrozenElement(t),x.clearLastCopied(),F(),C()||pr(),!0}if(S()&&!A()){e.preventDefault(),e.stopImmediatePropagation();let t=y.frozenElement||Y();return t&&P(t,y.pointer.x,y.pointer.y),x.setPointer({x:y.pointer.x,y:y.pointer.y}),t&&x.setFrozenElement(t),F(),R!==null&&(window.clearTimeout(R),R=null),C()||pr(),!0}return!1},Vr=e=>{if(e.key?.toLowerCase()!==`o`||A()||!C()||!(e.metaKey||e.ctrlKey))return!1;let t=y.selectionFilePath,n=y.selectionLineNumber;return t?(e.preventDefault(),e.stopPropagation(),g.hooks.onOpenFile(t,n??void 0)||Ee(t,n??void 0,g.hooks.transformOpenFileUrl),!0):!1},Hr=()=>{U!==null&&(window.clearTimeout(U),U=null)},Ur=()=>{Hr(),It([]),zt(null)},Wr=v(()=>!!Ln()&&J()&&!A()&&!T()&&y.contextMenuPosition===null),Gr=v(()=>{let{key:e}=hn(g.store.options.activationKey);return(e??`c`).toUpperCase()}),Kr=v(()=>({items:Ft(),activeIndex:Lt(),isVisible:Lt()!==null&&Ft().length>0&&!Ae()})),qr=v(()=>q().map(e=>({tagName:_(e)||`element`,componentName:pe(e)??void 0}))),Jr=v(()=>({items:qr(),activeIndex:Ut(),isVisible:q().length>0})),Yr=v(()=>{if(!V())return[];let e=Fn();return e?[...nn(e).reverse(),e]:[]}),Xr=v(()=>Yr().map(e=>({tagName:_(e)||`element`,componentName:pe(e)??void 0}))),[Zr,Qr]=d(-1);k(b(Yr,e=>{Qr(e.length-1)}));let $r=v(()=>{let e=Yr();return{items:Xr(),activeIndex:Zr(),isVisible:V()&&e.length>0}}),ei=e=>{Qr(e)};k(b(Ln,()=>{Ur()})),k(b(Wr,e=>{e||Ur()}));let ti=e=>g.store.actions.find(t=>t.id===e),ni=()=>{let e=Ln();if(!e)return;let t=Vn();return Bi({element:e,filePath:y.selectionFilePath??void 0,lineNumber:y.selectionLineNumber??void 0,tagName:_(e)||void 0,componentName:Nt(),position:y.pointer,performWithFeedbackOptions:{fallbackBounds:t,fallbackSelectionBounds:t?[t]:[]},shouldDeferHideContextMenu:!1,onBeforePrompt:Ur})},ri=v(()=>{if(!Ln())return[];let e=[];for(let t of g.store.actions)typeof t.enabled==`boolean`&&!t.enabled||t.shortcut&&t.shortcut.toUpperCase()!==Gr()||e.push({id:t.id,label:t.label,shortcut:t.shortcut});return e}),ii=()=>{Hr(),U=window.setTimeout(()=>{U=null;let e=Lt(),t=Ft();if(e===null||t.length===0)return;let n=t[e];if(!n)return;let r=ti(n.id);if(!r){Ur();return}let i=ni();if(!i||!ee(r,i)){Ur();return}Ur(),r.onAction(i)instanceof Promise},600)},ai=()=>{if(!Wr())return!1;let e=ri();if(e.length===0)return!1;It(e);let t=Lt();return zt(t!==null&&t<e.length?(t+1)%e.length:0),ii(),!0},oi=e=>!dn(Gr(),e.code)||e.altKey||e.repeat||de(e)||!ai()?!1:(e.preventDefault(),e.stopPropagation(),(e.metaKey||e.ctrlKey)&&e.stopImmediatePropagation(),!0),si=e=>{if(!(!g.store.options.allowActivationInsideInput&&de(e))&&!(!gn(e,g.store.options)&&((e.metaKey||e.ctrlKey)&&!a.includes(e.key)&&!Mn(e.code)&&(C()&&!y.wasActivatedByToggle?Q():S()&&(ht(),gt(),x.releaseHold())),!Mn(e.code)||!S()))){if((C()||S())&&!A()&&(e.preventDefault(),Mn(e.code)&&e.stopImmediatePropagation()),C()){if(y.wasActivatedByToggle&&g.store.options.activationMode!==`hold`||e.repeat)return;R!==null&&window.clearTimeout(R),R=window.setTimeout(()=>{Q()},200);return}if(S()&&e.repeat){if(z.copyWaiting){let e=z.holdTimerFired;gt(),e&&x.activate()}return}if(!(D()||O())&&!S()){let t=g.store.options.keyHoldDuration??100;de(e)?oe(e)?t+=600:t+=400:le()&&(t+=600),gt(),x.startHold(t)}}};$.addWindowListener(`keydown`,e=>{if(Pr(e),!M()){gn(e,g.store.options)&&!e.repeat&&ze(e=>e+1);return}let t=Mn(e.code)&&S()&&!A(),n=c(e,`data-react-grab-input`);if(A()&&gn(e,g.store.options)&&!e.repeat&&!n){e.preventDefault(),e.stopPropagation(),_r();return}if(e.key===`Escape`&&Qe()!==null)return;if(e.key===`Escape`&&Je()!==null){Xi();return}if(e.key===`Escape`&&Xe()!==null){Zi();return}let r=c(e,`data-react-grab-ignore-events`)&&!t;if(A()||r)return e.key===`Escape`&&(A()?_r():y.wasActivatedByToggle&&Q()),r&&fe.has(e.key)&&zr(e),void 0;if(T()&&Kn(e)){e.repeat||qn(),e.preventDefault(),e.stopPropagation();return}if(e.key===`Shift`&&!e.repeat&&C()&&(xt(!0),w()&&(x.unfreeze(),Fr())),e.key===`Escape`&&(S()||y.wasActivatedByToggle)){Q();return}C()&&!a.includes(e.key)&&e.preventDefault();let i=Date.now()-St<200;!i&&oi(e)||zr(e)||Br(e)||Vr(e)||i||si(e)},{capture:!0}),$.addWindowListener(`keyup`,e=>{if(Pr(e)||(Kn(e)&&Te()&&(X(),e.preventDefault(),e.stopPropagation()),e.key===`Shift`&&xt(!1),c(e,`data-react-grab-ignore-events`)))return;let t=Cn(g.store.options),n=t.metaKey||t.ctrlKey?p()?!e.metaKey:!e.ctrlKey:t.shiftKey&&!e.shiftKey||t.altKey&&!e.altKey,r=g.store.options.activationKey?typeof g.store.options.activationKey==`function`?g.store.options.activationKey(e):mn(g.store.options.activationKey)(e):un(e.key,e.code);if(O()||Ct){(r||n)&&(Tt(),Q());return}if(!S()&&!C()||A())return;let i=!!g.store.options.activationKey,a=g.store.options.activationMode===`hold`,o=T();if(C()){let e=y.contextMenuPosition!==null;if(n){if(y.wasActivatedByToggle&&g.store.options.activationMode!==`hold`||e)return;Q()}else if(a&&r){if(R!==null&&(window.clearTimeout(R),R=null),e||o)return;Q()}else !i&&r&&R!==null&&(window.clearTimeout(R),R=null);return}if(r||n){if(y.wasActivatedByToggle&&g.store.options.activationMode!==`hold`)return;if(S()||z.holdTimerFired&&n){ht();let t=(z.startTimestamp?Date.now()-z.startTimestamp:0)>=200,n=z.holdTimerFired&&t&&(g.store.options.allowActivationInsideInput||!de(e));gt(),n?x.activate():x.releaseHold()}else Q()}},{capture:!0}),$.addDocumentListener(`copy`,()=>{S()&&(z.copyWaiting=!0)}),$.addWindowListener(`keypress`,Pr,{capture:!0}),$.addWindowListener(`pointermove`,e=>{if(!e.isPrimary)return;let t=e.pointerType===`touch`;x.setTouchMode(t),!c(e,`data-react-grab-ignore-events`)&&y.contextMenuPosition===null&&(t&&!S()&&!C()||((t?S():C())&&!A()&&w()&&(x.unfreeze(),Fr()),Dr(e.clientX,e.clientY)))},{passive:!0}),$.addWindowListener(`pointerdown`,e=>{if(e.button===0&&e.isPrimary&&(x.setTouchMode(e.pointerType===`touch`),!c(e,`data-react-grab-ignore-events`)&&y.contextMenuPosition===null&&Xe()===null)){if(A()){let t=Vn();t&&e.clientX>=t.x&&e.clientX<=t.x+t.width&&e.clientY>=t.y&&e.clientY<=t.y+t.height?gr():_r();return}Or(e.clientX,e.clientY)&&(e.pointerId!==void 0&&document.documentElement.setPointerCapture(e.pointerId),e.preventDefault(),e.stopImmediatePropagation())}},{capture:!0}),$.addWindowListener(`pointerup`,e=>{if(e.button!==0||!e.isPrimary||c(e,`data-react-grab-ignore-events`)||y.contextMenuPosition!==null)return;let t=J()||D()||T(),n=e.metaKey||e.ctrlKey;Mr(e.clientX,e.clientY,n),t&&(e.preventDefault(),e.stopImmediatePropagation())},{capture:!0}),$.addWindowListener(`contextmenu`,e=>{if(!J()||D()||A())return;let n=c(e,`data-react-grab-ignore-events`);if(n&&q().length>0)Fr();else if(n)return;if(y.contextMenuPosition!==null){e.preventDefault();return}e.preventDefault(),e.stopPropagation();let r=t(e.clientX,e.clientY);if(!r)return;let i=y.frozenElements;i.length>1&&i.includes(r)?ve(i):(ve([r]),x.setFrozenElement(r));let a={x:e.clientX,y:e.clientY};x.setPointer(a),x.freeze(),Cr(r,a)},{capture:!0}),$.addWindowListener(`pointercancel`,e=>{e.isPrimary&&jr()}),$.addWindowListener(`click`,e=>{c(e,`data-react-grab-ignore-events`)||y.contextMenuPosition===null&&(J()||D()||De())&&(e.preventDefault(),e.stopImmediatePropagation(),y.wasActivatedByToggle&&!D()&&!A()&&(S()?x.setWasActivatedByToggle(!1):Q()))},{capture:!0}),$.addDocumentListener(`visibilitychange`,()=>{if(document.hidden){x.clearGrabbedBoxes();let e=y.activationTimestamp;C()&&!A()&&e!==null&&Date.now()-e>500&&Q()}}),$.addWindowListener(`blur`,()=>{jr(),S()&&(ht(),x.releaseHold(),gt())}),$.addWindowListener(`focus`,()=>{St=Date.now()}),$.addWindowListener(`focusin`,e=>{c(e,`data-react-grab`)&&e.stopPropagation()},{capture:!0});let ci=()=>{if(!(y.isTouchMode&&!S()&&!C())&&M()&&!A()&&!w()&&!T()&&y.contextMenuPosition===null&&y.frozenElements.length===0){let e=t(y.pointer.x,y.pointer.y);x.setDetectedElement(e)}},li=null,ui=null,di=()=>{an(),ci(),x.incrementViewportVersion(),x.updateContextMenuPosition()};$.addWindowListener(`scroll`,di,{capture:!0});let fi=window.innerWidth,pi=window.innerHeight;$.addWindowListener(`resize`,()=>{let e=window.innerWidth,t=window.innerHeight;if(fi>0&&pi>0){let n=e/fi,r=t/pi,i=Math.abs(n-r)<xe,a=Math.abs(n-1)>xe;i&&a&&x.setPointer({x:y.pointer.x*n,y:y.pointer.y*r})}fi=e,pi=t,di()});let mi=window.visualViewport;if(mi){let{signal:e}=$;mi.addEventListener(`resize`,di,{signal:e}),mi.addEventListener(`scroll`,di,{signal:e})}let hi=()=>{ui===null&&(ui=r(()=>{ui=null,x.incrementViewportVersion()}))};k(()=>{if(g.store.theme.enabled&&(C()||D()||y.labelInstances.length>0||y.grabbedBoxes.length>0)){if(li!==null)return;li=window.setInterval(()=>{hi()},100);return}li!==null&&(window.clearInterval(li),li=null),ui!==null&&(re(ui),ui=null)}),ye(()=>{li!==null&&window.clearInterval(li),ui!==null&&re(ui)}),$.addDocumentListener(`copy`,e=>{A()||c(e,`data-react-grab-ignore-events`)||(J()||D())&&e.preventDefault()},{capture:!0}),ye(()=>{$.abort(),L!==null&&window.clearTimeout(L),R&&window.clearTimeout(R),Tt(),U&&window.clearTimeout(U),tt!==null&&re(tt),Zt.forEach(e=>window.clearTimeout(e)),Zt.clear(),fn(),Xt.stop(),document.body.style.userSelect=``,document.body.style.touchAction=``,j?.(),j=null,fr(null),Nr.restore()});let gi=Bt(ft),_i=v(()=>g.store.theme.enabled),vi=v(()=>g.store.theme.selectionBox.enabled),yi=v(()=>g.store.theme.elementLabel.enabled),bi=v(()=>g.store.theme.dragBox.enabled),xi=v(()=>O()||We()&&!w()),Si=v(()=>or().length>0),Ci=v(()=>!_i()||!vi()||xi()?!1:Si()?!0:Rn()),wi=v(()=>{let e=Ln();if(e)return _(e)||void 0});k(b(()=>jt(),e=>{let t=++Dt;if(!e){Pt(void 0);return}ge(e).then(e=>{Dt===t&&Pt(e??void 0)}).catch(()=>{Dt===t&&Pt(void 0)})}));let Ti=v(()=>y.contextMenuPosition!==null||!yi()||xi()?!1:Rn()),Ei=new Map,Di=e=>{let t=e.elements&&e.elements.length>1,n=e.element,r=!t&&n&&document.body.contains(n)?G(n):e.bounds,i=Ei.get(e.id),a=i&&i.bounds.x===r.x&&i.bounds.y===r.y&&i.bounds.width===r.width&&i.bounds.height===r.height;if(i&&i.status===e.status&&i.errorMessage===e.errorMessage&&a)return i;let o=r.x+r.width/2,s=r.width/2,c;c=e.mouseXOffsetRatio!==void 0&&s>0?o+e.mouseXOffsetRatio*s:e.mouseXOffsetFromCenter===void 0?e.mouseX??o:o+e.mouseXOffsetFromCenter;let l={...e,bounds:r,mouseX:c};return Ei.set(e.id,l),l},Oi=v(()=>{if(!_i()||!g.store.theme.grabbedBoxes.enabled)return[];y.viewportVersion;let e=new Set(y.labelInstances.map(e=>e.id));for(let t of Ei.keys())e.has(t)||Ei.delete(t);return y.labelInstances.map(Di)}),ki=v(()=>!_i()||!g.store.theme.grabbedBoxes.enabled?[]:(y.viewportVersion,y.grabbedBoxes.map(e=>!e.element||!document.body.contains(e.element)?e:{...e,bounds:G(e.element)}))),Ai=v(()=>_i()&&bi()&&J()&&Wn()),ji=v(()=>D()?`processing`:`hover`),Mi=v(()=>{if(!_i())return!1;let e=yi(),t=A(),n=D(),r=J(),i=T(),a=!!Fn(),o=We(),s=w();return!e||t||o&&!s?!1:n?!0:r&&!i&&a}),Ni=v(()=>{y.viewportVersion;let e=y.contextMenuElement;return e?G(e):null}),Pi=v(()=>(y.viewportVersion,y.contextMenuPosition)),Fi=v(()=>{let e=y.contextMenuElement;if(!e)return;let t=y.frozenElements.length;return t>1?`${t} elements`:_(e)||void 0}),[Ii]=ie(()=>({element:y.contextMenuElement,frozenCount:y.frozenElements.length}),async({element:e,frozenCount:t})=>{if(e&&!(t>1))return await ge(e)??void 0}),[Li]=ie(()=>y.contextMenuElement,async e=>e?ne(e):null),Ri=(e,t,n,r,i)=>async a=>{let o=i?.fallbackBounds??null,s=i?.fallbackSelectionBounds??[],c=i?.position??y.contextMenuPosition??y.pointer,l=Bn(),u=Ni()??o,d=t.length>1,f=d?cn(_n(l)):u,p=y.wasActivatedByToggle,m;if(m=d?l:u?[u]:s,x.hideContextMenu(),f){let i=d?f.x+f.width/2:c.x,o=bn(f,n||`element`,r,`copying`,{element:e,mouseX:i,elements:d?t:void 0,boundsMultiple:m}),s=!1,l;try{s=await a(),s||(l=`Failed to copy`)}catch(e){l=qt(e,`Action failed`)}On(o,s,l)}else try{await a()}catch{}p?Q():x.unfreeze()},zi=()=>{setTimeout(()=>{x.hideContextMenu()},0)},Bi=e=>{let{element:t,filePath:n,lineNumber:r,tagName:i,componentName:a,position:o,performWithFeedbackOptions:s,shouldDeferHideContextMenu:c,onBeforeCopy:l,onBeforePrompt:u,customEnterPromptMode:d}=e,f=y.frozenElements.length>0?y.frozenElements:[t],p=c?zi:x.hideContextMenu,m={element:t,elements:f,filePath:n,lineNumber:r,componentName:a,tagName:i,enterPromptMode:d??(()=>{Dn(),u?.(),P(t,o.x,o.y),x.setPointer({x:o.x,y:o.y}),x.setFrozenElement(t),F(),C()||pr(),p()}),copy:()=>{l?.(),Pn({element:t,cursorX:o.x,selectedElements:f.length>1?f:void 0,shouldDeactivateAfter:y.wasActivatedByToggle}),p()},hooks:{transformHtmlContent:g.hooks.transformHtmlContent,onOpenFile:g.hooks.onOpenFile,transformOpenFileUrl:g.hooks.transformOpenFileUrl},performWithFeedback:Ri(t,f,i,a,s),hideContextMenu:p,cleanup:()=>{y.wasActivatedByToggle?Q():x.unfreeze()}},ee=g.hooks.transformActionContext(m);return{...m,...ee}},Vi=v(()=>{let e=y.contextMenuElement;if(!e)return;let t=Li(),n=y.contextMenuPosition??y.pointer;return Bi({element:e,filePath:t?.filePath,lineNumber:t?.lineNumber??void 0,tagName:Fi(),componentName:Ii(),position:n,shouldDeferHideContextMenu:!0,onBeforeCopy:()=>{Ot=null},customEnterPromptMode:()=>{Dn(),x.clearInputText(),x.enterPromptMode(n,e),zi()}})}),Hi=()=>{setTimeout(()=>{x.hideContextMenu(),Q()},0)},Ui=()=>{for(let{boxId:e,labelId:t}of ct)x.removeGrabbedBox(e),t&&x.removeLabelInstance(t);ct=[]},Wi=(e,t,n,r)=>{if(t.length!==0)for(let[i,a]of t.entries()){let t=n[i],o=`${r}-${e.id}-${i}`;x.addGrabbedBox({id:o,bounds:a,createdAt:0,element:t});let s=null;i===0&&(s=`${r}-label-${e.id}`,x.addLabelInstance({id:s,bounds:a,tagName:e.tagName,componentName:e.componentName,elementsCount:e.elementsCount,status:`idle`,isPromptMode:!!e.commentText,inputValue:e.commentText??void 0,createdAt:0,element:t,mouseX:a.x+a.width/2})),ct.push({boxId:o,labelId:s})}},Gi=(e,t)=>{let n=pt(e);Wi(e,n.map(e=>G(e)),n,t)},Ki=()=>{tt!==null&&(re(tt),tt=null)},qi=e=>{Ki();let t=()=>{e(),tt=r(t)};t()},Ji=()=>{if(!et)return null;let e=et.getBoundingClientRect(),t=nr(e);return t===`left`||t===`right`?{x:t===`left`?e.right:e.left,y:e.top+e.height/2,edge:t,toolbarWidth:e.width}:{x:e.left+e.width/2,y:t===`top`?e.bottom:e.top,edge:t,toolbarWidth:e.width}},Yi=e=>{qi(()=>{let t=Ji();t&&e(t)})},Xi=()=>{ta(),na(),Ki(),Ui(),Ye(null),st(!1)},Zi=()=>{Ki(),Ze(null)},Qi=()=>{x.hideContextMenu(),Zi(),aa(),qe(Yn()),Yi(Ye)},$i=null,ea=null,ta=()=>{$i!==null&&(clearTimeout($i),$i=null)},na=()=>{ea!==null&&(clearTimeout(ea),ea=null)},ra=()=>{ea=setTimeout(()=>{ea=null,Xi()},200)},ia=()=>{Xi(),Zi(),Yi($e)},aa=()=>{Ki(),$e(null)},oa=()=>{Xi(),Zi(),aa()},sa=()=>{Xe()===null?(x.hideContextMenu(),Xi(),aa(),Yi(Ze)):Zi()},ca=e=>{lt({defaultAction:e})},la=()=>{ta(),na(),Je()===null?(Ui(),Qi()):ot()?(Ui(),st(!1)):Xi()},ua=e=>{Wt(e.content,{tagName:e.tagName,componentName:e.componentName??e.elementName,commentText:e.commentText});let t=mt(e);t&&(Dn(),r(()=>{if(!E(t))return;let n=G(t),r=bn(n,e.tagName,e.componentName,`copied`,{element:t,mouseX:n.x+n.width/2});r&&pn(r)}))},da=e=>{Ui(),A()&&(x.exitPromptMode(),x.clearInputText());let t=mt(e);if(e.commentText&&t){let n=K(G(t));x.enterPromptMode(n,t),x.setInputText(e.commentText)}else ua(e)},fa=()=>{Ui();let e=Ke();if(e.length===0)return;let t=Kt(e.map(e=>e.content)),n=e[0];Wt(t,{componentName:n.componentName??n.tagName,entries:e.map(e=>({tagName:e.tagName,componentName:e.componentName??e.elementName,content:e.content,commentText:e.commentText}))}),$n()?va():ia(),Dn(),r(()=>{h(()=>{for(let t of e){let e=pt(t);for(let n of e){let e=G(n),r=zn(`label`);x.addLabelInstance({id:r,bounds:e,tagName:t.tagName,componentName:t.componentName,status:`copied`,createdAt:Date.now(),element:n,mouseX:e.x+e.width/2}),pn(r)}}})})},pa=e=>{if(Ui(),!e)return;let t=Ke().find(t=>t.id===e);t&&Gi(t,`comment-hover`)},ma=e=>{ta(),Ui(),e?(na(),Je()===null&&Qe()===null&&(_a(),$i=setTimeout(()=>{$i=null,st(!0),Qi()},200))):ot()&&ra()},ha=e=>{e?na():ot()&&ra()},ga=e=>{Ui(),e?(na(),_a()):ot()&&ra()},_a=()=>{for(let e of Ke())Gi(e,`comment-all-hover`)},va=()=>{nt.clear(),qe(Qn()),Xi()},ya=e=>{let t=y.labelInstances.find(t=>t.id===e);if(!t?.element||!E(t.element))return;let n=t.element,r=K(G(n)),i={x:t.mouseX??r.x,y:r.y},a=t.elements&&t.elements.length>0?t.elements.filter(e=>E(e)):[n];setTimeout(()=>{C()||(x.setWasActivatedByToggle(!0),pr()),x.setPointer(i),x.setFrozenElements(a),a.length>1&&t.bounds&&x.setFrozenDragRect(sn(t.bounds)),x.freeze(),x.showContextMenu(i,n)},0)};k(()=>{let e=g.store.theme.hue;e===0?gi.style.filter=``:gi.style.filter=`hue-rotate(${e}deg)`}),g.store.theme.enabled&&e(async()=>{let{ReactGrabRenderer:e}=await import(`./renderer-BHoCfdWO-BFpsm4dw.js`);return{ReactGrabRenderer:e}},__vite__mapDeps([0,1])).then(({ReactGrabRenderer:e})=>{i||(s=Pe(()=>ae(e,{get selectionVisible(){return Ci()},get selectionBounds(){return Vn()},get selectionBoundsMultiple(){return sr()},get selectionShouldSnap(){return y.frozenElements.length>0||or().length>0},get inspectVisible(){return je(()=>!!V())()&&cr().length>0},get inspectBounds(){return cr()},get selectionElementsCount(){return y.frozenElements.length},get selectionFilePath(){return y.selectionFilePath??void 0},get selectionLineNumber(){return y.selectionLineNumber??void 0},get selectionTagName(){return wi()},get selectionComponentName(){return Nt()},get selectionLabelVisible(){return Ti()},selectionLabelStatus:`idle`,get selectionActionCycleState(){return Kr()},get selectionArrowNavigationState(){return Jr()},onArrowNavigationSelect:Rr,get inspectNavigationState(){return $r()},onInspectSelect:ei,get labelInstances(){return Oi()},get dragVisible(){return Ai()},get dragBounds(){return Jn()},get grabbedBoxes(){return ki()},get mouseX(){return je(()=>y.frozenElements.length>1)()?void 0:lr().x},get isFrozen(){return w()||C()||We()},get inputValue(){return y.inputText},get isPromptMode(){return A()},onShowContextMenuInstance:ya,onLabelInstanceHoverChange:yn,get onInputChange(){return x.setInputText},onInputSubmit:()=>void gr(),onToggleExpand:br,get isPendingDismiss(){return Fe()},get selectionLabelShakeCount(){return Be()},onConfirmDismiss:vr,onCancelDismiss:yr,get toolbarVisible(){return g.store.theme.toolbar.enabled},get isActive(){return C()},onToggleActive:xr,get enabled(){return M()},onToggleEnabled:Er,get shakeCount(){return Re()},onToolbarStateChange:e=>{Ue(e),ar.forEach(t=>t(e))},onSubscribeToToolbarStateChanges:e=>(ar.add(e),()=>{ar.delete(e)}),onToolbarSelectHoverChange:Ge,onToolbarRef:e=>{et=e},get contextMenuPosition(){return Pi()},get contextMenuBounds(){return Ni()},get contextMenuTagName(){return Fi()},get contextMenuComponentName(){return Ii()},get contextMenuHasFilePath(){return!!Li()?.filePath},get actions(){return g.store.actions},get actionContext(){return Vi()},onContextMenuDismiss:Hi,onContextMenuHide:zi,get commentItems(){return Ke()},get commentsDisconnectedItemIds(){return N()},get commentItemCount(){return Ke().length},get clockFlashTrigger(){return it()},get commentsDropdownPosition(){return Je()},get isCommentsPinned(){return je(()=>Je()!==null)()&&!ot()},onToggleComments:la,onCopyAll:fa,onCopyAllHover:ga,onCommentsButtonHover:ma,onCommentItemSelect:da,onCommentItemHover:pa,onCommentsCopyAll:fa,onCommentsCopyAllHover:ga,onCommentsClear:va,onCommentsDismiss:Xi,onCommentsDropdownHover:ha,get toolbarMenuPosition(){return Xe()},get toolbarMenuActions(){return g.store.actions.filter(e=>e.showInToolbarMenu===!0)},get defaultActionId(){return He()?.defaultAction??`comment`},onSetDefaultAction:ca,onToggleToolbarMenu:sa,onToolbarMenuDismiss:Zi,get clearPromptPosition(){return Qe()},onClearCommentsConfirm:()=>{er(),aa(),va()},onClearCommentsCancel:aa}),gi))}).catch(e=>{console.warn(`[react-grab] Failed to load renderer:`,e)});let ba={activate:()=>{x.setPendingCommentMode(!1),!C()&&M()&&hr()},deactivate:()=>{(C()||D())&&Q()},toggle:()=>{C()?Q():M()&&hr()},comment:Tr,isActive:()=>C(),isEnabled:()=>M(),setEnabled:e=>{e!==M()&&(Le(e),e||mr())},getToolbarState:()=>Ce(),setToolbarState:e=>{let t=Ce(),n={edge:e.edge??t?.edge??`bottom`,ratio:e.ratio??t?.ratio??.5,collapsed:e.collapsed??t?.collapsed??!1,enabled:e.enabled??t?.enabled??!0,defaultAction:e.defaultAction??t?.defaultAction??`comment`};o(n),Ue(n),e.enabled!==void 0&&e.enabled!==M()&&Le(e.enabled),ar.forEach(e=>e(n))},onToolbarStateChange:e=>(ar.add(e),()=>{ar.delete(e)}),dispose:()=>{i=!0,ir=!1,s?.(),ta(),na(),Ki(),ar.clear(),n()},copyElement:async e=>{let t=Array.isArray(e)?e:[e];return t.length===0?!1:await jn(t)},getSource:async e=>{let t=await ne(e);return t?{filePath:t.filePath,lineNumber:t.lineNumber,componentName:t.componentName}:null},getStackContext:Oe,getState:()=>({isActive:C(),isDragging:T(),isCopying:D(),isPromptMode:A(),isSelectionBoxVisible:!!Ci(),isDragBoxVisible:!!Ai(),targetElement:Y(),dragBounds:Jn()??null,grabbedBoxes:[...ur()],labelInstances:[...dr()],selectionFilePath:y.selectionFilePath,toolbarState:He()}),setOptions:e=>{g.setOptions(e)},registerPlugin:e=>{g.register(e,ba)},unregisterPlugin:e=>{g.unregister(e)},getPlugins:()=>g.getPluginNames(),getDisplayName:pe};for(let e of rr)g.register(e,ba);return setTimeout(()=>{we(!0)},ce),ba})},sr=null,cr=()=>typeof window>`u`?sr:window.__REACT_GRAB__??sr??null,lr=e=>{sr=e,typeof window<`u`&&(e?window.__REACT_GRAB__=e:delete window.__REACT_GRAB__)},ur=[],dr=e=>{for(;ur.length>0;){let t=ur.shift();t&&e.registerPlugin(t)}},Z=e=>{let t=cr();if(t){t.registerPlugin(e);return}ur.push(e)},fr=e=>{let t=cr();if(t){t.unregisterPlugin(e);return}let n=ur.findIndex(t=>t.name===e);n!==-1&&ur.splice(n,1)};typeof window<`u`&&!window.__REACT_GRAB_DISABLED__&&(window.__REACT_GRAB__?sr=window.__REACT_GRAB__:(sr=or(),window.__REACT_GRAB__=sr),dr(sr),window.dispatchEvent(new CustomEvent(`react-grab:init`,{detail:sr})));export{vn as DEFAULT_THEME,Y as commentPlugin,Fe as formatElementInfo,Gt as generateSnippet,cr as getGlobalApi,Ae as getStack,or as init,C as isInstrumentationActive,Fn as openPlugin,Z as registerPlugin,lr as setGlobalApi,fr as unregisterPlugin};
|
|
10
|
+
`),await e.getStackContext(t.element)),{componentName:t.componentName,tagName:t.tagName}))}}),cleanup:dt}),zn=e=>`${e}-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,Bn=`react-grab-comment-items`,Vn=`react-grab-history-items`,Hn=`react-grab-clear-confirmed`,Un=()=>{try{let e=sessionStorage.getItem(Vn);e&&!sessionStorage.getItem(Bn)&&sessionStorage.setItem(Bn,e),sessionStorage.removeItem(Vn)}catch{}},Wn=()=>{try{let e=sessionStorage.getItem(Bn);return e?JSON.parse(e).map(e=>({...e,elementsCount:Math.max(1,e.elementsCount??1),previewBounds:e.previewBounds??[],elementSelectors:e.elementSelectors??[]})):[]}catch{return[]}},Gn=e=>{try{return sessionStorage.getItem(e)===`1`}catch{return!1}},Kn=e=>{let t=e;for(;t.length>0;){let e=JSON.stringify(t);if(new Blob([e]).size<=2097152)return t;t=t.slice(0,-1)}return t},qn=e=>{X=Kn(e);try{sessionStorage.setItem(Bn,JSON.stringify(X))}catch{}return X},X=[],Jn=!1;typeof window<`u`&&(Un(),X=Wn(),Jn=Gn(Hn));var Yn=()=>X,Xn=e=>qn([{...e,id:zn(`comment`)},...X].slice(0,20)),Zn=e=>{qn(X.filter(t=>t.id!==e))},Qn=()=>qn([]),$n=()=>Jn,er=()=>{Jn=!0;try{sessionStorage.setItem(Hn,`1`)}catch{}},tr=()=>{let e=document.querySelector(`meta[name="viewport"]`),t=e?.getAttribute(`content`)??null;e||(e=document.createElement(`meta`),e.name=`viewport`,document.head.appendChild(e));let n=t??``;return e.content=/maximum-scale/.test(n)?n.replace(/maximum-scale\s*=\s*[\d.]+/,`maximum-scale=1`):`${n}${n?`, `:``}maximum-scale=1`,()=>{t===null?e.remove():e.content=t}},nr=e=>{let t=e.left+e.width/2,n=e.top+e.height/2,r=n,i=window.innerHeight-n,a=t,o=window.innerWidth-t,s=Math.min(r,i,a,o);return s===r?`top`:s===a?`left`:s===o?`right`:`bottom`},rr=[Pn,Y,Ln,Rn,Fn],ir=!1,ar=new Set,or=n=>{if(typeof window>`u`)return Vt();let s={enabled:!0,activationMode:`toggle`,keyHoldDuration:100,allowActivationInsideInput:!0,maxContextLines:3,...jn(),...n};if(s.enabled===!1||ir)return Vt();ir=!0,On();let{enabled:g,...he}=s;return i(n=>{let i=!1,s,g=xn(he),{store:y,actions:x}=Rt({theme:vn,keyHoldDuration:g.store.options.keyHoldDuration??100}),S=v(()=>y.current.state===`holding`),C=v(()=>y.current.state===`active`),w=v(()=>y.current.state===`active`&&y.current.phase===`frozen`),T=v(()=>y.current.state===`active`&&(y.current.phase===`dragging-select`||y.current.phase===`dragging-reposition`)),Te=v(()=>y.current.state===`active`&&y.current.phase===`dragging-reposition`),De=v(()=>y.current.state===`active`&&y.current.phase===`justDragged`),D=v(()=>y.current.state===`copying`),O=v(()=>y.current.state===`justCopied`),A=v(()=>y.current.state===`active`&&!!y.current.isPromptMode),Ae=v(()=>y.pendingCommentMode||A()),Fe=v(()=>y.current.state===`active`&&!!y.current.isPromptMode&&!!y.current.isPendingDismiss),j=null;k(b(C,(e,t)=>{e&&!t?(ke(y.pointer.x,y.pointer.y),se(),document.body.style.touchAction=`none`,j=tr()):!e&&t&&(me(),l(),document.body.style.touchAction=``,j?.(),j=null)}));let Ie=Ce(),[M,Le]=d(Ie?.enabled??!0),[Re,ze]=d(0),[Be,Ve]=d(0),[He,Ue]=d(Ie),[We,Ge]=d(!1),[Ke,qe]=d(Yn()),[Je,Ye]=d(null),[Xe,Ze]=d(null),[Qe,$e]=d(null),et,tt=null,nt=new Map,[it,at]=d(0),[ot,st]=d(!1),ct=[],lt=e=>{let t=He()??Ce(),n={edge:t?.edge??`bottom`,ratio:t?.ratio??.5,collapsed:t?.collapsed??!1,enabled:t?.enabled??!0,defaultAction:t?.defaultAction??`comment`,...e};o(n),Ue(n);for(let e of ar)e(n)},ut=e=>nt.get(e)??[],dt=e=>{let t=e.elementSelectors??[];if(t.length===0)return[];let n=[];for(let e of t)if(e)try{let t=document.querySelector(e);E(t)&&n.push(t)}catch{}return n},pt=e=>{let t=ut(e.id),n=t.filter(e=>E(e));if(t.length>0&&n.length===t.length)return n;let r=dt(e);return r.length>0?(nt.set(e.id,r),r):n},mt=e=>pt(e)[0],N=v(()=>{Je();let e=new Set;for(let t of Ke())pt(t).length===0&&e.add(t.id);return e},void 0,{equals:(e,t)=>{if(e.size!==t.size)return!1;for(let n of t)if(!e.has(n))return!1;return!0}}),ht=()=>{z.timerId!==null&&(clearTimeout(z.timerId),z.timerId=null)},gt=()=>{z.copyWaiting=!1,z.holdTimerFired=!1,z.startTimestamp=null};k(()=>{if(y.current.state!==`holding`){ht();return}z.startTimestamp=Date.now(),z.timerId=window.setTimeout(()=>{if(z.timerId=null,z.copyWaiting){z.holdTimerFired=!0;return}x.activate()},y.keyHoldDuration),ye(ht)}),k(()=>{if(y.current.state!==`active`||y.current.phase!==`justDragged`)return;let e=setTimeout(()=>{x.finishJustDragged()},f);ye(()=>clearTimeout(e))}),k(()=>{if(y.current.state!==`justCopied`)return;let e=setTimeout(()=>{x.finishJustCopied()},f);ye(()=>clearTimeout(e))}),k(b(S,(e,t=!1)=>{!t||e||!C()||(g.store.options.activationMode!==`hold`&&x.setWasActivatedByToggle(!0),g.hooks.onActivate())}));let P=(e,t,n)=>{_t(e,t,n),x.clearInputText()},F=()=>{let e=y.frozenElement||Y();e&&x.enterPromptMode({x:y.pointer.x,y:y.pointer.y},e)},_t=(e,t,n)=>{x.setCopyStart({x:t,y:n},e)},I={lastDetectionTimestamp:0,pendingDetectionScheduledAt:0,latestPointerX:0,latestPointerY:0},L=null,[vt,yt]=d(null),bt=(e,t)=>{L!==null&&clearTimeout(L),yt(null),L=window.setTimeout(()=>{yt({x:e,y:t}),L=null},32)},R=null,z={timerId:null,startTimestamp:null,copyWaiting:!1,holdTimerFired:!1},B=null,[V,xt]=d(!1),St=0,Ct=!1,H=null,wt=()=>{Ct=!0,H!==null&&window.clearTimeout(H),H=window.setTimeout(()=>{Ct=!1,H=null},f)},Tt=()=>{H!==null&&(window.clearTimeout(H),H=null),Ct=!1},U=null,Et=0,Dt=0,W=null,Ot=null,kt=!1,At=null,[jt,Mt]=d(null),[Nt,Pt]=d(void 0),[Ft,It]=d([]),[Lt,zt]=d(null),[q,Vt]=d([]),[Ut,Gt]=d(0),Jt=Sn(Me,G),Xt=En(()=>y.pointer,()=>T(),e=>{if(Te()){if(x.shiftDragStart(e),B){B={x:B.x+e.x,y:B.y+e.y};return}let{pageX:t,pageY:n}=Hn(y.pointer.x,y.pointer.y);B={x:t,y:n}}}),J=v(()=>C()&&!D()),Zt=new Map,Qt=(e,t)=>{let n=zn(`grabbed`),r={id:n,bounds:e,createdAt:Date.now(),element:t};x.addGrabbedBox(r),g.hooks.onGrabbedBox(e,t);let i=window.setTimeout(()=>{Zt.delete(n),x.removeGrabbedBox(n)},f);Zt.set(n,i)},$t=async e=>{let t=await Promise.all(e.map(async e=>{let t=await ne(e),n=t?.componentName??null,r=t?.filePath,i=t?.lineNumber??void 0,a=t?.columnNumber??void 0;n||=pe(e);let o=e instanceof HTMLElement?e.innerText?.slice(0,100):void 0;return{tagName:_(e),id:e.id||void 0,className:e.getAttribute(`class`)||void 0,textContent:o,componentName:n??void 0,filePath:r,lineNumber:i,columnNumber:a}}));window.dispatchEvent(new CustomEvent(`react-grab:element-selected`,{detail:{elements:t}}))},en=new Map,ln=e=>{let t=en.get(e);t!==void 0&&(window.clearTimeout(t),en.delete(e))},fn=()=>{for(let e of en.values())window.clearTimeout(e);en.clear()},pn=e=>{ln(e);let t=window.setTimeout(()=>{en.delete(e),x.updateLabelInstance(e,`fading`),setTimeout(()=>{en.delete(e),x.removeLabelInstance(e)},150)},f);en.set(e,t)},yn=(e,t)=>{if(t)ln(e);else{let t=y.labelInstances.find(t=>t.id===e);t&&t.status===`copied`&&pn(e)}},bn=(e,t,n,r,i)=>{x.clearLabelInstances(),fn();let a=zn(`label`),o=e.x+e.width/2,s=e.width/2,c=i?.mouseX,l=c===void 0?void 0:c-o,u={id:a,bounds:e,boundsMultiple:i?.boundsMultiple,tagName:t,componentName:n,status:r,createdAt:Date.now(),element:i?.element,elements:i?.elements,mouseX:c,mouseXOffsetFromCenter:l,mouseXOffsetRatio:l!==void 0&&s>0?l/s:void 0,hideArrow:i?.hideArrow};return x.addLabelInstance(u),a},Dn=()=>{fn(),x.clearLabelInstances()},On=(e,t,n)=>{t?x.updateLabelInstance(e,`copied`):x.updateLabelInstance(e,`error`,n||`Unknown error`),pn(e)},kn=async(e,t,n,r)=>{Tt(),y.current.state!==`copying`&&x.startCopy();let i=!1,a;try{await e(),i=!0}catch(e){a=qt(e,`Action failed`)}t&&On(t,i,a),y.current.state===`copying`&&(i&&x.completeCopy(n),r?Q():i?(x.activate(),wt()):x.unfreeze())},An=e=>{let{copiedElements:t,content:n,extraPrompt:r,elementName:i,tagName:a,componentName:o}=e;if(g.hooks.onCopySuccess(t,n),!r)return;let s=t.length>0;if(s){let e=Ke();for(let[n,i]of nt.entries()){if(!(i.length===t.length&&i.every((e,n)=>e===t[n])))continue;let a=e.find(e=>e.id===n);if(a&&a.commentText===r){Zn(n),nt.delete(n);break}}}let c=t.map((e,t)=>rt(e,t===0)),l=Xn({content:n,elementName:i??`element`,tagName:a??`div`,componentName:o??void 0,elementsCount:t.length,previewBounds:t.map(e=>G(e)),elementSelectors:c,commentText:r,timestamp:Date.now()});qe(l),at(e=>e+1);let u=l[0];u&&s&&nt.set(u.id,[...t]);let d=new Set(l.map(e=>e.id));for(let e of nt.keys())d.has(e)||nt.delete(e)},jn=(e,t,n)=>{let r=e[0],i=n??(r?pe(r):null),a=r?_(r):null,o=i??a??void 0;return Yt({maxContextLines:g.store.options.maxContextLines,getContent:g.store.options.getContent,componentName:o},{onBeforeCopy:g.hooks.onBeforeCopy,transformSnippet:g.hooks.transformSnippet,transformCopyContent:g.hooks.transformCopyContent,onAfterCopy:g.hooks.onAfterCopy,onCopySuccess:(e,n)=>{An({copiedElements:e,content:n,extraPrompt:t,elementName:o,tagName:a,componentName:i})},onCopyError:g.hooks.onCopyError},e,t)},Nn=async(e,t,n)=>{if(e.length===0)return;let r=[],i=[];for(let t of e){let{wasIntercepted:e,pendingResult:n}=g.hooks.onElementSelect(t);e||r.push(t),n&&i.push(n),g.store.theme.grabbedBoxes.enabled&&Qt(G(t),t)}if(await Ne(),r.length>0)await jn(r,t,n);else if(i.length>0&&!(await Promise.all(i)).every(Boolean))throw Error(`Failed to copy`);$t(e)},Pn=e=>{let{element:t,cursorX:n,selectedElements:r,extraPrompt:i,shouldDeactivateAfter:a,onComplete:o,dragRect:s}=e,c=r??[t],l=s??y.frozenDragRect,u=c.length>1,d=l&&u?on(l):cn(G(t)),f=u?d.x+d.width/2:n,p=_(t);Tt(),x.startCopy();let m=p?bn(d,p,void 0,`copying`,{element:t,mouseX:f,elements:r}):null;ge(t).then(async e=>{await kn(()=>Nn(c,i,e??void 0),m,t,a),o?.()}).catch(e=>{m&&On(m,!1,qt(e,`Action failed`)),y.current.state===`copying`&&x.unfreeze()})},Y=v(()=>{if(y.viewportVersion,!J()||T())return null;let e=y.detectedElement;return E(e)?e:null}),Fn=v(()=>y.frozenElement||(w()?null:Y()));k(()=>{let e=y.detectedElement;if(!e)return;let t=setInterval(()=>{E(e)||x.setDetectedElement(null)},100);ye(()=>clearInterval(t))}),k(b(Fn,e=>{if(W!==null&&(clearTimeout(W),W=null),!e){Mt(null);return}W=window.setTimeout(()=>{W=null,Mt(e)},100)})),ye(()=>{W!==null&&(clearTimeout(W),W=null)}),k(()=>{let e=y.frozenElements;ye(m(e))}),k(b(C,e=>{e&&g.store.options.freezeReactUpdates&&ye(Se())}));let In=()=>{if(y.isTouchMode&&T()){let e=y.detectedElement;return!e||u(e)?void 0:e}let e=Fn();if(!(!e||u(e)))return e},Ln=v(()=>In()),Rn=()=>Ln()?y.isTouchMode&&T()?J():J()&&!T():!1,Bn=v(()=>{y.viewportVersion;let e=y.frozenElements;if(e.length===0)return[];let t=y.frozenDragRect;return t&&e.length>1?[on(t)]:e.filter(e=>e!==null).map(e=>G(e))}),Vn=v(()=>{y.viewportVersion;let e=y.frozenElements;if(e.length>0){let t=Bn();if(e.length===1){let e=t[0];if(e)return e}let n=y.frozenDragRect;return n?t[0]??on(n):cn(_n(t))}let t=Ln();if(t)return G(t)}),Hn=(e,t)=>({pageX:e+window.scrollX,pageY:t+window.scrollY}),Un=(e,t)=>{let{pageX:n,pageY:r}=Hn(e,t);return{x:Math.abs(n-y.dragStart.x),y:Math.abs(r-y.dragStart.y)}},Wn=v(()=>{if(!T())return!1;let e=Un(y.pointer.x,y.pointer.y);return e.x>2||e.y>2}),Gn=(e,t)=>{let{pageX:n,pageY:r}=Hn(e,t),i=Math.min(y.dragStart.x,n),a=Math.min(y.dragStart.y,r),o=Math.abs(n-y.dragStart.x),s=Math.abs(r-y.dragStart.y);return{x:i-window.scrollX,y:a-window.scrollY,width:o,height:s}},Kn=e=>e.code===`Space`||e.key===` `,qn=()=>{if(!T())return;x.startDragReposition();let{pageX:e,pageY:t}=Hn(y.pointer.x,y.pointer.y);B={x:e,y:t}},X=()=>{x.stopDragReposition(),B=null},Jn=v(()=>{if(y.viewportVersion,!Wn())return;let e=Gn(y.pointer.x,y.pointer.y);return{borderRadius:`0px`,height:e.height,transform:`none`,width:e.width,x:e.x,y:e.y}}),or=v(()=>{if(y.viewportVersion,!Wn())return[];let e=vt();if(!e)return[];let t=Gn(e.x,e.y),n=tn(t,Me);return(n.length>0?n:tn(t,Me,!1)).map(e=>G(e))}),sr=v(()=>{let e=or();return e.length>0?e:Bn()}),cr=v(()=>{if(!V())return[];let e=Fn();return e?(y.viewportVersion,[...nn(e),e].map(e=>G(e))):[]}),lr=v(()=>{if(D()||A()){y.viewportVersion;let e=y.frozenElement||Y();return e?{x:K(G(e)).x+y.copyOffsetFromCenterX,y:y.copyStart.y}:{x:y.copyStart.x,y:y.copyStart.y}}return{x:y.pointer.x,y:y.pointer.y}});k(b(()=>[Y(),y.lastGrabbedElement],([e,t])=>{t&&e&&t!==e&&x.setLastGrabbed(null),e&&g.hooks.onElementHover(e)})),k(b(()=>Y(),e=>{let t=++Et,n=()=>{Et===t&&x.setSelectionSource(null,null)};if(!e){n();return}ne(e).then(e=>{if(Et===t){if(!e){n();return}x.setSelectionSource(e.filePath,e.lineNumber)}}).catch(()=>{Et===t&&x.setSelectionSource(null,null)})}));let ur=v(()=>y.grabbedBoxes.map(e=>({id:e.id,bounds:e.bounds,createdAt:e.createdAt}))),dr=v(()=>y.labelInstances.map(e=>({id:e.id,status:e.status,tagName:e.tagName,componentName:e.componentName,createdAt:e.createdAt})));k(b(v(()=>{let e=C(),t=T(),n=D(),r=A(),i=Y(),a=Jn(),o=g.store.theme.enabled,s=g.store.theme.selectionBox.enabled,c=g.store.theme.dragBox.enabled,l=Wn(),u=Fn(),d=O();return{isActive:e,isDragging:t,isCopying:n,isPromptMode:r,isSelectionBoxVisible:!!(o&&s&&e&&!n&&!d&&!t&&u!=null),isDragBoxVisible:!!(o&&c&&e&&!n&&l),targetElement:i,dragBounds:a?{x:a.x,y:a.y,width:a.width,height:a.height}:null,grabbedBoxes:[...ur()],labelInstances:[...dr()],selectionFilePath:y.selectionFilePath,toolbarState:He()}}),e=>{g.hooks.onStateChange(e)})),k(b(()=>[A(),y.pointer.x,y.pointer.y,Y()],([e,t,n,r])=>{g.hooks.onPromptModeChange(e,{x:t,y:n,targetElement:r})})),k(b(()=>[Ci(),Vn(),Y()],([e,t,n])=>{g.hooks.onSelectionBox(!!e,t??null,n)})),k(b(()=>[Ai(),Jn()],([e,t])=>{g.hooks.onDragBox(!!e,t??null)})),k(b(()=>[Mi(),ji(),lr(),Y(),y.selectionFilePath,y.selectionLineNumber],([e,t,n,r,i,a])=>{g.hooks.onElementLabel(!!e,t,{x:n.x,y:n.y,content:``,element:r??void 0,tagName:r&&_(r)||void 0,filePath:i??void 0,lineNumber:a??void 0})}));let Z=null,fr=e=>{if(e){if(!Z){Z=document.createElement(`style`),Z.setAttribute(`data-react-grab-cursor`,``);let e=te();e&&(Z.nonce=e),_e(Z),document.head.appendChild(Z)}Z.textContent=`* { cursor: ${e} !important; }`}else Z&&=(Z.remove(),null)};k(b(()=>[C(),D(),A()],([e,t,n])=>{fr(t?`progress`:e&&!n?`crosshair`:null)}));let pr=()=>{let e=S();x.activate(),e||g.hooks.onActivate()},Q=()=>{let e=T(),t=y.previouslyFocusedElement;X(),x.deactivate(),xt(!1),Fr(),Ot=null,kt=!1,e&&(document.body.style.userSelect=``),R&&window.clearTimeout(R),Xt.stop(),t instanceof HTMLElement&&E(t)&&t.focus(),g.hooks.onDeactivate()},mr=()=>{S()&&x.releaseHold(),C()&&Q(),Tt()},hr=()=>{x.setWasActivatedByToggle(!0),pr()},gr=()=>{x.clearLastCopied();let e=[...y.frozenElements],t=y.frozenElement||Y(),n=A()?y.inputText.trim():``;if(!t){Q();return}let r=e.length>0?e:[t],i=r.map(e=>G(e))[0],{x:a,y:o}=K(i),s=a+y.copyOffsetFromCenterX;x.setPointer({x:a,y:o}),x.exitPromptMode(),x.clearInputText(),Pn({element:t,cursorX:s,selectedElements:r,extraPrompt:n||void 0,shouldDeactivateAfter:!0})},_r=()=>{if(x.clearLastCopied(),A()){if(Fe()){x.clearInputText(),Q();return}x.setPendingDismiss(!0),Ve(e=>e+1)}},vr=()=>{x.clearInputText(),Q()},yr=()=>{x.setPendingDismiss(!1)},br=()=>{let e=y.frozenElement||Y();e&&P(e,y.pointer.x,y.pointer.y),F()},xr=()=>{if(C())Q();else if(M()){let e=He()?.defaultAction??`comment`;e===`comment`?x.setPendingCommentMode(!0):(At=e,kt=!0),hr()}},Sr=(e,t,n)=>{x.setPendingCommentMode(!1),x.clearInputText(),x.enterPromptMode({x:t,y:n},e)},Cr=(e,t)=>{x.showContextMenu(t,e),Fr(),oa(),g.hooks.onContextMenu(e,t)},wr=(e,t)=>{let n=At;if(At=null,!n)return;let r=g.store.actions.find(e=>e.id===n);if(!r){ca(ue),Cr(e,t);return}let i=G(e),a=Bi({element:e,filePath:y.selectionFilePath??void 0,lineNumber:y.selectionLineNumber??void 0,tagName:_(e)||void 0,componentName:Nt(),position:t,shouldDeferHideContextMenu:!1,performWithFeedbackOptions:{fallbackBounds:i,fallbackSelectionBounds:[i],position:t}});r.onAction(a)},Tr=()=>{if(M()){if(C()&&Ae()){Q();return}x.setPendingCommentMode(!0),C()||hr()}},Er=()=>{let e=!M();Le(e),lt({enabled:e}),e||(mr(),oa())},Dr=(e,n)=>{if(!M()||A()||w()||y.contextMenuPosition!==null)return;x.setPointer({x:e,y:n}),I.latestPointerX=e,I.latestPointerY=n;let r=performance.now(),i=I.pendingDetectionScheduledAt>0&&r-I.pendingDetectionScheduledAt<200;if(r-I.lastDetectionTimestamp>=32&&!i&&(I.lastDetectionTimestamp=r,I.pendingDetectionScheduledAt=r,setTimeout(()=>{let e=t(I.latestPointerX,I.latestPointerY);e!==y.detectedElement&&x.setDetectedElement(e),I.pendingDetectionScheduledAt=0})),T()){if(Te()){let{pageX:t,pageY:r}=Hn(e,n);B&&x.shiftDragStart({x:t-B.x,y:r-B.y}),B={x:t,y:r}}bt(e,n);let t=Tn(e,n),r=t.top||t.bottom||t.left||t.right;r&&!Xt.isActive()?Xt.start():!r&&Xt.isActive()&&Xt.stop()}},Or=(e,t)=>!J()||D()?!1:(x.startDrag({x:e,y:t}),x.setPointer({x:e,y:t}),document.body.style.userSelect=`none`,bt(e,t),g.hooks.onDragStart(e+window.scrollX,t+window.scrollY),!0),kr=(e,t)=>{let n=tn(e,Me),r=n.length>0?n:tn(e,Me,!1);if(r.length===0)return;ve(r),g.hooks.onDragEnd(r,e);let i=r[0],a=K(G(i));x.setPointer(a),x.setFrozenElements(r);let o=sn(e);if(x.setFrozenDragRect(o),x.freeze(),x.setLastGrabbed(i),y.pendingCommentMode){Sr(i,a.x,a.y);return}if(kt){kt=!1,At?wr(i,a):Cr(i,a);return}let s=y.wasActivatedByToggle&&!t;Pn({element:i,cursorX:a.x,selectedElements:r,shouldDeactivateAfter:s,dragRect:o})},Ar=(e,n,r)=>{let i=E(y.frozenElement)?y.frozenElement:null,a=E(Ot)?Ot:null,o=i??a??t(e,n)??(E(y.detectedElement)?y.detectedElement:null);if(!o)return;let s=!i&&a===o,c,l;if(i)c=y.pointer.x,l=y.pointer.y;else if(s){let e=K(G(o));c=e.x,l=e.y}else c=e,l=n;if(Ot=null,y.pendingCommentMode){Sr(o,c,l);return}if(kt){kt=!1;let{wasIntercepted:e}=g.hooks.onElementSelect(o);if(e)return;ve([o]),x.setFrozenElement(o);let t={x:c,y:l};x.setPointer(t),x.freeze(),At?wr(o,t):Cr(o,t);return}let u=y.wasActivatedByToggle&&!r;x.setLastGrabbed(o),Pn({element:o,cursorX:c,shouldDeactivateAfter:u})},jr=()=>{T()&&(X(),x.cancelDrag(),Xt.stop(),document.body.style.userSelect=``)},Mr=(e,t,n)=>{if(!T())return;L!==null&&(clearTimeout(L),L=null),yt(null);let r=Un(e,t),i=r.x>2||r.y>2,a=i?Gn(e,t):null;i?x.endDrag():x.cancelDrag(),X(),Xt.stop(),document.body.style.userSelect=``,a?kr(a,n):Ar(e,t,n)},$=Ht(),Nr=wn(),Pr=e=>{let t;try{t=Nr.originalKeyDescriptor?.get?Nr.originalKeyDescriptor.get.call(e):e.key}catch{return!1}let n=t===`Enter`||Mn(e.code),r=C()||S();return n&&r&&!A()&&!y.wasActivatedByToggle&&Qe()===null?(Nr.claimedEvents.add(e),e.preventDefault(),e.stopImmediatePropagation(),!0):!1};$.addDocumentListener(`keydown`,Pr,{capture:!0}),$.addDocumentListener(`keyup`,Pr,{capture:!0}),$.addDocumentListener(`keypress`,Pr,{capture:!0});let Fr=()=>{Vt([]),Gt(0),Jt.clearHistory()},Ir=e=>{x.setFrozenElement(e),x.freeze(),Ot=e;let t=K(G(e));x.setPointer(t),y.contextMenuPosition!==null&&x.showContextMenu(t,e)},Lr=e=>{let t=rn(G(e)),n=be(t.x,t.y).filter(Me).reverse();Vt(n),Gt(Math.max(0,n.indexOf(e)))},Rr=e=>{let t=q()[e];t&&(Gt(e),Jt.clearHistory(),Ir(t))},zr=e=>{if(!C()||A()||!fe.has(e.key))return!1;let n=Fn(),r=!n;if(n||=t(window.innerWidth/2,window.innerHeight/2),!n)return!1;if(!(e.key===`ArrowUp`||e.key===`ArrowDown`)){Fr();let t=Jt.findNext(e.key,n);return!t&&!r?!1:(e.preventDefault(),e.stopPropagation(),Ir(t??n),!0)}q().length===0&&Lr(n);let i=Jt.findNext(e.key,n)??n;e.preventDefault(),e.stopPropagation(),Ir(i);let a=q().indexOf(i);return a===-1?Lr(i):Gt(a),!0},Br=e=>{if(!Mn(e.code)||de(e))return!1;let t=y.lastCopiedElement;if(!S()&&!A()&&!C()&&t&&E(t)&&!y.labelInstances.some(e=>e.status===`copied`||e.status===`fading`)){e.preventDefault(),e.stopImmediatePropagation();let n=K(G(t));return x.setPointer(n),P(t,n.x,n.y),x.setFrozenElement(t),x.clearLastCopied(),F(),C()||pr(),!0}if(S()&&!A()){e.preventDefault(),e.stopImmediatePropagation();let t=y.frozenElement||Y();return t&&P(t,y.pointer.x,y.pointer.y),x.setPointer({x:y.pointer.x,y:y.pointer.y}),t&&x.setFrozenElement(t),F(),R!==null&&(window.clearTimeout(R),R=null),C()||pr(),!0}return!1},Vr=e=>{if(e.key?.toLowerCase()!==`o`||A()||!C()||!(e.metaKey||e.ctrlKey))return!1;let t=y.selectionFilePath,n=y.selectionLineNumber;return t?(e.preventDefault(),e.stopPropagation(),g.hooks.onOpenFile(t,n??void 0)||Ee(t,n??void 0,g.hooks.transformOpenFileUrl),!0):!1},Hr=()=>{U!==null&&(window.clearTimeout(U),U=null)},Ur=()=>{Hr(),It([]),zt(null)},Wr=v(()=>!!Ln()&&J()&&!A()&&!T()&&y.contextMenuPosition===null),Gr=v(()=>{let{key:e}=hn(g.store.options.activationKey);return(e??`c`).toUpperCase()}),Kr=v(()=>({items:Ft(),activeIndex:Lt(),isVisible:Lt()!==null&&Ft().length>0&&!Ae()})),qr=v(()=>q().map(e=>({tagName:_(e)||`element`,componentName:pe(e)??void 0}))),Jr=v(()=>({items:qr(),activeIndex:Ut(),isVisible:q().length>0})),Yr=v(()=>{if(!V())return[];let e=Fn();return e?[...nn(e).reverse(),e]:[]}),Xr=v(()=>Yr().map(e=>({tagName:_(e)||`element`,componentName:pe(e)??void 0}))),[Zr,Qr]=d(-1);k(b(Yr,e=>{Qr(e.length-1)}));let $r=v(()=>{let e=Yr();return{items:Xr(),activeIndex:Zr(),isVisible:V()&&e.length>0}}),ei=e=>{Qr(e)};k(b(Ln,()=>{Ur()})),k(b(Wr,e=>{e||Ur()}));let ti=e=>g.store.actions.find(t=>t.id===e),ni=()=>{let e=Ln();if(!e)return;let t=Vn();return Bi({element:e,filePath:y.selectionFilePath??void 0,lineNumber:y.selectionLineNumber??void 0,tagName:_(e)||void 0,componentName:Nt(),position:y.pointer,performWithFeedbackOptions:{fallbackBounds:t,fallbackSelectionBounds:t?[t]:[]},shouldDeferHideContextMenu:!1,onBeforePrompt:Ur})},ri=v(()=>{if(!Ln())return[];let e=[];for(let t of g.store.actions)typeof t.enabled==`boolean`&&!t.enabled||t.shortcut&&t.shortcut.toUpperCase()!==Gr()||e.push({id:t.id,label:t.label,shortcut:t.shortcut});return e}),ii=()=>{Hr(),U=window.setTimeout(()=>{U=null;let e=Lt(),t=Ft();if(e===null||t.length===0)return;let n=t[e];if(!n)return;let r=ti(n.id);if(!r){Ur();return}let i=ni();if(!i||!ee(r,i)){Ur();return}Ur(),r.onAction(i)instanceof Promise},600)},ai=()=>{if(!Wr())return!1;let e=ri();if(e.length===0)return!1;It(e);let t=Lt();return zt(t!==null&&t<e.length?(t+1)%e.length:0),ii(),!0},oi=e=>!dn(Gr(),e.code)||e.altKey||e.repeat||de(e)||!ai()?!1:(e.preventDefault(),e.stopPropagation(),(e.metaKey||e.ctrlKey)&&e.stopImmediatePropagation(),!0),si=e=>{if(!(!g.store.options.allowActivationInsideInput&&de(e))&&!(!gn(e,g.store.options)&&((e.metaKey||e.ctrlKey)&&!a.includes(e.key)&&!Mn(e.code)&&(C()&&!y.wasActivatedByToggle?Q():S()&&(ht(),gt(),x.releaseHold())),!Mn(e.code)||!S()))){if((C()||S())&&!A()&&(e.preventDefault(),Mn(e.code)&&e.stopImmediatePropagation()),C()){if(y.wasActivatedByToggle&&g.store.options.activationMode!==`hold`||e.repeat)return;R!==null&&window.clearTimeout(R),R=window.setTimeout(()=>{Q()},200);return}if(S()&&e.repeat){if(z.copyWaiting){let e=z.holdTimerFired;gt(),e&&x.activate()}return}if(!(D()||O())&&!S()){let t=g.store.options.keyHoldDuration??100;de(e)?oe(e)?t+=600:t+=400:le()&&(t+=600),gt(),x.startHold(t)}}};$.addWindowListener(`keydown`,e=>{if(Pr(e),!M()){gn(e,g.store.options)&&!e.repeat&&ze(e=>e+1);return}let t=Mn(e.code)&&S()&&!A(),n=c(e,`data-react-grab-input`);if(A()&&gn(e,g.store.options)&&!e.repeat&&!n){e.preventDefault(),e.stopPropagation(),_r();return}if(e.key===`Escape`&&Qe()!==null)return;if(e.key===`Escape`&&Je()!==null){Xi();return}if(e.key===`Escape`&&Xe()!==null){Zi();return}let r=c(e,`data-react-grab-ignore-events`)&&!t;if(A()||r)return e.key===`Escape`&&(A()?_r():y.wasActivatedByToggle&&Q()),r&&fe.has(e.key)&&zr(e),void 0;if(T()&&Kn(e)){e.repeat||qn(),e.preventDefault(),e.stopPropagation();return}if(e.key===`Shift`&&!e.repeat&&C()&&(xt(!0),w()&&(x.unfreeze(),Fr())),e.key===`Escape`&&(S()||y.wasActivatedByToggle)){Q();return}C()&&!a.includes(e.key)&&e.preventDefault();let i=Date.now()-St<200;!i&&oi(e)||zr(e)||Br(e)||Vr(e)||i||si(e)},{capture:!0}),$.addWindowListener(`keyup`,e=>{if(Pr(e)||(Kn(e)&&Te()&&(X(),e.preventDefault(),e.stopPropagation()),e.key===`Shift`&&xt(!1),c(e,`data-react-grab-ignore-events`)))return;let t=Cn(g.store.options),n=t.metaKey||t.ctrlKey?p()?!e.metaKey:!e.ctrlKey:t.shiftKey&&!e.shiftKey||t.altKey&&!e.altKey,r=g.store.options.activationKey?typeof g.store.options.activationKey==`function`?g.store.options.activationKey(e):mn(g.store.options.activationKey)(e):un(e.key,e.code);if(O()||Ct){(r||n)&&(Tt(),Q());return}if(!S()&&!C()||A())return;let i=!!g.store.options.activationKey,a=g.store.options.activationMode===`hold`,o=T();if(C()){let e=y.contextMenuPosition!==null;if(n){if(y.wasActivatedByToggle&&g.store.options.activationMode!==`hold`||e)return;Q()}else if(a&&r){if(R!==null&&(window.clearTimeout(R),R=null),e||o)return;Q()}else !i&&r&&R!==null&&(window.clearTimeout(R),R=null);return}if(r||n){if(y.wasActivatedByToggle&&g.store.options.activationMode!==`hold`)return;if(S()||z.holdTimerFired&&n){ht();let t=(z.startTimestamp?Date.now()-z.startTimestamp:0)>=200,n=z.holdTimerFired&&t&&(g.store.options.allowActivationInsideInput||!de(e));gt(),n?x.activate():x.releaseHold()}else Q()}},{capture:!0}),$.addDocumentListener(`copy`,()=>{S()&&(z.copyWaiting=!0)}),$.addWindowListener(`keypress`,Pr,{capture:!0}),$.addWindowListener(`pointermove`,e=>{if(!e.isPrimary)return;let t=e.pointerType===`touch`;x.setTouchMode(t),!c(e,`data-react-grab-ignore-events`)&&y.contextMenuPosition===null&&(t&&!S()&&!C()||((t?S():C())&&!A()&&w()&&(x.unfreeze(),Fr()),Dr(e.clientX,e.clientY)))},{passive:!0}),$.addWindowListener(`pointerdown`,e=>{if(e.button===0&&e.isPrimary&&(x.setTouchMode(e.pointerType===`touch`),!c(e,`data-react-grab-ignore-events`)&&y.contextMenuPosition===null&&Xe()===null)){if(A()){let t=Vn();t&&e.clientX>=t.x&&e.clientX<=t.x+t.width&&e.clientY>=t.y&&e.clientY<=t.y+t.height?gr():_r();return}Or(e.clientX,e.clientY)&&(e.pointerId!==void 0&&document.documentElement.setPointerCapture(e.pointerId),e.preventDefault(),e.stopImmediatePropagation())}},{capture:!0}),$.addWindowListener(`pointerup`,e=>{if(e.button!==0||!e.isPrimary||c(e,`data-react-grab-ignore-events`)||y.contextMenuPosition!==null)return;let t=J()||D()||T(),n=e.metaKey||e.ctrlKey;Mr(e.clientX,e.clientY,n),t&&(e.preventDefault(),e.stopImmediatePropagation())},{capture:!0}),$.addWindowListener(`contextmenu`,e=>{if(!J()||D()||A())return;let n=c(e,`data-react-grab-ignore-events`);if(n&&q().length>0)Fr();else if(n)return;if(y.contextMenuPosition!==null){e.preventDefault();return}e.preventDefault(),e.stopPropagation();let r=t(e.clientX,e.clientY);if(!r)return;let i=y.frozenElements;i.length>1&&i.includes(r)?ve(i):(ve([r]),x.setFrozenElement(r));let a={x:e.clientX,y:e.clientY};x.setPointer(a),x.freeze(),Cr(r,a)},{capture:!0}),$.addWindowListener(`pointercancel`,e=>{e.isPrimary&&jr()}),$.addWindowListener(`click`,e=>{c(e,`data-react-grab-ignore-events`)||y.contextMenuPosition===null&&(J()||D()||De())&&(e.preventDefault(),e.stopImmediatePropagation(),y.wasActivatedByToggle&&!D()&&!A()&&(S()?x.setWasActivatedByToggle(!1):Q()))},{capture:!0}),$.addDocumentListener(`visibilitychange`,()=>{if(document.hidden){x.clearGrabbedBoxes();let e=y.activationTimestamp;C()&&!A()&&e!==null&&Date.now()-e>500&&Q()}}),$.addWindowListener(`blur`,()=>{jr(),S()&&(ht(),x.releaseHold(),gt())}),$.addWindowListener(`focus`,()=>{St=Date.now()}),$.addWindowListener(`focusin`,e=>{c(e,`data-react-grab`)&&e.stopPropagation()},{capture:!0});let ci=()=>{if(!(y.isTouchMode&&!S()&&!C())&&M()&&!A()&&!w()&&!T()&&y.contextMenuPosition===null&&y.frozenElements.length===0){let e=t(y.pointer.x,y.pointer.y);x.setDetectedElement(e)}},li=null,ui=null,di=()=>{an(),ci(),x.incrementViewportVersion(),x.updateContextMenuPosition()};$.addWindowListener(`scroll`,di,{capture:!0});let fi=window.innerWidth,pi=window.innerHeight;$.addWindowListener(`resize`,()=>{let e=window.innerWidth,t=window.innerHeight;if(fi>0&&pi>0){let n=e/fi,r=t/pi,i=Math.abs(n-r)<xe,a=Math.abs(n-1)>xe;i&&a&&x.setPointer({x:y.pointer.x*n,y:y.pointer.y*r})}fi=e,pi=t,di()});let mi=window.visualViewport;if(mi){let{signal:e}=$;mi.addEventListener(`resize`,di,{signal:e}),mi.addEventListener(`scroll`,di,{signal:e})}let hi=()=>{ui===null&&(ui=r(()=>{ui=null,x.incrementViewportVersion()}))};k(()=>{if(g.store.theme.enabled&&(C()||D()||y.labelInstances.length>0||y.grabbedBoxes.length>0)){if(li!==null)return;li=window.setInterval(()=>{hi()},100);return}li!==null&&(window.clearInterval(li),li=null),ui!==null&&(re(ui),ui=null)}),ye(()=>{li!==null&&window.clearInterval(li),ui!==null&&re(ui)}),$.addDocumentListener(`copy`,e=>{A()||c(e,`data-react-grab-ignore-events`)||(J()||D())&&e.preventDefault()},{capture:!0}),ye(()=>{$.abort(),L!==null&&window.clearTimeout(L),R&&window.clearTimeout(R),Tt(),U&&window.clearTimeout(U),tt!==null&&re(tt),Zt.forEach(e=>window.clearTimeout(e)),Zt.clear(),fn(),Xt.stop(),document.body.style.userSelect=``,document.body.style.touchAction=``,j?.(),j=null,fr(null),Nr.restore()});let gi=Bt(ft),_i=v(()=>g.store.theme.enabled),vi=v(()=>g.store.theme.selectionBox.enabled),yi=v(()=>g.store.theme.elementLabel.enabled),bi=v(()=>g.store.theme.dragBox.enabled),xi=v(()=>O()||We()&&!w()),Si=v(()=>or().length>0),Ci=v(()=>!_i()||!vi()||xi()?!1:Si()?!0:Rn()),wi=v(()=>{let e=Ln();if(e)return _(e)||void 0});k(b(()=>jt(),e=>{let t=++Dt;if(!e){Pt(void 0);return}ge(e).then(e=>{Dt===t&&Pt(e??void 0)}).catch(()=>{Dt===t&&Pt(void 0)})}));let Ti=v(()=>y.contextMenuPosition!==null||!yi()||xi()?!1:Rn()),Ei=new Map,Di=e=>{let t=e.elements&&e.elements.length>1,n=e.element,r=!t&&n&&document.body.contains(n)?G(n):e.bounds,i=Ei.get(e.id),a=i&&i.bounds.x===r.x&&i.bounds.y===r.y&&i.bounds.width===r.width&&i.bounds.height===r.height;if(i&&i.status===e.status&&i.errorMessage===e.errorMessage&&a)return i;let o=r.x+r.width/2,s=r.width/2,c;c=e.mouseXOffsetRatio!==void 0&&s>0?o+e.mouseXOffsetRatio*s:e.mouseXOffsetFromCenter===void 0?e.mouseX??o:o+e.mouseXOffsetFromCenter;let l={...e,bounds:r,mouseX:c};return Ei.set(e.id,l),l},Oi=v(()=>{if(!_i()||!g.store.theme.grabbedBoxes.enabled)return[];y.viewportVersion;let e=new Set(y.labelInstances.map(e=>e.id));for(let t of Ei.keys())e.has(t)||Ei.delete(t);return y.labelInstances.map(Di)}),ki=v(()=>!_i()||!g.store.theme.grabbedBoxes.enabled?[]:(y.viewportVersion,y.grabbedBoxes.map(e=>!e.element||!document.body.contains(e.element)?e:{...e,bounds:G(e.element)}))),Ai=v(()=>_i()&&bi()&&J()&&Wn()),ji=v(()=>D()?`processing`:`hover`),Mi=v(()=>{if(!_i())return!1;let e=yi(),t=A(),n=D(),r=J(),i=T(),a=!!Fn(),o=We(),s=w();return!e||t||o&&!s?!1:n?!0:r&&!i&&a}),Ni=v(()=>{y.viewportVersion;let e=y.contextMenuElement;return e?G(e):null}),Pi=v(()=>(y.viewportVersion,y.contextMenuPosition)),Fi=v(()=>{let e=y.contextMenuElement;if(!e)return;let t=y.frozenElements.length;return t>1?`${t} elements`:_(e)||void 0}),[Ii]=ie(()=>({element:y.contextMenuElement,frozenCount:y.frozenElements.length}),async({element:e,frozenCount:t})=>{if(e&&!(t>1))return await ge(e)??void 0}),[Li]=ie(()=>y.contextMenuElement,async e=>e?ne(e):null),Ri=(e,t,n,r,i)=>async a=>{let o=i?.fallbackBounds??null,s=i?.fallbackSelectionBounds??[],c=i?.position??y.contextMenuPosition??y.pointer,l=Bn(),u=Ni()??o,d=t.length>1,f=d?cn(_n(l)):u,p=y.wasActivatedByToggle,m;if(m=d?l:u?[u]:s,x.hideContextMenu(),f){let i=d?f.x+f.width/2:c.x,o=bn(f,n||`element`,r,`copying`,{element:e,mouseX:i,elements:d?t:void 0,boundsMultiple:m}),s=!1,l;try{s=await a(),s||(l=`Failed to copy`)}catch(e){l=qt(e,`Action failed`)}On(o,s,l)}else try{await a()}catch{}p?Q():x.unfreeze()},zi=()=>{setTimeout(()=>{x.hideContextMenu()},0)},Bi=e=>{let{element:t,filePath:n,lineNumber:r,tagName:i,componentName:a,position:o,performWithFeedbackOptions:s,shouldDeferHideContextMenu:c,onBeforeCopy:l,onBeforePrompt:u,customEnterPromptMode:d}=e,f=y.frozenElements.length>0?y.frozenElements:[t],p=c?zi:x.hideContextMenu,m={element:t,elements:f,filePath:n,lineNumber:r,componentName:a,tagName:i,enterPromptMode:d??(()=>{Dn(),u?.(),P(t,o.x,o.y),x.setPointer({x:o.x,y:o.y}),x.setFrozenElement(t),F(),C()||pr(),p()}),copy:()=>{l?.(),Pn({element:t,cursorX:o.x,selectedElements:f.length>1?f:void 0,shouldDeactivateAfter:y.wasActivatedByToggle}),p()},hooks:{transformHtmlContent:g.hooks.transformHtmlContent,onOpenFile:g.hooks.onOpenFile,transformOpenFileUrl:g.hooks.transformOpenFileUrl},performWithFeedback:Ri(t,f,i,a,s),hideContextMenu:p,cleanup:()=>{y.wasActivatedByToggle?Q():x.unfreeze()}},ee=g.hooks.transformActionContext(m);return{...m,...ee}},Vi=v(()=>{let e=y.contextMenuElement;if(!e)return;let t=Li(),n=y.contextMenuPosition??y.pointer;return Bi({element:e,filePath:t?.filePath,lineNumber:t?.lineNumber??void 0,tagName:Fi(),componentName:Ii(),position:n,shouldDeferHideContextMenu:!0,onBeforeCopy:()=>{Ot=null},customEnterPromptMode:()=>{Dn(),x.clearInputText(),x.enterPromptMode(n,e),zi()}})}),Hi=()=>{setTimeout(()=>{x.hideContextMenu(),Q()},0)},Ui=()=>{for(let{boxId:e,labelId:t}of ct)x.removeGrabbedBox(e),t&&x.removeLabelInstance(t);ct=[]},Wi=(e,t,n,r)=>{if(t.length!==0)for(let[i,a]of t.entries()){let t=n[i],o=`${r}-${e.id}-${i}`;x.addGrabbedBox({id:o,bounds:a,createdAt:0,element:t});let s=null;i===0&&(s=`${r}-label-${e.id}`,x.addLabelInstance({id:s,bounds:a,tagName:e.tagName,componentName:e.componentName,elementsCount:e.elementsCount,status:`idle`,isPromptMode:!!e.commentText,inputValue:e.commentText??void 0,createdAt:0,element:t,mouseX:a.x+a.width/2})),ct.push({boxId:o,labelId:s})}},Gi=(e,t)=>{let n=pt(e);Wi(e,n.map(e=>G(e)),n,t)},Ki=()=>{tt!==null&&(re(tt),tt=null)},qi=e=>{Ki();let t=()=>{e(),tt=r(t)};t()},Ji=()=>{if(!et)return null;let e=et.getBoundingClientRect(),t=nr(e);return t===`left`||t===`right`?{x:t===`left`?e.right:e.left,y:e.top+e.height/2,edge:t,toolbarWidth:e.width}:{x:e.left+e.width/2,y:t===`top`?e.bottom:e.top,edge:t,toolbarWidth:e.width}},Yi=e=>{qi(()=>{let t=Ji();t&&e(t)})},Xi=()=>{ta(),na(),Ki(),Ui(),Ye(null),st(!1)},Zi=()=>{Ki(),Ze(null)},Qi=()=>{x.hideContextMenu(),Zi(),aa(),qe(Yn()),Yi(Ye)},$i=null,ea=null,ta=()=>{$i!==null&&(clearTimeout($i),$i=null)},na=()=>{ea!==null&&(clearTimeout(ea),ea=null)},ra=()=>{ea=setTimeout(()=>{ea=null,Xi()},200)},ia=()=>{Xi(),Zi(),Yi($e)},aa=()=>{Ki(),$e(null)},oa=()=>{Xi(),Zi(),aa()},sa=()=>{Xe()===null?(x.hideContextMenu(),Xi(),aa(),Yi(Ze)):Zi()},ca=e=>{lt({defaultAction:e})},la=()=>{ta(),na(),Je()===null?(Ui(),Qi()):ot()?(Ui(),st(!1)):Xi()},ua=e=>{Wt(e.content,{tagName:e.tagName,componentName:e.componentName??e.elementName,commentText:e.commentText});let t=mt(e);t&&(Dn(),r(()=>{if(!E(t))return;let n=G(t),r=bn(n,e.tagName,e.componentName,`copied`,{element:t,mouseX:n.x+n.width/2});r&&pn(r)}))},da=e=>{Ui(),A()&&(x.exitPromptMode(),x.clearInputText());let t=mt(e);if(e.commentText&&t){let n=K(G(t));x.enterPromptMode(n,t),x.setInputText(e.commentText)}else ua(e)},fa=()=>{Ui();let e=Ke();if(e.length===0)return;let t=Kt(e.map(e=>e.content)),n=e[0];Wt(t,{componentName:n.componentName??n.tagName,entries:e.map(e=>({tagName:e.tagName,componentName:e.componentName??e.elementName,content:e.content,commentText:e.commentText}))}),$n()?va():ia(),Dn(),r(()=>{h(()=>{for(let t of e){let e=pt(t);for(let n of e){let e=G(n),r=zn(`label`);x.addLabelInstance({id:r,bounds:e,tagName:t.tagName,componentName:t.componentName,status:`copied`,createdAt:Date.now(),element:n,mouseX:e.x+e.width/2}),pn(r)}}})})},pa=e=>{if(Ui(),!e)return;let t=Ke().find(t=>t.id===e);t&&Gi(t,`comment-hover`)},ma=e=>{ta(),Ui(),e?(na(),Je()===null&&Qe()===null&&(_a(),$i=setTimeout(()=>{$i=null,st(!0),Qi()},200))):ot()&&ra()},ha=e=>{e?na():ot()&&ra()},ga=e=>{Ui(),e?(na(),_a()):ot()&&ra()},_a=()=>{for(let e of Ke())Gi(e,`comment-all-hover`)},va=()=>{nt.clear(),qe(Qn()),Xi()},ya=e=>{let t=y.labelInstances.find(t=>t.id===e);if(!t?.element||!E(t.element))return;let n=t.element,r=K(G(n)),i={x:t.mouseX??r.x,y:r.y},a=t.elements&&t.elements.length>0?t.elements.filter(e=>E(e)):[n];setTimeout(()=>{C()||(x.setWasActivatedByToggle(!0),pr()),x.setPointer(i),x.setFrozenElements(a),a.length>1&&t.bounds&&x.setFrozenDragRect(sn(t.bounds)),x.freeze(),x.showContextMenu(i,n)},0)};k(()=>{let e=g.store.theme.hue;e===0?gi.style.filter=``:gi.style.filter=`hue-rotate(${e}deg)`}),g.store.theme.enabled&&e(async()=>{let{ReactGrabRenderer:e}=await import(`./renderer-BHoCfdWO-COcEnbx-.js`);return{ReactGrabRenderer:e}},__vite__mapDeps([0,1])).then(({ReactGrabRenderer:e})=>{i||(s=Pe(()=>ae(e,{get selectionVisible(){return Ci()},get selectionBounds(){return Vn()},get selectionBoundsMultiple(){return sr()},get selectionShouldSnap(){return y.frozenElements.length>0||or().length>0},get inspectVisible(){return je(()=>!!V())()&&cr().length>0},get inspectBounds(){return cr()},get selectionElementsCount(){return y.frozenElements.length},get selectionFilePath(){return y.selectionFilePath??void 0},get selectionLineNumber(){return y.selectionLineNumber??void 0},get selectionTagName(){return wi()},get selectionComponentName(){return Nt()},get selectionLabelVisible(){return Ti()},selectionLabelStatus:`idle`,get selectionActionCycleState(){return Kr()},get selectionArrowNavigationState(){return Jr()},onArrowNavigationSelect:Rr,get inspectNavigationState(){return $r()},onInspectSelect:ei,get labelInstances(){return Oi()},get dragVisible(){return Ai()},get dragBounds(){return Jn()},get grabbedBoxes(){return ki()},get mouseX(){return je(()=>y.frozenElements.length>1)()?void 0:lr().x},get isFrozen(){return w()||C()||We()},get inputValue(){return y.inputText},get isPromptMode(){return A()},onShowContextMenuInstance:ya,onLabelInstanceHoverChange:yn,get onInputChange(){return x.setInputText},onInputSubmit:()=>void gr(),onToggleExpand:br,get isPendingDismiss(){return Fe()},get selectionLabelShakeCount(){return Be()},onConfirmDismiss:vr,onCancelDismiss:yr,get toolbarVisible(){return g.store.theme.toolbar.enabled},get isActive(){return C()},onToggleActive:xr,get enabled(){return M()},onToggleEnabled:Er,get shakeCount(){return Re()},onToolbarStateChange:e=>{Ue(e),ar.forEach(t=>t(e))},onSubscribeToToolbarStateChanges:e=>(ar.add(e),()=>{ar.delete(e)}),onToolbarSelectHoverChange:Ge,onToolbarRef:e=>{et=e},get contextMenuPosition(){return Pi()},get contextMenuBounds(){return Ni()},get contextMenuTagName(){return Fi()},get contextMenuComponentName(){return Ii()},get contextMenuHasFilePath(){return!!Li()?.filePath},get actions(){return g.store.actions},get actionContext(){return Vi()},onContextMenuDismiss:Hi,onContextMenuHide:zi,get commentItems(){return Ke()},get commentsDisconnectedItemIds(){return N()},get commentItemCount(){return Ke().length},get clockFlashTrigger(){return it()},get commentsDropdownPosition(){return Je()},get isCommentsPinned(){return je(()=>Je()!==null)()&&!ot()},onToggleComments:la,onCopyAll:fa,onCopyAllHover:ga,onCommentsButtonHover:ma,onCommentItemSelect:da,onCommentItemHover:pa,onCommentsCopyAll:fa,onCommentsCopyAllHover:ga,onCommentsClear:va,onCommentsDismiss:Xi,onCommentsDropdownHover:ha,get toolbarMenuPosition(){return Xe()},get toolbarMenuActions(){return g.store.actions.filter(e=>e.showInToolbarMenu===!0)},get defaultActionId(){return He()?.defaultAction??`comment`},onSetDefaultAction:ca,onToggleToolbarMenu:sa,onToolbarMenuDismiss:Zi,get clearPromptPosition(){return Qe()},onClearCommentsConfirm:()=>{er(),aa(),va()},onClearCommentsCancel:aa}),gi))}).catch(e=>{console.warn(`[react-grab] Failed to load renderer:`,e)});let ba={activate:()=>{x.setPendingCommentMode(!1),!C()&&M()&&hr()},deactivate:()=>{(C()||D())&&Q()},toggle:()=>{C()?Q():M()&&hr()},comment:Tr,isActive:()=>C(),isEnabled:()=>M(),setEnabled:e=>{e!==M()&&(Le(e),e||mr())},getToolbarState:()=>Ce(),setToolbarState:e=>{let t=Ce(),n={edge:e.edge??t?.edge??`bottom`,ratio:e.ratio??t?.ratio??.5,collapsed:e.collapsed??t?.collapsed??!1,enabled:e.enabled??t?.enabled??!0,defaultAction:e.defaultAction??t?.defaultAction??`comment`};o(n),Ue(n),e.enabled!==void 0&&e.enabled!==M()&&Le(e.enabled),ar.forEach(e=>e(n))},onToolbarStateChange:e=>(ar.add(e),()=>{ar.delete(e)}),dispose:()=>{i=!0,ir=!1,s?.(),ta(),na(),Ki(),ar.clear(),n()},copyElement:async e=>{let t=Array.isArray(e)?e:[e];return t.length===0?!1:await jn(t)},getSource:async e=>{let t=await ne(e);return t?{filePath:t.filePath,lineNumber:t.lineNumber,componentName:t.componentName}:null},getStackContext:Oe,getState:()=>({isActive:C(),isDragging:T(),isCopying:D(),isPromptMode:A(),isSelectionBoxVisible:!!Ci(),isDragBoxVisible:!!Ai(),targetElement:Y(),dragBounds:Jn()??null,grabbedBoxes:[...ur()],labelInstances:[...dr()],selectionFilePath:y.selectionFilePath,toolbarState:He()}),setOptions:e=>{g.setOptions(e)},registerPlugin:e=>{g.register(e,ba)},unregisterPlugin:e=>{g.unregister(e)},getPlugins:()=>g.getPluginNames(),getDisplayName:pe};for(let e of rr)g.register(e,ba);return setTimeout(()=>{we(!0)},ce),ba})},sr=null,cr=()=>typeof window>`u`?sr:window.__REACT_GRAB__??sr??null,lr=e=>{sr=e,typeof window<`u`&&(e?window.__REACT_GRAB__=e:delete window.__REACT_GRAB__)},ur=[],dr=e=>{for(;ur.length>0;){let t=ur.shift();t&&e.registerPlugin(t)}},Z=e=>{let t=cr();if(t){t.registerPlugin(e);return}ur.push(e)},fr=e=>{let t=cr();if(t){t.unregisterPlugin(e);return}let n=ur.findIndex(t=>t.name===e);n!==-1&&ur.splice(n,1)};typeof window<`u`&&!window.__REACT_GRAB_DISABLED__&&(window.__REACT_GRAB__?sr=window.__REACT_GRAB__:(sr=or(),window.__REACT_GRAB__=sr),dr(sr),window.dispatchEvent(new CustomEvent(`react-grab:init`,{detail:sr})));export{vn as DEFAULT_THEME,Y as commentPlugin,Fe as formatElementInfo,Gt as generateSnippet,cr as getGlobalApi,Ae as getStack,or as init,C as isInstrumentationActive,Fn as openPlugin,Z as registerPlugin,lr as setGlobalApi,fr as unregisterPlugin};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./chunk-Bj-mKKzh.js";import{t}from"./preload-helper-DSXbuxSR.js";var n=e(((e,t)=>{t.exports=Object.create(new Proxy({},{get(e,t){if(t!==`__esModule`&&t!==`__proto__`&&t!==`constructor`&&t!==`splice`)throw Error(`Module "node:fs" has been externalized for browser compatibility. Cannot access "node:fs.${t}" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)}}))})),r=function(e,t){return typeof e==`string`&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,n,r,i,a){return n?t?`.jsx`:`.js`:r&&(!i||!a)?e:r+i+`.`+a.toLowerCase()+`js`}):e},i=null,a=null,o=null,s=e=>t(()=>import(r(e)),[]);typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&(s(`node:fs`).then(e=>{i=e.existsSync}),s(`node:os`).then(e=>{a=e.homedir}),s(`node:path`).then(e=>{o=e.join}));var c=null;function l(e){if(process.versions?.bun&&!(typeof process>`u`)&&!(Object.keys({}).length>0)){if(c===null){c=new Map;try{let{readFileSync:e}=n(),t=e(`/proc/self/environ`,`utf-8`);for(let e of t.split(`\0`)){let t=e.indexOf(`=`);t>0&&c.set(e.slice(0,t),e.slice(t+1))}}catch{}}return c.get(e)}}var u=null;function d(){if(u===null){if(!i||!a||!o)return typeof process<`u`&&(process.versions?.node||process.versions?.bun)||(u=!1),!1;let e={}.GOOGLE_APPLICATION_CREDENTIALS||l(`GOOGLE_APPLICATION_CREDENTIALS`);u=i(e||o(a(),`.config`,`gcloud`,`application_default_credentials.json`))}return u}function f(e){if(e===`github-copilot`)return[`COPILOT_GITHUB_TOKEN`];if(e===`anthropic`)return[`ANTHROPIC_OAUTH_TOKEN`,`ANTHROPIC_API_KEY`];let t={openai:`OPENAI_API_KEY`,"azure-openai-responses":`AZURE_OPENAI_API_KEY`,deepseek:`DEEPSEEK_API_KEY`,google:`GEMINI_API_KEY`,"google-vertex":`GOOGLE_CLOUD_API_KEY`,groq:`GROQ_API_KEY`,cerebras:`CEREBRAS_API_KEY`,xai:`XAI_API_KEY`,openrouter:`OPENROUTER_API_KEY`,"vercel-ai-gateway":`AI_GATEWAY_API_KEY`,zai:`ZAI_API_KEY`,mistral:`MISTRAL_API_KEY`,minimax:`MINIMAX_API_KEY`,"minimax-cn":`MINIMAX_CN_API_KEY`,moonshotai:`MOONSHOT_API_KEY`,"moonshotai-cn":`MOONSHOT_API_KEY`,huggingface:`HF_TOKEN`,fireworks:`FIREWORKS_API_KEY`,together:`TOGETHER_API_KEY`,opencode:`OPENCODE_API_KEY`,"opencode-go":`OPENCODE_API_KEY`,"kimi-coding":`KIMI_API_KEY`,"cloudflare-workers-ai":`CLOUDFLARE_API_KEY`,"cloudflare-ai-gateway":`CLOUDFLARE_API_KEY`,xiaomi:`XIAOMI_API_KEY`,"xiaomi-token-plan-cn":`XIAOMI_TOKEN_PLAN_CN_API_KEY`,"xiaomi-token-plan-ams":`XIAOMI_TOKEN_PLAN_AMS_API_KEY`,"xiaomi-token-plan-sgp":`XIAOMI_TOKEN_PLAN_SGP_API_KEY`}[e];return t?[t]:void 0}function p(e){let t=f(e);if(!t)return;let n=t.filter(e=>!!{}[e]||!!l(e));return n.length>0?n:void 0}function m(e){let t=p(e);if(t?.[0])return{}[t[0]]||l(t[0]);if(e===`google-vertex`){let e=d(),t=!!({}.GOOGLE_CLOUD_PROJECT||{}.GCLOUD_PROJECT||l(`GOOGLE_CLOUD_PROJECT`)||l(`GCLOUD_PROJECT`)),n=!!({}.GOOGLE_CLOUD_LOCATION||l(`GOOGLE_CLOUD_LOCATION`));if(e&&t&&n)return`<authenticated>`}if(e===`amazon-bedrock`&&({}.AWS_PROFILE||{}.AWS_ACCESS_KEY_ID&&{}.AWS_SECRET_ACCESS_KEY||{}.AWS_BEARER_TOKEN_BEDROCK||{}.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI||{}.AWS_CONTAINER_CREDENTIALS_FULL_URI||{}.AWS_WEB_IDENTITY_TOKEN_FILE||l(`AWS_PROFILE`)||l(`AWS_ACCESS_KEY_ID`)&&l(`AWS_SECRET_ACCESS_KEY`)||l(`AWS_BEARER_TOKEN_BEDROCK`)||l(`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`)||l(`AWS_CONTAINER_CREDENTIALS_FULL_URI`)||l(`AWS_WEB_IDENTITY_TOKEN_FILE`)))return`<authenticated>`}export{m as t};
|