@scayle/storefront-devtools 0.2.0-alpha.1 → 0.2.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +113 -83
  3. package/dist/_chunks/coalesce-cmmfn4qq.mjs +1585 -0
  4. package/dist/group.d.ts +29 -21
  5. package/dist/group.d.ts.map +1 -1
  6. package/dist/index.d.ts +4 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.mjs +40 -65
  9. package/dist/inertia/channel.d.ts +54 -0
  10. package/dist/inertia/channel.d.ts.map +1 -0
  11. package/dist/inertia/client/index.d.ts +1 -6
  12. package/dist/inertia/client/index.d.ts.map +1 -1
  13. package/dist/inertia/client/index.mjs +246 -109
  14. package/dist/inertia/client/publish.d.ts +24 -0
  15. package/dist/inertia/client/publish.d.ts.map +1 -0
  16. package/dist/inertia/core/network.d.ts +1 -1
  17. package/dist/inertia/core/network.d.ts.map +1 -1
  18. package/dist/inertia/core/response.d.ts +3 -3
  19. package/dist/inertia/core/response.d.ts.map +1 -1
  20. package/dist/inertia/plugin.d.ts +8 -6
  21. package/dist/inertia/plugin.d.ts.map +1 -1
  22. package/dist/orpc/channel.d.ts +29 -0
  23. package/dist/orpc/channel.d.ts.map +1 -0
  24. package/dist/orpc/client/index.d.ts +1 -6
  25. package/dist/orpc/client/index.d.ts.map +1 -1
  26. package/dist/orpc/client/index.mjs +152 -137
  27. package/dist/orpc/client/publish.d.ts +15 -0
  28. package/dist/orpc/client/publish.d.ts.map +1 -0
  29. package/dist/orpc/core/serialize.d.ts +1 -1
  30. package/dist/orpc/core/stats.d.ts +10 -0
  31. package/dist/orpc/core/stats.d.ts.map +1 -0
  32. package/dist/orpc/core/store.d.ts +1 -2
  33. package/dist/orpc/core/store.d.ts.map +1 -1
  34. package/dist/orpc/plugin.d.ts +8 -5
  35. package/dist/orpc/plugin.d.ts.map +1 -1
  36. package/dist/shared/clipboard.d.ts +2 -3
  37. package/dist/shared/clipboard.d.ts.map +1 -1
  38. package/dist/shared/coalesce.d.ts +14 -0
  39. package/dist/shared/coalesce.d.ts.map +1 -0
  40. package/dist/shared/panel-channel.d.ts +49 -0
  41. package/dist/shared/panel-channel.d.ts.map +1 -0
  42. package/dist/shared/publish-options.d.ts +13 -0
  43. package/dist/shared/publish-options.d.ts.map +1 -0
  44. package/dist/shared/safe-clone.d.ts +2 -1
  45. package/dist/shared/safe-clone.d.ts.map +1 -1
  46. package/dist/storefront/plugin.d.ts +6 -4
  47. package/dist/storefront/plugin.d.ts.map +1 -1
  48. package/dist/ui/assets/App-BlEKD1MK.js +4 -0
  49. package/dist/ui/assets/App-C1rr07m5.js +1 -0
  50. package/dist/ui/assets/App-C5-JscO0.css +1 -0
  51. package/dist/ui/assets/App-M0iU7c4p.css +1 -0
  52. package/dist/ui/assets/App-VElUrn9P.js +5 -0
  53. package/dist/ui/assets/App-jiQKInbo.css +1 -0
  54. package/dist/ui/assets/_plugin-vue_export-helper-BDNMzG2s.js +1 -0
  55. package/dist/ui/assets/channel-D7V7aU79.js +1 -0
  56. package/dist/ui/assets/clipboard-BnEeWyfh.css +1 -0
  57. package/dist/ui/assets/clipboard-n-T06WI3.js +1 -0
  58. package/dist/ui/assets/panel-channel-DjMENemf.js +2 -0
  59. package/dist/ui/assets/panels-B4LTsmli.css +1 -0
  60. package/dist/ui/assets/panels-BLV_p6Kz.js +2 -0
  61. package/dist/ui/assets/preload-helper-J6bGWMBq.js +2 -0
  62. package/dist/{vue-devtools/ui/assets/index-Dby9TIQH.js → ui/assets/vue-BAMMushd.js} +19 -20
  63. package/dist/{vue-devtools/ui/assets/index-sSkqWPzY.css → ui/assets/vue-Kq4tvBbL.css} +1 -1
  64. package/dist/ui/panels/index.html +15 -0
  65. package/dist/{vue-devtools/ui → ui/vue}/index.html +4 -2
  66. package/dist/vue-devtools/client/index.mjs +0 -1
  67. package/dist/vue-devtools/plugin.d.ts +10 -9
  68. package/dist/vue-devtools/plugin.d.ts.map +1 -1
  69. package/package.json +11 -29
  70. package/dist/_chunks/clipboard-DrVHc2QA.mjs +0 -61
  71. package/dist/_chunks/diff-DzJ5arJj.mjs +0 -169
  72. package/dist/_chunks/panel-uV5ITqhY.mjs +0 -51
  73. package/dist/_chunks/redact-DmIF-iyk.mjs +0 -96
  74. package/dist/_chunks/useStore-Db8RZW8T.mjs +0 -10
  75. package/dist/inertia/client/index.d.mts +0 -13
  76. package/dist/inertia/renderer/index.d.mts +0 -16
  77. package/dist/inertia/renderer/index.mjs +0 -771
  78. package/dist/orpc/client/index.d.mts +0 -13
  79. package/dist/orpc/renderer/index.d.mts +0 -16
  80. package/dist/orpc/renderer/index.mjs +0 -457
  81. package/dist/resource-center/client/index.mjs +0 -21
  82. package/dist/resource-center/client.d.ts +0 -3
  83. package/dist/resource-center/client.d.ts.map +0 -1
  84. package/dist/resource-center/plugin.d.ts +0 -12
  85. package/dist/resource-center/plugin.d.ts.map +0 -1
  86. package/dist/shared/use-window-store.d.ts +0 -18
  87. package/dist/shared/use-window-store.d.ts.map +0 -1
  88. package/dist/storefront/renderer/index.d.mts +0 -16
  89. package/dist/storefront/renderer/index.mjs +0 -124
  90. /package/dist/{vue-devtools/ui → ui}/assets/css-8QJvnqUH.js +0 -0
  91. /package/dist/{vue-devtools/ui → ui}/assets/css-CaJ9TzKE.js +0 -0
  92. /package/dist/{vue-devtools/ui → ui}/assets/diff-woXpYk--.js +0 -0
  93. /package/dist/{vue-devtools/ui → ui}/assets/html-BHDw6EPc.js +0 -0
  94. /package/dist/{vue-devtools/ui → ui}/assets/html-GueGcY0x.js +0 -0
  95. /package/dist/{vue-devtools/ui → ui}/assets/javascript-BzbQS41l.js +0 -0
  96. /package/dist/{vue-devtools/ui → ui}/assets/javascript-Yelw-5ZN.js +0 -0
  97. /package/dist/{vue-devtools/ui → ui}/assets/json-B88Oqtu5.js +0 -0
  98. /package/dist/{vue-devtools/ui → ui}/assets/json-CaljABEy.js +0 -0
  99. /package/dist/{vue-devtools/ui → ui}/assets/shellscript-CLZ0U2zV.js +0 -0
  100. /package/dist/{vue-devtools/ui → ui}/assets/typescript-Utq2Cl8c.js +0 -0
  101. /package/dist/{vue-devtools/ui → ui}/assets/typescript-j_1H8WHN.js +0 -0
  102. /package/dist/{vue-devtools/ui → ui}/assets/vitesse-dark-BZCL-v6S.js +0 -0
  103. /package/dist/{vue-devtools/ui → ui}/assets/vitesse-light-VbXTXTou.js +0 -0
  104. /package/dist/{vue-devtools/ui → ui}/assets/vue-B1Tf5CHw.js +0 -0
  105. /package/dist/{vue-devtools/ui → ui}/assets/vue-html-CGMs_6qn.js +0 -0
  106. /package/dist/{vue-devtools/ui → ui}/assets/yaml-rwi0_p6S.js +0 -0
