@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.
Files changed (230) hide show
  1. package/README.md +4 -0
  2. package/dist/components/AlertDialog/AlertDialog.cjs +1 -1
  3. package/dist/components/AlertDialog/AlertDialog.const.cjs +1 -1
  4. package/dist/components/AlertDialog/AlertDialog.const.d.ts +2 -2
  5. package/dist/components/AlertDialog/AlertDialog.const.js +4 -4
  6. package/dist/components/AlertDialog/AlertDialog.js +76 -62
  7. package/dist/components/Autocomplete/Autocomplete.cjs +1 -1
  8. package/dist/components/Autocomplete/Autocomplete.const.cjs +1 -0
  9. package/dist/components/Autocomplete/Autocomplete.const.d.ts +1 -0
  10. package/dist/components/Autocomplete/Autocomplete.const.js +4 -0
  11. package/dist/components/Autocomplete/Autocomplete.js +110 -72
  12. package/dist/components/BottomSheet/BottomSheet.cjs +1 -1
  13. package/dist/components/BottomSheet/BottomSheet.js +74 -53
  14. package/dist/components/BottomSheet/BottomSheet.types.d.ts +2 -0
  15. package/dist/components/Breadcrumbs/Breadcrumbs.cjs +1 -1
  16. package/dist/components/Breadcrumbs/Breadcrumbs.js +126 -46
  17. package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +11 -4
  18. package/dist/components/Breadcrumbs/index.d.ts +1 -1
  19. package/dist/components/Calendar/Calendar.cjs +1 -1
  20. package/dist/components/Calendar/Calendar.js +3 -2
  21. package/dist/components/Cascader/Cascader.cjs +1 -1
  22. package/dist/components/Cascader/Cascader.const.cjs +1 -1
  23. package/dist/components/Cascader/Cascader.const.d.ts +1 -1
  24. package/dist/components/Cascader/Cascader.const.js +1 -1
  25. package/dist/components/Cascader/Cascader.js +109 -146
  26. package/dist/components/Cascader/components/CascaderPanel/CascaderPanel.cjs +1 -0
  27. package/dist/components/Cascader/components/CascaderPanel/CascaderPanel.d.ts +3 -0
  28. package/dist/components/Cascader/components/CascaderPanel/CascaderPanel.js +50 -0
  29. package/dist/components/Cascader/components/CascaderPanel/index.d.ts +1 -0
  30. package/dist/components/Chart/BarChart.cjs +1 -0
  31. package/dist/components/Chart/BarChart.d.ts +3 -0
  32. package/dist/components/Chart/BarChart.js +65 -0
  33. package/dist/components/Chart/Chart.cjs +1 -1
  34. package/dist/components/Chart/Chart.const.cjs +1 -1
  35. package/dist/components/Chart/Chart.const.d.ts +7 -0
  36. package/dist/components/Chart/Chart.const.js +12 -2
  37. package/dist/components/Chart/Chart.d.ts +1 -13
  38. package/dist/components/Chart/Chart.js +18 -204
  39. package/dist/components/Chart/Chart.types.d.ts +7 -1
  40. package/dist/components/Chart/LineChart.cjs +1 -0
  41. package/dist/components/Chart/LineChart.d.ts +3 -0
  42. package/dist/components/Chart/LineChart.js +73 -0
  43. package/dist/components/Chart/PieChart.cjs +1 -0
  44. package/dist/components/Chart/PieChart.d.ts +3 -0
  45. package/dist/components/Chart/PieChart.js +110 -0
  46. package/dist/components/Chart/index.d.ts +4 -1
  47. package/dist/components/CloseButton/CloseButton.cjs +1 -0
  48. package/dist/components/CloseButton/CloseButton.d.ts +4 -0
  49. package/dist/components/CloseButton/CloseButton.js +60 -0
  50. package/dist/components/CloseButton/CloseButton.types.d.ts +15 -0
  51. package/dist/components/CloseButton/index.d.ts +2 -0
  52. package/dist/components/ColorPicker/ColorPicker.cjs +1 -1
  53. package/dist/components/ColorPicker/ColorPicker.const.cjs +1 -1
  54. package/dist/components/ColorPicker/ColorPicker.const.d.ts +4 -2
  55. package/dist/components/ColorPicker/ColorPicker.const.js +8 -6
  56. package/dist/components/ColorPicker/ColorPicker.js +135 -73
  57. package/dist/components/ColorPicker/ColorPicker.utils.cjs +1 -0
  58. package/dist/components/ColorPicker/ColorPicker.utils.d.ts +17 -0
  59. package/dist/components/ColorPicker/ColorPicker.utils.js +43 -0
  60. package/dist/components/CountdownTimer/CountdownTimer.cjs +1 -1
  61. package/dist/components/CountdownTimer/CountdownTimer.const.cjs +1 -1
  62. package/dist/components/CountdownTimer/CountdownTimer.const.d.ts +2 -0
  63. package/dist/components/CountdownTimer/CountdownTimer.const.js +29 -17
  64. package/dist/components/CountdownTimer/CountdownTimer.js +91 -61
  65. package/dist/components/CountdownTimer/CountdownTimer.types.d.ts +11 -2
  66. package/dist/components/CreditInput/CreditInput.cjs +1 -1
  67. package/dist/components/CreditInput/CreditInput.js +80 -78
  68. package/dist/components/DatePicker/DatePicker.cjs +1 -1
  69. package/dist/components/DatePicker/DatePicker.js +12 -11
  70. package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -1
  71. package/dist/components/DateRangePicker/DateRangePicker.js +89 -84
  72. package/dist/components/DiffSquares/DiffSquares.cjs +1 -0
  73. package/dist/components/DiffSquares/DiffSquares.const.cjs +1 -0
  74. package/dist/components/DiffSquares/DiffSquares.const.d.ts +3 -0
  75. package/dist/components/DiffSquares/DiffSquares.const.js +6 -0
  76. package/dist/components/DiffSquares/DiffSquares.d.ts +3 -0
  77. package/dist/components/DiffSquares/DiffSquares.js +70 -0
  78. package/dist/components/DiffSquares/DiffSquares.types.d.ts +23 -0
  79. package/dist/components/DiffSquares/DiffSquares.utils.cjs +1 -0
  80. package/dist/components/DiffSquares/DiffSquares.utils.d.ts +3 -0
  81. package/dist/components/DiffSquares/DiffSquares.utils.js +12 -0
  82. package/dist/components/DiffSquares/index.d.ts +2 -0
  83. package/dist/components/Drawer/Drawer.cjs +1 -1
  84. package/dist/components/Drawer/Drawer.js +41 -41
  85. package/dist/components/Dropdown/Dropdown.cjs +1 -1
  86. package/dist/components/Dropdown/Dropdown.const.cjs +1 -0
  87. package/dist/components/Dropdown/Dropdown.const.d.ts +7 -0
  88. package/dist/components/Dropdown/Dropdown.const.js +10 -0
  89. package/dist/components/Dropdown/Dropdown.d.ts +0 -1
  90. package/dist/components/Dropdown/Dropdown.js +102 -92
  91. package/dist/components/Dropdown/Dropdown.types.d.ts +2 -0
  92. package/dist/components/Gauge/Gauge.cjs +1 -1
  93. package/dist/components/Gauge/Gauge.js +61 -50
  94. package/dist/components/Gauge/Gauge.types.d.ts +2 -0
  95. package/dist/components/HoverCard/HoverCard.cjs +6 -6
  96. package/dist/components/HoverCard/HoverCard.js +72 -54
  97. package/dist/components/Icon/icons/commerce.cjs +1 -0
  98. package/dist/components/Icon/icons/commerce.d.ts +25 -0
  99. package/dist/components/Icon/icons/commerce.js +124 -0
  100. package/dist/components/Icon/icons/device.cjs +1 -0
  101. package/dist/components/Icon/icons/device.d.ts +27 -0
  102. package/dist/components/Icon/icons/device.js +122 -0
  103. package/dist/components/Icon/icons/file.cjs +1 -0
  104. package/dist/components/Icon/icons/file.d.ts +25 -0
  105. package/dist/components/Icon/icons/file.js +120 -0
  106. package/dist/components/Icon/icons/social.cjs +1 -0
  107. package/dist/components/Icon/icons/social.d.ts +24 -0
  108. package/dist/components/Icon/icons/social.js +89 -0
  109. package/dist/components/Icon/icons/status.js +1 -1
  110. package/dist/components/Icon/index.cjs +1 -1
  111. package/dist/components/Icon/index.d.ts +93 -56
  112. package/dist/components/Icon/index.js +38 -26
  113. package/dist/components/MentionsInput/MentionsInput.cjs +1 -1
  114. package/dist/components/MentionsInput/MentionsInput.js +106 -83
  115. package/dist/components/Menu/Menu.cjs +1 -1
  116. package/dist/components/Menu/Menu.js +91 -80
  117. package/dist/components/Modal/Modal.cjs +1 -1
  118. package/dist/components/Modal/Modal.const.cjs +1 -1
  119. package/dist/components/Modal/Modal.const.d.ts +1 -1
  120. package/dist/components/Modal/Modal.const.js +1 -1
  121. package/dist/components/Modal/Modal.js +50 -44
  122. package/dist/components/Modal/Modal.types.d.ts +6 -0
  123. package/dist/components/MultiSelect/MultiSelect.cjs +1 -1
  124. package/dist/components/MultiSelect/MultiSelect.js +123 -78
  125. package/dist/components/NavigableSelect/NavigableSelect.cjs +1 -1
  126. package/dist/components/NavigableSelect/NavigableSelect.const.cjs +1 -1
  127. package/dist/components/NavigableSelect/NavigableSelect.const.d.ts +1 -1
  128. package/dist/components/NavigableSelect/NavigableSelect.const.js +1 -1
  129. package/dist/components/NavigableSelect/NavigableSelect.js +167 -143
  130. package/dist/components/NotificationCenter/NotificationCenter.cjs +1 -1
  131. package/dist/components/NotificationCenter/NotificationCenter.const.cjs +1 -1
  132. package/dist/components/NotificationCenter/NotificationCenter.const.d.ts +1 -1
  133. package/dist/components/NotificationCenter/NotificationCenter.const.js +1 -1
  134. package/dist/components/NotificationCenter/NotificationCenter.js +87 -81
  135. package/dist/components/OTPInput/OTPInput.cjs +1 -1
  136. package/dist/components/OTPInput/OTPInput.const.cjs +1 -0
  137. package/dist/components/OTPInput/OTPInput.const.d.ts +6 -0
  138. package/dist/components/OTPInput/OTPInput.const.js +14 -0
  139. package/dist/components/OTPInput/OTPInput.js +99 -65
  140. package/dist/components/OTPInput/OTPInput.types.d.ts +7 -0
  141. package/dist/components/Overlay/Overlay.cjs +1 -0
  142. package/dist/components/Overlay/Overlay.d.ts +4 -0
  143. package/dist/components/Overlay/Overlay.js +38 -0
  144. package/dist/components/Overlay/Overlay.types.d.ts +23 -0
  145. package/dist/components/Overlay/index.d.ts +2 -0
  146. package/dist/components/PhoneInput/PhoneInput.cjs +1 -1
  147. package/dist/components/PhoneInput/PhoneInput.const.cjs +1 -1
  148. package/dist/components/PhoneInput/PhoneInput.const.d.ts +1 -1
  149. package/dist/components/PhoneInput/PhoneInput.const.js +1 -1
  150. package/dist/components/PhoneInput/PhoneInput.js +88 -83
  151. package/dist/components/Popconfirm/Popconfirm.cjs +1 -1
  152. package/dist/components/Popconfirm/Popconfirm.const.cjs +1 -1
  153. package/dist/components/Popconfirm/Popconfirm.const.d.ts +1 -3
  154. package/dist/components/Popconfirm/Popconfirm.const.js +12 -18
  155. package/dist/components/Popconfirm/Popconfirm.js +71 -51
  156. package/dist/components/Popover/Popover.cjs +1 -1
  157. package/dist/components/Popover/Popover.js +36 -31
  158. package/dist/components/Portal/Portal.cjs +1 -0
  159. package/dist/components/Portal/Portal.d.ts +8 -0
  160. package/dist/components/Portal/Portal.js +6 -0
  161. package/dist/components/Portal/index.d.ts +2 -0
  162. package/dist/components/Select/Select.cjs +1 -1
  163. package/dist/components/Select/Select.js +71 -51
  164. package/dist/components/Stepper/Stepper.cjs +1 -1
  165. package/dist/components/Stepper/Stepper.const.cjs +1 -1
  166. package/dist/components/Stepper/Stepper.const.d.ts +3 -2
  167. package/dist/components/Stepper/Stepper.const.js +15 -14
  168. package/dist/components/Stepper/Stepper.d.ts +0 -7
  169. package/dist/components/Stepper/Stepper.js +164 -117
  170. package/dist/components/Stepper/Stepper.types.d.ts +3 -0
  171. package/dist/components/Tabs/TabList.cjs +1 -1
  172. package/dist/components/Tabs/TabList.js +72 -57
  173. package/dist/components/Tabs/Tabs.types.d.ts +4 -2
  174. package/dist/components/Tabs/index.d.ts +2 -2
  175. package/dist/components/ThemeIcon/ThemeIcon.cjs +1 -0
  176. package/dist/components/ThemeIcon/ThemeIcon.d.ts +4 -0
  177. package/dist/components/ThemeIcon/ThemeIcon.js +54 -0
  178. package/dist/components/ThemeIcon/ThemeIcon.types.d.ts +22 -0
  179. package/dist/components/ThemeIcon/index.d.ts +2 -0
  180. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.cjs +1 -1
  181. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.js +26 -26
  182. package/dist/components/TimePicker/helpers/ClockFaceSvg.cjs +1 -1
  183. package/dist/components/TimePicker/helpers/ClockFaceSvg.js +17 -17
  184. package/dist/components/Toast/Toast.cjs +1 -1
  185. package/dist/components/Toast/Toast.js +86 -82
  186. package/dist/components/Toast/Toast.types.d.ts +2 -0
  187. package/dist/components/Tooltip/Tooltip.cjs +1 -1
  188. package/dist/components/Tooltip/Tooltip.js +52 -44
  189. package/dist/components/TreeSelect/TreeSelect.cjs +1 -1
  190. package/dist/components/TreeSelect/TreeSelect.const.cjs +1 -1
  191. package/dist/components/TreeSelect/TreeSelect.const.d.ts +1 -1
  192. package/dist/components/TreeSelect/TreeSelect.const.js +3 -3
  193. package/dist/components/TreeSelect/TreeSelect.js +120 -88
  194. package/dist/components/VisuallyHidden/VisuallyHidden.cjs +1 -0
  195. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +6 -0
  196. package/dist/components/VisuallyHidden/VisuallyHidden.js +22 -0
  197. package/dist/components/VisuallyHidden/index.d.ts +2 -0
  198. package/dist/components/Watermark/Watermark.cjs +1 -1
  199. package/dist/components/Watermark/Watermark.const.cjs +1 -1
  200. package/dist/components/Watermark/Watermark.const.d.ts +6 -3
  201. package/dist/components/Watermark/Watermark.const.js +13 -11
  202. package/dist/components/Watermark/Watermark.js +87 -61
  203. package/dist/components/Watermark/Watermark.types.d.ts +2 -0
  204. package/dist/components/index.cjs +1 -1
  205. package/dist/components/index.d.ts +15 -3
  206. package/dist/components/index.js +296 -280
  207. package/dist/hooks/bearStyled.cjs +1 -1
  208. package/dist/hooks/bearStyled.d.ts +31 -9
  209. package/dist/hooks/bearStyled.js +17 -12
  210. package/dist/hooks/index.cjs +1 -1
  211. package/dist/hooks/index.d.ts +1 -1
  212. package/dist/hooks/index.js +55 -54
  213. package/dist/hooks/useClickOutside.cjs +1 -1
  214. package/dist/hooks/useClickOutside.d.ts +4 -11
  215. package/dist/hooks/useClickOutside.js +26 -7
  216. package/dist/hooks/useMediaQuery/useMediaQuery.d.ts +9 -1
  217. package/dist/hooks/useResponsive.cjs +1 -1
  218. package/dist/hooks/useResponsive.d.ts +2 -17
  219. package/dist/hooks/useResponsive.js +47 -41
  220. package/dist/index.cjs +1 -1
  221. package/dist/index.js +383 -366
  222. package/dist/styles/_effects.css +26 -0
  223. package/dist/styles.css +1 -1
  224. package/dist/types/theme.types.d.ts +1 -0
  225. package/dist/utils/maxVisible.utils.cjs +1 -0
  226. package/dist/utils/maxVisible.utils.d.ts +12 -0
  227. package/dist/utils/maxVisible.utils.js +15 -0
  228. package/package.json +1 -1
  229. package/dist/components/HoverCard/HoverCard.utils.cjs +0 -1
  230. package/dist/components/HoverCard/HoverCard.utils.js +0 -23
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),u=require("../utils/cn.cjs");function i(s){return function(a){const n=l=>{const c={...a,...l},e=a,t=l;return((e==null?void 0:e.className)!=null||(t==null?void 0:t.className)!=null)&&(c.className=u.cn(e==null?void 0:e.className,t==null?void 0:t.className)),r.jsx(s,{...c})};return n.displayName=`BearStyled(${s.displayName??s.name??"Component"})`,n}}exports.bearStyled=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),S=require("../utils/cn.cjs");function b(c,e){return function(f){const r=(e==null?void 0:e.defaultProps)??f??{},t=e==null?void 0:e.style,N=e==null?void 0:e.className,y=u=>{const s={...r,...u},a=r,l=u,m=S.cn(N,a==null?void 0:a.className,l==null?void 0:l.className);return m&&(s.className=m),(t||a!=null&&a.style||l!=null&&l.style)&&(s.style={...t??{},...(a==null?void 0:a.style)??{},...(l==null?void 0:l.style)??{}}),d.jsx(c,{...s})};return y.displayName=(e==null?void 0:e.displayName)??`BearStyled(${c.displayName??c.name??"Component"})`,y}}exports.bearStyled=b;
@@ -1,17 +1,39 @@
1
- import { ComponentType } from 'react';
1
+ import { ComponentType, CSSProperties } from 'react';
2
+ type StyleOverrides = CSSProperties;
3
+ interface BearStyledOptions<P> {
4
+ /** Default props merged with every instance */
5
+ defaultProps?: Partial<P>;
6
+ /** Inline style object applied to every instance (merges with consumer `style` prop) */
7
+ style?: StyleOverrides;
8
+ /** Additional className applied to every instance */
9
+ className?: string;
10
+ /** Display name for React DevTools */
11
+ displayName?: string;
12
+ }
2
13
  /**
3
- * Create a pre-styled Bear component with default props. Use to change all instances
4
- * of a component (e.g. Button) with minimal code.
14
+ * bearStyled — create a pre-configured variant of any Bear component.
15
+ *
16
+ * Use it like styled-components but for Bear: take any component, lock in
17
+ * default props and custom CSS, then re-export and reuse everywhere.
18
+ * The component retains all original props and behaviour; consumers can
19
+ * still override anything on a per-instance basis.
5
20
  *
6
21
  * @example
7
22
  * ```tsx
23
+ * // Simple — default props only (original API still works)
8
24
  * const PrimaryButton = bearStyled(Button)({ variant: 'primary' });
9
- * <PrimaryButton>Click</PrimaryButton>
10
25
  *
11
- * const BoldButton = bearStyled(Button)({ bis: { fontWeight: 700 }, className: 'uppercase' });
26
+ * // With inline style overrides
27
+ * const RoundedButton = bearStyled(Button, {
28
+ * defaultProps: { variant: 'primary', size: 'lg' },
29
+ * style: { borderRadius: 10, borderLeft: '3px solid red' },
30
+ * className: 'uppercase',
31
+ * });
32
+ *
33
+ * // Override at use-site
34
+ * <RoundedButton onClick={save}>Save</RoundedButton>
35
+ * <RoundedButton style={{ borderRadius: 20 }}>More round</RoundedButton>
12
36
  * ```
13
37
  */
