PageSourceSearch

https://www.qwick.com/6c06827e-4a00bf56a72d5422a95c.js

js qwick.com collected 2026-10-02 05:19:44 UTC 127,486 bytes, 1,583 lines download raw bytes

1"use strict";(self.webpackChunkqwick_com=self.webpackChunkqwick_com||[]).push([[282],{4619:function(e,t,r){r.r(t),r.d(t,{default:function(){return ir}});var o=r(29712),i=r(70532),n=r(37459),a=r(39035),s=r(31701),l=r(37463),d=r(75925),c=r(87887),p=r(26703),u=r(30413),g=r(58568),h=r(90846),m=r(91259),v=r(35338),f=r(75770),b=r(34164),w=r(21724),x=r(23233),k=r(66631),y=r(92353),$=r(53582),S=r(97927),C=()=>{const e=(0,s.NT)(i.I4);if(void 0===e)throw new Error("createDevtoolsContext must be used within a ShellContextProvider");return e};function T(){const{settings:e,setSettings:t}=z();return{theme:(0,s.To)(()=>e().theme),setTheme:e=>t({theme:e})}}var M=()=>{const{store:e,setStore:t}=C(),r=(0,s.To)(()=>e.plugins),o=(0,s.To)(()=>(0,i.bp)(e.state.layout),[],{equals:(e,t)=>e.length===t.length&&e.every((e,r)=>e===t[r])}),n=(0,s.To)(()=>e.state.layout),a=e=>{t(t=>({...t,state:{...t.state,layout:e}}))};return{plugins:r,toggleActivePlugins:t=>{const r=e.state.layout;(0,i.bp)(r).includes(t)?a((0,i.mR)(r,t)):(0,i.bp)(r).length>=i.Z$||a((0,i.tZ)(r,t))},activePlugins:o,layout:n,setLayout:a}},Y=()=>{const{store:e,setStore:t}=C();return{state:(0,s.To)(()=>e.state),setState:e=>{t(t=>({...t,state:{...t.state,...e}}))}}},z=()=>{const{store:e,setStore:t}=C();return{setSettings:e=>{t(t=>({...t,settings:{...t.settings,...e}}))},settings:(0,s.To)(()=>e.settings)}},B=()=>{const{state:e,setState:t}=Y();return{persistOpen:(0,s.To)(()=>e().persistOpen),setPersistOpen:e=>{t({persistOpen:e})}}},[P,I]=(0,s.n5)(!1),q=()=>({isCollapsed:P,toggleCollapsed:()=>I(e=>!e),setCollapsed:I}),D=()=>{const{paneDragBridge:e}=C();return{acceptStripDrags:t=>{e.handler=t,(0,s.Ki)(()=>{e.handler===t&&(e.handler=null)})},beginStripDrag:(t,r)=>e.handler?.(t,r)}},L=()=>{const{state:e,setState:t}=Y();return{height:(0,s.To)(()=>e().height),setHeight:e=>{t({height:e})}}},E=(e,t=!0)=>{t?e.setAttribute("tabIndex","-1"):e.removeAttribute("tabIndex");for(const r of e.children)E(r,t)},N=e=>{(0,s.EH)(()=>{const t=document.getElementById(i.pb);t&&E(t,!e())})},A=e=>{var t;return((t=e).includes("CtrlOrMeta")?[t.map(e=>"CtrlOrMeta"===e?"Control":e),t.map(e=>"CtrlOrMeta"===e?"Meta":e)]:[t]).flatMap(e=>{const t=e.filter(e=>n.M.includes(e)),r=e.filter(e=>!n.M.includes(e));if(0===t.length)return[r];return(0,i.hv)(t).map(e=>[...e,...r])})},H="tanstack-devtools-workbench-geometry",F=w.i7`
2  from {
3    opacity: 0;
4    transform: translateY(10px);
5  }
6  to {
7    opacity: 1;
8    transform: translateY(0);
9  }
10`,O=w.i7`
11  from {
12    transform: translateX(100%);
13  }
14  to {
15    transform: translateX(0);
16  }
17`,R=w.i7`
18  from {
19    opacity: 0;
20    transform: translateY(20px);
21  }
22  to {
23    opacity: 1;
24    transform: translateY(0);
25  }
26`,U=w.i7`
27  from {
28    opacity: 0;
29  }
30  to {
31    opacity: 1;
32  }
33`,X=w.i7`
34  to {
35    transform: rotate(360deg);
36  }
37`,j=e=>{const t=(0,x.mC)(e),r=w.AH;return{seoWorkspace:r`
38      display: flex;
39      flex-direction: column;
40      width: 100%;
41      height: 100%;
42      min-width: 0;
43      min-height: 0;
44      overflow: hidden;
45    `,seoContent:r`
46      flex: 1 1 auto;
47      height: auto;
48      min-height: 0;
49      overflow-y: auto;
50      overscroll-behavior: contain;
51    `,seoPreviewSection:r`
52      display: flex;
53      flex-direction: row;
54      gap: 16px;
55      margin-bottom: 0;
56      justify-content: flex-start;
57      align-items: flex-start;
58      overflow-x: auto;
59      flex-wrap: wrap;
60      padding-bottom: 0.5rem;
61    `,seoPreviewCard:r`
62      border: 1px solid ${t.color.border.decorative};
63      border-radius: ${t.radius.overlay};
64      padding: 12px;
65      background: ${t.color.surface.elevated};
66      margin-bottom: 0;
67      box-shadow: ${t.shadow.xs};
68      display: flex;
69      flex-direction: column;
70      align-items: stretch;
71      min-width: 200px;
72      max-width: 240px;
73      font-size: ${t.type.bodySm.size};
74      gap: ${t.gap.tight};
75    `,seoPreviewHeader:r`
76      display: flex;
77      align-items: center;
78      gap: 6px;
79      font-size: ${t.type.bodyXs.size};
80      font-weight: 600;
81      letter-spacing: ${t.type.labelSm.tracking};
82      text-transform: uppercase;
83      margin-bottom: 0;
84      color: ${t.color.text.secondary};
85    `,seoPreviewNetworkDot:r`
86      width: 8px;
87      height: 8px;
88      flex: 0 0 8px;
89      border-radius: 50%;
90      box-shadow: inset 0 0 0 1px ${t.color.state.hover};
91      @media (forced-colors: active) {
92        forced-color-adjust: none;
93      }
94    `,seoPreviewImage:r`
95      width: 100%;
96      max-width: 100%;
97      box-sizing: border-box;
98      border-radius: ${t.radius.group};
99      margin-bottom: 6px;
100      background: ${t.color.surface.subtle};
101      height: 120px;
102      object-fit: cover;
103    `,seoPreviewImagePlaceholder:r`
104      display: flex;
105      align-items: center;
106      justify-content: center;
107      color: ${t.color.text.muted};
108      font-size: ${t.type.bodyXs.size};
109      border: 1px dashed ${t.color.border.decorative};
110    `,seoPreviewTitle:r`
111      font-family: ${t.font.display};
112      font-size: ${t.type.bodySm.size};
113      line-height: ${t.type.bodySm.lineHeight};
114      font-weight: 700;
115      margin-bottom: 2px;
116      color: ${t.color.text.primary};
117    `,seoPreviewDesc:r`
118      color: ${t.color.text.secondary};
119      margin-bottom: 4px;
120      font-size: ${t.type.bodyXs.size};
121      line-height: ${t.type.bodyXs.lineHeight};
122    `,seoPreviewUrl:r`
123      color: ${t.color.text.muted};
124      font-family: ${t.font.mono};
125      font-size: 11px;
126      margin-bottom: 0;
127      word-break: break-all;
128    `,seoMissingTagsSection:r`
129      margin-top: 6px;
130      font-size: ${t.type.bodyXs.size};
131      line-height: ${t.type.bodyXs.lineHeight};
132      color: ${t.color.status.error.text};
133    `,seoMissingTagsList:r`
134      margin: 4px 0 0 0;
135      padding: 0;
136      list-style: none;
137      display: flex;
138      flex-wrap: wrap;
139      gap: 4px;
140      max-width: 240px;
141    `,seoMissingTag:r`
142      background: ${t.color.status.error.subtleFill};
143      color: ${t.color.status.error.text};
144      border-radius: ${t.radius.control};
145      padding: 2px 6px;
146      font-family: ${t.font.mono};
147      font-size: 11px;
148      font-weight: 500;
149    `,serpPreviewBlock:r`
150      margin-bottom: ${i.e_}px;
151      &:last-child {
152        margin-bottom: 0;
153      }
154    `,serpPreviewLabel:r`
155      font-size: ${t.type.bodyXs.size};
156      font-weight: 600;
157      letter-spacing: ${t.type.labelSm.tracking};
158      text-transform: uppercase;
159      margin-bottom: 6px;
160      color: ${t.color.text.secondary};
161    `,serpSnippet:r`
162      border: 1px solid ${t.color.border.decorative};
163      border-radius: 8px;
164      padding: 1rem 1.25rem;
165      background: ${t.color.surface.elevated};
166      max-width: 600px;
167      font-family: ${t.font.body};
168      box-shadow: ${t.shadow.xs};
169    `,serpSnippetMobile:r`
170      border: 1px solid ${t.color.border.decorative};
171      border-radius: 8px;
172      padding: 1rem 1.25rem;
173      background: ${t.color.surface.elevated};
174      max-width: 380px;
175      font-family: ${t.font.body};
176      box-shadow: ${t.shadow.xs};
177    `,serpSnippetDescMobile:r`
178      font-size: 0.875rem;
179      color: ${t.color.text.secondary};
180      margin: 0;
181      line-height: 1.5;
182      display: -webkit-box;
183      -webkit-box-orient: vertical;
184      -webkit-line-clamp: 3;
185      overflow: hidden;
186    `,serpSnippetTopRow:r`
187      display: flex;
188      align-items: center;
189      gap: 12px;
190      margin-bottom: 8px;
191    `,serpSnippetFavicon:r`
192      width: 28px;
193      height: 28px;
194      border-radius: 50%;
195      flex-shrink: 0;
196      object-fit: contain;
197      overflow: hidden;
198      display: flex;
199      align-items: center;
200      justify-content: center;
201    `,serpSnippetDefaultFavicon:r`
202      width: 28px;
203      height: 28px;
204      background-color: ${t.color.surface.subtle};
205      border-radius: 50%;
206      flex-shrink: 0;
207      object-fit: contain;
208      overflow: hidden;
209      display: flex;
210      align-items: center;
211      justify-content: center;
212    `,serpSnippetSiteColumn:r`
213      display: flex;
214      flex-direction: column;
215      gap: 0;
216      min-width: 0;
217    `,serpSnippetSiteName:r`
218      font-size: 0.875rem;
219      color: ${t.color.text.primary};
220      line-height: 1.4;
221      margin: 0;
222    `,serpSnippetSiteUrl:r`
223      font-size: 0.75rem;
224      color: ${t.color.text.muted};
225      line-height: 1.4;
226      margin: 0;
227    `,serpSnippetTitle:r`
228      font-size: 1.25rem;
229      font-weight: 400;
230      color: ${t.color.text.link};
231      margin: 0 0 4px 0;
232      line-height: 1.3;
233    `,serpSnippetDesc:r`
234      font-size: 0.875rem;
235      color: ${t.color.text.secondary};
236      margin: 0;
237      line-height: 1.5;
238    `,serpErrorList:r`
239      margin: 4px 0 0 0;
240      padding-left: 1.25rem;
241      list-style-type: disc;
242    `,serpReportItem:r`
243      margin-top: 0.25rem;
244      color: ${t.color.status.error.text};
245      font-size: 0.875rem;
246    `,devtoolsPanelContainer:(e,t)=>r`
247      direction: ltr;
248      position: fixed;
249      overflow: visible;
250      ${e}: 0;
251      inset-inline: 0;
252      z-index: 99999;
253      inline-size: 100%;
254      max-inline-size: 100%;
255      box-sizing: border-box;
256      ${t?"":"max-height: 90%;"}
257      border: 0;
258      box-shadow: none;
259      transition: transform 160ms ease-out;
260      @media (prefers-reduced-motion: reduce) {
261        transition-duration: 0ms;
262      }
263    `,devtoolsPanelContainerVisibility:e=>r`
264        visibility: ${e?"visible":"hidden"};
265        height: ${e?"auto":"0"};
266      `,devtoolsPanelContainerResizing:e=>e()?r`
267          transition: none;
268        `:r`
269        transition: transform 160ms ease-out;
270        @media (prefers-reduced-motion: reduce) {
271          transition-duration: 0ms;
272        }
273      `,devtoolsDrawerContent:r`
274      width: 100%;
275      height: 100%;
276      min-width: 0;
277      min-height: 0;
278      overflow: hidden;
279    `,devtoolsPanel:r`
280      display: grid;
281      font-size: ${t.type.bodySm.size};
282      font-family: ${t.font.body};
283      background-color: ${t.color.surface.workspace};
284      color: ${t.color.text.primary};
285      width: 100%;
286      max-width: 100%;
287      min-width: 0;
288      box-sizing: border-box;
289      grid-template-rows: ${i.mY}px minmax(0, 1fr);
290      /* The strip row is auto-sized so the strip's own animated height drives
291         it — a fixed 44px row would snap instead of sliding. */
292      &:has([data-testid='plugins-strip']) {
293        grid-template-rows: ${i.mY}px auto minmax(0, 1fr);
294      }
295      overflow-x: hidden;
296      overflow-y: hidden;
297      height: 100%;
298    `,workbenchHeader:r`
299      display: flex;
300      align-items: center;
301      gap: ${t.gap.control};
302      min-width: 0;
303      height: ${i.mY}px;
304      /* No trailing gutter: the action icons run to the panel edge. */
305      padding: 0 0 0 ${i.e_}px;
306      box-sizing: border-box;
307      background: ${t.color.surface.brand};
308      color: ${t.color.text.mutedOnBrand};
309      /* A translucent ink rule, not border.decorative — decorative *is* the
310         cream brand surface, so it disappears on the chrome band itself. */
311      border-bottom: 1px solid ${t.color.state.pressed};
312      & button {
313        min-width: 28px;
314        height: 100%;
315        box-sizing: border-box;
316        border: 0;
317        border-radius: 0;
318        background: transparent;
319        color: inherit;
320        font: inherit;
321        cursor: pointer;
322      }
323      & button {
324        transition: all 0.3s ease;
325      }
326      & button:hover:not([data-tsd-selected='true']) {
327        background: ${t.color.state.hover};
328      }
329      @media (prefers-reduced-motion: reduce) {
330        & button {
331          transition: none;
332        }
333      }
334      & button:focus-visible {
335        outline: 2px solid ${t.color.border.focus};
336        outline-offset: 2px;
337      }
338      @media (max-width: 430px) {
339        gap: ${t.gap.tight};
340        padding-inline-start: ${i.Ct}px;
341        & button {
342          min-width: 24px;
343        }
344      }
345      @media (max-width: 360px) {
346        gap: 2px;
347        padding-inline-start: 4px;
348        & button {
349          padding-inline: 3px;
350          font-size: 11px;
351        }
352      }
353    `,workbenchLogo:r`
354      display: inline-flex;
355      align-items: center;
356      width: 16px;
357      height: 21px;
358      flex: 0 0 16px;
359      color: ${t.color.text.primary};
360      & > svg {
361        width: 100%;
362        height: 100%;
363      }
364      @media (max-width: 360px) {
365        width: 14px;
366        height: 18px;
367        flex-basis: 14px;
368      }
369    `,workbenchDestinations:r`
370      display: inline-flex;
371      align-items: stretch;
372      align-self: stretch;
373      gap: 0;
374      /* The destinations are the part that must survive a narrow panel: let
375         them scroll rather than letting flex squeeze the labels together. */
376      min-width: 0;
377      flex: 0 1 auto;
378      overflow-x: auto;
379      overflow-y: hidden;
380      scrollbar-width: none;
381      &::-webkit-scrollbar {
382        display: none;
383      }
384      margin: 0;
385      padding: 0;
386      & > button {
387        flex: 0 0 auto;
388      }
389    `,workbenchNavButton:r`
390      margin: 0;
391      padding-inline: 10px;
392      font-size: ${t.type.bodyXs.size};
393      font-weight: ${t.type.labelSm.weight};
394      letter-spacing: ${t.type.labelSm.tracking};
395      color: ${t.color.text.mutedOnBrand};
396      &[data-tsd-selected='true'] {
397        background: ${t.color.state.pressed};
398        color: ${t.color.text.primary};
399        font-weight: 700;
400      }
401      @media (max-width: 361px) {
402        padding-inline: 4px;
403      }
404    `,workbenchActions:r`
405      display: inline-flex;
406      align-items: center;
407      gap: ${t.gap.tight};
408      height: 100%;
409      margin-left: auto;
410      @media (max-width: 360px) {
411        gap: 0;
412      }
413    `,workbenchActionButton:r`
414      display: inline-flex;
415      align-items: center;
416      justify-content: center;
417      width: ${i.mY}px;
418      min-width: ${i.mY}px;
419      height: ${i.mY}px;
420      flex: 0 0 ${i.mY}px;
421      padding: 0;
422      color: ${t.color.text.mutedOnBrand};
423      & svg {
424        width: 20px;
425        height: 20px;
426      }
427      &[data-tsd-selected='true'] {
428        background: ${t.color.state.pressed};
429        color: ${t.color.text.primary};
430      }
431      @media (max-width: 360px) {
432        width: 32px;
433        min-width: 32px;
434        flex-basis: 32px;
435      }
436    `,workbenchCollapseToggle:e=>r`
437      position: absolute;
438      top: ${e?i.mY:i.mY+i.y4}px;
439      inset-inline-end: 7%;
440      z-index: 10;
441      display: inline-flex;
442      align-items: center;
443      justify-content: center;
444      width: 44px;
445      height: 20px;
446      box-sizing: border-box;
447      padding: 0;
448      /* Open at the top so it reads as attached to the band above it. */
449      border: 1px solid ${t.color.state.pressed};
450      border-top: 0;
451      border-radius: 0 0 ${t.radius.group} ${t.radius.group};
452      background: ${t.color.surface.brand};
453      color: ${t.color.text.mutedOnBrand};
454      cursor: pointer;
455      transition: all 0.3s ease;
456      &:hover {
457        height: 24px;
458        color: ${t.color.text.primary};
459        background: ${t.color.surface.subtle};
460      }
461      &:focus-visible {
462        outline: 2px solid ${t.color.border.focus};
463        outline-offset: 2px;
464      }
465      @media (prefers-reduced-motion: reduce) {
466        transition: none;
467        &:hover {
468          height: 20px;
469        }
470      }
471    `,workbenchCollapseIcon:r`
472      display: inline-flex;
473      align-items: center;
474      justify-content: center;
475      width: 18px;
476      height: 18px;
477      transition: transform 0.3s ease;
478      & svg {
479        width: 18px;
480        height: 18px;
481      }
482      @media (prefers-reduced-motion: reduce) {
483        transition-duration: 0ms;
484      }
485    `,workbenchWordmark:r`
486      white-space: nowrap;
487      /* A wordmark is display type, not body copy. */
488      font-family: ${t.font.display};
489      font-size: ${t.type.headingCompact.size};
490      font-weight: ${t.type.headingCompact.weight};
491      line-height: ${t.type.headingCompact.lineHeight};
492      letter-spacing: -0.01em;
493      color: ${t.color.text.primary};
494      margin-inline-end: ${t.space[2]};
495      /* Give up the wordmark before the destination labels start colliding —
496         the emblem still carries the branding. */
497      @media (max-width: 560px) {
498        display: none;
499      }
500    `,workbenchSecondaryTabs:e=>r`
501      display: flex;
502      align-items: center;
503      gap: ${t.gap.tight};
504      min-width: 0;
505      box-sizing: border-box;
506      padding-block: ${e?"0px":"6px"};
507      padding-inline-start: ${i.e_}px;
508      padding-inline-end: ${i.e_}px;
509      scroll-padding-inline-start: ${i.e_}px;
510      scroll-padding-inline-end: ${i.e_}px;
511      height: ${e?0:i.y4}px;
512      min-height: 0;
513      flex: 0 0 auto;
514      opacity: ${e?0:1};
515      /* Chrome band: the strip belongs to the header, not to the canvas. */
516      background: ${t.color.surface.brand};
517      border-bottom: ${e?"0":"1px"} solid
518        ${t.color.state.pressed};
519      overflow-x: ${e?"hidden":"auto"};
520      overflow-y: hidden;
521      white-space: nowrap;
522      scrollbar-width: thin;
523      transition: all 0.3s ease;
524      /* Tabs must not shift as the strip scrolls, but they still animate their
525         own hover and selected states. */
526      & > * {
527        transform: none;
528      }
529      & > :last-child {
530        scroll-margin-inline-end: ${i.e_}px;
531      }
532      @media (max-width: 430px) {
533        padding-inline: ${i.Ct}px;
534      }
535      @media (prefers-reduced-motion: reduce) {
536        transition: none;
537      }
538    `,workbenchSecondaryTab:r`
539      display: inline-flex;
540      align-items: center;
541      justify-content: center;
542      /* A plugin entry can be dragged down into the workspace to place its pane,
543         so it advertises that rather than looking like a plain button. */
544      &[data-plugin-title-control] {
545        cursor: grab;
546      }
547      min-height: 32px;
548      padding: ${t.padding.controlBlock}
549        ${t.padding.controlInline};
550      border: 1px solid transparent;
551      border-radius: ${t.radius.control};
552      background: transparent;
553      color: ${t.color.text.secondary};
554      font-family: ${t.font.body};
555      font-size: ${t.type.labelSm.size};
556      font-weight: ${t.type.labelSm.weight};
557      line-height: ${t.type.labelSm.lineHeight};
558      letter-spacing: ${t.type.labelSm.tracking};
559      cursor: pointer;
560      flex: 0 0 auto;
561      appearance: none;
562      transition: all 0.3s ease;
563      &:hover {
564        background: ${t.color.state.hover};
565        color: ${t.color.text.primary};
566      }
567      &[data-tsd-selected='true'] {
568        background: ${t.color.state.selectionFill};
569        border-color: ${t.color.state.selectionFill};
570        color: ${t.color.state.selectionText};
571      }
572      &:focus-visible {
573        outline: 2px solid ${t.color.border.focus};
574        outline-offset: 2px;
575      }
576    `,pluginTitleText:r`
577      margin: 0;
578      color: inherit;
579      font-family: ${t.font.body};
580      font-size: inherit;
581      font-weight: inherit;
582      line-height: inherit;
583      letter-spacing: inherit;
584    `,dragHandle:e=>r`
585      position: absolute;
586      left: 0;
587      ${"bottom"===e?"top":"bottom"}: 0;
588      width: 100%;
589      height: 5px;
590      cursor: row-resize;
591      user-select: none;
592      touch-action: none;
593      z-index: 100000;
594      background-color: transparent;
595      transition: all 0.3s ease;
596      &:hover,
597      &:focus-visible {
598        background-color: ${t.color.border.control};
599      }
600      @media (prefers-reduced-motion: reduce) {
601        transition: none;
602      }
603    `,mainCloseBtn:r`
604      background: transparent;
605      position: fixed;
606      z-index: 99999;
607      display: inline-flex;
608      width: fit-content;
609      cursor: pointer;
610      appearance: none;
611      border: 0;
612      align-items: center;
613      padding: 0;
614      font-size: ${t.type.bodyXs.size};
615      cursor: pointer;
616      transition: opacity 0.25s ease-out;
617      &:hide-until-hover {
618        opacity: 0;
619        pointer-events: none;
620        visibility: hidden;
621      }
622      &:hide-until-hover:hover {
623        opacity: 1;
624        pointer-events: auto;
625        visibility: visible;
626      }
627    `,mainCloseBtnDefault:r`
628      background: ${t.color.surface.brand};
629      color: ${t.color.text.primary};
630      width: 60px;
631      height: 60px;
632      justify-content: center;
633      border-radius: 14px;
634      /*
635       * Two inset layers carry the chip's finish so both can animate:
636       * a 1px edge ring, transparent at rest so it fades in on hover, and a
637       * full-bleed tint that lifts the brand fill off pitch black in dark mode
638       * (and off flat cream in light) without replacing it.
639       */
640      box-shadow:
641        inset 0 0 0 1px transparent,
642        inset 0 0 0 999px ${t.color.state.hover},
643        ${t.shadow.sm};
644      transition: all 0.3s ease;
645      /* Sized by height with width following the emblem's own tall aspect, so
646         the mark fills the chip instead of being letterboxed inside a square. */
647      & > svg {
648        width: auto;
649        height: 48px;
650        outline: none;
651        transition: all 0.3s ease;
652      }
653      /*
654       * Hover keeps the brand fill: this chip floats over the user's page, so
655       * replacing the fill with a translucent state colour would make it
656       * vanish. Hover deepens the resting tint one step, brings in the edge
657       * ring, and scales the chip up a touch.
658       *
659       * It animates the scale property rather than a transform: floating mode
660       * sets transform inline to drive the drag, so a transform here would be
661       * overridden and never apply.
662       */
663      &:hover {
664        box-shadow:
665          inset 0 0 0 1px ${t.color.border.control},
666          inset 0 0 0 999px ${t.color.state.pressed},
667          ${t.shadow.overlay};
668        scale: 1.06;
669      }
670      &:hover > svg {
671        scale: 1.04;
672      }
673      &:active {
674        scale: 0.98;
675      }
676      @media (prefers-reduced-motion: reduce) {
677        transition-property: opacity;
678        & > svg {
679          transition: none;
680        }
681        &:hover,
682        &:hover > svg,
683        &:active {
684          scale: 1;
685        }
686      }
687      &:focus-visible {
688        outline: 2px solid ${t.color.border.focus};
689        outline-offset: 2px;
690      }
691    `,mainCloseBtnFloating:r`
692      /* Floating placement is driven by inline left/top, so don't animate
693         position (would fight the drag/throw rAF loop). The hover treatment
694         uses box-shadow and scale, both of which are safe to keep. */
695      transition:
696        opacity 0.3s ease,
697        box-shadow 0.3s ease,
698        scale 0.3s ease,
699        background-color 0.3s ease,
700        color 0.3s ease;
701      /* Stays a pointer even though it is draggable: the trigger reads as a
702         button first, and a grab cursor made it look like a handle. */
703      cursor: pointer;
704      touch-action: none;
705      user-select: none;
706    `,mainCloseBtnPosition:e=>r`
707        ${"top-left"===e?`top: ${t.space[2]}; left: ${t.space[2]};`:""}
708        ${"top-right"===e?`top: ${t.space[2]}; right: ${t.space[2]};`:""}
709        ${"middle-left"===e?`top: 50%; left: ${t.space[2]}; transform: translateY(-50%);`:""}
710        ${"middle-right"===e?`top: 50%; right: ${t.space[2]}; transform: translateY(-50%);`:""}
711        ${"bottom-left"===e?`bottom: ${t.space[2]}; left: ${t.space[2]};`:""}
712        ${"bottom-right"===e?`bottom: ${t.space[2]}; right: ${t.space[2]};`:""}
713      `,mainCloseBtnAnimation:(e,t)=>e?r`
714        opacity: 0;
715        pointer-events: none;
716        visibility: hidden;
717      `:t?r`
718              opacity: 0;
719
720              &:hover {
721                opacity: 1;
722                pointer-events: auto;
723                visibility: visible;
724              }
725            `:r`
726              opacity: 1;
727              pointer-events: auto;
728              visibility: visible;
729            `,tabContent:r`
730      transition: all 0.2s ease-in-out;
731      width: 100%;
732      max-width: 100%;
733      min-width: 0;
734      height: 100%;
735      box-sizing: border-box;
736      overflow-x: hidden;
737    `,pluginsTabContent:r`
738      /*
739       * A positioning context per pane. Plugins position their own chrome
740       * absolutely and assume their own root is the containing block, but a
741       * plugin root is often statically positioned — without this, a top-zero
742       * offset resolves against the whole Workbench and the plugin paints its
743       * controls over our header. With three panes open they would all pile
744       * into the same corner.
745       */
746      position: relative;
747      width: 100%;
748      height: 100%;
749      min-width: 0;
750      min-height: 0;
751      overflow-y: auto;
752      overscroll-behavior: contain;
753    `,pluginsEmptyState:r`
754      display: flex;
755      flex: 1 1 auto;
756      flex-direction: column;
757      align-items: center;
758      justify-content: center;
759      gap: ${t.gap.control};
760      min-width: 0;
761      padding: ${i.e_}px;
762      text-align: center;
763      background: ${t.color.surface.workspace};
764    `,pluginsEmptyStateIcon:r`
765      display: inline-flex;
766      align-items: center;
767      justify-content: center;
768      width: 48px;
769      height: 48px;
770      margin-bottom: ${t.space[1]};
771      border-radius: 50%;
772      background: ${t.color.surface.subtle};
773      color: ${t.color.text.muted};
774      & svg {
775        width: 22px;
776        height: 22px;
777      }
778    `,pluginsEmptyStateTitle:r`
779      margin: 0;
780      font-family: ${t.font.display};
781      font-size: ${t.type.headingPane.size};
782      font-weight: ${t.type.headingPane.weight};
783      line-height: ${t.type.headingPane.lineHeight};
784      color: ${t.color.text.primary};
785    `,pluginsEmptyStateHint:r`
786      margin: 0;
787      max-width: 42ch;
788      font-size: ${t.type.bodySm.size};
789      font-weight: ${t.type.bodySm.weight};
790      line-height: ${t.type.bodySm.lineHeight};
791      color: ${t.color.text.secondary};
792    `,pluginWorkspace:r`
793      position: relative;
794      width: 100%;
795      height: 100%;
796      min-width: 0;
797      min-height: 0;
798      overflow: hidden;
799      background: ${t.color.surface.workspace};
800    `,pluginSrOnly:r`
801      position: absolute;
802      width: 1px;
803      height: 1px;
804      margin: -1px;
805      padding: 0;
806      overflow: hidden;
807      clip-path: inset(50%);
808      white-space: nowrap;
809      border: 0;
810    `,pluginGroupTabs:r`
811      display: flex;
812      align-items: stretch;
813      gap: 2px;
814      height: ${i.q8}px;
815      min-width: 0;
816      padding-inline: 4px;
817      box-sizing: border-box;
818      overflow-x: auto;
819      overflow-y: hidden;
820      white-space: nowrap;
821      scrollbar-width: thin;
822      background: ${t.color.surface.brand};
823      border-bottom: 1px solid ${t.color.state.pressed};
824    `,pluginGroupTabItem:r`
825      position: relative;
826      display: inline-flex;
827      align-items: stretch;
828      flex: 0 0 auto;
829      max-width: 200px;
830      background: transparent;
831      transition: background 0.2s ease;
832      &[data-tsd-selected='true'] {
833        background: ${t.color.surface.workspace};
834      }
835      &:hover:not([data-tsd-selected='true']) {
836        background: ${t.color.state.hover};
837      }
838      &[data-tsd-held='true'] {
839        outline: 2px solid ${t.color.border.focus};
840        outline-offset: -2px;
841      }
842      @media (prefers-reduced-motion: reduce) {
843        transition: none;
844      }
845    `,pluginGroupTabRow:r`
846      display: inline-flex;
847      align-items: stretch;
848      min-width: 0;
849    `,pluginGroupTab:r`
850      display: inline-flex;
851      align-items: center;
852      min-width: 0;
853      /* Room at the end for the close button, which sits over this one. */
854      padding-inline: 8px 28px;
855      border: 0;
856      border-radius: 0;
857      background: transparent;
858      color: ${t.color.text.mutedOnBrand};
859      font-family: ${t.font.body};
860      font-size: ${t.type.bodyXs.size};
861      overflow: hidden;
862      text-overflow: ellipsis;
863      white-space: nowrap;
864      cursor: grab;
865      &[aria-pressed='true'] {
866        color: ${t.color.text.primary};
867        cursor: default;
868      }
869    `,pluginGroupTabClose:r`
870      position: absolute;
871      inset-inline-end: 2px;
872      top: 50%;
873      transform: translateY(-50%);
874      z-index: 1;
875      display: inline-flex;
876      align-items: center;
877      justify-content: center;
878      width: 24px;
879      height: 24px;
880      padding: 0;
881      border: 0;
882      border-radius: 2px;
883      background: transparent;
884      color: ${t.color.text.mutedOnBrand};
885      cursor: pointer;
886      &:hover {
887        background: ${t.color.state.pressed};
888      }
889      & svg {
890        width: 10px;
891        height: 10px;
892      }
893    `,pluginSplitter:e=>r`
894      position: absolute;
895      z-index: 2;
896      background-color: transparent;
897      transition: background-color 0.2s ease;
898      cursor: ${"row"===e?"col-resize":"row-resize"};
899      touch-action: none;
900      &:hover,
901      &:focus-visible {
902        background-color: ${t.color.border.focus};
903      }
904      @media (prefers-reduced-motion: reduce) {
905        transition: none;
906      }
907      @media (forced-colors: active) {
908        &:hover,
909        &:focus-visible {
910          background-color: Highlight;
911        }
912      }
913    `,pluginDragPreview:r`
914      position: fixed;
915      z-index: 2147483646;
916      display: inline-flex;
917      align-items: center;
918      gap: 6px;
919      max-width: 220px;
920      height: ${i.q8}px;
921      padding-inline: 10px;
922      box-sizing: border-box;
923      pointer-events: none;
924      border: 1px solid ${t.color.border.focus};
925      border-radius: 3px;
926      background: ${t.color.surface.brand};
927      color: ${t.color.text.primary};
928      font-family: ${t.font.body};
929      font-size: ${t.type.bodyXs.size};
930      white-space: nowrap;
931      overflow: hidden;
932      text-overflow: ellipsis;
933      opacity: 0.95;
934      /* Sits just off the cursor so it never covers the pointer itself. */
935      transform: translate(12px, 12px);
936      @media (forced-colors: active) {
937        border-color: Highlight;
938      }
939    `,pluginDraggingCursor:r`
940      &,
941      & * {
942        cursor: grabbing !important;
943      }
944    `,pluginDropOverlay:r`
945      position: absolute;
946      z-index: 3;
947      pointer-events: none;
948      box-sizing: border-box;
949      border: 2px solid ${t.color.border.focus};
950      background: ${t.color.state.hover};
951      @media (forced-colors: active) {
952        border-color: Highlight;
953      }
954    `,pluginPaneSeparator:r`
955      flex: 0 0 1px;
956      align-self: stretch;
957      /* Plugins paint their own surface, which may be lighter or darker than
958         ours, so this rule needs a mid tone that shows against both. */
959      background: ${t.color.border.control};
960      @media (forced-colors: active) {
961        background: CanvasText;
962      }
963    `,settingsGroup:r`
964      display: flex;
965      flex-direction: column;
966      gap: 0.75rem;
967    `,conditionalSetting:r`
968      margin-top: ${t.space[2]};
969      margin-inline-start: ${i.e_}px;
970      padding: ${t.space[3]};
971      border-inline-start: 2px solid ${t.color.border.decorative};
972      background-color: ${t.color.surface.subtle};
973      border-start-end-radius: ${t.radius.group};
974      border-end-end-radius: ${t.radius.group};
975    `,settingRow:r`
976      display: grid;
977      grid-template-columns: 1fr 1fr;
978      gap: 1rem;
979
980      @media (max-width: 768px) {
981        grid-template-columns: 1fr;
982      }
983    `,settingsModifiers:r`
984      display: flex;
985      flex-wrap: wrap;
986      gap: 6px;
987    `,hotkeyTitle:r`
988      margin: 0;
989      font-family: ${t.font.display};
990      font-size: ${t.type.headingCompact.size};
991      line-height: ${t.type.headingCompact.lineHeight};
992      font-weight: ${t.type.headingCompact.weight};
993      color: ${t.color.text.primary};
994    `,hotkeyDescription:r`
995      margin: 0;
996      font-size: ${t.type.bodyXs.size};
997      line-height: ${t.type.bodyXs.lineHeight};
998      color: ${t.color.text.secondary};
999    `,hotkeyResult:r`
1000      display: flex;
1001      align-items: center;
1002      gap: 6px;
1003      margin: 0;
1004      font-size: ${t.type.bodyXs.size};
1005      color: ${t.color.text.secondary};
1006    `,hotkeyResultKeys:r`
1007      padding: 1px 6px;
1008      border: 1px solid ${t.color.border.decorative};
1009      border-radius: ${t.radius.control};
1010      background: ${t.color.surface.subtle};
1011      color: ${t.color.text.primary};
1012      font-family: ${t.font.mono};
1013      font-size: 11px;
1014    `,settingsStack:r`
1015      display: flex;
1016      flex-direction: column;
1017      gap: 1rem;
1018    `,pluginMarketplace:r`
1019      position: relative;
1020      display: flex;
1021      flex-direction: column;
1022      font-family: ${t.font.body};
1023      color: ${t.color.text.primary};
1024      width: 100%;
1025      min-width: 0;
1026      max-width: 100%;
1027      box-sizing: border-box;
1028      height: 100%;
1029      min-height: 0;
1030      overflow: hidden;
1031      background: ${t.color.surface.workspace};
1032      animation: ${F} 0.3s ease;
1033      @media (prefers-reduced-motion: reduce) {
1034        animation: none;
1035      }
1036    `,pluginMarketplaceScroll:r`
1037      flex: 1 1 auto;
1038      min-height: 0;
1039      min-width: 0;
1040      box-sizing: border-box;
1041      overflow-y: auto;
1042      overscroll-behavior: contain;
1043      padding: ${i.e_}px;
1044      @media (max-width: 430px) {
1045        padding: ${i.Ct}px;
1046      }
1047    `,pluginMarketplaceHeader:r`
1048      margin-bottom: ${i.e_}px;
1049      padding-bottom: ${t.space[3]};
1050      border-bottom: 1px solid ${t.color.border.decorative};
1051    `,pluginMarketplaceTitleRow:r`
1052      display: flex;
1053      align-items: flex-end;
1054      justify-content: space-between;
1055      gap: ${i.e_}px;
1056      margin-bottom: 0;
1057      flex-wrap: wrap;
1058    `,pluginMarketplaceTitleBlock:r`
1059      display: flex;
1060      flex-direction: column;
1061      gap: ${t.gap.tight};
1062      min-width: 0;
1063    `,pluginMarketplaceControls:r`
1064      display: flex;
1065      align-items: center;
1066      flex: 1 1 320px;
1067      width: 100%;
1068      max-width: 448px;
1069      min-width: 0;
1070      margin-left: auto;
1071    `,pluginMarketplaceTitle:r`
1072      font-family: ${t.font.display};
1073      font-size: 1.125rem;
1074      line-height: 1.3;
1075      font-weight: 700;
1076      color: ${t.color.text.primary};
1077      margin: 0;
1078      letter-spacing: -0.02em;
1079    `,pluginMarketplaceDescription:r`
1080      font-size: ${t.type.bodyXs.size};
1081      line-height: ${t.type.bodyXs.lineHeight};
1082      color: ${t.color.text.secondary};
1083      margin: 0;
1084      max-width: 72ch;
1085    `,pluginMarketplaceSearchWrapper:r`
1086      position: relative;
1087      display: flex;
1088      align-items: center;
1089      flex: 1 1 0%;
1090      width: auto;
1091      max-width: 400px;
1092      min-width: 0;
1093      @media (max-width: 430px) {
1094        width: 100%;
1095        max-width: none;
1096      }
1097
1098      svg {
1099        position: absolute;
1100        left: 8px;
1101        width: 14px;
1102        height: 14px;
1103        color: ${t.color.text.muted};
1104        pointer-events: none;
1105      }
1106    `,pluginMarketplaceSearch:r`
1107      width: 100%;
1108      box-sizing: border-box;
1109      padding: 5px 10px 5px 28px;
1110      background: ${t.color.surface.app};
1111      border: 1px solid ${t.color.border.decorative};
1112      border-radius: ${t.radius.control};
1113      color: ${t.color.text.primary};
1114      font-size: ${t.type.bodyXs.size};
1115      line-height: ${t.type.bodyXs.lineHeight};
1116      font-family: ${t.font.body};
1117      transition: all 0.3s ease;
1118
1119      &::placeholder {
1120        color: ${t.color.text.muted};
1121      }
1122
1123      &:hover {
1124        border-color: ${t.color.border.control};
1125      }
1126
1127      &:focus {
1128        outline: none;
1129        border-color: ${t.color.border.focus};
1130        background: ${t.color.surface.elevated};
1131        box-shadow: 0 0 0 2px ${t.color.state.pressed};
1132      }
1133      @media (prefers-reduced-motion: reduce) {
1134        transition: none;
1135      }
1136    `,pluginMarketplaceTagsContainer:r`
1137      display: flex;
1138      flex-wrap: wrap;
1139      gap: 6px;
1140      margin-top: ${t.space[3]};
1141      padding: 0;
1142      background: transparent;
1143      border: 0;
1144    `,pluginMarketplaceTagButton:r`
1145      padding: 3px 10px;
1146      font-size: ${t.type.bodyXs.size};
1147      line-height: ${t.type.bodyXs.lineHeight};
1148      font-weight: 500;
1149      background: ${t.color.surface.subtle};
1150      border: 1px solid ${t.color.border.decorative};
1151      border-radius: 999px;
1152      color: ${t.color.text.secondary};
1153      cursor: pointer;
1154      transition: all 0.3s ease;
1155
1156      &:hover {
1157        background: ${t.color.state.hover};
1158        border-color: ${t.color.border.control};
1159        color: ${t.color.text.primary};
1160      }
1161      @media (prefers-reduced-motion: reduce) {
1162        transition: none;
1163      }
1164    `,pluginMarketplaceTagButtonActive:r`
1165      background: ${t.color.state.selectionFill} !important;
1166      border-color: ${t.color.state.selectionFill} !important;
1167      color: ${t.color.state.selectionText} !important;
1168
1169      &:hover {
1170        background: ${t.color.state.selectionFill} !important;
1171        border-color: ${t.color.border.focus} !important;
1172      }
1173    `,pluginMarketplaceSettingsButton:r`
1174      display: flex;
1175      align-items: center;
1176      justify-content: center;
1177      flex: 0 0 auto;
1178      padding: 5px;
1179      background: ${t.color.surface.subtle};
1180      border: 1px solid ${t.color.border.decorative};
1181      border-radius: ${t.radius.control};
1182      color: ${t.color.text.secondary};
1183      cursor: pointer;
1184      transition: all 0.3s ease;
1185      margin-left: 6px;
1186
1187      & svg {
1188        width: 14px;
1189        height: 14px;
1190      }
1191
1192      &:hover {
1193        background: ${t.color.state.hover};
1194        border-color: ${t.color.border.control};
1195        color: ${t.color.text.primary};
1196      }
1197      @media (prefers-reduced-motion: reduce) {
1198        transition: none;
1199      }
1200    `,pluginMarketplaceSettingsPanel:r`
1201      position: absolute;
1202      inset-block: 0;
1203      inset-inline-end: 0;
1204      width: 320px;
1205      max-width: 100%;
1206      box-sizing: border-box;
1207      background: ${t.color.surface.elevated};
1208      border-inline-start: 1px solid ${t.color.border.decorative};
1209      box-shadow: ${t.shadow.overlay};
1210      z-index: 2;
1211      display: flex;
1212      flex-direction: column;
1213      animation: ${O} 0.3s ease;
1214      @media (prefers-reduced-motion: reduce) {
1215        animation: none;
1216      }
1217    `,pluginMarketplaceSettingsPanelHeader:r`
1218      display: flex;
1219      align-items: center;
1220      justify-content: space-between;
1221      gap: ${t.gap.control};
1222      padding: ${t.space[3]} ${i.e_}px;
1223      border-bottom: 1px solid ${t.color.border.decorative};
1224    `,pluginMarketplaceSettingsPanelTitle:r`
1225      font-family: ${t.font.display};
1226      font-size: ${t.type.headingCompact.size};
1227      line-height: ${t.type.headingCompact.lineHeight};
1228      font-weight: 700;
1229      color: ${t.color.text.primary};
1230      margin: 0;
1231    `,pluginMarketplaceSettingsPanelClose:r`
1232      display: flex;
1233      align-items: center;
1234      justify-content: center;
1235      padding: 0.5rem;
1236      background: transparent;
1237      border: none;
1238      color: ${t.color.text.secondary};
1239      cursor: pointer;
1240      border-radius: 0.375rem;
1241      transition: all 0.3s ease;
1242
1243      &:hover {
1244        background: ${t.color.state.hover};
1245        color: ${t.color.text.primary};
1246      }
1247    `,pluginMarketplaceSettingsPanelContent:r`
1248      flex: 1;
1249      min-height: 0;
1250      padding: ${i.e_}px;
1251      overflow-y: auto;
1252      overscroll-behavior: contain;
1253    `,pluginMarketplaceGrid:r`
1254      display: grid;
1255      grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
1256      gap: ${t.gap.section};
1257      animation: ${R} 0.4s ease;
1258      @media (prefers-reduced-motion: reduce) {
1259        animation: none;
1260      }
1261    `,pluginMarketplaceCard:r`
1262      background: ${t.color.surface.elevated};
1263      border: 1px solid ${t.color.border.decorative};
1264      border-radius: ${t.radius.overlay};
1265      padding: ${i.e_}px;
1266      display: flex;
1267      flex-direction: column;
1268      gap: ${t.gap.section};
1269      transition: all 0.3s ease;
1270      position: relative;
1271      overflow: hidden;
1272
1273      /* Cards stay grounded: hover raises the shadow a step instead of lifting
1274         the card off the page. */
1275      &:hover {
1276        border-color: ${t.color.border.control};
1277        box-shadow: ${t.shadow.sm};
1278      }
1279      @media (prefers-reduced-motion: reduce) {
1280        transition: none;
1281      }
1282    `,pluginMarketplaceCardIcon:r`
1283      width: 32px;
1284      height: 32px;
1285      flex: 0 0 32px;
1286      display: flex;
1287      align-items: center;
1288      justify-content: center;
1289      background: ${t.color.surface.subtle};
1290      border: 1px solid ${t.color.border.decorative};
1291      border-radius: ${t.radius.group};
1292      color: ${t.color.text.secondary};
1293
1294      svg {
1295        width: 16px;
1296        height: 16px;
1297      }
1298    `,pluginMarketplaceCardHeader:r`
1299      flex: 1;
1300    `,pluginMarketplaceCardTitle:r`
1301      font-family: ${t.font.display};
1302      font-size: ${t.type.bodySm.size};
1303      line-height: ${t.type.bodySm.lineHeight};
1304      font-weight: 700;
1305      color: ${t.color.text.primary};
1306      /* Room on the trailing side so a long name never runs under the badge. */
1307      margin: 0 72px 4px 0;
1308    `,pluginMarketplaceCardPackageBadge:r`
1309      margin-top: 4px;
1310      margin-bottom: 8px;
1311      font-size: 0.6875rem;
1312      font-family: ${t.font.mono};
1313      color: ${t.color.text.muted};
1314      padding: 0;
1315      word-break: break-all;
1316      display: inline-block;
1317    `,pluginMarketplaceCardDescriptionText:r`
1318      margin-top: 0;
1319      font-size: ${t.type.bodyXs.size};
1320      line-height: ${t.type.bodySm.lineHeight};
1321      color: ${t.color.text.secondary};
1322    `,pluginMarketplaceCardVersionInfo:r`
1323      margin-top: 8px;
1324      font-size: 0.6875rem;
1325      font-family: ${t.font.mono};
1326    `,pluginMarketplaceCardVersionSatisfied:r`
1327      color: ${t.color.status.success.text};
1328    `,pluginMarketplaceCardVersionUnsatisfied:r`
1329      color: ${t.color.status.error.text};
1330    `,pluginMarketplaceCardDocsLink:r`
1331      display: inline-flex;
1332      align-items: center;
1333      gap: 0.25rem;
1334      font-size: 0.75rem;
1335      color: ${t.color.text.link};
1336      text-decoration: none;
1337      margin-top: 0.5rem;
1338      transition: all 0.3s ease;
1339
1340      &:hover {
1341        color: ${t.color.text.link};
1342        text-decoration: underline;
1343      }
1344
1345      svg {
1346        width: 12px;
1347        height: 12px;
1348      }
1349    `,pluginMarketplaceCardTags:r`
1350      display: flex;
1351      flex-wrap: wrap;
1352      gap: 0.375rem;
1353      margin-top: 0.75rem;
1354    `,pluginMarketplaceCardTag:r`
1355      font-size: 0.6875rem;
1356      font-weight: 500;
1357      padding: 0.25rem 0.5rem;
1358      background: ${t.color.surface.subtle};
1359      border: 1px solid ${t.color.border.decorative};
1360      border-radius: 999px;
1361      color: ${t.color.text.secondary};
1362    `,pluginMarketplaceCardImage:r`
1363      width: 28px;
1364      height: 28px;
1365      object-fit: contain;
1366    `,pluginMarketplaceNewBanner:r`
1367      display: inline-block;
1368      vertical-align: middle;
1369      margin-inline-start: 6px;
1370      background-color: ${t.color.status.success.subtleFill};
1371      color: ${t.color.status.success.text};
1372      padding: 1px 6px;
1373      font-family: ${t.font.body};
1374      font-size: 11px;
1375      font-weight: 600;
1376      text-transform: uppercase;
1377      border-radius: 999px;
1378      letter-spacing: 0.05em;
1379    `,pluginMarketplaceCardFeatured:r`
1380      border-color: ${t.color.border.control};
1381    `,pluginMarketplaceCardActive:r`
1382      border-inline-start: 3px solid ${t.color.status.success.border};
1383    `,pluginMarketplaceCardStatus:r`
1384      display: flex;
1385      align-items: center;
1386      gap: 0.5rem;
1387      color: ${t.color.status.success.text};
1388      animation: ${U} 0.3s ease;
1389
1390      svg {
1391        width: 18px;
1392        height: 18px;
1393        animation: ${U} 120ms ease-out;
1394      }
1395    `,pluginMarketplaceCardSpinner:r`
1396      width: 18px;
1397      height: 18px;
1398      border: 2px solid ${t.color.border.decorative};
1399      border-top-color: ${t.color.status.info.border};
1400      border-radius: 50%;
1401      animation: ${X} 0.8s linear infinite;
1402    `,pluginMarketplaceCardStatusText:r`
1403      font-size: 0.875rem;
1404      font-weight: 600;
1405    `,pluginMarketplaceCardStatusTextError:r`
1406      font-size: 0.875rem;
1407      font-weight: 600;
1408      color: ${t.color.status.error.text};
1409    `,pluginMarketplaceEmpty:r`
1410      padding: 3rem 2rem;
1411      text-align: center;
1412      background: ${t.color.surface.elevated};
1413      border: 2px dashed ${t.color.border.control};
1414      border-radius: 0.75rem;
1415      animation: ${F} 0.3s ease;
1416    `,pluginMarketplaceEmptyText:r`
1417      font-size: 0.95rem;
1418      color: ${t.color.text.secondary};
1419      margin: 0;
1420      line-height: 1.6;
1421    `,pluginMarketplaceSection:r`
1422      margin-bottom: ${1.5*i.e_}px;
1423
1424      &:last-child {
1425        margin-bottom: 0;
1426      }
1427    `,pluginMarketplaceSectionHeader:r`
1428      margin-bottom: ${t.gap.section};
1429      padding: 0 0 6px;
1430      display: flex;
1431      align-items: center;
1432      gap: ${t.gap.tight};
1433      cursor: pointer;
1434      user-select: none;
1435      background: transparent;
1436      border: 0;
1437      border-bottom: 1px solid ${t.color.border.decorative};
1438      border-radius: 0;
1439      transition: all 0.3s ease;
1440
1441      &:hover {
1442        border-bottom-color: ${t.color.border.control};
1443      }
1444      &:hover h3 {
1445        color: ${t.color.text.primary};
1446      }
1447      @media (prefers-reduced-motion: reduce) {
1448        transition: none;
1449      }
1450    `,pluginMarketplaceSectionContent:r`
1451      display: flex;
1452      flex-direction: column;
1453      gap: ${t.gap.sectionLarge};
1454    `,pluginMarketplaceSectionHeaderLeft:r`
1455      display: flex;
1456      align-items: center;
1457      gap: 0.5rem;
1458    `,pluginMarketplaceSectionChevron:r`
1459      width: 18px;
1460      height: 18px;
1461      display: flex;
1462      align-items: center;
1463      justify-content: center;
1464      color: ${t.color.text.secondary};
1465      transition: transform 0.2s ease;
1466    `,pluginMarketplaceSectionChevronCollapsed:r`
1467      transform: rotate(-90deg);
1468    `,pluginMarketplaceSectionTitle:r`
1469      font-family: ${t.font.display};
1470      font-size: ${t.type.headingPane.size};
1471      line-height: ${t.type.headingPane.lineHeight};
1472      font-weight: 700;
1473      color: ${t.color.text.secondary};
1474      margin: 0;
1475      display: flex;
1476      align-items: center;
1477      gap: ${t.gap.control};
1478      transition: all 0.3s ease;
1479      @media (prefers-reduced-motion: reduce) {
1480        transition: none;
1481      }
1482    `,pluginMarketplaceFeatureBanner:r`
1483      margin-top: 0;
1484      padding: ${t.space[3]} ${i.e_}px;
1485      background: ${t.color.surface.brand};
1486      border-radius: ${t.radius.overlay};
1487      border: 1px solid ${t.color.border.decorative};
1488      border-inline-start: 3px solid ${t.color.state.selectionFill};
1489      box-shadow: none;
1490    `,pluginMarketplaceFeatureBannerContent:r`
1491      display: flex;
1492      flex-direction: column;
1493      gap: ${t.gap.control};
1494      align-items: flex-start;
1495    `,pluginMarketplaceFeatureBannerTitle:r`
1496      font-family: ${t.font.display};
1497      font-size: ${t.type.headingCompact.size};
1498      line-height: ${t.type.headingCompact.lineHeight};
1499      font-weight: 700;
1500      color: ${t.color.text.primary};
1501      margin: 0;
1502      display: flex;
1503      align-items: center;
1504      gap: 6px;
1505    `,pluginMarketplaceFeatureBannerIcon:r`
1506      width: 14px;
1507      height: 14px;
1508      display: inline-flex;
1509      color: ${t.color.text.secondary};
1510    `,pluginMarketplaceFeatureBannerText:r`
1511      font-size: ${t.type.bodyXs.size};
1512      color: ${t.color.text.mutedOnBrand};
1513      line-height: ${t.type.bodySm.lineHeight};
1514      max-width: 78ch;
1515      margin: 0;
1516    `,pluginMarketplaceFeatureBannerButton:r`
1517      display: inline-flex;
1518      align-items: center;
1519      gap: 6px;
1520      padding: 5px 12px;
1521      background: ${t.color.state.selectionFill};
1522      color: ${t.color.state.selectionText};
1523      font-weight: 600;
1524      font-size: ${t.type.bodyXs.size};
1525      border-radius: ${t.radius.control};
1526      border: none;
1527      cursor: pointer;
1528      transition: all 0.3s ease;
1529      text-decoration: none;
1530      align-self: flex-start;
1531      box-shadow: none;
1532
1533      &:hover {
1534        opacity: 0.85;
1535      }
1536      &:focus-visible {
1537        outline: 2px solid ${t.color.border.focus};
1538        outline-offset: 2px;
1539      }
1540      @media (prefers-reduced-motion: reduce) {
1541        transition: none;
1542      }
1543    `,pluginMarketplaceFeatureBannerButtonIcon:r`
1544      width: 14px;
1545      height: 14px;
1546    `,pluginMarketplaceCardDisabled:r`
1547      opacity: 0.6;
1548      filter: grayscale(0.3);
1549      cursor: not-allowed;
1550
1551      &:hover {
1552        transform: none;
1553        box-shadow: none;
1554      }
1555    `,pluginMarketplaceCardBadge:r`
1556      position: absolute;
1557      top: ${i.e_}px;
1558      right: ${i.e_}px;
1559      padding: 1px 6px;
1560      font-size: 11px;
1561      font-weight: 600;
1562      text-transform: uppercase;
1563      border-radius: 999px;
1564      letter-spacing: 0.05em;
1565    `,pluginMarketplaceCardBadgeInstall:r`
1566      background: ${t.color.status.success.subtleFill};
1567      color: ${t.color.status.success.text};
1568    `,pluginMarketplaceCardBadgeActive:r`
1569      background: ${t.color.status.success.subtleFill};
1570      color: ${t.color.status.success.text};
1571    `,pluginMarketplaceCardBadgeAdd:r`
1572      background: ${t.color.status.info.subtleFill};
1573      color: ${t.color.status.info.text};
1574    `,pluginMarketplaceCardBadgeBlocked:r`
1575      background: ${t.color.status.warning.subtleFill};
1576      color: ${t.color.status.warning.text};
1577    `,pluginMarketplaceCardBadgeRequires:r`
1578      background: ${t.color.status.neutral.subtleFill};
1579      color: ${t.color.status.neutral.text};
1580    `,pluginMarketplaceButtonInstalled:r`
1581      opacity: 0.5;
1582    `}};function _(){const{theme:e}=T(),[t,r]=(0,s.n5)(j(e()));return(0,s.EH)(()=>{r(j(e()))}),t}var W=(0,a.vs)('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 64.04 83.84"fill=currentColor><path d=M32.02,0c23.15,0,32.02,14.33,32.02,41.92s-8.87,41.92-32.02,41.92S0,69.53,0,41.92C0,14.33,8.87,0,32.02,0ZM42.61,61.08c-3.01,0-4.65.82-5.97,1.48-1.14.57-2.03,1.02-4.01,1.02s-2.87-.45-4.01-1.02c-1.32-.66-2.96-1.48-5.97-1.48s-4.65.82-5.97,1.48c-1.14.57-2.03,1.02-4.01,1.02v4.37c3.01,0,4.65-.82,5.97-1.48,1.14-.57,2.03-1.02,4.01-1.02s2.87.45,4.01,1.02c1.32.66,2.96,1.48,5.97,1.48s4.65-.82,5.97-1.48c1.14-.57,2.03-1.02,4.01-1.02s2.87.45,4.01,1.02c1.32.66,2.96,1.48,5.97,1.48v-4.37c-1.97,0-2.87-.45-4.01-1.02-1.32-.66-2.96-1.48-5.97-1.48ZM44.04,17.29c2.27-2.05,0-5.76-2.84-4.64-1.57.63-3.05,1.53-4.37,2.72-2.06,1.87-3.45,4.22-4.2,6.78-.75-2.56-2.14-4.91-4.2-6.78-1.32-1.18-2.8-2.09-4.37-2.72-2.84-1.12-5.11,2.59-2.84,4.64l8.33,7.52c-2.72-1.84-6-2.93-9.54-2.93-1.93,0-3.78.31-5.52.91-2.92.99-2.11,5.35.96,5.35h11.62c-2.56.49-4.99,1.63-7.03,3.45-1.32,1.18-2.36,2.56-3.14,4.07-1.41,2.71,2.05,5.34,4.32,3.31l9.38-8.45-.7,23.25c0,.28-.16.55-.37.78-.3-.13-.58-.27-.9-.43-1.32-.66-2.96-1.48-5.97-1.48s-4.65.82-5.97,1.48c-1.14.57-2.03,1.02-4.01,1.02v4.37c3.01,0,4.65-.82,5.97-1.48,1.14-.57,2.03-1.02,4.01-1.02s2.87.45,4.01,1.02c1.32.66,2.96,1.48,5.97,1.48s4.65-.82,5.97-1.48c1.14-.57,2.03-1.02,4.01-1.02s2.87.45,4.01,1.02c1.32.66,2.96,1.48,5.97,1.48v-4.37c-1.97,0-2.87-.45-4.01-1.02v-.02c-1.32-.66-2.96-1.48-5.97-1.48s-4.65.82-5.97,1.48c-.34.16-.66.33-.99.46-.25-.22-.4-.51-.42-.81l-.7-23.37,9.51,8.58c2.27,2.05,5.73-.58,4.32-3.31-.78-1.5-1.82
1582-2.89-3.14-4.07-2.03-1.84-4.46-2.96-7.03-3.45h11.62c3.08,0,3.87-4.35.96-5.35-1.73-.58-3.59-.91-5.52-.91-3.53,0-6.8,1.09-9.54,2.93l8.33-7.52Z>'),V=(0,a.vs)("<title>"),K=e=>{return r=W(),o=r.firstChild,(0,a.Yr)(r,(t=(0,a.ph)(()=>!!e.title),()=>{return t()?(r=V(),(0,a.Yr)(r,()=>e.title),r):null;var r}),o),(0,s.gb)(t=>{var o=e.title?void 0:"true",i=e.title?"img":void 0;return o!==t.e&&(0,a.Bq)(r,"aria-hidden",t.e=o),i!==t.t&&(0,a.Bq)(r,"role",t.t=i),t},{e:void 0,t:void 0}),r;var t,r,o},G=(0,a.vs)("<div>"),Z=(0,a.vs)('<button type=button data-tsd-control aria-label="Open TanStack Devtools">'),Q=(e,t,r)=>Math.max(t,Math.min(r,e)),J=(e,t,r,o)=>{let i=e+t,n=.95*t;return i<=r?(i=r,n=.5*-n):i>=o&&(i=o,n=.5*-n),{pos:i,vel:n}},ee=e=>{const{settings:t,setSettings:r}=z(),[o,i]=(0,s.n5)(),[n,l]=(0,s.n5)(),[d,c]=(0,s.n5)(t().triggerCoords??null),p=_(),u=(0,s.To)(()=>"floating"===t().triggerMode),g=(0,s.To)(()=>(0,b.A)(p().mainCloseBtn,(!u()||!d())&&p().mainCloseBtnPosition(t().position),!t().customTrigger&&p().mainCloseBtnDefault,p().mainCloseBtnAnimation(e.isOpen(),t().hideUntilHover),u()&&p().mainCloseBtnFloating)),h=e=>{const t=(e=>{const t=parseFloat(getComputedStyle(e).getPropertyValue("--tsrd-font-size"));return.5*(Number.isFinite(t)?t:16)})(e),r=e.getBoundingClientRect();return{minX:t,minY:t,maxX:window.innerWidth-r.width-t,maxY:window.innerHeight-r.height-t}};let m,v=!1,f=!1,w=0,x=0,k=0,y=0,$=0,S=0,C=0,T=0,M=0;const Y=()=>{void 0!==m&&(cancelAnimationFrame(m),m=void 0)},B=()=>r({triggerCoords:d()??void 0}),P=e=>{if(!u()||0!==e.button)return;const t=n(),r=d();t&&r&&(Y(),v=!0,f=!1,t.setPointerCapture(e.pointerId),w=e.clientX,x=e.clientY,k=r.x,y=r.y,$=e.clientX,S=e.clientY,C=e.timeStamp,T=0,M=0,e.preventDefault())},I=e=>{if(!v)return;const t=n();if(!t)return;const r=e.clientX-w,o=e.clientY-x;Math.hypot(r,o)>4&&(f=!0);const i=h(t);c({x:Q(k+r,i.minX,i.maxX),y:Q(y+o,i.minY,i.maxY)});const a=e.timeStamp-C;a>0&&(T=(e.clientX-$)/a*16,M=(e.clientY-S)/a*16),$=e.clientX,S=e.clientY,C=e.timeStamp},q=(e,t)=>{if(!v)return;v=!1;const r=n();r?.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),e.timeStamp-C>50&&(T=0,M=0),t&&f&&Math.hypot(T,M)>.1?(()=>{Y();const e=()=>{const t=n(),r=d();if(!t||!r)return void(m=void 0);const o=h(t),i=J(r.x,T,o.minX,o.maxX),a=J(r.y,M,o.minY,o.maxY);T=i.vel,M=a.vel,c({x:i.pos,y:a.pos}),Math.hypot(T,M)>.1?m=requestAnimationFrame(e):(m=void 0,B())};m=requestAnimationFrame(e)})():B()},D=e=>q(e,!0),L=e=>q(e,!1),E=()=>{f?f=!1:e.setIsOpen(!e.isOpen())};return(0,s.EH)(()=>{if(!u())return;const e=n();e&&(0,s.vz)(()=>{const t=d();if(!t){const t=e.getBoundingClientRect();return void c({x:t.left,y:t.top})}const r=h(e);c({x:Q(t.x,r.minX,r.maxX),y:Q(t.y,r.minY,r.maxY)})})}),(0,s.EH)(()=>{if(!u())return;const e=()=>{const e=n(),t=d();if(!e||!t)return;const r=h(e);c({x:Q(t.x,r.minX,r.maxX),y:Q(t.y,r.minY,r.maxY)}),B()};window.addEventListener("resize",e),(0,s.Ki)(()=>window.removeEventListener("resize",e))}),(0,s.Ki)(Y),(0,s.EH)(()=>{const e=t().customTrigger,r=o();e&&r&&e(r,{theme:t().theme})}),(0,s.a0)(s.wv,{get when(){return!t().triggerHidden},get children(){var e=Z();return e.addEventListener("pointercancel",L),e.$$pointerup=D,e.$$pointermove=I,e.$$pointerdown=P,e.$$click=E,(0,a.Yx)(l,e),(0,a.Yr)(e,(0,s.a0)(s.wv,{get when(){return t().customTrigger},get fallback(){return(0,s.a0)(K,{})}
1582,get children(){var e=G();return(0,a.Yx)(i,e),e}})),(0,s.gb)(t=>{var r=g(),o=u()&&d()?{left:`${d().x}px`,top:`${d().y}px`,right:"auto",bottom:"auto",transform:"none"}:void 0;return r!==t.e&&(0,a.s7)(e,t.e=r),t.t=(0,a.iF)(e,o,t.t),t},{e:void 0,t:void 0}),e}})};(0,a.z_)(["click","pointerdown","pointermove","pointerup"]);var te=(0,a.vs)("<nav data-workbench-secondary-tabs data-tsd-surface>"),re=(0,a.vs)("<button type=button data-testid=workbench-collapse-toggle data-tsd-control><span aria-hidden=true>"),oe=(0,a.vs)("<button type=button data-workbench-secondary-tab data-tsd-control>"),ie=e=>{const t=_(),{isCollapsed:r}=q();return o=te(),(0,a.Yr)(o,()=>e.children),(0,s.gb)(i=>{var n=e.ariaLabel,s=e.dataTestId,l=r()?"true":void 0,d=r()||void 0,c=r()?"true":void 0,p=`${t().workbenchSecondaryTabs(r())} tsd-workbench-secondary-tabs`;return n!==i.e&&(0,a.Bq)(o,"aria-label",i.e=n),s!==i.t&&(0,a.Bq)(o,"data-testid",i.t=s),l!==i.a&&(0,a.Bq)(o,"data-collapsed",i.a=l),d!==i.o&&(o.inert=i.o=d),c!==i.i&&(0,a.Bq)(o,"aria-hidden",i.i=c),p!==i.n&&(0,a.s7)(o,i.n=p),i},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),o;var o},ne=()=>{const e=_(),{isCollapsed:t,toggleCollapsed:r}=q(),o=()=>(t()?"Show":"Hide")+" the plugin and section tabs";return i=re(),n=i.firstChild,(0,a.q2)(i,"click",r,!0),(0,a.Yr)(n,(0,s.a0)(d.D3,{})),(0,s.gb)(r=>{var s=o(),l=o(),d=!t(),c=e().workbenchCollapseToggle(t()),p=e().workbenchCollapseIcon,u=t()?"rotate(0deg)":"rotate(180deg)";return s!==r.e&&(0,a.Bq)(i,"aria-label",r.e=s),l!==r.t&&(0,a.Bq)(i,"title",r.t=l),d!==r.a&&(0,a.Bq)(i,"aria-expanded",r.a=d),c!==r.o&&(0,a.s7)(i,r.o=c),p!==r.i&&(0,a.s7)(n,r.i=p),u!==r.n&&(0,a.$h)(n,"transform",r.n=u),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),i;var i,n},ae=e=>{const t=_();return r=oe(),(0,a.q2)(r,"click",e.onClick,!0),r.$$pointerdown=t=>e.onPointerDown?.(t),r.addEventListener("focus",e=>e.currentTarget.scrollIntoView({block:"nearest",inline:"nearest"})),(0,a.Yr)(r,()=>e.children),(0,s.gb)(o=>{var i=e.ariaCurrent,n=e.ariaPressed,s=e.ariaLabelledBy,l=e.pluginTitleControl?"":void 0,d=e.selected?"true":void 0,c=t().workbenchSecondaryTab;return i!==o.e&&(0,a.Bq)(r,"aria-current",o.e=i),n!==o.t&&(0,a.Bq)(r,"aria-pressed",o.t=n),s!==o.a&&(0,a.Bq)(r,"aria-labelledby",o.a=s),l!==o.o&&(0,a.Bq)(r,"data-plugin-title-control",o.o=l),d!==o.i&&(0,a.Bq)(r,"data-tsd-selected",o.i=d),c!==o.n&&(0,a.s7)(r,o.n=c),o},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),r;var r};(0,a.z_)(["click","pointerdown"]);var se=(0,a.vs)("<div data-testid=tanstack-devtools-panel data-tsd-surface style=max-inline-size:100%;inset-inline:0px;box-sizing:border-box><div data-testid=devtools-drawer-content>"),le=e=>{const t=_(),{height:r}=L(),{settings:o}=z(),n=(0,i.wW)(),l=()=>n().pipWindow??("undefined"==typeof window?null:window),[d,c]=(0,s.n5)((()=>{const e=l();return e?e.document.documentElement.clientWidth||e.innerWidth:0})());(0,s.EH)(()=>{const e=l();if(!e)return;const t=e.document.documentElement,r=()=>{c(t.clientWidth||e.innerWidth)};r(),e.addEventListener("resize",r);const o=e.ResizeObserver??globalThis.ResizeObserver,i=o?new o(r):null;i?.observe(t),(0,s.Ki)(()=>{e.removeEventListener("resize",r),i?.disconnect()})});const p=()=>null===n().pipWindow,u=()=>n().pipWindow?"100vh":`${r()}px`;return h=se(),m=h.firstChild,(0,a.Bq)(h,"id",i.pb),(0,a.Yr)(m,()=>e.children),(0,a.Yr)(h,(g=(0,a.ph)(()=>!!e.hasSubheader()),()=>g()?(0,s.a0)(ne,{}):null),null),(0,s.gb)(r=>{var i=String(e.isOpen()),s=String(e.isCollapsed()),l=u(),c=p()&&d()>0?`${d()}px`:"100%",g=!p()||e.isOpen()?"translateY(0px)":"top"===o().panelLocation?"translateY(-100%)":"translateY(100%)",v=u(),f=(0,b.A)(t().devtoolsPanelContainer(o().panelLocation,Boolean(n().pipWindow)),t().devtoolsPanelContainerVisibility(e.isOpen()),t().devtoolsPanelContainerResizing(e.isResizing)),w=t().devtoolsDrawerContent;return i!==r.e&&(0,a.Bq)(h,"data-open",r.e=i),s!==r.t&&(0,a.Bq)(h,"data-subheader-collapsed",r.t=s),l!==r.a&&(0,a.$h)(h,"height",r.a=l),c!==r.o&&(0,a.$h)(h,"inline-size",r.o=c),g!==r.i&&(0,a.$h)(h,"transform",r.i=g),v!==r.n&&(0,a.$h)(h,"--tsd-main-panel-height",r.n=v),f!==r.s&&(0,a.s7)(h,r.s=f),w!==r.h&&(0,a.s7)(m,r.h=w),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),h;var g,h,m},de=(0,a.vs)("<div data-testid=tanstack-devtools-content-panel data-tsd-surface style=flex-direction:column>"),ce=(0,a.vs)('<div data-testid=tsd-resize-handle data-tsd-control data-tsd-separator=resize role=separator aria-orientation=horizontal aria-label="Resize TanStack Devtools panel"tabindex=0>'),pe=e=>{const t=_(),{settings:r}=z(),{height:o}=L(),n=(0,i.wW)(),l=()=>Math.floor(window.innerHeight*i.De),d=()=>Math.min(l(),Math.max(i.Cd,Math.round(o()))),c=t=>{const o=t.shiftKey?50:10,n="bottom"===r().panelLocation&&"ArrowUp"===t.key||"top"===r().panelLocation&&"ArrowDown"===t.key,a="bottom"===r().panelLocation&&"ArrowDown"===t.key||"top"===r().panelLocation&&"ArrowUp"===t.key;let s;n&&(s=d()+o),a&&(s=d()-o),"Home"===t.key&&(s=i.Cd),"End"===t.key&&(s=l()
1582),void 0!==s&&(t.preventDefault(),e.handleHeightChange?.(Math.min(l(),s)))};return u=de(),"function"==typeof(g=e.ref)?(0,a.Yx)(g,u):e.ref=u,(0,a.Yr)(u,(p=(0,a.ph)(()=>!(!e.handleDragStart||null!==n().pipWindow)),()=>{return p()?((o=ce()).$$keydown=c,(0,a.q2)(o,"mousedown",e.handleDragStart,!0),(0,a.Bq)(o,"aria-valuemin",i.Cd),(0,s.gb)(e=>{var i=t().dragHandle(r().panelLocation),n=l(),s=d();return i!==e.e&&(0,a.s7)(o,e.e=i),n!==e.t&&(0,a.Bq)(o,"aria-valuemax",e.t=n),s!==e.a&&(0,a.Bq)(o,"aria-valuenow",e.a=s),e},{e:void 0,t:void 0,a:void 0}),o):null;var o}),null),(0,a.Yr)(u,()=>e.children,null),(0,s.gb)(()=>(0,a.s7)(u,t().devtoolsPanel)),u;var p,u,g};(0,a.z_)(["mousedown","keydown"]);var ue=(0,a.vs)("<div><h4></h4><p></p><div></div><p>Final shortcut is <kbd>"),ge={Shift:"Shift",Alt:"Alt",Meta:"Meta",Control:"Control",CtrlOrMeta:"Ctrl Or Meta"},he=e=>{const t=_(),r=t=>{const r=e.hotkey.filter(t=>e.modifiers.includes(t)),o=t.split("+").flatMap(e=>(e=>{if(1===e.length)return[(0,i.tT)(e)];const t=[];for(const r of e){const e=(0,i.tT)(r);t.includes(e)||t.push(e)}return t})(e)).filter(Boolean);e.onHotkeyChange([...r,...o])},o=()=>e.hotkey.join(" + ");return n=ue(),l=n.firstChild,d=l.nextSibling,u=d.nextSibling,g=u.nextSibling,h=g.firstChild.nextSibling,(0,a.Yr)(l,()=>e.title),(0,a.Yr)(d,()=>e.description),(0,a.Yr)(u,(0,s.a0)(s.wv,{keyed:!0,get when(){return e.hotkey},get children(){return e.modifiers.map(t=>{const r=e.hotkey.includes(t);return(0,s.a0)(c.$,{variant:"secondary","aria-pressed":r,onclick:()=>(t=>{if(e.hotkey.includes(t))e.onHotkeyChange(e.hotkey.filter(e=>e!==t));else{const r=e.hotkey.filter(t=>e.modifiers.includes(t)),o=e.hotkey.filter(t=>!e.modifiers.includes(t));e.onHotkeyChange([...r,t,...o])}})(t),outline:!r,get children(){return ge[t]||t}})})}})),(0,a.Yr)(n,(0,s.a0)(p.p,{label:"Key",description:"Use '+' to combine keys (e.g., 'a+b' or 'd'). This will be used with the enabled modifiers from above",placeholder:"a",get value(){return e.hotkey.filter(t=>!e.modifiers.includes(t)).join("+")},onChange:r}),g),(0,a.Yr)(h,o),(0,s.gb)(e=>{var r=t().settingsGroup,o=t().hotkeyTitle,i=t().hotkeyDescription,s=t().settingsModifiers,c=t().hotkeyResult,p=t().hotkeyResultKeys;return r!==e.e&&(0,a.s7)(n,e.e=r),o!==e.t&&(0,a.s7)(l,e.t=o),i!==e.a&&(0,a.s7)(d,e.a=i),s!==e.o&&(0,a.s7)(u,e.o=s),c!==e.i&&(0,a.s7)(g,e.i=c),p!==e.n&&(0,a.s7)(h,e.n=p),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),n;var n,l,d,u,g,h},me=(0,a.vs)("<div>"),ve=(0,a.vs)("<div><div>"),fe=(0,a.vs)("<div data-testid=settings-workspace data-tsd-surface style=height:100%;min-height:0px>"),be=()=>{const{setSettings:e,settings:t}=z(),r=_(),o=["CtrlOrMeta","Alt","Shift"];return i=fe(),(0,a.Yr)(i,(0,s.a0)(u.o,{withPadding:!0,get children(){return[(0,s.a0)(g.wn,{get children(){return[(0,s.a0)(g._x,{get children(){return[(0,s.a0)(g.DN,{get children(){return(0,s.a0)(d.FX,{})}}),"General"]}}),(0,s.a0)(g.ke,{children:"Configure general behavior of the devtools panel."}),(o=me(),(0,a.Yr)(o,(0,s.a0)(h.S,{label:"Default open",description:"Automatically open the devtools panel when the page loads",onChange:()=>e({defaultOpen:!t().defaultOpen}),get checked(){return t().defaultOpen}}),null),(0,a.Yr)(o,(0,s.a0)(h.S,{label:"Hide trigger until hovered",description:"Keep the devtools trigger button hidden until you hover over its area",onChange:()=>e({hideUntilHover:!t().hideUntilHover}),get checked(){return t().hideUntilHover}}),null),(0,a.Yr)(o,(0,s.a0)(h.S,{label:"Completely hide trigger",description:"Completely removes the trigger from the DOM (you can still open it with the hotkey)",onChange:()=>e({triggerHidden:!t().triggerHidden}),get checked(){return t().triggerHidden}}),null),(0,a.Yr)(o,(0,s.a0)(m.l,{label:"Theme",options:[{label:"Dark",value:"dark"},{label:"Light",value:"light"}],get value(){return t().theme},onChange:t=>e({theme:t})}),null),(0,s.gb)(()=>(0,a.s7)(o,r().settingsGroup)),o)];var o}}),(0,s.a0)(g.wn,{get children(){return[(0,s.a0)(g._x,{get children(){return[(0,s.a0)(g.DN,{get children(){return(0,s.a0)(d.N_,{})}}),"URL Configuration"]}}),(0,s.a0)(g.ke,{children:"Control when devtools are available based on URL parameters."}
1582),(o=me(),(0,a.Yr)(o,(0,s.a0)(h.S,{label:"Require URL Flag",description:"Only show devtools when a specific URL parameter is present",get checked(){return t().requireUrlFlag},onChange:t=>e({requireUrlFlag:t})}),null),(0,a.Yr)(o,(0,s.a0)(s.wv,{get when(){return t().requireUrlFlag},get children(){var o=me();return(0,a.Yr)(o,(0,s.a0)(p.p,{label:"URL flag",description:"Enter the URL parameter name (for example, 'debug' for ?debug=true)",placeholder:"debug",get value(){return t().urlFlag},onChange:t=>e({urlFlag:t})})),(0,s.gb)(()=>(0,a.s7)(o,r().conditionalSetting)),o}}),null),(0,s.gb)(()=>(0,a.s7)(o,r().settingsGroup)),o)];var o}}),(0,s.a0)(g.wn,{get children(){return[(0,s.a0)(g._x,{get children(){return[(0,s.a0)(g.DN,{get children(){return(0,s.a0)(d.s3,{})}}),"Keyboard"]}}),(0,s.a0)(g.ke,{children:"Customize keyboard shortcuts for quick access."}),(i=me(),(0,a.Yr)(i,(0,s.a0)(he,{title:"Open/Close Devtools",description:"Hotkey to open/close devtools",get hotkey(){return t().openHotkey},modifiers:o,onHotkeyChange:t=>e({openHotkey:t})}),null),(0,a.Yr)(i,(0,s.a0)(he,{title:"Source Inspector",description:"Hotkey to open source inspector",get hotkey(){return t().inspectHotkey},modifiers:o,onHotkeyChange:t=>e({inspectHotkey:t})}),null),(0,s.gb)(()=>(0,a.s7)(i,r().settingsStack)),i)];var i}}),(0,s.a0)(g.wn,{get children(){return[(0,s.a0)(g._x,{get children(){return[(0,s.a0)(g.DN,{get children(){return(0,s.a0)(d.QU,{})}}),"Position"]}}),(0,s.a0)(g.ke,{children:"Adjust the position of the trigger button and devtools panel."}),(o=ve(),i=o.firstChild,(0,a.Yr)(o,(0,s.a0)(m.l,{label:"Trigger Mode",description:"Fixed anchors the trigger to a corner. Floating lets you drag and throw it.",get value(){return t().triggerMode},options:[{label:"Fixed",value:"fixed"},{label:"Floating",value:"floating"}],onChange:t=>e({triggerMode:t})}),i),(0,a.Yr)(i,(0,s.a0)(s.wv,{get when(){return"fixed"===t().triggerMode},get children(){return(0,s.a0)(m.l,{label:"Trigger Position",options:[{label:"Bottom Right",value:"bottom-right"},{label:"Bottom Left",value:"bottom-left"},{label:"Top Right",value:"top-right"},{label:"Top Left",value:"top-left"},{label:"Middle Right",value:"middle-right"},{label:"Middle Left",value:"middle-left"}],get value(){return t().position},onChange:t=>e({position:t})})}}),null),(0,a.Yr)(i,(0,s.a0)(m.l,{label:"Panel Position",get value(){return t().panelLocation},options:[{label:"Top",value:"top"},{label:"Bottom",value:"bottom"}],onChange:t=>e({panelLocation:t})}),null),(0,s.gb)(e=>{var t=r().settingsGroup,n=r().settingRow;return t!==e.e&&(0,a.s7)(o,e.e=t),n!==e.t&&(0,a.s7)(i,e.t=n),e},{e:void 0,t:void 0}),o)];var o,i}})]}})),i;var i},we=(0,a.vs)("<img>"),xe=(0,a.vs)("<span>New"),ke=(0,a.vs)("<span>v<!> • min v"),ye=(0,a.vs)("<p>"),$e=(0,a.vs)('<a target=_blank rel="noopener noreferrer">Documentation '),Se=(0,a.vs)("<div>"),Ce=(0,a.vs)("<div data-tsd-surface style=position:relative><span></span><div></div><div><h3></h3><p></p><p>"),Te=(0,a.vs)("<span>v<!> • requires v<!>+"),Me=(0,a.vs)("<span>"),Ye=(0,a.vs)("<span>Installing..."),ze=(0,a.vs)("<span>Installed!"),Be=(0,a.vs)("<div role=status>"),Pe=e=>{const t=_(),{card:r}=e;return i=Ce(),n=i.firstChild,l=n.nextSibling,p=l.nextSibling,u=p.firstChild,g=u.nextSibling,h=g.nextSibling,(0,a.Yr)(n,()=>(e=>{switch(e.actionType){case"install":case"install-devtools":return"Available";case"add-to-devtools":return"Installed";case"already-installed":return"Active";case"version-mismatch":return"Incompatible";case"requires-package":return"Unavailable";case"wrong-framework":return"Other Framework";default:return""}})(r)),(0,a.Yr)(l,(0,s.a0)(s.wv,{get when(){return r.metadata?.logoUrl},get fallback(){return(0,s.a0)(d.qD,{})},get children(){var e=we();return(0,s.gb)(o=>{var i=r.metadata?.logoUrl,n=r.metadata?.title||r.devtoolsPackage,s=t().pluginMarketplaceCardImage;return i!==o.e&&(0,a.Bq)(e,"src",o.e=i),n!==o.t&&(0,a.Bq)(e,"alt",o.t=n),s!==o.a&&(0,a.s7)(e,o.a=s),o},{e:void 0,t:void 0,a:void 0}),e}})),(0,a.Yr)(u,()=>r.metadata?.title||r.devtoolsPackage,null),(0,a.Yr)(u,(0,s.a0)(s.wv,{get when(){return r.metadata?.isNew},get children(){var e=xe();return(0,s.gb)(()=>(0,a.s7)(e,t().pluginMarketplaceNewBanner)),e}}),null),(0,a.Yr)(g,()=>r.devtoolsPackage),(0,a.Yr)(h,(o=(0,a.ph)(()=>"requires-package"===r.actionType),()=>o()?`Requires ${r.requiredPackageName}`:(0,a.ph)(()=>"wrong-framework"===r.actionType)()?"For different framework projects":(0,a.ph)(()=>"already-installed"===r.actionType)()?"Active in your devtools":(0,a.ph)(()=>"version-mismatch"===r.actionType)()?r.versionInfo?.reason||"Version incompatible":r.metadata?.description||`For ${r.requiredPackageName}`)),(0,a.Yr)(p,(0,s.a0)(s.wv,{get when(){return r.versionInfo},get children(){var e=ye();return(0,a.Yr)(e,(0,s.a0)(s.wv,{get when(){return r.versionInfo?.satisfied},get fallback(){return e=Te(),o=e.firstChild.nextSibling,(i=o.nextSibling.nextSibling).nextSibling,(0,a.Yr)(e,()=>r.versionInfo?.current,o),(0,a.Yr)(e,()=>r.versionInfo?.required,i),(0,s.gb)(()=>(0,a.s7)(e,t().pluginMarketplaceCardVersionUnsatisfied)),e;var e,o,i},get children(){var e=ke(),o=e.firstChild.nextSibling;return o.nextSibling,(0,a.Yr)(e,()=>r.versionInfo?.current,o),(0,a.Yr)(e,()=>r.versionInfo?.required,null),(0,s.gb)(()=>(0,a.s7)(e,t().pluginMarketplaceCardVersionSatisfied)),e}})),(0,s.gb)(()=>(0,a.s7)(e,t().pluginMarketplaceCardVersionInfo)),e}}),null),(0,a.Yr)(p,(0,s.a0)(s.wv,{get when(){return r.metadata?.docsUrl},get children(){var e=$e();return e.firstChild,(0,a.Yr)(e,(0,s.a0)(d.pT,{}),null),(0,s.gb)(o=>{var i=r.metadata?.docsUrl,n=t().pluginMarketplaceCardDocsLink;return i!==o.e&&(0,a.Bq)(e,"href",o.e=i),n!==o.t&&(0,a.s7)(e,o.t=n),o},{e:void 0,t:void 0}),e}}),null),(0,a.Yr)(p,(0,s.a0)(s.wv,{get when(){return(0,a.ph)(()=>!!r.metadata?.tags)()&&r.metadata.tags.length>0},get children(){var e=Se();return(0,a.Yr)(e,(0,s.a0)(s.a,{get each(){return r.metadata?.tags},children:e=>{return r=Me(),(0,a.Yr)(r,e),(0,s.gb)(()=>(0,a.s7)(r,t().pluginMarketplaceCardTag)),r;var r}})),(0,s.gb)(()=>(0,a.s7)(e,t().pluginMarketplaceCardTags)),e}}
1582),null),(0,a.Yr)(i,(0,s.a0)(s.wv,{get when(){return"idle"===r.status},get fallback(){return e=Be(),(0,a.Yr)(e,(0,s.a0)(s.wv,{get when(){return"installing"===r.status},get children(){return[(r=Se(),(0,s.gb)(()=>(0,a.s7)(r,t().pluginMarketplaceCardSpinner)),r),(e=Ye(),(0,s.gb)(()=>(0,a.s7)(e,t().pluginMarketplaceCardStatusText)),e)];var e,r}}),null),(0,a.Yr)(e,(0,s.a0)(s.wv,{get when(){return"success"===r.status},get children(){return[(0,s.a0)(d.C1,{}),(e=ze(),(0,s.gb)(()=>(0,a.s7)(e,t().pluginMarketplaceCardStatusText)),e)];var e}}),null),(0,a.Yr)(e,(0,s.a0)(s.wv,{get when(){return"error"===r.status},get children(){return[(0,s.a0)(d.qh,{}),(e=Me(),(0,a.Yr)(e,()=>r.error||"Failed to install"),(0,s.gb)(()=>(0,a.s7)(e,t().pluginMarketplaceCardStatusTextError)),e)];var e}}),null),(0,s.gb)(()=>(0,a.s7)(e,t().pluginMarketplaceCardStatus)),e;var e},get children(){return(0,s.a0)(c.$,{get variant(){return(e=>"requires-package"===e.actionType||"wrong-framework"===e.actionType||"version-mismatch"===e.actionType?"danger":"bump-version"===e.actionType?"warning":"already-installed"===e.actionType?"secondary":"primary")(r)},onClick:()=>e.onAction(r),get disabled(){return"idle"!==r.status||"requires-package"===r.actionType||"wrong-framework"===r.actionType||"already-installed"===r.actionType||"version-mismatch"===r.actionType},get class(){return(0,a.ph)(()=>"already-installed"===r.actionType)()?t().pluginMarketplaceButtonInstalled:""},get children(){return(e=>{if("installing"===e.status)return"Installing...";if("success"===e.status)return"Installed!";if("error"===e.status)return"Error";switch(e.actionType){case"install":default:return"Install";case"install-devtools":return"Install Devtools";case"add-to-devtools":return"Add to Devtools";case"requires-package":return`Requires ${e.requiredPackageName}`;case"wrong-framework":return"Different Framework";case"already-installed":return"Already Installed";case"bump-version":return"Bump Version";case"version-mismatch":return"Version Mismatch"}})(r)}})}}),null),(0,s.gb)(e=>{var o=t().pluginMarketplaceCard,s={[t().pluginMarketplaceCardDisabled]:!r.isCurrentFramework&&"already-installed"!==r.actionType,[t().pluginMarketplaceCardFeatured]:!!r.metadata?.featured&&"already-installed"!==r.actionType,[t().pluginMarketplaceCardActive]:"already-installed"===r.actionType},d=((e,t)=>{const r=t(),o=r.pluginMarketplaceCardBadge;switch(e.actionType){case"install":case"install-devtools":return`${o} ${r.pluginMarketplaceCardBadgeInstall}`;case"add-to-devtools":return`${o} ${r.pluginMarketplaceCardBadgeAdd}`;case"already-installed":return`${o} ${r.pluginMarketplaceCardBadgeActive}`;case"bump-version":case"version-mismatch":return`${o} ${r.pluginMarketplaceCardBadgeBlocked}`;case"requires-package":case"wrong-framework":return`${o} ${r.pluginMarketplaceCardBadgeRequires}`;default:return o}})(r,t),c=t().pluginMarketplaceCardIcon,m=!!r.metadata?.logoUrl,v=t().pluginMarketplaceCardHeader,f=t().pluginMarketplaceCardTitle,b=t().pluginMarketplaceCardPackageBadge,w=t().pluginMarketplaceCardDescriptionText;return o!==e.e&&(0,a.s7)(i,e.e=o),e.t=(0,a.pP)(i,s,e.t),d!==e.a&&(0,a.s7)(n,e.a=d),c!==e.o&&(0,a.s7)(l,e.o=c),m!==e.i&&l.classList.toggle("custom-logo",e.i=m),v!==e.n&&(0,a.s7)(p,e.n=v),f!==e.s&&(0,a.s7)(u,e.s=f),b!==e.h&&(0,a.s7)(g,e.h=b),w!==e.r&&(0,a.s7)(h,e.r=w),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0}),i;var o,i,n,l,p,u,g,h},Ie=(0,a.vs)('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"fill=currentColor><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z">'),qe=(0,a.vs)('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><rect x=2 y=4 width=20 height=16 rx=2></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7">'),De=(0,a.vs)("<div><div><h4><span></span>Want to be featured here?</h4><p>If you've built a plugin for TanStack Devtools and would like to showcase it in the featured section, we'd love to hear from you! Reach out to us to discu
1582ss partnership opportunities.</p><a href=\"mailto:[email protected]?subject=Featured%20Plugin%20Partnership%20Inquiry\"><span></span>Contact Us"),Le=(0,a.vs)("<div><div>"),Ee=(0,a.vs)("<div><div role=button tabindex=0 data-tsd-control><div><div></div><h3>"),Ne=()=>Ie(),Ae=()=>qe(),He=e=>{const t=_();return r=Ee(),o=r.firstChild,i=o.firstChild,n=i.firstChild,l=n.nextSibling,o.$$keydown=t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e.onToggleCollapse())},(0,a.q2)(o,"click",e.onToggleCollapse,!0),(0,a.Yr)(n,(0,s.a0)(d.D3,{})),(0,a.Yr)(l,()=>e.section.displayName),(0,a.Yr)(r,(0,s.a0)(s.wv,{get when(){return!e.isCollapsed()},get children(){var r=Le(),o=r.firstChild;return(0,a.Yr)(r,(0,s.a0)(s.wv,{get when(){return"featured"===e.section.id},get children(){var e=De(),r=e.firstChild,o=r.firstChild,i=o.firstChild,n=o.nextSibling,l=n.nextSibling,d=l.firstChild;return(0,a.Yr)(i,(0,s.a0)(Ne,{})),(0,a.Yr)(d,(0,s.a0)(Ae,{})),(0,s.gb)(s=>{var c=t().pluginMarketplaceFeatureBanner,p=t().pluginMarketplaceFeatureBannerContent,u=t().pluginMarketplaceFeatureBannerTitle,g=t().pluginMarketplaceFeatureBannerIcon,h=t().pluginMarketplaceFeatureBannerText,m=t().pluginMarketplaceFeatureBannerButton,v=t().pluginMarketplaceFeatureBannerButtonIcon;return c!==s.e&&(0,a.s7)(e,s.e=c),p!==s.t&&(0,a.s7)(r,s.t=p),u!==s.a&&(0,a.s7)(o,s.a=u),g!==s.o&&(0,a.s7)(i,s.o=g),h!==s.i&&(0,a.s7)(n,s.i=h),m!==s.n&&(0,a.s7)(l,s.n=m),v!==s.s&&(0,a.s7)(d,s.s=v),s},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),e}}),o),(0,a.Yr)(o,(0,s.a0)(s.a,{get each(){return e.section.cards},children:t=>(0,s.a0)(Pe,{card:t,get onAction(){return e.onCardAction}})})),(0,s.gb)(e=>{var i=t().pluginMarketplaceSectionContent,n=t().pluginMarketplaceGrid;return i!==e.e&&(0,a.s7)(r,e.e=i),n!==e.t&&(0,a.s7)(o,e.t=n),e},{e:void 0,t:void 0}),r}}),null),(0,s.gb)(s=>{var d=t().pluginMarketplaceSection,c=!e.isCollapsed(),p=t().pluginMarketplaceSectionHeader,u=t().pluginMarketplaceSectionHeaderLeft,g=t().pluginMarketplaceSectionChevron,h={[t().pluginMarketplaceSectionChevronCollapsed]:e.isCollapsed()},m=t().pluginMarketplaceSectionTitle;return d!==s.e&&(0,a.s7)(r,s.e=d),c!==s.t&&(0,a.Bq)(o,"aria-expanded",s.t=c),p!==s.a&&(0,a.s7)(o,s.a=p),u!==s.o&&(0,a.s7)(i,s.o=u),g!==s.i&&(0,a.s7)(n,s.i=g),s.n=(0,a.pP)(n,h,s.n),m!==s.s&&(0,a.s7)(l,s.s=m),s},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),r;var r,o,i,n,l};(0,a.z_)(["click","keydown"]);var Fe=(0,a.vs)('<div data-tsd-surface role=dialog aria-label="Marketplace settings"><div><h3>Marketplace Settings</h3><button type=button aria-label="Close marketplace settings"data-tsd-control></button></div><div>'),Oe=e=>{const t=_();return(0,s.a0)(s.wv,{get when(){return e.isOpen()},get children(){var r=Fe(),o=r.firstChild,i=o.firstChild,n=i.nextSibling,l=o.nextSibling;return(0,a.q2)(n,"click",e.onClose,!0),(0,a.Yr)(n,(0,s.a0)(d.US,{})),(0,a.Yr)(l,(0,s.a0)(h.S,{label:"Show active plugins",description:"Display installed plugins in a separate section",get checked(){return e.showActivePlugins()},onChange:t=>e.setShowActivePlugins(t)})),(0,s.gb)(e=>{var s=t().pluginMarketplaceSettingsPanel,d=t().pluginMarketplaceSettingsPanelHeader,c=t().pluginMarketplaceSettingsPanelTitle,p=t().pluginMarketplaceSettingsPanelClose,u=t().pluginMarketplaceSettingsPanelContent;return s!==e.e&&(0,a.s7)(r,e.e=s),d!==e.t&&(0,a.s7)(o,e.t=d),c!==e.a&&(0,a.s7)(i,e.a=c),p!==e.o&&(0,a.s7)(n,e.o=p),u!==e.i&&(0,a.s7)(l,e.i=u),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),r}})};(0,a.z_)(["click"]);var Re=(0,a.vs)("<div>"),Ue=(0,a.vs)("<button type=button data-tsd-control>"),Xe=e=>{const t=_();return(0,s.a0)(s.wv,{get when(){return e.tags().length>0},get children(){var r=Re();return(0,a.Yr)(r,(0,s.a0)(s.a,{get each(){return e.tags()},children:r=>{return(o=Ue()).$$click=()=>e.onToggleTag(r),(0,a.Yr)(o,r),(0,s.gb)(i=>{var n=e.selectedTags().has(r),s=e.selectedTags().has(r),l=t().pluginMarketplaceTagButton,d={[t().pluginMarketplaceTagButtonActive]:e.selectedTags().has(r)};return n!==i.e&&(0,a.Bq)(o,"data-tsd-selected",i.e=n),s!==i.t&&(0,a.Bq)(o,"aria-pressed",i.t=s),l!==i.a&&(0,a.s7)(o,i.a=l),i.o=(0,a.pP)(o,d,i.o),i},{e:void 0,t:void 0,a:void 0,o:void 0}),o;var o}})),(0,s.gb)(()=>(0,a.s7)(r,t().pluginMarketplaceTagsContainer)),r}})};(0,a.z_)(["click"]);var je=(0,a.vs)('<div><div><div><h2>Plugin Marketplace</h2><p>Discover and install devtools for TanStack Query, Router, Form, and Pacer</p></div>
1582<div data-testid=marketplace-controls><div><input type=text aria-label="Search plugins"data-tsd-control placeholder="Search plugins..."></div><button type=button aria-label="Marketplace settings"data-tsd-control>'),_e=e=>{const t=_();return r=je(),o=r.firstChild,i=o.firstChild,n=i.firstChild,l=n.nextSibling,c=i.nextSibling,p=c.firstChild,u=p.firstChild,g=p.nextSibling,(0,a.Yr)(p,(0,s.a0)(d.WI,{}),u),u.$$input=t=>e.onSearchInput(t.currentTarget.value),(0,a.q2)(g,"click",e.onSettingsClick,!0),(0,a.Yr)(g,(0,s.a0)(d.Ze,{})),(0,a.Yr)(r,(0,s.a0)(Xe,{get tags(){return e.tags},get selectedTags(){return e.selectedTags},get onToggleTag(){return e.onToggleTag}}),null),(0,s.gb)(e=>{var s=t().pluginMarketplaceHeader,d=t().pluginMarketplaceTitleRow,h=t().pluginMarketplaceTitleBlock,m=t().pluginMarketplaceTitle,v=t().pluginMarketplaceDescription,f=t().pluginMarketplaceControls,b=t().pluginMarketplaceSearchWrapper,w=t().pluginMarketplaceSearch,x=t().pluginMarketplaceSettingsButton;return s!==e.e&&(0,a.s7)(r,e.e=s),d!==e.t&&(0,a.s7)(o,e.t=d),h!==e.a&&(0,a.s7)(i,e.a=h),m!==e.o&&(0,a.s7)(n,e.o=m),v!==e.i&&(0,a.s7)(l,e.i=v),f!==e.n&&(0,a.s7)(c,e.n=f),b!==e.s&&(0,a.s7)(p,e.s=b),w!==e.h&&(0,a.s7)(u,e.h=w),x!==e.r&&(0,a.s7)(g,e.r=x),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0}),(0,s.gb)(()=>u.value=e.searchInput()),r;var r,o,i,n,l,c,p,u,g};(0,a.z_)(["input","click"]);var We=["react","solid","vue","svelte","angular"],Ve={"@tanstack/react-query-devtools":{packageName:"@tanstack/react-query-devtools",title:"TanStack Query Devtools",description:"Powerful devtools for TanStack Query - inspect queries, mutations, and cache",requires:{packageName:"@tanstack/react-query",minVersion:"5.0.0"},pluginId:"tanstack-query",docsUrl:"https://tanstack.com/query/latest/docs/devtools",author:"TanStack",framework:"react",featured:!0,tags:["TanStack","data-fetching","caching","state-management"]},"@tanstack/solid-query-devtools":{packageName:"@tanstack/solid-query-devtools",title:"TanStack Query Devtools",description:"Powerful devtools for TanStack Query - inspect queries, mutations, and cache",requires:{packageName:"@tanstack/solid-query",minVersion:"5.0.0"},pluginId:"tanstack-query",docsUrl:"https://tanstack.com/query/latest/docs/devtools",author:"TanStack",framework:"solid",tags:["TanStack","data-fetching","caching","state-management"]},"@tanstack/react-router-devtools":{packageName:"@tanstack/react-router-devtools",title:"TanStack Router Devtools",description:"Inspect routes, navigation, and router state in real-time",requires:{packageName:"@tanstack/react-router",minVersion:"1.0.0"},pluginId:"tanstack-router",docsUrl:"https://tanstack.com/router/latest/docs/devtools",author:"TanStack",framework:"react",featured:!0,tags:["TanStack","routing","navigation"]},"@tanstack/solid-router-devtools":{packageName:"@tanstack/solid-router-devtools",title:"TanStack Router Devtools",description:"Inspect routes, navigation, and router state in real-time",requires:{packageName:"@tanstack/solid-router",minVersion:"1.0.0"},pluginId:"tanstack-router",docsUrl:"https://tanstack.com/router/latest/docs/devtools",author:"TanStack",framework:"solid",tags:["TanStack","routing","navigation"]},"@tanstack/react-form-devtools":{packageName:"@tanstack/react-form-devtools",title:"TanStack Form Devtools",description:"Debug form state, validation, and field values",requires:{packageName:"@tanstack/react-form",minVersion:"1.23.0"},pluginImport:{importName:"FormDevtoolsPlugin",type:"function"},pluginId:"tanstack-form",docsUrl:"https://tanstack.com/form/latest/docs/devtools",author:"TanStack",framework:"react",isNew:!0,tags:["TanStack","forms","validation"]},"@tanstack/solid-form-devtools":{packageName:"@tanstack/solid-form-devtools",title:"TanStack Form Devtools",description:"Debug form state, validation, and field values",requires:{packageName:"@tanstack/solid-form",minVersion:"1.23.0"},pluginImport:{importName:"FormDevtoolsPlugin",type:"function"},pluginId:"tanstack-form",docsUrl:"https://tanstack.com/form/latest/docs/devtools",author:"TanStack",isNew:!0,framework:"solid",tags:["TanStack","forms","validation"]},"@tanstack/react-pacer-devtools":{packageName:"@tanstack/react-pacer-devtools",title:"Pacer Devtools",description:"Monitor and debug your Pacer animations and transitions",requires:{packageName:"@tanstack/react-pacer",minVersion:"0.16.4"},author:"TanStack",framework:"react",isNew:!0,tags:["TanStack"]},"@tanstack/solid-pacer-devtools":{packageName:"@tanstack/solid-pacer-devtools",title:"Pacer Devtools",description:"Monitor and debug your Pacer animations and transitions",requires:{packageName:"@tanstack/solid-pacer",minVersion:"0.14.4"},author:"TanStack",framework:"solid",isNew:!0,tags:["TanStack"]},"@tanstack/devtools-a11y":{packageName:"@tanstack/devtools-a11y",title:"Accessibility Devtools",description:"Audit accessibility issues in real-time with axe-core. Supports WCAG 2.1/2.2, live monitoring, and visual overlays.",pluginImport:{importName:"createA11yPlugin",type:"function"},pluginId:"devtools-a11y",docsUrl:"https://tanstack.com/devtools/latest/docs/plugins/a11y",author:"TanStack",framework:"react",isNew:!0,tags:["TanStack","a11y"]},"@tanstack/react-ai-devtools":{packageName:"@tanstack/react-ai-devtools",title:"TanStack AI Devtools",description:"Debug TanStack AI - inspect messages, token usage, streaming chunks, tool calls, and reasoning.",requires:{packageName:"@tanstack/ai-react",minVersion:"0.8.0"},pluginImport:{importName:"aiDevtoolsPlugin",type:"function"},pluginId:"tanstack-ai",docsUrl:"https://tanstack.com/ai",repoUrl:"https://github.com/TanStack/ai",author:"TanStack",framework:"react",isNew:!0,tags:["TanStack","AI","streaming"]},"@dimano/ts-devtools-plugin-prefetch-heatmap":{packageName:"@dimano/ts-devtools-plugin-prefetch-heatmap",title:"Prefetch Heatmap",description:"Visualize TanStack Router prefetch intent, hits, and waste with a color overlay and a live metrics panel.",requires:{packageName:"@tanstack/react-router",minVersion:"1.0.0"},pluginImport:{importName:"registerPrefetchHeatmapPlugin",type:"function"},pluginId:"prefetch-heatmap",logoUrl:"https://raw.githubusercontent.com/dimitrianoudi/tanstack-prefetch-heatmap/main/assets/prefetch-heatmap-card.png",docsUrl:"https://github.com/dimitrianoudi/tanstack-prefetch-heatmap#prefetch-heatmap-devtools-plugin",repoUrl:"https://github.com/dimitrianoudi/tanstack-prefetch-heatmap",author:"Dimitris Anoudis (@dimitrianoudi)",framework:"react",isNew:!0,tags:["Router","Prefetch","Analytics","Overlay","TanStack"]},"@santosvilanculos/bevor-react":{packageName:"@santosvilanculos/bevor-react",title:"Inertia 3 Devtools",description:"Inertia 3 devtools built on top of TanStack DevTools",pluginImport:{importName:"inertiaDevtoolsPlugin",type:"function"},pluginId:"inertia-devtools",logoUrl:"https://raw.githubusercontent.com/santosvilanculos/bevor/main/logo.png",docsUrl:"https://github.com/SantosVilanculos/bevor/tree/main/packages/react",repoUrl:"https://github.com/SantosVilanculos/bevor",author:"Santos Vilanculos ([email protected])",framework:"react",isNew:!0,tags:["TanStack","React","Inertia","Laravel"]}};function Ke(e){if(!e)return null;const t=e.replace(/^[v^~]/,"").split("-")[0]?.split("+")[0];if(!t)return null;const r=t.split(".");if(r.length<2)return null;const o=parseInt(r[0]??"0",10),i=parseInt(r[1]??"0",10),n=parseInt(r[2]??"0",10);return isNaN(o)||isNaN(i)||isNaN(n)?null:{major:o,minor:i,patch:n,raw:e}}function Ge(e,t){return e.major!==t.major?e.major-t.major:e.minor!==t.minor?e.minor-t.minor:e.patch-t.patch}function Ze(e,t,r){return t||r?t&&!function(e,t){const r=Ke(e),o=Ke(t);return!r||!o||Ge(r,o)>=0}(e,t)?{satisfied:!1,reason:`Requires v${t} or higher (current: v${e})`}:r&&!function(e,t){const r=Ke(e),o=Ke(t);return!r||!o||Ge(r,o)<=0}(e,r)?{satisfied:!1,reason:`Requires v${r} or lower (current: v${e})`}:{satisfied:!0}:{satisfied:!0}}var Qe=(e,t)=>{const r={...e.dependencies,...e.devDependencies},o={react:["react","react-dom"],vue:["vue","@vue/core"],solid:["solid-js"],svelte:["svelte"],angular:["@angular/core"]};for(const i of t){const e=o[i];if(e&&e.some(e=>r[e]))return i}return"unknown"},Je=(e,t,r,o)=>{const i={...e.dependencies,...e.devDependencies},n=[];
1582return Object.values(Ve).forEach(e=>{const a=e.packageName,s=e.framework===t||"other"===e.framework,l=e.requires?.packageName,d=!!l&&!!i[l],c=!!i[a];let p;if(d&&e.requires){const t=l?i[l]:void 0;if(t){const r=Ze(t,e.requires.minVersion,e.requires.maxVersion);p={current:t,required:e.requires.minVersion,satisfied:r.satisfied,reason:r.reason}}}const u=((e,t,r,o,i)=>{if(i)return Array.from(e).some(e=>{const t=e.toLowerCase(),r=i.toLowerCase();return t.startsWith(r)||t.includes(r)});if(e.has(t))return!0;const n=r.toLowerCase().split(/[-_/@]/).filter(e=>e.length>0),a=o.toLowerCase();return Array.from(e).some(e=>{const t=e.toLowerCase();if(t.includes(r.toLowerCase()))return!0;const o=n.filter(e=>t.includes(e));return o.length>=2||!!(t.includes(a)&&o.length>=1)})})(r,a,e.packageName,e.framework,e.pluginId);let g;g=s?e.requires&&!d?"requires-package":p&&!p.satisfied?"bump-version":c&&u?"already-installed":c&&!u?"add-to-devtools":!c&&e.requires&&d?"install-devtools":"install":"wrong-framework";const h=o.find(e=>e.devtoolsPackage===a);n.push({requiredPackageName:l||"",devtoolsPackage:a,framework:e.framework,hasPackage:d,hasDevtools:c,isRegistered:u,actionType:g,status:h?.status||"idle",error:h?.error,isCurrentFramework:s,metadata:e,versionInfo:p})}),n},et=e=>{const t=[],r=e.filter(e=>e.metadata?.featured&&"already-installed"!==e.actionType&&e.isCurrentFramework);t.push({id:"featured",displayName:"Featured",cards:r});const o=e.filter(e=>"already-installed"===e.actionType&&e.isRegistered);o.length>0&&t.push({id:"active",displayName:"Active Plugins",cards:o});const i=e.filter(e=>e.isCurrentFramework&&"already-installed"!==e.actionType&&!e.metadata?.featured);return i.length>0&&t.push({id:"available",displayName:"Available Plugins",cards:i}),t},tt=(0,a.vs)("<div><p>"),rt=(0,a.vs)("<div data-testid=plugin-marketplace data-tsd-surface><div>"),ot=()=>{const e=_(),{plugins:t}=M(),[r,o]=(0,s.n5)([]),[i,n]=(0,s.n5)(null),[l,d]=(0,s.n5)(""),[c,p]=(0,s.n5)(""),[u,g]=(0,s.n5)(new Set),[h,m]=(0,s.n5)(!0),[v,b]=(0,s.n5)(new Set),[w,x]=(0,s.n5)(!1);let k;const y=e=>{d(e),k&&clearTimeout(k),k=setTimeout(()=>{p(e)},300)},$=()=>{const e=c(),o=h(),n=v(),a=i();if(!a)return[];const s=Qe(a,We),l=new Set(t()?.map(e=>e.id||"")||[]),d=Je(a,s,l,r().flatMap(e=>e.cards));let p=et(d);return o||(p=p.filter(e=>"active"!==e.id)),n.size>0&&(p=p.map(e=>({...e,cards:e.cards.filter(e=>!!e.metadata?.tags&&e.metadata.tags.some(e=>n.has(e)))})).filter(e=>e.cards.length>0)),e?p.map(t=>({...t,cards:t.cards.filter(t=>((e,t)=>{if(!t)return!0;const r=t.toLowerCase();return e.devtoolsPackage.toLowerCase().includes(r)||e.requiredPackageName.toLowerCase().includes(r)||e.framework.toLowerCase().includes(r)})(t,e))})).filter(e=>e.cards.length>0):p};(0,s.Rc)(()=>{const e=f.K.on("package-json-read",e=>{n(e.payload.packageJson),S(e.payload.packageJson)}),t=f.K.on("package-json-updated",e=>{n(e.payload.packageJson),S(e.payload.packageJson)}),r=f.K.on("devtools-installed",e=>{o(t=>t.map(t=>({...t,cards:t.cards.map(t=>t.devtoolsPackage===e.payload.packageName?{...t,status:e.payload.success?"success":"error",error:e.payload.error}:t)})))}),a=f.K.on("plugin-added",e=>{if(o(t=>t.map(t=>({...t,cards:t.cards.map(t=>t.devtoolsPackage===e.payload.packageName?{...t,status:e.payload.success?"success":"error",error:e.payload.error}:t)}))),e.payload.success){const e=i();e&&S(e)}}),l=()=>f.K.emit("mounted",void 0);let d=0;const c=setInterval(()=>{i()||d>=10?clearInterval(c):(d++,l())},400);(0,s.Ki)(()=>{e(),t(),r(),a(),clearInterval(c)}),l()});const S=e=>{if(!e)return;const i=Qe(e,We),n=new Set(t()?.map(e=>e.id||"")||[]),a=Je(e,i,n,r().flatMap(e=>e.cards)),s=et(a);o(s)},C=e=>{"requires-package"!==e.actionType&&"wrong-framework"!==e.actionType&&"already-installed"!==e.actionType&&"version-mismatch"!==e.actionType&&(o(t=>t.map(t=>({...t,cards:t.cards.map(t=>t.devtoolsPackage===e.devtoolsPackage?{...t,status:"installing"}:t)}))),"bump-version"!==e.actionType?"add-to-devtools"!==e.actionType?f.K.emit("install-devtools",{packageName:e.devtoolsPackage,pluginName:e.metadata?.title??e.devtoolsPackage,pluginImport:e.metadata?.pluginImport}):f.K.emit("add-plugin-to-devtools",{packageName:e.devtoolsPackage,pluginName:e.metadata?.title??e.devtoolsPackage,pluginImport:e.metadata?.pluginImport}):f.K.emit("bump-package-version",{packageName:e.requiredPackageName,devtoolsPackage:e.devtoolsPackage,pluginName:e.metadata?.title||e.devtoolsPackage,minVersion:e.metadata?.requires?.minVersion,pluginImport:e.metadata?.pluginImport}))},T=()=>{const e=new Set;
1582return r().forEach(t=>{"featured"!==t.id&&"available"!==t.id||t.cards.forEach(t=>{t.metadata?.tags&&t.metadata.tags.forEach(t=>e.add(t))})}),Array.from(e).sort()},Y=e=>{b(t=>{const r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})};return z=rt(),B=z.firstChild,(0,a.Yr)(B,(0,s.a0)(_e,{searchInput:l,onSearchInput:y,onSettingsClick:()=>x(!w()),tags:T,selectedTags:v,onToggleTag:Y}),null),(0,a.Yr)(B,(0,s.a0)(s.wv,{get when(){return $().length>0},get children(){return(0,s.a0)(s.a,{get each(){return $()},children:e=>(0,s.a0)(He,{section:e,isCollapsed:()=>u().has(e.id),onToggleCollapse:()=>{return t=e.id,void g(e=>{const r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r});var t},onCardAction:C})})}}),null),(0,a.Yr)(B,(0,s.a0)(s.wv,{get when(){return 0===$().length},get children(){var t,r=tt(),o=r.firstChild;return(0,a.Yr)(o,(t=(0,a.ph)(()=>!!c()),()=>t()?`No plugins found matching "${c()}"`:"No additional plugins available. You have all compatible devtools installed and registered!")),(0,s.gb)(t=>{var i=e().pluginMarketplaceEmpty,n=e().pluginMarketplaceEmptyText;return i!==t.e&&(0,a.s7)(r,t.e=i),n!==t.t&&(0,a.s7)(o,t.t=n),t},{e:void 0,t:void 0}),r}}),null),(0,a.Yr)(z,(0,s.a0)(Oe,{isOpen:w,onClose:()=>x(!1),showActivePlugins:h,setShowActivePlugins:m}),null),(0,s.gb)(t=>{var r=e().pluginMarketplace,o=e().pluginMarketplaceScroll;return r!==t.e&&(0,a.s7)(z,t.e=r),o!==t.t&&(0,a.s7)(B,t.t=o),t},{e:void 0,t:void 0}),z;var z,B},it=(0,a.vs)("<div data-tsd-surface>"),nt=()=>{const{plugins:e}=M(),t=_();return(0,s.a0)(s.wv,{get when(){return 0===(e()?.length??0)},get children(){var e=it();return(0,a.Yr)(e,(0,s.a0)(ot,{})),(0,s.gb)(()=>(0,a.s7)(e,t().pluginsTabContent)),e}})},at=e=>{const t=3===e.nodeType?e.parentNode:e;return"STYLE"===t?.nodeName};function st(e,t={}){const{attributes:r=!0,childList:o=!0,subtree:i=!0,observeTitle:n=!0}=t;(0,s.Rc)(()=>{const t=new MutationObserver(t=>{for(const r of t)if("childList"===r.type)r.addedNodes.forEach(t=>{at(t)||e({kind:"added",node:t},r)}),r.removedNodes.forEach(t=>{at(t)||e({kind:"removed",node:t},r)});else if("attributes"===r.type){if(at(r.target))continue;const t=r.target;e({kind:"attr",target:t,name:r.attributeName,oldValue:r.oldValue??null},r)}else{r.target.parentNode&&"title"===r.target.parentNode.tagName.toLowerCase()&&e({kind:"title",title:document.title},r)}});let a;if(t.observe(document.head,{childList:o,attributes:r,subtree:i,attributeOldValue:r,characterData:!0,characterDataOldValue:!1}),n){const t=document.head.querySelector("title")||document.head.appendChild(document.createElement("title"));a=new MutationObserver(()=>{e({kind:"title",title:document.title})}),a.observe(t,{childList:!0,characterData:!0,subtree:!0})}(0,s.Ki)(()=>{t.disconnect(),a?.disconnect()})})}var lt=(0,a.vs)("<div><div data-testid=social-preview-heading><span aria-hidden=true></span> Preview</div><div data-testid=social-preview-title></div><div></div><div>"),dt=(0,a.vs)("<img alt=Preview>"),ct=(0,a.vs)("<div>No image"),pt=(0,a.vs)("<div>"),ut=(0,a.vs)("<div><strong>Missing tags for <!>:</strong><ul>"),gt=(0,a.vs)("<li>"),ht=[{network:"Facebook",tags:[{key:"og:title",prop:"title"},{key:"og:description",prop:"description"},{key:"og:image",prop:"image"},{key:"og:url",prop:"url"}],color:"#4267B2"},{network:"X/Twitter",tags:[{key:"twitter:title",prop:"title"},{key:"twitter:description",prop:"description"},{key:"twitter:image",prop:"image"},{key:"twitter:url",prop:"url"}],color:"#1DA1F2"},{network:"LinkedIn",tags:[{key:"og:title",prop:"title"},{key:"og:description",prop:"description"},{key:"og:image",prop:"image"},{key:"og:url",prop:"url"}],color:"#0077B5"},{network:"Discord",tags:[{key:"og:title",prop:"title"},{key:"og:description",prop:"description"},{key:"og:image",prop:"image"},{key:"og:url",prop:"url"}],color:"#5865F2"},{network:"Slack",tags:[{key:"og:title",prop:"title"},{key:"og:description",prop:"description"},{key:"og:image",prop:"image"},{key:"og:url",prop:"url"}],color:"#4A154B"},{network:"Mastodon",tags:[{key:"og:title",prop:"title"},{key:"og:description",prop:"description"},{key:"og:image",prop:"image"},{key:"og:url",prop:"url"}],color:"#6364FF"},{network:"Bluesky",tags:[{key:"og:title",prop:"title"},{key:"og:description",prop:"description"},{key:"og:image",prop:"image"},{key:"og:url",prop:"url"}],color:"#1185FE"}];function mt(e){const t=_();return o=lt(),i=o.firstChild,n=i.firstChild,l=n.nextSibling,d=i.nextSibling,c=d.nextSibling,p=c.nextSibling,(0,a.Yr)(i,()=>e.network,l),(0,a.Yr)(o,(r=(0,a.ph)(()=>!!e.meta.image),()=>{return r()?(i=dt(),(0,s.gb)(r=>{var o=e.meta.image,n=t().seoPreviewImage;return o!==r.e&&(0,a.Bq)(i,"src",r.e=o),n!==r.t&&(0,a.s7)(i,r.t=n),r},{e:void 0,t:void 0}),i):(o=ct(),(0,s.gb)(()=>(0,a.s7)(o,`${t().seoPreviewImage} ${t().seoPreviewImagePlaceholder}`)),o);var o,i}),d),(0,a.Yr)(d,()=>e.meta.title||"No Title"),(0,a.Yr)(c,()=>e.meta.description||"No Description"),(0,a.Yr)(p,()=>e.meta.url||window.location.href),(0,s.gb)(r=>{var s=t().seoPreviewCard,l=t().seoPreviewHeader,u=t().seoPreviewNetworkDot,g=e.color,h=t().seoPreviewTitle,m=t().seoPreviewDesc,v=t().seoPreviewUrl;return s!==r.e&&(0,a.s7)(o,r.e=s),l!==r.t&&(0,a.s7)(i,r.t=l),u!==r.a&&(0,a.s7)(n,r.a=u),g!==r.o&&(0,a.$h)(n,"background",r.o=g),h!==r.i&&(0,a.s7)(d,r.i=h),m!==r.n&&(0,a.s7)(c,r.n=m),v!==r.s&&(0,a.s7)(p,r.s=v),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),o;var r,o,i,n,l,d,c,p}function vt(){const[e,t]=(0,s.n5)(o()),r=_();function o(){const e=Array.from(document.head.querySelectorAll("meta")),t=[];for(const r of ht){const o={},i=[];for(const t of r.tags){const r=e.find(e=>!t.key.includes("twitter:")&&e.getAttribute("property")===t.key||e.getAttribute("name")===t.key);r&&r.getAttribute("content")?o[t.prop]=r.getAttribute("content")||void 0:i.push(t.key)}t.push({network:r.network,found:o,missing:i})}return t}return st(()=>{t(o())}),(0,s.a0)(g.wn,{get children(){return[(0,s.a0)(g.ke,{children:"See how your current page will look when shared on popular social networks. The tool checks for essential meta tags and highlights any that are missing."}),(t=pt(),(0,a.Yr)(t,(0,s.a0)(s.a,{get each(){return e()},children:(e,t)=>{const o=ht[t()];
1582return n=pt(),(0,a.Yr)(n,(0,s.a0)(mt,{get meta(){return e.found},get color(){return o.color},get network(){return o.network}}),null),(0,a.Yr)(n,(i=(0,a.ph)(()=>e.missing.length>0),()=>i()?(()=>{var t=ut(),i=t.firstChild,n=i.firstChild.nextSibling;n.nextSibling;var l=i.nextSibling;return(0,a.Yr)(i,()=>o?.network,n),(0,a.Yr)(l,(0,s.a0)(s.a,{get each(){return e.missing},children:e=>{return t=gt(),(0,a.Yr)(t,e),(0,s.gb)(()=>(0,a.s7)(t,r().seoMissingTag)),t;var t}})),(0,s.gb)(e=>{var o=r().seoMissingTagsSection,i=r().seoMissingTagsList;return o!==e.e&&(0,a.s7)(t,e.e=o),i!==e.t&&(0,a.s7)(l,e.t=i),e},{e:void 0,t:void 0}),t})():null),null),n;var i,n}})),(0,s.gb)(()=>(0,a.s7)(t,r().seoPreviewSection)),t)];var t}})}var ft=(0,a.vs)("<div><div data-testid=serp-preview-label></div><div><div><div><span data-testid=serp-preview-site-name></span><span></span></div></div><div data-testid=serp-preview-title>"),bt=(0,a.vs)('<img alt="favicon icon">'),wt=(0,a.vs)("<div>"),xt=(0,a.vs)("<div><strong>Issues for <!>:</strong><ul>"),kt=(0,a.vs)("<li>"),yt="...",$t=[{message:"No favicon or icon set on the page.",hasIssue:e=>!e.favicon},{message:"No title tag set on the page.",hasIssue:e=>!e.title.trim()},{message:"No meta description set on the page.",hasIssue:e=>!e.description.trim()},{message:"The title is wider than 600px and it may not be displayed in full length.",hasIssue:(e,t)=>t.titleOverflow}],St=[{label:"Desktop preview",isMobile:!1,extraChecks:[{message:"The meta description may get trimmed at ~960 pixels on desktop and at ~680px on mobile. Keep it below ~158 characters.",hasIssue:(e,t)=>t.descriptionOverflow}]},{label:"Mobile preview",isMobile:!0,extraChecks:[{message:"Description exceeds the 3-line limit for mobile view. Please shorten your text to fit within 3 lines.",hasIssue:(e,t)=>t.descriptionOverflowMobile}]}];function Ct(e,t){return e.length<=t?e:t<=3?yt:e.slice(0,t-3)+yt}function Tt(){const e=document.title||"",t="undefined"!=typeof window?window.location.href:"",r=Array.from(document.head.querySelectorAll("meta")),o=r.find(e=>"description"===e.getAttribute("name")?.toLowerCase()),i=o?.getAttribute("content")?.trim()||"",n=r.find(e=>"og:site_name"===e.getAttribute("property")),a=n?.getAttribute("content")?.trim()||("undefined"!=typeof window?window.location.hostname.replace(/^www\./,""):""),s=Array.from(document.head.querySelectorAll("link")).find(e=>e.getAttribute("rel")?.toLowerCase().split(/\s+/).includes("icon"));let l=s?.getAttribute("href")||null;if(l&&"undefined"!=typeof window)try{l=new URL(l,t).href}catch{l=null}return{title:e,description:i,siteName:a,favicon:l,url:t}}function Mt(e){const t=_();return l=ft(),d=l.firstChild,c=d.nextSibling,p=c.firstChild,u=p.firstChild,g=u.firstChild,h=g.nextSibling,m=p.nextSibling,(0,a.Yr)(d,()=>e.label),(0,a.Yr)(p,(r=(0,a.ph)(()=>!!e.data.favicon),()=>{return r()?(i=bt(),(0,s.gb)(r=>{var o=e.data.favicon,n=t().serpSnippetFavicon;return o!==r.e&&(0,a.Bq)(i,"src",r.e=o),n!==r.t&&(0,a.s7)(i,r.t=n),r},{e:void 0,t:void 0}),i):(o=wt(),(0,s.gb)(()=>(0,a.s7)(o,t().serpSnippetDefaultFavicon)),o);var o,i}),u),(0,a.Yr)(g,()=>e.data.siteName||e.data.url),(0,a.Yr)(h,()=>e.data.url),(0,a.Yr)(m,()=>e.displayTitle||e.data.title||"No title"),(0,a.Yr)(c,(o=(0,a.ph)(()=>!e.isMobile),()=>{return o()&&(r=wt(),(0,a.Yr)(r,()=>e.displayDescription||e.data.description||"No meta description."),(0,s.gb)(()=>(0,a.s7)(r,t().serpSnippetDesc)),r);var r}),null),(0,a.Yr)(c,(i=(0,a.ph)(()=>!!e.isMobile),()=>{return i()&&(r=wt(),(0,a.Yr)(r,()=>e.displayDescription||e.data.description||"No meta description."),(0,s.gb)(()=>(0,a.s7)(r,t().serpSnippetDescMobile)),r);var r}),null),(0,a.Yr)(l,(n=(0,a.ph)(()=>e.issues.length>0),()=>n()?(()=>{var r=xt(),o=r.firstChild,i=o.firstChild.nextSibling;i.nextSibling;var n=o.nextSibling;return(0,a.Yr)(o,()=>e.label,i),(0,a.Yr)(n,(0,s.a0)(s.a,{get each(){return e.issues},children:e=>{return r=kt(),(0,a.Yr)(r,e),(0,s.gb)(()=>(0,a.s7)(r,t().serpReportItem)),r;var r}})),(0,s.gb)(e=>{var o=t().seoMissingTagsSection,i=t().serpErrorList;return o!==e.e&&(0,a.s7)(r,e.e=o),i!==e.t&&(0,a.s7)(n,e.t=i),e},{e:void 0,t:void 0}),r})():null),null),(0,s.gb)(r=>{var o=t().serpPreviewBlock,i=t().serpPreviewLabel,n=e.isMobile?t().serpSnippetMobile:t().serpSnippet,s=t().serpSnippetTopRow,v=t().serpSnippetSiteColumn,f=t().serpSnippetSiteName,b=t().serpSnippetSiteUrl,w=t().serpSnippetTitle;return o!==r.e&&(0,a.s7)(l,r.e=o),i!==r.t&&(0,a.s7)(d,r.t=i),n!==r.a&&(0,a.s7)(c,r.a=n),s!==r.o&&(0,a.s7)(p,r.o=s),v!==r.i&&(0,a.s7)(u,r.i=v),f!==r.n&&(0,a.s7)(g,r.n=f),b!==r.s&&(0,a.s7)(h,r.s=b),w!==r.h&&(0,a.s7)(m,r.h=w),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),l;var r,o,i,n,l,d,c,p,u,g,h,m}function Yt(){const[e,t]=(0,s.n5)(Tt());st(()=>{t(Tt())});const r=(0,s.To)(()=>
1582{const t=e(),r=t.title||"No title",o=t.description||"No meta description.";return{displayTitle:Ct(r,60),displayDescription:Ct(o,158),overflow:{titleOverflow:r.length>60,descriptionOverflow:o.length>158,descriptionOverflowMobile:o.length>120}}});return(0,s.a0)(g.wn,{get children(){return[(0,s.a0)(g.ke,{children:"See how your title tag and meta description may look in Google search results. Data is read from the current page."}),(0,s.a0)(s.a,{each:St,children:t=>{const o=(0,s.To)(()=>{return o=e(),i=r().overflow,[...$t,...t.extraChecks].filter(e=>e.hasIssue(o,i)).map(e=>e.message);var o,i});return(0,s.a0)(Mt,{get data(){return e()},get displayTitle(){return r().displayTitle},get displayDescription(){return r().displayDescription},get isMobile(){return t.isMobile},get label(){return t.label},get issues(){return o()}})}})]}})}var zt=(0,a.vs)("<div data-testid=seo-workspace data-tsd-surface>"),Bt=()=>{const[e,t]=(0,s.n5)("social-previews"),r=_();return o=zt(),(0,a.Yr)(o,(0,s.a0)(ie,{ariaLabel:"SEO sections",get children(){return[(0,s.a0)(ae,{get selected(){return"social-previews"===e()},get ariaCurrent(){return"social-previews"===e()?"page":void 0},onClick:()=>t("social-previews"),children:"Social previews"}),(0,s.a0)(ae,{get selected(){return"serp-preview"===e()},get ariaCurrent(){return"serp-preview"===e()?"page":void 0},onClick:()=>t("serp-preview"),children:"SERP preview"})]}}),null),(0,a.Yr)(o,(0,s.a0)(u.o,{withPadding:!0,get class(){return r().seoContent},get children(){return[(0,s.a0)(s.wv,{get when(){return"social-previews"===e()},get children(){return(0,s.a0)(vt,{})}}),(0,s.a0)(s.wv,{get when(){return"serp-preview"===e()},get children(){return(0,s.a0)(Yt,{})}})]}}),null),(0,s.gb)(()=>(0,a.s7)(o,r().seoWorkspace)),o;var o},Pt=[{name:"Plugins",id:"plugins",component:()=>(0,s.a0)(nt,{})},{name:"SEO",id:"seo",component:()=>(0,s.a0)(Bt,{})},{name:"Settings",id:"settings",component:()=>(0,s.a0)(be,{})}],It=(0,a.vs)('<div role=group aria-label="Panes in this group"style=position:absolute>'),qt=(0,a.vs)("<span><span><button type=button data-tsd-group-tab data-tsd-control></button></span><button type=button data-tsd-control>"),Dt=(0,a.vs)("<div data-testid=plugins-empty-state data-tsd-surface style=position:absolute;inset:0><span aria-hidden=true></span><p>No plugin open</p><p>Pick a plugin from the strip above to open its panel. You can keep up to <!> open, split side by side or stacked as tabs."),Lt=(0,a.vs)("<div data-testid=plugins-workspace data-tsd-surface><p aria-live=polite data-testid=plugin-workspace-status></p><p id=tsd-pane-move-hint>Press Enter to pick this pane up and move it with the arrow keys."),Et=(0,a.vs)("<div data-plugin-mount data-tsd-surface style=position:absolute>"),Nt=(0,a.vs)('<div role=separator tabindex=0 data-tsd-control data-tsd-separator=plugin-pane data-testid=plugin-splitter aria-label="Resize plugin panes"aria-valuemin=0 aria-valuemax=100>'),At=(0,a.vs)("<div data-testid=plugin-drop-overlay>"),Ht=(0,a.vs)("<span aria-hidden=true data-testid=plugin-drag-preview>"),Ft=e=>{const t=_(),r=(0,k.Ju)({get items(){return e.tabs},group:"tsd-plugin-panes",axis:"x",onReorder:t=>e.onReorder(t),onTransfer:({item:t,to:r})=>e.onTransfer(t,r)});return o=It(),"function"==typeof(i=r.ref)?(0,a.Yx)(i,o):r.ref=o,(0,a.Yr)(o,(0,s.a0)(s.a,{get each(){return e.tabs},children:(o,i)=>{return n=qt(),l=n.firstChild,c=l.firstChild,p=l.nextSibling,(0,a.il)(l,(0,s.v6)(()=>r.row(o),{get class(){return t().pluginGroupTabRow}}),!1,!0),c.$$click=()=>e.onSelect(o),c.$$keydown=t=>e.onKeyDown(o,t),c.$$pointerdown=t=>e.onPointerDown(o,t),(0,a.Bq)(c,"data-testid",`plugin-tab-${o}`),(0,a.Yr)(c,()=>e.titleOf(o)),p.$$click=()=>e.onClose(o),p.$$pointerup=()=>e.onClose(o),(0,a.Bq)(p,"data-testid",`plugin-tab-close-${o}`),(0,a.Yr)(p,(0,s.a0)(d.X,{"aria-hidden":"true"})),(0,s.gb)(r=>{var s=t().pluginGroupTabItem,l=i()===e.activeIndex?"true":void 0,d=e.heldTabId===o?"true":void 0,u=i()===e.activeIndex,g=e.moveHintId,h=t().pluginGroupTab,m=`Close ${e.titleOf(o)}`,v=t().pluginGroupTabClose;return s!==r.e&&(0,a.s7)(n,r.e=s),l!==r.t&&(0,a.Bq)(n,"data-tsd-selected",r.t=l),d!==r.a&&(0,a.Bq)(n,"data-tsd-held",r.a=d),u!==r.o&&(0,a.Bq)(c,"aria-pressed",r.o=u),g!==r.i&&(0,a.Bq)(c,"aria-describedby",r.i=g),h!==r.n&&(0,a.s7)(c,r.n=h),m!==r.s&&(0,a.Bq)(p,"aria-label",r.s=m),v!==r.h&&(0,a.s7)(p,r.h=v),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),n;var n,l,c,p}})),(0,s.gb)(r=>{var i=e.groupId,n=`plugin-group-tabs-${e.groupId}`,s=t().pluginGroupTabs,l=`${e.rect?.left??0}
1582px`,d=`${e.rect?.top??0}px`,c=`${e.rect?.width??0}px`;return i!==r.e&&(0,a.Bq)(o,"data-tsd-group-tabs",r.e=i),n!==r.t&&(0,a.Bq)(o,"data-testid",r.t=n),s!==r.a&&(0,a.s7)(o,r.a=s),l!==r.o&&(0,a.$h)(o,"left",r.o=l),d!==r.i&&(0,a.$h)(o,"top",r.i=d),c!==r.n&&(0,a.$h)(o,"width",r.n=c),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),o;var o,i},Ot=e=>{const{plugins:t,activePlugins:r,layout:n,setLayout:l}=M(),{acceptStripDrags:c}=D(),{theme:p}=T(),u=_(),[g,h]=(0,s.n5)(new Map),[m,v]=(0,s.n5)({w:0,h:0}),[f,b]=(0,s.n5)(null),[w,x]=(0,s.n5)(null),[k,y]=(0,s.n5)(""),[$,S]=(0,s.n5)(null);let C;const Y=()=>{if(!C)return;const e=C.getBoundingClientRect();0===e.width&&0===e.height||v({w:e.width,h:e.height})},z=e=>{C=e,Y();const t=globalThis.ResizeObserver;if(!t)return;const r=new t(Y);r.observe(e),(0,s.Ki)(()=>r.disconnect())};(0,s.EH)(()=>{e.visible,e.isOpen,Y()});const B=(0,s.To)(()=>(0,i.s)(n(),m(),i.Eb)),P=(0,s.To)(()=>(0,i.dK)(n(),m(),i.Eb)),I=(0,s.To)(()=>(0,i.Sm)(n())),q=(0,s.To)(()=>[...r()].sort(),[],{equals:(e,t)=>e.length===t.length&&e.every((e,r)=>e===t[r])}),L=e=>(0,i.zM)(n(),e),E=e=>t()?.find(t=>t.id===e),N=e=>{const t=E(e);return void 0===t?e:"string"==typeof t.name?t.name:e};(0,s.EH)(()=>{for(const t of r()){const r=E(t),o=g().get(t);r&&o&&r.render(o,{theme:p(),devtoolsOpen:e.isOpen})}});const A=()=>{b(null),x(null),S(null)};(0,s.EH)(()=>{const e=C?.closest(`#${i.pb}`);if(!e)return;const t=u().pluginDraggingCursor;null!==$()?(e.classList.add(t),(0,s.Ki)(()=>e.classList.remove(t))):e.classList.remove(t)});const H=e=>y(e),F=(e,t)=>{const r=B()[e];if(!r)return null;if(t.y<=r.top+i.q8)return{groupId:e,zone:"center",willStack:!0};const o=(0,i.Uu)(t,r,i.HM);return{groupId:e,zone:o,willStack:"center"===o||!(0,i.zy)(n(),e,o,i.mh,m(),i.Eb)}},O=(e,t)=>{if(null===e)return;if(null===e.groupId)return void l((0,i._k)([t]));const r=e.willStack?(0,i.jD)(n(),e.groupId,t):(0,i.gI)(n(),e.groupId,e.zone,t);l(r)},R=e=>{const t=C?.getBoundingClientRect();return{x:e.x-(t?.left??0),y:e.y-(t?.top??0)}},U=e=>R({x:e.clientX,y:e.clientY}),X=(e,t)=>{if(0!==t.button)return;Y();let r=!1,o={x:t.clientX,y:t.clientY};const i=window.setTimeout(()=>{r=!0,b({tabId:e}),S(o),x(j(R(o)))},500),n=e=>{o={x:e.clientX,y:e.clientY},r&&(S(o),x(j(U(e))))},a=()=>{window.clearTimeout(i),document.removeEventListener("pointermove",n),document.removeEventListener("pointerup",a),r&&O(w(),e),A()};document.addEventListener("pointermove",n),document.addEventListener("pointerup",a)},j=e=>{if(null===n())return(e=>e.x>=0&&e.y>=0&&e.x<=m().w&&e.y<=m().h)(e)?{groupId:null,zone:"center",willStack:!0}:null;const t=(e=>I().find(t=>{const r=B()[t.id];return void 0!==r&&e.x>=r.left&&e.x<=r.left+r.width&&e.y>=r.top&&e.y<=r.top+r.height}))(e);return t?F(t.id,e):null};c((e,t)=>{const o=r().includes(e);if(!o&&r().length>=i.Z$)return void H(`Already at the limit of ${i.Z$} open plugins`);Y(),b({tabId:e}),S(t);const n=e=>x(j(e));n(R(t));const a=e=>{S({x:e.clientX,y:e.clientY}),n(U(e))},s=()=>{document.removeEventListener("pointermove",a),document.removeEventListener("pointerup",s);const t=w();null===t?o||H(`${N(e)} was not placed`):(O(t,e),H(`${N(e)} ${t.willStack?"stacked as a tab":`split to the ${t.zone}`}`)),A()};document.addEventListener("pointermove",a),document.addEventListener("pointerup",s)});const W=(e,t)=>{const r=f()?.tabId===e;if("Escape"===t.key&&r)return t.preventDefault(),A(),void H(`${N(e)} left where it was`);if("Enter"===t.key||" "===t.key){if(t.preventDefault(),!r)return b({tabId:e}),x(null),void H(`${N(e)} picked up. Use the arrow keys to choose a place, Enter to drop, Escape to cancel.`);const o=w();return void(null===o?(A(),H(`${N(e)} left where it was`)):(O(o,e),A(),H(`${N(e)} ${o.willStack?"stacked as a tab":`split to the ${o.zone}`}`)))}if(!r)return;const o={ArrowLeft:"left",ArrowRight:"right",ArrowUp:"top",ArrowDown:"bottom"}[t.key];if(void 0===o)return;t.preventDefault();const i=L(e);if(null===i)return;const n=B()[i.id],a=I().find(e=>{if(e.id===i.id)return!1;const t=B()[e.id];return!(!t||!n)&&("left"===o?t.left+t.width<=n.left+1:"right"===o?t.left>=n.left+n.width-1:"top"===o?t.top+t.height<=n.top+1:t.top>=n.top+n.height-1)});x(a?{groupId:a.id,zone:"center",willStack:!0}:F(i.id,{x:(n?.left??0)+("left"===o?1:"right"===o?(n?.width??0)-1:(n?.width??0)/2),y:(n?.top??0)+("top"===o?1:"bottom"===o?(n?.he
1582ight??0)-1:(n?.height??0)/2)}))},V=(0,s.To)(()=>{const e=w();if(null===e)return null;if(null===e.groupId)return{left:0,top:0,width:m().w,height:m().h};const t=B()[e.groupId];if(!t)return null;if(e.willStack)return t;const r=e=>e/2;return"left"===e.zone?{...t,width:r(t.width)}:"right"===e.zone?{left:t.left+r(t.width),top:t.top,width:r(t.width),height:t.height}:"top"===e.zone?{...t,height:r(t.height)}:{left:t.left,top:t.top+r(t.height),width:t.width,height:r(t.height)}});return K=Lt(),G=K.firstChild,Z=G.nextSibling,(0,a.Yx)(z,K),(0,a.Yr)(K,(0,s.a0)(s.wv,{get when(){return r().length>0},get children(){return[(0,s.a0)(s.a,{get each(){return I()},children:e=>(0,s.a0)(Ft,{get groupId(){return e.id},get tabs(){return e.tabs},get activeIndex(){return e.active},get rect(){return B()[e.id]},get heldTabId(){return f()?.tabId??null},titleOf:N,moveHintId:"tsd-pane-move-hint",onReorder:t=>l((0,i.Fd)(n(),e.id,t)),onTransfer:(t,r)=>l((0,i.HC)(n(),t,e.id,r)),onSelect:e=>l((0,i.Nz)(n(),e)),onClose:e=>l((0,i.mR)(n(),e)),onPointerDown:X,onKeyDown:W})}),(0,s.a0)(s.a,{get each(){return q()},children:e=>{(0,s.Ki)(()=>{E(e)?.destroy?.(e),h(t=>{const r=new Map(t);return r.delete(e),r})});const t=()=>(e=>{const t=B()[e];return t?{left:t.left,top:t.top+i.q8,width:t.width,height:Math.max(t.height-i.q8,0)}:null})(L(e)?.id??"");return r=Et(),(0,a.Yx)(t=>{h(r=>{const o=new Map(r);return o.set(e,t),o})},r),(0,a.Bq)(r,"id",`${o.i}-${e}`),(0,a.Bq)(r,"data-testid",`plugin-pane-${e}`),(0,s.gb)(o=>{var i=u().pluginsTabContent,n=`${t()?.left??0}px`,s=`${t()?.top??0}px`,l=`${t()?.width??0}px`,d=`${t()?.height??0}px`,c=(e=>{const t=L(e);return null!==t&&t.tabs[t.active]===e})(e)?"block":"none";return i!==o.e&&(0,a.s7)(r,o.e=i),n!==o.t&&(0,a.$h)(r,"left",o.t=n),s!==o.a&&(0,a.$h)(r,"top",o.a=s),l!==o.o&&(0,a.$h)(r,"width",o.o=l),d!==o.i&&(0,a.$h)(r,"height",o.i=d),c!==o.n&&(0,a.$h)(r,"display",o.n=c),o},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),r;var r}}),(0,s.a0)(s.jK,{get each(){return P()},children:e=>{return(t=Nt()).$$keydown=t=>((e,t)=>{const r=t.shiftKey?.1:.02;let o;if(("row"===e.dir?"ArrowRight"===t.key:"ArrowDown"===t.key)&&(o=r),("row"===e.dir?"ArrowLeft"===t.key:"ArrowUp"===t.key)&&(o=-r),"Home"===t.key&&(o=-1),"End"===t.key&&(o=1),void 0===o)return;t.preventDefault();const a=e.extent>0?("row"===e.dir?i.mh.w:i.mh.h)/e.extent:0;l((0,i.XR)(n(),e.path,e.gutterIndex,o,a))})(e(),t),t.$$pointerdown=t=>((e,t)=>{if(0!==t.button)return;const r="row"===e.dir?t.clientX:t.clientY,o=e.extent>0?("row"===e.dir?i.mh.w:i.mh.h)/e.extent:0,a=t=>{const a="row"===e.dir?t.clientX:t.clientY;e.extent<=0||l((0,i.XR)(n(),e.path,e.gutterIndex,(a-r)/e.extent,o))},s=()=>{document.removeEventListener("pointermove",a),document.removeEventListener("pointerup",s)};document.addEventListener("pointermove",a),document.addEventListener("pointerup",s)})(e(),t),(0,s.gb)(r=>{var o="row"===e().dir?"vertical":"horizontal",i=Math.round(("row"===e().dir?e().rect.left:e().rect.top)/Math.max(e().extent,1)*100),n=u().pluginSplitter(e().dir),s=`${e().rect.left}px`,l=`${e().rect.top}px`,d=`${e().rect.width}px`,c=`${e().rect.height}px`;return o!==r.e&&(0,a.Bq)(t,"aria-orientation",r.e=o),i!==r.t&&(0,a.Bq)(t,"aria-valuenow",r.t=i),n!==r.a&&(0,a.s7)(t,r.a=n),s!==r.o&&(0,a.$h)(t,"left",r.o=s),l!==r.i&&(0,a.$h)(t,"top",r.i=l),d!==r.n&&(0,a.$h)(t,"width",r.n=d),c!==r.s&&(0,a.$h)(t,"height",r.s=c),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),t;var t}})]}}),G),(0,a.Yr)(K,(0,s.a0)(s.wv,{get when(){return V()},children:e=>{return t=At(),(0,s.gb)(r=>{var o=w()?.willStack?"stack":"split",i=u().pluginDropOverlay,n=`${e().left}px`,s=`${e().top}px`,l=`${e().width}px`,d=`${e().height}px`;return o!==r.e&&(0,a.Bq)(t,"data-tsd-drop-intent",r.e=o),i!==r.t&&(0,a.s7)(t,r.t=i),n!==r.a&&(0,a.$h)(t,"left",r.a=n),s!==r.o&&(0,a.$h)(t,"top",r.o=s),l!==r.i&&(0,a.$h)(t,"width",r.i=l),d!==r.n&&(0,a.$h)(t,"height",r.n=d),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),t;var t}}),G),(0,a.Yr)(K,(0,s.a0)(s.wv,{get when(){return $()},children:e=>(0,s.a0)(a.ZL,{get mount(){return document.body},get children(){var t=Ht();return(0,a.Yr)(t,()=>N(f()?.tabId??"")),(0,s.gb)(r=>{var o=u().pluginDragPreview,i=`${e().x}px`,n=`${e().y}px`;return o!==r.e&&(0,a.s7)(t,r.e=o),i!==r.t&&(0,a.$h)(t,"left",r.t=i),n!==r.a&&(0,a.$h)(t,"top",r.a=n),r},{e:void 0,t:void 0,a:void 0}),t}})}),G),(0,a.Yr)(G,k),(0,a.Yr)(K,(0,s.a0)(s.wv,{get when(){return 0===r().length},get children(){var e=Dt(),t=e.firstChild,r=t.nextSibling,o=r.nextSibling,n=o.firstChild.nextSibling;return n.nextSibling,(0,a.Yr)(t,(0,s.a0)(d.qD,{})),(0,a.Yr)(o,i.Z$,n),(0,s.gb)(i=>{var n=u().pluginsEmptyState,s=u().pluginsEmptyStateIcon,l=u().pluginsEmptyStateTitle,d=u().pluginsEmptyStateHint;return n!==i.e&&(0,a.s7)(e,i.e=n),s!==i.t&&(0,a.s7)(t,i.t=s),l!==i.a&&(0,a.s7)(r,i.a=l),d!==i.o&&(0,a.s7)(o,i.o=d),i},{e:void 0,t:void 0,a:void 0,o:void 0}),e}}),null),(0,s.gb)(t=>{var r=f()?"true":void 0,o=u().pluginWorkspace,i=e.visible?"block":"none",n=u().pluginSrOnly,s=u().pluginSrOnly;return r!==t.e&&(0,a.Bq)(K,"data-tsd-dragging",t.e=r),o!==t.t&&(0,a.s7)(K,t.t=o),i!==t.a&&(0,a.$h)(K,"dis
1582play",t.a=i),n!==t.o&&(0,a.s7)(G,t.o=n),s!==t.i&&(0,a.s7)(Z,t.i=s),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),K;var K,G,Z};(0,a.z_)(["pointerdown","keydown","click","pointerup"]);var Rt=(0,a.vs)('<div data-tsd-surface style="flex:1 1 0;min-height:0;position:relative">'),Ut=e=>{const{state:t}=Y(),r=_(),o=(0,s.To)(()=>Pt.find(e=>e.id===t().activeTab)?.component||null);return n=Rt(),(0,a.Yr)(n,(0,s.a0)(Ot,{get isOpen(){return e.isOpen},get visible(){return!e.showMarketplace&&"plugins"===t().activeTab}}),null),(0,a.Yr)(n,(i=(0,a.ph)(()=>!!e.showMarketplace),()=>i()?(0,s.a0)(ot,{}):o()?.({isOpen:e.isOpen})),null),(0,s.gb)(()=>(0,a.s7)(n,r().tabContent)),n;var i,n},Xt=(0,a.vs)("<div style=pointer-events:none>"),jt=()=>{const{settings:e}=z(),[t,r]=(0,y.y$)({element:null,bounding:{width:0,height:0,left:0,top:0},dataSource:""}),o=()=>{r({element:null,bounding:{width:0,height:0,left:0,top:0},dataSource:""})},[i,n]=(0,s.n5)(null),d=(0,$.MA)(()=>i()),[c,p]=(0,y.y$)({x:0,y:0});(0,S.Tu)(document,"mousemove",e=>{p({x:e.clientX,y:e.clientY})});const u=(0,l.zI)(),[g,h]=(0,s.n5)(!1),m=(0,s.To)(()=>((e,t)=>{const r=A(t),o=e.map(e=>e.toUpperCase());return r.some(e=>e.every(e=>o.includes(String(e).toUpperCase()))&&o.every(t=>e.map(e=>String(e).toUpperCase()).includes(t)))})(u(),e().inspectHotkey));(0,s.EH)(()=>{m()||h(!1)});const v=(0,s.To)(()=>m()&&!g());(0,s.EH)(()=>{v()?document.body.style.cursor="pointer":document.body.style.cursor=""}),(0,s.EH)(()=>{if(!v())return void o();const e=document.elementFromPoint(c.x,c.y);if(!(e instanceof HTMLElement))return void o();if(e===t.element)return;const i=e.getAttribute("data-tsd-source");if(!i)return void o();const n=e.getBoundingClientRect(),a={width:n.width,height:n.height,left:n.left,top:n.top};r({element:e,bounding:a,dataSource:i})}),(0,S.Tu)(document,"click",r=>{if(!t.element)return;const o=t.dataSource;if(window.getSelection()?.removeAllRanges(),r.preventDefault(),r.stopPropagation(),h(!0),"copy-path"===e().sourceAction)return void navigator.clipboard.writeText(o).catch(()=>{});const i=new URL("/",location.origin),n=new URL(`__tsd/open-source?source=${encodeURIComponent(o)}`,i);fetch(n).catch(()=>{})});const f=(0,s.To)(()=>t.element?{display:"block",width:`${t.bounding.width}px`,height:`${t.bounding.height}px`,left:`${t.bounding.left}px`,top:`${t.bounding.top}px`,"background-color":"oklch(55.4% 0.046 257.417 /0.25)",transition:"all 0.05s linear",position:"fixed","z-index":9999}:{display:"none"}),b=(0,s.To)(()=>{if(t.element&&i()){const e=window.innerWidth,r=d.height||26,o=d.width||0;let i=t.bounding.left,n=t.bounding.top-r-4;return n<0&&(n=t.bounding.top+t.bounding.height+4),i+o>e&&(i=e-o-4),i<0&&(i=4),{position:"fixed",left:`${i}px`,top:`${n}px`,"background-color":"oklch(55.4% 0.046 257.417 /0.80)",color:"white",padding:"2px 4px",fontSize:"12px","border-radius":"2px","z-index":1e4,visibility:"visible",transition:"all 0.05s linear"}}return{display:"none"}});return[(x=Xt(),(0,a.Yx)(n,x),(0,a.Yr)(x,()=>t.dataSource),(0,s.gb)(e=>(0,a.iF)(x,{...b()},e)),x),(w=Xt(),(0,s.gb)(e=>(0,a.iF)(w,{...f()},e)),w)];var w,x},_t=(0,a.vs)('<header aria-label="TanStack Devtools"data-testid=workbench-header data-tsd-surface><span data-testid=workbench-logo aria-hidden=true></span><strong data-testid=workbench-wordmark>TanStack Devtools</strong><nav aria-label="Workbench destinations"data-testid=workbench-destinations></nav><span><button type=button aria-label=Settings title=Settings data-testid=tsd-tab-settings data-tsd-control data-icon=cogs>'),Wt=(0,a.vs)("<button type=button data-tsd-control>"),Vt=(0,a.vs)('<button type=button aria-label="Detach TanStack Devtools"title="Detach into its own window"data-testid=tsd-pip-button data-tsd-control>'),Kt=(0,a.vs)('<button type=button aria-label="Close TanStack Devtools"title="Close TanStack Devtools"data-testid=tsd-close-button data-tsd-control>'),Gt=e=>{const{state:t,setState:r}=Y(),o=(0,i.wW)(),n=_();(e=>{if(e.getElementById(H))return;const t=e.createElement("style");t.id=H,t.textContent="\n@media (max-width: 360px) {\n  .tsd-workbench-wordmark { display: none; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .tsd-workbench-secondary-tabs, .tsd-workbench-secondary-tabs > * { transition: none !important; }\n  .tsd-motion-safe { animation: none !important; transition: none !important; transform: none !important; }\n  /* Core controls and surfaces animate on hover/active by default; drop all of\n     it in one place. Both markers are stamped by core only, so this never\n     reaches inside a plugin's own markup. */\n  [data-tsd-control], [data-tsd-surface] { transition: none !important; }\n}",e.head.appendChild(t)})(document);const l=t=>{if("marketplace"===t)return r({activeTab:"plugins"}),void e.setShowMarketplace(!0);e.setShowMarketplace(!1),r({activeTab:t})},c=r=>"marketplace"===r?e.showMarketplace():!e.showMarketplace()&&t().activeTab===r,p=()=>{o().requestPipWindow(`width=${window.innerWidth},height=${t().height},top=${window.screen.height}
1582,left=${window.screenLeft}`)};return g=_t(),h=g.firstChild,m=h.nextSibling,v=m.nextSibling,f=v.nextSibling,b=f.firstChild,(0,a.Yr)(h,(0,s.a0)(K,{})),(0,a.Yr)(v,()=>["plugins","marketplace","seo"].map(e=>{const t="seo"===e?"SEO":e[0].toUpperCase()+e.slice(1);return(r=Wt()).$$click=()=>l(e),(0,a.Bq)(r,"data-testid",`tsd-tab-${e}`),(0,a.Yr)(r,t),(0,s.gb)(t=>{var o=n().workbenchNavButton,i=c(e)?"true":void 0,s=c(e)?"page":void 0;return o!==t.e&&(0,a.s7)(r,t.e=o),i!==t.t&&(0,a.Bq)(r,"data-tsd-selected",t.t=i),s!==t.a&&(0,a.Bq)(r,"aria-current",t.a=s),t},{e:void 0,t:void 0,a:void 0}),r;var r})),b.$$click=()=>l("settings"),(0,a.Yr)(b,(0,s.a0)(d.TL,{})),(0,a.Yr)(f,(u=(0,a.ph)(()=>null===o().pipWindow),()=>{return u()?[(r=Vt(),r.$$click=p,(0,a.Yr)(r,(0,s.a0)(d.M6,{})),(0,s.gb)(()=>(0,a.s7)(r,n().workbenchActionButton)),r),(t=Kt(),(0,a.q2)(t,"click",e.toggleOpen,!0),(0,a.Yr)(t,(0,s.a0)(d.X,{})),(0,s.gb)(()=>(0,a.s7)(t,n().workbenchActionButton)),t)]:null;var t,r}),null),(0,s.gb)(e=>{var t=n().workbenchHeader,r=n().workbenchLogo,o=`${n().workbenchWordmark} tsd-workbench-wordmark`,i=n().workbenchDestinations,s=n().workbenchActions,l=n().workbenchActionButton,d=c("settings")?"true":void 0,p=c("settings")?"page":void 0;return t!==e.e&&(0,a.s7)(g,e.e=t),r!==e.t&&(0,a.s7)(h,e.t=r),o!==e.a&&(0,a.s7)(m,e.a=o),i!==e.o&&(0,a.s7)(v,e.o=i),s!==e.i&&(0,a.s7)(f,e.i=s),l!==e.n&&(0,a.s7)(b,e.n=l),d!==e.s&&(0,a.Bq)(b,"data-tsd-selected",e.s=d),p!==e.h&&(0,a.Bq)(b,"aria-current",e.h=p),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),g;var u,g,h,m,v,f,b};(0,a.z_)(["click"]);var Zt=(0,a.vs)("<h3>"),Qt=e=>{const{plugins:t,activePlugins:r,toggleActivePlugins:i}=M(),{setState:n}=Y(),{beginStripDrag:l}=D(),{setCollapsed:d}=q(),{theme:c}=T(),p=_();let u=!1;const g=(0,s.To)(()=>(t()??[]).filter(e=>!r().includes(e.id)));return(0,s.EH)(e=>{const t=0===g().length;return t&&!1===e&&d(!0),t||!0!==e||d(!1),t}),(0,s.a0)(ie,{ariaLabel:"Plugin panels",dataTestId:"plugins-strip",get children(){return(0,s.a0)(s.a,{get each(){return g()},children:t=>{let r;const d=()=>{r&&("string"==typeof t.name?r.textContent=t.name:t.name(r,{theme:c(),devtoolsOpen:e.isOpen()}))};let g=!1;return(0,s.EH)(()=>{c(),e.isOpen(),g?d():g=!0}),(0,s.a0)(ae,{get ariaLabelledBy(){return`${o.L}-${t.id}`},pluginTitleControl:!0,selected:!1,onPointerDown:e=>((e,t)=>{if(0!==t.button)return;u=!1;let r={x:t.clientX,y:t.clientY};const o=window.setTimeout(()=>{u=!0,document.removeEventListener("pointermove",i),l(e,r)},500),i=e=>{r={x:e.clientX,y:e.clientY}},n=()=>{window.clearTimeout(o),document.removeEventListener("pointermove",i),document.removeEventListener("pointerup",n)};document.addEventListener("pointermove",i),document.addEventListener("pointerup",n)})(t.id,e),onClick:()=>{var e;u||(e=t.id,n({activeTab:"plugins"}),i(e))},get children(){var e=Zt();return(0,a.Yx)(e=>{r=e,d()},e),(0,s.gb)(r=>{var i=`${o.L}-${t.id}`,n="function"==typeof t.name?{all:"initial"}:void 0,s="string"==typeof t.name?p().pluginTitleText:void 0;return i!==r.e&&(0,a.Bq)(e,"id",r.e=i),r.t=(0,a.iF)(e,n,r.t),s!==r.a&&(0,a.s7)(e,r.a=s),r},{e:void 0,t:void 0,a:void 0}),e}})}})}})},Jt=(0,a.vs)("<div>"),er=new WeakMap,tr=new WeakMap,rr=(e,t,r)=>{let o=er.get(e);o||(o=new Map,er.set(e,o),tr.set(e,e.documentElement.getAttribute("data-tanstack-devtools-theme"))),o.delete(t),o.set(t,r),e.documentElement.dataset.tanstackDevtoolsTheme=r},or=(e,t)=>{const r=er.get(e);if(!r)return;r.delete(t);const o=[...r.values()],i=o[o.length-1];if(i)return void(e.documentElement.dataset.tanstackDevtoolsTheme=i);const n=tr.get(e);null==n?delete e.documentElement.dataset.tanstackDevtoolsTheme:e.documentElement.dataset.tanstackDevtoolsTheme=n,er.delete(e),tr.delete(e)};function ir(){const{settings:e}=z(),{state:t}=Y(),{setHeight:r}=L(),{persistOpen:o,setPersistOpen:n}=B(),[d,c]=(0,s.n5)(),[p,u]=(0,s.n5)(e().defaultOpen||o()),g=(0,i.wW)();let h;const[m,b]=(0,s.n5)(!1),{isCollapsed:w,setCollapsed:x}=q();(0,s.Rc)(()=>x(!1));const[k,y]=(0,s.n5)(!1),$=Symbol("tanstack-devtools-theme"),S=e=>{r(e),u(e>=i.Cd)},C=()=>{if(g().pipWindow)return;const e=!p();u(e),n(e),f.K.emit("trigger-toggled",{isOpen:e})};(0,s.EH)(()=>{const e=f.K.on("trigger-toggled",e=>
1582{if(g().pipWindow)return;const t=e.payload;t.isOpen!==p()&&(u(t.isOpen),n(t.isOpen))});(0,s.Ki)(e)});const M=()=>"plugins"===t().activeTab&&!k(),P=()=>M()||"seo"===t().activeTab&&!k();(0,s.EH)(()=>{const e=e=>{"Escape"===e.key&&p()&&C()};window.addEventListener("keydown",e),(0,s.Ki)(()=>window.removeEventListener("keydown",e))}),N(p),(0,s.EH)(()=>{const e=d();e&&e.style.setProperty("--tsrd-font-size",getComputedStyle(e).fontSize)}),(0,s.EH)(()=>{for(const t of A(e().openHotkey))(0,l.j0)(t,()=>{var e;(e=document.activeElement)&&e instanceof HTMLElement&&(e.isContentEditable||["INPUT","TEXTAREA","SELECT"].includes(e.tagName)||"textbox"===e.getAttribute("role"))||C()})});const{theme:I}=T();return(0,s.EH)(()=>{const e=g().pipWindow?.document??document;rr(e,$,I()),(0,s.Ki)(()=>or(e,$))}),(0,s.a0)(v.w,{get theme(){return I()},get children(){return(0,s.a0)(a.ZL,{get mount(){return(g().pipWindow??window).document.body},get children(){var t=Jt();return(0,a.Yx)(c,t),(0,a.Bq)(t,"data-testid",i.pb),(0,a.Yr)(t,(0,s.a0)(s.wv,{get when(){return!!(0,a.ph)(()=>null!==g().pipWindow)()||(!(0,a.ph)(()=>!!e().requireUrlFlag)()||window.location.search.includes(e().urlFlag))},get children(){return[(0,s.a0)(ee,{isOpen:p,setIsOpen:C}),(0,s.a0)(le,{isResizing:m,isOpen:p,isCollapsed:w,hasSubheader:P,get children(){return(0,s.a0)(pe,{ref:e=>h=e,handleDragStart:t=>((t,r)=>{if(0!==r.button||!t)return;b(!0);const o=t.getBoundingClientRect().height,i=r.pageY,n=t=>{const r=i-t.pageY,n="bottom"===e().panelLocation?o+r:o-r;S(n)},a=()=>{b(!1),document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",a)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",a)})(h,t),handleHeightChange:S,get children(){return[(0,s.a0)(Gt,{showMarketplace:k,setShowMarketplace:y,toggleOpen:C}),(0,s.a0)(s.wv,{get when(){return M()},get children(){return(0,s.a0)(Qt,{isOpen:p})}}),(0,s.a0)(Ut,{get isOpen(){return p()},get showMarketplace(){return k()}})]}})}})]}}),null),(0,a.Yr)(t,(0,s.a0)(jt,{}),null),t}})}})}}}]);
1583//# sourceMappingURL=6c06827e-4a00bf56a72d5422a95c.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.