@usefidel/design-system 0.26.0 → 0.28.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/fidel.manifest.json +2 -2
- package/dist/index.cjs +375 -23
- package/dist/index.css +1058 -0
- package/dist/index.d.cts +264 -6
- package/dist/index.d.ts +264 -6
- package/dist/index.js +345 -10
- package/package.json +8 -3
package/dist/fidel.manifest.json
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -33,15 +33,25 @@ __export(index_exports, {
|
|
|
33
33
|
Card: () => Card,
|
|
34
34
|
Checkbox: () => Checkbox,
|
|
35
35
|
Checklist: () => Checklist,
|
|
36
|
+
CodeBlock: () => CodeBlock,
|
|
37
|
+
ColorRamp: () => ColorRamp,
|
|
38
|
+
ConnectionCard: () => ConnectionCard,
|
|
39
|
+
DescriptionList: () => DescriptionList,
|
|
36
40
|
DiffPropertyList: () => DiffPropertyList,
|
|
37
41
|
DiffSection: () => DiffSection,
|
|
38
42
|
Divider: () => Divider,
|
|
39
43
|
Drawer: () => Drawer,
|
|
44
|
+
EasingCurve: () => EasingCurve,
|
|
40
45
|
EmptyState: () => EmptyState,
|
|
46
|
+
FilterChips: () => FilterChips,
|
|
41
47
|
IconButton: () => IconButton,
|
|
42
48
|
Input: () => Input,
|
|
49
|
+
ListCard: () => ListCard,
|
|
43
50
|
ListLabel: () => ListLabel,
|
|
51
|
+
ListRow: () => ListRow,
|
|
52
|
+
MeasureList: () => MeasureList,
|
|
44
53
|
Menu: () => Menu,
|
|
54
|
+
Meter: () => Meter,
|
|
45
55
|
MismatchCard: () => MismatchCard,
|
|
46
56
|
Modal: () => Modal,
|
|
47
57
|
MultiSelect: () => MultiSelect,
|
|
@@ -51,6 +61,7 @@ __export(index_exports, {
|
|
|
51
61
|
PageHeader: () => PageHeader,
|
|
52
62
|
PageSkeleton: () => PageSkeleton,
|
|
53
63
|
Pagination: () => Pagination,
|
|
64
|
+
PreviewCard: () => PreviewCard,
|
|
54
65
|
PricingCard: () => PricingCard,
|
|
55
66
|
Radio: () => Radio,
|
|
56
67
|
RadioCard: () => RadioCard,
|
|
@@ -72,13 +83,19 @@ __export(index_exports, {
|
|
|
72
83
|
StepList: () => StepList,
|
|
73
84
|
Stepper: () => Stepper,
|
|
74
85
|
Swatch: () => Swatch,
|
|
86
|
+
SwatchList: () => SwatchList,
|
|
75
87
|
TabNav: () => TabNav,
|
|
76
88
|
Table: () => Table,
|
|
77
89
|
Tag: () => Tag,
|
|
90
|
+
Tile: () => Tile,
|
|
78
91
|
Toast: () => Toast,
|
|
79
92
|
ToastRegion: () => ToastRegion,
|
|
80
93
|
Toggle: () => Toggle,
|
|
94
|
+
TokenSample: () => TokenSample,
|
|
81
95
|
Tooltip: () => Tooltip,
|
|
96
|
+
TypeSample: () => TypeSample,
|
|
97
|
+
TypeScale: () => TypeScale,
|
|
98
|
+
TypeSpecimen: () => TypeSpecimen,
|
|
82
99
|
WorkspaceAvatar: () => WorkspaceAvatar,
|
|
83
100
|
WorkspaceSwitcher: () => WorkspaceSwitcher,
|
|
84
101
|
breakpoints: () => breakpoints,
|
|
@@ -1377,6 +1394,7 @@ function StackedCardsIllustration({ className }) {
|
|
|
1377
1394
|
}
|
|
1378
1395
|
|
|
1379
1396
|
// src/components/Callout/Callout.tsx
|
|
1397
|
+
var import_lucide_react2 = require("lucide-react");
|
|
1380
1398
|
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1381
1399
|
function Callout({
|
|
1382
1400
|
tone = "neutral",
|
|
@@ -1385,6 +1403,8 @@ function Callout({
|
|
|
1385
1403
|
titleAside,
|
|
1386
1404
|
children,
|
|
1387
1405
|
action,
|
|
1406
|
+
onDismiss,
|
|
1407
|
+
dismissLabel = "Dismiss",
|
|
1388
1408
|
className,
|
|
1389
1409
|
...rest
|
|
1390
1410
|
}) {
|
|
@@ -1398,7 +1418,8 @@ function Callout({
|
|
|
1398
1418
|
] }),
|
|
1399
1419
|
children != null && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "fds-callout__text", children })
|
|
1400
1420
|
] }),
|
|
1401
|
-
action != null && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "fds-callout__action", children: action })
|
|
1421
|
+
action != null && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "fds-callout__action", children: action }),
|
|
1422
|
+
onDismiss && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { type: "button", className: "fds-callout__dismiss", "aria-label": dismissLabel, onClick: onDismiss, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react2.X, { "aria-hidden": "true" }) })
|
|
1402
1423
|
] });
|
|
1403
1424
|
}
|
|
1404
1425
|
|
|
@@ -1719,7 +1740,7 @@ function IconButton({
|
|
|
1719
1740
|
|
|
1720
1741
|
// src/components/Menu/Menu.tsx
|
|
1721
1742
|
var import_react17 = require("react");
|
|
1722
|
-
var
|
|
1743
|
+
var import_lucide_react3 = require("lucide-react");
|
|
1723
1744
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1724
1745
|
var isItem = (e) => !("type" in e);
|
|
1725
1746
|
function searchText(it) {
|
|
@@ -1875,7 +1896,7 @@ function Menu({
|
|
|
1875
1896
|
wired,
|
|
1876
1897
|
open && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: listClasses, onKeyDown: onListKeyDown, children: [
|
|
1877
1898
|
search && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "fds-menu__search", children: [
|
|
1878
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1899
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react3.Search, { "aria-hidden": "true" }),
|
|
1879
1900
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1880
1901
|
"input",
|
|
1881
1902
|
{
|
|
@@ -1931,7 +1952,7 @@ function Menu({
|
|
|
1931
1952
|
e.description != null && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "fds-menu__description", children: e.description })
|
|
1932
1953
|
] }),
|
|
1933
1954
|
e.trailing != null && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "fds-menu__trailing", children: e.trailing }),
|
|
1934
|
-
e.selected && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1955
|
+
e.selected && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react3.Check, { className: "fds-menu__check", "aria-hidden": "true" })
|
|
1935
1956
|
]
|
|
1936
1957
|
},
|
|
1937
1958
|
i
|
|
@@ -2120,12 +2141,12 @@ function Tooltip({ content, children, side = "right", delay = 400, disabled = fa
|
|
|
2120
2141
|
}
|
|
2121
2142
|
|
|
2122
2143
|
// src/components/BrandButton/BrandButton.tsx
|
|
2123
|
-
var
|
|
2144
|
+
var import_lucide_react4 = require("lucide-react");
|
|
2124
2145
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2125
2146
|
function BrandButton({ mark, hoverIcon, type = "button", className, ...rest }) {
|
|
2126
2147
|
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("button", { type, className: ["fds-brand-button", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2127
2148
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "fds-brand-button__mark", "aria-hidden": "true", children: mark }),
|
|
2128
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "fds-brand-button__hover", "aria-hidden": "true", children: hoverIcon ?? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2149
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "fds-brand-button__hover", "aria-hidden": "true", children: hoverIcon ?? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react4.PanelLeftOpen, {}) })
|
|
2129
2150
|
] });
|
|
2130
2151
|
}
|
|
2131
2152
|
|
|
@@ -2165,7 +2186,7 @@ function SidebarItem({
|
|
|
2165
2186
|
|
|
2166
2187
|
// src/components/Sidebar/Sidebar.tsx
|
|
2167
2188
|
var import_react20 = require("react");
|
|
2168
|
-
var
|
|
2189
|
+
var import_lucide_react5 = require("lucide-react");
|
|
2169
2190
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2170
2191
|
function SidebarRoot({
|
|
2171
2192
|
collapsed: controlled,
|
|
@@ -2234,7 +2255,7 @@ function SidebarBrand({
|
|
|
2234
2255
|
{
|
|
2235
2256
|
variant: "ghost",
|
|
2236
2257
|
size: "small",
|
|
2237
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
2258
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react5.PanelLeftClose, {}),
|
|
2238
2259
|
"aria-label": collapseLabel,
|
|
2239
2260
|
"aria-keyshortcuts": "Meta+Backslash Control+Backslash",
|
|
2240
2261
|
onClick: () => sidebar?.setCollapsed(true)
|
|
@@ -2292,7 +2313,7 @@ var Sidebar = Object.assign(SidebarRoot, {
|
|
|
2292
2313
|
|
|
2293
2314
|
// src/components/WorkspaceSwitcher/WorkspaceSwitcher.tsx
|
|
2294
2315
|
var import_react21 = require("react");
|
|
2295
|
-
var
|
|
2316
|
+
var import_lucide_react6 = require("lucide-react");
|
|
2296
2317
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2297
2318
|
function WorkspaceAvatar({ name }) {
|
|
2298
2319
|
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "fds-workspace-avatar", "aria-hidden": "true", children: name.trim().charAt(0).toUpperCase() || "?" });
|
|
@@ -2313,7 +2334,7 @@ var WorkspaceSwitcher = (0, import_react21.forwardRef)(function WorkspaceSwitche
|
|
|
2313
2334
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("span", { className: "fds-workspace-switcher__text", "aria-hidden": iconOnly || void 0, children: [
|
|
2314
2335
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "fds-workspace-switcher__name", children: name }),
|
|
2315
2336
|
plan && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "fds-workspace-switcher__plan", children: plan }),
|
|
2316
|
-
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2337
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react6.ChevronDown, { className: "fds-workspace-switcher__chevron", "aria-hidden": "true" })
|
|
2317
2338
|
] })
|
|
2318
2339
|
]
|
|
2319
2340
|
}
|
|
@@ -2355,13 +2376,17 @@ var AppLayout = Object.assign(AppLayoutRoot, { Panel: AppLayoutPanel });
|
|
|
2355
2376
|
|
|
2356
2377
|
// src/components/PageHeader/PageHeader.tsx
|
|
2357
2378
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2358
|
-
function PageHeader({ title, description, breadcrumb, actions, className, children, ...rest }) {
|
|
2379
|
+
function PageHeader({ title, description, leading, meta, breadcrumb, actions, className, children, ...rest }) {
|
|
2359
2380
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("header", { className: ["fds-page-header", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2381
|
+
breadcrumb != null && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "fds-page-header__breadcrumb", children: breadcrumb }),
|
|
2360
2382
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "fds-page-header__row", children: [
|
|
2361
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "fds-page-
|
|
2362
|
-
|
|
2363
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.
|
|
2364
|
-
|
|
2383
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "fds-page-header__lead", children: [
|
|
2384
|
+
leading != null && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "fds-page-header__leading", children: leading }),
|
|
2385
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "fds-page-header__text", children: [
|
|
2386
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("h1", { className: "fds-page-header__title", children: title }),
|
|
2387
|
+
description != null && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "fds-page-header__description", children: description }),
|
|
2388
|
+
meta != null && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "fds-page-header__meta", children: meta })
|
|
2389
|
+
] })
|
|
2365
2390
|
] }),
|
|
2366
2391
|
actions != null && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "fds-page-header__actions", children: actions })
|
|
2367
2392
|
] }),
|
|
@@ -2371,7 +2396,7 @@ function PageHeader({ title, description, breadcrumb, actions, className, childr
|
|
|
2371
2396
|
|
|
2372
2397
|
// src/components/Toast/Toast.tsx
|
|
2373
2398
|
var import_react23 = require("react");
|
|
2374
|
-
var
|
|
2399
|
+
var import_lucide_react7 = require("lucide-react");
|
|
2375
2400
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2376
2401
|
function ToastRegion({ className, children, ...rest }) {
|
|
2377
2402
|
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: ["fds-toast-region", className].filter(Boolean).join(" "), "aria-live": "polite", ...rest, children });
|
|
@@ -2385,13 +2410,13 @@ function Toast({ children, action, onDismiss, duration, className, ...rest }) {
|
|
|
2385
2410
|
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { role: "status", className: ["fds-toast", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2386
2411
|
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "fds-toast__message", children }),
|
|
2387
2412
|
action && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("button", { type: "button", className: "fds-toast__action", onClick: action.onClick, children: action.label }),
|
|
2388
|
-
onDismiss && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("button", { type: "button", className: "fds-toast__close", "aria-label": "Dismiss", onClick: onDismiss, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2413
|
+
onDismiss && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("button", { type: "button", className: "fds-toast__close", "aria-label": "Dismiss", onClick: onDismiss, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react7.X, { "aria-hidden": "true" }) })
|
|
2389
2414
|
] });
|
|
2390
2415
|
}
|
|
2391
2416
|
|
|
2392
2417
|
// src/components/Stepper/Stepper.tsx
|
|
2393
2418
|
var import_react24 = require("react");
|
|
2394
|
-
var
|
|
2419
|
+
var import_lucide_react8 = require("lucide-react");
|
|
2395
2420
|
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2396
2421
|
function StepperStep(_) {
|
|
2397
2422
|
return null;
|
|
@@ -2406,7 +2431,7 @@ function StepperRoot({ className, children, ...rest }) {
|
|
|
2406
2431
|
className: `fds-stepper__step fds-stepper__step--${status}`,
|
|
2407
2432
|
"aria-current": status === "current" ? "step" : void 0,
|
|
2408
2433
|
children: [
|
|
2409
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "fds-stepper__marker", "aria-hidden": "true", children: status === "done" ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
2434
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "fds-stepper__marker", "aria-hidden": "true", children: status === "done" ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react8.Check, {}) : i + 1 }),
|
|
2410
2435
|
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "fds-stepper__label", children: label })
|
|
2411
2436
|
]
|
|
2412
2437
|
},
|
|
@@ -2455,7 +2480,7 @@ function OptionRow({ control = "radio", title, description, meta, className, che
|
|
|
2455
2480
|
var OptionList = Object.assign(OptionListRoot, { Label: OptionListLabel, Row: OptionRow });
|
|
2456
2481
|
|
|
2457
2482
|
// src/components/Checklist/Checklist.tsx
|
|
2458
|
-
var
|
|
2483
|
+
var import_lucide_react9 = require("lucide-react");
|
|
2459
2484
|
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
2460
2485
|
function ChecklistRoot({ title, className, children, ...rest }) {
|
|
2461
2486
|
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("section", { className: ["fds-checklist", className].filter(Boolean).join(" "), ...rest, children: [
|
|
@@ -2465,7 +2490,7 @@ function ChecklistRoot({ title, className, children, ...rest }) {
|
|
|
2465
2490
|
}
|
|
2466
2491
|
function ChecklistItem({ done, label, value }) {
|
|
2467
2492
|
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("li", { className: ["fds-checklist__item", done ? "fds-checklist__item--done" : ""].filter(Boolean).join(" "), children: [
|
|
2468
|
-
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "fds-checklist__mark", "aria-hidden": "true", children: done && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
2493
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "fds-checklist__mark", "aria-hidden": "true", children: done && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react9.Check, {}) }),
|
|
2469
2494
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("span", { className: "fds-checklist__text", children: [
|
|
2470
2495
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "fds-checklist__label", children: label }),
|
|
2471
2496
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "fds-checklist__value", children: value })
|
|
@@ -2477,7 +2502,7 @@ var Checklist = Object.assign(ChecklistRoot, { Item: ChecklistItem });
|
|
|
2477
2502
|
// src/components/Drawer/Drawer.tsx
|
|
2478
2503
|
var import_react26 = require("react");
|
|
2479
2504
|
var import_react_dom3 = require("react-dom");
|
|
2480
|
-
var
|
|
2505
|
+
var import_lucide_react10 = require("lucide-react");
|
|
2481
2506
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
2482
2507
|
var FOCUSABLE2 = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
2483
2508
|
function Drawer({ open, onClose, title, description, children, footer, dismissible = true }) {
|
|
@@ -2547,7 +2572,7 @@ function Drawer({ open, onClose, title, description, children, footer, dismissib
|
|
|
2547
2572
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("h2", { id: titleId, className: "fds-drawer__title", children: title }),
|
|
2548
2573
|
description != null && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { id: descriptionId, className: "fds-drawer__description", children: description })
|
|
2549
2574
|
] }),
|
|
2550
|
-
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("button", { type: "button", className: "fds-drawer__close", onClick: onClose, disabled: !dismissible, "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
2575
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("button", { type: "button", className: "fds-drawer__close", onClick: onClose, disabled: !dismissible, "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react10.X, { "aria-hidden": "true" }) })
|
|
2551
2576
|
] }),
|
|
2552
2577
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "fds-drawer__body", children }),
|
|
2553
2578
|
footer != null && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("footer", { className: "fds-drawer__footer", children: footer })
|
|
@@ -2633,6 +2658,316 @@ var PageSkeleton = Object.assign(PageSkeletonRoot, {
|
|
|
2633
2658
|
Form: PageSkeletonForm,
|
|
2634
2659
|
Split: PageSkeletonSplit
|
|
2635
2660
|
});
|
|
2661
|
+
|
|
2662
|
+
// src/components/PreviewCard/PreviewCard.tsx
|
|
2663
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
2664
|
+
function PreviewCardRoot({ as, variant = "default", className, ...rest }) {
|
|
2665
|
+
const Root = as ?? "div";
|
|
2666
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Root, { className: ["fds-preview-card", `fds-preview-card--${variant}`, className].filter(Boolean).join(" "), ...rest });
|
|
2667
|
+
}
|
|
2668
|
+
function PreviewCardPreview({ label, className, children, ...rest }) {
|
|
2669
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: ["fds-preview-card__preview", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2670
|
+
label != null && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "fds-preview-card__label", children: label }),
|
|
2671
|
+
children
|
|
2672
|
+
] });
|
|
2673
|
+
}
|
|
2674
|
+
function PreviewCardTitle({ aside, className, children, ...rest }) {
|
|
2675
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: ["fds-preview-card__title", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2676
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "fds-preview-card__name", children }),
|
|
2677
|
+
aside != null && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "fds-preview-card__aside", children: aside })
|
|
2678
|
+
] });
|
|
2679
|
+
}
|
|
2680
|
+
function part(name) {
|
|
2681
|
+
return function PreviewCardPart({ className, ...rest }) {
|
|
2682
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: [`fds-preview-card__${name}`, className].filter(Boolean).join(" "), ...rest });
|
|
2683
|
+
};
|
|
2684
|
+
}
|
|
2685
|
+
var PreviewCard = Object.assign(PreviewCardRoot, {
|
|
2686
|
+
Preview: PreviewCardPreview,
|
|
2687
|
+
Body: part("body"),
|
|
2688
|
+
Title: PreviewCardTitle,
|
|
2689
|
+
Meta: part("meta"),
|
|
2690
|
+
Footer: part("footer")
|
|
2691
|
+
});
|
|
2692
|
+
|
|
2693
|
+
// src/components/Tile/Tile.tsx
|
|
2694
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
2695
|
+
function Tile({ label, aside, className, children, ...rest }) {
|
|
2696
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("section", { className: ["fds-tile", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2697
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("header", { className: "fds-tile__head", children: [
|
|
2698
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "fds-tile__label", children: label }),
|
|
2699
|
+
aside
|
|
2700
|
+
] }),
|
|
2701
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "fds-tile__body", children })
|
|
2702
|
+
] });
|
|
2703
|
+
}
|
|
2704
|
+
|
|
2705
|
+
// src/components/ListCard/ListCard.tsx
|
|
2706
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
2707
|
+
function ListCardRoot({ title, count, aside, footer, className, children, ...rest }) {
|
|
2708
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("section", { className: ["fds-list-card", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2709
|
+
(title != null || aside != null) && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("header", { className: "fds-list-card__head", children: [
|
|
2710
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("span", { className: "fds-list-card__title", children: [
|
|
2711
|
+
title,
|
|
2712
|
+
count != null && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "fds-list-card__count", children: count })
|
|
2713
|
+
] }),
|
|
2714
|
+
aside != null && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "fds-list-card__aside", children: aside })
|
|
2715
|
+
] }),
|
|
2716
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("ul", { className: "fds-list-card__rows", children }),
|
|
2717
|
+
footer != null && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("footer", { className: "fds-list-card__footer", children: footer })
|
|
2718
|
+
] });
|
|
2719
|
+
}
|
|
2720
|
+
function ListCardRow({ icon, tone = "neutral", title, description, trailing, muted, className, ...rest }) {
|
|
2721
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("li", { className: ["fds-list-card__row", muted ? "fds-list-card__row--muted" : "", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2722
|
+
icon != null && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: `fds-list-card__icon fds-list-card__icon--${tone}`, "aria-hidden": "true", children: icon }),
|
|
2723
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("span", { className: "fds-list-card__text", children: [
|
|
2724
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "fds-list-card__row-title", children: title }),
|
|
2725
|
+
description != null && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "fds-list-card__description", children: description })
|
|
2726
|
+
] }),
|
|
2727
|
+
trailing != null && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "fds-list-card__trailing", children: trailing })
|
|
2728
|
+
] });
|
|
2729
|
+
}
|
|
2730
|
+
var ListCard = Object.assign(ListCardRoot, { Row: ListCardRow });
|
|
2731
|
+
|
|
2732
|
+
// src/components/DescriptionList/DescriptionList.tsx
|
|
2733
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
2734
|
+
function DescriptionList({ title, action, items = [], note, className, children, ...rest }) {
|
|
2735
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("section", { className: ["fds-description-list", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2736
|
+
(title != null || action != null) && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("header", { className: "fds-description-list__head", children: [
|
|
2737
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "fds-description-list__title", children: title }),
|
|
2738
|
+
action != null && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "fds-description-list__action", children: action })
|
|
2739
|
+
] }),
|
|
2740
|
+
items.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("dl", { className: "fds-description-list__items", children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "fds-description-list__item", children: [
|
|
2741
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("dt", { children: item.label }),
|
|
2742
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("dd", { children: item.value })
|
|
2743
|
+
] }, i)) }),
|
|
2744
|
+
children,
|
|
2745
|
+
note != null && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: "fds-description-list__note", children: note })
|
|
2746
|
+
] });
|
|
2747
|
+
}
|
|
2748
|
+
|
|
2749
|
+
// src/components/ColorRamp/ColorRamp.tsx
|
|
2750
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
2751
|
+
function ColorRamp({ colors, size = "md", className, ...rest }) {
|
|
2752
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: ["fds-color-ramp", `fds-color-ramp--${size}`, className].filter(Boolean).join(" "), "aria-hidden": "true", ...rest, children: colors.map((c, i) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "fds-color-ramp__step", style: { "--fds-ramp-color": c } }, i)) });
|
|
2753
|
+
}
|
|
2754
|
+
|
|
2755
|
+
// src/components/SwatchList/SwatchList.tsx
|
|
2756
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
2757
|
+
function SwatchList({ items, className, ...rest }) {
|
|
2758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("ul", { className: ["fds-swatch-list", className].filter(Boolean).join(" "), ...rest, children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("li", { className: "fds-swatch-list__item", children: [
|
|
2759
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
2760
|
+
"span",
|
|
2761
|
+
{
|
|
2762
|
+
className: ["fds-swatch-list__dot", item.color ? "" : "fds-swatch-list__dot--empty"].filter(Boolean).join(" "),
|
|
2763
|
+
style: item.color ? { "--fds-swatch-list-color": item.color } : void 0,
|
|
2764
|
+
"aria-hidden": "true"
|
|
2765
|
+
}
|
|
2766
|
+
),
|
|
2767
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "fds-swatch-list__name", children: item.name }),
|
|
2768
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "fds-swatch-list__value", children: item.value })
|
|
2769
|
+
] }, i)) });
|
|
2770
|
+
}
|
|
2771
|
+
|
|
2772
|
+
// src/components/TypeSpecimen/TypeSpecimen.tsx
|
|
2773
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
2774
|
+
var ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789";
|
|
2775
|
+
function TypeSpecimen({ family, fontFamily, tokens, sample, weights = [], footer, className, ...rest }) {
|
|
2776
|
+
const face = { "--fds-specimen-font": fontFamily };
|
|
2777
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("section", { className: ["fds-type-specimen", className].filter(Boolean).join(" "), style: face, ...rest, children: [
|
|
2778
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("header", { className: "fds-type-specimen__head", children: [
|
|
2779
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "fds-type-specimen__titles", children: [
|
|
2780
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("h3", { className: "fds-type-specimen__family", children: family }),
|
|
2781
|
+
tokens != null && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "fds-type-specimen__tokens", children: tokens })
|
|
2782
|
+
] }),
|
|
2783
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "fds-type-specimen__glyph", "aria-hidden": "true", children: "Aa" })
|
|
2784
|
+
] }),
|
|
2785
|
+
sample != null && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "fds-type-specimen__sample", children: sample }),
|
|
2786
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "fds-type-specimen__alphabet", children: ALPHABET }),
|
|
2787
|
+
weights.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("ul", { className: "fds-type-specimen__weights", children: weights.map((w) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("li", { children: [
|
|
2788
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { style: { fontWeight: w.weight }, children: "Ag" }),
|
|
2789
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("small", { children: w.label })
|
|
2790
|
+
] }, w.label)) }),
|
|
2791
|
+
footer != null && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("footer", { className: "fds-type-specimen__footer", children: footer })
|
|
2792
|
+
] });
|
|
2793
|
+
}
|
|
2794
|
+
function TypeSample({ fontFamily, caption, className, ...rest }) {
|
|
2795
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: ["fds-type-sample", className].filter(Boolean).join(" "), style: { "--fds-specimen-font": fontFamily }, ...rest, children: [
|
|
2796
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "fds-type-sample__glyph", "aria-hidden": "true", children: "Aa" }),
|
|
2797
|
+
caption != null && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "fds-type-sample__caption", children: caption })
|
|
2798
|
+
] });
|
|
2799
|
+
}
|
|
2800
|
+
|
|
2801
|
+
// src/components/TypeScale/TypeScale.tsx
|
|
2802
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
2803
|
+
function TypeScaleRoot({ className, ...rest }) {
|
|
2804
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("ul", { className: ["fds-type-scale", className].filter(Boolean).join(" "), ...rest });
|
|
2805
|
+
}
|
|
2806
|
+
function TypeScaleRow({ name, detail, sampleStyle, sample = "Check every pull request", className, ...rest }) {
|
|
2807
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("li", { className: ["fds-type-scale__row", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2808
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("span", { className: "fds-type-scale__label", children: [
|
|
2809
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "fds-type-scale__name", children: name }),
|
|
2810
|
+
detail != null && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "fds-type-scale__detail", children: detail })
|
|
2811
|
+
] }),
|
|
2812
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "fds-type-scale__sample", style: sampleStyle, children: sample })
|
|
2813
|
+
] });
|
|
2814
|
+
}
|
|
2815
|
+
var TypeScale = Object.assign(TypeScaleRoot, { Row: TypeScaleRow });
|
|
2816
|
+
|
|
2817
|
+
// src/components/MeasureList/MeasureList.tsx
|
|
2818
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
2819
|
+
function MeasureList({ items, max, tone = "accent", className, ...rest }) {
|
|
2820
|
+
const top = max ?? Math.max(1, ...items.map((i) => i.amount));
|
|
2821
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("ul", { className: ["fds-measure-list", `fds-measure-list--${tone}`, className].filter(Boolean).join(" "), ...rest, children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("li", { className: "fds-measure-list__item", children: [
|
|
2822
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "fds-measure-list__name", children: item.name }),
|
|
2823
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "fds-measure-list__value", children: item.value }),
|
|
2824
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "fds-measure-list__track", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "fds-measure-list__bar", style: { "--fds-measure": `${Math.min(100, item.amount / top * 100)}%` } }) })
|
|
2825
|
+
] }, i)) });
|
|
2826
|
+
}
|
|
2827
|
+
|
|
2828
|
+
// src/components/TokenSample/TokenSample.tsx
|
|
2829
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
2830
|
+
function TokenSample({ kind, value, name, detail, className, ...rest }) {
|
|
2831
|
+
const style = { [kind === "radius" ? "--fds-sample-radius" : "--fds-sample-shadow"]: value };
|
|
2832
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: ["fds-token-sample", `fds-token-sample--${kind}`, className].filter(Boolean).join(" "), ...rest, children: [
|
|
2833
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "fds-token-sample__shape", style, "aria-hidden": "true" }),
|
|
2834
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "fds-token-sample__name", children: name }),
|
|
2835
|
+
detail != null && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "fds-token-sample__detail", children: detail })
|
|
2836
|
+
] });
|
|
2837
|
+
}
|
|
2838
|
+
|
|
2839
|
+
// src/components/EasingCurve/EasingCurve.tsx
|
|
2840
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
2841
|
+
var BEZIER = /cubic-bezier\(\s*([-\d.]+)\s*,\s*([-\d.]+)\s*,\s*([-\d.]+)\s*,\s*([-\d.]+)\s*\)/;
|
|
2842
|
+
var W = 120;
|
|
2843
|
+
var H = 72;
|
|
2844
|
+
var PAD = 12;
|
|
2845
|
+
function easingPath(value) {
|
|
2846
|
+
const m = BEZIER.exec(value);
|
|
2847
|
+
const [x1, y1, x2, y2] = m ? m.slice(1).map(Number) : [0, 0, 1, 1];
|
|
2848
|
+
const x = (t) => PAD + t * (W - PAD * 2);
|
|
2849
|
+
const y = (t) => H - PAD - t * (H - PAD * 2);
|
|
2850
|
+
return `M${x(0)},${y(0)} C${x(x1)},${y(y1)} ${x(x2)},${y(y2)} ${x(1)},${y(1)}`;
|
|
2851
|
+
}
|
|
2852
|
+
function EasingCurve({ value, name, className, ...rest }) {
|
|
2853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: ["fds-easing-curve", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2854
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("svg", { className: "fds-easing-curve__plot", viewBox: `0 0 ${W} ${H}`, "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("path", { d: easingPath(value) }) }),
|
|
2855
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "fds-easing-curve__name", children: name }),
|
|
2856
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "fds-easing-curve__value", children: value })
|
|
2857
|
+
] });
|
|
2858
|
+
}
|
|
2859
|
+
|
|
2860
|
+
// src/components/FilterChips/FilterChips.tsx
|
|
2861
|
+
var import_react27 = require("react");
|
|
2862
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
2863
|
+
function FilterChips({ options, value, onChange, "aria-label": ariaLabel, className }) {
|
|
2864
|
+
const refs = (0, import_react27.useRef)([]);
|
|
2865
|
+
const onKeyDown = (e, index) => {
|
|
2866
|
+
const step = e.key === "ArrowRight" || e.key === "ArrowDown" ? 1 : e.key === "ArrowLeft" || e.key === "ArrowUp" ? -1 : 0;
|
|
2867
|
+
if (!step) return;
|
|
2868
|
+
e.preventDefault();
|
|
2869
|
+
const next = (index + step + options.length) % options.length;
|
|
2870
|
+
onChange(options[next].value);
|
|
2871
|
+
refs.current[next]?.focus();
|
|
2872
|
+
};
|
|
2873
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { role: "radiogroup", "aria-label": ariaLabel, className: ["fds-filter-chips", className].filter(Boolean).join(" "), children: options.map((o, i) => {
|
|
2874
|
+
const selected = o.value === value;
|
|
2875
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
|
|
2876
|
+
"button",
|
|
2877
|
+
{
|
|
2878
|
+
ref: (el) => {
|
|
2879
|
+
refs.current[i] = el;
|
|
2880
|
+
},
|
|
2881
|
+
type: "button",
|
|
2882
|
+
role: "radio",
|
|
2883
|
+
"aria-checked": selected,
|
|
2884
|
+
tabIndex: selected ? 0 : -1,
|
|
2885
|
+
className: ["fds-filter-chips__chip", selected ? "fds-filter-chips__chip--selected" : ""].filter(Boolean).join(" "),
|
|
2886
|
+
onClick: () => onChange(o.value),
|
|
2887
|
+
onKeyDown: (e) => onKeyDown(e, i),
|
|
2888
|
+
children: [
|
|
2889
|
+
o.label,
|
|
2890
|
+
o.count != null && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "fds-filter-chips__count", children: o.count })
|
|
2891
|
+
]
|
|
2892
|
+
},
|
|
2893
|
+
o.value
|
|
2894
|
+
);
|
|
2895
|
+
}) });
|
|
2896
|
+
}
|
|
2897
|
+
|
|
2898
|
+
// src/components/Meter/Meter.tsx
|
|
2899
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
2900
|
+
function Meter({ value, max, label, className, ...rest }) {
|
|
2901
|
+
const pct = max > 0 ? Math.min(100, Math.max(0, value / max * 100)) : 0;
|
|
2902
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: ["fds-meter", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2903
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
2904
|
+
"span",
|
|
2905
|
+
{
|
|
2906
|
+
className: "fds-meter__track",
|
|
2907
|
+
role: "meter",
|
|
2908
|
+
"aria-valuemin": 0,
|
|
2909
|
+
"aria-valuemax": max,
|
|
2910
|
+
"aria-valuenow": value,
|
|
2911
|
+
"aria-label": typeof label === "string" ? label : void 0,
|
|
2912
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "fds-meter__fill", style: { "--fds-meter": `${pct}%` } })
|
|
2913
|
+
}
|
|
2914
|
+
),
|
|
2915
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "fds-meter__label", children: label })
|
|
2916
|
+
] });
|
|
2917
|
+
}
|
|
2918
|
+
|
|
2919
|
+
// src/components/ConnectionCard/ConnectionCard.tsx
|
|
2920
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
2921
|
+
function ConnectionCard({ icon, iconTone = "light", title, subtitle, footer, className, children, ...rest }) {
|
|
2922
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("section", { className: ["fds-connection-card", className].filter(Boolean).join(" "), ...rest, children: [
|
|
2923
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("header", { className: "fds-connection-card__head", children: [
|
|
2924
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: `fds-connection-card__icon fds-connection-card__icon--${iconTone}`, "aria-hidden": "true", children: icon }),
|
|
2925
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("span", { className: "fds-connection-card__titles", children: [
|
|
2926
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "fds-connection-card__title", children: title }),
|
|
2927
|
+
subtitle != null && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "fds-connection-card__subtitle", children: subtitle })
|
|
2928
|
+
] })
|
|
2929
|
+
] }),
|
|
2930
|
+
children != null && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "fds-connection-card__body", children }),
|
|
2931
|
+
footer != null && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("footer", { className: "fds-connection-card__footer", children: footer })
|
|
2932
|
+
] });
|
|
2933
|
+
}
|
|
2934
|
+
|
|
2935
|
+
// src/components/ListRow/ListRow.tsx
|
|
2936
|
+
var import_lucide_react11 = require("lucide-react");
|
|
2937
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
2938
|
+
function ListRow({ as, leading, title, description, trailing, className, ...rest }) {
|
|
2939
|
+
const Root = as ?? "button";
|
|
2940
|
+
const extra = Root === "button" ? { type: "button" } : {};
|
|
2941
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Root, { className: ["fds-list-row", className].filter(Boolean).join(" "), ...extra, ...rest, children: [
|
|
2942
|
+
leading != null && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "fds-list-row__leading", children: leading }),
|
|
2943
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("span", { className: "fds-list-row__text", children: [
|
|
2944
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "fds-list-row__title", children: title }),
|
|
2945
|
+
description != null && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "fds-list-row__description", children: description })
|
|
2946
|
+
] }),
|
|
2947
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "fds-list-row__trailing", "aria-hidden": trailing == null || void 0, children: trailing ?? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react11.ChevronRight, {}) })
|
|
2948
|
+
] });
|
|
2949
|
+
}
|
|
2950
|
+
|
|
2951
|
+
// src/components/CodeBlock/CodeBlock.tsx
|
|
2952
|
+
var import_react28 = require("react");
|
|
2953
|
+
var import_lucide_react12 = require("lucide-react");
|
|
2954
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
2955
|
+
function CodeBlock({ code, copyLabel = "Copy", variant = "inline", className, ...rest }) {
|
|
2956
|
+
const [copied, setCopied] = (0, import_react28.useState)(false);
|
|
2957
|
+
(0, import_react28.useEffect)(() => {
|
|
2958
|
+
if (!copied) return;
|
|
2959
|
+
const t = window.setTimeout(() => setCopied(false), 1600);
|
|
2960
|
+
return () => window.clearTimeout(t);
|
|
2961
|
+
}, [copied]);
|
|
2962
|
+
const copy = () => {
|
|
2963
|
+
void navigator.clipboard?.writeText(code).then(() => setCopied(true), () => {
|
|
2964
|
+
});
|
|
2965
|
+
};
|
|
2966
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: ["fds-code-block", `fds-code-block--${variant}`, className].filter(Boolean).join(" "), ...rest, children: [
|
|
2967
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("pre", { className: "fds-code-block__code", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("code", { children: code }) }),
|
|
2968
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("button", { type: "button", className: "fds-code-block__copy", "aria-label": copied ? "Copied" : copyLabel, onClick: copy, children: copied ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react12.Check, { "aria-hidden": "true" }) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react12.Copy, { "aria-hidden": "true" }) })
|
|
2969
|
+
] });
|
|
2970
|
+
}
|
|
2636
2971
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2637
2972
|
0 && (module.exports = {
|
|
2638
2973
|
Accordion,
|
|
@@ -2648,15 +2983,25 @@ var PageSkeleton = Object.assign(PageSkeletonRoot, {
|
|
|
2648
2983
|
Card,
|
|
2649
2984
|
Checkbox,
|
|
2650
2985
|
Checklist,
|
|
2986
|
+
CodeBlock,
|
|
2987
|
+
ColorRamp,
|
|
2988
|
+
ConnectionCard,
|
|
2989
|
+
DescriptionList,
|
|
2651
2990
|
DiffPropertyList,
|
|
2652
2991
|
DiffSection,
|
|
2653
2992
|
Divider,
|
|
2654
2993
|
Drawer,
|
|
2994
|
+
EasingCurve,
|
|
2655
2995
|
EmptyState,
|
|
2996
|
+
FilterChips,
|
|
2656
2997
|
IconButton,
|
|
2657
2998
|
Input,
|
|
2999
|
+
ListCard,
|
|
2658
3000
|
ListLabel,
|
|
3001
|
+
ListRow,
|
|
3002
|
+
MeasureList,
|
|
2659
3003
|
Menu,
|
|
3004
|
+
Meter,
|
|
2660
3005
|
MismatchCard,
|
|
2661
3006
|
Modal,
|
|
2662
3007
|
MultiSelect,
|
|
@@ -2666,6 +3011,7 @@ var PageSkeleton = Object.assign(PageSkeletonRoot, {
|
|
|
2666
3011
|
PageHeader,
|
|
2667
3012
|
PageSkeleton,
|
|
2668
3013
|
Pagination,
|
|
3014
|
+
PreviewCard,
|
|
2669
3015
|
PricingCard,
|
|
2670
3016
|
Radio,
|
|
2671
3017
|
RadioCard,
|
|
@@ -2687,13 +3033,19 @@ var PageSkeleton = Object.assign(PageSkeletonRoot, {
|
|
|
2687
3033
|
StepList,
|
|
2688
3034
|
Stepper,
|
|
2689
3035
|
Swatch,
|
|
3036
|
+
SwatchList,
|
|
2690
3037
|
TabNav,
|
|
2691
3038
|
Table,
|
|
2692
3039
|
Tag,
|
|
3040
|
+
Tile,
|
|
2693
3041
|
Toast,
|
|
2694
3042
|
ToastRegion,
|
|
2695
3043
|
Toggle,
|
|
3044
|
+
TokenSample,
|
|
2696
3045
|
Tooltip,
|
|
3046
|
+
TypeSample,
|
|
3047
|
+
TypeScale,
|
|
3048
|
+
TypeSpecimen,
|
|
2697
3049
|
WorkspaceAvatar,
|
|
2698
3050
|
WorkspaceSwitcher,
|
|
2699
3051
|
breakpoints,
|