astro 3.4.3 → 3.5.0

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 (158) hide show
  1. package/client.d.ts +86 -0
  2. package/components/Code.astro +37 -4
  3. package/components/Image.astro +2 -2
  4. package/components/Picture.astro +19 -5
  5. package/components/ViewTransitions.astro +39 -38
  6. package/content-module.template.mjs +4 -14
  7. package/dist/@types/astro.d.ts +223 -5
  8. package/dist/assets/build/generate.d.ts +2 -1
  9. package/dist/assets/build/generate.js +16 -5
  10. package/dist/assets/consts.d.ts +1 -0
  11. package/dist/assets/consts.js +2 -0
  12. package/dist/assets/endpoint/generic.js +6 -2
  13. package/dist/assets/internal.js +11 -2
  14. package/dist/assets/services/service.d.ts +10 -10
  15. package/dist/assets/services/service.js +2 -1
  16. package/dist/assets/services/vendor/squoosh/image-pool.d.ts +1 -2
  17. package/dist/assets/types.d.ts +19 -9
  18. package/dist/assets/utils/emitAsset.js +5 -0
  19. package/dist/assets/utils/metadata.d.ts +1 -2
  20. package/dist/assets/utils/proxy.d.ts +1 -0
  21. package/dist/assets/utils/proxy.js +16 -0
  22. package/dist/assets/utils/queryParams.d.ts +1 -1
  23. package/dist/assets/utils/transformToPath.d.ts +1 -1
  24. package/dist/assets/utils/transformToPath.js +8 -3
  25. package/dist/assets/vite-plugin-assets.js +26 -11
  26. package/dist/cli/build/index.js +1 -1
  27. package/dist/content/consts.d.ts +1 -0
  28. package/dist/content/consts.js +2 -0
  29. package/dist/content/runtime-assets.d.ts +9 -1
  30. package/dist/content/runtime-assets.js +1 -1
  31. package/dist/content/runtime.d.ts +1 -0
  32. package/dist/content/runtime.js +8 -2
  33. package/dist/content/utils.d.ts +1 -0
  34. package/dist/content/utils.js +9 -0
  35. package/dist/content/vite-plugin-content-assets.js +49 -23
  36. package/dist/content/vite-plugin-content-imports.js +9 -3
  37. package/dist/content/vite-plugin-content-virtual-mod.d.ts +17 -12
  38. package/dist/content/vite-plugin-content-virtual-mod.js +136 -57
  39. package/dist/core/app/index.js +19 -4
  40. package/dist/core/app/types.d.ts +7 -1
  41. package/dist/core/build/buildPipeline.js +17 -4
  42. package/dist/core/build/common.js +2 -0
  43. package/dist/core/build/generate.js +64 -34
  44. package/dist/core/build/index.d.ts +0 -8
  45. package/dist/core/build/index.js +9 -2
  46. package/dist/core/build/internal.d.ts +11 -1
  47. package/dist/core/build/internal.js +23 -1
  48. package/dist/core/build/page-data.js +46 -18
  49. package/dist/core/build/plugin.d.ts +12 -10
  50. package/dist/core/build/plugin.js +14 -22
  51. package/dist/core/build/plugins/index.js +4 -0
  52. package/dist/core/build/plugins/plugin-alias-resolve.js +1 -1
  53. package/dist/core/build/plugins/plugin-analyzer.js +1 -1
  54. package/dist/core/build/plugins/plugin-chunks.d.ts +4 -0
  55. package/dist/core/build/plugins/plugin-chunks.js +31 -0
  56. package/dist/core/build/plugins/plugin-component-entry.js +1 -1
  57. package/dist/core/build/plugins/plugin-content.d.ts +4 -0
  58. package/dist/core/build/plugins/plugin-content.js +273 -0
  59. package/dist/core/build/plugins/plugin-css.js +9 -4
  60. package/dist/core/build/plugins/plugin-hoisted-scripts.js +1 -1
  61. package/dist/core/build/plugins/plugin-internals.js +1 -1
  62. package/dist/core/build/plugins/plugin-manifest.js +14 -5
  63. package/dist/core/build/plugins/plugin-middleware.d.ts +1 -3
  64. package/dist/core/build/plugins/plugin-middleware.js +5 -57
  65. package/dist/core/build/plugins/plugin-pages.js +3 -3
  66. package/dist/core/build/plugins/plugin-prerender.js +2 -5
  67. package/dist/core/build/plugins/plugin-renderers.js +1 -1
  68. package/dist/core/build/plugins/plugin-ssr.js +6 -5
  69. package/dist/core/build/plugins/util.d.ts +3 -3
  70. package/dist/core/build/static-build.d.ts +2 -1
  71. package/dist/core/build/static-build.js +52 -28
  72. package/dist/core/build/types.d.ts +1 -1
  73. package/dist/core/build/util.d.ts +7 -0
  74. package/dist/core/build/util.js +37 -1
  75. package/dist/core/compile/compile.js +1 -0
  76. package/dist/core/config/config.js +3 -0
  77. package/dist/core/config/schema.d.ts +208 -0
  78. package/dist/core/config/schema.js +72 -4
  79. package/dist/core/config/settings.js +1 -0
  80. package/dist/core/constants.js +1 -1
  81. package/dist/core/create-vite.js +9 -3
  82. package/dist/core/dev/dev.js +1 -1
  83. package/dist/core/endpoint/index.d.ts +4 -3
  84. package/dist/core/endpoint/index.js +29 -3
  85. package/dist/core/errors/errors-data.d.ts +11 -0
  86. package/dist/core/errors/errors-data.js +17 -0
  87. package/dist/core/messages.js +2 -2
  88. package/dist/core/middleware/index.d.ts +7 -3
  89. package/dist/core/middleware/index.js +3 -2
  90. package/dist/core/middleware/loadMiddleware.d.ts +1 -2
  91. package/dist/core/middleware/loadMiddleware.js +3 -4
  92. package/dist/core/middleware/sequence.d.ts +2 -2
  93. package/dist/core/middleware/sequence.js +3 -2
  94. package/dist/core/middleware/vite-plugin.d.ts +9 -0
  95. package/dist/core/middleware/vite-plugin.js +101 -0
  96. package/dist/core/pipeline.d.ts +1 -1
  97. package/dist/core/pipeline.js +6 -4
  98. package/dist/core/preview/static-preview-server.js +3 -1
  99. package/dist/core/preview/vite-plugin-astro-preview.js +13 -2
  100. package/dist/core/redirects/helpers.d.ts +1 -0
  101. package/dist/core/redirects/helpers.js +4 -0
  102. package/dist/core/render/context.d.ts +24 -1
  103. package/dist/core/render/context.js +96 -2
  104. package/dist/core/render/core.d.ts +2 -14
  105. package/dist/core/render/core.js +12 -52
  106. package/dist/core/render/index.d.ts +2 -3
  107. package/dist/core/render/index.js +3 -4
  108. package/dist/core/render/params-and-props.d.ts +1 -1
  109. package/dist/core/render/params-and-props.js +5 -2
  110. package/dist/core/render/result.d.ts +1 -0
  111. package/dist/core/render/result.js +23 -0
  112. package/dist/core/render/route-cache.d.ts +1 -1
  113. package/dist/core/render/route-cache.js +17 -11
  114. package/dist/core/routing/manifest/create.js +118 -4
  115. package/dist/core/sync/index.d.ts +2 -24
  116. package/dist/i18n/index.d.ts +54 -0
  117. package/dist/i18n/index.js +91 -0
  118. package/dist/i18n/middleware.d.ts +2 -0
  119. package/dist/i18n/middleware.js +62 -0
  120. package/dist/i18n/vite-plugin-i18n.d.ts +7 -0
  121. package/dist/i18n/vite-plugin-i18n.js +62 -0
  122. package/dist/integrations/astroFeaturesValidation.js +4 -1
  123. package/dist/integrations/index.js +12 -0
  124. package/dist/prefetch/index.d.ts +31 -0
  125. package/dist/prefetch/index.js +176 -0
  126. package/dist/prefetch/vite-plugin-prefetch.d.ts +5 -0
  127. package/dist/prefetch/vite-plugin-prefetch.js +43 -0
  128. package/dist/runtime/client/dev-overlay/entrypoint.js +2 -2
  129. package/dist/runtime/client/dev-overlay/overlay.d.ts +10 -2
  130. package/dist/runtime/client/dev-overlay/overlay.js +47 -28
  131. package/dist/runtime/client/dev-overlay/plugins/astro.d.ts +1 -0
  132. package/dist/runtime/client/dev-overlay/plugins/astro.js +44 -9
  133. package/dist/runtime/client/dev-overlay/plugins/audit.d.ts +2 -1
  134. package/dist/runtime/client/dev-overlay/plugins/audit.js +101 -24
  135. package/dist/runtime/client/dev-overlay/plugins/xray.d.ts +1 -0
  136. package/dist/runtime/client/dev-overlay/plugins/xray.js +22 -0
  137. package/dist/runtime/client/dev-overlay/ui-library/card.js +2 -0
  138. package/dist/runtime/client/dev-overlay/ui-library/icons.d.ts +3 -0
  139. package/dist/runtime/client/dev-overlay/ui-library/icons.js +4 -1
  140. package/dist/runtime/client/dev-overlay/ui-library/tooltip.js +1 -0
  141. package/dist/runtime/client/dev-overlay/ui-library/window.js +1 -0
  142. package/dist/runtime/server/index.d.ts +0 -2
  143. package/dist/runtime/server/render/component.js +3 -5
  144. package/dist/transitions/router.d.ts +1 -0
  145. package/dist/transitions/router.js +10 -5
  146. package/dist/transitions/vite-plugin-transitions.d.ts +4 -1
  147. package/dist/transitions/vite-plugin-transitions.js +7 -1
  148. package/dist/vite-plugin-astro-server/devPipeline.d.ts +1 -0
  149. package/dist/vite-plugin-astro-server/devPipeline.js +2 -0
  150. package/dist/vite-plugin-astro-server/plugin.js +11 -1
  151. package/dist/vite-plugin-astro-server/route.js +113 -51
  152. package/dist/vite-plugin-head/index.js +1 -1
  153. package/dist/vite-plugin-markdown/index.js +1 -0
  154. package/dist/vite-plugin-scripts/index.js +2 -1
  155. package/package.json +7 -5
  156. package/tsconfigs/base.json +1 -1
  157. package/dist/core/endpoint/dev/index.d.ts +0 -2
  158. package/dist/core/endpoint/dev/index.js +0 -17
