@grove-dev/astro 0.2.2 → 0.2.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 (105) hide show
  1. package/LICENSE +21 -0
  2. package/package.json +4 -4
  3. package/src/components/ItemCard.astro +35 -18
  4. package/src/components/{AppSection.astro → RecordSection.astro} +11 -6
  5. package/templates/default/src/data/records.ts +61 -29
  6. package/templates/default/src/pages/index.astro +23 -18
  7. package/templates/default/.astro/content.d.ts +0 -155
  8. package/templates/default/.astro/settings.json +0 -5
  9. package/templates/default/.astro/types.d.ts +0 -2
  10. package/templates/default/dist/_astro/BaseLayout.DfpwR3jc.css +0 -1
  11. package/templates/default/dist/about/index.html +0 -165
  12. package/templates/default/dist/icons/platforms/android.svg +0 -1
  13. package/templates/default/dist/icons/platforms/apple-dark.svg +0 -1
  14. package/templates/default/dist/icons/platforms/apple-light.svg +0 -1
  15. package/templates/default/dist/icons/platforms/chrome.svg +0 -1
  16. package/templates/default/dist/icons/platforms/chromeos.svg +0 -5
  17. package/templates/default/dist/icons/platforms/desktop.svg +0 -4
  18. package/templates/default/dist/icons/platforms/embedded.svg +0 -5
  19. package/templates/default/dist/icons/platforms/ios.svg +0 -1
  20. package/templates/default/dist/icons/platforms/linux.svg +0 -1
  21. package/templates/default/dist/icons/platforms/macos.svg +0 -1
  22. package/templates/default/dist/icons/platforms/ubuntu.svg +0 -1
  23. package/templates/default/dist/icons/platforms/web.svg +0 -5
  24. package/templates/default/dist/icons/platforms/windows.svg +0 -6
  25. package/templates/default/dist/icons/stacks/android.svg +0 -1
  26. package/templates/default/dist/icons/stacks/apple-dark.svg +0 -1
  27. package/templates/default/dist/icons/stacks/apple-light.svg +0 -1
  28. package/templates/default/dist/icons/stacks/capacitor.svg +0 -14
  29. package/templates/default/dist/icons/stacks/dart.svg +0 -1
  30. package/templates/default/dist/icons/stacks/firebase.svg +0 -1
  31. package/templates/default/dist/icons/stacks/flutter.svg +0 -1
  32. package/templates/default/dist/icons/stacks/graphql.svg +0 -1
  33. package/templates/default/dist/icons/stacks/ionic.svg +0 -4
  34. package/templates/default/dist/icons/stacks/java.svg +0 -1
  35. package/templates/default/dist/icons/stacks/javascript.svg +0 -1
  36. package/templates/default/dist/icons/stacks/kotlin.svg +0 -1
  37. package/templates/default/dist/icons/stacks/mongodb.svg +0 -1
  38. package/templates/default/dist/icons/stacks/nodejs.svg +0 -1
  39. package/templates/default/dist/icons/stacks/python.svg +0 -1
  40. package/templates/default/dist/icons/stacks/react-native.svg +0 -1
  41. package/templates/default/dist/icons/stacks/react.svg +0 -1
  42. package/templates/default/dist/icons/stacks/rust.svg +0 -1
  43. package/templates/default/dist/icons/stacks/solidity.svg +0 -1
  44. package/templates/default/dist/icons/stacks/swift.svg +0 -1
  45. package/templates/default/dist/icons/stacks/tensorflow.svg +0 -1
  46. package/templates/default/dist/icons/stacks/typescript.svg +0 -1
  47. package/templates/default/dist/index.html +0 -55
  48. package/templates/default/dist/llms-full.txt +0 -14
  49. package/templates/default/dist/llms.txt +0 -11
  50. package/templates/default/dist/og-image.svg +0 -48
  51. package/templates/default/dist/projects/index.html +0 -61
  52. package/templates/default/dist/robots.txt +0 -53
  53. package/templates/default/dist/sitemap.xml +0 -21
  54. package/templates/default/dist/submit/index.html +0 -69
  55. package/templates/default/node_modules/.bin/astro +0 -21
  56. package/templates/default/node_modules/.bin/astro-check +0 -21
  57. package/templates/default/node_modules/.bin/grove +0 -21
  58. package/templates/default/node_modules/.bin/jiti +0 -21
  59. package/templates/default/node_modules/.bin/prettier +0 -21
  60. package/templates/default/node_modules/.bin/rollup +0 -21
  61. package/templates/default/node_modules/.bin/tsc +0 -21
  62. package/templates/default/node_modules/.bin/tsserver +0 -21
  63. package/templates/default/node_modules/.bin/tsx +0 -21
  64. package/templates/default/node_modules/.bin/vite +0 -21
  65. package/templates/default/node_modules/.bin/yaml +0 -21
  66. package/templates/default/node_modules/.vite/deps/_metadata.json +0 -79
  67. package/templates/default/node_modules/.vite/deps/astro-KRVZHBC5.js +0 -433
  68. package/templates/default/node_modules/.vite/deps/astro-KRVZHBC5.js.map +0 -7
  69. package/templates/default/node_modules/.vite/deps/astro___aria-query.js +0 -5
  70. package/templates/default/node_modules/.vite/deps/astro___aria-query.js.map +0 -7
  71. package/templates/default/node_modules/.vite/deps/astro___axobject-query.js +0 -5
  72. package/templates/default/node_modules/.vite/deps/astro___axobject-query.js.map +0 -7
  73. package/templates/default/node_modules/.vite/deps/astro___html-escaper.js +0 -9
  74. package/templates/default/node_modules/.vite/deps/astro___html-escaper.js.map +0 -7
  75. package/templates/default/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +0 -241
  76. package/templates/default/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -7
  77. package/templates/default/node_modules/.vite/deps/audit-GYHQ3ITH.js +0 -1592
  78. package/templates/default/node_modules/.vite/deps/audit-GYHQ3ITH.js.map +0 -7
  79. package/templates/default/node_modules/.vite/deps/chunk-5WRI5ZAA.js +0 -30
  80. package/templates/default/node_modules/.vite/deps/chunk-5WRI5ZAA.js.map +0 -7
  81. package/templates/default/node_modules/.vite/deps/chunk-7P4KIK53.js +0 -186
  82. package/templates/default/node_modules/.vite/deps/chunk-7P4KIK53.js.map +0 -7
  83. package/templates/default/node_modules/.vite/deps/chunk-BQGHFQJH.js +0 -48
  84. package/templates/default/node_modules/.vite/deps/chunk-BQGHFQJH.js.map +0 -7
  85. package/templates/default/node_modules/.vite/deps/chunk-CJCDKWP2.js +0 -6779
  86. package/templates/default/node_modules/.vite/deps/chunk-CJCDKWP2.js.map +0 -7
  87. package/templates/default/node_modules/.vite/deps/chunk-FHJ3XBDE.js +0 -33
  88. package/templates/default/node_modules/.vite/deps/chunk-FHJ3XBDE.js.map +0 -7
  89. package/templates/default/node_modules/.vite/deps/chunk-FQEMNIUQ.js +0 -88
  90. package/templates/default/node_modules/.vite/deps/chunk-FQEMNIUQ.js.map +0 -7
  91. package/templates/default/node_modules/.vite/deps/chunk-HBSVDAQD.js +0 -72
  92. package/templates/default/node_modules/.vite/deps/chunk-HBSVDAQD.js.map +0 -7
  93. package/templates/default/node_modules/.vite/deps/chunk-HDOQ2U3U.js +0 -3757
  94. package/templates/default/node_modules/.vite/deps/chunk-HDOQ2U3U.js.map +0 -7
  95. package/templates/default/node_modules/.vite/deps/chunk-XEBKRCNE.js +0 -54
  96. package/templates/default/node_modules/.vite/deps/chunk-XEBKRCNE.js.map +0 -7
  97. package/templates/default/node_modules/.vite/deps/package.json +0 -3
  98. package/templates/default/node_modules/.vite/deps/settings-C5H4VHXU.js +0 -213
  99. package/templates/default/node_modules/.vite/deps/settings-C5H4VHXU.js.map +0 -7
  100. package/templates/default/node_modules/.vite/deps/toolbar-H5DB6HVP.js +0 -525
  101. package/templates/default/node_modules/.vite/deps/toolbar-H5DB6HVP.js.map +0 -7
  102. package/templates/default/node_modules/.vite/deps/ui-library-JGHU6JE2.js +0 -1020
  103. package/templates/default/node_modules/.vite/deps/ui-library-JGHU6JE2.js.map +0 -7
  104. package/templates/default/node_modules/.vite/deps/xray-EFCQOW4E.js +0 -147
  105. package/templates/default/node_modules/.vite/deps/xray-EFCQOW4E.js.map +0 -7
