@solidjs/start 2.0.0-rc.1 → 2.0.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/dist/config/fs-routes/tree-shake.js +5 -0
- package/dist/config/index.d.ts +78 -3
- package/dist/fns/client.js +13 -3
- package/dist/fns/handler.js +7 -5
- package/dist/fns/serialization.d.ts +15 -0
- package/dist/fns/serialization.js +1 -1
- package/dist/server/handler.d.ts +3 -4
- package/dist/server/handler.js +8 -46
- package/dist/server/index.d.ts +1 -1
- package/dist/server/spa/handler.d.ts +2 -3
- package/dist/server/spa/handler.js +2 -2
- package/dist/server/types.d.ts +12 -1
- package/dist/server/web-stream.d.ts +1 -1
- package/dist/server/web-stream.js +5 -2
- package/dist/shared/ErrorBoundary.jsx +3 -3
- package/dist/shared/{dev-overlay → dev-toolbar/error-viewer}/CodeView.jsx +3 -3
- package/dist/shared/{dev-overlay/DevOverlayDialog.d.ts → dev-toolbar/error-viewer/index.d.ts} +3 -2
- package/dist/shared/{dev-overlay/DevOverlayDialog.jsx → dev-toolbar/error-viewer/index.jsx} +66 -77
- package/dist/shared/dev-toolbar/error-viewer/styles.css +224 -0
- package/dist/shared/dev-toolbar/functions/BlobViewer.css +4 -0
- package/dist/shared/dev-toolbar/functions/BlobViewer.d.ts +6 -0
- package/dist/shared/dev-toolbar/functions/BlobViewer.jsx +41 -0
- package/dist/shared/dev-toolbar/functions/FormDataViewer.d.ts +5 -0
- package/dist/shared/dev-toolbar/functions/FormDataViewer.jsx +27 -0
- package/dist/shared/dev-toolbar/functions/HeadersViewer.css +8 -0
- package/dist/shared/dev-toolbar/functions/HeadersViewer.d.ts +6 -0
- package/dist/shared/dev-toolbar/functions/HeadersViewer.jsx +15 -0
- package/dist/shared/dev-toolbar/functions/HexViewer.css +34 -0
- package/dist/shared/dev-toolbar/functions/HexViewer.d.ts +11 -0
- package/dist/shared/dev-toolbar/functions/HexViewer.jsx +78 -0
- package/dist/shared/dev-toolbar/functions/SerovalValue.css +7 -0
- package/dist/shared/dev-toolbar/functions/SerovalValue.d.ts +7 -0
- package/dist/shared/dev-toolbar/functions/SerovalValue.jsx +10 -0
- package/dist/shared/dev-toolbar/functions/SerovalViewer.css +71 -0
- package/dist/shared/dev-toolbar/functions/SerovalViewer.d.ts +6 -0
- package/dist/shared/dev-toolbar/functions/SerovalViewer.jsx +796 -0
- package/dist/shared/dev-toolbar/functions/URLSearchParamsViewer.d.ts +5 -0
- package/dist/shared/dev-toolbar/functions/URLSearchParamsViewer.jsx +24 -0
- package/dist/shared/dev-toolbar/functions/index.d.ts +13 -0
- package/dist/shared/dev-toolbar/functions/index.jsx +216 -0
- package/dist/shared/dev-toolbar/functions/styles.css +110 -0
- package/dist/shared/dev-toolbar/functions/tracker.d.ts +19 -0
- package/dist/shared/dev-toolbar/functions/tracker.js +29 -0
- package/dist/shared/{dev-overlay → dev-toolbar}/icons.d.ts +9 -0
- package/dist/shared/{dev-overlay → dev-toolbar}/icons.jsx +19 -1
- package/dist/shared/dev-toolbar/index.css +88 -0
- package/dist/shared/dev-toolbar/index.d.ts +6 -0
- package/dist/shared/dev-toolbar/index.jsx +175 -0
- package/dist/shared/ui/Badge.css +34 -0
- package/dist/shared/ui/Badge.d.ts +7 -0
- package/dist/shared/ui/Badge.jsx +7 -0
- package/dist/shared/ui/Button.css +32 -0
- package/dist/shared/ui/Button.d.ts +4 -0
- package/dist/shared/ui/Button.jsx +4 -0
- package/dist/shared/ui/Cascade.css +29 -0
- package/dist/shared/ui/Cascade.d.ts +4 -0
- package/dist/shared/ui/Cascade.jsx +4 -0
- package/dist/shared/ui/Dialog.css +26 -0
- package/dist/shared/ui/Dialog.d.ts +5 -0
- package/dist/shared/ui/Dialog.jsx +5 -0
- package/dist/shared/ui/IconButton.css +39 -0
- package/dist/shared/ui/IconButton.d.ts +4 -0
- package/dist/shared/ui/IconButton.jsx +4 -0
- package/dist/shared/ui/Placeholder.css +12 -0
- package/dist/shared/ui/Placeholder.d.ts +6 -0
- package/dist/shared/ui/Placeholder.jsx +6 -0
- package/dist/shared/ui/Section.css +19 -0
- package/dist/shared/ui/Section.d.ts +9 -0
- package/dist/shared/ui/Section.jsx +12 -0
- package/dist/shared/ui/Select.css +37 -0
- package/dist/shared/ui/Select.d.ts +4 -0
- package/dist/shared/ui/Select.jsx +4 -0
- package/dist/shared/ui/Table.css +22 -0
- package/dist/shared/ui/Table.d.ts +11 -0
- package/dist/shared/ui/Table.jsx +13 -0
- package/dist/shared/ui/Tabs.css +51 -0
- package/dist/shared/ui/Tabs.d.ts +6 -0
- package/dist/shared/ui/Tabs.jsx +6 -0
- package/dist/shared/ui/Text.css +69 -0
- package/dist/shared/ui/Text.d.ts +12 -0
- package/dist/shared/ui/Text.jsx +17 -0
- package/package.json +4 -4
- package/dist/shared/dev-overlay/index.d.ts +0 -5
- package/dist/shared/dev-overlay/index.jsx +0 -39
- package/dist/shared/dev-overlay/styles.css +0 -292
- /package/dist/shared/{dev-overlay → dev-toolbar/error-viewer}/CodeView.d.ts +0 -0
- /package/dist/shared/{dev-overlay/createStackFrame.d.ts → dev-toolbar/error-viewer/create-stack-frame.d.ts} +0 -0
- /package/dist/shared/{dev-overlay/createStackFrame.js → dev-toolbar/error-viewer/create-stack-frame.js} +0 -0
- /package/dist/shared/{dev-overlay → dev-toolbar/error-viewer}/download.d.ts +0 -0
- /package/dist/shared/{dev-overlay → dev-toolbar/error-viewer}/download.js +0 -0
- /package/dist/shared/{dev-overlay → dev-toolbar/error-viewer}/get-source-map.d.ts +0 -0
- /package/dist/shared/{dev-overlay → dev-toolbar/error-viewer}/get-source-map.js +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { createMemo, createResource, For, Show, Suspense } from "solid-js";
|
|
2
|
+
import { Text } from "../../ui/Text.jsx";
|
|
3
|
+
import './HexViewer.css';
|
|
4
|
+
function toHex(num, digits = 2) {
|
|
5
|
+
return num.toString(16).padStart(digits, '0').toUpperCase();
|
|
6
|
+
}
|
|
7
|
+
function HexChunk(props) {
|
|
8
|
+
const content = createMemo(() => {
|
|
9
|
+
const byte1 = props.bytes[0] || 0;
|
|
10
|
+
const byte2 = props.bytes[1] || 0;
|
|
11
|
+
const byte3 = props.bytes[2] || 0;
|
|
12
|
+
const byte4 = props.bytes[3] || 0;
|
|
13
|
+
return `${toHex(byte1)} ${toHex(byte2)} ${toHex(byte3)} ${toHex(byte4)}`;
|
|
14
|
+
});
|
|
15
|
+
return (<Text data-start-hex-chunk options={{ size: 'xs', weight: 'bold', wrap: 'nowrap' }}>
|
|
16
|
+
{content()}
|
|
17
|
+
</Text>);
|
|
18
|
+
}
|
|
19
|
+
function HexRow(props) {
|
|
20
|
+
const chunk1 = createMemo(() => props.bytes.subarray(0, 4));
|
|
21
|
+
const chunk2 = createMemo(() => props.bytes.subarray(4, 8));
|
|
22
|
+
const chunk3 = createMemo(() => props.bytes.subarray(8, 12));
|
|
23
|
+
const chunk4 = createMemo(() => props.bytes.subarray(12, 16));
|
|
24
|
+
return (<div data-start-hex-row>
|
|
25
|
+
<HexChunk bytes={chunk1()}/>
|
|
26
|
+
<HexChunk bytes={chunk2()}/>
|
|
27
|
+
<HexChunk bytes={chunk3()}/>
|
|
28
|
+
<HexChunk bytes={chunk4()}/>
|
|
29
|
+
</div>);
|
|
30
|
+
}
|
|
31
|
+
function replaceString(string) {
|
|
32
|
+
const result = string.codePointAt(0);
|
|
33
|
+
if (result == null) {
|
|
34
|
+
return string;
|
|
35
|
+
}
|
|
36
|
+
return String.fromCodePoint(result + 0x2400);
|
|
37
|
+
}
|
|
38
|
+
function HexText(props) {
|
|
39
|
+
const text = createMemo(() => {
|
|
40
|
+
const decoder = new TextDecoder();
|
|
41
|
+
const result = decoder.decode(props.bytes).replaceAll(/[\x00-\x1F]/g, replaceString);
|
|
42
|
+
return result;
|
|
43
|
+
});
|
|
44
|
+
return (<div data-start-hex-text>
|
|
45
|
+
<Text options={{ size: 'xs', weight: 'bold', wrap: 'nowrap' }}>
|
|
46
|
+
{text()}
|
|
47
|
+
</Text>
|
|
48
|
+
</div>);
|
|
49
|
+
}
|
|
50
|
+
export function HexViewerInner(props) {
|
|
51
|
+
const rows = createMemo(() => {
|
|
52
|
+
const arrays = [];
|
|
53
|
+
for (let i = 0, len = props.bytes.length; i < len; i += 16) {
|
|
54
|
+
arrays.push(props.bytes.subarray(i, i + 16));
|
|
55
|
+
}
|
|
56
|
+
return arrays;
|
|
57
|
+
});
|
|
58
|
+
return (<div data-start-hex-viewer>
|
|
59
|
+
<div data-start-hex-viewer-bytes>
|
|
60
|
+
<For each={rows()}>
|
|
61
|
+
{(current) => <HexRow bytes={current}/>}
|
|
62
|
+
</For>
|
|
63
|
+
</div>
|
|
64
|
+
<div data-start-hex-viewer-text>
|
|
65
|
+
<For each={rows()}>
|
|
66
|
+
{(current) => <HexText bytes={current}/>}
|
|
67
|
+
</For>
|
|
68
|
+
</div>
|
|
69
|
+
</div>);
|
|
70
|
+
}
|
|
71
|
+
export function HexViewer(props) {
|
|
72
|
+
const [data] = createResource(() => props.bytes);
|
|
73
|
+
return (<Suspense>
|
|
74
|
+
<Show when={data()}>
|
|
75
|
+
{(current) => <HexViewerInner bytes={current()}/>}
|
|
76
|
+
</Show>
|
|
77
|
+
</Suspense>);
|
|
78
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import './SerovalValue.css';
|
|
2
|
+
interface SerovalValueProps {
|
|
3
|
+
value: string | number | boolean | undefined | null;
|
|
4
|
+
}
|
|
5
|
+
export declare function SerovalValue(props: SerovalValueProps): import("solid-js").JSX.Element;
|
|
6
|
+
export declare function PropertySeparator(): import("solid-js").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Text } from "../../ui/Text.jsx";
|
|
2
|
+
import './SerovalValue.css';
|
|
3
|
+
export function SerovalValue(props) {
|
|
4
|
+
return (<Text data-start-seroval-value options={{ size: 'xs', weight: 'semibold', wrap: 'nowrap' }}>
|
|
5
|
+
{`${props.value}`}
|
|
6
|
+
</Text>);
|
|
7
|
+
}
|
|
8
|
+
export function PropertySeparator() {
|
|
9
|
+
return <Text options={{ size: 'xs', weight: 'semibold', wrap: 'nowrap' }}>:</Text>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
[data-start-seroval-viewer] {
|
|
2
|
+
display: grid;
|
|
3
|
+
grid-template-columns: 1fr 2fr;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
[data-start-seroval-promise] {
|
|
7
|
+
display: flex;
|
|
8
|
+
gap: 0.5rem;
|
|
9
|
+
align-items: center;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
[data-start-seroval-renderer] {
|
|
13
|
+
display: flex;
|
|
14
|
+
border-top: 1px oklch(87% 0.065 274.039) solid;
|
|
15
|
+
border-bottom: 1px oklch(87% 0.065 274.039) solid;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
[data-start-seroval-renderer] > * {
|
|
19
|
+
border-left: 1px oklch(87% 0.065 274.039) solid;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
[data-start-seroval-renderer]:last-child {
|
|
23
|
+
border-right: 1px oklch(87% 0.065 274.039) solid;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
[data-start-seroval-node] {
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-direction: column;
|
|
29
|
+
gap: 0.25rem;
|
|
30
|
+
padding: 0.25rem;
|
|
31
|
+
|
|
32
|
+
width: 100%;
|
|
33
|
+
max-width: 16rem;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
[data-start-seroval-node-header] {
|
|
37
|
+
position: sticky;
|
|
38
|
+
top: 0;
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
justify-content: space-between;
|
|
42
|
+
color: rgb(249 250 251);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
[data-start-seroval-node-content] {
|
|
46
|
+
display: flex;
|
|
47
|
+
flex-direction: column;
|
|
48
|
+
gap: 0.25rem;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
[data-start-seroval-value] {
|
|
52
|
+
color: rgb(249 250 251);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
[data-start-seroval-value-wrapper] {
|
|
56
|
+
display: inline-flex;
|
|
57
|
+
gap: 0.25rem;
|
|
58
|
+
align-items: center;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
[data-start-seroval-link] {
|
|
62
|
+
display: inline-flex;
|
|
63
|
+
gap: 0.25rem;
|
|
64
|
+
align-items: center;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
[data-start-seroval-link] > svg {
|
|
68
|
+
width: 1rem;
|
|
69
|
+
height: 1rem;
|
|
70
|
+
}
|
|
71
|
+
|