@forgedevstack/bear 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/dist/components/AnimatedCounter/AnimatedCounter.cjs +1 -0
  2. package/dist/components/AnimatedCounter/AnimatedCounter.const.cjs +1 -0
  3. package/dist/components/AnimatedCounter/AnimatedCounter.const.d.ts +5 -0
  4. package/dist/components/AnimatedCounter/AnimatedCounter.const.js +7 -0
  5. package/dist/components/AnimatedCounter/AnimatedCounter.d.ts +3 -0
  6. package/dist/components/AnimatedCounter/AnimatedCounter.js +59 -0
  7. package/dist/components/AnimatedCounter/AnimatedCounter.types.d.ts +26 -0
  8. package/dist/components/AnimatedCounter/AnimatedCounter.utils.cjs +1 -0
  9. package/dist/components/AnimatedCounter/AnimatedCounter.utils.d.ts +6 -0
  10. package/dist/components/AnimatedCounter/AnimatedCounter.utils.js +13 -0
  11. package/dist/components/AnimatedCounter/index.d.ts +2 -0
  12. package/dist/components/Autocomplete/Autocomplete.cjs +1 -1
  13. package/dist/components/Autocomplete/Autocomplete.const.cjs +1 -0
  14. package/dist/components/Autocomplete/Autocomplete.const.d.ts +1 -0
  15. package/dist/components/Autocomplete/Autocomplete.const.js +4 -0
  16. package/dist/components/Autocomplete/Autocomplete.js +110 -72
  17. package/dist/components/BottomSheet/BottomSheet.cjs +1 -1
  18. package/dist/components/BottomSheet/BottomSheet.js +74 -53
  19. package/dist/components/BottomSheet/BottomSheet.types.d.ts +2 -0
  20. package/dist/components/Breadcrumbs/Breadcrumbs.cjs +1 -1
  21. package/dist/components/Breadcrumbs/Breadcrumbs.js +126 -46
  22. package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +11 -4
  23. package/dist/components/Breadcrumbs/index.d.ts +1 -1
  24. package/dist/components/Cascader/Cascader.cjs +1 -1
  25. package/dist/components/Cascader/Cascader.const.cjs +1 -1
  26. package/dist/components/Cascader/Cascader.const.d.ts +1 -1
  27. package/dist/components/Cascader/Cascader.const.js +1 -1
  28. package/dist/components/Cascader/Cascader.js +109 -146
  29. package/dist/components/Cascader/components/CascaderPanel/CascaderPanel.cjs +1 -0
  30. package/dist/components/Cascader/components/CascaderPanel/CascaderPanel.d.ts +3 -0
  31. package/dist/components/Cascader/components/CascaderPanel/CascaderPanel.js +50 -0
  32. package/dist/components/Cascader/components/CascaderPanel/index.d.ts +1 -0
  33. package/dist/components/Chart/BarChart.cjs +1 -0
  34. package/dist/components/Chart/BarChart.d.ts +3 -0
  35. package/dist/components/Chart/BarChart.js +65 -0
  36. package/dist/components/Chart/Chart.cjs +1 -1
  37. package/dist/components/Chart/Chart.const.cjs +1 -1
  38. package/dist/components/Chart/Chart.const.d.ts +7 -0
  39. package/dist/components/Chart/Chart.const.js +12 -2
  40. package/dist/components/Chart/Chart.d.ts +1 -13
  41. package/dist/components/Chart/Chart.js +18 -204
  42. package/dist/components/Chart/Chart.types.d.ts +7 -1
  43. package/dist/components/Chart/LineChart.cjs +1 -0
  44. package/dist/components/Chart/LineChart.d.ts +3 -0
  45. package/dist/components/Chart/LineChart.js +73 -0
  46. package/dist/components/Chart/PieChart.cjs +1 -0
  47. package/dist/components/Chart/PieChart.d.ts +3 -0
  48. package/dist/components/Chart/PieChart.js +110 -0
  49. package/dist/components/Chart/index.d.ts +4 -1
  50. package/dist/components/ColorPicker/ColorPicker.cjs +1 -1
  51. package/dist/components/ColorPicker/ColorPicker.const.cjs +1 -1
  52. package/dist/components/ColorPicker/ColorPicker.const.d.ts +4 -2
  53. package/dist/components/ColorPicker/ColorPicker.const.js +8 -6
  54. package/dist/components/ColorPicker/ColorPicker.js +135 -73
  55. package/dist/components/ColorPicker/ColorPicker.utils.cjs +1 -0
  56. package/dist/components/ColorPicker/ColorPicker.utils.d.ts +17 -0
  57. package/dist/components/ColorPicker/ColorPicker.utils.js +43 -0
  58. package/dist/components/CountdownTimer/CountdownTimer.cjs +1 -1
  59. package/dist/components/CountdownTimer/CountdownTimer.const.cjs +1 -1
  60. package/dist/components/CountdownTimer/CountdownTimer.const.d.ts +2 -0
  61. package/dist/components/CountdownTimer/CountdownTimer.const.js +29 -17
  62. package/dist/components/CountdownTimer/CountdownTimer.js +91 -61
  63. package/dist/components/CountdownTimer/CountdownTimer.types.d.ts +11 -2
  64. package/dist/components/CreditInput/CreditInput.cjs +1 -1
  65. package/dist/components/CreditInput/CreditInput.js +80 -78
  66. package/dist/components/CurrencyInput/CurrencyInput.cjs +1 -0
  67. package/dist/components/CurrencyInput/CurrencyInput.const.cjs +1 -0
  68. package/dist/components/CurrencyInput/CurrencyInput.const.d.ts +4 -0
  69. package/dist/components/CurrencyInput/CurrencyInput.const.js +19 -0
  70. package/dist/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  71. package/dist/components/CurrencyInput/CurrencyInput.js +60 -0
  72. package/dist/components/CurrencyInput/CurrencyInput.types.d.ts +22 -0
  73. package/dist/components/CurrencyInput/CurrencyInput.utils.cjs +1 -0
  74. package/dist/components/CurrencyInput/CurrencyInput.utils.d.ts +2 -0
  75. package/dist/components/CurrencyInput/CurrencyInput.utils.js +14 -0
  76. package/dist/components/CurrencyInput/index.d.ts +2 -0
  77. package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -1
  78. package/dist/components/DateRangePicker/DateRangePicker.js +89 -84
  79. package/dist/components/DiffSquares/DiffSquares.cjs +1 -0
  80. package/dist/components/DiffSquares/DiffSquares.const.cjs +1 -0
  81. package/dist/components/DiffSquares/DiffSquares.const.d.ts +3 -0
  82. package/dist/components/DiffSquares/DiffSquares.const.js +6 -0
  83. package/dist/components/DiffSquares/DiffSquares.d.ts +3 -0
  84. package/dist/components/DiffSquares/DiffSquares.js +70 -0
  85. package/dist/components/DiffSquares/DiffSquares.types.d.ts +23 -0
  86. package/dist/components/DiffSquares/DiffSquares.utils.cjs +1 -0
  87. package/dist/components/DiffSquares/DiffSquares.utils.d.ts +3 -0
  88. package/dist/components/DiffSquares/DiffSquares.utils.js +12 -0
  89. package/dist/components/DiffSquares/index.d.ts +2 -0
  90. package/dist/components/DiffViewer/DiffViewer.cjs +1 -1
  91. package/dist/components/DiffViewer/DiffViewer.const.cjs +1 -1
  92. package/dist/components/DiffViewer/DiffViewer.const.d.ts +6 -0
  93. package/dist/components/DiffViewer/DiffViewer.const.js +17 -4
  94. package/dist/components/DiffViewer/DiffViewer.d.ts +0 -14
  95. package/dist/components/DiffViewer/DiffViewer.js +97 -105
  96. package/dist/components/DiffViewer/DiffViewer.types.d.ts +5 -0
  97. package/dist/components/DiffViewer/index.d.ts +1 -1
  98. package/dist/components/Drawer/Drawer.cjs +1 -1
  99. package/dist/components/Drawer/Drawer.js +41 -41
  100. package/dist/components/Dropdown/Dropdown.cjs +1 -1
  101. package/dist/components/Dropdown/Dropdown.const.cjs +1 -0
  102. package/dist/components/Dropdown/Dropdown.const.d.ts +7 -0
  103. package/dist/components/Dropdown/Dropdown.const.js +10 -0
  104. package/dist/components/Dropdown/Dropdown.d.ts +0 -1
  105. package/dist/components/Dropdown/Dropdown.js +102 -92
  106. package/dist/components/Dropdown/Dropdown.types.d.ts +2 -0
  107. package/dist/components/Gauge/Gauge.cjs +1 -1
  108. package/dist/components/Gauge/Gauge.js +61 -50
  109. package/dist/components/Gauge/Gauge.types.d.ts +2 -0
  110. package/dist/components/GlowCard/GlowCard.cjs +1 -0
  111. package/dist/components/GlowCard/GlowCard.const.cjs +1 -0
  112. package/dist/components/GlowCard/GlowCard.const.d.ts +11 -0
  113. package/dist/components/GlowCard/GlowCard.const.js +13 -0
  114. package/dist/components/GlowCard/GlowCard.d.ts +3 -0
  115. package/dist/components/GlowCard/GlowCard.js +185 -0
  116. package/dist/components/GlowCard/GlowCard.types.d.ts +21 -0
  117. package/dist/components/GlowCard/index.d.ts +2 -0
  118. package/dist/components/Heatmap/Heatmap.cjs +1 -0
  119. package/dist/components/Heatmap/Heatmap.const.cjs +1 -0
  120. package/dist/components/Heatmap/Heatmap.const.d.ts +8 -0
  121. package/dist/components/Heatmap/Heatmap.const.js +11 -0
  122. package/dist/components/Heatmap/Heatmap.d.ts +3 -0
  123. package/dist/components/Heatmap/Heatmap.js +103 -0
  124. package/dist/components/Heatmap/Heatmap.types.d.ts +34 -0
  125. package/dist/components/Heatmap/Heatmap.utils.cjs +1 -0
  126. package/dist/components/Heatmap/Heatmap.utils.d.ts +2 -0
  127. package/dist/components/Heatmap/Heatmap.utils.js +18 -0
  128. package/dist/components/Heatmap/index.d.ts +2 -0
  129. package/dist/components/HoverCard/HoverCard.cjs +6 -6
  130. package/dist/components/HoverCard/HoverCard.js +72 -54
  131. package/dist/components/Icon/icons/status.js +1 -1
  132. package/dist/components/ImageAnnotation/ImageAnnotation.cjs +1 -0
  133. package/dist/components/ImageAnnotation/ImageAnnotation.const.cjs +1 -0
  134. package/dist/components/ImageAnnotation/ImageAnnotation.const.d.ts +3 -0
  135. package/dist/components/ImageAnnotation/ImageAnnotation.const.js +6 -0
  136. package/dist/components/ImageAnnotation/ImageAnnotation.d.ts +3 -0
  137. package/dist/components/ImageAnnotation/ImageAnnotation.js +113 -0
  138. package/dist/components/ImageAnnotation/ImageAnnotation.types.d.ts +28 -0
  139. package/dist/components/ImageAnnotation/index.d.ts +2 -0
  140. package/dist/components/MediaPlayer/MediaPlayer.cjs +1 -0
  141. package/dist/components/MediaPlayer/MediaPlayer.const.cjs +1 -0
  142. package/dist/components/MediaPlayer/MediaPlayer.const.d.ts +36 -0
  143. package/dist/components/MediaPlayer/MediaPlayer.const.js +11 -0
  144. package/dist/components/MediaPlayer/MediaPlayer.d.ts +3 -0
  145. package/dist/components/MediaPlayer/MediaPlayer.js +279 -0
  146. package/dist/components/MediaPlayer/MediaPlayer.types.d.ts +69 -0
  147. package/dist/components/MediaPlayer/MediaPlayer.utils.cjs +1 -0
  148. package/dist/components/MediaPlayer/MediaPlayer.utils.d.ts +1 -0
  149. package/dist/components/MediaPlayer/MediaPlayer.utils.js +7 -0
  150. package/dist/components/MediaPlayer/index.d.ts +2 -0
  151. package/dist/components/MentionsInput/MentionsInput.cjs +1 -1
  152. package/dist/components/MentionsInput/MentionsInput.js +106 -83
  153. package/dist/components/Menu/Menu.cjs +1 -1
  154. package/dist/components/Menu/Menu.js +91 -80
  155. package/dist/components/Modal/Modal.cjs +1 -1
  156. package/dist/components/Modal/Modal.const.cjs +1 -1
  157. package/dist/components/Modal/Modal.const.d.ts +1 -1
  158. package/dist/components/Modal/Modal.const.js +1 -1
  159. package/dist/components/Modal/Modal.js +50 -44
  160. package/dist/components/Modal/Modal.types.d.ts +6 -0
  161. package/dist/components/MultiSelect/MultiSelect.cjs +1 -1
  162. package/dist/components/MultiSelect/MultiSelect.js +123 -78
  163. package/dist/components/NavigableSelect/NavigableSelect.cjs +1 -1
  164. package/dist/components/NavigableSelect/NavigableSelect.const.cjs +1 -1
  165. package/dist/components/NavigableSelect/NavigableSelect.const.d.ts +1 -1
  166. package/dist/components/NavigableSelect/NavigableSelect.const.js +1 -1
  167. package/dist/components/NavigableSelect/NavigableSelect.js +167 -143
  168. package/dist/components/NotificationCenter/NotificationCenter.cjs +1 -1
  169. package/dist/components/NotificationCenter/NotificationCenter.const.cjs +1 -1
  170. package/dist/components/NotificationCenter/NotificationCenter.const.d.ts +1 -1
  171. package/dist/components/NotificationCenter/NotificationCenter.const.js +1 -1
  172. package/dist/components/NotificationCenter/NotificationCenter.js +87 -81
  173. package/dist/components/OTPInput/OTPInput.cjs +1 -1
  174. package/dist/components/OTPInput/OTPInput.const.cjs +1 -0
  175. package/dist/components/OTPInput/OTPInput.const.d.ts +6 -0
  176. package/dist/components/OTPInput/OTPInput.const.js +14 -0
  177. package/dist/components/OTPInput/OTPInput.js +99 -65
  178. package/dist/components/OTPInput/OTPInput.types.d.ts +7 -0
  179. package/dist/components/PhoneInput/PhoneInput.cjs +1 -1
  180. package/dist/components/PhoneInput/PhoneInput.const.cjs +1 -1
  181. package/dist/components/PhoneInput/PhoneInput.const.d.ts +1 -1
  182. package/dist/components/PhoneInput/PhoneInput.const.js +1 -1
  183. package/dist/components/PhoneInput/PhoneInput.js +88 -83
  184. package/dist/components/Popconfirm/Popconfirm.cjs +1 -1
  185. package/dist/components/Popconfirm/Popconfirm.const.cjs +1 -1
  186. package/dist/components/Popconfirm/Popconfirm.const.d.ts +1 -3
  187. package/dist/components/Popconfirm/Popconfirm.const.js +12 -18
  188. package/dist/components/Popconfirm/Popconfirm.js +71 -51
  189. package/dist/components/Popover/Popover.cjs +1 -1
  190. package/dist/components/Popover/Popover.js +36 -31
  191. package/dist/components/Portal/Portal.cjs +1 -1
  192. package/dist/components/Portal/Portal.d.ts +0 -3
  193. package/dist/components/Portal/Portal.js +4 -10
  194. package/dist/components/Select/Select.cjs +1 -1
  195. package/dist/components/Select/Select.js +71 -51
  196. package/dist/components/Stepper/Stepper.cjs +1 -1
  197. package/dist/components/Stepper/Stepper.const.cjs +1 -1
  198. package/dist/components/Stepper/Stepper.const.d.ts +26 -4
  199. package/dist/components/Stepper/Stepper.const.js +39 -20
  200. package/dist/components/Stepper/Stepper.d.ts +3 -10
  201. package/dist/components/Stepper/Stepper.js +189 -130
  202. package/dist/components/Stepper/Stepper.types.d.ts +14 -0
  203. package/dist/components/Stepper/Stepper.utils.cjs +1 -0
  204. package/dist/components/Stepper/Stepper.utils.d.ts +12 -0
  205. package/dist/components/Stepper/Stepper.utils.js +19 -0
  206. package/dist/components/Stepper/components/StepperControls.cjs +1 -0
  207. package/dist/components/Stepper/components/StepperControls.d.ts +2 -0
  208. package/dist/components/Stepper/components/StepperControls.js +32 -0
  209. package/dist/components/Stepper/index.d.ts +2 -1
  210. package/dist/components/Tabs/TabList.cjs +1 -1
  211. package/dist/components/Tabs/TabList.js +72 -57
  212. package/dist/components/Tabs/Tabs.types.d.ts +4 -2
  213. package/dist/components/Tabs/index.d.ts +2 -2
  214. package/dist/components/TagCloud/TagCloud.cjs +1 -0
  215. package/dist/components/TagCloud/TagCloud.const.cjs +1 -0
  216. package/dist/components/TagCloud/TagCloud.const.d.ts +5 -0
  217. package/dist/components/TagCloud/TagCloud.const.js +8 -0
  218. package/dist/components/TagCloud/TagCloud.d.ts +3 -0
  219. package/dist/components/TagCloud/TagCloud.js +76 -0
  220. package/dist/components/TagCloud/TagCloud.types.d.ts +26 -0
  221. package/dist/components/TagCloud/index.d.ts +2 -0
  222. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.cjs +1 -1
  223. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.js +26 -26
  224. package/dist/components/TimePicker/helpers/ClockFaceSvg.cjs +1 -1
  225. package/dist/components/TimePicker/helpers/ClockFaceSvg.js +17 -17
  226. package/dist/components/TimelineChart/TimelineChart.cjs +1 -0
  227. package/dist/components/TimelineChart/TimelineChart.const.cjs +1 -0
  228. package/dist/components/TimelineChart/TimelineChart.const.d.ts +6 -0
  229. package/dist/components/TimelineChart/TimelineChart.const.js +9 -0
  230. package/dist/components/TimelineChart/TimelineChart.d.ts +3 -0
  231. package/dist/components/TimelineChart/TimelineChart.js +65 -0
  232. package/dist/components/TimelineChart/TimelineChart.types.d.ts +31 -0
  233. package/dist/components/TimelineChart/index.d.ts +2 -0
  234. package/dist/components/Toast/Toast.cjs +1 -1
  235. package/dist/components/Toast/Toast.js +86 -82
  236. package/dist/components/Toast/Toast.types.d.ts +2 -0
  237. package/dist/components/Tooltip/Tooltip.cjs +1 -1
  238. package/dist/components/Tooltip/Tooltip.js +52 -44
  239. package/dist/components/TreeSelect/TreeSelect.cjs +1 -1
  240. package/dist/components/TreeSelect/TreeSelect.const.cjs +1 -1
  241. package/dist/components/TreeSelect/TreeSelect.const.d.ts +1 -1
  242. package/dist/components/TreeSelect/TreeSelect.const.js +3 -3
  243. package/dist/components/TreeSelect/TreeSelect.js +120 -88
  244. package/dist/components/Watermark/Watermark.cjs +1 -1
  245. package/dist/components/Watermark/Watermark.const.cjs +1 -1
  246. package/dist/components/Watermark/Watermark.const.d.ts +6 -3
  247. package/dist/components/Watermark/Watermark.const.js +13 -11
  248. package/dist/components/Watermark/Watermark.js +87 -61
  249. package/dist/components/Watermark/Watermark.types.d.ts +2 -0
  250. package/dist/components/index.cjs +1 -1
  251. package/dist/components/index.d.ts +22 -4
  252. package/dist/components/index.js +319 -296
  253. package/dist/hooks/index.cjs +1 -1
  254. package/dist/hooks/index.d.ts +1 -1
  255. package/dist/hooks/index.js +55 -54
  256. package/dist/hooks/useClickOutside.cjs +1 -1
  257. package/dist/hooks/useClickOutside.d.ts +4 -11
  258. package/dist/hooks/useClickOutside.js +26 -7
  259. package/dist/index.cjs +1 -1
  260. package/dist/index.js +412 -388
  261. package/dist/styles/_effects.css +32 -0
  262. package/dist/styles.css +1 -1
  263. package/dist/utils/maxVisible.utils.cjs +1 -0
  264. package/dist/utils/maxVisible.utils.d.ts +12 -0
  265. package/dist/utils/maxVisible.utils.js +15 -0
  266. package/package.json +1 -1
  267. package/dist/components/HoverCard/HoverCard.utils.cjs +0 -1
  268. package/dist/components/HoverCard/HoverCard.utils.js +0 -23