@@ -1,241 +0,0 @@
1
- import {
2
- ToolbarAppEventTarget
3
- } from "./chunk-FQEMNIUQ.js";
4
- import {
5
- settings
6
- } from "./chunk-7P4KIK53.js";
7
- import "./chunk-5WRI5ZAA.js";
8
-
9
- // ../../../../node_modules/.pnpm/astro@6.4.5_@types+node@25.9.2_jiti@2.7.0_lightningcss@1.32.0_rollup@4.61.1_tsx@4.22.4_yaml@2.9.0/node_modules/astro/dist/runtime/client/dev-toolbar/entrypoint.js
10
- import { loadDevToolbarApps } from "astro:toolbar:internal";
11
- var overlay;
12
- document.addEventListener("DOMContentLoaded", async () => {
13
- const [
14
- customAppsDefinitions,
15
- { default: astroDevToolApp },
16
- { default: astroAuditApp },
17
- { default: astroXrayApp },
18
- { default: astroSettingsApp },
19
- { AstroDevToolbar, DevToolbarCanvas, getAppIcon },
20
- {
21
- DevToolbarCard,
22
- DevToolbarHighlight,
23
- DevToolbarTooltip,
24
- DevToolbarWindow,
25
- DevToolbarToggle,
26
- DevToolbarButton,
27
- DevToolbarBadge,
28
- DevToolbarIcon,
29
- DevToolbarSelect,
30
- DevToolbarRadioCheckbox
31
- }
32
- ] = await Promise.all([
33
- loadDevToolbarApps(),
34
- import("./astro-KRVZHBC5.js"),
35
- import("./audit-GYHQ3ITH.js"),
36
- import("./xray-EFCQOW4E.js"),
37
- import("./settings-C5H4VHXU.js"),
38
- import("./toolbar-H5DB6HVP.js"),
39
- import("./ui-library-JGHU6JE2.js")
40
- ]);
41
- customElements.define("astro-dev-toolbar", AstroDevToolbar);
42
- customElements.define("astro-dev-toolbar-window", DevToolbarWindow);
43
- customElements.define("astro-dev-toolbar-app-canvas", DevToolbarCanvas);
44
- customElements.define("astro-dev-toolbar-tooltip", DevToolbarTooltip);
45
- customElements.define("astro-dev-toolbar-highlight", DevToolbarHighlight);
46
- customElements.define("astro-dev-toolbar-card", DevToolbarCard);
47
- customElements.define("astro-dev-toolbar-toggle", DevToolbarToggle);
48
- customElements.define("astro-dev-toolbar-button", DevToolbarButton);
49
- customElements.define("astro-dev-toolbar-badge", DevToolbarBadge);
50
- customElements.define("astro-dev-toolbar-icon", DevToolbarIcon);
51
- customElements.define("astro-dev-toolbar-select", DevToolbarSelect);
52
- customElements.define("astro-dev-toolbar-radio-checkbox", DevToolbarRadioCheckbox);
53
- overlay = document.createElement("astro-dev-toolbar");
54
- const notificationLevels = ["error", "warning", "info"];
55
- const notificationSVGs = {
56
- error: '<svg viewBox="0 0 10 10" style="--fill:var(--fill-default);--fill-default:#B33E66;--fill-hover:#E3AFC1;"><rect width="9" height="9" x=".5" y=".5" fill="var(--fill)" stroke="#13151A" stroke-width="2" rx="4.5"/></svg>',
57
- warning: '<svg width="12" height="10" fill="none" style="--fill:var(--fill-default);--fill-default:#B58A2D;--fill-hover:#D5B776;"><path fill="var(--fill)" stroke="#13151A" stroke-width="2" d="M7.29904 1.25c-.57735-1-2.02073-1-2.59808 0l-3.4641 6C.65951 8.25 1.3812 9.5 2.5359 9.5h6.9282c1.1547 0 1.8764-1.25 1.299-2.25l-3.46406-6Z"/></svg>',
58
- info: '<svg viewBox="0 0 10 10" style="--fill:var(--fill-default);--fill-default:#3645D9;--fill-hover:#BDC3FF;"><rect width="9" height="9" x=".5" y=".5" fill="var(--fill)" stroke="#13151A" stroke-width="2" rx="1.5"/></svg>'
59
- };
60
- const prepareApp = (appDefinition, builtIn) => {
61
- const eventTarget = new ToolbarAppEventTarget();
62
- const app = {
63
- ...appDefinition,
64
- builtIn,
65
- active: false,
66
- status: "loading",
67
- notification: { state: false, level: void 0 },
68
- eventTarget
69
- };
70
- eventTarget.addEventListener("toggle-notification", (evt) => {
71
- if (!(evt instanceof CustomEvent)) return;
72
- const target = overlay.shadowRoot?.querySelector(`[data-app-id="${app.id}"]`);
73
- if (!target) return;
74
- const notificationElement = target.querySelector(".notification");
75
- if (!notificationElement) return;
76
- let newState = evt.detail.state ?? true;
77
- let level = notificationLevels.includes(evt?.detail?.level) ? evt.detail.level : "error";
78
- app.notification.state = newState;
79
- if (newState) app.notification.level = level;
80
- notificationElement.toggleAttribute("data-active", newState);
81
- if (newState) {
82
- notificationElement.setAttribute("data-level", level);
83
- notificationElement.innerHTML = notificationSVGs[level];
84
- }
85
- });
86
- const onToggleApp = async (evt) => {
87
- let newState = void 0;
88
- if (evt instanceof CustomEvent) {
89
- newState = evt.detail.state ?? true;
90
- }
91
- await overlay.setAppStatus(app, newState);
92
- };
93
- eventTarget.addEventListener("toggle-app", onToggleApp);
94
- return app;
95
- };
96
- const astroMoreApp = {
97
- id: "astro:more",
98
- name: "More",
99
- icon: "dots-three",
100
- init(canvas, eventTarget) {
101
- const hiddenApps = apps.filter((p) => !p.builtIn).slice(overlay.customAppsToShow);
102
- createDropdown();
103
- document.addEventListener("astro:after-swap", createDropdown);
104
- function createDropdown() {
105
- const style = document.createElement("style");
106
- style.innerHTML = `
107
- #dropdown {
108
- background: rgba(19, 21, 26, 1);
109
- border: 1px solid rgba(52, 56, 65, 1);
110
- border-radius: 12px;
111
- 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);
112
- width: 192px;
113
- padding: 8px;
114
- z-index: 2000000010;
115
- transform: translate(-50%, 0%);
116
- position: fixed;
117
- bottom: 72px;
118
- left: 50%;
119
- }
120
-
121
- .notification {
122
- display: none;
123
- position: absolute;
124
- top: -4px;
125
- right: -5px;
126
- width: 12px;
127
- height: 10px;
128
- }
129
-
130
- .notification svg {
131
- display: block;
132
- }
133
-
134
- #dropdown:not([data-no-notification]) .notification[data-active] {
135
- display: block;
136
- }
137
-
138
- #dropdown button {
139
- border: 0;
140
- background: transparent;
141
- color: white;
142
- font-family: system-ui, sans-serif;
143
- font-size: 14px;
144
- white-space: nowrap;
145
- text-decoration: none;
146
- margin: 0;
147
- display: flex;
148
- align-items: center;
149
- width: 100%;
150
- padding: 8px;
151
- border-radius: 8px;
152
- }
153
-
154
- #dropdown button:hover, #dropdown button:focus-visible {
155
- background: #FFFFFF20;
156
- cursor: pointer;
157
- }
158
-
159
- #dropdown button.active {
160
- background: rgba(71, 78, 94, 1);
161
- }
162
-
163
- #dropdown .icon {
164
- position: relative;
165
- height: 20px;
166
- width: 20px;
167
- padding: 1px;
168
- margin-right: 0.5em;
169
- }
170
-
171
- #dropdown .icon svg {
172
- max-height: 100%;
173
- max-width: 100%;
174
- }
175
- `;
176
- canvas.append(style);
177
- const dropdown = document.createElement("div");
178
- dropdown.id = "dropdown";
179
- dropdown.toggleAttribute("data-no-notification", settings.config.disableAppNotification);
180
- for (const app of hiddenApps) {
181
- const buttonContainer = document.createElement("div");
182
- buttonContainer.classList.add("item");
183
- const button = document.createElement("button");
184
- button.setAttribute("data-app-id", app.id);
185
- const iconContainer = document.createElement("div");
186
- const iconElement = document.createElement("template");
187
- iconElement.innerHTML = app.icon ? getAppIcon(app.icon) : "?";
188
- iconContainer.append(iconElement.content.cloneNode(true));
189
- const notification = document.createElement("div");
190
- notification.classList.add("notification");
191
- iconContainer.append(notification);
192
- iconContainer.classList.add("icon");
193
- button.append(iconContainer);
194
- button.append(document.createTextNode(app.name));
195
- button.addEventListener("click", () => {
196
- overlay.toggleAppStatus(app);
197
- });
198
- buttonContainer.append(button);
199
- dropdown.append(buttonContainer);
200
- app.eventTarget.addEventListener("toggle-notification", (evt) => {
201
- if (!(evt instanceof CustomEvent)) return;
202
- let newState = evt.detail.state ?? true;
203
- let level = notificationLevels.includes(evt?.detail?.level) ? evt.detail.level : "error";
204
- notification.toggleAttribute("data-active", newState);
205
- if (newState) {
206
- notification.setAttribute("data-level", level);
207
- notification.innerHTML = notificationSVGs[level];
208
- }
209
- app.notification.state = newState;
210
- if (newState) app.notification.level = level;
211
- eventTarget.dispatchEvent(
212
- new CustomEvent("toggle-notification", {
213
- detail: {
214
- state: hiddenApps.some((p) => p.notification.state === true),
215
- level: ["error", "warning", "info"].find(
216
- (notificationLevel) => hiddenApps.some(
217
- (p) => p.notification.state === true && p.notification.level === notificationLevel
218
- )
219
- ) ?? "error"
220
- }
221
- })
222
- );
223
- });
224
- }
225
- canvas.append(dropdown);
226
- }
227
- }
228
- };
229
- const apps = [
230
- ...[astroDevToolApp, astroXrayApp, astroAuditApp, astroSettingsApp, astroMoreApp].map(
231
- (appDef) => prepareApp(appDef, true)
232
- ),
233
- ...customAppsDefinitions.map((appDef) => prepareApp(appDef, false))
234
- ];
235
- overlay.apps = apps;
236
- document.body.append(overlay);
237
- document.addEventListener("astro:after-swap", () => {
238
- document.body.append(overlay);
239
- });
240
- });
241
-
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../node_modules/.pnpm/astro@6.4.5_@types+node@25.9.2_jiti@2.7.0_lightningcss@1.32.0_rollup@4.61.1_tsx@4.22.4_yaml@2.9.0/node_modules/astro/dist/runtime/client/dev-toolbar/entrypoint.js"],
4
- "sourcesContent": ["import { loadDevToolbarApps } from \"astro:toolbar:internal\";\nimport { ToolbarAppEventTarget } from \"./helpers.js\";\nimport { settings } from \"./settings.js\";\nlet overlay;\ndocument.addEventListener(\"DOMContentLoaded\", async () => {\n const [\n customAppsDefinitions,\n { default: astroDevToolApp },\n { default: astroAuditApp },\n { default: astroXrayApp },\n { default: astroSettingsApp },\n { AstroDevToolbar, DevToolbarCanvas, getAppIcon },\n {\n DevToolbarCard,\n DevToolbarHighlight,\n DevToolbarTooltip,\n DevToolbarWindow,\n DevToolbarToggle,\n DevToolbarButton,\n DevToolbarBadge,\n DevToolbarIcon,\n DevToolbarSelect,\n DevToolbarRadioCheckbox\n }\n ] = await Promise.all([\n loadDevToolbarApps(),\n import(\"./apps/astro.js\"),\n import(\"./apps/audit/index.js\"),\n import(\"./apps/xray.js\"),\n import(\"./apps/settings.js\"),\n import(\"./toolbar.js\"),\n import(\"./ui-library/index.js\")\n ]);\n customElements.define(\"astro-dev-toolbar\", AstroDevToolbar);\n customElements.define(\"astro-dev-toolbar-window\", DevToolbarWindow);\n customElements.define(\"astro-dev-toolbar-app-canvas\", DevToolbarCanvas);\n customElements.define(\"astro-dev-toolbar-tooltip\", DevToolbarTooltip);\n customElements.define(\"astro-dev-toolbar-highlight\", DevToolbarHighlight);\n customElements.define(\"astro-dev-toolbar-card\", DevToolbarCard);\n customElements.define(\"astro-dev-toolbar-toggle\", DevToolbarToggle);\n customElements.define(\"astro-dev-toolbar-button\", DevToolbarButton);\n customElements.define(\"astro-dev-toolbar-badge\", DevToolbarBadge);\n customElements.define(\"astro-dev-toolbar-icon\", DevToolbarIcon);\n customElements.define(\"astro-dev-toolbar-select\", DevToolbarSelect);\n customElements.define(\"astro-dev-toolbar-radio-checkbox\", DevToolbarRadioCheckbox);\n overlay = document.createElement(\"astro-dev-toolbar\");\n const notificationLevels = [\"error\", \"warning\", \"info\"];\n const notificationSVGs = {\n error: '<svg viewBox=\"0 0 10 10\" style=\"--fill:var(--fill-default);--fill-default:#B33E66;--fill-hover:#E3AFC1;\"><rect width=\"9\" height=\"9\" x=\".5\" y=\".5\" fill=\"var(--fill)\" stroke=\"#13151A\" stroke-width=\"2\" rx=\"4.5\"/></svg>',\n warning: '<svg width=\"12\" height=\"10\" fill=\"none\" style=\"--fill:var(--fill-default);--fill-default:#B58A2D;--fill-hover:#D5B776;\"><path fill=\"var(--fill)\" stroke=\"#13151A\" stroke-width=\"2\" d=\"M7.29904 1.25c-.57735-1-2.02073-1-2.59808 0l-3.4641 6C.65951 8.25 1.3812 9.5 2.5359 9.5h6.9282c1.1547 0 1.8764-1.25 1.299-2.25l-3.46406-6Z\"/></svg>',\n info: '<svg viewBox=\"0 0 10 10\" style=\"--fill:var(--fill-default);--fill-default:#3645D9;--fill-hover:#BDC3FF;\"><rect width=\"9\" height=\"9\" x=\".5\" y=\".5\" fill=\"var(--fill)\" stroke=\"#13151A\" stroke-width=\"2\" rx=\"1.5\"/></svg>'\n };\n const prepareApp = (appDefinition, builtIn) => {\n const eventTarget = new ToolbarAppEventTarget();\n const app = {\n ...appDefinition,\n builtIn,\n active: false,\n status: \"loading\",\n notification: { state: false, level: void 0 },\n eventTarget\n };\n eventTarget.addEventListener(\"toggle-notification\", (evt) => {\n if (!(evt instanceof CustomEvent)) return;\n const target = overlay.shadowRoot?.querySelector(`[data-app-id=\"${app.id}\"]`);\n if (!target) return;\n const notificationElement = target.querySelector(\".notification\");\n if (!notificationElement) return;\n let newState = evt.detail.state ?? true;\n let level = notificationLevels.includes(evt?.detail?.level) ? evt.detail.level : \"error\";\n app.notification.state = newState;\n if (newState) app.notification.level = level;\n notificationElement.toggleAttribute(\"data-active\", newState);\n if (newState) {\n notificationElement.setAttribute(\"data-level\", level);\n notificationElement.innerHTML = notificationSVGs[level];\n }\n });\n const onToggleApp = async (evt) => {\n let newState = void 0;\n if (evt instanceof CustomEvent) {\n newState = evt.detail.state ?? true;\n }\n await overlay.setAppStatus(app, newState);\n };\n eventTarget.addEventListener(\"toggle-app\", onToggleApp);\n return app;\n };\n const astroMoreApp = {\n id: \"astro:more\",\n name: \"More\",\n icon: \"dots-three\",\n init(canvas, eventTarget) {\n const hiddenApps = apps.filter((p) => !p.builtIn).slice(overlay.customAppsToShow);\n createDropdown();\n document.addEventListener(\"astro:after-swap\", createDropdown);\n function createDropdown() {\n const style = document.createElement(\"style\");\n style.innerHTML = `\n\t\t\t\t\t#dropdown {\n\t\t\t\t\t\tbackground: rgba(19, 21, 26, 1);\n\t\t\t\t\t\tborder: 1px solid rgba(52, 56, 65, 1);\n\t\t\t\t\t\tborder-radius: 12px;\n\t\t\t\t\t\tbox-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);\n\t\t\t\t\t\twidth: 192px;\n\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\tz-index: 2000000010;\n\t\t\t\t\t\ttransform: translate(-50%, 0%);\n\t\t\t\t\t\tposition: fixed;\n\t\t\t\t\t\tbottom: 72px;\n\t\t\t\t\t\tleft: 50%;\n\t\t\t\t\t}\n\n\t\t\t\t\t.notification {\n\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\ttop: -4px;\n\t\t\t\t\t\tright: -5px;\n\t\t\t\t\t\twidth: 12px;\n\t\t\t\t\t\theight: 10px;\n\t\t\t\t\t}\n\n\t\t\t\t\t.notification svg {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t}\n\n\t\t\t\t\t#dropdown:not([data-no-notification]) .notification[data-active] {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t}\n\n\t\t\t\t\t#dropdown button {\n\t\t\t\t\t\tborder: 0;\n\t\t\t\t\t\tbackground: transparent;\n\t\t\t\t\t\tcolor: white;\n\t\t\t\t\t\tfont-family: system-ui, sans-serif;\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\t\ttext-decoration: none;\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\tborder-radius: 8px;\n\t\t\t\t\t}\n\n\t\t\t\t\t#dropdown button:hover, #dropdown button:focus-visible {\n\t\t\t\t\t\tbackground: #FFFFFF20;\n\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t}\n\n\t\t\t\t\t#dropdown button.active {\n\t\t\t\t\t\tbackground: rgba(71, 78, 94, 1);\n\t\t\t\t\t}\n\n\t\t\t\t\t#dropdown .icon {\n\t\t\t\t\t\tposition: relative;\n\t\t\t\t\t\theight: 20px;\n\t\t\t\t\t\twidth: 20px;\n\t\t\t\t\t\tpadding: 1px;\n\t\t\t\t\t\tmargin-right: 0.5em;\n\t\t\t\t\t}\n\n\t\t\t\t\t#dropdown .icon svg {\n\t\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\t}\n\t\t\t\t`;\n canvas.append(style);\n const dropdown = document.createElement(\"div\");\n dropdown.id = \"dropdown\";\n dropdown.toggleAttribute(\"data-no-notification\", settings.config.disableAppNotification);\n for (const app of hiddenApps) {\n const buttonContainer = document.createElement(\"div\");\n buttonContainer.classList.add(\"item\");\n const button = document.createElement(\"button\");\n button.setAttribute(\"data-app-id\", app.id);\n const iconContainer = document.createElement(\"div\");\n const iconElement = document.createElement(\"template\");\n iconElement.innerHTML = app.icon ? getAppIcon(app.icon) : \"?\";\n iconContainer.append(iconElement.content.cloneNode(true));\n const notification = document.createElement(\"div\");\n notification.classList.add(\"notification\");\n iconContainer.append(notification);\n iconContainer.classList.add(\"icon\");\n button.append(iconContainer);\n button.append(document.createTextNode(app.name));\n button.addEventListener(\"click\", () => {\n overlay.toggleAppStatus(app);\n });\n buttonContainer.append(button);\n dropdown.append(buttonContainer);\n app.eventTarget.addEventListener(\"toggle-notification\", (evt) => {\n if (!(evt instanceof CustomEvent)) return;\n let newState = evt.detail.state ?? true;\n let level = notificationLevels.includes(evt?.detail?.level) ? evt.detail.level : \"error\";\n notification.toggleAttribute(\"data-active\", newState);\n if (newState) {\n notification.setAttribute(\"data-level\", level);\n notification.innerHTML = notificationSVGs[level];\n }\n app.notification.state = newState;\n if (newState) app.notification.level = level;\n eventTarget.dispatchEvent(\n new CustomEvent(\"toggle-notification\", {\n detail: {\n state: hiddenApps.some((p) => p.notification.state === true),\n level: [\"error\", \"warning\", \"info\"].find(\n (notificationLevel) => hiddenApps.some(\n (p) => p.notification.state === true && p.notification.level === notificationLevel\n )\n ) ?? \"error\"\n }\n })\n );\n });\n }\n canvas.append(dropdown);\n }\n }\n };\n const apps = [\n ...[astroDevToolApp, astroXrayApp, astroAuditApp, astroSettingsApp, astroMoreApp].map(\n (appDef) => prepareApp(appDef, true)\n ),\n ...customAppsDefinitions.map((appDef) => prepareApp(appDef, false))\n ];\n overlay.apps = apps;\n document.body.append(overlay);\n document.addEventListener(\"astro:after-swap\", () => {\n document.body.append(overlay);\n });\n});\n"],
5
- "mappings": "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",
6
- "names": []
7
- }