@@ -1,3 +1,4 @@
1
+ import { getIconElement } from "../ui-library/icons.js";
1
2
  import { attachTooltipToHighlight, createHighlight, positionHighlight } from "./utils/highlight.js";
2
3
  const icon = '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 16"><path fill="#fff" d="M.6 2A1.1 1.1 0 0 1 1.7.9h16.6a1.1 1.1 0 1 1 0 2.2H1.6A1.1 1.1 0 0 1 .8 2Zm1.1 7.1h6a1.1 1.1 0 0 0 0-2.2h-6a1.1 1.1 0 0 0 0 2.2ZM9.3 13H1.8a1.1 1.1 0 1 0 0 2.2h7.5a1.1 1.1 0 1 0 0-2.2Zm11.3 1.9a1.1 1.1 0 0 1-1.5 0l-1.7-1.7a4.1 4.1 0 1 1 1.6-1.6l1.6 1.7a1.1 1.1 0 0 1 0 1.6Zm-5.3-3.4a1.9 1.9 0 1 0 0-3.8 1.9 1.9 0 0 0 0 3.8Z"/></svg>';
3
4
  const selectorBasedRules = [
@@ -11,54 +12,84 @@ var audit_default = {
11
12
  id: "astro:audit",
12
13
  name: "Audit",
13
14
  icon,
14
- init(canvas, eventTarget) {
15
+ async init(canvas, eventTarget) {
15
16
  let audits = [];
16
- lint();
17
- document.addEventListener("astro:after-swap", lint);
18
- document.addEventListener("astro:page-load", refreshLintPositions);
19
- function lint() {
17
+ await lint();
18
+ document.addEventListener("astro:after-swap", async () => lint());
19
+ document.addEventListener("astro:page-load", async () => refreshLintPositions);
20
+ async function lint() {
21
+ initStyle();
20
22
  audits.forEach(({ highlightElement }) => {
21
23
  highlightElement.remove();
22
24
  });
23
25
  audits = [];
24
- selectorBasedRules.forEach((rule) => {
25
- document.querySelectorAll(rule.selector).forEach((el) => {
26
- createAuditProblem(rule, el);
27
- });
28
- });
26
+ canvas.getElementById("no-audit")?.remove();
27
+ for (const rule of selectorBasedRules) {
28
+ const elements = document.querySelectorAll(rule.selector);
29
+ for (const element of elements) {
30
+ await createAuditProblem(rule, element);
31
+ }
32
+ }
29
33
  if (audits.length > 0) {
30
34
  eventTarget.dispatchEvent(
31
- new CustomEvent("plugin-notification", {
35
+ new CustomEvent("toggle-notification", {
32
36
  detail: {
33
37
  state: true
34
38
  }
35
39
  })
36
40
  );
41
+ } else {
42
+ eventTarget.dispatchEvent(
43
+ new CustomEvent("toggle-notification", {
44
+ detail: {
45
+ state: false
46
+ }
47
+ })
48
+ );
49
+ const noAuditBlock = document.createElement("div");
50
+ noAuditBlock.id = "no-audit";
51
+ const noAuditIcon = getIconElement("check-circle");
52
+ const text = document.createElement("div");
53
+ text.textContent = "No issues found!";
54
+ if (noAuditIcon) {
55
+ noAuditIcon.style.width = "24px";
56
+ noAuditBlock.append(noAuditIcon);
57
+ }
58
+ noAuditBlock.append(text);
59
+ canvas.append(noAuditBlock);
37
60
  }
61
+ ["scroll", "resize"].forEach((event) => {
62
+ window.addEventListener(event, refreshLintPositions);
63
+ });
38
64
  }
39
65
  function refreshLintPositions() {
66
+ const noAuditBlock = canvas.getElementById("no-audit");
67
+ if (noAuditBlock) {
68
+ const devOverlayRect = document.querySelector("astro-dev-overlay")?.shadowRoot.querySelector("#dev-overlay")?.getBoundingClientRect();
69
+ noAuditBlock.style.top = `${(devOverlayRect?.top ?? 0) - (devOverlayRect?.height ?? 0) - 16}px`;
70
+ }
40
71
  audits.forEach(({ highlightElement, auditedElement }) => {
41
72
  const rect = auditedElement.getBoundingClientRect();
42
73
  positionHighlight(highlightElement, rect);
43
74
  });
44
75
  }
45
- function createAuditProblem(rule, originalElement) {
76
+ async function createAuditProblem(rule, originalElement) {
46
77
  const computedStyle = window.getComputedStyle(originalElement);
47
78
  const targetedElement = originalElement.children[0] || originalElement;
48
79
  if (targetedElement.offsetParent === null || computedStyle.display === "none") {
49
80
  return;
50
81
  }
82
+ if (originalElement.nodeName === "IMG" && !originalElement.complete) {
83
+ await originalElement.decode();
84
+ }
51
85
  const rect = originalElement.getBoundingClientRect();
52
86
  const highlight = createHighlight(rect, "warning");
53
- const tooltip = buildAuditTooltip(rule);
87
+ const tooltip = buildAuditTooltip(rule, originalElement);
54
88
  attachTooltipToHighlight(highlight, tooltip, originalElement);
55
89
  canvas.append(highlight);
56
90
  audits.push({ highlightElement: highlight, auditedElement: originalElement });
57
- ["scroll", "resize"].forEach((event) => {
58
- window.addEventListener(event, refreshLintPositions);
59
- });
60
91
  }
61
- function buildAuditTooltip(rule) {
92
+ function buildAuditTooltip(rule, element) {
62
93
  const tooltip = document.createElement("astro-dev-overlay-tooltip");
63
94
  tooltip.sections = [
64
95
  {
@@ -68,16 +99,62 @@ var audit_default = {
68
99
  {
69
100
  content: rule.message
70
101
  }
71
- // TODO: Add a link to the file
72
- // Needs https://github.com/withastro/compiler/pull/375
73
- // {
74
- // content: '/src/somewhere/component.astro',
75
- // clickDescription: 'Click to go to file',
76
- // clickAction() {},
77
- // },
78
102
  ];
103
+ const elementFile = element.getAttribute("data-astro-source-file");
104
+ const elementPosition = element.getAttribute("data-astro-source-loc");
105
+ if (elementFile) {
106
+ const elementFileWithPosition = elementFile + (elementPosition ? ":" + elementPosition : "");
107
+ tooltip.sections.push({
108
+ content: elementFileWithPosition.slice(
109
+ window.__astro_dev_overlay__.root.length - 1
110
+ // We want to keep the final slash, so minus one.
111
+ ),
112
+ clickDescription: "Click to go to file",
113
+ async clickAction() {
114
+ await fetch("/__open-in-editor?file=" + encodeURIComponent(elementFileWithPosition));
115
+ }
116
+ });
117
+ }
79
118
  return tooltip;
80
119
  }
120
+ function initStyle() {
121
+ const devOverlayRect = document.querySelector("astro-dev-overlay")?.shadowRoot.querySelector("#dev-overlay")?.getBoundingClientRect();
122
+ const style = document.createElement("style");
123
+ style.textContent = `
124
+ :host {
125
+ opacity: 0;
126
+ transition: opacity 0.1s ease-in-out;
127
+ }
128
+
129
+ :host([data-active]) {
130
+ opacity: 1;
131
+ }
132
+
133
+ #no-audit {
134
+ border: 1px solid rgba(113, 24, 226, 1);
135
+ background-color: #310A65;
136
+ box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.30), 0px 1px 2px 0px rgba(0, 0, 0, 0.29), 0px 4px 4px 0px rgba(0, 0, 0, 0.26), 0px 10px 6px 0px rgba(0, 0, 0, 0.15), 0px 17px 7px 0px rgba(0, 0, 0, 0.04), 0px 26px 7px 0px rgba(0, 0, 0, 0.01);
137
+ color: white;
138
+ text-align: center;
139
+ border-radius: 4px;
140
+ padding: 8px;
141
+ font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
142
+ position: fixed;
143
+ transform: translate(-50%, 0);
144
+ top: ${(devOverlayRect?.top ?? 0) - (devOverlayRect?.height ?? 0) - 16}px;
145
+ left: calc(50% + 12px);
146
+ width: 200px;
147
+ }
148
+ `;
149
+ canvas.append(style);
150
+ }
151
+ },
152
+ async beforeTogglingOff(canvas) {
153
+ canvas.host?.removeAttribute("data-active");
154
+ await new Promise((resolve) => {
155
+ canvas.host.addEventListener("transitionend", resolve);
156
+ });
157
+ return true;
81
158
  }
82
159
  };
83
160
  export {
@@ -3,5 +3,6 @@ declare const _default: {
3
3
  name: string;
4
4
  icon: "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#fff\" d=\"M7.9 1.5v-.4a1.1 1.1 0 0 1 2.2 0v.4a1.1 1.1 0 1 1-2.2 0Zm-6.4 8.6a1.1 1.1 0 1 0 0-2.2h-.4a1.1 1.1 0 0 0 0 2.2h.4ZM12 3.7a1.1 1.1 0 0 0 1.4-.7l.4-1.1a1.1 1.1 0 0 0-2.1-.8l-.4 1.2a1.1 1.1 0 0 0 .7 1.4Zm-9.7 7.6-1.2.4a1.1 1.1 0 1 0 .8 2.1l1-.4a1.1 1.1 0 1 0-.6-2ZM20.8 17a1.9 1.9 0 0 1 0 2.6l-1.2 1.2a1.9 1.9 0 0 1-2.6 0l-4.3-4.2-1.6 3.6a1.9 1.9 0 0 1-1.7 1.2A1.9 1.9 0 0 1 7.5 20L2.7 5a1.9 1.9 0 0 1 2.4-2.4l15 5a1.9 1.9 0 0 1 .2 3.4l-3.7 1.6 4.2 4.3ZM19 18.3 14.6 14a1.9 1.9 0 0 1 .6-3l3.2-1.5L5.1 5.1l4.3 13.3 1.5-3.2a1.9 1.9 0 0 1 3-.6l4.4 4.4.7-.7Z\"/></svg>";
5
5
  init(canvas: ShadowRoot): void;
6
+ beforeTogglingOff(canvas: ShadowRoot): Promise<boolean>;
6
7
  };
7
8
  export default _default;
@@ -10,6 +10,7 @@ var xray_default = {
10
10
  document.addEventListener("astro:after-swap", addIslandsOverlay);
11
11
  document.addEventListener("astro:page-load", refreshIslandsOverlayPositions);
12
12
  function addIslandsOverlay() {
13
+ initStyle();
13
14
  islandsOverlays.forEach(({ highlightElement }) => {
14
15
  highlightElement.remove();
15
16
  });
@@ -75,6 +76,27 @@ var xray_default = {
75
76
  const [_, value] = prop;
76
77
  return JSON.stringify(value, null, 2);
77
78
  }
79
+ function initStyle() {
80
+ const style = document.createElement("style");
81
+ style.textContent = `
82
+ :host {
83
+ opacity: 0;
84
+ transition: opacity 0.1s ease-in-out;
85
+ }
86
+
87
+ :host([data-active]) {
88
+ opacity: 1;
89
+ }
90
+ `;
91
+ canvas.append(style);
92
+ }
93
+ },
94
+ async beforeTogglingOff(canvas) {
95
+ canvas.host?.removeAttribute("data-active");
96
+ await new Promise((resolve) => {
97
+ canvas.host.addEventListener("transitionend", resolve);
98
+ });
99
+ return true;
78
100
  }
79
101
  };
80
102
  export {
@@ -23,6 +23,8 @@ class DevOverlayCard extends HTMLElement {
23
23
  font-weight: 600;
24
24
  line-height: 19px;
25
25
  text-decoration: none;
26
+ background-color: #13151A;
27
+ box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.10), 0px 1px 2px 0px rgba(0, 0, 0, 0.10), 0px 4px 4px 0px rgba(0, 0, 0, 0.09), 0px 10px 6px 0px rgba(0, 0, 0, 0.05), 0px 17px 7px 0px rgba(0, 0, 0, 0.01), 0px 26px 7px 0px rgba(0, 0, 0, 0.00);
26
28
  }
27
29
 
28
30
  a:hover, button:hover {
@@ -6,5 +6,8 @@ declare const icons: {
6
6
  readonly 'astro:logo': "<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 85 107\"><path fill=\"#fff\" d=\"M27.6 91.1c-4.8-4.4-6.3-13.7-4.2-20.4 3.5 4.2 8.3 5.6 13.3 6.3 7.7 1.2 15.3.8 22.5-2.8l2.5-1.4c.7 2 .9 3.9.6 5.9-.6 4.9-3 8.7-6.9 11.5-1.5 1.2-3.2 2.2-4.8 3.3-4.9 3.3-6.2 7.2-4.4 12.9l.2.6a13 13 0 0 1-5.7-5 13.8 13.8 0 0 1-2.2-7.4c0-1.3 0-2.7-.2-4-.5-3.1-2-4.6-4.8-4.7a5.5 5.5 0 0 0-5.7 4.6l-.2.6Z\"/><path fill=\"url(#a)\" d=\"M27.6 91.1c-4.8-4.4-6.3-13.7-4.2-20.4 3.5 4.2 8.3 5.6 13.3 6.3 7.7 1.2 15.3.8 22.5-2.8l2.5-1.4c.7 2 .9 3.9.6 5.9-.6 4.9-3 8.7-6.9 11.5-1.5 1.2-3.2 2.2-4.8 3.3-4.9 3.3-6.2 7.2-4.4 12.9l.2.6a13 13 0 0 1-5.7-5 13.8 13.8 0 0 1-2.2-7.4c0-1.3 0-2.7-.2-4-.5-3.1-2-4.6-4.8-4.7a5.5 5.5 0 0 0-5.7 4.6l-.2.6Z\"/><path fill=\"#fff\" d=\"M0 69.6s14.3-7 28.7-7l10.8-33.5c.4-1.6 1.6-2.7 3-2.7 1.2 0 2.4 1.1 2.8 2.7l10.9 33.5c17 0 28.6 7 28.6 7L60.5 3.2c-.7-2-2-3.2-3.5-3.2H27.8c-1.6 0-2.7 1.3-3.4 3.2L0 69.6Z\"/><defs><linearGradient id=\"a\" x1=\"22.5\" x2=\"69.1\" y1=\"107\" y2=\"84.9\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#D83333\"/><stop offset=\"1\" stop-color=\"#F041FF\"/></linearGradient></defs></svg>";
7
7
  readonly warning: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path fill=\"#fff\" d=\"M8 .40625c-1.5019 0-2.97007.445366-4.21886 1.27978C2.53236 2.52044 1.55905 3.70642.984293 5.094.40954 6.48157.259159 8.00842.552165 9.48147.845172 10.9545 1.56841 12.3076 2.63041 13.3696c1.06201 1.062 2.41508 1.7852 3.88813 2.0782 1.47304.293 2.99989.1427 4.38746-.4321 1.3876-.5747 2.5736-1.5481 3.408-2.7968.8344-1.2488 1.2798-2.717 1.2798-4.2189-.0023-2.0133-.8031-3.9435-2.2267-5.36713C11.9435 1.20925 10.0133.408483 8 .40625ZM8 13.9062c-1.16814 0-2.31006-.3463-3.28133-.9953-.97128-.649-1.7283-1.5715-2.17533-2.6507-.44703-1.0792-.56399-2.26675-.3361-3.41245.22789-1.1457.79041-2.1981 1.61641-3.0241.82601-.826 1.8784-1.38852 3.0241-1.61641 1.1457-.2279 2.33325-.11093 3.41245.3361 1.0793.44703 2.0017 1.20405 2.6507 2.17532.649.97128.9954 2.11319.9954 3.28134-.0017 1.56592-.6245 3.0672-1.7318 4.1745S9.56592 13.9046 8 13.9062Zm-.84375-5.62495V4.625c0-.22378.0889-.43839.24713-.59662.15824-.15824.37285-.24713.59662-.24713.22378 0 .43839.08889.59662.24713.15824.15823.24713.37284.24713.59662v3.65625c0 .22378-.08889.43839-.24713.59662C8.43839 9.03611 8.22378 9.125 8 9.125c-.22377 0-.43838-.08889-.59662-.24713-.15823-.15823-.24713-.37284-.24713-.59662ZM9.125 11.0938c0 .2225-.06598.44-.18959.625-.12362.185-.29932.3292-.50489.4143-.20556.0852-.43176.1074-.64999.064-.21823-.0434-.41869-.1505-.57602-.3079-.15734-.1573-.26448-.3577-.30789-.576-.04341-.2182-.02113-.4444.06402-.65.08515-.2055.22934-.3812.41435-.5049.185-.1236.40251-.18955.62501-.18955.29837 0 .58452.11855.7955.32955.21098.2109.3295.4971.3295.7955Z\"/></svg>";
8
8
  readonly '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>";
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
+ 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
+ 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>";
9
12
  };
10
13
  export {};
@@ -13,7 +13,10 @@ function getIconElement(name) {
13
13
  const icons = {
14
14
  "astro:logo": `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 85 107"><path fill="#fff" d="M27.6 91.1c-4.8-4.4-6.3-13.7-4.2-20.4 3.5 4.2 8.3 5.6 13.3 6.3 7.7 1.2 15.3.8 22.5-2.8l2.5-1.4c.7 2 .9 3.9.6 5.9-.6 4.9-3 8.7-6.9 11.5-1.5 1.2-3.2 2.2-4.8 3.3-4.9 3.3-6.2 7.2-4.4 12.9l.2.6a13 13 0 0 1-5.7-5 13.8 13.8 0 0 1-2.2-7.4c0-1.3 0-2.7-.2-4-.5-3.1-2-4.6-4.8-4.7a5.5 5.5 0 0 0-5.7 4.6l-.2.6Z"/><path fill="url(#a)" d="M27.6 91.1c-4.8-4.4-6.3-13.7-4.2-20.4 3.5 4.2 8.3 5.6 13.3 6.3 7.7 1.2 15.3.8 22.5-2.8l2.5-1.4c.7 2 .9 3.9.6 5.9-.6 4.9-3 8.7-6.9 11.5-1.5 1.2-3.2 2.2-4.8 3.3-4.9 3.3-6.2 7.2-4.4 12.9l.2.6a13 13 0 0 1-5.7-5 13.8 13.8 0 0 1-2.2-7.4c0-1.3 0-2.7-.2-4-.5-3.1-2-4.6-4.8-4.7a5.5 5.5 0 0 0-5.7 4.6l-.2.6Z"/><path fill="#fff" d="M0 69.6s14.3-7 28.7-7l10.8-33.5c.4-1.6 1.6-2.7 3-2.7 1.2 0 2.4 1.1 2.8 2.7l10.9 33.5c17 0 28.6 7 28.6 7L60.5 3.2c-.7-2-2-3.2-3.5-3.2H27.8c-1.6 0-2.7 1.3-3.4 3.2L0 69.6Z"/><defs><linearGradient id="a" x1="22.5" x2="69.1" y1="107" y2="84.9" gradientUnits="userSpaceOnUse"><stop stop-color="#D83333"/><stop offset="1" stop-color="#F041FF"/></linearGradient></defs></svg>`,
15
15
  warning: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="#fff" d="M8 .40625c-1.5019 0-2.97007.445366-4.21886 1.27978C2.53236 2.52044 1.55905 3.70642.984293 5.094.40954 6.48157.259159 8.00842.552165 9.48147.845172 10.9545 1.56841 12.3076 2.63041 13.3696c1.06201 1.062 2.41508 1.7852 3.88813 2.0782 1.47304.293 2.99989.1427 4.38746-.4321 1.3876-.5747 2.5736-1.5481 3.408-2.7968.8344-1.2488 1.2798-2.717 1.2798-4.2189-.0023-2.0133-.8031-3.9435-2.2267-5.36713C11.9435 1.20925 10.0133.408483 8 .40625ZM8 13.9062c-1.16814 0-2.31006-.3463-3.28133-.9953-.97128-.649-1.7283-1.5715-2.17533-2.6507-.44703-1.0792-.56399-2.26675-.3361-3.41245.22789-1.1457.79041-2.1981 1.61641-3.0241.82601-.826 1.8784-1.38852 3.0241-1.61641 1.1457-.2279 2.33325-.11093 3.41245.3361 1.0793.44703 2.0017 1.20405 2.6507 2.17532.649.97128.9954 2.11319.9954 3.28134-.0017 1.56592-.6245 3.0672-1.7318 4.1745S9.56592 13.9046 8 13.9062Zm-.84375-5.62495V4.625c0-.22378.0889-.43839.24713-.59662.15824-.15824.37285-.24713.59662-.24713.22378 0 .43839.08889.59662.24713.15824.15823.24713.37284.24713.59662v3.65625c0 .22378-.08889.43839-.24713.59662C8.43839 9.03611 8.22378 9.125 8 9.125c-.22377 0-.43838-.08889-.59662-.24713-.15823-.15823-.24713-.37284-.24713-.59662ZM9.125 11.0938c0 .2225-.06598.44-.18959.625-.12362.185-.29932.3292-.50489.4143-.20556.0852-.43176.1074-.64999.064-.21823-.0434-.41869-.1505-.57602-.3079-.15734-.1573-.26448-.3577-.30789-.576-.04341-.2182-.02113-.4444.06402-.65.08515-.2055.22934-.3812.41435-.5049.185-.1236.40251-.18955.62501-.18955.29837 0 .58452.11855.7955.32955.21098.2109.3295.4971.3295.7955Z"/></svg>`,
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>'
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
+ 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
+ "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>'
17
20
  };
18
21
  export {
19
22
  getIconElement,
@@ -24,6 +24,7 @@ class DevOverlayTooltip extends HTMLElement {
24
24
  max-width: 45ch;
25
25
  width: fit-content;
26
26
  min-width: 27ch;
27
+ box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.30), 0px 1px 2px 0px rgba(0, 0, 0, 0.29), 0px 4px 4px 0px rgba(0, 0, 0, 0.26), 0px 10px 6px 0px rgba(0, 0, 0, 0.15), 0px 17px 7px 0px rgba(0, 0, 0, 0.04), 0px 26px 7px 0px rgba(0, 0, 0, 0.01);
27
28
  }
28
29
 
29
30
  :host([data-show="true"]) {
@@ -28,6 +28,7 @@ class DevOverlayWindow extends HTMLElement {
28
28
  top: 55%;
29
29
  left: 50%;
30
30
  transform: translate(-50%, -50%);
31
+ 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);
31
32
  }
32
33
 
33
34
  h1 {
@@ -7,8 +7,6 @@ export { addAttribute, createHeadAndContent, defineScriptVars, Fragment, maybeRe
7
7
  export type { AstroComponentFactory, AstroComponentInstance, ComponentSlots, RenderInstruction, } from './render/index.js';
8
8
  export { createTransitionScope, renderTransition } from './transition.js';
9
9
  export declare function mergeSlots(...slotted: unknown[]): Record<string, () => any>;
10
- /** @internal Associate JSX components with a specific renderer (see /src/vite-plugin-jsx/tag.ts) */
11
- export declare function __astro_tag_component__(Component: unknown, rendererName: string): void;
12
10
  export declare function spreadAttributes(values?: Record<any, any>, _name?: string, { class: scopedClassName }?: {
13
11
  class?: string;
14
12
  }): any;
@@ -6,11 +6,9 @@ import { extractDirectives, generateHydrateScript } from "../hydration.js";
6
6
  import { serializeProps } from "../serialize.js";
7
7
  import { shorthash } from "../shorthash.js";
8
8
  import { isPromise } from "../util.js";
9
- import {
10
- createAstroComponentInstance,
11
- isAstroComponentFactory,
12
- renderTemplate
13
- } from "./astro/index.js";
9
+ import { isAstroComponentFactory } from "./astro/factory.js";
10
+ import { renderTemplate } from "./astro/index.js";
11
+ import { createAstroComponentInstance } from "./astro/instance.js";
14
12
  import {
15
13
  Fragment,
16
14
  Renderer,
@@ -2,6 +2,7 @@ export type Fallback = 'none' | 'animate' | 'swap';
2
2
  export type Direction = 'forward' | 'back';
3
3
  export type Options = {
4
4
  history?: 'auto' | 'push' | 'replace';
5
+ formData?: FormData;
5
6
  };
6
7
  export declare const supportsViewTransitions: boolean;
7
8
  export declare const transitionEnabledOnThisPage: () => boolean;
@@ -53,9 +53,9 @@ const throttle = (cb, delay) => {
53
53
  }, delay);
54
54
  };
55
55
  };
56
- async function fetchHTML(href) {
56
+ async function fetchHTML(href, init) {
57
57
  try {
58
- const res = await fetch(href);
58
+ const res = await fetch(href, init);
59
59
  const mediaType = res.headers.get("content-type")?.replace(/;.*$/, "");
60
60
  if (mediaType !== "text/html" && mediaType !== "application/xhtml+xml") {
61
61
  return null;
@@ -253,7 +253,12 @@ async function updateDOM(newDocument, toLocation, options, popState, fallback) {
253
253
  async function transition(direction, toLocation, options, popState) {
254
254
  let finished;
255
255
  const href = toLocation.href;
256
- const response = await fetchHTML(href);
256
+ const init = {};
257
+ if (options.formData) {
258
+ init.method = "POST";
259
+ init.body = options.formData;
260
+ }
261
+ const response = await fetchHTML(href, init);
257
262
  if (response === null) {
258
263
  location.href = href;
259
264
  return;
@@ -264,7 +269,7 @@ async function transition(direction, toLocation, options, popState) {
264
269
  parser ??= new DOMParser();
265
270
  const newDocument = parser.parseFromString(response.html, response.mediaType);
266
271
  newDocument.querySelectorAll("noscript").forEach((el) => el.remove());
267
- if (!newDocument.querySelector('[name="astro-view-transitions-enabled"]')) {
272
+ if (!newDocument.querySelector('[name="astro-view-transitions-enabled"]') && !options.formData) {
268
273
  location.href = href;
269
274
  return;
270
275
  }
@@ -359,7 +364,7 @@ if (inBrowser) {
359
364
  async function prepareForClientOnlyComponents(newDocument, toLocation) {
360
365
  if (newDocument.body.querySelector(`astro-island[client='only']`)) {
361
366
  const nextPage = document.createElement("iframe");
362
- nextPage.srcdoc = (newDocument.doctype ? "<!DOCTYPE html>" : "") + newDocument.documentElement.outerHTML;
367
+ nextPage.src = toLocation.href;
363
368
  nextPage.style.display = "none";
364
369
  document.body.append(nextPage);
365
370
  nextPage.contentWindow.console = Object.keys(console).reduce((acc, key) => {
@@ -1,2 +1,5 @@
1
1
  import * as vite from 'vite';
2
- export default function astroTransitions(): vite.Plugin;
2
+ import type { AstroSettings } from '../@types/astro.js';
3
+ export default function astroTransitions({ settings }: {
4
+ settings: AstroSettings;
5
+ }): vite.Plugin;
@@ -3,7 +3,7 @@ const virtualModuleId = "astro:transitions";
3
3
  const resolvedVirtualModuleId = "\0" + virtualModuleId;
4
4
  const virtualClientModuleId = "astro:transitions/client";
5
5
  const resolvedVirtualClientModuleId = "\0" + virtualClientModuleId;
6
- function astroTransitions() {
6
+ function astroTransitions({ settings }) {
7
7
  return {
8
8
  name: "astro:transitions",
9
9
  async resolveId(id) {
@@ -26,6 +26,12 @@ function astroTransitions() {
26
26
  export * from "astro/transitions/router";
27
27
  `;
28
28
  }
29
+ },
30
+ transform(code, id) {
31
+ if (id.includes("ViewTransitions.astro") && id.endsWith(".ts")) {
32
+ const prefetchDisabled = settings.config.prefetch === false;
33
+ return code.replace("__PREFETCH_DISABLED__", JSON.stringify(prefetchDisabled));
34
+ }
29
35
  }
30
36
  };
31
37
  }
@@ -18,4 +18,5 @@ export default class DevPipeline extends Pipeline {
18
18
  get logger(): Readonly<Logger>;
19
19
  loadRenderers(): Promise<void>;
20
20
  static createDevelopmentEnvironment(manifest: SSRManifest, settings: AstroSettings, logger: Logger, loader: ModuleLoader): Environment;
21
+ handleFallback(): Promise<void>;
21
22
  }
@@ -61,6 +61,8 @@ class DevPipeline extends Pipeline {
61
61
  async #handleEndpointResult(_, response) {
62
62
  return response;
63
63
  }
64
+ async handleFallback() {
65
+ }
64
66
  }
65
67
  export {
66
68
  DevPipeline as default
@@ -59,6 +59,15 @@ function createVitePluginAstroServer({
59
59
  };
60
60
  }
61
61
  function createDevelopmentManifest(settings) {
62
+ let i18nManifest = void 0;
63
+ if (settings.config.experimental.i18n) {
64
+ i18nManifest = {
65
+ fallback: settings.config.experimental.i18n.fallback,
66
+ routingStrategy: settings.config.experimental.i18n.routingStrategy,
67
+ defaultLocale: settings.config.experimental.i18n.defaultLocale,
68
+ locales: settings.config.experimental.i18n.locales
69
+ };
70
+ }
62
71
  return {
63
72
  compressHTML: settings.config.compressHTML,
64
73
  assets: /* @__PURE__ */ new Set(),
@@ -70,7 +79,8 @@ function createDevelopmentManifest(settings) {
70
79
  base: settings.config.base,
71
80
  assetsPrefix: settings.config.build.assetsPrefix,
72
81
  site: settings.config.site ? new URL(settings.config.base, settings.config.site).toString() : settings.config.site,
73
- componentMetadata: /* @__PURE__ */ new Map()
82
+ componentMetadata: /* @__PURE__ */ new Map(),
83
+ i18n: i18nManifest
74
84
  };
75
85
  }
76
86
  export {