@forgedevstack/bear 1.1.1 → 1.1.4

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 (276) hide show
  1. package/dist/components/ActionIcon/ActionIcon.cjs +1 -0
  2. package/dist/components/ActionIcon/ActionIcon.const.cjs +1 -0
  3. package/dist/components/ActionIcon/ActionIcon.const.d.ts +7 -0
  4. package/dist/components/ActionIcon/ActionIcon.const.js +68 -0
  5. package/dist/components/ActionIcon/ActionIcon.d.ts +4 -0
  6. package/dist/components/ActionIcon/ActionIcon.js +42 -0
  7. package/dist/components/ActionIcon/ActionIcon.types.d.ts +11 -0
  8. package/dist/components/ActionIcon/index.d.ts +2 -0
  9. package/dist/components/Affix/Affix.cjs +1 -0
  10. package/dist/components/Affix/Affix.const.cjs +1 -0
  11. package/dist/components/Affix/Affix.const.d.ts +6 -0
  12. package/dist/components/Affix/Affix.const.js +9 -0
  13. package/dist/components/Affix/Affix.d.ts +4 -0
  14. package/dist/components/Affix/Affix.js +69 -0
  15. package/dist/components/Affix/Affix.types.d.ts +10 -0
  16. package/dist/components/Affix/index.d.ts +2 -0
  17. package/dist/components/AlertDialog/AlertDialog.cjs +1 -0
  18. package/dist/components/AlertDialog/AlertDialog.const.cjs +1 -0
  19. package/dist/components/AlertDialog/AlertDialog.const.d.ts +5 -0
  20. package/dist/components/AlertDialog/AlertDialog.const.js +8 -0
  21. package/dist/components/AlertDialog/AlertDialog.d.ts +4 -0
  22. package/dist/components/AlertDialog/AlertDialog.js +107 -0
  23. package/dist/components/AlertDialog/AlertDialog.types.d.ts +34 -0
  24. package/dist/components/AlertDialog/index.d.ts +3 -0
  25. package/dist/components/Anchor/Anchor.cjs +1 -0
  26. package/dist/components/Anchor/Anchor.const.cjs +1 -0
  27. package/dist/components/Anchor/Anchor.const.d.ts +9 -0
  28. package/dist/components/Anchor/Anchor.const.js +11 -0
  29. package/dist/components/Anchor/Anchor.d.ts +4 -0
  30. package/dist/components/Anchor/Anchor.js +91 -0
  31. package/dist/components/Anchor/Anchor.types.d.ts +16 -0
  32. package/dist/components/Anchor/index.d.ts +2 -0
  33. package/dist/components/AspectRatio/AspectRatio.cjs +1 -0
  34. package/dist/components/AspectRatio/AspectRatio.d.ts +3 -0
  35. package/dist/components/AspectRatio/AspectRatio.js +29 -0
  36. package/dist/components/AspectRatio/AspectRatio.types.d.ts +9 -0
  37. package/dist/components/AspectRatio/index.d.ts +2 -0
  38. package/dist/components/Blockquote/Blockquote.cjs +1 -0
  39. package/dist/components/Blockquote/Blockquote.const.cjs +1 -0
  40. package/dist/components/Blockquote/Blockquote.const.d.ts +5 -0
  41. package/dist/components/Blockquote/Blockquote.const.js +19 -0
  42. package/dist/components/Blockquote/Blockquote.d.ts +4 -0
  43. package/dist/components/Blockquote/Blockquote.js +56 -0
  44. package/dist/components/Blockquote/Blockquote.types.d.ts +9 -0
  45. package/dist/components/Blockquote/index.d.ts +2 -0
  46. package/dist/components/Button/Button.cjs +1 -1
  47. package/dist/components/Button/Button.constants.cjs +2 -2
  48. package/dist/components/Button/Button.constants.d.ts +1 -0
  49. package/dist/components/Button/Button.constants.js +10 -3
  50. package/dist/components/Button/Button.js +92 -84
  51. package/dist/components/Button/Button.types.d.ts +2 -0
  52. package/dist/components/CheckboxCard/CheckboxCard.cjs +1 -0
  53. package/dist/components/CheckboxCard/CheckboxCard.const.cjs +1 -0
  54. package/dist/components/CheckboxCard/CheckboxCard.const.d.ts +7 -0
  55. package/dist/components/CheckboxCard/CheckboxCard.const.js +22 -0
  56. package/dist/components/CheckboxCard/CheckboxCard.d.ts +5 -0
  57. package/dist/components/CheckboxCard/CheckboxCard.js +132 -0
  58. package/dist/components/CheckboxCard/CheckboxCard.types.d.ts +21 -0
  59. package/dist/components/CheckboxCard/index.d.ts +2 -0
  60. package/dist/components/ColorPicker/ColorPicker.cjs +1 -1
  61. package/dist/components/ColorPicker/ColorPicker.const.cjs +1 -0
  62. package/dist/components/ColorPicker/ColorPicker.const.d.ts +26 -0
  63. package/dist/components/ColorPicker/ColorPicker.const.js +38 -0
  64. package/dist/components/ColorPicker/ColorPicker.js +61 -78
  65. package/dist/components/ColorSwatch/ColorSwatch.cjs +1 -0
  66. package/dist/components/ColorSwatch/ColorSwatch.const.cjs +1 -0
  67. package/dist/components/ColorSwatch/ColorSwatch.const.d.ts +16 -0
  68. package/dist/components/ColorSwatch/ColorSwatch.const.js +19 -0
  69. package/dist/components/ColorSwatch/ColorSwatch.d.ts +5 -0
  70. package/dist/components/ColorSwatch/ColorSwatch.js +92 -0
  71. package/dist/components/ColorSwatch/ColorSwatch.types.d.ts +23 -0
  72. package/dist/components/ColorSwatch/ColorSwatch.utils.cjs +1 -0
  73. package/dist/components/ColorSwatch/ColorSwatch.utils.d.ts +6 -0
  74. package/dist/components/ColorSwatch/ColorSwatch.utils.js +14 -0
  75. package/dist/components/ColorSwatch/index.d.ts +2 -0
  76. package/dist/components/ContextMenu/ContextMenu.cjs +1 -0
  77. package/dist/components/ContextMenu/ContextMenu.const.cjs +1 -0
  78. package/dist/components/ContextMenu/ContextMenu.const.d.ts +9 -0
  79. package/dist/components/ContextMenu/ContextMenu.const.js +12 -0
  80. package/dist/components/ContextMenu/ContextMenu.d.ts +4 -0
  81. package/dist/components/ContextMenu/ContextMenu.js +64 -0
  82. package/dist/components/ContextMenu/ContextMenu.types.d.ts +23 -0
  83. package/dist/components/ContextMenu/index.d.ts +2 -0
  84. package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -0
  85. package/dist/components/DateRangePicker/DateRangePicker.const.cjs +1 -0
  86. package/dist/components/DateRangePicker/DateRangePicker.const.d.ts +27 -0
  87. package/dist/components/DateRangePicker/DateRangePicker.const.js +74 -0
  88. package/dist/components/DateRangePicker/DateRangePicker.d.ts +4 -0
  89. package/dist/components/DateRangePicker/DateRangePicker.js +115 -0
  90. package/dist/components/DateRangePicker/DateRangePicker.types.d.ts +26 -0
  91. package/dist/components/DateRangePicker/DateRangePicker.utils.cjs +1 -0
  92. package/dist/components/DateRangePicker/DateRangePicker.utils.d.ts +4 -0
  93. package/dist/components/DateRangePicker/DateRangePicker.utils.js +22 -0
  94. package/dist/components/DateRangePicker/index.d.ts +2 -0
  95. package/dist/components/Descriptions/Descriptions.cjs +1 -0
  96. package/dist/components/Descriptions/Descriptions.const.cjs +1 -0
  97. package/dist/components/Descriptions/Descriptions.const.d.ts +24 -0
  98. package/dist/components/Descriptions/Descriptions.const.js +27 -0
  99. package/dist/components/Descriptions/Descriptions.d.ts +4 -0
  100. package/dist/components/Descriptions/Descriptions.js +65 -0
  101. package/dist/components/Descriptions/Descriptions.types.d.ts +16 -0
  102. package/dist/components/Descriptions/index.d.ts +2 -0
  103. package/dist/components/Fieldset/Fieldset.cjs +1 -0
  104. package/dist/components/Fieldset/Fieldset.const.cjs +1 -0
  105. package/dist/components/Fieldset/Fieldset.const.d.ts +5 -0
  106. package/dist/components/Fieldset/Fieldset.const.js +16 -0
  107. package/dist/components/Fieldset/Fieldset.d.ts +4 -0
  108. package/dist/components/Fieldset/Fieldset.js +47 -0
  109. package/dist/components/Fieldset/Fieldset.types.d.ts +10 -0
  110. package/dist/components/Fieldset/index.d.ts +2 -0
  111. package/dist/components/FormField/FormField.cjs +1 -0
  112. package/dist/components/FormField/FormField.const.cjs +1 -0
  113. package/dist/components/FormField/FormField.const.d.ts +20 -0
  114. package/dist/components/FormField/FormField.const.js +23 -0
  115. package/dist/components/FormField/FormField.d.ts +3 -0
  116. package/dist/components/FormField/FormField.js +127 -0
  117. package/dist/components/FormField/FormField.types.d.ts +23 -0
  118. package/dist/components/FormField/index.d.ts +2 -0
  119. package/dist/components/ImageGallery/ImageGallery.cjs +1 -0
  120. package/dist/components/ImageGallery/ImageGallery.const.cjs +1 -0
  121. package/dist/components/ImageGallery/ImageGallery.const.d.ts +13 -0
  122. package/dist/components/ImageGallery/ImageGallery.const.js +16 -0
  123. package/dist/components/ImageGallery/ImageGallery.d.ts +4 -0
  124. package/dist/components/ImageGallery/ImageGallery.js +61 -0
  125. package/dist/components/ImageGallery/ImageGallery.types.d.ts +22 -0
  126. package/dist/components/ImageGallery/index.d.ts +2 -0
  127. package/dist/components/Indicator/Indicator.cjs +1 -0
  128. package/dist/components/Indicator/Indicator.const.cjs +1 -0
  129. package/dist/components/Indicator/Indicator.const.d.ts +15 -0
  130. package/dist/components/Indicator/Indicator.const.js +26 -0
  131. package/dist/components/Indicator/Indicator.d.ts +4 -0
  132. package/dist/components/Indicator/Indicator.js +56 -0
  133. package/dist/components/Indicator/Indicator.types.d.ts +16 -0
  134. package/dist/components/Indicator/index.d.ts +2 -0
  135. package/dist/components/InfiniteScroll/InfiniteScroll.cjs +1 -0
  136. package/dist/components/InfiniteScroll/InfiniteScroll.const.cjs +1 -0
  137. package/dist/components/InfiniteScroll/InfiniteScroll.const.d.ts +7 -0
  138. package/dist/components/InfiniteScroll/InfiniteScroll.const.js +10 -0
  139. package/dist/components/InfiniteScroll/InfiniteScroll.d.ts +4 -0
  140. package/dist/components/InfiniteScroll/InfiniteScroll.js +51 -0
  141. package/dist/components/InfiniteScroll/InfiniteScroll.types.d.ts +13 -0
  142. package/dist/components/InfiniteScroll/index.d.ts +2 -0
  143. package/dist/components/Input/Input.cjs +1 -1
  144. package/dist/components/Input/Input.js +114 -44
  145. package/dist/components/Input/Input.types.d.ts +20 -0
  146. package/dist/components/Input/Input.utils.cjs +1 -0
  147. package/dist/components/Input/Input.utils.d.ts +2 -0
  148. package/dist/components/Input/Input.utils.js +15 -0
  149. package/dist/components/Input/components/ClearIcon/ClearIcon.cjs +1 -0
  150. package/dist/components/Input/components/ClearIcon/ClearIcon.d.ts +7 -0
  151. package/dist/components/Input/components/ClearIcon/ClearIcon.js +25 -0
  152. package/dist/components/Input/components/ClearIcon/index.d.ts +1 -0
  153. package/dist/components/Input/index.d.ts +1 -1
  154. package/dist/components/InputGroup/InputGroup.cjs +1 -0
  155. package/dist/components/InputGroup/InputGroup.d.ts +4 -0
  156. package/dist/components/InputGroup/InputGroup.js +63 -0
  157. package/dist/components/InputGroup/InputGroup.types.d.ts +23 -0
  158. package/dist/components/InputGroup/index.d.ts +2 -0
  159. package/dist/components/LoadingOverlay/LoadingOverlay.cjs +1 -0
  160. package/dist/components/LoadingOverlay/LoadingOverlay.const.cjs +1 -0
  161. package/dist/components/LoadingOverlay/LoadingOverlay.const.d.ts +6 -0
  162. package/dist/components/LoadingOverlay/LoadingOverlay.const.js +9 -0
  163. package/dist/components/LoadingOverlay/LoadingOverlay.d.ts +4 -0
  164. package/dist/components/LoadingOverlay/LoadingOverlay.js +42 -0
  165. package/dist/components/LoadingOverlay/LoadingOverlay.types.d.ts +11 -0
  166. package/dist/components/LoadingOverlay/index.d.ts +2 -0
  167. package/dist/components/NumberFormatter/NumberFormatter.cjs +1 -0
  168. package/dist/components/NumberFormatter/NumberFormatter.const.cjs +1 -0
  169. package/dist/components/NumberFormatter/NumberFormatter.const.d.ts +5 -0
  170. package/dist/components/NumberFormatter/NumberFormatter.const.js +8 -0
  171. package/dist/components/NumberFormatter/NumberFormatter.d.ts +4 -0
  172. package/dist/components/NumberFormatter/NumberFormatter.js +53 -0
  173. package/dist/components/NumberFormatter/NumberFormatter.types.d.ts +20 -0
  174. package/dist/components/NumberFormatter/NumberFormatter.utils.cjs +1 -0
  175. package/dist/components/NumberFormatter/NumberFormatter.utils.d.ts +2 -0
  176. package/dist/components/NumberFormatter/NumberFormatter.utils.js +19 -0
  177. package/dist/components/NumberFormatter/index.d.ts +2 -0
  178. package/dist/components/PasswordInput/PasswordInput.cjs +1 -0
  179. package/dist/components/PasswordInput/PasswordInput.d.ts +3 -0
  180. package/dist/components/PasswordInput/PasswordInput.js +61 -0
  181. package/dist/components/PasswordInput/PasswordInput.types.d.ts +18 -0
  182. package/dist/components/PasswordInput/index.d.ts +2 -0
  183. package/dist/components/Popconfirm/Popconfirm.cjs +1 -0
  184. package/dist/components/Popconfirm/Popconfirm.const.cjs +1 -0
  185. package/dist/components/Popconfirm/Popconfirm.const.d.ts +13 -0
  186. package/dist/components/Popconfirm/Popconfirm.const.js +20 -0
  187. package/dist/components/Popconfirm/Popconfirm.d.ts +4 -0
  188. package/dist/components/Popconfirm/Popconfirm.js +65 -0
  189. package/dist/components/Popconfirm/Popconfirm.types.d.ts +16 -0
  190. package/dist/components/Popconfirm/index.d.ts +2 -0
  191. package/dist/components/RadioCard/RadioCard.cjs +1 -0
  192. package/dist/components/RadioCard/RadioCard.const.cjs +1 -0
  193. package/dist/components/RadioCard/RadioCard.const.d.ts +7 -0
  194. package/dist/components/RadioCard/RadioCard.const.js +22 -0
  195. package/dist/components/RadioCard/RadioCard.d.ts +5 -0
  196. package/dist/components/RadioCard/RadioCard.js +111 -0
  197. package/dist/components/RadioCard/RadioCard.types.d.ts +22 -0
  198. package/dist/components/RadioCard/index.d.ts +2 -0
  199. package/dist/components/ResizableTextarea/ResizableTextarea.cjs +1 -1
  200. package/dist/components/ResizableTextarea/ResizableTextarea.js +90 -54
  201. package/dist/components/ResizableTextarea/ResizableTextarea.types.d.ts +10 -0
  202. package/dist/components/Result/Result.cjs +1 -0
  203. package/dist/components/Result/Result.const.cjs +1 -0
  204. package/dist/components/Result/Result.const.d.ts +10 -0
  205. package/dist/components/Result/Result.const.js +20 -0
  206. package/dist/components/Result/Result.d.ts +4 -0
  207. package/dist/components/Result/Result.icons.cjs +1 -0
  208. package/dist/components/Result/Result.icons.d.ts +3 -0
  209. package/dist/components/Result/Result.icons.js +31 -0
  210. package/dist/components/Result/Result.js +35 -0
  211. package/dist/components/Result/Result.types.d.ts +10 -0
  212. package/dist/components/Result/index.d.ts +2 -0
  213. package/dist/components/RichEditor/RichEditor.cjs +1 -1
  214. package/dist/components/RichEditor/RichEditor.js +186 -169
  215. package/dist/components/RichEditor/RichEditor.types.d.ts +4 -0
  216. package/dist/components/RingProgress/RingProgress.cjs +1 -0
  217. package/dist/components/RingProgress/RingProgress.const.cjs +1 -0
  218. package/dist/components/RingProgress/RingProgress.const.d.ts +4 -0
  219. package/dist/components/RingProgress/RingProgress.const.js +7 -0
  220. package/dist/components/RingProgress/RingProgress.d.ts +4 -0
  221. package/dist/components/RingProgress/RingProgress.js +67 -0
  222. package/dist/components/RingProgress/RingProgress.types.d.ts +15 -0
  223. package/dist/components/RingProgress/index.d.ts +2 -0
  224. package/dist/components/SignPad/SignPad.cjs +1 -1
  225. package/dist/components/SignPad/SignPad.const.cjs +1 -1
  226. package/dist/components/SignPad/SignPad.const.js +10 -11
  227. package/dist/components/SignPad/SignPad.d.ts +4 -6
  228. package/dist/components/SignPad/SignPad.js +108 -116
  229. package/dist/components/SignPad/SignPad.types.d.ts +2 -2
  230. package/dist/components/SplitButton/SplitButton.cjs +1 -0
  231. package/dist/components/SplitButton/SplitButton.const.cjs +1 -0
  232. package/dist/components/SplitButton/SplitButton.const.d.ts +25 -0
  233. package/dist/components/SplitButton/SplitButton.const.js +27 -0
  234. package/dist/components/SplitButton/SplitButton.d.ts +4 -0
  235. package/dist/components/SplitButton/SplitButton.js +73 -0
  236. package/dist/components/SplitButton/SplitButton.types.d.ts +21 -0
  237. package/dist/components/SplitButton/index.d.ts +2 -0
  238. package/dist/components/Spoiler/Spoiler.cjs +1 -0
  239. package/dist/components/Spoiler/Spoiler.const.cjs +1 -0
  240. package/dist/components/Spoiler/Spoiler.const.d.ts +6 -0
  241. package/dist/components/Spoiler/Spoiler.const.js +9 -0
  242. package/dist/components/Spoiler/Spoiler.d.ts +4 -0
  243. package/dist/components/Spoiler/Spoiler.js +59 -0
  244. package/dist/components/Spoiler/Spoiler.types.d.ts +10 -0
  245. package/dist/components/Spoiler/index.d.ts +2 -0
  246. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.cjs +1 -1
  247. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.js +63 -57
  248. package/dist/components/TimePicker/helpers/ClockFaceSvg.cjs +1 -1
  249. package/dist/components/TimePicker/helpers/ClockFaceSvg.d.ts +0 -7
  250. package/dist/components/TimePicker/helpers/ClockFaceSvg.js +32 -31
  251. package/dist/components/TreeSelect/TreeSelect.cjs +1 -0
  252. package/dist/components/TreeSelect/TreeSelect.const.cjs +1 -0
  253. package/dist/components/TreeSelect/TreeSelect.const.d.ts +19 -0
  254. package/dist/components/TreeSelect/TreeSelect.const.js +22 -0
  255. package/dist/components/TreeSelect/TreeSelect.d.ts +4 -0
  256. package/dist/components/TreeSelect/TreeSelect.js +128 -0
  257. package/dist/components/TreeSelect/TreeSelect.types.d.ts +25 -0
  258. package/dist/components/TreeSelect/TreeSelect.utils.cjs +1 -0
  259. package/dist/components/TreeSelect/TreeSelect.utils.d.ts +5 -0
  260. package/dist/components/TreeSelect/TreeSelect.utils.js +25 -0
  261. package/dist/components/TreeSelect/index.d.ts +2 -0
  262. package/dist/components/index.cjs +1 -1
  263. package/dist/components/index.d.ts +54 -0
  264. package/dist/components/index.js +349 -292
  265. package/dist/index.cjs +1 -1
  266. package/dist/index.js +439 -382
  267. package/dist/postcss/bear-plugin.cjs +86 -0
  268. package/dist/styles/_alerts.css +14 -0
  269. package/dist/styles/_base.css +56 -0
  270. package/dist/styles/_buttons.css +108 -0
  271. package/dist/styles/_effects.css +90 -0
  272. package/dist/styles/_marquee.css +25 -0
  273. package/dist/styles/main.css +5 -0
  274. package/dist/styles.css +1 -1
  275. package/dist/types/component.types.d.ts +13 -0
  276. package/package.json +10 -6
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { AspectRatioProps } from './AspectRatio.types';
3
+ export declare const AspectRatio: FC<AspectRatioProps>;
@@ -0,0 +1,29 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { forwardRef as c } from "react";
3
+ import { cn as n } from "../../utils/cn.js";
4
+ const p = c(
5
+ ({ ratio: a = 16 / 9, maxWidth: e, children: t, className: i, style: o, ...s }, l) => /* @__PURE__ */ r(
6
+ "div",
7
+ {
8
+ ref: l,
9
+ className: n("Bear-AspectRatio bear-relative bear-w-full bear-overflow-hidden", i),
10
+ style: {
11
+ maxWidth: typeof e == "number" ? `${e}px` : e,
12
+ ...o
13
+ },
14
+ ...s,
15
+ children: /* @__PURE__ */ r(
16
+ "div",
17
+ {
18
+ className: "Bear-AspectRatio__inner bear-w-full bear-relative",
19
+ style: { paddingBottom: `${1 / a * 100}%` },
20
+ children: /* @__PURE__ */ r("div", { className: "Bear-AspectRatio__content bear-absolute bear-inset-0 bear-flex bear-items-center bear-justify-center", children: t })
21
+ }
22
+ )
23
+ }
24
+ )
25
+ );
26
+ p.displayName = "AspectRatio";
27
+ export {
28
+ p as AspectRatio
29
+ };
@@ -0,0 +1,9 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export interface AspectRatioProps extends HTMLAttributes<HTMLDivElement> {
3
+ /** Aspect ratio as a number (width / height). E.g. 16/9, 4/3, 1 */
4
+ ratio?: number;
5
+ /** Maximum width constraint */
6
+ maxWidth?: string | number;
7
+ /** Content to render inside the aspect ratio container */
8
+ children?: ReactNode;
9
+ }
@@ -0,0 +1,2 @@
1
+ export { AspectRatio } from './AspectRatio';
2
+ export type { AspectRatioProps } from './AspectRatio.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("../../utils/cn.cjs");require("react");const n=require("../Typography/Typography.cjs"),s=require("./Blockquote.const.cjs"),b=e.jsx("svg",{className:"bear-w-6 bear-h-6 bear-flex-shrink-0",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":!0,children:e.jsx("path",{d:"M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z"})}),p=({cite:r,icon:o,color:a="default",children:t,className:l,testId:i,...d})=>{const h=s.BORDER_COLOR_MAP[a],u=s.ICON_COLOR_MAP[a];return e.jsx("blockquote",{className:c.cn(s.ROOT_CLASS,h,l),"data-testid":i,cite:r,...d,children:e.jsxs("div",{className:"bear-flex bear-gap-3",children:[e.jsx("span",{className:u,children:o??b}),e.jsxs("div",{className:"bear-flex-1 bear-min-w-0",children:[e.jsx(n.Typography,{variant:"body1",component:"span",children:t}),r&&e.jsxs(n.Typography,{variant:"caption",color:"secondary",component:"cite",className:c.cn(s.CITE_CLASS,"bear-block"),children:["— ",r]})]})]})})};exports.Blockquote=p;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r={default:"bear-border-l-gray-300 dark:bear-border-l-zinc-600",primary:"bear-border-l-pink-500 dark:bear-border-l-pink-400",success:"bear-border-l-green-500 dark:bear-border-l-green-400",warning:"bear-border-l-amber-500 dark:bear-border-l-amber-400",error:"bear-border-l-red-500 dark:bear-border-l-red-400"},e={default:"bear-text-gray-500 dark:bear-text-zinc-400",primary:"bear-text-pink-500 dark:bear-text-pink-400",success:"bear-text-green-500 dark:bear-text-green-400",warning:"bear-text-amber-500 dark:bear-text-amber-400",error:"bear-text-red-500 dark:bear-text-red-400"},a="Bear-Blockquote bear-pl-4 bear-py-2 bear-border-l-4 bear-bg-gray-50 dark:bear-bg-zinc-800/50 bear-rounded-r bear-not-italic",b="Bear-Blockquote__cite bear-mt-2";exports.BORDER_COLOR_MAP=r;exports.CITE_CLASS=b;exports.ICON_COLOR_MAP=e;exports.ROOT_CLASS=a;
@@ -0,0 +1,5 @@
1
+ import { BlockquoteColor } from './Blockquote.types';
2
+ export declare const BORDER_COLOR_MAP: Record<BlockquoteColor, string>;
3
+ export declare const ICON_COLOR_MAP: Record<BlockquoteColor, string>;
4
+ export declare const ROOT_CLASS = "Bear-Blockquote bear-pl-4 bear-py-2 bear-border-l-4 bear-bg-gray-50 dark:bear-bg-zinc-800/50 bear-rounded-r bear-not-italic";
5
+ export declare const CITE_CLASS = "Bear-Blockquote__cite bear-mt-2";
@@ -0,0 +1,19 @@
1
+ const r = {
2
+ default: "bear-border-l-gray-300 dark:bear-border-l-zinc-600",
3
+ primary: "bear-border-l-pink-500 dark:bear-border-l-pink-400",
4
+ success: "bear-border-l-green-500 dark:bear-border-l-green-400",
5
+ warning: "bear-border-l-amber-500 dark:bear-border-l-amber-400",
6
+ error: "bear-border-l-red-500 dark:bear-border-l-red-400"
7
+ }, e = {
8
+ default: "bear-text-gray-500 dark:bear-text-zinc-400",
9
+ primary: "bear-text-pink-500 dark:bear-text-pink-400",
10
+ success: "bear-text-green-500 dark:bear-text-green-400",
11
+ warning: "bear-text-amber-500 dark:bear-text-amber-400",
12
+ error: "bear-text-red-500 dark:bear-text-red-400"
13
+ }, a = "Bear-Blockquote bear-pl-4 bear-py-2 bear-border-l-4 bear-bg-gray-50 dark:bear-bg-zinc-800/50 bear-rounded-r bear-not-italic", b = "Bear-Blockquote__cite bear-mt-2";
14
+ export {
15
+ r as BORDER_COLOR_MAP,
16
+ b as CITE_CLASS,
17
+ e as ICON_COLOR_MAP,
18
+ a as ROOT_CLASS
19
+ };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { BlockquoteProps } from './Blockquote.types';
3
+ export declare const Blockquote: FC<BlockquoteProps>;
4
+ export default Blockquote;
@@ -0,0 +1,56 @@
1
+ import { jsx as a, jsxs as e } from "react/jsx-runtime";
2
+ import { cn as c } from "../../utils/cn.js";
3
+ import "react";
4
+ import { Typography as s } from "../Typography/Typography.js";
5
+ import { ICON_COLOR_MAP as p, CITE_CLASS as b, BORDER_COLOR_MAP as v, ROOT_CLASS as C } from "./Blockquote.const.js";
6
+ const O = /* @__PURE__ */ a(
7
+ "svg",
8
+ {
9
+ className: "bear-w-6 bear-h-6 bear-flex-shrink-0",
10
+ fill: "currentColor",
11
+ viewBox: "0 0 24 24",
12
+ "aria-hidden": !0,
13
+ children: /* @__PURE__ */ a("path", { d: "M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z" })
14
+ }
15
+ ), A = ({
16
+ cite: r,
17
+ icon: n,
18
+ color: o = "default",
19
+ children: l,
20
+ className: t,
21
+ testId: i,
22
+ ...m
23
+ }) => {
24
+ const d = v[o], h = p[o];
25
+ return /* @__PURE__ */ a(
26
+ "blockquote",
27
+ {
28
+ className: c(C, d, t),
29
+ "data-testid": i,
30
+ cite: r,
31
+ ...m,
32
+ children: /* @__PURE__ */ e("div", { className: "bear-flex bear-gap-3", children: [
33
+ /* @__PURE__ */ a("span", { className: h, children: n ?? O }),
34
+ /* @__PURE__ */ e("div", { className: "bear-flex-1 bear-min-w-0", children: [
35
+ /* @__PURE__ */ a(s, { variant: "body1", component: "span", children: l }),
36
+ r && /* @__PURE__ */ e(
37
+ s,
38
+ {
39
+ variant: "caption",
40
+ color: "secondary",
41
+ component: "cite",
42
+ className: c(b, "bear-block"),
43
+ children: [
44
+ "— ",
45
+ r
46
+ ]
47
+ }
48
+ )
49
+ ] })
50
+ ] })
51
+ }
52
+ );
53
+ };
54
+ export {
55
+ A as Blockquote
56
+ };
@@ -0,0 +1,9 @@
1
+ import { ReactNode, HTMLAttributes } from 'react';
2
+ export type BlockquoteColor = 'default' | 'primary' | 'success' | 'warning' | 'error';
3
+ export interface BlockquoteProps extends HTMLAttributes<HTMLElement> {
4
+ cite?: string;
5
+ icon?: ReactNode;
6
+ color?: BlockquoteColor;
7
+ children: ReactNode;
8
+ testId?: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ export { Blockquote, default } from './Blockquote';
2
+ export type { BlockquoteProps, BlockquoteColor } from './Blockquote.types';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),r=require("react"),A=require("../../utils/cn.cjs"),re=require("../Spinner/Spinner.cjs"),ne=require("../Typography/Typography.cjs"),se=require("../../hooks/useBearStyles.cjs");require("../../hooks/useBearComponent/useBearComponent.cjs");const oe=require("../../context/BearProvider.cjs"),b=require("./Button.constants.cjs"),V=B=>B in b.BUTTON_VARIANT,k=r.forwardRef((B,i)=>{var w,j;const{variant:e="primary",size:C="md",loading:d=!1,fullWidth:q=!1,icon:g,iconPosition:N="left",leftIcon:M,rightIcon:P,textVariant:z="inherit",spotlight:l=!1,spotlightColor:E="rgba(255, 255, 255, 0.35)",spotlightSize:f=150,disabled:U,className:O,children:D,testId:L,bis:F,style:H,onMouseMove:h,onMouseEnter:m,onMouseLeave:p,...X}=B,Y=U||d,v=se.useBearStyles(F,H),S=M??(g&&N==="left"?g:void 0),I=P??(g&&N==="right"?g:void 0),o=r.useContext(oe.BearContext),y=((j=(w=o==null?void 0:o.components)==null?void 0:w.Button)==null?void 0:j.root)||{},T=(o==null?void 0:o.customVariants)||{},x=!V(e)&&e in T,n=x?T[e]:null,c=r.useRef(null),[R,_]=r.useState({x:-1e3,y:-1e3}),[W,$]=r.useState(!1),Z=r.useCallback(t=>{if(l&&c.current){const u=c.current.getBoundingClientRect(),ee=t.clientX-u.left,te=t.clientY-u.top;_({x:ee,y:te})}h==null||h(t)},[l,h]),G=r.useCallback(t=>{if(l&&($(!0),c.current)){const u=c.current.getBoundingClientRect();_({x:t.clientX-u.left,y:t.clientY-u.top})}m==null||m(t)},[l,m]),J=r.useCallback(t=>{$(!1),_({x:-1e3,y:-1e3}),p==null||p(t)},[p]),a=b.VARIANT_DEFAULTS[e]||b.VARIANT_DEFAULTS.primary,K=r.useMemo(()=>x&&n?{backgroundColor:`var(--bear-${e}-bg, ${n.bg})`,color:n.text||"#ffffff",borderColor:n.border,"--bear-ring-color":n.ring||n.bg,...y,...v}:{backgroundColor:`var(--bear-btn-${e}-bg, ${a.bg})`,color:e==="outline"||e==="ghost"?`var(--bear-btn-${e}-text, ${a.text||"inherit"})`:"white",borderColor:e==="outline"?`var(--bear-btn-${e}-border, ${a.border||a.bg})`:void 0,"--bear-ring-color":`var(--bear-btn-${e}-ring, ${a.ring})`,...y,...v},[e,a,y,v,x,n]),Q=r.useCallback(t=>{c.current=t,typeof i=="function"?i(t):i&&(i.current=t)},[i]);return s.jsxs("button",{ref:Q,disabled:Y,style:K,className:A.cn("Bear-Button","bear-inline-flex bear-items-center bear-justify-center bear-font-medium bear-rounded-lg bear-transition-all bear-duration-200 bear-outline-none bear-relative bear-overflow-hidden",b.BUTTON_SIZE[C],V(e)?b.BUTTON_VARIANT[e]:"bear-btn-custom bear-text-white focus:bear-ring-2 focus:bear-ring-offset-2 disabled:bear-opacity-50 disabled:bear-cursor-not-allowed hover:bear-brightness-110 active:bear-brightness-95",q&&"bear-w-full",d&&"bear-cursor-wait",O),"data-testid":L,onMouseMove:Z,onMouseEnter:G,onMouseLeave:J,...X,children:[l&&s.jsx("span",{className:"Bear-Button__spotlight","aria-hidden":"true",style:{position:"absolute",pointerEvents:"none",left:0,top:0,width:f,height:f,borderRadius:"50%",background:`radial-gradient(circle at center, ${E} 0%, transparent 70%)`,opacity:W?1:0,transform:`translate(${R.x-f/2}px, ${R.y-f/2}px)`,transition:"opacity 0.15s ease-out",zIndex:1,mixBlendMode:"overlay"}}),d&&s.jsx(re.Spinner,{size:C==="xs"?"xs":"sm",className:"Bear-Button__spinner bear-absolute"}),s.jsxs("span",{className:A.cn("Bear-Button__content bear-inline-flex bear-items-center bear-gap-inherit bear-relative bear-z-10",d&&"bear-invisible"),children:[S&&s.jsx("span",{className:"Bear-Button__icon Bear-Button__icon--left bear-inline-flex bear-shrink-0 [&_svg]:bear-w-[1em] [&_svg]:bear-h-[1em] [&_svg]:bear-min-w-[1em]",children:S}),s.jsx(ne.Typography,{variant:z,className:"Bear-Button__text",children:D}),I&&s.jsx("span",{className:"Bear-Button__icon Bear-Button__icon--right bear-inline-flex bear-shrink-0 [&_svg]:bear-w-[1em] [&_svg]:bear-h-[1em] [&_svg]:bear-min-w-[1em]",children:I})]})]})});k.displayName="Button";exports.Button=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),r=require("react"),g=require("../../utils/cn.cjs"),ae=require("../Spinner/Spinner.cjs"),w=require("../Typography/Typography.cjs"),oe=require("../../hooks/useBearStyles.cjs");require("../../hooks/useBearComponent/useBearComponent.cjs");const se=require("../../context/BearProvider.cjs"),o=require("./Button.constants.cjs"),O=x=>x in o.BUTTON_VARIANT,E=r.forwardRef((x,l)=>{var k,q;const{variant:e="primary",size:f="md",loading:c=!1,loadingText:_,fullWidth:M=!1,icon:p,iconPosition:C="left",leftIcon:P,rightIcon:U,textVariant:S="inherit",spotlight:u=!1,spotlightColor:z="rgba(255, 255, 255, 0.35)",spotlightSize:h=150,disabled:D,className:L,children:Z,testId:F,bis:H,style:X,onMouseMove:B,onMouseEnter:m,onMouseLeave:y,...Y}=x,W=D||c,v=oe.useBearStyles(H,X),R=P??(p&&C==="left"?p:void 0),$=U??(p&&C==="right"?p:void 0),s=r.useContext(se.BearContext),N=((q=(k=s==null?void 0:s.components)==null?void 0:k.Button)==null?void 0:q.root)||{},j=(s==null?void 0:s.customVariants)||{},T=!O(e)&&e in j,a=T?j[e]:null,b=r.useRef(null),[A,I]=r.useState({x:-1e3,y:-1e3}),[G,V]=r.useState(!1),J=r.useCallback(t=>{if(u&&b.current){const d=b.current.getBoundingClientRect(),re=t.clientX-d.left,ne=t.clientY-d.top;I({x:re,y:ne})}B==null||B(t)},[u,B]),K=r.useCallback(t=>{if(u&&(V(!0),b.current)){const d=b.current.getBoundingClientRect();I({x:t.clientX-d.left,y:t.clientY-d.top})}m==null||m(t)},[u,m]),Q=r.useCallback(t=>{V(!1),I({x:-1e3,y:-1e3}),y==null||y(t)},[y]),i=o.VARIANT_DEFAULTS[e]||o.VARIANT_DEFAULTS.primary,ee=r.useMemo(()=>T&&a?{backgroundColor:`var(--bear-${e}-bg, ${a.bg})`,color:a.text||"#ffffff",borderColor:a.border,"--bear-ring-color":a.ring||a.bg,...N,...v}:{backgroundColor:`var(--bear-btn-${e}-bg, ${i.bg})`,color:e==="outline"||e==="ghost"?`var(--bear-btn-${e}-text, ${i.text||"inherit"})`:"white",borderColor:e==="outline"?`var(--bear-btn-${e}-border, ${i.border||i.bg})`:void 0,"--bear-ring-color":`var(--bear-btn-${e}-ring, ${i.ring})`,...N,...v},[e,i,N,v,T,a]),te=r.useCallback(t=>{b.current=t,typeof l=="function"?l(t):l&&(l.current=t)},[l]);return n.jsxs("button",{ref:te,disabled:W,"aria-busy":c||void 0,style:ee,className:g.cn("Bear-Button","bear-inline-flex bear-items-center bear-justify-center bear-font-medium bear-rounded-lg bear-transition-all bear-duration-200 bear-outline-none bear-relative bear-overflow-hidden",o.BUTTON_SIZE[f],O(e)?o.BUTTON_VARIANT[e]:"bear-btn-custom bear-text-white focus:bear-ring-2 focus:bear-ring-offset-2 disabled:bear-opacity-50 disabled:bear-cursor-not-allowed hover:bear-brightness-110 active:bear-brightness-95",M&&"bear-w-full",c&&"bear-cursor-wait",L),"data-testid":F,onMouseMove:J,onMouseEnter:K,onMouseLeave:Q,...Y,children:[u&&n.jsx("span",{className:"Bear-Button__spotlight","aria-hidden":"true",style:{position:"absolute",pointerEvents:"none",left:0,top:0,width:h,height:h,borderRadius:"50%",background:`radial-gradient(circle at center, ${z} 0%, transparent 70%)`,opacity:G?1:0,transform:`translate(${A.x-h/2}px, ${A.y-h/2}px)`,transition:"opacity 0.15s ease-out",zIndex:1,mixBlendMode:"overlay"}}),c&&n.jsxs("span",{className:g.cn("Bear-Button__loading bear-inline-flex bear-items-center bear-gap-2 bear-relative bear-z-10",!_&&"bear-absolute"),children:[n.jsx(ae.Spinner,{size:f==="xs"?"xs":"sm",className:"Bear-Button__spinner"}),_&&n.jsx(w.Typography,{variant:S,className:"Bear-Button__text",children:_})]}),n.jsxs("span",{className:g.cn("Bear-Button__content bear-inline-flex bear-items-center bear-gap-inherit bear-relative bear-z-10",c&&"bear-invisible"),children:[R&&n.jsx("span",{className:g.cn("Bear-Button__icon Bear-Button__icon--left bear-inline-flex bear-shrink-0",o.BUTTON_ICON_SIZE[f]),children:R}),n.jsx(w.Typography,{variant:S,className:"Bear-Button__text",children:Z}),$&&n.jsx("span",{className:g.cn("Bear-Button__icon Bear-Button__icon--right bear-inline-flex bear-shrink-0",o.BUTTON_ICON_SIZE[f]),children:$})]})]})});E.displayName="Button";exports.Button=E;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r={xs:"bear-px-2 bear-py-1 bear-text-xs bear-gap-1",sm:"bear-px-3 bear-py-1.5 bear-text-sm bear-gap-1.5",md:"bear-px-4 bear-py-2 bear-text-sm bear-gap-2",lg:"bear-px-5 bear-py-2.5 bear-text-base bear-gap-2",xl:"bear-px-6 bear-py-3 bear-text-lg bear-gap-2.5"},e={primary:`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r={xs:"bear-px-2 bear-py-1 bear-text-xs bear-gap-1",sm:"bear-px-3 bear-py-1.5 bear-text-sm bear-gap-1.5",md:"bear-px-4 bear-py-2 bear-text-sm bear-gap-2",lg:"bear-px-5 bear-py-2.5 bear-text-base bear-gap-2",xl:"bear-px-6 bear-py-3 bear-text-lg bear-gap-2.5"},e={xs:"[&_svg]:bear-w-3 [&_svg]:bear-h-3",sm:"[&_svg]:bear-w-4 [&_svg]:bear-h-4",md:"[&_svg]:bear-w-5 [&_svg]:bear-h-5",lg:"[&_svg]:bear-w-5 [&_svg]:bear-h-5",xl:"[&_svg]:bear-w-6 [&_svg]:bear-h-6"},a={primary:`
2
2
  bear-btn-primary
3
3
  bear-text-white bear-relative bear-overflow-hidden
4
4
  focus:bear-ring-2 focus:bear-ring-offset-2
@@ -44,4 +44,4 @@
44
44
  bear-text-white bear-relative bear-overflow-hidden
45
45
  focus:bear-ring-2 focus:bear-ring-offset-2
46
46
  disabled:bear-opacity-50 disabled:bear-cursor-not-allowed
47
- `},a={primary:{bg:"var(--bear-primary-500)",hover:"var(--bear-primary-600)",active:"var(--bear-primary-700)",ring:"var(--bear-primary-500)"},secondary:{bg:"var(--bear-secondary-500)",hover:"var(--bear-secondary-600)",active:"var(--bear-secondary-700)",ring:"var(--bear-secondary-500)"},success:{bg:"var(--bear-success-500)",hover:"var(--bear-success-600)",active:"var(--bear-success-700)",ring:"var(--bear-success-500)"},warning:{bg:"var(--bear-warning-500)",hover:"var(--bear-warning-600)",active:"var(--bear-warning-700)",ring:"var(--bear-warning-500)"},danger:{bg:"var(--bear-danger-500)",hover:"var(--bear-danger-600)",active:"var(--bear-danger-700)",ring:"var(--bear-danger-500)"},info:{bg:"var(--bear-info-500)",hover:"var(--bear-info-600)",active:"var(--bear-info-700)",ring:"var(--bear-info-500)"},error:{bg:"var(--bear-danger-500)",hover:"var(--bear-danger-600)",active:"var(--bear-danger-700)",ring:"var(--bear-danger-500)"},ghost:{bg:"transparent",hover:"var(--bear-neutral-100)",active:"var(--bear-neutral-200)",text:"var(--bear-text-primary)",ring:"var(--bear-neutral-500)"},outline:{bg:"transparent",hover:"var(--bear-primary-50)",active:"var(--bear-primary-100)",border:"var(--bear-primary-500)",text:"var(--bear-primary-500)",ring:"var(--bear-primary-500)"}};exports.BUTTON_SIZE=r;exports.BUTTON_VARIANT=e;exports.VARIANT_DEFAULTS=a;
47
+ `},b={primary:{bg:"var(--bear-primary-500)",hover:"var(--bear-primary-600)",active:"var(--bear-primary-700)",ring:"var(--bear-primary-500)"},secondary:{bg:"var(--bear-secondary-500)",hover:"var(--bear-secondary-600)",active:"var(--bear-secondary-700)",ring:"var(--bear-secondary-500)"},success:{bg:"var(--bear-success-500)",hover:"var(--bear-success-600)",active:"var(--bear-success-700)",ring:"var(--bear-success-500)"},warning:{bg:"var(--bear-warning-500)",hover:"var(--bear-warning-600)",active:"var(--bear-warning-700)",ring:"var(--bear-warning-500)"},danger:{bg:"var(--bear-danger-500)",hover:"var(--bear-danger-600)",active:"var(--bear-danger-700)",ring:"var(--bear-danger-500)"},info:{bg:"var(--bear-info-500)",hover:"var(--bear-info-600)",active:"var(--bear-info-700)",ring:"var(--bear-info-500)"},error:{bg:"var(--bear-danger-500)",hover:"var(--bear-danger-600)",active:"var(--bear-danger-700)",ring:"var(--bear-danger-500)"},ghost:{bg:"transparent",hover:"var(--bear-neutral-100)",active:"var(--bear-neutral-200)",text:"var(--bear-text-primary)",ring:"var(--bear-neutral-500)"},outline:{bg:"transparent",hover:"var(--bear-primary-50)",active:"var(--bear-primary-100)",border:"var(--bear-primary-500)",text:"var(--bear-primary-500)",ring:"var(--bear-primary-500)"}};exports.BUTTON_ICON_SIZE=e;exports.BUTTON_SIZE=r;exports.BUTTON_VARIANT=a;exports.VARIANT_DEFAULTS=b;
@@ -1,5 +1,6 @@
1
1
  import { BearSize, BearVariant } from '../../types';
