boltdocs 1.7.1 → 1.8.0
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/{SearchDialog-GOZ6X53X.css → SearchDialog-4ANHNJTL.css} +84 -14
- package/dist/client/index.css +84 -14
- package/dist/client/index.d.mts +22 -1
- package/dist/client/index.d.ts +22 -1
- package/dist/client/index.js +29 -0
- package/dist/client/index.mjs +28 -0
- package/dist/client/ssr.css +84 -14
- package/package.json +1 -1
- package/src/client/index.ts +2 -0
- package/src/client/theme/components/mdx/Field.tsx +60 -0
- package/src/client/theme/components/mdx/index.ts +3 -0
- package/src/client/theme/components/mdx/mdx-components.css +95 -0
- package/src/client/theme/styles/variables.css +1 -1
- package/src/client/theme/ui/Link/link-preview.css +1 -20
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
--ld-code-bg: #f3f4f6;
|
|
49
49
|
--ld-code-header: #e5e7eb;
|
|
50
50
|
--ld-code-text: #1f2937;
|
|
51
|
-
--ld-navbar-bg:
|
|
51
|
+
--ld-navbar-bg: #ffffff;
|
|
52
52
|
--ld-navbar-blur: 12px;
|
|
53
53
|
--ld-sidebar-bg: transparent;
|
|
54
54
|
--ld-sidebar-blur: 0px;
|
|
@@ -1932,6 +1932,89 @@ a {
|
|
|
1932
1932
|
opacity: 0.4;
|
|
1933
1933
|
cursor: not-allowed;
|
|
1934
1934
|
}
|
|
1935
|
+
.ld-field {
|
|
1936
|
+
margin: 1.5rem 0;
|
|
1937
|
+
padding: 1.25rem;
|
|
1938
|
+
border-radius: var(--ld-radius-lg);
|
|
1939
|
+
border: 1px solid var(--ld-border-subtle);
|
|
1940
|
+
background: var(--ld-bg-soft);
|
|
1941
|
+
position: relative;
|
|
1942
|
+
transition: border-color 0.2s ease, box-shadow 0.2s ease;
|
|
1943
|
+
}
|
|
1944
|
+
.ld-field:hover {
|
|
1945
|
+
border-color: var(--ld-color-primary);
|
|
1946
|
+
box-shadow: 0 4px 20px -8px rgba(127, 19, 236, 0.15);
|
|
1947
|
+
}
|
|
1948
|
+
.ld-field__header {
|
|
1949
|
+
display: flex;
|
|
1950
|
+
flex-wrap: wrap;
|
|
1951
|
+
align-items: center;
|
|
1952
|
+
justify-content: space-between;
|
|
1953
|
+
gap: 1rem;
|
|
1954
|
+
margin-bottom: 0.85rem;
|
|
1955
|
+
padding-bottom: 0.85rem;
|
|
1956
|
+
border-bottom: 1px solid var(--ld-border-subtle);
|
|
1957
|
+
}
|
|
1958
|
+
.ld-field__signature {
|
|
1959
|
+
display: flex;
|
|
1960
|
+
align-items: center;
|
|
1961
|
+
gap: 0.75rem;
|
|
1962
|
+
}
|
|
1963
|
+
.ld-field__name {
|
|
1964
|
+
font-family: var(--ld-font-mono);
|
|
1965
|
+
font-size: 0.95rem;
|
|
1966
|
+
font-weight: 700;
|
|
1967
|
+
color: var(--ld-text-main);
|
|
1968
|
+
background: rgba(127, 19, 236, 0.08);
|
|
1969
|
+
padding: 0.2rem 0.6rem;
|
|
1970
|
+
border-radius: var(--ld-radius-sm);
|
|
1971
|
+
letter-spacing: -0.01em;
|
|
1972
|
+
}
|
|
1973
|
+
.ld-field__type-badge {
|
|
1974
|
+
font-family: var(--ld-font-mono);
|
|
1975
|
+
font-size: 0.75rem;
|
|
1976
|
+
font-weight: 500;
|
|
1977
|
+
color: var(--ld-color-primary);
|
|
1978
|
+
background: var(--ld-color-primary-muted);
|
|
1979
|
+
padding: 0.15rem 0.5rem;
|
|
1980
|
+
border-radius: var(--ld-radius-full);
|
|
1981
|
+
border: 1px solid rgba(127, 19, 236, 0.2);
|
|
1982
|
+
}
|
|
1983
|
+
.ld-field__required-badge {
|
|
1984
|
+
font-size: 0.7rem;
|
|
1985
|
+
font-weight: 700;
|
|
1986
|
+
text-transform: uppercase;
|
|
1987
|
+
color: var(--ld-ui-danger-text);
|
|
1988
|
+
background: var(--ld-ui-danger-bg);
|
|
1989
|
+
padding: 0.1rem 0.4rem;
|
|
1990
|
+
border-radius: var(--ld-radius-sm);
|
|
1991
|
+
letter-spacing: 0.05em;
|
|
1992
|
+
}
|
|
1993
|
+
.ld-field__default {
|
|
1994
|
+
display: flex;
|
|
1995
|
+
align-items: center;
|
|
1996
|
+
gap: 0.5rem;
|
|
1997
|
+
font-size: 0.8rem;
|
|
1998
|
+
}
|
|
1999
|
+
.ld-field__default-label {
|
|
2000
|
+
color: var(--ld-text-dim);
|
|
2001
|
+
font-weight: 500;
|
|
2002
|
+
}
|
|
2003
|
+
.ld-field__default-value {
|
|
2004
|
+
font-family: var(--ld-font-mono);
|
|
2005
|
+
color: var(--ld-text-main);
|
|
2006
|
+
background: var(--ld-bg-mute);
|
|
2007
|
+
padding: 0.15rem 0.4rem;
|
|
2008
|
+
border-radius: var(--ld-radius-sm);
|
|
2009
|
+
}
|
|
2010
|
+
.ld-field__content {
|
|
2011
|
+
font-size: 0.875rem;
|
|
2012
|
+
line-height: 1.6;
|
|
2013
|
+
color: var(--ld-text-muted);
|
|
2014
|
+
}
|
|
2015
|
+
.ld-field__content p {
|
|
2016
|
+
margin: 0;
|
|
2017
|
+
}
|
|
1935
2018
|
|
|
1936
2019
|
/* src/client/theme/components/PackageManagerTabs/pkg-tabs.css */
|
|
1937
2020
|
.pkg-tabs-wrapper {
|
|
@@ -2454,8 +2537,6 @@ a.not-found-link:hover {
|
|
|
2454
2537
|
.boltdocs-link-preview-content {
|
|
2455
2538
|
padding: 0.85rem 1rem;
|
|
2456
2539
|
background-color: var(--ld-navbar-bg);
|
|
2457
|
-
backdrop-filter: blur(20px);
|
|
2458
|
-
-webkit-backdrop-filter: blur(20px);
|
|
2459
2540
|
border: 1px solid var(--ld-border-subtle);
|
|
2460
2541
|
border-radius: var(--ld-radius-lg);
|
|
2461
2542
|
box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.2), 0 4px 10px -5px rgba(0, 0, 0, 0.1);
|
|
@@ -2479,14 +2560,3 @@ a.not-found-link:hover {
|
|
|
2479
2560
|
-webkit-box-orient: vertical;
|
|
2480
2561
|
overflow: hidden;
|
|
2481
2562
|
}
|
|
2482
|
-
[data-theme=dark] .boltdocs-link-preview-content {
|
|
2483
|
-
background-color: rgba(15, 15, 20, 0.8);
|
|
2484
|
-
border-color: rgba(255, 255, 255, 0.08);
|
|
2485
|
-
box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.5), 0 8px 16px -8px rgba(0, 0, 0, 0.3);
|
|
2486
|
-
}
|
|
2487
|
-
[data-theme=dark] .boltdocs-link-preview-title {
|
|
2488
|
-
color: #fff;
|
|
2489
|
-
}
|
|
2490
|
-
[data-theme=dark] .boltdocs-link-preview-summary {
|
|
2491
|
-
color: #94a3b8;
|
|
2492
|
-
}
|
package/dist/client/index.css
CHANGED
|
@@ -18,8 +18,6 @@
|
|
|
18
18
|
.boltdocs-link-preview-content {
|
|
19
19
|
padding: 0.85rem 1rem;
|
|
20
20
|
background-color: var(--ld-navbar-bg);
|
|
21
|
-
backdrop-filter: blur(20px);
|
|
22
|
-
-webkit-backdrop-filter: blur(20px);
|
|
23
21
|
border: 1px solid var(--ld-border-subtle);
|
|
24
22
|
border-radius: var(--ld-radius-lg);
|
|
25
23
|
box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.2), 0 4px 10px -5px rgba(0, 0, 0, 0.1);
|
|
@@ -43,17 +41,6 @@
|
|
|
43
41
|
-webkit-box-orient: vertical;
|
|
44
42
|
overflow: hidden;
|
|
45
43
|
}
|
|
46
|
-
[data-theme=dark] .boltdocs-link-preview-content {
|
|
47
|
-
background-color: rgba(15, 15, 20, 0.8);
|
|
48
|
-
border-color: rgba(255, 255, 255, 0.08);
|
|
49
|
-
box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.5), 0 8px 16px -8px rgba(0, 0, 0, 0.3);
|
|
50
|
-
}
|
|
51
|
-
[data-theme=dark] .boltdocs-link-preview-title {
|
|
52
|
-
color: #fff;
|
|
53
|
-
}
|
|
54
|
-
[data-theme=dark] .boltdocs-link-preview-summary {
|
|
55
|
-
color: #94a3b8;
|
|
56
|
-
}
|
|
57
44
|
|
|
58
45
|
/* src/client/theme/ui/ProgressBar/ProgressBar.css */
|
|
59
46
|
.boltdocs-progress-container {
|
|
@@ -103,7 +90,7 @@
|
|
|
103
90
|
--ld-code-bg: #f3f4f6;
|
|
104
91
|
--ld-code-header: #e5e7eb;
|
|
105
92
|
--ld-code-text: #1f2937;
|
|
106
|
-
--ld-navbar-bg:
|
|
93
|
+
--ld-navbar-bg: #ffffff;
|
|
107
94
|
--ld-navbar-blur: 12px;
|
|
108
95
|
--ld-sidebar-bg: transparent;
|
|
109
96
|
--ld-sidebar-blur: 0px;
|
|
@@ -1987,6 +1974,89 @@ a {
|
|
|
1987
1974
|
opacity: 0.4;
|
|
1988
1975
|
cursor: not-allowed;
|
|
1989
1976
|
}
|
|
1977
|
+
.ld-field {
|
|
1978
|
+
margin: 1.5rem 0;
|
|
1979
|
+
padding: 1.25rem;
|
|
1980
|
+
border-radius: var(--ld-radius-lg);
|
|
1981
|
+
border: 1px solid var(--ld-border-subtle);
|
|
1982
|
+
background: var(--ld-bg-soft);
|
|
1983
|
+
position: relative;
|
|
1984
|
+
transition: border-color 0.2s ease, box-shadow 0.2s ease;
|
|
1985
|
+
}
|
|
1986
|
+
.ld-field:hover {
|
|
1987
|
+
border-color: var(--ld-color-primary);
|
|
1988
|
+
box-shadow: 0 4px 20px -8px rgba(127, 19, 236, 0.15);
|
|
1989
|
+
}
|
|
1990
|
+
.ld-field__header {
|
|
1991
|
+
display: flex;
|
|
1992
|
+
flex-wrap: wrap;
|
|
1993
|
+
align-items: center;
|
|
1994
|
+
justify-content: space-between;
|
|
1995
|
+
gap: 1rem;
|
|
1996
|
+
margin-bottom: 0.85rem;
|
|
1997
|
+
padding-bottom: 0.85rem;
|
|
1998
|
+
border-bottom: 1px solid var(--ld-border-subtle);
|
|
1999
|
+
}
|
|
2000
|
+
.ld-field__signature {
|
|
2001
|
+
display: flex;
|
|
2002
|
+
align-items: center;
|
|
2003
|
+
gap: 0.75rem;
|
|
2004
|
+
}
|
|
2005
|
+
.ld-field__name {
|
|
2006
|
+
font-family: var(--ld-font-mono);
|
|
2007
|
+
font-size: 0.95rem;
|
|
2008
|
+
font-weight: 700;
|
|
2009
|
+
color: var(--ld-text-main);
|
|
2010
|
+
background: rgba(127, 19, 236, 0.08);
|
|
2011
|
+
padding: 0.2rem 0.6rem;
|
|
2012
|
+
border-radius: var(--ld-radius-sm);
|
|
2013
|
+
letter-spacing: -0.01em;
|
|
2014
|
+
}
|
|
2015
|
+
.ld-field__type-badge {
|
|
2016
|
+
font-family: var(--ld-font-mono);
|
|
2017
|
+
font-size: 0.75rem;
|
|
2018
|
+
font-weight: 500;
|
|
2019
|
+
color: var(--ld-color-primary);
|
|
2020
|
+
background: var(--ld-color-primary-muted);
|
|
2021
|
+
padding: 0.15rem 0.5rem;
|
|
2022
|
+
border-radius: var(--ld-radius-full);
|
|
2023
|
+
border: 1px solid rgba(127, 19, 236, 0.2);
|
|
2024
|
+
}
|
|
2025
|
+
.ld-field__required-badge {
|
|
2026
|
+
font-size: 0.7rem;
|
|
2027
|
+
font-weight: 700;
|
|
2028
|
+
text-transform: uppercase;
|
|
2029
|
+
color: var(--ld-ui-danger-text);
|
|
2030
|
+
background: var(--ld-ui-danger-bg);
|
|
2031
|
+
padding: 0.1rem 0.4rem;
|
|
2032
|
+
border-radius: var(--ld-radius-sm);
|
|
2033
|
+
letter-spacing: 0.05em;
|
|
2034
|
+
}
|
|
2035
|
+
.ld-field__default {
|
|
2036
|
+
display: flex;
|
|
2037
|
+
align-items: center;
|
|
2038
|
+
gap: 0.5rem;
|
|
2039
|
+
font-size: 0.8rem;
|
|
2040
|
+
}
|
|
2041
|
+
.ld-field__default-label {
|
|
2042
|
+
color: var(--ld-text-dim);
|
|
2043
|
+
font-weight: 500;
|
|
2044
|
+
}
|
|
2045
|
+
.ld-field__default-value {
|
|
2046
|
+
font-family: var(--ld-font-mono);
|
|
2047
|
+
color: var(--ld-text-main);
|
|
2048
|
+
background: var(--ld-bg-mute);
|
|
2049
|
+
padding: 0.15rem 0.4rem;
|
|
2050
|
+
border-radius: var(--ld-radius-sm);
|
|
2051
|
+
}
|
|
2052
|
+
.ld-field__content {
|
|
2053
|
+
font-size: 0.875rem;
|
|
2054
|
+
line-height: 1.6;
|
|
2055
|
+
color: var(--ld-text-muted);
|
|
2056
|
+
}
|
|
2057
|
+
.ld-field__content p {
|
|
2058
|
+
margin: 0;
|
|
2059
|
+
}
|
|
1990
2060
|
|
|
1991
2061
|
/* src/client/theme/components/PackageManagerTabs/pkg-tabs.css */
|
|
1992
2062
|
.pkg-tabs-wrapper {
|
package/dist/client/index.d.mts
CHANGED
|
@@ -355,4 +355,25 @@ interface TableProps {
|
|
|
355
355
|
}
|
|
356
356
|
declare function Table({ headers, data, children, className, sortable, paginated, pageSize, }: TableProps): react_jsx_runtime.JSX.Element;
|
|
357
357
|
|
|
358
|
-
|
|
358
|
+
interface FieldProps {
|
|
359
|
+
/** The name of the property or field */
|
|
360
|
+
name: string;
|
|
361
|
+
/** The data type of the field (e.g., "string", "number", "boolean") */
|
|
362
|
+
type?: string;
|
|
363
|
+
/** The default value if not provided */
|
|
364
|
+
defaultValue?: string;
|
|
365
|
+
/** Whether the field is required */
|
|
366
|
+
required?: boolean;
|
|
367
|
+
/** Description or additional content */
|
|
368
|
+
children: React.ReactNode;
|
|
369
|
+
/** Optional anchor ID for linking */
|
|
370
|
+
id?: string;
|
|
371
|
+
/** Optional extra class name */
|
|
372
|
+
className?: string;
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* A highly aesthetic and readable component for documenting API fields/properties.
|
|
376
|
+
*/
|
|
377
|
+
declare function Field({ name, type, defaultValue, required, children, id, className, }: FieldProps): react_jsx_runtime.JSX.Element;
|
|
378
|
+
|
|
379
|
+
export { Admonition, type AdmonitionProps, BackgroundGradient, Badge, type BadgeProps, BoltdocsConfig, Breadcrumbs, Button, type ButtonProps, Card, type CardProps, Cards, type CardsProps, CodeBlock, ComponentRoute, CreateBoltdocsAppOptions, Danger, Field, type FieldProps, FileTree, type FileTreeProps, Head, InfoBox, List, type ListProps, Loading, Navbar, NotFound, Note, OnThisPage, Playground, Sidebar, Tab, type TabProps, Table, type TableProps, Tabs, type TabsProps, ThemeLayout, Tip, Video, Warning, createBoltdocsApp };
|
package/dist/client/index.d.ts
CHANGED
|
@@ -355,4 +355,25 @@ interface TableProps {
|
|
|
355
355
|
}
|
|
356
356
|
declare function Table({ headers, data, children, className, sortable, paginated, pageSize, }: TableProps): react_jsx_runtime.JSX.Element;
|
|
357
357
|
|
|
358
|
-
|
|
358
|
+
interface FieldProps {
|
|
359
|
+
/** The name of the property or field */
|
|
360
|
+
name: string;
|
|
361
|
+
/** The data type of the field (e.g., "string", "number", "boolean") */
|
|
362
|
+
type?: string;
|
|
363
|
+
/** The default value if not provided */
|
|
364
|
+
defaultValue?: string;
|
|
365
|
+
/** Whether the field is required */
|
|
366
|
+
required?: boolean;
|
|
367
|
+
/** Description or additional content */
|
|
368
|
+
children: React.ReactNode;
|
|
369
|
+
/** Optional anchor ID for linking */
|
|
370
|
+
id?: string;
|
|
371
|
+
/** Optional extra class name */
|
|
372
|
+
className?: string;
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* A highly aesthetic and readable component for documenting API fields/properties.
|
|
376
|
+
*/
|
|
377
|
+
declare function Field({ name, type, defaultValue, required, children, id, className, }: FieldProps): react_jsx_runtime.JSX.Element;
|
|
378
|
+
|
|
379
|
+
export { Admonition, type AdmonitionProps, BackgroundGradient, Badge, type BadgeProps, BoltdocsConfig, Breadcrumbs, Button, type ButtonProps, Card, type CardProps, Cards, type CardsProps, CodeBlock, ComponentRoute, CreateBoltdocsAppOptions, Danger, Field, type FieldProps, FileTree, type FileTreeProps, Head, InfoBox, List, type ListProps, Loading, Navbar, NotFound, Note, OnThisPage, Playground, Sidebar, Tab, type TabProps, Table, type TableProps, Tabs, type TabsProps, ThemeLayout, Tip, Video, Warning, createBoltdocsApp };
|
package/dist/client/index.js
CHANGED
|
@@ -2827,6 +2827,7 @@ __export(client_exports, {
|
|
|
2827
2827
|
Cards: () => Cards,
|
|
2828
2828
|
CodeBlock: () => CodeBlock,
|
|
2829
2829
|
Danger: () => Danger,
|
|
2830
|
+
Field: () => Field,
|
|
2830
2831
|
FileTree: () => FileTree,
|
|
2831
2832
|
Head: () => Head,
|
|
2832
2833
|
InfoBox: () => InfoBox,
|
|
@@ -3431,6 +3432,33 @@ function Table({
|
|
|
3431
3432
|
] })
|
|
3432
3433
|
] });
|
|
3433
3434
|
}
|
|
3435
|
+
|
|
3436
|
+
// src/client/theme/components/mdx/Field.tsx
|
|
3437
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3438
|
+
function Field({
|
|
3439
|
+
name,
|
|
3440
|
+
type,
|
|
3441
|
+
defaultValue,
|
|
3442
|
+
required = false,
|
|
3443
|
+
children,
|
|
3444
|
+
id,
|
|
3445
|
+
className = ""
|
|
3446
|
+
}) {
|
|
3447
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: `ld-field ${className}`.trim(), id, children: [
|
|
3448
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "ld-field__header", children: [
|
|
3449
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "ld-field__signature", children: [
|
|
3450
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("code", { className: "ld-field__name", children: name }),
|
|
3451
|
+
type && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "ld-field__type-badge", children: type }),
|
|
3452
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "ld-field__required-badge", children: "required" })
|
|
3453
|
+
] }),
|
|
3454
|
+
defaultValue && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "ld-field__default", children: [
|
|
3455
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "ld-field__default-label", children: "Default:" }),
|
|
3456
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("code", { className: "ld-field__default-value", children: defaultValue })
|
|
3457
|
+
] })
|
|
3458
|
+
] }),
|
|
3459
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "ld-field__content", children })
|
|
3460
|
+
] });
|
|
3461
|
+
}
|
|
3434
3462
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3435
3463
|
0 && (module.exports = {
|
|
3436
3464
|
Admonition,
|
|
@@ -3442,6 +3470,7 @@ function Table({
|
|
|
3442
3470
|
Cards,
|
|
3443
3471
|
CodeBlock,
|
|
3444
3472
|
Danger,
|
|
3473
|
+
Field,
|
|
3445
3474
|
FileTree,
|
|
3446
3475
|
Head,
|
|
3447
3476
|
InfoBox,
|
package/dist/client/index.mjs
CHANGED
|
@@ -598,6 +598,33 @@ function Table({
|
|
|
598
598
|
] })
|
|
599
599
|
] });
|
|
600
600
|
}
|
|
601
|
+
|
|
602
|
+
// src/client/theme/components/mdx/Field.tsx
|
|
603
|
+
import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
604
|
+
function Field({
|
|
605
|
+
name,
|
|
606
|
+
type,
|
|
607
|
+
defaultValue,
|
|
608
|
+
required = false,
|
|
609
|
+
children,
|
|
610
|
+
id,
|
|
611
|
+
className = ""
|
|
612
|
+
}) {
|
|
613
|
+
return /* @__PURE__ */ jsxs8("div", { className: `ld-field ${className}`.trim(), id, children: [
|
|
614
|
+
/* @__PURE__ */ jsxs8("div", { className: "ld-field__header", children: [
|
|
615
|
+
/* @__PURE__ */ jsxs8("div", { className: "ld-field__signature", children: [
|
|
616
|
+
/* @__PURE__ */ jsx10("code", { className: "ld-field__name", children: name }),
|
|
617
|
+
type && /* @__PURE__ */ jsx10("span", { className: "ld-field__type-badge", children: type }),
|
|
618
|
+
required && /* @__PURE__ */ jsx10("span", { className: "ld-field__required-badge", children: "required" })
|
|
619
|
+
] }),
|
|
620
|
+
defaultValue && /* @__PURE__ */ jsxs8("div", { className: "ld-field__default", children: [
|
|
621
|
+
/* @__PURE__ */ jsx10("span", { className: "ld-field__default-label", children: "Default:" }),
|
|
622
|
+
/* @__PURE__ */ jsx10("code", { className: "ld-field__default-value", children: defaultValue })
|
|
623
|
+
] })
|
|
624
|
+
] }),
|
|
625
|
+
/* @__PURE__ */ jsx10("div", { className: "ld-field__content", children })
|
|
626
|
+
] });
|
|
627
|
+
}
|
|
601
628
|
export {
|
|
602
629
|
Admonition,
|
|
603
630
|
BackgroundGradient,
|
|
@@ -608,6 +635,7 @@ export {
|
|
|
608
635
|
Cards,
|
|
609
636
|
CodeBlock,
|
|
610
637
|
Danger,
|
|
638
|
+
Field,
|
|
611
639
|
FileTree,
|
|
612
640
|
Head,
|
|
613
641
|
InfoBox,
|
package/dist/client/ssr.css
CHANGED
|
@@ -18,8 +18,6 @@
|
|
|
18
18
|
.boltdocs-link-preview-content {
|
|
19
19
|
padding: 0.85rem 1rem;
|
|
20
20
|
background-color: var(--ld-navbar-bg);
|
|
21
|
-
backdrop-filter: blur(20px);
|
|
22
|
-
-webkit-backdrop-filter: blur(20px);
|
|
23
21
|
border: 1px solid var(--ld-border-subtle);
|
|
24
22
|
border-radius: var(--ld-radius-lg);
|
|
25
23
|
box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.2), 0 4px 10px -5px rgba(0, 0, 0, 0.1);
|
|
@@ -43,17 +41,6 @@
|
|
|
43
41
|
-webkit-box-orient: vertical;
|
|
44
42
|
overflow: hidden;
|
|
45
43
|
}
|
|
46
|
-
[data-theme=dark] .boltdocs-link-preview-content {
|
|
47
|
-
background-color: rgba(15, 15, 20, 0.8);
|
|
48
|
-
border-color: rgba(255, 255, 255, 0.08);
|
|
49
|
-
box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.5), 0 8px 16px -8px rgba(0, 0, 0, 0.3);
|
|
50
|
-
}
|
|
51
|
-
[data-theme=dark] .boltdocs-link-preview-title {
|
|
52
|
-
color: #fff;
|
|
53
|
-
}
|
|
54
|
-
[data-theme=dark] .boltdocs-link-preview-summary {
|
|
55
|
-
color: #94a3b8;
|
|
56
|
-
}
|
|
57
44
|
|
|
58
45
|
/* src/client/theme/ui/ProgressBar/ProgressBar.css */
|
|
59
46
|
.boltdocs-progress-container {
|
|
@@ -103,7 +90,7 @@
|
|
|
103
90
|
--ld-code-bg: #f3f4f6;
|
|
104
91
|
--ld-code-header: #e5e7eb;
|
|
105
92
|
--ld-code-text: #1f2937;
|
|
106
|
-
--ld-navbar-bg:
|
|
93
|
+
--ld-navbar-bg: #ffffff;
|
|
107
94
|
--ld-navbar-blur: 12px;
|
|
108
95
|
--ld-sidebar-bg: transparent;
|
|
109
96
|
--ld-sidebar-blur: 0px;
|
|
@@ -1987,6 +1974,89 @@ a {
|
|
|
1987
1974
|
opacity: 0.4;
|
|
1988
1975
|
cursor: not-allowed;
|
|
1989
1976
|
}
|
|
1977
|
+
.ld-field {
|
|
1978
|
+
margin: 1.5rem 0;
|
|
1979
|
+
padding: 1.25rem;
|
|
1980
|
+
border-radius: var(--ld-radius-lg);
|
|
1981
|
+
border: 1px solid var(--ld-border-subtle);
|
|
1982
|
+
background: var(--ld-bg-soft);
|
|
1983
|
+
position: relative;
|
|
1984
|
+
transition: border-color 0.2s ease, box-shadow 0.2s ease;
|
|
1985
|
+
}
|
|
1986
|
+
.ld-field:hover {
|
|
1987
|
+
border-color: var(--ld-color-primary);
|
|
1988
|
+
box-shadow: 0 4px 20px -8px rgba(127, 19, 236, 0.15);
|
|
1989
|
+
}
|
|
1990
|
+
.ld-field__header {
|
|
1991
|
+
display: flex;
|
|
1992
|
+
flex-wrap: wrap;
|
|
1993
|
+
align-items: center;
|
|
1994
|
+
justify-content: space-between;
|
|
1995
|
+
gap: 1rem;
|
|
1996
|
+
margin-bottom: 0.85rem;
|
|
1997
|
+
padding-bottom: 0.85rem;
|
|
1998
|
+
border-bottom: 1px solid var(--ld-border-subtle);
|
|
1999
|
+
}
|
|
2000
|
+
.ld-field__signature {
|
|
2001
|
+
display: flex;
|
|
2002
|
+
align-items: center;
|
|
2003
|
+
gap: 0.75rem;
|
|
2004
|
+
}
|
|
2005
|
+
.ld-field__name {
|
|
2006
|
+
font-family: var(--ld-font-mono);
|
|
2007
|
+
font-size: 0.95rem;
|
|
2008
|
+
font-weight: 700;
|
|
2009
|
+
color: var(--ld-text-main);
|
|
2010
|
+
background: rgba(127, 19, 236, 0.08);
|
|
2011
|
+
padding: 0.2rem 0.6rem;
|
|
2012
|
+
border-radius: var(--ld-radius-sm);
|
|
2013
|
+
letter-spacing: -0.01em;
|
|
2014
|
+
}
|
|
2015
|
+
.ld-field__type-badge {
|
|
2016
|
+
font-family: var(--ld-font-mono);
|
|
2017
|
+
font-size: 0.75rem;
|
|
2018
|
+
font-weight: 500;
|
|
2019
|
+
color: var(--ld-color-primary);
|
|
2020
|
+
background: var(--ld-color-primary-muted);
|
|
2021
|
+
padding: 0.15rem 0.5rem;
|
|
2022
|
+
border-radius: var(--ld-radius-full);
|
|
2023
|
+
border: 1px solid rgba(127, 19, 236, 0.2);
|
|
2024
|
+
}
|
|
2025
|
+
.ld-field__required-badge {
|
|
2026
|
+
font-size: 0.7rem;
|
|
2027
|
+
font-weight: 700;
|
|
2028
|
+
text-transform: uppercase;
|
|
2029
|
+
color: var(--ld-ui-danger-text);
|
|
2030
|
+
background: var(--ld-ui-danger-bg);
|
|
2031
|
+
padding: 0.1rem 0.4rem;
|
|
2032
|
+
border-radius: var(--ld-radius-sm);
|
|
2033
|
+
letter-spacing: 0.05em;
|
|
2034
|
+
}
|
|
2035
|
+
.ld-field__default {
|
|
2036
|
+
display: flex;
|
|
2037
|
+
align-items: center;
|
|
2038
|
+
gap: 0.5rem;
|
|
2039
|
+
font-size: 0.8rem;
|
|
2040
|
+
}
|
|
2041
|
+
.ld-field__default-label {
|
|
2042
|
+
color: var(--ld-text-dim);
|
|
2043
|
+
font-weight: 500;
|
|
2044
|
+
}
|
|
2045
|
+
.ld-field__default-value {
|
|
2046
|
+
font-family: var(--ld-font-mono);
|
|
2047
|
+
color: var(--ld-text-main);
|
|
2048
|
+
background: var(--ld-bg-mute);
|
|
2049
|
+
padding: 0.15rem 0.4rem;
|
|
2050
|
+
border-radius: var(--ld-radius-sm);
|
|
2051
|
+
}
|
|
2052
|
+
.ld-field__content {
|
|
2053
|
+
font-size: 0.875rem;
|
|
2054
|
+
line-height: 1.6;
|
|
2055
|
+
color: var(--ld-text-muted);
|
|
2056
|
+
}
|
|
2057
|
+
.ld-field__content p {
|
|
2058
|
+
margin: 0;
|
|
2059
|
+
}
|
|
1990
2060
|
|
|
1991
2061
|
/* src/client/theme/components/PackageManagerTabs/pkg-tabs.css */
|
|
1992
2062
|
.pkg-tabs-wrapper {
|
package/package.json
CHANGED
package/src/client/index.ts
CHANGED
|
@@ -30,6 +30,7 @@ export {
|
|
|
30
30
|
List,
|
|
31
31
|
FileTree,
|
|
32
32
|
Table,
|
|
33
|
+
Field,
|
|
33
34
|
} from "./theme/components/mdx";
|
|
34
35
|
export type {
|
|
35
36
|
ButtonProps,
|
|
@@ -42,4 +43,5 @@ export type {
|
|
|
42
43
|
ListProps,
|
|
43
44
|
FileTreeProps,
|
|
44
45
|
TableProps,
|
|
46
|
+
FieldProps,
|
|
45
47
|
} from "./theme/components/mdx";
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
export interface FieldProps {
|
|
4
|
+
/** The name of the property or field */
|
|
5
|
+
name: string;
|
|
6
|
+
/** The data type of the field (e.g., "string", "number", "boolean") */
|
|
7
|
+
type?: string;
|
|
8
|
+
/** The default value if not provided */
|
|
9
|
+
defaultValue?: string;
|
|
10
|
+
/** Whether the field is required */
|
|
11
|
+
required?: boolean;
|
|
12
|
+
/** Description or additional content */
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
/** Optional anchor ID for linking */
|
|
15
|
+
id?: string;
|
|
16
|
+
/** Optional extra class name */
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* A highly aesthetic and readable component for documenting API fields/properties.
|
|
22
|
+
*/
|
|
23
|
+
export function Field({
|
|
24
|
+
name,
|
|
25
|
+
type,
|
|
26
|
+
defaultValue,
|
|
27
|
+
required = false,
|
|
28
|
+
children,
|
|
29
|
+
id,
|
|
30
|
+
className = "",
|
|
31
|
+
}: FieldProps) {
|
|
32
|
+
return (
|
|
33
|
+
<div className={`ld-field ${className}`.trim()} id={id}>
|
|
34
|
+
<div className="ld-field__header">
|
|
35
|
+
<div className="ld-field__signature">
|
|
36
|
+
<code className="ld-field__name">{name}</code>
|
|
37
|
+
{type && (
|
|
38
|
+
<span className="ld-field__type-badge">
|
|
39
|
+
{type}
|
|
40
|
+
</span>
|
|
41
|
+
)}
|
|
42
|
+
{required && (
|
|
43
|
+
<span className="ld-field__required-badge">required</span>
|
|
44
|
+
)}
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
{defaultValue && (
|
|
48
|
+
<div className="ld-field__default">
|
|
49
|
+
<span className="ld-field__default-label">Default:</span>
|
|
50
|
+
<code className="ld-field__default-value">{defaultValue}</code>
|
|
51
|
+
</div>
|
|
52
|
+
)}
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<div className="ld-field__content">
|
|
56
|
+
{children}
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
);
|
|
60
|
+
}
|
|
@@ -667,3 +667,98 @@
|
|
|
667
667
|
opacity: 0.4;
|
|
668
668
|
cursor: not-allowed;
|
|
669
669
|
}
|
|
670
|
+
/* ─── Field ───────────────────────────────────────────────── */
|
|
671
|
+
.ld-field {
|
|
672
|
+
margin: 1.5rem 0;
|
|
673
|
+
padding: 1.25rem;
|
|
674
|
+
border-radius: var(--ld-radius-lg);
|
|
675
|
+
border: 1px solid var(--ld-border-subtle);
|
|
676
|
+
background: var(--ld-bg-soft);
|
|
677
|
+
position: relative;
|
|
678
|
+
transition: border-color 0.2s ease, box-shadow 0.2s ease;
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
.ld-field:hover {
|
|
682
|
+
border-color: var(--ld-color-primary);
|
|
683
|
+
box-shadow: 0 4px 20px -8px rgba(127, 19, 236, 0.15);
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
.ld-field__header {
|
|
687
|
+
display: flex;
|
|
688
|
+
flex-wrap: wrap;
|
|
689
|
+
align-items: center;
|
|
690
|
+
justify-content: space-between;
|
|
691
|
+
gap: 1rem;
|
|
692
|
+
margin-bottom: 0.85rem;
|
|
693
|
+
padding-bottom: 0.85rem;
|
|
694
|
+
border-bottom: 1px solid var(--ld-border-subtle);
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
.ld-field__signature {
|
|
698
|
+
display: flex;
|
|
699
|
+
align-items: center;
|
|
700
|
+
gap: 0.75rem;
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
.ld-field__name {
|
|
704
|
+
font-family: var(--ld-font-mono);
|
|
705
|
+
font-size: 0.95rem;
|
|
706
|
+
font-weight: 700;
|
|
707
|
+
color: var(--ld-text-main);
|
|
708
|
+
background: rgba(127, 19, 236, 0.08);
|
|
709
|
+
padding: 0.2rem 0.6rem;
|
|
710
|
+
border-radius: var(--ld-radius-sm);
|
|
711
|
+
letter-spacing: -0.01em;
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
.ld-field__type-badge {
|
|
715
|
+
font-family: var(--ld-font-mono);
|
|
716
|
+
font-size: 0.75rem;
|
|
717
|
+
font-weight: 500;
|
|
718
|
+
color: var(--ld-color-primary);
|
|
719
|
+
background: var(--ld-color-primary-muted);
|
|
720
|
+
padding: 0.15rem 0.5rem;
|
|
721
|
+
border-radius: var(--ld-radius-full);
|
|
722
|
+
border: 1px solid rgba(127, 19, 236, 0.2);
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
.ld-field__required-badge {
|
|
726
|
+
font-size: 0.7rem;
|
|
727
|
+
font-weight: 700;
|
|
728
|
+
text-transform: uppercase;
|
|
729
|
+
color: var(--ld-ui-danger-text);
|
|
730
|
+
background: var(--ld-ui-danger-bg);
|
|
731
|
+
padding: 0.1rem 0.4rem;
|
|
732
|
+
border-radius: var(--ld-radius-sm);
|
|
733
|
+
letter-spacing: 0.05em;
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
.ld-field__default {
|
|
737
|
+
display: flex;
|
|
738
|
+
align-items: center;
|
|
739
|
+
gap: 0.5rem;
|
|
740
|
+
font-size: 0.8rem;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
.ld-field__default-label {
|
|
744
|
+
color: var(--ld-text-dim);
|
|
745
|
+
font-weight: 500;
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
.ld-field__default-value {
|
|
749
|
+
font-family: var(--ld-font-mono);
|
|
750
|
+
color: var(--ld-text-main);
|
|
751
|
+
background: var(--ld-bg-mute);
|
|
752
|
+
padding: 0.15rem 0.4rem;
|
|
753
|
+
border-radius: var(--ld-radius-sm);
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
.ld-field__content {
|
|
757
|
+
font-size: 0.875rem;
|
|
758
|
+
line-height: 1.6;
|
|
759
|
+
color: var(--ld-text-muted);
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
.ld-field__content p {
|
|
763
|
+
margin: 0;
|
|
764
|
+
}
|
|
@@ -19,11 +19,9 @@
|
|
|
19
19
|
.boltdocs-link-preview-content {
|
|
20
20
|
padding: 0.85rem 1rem;
|
|
21
21
|
background-color: var(--ld-navbar-bg);
|
|
22
|
-
backdrop-filter: blur(20px);
|
|
23
|
-
-webkit-backdrop-filter: blur(20px);
|
|
24
22
|
border: 1px solid var(--ld-border-subtle);
|
|
25
23
|
border-radius: var(--ld-radius-lg);
|
|
26
|
-
box-shadow:
|
|
24
|
+
box-shadow:
|
|
27
25
|
0 10px 30px -10px rgba(0, 0, 0, 0.2),
|
|
28
26
|
0 4px 10px -5px rgba(0, 0, 0, 0.1);
|
|
29
27
|
}
|
|
@@ -48,20 +46,3 @@
|
|
|
48
46
|
-webkit-box-orient: vertical;
|
|
49
47
|
overflow: hidden;
|
|
50
48
|
}
|
|
51
|
-
|
|
52
|
-
/* Dark mode refinements */
|
|
53
|
-
[data-theme="dark"] .boltdocs-link-preview-content {
|
|
54
|
-
background-color: rgba(15, 15, 20, 0.8);
|
|
55
|
-
border-color: rgba(255, 255, 255, 0.08);
|
|
56
|
-
box-shadow:
|
|
57
|
-
0 20px 40px -15px rgba(0, 0, 0, 0.5),
|
|
58
|
-
0 8px 16px -8px rgba(0, 0, 0, 0.3);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
[data-theme="dark"] .boltdocs-link-preview-title {
|
|
62
|
-
color: #fff;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
[data-theme="dark"] .boltdocs-link-preview-summary {
|
|
66
|
-
color: #94a3b8;
|
|
67
|
-
}
|