@veluai/velu 0.1.13 → 0.1.15
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/README.md +80 -80
- package/dist/cli.js +21 -21
- package/package.json +3 -2
- package/runtime/velu-ui/components/Accordion.jsx +64 -64
- package/runtime/velu-ui/components/ApiClient.jsx +121 -121
- package/runtime/velu-ui/components/ApiField.jsx +87 -87
- package/runtime/velu-ui/components/ApiPath.jsx +63 -63
- package/runtime/velu-ui/components/ApiSidebar.jsx +122 -122
- package/runtime/velu-ui/components/AskBar.jsx +71 -71
- package/runtime/velu-ui/components/Callout.jsx +114 -114
- package/runtime/velu-ui/components/Card.jsx +131 -131
- package/runtime/velu-ui/components/Chatbot.jsx +596 -596
- package/runtime/velu-ui/components/CodeBlock.jsx +375 -375
- package/runtime/velu-ui/components/Columns.jsx +56 -56
- package/runtime/velu-ui/components/ErrorCard.jsx +138 -138
- package/runtime/velu-ui/components/Field.jsx +81 -81
- package/runtime/velu-ui/components/Image.jsx +163 -163
- package/runtime/velu-ui/components/Logo.jsx +31 -0
- package/runtime/velu-ui/components/MethodBadge.jsx +31 -31
- package/runtime/velu-ui/components/NavSelect.jsx +108 -108
- package/runtime/velu-ui/components/PageFeedback.jsx +219 -219
- package/runtime/velu-ui/components/PageFooter.jsx +145 -213
- package/runtime/velu-ui/components/PageHeader.jsx +422 -414
- package/runtime/velu-ui/components/PageNav.jsx +77 -77
- package/runtime/velu-ui/components/PoweredBy.jsx +51 -51
- package/runtime/velu-ui/components/Prompt.jsx +115 -115
- package/runtime/velu-ui/components/Search.jsx +411 -366
- package/runtime/velu-ui/components/Sidebar.jsx +191 -191
- package/runtime/velu-ui/components/SocialLinks.jsx +90 -0
- package/runtime/velu-ui/components/Steps.jsx +65 -65
- package/runtime/velu-ui/components/ThemeToggle.jsx +48 -48
- package/runtime/velu-ui/components/Toc.jsx +537 -537
- package/runtime/velu-ui/components/TocBar.jsx +195 -195
- package/runtime/velu-ui/components/Tree.jsx +87 -87
- package/runtime/velu-ui/components/TryItBar.jsx +90 -90
- package/runtime/velu-ui/components/accordion.css +92 -92
- package/runtime/velu-ui/components/api.css +479 -479
- package/runtime/velu-ui/components/ask-bar.css +94 -94
- package/runtime/velu-ui/components/card.css +105 -105
- package/runtime/velu-ui/components/chatbot.css +617 -617
- package/runtime/velu-ui/components/code-block.css +263 -263
- package/runtime/velu-ui/components/docs-layout.css +784 -775
- package/runtime/velu-ui/components/field.css +82 -82
- package/runtime/velu-ui/components/image.css +237 -237
- package/runtime/velu-ui/components/nav-select.css +157 -157
- package/runtime/velu-ui/components/page-feedback.css +241 -241
- package/runtime/velu-ui/components/page-footer.css +130 -130
- package/runtime/velu-ui/components/page-header.css +557 -520
- package/runtime/velu-ui/components/page-nav.css +50 -50
- package/runtime/velu-ui/components/powered-by.css +86 -66
- package/runtime/velu-ui/components/prompt.css +99 -99
- package/runtime/velu-ui/components/search.css +307 -307
- package/runtime/velu-ui/components/sidebar.css +144 -144
- package/runtime/velu-ui/components/steps.css +77 -77
- package/runtime/velu-ui/components/theme-toggle.css +101 -101
- package/runtime/velu-ui/components/toc-bar.css +234 -234
- package/runtime/velu-ui/components/tree.css +49 -49
- package/runtime/velu-ui/index.js +48 -46
- package/runtime/velu-ui/lib/component-schemas.js +100 -100
- package/runtime/velu-ui/lib/copyText.js +64 -64
- package/runtime/velu-ui/lib/lang-icons.jsx +147 -147
- package/runtime/velu-ui/lib/prism-langs.js +957 -957
- package/runtime/velu-ui/lib/prism-loader.js +74 -74
- package/runtime/velu-ui/lib/resolveIcon.jsx +29 -29
- package/runtime/velu-ui/lib/scrollIntoNearestView.js +66 -66
- package/runtime/velu-ui/mdx-components.jsx +105 -105
- package/runtime/velu-ui/primitives/Cluster.jsx +49 -49
- package/runtime/velu-ui/primitives/Stack.jsx +63 -63
- package/runtime/velu-ui/primitives/Switcher.jsx +57 -57
- package/runtime/velu-ui/primitives/stack.css +3 -3
- package/runtime/velu-ui/primitives/switcher.css +25 -25
- package/runtime/velu-ui/styles.css +43 -43
- package/runtime/velu-ui/tokens.css +4 -4
- package/schema/velu.schema.json +281 -167
- package/src/lib/extract-mdx-error.js +170 -170
- package/src/lib/issues.js +159 -159
- package/src/lib/known-components.js +34 -34
- package/src/navigation.js +434 -434
- package/src/runtime/App.jsx +1506 -1476
- package/src/runtime/ErrorBoundary.jsx +54 -54
- package/src/runtime/client-entry.jsx +22 -22
- package/src/runtime/server-entry.jsx +16 -16
- package/src/template.html +48 -48
- package/templates/starter/ai-tools/claude-code.mdx +26 -26
- package/templates/starter/ai-tools/cursor.mdx +17 -17
- package/templates/starter/api-reference/endpoint/create.mdx +24 -24
- package/templates/starter/api-reference/endpoint/get.mdx +27 -27
- package/templates/starter/api-reference/introduction.mdx +28 -28
- package/templates/starter/development.mdx +19 -19
- package/templates/starter/essentials/code.mdx +29 -29
- package/templates/starter/essentials/images.mdx +29 -29
- package/templates/starter/essentials/markdown.mdx +25 -25
- package/templates/starter/essentials/navigation.mdx +39 -39
- package/templates/starter/essentials/settings.mdx +30 -30
- package/templates/starter/favicon.svg +6 -6
- package/templates/starter/index.mdx +31 -31
- package/templates/starter/quickstart.mdx +31 -31
- package/templates/starter/velu.json +33 -33
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Sun, Moon } from 'lucide-react';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* ThemeToggle — pill-shaped two-state light/dark switch. The thumb
|
|
6
|
-
* sits at the inline-start in light mode and slides to the inline-end
|
|
7
|
-
* in dark mode. A sun glyph rides the thumb in light, a moon in dark.
|
|
8
|
-
*
|
|
9
|
-
* SSR-safe by design: markup is identical regardless of theme (the
|
|
10
|
-
* server doesn't know it), and the thumb position + which glyph shows
|
|
11
|
-
* are decided purely by CSS via the `[data-theme]` attribute — NOT by
|
|
12
|
-
* React state. So there is no hydration mismatch and no icon flash. JS
|
|
13
|
-
* only handles the click: it flips `data-theme` and persists the
|
|
14
|
-
* explicit choice (which then overrides the OS preference on future
|
|
15
|
-
* visits, per the anti-flash script in the template).
|
|
16
|
-
*/
|
|
17
|
-
export default function ThemeToggle({ className = '', ...rest }) {
|
|
18
|
-
function toggle() {
|
|
19
|
-
const root = document.documentElement;
|
|
20
|
-
const next = root.dataset.theme === 'dark' ? 'light' : 'dark';
|
|
21
|
-
root.dataset.theme = next;
|
|
22
|
-
try {
|
|
23
|
-
localStorage.setItem('velu-theme', next);
|
|
24
|
-
} catch {
|
|
25
|
-
/* private mode / storage disabled — toggle still works for the session */
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
return (
|
|
30
|
-
<button
|
|
31
|
-
type="button"
|
|
32
|
-
onClick={toggle}
|
|
33
|
-
aria-label="Toggle color theme"
|
|
34
|
-
title="Toggle color theme"
|
|
35
|
-
className={`velu-theme-toggle ${className}`.trim()}
|
|
36
|
-
{...rest}
|
|
37
|
-
>
|
|
38
|
-
<Sun
|
|
39
|
-
className="velu-theme-toggle__icon velu-theme-toggle__icon--sun"
|
|
40
|
-
aria-hidden="true"
|
|
41
|
-
/>
|
|
42
|
-
<Moon
|
|
43
|
-
className="velu-theme-toggle__icon velu-theme-toggle__icon--moon"
|
|
44
|
-
aria-hidden="true"
|
|
45
|
-
/>
|
|
46
|
-
</button>
|
|
47
|
-
);
|
|
48
|
-
}
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Sun, Moon } from 'lucide-react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* ThemeToggle — pill-shaped two-state light/dark switch. The thumb
|
|
6
|
+
* sits at the inline-start in light mode and slides to the inline-end
|
|
7
|
+
* in dark mode. A sun glyph rides the thumb in light, a moon in dark.
|
|
8
|
+
*
|
|
9
|
+
* SSR-safe by design: markup is identical regardless of theme (the
|
|
10
|
+
* server doesn't know it), and the thumb position + which glyph shows
|
|
11
|
+
* are decided purely by CSS via the `[data-theme]` attribute — NOT by
|
|
12
|
+
* React state. So there is no hydration mismatch and no icon flash. JS
|
|
13
|
+
* only handles the click: it flips `data-theme` and persists the
|
|
14
|
+
* explicit choice (which then overrides the OS preference on future
|
|
15
|
+
* visits, per the anti-flash script in the template).
|
|
16
|
+
*/
|
|
17
|
+
export default function ThemeToggle({ className = '', ...rest }) {
|
|
18
|
+
function toggle() {
|
|
19
|
+
const root = document.documentElement;
|
|
20
|
+
const next = root.dataset.theme === 'dark' ? 'light' : 'dark';
|
|
21
|
+
root.dataset.theme = next;
|
|
22
|
+
try {
|
|
23
|
+
localStorage.setItem('velu-theme', next);
|
|
24
|
+
} catch {
|
|
25
|
+
/* private mode / storage disabled — toggle still works for the session */
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<button
|
|
31
|
+
type="button"
|
|
32
|
+
onClick={toggle}
|
|
33
|
+
aria-label="Toggle color theme"
|
|
34
|
+
title="Toggle color theme"
|
|
35
|
+
className={`velu-theme-toggle ${className}`.trim()}
|
|
36
|
+
{...rest}
|
|
37
|
+
>
|
|
38
|
+
<Sun
|
|
39
|
+
className="velu-theme-toggle__icon velu-theme-toggle__icon--sun"
|
|
40
|
+
aria-hidden="true"
|
|
41
|
+
/>
|
|
42
|
+
<Moon
|
|
43
|
+
className="velu-theme-toggle__icon velu-theme-toggle__icon--moon"
|
|
44
|
+
aria-hidden="true"
|
|
45
|
+
/>
|
|
46
|
+
</button>
|
|
47
|
+
);
|
|
48
|
+
}
|