@forgedevstack/bear 1.1.9 → 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/AlertDialog/AlertDialog.cjs +1 -1
- package/dist/components/AlertDialog/AlertDialog.const.cjs +1 -1
- package/dist/components/AlertDialog/AlertDialog.const.d.ts +2 -2
- package/dist/components/AlertDialog/AlertDialog.const.js +4 -4
- package/dist/components/AlertDialog/AlertDialog.js +76 -62
- 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/Calendar/Calendar.cjs +1 -1
- package/dist/components/Calendar/Calendar.js +3 -2
- 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/CloseButton/CloseButton.cjs +1 -0
- package/dist/components/CloseButton/CloseButton.d.ts +4 -0
- package/dist/components/CloseButton/CloseButton.js +60 -0
- package/dist/components/CloseButton/CloseButton.types.d.ts +15 -0
- package/dist/components/CloseButton/index.d.ts +2 -0
- 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/DatePicker/DatePicker.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.js +12 -11
- 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/commerce.cjs +1 -0
- package/dist/components/Icon/icons/commerce.d.ts +25 -0
- package/dist/components/Icon/icons/commerce.js +124 -0
- package/dist/components/Icon/icons/device.cjs +1 -0
- package/dist/components/Icon/icons/device.d.ts +27 -0
- package/dist/components/Icon/icons/device.js +122 -0
- package/dist/components/Icon/icons/file.cjs +1 -0
- package/dist/components/Icon/icons/file.d.ts +25 -0
- package/dist/components/Icon/icons/file.js +120 -0
- package/dist/components/Icon/icons/social.cjs +1 -0
- package/dist/components/Icon/icons/social.d.ts +24 -0
- package/dist/components/Icon/icons/social.js +89 -0
- package/dist/components/Icon/icons/status.js +1 -1
- package/dist/components/Icon/index.cjs +1 -1
- package/dist/components/Icon/index.d.ts +93 -56
- package/dist/components/Icon/index.js +38 -26
- 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/Overlay/Overlay.cjs +1 -0
- package/dist/components/Overlay/Overlay.d.ts +4 -0
- package/dist/components/Overlay/Overlay.js +38 -0
- package/dist/components/Overlay/Overlay.types.d.ts +23 -0
- package/dist/components/Overlay/index.d.ts +2 -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 -0
- package/dist/components/Portal/Portal.d.ts +8 -0
- package/dist/components/Portal/Portal.js +6 -0
- package/dist/components/Portal/index.d.ts +2 -0
- 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/ThemeIcon/ThemeIcon.cjs +1 -0
- package/dist/components/ThemeIcon/ThemeIcon.d.ts +4 -0
- package/dist/components/ThemeIcon/ThemeIcon.js +54 -0
- package/dist/components/ThemeIcon/ThemeIcon.types.d.ts +22 -0
- package/dist/components/ThemeIcon/index.d.ts +2 -0
- 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/VisuallyHidden/VisuallyHidden.cjs +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +6 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.js +22 -0
- package/dist/components/VisuallyHidden/index.d.ts +2 -0
- 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 +15 -3
- package/dist/components/index.js +296 -280
- package/dist/hooks/bearStyled.cjs +1 -1
- package/dist/hooks/bearStyled.d.ts +31 -9
- package/dist/hooks/bearStyled.js +17 -12
- 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/hooks/useMediaQuery/useMediaQuery.d.ts +9 -1
- package/dist/hooks/useResponsive.cjs +1 -1
- package/dist/hooks/useResponsive.d.ts +2 -17
- package/dist/hooks/useResponsive.js +47 -41
- package/dist/index.cjs +1 -1
- package/dist/index.js +383 -366
- package/dist/styles/_effects.css +26 -0
- package/dist/styles.css +1 -1
- package/dist/types/theme.types.d.ts +1 -0
- 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,103 +1,124 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { createPortal as
|
|
4
|
-
import { cn as
|
|
5
|
-
import { XIcon as
|
|
6
|
-
const v = 300,
|
|
1
|
+
import { jsxs as i, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useState as d, useEffect as x, useCallback as E } from "react";
|
|
3
|
+
import { createPortal as M } from "react-dom";
|
|
4
|
+
import { cn as n } from "../../utils/cn.js";
|
|
5
|
+
import { XIcon as S } from "../Icon/index.js";
|
|
6
|
+
const v = 300, z = {
|
|
7
7
|
sm: "bear-max-h-[40%]",
|
|
8
8
|
md: "bear-max-h-[60%]",
|
|
9
9
|
lg: "bear-max-h-[80%]",
|
|
10
10
|
full: "bear-max-h-[95%]"
|
|
11
|
-
},
|
|
11
|
+
}, q = ({
|
|
12
12
|
isOpen: o,
|
|
13
13
|
onClose: t,
|
|
14
14
|
title: b,
|
|
15
15
|
children: y,
|
|
16
16
|
size: k = "md",
|
|
17
|
-
showCloseButton:
|
|
17
|
+
showCloseButton: u = !0,
|
|
18
18
|
closeOnBackdrop: p = !0,
|
|
19
|
-
closeOnEscape:
|
|
19
|
+
closeOnEscape: c = !0,
|
|
20
20
|
showHandle: g = !0,
|
|
21
|
-
|
|
21
|
+
enableScroll: w = !0,
|
|
22
|
+
isSticky: N = !1,
|
|
23
|
+
className: j
|
|
22
24
|
}) => {
|
|
23
|
-
const [r,
|
|
24
|
-
|
|
25
|
+
const [r, m] = d(o), [f, l] = d(!1), [I, h] = d(!1);
|
|
26
|
+
x(() => {
|
|
25
27
|
if (o) {
|
|
26
|
-
|
|
27
|
-
const a = requestAnimationFrame(() =>
|
|
28
|
+
m(!0), l(!1);
|
|
29
|
+
const a = requestAnimationFrame(() => h(!0));
|
|
28
30
|
return () => cancelAnimationFrame(a);
|
|
29
31
|
}
|
|
30
32
|
if (r) {
|
|
31
|
-
|
|
33
|
+
h(!1), l(!0);
|
|
32
34
|
const a = setTimeout(() => {
|
|
33
|
-
|
|
35
|
+
m(!1), l(!1);
|
|
34
36
|
}, v);
|
|
35
37
|
return () => clearTimeout(a);
|
|
36
38
|
}
|
|
37
39
|
}, [o, r]);
|
|
38
|
-
const
|
|
40
|
+
const s = E(
|
|
39
41
|
(a) => {
|
|
40
|
-
|
|
42
|
+
c && a.key === "Escape" && t();
|
|
41
43
|
},
|
|
42
|
-
[
|
|
44
|
+
[c, t]
|
|
43
45
|
);
|
|
44
|
-
if (
|
|
45
|
-
document.removeEventListener("keydown",
|
|
46
|
-
}), [r,
|
|
47
|
-
const
|
|
46
|
+
if (x(() => (r && (document.addEventListener("keydown", s), document.body.style.overflow = "hidden"), () => {
|
|
47
|
+
document.removeEventListener("keydown", s), document.body.style.overflow = "";
|
|
48
|
+
}), [r, s]), !r) return null;
|
|
49
|
+
const A = /* @__PURE__ */ i("div", { className: "bear-fixed bear-inset-0 bear-z-[11000] bear-flex bear-items-end bear-justify-center", children: [
|
|
48
50
|
/* @__PURE__ */ e(
|
|
49
51
|
"div",
|
|
50
52
|
{
|
|
51
|
-
className:
|
|
53
|
+
className: n(
|
|
52
54
|
"bear-absolute bear-inset-0 bear-bg-black/60 bear-backdrop-blur-sm bear-transition-opacity",
|
|
53
|
-
|
|
55
|
+
f ? "bear-opacity-0" : "bear-opacity-100"
|
|
54
56
|
),
|
|
55
57
|
style: { transitionDuration: `${v}ms` },
|
|
56
58
|
onClick: p ? t : void 0,
|
|
57
59
|
"aria-hidden": "true"
|
|
58
60
|
}
|
|
59
61
|
),
|
|
60
|
-
/* @__PURE__ */
|
|
62
|
+
/* @__PURE__ */ i(
|
|
61
63
|
"div",
|
|
62
64
|
{
|
|
63
65
|
role: "dialog",
|
|
64
66
|
"aria-modal": "true",
|
|
65
67
|
"aria-labelledby": b ? "bottom-sheet-title" : void 0,
|
|
66
|
-
className:
|
|
67
|
-
"Bear-BottomSheet bear-relative bear-w-full bear-rounded-t-2xl bear-shadow-2xl bear-
|
|
68
|
+
className: n(
|
|
69
|
+
"Bear-BottomSheet bear-relative bear-w-full bear-rounded-t-2xl bear-shadow-2xl bear-transition-transform bear-duration-300",
|
|
70
|
+
"bear-flex bear-flex-col bear-min-h-0 bear-overflow-hidden",
|
|
68
71
|
"bear-bg-white dark:bear-bg-neutral-900 bear-border-t bear-border-neutral-200 dark:bear-border-neutral-700",
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
z[k],
|
|
73
|
+
I && !f ? "bear-translate-y-0" : "bear-translate-y-full",
|
|
74
|
+
j
|
|
72
75
|
),
|
|
73
76
|
children: [
|
|
74
77
|
g && /* @__PURE__ */ e("div", { className: "bear-flex bear-justify-center bear-pt-2 bear-pb-1", children: /* @__PURE__ */ e("div", { className: "bear-w-12 bear-h-1 bear-rounded-full bear-bg-neutral-300 dark:bear-bg-neutral-600", "aria-hidden": !0 }) }),
|
|
75
|
-
(b ||
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
78
|
+
(b || u) && /* @__PURE__ */ i(
|
|
79
|
+
"div",
|
|
80
|
+
{
|
|
81
|
+
className: n(
|
|
82
|
+
"bear-flex bear-items-center bear-justify-between bear-px-4 bear-py-3 bear-border-b bear-border-neutral-200 dark:bear-border-neutral-700 bear-shrink-0",
|
|
83
|
+
N && "bear-sticky bear-top-0 bear-z-10 bear-bg-white dark:bear-bg-neutral-900"
|
|
84
|
+
),
|
|
85
|
+
children: [
|
|
86
|
+
b && /* @__PURE__ */ e(
|
|
87
|
+
"h2",
|
|
88
|
+
{
|
|
89
|
+
id: "bottom-sheet-title",
|
|
90
|
+
className: "bear-text-lg bear-font-semibold bear-text-neutral-900 dark:bear-text-white",
|
|
91
|
+
children: b
|
|
92
|
+
}
|
|
93
|
+
),
|
|
94
|
+
u && /* @__PURE__ */ e(
|
|
95
|
+
"button",
|
|
96
|
+
{
|
|
97
|
+
onClick: t,
|
|
98
|
+
className: "bear-p-1 bear-rounded-lg bear-text-neutral-500 dark:bear-text-neutral-400 hover:bear-text-neutral-900 dark:hover:bear-text-white hover:bear-bg-neutral-100 dark:hover:bear-bg-neutral-700 bear-transition-colors",
|
|
99
|
+
"aria-label": "Close",
|
|
100
|
+
children: /* @__PURE__ */ e(S, { className: "bear-w-5 bear-h-5" })
|
|
101
|
+
}
|
|
102
|
+
)
|
|
103
|
+
]
|
|
104
|
+
}
|
|
105
|
+
),
|
|
106
|
+
/* @__PURE__ */ e(
|
|
107
|
+
"div",
|
|
108
|
+
{
|
|
109
|
+
className: n(
|
|
110
|
+
"bear-flex-1 bear-min-h-0 bear-p-4 bear-text-neutral-700 dark:bear-text-neutral-300",
|
|
111
|
+
w ? "bear-overflow-y-auto" : "bear-overflow-hidden"
|
|
112
|
+
),
|
|
113
|
+
children: y
|
|
114
|
+
}
|
|
115
|
+
)
|
|
95
116
|
]
|
|
96
117
|
}
|
|
97
118
|
)
|
|
98
119
|
] });
|
|
99
|
-
return A
|
|
120
|
+
return M(A, document.body);
|
|
100
121
|
};
|
|
101
122
|
export {
|
|
102
|
-
|
|
123
|
+
q as BottomSheet
|
|
103
124
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),b=require("react"),H=require("../../context/BearProvider.cjs"),Z=require("../../utils/maxVisible.utils.cjs"),g=require("../../utils/cn.cjs"),R=require("../Dropdown/Dropdown.cjs"),u=require("../Icon/index.cjs"),c=require("./Breadcrumbs.const.cjs"),V=v=>{const{items:n,separator:N,maxItems:p,itemsBeforeCollapse:x=c.BREADCRUMBS_DEFAULTS.ITEMS_BEFORE_COLLAPSE,itemsAfterCollapse:m=c.BREADCRUMBS_DEFAULTS.ITEMS_AFTER_COLLAPSE,className:D,size:h=c.BREADCRUMBS_DEFAULTS.SIZE,showHomeIcon:_=c.BREADCRUMBS_DEFAULTS.SHOW_HOME_ICON,testId:A,id:z,"aria-label":M="Breadcrumb"}=v,w=H.useBearThemeOptional(),[i,f]=b.useState(null),[O,E]=b.useState({}),[I,U]=b.useState(()=>typeof window<"u"?window.innerWidth:1200);b.useEffect(()=>{const e=()=>U(window.innerWidth);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),b.useEffect(()=>{f(null),E({})},[n]);const S=b.useMemo(()=>p==null?void 0:Z.resolveMaxVisible(p,{width:I,theme:w}),[p,I,w]),L=()=>N||r.jsx(u.BearIcons.ChevronRightIcon,{className:g.cn(c.BREADCRUMBS_ICON_SIZE[h],"bear-text-zinc-500 bear-mx-2")}),B=(e,s,a)=>{const t=r.jsxs("span",{className:"bear-flex bear-items-center bear-gap-1 bear-max-w-[12rem] bear-truncate md:bear-max-w-none",children:[s===0&&_&&r.jsx(u.BearIcons.HomeIcon,{className:c.BREADCRUMBS_ICON_SIZE[h]}),e.icon,e.label]}),o=a?r.jsx("span",{className:"bear-text-zinc-300 bear-font-medium","aria-current":"page",children:t}):e.href?r.jsx("a",{href:e.href,className:"bear-text-zinc-400 hover:bear-text-pink-400 bear-transition-colors bear-truncate",children:t}):e.onClick?r.jsx("button",{type:"button",onClick:e.onClick,className:"bear-text-zinc-400 hover:bear-text-pink-400 bear-transition-colors bear-truncate",children:t}):r.jsx("span",{className:"bear-text-zinc-400 bear-truncate",children:t});if(e.dropdownItems&&e.dropdownItems.length>0&&!a){const d=O[s],k=e.dropdownItems.find(l=>l.key===d);return r.jsx(R.Dropdown,{placement:"bottom-start",closeOnSelect:!0,trigger:r.jsxs("button",{type:"button",className:"bear-inline-flex bear-items-center bear-gap-1 bear-text-zinc-400 hover:bear-text-pink-400 bear-transition-colors","aria-haspopup":"true",children:[t,k&&r.jsx("span",{className:"bear-ml-1 bear-max-w-[8rem] bear-truncate bear-text-xs bear-text-zinc-300",children:k.label}),r.jsx(u.BearIcons.ChevronDownIcon,{size:14})]}),items:e.dropdownItems.map(l=>({key:l.key,label:l.label,disabled:l.disabled,selected:d===l.key,onClick:()=>{var y;E(F=>({...F,[s]:l.key})),(y=l.onClick)==null||y.call(l)}}))})}return o},T=S!=null&&n.length>S,C=x,P=n.length-m;let j=n.map((e,s)=>({type:"item",item:e,index:s}));if(T){const e=n.slice(0,x),s=n.slice(-m),a=n.slice(x,n.length-m);j=[...e.map((t,o)=>({type:"item",item:t,index:o})),...a.length?[{type:"ellipsis",hidden:a}]:[],...s.map((t,o)=>({type:"item",item:t,index:n.length-m+o}))]}const q=i!=null&&i>=C&&i<P;return r.jsx("nav",{id:z,"data-testid":A,className:g.cn("bear-flex bear-min-w-0 bear-items-center bear-flex-wrap",c.BREADCRUMBS_SIZE[h],D),"aria-label":M,children:r.jsx("ol",{className:"bear-flex bear-min-w-0 bear-items-center bear-flex-wrap bear-list-none bear-p-0 bear-m-0",children:j.map((e,s)=>r.jsxs("li",{className:"bear-flex bear-min-w-0 bear-items-center",children:[s>0&&r.jsx("span",{"aria-hidden":"true",children:L()}),e.type==="ellipsis"?r.jsxs("span",{className:"bear-inline-flex bear-min-w-0 bear-max-w-full bear-items-center bear-gap-1",children:[r.jsx(R.Dropdown,{placement:"bottom-start",closeOnSelect:!0,trigger:r.jsx("button",{type:"button",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","aria-label":"Hidden breadcrumbs",children:r.jsx(u.BearIcons.MoreHorizIcon,{size:18})}),items:e.hidden.map((a,t)=>{const o=C+t;return{key:`${a.label}-${t}`,label:a.label,onClick:()=>{var d;f(o),(d=a.onClick)==null||d.call(a)}}})}),q&&i!=null&&r.jsx("span",{className:"bear-min-w-0 bear-max-w-[12rem] bear-truncate md:bear-max-w-none bear-inline-flex bear-items-center",children:B(n[i],i,i===n.length-1)})]}):B(e.item,e.index,e.index===n.length-1)]},s))})})};exports.Breadcrumbs=V;
|
|
@@ -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 e=require("react/jsx-runtime"),i=require("react"),D=require("../../utils/cn.cjs"),he=require("../../hooks/useBearStyles.cjs");require("../../hooks/useBearComponent/useBearComponent.cjs");const v=require("../Icon/index.cjs"),s=require("./Calendar.const.cjs"),l=require("./Calendar.utils.cjs"),xe=require("./Calendar.helpers.cjs"),ke=G=>{const{viewDate:w,value:E=null,onSelect:C,onViewChange:n,minDate:N,maxDate:_,disabledDates:M=[],highlightedDates:R=[],weekdayLabels:S=s.DEFAULT_WEEKDAYS,firstDayOfWeek:k=s.NUMBER.ZERO,showWeekNumbers:ye=!1,slots:r={},clearable:K=!0,onClear:u,showTodayButton:Z=!0,onToday:h,bis:X,style:J,inline:O=!1,className:Q}=G,b=w.getFullYear(),P=he.useBearStyles(X,J),d=w.getMonth(),$=i.useMemo(()=>new Date,[]),g=i.useCallback(()=>{n==null||n(new Date(b-s.NUMBER.ONE,d,s.NUMBER.ONE))},[b,d,n]),L=i.useCallback(()=>{n==null||n(new Date(b,d-s.NUMBER.ONE,s.NUMBER.ONE))},[b,d,n]),W=i.useCallback(()=>{n==null||n(new Date(b,d+s.NUMBER.ONE,s.NUMBER.ONE))},[b,d,n]),z=i.useCallback(()=>{n==null||n(new Date(b+s.NUMBER.ONE,d,s.NUMBER.ONE))},[b,d,n]),p=L,B=W,V={onPrevYear:g,onPrevMonth:L,onNextMonth:W,onNextYear:z},ee=i.useCallback(t=>N&&t<N||_&&t>_?!0:M.some(a=>l.isSameDay(a,t)),[N,_,M]),re=i.useCallback(t=>R.some(a=>l.isSameDay(a,t)),[R]),ae=i.useMemo(()=>l.buildCalendarGrid(b,d,k),[b,d,k]),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("react"),D=require("../../utils/cn.cjs"),he=require("../../hooks/useBearStyles.cjs");require("../../hooks/useBearComponent/useBearComponent.cjs");require("../../context/BearProvider.cjs");const v=require("../Icon/index.cjs"),s=require("./Calendar.const.cjs"),l=require("./Calendar.utils.cjs"),xe=require("./Calendar.helpers.cjs"),ke=G=>{const{viewDate:w,value:E=null,onSelect:C,onViewChange:n,minDate:N,maxDate:_,disabledDates:M=[],highlightedDates:R=[],weekdayLabels:S=s.DEFAULT_WEEKDAYS,firstDayOfWeek:k=s.NUMBER.ZERO,showWeekNumbers:ye=!1,slots:r={},clearable:K=!0,onClear:u,showTodayButton:Z=!0,onToday:h,bis:X,style:J,inline:O=!1,className:Q}=G,b=w.getFullYear(),P=he.useBearStyles(X,J),d=w.getMonth(),$=i.useMemo(()=>new Date,[]),g=i.useCallback(()=>{n==null||n(new Date(b-s.NUMBER.ONE,d,s.NUMBER.ONE))},[b,d,n]),L=i.useCallback(()=>{n==null||n(new Date(b,d-s.NUMBER.ONE,s.NUMBER.ONE))},[b,d,n]),W=i.useCallback(()=>{n==null||n(new Date(b,d+s.NUMBER.ONE,s.NUMBER.ONE))},[b,d,n]),z=i.useCallback(()=>{n==null||n(new Date(b+s.NUMBER.ONE,d,s.NUMBER.ONE))},[b,d,n]),p=L,B=W,V={onPrevYear:g,onPrevMonth:L,onNextMonth:W,onNextYear:z},ee=i.useCallback(t=>N&&t<N||_&&t>_?!0:M.some(a=>l.isSameDay(a,t)),[N,_,M]),re=i.useCallback(t=>R.some(a=>l.isSameDay(a,t)),[R]),ae=i.useMemo(()=>l.buildCalendarGrid(b,d,k),[b,d,k]),q=i.useMemo(()=>l.reorderWeekdays(S,k),[S,k]),T=s.MONTHS[d],f=E!=null,te=O?"Bear-Calendar Bear-Calendar--inline bear-block bear-w-full bear-bg-white dark:bear-bg-zinc-900 bear-rounded-xl bear-shadow-none bear-border bear-border-zinc-200 dark:bear-border-zinc-700 bear-p-4 bear-text-zinc-900 dark:bear-text-zinc-100":"Bear-Calendar Bear-Calendar--dropdown bear-mt-2 bear-bg-white dark:bear-bg-zinc-900 bear-rounded-xl bear-shadow-xl bear-border bear-border-zinc-200 dark:bear-border-zinc-700 bear-p-4 bear-w-80 bear-text-zinc-900 dark:bear-text-zinc-100",U=O?void 0:{zIndex:s.CALENDAR_DROPDOWN_Z_INDEX},ne=()=>{if(r.header)return r.header({month:T,year:b,onPrev:p,onNext:B,nav:V});const t=r.navPrevYear,a=r.navPrev,o=r.navNext,c=r.navNextYear,y=r.headerLabel||xe.DefaultHeaderLabel;return e.jsxs("div",{className:"Bear-Calendar__header bear-flex bear-items-center bear-justify-between bear-gap-1 bear-mb-4",children:[e.jsxs("div",{className:"Bear-Calendar__nav-left bear-flex bear-items-center bear-gap-0.5",children:[t?t({onClick:g}):e.jsx("button",{type:"button",onClick:g,className:"Bear-Calendar__nav-btn bear-p-1.5 bear-rounded bear-text-zinc-500 dark:bear-text-zinc-400 hover:bear-bg-zinc-100 dark:hover:bear-bg-zinc-800 bear-transition-colors","aria-label":"Previous year",children:e.jsx(v.ChevronsLeftIcon,{size:16})}),a?a({onClick:p}):e.jsx("button",{type:"button",onClick:p,className:"Bear-Calendar__nav-btn bear-p-1.5 bear-rounded bear-text-zinc-500 dark:bear-text-zinc-400 hover:bear-bg-zinc-100 dark:hover:bear-bg-zinc-800 bear-transition-colors","aria-label":"Previous month",children:e.jsx(v.ChevronLeftIcon,{size:16})})]}),y({month:T,year:b}),e.jsxs("div",{className:"Bear-Calendar__nav-right bear-flex bear-items-center bear-gap-0.5",children:[o?o({onClick:B}):e.jsx("button",{type:"button",onClick:B,className:"Bear-Calendar__nav-btn bear-p-1.5 bear-rounded bear-text-zinc-500 dark:bear-text-zinc-400 hover:bear-bg-zinc-100 dark:hover:bear-bg-zinc-800 bear-transition-colors","aria-label":"Next month",children:e.jsx(v.ChevronRightIcon,{size:16})}),c?c({onClick:z}):e.jsx("button",{type:"button",onClick:z,className:"Bear-Calendar__nav-btn bear-p-1.5 bear-rounded bear-text-zinc-500 dark:bear-text-zinc-400 hover:bear-bg-zinc-100 dark:hover:bear-bg-zinc-800 bear-transition-colors","aria-label":"Next year",children:e.jsx(v.ChevronsRightIcon,{size:16})})]})]})},oe=()=>{if(r.weekdays)return r.weekdays({days:q});const t=r.weekday;return e.jsx("div",{className:"Bear-Calendar__weekdays bear-grid bear-grid-cols-7 bear-gap-1 bear-mb-2",children:q.map(a=>t?e.jsx("div",{children:t({label:a})},a):e.jsx("div",{className:D.cn("Bear-Calendar__weekday bear-text-center bear-text-xs bear-font-medium bear-uppercase bear-text-zinc-500 dark:bear-text-zinc-400",s.WEEKEND_LABELS.includes(a)&&"bear-text-red-500"),children:a},a))})},se=(t,a)=>{const{date:o,isCurrentMonth:c}=t,y=o.getDate(),ce=o.getDay(),le=l.isWeekendDay(ce),x=l.isSameDay(E,o),j=l.isSameDay($,o),m=ee(o),H=re(o),F=()=>{m||C==null||C(o)},ue={date:o,day:y,isCurrentMonth:c,isSelected:x,isToday:j,isDisabled:m,isHighlighted:H,onClick:F};return r.day?e.jsx("span",{children:r.day(ue)},a):e.jsx("button",{type:"button",onClick:F,disabled:m,className:D.cn("Bear-Calendar__day bear-w-8 bear-h-8 bear-rounded-full bear-text-sm bear-font-medium bear-transition-colors bear-flex bear-items-center bear-justify-center",x&&"Bear-Calendar__day--selected bear-bg-pink-500 bear-text-white hover:bear-bg-pink-600",!x&&j&&"Bear-Calendar__day--today bear-ring-2 bear-ring-pink-500/50 bear-bg-transparent",!x&&!j&&(c?le?"Bear-Calendar__day--weekend bear-text-red-500 dark:bear-text-red-400 hover:bear-bg-zinc-100 dark:hover:bear-bg-zinc-800":"bear-text-zinc-700 dark:bear-text-zinc-300 hover:bear-bg-zinc-100 dark:hover:bear-bg-zinc-800":"Bear-Calendar__day--other bear-text-zinc-500 dark:bear-text-zinc-600 hover:bear-bg-zinc-50 dark:hover:bear-bg-zinc-800/50"),H&&!x&&"Bear-Calendar__day--highlighted bear-bg-pink-500/15",m&&"Bear-Calendar__day--disabled bear-opacity-40 bear-cursor-not-allowed"),children:y},a)},be=()=>{const t=ae.map((a,o)=>se(a,o));return r.daysGrid?r.daysGrid({children:t,className:"Bear-Calendar__grid bear-grid bear-grid-cols-7 bear-gap-1"}):e.jsx("div",{className:"Bear-Calendar__grid bear-grid bear-grid-cols-7 bear-gap-1",children:t})},de=()=>{const t=K&&f&&u,a=Z&&h;if(!t&&!a)return null;if(r.footer){const o=r.clearButton,c=r.todayButton;return r.footer({children:e.jsxs("div",{className:"Bear-Calendar__footer bear-flex bear-justify-between bear-gap-2 bear-mt-4 bear-pt-3 bear-border-t bear-border-zinc-200 dark:bear-border-zinc-700",children:[t&&o?o({onClick:u,hasSelection:f}):t?e.jsx("button",{type:"button",onClick:u,className:"Bear-Calendar__clear-btn bear-text-sm bear-text-zinc-500 dark:bear-text-zinc-400 hover:bear-text-zinc-700 dark:hover:bear-text-zinc-200 bear-transition-colors",children:"Clear"}):e.jsx("span",{}),a&&c?c({onClick:h}):a?e.jsx("button",{type:"button",onClick:h,className:"Bear-Calendar__today-btn bear-text-sm bear-text-pink-600 dark:bear-text-pink-400 hover:bear-text-pink-700 dark:hover:bear-text-pink-300 bear-font-medium",children:"Today"}):null]})})}return r.clearButton&&r.todayButton?e.jsxs("div",{className:"Bear-Calendar__footer bear-flex bear-justify-between bear-gap-2 bear-mt-4 bear-pt-3 bear-border-t bear-border-zinc-200 dark:bear-border-zinc-700",children:[t&&r.clearButton({onClick:u,hasSelection:f}),a&&r.todayButton({onClick:h})]}):e.jsxs("div",{className:"Bear-Calendar__footer bear-flex bear-justify-between bear-gap-2 bear-mt-4 bear-pt-3 bear-border-t bear-border-zinc-200 dark:bear-border-zinc-700",children:[t?e.jsx("button",{type:"button",onClick:u,className:"Bear-Calendar__clear-btn bear-text-sm bear-text-zinc-500 dark:bear-text-zinc-400 hover:bear-text-zinc-700 dark:hover:bear-text-zinc-200 bear-transition-colors",children:"Clear"}):e.jsx("span",{}),a?e.jsx("button",{type:"button",onClick:h,className:"Bear-Calendar__today-btn bear-text-sm bear-text-pink-400 hover:bear-text-pink-300 bear-font-medium bear-transition-colors",children:"Today"}):null]})},Y=e.jsxs(e.Fragment,{children:[ne(),oe(),be(),de()]}),I=D.cn(te,Q),A=Object.keys(P).length?P:void 0,ie=U?{...A,...U}:A;return r.root?r.root({children:Y,className:I}):e.jsx("div",{className:I,style:ie,children:Y})};exports.Calendar=ke;
|
|
@@ -3,11 +3,12 @@ import { useMemo as D, useCallback as l } from "react";
|
|
|
3
3
|
import { cn as E } from "../../utils/cn.js";
|
|
4
4
|
import { useBearStyles as ke } from "../../hooks/useBearStyles.js";
|
|
5
5
|
import "../../hooks/useBearComponent/useBearComponent.js";
|
|
6
|
+
import "../../context/BearProvider.js";
|
|
6
7
|
import { ChevronsLeftIcon as ye, ChevronLeftIcon as xe, ChevronRightIcon as ve, ChevronsRightIcon as pe } from "../Icon/index.js";
|
|
7
8
|
import { DEFAULT_WEEKDAYS as ze, NUMBER as i, CALENDAR_DROPDOWN_Z_INDEX as Ce, MONTHS as _e, WEEKEND_LABELS as ge } from "./Calendar.const.js";
|
|
8
9
|
import { isSameDay as v, buildCalendarGrid as Ne, reorderWeekdays as fe, isWeekendDay as Be } from "./Calendar.utils.js";
|
|
9
10
|
import { DefaultHeaderLabel as we } from "./Calendar.helpers.js";
|
|
10
|
-
const
|
|
11
|
+
const Re = (Z) => {
|
|
11
12
|
const {
|
|
12
13
|
viewDate: O,
|
|
13
14
|
value: P = null,
|
|
@@ -183,5 +184,5 @@ const Ie = (Z) => {
|
|
|
183
184
|
return e.root ? e.root({ children: H, className: F }) : /* @__PURE__ */ t("div", { className: F, style: se, children: H });
|
|
184
185
|
};
|
|
185
186
|
export {
|
|
186
|
-
|
|
187
|
+
Re as Calendar
|
|
187
188
|
};
|
|
@@ -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,
|