@solidjs/start 2.0.0-beta.9 → 2.0.0-rc.10

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 (126) hide show
  1. package/CHANGELOG.md +149 -1
  2. package/dist/config/app-root-alias.d.ts +7 -0
  3. package/dist/config/app-root-alias.js +58 -0
  4. package/dist/config/constants.d.ts +2 -0
  5. package/dist/config/constants.js +2 -0
  6. package/dist/config/env.js +13 -10
  7. package/dist/config/fs-routes/index.js +3 -3
  8. package/dist/config/fs-routes/tree-shake.d.ts +27 -0
  9. package/dist/config/fs-routes/tree-shake.js +226 -33
  10. package/dist/config/index.d.ts +154 -5
  11. package/dist/config/index.js +23 -10
  12. package/dist/config/lazy.js +7 -2
  13. package/dist/config/manifest.d.ts +3 -0
  14. package/dist/config/manifest.js +26 -4
  15. package/dist/directives/remove-unused-variables.js +15 -3
  16. package/dist/directives/xxhash32.js +5 -13
  17. package/dist/fns/client.js +14 -5
  18. package/dist/fns/error-handler.d.ts +34 -0
  19. package/dist/fns/error-handler.js +10 -0
  20. package/dist/fns/handler.d.ts +1 -1
  21. package/dist/fns/handler.js +58 -12
  22. package/dist/fns/plugins.d.ts +34 -0
  23. package/dist/fns/plugins.js +33 -0
  24. package/dist/fns/serialization.d.ts +15 -0
  25. package/dist/fns/serialization.js +36 -6
  26. package/dist/middleware/index.js +4 -1
  27. package/dist/server/StartServer.jsx +1 -1
  28. package/dist/server/assets/render.jsx +1 -1
  29. package/dist/server/collect-styles.d.ts +3 -1
  30. package/dist/server/collect-styles.js +8 -5
  31. package/dist/server/fetchEvent.d.ts +10 -0
  32. package/dist/server/fetchEvent.js +10 -0
  33. package/dist/server/handler.d.ts +3 -4
  34. package/dist/server/handler.js +22 -56
  35. package/dist/server/index.d.ts +3 -1
  36. package/dist/server/index.jsx +1 -0
  37. package/dist/server/manifest/dev-client-manifest.js +1 -1
  38. package/dist/server/manifest/dev-ssr-manifest.js +1 -1
  39. package/dist/server/spa/StartServer.jsx +1 -1
  40. package/dist/server/spa/handler.d.ts +2 -3
  41. package/dist/server/spa/handler.js +2 -2
  42. package/dist/server/strip-path-base.d.ts +1 -0
  43. package/dist/server/strip-path-base.js +10 -0
  44. package/dist/server/types.d.ts +12 -1
  45. package/dist/server/web-stream.d.ts +9 -0
  46. package/dist/server/web-stream.js +29 -0
  47. package/dist/shared/ErrorBoundary.jsx +3 -3
  48. package/dist/shared/clientOnly.js +3 -1
  49. package/dist/shared/{dev-overlay → dev-toolbar/error-viewer}/CodeView.jsx +3 -3
  50. package/dist/shared/dev-toolbar/error-viewer/create-stack-frame.js +90 -0
  51. package/dist/shared/{dev-overlay/DevOverlayDialog.d.ts → dev-toolbar/error-viewer/index.d.ts} +3 -2
  52. package/dist/shared/{dev-overlay/DevOverlayDialog.jsx → dev-toolbar/error-viewer/index.jsx} +66 -77
  53. package/dist/shared/dev-toolbar/error-viewer/styles.css +224 -0
  54. package/dist/shared/dev-toolbar/functions/BlobViewer.css +4 -0
  55. package/dist/shared/dev-toolbar/functions/BlobViewer.d.ts +6 -0
  56. package/dist/shared/dev-toolbar/functions/BlobViewer.jsx +37 -0
  57. package/dist/shared/dev-toolbar/functions/FormDataViewer.d.ts +5 -0
  58. package/dist/shared/dev-toolbar/functions/FormDataViewer.jsx +23 -0
  59. package/dist/shared/dev-toolbar/functions/HeadersViewer.css +8 -0
  60. package/dist/shared/dev-toolbar/functions/HeadersViewer.d.ts +6 -0
  61. package/dist/shared/dev-toolbar/functions/HeadersViewer.jsx +15 -0
  62. package/dist/shared/dev-toolbar/functions/HexViewer.css +34 -0
  63. package/dist/shared/dev-toolbar/functions/HexViewer.d.ts +11 -0
  64. package/dist/shared/dev-toolbar/functions/HexViewer.jsx +70 -0
  65. package/dist/shared/dev-toolbar/functions/SerovalValue.css +5 -0
  66. package/dist/shared/dev-toolbar/functions/SerovalValue.d.ts +7 -0
  67. package/dist/shared/dev-toolbar/functions/SerovalValue.jsx +10 -0
  68. package/dist/shared/dev-toolbar/functions/SerovalViewer.css +70 -0
  69. package/dist/shared/dev-toolbar/functions/SerovalViewer.d.ts +6 -0
  70. package/dist/shared/dev-toolbar/functions/SerovalViewer.jsx +796 -0
  71. package/dist/shared/dev-toolbar/functions/URLSearchParamsViewer.d.ts +5 -0
  72. package/dist/shared/dev-toolbar/functions/URLSearchParamsViewer.jsx +22 -0
  73. package/dist/shared/dev-toolbar/functions/index.d.ts +13 -0
  74. package/dist/shared/dev-toolbar/functions/index.jsx +216 -0
  75. package/dist/shared/dev-toolbar/functions/styles.css +109 -0
  76. package/dist/shared/dev-toolbar/functions/tracker.d.ts +19 -0
  77. package/dist/shared/dev-toolbar/functions/tracker.js +29 -0
  78. package/dist/shared/{dev-overlay → dev-toolbar}/icons.d.ts +9 -0
  79. package/dist/shared/{dev-overlay → dev-toolbar}/icons.jsx +19 -1
  80. package/dist/shared/dev-toolbar/index.css +88 -0
  81. package/dist/shared/dev-toolbar/index.d.ts +6 -0
  82. package/dist/shared/dev-toolbar/index.jsx +179 -0
  83. package/dist/shared/ui/Badge.css +33 -0
  84. package/dist/shared/ui/Badge.d.ts +7 -0
  85. package/dist/shared/ui/Badge.jsx +7 -0
  86. package/dist/shared/ui/Button.css +32 -0
  87. package/dist/shared/ui/Button.d.ts +4 -0
  88. package/dist/shared/ui/Button.jsx +4 -0
  89. package/dist/shared/ui/Cascade.css +29 -0
  90. package/dist/shared/ui/Cascade.d.ts +4 -0
  91. package/dist/shared/ui/Cascade.jsx +4 -0
  92. package/dist/shared/ui/Dialog.css +25 -0
  93. package/dist/shared/ui/Dialog.d.ts +5 -0
  94. package/dist/shared/ui/Dialog.jsx +5 -0
  95. package/dist/shared/ui/IconButton.css +39 -0
  96. package/dist/shared/ui/IconButton.d.ts +4 -0
  97. package/dist/shared/ui/IconButton.jsx +4 -0
  98. package/dist/shared/ui/Placeholder.css +12 -0
  99. package/dist/shared/ui/Placeholder.d.ts +6 -0
  100. package/dist/shared/ui/Placeholder.jsx +4 -0
  101. package/dist/shared/ui/Section.css +18 -0
  102. package/dist/shared/ui/Section.d.ts +9 -0
  103. package/dist/shared/ui/Section.jsx +10 -0
  104. package/dist/shared/ui/Select.css +37 -0
  105. package/dist/shared/ui/Select.d.ts +4 -0
  106. package/dist/shared/ui/Select.jsx +4 -0
  107. package/dist/shared/ui/Table.css +22 -0
  108. package/dist/shared/ui/Table.d.ts +11 -0
  109. package/dist/shared/ui/Table.jsx +13 -0
  110. package/dist/shared/ui/Tabs.css +51 -0
  111. package/dist/shared/ui/Tabs.d.ts +6 -0
  112. package/dist/shared/ui/Tabs.jsx +6 -0
  113. package/dist/shared/ui/Text.css +73 -0
  114. package/dist/shared/ui/Text.d.ts +12 -0
  115. package/dist/shared/ui/Text.jsx +17 -0
  116. package/package.json +36 -29
  117. package/dist/shared/dev-overlay/createStackFrame.js +0 -56
  118. package/dist/shared/dev-overlay/index.d.ts +0 -5
  119. package/dist/shared/dev-overlay/index.jsx +0 -39
  120. package/dist/shared/dev-overlay/styles.css +0 -292
  121. /package/dist/shared/{dev-overlay → dev-toolbar/error-viewer}/CodeView.d.ts +0 -0
  122. /package/dist/shared/{dev-overlay/createStackFrame.d.ts → dev-toolbar/error-viewer/create-stack-frame.d.ts} +0 -0
  123. /package/dist/shared/{dev-overlay → dev-toolbar/error-viewer}/download.d.ts +0 -0
  124. /package/dist/shared/{dev-overlay → dev-toolbar/error-viewer}/download.js +0 -0
  125. /package/dist/shared/{dev-overlay → dev-toolbar/error-viewer}/get-source-map.d.ts +0 -0
  126. /package/dist/shared/{dev-overlay → dev-toolbar/error-viewer}/get-source-map.js +0 -0
