astro 3.5.3 → 3.5.5

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 (42) hide show
  1. package/components/Code.astro +6 -54
  2. package/components/ViewTransitions.astro +5 -2
  3. package/config.d.ts +2 -1
  4. package/dist/@types/astro.d.ts +3 -1
  5. package/dist/assets/services/noop.js +1 -0
  6. package/dist/core/app/index.js +7 -2
  7. package/dist/core/app/types.d.ts +1 -0
  8. package/dist/core/build/generate.js +5 -2
  9. package/dist/core/build/plugins/plugin-manifest.js +1 -0
  10. package/dist/core/build/plugins/plugin-prerender.js +4 -1
  11. package/dist/core/constants.js +1 -1
  12. package/dist/core/dev/dev.js +1 -1
  13. package/dist/core/errors/dev/vite.js +1 -1
  14. package/dist/core/logger/core.d.ts +1 -1
  15. package/dist/core/logger/core.js +3 -3
  16. package/dist/core/messages.js +2 -2
  17. package/dist/core/pipeline.d.ts +6 -0
  18. package/dist/core/pipeline.js +13 -0
  19. package/dist/core/preview/vite-plugin-astro-preview.js +2 -1
  20. package/dist/core/shiki.d.ts +2 -8
  21. package/dist/core/shiki.js +5 -24
  22. package/dist/i18n/middleware.d.ts +6 -1
  23. package/dist/i18n/middleware.js +21 -6
  24. package/dist/runtime/client/dev-overlay/entrypoint.js +155 -6
  25. package/dist/runtime/client/dev-overlay/overlay.d.ts +4 -0
  26. package/dist/runtime/client/dev-overlay/overlay.js +29 -11
  27. package/dist/runtime/client/dev-overlay/plugins/astro.js +9 -36
  28. package/dist/runtime/client/dev-overlay/plugins/settings.d.ts +8 -0
  29. package/dist/runtime/client/dev-overlay/plugins/settings.js +93 -0
  30. package/dist/runtime/client/dev-overlay/plugins/utils/window.d.ts +3 -0
  31. package/dist/runtime/client/dev-overlay/plugins/utils/window.js +45 -0
  32. package/dist/runtime/client/dev-overlay/settings.d.ts +12 -0
  33. package/dist/runtime/client/dev-overlay/settings.js +26 -0
  34. package/dist/runtime/client/dev-overlay/ui-library/icons.d.ts +2 -0
  35. package/dist/runtime/client/dev-overlay/ui-library/icons.js +3 -1
  36. package/dist/runtime/client/dev-overlay/ui-library/toggle.d.ts +8 -0
  37. package/dist/runtime/client/dev-overlay/ui-library/toggle.js +57 -0
  38. package/dist/runtime/client/dev-overlay/ui-library/window.js +36 -7
  39. package/dist/transitions/router.js +1 -1
  40. package/dist/vite-plugin-astro-server/plugin.js +1 -0
  41. package/dist/vite-plugin-astro-server/route.js +7 -2
  42. package/package.json +4 -4
@@ -1,4 +1,5 @@
1
1
  import {} from "./overlay.js";
2
+ import { settings } from "./settings.js";
2
3
  let overlay;