14
- export declare function bearStyled<P extends object>(Component: ComponentType<P>): (defaultProps: Partial<P>) => {
15
- (props: P): import("react/jsx-runtime").JSX.Element;
16
- displayName: string;
17
- };
38
+ export declare function bearStyled<P extends object>(Component: ComponentType<P>, options?: BearStyledOptions<P>): (overrideProps?: Partial<P>) => ComponentType<P>;
39
+ export {};
@@ -1,17 +1,22 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import { cn as r } from "../utils/cn.js";
3
- function N(s) {
4
- return function(t) {
5
- const l = (n) => {
6
- const c = { ...t, ...n }, e = t, a = n;
7
- return ((e == null ? void 0 : e.className) != null || (a == null ? void 0 : a.className) != null) && (c.className = r(
8
- e == null ? void 0 : e.className,
9
- a == null ? void 0 : a.className
10
- )), /* @__PURE__ */ m(s, { ...c });
1
+ import { jsx as d } from "react/jsx-runtime";
2
+ import { cn as S } from "../utils/cn.js";
3
+ function h(c, e) {
4
+ return function(u) {
5
+ const r = (e == null ? void 0 : e.defaultProps) ?? u ?? {}, m = e == null ? void 0 : e.style, N = e == null ? void 0 : e.className, y = (t) => {
6
+ const s = { ...r, ...t }, a = r, l = t, f = S(
7
+ N,
8
+ a == null ? void 0 : a.className,
9
+ l == null ? void 0 : l.className
10
+ );
11
+ return f && (s.className = f), (m || a != null && a.style || l != null && l.style) && (s.style = {
12
+ ...m ?? {},
13
+ ...(a == null ? void 0 : a.style) ?? {},
14
+ ...(l == null ? void 0 : l.style) ?? {}
15
+ }), /* @__PURE__ */ d(c, { ...s });
11
16
  };
12
- return l.displayName = `BearStyled(${s.displayName ?? s.name ?? "Component"})`, l;
17
+ return y.displayName = (e == null ? void 0 : e.displayName) ?? `BearStyled(${c.displayName ?? c.name ?? "Component"})`, y;
13
18
  };
14
19
  }
15
20
  export {
16
- N as bearStyled
21
+ h as bearStyled
17
22
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./useMediaQuery.cjs"),n=require("./useClickOutside.cjs"),a=require("./useResizeObserver/useResizeObserver.cjs"),l=require("./useDisclosure.cjs"),c=require("./useBearStyles.cjs"),b=require("./bearStyled.cjs"),d=require("./useSlide/useSlide.cjs"),q=require("./useParallax/useParallax.cjs"),p=require("./useBounce/useBounce.cjs"),P=require("./useFloat/useFloat.cjs"),S=require("./usePulse/usePulse.cjs"),y=require("./useShake/useShake.cjs"),C=require("./useClipboard/useClipboard.cjs"),u=require("./useDebounce/useDebounce.cjs"),r=require("./useThrottle/useThrottle.cjs"),D=require("./useLocalStorage/useLocalStorage.cjs"),o=require("./useKeyPress/useKeyPress.cjs"),t=require("./useIntersectionObserver/useIntersectionObserver.cjs"),g=require("./useDragDrop/useDragDrop.cjs"),k=require("./useLazyLoad/useLazyLoad.cjs"),s=require("./useBearComponent/useBearComponent.cjs"),B=require("./useSpotlight/useSpotlight.cjs"),v=require("./useOnline/useOnline.cjs"),I=require("./useWebSocket/useWebSocket.cjs"),O=require("./useIdle/useIdle.cjs"),L=require("./usePageVisibility/usePageVisibility.cjs"),h=require("./useLongPress/useLongPress.cjs"),m=require("./useAnimate.cjs"),i=require("./useResponsive.cjs");exports.useIsDesktop=e.useIsDesktop;exports.useIsMobile=e.useIsMobile;exports.useIsTablet=e.useIsTablet;exports.useMediaQuery=e.useMediaQuery;exports.usePrefersDark=e.usePrefersDark;exports.usePrefersReducedMotion=e.usePrefersReducedMotion;exports.useClickOutside=n.useClickOutside;exports.useResizeObserver=a.useResizeObserver;exports.useDisclosure=l.useDisclosure;exports.useBearStyles=c.useBearStyles;exports.bearStyled=b.bearStyled;exports.useSlide=d.useSlide;exports.useParallax=q.useParallax;exports.useBounce=p.useBounce;exports.useFloat=P.useFloat;exports.usePulse=S.usePulse;exports.useShake=y.useShake;exports.useClipboard=C.useClipboard;exports.useDebounce=u.useDebounce;exports.useDebouncedCallback=u.useDebouncedCallback;exports.useThrottle=r.useThrottle;exports.useThrottledCallback=r.useThrottledCallback;exports.useLocalStorage=D.useLocalStorage;exports.useKeyPress=o.useKeyPress;exports.useKeyPressState=o.useKeyPressState;exports.useInView=t.useInView;exports.useIntersectionObserver=t.useIntersectionObserver;exports.useDragDrop=g.useDragDrop;exports.useLazyLoad=k.useLazyLoad;exports.BearComponentProvider=s.BearComponentProvider;exports.useBC=s.useBC;exports.useBearComponent=s.useBearComponent;exports.useBearComponentContext=s.useBearComponentContext;exports.useSpotlight=B.useSpotlight;exports.useOnline=v.useOnline;exports.useWebSocket=I.useWebSocket;exports.useIdle=O.useIdle;exports.usePageVisibility=L.usePageVisibility;exports.useLongPress=h.useLongPress;exports.useAnimate=m.useAnimate;exports.useResponsive=i.useResponsive;exports.useResponsiveProps=i.useResponsiveProps;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./useMediaQuery.cjs"),u=require("./useClickOutside.cjs"),a=require("./useResizeObserver/useResizeObserver.cjs"),l=require("./useDisclosure.cjs"),c=require("./useBearStyles.cjs"),d=require("./bearStyled.cjs"),b=require("./useSlide/useSlide.cjs"),q=require("./useParallax/useParallax.cjs"),p=require("./useBounce/useBounce.cjs"),P=require("./useFloat/useFloat.cjs"),S=require("./usePulse/usePulse.cjs"),C=require("./useShake/useShake.cjs"),y=require("./useClipboard/useClipboard.cjs"),r=require("./useDebounce/useDebounce.cjs"),o=require("./useThrottle/useThrottle.cjs"),k=require("./useLocalStorage/useLocalStorage.cjs"),t=require("./useKeyPress/useKeyPress.cjs"),i=require("./useIntersectionObserver/useIntersectionObserver.cjs"),D=require("./useDragDrop/useDragDrop.cjs"),g=require("./useLazyLoad/useLazyLoad.cjs"),s=require("./useBearComponent/useBearComponent.cjs"),B=require("./useSpotlight/useSpotlight.cjs"),O=require("./useOnline/useOnline.cjs"),v=require("./useWebSocket/useWebSocket.cjs"),I=require("./useIdle/useIdle.cjs"),L=require("./usePageVisibility/usePageVisibility.cjs"),h=require("./useLongPress/useLongPress.cjs"),m=require("./useAnimate.cjs"),n=require("./useResponsive.cjs");exports.useIsDesktop=e.useIsDesktop;exports.useIsMobile=e.useIsMobile;exports.useIsTablet=e.useIsTablet;exports.useMediaQuery=e.useMediaQuery;exports.usePrefersDark=e.usePrefersDark;exports.usePrefersReducedMotion=e.usePrefersReducedMotion;exports.useClickOutside=u.useClickOutside;exports.useClickOutsideMultiple=u.useClickOutsideMultiple;exports.useResizeObserver=a.useResizeObserver;exports.useDisclosure=l.useDisclosure;exports.useBearStyles=c.useBearStyles;exports.bearStyled=d.bearStyled;exports.useSlide=b.useSlide;exports.useParallax=q.useParallax;exports.useBounce=p.useBounce;exports.useFloat=P.useFloat;exports.usePulse=S.usePulse;exports.useShake=C.useShake;exports.useClipboard=y.useClipboard;exports.useDebounce=r.useDebounce;exports.useDebouncedCallback=r.useDebouncedCallback;exports.useThrottle=o.useThrottle;exports.useThrottledCallback=o.useThrottledCallback;exports.useLocalStorage=k.useLocalStorage;exports.useKeyPress=t.useKeyPress;exports.useKeyPressState=t.useKeyPressState;exports.useInView=i.useInView;exports.useIntersectionObserver=i.useIntersectionObserver;exports.useDragDrop=D.useDragDrop;exports.useLazyLoad=g.useLazyLoad;exports.BearComponentProvider=s.BearComponentProvider;exports.useBC=s.useBC;exports.useBearComponent=s.useBearComponent;exports.useBearComponentContext=s.useBearComponentContext;exports.useSpotlight=B.useSpotlight;exports.useOnline=O.useOnline;exports.useWebSocket=v.useWebSocket;exports.useIdle=I.useIdle;exports.usePageVisibility=L.usePageVisibility;exports.useLongPress=h.useLongPress;exports.useAnimate=m.useAnimate;exports.useResponsive=n.useResponsive;exports.useResponsiveProps=n.useResponsiveProps;
@@ -1,5 +1,5 @@
1
1
  export { useMediaQuery, useIsMobile, useIsTablet, useIsDesktop, usePrefersReducedMotion, usePrefersDark, } from './useMediaQuery';
2
- export { useClickOutside } from './useClickOutside';
2
+ export { useClickOutside, useClickOutsideMultiple } from './useClickOutside';
3
3
  export { useResizeObserver } from './useResizeObserver';
4
4
  export type { UseResizeObserverOptions, UseResizeObserverReturn } from './useResizeObserver';
5
5
  export { useDisclosure } from './useDisclosure';
@@ -1,73 +1,74 @@
1
1
  import { useIsDesktop as r, useIsMobile as s, useIsTablet as t, useMediaQuery as u, usePrefersDark as p, usePrefersReducedMotion as m } from "./useMediaQuery.js";
2
- import { useClickOutside as x } from "./useClickOutside.js";
3
- import { useResizeObserver as l } from "./useResizeObserver/useResizeObserver.js";
4
- import { useDisclosure as n } from "./useDisclosure.js";
5
- import { useBearStyles as d } from "./useBearStyles.js";
2
+ import { useClickOutside as x, useClickOutsideMultiple as a } from "./useClickOutside.js";
3
+ import { useResizeObserver as i } from "./useResizeObserver/useResizeObserver.js";
4
+ import { useDisclosure as d } from "./useDisclosure.js";
5
+ import { useBearStyles as c } from "./useBearStyles.js";
6
6
  import { bearStyled as P } from "./bearStyled.js";
7
7
  import { useSlide as S } from "./useSlide/useSlide.js";
8
- import { useParallax as y } from "./useParallax/useParallax.js";
9
- import { useBounce as B } from "./useBounce/useBounce.js";
10
- import { useFloat as g } from "./useFloat/useFloat.js";
8
+ import { useParallax as D } from "./useParallax/useParallax.js";
9
+ import { useBounce as I } from "./useBounce/useBounce.js";
10
+ import { useFloat as v } from "./useFloat/useFloat.js";
11
11
  import { usePulse as h } from "./usePulse/usePulse.js";
12
- import { useShake as O } from "./useShake/useShake.js";
13
- import { useClipboard as M } from "./useClipboard/useClipboard.js";
14
- import { useDebounce as z, useDebouncedCallback as K } from "./useDebounce/useDebounce.js";
15
- import { useThrottle as w, useThrottledCallback as A } from "./useThrottle/useThrottle.js";
16
- import { useLocalStorage as Q } from "./useLocalStorage/useLocalStorage.js";
17
- import { useKeyPress as j, useKeyPressState as q } from "./useKeyPress/useKeyPress.js";
18
- import { useInView as G, useIntersectionObserver as H } from "./useIntersectionObserver/useIntersectionObserver.js";
19
- import { useDragDrop as N } from "./useDragDrop/useDragDrop.js";
20
- import { useLazyLoad as X } from "./useLazyLoad/useLazyLoad.js";
21
- import { BearComponentProvider as Z, useBC as _, useBearComponent as $, useBearComponentContext as ee } from "./useBearComponent/useBearComponent.js";
22
- import { useSpotlight as re } from "./useSpotlight/useSpotlight.js";
23
- import { useOnline as te } from "./useOnline/useOnline.js";
24
- import { useWebSocket as pe } from "./useWebSocket/useWebSocket.js";
25
- import { useIdle as fe } from "./useIdle/useIdle.js";
26
- import { usePageVisibility as ae } from "./usePageVisibility/usePageVisibility.js";
27
- import { useLongPress as ie } from "./useLongPress/useLongPress.js";
12
+ import { useShake as M } from "./useShake/useShake.js";
13
+ import { useClipboard as T } from "./useClipboard/useClipboard.js";
14
+ import { useDebounce as K, useDebouncedCallback as V } from "./useDebounce/useDebounce.js";
15
+ import { useThrottle as A, useThrottledCallback as F } from "./useThrottle/useThrottle.js";
16
+ import { useLocalStorage as W } from "./useLocalStorage/useLocalStorage.js";
17
+ import { useKeyPress as q, useKeyPressState as E } from "./useKeyPress/useKeyPress.js";
18
+ import { useInView as H, useIntersectionObserver as J } from "./useIntersectionObserver/useIntersectionObserver.js";
19
+ import { useDragDrop as U } from "./useDragDrop/useDragDrop.js";
20
+ import { useLazyLoad as Y } from "./useLazyLoad/useLazyLoad.js";
21
+ import { BearComponentProvider as _, useBC as $, useBearComponent as ee, useBearComponentContext as oe } from "./useBearComponent/useBearComponent.js";
22
+ import { useSpotlight as se } from "./useSpotlight/useSpotlight.js";
23
+ import { useOnline as ue } from "./useOnline/useOnline.js";
24
+ import { useWebSocket as me } from "./useWebSocket/useWebSocket.js";
25
+ import { useIdle as xe } from "./useIdle/useIdle.js";
26
+ import { usePageVisibility as le } from "./usePageVisibility/usePageVisibility.js";
27
+ import { useLongPress as ne } from "./useLongPress/useLongPress.js";
28
28
  import { useAnimate as be } from "./useAnimate.js";
29
- import { useResponsive as ce, useResponsiveProps as Pe } from "./useResponsive.js";
29
+ import { useResponsive as Ce, useResponsiveProps as Pe } from "./useResponsive.js";
30
30
  export {
31
- Z as BearComponentProvider,
31
+ _ as BearComponentProvider,
32
32
  P as bearStyled,
33
33
  be as useAnimate,
34
- _ as useBC,
35
- $ as useBearComponent,
36
- ee as useBearComponentContext,
37
- d as useBearStyles,
38
- B as useBounce,
34
+ $ as useBC,
35
+ ee as useBearComponent,
36
+ oe as useBearComponentContext,
37
+ c as useBearStyles,
38
+ I as useBounce,
39
39
  x as useClickOutside,
40
- M as useClipboard,
41
- z as useDebounce,
42
- K as useDebouncedCallback,
43
- n as useDisclosure,
44
- N as useDragDrop,
45
- g as useFloat,
46
- fe as useIdle,
47
- G as useInView,
48
- H as useIntersectionObserver,
40
+ a as useClickOutsideMultiple,
41
+ T as useClipboard,
42
+ K as useDebounce,
43
+ V as useDebouncedCallback,
44
+ d as useDisclosure,
45
+ U as useDragDrop,
46
+ v as useFloat,
47
+ xe as useIdle,
48
+ H as useInView,
49
+ J as useIntersectionObserver,
49
50
  r as useIsDesktop,
50
51
  s as useIsMobile,
51
52
  t as useIsTablet,
52
- j as useKeyPress,
53
- q as useKeyPressState,
54
- X as useLazyLoad,
55
- Q as useLocalStorage,
56
- ie as useLongPress,
53
+ q as useKeyPress,
54
+ E as useKeyPressState,
55
+ Y as useLazyLoad,
56
+ W as useLocalStorage,
57
+ ne as useLongPress,
57
58
  u as useMediaQuery,
58
- te as useOnline,
59
- ae as usePageVisibility,
60
- y as useParallax,
59
+ ue as useOnline,
60
+ le as usePageVisibility,
61
+ D as useParallax,
61
62
  p as usePrefersDark,
62
63
  m as usePrefersReducedMotion,
63
64
  h as usePulse,
64
- l as useResizeObserver,
65
- ce as useResponsive,
65
+ i as useResizeObserver,
66
+ Ce as useResponsive,
66
67
  Pe as useResponsiveProps,
67
- O as useShake,
68
+ M as useShake,
68
69
  S as useSlide,
69
- re as useSpotlight,
70
- w as useThrottle,
71
- A as useThrottledCallback,
72
- pe as useWebSocket
70
+ se as useSpotlight,
71
+ A as useThrottle,
72
+ F as useThrottledCallback,
73
+ me as useWebSocket
73
74
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),u=(t,n)=>{r.useEffect(()=>{const e=o=>{const s=t.current;!s||s.contains(o.target)||n(o)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}},[t,n])};exports.useClickOutside=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),a=(n,e)=>{r.useEffect(()=>{const t=u=>{const s=n.current;!s||s.contains(u.target)||e(u)};return document.addEventListener("mousedown",t),document.addEventListener("touchstart",t),()=>{document.removeEventListener("mousedown",t),document.removeEventListener("touchstart",t)}},[n,e])},l=(n,e,t={})=>{const{enabled:u=!0}=t,s=r.useRef(e);r.useEffect(()=>{s.current=e},[e]);const o=r.useCallback(c=>{const d=c.target;n.some(m=>{var i;return(i=m.current)==null?void 0:i.contains(d)})||s.current(c)},[n]);r.useEffect(()=>{if(u)return document.addEventListener("mousedown",o),document.addEventListener("touchstart",o),()=>{document.removeEventListener("mousedown",o),document.removeEventListener("touchstart",o)}},[u,o])};exports.useClickOutside=a;exports.useClickOutsideMultiple=l;
@@ -1,13 +1,6 @@
1
1
  import { RefObject } from 'react';
2
- /**
3
- * Hook to detect clicks outside of an element
4
- *
5
- * @example
6
- * ```tsx
7
- * const ref = useRef<HTMLDivElement>(null);
8
- * useClickOutside(ref, () => setIsOpen(false));
9
- *
10
- * return <div ref={ref}>Dropdown content</div>;
11
- * ```
12
- */
2
+ export type UseClickOutsideMultipleOptions = {
3
+ enabled?: boolean;
4
+ };
13
5
  export declare const useClickOutside: <T extends HTMLElement>(ref: RefObject<T>, handler: (event: MouseEvent | TouchEvent) => void) => void;
6
+ export declare const useClickOutsideMultiple: <T extends HTMLElement>(refs: RefObject<T>[], handler: (event: MouseEvent | TouchEvent) => void, options?: UseClickOutsideMultipleOptions) => void;
@@ -1,15 +1,34 @@
1
- import { useEffect as s } from "react";
2
- const c = (e, n) => {
3
- s(() => {
1
+ import { useRef as a, useEffect as u, useCallback as v } from "react";
2
+ const L = (n, e) => {
3
+ u(() => {
4
4
  const t = (o) => {
5
- const r = e.current;
6
- !r || r.contains(o.target) || n(o);
5
+ const r = n.current;
6
+ !r || r.contains(o.target) || e(o);
7
7
  };
8
8
  return document.addEventListener("mousedown", t), document.addEventListener("touchstart", t), () => {
9
9
  document.removeEventListener("mousedown", t), document.removeEventListener("touchstart", t);
10
10
  };
11
- }, [e, n]);
11
+ }, [n, e]);
12
+ }, l = (n, e, t = {}) => {
13
+ const { enabled: o = !0 } = t, r = a(e);
14
+ u(() => {
15
+ r.current = e;
16
+ }, [e]);
17
+ const s = v((c) => {
18
+ const i = c.target;
19
+ n.some((m) => {
20
+ var d;
21
+ return (d = m.current) == null ? void 0 : d.contains(i);
22
+ }) || r.current(c);
23
+ }, [n]);
24
+ u(() => {
25
+ if (o)
26
+ return document.addEventListener("mousedown", s), document.addEventListener("touchstart", s), () => {
27
+ document.removeEventListener("mousedown", s), document.removeEventListener("touchstart", s);
28
+ };
29
+ }, [o, s]);
12
30
  };
13
31
  export {
14
- c as useClickOutside
32
+ L as useClickOutside,
33
+ l as useClickOutsideMultiple
15
34
  };
@@ -2,10 +2,18 @@ import { UseMediaQueryOptions, UseMediaQueryReturn, BreakpointKey } from './useM
2
2
  /**
3
3
  * useMediaQuery - Track media query matches
4
4
  *
5
+ * Resolves breakpoint keys (sm, md, lg, xl, 2xl, dark, etc.) to media queries.
6
+ * When used inside a BearProvider, breakpoints from the theme are used,
7
+ * so you can override `xl` or add custom keys like `xxl`.
8
+ *
5
9
  * @example
6
10
  * ```tsx
7
11
  * const isMobile = useMediaQuery('(max-width: 768px)');
8
- * const isDark = useMediaQuery('dark'); // Uses predefined breakpoint
12
+ * const isLg = useMediaQuery('lg');
13
+ *
14
+ * // With BearProvider breakpoints override:
15
+ * // <BearProvider theme={{ breakpoints: { xl: '2500px', xxl: '3000px' } }}>
16
+ * const isXl = useMediaQuery('xl'); // now matches 2500px
9
17
  * ```
10
18
  */
11
19
  export declare const useMediaQuery: (query: string | BreakpointKey, options?: UseMediaQueryOptions) => UseMediaQueryReturn;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("react"),o=require("./useMediaQuery.cjs"),u={sm:640,md:768,lg:1024,xl:1280,"2xl":1536};function a(n){const d=o.useMediaQuery(`(min-width: ${u.sm}px)`),r=o.useMediaQuery(`(min-width: ${u.md}px)`),l=o.useMediaQuery(`(min-width: ${u.lg}px)`),c=o.useMediaQuery(`(min-width: ${u.xl}px)`),m=o.useMediaQuery(`(min-width: ${u["2xl"]}px)`);return x.useMemo(()=>{if(n==null||typeof n!="object")return n;const i=n;if(!("base"in i||"sm"in i||"md"in i||"lg"in i||"xl"in i||"2xl"in i))return n;if(m&&i["2xl"]!==void 0)return i["2xl"];if(c&&i.xl!==void 0)return i.xl;if(l&&i.lg!==void 0)return i.lg;if(r&&i.md!==void 0)return i.md;if(d&&i.sm!==void 0)return i.sm;if(i.base!==void 0)return i.base;for(const t of["sm","md","lg","xl","2xl"])if(i[t]!==void 0)return i[t];return n},[n,d,r,l,c,m])}function f(n){const d=o.useMediaQuery(`(min-width: ${u.sm}px)`),r=o.useMediaQuery(`(min-width: ${u.md}px)`),l=o.useMediaQuery(`(min-width: ${u.lg}px)`),c=o.useMediaQuery(`(min-width: ${u.xl}px)`),m=o.useMediaQuery(`(min-width: ${u["2xl"]}px)`);return x.useMemo(()=>{const i={};for(const[s,t]of Object.entries(n)){if(t==null||typeof t!="object"){i[s]=t;continue}const e=t;if(!("base"in e||"sm"in e||"md"in e||"lg"in e||"xl"in e||"2xl"in e)){i[s]=t;continue}if(m&&e["2xl"]!==void 0){i[s]=e["2xl"];continue}if(c&&e.xl!==void 0){i[s]=e.xl;continue}if(l&&e.lg!==void 0){i[s]=e.lg;continue}if(r&&e.md!==void 0){i[s]=e.md;continue}if(d&&e.sm!==void 0){i[s]=e.sm;continue}if(e.base!==void 0){i[s]=e.base;continue}i[s]=t}return i},[n,d,r,l,c,m])}exports.useResponsive=a;exports.useResponsiveProps=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react"),r=require("./useMediaQuery.cjs"),b=require("../context/BearProvider.cjs"),u={sm:640,md:768,lg:1024,xl:1280,"2xl":1536};function d(s){return parseInt(s,10)||0}function Q(s){var v;const x=y.useContext(b.BearContext),i=(v=x==null?void 0:x.theme)==null?void 0:v.breakpoints,g=i?d(i.sm):u.sm,p=i?d(i.md):u.md,h=i?d(i.lg):u.lg,M=i?d(i.xl):u.xl,P=i?d(i["2xl"]):u["2xl"],l=r.useMediaQuery(`(min-width: ${g}px)`),c=r.useMediaQuery(`(min-width: ${p}px)`),m=r.useMediaQuery(`(min-width: ${h}px)`),a=r.useMediaQuery(`(min-width: ${M}px)`),f=r.useMediaQuery(`(min-width: ${P}px)`);return y.useMemo(()=>{if(s==null||typeof s!="object")return s;const e=s;if(!("base"in e||"sm"in e||"md"in e||"lg"in e||"xl"in e||"2xl"in e))return s;if(f&&e["2xl"]!==void 0)return e["2xl"];if(a&&e.xl!==void 0)return e.xl;if(m&&e.lg!==void 0)return e.lg;if(c&&e.md!==void 0)return e.md;if(l&&e.sm!==void 0)return e.sm;if(e.base!==void 0)return e.base;for(const o of["sm","md","lg","xl","2xl"])if(e[o]!==void 0)return e[o];return s},[s,l,c,m,a,f])}function w(s){var v;const x=y.useContext(b.BearContext),i=(v=x==null?void 0:x.theme)==null?void 0:v.breakpoints,g=i?d(i.sm):u.sm,p=i?d(i.md):u.md,h=i?d(i.lg):u.lg,M=i?d(i.xl):u.xl,P=i?d(i["2xl"]):u["2xl"],l=r.useMediaQuery(`(min-width: ${g}px)`),c=r.useMediaQuery(`(min-width: ${p}px)`),m=r.useMediaQuery(`(min-width: ${h}px)`),a=r.useMediaQuery(`(min-width: ${M}px)`),f=r.useMediaQuery(`(min-width: ${P}px)`);return y.useMemo(()=>{const e={};for(const[t,o]of Object.entries(s)){if(o==null||typeof o!="object"){e[t]=o;continue}const n=o;if(!("base"in n||"sm"in n||"md"in n||"lg"in n||"xl"in n||"2xl"in n)){e[t]=o;continue}if(f&&n["2xl"]!==void 0){e[t]=n["2xl"];continue}if(a&&n.xl!==void 0){e[t]=n.xl;continue}if(m&&n.lg!==void 0){e[t]=n.lg;continue}if(c&&n.md!==void 0){e[t]=n.md;continue}if(l&&n.sm!==void 0){e[t]=n.sm;continue}if(n.base!==void 0){e[t]=n.base;continue}e[t]=o}return e},[s,l,c,m,a,f])}exports.useResponsive=Q;exports.useResponsiveProps=w;
@@ -2,32 +2,17 @@ import { ResponsiveProp } from '../types/theme.types';
2
2
  /**
3
3
  * useResponsive - Resolves responsive prop values based on current viewport
4
4
  *
5
- * @description
6
- * Takes a ResponsiveProp value (which can be a single value or an object
7
- * with breakpoint keys) and resolves it to the current value based on
8
- * the viewport width.
5
+ * Reads breakpoint values from BearProvider when available, so overrides
6
+ * (e.g. `xl: '2500px'`) and custom keys (e.g. `xxl: '3000px'`) are respected.
9
7
  *
10
8
  * @example
11
9
  * ```tsx
12
10
  * const columns = useResponsive({ base: 1, sm: 2, md: 3, lg: 4 });
13
- * // Returns 1 on mobile, 2 on sm, 3 on md, 4 on lg+
14
- *
15
- * const size = useResponsive('md');
16
- * // Returns 'md' always (non-responsive)
17
11
  * ```
18
12
  */
19
13
  export declare function useResponsive<T>(prop: ResponsiveProp<T>): T;
20
14
  /**
21
15
  * useResponsiveProps - Resolves multiple responsive props at once
22
- *
23
- * @example
24
- * ```tsx
25
- * const { columns, gap, size } = useResponsiveProps({
26
- * columns: { base: 1, md: 2, lg: 4 },
27
- * gap: { base: 2, md: 4 },
28
- * size: 'md', // non-responsive value
29
- * });
30
- * ```
31
16
  */
32
17
  export declare function useResponsiveProps<T extends Record<string, ResponsiveProp<unknown>>>(props: T): {
33
18
  [K in keyof T]: T[K] extends ResponsiveProp<infer V> ? V : T[K];
@@ -1,5 +1,6 @@
1
- import { useMemo as u } from "react";
2
- import { useMediaQuery as o } from "./useMediaQuery.js";
1
+ import { useContext as w, useMemo as $ } from "react";
2
+ import { useMediaQuery as x } from "./useMediaQuery.js";
3
+ import { BearContext as k } from "../context/BearProvider.js";
3
4
  const l = {
4
5
  sm: 640,
5
6
  md: 768,
@@ -7,68 +8,73 @@ const l = {
7
8
  xl: 1280,
8
9
  "2xl": 1536
9
10
  };
10
- function h(s) {
11
- const d = o(`(min-width: ${l.sm}px)`), m = o(`(min-width: ${l.md}px)`), r = o(`(min-width: ${l.lg}px)`), x = o(`(min-width: ${l.xl}px)`), c = o(`(min-width: ${l["2xl"]}px)`);
12
- return u(() => {
11
+ function m(s) {
12
+ return parseInt(s, 10) || 0;
13
+ }
14
+ function j(s) {
15
+ var v;
16
+ const r = w(k), i = (v = r == null ? void 0 : r.theme) == null ? void 0 : v.breakpoints, p = i ? m(i.sm) : l.sm, g = i ? m(i.md) : l.md, h = i ? m(i.lg) : l.lg, b = i ? m(i.xl) : l.xl, P = i ? m(i["2xl"]) : l["2xl"], c = x(`(min-width: ${p}px)`), d = x(`(min-width: ${g}px)`), u = x(`(min-width: ${h}px)`), f = x(`(min-width: ${b}px)`), a = x(`(min-width: ${P}px)`);
17
+ return $(() => {
13
18
  if (s == null || typeof s != "object")
14
19
  return s;
15
- const i = s;
16
- if (!("base" in i || "sm" in i || "md" in i || "lg" in i || "xl" in i || "2xl" in i)) return s;
17
- if (c && i["2xl"] !== void 0) return i["2xl"];
18
- if (x && i.xl !== void 0) return i.xl;
19
- if (r && i.lg !== void 0) return i.lg;
20
- if (m && i.md !== void 0) return i.md;
21
- if (d && i.sm !== void 0) return i.sm;
22
- if (i.base !== void 0) return i.base;
20
+ const n = s;
21
+ if (!("base" in n || "sm" in n || "md" in n || "lg" in n || "xl" in n || "2xl" in n)) return s;
22
+ if (a && n["2xl"] !== void 0) return n["2xl"];
23
+ if (f && n.xl !== void 0) return n.xl;
24
+ if (u && n.lg !== void 0) return n.lg;
25
+ if (d && n.md !== void 0) return n.md;
26
+ if (c && n.sm !== void 0) return n.sm;
27
+ if (n.base !== void 0) return n.base;
23
28
  for (const e of ["sm", "md", "lg", "xl", "2xl"])
24
- if (i[e] !== void 0) return i[e];
29
+ if (n[e] !== void 0) return n[e];
25
30
  return s;
26
- }, [s, d, m, r, x, c]);
31
+ }, [s, c, d, u, f, a]);
27
32
  }
28
- function g(s) {
29
- const d = o(`(min-width: ${l.sm}px)`), m = o(`(min-width: ${l.md}px)`), r = o(`(min-width: ${l.lg}px)`), x = o(`(min-width: ${l.xl}px)`), c = o(`(min-width: ${l["2xl"]}px)`);
30
- return u(() => {
31
- const i = {};
32
- for (const [t, e] of Object.entries(s)) {
33
+ function L(s) {
34
+ var v;
35
+ const r = w(k), i = (v = r == null ? void 0 : r.theme) == null ? void 0 : v.breakpoints, p = i ? m(i.sm) : l.sm, g = i ? m(i.md) : l.md, h = i ? m(i.lg) : l.lg, b = i ? m(i.xl) : l.xl, P = i ? m(i["2xl"]) : l["2xl"], c = x(`(min-width: ${p}px)`), d = x(`(min-width: ${g}px)`), u = x(`(min-width: ${h}px)`), f = x(`(min-width: ${b}px)`), a = x(`(min-width: ${P}px)`);
36
+ return $(() => {
37
+ const n = {};
38
+ for (const [o, e] of Object.entries(s)) {
33
39
  if (e == null || typeof e != "object") {
34
- i[t] = e;
40
+ n[o] = e;
35
41
  continue;
36
42
  }
37
- const n = e;
38
- if (!("base" in n || "sm" in n || "md" in n || "lg" in n || "xl" in n || "2xl" in n)) {
39
- i[t] = e;
43
+ const t = e;
44
+ if (!("base" in t || "sm" in t || "md" in t || "lg" in t || "xl" in t || "2xl" in t)) {
45
+ n[o] = e;
40
46
  continue;
41
47
  }
42
- if (c && n["2xl"] !== void 0) {
43
- i[t] = n["2xl"];
48
+ if (a && t["2xl"] !== void 0) {
49
+ n[o] = t["2xl"];
44
50
  continue;
45
51
  }
46
- if (x && n.xl !== void 0) {
47
- i[t] = n.xl;
52
+ if (f && t.xl !== void 0) {
53
+ n[o] = t.xl;
48
54
  continue;
49
55
  }
50
- if (r && n.lg !== void 0) {
51
- i[t] = n.lg;
56
+ if (u && t.lg !== void 0) {
57
+ n[o] = t.lg;
52
58
  continue;
53
59
  }
54
- if (m && n.md !== void 0) {
55
- i[t] = n.md;
60
+ if (d && t.md !== void 0) {
61
+ n[o] = t.md;
56
62
  continue;
57
63
  }
58
- if (d && n.sm !== void 0) {
59
- i[t] = n.sm;
64
+ if (c && t.sm !== void 0) {
65
+ n[o] = t.sm;
60
66
  continue;
61
67
  }
62
- if (n.base !== void 0) {
63
- i[t] = n.base;
68
+ if (t.base !== void 0) {
69
+ n[o] = t.base;
64
70
  continue;
65
71
  }
66
- i[t] = e;
72
+ n[o] = e;
67
73
  }
68
- return i;
69
- }, [s, d, m, r, x, c]);
74
+ return n;
75
+ }, [s, c, d, u, f, a]);
70
76
  }
71
77
  export {
72
- h as useResponsive,
73
- g as useResponsiveProps
78
+ j as useResponsive,
79
+ L as useResponsiveProps
74
80
  };