@@ -1,4 +1,3 @@
1
- (function () { /* SSR Support: Store raw CSS globally */ if (typeof globalThis !== 'undefined') { globalThis.__VITE_CSS_RAW__ = (globalThis.__VITE_CSS_RAW__ || '') + ".sf-devtools{--sf-dt-accent:#5328e1;--sf-dt-accent-hover:#6b45e8;--sf-dt-accent-subtle:#5328e133;--sf-dt-accent-text:#a48bff;--sf-dt-bg:#16151c;--sf-dt-bg-elevated:#1e1c26;--sf-dt-bg-hover:#272430;--sf-dt-border:#2e2b38;--sf-dt-text:#e7e5ee;--sf-dt-text-dim:#9b97ad;--sf-dt-text-faint:#948fa9;--sf-dt-error:#ff6b6b;--sf-dt-warn:#ffb454;--sf-dt-info:var(--sf-dt-accent);--sf-dt-success:#4ade80;--sf-dt-added:#4ade80;--sf-dt-removed:#ff6b6b;--sf-dt-changed:var(--sf-dt-warn);--sf-dt-mono:ui-monospace, \"SF Mono\", \"Menlo\", \"Consolas\", monospace;background:var(--sf-dt-bg);color:var(--sf-dt-text);flex-direction:column;font-family:system-ui,-apple-system,sans-serif;font-size:12px;line-height:1.5;display:flex;position:absolute;inset:0;overflow:hidden;container:sf-devtools/inline-size}.sf-devtools *{box-sizing:border-box}.sf-devtools :focus-visible{outline:2px solid var(--sf-dt-accent-text);outline-offset:-2px}.sf-dt-tabs{border-bottom:1px solid var(--sf-dt-border);background:var(--sf-dt-bg-elevated);gap:4px;padding:6px 8px;display:flex}.sf-dt-tab{color:var(--sf-dt-text-dim);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:4px;padding:4px 10px}.sf-dt-tab.is-active{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text)}.sf-dt-tabs-spacer{margin-left:auto}.sf-dt-tabs [aria-pressed=true]:before{content:\"▶ \"}.sf-dt-tabs [aria-pressed=false]:before{content:\"⏸ \"}.sf-dt-tabs-clear:before{content:\"✕ \"}.sf-dt-body{flex:1;min-height:0;display:flex}.sf-dt-empty{color:var(--sf-dt-text-faint);text-align:center;padding:24px}.sf-dt-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sf-dt-doclink{color:var(--sf-dt-accent-text);font-size:12px;text-decoration:none}.sf-dt-doclink:hover{text-decoration:underline}.sf-dt-doclink:after{content:\" ↗\";margin-left:2px}.sf-dt-copy{border:1px solid var(--sf-dt-border);color:var(--sf-dt-text-dim);cursor:pointer;font:inherit;background:0 0;border-radius:4px;padding:3px 9px;font-size:12px}.sf-dt-copy:hover{color:var(--sf-dt-text);background:var(--sf-dt-bg-hover)}.sf-dt-copy:not(.sf-dt-back):before{content:\"⧉ \"}.sf-dt-heading{color:var(--sf-dt-text);margin:0 0 8px;font-size:15px;font-weight:600}.sf-dt-meta-divider{border:none;border-top:1px solid var(--sf-dt-border);margin:0}.sf-dt-tree-row[data-v-dcfacad6]{cursor:default;font-family:var(--sf-dt-mono);gap:6px;padding:1px 8px;display:flex}.sf-dt-tree-row[data-v-dcfacad6]:hover{background:var(--sf-dt-bg-hover)}.sf-dt-tree-caret[data-v-dcfacad6]{width:10px;color:var(--sf-dt-text-faint);flex-shrink:0}.sf-dt-tree-key[data-v-dcfacad6]{color:var(--sf-dt-accent-text);flex-shrink:0}.sf-dt-tree-preview[data-v-dcfacad6]{overflow-wrap:break-word;min-width:0;color:var(--sf-dt-text-dim)}.sf-dt-header-table[data-v-d6d30a99]{border-collapse:collapse;width:100%;font-family:var(--sf-dt-mono);font-size:12px}.sf-dt-header-table tr[data-v-d6d30a99]{border-bottom:1px solid var(--sf-dt-border)}.sf-dt-header-table tr[data-v-d6d30a99]:last-child{border-bottom:none}.sf-dt-header-table tr[data-v-d6d30a99]:nth-child(2n){background:var(--sf-dt-bg-hover)}.sf-dt-header-table tr[data-v-d6d30a99]:hover{background:var(--sf-dt-accent-subtle)}.sf-dt-header-table th[data-v-d6d30a99],.sf-dt-header-table td[data-v-d6d30a99]{text-align:left;vertical-align:top;padding:4px 8px}.sf-dt-header-table th[data-v-d6d30a99]{white-space:nowrap;width:1px;color:var(--sf-dt-accent-text);border-right:1px solid var(--sf-dt-accent);font-weight:600}.sf-dt-header-table td[data-v-d6d30a99]{color:var(--sf-dt-text);overflow-wrap:break-word;word-break:break-word}.sf-dt-list[data-v-ebb3b3d0]{border-right:1px solid var(--sf-dt-border);flex-direction:column;width:40%;min-width:240px;display:flex}@container sf-devtools (width<400px){.sf-dt-body.has-selection .sf-dt-list[data-v-ebb3b3d0]{display:none}}.sf-dt-filters[data-v-ebb3b3d0]{border-bottom:1px solid var(--sf-dt-border);flex-wrap:wrap;gap:3px;padding:6px;display:flex}.sf-dt-filter[data-v-ebb3b3d0]{color:var(--sf-dt-text-dim);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:3px;padding:2px 7px;font-size:11px}.sf-dt-filter.is-active[data-v-ebb3b3d0]{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text)}.sf-dt-rows[data-v-ebb3b3d0]{flex:1;margin:0;padding:0;list-style:none;overflow:auto}.sf-dt-row[data-v-ebb3b3d0]{cursor:pointer;border-left:2px solid #0000;align-items:center;gap:8px;padding:5px 8px;display:flex}.sf-dt-row[data-v-ebb3b3d0]:hover{background:var(--sf-dt-bg-hover)}.sf-dt-row.is-selected[data-v-ebb3b3d0]{background:var(--sf-dt-accent-subtle);border-left-color:var(--sf-dt-accent)}.sf-dt-method[data-v-ebb3b3d0]{color:var(--sf-dt-accent-text);font-size:10px;font-weight:600}.sf-dt-url[data-v-ebb3b3d0]{text-overflow:ellipsis;white-space:nowrap;font-family:var(--sf-dt-mono);flex:1;overflow:hidden}.sf-dt-type[data-v-ebb3b3d0]{color:var(--sf-dt-text-faint);font-size:10px}.sf-dt-timing[data-v-ebb3b3d0]{color:var(--sf-dt-text-dim);font-size:10px}.sf-dt-diag-count[data-v-ebb3b3d0]{background:var(--sf-dt-warn);color:#000;border-radius:8px;padding:0 5px;font-size:10px;font-weight:700}.sf-dt-search[data-v-ebb3b3d0]{border:1px solid var(--sf-dt-border);background:var(--sf-dt-bg-elevated);color:var(--sf-dt-text);font:inherit;border-radius:3px;margin:0 6px 6px;padding:3px 6px;font-size:11px}.sf-dt-prev[data-v-ebb3b3d0]{border-bottom:1px solid var(--sf-dt-border)}.sf-dt-prev-toggle[data-v-ebb3b3d0]{text-align:left;width:100%;color:var(--sf-dt-text-faint);cursor:pointer;font:inherit;background:0 0;border:none;padding:5px 8px;font-size:11px}.sf-dt-prev-rows[data-v-ebb3b3d0]{margin:0;padding:0;list-style:none}.sf-dt-prev-row[data-v-ebb3b3d0]{opacity:.6;align-items:center;gap:8px;padding:4px 8px;display:flex}.sf-dt-row.is-child[data-v-ebb3b3d0]{padding-left:14px}.sf-dt-nest-marker[data-v-ebb3b3d0]{color:var(--sf-dt-text-faint);font-family:var(--sf-dt-mono);flex-shrink:0;font-size:13px;line-height:1}.sf-dt-evicted[data-v-ebb3b3d0]{color:var(--sf-dt-text-faint);border-top:1px solid var(--sf-dt-border);padding:5px 8px;font-size:10px}.sf-dt-badges[data-v-aa8d2e22]{flex-wrap:wrap;gap:4px;display:flex}.sf-dt-badge-wrap[data-v-aa8d2e22]{position:relative}.sf-dt-badge[data-v-aa8d2e22]{border:1px solid var(--sf-dt-border);color:var(--sf-dt-accent-text);font:inherit;letter-spacing:.03em;cursor:default;background:0 0;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.sf-dt-badge.is-expandable[data-v-aa8d2e22]{cursor:help}.sf-dt-badge-info[data-v-aa8d2e22]{z-index:1;border:1px solid var(--sf-dt-border);background:var(--sf-dt-bg-elevated);border-radius:3px;width:max-content;max-width:280px;margin-top:4px;padding:6px 8px;display:none;position:absolute}.sf-dt-badge-wrap:hover .sf-dt-badge-info[data-v-aa8d2e22],.sf-dt-badge:focus-visible+.sf-dt-badge-info[data-v-aa8d2e22]{display:block}.sf-dt-badge-info p[data-v-aa8d2e22]{color:var(--sf-dt-text-dim);margin:0 0 4px;font-size:11px}.sf-dt-diff[data-v-41093886]{font-family:var(--sf-dt-mono);margin:0;padding:0;list-style:none}.sf-dt-diff-row[data-v-41093886]{flex-wrap:wrap;gap:2px 6px;padding:1px 8px;display:flex}.sf-dt-diff-caret[data-v-41093886]{width:10px;color:var(--sf-dt-text-faint);flex-shrink:0}.sf-dt-diff-marker[data-v-41093886]{flex-shrink:0;font-weight:700}.sf-dt-diff-marker.is-added[data-v-41093886]{color:var(--sf-dt-added)}.sf-dt-diff-marker.is-removed[data-v-41093886]{color:var(--sf-dt-removed)}.sf-dt-diff-key[data-v-41093886]{color:var(--sf-dt-text);flex-shrink:0}.sf-dt-diff-old[data-v-41093886],.sf-dt-diff-new[data-v-41093886],.sf-dt-diff-dim[data-v-41093886]{overflow-wrap:break-word;min-width:0}.sf-dt-diff-old[data-v-41093886]{color:var(--sf-dt-removed);text-decoration:line-through}.sf-dt-diff-new[data-v-41093886]{color:var(--sf-dt-added)}.is-changed .sf-dt-diff-key[data-v-41093886]{color:var(--sf-dt-changed)}.sf-dt-diff-arrow[data-v-41093886]{color:var(--sf-dt-text-faint);flex-shrink:0}.sf-dt-diff-dim[data-v-41093886]{color:var(--sf-dt-text-dim)}.sf-dt-diff-nested[data-v-41093886]{border-left:1px solid var(--sf-dt-border);margin-left:8px;padding-left:16px}.sf-dt-diff-sides[data-v-41093886]{border-left:1px solid var(--sf-dt-border);flex-wrap:wrap;gap:4px 16px;margin-left:8px;padding:2px 0 2px 16px;display:flex}.sf-dt-diff-sides[data-v-41093886]>.sf-dt-tree{flex:200px;min-width:0}.sf-dt-diff-side[data-v-41093886]{border-left:1px solid var(--sf-dt-border);margin-left:8px;padding:2px 0 2px 16px}.sf-dt-response-tab[data-v-0ed3262b]{flex-direction:column;gap:8px;display:flex}.sf-dt-response-head[data-v-0ed3262b]{justify-content:space-between;align-items:center;gap:8px;display:flex}.sf-dt-response-entries[data-v-0ed3262b]{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sf-dt-response-entry[data-v-0ed3262b]{align-items:flex-start;gap:6px;display:flex}.sf-dt-response-entry[data-v-0ed3262b] .sf-dt-tree{flex:1;min-width:0}.sf-dt-badge[data-v-0ed3262b]{border:1px solid var(--sf-dt-border);color:var(--sf-dt-accent-text);letter-spacing:.03em;background:0 0;border-radius:3px;flex-shrink:0;margin-top:2px;padding:1px 6px;font-size:10px;font-weight:600}.sf-dt-response-note[data-v-0ed3262b]{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text);border-radius:4px;margin:0;padding:6px 10px;font-size:12px}.sf-dt-response-note.is-warning[data-v-0ed3262b]{color:var(--sf-dt-warn)}.sf-dt-response-note code[data-v-0ed3262b]{font-family:var(--sf-dt-mono);margin-right:4px}.sf-dt-headers-tab[data-v-adcd65ef]{flex-direction:column;gap:14px;display:flex}.sf-dt-muted[data-v-adcd65ef]{color:var(--sf-dt-text-faint);margin:0}.sf-dt-network-tab[data-v-d3e4f52b]{flex-direction:column;gap:14px;display:flex}.sf-dt-kv[data-v-d3e4f52b]{font-family:var(--sf-dt-mono);grid-template-columns:max-content 1fr;gap:2px 12px;margin:0;display:grid}.sf-dt-kv dt[data-v-d3e4f52b]{color:var(--sf-dt-text-faint)}.sf-dt-kv dd[data-v-d3e4f52b]{word-break:break-all;margin:0}.sf-dt-muted[data-v-d3e4f52b]{color:var(--sf-dt-text-faint);margin:0}.sf-dt-events-tab[data-v-d5ca53d0]{flex-direction:column;gap:14px;display:flex}.sf-dt-timeline[data-v-d5ca53d0]{font-family:var(--sf-dt-mono);margin:0;padding:0;list-style:none}.sf-dt-timeline-step[data-v-d5ca53d0]{border-left:2px solid var(--sf-dt-border);justify-content:space-between;padding:2px 8px;display:flex}.sf-dt-timeline-step.is-success[data-v-d5ca53d0]{border-left-color:var(--sf-dt-success)}.sf-dt-timeline-step.is-error[data-v-d5ca53d0]{border-left-color:var(--sf-dt-error)}.sf-dt-timeline-step.is-cancelled[data-v-d5ca53d0]{border-left-color:var(--sf-dt-warn)}.sf-dt-timeline-name[data-v-d5ca53d0]{color:var(--sf-dt-accent-text)}.sf-dt-timeline-offset[data-v-d5ca53d0]{color:var(--sf-dt-text-faint)}.sf-dt-raw-events[data-v-d5ca53d0]{margin:0;padding:0;list-style:none}.sf-dt-detail[data-v-4942f037]{flex-direction:column;flex:1;gap:14px;min-width:0;padding:10px 12px;display:flex;overflow:auto}.sf-dt-overview dl[data-v-4942f037]{grid-template-columns:max-content 1fr;gap:2px 12px;margin:0;display:grid}.sf-dt-no-network[data-v-4942f037]{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text);border-radius:4px;margin:0;padding:6px 10px;font-size:12px}.sf-dt-overview dt[data-v-4942f037]{color:var(--sf-dt-text-faint)}.sf-dt-overview dd[data-v-4942f037]{font-family:var(--sf-dt-mono);word-break:break-all;margin:0}.sf-dt-diags ul[data-v-4942f037]{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.sf-dt-diags li[data-v-4942f037]{border-left:3px solid;border-radius:3px;padding:4px 8px}.sf-dt-diags .is-error[data-v-4942f037]{border-color:var(--sf-dt-error);color:var(--sf-dt-error)}.sf-dt-diags .is-warning[data-v-4942f037]{border-color:var(--sf-dt-warn);color:var(--sf-dt-warn)}.sf-dt-diags .is-info[data-v-4942f037]{border-color:var(--sf-dt-info);color:var(--sf-dt-text-dim)}.sf-dt-subtabs[data-v-4942f037]{border-bottom:1px solid var(--sf-dt-border);gap:4px;padding-bottom:6px;display:flex}.sf-dt-subtab[data-v-4942f037]{color:var(--sf-dt-text-dim);cursor:pointer;font:inherit;text-transform:capitalize;background:0 0;border:none;border-radius:4px;padding:3px 9px;font-size:11px}.sf-dt-subtab.is-active[data-v-4942f037]{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text)}.sf-dt-tabpanel[data-v-4942f037]{flex:1}.sf-dt-detail-head[data-v-4942f037]{align-items:center;gap:8px;display:flex}.sf-dt-toast[data-v-4942f037]{color:var(--sf-dt-success);font-size:11px}.sf-dt-back[data-v-4942f037]{color:var(--sf-dt-accent-text);border-color:var(--sf-dt-accent-text);display:none}@container sf-devtools (width<400px){.sf-dt-back[data-v-4942f037]{display:inline-block}}.sf-dt-page-inner[data-v-2c4fa9e7]{flex-direction:column;flex:1;gap:10px;padding:10px 12px;display:flex;overflow:auto}.sf-dt-list[data-v-d23a53a8]{border-right:1px solid var(--sf-dt-border);flex-direction:column;width:45%;min-width:260px;display:flex}@container sf-devtools (width<400px){.sf-dt-body.has-selection .sf-dt-list[data-v-d23a53a8]{display:none}}.sf-dt-filters[data-v-d23a53a8]{border-bottom:1px solid var(--sf-dt-border);flex-wrap:wrap;gap:3px;padding:6px;display:flex}.sf-dt-filter[data-v-d23a53a8]{color:var(--sf-dt-text-dim);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:3px;padding:2px 7px;font-size:11px}.sf-dt-filter.is-active[data-v-d23a53a8]{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text)}.sf-dt-search[data-v-d23a53a8]{border:1px solid var(--sf-dt-border);background:var(--sf-dt-bg-elevated);color:var(--sf-dt-text);font:inherit;border-radius:3px;margin:0 6px 6px;padding:3px 6px;font-size:11px}.sf-dt-prev[data-v-d23a53a8]{border-bottom:1px solid var(--sf-dt-border)}.sf-dt-prev-toggle[data-v-d23a53a8]{text-align:left;width:100%;color:var(--sf-dt-text-faint);cursor:pointer;font:inherit;background:0 0;border:none;padding:5px 8px;font-size:11px}.sf-dt-prev-rows[data-v-d23a53a8]{margin:0;padding:0;list-style:none}.sf-dt-prev-row[data-v-d23a53a8]{opacity:.6;align-items:center;gap:8px;padding:4px 8px;display:flex}.sf-dt-rows[data-v-d23a53a8]{flex:1;margin:0;padding:0;list-style:none;overflow:auto}.sf-dt-row[data-v-d23a53a8]{cursor:pointer;border-left:2px solid #0000;align-items:center;gap:8px;padding:5px 8px;display:flex}.sf-dt-row[data-v-d23a53a8]:hover{background:var(--sf-dt-bg-hover)}.sf-dt-row.is-selected[data-v-d23a53a8]{background:var(--sf-dt-accent-subtle);border-left-color:var(--sf-dt-accent)}.sf-dt-method[data-v-d23a53a8]{color:var(--sf-dt-accent-text);font-size:10px;font-weight:600}.sf-dt-proc[data-v-d23a53a8]{text-overflow:ellipsis;white-space:nowrap;font-family:var(--sf-dt-mono);flex:1;overflow:hidden}.sf-dt-status[data-v-d23a53a8]{color:var(--sf-dt-text-dim);font-size:10px}.sf-dt-status.is-ok[data-v-d23a53a8]{color:var(--sf-dt-success)}.sf-dt-status.is-warn[data-v-d23a53a8]{color:var(--sf-dt-warn)}.sf-dt-status.is-error[data-v-d23a53a8]{color:var(--sf-dt-error)}.sf-dt-timing[data-v-d23a53a8]{color:var(--sf-dt-text-dim);font-size:10px}.sf-dt-empty[data-v-d23a53a8]{color:var(--sf-dt-text-faint);text-align:center;padding:24px}.sf-dt-data-tab[data-v-b4a3d433]{flex-direction:column;gap:14px;display:flex}.sf-dt-muted[data-v-b4a3d433]{color:var(--sf-dt-text-faint);margin:0}.sf-dt-error-fields[data-v-b4a3d433]{grid-template-columns:max-content 1fr;gap:2px 12px;margin:0 0 8px;display:grid}.sf-dt-error-fields dt[data-v-b4a3d433]{color:var(--sf-dt-text-faint)}.sf-dt-error-fields dd[data-v-b4a3d433]{font-family:var(--sf-dt-mono);word-break:break-all;margin:0}.sf-dt-section-head[data-v-b4a3d433]{align-items:baseline;gap:8px;display:flex}.sf-dt-raw-toggle[data-v-b4a3d433]{border:1px solid var(--sf-dt-border);color:var(--sf-dt-accent-text);font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:1px 6px;font-size:11px}.sf-dt-raw-toggle[data-v-b4a3d433]:hover{background:var(--sf-dt-bg-hover)}.sf-dt-headers-tab[data-v-2b32ad4e]{flex-direction:column;gap:14px;display:flex}.sf-dt-muted[data-v-2b32ad4e]{color:var(--sf-dt-text-faint);margin:0}.sf-dt-detail[data-v-13e1a486]{flex-direction:column;flex:1;gap:14px;min-width:0;padding:10px 12px;display:flex;overflow:auto}.sf-dt-detail-head[data-v-13e1a486]{align-items:center;gap:8px;display:flex}.sf-dt-toast[data-v-13e1a486]{color:var(--sf-dt-success);font-size:11px}.sf-dt-back[data-v-13e1a486]{color:var(--sf-dt-accent-text);border-color:var(--sf-dt-accent-text);display:none}@container sf-devtools (width<400px){.sf-dt-back[data-v-13e1a486]{display:inline-block}}.sf-dt-overview dl[data-v-13e1a486]{grid-template-columns:max-content 1fr;gap:2px 12px;margin:0;display:grid}.sf-dt-overview dt[data-v-13e1a486]{color:var(--sf-dt-text-faint)}.sf-dt-overview dd[data-v-13e1a486]{font-family:var(--sf-dt-mono);word-break:break-all;margin:0}.sf-dt-subtabs[data-v-13e1a486]{border-bottom:1px solid var(--sf-dt-border);gap:4px;padding-bottom:6px;display:flex}.sf-dt-subtab[data-v-13e1a486]{color:var(--sf-dt-text-dim);cursor:pointer;font:inherit;text-transform:capitalize;background:0 0;border:none;border-radius:4px;padding:3px 9px;font-size:11px}.sf-dt-subtab.is-active[data-v-13e1a486]{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text)}.sf-dt-tabpanel[data-v-13e1a486]{flex:1}.sf-dt-stats[data-v-37db1106]{flex:1;padding:10px 12px;overflow:auto}table[data-v-37db1106]{border-collapse:collapse;width:100%;font-size:11px}th[data-v-37db1106]{text-align:left;color:var(--sf-dt-text-dim);border-bottom:1px solid var(--sf-dt-border);text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;font-size:10px}.sf-dt-sortable[data-v-37db1106]{cursor:pointer}.sf-dt-sortable.is-active[data-v-37db1106]{color:var(--sf-dt-text)}td[data-v-37db1106]{border-bottom:1px solid var(--sf-dt-border);padding:3px 8px}.sf-dt-proc[data-v-37db1106]{font-family:var(--sf-dt-mono);color:var(--sf-dt-accent-text)}.sf-dt-has-errors[data-v-37db1106]{color:var(--sf-dt-error);font-weight:600}.sf-dt-empty[data-v-37db1106]{color:var(--sf-dt-text-faint);text-align:center;padding:24px}.sf-dt-empty[data-v-1afb26c2]{color:var(--sf-dt-text-faint);padding:12px;font-size:13px}.sf-dt-context[data-v-1afb26c2]{flex:1;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:8px 24px;min-height:0;padding:10px 12px;display:grid;overflow:auto}.sf-dt-col[data-v-1afb26c2]{flex-direction:column;gap:16px;display:flex}.sf-dt-section[data-v-1afb26c2]{margin-bottom:16px}.sf-dt-col .sf-dt-section[data-v-1afb26c2]{margin-bottom:0}.sf-dt-dl[data-v-1afb26c2]{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;font-size:13px;display:grid}.sf-dt-dl dt[data-v-1afb26c2]{color:var(--sf-dt-text-faint)}.sf-dt-dl dd[data-v-1afb26c2]{color:var(--sf-dt-text);font-family:var(--sf-dt-mono);overflow-wrap:anywhere;margin:0}.sf-dt-doclink[data-v-1afb26c2]{align-items:center;margin-left:auto;display:inline-flex}\n/*$vite$:1*/"; } /* DOM Injection Support */ if (typeof document !== 'undefined' && typeof globalThis !== 'undefined') { var executeInject = function (options) { var target = (options && options.target) || document.head; if (!target) return; executeInject.cache = executeInject.cache || []; for (var i = 0; i < executeInject.cache.length; i++) { if (executeInject.cache[i].target === target) { var els = executeInject.cache[i].elements; for (var j = 0; j < els.length; j++) target.appendChild(els[j]); return; } } var newElements = []; var observer = new MutationObserver(function () { }); var obsTarget = target.nodeType === 11 ? target : (document.documentElement || document); observer.observe(obsTarget, { childList: true, subtree: true }); try { (function (document_head) { (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.sf-devtools{--sf-dt-accent:#5328e1;--sf-dt-accent-hover:#6b45e8;--sf-dt-accent-subtle:#5328e133;--sf-dt-accent-text:#a48bff;--sf-dt-bg:#16151c;--sf-dt-bg-elevated:#1e1c26;--sf-dt-bg-hover:#272430;--sf-dt-border:#2e2b38;--sf-dt-text:#e7e5ee;--sf-dt-text-dim:#9b97ad;--sf-dt-text-faint:#948fa9;--sf-dt-error:#ff6b6b;--sf-dt-warn:#ffb454;--sf-dt-info:var(--sf-dt-accent);--sf-dt-success:#4ade80;--sf-dt-added:#4ade80;--sf-dt-removed:#ff6b6b;--sf-dt-changed:var(--sf-dt-warn);--sf-dt-mono:ui-monospace, "SF Mono", "Menlo", "Consolas", monospace;background:var(--sf-dt-bg);color:var(--sf-dt-text);flex-direction:column;font-family:system-ui,-apple-system,sans-serif;font-size:12px;line-height:1.5;display:flex;position:absolute;inset:0;overflow:hidden;container:sf-devtools/inline-size}.sf-devtools *{box-sizing:border-box}.sf-devtools :focus-visible{outline:2px solid var(--sf-dt-accent-text);outline-offset:-2px}.sf-dt-tabs{border-bottom:1px solid var(--sf-dt-border);background:var(--sf-dt-bg-elevated);gap:4px;padding:6px 8px;display:flex}.sf-dt-tab{color:var(--sf-dt-text-dim);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:4px;padding:4px 10px}.sf-dt-tab.is-active{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text)}.sf-dt-tabs-spacer{margin-left:auto}.sf-dt-tabs [aria-pressed=true]:before{content:"▶ "}.sf-dt-tabs [aria-pressed=false]:before{content:"⏸ "}.sf-dt-tabs-clear:before{content:"✕ "}.sf-dt-body{flex:1;min-height:0;display:flex}.sf-dt-empty{color:var(--sf-dt-text-faint);text-align:center;padding:24px}.sf-dt-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sf-dt-doclink{color:var(--sf-dt-accent-text);font-size:12px;text-decoration:none}.sf-dt-doclink:hover{text-decoration:underline}.sf-dt-doclink:after{content:" ↗";margin-left:2px}.sf-dt-copy{border:1px solid var(--sf-dt-border);color:var(--sf-dt-text-dim);cursor:pointer;font:inherit;background:0 0;border-radius:4px;padding:3px 9px;font-size:12px}.sf-dt-copy:hover{color:var(--sf-dt-text);background:var(--sf-dt-bg-hover)}.sf-dt-copy:not(.sf-dt-back):before{content:"⧉ "}.sf-dt-heading{color:var(--sf-dt-text);margin:0 0 8px;font-size:15px;font-weight:600}.sf-dt-meta-divider{border:none;border-top:1px solid var(--sf-dt-border);margin:0}.sf-dt-tree-row[data-v-dcfacad6]{cursor:default;font-family:var(--sf-dt-mono);gap:6px;padding:1px 8px;display:flex}.sf-dt-tree-row[data-v-dcfacad6]:hover{background:var(--sf-dt-bg-hover)}.sf-dt-tree-caret[data-v-dcfacad6]{width:10px;color:var(--sf-dt-text-faint);flex-shrink:0}.sf-dt-tree-key[data-v-dcfacad6]{color:var(--sf-dt-accent-text);flex-shrink:0}.sf-dt-tree-preview[data-v-dcfacad6]{overflow-wrap:break-word;min-width:0;color:var(--sf-dt-text-dim)}.sf-dt-header-table[data-v-d6d30a99]{border-collapse:collapse;width:100%;font-family:var(--sf-dt-mono);font-size:12px}.sf-dt-header-table tr[data-v-d6d30a99]{border-bottom:1px solid var(--sf-dt-border)}.sf-dt-header-table tr[data-v-d6d30a99]:last-child{border-bottom:none}.sf-dt-header-table tr[data-v-d6d30a99]:nth-child(2n){background:var(--sf-dt-bg-hover)}.sf-dt-header-table tr[data-v-d6d30a99]:hover{background:var(--sf-dt-accent-subtle)}.sf-dt-header-table th[data-v-d6d30a99],.sf-dt-header-table td[data-v-d6d30a99]{text-align:left;vertical-align:top;padding:4px 8px}.sf-dt-header-table th[data-v-d6d30a99]{white-space:nowrap;width:1px;color:var(--sf-dt-accent-text);border-right:1px solid var(--sf-dt-accent);font-weight:600}.sf-dt-header-table td[data-v-d6d30a99]{color:var(--sf-dt-text);overflow-wrap:break-word;word-break:break-word}.sf-dt-list[data-v-ebb3b3d0]{border-right:1px solid var(--sf-dt-border);flex-direction:column;width:40%;min-width:240px;display:flex}@container sf-devtools (width<400px){.sf-dt-body.has-selection .sf-dt-list[data-v-ebb3b3d0]{display:none}}.sf-dt-filters[data-v-ebb3b3d0]{border-bottom:1px solid var(--sf-dt-border);flex-wrap:wrap;gap:3px;padding:6px;display:flex}.sf-dt-filter[data-v-ebb3b3d0]{color:var(--sf-dt-text-dim);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:3px;padding:2px 7px;font-size:11px}.sf-dt-filter.is-active[data-v-ebb3b3d0]{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text)}.sf-dt-rows[data-v-ebb3b3d0]{flex:1;margin:0;padding:0;list-style:none;overflow:auto}.sf-dt-row[data-v-ebb3b3d0]{cursor:pointer;border-left:2px solid #0000;align-items:center;gap:8px;padding:5px 8px;display:flex}.sf-dt-row[data-v-ebb3b3d0]:hover{background:var(--sf-dt-bg-hover)}.sf-dt-row.is-selected[data-v-ebb3b3d0]{background:var(--sf-dt-accent-subtle);border-left-color:var(--sf-dt-accent)}.sf-dt-method[data-v-ebb3b3d0]{color:var(--sf-dt-accent-text);font-size:10px;font-weight:600}.sf-dt-url[data-v-ebb3b3d0]{text-overflow:ellipsis;white-space:nowrap;font-family:var(--sf-dt-mono);flex:1;overflow:hidden}.sf-dt-type[data-v-ebb3b3d0]{color:var(--sf-dt-text-faint);font-size:10px}.sf-dt-timing[data-v-ebb3b3d0]{color:var(--sf-dt-text-dim);font-size:10px}.sf-dt-diag-count[data-v-ebb3b3d0]{background:var(--sf-dt-warn);color:#000;border-radius:8px;padding:0 5px;font-size:10px;font-weight:700}.sf-dt-search[data-v-ebb3b3d0]{border:1px solid var(--sf-dt-border);background:var(--sf-dt-bg-elevated);color:var(--sf-dt-text);font:inherit;border-radius:3px;margin:0 6px 6px;padding:3px 6px;font-size:11px}.sf-dt-prev[data-v-ebb3b3d0]{border-bottom:1px solid var(--sf-dt-border)}.sf-dt-prev-toggle[data-v-ebb3b3d0]{text-align:left;width:100%;color:var(--sf-dt-text-faint);cursor:pointer;font:inherit;background:0 0;border:none;padding:5px 8px;font-size:11px}.sf-dt-prev-rows[data-v-ebb3b3d0]{margin:0;padding:0;list-style:none}.sf-dt-prev-row[data-v-ebb3b3d0]{opacity:.6;align-items:center;gap:8px;padding:4px 8px;display:flex}.sf-dt-row.is-child[data-v-ebb3b3d0]{padding-left:14px}.sf-dt-nest-marker[data-v-ebb3b3d0]{color:var(--sf-dt-text-faint);font-family:var(--sf-dt-mono);flex-shrink:0;font-size:13px;line-height:1}.sf-dt-evicted[data-v-ebb3b3d0]{color:var(--sf-dt-text-faint);border-top:1px solid var(--sf-dt-border);padding:5px 8px;font-size:10px}.sf-dt-badges[data-v-aa8d2e22]{flex-wrap:wrap;gap:4px;display:flex}.sf-dt-badge-wrap[data-v-aa8d2e22]{position:relative}.sf-dt-badge[data-v-aa8d2e22]{border:1px solid var(--sf-dt-border);color:var(--sf-dt-accent-text);font:inherit;letter-spacing:.03em;cursor:default;background:0 0;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.sf-dt-badge.is-expandable[data-v-aa8d2e22]{cursor:help}.sf-dt-badge-info[data-v-aa8d2e22]{z-index:1;border:1px solid var(--sf-dt-border);background:var(--sf-dt-bg-elevated);border-radius:3px;width:max-content;max-width:280px;margin-top:4px;padding:6px 8px;display:none;position:absolute}.sf-dt-badge-wrap:hover .sf-dt-badge-info[data-v-aa8d2e22],.sf-dt-badge:focus-visible+.sf-dt-badge-info[data-v-aa8d2e22]{display:block}.sf-dt-badge-info p[data-v-aa8d2e22]{color:var(--sf-dt-text-dim);margin:0 0 4px;font-size:11px}.sf-dt-diff[data-v-41093886]{font-family:var(--sf-dt-mono);margin:0;padding:0;list-style:none}.sf-dt-diff-row[data-v-41093886]{flex-wrap:wrap;gap:2px 6px;padding:1px 8px;display:flex}.sf-dt-diff-caret[data-v-41093886]{width:10px;color:var(--sf-dt-text-faint);flex-shrink:0}.sf-dt-diff-marker[data-v-41093886]{flex-shrink:0;font-weight:700}.sf-dt-diff-marker.is-added[data-v-41093886]{color:var(--sf-dt-added)}.sf-dt-diff-marker.is-removed[data-v-41093886]{color:var(--sf-dt-removed)}.sf-dt-diff-key[data-v-41093886]{color:var(--sf-dt-text);flex-shrink:0}.sf-dt-diff-old[data-v-41093886],.sf-dt-diff-new[data-v-41093886],.sf-dt-diff-dim[data-v-41093886]{overflow-wrap:break-word;min-width:0}.sf-dt-diff-old[data-v-41093886]{color:var(--sf-dt-removed);text-decoration:line-through}.sf-dt-diff-new[data-v-41093886]{color:var(--sf-dt-added)}.is-changed .sf-dt-diff-key[data-v-41093886]{color:var(--sf-dt-changed)}.sf-dt-diff-arrow[data-v-41093886]{color:var(--sf-dt-text-faint);flex-shrink:0}.sf-dt-diff-dim[data-v-41093886]{color:var(--sf-dt-text-dim)}.sf-dt-diff-nested[data-v-41093886]{border-left:1px solid var(--sf-dt-border);margin-left:8px;padding-left:16px}.sf-dt-diff-sides[data-v-41093886]{border-left:1px solid var(--sf-dt-border);flex-wrap:wrap;gap:4px 16px;margin-left:8px;padding:2px 0 2px 16px;display:flex}.sf-dt-diff-sides[data-v-41093886]>.sf-dt-tree{flex:200px;min-width:0}.sf-dt-diff-side[data-v-41093886]{border-left:1px solid var(--sf-dt-border);margin-left:8px;padding:2px 0 2px 16px}.sf-dt-response-tab[data-v-0ed3262b]{flex-direction:column;gap:8px;display:flex}.sf-dt-response-head[data-v-0ed3262b]{justify-content:space-between;align-items:center;gap:8px;display:flex}.sf-dt-response-entries[data-v-0ed3262b]{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sf-dt-response-entry[data-v-0ed3262b]{align-items:flex-start;gap:6px;display:flex}.sf-dt-response-entry[data-v-0ed3262b] .sf-dt-tree{flex:1;min-width:0}.sf-dt-badge[data-v-0ed3262b]{border:1px solid var(--sf-dt-border);color:var(--sf-dt-accent-text);letter-spacing:.03em;background:0 0;border-radius:3px;flex-shrink:0;margin-top:2px;padding:1px 6px;font-size:10px;font-weight:600}.sf-dt-response-note[data-v-0ed3262b]{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text);border-radius:4px;margin:0;padding:6px 10px;font-size:12px}.sf-dt-response-note.is-warning[data-v-0ed3262b]{color:var(--sf-dt-warn)}.sf-dt-response-note code[data-v-0ed3262b]{font-family:var(--sf-dt-mono);margin-right:4px}.sf-dt-headers-tab[data-v-adcd65ef]{flex-direction:column;gap:14px;display:flex}.sf-dt-muted[data-v-adcd65ef]{color:var(--sf-dt-text-faint);margin:0}.sf-dt-network-tab[data-v-d3e4f52b]{flex-direction:column;gap:14px;display:flex}.sf-dt-kv[data-v-d3e4f52b]{font-family:var(--sf-dt-mono);grid-template-columns:max-content 1fr;gap:2px 12px;margin:0;display:grid}.sf-dt-kv dt[data-v-d3e4f52b]{color:var(--sf-dt-text-faint)}.sf-dt-kv dd[data-v-d3e4f52b]{word-break:break-all;margin:0}.sf-dt-muted[data-v-d3e4f52b]{color:var(--sf-dt-text-faint);margin:0}.sf-dt-events-tab[data-v-d5ca53d0]{flex-direction:column;gap:14px;display:flex}.sf-dt-timeline[data-v-d5ca53d0]{font-family:var(--sf-dt-mono);margin:0;padding:0;list-style:none}.sf-dt-timeline-step[data-v-d5ca53d0]{border-left:2px solid var(--sf-dt-border);justify-content:space-between;padding:2px 8px;display:flex}.sf-dt-timeline-step.is-success[data-v-d5ca53d0]{border-left-color:var(--sf-dt-success)}.sf-dt-timeline-step.is-error[data-v-d5ca53d0]{border-left-color:var(--sf-dt-error)}.sf-dt-timeline-step.is-cancelled[data-v-d5ca53d0]{border-left-color:var(--sf-dt-warn)}.sf-dt-timeline-name[data-v-d5ca53d0]{color:var(--sf-dt-accent-text)}.sf-dt-timeline-offset[data-v-d5ca53d0]{color:var(--sf-dt-text-faint)}.sf-dt-raw-events[data-v-d5ca53d0]{margin:0;padding:0;list-style:none}.sf-dt-detail[data-v-4942f037]{flex-direction:column;flex:1;gap:14px;min-width:0;padding:10px 12px;display:flex;overflow:auto}.sf-dt-overview dl[data-v-4942f037]{grid-template-columns:max-content 1fr;gap:2px 12px;margin:0;display:grid}.sf-dt-no-network[data-v-4942f037]{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text);border-radius:4px;margin:0;padding:6px 10px;font-size:12px}.sf-dt-overview dt[data-v-4942f037]{color:var(--sf-dt-text-faint)}.sf-dt-overview dd[data-v-4942f037]{font-family:var(--sf-dt-mono);word-break:break-all;margin:0}.sf-dt-diags ul[data-v-4942f037]{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.sf-dt-diags li[data-v-4942f037]{border-left:3px solid;border-radius:3px;padding:4px 8px}.sf-dt-diags .is-error[data-v-4942f037]{border-color:var(--sf-dt-error);color:var(--sf-dt-error)}.sf-dt-diags .is-warning[data-v-4942f037]{border-color:var(--sf-dt-warn);color:var(--sf-dt-warn)}.sf-dt-diags .is-info[data-v-4942f037]{border-color:var(--sf-dt-info);color:var(--sf-dt-text-dim)}.sf-dt-subtabs[data-v-4942f037]{border-bottom:1px solid var(--sf-dt-border);gap:4px;padding-bottom:6px;display:flex}.sf-dt-subtab[data-v-4942f037]{color:var(--sf-dt-text-dim);cursor:pointer;font:inherit;text-transform:capitalize;background:0 0;border:none;border-radius:4px;padding:3px 9px;font-size:11px}.sf-dt-subtab.is-active[data-v-4942f037]{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text)}.sf-dt-tabpanel[data-v-4942f037]{flex:1}.sf-dt-detail-head[data-v-4942f037]{align-items:center;gap:8px;display:flex}.sf-dt-toast[data-v-4942f037]{color:var(--sf-dt-success);font-size:11px}.sf-dt-back[data-v-4942f037]{color:var(--sf-dt-accent-text);border-color:var(--sf-dt-accent-text);display:none}@container sf-devtools (width<400px){.sf-dt-back[data-v-4942f037]{display:inline-block}}.sf-dt-page-inner[data-v-2c4fa9e7]{flex-direction:column;flex:1;gap:10px;padding:10px 12px;display:flex;overflow:auto}.sf-dt-list[data-v-d23a53a8]{border-right:1px solid var(--sf-dt-border);flex-direction:column;width:45%;min-width:260px;display:flex}@container sf-devtools (width<400px){.sf-dt-body.has-selection .sf-dt-list[data-v-d23a53a8]{display:none}}.sf-dt-filters[data-v-d23a53a8]{border-bottom:1px solid var(--sf-dt-border);flex-wrap:wrap;gap:3px;padding:6px;display:flex}.sf-dt-filter[data-v-d23a53a8]{color:var(--sf-dt-text-dim);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:3px;padding:2px 7px;font-size:11px}.sf-dt-filter.is-active[data-v-d23a53a8]{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text)}.sf-dt-search[data-v-d23a53a8]{border:1px solid var(--sf-dt-border);background:var(--sf-dt-bg-elevated);color:var(--sf-dt-text);font:inherit;border-radius:3px;margin:0 6px 6px;padding:3px 6px;font-size:11px}.sf-dt-prev[data-v-d23a53a8]{border-bottom:1px solid var(--sf-dt-border)}.sf-dt-prev-toggle[data-v-d23a53a8]{text-align:left;width:100%;color:var(--sf-dt-text-faint);cursor:pointer;font:inherit;background:0 0;border:none;padding:5px 8px;font-size:11px}.sf-dt-prev-rows[data-v-d23a53a8]{margin:0;padding:0;list-style:none}.sf-dt-prev-row[data-v-d23a53a8]{opacity:.6;align-items:center;gap:8px;padding:4px 8px;display:flex}.sf-dt-rows[data-v-d23a53a8]{flex:1;margin:0;padding:0;list-style:none;overflow:auto}.sf-dt-row[data-v-d23a53a8]{cursor:pointer;border-left:2px solid #0000;align-items:center;gap:8px;padding:5px 8px;display:flex}.sf-dt-row[data-v-d23a53a8]:hover{background:var(--sf-dt-bg-hover)}.sf-dt-row.is-selected[data-v-d23a53a8]{background:var(--sf-dt-accent-subtle);border-left-color:var(--sf-dt-accent)}.sf-dt-method[data-v-d23a53a8]{color:var(--sf-dt-accent-text);font-size:10px;font-weight:600}.sf-dt-proc[data-v-d23a53a8]{text-overflow:ellipsis;white-space:nowrap;font-family:var(--sf-dt-mono);flex:1;overflow:hidden}.sf-dt-status[data-v-d23a53a8]{color:var(--sf-dt-text-dim);font-size:10px}.sf-dt-status.is-ok[data-v-d23a53a8]{color:var(--sf-dt-success)}.sf-dt-status.is-warn[data-v-d23a53a8]{color:var(--sf-dt-warn)}.sf-dt-status.is-error[data-v-d23a53a8]{color:var(--sf-dt-error)}.sf-dt-timing[data-v-d23a53a8]{color:var(--sf-dt-text-dim);font-size:10px}.sf-dt-empty[data-v-d23a53a8]{color:var(--sf-dt-text-faint);text-align:center;padding:24px}.sf-dt-data-tab[data-v-b4a3d433]{flex-direction:column;gap:14px;display:flex}.sf-dt-muted[data-v-b4a3d433]{color:var(--sf-dt-text-faint);margin:0}.sf-dt-error-fields[data-v-b4a3d433]{grid-template-columns:max-content 1fr;gap:2px 12px;margin:0 0 8px;display:grid}.sf-dt-error-fields dt[data-v-b4a3d433]{color:var(--sf-dt-text-faint)}.sf-dt-error-fields dd[data-v-b4a3d433]{font-family:var(--sf-dt-mono);word-break:break-all;margin:0}.sf-dt-section-head[data-v-b4a3d433]{align-items:baseline;gap:8px;display:flex}.sf-dt-raw-toggle[data-v-b4a3d433]{border:1px solid var(--sf-dt-border);color:var(--sf-dt-accent-text);font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:1px 6px;font-size:11px}.sf-dt-raw-toggle[data-v-b4a3d433]:hover{background:var(--sf-dt-bg-hover)}.sf-dt-headers-tab[data-v-2b32ad4e]{flex-direction:column;gap:14px;display:flex}.sf-dt-muted[data-v-2b32ad4e]{color:var(--sf-dt-text-faint);margin:0}.sf-dt-detail[data-v-13e1a486]{flex-direction:column;flex:1;gap:14px;min-width:0;padding:10px 12px;display:flex;overflow:auto}.sf-dt-detail-head[data-v-13e1a486]{align-items:center;gap:8px;display:flex}.sf-dt-toast[data-v-13e1a486]{color:var(--sf-dt-success);font-size:11px}.sf-dt-back[data-v-13e1a486]{color:var(--sf-dt-accent-text);border-color:var(--sf-dt-accent-text);display:none}@container sf-devtools (width<400px){.sf-dt-back[data-v-13e1a486]{display:inline-block}}.sf-dt-overview dl[data-v-13e1a486]{grid-template-columns:max-content 1fr;gap:2px 12px;margin:0;display:grid}.sf-dt-overview dt[data-v-13e1a486]{color:var(--sf-dt-text-faint)}.sf-dt-overview dd[data-v-13e1a486]{font-family:var(--sf-dt-mono);word-break:break-all;margin:0}.sf-dt-subtabs[data-v-13e1a486]{border-bottom:1px solid var(--sf-dt-border);gap:4px;padding-bottom:6px;display:flex}.sf-dt-subtab[data-v-13e1a486]{color:var(--sf-dt-text-dim);cursor:pointer;font:inherit;text-transform:capitalize;background:0 0;border:none;border-radius:4px;padding:3px 9px;font-size:11px}.sf-dt-subtab.is-active[data-v-13e1a486]{background:var(--sf-dt-accent-subtle);color:var(--sf-dt-text)}.sf-dt-tabpanel[data-v-13e1a486]{flex:1}.sf-dt-stats[data-v-37db1106]{flex:1;padding:10px 12px;overflow:auto}table[data-v-37db1106]{border-collapse:collapse;width:100%;font-size:11px}th[data-v-37db1106]{text-align:left;color:var(--sf-dt-text-dim);border-bottom:1px solid var(--sf-dt-border);text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;font-size:10px}.sf-dt-sortable[data-v-37db1106]{cursor:pointer}.sf-dt-sortable.is-active[data-v-37db1106]{color:var(--sf-dt-text)}td[data-v-37db1106]{border-bottom:1px solid var(--sf-dt-border);padding:3px 8px}.sf-dt-proc[data-v-37db1106]{font-family:var(--sf-dt-mono);color:var(--sf-dt-accent-text)}.sf-dt-has-errors[data-v-37db1106]{color:var(--sf-dt-error);font-weight:600}.sf-dt-empty[data-v-37db1106]{color:var(--sf-dt-text-faint);text-align:center;padding:24px}.sf-dt-empty[data-v-1afb26c2]{color:var(--sf-dt-text-faint);padding:12px;font-size:13px}.sf-dt-context[data-v-1afb26c2]{flex:1;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:8px 24px;min-height:0;padding:10px 12px;display:grid;overflow:auto}.sf-dt-col[data-v-1afb26c2]{flex-direction:column;gap:16px;display:flex}.sf-dt-section[data-v-1afb26c2]{margin-bottom:16px}.sf-dt-col .sf-dt-section[data-v-1afb26c2]{margin-bottom:0}.sf-dt-dl[data-v-1afb26c2]{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;font-size:13px;display:grid}.sf-dt-dl dt[data-v-1afb26c2]{color:var(--sf-dt-text-faint)}.sf-dt-dl dd[data-v-1afb26c2]{color:var(--sf-dt-text);font-family:var(--sf-dt-mono);overflow-wrap:anywhere;margin:0}.sf-dt-doclink[data-v-1afb26c2]{align-items:center;margin-left:auto;display:inline-flex}/*$vite$:1*/`)),document_head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})(); })(target); } finally { var records = observer.takeRecords(); globalThis.__VITE_CSS_ELS__ = globalThis.__VITE_CSS_ELS__ || []; for (var i = 0; i < records.length; i++) { for (var j = 0; j < records[i].addedNodes.length; j++) { var node = records[i].addedNodes[j]; newElements.push(node); globalThis.__VITE_CSS_ELS__.push({ target: target, el: node }); } } observer.disconnect(); } executeInject.cache.push({ target: target, elements: newElements }); }; globalThis.__VITE_CSS_QUEUE__ = globalThis.__VITE_CSS_QUEUE__ || []; globalThis.__VITE_CSS_QUEUE__.push(executeInject); } })();
2
1
  import "vue";
3
2
  //#region ../../../node_modules/.pnpm/@vue+devtools-shared@8.2.1/node_modules/@vue/devtools-shared/dist/index.js
4
3
  var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), s = (e, i, o, s) => {
@@ -1,14 +1,15 @@
1
1
  import { Plugin } from 'vite';
2
2
  /**
3
- * Creates the Vite plugin for the Vue DevTools panel. It serves the iframe UI
4
- * client and adds a "Vue" dock group whose member iframe entries (Components,
5
- * Timeline) each load the served UI for one view. The applet UI runs in an
6
- * iframe and connects to the inspected app over a broadcast-channel RPC
7
- * bridge. The backend bridge (`devtools.init()` plus the RPC server) is
8
- * injected into the app entry alongside the other panels' clients; see
9
- * `src/index.ts`. Click-to-inspect and open-in-editor come from
10
- * `@vue/devtools-applet`'s Components view itself, so no separate inspector
11
- * plugin is wired in here.
3
+ * Creates the Vite plugin for the Vue DevTools panel. It adds a "Vue" dock
4
+ * group whose member iframe entries (Components, Timeline) each load the Vue
5
+ * DevTools applet page for one view. The applet UI runs in an iframe and
6
+ * connects to the inspected app over a broadcast-channel RPC bridge. The
7
+ * backend bridge (`devtools.init()` plus the RPC server) is injected into the
8
+ * app entry alongside the other panels' clients; see `src/index.ts`.
9
+ * Click-to-inspect and open-in-editor come from `@vue/devtools-applet`'s
10
+ * Components view itself, so this package adds no separate inspector plugin.
11
+ *
12
+ * @returns A Vite plugin that registers the Vue dock group and its entries.
12
13
  */
13
14
  export declare function createVueDevtoolsPlugin(): Plugin;
14
15
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/vue-devtools/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAkBlC;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CA4ChD"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/vue-devtools/plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAUlC;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAsChD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scayle/storefront-devtools",
3
- "version": "0.2.0-alpha.1",
3
+ "version": "0.2.0-alpha.2",
4
4
  "description": "Developer tooling orchestration for the SCAYLE Storefront Application V3",
5
5
  "author": "SCAYLE Commerce Engine",
6
6
  "license": "MIT",
@@ -9,7 +9,6 @@
9
9
  "sideEffects": [
10
10
  "./dist/inertia/client/index.mjs",
11
11
  "./dist/orpc/client/index.mjs",
12
- "./dist/resource-center/client/index.mjs",
13
12
  "./dist/vue-devtools/client/index.mjs"
14
13
  ],
15
14
  "exports": {
@@ -18,29 +17,13 @@
18
17
  "default": "./dist/index.mjs"
19
18
  },
20
19
  "./inertia/client": {
21
- "types": "./dist/inertia/client/index.d.mts",
20
+ "types": "./dist/inertia/client/index.d.ts",
22
21
  "default": "./dist/inertia/client/index.mjs"
23
22
  },
24
- "./inertia/renderer": {
25
- "types": "./dist/inertia/renderer/index.d.mts",
26
- "default": "./dist/inertia/renderer/index.mjs"
27
- },
28
- "./resource-center/client": {
29
- "types": "./dist/resource-center/client.d.ts",
30
- "default": "./dist/resource-center/client/index.mjs"
31
- },
32
23
  "./orpc/client": {
33
- "types": "./dist/orpc/client/index.d.mts",
24
+ "types": "./dist/orpc/client/index.d.ts",
34
25
  "default": "./dist/orpc/client/index.mjs"
35
26
  },
36
- "./orpc/renderer": {
37
- "types": "./dist/orpc/renderer/index.d.mts",
38
- "default": "./dist/orpc/renderer/index.mjs"
39
- },
40
- "./storefront/renderer": {
41
- "types": "./dist/storefront/renderer/index.d.mts",
42
- "default": "./dist/storefront/renderer/index.mjs"
43
- },
44
27
  "./vue-devtools/client": {
45
28
  "types": "./dist/vue-devtools/client.d.ts",
46
29
  "default": "./dist/vue-devtools/client/index.mjs"
@@ -55,8 +38,8 @@
55
38
  "node": ">= 24.0.0"
56
39
  },
57
40
  "dependencies": {
58
- "@vitejs/devtools": "0.7.5",
59
- "sirv": "3.0.2"
41
+ "@vitejs/devtools": "0.7.6",
42
+ "@vitejs/devtools-kit": "0.7.6"
60
43
  },
61
44
  "peerDependencies": {
62
45
  "@inertiajs/core": "^3.0.0",
@@ -67,30 +50,29 @@
67
50
  "devDependencies": {
68
51
  "@arethetypeswrong/cli": "0.18.5",
69
52
  "@inertiajs/core": "3.7.1",
70
- "@orpc/client": "1.15.3",
71
- "@vitejs/devtools-kit": "0.7.5",
53
+ "@orpc/client": "1.15.4",
72
54
  "@vitejs/plugin-vue": "6.0.9",
73
55
  "@scayle/eslint-config-storefront": "5.2.0",
74
56
  "@scayle/vitest-config-storefront": "1.0.0",
75
57
  "@types/node": "^24",
76
- "@vitest/coverage-v8": "5.0.1",
58
+ "@vitest/coverage-v8": "5.0.2",
77
59
  "@vue/devtools-applet": "8.2.1",
78
60
  "@vue/devtools-core": "8.2.1",
79
61
  "@vue/devtools-kit": "8.2.1",
80
62
  "@vue/devtools-ui": "8.2.1",
63
+ "devframe": "1.1.0",
81
64
  "eslint": "10.11.0",
82
65
  "eslint-formatter-gitlab": "7.2.0",
83
66
  "happy-dom": "20.14.5",
84
67
  "publint": "0.3.24",
85
68
  "typescript": "6.0.3",
86
- "vite": "8.3.0",
87
- "vite-plugin-css-injected-by-js": "5.0.2",
69
+ "vite": "8.3.1",
88
70
  "vite-plugin-dts": "5.1.1",
89
- "vitest": "5.0.1",
71
+ "vitest": "5.0.2",
90
72
  "vue": "3.5.43"
91
73
  },
92
74
  "scripts": {
93
- "build": "vite build && vite build --config vite.ui.config.ts && cp build/renderer-types.d.mts dist/inertia/renderer/index.d.mts && cp build/renderer-types.d.mts dist/orpc/renderer/index.d.mts && cp build/renderer-types.d.mts dist/storefront/renderer/index.d.mts && cp build/client-types.d.mts dist/inertia/client/index.d.mts && cp build/orpc-client-types.d.mts dist/orpc/client/index.d.mts",
75
+ "build": "vite build && vite build --config vite.ui.config.ts",
94
76
  "lint": "eslint .",
95
77
  "lint:ci": "eslint . --format gitlab",
96
78
  "lint:fix": "eslint . --fix",
@@ -1,61 +0,0 @@
1
- import { t as e } from "./panel-uV5ITqhY.mjs";
2
- import { Fragment as t, computed as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, defineComponent as s, normalizeStyle as c, openBlock as l, ref as u, renderList as d, resolveComponent as f, toDisplayString as p, withKeys as m, withModifiers as h } from "vue";
3
- //#region src/shared/TreeView.vue?vue&type=script&setup=true&lang.ts
4
- var g = { class: "sf-dt-tree" }, _ = [
5
- "role",
6
- "tabindex",
7
- "aria-expanded"
8
- ], v = { class: "sf-dt-tree-caret" }, y = { class: "sf-dt-tree-key" }, b = { class: "sf-dt-tree-preview" }, x = /*#__PURE__*/ e(/* @__PURE__ */ s({
9
- name: "TreeView",
10
- __name: "TreeView",
11
- props: {
12
- label: {},
13
- value: {},
14
- depth: {}
15
- },
16
- setup(e) {
17
- let s = e, x = n(() => s.depth ?? 0), S = u(!1), C = n(() => Array.isArray(s.value) ? "array" : s.value !== null && typeof s.value == "object" ? "object" : "primitive"), w = n(() => C.value === "array" ? s.value.map((e, t) => [String(t), e]) : C.value === "object" ? Object.entries(s.value) : []), T = n(() => C.value === "array" ? `Array(${s.value.length})` : C.value === "object" ? `{ ${Object.keys(s.value).length} }` : E(s.value));
18
- function E(e) {
19
- return typeof e == "string" ? `"${e}"` : String(e);
20
- }
21
- return (n, s) => {
22
- let u = f("TreeView", !0);
23
- return l(), a("div", g, [o("div", {
24
- class: "sf-dt-tree-row",
25
- style: c({ paddingLeft: `${x.value * 16}px` }),
26
- role: C.value === "primitive" ? void 0 : "button",
27
- tabindex: C.value === "primitive" ? void 0 : 0,
28
- "aria-expanded": C.value === "primitive" ? void 0 : S.value,
29
- onClick: s[0] ||= (e) => C.value !== "primitive" && (S.value = !S.value),
30
- onKeydown: [s[1] ||= m((e) => C.value !== "primitive" && (S.value = !S.value), ["enter"]), s[2] ||= m(h((e) => C.value !== "primitive" && (S.value = !S.value), ["prevent"]), ["space"])]
31
- }, [
32
- o("span", v, p(C.value === "primitive" ? "" : S.value ? "▾" : "▸"), 1),
33
- o("span", y, p(e.label) + ":", 1),
34
- o("span", b, p(T.value), 1)
35
- ], 44, _), S.value && C.value !== "primitive" ? (l(!0), a(t, { key: 0 }, d(w.value, ([e, t]) => (l(), r(u, {
36
- key: e,
37
- label: e,
38
- value: t,
39
- depth: x.value + 1
40
- }, null, 8, [
41
- "label",
42
- "value",
43
- "depth"
44
- ]))), 128)) : i("", !0)]);
45
- };
46
- }
47
- }), [["__scopeId", "data-v-dcfacad6"]]), S = { class: "sf-dt-header-table" }, C = { scope: "row" }, w = /*#__PURE__*/ e(/* @__PURE__ */ s({
48
- name: "HeaderTable",
49
- __name: "HeaderTable",
50
- props: { headers: {} },
51
- setup(e) {
52
- return (n, r) => (l(), a("table", S, [o("tbody", null, [(l(!0), a(t, null, d(e.headers, (e, t) => (l(), a("tr", { key: t }, [o("th", C, p(t), 1), o("td", null, p(e), 1)]))), 128))])]));
53
- }
54
- }), [["__scopeId", "data-v-d6d30a99"]]);
55
- //#endregion
56
- //#region src/shared/clipboard.ts
57
- function T(e) {
58
- typeof navigator < "u" && navigator.clipboard && navigator.clipboard.writeText(e);
59
- }
60
- //#endregion
61
- export { w as n, x as r, T as t };
@@ -1,169 +0,0 @@
1
- //#region src/inertia/core/features.ts
2
- function e(e) {
3
- return typeof e == "object" && !!e && Object.keys(e).length > 0;
4
- }
5
- function t(t) {
6
- let n = [], r = null;
7
- return e(t.deferredProps) ? r = t.deferredProps : e(t.initialDeferredProps) && (r = t.initialDeferredProps), r && n.push({
8
- type: "deferred",
9
- label: "DEFERRED",
10
- details: { groups: r }
11
- }), t.mergeProps?.length && n.push({
12
- type: "merge",
13
- label: "MERGE",
14
- details: { props: t.mergeProps }
15
- }), t.prependProps?.length && n.push({
16
- type: "prepend",
17
- label: "PREPEND",
18
- details: { props: t.prependProps }
19
- }), t.deepMergeProps?.length && n.push({
20
- type: "deep-merge",
21
- label: "DEEP MERGE",
22
- details: { props: t.deepMergeProps }
23
- }), e(t.scrollProps) && n.push({
24
- type: "scroll",
25
- label: "SCROLL",
26
- details: { props: t.scrollProps }
27
- }), e(t.onceProps) && n.push({
28
- type: "once",
29
- label: "ONCE",
30
- details: { props: t.onceProps }
31
- }), t.encryptHistory && n.push({
32
- type: "encrypted",
33
- label: "ENCRYPTED"
34
- }), t.clearHistory && n.push({
35
- type: "clear-history",
36
- label: "CLEAR HISTORY"
37
- }), e(t.flash) && n.push({
38
- type: "flash",
39
- label: "FLASH",
40
- details: { flash: t.flash }
41
- }), e(t.rememberedState) && n.push({
42
- type: "remember",
43
- label: "REMEMBER",
44
- details: { keys: Object.keys(t.rememberedState) }
45
- }), n;
46
- }
47
- function n(e, n) {
48
- let r = [];
49
- return e.type === "partial" && r.push({
50
- type: "partial",
51
- label: "PARTIAL"
52
- }), r.push(...t(n)), e.type === "prefetch" && r.push({
53
- type: "prefetch",
54
- label: "PREFETCH"
55
- }), !e.events.some((e) => e.name === "inertia:start") && e.startedAt > 0 && e.type !== "client" && r.push({
56
- type: "cached",
57
- label: "CACHED"
58
- }), r;
59
- }
60
- //#endregion
61
- //#region src/inertia/core/diff.ts
62
- function r(e, t) {
63
- if (!e && !t) return [];
64
- if (!e) return Object.entries(t).map(([e, t]) => ({
65
- type: "added",
66
- key: e,
67
- newValue: t
68
- }));
69
- if (!t) return Object.entries(e).map(([e, t]) => ({
70
- type: "removed",
71
- key: e,
72
- oldValue: t
73
- }));
74
- let n = /* @__PURE__ */ new Set([...Object.keys(e), ...Object.keys(t)]), r = [];
75
- for (let a of n) {
76
- let n = a in e, o = a in t, s = e[a], c = t[a];
77
- n ? o ? r.push(i(a, s, c)) : r.push({
78
- type: "removed",
79
- key: a,
80
- oldValue: s
81
- }) : r.push({
82
- type: "added",
83
- key: a,
84
- newValue: c
85
- });
86
- }
87
- return r.toSorted((e, t) => {
88
- let n = {
89
- added: 0,
90
- removed: 1,
91
- changed: 2,
92
- nested: 3,
93
- unchanged: 4
94
- }, r = n[e.type] - n[t.type];
95
- return r === 0 ? e.key.localeCompare(t.key) : r;
96
- });
97
- }
98
- function i(e, t, n) {
99
- if (o(t) && o(n)) {
100
- let i = r(t, n), a = i.some((e) => e.type !== "unchanged");
101
- return {
102
- type: a ? "nested" : "unchanged",
103
- key: e,
104
- newValue: n,
105
- children: a ? i : void 0
106
- };
107
- }
108
- return Array.isArray(t) && Array.isArray(n) ? a(e, t, n) : s(t, n) ? {
109
- type: "unchanged",
110
- key: e,
111
- newValue: n
112
- } : {
113
- type: "changed",
114
- key: e,
115
- oldValue: t,
116
- newValue: n
117
- };
118
- }
119
- function a(e, t, n) {
120
- let r = Math.max(t.length, n.length), a = [];
121
- for (let e = 0; e < r; e++) {
122
- let r = `[${e}]`;
123
- e >= t.length ? a.push({
124
- type: "added",
125
- key: r,
126
- newValue: n[e]
127
- }) : e >= n.length ? a.push({
128
- type: "removed",
129
- key: r,
130
- oldValue: t[e]
131
- }) : a.push(i(r, t[e], n[e]));
132
- }
133
- return a.every((e) => e.type === "unchanged") ? {
134
- type: "unchanged",
135
- key: e,
136
- newValue: n
137
- } : {
138
- type: "nested",
139
- key: e,
140
- newValue: n,
141
- children: a
142
- };
143
- }
144
- function o(e) {
145
- return typeof e == "object" && !!e && !Array.isArray(e);
146
- }
147
- function s(e, t) {
148
- return c(e, t, /* @__PURE__ */ new WeakSet());
149
- }
150
- function c(e, t, n) {
151
- if (e === t) return !0;
152
- if (e === null || t === null || typeof e != typeof t) return !1;
153
- if (typeof e == "object") {
154
- if (n.has(e) || n.has(t)) return !1;
155
- n.add(e), n.add(t);
156
- }
157
- try {
158
- if (Array.isArray(e) && Array.isArray(t)) return e.length === t.length && e.every((e, r) => c(e, t[r], n));
159
- if (o(e) && o(t)) {
160
- let r = Object.keys(e), i = Object.keys(t);
161
- return r.length === i.length && r.every((r) => c(e[r], t[r], n));
162
- }
163
- return !1;
164
- } finally {
165
- typeof e == "object" && (n.delete(e), n.delete(t));
166
- }
167
- }
168
- //#endregion
169
- export { t as i, r as n, n as r, s as t };
@@ -1,51 +0,0 @@
1
- import { createApp as e, onUnmounted as t, shallowRef as n } from "vue";
2
- //#region \0virtual:css-injected-by-js
3
- function r(e) {
4
- if (typeof globalThis < "u") {
5
- globalThis.__VITE_CSS_INJECT_OPTS__ = e || {};
6
- for (var t = globalThis.__VITE_CSS_QUEUE__ || [], n = globalThis.__VITE_CSS_EXECUTED__ || [], r = 0; r < n.length; r++) n[r](e || {});
7
- for (var r = 0; r < t.length; r++) t[r](e || {}), n.push(t[r]);
8
- globalThis.__VITE_CSS_QUEUE__ = [], globalThis.__VITE_CSS_EXECUTED__ = n;
9
- }
10
- }
11
- //#endregion
12
- //#region src/shared/mount-panel.ts
13
- function i(t, n) {
14
- let i, a;
15
- function o(t) {
16
- if (t === a) return;
17
- i?.unmount();
18
- let o = t.getRootNode();
19
- r({ target: o instanceof ShadowRoot ? o : document.head }), i = e(n), i.mount(t), a = t;
20
- }
21
- t.current.events.on("dom:panel:mounted", o);
22
- let s = t.current.domElements.panel;
23
- s && o(s);
24
- }
25
- //#endregion
26
- //#region src/shared/use-window-store.ts
27
- var a = 250;
28
- function o(e) {
29
- let r = n(null), i, o;
30
- function s(e) {
31
- r.value = e.getState(), i = e.subscribe((e) => {
32
- r.value = e;
33
- });
34
- }
35
- let c = e();
36
- return c ? s(c) : o = setInterval(() => {
37
- let t = e();
38
- t && (clearInterval(o), o = void 0, s(t));
39
- }, a), t(() => {
40
- i?.(), o && clearInterval(o);
41
- }), r;
42
- }
43
- //#endregion
44
- //#region \0plugin-vue:export-helper
45
- var s = (e, t) => {
46
- let n = e.__vccOpts || e;
47
- for (let [e, r] of t) n[e] = r;
48
- return n;
49
- };
50
- //#endregion
51
- export { o as n, i as r, s as t };
@@ -1,96 +0,0 @@
1
- function e(e) {
2
- return {
3
- save(t) {
4
- if (typeof sessionStorage < "u") try {
5
- sessionStorage.setItem(e, JSON.stringify(t));
6
- } catch {}
7
- },
8
- load() {
9
- if (typeof sessionStorage > "u") return null;
10
- try {
11
- let t = sessionStorage.getItem(e);
12
- if (!t) return null;
13
- let n = JSON.parse(t);
14
- return Date.now() - n.savedAt > 3e5 ? (sessionStorage.removeItem(e), null) : n;
15
- } catch {
16
- return null;
17
- }
18
- },
19
- clear() {
20
- typeof sessionStorage < "u" && sessionStorage.removeItem(e);
21
- }
22
- };
23
- }
24
- var t = /* @__PURE__ */ new Set(["cancelToken", "signal"]);
25
- function n(e) {
26
- if (e instanceof Date) return e.toISOString();
27
- if (e instanceof URL || e instanceof RegExp) return e.toString();
28
- if (e instanceof Error) return {
29
- message: e.message,
30
- name: e.name,
31
- stack: e.stack
32
- };
33
- }
34
- function r(e, n, r, a) {
35
- if (Array.isArray(e)) return e.map((e) => i(e, a, n - 1, r));
36
- if (e instanceof Set) return Array.from(e, (e) => i(e, a, n - 1, r));
37
- if (e instanceof Map) {
38
- let t = {};
39
- for (let [o, s] of e) t[String(o)] = i(s, a, n - 1, r);
40
- return t;
41
- }
42
- try {
43
- let o = {};
44
- for (let [s, c] of Object.entries(e)) typeof c == "function" || t.has(s) || (o[s] = a.redactKey?.(s) ? "[redacted]" : i(c, a, n - 1, r));
45
- return o;
46
- } catch {
47
- return String(e);
48
- }
49
- }
50
- function i(e, t = {}, i = 10, a = /* @__PURE__ */ new Set()) {
51
- if (typeof e != "object" || !e) return e;
52
- if (i <= 0) return "[too deep]";
53
- if (a.has(e)) return "[circular]";
54
- let o = n(e);
55
- if (o !== void 0) return o;
56
- a.add(e);
57
- try {
58
- return r(e, i, a, t);
59
- } finally {
60
- a.delete(e);
61
- }
62
- }
63
- function a(e) {
64
- if (e == null) return {};
65
- if (typeof e != "object") return { value: e };
66
- try {
67
- let t = {};
68
- for (let [n, r] of Object.entries(e)) t[n] = i(r);
69
- return t;
70
- } catch {
71
- return {};
72
- }
73
- }
74
- //#endregion
75
- //#region src/shared/redact.ts
76
- var o = /password|passphrase|secret|token|credential|authorization|apikey|api_key/i, s = { "auth.exchangeAuthCode": /* @__PURE__ */ new Set(["code"]) }, c = /* @__PURE__ */ new Set([
77
- "authorization",
78
- "cookie",
79
- "proxy-authorization",
80
- "x-api-key",
81
- "x-auth-token"
82
- ]);
83
- function l(e) {
84
- return o.test(e);
85
- }
86
- function u(e) {
87
- let t = s[e];
88
- return (e) => l(e) || (t?.has(e) ?? !1);
89
- }
90
- function d(e) {
91
- let t = {};
92
- for (let [n, r] of Object.entries(e)) c.has(n) || l(n) || (t[n] = r);
93
- return t;
94
- }
95
- //#endregion
96
- export { a, i, l as n, e as o, d as r, u as t };
@@ -1,10 +0,0 @@
1
- import { n as e } from "./panel-uV5ITqhY.mjs";
2
- //#region src/inertia/panel/useStore.ts
3
- function t() {
4
- return e(() => window.__STOREFRONT_DEVTOOLS_STORE__);
5
- }
6
- function n() {
7
- return window.__STOREFRONT_DEVTOOLS_STORE__;
8
- }
9
- //#endregion
10
- export { t as n, n as t };
@@ -1,13 +0,0 @@
1
- export {}
2
-
3
- declare global {
4
- interface Window {
5
- /**
6
- * The in-page devtools store, set by the injected client bootstrap. Typed
7
- * as `unknown` because this side-effect entry exposes no API. Consumers
8
- * `import '@scayle/storefront-devtools/inertia/client'` only to start
9
- * capture. The dock renderer reads the concrete store off `window`.
10
- */
11
- __STOREFRONT_DEVTOOLS_STORE__?: unknown
12
- }
13
- }
@@ -1,16 +0,0 @@
1
- import type { DockClientScriptContext } from '@vitejs/devtools-kit/client'
2
-
3
- /**
4
- * Custom-render entry that mounts a devtools panel's Vue app into the dock
5
- * panel DOM via `mountPanel` (see `src/shared/mount-panel.ts`). The Vite
6
- * DevTools dock imports this by module specifier at runtime. This
7
- * hand-authored declaration is the typed contract shared by the `./inertia/renderer`,
8
- * `./orpc/renderer`, and `./storefront/renderer` exports. The Vue UI each
9
- * renderer mounts has no emittable types and is excluded from declaration
10
- * generation.
11
- *
12
- * @param ctx - The dock client-script context provided by the Vite DevTools dock.
13
- */
14
- declare function setupRenderer(ctx: DockClientScriptContext): void
15
-
16
- export default setupRenderer