@forgedevstack/bear 1.2.5 → 1.2.7

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 (148) hide show
  1. package/README.md +20 -1
  2. package/dist/components/AppBar/AppBar.cjs +1 -1
  3. package/dist/components/AppBar/AppBar.const.cjs +1 -0
  4. package/dist/components/AppBar/AppBar.const.d.ts +36 -1
  5. package/dist/components/AppBar/AppBar.const.js +39 -0
  6. package/dist/components/AppBar/AppBar.js +66 -42
  7. package/dist/components/AppBar/AppBar.types.d.ts +9 -3
  8. package/dist/components/Autocomplete/Autocomplete.cjs +1 -1
  9. package/dist/components/Autocomplete/Autocomplete.js +32 -32
  10. package/dist/components/Backdrop/Backdrop.cjs +1 -0
  11. package/dist/components/Backdrop/Backdrop.const.cjs +1 -0
  12. package/dist/components/Backdrop/Backdrop.const.d.ts +8 -0
  13. package/dist/components/Backdrop/Backdrop.const.js +11 -0
  14. package/dist/components/Backdrop/Backdrop.d.ts +3 -0
  15. package/dist/components/Backdrop/Backdrop.js +50 -0
  16. package/dist/components/Backdrop/Backdrop.types.d.ts +14 -0
  17. package/dist/components/Backdrop/index.d.ts +2 -0
  18. package/dist/components/BottomNavigation/BottomNavigation.cjs +1 -1
  19. package/dist/components/BottomNavigation/BottomNavigation.const.cjs +1 -0
  20. package/dist/components/BottomNavigation/BottomNavigation.const.d.ts +8 -1
  21. package/dist/components/BottomNavigation/BottomNavigation.const.js +11 -0
  22. package/dist/components/BottomNavigation/BottomNavigation.js +64 -46
  23. package/dist/components/Breadcrumbs/Breadcrumbs.cjs +1 -1
  24. package/dist/components/Breadcrumbs/Breadcrumbs.js +65 -64
  25. package/dist/components/Button/Button.cjs +1 -1
  26. package/dist/components/Button/Button.js +48 -48
  27. package/dist/components/Chip/Chip.cjs +1 -1
  28. package/dist/components/Chip/Chip.const.cjs +1 -0
  29. package/dist/components/Chip/Chip.const.d.ts +49 -0
  30. package/dist/components/Chip/Chip.const.js +53 -0
  31. package/dist/components/Chip/Chip.js +46 -65
  32. package/dist/components/ChipGroup/ChipGroup.cjs +1 -0
  33. package/dist/components/ChipGroup/ChipGroup.const.cjs +1 -0
  34. package/dist/components/ChipGroup/ChipGroup.const.d.ts +11 -0
  35. package/dist/components/ChipGroup/ChipGroup.const.js +14 -0
  36. package/dist/components/ChipGroup/ChipGroup.d.ts +3 -0
  37. package/dist/components/ChipGroup/ChipGroup.js +95 -0
  38. package/dist/components/ChipGroup/ChipGroup.types.d.ts +14 -0
  39. package/dist/components/ChipGroup/index.d.ts +2 -0
  40. package/dist/components/Drawer/Drawer.cjs +1 -1
  41. package/dist/components/Drawer/Drawer.js +68 -64
  42. package/dist/components/EmptyState/EmptyState.cjs +1 -1
  43. package/dist/components/EmptyState/EmptyState.const.cjs +1 -0
  44. package/dist/components/EmptyState/EmptyState.const.d.ts +26 -1
  45. package/dist/components/EmptyState/EmptyState.const.js +29 -0
  46. package/dist/components/EmptyState/EmptyState.js +49 -31
  47. package/dist/components/Input/Input.cjs +1 -1
  48. package/dist/components/Input/Input.const.cjs +1 -1
  49. package/dist/components/Input/Input.const.d.ts +10 -0
  50. package/dist/components/Input/Input.const.js +16 -6
  51. package/dist/components/Input/Input.js +108 -107
  52. package/dist/components/List/List.cjs +1 -1
  53. package/dist/components/List/List.js +133 -123
  54. package/dist/components/List/List.types.d.ts +2 -0
  55. package/dist/components/MessageList/MessageList.cjs +1 -1
  56. package/dist/components/MessageList/MessageList.const.cjs +1 -1
  57. package/dist/components/MessageList/MessageList.const.d.ts +6 -0
  58. package/dist/components/MessageList/MessageList.const.js +26 -20
  59. package/dist/components/MessageList/MessageList.d.ts +0 -16
  60. package/dist/components/MessageList/MessageList.js +133 -115
  61. package/dist/components/MessageList/MessageList.types.d.ts +4 -0
  62. package/dist/components/MessageList/MessageList.utils.cjs +1 -1
  63. package/dist/components/MessageList/MessageList.utils.d.ts +7 -0
  64. package/dist/components/MessageList/MessageList.utils.js +47 -28
  65. package/dist/components/Modal/Modal.cjs +1 -1
  66. package/dist/components/Modal/Modal.const.cjs +1 -1
  67. package/dist/components/Modal/Modal.const.js +7 -8
  68. package/dist/components/Modal/Modal.js +60 -55
  69. package/dist/components/PageHeader/PageHeader.cjs +1 -0
  70. package/dist/components/PageHeader/PageHeader.const.cjs +1 -0
  71. package/dist/components/PageHeader/PageHeader.const.d.ts +6 -0
  72. package/dist/components/PageHeader/PageHeader.const.js +9 -0
  73. package/dist/components/PageHeader/PageHeader.d.ts +3 -0
  74. package/dist/components/PageHeader/PageHeader.js +57 -0
  75. package/dist/components/PageHeader/PageHeader.types.d.ts +10 -0
  76. package/dist/components/PageHeader/index.d.ts +2 -0
  77. package/dist/components/Progress/Progress.cjs +1 -1
  78. package/dist/components/Progress/Progress.const.cjs +1 -0
  79. package/dist/components/Progress/Progress.const.d.ts +16 -1
  80. package/dist/components/Progress/Progress.const.js +19 -0
  81. package/dist/components/Progress/Progress.d.ts +0 -10
  82. package/dist/components/Progress/Progress.js +81 -71
  83. package/dist/components/Progress/Progress.types.d.ts +2 -11
  84. package/dist/components/PropsPlayground/PropsPlayground.cjs +1 -1
  85. package/dist/components/PropsPlayground/PropsPlayground.js +40 -40
  86. package/dist/components/Select/Select.cjs +1 -1
  87. package/dist/components/Select/Select.const.cjs +1 -0
  88. package/dist/components/Select/Select.const.d.ts +9 -0
  89. package/dist/components/Select/Select.const.js +13 -0
  90. package/dist/components/Select/Select.js +151 -66
  91. package/dist/components/Select/Select.types.d.ts +3 -1
  92. package/dist/components/Snackbar/Snackbar.cjs +1 -1
  93. package/dist/components/Snackbar/Snackbar.js +62 -60
  94. package/dist/components/Snackbar/Snackbar.types.d.ts +2 -0
  95. package/dist/components/Stepper/Stepper.cjs +1 -1
  96. package/dist/components/Stepper/Stepper.js +89 -83
  97. package/dist/components/Tabs/Tabs.cjs +1 -1
  98. package/dist/components/Tabs/Tabs.const.cjs +1 -0
  99. package/dist/components/Tabs/Tabs.const.d.ts +2 -0
  100. package/dist/components/Tabs/Tabs.const.js +5 -0
  101. package/dist/components/Tabs/Tabs.js +40 -35
  102. package/dist/components/Tabs/Tabs.types.d.ts +1 -0
  103. package/dist/components/Toast/Toast.cjs +1 -1
  104. package/dist/components/Toast/Toast.const.cjs +1 -0
  105. package/dist/components/Toast/Toast.const.d.ts +4 -0
  106. package/dist/components/Toast/Toast.const.js +9 -0
  107. package/dist/components/Toast/Toast.d.ts +0 -1
  108. package/dist/components/Toast/Toast.js +111 -101
  109. package/dist/components/index.cjs +1 -1
  110. package/dist/components/index.d.ts +6 -0
  111. package/dist/components/index.js +285 -279
  112. package/dist/context/BearProvider.cjs +1 -1
  113. package/dist/context/BearProvider.d.ts +8 -0
  114. package/dist/context/BearProvider.js +149 -139
  115. package/dist/context/index.cjs +1 -1
  116. package/dist/context/index.d.ts +1 -1
  117. package/dist/context/index.js +12 -10
  118. package/dist/hooks/index.cjs +1 -1
  119. package/dist/hooks/index.d.ts +3 -0
  120. package/dist/hooks/index.js +45 -41
  121. package/dist/hooks/useBreakpoint/index.d.ts +4 -0
  122. package/dist/hooks/useBreakpoint/useBreakpoint.cjs +1 -0
  123. package/dist/hooks/useBreakpoint/useBreakpoint.const.cjs +1 -0
  124. package/dist/hooks/useBreakpoint/useBreakpoint.const.d.ts +8 -0
  125. package/dist/hooks/useBreakpoint/useBreakpoint.const.js +10 -0
  126. package/dist/hooks/useBreakpoint/useBreakpoint.d.ts +2 -0
  127. package/dist/hooks/useBreakpoint/useBreakpoint.js +26 -0
  128. package/dist/hooks/useBreakpoint/useBreakpoint.types.d.ts +12 -0
  129. package/dist/index.cjs +1 -1
  130. package/dist/index.js +464 -443
  131. package/dist/styles.css +67 -23
  132. package/dist/utils/generateBearId.const.cjs +1 -1
  133. package/dist/utils/generateBearId.const.d.ts +4 -2
  134. package/dist/utils/generateBearId.const.js +6 -4
  135. package/dist/utils/generateBearId.utils.cjs +1 -1
  136. package/dist/utils/generateBearId.utils.js +33 -21
  137. package/dist/utils/index.cjs +1 -1
  138. package/dist/utils/index.d.ts +4 -1
  139. package/dist/utils/index.js +27 -18
  140. package/dist/utils/liveRegion.const.cjs +1 -0
  141. package/dist/utils/liveRegion.const.d.ts +5 -0
  142. package/dist/utils/liveRegion.const.js +17 -0
  143. package/dist/utils/liveRegion.utils.cjs +1 -0
  144. package/dist/utils/liveRegion.utils.d.ts +7 -0
  145. package/dist/utils/liveRegion.utils.js +10 -0
  146. package/dist/utils/useBearId.cjs +1 -1
  147. package/dist/utils/useBearId.js +5 -4
  148. package/package.json +1 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ht=require("react/jsx-runtime"),o=require("react"),O=require("./bearProvider.const.cjs"),E=require("./defaultTheme.cjs"),A=o.createContext(null),yt="bear-theme-mode",gt=["primary","secondary","success","warning","danger","info","ghost","outline","error"],rt=t=>{const u=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return u?{r:parseInt(u[1],16),g:parseInt(u[2],16),b:parseInt(u[3],16)}:null},st=(t,u,a)=>"#"+[t,u,a].map(c=>{const s=Math.max(0,Math.min(255,Math.round(c))).toString(16);return s.length===1?"0"+s:s}).join(""),x=(t,u)=>{const a=rt(t);if(!a)return t;const c=u/100;return st(a.r+(255-a.r)*c,a.g+(255-a.g)*c,a.b+(255-a.b)*c)},D=(t,u)=>{const a=rt(t);if(!a)return t;const c=1-u/100;return st(a.r*c,a.g*c,a.b*c)},mt=t=>({50:x(t,95),100:x(t,85),200:x(t,70),300:x(t,50),400:x(t,25),500:t,600:D(t,10),700:D(t,25),800:D(t,40),900:D(t,55),950:D(t,70)}),$t=t=>typeof t!="string"?!1:t.startsWith("#")||t.startsWith("rgb")||/^[a-z]+$/i.test(t),tt={red:"#ef4444",blue:"#3b82f6",green:"#22c55e",yellow:"#eab308",orange:"#f97316",purple:"#a855f7",pink:"#ec4899",cyan:"#06b6d4",teal:"#14b8a6",indigo:"#6366f1",violet:"#8b5cf6",rose:"#f43f5e",amber:"#f59e0b",lime:"#84cc16",emerald:"#10b981",sky:"#0ea5e9",slate:"#64748b",gray:"#6b7280",zinc:"#71717a",neutral:"#737373",stone:"#78716c",white:"#ffffff",black:"#000000"},kt=t=>{const u=t.toLowerCase();return tt[u]?tt[u]:(t.startsWith("#"),t)};function w(t,u){if(!u)return t;const a={...t},c=t,s=u,b=a;for(const p in s)if(Object.prototype.hasOwnProperty.call(s,p)){const n=s[p],r=c[p];n&&typeof n=="object"&&!Array.isArray(n)&&r&&typeof r=="object"&&!Array.isArray(r)?b[p]=w(r,n):n!==void 0&&(b[p]=n)}return a}const et=(t,u,a,c)=>{const s=[],b=(n,r)=>{Object.entries(r).forEach(([T,I])=>{s.push(`--bear-${n}-${T}:${I}`)})};b("primary",t.colors.primary),b("secondary",t.colors.secondary),b("success",t.colors.success),b("warning",t.colors.warning),b("danger",t.colors.danger),b("info",t.colors.info),b("neutral",t.colors.neutral),s.push(`--bear-bg-primary:${t.colors.background.primary}`),s.push(`--bear-bg-secondary:${t.colors.background.secondary}`),s.push(`--bear-bg-tertiary:${t.colors.background.tertiary}`),s.push(`--bear-text-primary:${t.colors.text.primary}`),s.push(`--bear-text-secondary:${t.colors.text.secondary}`),s.push(`--bear-text-muted:${t.colors.text.muted}`),s.push(`--bear-text-inverted:${t.colors.text.inverted}`),s.push(`--bear-border-default:${t.colors.border.default}`),s.push(`--bear-border-subtle:${t.colors.border.subtle}`),s.push(`--bear-border-strong:${t.colors.border.strong}`),u!=null&&u.Button&&Object.entries(u.Button).forEach(([n,r])=>{r&&(r.bg&&s.push(`--bear-btn-${n}-bg:${r.bg}`),r.bgHover&&s.push(`--bear-btn-${n}-bg-hover:${r.bgHover}`),r.bgActive&&s.push(`--bear-btn-${n}-bg-active:${r.bgActive}`),r.bgDisabled&&s.push(`--bear-btn-${n}-bg-disabled:${r.bgDisabled}`),r.text&&s.push(`--bear-btn-${n}-text:${r.text}`),r.textDisabled&&s.push(`--bear-btn-${n}-text-disabled:${r.textDisabled}`),r.border&&s.push(`--bear-btn-${n}-border:${r.border}`),r.borderHover&&s.push(`--bear-btn-${n}-border-hover:${r.borderHover}`),r.ring&&s.push(`--bear-btn-${n}-ring:${r.ring}`))}),Object.entries(a).forEach(([n,r])=>{s.push(`--bear-${n}-bg:${r.bg}`),r.bgHover&&s.push(`--bear-${n}-bg-hover:${r.bgHover}`),r.bgActive&&s.push(`--bear-${n}-bg-active:${r.bgActive}`),r.text&&s.push(`--bear-${n}-text:${r.text}`),r.border&&s.push(`--bear-${n}-border:${r.border}`),r.ring&&s.push(`--bear-${n}-ring:${r.ring}`)}),s.push(`--bear-font-sans:${t.typography.fontFamily.sans}`),s.push(`--bear-font-mono:${t.typography.fontFamily.mono}`),Object.entries(t.shadows).forEach(([n,r])=>{s.push(`--bear-shadow-${n}:${r}`)}),Object.entries(t.borderRadius).forEach(([n,r])=>{s.push(`--bear-radius-${n}:${r}`)}),Object.entries(t.spacing).forEach(([n,r])=>{s.push(`--bear-spacing-${n}:${r}`)});const p=c==="compact"?O.DENSITY_SCALE_COMPACT:O.DENSITY_SCALE_COMFORTABLE;return s.push(`${O.DENSITY_CSS_VAR}:${p}`),s.join(";")},St=({children:t,defaultMode:u="light",mode:a,onModeChange:c,direction:s=O.DEFAULT_DIRECTION,density:b=O.DEFAULT_DENSITY,theme:p,components:n={},defaultProps:r={},variants:T={},customVariants:I={},customTypography:ot={},persistPreference:$=!0,storageKey:k=yt})=>{const[at,L]=o.useState(()=>{if(a!==void 0)return a;if(typeof window<"u"&&$){const e=localStorage.getItem(k);if(e==="light"||e==="dark")return e;if(window.matchMedia("(prefers-color-scheme: dark)").matches)return"dark"}return u}),h=a??at,[S,nt]=o.useState(s),[f,ut]=o.useState(b),[j,ct]=o.useState(p||{}),[R,it]=o.useState(n),[V]=o.useState(r),[y,bt]=o.useState(T),[l,dt]=o.useState(I),[g,lt]=o.useState(ot),m=o.useMemo(()=>{if(!j||Object.keys(j).length===0)return{};const e={...j};if(e.colors){const i=["primary","secondary","success","warning","danger","info","neutral"];for(const d of i){const M=e.colors[d];if($t(M)){const ft=kt(M);e.colors[d]=mt(ft)}}}return e},[j]),C=o.useMemo(()=>Object.keys(m).length===0?E.defaultLightTheme:w(E.defaultLightTheme,m),[m]),_=o.useMemo(()=>Object.keys(m).length===0?E.defaultDarkTheme:w(E.defaultDarkTheme,m),[m]),H=h==="dark"?_:C,N=o.useMemo(()=>et(C,y,l,f),[C,y,l,f]),v=o.useMemo(()=>et(_,y,l,f),[_,y,l,f]),F=o.useCallback(e=>{a===void 0&&L(e),c==null||c(e),typeof window<"u"&&$&&localStorage.setItem(k,e)},[a,c,$,k]),P=o.useCallback(e=>{nt(e)},[]),Y=o.useCallback(e=>{ut(e)},[]),q=o.useCallback(()=>{if(a!==void 0){const e=a==="light"?"dark":"light";c==null||c(e);return}o.startTransition(()=>{L(e=>{const i=e==="light"?"dark":"light";return c==null||c(i),typeof window<"u"&&$&&localStorage.setItem(k,i),i})})},[a,c,$,k]),z=o.useCallback(e=>{ct(i=>w(i,e))},[]),U=o.useCallback((e,i)=>{it(d=>({...d,[e]:{...d[e]||{},...i}}))},[]),W=o.useCallback((e,i)=>{bt(d=>({...d,[e]:{...d[e]||{},...i}}))},[]),G=o.useCallback(e=>gt.includes(e)||e in l,[l]),J=o.useCallback(e=>l[e],[l]),Q=o.useCallback((e,i)=>{dt(d=>({...d,[e]:i}))},[]),X=o.useCallback(e=>e in g,[g]),Z=o.useCallback(e=>g[e],[g]),K=o.useCallback((e,i)=>{lt(d=>({...d,[e]:i}))},[]);o.useEffect(()=>{a!==void 0&&L(a)},[a]),o.useEffect(()=>{if(typeof document>"u")return;const e="bear-theme-vars";let i=document.getElementById(e);i||(i=document.createElement("style"),i.id=e,document.head.appendChild(i)),i.textContent=`:root.bear-light,:root:not(.dark){${N}}:root.bear-dark,:root.dark,.dark{${v}}`},[N,v]),o.useEffect(()=>{if(typeof document>"u")return;const e=document.documentElement;e.classList.toggle("dark",h==="dark"),e.classList.remove("bear-light","bear-dark"),e.classList.add(h==="dark"?"bear-dark":"bear-light"),e.setAttribute("dir",S),e.classList.toggle("bear-rtl",S==="rtl"),e.classList.toggle("bear-density-compact",f==="compact")},[h,S,f]);const pt=o.useMemo(()=>({theme:H,mode:h,setMode:F,toggleMode:q,updateTheme:z,direction:S,setDirection:P,density:f,setDensity:Y,defaultProps:V,components:R,variants:y,customVariants:l,hasVariant:G,getVariant:J,addVariant:Q,customTypography:g,hasTypography:X,getTypography:Z,addTypography:K,registerComponent:U,registerVariant:W}),[H,h,F,q,z,S,P,f,Y,V,R,y,l,G,J,Q,g,X,Z,K,U,W]);return ht.jsx(A.Provider,{value:pt,children:t})},B=()=>{const t=o.useContext(A);if(!t)throw new Error("useBear must be used within a BearProvider");return t},xt=()=>{const{theme:t}=B();return t},Dt=()=>{const t=o.useContext(A);return t?t.theme:E.defaultDarkTheme},Et=()=>{const{mode:t,setMode:u,toggleMode:a}=B();return{mode:t,setMode:u,toggleMode:a}},Ot=()=>{const{direction:t,setDirection:u}=B();return{direction:t,setDirection:u}},Bt=()=>{const{density:t,setDensity:u}=B();return{density:t,setDensity:u}};exports.BearContext=A;exports.BearProvider=St;exports.useBear=B;exports.useBearDensity=Bt;exports.useBearDirection=Ot;exports.useBearMode=Et;exports.useBearTheme=xt;exports.useBearThemeOptional=Dt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const yt=require("react/jsx-runtime"),o=require("react"),$=require("./bearProvider.const.cjs"),B=require("./defaultTheme.cjs"),k=o.createContext(null),ht="bear-theme-mode",gt=["primary","secondary","success","warning","danger","info","ghost","outline","error"],rt=t=>{const u=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return u?{r:parseInt(u[1],16),g:parseInt(u[2],16),b:parseInt(u[3],16)}:null},st=(t,u,n)=>"#"+[t,u,n].map(i=>{const s=Math.max(0,Math.min(255,Math.round(i))).toString(16);return s.length===1?"0"+s:s}).join(""),E=(t,u)=>{const n=rt(t);if(!n)return t;const i=u/100;return st(n.r+(255-n.r)*i,n.g+(255-n.g)*i,n.b+(255-n.b)*i)},O=(t,u)=>{const n=rt(t);if(!n)return t;const i=1-u/100;return st(n.r*i,n.g*i,n.b*i)},mt=t=>({50:E(t,95),100:E(t,85),200:E(t,70),300:E(t,50),400:E(t,25),500:t,600:O(t,10),700:O(t,25),800:O(t,40),900:O(t,55),950:O(t,70)}),$t=t=>typeof t!="string"?!1:t.startsWith("#")||t.startsWith("rgb")||/^[a-z]+$/i.test(t),tt={red:"#ef4444",blue:"#3b82f6",green:"#22c55e",yellow:"#eab308",orange:"#f97316",purple:"#a855f7",pink:"#ec4899",cyan:"#06b6d4",teal:"#14b8a6",indigo:"#6366f1",violet:"#8b5cf6",rose:"#f43f5e",amber:"#f59e0b",lime:"#84cc16",emerald:"#10b981",sky:"#0ea5e9",slate:"#64748b",gray:"#6b7280",zinc:"#71717a",neutral:"#737373",stone:"#78716c",white:"#ffffff",black:"#000000"},kt=t=>{const u=t.toLowerCase();return tt[u]?tt[u]:(t.startsWith("#"),t)};function j(t,u){if(!u)return t;const n={...t},i=t,s=u,b=n;for(const p in s)if(Object.prototype.hasOwnProperty.call(s,p)){const a=s[p],r=i[p];a&&typeof a=="object"&&!Array.isArray(a)&&r&&typeof r=="object"&&!Array.isArray(r)?b[p]=j(r,a):a!==void 0&&(b[p]=a)}return n}const et=(t,u,n,i)=>{const s=[],b=(a,r)=>{Object.entries(r).forEach(([w,I])=>{s.push(`--bear-${a}-${w}:${I}`)})};b("primary",t.colors.primary),b("secondary",t.colors.secondary),b("success",t.colors.success),b("warning",t.colors.warning),b("danger",t.colors.danger),b("info",t.colors.info),b("neutral",t.colors.neutral),s.push(`--bear-bg-primary:${t.colors.background.primary}`),s.push(`--bear-bg-secondary:${t.colors.background.secondary}`),s.push(`--bear-bg-tertiary:${t.colors.background.tertiary}`),s.push(`--bear-text-primary:${t.colors.text.primary}`),s.push(`--bear-text-secondary:${t.colors.text.secondary}`),s.push(`--bear-text-muted:${t.colors.text.muted}`),s.push(`--bear-text-inverted:${t.colors.text.inverted}`),s.push(`--bear-border-default:${t.colors.border.default}`),s.push(`--bear-border-subtle:${t.colors.border.subtle}`),s.push(`--bear-border-strong:${t.colors.border.strong}`),u!=null&&u.Button&&Object.entries(u.Button).forEach(([a,r])=>{r&&(r.bg&&s.push(`--bear-btn-${a}-bg:${r.bg}`),r.bgHover&&s.push(`--bear-btn-${a}-bg-hover:${r.bgHover}`),r.bgActive&&s.push(`--bear-btn-${a}-bg-active:${r.bgActive}`),r.bgDisabled&&s.push(`--bear-btn-${a}-bg-disabled:${r.bgDisabled}`),r.text&&s.push(`--bear-btn-${a}-text:${r.text}`),r.textDisabled&&s.push(`--bear-btn-${a}-text-disabled:${r.textDisabled}`),r.border&&s.push(`--bear-btn-${a}-border:${r.border}`),r.borderHover&&s.push(`--bear-btn-${a}-border-hover:${r.borderHover}`),r.ring&&s.push(`--bear-btn-${a}-ring:${r.ring}`))}),Object.entries(n).forEach(([a,r])=>{s.push(`--bear-${a}-bg:${r.bg}`),r.bgHover&&s.push(`--bear-${a}-bg-hover:${r.bgHover}`),r.bgActive&&s.push(`--bear-${a}-bg-active:${r.bgActive}`),r.text&&s.push(`--bear-${a}-text:${r.text}`),r.border&&s.push(`--bear-${a}-border:${r.border}`),r.ring&&s.push(`--bear-${a}-ring:${r.ring}`)}),s.push(`--bear-font-sans:${t.typography.fontFamily.sans}`),s.push(`--bear-font-mono:${t.typography.fontFamily.mono}`),Object.entries(t.shadows).forEach(([a,r])=>{s.push(`--bear-shadow-${a}:${r}`)}),Object.entries(t.borderRadius).forEach(([a,r])=>{s.push(`--bear-radius-${a}:${r}`)}),Object.entries(t.spacing).forEach(([a,r])=>{s.push(`--bear-spacing-${a}:${r}`)});const p=i==="compact"?$.DENSITY_SCALE_COMPACT:$.DENSITY_SCALE_COMFORTABLE;return s.push(`${$.DENSITY_CSS_VAR}:${p}`),s.join(";")},Dt=({children:t,defaultMode:u="light",mode:n,onModeChange:i,direction:s=$.DEFAULT_DIRECTION,density:b=$.DEFAULT_DENSITY,theme:p,components:a={},defaultProps:r={},variants:w={},customVariants:I={},customTypography:ot={},persistPreference:D=!0,storageKey:x=ht})=>{const[nt,L]=o.useState(()=>{if(n!==void 0)return n;if(typeof window<"u"&&D){const e=localStorage.getItem(x);if(e==="light"||e==="dark")return e;if(window.matchMedia("(prefers-color-scheme: dark)").matches)return"dark"}return u}),y=n??nt,[S,at]=o.useState(s),[f,ut]=o.useState(b),[T,it]=o.useState(p||{}),[R,ct]=o.useState(a),[V]=o.useState(r),[h,bt]=o.useState(w),[l,dt]=o.useState(I),[g,lt]=o.useState(ot),m=o.useMemo(()=>{if(!T||Object.keys(T).length===0)return{};const e={...T};if(e.colors){const c=["primary","secondary","success","warning","danger","info","neutral"];for(const d of c){const M=e.colors[d];if($t(M)){const ft=kt(M);e.colors[d]=mt(ft)}}}return e},[T]),C=o.useMemo(()=>Object.keys(m).length===0?B.defaultLightTheme:j(B.defaultLightTheme,m),[m]),_=o.useMemo(()=>Object.keys(m).length===0?B.defaultDarkTheme:j(B.defaultDarkTheme,m),[m]),v=y==="dark"?_:C,N=o.useMemo(()=>et(C,h,l,f),[C,h,l,f]),F=o.useMemo(()=>et(_,h,l,f),[_,h,l,f]),H=o.useCallback(e=>{n===void 0&&L(e),i==null||i(e),typeof window<"u"&&D&&localStorage.setItem(x,e)},[n,i,D,x]),Y=o.useCallback(e=>{at(e)},[]),P=o.useCallback(e=>{ut(e)},[]),U=o.useCallback(()=>{if(n!==void 0){const e=n==="light"?"dark":"light";i==null||i(e);return}o.startTransition(()=>{L(e=>{const c=e==="light"?"dark":"light";return i==null||i(c),typeof window<"u"&&D&&localStorage.setItem(x,c),c})})},[n,i,D,x]),q=o.useCallback(e=>{it(c=>j(c,e))},[]),z=o.useCallback((e,c)=>{ct(d=>({...d,[e]:{...d[e]||{},...c}}))},[]),W=o.useCallback((e,c)=>{bt(d=>({...d,[e]:{...d[e]||{},...c}}))},[]),G=o.useCallback(e=>gt.includes(e)||e in l,[l]),J=o.useCallback(e=>l[e],[l]),Q=o.useCallback((e,c)=>{dt(d=>({...d,[e]:c}))},[]),X=o.useCallback(e=>e in g,[g]),Z=o.useCallback(e=>g[e],[g]),K=o.useCallback((e,c)=>{lt(d=>({...d,[e]:c}))},[]);o.useEffect(()=>{n!==void 0&&L(n)},[n]),o.useEffect(()=>{if(typeof document>"u")return;const e="bear-theme-vars";let c=document.getElementById(e);c||(c=document.createElement("style"),c.id=e,document.head.appendChild(c)),c.textContent=`:root.bear-light,:root:not(.dark){${N}}:root.bear-dark,:root.dark,.dark{${F}}`},[N,F]),o.useEffect(()=>{if(typeof document>"u")return;const e=document.documentElement;e.classList.toggle("dark",y==="dark"),e.classList.remove("bear-light","bear-dark"),e.classList.add(y==="dark"?"bear-dark":"bear-light"),e.setAttribute("dir",S),e.classList.toggle("bear-rtl",S==="rtl"),e.classList.toggle("bear-density-compact",f==="compact")},[y,S,f]);const pt=o.useMemo(()=>({theme:v,mode:y,setMode:H,toggleMode:U,updateTheme:q,direction:S,setDirection:Y,density:f,setDensity:P,defaultProps:V,components:R,variants:h,customVariants:l,hasVariant:G,getVariant:J,addVariant:Q,customTypography:g,hasTypography:X,getTypography:Z,addTypography:K,registerComponent:z,registerVariant:W}),[v,y,H,U,q,S,Y,f,P,V,R,h,l,G,J,Q,g,X,Z,K,z,W]);return yt.jsx(k.Provider,{value:pt,children:t})},A=()=>{const t=o.useContext(k);if(!t)throw new Error("useBear must be used within a BearProvider");return t},xt=()=>{const{theme:t}=A();return t},St=()=>{const t=o.useContext(k);return t?t.theme:B.defaultDarkTheme},Et=()=>{const{mode:t,setMode:u,toggleMode:n}=A();return{mode:t,setMode:u,toggleMode:n}},Ot=()=>{const{direction:t,setDirection:u}=A();return{direction:t,setDirection:u}},Bt=()=>{const t=o.useContext(k);return t?{direction:t.direction,setDirection:t.setDirection}:{direction:"ltr",setDirection:u=>{}}},At=()=>{const{density:t,setDensity:u}=A();return{density:t,setDensity:u}},Tt=()=>{const t=o.useContext(k);return t?{density:t.density,setDensity:t.setDensity}:{density:$.DEFAULT_DENSITY,setDensity:u=>{}}};exports.BearContext=k;exports.BearProvider=Dt;exports.useBear=A;exports.useBearDensity=At;exports.useBearDensityOptional=Tt;exports.useBearDirection=Ot;exports.useBearDirectionOptional=Bt;exports.useBearMode=Et;exports.useBearTheme=xt;exports.useBearThemeOptional=St;