@@ -0,0 +1,73 @@
1
+ [data-start-text-size="xs"] {
2
+ font-size: 0.75rem;
3
+ line-height: calc(1 / 0.75);
4
+ }
5
+ [data-start-text-size="sm"] {
6
+ font-size: 0.875rem;
7
+ line-height: calc(1.25 / 0.875);
8
+ }
9
+ [data-start-text-size="base"] {
10
+ font-size: 1rem;
11
+ line-height: 1.5;
12
+ }
13
+ [data-start-text-size="lg"] {
14
+ font-size: 1.125rem;
15
+ line-height: calc(1.75 / 1.125);
16
+ }
17
+ [data-start-text-size="xl"] {
18
+ font-size: 1.25rem;
19
+ line-height: calc(1.75 / 1.25);
20
+ }
21
+ [data-start-text-size="2xl"] {
22
+ font-size: 1.5rem;
23
+ line-height: calc(2 / 1.5);
24
+ }
25
+
26
+ [data-start-text-font="sans"] {
27
+ font-family:
28
+ system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
29
+ "Noto Color Emoji";
30
+ }
31
+ [data-start-text-font="serif"] {
32
+ font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
33
+ }
34
+ [data-start-text-font="mono"] {
35
+ font-family:
36
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
37
+ monospace;
38
+ }
39
+
40
+ [data-start-text-weight="thin"] {
41
+ font-weight: 100;
42
+ }
43
+ [data-start-text-weight="extralight"] {
44
+ font-weight: 200;
45
+ }
46
+ [data-start-text-weight="light"] {
47
+ font-weight: 300;
48
+ }
49
+ [data-start-text-weight="normal"] {
50
+ font-weight: 400;
51
+ }
52
+ [data-start-text-weight="medium"] {
53
+ font-weight: 500;
54
+ }
55
+ [data-start-text-weight="semibold"] {
56
+ font-weight: 600;
57
+ }
58
+ [data-start-text-weight="bold"] {
59
+ font-weight: 700;
60
+ }
61
+ [data-start-text-weight="extrabold"] {
62
+ font-weight: 800;
63
+ }
64
+ [data-start-text-weight="black"] {
65
+ font-weight: 900;
66
+ }
67
+
68
+ [data-start-text-wrap="wrap"] {
69
+ white-space: wrap;
70
+ }
71
+ [data-start-text-wrap="nowrap"] {
72
+ white-space: nowrap;
73
+ }
@@ -0,0 +1,12 @@
1
+ import { type ComponentProps, type JSX } from "solid-js";
2
+ import "./Text.css";
3
+ export type TextProps<T extends keyof JSX.IntrinsicElements = "span"> = ComponentProps<T> & {
4
+ options?: {
5
+ as?: T;
6
+ size?: "xs" | "sm" | "base" | "lg" | "xl" | "2xl";
7
+ font?: "sans" | "serif" | "mono";
8
+ weight?: "thin" | "extralight" | "light" | "normal" | "medium" | "semibold" | "bold" | "extrabold";
9
+ wrap?: "wrap" | "nowrap";
10
+ };
11
+ };
12
+ export declare function Text<T extends keyof JSX.IntrinsicElements = "span">(props: TextProps<T>): JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { createMemo, splitProps } from "solid-js";
2
+ import { Dynamic } from "solid-js/web";
3
+ import "./Text.css";
4
+ export function Text(props) {
5
+ const [current, rest] = splitProps(props, ["options"]);
6
+ const customization = createMemo(() => {
7
+ const options = Object.assign({}, {
8
+ size: "base",
9
+ font: "mono",
10
+ weight: "normal",
11
+ wrap: "wrap",
12
+ }, current.options);
13
+ const entries = Object.entries(options);
14
+ return Object.fromEntries(entries.map(([key, value]) => [`data-start-text-${key}`, value]));
15
+ });
16
+ return (<Dynamic component={(current.options?.as || "span")} {...rest} {...customization()}/>);
17
+ }
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@solidjs/start",
3
- "version": "2.0.0-beta.9",
4
- "type": "module",
5
- "files": [
6
- "dist",
7
- "env.d.ts",
8
- "CHANGELOG.md"
9
- ],
3
+ "version": "2.0.0-rc.10",
10
4
  "repository": {
11
5
  "type": "git",
12
6
  "url": "git+https://github.com/solidjs/solid-start.git",
13
7
  "directory": "packages/start"
14
8
  },
