@surflane/ui 0.3.0 → 0.5.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/README.md +18 -8
- package/dist/accordion.d.ts +26 -0
- package/dist/accordion.js +27 -0
- package/dist/alert-dialog.d.ts +31 -0
- package/dist/alert-dialog.js +22 -0
- package/dist/app-shell.js +17 -17
- package/dist/{input-extensions.d.ts → autocomplete.d.ts} +4 -42
- package/dist/{input-extensions.js → autocomplete.js} +12 -31
- package/dist/avatar.d.ts +24 -0
- package/dist/avatar.js +24 -0
- package/dist/badge.d.ts +20 -0
- package/dist/badge.js +16 -0
- package/dist/breadcrumbs.d.ts +13 -0
- package/dist/breadcrumbs.js +31 -0
- package/dist/button.d.ts +11 -0
- package/dist/button.js +28 -5
- package/dist/{content.d.ts → card.d.ts} +6 -24
- package/dist/card.js +26 -0
- package/dist/chart.d.ts +19 -0
- package/dist/chart.js +29 -8
- package/dist/checkbox-group.d.ts +2 -0
- package/dist/checkbox-group.js +16 -0
- package/dist/checkbox.d.ts +9 -0
- package/dist/checkbox.js +29 -0
- package/dist/choice-label.d.ts +25 -0
- package/dist/choice-label.js +14 -0
- package/dist/choice.d.ts +7 -0
- package/dist/choice.js +3 -0
- package/dist/code.d.ts +21 -0
- package/dist/{content.js → code.js} +10 -32
- package/dist/collapsible.d.ts +18 -0
- package/dist/collapsible.js +21 -0
- package/dist/{advanced-forms.d.ts → combobox.d.ts} +5 -25
- package/dist/combobox.js +57 -0
- package/dist/{context-overlays.d.ts → context-menu.d.ts} +6 -28
- package/dist/context-menu.js +30 -0
- package/dist/date-picker.js +3 -2
- package/dist/dialog.d.ts +6 -24
- package/dist/dialog.js +9 -21
- package/dist/{panels.d.ts → drawer.d.ts} +3 -34
- package/dist/drawer.js +47 -0
- package/dist/empty-state.d.ts +29 -0
- package/dist/empty-state.js +19 -0
- package/dist/field.d.ts +42 -0
- package/dist/field.js +21 -0
- package/dist/fieldset.d.ts +14 -0
- package/dist/fieldset.js +10 -0
- package/dist/file-upload.d.ts +3 -1
- package/dist/file-upload.js +8 -6
- package/dist/filter-bar.js +6 -6
- package/dist/form.d.ts +2 -0
- package/dist/form.js +7 -0
- package/dist/icon.d.ts +10 -0
- package/dist/icon.js +19 -2
- package/dist/index.d.ts +57 -31
- package/dist/index.js +71 -31
- package/dist/{messages.d.ts → inline-message.d.ts} +0 -28
- package/dist/inline-message.js +23 -0
- package/dist/input.js +3 -3
- package/dist/{foundations.d.ts → layout.d.ts} +5 -23
- package/dist/layout.js +40 -0
- package/dist/link.d.ts +6 -0
- package/dist/link.js +17 -0
- package/dist/list.d.ts +33 -0
- package/dist/list.js +21 -0
- package/dist/markdown.js +7 -7
- package/dist/menu.d.ts +7 -5
- package/dist/menu.js +24 -20
- package/dist/menubar.d.ts +4 -0
- package/dist/menubar.js +4 -0
- package/dist/meter.d.ts +29 -0
- package/dist/meter.js +13 -0
- package/dist/native-select.d.ts +8 -0
- package/dist/native-select.js +54 -0
- package/dist/navigation-menu.js +14 -11
- package/dist/number-field.d.ts +23 -0
- package/dist/number-field.js +33 -0
- package/dist/otp-field.js +4 -4
- package/dist/page-header.d.ts +12 -0
- package/dist/page-header.js +9 -0
- package/dist/pagination.js +4 -5
- package/dist/panel.d.ts +13 -0
- package/dist/panel.js +13 -0
- package/dist/parts.d.ts +22 -1
- package/dist/parts.js +40 -7
- package/dist/popover.d.ts +23 -6
- package/dist/popover.js +17 -7
- package/dist/preview-card.d.ts +29 -0
- package/dist/preview-card.js +27 -0
- package/dist/progress.d.ts +29 -0
- package/dist/progress.js +13 -0
- package/dist/radio-group.d.ts +16 -0
- package/dist/radio-group.js +31 -0
- package/dist/scroll-area.js +4 -5
- package/dist/select.d.ts +8 -8
- package/dist/select.js +19 -53
- package/dist/separator.d.ts +4 -0
- package/dist/separator.js +8 -0
- package/dist/sheet.d.ts +29 -0
- package/dist/sheet.js +39 -0
- package/dist/sizing.js +1 -1
- package/dist/skeleton.d.ts +8 -0
- package/dist/skeleton.js +8 -0
- package/dist/slider.d.ts +40 -0
- package/dist/slider.js +27 -0
- package/dist/spinner.d.ts +13 -0
- package/dist/spinner.js +10 -0
- package/dist/status.d.ts +1 -19
- package/dist/status.js +10 -14
- package/dist/switch.d.ts +13 -0
- package/dist/switch.js +25 -0
- package/dist/syntax-context.d.ts +7 -0
- package/dist/syntax-context.js +4 -0
- package/dist/syntax-highlighter.d.ts +4 -1
- package/dist/syntax-highlighter.js +13 -6
- package/dist/syntax-highlighting.d.ts +8 -0
- package/dist/syntax-highlighting.js +12 -0
- package/dist/{data.d.ts → table.d.ts} +8 -32
- package/dist/table.js +67 -0
- package/dist/tabs.d.ts +29 -0
- package/dist/tabs.js +13 -0
- package/dist/textarea.d.ts +7 -0
- package/dist/textarea.js +12 -0
- package/dist/toast.js +18 -17
- package/dist/toggle-group.d.ts +5 -0
- package/dist/toggle-group.js +7 -0
- package/dist/toggle.d.ts +7 -0
- package/dist/toggle.js +9 -0
- package/dist/{commands.d.ts → toolbar.d.ts} +0 -13
- package/dist/toolbar.js +14 -0
- package/dist/tooltip.d.ts +3 -2
- package/dist/tooltip.js +2 -2
- package/dist/tree.js +4 -2
- package/dist/typography.d.ts +12 -0
- package/dist/typography.js +14 -0
- package/package.json +286 -21
- package/src/all.css +8 -0
- package/src/styles.css +3745 -3629
- package/dist/advanced-forms.js +0 -93
- package/dist/commands.js +0 -27
- package/dist/context-overlays.js +0 -50
- package/dist/data.js +0 -82
- package/dist/feedback.d.ts +0 -76
- package/dist/feedback.js +0 -35
- package/dist/forms.d.ts +0 -91
- package/dist/forms.js +0 -109
- package/dist/foundations.js +0 -55
- package/dist/messages.js +0 -38
- package/dist/navigation.d.ts +0 -107
- package/dist/navigation.js +0 -108
- package/dist/panels.js +0 -99
|
@@ -1,14 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { type ComponentSizeAlias } from './sizing.js';
|
|
3
|
-
import { Toggle as BaseToggle } from '@base-ui/react/toggle';
|
|
4
|
-
import { ToggleGroup as BaseToggleGroup } from '@base-ui/react/toggle-group';
|
|
5
|
-
export declare function Toggle<Value extends string>({ className, size, ref, ...props }: BaseToggle.Props<Value> & {
|
|
6
|
-
size?: ComponentSizeAlias | 'icon';
|
|
7
|
-
ref?: React.Ref<HTMLButtonElement>;
|
|
8
|
-
}): React.JSX.Element;
|
|
9
|
-
export declare function ToggleGroup<Value extends string>({ className, ref, ...props }: BaseToggleGroup.Props<Value> & {
|
|
10
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
11
|
-
}): React.JSX.Element;
|
|
12
2
|
export declare const Toolbar: {
|
|
13
3
|
Root: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/toolbar").ToolbarRootProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
14
4
|
size?: import("./sizing.js").ComponentSize;
|
|
@@ -29,9 +19,6 @@ export declare const Toolbar: {
|
|
|
29
19
|
size?: import("./sizing.js").ComponentSize;
|
|
30
20
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
31
21
|
};
|
|
32
|
-
export declare const Menubar: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/menubar").MenubarProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
33
|
-
size?: import("./sizing.js").ComponentSize;
|
|
34
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
35
22
|
export declare const ToolbarButton: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/toolbar").ToolbarButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref">, "size"> & {
|
|
36
23
|
size?: import("./sizing.js").ComponentSize;
|
|
37
24
|
} & React.RefAttributes<HTMLButtonElement>>, ToolbarGroup: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/toolbar").ToolbarGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
package/dist/toolbar.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { Toolbar as BaseToolbar } from '@base-ui/react/toolbar';
|
|
3
|
+
import { part } from './parts.js';
|
|
4
|
+
export const Toolbar = {
|
|
5
|
+
...BaseToolbar,
|
|
6
|
+
Root: /* @__PURE__ */ part(BaseToolbar.Root, 'pui-toolbar'),
|
|
7
|
+
Group: /* @__PURE__ */ part(BaseToolbar.Group, 'pui-toolbar-group'),
|
|
8
|
+
Button: /* @__PURE__ */ part(BaseToolbar.Button, 'pui-button pui-toolbar-button'),
|
|
9
|
+
Link: /* @__PURE__ */ part(BaseToolbar.Link, 'pui-button pui-toolbar-link'),
|
|
10
|
+
Input: /* @__PURE__ */ part(BaseToolbar.Input, 'pui-input pui-toolbar-input'),
|
|
11
|
+
Separator: /* @__PURE__ */ part(BaseToolbar.Separator, 'pui-toolbar-separator'),
|
|
12
|
+
};
|
|
13
|
+
// Flat names for React Server Components, which cannot dot into client exports.
|
|
14
|
+
export const { Button: ToolbarButton, Group: ToolbarGroup, Input: ToolbarInput, Link: ToolbarLink, Root: ToolbarRoot, Separator: ToolbarSeparator, } = Toolbar;
|
package/dist/tooltip.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { Tooltip as BaseTooltip } from '@base-ui/react/tooltip';
|
|
2
3
|
export declare function TooltipProvider({ delayDuration, skipDelayDuration, children, }: {
|
|
3
4
|
delayDuration?: number;
|
|
4
5
|
skipDelayDuration?: number;
|
|
5
6
|
children: React.ReactNode;
|
|
6
7
|
}): React.JSX.Element;
|
|
7
|
-
export declare function Tooltip({ label, enabled, children, }: {
|
|
8
|
+
export declare function Tooltip({ label, enabled, side, align, sideOffset, children, }: {
|
|
8
9
|
label: string;
|
|
9
10
|
enabled?: boolean;
|
|
10
11
|
children: React.ReactElement;
|
|
11
|
-
}): React.JSX.Element;
|
|
12
|
+
} & Pick<React.ComponentPropsWithoutRef<typeof BaseTooltip.Positioner>, 'side' | 'align' | 'sideOffset'>): React.JSX.Element;
|
package/dist/tooltip.js
CHANGED
|
@@ -5,9 +5,9 @@ import { Tooltip as BaseTooltip } from '@base-ui/react/tooltip';
|
|
|
5
5
|
export function TooltipProvider({ delayDuration = 150, skipDelayDuration = 300, children, }) {
|
|
6
6
|
return (_jsx(BaseTooltip.Provider, { delay: delayDuration, closeDelay: 0, timeout: skipDelayDuration, children: children }));
|
|
7
7
|
}
|
|
8
|
-
export function Tooltip({ label, enabled = true, children, }) {
|
|
8
|
+
export function Tooltip({ label, enabled = true, side = 'right', align, sideOffset = 10, children, }) {
|
|
9
9
|
const scheme = useComponentSize();
|
|
10
10
|
if (!enabled)
|
|
11
11
|
return children;
|
|
12
|
-
return (_jsxs(BaseTooltip.Root, { children: [_jsx(BaseTooltip.Trigger, { render: children }), _jsx(BaseTooltip.Portal, { children: _jsx(BaseTooltip.Positioner, { side:
|
|
12
|
+
return (_jsxs(BaseTooltip.Root, { children: [_jsx(BaseTooltip.Trigger, { render: children }), _jsx(BaseTooltip.Portal, { children: _jsx(BaseTooltip.Positioner, { side: side, align: align, sideOffset: sideOffset, collisionPadding: 8, className: 'pui-positioner pui-tooltip-positioner', children: _jsx(BaseTooltip.Popup, { className: 'pui-tooltip', "data-ui-size": scheme, children: label }) }) })] }));
|
|
13
13
|
}
|
package/dist/tree.js
CHANGED
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { createElement as _createElement } from "react";
|
|
4
4
|
import * as React from 'react';
|
|
5
|
+
import { Icon } from './icon.js';
|
|
5
6
|
import { useComponentSize } from './sizing.js';
|
|
6
7
|
import { buildProxiedInstance, syncDataLoaderFeature, } from '@headless-tree/core';
|
|
7
8
|
import { useTree } from '@headless-tree/react';
|
|
8
9
|
import { defaultRangeExtractor, useVirtualizer, } from '@tanstack/react-virtual';
|
|
9
10
|
import { ScrollArea } from './scroll-area.js';
|
|
11
|
+
import { cx } from './parts.js';
|
|
10
12
|
const normalize = (text) => text.normalize('NFKC').toLocaleLowerCase();
|
|
11
13
|
/** Loaded, immutable hierarchy. Remote loading, permission checks and mutations remain caller-owned. */
|
|
12
14
|
export function Tree({ nodes, label, expandedIds, defaultExpandedIds = [], onExpandedIdsChange, selectedIds, defaultSelectedIds = [], onSelectedIdsChange, selectionMode = 'single', height = 320, rowHeight: explicitRowHeight, size, virtualized = true, emptyLabel = 'No items.', dir, className, }) {
|
|
@@ -271,7 +273,7 @@ export function Tree({ nodes, label, expandedIds, defaultExpandedIds = [], onExp
|
|
|
271
273
|
.getVirtualItems()
|
|
272
274
|
.map((row) => ({ index: row.index, start: row.start }))
|
|
273
275
|
: items.map((_, index) => ({ index, start: index * rowHeight }));
|
|
274
|
-
return (_jsx(ScrollArea, { orientation: 'vertical', label: `${label} scroll area`, tabIndex: -1, ref: viewport, scrollChain: 'contain', rootClassName:
|
|
276
|
+
return (_jsx(ScrollArea, { orientation: 'vertical', label: `${label} scroll area`, tabIndex: -1, ref: viewport, scrollChain: 'contain', rootClassName: cx('pui-tree-scroll', className), dir: dir, rootStyle: { blockSize: height, direction: dir }, className: 'pui-tree-viewport', children: items.length ? (_jsx("div", { ...containerProps, ref: (element) => {
|
|
275
277
|
container.current = element;
|
|
276
278
|
containerProps.ref(element);
|
|
277
279
|
}, dir: dir, className: 'pui-tree', "data-ui-size": scheme, "aria-multiselectable": selectionMode === 'multiple' || undefined, onKeyDown: keydown, onFocusCapture: () => {
|
|
@@ -305,7 +307,7 @@ export function Tree({ nodes, label, expandedIds, defaultExpandedIds = [], onExp
|
|
|
305
307
|
item.collapse();
|
|
306
308
|
else
|
|
307
309
|
item.expand();
|
|
308
|
-
}, children: _jsx(
|
|
310
|
+
}, children: _jsx(Icon, { name: 'chevron-forward', "data-expanded": item.isExpanded() || undefined }) })) : (_jsx("span", { className: 'pui-tree-leaf', "aria-hidden": 'true' })),
|
|
309
311
|
_jsx("span", { className: 'pui-tree-label', children: node.label })));
|
|
310
312
|
}) })) : (_jsx("div", { role: 'status', className: 'pui-tree-empty', children: emptyLabel })) }));
|
|
311
313
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare function Heading({ level, size, className, ...props }: React.HTMLAttributes<HTMLHeadingElement> & {
|
|
3
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
4
|
+
size?: 'display' | 'title' | 'page' | 'section' | 'subsection' | 'workspace' | 'document';
|
|
5
|
+
}): React.JSX.Element;
|
|
6
|
+
export declare function Text({ as: Tag, variant, color, weight, className, ...props }: React.HTMLAttributes<HTMLElement> & {
|
|
7
|
+
as?: 'p' | 'span' | 'div';
|
|
8
|
+
variant?: 'body' | 'reading' | 'table' | 'caption' | 'label' | 'mono' | 'metric';
|
|
9
|
+
color?: 'primary' | 'secondary' | 'muted';
|
|
10
|
+
weight?: 'regular' | 'medium';
|
|
11
|
+
}): React.JSX.Element;
|
|
12
|
+
export declare const Prose: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { cx } from './parts.js';
|
|
5
|
+
export function Heading({ level = 2, size = 'section', className, ...props }) {
|
|
6
|
+
const Tag = `h${level}`;
|
|
7
|
+
return (_jsx(Tag, { ...props, className: cx('pui-heading', className), "data-size": size }));
|
|
8
|
+
}
|
|
9
|
+
export function Text({ as: Tag = 'p', variant = 'body', color = 'primary', weight = 'regular', className, ...props }) {
|
|
10
|
+
return (_jsx(Tag, { ...props, className: cx('pui-text', className), "data-variant": variant, "data-color": color, "data-weight": weight }));
|
|
11
|
+
}
|
|
12
|
+
export const Prose = /* @__PURE__ */ React.forwardRef(function Prose({ className, ...props }, ref) {
|
|
13
|
+
return _jsx("div", { ...props, ref: ref, className: cx('pui-prose', className) });
|
|
14
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@surflane/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Surflane React components built on Base UI, with data, chart, code and Markdown components.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"design-system",
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"files": [
|
|
30
30
|
"dist",
|
|
31
31
|
"src/styles.css",
|
|
32
|
+
"src/all.css",
|
|
32
33
|
"LICENSE-MIT",
|
|
33
34
|
"LICENSE-APACHE"
|
|
34
35
|
],
|
|
@@ -38,13 +39,14 @@
|
|
|
38
39
|
"import": "./dist/index.js"
|
|
39
40
|
},
|
|
40
41
|
"./styles.css": "./src/styles.css",
|
|
42
|
+
"./all.css": "./src/all.css",
|
|
41
43
|
"./button": {
|
|
42
44
|
"types": "./dist/button.d.ts",
|
|
43
45
|
"import": "./dist/button.js"
|
|
44
46
|
},
|
|
45
|
-
"./
|
|
46
|
-
"types": "./dist/
|
|
47
|
-
"import": "./dist/
|
|
47
|
+
"./toolbar": {
|
|
48
|
+
"types": "./dist/toolbar.d.ts",
|
|
49
|
+
"import": "./dist/toolbar.js"
|
|
48
50
|
},
|
|
49
51
|
"./input": {
|
|
50
52
|
"types": "./dist/input.d.ts",
|
|
@@ -54,45 +56,313 @@
|
|
|
54
56
|
"types": "./dist/select.d.ts",
|
|
55
57
|
"import": "./dist/select.js"
|
|
56
58
|
},
|
|
59
|
+
"./native-select": {
|
|
60
|
+
"types": "./dist/native-select.d.ts",
|
|
61
|
+
"import": "./dist/native-select.js"
|
|
62
|
+
},
|
|
63
|
+
"./field": {
|
|
64
|
+
"types": "./dist/field.d.ts",
|
|
65
|
+
"import": "./dist/field.js"
|
|
66
|
+
},
|
|
67
|
+
"./fieldset": {
|
|
68
|
+
"types": "./dist/fieldset.d.ts",
|
|
69
|
+
"import": "./dist/fieldset.js"
|
|
70
|
+
},
|
|
71
|
+
"./form": {
|
|
72
|
+
"types": "./dist/form.d.ts",
|
|
73
|
+
"import": "./dist/form.js"
|
|
74
|
+
},
|
|
75
|
+
"./textarea": {
|
|
76
|
+
"types": "./dist/textarea.d.ts",
|
|
77
|
+
"import": "./dist/textarea.js"
|
|
78
|
+
},
|
|
79
|
+
"./combobox": {
|
|
80
|
+
"types": "./dist/combobox.d.ts",
|
|
81
|
+
"import": "./dist/combobox.js"
|
|
82
|
+
},
|
|
83
|
+
"./autocomplete": {
|
|
84
|
+
"types": "./dist/autocomplete.d.ts",
|
|
85
|
+
"import": "./dist/autocomplete.js"
|
|
86
|
+
},
|
|
87
|
+
"./number-field": {
|
|
88
|
+
"types": "./dist/number-field.d.ts",
|
|
89
|
+
"import": "./dist/number-field.js"
|
|
90
|
+
},
|
|
91
|
+
"./slider": {
|
|
92
|
+
"types": "./dist/slider.d.ts",
|
|
93
|
+
"import": "./dist/slider.js"
|
|
94
|
+
},
|
|
95
|
+
"./otp-field": {
|
|
96
|
+
"types": "./dist/otp-field.d.ts",
|
|
97
|
+
"import": "./dist/otp-field.js"
|
|
98
|
+
},
|
|
99
|
+
"./date-picker": {
|
|
100
|
+
"types": "./dist/date-picker.d.ts",
|
|
101
|
+
"import": "./dist/date-picker.js"
|
|
102
|
+
},
|
|
103
|
+
"./file-upload": {
|
|
104
|
+
"types": "./dist/file-upload.d.ts",
|
|
105
|
+
"import": "./dist/file-upload.js"
|
|
106
|
+
},
|
|
107
|
+
"./checkbox": {
|
|
108
|
+
"types": "./dist/checkbox.d.ts",
|
|
109
|
+
"import": "./dist/checkbox.js"
|
|
110
|
+
},
|
|
111
|
+
"./checkbox-group": {
|
|
112
|
+
"types": "./dist/checkbox-group.d.ts",
|
|
113
|
+
"import": "./dist/checkbox-group.js"
|
|
114
|
+
},
|
|
115
|
+
"./radio-group": {
|
|
116
|
+
"types": "./dist/radio-group.d.ts",
|
|
117
|
+
"import": "./dist/radio-group.js"
|
|
118
|
+
},
|
|
119
|
+
"./switch": {
|
|
120
|
+
"types": "./dist/switch.d.ts",
|
|
121
|
+
"import": "./dist/switch.js"
|
|
122
|
+
},
|
|
123
|
+
"./toggle": {
|
|
124
|
+
"types": "./dist/toggle.d.ts",
|
|
125
|
+
"import": "./dist/toggle.js"
|
|
126
|
+
},
|
|
127
|
+
"./toggle-group": {
|
|
128
|
+
"types": "./dist/toggle-group.d.ts",
|
|
129
|
+
"import": "./dist/toggle-group.js"
|
|
130
|
+
},
|
|
131
|
+
"./choice-label": {
|
|
132
|
+
"types": "./dist/choice-label.d.ts",
|
|
133
|
+
"import": "./dist/choice-label.js"
|
|
134
|
+
},
|
|
57
135
|
"./popover": {
|
|
58
136
|
"types": "./dist/popover.d.ts",
|
|
59
137
|
"import": "./dist/popover.js"
|
|
60
138
|
},
|
|
139
|
+
"./menu": {
|
|
140
|
+
"types": "./dist/menu.d.ts",
|
|
141
|
+
"import": "./dist/menu.js"
|
|
142
|
+
},
|
|
143
|
+
"./context-menu": {
|
|
144
|
+
"types": "./dist/context-menu.d.ts",
|
|
145
|
+
"import": "./dist/context-menu.js"
|
|
146
|
+
},
|
|
61
147
|
"./tooltip": {
|
|
62
148
|
"types": "./dist/tooltip.d.ts",
|
|
63
149
|
"import": "./dist/tooltip.js"
|
|
64
150
|
},
|
|
151
|
+
"./preview-card": {
|
|
152
|
+
"types": "./dist/preview-card.d.ts",
|
|
153
|
+
"import": "./dist/preview-card.js"
|
|
154
|
+
},
|
|
65
155
|
"./dialog": {
|
|
66
156
|
"types": "./dist/dialog.d.ts",
|
|
67
157
|
"import": "./dist/dialog.js"
|
|
68
158
|
},
|
|
69
|
-
"./
|
|
70
|
-
"types": "./dist/
|
|
71
|
-
"import": "./dist/
|
|
159
|
+
"./alert-dialog": {
|
|
160
|
+
"types": "./dist/alert-dialog.d.ts",
|
|
161
|
+
"import": "./dist/alert-dialog.js"
|
|
72
162
|
},
|
|
73
|
-
"./
|
|
74
|
-
"types": "./dist/
|
|
75
|
-
"import": "./dist/
|
|
163
|
+
"./sheet": {
|
|
164
|
+
"types": "./dist/sheet.d.ts",
|
|
165
|
+
"import": "./dist/sheet.js"
|
|
76
166
|
},
|
|
77
|
-
"./
|
|
78
|
-
"types": "./dist/
|
|
79
|
-
"import": "./dist/
|
|
167
|
+
"./drawer": {
|
|
168
|
+
"types": "./dist/drawer.d.ts",
|
|
169
|
+
"import": "./dist/drawer.js"
|
|
170
|
+
},
|
|
171
|
+
"./tabs": {
|
|
172
|
+
"types": "./dist/tabs.d.ts",
|
|
173
|
+
"import": "./dist/tabs.js"
|
|
174
|
+
},
|
|
175
|
+
"./accordion": {
|
|
176
|
+
"types": "./dist/accordion.d.ts",
|
|
177
|
+
"import": "./dist/accordion.js"
|
|
178
|
+
},
|
|
179
|
+
"./collapsible": {
|
|
180
|
+
"types": "./dist/collapsible.d.ts",
|
|
181
|
+
"import": "./dist/collapsible.js"
|
|
182
|
+
},
|
|
183
|
+
"./navigation-menu": {
|
|
184
|
+
"types": "./dist/navigation-menu.d.ts",
|
|
185
|
+
"import": "./dist/navigation-menu.js"
|
|
186
|
+
},
|
|
187
|
+
"./menubar": {
|
|
188
|
+
"types": "./dist/menubar.d.ts",
|
|
189
|
+
"import": "./dist/menubar.js"
|
|
190
|
+
},
|
|
191
|
+
"./link": {
|
|
192
|
+
"types": "./dist/link.d.ts",
|
|
193
|
+
"import": "./dist/link.js"
|
|
194
|
+
},
|
|
195
|
+
"./breadcrumbs": {
|
|
196
|
+
"types": "./dist/breadcrumbs.d.ts",
|
|
197
|
+
"import": "./dist/breadcrumbs.js"
|
|
198
|
+
},
|
|
199
|
+
"./pagination": {
|
|
200
|
+
"types": "./dist/pagination.d.ts",
|
|
201
|
+
"import": "./dist/pagination.js"
|
|
202
|
+
},
|
|
203
|
+
"./avatar": {
|
|
204
|
+
"types": "./dist/avatar.d.ts",
|
|
205
|
+
"import": "./dist/avatar.js"
|
|
206
|
+
},
|
|
207
|
+
"./badge": {
|
|
208
|
+
"types": "./dist/badge.d.ts",
|
|
209
|
+
"import": "./dist/badge.js"
|
|
210
|
+
},
|
|
211
|
+
"./card": {
|
|
212
|
+
"types": "./dist/card.d.ts",
|
|
213
|
+
"import": "./dist/card.js"
|
|
214
|
+
},
|
|
215
|
+
"./table": {
|
|
216
|
+
"types": "./dist/table.d.ts",
|
|
217
|
+
"import": "./dist/table.js"
|
|
218
|
+
},
|
|
219
|
+
"./code": {
|
|
220
|
+
"types": "./dist/code.d.ts",
|
|
221
|
+
"import": "./dist/code.js"
|
|
80
222
|
},
|
|
81
223
|
"./syntax-highlighter": {
|
|
82
224
|
"types": "./dist/syntax-highlighter.d.ts",
|
|
83
225
|
"import": "./dist/syntax-highlighter.js"
|
|
84
226
|
},
|
|
227
|
+
"./syntax-highlighting": {
|
|
228
|
+
"types": "./dist/syntax-highlighting.d.ts",
|
|
229
|
+
"import": "./dist/syntax-highlighting.js"
|
|
230
|
+
},
|
|
231
|
+
"./markdown": {
|
|
232
|
+
"types": "./dist/markdown.d.ts",
|
|
233
|
+
"import": "./dist/markdown.js"
|
|
234
|
+
},
|
|
235
|
+
"./list": {
|
|
236
|
+
"types": "./dist/list.d.ts",
|
|
237
|
+
"import": "./dist/list.js"
|
|
238
|
+
},
|
|
239
|
+
"./tree": {
|
|
240
|
+
"types": "./dist/tree.d.ts",
|
|
241
|
+
"import": "./dist/tree.js"
|
|
242
|
+
},
|
|
243
|
+
"./chart": {
|
|
244
|
+
"types": "./dist/chart.d.ts",
|
|
245
|
+
"import": "./dist/chart.js"
|
|
246
|
+
},
|
|
247
|
+
"./scroll-area": {
|
|
248
|
+
"types": "./dist/scroll-area.d.ts",
|
|
249
|
+
"import": "./dist/scroll-area.js"
|
|
250
|
+
},
|
|
251
|
+
"./separator": {
|
|
252
|
+
"types": "./dist/separator.d.ts",
|
|
253
|
+
"import": "./dist/separator.js"
|
|
254
|
+
},
|
|
255
|
+
"./progress": {
|
|
256
|
+
"types": "./dist/progress.d.ts",
|
|
257
|
+
"import": "./dist/progress.js"
|
|
258
|
+
},
|
|
259
|
+
"./meter": {
|
|
260
|
+
"types": "./dist/meter.d.ts",
|
|
261
|
+
"import": "./dist/meter.js"
|
|
262
|
+
},
|
|
263
|
+
"./toast": {
|
|
264
|
+
"types": "./dist/toast.d.ts",
|
|
265
|
+
"import": "./dist/toast.js"
|
|
266
|
+
},
|
|
267
|
+
"./inline-message": {
|
|
268
|
+
"types": "./dist/inline-message.d.ts",
|
|
269
|
+
"import": "./dist/inline-message.js"
|
|
270
|
+
},
|
|
271
|
+
"./spinner": {
|
|
272
|
+
"types": "./dist/spinner.d.ts",
|
|
273
|
+
"import": "./dist/spinner.js"
|
|
274
|
+
},
|
|
275
|
+
"./skeleton": {
|
|
276
|
+
"types": "./dist/skeleton.d.ts",
|
|
277
|
+
"import": "./dist/skeleton.js"
|
|
278
|
+
},
|
|
279
|
+
"./empty-state": {
|
|
280
|
+
"types": "./dist/empty-state.d.ts",
|
|
281
|
+
"import": "./dist/empty-state.js"
|
|
282
|
+
},
|
|
283
|
+
"./layout": {
|
|
284
|
+
"types": "./dist/layout.d.ts",
|
|
285
|
+
"import": "./dist/layout.js"
|
|
286
|
+
},
|
|
287
|
+
"./typography": {
|
|
288
|
+
"types": "./dist/typography.d.ts",
|
|
289
|
+
"import": "./dist/typography.js"
|
|
290
|
+
},
|
|
291
|
+
"./icon": {
|
|
292
|
+
"types": "./dist/icon.d.ts",
|
|
293
|
+
"import": "./dist/icon.js"
|
|
294
|
+
},
|
|
295
|
+
"./sizing": {
|
|
296
|
+
"types": "./dist/sizing.d.ts",
|
|
297
|
+
"import": "./dist/sizing.js"
|
|
298
|
+
},
|
|
299
|
+
"./slot": {
|
|
300
|
+
"types": "./dist/slot.d.ts",
|
|
301
|
+
"import": "./dist/slot.js"
|
|
302
|
+
},
|
|
303
|
+
"./app-shell": {
|
|
304
|
+
"types": "./dist/app-shell.d.ts",
|
|
305
|
+
"import": "./dist/app-shell.js"
|
|
306
|
+
},
|
|
307
|
+
"./page-header": {
|
|
308
|
+
"types": "./dist/page-header.d.ts",
|
|
309
|
+
"import": "./dist/page-header.js"
|
|
310
|
+
},
|
|
311
|
+
"./filter-bar": {
|
|
312
|
+
"types": "./dist/filter-bar.d.ts",
|
|
313
|
+
"import": "./dist/filter-bar.js"
|
|
314
|
+
},
|
|
85
315
|
"./package.json": "./package.json"
|
|
86
316
|
},
|
|
87
317
|
"scripts": {
|
|
88
|
-
"build": "tsc -p tsconfig.json",
|
|
318
|
+
"build": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\" && tsc -p tsconfig.json",
|
|
89
319
|
"prepack": "npm run build"
|
|
90
320
|
},
|
|
91
321
|
"dependencies": {
|
|
92
|
-
"@base-ui/react": "1.9.0"
|
|
322
|
+
"@base-ui/react": "1.9.0"
|
|
323
|
+
},
|
|
324
|
+
"peerDependencies": {
|
|
325
|
+
"@headless-tree/core": "^1.8.0",
|
|
326
|
+
"@headless-tree/react": "^1.8.0",
|
|
327
|
+
"@surflane/design-tokens": "^0.5.0",
|
|
328
|
+
"@tanstack/react-virtual": "^3.14.21",
|
|
329
|
+
"react": "^19.0.0",
|
|
330
|
+
"react-aria-components": "^1.22.1",
|
|
331
|
+
"react-dom": "^19.0.0",
|
|
332
|
+
"react-markdown": "^10.1.0",
|
|
333
|
+
"recharts": "^3.10.1",
|
|
334
|
+
"remark-gfm": "^4.0.1",
|
|
335
|
+
"shiki": "^4.5.0"
|
|
336
|
+
},
|
|
337
|
+
"peerDependenciesMeta": {
|
|
338
|
+
"@headless-tree/core": {
|
|
339
|
+
"optional": true
|
|
340
|
+
},
|
|
341
|
+
"@headless-tree/react": {
|
|
342
|
+
"optional": true
|
|
343
|
+
},
|
|
344
|
+
"@tanstack/react-virtual": {
|
|
345
|
+
"optional": true
|
|
346
|
+
},
|
|
347
|
+
"react-aria-components": {
|
|
348
|
+
"optional": true
|
|
349
|
+
},
|
|
350
|
+
"react-markdown": {
|
|
351
|
+
"optional": true
|
|
352
|
+
},
|
|
353
|
+
"recharts": {
|
|
354
|
+
"optional": true
|
|
355
|
+
},
|
|
356
|
+
"remark-gfm": {
|
|
357
|
+
"optional": true
|
|
358
|
+
},
|
|
359
|
+
"shiki": {
|
|
360
|
+
"optional": true
|
|
361
|
+
}
|
|
362
|
+
},
|
|
363
|
+
"devDependencies": {
|
|
93
364
|
"@headless-tree/core": "1.8.0",
|
|
94
365
|
"@headless-tree/react": "1.8.0",
|
|
95
|
-
"@internationalized/date": "3.12.4",
|
|
96
366
|
"@tanstack/react-virtual": "3.14.21",
|
|
97
367
|
"react-aria-components": "1.22.1",
|
|
98
368
|
"react-markdown": "10.1.0",
|
|
@@ -100,11 +370,6 @@
|
|
|
100
370
|
"remark-gfm": "4.0.1",
|
|
101
371
|
"shiki": "4.5.0"
|
|
102
372
|
},
|
|
103
|
-
"peerDependencies": {
|
|
104
|
-
"@surflane/design-tokens": "^0.3.0",
|
|
105
|
-
"react": "^19.0.0",
|
|
106
|
-
"react-dom": "^19.0.0"
|
|
107
|
-
},
|
|
108
373
|
"publishConfig": {
|
|
109
374
|
"access": "public"
|
|
110
375
|
}
|
package/src/all.css
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/* Every Surflane stylesheet in one import, in the recommended order: tokens, controls,
|
|
2
|
+
* composition, document typography and components. Each file keeps its cascade layer. */
|
|
3
|
+
@layer surflane.tokens, surflane.themes, surflane.base, surflane.components;
|
|
4
|
+
@import '@surflane/design-tokens/tokens.css';
|
|
5
|
+
@import '@surflane/design-tokens/controls.css';
|
|
6
|
+
@import '@surflane/design-tokens/foundations.css';
|
|
7
|
+
@import '@surflane/design-tokens/typography.css';
|
|
8
|
+
@import './styles.css';
|