@forgedevstack/bear 1.2.0 → 1.2.1
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 +4 -0
- package/dist/components/Autocomplete/Autocomplete.cjs +1 -1
- package/dist/components/Autocomplete/Autocomplete.const.cjs +1 -0
- package/dist/components/Autocomplete/Autocomplete.const.d.ts +1 -0
- package/dist/components/Autocomplete/Autocomplete.const.js +4 -0
- package/dist/components/Autocomplete/Autocomplete.js +110 -72
- package/dist/components/BottomSheet/BottomSheet.cjs +1 -1
- package/dist/components/BottomSheet/BottomSheet.js +74 -53
- package/dist/components/BottomSheet/BottomSheet.types.d.ts +2 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.cjs +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.js +126 -46
- package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +11 -4
- package/dist/components/Breadcrumbs/index.d.ts +1 -1
- package/dist/components/Cascader/Cascader.cjs +1 -1
- package/dist/components/Cascader/Cascader.const.cjs +1 -1
- package/dist/components/Cascader/Cascader.const.d.ts +1 -1
- package/dist/components/Cascader/Cascader.const.js +1 -1
- package/dist/components/Cascader/Cascader.js +109 -146
- package/dist/components/Cascader/components/CascaderPanel/CascaderPanel.cjs +1 -0
- package/dist/components/Cascader/components/CascaderPanel/CascaderPanel.d.ts +3 -0
- package/dist/components/Cascader/components/CascaderPanel/CascaderPanel.js +50 -0
- package/dist/components/Cascader/components/CascaderPanel/index.d.ts +1 -0
- package/dist/components/Chart/BarChart.cjs +1 -0
- package/dist/components/Chart/BarChart.d.ts +3 -0
- package/dist/components/Chart/BarChart.js +65 -0
- package/dist/components/Chart/Chart.cjs +1 -1
- package/dist/components/Chart/Chart.const.cjs +1 -1
- package/dist/components/Chart/Chart.const.d.ts +7 -0
- package/dist/components/Chart/Chart.const.js +12 -2
- package/dist/components/Chart/Chart.d.ts +1 -13
- package/dist/components/Chart/Chart.js +18 -204
- package/dist/components/Chart/Chart.types.d.ts +7 -1
- package/dist/components/Chart/LineChart.cjs +1 -0
- package/dist/components/Chart/LineChart.d.ts +3 -0
- package/dist/components/Chart/LineChart.js +73 -0
- package/dist/components/Chart/PieChart.cjs +1 -0
- package/dist/components/Chart/PieChart.d.ts +3 -0
- package/dist/components/Chart/PieChart.js +110 -0
- package/dist/components/Chart/index.d.ts +4 -1
- package/dist/components/ColorPicker/ColorPicker.cjs +1 -1
- package/dist/components/ColorPicker/ColorPicker.const.cjs +1 -1
- package/dist/components/ColorPicker/ColorPicker.const.d.ts +4 -2
- package/dist/components/ColorPicker/ColorPicker.const.js +8 -6
- package/dist/components/ColorPicker/ColorPicker.js +135 -73
- package/dist/components/ColorPicker/ColorPicker.utils.cjs +1 -0
- package/dist/components/ColorPicker/ColorPicker.utils.d.ts +17 -0
- package/dist/components/ColorPicker/ColorPicker.utils.js +43 -0
- package/dist/components/CountdownTimer/CountdownTimer.cjs +1 -1
- package/dist/components/CountdownTimer/CountdownTimer.const.cjs +1 -1
- package/dist/components/CountdownTimer/CountdownTimer.const.d.ts +2 -0
- package/dist/components/CountdownTimer/CountdownTimer.const.js +29 -17
- package/dist/components/CountdownTimer/CountdownTimer.js +91 -61
- package/dist/components/CountdownTimer/CountdownTimer.types.d.ts +11 -2
- package/dist/components/CreditInput/CreditInput.cjs +1 -1
- package/dist/components/CreditInput/CreditInput.js +80 -78
- package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.js +89 -84
- package/dist/components/DiffSquares/DiffSquares.cjs +1 -0
- package/dist/components/DiffSquares/DiffSquares.const.cjs +1 -0
- package/dist/components/DiffSquares/DiffSquares.const.d.ts +3 -0
- package/dist/components/DiffSquares/DiffSquares.const.js +6 -0
- package/dist/components/DiffSquares/DiffSquares.d.ts +3 -0
- package/dist/components/DiffSquares/DiffSquares.js +70 -0
- package/dist/components/DiffSquares/DiffSquares.types.d.ts +23 -0
- package/dist/components/DiffSquares/DiffSquares.utils.cjs +1 -0
- package/dist/components/DiffSquares/DiffSquares.utils.d.ts +3 -0
- package/dist/components/DiffSquares/DiffSquares.utils.js +12 -0
- package/dist/components/DiffSquares/index.d.ts +2 -0
- package/dist/components/Drawer/Drawer.cjs +1 -1
- package/dist/components/Drawer/Drawer.js +41 -41
- package/dist/components/Dropdown/Dropdown.cjs +1 -1
- package/dist/components/Dropdown/Dropdown.const.cjs +1 -0
- package/dist/components/Dropdown/Dropdown.const.d.ts +7 -0
- package/dist/components/Dropdown/Dropdown.const.js +10 -0
- package/dist/components/Dropdown/Dropdown.d.ts +0 -1
- package/dist/components/Dropdown/Dropdown.js +102 -92
- package/dist/components/Dropdown/Dropdown.types.d.ts +2 -0
- package/dist/components/Gauge/Gauge.cjs +1 -1
- package/dist/components/Gauge/Gauge.js +61 -50
- package/dist/components/Gauge/Gauge.types.d.ts +2 -0
- package/dist/components/HoverCard/HoverCard.cjs +6 -6
- package/dist/components/HoverCard/HoverCard.js +72 -54
- package/dist/components/Icon/icons/status.js +1 -1
- package/dist/components/MentionsInput/MentionsInput.cjs +1 -1
- package/dist/components/MentionsInput/MentionsInput.js +106 -83
- package/dist/components/Menu/Menu.cjs +1 -1
- package/dist/components/Menu/Menu.js +91 -80
- package/dist/components/Modal/Modal.cjs +1 -1
- package/dist/components/Modal/Modal.const.cjs +1 -1
- package/dist/components/Modal/Modal.const.d.ts +1 -1
- package/dist/components/Modal/Modal.const.js +1 -1
- package/dist/components/Modal/Modal.js +50 -44
- package/dist/components/Modal/Modal.types.d.ts +6 -0
- package/dist/components/MultiSelect/MultiSelect.cjs +1 -1
- package/dist/components/MultiSelect/MultiSelect.js +123 -78
- package/dist/components/NavigableSelect/NavigableSelect.cjs +1 -1
- package/dist/components/NavigableSelect/NavigableSelect.const.cjs +1 -1
- package/dist/components/NavigableSelect/NavigableSelect.const.d.ts +1 -1
- package/dist/components/NavigableSelect/NavigableSelect.const.js +1 -1
- package/dist/components/NavigableSelect/NavigableSelect.js +167 -143
- package/dist/components/NotificationCenter/NotificationCenter.cjs +1 -1
- package/dist/components/NotificationCenter/NotificationCenter.const.cjs +1 -1
- package/dist/components/NotificationCenter/NotificationCenter.const.d.ts +1 -1
- package/dist/components/NotificationCenter/NotificationCenter.const.js +1 -1
- package/dist/components/NotificationCenter/NotificationCenter.js +87 -81
- package/dist/components/OTPInput/OTPInput.cjs +1 -1
- package/dist/components/OTPInput/OTPInput.const.cjs +1 -0
- package/dist/components/OTPInput/OTPInput.const.d.ts +6 -0
- package/dist/components/OTPInput/OTPInput.const.js +14 -0
- package/dist/components/OTPInput/OTPInput.js +99 -65
- package/dist/components/OTPInput/OTPInput.types.d.ts +7 -0
- package/dist/components/PhoneInput/PhoneInput.cjs +1 -1
- package/dist/components/PhoneInput/PhoneInput.const.cjs +1 -1
- package/dist/components/PhoneInput/PhoneInput.const.d.ts +1 -1
- package/dist/components/PhoneInput/PhoneInput.const.js +1 -1
- package/dist/components/PhoneInput/PhoneInput.js +88 -83
- package/dist/components/Popconfirm/Popconfirm.cjs +1 -1
- package/dist/components/Popconfirm/Popconfirm.const.cjs +1 -1
- package/dist/components/Popconfirm/Popconfirm.const.d.ts +1 -3
- package/dist/components/Popconfirm/Popconfirm.const.js +12 -18
- package/dist/components/Popconfirm/Popconfirm.js +71 -51
- package/dist/components/Popover/Popover.cjs +1 -1
- package/dist/components/Popover/Popover.js +36 -31
- package/dist/components/Portal/Portal.cjs +1 -1
- package/dist/components/Portal/Portal.d.ts +0 -3
- package/dist/components/Portal/Portal.js +4 -10
- package/dist/components/Select/Select.cjs +1 -1
- package/dist/components/Select/Select.js +71 -51
- package/dist/components/Stepper/Stepper.cjs +1 -1
- package/dist/components/Stepper/Stepper.const.cjs +1 -1
- package/dist/components/Stepper/Stepper.const.d.ts +3 -2
- package/dist/components/Stepper/Stepper.const.js +15 -14
- package/dist/components/Stepper/Stepper.d.ts +0 -7
- package/dist/components/Stepper/Stepper.js +164 -117
- package/dist/components/Stepper/Stepper.types.d.ts +3 -0
- package/dist/components/Tabs/TabList.cjs +1 -1
- package/dist/components/Tabs/TabList.js +72 -57
- package/dist/components/Tabs/Tabs.types.d.ts +4 -2
- package/dist/components/Tabs/index.d.ts +2 -2
- package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.cjs +1 -1
- package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.js +26 -26
- package/dist/components/TimePicker/helpers/ClockFaceSvg.cjs +1 -1
- package/dist/components/TimePicker/helpers/ClockFaceSvg.js +17 -17
- package/dist/components/Toast/Toast.cjs +1 -1
- package/dist/components/Toast/Toast.js +86 -82
- package/dist/components/Toast/Toast.types.d.ts +2 -0
- package/dist/components/Tooltip/Tooltip.cjs +1 -1
- package/dist/components/Tooltip/Tooltip.js +52 -44
- package/dist/components/TreeSelect/TreeSelect.cjs +1 -1
- package/dist/components/TreeSelect/TreeSelect.const.cjs +1 -1
- package/dist/components/TreeSelect/TreeSelect.const.d.ts +1 -1
- package/dist/components/TreeSelect/TreeSelect.const.js +3 -3
- package/dist/components/TreeSelect/TreeSelect.js +120 -88
- package/dist/components/Watermark/Watermark.cjs +1 -1
- package/dist/components/Watermark/Watermark.const.cjs +1 -1
- package/dist/components/Watermark/Watermark.const.d.ts +6 -3
- package/dist/components/Watermark/Watermark.const.js +13 -11
- package/dist/components/Watermark/Watermark.js +87 -61
- package/dist/components/Watermark/Watermark.types.d.ts +2 -0
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.ts +5 -3
- package/dist/components/index.js +292 -286
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.js +55 -54
- package/dist/hooks/useClickOutside.cjs +1 -1
- package/dist/hooks/useClickOutside.d.ts +4 -11
- package/dist/hooks/useClickOutside.js +26 -7
- package/dist/index.cjs +1 -1
- package/dist/index.js +386 -379
- package/dist/styles/_effects.css +17 -0
- package/dist/styles.css +1 -1
- package/dist/utils/maxVisible.utils.cjs +1 -0
- package/dist/utils/maxVisible.utils.d.ts +12 -0
- package/dist/utils/maxVisible.utils.js +15 -0
- package/package.json +1 -1
- package/dist/components/HoverCard/HoverCard.utils.cjs +0 -1
- package/dist/components/HoverCard/HoverCard.utils.js +0 -23
|
@@ -1,56 +1,136 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useState as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
1
|
+
import { jsx as r, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import { useState as f, useEffect as z, useMemo as $ } from "react";
|
|
3
|
+
import { useBearThemeOptional as K } from "../../context/BearProvider.js";
|
|
4
|
+
import { resolveMaxVisible as q } from "../../utils/maxVisible.utils.js";
|
|
5
|
+
import { cn as B } from "../../utils/cn.js";
|
|
6
|
+
import { Dropdown as O } from "../Dropdown/Dropdown.js";
|
|
7
|
+
import { BearIcons as d } from "../Icon/index.js";
|
|
8
|
+
import { BREADCRUMBS_DEFAULTS as p, BREADCRUMBS_SIZE as G, BREADCRUMBS_ICON_SIZE as R } from "./Breadcrumbs.const.js";
|
|
9
|
+
const te = (_) => {
|
|
6
10
|
const {
|
|
7
11
|
items: n,
|
|
8
|
-
separator:
|
|
9
|
-
maxItems:
|
|
10
|
-
itemsBeforeCollapse:
|
|
11
|
-
itemsAfterCollapse:
|
|
12
|
-
className:
|
|
13
|
-
size:
|
|
14
|
-
showHomeIcon:
|
|
15
|
-
testId:
|
|
16
|
-
id:
|
|
17
|
-
"aria-label":
|
|
18
|
-
} =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
12
|
+
separator: M,
|
|
13
|
+
maxItems: h,
|
|
14
|
+
itemsBeforeCollapse: u = p.ITEMS_BEFORE_COLLAPSE,
|
|
15
|
+
itemsAfterCollapse: b = p.ITEMS_AFTER_COLLAPSE,
|
|
16
|
+
className: A,
|
|
17
|
+
size: x = p.SIZE,
|
|
18
|
+
showHomeIcon: D = p.SHOW_HOME_ICON,
|
|
19
|
+
testId: L,
|
|
20
|
+
id: P,
|
|
21
|
+
"aria-label": H = "Breadcrumb"
|
|
22
|
+
} = _, w = K(), [i, I] = f(null), [T, k] = f({}), [E, U] = f(() => typeof window < "u" ? window.innerWidth : 1200);
|
|
23
|
+
z(() => {
|
|
24
|
+
const e = () => U(window.innerWidth);
|
|
25
|
+
return window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
|
|
26
|
+
}, []), z(() => {
|
|
27
|
+
I(null), k({});
|
|
28
|
+
}, [n]);
|
|
29
|
+
const y = $(
|
|
30
|
+
() => h == null ? void 0 : q(h, { width: E, theme: w }),
|
|
31
|
+
[h, E, w]
|
|
32
|
+
), j = () => M || /* @__PURE__ */ r(d.ChevronRightIcon, { className: B(R[x], "bear-text-zinc-500 bear-mx-2") }), C = (e, l, t) => {
|
|
33
|
+
const a = /* @__PURE__ */ m("span", { className: "bear-flex bear-items-center bear-gap-1 bear-max-w-[12rem] bear-truncate md:bear-max-w-none", children: [
|
|
34
|
+
l === 0 && D && /* @__PURE__ */ r(d.HomeIcon, { className: R[x] }),
|
|
35
|
+
e.icon,
|
|
36
|
+
e.label
|
|
37
|
+
] }), o = t ? /* @__PURE__ */ r("span", { className: "bear-text-zinc-300 bear-font-medium", "aria-current": "page", children: a }) : e.href ? /* @__PURE__ */ r("a", { href: e.href, className: "bear-text-zinc-400 hover:bear-text-pink-400 bear-transition-colors bear-truncate", children: a }) : e.onClick ? /* @__PURE__ */ r("button", { type: "button", onClick: e.onClick, className: "bear-text-zinc-400 hover:bear-text-pink-400 bear-transition-colors bear-truncate", children: a }) : /* @__PURE__ */ r("span", { className: "bear-text-zinc-400 bear-truncate", children: a });
|
|
38
|
+
if (e.dropdownItems && e.dropdownItems.length > 0 && !t) {
|
|
39
|
+
const c = T[l], v = e.dropdownItems.find((s) => s.key === c);
|
|
40
|
+
return /* @__PURE__ */ r(
|
|
41
|
+
O,
|
|
42
|
+
{
|
|
43
|
+
placement: "bottom-start",
|
|
44
|
+
closeOnSelect: !0,
|
|
45
|
+
trigger: /* @__PURE__ */ m(
|
|
46
|
+
"button",
|
|
47
|
+
{
|
|
48
|
+
type: "button",
|
|
49
|
+
className: "bear-inline-flex bear-items-center bear-gap-1 bear-text-zinc-400 hover:bear-text-pink-400 bear-transition-colors",
|
|
50
|
+
"aria-haspopup": "true",
|
|
51
|
+
children: [
|
|
52
|
+
a,
|
|
53
|
+
v && /* @__PURE__ */ r("span", { className: "bear-ml-1 bear-max-w-[8rem] bear-truncate bear-text-xs bear-text-zinc-300", children: v.label }),
|
|
54
|
+
/* @__PURE__ */ r(d.ChevronDownIcon, { size: 14 })
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
),
|
|
58
|
+
items: e.dropdownItems.map((s) => ({
|
|
59
|
+
key: s.key,
|
|
60
|
+
label: s.label,
|
|
61
|
+
disabled: s.disabled,
|
|
62
|
+
selected: c === s.key,
|
|
63
|
+
onClick: () => {
|
|
64
|
+
var S;
|
|
65
|
+
k((V) => ({ ...V, [l]: s.key })), (S = s.onClick) == null || S.call(s);
|
|
66
|
+
}
|
|
67
|
+
}))
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
return o;
|
|
72
|
+
}, F = y != null && n.length > y, g = u, W = n.length - b;
|
|
73
|
+
let N = n.map((e, l) => ({ type: "item", item: e, index: l }));
|
|
74
|
+
if (F) {
|
|
75
|
+
const e = n.slice(0, u), l = n.slice(-b), t = n.slice(u, n.length - b);
|
|
76
|
+
N = [
|
|
77
|
+
...e.map((a, o) => ({ type: "item", item: a, index: o })),
|
|
78
|
+
...t.length ? [{ type: "ellipsis", hidden: t }] : [],
|
|
79
|
+
...l.map((a, o) => ({
|
|
80
|
+
type: "item",
|
|
81
|
+
item: a,
|
|
82
|
+
index: n.length - b + o
|
|
83
|
+
}))
|
|
84
|
+
];
|
|
30
85
|
}
|
|
31
|
-
|
|
86
|
+
const Z = i != null && i >= g && i < W;
|
|
87
|
+
return /* @__PURE__ */ r(
|
|
32
88
|
"nav",
|
|
33
89
|
{
|
|
34
|
-
id:
|
|
35
|
-
"data-testid":
|
|
36
|
-
className:
|
|
37
|
-
"aria-label":
|
|
38
|
-
children: /* @__PURE__ */
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
90
|
+
id: P,
|
|
91
|
+
"data-testid": L,
|
|
92
|
+
className: B("bear-flex bear-min-w-0 bear-items-center bear-flex-wrap", G[x], A),
|
|
93
|
+
"aria-label": H,
|
|
94
|
+
children: /* @__PURE__ */ r("ol", { className: "bear-flex bear-min-w-0 bear-items-center bear-flex-wrap bear-list-none bear-p-0 bear-m-0", children: N.map((e, l) => /* @__PURE__ */ m("li", { className: "bear-flex bear-min-w-0 bear-items-center", children: [
|
|
95
|
+
l > 0 && /* @__PURE__ */ r("span", { "aria-hidden": "true", children: j() }),
|
|
96
|
+
e.type === "ellipsis" ? /* @__PURE__ */ m("span", { className: "bear-inline-flex bear-min-w-0 bear-max-w-full bear-items-center bear-gap-1", children: [
|
|
97
|
+
/* @__PURE__ */ r(
|
|
98
|
+
O,
|
|
99
|
+
{
|
|
100
|
+
placement: "bottom-start",
|
|
101
|
+
closeOnSelect: !0,
|
|
102
|
+
trigger: /* @__PURE__ */ r(
|
|
103
|
+
"button",
|
|
104
|
+
{
|
|
105
|
+
type: "button",
|
|
106
|
+
className: "bear-inline-flex bear-items-center bear-justify-center bear-rounded bear-px-2 bear-py-1 bear-text-zinc-400 hover:bear-bg-[var(--bear-bg-tertiary)] hover:bear-text-pink-400 bear-transition-colors",
|
|
107
|
+
"aria-label": "Hidden breadcrumbs",
|
|
108
|
+
children: /* @__PURE__ */ r(d.MoreHorizIcon, { size: 18 })
|
|
109
|
+
}
|
|
110
|
+
),
|
|
111
|
+
items: e.hidden.map((t, a) => {
|
|
112
|
+
const o = g + a;
|
|
113
|
+
return {
|
|
114
|
+
key: `${t.label}-${a}`,
|
|
115
|
+
label: t.label,
|
|
116
|
+
onClick: () => {
|
|
117
|
+
var c;
|
|
118
|
+
I(o), (c = t.onClick) == null || c.call(t);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
})
|
|
122
|
+
}
|
|
123
|
+
),
|
|
124
|
+
Z && i != null && /* @__PURE__ */ r("span", { className: "bear-min-w-0 bear-max-w-[12rem] bear-truncate md:bear-max-w-none bear-inline-flex bear-items-center", children: C(
|
|
125
|
+
n[i],
|
|
126
|
+
i,
|
|
127
|
+
i === n.length - 1
|
|
128
|
+
) })
|
|
129
|
+
] }) : C(e.item, e.index, e.index === n.length - 1)
|
|
130
|
+
] }, l)) })
|
|
51
131
|
}
|
|
52
132
|
);
|
|
53
133
|
};
|
|
54
134
|
export {
|
|
55
|
-
|
|
135
|
+
te as Breadcrumbs
|
|
56
136
|
};
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
import { MaxVisibleInput } from '../../utils/maxVisible.utils';
|
|
2
3
|
export type BreadcrumbSize = 'sm' | 'md' | 'lg';
|
|
4
|
+
export interface BreadcrumbDropdownItem {
|
|
5
|
+
key: string;
|
|
6
|
+
label: ReactNode;
|
|
7
|
+
onClick?: () => void;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
3
10
|
export interface BreadcrumbItem {
|
|
4
11
|
label: string;
|
|
5
12
|
href?: string;
|
|
6
13
|
icon?: ReactNode;
|
|
7
14
|
onClick?: () => void;
|
|
15
|
+
/** When set, the crumb opens a dropdown (same shape as Dropdown items). */
|
|
16
|
+
dropdownItems?: BreadcrumbDropdownItem[];
|
|
8
17
|
}
|
|
9
18
|
export interface BreadcrumbsProps {
|
|
10
19
|
items: BreadcrumbItem[];
|
|
11
20
|
separator?: ReactNode;
|
|
12
|
-
|
|
21
|
+
/** Collapse middle crumbs into a "…" menu when items.length exceeds this threshold. Number or breakpoint map (same rules as TabList maxVisibleTabs). */
|
|
22
|
+
maxItems?: MaxVisibleInput;
|
|
13
23
|
itemsBeforeCollapse?: number;
|
|
14
24
|
itemsAfterCollapse?: number;
|
|
15
25
|
className?: string;
|
|
16
26
|
size?: BreadcrumbSize;
|
|
17
27
|
showHomeIcon?: boolean;
|
|
18
|
-
/** Unique identifier for testing */
|
|
19
28
|
testId?: string;
|
|
20
|
-
/** HTML id attribute */
|
|
21
29
|
id?: string;
|
|
22
|
-
/** Accessible label for screen readers */
|
|
23
30
|
'aria-label'?: string;
|
|
24
31
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { Breadcrumbs } from './Breadcrumbs';
|
|
2
|
-
export type { BreadcrumbsProps, BreadcrumbItem } from './Breadcrumbs.types';
|
|
2
|
+
export type { BreadcrumbsProps, BreadcrumbItem, BreadcrumbDropdownItem } from './Breadcrumbs.types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),s=require("react"),J=require("react-dom"),E=require("../../utils/cn.cjs"),x=require("./Cascader.const.cjs"),K=require("./components/CascaderPanel/CascaderPanel.cjs"),Q=({options:l,value:o=[],onChange:d,placeholder:O,label:j,helperText:g,error:m,disabled:p=!1,loading:P=!1,clearable:D=!0,size:M="md",variant:q="default",expandTrigger:I="click",showFullPath:A=!0,pathSeparator:S=x.CASCADER_PATH_SEPARATOR,changeOnSelect:y=!1,className:T,testId:W,translations:N,icon:Z})=>{const[u,w]=s.useState(!1),[f,_]=s.useState([]),[R,H]=s.useState({top:0,left:0}),L=s.useRef(null),k=s.useRef(null),C=s.useMemo(()=>({...x.CASCADER_DEFAULT_TRANSLATIONS,...N}),[N]);s.useEffect(()=>{if(!u||!k.current)return;const e=()=>{const t=k.current.getBoundingClientRect(),r=Math.min(560,window.innerWidth-16);let a=Math.max(8,Math.min(t.left,window.innerWidth-r-8));H({top:t.bottom+8,left:a})};return e(),window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[u]),s.useEffect(()=>{const e=t=>{var a,c;const r=t.target;(a=L.current)!=null&&a.contains(r)||(c=r.closest)!=null&&c.call(r,"[data-bear-cascader-dropdown]")||w(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),s.useEffect(()=>{o.length>0&&_(o.slice(0,-1))},[o]);const U=s.useCallback((e,t)=>{for(const r of e){if(r.value===t)return r;if(r.children){const a=U(r.children,t);if(a)return a}}},[]),z=s.useMemo(()=>{var t;if(o.length===0)return"";const e=o.map((r,a)=>{let c=l;for(let i=0;i<a;i++){const b=c.find(v=>v.value===o[i]);b!=null&&b.children&&(c=b.children)}return c.find(i=>i.value===r)}).filter(Boolean);return A?e.map(r=>r.label).join(S):((t=e[e.length-1])==null?void 0:t.label)||""},[o,l,A,S]),B=s.useMemo(()=>{const e=[l];let t=l;for(const r of f){const a=t.find(c=>c.value===r);if(a!=null&&a.children)e.push(a.children),t=a.children;else break}return e},[l,f]),V=s.useCallback((e,t)=>{var a,c;const r=[...f.slice(0,t),e.value];if(!((a=e.children)!=null&&a.length)||y){const i=[];let b=l;for(const v of r){const h=b.find(G=>G.value===v);h&&(i.push(h),h.children&&(b=h.children))}d==null||d(r,i),(c=e.children)!=null&&c.length||w(!1)}},[f,l,d,y]),X=s.useCallback((e,t)=>{_(r=>[...r.slice(0,t),e.value])},[]),F=s.useCallback(e=>{e.stopPropagation(),d==null||d([],[]),_([])},[d]);return n.jsxs("div",{ref:L,className:E.cn("Bear-Cascader bear-relative",T),"data-testid":W,children:[j&&n.jsx("label",{className:"Bear-Cascader__label bear-block bear-text-sm bear-font-medium bear-text-zinc-700 dark:bear-text-zinc-300 bear-mb-1.5",children:j}),n.jsxs("button",{ref:k,type:"button",onClick:()=>!p&&w(!u),disabled:p,className:E.cn("Bear-Cascader__trigger bear-w-full bear-flex bear-items-center bear-justify-between bear-rounded-lg bear-border bear-text-left bear-transition-colors",x.CASCADER_SIZE_CLASSES[M],x.CASCADER_VARIANT_CLASSES[q],m?"bear-border-red-500":"focus:bear-border-pink-500",p&&"bear-opacity-50 bear-cursor-not-allowed",z?"bear-text-gray-900 dark:bear-text-white":"bear-text-gray-500 dark:bear-text-zinc-500"),children:[n.jsx("span",{className:"Bear-Cascader__value bear-truncate bear-flex-1",children:P?C.loading:z||O||C.placeholder}),n.jsxs("span",{className:"Bear-Cascader__icons bear-flex bear-items-center bear-gap-1",children:[D&&o.length>0&&!p&&n.jsx("span",{onClick:F,className:"Bear-Cascader__clear bear-p-0.5 bear-rounded hover:bear-bg-gray-200 dark:hover:bear-bg-zinc-700 bear-cursor-pointer",children:n.jsx("svg",{className:"bear-w-4 bear-h-4 bear-text-gray-500 dark:bear-text-zinc-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:n.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),Z??n.jsx("svg",{className:E.cn("Bear-Cascader__chevron bear-w-4 bear-h-4 bear-text-gray-500 dark:bear-text-zinc-400 bear-transition-transform",u&&"bear-rotate-180"),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:n.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})]}),m&&n.jsx("p",{className:"Bear-Cascader__error bear-mt-1 bear-text-xs bear-text-red-400",children:m}),g&&!m&&n.jsx("p",{className:"Bear-Cascader__helper bear-mt-1 bear-text-xs bear-text-zinc-500 dark:bear-text-zinc-400",children:g}),u&&typeof document<"u"&&J.createPortal(n.jsxs("div",{"data-bear-cascader-dropdown":!0,className:"Bear-Cascader__dropdown bear-fixed bear-max-w-[calc(100vw-16px)] bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-zinc-200 dark:bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-flex bear-flex-col sm:bear-flex-row bear-overflow-hidden",style:{top:R.top,left:R.left,zIndex:x.CASCADER_DROPDOWN_Z_INDEX},children:[B.map((e,t)=>n.jsx(K.CascaderPanel,{options:e,selectedPath:o,expandedPath:f,onSelect:V,onExpand:X,expandTrigger:I,level:t},t)),B.every(e=>e.length===0)&&n.jsx("div",{className:"Bear-Cascader__empty bear-px-4 bear-py-3 bear-text-sm bear-text-gray-500 dark:bear-text-zinc-500",children:C.noOptions})]}),document.body)]})};exports.Cascader=Q;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={placeholder:"Select option",noOptions:"No options available",loading:"Loading...",clear:"Clear"},r={sm:"bear-py-1.5 bear-px-3 bear-text-sm",md:"bear-py-2 bear-px-4 bear-text-sm",lg:"bear-py-2.5 bear-px-5 bear-text-base"},A={default:"bear-bg-white dark:bear-bg-zinc-800 bear-border-zinc-300 dark:bear-border-zinc-600",filled:"bear-bg-zinc-100 dark:bear-bg-zinc-700 bear-border-transparent",outline:"bear-bg-transparent bear-border-zinc-300 dark:bear-border-zinc-500"},a=
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={placeholder:"Select option",noOptions:"No options available",loading:"Loading...",clear:"Clear"},r={sm:"bear-py-1.5 bear-px-3 bear-text-sm",md:"bear-py-2 bear-px-4 bear-text-sm",lg:"bear-py-2.5 bear-px-5 bear-text-base"},A={default:"bear-bg-white dark:bear-bg-zinc-800 bear-border-zinc-300 dark:bear-border-zinc-600",filled:"bear-bg-zinc-100 dark:bear-bg-zinc-700 bear-border-transparent",outline:"bear-bg-transparent bear-border-zinc-300 dark:bear-border-zinc-500"},a=1e4,b=" / ";exports.CASCADER_DEFAULT_TRANSLATIONS=e;exports.CASCADER_DROPDOWN_Z_INDEX=a;exports.CASCADER_PATH_SEPARATOR=b;exports.CASCADER_SIZE_CLASSES=r;exports.CASCADER_VARIANT_CLASSES=A;
|
|
@@ -11,7 +11,7 @@ const e = {
|
|
|
11
11
|
default: "bear-bg-white dark:bear-bg-zinc-800 bear-border-zinc-300 dark:bear-border-zinc-600",
|
|
12
12
|
filled: "bear-bg-zinc-100 dark:bear-bg-zinc-700 bear-border-transparent",
|
|
13
13
|
outline: "bear-bg-transparent bear-border-zinc-300 dark:bear-border-zinc-500"
|
|
14
|
-
}, b =
|
|
14
|
+
}, b = 1e4, n = " / ";
|
|
15
15
|
export {
|
|
16
16
|
e as CASCADER_DEFAULT_TRANSLATIONS,
|
|
17
17
|
b as CASCADER_DROPDOWN_Z_INDEX,
|