9
+ "files": [
10
+ "dist",
11
+ "env.d.ts",
12
+ "CHANGELOG.md"
13
+ ],
14
+ "type": "module",
15
15
  "exports": {
16
16
  ".": "./dist/index.jsx",
17
17
  "./config": "./dist/config/index.js",
@@ -24,50 +24,57 @@
24
24
  "./http": "./dist/http/index.js",
25
25
  "./env": "./env.d.ts",
26
26
  "./fns/server": "./dist/fns/server.js",
27
- "./fns/client": "./dist/fns/client.js"
27
+ "./fns/client": "./dist/fns/client.js",
28
+ "./serialization": "./dist/fns/plugins.js"
28
29
  },
29
30
  "publishConfig": {
30
31
  "access": "public"
31
32
  },
32
33
  "dependencies": {
33
- "@babel/core": "^7.29.0",
34
- "@babel/traverse": "^7.29.0",
35
- "@babel/types": "^7.29.0",
34
+ "@babel/core": "^7.29.7",
35
+ "@babel/traverse": "^7.29.7",
36
+ "@babel/types": "^7.29.7",
36
37
  "@solidjs/meta": "^0.29.4",
37
38
  "@types/babel__traverse": "^7.28.0",
38
39
  "@types/micromatch": "^4.0.10",
39
- "cookie-es": "^2.0.0",
40
- "defu": "^6.1.4",
40
+ "cookie-es": "^3.1.1",
41
+ "defu": "^6.1.7",
41
42
  "error-stack-parser": "^2.1.4",
42
43
  "fast-glob": "^3.3.3",
43
- "h3": "^2.0.1-rc.25",
44
+ "h3": "^2.0.1-rc.26",
44
45
  "html-to-image": "^1.11.13",
45
46
  "micromatch": "^4.0.8",
46
- "oxc-parser": "^0.139.0",
47
- "path-to-regexp": "^8.3.0",
47
+ "oxc-parser": "^0.141.0",
48
+ "path-to-regexp": "^8.4.2",
48
49
  "pathe": "^2.0.3",
49
50
  "radix3": "^1.1.2",
50
- "seroval": "^1.5.4",
51
- "seroval-plugins": "^1.5.1",
52
- "shiki": "^1.29.2",
53
- "solid-js": "^1.9.11",
51
+ "seroval": "^1.6.0",
52
+ "seroval-plugins": "^1.6.0",
53
+ "shiki": "^4.3.1",
54
+ "solid-js": "^1.9.14",
54
55
  "source-map-js": "^1.2.1",
55
- "srvx": "^0.11.22",
56
- "terracotta": "^1.1.0",
57
- "vite-plugin-solid": "^2.11.11"
58
- },
59
- "engines": {
60
- "node": ">=24"
56
+ "srvx": "^0.12.4",
57
+ "terracotta": "^1.1.1",
58
+ "vite-plugin-solid": "^2.11.13"
61
59
  },