@@ -1,103 +1,124 @@
1
- import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
- import { useState as i, useEffect as h, useCallback as I } from "react";
3
- import { createPortal as A } from "react-dom";
4
- import { cn as x } from "../../utils/cn.js";
5
- import { XIcon as E } from "../Icon/index.js";
6
- const v = 300, M = {
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
- }, F = ({
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: d = !0,
17
+ showCloseButton: u = !0,
18
18
  closeOnBackdrop: p = !0,
19
- closeOnEscape: u = !0,
19
+ closeOnEscape: c = !0,
20
20
  showHandle: g = !0,
21
- className: w
21
+ enableScroll: w = !0,
22
+ isSticky: N = !1,
23
+ className: j
22
24
  }) => {
23
- const [r, c] = i(o), [m, n] = i(!1), [N, f] = i(!1);
24
- h(() => {
25
+ const [r, m] = d(o), [f, l] = d(!1), [I, h] = d(!1);
26
+ x(() => {
25
27
  if (o) {
26
- c(!0), n(!1);
27
- const a = requestAnimationFrame(() => f(!0));
28
+ m(!0), l(!1);
29
+ const a = requestAnimationFrame(() => h(!0));
28
30
  return () => cancelAnimationFrame(a);
29
31
  }
30
32
  if (r) {
31
- f(!1), n(!0);
33
+ h(!1), l(!0);
32
34
  const a = setTimeout(() => {
33
- c(!1), n(!1);
35
+ m(!1), l(!1);
34
36
  }, v);
35
37
  return () => clearTimeout(a);
36
38
  }
37
39
  }, [o, r]);
38
- const l = I(
40
+ const s = E(
39
41
  (a) => {
40
- u && a.key === "Escape" && t();
42
+ c && a.key === "Escape" && t();
41
43
  },
42
- [u, t]
44
+ [c, t]
43
45
  );
44
- if (h(() => (r && (document.addEventListener("keydown", l), document.body.style.overflow = "hidden"), () => {
45
- document.removeEventListener("keydown", l), document.body.style.overflow = "";
46
- }), [r, l]), !r) return null;
47
- const j = /* @__PURE__ */ s("div", { className: "bear-fixed bear-inset-0 bear-z-50 bear-flex bear-items-end bear-justify-center", children: [
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: x(
53
+ className: n(
52
54
  "bear-absolute bear-inset-0 bear-bg-black/60 bear-backdrop-blur-sm bear-transition-opacity",
53
- m ? "bear-opacity-0" : "bear-opacity-100"
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__ */ s(
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: x(
67
- "Bear-BottomSheet bear-relative bear-w-full bear-rounded-t-2xl bear-shadow-2xl bear-overflow-hidden bear-transition-transform bear-duration-300",
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
- M[k],
70
- N && !m ? "bear-translate-y-0" : "bear-translate-y-full",
71
- w
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 || d) && /* @__PURE__ */ s("div", { className: "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", children: [
76
- b && /* @__PURE__ */ e(
77
- "h2",
78
- {
79
- id: "bottom-sheet-title",
80
- className: "bear-text-lg bear-font-semibold bear-text-neutral-900 dark:bear-text-white",
81
- children: b
82
- }
83
- ),
84
- d && /* @__PURE__ */ e(
85
- "button",
86
- {
87
- onClick: t,
88
- 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",
89
- "aria-label": "Close",
90
- children: /* @__PURE__ */ e(E, { className: "bear-w-5 bear-h-5" })
91
- }
92
- )
93
- ] }),
94
- /* @__PURE__ */ e("div", { className: "bear-flex-1 bear-overflow-y-auto bear-p-4 bear-text-neutral-700 dark:bear-text-neutral-300", children: y })
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(j, document.body);
120
+ return M(A, document.body);
100
121
  };
101
122
  export {
102
- F as BottomSheet
123
+ q as BottomSheet
103
124
  };
@@ -9,5 +9,7 @@ export interface BottomSheetProps {
9
9
  closeOnBackdrop?: boolean;
10
10
  closeOnEscape?: boolean;
11
11
  showHandle?: boolean;
12
+ enableScroll?: boolean;
13
+ isSticky?: boolean;
12
14
  className?: string;
13
15
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),_=require("react"),b=require("../../utils/cn.cjs"),s=require("./Breadcrumbs.const.cjs"),k=({className:t})=>e.jsx("svg",{className:t,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"})}),A=({className:t})=>e.jsx("svg",{className:t,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),N=t=>{const{items:n,separator:d,maxItems:i,itemsBeforeCollapse:m=s.BREADCRUMBS_DEFAULTS.ITEMS_BEFORE_COLLAPSE,itemsAfterCollapse:x=s.BREADCRUMBS_DEFAULTS.ITEMS_AFTER_COLLAPSE,className:u,size:c=s.BREADCRUMBS_DEFAULTS.SIZE,showHomeIcon:h=s.BREADCRUMBS_DEFAULTS.SHOW_HOME_ICON,testId:p,id:S,"aria-label":E="Breadcrumb"}=t,[f,B]=_.useState(!1),C=()=>d||e.jsx(A,{className:b.cn(s.BREADCRUMBS_ICON_SIZE[c],"bear-text-zinc-500 bear-mx-2")}),j=(r,a,I)=>{const o=e.jsxs("span",{className:"bear-flex bear-items-center bear-gap-1",children:[a===0&&h&&e.jsx(k,{className:s.BREADCRUMBS_ICON_SIZE[c]}),r.icon,r.label]});return I?e.jsx("span",{className:"bear-text-zinc-300 bear-font-medium","aria-current":"page",children:o}):r.href?e.jsx("a",{href:r.href,className:"bear-text-zinc-400 hover:bear-text-pink-400 bear-transition-colors",children:o}):r.onClick?e.jsx("button",{type:"button",onClick:r.onClick,className:"bear-text-zinc-400 hover:bear-text-pink-400 bear-transition-colors",children:o}):e.jsx("span",{className:"bear-text-zinc-400",children:o})},R=i&&n.length>i&&!f;let l=n;if(R){const r=n.slice(0,m),a=n.slice(-x);l=[...r,"ellipsis",...a]}return e.jsx("nav",{id:S,"data-testid":p,className:b.cn("bear-flex bear-items-center bear-flex-wrap",s.BREADCRUMBS_SIZE[c],u),"aria-label":E,children:e.jsx("ol",{className:"bear-flex bear-items-center bear-flex-wrap bear-list-none bear-p-0 bear-m-0",children:l.map((r,a)=>e.jsxs("li",{className:"bear-flex bear-items-center",children:[a>0&&e.jsx("span",{"aria-hidden":"true",children:C()}),r==="ellipsis"?e.jsx("button",{type:"button",onClick:()=>B(!0),className:"bear-text-zinc-400 hover:bear-text-pink-400 bear-transition-colors bear-px-1","aria-label":"Show more breadcrumbs",children:"..."}):j(r,a,a===l.length-1)]},a))})})};exports.Breadcrumbs=N;
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 e, jsxs as b } from "react/jsx-runtime";
2
- import { useState as _ } from "react";
3
- import { cn as m } from "../../utils/cn.js";
4
- import { BREADCRUMBS_DEFAULTS as o, BREADCRUMBS_SIZE as M, BREADCRUMBS_ICON_SIZE as d } from "./Breadcrumbs.const.js";
5
- const A = ({ className: t }) => /* @__PURE__ */ e("svg", { className: t, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6" }) }), R = ({ className: t }) => /* @__PURE__ */ e("svg", { className: t, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) }), j = (t) => {
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: p,
9
- maxItems: c,
10
- itemsBeforeCollapse: h = o.ITEMS_BEFORE_COLLAPSE,
11
- itemsAfterCollapse: f = o.ITEMS_AFTER_COLLAPSE,
12
- className: u,
13
- size: l = o.SIZE,
14
- showHomeIcon: x = o.SHOW_HOME_ICON,
15
- testId: C,
16
- id: E,
17
- "aria-label": k = "Breadcrumb"
18
- } = t, [S, I] = _(!1), N = () => p || /* @__PURE__ */ e(R, { className: m(d[l], "bear-text-zinc-500 bear-mx-2") }), v = (r, a, L) => {
19
- const s = /* @__PURE__ */ b("span", { className: "bear-flex bear-items-center bear-gap-1", children: [
20
- a === 0 && x && /* @__PURE__ */ e(A, { className: d[l] }),
21
- r.icon,
22
- r.label
23
- ] });
24
- return L ? /* @__PURE__ */ e("span", { className: "bear-text-zinc-300 bear-font-medium", "aria-current": "page", children: s }) : r.href ? /* @__PURE__ */ e("a", { href: r.href, className: "bear-text-zinc-400 hover:bear-text-pink-400 bear-transition-colors", children: s }) : r.onClick ? /* @__PURE__ */ e("button", { type: "button", onClick: r.onClick, className: "bear-text-zinc-400 hover:bear-text-pink-400 bear-transition-colors", children: s }) : /* @__PURE__ */ e("span", { className: "bear-text-zinc-400", children: s });
25
- }, B = c && n.length > c && !S;
26
- let i = n;
27
- if (B) {
28
- const r = n.slice(0, h), a = n.slice(-f);
29
- i = [...r, "ellipsis", ...a];
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
- return /* @__PURE__ */ e(
86
+ const Z = i != null && i >= g && i < W;
87
+ return /* @__PURE__ */ r(
32
88
  "nav",
33
89
  {
34
- id: E,
35
- "data-testid": C,
36
- className: m("bear-flex bear-items-center bear-flex-wrap", M[l], u),
37
- "aria-label": k,
38
- children: /* @__PURE__ */ e("ol", { className: "bear-flex bear-items-center bear-flex-wrap bear-list-none bear-p-0 bear-m-0", children: i.map((r, a) => /* @__PURE__ */ b("li", { className: "bear-flex bear-items-center", children: [
39
- a > 0 && /* @__PURE__ */ e("span", { "aria-hidden": "true", children: N() }),
40
- r === "ellipsis" ? /* @__PURE__ */ e(
41
- "button",
42
- {
43
- type: "button",
44
- onClick: () => I(!0),
45
- className: "bear-text-zinc-400 hover:bear-text-pink-400 bear-transition-colors bear-px-1",
46
- "aria-label": "Show more breadcrumbs",
47
- children: "..."
48
- }
49
- ) : v(r, a, a === i.length - 1)
50
- ] }, a)) })
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
- j as Breadcrumbs
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
- maxItems?: number;
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 a=require("react/jsx-runtime"),c=require("react"),G=require("react-dom"),w=require("../../utils/cn.cjs"),k=require("./Cascader.const.cjs"),J=({options:u,selectedPath:d,expandedPath:i,onSelect:y,onExpand:m,expandTrigger:C,level:b})=>{const h=t=>{var l;y(t,b),(l=t.children)!=null&&l.length&&m(t,b)},v=t=>{var l;C==="hover"&&((l=t.children)!=null&&l.length)&&m(t,b)};return a.jsx("div",{className:"Bear-Cascader__panel bear-min-w-[180px] bear-max-h-[280px] bear-overflow-y-auto bear-border-r bear-border-zinc-200 dark:bear-border-zinc-700 last:bear-border-r-0",children:u.map(t=>{const l=d[b]===t.value,g=i[b]===t.value,B=t.children&&t.children.length>0;return a.jsxs("button",{type:"button",disabled:t.disabled,onClick:()=>h(t),onMouseEnter:()=>v(t),className:w.cn("Bear-Cascader__option bear-w-full bear-flex bear-items-center bear-justify-between bear-px-3 bear-py-2 bear-text-sm bear-text-left bear-transition-colors",l&&"Bear-Cascader__option--selected bear-bg-pink-500/20 bear-text-pink-600 dark:bear-text-pink-400",g&&!l&&"Bear-Cascader__option--expanded bear-bg-gray-100 dark:bear-bg-zinc-700",!l&&!g&&"bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700",t.disabled&&"Bear-Cascader__option--disabled bear-opacity-50 bear-cursor-not-allowed"),children:[a.jsxs("span",{className:"bear-flex bear-items-center bear-gap-2",children:[t.icon&&a.jsx("span",{className:"Bear-Cascader__option-icon",children:t.icon}),a.jsx("span",{className:"Bear-Cascader__option-label",children:t.label})]}),B&&a.jsx("svg",{className:"Bear-Cascader__arrow bear-w-4 bear-h-4 bear-text-gray-500 dark:bear-text-zinc-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]},t.value)})})},K=({options:u,value:d=[],onChange:i,placeholder:y,label:m,helperText:C,error:b,disabled:h=!1,loading:v=!1,clearable:t=!0,size:l="md",variant:g="default",expandTrigger:B="click",showFullPath:R=!0,pathSeparator:L=k.CASCADER_PATH_SEPARATOR,changeOnSelect:O=!1,className:q,testId:W,translations:P,icon:X})=>{const[p,E]=c.useState(!1),[_,N]=c.useState([]),[D,Z]=c.useState({top:0,left:0}),M=c.useRef(null),S=c.useRef(null),A=c.useMemo(()=>({...k.CASCADER_DEFAULT_TRANSLATIONS,...P}),[P]);c.useEffect(()=>{if(p&&S.current){const e=S.current.getBoundingClientRect(),s=window.scrollY||document.documentElement.scrollTop,r=window.scrollX||document.documentElement.scrollLeft;Z({top:e.bottom+s+8,left:e.left+r})}},[p]),c.useEffect(()=>{const e=s=>{var n,o;const r=s.target;(n=M.current)!=null&&n.contains(r)||(o=r.closest)!=null&&o.call(r,"[data-bear-cascader-dropdown]")||E(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),c.useEffect(()=>{d.length>0&&N(d.slice(0,-1))},[d]);const H=c.useCallback((e,s)=>{for(const r of e){if(r.value===s)return r;if(r.children){const n=H(r.children,s);if(n)return n}}},[]),T=c.useMemo(()=>{var s;if(d.length===0)return"";const e=d.map((r,n)=>{let o=u;for(let f=0;f<n;f++){const x=o.find(z=>z.value===d[f]);x!=null&&x.children&&(o=x.children)}return o.find(f=>f.value===r)}).filter(Boolean);return R?e.map(r=>r.label).join(L):((s=e[e.length-1])==null?void 0:s.label)||""},[d,u,R,L]),I=c.useMemo(()=>{const e=[u];let s=u;for(const r of _){const n=s.find(o=>o.value===r);if(n!=null&&n.children)e.push(n.children),s=n.children;else break}return e},[u,_]),U=c.useCallback((e,s)=>{var n,o;const r=[..._.slice(0,s),e.value];if(!((n=e.children)!=null&&n.length)||O){const f=[];let x=u;for(const z of r){const j=x.find(F=>F.value===z);j&&(f.push(j),j.children&&(x=j.children))}i==null||i(r,f),(o=e.children)!=null&&o.length||E(!1)}},[_,u,i,O]),V=c.useCallback((e,s)=>{N(r=>[...r.slice(0,s),e.value])},[]),Y=c.useCallback(e=>{e.stopPropagation(),i==null||i([],[]),N([])},[i]);return a.jsxs("div",{ref:M,className:w.cn("Bear-Cascader bear-relative",q),"data-testid":W,children:[m&&a.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:m}),a.jsxs("button",{ref:S,type:"button",onClick:()=>!h&&E(!p),disabled:h,className:w.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",k.CASCADER_SIZE_CLASSES[l],k.CASCADER_VARIANT_CLASSES[g],b?"bear-border-red-500":"focus:bear-border-pink-500",h&&"bear-opacity-50 bear-cursor-not-allowed",T?"bear-text-gray-900 dark:bear-text-white":"bear-text-gray-500 dark:bear-text-zinc-500"),children:[a.jsx("span",{className:"Bear-Cascader__value bear-truncate bear-flex-1",children:v?A.loading:T||y||A.placeholder}),a.jsxs("span",{className:"Bear-Cascader__icons bear-flex bear-items-center bear-gap-1",children:[t&&d.length>0&&!h&&a.jsx("span",{onClick:Y,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:a.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:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),X??a.jsx("svg",{className:w.cn("Bear-Cascader__chevron bear-w-4 bear-h-4 bear-text-gray-500 dark:bear-text-zinc-400 bear-transition-transform",p&&"bear-rotate-180"),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})]}),b&&a.jsx("p",{className:"Bear-Cascader__error bear-mt-1 bear-text-xs bear-text-red-400",children:b}),C&&!b&&a.jsx("p",{className:"Bear-Cascader__helper bear-mt-1 bear-text-xs bear-text-zinc-500 dark:bear-text-zinc-400",children:C}),p&&typeof document<"u"&&G.createPortal(a.jsxs("div",{"data-bear-cascader-dropdown":!0,className:"Bear-Cascader__dropdown bear-fixed 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-overflow-hidden",style:{top:D.top,left:D.left,zIndex:k.CASCADER_DROPDOWN_Z_INDEX},children:[I.map((e,s)=>a.jsx(J,{options:e,selectedPath:d,expandedPath:_,onSelect:U,onExpand:V,expandTrigger:B,level:s},s)),I.every(e=>e.length===0)&&a.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:A.noOptions})]}),document.body)]})};exports.Cascader=K;
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=9999,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;
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;
@@ -22,7 +22,7 @@ export declare const CASCADER_VARIANT_CLASSES: {
22
22
  /**
23
23
  * Z-index for dropdown
24
24
  */
25
- export declare const CASCADER_DROPDOWN_Z_INDEX = 9999;
25
+ export declare const CASCADER_DROPDOWN_Z_INDEX = 10000;
26
26
  /**
27
27
  * Default path separator
28
28
  */
@@ -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 = 9999, n = " / ";
14
+ }, b = 1e4, n = " / ";
15
15
  export {
16
16
  e as CASCADER_DEFAULT_TRANSLATIONS,
17
17
  b as CASCADER_DROPDOWN_Z_INDEX,