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.
- package/components/Code.astro +6 -54
- package/components/ViewTransitions.astro +5 -2
- package/config.d.ts +2 -1
- package/dist/@types/astro.d.ts +3 -1
- package/dist/assets/services/noop.js +1 -0
- package/dist/core/app/index.js +7 -2
- package/dist/core/app/types.d.ts +1 -0
- package/dist/core/build/generate.js +5 -2
- package/dist/core/build/plugins/plugin-manifest.js +1 -0
- package/dist/core/build/plugins/plugin-prerender.js +4 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/dev/dev.js +1 -1
- package/dist/core/errors/dev/vite.js +1 -1
- package/dist/core/logger/core.d.ts +1 -1
- package/dist/core/logger/core.js +3 -3
- package/dist/core/messages.js +2 -2
- package/dist/core/pipeline.d.ts +6 -0
- package/dist/core/pipeline.js +13 -0
- package/dist/core/preview/vite-plugin-astro-preview.js +2 -1
- package/dist/core/shiki.d.ts +2 -8
- package/dist/core/shiki.js +5 -24
- package/dist/i18n/middleware.d.ts +6 -1
- package/dist/i18n/middleware.js +21 -6
- package/dist/runtime/client/dev-overlay/entrypoint.js +155 -6
- package/dist/runtime/client/dev-overlay/overlay.d.ts +4 -0
- package/dist/runtime/client/dev-overlay/overlay.js +29 -11
- package/dist/runtime/client/dev-overlay/plugins/astro.js +9 -36
- package/dist/runtime/client/dev-overlay/plugins/settings.d.ts +8 -0
- package/dist/runtime/client/dev-overlay/plugins/settings.js +93 -0
- package/dist/runtime/client/dev-overlay/plugins/utils/window.d.ts +3 -0
- package/dist/runtime/client/dev-overlay/plugins/utils/window.js +45 -0
- package/dist/runtime/client/dev-overlay/settings.d.ts +12 -0
- package/dist/runtime/client/dev-overlay/settings.js +26 -0
- package/dist/runtime/client/dev-overlay/ui-library/icons.d.ts +2 -0
- package/dist/runtime/client/dev-overlay/ui-library/icons.js +3 -1
- package/dist/runtime/client/dev-overlay/ui-library/toggle.d.ts +8 -0
- package/dist/runtime/client/dev-overlay/ui-library/toggle.js +57 -0
- package/dist/runtime/client/dev-overlay/ui-library/window.js +36 -7
- package/dist/transitions/router.js +1 -1
- package/dist/vite-plugin-astro-server/plugin.js +1 -0
- package/dist/vite-plugin-astro-server/route.js +7 -2
- 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
|
-
|
|
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
|
-
...[
|
|
64
|
-
|
|
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: -
|
|
154
|
-
right:
|
|
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(
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
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
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
63
|
+
`
|
|
64
|
+
);
|
|
65
|
+
canvas.append(window);
|
|
89
66
|
}
|
|
90
67
|
},
|
|
91
68
|
async beforeTogglingOff(canvas) {
|
|
92
|
-
canvas
|
|
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,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,
|