@@ -118,10 +118,18 @@ export declare const useBearDirection: () => {
118
118
  direction: BearDirection;
119
119
  setDirection: (direction: BearDirection) => void;
120
120
  };
121
+ export declare const useBearDirectionOptional: () => {
122
+ direction: BearDirection;
123
+ setDirection: (direction: BearDirection) => void;
124
+ };
121
125
  export declare const useBearDensity: () => {
122
126
  density: BearDensity;
123
127
  setDensity: (density: BearDensity) => void;
124
128
  };
129
+ export declare const useBearDensityOptional: () => {
130
+ density: BearDensity;
131
+ setDensity: (density: BearDensity) => void;
132
+ };
125
133
  /**
126
134
  * Hook to work with custom variants
127
135
  *
@@ -1,44 +1,44 @@
1
- import { jsx as mt } from "react/jsx-runtime";
2
- import { createContext as kt, useContext as nt, useState as f, useMemo as k, useCallback as i, startTransition as xt, useEffect as V } from "react";
3
- import { DEFAULT_DIRECTION as Et, DEFAULT_DENSITY as St, DENSITY_CSS_VAR as Dt, DENSITY_SCALE_COMPACT as Ot, DENSITY_SCALE_COMFORTABLE as wt } from "./bearProvider.const.js";
4
- import { defaultDarkTheme as H, defaultLightTheme as et } from "./defaultTheme.js";
5
- const N = kt(null), At = "bear-theme-mode", jt = ["primary", "secondary", "success", "warning", "danger", "info", "ghost", "outline", "error"], at = (t) => {
6
- const a = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);
7
- return a ? {
8
- r: parseInt(a[1], 16),
9
- g: parseInt(a[2], 16),
10
- b: parseInt(a[3], 16)
1
+ import { jsx as xt } from "react/jsx-runtime";
2
+ import { createContext as kt, useContext as I, useState as f, useMemo as x, useCallback as u, startTransition as Dt, useEffect as N } from "react";
3
+ import { DEFAULT_DENSITY as it, DEFAULT_DIRECTION as Et, DENSITY_CSS_VAR as Ot, DENSITY_SCALE_COMPACT as St, DENSITY_SCALE_COMFORTABLE as wt } from "./bearProvider.const.js";
4
+ import { defaultDarkTheme as R, defaultLightTheme as st } from "./defaultTheme.js";
5
+ const w = kt(null), At = "bear-theme-mode", jt = ["primary", "secondary", "success", "warning", "danger", "info", "ghost", "outline", "error"], at = (t) => {
6
+ const i = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);
7
+ return i ? {
8
+ r: parseInt(i[1], 16),
9
+ g: parseInt(i[2], 16),
10
+ b: parseInt(i[3], 16)
11
11
  } : null;
12
- }, ct = (t, a, o) => "#" + [t, a, o].map((c) => {
13
- const s = Math.max(0, Math.min(255, Math.round(c))).toString(16);
12
+ }, ct = (t, i, o) => "#" + [t, i, o].map((a) => {
13
+ const s = Math.max(0, Math.min(255, Math.round(a))).toString(16);
14
14
  return s.length === 1 ? "0" + s : s;
15
- }).join(""), D = (t, a) => {
15
+ }).join(""), O = (t, i) => {
16
16
  const o = at(t);
17
17
  if (!o) return t;
18
- const c = a / 100;
18
+ const a = i / 100;
19
19
  return ct(
20
- o.r + (255 - o.r) * c,
21
- o.g + (255 - o.g) * c,
22
- o.b + (255 - o.b) * c
20
+ o.r + (255 - o.r) * a,
21
+ o.g + (255 - o.g) * a,
22
+ o.b + (255 - o.b) * a
23
23
  );
24
- }, O = (t, a) => {
24
+ }, S = (t, i) => {
25
25
  const o = at(t);
26
26
  if (!o) return t;
27
- const c = 1 - a / 100;
28
- return ct(o.r * c, o.g * c, o.b * c);
27
+ const a = 1 - i / 100;
28
+ return ct(o.r * a, o.g * a, o.b * a);
29
29
  }, It = (t) => ({
30
- 50: D(t, 95),
31
- 100: D(t, 85),
32
- 200: D(t, 70),
33
- 300: D(t, 50),
34
- 400: D(t, 25),
30
+ 50: O(t, 95),
31
+ 100: O(t, 85),
32
+ 200: O(t, 70),
33
+ 300: O(t, 50),
34
+ 400: O(t, 25),
35
35
  500: t,
36
- 600: O(t, 10),
37
- 700: O(t, 25),
38
- 800: O(t, 40),
39
- 900: O(t, 55),
40
- 950: O(t, 70)
41
- }), Lt = (t) => typeof t != "string" ? !1 : t.startsWith("#") || t.startsWith("rgb") || /^[a-z]+$/i.test(t), st = {
36
+ 600: S(t, 10),
37
+ 700: S(t, 25),
38
+ 800: S(t, 40),
39
+ 900: S(t, 55),
40
+ 950: S(t, 70)
41
+ }), Bt = (t) => typeof t != "string" ? !1 : t.startsWith("#") || t.startsWith("rgb") || /^[a-z]+$/i.test(t), ot = {
42
42
  red: "#ef4444",
43
43
  blue: "#3b82f6",
44
44
  green: "#22c55e",
@@ -62,30 +62,30 @@ const N = kt(null), At = "bear-theme-mode", jt = ["primary", "secondary", "succe
62
62
  stone: "#78716c",
63
63
  white: "#ffffff",
64
64
  black: "#000000"
65
- }, Bt = (t) => {
66
- const a = t.toLowerCase();
67
- return st[a] ? st[a] : (t.startsWith("#"), t);
65
+ }, Lt = (t) => {
66
+ const i = t.toLowerCase();
67
+ return ot[i] ? ot[i] : (t.startsWith("#"), t);
68
68
  };
69
- function A(t, a) {
70
- if (!a) return t;
71
- const o = { ...t }, c = t, s = a, b = o;
69
+ function j(t, i) {
70
+ if (!i) return t;
71
+ const o = { ...t }, a = t, s = i, b = o;
72
72
  for (const l in s)
73
73
  if (Object.prototype.hasOwnProperty.call(s, l)) {
74
- const n = s[l], e = c[l];
75
- n && typeof n == "object" && !Array.isArray(n) && e && typeof e == "object" && !Array.isArray(e) ? b[l] = A(
74
+ const n = s[l], e = a[l];
75
+ n && typeof n == "object" && !Array.isArray(n) && e && typeof e == "object" && !Array.isArray(e) ? b[l] = j(
76
76
  e,
77
77
  n
78
78
  ) : n !== void 0 && (b[l] = n);
79
79
  }
80
80
  return o;
81
81
  }
82
- const ot = (t, a, o, c) => {
82
+ const nt = (t, i, o, a) => {
83
83
  const s = [], b = (n, e) => {
84
- Object.entries(e).forEach(([I, L]) => {
85
- s.push(`--bear-${n}-${I}:${L}`);
84
+ Object.entries(e).forEach(([L, _]) => {
85
+ s.push(`--bear-${n}-${L}:${_}`);
86
86
  });
87
87
  };
88
- b("primary", t.colors.primary), b("secondary", t.colors.secondary), b("success", t.colors.success), b("warning", t.colors.warning), b("danger", t.colors.danger), b("info", t.colors.info), b("neutral", t.colors.neutral), s.push(`--bear-bg-primary:${t.colors.background.primary}`), s.push(`--bear-bg-secondary:${t.colors.background.secondary}`), s.push(`--bear-bg-tertiary:${t.colors.background.tertiary}`), s.push(`--bear-text-primary:${t.colors.text.primary}`), s.push(`--bear-text-secondary:${t.colors.text.secondary}`), s.push(`--bear-text-muted:${t.colors.text.muted}`), s.push(`--bear-text-inverted:${t.colors.text.inverted}`), s.push(`--bear-border-default:${t.colors.border.default}`), s.push(`--bear-border-subtle:${t.colors.border.subtle}`), s.push(`--bear-border-strong:${t.colors.border.strong}`), a != null && a.Button && Object.entries(a.Button).forEach(([n, e]) => {
88
+ b("primary", t.colors.primary), b("secondary", t.colors.secondary), b("success", t.colors.success), b("warning", t.colors.warning), b("danger", t.colors.danger), b("info", t.colors.info), b("neutral", t.colors.neutral), s.push(`--bear-bg-primary:${t.colors.background.primary}`), s.push(`--bear-bg-secondary:${t.colors.background.secondary}`), s.push(`--bear-bg-tertiary:${t.colors.background.tertiary}`), s.push(`--bear-text-primary:${t.colors.text.primary}`), s.push(`--bear-text-secondary:${t.colors.text.secondary}`), s.push(`--bear-text-muted:${t.colors.text.muted}`), s.push(`--bear-text-inverted:${t.colors.text.inverted}`), s.push(`--bear-border-default:${t.colors.border.default}`), s.push(`--bear-border-subtle:${t.colors.border.subtle}`), s.push(`--bear-border-strong:${t.colors.border.strong}`), i != null && i.Button && Object.entries(i.Button).forEach(([n, e]) => {
89
89
  e && (e.bg && s.push(`--bear-btn-${n}-bg:${e.bg}`), e.bgHover && s.push(`--bear-btn-${n}-bg-hover:${e.bgHover}`), e.bgActive && s.push(`--bear-btn-${n}-bg-active:${e.bgActive}`), e.bgDisabled && s.push(`--bear-btn-${n}-bg-disabled:${e.bgDisabled}`), e.text && s.push(`--bear-btn-${n}-text:${e.text}`), e.textDisabled && s.push(`--bear-btn-${n}-text-disabled:${e.textDisabled}`), e.border && s.push(`--bear-btn-${n}-border:${e.border}`), e.borderHover && s.push(`--bear-btn-${n}-border-hover:${e.borderHover}`), e.ring && s.push(`--bear-btn-${n}-ring:${e.ring}`));
90
90
  }), Object.entries(o).forEach(([n, e]) => {
91
91
  s.push(`--bear-${n}-bg:${e.bg}`), e.bgHover && s.push(`--bear-${n}-bg-hover:${e.bgHover}`), e.bgActive && s.push(`--bear-${n}-bg-active:${e.bgActive}`), e.text && s.push(`--bear-${n}-text:${e.text}`), e.border && s.push(`--bear-${n}-border:${e.border}`), e.ring && s.push(`--bear-${n}-ring:${e.ring}`);
@@ -96,167 +96,177 @@ const ot = (t, a, o, c) => {
96
96
  }), Object.entries(t.spacing).forEach(([n, e]) => {
97
97
  s.push(`--bear-spacing-${n}:${e}`);
98
98
  });
99
- const l = c === "compact" ? Ot : wt;
100
- return s.push(`${Dt}:${l}`), s.join(";");
99
+ const l = a === "compact" ? St : wt;
100
+ return s.push(`${Ot}:${l}`), s.join(";");
101
101
  }, Nt = ({
102
102
  children: t,
103
- defaultMode: a = "light",
103
+ defaultMode: i = "light",
104
104
  mode: o,
105
- onModeChange: c,
105
+ onModeChange: a,
106
106
  direction: s = Et,
107
- density: b = St,
107
+ density: b = it,
108
108
  theme: l,
109
109
  components: n = {},
110
110
  defaultProps: e = {},
111
- variants: I = {},
112
- customVariants: L = {},
111
+ variants: L = {},
112
+ customVariants: _ = {},
113
113
  customTypography: ut = {},
114
- persistPreference: x = !0,
115
- storageKey: E = At
114
+ persistPreference: k = !0,
115
+ storageKey: D = At
116
116
  }) => {
117
- const [it, B] = f(() => {
117
+ const [bt, T] = f(() => {
118
118
  if (o !== void 0)
119
119
  return o;
120
- if (typeof window < "u" && x) {
121
- const r = localStorage.getItem(E);
120
+ if (typeof window < "u" && k) {
121
+ const r = localStorage.getItem(D);
122
122
  if (r === "light" || r === "dark")
123
123
  return r;
124
124
  if (window.matchMedia("(prefers-color-scheme: dark)").matches)
125
125
  return "dark";
126
126
  }
127
- return a;
128
- }), y = o ?? it, [S, bt] = f(s), [h, dt] = f(b), [w, pt] = f(l || {}), [R, lt] = f(n), [F] = f(e), [g, ft] = f(I), [p, ht] = f(L), [$, yt] = f(ut), m = k(() => {
129
- if (!w || Object.keys(w).length === 0)
127
+ return i;
128
+ }), h = o ?? bt, [E, dt] = f(s), [y, pt] = f(b), [A, lt] = f(l || {}), [F, ft] = f(n), [Y] = f(e), [g, yt] = f(L), [p, ht] = f(_), [$, gt] = f(ut), m = x(() => {
129
+ if (!A || Object.keys(A).length === 0)
130
130
  return {};
131
- const r = { ...w };
131
+ const r = { ...A };
132
132
  if (r.colors) {
133
- const u = ["primary", "secondary", "success", "warning", "danger", "info", "neutral"];
134
- for (const d of u) {
135
- const rt = r.colors[d];
136
- if (Lt(rt)) {
137
- const $t = Bt(rt);
138
- r.colors[d] = It($t);
133
+ const c = ["primary", "secondary", "success", "warning", "danger", "info", "neutral"];
134
+ for (const d of c) {
135
+ const et = r.colors[d];
136
+ if (Bt(et)) {
137
+ const mt = Lt(et);
138
+ r.colors[d] = It(mt);
139
139
  }
140
140
  }
141
141
  }
142
142
  return r;
143
- }, [w]), _ = k(() => Object.keys(m).length === 0 ? et : A(et, m), [m]), T = k(() => Object.keys(m).length === 0 ? H : A(H, m), [m]), Y = y === "dark" ? T : _, z = k(
144
- () => ot(_, g, p, h),
145
- [_, g, p, h]
146
- ), U = k(
147
- () => ot(T, g, p, h),
148
- [T, g, p, h]
149
- ), v = i((r) => {
150
- o === void 0 && B(r), c == null || c(r), typeof window < "u" && x && localStorage.setItem(E, r);
151
- }, [o, c, x, E]), P = i((r) => {
152
- bt(r);
153
- }, []), W = i((r) => {
143
+ }, [A]), V = x(() => Object.keys(m).length === 0 ? st : j(st, m), [m]), H = x(() => Object.keys(m).length === 0 ? R : j(R, m), [m]), v = h === "dark" ? H : V, z = x(
144
+ () => nt(V, g, p, y),
145
+ [V, g, p, y]
146
+ ), U = x(
147
+ () => nt(H, g, p, y),
148
+ [H, g, p, y]
149
+ ), P = u((r) => {
150
+ o === void 0 && T(r), a == null || a(r), typeof window < "u" && k && localStorage.setItem(D, r);
151
+ }, [o, a, k, D]), W = u((r) => {
154
152
  dt(r);
155
- }, []), C = i(() => {
153
+ }, []), C = u((r) => {
154
+ pt(r);
155
+ }, []), G = u(() => {
156
156
  if (o !== void 0) {
157
157
  const r = o === "light" ? "dark" : "light";
158
- c == null || c(r);
158
+ a == null || a(r);
159
159
  return;
160
160
  }
161
- xt(() => {
162
- B((r) => {
163
- const u = r === "light" ? "dark" : "light";
164
- return c == null || c(u), typeof window < "u" && x && localStorage.setItem(E, u), u;
161
+ Dt(() => {
162
+ T((r) => {
163
+ const c = r === "light" ? "dark" : "light";
164
+ return a == null || a(c), typeof window < "u" && k && localStorage.setItem(D, c), c;
165
165
  });
166
166
  });
167
- }, [o, c, x, E]), G = i((r) => {
168
- pt((u) => A(u, r));
169
- }, []), q = i((r, u) => {
170
- lt((d) => ({
167
+ }, [o, a, k, D]), q = u((r) => {
168
+ lt((c) => j(c, r));
169
+ }, []), J = u((r, c) => {
170
+ ft((d) => ({
171
171
  ...d,
172
172
  [r]: {
173
173
  ...d[r] || {},
174
- ...u
174
+ ...c
175
175
  }
176
176
  }));
177
- }, []), J = i((r, u) => {
178
- ft((d) => ({
177
+ }, []), Q = u((r, c) => {
178
+ yt((d) => ({
179
179
  ...d,
180
180
  [r]: {
181
181
  ...d[r] || {},
182
- ...u
182
+ ...c
183
183
  }
184
184
  }));
185
- }, []), Q = i((r) => jt.includes(r) || r in p, [p]), X = i((r) => p[r], [p]), Z = i((r, u) => {
185
+ }, []), X = u((r) => jt.includes(r) || r in p, [p]), Z = u((r) => p[r], [p]), K = u((r, c) => {
186
186
  ht((d) => ({
187
187
  ...d,
188
- [r]: u
188
+ [r]: c
189
189
  }));
190
- }, []), K = i((r) => r in $, [$]), M = i((r) => $[r], [$]), tt = i((r, u) => {
191
- yt((d) => ({
190
+ }, []), M = u((r) => r in $, [$]), tt = u((r) => $[r], [$]), rt = u((r, c) => {
191
+ gt((d) => ({
192
192
  ...d,
193
- [r]: u
193
+ [r]: c
194
194
  }));
195
195
  }, []);
196
- V(() => {
197
- o !== void 0 && B(o);
198
- }, [o]), V(() => {
196
+ N(() => {
197
+ o !== void 0 && T(o);
198
+ }, [o]), N(() => {
199
199
  if (typeof document > "u") return;
200
200
  const r = "bear-theme-vars";
201
- let u = document.getElementById(r);
202
- u || (u = document.createElement("style"), u.id = r, document.head.appendChild(u)), u.textContent = `:root.bear-light,:root:not(.dark){${z}}:root.bear-dark,:root.dark,.dark{${U}}`;
203
- }, [z, U]), V(() => {
201
+ let c = document.getElementById(r);
202
+ c || (c = document.createElement("style"), c.id = r, document.head.appendChild(c)), c.textContent = `:root.bear-light,:root:not(.dark){${z}}:root.bear-dark,:root.dark,.dark{${U}}`;
203
+ }, [z, U]), N(() => {
204
204
  if (typeof document > "u") return;
205
205
  const r = document.documentElement;
206
- r.classList.toggle("dark", y === "dark"), r.classList.remove("bear-light", "bear-dark"), r.classList.add(y === "dark" ? "bear-dark" : "bear-light"), r.setAttribute("dir", S), r.classList.toggle("bear-rtl", S === "rtl"), r.classList.toggle("bear-density-compact", h === "compact");
207
- }, [y, S, h]);
208
- const gt = k(() => ({
209
- theme: Y,
210
- mode: y,
211
- setMode: v,
212
- toggleMode: C,
213
- updateTheme: G,
214
- direction: S,
215
- setDirection: P,
216
- density: h,
217
- setDensity: W,
218
- defaultProps: F,
219
- components: R,
206
+ r.classList.toggle("dark", h === "dark"), r.classList.remove("bear-light", "bear-dark"), r.classList.add(h === "dark" ? "bear-dark" : "bear-light"), r.setAttribute("dir", E), r.classList.toggle("bear-rtl", E === "rtl"), r.classList.toggle("bear-density-compact", y === "compact");
207
+ }, [h, E, y]);
208
+ const $t = x(() => ({
209
+ theme: v,
210
+ mode: h,
211
+ setMode: P,
212
+ toggleMode: G,
213
+ updateTheme: q,
214
+ direction: E,
215
+ setDirection: W,
216
+ density: y,
217
+ setDensity: C,
218
+ defaultProps: Y,
219
+ components: F,
220
220
  variants: g,
221
221
  customVariants: p,
222
- hasVariant: Q,
223
- getVariant: X,
224
- addVariant: Z,
222
+ hasVariant: X,
223
+ getVariant: Z,
224
+ addVariant: K,
225
225
  customTypography: $,
226
- hasTypography: K,
227
- getTypography: M,
228
- addTypography: tt,
229
- registerComponent: q,
230
- registerVariant: J
231
- }), [Y, y, v, C, G, S, P, h, W, F, R, g, p, Q, X, Z, $, K, M, tt, q, J]);
232
- return /* @__PURE__ */ mt(N.Provider, { value: gt, children: t });
233
- }, j = () => {
234
- const t = nt(N);
226
+ hasTypography: M,
227
+ getTypography: tt,
228
+ addTypography: rt,
229
+ registerComponent: J,
230
+ registerVariant: Q
231
+ }), [v, h, P, G, q, E, W, y, C, Y, F, g, p, X, Z, K, $, M, tt, rt, J, Q]);
232
+ return /* @__PURE__ */ xt(w.Provider, { value: $t, children: t });
233
+ }, B = () => {
234
+ const t = I(w);
235
235
  if (!t)
236
236
  throw new Error("useBear must be used within a BearProvider");
237
237
  return t;
238
238
  }, Rt = () => {
239
- const { theme: t } = j();
239
+ const { theme: t } = B();
240
240
  return t;
241
241
  }, Ft = () => {
242
- const t = nt(N);
243
- return t ? t.theme : H;
242
+ const t = I(w);
243
+ return t ? t.theme : R;
244
244
  }, Yt = () => {
245
- const { mode: t, setMode: a, toggleMode: o } = j();
246
- return { mode: t, setMode: a, toggleMode: o };
245
+ const { mode: t, setMode: i, toggleMode: o } = B();
246
+ return { mode: t, setMode: i, toggleMode: o };
247
+ }, vt = () => {
248
+ const { direction: t, setDirection: i } = B();
249
+ return { direction: t, setDirection: i };
247
250
  }, zt = () => {
248
- const { direction: t, setDirection: a } = j();
249
- return { direction: t, setDirection: a };
251
+ const t = I(w);
252
+ return t ? { direction: t.direction, setDirection: t.setDirection } : { direction: "ltr", setDirection: (i) => {
253
+ } };
250
254
  }, Ut = () => {
251
- const { density: t, setDensity: a } = j();
252
- return { density: t, setDensity: a };
255
+ const { density: t, setDensity: i } = B();
256
+ return { density: t, setDensity: i };
257
+ }, Pt = () => {
258
+ const t = I(w);
259
+ return t ? { density: t.density, setDensity: t.setDensity } : { density: it, setDensity: (i) => {
260
+ } };
253
261
  };
