boltdocs 2.7.10 → 2.7.11
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/client/index.cjs +1929 -1
- package/dist/client/index.js +1880 -1
- package/dist/client/mdx.cjs +7 -1
- package/dist/client/mdx.js +7 -1
- package/dist/client/primitives.cjs +60 -1
- package/dist/client/primitives.js +20 -1
- package/dist/docs-layout-BXHV0xw_.cjs +1431 -0
- package/dist/docs-layout-DwFndmj5.js +1231 -0
- package/dist/icons-dev-3cZMyt8r.cjs +1204 -0
- package/dist/icons-dev-Df8OQ481.js +839 -0
- package/dist/image-DtrI2cw3.cjs +268 -0
- package/dist/image-jxPb-2iV.js +214 -0
- package/dist/mdx-BdWkJTeB.cjs +523 -0
- package/dist/mdx-UTTLFWJq.js +494 -0
- package/dist/node/cli-entry.cjs +1 -1
- package/dist/node/cli-entry.mjs +1 -1
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.mjs +1 -1
- package/dist/{node-DtEDyN1u.cjs → node-BSM4qcDK.cjs} +1 -1
- package/dist/{node-_1jhMGYx.mjs → node-BspZN3R2.mjs} +1 -1
- package/dist/{package-DrwtlXfk.cjs → package-DIIrjuWI.cjs} +1 -1
- package/dist/{package--0Yf0t1N.mjs → package-K0zsjGIz.mjs} +1 -1
- package/dist/{search-dialog-ByvGScjt.js → search-dialog-BHuIiUC6.js} +3 -1
- package/dist/search-dialog-BNF10tDl.js +375 -0
- package/dist/search-dialog-BwkDuI9R.cjs +220 -0
- package/dist/search-dialog-C7xuvyNk.cjs +386 -0
- package/dist/search-dialog-CIQg6k8c.cjs +8 -0
- package/dist/search-dialog-D-DDN7zJ.js +208 -0
- package/package.json +3 -4
- package/dist/docs-layout-KoWNZc8_.js +0 -6
- package/dist/docs-layout-x2yKt2cL.cjs +0 -6
- package/dist/icons-dev-B_RZIyxu.js +0 -6
- package/dist/icons-dev-BlV3wWFT.cjs +0 -6
- package/dist/image-BHhTvQzr.cjs +0 -6
- package/dist/image-CqKzYD8f.js +0 -6
- package/dist/mdx-DudBEac0.js +0 -7
- package/dist/mdx-r4cDQxWu.cjs +0 -7
- package/dist/search-dialog-B584t9ZF.js +0 -6
- package/dist/search-dialog-BvBopRsZ.cjs +0 -6
- package/dist/search-dialog-Cyko6TJm.cjs +0 -6
- package/dist/search-dialog-D6BNohIJ.js +0 -6
- package/dist/search-dialog-DuYTIefy.cjs +0 -6
- package/src/client/app/config-context.tsx +0 -51
- package/src/client/app/doc-page.tsx +0 -38
- package/src/client/app/docs-layout.tsx +0 -28
- package/src/client/app/head.tsx +0 -122
- package/src/client/app/helmet-compat.tsx +0 -36
- package/src/client/app/mdx-component.tsx +0 -8
- package/src/client/app/mdx-components-context.tsx +0 -72
- package/src/client/app/routes-context.tsx +0 -34
- package/src/client/app/scroll-handler.tsx +0 -74
- package/src/client/app/theme-context.tsx +0 -103
- package/src/client/app/ui-context.tsx +0 -42
- package/src/client/components/docs-layout-default.tsx +0 -85
- package/src/client/components/icons-dev.tsx +0 -282
- package/src/client/components/mdx/callout.tsx +0 -97
- package/src/client/components/mdx/card.tsx +0 -99
- package/src/client/components/mdx/cards.tsx +0 -27
- package/src/client/components/mdx/code-block.tsx +0 -184
- package/src/client/components/mdx/field.tsx +0 -33
- package/src/client/components/mdx/image.tsx +0 -44
- package/src/client/components/mdx/index.ts +0 -19
- package/src/client/components/mdx/table.tsx +0 -54
- package/src/client/components/mdx/typographics.tsx +0 -120
- package/src/client/components/mdx/use-code-block.ts +0 -34
- package/src/client/components/primitives/breadcrumbs.tsx +0 -54
- package/src/client/components/primitives/button-group.tsx +0 -54
- package/src/client/components/primitives/button.tsx +0 -6
- package/src/client/components/primitives/code-block.tsx +0 -120
- package/src/client/components/primitives/docs-layout.tsx +0 -125
- package/src/client/components/primitives/error-boundary.tsx +0 -107
- package/src/client/components/primitives/heading.tsx +0 -128
- package/src/client/components/primitives/helpers/observer.ts +0 -141
- package/src/client/components/primitives/image.tsx +0 -26
- package/src/client/components/primitives/link.tsx +0 -102
- package/src/client/components/primitives/menu.tsx +0 -137
- package/src/client/components/primitives/navbar.tsx +0 -466
- package/src/client/components/primitives/on-this-page.tsx +0 -430
- package/src/client/components/primitives/page-nav.tsx +0 -51
- package/src/client/components/primitives/popover.tsx +0 -28
- package/src/client/components/primitives/search-dialog.tsx +0 -193
- package/src/client/components/primitives/sidebar.tsx +0 -423
- package/src/client/components/primitives/skeleton.tsx +0 -26
- package/src/client/components/primitives/tabs.tsx +0 -70
- package/src/client/components/primitives/tooltip.tsx +0 -81
- package/src/client/components/primitives/types.ts +0 -11
- package/src/client/components/ui-base/banner.tsx +0 -66
- package/src/client/components/ui-base/breadcrumbs.tsx +0 -44
- package/src/client/components/ui-base/copy-markdown.tsx +0 -107
- package/src/client/components/ui-base/error-boundary.tsx +0 -15
- package/src/client/components/ui-base/github-stars.tsx +0 -29
- package/src/client/components/ui-base/icons.tsx +0 -240
- package/src/client/components/ui-base/index.ts +0 -16
- package/src/client/components/ui-base/last-updated.tsx +0 -27
- package/src/client/components/ui-base/navbar.tsx +0 -266
- package/src/client/components/ui-base/not-found.tsx +0 -26
- package/src/client/components/ui-base/on-this-page.tsx +0 -57
- package/src/client/components/ui-base/page-nav.tsx +0 -50
- package/src/client/components/ui-base/search-dialog.tsx +0 -163
- package/src/client/components/ui-base/search-highlight.tsx +0 -10
- package/src/client/components/ui-base/sidebar.tsx +0 -92
- package/src/client/components/ui-base/tabs.tsx +0 -83
- package/src/client/components/ui-base/theme-toggle.tsx +0 -130
- package/src/client/components/ui-base/version-i18n.tsx +0 -80
- package/src/client/hooks/index.ts +0 -13
- package/src/client/hooks/use-analytics.ts +0 -272
- package/src/client/hooks/use-breadcrumbs.ts +0 -22
- package/src/client/hooks/use-i18n.ts +0 -182
- package/src/client/hooks/use-localized-to.ts +0 -113
- package/src/client/hooks/use-location.ts +0 -5
- package/src/client/hooks/use-navbar.ts +0 -130
- package/src/client/hooks/use-page-nav.ts +0 -46
- package/src/client/hooks/use-routes.ts +0 -108
- package/src/client/hooks/use-search-highlight.ts +0 -185
- package/src/client/hooks/use-search.ts +0 -118
- package/src/client/hooks/use-sidebar.ts +0 -205
- package/src/client/hooks/use-tabs.ts +0 -46
- package/src/client/hooks/use-version.ts +0 -111
- package/src/client/index.ts +0 -31
- package/src/client/mdx.ts +0 -2
- package/src/client/primitives.ts +0 -19
- package/src/client/ssg/boltdocs-shell.tsx +0 -148
- package/src/client/ssg/create-routes.tsx +0 -473
- package/src/client/ssg/index.ts +0 -4
- package/src/client/ssg/mdx-page.tsx +0 -38
- package/src/client/store/boltdocs-context.tsx +0 -137
- package/src/client/theme/neutral.css +0 -141
- package/src/client/theme/reset.css +0 -189
- package/src/client/types.ts +0 -116
- package/src/client/utils/cn.ts +0 -6
- package/src/client/utils/copy-clipboard.ts +0 -22
- package/src/client/utils/get-base-file-path.ts +0 -21
- package/src/client/utils/github.ts +0 -121
- package/src/client/utils/i18n.ts +0 -23
- package/src/client/utils/path.ts +0 -9
- package/src/client/utils/react-to-text.ts +0 -34
- package/src/client/virtual.d.ts +0 -24
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { createContext, use, useState, useEffect } from 'react'
|
|
2
|
-
|
|
3
|
-
export type Theme = 'light' | 'dark' | 'system'
|
|
4
|
-
export type ResolvedTheme = 'light' | 'dark'
|
|
5
|
-
|
|
6
|
-
interface ThemeContextType {
|
|
7
|
-
theme: Theme
|
|
8
|
-
resolvedTheme: ResolvedTheme
|
|
9
|
-
setTheme: (theme: Theme) => void
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const THEME_CONTEXT_SYMBOL = Symbol.for('__BDOCS_THEME_CONTEXT__')
|
|
13
|
-
const THEME_INSTANCE_SYMBOL = Symbol.for('__BDOCS_THEME_INSTANCE__')
|
|
14
|
-
const THEME_EVENT = 'boltdocs-theme-change'
|
|
15
|
-
|
|
16
|
-
const ThemeContext =
|
|
17
|
-
(globalThis as any)[THEME_CONTEXT_SYMBOL] ||
|
|
18
|
-
((globalThis as any)[THEME_CONTEXT_SYMBOL] = createContext<
|
|
19
|
-
ThemeContextType | undefined
|
|
20
|
-
>(undefined))
|
|
21
|
-
|
|
22
|
-
export function ThemeProvider({ children }: { children: React.ReactNode }) {
|
|
23
|
-
const [theme, setThemeState] = useState<Theme>('system')
|
|
24
|
-
const [resolvedTheme, setResolvedTheme] = useState<ResolvedTheme>('dark')
|
|
25
|
-
|
|
26
|
-
const applyTheme = (targetTheme: Theme) => {
|
|
27
|
-
const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
|
|
28
|
-
const isDark =
|
|
29
|
-
targetTheme === 'dark' || (targetTheme === 'system' && mediaQuery.matches)
|
|
30
|
-
|
|
31
|
-
const root = window.document.documentElement
|
|
32
|
-
root.classList.toggle('dark', isDark)
|
|
33
|
-
root.dataset.theme = isDark ? 'dark' : 'light'
|
|
34
|
-
setResolvedTheme(isDark ? 'dark' : 'light')
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
const savedTheme = localStorage.getItem('boltdocs-theme') as Theme | null
|
|
39
|
-
if (savedTheme) {
|
|
40
|
-
setThemeState(savedTheme)
|
|
41
|
-
applyTheme(savedTheme)
|
|
42
|
-
} else {
|
|
43
|
-
applyTheme('system')
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
|
|
47
|
-
const listener = () => {
|
|
48
|
-
const current =
|
|
49
|
-
(localStorage.getItem('boltdocs-theme') as Theme) || 'system'
|
|
50
|
-
if (current === 'system') applyTheme('system')
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
mediaQuery.addEventListener('change', listener)
|
|
54
|
-
return () => mediaQuery.removeEventListener('change', listener)
|
|
55
|
-
}, [])
|
|
56
|
-
|
|
57
|
-
const setTheme = (newTheme: Theme) => {
|
|
58
|
-
setThemeState(newTheme)
|
|
59
|
-
localStorage.setItem('boltdocs-theme', newTheme)
|
|
60
|
-
applyTheme(newTheme)
|
|
61
|
-
|
|
62
|
-
// Notify external listeners (dual-package hazard)
|
|
63
|
-
if (typeof window !== 'undefined') {
|
|
64
|
-
window.dispatchEvent(new CustomEvent(THEME_EVENT, { detail: newTheme }))
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const value = { theme, resolvedTheme, setTheme }
|
|
69
|
-
|
|
70
|
-
// Sync with global registry
|
|
71
|
-
if (typeof globalThis !== 'undefined') {
|
|
72
|
-
;(globalThis as any)[THEME_INSTANCE_SYMBOL] = value
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export function useTheme() {
|
|
79
|
-
const context = use(ThemeContext)
|
|
80
|
-
const [, forceUpdate] = useState({})
|
|
81
|
-
|
|
82
|
-
useEffect(() => {
|
|
83
|
-
if (context) return
|
|
84
|
-
|
|
85
|
-
const handler = () => forceUpdate({})
|
|
86
|
-
window.addEventListener(THEME_EVENT, handler)
|
|
87
|
-
return () => window.removeEventListener(THEME_EVENT, handler)
|
|
88
|
-
}, [context])
|
|
89
|
-
|
|
90
|
-
// Fallback to global registry for dual-package hazards
|
|
91
|
-
if (
|
|
92
|
-
!context &&
|
|
93
|
-
typeof globalThis !== 'undefined' &&
|
|
94
|
-
(globalThis as any)[THEME_INSTANCE_SYMBOL]
|
|
95
|
-
) {
|
|
96
|
-
return (globalThis as any)[THEME_INSTANCE_SYMBOL] as ThemeContextType
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
if (context === undefined) {
|
|
100
|
-
throw new Error('useTheme must be used within a ThemeProvider')
|
|
101
|
-
}
|
|
102
|
-
return context as ThemeContextType
|
|
103
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { createContext, useContext, useState, useEffect } from 'react'
|
|
2
|
-
import { useLocation } from 'react-router-dom'
|
|
3
|
-
|
|
4
|
-
interface UIContextType {
|
|
5
|
-
isSidebarOpen: boolean
|
|
6
|
-
toggleSidebar: () => void
|
|
7
|
-
closeSidebar: () => void
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const UIContext = createContext<UIContextType | undefined>(undefined)
|
|
11
|
-
|
|
12
|
-
export function UIProvider({ children }: { children: React.ReactNode }) {
|
|
13
|
-
const [isSidebarOpen, setIsSidebarOpen] = useState(false)
|
|
14
|
-
const location = useLocation()
|
|
15
|
-
|
|
16
|
-
const toggleSidebar = () => setIsSidebarOpen((prev) => !prev)
|
|
17
|
-
const closeSidebar = () => setIsSidebarOpen(false)
|
|
18
|
-
|
|
19
|
-
// Close sidebar on navigation
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
setIsSidebarOpen(false)
|
|
22
|
-
}, [location.pathname])
|
|
23
|
-
|
|
24
|
-
return (
|
|
25
|
-
<UIContext.Provider value={{ isSidebarOpen, toggleSidebar, closeSidebar }}>
|
|
26
|
-
{children}
|
|
27
|
-
</UIContext.Provider>
|
|
28
|
-
)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export function useUI() {
|
|
32
|
-
const context = useContext(UIContext)
|
|
33
|
-
if (context === undefined) {
|
|
34
|
-
// Safe fallback for split bundles, independent component renders, or during SSR
|
|
35
|
-
return {
|
|
36
|
-
isSidebarOpen: false,
|
|
37
|
-
toggleSidebar: () => {},
|
|
38
|
-
closeSidebar: () => {},
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return context
|
|
42
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { DocsLayout as DocsLayoutPrimitive } from './primitives/docs-layout'
|
|
2
|
-
import { Navbar } from './ui-base/navbar'
|
|
3
|
-
import { Sidebar } from './ui-base/sidebar'
|
|
4
|
-
import { OnThisPage } from './ui-base/on-this-page'
|
|
5
|
-
import { Breadcrumbs } from './ui-base/breadcrumbs'
|
|
6
|
-
import { PageNav } from './ui-base/page-nav'
|
|
7
|
-
import { ErrorBoundary } from './ui-base/error-boundary'
|
|
8
|
-
import { CopyMarkdown } from './ui-base/copy-markdown'
|
|
9
|
-
import { useRoutes } from '../hooks/use-routes'
|
|
10
|
-
import { useConfig } from '../app/config-context'
|
|
11
|
-
|
|
12
|
-
interface DocsLayoutThemeProps {
|
|
13
|
-
children?: React.ReactNode
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Pre-assembled high-fidelity documentation layout component.
|
|
18
|
-
* Fully styled and optimized to adapt seamlessly to our custom Parchment/Slate theme.
|
|
19
|
-
*/
|
|
20
|
-
function DocsLayoutComponent({ children }: DocsLayoutThemeProps) {
|
|
21
|
-
const { routes: filteredRoutes, currentRoute } = useRoutes()
|
|
22
|
-
const config = useConfig()
|
|
23
|
-
|
|
24
|
-
return (
|
|
25
|
-
<DocsLayoutPrimitive className="selection:bg-primary-500/10 selection:text-primary-500">
|
|
26
|
-
<Navbar />
|
|
27
|
-
<DocsLayoutPrimitive.Body className="bg-main">
|
|
28
|
-
<Sidebar routes={filteredRoutes || []} config={config} />
|
|
29
|
-
<DocsLayoutPrimitive.Content className="animate-in fade-in duration-500 scroll-smooth">
|
|
30
|
-
<DocsLayoutPrimitive.ContentMdx className="max-w-3xl sm:max-w-4xl lg:max-w-4xl px-2 pt-8 pb-24">
|
|
31
|
-
<DocsLayoutPrimitive.Header>
|
|
32
|
-
<div className="mb-4 border-b border-subtle pb-4 flex flex-wrap items-center justify-between gap-3">
|
|
33
|
-
<Breadcrumbs />
|
|
34
|
-
<CopyMarkdown
|
|
35
|
-
mdxRaw={currentRoute?._rawContent}
|
|
36
|
-
route={currentRoute}
|
|
37
|
-
/>
|
|
38
|
-
</div>
|
|
39
|
-
|
|
40
|
-
{/* Inject Main Page Heading automatically */}
|
|
41
|
-
{currentRoute?.title && (
|
|
42
|
-
<h1 className="text-4xl font-bold tracking-tight text-default mb-3">
|
|
43
|
-
{currentRoute.title}
|
|
44
|
-
</h1>
|
|
45
|
-
)}
|
|
46
|
-
{currentRoute?.description && (
|
|
47
|
-
<p className="text-lg text-muted-foreground mb-6 leading-relaxed">
|
|
48
|
-
{currentRoute.description}
|
|
49
|
-
</p>
|
|
50
|
-
)}
|
|
51
|
-
</DocsLayoutPrimitive.Header>
|
|
52
|
-
|
|
53
|
-
<ErrorBoundary>
|
|
54
|
-
<div className="prose prose-neutral dark:prose-invert max-w-none">
|
|
55
|
-
{children}
|
|
56
|
-
</div>
|
|
57
|
-
</ErrorBoundary>
|
|
58
|
-
|
|
59
|
-
<DocsLayoutPrimitive.Footer>
|
|
60
|
-
<PageNav />
|
|
61
|
-
</DocsLayoutPrimitive.Footer>
|
|
62
|
-
</DocsLayoutPrimitive.ContentMdx>
|
|
63
|
-
</DocsLayoutPrimitive.Content>
|
|
64
|
-
<OnThisPage
|
|
65
|
-
headings={currentRoute?.headings}
|
|
66
|
-
editLink={config.theme?.editLink}
|
|
67
|
-
communityHelp={config.theme?.communityHelp}
|
|
68
|
-
filePath={currentRoute?.filePath}
|
|
69
|
-
/>
|
|
70
|
-
</DocsLayoutPrimitive.Body>
|
|
71
|
-
</DocsLayoutPrimitive>
|
|
72
|
-
)
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// Expose the primitive sub-components directly on the Default DocsLayout
|
|
76
|
-
// to maintain complete backward-compatibility for custom theme assemblies.
|
|
77
|
-
export const DocsLayout = Object.assign(DocsLayoutComponent, {
|
|
78
|
-
Body: DocsLayoutPrimitive.Body,
|
|
79
|
-
Content: DocsLayoutPrimitive.Content,
|
|
80
|
-
ContentMdx: DocsLayoutPrimitive.ContentMdx,
|
|
81
|
-
Header: DocsLayoutPrimitive.Header,
|
|
82
|
-
Footer: DocsLayoutPrimitive.Footer,
|
|
83
|
-
}) as any
|
|
84
|
-
|
|
85
|
-
export default DocsLayout
|
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
type WrapperProps = React.SVGProps<SVGSVGElement> & {
|
|
2
|
-
size?: number
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
function wrapperProps(props: WrapperProps) {
|
|
6
|
-
const { size = 20, ...rest } = props
|
|
7
|
-
return {
|
|
8
|
-
...rest,
|
|
9
|
-
width: size,
|
|
10
|
-
height: size,
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const Github = (props: WrapperProps) => (
|
|
15
|
-
<svg
|
|
16
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
17
|
-
viewBox="0 0 24 24"
|
|
18
|
-
fill="currentColor"
|
|
19
|
-
{...wrapperProps(props)}
|
|
20
|
-
>
|
|
21
|
-
<title>{'GitHub'}</title>
|
|
22
|
-
<path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" />
|
|
23
|
-
</svg>
|
|
24
|
-
)
|
|
25
|
-
|
|
26
|
-
export const Csv = (props: WrapperProps) => (
|
|
27
|
-
<svg
|
|
28
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
29
|
-
fill="none"
|
|
30
|
-
viewBox="0 0 24 24"
|
|
31
|
-
{...wrapperProps(props)}
|
|
32
|
-
>
|
|
33
|
-
<title>{'CSV'}</title>
|
|
34
|
-
<mask
|
|
35
|
-
id="a"
|
|
36
|
-
maskUnits="userSpaceOnUse"
|
|
37
|
-
x="3"
|
|
38
|
-
y="3"
|
|
39
|
-
width="18"
|
|
40
|
-
height="18"
|
|
41
|
-
fill="#000"
|
|
42
|
-
>
|
|
43
|
-
<path fill="#fff" d="M3 3h18v18H3z" />
|
|
44
|
-
<path
|
|
45
|
-
fillRule="evenodd"
|
|
46
|
-
clipRule="evenodd"
|
|
47
|
-
d="M15.8889 5H8.11111C6.39289 5 5 6.39289 5 8.11111v7.77779C5 17.6071 6.39289 19 8.11111 19h7.77779C17.6071 19 19 17.6071 19 15.8889V8.11111C19 6.39289 17.6071 5 15.8889 5Zm0 12.4444H8.1111c-.05369 0-.10674-.0027-.15904-.008.0523.0053.10536.008.15905.008h7.77779Zm1.5555-1.5555c0 .8054-.6121 1.4679-1.3965 1.5475.7844-.0797 1.3965-.7421 1.3965-1.5475V8.11111v7.77779Z"
|
|
48
|
-
/>
|
|
49
|
-
</mask>
|
|
50
|
-
<path
|
|
51
|
-
d="M15.8889 19.4444c1.1046 0 2-.8954 2-2 0-1.1045-.8954-2-2-2v4Zm-7.7778-2 .00001-2H8.1111v2Zm-.15904-.008.20206-1.9898c-1.09891-.1115-2.08022.6888-2.19182 1.7877-.1116 1.099.68877 2.0803 1.78768 2.1919l.20208-1.9898Zm8.09584 0-.2021-1.9897c-1.0989.1116-1.8992 1.0929-1.7876 2.1918.1116 1.0989 1.0929 1.8993 2.1918 1.7877l-.2021-1.9898Zm3.3965-9.32529c0-1.10457-.8954-2-2-2-1.1045 0-2 .89543-2 2h4ZM8.11111 7h7.77779V3H8.11111v4ZM7 8.11111C7 7.49746 7.49746 7 8.11111 7V3C5.28832 3 3 5.28832 3 8.11111h4Zm0 7.77779V8.11111H3v7.77779h4ZM8.11111 17C7.49746 17 7 16.5025 7 15.8889H3C3 18.7117 5.28832 21 8.11111 21v-4Zm7.77779 0H8.11111v4h7.77779v-4ZM17 15.8889C17 16.5025 16.5025 17 15.8889 17v4C18.7117 21 21 18.7117 21 15.8889h-4Zm0-7.77779v7.77779h4V8.11111h-4ZM15.8889 7C16.5025 7 17 7.49746 17 8.11111h4C21 5.28832 18.7117 3 15.8889 3v4Zm0 8.4444H8.11111l-.00001 4h7.7778v-4Zm-7.7778 0c.01378 0 .02816.0007.04302.0022l-.40411 3.9796c.11944.0121.23994.0182.36109.0182v-4Zm-.36112 3.9818c.11935.0121.23985.0182.36113.0182v-4c.01389 0 .02828.0008.04304.0022l-.40417 3.9796Zm.36113.0182h7.77779v-4H8.11111v4Zm8.13889-.0182c1.7951-.1823 3.1944-1.6951 3.1944-3.5373h-4c0-.2314.1752-.4193.4015-.4423l.4041 3.9796Zm-.8056-3.5373c0-.2314.1752-.4193.4014-.4422l.4042 3.9795c1.795-.1823 3.1944-1.6951 3.1944-3.5373h-4Zm0-7.77779v7.77779h4V8.11111h-4Zm4 0c0-.07155-.0038-.14596-.0124-.22267-.0086-.07678-.0218-.15478-.0403-.23343-.0184-.07869-.0416-.15651-.0697-.233-.0281-.07648-.0604-.15005-.0963-.22045-.036-.07036-.0749-.13629-.1158-.1978-.0408-.06145-.0832-.11775-.1258-.16912-.085-.10251-.1704-.18478-.2468-.2495-.0383-.03245-.0749-.061-.1089-.08594-.034-.02494-.0659-.04672-.0949-.06556-.029-.01883-.0558-.03518-.0797-.04914-.0239-.01396-.0456-.02598-.0644-.03606-.0188-.01008-.0355-.01864-.0493-.02558-.0139-.00694-.0257-.01268-.0348-.01701-.009-.00429-.0163-.00769-.0207-.00971-.0022-.00104-.004-.00187-.0051-.00238-.0006-.00025-.001-.00046-.0013-.00059-.0002-.00006-.0003-.00011-.0003-.00014-.0001-.00001-.0001-.00003-.0001-.00004v-.00001c-.0006-.00027.0028.00131.0068.00316.0044.00202.0117.00541.0207.00971.0091.00433.0209.01007.0348.01701.0138.00694.0305.0155.0493.02558.0188.01008.0405.0221.0644.03606.0239.01396.0507.03031.0797.04914.029.01883.0609.04062.0949.06556.0339.02494.0706.05349.1089.08594.0764.06472.1618.14698.2468.24949.0426.05138.085.10768.1258.16913.0409.06151.0798.12744.1157.19779.036.07041.0683.14397.0964.22046.028.07648.0513.15431.0697.23299.0185.07865.0317.15665.0403.23344.0086.07671.0124.15112.0124.22267h-4c0 .07154.0039.14595.0125.22267.0086.07678.0218.15478.0402.23343.0185.07868.0417.15651.0698.233.0281.07648.0604.15005.0963.22045.036.07036.0749.13629.1158.1978.0408.06144.0832.11775.1258.16912.0849.10251.1704.18478.2468.2495.0383.03244.0749.061.1089.08594.0339.02493.0658.04672.0949.06556.029.01883.0558.03517.0797.04914.0239.01396.0456.02598.0644.03606.0188.01007.0354.01864.0493.02558.0139.00693.0257.01268.0348.01701.009.00429.0163.00769.0207.00971.0022.00104.004.00187.0051.00237.0006.00026.001.00047.0013.00059.0001.00007.0003.00012.0003.00015.0001.00001.0001.00003.0001.00004v.00001c.0006.00026-.0028-.00131-.0068-.00316-.0044-.00202-.0117-.00542-.0207-.00971-.0091-.00433-.0209-.01008-.0348-.01701-.0139-.00694-.0305-.01551-.0493-.02558-.0188-.01008-.0405-.0221-.0644-.03606-.0239-.01396-.0507-.03031-.0797-.04914-.029-.01884-.061-.04062-.0949-.06556-.034-.02494-.0706-.0535-.1089-.08594-.0764-.06472-.1619-.14699-.2468-.2495-.0426-.05137-.085-.10767-.1258-.16912-.0409-.06151-.0798-.12744-.1158-.1978-.0359-.0704-.0682-.14397-.0963-.22045-.0281-.07649-.0513-.15431-.0698-.233-.0184-.07865-.0316-.15665-.0402-.23343-.0086-.07671-.0125-.15112-.0125-.22267h4Zm0 7.77779V8.11111h-4v7.77779h4Z"
|
|
52
|
-
fill="#14B8A6"
|
|
53
|
-
mask="url(#a)"
|
|
54
|
-
/>
|
|
55
|
-
<rect x="7" y="7" width="4" height="2" rx="1" fill="#14B8A6" />
|
|
56
|
-
<rect x="7" y="11" width="4" height="2" rx="1" fill="#14B8A6" />
|
|
57
|
-
<rect x="7" y="15" width="4" height="2" rx="1" fill="#14B8A6" />
|
|
58
|
-
<rect x="13" y="7" width="4" height="2" rx="1" fill="#14B8A6" />
|
|
59
|
-
<rect x="13" y="11" width="4" height="2" rx="1" fill="#14B8A6" />
|
|
60
|
-
<rect x="13" y="15" width="4" height="2" rx="1" fill="#14B8A6" />
|
|
61
|
-
</svg>
|
|
62
|
-
)
|
|
63
|
-
|
|
64
|
-
export const Discord = (props: WrapperProps) => (
|
|
65
|
-
<svg
|
|
66
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
67
|
-
viewBox="0 0 24 24"
|
|
68
|
-
fill="currentColor"
|
|
69
|
-
{...wrapperProps(props)}
|
|
70
|
-
>
|
|
71
|
-
<title>{'Discord'}</title>
|
|
72
|
-
<path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z" />
|
|
73
|
-
</svg>
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
export const XSocial = (props: WrapperProps) => (
|
|
77
|
-
<svg
|
|
78
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
79
|
-
viewBox="0 0 24 24"
|
|
80
|
-
fill="currentColor"
|
|
81
|
-
{...wrapperProps(props)}
|
|
82
|
-
>
|
|
83
|
-
<title>{'X'}</title>
|
|
84
|
-
<path d="M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z" />
|
|
85
|
-
</svg>
|
|
86
|
-
)
|
|
87
|
-
|
|
88
|
-
export const Bluesky = (props: WrapperProps) => (
|
|
89
|
-
<svg
|
|
90
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
91
|
-
viewBox="0 0 24 24"
|
|
92
|
-
fill="currentColor"
|
|
93
|
-
{...wrapperProps(props)}
|
|
94
|
-
>
|
|
95
|
-
<title>{'Bluesky'}</title>
|
|
96
|
-
<path d="M5.202 2.857C7.954 4.922 10.913 9.11 12 11.358c1.087-2.247 4.046-6.436 6.798-8.501C20.783 1.366 24 .213 24 3.883c0 .732-.42 6.156-.667 7.037-.856 3.061-3.978 3.842-6.755 3.37 4.854.826 6.089 3.562 3.422 6.299-5.065 5.196-7.28-1.304-7.847-2.97-.104-.305-.152-.448-.153-.327 0-.121-.05.022-.153.327-.568 1.666-2.782 8.166-7.847 2.97-2.667-2.737-1.432-5.473 3.422-6.3-2.777.473-5.899-.308-6.755-3.369C.42 10.04 0 4.615 0 3.883c0-3.67 3.217-2.517 5.202-1.026" />
|
|
97
|
-
</svg>
|
|
98
|
-
)
|
|
99
|
-
|
|
100
|
-
// Icons file
|
|
101
|
-
|
|
102
|
-
export const TypeScript = (props: WrapperProps) => (
|
|
103
|
-
<svg
|
|
104
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
105
|
-
fill="none"
|
|
106
|
-
viewBox="0 0 24 24"
|
|
107
|
-
{...wrapperProps(props)}
|
|
108
|
-
>
|
|
109
|
-
<title>{'TypeScript'}</title>
|
|
110
|
-
<path
|
|
111
|
-
fill="#2563EB"
|
|
112
|
-
d="M3.234 9.093V7.318h8.363v1.775H8.479V17.5H6.352V9.093H3.234zm15.263 1.153c-.04-.4-.21-.712-.512-.934-.301-.222-.71-.333-1.228-.333-.351 0-.648.05-.89.149-.242.096-.427.23-.557.403a.969.969 0 0 0-.189.586.838.838 0 0 0 .115.477c.086.136.204.254.353.353.149.097.321.181.517.254.195.07.404.13.626.179l.915.219c.444.1.852.232 1.223.397.371.166.693.37.965.612.271.242.482.527.631.855.152.328.23.704.234 1.129-.004.623-.163 1.163-.478 1.62-.311.454-.762.807-1.352 1.06-.587.248-1.294.372-2.123.372-.822 0-1.538-.126-2.147-.378-.607-.252-1.081-.624-1.422-1.118-.338-.497-.516-1.112-.532-1.845h2.083c.023.342.12.627.293.855.176.226.41.397.701.513a2.8 2.8 0 0 0 1 .168c.364 0 .68-.053.949-.159a1.45 1.45 0 0 0 .631-.442c.15-.189.224-.406.224-.651a.846.846 0 0 0-.204-.577c-.132-.156-.328-.288-.586-.398a5.964 5.964 0 0 0-.94-.298l-1.109-.278c-.858-.21-1.536-.536-2.033-.98-.497-.444-.744-1.042-.74-1.795-.004-.616.16-1.155.491-1.615.335-.461.794-.82 1.377-1.08.584-.258 1.247-.387 1.99-.387.755 0 1.414.13 1.978.388.567.258 1.007.618 1.322 1.079.315.46.477.994.488 1.6h-2.064z"
|
|
113
|
-
/>
|
|
114
|
-
</svg>
|
|
115
|
-
)
|
|
116
|
-
|
|
117
|
-
export const JavaScript = (props: WrapperProps) => (
|
|
118
|
-
<svg
|
|
119
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
120
|
-
fill="none"
|
|
121
|
-
viewBox="0 0 24 24"
|
|
122
|
-
{...wrapperProps(props)}
|
|
123
|
-
>
|
|
124
|
-
<title>{'JavaScript'}</title>
|
|
125
|
-
<path
|
|
126
|
-
fill="#F59E0B"
|
|
127
|
-
d="M8.383 7.318h2.127v7.1c0 .656-.147 1.226-.442 1.71a2.924 2.924 0 01-1.218 1.118c-.52.262-1.125.393-1.815.393-.613 0-1.17-.107-1.67-.323a2.67 2.67 0 01-1.183-.994c-.292-.448-.436-1.01-.433-1.686h2.143c.006.269.061.5.164.691.106.19.25.335.432.438.186.1.405.15.657.15.265 0 .488-.057.67-.17.186-.116.327-.285.423-.507.096-.222.145-.496.145-.82v-7.1zm9.43 2.928c-.04-.4-.21-.712-.511-.934-.302-.222-.711-.333-1.228-.333-.352 0-.648.05-.89.149-.242.096-.428.23-.557.403a.969.969 0 00-.19.586.838.838 0 00.115.477c.087.136.204.254.353.353.15.097.322.181.517.254.196.07.405.13.627.179l.915.219c.444.1.851.232 1.223.397.37.166.692.37.964.612s.482.527.631.855a2.7 2.7 0 01.234 1.129c-.003.623-.162 1.163-.477 1.62-.312.454-.763.807-1.353 1.06-.586.248-1.294.372-2.122.372-.822 0-1.538-.126-2.148-.378-.607-.252-1.08-.624-1.422-1.118-.338-.497-.515-1.112-.532-1.845h2.083c.023.342.121.627.293.855.176.226.41.397.702.513.295.112.628.168.999.168.364 0 .68-.053.95-.159.271-.106.482-.253.63-.442.15-.189.224-.406.224-.651a.846.846 0 00-.203-.577c-.133-.156-.329-.288-.587-.398a5.964 5.964 0 00-.94-.298l-1.108-.278c-.859-.21-1.537-.536-2.034-.98-.497-.444-.744-1.042-.74-1.795-.004-.616.16-1.155.492-1.615.334-.461.793-.82 1.377-1.08.583-.258 1.246-.387 1.989-.387.755 0 1.415.13 1.978.388.567.258 1.008.618 1.323 1.079.314.46.477.994.487 1.6h-2.063z"
|
|
128
|
-
></path>
|
|
129
|
-
</svg>
|
|
130
|
-
)
|
|
131
|
-
|
|
132
|
-
export const Json = (props: WrapperProps) => (
|
|
133
|
-
<svg
|
|
134
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
135
|
-
fill="none"
|
|
136
|
-
viewBox="0 0 24 24"
|
|
137
|
-
{...wrapperProps(props)}
|
|
138
|
-
>
|
|
139
|
-
<title>{'JSON'}</title>
|
|
140
|
-
<path
|
|
141
|
-
fill="#F59E0B"
|
|
142
|
-
d="M4.778 6.667A2.667 2.667 0 017.444 4a.889.889 0 010 1.778.889.889 0 00-.888.889v3.5c0 .701-.273 1.35-.73 1.833.457.483.73 1.132.73 1.832v3.501c0 .491.398.89.888.89a.889.889 0 010 1.777 2.667 2.667 0 01-2.666-2.667v-3.5a.889.889 0 00-.674-.863l-.43-.108a.889.889 0 010-1.724l.43-.108a.889.889 0 00.674-.862V6.667zm14.222 0A2.667 2.667 0 0016.333 4a.889.889 0 000 1.778c.491 0 .89.398.89.889v3.5c0 .701.272 1.35.729 1.833a2.664 2.664 0 00-.73 1.832v3.501a.889.889 0 01-.889.89.889.889 0 000 1.777A2.667 2.667 0 0019 17.333v-3.5c0-.408.278-.764.673-.863l.431-.108a.889.889 0 000-1.724l-.43-.108a.889.889 0 01-.674-.862V6.667z"
|
|
143
|
-
></path>
|
|
144
|
-
</svg>
|
|
145
|
-
)
|
|
146
|
-
|
|
147
|
-
export const Css = (props: WrapperProps) => (
|
|
148
|
-
<svg
|
|
149
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
150
|
-
fill="none"
|
|
151
|
-
viewBox="0 0 24 24"
|
|
152
|
-
{...wrapperProps(props)}
|
|
153
|
-
>
|
|
154
|
-
<title>{'CSS'}</title>
|
|
155
|
-
<path
|
|
156
|
-
fill="#0EA5E9"
|
|
157
|
-
d="M4.778 6.667A2.667 2.667 0 017.444 4a.889.889 0 010 1.778.889.889 0 00-.888.889v3.5c0 .701-.273 1.35-.73 1.833.457.483.73 1.132.73 1.832v3.501c0 .491.398.89.888.89a.889.889 0 010 1.777 2.667 2.667 0 01-2.666-2.667v-3.5a.889.889 0 00-.674-.863l-.43-.108a.889.889 0 010-1.724l.43-.108a.889.889 0 00.674-.862V6.667zm14.222 0A2.667 2.667 0 0016.333 4a.889.889 0 000 1.778c.491 0 .89.398.89.889v3.5c0 .701.272 1.35.729 1.833a2.664 2.664 0 00-.73 1.832v3.501a.889.889 0 01-.889.89.889.889 0 000 1.777A2.667 2.667 0 0019 17.333v-3.5c0-.408.278-.764.673-.863l.431-.108a.889.889 0 000-1.724l-.43-.108a.889.889 0 01-.674-.862V6.667z"
|
|
158
|
-
></path>
|
|
159
|
-
</svg>
|
|
160
|
-
)
|
|
161
|
-
|
|
162
|
-
export const BracketsOrange = (props: WrapperProps) => (
|
|
163
|
-
<svg
|
|
164
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
165
|
-
fill="none"
|
|
166
|
-
viewBox="0 0 24 24"
|
|
167
|
-
{...wrapperProps(props)}
|
|
168
|
-
>
|
|
169
|
-
<title>{'HTML'}</title>
|
|
170
|
-
<path
|
|
171
|
-
fill="#EA580C"
|
|
172
|
-
d="M4.778 6.667A2.667 2.667 0 017.444 4a.889.889 0 010 1.778.889.889 0 00-.888.889v3.5c0 .701-.273 1.35-.73 1.833.457.483.73 1.132.73 1.832v3.501c0 .491.398.89.888.89a.889.889 0 010 1.777 2.667 2.667 0 01-2.666-2.667v-3.5a.889.889 0 00-.674-.863l-.43-.108a.889.889 0 010-1.724l.43-.108a.889.889 0 00.674-.862V6.667zm14.222 0A2.667 2.667 0 0016.333 4a.889.889 0 000 1.778c.491 0 .89.398.89.889v3.5c0 .701.272 1.35.729 1.833a2.664 2.664 0 00-.73 1.832v3.501a.889.889 0 01-.889.89.889.889 0 000 1.777A2.667 2.667 0 0019 17.333v-3.5c0-.408.278-.764.673-.863l.431-.108a.889.889 0 000-1.724l-.43-.108a.889.889 0 01-.674-.862V6.667z"
|
|
173
|
-
></path>
|
|
174
|
-
</svg>
|
|
175
|
-
)
|
|
176
|
-
|
|
177
|
-
export const React = (props: WrapperProps) => (
|
|
178
|
-
<svg
|
|
179
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
180
|
-
fill="none"
|
|
181
|
-
viewBox="0 0 24 24"
|
|
182
|
-
{...wrapperProps(props)}
|
|
183
|
-
>
|
|
184
|
-
<title>{'React'}</title>
|
|
185
|
-
<path
|
|
186
|
-
fill="#0E8ADC"
|
|
187
|
-
d="M12 13.677a1.677 1.677 0 100-3.354 1.677 1.677 0 000 3.354z"
|
|
188
|
-
></path>
|
|
189
|
-
<path
|
|
190
|
-
stroke="#0E8ADC"
|
|
191
|
-
d="M12 15.436c4.97 0 9-1.538 9-3.436s-4.03-3.436-9-3.436S3 10.102 3 12s4.03 3.436 9 3.436z"
|
|
192
|
-
></path>
|
|
193
|
-
<path
|
|
194
|
-
stroke="#0E8ADC"
|
|
195
|
-
d="M9.024 13.718c2.485 4.305 5.832 7.025 7.476 6.076 1.644-.949.961-5.208-1.524-9.512C12.491 5.977 9.144 3.257 7.5 4.206c-1.644.949-.961 5.208 1.524 9.512z"
|
|
196
|
-
></path>
|
|
197
|
-
<path
|
|
198
|
-
stroke="#0E8ADC"
|
|
199
|
-
d="M9.024 10.282c-2.485 4.304-3.168 8.563-1.524 9.512 1.644.95 4.99-1.771 7.476-6.076 2.485-4.304 3.168-8.563 1.524-9.512-1.644-.95-4.99 1.771-7.476 6.076z"
|
|
200
|
-
></path>
|
|
201
|
-
</svg>
|
|
202
|
-
)
|
|
203
|
-
|
|
204
|
-
export const Markdown = (props: WrapperProps) => (
|
|
205
|
-
<svg
|
|
206
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
207
|
-
fill="none"
|
|
208
|
-
viewBox="0 0 24 24"
|
|
209
|
-
{...wrapperProps(props)}
|
|
210
|
-
>
|
|
211
|
-
<title>{'Markdown'}</title>
|
|
212
|
-
<path
|
|
213
|
-
fill="#60A5FA"
|
|
214
|
-
d="M3 15.714V8h2.323l2.322 2.836L9.968 8h2.322v7.714H9.968V11.29l-2.323 2.836-2.322-2.836v4.424H3zm14.516 0l-3.484-3.743h2.323V8h2.322v3.97H21l-3.484 3.744z"
|
|
215
|
-
></path>
|
|
216
|
-
</svg>
|
|
217
|
-
)
|
|
218
|
-
|
|
219
|
-
export const Shell = (props: WrapperProps) => (
|
|
220
|
-
<svg
|
|
221
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
222
|
-
fill="none"
|
|
223
|
-
viewBox="0 0 25 24"
|
|
224
|
-
{...wrapperProps(props)}
|
|
225
|
-
>
|
|
226
|
-
<title>{'Shell'}</title>
|
|
227
|
-
<path
|
|
228
|
-
stroke="#14B8A6"
|
|
229
|
-
strokeLinecap="round"
|
|
230
|
-
strokeLinejoin="round"
|
|
231
|
-
strokeWidth="2"
|
|
232
|
-
d="M4.336 17l6-6-6-6M12.336 19h8"
|
|
233
|
-
></path>
|
|
234
|
-
</svg>
|
|
235
|
-
)
|
|
236
|
-
|
|
237
|
-
export const Yaml = (props: WrapperProps) => (
|
|
238
|
-
<svg
|
|
239
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
240
|
-
fill="none"
|
|
241
|
-
viewBox="0 0 24 24"
|
|
242
|
-
{...wrapperProps(props)}
|
|
243
|
-
>
|
|
244
|
-
<title>YAML</title>
|
|
245
|
-
<path
|
|
246
|
-
fill="#A78BFA"
|
|
247
|
-
d="M6.533 5.864h2.755l2.654 5.011h.113l2.654-5.011h2.756l-4.245 7.522V17.5h-2.443v-4.114L6.533 5.864z"
|
|
248
|
-
></path>
|
|
249
|
-
</svg>
|
|
250
|
-
)
|
|
251
|
-
|
|
252
|
-
export const Rust = (props: WrapperProps) => (
|
|
253
|
-
<svg
|
|
254
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
255
|
-
fill="none"
|
|
256
|
-
viewBox="0 0 25 24"
|
|
257
|
-
{...wrapperProps(props)}
|
|
258
|
-
>
|
|
259
|
-
<title>Rust</title>
|
|
260
|
-
<path
|
|
261
|
-
fill="#EA580C"
|
|
262
|
-
fillRule="evenodd"
|
|
263
|
-
d="M12.58 2.136a.287.287 0 00-.488 0l-.526.85a8.974 8.974 0 00-.232.022l-.683-.73a.287.287 0 00-.478.096l-.35.935c-.075.021-.15.044-.224.067l-.812-.583a.287.287 0 00-.45.187l-.162.989a9.088 9.088 0 00-.204.11l-.913-.417a.287.287 0 00-.406.272l.036 1.005a9.099 9.099 0 00-.175.144l-.98-.231a.287.287 0 00-.345.345l.231.98a9.125 9.125 0 00-.144.175L4.27 6.316a.287.287 0 00-.271.406l.416.913a9.036 9.036 0 00-.11.203L3.317 8a.287.287 0 00-.187.45l.584.813a8.953 8.953 0 00-.068.223l-.935.35a.287.287 0 00-.095.479l.73.682a8.966 8.966 0 00-.023.233l-.85.526a.287.287 0 000 .488l.85.526c.007.078.014.156.023.233l-.73.682a.287.287 0 00.095.479l.935.35.068.223-.584.812a.287.287 0 00.187.451l.99.162c.035.068.072.135.109.203l-.416.913a.287.287 0 00.271.406l1.006-.036c.047.059.095.117.143.174l-.23.981a.287.287 0 00.344.345l.981-.23c.057.048.115.095.174.142l-.036 1.006a.287.287 0 00.406.272l.914-.417c.067.038.135.074.203.11l.161.99a.287.287 0 00.451.186l.813-.584c.074.024.148.046.223.068l.35.935a.287.287 0 00.478.095l.683-.73c.077.01.154.017.232.023l.526.85a.287.287 0 00.489 0l.526-.85c.078-.006.155-.014.232-.023l.682.73a.287.287 0 00.479-.095l.35-.935c.075-.022.15-.044.223-.068l.813.584a.287.287 0 00.45-.187l.162-.99a8.77 8.77 0 00.203-.109l.913.417a.287.287 0 00.406-.272l-.035-1.006c.058-.047.116-.094.174-.143l.98.231a.287.287 0 00.346-.345l-.231-.98.143-.175 1.006.036a.287.287 0 00.271-.406l-.416-.913a9.4 9.4 0 00.109-.203l.99-.162a.287.287 0 00.187-.45l-.584-.813a8.43 8.43 0 00.067-.223l.935-.35a.287.287 0 00.096-.479l-.73-.682c.009-.077.016-.155.023-.233l.85-.526a.287.287 0 000-.488l-.85-.526a8.844 8.844 0 00-.023-.233l.73-.682a.287.287 0 00-.096-.479l-.934-.35a9.246 9.246 0 00-.068-.223l.584-.812A.287.287 0 0021.357 8l-.99-.162a8.92 8.92 0 00-.11-.203l.417-.913a.287.287 0 00-.271-.406l-1.006.036a9.178 9.178 0 00-.143-.174l.23-.981a.287.287 0 00-.345-.345l-.98.23a9.43 9.43 0 00-.174-.142l.035-1.006a.287.287 0 00-.405-.272l-.914.417a9.11 9.11 0 00-.203-.11l-.162-.99a.287.287 0 00-.45-.186l-.813.584a9.088 9.088 0 00-.223-.068l-.35-.935a.287.287 0 00-.479-.095l-.682.73a9.062 9.062 0 00-.232-.023l-.526-.85zm-.257 1.62a.592.592 0 01.578.596.595.595 0 11-.578-.595zm1.363.98A7.324 7.324 0 0118.7 8.309l-.702 1.585a.547.547 0 00.275.717l1.352.6c.041.422.047.847.015 1.27h-.752c-.075 0-.106.05-.106.123v.344c0 .812-.457.99-.859 1.034-.383.044-.806-.161-.86-.394-.22-1.24-.583-1.526-1.152-1.975l-.041-.033c.736-.467 1.502-1.158 1.502-2.08 0-.998-.683-1.625-1.148-1.934-.655-.43-1.379-.516-1.574-.516H6.88a7.324 7.324 0 014.098-2.312l.916.96a.54.54 0 00.766.018l1.026-.978zm-8.46 4.407a.595.595 0 11-.034 1.19.595.595 0 01.034-1.19zm14.192.026a.595.595 0 11-.035 1.19.595.595 0 01.035-1.19zm-13.07.096h1.037v4.678H5.291a7.324 7.324 0 01-.237-2.797l1.282-.57a.542.542 0 00.276-.716l-.264-.595zm4.33.05h2.47c.128 0 .901.147.901.727 0 .48-.593.653-1.081.653h-2.293l.002-1.38zm0 3.36h1.892c.172 0 .924.05 1.164 1.011.026.104.064.291.107.503.078.389.174.861.247 1.06.113.345.57 1.034 1.058 1.034h3.089c-.207.277-.433.54-.677.785l-1.258-.27a.544.544 0 00-.645.417l-.298 1.394a7.323 7.323 0 01-6.108-.03l-.298-1.392a.542.542 0 00-.643-.418l-1.23.264a7.32 7.32 0 01-.636-.75h5.984c.067 0 .113-.011.113-.074v-2.117c0-.061-.046-.075-.113-.075h-1.75l.001-1.341zm-2.763 4.848a.595.595 0 11-.034 1.19.595.595 0 01.034-1.19zm8.814.027a.596.596 0 11-.035 1.19.596.596 0 01.035-1.19z"
|
|
264
|
-
clipRule="evenodd"
|
|
265
|
-
></path>
|
|
266
|
-
</svg>
|
|
267
|
-
)
|
|
268
|
-
|
|
269
|
-
export const BracketsRed = (props: WrapperProps) => (
|
|
270
|
-
<svg
|
|
271
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
272
|
-
fill="none"
|
|
273
|
-
viewBox="0 0 24 24"
|
|
274
|
-
{...wrapperProps(props)}
|
|
275
|
-
>
|
|
276
|
-
<title>Rust</title>
|
|
277
|
-
<path
|
|
278
|
-
fill="#F87171"
|
|
279
|
-
d="M4.778 6.667A2.667 2.667 0 017.444 4a.889.889 0 010 1.778.889.889 0 00-.888.889v3.5c0 .701-.273 1.35-.73 1.833.457.483.73 1.132.73 1.832v3.501c0 .491.398.89.888.89a.889.889 0 010 1.777 2.667 2.667 0 01-2.666-2.667v-3.5a.889.889 0 00-.674-.863l-.43-.108a.889.889 0 010-1.724l.43-.108a.889.889 0 00.674-.862V6.667zm14.222 0A2.667 2.667 0 0016.333 4a.889.889 0 000 1.778c.491 0 .89.398.89.889v3.5c0 .701.272 1.35.729 1.833a2.664 2.664 0 00-.73 1.832v3.501a.889.889 0 01-.889.89.889.889 0 000 1.777A2.667 2.667 0 0019 17.333v-3.5c0-.408.278-.764.673-.863l.431-.108a.889.889 0 000-1.724l-.43-.108a.889.889 0 01-.674-.862V6.667z"
|
|
280
|
-
></path>
|
|
281
|
-
</svg>
|
|
282
|
-
)
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { Info, Lightbulb, AlertTriangle, AlertCircle } from '../ui-base/icons'
|
|
2
|
-
import { cn } from '../../utils/cn'
|
|
3
|
-
|
|
4
|
-
export type CalloutVariant = 'note' | 'tip' | 'warning' | 'danger' | 'info'
|
|
5
|
-
|
|
6
|
-
export interface CalloutProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
7
|
-
variant?: CalloutVariant
|
|
8
|
-
title?: string
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const variantStyles: Record<
|
|
12
|
-
CalloutVariant,
|
|
13
|
-
{
|
|
14
|
-
container: string
|
|
15
|
-
titleText: string
|
|
16
|
-
iconColor: string
|
|
17
|
-
icon: React.ComponentType<any>
|
|
18
|
-
defaultTitle: string
|
|
19
|
-
}
|
|
20
|
-
> = {
|
|
21
|
-
note: {
|
|
22
|
-
container:
|
|
23
|
-
'bg-slate-500/5 dark:bg-slate-500/10 border-slate-500/40 text-slate-800 dark:text-slate-200',
|
|
24
|
-
titleText: 'text-slate-900 dark:text-slate-100',
|
|
25
|
-
iconColor: 'text-slate-500',
|
|
26
|
-
icon: Info,
|
|
27
|
-
defaultTitle: 'Note',
|
|
28
|
-
},
|
|
29
|
-
info: {
|
|
30
|
-
container:
|
|
31
|
-
'bg-indigo-500/5 dark:bg-indigo-500/10 border-indigo-500/40 text-indigo-800 dark:text-indigo-200',
|
|
32
|
-
titleText: 'text-indigo-900 dark:text-indigo-100',
|
|
33
|
-
iconColor: 'text-indigo-500',
|
|
34
|
-
icon: Info,
|
|
35
|
-
defaultTitle: 'Info',
|
|
36
|
-
},
|
|
37
|
-
tip: {
|
|
38
|
-
container:
|
|
39
|
-
'bg-green-500/5 dark:bg-green-500/10 border-green-500/40 text-green-800 dark:text-green-200',
|
|
40
|
-
titleText: 'text-green-900 dark:text-green-100',
|
|
41
|
-
iconColor: 'text-green-500',
|
|
42
|
-
icon: Lightbulb,
|
|
43
|
-
defaultTitle: 'Tip',
|
|
44
|
-
},
|
|
45
|
-
warning: {
|
|
46
|
-
container:
|
|
47
|
-
'bg-amber-500/5 dark:bg-amber-500/10 border-amber-500/40 text-amber-800 dark:text-amber-200',
|
|
48
|
-
titleText: 'text-amber-900 dark:text-amber-100',
|
|
49
|
-
iconColor: 'text-amber-500',
|
|
50
|
-
icon: AlertTriangle,
|
|
51
|
-
defaultTitle: 'Warning',
|
|
52
|
-
},
|
|
53
|
-
danger: {
|
|
54
|
-
container:
|
|
55
|
-
'bg-rose-500/5 dark:bg-rose-500/10 border-rose-500/40 text-rose-800 dark:text-rose-200',
|
|
56
|
-
titleText: 'text-rose-900 dark:text-rose-100',
|
|
57
|
-
iconColor: 'text-rose-500',
|
|
58
|
-
icon: AlertCircle,
|
|
59
|
-
defaultTitle: 'Danger',
|
|
60
|
-
},
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export function Callout({
|
|
64
|
-
children,
|
|
65
|
-
className = '',
|
|
66
|
-
variant = 'note',
|
|
67
|
-
title,
|
|
68
|
-
...props
|
|
69
|
-
}: CalloutProps) {
|
|
70
|
-
const styles = variantStyles[variant] || variantStyles.note
|
|
71
|
-
const Icon = styles.icon
|
|
72
|
-
|
|
73
|
-
return (
|
|
74
|
-
<div
|
|
75
|
-
className={cn(
|
|
76
|
-
'my-6 flex gap-4 p-4 rounded-xl border-2',
|
|
77
|
-
styles.container,
|
|
78
|
-
className,
|
|
79
|
-
)}
|
|
80
|
-
{...props}
|
|
81
|
-
>
|
|
82
|
-
<div className={cn('shrink-0 pt-0.5', styles.iconColor)}>
|
|
83
|
-
<Icon className="w-5 h-5 stroke-[2]" />
|
|
84
|
-
</div>
|
|
85
|
-
<div className="flex-1 text-[0.875rem] leading-[1.6]">
|
|
86
|
-
<div className={cn('font-bold text-sm mb-1', styles.titleText)}>
|
|
87
|
-
{title || styles.defaultTitle}
|
|
88
|
-
</div>
|
|
89
|
-
<div className="prose prose-neutral dark:prose-invert max-w-none [&>p]:m-0 [&>p+p]:mt-2">
|
|
90
|
-
{children}
|
|
91
|
-
</div>
|
|
92
|
-
</div>
|
|
93
|
-
</div>
|
|
94
|
-
)
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
export default Callout
|