@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.
Files changed (76) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/dist/components/Alert.d.ts +3 -0
  3. package/dist/components/Alert.d.ts.map +1 -1
  4. package/dist/components/Alert.js +2 -2
  5. package/dist/components/Alert.js.map +1 -1
  6. package/dist/components/AlertDialog.d.ts +9 -1
  7. package/dist/components/AlertDialog.d.ts.map +1 -1
  8. package/dist/components/AlertDialog.js +25 -4
  9. package/dist/components/AlertDialog.js.map +1 -1
  10. package/dist/components/Badge.d.ts +17 -0
  11. package/dist/components/Badge.d.ts.map +1 -0
  12. package/dist/components/Badge.js +16 -0
  13. package/dist/components/Badge.js.map +1 -0
  14. package/dist/components/Button.d.ts +3 -0
  15. package/dist/components/Button.d.ts.map +1 -1
  16. package/dist/components/Button.js +2 -2
  17. package/dist/components/Button.js.map +1 -1
  18. package/dist/components/Dialog.d.ts +5 -1
  19. package/dist/components/Dialog.d.ts.map +1 -1
  20. package/dist/components/Dialog.js +4 -2
  21. package/dist/components/Dialog.js.map +1 -1
  22. package/dist/components/Fieldset.d.ts +2 -1
  23. package/dist/components/Fieldset.d.ts.map +1 -1
  24. package/dist/components/Fieldset.js +2 -2
  25. package/dist/components/Fieldset.js.map +1 -1
  26. package/dist/components/Form.d.ts +1 -0
  27. package/dist/components/Form.d.ts.map +1 -1
  28. package/dist/components/Form.js +2 -2
  29. package/dist/components/Form.js.map +1 -1
  30. package/dist/components/Icon.d.ts +25 -0
  31. package/dist/components/Icon.d.ts.map +1 -0
  32. package/dist/components/Icon.js +38 -0
  33. package/dist/components/Icon.js.map +1 -0
  34. package/dist/components/NumberField.d.ts +3 -1
  35. package/dist/components/NumberField.d.ts.map +1 -1
  36. package/dist/components/NumberField.js +8 -2
  37. package/dist/components/NumberField.js.map +1 -1
  38. package/dist/components/Popover.d.ts +8 -3
  39. package/dist/components/Popover.d.ts.map +1 -1
  40. package/dist/components/Popover.js +2 -2
  41. package/dist/components/Popover.js.map +1 -1
  42. package/dist/components/Radio.d.ts +7 -0
  43. package/dist/components/Radio.d.ts.map +1 -1
  44. package/dist/components/Radio.js +4 -4
  45. package/dist/components/Radio.js.map +1 -1
  46. package/dist/components/ResizeHandle.d.ts +32 -0
  47. package/dist/components/ResizeHandle.d.ts.map +1 -0
  48. package/dist/components/ResizeHandle.js +33 -0
  49. package/dist/components/ResizeHandle.js.map +1 -0
  50. package/dist/components/ScrollArea.d.ts +5 -0
  51. package/dist/components/ScrollArea.d.ts.map +1 -1
  52. package/dist/components/ScrollArea.js +2 -2
  53. package/dist/components/ScrollArea.js.map +1 -1
  54. package/dist/components/Tree.d.ts +28 -0
  55. package/dist/components/Tree.d.ts.map +1 -0
  56. package/dist/components/Tree.js +129 -0
  57. package/dist/components/Tree.js.map +1 -0
  58. package/dist/components/Workbench.d.ts +31 -0
  59. package/dist/components/Workbench.d.ts.map +1 -0
  60. package/dist/components/Workbench.js +71 -0
  61. package/dist/components/Workbench.js.map +1 -0
  62. package/dist/components/navigation.d.ts +38 -0
  63. package/dist/components/navigation.d.ts.map +1 -0
  64. package/dist/components/navigation.js +96 -0
  65. package/dist/components/navigation.js.map +1 -0
  66. package/dist/components.css +46 -0
  67. package/dist/forms.css +17 -0
  68. package/dist/index.d.ts +16 -4
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +6 -0
  71. package/dist/index.js.map +1 -1
  72. package/dist/provider/messages.d.ts +19 -0
  73. package/dist/provider/messages.d.ts.map +1 -1
  74. package/dist/provider/messages.js +8 -0
  75. package/dist/provider/messages.js.map +1 -1
  76. 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,qBAuElB"}
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 }), 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 })] })] }));
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":"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"}
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: React.ReactElement<Record<string, unknown>>;
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;IACrD,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,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACnD,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,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,YAAY,EAAE,SAAS,EACvB,SAAS,GACV,EAAE,YAAY,qBAgDd;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"}
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, 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 })] }) }) })] }));
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;AAwCpC,MAAM,UAAU,OAAO,CAAC,EACtB,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,OAAO,EACP,IAAI,GAAG,QAAQ,EACf,KAAK,GAAG,QAAQ,EAChB,IAAI,GAAG,IAAI,EACX,WAAW,GAAG,KAAK,EACnB,KAAK,GAAG,KAAK,EACb,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EAAE,SAAS,EACvB,SAAS,GACI;IACb,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,OAAO,CACL,MAAC,WAAW,CAAC,IAAI,IACf,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,aAErE,KAAC,WAAW,CAAC,OAAO,IAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAI,EAClE,KAAC,WAAW,CAAC,MAAM,IAAC,SAAS,EAAE,SAAS,YACtC,KAAC,WAAW,CAAC,UAAU,IACrB,SAAS,EAAC,wBAAwB,EAClC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,CAAC,EACb,gBAAgB,EAAE,CAAC,EACnB,cAAc,EAAC,OAAO,YAEtB,MAAC,WAAW,CAAC,KAAK,IAChB,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,eAC5B,SAAS,eACR,IAAI,gBACH,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACjD,YAAY,EAAE,YAAY,aAEzB,KAAK,IAAI,CACR,KAAC,WAAW,CAAC,KAAK,IAAC,SAAS,EAAC,mBAAmB,YAC9C,eAAK,OAAO,EAAC,UAAU,iBAAa,MAAM,EAAC,SAAS,EAAC,OAAO,aAC1D,eAAM,SAAS,EAAC,wBAAwB,EAAC,CAAC,EAAC,eAAe,GAAG,EAC7D,eAAM,SAAS,EAAC,0BAA0B,EAAC,CAAC,EAAC,cAAc,GAAG,IAC1D,GACY,CACrB,EACA,CAAC,KAAK,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,CACzC,kBAAQ,SAAS,EAAC,oBAAoB,aACnC,KAAK,IAAI,IAAI,IAAI,KAAC,WAAW,CAAC,KAAK,IAAC,SAAS,EAAC,mBAAmB,YAAE,KAAK,GAAqB,EAC7F,WAAW,IAAI,IAAI,IAAI,CACtB,KAAC,WAAW,CAAC,WAAW,IAAC,SAAS,EAAC,yBAAyB,YAAE,WAAW,GAA2B,CACrG,IACM,CACV,EACA,QAAQ,IAAI,IAAI,IAAI,cAAK,SAAS,EAAC,kBAAkB,YAAE,QAAQ,GAAO,EACtE,OAAO,IAAI,IAAI,IAAI,iBAAQ,SAAS,EAAC,qBAAqB,YAAE,OAAO,GAAU,IAC5D,GACG,GACN,IACJ,CACpB,CAAC;AACJ,CAAC;AAOD,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAqB;IAC1D,OAAO,KAAC,WAAW,CAAC,KAAK,IAAC,MAAM,EAAE,QAAQ,GAAI,CAAC;AACjD,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;WAhBd,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;gBACnB,MAAM;YACV,KAAK,CAAC,aAAa;cACjB,KAAK,CAAC,SAAS;wCAiDzB,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;CAC7B,CAAC;AAEF,eAAO,MAAM,KAAK,6FAkBhB,CAAC"}
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"}
@@ -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":"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"}
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;AAExD,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;CAC5B,CAAC;AAIF,eAAO,MAAM,UAAU;IAnBrB,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;wCA8F1B,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":"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"}
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"}