254
262
  export {
255
- N as BearContext,
263
+ w as BearContext,
256
264
  Nt as BearProvider,
257
- j as useBear,
265
+ B as useBear,
258
266
  Ut as useBearDensity,
259
- zt as useBearDirection,
267
+ Pt as useBearDensityOptional,
268
+ vt as useBearDirection,
269
+ zt as useBearDirectionOptional,
260
270
  Yt as useBearMode,
261
271
  Rt as useBearTheme,
262
272
  Ft as useBearThemeOptional
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./BearProvider.cjs"),r=require("./defaultTheme.cjs");exports.BearProvider=e.BearProvider;exports.useBear=e.useBear;exports.useBearDensity=e.useBearDensity;exports.useBearDirection=e.useBearDirection;exports.useBearMode=e.useBearMode;exports.useBearTheme=e.useBearTheme;exports.useBearThemeOptional=e.useBearThemeOptional;exports.defaultDarkTheme=r.defaultDarkTheme;exports.defaultLightTheme=r.defaultLightTheme;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./BearProvider.cjs"),r=require("./defaultTheme.cjs");exports.BearProvider=e.BearProvider;exports.useBear=e.useBear;exports.useBearDensity=e.useBearDensity;exports.useBearDensityOptional=e.useBearDensityOptional;exports.useBearDirection=e.useBearDirection;exports.useBearDirectionOptional=e.useBearDirectionOptional;exports.useBearMode=e.useBearMode;exports.useBearTheme=e.useBearTheme;exports.useBearThemeOptional=e.useBearThemeOptional;exports.defaultDarkTheme=r.defaultDarkTheme;exports.defaultLightTheme=r.defaultLightTheme;
@@ -1,3 +1,3 @@
1
- export { BearProvider, useBear, useBearTheme, useBearThemeOptional, useBearMode, useBearDirection, useBearDensity } from './BearProvider';
1
+ export { BearProvider, useBear, useBearTheme, useBearThemeOptional, useBearMode, useBearDirection, useBearDirectionOptional, useBearDensity, useBearDensityOptional } from './BearProvider';
2
2
  export { defaultLightTheme, defaultDarkTheme } from './defaultTheme';