2
2
  export declare const BUTTON_SIZE: Record<BearSize, string>;
3
+ export declare const BUTTON_ICON_SIZE: Record<BearSize, string>;
3
4
  /**
4
5
  * Button variants using CSS variables for full customization
5
6
  * Colors can be overridden via:
@@ -5,6 +5,12 @@ const r = {
5
5
  lg: "bear-px-5 bear-py-2.5 bear-text-base bear-gap-2",
6
6
  xl: "bear-px-6 bear-py-3 bear-text-lg bear-gap-2.5"
7
7
  }, e = {
8
+ xs: "[&_svg]:bear-w-3 [&_svg]:bear-h-3",
9
+ sm: "[&_svg]:bear-w-4 [&_svg]:bear-h-4",
10
+ md: "[&_svg]:bear-w-5 [&_svg]:bear-h-5",
11
+ lg: "[&_svg]:bear-w-5 [&_svg]:bear-h-5",
12
+ xl: "[&_svg]:bear-w-6 [&_svg]:bear-h-6"
13
+ }, a = {
8
14
  primary: `
9
15
  bear-btn-primary
10
16
  bear-text-white bear-relative bear-overflow-hidden
@@ -60,7 +66,7 @@ const r = {
60
66
  focus:bear-ring-2 focus:bear-ring-offset-2
61
67
  disabled:bear-opacity-50 disabled:bear-cursor-not-allowed
62
68
  `
63
- }, a = {
69
+ }, b = {
64
70
  primary: { bg: "var(--bear-primary-500)", hover: "var(--bear-primary-600)", active: "var(--bear-primary-700)", ring: "var(--bear-primary-500)" },
65
71
  secondary: { bg: "var(--bear-secondary-500)", hover: "var(--bear-secondary-600)", active: "var(--bear-secondary-700)", ring: "var(--bear-secondary-500)" },
66
72
  success: { bg: "var(--bear-success-500)", hover: "var(--bear-success-600)", active: "var(--bear-success-700)", ring: "var(--bear-success-500)" },
@@ -72,7 +78,8 @@ const r = {
72
78
  outline: { bg: "transparent", hover: "var(--bear-primary-50)", active: "var(--bear-primary-100)", border: "var(--bear-primary-500)", text: "var(--bear-primary-500)", ring: "var(--bear-primary-500)" }
73
79
  };
74
80
  export {
81
+ e as BUTTON_ICON_SIZE,
75
82
  r as BUTTON_SIZE,
76
- e as BUTTON_VARIANT,
77
- a as VARIANT_DEFAULTS
83
+ a as BUTTON_VARIANT,
84
+ b as VARIANT_DEFAULTS
78
85
  };
@@ -1,95 +1,97 @@
1
- import { jsxs as V, jsx as c } from "react/jsx-runtime";
2
- import { forwardRef as oe, useContext as ae, useRef as ie, useState as k, useCallback as p, useMemo as se } from "react";
3
- import { cn as M } from "../../utils/cn.js";
4
- import { Spinner as le } from "../Spinner/Spinner.js";
5
- import { Typography as ce } from "../Typography/Typography.js";
6
- import { useBearStyles as be } from "../../hooks/useBearStyles.js";
1
+ import { jsxs as C, jsx as a } from "react/jsx-runtime";
2
+ import { forwardRef as se, useContext as le, useRef as ce, useState as A, useCallback as B, useMemo as be } from "react";
3
+ import { cn as u } from "../../utils/cn.js";
4
+ import { Spinner as ue } from "../Spinner/Spinner.js";
5
+ import { Typography as E } from "../Typography/Typography.js";
6
+ import { useBearStyles as de } from "../../hooks/useBearStyles.js";
7
7
  import "../../hooks/useBearComponent/useBearComponent.js";
8
- import { BearContext as ue } from "../../context/BearProvider.js";
9
- import { VARIANT_DEFAULTS as z, BUTTON_VARIANT as P, BUTTON_SIZE as de } from "./Button.constants.js";
10
- const A = (h) => h in P, me = oe(
11
- (h, a) => {
12
- var R, T;
8
+ import { BearContext as fe } from "../../context/BearProvider.js";
9
+ import { VARIANT_DEFAULTS as P, BUTTON_ICON_SIZE as O, BUTTON_VARIANT as j, BUTTON_SIZE as me } from "./Button.constants.js";
10
+ const U = (y) => y in j, ge = se(
11
+ (y, i) => {
12
+ var z, M;
13
13
  const {
14
14
  variant: e = "primary",
15
- size: x = "md",
16
- loading: b = !1,
17
- fullWidth: E = !1,
18
- icon: u,
19
- iconPosition: C = "left",
20
- leftIcon: j,
21
- rightIcon: U,
22
- textVariant: D = "inherit",
23
- spotlight: i = !1,
24
- spotlightColor: H = "rgba(255, 255, 255, 0.35)",
25
- spotlightSize: d = 150,
26
- disabled: L,
27
- className: O,
28
- children: X,
29
- testId: Y,
30
- bis: F,
31
- style: W,
32
- onMouseMove: m,
33
- onMouseEnter: f,
34
- onMouseLeave: g,
35
- ...Z
36
- } = h, q = L || b, v = be(F, W), I = j ?? (u && C === "left" ? u : void 0), N = U ?? (u && C === "right" ? u : void 0), n = ae(ue), B = ((T = (R = n == null ? void 0 : n.components) == null ? void 0 : R.Button) == null ? void 0 : T.root) || {}, $ = (n == null ? void 0 : n.customVariants) || {}, y = !A(e) && e in $, r = y ? $[e] : null, s = ie(null), [w, _] = k({ x: -1e3, y: -1e3 }), [G, S] = k(!1), J = p((t) => {
37
- if (i && s.current) {
38
- const l = s.current.getBoundingClientRect(), re = t.clientX - l.left, ne = t.clientY - l.top;
39
- _({ x: re, y: ne });
15
+ size: d = "md",
16
+ loading: s = !1,
17
+ loadingText: v,
18
+ fullWidth: D = !1,
19
+ icon: f,
20
+ iconPosition: $ = "left",
21
+ leftIcon: H,
22
+ rightIcon: L,
23
+ textVariant: S = "inherit",
24
+ spotlight: l = !1,
25
+ spotlightColor: X = "rgba(255, 255, 255, 0.35)",
26
+ spotlightSize: m = 150,
27
+ disabled: Y,
28
+ className: Z,
29
+ children: F,
30
+ testId: W,
31
+ bis: q,
32
+ style: G,
33
+ onMouseMove: g,
34
+ onMouseEnter: p,
35
+ onMouseLeave: h,
36
+ ...J
37
+ } = y, K = Y || s, x = de(q, G), T = H ?? (f && $ === "left" ? f : void 0), R = L ?? (f && $ === "right" ? f : void 0), n = le(fe), _ = ((M = (z = n == null ? void 0 : n.components) == null ? void 0 : z.Button) == null ? void 0 : M.root) || {}, w = (n == null ? void 0 : n.customVariants) || {}, N = !U(e) && e in w, r = N ? w[e] : null, c = ce(null), [V, I] = A({ x: -1e3, y: -1e3 }), [Q, k] = A(!1), ee = B((t) => {
38
+ if (l && c.current) {
39
+ const b = c.current.getBoundingClientRect(), ae = t.clientX - b.left, ie = t.clientY - b.top;
40
+ I({ x: ae, y: ie });
40
41
  }
41
- m == null || m(t);
42
- }, [i, m]), K = p((t) => {
43
- if (i && (S(!0), s.current)) {
44
- const l = s.current.getBoundingClientRect();
45
- _({
46
- x: t.clientX - l.left,
47
- y: t.clientY - l.top
42
+ g == null || g(t);
43
+ }, [l, g]), te = B((t) => {
44
+ if (l && (k(!0), c.current)) {
45
+ const b = c.current.getBoundingClientRect();
46
+ I({
47
+ x: t.clientX - b.left,
48
+ y: t.clientY - b.top
48
49
  });
49
50
  }
50
- f == null || f(t);
51
- }, [i, f]), Q = p((t) => {
52
- S(!1), _({ x: -1e3, y: -1e3 }), g == null || g(t);
53
- }, [g]), o = z[e] || z.primary, ee = se(() => y && r ? {
51
+ p == null || p(t);
52
+ }, [l, p]), re = B((t) => {
53
+ k(!1), I({ x: -1e3, y: -1e3 }), h == null || h(t);
54
+ }, [h]), o = P[e] || P.primary, ne = be(() => N && r ? {
54
55
  backgroundColor: `var(--bear-${e}-bg, ${r.bg})`,
55
56
  color: r.text || "#ffffff",
56
57
  borderColor: r.border,
57
58
  "--bear-ring-color": r.ring || r.bg,
58
- ...B,
59
- ...v
59
+ ..._,
60
+ ...x
60
61
  } : {
61
62
  backgroundColor: `var(--bear-btn-${e}-bg, ${o.bg})`,
62
63
  color: e === "outline" || e === "ghost" ? `var(--bear-btn-${e}-text, ${o.text || "inherit"})` : "white",
63
64
  borderColor: e === "outline" ? `var(--bear-btn-${e}-border, ${o.border || o.bg})` : void 0,
64
65
  "--bear-ring-color": `var(--bear-btn-${e}-ring, ${o.ring})`,
65
- ...B,
66
- ...v
67
- }, [e, o, B, v, y, r]), te = p((t) => {
68
- s.current = t, typeof a == "function" ? a(t) : a && (a.current = t);
69
- }, [a]);
70
- return /* @__PURE__ */ V(
66
+ ..._,
67
+ ...x
68
+ }, [e, o, _, x, N, r]), oe = B((t) => {
69
+ c.current = t, typeof i == "function" ? i(t) : i && (i.current = t);
70
+ }, [i]);
71
+ return /* @__PURE__ */ C(
71
72
  "button",
72
73
  {
73
- ref: te,
74
- disabled: q,
75
- style: ee,
76
- className: M(
74
+ ref: oe,
75
+ disabled: K,
76
+ "aria-busy": s || void 0,
77
+ style: ne,
78
+ className: u(
77
79
  "Bear-Button",
78
80
  "bear-inline-flex bear-items-center bear-justify-center bear-font-medium bear-rounded-lg bear-transition-all bear-duration-200 bear-outline-none bear-relative bear-overflow-hidden",
79
- de[x],
81
+ me[d],
80
82
  // Use built-in variant classes or custom variant base classes
81
- A(e) ? P[e] : "bear-btn-custom bear-text-white focus:bear-ring-2 focus:bear-ring-offset-2 disabled:bear-opacity-50 disabled:bear-cursor-not-allowed hover:bear-brightness-110 active:bear-brightness-95",
82
- E && "bear-w-full",
83
- b && "bear-cursor-wait",
84
- O
83
+ U(e) ? j[e] : "bear-btn-custom bear-text-white focus:bear-ring-2 focus:bear-ring-offset-2 disabled:bear-opacity-50 disabled:bear-cursor-not-allowed hover:bear-brightness-110 active:bear-brightness-95",
84
+ D && "bear-w-full",
85
+ s && "bear-cursor-wait",
86
+ Z
85
87
  ),
86
- "data-testid": Y,
87
- onMouseMove: J,
88
- onMouseEnter: K,
89
- onMouseLeave: Q,
90
- ...Z,
88
+ "data-testid": W,
89
+ onMouseMove: ee,
90
+ onMouseEnter: te,
91
+ onMouseLeave: re,
92
+ ...J,
91
93
  children: [
92
- i && /* @__PURE__ */ c(
94
+ l && /* @__PURE__ */ a(
93
95
  "span",
94
96
  {
95
97
  className: "Bear-Button__spotlight",
@@ -99,30 +101,36 @@ const A = (h) => h in P, me = oe(
99
101
  pointerEvents: "none",
100
102
  left: 0,
101
103
  top: 0,
102
- width: d,
103
- height: d,
104
+ width: m,
105
+ height: m,
104
106
  borderRadius: "50%",
105
- background: `radial-gradient(circle at center, ${H} 0%, transparent 70%)`,
106
- opacity: G ? 1 : 0,
107
- transform: `translate(${w.x - d / 2}px, ${w.y - d / 2}px)`,
107
+ background: `radial-gradient(circle at center, ${X} 0%, transparent 70%)`,
108
+ opacity: Q ? 1 : 0,
109
+ transform: `translate(${V.x - m / 2}px, ${V.y - m / 2}px)`,
108
110
  transition: "opacity 0.15s ease-out",
109
111
  zIndex: 1,
110
112
  mixBlendMode: "overlay"
111
113
  }
112
114
  }
113
115
  ),
114
- b && /* @__PURE__ */ c(le, { size: x === "xs" ? "xs" : "sm", className: "Bear-Button__spinner bear-absolute" }),
115
- /* @__PURE__ */ V(
116
+ s && /* @__PURE__ */ C("span", { className: u(
117
+ "Bear-Button__loading bear-inline-flex bear-items-center bear-gap-2 bear-relative bear-z-10",
118
+ !v && "bear-absolute"
119
+ ), children: [
120
+ /* @__PURE__ */ a(ue, { size: d === "xs" ? "xs" : "sm", className: "Bear-Button__spinner" }),
121
+ v && /* @__PURE__ */ a(E, { variant: S, className: "Bear-Button__text", children: v })
122
+ ] }),
123
+ /* @__PURE__ */ C(
116
124
  "span",
117
125
  {
118
- className: M(
126
+ className: u(
119
127
  "Bear-Button__content bear-inline-flex bear-items-center bear-gap-inherit bear-relative bear-z-10",
120
- b && "bear-invisible"
128
+ s && "bear-invisible"
121
129
  ),
122
130
  children: [
123
- I && /* @__PURE__ */ c("span", { className: "Bear-Button__icon Bear-Button__icon--left bear-inline-flex bear-shrink-0 [&_svg]:bear-w-[1em] [&_svg]:bear-h-[1em] [&_svg]:bear-min-w-[1em]", children: I }),
124
- /* @__PURE__ */ c(ce, { variant: D, className: "Bear-Button__text", children: X }),
125
- N && /* @__PURE__ */ c("span", { className: "Bear-Button__icon Bear-Button__icon--right bear-inline-flex bear-shrink-0 [&_svg]:bear-w-[1em] [&_svg]:bear-h-[1em] [&_svg]:bear-min-w-[1em]", children: N })
131
+ T && /* @__PURE__ */ a("span", { className: u("Bear-Button__icon Bear-Button__icon--left bear-inline-flex bear-shrink-0", O[d]), children: T }),
132
+ /* @__PURE__ */ a(E, { variant: S, className: "Bear-Button__text", children: F }),
133
+ R && /* @__PURE__ */ a("span", { className: u("Bear-Button__icon Bear-Button__icon--right bear-inline-flex bear-shrink-0", O[d]), children: R })
126
134
  ]
127
135
  }
128
136
  )
@@ -131,7 +139,7 @@ const A = (h) => h in P, me = oe(
131
139
  );
132
140
  }
133
141
  );
134
- me.displayName = "Button";
142
+ ge.displayName = "Button";
135
143
  export {
136
- me as Button
144
+ ge as Button
137
145
  };
@@ -21,6 +21,8 @@ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement
21
21
  size?: BearSize;
22
22
  /** Whether button is in loading state */
23
23
  loading?: boolean;
24
+ /** Text to display while loading (replaces children during loading) */
25
+ loadingText?: string;
24
26
  /** Whether button takes full width */
25
27
  fullWidth?: boolean;
26
28
  /** Icon (shorthand for leftIcon or rightIcon based on iconPosition) */
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),i=require("react"),S=require("../../utils/cn.cjs"),A=require("../Typography/Typography.cjs"),c=require("./CheckboxCard.const.cjs"),I=i.createContext(null),G=({className:s})=>r.jsx("svg",{className:s,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"20 6 9 17 4 12"})}),_=({checked:s,onChange:a,value:t,label:y,description:u,icon:k,disabled:l=!1,variant:m="default",size:x="md",testId:f,className:b,onClick:n,...p})=>{const e=i.useContext(I),v=!!e,[E,T]=i.useState(!1),j=s!==void 0,o=v&&t?e.value.includes(t):j?!!s:E,N=i.useCallback(d=>{if(!(l||((e==null?void 0:e.disabled)??!1)))if(n==null||n(d),v&&t&&e){const h=o?e.value.filter(D=>D!==t):[...e.value,t];e.onChange(h)}else{const h=!o;j||T(h),a==null||a(h)}},[l,e,v,o,j,t,a,n]),C=l||((e==null?void 0:e.disabled)??!1);return r.jsxs("div",{role:"checkbox","aria-checked":o,"aria-disabled":C,tabIndex:C?void 0:0,onKeyDown:d=>{(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),N(d))},className:S.cn(c.ROOT_CLASS,c.SIZE_PADDING_MAP[x],c.VARIANT_CLASSES[m],o&&c.CHECKED_CLASSES,C&&"bear-opacity-50 bear-cursor-not-allowed bear-pointer-events-none",!C&&"hover:bear-border-gray-300 dark:hover:bear-border-gray-600",b),onClick:N,"data-testid":f,...p,children:[r.jsx("div",{className:S.cn("bear-absolute bear-top-3 bear-right-3 bear-flex bear-items-center bear-justify-center bear-rounded-full bear-border-2",o?"bear-border-pink-500 dark:bear-border-pink-400 bear-bg-pink-500 dark:bear-bg-pink-400 bear-text-white":"bear-border-gray-300 dark:bear-border-gray-600",c.CHECKBOX_INDICATOR_SIZE_MAP[x]),children:o&&r.jsx(G,{className:"bear-w-2.5 bear-h-2.5"})}),k&&r.jsx("div",{className:"bear-mb-3 bear-flex bear-items-center bear-justify-center bear-text-gray-500 dark:bear-text-gray-400",children:k}),r.jsx(A.Typography,{variant:"body2",weight:"medium",className:"bear-block",children:y}),u&&r.jsx(A.Typography,{variant:"caption",color:"secondary",className:"bear-mt-1 bear-block",children:u})]})};_.displayName="CheckboxCard";const g=({value:s,onChange:a,children:t,columns:y=c.DEFAULT_COLUMNS,gap:u=c.DEFAULT_GAP,testId:k,className:l,...m})=>{const[x,f]=i.useState([]),b=s!==void 0,n=b?s:x,p=i.useCallback(e=>{b||f(e),a==null||a(e)},[b,a]);return r.jsx(I.Provider,{value:{value:n,onChange:p},children:r.jsx("div",{role:"group",className:S.cn("Bear-CheckboxCardGroup bear-grid",l),style:{gridTemplateColumns:`repeat(${y}, minmax(0, 1fr))`,gap:`${u*.25}rem`},"data-testid":k,...m,children:t})})};g.displayName="CheckboxCardGroup";exports.CheckboxCard=_;exports.CheckboxCardGroup=g;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r={sm:"bear-p-3",md:"bear-p-4",lg:"bear-p-5"},e={default:"bear-border bear-border-gray-200 dark:bear-border-gray-700",outline:"bear-border bear-border-dashed bear-border-gray-300 dark:bear-border-gray-600",filled:"bear-bg-gray-50 dark:bear-bg-gray-800/50"},a="bear-border-pink-500 dark:bear-border-pink-400 bear-ring-2 bear-ring-pink-500/30 dark:bear-ring-pink-400/30 bear-bg-pink-50 dark:bear-bg-pink-950/30",b="Bear-CheckboxCard bear-relative bear-rounded-lg bear-transition-all bear-duration-200 bear-cursor-pointer bear-text-left",d={sm:"bear-w-4 bear-h-4",md:"bear-w-5 bear-h-5",lg:"bear-w-6 bear-h-6"},o=1,n=4;exports.CHECKBOX_INDICATOR_SIZE_MAP=d;exports.CHECKED_CLASSES=a;exports.DEFAULT_COLUMNS=o;exports.DEFAULT_GAP=n;exports.ROOT_CLASS=b;exports.SIZE_PADDING_MAP=r;exports.VARIANT_CLASSES=e;
@@ -0,0 +1,7 @@
1
+ export declare const SIZE_PADDING_MAP: Record<'sm' | 'md' | 'lg', string>;
2
+ export declare const VARIANT_CLASSES: Record<'default' | 'outline' | 'filled', string>;
3
+ export declare const CHECKED_CLASSES = "bear-border-pink-500 dark:bear-border-pink-400 bear-ring-2 bear-ring-pink-500/30 dark:bear-ring-pink-400/30 bear-bg-pink-50 dark:bear-bg-pink-950/30";
4
+ export declare const ROOT_CLASS = "Bear-CheckboxCard bear-relative bear-rounded-lg bear-transition-all bear-duration-200 bear-cursor-pointer bear-text-left";
5
+ export declare const CHECKBOX_INDICATOR_SIZE_MAP: Record<'sm' | 'md' | 'lg', string>;
6
+ export declare const DEFAULT_COLUMNS = 1;
7
+ export declare const DEFAULT_GAP = 4;
@@ -0,0 +1,22 @@
1
+ const r = {
2
+ sm: "bear-p-3",
3
+ md: "bear-p-4",
4
+ lg: "bear-p-5"
5
+ }, e = {
6
+ default: "bear-border bear-border-gray-200 dark:bear-border-gray-700",
7
+ outline: "bear-border bear-border-dashed bear-border-gray-300 dark:bear-border-gray-600",
8
+ filled: "bear-bg-gray-50 dark:bear-bg-gray-800/50"
9
+ }, a = "bear-border-pink-500 dark:bear-border-pink-400 bear-ring-2 bear-ring-pink-500/30 dark:bear-ring-pink-400/30 bear-bg-pink-50 dark:bear-bg-pink-950/30", b = "Bear-CheckboxCard bear-relative bear-rounded-lg bear-transition-all bear-duration-200 bear-cursor-pointer bear-text-left", d = {
10
+ sm: "bear-w-4 bear-h-4",
11
+ md: "bear-w-5 bear-h-5",
12
+ lg: "bear-w-6 bear-h-6"
13
+ }, o = 1, n = 4;
14
+ export {
15
+ d as CHECKBOX_INDICATOR_SIZE_MAP,
16
+ a as CHECKED_CLASSES,
17
+ o as DEFAULT_COLUMNS,
18
+ n as DEFAULT_GAP,
19
+ b as ROOT_CLASS,
20
+ r as SIZE_PADDING_MAP,
21
+ e as VARIANT_CLASSES
22
+ };
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ import { CheckboxCardProps, CheckboxCardGroupProps } from './CheckboxCard.types';
3
+ export declare const CheckboxCard: FC<CheckboxCardProps>;
4
+ export declare const CheckboxCardGroup: FC<CheckboxCardGroupProps>;
5
+ export default CheckboxCard;