fromsrc 0.0.21 → 0.0.22
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/dist/components/announce.js +1 -1
- package/dist/components/autofill.js +1 -1
- package/dist/components/backtotop.js +1 -1
- package/dist/components/callout.js +2 -2
- package/dist/components/command.js +1 -1
- package/dist/components/feedback.js +5 -5
- package/dist/components/feedbackwidget.js +8 -8
- package/dist/components/langicon.js +21 -18
- package/dist/components/pagination.js +2 -2
- package/dist/components/panel.js +4 -4
- package/dist/components/playground.js +3 -3
- package/dist/components/property.js +1 -1
- package/dist/components/searchdialog.js +1 -1
- package/dist/components/shortcuts.js +2 -2
- package/dist/components/sidebar.js +9 -29
- package/dist/components/sidebarfilter.js +3 -3
- package/dist/components/sidebarscript.js +1 -14
- package/dist/components/theme.js +1 -1
- package/package.json +1 -1
|
@@ -30,7 +30,7 @@ const Announce = memo(function Announce2({
|
|
|
30
30
|
{
|
|
31
31
|
type: "button",
|
|
32
32
|
onClick: dismiss,
|
|
33
|
-
"aria-label": "
|
|
33
|
+
"aria-label": "Dismiss announcement",
|
|
34
34
|
className: "ml-2 shrink-0 p-1 opacity-70 hover:opacity-100",
|
|
35
35
|
children: /* @__PURE__ */ jsxs(
|
|
36
36
|
"svg",
|
|
@@ -27,7 +27,7 @@ function BackToTopBase({
|
|
|
27
27
|
type: "button",
|
|
28
28
|
onClick: scrollToTop,
|
|
29
29
|
className: `fixed bottom-6 right-6 p-3 bg-surface border border-line rounded-full shadow-lg hover:bg-bg transition-all z-50 ${className || ""}`,
|
|
30
|
-
"aria-label": "
|
|
30
|
+
"aria-label": "Back to top",
|
|
31
31
|
children: /* @__PURE__ */ jsx(
|
|
32
32
|
"svg",
|
|
33
33
|
{
|
|
@@ -82,8 +82,8 @@ function CalloutComponent({
|
|
|
82
82
|
className: `my-4 rounded border-l-4 ${border} ${bg} px-3 py-2`,
|
|
83
83
|
children: [
|
|
84
84
|
title && /* @__PURE__ */ jsx("p", { className: `mb-2 font-semibold ${text}`, children: title }),
|
|
85
|
-
/* @__PURE__ */ jsxs("div", { className: `flex items-
|
|
86
|
-
/* @__PURE__ */ jsx("span", { className: "size-4 shrink-0", "aria-hidden": "true", children: icon }),
|
|
85
|
+
/* @__PURE__ */ jsxs("div", { className: `flex items-start gap-2 ${text}`, children: [
|
|
86
|
+
/* @__PURE__ */ jsx("span", { className: "size-4 shrink-0 mt-0.5", "aria-hidden": "true", children: icon }),
|
|
87
87
|
/* @__PURE__ */ jsx("div", { className: "text-sm text-fg/80 [&>p]:m-0", children })
|
|
88
88
|
] })
|
|
89
89
|
]
|
|
@@ -29,12 +29,12 @@ function FeedbackBase({ onFeedback }) {
|
|
|
29
29
|
role: "status",
|
|
30
30
|
"aria-live": "polite",
|
|
31
31
|
className: "flex items-center gap-2 text-sm text-muted",
|
|
32
|
-
children: selected ? "
|
|
32
|
+
children: selected ? "Thanks for your feedback" : "Sorry to hear that"
|
|
33
33
|
}
|
|
34
34
|
);
|
|
35
35
|
}
|
|
36
|
-
return /* @__PURE__ */ jsxs("div", { role: "group", "aria-label": "
|
|
37
|
-
/* @__PURE__ */ jsx("span", { id: "feedback-label", className: "text-sm text-muted", children: "
|
|
36
|
+
return /* @__PURE__ */ jsxs("div", { role: "group", "aria-label": "Feedback", className: "flex items-center gap-3", children: [
|
|
37
|
+
/* @__PURE__ */ jsx("span", { id: "feedback-label", className: "text-sm text-muted", children: "Was this helpful?" }),
|
|
38
38
|
/* @__PURE__ */ jsxs("div", { role: "group", "aria-labelledby": "feedback-label", className: "flex gap-1", children: [
|
|
39
39
|
/* @__PURE__ */ jsx(
|
|
40
40
|
"button",
|
|
@@ -42,7 +42,7 @@ function FeedbackBase({ onFeedback }) {
|
|
|
42
42
|
type: "button",
|
|
43
43
|
onClick: handlePositive,
|
|
44
44
|
className: "rounded-md p-1.5 text-muted hover:bg-surface hover:text-fg transition-colors",
|
|
45
|
-
"aria-label": "
|
|
45
|
+
"aria-label": "Yes, helpful",
|
|
46
46
|
"aria-pressed": selected === true,
|
|
47
47
|
children: /* @__PURE__ */ jsx(IconThumbsUp, { "aria-hidden": "true", size: 16 })
|
|
48
48
|
}
|
|
@@ -53,7 +53,7 @@ function FeedbackBase({ onFeedback }) {
|
|
|
53
53
|
type: "button",
|
|
54
54
|
onClick: handleNegative,
|
|
55
55
|
className: "rounded-md p-1.5 text-muted hover:bg-surface hover:text-fg transition-colors",
|
|
56
|
-
"aria-label": "
|
|
56
|
+
"aria-label": "No, not helpful",
|
|
57
57
|
"aria-pressed": selected === false,
|
|
58
58
|
children: /* @__PURE__ */ jsx(IconThumbsDown, { "aria-hidden": "true", size: 16 })
|
|
59
59
|
}
|
|
@@ -45,7 +45,7 @@ function FeedbackWidgetBase({ onSubmit }) {
|
|
|
45
45
|
className: `flex flex-col items-center gap-3 py-8 transition-opacity duration-500 ${visible ? "opacity-100" : "opacity-0"}`,
|
|
46
46
|
children: [
|
|
47
47
|
stage === "ask" && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
48
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted", children: "
|
|
48
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted", children: "Was this helpful?" }),
|
|
49
49
|
/* @__PURE__ */ jsxs("div", { className: "flex gap-1", children: [
|
|
50
50
|
/* @__PURE__ */ jsx(
|
|
51
51
|
"button",
|
|
@@ -53,7 +53,7 @@ function FeedbackWidgetBase({ onSubmit }) {
|
|
|
53
53
|
type: "button",
|
|
54
54
|
onClick: () => select(true),
|
|
55
55
|
className: "rounded-md p-1.5 text-muted hover:bg-surface hover:text-fg transition-colors",
|
|
56
|
-
"aria-label": "
|
|
56
|
+
"aria-label": "Yes, helpful",
|
|
57
57
|
children: /* @__PURE__ */ jsx(IconThumbsUp, { "aria-hidden": "true", size: 16 })
|
|
58
58
|
}
|
|
59
59
|
),
|
|
@@ -63,7 +63,7 @@ function FeedbackWidgetBase({ onSubmit }) {
|
|
|
63
63
|
type: "button",
|
|
64
64
|
onClick: () => select(false),
|
|
65
65
|
className: "rounded-md p-1.5 text-muted hover:bg-surface hover:text-fg transition-colors",
|
|
66
|
-
"aria-label": "
|
|
66
|
+
"aria-label": "No, not helpful",
|
|
67
67
|
children: /* @__PURE__ */ jsx(IconThumbsDown, { "aria-hidden": "true", size: 16 })
|
|
68
68
|
}
|
|
69
69
|
)
|
|
@@ -78,8 +78,8 @@ function FeedbackWidgetBase({ onSubmit }) {
|
|
|
78
78
|
value: message,
|
|
79
79
|
onChange: (e) => setMessage(e.target.value),
|
|
80
80
|
onKeyDown: keydown,
|
|
81
|
-
placeholder: "
|
|
82
|
-
"aria-label": "
|
|
81
|
+
placeholder: "Share feedback",
|
|
82
|
+
"aria-label": "Feedback",
|
|
83
83
|
className: "h-8 w-56 rounded-md border border-line bg-surface px-3 text-sm text-fg placeholder:text-muted outline-none focus:border-accent transition-colors"
|
|
84
84
|
}
|
|
85
85
|
),
|
|
@@ -89,7 +89,7 @@ function FeedbackWidgetBase({ onSubmit }) {
|
|
|
89
89
|
type: "button",
|
|
90
90
|
onClick: submit,
|
|
91
91
|
className: "h-8 rounded-md border border-line bg-surface px-3 text-sm text-muted hover:text-fg transition-colors",
|
|
92
|
-
children: "
|
|
92
|
+
children: "Send"
|
|
93
93
|
}
|
|
94
94
|
),
|
|
95
95
|
/* @__PURE__ */ jsx(
|
|
@@ -98,11 +98,11 @@ function FeedbackWidgetBase({ onSubmit }) {
|
|
|
98
98
|
type: "button",
|
|
99
99
|
onClick: submit,
|
|
100
100
|
className: "h-8 rounded-md px-2 text-sm text-muted hover:text-fg transition-colors",
|
|
101
|
-
children: "
|
|
101
|
+
children: "Skip"
|
|
102
102
|
}
|
|
103
103
|
)
|
|
104
104
|
] }),
|
|
105
|
-
stage === "done" && /* @__PURE__ */ jsx("span", { className: "text-sm text-muted", role: "status", "aria-live": "polite", children: "
|
|
105
|
+
stage === "done" && /* @__PURE__ */ jsx("span", { className: "text-sm text-muted", role: "status", "aria-live": "polite", children: "Thanks" })
|
|
106
106
|
]
|
|
107
107
|
}
|
|
108
108
|
);
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
|
|
3
3
|
const icons = {
|
|
4
|
-
bash: "M4 20h4v-4H4v4zm6-16v4h4V4h-4zm0 12h4v-4h-4v4zm6-12v4h4V4h-4zm0 12h4v-4h-4v4zM4 4h4v4H4V4zm0 6h4v4H4v-4zm6 0h4v4h-4v-4zm6 0h4v4h-4v-4z",
|
|
5
|
-
css: "M1.5 0h21l-1.91 21.563L11.977 24l-8.565-2.438L1.5 0zm17.09 4.413L5.41 4.41l.213 2.622 10.125.002-.255 2.716h-6.64l.24 2.573h6.182l-.366 3.523-2.91.804-2.956-.81-.188-2.11h-2.61l.29 3.855L12 19.288l5.373-1.53L18.59 4.414z",
|
|
6
|
-
go: "M1.8 8.4c-.1 0-.1 0-.2-.1 0 0 0-.1.1-.2l.6-.5h2.1l.6.5c.1 0 .1.1 0 .2l-.1.1H1.8zm-.8 1.3c-.1 0-.2 0-.2-.1 0 0 0-.1.1-.2l.6-.5h3.4l.5.5c.1.1.1.1 0 .2 0 0-.1.1-.2.1H1zm2.5 1.3c-.1 0-.1 0-.2-.1 0-.1 0-.1.1-.2l.4-.5h2l.6.5c.1.1.1.1.1.2l-.2.1H3.5zm15.1-.9c-.6 1.4-2 2.4-3.6 2.4-1.3 0-2.5-.6-3.2-1.6-.7.9-1.8 1.5-3.1 1.5-2.2 0-4-1.8-4-4s1.8-4 4-4c1.3 0 2.4.6 3.1 1.5.8-1 2-1.6 3.3-1.6 2.2 0 4 1.8 4 4 0 .6-.2 1.2-.4 1.8h-.1z",
|
|
7
|
-
html: "M1.5 0h21l-1.9 21.6L12 24l-8.6-2.4L1.5 0zM20 4H4l.7 7.3h11.4l-.4 4-3.7 1-3.7-1-.2-2.7H5l.5 5.4 6.5 1.8 6.5-1.8.8-9H7.6l-.3-3h13.4L20 4z",
|
|
8
|
-
javascript: "M0 0h24v24H0V0zm22.034 18.276c-.175-1.095-.888-2.015-3.003-2.873-.736-.345-1.554-.585-1.797-1.14-.091-.33-.105-.51-.046-.705.15-.646.915-.84 1.515-.66.39.12.75.42.976.9 1.034-.676 1.034-.676 1.755-1.125-.27-.42-.404-.601-.586-.78-.63-.705-1.469-1.065-2.834-1.034l-.705.089c-.676.165-1.32.525-1.71 1.005-1.14 1.291-.811 3.541.569 4.471 1.365 1.02 3.361 1.244 3.616 2.205.24 1.17-.87 1.545-1.966 1.41-.811-.18-1.26-.586-1.755-1.336l-1.83 1.051c.21.48.45.689.81 1.109 1.74 1.756 6.09 1.666 6.871-1.004.029-.09.24-.705.074-1.65l.046.067zm-8.983-7.245h-2.248c0 1.938-.009 3.864-.009 5.805 0 1.232.063 2.363-.138 2.711-.33.689-1.18.601-1.566.48-.396-.196-.597-.466-.83-.855-.063-.105-.11-.196-.127-.196l-1.825 1.125c.305.63.75 1.172 1.324 1.517.855.51 2.004.675 3.207.405.783-.226 1.458-.691 1.811-1.411.51-.93.402-2.07.397-3.346.012-2.054 0-4.109 0-6.179l.004-.056z",
|
|
9
|
-
json: "M5 3h2v2H5v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5h2v2H5c-1.1 0-2-.9-2-2v-4a2 2 0 0 0-2-2H0v-2h1a2 2 0 0 0 2-2V5a2 2 0 0 1 2-2m14 0a2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h1v2h-1a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2h-2v-2h2v-5a2 2 0 0 1 2-2 2 2 0 0 1-2-2V5h-2V3h2z",
|
|
10
|
-
kotlin: "M0 24L12 12L24 24H0zM0 0h24L12 12L0 24V0zm12 12L24 0H12L0 12h12z",
|
|
11
|
-
markdown:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
4
|
+
bash: { path: "M4 20h4v-4H4v4zm6-16v4h4V4h-4zm0 12h4v-4h-4v4zm6-12v4h4V4h-4zm0 12h4v-4h-4v4zM4 4h4v4H4V4zm0 6h4v4H4v-4zm6 0h4v4h-4v-4zm6 0h4v4h-4v-4z" },
|
|
5
|
+
css: { path: "M1.5 0h21l-1.91 21.563L11.977 24l-8.565-2.438L1.5 0zm17.09 4.413L5.41 4.41l.213 2.622 10.125.002-.255 2.716h-6.64l.24 2.573h6.182l-.366 3.523-2.91.804-2.956-.81-.188-2.11h-2.61l.29 3.855L12 19.288l5.373-1.53L18.59 4.414z" },
|
|
6
|
+
go: { path: "M1.8 8.4c-.1 0-.1 0-.2-.1 0 0 0-.1.1-.2l.6-.5h2.1l.6.5c.1 0 .1.1 0 .2l-.1.1H1.8zm-.8 1.3c-.1 0-.2 0-.2-.1 0 0 0-.1.1-.2l.6-.5h3.4l.5.5c.1.1.1.1 0 .2 0 0-.1.1-.2.1H1zm2.5 1.3c-.1 0-.1 0-.2-.1 0-.1 0-.1.1-.2l.4-.5h2l.6.5c.1.1.1.1.1.2l-.2.1H3.5zm15.1-.9c-.6 1.4-2 2.4-3.6 2.4-1.3 0-2.5-.6-3.2-1.6-.7.9-1.8 1.5-3.1 1.5-2.2 0-4-1.8-4-4s1.8-4 4-4c1.3 0 2.4.6 3.1 1.5.8-1 2-1.6 3.3-1.6 2.2 0 4 1.8 4 4 0 .6-.2 1.2-.4 1.8h-.1z" },
|
|
7
|
+
html: { path: "M1.5 0h21l-1.9 21.6L12 24l-8.6-2.4L1.5 0zM20 4H4l.7 7.3h11.4l-.4 4-3.7 1-3.7-1-.2-2.7H5l.5 5.4 6.5 1.8 6.5-1.8.8-9H7.6l-.3-3h13.4L20 4z" },
|
|
8
|
+
javascript: { path: "M0 0h24v24H0V0zm22.034 18.276c-.175-1.095-.888-2.015-3.003-2.873-.736-.345-1.554-.585-1.797-1.14-.091-.33-.105-.51-.046-.705.15-.646.915-.84 1.515-.66.39.12.75.42.976.9 1.034-.676 1.034-.676 1.755-1.125-.27-.42-.404-.601-.586-.78-.63-.705-1.469-1.065-2.834-1.034l-.705.089c-.676.165-1.32.525-1.71 1.005-1.14 1.291-.811 3.541.569 4.471 1.365 1.02 3.361 1.244 3.616 2.205.24 1.17-.87 1.545-1.966 1.41-.811-.18-1.26-.586-1.755-1.336l-1.83 1.051c.21.48.45.689.81 1.109 1.74 1.756 6.09 1.666 6.871-1.004.029-.09.24-.705.074-1.65l.046.067zm-8.983-7.245h-2.248c0 1.938-.009 3.864-.009 5.805 0 1.232.063 2.363-.138 2.711-.33.689-1.18.601-1.566.48-.396-.196-.597-.466-.83-.855-.063-.105-.11-.196-.127-.196l-1.825 1.125c.305.63.75 1.172 1.324 1.517.855.51 2.004.675 3.207.405.783-.226 1.458-.691 1.811-1.411.51-.93.402-2.07.397-3.346.012-2.054 0-4.109 0-6.179l.004-.056z" },
|
|
9
|
+
json: { path: "M5 3h2v2H5v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5h2v2H5c-1.1 0-2-.9-2-2v-4a2 2 0 0 0-2-2H0v-2h1a2 2 0 0 0 2-2V5a2 2 0 0 1 2-2m14 0a2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h1v2h-1a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2h-2v-2h2v-5a2 2 0 0 1 2-2 2 2 0 0 1-2-2V5h-2V3h2z" },
|
|
10
|
+
kotlin: { path: "M0 24L12 12L24 24H0zM0 0h24L12 12L0 24V0zm12 12L24 0H12L0 12h12z" },
|
|
11
|
+
markdown: {
|
|
12
|
+
path: "M922 319q-1 0-2 1h-11v0h-836q-18 0-33.5 8.5t-25.5 22.5q-17 26-13 57v461q1 18 11 32.5t24 22.5q25 14 55 10v1l843-1q18-1 32.5-11t22.5-24q14-24 10-55h1l-1-459q-1-17-11-31.5t-24-23.5q-19-10-42-11zM918 367h2q12 0 20 5q6 3 8.5 6.5t2.5 9.5l1 456v3q2 16-5 29q-3 5-6.5 7.5t-9.5 2.5l-840 1h-3q-16 2-28-5q-6-3-8.5-6.5t-2.5-9.5v-458l-1-4q-2-14 5.5-25t18.5-11h837zM145 464v327h96v-188l96 120 96-120v188h96v-327h-96l-96 120-96-120h-96zM697 464v168h-96l144 159 144-159h-96v-168h-96z",
|
|
13
|
+
viewBox: "-20 260 1060 680"
|
|
14
|
+
},
|
|
15
|
+
python: { path: "M12 0C5.5 0 5.9 2.6 5.9 2.6l.1 2.7h6.2v.8H3.9S0 5.7 0 12c0 6.3 3.4 6.1 3.4 6.1h2V15s-.1-3.4 3.4-3.4h5.8s3.2.1 3.2-3.1V3.1S18.3 0 12 0zM8.8 1.8c.6 0 1 .5 1 1s-.5 1-1 1-1-.5-1-1 .5-1 1-1z" },
|
|
16
|
+
rust: { path: "M23.8 12l-1.2-.7.3-.4c.1-.2.1-.5-.1-.7l-.6-.6.2-.5c.1-.3 0-.5-.2-.7l-.7-.5.1-.5c0-.3-.1-.5-.3-.6l-.8-.4v-.5c0-.3-.2-.5-.4-.6l-.9-.2-.1-.5c-.1-.3-.3-.5-.6-.5l-.9-.1-.2-.5c-.1-.2-.4-.4-.6-.4h-1l-.3-.4c-.2-.2-.5-.3-.7-.2l-1 .1-.4-.3c-.2-.2-.5-.2-.7-.1l-1 .3-.4-.2c-.3-.1-.5 0-.7.1l-.9.5-.5-.1c-.3-.1-.5 0-.7.2l-.8.6-.5-.1c-.3 0-.5.1-.7.3l-.6.7-.5.1c-.3.1-.5.3-.5.5l-.4.9-.4.2c-.3.1-.4.3-.4.6l-.2 1-.4.3c-.2.2-.3.4-.2.7l.1 1-.3.4c-.2.2-.2.5-.1.7l.3 1-.2.5c-.1.2 0 .5.1.7l.5.9-.1.5c0 .3.1.5.3.7l.6.8v.5c.1.3.3.5.5.5l.8.5.1.5c.1.3.3.5.6.5l.9.3.2.5c.2.2.4.4.7.3l1 .1.3.4c.2.2.5.3.7.2l1-.2.4.3c.2.2.5.2.7.1l1-.4.5.2c.3.1.5 0 .7-.2l.8-.6.5.1c.3 0 .5-.2.7-.4l.6-.8.5-.1c.3-.1.5-.3.5-.6l.3-.9.4-.2c.3-.1.4-.4.4-.7l.1-1 .4-.3c.2-.2.3-.5.1-.7l-.2-1 .3-.4c.1-.3.1-.5-.1-.7l-.4-.9.2-.5zM12 18c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" },
|
|
17
|
+
sql: { path: "M12 3C7 3 3 4.8 3 7v10c0 2.2 4 4 9 4s9-1.8 9-4V7c0-2.2-4-4-9-4zm0 2c4.4 0 7 1.3 7 2s-2.6 2-7 2-7-1.3-7-2 2.6-2 7-2zM5 9.3c1.5.8 3.9 1.4 7 1.4s5.5-.6 7-1.4V12c0 .7-2.6 2-7 2s-7-1.3-7-2V9.3zm0 5c1.5.8 3.9 1.4 7 1.4s5.5-.6 7-1.4V17c0 .7-2.6 2-7 2s-7-1.3-7-2v-2.7z" },
|
|
18
|
+
swift: { path: "M24 18.5c0 .7-.2 1.5-.6 2.2-.5 1-1.4 2-2.6 2.8-.8.5-1.6.7-2.4.7-1.3 0-2.3-.5-3.2-1-.8-.5-1.6-.8-2.6-.8-.8 0-1.6.2-2.3.6-.7.3-1.4.7-2.2 1.2-.8.5-1.6.8-2.7.8-.9 0-1.7-.2-2.5-.7-1.1-.7-2-1.7-2.5-2.7-.4-.8-.6-1.5-.6-2.3 0-1.5.6-2.9 1.8-4.2 1.4-1.6 3.3-2.4 5.6-2.4.4 0 .8 0 1.2.1-.8-.8-1.4-1.7-1.8-2.6-.5-1-.7-2-.7-3 0-.3 0-.6.1-.9C6 8 5.3 9.7 5.3 11.5c0 .5 0 1 .1 1.5-.6-.3-1.1-.6-1.6-1.1C2.6 10.8 2 9.4 2 7.8c0-.3 0-.5.1-.7 1.7 2.3 4.2 4.2 7.2 5.6.2.1.5.2.7.3-.1-.4-.3-.9-.6-1.3-1.5-2.5-3.5-4.7-5.8-6.6l-.2-.2c-.1-.1-.1-.1 0-.2.1-.1.1-.1.2 0l.2.2c2.4 1.8 4.5 4 6.1 6.4.4.6.7 1.2.9 1.8 1.5.5 3 .8 4.5.8.9 0 1.8-.1 2.7-.3-.9.9-2 1.7-3.4 2.3-.2.1-.4.1-.6.2 1 .2 1.8.6 2.5 1.1.9.6 1.4 1.4 1.7 2.3.2-.5.3-1 .3-1.6 0-1-.3-1.9-.9-2.6-.6-.8-1.5-1.4-2.6-1.7l-.3-.1c.5-.2 1-.3 1.6-.5 1.7-.6 3.2-1.4 4.5-2.5.1 1.4.6 2.6 1.4 3.6.8 1 1.9 1.7 3.1 2 0 .1 0 .3 0 .4z" },
|
|
19
|
+
typescript: { path: "M1.125 0C.502 0 0 .502 0 1.125v21.75C0 23.498.502 24 1.125 24h21.75c.623 0 1.125-.502 1.125-1.125V1.125C24 .502 23.498 0 22.875 0zm17.363 9.75c.612 0 1.154.037 1.627.111a6.38 6.38 0 0 1 1.306.34v2.458a3.95 3.95 0 0 0-.643-.361 5.093 5.093 0 0 0-.717-.26 5.453 5.453 0 0 0-1.426-.2c-.3 0-.573.028-.819.086a2.1 2.1 0 0 0-.623.242c-.17.104-.3.229-.393.374a.888.888 0 0 0-.14.49c0 .196.053.373.156.529.104.156.252.304.443.444s.423.276.696.41c.273.135.582.274.926.416.47.197.892.407 1.266.628.374.222.695.473.963.753.268.279.472.598.614.957.142.359.214.776.214 1.253 0 .657-.125 1.21-.373 1.656a3.033 3.033 0 0 1-1.012 1.085 4.38 4.38 0 0 1-1.487.596c-.566.12-1.163.18-1.79.18a9.916 9.916 0 0 1-1.84-.164 5.544 5.544 0 0 1-1.512-.493v-2.63a5.033 5.033 0 0 0 3.237 1.2c.333 0 .624-.03.872-.09.249-.06.456-.144.623-.25.166-.108.29-.234.373-.38a1.023 1.023 0 0 0-.074-1.089 2.12 2.12 0 0 0-.537-.5 5.597 5.597 0 0 0-.807-.444 27.72 27.72 0 0 0-1.007-.436c-.918-.383-1.602-.852-2.053-1.405-.45-.553-.676-1.222-.676-2.005 0-.614.123-1.141.369-1.582.246-.441.58-.804 1.004-1.089a4.494 4.494 0 0 1 1.47-.629 7.536 7.536 0 0 1 1.77-.201zm-15.113.188h9.563v2.166H9.506v9.646H6.789v-9.646H3.375z" },
|
|
20
|
+
yaml: { path: "M2.6 6l3.8 5.6v6.4h2.7v-6.4L12.9 6h-3l-2 3.8L5.6 6H2.6zm9.9 12h9.5v-2.5h-6.8v-2.3h5.5V11h-5.5V8.5h6.8V6h-9.5v12z" }
|
|
18
21
|
};
|
|
19
22
|
const aliases = {
|
|
20
23
|
js: "javascript",
|
|
@@ -34,18 +37,18 @@ function LangIcon({
|
|
|
34
37
|
size = 14
|
|
35
38
|
}) {
|
|
36
39
|
const normalized = aliases[lang.toLowerCase()] || lang.toLowerCase();
|
|
37
|
-
const
|
|
38
|
-
if (!
|
|
40
|
+
const icon = icons[normalized];
|
|
41
|
+
if (!icon) {
|
|
39
42
|
return null;
|
|
40
43
|
}
|
|
41
44
|
return /* @__PURE__ */ jsx(
|
|
42
45
|
"svg",
|
|
43
46
|
{
|
|
44
|
-
viewBox: "0 0 24 24",
|
|
47
|
+
viewBox: icon.viewBox || "0 0 24 24",
|
|
45
48
|
fill: "currentColor",
|
|
46
49
|
style: { flexShrink: 0, height: size, width: size },
|
|
47
50
|
"aria-hidden": "true",
|
|
48
|
-
children: /* @__PURE__ */ jsx("path", { d: path })
|
|
51
|
+
children: /* @__PURE__ */ jsx("path", { d: icon.path })
|
|
49
52
|
}
|
|
50
53
|
);
|
|
51
54
|
}
|
|
@@ -31,7 +31,7 @@ function PaginationBase({ prev, next }) {
|
|
|
31
31
|
}
|
|
32
32
|
),
|
|
33
33
|
/* @__PURE__ */ jsxs("div", { className: "text-left", children: [
|
|
34
|
-
/* @__PURE__ */ jsx("div", { className: "text-xs text-muted", children: "
|
|
34
|
+
/* @__PURE__ */ jsx("div", { className: "text-xs text-muted", children: "Previous" }),
|
|
35
35
|
/* @__PURE__ */ jsx("div", { className: "text-sm font-medium text-fg", children: prev.title })
|
|
36
36
|
] })
|
|
37
37
|
]
|
|
@@ -46,7 +46,7 @@ function PaginationBase({ prev, next }) {
|
|
|
46
46
|
className: "flex items-center gap-2 px-4 py-3 rounded-xl border border-line bg-surface/30 hover:bg-surface/50 transition-colors group",
|
|
47
47
|
children: [
|
|
48
48
|
/* @__PURE__ */ jsxs("div", { className: "text-right", children: [
|
|
49
|
-
/* @__PURE__ */ jsx("div", { className: "text-xs text-muted", children: "
|
|
49
|
+
/* @__PURE__ */ jsx("div", { className: "text-xs text-muted", children: "Next" }),
|
|
50
50
|
/* @__PURE__ */ jsx("div", { className: "text-sm font-medium text-fg", children: next.title })
|
|
51
51
|
] }),
|
|
52
52
|
/* @__PURE__ */ jsx(
|
package/dist/components/panel.js
CHANGED
|
@@ -26,7 +26,7 @@ function Panel({
|
|
|
26
26
|
const showResults = hasQuery && !loading && results.length > 0;
|
|
27
27
|
const listId = showRecent ? "search-recent-listbox" : "search-results-listbox";
|
|
28
28
|
const active = safe < 0 ? void 0 : showRecent ? getRecentOptionId(safe) : showResults ? getOptionId(safe) : void 0;
|
|
29
|
-
const resultStatus = loading ? "
|
|
29
|
+
const resultStatus = loading ? "Loading results" : !hasQuery ? recent.length > 0 ? `${recent.length} recent searches` : "No recent searches" : results.length === 0 ? "No results" : `${results.length} results`;
|
|
30
30
|
const onTab = useCallback((event) => {
|
|
31
31
|
if (event.key !== "Tab" || !dialog.current) {
|
|
32
32
|
return;
|
|
@@ -71,7 +71,7 @@ function Panel({
|
|
|
71
71
|
type: "button",
|
|
72
72
|
className: "fixed inset-0 bg-bg/80 backdrop-blur-sm cursor-default",
|
|
73
73
|
onClick: onClose,
|
|
74
|
-
"aria-label": "
|
|
74
|
+
"aria-label": "Close search"
|
|
75
75
|
}
|
|
76
76
|
),
|
|
77
77
|
/* @__PURE__ */ jsx(
|
|
@@ -81,7 +81,7 @@ function Panel({
|
|
|
81
81
|
className: "relative z-10 max-w-lg mx-auto mt-[20vh]",
|
|
82
82
|
role: "dialog",
|
|
83
83
|
"aria-modal": "true",
|
|
84
|
-
"aria-label": "
|
|
84
|
+
"aria-label": "Search documentation",
|
|
85
85
|
children: /* @__PURE__ */ jsxs("div", { className: "bg-surface border border-line rounded-xl shadow-2xl overflow-hidden", children: [
|
|
86
86
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 px-4 border-b border-line", children: [
|
|
87
87
|
/* @__PURE__ */ jsx(IconSearch, { className: "w-4 h-4 text-muted", size: 16 }),
|
|
@@ -93,7 +93,7 @@ function Panel({
|
|
|
93
93
|
value: query,
|
|
94
94
|
onChange: (event) => onChange(event.target.value),
|
|
95
95
|
onKeyDown: onKey,
|
|
96
|
-
placeholder: "
|
|
96
|
+
placeholder: "Search",
|
|
97
97
|
className: "flex-1 py-4 bg-transparent text-fg text-sm placeholder:text-muted focus:outline-none",
|
|
98
98
|
role: "combobox",
|
|
99
99
|
"aria-expanded": showRecent || showResults,
|
|
@@ -107,7 +107,7 @@ function PlaygroundBase({
|
|
|
107
107
|
type: "button",
|
|
108
108
|
onClick: addHeader,
|
|
109
109
|
className: "text-xs text-accent",
|
|
110
|
-
children: "+
|
|
110
|
+
children: "+ Add"
|
|
111
111
|
}
|
|
112
112
|
)
|
|
113
113
|
] }),
|
|
@@ -116,7 +116,7 @@ function PlaygroundBase({
|
|
|
116
116
|
"input",
|
|
117
117
|
{
|
|
118
118
|
className: input,
|
|
119
|
-
placeholder: "
|
|
119
|
+
placeholder: "Key",
|
|
120
120
|
value: h.key,
|
|
121
121
|
onChange: (e) => updateHeader(i, "key", e.target.value)
|
|
122
122
|
}
|
|
@@ -125,7 +125,7 @@ function PlaygroundBase({
|
|
|
125
125
|
"input",
|
|
126
126
|
{
|
|
127
127
|
className: input,
|
|
128
|
-
placeholder: "
|
|
128
|
+
placeholder: "Value",
|
|
129
129
|
value: h.value,
|
|
130
130
|
onChange: (e) => updateHeader(i, "value", e.target.value)
|
|
131
131
|
}
|
|
@@ -32,7 +32,7 @@ const Property = memo(function Property2({
|
|
|
32
32
|
/* @__PURE__ */ jsx("code", { className: "font-mono", children: defaultValue })
|
|
33
33
|
] })
|
|
34
34
|
] }),
|
|
35
|
-
children && /* @__PURE__ */ jsx("
|
|
35
|
+
children && /* @__PURE__ */ jsx("div", { className: "text-sm text-muted [&>p]:m-0", children })
|
|
36
36
|
]
|
|
37
37
|
}
|
|
38
38
|
);
|
|
@@ -97,7 +97,7 @@ const SearchDialog = memo(function SearchDialog2({
|
|
|
97
97
|
className: "w-full px-4 py-3 bg-transparent text-fg text-sm placeholder:text-muted border-b border-line focus:outline-none"
|
|
98
98
|
}
|
|
99
99
|
),
|
|
100
|
-
/* @__PURE__ */ jsx("div", { className: "max-h-72 overflow-y-auto", children: loading ? /* @__PURE__ */ jsx("div", { className: "p-4 text-center text-muted text-sm", children: "
|
|
100
|
+
/* @__PURE__ */ jsx("div", { className: "max-h-72 overflow-y-auto", children: loading ? /* @__PURE__ */ jsx("div", { className: "p-4 text-center text-muted text-sm", children: "Loading..." }) : results && results.length === 0 && query.trim() ? /* @__PURE__ */ jsx("div", { className: "p-4 text-center text-muted text-sm", children: "No results" }) : results?.map((r, i) => /* @__PURE__ */ jsxs(
|
|
101
101
|
"a",
|
|
102
102
|
{
|
|
103
103
|
href: r.href,
|
|
@@ -39,7 +39,7 @@ function ShortcutsBase({
|
|
|
39
39
|
type: "button",
|
|
40
40
|
className: "absolute inset-0",
|
|
41
41
|
onClick: close,
|
|
42
|
-
"aria-label": "
|
|
42
|
+
"aria-label": "Close shortcuts"
|
|
43
43
|
}
|
|
44
44
|
),
|
|
45
45
|
/* @__PURE__ */ jsx(
|
|
@@ -48,7 +48,7 @@ function ShortcutsBase({
|
|
|
48
48
|
className: "relative w-full max-w-lg rounded-xl border border-line bg-surface p-6 shadow-2xl",
|
|
49
49
|
role: "dialog",
|
|
50
50
|
"aria-modal": "true",
|
|
51
|
-
"aria-label": "
|
|
51
|
+
"aria-label": "Keyboard shortcuts",
|
|
52
52
|
children: [...groups].map(([group, items]) => /* @__PURE__ */ jsxs("div", { className: "mb-4 last:mb-0", children: [
|
|
53
53
|
/* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase text-dim mb-2", children: group }),
|
|
54
54
|
items.map((s) => /* @__PURE__ */ jsxs(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
3
3
|
import Link from 'next/link';
|
|
4
4
|
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
5
5
|
import { Folder } from './folder';
|
|
@@ -17,25 +17,11 @@ function Sidebar({
|
|
|
17
17
|
width = 268
|
|
18
18
|
}) {
|
|
19
19
|
const [collapsed, setCollapsed] = useState(false);
|
|
20
|
-
const [mounted, setMounted] = useState(false);
|
|
21
20
|
const [hovered, setHovered] = useState(false);
|
|
22
21
|
const leaveTimer = useRef(null);
|
|
23
22
|
const floatingTimer = useRef(null);
|
|
24
23
|
const [floating, setFloating] = useState(false);
|
|
25
|
-
const containerRef = useRef(null);
|
|
26
24
|
const widthvalue = `${width}px`;
|
|
27
|
-
useEffect(() => {
|
|
28
|
-
const stored = localStorage.getItem("sidebar-collapsed") === "true";
|
|
29
|
-
setCollapsed(stored);
|
|
30
|
-
if (containerRef.current) {
|
|
31
|
-
delete containerRef.current.dataset.sidebarHide;
|
|
32
|
-
}
|
|
33
|
-
const style = document.getElementById("sidebar-hide");
|
|
34
|
-
if (style) {
|
|
35
|
-
style.remove();
|
|
36
|
-
}
|
|
37
|
-
requestAnimationFrame(() => setMounted(true));
|
|
38
|
-
}, []);
|
|
39
25
|
useEffect(() => {
|
|
40
26
|
if (floatingTimer.current) {
|
|
41
27
|
clearTimeout(floatingTimer.current);
|
|
@@ -54,11 +40,7 @@ function Sidebar({
|
|
|
54
40
|
};
|
|
55
41
|
}, [collapsed, hovered]);
|
|
56
42
|
const toggle = useCallback(() => {
|
|
57
|
-
setCollapsed((prev) =>
|
|
58
|
-
const next = !prev;
|
|
59
|
-
localStorage.setItem("sidebar-collapsed", String(next));
|
|
60
|
-
return next;
|
|
61
|
-
});
|
|
43
|
+
setCollapsed((prev) => !prev);
|
|
62
44
|
}, []);
|
|
63
45
|
const showExpanded = !collapsed || hovered;
|
|
64
46
|
const handleEnter = useCallback(
|
|
@@ -116,8 +98,7 @@ function Sidebar({
|
|
|
116
98
|
}, []);
|
|
117
99
|
const shadow = collapsed && hovered ? "shadow-xl" : "";
|
|
118
100
|
const translate = collapsed && !hovered ? `translateX(-${width}px)` : "translateX(0px)";
|
|
119
|
-
|
|
120
|
-
return /* @__PURE__ */ jsxs("div", { ref: containerRef, "data-sidebar-container": "", children: [
|
|
101
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
121
102
|
/* @__PURE__ */ jsx("div", { className: "hidden lg:block shrink-0", style: { width: widthvalue } }),
|
|
122
103
|
/* @__PURE__ */ jsxs(
|
|
123
104
|
"div",
|
|
@@ -141,7 +122,7 @@ function Sidebar({
|
|
|
141
122
|
"aria-expanded": showExpanded,
|
|
142
123
|
"data-collapsed": collapsed,
|
|
143
124
|
"data-hovered": collapsed && hovered,
|
|
144
|
-
className: `${shadow} h-full flex flex-col bg-bg border-r border-line
|
|
125
|
+
className: `${shadow} h-full flex flex-col bg-bg border-r border-line transition-[transform,box-shadow] duration-250 ease-[cubic-bezier(0.25,0.1,0.25,1)] pointer-events-auto`,
|
|
145
126
|
style: { transform: translate, width: widthvalue },
|
|
146
127
|
onPointerEnter: handleEnter,
|
|
147
128
|
onPointerLeave: handleLeave,
|
|
@@ -172,25 +153,24 @@ function Sidebar({
|
|
|
172
153
|
]
|
|
173
154
|
}
|
|
174
155
|
),
|
|
175
|
-
|
|
156
|
+
floating && /* @__PURE__ */ jsx("div", { className: "hidden lg:flex fixed left-0 top-0 z-50 p-3 pointer-events-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col rounded-lg border border-line bg-surface/80 backdrop-blur-sm overflow-hidden", children: [
|
|
176
157
|
/* @__PURE__ */ jsx(
|
|
177
158
|
"button",
|
|
178
159
|
{
|
|
179
160
|
type: "button",
|
|
180
161
|
onClick: toggle,
|
|
181
162
|
className: "w-9 h-9 flex items-center justify-center text-muted hover:text-fg hover:bg-surface transition-colors",
|
|
182
|
-
"aria-label": "
|
|
163
|
+
"aria-label": "Expand sidebar",
|
|
183
164
|
children: /* @__PURE__ */ jsx(IconPanelLeft, { size: 16 })
|
|
184
165
|
}
|
|
185
166
|
),
|
|
186
|
-
/* @__PURE__ */ jsx("div", { className: "h-px bg-line" }),
|
|
187
167
|
/* @__PURE__ */ jsx(
|
|
188
168
|
"button",
|
|
189
169
|
{
|
|
190
170
|
type: "button",
|
|
191
171
|
onClick: openSearch,
|
|
192
172
|
className: "w-9 h-9 flex items-center justify-center text-muted hover:text-fg hover:bg-surface transition-colors",
|
|
193
|
-
"aria-label": "
|
|
173
|
+
"aria-label": "Open search",
|
|
194
174
|
"aria-keyshortcuts": "Meta+K",
|
|
195
175
|
children: /* @__PURE__ */ jsx(
|
|
196
176
|
"svg",
|
|
@@ -258,7 +238,7 @@ function SidebarSearch({
|
|
|
258
238
|
type: "button",
|
|
259
239
|
onClick: onOpen,
|
|
260
240
|
className: "h-9 w-full flex items-center rounded-lg border border-line bg-surface/40 text-muted hover:text-fg hover:bg-surface/80 transition-colors px-3 gap-2",
|
|
261
|
-
"aria-label": "
|
|
241
|
+
"aria-label": "Open search",
|
|
262
242
|
"aria-keyshortcuts": "Meta+K",
|
|
263
243
|
children: [
|
|
264
244
|
/* @__PURE__ */ jsx(
|
|
@@ -280,7 +260,7 @@ function SidebarSearch({
|
|
|
280
260
|
)
|
|
281
261
|
}
|
|
282
262
|
),
|
|
283
|
-
/* @__PURE__ */ jsx("span", { className: `text-sm ${showExpanded ? "block" : "hidden"}`, children: "
|
|
263
|
+
/* @__PURE__ */ jsx("span", { className: `text-sm ${showExpanded ? "block" : "hidden"}`, children: "Search..." }),
|
|
284
264
|
/* @__PURE__ */ jsx(
|
|
285
265
|
"kbd",
|
|
286
266
|
{
|
|
@@ -41,8 +41,8 @@ function SidebarFilter({
|
|
|
41
41
|
type: "text",
|
|
42
42
|
value,
|
|
43
43
|
onChange: handle,
|
|
44
|
-
"aria-label": "
|
|
45
|
-
placeholder: "
|
|
44
|
+
"aria-label": "Filter navigation",
|
|
45
|
+
placeholder: "Filter...",
|
|
46
46
|
className: "w-full h-8 px-2.5 pr-7 rounded-md border border-line bg-surface/50 text-sm text-fg placeholder:text-muted outline-none transition-colors focus:border-accent"
|
|
47
47
|
}
|
|
48
48
|
),
|
|
@@ -51,7 +51,7 @@ function SidebarFilter({
|
|
|
51
51
|
{
|
|
52
52
|
type: "button",
|
|
53
53
|
onClick: clear,
|
|
54
|
-
"aria-label": "
|
|
54
|
+
"aria-label": "Clear filter",
|
|
55
55
|
className: "absolute right-1.5 top-1/2 -translate-y-1/2 w-5 h-5 flex items-center justify-center text-muted hover:text-fg transition-colors",
|
|
56
56
|
children: /* @__PURE__ */ jsx(
|
|
57
57
|
"svg",
|
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
const css = `html[data-sidebar-collapsed] [data-sidebar-container]{visibility:hidden}`;
|
|
4
|
-
const code = `(function(){try{if(localStorage.getItem("sidebar-collapsed")==="true"){document.documentElement.setAttribute("data-sidebar-collapsed","")}}catch(e){}})()`;
|
|
5
1
|
function SidebarScript() {
|
|
6
|
-
return
|
|
7
|
-
/* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: css } }),
|
|
8
|
-
/* @__PURE__ */ jsx(
|
|
9
|
-
"script",
|
|
10
|
-
{
|
|
11
|
-
suppressHydrationWarning: true,
|
|
12
|
-
dangerouslySetInnerHTML: { __html: code }
|
|
13
|
-
}
|
|
14
|
-
)
|
|
15
|
-
] });
|
|
2
|
+
return null;
|
|
16
3
|
}
|
|
17
4
|
|
|
18
5
|
export { SidebarScript };
|
package/dist/components/theme.js
CHANGED
|
@@ -48,7 +48,7 @@ function ThemeToggleBase({
|
|
|
48
48
|
{
|
|
49
49
|
type: "button",
|
|
50
50
|
className: "p-2 text-muted hover:text-fg transition-colors",
|
|
51
|
-
"aria-label": "
|
|
51
|
+
"aria-label": "Toggle theme",
|
|
52
52
|
disabled: true,
|
|
53
53
|
children: /* @__PURE__ */ jsx("span", { className: "size-4 block" })
|
|
54
54
|
}
|