astro 4.1.2 → 4.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ViewTransitions.astro +6 -1
- package/dist/@types/astro.d.ts +26 -25
- package/dist/assets/internal.js +3 -2
- package/dist/assets/services/noop.js +1 -4
- package/dist/assets/types.d.ts +1 -1
- package/dist/assets/utils/emitAsset.js +1 -1
- package/dist/assets/utils/proxy.d.ts +2 -1
- package/dist/assets/utils/proxy.js +5 -1
- package/dist/assets/vite-plugin-assets.js +21 -14
- package/dist/content/runtime-assets.d.ts +1 -1
- package/dist/content/runtime-assets.js +1 -1
- package/dist/content/vite-plugin-content-imports.js +1 -0
- package/dist/core/config/vite-load.js +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/create-vite.js +3 -3
- package/dist/core/dev/dev.js +1 -1
- package/dist/core/errors/errors-data.d.ts +5 -0
- package/dist/core/errors/errors-data.js +7 -0
- package/dist/core/messages.js +2 -2
- package/dist/core/routing/manifest/create.js +15 -0
- package/dist/core/sync/index.js +1 -1
- package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/astro.js +2 -2
- package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/audit/index.js +3 -3
- package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/settings.js +7 -7
- package/dist/runtime/client/dev-toolbar/apps/utils/highlight.d.ts +8 -0
- package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/utils/window.d.ts +1 -1
- package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/xray.js +4 -4
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/entrypoint.js +64 -68
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/settings.d.ts +2 -2
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/settings.js +10 -5
- package/dist/runtime/client/dev-toolbar/toolbar.d.ts +45 -0
- package/dist/runtime/client/{dev-overlay/overlay.js → dev-toolbar/toolbar.js} +99 -103
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/badge.d.ts +1 -1
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/badge.js +2 -2
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/button.d.ts +1 -1
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/button.js +3 -2
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/card.d.ts +1 -1
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/card.js +2 -2
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/highlight.d.ts +1 -1
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/highlight.js +2 -2
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/icon.d.ts +1 -1
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/icon.js +2 -2
- package/dist/runtime/client/dev-toolbar/ui-library/index.d.ts +8 -0
- package/dist/runtime/client/dev-toolbar/ui-library/index.js +18 -0
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/toggle.d.ts +1 -1
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/toggle.js +2 -2
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/tooltip.d.ts +3 -3
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/tooltip.js +2 -2
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/window.d.ts +1 -1
- package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/window.js +3 -3
- package/dist/vite-plugin-astro/index.js +12 -2
- package/dist/vite-plugin-astro-server/route.js +3 -3
- package/dist/{vite-plugin-dev-overlay/vite-plugin-dev-overlay.d.ts → vite-plugin-dev-toolbar/vite-plugin-dev-toolbar.d.ts} +1 -1
- package/dist/{vite-plugin-dev-overlay/vite-plugin-dev-overlay.js → vite-plugin-dev-toolbar/vite-plugin-dev-toolbar.js} +5 -5
- package/package.json +1 -1
- package/dist/runtime/client/dev-overlay/overlay.d.ts +0 -45
- package/dist/runtime/client/dev-overlay/plugins/utils/highlight.d.ts +0 -8
- package/dist/runtime/client/dev-overlay/ui-library/index.d.ts +0 -8
- package/dist/runtime/client/dev-overlay/ui-library/index.js +0 -18
- /package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/astro.d.ts +0 -0
- /package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/audit/a11y.d.ts +0 -0
- /package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/audit/a11y.js +0 -0
- /package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/audit/index.d.ts +0 -0
- /package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/settings.d.ts +0 -0
- /package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/utils/highlight.js +0 -0
- /package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/utils/icons.d.ts +0 -0
- /package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/utils/icons.js +0 -0
- /package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/utils/window.js +0 -0
- /package/dist/runtime/client/{dev-overlay/plugins → dev-toolbar/apps}/xray.d.ts +0 -0
- /package/dist/runtime/client/{dev-overlay → dev-toolbar}/entrypoint.d.ts +0 -0
- /package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/icons.d.ts +0 -0
- /package/dist/runtime/client/{dev-overlay → dev-toolbar}/ui-library/icons.js +0 -0
|
@@ -1,60 +1,60 @@
|
|
|
1
1
|
import { settings } from "./settings.js";
|
|
2
|
-
import {
|
|
2
|
+
import { loadDevToolbarApps } from "astro:dev-toolbar";
|
|
3
3
|
let overlay;
|
|
4
4
|
document.addEventListener("DOMContentLoaded", async () => {
|
|
5
5
|
const [
|
|
6
|
-
|
|
7
|
-
{ default:
|
|
8
|
-
{ default:
|
|
9
|
-
{ default:
|
|
10
|
-
{ default:
|
|
11
|
-
{
|
|
6
|
+
customAppsDefinitions,
|
|
7
|
+
{ default: astroDevToolApp },
|
|
8
|
+
{ default: astroAuditApp },
|
|
9
|
+
{ default: astroXrayApp },
|
|
10
|
+
{ default: astroSettingsApp },
|
|
11
|
+
{ AstroDevToolbar, DevToolbarCanvas, getAppIcon },
|
|
12
12
|
{
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
DevToolbarCard,
|
|
14
|
+
DevToolbarHighlight,
|
|
15
|
+
DevToolbarTooltip,
|
|
16
|
+
DevToolbarWindow,
|
|
17
|
+
DevToolbarToggle,
|
|
18
|
+
DevToolbarButton,
|
|
19
|
+
DevToolbarBadge,
|
|
20
|
+
DevToolbarIcon
|
|
21
21
|
}
|
|
22
22
|
] = await Promise.all([
|
|
23
|
-
|
|
24
|
-
import("./
|
|
25
|
-
import("./
|
|
26
|
-
import("./
|
|
27
|
-
import("./
|
|
28
|
-
import("./
|
|
23
|
+
loadDevToolbarApps(),
|
|
24
|
+
import("./apps/astro.js"),
|
|
25
|
+
import("./apps/audit/index.js"),
|
|
26
|
+
import("./apps/xray.js"),
|
|
27
|
+
import("./apps/settings.js"),
|
|
28
|
+
import("./toolbar.js"),
|
|
29
29
|
import("./ui-library/index.js")
|
|
30
30
|
]);
|
|
31
|
-
customElements.define("astro-dev-toolbar",
|
|
32
|
-
customElements.define("astro-dev-toolbar-window",
|
|
33
|
-
customElements.define("astro-dev-toolbar-
|
|
34
|
-
customElements.define("astro-dev-toolbar-tooltip",
|
|
35
|
-
customElements.define("astro-dev-toolbar-highlight",
|
|
36
|
-
customElements.define("astro-dev-toolbar-card",
|
|
37
|
-
customElements.define("astro-dev-toolbar-toggle",
|
|
38
|
-
customElements.define("astro-dev-toolbar-button",
|
|
39
|
-
customElements.define("astro-dev-toolbar-badge",
|
|
40
|
-
customElements.define("astro-dev-toolbar-icon",
|
|
31
|
+
customElements.define("astro-dev-toolbar", AstroDevToolbar);
|
|
32
|
+
customElements.define("astro-dev-toolbar-window", DevToolbarWindow);
|
|
33
|
+
customElements.define("astro-dev-toolbar-app-canvas", DevToolbarCanvas);
|
|
34
|
+
customElements.define("astro-dev-toolbar-tooltip", DevToolbarTooltip);
|
|
35
|
+
customElements.define("astro-dev-toolbar-highlight", DevToolbarHighlight);
|
|
36
|
+
customElements.define("astro-dev-toolbar-card", DevToolbarCard);
|
|
37
|
+
customElements.define("astro-dev-toolbar-toggle", DevToolbarToggle);
|
|
38
|
+
customElements.define("astro-dev-toolbar-button", DevToolbarButton);
|
|
39
|
+
customElements.define("astro-dev-toolbar-badge", DevToolbarBadge);
|
|
40
|
+
customElements.define("astro-dev-toolbar-icon", DevToolbarIcon);
|
|
41
41
|
const deprecated = (Parent) => class extends Parent {
|
|
42
42
|
};
|
|
43
|
-
customElements.define("astro-dev-overlay", deprecated(
|
|
44
|
-
customElements.define("astro-dev-overlay-window", deprecated(
|
|
45
|
-
customElements.define("astro-dev-overlay-plugin-canvas", deprecated(
|
|
46
|
-
customElements.define("astro-dev-overlay-tooltip", deprecated(
|
|
47
|
-
customElements.define("astro-dev-overlay-highlight", deprecated(
|
|
48
|
-
customElements.define("astro-dev-overlay-card", deprecated(
|
|
49
|
-
customElements.define("astro-dev-overlay-toggle", deprecated(
|
|
50
|
-
customElements.define("astro-dev-overlay-button", deprecated(
|
|
51
|
-
customElements.define("astro-dev-overlay-badge", deprecated(
|
|
52
|
-
customElements.define("astro-dev-overlay-icon", deprecated(
|
|
43
|
+
customElements.define("astro-dev-overlay", deprecated(AstroDevToolbar));
|
|
44
|
+
customElements.define("astro-dev-overlay-window", deprecated(DevToolbarWindow));
|
|
45
|
+
customElements.define("astro-dev-overlay-plugin-canvas", deprecated(DevToolbarCanvas));
|
|
46
|
+
customElements.define("astro-dev-overlay-tooltip", deprecated(DevToolbarTooltip));
|
|
47
|
+
customElements.define("astro-dev-overlay-highlight", deprecated(DevToolbarHighlight));
|
|
48
|
+
customElements.define("astro-dev-overlay-card", deprecated(DevToolbarCard));
|
|
49
|
+
customElements.define("astro-dev-overlay-toggle", deprecated(DevToolbarToggle));
|
|
50
|
+
customElements.define("astro-dev-overlay-button", deprecated(DevToolbarButton));
|
|
51
|
+
customElements.define("astro-dev-overlay-badge", deprecated(DevToolbarBadge));
|
|
52
|
+
customElements.define("astro-dev-overlay-icon", deprecated(DevToolbarIcon));
|
|
53
53
|
overlay = document.createElement("astro-dev-toolbar");
|
|
54
|
-
const
|
|
54
|
+
const prepareApp = (appDefinition, builtIn) => {
|
|
55
55
|
const eventTarget = new EventTarget();
|
|
56
|
-
const
|
|
57
|
-
...
|
|
56
|
+
const app = {
|
|
57
|
+
...appDefinition,
|
|
58
58
|
builtIn,
|
|
59
59
|
active: false,
|
|
60
60
|
status: "loading",
|
|
@@ -62,14 +62,14 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
62
62
|
eventTarget
|
|
63
63
|
};
|
|
64
64
|
eventTarget.addEventListener("toggle-notification", (evt) => {
|
|
65
|
-
const target = overlay.shadowRoot?.querySelector(`[data-
|
|
65
|
+
const target = overlay.shadowRoot?.querySelector(`[data-app-id="${app.id}"]`);
|
|
66
66
|
if (!target)
|
|
67
67
|
return;
|
|
68
68
|
let newState = true;
|
|
69
69
|
if (evt instanceof CustomEvent) {
|
|
70
70
|
newState = evt.detail.state ?? true;
|
|
71
71
|
}
|
|
72
|
-
|
|
72
|
+
app.notification.state = newState;
|
|
73
73
|
target.querySelector(".notification")?.toggleAttribute("data-active", newState);
|
|
74
74
|
});
|
|
75
75
|
const onToggleApp = async (evt) => {
|
|
@@ -77,18 +77,18 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
77
77
|
if (evt instanceof CustomEvent) {
|
|
78
78
|
newState = evt.detail.state ?? true;
|
|
79
79
|
}
|
|
80
|
-
await overlay.
|
|
80
|
+
await overlay.setAppStatus(app, newState);
|
|
81
81
|
};
|
|
82
82
|
eventTarget.addEventListener("toggle-app", onToggleApp);
|
|
83
83
|
eventTarget.addEventListener("toggle-plugin", onToggleApp);
|
|
84
|
-
return
|
|
84
|
+
return app;
|
|
85
85
|
};
|
|
86
|
-
const
|
|
86
|
+
const astroMoreApp = {
|
|
87
87
|
id: "astro:more",
|
|
88
88
|
name: "More",
|
|
89
89
|
icon: "dots-three",
|
|
90
90
|
init(canvas, eventTarget) {
|
|
91
|
-
const
|
|
91
|
+
const hiddenApps = apps.filter((p) => !p.builtIn).slice(overlay.customAppsToShow);
|
|
92
92
|
createDropdown();
|
|
93
93
|
document.addEventListener("astro:after-swap", createDropdown);
|
|
94
94
|
function createDropdown() {
|
|
@@ -165,35 +165,35 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
165
165
|
canvas.append(style);
|
|
166
166
|
const dropdown = document.createElement("div");
|
|
167
167
|
dropdown.id = "dropdown";
|
|
168
|
-
dropdown.toggleAttribute("data-no-notification", settings.config.
|
|
169
|
-
for (const
|
|
168
|
+
dropdown.toggleAttribute("data-no-notification", settings.config.disableAppNotification);
|
|
169
|
+
for (const app of hiddenApps) {
|
|
170
170
|
const buttonContainer = document.createElement("div");
|
|
171
171
|
buttonContainer.classList.add("item");
|
|
172
172
|
const button = document.createElement("button");
|
|
173
|
-
button.setAttribute("data-
|
|
173
|
+
button.setAttribute("data-app-id", app.id);
|
|
174
174
|
const iconContainer = document.createElement("div");
|
|
175
175
|
const iconElement = document.createElement("template");
|
|
176
|
-
iconElement.innerHTML =
|
|
176
|
+
iconElement.innerHTML = getAppIcon(app.icon);
|
|
177
177
|
iconContainer.append(iconElement.content.cloneNode(true));
|
|
178
178
|
const notification = document.createElement("div");
|
|
179
179
|
notification.classList.add("notification");
|
|
180
180
|
iconContainer.append(notification);
|
|
181
181
|
iconContainer.classList.add("icon");
|
|
182
182
|
button.append(iconContainer);
|
|
183
|
-
button.append(document.createTextNode(
|
|
183
|
+
button.append(document.createTextNode(app.name));
|
|
184
184
|
button.addEventListener("click", () => {
|
|
185
|
-
overlay.
|
|
185
|
+
overlay.toggleAppStatus(app);
|
|
186
186
|
});
|
|
187
187
|
buttonContainer.append(button);
|
|
188
188
|
dropdown.append(buttonContainer);
|
|
189
|
-
|
|
189
|
+
app.eventTarget.addEventListener("toggle-notification", (evt) => {
|
|
190
190
|
if (!(evt instanceof CustomEvent))
|
|
191
191
|
return;
|
|
192
192
|
notification.toggleAttribute("data-active", evt.detail.state ?? true);
|
|
193
193
|
eventTarget.dispatchEvent(
|
|
194
194
|
new CustomEvent("toggle-notification", {
|
|
195
195
|
detail: {
|
|
196
|
-
state:
|
|
196
|
+
state: hiddenApps.some((p) => p.notification.state === true)
|
|
197
197
|
}
|
|
198
198
|
})
|
|
199
199
|
);
|
|
@@ -203,17 +203,13 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
};
|
|
206
|
-
const
|
|
207
|
-
...[
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
astroSettingsPlugin,
|
|
212
|
-
astromorePlugin
|
|
213
|
-
].map((pluginDef) => preparePlugin(pluginDef, true)),
|
|
214
|
-
...customPluginsDefinitions.map((pluginDef) => preparePlugin(pluginDef, false))
|
|
206
|
+
const apps = [
|
|
207
|
+
...[astroDevToolApp, astroXrayApp, astroAuditApp, astroSettingsApp, astroMoreApp].map(
|
|
208
|
+
(appDef) => prepareApp(appDef, true)
|
|
209
|
+
),
|
|
210
|
+
...customAppsDefinitions.map((appDef) => prepareApp(appDef, false))
|
|
215
211
|
];
|
|
216
|
-
overlay.
|
|
212
|
+
overlay.apps = apps;
|
|
217
213
|
document.body.append(overlay);
|
|
218
214
|
document.addEventListener("astro:after-swap", () => {
|
|
219
215
|
document.body.append(overlay);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export interface Settings {
|
|
2
|
-
|
|
2
|
+
disableAppNotification: boolean;
|
|
3
3
|
verbose: boolean;
|
|
4
4
|
}
|
|
5
5
|
export declare const defaultSettings: {
|
|
6
|
-
|
|
6
|
+
disableAppNotification: false;
|
|
7
7
|
verbose: false;
|
|
8
8
|
};
|
|
9
9
|
export declare const settings: {
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
const defaultSettings = {
|
|
2
|
-
|
|
2
|
+
disableAppNotification: false,
|
|
3
3
|
verbose: false
|
|
4
4
|
};
|
|
5
5
|
const settings = getSettings();
|
|
6
6
|
function getSettings() {
|
|
7
7
|
let _settings = { ...defaultSettings };
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
const toolbarSettings = localStorage.getItem("astro:dev-toolbar:settings");
|
|
9
|
+
const oldSettings = localStorage.getItem("astro:dev-overlay:settings");
|
|
10
|
+
if (oldSettings && !toolbarSettings) {
|
|
11
|
+
localStorage.setItem("astro:dev-toolbar:settings", oldSettings);
|
|
12
|
+
localStorage.removeItem("astro:dev-overlay:settings");
|
|
13
|
+
}
|
|
14
|
+
if (toolbarSettings) {
|
|
15
|
+
_settings = { ..._settings, ...JSON.parse(toolbarSettings) };
|
|
11
16
|
}
|
|
12
17
|
function updateSetting(key, value) {
|
|
13
18
|
_settings[key] = value;
|
|
14
|
-
localStorage.setItem("astro:dev-
|
|
19
|
+
localStorage.setItem("astro:dev-toolbar:settings", JSON.stringify(_settings));
|
|
15
20
|
}
|
|
16
21
|
function log(message) {
|
|
17
22
|
console.log(
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { DevToolbarApp as DevToolbarAppDefinition } from '../../../@types/astro.js';
|
|
2
|
+
import { type Icon } from './ui-library/icons.js';
|
|
3
|
+
export type DevToolbarApp = DevToolbarAppDefinition & {
|
|
4
|
+
builtIn: boolean;
|
|
5
|
+
active: boolean;
|
|
6
|
+
status: 'ready' | 'loading' | 'error';
|
|
7
|
+
notification: {
|
|
8
|
+
state: boolean;
|
|
9
|
+
};
|
|
10
|
+
eventTarget: EventTarget;
|
|
11
|
+
};
|
|
12
|
+
export declare class AstroDevToolbar extends HTMLElement {
|
|
13
|
+
shadowRoot: ShadowRoot;
|
|
14
|
+
delayedHideTimeout: number | undefined;
|
|
15
|
+
devToolbarContainer: HTMLDivElement | undefined;
|
|
16
|
+
apps: DevToolbarApp[];
|
|
17
|
+
hasBeenInitialized: boolean;
|
|
18
|
+
customAppsToShow: number;
|
|
19
|
+
constructor();
|
|
20
|
+
/**
|
|
21
|
+
* All one-time DOM setup runs through here. Only ever call this once,
|
|
22
|
+
* in connectedCallback(), and protect it from being called again.
|
|
23
|
+
*/
|
|
24
|
+
init(): void;
|
|
25
|
+
connectedCallback(): void;
|
|
26
|
+
attachEvents(): void;
|
|
27
|
+
initApp(app: DevToolbarApp): Promise<void>;
|
|
28
|
+
getAppTemplate(app: DevToolbarApp): string;
|
|
29
|
+
getAppById(id: string): DevToolbarApp | undefined;
|
|
30
|
+
getAppCanvasById(id: string): HTMLElement | null;
|
|
31
|
+
toggleAppStatus(app: DevToolbarApp): Promise<void>;
|
|
32
|
+
setAppStatus(app: DevToolbarApp, newStatus: boolean): Promise<boolean>;
|
|
33
|
+
isHidden(): boolean;
|
|
34
|
+
getActiveApp(): DevToolbarApp | undefined;
|
|
35
|
+
clearDelayedHide(): void;
|
|
36
|
+
triggerDelayedHide(): void;
|
|
37
|
+
setToolbarVisible(newStatus: boolean): void;
|
|
38
|
+
setNotificationVisible(newStatus: boolean): void;
|
|
39
|
+
}
|
|
40
|
+
export declare class DevToolbarCanvas extends HTMLElement {
|
|
41
|
+
shadowRoot: ShadowRoot;
|
|
42
|
+
constructor();
|
|
43
|
+
connectedCallback(): void;
|
|
44
|
+
}
|
|
45
|
+
export declare function getAppIcon(icon: Icon): string;
|