@rinzai/zen 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -7
- package/dist/accordion/index.d.ts +41 -0
- package/dist/accordion/index.d.ts.map +1 -0
- package/dist/accordion/index.js +81 -0
- package/dist/animated-number/index.d.ts +3 -2
- package/dist/animated-number/index.d.ts.map +1 -1
- package/dist/animated-number/index.js +40 -38
- package/dist/avatar/index.d.ts +7 -2
- package/dist/avatar/index.d.ts.map +1 -1
- package/dist/avatar/index.js +17 -11
- package/dist/backdrop/index.d.ts +4 -4
- package/dist/backdrop/index.d.ts.map +1 -1
- package/dist/backdrop/index.js +41 -39
- package/dist/badge/index.d.ts +4 -2
- package/dist/badge/index.d.ts.map +1 -1
- package/dist/badge/index.js +20 -11
- package/dist/base.css +4 -0
- package/dist/breadcrumbs/index.d.ts +1 -1
- package/dist/breadcrumbs/index.d.ts.map +1 -1
- package/dist/breadcrumbs/index.js +25 -24
- package/dist/button/index.d.ts +3 -3
- package/dist/button/index.d.ts.map +1 -1
- package/dist/button/index.js +16 -11
- package/dist/button-group/index.d.ts +13 -0
- package/dist/button-group/index.d.ts.map +1 -0
- package/dist/button-group/index.js +14 -0
- package/dist/calendar/index.d.ts +15 -8
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/index.js +97 -91
- package/dist/calendar-heatmap/index.d.ts +7 -5
- package/dist/calendar-heatmap/index.d.ts.map +1 -1
- package/dist/calendar-heatmap/index.js +32 -30
- package/dist/canvas/geometry.js +0 -1
- package/dist/canvas/index.d.ts +6 -6
- package/dist/canvas/index.d.ts.map +1 -1
- package/dist/canvas/index.js +135 -133
- package/dist/carousel/index.d.ts +27 -0
- package/dist/carousel/index.d.ts.map +1 -0
- package/dist/carousel/index.js +162 -0
- package/dist/chart/index.d.ts +5 -4
- package/dist/chart/index.d.ts.map +1 -1
- package/dist/chart/index.js +137 -135
- package/dist/chart/palette.js +0 -1
- package/dist/checkbox/index.d.ts +3 -3
- package/dist/checkbox/index.d.ts.map +1 -1
- package/dist/checkbox/index.js +33 -30
- package/dist/chip/index.js +1 -1
- package/dist/code-block/index.d.ts.map +1 -1
- package/dist/code-block/index.js +27 -25
- package/dist/code-input/index.d.ts.map +1 -1
- package/dist/code-input/index.js +30 -24
- package/dist/collapse/index.d.ts +4 -3
- package/dist/collapse/index.d.ts.map +1 -1
- package/dist/collapse/index.js +42 -39
- package/dist/color-picker/index.d.ts +14 -7
- package/dist/color-picker/index.d.ts.map +1 -1
- package/dist/color-picker/index.js +139 -128
- package/dist/combobox/index.d.ts +14 -6
- package/dist/combobox/index.d.ts.map +1 -1
- package/dist/combobox/index.js +158 -146
- package/dist/command-palette/index.d.ts +4 -3
- package/dist/command-palette/index.d.ts.map +1 -1
- package/dist/command-palette/index.js +60 -57
- package/dist/confirm-dialog/index.d.ts +6 -7
- package/dist/confirm-dialog/index.d.ts.map +1 -1
- package/dist/confirm-dialog/index.js +20 -16
- package/dist/date-picker/index.d.ts +23 -14
- package/dist/date-picker/index.d.ts.map +1 -1
- package/dist/date-picker/index.js +109 -93
- package/dist/dialog/index.d.ts +3 -4
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/dialog/index.js +58 -55
- package/dist/disclosure/index.d.ts +8 -0
- package/dist/disclosure/index.d.ts.map +1 -1
- package/dist/disclosure/index.js +31 -32
- package/dist/editable-cell/index.d.ts +4 -5
- package/dist/editable-cell/index.d.ts.map +1 -1
- package/dist/editable-cell/index.js +23 -22
- package/dist/field/index.d.ts +8 -8
- package/dist/field/index.d.ts.map +1 -1
- package/dist/field/index.js +20 -18
- package/dist/filter-bar/index.d.ts +2 -2
- package/dist/filter-bar/index.d.ts.map +1 -1
- package/dist/filter-bar/index.js +38 -36
- package/dist/header/index.d.ts +1 -1
- package/dist/header/index.d.ts.map +1 -1
- package/dist/header/index.js +13 -11
- package/dist/hover-card/index.d.ts +32 -0
- package/dist/hover-card/index.d.ts.map +1 -0
- package/dist/hover-card/index.js +84 -0
- package/dist/icon-picker/index.d.ts +16 -5
- package/dist/icon-picker/index.d.ts.map +1 -1
- package/dist/icon-picker/index.js +42 -47
- package/dist/icons/micro/plus.d.ts +3 -0
- package/dist/icons/micro/plus.d.ts.map +1 -0
- package/dist/icons/micro/plus.js +17 -0
- package/dist/index.d.ts +37 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/input/index.d.ts +5 -1
- package/dist/input/index.d.ts.map +1 -1
- package/dist/input/index.js +9 -9
- package/dist/input-group/index.d.ts +4 -1
- package/dist/input-group/index.d.ts.map +1 -1
- package/dist/input-group/index.js +14 -14
- package/dist/keypad/index.d.ts +9 -7
- package/dist/keypad/index.d.ts.map +1 -1
- package/dist/keypad/index.js +22 -19
- package/dist/lib.js +112 -97
- package/dist/load-more/index.d.ts +4 -2
- package/dist/load-more/index.d.ts.map +1 -1
- package/dist/load-more/index.js +26 -23
- package/dist/locale-provider/index.d.ts +23 -0
- package/dist/locale-provider/index.d.ts.map +1 -0
- package/dist/locale-provider/index.js +35 -0
- package/dist/menu/index.d.ts +62 -9
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/menu/index.js +371 -128
- package/dist/meter/index.d.ts +2 -2
- package/dist/meter/index.d.ts.map +1 -1
- package/dist/meter/index.js +4 -4
- package/dist/money-input/index.d.ts +20 -10
- package/dist/money-input/index.d.ts.map +1 -1
- package/dist/money-input/index.js +199 -190
- package/dist/month-picker/index.d.ts +17 -10
- package/dist/month-picker/index.d.ts.map +1 -1
- package/dist/month-picker/index.js +97 -86
- package/dist/navigation-menu/index.d.ts +42 -0
- package/dist/navigation-menu/index.d.ts.map +1 -0
- package/dist/navigation-menu/index.js +144 -0
- package/dist/number-field/index.d.ts +34 -0
- package/dist/number-field/index.d.ts.map +1 -0
- package/dist/number-field/index.js +119 -0
- package/dist/page-header/index.d.ts +4 -3
- package/dist/page-header/index.d.ts.map +1 -1
- package/dist/page-header/index.js +2 -1
- package/dist/pagination/index.d.ts +1 -1
- package/dist/pagination/index.d.ts.map +1 -1
- package/dist/pagination/index.js +35 -33
- package/dist/progress-ring/index.d.ts +4 -3
- package/dist/progress-ring/index.d.ts.map +1 -1
- package/dist/progress-ring/index.js +11 -10
- package/dist/radio-cards/index.d.ts +9 -5
- package/dist/radio-cards/index.d.ts.map +1 -1
- package/dist/radio-cards/index.js +26 -24
- package/dist/radio-group/index.d.ts +9 -8
- package/dist/radio-group/index.d.ts.map +1 -1
- package/dist/radio-group/index.js +35 -34
- package/dist/range-slider/index.d.ts +10 -4
- package/dist/range-slider/index.d.ts.map +1 -1
- package/dist/range-slider/index.js +43 -31
- package/dist/repeat-picker/index.d.ts +13 -6
- package/dist/repeat-picker/index.d.ts.map +1 -1
- package/dist/repeat-picker/index.js +73 -61
- package/dist/resizable/index.d.ts +29 -0
- package/dist/resizable/index.d.ts.map +1 -0
- package/dist/resizable/index.js +135 -0
- package/dist/segmented/index.d.ts +8 -5
- package/dist/segmented/index.d.ts.map +1 -1
- package/dist/segmented/index.js +36 -34
- package/dist/select/index.d.ts +9 -3
- package/dist/select/index.d.ts.map +1 -1
- package/dist/select/index.js +99 -96
- package/dist/separator/index.d.ts +14 -0
- package/dist/separator/index.d.ts.map +1 -0
- package/dist/separator/index.js +15 -0
- package/dist/side-nav/index.js +1 -1
- package/dist/skeleton/index.d.ts +4 -4
- package/dist/skeleton/index.d.ts.map +1 -1
- package/dist/skeleton/index.js +4 -3
- package/dist/slider/index.d.ts +6 -3
- package/dist/slider/index.d.ts.map +1 -1
- package/dist/slider/index.js +29 -23
- package/dist/sortable/index.d.ts +10 -20
- package/dist/sortable/index.d.ts.map +1 -1
- package/dist/sortable/index.js +72 -134
- package/dist/sortable/shared.d.ts +56 -0
- package/dist/sortable/shared.d.ts.map +1 -0
- package/dist/sortable/shared.js +104 -0
- package/dist/sortable/tree-model.d.ts +46 -0
- package/dist/sortable/tree-model.d.ts.map +1 -0
- package/dist/sortable/tree-model.js +87 -0
- package/dist/sortable/tree.d.ts +31 -0
- package/dist/sortable/tree.d.ts.map +1 -0
- package/dist/sortable/tree.js +150 -0
- package/dist/sparkline/index.d.ts +1 -1
- package/dist/sparkline/index.d.ts.map +1 -1
- package/dist/sparkline/index.js +26 -25
- package/dist/spinner/index.d.ts +4 -3
- package/dist/spinner/index.d.ts.map +1 -1
- package/dist/spinner/index.js +2 -1
- package/dist/status-pill/index.d.ts.map +1 -1
- package/dist/status-pill/index.js +1 -1
- package/dist/stepper/index.d.ts +1 -1
- package/dist/stepper/index.d.ts.map +1 -1
- package/dist/stepper/index.js +31 -30
- package/dist/tab-bar/index.js +1 -1
- package/dist/table/index.d.ts +5 -5
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +66 -64
- package/dist/table/selection.d.ts +2 -2
- package/dist/table/selection.d.ts.map +1 -1
- package/dist/table/selection.js +41 -38
- package/dist/table/swipe.d.ts +1 -1
- package/dist/table/swipe.d.ts.map +1 -1
- package/dist/table/swipe.js +1 -1
- package/dist/table-of-contents/index.d.ts +4 -2
- package/dist/table-of-contents/index.d.ts.map +1 -1
- package/dist/table-of-contents/index.js +27 -25
- package/dist/tabs/index.d.ts.map +1 -1
- package/dist/tabs/index.js +90 -88
- package/dist/tag-input/index.d.ts +3 -1
- package/dist/tag-input/index.d.ts.map +1 -1
- package/dist/tag-input/index.js +61 -52
- package/dist/theme-toggle/index.d.ts +9 -8
- package/dist/theme-toggle/index.d.ts.map +1 -1
- package/dist/theme-toggle/index.js +30 -28
- package/dist/theme.css +90 -12
- package/dist/time-field/index.d.ts +31 -0
- package/dist/time-field/index.d.ts.map +1 -0
- package/dist/time-field/index.js +175 -0
- package/dist/timeline/index.js +1 -1
- package/dist/toast/index.d.ts +1 -1
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toast/index.js +127 -125
- package/dist/toggle/index.d.ts +2 -2
- package/dist/toggle/index.d.ts.map +1 -1
- package/dist/toggle/index.js +8 -6
- package/dist/toggle-group/index.d.ts +35 -0
- package/dist/toggle-group/index.d.ts.map +1 -0
- package/dist/toggle-group/index.js +53 -0
- package/dist/toolbar/index.d.ts +19 -0
- package/dist/toolbar/index.d.ts.map +1 -0
- package/dist/toolbar/index.js +36 -0
- package/dist/tooltip/index.d.ts.map +1 -1
- package/dist/tooltip/index.js +40 -74
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +105 -102
- package/dist/trend/index.d.ts +2 -2
- package/dist/trend/index.d.ts.map +1 -1
- package/dist/trend/index.js +20 -19
- package/dist/utils/color.js +0 -1
- package/dist/utils/cva.js +0 -1
- package/dist/utils/cx.js +0 -1
- package/dist/utils/date.d.ts +6 -0
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +1 -2
- package/dist/utils/direction.d.ts +7 -0
- package/dist/utils/direction.d.ts.map +1 -0
- package/dist/utils/direction.js +6 -0
- package/dist/utils/form-value.d.ts +15 -0
- package/dist/utils/form-value.d.ts.map +1 -0
- package/dist/utils/form-value.js +29 -0
- package/dist/utils/fx.js +0 -1
- package/dist/utils/merge.js +0 -1
- package/dist/utils/messages.d.ts +137 -0
- package/dist/utils/messages.d.ts.map +1 -0
- package/dist/utils/messages.js +133 -0
- package/dist/utils/money.js +0 -1
- package/dist/utils/month.js +0 -1
- package/dist/utils/motion.js +0 -1
- package/dist/utils/refs.d.ts +6 -0
- package/dist/utils/refs.d.ts.map +1 -0
- package/dist/utils/refs.js +13 -0
- package/dist/utils/repeat.d.ts +3 -1
- package/dist/utils/repeat.d.ts.map +1 -1
- package/dist/utils/repeat.js +28 -25
- package/dist/utils/roving.d.ts +17 -0
- package/dist/utils/roving.d.ts.map +1 -0
- package/dist/utils/roving.js +35 -0
- package/dist/utils/section-link.js +0 -1
- package/dist/utils/slot.d.ts.map +1 -1
- package/dist/utils/slot.js +7 -11
- package/dist/utils/status-icons.js +7 -7
- package/dist/utils/styles.d.ts +9 -2
- package/dist/utils/styles.d.ts.map +1 -1
- package/dist/utils/styles.js +6 -3
- package/dist/utils/theme-wave.js +0 -1
- package/dist/utils/theme.js +0 -1
- package/dist/utils/useAnchoredPopup.d.ts +7 -4
- package/dist/utils/useAnchoredPopup.d.ts.map +1 -1
- package/dist/utils/useAnchoredPopup.js +18 -11
- package/dist/utils/useControllable.d.ts +9 -0
- package/dist/utils/useControllable.d.ts.map +1 -0
- package/dist/utils/useControllable.js +15 -0
- package/dist/utils/useHoverPopup.d.ts +39 -0
- package/dist/utils/useHoverPopup.d.ts.map +1 -0
- package/dist/utils/useHoverPopup.js +64 -0
- package/dist/zen.css +1 -1
- package/package.json +1 -1
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cx as e } from "../utils/cx.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import o from "../
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
3
|
+
import { useControllable as t } from "../utils/useControllable.js";
|
|
4
|
+
import { useAnchoredPopup as n } from "../utils/useAnchoredPopup.js";
|
|
5
|
+
import { useMessages as r } from "../locale-provider/index.js";
|
|
6
|
+
import { useFieldProps as i } from "../field/index.js";
|
|
7
|
+
import { FIELD_SIZE as a, POPUP as o, TRIGGER as s } from "../utils/styles.js";
|
|
8
|
+
import c from "../input/index.js";
|
|
9
|
+
import { FormValue as l } from "../utils/form-value.js";
|
|
10
|
+
import u from "../slider/index.js";
|
|
11
|
+
import { hexToHsv as d, hsvToHex as f } from "../utils/color.js";
|
|
12
|
+
import { FieldChevron as p } from "../utils/field-chevron.js";
|
|
13
|
+
import { useId as m, useState as h } from "react";
|
|
14
|
+
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
12
15
|
//#region packages/color-picker/index.tsx
|
|
13
|
-
var
|
|
16
|
+
var y = {
|
|
14
17
|
h: 0,
|
|
15
18
|
s: 0,
|
|
16
19
|
v: 0,
|
|
17
20
|
a: 1
|
|
18
|
-
},
|
|
21
|
+
}, b = "repeating-conic-gradient(#9ca3af 0 25%, #f3f4f6 0 50%) 0 0 / 8px 8px", x = `linear-gradient(to right, ${[
|
|
19
22
|
0,
|
|
20
23
|
60,
|
|
21
24
|
120,
|
|
@@ -23,140 +26,140 @@ var h = {
|
|
|
23
26
|
240,
|
|
24
27
|
300,
|
|
25
28
|
360
|
|
26
|
-
].map((e) => `hsl(${e} 100% 50%)`).join(", ")})`,
|
|
29
|
+
].map((e) => `hsl(${e} 100% 50%)`).join(", ")})`, S = (e) => Math.round(e * 100), C = {
|
|
27
30
|
ArrowLeft: [-1, 0],
|
|
28
31
|
ArrowRight: [1, 0],
|
|
29
32
|
ArrowDown: [0, -1],
|
|
30
33
|
ArrowUp: [0, 1]
|
|
31
34
|
};
|
|
32
|
-
function
|
|
33
|
-
let n =
|
|
34
|
-
return n ?
|
|
35
|
+
function w(e, t) {
|
|
36
|
+
let n = d(e);
|
|
37
|
+
return n ? f(t ? n : {
|
|
35
38
|
...n,
|
|
36
39
|
a: 1
|
|
37
40
|
}) : null;
|
|
38
41
|
}
|
|
39
|
-
function
|
|
40
|
-
let
|
|
41
|
-
if (
|
|
42
|
-
E
|
|
43
|
-
let e =
|
|
44
|
-
e && e !==
|
|
42
|
+
function T({ value: n, defaultValue: i = "#000000", onValueChange: a, onValueCommit: o, alpha: s = !1, swatches: l, className: p, ...g }) {
|
|
43
|
+
let T = r(), [E, D] = t(n, i, a), O = m(), [k, A] = h(() => d(E) ?? y), [j, M] = h(E);
|
|
44
|
+
if (E !== j) {
|
|
45
|
+
M(E);
|
|
46
|
+
let e = w(E, s);
|
|
47
|
+
e && e !== f(k) && A(d(e));
|
|
45
48
|
}
|
|
46
|
-
let
|
|
47
|
-
...
|
|
49
|
+
let N = f(k), P = f({
|
|
50
|
+
...k,
|
|
48
51
|
a: 1
|
|
49
|
-
}), [
|
|
52
|
+
}), [F, I] = h(null), L = (e) => {
|
|
50
53
|
let t = {
|
|
51
|
-
...
|
|
54
|
+
...k,
|
|
52
55
|
...e
|
|
53
56
|
};
|
|
54
|
-
return
|
|
55
|
-
},
|
|
57
|
+
return s || (t.a = 1), A(t), D(f(t)), f(t);
|
|
58
|
+
}, R = (e = N) => o?.(e), z = (e) => {
|
|
56
59
|
let t = e.currentTarget.getBoundingClientRect(), n = Math.min(1, Math.max(0, (e.clientX - t.left) / t.width)), r = 1 - Math.min(1, Math.max(0, (e.clientY - t.top) / t.height));
|
|
57
|
-
return
|
|
60
|
+
return L({
|
|
58
61
|
s: n,
|
|
59
62
|
v: r
|
|
60
63
|
});
|
|
61
|
-
},
|
|
62
|
-
let t =
|
|
64
|
+
}, B = (e) => {
|
|
65
|
+
let t = C[e.key];
|
|
63
66
|
if (!t) return;
|
|
64
67
|
e.preventDefault();
|
|
65
68
|
let n = (e.shiftKey ? 10 : 1) / 100, r = (e) => Math.min(1, Math.max(0, Math.round((e + 2 ** -52) * 100) / 100));
|
|
66
|
-
|
|
67
|
-
s: r(
|
|
68
|
-
v: r(
|
|
69
|
+
R(L({
|
|
70
|
+
s: r(k.s + t[0] * n),
|
|
71
|
+
v: r(k.v + t[1] * n)
|
|
69
72
|
}));
|
|
70
|
-
},
|
|
71
|
-
if (
|
|
72
|
-
let e =
|
|
73
|
-
|
|
73
|
+
}, V = () => {
|
|
74
|
+
if (F === null) return;
|
|
75
|
+
let e = w(F.startsWith("#") ? F : `#${F}`, s);
|
|
76
|
+
I(null), e && e !== N && (A(d(e)), D(e), R(e));
|
|
74
77
|
};
|
|
75
|
-
return /* @__PURE__ */
|
|
76
|
-
className: e("zen__color-panel flex w-64 flex-col gap-3",
|
|
77
|
-
...
|
|
78
|
+
return /* @__PURE__ */ v("div", {
|
|
79
|
+
className: e("zen__color-panel flex w-64 flex-col gap-3", p),
|
|
80
|
+
...g,
|
|
78
81
|
children: [
|
|
79
|
-
/* @__PURE__ */
|
|
82
|
+
/* @__PURE__ */ _("div", {
|
|
80
83
|
role: "slider",
|
|
81
84
|
tabIndex: 0,
|
|
82
|
-
"aria-label":
|
|
85
|
+
"aria-label": T.saturationBrightness,
|
|
83
86
|
"aria-valuemin": 0,
|
|
84
87
|
"aria-valuemax": 100,
|
|
85
|
-
"aria-valuenow":
|
|
86
|
-
"aria-valuetext":
|
|
88
|
+
"aria-valuenow": S(k.s),
|
|
89
|
+
"aria-valuetext": T.saturationBrightnessValue(S(k.s), S(k.v)),
|
|
87
90
|
onPointerDown: (e) => {
|
|
88
|
-
e.button === 0 && (e.currentTarget.setPointerCapture?.(e.pointerId), e.currentTarget.focus(),
|
|
91
|
+
e.button === 0 && (e.currentTarget.setPointerCapture?.(e.pointerId), e.currentTarget.focus(), z(e));
|
|
89
92
|
},
|
|
90
|
-
onPointerMove: (e) => e.currentTarget.hasPointerCapture?.(e.pointerId) &&
|
|
91
|
-
onPointerUp: (e) =>
|
|
92
|
-
onKeyDown:
|
|
93
|
-
style: { background: `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${
|
|
94
|
-
className: "focus-
|
|
95
|
-
children: /* @__PURE__ */
|
|
93
|
+
onPointerMove: (e) => e.currentTarget.hasPointerCapture?.(e.pointerId) && z(e),
|
|
94
|
+
onPointerUp: (e) => R(z(e)),
|
|
95
|
+
onKeyDown: B,
|
|
96
|
+
style: { background: `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${k.h} 100% 50%))` },
|
|
97
|
+
className: "focus-ring relative h-40 cursor-crosshair touch-none rounded-lg shadow-[inset_0_0_0_1px_oklch(var(--tint)/0.1)] outline-hidden",
|
|
98
|
+
children: /* @__PURE__ */ _("span", {
|
|
96
99
|
"aria-hidden": !0,
|
|
97
100
|
style: {
|
|
98
|
-
left: `${
|
|
99
|
-
top: `${(1 -
|
|
100
|
-
background:
|
|
101
|
+
left: `${k.s * 100}%`,
|
|
102
|
+
top: `${(1 - k.v) * 100}%`,
|
|
103
|
+
background: P
|
|
101
104
|
},
|
|
102
105
|
className: "pointer-events-none absolute size-4 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow-[0_0_0_1px_oklch(0_0_0/0.3),0_0_12px_oklch(0_0_0/0.35)]"
|
|
103
106
|
})
|
|
104
107
|
}),
|
|
105
|
-
/* @__PURE__ */
|
|
106
|
-
"aria-label":
|
|
108
|
+
/* @__PURE__ */ _(u, {
|
|
109
|
+
"aria-label": T.hue,
|
|
107
110
|
min: 0,
|
|
108
111
|
max: 359,
|
|
109
|
-
value: Math.round(
|
|
110
|
-
onValueChange: (e) =>
|
|
111
|
-
onValueCommit: () =>
|
|
112
|
-
trackBackground:
|
|
113
|
-
thumbColor: `hsl(${
|
|
114
|
-
valueText:
|
|
112
|
+
value: Math.round(k.h),
|
|
113
|
+
onValueChange: (e) => L({ h: e }),
|
|
114
|
+
onValueCommit: () => R(),
|
|
115
|
+
trackBackground: x,
|
|
116
|
+
thumbColor: `hsl(${k.h} 100% 50%)`,
|
|
117
|
+
valueText: T.hueValue
|
|
115
118
|
}),
|
|
116
|
-
|
|
117
|
-
"aria-label":
|
|
119
|
+
s && /* @__PURE__ */ _(u, {
|
|
120
|
+
"aria-label": T.opacity,
|
|
118
121
|
min: 0,
|
|
119
122
|
max: 100,
|
|
120
|
-
value:
|
|
121
|
-
onValueChange: (e) =>
|
|
122
|
-
onValueCommit: () =>
|
|
123
|
-
trackBackground: `linear-gradient(to right, transparent, ${
|
|
124
|
-
thumbColor:
|
|
125
|
-
valueText:
|
|
123
|
+
value: S(k.a),
|
|
124
|
+
onValueChange: (e) => L({ a: e / 100 }),
|
|
125
|
+
onValueCommit: () => R(),
|
|
126
|
+
trackBackground: `linear-gradient(to right, transparent, ${P}), ${b}`,
|
|
127
|
+
thumbColor: P,
|
|
128
|
+
valueText: T.opacityValue
|
|
126
129
|
}),
|
|
127
|
-
/* @__PURE__ */
|
|
128
|
-
"aria-label":
|
|
130
|
+
/* @__PURE__ */ _(c, {
|
|
131
|
+
"aria-label": T.hex,
|
|
129
132
|
spellCheck: !1,
|
|
130
133
|
autoComplete: "off",
|
|
131
|
-
value:
|
|
132
|
-
onChange: (e) =>
|
|
133
|
-
onBlur:
|
|
134
|
-
onKeyDown: (e) => e.key === "Enter" &&
|
|
134
|
+
value: F ?? N,
|
|
135
|
+
onChange: (e) => I(e.target.value),
|
|
136
|
+
onBlur: V,
|
|
137
|
+
onKeyDown: (e) => e.key === "Enter" && V(),
|
|
135
138
|
className: "h-9 font-mono tabular-nums"
|
|
136
139
|
}),
|
|
137
|
-
l && l.length > 0 && /* @__PURE__ */
|
|
140
|
+
l && l.length > 0 && /* @__PURE__ */ v("fieldset", {
|
|
138
141
|
className: "flex flex-wrap gap-1.5",
|
|
139
|
-
children: [/* @__PURE__ */
|
|
142
|
+
children: [/* @__PURE__ */ _("legend", {
|
|
140
143
|
className: "sr-only",
|
|
141
|
-
children:
|
|
144
|
+
children: T.swatches
|
|
142
145
|
}), l.map((e) => {
|
|
143
|
-
let t =
|
|
144
|
-
return /* @__PURE__ */
|
|
146
|
+
let t = w(e.value, s);
|
|
147
|
+
return /* @__PURE__ */ v("label", {
|
|
145
148
|
title: e.label,
|
|
146
149
|
className: "relative cursor-pointer",
|
|
147
|
-
children: [/* @__PURE__ */
|
|
150
|
+
children: [/* @__PURE__ */ _("input", {
|
|
148
151
|
type: "radio",
|
|
149
|
-
name:
|
|
152
|
+
name: O,
|
|
150
153
|
"aria-label": e.label,
|
|
151
|
-
checked: t ===
|
|
154
|
+
checked: t === N,
|
|
152
155
|
onChange: () => {
|
|
153
|
-
t && (
|
|
156
|
+
t && (A(d(t)), D(t), R(t));
|
|
154
157
|
},
|
|
155
158
|
className: "peer sr-only"
|
|
156
|
-
}), /* @__PURE__ */
|
|
159
|
+
}), /* @__PURE__ */ _("span", {
|
|
157
160
|
"aria-hidden": !0,
|
|
158
|
-
style: { background: `linear-gradient(${e.value}, ${e.value}), ${
|
|
159
|
-
className: "ring-offset-background peer-
|
|
161
|
+
style: { background: `linear-gradient(${e.value}, ${e.value}), ${b}` },
|
|
162
|
+
className: "ring-offset-background peer- peer-checked:ring-foreground/70 peer-focus-ring block size-6 rounded-full shadow-[inset_0_0_0_1px_oklch(var(--tint)/0.12)] ring-offset-2 transition-shadow peer-checked:ring-2"
|
|
160
163
|
})]
|
|
161
164
|
}, e.value);
|
|
162
165
|
})]
|
|
@@ -164,47 +167,55 @@ function x({ value: t, onChange: n, onValueCommit: r, alpha: i = !1, swatches: l
|
|
|
164
167
|
]
|
|
165
168
|
});
|
|
166
169
|
}
|
|
167
|
-
function
|
|
168
|
-
let
|
|
169
|
-
...
|
|
170
|
-
id:
|
|
170
|
+
function E({ value: c, defaultValue: u = "#000000", onValueChange: d, onValueCommit: f, alpha: m, swatches: h, name: y, size: x = "default", id: S, disabled: C, className: w, style: E, ...D }) {
|
|
171
|
+
let O = r(), [k, A, j] = t(c, u, d), M = n(), N = i({
|
|
172
|
+
...D,
|
|
173
|
+
id: S
|
|
171
174
|
});
|
|
172
|
-
return /* @__PURE__ */
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
"
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
175
|
+
return /* @__PURE__ */ v(g, { children: [
|
|
176
|
+
/* @__PURE__ */ v("button", {
|
|
177
|
+
type: "button",
|
|
178
|
+
...D,
|
|
179
|
+
...N,
|
|
180
|
+
id: S,
|
|
181
|
+
disabled: C,
|
|
182
|
+
...M.triggerProps,
|
|
183
|
+
style: {
|
|
184
|
+
...M.triggerProps.style,
|
|
185
|
+
...E
|
|
186
|
+
},
|
|
187
|
+
className: e("zen__color-picker group", s, a[x], "w-full", M.open && "border-glow/60 [--glow-border-color:transparent] shadow-glow-focus", w),
|
|
188
|
+
children: [/* @__PURE__ */ v("span", {
|
|
189
|
+
className: "flex min-w-0 items-center gap-2.5",
|
|
190
|
+
children: [/* @__PURE__ */ _("span", {
|
|
191
|
+
"aria-hidden": !0,
|
|
192
|
+
style: { background: `linear-gradient(${k}, ${k}), ${b}` },
|
|
193
|
+
className: "size-5 shrink-0 rounded-md shadow-[inset_0_0_0_1px_oklch(var(--tint)/0.15)]"
|
|
194
|
+
}), /* @__PURE__ */ _("span", {
|
|
195
|
+
className: "truncate font-mono tabular-nums",
|
|
196
|
+
children: k
|
|
197
|
+
})]
|
|
198
|
+
}), /* @__PURE__ */ _(p, { open: M.open })]
|
|
199
|
+
}),
|
|
200
|
+
/* @__PURE__ */ _(l, {
|
|
201
|
+
name: y,
|
|
202
|
+
value: k,
|
|
203
|
+
onReset: j
|
|
204
|
+
}),
|
|
205
|
+
/* @__PURE__ */ _("div", {
|
|
206
|
+
...M.popupProps,
|
|
207
|
+
role: "dialog",
|
|
208
|
+
"aria-label": O.chooseColour,
|
|
209
|
+
className: e("zen__popover", o, "p-3"),
|
|
210
|
+
children: /* @__PURE__ */ _(T, {
|
|
211
|
+
value: k,
|
|
212
|
+
onValueChange: A,
|
|
213
|
+
onValueCommit: f,
|
|
214
|
+
alpha: m,
|
|
215
|
+
swatches: h
|
|
216
|
+
})
|
|
206
217
|
})
|
|
207
|
-
|
|
218
|
+
] });
|
|
208
219
|
}
|
|
209
220
|
//#endregion
|
|
210
|
-
export {
|
|
221
|
+
export { T as ColorPanel, E as default };
|
package/dist/combobox/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FieldSize } from '../utils/styles';
|
|
1
2
|
import { ComponentProps, ReactNode } from 'react';
|
|
2
3
|
/**
|
|
3
4
|
* Pick one or several items from a list you can search: a field that opens a
|
|
@@ -13,14 +14,14 @@ export default function Combobox<T>(props: ComboboxProps<T>): import('react').JS
|
|
|
13
14
|
* The field: shows the choice (text, or chips when `multiple`) or the
|
|
14
15
|
* placeholder, and opens the panel. Pass children to show the value your own way.
|
|
15
16
|
*/
|
|
16
|
-
export declare function ComboboxTrigger({ placeholder, disabled, className, style, children, ...rest }: ComboboxTriggerProps): import('react').JSX.Element;
|
|
17
|
+
export declare function ComboboxTrigger({ placeholder: placeholderProp, disabled, size, className, style, children, ...rest }: ComboboxTriggerProps): import('react').JSX.Element;
|
|
17
18
|
/** The panel under the field. Put ComboboxSearch and ComboboxList in it. */
|
|
18
19
|
export declare function ComboboxPopup({ className, children }: {
|
|
19
20
|
className?: string;
|
|
20
21
|
children: ReactNode;
|
|
21
22
|
}): import('react').JSX.Element;
|
|
22
23
|
/** The search box: focused when the panel opens; ↑↓ move through the matches and Enter chooses. */
|
|
23
|
-
export declare function ComboboxSearch({ placeholder, 'aria-label': ariaLabel
|
|
24
|
+
export declare function ComboboxSearch({ placeholder, 'aria-label': ariaLabel }: ComboboxSearchProps): import('react').JSX.Element;
|
|
24
25
|
/**
|
|
25
26
|
* The matching items, rendered only while in view (so thousands stay fast).
|
|
26
27
|
* Rows are `itemHeight` px tall; `renderItem` draws each (default: a
|
|
@@ -48,21 +49,28 @@ interface ComboboxBaseProps<T> {
|
|
|
48
49
|
filter?: (item: T, query: string) => boolean;
|
|
49
50
|
/** Chosen items that aren't in `items` (e.g. just created), so the field can still show them. */
|
|
50
51
|
selectedItems?: readonly T[];
|
|
52
|
+
/** Form field name: the chosen key is submitted with the form (with `multiple`, each key). */
|
|
53
|
+
name?: string;
|
|
51
54
|
children: ReactNode;
|
|
52
55
|
}
|
|
56
|
+
/** `value` when you keep the choice; `defaultValue` for the first one when the combobox keeps its own. */
|
|
53
57
|
export type ComboboxProps<T> = ComboboxBaseProps<T> & ({
|
|
54
58
|
multiple?: false;
|
|
55
|
-
value
|
|
56
|
-
|
|
59
|
+
value?: string | null;
|
|
60
|
+
defaultValue?: string | null;
|
|
61
|
+
onValueChange?: (key: string) => void;
|
|
57
62
|
} | {
|
|
58
63
|
multiple: true;
|
|
59
|
-
value
|
|
60
|
-
|
|
64
|
+
value?: readonly string[];
|
|
65
|
+
defaultValue?: readonly string[];
|
|
66
|
+
onValueChange?: (keys: string[]) => void;
|
|
61
67
|
});
|
|
62
68
|
export interface ComboboxTriggerProps extends Omit<ComponentProps<'div'>, 'children'> {
|
|
63
69
|
/** Shown while nothing is chosen. */
|
|
64
70
|
placeholder?: string;
|
|
65
71
|
disabled?: boolean;
|
|
72
|
+
/** Height, matching Button's: sm (32px), default (40px) or lg (44px). */
|
|
73
|
+
size?: FieldSize;
|
|
66
74
|
/** Your own display of the value (default: its text, or chips). */
|
|
67
75
|
children?: ReactNode;
|
|
68
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/combobox/index.tsx"],"names":[],"mappings":"AAaA,OAAO,EAEH,cAAc,EAGd,SAAS,EAOZ,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/combobox/index.tsx"],"names":[],"mappings":"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"}
|