3
4
  document.addEventListener("DOMContentLoaded", async () => {
4
5
  const [
@@ -6,22 +7,28 @@ document.addEventListener("DOMContentLoaded", async () => {
6
7
  { default: astroDevToolPlugin },
7
8
  { default: astroAuditPlugin },
8
9
  { default: astroXrayPlugin },
10
+ { default: astroSettingsPlugin },
9
11
  { AstroDevOverlay, DevOverlayCanvas },
10
12
  { DevOverlayCard },
11
13
  { DevOverlayHighlight },
12
14
  { DevOverlayTooltip },
13
- { DevOverlayWindow }
15
+ { DevOverlayWindow },
16
+ { DevOverlayToggle },
17
+ { getIconElement, isDefinedIcon }
14
18
  ] = await Promise.all([
15
19
  // @ts-expect-error
16
20
  import("astro:dev-overlay"),
17
21
  import("./plugins/astro.js"),
18
22
  import("./plugins/audit.js"),
19
23
  import("./plugins/xray.js"),
24
+ import("./plugins/settings.js"),
20
25
  import("./overlay.js"),
21
26
  import("./ui-library/card.js"),
22
27
  import("./ui-library/highlight.js"),
23
28
  import("./ui-library/tooltip.js"),
24
- import("./ui-library/window.js")
29
+ import("./ui-library/window.js"),
30
+ import("./ui-library/toggle.js"),
31
+ import("./ui-library/icons.js")
25
32
  ]);
26
33
  customElements.define("astro-dev-overlay", AstroDevOverlay);
27
34
  customElements.define("astro-dev-overlay-window", DevOverlayWindow);
@@ -29,6 +36,7 @@ document.addEventListener("DOMContentLoaded", async () => {
29
36
  customElements.define("astro-dev-overlay-tooltip", DevOverlayTooltip);
30
37
  customElements.define("astro-dev-overlay-highlight", DevOverlayHighlight);
31
38
  customElements.define("astro-dev-overlay-card", DevOverlayCard);
39
+ customElements.define("astro-dev-overlay-toggle", DevOverlayToggle);
32
40
  overlay = document.createElement("astro-dev-overlay");
33
41
  const preparePlugin = (pluginDefinition, builtIn) => {
34
42
  const eventTarget = new EventTarget();
@@ -37,6 +45,7 @@ document.addEventListener("DOMContentLoaded", async () => {
37
45
  builtIn,
38
46
  active: false,
39
47
  status: "loading",
48
+ notification: { state: false },
40
49
  eventTarget
41
50
  };
42
51
  eventTarget.addEventListener("toggle-notification", (evt) => {
@@ -47,7 +56,10 @@ document.addEventListener("DOMContentLoaded", async () => {
47
56
  if (evt instanceof CustomEvent) {
48
57
  newState = evt.detail.state ?? true;
49
58
  }
50
- target.querySelector(".notification")?.toggleAttribute("data-active", newState);
59
+ plugin.notification.state = newState;
60
+ if (settings.config.disablePluginNotification === false) {
61
+ target.querySelector(".notification")?.toggleAttribute("data-active", newState);
62
+ }
51
63
  });
52
64
  eventTarget.addEventListener("toggle-plugin", async (evt) => {
53
65
  let newState = void 0;
@@ -58,11 +70,148 @@ document.addEventListener("DOMContentLoaded", async () => {
58
70
  });
59
71
  return plugin;
60
72
  };
73
+ const astromorePlugin = {
74
+ id: "astro:more",
75
+ name: "More",
76
+ icon: "dots-three",
77
+ init(canvas, eventTarget) {
78
+ const hiddenPlugins = plugins.filter((p) => !p.builtIn).slice(overlay.customPluginsToShow);
79
+ createDropdown();
80
+ document.addEventListener("astro:after-swap", createDropdown);
81
+ function createDropdown() {
82
+ const style = document.createElement("style");
83
+ style.innerHTML = `
84
+ #dropdown {
85
+ background: rgba(19, 21, 26, 1);
86
+ border: 1px solid rgba(52, 56, 65, 1);
87
+ border-radius: 12px;
88
+ box-shadow: 0px 0px 0px 0px rgba(19, 21, 26, 0.30), 0px 1px 2px 0px rgba(19, 21, 26, 0.29), 0px 4px 4px 0px rgba(19, 21, 26, 0.26), 0px 10px 6px 0px rgba(19, 21, 26, 0.15), 0px 17px 7px 0px rgba(19, 21, 26, 0.04), 0px 26px 7px 0px rgba(19, 21, 26, 0.01);
89
+ width: 180px;
90
+ padding: 8px;
91
+ z-index: 9999999999;
92
+ }
93
+
94
+ .notification {
95
+ display: none;
96
+ position: absolute;
97
+ top: -4px;
98
+ right: -6px;
99
+ width: 8px;
100
+ height: 8px;
101
+ border-radius: 9999px;
102
+ border: 1px solid rgba(19, 21, 26, 1);
103
+ background: #B33E66;
104
+ }
105
+
106
+ .notification[data-active] {
107
+ display: block;
108
+ }
109
+
110
+ #dropdown button {
111
+ border: 0;
112
+ background: transparent;
113
+ color: white;
114
+ font-family: system-ui, sans-serif;
115
+ font-size: 16px;
116
+ line-height: 1.2;
117
+ white-space: nowrap;
118
+ text-decoration: none;
119
+ margin: 0;
120
+ display: flex;
121
+ align-items: center;
122
+ width: 100%;
123
+ padding: 8px;
124
+ border-radius: 8px;
125
+ }
126
+
127
+ #dropdown button:hover, #dropdown button:focus-visible {
128
+ background: rgba(27, 30, 36, 1);
129
+ cursor: pointer;
130
+ }
131
+
132
+ #dropdown button.active {
133
+ background: rgba(71, 78, 94, 1);
134
+ }
135
+
136
+ #dropdown .icon {
137
+ position: relative;
138
+ height: 24px;
139
+ width: 24px;
140
+ margin-right: 0.5em;
141
+ }
142
+
143
+ #dropdown .icon svg {
144
+ max-height: 100%;
145
+ max-width: 100%;
146
+ }
147
+ `;
148
+ canvas.append(style);
149
+ const dropdown = document.createElement("div");
150
+ dropdown.id = "dropdown";
151
+ for (const plugin of hiddenPlugins) {
152
+ const buttonContainer = document.createElement("div");
153
+ buttonContainer.classList.add("item");
154
+ const button = document.createElement("button");
155
+ button.setAttribute("data-plugin-id", plugin.id);
156
+ const iconContainer = document.createElement("div");
157
+ const iconElement = getPluginIcon(plugin.icon);
158
+ iconContainer.append(iconElement);
159
+ const notification = document.createElement("div");
160
+ notification.classList.add("notification");
161
+ iconContainer.append(notification);
162
+ iconContainer.classList.add("icon");
163
+ button.append(iconContainer);
164
+ button.append(document.createTextNode(plugin.name));
165
+ button.addEventListener("click", () => {
166
+ overlay.togglePluginStatus(plugin);
167
+ });
168
+ buttonContainer.append(button);
169
+ dropdown.append(buttonContainer);
170
+ eventTarget.addEventListener("plugin-toggled", positionDropdown);
171
+ window.addEventListener("resize", positionDropdown);
172
+ plugin.eventTarget.addEventListener("toggle-notification", (evt) => {
173
+ if (!(evt instanceof CustomEvent))
174
+ return;
175
+ if (settings.config.disablePluginNotification === false) {
176
+ notification.toggleAttribute("data-active", evt.detail.state ?? true);
177
+ }
178
+ eventTarget.dispatchEvent(
179
+ new CustomEvent("toggle-notification", {
180
+ detail: {
181
+ state: hiddenPlugins.some((p) => p.notification.state === true)
182
+ }
183
+ })
184
+ );
185
+ });
186
+ }
187
+ canvas.append(dropdown);
188
+ function getPluginIcon(icon) {
189
+ if (isDefinedIcon(icon)) {
190
+ return getIconElement(icon);
191
+ }
192
+ return icon;
193
+ }
194
+ function positionDropdown() {
195
+ const moreButtonRect = overlay.shadowRoot.querySelector('[data-plugin-id="astro:more"]')?.getBoundingClientRect();
196
+ const dropdownRect = dropdown.getBoundingClientRect();
197
+ if (moreButtonRect && dropdownRect) {
198
+ dropdown.style.position = "absolute";
199
+ dropdown.style.top = `${moreButtonRect.top - dropdownRect.height - 12}px`;
200
+ dropdown.style.left = `${moreButtonRect.left + moreButtonRect.width - dropdownRect.width}px`;
201
+ }
202
+ }
203
+ }
204
+ }
205
+ };
61
206
  const customPluginsDefinitions = await loadDevOverlayPlugins();
62
207
  const plugins = [
63
- ...[astroDevToolPlugin, astroXrayPlugin, astroAuditPlugin].map(
64
- (pluginDef) => preparePlugin(pluginDef, true)
65
- ),
208
+ ...[
209
+ astroDevToolPlugin,
210
+ astroXrayPlugin,
211
+ astroAuditPlugin,
212
+ astroSettingsPlugin,
213
+ astromorePlugin
214
+ ].map((pluginDef) => preparePlugin(pluginDef, true)),
66
215
  ...customPluginsDefinitions.map((pluginDef) => preparePlugin(pluginDef, false))
67
216
  ];
68
217
  overlay.plugins = plugins;
@@ -4,6 +4,9 @@ export type DevOverlayPlugin = DevOverlayPluginDefinition & {
4
4
  builtIn: boolean;
5
5
  active: boolean;
6
6
  status: 'ready' | 'loading' | 'error';
7
+ notification: {
8
+ state: boolean;
9
+ };
7
10
  eventTarget: EventTarget;
8
11
  };
9
12
  export declare class AstroDevOverlay extends HTMLElement {
@@ -14,6 +17,7 @@ export declare class AstroDevOverlay extends HTMLElement {
14
17
  plugins: DevOverlayPlugin[];
15
18
  HOVER_DELAY: number;
16
19
  hasBeenInitialized: boolean;
20
+ customPluginsToShow: number;
17
21
  constructor();
18
22
  connectedCallback(): Promise<void>;
19
23
  attachEvents(): void;
@@ -1,3 +1,4 @@
1
+ import { settings } from "./settings.js";
1
2
  import { getIconElement, isDefinedIcon } from "./ui-library/icons.js";
2
3
  const WS_EVENT_NAME = "astro-dev-overlay";
3
4
  class AstroDevOverlay extends HTMLElement {
@@ -8,6 +9,7 @@ class AstroDevOverlay extends HTMLElement {
8
9
  plugins = [];
9
10
  HOVER_DELAY = 750;
10
11
  hasBeenInitialized = false;
12
+ customPluginsToShow = 3;
11
13
  constructor() {
12
14
  super();
13
15
  this.shadowRoot = this.attachShadow({ mode: "open" });
@@ -150,8 +152,8 @@ class AstroDevOverlay extends HTMLElement {
150
152
  #dev-bar .item .notification {
151
153
  display: none;
152
154
  position: absolute;
153
- top: -2px;
154
- right: 0;
155
+ top: -4px;
156
+ right: -6px;
155
157
  width: 8px;
156
158
  height: 8px;
157
159
  border-radius: 9999px;
@@ -221,9 +223,17 @@ class AstroDevOverlay extends HTMLElement {
221
223
  <div id="dev-overlay">
222
224
  <div id="dev-bar">
223
225
  <div id="bar-container">
224
- ${this.plugins.filter((plugin) => plugin.builtIn).map((plugin) => this.getPluginTemplate(plugin)).join("")}
226
+ ${this.plugins.filter(
227
+ (plugin) => plugin.builtIn && !["astro:settings", "astro:more"].includes(plugin.id)
228
+ ).map((plugin) => this.getPluginTemplate(plugin)).join("")}
229
+ ${this.plugins.filter((plugin) => !plugin.builtIn).length > 0 ? `<div class="separator"></div>${this.plugins.filter((plugin) => !plugin.builtIn).slice(0, this.customPluginsToShow).map((plugin) => this.getPluginTemplate(plugin)).join("")}` : ""}
230
+ ${this.plugins.filter((plugin) => !plugin.builtIn).length > this.customPluginsToShow ? this.getPluginTemplate(
231
+ this.plugins.find((plugin) => plugin.builtIn && plugin.id === "astro:more")
232
+ ) : ""}
225
233
  <div class="separator"></div>
226
- ${this.plugins.filter((plugin) => !plugin.builtIn).map((plugin) => this.getPluginTemplate(plugin)).join("")}
234
+ ${this.getPluginTemplate(
235
+ this.plugins.find((plugin) => plugin.builtIn && plugin.id === "astro:settings")
236
+ )}
227
237
  </div>
228
238
  </div>
229
239
  <button id="minimize-button">${getIconElement("arrow-down")?.outerHTML}</button>
@@ -233,7 +243,8 @@ class AstroDevOverlay extends HTMLElement {
233
243
  }
234
244
  this.plugins.forEach(async (plugin) => {
235
245
  if (!this.hasBeenInitialized) {
236
- console.log(`Creating plugin canvas for ${plugin.id}`);
246
+ if (settings.config.verbose)
247
+ console.log(`Creating plugin canvas for ${plugin.id}`);
237
248
  const pluginCanvas = document.createElement("astro-dev-overlay-plugin-canvas");
238
249
  pluginCanvas.dataset.pluginId = plugin.id;
239
250
  this.shadowRoot?.append(pluginCanvas);
@@ -287,7 +298,7 @@ class AstroDevOverlay extends HTMLElement {
287
298
  if (this.isHidden()) {
288
299
  this.hoverTimeout = window.setTimeout(() => {
289
300
  this.toggleOverlay(true);
290
- }, this.HOVER_DELAY);
301
+ }, this.HOVER_DELAY + 200);
291
302
  } else {
292
303
  this.hoverTimeout = window.setTimeout(() => {
293
304
  this.toggleMinimizeButton(true);
@@ -329,7 +340,8 @@ class AstroDevOverlay extends HTMLElement {
329
340
  return;
330
341
  const shadowRoot = this.getPluginCanvasById(plugin.id).shadowRoot;
331
342
  try {
332
- console.info(`Initializing plugin ${plugin.id}`);
343
+ if (settings.config.verbose)
344
+ console.info(`Initializing plugin ${plugin.id}`);
333
345
  await plugin.init?.(shadowRoot, plugin.eventTarget);
334
346
  plugin.status = "ready";
335
347
  if (import.meta.hot) {
@@ -374,10 +386,16 @@ class AstroDevOverlay extends HTMLElement {
374
386
  return;
375
387
  }
376
388
  plugin.active = newStatus ?? !plugin.active;
377
- const target = this.shadowRoot.querySelector(`[data-plugin-id="${plugin.id}"]`);
378
- if (!target)
379
- return;
380
- target.classList.toggle("active", plugin.active);
389
+ const mainBarButton = this.shadowRoot.querySelector(`[data-plugin-id="${plugin.id}"]`);
390
+ const moreBarButton = this.getPluginCanvasById("astro:more")?.shadowRoot?.querySelector(
391
+ `[data-plugin-id="${plugin.id}"]`
392
+ );
393
+ if (mainBarButton) {
394
+ mainBarButton.classList.toggle("active", plugin.active);
395
+ }
396
+ if (moreBarButton) {
397
+ moreBarButton.classList.toggle("active", plugin.active);
398
+ }
381
399
  pluginCanvas.style.display = plugin.active ? "block" : "none";
382
400
  window.requestAnimationFrame(() => {
383
401
  pluginCanvas.toggleAttribute("data-active", plugin.active);
@@ -1,3 +1,4 @@
1
+ import { createWindowWithTransition, waitForTransition } from "./utils/window.js";
1
2
  var astro_default = {
2
3
  id: "astro",
3
4
  name: "Astro",
@@ -6,35 +7,10 @@ var astro_default = {
6
7
  createWindow();
7
8
  document.addEventListener("astro:after-swap", createWindow);
8
9
  function createWindow() {
9
- const style = document.createElement("style");
10
- style.textContent = `
11
- :host {
12
- opacity: 0;
13
- transition: opacity 0.15s ease-in-out;
14
- }
15
-
16
- :host([data-active]) {
17
- opacity: 1;
18
- }
19
-
20
- @media screen and (prefers-reduced-motion: no-preference) {
21
- :host astro-dev-overlay-window {
22
- transform: translateY(55px) translate(-50%, -50%);
23
- transition: transform 0.15s ease-in-out;
24
- transform-origin: center bottom;
25
- }
26
-
27
- :host([data-active]) astro-dev-overlay-window {
28
- transform: translateY(0) translate(-50%, -50%);
29
- }
30
- }
31
- `;
32
- canvas.append(style);
33
- const astroWindow = document.createElement("astro-dev-overlay-window");
34
- astroWindow.windowTitle = "Astro";
35
- astroWindow.windowIcon = "astro:logo";
36
- astroWindow.innerHTML = `
37
- <style>
10
+ const window = createWindowWithTransition(
11
+ "Astro",
12
+ "astro:logo",
13
+ `<style>
38
14
  #buttons-container {
39
15
  display: flex;
40
16
  gap: 16px;
@@ -84,16 +60,13 @@ var astro_default = {
84
60
  <a href="https://astro.build" target="_blank">Visit the Astro website</a>
85
61
  </footer>
86
62
  </div>
87
- `;
88
- canvas.append(astroWindow);
63
+ `
64
+ );
65
+ canvas.append(window);
89
66
  }
90
67
  },
91
68
  async beforeTogglingOff(canvas) {
92
- canvas.host?.removeAttribute("data-active");
93
- await new Promise((resolve) => {
94
- canvas.host.addEventListener("transitionend", resolve);
95
- });
96
- return true;
69
+ return await waitForTransition(canvas);
97
70
  }
98
71
  };
99
72
  export {
@@ -0,0 +1,8 @@
1
+ declare const _default: {
2
+ id: string;
3
+ name: string;
4
+ icon: "gear";
5
+ init(canvas: ShadowRoot): void;
6
+ beforeTogglingOff(canvas: ShadowRoot): Promise<boolean>;
7
+ };
8
+ export default _default;
@@ -0,0 +1,93 @@
1
+ import { settings } from "../settings.js";
2
+ import { createWindowWithTransition, waitForTransition } from "./utils/window.js";
3
+ const settingsRows = [
4
+ {
5
+ name: "Disable notifications",
6
+ description: "Notification bubbles will not be shown when this is enabled.",
7
+ input: "checkbox",
8
+ settingKey: "disablePluginNotification",
9
+ changeEvent: (evt) => {
10
+ if (evt.currentTarget instanceof HTMLInputElement) {
11
+ settings.updateSetting("disablePluginNotification", evt.currentTarget.checked);
12
+ }
13
+ }
14
+ },
15
+ {
16
+ name: "Verbose logging",
17
+ description: "Log additional information to the console.",
18
+ input: "checkbox",
19
+ settingKey: "verbose",
20
+ changeEvent: (evt) => {
21
+ if (evt.currentTarget instanceof HTMLInputElement) {
22
+ settings.updateSetting("verbose", evt.currentTarget.checked);
23
+ }
24
+ }
25
+ }
26
+ ];
27
+ var settings_default = {
28
+ id: "astro:settings",
29
+ name: "Overlay settings",
30
+ icon: "gear",
31
+ init(canvas) {
32
+ createSettingsWindow();
33
+ document.addEventListener("astro:after-swap", createSettingsWindow);
34
+ function createSettingsWindow() {
35
+ const window = createWindowWithTransition(
36
+ "Settings",
37
+ "gear",
38
+ `<style>
39
+ h2, h3 {
40
+ margin-top: 0;
41
+ }
42
+
43
+ .setting-row {
44
+ display: flex;
45
+ justify-content: space-between;
46
+ align-items: center;
47
+ }
48
+
49
+ h3 {
50
+ font-size: 16px;
51
+ font-weight: 400;
52
+ color: white;
53
+ margin-bottom: 0;
54
+ }
55
+
56
+ label {
57
+ font-size: 15px;
58
+ line-height: 1.5rem;
59
+ }
60
+ </style>
61
+ <h2>General</h2>
62
+ `,
63
+ settingsRows.flatMap((setting) => [
64
+ getElementForSettingAsString(setting),
65
+ document.createElement("hr")
66
+ ])
67
+ );
68
+ canvas.append(window);
69
+ function getElementForSettingAsString(setting) {
70
+ const label = document.createElement("label");
71
+ label.classList.add("setting-row");
72
+ const section = document.createElement("section");
73
+ section.innerHTML = `<h3>${setting.name}</h3>${setting.description}`;
74
+ label.append(section);
75
+ switch (setting.input) {
76
+ case "checkbox": {
77
+ const astroToggle = document.createElement("astro-dev-overlay-toggle");
78
+ astroToggle.input.addEventListener("change", setting.changeEvent);
79
+ astroToggle.input.checked = settings.config[setting.settingKey];
80
+ label.append(astroToggle);
81
+ }
82
+ }
83
+ return label;
84
+ }
85
+ }
86
+ },
87
+ async beforeTogglingOff(canvas) {
88
+ return await waitForTransition(canvas);
89
+ }
90
+ };
91
+ export {
92
+ settings_default as default
93
+ };
@@ -0,0 +1,3 @@
1
+ import type { Icon } from '../../ui-library/icons.js';
2
+ export declare function createWindowWithTransition(title: string, icon: Icon, windowContent: string, addedNodes?: Node[]): DocumentFragment;
3
+ export declare function waitForTransition(canvas: ShadowRoot): Promise<boolean>;
@@ -0,0 +1,45 @@
1
+ function createWindowWithTransition(title, icon, windowContent, addedNodes = []) {
2
+ const fragment = document.createDocumentFragment();
3
+ const style = document.createElement("style");
4
+ style.textContent = `
5
+ :host {
6
+ opacity: 0;
7
+ transition: opacity 0.15s ease-in-out;
8
+ }
9
+
10
+ :host([data-active]) {
11
+ opacity: 1;
12
+ }
13
+
14
+ @media screen and (prefers-reduced-motion: no-preference) {
15
+ :host astro-dev-overlay-window {
16
+ transform: translateY(55px) translate(-50%, -50%);
17
+ transition: transform 0.15s ease-in-out;
18
+ transform-origin: center bottom;
19
+ }
20
+
21
+ :host([data-active]) astro-dev-overlay-window {
22
+ transform: translateY(0) translate(-50%, -50%);
23
+ }
24
+ }
25
+ `;
26
+ fragment.append(style);
27
+ const window = document.createElement("astro-dev-overlay-window");
28
+ window.windowTitle = title;
29
+ window.windowIcon = icon;
30
+ window.innerHTML = windowContent;
31
+ window.append(...addedNodes);
32
+ fragment.append(window);
33
+ return fragment;
34
+ }
35
+ async function waitForTransition(canvas) {
36
+ canvas.host?.removeAttribute("data-active");
37
+ await new Promise((resolve) => {
38
+ canvas.host.addEventListener("transitionend", resolve);
39
+ });
40
+ return true;
41
+ }
42
+ export {
43
+ createWindowWithTransition,
44
+ waitForTransition
45
+ };
@@ -0,0 +1,12 @@
1
+ export interface Settings {
2
+ disablePluginNotification: boolean;
3
+ verbose: boolean;
4
+ }
5
+ export declare const defaultSettings: {
6
+ disablePluginNotification: false;
7
+ verbose: false;
8
+ };
9
+ export declare const settings: {
10
+ readonly config: Settings;
11
+ updateSetting: (key: keyof Settings, value: boolean) => void;
12
+ };
@@ -0,0 +1,26 @@
1
+ const defaultSettings = {
2
+ disablePluginNotification: false,
3
+ verbose: false
4
+ };
5
+ const settings = getSettings();
6
+ function getSettings() {
7
+ let _settings = { ...defaultSettings };
8
+ const overlaySettings = localStorage.getItem("astro:dev-overlay:settings");
9
+ if (overlaySettings) {
10
+ _settings = { ..._settings, ...JSON.parse(overlaySettings) };
11
+ }
12
+ function updateSetting(key, value) {
13
+ _settings[key] = value;
14
+ localStorage.setItem("astro:dev-overlay:settings", JSON.stringify(_settings));
15
+ }
16
+ return {
17
+ get config() {
18
+ return _settings;
19
+ },
20
+ updateSetting
21
+ };
22
+ }
23
+ export {
24
+ defaultSettings,
25
+ settings
26
+ };
@@ -9,5 +9,7 @@ declare const icons: {
9
9
  readonly bug: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 25 24\"><path fill=\"#CCCED8\" d=\"M13.7916 8.25006c0-.29667.088-.58668.2528-.83335.1648-.24668.3991-.43893.6732-.55247.2741-.11353.5757-.14323.8667-.08536.2909.05788.5582.20074.768.41052s.3526.47706.4105.76803c.0579.29097.0282.59257-.0854.86666-.1135.27409-.3057.50836-.5524.67318-.2467.16482-.5367.25279-.8334.25279-.3978 0-.7793-.15803-1.0606-.43934-.2813-.2813-.4394-.66283-.4394-1.06066Zm-3.75-1.5c-.29665 0-.58666.08798-.83333.2528-.24667.16482-.43893.39909-.55246.67318-.11354.27409-.14324.57569-.08536.86666.05788.29097.20074.55824.41052.76802.20977.20978.47705.35264.76802.41052.29101.05788.59261.02817.86671-.08536.274-.11353.5083-.30579.6731-.55246.1649-.24668.2528-.53668.2528-.83336 0-.39782-.158-.77935-.4393-1.06066-.2813-.2813-.6628-.43934-1.0607-.43934Zm11.25 6.75004c.0003.6512-.0733 1.3003-.2193 1.935l1.7953.7837c.1354.0592.2578.1445.3603.2511.1024.1065.1829.2322.2368.3698.0539.1377.0801.2846.0772.4323-.0028.1478-.0348.2936-.094.429-.0592.1354-.1446.2579-.2511.3603-.1065.1025-.2322.1829-.3698.2368-.1377.0539-.2846.0802-.4323.0773-.1478-.0029-.2936-.0349-.429-.0941l-1.6875-.7359c-.7348 1.3818-1.8317 2.5377-3.1732 3.3437s-2.8771 1.2319-4.4421 1.2319c-1.5651 0-3.10061-.4259-4.44213-1.2319-1.34151-.806-2.43843-1.9619-3.17321-3.3437l-1.6875.7359c-.13542.0592-.28119.0912-.42896.0941-.14778.0029-.29468-.0234-.43232-.0773-.13763-.0539-.2633-.1343-.36984-.2368-.10653-.1024-.19185-.2249-.25106-.3603-.05922-.1354-.09119-.2812-.09407-.429-.00289-.1477.02336-.2946.07725-.4323.05389-.1376.13436-.2633.23681-.3698.10246-.1066.22489-.1919.36032-.2511l1.79531-.7837c-.14354-.635-.21462-1.2841-.21187-1.935v-.375h-1.875c-.29837 0-.58452-.1186-.7955-.3295-.21098-.211-.3295-.4972-.3295-.7955 0-.2984.11852-.5846.3295-.7955.21098-.211.49713-.3295.7955-.3295h1.875v-.375c-.00029-.65126.0733-1.30041.21937-1.93504l-1.79531-.78375c-.27351-.11959-.4883-.34294-.59713-.6209-.10883-.27797-.10278-.58778.01682-.86128.11959-.27351.34294-.4883.6209-.59713.27797-.10883.58778-.10278.86128.01681l1.6875.73594c.73478-1.38183 1.8317-2.53769 3.17321-3.34373 1.34152-.80604 2.87703-1.23187 4.44213-1.23187 1.565 0 3.1006.42583 4.4421 1.23187 1.3415.80604 2.4384 1.9619 3.1732 3.34373l1.6875-.73594c.1354-.05921.2812-.09118.429-.09406.1477-.00289.2946.02336.4323.07725.1376.05389.2633.13435.3698.23681.1065.10245.1919.22489.2511.36032.0592.13542.0912.28118.094.42896.0029.14778-.0233.29468-.0772.43232-.0539.13763-.1344.2633-.2368.36984-.1025.10653-.2249.19185-.3603.25106l-1.7953.78375c.1435.63492.2146 1.28407.2118 1.93504v.375h1.875c.2984 0 .5845.1185.7955.3295.211.2109.3295.4971.3295.7955 0 .2983-.1185.5845-.3295.7955-.211.2109-.4971.3295-.7955.3295h-1.875v.375Zm-14.99997-2.625H19.0416v-.375c0-1.69079-.6716-3.3123-1.8672-4.50784-1.1955-1.19555-2.817-1.8672-4.5078-1.8672-1.6907 0-3.31224.67165-4.50778 1.8672C6.96328 7.1878 6.29163 8.80931 6.29163 10.5001v.375Zm5.24997 8.8987v-6.6487H6.29163v.375c.00211 1.4949.52876 2.9417 1.48816 4.0882.95939 1.1464 2.29071 1.9199 3.76181 2.1855Zm7.5-6.2737v-.375h-5.25v6.6487c1.4712-.2656 2.8025-1.0391 3.7619-2.1855.9594-1.1465 1.486-2.5933 1.4881-4.0882Z\"/></svg>";
10
10
  readonly 'file-search': "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 25 24\"><path fill=\"#CCCED8\" d=\"m20.6293 7.455-5.25-5.25c-.1045-.10461-.2285-.1876-.3651-.24422-.1366-.05662-.283-.08577-.4308-.08578H5.58337c-.49728 0-.97419.19754-1.32582.54917-.35163.35164-.54918.82855-.54918 1.32583v16.5c0 .4973.19755.9742.54918 1.3258.35163.3517.82854.5492 1.32582.5492H19.0834c.4973 0 .9742-.1975 1.3258-.5492.3516-.3516.5492-.8285.5492-1.3258v-12c0-.29813-.1184-.58407-.3291-.795Zm-3.1397.045h-2.1562V5.34375L17.4896 7.5ZM5.95837 19.875V4.125h7.12503v4.5c0 .29837.1185.58452.3295.7955.211.21097.4971.3295.7955.3295h4.5v10.125H5.95837Zm9.04503-4.5459c.3426-.7185.4202-1.5349.2192-2.3051-.2011-.7702-.6679-1.4445-1.3179-1.9038-.65-.4594-1.4415-.6742-2.2346-.6066-.7931.0677-1.5368.4135-2.0996.9763-.56283.5629-.90863 1.3065-.9763 2.0996-.06766.7931.14716 1.5846.60651 2.2346.45936.6501 1.13369 1.1169 1.90389 1.3179.7701.201 1.5866.1234 2.305-.2192l1.125 1.125c.2114.2114.498.3301.7969.3301.2989 0 .5855-.1187.7969-.3301.2113-.2113.3301-.498.3301-.7969 0-.2988-.1188-.5855-.3301-.7968l-1.125-1.125Zm-4.17-1.4541c0-.2225.066-.44.1896-.625.1236-.185.2993-.3292.5049-.4144.2055-.0851.4317-.1074.65-.064.2182.0434.4186.1506.576.3079.1573.1573.2644.3578.3079.576.0434.2183.0211.4445-.0641.65-.0851.2056-.2293.3813-.4143.5049-.185.1236-.4025.1896-.625.1896-.2984 0-.5845-.1185-.7955-.3295-.211-.211-.3295-.4971-.3295-.7955Z\"/></svg>";
11
11
  readonly 'check-circle': "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 14\"><path fill=\"#fff\" d=\"M10.0306 4.96938c.0699.06967.1254.15247.1633.24363.0378.09116.0573.1889.0573.28762 0 .09871-.0195.19645-.0573.28761-.0379.09116-.0934.17396-.1633.24364L6.53063 9.53187c-.06968.06992-.15247.1254-.24364.16326-.09116.03785-.1889.05734-.28761.05734-.09871 0-.19645-.01949-.28762-.05734-.09116-.03786-.17395-.09334-.24363-.16326l-1.5-1.5c-.06977-.06976-.12511-.15258-.16286-.24373-.03776-.09116-.05719-.18885-.05719-.28752 0-.09866.01943-.19635.05719-.28751.03775-.09115.09309-.17397.16286-.24373.06976-.06977.15259-.12511.24374-.16287.09115-.03775.18885-.05719.28751-.05719s.19636.01944.28751.05719c.09115.03776.17397.0931.24374.16287L6 7.9375l2.96938-2.97c.06978-.06961.15259-.12478.24371-.16237.09111-.03758.18874-.05683.2873-.05666.09856.00018.19612.01978.28711.05768.09098.0379.1736.09337.2431.16323ZM13.75 7c0 1.33502-.3959 2.64007-1.1376 3.7501-.7417 1.11-1.7959 1.9752-3.02928 2.4861-1.23341.5109-2.5906.6446-3.89998.3841-1.30937-.2605-2.5121-.9033-3.45611-1.8473-.944-.944-1.586877-2.14677-1.847328-3.45614-.26045-1.30937-.126777-2.66657.384114-3.89997C1.27471 3.18349 2.13987 2.12928 3.2499 1.38758 4.35994.645881 5.66498.25 7 .25c1.78961.001985 3.5053.713781 4.7708 1.97922C13.0362 3.49466 13.748 5.2104 13.75 7Zm-1.5 0c0-1.03835-.3079-2.05339-.8848-2.91674-.5769-.86336-1.3968-1.53627-2.35611-1.93363-.95931-.39736-2.01491-.50133-3.03331-.29875-1.0184.20257-1.95386.70258-2.68809 1.43681-.73422.73422-1.23424 1.66969-1.43681 2.68809-.20257 1.0184-.0986 2.074.29876 3.03331.39736.95931 1.07026 1.77921 1.93362 2.35611.86336.5769 1.87839.8848 2.91674.8848 1.39193-.0015 2.72643-.5551 3.7107-1.5393C11.6949 9.72642 12.2485 8.39193 12.25 7Z\"/></svg>";
12
+ readonly gear: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 22 22\"><path fill=\"#fff\" d=\"M11 6.12507c-.9642 0-1.90671.28592-2.7084.82159-.80169.53567-1.42653 1.29704-1.79551 2.18783-.36898.89081-.46552 1.87101-.27742 2.81661.18811.9457.6524 1.8143 1.33419 2.4961.68178.6818 1.55042 1.1461 2.49604 1.3342.9457.1881 1.9259.0916 2.8167-.2774s1.6521-.9938 2.1878-1.7955c.5357-.8017.8216-1.7442.8216-2.7084-.0015-1.2925-.5156-2.53161-1.4295-3.44553-.9139-.91392-2.153-1.42801-3.4455-1.4295Zm0 7.50003c-.5192 0-1.02669-.154-1.45837-.4424-.43168-.2885-.76813-.6984-.96681-1.1781-.19868-.4796-.25067-1.0074-.14938-1.5166.10129-.50924.35129-.97697.71841-1.34408.36711-.36712.83484-.61712 1.34405-.71841.5092-.10129 1.037-.0493 1.5166.14938.4797.19868.8897.53513 1.1781.96681.2884.43168.4424.9392.4424 1.4584 0 .6962-.2766 1.3638-.7688 1.8561-.4923.4923-1.16.7689-1.8562.7689Zm8.625-2.551v-.1481l1.3125-1.64155c.1102-.13755.1865-.29905.2228-.4715s.0316-.35102-.0137-.52131c-.2369-.89334-.5909-1.75142-1.0528-2.55188-.089-.15264-.2127-.28218-.3611-.37811-.1484-.09594-.3173-.15557-.493-.17408l-2.0888-.23437-.104-.10406-.2344-2.08969c-.0186-.17556-.0783-.34426-.1743-.49247-.0959-.1482-.2254-.27175-.3779-.36066-.8005-.46341-1.6589-.81869-2.5528-1.056559-.1704-.044683-.349-.048704-.5213-.01174-.1723.036965-.3335.113881-.4706.224549l-1.6415 1.3125h-.1482l-1.64152-1.3125C9.14683.9524 8.98532.87608 8.81288.839767c-.17245-.036314-.35102-.031606-.52132.013744-.89357.238319-1.75165.593909-2.55187 1.057499-.15205.08854-.28121.2115-.37712.35901-.0959.14752-.15586.31547-.17507.49037l-.23437 2.08875-.10407.10406-2.08968.23437c-.17556.01865-.34426.07835-.49247.17428-.14821.09593-.27176.22539-.36066.37791-.46211.80072-.81613 1.65912-1.052812 2.55281-.045195.17016-.049823.34855-.013512.52082.03631.17227.112546.33362.222574.47106L2.375 10.926v.1481l-1.3125 1.6416c-.110173.1375-.186492.299-.222806.4715-.036313.1724-.031605.351.013744.5213.238622.8936.594522 1.7517 1.058442 2.5519.08844.1519.21126.281.3586.3769.14734.0959.3151.1559.48983.1753l2.08875.2325.10407.104.23437 2.0916c.01865.1756.07835.3443.17428.4925.09592.1482.22538.2717.37791.3606.80052.4634 1.65893.8187 2.55281 1.0566.17045.0447.349.0487.52129.0117.17228-.0369.33347-.1139.47059-.2245l1.64152-1.3125h.1482l1.6415 1.3125c.1376.1101.2991.1865.4715.2228.1725.0363.351.0316.5213-.0138.8934-.2368 1.7514-.5908 2.5519-1.0528.1524-.0883.2819-.2112.3782-.3587.0962-.1475.1565-.3156.1759-.4907l.2325-2.0887.104-.1041 2.0897-.239c.1751-.0194.3432-.0797.4907-.1759.1475-.0963.2704-.2258.3587-.3782.4634-.8005.8187-1.6589 1.0566-2.5528.0448-.1699.0493-.3479.013-.5198-.0363-.172-.1124-.333-.2221-.4702l-1.3125-1.6416Zm-2.2612-.4584c.015.256.015.5127 0 .7687-.0168.2784.0704.553.2446.7707l1.2038 1.5047c-.1136.3363-.2492.6648-.406.9834l-1.9153.2128c-.2773.0317-.5329.1654-.7171.375-.1704.1919-.3519.3735-.5438.5438-.2096.1842-.3433.4398-.375.7171l-.2119 1.9144c-.3185.1574-.647.2936-.9834.4078l-1.5047-1.2047c-.1997-.1593-.4477-.2459-.7031-.2456h-.0675c-.2561.015-.5127.015-.7688 0-.2781-.0165-.5525.0703-.7706.2438l-1.50469 1.2047c-.33634-.1137-.66486-.2493-.98343-.406l-.21282-1.9153c-.0317-.2773-.16536-.5329-.375-.7172-.19187-.1703-.37344-.3519-.54375-.5437-.18426-.2097-.43988-.3433-.71718-.375l-1.91438-.2119c-.15734-.3185-.29357-.647-.40781-.9834l1.20375-1.5047c.17424-.2177.26144-.4923.24469-.7707-.01501-.256-.01501-.5127 0-.7687.01675-.2783-.07045-.553-.24469-.77063L3.18781 8.34038c.11364-.33634.24924-.66486.40594-.98343l1.91531-.21281c.27731-.03171.53292-.16537.71719-.375.17031-.19188.35188-.37345.54375-.54375.20964-.18427.3433-.43989.375-.71719l.21188-1.91438c.31852-.15734.64704-.29357.98343-.40781L9.845 4.3907c.2181.17343.4925.26023.7706.24375.2561-.015.5127-.015.7688 0 .2782.01701.5528-.06985.7706-.24375l1.5047-1.20469c.3364.11424.6649.25047.9834.40781l.2128 1.91532c.0317.2773.1654.53292.375.71718.1919.17031.3735.35188.5438.54375.1843.20964.4399.3433.7172.375l1.9143.21188c.1574.31852.2936.64704.4079.98343l-1.2038 1.50469c-.1749.21743-.2628.49203-.2465.77063Z\"/></svg>";
13
+ readonly 'dots-three': "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 4\"><path fill=\"#fff\" d=\"M9.5 2c0 .29667-.08797.58668-.2528.83336-.16482.24667-.39908.43893-.67317.55246-.27409.11353-.57569.14324-.86666.08536-.29098-.05788-.55825-.20074-.76803-.41052-.20978-.20978-.35264-.47705-.41052-.76802-.05788-.29098-.02817-.59258.08536-.86666.11353-.27409.30579-.508362.55247-.673184C7.41332.587974 7.70333.5 8 .5c.39783 0 .77936.158036 1.06066.43934C9.34196 1.22064 9.5 1.60218 9.5 2ZM1.625.5c-.29667 0-.58668.087974-.833354.252796-.246674.164822-.438933.399094-.552465.673184-.113531.27408-.1432361.57568-.085358.86666.057878.29097.200739.55824.410518.76802.209778.20978.477049.35264.768029.41052.29097.05788.59257.02817.86666-.08536.27408-.11353.50835-.30579.67318-.55246C3.03703 2.58668 3.125 2.29667 3.125 2c0-.39782-.15803-.77936-.43934-1.06066C2.40436.658036 2.02283.5 1.625.5Zm12.75 0c-.2967 0-.5867.087974-.8334.252796-.2466.164822-.4389.399094-.5524.673184-.1135.27408-.1433.57568-.0854.86666.0579.29097.2008.55824.4105.76802.2098.20978.4771.35264.7681.41052.2909.05788.5925.02817.8666-.08536s.5084-.30579.6732-.55246c.1648-.24668.2528-.53669.2528-.83336 0-.39782-.158-.77936-.4393-1.06066C15.1544.658036 14.7728.5 14.375.5Z\"/></svg>";
12
14
  };
13
15
  export {};
@@ -16,7 +16,9 @@ const icons = {
16
16
  "arrow-down": '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 12 14"><path fill="#13151A" d="m11.0306 8.53063-4.5 4.49997c-.06968.0699-.15247.1254-.24364.1633-.09116.0378-.1889.0573-.28761.0573-.09871 0-.19645-.0195-.28762-.0573-.09116-.0379-.17395-.0934-.24363-.1633L.968098 8.53063c-.140896-.1409-.220051-.332-.220051-.53125 0-.19926.079155-.39036.220051-.53125.140892-.1409.331992-.22006.531252-.22006.19926 0 .39035.07916.53125.22006l3.21937 3.21937V1.5c0-.19891.07902-.38968.21967-.53033C5.61029.829018 5.80106.75 5.99997.75c.19891 0 .38968.079018.53033.21967.14065.14065.21967.33142.21967.53033v9.1875l3.21938-3.22c.14085-.1409.33195-.22005.53125-.22005.1993 0 .3904.07915.5312.22005.1409.1409.2201.33199.2201.53125s-.0792.39035-.2201.53125l-.0012.00063Z"/></svg>',
17
17
  bug: '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 25 24"><path fill="#CCCED8" d="M13.7916 8.25006c0-.29667.088-.58668.2528-.83335.1648-.24668.3991-.43893.6732-.55247.2741-.11353.5757-.14323.8667-.08536.2909.05788.5582.20074.768.41052s.3526.47706.4105.76803c.0579.29097.0282.59257-.0854.86666-.1135.27409-.3057.50836-.5524.67318-.2467.16482-.5367.25279-.8334.25279-.3978 0-.7793-.15803-1.0606-.43934-.2813-.2813-.4394-.66283-.4394-1.06066Zm-3.75-1.5c-.29665 0-.58666.08798-.83333.2528-.24667.16482-.43893.39909-.55246.67318-.11354.27409-.14324.57569-.08536.86666.05788.29097.20074.55824.41052.76802.20977.20978.47705.35264.76802.41052.29101.05788.59261.02817.86671-.08536.274-.11353.5083-.30579.6731-.55246.1649-.24668.2528-.53668.2528-.83336 0-.39782-.158-.77935-.4393-1.06066-.2813-.2813-.6628-.43934-1.0607-.43934Zm11.25 6.75004c.0003.6512-.0733 1.3003-.2193 1.935l1.7953.7837c.1354.0592.2578.1445.3603.2511.1024.1065.1829.2322.2368.3698.0539.1377.0801.2846.0772.4323-.0028.1478-.0348.2936-.094.429-.0592.1354-.1446.2579-.2511.3603-.1065.1025-.2322.1829-.3698.2368-.1377.0539-.2846.0802-.4323.0773-.1478-.0029-.2936-.0349-.429-.0941l-1.6875-.7359c-.7348 1.3818-1.8317 2.5377-3.1732 3.3437s-2.8771 1.2319-4.4421 1.2319c-1.5651 0-3.10061-.4259-4.44213-1.2319-1.34151-.806-2.43843-1.9619-3.17321-3.3437l-1.6875.7359c-.13542.0592-.28119.0912-.42896.0941-.14778.0029-.29468-.0234-.43232-.0773-.13763-.0539-.2633-.1343-.36984-.2368-.10653-.1024-.19185-.2249-.25106-.3603-.05922-.1354-.09119-.2812-.09407-.429-.00289-.1477.02336-.2946.07725-.4323.05389-.1376.13436-.2633.23681-.3698.10246-.1066.22489-.1919.36032-.2511l1.79531-.7837c-.14354-.635-.21462-1.2841-.21187-1.935v-.375h-1.875c-.29837 0-.58452-.1186-.7955-.3295-.21098-.211-.3295-.4972-.3295-.7955 0-.2984.11852-.5846.3295-.7955.21098-.211.49713-.3295.7955-.3295h1.875v-.375c-.00029-.65126.0733-1.30041.21937-1.93504l-1.79531-.78375c-.27351-.11959-.4883-.34294-.59713-.6209-.10883-.27797-.10278-.58778.01682-.86128.11959-.27351.34294-.4883.6209-.59713.27797-.10883.58778-.10278.86128.01681l1.6875.73594c.73478-1.38183 1.8317-2.53769 3.17321-3.34373 1.34152-.80604 2.87703-1.23187 4.44213-1.23187 1.565 0 3.1006.42583 4.4421 1.23187 1.3415.80604 2.4384 1.9619 3.1732 3.34373l1.6875-.73594c.1354-.05921.2812-.09118.429-.09406.1477-.00289.2946.02336.4323.07725.1376.05389.2633.13435.3698.23681.1065.10245.1919.22489.2511.36032.0592.13542.0912.28118.094.42896.0029.14778-.0233.29468-.0772.43232-.0539.13763-.1344.2633-.2368.36984-.1025.10653-.2249.19185-.3603.25106l-1.7953.78375c.1435.63492.2146 1.28407.2118 1.93504v.375h1.875c.2984 0 .5845.1185.7955.3295.211.2109.3295.4971.3295.7955 0 .2983-.1185.5845-.3295.7955-.211.2109-.4971.3295-.7955.3295h-1.875v.375Zm-14.99997-2.625H19.0416v-.375c0-1.69079-.6716-3.3123-1.8672-4.50784-1.1955-1.19555-2.817-1.8672-4.5078-1.8672-1.6907 0-3.31224.67165-4.50778 1.8672C6.96328 7.1878 6.29163 8.80931 6.29163 10.5001v.375Zm5.24997 8.8987v-6.6487H6.29163v.375c.00211 1.4949.52876 2.9417 1.48816 4.0882.95939 1.1464 2.29071 1.9199 3.76181 2.1855Zm7.5-6.2737v-.375h-5.25v6.6487c1.4712-.2656 2.8025-1.0391 3.7619-2.1855.9594-1.1465 1.486-2.5933 1.4881-4.0882Z"/></svg>',
18
18
  "file-search": '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 25 24"><path fill="#CCCED8" d="m20.6293 7.455-5.25-5.25c-.1045-.10461-.2285-.1876-.3651-.24422-.1366-.05662-.283-.08577-.4308-.08578H5.58337c-.49728 0-.97419.19754-1.32582.54917-.35163.35164-.54918.82855-.54918 1.32583v16.5c0 .4973.19755.9742.54918 1.3258.35163.3517.82854.5492 1.32582.5492H19.0834c.4973 0 .9742-.1975 1.3258-.5492.3516-.3516.5492-.8285.5492-1.3258v-12c0-.29813-.1184-.58407-.3291-.795Zm-3.1397.045h-2.1562V5.34375L17.4896 7.5ZM5.95837 19.875V4.125h7.12503v4.5c0 .29837.1185.58452.3295.7955.211.21097.4971.3295.7955.3295h4.5v10.125H5.95837Zm9.04503-4.5459c.3426-.7185.4202-1.5349.2192-2.3051-.2011-.7702-.6679-1.4445-1.3179-1.9038-.65-.4594-1.4415-.6742-2.2346-.6066-.7931.0677-1.5368.4135-2.0996.9763-.56283.5629-.90863 1.3065-.9763 2.0996-.06766.7931.14716 1.5846.60651 2.2346.45936.6501 1.13369 1.1169 1.90389 1.3179.7701.201 1.5866.1234 2.305-.2192l1.125 1.125c.2114.2114.498.3301.7969.3301.2989 0 .5855-.1187.7969-.3301.2113-.2113.3301-.498.3301-.7969 0-.2988-.1188-.5855-.3301-.7968l-1.125-1.125Zm-4.17-1.4541c0-.2225.066-.44.1896-.625.1236-.185.2993-.3292.5049-.4144.2055-.0851.4317-.1074.65-.064.2182.0434.4186.1506.576.3079.1573.1573.2644.3578.3079.576.0434.2183.0211.4445-.0641.65-.0851.2056-.2293.3813-.4143.5049-.185.1236-.4025.1896-.625.1896-.2984 0-.5845-.1185-.7955-.3295-.211-.211-.3295-.4971-.3295-.7955Z"/></svg>',
19
- "check-circle": '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14"><path fill="#fff" d="M10.0306 4.96938c.0699.06967.1254.15247.1633.24363.0378.09116.0573.1889.0573.28762 0 .09871-.0195.19645-.0573.28761-.0379.09116-.0934.17396-.1633.24364L6.53063 9.53187c-.06968.06992-.15247.1254-.24364.16326-.09116.03785-.1889.05734-.28761.05734-.09871 0-.19645-.01949-.28762-.05734-.09116-.03786-.17395-.09334-.24363-.16326l-1.5-1.5c-.06977-.06976-.12511-.15258-.16286-.24373-.03776-.09116-.05719-.18885-.05719-.28752 0-.09866.01943-.19635.05719-.28751.03775-.09115.09309-.17397.16286-.24373.06976-.06977.15259-.12511.24374-.16287.09115-.03775.18885-.05719.28751-.05719s.19636.01944.28751.05719c.09115.03776.17397.0931.24374.16287L6 7.9375l2.96938-2.97c.06978-.06961.15259-.12478.24371-.16237.09111-.03758.18874-.05683.2873-.05666.09856.00018.19612.01978.28711.05768.09098.0379.1736.09337.2431.16323ZM13.75 7c0 1.33502-.3959 2.64007-1.1376 3.7501-.7417 1.11-1.7959 1.9752-3.02928 2.4861-1.23341.5109-2.5906.6446-3.89998.3841-1.30937-.2605-2.5121-.9033-3.45611-1.8473-.944-.944-1.586877-2.14677-1.847328-3.45614-.26045-1.30937-.126777-2.66657.384114-3.89997C1.27471 3.18349 2.13987 2.12928 3.2499 1.38758 4.35994.645881 5.66498.25 7 .25c1.78961.001985 3.5053.713781 4.7708 1.97922C13.0362 3.49466 13.748 5.2104 13.75 7Zm-1.5 0c0-1.03835-.3079-2.05339-.8848-2.91674-.5769-.86336-1.3968-1.53627-2.35611-1.93363-.95931-.39736-2.01491-.50133-3.03331-.29875-1.0184.20257-1.95386.70258-2.68809 1.43681-.73422.73422-1.23424 1.66969-1.43681 2.68809-.20257 1.0184-.0986 2.074.29876 3.03331.39736.95931 1.07026 1.77921 1.93362 2.35611.86336.5769 1.87839.8848 2.91674.8848 1.39193-.0015 2.72643-.5551 3.7107-1.5393C11.6949 9.72642 12.2485 8.39193 12.25 7Z"/></svg>'
19
+ "check-circle": '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14"><path fill="#fff" d="M10.0306 4.96938c.0699.06967.1254.15247.1633.24363.0378.09116.0573.1889.0573.28762 0 .09871-.0195.19645-.0573.28761-.0379.09116-.0934.17396-.1633.24364L6.53063 9.53187c-.06968.06992-.15247.1254-.24364.16326-.09116.03785-.1889.05734-.28761.05734-.09871 0-.19645-.01949-.28762-.05734-.09116-.03786-.17395-.09334-.24363-.16326l-1.5-1.5c-.06977-.06976-.12511-.15258-.16286-.24373-.03776-.09116-.05719-.18885-.05719-.28752 0-.09866.01943-.19635.05719-.28751.03775-.09115.09309-.17397.16286-.24373.06976-.06977.15259-.12511.24374-.16287.09115-.03775.18885-.05719.28751-.05719s.19636.01944.28751.05719c.09115.03776.17397.0931.24374.16287L6 7.9375l2.96938-2.97c.06978-.06961.15259-.12478.24371-.16237.09111-.03758.18874-.05683.2873-.05666.09856.00018.19612.01978.28711.05768.09098.0379.1736.09337.2431.16323ZM13.75 7c0 1.33502-.3959 2.64007-1.1376 3.7501-.7417 1.11-1.7959 1.9752-3.02928 2.4861-1.23341.5109-2.5906.6446-3.89998.3841-1.30937-.2605-2.5121-.9033-3.45611-1.8473-.944-.944-1.586877-2.14677-1.847328-3.45614-.26045-1.30937-.126777-2.66657.384114-3.89997C1.27471 3.18349 2.13987 2.12928 3.2499 1.38758 4.35994.645881 5.66498.25 7 .25c1.78961.001985 3.5053.713781 4.7708 1.97922C13.0362 3.49466 13.748 5.2104 13.75 7Zm-1.5 0c0-1.03835-.3079-2.05339-.8848-2.91674-.5769-.86336-1.3968-1.53627-2.35611-1.93363-.95931-.39736-2.01491-.50133-3.03331-.29875-1.0184.20257-1.95386.70258-2.68809 1.43681-.73422.73422-1.23424 1.66969-1.43681 2.68809-.20257 1.0184-.0986 2.074.29876 3.03331.39736.95931 1.07026 1.77921 1.93362 2.35611.86336.5769 1.87839.8848 2.91674.8848 1.39193-.0015 2.72643-.5551 3.7107-1.5393C11.6949 9.72642 12.2485 8.39193 12.25 7Z"/></svg>',
20
+ gear: '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22"><path fill="#fff" d="M11 6.12507c-.9642 0-1.90671.28592-2.7084.82159-.80169.53567-1.42653 1.29704-1.79551 2.18783-.36898.89081-.46552 1.87101-.27742 2.81661.18811.9457.6524 1.8143 1.33419 2.4961.68178.6818 1.55042 1.1461 2.49604 1.3342.9457.1881 1.9259.0916 2.8167-.2774s1.6521-.9938 2.1878-1.7955c.5357-.8017.8216-1.7442.8216-2.7084-.0015-1.2925-.5156-2.53161-1.4295-3.44553-.9139-.91392-2.153-1.42801-3.4455-1.4295Zm0 7.50003c-.5192 0-1.02669-.154-1.45837-.4424-.43168-.2885-.76813-.6984-.96681-1.1781-.19868-.4796-.25067-1.0074-.14938-1.5166.10129-.50924.35129-.97697.71841-1.34408.36711-.36712.83484-.61712 1.34405-.71841.5092-.10129 1.037-.0493 1.5166.14938.4797.19868.8897.53513 1.1781.96681.2884.43168.4424.9392.4424 1.4584 0 .6962-.2766 1.3638-.7688 1.8561-.4923.4923-1.16.7689-1.8562.7689Zm8.625-2.551v-.1481l1.3125-1.64155c.1102-.13755.1865-.29905.2228-.4715s.0316-.35102-.0137-.52131c-.2369-.89334-.5909-1.75142-1.0528-2.55188-.089-.15264-.2127-.28218-.3611-.37811-.1484-.09594-.3173-.15557-.493-.17408l-2.0888-.23437-.104-.10406-.2344-2.08969c-.0186-.17556-.0783-.34426-.1743-.49247-.0959-.1482-.2254-.27175-.3779-.36066-.8005-.46341-1.6589-.81869-2.5528-1.056559-.1704-.044683-.349-.048704-.5213-.01174-.1723.036965-.3335.113881-.4706.224549l-1.6415 1.3125h-.1482l-1.64152-1.3125C9.14683.9524 8.98532.87608 8.81288.839767c-.17245-.036314-.35102-.031606-.52132.013744-.89357.238319-1.75165.593909-2.55187 1.057499-.15205.08854-.28121.2115-.37712.35901-.0959.14752-.15586.31547-.17507.49037l-.23437 2.08875-.10407.10406-2.08968.23437c-.17556.01865-.34426.07835-.49247.17428-.14821.09593-.27176.22539-.36066.37791-.46211.80072-.81613 1.65912-1.052812 2.55281-.045195.17016-.049823.34855-.013512.52082.03631.17227.112546.33362.222574.47106L2.375 10.926v.1481l-1.3125 1.6416c-.110173.1375-.186492.299-.222806.4715-.036313.1724-.031605.351.013744.5213.238622.8936.594522 1.7517 1.058442 2.5519.08844.1519.21126.281.3586.3769.14734.0959.3151.1559.48983.1753l2.08875.2325.10407.104.23437 2.0916c.01865.1756.07835.3443.17428.4925.09592.1482.22538.2717.37791.3606.80052.4634 1.65893.8187 2.55281 1.0566.17045.0447.349.0487.52129.0117.17228-.0369.33347-.1139.47059-.2245l1.64152-1.3125h.1482l1.6415 1.3125c.1376.1101.2991.1865.4715.2228.1725.0363.351.0316.5213-.0138.8934-.2368 1.7514-.5908 2.5519-1.0528.1524-.0883.2819-.2112.3782-.3587.0962-.1475.1565-.3156.1759-.4907l.2325-2.0887.104-.1041 2.0897-.239c.1751-.0194.3432-.0797.4907-.1759.1475-.0963.2704-.2258.3587-.3782.4634-.8005.8187-1.6589 1.0566-2.5528.0448-.1699.0493-.3479.013-.5198-.0363-.172-.1124-.333-.2221-.4702l-1.3125-1.6416Zm-2.2612-.4584c.015.256.015.5127 0 .7687-.0168.2784.0704.553.2446.7707l1.2038 1.5047c-.1136.3363-.2492.6648-.406.9834l-1.9153.2128c-.2773.0317-.5329.1654-.7171.375-.1704.1919-.3519.3735-.5438.5438-.2096.1842-.3433.4398-.375.7171l-.2119 1.9144c-.3185.1574-.647.2936-.9834.4078l-1.5047-1.2047c-.1997-.1593-.4477-.2459-.7031-.2456h-.0675c-.2561.015-.5127.015-.7688 0-.2781-.0165-.5525.0703-.7706.2438l-1.50469 1.2047c-.33634-.1137-.66486-.2493-.98343-.406l-.21282-1.9153c-.0317-.2773-.16536-.5329-.375-.7172-.19187-.1703-.37344-.3519-.54375-.5437-.18426-.2097-.43988-.3433-.71718-.375l-1.91438-.2119c-.15734-.3185-.29357-.647-.40781-.9834l1.20375-1.5047c.17424-.2177.26144-.4923.24469-.7707-.01501-.256-.01501-.5127 0-.7687.01675-.2783-.07045-.553-.24469-.77063L3.18781 8.34038c.11364-.33634.24924-.66486.40594-.98343l1.91531-.21281c.27731-.03171.53292-.16537.71719-.375.17031-.19188.35188-.37345.54375-.54375.20964-.18427.3433-.43989.375-.71719l.21188-1.91438c.31852-.15734.64704-.29357.98343-.40781L9.845 4.3907c.2181.17343.4925.26023.7706.24375.2561-.015.5127-.015.7688 0 .2782.01701.5528-.06985.7706-.24375l1.5047-1.20469c.3364.11424.6649.25047.9834.40781l.2128 1.91532c.0317.2773.1654.53292.375.71718.1919.17031.3735.35188.5438.54375.1843.20964.4399.3433.7172.375l1.9143.21188c.1574.31852.2936.64704.4079.98343l-1.2038 1.50469c-.1749.21743-.2628.49203-.2465.77063Z"/></svg>',
21
+ "dots-three": '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 4"><path fill="#fff" d="M9.5 2c0 .29667-.08797.58668-.2528.83336-.16482.24667-.39908.43893-.67317.55246-.27409.11353-.57569.14324-.86666.08536-.29098-.05788-.55825-.20074-.76803-.41052-.20978-.20978-.35264-.47705-.41052-.76802-.05788-.29098-.02817-.59258.08536-.86666.11353-.27409.30579-.508362.55247-.673184C7.41332.587974 7.70333.5 8 .5c.39783 0 .77936.158036 1.06066.43934C9.34196 1.22064 9.5 1.60218 9.5 2ZM1.625.5c-.29667 0-.58668.087974-.833354.252796-.246674.164822-.438933.399094-.552465.673184-.113531.27408-.1432361.57568-.085358.86666.057878.29097.200739.55824.410518.76802.209778.20978.477049.35264.768029.41052.29097.05788.59257.02817.86666-.08536.27408-.11353.50835-.30579.67318-.55246C3.03703 2.58668 3.125 2.29667 3.125 2c0-.39782-.15803-.77936-.43934-1.06066C2.40436.658036 2.02283.5 1.625.5Zm12.75 0c-.2967 0-.5867.087974-.8334.252796-.2466.164822-.4389.399094-.5524.673184-.1135.27408-.1433.57568-.0854.86666.0579.29097.2008.55824.4105.76802.2098.20978.4771.35264.7681.41052.2909.05788.5925.02817.8666-.08536s.5084-.30579.6732-.55246c.1648-.24668.2528-.53669.2528-.83336 0-.39782-.158-.77936-.4393-1.06066C15.1544.658036 14.7728.5 14.375.5Z"/></svg>'
20
22
  };
21
23
  export {
22
24
  getIconElement,
@@ -0,0 +1,8 @@
1
+ export declare class DevOverlayToggle extends HTMLElement {
2
+ shadowRoot: ShadowRoot;
3
+ input: HTMLInputElement;
4
+ constructor();
5
+ connectedCallback(): void;
6
+ get value(): string;
7
+ set value(val: string);
8
+ }