@epam/ai-dial-ui-kit 0.14.0-dev.32 → 0.14.0-dev.33
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/dist/CHANGELOG.md +9 -0
- package/dist/DateCellRenderer-B41xNX7a.cjs +1 -0
- package/dist/components/New/Dropdown/Dropdown.js +170 -189
- package/dist/components/New/Dropdown/DropdownSubMenuItem.js +62 -104
- package/dist/components/New/Dropdown/constants.js +19 -26
- package/dist/components/New/Dropdown/item-mark.js +6 -0
- package/dist/components/New/MenuItem/MenuItem.js +108 -0
- package/dist/components/New/MenuItem/constants.js +16 -0
- package/dist/components/New/Select/Select.js +218 -229
- package/dist/components/New/Select/SelectSubMenuItem.js +54 -71
- package/dist/components/New/Select/constants.js +22 -37
- package/dist/components/New/constants/overlay.js +11 -7
- package/dist/components-manifest.json +143 -4
- package/dist/dial-ui-kit.cjs +2 -2
- package/dist/dial-ui-kit.js +247 -243
- package/dist/grid.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/src/components/New/Dropdown/Dropdown.d.ts +10 -0
- package/dist/src/components/New/Dropdown/constants.d.ts +5 -4
- package/dist/src/components/New/Dropdown/item-mark.d.ts +15 -0
- package/dist/src/components/New/MenuItem/MenuItem.d.ts +68 -0
- package/dist/src/components/New/MenuItem/constants.d.ts +5 -0
- package/dist/src/components/New/Select/Select.d.ts +14 -2
- package/dist/src/components/New/Select/SelectSubMenuItem.d.ts +3 -0
- package/dist/src/components/New/Select/constants.d.ts +12 -5
- package/dist/src/components/New/constants/overlay.d.ts +7 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/models/dropdown.d.ts +17 -1
- package/dist/src/models/select.d.ts +6 -0
- package/dist/src/types/menu-item.d.ts +21 -0
- package/dist/types/menu-item.js +4 -0
- package/package.json +1 -1
- package/dist/DateCellRenderer-CKFfW-Hf.cjs +0 -1
|
@@ -1,127 +1,85 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useCallback as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { useSubMenuFloating as
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { jsxs as t, Fragment as d, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback as g } from "react";
|
|
3
|
+
import { MenuItem as l } from "../MenuItem/MenuItem.js";
|
|
4
|
+
import { MenuItemMark as k } from "../../../types/menu-item.js";
|
|
5
|
+
import { useSubMenuFloating as M, SubMenuPanel as C } from "../../../utils/sub-menu-floating.js";
|
|
6
|
+
import { getItemRole as I, resolveItemMark as m } from "./item-mark.js";
|
|
7
|
+
import { dropdownGap as F, submenuCaretIcon as S, dropdownSubMenuClassName as y } from "./constants.js";
|
|
8
|
+
const R = ({
|
|
9
|
+
item: r,
|
|
10
|
+
onRootClose: o
|
|
10
11
|
}) => {
|
|
11
12
|
const {
|
|
12
|
-
isOpen:
|
|
13
|
-
refs:
|
|
14
|
-
floatingStyles:
|
|
13
|
+
isOpen: s,
|
|
14
|
+
refs: u,
|
|
15
|
+
floatingStyles: b,
|
|
15
16
|
context: p,
|
|
16
|
-
getReferenceProps:
|
|
17
|
+
getReferenceProps: c,
|
|
17
18
|
getFloatingProps: f
|
|
18
|
-
} =
|
|
19
|
-
(
|
|
20
|
-
|
|
19
|
+
} = M(F, "menu", !!r.disabled), i = g(
|
|
20
|
+
(e) => (n) => {
|
|
21
|
+
e.disabled || (e.onClick?.({ key: e.key, domEvent: n }), e.selectable || o());
|
|
21
22
|
},
|
|
22
|
-
[
|
|
23
|
+
[o]
|
|
23
24
|
);
|
|
24
|
-
return /* @__PURE__ */
|
|
25
|
-
/* @__PURE__ */
|
|
26
|
-
|
|
25
|
+
return /* @__PURE__ */ t(d, { children: [
|
|
26
|
+
/* @__PURE__ */ a(
|
|
27
|
+
l,
|
|
27
28
|
{
|
|
28
|
-
ref:
|
|
29
|
-
type: "button",
|
|
29
|
+
ref: u.setReference,
|
|
30
30
|
role: "menuitem",
|
|
31
31
|
"aria-haspopup": "menu",
|
|
32
|
-
"aria-expanded":
|
|
33
|
-
"aria-disabled": !!
|
|
34
|
-
disabled:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
),
|
|
40
|
-
|
|
41
|
-
children: [
|
|
42
|
-
e.renderItem ? e.renderItem(e) : /* @__PURE__ */ s(o, { children: [
|
|
43
|
-
e.icon && /* @__PURE__ */ n("span", { className: r(e.disabled && "text-secondary"), children: /* @__PURE__ */ n(u, { icon: e.icon }) }),
|
|
44
|
-
/* @__PURE__ */ n(
|
|
45
|
-
"span",
|
|
46
|
-
{
|
|
47
|
-
className: r(
|
|
48
|
-
"flex-1 truncate text-start",
|
|
49
|
-
e.disabled && "text-secondary"
|
|
50
|
-
),
|
|
51
|
-
children: e.label
|
|
52
|
-
}
|
|
53
|
-
)
|
|
54
|
-
] }),
|
|
55
|
-
/* @__PURE__ */ n(
|
|
56
|
-
"span",
|
|
57
|
-
{
|
|
58
|
-
className: r(
|
|
59
|
-
"ml-auto shrink-0",
|
|
60
|
-
e.disabled && "text-secondary"
|
|
61
|
-
),
|
|
62
|
-
children: k
|
|
63
|
-
}
|
|
64
|
-
)
|
|
65
|
-
]
|
|
32
|
+
"aria-expanded": s,
|
|
33
|
+
"aria-disabled": !!r.disabled,
|
|
34
|
+
disabled: r.disabled,
|
|
35
|
+
icon: r.icon,
|
|
36
|
+
label: r.label,
|
|
37
|
+
trailing: S,
|
|
38
|
+
className: r.className,
|
|
39
|
+
...c(),
|
|
40
|
+
children: r.renderItem?.(r)
|
|
66
41
|
}
|
|
67
42
|
),
|
|
68
|
-
|
|
43
|
+
s && /* @__PURE__ */ a(
|
|
69
44
|
C,
|
|
70
45
|
{
|
|
71
|
-
refs:
|
|
72
|
-
floatingStyles:
|
|
46
|
+
refs: u,
|
|
47
|
+
floatingStyles: b,
|
|
73
48
|
context: p,
|
|
74
49
|
getFloatingProps: f,
|
|
75
50
|
role: "menu",
|
|
76
|
-
surfaceClassName:
|
|
77
|
-
children:
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
),
|
|
104
|
-
/* @__PURE__ */ n(
|
|
105
|
-
"span",
|
|
106
|
-
{
|
|
107
|
-
className: r(
|
|
108
|
-
"flex-1 truncate text-start",
|
|
109
|
-
a.danger && "text-error",
|
|
110
|
-
a.disabled && "text-secondary"
|
|
111
|
-
),
|
|
112
|
-
children: a.label
|
|
113
|
-
}
|
|
114
|
-
)
|
|
115
|
-
] })
|
|
116
|
-
},
|
|
117
|
-
a.key
|
|
118
|
-
)),
|
|
119
|
-
e.menuFooter && (typeof e.menuFooter == "function" ? e.menuFooter() : e.menuFooter)
|
|
51
|
+
surfaceClassName: y,
|
|
52
|
+
children: r.renderSubMenu ? r.renderSubMenu() : /* @__PURE__ */ t(d, { children: [
|
|
53
|
+
r.menuHeader && (typeof r.menuHeader == "function" ? r.menuHeader() : r.menuHeader),
|
|
54
|
+
r.children.map((e) => {
|
|
55
|
+
const n = I(e);
|
|
56
|
+
return /* @__PURE__ */ a(
|
|
57
|
+
l,
|
|
58
|
+
{
|
|
59
|
+
role: n,
|
|
60
|
+
"aria-checked": n === "menuitem" ? void 0 : !!e.checked,
|
|
61
|
+
"aria-current": m(e) === k.Highlight && e.checked ? !0 : void 0,
|
|
62
|
+
"aria-disabled": !!e.disabled,
|
|
63
|
+
disabled: e.disabled,
|
|
64
|
+
mark: m(e),
|
|
65
|
+
selected: !!e.checked,
|
|
66
|
+
danger: e.danger,
|
|
67
|
+
icon: e.icon,
|
|
68
|
+
label: e.label,
|
|
69
|
+
className: e.className,
|
|
70
|
+
rightControl: e.rightControl,
|
|
71
|
+
onClick: i(e),
|
|
72
|
+
children: e.renderItem?.(e)
|
|
73
|
+
},
|
|
74
|
+
e.key
|
|
75
|
+
);
|
|
76
|
+
}),
|
|
77
|
+
r.menuFooter && (typeof r.menuFooter == "function" ? r.menuFooter() : r.menuFooter)
|
|
120
78
|
] })
|
|
121
79
|
}
|
|
122
80
|
)
|
|
123
81
|
] });
|
|
124
82
|
};
|
|
125
83
|
export {
|
|
126
|
-
|
|
84
|
+
R as DropdownSubMenuItem
|
|
127
85
|
};
|
|
@@ -1,35 +1,28 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { IconChevronRight as
|
|
3
|
-
import { overlayGap as
|
|
4
|
-
import { DIAL_KIT_ICON_STROKE as
|
|
5
|
-
import { DIAL_ICON_SIZE as
|
|
6
|
-
import { mergeClasses as
|
|
7
|
-
const
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { IconChevronRight as e } from "@tabler/icons-react";
|
|
3
|
+
import { overlayGap as s, overlaySubMenuClassName as a, overlaySurfaceClassName as t } from "../constants/overlay.js";
|
|
4
|
+
import { DIAL_KIT_ICON_STROKE as n } from "../constants/icon.js";
|
|
5
|
+
import { DIAL_ICON_SIZE as m } from "../../../constants/icon.js";
|
|
6
|
+
import { mergeClasses as o } from "../../../utils/merge-classes.js";
|
|
7
|
+
const C = o(
|
|
8
8
|
"flex items-center gap-2 align-middle",
|
|
9
9
|
"h-auto px-0 bg-transparent border-0"
|
|
10
|
-
),
|
|
10
|
+
), f = o(
|
|
11
11
|
"z-[53] focus-visible:outline-none",
|
|
12
|
-
|
|
13
|
-
),
|
|
14
|
-
|
|
15
|
-
"!cursor-not-allowed"
|
|
16
|
-
), g = "text-error", D = "my-1 border-t border-tertiary", x = r, _ = /* @__PURE__ */ o(
|
|
17
|
-
s,
|
|
12
|
+
t
|
|
13
|
+
), b = a, I = "my-1 border-t border-tertiary", N = s, v = /* @__PURE__ */ r(
|
|
14
|
+
e,
|
|
18
15
|
{
|
|
19
|
-
size:
|
|
20
|
-
stroke:
|
|
16
|
+
size: m.SM,
|
|
17
|
+
stroke: n,
|
|
21
18
|
"aria-hidden": "true"
|
|
22
19
|
}
|
|
23
20
|
);
|
|
24
21
|
export {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
y as dropdownItemSelectedClassName,
|
|
32
|
-
w as dropdownListBaseClassName,
|
|
33
|
-
f as dropdownSubMenuClassName,
|
|
34
|
-
_ as submenuCaretIcon
|
|
22
|
+
C as dropdownBaseClassName,
|
|
23
|
+
I as dropdownDividerClassName,
|
|
24
|
+
N as dropdownGap,
|
|
25
|
+
f as dropdownListBaseClassName,
|
|
26
|
+
b as dropdownSubMenuClassName,
|
|
27
|
+
v as submenuCaretIcon
|
|
35
28
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MenuItemMark as t } from "../../../types/menu-item.js";
|
|
2
|
+
const r = (e) => e.mark ?? (e.selectable ? t.Checkbox : t.None), m = (e) => e.selectable ? "menuitemcheckbox" : r(e) === t.Check ? "menuitemradio" : "menuitem";
|
|
3
|
+
export {
|
|
4
|
+
m as getItemRole,
|
|
5
|
+
r as resolveItemMark
|
|
6
|
+
};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { jsxs as i, Fragment as g, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { DialIcon as k } from "../../Icon/Icon.js";
|
|
3
|
+
import { CheckboxBox as H } from "../Checkbox/CheckboxBox.js";
|
|
4
|
+
import { EllipsisTooltip as M } from "../EllipsisTooltip/EllipsisTooltip.js";
|
|
5
|
+
import { overlayItemDisabledClassName as T, overlayItemSelectedClassName as j, overlayItemHighlightClassName as D, overlayItemClassName as S } from "../constants/overlay.js";
|
|
6
|
+
import { MenuItemMark as s } from "../../../types/menu-item.js";
|
|
7
|
+
import { mergeClasses as e } from "../../../utils/merge-classes.js";
|
|
8
|
+
import { menuItemCheckIcon as B } from "./constants.js";
|
|
9
|
+
const L = ({
|
|
10
|
+
label: l,
|
|
11
|
+
icon: c,
|
|
12
|
+
description: f,
|
|
13
|
+
mark: o = s.None,
|
|
14
|
+
selected: r = !1,
|
|
15
|
+
danger: h = !1,
|
|
16
|
+
trailing: u,
|
|
17
|
+
rightControl: m,
|
|
18
|
+
ellipsisLabel: v = !1,
|
|
19
|
+
labelClassName: x,
|
|
20
|
+
children: d,
|
|
21
|
+
className: I,
|
|
22
|
+
disabled: a = !1,
|
|
23
|
+
type: C = "button",
|
|
24
|
+
...w
|
|
25
|
+
}) => {
|
|
26
|
+
const y = r && o === s.Highlight, b = r && (o === s.Checkbox || o === s.Tint), n = e(
|
|
27
|
+
h && "text-error",
|
|
28
|
+
a && "text-control-disable-primary"
|
|
29
|
+
), p = e(
|
|
30
|
+
S,
|
|
31
|
+
// A row that opens a panel stays tinted while that panel is up, so the
|
|
32
|
+
// trail back to it is visible once the pointer has moved into it.
|
|
33
|
+
"aria-expanded:bg-control-accent-alpha-hover",
|
|
34
|
+
y && D,
|
|
35
|
+
b && j,
|
|
36
|
+
a && T,
|
|
37
|
+
h && "text-error",
|
|
38
|
+
I
|
|
39
|
+
), N = /* @__PURE__ */ i(
|
|
40
|
+
"button",
|
|
41
|
+
{
|
|
42
|
+
type: C,
|
|
43
|
+
disabled: a,
|
|
44
|
+
"data-menu-item-row": m ? "" : void 0,
|
|
45
|
+
className: m ? "flex h-full min-w-0 flex-1 items-center gap-2 truncate text-start focus-visible:outline-none" : p,
|
|
46
|
+
...w,
|
|
47
|
+
children: [
|
|
48
|
+
d ?? /* @__PURE__ */ i(g, { children: [
|
|
49
|
+
o === s.Checkbox && /* @__PURE__ */ t(H, { isSelected: r, disabled: a }),
|
|
50
|
+
c && /* @__PURE__ */ t(k, { icon: c, className: n }),
|
|
51
|
+
v ? /* @__PURE__ */ t(
|
|
52
|
+
M,
|
|
53
|
+
{
|
|
54
|
+
text: l,
|
|
55
|
+
className: e(n, x)
|
|
56
|
+
}
|
|
57
|
+
) : /* @__PURE__ */ t(
|
|
58
|
+
"span",
|
|
59
|
+
{
|
|
60
|
+
className: e(
|
|
61
|
+
"min-w-0 flex-1 truncate text-start",
|
|
62
|
+
n,
|
|
63
|
+
x
|
|
64
|
+
),
|
|
65
|
+
children: l
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
f && /* @__PURE__ */ t(
|
|
69
|
+
"span",
|
|
70
|
+
{
|
|
71
|
+
className: e(
|
|
72
|
+
"shrink-0 text-secondary dial-small-text",
|
|
73
|
+
a && "text-control-disable-primary"
|
|
74
|
+
),
|
|
75
|
+
children: f
|
|
76
|
+
}
|
|
77
|
+
),
|
|
78
|
+
r && o === s.Check && B
|
|
79
|
+
] }),
|
|
80
|
+
u && /* @__PURE__ */ t("span", { className: e("ml-auto shrink-0", n), children: u })
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
return m ? (
|
|
85
|
+
/*
|
|
86
|
+
`role="none"` so the wrapper does not come between a listbox and its
|
|
87
|
+
options: the row inside it keeps the role, the state and the click.
|
|
88
|
+
*/
|
|
89
|
+
/* @__PURE__ */ i(
|
|
90
|
+
"div",
|
|
91
|
+
{
|
|
92
|
+
role: "none",
|
|
93
|
+
className: e(
|
|
94
|
+
p,
|
|
95
|
+
"has-[[data-menu-item-row]:focus-visible]:outline",
|
|
96
|
+
"has-[[data-menu-item-row]:focus-visible]:outline-focus"
|
|
97
|
+
),
|
|
98
|
+
children: [
|
|
99
|
+
N,
|
|
100
|
+
m
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
)
|
|
104
|
+
) : N;
|
|
105
|
+
};
|
|
106
|
+
export {
|
|
107
|
+
L as MenuItem
|
|
108
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { IconCheck as r } from "@tabler/icons-react";
|
|
3
|
+
import { DIAL_KIT_ICON_STROKE as m } from "../constants/icon.js";
|
|
4
|
+
import { DIAL_ICON_SIZE as e } from "../../../constants/icon.js";
|
|
5
|
+
const c = /* @__PURE__ */ o(
|
|
6
|
+
r,
|
|
7
|
+
{
|
|
8
|
+
size: e.SM,
|
|
9
|
+
stroke: m,
|
|
10
|
+
className: "shrink-0",
|
|
11
|
+
"aria-hidden": !0
|
|
12
|
+
}
|
|
13
|
+
);
|
|
14
|
+
export {
|
|
15
|
+
c as menuItemCheckIcon
|
|
16
|
+
};
|