3
3
  export type { BearDirection, BearDensity } from './bearProvider.types';
@@ -1,13 +1,15 @@
1
- import { BearProvider as a, useBear as o, useBearDensity as t, useBearDirection as u, useBearMode as s, useBearTheme as B, useBearThemeOptional as i } from "./BearProvider.js";
2
- import { defaultDarkTheme as h, defaultLightTheme as d } from "./defaultTheme.js";
1
+ import { BearProvider as a, useBear as t, useBearDensity as i, useBearDensityOptional as o, useBearDirection as s, useBearDirectionOptional as u, useBearMode as B, useBearTheme as n, useBearThemeOptional as m } from "./BearProvider.js";
2
+ import { defaultDarkTheme as l, defaultLightTheme as p } from "./defaultTheme.js";
3
3
  export {
4
4
  a as BearProvider,
5
- h as defaultDarkTheme,
6
- d as defaultLightTheme,
7
- o as useBear,
8
- t as useBearDensity,
9
- u as useBearDirection,
10
- s as useBearMode,
11
- B as useBearTheme,
12
- i as useBearThemeOptional
5
+ l as defaultDarkTheme,
6
+ p as defaultLightTheme,
7
+ t as useBear,
8
+ i as useBearDensity,
9
+ o as useBearDensityOptional,
10
+ s as useBearDirection,
11
+ u as useBearDirectionOptional,
12
+ B as useBearMode,
13
+ n as useBearTheme,
14
+ m as useBearThemeOptional
13
15
  };
