grab 0.1.36 → 0.1.37
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/core/index.cjs +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core-B-Khfj_M.cjs +11 -0
- package/dist/core-B1AFUjSC.cjs +11 -0
- package/dist/core-BidH6Dr_.js +11 -0
- package/dist/core-DceltyXc.js +11 -0
- package/dist/create-element-selector-CA_x0jT4.cjs +9 -0
- package/dist/create-element-selector-CE8DT97A.cjs +9 -0
- package/dist/create-element-selector-CyDMEkYV.js +9 -0
- package/dist/create-element-selector-DXGzc20x.js +9 -0
- package/dist/freeze-updates-BMHg9jtm.js +52 -0
- package/dist/freeze-updates-CyZYvC-n.cjs +52 -0
- package/dist/freeze-updates-W92Tv24a.cjs +52 -0
- package/dist/freeze-updates-pl4bncJb.js +52 -0
- package/dist/index.cjs +1 -1
- package/dist/index.global.js +15 -24
- package/dist/index.js +1 -1
- package/dist/primitives.cjs +2 -2
- package/dist/primitives.js +2 -2
- package/dist/renderer-9DVex4g4.cjs +9 -0
- package/dist/renderer-BHtpQ-BY.cjs +9 -0
- package/dist/renderer-CiIPsSof.js +9 -0
- package/dist/renderer-Q2ZCGKZI.js +9 -0
- package/dist/state-BqjLpM7A.js +9 -0
- package/dist/state-CLrWsl_z.cjs +9 -0
- package/dist/state-CRSyg2Ji.cjs +9 -0
- package/dist/state-DC5RpAo4.js +9 -0
- package/dist/styles.css +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,11 @@
|
|
|
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-DC5RpAo4.js";import{A as re,C as ie,E as ae,F as oe,J as se,M as ce,N as le,P as x,R as ue,S,T as de,U as fe,X as pe,Y as C,Z as w,_ as me,a as he,b as T,c as ge,d as _e,dt as E,f as ve,g as ye,h as D,i as be,j as xe,k as Se,l as Ce,m as O,o as we,p as k,r as Te,s as Ee,t as De,u as Oe,ut as ke,v as Ae,y as A}from"./freeze-updates-pl4bncJb.js";import{n as je,t as Me}from"./create-element-selector-CyDMEkYV.js";var Ne=`/*! 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}.will-change-transform{will-change: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 Pe=Symbol(`store-raw`),Fe=Symbol(`store-node`),j=Symbol(`store-has`),M=Symbol(`store-self`);function Ie(e){let t=e[u];if(!t&&(Object.defineProperty(e,u,{value:t=new Proxy(e,He)}),!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 N(e){let t;return typeof e==`object`&&!!e&&(e[u]||!(t=Object.getPrototypeOf(e))||t===Object.prototype||Array.isArray(e))}function Le(e,t=new Set){let n,r,i,a;if(n=e!=null&&e[Pe])return n;if(!N(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=Le(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=Le(i,t))!==i&&(e[a]=r))}return e}function Re(e,t){let n=e[t];return n||Object.defineProperty(e,t,{value:n=Object.create(null)}),n}function ze(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 P(e,t){let n=Reflect.getOwnPropertyDescriptor(e,t);return!n||n.get||!n.configurable||t===u||t===Fe?n:(delete n.value,delete n.writable,n.get=()=>e[u][t],n)}function Be(e){r()&&ze(Re(e,Fe),M)()}function Ve(e){return Be(e),Reflect.ownKeys(e)}const He={get(e,n,i){if(n===Pe)return e;if(n===u)return i;if(n===t)return Be(e),i;let a=Re(e,Fe),o=a[n],s=o?o():e[n];if(n===Fe||n===j||n===`__proto__`)return s;if(!o){let t=Object.getOwnPropertyDescriptor(e,n);r()&&(typeof s!=`function`||e.hasOwnProperty(n))&&!(t&&t.get)&&(s=ze(a,n,s)())}return N(s)?Ie(s):s},has(e,n){return n===Pe||n===u||n===t||n===Fe||n===j||n===`__proto__`?!0:(r()&&ze(Re(e,j),n)(),n in e)},set(){return!0},deleteProperty(){return!0},ownKeys:Ve,getOwnPropertyDescriptor:P};function Ue(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[j]&&e[j][t]&&i!==void 0&&e[j][t].$()):(e[t]=n,e[j]&&e[j][t]&&i===void 0&&e[j][t].$());let o=Re(e,Fe),s;if((s=ze(o,t,i))&&s.$(()=>n),Array.isArray(e)&&e.length!==a){for(let t=e.length;t<a;t++)(s=o[t])&&s.$();(s=ze(o,`length`,a))&&s.$(e.length)}(s=o[M])&&s.$()}function We(e,t){let n=Object.keys(t);for(let r=0;r<n.length;r+=1){let i=n[r];Ue(e,i,t[i])}}function Ge(e,t){if(typeof t==`function`&&(t=t(e)),t=Le(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&&Ue(e,n,r)}Ue(e,`length`,r)}else We(e,t)}function Ke(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++)Ke(e,[r[i]].concat(t),n);return}else if(o&&a===`function`){for(let i=0;i<e.length;i++)r(e[i],i)&&Ke(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)Ke(e,[r].concat(t),n);return}else if(t.length>1){Ke(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=Le(a),r===void 0||N(i)&&N(a)&&!Array.isArray(a)?We(i,a):Ue(e,r,a))}function qe(...[e,t]){let r=Le(e||{}),i=Array.isArray(r),a=Ie(r);function o(...e){n(()=>{i&&e.length===1?Ge(r,e[0]):Ke(r,e)})}return[a,o]}const Je=new WeakMap,Ye={get(e,t){if(t===Pe)return e;let n=e[t],r;return N(n)?Je.get(n)||(Je.set(n,r=new Proxy(n,Ye)),r):n},set(e,t,n){return Ue(e,t,Le(n)),!0},deleteProperty(e,t){return Ue(e,t,void 0,!0),!0}};function Xe(e){return t=>{if(N(t)){let n;(n=Je.get(t))||Je.set(t,n=new Proxy(t,Ye)),e(n)}return t}}const Ze=e=>typeof e==`number`&&!Number.isNaN(e)&&Number.isFinite(e),Qe=e=>{let t=e.trim();if(!t)return null;let n=parseFloat(t);return Ze(n)?n:null},$e=(e,t)=>{let n=e.split(`,`);if(n.length!==t)return null;let r=[];for(let e of n){let t=Qe(e);if(t===null)return null;r.push(t)}return r},et=(e,t,n,r)=>e===1&&t===0&&n===0&&r===1,tt=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,nt=e=>{if(!e||e===`none`)return`none`;if(e.startsWith(`matrix`))if(e.startsWith(`matrix3d(`)){let t=e.length-1,n=$e(e.slice(9,t),16);if(n)return n[12]=0,n[13]=0,n[14]=0,tt(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=$e(e.slice(7,t),6);if(n){let e=n[0],t=n[1],r=n[2],i=n[3];return et(e,t,r,i)?`none`:`matrix(${e}, ${t}, ${r}, ${i}, 0, 0)`}}return`none`},rt=e=>e.isIdentity?`none`:e.is2D?et(e.a,e.b,e.c,e.d)?`none`:`matrix(${e.a}, ${e.b}, ${e.c}, ${e.d}, 0, 0)`:e.m11===1&&e.m12===0&&e.m13===0&&e.m14===0&&e.m21===0&&e.m22===1&&e.m23===0&&e.m24===0&&e.m31===0&&e.m32===0&&e.m33===1&&e.m34===0&&e.m44===1?`none`:`matrix3d(${e.m11}, ${e.m12}, ${e.m13}, ${e.m14}, ${e.m21}, ${e.m22}, ${e.m23}, ${e.m24}, ${e.m31}, ${e.m32}, ${e.m33}, ${e.m34}, 0, 0, 0, ${e.m44})`;let F=new WeakMap,it=new WeakMap,I=new WeakMap;const at=()=>{F=new WeakMap,it=new WeakMap,I=new WeakMap},ot=(e,t)=>{let n=it.get(e);if(n&&t-n.timestamp<16)return n.transform;let r=window.getComputedStyle(e).transform,i=r&&r!==`none`?r:`none`;return it.set(e,{transform:i,timestamp:t}),i},st=(e,t,n)=>{let r=t&&t!==`none`,i=null,a=e.parentElement,o=0;for(;a&&a!==document.documentElement&&o<6;){let e=ot(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))),rt(i)):r?nt(t):`none`},ct=(e,t,n)=>{let r=I.get(e);if(r&&n-r.timestamp<200)return r.borderRadius;let i=(t??window.getComputedStyle(e)).borderRadius||`0px`;return I.set(e,{borderRadius:i,timestamp:n}),i},L=(e,t,n,r)=>{let i=st(e,n.transform,r),a=ct(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}},R=e=>{let t=performance.now(),n=F.get(e);if(n&&t-n.timestamp<16)return n.bounds;let r=L(e,e.getBoundingClientRect(),window.getComputedStyle(e),t);return F.set(e,{bounds:r,timestamp:t}),r},z=e=>({x:e.x+e.width/2,y:e.y+e.height/2}),B=e=>({selectionInteractionLockDepth:0,wasActivatedByToggle:!1,pendingCommentMode:!1,keyHoldDuration:e.keyHoldDuration,dragStart:{x:w,y:w},copyStart:{x:w,y:w},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}),lt=e=>{let[t,r]=qe(B(e)),[i,a]=c({x:w,y:w}),[o,s]=c(0),[l,u]=c({state:`idle`}),d=e=>{r(Xe(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(Xe(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(Xe(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:w,y:w}),p(`justDragged`)})},cancelDrag:()=>{let e=l();e.state===`active`&&(e.phase===`dragging-select`||e.phase===`dragging-reposition`)&&n(()=>{r(`dragStart`,{x:w,y:w}),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}=z(R(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}=z(R(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}=z(R(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}=z(R(e));r(`contextMenuPosition`,{x:i+n.x,y:a+n.y})}};return{store:t,actions:m,pointer:i,viewportVersion:o,current:l}},ut=`data-react-grab`,dt=e=>{if(!document.body)return;let t=document.querySelectorAll(`[${ut}]`);for(let n of t)n!==e&&n.parentNode!==e&&(n.shadowRoot||n.remove());document.body.appendChild(e)},ft=e=>{if(document.body){dt(e);return}let t=()=>{document.removeEventListener(`DOMContentLoaded`,t),dt(e)};document.addEventListener(`DOMContentLoaded`,t,{once:!0})},pt=e=>{let t=document.querySelectorAll(`[${ut}]`);for(let e of t){let t=e.shadowRoot?.querySelector(`[${ut}]`);if(t instanceof HTMLDivElement)return{root:t,host:e};e.remove()}let n=document.createElement(`div`);n.setAttribute(ut,`true`),ce(n),n.style.zIndex=String(E),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=le();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(ut,`true`),r.appendChild(o),ft(n),setTimeout(()=>{dt(n)},C),{root:o,host:n}},V=[`data-theme`,`data-mode`,`data-color-scheme`,`data-bs-theme`,`data-mui-color-scheme`],H=[{attribute:`data-dark`,theme:`dark`},{attribute:`data-light`,theme:`light`}],U=/rgba?\(\s*(\d+(?:\.\d+)?)\s*[,\s]\s*(\d+(?:\.\d+)?)\s*[,\s]\s*(\d+(?:\.\d+)?)(?:\s*[,/]\s*(\d+(?:\.\d+)?))?\s*\)/,W=e=>{if(e===`transparent`)return!0;let t=e.match(U);if(!t)return!1;let n=t[4];return n!==void 0&&Number(n)===0},mt=(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},ht=()=>{let e=document.body??document.documentElement,t=getComputedStyle(e).backgroundColor;if(!t||W(t))return null;let n=t.match(U);return n?mt(Number(n[1]),Number(n[2]),Number(n[3]))<.18?`dark`:`light`:null},gt=e=>{let t=e.toLowerCase();return t===`dark`?`dark`:t===`light`?`light`:null},_t=e=>{let t=e.trim().toLowerCase();return!t||t===`normal`||t===`auto`?null:t.split(/\s+/).find(e=>e===`dark`||e===`light`)??null},vt=()=>{let e=document.documentElement;if(e.classList.contains(`dark`))return`dark`;if(e.classList.contains(`light`))return`light`;for(let t of V){let n=e.getAttribute(t);if(!n)continue;let r=gt(n);if(r)return r}for(let{attribute:t,theme:n}of H)if(e.hasAttribute(t))return n;let t=e.style.colorScheme||getComputedStyle(e).colorScheme;if(t){let e=_t(t);if(e)return e}return ht()||(window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`)},yt=e=>e===`dark`?`light`:`dark`,bt={attributes:!0,attributeFilter:[`class`,`style`,...V,...H.map(({attribute:e})=>e)]},xt=(e,t)=>{let n=null,r=null,i=()=>{let r=yt(vt());return r!==n&&(n=r,e.setAttribute(`data-rg-theme`,r),t?.(r)),r},a=()=>{r===null&&(r=re(()=>{r=null,i()}))},o=i(),s=new MutationObserver(a);s.observe(document.documentElement,bt);let c=null;document.body?s.observe(document.body,bt):(c=new MutationObserver(()=>{document.body&&(c.disconnect(),c=null,s.observe(document.body,bt),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)}}},G=()=>{},K=()=>({activate:G,deactivate:G,toggle:G,comment:G,isActive:()=>!1,isEnabled:()=>!1,setEnabled:G,getToolbarState:()=>null,setToolbarState:G,onToolbarStateChange:()=>G,dispose:G,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:G,registerPlugin:G,unregisterPlugin:G,getPlugins:()=>[],getDisplayName:()=>null}),St=()=>{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})}}},Ct=(e,t=`Unknown error`)=>e instanceof Error&&e.message?e.message:t,wt=e=>e instanceof Error?e:Error(String(e)),Tt=async e=>`[${S(e)}${(await de(e)).replace(/\n\s+/g,` `)}]`,Et=async e=>{let t=await Promise.all(e.map(Tt)),n=[...new Set(t)];return n.length>0?n.join(`
|
|
11
|
+
`):null},Dt=async(e,t,n,r)=>{await t.onBeforeCopy(n);let i=!1,a=``;try{let o=e.getContent?await e.getContent(n):await Et(n);if(o?.trim()){let s=await t.transformCopyContent(o,n);a=r?`${r}\n${s}`:s,i=je(a,{componentName:e.componentName})}}catch(e){t.onCopyError(wt(e))}return i&&t.onCopySuccess(n,a),t.onAfterCopy(n,i),i},Ot=(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)},kt=(e,t)=>e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top,At=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}),jt=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 _},Mt=(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=jt(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{k()}let o=[];for(let e of i)!n&&me(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=Ot(r,i),a=t.width*t.height;a>0&&n/a>=.75&&c.push(e)}else kt(i,r)&&c.push(e)}return At(c)},Nt=e=>e.filter(t=>!e.some(e=>e!==t&&e.contains(t))),Pt=(e,t,n=!0)=>Nt(Mt(e,t,n)),Ft=(e,t)=>e.width<=0?0:d((t.x-e.x)/e.width,0,1),It=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}},Lt=()=>{at(),Oe(),D()},Rt=e=>({x:e.pageX-window.scrollX,y:e.pageY-window.scrollY,width:e.width,height:e.height,borderRadius:`0px`,transform:`none`}),zt=e=>({pageX:e.x+window.scrollX,pageY:e.y+window.scrollY,width:e.width,height:e.height}),Bt=e=>({...e,borderRadius:`0px`,transform:`none`}),Vt=new Set([`c`,`C`,`с`,`С`,`ȼ`,`Ȼ`,`ↄ`,`Ↄ`,`ᴄ`,`ᶜ`,`ⱼ`,`ⅽ`,`Ⅽ`,`ç`,`Ç`,`ć`,`Ć`,`č`,`Č`,`ĉ`,`Ĉ`,`ċ`,`Ċ`]),Ht=(e,t)=>t===`KeyC`?!0:!e||e.length!==1?!1:Vt.has(e),Ut=(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},Wt={meta:`metaKey`,cmd:`metaKey`,command:`metaKey`,win:`metaKey`,windows:`metaKey`,ctrl:`ctrlKey`,control:`ctrlKey`,shift:`shiftKey`,alt:`altKey`,option:`altKey`,opt:`altKey`},Gt=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=Wt[e];t?n[t]=!0:n.key=e}return n},Kt=e=>{if(typeof e==`function`)return e;let t=Gt(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||Ut(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}},q=e=>!e||typeof e==`function`?{metaKey:h(),ctrlKey:!h(),shiftKey:!1,altKey:!1,key:null}:Gt(e),qt=(e,t)=>{if(t.activationKey)return Kt(t.activationKey)(e);let n=(h()?e.metaKey:e.ctrlKey)&&!e.shiftKey&&!e.altKey;return!!(e.key&&n&&Ht(e.key,e.code))},Jt=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}},Yt={enabled:!0,hue:0,selectionBox:{enabled:!0},dragBox:{enabled:!0},grabbedBoxes:{enabled:!0},elementLabel:{enabled:!0},toolbar:{enabled:!0}},J=(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}}),Xt={activationMode:`toggle`,keyHoldDuration:100,allowActivationInsideInput:!0,activationKey:void 0,getContent:void 0,freezeReactUpdates:!0},Zt=(e={})=>{let t=new Map,n={},[r,i]=qe({theme:Yt,options:{...Xt,...e},actions:[]}),a=()=>{let r=Yt,a={...Xt,...e},o=[];for(let{config:e}of t.values())if(e.theme&&(r=J(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?J(J(Yt,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:_}},Qt=(e,t)=>{let n=[],r=(n,r)=>{let i=It(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=[]}}},$t=e=>{let{metaKey:t,ctrlKey:n,shiftKey:r,altKey:i}=q(e.activationKey);return{metaKey:t,ctrlKey:n,shiftKey:r,altKey:i}},en=()=>{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)}}},tn=(e,t)=>({top:t<25,bottom:t>window.innerHeight-25,left:e<25,right:e>window.innerWidth-25}),nn=(e,t,n)=>{let r=null,i=()=>{if(!t()){a();return}let o=e(),s=tn(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?re(i):null},a=()=>{r!==null&&(Se(r),r=null)};return{start:i,stop:a,isActive:()=>r!==null}},rn=()=>{let e=globalThis;return!!(e.chrome?.runtime?.id||e.browser?.runtime?.id)},an=()=>{try{let e=`0.1.36`,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&&!rn()&&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{}},on=e=>typeof e==`object`&&!!e,sn=e=>{if(!on(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},cn=()=>{if(typeof window>`u`)return null;try{let e=(document.currentScript instanceof HTMLScriptElement?document.currentScript:null)?.getAttribute(`data-options`);return e?sn(JSON.parse(e)):null}catch{return null}},ln=e=>e===`Enter`||e===`NumpadEnter`,un=(e,t)=>e.x>=t.x&&e.x<=t.x+t.width&&e.y>=t.y&&e.y<=t.y+t.height,dn=(e=>({name:e.name,setup:(t,n)=>({actions:[typeof e.contextMenuAction==`function`?e.contextMenuAction(t,n):e.contextMenuAction],cleanup:e.cleanup})}))({name:`copy`,contextMenuAction:{id:`copy`,label:`Copy`,shortcut:`C`,showInToolbarMenu:!0,onAction:e=>{e.copy?.()}}}),fn={name:`comment`,setup:()=>({actions:[{id:`comment`,label:`Comment`,shortcut:`Enter`,showInToolbarMenu:!0,onAction:e=>{e.enterPromptMode?.()}}]})},pn={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())}}]},mn=e=>`${e}-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,hn=`react-grab-comment-items`,gn=`react-grab-history-items`,_n=()=>{try{let e=sessionStorage.getItem(gn);e&&!sessionStorage.getItem(hn)&&sessionStorage.setItem(hn,e),sessionStorage.removeItem(gn)}catch{}},vn=()=>{try{let e=sessionStorage.getItem(hn);return e?JSON.parse(e).map(e=>({...e,elementsCount:Math.max(1,e.elementsCount??1),previewBounds:e.previewBounds??[],elementSelectors:e.elementSelectors??[]})):[]}catch{return[]}},yn=e=>{try{return sessionStorage.getItem(e)===`1`}catch{return!1}},bn=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},xn=e=>{Y=bn(e);try{sessionStorage.setItem(hn,JSON.stringify(Y))}catch{}return Y};let Y=[];typeof window<`u`&&(_n(),Y=vn(),yn(`react-grab-clear-confirmed`));const Sn=()=>Y,Cn=e=>xn([{...e,id:mn(`comment`)},...Y].slice(0,20)),wn=e=>{xn(Y.filter(t=>t.id!==e))},Tn=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`},En=async(e,t={})=>(await Promise.allSettled(e.map(e=>T(e,t)))).map(e=>e.status===`fulfilled`?e.value:``),Dn=[dn,fn,pn];let On=!1;const kn=new Set,X=t=>{if(typeof window>`u`)return K();let n={enabled:!0,activationMode:`toggle`,keyHoldDuration:100,allowActivationInsideInput:!0,...cn(),...t};if(n.enabled===!1||On)return K();On=!0,an();let{enabled:r,...u}=n;return o(t=>{let n=!1,r,o=Zt(u),{store:d,actions:S,pointer:C,viewportVersion:w,current:T}=lt({theme:Yt,keyHoldDuration:o.store.options.keyHoldDuration??100}),E=e(()=>T().state===`holding`),D=e(()=>T().state===`active`),O=e(()=>{let e=T();return e.state===`active`&&e.phase===`frozen`}),k=e(()=>{let e=T();return e.state===`active`&&(e.phase===`dragging-select`||e.phase===`dragging-reposition`)}),je=e(()=>{if(!k())return!1;let e=Math.abs(C().x+window.scrollX-d.dragStart.x),t=Math.abs(C().y+window.scrollY-d.dragStart.y);return e>2||t>2}),Pe=e(()=>{let e=T();return e.state===`active`&&e.phase===`dragging-reposition`}),Fe=e(()=>{let e=T();return e.state===`active`&&e.phase===`justDragged`}),j=e(()=>T().state===`copying`),M=e(()=>d.selectionInteractionLockDepth>0),Ie=e(()=>T().state===`justCopied`),N=e(()=>{let e=T();return e.state===`active`&&!!e.isPromptMode}),Le=e(()=>d.pendingCommentMode||N()),Re=e(()=>{let e=T();return e.state===`active`&&!!e.isPromptMode&&!!e.isPendingDismiss});g(l(D,(e,t)=>{e&&!t?(Te(C().x,C().y),Ee(),document.body.style.touchAction=`none`):!e&&t&&(be(),ge(),document.body.style.touchAction=``)}));let ze=ne(),[P,Be]=c(ze?!ze.collapsed:!0),[Ve,He]=c(0),[Ue,We]=c(0),[Ge,Ke]=c(ze),[qe,Je]=c(!1),[Ye,Xe]=c(Sn()),[Ze,Qe]=c(null),$e,et=null,tt=new Map,nt=new WeakMap,rt=()=>{nt=new WeakMap},F=()=>{mt(!1),rt()},it=e=>{let t=Ge()??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),Ke(n);for(let e of kn)e(n)},I=()=>{H.timerId!==null&&(clearTimeout(H.timerId),H.timerId=null)},at=()=>{H.copyWaiting=!1,H.holdTimerFired=!1,H.startTimestamp=null};g(()=>{if(T().state!==`holding`){I();return}H.startTimestamp=Date.now(),H.timerId=window.setTimeout(()=>{if(H.timerId=null,H.copyWaiting){H.holdTimerFired=!0;return}S.activate()},d.keyHoldDuration),b(I)}),g(()=>{let e=T();if(e.state!==`active`||e.phase!==`justDragged`)return;let t=setTimeout(()=>{S.finishJustDragged()},fe);b(()=>clearTimeout(t))}),g(()=>{if(T().state!==`justCopied`)return;let e=setTimeout(()=>{S.finishJustCopied()},fe);b(()=>clearTimeout(e))}),g(l(E,(e,t=!1)=>{!t||e||!D()||(o.store.options.activationMode!==`hold`&&S.setWasActivatedByToggle(!0),o.hooks.onActivate())}));let ot=(e,t,n)=>{ct(e,t,n),S.clearInputText()},st=()=>{let e=d.frozenElement||X();e&&S.enterPromptMode({x:C().x,y:C().y},e)},ct=(e,t,n)=>{S.setCopyStart({x:t,y:n},e)},L={lastDetectionTimestamp:0,pendingDetectionScheduledAt:0,latestPointerX:0,latestPointerY:0},B=null,[ut,dt]=c(null),ft=(e,t)=>{B!==null&&clearTimeout(B),dt(null),B=window.setTimeout(()=>{dt({x:e,y:t}),B=null},32)},V=null,H={timerId:null,startTimestamp:null,copyWaiting:!1,holdTimerFired:!1},U=null,[W,mt]=c(!1),ht=0,gt=!1,_t=null,vt=()=>{gt=!0,_t!==null&&window.clearTimeout(_t),_t=window.setTimeout(()=>{gt=!1,_t=null},fe)},yt=()=>{_t!==null&&(window.clearTimeout(_t),_t=null),gt=!1},bt=0,G=0,K=null,wt=null,Tt=null,[Et,Ot]=c(!1),[kt,At]=c(null),[jt,Mt]=c(void 0),[Nt,Vt]=c([]),[Ut,Wt]=c(0),Gt=Qt(ye,R),q=nn(C,()=>k(),e=>{if(Pe()){if(S.shiftDragStart(e),U){U={x:U.x+e.x,y:U.y+e.y};return}let{pageX:t,pageY:n}=zn(C().x,C().y);U={x:t,y:n}}}),J=e(()=>D()&&!j()),Xt=new Map,rn=(e,t)=>{let n=mn(`grabbed`),r={id:n,bounds:e,createdAt:Date.now(),element:t};S.addGrabbedBox(r),o.hooks.onGrabbedBox(e,t);let i=window.setTimeout(()=>{Xt.delete(n),S.removeGrabbedBox(n)},fe);Xt.set(n,i)},an=async e=>{let t=await Promise.all(e.map(async e=>{let t=await ae(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:x(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}}))},on=new Map,sn=e=>{let t=on.get(e);t!==void 0&&(window.clearTimeout(t),on.delete(e))},cn=()=>{for(let e of on.values())window.clearTimeout(e);on.clear()},dn=e=>{sn(e);let t=window.setTimeout(()=>{on.delete(e),S.updateLabelInstance(e,`fading`),setTimeout(()=>{on.delete(e),S.removeLabelInstance(e)},150)},fe);on.set(e,t)},fn=(e,t)=>{if(t)sn(e);else{let t=d.labelInstances.find(t=>t.id===e);t&&t.status===`copied`&&dn(e)}},pn=(e,t,n,r,i)=>{S.clearLabelInstances(),cn();let a=mn(`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 S.addLabelInstance(u),a},hn=(e,t)=>{S.clearLabelInstances(),cn();let n=[];for(let r of e){let e=R(r.element),i=e.x+e.width/2,a=e.width/2,o=r.mouseX===void 0?void 0:r.mouseX-i,s=mn(`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};S.addLabelInstance(c),n.push(s)}return n},gn=()=>{cn(),S.clearLabelInstances()},_n=(e,t,n)=>{t?S.updateLabelInstance(e,`copied`):S.updateLabelInstance(e,`error`,n||`Unknown error`),dn(e)},vn=async(e,t,n,r)=>{yt(),T().state!==`copying`&&S.startCopy();let i=!1,a;try{await e(),i=!0}catch(e){a=Ct(e,`Action failed`)}if(t)for(let e of t)_n(e,i,a);T().state===`copying`&&(i&&S.completeCopy(n),r?Q():i?(S.activate(),vt()):S.unfreeze())},yn=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=Ye();for(let[n,i]of tt.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){wn(n),tt.delete(n);break}}}let l=t.map((e,t)=>Me(e,t===0)),u=Cn({content:n,elementName:i??`element`,tagName:a??`div`,componentName:s??void 0,elementsCount:t.length,previewBounds:t.map(e=>R(e)),elementSelectors:l,commentText:r,timestamp:Date.now()});Xe(u);let d=u[0];d&&c&&tt.set(d.id,[...t]);let f=new Set(u.map(e=>e.id));for(let e of tt.keys())f.has(e)||tt.delete(e)},bn=(e,t,n)=>{let r=e[0],i=n??(r?A(r):null),a=r?x(r):null,s=i??a??void 0;return Dt({getContent:o.store.options.getContent,componentName:s},{onBeforeCopy:o.hooks.onBeforeCopy,transformCopyContent:o.hooks.transformCopyContent,onAfterCopy:o.hooks.onAfterCopy,onCopySuccess:(e,n)=>{yn({copiedElements:e,content:n,extraPrompt:t,elementName:s,tagName:a,componentName:i})},onCopyError:o.hooks.onCopyError},e,t)},xn=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&&rn(R(t),t)}if(await xe(),r.length>0)await bn(r,t,n);else if(i.length>0&&!(await Promise.all(i)).every(Boolean))throw Error(`Failed to copy`);an(e)},Y=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?Rt(l):Bt(R(t)),p=u?f.x+f.width/2:n,m=x(t);yt(),S.startCopy();let h=m?pn(f,m,void 0,`copying`,{element:t,mouseX:p,elements:r}):null;ie(t).then(async e=>{await vn(()=>xn(c,i,e??void 0),h?[h]:null,t,a),o?.()}).catch(e=>{h&&_n(h,!1,Ct(e,`Action failed`)),T().state===`copying`&&S.unfreeze()})},En=e=>{let{elements:t,labelEntries:n,shouldDeactivateAfter:r,onComplete:i}=e,a=t[0];yt(),S.startCopy();let o=hn(n,`copying`);ie(a).then(async e=>{await vn(()=>xn(t,void 0,e??void 0),o.length>0?o:null,a,r),i?.()}).catch(e=>{let t=Ct(e,`Action failed`);for(let e of o)_n(e,!1,t);T().state===`copying`&&S.unfreeze()})},X=e(()=>{if(w(),!J()||je()||M())return null;let e=d.detectedElement;return _(e)?e:null}),An=e(()=>d.frozenElement||(O()?null:X()));g(()=>{let e=d.detectedElement;if(!e)return;let t=setInterval(()=>{_(e)||S.setDetectedElement(null)},100);b(()=>clearInterval(t))}),g(l(An,e=>{if(K!==null&&(clearTimeout(K),K=null),!e){At(null);return}K=window.setTimeout(()=>{K=null,At(e)},100)})),b(()=>{K!==null&&(clearTimeout(K),K=null)}),g(()=>{let e=d.frozenElements;b(we(e))}),g(l(D,e=>{e&&o.store.options.freezeReactUpdates&&b(De())}));let jn=()=>{if(d.isTouchMode&&k()){let e=d.detectedElement;return!e||me(e)?void 0:e}let e=An();if(!(!e||me(e)))return e},Mn=e(()=>jn()),Nn=()=>Mn()?d.isTouchMode&&k()?J():J()&&!je():!1,Pn=i(()=>d.frozenElements,t=>e(()=>(w(),R(t)))),Fn=e(()=>{let e=d.frozenElements;if(e.length===0)return[];let t=d.frozenDragRect;return t&&e.length>1?[Rt(t)]:Pn().map(e=>e())}),In=e(()=>{if(!W()||d.pendingCommentMode||Et())return null;let e=d.detectedElement;return!_(e)||me(e)||d.frozenElements.includes(e)?null:e}),Ln=e(()=>{w();let e=In();if(e)return R(e)}),Rn=e(()=>{w();let e=d.frozenElements;if(e.length>0){let t=Fn();if(e.length===1){let e=t[0];if(e)return e}let n=d.frozenDragRect;return n?t[0]??Rt(n):Bt(Jt(t))}let t=Mn();if(t)return R(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(!k())return!1;let e=Bn(C().x,C().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(!k())return;S.startDragReposition();let{pageX:e,pageY:t}=zn(C().x,C().y);U={x:e,y:t}},Gn=()=>{S.stopDragReposition(),U=null},Kn=e(()=>{if(w(),!Vn())return;let e=Hn(C().x,C().y);return{borderRadius:`0px`,height:e.height,transform:`none`,width:e.width,x:e.x,y:e.y}}),qn=e(()=>{if(w(),!Vn())return[];let e=ut();if(!e)return[];let t=Hn(e.x,e.y),n=Pt(t,ye);return(n.length>0?n:Pt(t,ye,!1)).map(e=>R(e))}),Jn=e(()=>{let e=qn();if(e.length>0)return e;let t=Ln();return t?[...Fn(),t]:Fn()}),Yn=i(()=>d.frozenElements,t=>{let n=x(t)||`element`,r=A(t)??void 0;return e(()=>{if(w(),!_(t))return null;let e=R(t),i=nt.get(t);return{tagName:n,componentName:r,bounds:e,mouseX:i===void 0?void 0:e.x+e.width*i}})}),Xn=e(()=>{if(N()||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(N())return null;let e=In();return e?(w(),{tagName:x(e)||`element`,componentName:A(e)??void 0,bounds:R(e),mouseX:C().x}):null}),Qn=e(()=>{if(j()||N()){w();let e=d.frozenElement||X();return e?{x:z(R(e)).x+d.copyOffsetFromCenterX,y:d.copyStart.y}:{x:d.copyStart.x,y:d.copyStart.y}}return{x:C().x,y:C().y}}),$n=e(()=>{if(!W()||d.frozenElements.length!==1)return;w();let e=d.frozenElements[0];if(!_(e))return;let t=nt.get(e);if(t===void 0)return;let n=R(e);return n.x+n.width*t});g(l(()=>[X(),d.lastGrabbedElement],([e,t])=>{t&&e&&t!==e&&S.setLastGrabbed(null),e&&o.hooks.onElementHover(e)})),g(l(()=>X(),e=>{let t=++bt,n=()=>{bt===t&&S.setSelectionSource(null,null)};if(!e){n();return}ae(e).then(e=>{if(bt===t){if(!e){n();return}S.setSelectionSource(e.filePath,e.lineNumber)}}).catch(()=>{bt===t&&S.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=k(),n=j(),r=N(),i=X(),a=Kn(),s=o.store.theme.enabled,c=o.store.theme.selectionBox.enabled,l=o.store.theme.dragBox.enabled,u=Vn(),f=An(),p=Ie();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:Ge()}}),e=>{o.hooks.onStateChange(e)})),g(l(()=>[N(),C().x,C().y,X()],([e,t,n,r])=>{o.hooks.onPromptModeChange(e,{x:t,y:n,targetElement:r})})),g(l(()=>[$r(),Rn(),X()],([e,t,n])=>{o.hooks.onSelectionBox(!!e,t??null,n)})),g(l(()=>[oi(),Kn()],([e,t])=>{o.hooks.onDragBox(!!e,t??null)})),g(l(()=>[ci(),si(),Qn(),X(),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&&x(r)||void 0,filePath:i??void 0,lineNumber:a??void 0})}));let Z=null,nr=e=>{if(e){if(!Z){Z=document.createElement(`style`),Z.setAttribute(`data-react-grab-cursor`,``);let e=le();e&&(Z.nonce=e),ce(Z),document.head.appendChild(Z)}Z.textContent=`* { cursor: ${e} !important; }`}else Z&&=(Z.remove(),null)};g(l(()=>[D(),j(),N()],([e,t,n])=>{nr(t?`progress`:e&&!n?`crosshair`:null)}));let rr=()=>{let e=E();S.activate(),e||o.hooks.onActivate()},Q=()=>{let e=k(),t=d.previouslyFocusedElement;Gn(),S.deactivate(),F(),Dr(),wt=null,Ot(!1),e&&(document.body.style.userSelect=``),V&&window.clearTimeout(V),q.stop(),t instanceof HTMLElement&&_(t)&&t.focus(),o.hooks.onDeactivate()},ir=()=>{E()&&S.releaseHold(),D()&&Q(),yt()},ar=()=>{S.setWasActivatedByToggle(!0),rr()},or=()=>{S.clearLastCopied();let e=[...d.frozenElements],t=d.frozenElement||X(),n=N()?d.inputText.trim():``;if(!t){Q();return}let r=e.length>0?e:[t],i=r.map(e=>R(e))[0],{x:a,y:o}=z(i),s=a+d.copyOffsetFromCenterX;S.setPointer({x:a,y:o}),S.exitPromptMode(),S.clearInputText(),Y({element:t,cursorX:s,selectedElements:r,extraPrompt:n||void 0,shouldDeactivateAfter:!0})},sr=()=>{if(S.clearLastCopied(),N()){if(Re()){S.clearInputText(),Q();return}S.setPendingDismiss(!0),We(e=>e+1)}},cr=()=>{S.clearInputText(),Q()},lr=()=>{S.setPendingDismiss(!1)},ur=()=>{let e=d.frozenElement||X();e&&ot(e,C().x,C().y),st()},dr=()=>{if(D())Q();else if(P()){let e=Ge()?.defaultAction??`comment`;e===`comment`?S.setPendingCommentMode(!0):(Tt=e,Ot(!0)),ar()}},fr=(e,t,n)=>{S.setPendingCommentMode(!1),S.clearInputText(),S.enterPromptMode({x:t,y:n},e)},pr=(e,t)=>{F(),S.showContextMenu(t,e),Dr(),wi(),o.hooks.onContextMenu(e,t)},mr=(e,t)=>{let n=Tt;if(Tt=null,!n)return;let r=o.store.actions.find(e=>e.id===n);if(!r){Ei(ue),pr(e,t);return}let i=R(e),a=_i({element:e,filePath:d.selectionFilePath??void 0,lineNumber:d.selectionLineNumber??void 0,tagName:x(e)||void 0,componentName:jt(),position:t,shouldDeferHideContextMenu:!1,performWithFeedbackOptions:{fallbackBounds:i,fallbackSelectionBounds:[i],position:t}});r.onAction(a)},hr=()=>{if(P()){if(D()&&Le()){Q();return}S.setPendingCommentMode(!0),D()||ar()}},gr=(e,t,n)=>{let r=n&&W()&&!k()&&!d.pendingCommentMode&&!Et();if(!P()||N()||O()&&!r||M()||d.contextMenuPosition!==null)return;if(S.setPointer({x:e,y:t}),L.latestPointerX=e,L.latestPointerY=t,r){let n=_e(e,t);n!==d.detectedElement&&S.setDetectedElement(n);return}let i=performance.now(),a=L.pendingDetectionScheduledAt>0&&i-L.pendingDetectionScheduledAt<200;if(i-L.lastDetectionTimestamp>=32&&!a&&(L.lastDetectionTimestamp=i,L.pendingDetectionScheduledAt=i,setTimeout(()=>{let e=_e(L.latestPointerX,L.latestPointerY);e!==d.detectedElement&&S.setDetectedElement(e),L.pendingDetectionScheduledAt=0})),k()){if(Pe()){let{pageX:n,pageY:r}=zn(e,t);U&&S.shiftDragStart({x:n-U.x,y:r-U.y}),U={x:n,y:r}}ft(e,t);let n=tn(e,t),r=n.top||n.bottom||n.left||n.right;r&&!q.isActive()?q.start():!r&&q.isActive()&&q.stop()}},_r=(e,t,n)=>!J()||M()?!1:(!n&&W()&&F(),S.startDrag({x:e,y:t},n),S.setPointer({x:e,y:t}),document.body.style.userSelect=`none`,ft(e,t),o.hooks.onDragStart(e+window.scrollX,t+window.scrollY),!0),vr=(e,t)=>{let n=d.frozenElements.includes(e),r=d.frozenElements.length===0;if(!n){let n=Ft(R(e),t);nt.set(e,n),r&&Mt(A(e)??void 0)}S.toggleFrozenElement(e),Oe();let i=d.frozenElements.includes(e);if(i||nt.delete(e),d.frozenElements.length===0){F(),S.unfreeze();return}he(d.frozenElements),mt(!0),S.setPointer(t),S.setLastGrabbed(i?e:d.frozenElements[d.frozenElements.length-1]),S.freeze(),Dr()},yr=()=>{let e=d.frozenElements.filter(_),t=e.map(e=>{let t=x(e)||`element`,n=A(e)??void 0,r=nt.get(e),i=R(e);return{element:e,tagName:t,componentName:n,mouseX:r===void 0?i.x+i.width/2:i.x+i.width*r}});if(F(),e.length===0){S.unfreeze();return}if(e.length===1){Y({element:e[0],cursorX:t[0].mouseX,selectedElements:e,shouldDeactivateAfter:d.wasActivatedByToggle});return}En({elements:e,labelEntries:t,shouldDeactivateAfter:d.wasActivatedByToggle})},br=(e,t,n)=>{let r=Pt(e,ye),i=r.length>0?r:Pt(e,ye,!1);if(i.length===0)return;let a=n&&!d.pendingCommentMode&&!Et();if(a&&S.addFrozenElements(i),he(a?d.frozenElements:i),o.hooks.onDragEnd(i,e),a){let e=i[i.length-1];mt(!0),Oe(),S.setPointer(z(R(e))),S.setLastGrabbed(e),S.freeze(),Dr();return}let s=i[0],c=z(R(s));S.setPointer(c),S.setFrozenElements(i);let l=zt(e);if(S.setFrozenDragRect(l),S.freeze(),S.setLastGrabbed(s),d.pendingCommentMode){fr(s,c.x,c.y);return}if(Et()){Ot(!1),Tt?mr(s,c):pr(s,c);return}let u=d.wasActivatedByToggle&&!t;Y({element:s,cursorX:c.x,selectedElements:i,shouldDeactivateAfter:u,dragRect:l})},xr=e=>{for(let t of d.frozenElements)if(_(t)&&un(e,R(t)))return t;return null},Sr=(e,t,n,r)=>{let i=_(d.frozenElement)?d.frozenElement:null,a=_(wt)?wt: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&&!Et()){s!==null&&vr(s,{x:e,y:t});return}let u,f,p=c===null&&i===l,m=c===null&&i===null&&a===l;if(p)u=C().x,f=C().y;else if(m){let e=z(R(l));u=e.x,f=e.y}else u=e,f=t;if(wt=null,d.pendingCommentMode){fr(l,u,f);return}if(Et()){Ot(!1);let{wasIntercepted:e}=o.hooks.onElementSelect(l);if(e)return;he([l]),S.setFrozenElement(l);let t={x:u,y:f};S.setPointer(t),S.freeze(),Tt?mr(l,t):pr(l,t);return}let h=d.wasActivatedByToggle&&!n;S.setLastGrabbed(l),Y({element:l,cursorX:u,shouldDeactivateAfter:h})},Cr=()=>{k()&&(Gn(),S.cancelDrag(),q.stop(),document.body.style.userSelect=``)},wr=(e,t,n,r)=>{if(!k())return;B!==null&&(clearTimeout(B),B=null),dt(null);let i=Bn(e,t),a=i.x>2||i.y>2,o=a?Hn(e,t):null;a?S.endDrag():S.cancelDrag(),Gn(),q.stop(),document.body.style.userSelect=``,o?br(o,n,r):Sr(e,t,n,r)},$=St(),Tr=en(),Er=e=>{let t;try{t=Tr.originalKeyDescriptor?.get?Tr.originalKeyDescriptor.get.call(e):e.key}catch{return!1}let n=t===`Enter`||ln(e.code),r=D()||E();return n&&r&&!N()&&!d.wasActivatedByToggle?(Tr.claimedEvents.add(e),e.preventDefault(),e.stopImmediatePropagation(),!0):!1};$.addDocumentListener(`keydown`,Er,{capture:!0}),$.addDocumentListener(`keyup`,Er,{capture:!0}),$.addDocumentListener(`keypress`,Er,{capture:!0});let Dr=()=>{Vt([]),Wt(0),Gt.clearHistory()},Or=e=>{S.setFrozenElement(e),S.freeze(),wt=e;let t=z(R(e));S.setPointer(t),d.contextMenuPosition!==null&&S.showContextMenu(t,e)},kr=e=>{let t=It(R(e)),n=ve(t.x,t.y).filter(ye).reverse();Vt(n),Wt(Math.max(0,n.indexOf(e)))},Ar=e=>{let t=Nt()[e];t&&(Wt(e),Gt.clearHistory(),Or(t))},jr=e=>{if(!D()||N()||W()||!oe.has(e.key))return!1;let t=An(),n=!t;if(t||=_e(window.innerWidth/2,window.innerHeight/2),!t)return!1;if(!(e.key===`ArrowUp`||e.key===`ArrowDown`)){Dr();let r=Gt.findNext(e.key,t);return!r&&!n?!1:(e.preventDefault(),e.stopPropagation(),Or(r??t),!0)}Nt().length===0&&kr(t);let r=Gt.findNext(e.key,t)??t;e.preventDefault(),e.stopPropagation(),Or(r);let i=Nt().indexOf(r);return i===-1?kr(r):Wt(i),!0},Mr=e=>{if(!ln(e.code)||f(e)||j()||M())return!1;let t=d.lastCopiedElement;if(!E()&&!N()&&!D()&&t&&_(t)&&!d.labelInstances.some(e=>e.status===`copied`||e.status===`fading`)){e.preventDefault(),e.stopImmediatePropagation();let n=z(R(t));return S.setPointer(n),ot(t,n.x,n.y),S.setFrozenElement(t),S.clearLastCopied(),st(),D()||rr(),!0}if(E()&&!N()){e.preventDefault(),e.stopImmediatePropagation();let t=d.frozenElement||X();return t&&ot(t,C().x,C().y),S.setPointer({x:C().x,y:C().y}),t&&S.setFrozenElement(t),st(),V!==null&&(window.clearTimeout(V),V=null),D()||rr(),!0}return!1},Nr=e=>{if(e.key?.toLowerCase()!==`o`||N()||!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},Pr=e(()=>Nt().map(e=>({tagName:x(e)||`element`,componentName:A(e)??void 0}))),Fr=e(()=>({items:Pr(),activeIndex:Ut(),isVisible:Nt().length>0})),Ir=e=>{if(!(!o.store.options.allowActivationInsideInput&&f(e))&&!(!qt(e,o.store.options)&&((e.metaKey||e.ctrlKey)&&!se.includes(e.key)&&!ln(e.code)&&(D()&&!d.wasActivatedByToggle?Q():E()&&(I(),at(),S.releaseHold())),!ln(e.code)||!E()))){if((D()||E())&&!N()&&(e.preventDefault(),ln(e.code)&&e.stopImmediatePropagation()),D()){if(d.wasActivatedByToggle&&o.store.options.activationMode!==`hold`||e.repeat)return;V!==null&&window.clearTimeout(V),V=window.setTimeout(()=>{Q()},200);return}if(E()&&e.repeat){if(H.copyWaiting){let e=H.holdTimerFired;at(),e&&S.activate()}return}if(!(j()||Ie())&&!E()){let t=o.store.options.keyHoldDuration??100;f(e)?ee(e)?t+=600:t+=400:te()&&(t+=600),at(),S.startHold(t)}}};$.addWindowListener(`keydown`,e=>{if(Er(e),!P()){qt(e,o.store.options)&&!e.repeat&&He(e=>e+1);return}let t=ln(e.code)&&E()&&!N(),n=y(e,`data-react-grab-input`);if(N()&&qt(e,o.store.options)&&!e.repeat&&!n){e.preventDefault(),e.stopPropagation(),sr();return}if(e.key===`Escape`&&Ze()!==null){Ci();return}let r=y(e,`data-react-grab-ignore-events`)&&!t;if(N()||r)return e.key===`Escape`&&(N()?sr():d.wasActivatedByToggle&&Q()),r&&oe.has(e.key)&&jr(e),void 0;if(k()&&Un(e)){e.repeat||Wn(),e.preventDefault(),e.stopPropagation();return}if(e.key===`Escape`&&(E()||d.wasActivatedByToggle)){Q();return}D()&&!se.includes(e.key)&&e.preventDefault();let i=Date.now()-ht<200;jr(e)||Mr(e)||Nr(e)||i||Ir(e)},{capture:!0}),$.addWindowListener(`keyup`,e=>{if(Er(e))return;if(Un(e)&&Pe()&&(Gn(),e.preventDefault(),e.stopPropagation()),e.key===`Shift`&&W()){k()&&Cr(),yr();return}if(y(e,`data-react-grab-ignore-events`))return;let t=$t(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):Kt(o.store.options.activationKey)(e):Ht(e.key,e.code);if(Ie()||gt){(r||n)&&(yt(),Q());return}if(!E()&&!D()||N())return;let i=!!o.store.options.activationKey,a=o.store.options.activationMode===`hold`,s=k();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(V!==null&&(window.clearTimeout(V),V=null),e||s)return;Q()}else !i&&r&&V!==null&&(window.clearTimeout(V),V=null);return}if(r||n){if(d.wasActivatedByToggle&&o.store.options.activationMode!==`hold`)return;if(E()||H.holdTimerFired&&n){I();let t=(H.startTimestamp?Date.now()-H.startTimestamp:0)>=200,n=H.holdTimerFired&&t&&(o.store.options.allowActivationInsideInput||!f(e));at(),n?S.activate():S.releaseHold()}else Q()}},{capture:!0}),$.addDocumentListener(`copy`,()=>{E()&&(H.copyWaiting=!0)}),$.addWindowListener(`keypress`,Er,{capture:!0}),$.addWindowListener(`pointermove`,e=>{if(!e.isPrimary)return;let t=e.pointerType===`touch`;S.setTouchMode(t),!y(e,`data-react-grab-ignore-events`)&&d.contextMenuPosition===null&&(M()||t&&!E()&&!D()||((t?E():D())&&!N()&&O()&&!e.shiftKey&&!W()&&(S.unfreeze(),Dr()),gr(e.clientX,e.clientY,e.shiftKey)))},{passive:!0}),$.addWindowListener(`pointerdown`,e=>{if(e.button===0&&e.isPrimary&&(S.setTouchMode(e.pointerType===`touch`),!y(e,`data-react-grab-ignore-events`)&&d.contextMenuPosition===null&&Ze()===null)){if(N()){let t=Rn();t&&e.clientX>=t.x&&e.clientX<=t.x+t.width&&e.clientY>=t.y&&e.clientY<=t.y+t.height?or():sr();return}if(M()){e.preventDefault(),e.stopImmediatePropagation();return}_r(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=J()||M()||k(),n=e.metaKey||e.ctrlKey;wr(e.clientX,e.clientY,n,e.shiftKey),t&&(e.preventDefault(),e.stopImmediatePropagation())},{capture:!0}),$.addWindowListener(`contextmenu`,e=>{if(!J()||j()||N())return;let t=y(e,`data-react-grab-ignore-events`),n={x:e.clientX,y:e.clientY},r=t&&d.frozenElements.length>1?xr(n):null;if(t&&Nt().length>0)Dr();else if(t&&!r)return;if(d.contextMenuPosition!==null){e.preventDefault();return}e.preventDefault(),e.stopPropagation();let i=r??_e(e.clientX,e.clientY);if(!i)return;let a=d.frozenElements;a.length>1&&a.includes(i)?he(a):(he([i]),S.setFrozenElement(i)),S.setPointer(n),S.freeze(),pr(i,n)},{capture:!0}),$.addWindowListener(`pointercancel`,e=>{e.isPrimary&&Cr()}),$.addWindowListener(`click`,e=>{y(e,`data-react-grab-ignore-events`)||d.contextMenuPosition===null&&(J()||Fe())&&(e.preventDefault(),e.stopImmediatePropagation(),d.wasActivatedByToggle&&!N()&&!e.shiftKey&&(E()?S.setWasActivatedByToggle(!1):Q()))},{capture:!0}),$.addDocumentListener(`visibilitychange`,()=>{if(document.hidden){S.clearGrabbedBoxes();let e=d.activationTimestamp;D()&&!N()&&e!==null&&Date.now()-e>500&&Q()}}),$.addWindowListener(`blur`,()=>{Cr(),E()&&(I(),S.releaseHold(),at()),F()}),$.addWindowListener(`focus`,()=>{ht=Date.now()}),$.addWindowListener(`focusin`,e=>{y(e,`data-react-grab`)&&e.stopPropagation()},{capture:!0});let Lr=()=>{if(!(d.isTouchMode&&!E()&&!D())&&P()&&!N()&&!M()&&!O()&&!k()&&d.contextMenuPosition===null&&d.frozenElements.length===0){let e=_e(C().x,C().y);S.setDetectedElement(e)}},Rr=null,zr=null,Br=()=>{Lt(),Lr(),S.incrementViewportVersion(),S.updateContextMenuPosition()};$.addWindowListener(`scroll`,Br,{capture:!0});let Vr=window.innerWidth,Hr=window.innerHeight;$.addWindowListener(`resize`,()=>{let e=window.innerWidth,t=window.innerHeight;if(Vr>0&&Hr>0){let n=e/Vr,r=t/Hr,i=Math.abs(n-r)<ke,a=Math.abs(n-1)>ke;i&&a&&S.setPointer({x:C().x*n,y:C().y*r})}Vr=e,Hr=t,Br()});let Ur=window.visualViewport;if(Ur){let{signal:e}=$;Ur.addEventListener(`resize`,Br,{signal:e}),Ur.addEventListener(`scroll`,Br,{signal:e})}let Wr=()=>{zr===null&&(zr=re(()=>{zr=null,S.incrementViewportVersion()}))};g(()=>{if(o.store.theme.enabled&&(D()||j()||d.labelInstances.length>0||d.grabbedBoxes.length>0)){if(Rr!==null)return;Rr=window.setInterval(()=>{Wr()},100);return}Rr!==null&&(window.clearInterval(Rr),Rr=null),zr!==null&&(Se(zr),zr=null)}),b(()=>{Rr!==null&&window.clearInterval(Rr),zr!==null&&Se(zr)}),$.addDocumentListener(`copy`,e=>{N()||y(e,`data-react-grab-ignore-events`)||J()&&e.preventDefault()},{capture:!0}),b(()=>{$.abort(),B!==null&&window.clearTimeout(B),V&&window.clearTimeout(V),yt(),et!==null&&Se(et),Xt.forEach(e=>window.clearTimeout(e)),Xt.clear(),cn(),q.stop(),document.body.style.userSelect=``,document.body.style.touchAction=``,nr(null),Tr.restore()});let{root:Gr,host:Kr}=pt(Ne);b(xt(Kr).cleanup);let qr=e(()=>o.store.theme.enabled),Jr=e(()=>o.store.theme.selectionBox.enabled),Yr=e(()=>o.store.theme.elementLabel.enabled),Xr=e(()=>o.store.theme.dragBox.enabled),Zr=e(()=>Ie()||qe()&&!O()),Qr=e(()=>qn().length>0),$r=e(()=>!qr()||!Jr()||Zr()?!1:Qr()?!0:Nn()),ei=e(()=>{let e=Mn();if(e)return x(e)||void 0});g(l(()=>kt(),e=>{let t=++G;if(!e){Mt(void 0);return}let n=A(e)??void 0;Mt(n),ie(e).then(e=>{G===t&&Mt(e??n)}).catch(()=>{G===t&&Mt(n)})}));let ti=e(()=>d.contextMenuPosition!==null||!Yr()||Zr()?!1:Nn()),ni=new Map,ri=e=>{let t=e.elements&&e.elements.length>1,n=e.element,r=!t&&n&&document.body.contains(n)?R(n):e.bounds,i=ni.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 ni.set(e.id,l),l},ii=e(()=>{if(!qr()||!o.store.theme.grabbedBoxes.enabled)return[];w();let e=new Set(d.labelInstances.map(e=>e.id));for(let t of ni.keys())e.has(t)||ni.delete(t);return d.labelInstances.map(ri)}),ai=e(()=>!qr()||!o.store.theme.grabbedBoxes.enabled?[]:(w(),d.grabbedBoxes.map(e=>!e.element||!document.body.contains(e.element)?e:{...e,bounds:R(e.element)}))),oi=e(()=>qr()&&Xr()&&J()&&Vn()),si=e(()=>j()?`processing`:`hover`),ci=e(()=>{if(!qr())return!1;let e=Yr(),t=N(),n=j(),r=J(),i=k(),a=!!An(),o=qe(),s=O();return!e||t||o&&!s?!1:n?!0:r&&!i&&a}),li=e(()=>{w();let e=d.contextMenuElement;return e?R(e):null}),ui=e(()=>(w(),d.contextMenuPosition)),di=e(()=>{let e=d.contextMenuElement;if(!e)return;let t=d.frozenElements.length;return t>1?`${t} elements`:x(e)||void 0}),[fi]=a(()=>({element:d.contextMenuElement,frozenCount:d.frozenElements.length}),async({element:e,frozenCount:t})=>{if(e&&!(t>1))return await ie(e)??void 0}),[pi]=a(()=>d.contextMenuElement,async e=>e?ae(e):null),mi=async e=>{S.incrementSelectionInteractionLockDepth();try{return await e()}finally{S.decrementSelectionInteractionLockDepth()}},hi=(e,t,n,r,i)=>async a=>{await mi(async()=>{let o=i?.fallbackBounds??null,s=i?.fallbackSelectionBounds??[],c=i?.position??d.contextMenuPosition??C(),l=Fn(),u=li()??o,f=t.length>1,p=f?Bt(Jt(l)):u,m=d.wasActivatedByToggle,h;if(h=f?l:u?[u]:s,S.hideContextMenu(),p){let i=f?p.x+p.width/2:c.x,o=pn(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=Ct(e,`Action failed`)}_n(o,s,l)}else try{await a()}catch{}m?Q():S.unfreeze()})},gi=()=>{setTimeout(()=>{S.hideContextMenu()},0)},_i=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?gi:S.hideContextMenu,g={element:t,elements:m,filePath:n,lineNumber:r,componentName:a,tagName:i,enterPromptMode:p??(()=>{gn(),f?.(),ot(t,s.x,s.y),S.setPointer({x:s.x,y:s.y}),S.setFrozenElement(t),st(),D()||rr(),h()}),copy:()=>{u?.(),Y({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:hi(t,m,i,a,c),hideContextMenu:h,cleanup:()=>{d.wasActivatedByToggle?Q():S.unfreeze()}},_=o.hooks.transformActionContext(g);return{...g,..._}},vi=e(()=>{let e=d.contextMenuElement;if(!e)return;let t=pi(),n=d.contextMenuPosition??C();return _i({element:e,filePath:t?.filePath,lineNumber:t?.lineNumber??void 0,tagName:di(),componentName:fi(),position:n,shouldDeferHideContextMenu:!0,onBeforeCopy:()=>{wt=null},customEnterPromptMode:()=>{gn(),S.clearInputText(),S.enterPromptMode(n,e),gi()}})}),yi=()=>{setTimeout(()=>{S.hideContextMenu(),Q()},0)},bi=()=>{et!==null&&(Se(et),et=null)},xi=()=>{if(!$e)return null;let e=$e.getBoundingClientRect(),t=Tn(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}},Si=e=>{bi();let t=()=>{let n=xi();n&&e(n),et=re(t)};t()},Ci=()=>{bi(),Qe(null)},wi=()=>{Ci()},Ti=()=>{Ze()===null?(S.hideContextMenu(),Si(Qe)):Ci()},Ei=e=>{it({defaultAction:e})},Di=e=>{let t=d.labelInstances.find(t=>t.id===e);if(!t?.element||!_(t.element))return;let n=t.element,r=z(R(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()||(S.setWasActivatedByToggle(!0),rr()),S.setPointer(i),S.setFrozenElements(a),a.length>1&&t.bounds&&S.setFrozenDragRect(zt(t.bounds)),S.freeze(),S.showContextMenu(i,n)},0)};g(()=>{let e=o.store.theme.hue;e===0?Gr.style.filter=``:Gr.style.filter=`hue-rotate(${e}deg)`}),o.store.theme.enabled&&import(`./renderer-CiIPsSof.js`).then(({ReactGrabRenderer:e})=>{n||(r=p(()=>s(e,{get selectionVisible(){return $r()},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 ei()},get selectionComponentName(){return jt()},get selectionLabelVisible(){return ti()},selectionLabelStatus:`idle`,get selectionArrowNavigationState(){return Fr()},onArrowNavigationSelect:Ar,get labelInstances(){return ii()},get dragVisible(){return oi()},get dragBounds(){return Kn()},get grabbedBoxes(){return ai()},get mouseX(){return m(()=>d.frozenElements.length>1)()?void 0:$n()??Qn().x},get isFrozen(){return O()||D()||qe()},get inputValue(){return d.inputText},get isPromptMode(){return N()},onShowContextMenuInstance:Di,onLabelInstanceHoverChange:fn,get onInputChange(){return S.setInputText},onInputSubmit:()=>void or(),onToggleExpand:ur,get isPendingDismiss(){return Re()},get selectionLabelShakeCount(){return Ue()},onConfirmDismiss:cr,onCancelDismiss:lr,get toolbarVisible(){return o.store.theme.toolbar.enabled},get isActive(){return D()},onToggleActive:dr,get enabled(){return P()},get shakeCount(){return Ve()},onToolbarStateChange:e=>{Ke(e),e.enabled!==P()&&(Be(e.enabled),e.enabled||(ir(),wi())),kn.forEach(t=>t(e))},onSubscribeToToolbarStateChanges:e=>(kn.add(e),()=>{kn.delete(e)}),onToolbarSelectHoverChange:Je,onToolbarRef:e=>{$e=e},get contextMenuPosition(){return ui()},get contextMenuBounds(){return li()},get contextMenuTagName(){return di()},get contextMenuComponentName(){return fi()},get contextMenuHasFilePath(){return!!pi()?.filePath},get actions(){return o.store.actions},get actionContext(){return vi()},onContextMenuDismiss:yi,onContextMenuHide:gi,get toolbarMenuPosition(){return Ze()},get toolbarMenuActions(){return o.store.actions.filter(e=>e.showInToolbarMenu===!0)},get defaultActionId(){return Ge()?.defaultAction??`comment`},onSetDefaultAction:Ei,onToggleToolbarMenu:Ti,onToolbarMenuDismiss:Ci}),Gr))}).catch(e=>{console.warn(`[react-grab] Failed to load renderer:`,e)});let Oi={activate:()=>{S.setPendingCommentMode(!1),!D()&&P()&&ar()},deactivate:()=>{(D()||j())&&Q()},toggle:()=>{D()?Q():P()&&ar()},comment:hr,isActive:()=>D(),isEnabled:()=>P(),setEnabled:e=>{e!==P()&&(Be(e),it({enabled:e,collapsed:!e}),e||(ir(),wi()))},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),Ke(r),r.enabled!==P()&&(Be(r.enabled),r.enabled||(ir(),wi())),kn.forEach(e=>e(r))},onToolbarStateChange:e=>(kn.add(e),()=>{kn.delete(e)}),dispose:()=>{n=!0,On=!1,r?.(),bi(),kn.clear(),t()},copyElement:async e=>{let t=Array.isArray(e)?e:[e];return t.length===0?!1:await bn(t)},getSource:async e=>{let t=await ae(e);return t?{filePath:t.filePath,lineNumber:t.lineNumber,componentName:t.componentName}:null},getStackContext:de,getState:()=>({isActive:D(),isDragging:k(),isCopying:j(),isPromptMode:N(),isSelectionBoxVisible:!!$r(),isDragBoxVisible:!!oi(),targetElement:X(),dragBounds:Kn()??null,grabbedBoxes:[...er()],labelInstances:[...tr()],selectionFilePath:d.selectionFilePath,toolbarState:Ge()}),setOptions:e=>{o.setOptions(e)},registerPlugin:e=>{o.register(e,Oi)},unregisterPlugin:e=>{o.unregister(e)},getPlugins:()=>o.getPluginNames(),getDisplayName:A};for(let e of Dn)o.register(e,Oi);return setTimeout(()=>{Ae(!0)},pe),Oi})};export{Yt as a,fn as i,En as n,pn as r,X as t};
|
|
@@ -0,0 +1,11 @@
|
|
|
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-BqjLpM7A.js";import{A as re,C as ie,E as ae,F as oe,J as se,M as ce,N as le,P as x,R as ue,S,T as de,U as fe,X as pe,Y as C,Z as w,_ as me,a as he,b as T,c as ge,d as _e,dt as E,f as ve,g as ye,h as D,i as be,j as xe,k as Se,l as Ce,m as O,o as we,p as k,r as Te,s as Ee,t as De,u as Oe,ut as ke,v as Ae,y as A}from"./freeze-updates-BMHg9jtm.js";import{n as je,t as Me}from"./create-element-selector-DXGzc20x.js";var Ne=`/*! 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}.will-change-transform{will-change: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 Pe=Symbol(`store-raw`),Fe=Symbol(`store-node`),j=Symbol(`store-has`),M=Symbol(`store-self`);function Ie(e){let t=e[u];if(!t&&(Object.defineProperty(e,u,{value:t=new Proxy(e,He)}),!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 N(e){let t;return typeof e==`object`&&!!e&&(e[u]||!(t=Object.getPrototypeOf(e))||t===Object.prototype||Array.isArray(e))}function Le(e,t=new Set){let n,r,i,a;if(n=e!=null&&e[Pe])return n;if(!N(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=Le(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=Le(i,t))!==i&&(e[a]=r))}return e}function Re(e,t){let n=e[t];return n||Object.defineProperty(e,t,{value:n=Object.create(null)}),n}function ze(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 P(e,t){let n=Reflect.getOwnPropertyDescriptor(e,t);return!n||n.get||!n.configurable||t===u||t===Fe?n:(delete n.value,delete n.writable,n.get=()=>e[u][t],n)}function Be(e){r()&&ze(Re(e,Fe),M)()}function Ve(e){return Be(e),Reflect.ownKeys(e)}const He={get(e,n,i){if(n===Pe)return e;if(n===u)return i;if(n===t)return Be(e),i;let a=Re(e,Fe),o=a[n],s=o?o():e[n];if(n===Fe||n===j||n===`__proto__`)return s;if(!o){let t=Object.getOwnPropertyDescriptor(e,n);r()&&(typeof s!=`function`||e.hasOwnProperty(n))&&!(t&&t.get)&&(s=ze(a,n,s)())}return N(s)?Ie(s):s},has(e,n){return n===Pe||n===u||n===t||n===Fe||n===j||n===`__proto__`?!0:(r()&&ze(Re(e,j),n)(),n in e)},set(){return!0},deleteProperty(){return!0},ownKeys:Ve,getOwnPropertyDescriptor:P};function Ue(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[j]&&e[j][t]&&i!==void 0&&e[j][t].$()):(e[t]=n,e[j]&&e[j][t]&&i===void 0&&e[j][t].$());let o=Re(e,Fe),s;if((s=ze(o,t,i))&&s.$(()=>n),Array.isArray(e)&&e.length!==a){for(let t=e.length;t<a;t++)(s=o[t])&&s.$();(s=ze(o,`length`,a))&&s.$(e.length)}(s=o[M])&&s.$()}function We(e,t){let n=Object.keys(t);for(let r=0;r<n.length;r+=1){let i=n[r];Ue(e,i,t[i])}}function Ge(e,t){if(typeof t==`function`&&(t=t(e)),t=Le(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&&Ue(e,n,r)}Ue(e,`length`,r)}else We(e,t)}function Ke(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++)Ke(e,[r[i]].concat(t),n);return}else if(o&&a===`function`){for(let i=0;i<e.length;i++)r(e[i],i)&&Ke(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)Ke(e,[r].concat(t),n);return}else if(t.length>1){Ke(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=Le(a),r===void 0||N(i)&&N(a)&&!Array.isArray(a)?We(i,a):Ue(e,r,a))}function qe(...[e,t]){let r=Le(e||{}),i=Array.isArray(r),a=Ie(r);function o(...e){n(()=>{i&&e.length===1?Ge(r,e[0]):Ke(r,e)})}return[a,o]}const Je=new WeakMap,Ye={get(e,t){if(t===Pe)return e;let n=e[t],r;return N(n)?Je.get(n)||(Je.set(n,r=new Proxy(n,Ye)),r):n},set(e,t,n){return Ue(e,t,Le(n)),!0},deleteProperty(e,t){return Ue(e,t,void 0,!0),!0}};function Xe(e){return t=>{if(N(t)){let n;(n=Je.get(t))||Je.set(t,n=new Proxy(t,Ye)),e(n)}return t}}const Ze=e=>typeof e==`number`&&!Number.isNaN(e)&&Number.isFinite(e),Qe=e=>{let t=e.trim();if(!t)return null;let n=parseFloat(t);return Ze(n)?n:null},$e=(e,t)=>{let n=e.split(`,`);if(n.length!==t)return null;let r=[];for(let e of n){let t=Qe(e);if(t===null)return null;r.push(t)}return r},et=(e,t,n,r)=>e===1&&t===0&&n===0&&r===1,tt=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,nt=e=>{if(!e||e===`none`)return`none`;if(e.startsWith(`matrix`))if(e.startsWith(`matrix3d(`)){let t=e.length-1,n=$e(e.slice(9,t),16);if(n)return n[12]=0,n[13]=0,n[14]=0,tt(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=$e(e.slice(7,t),6);if(n){let e=n[0],t=n[1],r=n[2],i=n[3];return et(e,t,r,i)?`none`:`matrix(${e}, ${t}, ${r}, ${i}, 0, 0)`}}return`none`},rt=e=>e.isIdentity?`none`:e.is2D?et(e.a,e.b,e.c,e.d)?`none`:`matrix(${e.a}, ${e.b}, ${e.c}, ${e.d}, 0, 0)`:e.m11===1&&e.m12===0&&e.m13===0&&e.m14===0&&e.m21===0&&e.m22===1&&e.m23===0&&e.m24===0&&e.m31===0&&e.m32===0&&e.m33===1&&e.m34===0&&e.m44===1?`none`:`matrix3d(${e.m11}, ${e.m12}, ${e.m13}, ${e.m14}, ${e.m21}, ${e.m22}, ${e.m23}, ${e.m24}, ${e.m31}, ${e.m32}, ${e.m33}, ${e.m34}, 0, 0, 0, ${e.m44})`;let F=new WeakMap,it=new WeakMap,I=new WeakMap;const at=()=>{F=new WeakMap,it=new WeakMap,I=new WeakMap},ot=(e,t)=>{let n=it.get(e);if(n&&t-n.timestamp<16)return n.transform;let r=window.getComputedStyle(e).transform,i=r&&r!==`none`?r:`none`;return it.set(e,{transform:i,timestamp:t}),i},st=(e,t,n)=>{let r=t&&t!==`none`,i=null,a=e.parentElement,o=0;for(;a&&a!==document.documentElement&&o<6;){let e=ot(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))),rt(i)):r?nt(t):`none`},ct=(e,t,n)=>{let r=I.get(e);if(r&&n-r.timestamp<200)return r.borderRadius;let i=(t??window.getComputedStyle(e)).borderRadius||`0px`;return I.set(e,{borderRadius:i,timestamp:n}),i},L=(e,t,n,r)=>{let i=st(e,n.transform,r),a=ct(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}},R=e=>{let t=performance.now(),n=F.get(e);if(n&&t-n.timestamp<16)return n.bounds;let r=L(e,e.getBoundingClientRect(),window.getComputedStyle(e),t);return F.set(e,{bounds:r,timestamp:t}),r},z=e=>({x:e.x+e.width/2,y:e.y+e.height/2}),B=e=>({selectionInteractionLockDepth:0,wasActivatedByToggle:!1,pendingCommentMode:!1,keyHoldDuration:e.keyHoldDuration,dragStart:{x:w,y:w},copyStart:{x:w,y:w},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}),lt=e=>{let[t,r]=qe(B(e)),[i,a]=c({x:w,y:w}),[o,s]=c(0),[l,u]=c({state:`idle`}),d=e=>{r(Xe(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(Xe(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(Xe(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:w,y:w}),p(`justDragged`)})},cancelDrag:()=>{let e=l();e.state===`active`&&(e.phase===`dragging-select`||e.phase===`dragging-reposition`)&&n(()=>{r(`dragStart`,{x:w,y:w}),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}=z(R(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}=z(R(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}=z(R(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}=z(R(e));r(`contextMenuPosition`,{x:i+n.x,y:a+n.y})}};return{store:t,actions:m,pointer:i,viewportVersion:o,current:l}},ut=`data-react-grab`,dt=e=>{if(!document.body)return;let t=document.querySelectorAll(`[${ut}]`);for(let n of t)n!==e&&n.parentNode!==e&&(n.shadowRoot||n.remove());document.body.appendChild(e)},ft=e=>{if(document.body){dt(e);return}let t=()=>{document.removeEventListener(`DOMContentLoaded`,t),dt(e)};document.addEventListener(`DOMContentLoaded`,t,{once:!0})},pt=e=>{let t=document.querySelectorAll(`[${ut}]`);for(let e of t){let t=e.shadowRoot?.querySelector(`[${ut}]`);if(t instanceof HTMLDivElement)return{root:t,host:e};e.remove()}let n=document.createElement(`div`);n.setAttribute(ut,`true`),ce(n),n.style.zIndex=String(E),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=le();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(ut,`true`),r.appendChild(o),ft(n),setTimeout(()=>{dt(n)},C),{root:o,host:n}},V=[`data-theme`,`data-mode`,`data-color-scheme`,`data-bs-theme`,`data-mui-color-scheme`],H=[{attribute:`data-dark`,theme:`dark`},{attribute:`data-light`,theme:`light`}],U=/rgba?\(\s*(\d+(?:\.\d+)?)\s*[,\s]\s*(\d+(?:\.\d+)?)\s*[,\s]\s*(\d+(?:\.\d+)?)(?:\s*[,/]\s*(\d+(?:\.\d+)?))?\s*\)/,W=e=>{if(e===`transparent`)return!0;let t=e.match(U);if(!t)return!1;let n=t[4];return n!==void 0&&Number(n)===0},mt=(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},ht=()=>{let e=document.body??document.documentElement,t=getComputedStyle(e).backgroundColor;if(!t||W(t))return null;let n=t.match(U);return n?mt(Number(n[1]),Number(n[2]),Number(n[3]))<.18?`dark`:`light`:null},gt=e=>{let t=e.toLowerCase();return t===`dark`?`dark`:t===`light`?`light`:null},_t=e=>{let t=e.trim().toLowerCase();return!t||t===`normal`||t===`auto`?null:t.split(/\s+/).find(e=>e===`dark`||e===`light`)??null},vt=()=>{let e=document.documentElement;if(e.classList.contains(`dark`))return`dark`;if(e.classList.contains(`light`))return`light`;for(let t of V){let n=e.getAttribute(t);if(!n)continue;let r=gt(n);if(r)return r}for(let{attribute:t,theme:n}of H)if(e.hasAttribute(t))return n;let t=e.style.colorScheme||getComputedStyle(e).colorScheme;if(t){let e=_t(t);if(e)return e}return ht()||(window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`)},yt=e=>e===`dark`?`light`:`dark`,bt={attributes:!0,attributeFilter:[`class`,`style`,...V,...H.map(({attribute:e})=>e)]},xt=(e,t)=>{let n=null,r=null,i=()=>{let r=yt(vt());return r!==n&&(n=r,e.setAttribute(`data-rg-theme`,r),t?.(r)),r},a=()=>{r===null&&(r=re(()=>{r=null,i()}))},o=i(),s=new MutationObserver(a);s.observe(document.documentElement,bt);let c=null;document.body?s.observe(document.body,bt):(c=new MutationObserver(()=>{document.body&&(c.disconnect(),c=null,s.observe(document.body,bt),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)}}},G=()=>{},K=()=>({activate:G,deactivate:G,toggle:G,comment:G,isActive:()=>!1,isEnabled:()=>!1,setEnabled:G,getToolbarState:()=>null,setToolbarState:G,onToolbarStateChange:()=>G,dispose:G,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:G,registerPlugin:G,unregisterPlugin:G,getPlugins:()=>[],getDisplayName:()=>null}),St=()=>{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})}}},Ct=(e,t=`Unknown error`)=>e instanceof Error&&e.message?e.message:t,wt=e=>e instanceof Error?e:Error(String(e)),Tt=async e=>`[${S(e)}${(await de(e)).replace(/\n\s+/g,` `)}]`,Et=async e=>{let t=await Promise.all(e.map(Tt)),n=[...new Set(t)];return n.length>0?n.join(`
|
|
11
|
+
`):null},Dt=async(e,t,n,r)=>{await t.onBeforeCopy(n);let i=!1,a=``;try{let o=e.getContent?await e.getContent(n):await Et(n);if(o?.trim()){let s=await t.transformCopyContent(o,n);a=r?`${r}\n${s}`:s,i=je(a,{componentName:e.componentName})}}catch(e){t.onCopyError(wt(e))}return i&&t.onCopySuccess(n,a),t.onAfterCopy(n,i),i},Ot=(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)},kt=(e,t)=>e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top,At=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}),jt=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 _},Mt=(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=jt(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{k()}let o=[];for(let e of i)!n&&me(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=Ot(r,i),a=t.width*t.height;a>0&&n/a>=.75&&c.push(e)}else kt(i,r)&&c.push(e)}return At(c)},Nt=e=>e.filter(t=>!e.some(e=>e!==t&&e.contains(t))),Pt=(e,t,n=!0)=>Nt(Mt(e,t,n)),Ft=(e,t)=>e.width<=0?0:d((t.x-e.x)/e.width,0,1),It=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}},Lt=()=>{at(),Oe(),D()},Rt=e=>({x:e.pageX-window.scrollX,y:e.pageY-window.scrollY,width:e.width,height:e.height,borderRadius:`0px`,transform:`none`}),zt=e=>({pageX:e.x+window.scrollX,pageY:e.y+window.scrollY,width:e.width,height:e.height}),Bt=e=>({...e,borderRadius:`0px`,transform:`none`}),Vt=new Set([`c`,`C`,`с`,`С`,`ȼ`,`Ȼ`,`ↄ`,`Ↄ`,`ᴄ`,`ᶜ`,`ⱼ`,`ⅽ`,`Ⅽ`,`ç`,`Ç`,`ć`,`Ć`,`č`,`Č`,`ĉ`,`Ĉ`,`ċ`,`Ċ`]),Ht=(e,t)=>t===`KeyC`?!0:!e||e.length!==1?!1:Vt.has(e),Ut=(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},Wt={meta:`metaKey`,cmd:`metaKey`,command:`metaKey`,win:`metaKey`,windows:`metaKey`,ctrl:`ctrlKey`,control:`ctrlKey`,shift:`shiftKey`,alt:`altKey`,option:`altKey`,opt:`altKey`},Gt=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=Wt[e];t?n[t]=!0:n.key=e}return n},Kt=e=>{if(typeof e==`function`)return e;let t=Gt(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||Ut(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}},q=e=>!e||typeof e==`function`?{metaKey:h(),ctrlKey:!h(),shiftKey:!1,altKey:!1,key:null}:Gt(e),qt=(e,t)=>{if(t.activationKey)return Kt(t.activationKey)(e);let n=(h()?e.metaKey:e.ctrlKey)&&!e.shiftKey&&!e.altKey;return!!(e.key&&n&&Ht(e.key,e.code))},Jt=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}},Yt={enabled:!0,hue:0,selectionBox:{enabled:!0},dragBox:{enabled:!0},grabbedBoxes:{enabled:!0},elementLabel:{enabled:!0},toolbar:{enabled:!0}},J=(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}}),Xt={activationMode:`toggle`,keyHoldDuration:100,allowActivationInsideInput:!0,activationKey:void 0,getContent:void 0,freezeReactUpdates:!0},Zt=(e={})=>{let t=new Map,n={},[r,i]=qe({theme:Yt,options:{...Xt,...e},actions:[]}),a=()=>{let r=Yt,a={...Xt,...e},o=[];for(let{config:e}of t.values())if(e.theme&&(r=J(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?J(J(Yt,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:_}},Qt=(e,t)=>{let n=[],r=(n,r)=>{let i=It(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=[]}}},$t=e=>{let{metaKey:t,ctrlKey:n,shiftKey:r,altKey:i}=q(e.activationKey);return{metaKey:t,ctrlKey:n,shiftKey:r,altKey:i}},en=()=>{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)}}},tn=(e,t)=>({top:t<25,bottom:t>window.innerHeight-25,left:e<25,right:e>window.innerWidth-25}),nn=(e,t,n)=>{let r=null,i=()=>{if(!t()){a();return}let o=e(),s=tn(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?re(i):null},a=()=>{r!==null&&(Se(r),r=null)};return{start:i,stop:a,isActive:()=>r!==null}},rn=()=>{let e=globalThis;return!!(e.chrome?.runtime?.id||e.browser?.runtime?.id)},an=()=>{try{let e=`0.1.37`,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&&!rn()&&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{}},on=e=>typeof e==`object`&&!!e,sn=e=>{if(!on(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},cn=()=>{if(typeof window>`u`)return null;try{let e=(document.currentScript instanceof HTMLScriptElement?document.currentScript:null)?.getAttribute(`data-options`);return e?sn(JSON.parse(e)):null}catch{return null}},ln=e=>e===`Enter`||e===`NumpadEnter`,un=(e,t)=>e.x>=t.x&&e.x<=t.x+t.width&&e.y>=t.y&&e.y<=t.y+t.height,dn=(e=>({name:e.name,setup:(t,n)=>({actions:[typeof e.contextMenuAction==`function`?e.contextMenuAction(t,n):e.contextMenuAction],cleanup:e.cleanup})}))({name:`copy`,contextMenuAction:{id:`copy`,label:`Copy`,shortcut:`C`,showInToolbarMenu:!0,onAction:e=>{e.copy?.()}}}),fn={name:`comment`,setup:()=>({actions:[{id:`comment`,label:`Comment`,shortcut:`Enter`,showInToolbarMenu:!0,onAction:e=>{e.enterPromptMode?.()}}]})},pn={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())}}]},mn=e=>`${e}-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,hn=`react-grab-comment-items`,gn=`react-grab-history-items`,_n=()=>{try{let e=sessionStorage.getItem(gn);e&&!sessionStorage.getItem(hn)&&sessionStorage.setItem(hn,e),sessionStorage.removeItem(gn)}catch{}},vn=()=>{try{let e=sessionStorage.getItem(hn);return e?JSON.parse(e).map(e=>({...e,elementsCount:Math.max(1,e.elementsCount??1),previewBounds:e.previewBounds??[],elementSelectors:e.elementSelectors??[]})):[]}catch{return[]}},yn=e=>{try{return sessionStorage.getItem(e)===`1`}catch{return!1}},bn=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},xn=e=>{Y=bn(e);try{sessionStorage.setItem(hn,JSON.stringify(Y))}catch{}return Y};let Y=[];typeof window<`u`&&(_n(),Y=vn(),yn(`react-grab-clear-confirmed`));const Sn=()=>Y,Cn=e=>xn([{...e,id:mn(`comment`)},...Y].slice(0,20)),wn=e=>{xn(Y.filter(t=>t.id!==e))},Tn=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`},En=async(e,t={})=>(await Promise.allSettled(e.map(e=>T(e,t)))).map(e=>e.status===`fulfilled`?e.value:``),Dn=[dn,fn,pn];let On=!1;const kn=new Set,X=t=>{if(typeof window>`u`)return K();let n={enabled:!0,activationMode:`toggle`,keyHoldDuration:100,allowActivationInsideInput:!0,...cn(),...t};if(n.enabled===!1||On)return K();On=!0,an();let{enabled:r,...u}=n;return o(t=>{let n=!1,r,o=Zt(u),{store:d,actions:S,pointer:C,viewportVersion:w,current:T}=lt({theme:Yt,keyHoldDuration:o.store.options.keyHoldDuration??100}),E=e(()=>T().state===`holding`),D=e(()=>T().state===`active`),O=e(()=>{let e=T();return e.state===`active`&&e.phase===`frozen`}),k=e(()=>{let e=T();return e.state===`active`&&(e.phase===`dragging-select`||e.phase===`dragging-reposition`)}),je=e(()=>{if(!k())return!1;let e=Math.abs(C().x+window.scrollX-d.dragStart.x),t=Math.abs(C().y+window.scrollY-d.dragStart.y);return e>2||t>2}),Pe=e(()=>{let e=T();return e.state===`active`&&e.phase===`dragging-reposition`}),Fe=e(()=>{let e=T();return e.state===`active`&&e.phase===`justDragged`}),j=e(()=>T().state===`copying`),M=e(()=>d.selectionInteractionLockDepth>0),Ie=e(()=>T().state===`justCopied`),N=e(()=>{let e=T();return e.state===`active`&&!!e.isPromptMode}),Le=e(()=>d.pendingCommentMode||N()),Re=e(()=>{let e=T();return e.state===`active`&&!!e.isPromptMode&&!!e.isPendingDismiss});g(l(D,(e,t)=>{e&&!t?(Te(C().x,C().y),Ee(),document.body.style.touchAction=`none`):!e&&t&&(be(),ge(),document.body.style.touchAction=``)}));let ze=ne(),[P,Be]=c(ze?!ze.collapsed:!0),[Ve,He]=c(0),[Ue,We]=c(0),[Ge,Ke]=c(ze),[qe,Je]=c(!1),[Ye,Xe]=c(Sn()),[Ze,Qe]=c(null),$e,et=null,tt=new Map,nt=new WeakMap,rt=()=>{nt=new WeakMap},F=()=>{mt(!1),rt()},it=e=>{let t=Ge()??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),Ke(n);for(let e of kn)e(n)},I=()=>{H.timerId!==null&&(clearTimeout(H.timerId),H.timerId=null)},at=()=>{H.copyWaiting=!1,H.holdTimerFired=!1,H.startTimestamp=null};g(()=>{if(T().state!==`holding`){I();return}H.startTimestamp=Date.now(),H.timerId=window.setTimeout(()=>{if(H.timerId=null,H.copyWaiting){H.holdTimerFired=!0;return}S.activate()},d.keyHoldDuration),b(I)}),g(()=>{let e=T();if(e.state!==`active`||e.phase!==`justDragged`)return;let t=setTimeout(()=>{S.finishJustDragged()},fe);b(()=>clearTimeout(t))}),g(()=>{if(T().state!==`justCopied`)return;let e=setTimeout(()=>{S.finishJustCopied()},fe);b(()=>clearTimeout(e))}),g(l(E,(e,t=!1)=>{!t||e||!D()||(o.store.options.activationMode!==`hold`&&S.setWasActivatedByToggle(!0),o.hooks.onActivate())}));let ot=(e,t,n)=>{ct(e,t,n),S.clearInputText()},st=()=>{let e=d.frozenElement||X();e&&S.enterPromptMode({x:C().x,y:C().y},e)},ct=(e,t,n)=>{S.setCopyStart({x:t,y:n},e)},L={lastDetectionTimestamp:0,pendingDetectionScheduledAt:0,latestPointerX:0,latestPointerY:0},B=null,[ut,dt]=c(null),ft=(e,t)=>{B!==null&&clearTimeout(B),dt(null),B=window.setTimeout(()=>{dt({x:e,y:t}),B=null},32)},V=null,H={timerId:null,startTimestamp:null,copyWaiting:!1,holdTimerFired:!1},U=null,[W,mt]=c(!1),ht=0,gt=!1,_t=null,vt=()=>{gt=!0,_t!==null&&window.clearTimeout(_t),_t=window.setTimeout(()=>{gt=!1,_t=null},fe)},yt=()=>{_t!==null&&(window.clearTimeout(_t),_t=null),gt=!1},bt=0,G=0,K=null,wt=null,Tt=null,[Et,Ot]=c(!1),[kt,At]=c(null),[jt,Mt]=c(void 0),[Nt,Vt]=c([]),[Ut,Wt]=c(0),Gt=Qt(ye,R),q=nn(C,()=>k(),e=>{if(Pe()){if(S.shiftDragStart(e),U){U={x:U.x+e.x,y:U.y+e.y};return}let{pageX:t,pageY:n}=zn(C().x,C().y);U={x:t,y:n}}}),J=e(()=>D()&&!j()),Xt=new Map,rn=(e,t)=>{let n=mn(`grabbed`),r={id:n,bounds:e,createdAt:Date.now(),element:t};S.addGrabbedBox(r),o.hooks.onGrabbedBox(e,t);let i=window.setTimeout(()=>{Xt.delete(n),S.removeGrabbedBox(n)},fe);Xt.set(n,i)},an=async e=>{let t=await Promise.all(e.map(async e=>{let t=await ae(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:x(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}}))},on=new Map,sn=e=>{let t=on.get(e);t!==void 0&&(window.clearTimeout(t),on.delete(e))},cn=()=>{for(let e of on.values())window.clearTimeout(e);on.clear()},dn=e=>{sn(e);let t=window.setTimeout(()=>{on.delete(e),S.updateLabelInstance(e,`fading`),setTimeout(()=>{on.delete(e),S.removeLabelInstance(e)},150)},fe);on.set(e,t)},fn=(e,t)=>{if(t)sn(e);else{let t=d.labelInstances.find(t=>t.id===e);t&&t.status===`copied`&&dn(e)}},pn=(e,t,n,r,i)=>{S.clearLabelInstances(),cn();let a=mn(`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 S.addLabelInstance(u),a},hn=(e,t)=>{S.clearLabelInstances(),cn();let n=[];for(let r of e){let e=R(r.element),i=e.x+e.width/2,a=e.width/2,o=r.mouseX===void 0?void 0:r.mouseX-i,s=mn(`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};S.addLabelInstance(c),n.push(s)}return n},gn=()=>{cn(),S.clearLabelInstances()},_n=(e,t,n)=>{t?S.updateLabelInstance(e,`copied`):S.updateLabelInstance(e,`error`,n||`Unknown error`),dn(e)},vn=async(e,t,n,r)=>{yt(),T().state!==`copying`&&S.startCopy();let i=!1,a;try{await e(),i=!0}catch(e){a=Ct(e,`Action failed`)}if(t)for(let e of t)_n(e,i,a);T().state===`copying`&&(i&&S.completeCopy(n),r?Q():i?(S.activate(),vt()):S.unfreeze())},yn=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=Ye();for(let[n,i]of tt.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){wn(n),tt.delete(n);break}}}let l=t.map((e,t)=>Me(e,t===0)),u=Cn({content:n,elementName:i??`element`,tagName:a??`div`,componentName:s??void 0,elementsCount:t.length,previewBounds:t.map(e=>R(e)),elementSelectors:l,commentText:r,timestamp:Date.now()});Xe(u);let d=u[0];d&&c&&tt.set(d.id,[...t]);let f=new Set(u.map(e=>e.id));for(let e of tt.keys())f.has(e)||tt.delete(e)},bn=(e,t,n)=>{let r=e[0],i=n??(r?A(r):null),a=r?x(r):null,s=i??a??void 0;return Dt({getContent:o.store.options.getContent,componentName:s},{onBeforeCopy:o.hooks.onBeforeCopy,transformCopyContent:o.hooks.transformCopyContent,onAfterCopy:o.hooks.onAfterCopy,onCopySuccess:(e,n)=>{yn({copiedElements:e,content:n,extraPrompt:t,elementName:s,tagName:a,componentName:i})},onCopyError:o.hooks.onCopyError},e,t)},xn=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&&rn(R(t),t)}if(await xe(),r.length>0)await bn(r,t,n);else if(i.length>0&&!(await Promise.all(i)).every(Boolean))throw Error(`Failed to copy`);an(e)},Y=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?Rt(l):Bt(R(t)),p=u?f.x+f.width/2:n,m=x(t);yt(),S.startCopy();let h=m?pn(f,m,void 0,`copying`,{element:t,mouseX:p,elements:r}):null;ie(t).then(async e=>{await vn(()=>xn(c,i,e??void 0),h?[h]:null,t,a),o?.()}).catch(e=>{h&&_n(h,!1,Ct(e,`Action failed`)),T().state===`copying`&&S.unfreeze()})},En=e=>{let{elements:t,labelEntries:n,shouldDeactivateAfter:r,onComplete:i}=e,a=t[0];yt(),S.startCopy();let o=hn(n,`copying`);ie(a).then(async e=>{await vn(()=>xn(t,void 0,e??void 0),o.length>0?o:null,a,r),i?.()}).catch(e=>{let t=Ct(e,`Action failed`);for(let e of o)_n(e,!1,t);T().state===`copying`&&S.unfreeze()})},X=e(()=>{if(w(),!J()||je()||M())return null;let e=d.detectedElement;return _(e)?e:null}),An=e(()=>d.frozenElement||(O()?null:X()));g(()=>{let e=d.detectedElement;if(!e)return;let t=setInterval(()=>{_(e)||S.setDetectedElement(null)},100);b(()=>clearInterval(t))}),g(l(An,e=>{if(K!==null&&(clearTimeout(K),K=null),!e){At(null);return}K=window.setTimeout(()=>{K=null,At(e)},100)})),b(()=>{K!==null&&(clearTimeout(K),K=null)}),g(()=>{let e=d.frozenElements;b(we(e))}),g(l(D,e=>{e&&o.store.options.freezeReactUpdates&&b(De())}));let jn=()=>{if(d.isTouchMode&&k()){let e=d.detectedElement;return!e||me(e)?void 0:e}let e=An();if(!(!e||me(e)))return e},Mn=e(()=>jn()),Nn=()=>Mn()?d.isTouchMode&&k()?J():J()&&!je():!1,Pn=i(()=>d.frozenElements,t=>e(()=>(w(),R(t)))),Fn=e(()=>{let e=d.frozenElements;if(e.length===0)return[];let t=d.frozenDragRect;return t&&e.length>1?[Rt(t)]:Pn().map(e=>e())}),In=e(()=>{if(!W()||d.pendingCommentMode||Et())return null;let e=d.detectedElement;return!_(e)||me(e)||d.frozenElements.includes(e)?null:e}),Ln=e(()=>{w();let e=In();if(e)return R(e)}),Rn=e(()=>{w();let e=d.frozenElements;if(e.length>0){let t=Fn();if(e.length===1){let e=t[0];if(e)return e}let n=d.frozenDragRect;return n?t[0]??Rt(n):Bt(Jt(t))}let t=Mn();if(t)return R(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(!k())return!1;let e=Bn(C().x,C().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(!k())return;S.startDragReposition();let{pageX:e,pageY:t}=zn(C().x,C().y);U={x:e,y:t}},Gn=()=>{S.stopDragReposition(),U=null},Kn=e(()=>{if(w(),!Vn())return;let e=Hn(C().x,C().y);return{borderRadius:`0px`,height:e.height,transform:`none`,width:e.width,x:e.x,y:e.y}}),qn=e(()=>{if(w(),!Vn())return[];let e=ut();if(!e)return[];let t=Hn(e.x,e.y),n=Pt(t,ye);return(n.length>0?n:Pt(t,ye,!1)).map(e=>R(e))}),Jn=e(()=>{let e=qn();if(e.length>0)return e;let t=Ln();return t?[...Fn(),t]:Fn()}),Yn=i(()=>d.frozenElements,t=>{let n=x(t)||`element`,r=A(t)??void 0;return e(()=>{if(w(),!_(t))return null;let e=R(t),i=nt.get(t);return{tagName:n,componentName:r,bounds:e,mouseX:i===void 0?void 0:e.x+e.width*i}})}),Xn=e(()=>{if(N()||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(N())return null;let e=In();return e?(w(),{tagName:x(e)||`element`,componentName:A(e)??void 0,bounds:R(e),mouseX:C().x}):null}),Qn=e(()=>{if(j()||N()){w();let e=d.frozenElement||X();return e?{x:z(R(e)).x+d.copyOffsetFromCenterX,y:d.copyStart.y}:{x:d.copyStart.x,y:d.copyStart.y}}return{x:C().x,y:C().y}}),$n=e(()=>{if(!W()||d.frozenElements.length!==1)return;w();let e=d.frozenElements[0];if(!_(e))return;let t=nt.get(e);if(t===void 0)return;let n=R(e);return n.x+n.width*t});g(l(()=>[X(),d.lastGrabbedElement],([e,t])=>{t&&e&&t!==e&&S.setLastGrabbed(null),e&&o.hooks.onElementHover(e)})),g(l(()=>X(),e=>{let t=++bt,n=()=>{bt===t&&S.setSelectionSource(null,null)};if(!e){n();return}ae(e).then(e=>{if(bt===t){if(!e){n();return}S.setSelectionSource(e.filePath,e.lineNumber)}}).catch(()=>{bt===t&&S.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=k(),n=j(),r=N(),i=X(),a=Kn(),s=o.store.theme.enabled,c=o.store.theme.selectionBox.enabled,l=o.store.theme.dragBox.enabled,u=Vn(),f=An(),p=Ie();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:Ge()}}),e=>{o.hooks.onStateChange(e)})),g(l(()=>[N(),C().x,C().y,X()],([e,t,n,r])=>{o.hooks.onPromptModeChange(e,{x:t,y:n,targetElement:r})})),g(l(()=>[$r(),Rn(),X()],([e,t,n])=>{o.hooks.onSelectionBox(!!e,t??null,n)})),g(l(()=>[oi(),Kn()],([e,t])=>{o.hooks.onDragBox(!!e,t??null)})),g(l(()=>[ci(),si(),Qn(),X(),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&&x(r)||void 0,filePath:i??void 0,lineNumber:a??void 0})}));let Z=null,nr=e=>{if(e){if(!Z){Z=document.createElement(`style`),Z.setAttribute(`data-react-grab-cursor`,``);let e=le();e&&(Z.nonce=e),ce(Z),document.head.appendChild(Z)}Z.textContent=`* { cursor: ${e} !important; }`}else Z&&=(Z.remove(),null)};g(l(()=>[D(),j(),N()],([e,t,n])=>{nr(t?`progress`:e&&!n?`crosshair`:null)}));let rr=()=>{let e=E();S.activate(),e||o.hooks.onActivate()},Q=()=>{let e=k(),t=d.previouslyFocusedElement;Gn(),S.deactivate(),F(),Dr(),wt=null,Ot(!1),e&&(document.body.style.userSelect=``),V&&window.clearTimeout(V),q.stop(),t instanceof HTMLElement&&_(t)&&t.focus(),o.hooks.onDeactivate()},ir=()=>{E()&&S.releaseHold(),D()&&Q(),yt()},ar=()=>{S.setWasActivatedByToggle(!0),rr()},or=()=>{S.clearLastCopied();let e=[...d.frozenElements],t=d.frozenElement||X(),n=N()?d.inputText.trim():``;if(!t){Q();return}let r=e.length>0?e:[t],i=r.map(e=>R(e))[0],{x:a,y:o}=z(i),s=a+d.copyOffsetFromCenterX;S.setPointer({x:a,y:o}),S.exitPromptMode(),S.clearInputText(),Y({element:t,cursorX:s,selectedElements:r,extraPrompt:n||void 0,shouldDeactivateAfter:!0})},sr=()=>{if(S.clearLastCopied(),N()){if(Re()){S.clearInputText(),Q();return}S.setPendingDismiss(!0),We(e=>e+1)}},cr=()=>{S.clearInputText(),Q()},lr=()=>{S.setPendingDismiss(!1)},ur=()=>{let e=d.frozenElement||X();e&&ot(e,C().x,C().y),st()},dr=()=>{if(D())Q();else if(P()){let e=Ge()?.defaultAction??`comment`;e===`comment`?S.setPendingCommentMode(!0):(Tt=e,Ot(!0)),ar()}},fr=(e,t,n)=>{S.setPendingCommentMode(!1),S.clearInputText(),S.enterPromptMode({x:t,y:n},e)},pr=(e,t)=>{F(),S.showContextMenu(t,e),Dr(),wi(),o.hooks.onContextMenu(e,t)},mr=(e,t)=>{let n=Tt;if(Tt=null,!n)return;let r=o.store.actions.find(e=>e.id===n);if(!r){Ei(ue),pr(e,t);return}let i=R(e),a=_i({element:e,filePath:d.selectionFilePath??void 0,lineNumber:d.selectionLineNumber??void 0,tagName:x(e)||void 0,componentName:jt(),position:t,shouldDeferHideContextMenu:!1,performWithFeedbackOptions:{fallbackBounds:i,fallbackSelectionBounds:[i],position:t}});r.onAction(a)},hr=()=>{if(P()){if(D()&&Le()){Q();return}S.setPendingCommentMode(!0),D()||ar()}},gr=(e,t,n)=>{let r=n&&W()&&!k()&&!d.pendingCommentMode&&!Et();if(!P()||N()||O()&&!r||M()||d.contextMenuPosition!==null)return;if(S.setPointer({x:e,y:t}),L.latestPointerX=e,L.latestPointerY=t,r){let n=_e(e,t);n!==d.detectedElement&&S.setDetectedElement(n);return}let i=performance.now(),a=L.pendingDetectionScheduledAt>0&&i-L.pendingDetectionScheduledAt<200;if(i-L.lastDetectionTimestamp>=32&&!a&&(L.lastDetectionTimestamp=i,L.pendingDetectionScheduledAt=i,setTimeout(()=>{let e=_e(L.latestPointerX,L.latestPointerY);e!==d.detectedElement&&S.setDetectedElement(e),L.pendingDetectionScheduledAt=0})),k()){if(Pe()){let{pageX:n,pageY:r}=zn(e,t);U&&S.shiftDragStart({x:n-U.x,y:r-U.y}),U={x:n,y:r}}ft(e,t);let n=tn(e,t),r=n.top||n.bottom||n.left||n.right;r&&!q.isActive()?q.start():!r&&q.isActive()&&q.stop()}},_r=(e,t,n)=>!J()||M()?!1:(!n&&W()&&F(),S.startDrag({x:e,y:t},n),S.setPointer({x:e,y:t}),document.body.style.userSelect=`none`,ft(e,t),o.hooks.onDragStart(e+window.scrollX,t+window.scrollY),!0),vr=(e,t)=>{let n=d.frozenElements.includes(e),r=d.frozenElements.length===0;if(!n){let n=Ft(R(e),t);nt.set(e,n),r&&Mt(A(e)??void 0)}S.toggleFrozenElement(e),Oe();let i=d.frozenElements.includes(e);if(i||nt.delete(e),d.frozenElements.length===0){F(),S.unfreeze();return}he(d.frozenElements),mt(!0),S.setPointer(t),S.setLastGrabbed(i?e:d.frozenElements[d.frozenElements.length-1]),S.freeze(),Dr()},yr=()=>{let e=d.frozenElements.filter(_),t=e.map(e=>{let t=x(e)||`element`,n=A(e)??void 0,r=nt.get(e),i=R(e);return{element:e,tagName:t,componentName:n,mouseX:r===void 0?i.x+i.width/2:i.x+i.width*r}});if(F(),e.length===0){S.unfreeze();return}if(e.length===1){Y({element:e[0],cursorX:t[0].mouseX,selectedElements:e,shouldDeactivateAfter:d.wasActivatedByToggle});return}En({elements:e,labelEntries:t,shouldDeactivateAfter:d.wasActivatedByToggle})},br=(e,t,n)=>{let r=Pt(e,ye),i=r.length>0?r:Pt(e,ye,!1);if(i.length===0)return;let a=n&&!d.pendingCommentMode&&!Et();if(a&&S.addFrozenElements(i),he(a?d.frozenElements:i),o.hooks.onDragEnd(i,e),a){let e=i[i.length-1];mt(!0),Oe(),S.setPointer(z(R(e))),S.setLastGrabbed(e),S.freeze(),Dr();return}let s=i[0],c=z(R(s));S.setPointer(c),S.setFrozenElements(i);let l=zt(e);if(S.setFrozenDragRect(l),S.freeze(),S.setLastGrabbed(s),d.pendingCommentMode){fr(s,c.x,c.y);return}if(Et()){Ot(!1),Tt?mr(s,c):pr(s,c);return}let u=d.wasActivatedByToggle&&!t;Y({element:s,cursorX:c.x,selectedElements:i,shouldDeactivateAfter:u,dragRect:l})},xr=e=>{for(let t of d.frozenElements)if(_(t)&&un(e,R(t)))return t;return null},Sr=(e,t,n,r)=>{let i=_(d.frozenElement)?d.frozenElement:null,a=_(wt)?wt: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&&!Et()){s!==null&&vr(s,{x:e,y:t});return}let u,f,p=c===null&&i===l,m=c===null&&i===null&&a===l;if(p)u=C().x,f=C().y;else if(m){let e=z(R(l));u=e.x,f=e.y}else u=e,f=t;if(wt=null,d.pendingCommentMode){fr(l,u,f);return}if(Et()){Ot(!1);let{wasIntercepted:e}=o.hooks.onElementSelect(l);if(e)return;he([l]),S.setFrozenElement(l);let t={x:u,y:f};S.setPointer(t),S.freeze(),Tt?mr(l,t):pr(l,t);return}let h=d.wasActivatedByToggle&&!n;S.setLastGrabbed(l),Y({element:l,cursorX:u,shouldDeactivateAfter:h})},Cr=()=>{k()&&(Gn(),S.cancelDrag(),q.stop(),document.body.style.userSelect=``)},wr=(e,t,n,r)=>{if(!k())return;B!==null&&(clearTimeout(B),B=null),dt(null);let i=Bn(e,t),a=i.x>2||i.y>2,o=a?Hn(e,t):null;a?S.endDrag():S.cancelDrag(),Gn(),q.stop(),document.body.style.userSelect=``,o?br(o,n,r):Sr(e,t,n,r)},$=St(),Tr=en(),Er=e=>{let t;try{t=Tr.originalKeyDescriptor?.get?Tr.originalKeyDescriptor.get.call(e):e.key}catch{return!1}let n=t===`Enter`||ln(e.code),r=D()||E();return n&&r&&!N()&&!d.wasActivatedByToggle?(Tr.claimedEvents.add(e),e.preventDefault(),e.stopImmediatePropagation(),!0):!1};$.addDocumentListener(`keydown`,Er,{capture:!0}),$.addDocumentListener(`keyup`,Er,{capture:!0}),$.addDocumentListener(`keypress`,Er,{capture:!0});let Dr=()=>{Vt([]),Wt(0),Gt.clearHistory()},Or=e=>{S.setFrozenElement(e),S.freeze(),wt=e;let t=z(R(e));S.setPointer(t),d.contextMenuPosition!==null&&S.showContextMenu(t,e)},kr=e=>{let t=It(R(e)),n=ve(t.x,t.y).filter(ye).reverse();Vt(n),Wt(Math.max(0,n.indexOf(e)))},Ar=e=>{let t=Nt()[e];t&&(Wt(e),Gt.clearHistory(),Or(t))},jr=e=>{if(!D()||N()||W()||!oe.has(e.key))return!1;let t=An(),n=!t;if(t||=_e(window.innerWidth/2,window.innerHeight/2),!t)return!1;if(!(e.key===`ArrowUp`||e.key===`ArrowDown`)){Dr();let r=Gt.findNext(e.key,t);return!r&&!n?!1:(e.preventDefault(),e.stopPropagation(),Or(r??t),!0)}Nt().length===0&&kr(t);let r=Gt.findNext(e.key,t)??t;e.preventDefault(),e.stopPropagation(),Or(r);let i=Nt().indexOf(r);return i===-1?kr(r):Wt(i),!0},Mr=e=>{if(!ln(e.code)||f(e)||j()||M())return!1;let t=d.lastCopiedElement;if(!E()&&!N()&&!D()&&t&&_(t)&&!d.labelInstances.some(e=>e.status===`copied`||e.status===`fading`)){e.preventDefault(),e.stopImmediatePropagation();let n=z(R(t));return S.setPointer(n),ot(t,n.x,n.y),S.setFrozenElement(t),S.clearLastCopied(),st(),D()||rr(),!0}if(E()&&!N()){e.preventDefault(),e.stopImmediatePropagation();let t=d.frozenElement||X();return t&&ot(t,C().x,C().y),S.setPointer({x:C().x,y:C().y}),t&&S.setFrozenElement(t),st(),V!==null&&(window.clearTimeout(V),V=null),D()||rr(),!0}return!1},Nr=e=>{if(e.key?.toLowerCase()!==`o`||N()||!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},Pr=e(()=>Nt().map(e=>({tagName:x(e)||`element`,componentName:A(e)??void 0}))),Fr=e(()=>({items:Pr(),activeIndex:Ut(),isVisible:Nt().length>0})),Ir=e=>{if(!(!o.store.options.allowActivationInsideInput&&f(e))&&!(!qt(e,o.store.options)&&((e.metaKey||e.ctrlKey)&&!se.includes(e.key)&&!ln(e.code)&&(D()&&!d.wasActivatedByToggle?Q():E()&&(I(),at(),S.releaseHold())),!ln(e.code)||!E()))){if((D()||E())&&!N()&&(e.preventDefault(),ln(e.code)&&e.stopImmediatePropagation()),D()){if(d.wasActivatedByToggle&&o.store.options.activationMode!==`hold`||e.repeat)return;V!==null&&window.clearTimeout(V),V=window.setTimeout(()=>{Q()},200);return}if(E()&&e.repeat){if(H.copyWaiting){let e=H.holdTimerFired;at(),e&&S.activate()}return}if(!(j()||Ie())&&!E()){let t=o.store.options.keyHoldDuration??100;f(e)?ee(e)?t+=600:t+=400:te()&&(t+=600),at(),S.startHold(t)}}};$.addWindowListener(`keydown`,e=>{if(Er(e),!P()){qt(e,o.store.options)&&!e.repeat&&He(e=>e+1);return}let t=ln(e.code)&&E()&&!N(),n=y(e,`data-react-grab-input`);if(N()&&qt(e,o.store.options)&&!e.repeat&&!n){e.preventDefault(),e.stopPropagation(),sr();return}if(e.key===`Escape`&&Ze()!==null){Ci();return}let r=y(e,`data-react-grab-ignore-events`)&&!t;if(N()||r)return e.key===`Escape`&&(N()?sr():d.wasActivatedByToggle&&Q()),r&&oe.has(e.key)&&jr(e),void 0;if(k()&&Un(e)){e.repeat||Wn(),e.preventDefault(),e.stopPropagation();return}if(e.key===`Escape`&&(E()||d.wasActivatedByToggle)){Q();return}D()&&!se.includes(e.key)&&e.preventDefault();let i=Date.now()-ht<200;jr(e)||Mr(e)||Nr(e)||i||Ir(e)},{capture:!0}),$.addWindowListener(`keyup`,e=>{if(Er(e))return;if(Un(e)&&Pe()&&(Gn(),e.preventDefault(),e.stopPropagation()),e.key===`Shift`&&W()){k()&&Cr(),yr();return}if(y(e,`data-react-grab-ignore-events`))return;let t=$t(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):Kt(o.store.options.activationKey)(e):Ht(e.key,e.code);if(Ie()||gt){(r||n)&&(yt(),Q());return}if(!E()&&!D()||N())return;let i=!!o.store.options.activationKey,a=o.store.options.activationMode===`hold`,s=k();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(V!==null&&(window.clearTimeout(V),V=null),e||s)return;Q()}else !i&&r&&V!==null&&(window.clearTimeout(V),V=null);return}if(r||n){if(d.wasActivatedByToggle&&o.store.options.activationMode!==`hold`)return;if(E()||H.holdTimerFired&&n){I();let t=(H.startTimestamp?Date.now()-H.startTimestamp:0)>=200,n=H.holdTimerFired&&t&&(o.store.options.allowActivationInsideInput||!f(e));at(),n?S.activate():S.releaseHold()}else Q()}},{capture:!0}),$.addDocumentListener(`copy`,()=>{E()&&(H.copyWaiting=!0)}),$.addWindowListener(`keypress`,Er,{capture:!0}),$.addWindowListener(`pointermove`,e=>{if(!e.isPrimary)return;let t=e.pointerType===`touch`;S.setTouchMode(t),!y(e,`data-react-grab-ignore-events`)&&d.contextMenuPosition===null&&(M()||t&&!E()&&!D()||((t?E():D())&&!N()&&O()&&!e.shiftKey&&!W()&&(S.unfreeze(),Dr()),gr(e.clientX,e.clientY,e.shiftKey)))},{passive:!0}),$.addWindowListener(`pointerdown`,e=>{if(e.button===0&&e.isPrimary&&(S.setTouchMode(e.pointerType===`touch`),!y(e,`data-react-grab-ignore-events`)&&d.contextMenuPosition===null&&Ze()===null)){if(N()){let t=Rn();t&&e.clientX>=t.x&&e.clientX<=t.x+t.width&&e.clientY>=t.y&&e.clientY<=t.y+t.height?or():sr();return}if(M()){e.preventDefault(),e.stopImmediatePropagation();return}_r(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=J()||M()||k(),n=e.metaKey||e.ctrlKey;wr(e.clientX,e.clientY,n,e.shiftKey),t&&(e.preventDefault(),e.stopImmediatePropagation())},{capture:!0}),$.addWindowListener(`contextmenu`,e=>{if(!J()||j()||N())return;let t=y(e,`data-react-grab-ignore-events`),n={x:e.clientX,y:e.clientY},r=t&&d.frozenElements.length>1?xr(n):null;if(t&&Nt().length>0)Dr();else if(t&&!r)return;if(d.contextMenuPosition!==null){e.preventDefault();return}e.preventDefault(),e.stopPropagation();let i=r??_e(e.clientX,e.clientY);if(!i)return;let a=d.frozenElements;a.length>1&&a.includes(i)?he(a):(he([i]),S.setFrozenElement(i)),S.setPointer(n),S.freeze(),pr(i,n)},{capture:!0}),$.addWindowListener(`pointercancel`,e=>{e.isPrimary&&Cr()}),$.addWindowListener(`click`,e=>{y(e,`data-react-grab-ignore-events`)||d.contextMenuPosition===null&&(J()||Fe())&&(e.preventDefault(),e.stopImmediatePropagation(),d.wasActivatedByToggle&&!N()&&!e.shiftKey&&(E()?S.setWasActivatedByToggle(!1):Q()))},{capture:!0}),$.addDocumentListener(`visibilitychange`,()=>{if(document.hidden){S.clearGrabbedBoxes();let e=d.activationTimestamp;D()&&!N()&&e!==null&&Date.now()-e>500&&Q()}}),$.addWindowListener(`blur`,()=>{Cr(),E()&&(I(),S.releaseHold(),at()),F()}),$.addWindowListener(`focus`,()=>{ht=Date.now()}),$.addWindowListener(`focusin`,e=>{y(e,`data-react-grab`)&&e.stopPropagation()},{capture:!0});let Lr=()=>{if(!(d.isTouchMode&&!E()&&!D())&&P()&&!N()&&!M()&&!O()&&!k()&&d.contextMenuPosition===null&&d.frozenElements.length===0){let e=_e(C().x,C().y);S.setDetectedElement(e)}},Rr=null,zr=null,Br=()=>{Lt(),Lr(),S.incrementViewportVersion(),S.updateContextMenuPosition()};$.addWindowListener(`scroll`,Br,{capture:!0});let Vr=window.innerWidth,Hr=window.innerHeight;$.addWindowListener(`resize`,()=>{let e=window.innerWidth,t=window.innerHeight;if(Vr>0&&Hr>0){let n=e/Vr,r=t/Hr,i=Math.abs(n-r)<ke,a=Math.abs(n-1)>ke;i&&a&&S.setPointer({x:C().x*n,y:C().y*r})}Vr=e,Hr=t,Br()});let Ur=window.visualViewport;if(Ur){let{signal:e}=$;Ur.addEventListener(`resize`,Br,{signal:e}),Ur.addEventListener(`scroll`,Br,{signal:e})}let Wr=()=>{zr===null&&(zr=re(()=>{zr=null,S.incrementViewportVersion()}))};g(()=>{if(o.store.theme.enabled&&(D()||j()||d.labelInstances.length>0||d.grabbedBoxes.length>0)){if(Rr!==null)return;Rr=window.setInterval(()=>{Wr()},100);return}Rr!==null&&(window.clearInterval(Rr),Rr=null),zr!==null&&(Se(zr),zr=null)}),b(()=>{Rr!==null&&window.clearInterval(Rr),zr!==null&&Se(zr)}),$.addDocumentListener(`copy`,e=>{N()||y(e,`data-react-grab-ignore-events`)||J()&&e.preventDefault()},{capture:!0}),b(()=>{$.abort(),B!==null&&window.clearTimeout(B),V&&window.clearTimeout(V),yt(),et!==null&&Se(et),Xt.forEach(e=>window.clearTimeout(e)),Xt.clear(),cn(),q.stop(),document.body.style.userSelect=``,document.body.style.touchAction=``,nr(null),Tr.restore()});let{root:Gr,host:Kr}=pt(Ne);b(xt(Kr).cleanup);let qr=e(()=>o.store.theme.enabled),Jr=e(()=>o.store.theme.selectionBox.enabled),Yr=e(()=>o.store.theme.elementLabel.enabled),Xr=e(()=>o.store.theme.dragBox.enabled),Zr=e(()=>Ie()||qe()&&!O()),Qr=e(()=>qn().length>0),$r=e(()=>!qr()||!Jr()||Zr()?!1:Qr()?!0:Nn()),ei=e(()=>{let e=Mn();if(e)return x(e)||void 0});g(l(()=>kt(),e=>{let t=++G;if(!e){Mt(void 0);return}let n=A(e)??void 0;Mt(n),ie(e).then(e=>{G===t&&Mt(e??n)}).catch(()=>{G===t&&Mt(n)})}));let ti=e(()=>d.contextMenuPosition!==null||!Yr()||Zr()?!1:Nn()),ni=new Map,ri=e=>{let t=e.elements&&e.elements.length>1,n=e.element,r=!t&&n&&document.body.contains(n)?R(n):e.bounds,i=ni.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 ni.set(e.id,l),l},ii=e(()=>{if(!qr()||!o.store.theme.grabbedBoxes.enabled)return[];w();let e=new Set(d.labelInstances.map(e=>e.id));for(let t of ni.keys())e.has(t)||ni.delete(t);return d.labelInstances.map(ri)}),ai=e(()=>!qr()||!o.store.theme.grabbedBoxes.enabled?[]:(w(),d.grabbedBoxes.map(e=>!e.element||!document.body.contains(e.element)?e:{...e,bounds:R(e.element)}))),oi=e(()=>qr()&&Xr()&&J()&&Vn()),si=e(()=>j()?`processing`:`hover`),ci=e(()=>{if(!qr())return!1;let e=Yr(),t=N(),n=j(),r=J(),i=k(),a=!!An(),o=qe(),s=O();return!e||t||o&&!s?!1:n?!0:r&&!i&&a}),li=e(()=>{w();let e=d.contextMenuElement;return e?R(e):null}),ui=e(()=>(w(),d.contextMenuPosition)),di=e(()=>{let e=d.contextMenuElement;if(!e)return;let t=d.frozenElements.length;return t>1?`${t} elements`:x(e)||void 0}),[fi]=a(()=>({element:d.contextMenuElement,frozenCount:d.frozenElements.length}),async({element:e,frozenCount:t})=>{if(e&&!(t>1))return await ie(e)??void 0}),[pi]=a(()=>d.contextMenuElement,async e=>e?ae(e):null),mi=async e=>{S.incrementSelectionInteractionLockDepth();try{return await e()}finally{S.decrementSelectionInteractionLockDepth()}},hi=(e,t,n,r,i)=>async a=>{await mi(async()=>{let o=i?.fallbackBounds??null,s=i?.fallbackSelectionBounds??[],c=i?.position??d.contextMenuPosition??C(),l=Fn(),u=li()??o,f=t.length>1,p=f?Bt(Jt(l)):u,m=d.wasActivatedByToggle,h;if(h=f?l:u?[u]:s,S.hideContextMenu(),p){let i=f?p.x+p.width/2:c.x,o=pn(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=Ct(e,`Action failed`)}_n(o,s,l)}else try{await a()}catch{}m?Q():S.unfreeze()})},gi=()=>{setTimeout(()=>{S.hideContextMenu()},0)},_i=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?gi:S.hideContextMenu,g={element:t,elements:m,filePath:n,lineNumber:r,componentName:a,tagName:i,enterPromptMode:p??(()=>{gn(),f?.(),ot(t,s.x,s.y),S.setPointer({x:s.x,y:s.y}),S.setFrozenElement(t),st(),D()||rr(),h()}),copy:()=>{u?.(),Y({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:hi(t,m,i,a,c),hideContextMenu:h,cleanup:()=>{d.wasActivatedByToggle?Q():S.unfreeze()}},_=o.hooks.transformActionContext(g);return{...g,..._}},vi=e(()=>{let e=d.contextMenuElement;if(!e)return;let t=pi(),n=d.contextMenuPosition??C();return _i({element:e,filePath:t?.filePath,lineNumber:t?.lineNumber??void 0,tagName:di(),componentName:fi(),position:n,shouldDeferHideContextMenu:!0,onBeforeCopy:()=>{wt=null},customEnterPromptMode:()=>{gn(),S.clearInputText(),S.enterPromptMode(n,e),gi()}})}),yi=()=>{setTimeout(()=>{S.hideContextMenu(),Q()},0)},bi=()=>{et!==null&&(Se(et),et=null)},xi=()=>{if(!$e)return null;let e=$e.getBoundingClientRect(),t=Tn(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}},Si=e=>{bi();let t=()=>{let n=xi();n&&e(n),et=re(t)};t()},Ci=()=>{bi(),Qe(null)},wi=()=>{Ci()},Ti=()=>{Ze()===null?(S.hideContextMenu(),Si(Qe)):Ci()},Ei=e=>{it({defaultAction:e})},Di=e=>{let t=d.labelInstances.find(t=>t.id===e);if(!t?.element||!_(t.element))return;let n=t.element,r=z(R(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()||(S.setWasActivatedByToggle(!0),rr()),S.setPointer(i),S.setFrozenElements(a),a.length>1&&t.bounds&&S.setFrozenDragRect(zt(t.bounds)),S.freeze(),S.showContextMenu(i,n)},0)};g(()=>{let e=o.store.theme.hue;e===0?Gr.style.filter=``:Gr.style.filter=`hue-rotate(${e}deg)`}),o.store.theme.enabled&&import(`./renderer-Q2ZCGKZI.js`).then(({ReactGrabRenderer:e})=>{n||(r=p(()=>s(e,{get selectionVisible(){return $r()},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 ei()},get selectionComponentName(){return jt()},get selectionLabelVisible(){return ti()},selectionLabelStatus:`idle`,get selectionArrowNavigationState(){return Fr()},onArrowNavigationSelect:Ar,get labelInstances(){return ii()},get dragVisible(){return oi()},get dragBounds(){return Kn()},get grabbedBoxes(){return ai()},get mouseX(){return m(()=>d.frozenElements.length>1)()?void 0:$n()??Qn().x},get isFrozen(){return O()||D()||qe()},get inputValue(){return d.inputText},get isPromptMode(){return N()},onShowContextMenuInstance:Di,onLabelInstanceHoverChange:fn,get onInputChange(){return S.setInputText},onInputSubmit:()=>void or(),onToggleExpand:ur,get isPendingDismiss(){return Re()},get selectionLabelShakeCount(){return Ue()},onConfirmDismiss:cr,onCancelDismiss:lr,get toolbarVisible(){return o.store.theme.toolbar.enabled},get isActive(){return D()},onToggleActive:dr,get enabled(){return P()},get shakeCount(){return Ve()},onToolbarStateChange:e=>{Ke(e),e.enabled!==P()&&(Be(e.enabled),e.enabled||(ir(),wi())),kn.forEach(t=>t(e))},onSubscribeToToolbarStateChanges:e=>(kn.add(e),()=>{kn.delete(e)}),onToolbarSelectHoverChange:Je,onToolbarRef:e=>{$e=e},get contextMenuPosition(){return ui()},get contextMenuBounds(){return li()},get contextMenuTagName(){return di()},get contextMenuComponentName(){return fi()},get contextMenuHasFilePath(){return!!pi()?.filePath},get actions(){return o.store.actions},get actionContext(){return vi()},onContextMenuDismiss:yi,onContextMenuHide:gi,get toolbarMenuPosition(){return Ze()},get toolbarMenuActions(){return o.store.actions.filter(e=>e.showInToolbarMenu===!0)},get defaultActionId(){return Ge()?.defaultAction??`comment`},onSetDefaultAction:Ei,onToggleToolbarMenu:Ti,onToolbarMenuDismiss:Ci}),Gr))}).catch(e=>{console.warn(`[react-grab] Failed to load renderer:`,e)});let Oi={activate:()=>{S.setPendingCommentMode(!1),!D()&&P()&&ar()},deactivate:()=>{(D()||j())&&Q()},toggle:()=>{D()?Q():P()&&ar()},comment:hr,isActive:()=>D(),isEnabled:()=>P(),setEnabled:e=>{e!==P()&&(Be(e),it({enabled:e,collapsed:!e}),e||(ir(),wi()))},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),Ke(r),r.enabled!==P()&&(Be(r.enabled),r.enabled||(ir(),wi())),kn.forEach(e=>e(r))},onToolbarStateChange:e=>(kn.add(e),()=>{kn.delete(e)}),dispose:()=>{n=!0,On=!1,r?.(),bi(),kn.clear(),t()},copyElement:async e=>{let t=Array.isArray(e)?e:[e];return t.length===0?!1:await bn(t)},getSource:async e=>{let t=await ae(e);return t?{filePath:t.filePath,lineNumber:t.lineNumber,componentName:t.componentName}:null},getStackContext:de,getState:()=>({isActive:D(),isDragging:k(),isCopying:j(),isPromptMode:N(),isSelectionBoxVisible:!!$r(),isDragBoxVisible:!!oi(),targetElement:X(),dragBounds:Kn()??null,grabbedBoxes:[...er()],labelInstances:[...tr()],selectionFilePath:d.selectionFilePath,toolbarState:Ge()}),setOptions:e=>{o.setOptions(e)},registerPlugin:e=>{o.register(e,Oi)},unregisterPlugin:e=>{o.unregister(e)},getPlugins:()=>o.getPluginNames(),getDisplayName:A};for(let e of Dn)o.register(e,Oi);return setTimeout(()=>{Ae(!0)},pe),Oi})};export{Yt as a,fn as i,En as n,pn as r,X as t};
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
const e=require(`./freeze-updates-W92Tv24a.cjs`),t=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`),n=(n,r)=>{let i=r?.componentName??`div`,a={version:e.lt,content:n,entries:r?.entries??[{tagName:r?.tagName,componentName:i,content:n,commentText:r?.commentText}],timestamp:Date.now()},o=e=>{e.preventDefault(),e.clipboardData?.setData(`text/plain`,n),e.clipboardData?.setData(`text/html`,`<meta charset='utf-8'><pre><code>${t(n)}</code></pre>`),e.clipboardData?.setData(`application/x-react-grab`,JSON.stringify(a))};document.addEventListener(`copy`,o);let s=document.createElement(`textarea`);s.value=n,s.style.position=`fixed`,s.style.left=`-9999px`,s.ariaHidden=`true`,document.body.appendChild(s),s.select();try{return typeof document.execCommand==`function`?document.execCommand(`copy`):!1}finally{document.removeEventListener(`copy`,o),s.remove()}},r=new Set([`role`,`name`,`aria-label`,`rel`,`href`]),i=e=>{if(!/^[a-z-]{3,}$/i.test(e))return!1;let t=e.split(/-|[A-Z]/);for(let e of t)if(e.length<=2||/[^aeiou]{4,}/i.test(e))return!1;return!0},a=(e,t)=>{let n=r.has(e)||e.startsWith(`data-`)&&i(e),a=i(t)&&t.length<100||t.startsWith(`#`)&&i(t.slice(1));return n&&a},o=e=>{let t=e[0].name;for(let n=1;n<e.length;n++)t=`${e[n].name} > ${t}`;return t},s=e=>{let t=0;for(let n of e)t+=n.penalty;return t},c=(e,t)=>s(e)-s(t),l=(e,t)=>{let n=e.parentNode;if(!n)return;let r=n.firstChild;if(!r)return;let i=0;for(;r&&(r.nodeType===Node.ELEMENT_NODE&&(t===void 0||r.tagName.toLowerCase()===t)&&i++,r!==e);)r=r.nextSibling;return i},u=(e,t)=>e===`html`?`html`:`${e}:nth-child(${t})`,d=(e,t)=>e===`html`?`html`:`${e}:nth-of-type(${t})`,f=(e,t)=>{let n=[],r=e.getAttribute(`id`),a=e.tagName.toLowerCase();r&&i(r)&&n.push({name:`#${CSS.escape(r)}`,penalty:0});for(let t of e.classList)i(t)&&n.push({name:`.${CSS.escape(t)}`,penalty:1});for(let r of e.attributes)t(r.name,r.value)&&n.push({name:`[${CSS.escape(r.name)}="${CSS.escape(r.value)}"]`,penalty:2});n.push({name:a,penalty:5});let o=l(e,a);o!==void 0&&n.push({name:d(a,o),penalty:10});let s=l(e);return s!==void 0&&n.push({name:u(a,s),penalty:50}),n},p=(t,n=e.K,r=[])=>{if(n<=0)return[];if(t.length===0)return[r];let i=[];for(let e of t[0]){let a=n-i.length;if(a<=0)break;i.push(...p(t.slice(1),a,[...r,e]))}return i},m=(e,t)=>{let n=t.getRootNode?.();return n instanceof ShadowRoot?n:e.nodeType===Node.DOCUMENT_NODE?e:e.ownerDocument},h=(e,t)=>t.querySelectorAll(o(e)).length===1,g=(e,t)=>{let n=e,r=[];for(;n&&n!==t;){let e=n.tagName.toLowerCase(),t=l(n,e);if(t===void 0)return;r.push({name:d(e,t),penalty:10}),n=n.parentElement}return h(r,t)?r:void 0},_=(e,t,n,r)=>{if(e.nodeType!==Node.ELEMENT_NODE)throw Error(`Can't generate CSS selector for non-element node type.`);if(e.tagName.toLowerCase()===`html`)return`html`;let i=m(t,e),a=Date.now(),s=[],l=e,u=0,d;for(;l&&l!==i&&!d;)if(s.push(f(l,r)),l=l.parentElement,u++,u>=3){let t=p(s);t.sort(c);for(let r of t){if(Date.now()-a>n){let t=g(e,i);if(!t)throw Error(`Timeout: Can't find a unique selector after ${n}ms`);return o(t)}if(h(r,i)){d=r;break}}}if(!d&&u<3){let e=p(s);e.sort(c);for(let t of e){if(Date.now()-a>n)break;if(h(t,i)){d=t;break}}}if(!d)throw Error(`Selector was not found.`);return o(d)},v=e=>typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`),y=e=>e.ownerDocument.body??e.ownerDocument.documentElement,b=new Set([`data-testid`,`data-test-id`,`data-test`,`data-cy`,`data-qa`,`aria-label`,`role`,`name`,`title`,`alt`]),x=e=>e.length>0&&e.length<=120,S=(e,t)=>{try{let n=e.ownerDocument.querySelectorAll(t);return n.length===1&&n[0]===e}catch{return!1}},C=e=>{if(e instanceof HTMLElement&&e.id){let t=`#${v(e.id)}`;if(S(e,t))return t}for(let t of b){let n=e.getAttribute(t);if(!n||!x(n))continue;let r=`[${t}=${JSON.stringify(n)}]`;if(S(e,r))return r;let i=`${e.tagName.toLowerCase()}${r}`;if(S(e,i))return i}return null},w=e=>{let t=[],n=y(e),r=e;for(;r;){if(r instanceof HTMLElement&&r.id){t.unshift(`#${v(r.id)}`);break}let e=r.parentElement;if(!e){t.unshift(r.tagName.toLowerCase());break}let i=Array.from(e.children).indexOf(r),a=i>=0?i+1:1;if(t.unshift(`${r.tagName.toLowerCase()}:nth-child(${a})`),e===n){t.unshift(n.tagName.toLowerCase());break}r=e}return t.join(` > `)},T=(e,t=!0)=>{let n=C(e);if(n)return n;if(t)try{let t=_(e,y(e),200,(e,t)=>a(e,t)||b.has(e)&&x(t));if(t)return t}catch{}return w(e)};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return T}});
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
const e=require(`./freeze-updates-CyZYvC-n.cjs`),t=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`),n=(n,r)=>{let i=r?.componentName??`div`,a={version:e.lt,content:n,entries:r?.entries??[{tagName:r?.tagName,componentName:i,content:n,commentText:r?.commentText}],timestamp:Date.now()},o=e=>{e.preventDefault(),e.clipboardData?.setData(`text/plain`,n),e.clipboardData?.setData(`text/html`,`<meta charset='utf-8'><pre><code>${t(n)}</code></pre>`),e.clipboardData?.setData(`application/x-react-grab`,JSON.stringify(a))};document.addEventListener(`copy`,o);let s=document.createElement(`textarea`);s.value=n,s.style.position=`fixed`,s.style.left=`-9999px`,s.ariaHidden=`true`,document.body.appendChild(s),s.select();try{return typeof document.execCommand==`function`?document.execCommand(`copy`):!1}finally{document.removeEventListener(`copy`,o),s.remove()}},r=new Set([`role`,`name`,`aria-label`,`rel`,`href`]),i=e=>{if(!/^[a-z-]{3,}$/i.test(e))return!1;let t=e.split(/-|[A-Z]/);for(let e of t)if(e.length<=2||/[^aeiou]{4,}/i.test(e))return!1;return!0},a=(e,t)=>{let n=r.has(e)||e.startsWith(`data-`)&&i(e),a=i(t)&&t.length<100||t.startsWith(`#`)&&i(t.slice(1));return n&&a},o=e=>{let t=e[0].name;for(let n=1;n<e.length;n++)t=`${e[n].name} > ${t}`;return t},s=e=>{let t=0;for(let n of e)t+=n.penalty;return t},c=(e,t)=>s(e)-s(t),l=(e,t)=>{let n=e.parentNode;if(!n)return;let r=n.firstChild;if(!r)return;let i=0;for(;r&&(r.nodeType===Node.ELEMENT_NODE&&(t===void 0||r.tagName.toLowerCase()===t)&&i++,r!==e);)r=r.nextSibling;return i},u=(e,t)=>e===`html`?`html`:`${e}:nth-child(${t})`,d=(e,t)=>e===`html`?`html`:`${e}:nth-of-type(${t})`,f=(e,t)=>{let n=[],r=e.getAttribute(`id`),a=e.tagName.toLowerCase();r&&i(r)&&n.push({name:`#${CSS.escape(r)}`,penalty:0});for(let t of e.classList)i(t)&&n.push({name:`.${CSS.escape(t)}`,penalty:1});for(let r of e.attributes)t(r.name,r.value)&&n.push({name:`[${CSS.escape(r.name)}="${CSS.escape(r.value)}"]`,penalty:2});n.push({name:a,penalty:5});let o=l(e,a);o!==void 0&&n.push({name:d(a,o),penalty:10});let s=l(e);return s!==void 0&&n.push({name:u(a,s),penalty:50}),n},p=(t,n=e.K,r=[])=>{if(n<=0)return[];if(t.length===0)return[r];let i=[];for(let e of t[0]){let a=n-i.length;if(a<=0)break;i.push(...p(t.slice(1),a,[...r,e]))}return i},m=(e,t)=>{let n=t.getRootNode?.();return n instanceof ShadowRoot?n:e.nodeType===Node.DOCUMENT_NODE?e:e.ownerDocument},h=(e,t)=>t.querySelectorAll(o(e)).length===1,g=(e,t)=>{let n=e,r=[];for(;n&&n!==t;){let e=n.tagName.toLowerCase(),t=l(n,e);if(t===void 0)return;r.push({name:d(e,t),penalty:10}),n=n.parentElement}return h(r,t)?r:void 0},_=(e,t,n,r)=>{if(e.nodeType!==Node.ELEMENT_NODE)throw Error(`Can't generate CSS selector for non-element node type.`);if(e.tagName.toLowerCase()===`html`)return`html`;let i=m(t,e),a=Date.now(),s=[],l=e,u=0,d;for(;l&&l!==i&&!d;)if(s.push(f(l,r)),l=l.parentElement,u++,u>=3){let t=p(s);t.sort(c);for(let r of t){if(Date.now()-a>n){let t=g(e,i);if(!t)throw Error(`Timeout: Can't find a unique selector after ${n}ms`);return o(t)}if(h(r,i)){d=r;break}}}if(!d&&u<3){let e=p(s);e.sort(c);for(let t of e){if(Date.now()-a>n)break;if(h(t,i)){d=t;break}}}if(!d)throw Error(`Selector was not found.`);return o(d)},v=e=>typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`),y=e=>e.ownerDocument.body??e.ownerDocument.documentElement,b=new Set([`data-testid`,`data-test-id`,`data-test`,`data-cy`,`data-qa`,`aria-label`,`role`,`name`,`title`,`alt`]),x=e=>e.length>0&&e.length<=120,S=(e,t)=>{try{let n=e.ownerDocument.querySelectorAll(t);return n.length===1&&n[0]===e}catch{return!1}},C=e=>{if(e instanceof HTMLElement&&e.id){let t=`#${v(e.id)}`;if(S(e,t))return t}for(let t of b){let n=e.getAttribute(t);if(!n||!x(n))continue;let r=`[${t}=${JSON.stringify(n)}]`;if(S(e,r))return r;let i=`${e.tagName.toLowerCase()}${r}`;if(S(e,i))return i}return null},w=e=>{let t=[],n=y(e),r=e;for(;r;){if(r instanceof HTMLElement&&r.id){t.unshift(`#${v(r.id)}`);break}let e=r.parentElement;if(!e){t.unshift(r.tagName.toLowerCase());break}let i=Array.from(e.children).indexOf(r),a=i>=0?i+1:1;if(t.unshift(`${r.tagName.toLowerCase()}:nth-child(${a})`),e===n){t.unshift(n.tagName.toLowerCase());break}r=e}return t.join(` > `)},T=(e,t=!0)=>{let n=C(e);if(n)return n;if(t)try{let t=_(e,y(e),200,(e,t)=>a(e,t)||b.has(e)&&x(t));if(t)return t}catch{}return w(e)};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return T}});
|
|
@@ -0,0 +1,9 @@
|
|
|
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{K as e,lt as t}from"./freeze-updates-pl4bncJb.js";const n=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`),r=(e,r)=>{let i=r?.componentName??`div`,a={version:t,content:e,entries:r?.entries??[{tagName:r?.tagName,componentName:i,content:e,commentText:r?.commentText}],timestamp:Date.now()},o=t=>{t.preventDefault(),t.clipboardData?.setData(`text/plain`,e),t.clipboardData?.setData(`text/html`,`<meta charset='utf-8'><pre><code>${n(e)}</code></pre>`),t.clipboardData?.setData(`application/x-react-grab`,JSON.stringify(a))};document.addEventListener(`copy`,o);let s=document.createElement(`textarea`);s.value=e,s.style.position=`fixed`,s.style.left=`-9999px`,s.ariaHidden=`true`,document.body.appendChild(s),s.select();try{return typeof document.execCommand==`function`?document.execCommand(`copy`):!1}finally{document.removeEventListener(`copy`,o),s.remove()}},i=new Set([`role`,`name`,`aria-label`,`rel`,`href`]),a=e=>{if(!/^[a-z-]{3,}$/i.test(e))return!1;let t=e.split(/-|[A-Z]/);for(let e of t)if(e.length<=2||/[^aeiou]{4,}/i.test(e))return!1;return!0},o=(e,t)=>{let n=i.has(e)||e.startsWith(`data-`)&&a(e),r=a(t)&&t.length<100||t.startsWith(`#`)&&a(t.slice(1));return n&&r},s=e=>{let t=e[0].name;for(let n=1;n<e.length;n++)t=`${e[n].name} > ${t}`;return t},c=e=>{let t=0;for(let n of e)t+=n.penalty;return t},l=(e,t)=>c(e)-c(t),u=(e,t)=>{let n=e.parentNode;if(!n)return;let r=n.firstChild;if(!r)return;let i=0;for(;r&&(r.nodeType===Node.ELEMENT_NODE&&(t===void 0||r.tagName.toLowerCase()===t)&&i++,r!==e);)r=r.nextSibling;return i},d=(e,t)=>e===`html`?`html`:`${e}:nth-child(${t})`,f=(e,t)=>e===`html`?`html`:`${e}:nth-of-type(${t})`,p=(e,t)=>{let n=[],r=e.getAttribute(`id`),i=e.tagName.toLowerCase();r&&a(r)&&n.push({name:`#${CSS.escape(r)}`,penalty:0});for(let t of e.classList)a(t)&&n.push({name:`.${CSS.escape(t)}`,penalty:1});for(let r of e.attributes)t(r.name,r.value)&&n.push({name:`[${CSS.escape(r.name)}="${CSS.escape(r.value)}"]`,penalty:2});n.push({name:i,penalty:5});let o=u(e,i);o!==void 0&&n.push({name:f(i,o),penalty:10});let s=u(e);return s!==void 0&&n.push({name:d(i,s),penalty:50}),n},m=(t,n=e,r=[])=>{if(n<=0)return[];if(t.length===0)return[r];let i=[];for(let e of t[0]){let a=n-i.length;if(a<=0)break;i.push(...m(t.slice(1),a,[...r,e]))}return i},h=(e,t)=>{let n=t.getRootNode?.();return n instanceof ShadowRoot?n:e.nodeType===Node.DOCUMENT_NODE?e:e.ownerDocument},g=(e,t)=>t.querySelectorAll(s(e)).length===1,_=(e,t)=>{let n=e,r=[];for(;n&&n!==t;){let e=n.tagName.toLowerCase(),t=u(n,e);if(t===void 0)return;r.push({name:f(e,t),penalty:10}),n=n.parentElement}return g(r,t)?r:void 0},v=(e,t,n,r)=>{if(e.nodeType!==Node.ELEMENT_NODE)throw Error(`Can't generate CSS selector for non-element node type.`);if(e.tagName.toLowerCase()===`html`)return`html`;let i=h(t,e),a=Date.now(),o=[],c=e,u=0,d;for(;c&&c!==i&&!d;)if(o.push(p(c,r)),c=c.parentElement,u++,u>=3){let t=m(o);t.sort(l);for(let r of t){if(Date.now()-a>n){let t=_(e,i);if(!t)throw Error(`Timeout: Can't find a unique selector after ${n}ms`);return s(t)}if(g(r,i)){d=r;break}}}if(!d&&u<3){let e=m(o);e.sort(l);for(let t of e){if(Date.now()-a>n)break;if(g(t,i)){d=t;break}}}if(!d)throw Error(`Selector was not found.`);return s(d)},y=e=>typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`),b=e=>e.ownerDocument.body??e.ownerDocument.documentElement,x=new Set([`data-testid`,`data-test-id`,`data-test`,`data-cy`,`data-qa`,`aria-label`,`role`,`name`,`title`,`alt`]),S=e=>e.length>0&&e.length<=120,C=(e,t)=>{try{let n=e.ownerDocument.querySelectorAll(t);return n.length===1&&n[0]===e}catch{return!1}},w=e=>{if(e instanceof HTMLElement&&e.id){let t=`#${y(e.id)}`;if(C(e,t))return t}for(let t of x){let n=e.getAttribute(t);if(!n||!S(n))continue;let r=`[${t}=${JSON.stringify(n)}]`;if(C(e,r))return r;let i=`${e.tagName.toLowerCase()}${r}`;if(C(e,i))return i}return null},T=e=>{let t=[],n=b(e),r=e;for(;r;){if(r instanceof HTMLElement&&r.id){t.unshift(`#${y(r.id)}`);break}let e=r.parentElement;if(!e){t.unshift(r.tagName.toLowerCase());break}let i=Array.from(e.children).indexOf(r),a=i>=0?i+1:1;if(t.unshift(`${r.tagName.toLowerCase()}:nth-child(${a})`),e===n){t.unshift(n.tagName.toLowerCase());break}r=e}return t.join(` > `)},E=(e,t=!0)=>{let n=w(e);if(n)return n;if(t)try{let t=v(e,b(e),200,(e,t)=>o(e,t)||x.has(e)&&S(t));if(t)return t}catch{}return T(e)};export{r as n,E as t};
|
|
@@ -0,0 +1,9 @@
|
|
|
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{K as e,lt as t}from"./freeze-updates-BMHg9jtm.js";const n=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`),r=(e,r)=>{let i=r?.componentName??`div`,a={version:t,content:e,entries:r?.entries??[{tagName:r?.tagName,componentName:i,content:e,commentText:r?.commentText}],timestamp:Date.now()},o=t=>{t.preventDefault(),t.clipboardData?.setData(`text/plain`,e),t.clipboardData?.setData(`text/html`,`<meta charset='utf-8'><pre><code>${n(e)}</code></pre>`),t.clipboardData?.setData(`application/x-react-grab`,JSON.stringify(a))};document.addEventListener(`copy`,o);let s=document.createElement(`textarea`);s.value=e,s.style.position=`fixed`,s.style.left=`-9999px`,s.ariaHidden=`true`,document.body.appendChild(s),s.select();try{return typeof document.execCommand==`function`?document.execCommand(`copy`):!1}finally{document.removeEventListener(`copy`,o),s.remove()}},i=new Set([`role`,`name`,`aria-label`,`rel`,`href`]),a=e=>{if(!/^[a-z-]{3,}$/i.test(e))return!1;let t=e.split(/-|[A-Z]/);for(let e of t)if(e.length<=2||/[^aeiou]{4,}/i.test(e))return!1;return!0},o=(e,t)=>{let n=i.has(e)||e.startsWith(`data-`)&&a(e),r=a(t)&&t.length<100||t.startsWith(`#`)&&a(t.slice(1));return n&&r},s=e=>{let t=e[0].name;for(let n=1;n<e.length;n++)t=`${e[n].name} > ${t}`;return t},c=e=>{let t=0;for(let n of e)t+=n.penalty;return t},l=(e,t)=>c(e)-c(t),u=(e,t)=>{let n=e.parentNode;if(!n)return;let r=n.firstChild;if(!r)return;let i=0;for(;r&&(r.nodeType===Node.ELEMENT_NODE&&(t===void 0||r.tagName.toLowerCase()===t)&&i++,r!==e);)r=r.nextSibling;return i},d=(e,t)=>e===`html`?`html`:`${e}:nth-child(${t})`,f=(e,t)=>e===`html`?`html`:`${e}:nth-of-type(${t})`,p=(e,t)=>{let n=[],r=e.getAttribute(`id`),i=e.tagName.toLowerCase();r&&a(r)&&n.push({name:`#${CSS.escape(r)}`,penalty:0});for(let t of e.classList)a(t)&&n.push({name:`.${CSS.escape(t)}`,penalty:1});for(let r of e.attributes)t(r.name,r.value)&&n.push({name:`[${CSS.escape(r.name)}="${CSS.escape(r.value)}"]`,penalty:2});n.push({name:i,penalty:5});let o=u(e,i);o!==void 0&&n.push({name:f(i,o),penalty:10});let s=u(e);return s!==void 0&&n.push({name:d(i,s),penalty:50}),n},m=(t,n=e,r=[])=>{if(n<=0)return[];if(t.length===0)return[r];let i=[];for(let e of t[0]){let a=n-i.length;if(a<=0)break;i.push(...m(t.slice(1),a,[...r,e]))}return i},h=(e,t)=>{let n=t.getRootNode?.();return n instanceof ShadowRoot?n:e.nodeType===Node.DOCUMENT_NODE?e:e.ownerDocument},g=(e,t)=>t.querySelectorAll(s(e)).length===1,_=(e,t)=>{let n=e,r=[];for(;n&&n!==t;){let e=n.tagName.toLowerCase(),t=u(n,e);if(t===void 0)return;r.push({name:f(e,t),penalty:10}),n=n.parentElement}return g(r,t)?r:void 0},v=(e,t,n,r)=>{if(e.nodeType!==Node.ELEMENT_NODE)throw Error(`Can't generate CSS selector for non-element node type.`);if(e.tagName.toLowerCase()===`html`)return`html`;let i=h(t,e),a=Date.now(),o=[],c=e,u=0,d;for(;c&&c!==i&&!d;)if(o.push(p(c,r)),c=c.parentElement,u++,u>=3){let t=m(o);t.sort(l);for(let r of t){if(Date.now()-a>n){let t=_(e,i);if(!t)throw Error(`Timeout: Can't find a unique selector after ${n}ms`);return s(t)}if(g(r,i)){d=r;break}}}if(!d&&u<3){let e=m(o);e.sort(l);for(let t of e){if(Date.now()-a>n)break;if(g(t,i)){d=t;break}}}if(!d)throw Error(`Selector was not found.`);return s(d)},y=e=>typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`),b=e=>e.ownerDocument.body??e.ownerDocument.documentElement,x=new Set([`data-testid`,`data-test-id`,`data-test`,`data-cy`,`data-qa`,`aria-label`,`role`,`name`,`title`,`alt`]),S=e=>e.length>0&&e.length<=120,C=(e,t)=>{try{let n=e.ownerDocument.querySelectorAll(t);return n.length===1&&n[0]===e}catch{return!1}},w=e=>{if(e instanceof HTMLElement&&e.id){let t=`#${y(e.id)}`;if(C(e,t))return t}for(let t of x){let n=e.getAttribute(t);if(!n||!S(n))continue;let r=`[${t}=${JSON.stringify(n)}]`;if(C(e,r))return r;let i=`${e.tagName.toLowerCase()}${r}`;if(C(e,i))return i}return null},T=e=>{let t=[],n=b(e),r=e;for(;r;){if(r instanceof HTMLElement&&r.id){t.unshift(`#${y(r.id)}`);break}let e=r.parentElement;if(!e){t.unshift(r.tagName.toLowerCase());break}let i=Array.from(e.children).indexOf(r),a=i>=0?i+1:1;if(t.unshift(`${r.tagName.toLowerCase()}:nth-child(${a})`),e===n){t.unshift(n.tagName.toLowerCase());break}r=e}return t.join(` > `)},E=(e,t=!0)=>{let n=w(e);if(n)return n;if(t)try{let t=v(e,b(e),200,(e,t)=>o(e,t)||x.has(e)&&S(t));if(t)return t}catch{}return T(e)};export{r as n,E as t};
|