@wzrhine/react 0.1.0 → 0.2.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/CHANGELOG.md +20 -1
- package/dist/components/Alert.d.ts +3 -0
- package/dist/components/Alert.d.ts.map +1 -1
- package/dist/components/Alert.js +2 -2
- package/dist/components/Alert.js.map +1 -1
- package/dist/components/AlertDialog.d.ts +9 -1
- package/dist/components/AlertDialog.d.ts.map +1 -1
- package/dist/components/AlertDialog.js +25 -4
- package/dist/components/AlertDialog.js.map +1 -1
- package/dist/components/Badge.d.ts +17 -0
- package/dist/components/Badge.d.ts.map +1 -0
- package/dist/components/Badge.js +16 -0
- package/dist/components/Badge.js.map +1 -0
- package/dist/components/Button.d.ts +3 -0
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.js +2 -2
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Dialog.d.ts +5 -1
- package/dist/components/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog.js +4 -2
- package/dist/components/Dialog.js.map +1 -1
- package/dist/components/Fieldset.d.ts +2 -1
- package/dist/components/Fieldset.d.ts.map +1 -1
- package/dist/components/Fieldset.js +2 -2
- package/dist/components/Fieldset.js.map +1 -1
- package/dist/components/Form.d.ts +1 -0
- package/dist/components/Form.d.ts.map +1 -1
- package/dist/components/Form.js +2 -2
- package/dist/components/Form.js.map +1 -1
- package/dist/components/Icon.d.ts +25 -0
- package/dist/components/Icon.d.ts.map +1 -0
- package/dist/components/Icon.js +38 -0
- package/dist/components/Icon.js.map +1 -0
- package/dist/components/NumberField.d.ts +3 -1
- package/dist/components/NumberField.d.ts.map +1 -1
- package/dist/components/NumberField.js +8 -2
- package/dist/components/NumberField.js.map +1 -1
- package/dist/components/Popover.d.ts +8 -3
- package/dist/components/Popover.d.ts.map +1 -1
- package/dist/components/Popover.js +2 -2
- package/dist/components/Popover.js.map +1 -1
- package/dist/components/Radio.d.ts +7 -0
- package/dist/components/Radio.d.ts.map +1 -1
- package/dist/components/Radio.js +4 -4
- package/dist/components/Radio.js.map +1 -1
- package/dist/components/ResizeHandle.d.ts +32 -0
- package/dist/components/ResizeHandle.d.ts.map +1 -0
- package/dist/components/ResizeHandle.js +33 -0
- package/dist/components/ResizeHandle.js.map +1 -0
- package/dist/components/ScrollArea.d.ts +5 -0
- package/dist/components/ScrollArea.d.ts.map +1 -1
- package/dist/components/ScrollArea.js +2 -2
- package/dist/components/ScrollArea.js.map +1 -1
- package/dist/components/Tree.d.ts +28 -0
- package/dist/components/Tree.d.ts.map +1 -0
- package/dist/components/Tree.js +129 -0
- package/dist/components/Tree.js.map +1 -0
- package/dist/components/Workbench.d.ts +31 -0
- package/dist/components/Workbench.d.ts.map +1 -0
- package/dist/components/Workbench.js +71 -0
- package/dist/components/Workbench.js.map +1 -0
- package/dist/components/navigation.d.ts +38 -0
- package/dist/components/navigation.d.ts.map +1 -0
- package/dist/components/navigation.js +96 -0
- package/dist/components/navigation.js.map +1 -0
- package/dist/components.css +46 -0
- package/dist/forms.css +17 -0
- package/dist/index.d.ts +16 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/provider/messages.d.ts +19 -0
- package/dist/provider/messages.d.ts.map +1 -1
- package/dist/provider/messages.js +8 -0
- package/dist/provider/messages.js.map +1 -1
- package/package.json +9 -4
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
import { cx } from '../utils/cx.js';
|
|
5
|
+
/**
|
|
6
|
+
* Public, dependency-free line icon entry used by consumers that need a stable icon grid.
|
|
7
|
+
* Family grammar (docs/design/ICONS.md): 24×24 master, 1.75 stroke, round cap/join, currentColor.
|
|
8
|
+
* Direction (2026-10-14, icon-review/2026-10-14-batch-02): basic icons are supplied by the
|
|
9
|
+
* consumer's Lucide layer; this registry keeps the pre-existing built-ins plus custom
|
|
10
|
+
* WzRhineLab identity glyphs that Lucide does not cover (Agent / Caliper / Sample / Index).
|
|
11
|
+
*/
|
|
12
|
+
export const iconNames = [
|
|
13
|
+
'Settings', 'Settings2', 'SlidersHorizontal', 'Minus', 'Maximize', 'Maximize2', 'Minimize2', 'PanelTopClose', 'PanelTopOpen', 'Power', 'Square',
|
|
14
|
+
'FolderOpen', 'FolderPlus', 'FolderMinus', 'FileCode2', 'FoldVertical', 'Plug', 'Puzzle', 'Boxes',
|
|
15
|
+
'ShieldAlert', 'ShieldHalf', 'ChevronUp', 'Eye', 'ImagePlus', 'MessagesSquare', 'PinOff', 'RotateCcw',
|
|
16
|
+
'SquareChartGantt', 'Users', 'ChevronDown', 'ChevronLeft', 'ChevronRight', 'Plus', 'X', 'Check',
|
|
17
|
+
// Custom / WzRhineLab identity
|
|
18
|
+
'Agent', 'Caliper', 'Sample', 'Index',
|
|
19
|
+
];
|
|
20
|
+
const PATHS = {
|
|
21
|
+
Settings: _jsxs(_Fragment, { children: [_jsx("circle", { cx: "12", cy: "12", r: "3" }), _jsx("path", { d: "M19.4 15a1.7 1.7 0 0 0 .3 1.9l.1.1-1.8 1.8-.1-.1a1.7 1.7 0 0 0-1.9-.3 1.7 1.7 0 0 0-1 1.6v.1h-2.6V20a1.7 1.7 0 0 0-1-1.6 1.7 1.7 0 0 0-1.9.3l-.1.1-1.8-1.8.1-.1A1.7 1.7 0 0 0 8 15a1.7 1.7 0 0 0-1.6-1H6v-2.6h.4A1.7 1.7 0 0 0 8 10a1.7 1.7 0 0 0-.3-1.9l-.1-.1 1.8-1.8.1.1a1.7 1.7 0 0 0 1.9.3 1.7 1.7 0 0 0 1-1.6v-.1H15V5a1.7 1.7 0 0 0 1 1.6 1.7 1.7 0 0 0 1.9-.3l.1-.1 1.8 1.8-.1.1a1.7 1.7 0 0 0-.3 1.9 1.7 1.7 0 0 0 1.6 1h.1v2.6H21a1.7 1.7 0 0 0-1.6 1Z" })] }),
|
|
22
|
+
Settings2: _jsxs(_Fragment, { children: [_jsx("path", { d: "M4 6h10M18 6h2M4 12h3M11 12h9M4 18h10M18 18h2" }), _jsx("circle", { cx: "16", cy: "6", r: "2" }), _jsx("circle", { cx: "9", cy: "12", r: "2" }), _jsx("circle", { cx: "16", cy: "18", r: "2" })] }),
|
|
23
|
+
SlidersHorizontal: _jsxs(_Fragment, { children: [_jsx("path", { d: "M4 6h16M4 12h16M4 18h16" }), _jsx("circle", { cx: "9", cy: "6", r: "2" }), _jsx("circle", { cx: "15", cy: "12", r: "2" }), _jsx("circle", { cx: "11", cy: "18", r: "2" })] }),
|
|
24
|
+
Minus: _jsx("path", { d: "M5 12h14" }), Maximize: _jsx("rect", { x: "5", y: "5", width: "14", height: "14", rx: "1" }), Maximize2: _jsx("path", { d: "M8 3H3v5M3 3l5 5M16 3h5v5M21 3l-5 5M8 21H3v-5M3 21l5-5M16 21h5v-5M21 21l-5-5" }), Minimize2: _jsx("path", { d: "M8 16 16 8M8 8l8 8" }), PanelTopClose: _jsxs(_Fragment, { children: [_jsx("path", { d: "M4 5h16v14H4zM4 9h16" }), _jsx("path", { d: "m9 13 3 3 3-3" })] }), PanelTopOpen: _jsxs(_Fragment, { children: [_jsx("path", { d: "M4 5h16v14H4zM4 9h16" }), _jsx("path", { d: "m9 17 3-3 3 3" })] }), Power: _jsxs(_Fragment, { children: [_jsx("path", { d: "M12 3v9" }), _jsx("path", { d: "M7.1 5.6a7 7 0 1 0 9.8 0" })] }), Square: _jsx("rect", { x: "4", y: "4", width: "16", height: "16", rx: "1" }),
|
|
25
|
+
FolderOpen: _jsxs(_Fragment, { children: [_jsx("path", { d: "M3 6h7l2 2h9v10H3z" }), _jsx("path", { d: "m3 8 2 8h14l2-8" })] }), FolderPlus: _jsxs(_Fragment, { children: [_jsx("path", { d: "M3 6h7l2 2h9v10H3z" }), _jsx("path", { d: "M12 10v6M9 13h6" })] }), FolderMinus: _jsxs(_Fragment, { children: [_jsx("path", { d: "M3 6h7l2 2h9v10H3z" }), _jsx("path", { d: "M9 13h6" })] }), FileCode2: _jsxs(_Fragment, { children: [_jsx("path", { d: "M6 3h8l4 4v14H6zM14 3v5h5" }), _jsx("path", { d: "m11 13-2 2 2 2M15 13l2 2-2 2" })] }), FoldVertical: _jsx(_Fragment, { children: _jsx("path", { d: "M7 3v18M17 3v18M3 8l4 4 4-4M13 16l4-4 4 4" }) }),
|
|
26
|
+
Plug: _jsx(_Fragment, { children: _jsx("path", { d: "M9 7V3M15 7V3M6 7h12v3a6 6 0 0 1-12 0zM12 16v5" }) }), Puzzle: _jsx("path", { d: "M9 3h3a2 2 0 1 1 4 0v3h3v3a2 2 0 1 1 0 4v3h-3a2 2 0 1 1-4 0h-3v-3a2 2 0 1 1 0-4V6h3z" }), Boxes: _jsx(_Fragment, { children: _jsx("path", { d: "m4 7 4-2 4 2-4 2-4-2ZM12 7l4-2 4 2-4 2-4-2ZM4 7v6l4 2 4-2V7M12 7v6l4 2 4-2V7" }) }),
|
|
27
|
+
ShieldAlert: _jsxs(_Fragment, { children: [_jsx("path", { d: "M12 3 20 6v5c0 5-3.5 8-8 10-4.5-2-8-5-8-10V6z" }), _jsx("path", { d: "M12 8v4M12 15v.01" })] }), ShieldHalf: _jsxs(_Fragment, { children: [_jsx("path", { d: "M12 3 20 6v5c0 5-3.5 8-8 10-4.5-2-8-5-8-10V6z" }), _jsx("path", { d: "M12 3v18" })] }),
|
|
28
|
+
ChevronUp: _jsx("path", { d: "m5 14 7-7 7 7" }), ChevronDown: _jsx("path", { d: "m5 10 7 7 7-7" }), ChevronLeft: _jsx("path", { d: "m14 5-7 7 7 7" }), ChevronRight: _jsx("path", { d: "m10 5 7 7-7 7" }), Eye: _jsxs(_Fragment, { children: [_jsx("path", { d: "M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12Z" }), _jsx("circle", { cx: "12", cy: "12", r: "2.5" })] }), ImagePlus: _jsxs(_Fragment, { children: [_jsx("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2" }), _jsx("circle", { cx: "8", cy: "9", r: "1" }), _jsx("path", { d: "m4 17 5-5 3 3 2-2 5 5M17 3v6M14 6h6" })] }), MessagesSquare: _jsxs(_Fragment, { children: [_jsx("path", { d: "M3 5h14v10H8l-5 4z" }), _jsx("path", { d: "M8 19h9l4-3V7h-2" })] }), PinOff: _jsx(_Fragment, { children: _jsx("path", { d: "m3 3 18 18M15 4l5 5-3 1-4 4v4l-2-2H7l3-3V9L7 7l1-3z" }) }), RotateCcw: _jsx("path", { d: "M4 12a8 8 0 1 0 3-6.2M4 4v5h5" }), SquareChartGantt: _jsxs(_Fragment, { children: [_jsx("rect", { x: "4", y: "4", width: "16", height: "16", rx: "1" }), _jsx("path", { d: "M8 8h8M8 12h5M8 16h8" })] }), Users: _jsxs(_Fragment, { children: [_jsx("circle", { cx: "9", cy: "8", r: "3" }), _jsx("path", { d: "M3 20c0-3 2.5-5 6-5s6 2 6 5M16 11a3 3 0 1 0 0-6M17 15c2.5.2 4 1.8 4 4" })] }), Plus: _jsx("path", { d: "M12 5v14M5 12h14" }), X: _jsx("path", { d: "M5 5l14 14M19 5 5 19" }), Check: _jsx("path", { d: "m5 12 4 4L19 6" }),
|
|
29
|
+
// Custom / WzRhineLab identity
|
|
30
|
+
Agent: _jsxs(_Fragment, { children: [_jsx("path", { d: "M12 3l8 5v8l-8 5-8-5V8Z" }), _jsx("circle", { cx: "12", cy: "12", r: "2.5" })] }),
|
|
31
|
+
Caliper: _jsxs(_Fragment, { children: [_jsx("path", { d: "M3 7h15M18 8.5h3M3 7v10M3 7V4h2M6 7v1.75M9 7v1.75M11 9v8" }), _jsx("rect", { x: "11", y: "4.5", width: "5", height: "4.5", rx: "1" }), _jsx("path", { d: "M13.5 4.5V3" })] }),
|
|
32
|
+
Sample: _jsxs(_Fragment, { children: [_jsx("rect", { x: "9", y: "3", width: "6", height: "3", rx: "1" }), _jsx("rect", { x: "6", y: "6", width: "12", height: "15", rx: "2" }), _jsx("path", { d: "M8 11h8" }), _jsx("circle", { cx: "12", cy: "15.5", r: "2.5" })] }),
|
|
33
|
+
Index: _jsxs(_Fragment, { children: [_jsx("rect", { x: "3", y: "6", width: "18", height: "14", rx: "2" }), _jsx("path", { d: "M5 6V4h5v2M7 11h10M7 15h6" })] }),
|
|
34
|
+
};
|
|
35
|
+
export const Icon = React.forwardRef(function Icon({ name, size = 24, className, strokeWidth = 1.75, children, ...rest }, ref) {
|
|
36
|
+
return _jsx("svg", { ...rest, ref: ref, className: cx('rl-icon', className), width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", "data-icon": name, role: rest['aria-label'] ? 'img' : undefined, "aria-hidden": rest['aria-label'] ? undefined : true, focusable: "false", children: children ?? PATHS[name] ?? null });
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=Icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../src/components/Icon.tsx"],"names":[],"mappings":"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"}
|
|
@@ -44,9 +44,11 @@ export type NumberFieldProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'child
|
|
|
44
44
|
placeholder?: string;
|
|
45
45
|
/** Trailing unit text (e.g. "个"), read as part of the description. */
|
|
46
46
|
unit?: React.ReactNode;
|
|
47
|
+
inherited?: string | number | boolean;
|
|
48
|
+
submitOnEnter?: boolean;
|
|
47
49
|
/** Ref to the visible text input. */
|
|
48
50
|
inputRef?: React.Ref<HTMLInputElement>;
|
|
49
51
|
ref?: React.Ref<HTMLDivElement>;
|
|
50
52
|
};
|
|
51
|
-
export declare function NumberField({ label, hideLabel, description, error, invalid, required, optional, value, defaultValue, onValueChange, onValueCommitted, min, max, step, largeStep, smallStep, format, snapOnStep, name, disabled, readOnly, size, placeholder, unit, inputRef, className, style, ref, ...rest }: NumberFieldProps): React.JSX.Element;
|
|
53
|
+
export declare function NumberField({ label, hideLabel, description, error, invalid, required, optional, value, defaultValue, onValueChange, onValueCommitted, min, max, step, largeStep, smallStep, format, snapOnStep, name, disabled, readOnly, size, placeholder, unit, inherited, submitOnEnter, inputRef, className, style, ref, ...rest }: NumberFieldProps): React.JSX.Element;
|
|
52
54
|
//# sourceMappingURL=NumberField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../src/components/NumberField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC,GAAG;IACpH,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,uFAAuF;IACvF,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2GAA2G;IAC3G,MAAM,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;IAClC,kDAAkD;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC,CAAC;AAkBF,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,SAAiB,EACjB,WAAW,EACX,KAAK,EACL,OAAO,EACP,QAAgB,EAChB,QAAgB,EAChB,KAAK,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,GAAG,EACH,GAAG,EACH,IAAI,EACJ,SAAS,EACT,SAAS,EACT,MAAM,EACN,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,IAAW,EACX,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../src/components/NumberField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC,GAAG;IACpH,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,uFAAuF;IACvF,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2GAA2G;IAC3G,MAAM,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;IAClC,kDAAkD;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC,CAAC;AAkBF,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,SAAiB,EACjB,WAAW,EACX,KAAK,EACL,OAAO,EACP,QAAgB,EAChB,QAAgB,EAChB,KAAK,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,GAAG,EACH,GAAG,EACH,IAAI,EACJ,SAAS,EACT,SAAS,EACT,MAAM,EACN,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,IAAW,EACX,WAAW,EACX,IAAI,EACJ,SAAS,EACT,aAAoB,EACpB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,gBAAgB,qBA+ElB"}
|
|
@@ -12,10 +12,16 @@ function Minus() {
|
|
|
12
12
|
function Plus() {
|
|
13
13
|
return (_jsx("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", focusable: "false", children: _jsx("path", { d: "M3.5 8h9M8 3.5v9" }) }));
|
|
14
14
|
}
|
|
15
|
-
export function NumberField({ label, hideLabel = false, description, error, invalid, required = false, optional = false, value, defaultValue, onValueChange, onValueCommitted, min, max, step, largeStep, smallStep, format, snapOnStep, name, disabled, readOnly, size = 'md', placeholder, unit, inputRef, className, style, ref, ...rest }) {
|
|
15
|
+
export function NumberField({ label, hideLabel = false, description, error, invalid, required = false, optional = false, value, defaultValue, onValueChange, onValueCommitted, min, max, step, largeStep, smallStep, format, snapOnStep, name, disabled, readOnly, size = 'md', placeholder, unit, inherited, submitOnEnter = true, inputRef, className, style, ref, ...rest }) {
|
|
16
16
|
const { messages, locale } = useRhineLocale();
|
|
17
17
|
const unitId = React.useId();
|
|
18
18
|
const match = invalid ? true : undefined;
|
|
19
|
-
return (_jsxs(BaseField.Root, { ...rest, ref: ref, name: name, invalid: invalid, disabled: disabled, className: cx('rl-field', 'rl-number-field', className), style: style, "data-slot": "number-field", "data-required": required || undefined, children: [_jsx(BaseField.Label, { className: cx('rl-field__label', hideLabel && 'rl-visually-hidden'), children: _jsx(LabelText, { label: label, required: required, optional: optional }) }), _jsxs("div", { className: "rl-field__body", children: [_jsx(BaseNumberField.Root, { name: name, value: value, defaultValue: defaultValue, onValueChange: onValueChange ? (next) => onValueChange(next) : undefined, onValueCommitted: onValueCommitted ? (next) => onValueCommitted(next) : undefined, min: min, max: max, step: step, largeStep: largeStep, smallStep: smallStep, format: format, snapOnStep: snapOnStep, locale: locale, required: required, disabled: disabled, readOnly: readOnly, className: "rl-number-field__root", children: _jsxs(BaseNumberField.Group, { className: "rl-input rl-number-field__group", "data-size": size, "data-disabled": disabled || undefined, "data-readonly": readOnly || undefined, "data-invalid": invalid || undefined, children: [_jsx(BaseNumberField.Decrement, { className: "rl-number-field__stepper", "aria-label": messages.numberField.decrement, "data-position": "start", children: _jsx(Minus, {}) }), _jsx(BaseNumberField.Input, { ref: inputRef, className: "rl-input__control rl-number-field__input", placeholder: placeholder, "aria-roledescription": messages.numberField.roleDescription, "aria-describedby": unit != null ? unitId : undefined
|
|
19
|
+
return (_jsxs(BaseField.Root, { ...rest, ref: ref, name: name, invalid: invalid, disabled: disabled, className: cx('rl-field', 'rl-number-field', className), style: style, "data-slot": "number-field", "data-required": required || undefined, children: [_jsx(BaseField.Label, { className: cx('rl-field__label', hideLabel && 'rl-visually-hidden'), children: _jsx(LabelText, { label: label, required: required, optional: optional }) }), _jsxs("div", { className: "rl-field__body", children: [_jsx(BaseNumberField.Root, { name: name, value: value, defaultValue: defaultValue, onValueChange: onValueChange ? (next) => onValueChange(next) : undefined, onValueCommitted: onValueCommitted ? (next) => onValueCommitted(next) : undefined, min: min, max: max, step: step, largeStep: largeStep, smallStep: smallStep, format: format, snapOnStep: snapOnStep, locale: locale, required: required, disabled: disabled, readOnly: readOnly, className: "rl-number-field__root", children: _jsxs(BaseNumberField.Group, { className: "rl-input rl-number-field__group", "data-size": size, "data-disabled": disabled || undefined, "data-readonly": readOnly || undefined, "data-invalid": invalid || undefined, children: [_jsx(BaseNumberField.Decrement, { className: "rl-number-field__stepper", "aria-label": messages.numberField.decrement, "data-position": "start", children: _jsx(Minus, {}) }), _jsx(BaseNumberField.Input, { ref: inputRef, className: "rl-input__control rl-number-field__input", placeholder: placeholder, "aria-roledescription": messages.numberField.roleDescription, "aria-describedby": unit != null ? unitId : undefined, "data-inherited": inherited || undefined, onKeyDown: (event) => {
|
|
20
|
+
if (submitOnEnter && event.key === 'Enter') {
|
|
21
|
+
event.preventDefault();
|
|
22
|
+
event.currentTarget.blur();
|
|
23
|
+
onValueCommitted?.(value ?? defaultValue ?? null);
|
|
24
|
+
}
|
|
25
|
+
} }), unit != null && (_jsx("span", { id: unitId, className: "rl-input__adornment rl-number-field__unit", children: unit })), _jsx(BaseNumberField.Increment, { className: "rl-number-field__stepper", "aria-label": messages.numberField.increment, "data-position": "end", children: _jsx(Plus, {}) })] }) }), description != null && _jsx(BaseField.Description, { className: "rl-field__description", children: description }), (error != null || name != null) && _jsx(FieldErrorMessage, { error: error, match: match, name: name })] })] }));
|
|
20
26
|
}
|
|
21
27
|
//# sourceMappingURL=NumberField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberField.js","sourceRoot":"","sources":["../../src/components/NumberField.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"NumberField.js","sourceRoot":"","sources":["../../src/components/NumberField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,11 @@ export type PopoverAlign = 'start' | 'center' | 'end';
|
|
|
11
11
|
export type PopoverSize = 'sm' | 'md' | 'lg';
|
|
12
12
|
export type PopoverProps = {
|
|
13
13
|
/** Element that toggles the popover (usually a Button or IconButton with its own name). */
|
|
14
|
-
trigger
|
|
14
|
+
trigger?: React.ReactElement<Record<string, unknown>>;
|
|
15
|
+
/** External element or virtual rectangle used when the popover has no trigger. */
|
|
16
|
+
anchor?: React.RefObject<HTMLElement | null> | HTMLElement | {
|
|
17
|
+
getBoundingClientRect: () => DOMRect;
|
|
18
|
+
};
|
|
15
19
|
/** Visible heading; also the popup's accessible name. Use `aria-label` when there is no title. */
|
|
16
20
|
title?: React.ReactNode;
|
|
17
21
|
description?: React.ReactNode;
|
|
@@ -29,12 +33,13 @@ export type PopoverProps = {
|
|
|
29
33
|
defaultOpen?: boolean;
|
|
30
34
|
onOpenChange?: (open: boolean) => void;
|
|
31
35
|
/** Element to focus on open; defaults to the first tabbable element, or the popup. */
|
|
32
|
-
initialFocus?: React.RefObject<HTMLElement | null>;
|
|
36
|
+
initialFocus?: boolean | React.RefObject<HTMLElement | null>;
|
|
37
|
+
sideOffset?: number;
|
|
33
38
|
/** Accessible name when no visible `title` is rendered. */
|
|
34
39
|
'aria-label'?: string;
|
|
35
40
|
className?: string;
|
|
36
41
|
};
|
|
37
|
-
export declare function Popover({ trigger, title, description, children, actions, side, align, size, openOnHover, arrow, open, defaultOpen, onOpenChange, initialFocus, 'aria-label': ariaLabel, className, }: PopoverProps): React.JSX.Element;
|
|
42
|
+
export declare function Popover({ trigger, anchor, title, description, children, actions, side, align, size, openOnHover, arrow, open, defaultOpen, onOpenChange, initialFocus, sideOffset, 'aria-label': ariaLabel, className, }: PopoverProps): React.JSX.Element;
|
|
38
43
|
export type PopoverCloseProps = {
|
|
39
44
|
/** The element that closes the popover, e.g. `<Button variant="ghost">完成</Button>`. */
|
|
40
45
|
children: React.ReactElement<Record<string, unknown>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../src/components/Popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;;;GAMG;AAEH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG;IACzB,2FAA2F;IAC3F,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../src/components/Popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;;;GAMG;AAEH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG;IACzB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,kFAAkF;IAClF,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,WAAW,GAAG;QAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;KAAE,CAAC;IACtG,kGAAkG;IAClG,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qEAAqE;IACrE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,sFAAsF;IACtF,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,MAAM,EACN,KAAK,EACL,WAAW,EACX,QAAQ,EACR,OAAO,EACP,IAAe,EACf,KAAgB,EAChB,IAAW,EACX,WAAmB,EACnB,KAAa,EACb,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAc,EACd,YAAY,EAAE,SAAS,EACvB,SAAS,GACV,EAAE,YAAY,qBAiDd;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uFAAuF;IACvF,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD,CAAC;AAEF,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,qBAE3D"}
|
|
@@ -3,9 +3,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { Popover as BasePopover } from '@base-ui/react/popover';
|
|
4
4
|
import { usePortalContainer } from '../provider/portal.js';
|
|
5
5
|
import { cx } from '../utils/cx.js';
|
|
6
|
-
export function Popover({ trigger, title, description, children, actions, side = 'bottom', align = 'center', size = 'md', openOnHover = false, arrow = false, open, defaultOpen, onOpenChange, initialFocus, 'aria-label': ariaLabel, className, }) {
|
|
6
|
+
export function Popover({ trigger, anchor, title, description, children, actions, side = 'bottom', align = 'center', size = 'md', openOnHover = false, arrow = false, open, defaultOpen, onOpenChange, initialFocus, sideOffset = 8, 'aria-label': ariaLabel, className, }) {
|
|
7
7
|
const container = usePortalContainer();
|
|
8
|
-
return (_jsxs(BasePopover.Root, { open: open, defaultOpen: defaultOpen, onOpenChange: onOpenChange ? (next) => onOpenChange(next) : undefined, children: [_jsx(BasePopover.Trigger, { render: trigger, openOnHover: openOnHover }), _jsx(BasePopover.Portal, { container: container, children: _jsx(BasePopover.Positioner, { className: "rl-popover__positioner", side: side, align: align, sideOffset:
|
|
8
|
+
return (_jsxs(BasePopover.Root, { open: open, defaultOpen: defaultOpen, onOpenChange: onOpenChange ? (next) => onOpenChange(next) : undefined, children: [trigger && _jsx(BasePopover.Trigger, { render: trigger, openOnHover: openOnHover }), _jsx(BasePopover.Portal, { container: container, children: _jsx(BasePopover.Positioner, { className: "rl-popover__positioner", side: side, align: align, sideOffset: sideOffset, anchor: anchor && ('current' in anchor ? anchor.current : anchor), collisionPadding: 8, positionMethod: "fixed", children: _jsxs(BasePopover.Popup, { className: cx('rl-popover', className), "data-slot": "popover", "data-size": size, "aria-label": title == null ? ariaLabel : undefined, initialFocus: initialFocus, children: [arrow && (_jsx(BasePopover.Arrow, { className: "rl-popover__arrow", children: _jsxs("svg", { viewBox: "0 0 16 8", "aria-hidden": "true", focusable: "false", children: [_jsx("path", { className: "rl-popover__arrow-fill", d: "M0 8 8 0l8 8Z" }), _jsx("path", { className: "rl-popover__arrow-stroke", d: "M0 8 8 0l8 8" })] }) })), (title != null || description != null) && (_jsxs("header", { className: "rl-popover__header", children: [title != null && _jsx(BasePopover.Title, { className: "rl-popover__title", children: title }), description != null && (_jsx(BasePopover.Description, { className: "rl-popover__description", children: description }))] })), children != null && _jsx("div", { className: "rl-popover__body", children: children }), actions != null && _jsx("footer", { className: "rl-popover__actions", children: actions })] }) }) })] }));
|
|
9
9
|
}
|
|
10
10
|
/** Wraps a button so activating it closes the nearest Popover. */
|
|
11
11
|
export function PopoverClose({ children }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../src/components/Popover.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../src/components/Popover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,9 @@ export type RadioGroupProps = Pick<BaseGroupProps, 'value' | 'defaultValue' | 'o
|
|
|
25
25
|
disabled?: boolean;
|
|
26
26
|
validationMode?: FieldValidationMode;
|
|
27
27
|
orientation?: ChoiceOrientation;
|
|
28
|
+
appearance?: 'default' | 'chip' | 'card';
|
|
29
|
+
hideLabel?: boolean;
|
|
30
|
+
renderIcon?: (value: string) => React.ReactNode;
|
|
28
31
|
className?: string;
|
|
29
32
|
style?: React.CSSProperties;
|
|
30
33
|
children: React.ReactNode;
|
|
@@ -41,6 +44,9 @@ export declare const RadioGroup: React.ForwardRefExoticComponent<Pick<BaseRadioG
|
|
|
41
44
|
disabled?: boolean;
|
|
42
45
|
validationMode?: FieldValidationMode;
|
|
43
46
|
orientation?: ChoiceOrientation;
|
|
47
|
+
appearance?: "default" | "chip" | "card";
|
|
48
|
+
hideLabel?: boolean;
|
|
49
|
+
renderIcon?: (value: string) => React.ReactNode;
|
|
44
50
|
className?: string;
|
|
45
51
|
style?: React.CSSProperties;
|
|
46
52
|
children: React.ReactNode;
|
|
@@ -55,6 +61,7 @@ export type RadioProps = Omit<BaseRadioProps, 'className' | 'style' | 'render' |
|
|
|
55
61
|
description?: React.ReactNode;
|
|
56
62
|
className?: string;
|
|
57
63
|
style?: React.CSSProperties;
|
|
64
|
+
icon?: React.ReactNode;
|
|
58
65
|
};
|
|
59
66
|
export declare const Radio: React.ForwardRefExoticComponent<Omit<RadioProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
60
67
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../src/components/Radio.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;GAQG;AAEH,KAAK,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,UAAU,CAAC,GAAG;IAC5G,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,oFAAoF;IACpF,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,UAAU;
|
|
1
|
+
{"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../src/components/Radio.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;GAQG;AAEH,KAAK,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,UAAU,CAAC,GAAG;IAC5G,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,oFAAoF;IACpF,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,UAAU;WAnBd,KAAK,CAAC,SAAS;kBACR,KAAK,CAAC,SAAS;IAC7B,oFAAoF;YAC5E,KAAK,CAAC,SAAS;cACb,OAAO;WACV,MAAM;eACF,OAAO;eACP,OAAO;eACP,OAAO;qBACD,mBAAmB;kBACtB,iBAAiB;iBAClB,SAAS,GAAG,MAAM,GAAG,MAAM;gBAC5B,OAAO;iBACN,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS;gBACnC,MAAM;YACV,KAAK,CAAC,aAAa;cACjB,KAAK,CAAC,SAAS;wCAsDzB,CAAC;AAEH,KAAK,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AAElE,MAAM,MAAM,UAAU,GAAG,IAAI,CAC3B,cAAc,EACd,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,cAAc,GAAG,OAAO,GAAG,YAAY,GAAG,iBAAiB,CAC5G,GAAG;IACF,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,8FAA8F;IAC9F,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,iBAAiB,CAAC,EAAE,KAAK,CAAC;IAC1B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,KAAK,6FAkBhB,CAAC"}
|
package/dist/components/Radio.js
CHANGED
|
@@ -7,12 +7,12 @@ import { Radio as BaseRadio } from '@base-ui/react/radio';
|
|
|
7
7
|
import { RadioGroup as BaseRadioGroup } from '@base-ui/react/radio-group';
|
|
8
8
|
import { cx } from '../utils/cx.js';
|
|
9
9
|
import { ChoiceGroupContext, FieldErrorMessage, LabelText } from './fieldParts.js';
|
|
10
|
-
export const RadioGroup = React.forwardRef(function RadioGroup({ label, description, error, invalid, name, required = false, optional = false, disabled, validationMode, orientation = 'vertical', className, style, children, ...groupProps }, ref) {
|
|
10
|
+
export const RadioGroup = React.forwardRef(function RadioGroup({ label, description, error, invalid, name, required = false, optional = false, disabled, validationMode, orientation = 'vertical', appearance = 'default', hideLabel = false, renderIcon, className, style, children, ...groupProps }, ref) {
|
|
11
11
|
const match = invalid ? true : undefined;
|
|
12
|
-
return (_jsxs(BaseField.Root, { ref: ref, name: name, disabled: disabled, invalid: invalid, validationMode: validationMode, className: cx('rl-choice-group', className), style: style, "data-slot": "radio-group", children: [_jsxs(BaseFieldset.Root, { className: "rl-choice-group__fieldset", render: _jsx(BaseRadioGroup, { ...groupProps, required: required, disabled: disabled }), children: [_jsx(BaseFieldset.Legend, { className: "rl-choice-group__legend", children: _jsx(LabelText, { label: label, required: required, optional: optional }) }), _jsx("div", { className: "rl-choice-group__items", "data-orientation": orientation, children: _jsx(ChoiceGroupContext.Provider, { value: "radio", children: children }) })] }), description != null && _jsx(BaseField.Description, { className: "rl-field__description", children: description }), (error != null || name != null) && _jsx(FieldErrorMessage, { error: error, match: match, name: name })] }));
|
|
12
|
+
return (_jsxs(BaseField.Root, { ref: ref, name: name, disabled: disabled, invalid: invalid, validationMode: validationMode, className: cx('rl-choice-group', className), style: style, "data-slot": "radio-group", "data-appearance": appearance, "data-hide-label": hideLabel || undefined, children: [_jsxs(BaseFieldset.Root, { className: "rl-choice-group__fieldset", render: _jsx(BaseRadioGroup, { ...groupProps, required: required, disabled: disabled }), children: [_jsx(BaseFieldset.Legend, { className: "rl-choice-group__legend", children: _jsx(LabelText, { label: label, required: required, optional: optional }) }), _jsx("div", { className: "rl-choice-group__items", "data-orientation": orientation, children: _jsx(ChoiceGroupContext.Provider, { value: "radio", children: React.Children.map(children, (child) => React.isValidElement(child) && renderIcon ? React.cloneElement(child, { icon: renderIcon(String(child.props.value)) }) : child) }) })] }), description != null && _jsx(BaseField.Description, { className: "rl-field__description", children: description }), (error != null || name != null) && _jsx(FieldErrorMessage, { error: error, match: match, name: name })] }));
|
|
13
13
|
});
|
|
14
|
-
export const Radio = React.forwardRef(function Radio({ value, label, description, disabled, className, style, ...rest }, ref) {
|
|
14
|
+
export const Radio = React.forwardRef(function Radio({ value, label, description, disabled, className, style, icon, ...rest }, ref) {
|
|
15
15
|
// Outside <RadioGroup> Base UI throws (Field.Item needs a Field.Root), which is the intended failure.
|
|
16
|
-
return (_jsxs(BaseField.Item, { className: cx('rl-choice', className), style: style, disabled: disabled, "data-kind": "radio", children: [_jsxs(BaseField.Label, { className: "rl-choice__label", children: [_jsx(BaseRadio.Root, { ...rest, ref: ref, value: value, disabled: disabled, className: "rl-radio", "data-slot": "radio", children: _jsx(BaseRadio.Indicator, { className: "rl-radio__indicator", keepMounted: true }) }), _jsx("span", { className: "rl-choice__text", children: label })] }), description != null && (_jsx(BaseField.Description, { className: "rl-choice__description", children: description }))] }));
|
|
16
|
+
return (_jsxs(BaseField.Item, { className: cx('rl-choice', className), style: style, disabled: disabled, "data-kind": "radio", children: [_jsxs(BaseField.Label, { className: "rl-choice__label", children: [_jsx(BaseRadio.Root, { ...rest, ref: ref, value: value, disabled: disabled, className: "rl-radio", "data-slot": "radio", children: _jsx(BaseRadio.Indicator, { className: "rl-radio__indicator", keepMounted: true }) }), icon && _jsx("span", { className: "rl-choice__icon", "aria-hidden": "true", children: icon }), _jsx("span", { className: "rl-choice__text", children: label })] }), description != null && (_jsx(BaseField.Description, { className: "rl-choice__description", children: description }))] }));
|
|
17
17
|
});
|
|
18
18
|
//# sourceMappingURL=Radio.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/components/Radio.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/components/Radio.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export type ResizeHandleProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'role' | 'defaultValue' | 'onChange'> & {
|
|
3
|
+
size?: number;
|
|
4
|
+
defaultSize?: number;
|
|
5
|
+
onSizeChange?: (size: number) => void;
|
|
6
|
+
onDraggingChange?: (dragging: boolean) => void;
|
|
7
|
+
min: number;
|
|
8
|
+
max: number;
|
|
9
|
+
step?: number;
|
|
10
|
+
largeStep?: number;
|
|
11
|
+
resetSize?: number;
|
|
12
|
+
pane?: 'start' | 'end';
|
|
13
|
+
label?: string;
|
|
14
|
+
getAriaValueText?: (size: number) => string;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export declare const ResizeHandle: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, "children" | "role" | "defaultValue" | "onChange"> & {
|
|
18
|
+
size?: number;
|
|
19
|
+
defaultSize?: number;
|
|
20
|
+
onSizeChange?: (size: number) => void;
|
|
21
|
+
onDraggingChange?: (dragging: boolean) => void;
|
|
22
|
+
min: number;
|
|
23
|
+
max: number;
|
|
24
|
+
step?: number;
|
|
25
|
+
largeStep?: number;
|
|
26
|
+
resetSize?: number;
|
|
27
|
+
pane?: "start" | "end";
|
|
28
|
+
label?: string;
|
|
29
|
+
getAriaValueText?: (size: number) => string;
|
|
30
|
+
disabled?: boolean;
|
|
31
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
32
|
+
//# sourceMappingURL=ResizeHandle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResizeHandle.d.ts","sourceRoot":"","sources":["../../src/components/ResizeHandle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,UAAU,CAAC,GAAG;IAC9H,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAKF,eAAO,MAAM,YAAY;WAlBhB,MAAM;kBACC,MAAM;mBACL,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;uBAClB,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI;SACzC,MAAM;SACN,MAAM;WACJ,MAAM;gBACD,MAAM;gBACN,MAAM;WACX,OAAO,GAAG,KAAK;YACd,MAAM;uBACK,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;eAChC,OAAO;wCAiBlB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { cx } from '../utils/cx.js';
|
|
5
|
+
const clamp = (value, min, max) => Math.round(Math.min(Math.max(value, min), Math.max(min, max)));
|
|
6
|
+
const rtl = (el) => typeof getComputedStyle !== 'undefined' && getComputedStyle(el).direction === 'rtl';
|
|
7
|
+
export const ResizeHandle = React.forwardRef(function ResizeHandle({ size: sizeProp, defaultSize, onSizeChange, onDraggingChange, min, max, step = 16, largeStep = 64, resetSize, pane = 'end', label = 'Resize panel', getAriaValueText, disabled = false, className, onKeyDown, onPointerDown, onPointerMove, onPointerUp, onPointerCancel, onLostPointerCapture, onDoubleClick, ...rest }, ref) {
|
|
8
|
+
const [inner, setInner] = React.useState(defaultSize ?? min);
|
|
9
|
+
const [dragging, setDragging] = React.useState(false);
|
|
10
|
+
const raw = sizeProp ?? inner;
|
|
11
|
+
const value = clamp(raw, min, max);
|
|
12
|
+
const drag = React.useRef(null);
|
|
13
|
+
const commit = (next) => { const clamped = clamp(next, min, max); if (sizeProp === undefined)
|
|
14
|
+
setInner(clamped); onSizeChange?.(clamped); };
|
|
15
|
+
const direction = (el) => ((pane === 'end') !== rtl(el) ? -1 : 1);
|
|
16
|
+
const stop = () => { if (drag.current) {
|
|
17
|
+
drag.current = null;
|
|
18
|
+
setDragging(false);
|
|
19
|
+
onDraggingChange?.(false);
|
|
20
|
+
} };
|
|
21
|
+
React.useEffect(() => () => { if (drag.current)
|
|
22
|
+
onDraggingChange?.(false); }, [onDraggingChange]);
|
|
23
|
+
return _jsx("div", { ...rest, ref: ref, role: "separator", "aria-orientation": "vertical", "aria-label": rest['aria-labelledby'] ? undefined : label, "aria-valuenow": value, "aria-valuemin": min, "aria-valuemax": Math.max(min, max), "aria-valuetext": getAriaValueText?.(value) ?? `${value}px`, "aria-disabled": disabled || undefined, tabIndex: disabled ? -1 : 0, className: cx('rl-resize-handle', className), "data-pane": pane, "data-dragging": dragging || undefined, onKeyDown: (event) => { onKeyDown?.(event); if (event.defaultPrevented || disabled)
|
|
24
|
+
return; const amount = event.shiftKey ? largeStep : step; const dir = direction(event.currentTarget); const next = event.key === 'ArrowLeft' ? value - amount * dir : event.key === 'ArrowRight' ? value + amount * dir : event.key === 'Home' ? min : event.key === 'End' ? max : null; if (next == null)
|
|
25
|
+
return; event.preventDefault(); commit(next); }, onPointerDown: (event) => { onPointerDown?.(event); if (event.defaultPrevented || disabled || event.button !== 0 || drag.current)
|
|
26
|
+
return; event.currentTarget.setPointerCapture?.(event.pointerId); drag.current = { x: event.clientX, value, direction: direction(event.currentTarget), pointerId: event.pointerId }; setDragging(true); onDraggingChange?.(true); event.preventDefault(); event.currentTarget.focus(); }, onPointerMove: (event) => { onPointerMove?.(event); const current = drag.current; if (!current || current.pointerId !== event.pointerId)
|
|
27
|
+
return; commit(current.value + (event.clientX - current.x) * current.direction); }, onPointerUp: (event) => { onPointerUp?.(event); if (drag.current?.pointerId === event.pointerId)
|
|
28
|
+
stop(); }, onPointerCancel: (event) => { onPointerCancel?.(event); if (drag.current?.pointerId === event.pointerId)
|
|
29
|
+
stop(); }, onLostPointerCapture: (event) => { onLostPointerCapture?.(event); if (drag.current && (!event.pointerId || drag.current.pointerId === event.pointerId))
|
|
30
|
+
stop(); }, onDoubleClick: (event) => { onDoubleClick?.(event); if (!event.defaultPrevented && !disabled)
|
|
31
|
+
commit(resetSize ?? defaultSize ?? min); } });
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=ResizeHandle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResizeHandle.js","sourceRoot":"","sources":["../../src/components/ResizeHandle.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ import * as React from 'react';
|
|
|
18
18
|
* <ScrollArea label="运行日志" maxHeight="20rem">{lines}</ScrollArea>
|
|
19
19
|
*/
|
|
20
20
|
export type ScrollAreaOrientation = 'vertical' | 'both';
|
|
21
|
+
export type ScrollReveal = 'always' | 'hover' | 'scroll';
|
|
21
22
|
export type ScrollAreaProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'onScroll' | 'aria-label' | 'role'> & {
|
|
22
23
|
/** Accessible name of the scrollable region, e.g. 「运行日志」. */
|
|
23
24
|
label: string;
|
|
@@ -34,6 +35,8 @@ export type ScrollAreaProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'childr
|
|
|
34
35
|
onScrollIntentUp?: () => void;
|
|
35
36
|
/** Class on the viewport, for padding or content layout. */
|
|
36
37
|
viewportClassName?: string;
|
|
38
|
+
reveal?: ScrollReveal;
|
|
39
|
+
thumbMinSize?: string;
|
|
37
40
|
};
|
|
38
41
|
export declare const ScrollArea: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, "children" | "role" | "aria-label" | "onScroll"> & {
|
|
39
42
|
/** Accessible name of the scrollable region, e.g. 「运行日志」. */
|
|
@@ -51,5 +54,7 @@ export declare const ScrollArea: React.ForwardRefExoticComponent<Omit<React.HTML
|
|
|
51
54
|
onScrollIntentUp?: () => void;
|
|
52
55
|
/** Class on the viewport, for padding or content layout. */
|
|
53
56
|
viewportClassName?: string;
|
|
57
|
+
reveal?: ScrollReveal;
|
|
58
|
+
thumbMinSize?: string;
|
|
54
59
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
55
60
|
//# sourceMappingURL=ScrollArea.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollArea.d.ts","sourceRoot":"","sources":["../../src/components/ScrollArea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ScrollArea.d.ts","sourceRoot":"","sources":["../../src/components/ScrollArea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,MAAM,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC,GAAG;IAC1H,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,yEAAyE;IACzE,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC,sGAAsG;IACtG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAChD,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,eAAO,MAAM,UAAU;IArBrB,6DAA6D;WACtD,MAAM;cACH,KAAK,CAAC,SAAS;IACzB,yEAAyE;kBAC3D,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;IACvC,sGAAsG;gBAC1F,MAAM;IAClB,yFAAyF;kBAC3E,qBAAqB;IACnC,4CAA4C;eACjC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC/C,wDAAwD;uBACrC,MAAM,IAAI;IAC7B,4DAA4D;wBACxC,MAAM;aACjB,YAAY;mBACN,MAAM;wCA+FrB,CAAC"}
|
|
@@ -4,7 +4,7 @@ import * as React from 'react';
|
|
|
4
4
|
import { ScrollArea as BaseScrollArea } from '@base-ui/react/scroll-area';
|
|
5
5
|
import { cx } from '../utils/cx.js';
|
|
6
6
|
const UP_KEYS = new Set(['ArrowUp', 'PageUp', 'Home']);
|
|
7
|
-
export const ScrollArea = React.forwardRef(function ScrollArea({ label, children, viewportRef, maxHeight, orientation = 'vertical', onScroll, onScrollIntentUp, viewportClassName, className, style, ...rest }, ref) {
|
|
7
|
+
export const ScrollArea = React.forwardRef(function ScrollArea({ label, children, viewportRef, maxHeight, orientation = 'vertical', onScroll, onScrollIntentUp, viewportClassName, reveal = 'hover', thumbMinSize, className, style, ...rest }, ref) {
|
|
8
8
|
const dragY = React.useRef(null);
|
|
9
9
|
const thumbRef = React.useRef(null);
|
|
10
10
|
const both = orientation === 'both';
|
|
@@ -56,7 +56,7 @@ export const ScrollArea = React.forwardRef(function ScrollArea({ label, children
|
|
|
56
56
|
}
|
|
57
57
|
: {};
|
|
58
58
|
const rootStyle = maxHeight !== undefined ? { ...style, '--rl-scroll-area-max-height': maxHeight } : style;
|
|
59
|
-
return (_jsxs(BaseScrollArea.Root, { ...rest, ref: ref, className: cx('rl-scroll-area', className), "data-slot": "scroll-area", "data-orientation": orientation, style: rootStyle, children: [_jsx(BaseScrollArea.Viewport, { ref: viewportRef, role: "region", "aria-label": label, className: cx('rl-scroll-area__viewport', viewportClassName),
|
|
59
|
+
return (_jsxs(BaseScrollArea.Root, { ...rest, ref: ref, className: cx('rl-scroll-area', className), "data-slot": "scroll-area", "data-orientation": orientation, style: { ...rootStyle, ...(thumbMinSize ? { '--rl-scroll-thumb-min': thumbMinSize } : undefined) }, "data-reveal": reveal, children: [_jsx(BaseScrollArea.Viewport, { ref: viewportRef, role: "region", "aria-label": label, className: cx('rl-scroll-area__viewport', viewportClassName),
|
|
60
60
|
// Vertical-only areas wrap to the width instead of growing a horizontal scroller.
|
|
61
61
|
style: both ? undefined : { overflowX: 'hidden' }, onScroll: onScroll, ...viewportHandlers, children: _jsx(BaseScrollArea.Content, { className: "rl-scroll-area__content", style: both ? undefined : { minWidth: 0 }, children: children }) }), _jsx(BaseScrollArea.Scrollbar, { className: "rl-scroll-area__scrollbar", orientation: "vertical", ...scrollbarHandlers, children: _jsx(BaseScrollArea.Thumb, { ref: thumbRef, className: "rl-scroll-area__thumb", ...thumbHandlers }) }), both && (_jsxs(_Fragment, { children: [_jsx(BaseScrollArea.Scrollbar, { className: "rl-scroll-area__scrollbar", orientation: "horizontal", children: _jsx(BaseScrollArea.Thumb, { className: "rl-scroll-area__thumb" }) }), _jsx(BaseScrollArea.Corner, { className: "rl-scroll-area__corner" })] }))] }));
|
|
62
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollArea.js","sourceRoot":"","sources":["../../src/components/ScrollArea.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ScrollArea.js","sourceRoot":"","sources":["../../src/components/ScrollArea.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface TreeNode {
|
|
3
|
+
id: string;
|
|
4
|
+
label: React.ReactNode;
|
|
5
|
+
textValue?: string;
|
|
6
|
+
children?: TreeNode[];
|
|
7
|
+
loading?: boolean;
|
|
8
|
+
error?: React.ReactNode;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
hasChildren?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type TreeProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'onSelect'> & {
|
|
13
|
+
label: string;
|
|
14
|
+
nodes: readonly TreeNode[];
|
|
15
|
+
selectedId?: string;
|
|
16
|
+
defaultSelectedId?: string;
|
|
17
|
+
onSelect?: (node: TreeNode) => void;
|
|
18
|
+
expandedIds?: readonly string[];
|
|
19
|
+
defaultExpandedIds?: readonly string[];
|
|
20
|
+
onExpandedChange?: (ids: string[]) => void;
|
|
21
|
+
onToggle?: (node: TreeNode, expanded: boolean) => void;
|
|
22
|
+
onLoadChildren?: (node: TreeNode) => void | Promise<void>;
|
|
23
|
+
onRetry?: (node: TreeNode) => void | Promise<void>;
|
|
24
|
+
empty?: React.ReactNode;
|
|
25
|
+
renderActions?: (node: TreeNode) => React.ReactNode;
|
|
26
|
+
};
|
|
27
|
+
export declare function Tree({ label, nodes, selectedId, defaultSelectedId, onSelect, expandedIds, defaultExpandedIds, onExpandedChange, onToggle, onLoadChildren, onRetry, empty, renderActions, className, onKeyDown, ...rest }: TreeProps): React.JSX.Element;
|
|
28
|
+
//# sourceMappingURL=Tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../src/components/Tree.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AACD,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG;IAC5F,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,SAAS,CAAC;CACrD,CAAC;AAEF,wBAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAuB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,qBAoGxO"}
|