@surflane/ui 0.0.0-stage → 0.1.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/LICENSE-APACHE +202 -0
- package/LICENSE-MIT +18 -0
- package/README.md +55 -2
- package/dist/advanced-forms.d.ts +115 -0
- package/dist/advanced-forms.js +93 -0
- package/dist/app-shell.d.ts +23 -0
- package/dist/app-shell.js +29 -0
- package/dist/button.d.ts +11 -0
- package/dist/button.js +16 -0
- package/dist/chart.d.ts +48 -0
- package/dist/chart.js +124 -0
- package/dist/commands.d.ts +47 -0
- package/dist/commands.js +27 -0
- package/dist/content.d.ts +59 -0
- package/dist/content.js +66 -0
- package/dist/context-overlays.d.ts +95 -0
- package/dist/context-overlays.js +50 -0
- package/dist/data.d.ts +95 -0
- package/dist/data.js +40 -0
- package/dist/date-picker.d.ts +23 -0
- package/dist/date-picker.js +39 -0
- package/dist/dialog-focus.d.ts +5 -0
- package/dist/dialog-focus.js +35 -0
- package/dist/dialog.d.ts +59 -0
- package/dist/dialog.js +49 -0
- package/dist/feedback.d.ts +76 -0
- package/dist/feedback.js +35 -0
- package/dist/file-upload.d.ts +77 -0
- package/dist/file-upload.js +343 -0
- package/dist/filter-bar.d.ts +17 -0
- package/dist/filter-bar.js +23 -0
- package/dist/form-state.d.ts +5 -0
- package/dist/form-state.js +63 -0
- package/dist/forms.d.ts +91 -0
- package/dist/forms.js +109 -0
- package/dist/foundations.d.ts +51 -0
- package/dist/foundations.js +55 -0
- package/dist/icon.d.ts +37 -0
- package/dist/icon.js +28 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.js +38 -0
- package/dist/input-extensions.d.ts +117 -0
- package/dist/input-extensions.js +64 -0
- package/dist/input.d.ts +7 -0
- package/dist/input.js +10 -0
- package/dist/markdown.d.ts +15 -0
- package/dist/markdown.js +121 -0
- package/dist/menu.d.ts +79 -0
- package/dist/menu.js +44 -0
- package/dist/messages.d.ts +63 -0
- package/dist/messages.js +38 -0
- package/dist/navigation-menu.d.ts +52 -0
- package/dist/navigation-menu.js +31 -0
- package/dist/navigation.d.ts +107 -0
- package/dist/navigation.js +108 -0
- package/dist/otp-field.d.ts +12 -0
- package/dist/otp-field.js +46 -0
- package/dist/pagination.d.ts +23 -0
- package/dist/pagination.js +44 -0
- package/dist/panels.d.ts +66 -0
- package/dist/panels.js +99 -0
- package/dist/parts.d.ts +9 -0
- package/dist/parts.js +22 -0
- package/dist/popover.d.ts +21 -0
- package/dist/popover.js +13 -0
- package/dist/scroll-area.d.ts +8 -0
- package/dist/scroll-area.js +39 -0
- package/dist/select.d.ts +33 -0
- package/dist/select.js +97 -0
- package/dist/sizing.d.ts +13 -0
- package/dist/sizing.js +23 -0
- package/dist/slot.d.ts +2 -0
- package/dist/slot.js +10 -0
- package/dist/status.d.ts +22 -0
- package/dist/status.js +17 -0
- package/dist/syntax-engine.d.ts +5 -0
- package/dist/syntax-engine.js +129 -0
- package/dist/syntax-highlighter.d.ts +17 -0
- package/dist/syntax-highlighter.js +64 -0
- package/dist/toast.d.ts +59 -0
- package/dist/toast.js +99 -0
- package/dist/tone-transition.d.ts +4 -0
- package/dist/tone-transition.js +81 -0
- package/dist/tooltip.d.ts +11 -0
- package/dist/tooltip.js +13 -0
- package/dist/tree.d.ts +28 -0
- package/dist/tree.js +311 -0
- package/package.json +109 -4
- package/src/styles.css +3708 -0
package/dist/forms.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { useComponentSize } from "./sizing.js";
|
|
5
|
+
import { Field as BaseField } from "@base-ui/react/field";
|
|
6
|
+
import { Fieldset as BaseFieldset } from "@base-ui/react/fieldset";
|
|
7
|
+
import { Form as BaseForm } from "@base-ui/react/form";
|
|
8
|
+
import { Checkbox as BaseCheckbox } from "@base-ui/react/checkbox";
|
|
9
|
+
import { CheckboxGroup as BaseCheckboxGroup } from "@base-ui/react/checkbox-group";
|
|
10
|
+
import { Radio as BaseRadio } from "@base-ui/react/radio";
|
|
11
|
+
import { RadioGroup as BaseRadioGroup } from "@base-ui/react/radio-group";
|
|
12
|
+
import { Switch as BaseSwitch } from "@base-ui/react/switch";
|
|
13
|
+
const ChoiceResetPaint = React.createContext(0);
|
|
14
|
+
import { skin, part } from "./parts.js";
|
|
15
|
+
const FieldRoot = part(BaseField.Root, "pui-field");
|
|
16
|
+
const FieldLabel = part(BaseField.Label, "pui-field-label");
|
|
17
|
+
const FieldControl = part(BaseField.Control, "pui-input");
|
|
18
|
+
const FieldDescription = part(BaseField.Description, "pui-field-description");
|
|
19
|
+
const FieldError = part(BaseField.Error, "pui-field-error");
|
|
20
|
+
const FieldItem = part(BaseField.Item, "pui-field-item");
|
|
21
|
+
export const Field = {
|
|
22
|
+
...BaseField,
|
|
23
|
+
Root: FieldRoot,
|
|
24
|
+
Label: FieldLabel,
|
|
25
|
+
Control: FieldControl,
|
|
26
|
+
Description: FieldDescription,
|
|
27
|
+
Error: FieldError,
|
|
28
|
+
Item: FieldItem,
|
|
29
|
+
};
|
|
30
|
+
export const Fieldset = {
|
|
31
|
+
...BaseFieldset,
|
|
32
|
+
Root: part(BaseFieldset.Root, "pui-fieldset"),
|
|
33
|
+
Legend: part(BaseFieldset.Legend, "pui-fieldset-legend"),
|
|
34
|
+
};
|
|
35
|
+
export function Form({ className, ...props }) {
|
|
36
|
+
return (_jsx(BaseForm, { ...props, className: skin("pui-form", className) }));
|
|
37
|
+
}
|
|
38
|
+
export const Textarea = React.forwardRef(function Textarea({ className, size, ...props }, ref) {
|
|
39
|
+
const scheme = useComponentSize(size);
|
|
40
|
+
return (_jsx("textarea", { "data-ui-size": scheme, ...props, ref: ref, className: ["pui-input pui-textarea", className]
|
|
41
|
+
.filter(Boolean)
|
|
42
|
+
.join(" ") }));
|
|
43
|
+
});
|
|
44
|
+
import { useRootRef, useResetValue } from "./form-state.js";
|
|
45
|
+
const CheckboxRoot = React.forwardRef(function CheckboxRoot({ checked, defaultChecked = false, onCheckedChange, className, form, ...props }, ref) {
|
|
46
|
+
React.useContext(ChoiceResetPaint);
|
|
47
|
+
const [element, attach] = useRootRef(ref);
|
|
48
|
+
const [selected, setSelected] = useResetValue(checked, defaultChecked, element, form);
|
|
49
|
+
return (_jsx(BaseCheckbox.Root, { ...props, form: form, ref: attach, checked: selected, className: skin("pui-checkbox", className), onCheckedChange: (next, event) => {
|
|
50
|
+
onCheckedChange?.(next, event);
|
|
51
|
+
if (checked === undefined && !event.isCanceled)
|
|
52
|
+
setSelected(next);
|
|
53
|
+
} }));
|
|
54
|
+
});
|
|
55
|
+
const CheckboxIndicator = React.forwardRef(function CheckboxIndicator({ className, children, ...props }, ref) {
|
|
56
|
+
return (_jsx(BaseCheckbox.Indicator, { ...props, ref: ref, className: skin("pui-checkbox-indicator", className), children: children ?? (_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": "true", children: [_jsx("path", { className: "pui-checkbox-check", d: "m4 10 4 4 8-8" }), _jsx("path", { className: "pui-checkbox-mixed", d: "M4 10h12" })] })) }));
|
|
57
|
+
});
|
|
58
|
+
export const Checkbox = {
|
|
59
|
+
...BaseCheckbox,
|
|
60
|
+
Root: CheckboxRoot,
|
|
61
|
+
Indicator: CheckboxIndicator,
|
|
62
|
+
};
|
|
63
|
+
export const CheckboxGroup = React.forwardRef(function CheckboxGroup({ value, defaultValue = [], onValueChange, className, ...props }, ref) {
|
|
64
|
+
const [element, attach] = useRootRef(ref);
|
|
65
|
+
const [selected, setSelected, revision] = useResetValue(value, defaultValue, element);
|
|
66
|
+
return (_jsx(ChoiceResetPaint.Provider, { value: revision, children: _jsx(BaseCheckboxGroup, { ...props, ref: attach, value: selected, className: skin("pui-choice-group", className), onValueChange: (next, event) => {
|
|
67
|
+
onValueChange?.(next, event);
|
|
68
|
+
if (value === undefined && !event.isCanceled)
|
|
69
|
+
setSelected(next);
|
|
70
|
+
} }) }));
|
|
71
|
+
});
|
|
72
|
+
export function RadioGroup({ value, defaultValue, onValueChange, className, form, ref, ...props }) {
|
|
73
|
+
const [element, attach] = useRootRef(ref);
|
|
74
|
+
const [selected, setSelected, revision] = useResetValue(value, defaultValue ?? null, element, form);
|
|
75
|
+
return (_jsx(ChoiceResetPaint.Provider, { value: revision, children: _jsx(BaseRadioGroup, { ...props, form: form, ref: attach, value: selected, className: skin("pui-choice-group", className), onValueChange: (next, event) => {
|
|
76
|
+
onValueChange?.(next, event);
|
|
77
|
+
if (value === undefined && !event.isCanceled)
|
|
78
|
+
setSelected(next);
|
|
79
|
+
} }) }));
|
|
80
|
+
}
|
|
81
|
+
const RadioRoot = React.forwardRef(function RadioRoot({ className, ...props }, ref) {
|
|
82
|
+
React.useContext(ChoiceResetPaint);
|
|
83
|
+
return (_jsx(BaseRadio.Root, { ...props, ref: ref, className: skin("pui-radio", className) }));
|
|
84
|
+
});
|
|
85
|
+
export const Radio = {
|
|
86
|
+
...BaseRadio,
|
|
87
|
+
Root: RadioRoot,
|
|
88
|
+
Indicator: part(BaseRadio.Indicator, "pui-radio-indicator"),
|
|
89
|
+
};
|
|
90
|
+
const SwitchRoot = React.forwardRef(function SwitchRoot({ checked, defaultChecked = false, onCheckedChange, className, form, ...props }, ref) {
|
|
91
|
+
const [element, attach] = useRootRef(ref);
|
|
92
|
+
const [selected, setSelected] = useResetValue(checked, defaultChecked, element, form);
|
|
93
|
+
return (_jsx(BaseSwitch.Root, { ...props, form: form, ref: attach, checked: selected, className: skin("pui-switch", className), onCheckedChange: (next, event) => {
|
|
94
|
+
onCheckedChange?.(next, event);
|
|
95
|
+
if (checked === undefined && !event.isCanceled)
|
|
96
|
+
setSelected(next);
|
|
97
|
+
} }));
|
|
98
|
+
});
|
|
99
|
+
export const Switch = {
|
|
100
|
+
...BaseSwitch,
|
|
101
|
+
Root: SwitchRoot,
|
|
102
|
+
Thumb: part(BaseSwitch.Thumb, "pui-switch-thumb"),
|
|
103
|
+
};
|
|
104
|
+
// Flat names for React Server Components, which cannot dot into client exports.
|
|
105
|
+
export { CheckboxIndicator, CheckboxRoot, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldRoot, RadioRoot, SwitchRoot, };
|
|
106
|
+
export const { Validity: FieldValidity } = Field;
|
|
107
|
+
export const { Legend: FieldsetLegend, Root: FieldsetRoot } = Fieldset;
|
|
108
|
+
export const { Indicator: RadioIndicator } = Radio;
|
|
109
|
+
export const { Thumb: SwitchThumb } = Switch;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type Space = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12 | 16 | 20;
|
|
3
|
+
export declare const Container: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
4
|
+
width?: "workspace" | "reading" | "wide" | "full";
|
|
5
|
+
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export declare const Stack: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
7
|
+
gap?: Space;
|
|
8
|
+
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const Inline: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
10
|
+
gap?: Space;
|
|
11
|
+
justify?: "start" | "between" | "end";
|
|
12
|
+
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
export declare const Grid: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
14
|
+
gap?: Space;
|
|
15
|
+
/** Extend inline edges by the matching child content inset (card padding or table cell inset). The parent
|
|
16
|
+
* must reserve this space for the card surface and focus outline. */
|
|
17
|
+
bleed?: Space;
|
|
18
|
+
columns?: 1 | 2 | 3 | 4 | "layout";
|
|
19
|
+
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
20
|
+
/** Spans are explicit at each viewport breakpoint; placement follows DOM order. */
|
|
21
|
+
export declare const GridItem: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
22
|
+
span?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
23
|
+
mediumSpan?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
24
|
+
smallSpan?: 1 | 2 | 3 | 4;
|
|
25
|
+
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
26
|
+
export declare const Surface: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
27
|
+
tone?: "canvas" | "subtle";
|
|
28
|
+
padding?: Space;
|
|
29
|
+
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
30
|
+
export declare function Heading({ level, size, className, ...props }: React.HTMLAttributes<HTMLHeadingElement> & {
|
|
31
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
32
|
+
size?: "display" | "title" | "page" | "section" | "subsection" | "workspace" | "document";
|
|
33
|
+
}): React.JSX.Element;
|
|
34
|
+
export declare function Text({ as: Tag, variant, color, weight, className, ...props }: React.HTMLAttributes<HTMLElement> & {
|
|
35
|
+
as?: "p" | "span" | "div";
|
|
36
|
+
variant?: "body" | "reading" | "table" | "caption" | "label" | "mono" | "metric";
|
|
37
|
+
color?: "primary" | "secondary" | "muted";
|
|
38
|
+
weight?: "regular" | "medium";
|
|
39
|
+
}): React.JSX.Element;
|
|
40
|
+
export declare function PageHeader({ as: Root, headingProps, actionsLabel, title, description, breadcrumb, actions, level, size, className, ...props }: Omit<React.ComponentProps<"div">, "title"> & {
|
|
41
|
+
as?: "div" | "header";
|
|
42
|
+
headingProps?: Omit<React.HTMLAttributes<HTMLHeadingElement>, "children" | "dangerouslySetInnerHTML">;
|
|
43
|
+
actionsLabel?: string;
|
|
44
|
+
title: React.ReactNode;
|
|
45
|
+
description?: React.ReactNode;
|
|
46
|
+
breadcrumb?: React.ReactNode;
|
|
47
|
+
actions?: React.ReactNode;
|
|
48
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
49
|
+
size?: "title" | "page" | "workspace" | "document";
|
|
50
|
+
}): React.JSX.Element;
|
|
51
|
+
export declare const Prose: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
const cx = (...values) => values.filter(Boolean).join(" ");
|
|
5
|
+
const gapStyle = (gap, style) => ({
|
|
6
|
+
...(gap === undefined ? {} : { "--layout-gap": `var(--space-${gap})` }),
|
|
7
|
+
...style,
|
|
8
|
+
});
|
|
9
|
+
export const Container = React.forwardRef(function Container({ width = "workspace", className, ...props }, ref) {
|
|
10
|
+
return (_jsx("div", { ...props, ref: ref, className: cx("pui-container", className), "data-width": width }));
|
|
11
|
+
});
|
|
12
|
+
export const Stack = React.forwardRef(function Stack({ gap, className, style, ...props }, ref) {
|
|
13
|
+
return (_jsx("div", { ...props, ref: ref, className: cx("pui-stack", className), style: gapStyle(gap, style) }));
|
|
14
|
+
});
|
|
15
|
+
export const Inline = React.forwardRef(function Inline({ gap, justify = "start", className, style, ...props }, ref) {
|
|
16
|
+
return (_jsx("div", { ...props, ref: ref, className: cx("pui-inline", className), "data-justify": justify, style: gapStyle(gap, style) }));
|
|
17
|
+
});
|
|
18
|
+
export const Grid = React.forwardRef(function Grid({ gap, bleed = 0, columns = 3, className, style, ...props }, ref) {
|
|
19
|
+
return (_jsx("div", { ...props, ref: ref, className: cx("pui-grid", className), "data-columns": columns, style: gapStyle(gap, {
|
|
20
|
+
"--grid-inline-bleed": `var(--space-${bleed})`,
|
|
21
|
+
...style,
|
|
22
|
+
}) }));
|
|
23
|
+
});
|
|
24
|
+
/** Spans are explicit at each viewport breakpoint; placement follows DOM order. */
|
|
25
|
+
export const GridItem = React.forwardRef(function GridItem({ span, mediumSpan, smallSpan, className, style, ...props }, ref) {
|
|
26
|
+
return (_jsx("div", { ...props, ref: ref, className: cx("pui-grid-item", className), style: {
|
|
27
|
+
"--grid-item-span": span,
|
|
28
|
+
"--grid-item-span-medium": mediumSpan,
|
|
29
|
+
"--grid-item-span-small": smallSpan,
|
|
30
|
+
...style,
|
|
31
|
+
} }));
|
|
32
|
+
});
|
|
33
|
+
export const Surface = React.forwardRef(function Surface({ tone = "subtle", padding, className, style, ...props }, ref) {
|
|
34
|
+
return (_jsx("div", { ...props, ref: ref, className: cx("pui-surface", className), "data-tone": tone, style: {
|
|
35
|
+
...(padding === undefined
|
|
36
|
+
? {}
|
|
37
|
+
: { "--surface-padding": `var(--space-${padding})` }),
|
|
38
|
+
...style,
|
|
39
|
+
} }));
|
|
40
|
+
});
|
|
41
|
+
export function Heading({ level = 2, size = "section", className, ...props }) {
|
|
42
|
+
const Tag = `h${level}`;
|
|
43
|
+
return (_jsx(Tag, { ...props, className: cx("pui-heading", className), "data-size": size }));
|
|
44
|
+
}
|
|
45
|
+
export function Text({ as: Tag = "p", variant = "body", color = "primary", weight = "regular", className, ...props }) {
|
|
46
|
+
return (_jsx(Tag, { ...props, className: cx("pui-text", className), "data-variant": variant, "data-color": color, "data-weight": weight }));
|
|
47
|
+
}
|
|
48
|
+
export function PageHeader({ as: Root = "div", headingProps, actionsLabel, title, description, breadcrumb, actions, level = 1, size = "title", className, ...props }) {
|
|
49
|
+
return (_jsxs(Root, { ...props, className: cx("pui-page-header", className), children: [breadcrumb != null && breadcrumb !== false && breadcrumb !== "" && (_jsx("div", { className: "pui-page-header-breadcrumb", children: breadcrumb })), _jsxs("div", { className: "pui-page-header-content", children: [_jsxs("div", { className: "pui-page-header-copy", children: [_jsx(Heading, { ...headingProps, level: level, size: size, children: title }), description != null &&
|
|
50
|
+
description !== false &&
|
|
51
|
+
description !== "" && (_jsx(Text, { color: "secondary", className: "pui-page-header-description", children: description }))] }), actions != null && actions !== false && actions !== "" && (_jsx("div", { className: "pui-page-header-actions", role: actionsLabel ? "group" : undefined, "aria-label": actionsLabel, children: actions }))] })] }));
|
|
52
|
+
}
|
|
53
|
+
export const Prose = React.forwardRef(function Prose({ className, ...props }, ref) {
|
|
54
|
+
return _jsx("div", { ...props, ref: ref, className: cx("pui-prose", className) });
|
|
55
|
+
});
|
package/dist/icon.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare const shapes: {
|
|
3
|
+
search: React.JSX.Element;
|
|
4
|
+
plus: React.JSX.Element;
|
|
5
|
+
close: React.JSX.Element;
|
|
6
|
+
check: React.JSX.Element;
|
|
7
|
+
info: React.JSX.Element;
|
|
8
|
+
alert: React.JSX.Element;
|
|
9
|
+
warning: React.JSX.Element;
|
|
10
|
+
menu: React.JSX.Element;
|
|
11
|
+
sun: React.JSX.Element;
|
|
12
|
+
moon: React.JSX.Element;
|
|
13
|
+
monitor: React.JSX.Element;
|
|
14
|
+
"chevron-down": React.JSX.Element;
|
|
15
|
+
"chevron-forward": React.JSX.Element;
|
|
16
|
+
"arrow-back": React.JSX.Element;
|
|
17
|
+
"external-link": React.JSX.Element;
|
|
18
|
+
copy: React.JSX.Element;
|
|
19
|
+
play: React.JSX.Element;
|
|
20
|
+
settings: React.JSX.Element;
|
|
21
|
+
};
|
|
22
|
+
export type IconName = keyof typeof shapes;
|
|
23
|
+
export declare const iconNames: readonly IconName[];
|
|
24
|
+
type Semantics = {
|
|
25
|
+
decorative?: true;
|
|
26
|
+
label?: never;
|
|
27
|
+
} | {
|
|
28
|
+
decorative: false;
|
|
29
|
+
label: string;
|
|
30
|
+
};
|
|
31
|
+
export type IconProps = Omit<React.ComponentPropsWithoutRef<"svg">, "children" | "name" | "role" | "aria-label" | "aria-labelledby" | "aria-hidden" | "tabIndex" | "focusable" | "width" | "height" | "viewBox" | "strokeWidth" | "fill" | "stroke" | "title"> & Semantics & {
|
|
32
|
+
name: IconName;
|
|
33
|
+
size?: "sm" | "md" | "lg";
|
|
34
|
+
};
|
|
35
|
+
/** Static SVG only. Actions, focus, accessible button names and hit targets belong to the parent control. */
|
|
36
|
+
export declare const Icon: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<SVGSVGElement>>;
|
|
37
|
+
export {};
|
package/dist/icon.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
const shapes = {
|
|
5
|
+
search: (_jsxs(_Fragment, { children: [_jsx("circle", { cx: "10.5", cy: "10.5", r: "6.5" }), _jsx("path", { d: "m16 16 4 4" })] })),
|
|
6
|
+
plus: _jsx("path", { d: "M12 5v14M5 12h14" }),
|
|
7
|
+
close: _jsx("path", { d: "m6 6 12 12M18 6 6 18" }),
|
|
8
|
+
check: _jsx("path", { d: "m5 12 4 4L19 6" }),
|
|
9
|
+
info: (_jsxs(_Fragment, { children: [_jsx("circle", { cx: "12", cy: "12", r: "9" }), _jsx("path", { d: "M12 11v6m0-10v1" })] })),
|
|
10
|
+
alert: (_jsxs(_Fragment, { children: [_jsx("circle", { cx: "12", cy: "12", r: "9" }), _jsx("path", { d: "M12 7v6m0 3v1" })] })),
|
|
11
|
+
warning: (_jsxs(_Fragment, { children: [_jsx("path", { d: "m12 3 10 18H2L12 3Z" }), _jsx("path", { d: "M12 9v4m0 3v1" })] })),
|
|
12
|
+
menu: _jsx("path", { d: "M4 6h16M4 12h16M4 18h16" }),
|
|
13
|
+
sun: (_jsxs(_Fragment, { children: [_jsx("circle", { cx: "12", cy: "12", r: "4" }), _jsx("path", { d: "M12 2v2m0 16v2M2 12h2m16 0h2M5 5l1.5 1.5m11 11L19 19M5 19l1.5-1.5m11-11L19 5" })] })),
|
|
14
|
+
moon: _jsx("path", { d: "M20.5 13.2A8.5 8.5 0 0 1 10.8 3.5 8.5 8.5 0 1 0 20.5 13.2Z" }),
|
|
15
|
+
monitor: (_jsxs(_Fragment, { children: [_jsx("rect", { x: "3", y: "4", width: "18", height: "13", rx: "2" }), _jsx("path", { d: "M8 21h8m-4-4v4" })] })),
|
|
16
|
+
"chevron-down": _jsx("path", { d: "m7 10 5 5 5-5" }),
|
|
17
|
+
"chevron-forward": _jsx("path", { d: "m9 6 6 6-6 6" }),
|
|
18
|
+
"arrow-back": _jsx("path", { d: "M20 12H4m7-7-7 7 7 7" }),
|
|
19
|
+
"external-link": (_jsx(_Fragment, { children: _jsx("path", { d: "M14 3h7v7m0-7L10 14M10 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5" }) })),
|
|
20
|
+
copy: (_jsxs(_Fragment, { children: [_jsx("rect", { x: "8", y: "8", width: "12", height: "13", rx: "2" }), _jsx("path", { d: "M16 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h3" })] })),
|
|
21
|
+
play: _jsx("path", { d: "m7 3 14 9-14 9V3Z" }),
|
|
22
|
+
settings: (_jsx(_Fragment, { children: _jsx("path", { d: "M4 6h16M4 12h16M4 18h16M9 3v6m6 0v6m-6 0v6" }) })),
|
|
23
|
+
};
|
|
24
|
+
export const iconNames = Object.keys(shapes);
|
|
25
|
+
/** Static SVG only. Actions, focus, accessible button names and hit targets belong to the parent control. */
|
|
26
|
+
export const Icon = React.forwardRef(function Icon({ name, size = "sm", decorative = true, label, className, ...props }, ref) {
|
|
27
|
+
return (_jsx("svg", { ...props, ref: ref, className: ["pui-icon", className].filter(Boolean).join(" "), "data-size": size, "data-directional": name === "chevron-forward" || name === "arrow-back" ? "true" : undefined, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", focusable: "false", "aria-hidden": decorative ? true : undefined, role: decorative ? undefined : "img", "aria-label": decorative ? undefined : label, children: shapes[name] }));
|
|
28
|
+
});
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export { SizeProvider, type ComponentSize, type ComponentSizeAlias, } from "./sizing.js";
|
|
2
|
+
export { Button, type ButtonVariant, type ButtonSize, type ButtonProps, } from "./button.js";
|
|
3
|
+
export { Slot } from "./slot.js";
|
|
4
|
+
export { Input } from "./input.js";
|
|
5
|
+
export { Select, NativeSelect, NativeSelectOption, NativeSelectOptGroup, type SelectOption, type SelectProps, } from "./select.js";
|
|
6
|
+
export { Popover, PopoverArrow, PopoverBackdrop, PopoverClose, PopoverDescription, PopoverHandle, PopoverPopup, PopoverPortal, PopoverPositioner, PopoverRoot, PopoverTitle, PopoverTrigger, PopoverViewport, PopoverContent, } from "./popover.js";
|
|
7
|
+
export { Tooltip, TooltipProvider } from "./tooltip.js";
|
|
8
|
+
export { Dialog, AlertDialog, DialogBackdrop, DialogClose, DialogDescription, DialogHandle, DialogPopup, DialogPortal, DialogRoot, DialogTitle, DialogTrigger, DialogViewport, DialogContent, DialogHeader, DialogBody, DialogFooter, DialogCloseButton, AlertDialogBackdrop, AlertDialogClose, AlertDialogDescription, AlertDialogHandle, AlertDialogPopup, AlertDialogPortal, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, } from "./dialog.js";
|
|
9
|
+
export { Menu, MenuArrow, MenuBackdrop, MenuCheckboxItem, MenuCheckboxItemIndicator, MenuClear, MenuEmpty, MenuFilterProvider, MenuGroup, MenuGroupLabel, MenuHandle, MenuInput, MenuItem, MenuLinkItem, MenuList, MenuPopup, MenuPortal, MenuPositioner, MenuRadioGroup, MenuRadioItem, MenuRadioItemIndicator, MenuRoot, MenuSeparator, MenuSubmenuRoot, MenuSubmenuTrigger, MenuTrigger, MenuViewport, MenuContent, } from "./menu.js";
|
|
10
|
+
export { ScrollArea } from "./scroll-area.js";
|
|
11
|
+
export { Sheet, Drawer, type PanelSide, SheetBackdrop, SheetClose, SheetDescription, SheetHandle, SheetPopup, SheetPortal, SheetRoot, SheetTitle, SheetTrigger, SheetViewport, SheetContent, SheetHeader, SheetBody, SheetFooter, DrawerBackdrop, DrawerClose, DrawerContent, DrawerDescription, DrawerHandle, DrawerIndent, DrawerIndentBackground, DrawerPopup, DrawerPortal, DrawerProvider, DrawerRoot, DrawerSwipeArea, DrawerTitle, DrawerTrigger, DrawerViewport, DrawerVirtualKeyboardProvider, DrawerPrimitiveContent, DrawerHeader, DrawerBody, DrawerFooter, } from "./panels.js";
|
|
12
|
+
export { Container, Stack, Inline, Grid, GridItem, Surface, Heading, Text, PageHeader, Prose, type Space, } from "./foundations.js";
|
|
13
|
+
export { Field, Fieldset, Form, Textarea, Checkbox, CheckboxGroup, Radio, RadioGroup, Switch, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldRoot, FieldValidity, FieldsetLegend, FieldsetRoot, CheckboxIndicator, CheckboxRoot, RadioIndicator, RadioRoot, SwitchRoot, SwitchThumb, } from "./forms.js";
|
|
14
|
+
export { Tabs, Accordion, Collapsible, Avatar, Separator, Link, Breadcrumbs, TabsIndicator, TabsList, TabsPanel, TabsRoot, TabsTab, AccordionHeader, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger, CollapsiblePanel, CollapsibleRoot, CollapsibleTrigger, AvatarFallback, AvatarImage, AvatarRoot, AvatarStatus, BreadcrumbsRoot, BreadcrumbsList, BreadcrumbsItem, BreadcrumbsLink, BreadcrumbsSeparator, BreadcrumbsCurrent, } from "./navigation.js";
|
|
15
|
+
export { Badge, StatusBadge, type BadgeProps, type StatusTone, } from "./status.js";
|
|
16
|
+
export { Progress, Meter, Spinner, Skeleton, type SpinnerProps, type SkeletonProps, ProgressIndicator, ProgressLabel, ProgressRoot, ProgressTrack, ProgressValue, MeterIndicator, MeterLabel, MeterRoot, MeterTrack, MeterValue, } from "./feedback.js";
|
|
17
|
+
export { Table, List, TableContainer, TableRoot, TableCaption, TableHead, TableBody, TableFoot, TableRow, TableHeaderCell, TableCell, ListRoot, ListItem, ListContent, ListTitle, ListDescription, ListActions, } from "./data.js";
|
|
18
|
+
export { InlineMessage, EmptyState, InlineMessageRoot, InlineMessageIcon, InlineMessageContent, InlineMessageTitle, InlineMessageDescription, InlineMessageActions, EmptyStateRoot, EmptyStateIcon, EmptyStateTitle, EmptyStateDescription, EmptyStateActions, } from "./messages.js";
|
|
19
|
+
export { Card, CodeBlock, type CodeBlockProps, CardRoot, CardHeader, CardTitle, CardDescription, CardBody, CardFooter, } from "./content.js";
|
|
20
|
+
export { Pagination, type PaginationProps } from "./pagination.js";
|
|
21
|
+
export { Combobox, NumberField, ComboboxArrow, ComboboxBackdrop, ComboboxChip, ComboboxChipRemove, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxIcon, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxList, ComboboxPopup, ComboboxPortal, ComboboxPositioner, ComboboxRoot, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, ComboboxContent, NumberFieldDecrement, NumberFieldGroup, NumberFieldIncrement, NumberFieldInput, NumberFieldRoot, NumberFieldScrubArea, NumberFieldScrubAreaCursor, } from "./advanced-forms.js";
|
|
22
|
+
export { Autocomplete, Slider, AutocompleteArrow, AutocompleteBackdrop, AutocompleteClear, AutocompleteCollection, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteIcon, AutocompleteInput, AutocompleteInputGroup, AutocompleteItem, AutocompleteList, AutocompletePopup, AutocompletePortal, AutocompletePositioner, AutocompleteRoot, AutocompleteRow, AutocompleteSeparator, AutocompleteStatus, AutocompleteTrigger, AutocompleteValue, AutocompleteContent, SliderControl, SliderIndicator, SliderLabel, SliderRoot, SliderThumb, SliderTrack, SliderValue, } from "./input-extensions.js";
|
|
23
|
+
export { DirectionProvider } from "@base-ui/react/direction-provider";
|
|
24
|
+
export { Toggle, ToggleGroup, Toolbar, Menubar, ToolbarButton, ToolbarGroup, ToolbarInput, ToolbarLink, ToolbarRoot, ToolbarSeparator, } from "./commands.js";
|
|
25
|
+
export { ContextMenu, PreviewCard, ContextMenuArrow, ContextMenuBackdrop, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, ContextMenuGroup, ContextMenuGroupLabel, ContextMenuItem, ContextMenuLinkItem, ContextMenuPopup, ContextMenuPortal, ContextMenuPositioner, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRadioItemIndicator, ContextMenuRoot, ContextMenuSeparator, ContextMenuSubmenuRoot, ContextMenuSubmenuTrigger, ContextMenuTrigger, ContextMenuContent, PreviewCardArrow, PreviewCardBackdrop, PreviewCardHandle, PreviewCardPopup, PreviewCardPortal, PreviewCardPositioner, PreviewCardRoot, PreviewCardTrigger, PreviewCardViewport, PreviewCardContent, } from "./context-overlays.js";
|
|
26
|
+
export { NavigationMenu, NavigationMenuArrow, NavigationMenuBackdrop, NavigationMenuContent, NavigationMenuIcon, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPopup, NavigationMenuPortal, NavigationMenuPositioner, NavigationMenuRoot, NavigationMenuTrigger, NavigationMenuViewport, } from "./navigation-menu.js";
|
|
27
|
+
export { OTPField, OTPFieldInput, OTPFieldRoot, OTPFieldSeparator, OTPFieldGroup, } from "./otp-field.js";
|
|
28
|
+
export { Toast, type ToastRootProps, type ToastViewportProps, ToastAction, ToastArrow, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastPositioner, ToastProvider, ToastRoot, ToastTitle, ToastViewport, ToastIcon, ToastText, } from "./toast.js";
|
|
29
|
+
export { FileUpload, type FileUploadProps, type UploadTransport, type FileUploadLabels, type FileChangeDetails, type FileRejection, type UploadState, } from "./file-upload.js";
|
|
30
|
+
export { Icon, iconNames, type IconName, type IconProps } from "./icon.js";
|
|
31
|
+
export { FilterBar, FilterBarRoot, FilterBarControls, FilterBarField, FilterBarActions, FilterBarSummary, } from "./filter-bar.js";
|
|
32
|
+
export { AppShell, AppShellRoot, AppShellHeader, AppShellSidebar, AppShellContent, AppShellFooter, AppShellLabel, AppShellLink, } from "./app-shell.js";
|
|
33
|
+
export { Tree, type TreeNode, type TreeProps } from "./tree.js";
|
|
34
|
+
export { DatePicker, DateRangePicker, TimeField, DateLocaleProvider, type DatePickerProps, type DateRangePickerProps, type TimeFieldProps, type DateValue, type TimeValue, } from "./date-picker.js";
|
|
35
|
+
export { Chart, type ChartDatum, type ChartSeries, type ChartProps, } from "./chart.js";
|
|
36
|
+
export { SyntaxHighlighter, syntaxLanguages, type SyntaxHighlighterProps, } from "./syntax-highlighter.js";
|
|
37
|
+
export { Markdown, type MarkdownProps } from "./markdown.js";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
export { SizeProvider, } from "./sizing.js";
|
|
3
|
+
export { Button, } from "./button.js";
|
|
4
|
+
export { Slot } from "./slot.js";
|
|
5
|
+
export { Input } from "./input.js";
|
|
6
|
+
export { Select, NativeSelect, NativeSelectOption, NativeSelectOptGroup, } from "./select.js";
|
|
7
|
+
export { Popover, PopoverArrow, PopoverBackdrop, PopoverClose, PopoverDescription, PopoverHandle, PopoverPopup, PopoverPortal, PopoverPositioner, PopoverRoot, PopoverTitle, PopoverTrigger, PopoverViewport, PopoverContent, } from "./popover.js";
|
|
8
|
+
export { Tooltip, TooltipProvider } from "./tooltip.js";
|
|
9
|
+
export { Dialog, AlertDialog, DialogBackdrop, DialogClose, DialogDescription, DialogHandle, DialogPopup, DialogPortal, DialogRoot, DialogTitle, DialogTrigger, DialogViewport, DialogContent, DialogHeader, DialogBody, DialogFooter, DialogCloseButton, AlertDialogBackdrop, AlertDialogClose, AlertDialogDescription, AlertDialogHandle, AlertDialogPopup, AlertDialogPortal, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, } from "./dialog.js";
|
|
10
|
+
export { Menu, MenuArrow, MenuBackdrop, MenuCheckboxItem, MenuCheckboxItemIndicator, MenuClear, MenuEmpty, MenuFilterProvider, MenuGroup, MenuGroupLabel, MenuHandle, MenuInput, MenuItem, MenuLinkItem, MenuList, MenuPopup, MenuPortal, MenuPositioner, MenuRadioGroup, MenuRadioItem, MenuRadioItemIndicator, MenuRoot, MenuSeparator, MenuSubmenuRoot, MenuSubmenuTrigger, MenuTrigger, MenuViewport, MenuContent, } from "./menu.js";
|
|
11
|
+
export { ScrollArea } from "./scroll-area.js";
|
|
12
|
+
export { Sheet, Drawer, SheetBackdrop, SheetClose, SheetDescription, SheetHandle, SheetPopup, SheetPortal, SheetRoot, SheetTitle, SheetTrigger, SheetViewport, SheetContent, SheetHeader, SheetBody, SheetFooter, DrawerBackdrop, DrawerClose, DrawerContent, DrawerDescription, DrawerHandle, DrawerIndent, DrawerIndentBackground, DrawerPopup, DrawerPortal, DrawerProvider, DrawerRoot, DrawerSwipeArea, DrawerTitle, DrawerTrigger, DrawerViewport, DrawerVirtualKeyboardProvider, DrawerPrimitiveContent, DrawerHeader, DrawerBody, DrawerFooter, } from "./panels.js";
|
|
13
|
+
export { Container, Stack, Inline, Grid, GridItem, Surface, Heading, Text, PageHeader, Prose, } from "./foundations.js";
|
|
14
|
+
export { Field, Fieldset, Form, Textarea, Checkbox, CheckboxGroup, Radio, RadioGroup, Switch, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldRoot, FieldValidity, FieldsetLegend, FieldsetRoot, CheckboxIndicator, CheckboxRoot, RadioIndicator, RadioRoot, SwitchRoot, SwitchThumb, } from "./forms.js";
|
|
15
|
+
export { Tabs, Accordion, Collapsible, Avatar, Separator, Link, Breadcrumbs, TabsIndicator, TabsList, TabsPanel, TabsRoot, TabsTab, AccordionHeader, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger, CollapsiblePanel, CollapsibleRoot, CollapsibleTrigger, AvatarFallback, AvatarImage, AvatarRoot, AvatarStatus, BreadcrumbsRoot, BreadcrumbsList, BreadcrumbsItem, BreadcrumbsLink, BreadcrumbsSeparator, BreadcrumbsCurrent, } from "./navigation.js";
|
|
16
|
+
export { Badge, StatusBadge, } from "./status.js";
|
|
17
|
+
export { Progress, Meter, Spinner, Skeleton, ProgressIndicator, ProgressLabel, ProgressRoot, ProgressTrack, ProgressValue, MeterIndicator, MeterLabel, MeterRoot, MeterTrack, MeterValue, } from "./feedback.js";
|
|
18
|
+
export { Table, List, TableContainer, TableRoot, TableCaption, TableHead, TableBody, TableFoot, TableRow, TableHeaderCell, TableCell, ListRoot, ListItem, ListContent, ListTitle, ListDescription, ListActions, } from "./data.js";
|
|
19
|
+
export { InlineMessage, EmptyState, InlineMessageRoot, InlineMessageIcon, InlineMessageContent, InlineMessageTitle, InlineMessageDescription, InlineMessageActions, EmptyStateRoot, EmptyStateIcon, EmptyStateTitle, EmptyStateDescription, EmptyStateActions, } from "./messages.js";
|
|
20
|
+
export { Card, CodeBlock, CardRoot, CardHeader, CardTitle, CardDescription, CardBody, CardFooter, } from "./content.js";
|
|
21
|
+
export { Pagination } from "./pagination.js";
|
|
22
|
+
export { Combobox, NumberField, ComboboxArrow, ComboboxBackdrop, ComboboxChip, ComboboxChipRemove, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxIcon, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxList, ComboboxPopup, ComboboxPortal, ComboboxPositioner, ComboboxRoot, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, ComboboxContent, NumberFieldDecrement, NumberFieldGroup, NumberFieldIncrement, NumberFieldInput, NumberFieldRoot, NumberFieldScrubArea, NumberFieldScrubAreaCursor, } from "./advanced-forms.js";
|
|
23
|
+
export { Autocomplete, Slider, AutocompleteArrow, AutocompleteBackdrop, AutocompleteClear, AutocompleteCollection, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteIcon, AutocompleteInput, AutocompleteInputGroup, AutocompleteItem, AutocompleteList, AutocompletePopup, AutocompletePortal, AutocompletePositioner, AutocompleteRoot, AutocompleteRow, AutocompleteSeparator, AutocompleteStatus, AutocompleteTrigger, AutocompleteValue, AutocompleteContent, SliderControl, SliderIndicator, SliderLabel, SliderRoot, SliderThumb, SliderTrack, SliderValue, } from "./input-extensions.js";
|
|
24
|
+
export { DirectionProvider } from "@base-ui/react/direction-provider";
|
|
25
|
+
export { Toggle, ToggleGroup, Toolbar, Menubar, ToolbarButton, ToolbarGroup, ToolbarInput, ToolbarLink, ToolbarRoot, ToolbarSeparator, } from "./commands.js";
|
|
26
|
+
export { ContextMenu, PreviewCard, ContextMenuArrow, ContextMenuBackdrop, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, ContextMenuGroup, ContextMenuGroupLabel, ContextMenuItem, ContextMenuLinkItem, ContextMenuPopup, ContextMenuPortal, ContextMenuPositioner, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRadioItemIndicator, ContextMenuRoot, ContextMenuSeparator, ContextMenuSubmenuRoot, ContextMenuSubmenuTrigger, ContextMenuTrigger, ContextMenuContent, PreviewCardArrow, PreviewCardBackdrop, PreviewCardHandle, PreviewCardPopup, PreviewCardPortal, PreviewCardPositioner, PreviewCardRoot, PreviewCardTrigger, PreviewCardViewport, PreviewCardContent, } from "./context-overlays.js";
|
|
27
|
+
export { NavigationMenu, NavigationMenuArrow, NavigationMenuBackdrop, NavigationMenuContent, NavigationMenuIcon, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPopup, NavigationMenuPortal, NavigationMenuPositioner, NavigationMenuRoot, NavigationMenuTrigger, NavigationMenuViewport, } from "./navigation-menu.js";
|
|
28
|
+
export { OTPField, OTPFieldInput, OTPFieldRoot, OTPFieldSeparator, OTPFieldGroup, } from "./otp-field.js";
|
|
29
|
+
export { Toast, ToastAction, ToastArrow, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastPositioner, ToastProvider, ToastRoot, ToastTitle, ToastViewport, ToastIcon, ToastText, } from "./toast.js";
|
|
30
|
+
export { FileUpload, } from "./file-upload.js";
|
|
31
|
+
export { Icon, iconNames } from "./icon.js";
|
|
32
|
+
export { FilterBar, FilterBarRoot, FilterBarControls, FilterBarField, FilterBarActions, FilterBarSummary, } from "./filter-bar.js";
|
|
33
|
+
export { AppShell, AppShellRoot, AppShellHeader, AppShellSidebar, AppShellContent, AppShellFooter, AppShellLabel, AppShellLink, } from "./app-shell.js";
|
|
34
|
+
export { Tree } from "./tree.js";
|
|
35
|
+
export { DatePicker, DateRangePicker, TimeField, DateLocaleProvider, } from "./date-picker.js";
|
|
36
|
+
export { Chart, } from "./chart.js";
|
|
37
|
+
export { SyntaxHighlighter, syntaxLanguages, } from "./syntax-highlighter.js";
|
|
38
|
+
export { Markdown } from "./markdown.js";
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Autocomplete as BaseAutocomplete } from "@base-ui/react/autocomplete";
|
|
3
|
+
import { Slider as BaseSlider } from "@base-ui/react/slider";
|
|
4
|
+
declare const AutocompleteRoot: typeof BaseAutocomplete.Root;
|
|
5
|
+
export declare const Autocomplete: {
|
|
6
|
+
Root: typeof BaseAutocomplete.Root;
|
|
7
|
+
Content: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react/autocomplete").AutocompletePopupProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
8
|
+
positionerProps?: React.ComponentPropsWithoutRef<typeof BaseAutocomplete.Positioner>;
|
|
9
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
Popup: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompletePopupProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
11
|
+
size?: import("./sizing.js").ComponentSize;
|
|
12
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
Positioner: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompletePositionerProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
14
|
+
size?: import("./sizing.js").ComponentSize;
|
|
15
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
Input: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteInputProps, "ref"> & React.RefAttributes<HTMLInputElement>, "ref">, "size"> & {
|
|
17
|
+
size?: import("./sizing.js").ComponentSize;
|
|
18
|
+
} & React.RefAttributes<HTMLInputElement>>;
|
|
19
|
+
List: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteListProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
20
|
+
size?: import("./sizing.js").ComponentSize;
|
|
21
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
22
|
+
Empty: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteEmptyProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
23
|
+
size?: import("./sizing.js").ComponentSize;
|
|
24
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
Status: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteStatusProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
26
|
+
size?: import("./sizing.js").ComponentSize;
|
|
27
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
28
|
+
Group: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
29
|
+
size?: import("./sizing.js").ComponentSize;
|
|
30
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
31
|
+
GroupLabel: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteGroupLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
32
|
+
size?: import("./sizing.js").ComponentSize;
|
|
33
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
34
|
+
Clear: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteClearProps, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
35
|
+
Trigger: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/autocomplete").AutocompleteTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
36
|
+
InputGroup: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteInputGroupProps & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
37
|
+
size?: import("./sizing.js").ComponentSize;
|
|
38
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
39
|
+
Item: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteItemProps & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
40
|
+
size?: import("./sizing.js").ComponentSize;
|
|
41
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
42
|
+
Separator: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
43
|
+
size?: import("./sizing.js").ComponentSize;
|
|
44
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
45
|
+
Value: typeof BaseAutocomplete.Value;
|
|
46
|
+
Icon: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/autocomplete").AutocompleteIconProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
47
|
+
Portal: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/autocomplete").AutocompletePortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
48
|
+
Backdrop: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/autocomplete").AutocompleteBackdropProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
49
|
+
Arrow: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/autocomplete").AutocompleteArrowProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
50
|
+
Row: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/autocomplete").AutocompleteRowProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
51
|
+
Collection: typeof BaseAutocomplete.Collection;
|
|
52
|
+
useFilter: typeof import("@base-ui/react/internals/filter").getFilter;
|
|
53
|
+
useFilteredItems: typeof BaseAutocomplete.useFilteredItems;
|
|
54
|
+
};
|
|
55
|
+
declare function SliderRoot<Value extends number | readonly number[]>({ value, defaultValue, onValueChange, ref, className, form, thumbAlignment, ...props }: BaseSlider.Root.Props<Value> & {
|
|
56
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
57
|
+
}): React.JSX.Element;
|
|
58
|
+
export declare const Slider: {
|
|
59
|
+
Root: typeof SliderRoot;
|
|
60
|
+
Label: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/slider").SliderLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
61
|
+
size?: import("./sizing.js").ComponentSize;
|
|
62
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
63
|
+
Value: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/slider").SliderValueProps, "ref"> & React.RefAttributes<HTMLOutputElement>, "ref">, "size"> & {
|
|
64
|
+
size?: import("./sizing.js").ComponentSize;
|
|
65
|
+
} & React.RefAttributes<HTMLOutputElement>>;
|
|
66
|
+
Control: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/slider").SliderControlProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
67
|
+
size?: import("./sizing.js").ComponentSize;
|
|
68
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
69
|
+
Track: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/slider").SliderTrackProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
70
|
+
size?: import("./sizing.js").ComponentSize;
|
|
71
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
72
|
+
Indicator: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/slider").SliderIndicatorProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
73
|
+
size?: import("./sizing.js").ComponentSize;
|
|
74
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
75
|
+
Thumb: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/slider").SliderThumbProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
76
|
+
size?: import("./sizing.js").ComponentSize;
|
|
77
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
78
|
+
};
|
|
79
|
+
export { AutocompleteRoot, SliderRoot };
|
|
80
|
+
export declare const AutocompleteArrow: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/autocomplete").AutocompleteArrowProps, "ref"> & React.RefAttributes<HTMLDivElement>>, AutocompleteBackdrop: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/autocomplete").AutocompleteBackdropProps, "ref"> & React.RefAttributes<HTMLDivElement>>, AutocompleteClear: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteClearProps, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>, AutocompleteCollection: typeof BaseAutocomplete.Collection, AutocompleteEmpty: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteEmptyProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
81
|
+
size?: import("./sizing.js").ComponentSize;
|
|
82
|
+
} & React.RefAttributes<HTMLDivElement>>, AutocompleteGroup: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
83
|
+
size?: import("./sizing.js").ComponentSize;
|
|
84
|
+
} & React.RefAttributes<HTMLDivElement>>, AutocompleteGroupLabel: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteGroupLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
85
|
+
size?: import("./sizing.js").ComponentSize;
|
|
86
|
+
} & React.RefAttributes<HTMLDivElement>>, AutocompleteIcon: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/autocomplete").AutocompleteIconProps, "ref"> & React.RefAttributes<HTMLSpanElement>>, AutocompleteInput: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteInputProps, "ref"> & React.RefAttributes<HTMLInputElement>, "ref">, "size"> & {
|
|
87
|
+
size?: import("./sizing.js").ComponentSize;
|
|
88
|
+
} & React.RefAttributes<HTMLInputElement>>, AutocompleteInputGroup: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteInputGroupProps & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
89
|
+
size?: import("./sizing.js").ComponentSize;
|
|
90
|
+
} & React.RefAttributes<HTMLDivElement>>, AutocompleteItem: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteItemProps & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
91
|
+
size?: import("./sizing.js").ComponentSize;
|
|
92
|
+
} & React.RefAttributes<HTMLDivElement>>, AutocompleteList: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteListProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
93
|
+
size?: import("./sizing.js").ComponentSize;
|
|
94
|
+
} & React.RefAttributes<HTMLDivElement>>, AutocompletePopup: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompletePopupProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
95
|
+
size?: import("./sizing.js").ComponentSize;
|
|
96
|
+
} & React.RefAttributes<HTMLDivElement>>, AutocompletePortal: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/autocomplete").AutocompletePortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>, AutocompletePositioner: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompletePositionerProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
97
|
+
size?: import("./sizing.js").ComponentSize;
|
|
98
|
+
} & React.RefAttributes<HTMLDivElement>>, AutocompleteRow: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/autocomplete").AutocompleteRowProps, "ref"> & React.RefAttributes<HTMLDivElement>>, AutocompleteSeparator: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
99
|
+
size?: import("./sizing.js").ComponentSize;
|
|
100
|
+
} & React.RefAttributes<HTMLDivElement>>, AutocompleteStatus: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/autocomplete").AutocompleteStatusProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
101
|
+
size?: import("./sizing.js").ComponentSize;
|
|
102
|
+
} & React.RefAttributes<HTMLDivElement>>, AutocompleteTrigger: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/autocomplete").AutocompleteTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>, AutocompleteValue: typeof BaseAutocomplete.Value, AutocompleteContent: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react/autocomplete").AutocompletePopupProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
103
|
+
positionerProps?: React.ComponentPropsWithoutRef<typeof BaseAutocomplete.Positioner>;
|
|
104
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
105
|
+
export declare const SliderControl: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/slider").SliderControlProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
106
|
+
size?: import("./sizing.js").ComponentSize;
|
|
107
|
+
} & React.RefAttributes<HTMLDivElement>>, SliderIndicator: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/slider").SliderIndicatorProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
108
|
+
size?: import("./sizing.js").ComponentSize;
|
|
109
|
+
} & React.RefAttributes<HTMLDivElement>>, SliderLabel: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/slider").SliderLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
110
|
+
size?: import("./sizing.js").ComponentSize;
|
|
111
|
+
} & React.RefAttributes<HTMLDivElement>>, SliderThumb: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/slider").SliderThumbProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
112
|
+
size?: import("./sizing.js").ComponentSize;
|
|
113
|
+
} & React.RefAttributes<HTMLDivElement>>, SliderTrack: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/slider").SliderTrackProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref">, "size"> & {
|
|
114
|
+
size?: import("./sizing.js").ComponentSize;
|
|
115
|
+
} & React.RefAttributes<HTMLDivElement>>, SliderValue: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react/slider").SliderValueProps, "ref"> & React.RefAttributes<HTMLOutputElement>, "ref">, "size"> & {
|
|
116
|
+
size?: import("./sizing.js").ComponentSize;
|
|
117
|
+
} & React.RefAttributes<HTMLOutputElement>>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Autocomplete as BaseAutocomplete } from "@base-ui/react/autocomplete";
|
|
5
|
+
import { Slider as BaseSlider } from "@base-ui/react/slider";
|
|
6
|
+
import { Combobox } from "./advanced-forms.js";
|
|
7
|
+
import { skin, part } from "./parts.js";
|
|
8
|
+
import { useResetValue, useRootRef } from "./form-state.js";
|
|
9
|
+
const AutocompleteRoot = function AutocompleteRoot({ children, form, value, defaultValue, onValueChange, ...props }) {
|
|
10
|
+
const anchor = React.useRef(null);
|
|
11
|
+
const [query, setQuery, revision] = useResetValue(value, defaultValue ?? "", anchor, form);
|
|
12
|
+
return (_jsxs(BaseAutocomplete.Root, { ...props, form: form, value: query, onValueChange: (next, event) => {
|
|
13
|
+
onValueChange?.(next, event);
|
|
14
|
+
if (value === undefined && !event.isCanceled)
|
|
15
|
+
setQuery(next);
|
|
16
|
+
}, children: [_jsx("span", { hidden: true, ref: anchor }), children] }, revision));
|
|
17
|
+
};
|
|
18
|
+
const AutoTrigger = React.forwardRef(function AutoTrigger({ className, children, ...props }, ref) {
|
|
19
|
+
return (_jsx(BaseAutocomplete.Trigger, { "aria-label": "Show suggestions", ...props, ref: ref, className: skin("pui-combobox-action", className), children: children ?? (_jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", "aria-hidden": "true", children: _jsx("path", { d: "m6 9 6 6 6-6" }) })) }));
|
|
20
|
+
});
|
|
21
|
+
const AutoClear = React.forwardRef(function AutoClear(props, ref) {
|
|
22
|
+
return _jsx(Combobox.Clear, { "aria-label": "Clear input", ...props, ref: ref });
|
|
23
|
+
});
|
|
24
|
+
export const Autocomplete = {
|
|
25
|
+
...BaseAutocomplete,
|
|
26
|
+
Root: AutocompleteRoot,
|
|
27
|
+
Content: Combobox.Content,
|
|
28
|
+
Popup: Combobox.Popup,
|
|
29
|
+
Positioner: Combobox.Positioner,
|
|
30
|
+
Input: Combobox.Input,
|
|
31
|
+
List: Combobox.List,
|
|
32
|
+
Empty: Combobox.Empty,
|
|
33
|
+
Status: Combobox.Status,
|
|
34
|
+
Group: Combobox.Group,
|
|
35
|
+
GroupLabel: Combobox.GroupLabel,
|
|
36
|
+
Clear: AutoClear,
|
|
37
|
+
Trigger: AutoTrigger,
|
|
38
|
+
InputGroup: part(BaseAutocomplete.InputGroup, "pui-combobox-group"),
|
|
39
|
+
Item: part(BaseAutocomplete.Item, "pui-combobox-item"),
|
|
40
|
+
Separator: part(BaseAutocomplete.Separator, "pui-combobox-separator"),
|
|
41
|
+
};
|
|
42
|
+
function SliderRoot({ value, defaultValue, onValueChange, ref, className, form, thumbAlignment = "edge", ...props }) {
|
|
43
|
+
const [element, attach] = useRootRef(ref);
|
|
44
|
+
const [selected, setSelected] = useResetValue(value, (defaultValue ?? props.min ?? 0), element, form);
|
|
45
|
+
return (_jsx(BaseSlider.Root, { ...props, form: form, ref: attach, value: selected, thumbAlignment: thumbAlignment, className: skin("pui-slider", className), onValueChange: (next, event) => {
|
|
46
|
+
onValueChange?.(next, event);
|
|
47
|
+
if (value === undefined && !event.isCanceled)
|
|
48
|
+
setSelected(next);
|
|
49
|
+
} }));
|
|
50
|
+
}
|
|
51
|
+
export const Slider = {
|
|
52
|
+
...BaseSlider,
|
|
53
|
+
Root: SliderRoot,
|
|
54
|
+
Label: part(BaseSlider.Label, "pui-slider-label"),
|
|
55
|
+
Value: part(BaseSlider.Value, "pui-slider-value"),
|
|
56
|
+
Control: part(BaseSlider.Control, "pui-slider-control"),
|
|
57
|
+
Track: part(BaseSlider.Track, "pui-slider-track"),
|
|
58
|
+
Indicator: part(BaseSlider.Indicator, "pui-slider-indicator"),
|
|
59
|
+
Thumb: part(BaseSlider.Thumb, "pui-slider-thumb"),
|
|
60
|
+
};
|
|
61
|
+
// Flat names for React Server Components, which cannot dot into client exports.
|
|
62
|
+
export { AutocompleteRoot, SliderRoot };
|
|
63
|
+
export const { Arrow: AutocompleteArrow, Backdrop: AutocompleteBackdrop, Clear: AutocompleteClear, Collection: AutocompleteCollection, Empty: AutocompleteEmpty, Group: AutocompleteGroup, GroupLabel: AutocompleteGroupLabel, Icon: AutocompleteIcon, Input: AutocompleteInput, InputGroup: AutocompleteInputGroup, Item: AutocompleteItem, List: AutocompleteList, Popup: AutocompletePopup, Portal: AutocompletePortal, Positioner: AutocompletePositioner, Row: AutocompleteRow, Separator: AutocompleteSeparator, Status: AutocompleteStatus, Trigger: AutocompleteTrigger, Value: AutocompleteValue, Content: AutocompleteContent, } = Autocomplete;
|
|
64
|
+
export const { Control: SliderControl, Indicator: SliderIndicator, Label: SliderLabel, Thumb: SliderThumb, Track: SliderTrack, Value: SliderValue, } = Slider;
|
package/dist/input.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type ComponentSizeAlias } from "./sizing.js";
|
|
3
|
+
export declare const Input: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "size"> & {
|
|
4
|
+
size?: number | ComponentSizeAlias;
|
|
5
|
+
leadingIcon?: React.ReactNode;
|
|
6
|
+
wrapperClassName?: string;
|
|
7
|
+
} & React.RefAttributes<HTMLInputElement>>;
|
package/dist/input.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { useComponentSize } from "./sizing.js";
|
|
5
|
+
import { Input as BaseInput } from "@base-ui/react/input";
|
|
6
|
+
const cx = (...v) => v.filter(Boolean).join(" ");
|
|
7
|
+
export const Input = React.forwardRef(function Input({ className, leadingIcon, wrapperClassName, size, ...props }, ref) {
|
|
8
|
+
const scheme = useComponentSize(typeof size === "string" ? size : undefined);
|
|
9
|
+
return (_jsxs("span", { "data-ui-size": scheme, className: cx("pui-control", wrapperClassName), "data-leading-icon": leadingIcon ? "" : undefined, "data-disabled": props.disabled || undefined, children: [leadingIcon && (_jsx("span", { className: "pui-control-icon control-icon", "aria-hidden": "true", children: leadingIcon })), _jsx(BaseInput, { ...props, size: typeof size === "number" ? size : undefined, ref: ref, className: cx("pui-input", className) })] }));
|
|
10
|
+
});
|