grab 0.1.35 → 0.1.36
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/copy-content-3pnWacho.d.cts +218 -0
- package/dist/copy-content-DH6fBB50.d.ts +218 -0
- package/dist/core/index.cjs +1 -1
- package/dist/core/index.d.cts +2 -2
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +1 -1
- package/dist/core-B9aCRu_r.cjs +4374 -0
- package/dist/core-BNG77P9u.js +20 -0
- package/dist/core-BaM4pWDg.cjs +20 -0
- package/dist/core-BgAHCKe7.js +4492 -0
- package/dist/core-BnZu88Zq.js +20 -0
- package/dist/core-BoXxu65H.js +20 -0
- package/dist/core-Bw1MUegr.cjs +4374 -0
- package/dist/core-C-uBKPnx.js +20 -0
- package/dist/core-CMd2PuB-.cjs +20 -0
- package/dist/core-CN7fVz1T.cjs +4377 -0
- package/dist/core-C_moHA9D.js +20 -0
- package/dist/core-CoEZwalZ.js +4489 -0
- package/dist/core-Cyu0n7SO.js +20 -0
- package/dist/core-DMVlP9g5.js +20 -0
- package/dist/core-XXPjZNnn.cjs +20 -0
- package/dist/core-_t0msYhT.cjs +20 -0
- package/dist/core-eVrmPJ2u.cjs +20 -0
- package/dist/core-epcog0yL.cjs +20 -0
- package/dist/core-foLKkb5_.cjs +20 -0
- package/dist/core-kGODXK-N.js +4489 -0
- package/dist/create-element-selector-B5J9_3Fw.cjs +9 -0
- package/dist/create-element-selector-BEaSanPh.cjs +9 -0
- package/dist/create-element-selector-BR_zDrcL.js +296 -0
- package/dist/create-element-selector-C3VxTCEX.js +9 -0
- package/dist/create-element-selector-CIj_4oMe.js +9 -0
- package/dist/create-element-selector-C_6sG1Bd.js +296 -0
- package/dist/create-element-selector-ChuWL5x4.cjs +9 -0
- package/dist/create-element-selector-CufggNcJ.js +9 -0
- package/dist/create-element-selector-D1FizysC.js +9 -0
- package/dist/create-element-selector-D4_cMOfX.cjs +307 -0
- package/dist/create-element-selector-Dw4Hh5vX.cjs +307 -0
- package/dist/create-element-selector-pHsYuaOR.cjs +9 -0
- package/dist/freeze-updates-1bWq0iRj.cjs +3340 -0
- package/dist/freeze-updates-7yZ9p4Jb.cjs +52 -0
- package/dist/freeze-updates-B2R6sKrS.js +52 -0
- package/dist/freeze-updates-BUIl_I9a.js +52 -0
- package/dist/freeze-updates-D7wc1FFo.js +52 -0
- package/dist/freeze-updates-DC22uWxG.cjs +3347 -0
- package/dist/freeze-updates-DFjQ3htO.js +52 -0
- package/dist/freeze-updates-DIifOZze.js +2921 -0
- package/dist/freeze-updates-D_ae-e4T.js +2920 -0
- package/dist/freeze-updates-DdIqMW8Y.cjs +52 -0
- package/dist/freeze-updates-DvAOKSWG.cjs +52 -0
- package/dist/freeze-updates-F-dFqbvY.cjs +52 -0
- package/dist/index-CkMIwkYj.d.ts +413 -0
- package/dist/index-DR5AjI5S.d.cts +413 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.global.js +13 -13
- package/dist/index.js +1 -1
- package/dist/primitives.cjs +1 -1
- package/dist/primitives.d.cts +1 -1
- package/dist/primitives.d.ts +1 -1
- package/dist/primitives.js +1 -1
- package/dist/renderer-B65BudlT.cjs +9 -0
- package/dist/renderer-BRENw6lS.cjs +3205 -0
- package/dist/renderer-Bxc3RS-J.cjs +3205 -0
- package/dist/renderer-CD-Ju8A3.js +3205 -0
- package/dist/renderer-D0a4h1bK.cjs +9 -0
- package/dist/renderer-D3dvNcvm.cjs +9 -0
- package/dist/renderer-DQoIdFmy.js +9 -0
- package/dist/renderer-Dc20mGte.js +9 -0
- package/dist/renderer-DmNPMFh8.js +3205 -0
- package/dist/renderer-Dnyqr-yC.cjs +9 -0
- package/dist/renderer-gEdmDcCb.js +9 -0
- package/dist/renderer-kDb-jNJX.js +9 -0
- package/dist/state-BAZpSiUU.js +9 -0
- package/dist/state-BPvTpQtD.js +9 -0
- package/dist/state-Bn3fhsQ8.cjs +9 -0
- package/dist/state-BwCmdtcN.cjs +1306 -0
- package/dist/state-CFntkBxv.js +1696 -0
- package/dist/state-CR6-uxRM.cjs +9 -0
- package/dist/state-DQNAhhCY.cjs +1306 -0
- package/dist/state-Dgr3LbNH.cjs +9 -0
- package/dist/state-Ds-1VLFt.js +9 -0
- package/dist/state-Dt16Hkud.js +9 -0
- package/dist/state-LuyoMylH.js +1696 -0
- package/dist/state-x2vKMZfm.cjs +9 -0
- package/package.json +2 -2
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license MIT
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 Aiden Bai
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
import{A as e,C as t,D as n,F as r,I as i,M as a,N as o,O as s,P as c,R as l,S as u,a as d,c as f,g as p,h as m,i as h,k as g,l as _,n as v,o as ee,r as y,s as te,t as ne,z as b}from"./state-BAZpSiUU.js";import{$ as x,B as S,C,D as re,E as ie,F as ae,H as oe,I as w,L as se,M as ce,N as le,O as T,P as ue,Q as de,V as fe,_ as pe,a as me,b as E,c as he,d as ge,et as _e,f as ve,g as ye,h as D,ht as be,i as xe,j as Se,l as Ce,m as O,mt as we,o as Te,p as Ee,q as De,r as Oe,s as ke,t as Ae,tt as k,u as je,v as Me,w as Ne,x as Pe,y as A}from"./freeze-updates-B2R6sKrS.js";import{n as j,t as Fe}from"./create-element-selector-CIj_4oMe.js";var Ie=`/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
10
|
+
@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-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}}}@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;--spacing:4px;--font-weight-medium:500;--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);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}}@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-0{top:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.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\\.5{margin:calc(var(--spacing) * -.5)}.m-0{margin:calc(var(--spacing) * 0)}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.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)}.h-0{height:calc(var(--spacing) * 0)}.h-\\[17px\\]{height:17px}.h-fit{height:fit-content}.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-\\[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-\\[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}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.interactive-scale{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}@media (hover:hover) and (pointer:fine){.interactive-scale:hover{transform:scale(1.05)}}.interactive-scale:active{transition:transform 60ms cubic-bezier(0,0,.2,1);transform:scale(.96)}.press-scale{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.press-scale:active{transition:transform 60ms cubic-bezier(0,0,.2,1);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,)}.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{gap:calc(var(--spacing) * 0)}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.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-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-transparent{background-color:#0000}.p-0{padding:calc(var(--spacing) * 0)}.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\\.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-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.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)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.wrap-break-word{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-\\[var\\(--rg-error-text\\)\\]{color:var(--rg-error-text)}.text-\\[var\\(--rg-submit-fg\\)\\]{color:var(--rg-submit-fg)}.text-\\[var\\(--rg-text-primary\\)\\]{color:var(--rg-text-primary)}.text-\\[var\\(--rg-text-primary-85\\)\\]{color:var(--rg-text-primary-85)}.text-\\[var\\(--rg-text-secondary\\)\\]{color:var(--rg-text-secondary)}.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-50{opacity:.5}.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)}.\\[box-shadow\\:var\\(--rg-shadow\\)\\]{box-shadow:var(--rg-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\\:var\\(--rg-drop-shadow\\)\\]{filter:var(--rg-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,)}.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\\]{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\\]{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-\\[padding\\,border-radius\\,transform\\]{transition-property:padding,border-radius,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))}.delay-\\[80ms\\]{transition-delay:80ms}.duration-60{--tw-duration:60ms;transition-duration:60ms}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-140{--tw-duration:.14s;transition-duration:.14s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\,0\\,0\\.2\\,1\\)\\]{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-drawer{--tw-ease:var(--ease-drawer);transition-timing-function:var(--ease-drawer)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.ease-spring{--tw-ease:var(--ease-spring);transition-timing-function:var(--ease-spring)}.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}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}@media (hover:hover){.hover\\:bg-\\[var\\(--rg-error-bg-hover\\)\\]:hover{background-color:var(--rg-error-bg-hover)}.hover\\:bg-\\[var\\(--rg-surface-active\\)\\]:hover{background-color:var(--rg-surface-active)}.hover\\:bg-\\[var\\(--rg-surface-hover\\)\\]:hover{background-color:var(--rg-surface-hover)}.hover\\:text-\\[var\\(--rg-text-primary\\)\\]:hover{color:var(--rg-text-primary)}}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:opacity-40:disabled{opacity:.4}}:host{all:initial;direction:ltr}:host,[data-rg-theme=dark]{--rg-panel-bg:#161616;--rg-text-primary:#fff;--rg-text-secondary:#a7a7a7;--rg-surface-hover:#ffffff1a;--rg-surface-active:#ffffff26;--rg-border-subtle:#ffffff1a;--rg-border-button:#fff3;--rg-submit-bg:#fff;--rg-submit-fg:#161616;--rg-error-text:#f87171;--rg-error-bg:#3d1515;--rg-error-bg-hover:#4d1f1f;--rg-shadow:0 2px 8px #00000014;--rg-drop-shadow:drop-shadow(0px 2px 8px #00000014);--rg-shimmer-from:#a1a1aa;--rg-shimmer-to:#d4d4d8;--rg-text-primary-85:#ffffffd9}@media (prefers-color-scheme:dark){:host:not([data-rg-theme]){--rg-panel-bg:#fff;--rg-text-primary:#171717;--rg-text-secondary:#737373;--rg-surface-hover:#0000000d;--rg-surface-active:#00000014;--rg-border-subtle:#00000014;--rg-border-button:#00000026;--rg-submit-bg:#171717;--rg-submit-fg:#fff;--rg-error-text:#dc2626;--rg-error-bg:#fee2e2;--rg-error-bg-hover:#fecaca;--rg-shadow:0 2px 12px #0000001a;--rg-drop-shadow:drop-shadow(0px 2px 12px #0000001a);--rg-shimmer-from:#71717a;--rg-shimmer-to:#a1a1aa;--rg-text-primary-85:#171717d9}}:host([data-rg-theme=light]),[data-rg-theme=light]{--rg-panel-bg:#fff;--rg-text-primary:#171717;--rg-text-secondary:#737373;--rg-surface-hover:#0000000d;--rg-surface-active:#00000014;--rg-border-subtle:#00000014;--rg-border-button:#00000026;--rg-submit-bg:#171717;--rg-submit-fg:#fff;--rg-error-text:#dc2626;--rg-error-bg:#fee2e2;--rg-error-bg-hover:#fecaca;--rg-shadow:0 2px 12px #0000001a;--rg-drop-shadow:drop-shadow(0px 2px 12px #0000001a);--rg-shimmer-from:#71717a;--rg-shimmer-to:#a1a1aa;--rg-text-primary-85:#171717d9}@keyframes rg-badge-slide{0%{transform:translate(-8.2px,12.4px)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){[data-react-grab-unread-indicator],[data-react-grab-unread-indicator] *{transition:none!important;animation:none!important}}@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(.85)}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{background:linear-gradient(90deg, var(--rg-shimmer-from) 0%, var(--rg-shimmer-to) 25%, var(--rg-shimmer-from) 50%, var(--rg-shimmer-to) 75%, var(--rg-shimmer-from) 100%);color:#0000;background-size: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:.35s cubic-bezier(.34,1.56,.64,1) both success-pop}@supports (-webkit-touch-callout:none){textarea[data-react-grab-input]{font-size:16px}}@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}`;const M=Symbol(`store-raw`),N=Symbol(`store-node`),P=Symbol(`store-has`),Le=Symbol(`store-self`);function Re(e){let t=e[u];if(!t&&(Object.defineProperty(e,u,{value:t=new Proxy(e,We)}),!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 F(e){let t;return typeof e==`object`&&!!e&&(e[u]||!(t=Object.getPrototypeOf(e))||t===Object.prototype||Array.isArray(e))}function I(e,t=new Set){let n,r,i,a;if(n=e!=null&&e[M])return n;if(!F(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=I(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=I(i,t))!==i&&(e[a]=r))}return e}function ze(e,t){let n=e[t];return n||Object.defineProperty(e,t,{value:n=Object.create(null)}),n}function Be(e,t,n){if(e[t])return e[t];let[r,i]=c(n,{equals:!1,internal:!0});return r.$=i,e[t]=r}function Ve(e,t){let n=Reflect.getOwnPropertyDescriptor(e,t);return!n||n.get||!n.configurable||t===u||t===N?n:(delete n.value,delete n.writable,n.get=()=>e[u][t],n)}function He(e){r()&&Be(ze(e,N),Le)()}function Ue(e){return He(e),Reflect.ownKeys(e)}const We={get(e,n,i){if(n===M)return e;if(n===u)return i;if(n===t)return He(e),i;let a=ze(e,N),o=a[n],s=o?o():e[n];if(n===N||n===P||n===`__proto__`)return s;if(!o){let t=Object.getOwnPropertyDescriptor(e,n);r()&&(typeof s!=`function`||e.hasOwnProperty(n))&&!(t&&t.get)&&(s=Be(a,n,s)())}return F(s)?Re(s):s},has(e,n){return n===M||n===u||n===t||n===N||n===P||n===`__proto__`?!0:(r()&&Be(ze(e,P),n)(),n in e)},set(){return!0},deleteProperty(){return!0},ownKeys:Ue,getOwnPropertyDescriptor:Ve};function L(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[P]&&e[P][t]&&i!==void 0&&e[P][t].$()):(e[t]=n,e[P]&&e[P][t]&&i===void 0&&e[P][t].$());let o=ze(e,N),s;if((s=Be(o,t,i))&&s.$(()=>n),Array.isArray(e)&&e.length!==a){for(let t=e.length;t<a;t++)(s=o[t])&&s.$();(s=Be(o,`length`,a))&&s.$(e.length)}(s=o[Le])&&s.$()}function Ge(e,t){let n=Object.keys(t);for(let r=0;r<n.length;r+=1){let i=n[r];L(e,i,t[i])}}function Ke(e,t){if(typeof t==`function`&&(t=t(e)),t=I(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&&L(e,n,r)}L(e,`length`,r)}else Ge(e,t)}function qe(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++)qe(e,[r[i]].concat(t),n);return}else if(o&&a===`function`){for(let i=0;i<e.length;i++)r(e[i],i)&&qe(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)qe(e,[r].concat(t),n);return}else if(t.length>1){qe(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=I(a),r===void 0||F(i)&&F(a)&&!Array.isArray(a)?Ge(i,a):L(e,r,a))}function Je(...[e,t]){let r=I(e||{}),i=Array.isArray(r),a=Re(r);function o(...e){n(()=>{i&&e.length===1?Ke(r,e[0]):qe(r,e)})}return[a,o]}const Ye=new WeakMap,Xe={get(e,t){if(t===M)return e;let n=e[t],r;return F(n)?Ye.get(n)||(Ye.set(n,r=new Proxy(n,Xe)),r):n},set(e,t,n){return L(e,t,I(n)),!0},deleteProperty(e,t){return L(e,t,void 0,!0),!0}};function Ze(e){return t=>{if(F(t)){let n;(n=Ye.get(t))||Ye.set(t,n=new Proxy(t,Xe)),e(n)}return t}}const Qe=e=>typeof e==`number`&&!Number.isNaN(e)&&Number.isFinite(e),$e=e=>{let t=e.trim();if(!t)return null;let n=parseFloat(t);return Qe(n)?n:null},et=(e,t)=>{let n=e.split(`,`);if(n.length!==t)return null;let r=[];for(let e of n){let t=$e(e);if(t===null)return null;r.push(t)}return r},tt=(e,t,n,r)=>e===1&&t===0&&n===0&&r===1,nt=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,rt=e=>{if(!e||e===`none`)return`none`;if(e.startsWith(`matrix`))if(e.startsWith(`matrix3d(`)){let t=e.length-1,n=et(e.slice(9,t),16);if(n)return n[12]=0,n[13]=0,n[14]=0,nt(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=et(e.slice(7,t),6);if(n){let e=n[0],t=n[1],r=n[2],i=n[3];return tt(e,t,r,i)?`none`:`matrix(${e}, ${t}, ${r}, ${i}, 0, 0)`}}return`none`},it=e=>e.isIdentity?`none`:e.is2D?tt(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})`;let at=new WeakMap,ot=new WeakMap,st=new WeakMap;const ct=()=>{at=new WeakMap,ot=new WeakMap,st=new WeakMap},R=(e,t)=>{let n=ot.get(e);if(n&&t-n.timestamp<16)return n.transform;let r=window.getComputedStyle(e).transform,i=r&&r!==`none`?r:`none`;return ot.set(e,{transform:i,timestamp:t}),i},z=(e,t,n)=>{let r=t&&t!==`none`,i=null,a=e.parentElement,o=0;for(;a&&a!==document.documentElement&&o<6;){let e=R(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))),it(i)):r?rt(t):`none`},lt=(e,t,n)=>{let r=st.get(e);if(r&&n-r.timestamp<200)return r.borderRadius;let i=(t??window.getComputedStyle(e)).borderRadius||`0px`;return st.set(e,{borderRadius:i,timestamp:n}),i},ut=(e,t,n,r)=>{let i=z(e,n.transform,r),a=lt(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}},B=e=>{let t=performance.now(),n=at.get(e);if(n&&t-n.timestamp<16)return n.bounds;let r=ut(e,e.getBoundingClientRect(),window.getComputedStyle(e),t);return at.set(e,{bounds:r,timestamp:t}),r},V=e=>({x:e.x+e.width/2,y:e.y+e.height/2}),dt=e=>({selectionInteractionLockDepth:0,wasActivatedByToggle:!1,pendingCommentMode:!1,keyHoldDuration:e.keyHoldDuration,dragStart:{x:k,y:k},copyStart:{x:k,y:k},copyOffsetFromCenterX:0,detectedElement:null,frozenElement:null,frozenElements:[],frozenDragRect:null,lastGrabbedElement:null,lastCopiedElement:null,selectionFilePath:null,selectionLineNumber:null,inputText:``,grabbedBoxes:[],labelInstances:[],isTouchMode:!1,theme:e.theme,activationTimestamp:null,previouslyFocusedElement:null,contextMenuPosition:null,contextMenuElement:null,contextMenuClickOffset:null}),ft=e=>{let[t,r]=Je(dt(e)),[i,a]=c({x:k,y:k}),[o,s]=c(0),[l,u]=c({state:`idle`}),d=e=>{r(Ze(t=>{e(t),t.frozenElement=t.frozenElements.length>0?t.frozenElements[0]:null,t.frozenDragRect=null}))},f=()=>{d(e=>{e.frozenElements=[]})},p=e=>{u(t=>t.state===`active`?{...t,phase:e}:t)},m={startHold:e=>{e!==void 0&&r(`keyHoldDuration`,e),u({state:`holding`,startedAt:Date.now()})},releaseHold:()=>{l().state===`holding`&&u({state:`idle`})},activate:()=>{n(()=>{u({state:`active`,phase:`hovering`,isPromptMode:!1,isPendingDismiss:!1}),r(`activationTimestamp`,Date.now()),r(`previouslyFocusedElement`,document.activeElement)})},deactivate:()=>{n(()=>{u({state:`idle`}),r(Ze(e=>{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?(r(`wasActivatedByToggle`,!0),m.activate()):m.deactivate()},freeze:()=>{if(l().state===`active`){let e=t.frozenElement??t.detectedElement;e&&r(`frozenElement`,e),p(`frozen`)}},unfreeze:()=>{l().state===`active`&&n(()=>{r(Ze(e=>{e.frozenElement=null,e.frozenElements=[],e.frozenDragRect=null})),p(`hovering`)})},startDrag:(e,t)=>{l().state===`active`&&n(()=>{t||f(),r(`dragStart`,{x:e.x+window.scrollX,y:e.y+window.scrollY}),p(`dragging-select`)})},startDragReposition:()=>{let e=l();e.state===`active`&&e.phase===`dragging-select`&&p(`dragging-reposition`)},stopDragReposition:()=>{let e=l();e.state===`active`&&e.phase===`dragging-reposition`&&p(`dragging-select`)},shiftDragStart:e=>{let t=l();t.state===`active`&&t.phase===`dragging-reposition`&&r(`dragStart`,t=>({x:t.x+e.x,y:t.y+e.y}))},endDrag:()=>{let e=l();e.state===`active`&&(e.phase===`dragging-select`||e.phase===`dragging-reposition`)&&n(()=>{r(`dragStart`,{x:k,y:k}),p(`justDragged`)})},cancelDrag:()=>{let e=l();e.state===`active`&&(e.phase===`dragging-select`||e.phase===`dragging-reposition`)&&n(()=>{r(`dragStart`,{x:k,y:k}),p(`hovering`)})},finishJustDragged:()=>{let e=l();e.state===`active`&&e.phase===`justDragged`&&p(`hovering`)},startCopy:()=>{let e=l().state===`active`;u({state:`copying`,startedAt:Date.now(),wasActive:e})},completeCopy:e=>{let t=l(),i=t.state===`copying`?t.wasActive:!1;n(()=>{e&&r(`lastCopiedElement`,e),u({state:`justCopied`,copiedAt:Date.now(),wasActive:i})})},finishJustCopied:()=>{let e=l();e.state===`justCopied`&&(e.wasActive&&!t.wasActivatedByToggle?n(()=>{f(),u({state:`active`,phase:`hovering`,isPromptMode:!1,isPendingDismiss:!1})}):m.deactivate())},enterPromptMode:(e,t)=>{let{x:i}=V(B(t));n(()=>{r(`copyStart`,e),r(`copyOffsetFromCenterX`,e.x-i),a(e),r(`frozenElement`,t),r(`wasActivatedByToggle`,!0),l().state===`active`?u(e=>e.state===`active`?{...e,isPromptMode:!0,phase:`frozen`}:e):(u({state:`active`,phase:`frozen`,isPromptMode:!0,isPendingDismiss:!1}),r(`activationTimestamp`,Date.now()),r(`previouslyFocusedElement`,document.activeElement))})},exitPromptMode:()=>{u(e=>e.state===`active`?{...e,isPromptMode:!1,isPendingDismiss:!1}:e)},setInputText:e=>{r(`inputText`,e)},clearInputText:()=>{r(`inputText`,``)},setPendingDismiss:e=>{u(t=>t.state===`active`?{...t,isPendingDismiss:e}:t)},setPointer:e=>{a(e)},setDetectedElement:e=>{r(`detectedElement`,e)},setFrozenElement:e=>{d(t=>{t.frozenElements=[e]})},setFrozenElements:e=>{d(t=>{t.frozenElements=e})},toggleFrozenElement:e=>{d(t=>{let n=t.frozenElements.indexOf(e);n>=0?t.frozenElements.splice(n,1):t.frozenElements.push(e)})},addFrozenElements:e=>{d(t=>{for(let n of e)t.frozenElements.includes(n)||t.frozenElements.push(n)})},setFrozenDragRect:e=>{r(`frozenDragRect`,e)},setCopyStart:(e,t)=>{let{x:n}=V(B(t));r(`copyStart`,e),r(`copyOffsetFromCenterX`,e.x-n)},setLastGrabbed:e=>{r(`lastGrabbedElement`,e)},clearLastCopied:()=>{r(`lastCopiedElement`,null)},setWasActivatedByToggle:e=>{r(`wasActivatedByToggle`,e)},setPendingCommentMode:e=>{r(`pendingCommentMode`,e)},setTouchMode:e=>{r(`isTouchMode`,e)},incrementSelectionInteractionLockDepth:()=>{r(`selectionInteractionLockDepth`,e=>e+1)},decrementSelectionInteractionLockDepth:()=>{r(`selectionInteractionLockDepth`,e=>Math.max(0,e-1))},setSelectionSource:(e,t)=>{n(()=>{r(`selectionFilePath`,e),r(`selectionLineNumber`,t)})},incrementViewportVersion:()=>{s(e=>e+1)},addGrabbedBox:e=>{r(`grabbedBoxes`,t=>[...t,e])},removeGrabbedBox:e=>{r(`grabbedBoxes`,t=>t.filter(t=>t.id!==e))},clearGrabbedBoxes:()=>{r(`grabbedBoxes`,[])},addLabelInstance:e=>{r(`labelInstances`,t=>[...t,e])},updateLabelInstance:(e,i,a)=>{let o=t.labelInstances.findIndex(t=>t.id===e);o!==-1&&n(()=>{r(`labelInstances`,o,`status`,i),a!==void 0&&r(`labelInstances`,o,`errorMessage`,a)})},removeLabelInstance:e=>{r(`labelInstances`,t=>t.filter(t=>t.id!==e))},clearLabelInstances:()=>{r(`labelInstances`,[])},showContextMenu:(e,t)=>{let{x:i,y:a}=V(B(t));n(()=>{r(`contextMenuPosition`,e),r(`contextMenuElement`,t),r(`contextMenuClickOffset`,{x:e.x-i,y:e.y-a})})},hideContextMenu:()=>{n(()=>{r(`contextMenuPosition`,null),r(`contextMenuElement`,null),r(`contextMenuClickOffset`,null)})},updateContextMenuPosition:()=>{let e=t.contextMenuElement,n=t.contextMenuClickOffset;if(!e||!n||!_(e))return;let{x:i,y:a}=V(B(e));r(`contextMenuPosition`,{x:i+n.x,y:a+n.y})}};return{store:t,actions:m,pointer:i,viewportVersion:o,current:l}},H=`data-react-grab`,U=e=>{if(!document.body)return;let t=document.querySelectorAll(`[${H}]`);for(let n of t)n!==e&&n.parentNode!==e&&(n.shadowRoot||n.remove());document.body.appendChild(e)},W=e=>{if(document.body){U(e);return}let t=()=>{document.removeEventListener(`DOMContentLoaded`,t),U(e)};document.addEventListener(`DOMContentLoaded`,t,{once:!0})},pt=e=>{let t=document.querySelectorAll(`[${H}]`);for(let e of t){let t=e.shadowRoot?.querySelector(`[${H}]`);if(t instanceof HTMLDivElement)return{root:t,host:e};e.remove()}let n=document.createElement(`div`);n.setAttribute(H,`true`),ue(n),n.style.zIndex=String(be),n.style.position=`fixed`,n.style.inset=`0`,n.style.pointerEvents=`none`,n.style.contain=`strict`;let r=n.attachShadow({mode:`open`}),i=document.createElement(`style`),a=ae();a&&(i.nonce=a),i.textContent=`@import url("https://fonts.googleapis.com/css2?family=Geist:wght@500&display=swap");\n${e??``}`,r.appendChild(i);let o=document.createElement(`div`);return o.setAttribute(H,`true`),r.appendChild(o),W(n),setTimeout(()=>{U(n)},x),{root:o,host:n}},mt=[`data-theme`,`data-mode`,`data-color-scheme`,`data-bs-theme`,`data-mui-color-scheme`],ht=[{attribute:`data-dark`,theme:`dark`},{attribute:`data-light`,theme:`light`}],gt=/rgba?\(\s*(\d+(?:\.\d+)?)\s*[,\s]\s*(\d+(?:\.\d+)?)\s*[,\s]\s*(\d+(?:\.\d+)?)(?:\s*[,/]\s*(\d+(?:\.\d+)?))?\s*\)/,_t=e=>{if(e===`transparent`)return!0;let t=e.match(gt);if(!t)return!1;let n=t[4];return n!==void 0&&Number(n)===0},vt=(e,t,n)=>{let[r,i,a]=[e,t,n].map(e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4});return .2126*r+.7152*i+.0722*a},yt=()=>{let e=document.body??document.documentElement,t=getComputedStyle(e).backgroundColor;if(!t||_t(t))return null;let n=t.match(gt);return n?vt(Number(n[1]),Number(n[2]),Number(n[3]))<.18?`dark`:`light`:null},bt=e=>{let t=e.toLowerCase();return t===`dark`?`dark`:t===`light`?`light`:null},xt=e=>{let t=e.trim().toLowerCase();return!t||t===`normal`||t===`auto`?null:t.split(/\s+/).find(e=>e===`dark`||e===`light`)??null},St=()=>{let e=document.documentElement;if(e.classList.contains(`dark`))return`dark`;if(e.classList.contains(`light`))return`light`;for(let t of mt){let n=e.getAttribute(t);if(!n)continue;let r=bt(n);if(r)return r}for(let{attribute:t,theme:n}of ht)if(e.hasAttribute(t))return n;let t=e.style.colorScheme||getComputedStyle(e).colorScheme;if(t){let e=xt(t);if(e)return e}return yt()||(window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`)},G=e=>e===`dark`?`light`:`dark`,K={attributes:!0,attributeFilter:[`class`,`style`,...mt,...ht.map(({attribute:e})=>e)]},Ct=(e,t)=>{let n=null,r=null,i=()=>{let r=G(St());return r!==n&&(n=r,e.setAttribute(`data-rg-theme`,r),t?.(r)),r},a=()=>{r===null&&(r=ce(()=>{r=null,i()}))},o=i(),s=new MutationObserver(a);s.observe(document.documentElement,K);let c=null;document.body?s.observe(document.body,K):(c=new MutationObserver(()=>{document.body&&(c.disconnect(),c=null,s.observe(document.body,K),i())}),c.observe(document.documentElement,{childList:!0}));let l=window.matchMedia(`(prefers-color-scheme: dark)`);return l.addEventListener(`change`,a),{theme:o,cleanup:()=>{c?.disconnect(),s.disconnect(),l.removeEventListener(`change`,a),r!==null&&Se(r)}}},q=()=>{},wt=()=>({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}),Tt=()=>{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})}}},Et=(e,t=`Unknown error`)=>e instanceof Error&&e.message?e.message:t,Dt=e=>e instanceof Error?e:Error(String(e)),Ot=(e,t,n)=>{let r=w(e),i=t?.componentName??A(e);if(!t&&!i)return`[${C(e)}]`;let a=``;for(let t of S){let n=e.getAttribute(t);n&&(a+=` ${t}="${n.replaceAll(`"`,`'`)}"`)}let o=E(e).replaceAll(`"`,`'`),s=o?` "${T(o,30)}"`:``,c=[`<${r}${a}>${s}`];if(i&&c.push(`in ${i}`),t){let e=n&&t.lineNumber?`:${t.lineNumber}`:``;c.push(`@${t.filePath}${e}`)}return`[${c.join(` `)}]`},kt=async e=>{let t=Me(),n=await Promise.all(e.map(re)),r=new Set(e.map((e,r)=>Ot(e,n[r],t)));return r.size>0?[...r].join(`
|
|
11
|
+
`):null},At=async(e,t,n,r)=>{let i=!1,a=``;await t.onBeforeCopy(n);try{let o=e.getContent?await e.getContent(n):await kt(n);if(o?.trim()){let s=await t.transformCopyContent(o,n);a=r?`${r}\n${s}`:s,i=j(a,{componentName:e.componentName})}}catch(e){t.onCopyError(Dt(e))}return i&&t.onCopySuccess(n,a),t.onAfterCopy(n,i),i},jt=(e,t)=>{let n=Math.max(e.left,t.left),r=Math.max(e.top,t.top),i=Math.min(e.right,t.right),a=Math.min(e.bottom,t.bottom);return Math.max(0,i-n)*Math.max(0,a-r)},Mt=(e,t)=>e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top,Nt=e=>e.sort((e,t)=>{if(e===t)return 0;let n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING?-1:n&Node.DOCUMENT_POSITION_PRECEDING?1:0}),Pt=e=>{if(e.width<=0||e.height<=0)return[];let t=window.innerWidth,n=window.innerHeight,r=e.x,i=e.y,a=e.x+e.width,o=e.y+e.height,s=r+e.width/2,c=i+e.height/2,l=d(Math.ceil(e.width/32),3,20),u=d(Math.ceil(e.height/32),3,20),f=l*u,p=f>100?Math.sqrt(100/f):1,m=d(Math.floor(l*p),3,20),h=d(Math.floor(u*p),3,20),g=new Set,_=[],v=(e,r)=>{let i=d(Math.round(e),0,t-1),a=d(Math.round(r),0,n-1),o=`${i}:${a}`;g.has(o)||(g.add(o),_.push({x:i,y:a}))};v(r+1,i+1),v(a-1,i+1),v(r+1,o-1),v(a-1,o-1),v(s,i+1),v(s,o-1),v(r+1,c),v(a-1,c),v(s,c);for(let t=0;t<m;t+=1){let n=r+(t+.5)/m*e.width;for(let t=0;t<h;t+=1)v(n,i+(t+.5)/h*e.height)}return _},Ft=(e,t,n)=>{let r={left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height},i=new Set,a=Pt(e);O();try{for(let e of a){let t=document.elementsFromPoint(e.x,e.y);for(let e of t)i.add(e)}}finally{Ee()}let o=[];for(let e of i)!n&&pe(e)||t(e)&&o.push(e);let s=new Map;for(let e of o)s.set(e,e.getBoundingClientRect());let c=[];for(let e of o){let t=s.get(e);if(t.width<=0||t.height<=0)continue;let i={left:t.left,top:t.top,right:t.left+t.width,bottom:t.top+t.height};if(n){let n=jt(r,i),a=t.width*t.height;a>0&&n/a>=.75&&c.push(e)}else Mt(i,r)&&c.push(e)}return Nt(c)},It=e=>e.filter(t=>!e.some(e=>e!==t&&e.contains(t))),Lt=(e,t,n=!0)=>It(Ft(e,t,n)),Rt=(e,t)=>e.width<=0?0:d((t.x-e.x)/e.width,0,1),zt=e=>{let t=window.innerWidth,n=window.innerHeight,r=Math.max(0,e.x),i=Math.min(t,e.x+e.width),a=Math.max(0,e.y),o=Math.min(n,e.y+e.height);return{x:(r+i)/2,y:(a+o)/2}},Bt=()=>{ct(),je(),D()},Vt=e=>({x:e.pageX-window.scrollX,y:e.pageY-window.scrollY,width:e.width,height:e.height,borderRadius:`0px`,transform:`none`}),Ht=e=>({pageX:e.x+window.scrollX,pageY:e.y+window.scrollY,width:e.width,height:e.height}),Ut=e=>({...e,borderRadius:`0px`,transform:`none`}),Wt=new Set([`c`,`C`,`с`,`С`,`ȼ`,`Ȼ`,`ↄ`,`Ↄ`,`ᴄ`,`ᶜ`,`ⱼ`,`ⅽ`,`Ⅽ`,`ç`,`Ç`,`ć`,`Ć`,`č`,`Č`,`ĉ`,`Ĉ`,`ċ`,`Ċ`]),Gt=(e,t)=>t===`KeyC`?!0:!e||e.length!==1?!1:Wt.has(e),J=(e,t)=>{if(!e||!t)return!1;let n=e.toLowerCase();return t===`Space`?n===`space`||n===` `:t.startsWith(`Key`)?t.slice(3).toLowerCase()===n:t.startsWith(`Digit`)?t.slice(5)===n:!1},Y={meta:`metaKey`,cmd:`metaKey`,command:`metaKey`,win:`metaKey`,windows:`metaKey`,ctrl:`ctrlKey`,control:`ctrlKey`,shift:`shiftKey`,alt:`altKey`,option:`altKey`,opt:`altKey`},Kt=e=>{let t=e.split(`+`).map(e=>e.trim().toLowerCase()),n={metaKey:!1,ctrlKey:!1,shiftKey:!1,altKey:!1,key:null};for(let e of t){let t=Y[e];t?n[t]=!0:n.key=e}return n},qt=e=>{if(typeof e==`function`)return e;let t=Kt(e),n=t.key;return e=>{if(n===null){let n=t.metaKey?e.metaKey||e.key===`Meta`:!0,r=t.ctrlKey?e.ctrlKey||e.key===`Control`:!0,i=t.shiftKey?e.shiftKey||e.key===`Shift`:!0,a=t.altKey?e.altKey||e.key===`Alt`:!0,o=n&&r&&i&&a,s=[t.metaKey,t.ctrlKey,t.shiftKey,t.altKey].filter(Boolean).length,c=[e.metaKey||e.key===`Meta`,e.ctrlKey||e.key===`Control`,e.shiftKey||e.key===`Shift`,e.altKey||e.key===`Alt`].filter(Boolean).length;return o&&c>=s}let r=e.key?.toLowerCase()===n||J(n,e.code),i=t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?(t.metaKey?e.metaKey:!0)&&(t.ctrlKey?e.ctrlKey:!0)&&(t.shiftKey?e.shiftKey:!0)&&(t.altKey?e.altKey:!0):!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey;return r&&i}},Jt=e=>!e||typeof e==`function`?{metaKey:h(),ctrlKey:!h(),shiftKey:!1,altKey:!1,key:null}:Kt(e),Yt=(e,t)=>{if(t.activationKey)return qt(t.activationKey)(e);let n=(h()?e.metaKey:e.ctrlKey)&&!e.shiftKey&&!e.altKey;return!!(e.key&&n&&Gt(e.key,e.code))},Xt=e=>{if(e.length===0)return{x:0,y:0,width:0,height:0};if(e.length===1)return e[0];let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x+a.width),i=Math.max(i,a.y+a.height);return{x:t,y:n,width:r-t,height:i-n}},Zt={enabled:!0,hue:0,selectionBox:{enabled:!0},dragBox:{enabled:!0},grabbedBoxes:{enabled:!0},elementLabel:{enabled:!0},toolbar:{enabled:!0}},Qt=(e,t)=>({enabled:t.enabled??e.enabled,hue:t.hue??e.hue,selectionBox:{enabled:t.selectionBox?.enabled??e.selectionBox.enabled},dragBox:{enabled:t.dragBox?.enabled??e.dragBox.enabled},grabbedBoxes:{enabled:t.grabbedBoxes?.enabled??e.grabbedBoxes.enabled},elementLabel:{enabled:t.elementLabel?.enabled??e.elementLabel.enabled},toolbar:{enabled:t.toolbar?.enabled??e.toolbar.enabled}}),X={activationMode:`toggle`,keyHoldDuration:100,allowActivationInsideInput:!0,activationKey:void 0,getContent:void 0,freezeReactUpdates:!0},$t=(e={})=>{let t=new Map,n={},[r,i]=Je({theme:Zt,options:{...X,...e},actions:[]}),a=()=>{let r=Zt,a={...X,...e},o=[];for(let{config:e}of t.values())if(e.theme&&(r=Qt(r,e.theme)),e.options&&(a={...a,...e.options}),e.actions)for(let t of e.actions)o.push(t);a={...a,...n},i(`theme`,r),i(`options`,a),i(`actions`,o)},o=(e,t)=>{n[e]=t,i(`options`,e,t)},s=[`activationMode`,`keyHoldDuration`,`allowActivationInsideInput`,`activationKey`,`getContent`,`freezeReactUpdates`],c=e=>{for(let t of s)e[t]!==void 0&&o(t,e[t])},l=(e,n)=>{t.has(e.name)&&u(e.name);let r=e.setup?.(n,_)??{};e.theme&&(r.theme=r.theme?Qt(Qt(Zt,e.theme),r.theme):e.theme),e.actions&&(r.actions=[...e.actions,...r.actions??[]]),e.hooks&&(r.hooks=r.hooks?{...e.hooks,...r.hooks}:e.hooks),e.options&&(r.options=r.options?{...e.options,...r.options}:e.options),t.set(e.name,{plugin:e,config:r}),a()},u=e=>{let n=t.get(e);n&&(n.config.cleanup&&n.config.cleanup(),t.delete(e),a())},d=()=>Array.from(t.keys()),f=(e,...n)=>{for(let{config:r}of t.values()){let t=r.hooks?.[e];t&&t(...n)}},p=(e,...n)=>{let r=!1;for(let{config:i}of t.values()){let t=i.hooks?.[e];t&&t(...n)===!0&&(r=!0)}return r},m=async(e,...n)=>{for(let{config:r}of t.values()){let t=r.hooks?.[e];t&&await t(...n)}},h=async(e,n,...r)=>{let i=n;for(let{config:n}of t.values()){let t=n.hooks?.[e];t&&(i=await t(i,...r))}return i},g=(e,n,...r)=>{let i=n;for(let{config:n}of t.values()){let t=n.hooks?.[e];t&&(i=t(i,...r))}return i},_={onActivate:()=>f(`onActivate`),onDeactivate:()=>f(`onDeactivate`),onElementHover:e=>f(`onElementHover`,e),onElementSelect:e=>{let n=!1,r;for(let{config:i}of t.values()){let t=i.hooks?.onElementSelect;if(t){let i=t(e);i===!0?n=!0:i instanceof Promise&&(n=!0,r=i)}}return{wasIntercepted:n,pendingResult:r}},onDragStart:(e,t)=>f(`onDragStart`,e,t),onDragEnd:(e,t)=>f(`onDragEnd`,e,t),onBeforeCopy:async e=>m(`onBeforeCopy`,e),transformCopyContent:async(e,t)=>h(`transformCopyContent`,e,t),onAfterCopy:(e,t)=>f(`onAfterCopy`,e,t),onCopySuccess:(e,t)=>f(`onCopySuccess`,e,t),onCopyError:e=>f(`onCopyError`,e),onStateChange:e=>f(`onStateChange`,e),onPromptModeChange:(e,t)=>f(`onPromptModeChange`,e,t),onSelectionBox:(e,t,n)=>f(`onSelectionBox`,e,t,n),onDragBox:(e,t)=>f(`onDragBox`,e,t),onGrabbedBox:(e,t)=>f(`onGrabbedBox`,e,t),onElementLabel:(e,t,n)=>f(`onElementLabel`,e,t,n),onContextMenu:(e,t)=>f(`onContextMenu`,e,t),onOpenFile:(e,t)=>p(`onOpenFile`,e,t),transformHtmlContent:async(e,t)=>h(`transformHtmlContent`,e,t),transformAgentContext:async(e,t)=>h(`transformAgentContext`,e,t),transformActionContext:e=>g(`transformActionContext`,e),transformOpenFileUrl:(e,t,n)=>g(`transformOpenFileUrl`,e,t,n)};return{register:l,unregister:u,getPluginNames:d,setOptions:c,store:r,hooks:_}},en=(e,t)=>{let n=[],r=(n,r)=>{let i=zt(t(n)),a=ve(i.x,i.y).filter(e),o=a.indexOf(n);return o===-1?null:a[o+r]??null},i=e=>{let t=r(e,1);return t&&(n.push(e),n.length>50&&(n=n.slice(-50))),t},a=e=>{if(n.length>0){let e=n.pop();if(_(e))return e}return r(e,-1)},o=e=>e instanceof SVGElement&&!(e instanceof SVGSVGElement),s=e=>{let t=e.getBoundingClientRect();return t.width>=16||t.height>=16},c=(e,t)=>Math.abs(e.x-t.x)<=2&&Math.abs(e.y-t.y)<=2&&Math.abs(e.width-t.width)<=2&&Math.abs(e.height-t.height)<=2,l=t=>e(t)&&!o(t)&&s(t),u=(e,t)=>{let n=e.getBoundingClientRect(),r=e=>!c(e.getBoundingClientRect(),n),i=e=>{if(e instanceof SVGSVGElement)return null;let n=Array.from(e.children),a=t?n:n.reverse();for(let e of a)if(t){if(l(e)&&r(e))return e;let t=i(e);if(t)return t}else{let t=i(e);if(t)return t;if(l(e)&&r(e))return e}return null},a=e=>t?e.nextElementSibling:e.previousElementSibling,o=null;if(t&&(o=i(e)),!o){let n=e;for(;n;){let e=a(n);for(;e;){if(l(e)&&r(e)){o=e;break}let t=i(e);if(t){o=t;break}e=a(e)}if(o)break;let s=n.parentElement;if(!t&&s&&l(s)){o=s;break}n=s}}return o};return{findNext:(e,t)=>{switch(e){case`ArrowUp`:return i(t);case`ArrowDown`:return a(t);case`ArrowRight`:return u(t,!0);case`ArrowLeft`:return u(t,!1);default:return null}},clearHistory:()=>{n=[]}}},tn=e=>{let{metaKey:t,ctrlKey:n,shiftKey:r,altKey:i}=Jt(e.activationKey);return{metaKey:t,ctrlKey:n,shiftKey:r,altKey:i}},nn=()=>{let e=new WeakSet,t=Object.getOwnPropertyDescriptor(KeyboardEvent.prototype,`key`),n=!1;if(t?.get&&!t.get.__reactGrabPatched){n=!0;let r=t.get,i=function(){return e.has(this)?``:r.call(this)};i.__reactGrabPatched=!0,Object.defineProperty(KeyboardEvent.prototype,`key`,{get:i,configurable:!0})}return{claimedEvents:e,originalKeyDescriptor:t,restore:()=>{n&&t&&Object.defineProperty(KeyboardEvent.prototype,`key`,t)}}},rn=(e,t)=>({top:t<25,bottom:t>window.innerHeight-25,left:e<25,right:e>window.innerWidth-25}),an=(e,t,n)=>{let r=null,i=()=>{if(!t()){a();return}let o=e(),s=rn(o.x,o.y),c=0,l=0;if(s.top&&(l-=10),s.bottom&&(l+=10),s.left&&(c-=10),s.right&&(c+=10),c!==0||l!==0){let e=window.scrollX,t=window.scrollY;window.scrollBy(c,l);let r=window.scrollX-e,i=window.scrollY-t;(r!==0||i!==0)&&n?.({x:r,y:i})}r=s.top||s.bottom||s.left||s.right?ce(i):null},a=()=>{r!==null&&(Se(r),r=null)};return{start:i,stop:a,isActive:()=>r!==null}},on=()=>{let e=globalThis;return!!(e.chrome?.runtime?.id||e.browser?.runtime?.id)},sn=()=>{try{let e=`0.1.35`,t=`data:image/svg+xml;base64,${btoa(`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 294 294"><path fill="#ff40e0" d="M145 47c25-20 50-27 67-17 16 9 23 30 20 60 0 2-1 5-1 7l-2 13h-1l-12-4c-8-3-17-5-25-6l-17-3c-10-1-20-1-29-1-10 0-20 0-29 1-6 8-11 16-16 24-5 9-9 17-13 26 4 9 8 18 13 26s10 16 16 24l11 14c5 7 11 13 18 19l10 8s-1 0 0 0l-11 9c-17 14-35 22-49 22-6 0-13-2-18-5-16-9-23-30-20-59 1-3 1-5 1-8-30-12-48-29-48-50 0-18 14-35 41-47 2-1 5-2 7-3 0-2 0-5-1-7-3-30 4-51 20-60 18-10 42-3 68 17M71 201c-1 2-1 4-1 5-2 24 3 41 13 47h1c11 7 30 1 51-15-10-9-18-18-26-29-13-1-26-4-38-8m9-38c-3 9-5 17-7 26 8 2 17 4 25 6-3-5-6-10-9-16-3-5-6-10-9-16m-19-53c-2 1-3 1-5 2-21 10-34 23-34 35 0 13 14 27 39 37 3-12 7-25 12-37-5-12-9-24-12-37m37-10c-8 1-17 3-25 6 2 8 4 16 7 25 3-5 6-11 9-16zm-3-61c-4-1-8 0-12 2-10 7-15 24-13 47 0 2 0 3 1 5 12-4 25-6 38-8 8-10 16-20 26-29-15-11-29-17-40-17m111 2c-4-2-8-3-12-2-11 0-25 5-40 17 10 9 19 19 26 29 13 2 26 4 39 8v-5c3-23-2-40-13-47m-61 23c-7 6-13 13-19 19h37c-6-6-12-13-18-19"/><mask id="a"><path fill="#fff" d="m235 85-133 27 28 133 133-27Z"/></mask><path fill="#ff40e0" d="m137 130 76 11c8 1 9 11 3 15l-28 16-4 32c-1 8-10 10-14 4l-41-66c-3-6 1-13 8-12" mask="url(#a)"/></svg>`)}`;console.log(`%cReact Grab${` v${e}`}%c\nhttps://react-grab.com`,`background: #330039; color: #ffffff; border: 1px solid #d75fcb; padding: 4px 4px 4px 24px; border-radius: 4px; background-image: url("${t}"); background-size: 16px 16px; background-repeat: no-repeat; background-position: 4px center; display: inline-block; margin-bottom: 4px;`,``),navigator.onLine&&!on()&&fetch(`https://www.react-grab.com/api/version?source=browser&v=${e}&t=${Date.now()}`,{referrerPolicy:`origin`,keepalive:!0,priority:`low`,cache:`no-store`}).then(e=>e.text()).then(t=>{t&&t!==e&&console.warn(`[React Grab] v${e} is outdated (latest: v${t}). Run \`npx grab@latest upgrade\` to upgrade.`)}).catch(()=>null)}catch{}},cn=e=>typeof e==`object`&&!!e,ln=e=>{if(!cn(e))return null;let t={};return typeof e.enabled==`boolean`&&(t.enabled=e.enabled),(e.activationMode===`toggle`||e.activationMode===`hold`)&&(t.activationMode=e.activationMode),typeof e.keyHoldDuration==`number`&&Number.isFinite(e.keyHoldDuration)&&(t.keyHoldDuration=e.keyHoldDuration),typeof e.allowActivationInsideInput==`boolean`&&(t.allowActivationInsideInput=e.allowActivationInsideInput),typeof e.activationKey==`string`&&(t.activationKey=e.activationKey),typeof e.freezeReactUpdates==`boolean`&&(t.freezeReactUpdates=e.freezeReactUpdates),Object.keys(t).length===0?null:t},un=()=>{if(typeof window>`u`)return null;try{let e=(document.currentScript instanceof HTMLScriptElement?document.currentScript:null)?.getAttribute(`data-options`);return e?ln(JSON.parse(e)):null}catch{return null}},dn=e=>e===`Enter`||e===`NumpadEnter`,fn=(e,t)=>e.x>=t.x&&e.x<=t.x+t.width&&e.y>=t.y&&e.y<=t.y+t.height,pn=e=>({name:e.name,setup:(t,n)=>({actions:[typeof e.contextMenuAction==`function`?e.contextMenuAction(t,n):e.contextMenuAction],cleanup:e.cleanup})}),mn=pn({name:`copy`,contextMenuAction:{id:`copy`,label:`Copy`,shortcut:`C`,showInToolbarMenu:!0,onAction:e=>{e.copy?.()}}}),hn={name:`comment`,setup:()=>({actions:[{id:`comment`,label:`Comment`,shortcut:`Enter`,showInToolbarMenu:!0,onAction:e=>{e.enterPromptMode?.()}}]})},gn={name:`open`,actions:[{id:`open`,label:`Open`,shortcut:`O`,enabled:e=>!!e.filePath,onAction:e=>{e.filePath&&(e.hooks.onOpenFile(e.filePath,e.lineNumber)||Ce(e.filePath,e.lineNumber,e.hooks.transformOpenFileUrl),e.hideContextMenu(),e.cleanup())}}]},_n=async(e,t={})=>(await Promise.allSettled(e.map(e=>Pe(e,t)))).map(e=>e.status===`fulfilled`?e.value:``),vn=e=>{if(e.length===0)return[];let t=Math.min(...e.map(e=>e.length)),n=0;for(let r=1;r<=t;r++){let t=e[0][e[0].length-r];if(!e.every(e=>e[e.length-r]===t))break;n=r}return n===0?[]:e[0].slice(e[0].length-n)},yn=e=>{let t=e.indexOf(`
|
|
12
|
+
in `);return t===-1?{htmlPreview:e,stackLines:[]}:{htmlPreview:e.slice(0,t),stackLines:e.slice(t).split(`
|
|
13
|
+
`).filter(e=>e.trim().length>0)}},bn=(e,t)=>`[${t+1}]\n${e}`,xn=e=>{if(e.length<=1)return e[0]??``;let t=e.map(yn),n=vn(t.map(e=>e.stackLines));if(n.length===0)return e.map(bn).join(`
|
|
14
|
+
|
|
15
|
+
`);if(t.every(e=>e.stackLines.length===n.length))return`${t.map((e,t)=>`[${t+1}] ${e.htmlPreview}`).join(`
|
|
16
|
+
`)}\n (all from the same component stack)\n${n.join(`
|
|
17
|
+
`)}`;let r=[];for(let i=0;i<t.length;i++){let a=t[i];if(i===0){r.push(bn(e[0],0));continue}let o=a.stackLines.slice(0,a.stackLines.length-n.length),s=o.length>0?`\n${o.join(`
|
|
18
|
+
`)}`:``;r.push(`[${i+1}]\n${a.htmlPreview}${s}\n (remaining stack same as [1])`)}return r.join(`
|
|
19
|
+
|
|
20
|
+
`)},Z=pn({name:`copy-details`,contextMenuAction:(e,t)=>({id:`copy-details`,label:`Copy details`,showInToolbarMenu:!0,onAction:async e=>{await e.performWithFeedback(async()=>{let t=(await _n(e.elements)).filter(e=>e.trim());if(t.length===0)return!1;let n=xn(t),r=await e.hooks.transformHtmlContent(n,e.elements);return r?j(r,{componentName:e.componentName,tagName:e.tagName}):!1})}})}),Sn=e=>`${e}-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,Cn=`react-grab-comment-items`,wn=`react-grab-history-items`,Tn=()=>{try{let e=sessionStorage.getItem(wn);e&&!sessionStorage.getItem(Cn)&&sessionStorage.setItem(Cn,e),sessionStorage.removeItem(wn)}catch{}},En=()=>{try{let e=sessionStorage.getItem(Cn);return e?JSON.parse(e).map(e=>({...e,elementsCount:Math.max(1,e.elementsCount??1),previewBounds:e.previewBounds??[],elementSelectors:e.elementSelectors??[]})):[]}catch{return[]}},Dn=e=>{try{return sessionStorage.getItem(e)===`1`}catch{return!1}},On=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},kn=e=>{An=On(e);try{sessionStorage.setItem(Cn,JSON.stringify(An))}catch{}return An};let An=[];typeof window<`u`&&(Tn(),An=En(),Dn(`react-grab-clear-confirmed`));const jn=()=>An,Mn=e=>kn([{...e,id:Sn(`comment`)},...An].slice(0,20)),Nn=e=>{kn(An.filter(t=>t.id!==e))},Pn=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`},Fn=[mn,hn,Z,gn];let In=!1;const Ln=new Set,Rn=t=>{if(typeof window>`u`)return wt();let n={enabled:!0,activationMode:`toggle`,keyHoldDuration:100,allowActivationInsideInput:!0,...un(),...t};if(n.enabled===!1||In)return wt();In=!0,sn();let{enabled:r,...u}=n;return o(t=>{let n=!1,r,o=$t(u),{store:d,actions:x,pointer:S,viewportVersion:C,current:T}=ft({theme:Zt,keyHoldDuration:o.store.options.keyHoldDuration??100}),E=e(()=>T().state===`holding`),D=e(()=>T().state===`active`),be=e(()=>{let e=T();return e.state===`active`&&e.phase===`frozen`}),O=e(()=>{let e=T();return e.state===`active`&&(e.phase===`dragging-select`||e.phase===`dragging-reposition`)}),Ee=e(()=>{if(!O())return!1;let e=Math.abs(S().x+window.scrollX-d.dragStart.x),t=Math.abs(S().y+window.scrollY-d.dragStart.y);return e>2||t>2}),k=e(()=>{let e=T();return e.state===`active`&&e.phase===`dragging-reposition`}),Pe=e(()=>{let e=T();return e.state===`active`&&e.phase===`justDragged`}),j=e(()=>T().state===`copying`),M=e(()=>d.selectionInteractionLockDepth>0),N=e(()=>T().state===`justCopied`),P=e(()=>{let e=T();return e.state===`active`&&!!e.isPromptMode}),Le=e(()=>d.pendingCommentMode||P()),Re=e(()=>{let e=T();return e.state===`active`&&!!e.isPromptMode&&!!e.isPendingDismiss});g(l(D,(e,t)=>{e&&!t?(Oe(S().x,S().y),ke(),document.body.style.touchAction=`none`):!e&&t&&(xe(),he(),document.body.style.touchAction=``)}));let F=ne(),[I,ze]=c(F?!F.collapsed:!0),[Be,Ve]=c(0),[He,Ue]=c(0),[We,L]=c(F),[Ge,Ke]=c(!1),[qe,Je]=c(jn()),[Ye,Xe]=c(null),Ze,Qe=null,$e=new Map,et=new WeakMap,tt=()=>{et=new WeakMap},nt=()=>{ht(!1),tt()},rt=e=>{let t=We()??ne(),n={edge:t?.edge??`bottom`,ratio:t?.ratio??.5,collapsed:t?.collapsed??!1,enabled:t?.enabled??!0,defaultAction:t?.defaultAction??`comment`,...e};v(n),L(n);for(let e of Ln)e(n)},it=()=>{U.timerId!==null&&(clearTimeout(U.timerId),U.timerId=null)},at=()=>{U.copyWaiting=!1,U.holdTimerFired=!1,U.startTimestamp=null};g(()=>{if(T().state!==`holding`){it();return}U.startTimestamp=Date.now(),U.timerId=window.setTimeout(()=>{if(U.timerId=null,U.copyWaiting){U.holdTimerFired=!0;return}x.activate()},d.keyHoldDuration),b(it)}),g(()=>{let e=T();if(e.state!==`active`||e.phase!==`justDragged`)return;let t=setTimeout(()=>{x.finishJustDragged()},De);b(()=>clearTimeout(t))}),g(()=>{if(T().state!==`justCopied`)return;let e=setTimeout(()=>{x.finishJustCopied()},De);b(()=>clearTimeout(e))}),g(l(E,(e,t=!1)=>{!t||e||!D()||(o.store.options.activationMode!==`hold`&&x.setWasActivatedByToggle(!0),o.hooks.onActivate())}));let ot=(e,t,n)=>{ct(e,t,n),x.clearInputText()},st=()=>{let e=d.frozenElement||Z();e&&x.enterPromptMode({x:S().x,y:S().y},e)},ct=(e,t,n)=>{x.setCopyStart({x:t,y:n},e)},R={lastDetectionTimestamp:0,pendingDetectionScheduledAt:0,latestPointerX:0,latestPointerY:0},z=null,[lt,ut]=c(null),dt=(e,t)=>{z!==null&&clearTimeout(z),ut(null),z=window.setTimeout(()=>{ut({x:e,y:t}),z=null},32)},H=null,U={timerId:null,startTimestamp:null,copyWaiting:!1,holdTimerFired:!1},W=null,[mt,ht]=c(!1),gt=0,_t=!1,vt=null,yt=()=>{_t=!0,vt!==null&&window.clearTimeout(vt),vt=window.setTimeout(()=>{_t=!1,vt=null},De)},bt=()=>{vt!==null&&(window.clearTimeout(vt),vt=null),_t=!1},xt=0,St=0,G=null,K=null,q=null,[wt,Dt]=c(!1),[Ot,kt]=c(null),[jt,Mt]=c(void 0),[Nt,Pt]=c([]),[Ft,It]=c(0),Wt=en(ye,B),J=an(S,()=>O(),e=>{if(k()){if(x.shiftDragStart(e),W){W={x:W.x+e.x,y:W.y+e.y};return}let{pageX:t,pageY:n}=zn(S().x,S().y);W={x:t,y:n}}}),Y=e(()=>D()&&!j()),Kt=new Map,Jt=(e,t)=>{let n=Sn(`grabbed`),r={id:n,bounds:e,createdAt:Date.now(),element:t};x.addGrabbedBox(r),o.hooks.onGrabbedBox(e,t);let i=window.setTimeout(()=>{Kt.delete(n),x.removeGrabbedBox(n)},De);Kt.set(n,i)},Qt=async e=>{let t=await Promise.all(e.map(async e=>{let t=await re(e),n=t?.componentName??null,r=t?.filePath,i=t?.lineNumber??void 0,a=t?.columnNumber??void 0;n||=A(e);let o=e instanceof HTMLElement?e.innerText?.slice(0,100):void 0;return{tagName:w(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}}))},X=new Map,on=e=>{let t=X.get(e);t!==void 0&&(window.clearTimeout(t),X.delete(e))},sn=()=>{for(let e of X.values())window.clearTimeout(e);X.clear()},cn=e=>{on(e);let t=window.setTimeout(()=>{X.delete(e),x.updateLabelInstance(e,`fading`),setTimeout(()=>{X.delete(e),x.removeLabelInstance(e)},150)},De);X.set(e,t)},ln=(e,t)=>{if(t)on(e);else{let t=d.labelInstances.find(t=>t.id===e);t&&t.status===`copied`&&cn(e)}},un=(e,t,n,r,i)=>{x.clearLabelInstances(),sn();let a=Sn(`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},pn=(e,t)=>{x.clearLabelInstances(),sn();let n=[];for(let r of e){let e=B(r.element),i=e.x+e.width/2,a=e.width/2,o=r.mouseX===void 0?void 0:r.mouseX-i,s=Sn(`label`),c={id:s,bounds:e,tagName:r.tagName,componentName:r.componentName,status:t,createdAt:Date.now(),element:r.element,mouseX:r.mouseX,mouseXOffsetFromCenter:o,mouseXOffsetRatio:o!==void 0&&a>0?o/a:void 0};x.addLabelInstance(c),n.push(s)}return n},mn=()=>{sn(),x.clearLabelInstances()},hn=(e,t,n)=>{t?x.updateLabelInstance(e,`copied`):x.updateLabelInstance(e,`error`,n||`Unknown error`),cn(e)},gn=async(e,t,n,r)=>{bt(),T().state!==`copying`&&x.startCopy();let i=!1,a;try{await e(),await new Promise(e=>{window.setTimeout(e,fe)}),i=!0}catch(e){a=Et(e,`Action failed`)}if(t)for(let e of t)hn(e,i,a);T().state===`copying`&&(i&&x.completeCopy(n),r?Q():i?(x.activate(),yt()):x.unfreeze())},_n=e=>{let{copiedElements:t,content:n,extraPrompt:r,elementName:i,tagName:a,componentName:s}=e;if(o.hooks.onCopySuccess(t,n),!r)return;let c=t.length>0;if(c){let e=qe();for(let[n,i]of $e.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){Nn(n),$e.delete(n);break}}}let l=t.map((e,t)=>Fe(e,t===0)),u=Mn({content:n,elementName:i??`element`,tagName:a??`div`,componentName:s??void 0,elementsCount:t.length,previewBounds:t.map(e=>B(e)),elementSelectors:l,commentText:r,timestamp:Date.now()});Je(u);let d=u[0];d&&c&&$e.set(d.id,[...t]);let f=new Set(u.map(e=>e.id));for(let e of $e.keys())f.has(e)||$e.delete(e)},vn=(e,t,n)=>{let r=e[0],i=n??(r?A(r):null),a=r?w(r):null,s=i??a??void 0;return At({getContent:o.store.options.getContent,componentName:s},{onBeforeCopy:o.hooks.onBeforeCopy,transformCopyContent:o.hooks.transformCopyContent,onAfterCopy:o.hooks.onAfterCopy,onCopySuccess:(e,n)=>{_n({copiedElements:e,content:n,extraPrompt:t,elementName:s,tagName:a,componentName:i})},onCopyError:o.hooks.onCopyError},e,t)},yn=async(e,t,n)=>{if(e.length===0)return;let r=[],i=[];for(let t of e){let{wasIntercepted:e,pendingResult:n}=o.hooks.onElementSelect(t);e||r.push(t),n&&i.push(n),o.store.theme.grabbedBoxes.enabled&&Jt(B(t),t)}if(await le(),r.length>0)await vn(r,t,n);else if(i.length>0&&!(await Promise.all(i)).every(Boolean))throw Error(`Failed to copy`);Qt(e)},bn=e=>{let{element:t,cursorX:n,selectedElements:r,extraPrompt:i,shouldDeactivateAfter:a,onComplete:o,dragRect:s}=e,c=r??[t],l=s??d.frozenDragRect,u=c.length>1,f=l&&u?Vt(l):Ut(B(t)),p=u?f.x+f.width/2:n,m=w(t);bt(),x.startCopy();let h=m?un(f,m,void 0,`copying`,{element:t,mouseX:p,elements:r}):null;Ne(t).then(async e=>{await gn(()=>yn(c,i,e??void 0),h?[h]:null,t,a),o?.()}).catch(e=>{h&&hn(h,!1,Et(e,`Action failed`)),T().state===`copying`&&x.unfreeze()})},xn=e=>{let{elements:t,labelEntries:n,shouldDeactivateAfter:r,onComplete:i}=e,a=t[0];bt(),x.startCopy();let o=pn(n,`copying`);Ne(a).then(async e=>{await gn(()=>yn(t,void 0,e??void 0),o.length>0?o:null,a,r),i?.()}).catch(e=>{let t=Et(e,`Action failed`);for(let e of o)hn(e,!1,t);T().state===`copying`&&x.unfreeze()})},Z=e(()=>{if(C(),!Y()||Ee()||M())return null;let e=d.detectedElement;return _(e)?e:null}),Cn=e(()=>d.frozenElement||(be()?null:Z()));g(()=>{let e=d.detectedElement;if(!e)return;let t=setInterval(()=>{_(e)||x.setDetectedElement(null)},100);b(()=>clearInterval(t))}),g(l(Cn,e=>{if(G!==null&&(clearTimeout(G),G=null),!e){kt(null);return}G=window.setTimeout(()=>{G=null,kt(e)},100)})),b(()=>{G!==null&&(clearTimeout(G),G=null)}),g(()=>{let e=d.frozenElements;b(Te(e))}),g(l(D,e=>{e&&o.store.options.freezeReactUpdates&&b(Ae())}));let wn=()=>{if(d.isTouchMode&&O()){let e=d.detectedElement;return!e||pe(e)?void 0:e}let e=Cn();if(!(!e||pe(e)))return e},Tn=e(()=>wn()),En=()=>Tn()?d.isTouchMode&&O()?Y():Y()&&!Ee():!1,Dn=i(()=>d.frozenElements,t=>e(()=>(C(),B(t)))),On=e(()=>{let e=d.frozenElements;if(e.length===0)return[];let t=d.frozenDragRect;return t&&e.length>1?[Vt(t)]:Dn().map(e=>e())}),kn=e(()=>{if(!mt()||d.pendingCommentMode||wt())return null;let e=d.detectedElement;return!_(e)||pe(e)||d.frozenElements.includes(e)?null:e}),An=e(()=>{C();let e=kn();if(e)return B(e)}),Rn=e(()=>{C();let e=d.frozenElements;if(e.length>0){let t=On();if(e.length===1){let e=t[0];if(e)return e}let n=d.frozenDragRect;return n?t[0]??Vt(n):Ut(Xt(t))}let t=Tn();if(t)return B(t)}),zn=(e,t)=>({pageX:e+window.scrollX,pageY:t+window.scrollY}),Bn=(e,t)=>{let{pageX:n,pageY:r}=zn(e,t);return{x:Math.abs(n-d.dragStart.x),y:Math.abs(r-d.dragStart.y)}},Vn=e(()=>{if(!O())return!1;let e=Bn(S().x,S().y);return e.x>2||e.y>2}),Hn=(e,t)=>{let{pageX:n,pageY:r}=zn(e,t),i=Math.min(d.dragStart.x,n),a=Math.min(d.dragStart.y,r),o=Math.abs(n-d.dragStart.x),s=Math.abs(r-d.dragStart.y);return{x:i-window.scrollX,y:a-window.scrollY,width:o,height:s}},Un=e=>e.code===`Space`||e.key===` `,Wn=()=>{if(!O())return;x.startDragReposition();let{pageX:e,pageY:t}=zn(S().x,S().y);W={x:e,y:t}},Gn=()=>{x.stopDragReposition(),W=null},Kn=e(()=>{if(C(),!Vn())return;let e=Hn(S().x,S().y);return{borderRadius:`0px`,height:e.height,transform:`none`,width:e.width,x:e.x,y:e.y}}),qn=e(()=>{if(C(),!Vn())return[];let e=lt();if(!e)return[];let t=Hn(e.x,e.y),n=Lt(t,ye);return(n.length>0?n:Lt(t,ye,!1)).map(e=>B(e))}),Jn=e(()=>{let e=qn();if(e.length>0)return e;let t=An();return t?[...On(),t]:On()}),Yn=i(()=>d.frozenElements,t=>{let n=w(t)||`element`,r=A(t)??void 0;return e(()=>{if(C(),!_(t))return null;let e=B(t),i=et.get(t);return{tagName:n,componentName:r,bounds:e,mouseX:i===void 0?void 0:e.x+e.width*i}})}),Xn=e(()=>{if(P()||d.frozenElements.length<2)return[];let e=[];for(let t of Yn()){let n=t();n!==null&&e.push(n)}return e}),Zn=e(()=>{if(P())return null;let e=kn();return e?(C(),{tagName:w(e)||`element`,componentName:A(e)??void 0,bounds:B(e),mouseX:S().x}):null}),Qn=e(()=>{if(j()||P()){C();let e=d.frozenElement||Z();return e?{x:V(B(e)).x+d.copyOffsetFromCenterX,y:d.copyStart.y}:{x:d.copyStart.x,y:d.copyStart.y}}return{x:S().x,y:S().y}}),$n=e(()=>{if(!mt()||d.frozenElements.length!==1)return;C();let e=d.frozenElements[0];if(!_(e))return;let t=et.get(e);if(t===void 0)return;let n=B(e);return n.x+n.width*t});g(l(()=>[Z(),d.lastGrabbedElement],([e,t])=>{t&&e&&t!==e&&x.setLastGrabbed(null),e&&o.hooks.onElementHover(e)})),g(l(()=>Z(),e=>{let t=++xt,n=()=>{xt===t&&x.setSelectionSource(null,null)};if(!e){n();return}re(e).then(e=>{if(xt===t){if(!e){n();return}x.setSelectionSource(e.filePath,e.lineNumber)}}).catch(()=>{xt===t&&x.setSelectionSource(null,null)})}));let er=e(()=>d.grabbedBoxes.map(e=>({id:e.id,bounds:e.bounds,createdAt:e.createdAt}))),tr=e(()=>d.labelInstances.map(e=>({id:e.id,status:e.status,tagName:e.tagName,componentName:e.componentName,createdAt:e.createdAt})));g(l(e(()=>{let e=D(),t=O(),n=j(),r=P(),i=Z(),a=Kn(),s=o.store.theme.enabled,c=o.store.theme.selectionBox.enabled,l=o.store.theme.dragBox.enabled,u=Vn(),f=Cn(),p=N();return{isActive:e,isDragging:t,isCopying:n,isPromptMode:r,isSelectionBoxVisible:!!(s&&c&&e&&!n&&!p&&!t&&f!=null),isDragBoxVisible:!!(s&&l&&e&&!n&&u),targetElement:i,dragBounds:a?{x:a.x,y:a.y,width:a.width,height:a.height}:null,grabbedBoxes:[...er()],labelInstances:[...tr()],selectionFilePath:d.selectionFilePath,toolbarState:We()}}),e=>{o.hooks.onStateChange(e)})),g(l(()=>[P(),S().x,S().y,Z()],([e,t,n,r])=>{o.hooks.onPromptModeChange(e,{x:t,y:n,targetElement:r})})),g(l(()=>[ei(),Rn(),Z()],([e,t,n])=>{o.hooks.onSelectionBox(!!e,t??null,n)})),g(l(()=>[si(),Kn()],([e,t])=>{o.hooks.onDragBox(!!e,t??null)})),g(l(()=>[li(),ci(),Qn(),Z(),d.selectionFilePath,d.selectionLineNumber],([e,t,n,r,i,a])=>{o.hooks.onElementLabel(!!e,t,{x:n.x,y:n.y,content:``,element:r??void 0,tagName:r&&w(r)||void 0,filePath:i??void 0,lineNumber:a??void 0})}));let nr=null,rr=e=>{if(e){if(!nr){nr=document.createElement(`style`),nr.setAttribute(`data-react-grab-cursor`,``);let e=ae();e&&(nr.nonce=e),ue(nr),document.head.appendChild(nr)}nr.textContent=`* { cursor: ${e} !important; }`}else nr&&=(nr.remove(),null)};g(l(()=>[D(),j(),P()],([e,t,n])=>{rr(t?`progress`:e&&!n?`crosshair`:null)}));let ir=()=>{let e=E();x.activate(),e||o.hooks.onActivate()},Q=()=>{let e=O(),t=d.previouslyFocusedElement;Gn(),x.deactivate(),nt(),Or(),K=null,Dt(!1),e&&(document.body.style.userSelect=``),H&&window.clearTimeout(H),J.stop(),t instanceof HTMLElement&&_(t)&&t.focus(),o.hooks.onDeactivate()},ar=()=>{E()&&x.releaseHold(),D()&&Q(),bt()},or=()=>{x.setWasActivatedByToggle(!0),ir()},sr=()=>{x.clearLastCopied();let e=[...d.frozenElements],t=d.frozenElement||Z(),n=P()?d.inputText.trim():``;if(!t){Q();return}let r=e.length>0?e:[t],i=r.map(e=>B(e))[0],{x:a,y:o}=V(i),s=a+d.copyOffsetFromCenterX;x.setPointer({x:a,y:o}),x.exitPromptMode(),x.clearInputText(),bn({element:t,cursorX:s,selectedElements:r,extraPrompt:n||void 0,shouldDeactivateAfter:!0})},cr=()=>{if(x.clearLastCopied(),P()){if(Re()){x.clearInputText(),Q();return}x.setPendingDismiss(!0),Ue(e=>e+1)}},lr=()=>{x.clearInputText(),Q()},ur=()=>{x.setPendingDismiss(!1)},dr=()=>{let e=d.frozenElement||Z();e&&ot(e,S().x,S().y),st()},fr=()=>{if(D())Q();else if(I()){let e=We()?.defaultAction??`comment`;e===`comment`?x.setPendingCommentMode(!0):(q=e,Dt(!0)),or()}},pr=(e,t,n)=>{x.setPendingCommentMode(!1),x.clearInputText(),x.enterPromptMode({x:t,y:n},e)},mr=(e,t)=>{nt(),x.showContextMenu(t,e),Or(),Ti(),o.hooks.onContextMenu(e,t)},hr=(e,t)=>{let n=q;if(q=null,!n)return;let r=o.store.actions.find(e=>e.id===n);if(!r){Di(oe),mr(e,t);return}let i=B(e),a=vi({element:e,filePath:d.selectionFilePath??void 0,lineNumber:d.selectionLineNumber??void 0,tagName:w(e)||void 0,componentName:jt(),position:t,shouldDeferHideContextMenu:!1,performWithFeedbackOptions:{fallbackBounds:i,fallbackSelectionBounds:[i],position:t}});r.onAction(a)},gr=()=>{if(I()){if(D()&&Le()){Q();return}x.setPendingCommentMode(!0),D()||or()}},_r=(e,t,n)=>{let r=n&&mt()&&!O()&&!d.pendingCommentMode&&!wt();if(!I()||P()||be()&&!r||M()||d.contextMenuPosition!==null)return;if(x.setPointer({x:e,y:t}),R.latestPointerX=e,R.latestPointerY=t,r){let n=ge(e,t);n!==d.detectedElement&&x.setDetectedElement(n);return}let i=performance.now(),a=R.pendingDetectionScheduledAt>0&&i-R.pendingDetectionScheduledAt<200;if(i-R.lastDetectionTimestamp>=32&&!a&&(R.lastDetectionTimestamp=i,R.pendingDetectionScheduledAt=i,setTimeout(()=>{let e=ge(R.latestPointerX,R.latestPointerY);e!==d.detectedElement&&x.setDetectedElement(e),R.pendingDetectionScheduledAt=0})),O()){if(k()){let{pageX:n,pageY:r}=zn(e,t);W&&x.shiftDragStart({x:n-W.x,y:r-W.y}),W={x:n,y:r}}dt(e,t);let n=rn(e,t),r=n.top||n.bottom||n.left||n.right;r&&!J.isActive()?J.start():!r&&J.isActive()&&J.stop()}},vr=(e,t,n)=>!Y()||M()?!1:(!n&&mt()&&nt(),x.startDrag({x:e,y:t},n),x.setPointer({x:e,y:t}),document.body.style.userSelect=`none`,dt(e,t),o.hooks.onDragStart(e+window.scrollX,t+window.scrollY),!0),yr=(e,t)=>{let n=d.frozenElements.includes(e),r=d.frozenElements.length===0;if(!n){let n=Rt(B(e),t);et.set(e,n),r&&Mt(A(e)??void 0)}x.toggleFrozenElement(e),je();let i=d.frozenElements.includes(e);if(i||et.delete(e),d.frozenElements.length===0){nt(),x.unfreeze();return}me(d.frozenElements),ht(!0),x.setPointer(t),x.setLastGrabbed(i?e:d.frozenElements[d.frozenElements.length-1]),x.freeze(),Or()},br=()=>{let e=d.frozenElements.filter(_),t=e.map(e=>{let t=w(e)||`element`,n=A(e)??void 0,r=et.get(e),i=B(e);return{element:e,tagName:t,componentName:n,mouseX:r===void 0?i.x+i.width/2:i.x+i.width*r}});if(nt(),e.length===0){x.unfreeze();return}if(e.length===1){bn({element:e[0],cursorX:t[0].mouseX,selectedElements:e,shouldDeactivateAfter:d.wasActivatedByToggle});return}xn({elements:e,labelEntries:t,shouldDeactivateAfter:d.wasActivatedByToggle})},xr=(e,t,n)=>{let r=Lt(e,ye),i=r.length>0?r:Lt(e,ye,!1);if(i.length===0)return;let a=n&&!d.pendingCommentMode&&!wt();if(a&&x.addFrozenElements(i),me(a?d.frozenElements:i),o.hooks.onDragEnd(i,e),a){let e=i[i.length-1];ht(!0),je(),x.setPointer(V(B(e))),x.setLastGrabbed(e),x.freeze(),Or();return}let s=i[0],c=V(B(s));x.setPointer(c),x.setFrozenElements(i);let l=Ht(e);if(x.setFrozenDragRect(l),x.freeze(),x.setLastGrabbed(s),d.pendingCommentMode){pr(s,c.x,c.y);return}if(wt()){Dt(!1),q?hr(s,c):mr(s,c);return}let u=d.wasActivatedByToggle&&!t;bn({element:s,cursorX:c.x,selectedElements:i,shouldDeactivateAfter:u,dragRect:l})},Sr=e=>{for(let t of d.frozenElements)if(_(t)&&fn(e,B(t)))return t;return null},Cr=(e,t,n,r)=>{let i=_(d.frozenElement)?d.frozenElement:null,a=_(K)?K:null,s=ve(e,t).find(ye)??null,c=s??(_(d.detectedElement)?d.detectedElement:null),l=c??i??a;if(!l)return;if(r&&!d.pendingCommentMode&&!wt()){s!==null&&yr(s,{x:e,y:t});return}let u,f,p=c===null&&i===l,m=c===null&&i===null&&a===l;if(p)u=S().x,f=S().y;else if(m){let e=V(B(l));u=e.x,f=e.y}else u=e,f=t;if(K=null,d.pendingCommentMode){pr(l,u,f);return}if(wt()){Dt(!1);let{wasIntercepted:e}=o.hooks.onElementSelect(l);if(e)return;me([l]),x.setFrozenElement(l);let t={x:u,y:f};x.setPointer(t),x.freeze(),q?hr(l,t):mr(l,t);return}let h=d.wasActivatedByToggle&&!n;x.setLastGrabbed(l),bn({element:l,cursorX:u,shouldDeactivateAfter:h})},wr=()=>{O()&&(Gn(),x.cancelDrag(),J.stop(),document.body.style.userSelect=``)},Tr=(e,t,n,r)=>{if(!O())return;z!==null&&(clearTimeout(z),z=null),ut(null);let i=Bn(e,t),a=i.x>2||i.y>2,o=a?Hn(e,t):null;a?x.endDrag():x.cancelDrag(),Gn(),J.stop(),document.body.style.userSelect=``,o?xr(o,n,r):Cr(e,t,n,r)},$=Tt(),Er=nn(),Dr=e=>{let t;try{t=Er.originalKeyDescriptor?.get?Er.originalKeyDescriptor.get.call(e):e.key}catch{return!1}let n=t===`Enter`||dn(e.code),r=D()||E();return n&&r&&!P()&&!d.wasActivatedByToggle?(Er.claimedEvents.add(e),e.preventDefault(),e.stopImmediatePropagation(),!0):!1};$.addDocumentListener(`keydown`,Dr,{capture:!0}),$.addDocumentListener(`keyup`,Dr,{capture:!0}),$.addDocumentListener(`keypress`,Dr,{capture:!0});let Or=()=>{Pt([]),It(0),Wt.clearHistory()},kr=e=>{x.setFrozenElement(e),x.freeze(),K=e;let t=V(B(e));x.setPointer(t),d.contextMenuPosition!==null&&x.showContextMenu(t,e)},Ar=e=>{let t=zt(B(e)),n=ve(t.x,t.y).filter(ye).reverse();Pt(n),It(Math.max(0,n.indexOf(e)))},jr=e=>{let t=Nt()[e];t&&(It(e),Wt.clearHistory(),kr(t))},Mr=e=>{if(!D()||P()||mt()||!se.has(e.key))return!1;let t=Cn(),n=!t;if(t||=ge(window.innerWidth/2,window.innerHeight/2),!t)return!1;if(!(e.key===`ArrowUp`||e.key===`ArrowDown`)){Or();let r=Wt.findNext(e.key,t);return!r&&!n?!1:(e.preventDefault(),e.stopPropagation(),kr(r??t),!0)}Nt().length===0&&Ar(t);let r=Wt.findNext(e.key,t)??t;e.preventDefault(),e.stopPropagation(),kr(r);let i=Nt().indexOf(r);return i===-1?Ar(r):It(i),!0},Nr=e=>{if(!dn(e.code)||f(e)||M())return!1;let t=d.lastCopiedElement;if(!E()&&!P()&&!D()&&t&&_(t)&&!d.labelInstances.some(e=>e.status===`copied`||e.status===`fading`)){e.preventDefault(),e.stopImmediatePropagation();let n=V(B(t));return x.setPointer(n),ot(t,n.x,n.y),x.setFrozenElement(t),x.clearLastCopied(),st(),D()||ir(),!0}if(E()&&!P()){e.preventDefault(),e.stopImmediatePropagation();let t=d.frozenElement||Z();return t&&ot(t,S().x,S().y),x.setPointer({x:S().x,y:S().y}),t&&x.setFrozenElement(t),st(),H!==null&&(window.clearTimeout(H),H=null),D()||ir(),!0}return!1},Pr=e=>{if(e.key?.toLowerCase()!==`o`||P()||!D()||!(e.metaKey||e.ctrlKey))return!1;let t=d.selectionFilePath,n=d.selectionLineNumber;return t?(e.preventDefault(),e.stopPropagation(),o.hooks.onOpenFile(t,n??void 0)||Ce(t,n??void 0,o.hooks.transformOpenFileUrl),!0):!1},Fr=e(()=>Nt().map(e=>({tagName:w(e)||`element`,componentName:A(e)??void 0}))),Ir=e(()=>({items:Fr(),activeIndex:Ft(),isVisible:Nt().length>0})),Lr=e=>{if(!(!o.store.options.allowActivationInsideInput&&f(e))&&!(!Yt(e,o.store.options)&&((e.metaKey||e.ctrlKey)&&!de.includes(e.key)&&!dn(e.code)&&(D()&&!d.wasActivatedByToggle?Q():E()&&(it(),at(),x.releaseHold())),!dn(e.code)||!E()))){if((D()||E())&&!P()&&(e.preventDefault(),dn(e.code)&&e.stopImmediatePropagation()),D()){if(d.wasActivatedByToggle&&o.store.options.activationMode!==`hold`||e.repeat)return;H!==null&&window.clearTimeout(H),H=window.setTimeout(()=>{Q()},200);return}if(E()&&e.repeat){if(U.copyWaiting){let e=U.holdTimerFired;at(),e&&x.activate()}return}if(!(j()||N())&&!E()){let t=o.store.options.keyHoldDuration??100;f(e)?ee(e)?t+=600:t+=400:te()&&(t+=600),at(),x.startHold(t)}}};$.addWindowListener(`keydown`,e=>{if(Dr(e),!I()){Yt(e,o.store.options)&&!e.repeat&&Ve(e=>e+1);return}let t=dn(e.code)&&E()&&!P(),n=y(e,`data-react-grab-input`);if(P()&&Yt(e,o.store.options)&&!e.repeat&&!n){e.preventDefault(),e.stopPropagation(),cr();return}if(e.key===`Escape`&&Ye()!==null){wi();return}let r=y(e,`data-react-grab-ignore-events`)&&!t;if(P()||r)return e.key===`Escape`&&(P()?cr():d.wasActivatedByToggle&&Q()),r&&se.has(e.key)&&Mr(e),void 0;if(O()&&Un(e)){e.repeat||Wn(),e.preventDefault(),e.stopPropagation();return}if(e.key===`Escape`&&(E()||d.wasActivatedByToggle)){Q();return}D()&&!de.includes(e.key)&&e.preventDefault();let i=Date.now()-gt<200;Mr(e)||Nr(e)||Pr(e)||i||Lr(e)},{capture:!0}),$.addWindowListener(`keyup`,e=>{if(Dr(e))return;if(Un(e)&&k()&&(Gn(),e.preventDefault(),e.stopPropagation()),e.key===`Shift`&&mt()){O()&&wr(),br();return}if(y(e,`data-react-grab-ignore-events`))return;let t=tn(o.store.options),n=t.metaKey||t.ctrlKey?h()?!e.metaKey:!e.ctrlKey:t.shiftKey&&!e.shiftKey||t.altKey&&!e.altKey,r=o.store.options.activationKey?typeof o.store.options.activationKey==`function`?o.store.options.activationKey(e):qt(o.store.options.activationKey)(e):Gt(e.key,e.code);if(N()||_t){(r||n)&&(bt(),Q());return}if(!E()&&!D()||P())return;let i=!!o.store.options.activationKey,a=o.store.options.activationMode===`hold`,s=O();if(D()){let e=d.contextMenuPosition!==null;if(n){if(d.wasActivatedByToggle&&o.store.options.activationMode!==`hold`||e)return;Q()}else if(a&&r){if(H!==null&&(window.clearTimeout(H),H=null),e||s)return;Q()}else !i&&r&&H!==null&&(window.clearTimeout(H),H=null);return}if(r||n){if(d.wasActivatedByToggle&&o.store.options.activationMode!==`hold`)return;if(E()||U.holdTimerFired&&n){it();let t=(U.startTimestamp?Date.now()-U.startTimestamp:0)>=200,n=U.holdTimerFired&&t&&(o.store.options.allowActivationInsideInput||!f(e));at(),n?x.activate():x.releaseHold()}else Q()}},{capture:!0}),$.addDocumentListener(`copy`,()=>{E()&&(U.copyWaiting=!0)}),$.addWindowListener(`keypress`,Dr,{capture:!0}),$.addWindowListener(`pointermove`,e=>{if(!e.isPrimary)return;let t=e.pointerType===`touch`;x.setTouchMode(t),!y(e,`data-react-grab-ignore-events`)&&d.contextMenuPosition===null&&(M()||t&&!E()&&!D()||((t?E():D())&&!P()&&be()&&!e.shiftKey&&!mt()&&(x.unfreeze(),Or()),_r(e.clientX,e.clientY,e.shiftKey)))},{passive:!0}),$.addWindowListener(`pointerdown`,e=>{if(e.button===0&&e.isPrimary&&(x.setTouchMode(e.pointerType===`touch`),!y(e,`data-react-grab-ignore-events`)&&d.contextMenuPosition===null&&Ye()===null)){if(P()){let t=Rn();t&&e.clientX>=t.x&&e.clientX<=t.x+t.width&&e.clientY>=t.y&&e.clientY<=t.y+t.height?sr():cr();return}if(M()){e.preventDefault(),e.stopImmediatePropagation();return}vr(e.clientX,e.clientY,e.shiftKey)&&(e.pointerId!==void 0&&document.documentElement.setPointerCapture(e.pointerId),e.preventDefault(),e.stopImmediatePropagation())}},{capture:!0}),$.addWindowListener(`pointerup`,e=>{if(e.button!==0||!e.isPrimary||y(e,`data-react-grab-ignore-events`)||d.contextMenuPosition!==null)return;let t=Y()||M()||O(),n=e.metaKey||e.ctrlKey;Tr(e.clientX,e.clientY,n,e.shiftKey),t&&(e.preventDefault(),e.stopImmediatePropagation())},{capture:!0}),$.addWindowListener(`contextmenu`,e=>{if(!Y()||j()||P())return;let t=y(e,`data-react-grab-ignore-events`),n={x:e.clientX,y:e.clientY},r=t&&d.frozenElements.length>1?Sr(n):null;if(t&&Nt().length>0)Or();else if(t&&!r)return;if(d.contextMenuPosition!==null){e.preventDefault();return}e.preventDefault(),e.stopPropagation();let i=r??ge(e.clientX,e.clientY);if(!i)return;let a=d.frozenElements;a.length>1&&a.includes(i)?me(a):(me([i]),x.setFrozenElement(i)),x.setPointer(n),x.freeze(),mr(i,n)},{capture:!0}),$.addWindowListener(`pointercancel`,e=>{e.isPrimary&&wr()}),$.addWindowListener(`click`,e=>{y(e,`data-react-grab-ignore-events`)||d.contextMenuPosition===null&&(Y()||Pe())&&(e.preventDefault(),e.stopImmediatePropagation(),d.wasActivatedByToggle&&!P()&&!e.shiftKey&&(E()?x.setWasActivatedByToggle(!1):Q()))},{capture:!0}),$.addDocumentListener(`visibilitychange`,()=>{if(document.hidden){x.clearGrabbedBoxes();let e=d.activationTimestamp;D()&&!P()&&e!==null&&Date.now()-e>500&&Q()}}),$.addWindowListener(`blur`,()=>{wr(),E()&&(it(),x.releaseHold(),at()),nt()}),$.addWindowListener(`focus`,()=>{gt=Date.now()}),$.addWindowListener(`focusin`,e=>{y(e,`data-react-grab`)&&e.stopPropagation()},{capture:!0});let Rr=()=>{if(!(d.isTouchMode&&!E()&&!D())&&I()&&!P()&&!M()&&!be()&&!O()&&d.contextMenuPosition===null&&d.frozenElements.length===0){let e=ge(S().x,S().y);x.setDetectedElement(e)}},zr=null,Br=null,Vr=()=>{Bt(),Rr(),x.incrementViewportVersion(),x.updateContextMenuPosition()};$.addWindowListener(`scroll`,Vr,{capture:!0});let Hr=window.innerWidth,Ur=window.innerHeight;$.addWindowListener(`resize`,()=>{let e=window.innerWidth,t=window.innerHeight;if(Hr>0&&Ur>0){let n=e/Hr,r=t/Ur,i=Math.abs(n-r)<we,a=Math.abs(n-1)>we;i&&a&&x.setPointer({x:S().x*n,y:S().y*r})}Hr=e,Ur=t,Vr()});let Wr=window.visualViewport;if(Wr){let{signal:e}=$;Wr.addEventListener(`resize`,Vr,{signal:e}),Wr.addEventListener(`scroll`,Vr,{signal:e})}let Gr=()=>{Br===null&&(Br=ce(()=>{Br=null,x.incrementViewportVersion()}))};g(()=>{if(o.store.theme.enabled&&(D()||j()||d.labelInstances.length>0||d.grabbedBoxes.length>0)){if(zr!==null)return;zr=window.setInterval(()=>{Gr()},100);return}zr!==null&&(window.clearInterval(zr),zr=null),Br!==null&&(Se(Br),Br=null)}),b(()=>{zr!==null&&window.clearInterval(zr),Br!==null&&Se(Br)}),$.addDocumentListener(`copy`,e=>{P()||y(e,`data-react-grab-ignore-events`)||Y()&&e.preventDefault()},{capture:!0}),b(()=>{$.abort(),z!==null&&window.clearTimeout(z),H&&window.clearTimeout(H),bt(),Qe!==null&&Se(Qe),Kt.forEach(e=>window.clearTimeout(e)),Kt.clear(),sn(),J.stop(),document.body.style.userSelect=``,document.body.style.touchAction=``,rr(null),Er.restore()});let{root:Kr,host:qr}=pt(Ie);b(Ct(qr).cleanup);let Jr=e(()=>o.store.theme.enabled),Yr=e(()=>o.store.theme.selectionBox.enabled),Xr=e(()=>o.store.theme.elementLabel.enabled),Zr=e(()=>o.store.theme.dragBox.enabled),Qr=e(()=>N()||Ge()&&!be()),$r=e(()=>qn().length>0),ei=e(()=>!Jr()||!Yr()||Qr()?!1:$r()?!0:En()),ti=e(()=>{let e=Tn();if(e)return w(e)||void 0});g(l(()=>Ot(),e=>{let t=++St;if(!e){Mt(void 0);return}let n=A(e)??void 0;Mt(n),Ne(e).then(e=>{St===t&&Mt(e??n)}).catch(()=>{St===t&&Mt(n)})}));let ni=e(()=>d.contextMenuPosition!==null||!Xr()||Qr()?!1:En()),ri=new Map,ii=e=>{let t=e.elements&&e.elements.length>1,n=e.element,r=!t&&n&&document.body.contains(n)?B(n):e.bounds,i=ri.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 ri.set(e.id,l),l},ai=e(()=>{if(!Jr()||!o.store.theme.grabbedBoxes.enabled)return[];C();let e=new Set(d.labelInstances.map(e=>e.id));for(let t of ri.keys())e.has(t)||ri.delete(t);return d.labelInstances.map(ii)}),oi=e(()=>!Jr()||!o.store.theme.grabbedBoxes.enabled?[]:(C(),d.grabbedBoxes.map(e=>!e.element||!document.body.contains(e.element)?e:{...e,bounds:B(e.element)}))),si=e(()=>Jr()&&Zr()&&Y()&&Vn()),ci=e(()=>j()?`processing`:`hover`),li=e(()=>{if(!Jr())return!1;let e=Xr(),t=P(),n=j(),r=Y(),i=O(),a=!!Cn(),o=Ge(),s=be();return!e||t||o&&!s?!1:n?!0:r&&!i&&a}),ui=e(()=>{C();let e=d.contextMenuElement;return e?B(e):null}),di=e(()=>(C(),d.contextMenuPosition)),fi=e(()=>{let e=d.contextMenuElement;if(!e)return;let t=d.frozenElements.length;return t>1?`${t} elements`:w(e)||void 0}),[pi]=a(()=>({element:d.contextMenuElement,frozenCount:d.frozenElements.length}),async({element:e,frozenCount:t})=>{if(e&&!(t>1))return await Ne(e)??void 0}),[mi]=a(()=>d.contextMenuElement,async e=>e?re(e):null),hi=async e=>{x.incrementSelectionInteractionLockDepth();try{return await e()}finally{x.decrementSelectionInteractionLockDepth()}},gi=(e,t,n,r,i)=>async a=>{await hi(async()=>{let o=i?.fallbackBounds??null,s=i?.fallbackSelectionBounds??[],c=i?.position??d.contextMenuPosition??S(),l=On(),u=ui()??o,f=t.length>1,p=f?Ut(Xt(l)):u,m=d.wasActivatedByToggle,h;if(h=f?l:u?[u]:s,x.hideContextMenu(),p){let i=f?p.x+p.width/2:c.x,o=un(p,n||`element`,r,`copying`,{element:e,mouseX:i,elements:f?t:void 0,boundsMultiple:h}),s=!1,l;try{s=await a(),s||(l=`Failed to copy`)}catch(e){l=Et(e,`Action failed`)}hn(o,s,l)}else try{await a()}catch{}m?Q():x.unfreeze()})},_i=()=>{setTimeout(()=>{x.hideContextMenu()},0)},vi=e=>{let{element:t,filePath:n,lineNumber:r,tagName:i,componentName:a,position:s,performWithFeedbackOptions:c,shouldDeferHideContextMenu:l,onBeforeCopy:u,onBeforePrompt:f,customEnterPromptMode:p}=e,m=d.frozenElements.length>0?d.frozenElements:[t],h=l?_i:x.hideContextMenu,g={element:t,elements:m,filePath:n,lineNumber:r,componentName:a,tagName:i,enterPromptMode:p??(()=>{mn(),f?.(),ot(t,s.x,s.y),x.setPointer({x:s.x,y:s.y}),x.setFrozenElement(t),st(),D()||ir(),h()}),copy:()=>{u?.(),bn({element:t,cursorX:s.x,selectedElements:m.length>1?m:void 0,shouldDeactivateAfter:d.wasActivatedByToggle}),h()},hooks:{transformHtmlContent:o.hooks.transformHtmlContent,onOpenFile:o.hooks.onOpenFile,transformOpenFileUrl:o.hooks.transformOpenFileUrl},performWithFeedback:gi(t,m,i,a,c),hideContextMenu:h,cleanup:()=>{d.wasActivatedByToggle?Q():x.unfreeze()}},_=o.hooks.transformActionContext(g);return{...g,..._}},yi=e(()=>{let e=d.contextMenuElement;if(!e)return;let t=mi(),n=d.contextMenuPosition??S();return vi({element:e,filePath:t?.filePath,lineNumber:t?.lineNumber??void 0,tagName:fi(),componentName:pi(),position:n,shouldDeferHideContextMenu:!0,onBeforeCopy:()=>{K=null},customEnterPromptMode:()=>{mn(),x.clearInputText(),x.enterPromptMode(n,e),_i()}})}),bi=()=>{setTimeout(()=>{x.hideContextMenu(),Q()},0)},xi=()=>{Qe!==null&&(Se(Qe),Qe=null)},Si=()=>{if(!Ze)return null;let e=Ze.getBoundingClientRect(),t=Pn(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}},Ci=e=>{xi();let t=()=>{let n=Si();n&&e(n),Qe=ce(t)};t()},wi=()=>{xi(),Xe(null)},Ti=()=>{wi()},Ei=()=>{Ye()===null?(x.hideContextMenu(),Ci(Xe)):wi()},Di=e=>{rt({defaultAction:e})},Oi=e=>{let t=d.labelInstances.find(t=>t.id===e);if(!t?.element||!_(t.element))return;let n=t.element,r=V(B(n)),i={x:t.mouseX??r.x,y:r.y},a=t.elements&&t.elements.length>0?t.elements.filter(e=>_(e)):[n];setTimeout(()=>{D()||(x.setWasActivatedByToggle(!0),ir()),x.setPointer(i),x.setFrozenElements(a),a.length>1&&t.bounds&&x.setFrozenDragRect(Ht(t.bounds)),x.freeze(),x.showContextMenu(i,n)},0)};g(()=>{let e=o.store.theme.hue;e===0?Kr.style.filter=``:Kr.style.filter=`hue-rotate(${e}deg)`}),o.store.theme.enabled&&import(`./renderer-DQoIdFmy.js`).then(({ReactGrabRenderer:e})=>{n||(r=p(()=>s(e,{get selectionVisible(){return ei()},get selectionBounds(){return Rn()},get selectionBoundsMultiple(){return Jn()},get selectionShouldSnap(){return d.frozenElements.length>0||qn().length>0},get selectionElementsCount(){return d.frozenElements.length},get frozenLabelEntries(){return Xn()},get pendingShiftPreviewEntry(){return Zn()??void 0},get selectionFilePath(){return d.selectionFilePath??void 0},get selectionLineNumber(){return d.selectionLineNumber??void 0},get selectionTagName(){return ti()},get selectionComponentName(){return jt()},get selectionLabelVisible(){return ni()},selectionLabelStatus:`idle`,get selectionArrowNavigationState(){return Ir()},onArrowNavigationSelect:jr,get labelInstances(){return ai()},get dragVisible(){return si()},get dragBounds(){return Kn()},get grabbedBoxes(){return oi()},get mouseX(){return m(()=>d.frozenElements.length>1)()?void 0:$n()??Qn().x},get isFrozen(){return be()||D()||Ge()},get inputValue(){return d.inputText},get isPromptMode(){return P()},onShowContextMenuInstance:Oi,onLabelInstanceHoverChange:ln,get onInputChange(){return x.setInputText},onInputSubmit:()=>void sr(),onToggleExpand:dr,get isPendingDismiss(){return Re()},get selectionLabelShakeCount(){return He()},onConfirmDismiss:lr,onCancelDismiss:ur,get toolbarVisible(){return o.store.theme.toolbar.enabled},get isActive(){return D()},onToggleActive:fr,get enabled(){return I()},get shakeCount(){return Be()},onToolbarStateChange:e=>{L(e),e.enabled!==I()&&(ze(e.enabled),e.enabled||(ar(),Ti())),Ln.forEach(t=>t(e))},onSubscribeToToolbarStateChanges:e=>(Ln.add(e),()=>{Ln.delete(e)}),onToolbarSelectHoverChange:Ke,onToolbarRef:e=>{Ze=e},get contextMenuPosition(){return di()},get contextMenuBounds(){return ui()},get contextMenuTagName(){return fi()},get contextMenuComponentName(){return pi()},get contextMenuHasFilePath(){return!!mi()?.filePath},get actions(){return o.store.actions},get actionContext(){return yi()},onContextMenuDismiss:bi,onContextMenuHide:_i,get toolbarMenuPosition(){return Ye()},get toolbarMenuActions(){return o.store.actions.filter(e=>e.showInToolbarMenu===!0)},get defaultActionId(){return We()?.defaultAction??`comment`},onSetDefaultAction:Di,onToggleToolbarMenu:Ei,onToolbarMenuDismiss:wi}),Kr))}).catch(e=>{console.warn(`[react-grab] Failed to load renderer:`,e)});let ki={activate:()=>{x.setPendingCommentMode(!1),!D()&&I()&&or()},deactivate:()=>{(D()||j())&&Q()},toggle:()=>{D()?Q():I()&&or()},comment:gr,isActive:()=>D(),isEnabled:()=>I(),setEnabled:e=>{e!==I()&&(ze(e),rt({enabled:e,collapsed:!e}),e||(ar(),Ti()))},getToolbarState:()=>ne(),setToolbarState:e=>{let t=ne(),n=e.collapsed??t?.collapsed??!1,r={edge:e.edge??t?.edge??`bottom`,ratio:e.ratio??t?.ratio??.5,collapsed:n,enabled:!n,defaultAction:e.defaultAction??t?.defaultAction??`comment`};v(r),L(r),r.enabled!==I()&&(ze(r.enabled),r.enabled||(ar(),Ti())),Ln.forEach(e=>e(r))},onToolbarStateChange:e=>(Ln.add(e),()=>{Ln.delete(e)}),dispose:()=>{n=!0,In=!1,r?.(),xi(),Ln.clear(),t()},copyElement:async e=>{let t=Array.isArray(e)?e:[e];return t.length===0?!1:await vn(t)},getSource:async e=>{let t=await re(e);return t?{filePath:t.filePath,lineNumber:t.lineNumber,componentName:t.componentName}:null},getStackContext:ie,getState:()=>({isActive:D(),isDragging:O(),isCopying:j(),isPromptMode:P(),isSelectionBoxVisible:!!ei(),isDragBoxVisible:!!si(),targetElement:Z(),dragBounds:Kn()??null,grabbedBoxes:[...er()],labelInstances:[...tr()],selectionFilePath:d.selectionFilePath,toolbarState:We()}),setOptions:e=>{o.setOptions(e)},registerPlugin:e=>{o.register(e,ki)},unregisterPlugin:e=>{o.unregister(e)},getPlugins:()=>o.getPluginNames(),getDisplayName:A};for(let e of Fn)o.register(e,ki);return setTimeout(()=>{Me(!0)},_e),ki})};export{Zt as a,hn as i,_n as n,gn as r,Rn as t};
|