62
60
  "devDependencies": {
63
61
  "@types/babel__core": "^7.20.5",
64
- "@types/node": "^25.5.0",
65
- "vite": "^8.0.0",
66
- "vitest": "^4.1.0"
62
+ "@types/node": "^26.1.1",
63
+ "vite": "^8.1.5",
64
+ "vitest": "^4.1.10"
67
65
  },
68
66
  "peerDependencies": {
67
+ "@solidjs/router": ">=0.16.0 <2.0.0-0",
69
68
  "vite": "^8 || ^9"
70
69
  },
70
+ "peerDependenciesMeta": {
71
+ "@solidjs/router": {
72
+ "optional": true
73
+ }
74
+ },
75
+ "engines": {
76
+ "node": ">=24"
77
+ },
71
78
  "scripts": {
72
79
  "build": "pnpm validate-imports && tsc && node scripts/build.js",
73
80
  "dev": "tsc --watch",
@@ -1,56 +0,0 @@
1
- import { createMemo, createResource } from "solid-js";
2
- import getSourceMap from "./get-source-map.js";
3
- function getActualFileSource(path) {
4
- if (path.startsWith("file://")) {
5
- return "/_build/@fs" + path.substring("file://".length);
6
- }
7
- return path;
8
- }
9
- export function createStackFrame(stackframe, isCompiled) {
10
- const [data] = createResource(() => ({
11
- fileName: stackframe.fileName,
12
- line: stackframe.lineNumber,
13
- column: stackframe.columnNumber,
14
- functionName: stackframe.functionName,
15
- }), async (source) => {
16
- if (!source.fileName) {
17
- return null;
18
- }
19
- const response = await fetch(getActualFileSource(source.fileName));
20
- if (!response.ok) {
21
- return null;
22
- }
23
- const content = await response.text();
24
- const sourceMap = await getSourceMap(source.fileName, content);
25
- return {
26
- source,
27
- content,
28
- sourceMap,
29
- };
30
- });
31
- const info = createMemo(() => {
32
- const current = data();
33
- if (!current) {
34
- return undefined;
35
- }
36
- const { source, content, sourceMap } = current;
37
- if (!isCompiled() && source.line && source.column && sourceMap) {
38
- const result = sourceMap.originalPositionFor({
39
- line: source.line,
40
- column: source.column,
41
- });
42
- return {
43
- ...result,
44
- content: sourceMap.sourceContentFor(result.source),
45
- };
46
- }
47
- return {
48
- source: source.fileName,
49
- line: source.line,
50
- column: source.column,
51
- name: source.functionName,
52
- content,
53
- };
54
- });
55
- return info;
56
- }
@@ -1,5 +0,0 @@
1
- import { type JSX } from "solid-js";
2
- export interface DevOverlayProps {
3
- children?: JSX.Element;
4
- }
5
- export declare function DevOverlay(props: DevOverlayProps): JSX.Element;
@@ -1,39 +0,0 @@
1
- // @refresh skip
2
- import { createEffect, createSignal, ErrorBoundary, onCleanup, resetErrorBoundaries, Show, } from "solid-js";
3
- import clientOnly from "../clientOnly.js";
4
- import { HttpStatusCode } from "../HttpStatusCode.js";
5
- const DevOverlayDialog = import.meta.env.PROD
6
- ? () => <></>
7
- : clientOnly(() => import("./DevOverlayDialog"), { lazy: true });
8
- export function DevOverlay(props) {
9
- const [errors, setErrors] = createSignal([]);
10
- function resetError() {
11
- setErrors([]);
12
- resetErrorBoundaries();
13
- }
14
- function pushError(error) {
15
- console.error(error);
16
- setErrors(current => [error, ...current]);
17
- }
18
- createEffect(() => {
19
- const onErrorEvent = (error) => {
20
- pushError(error.error ?? error);
21
- };
22
- window.addEventListener("error", onErrorEvent);
23
- onCleanup(() => {
24
- window.removeEventListener("error", onErrorEvent);
25
- });
26
- });
27
- return (<>
28
- <ErrorBoundary fallback={error => {
29
- pushError(error);
30
- return <HttpStatusCode code={500}/>;
31
- }}>
32
- {props.children}
33
- </ErrorBoundary>
34
- <Show when={errors().length}>
35
- <HttpStatusCode code={500}/>
36
- <DevOverlayDialog errors={errors()} resetError={resetError}/>
37
- </Show>
38
- </>);
39
- }
@@ -1,292 +0,0 @@
1
- [data-start-dev-overlay] {
2
- position: fixed;
3
- inset: 0px;
4
- z-index: 50;
5
- overflow-y: auto;
6
- }
7
-
8
- [data-start-dev-overlay]>div {
9
- position: relative;
10
- display: flex;
11
- align-items: center;
12
- justify-content: center;
13
- min-height: 100vh;
14
- }
15
-
16
- [data-start-dev-overlay-background] {
17
- position: absolute;
18
- inset: 0px;
19
- background-color: rgb(17 24 39 / 0.5);
20
- }
21
-
22
- [data-start-dev-overlay-panel] {
23
- display: flex;
24
- flex-direction: column;
25
- width: 75vw;
26
- margin-top: 2rem;
27
- margin-bottom: 2rem;
28
- gap: 0.5rem;
29
- color: rgb(17 24 39);
30
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
31
- }
32
-
33
- [data-start-dev-overlay-panel-container] {
34
- margin: 2rem;
35
- z-index: 10;
36
- }
37
-
38
- [data-start-dev-overlay-navbar] {
39
- display: flex;
40
- flex-direction: row;
41
- align-items: center;
42
- justify-content: space-between;
43
- gap: 0.5rem;
44
- }
45
-
46
- [data-start-dev-overlay-pagination] {
47
- display: flex;
48
- flex-direction: row;
49
- align-items: center;
50
- justify-content: center;
51
- gap: 0.5rem;
52
- border-radius: 9999px;
53
- background-color: rgb(249 250 251);
54
- padding: 0.25rem;
55
- }
56
-
57
- [data-start-dev-overlay-button] {
58
- display: flex;
59
- padding: 0.125rem;
60
- border-radius: 9999px;
61
- border-width: 0px;
62
- align-items: center;
63
- justify-content: center;
64
- background-color: rgb(249 250 251);
65
- color: rgb(17 24 39);
66
- transition-property: color, background-color, border-color, box-shadow;
67
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
68
- transition-duration: 150ms;
69
- }
70
-
71
- [data-start-dev-overlay-button]:hover {
72
- background-color: rgb(229 231 235);
73
- color: rgb(55 65 81);
74
- }
75
-
76
- [data-start-dev-overlay-button]:focus {
77
- outline: 2px solid transparent;
78
- outline-offset: 2px
79
- }
80
-
81
- [data-start-dev-overlay-button]:focus-visible {
82
- box-shadow: 0 0 0 calc(3px) rgb(17 24 39 / 0.75);
83
- }
84
-
85
- [data-start-dev-overlay-button]:active {
86
- background-color: rgb(243 244 246);
87
- color: rgb(31 41 55);
88
- }
89
-
90
- [data-start-dev-overlay-button]>svg {
91
- height: 1.5rem;
92
- width: 1.5rem;
93
- }
94
-
95
- [data-start-dev-overlay-page-counter] {
96
- font-size: 0.875rem;
97
- line-height: 1.25rem;
98
- font-weight: 600;
99
- }
100
-
101
- [data-start-dev-overlay-navbar-left] {
102
- display: flex;
103
- flex-direction: row;
104
- gap: 0.5rem;
105
- }
106
-
107
-
108
- [data-start-dev-overlay-controls] {
109
- display: flex;
110
- flex-direction: row;
111
- align-items: center;
112
- justify-content: center;
113
- gap: 0.25rem;
114
- border-radius: 9999px;
115
- background-color: rgb(249 250 251);
116
- padding: 0.25rem;
117
- }
118
-
119
- [data-start-dev-overlay-version] {
120
- display: flex;
121
- flex-direction: row;
122
- align-items: center;
123
- justify-content: center;
124
- gap: 0.25rem;
125
- border-radius: 9999px;
126
- background-color: rgb(249 250 251);
127
- padding: 0.25rem 0.5rem;
128
- font-size: 0.875rem;
129
- line-height: 1.25rem;
130
- font-weight: 600;
131
- }
132
-
133
- [data-start-dev-overlay-version]>div {
134
- height: 1.5rem;
135
- width: 1.5rem;
136
- }
137
-
138
- [data-start-dev-overlay-version]>div>svg {
139
- height: 1.5rem;
140
- width: 1.5rem;
141
- }
142
-
143
- [data-start-dev-overlay-content] {
144
- display: flex;
145
- flex-direction: column;
146
- gap: 0.75rem;
147
- border-radius: 1.5rem;
148
- background-color: rgb(249 250 251);
149
- padding: 1rem;
150
- }
151
-
152
- [data-start-dev-overlay-error-info] {
153
- display: flex;
154
- flex-direction: column;
155
- gap: 0.25rem;
156
- }
157
-
158
- [data-start-dev-overlay-error-info-name] {
159
- font-weight: 700;
160
- }
161
-
162
- [data-start-dev-overlay-error-info-message] {
163
- font-size: 1.5rem;
164
- line-height: 2rem;
165
- color: rgb(239 68 68);
166
- font-weight: 700;
167
- }
168
-
169
- [data-start-dev-overlay-stack-frames-content] {
170
- display: flex;
171
- flex-direction: column;
172
- gap: 0.75rem;
173
- }
174
-
175
- [data-start-dev-overlay-stack-frames] {
176
- flex: 1 1 0%;
177
- display: flex;
178
- flex-direction: column;
179
- margin: 0;
180
- margin-block: 0;
181
- list-style-type: none;
182
- padding-inline: 0;
183
- max-height: 16rem;
184
- overflow-y: auto;
185
- border-radius: 0.5rem;
186
- }
187
-
188
- [data-start-dev-overlay-stack-frame] {
189
- display: flex;
190
- flex-direction: row;
191
- align-items: center;
192
- justify-content: space-between;
193
- gap: 1rem;
194
- color: rgb(17 24 39);
195
- cursor: default;
196
- user-select: none;
197
- padding-top: 0.5rem;
198
- padding-bottom: 0.5rem;
199
- padding-left: 1rem;
200
- padding-right: 1rem;
201
- font-size: 0.875rem;
202
- line-height: 1.25rem;
203
- outline: none;
204
- }
205
-
206
- [data-start-dev-overlay-stack-frame][tc-active],
207
- [data-start-dev-overlay-stack-frame][tc-selected],
208
- [data-start-dev-overlay-stack-frame]:focus {
209
- background-color: rgb(219 234 254);
210
- color: rgb(30 58 138);
211
- }
212
-
213
- [data-start-dev-overlay-stack-frame-function] {
214
- font-weight: 700;
215
- }
216
-
217
- [data-start-dev-overlay-stack-frame-file] {
218
- white-space: nowrap;
219
- font-size: 0.75rem;
220
- /* 12px */
221
- line-height: 1rem;
222
- /* 16px */
223
- }
224
-
225
- [data-start-dev-overlay-stack-frames-code] {
226
- padding: 0.5rem 1rem;
227
- gap: 0.25rem;
228
- flex: 1 1 0%;
229
- display: flex;
230
- flex-direction: column;
231
- align-items: center;
232
- justify-content: center;
233
- border-radius: 0.5rem;
234
- background-color: rgb(17 24 39);
235
- }
236
-
237
- [data-start-dev-overlay-stack-frames-code-fallback] {
238
- display: flex;
239
- align-items: center;
240
- justify-content: center;
241
- color: rgb(249 250 251);
242
- min-height: 16rem;
243
- font-size: 0.875rem;
244
- line-height: 1.25rem;
245
- }
246
-
247
- [data-start-dev-overlay-stack-frames-code-source] {
248
- font-size: 0.875rem;
249
- line-height: 1.25rem;
250
- color: rgb(249 250 251);
251
- }
252
-
253
- [data-start-dev-overlay-stack-frames-code-container] {
254
- width: 100%;
255
- overflow: hidden;
256
- min-width: 100%;
257
- min-height: 16rem;
258
- border-top-width: 1px;
259
- border-top-style: solid;
260
- border-top-color: rgb(249 250 251);
261
- }
262
-
263
- [data-start-dev-overlay-code-view] {
264
- overflow: auto;
265
- min-width: 100%;
266
- min-height: 16rem;
267
- }
268
-
269
- [data-start-dev-overlay-code-view]>.shiki {
270
- float: left;
271
- min-width: 100%;
272
- overflow-x: auto;
273
- font-size: 0.75rem;
274
- line-height: 1rem;
275
- counter-reset: step;
276
- counter-increment: step calc(var(--dev-overlay-code-view-start, 1) - 1);
277
- background-color: transparent !important;
278
- }
279
-
280
- [data-start-dev-overlay-code-view]>.shiki .line::before {
281
- content: counter(step);
282
- counter-increment: step;
283
- width: 1rem;
284
- margin-right: 1.5rem;
285
- display: inline-block;
286
- text-align: right;
287
- color: rgba(115, 138, 148, .4)
288
- }
289
-
290
- [data-start-dev-overlay-error-line] {
291
- background-color: rgba(239, 68, 68, .4);
292
- }