@@ -1 +1 @@
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"),p=require("./useParallax/useParallax.cjs"),q=require("./useBounce/useBounce.cjs"),P=require("./useFloat/useFloat.cjs"),C=require("./usePulse/usePulse.cjs"),S=require("./useShake/useShake.cjs"),y=require("./useClipboard/useClipboard.cjs"),r=require("./useDebounce/useDebounce.cjs"),o=require("./useThrottle/useThrottle.cjs"),D=require("./useLocalStorage/useLocalStorage.cjs"),t=require("./useKeyPress/useKeyPress.cjs"),i=require("./useIntersectionObserver/useIntersectionObserver.cjs"),k=require("./useDragDrop/useDragDrop.cjs"),B=require("./useLazyLoad/useLazyLoad.cjs"),s=require("./useBearComponent/useBearComponent.cjs"),g=require("./useBearDefaultProps.cjs"),O=require("./useSpotlight/useSpotlight.cjs"),m=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"),R=require("./useFormControl/useFormControl.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=p.useParallax;exports.useBounce=q.useBounce;exports.useFloat=P.useFloat;exports.usePulse=C.usePulse;exports.useShake=S.useShake;exports.useClipboard=y.useClipboard;exports.useDebounce=r.useDebounce;exports.useDebouncedCallback=r.useDebouncedCallback;exports.useThrottle=o.useThrottle;exports.useThrottledCallback=o.useThrottledCallback;exports.useLocalStorage=D.useLocalStorage;exports.useKeyPress=t.useKeyPress;exports.useKeyPressState=t.useKeyPressState;exports.useInView=i.useInView;exports.useIntersectionObserver=i.useIntersectionObserver;exports.useDragDrop=k.useDragDrop;exports.useLazyLoad=B.useLazyLoad;exports.BearComponentProvider=s.BearComponentProvider;exports.useBC=s.useBC;exports.useBearComponent=s.useBearComponent;exports.useBearComponentContext=s.useBearComponentContext;exports.useBearDefaultProps=g.useBearDefaultProps;exports.useSpotlight=O.useSpotlight;exports.useOnline=m.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;exports.useFormControl=R.useFormControl;
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"),p=require("./useSlide/useSlide.cjs"),b=require("./useParallax/useParallax.cjs"),q=require("./useBounce/useBounce.cjs"),P=require("./useFloat/useFloat.cjs"),S=require("./usePulse/usePulse.cjs"),C=require("./useShake/useShake.cjs"),B=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"),y=require("./useLazyLoad/useLazyLoad.cjs"),s=require("./useBearComponent/useBearComponent.cjs"),g=require("./useBearDefaultProps.cjs"),O=require("./useSpotlight/useSpotlight.cjs"),I=require("./useOnline/useOnline.cjs"),m=require("./useWebSocket/useWebSocket.cjs"),v=require("./useIdle/useIdle.cjs"),L=require("./usePageVisibility/usePageVisibility.cjs"),R=require("./useLongPress/useLongPress.cjs"),T=require("./useAnimate.cjs"),n=require("./useResponsive.cjs"),h=require("./useBreakpoint/useBreakpoint.cjs"),M=require("./useBreakpoint/useBreakpoint.const.cjs"),f=require("./useFormControl/useFormControl.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=p.useSlide;exports.useParallax=b.useParallax;exports.useBounce=q.useBounce;exports.useFloat=P.useFloat;exports.usePulse=S.usePulse;exports.useShake=C.useShake;exports.useClipboard=B.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=y.useLazyLoad;exports.BearComponentProvider=s.BearComponentProvider;exports.useBC=s.useBC;exports.useBearComponent=s.useBearComponent;exports.useBearComponentContext=s.useBearComponentContext;exports.useBearDefaultProps=g.useBearDefaultProps;exports.useSpotlight=O.useSpotlight;exports.useOnline=I.useOnline;exports.useWebSocket=m.useWebSocket;exports.useIdle=v.useIdle;exports.usePageVisibility=L.usePageVisibility;exports.useLongPress=R.useLongPress;exports.useAnimate=T.useAnimate;exports.useResponsive=n.useResponsive;exports.useResponsiveProps=n.useResponsiveProps;exports.useBreakpoint=h.useBreakpoint;exports.DEFAULT_BREAKPOINTS_PX=M.DEFAULT_BREAKPOINTS_PX;exports.useFormControl=f.useFormControl;
@@ -52,4 +52,7 @@ export { useAnimate } from './useAnimate';
52
52
  export type { UseAnimateOptions, UseAnimateReturn, AnimationPreset, AnimationKeyframe } from './useAnimate';
53
53
  export { useResponsive, useResponsiveProps } from './useResponsive';
54
54
  export type { ResponsiveProp } from './useResponsive';
55
+ export { useBreakpoint } from './useBreakpoint';
56
+ export type { UseBreakpointResult, BearBreakpointKey } from './useBreakpoint';
57
+ export { DEFAULT_BREAKPOINTS_PX } from './useBreakpoint';
55
58
  export { useFormControl } from './useFormControl';