@forgedevstack/bear 1.0.0

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 (388) hide show
  1. package/README.md +279 -0
  2. package/dist/components/Accordion/Accordion.cjs +1 -0
  3. package/dist/components/Accordion/Accordion.d.ts +22 -0
  4. package/dist/components/Accordion/Accordion.js +79 -0
  5. package/dist/components/Accordion/Accordion.types.d.ts +32 -0
  6. package/dist/components/Accordion/index.d.ts +2 -0
  7. package/dist/components/Alert/Alert.cjs +1 -0
  8. package/dist/components/Alert/Alert.d.ts +16 -0
  9. package/dist/components/Alert/Alert.js +109 -0
  10. package/dist/components/Alert/Alert.types.d.ts +23 -0
  11. package/dist/components/Alert/index.d.ts +2 -0
  12. package/dist/components/AppBar/AppBar.cjs +1 -0
  13. package/dist/components/AppBar/AppBar.d.ts +3 -0
  14. package/dist/components/AppBar/AppBar.js +49 -0
  15. package/dist/components/AppBar/AppBar.types.d.ts +12 -0
  16. package/dist/components/AppBar/index.d.ts +2 -0
  17. package/dist/components/Autocomplete/Autocomplete.cjs +1 -0
  18. package/dist/components/Autocomplete/Autocomplete.d.ts +17 -0
  19. package/dist/components/Autocomplete/Autocomplete.js +137 -0
  20. package/dist/components/Autocomplete/Autocomplete.types.d.ts +36 -0
  21. package/dist/components/Autocomplete/index.d.ts +2 -0
  22. package/dist/components/Avatar/Avatar.cjs +1 -0
  23. package/dist/components/Avatar/Avatar.d.ts +16 -0
  24. package/dist/components/Avatar/Avatar.js +102 -0
  25. package/dist/components/Avatar/Avatar.types.d.ts +31 -0
  26. package/dist/components/Avatar/index.d.ts +2 -0
  27. package/dist/components/Badge/Badge.cjs +1 -0
  28. package/dist/components/Badge/Badge.d.ts +13 -0
  29. package/dist/components/Badge/Badge.js +67 -0
  30. package/dist/components/Badge/Badge.types.d.ts +14 -0
  31. package/dist/components/Badge/index.d.ts +2 -0
  32. package/dist/components/BearLoader/BearLoader.cjs +40 -0
  33. package/dist/components/BearLoader/BearLoader.d.ts +14 -0
  34. package/dist/components/BearLoader/BearLoader.js +183 -0
  35. package/dist/components/BearLoader/BearLoader.types.d.ts +16 -0
  36. package/dist/components/BearLoader/index.d.ts +2 -0
  37. package/dist/components/BearLogo/BearLogo.cjs +1 -0
  38. package/dist/components/BearLogo/BearLogo.d.ts +18 -0
  39. package/dist/components/BearLogo/BearLogo.js +134 -0
  40. package/dist/components/BearLogo/EmberLogo.d.ts +14 -0
  41. package/dist/components/BearLogo/index.d.ts +2 -0
  42. package/dist/components/BottomNavigation/BottomNavigation.cjs +1 -0
  43. package/dist/components/BottomNavigation/BottomNavigation.d.ts +3 -0
  44. package/dist/components/BottomNavigation/BottomNavigation.js +49 -0
  45. package/dist/components/BottomNavigation/BottomNavigation.types.d.ts +16 -0
  46. package/dist/components/BottomNavigation/index.d.ts +2 -0
  47. package/dist/components/Breadcrumbs/Breadcrumbs.cjs +1 -0
  48. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +3 -0
  49. package/dist/components/Breadcrumbs/Breadcrumbs.js +41 -0
  50. package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +17 -0
  51. package/dist/components/Breadcrumbs/index.d.ts +2 -0
  52. package/dist/components/Button/Button.cjs +57 -0
  53. package/dist/components/Button/Button.d.ts +20 -0
  54. package/dist/components/Button/Button.js +125 -0
  55. package/dist/components/Button/Button.types.d.ts +18 -0
  56. package/dist/components/Button/index.d.ts +2 -0
  57. package/dist/components/ButtonGroup/ButtonGroup.cjs +1 -0
  58. package/dist/components/ButtonGroup/ButtonGroup.d.ts +16 -0
  59. package/dist/components/ButtonGroup/ButtonGroup.js +51 -0
  60. package/dist/components/ButtonGroup/ButtonGroup.types.d.ts +18 -0
  61. package/dist/components/ButtonGroup/index.d.ts +2 -0
  62. package/dist/components/Card/Card.cjs +1 -0
  63. package/dist/components/Card/Card.d.ts +31 -0
  64. package/dist/components/Card/Card.js +113 -0
  65. package/dist/components/Card/Card.types.d.ts +28 -0
  66. package/dist/components/Card/index.d.ts +2 -0
  67. package/dist/components/Carousel/Carousel.cjs +1 -0
  68. package/dist/components/Carousel/Carousel.d.ts +15 -0
  69. package/dist/components/Carousel/Carousel.js +122 -0
  70. package/dist/components/Carousel/Carousel.types.d.ts +25 -0
  71. package/dist/components/Carousel/index.d.ts +2 -0
  72. package/dist/components/Checkbox/Checkbox.cjs +1 -0
  73. package/dist/components/Checkbox/Checkbox.d.ts +13 -0
  74. package/dist/components/Checkbox/Checkbox.js +139 -0
  75. package/dist/components/Checkbox/Checkbox.types.d.ts +28 -0
  76. package/dist/components/Checkbox/index.d.ts +2 -0
  77. package/dist/components/Chip/Chip.cjs +1 -0
  78. package/dist/components/Chip/Chip.d.ts +3 -0
  79. package/dist/components/Chip/Chip.js +85 -0
  80. package/dist/components/Chip/Chip.types.d.ts +13 -0
  81. package/dist/components/Chip/index.d.ts +2 -0
  82. package/dist/components/Collapsible/Collapsible.cjs +1 -0
  83. package/dist/components/Collapsible/Collapsible.d.ts +3 -0
  84. package/dist/components/Collapsible/Collapsible.js +59 -0
  85. package/dist/components/Collapsible/Collapsible.types.d.ts +13 -0
  86. package/dist/components/Collapsible/index.d.ts +2 -0
  87. package/dist/components/ColorPicker/ColorPicker.cjs +1 -0
  88. package/dist/components/ColorPicker/ColorPicker.d.ts +3 -0
  89. package/dist/components/ColorPicker/ColorPicker.js +113 -0
  90. package/dist/components/ColorPicker/ColorPicker.types.d.ts +11 -0
  91. package/dist/components/ColorPicker/index.d.ts +2 -0
  92. package/dist/components/Container/Container.cjs +1 -0
  93. package/dist/components/Container/Container.d.ts +12 -0
  94. package/dist/components/Container/Container.js +40 -0
  95. package/dist/components/Container/Container.types.d.ts +12 -0
  96. package/dist/components/Container/index.d.ts +2 -0
  97. package/dist/components/CopyButton/CopyButton.cjs +1 -0
  98. package/dist/components/CopyButton/CopyButton.d.ts +3 -0
  99. package/dist/components/CopyButton/CopyButton.js +52 -0
  100. package/dist/components/CopyButton/CopyButton.types.d.ts +13 -0
  101. package/dist/components/CopyButton/index.d.ts +2 -0
  102. package/dist/components/DataTable/DataTable.cjs +1 -0
  103. package/dist/components/DataTable/DataTable.d.ts +22 -0
  104. package/dist/components/DataTable/DataTable.js +120 -0
  105. package/dist/components/DataTable/DataTable.types.d.ts +53 -0
  106. package/dist/components/DataTable/index.d.ts +2 -0
  107. package/dist/components/DatePicker/DatePicker.cjs +1 -0
  108. package/dist/components/DatePicker/DatePicker.d.ts +3 -0
  109. package/dist/components/DatePicker/DatePicker.js +111 -0
  110. package/dist/components/DatePicker/DatePicker.types.d.ts +25 -0
  111. package/dist/components/DatePicker/index.d.ts +2 -0
  112. package/dist/components/Divider/Divider.cjs +1 -0
  113. package/dist/components/Divider/Divider.d.ts +22 -0
  114. package/dist/components/Divider/Divider.js +99 -0
  115. package/dist/components/Divider/Divider.types.d.ts +19 -0
  116. package/dist/components/Divider/index.d.ts +2 -0
  117. package/dist/components/Drawer/Drawer.cjs +1 -0
  118. package/dist/components/Drawer/Drawer.d.ts +3 -0
  119. package/dist/components/Drawer/Drawer.js +113 -0
  120. package/dist/components/Drawer/Drawer.types.d.ts +23 -0
  121. package/dist/components/Drawer/index.d.ts +2 -0
  122. package/dist/components/Dropdown/Dropdown.cjs +1 -0
  123. package/dist/components/Dropdown/Dropdown.d.ts +19 -0
  124. package/dist/components/Dropdown/Dropdown.js +171 -0
  125. package/dist/components/Dropdown/Dropdown.types.d.ts +56 -0
  126. package/dist/components/Dropdown/index.d.ts +2 -0
  127. package/dist/components/EmptyState/EmptyState.cjs +1 -0
  128. package/dist/components/EmptyState/EmptyState.d.ts +3 -0
  129. package/dist/components/EmptyState/EmptyState.js +35 -0
  130. package/dist/components/EmptyState/EmptyState.types.d.ts +11 -0
  131. package/dist/components/EmptyState/index.d.ts +2 -0
  132. package/dist/components/Fab/Fab.cjs +1 -0
  133. package/dist/components/Fab/Fab.d.ts +17 -0
  134. package/dist/components/Fab/Fab.js +70 -0
  135. package/dist/components/Fab/Fab.types.d.ts +24 -0
  136. package/dist/components/Fab/index.d.ts +2 -0
  137. package/dist/components/FileUpload/FileUpload.cjs +1 -0
  138. package/dist/components/FileUpload/FileUpload.d.ts +3 -0
  139. package/dist/components/FileUpload/FileUpload.js +112 -0
  140. package/dist/components/FileUpload/FileUpload.types.d.ts +25 -0
  141. package/dist/components/FileUpload/index.d.ts +2 -0
  142. package/dist/components/Flex/Flex.cjs +1 -0
  143. package/dist/components/Flex/Flex.d.ts +13 -0
  144. package/dist/components/Flex/Flex.js +79 -0
  145. package/dist/components/Flex/Flex.types.d.ts +23 -0
  146. package/dist/components/Flex/index.d.ts +2 -0
  147. package/dist/components/Grid/Grid.cjs +1 -0
  148. package/dist/components/Grid/Grid.d.ts +20 -0
  149. package/dist/components/Grid/Grid.js +99 -0
  150. package/dist/components/Grid/Grid.types.d.ts +29 -0
  151. package/dist/components/Grid/index.d.ts +2 -0
  152. package/dist/components/Icon/Icon.cjs +1 -0
  153. package/dist/components/Icon/Icon.d.ts +39 -0
  154. package/dist/components/Icon/Icon.js +44 -0
  155. package/dist/components/Icon/Icon.types.d.ts +16 -0
  156. package/dist/components/Icon/icons/action.cjs +1 -0
  157. package/dist/components/Icon/icons/action.d.ts +85 -0
  158. package/dist/components/Icon/icons/action.js +351 -0
  159. package/dist/components/Icon/icons/communication.cjs +1 -0
  160. package/dist/components/Icon/icons/communication.d.ts +48 -0
  161. package/dist/components/Icon/icons/communication.js +184 -0
  162. package/dist/components/Icon/icons/content.cjs +1 -0
  163. package/dist/components/Icon/icons/content.d.ts +53 -0
  164. package/dist/components/Icon/icons/content.js +231 -0
  165. package/dist/components/Icon/icons/editor.cjs +1 -0
  166. package/dist/components/Icon/icons/editor.d.ts +53 -0
  167. package/dist/components/Icon/icons/editor.js +280 -0
  168. package/dist/components/Icon/icons/index.d.ts +9 -0
  169. package/dist/components/Icon/icons/media.cjs +1 -0
  170. package/dist/components/Icon/icons/media.d.ts +64 -0
  171. package/dist/components/Icon/icons/media.js +306 -0
  172. package/dist/components/Icon/icons/misc.cjs +1 -0
  173. package/dist/components/Icon/icons/misc.d.ts +80 -0
  174. package/dist/components/Icon/icons/misc.js +367 -0
  175. package/dist/components/Icon/icons/navigation.cjs +1 -0
  176. package/dist/components/Icon/icons/navigation.d.ts +56 -0
  177. package/dist/components/Icon/icons/navigation.js +215 -0
  178. package/dist/components/Icon/icons/status.cjs +1 -0
  179. package/dist/components/Icon/icons/status.d.ts +61 -0
  180. package/dist/components/Icon/icons/status.js +271 -0
  181. package/dist/components/Icon/index.cjs +1 -0
  182. package/dist/components/Icon/index.d.ts +506 -0
  183. package/dist/components/Icon/index.js +38 -0
  184. package/dist/components/Image/Image.cjs +1 -0
  185. package/dist/components/Image/Image.d.ts +3 -0
  186. package/dist/components/Image/Image.js +99 -0
  187. package/dist/components/Image/Image.types.d.ts +16 -0
  188. package/dist/components/Image/index.d.ts +2 -0
  189. package/dist/components/Input/Input.cjs +1 -0
  190. package/dist/components/Input/Input.d.ts +3 -0
  191. package/dist/components/Input/Input.js +64 -0
  192. package/dist/components/Input/Input.types.d.ts +17 -0
  193. package/dist/components/Input/index.d.ts +2 -0
  194. package/dist/components/Kbd/Kbd.cjs +1 -0
  195. package/dist/components/Kbd/Kbd.d.ts +3 -0
  196. package/dist/components/Kbd/Kbd.js +58 -0
  197. package/dist/components/Kbd/Kbd.types.d.ts +8 -0
  198. package/dist/components/Kbd/index.d.ts +2 -0
  199. package/dist/components/Link/Link.cjs +1 -0
  200. package/dist/components/Link/Link.d.ts +13 -0
  201. package/dist/components/Link/Link.js +81 -0
  202. package/dist/components/Link/Link.types.d.ts +18 -0
  203. package/dist/components/Link/index.d.ts +2 -0
  204. package/dist/components/List/List.cjs +1 -0
  205. package/dist/components/List/List.d.ts +35 -0
  206. package/dist/components/List/List.js +204 -0
  207. package/dist/components/List/List.types.d.ts +72 -0
  208. package/dist/components/List/index.d.ts +2 -0
  209. package/dist/components/Menu/Menu.cjs +1 -0
  210. package/dist/components/Menu/Menu.d.ts +29 -0
  211. package/dist/components/Menu/Menu.js +111 -0
  212. package/dist/components/Menu/Menu.types.d.ts +39 -0
  213. package/dist/components/Menu/index.d.ts +2 -0
  214. package/dist/components/Modal/Modal.cjs +1 -0
  215. package/dist/components/Modal/Modal.d.ts +3 -0
  216. package/dist/components/Modal/Modal.js +86 -0
  217. package/dist/components/Modal/Modal.types.d.ts +23 -0
  218. package/dist/components/Modal/index.d.ts +2 -0
  219. package/dist/components/MultiSelect/MultiSelect.cjs +1 -0
  220. package/dist/components/MultiSelect/MultiSelect.d.ts +20 -0
  221. package/dist/components/MultiSelect/MultiSelect.js +140 -0
  222. package/dist/components/MultiSelect/MultiSelect.types.d.ts +33 -0
  223. package/dist/components/MultiSelect/index.d.ts +2 -0
  224. package/dist/components/NumberInput/NumberInput.cjs +1 -0
  225. package/dist/components/NumberInput/NumberInput.d.ts +3 -0
  226. package/dist/components/NumberInput/NumberInput.js +109 -0
  227. package/dist/components/NumberInput/NumberInput.types.d.ts +18 -0
  228. package/dist/components/NumberInput/index.d.ts +2 -0
  229. package/dist/components/OTPInput/OTPInput.cjs +1 -0
  230. package/dist/components/OTPInput/OTPInput.d.ts +3 -0
  231. package/dist/components/OTPInput/OTPInput.js +83 -0
  232. package/dist/components/OTPInput/OTPInput.types.d.ts +13 -0
  233. package/dist/components/OTPInput/index.d.ts +2 -0
  234. package/dist/components/Pagination/Pagination.cjs +1 -0
  235. package/dist/components/Pagination/Pagination.d.ts +13 -0
  236. package/dist/components/Pagination/Pagination.js +156 -0
  237. package/dist/components/Pagination/Pagination.types.d.ts +34 -0
  238. package/dist/components/Pagination/index.d.ts +2 -0
  239. package/dist/components/Paper/Paper.cjs +1 -0
  240. package/dist/components/Paper/Paper.d.ts +17 -0
  241. package/dist/components/Paper/Paper.js +67 -0
  242. package/dist/components/Paper/Paper.types.d.ts +19 -0
  243. package/dist/components/Paper/index.d.ts +2 -0
  244. package/dist/components/Popover/Popover.cjs +1 -0
  245. package/dist/components/Popover/Popover.d.ts +3 -0
  246. package/dist/components/Popover/Popover.js +93 -0
  247. package/dist/components/Popover/Popover.types.d.ts +16 -0
  248. package/dist/components/Popover/index.d.ts +2 -0
  249. package/dist/components/Progress/Progress.cjs +1 -0
  250. package/dist/components/Progress/Progress.d.ts +13 -0
  251. package/dist/components/Progress/Progress.js +74 -0
  252. package/dist/components/Progress/Progress.types.d.ts +24 -0
  253. package/dist/components/Progress/index.d.ts +2 -0
  254. package/dist/components/Radio/Radio.cjs +1 -0
  255. package/dist/components/Radio/Radio.d.ts +11 -0
  256. package/dist/components/Radio/Radio.js +172 -0
  257. package/dist/components/Radio/Radio.types.d.ts +52 -0
  258. package/dist/components/Radio/index.d.ts +2 -0
  259. package/dist/components/Rating/Rating.cjs +1 -0
  260. package/dist/components/Rating/Rating.d.ts +19 -0
  261. package/dist/components/Rating/Rating.js +99 -0
  262. package/dist/components/Rating/Rating.types.d.ts +38 -0
  263. package/dist/components/Rating/index.d.ts +2 -0
  264. package/dist/components/ScrollArea/ScrollArea.cjs +1 -0
  265. package/dist/components/ScrollArea/ScrollArea.d.ts +3 -0
  266. package/dist/components/ScrollArea/ScrollArea.js +44 -0
  267. package/dist/components/ScrollArea/ScrollArea.types.d.ts +10 -0
  268. package/dist/components/ScrollArea/index.d.ts +2 -0
  269. package/dist/components/Select/Select.cjs +1 -0
  270. package/dist/components/Select/Select.d.ts +3 -0
  271. package/dist/components/Select/Select.js +105 -0
  272. package/dist/components/Select/Select.types.d.ts +27 -0
  273. package/dist/components/Select/index.d.ts +2 -0
  274. package/dist/components/Skeleton/Skeleton.cjs +1 -0
  275. package/dist/components/Skeleton/Skeleton.d.ts +27 -0
  276. package/dist/components/Skeleton/Skeleton.js +116 -0
  277. package/dist/components/Skeleton/Skeleton.types.d.ts +21 -0
  278. package/dist/components/Skeleton/index.d.ts +2 -0
  279. package/dist/components/Slider/Slider.cjs +1 -0
  280. package/dist/components/Slider/Slider.d.ts +14 -0
  281. package/dist/components/Slider/Slider.js +191 -0
  282. package/dist/components/Slider/Slider.types.d.ts +41 -0
  283. package/dist/components/Slider/index.d.ts +2 -0
  284. package/dist/components/SpeedDial/SpeedDial.cjs +1 -0
  285. package/dist/components/SpeedDial/SpeedDial.d.ts +20 -0
  286. package/dist/components/SpeedDial/SpeedDial.js +150 -0
  287. package/dist/components/SpeedDial/SpeedDial.types.d.ts +48 -0
  288. package/dist/components/SpeedDial/index.d.ts +2 -0
  289. package/dist/components/Spinner/Spinner.cjs +1 -0
  290. package/dist/components/Spinner/Spinner.d.ts +12 -0
  291. package/dist/components/Spinner/Spinner.js +51 -0
  292. package/dist/components/Spinner/Spinner.types.d.ts +11 -0
  293. package/dist/components/Spinner/index.d.ts +2 -0
  294. package/dist/components/Statistic/Statistic.cjs +1 -0
  295. package/dist/components/Statistic/Statistic.d.ts +3 -0
  296. package/dist/components/Statistic/Statistic.js +55 -0
  297. package/dist/components/Statistic/Statistic.types.d.ts +18 -0
  298. package/dist/components/Statistic/index.d.ts +2 -0
  299. package/dist/components/Stepper/Stepper.cjs +1 -0
  300. package/dist/components/Stepper/Stepper.d.ts +3 -0
  301. package/dist/components/Stepper/Stepper.js +100 -0
  302. package/dist/components/Stepper/Stepper.types.d.ts +20 -0
  303. package/dist/components/Stepper/index.d.ts +2 -0
  304. package/dist/components/Switch/Switch.cjs +1 -0
  305. package/dist/components/Switch/Switch.d.ts +3 -0
  306. package/dist/components/Switch/Switch.js +81 -0
  307. package/dist/components/Switch/Switch.types.d.ts +13 -0
  308. package/dist/components/Switch/index.d.ts +2 -0
  309. package/dist/components/Tabs/Tabs.cjs +1 -0
  310. package/dist/components/Tabs/Tabs.d.ts +30 -0
  311. package/dist/components/Tabs/Tabs.js +80 -0
  312. package/dist/components/Tabs/Tabs.types.d.ts +44 -0
  313. package/dist/components/Tabs/index.d.ts +2 -0
  314. package/dist/components/TimePicker/TimePicker.cjs +1 -0
  315. package/dist/components/TimePicker/TimePicker.d.ts +3 -0
  316. package/dist/components/TimePicker/TimePicker.js +124 -0
  317. package/dist/components/TimePicker/TimePicker.types.d.ts +17 -0
  318. package/dist/components/TimePicker/index.d.ts +2 -0
  319. package/dist/components/Timeline/Timeline.cjs +1 -0
  320. package/dist/components/Timeline/Timeline.d.ts +3 -0
  321. package/dist/components/Timeline/Timeline.js +71 -0
  322. package/dist/components/Timeline/Timeline.types.d.ts +18 -0
  323. package/dist/components/Timeline/index.d.ts +2 -0
  324. package/dist/components/Toast/Toast.cjs +1 -0
  325. package/dist/components/Toast/Toast.d.ts +9 -0
  326. package/dist/components/Toast/Toast.js +158 -0
  327. package/dist/components/Toast/Toast.types.d.ts +49 -0
  328. package/dist/components/Toast/index.d.ts +2 -0
  329. package/dist/components/Tooltip/Tooltip.cjs +1 -0
  330. package/dist/components/Tooltip/Tooltip.d.ts +3 -0
  331. package/dist/components/Tooltip/Tooltip.js +86 -0
  332. package/dist/components/Tooltip/Tooltip.types.d.ts +17 -0
  333. package/dist/components/Tooltip/index.d.ts +2 -0
  334. package/dist/components/TransferList/TransferList.cjs +1 -0
  335. package/dist/components/TransferList/TransferList.d.ts +21 -0
  336. package/dist/components/TransferList/TransferList.js +210 -0
  337. package/dist/components/TransferList/TransferList.types.d.ts +45 -0
  338. package/dist/components/TransferList/index.d.ts +2 -0
  339. package/dist/components/TreeView/TreeView.cjs +1 -0
  340. package/dist/components/TreeView/TreeView.d.ts +3 -0
  341. package/dist/components/TreeView/TreeView.js +76 -0
  342. package/dist/components/TreeView/TreeView.types.d.ts +25 -0
  343. package/dist/components/TreeView/index.d.ts +2 -0
  344. package/dist/components/Typography/Typography.cjs +1 -0
  345. package/dist/components/Typography/Typography.d.ts +14 -0
  346. package/dist/components/Typography/Typography.js +114 -0
  347. package/dist/components/Typography/Typography.types.d.ts +37 -0
  348. package/dist/components/Typography/index.d.ts +2 -0
  349. package/dist/components/index.cjs +1 -0
  350. package/dist/components/index.d.ts +132 -0
  351. package/dist/components/index.js +171 -0
  352. package/dist/context/BearProvider.cjs +1 -0
  353. package/dist/context/BearProvider.d.ts +59 -0
  354. package/dist/context/BearProvider.js +67 -0
  355. package/dist/context/defaultTheme.cjs +1 -0
  356. package/dist/context/defaultTheme.d.ts +9 -0
  357. package/dist/context/defaultTheme.js +215 -0
  358. package/dist/context/index.cjs +1 -0
  359. package/dist/context/index.d.ts +2 -0
  360. package/dist/context/index.js +10 -0
  361. package/dist/hooks/index.cjs +1 -0
  362. package/dist/hooks/index.d.ts +3 -0
  363. package/dist/hooks/index.js +13 -0
  364. package/dist/hooks/useClickOutside.cjs +1 -0
  365. package/dist/hooks/useClickOutside.d.ts +13 -0
  366. package/dist/hooks/useClickOutside.js +15 -0
  367. package/dist/hooks/useDisclosure.cjs +1 -0
  368. package/dist/hooks/useDisclosure.d.ts +26 -0
  369. package/dist/hooks/useDisclosure.js +14 -0
  370. package/dist/hooks/useMediaQuery.cjs +1 -0
  371. package/dist/hooks/useMediaQuery.d.ts +15 -0
  372. package/dist/hooks/useMediaQuery.js +21 -0
  373. package/dist/index.cjs +1 -0
  374. package/dist/index.d.ts +10 -0
  375. package/dist/index.js +195 -0
  376. package/dist/types/component.types.d.ts +39 -0
  377. package/dist/types/index.d.ts +2 -0
  378. package/dist/types/theme.types.d.ts +126 -0
  379. package/dist/utils/cn.cjs +1 -0
  380. package/dist/utils/cn.d.ts +17 -0
  381. package/dist/utils/cn.js +19 -0
  382. package/dist/utils/deepMerge.cjs +1 -0
  383. package/dist/utils/deepMerge.d.ts +9 -0
  384. package/dist/utils/deepMerge.js +13 -0
  385. package/dist/utils/index.cjs +1 -0
  386. package/dist/utils/index.d.ts +2 -0
  387. package/dist/utils/index.js +7 -0
  388. package/package.json +108 -0
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react/jsx-runtime"),p=require("react"),f=require("../../utils/cn.cjs"),y={0:"",1:"ember-shadow-sm",2:"ember-shadow",3:"ember-shadow-md",4:"ember-shadow-lg",5:"ember-shadow-xl"},w={none:"ember-rounded-none",sm:"ember-rounded-sm",md:"ember-rounded-md",lg:"ember-rounded-lg",xl:"ember-rounded-xl",full:"ember-rounded-full"},A={none:"",sm:"ember-p-2",md:"ember-p-4",lg:"ember-p-6"},m={default:"ember-bg-white dark:ember-bg-gray-900",paper:"ember-bg-gray-50 dark:ember-bg-gray-800",transparent:"ember-bg-transparent"},o=p.forwardRef(({elevation:n=1,rounded:a="md",variant:r="elevation",fullWidth:s=!1,padding:t="none",background:e="default",children:b,className:l,style:u,testId:g,...c},i)=>{const d=e&&!m[e];return S.jsx("div",{ref:i,className:f.cn(w[a],A[t],!d&&m[e],r==="elevation"&&y[n],r==="outlined"&&"ember-border ember-border-gray-200 dark:ember-border-gray-700",s&&"ember-w-full",l),style:{...u,...d&&{backgroundColor:e}},"data-testid":g,...c,children:b})});o.displayName="Paper";exports.Paper=o;
@@ -0,0 +1,17 @@
1
+ import { PaperProps } from './Paper.types';
2
+ /**
3
+ * Paper component as a surface container
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * <Paper elevation={2} padding="md">
8
+ * Content goes here
9
+ * </Paper>
10
+ *
11
+ * <Paper variant="outlined" rounded="lg">
12
+ * Outlined paper
13
+ * </Paper>
14
+ * ```
15
+ */
16
+ export declare const Paper: import('react').ForwardRefExoticComponent<PaperProps & import('react').RefAttributes<HTMLDivElement>>;
17
+ export default Paper;
@@ -0,0 +1,67 @@
1
+ import { jsx as S } from "react/jsx-runtime";
2
+ import { forwardRef as f } from "react";
3
+ import { cn as i } from "../../utils/cn.js";
4
+ const w = {
5
+ 0: "",
6
+ 1: "ember-shadow-sm",
7
+ 2: "ember-shadow",
8
+ 3: "ember-shadow-md",
9
+ 4: "ember-shadow-lg",
10
+ 5: "ember-shadow-xl"
11
+ }, c = {
12
+ none: "ember-rounded-none",
13
+ sm: "ember-rounded-sm",
14
+ md: "ember-rounded-md",
15
+ lg: "ember-rounded-lg",
16
+ xl: "ember-rounded-xl",
17
+ full: "ember-rounded-full"
18
+ }, y = {
19
+ none: "",
20
+ sm: "ember-p-2",
21
+ md: "ember-p-4",
22
+ lg: "ember-p-6"
23
+ }, o = {
24
+ default: "ember-bg-white dark:ember-bg-gray-900",
25
+ paper: "ember-bg-gray-50 dark:ember-bg-gray-800",
26
+ transparent: "ember-bg-transparent"
27
+ }, A = f(({
28
+ elevation: d = 1,
29
+ rounded: a = "md",
30
+ variant: r = "elevation",
31
+ fullWidth: b = !1,
32
+ padding: n = "none",
33
+ background: e = "default",
34
+ children: s,
35
+ className: t,
36
+ style: l,
37
+ testId: p,
38
+ ...g
39
+ }, u) => {
40
+ const m = e && !o[e];
41
+ return /* @__PURE__ */ S(
42
+ "div",
43
+ {
44
+ ref: u,
45
+ className: i(
46
+ c[a],
47
+ y[n],
48
+ !m && o[e],
49
+ r === "elevation" && w[d],
50
+ r === "outlined" && "ember-border ember-border-gray-200 dark:ember-border-gray-700",
51
+ b && "ember-w-full",
52
+ t
53
+ ),
54
+ style: {
55
+ ...l,
56
+ ...m && { backgroundColor: e }
57
+ },
58
+ "data-testid": p,
59
+ ...g,
60
+ children: s
61
+ }
62
+ );
63
+ });
64
+ A.displayName = "Paper";
65
+ export {
66
+ A as Paper
67
+ };
@@ -0,0 +1,19 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export interface PaperProps extends HTMLAttributes<HTMLDivElement> {
3
+ /** Elevation level (shadow depth) */
4
+ elevation?: 0 | 1 | 2 | 3 | 4 | 5;
5
+ /** Border radius variant */
6
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
7
+ /** Paper variant */
8
+ variant?: 'elevation' | 'outlined';
9
+ /** Whether paper should fill parent width */
10
+ fullWidth?: boolean;
11
+ /** Padding size */
12
+ padding?: 'none' | 'sm' | 'md' | 'lg';
13
+ /** Background color */
14
+ background?: 'default' | 'paper' | 'transparent' | string;
15
+ /** Content */
16
+ children?: ReactNode;
17
+ /** Test ID */
18
+ testId?: string;
19
+ }
@@ -0,0 +1,2 @@
1
+ export { Paper, default } from './Paper';
2
+ export type { PaperProps } from './Paper.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),a=require("react"),u=require("../../utils/cn.cjs"),S=({children:p,content:v,placement:b="bottom",trigger:l="click",open:c,onOpenChange:o,className:h,contentClassName:y,arrow:x=!0,closeOnClickOutside:f=!0,closeOnEscape:d=!0,offset:m=8})=>{const[g,k]=a.useState(!1),s=a.useRef(null),E=a.useRef(null),t=c!==void 0?c:g,r=a.useCallback(e=>{k(e),o==null||o(e)},[o]);a.useEffect(()=>{if(!f)return;const e=i=>{s.current&&!s.current.contains(i.target)&&r(!1)};return t&&document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[t,f,r]),a.useEffect(()=>{if(!d)return;const e=i=>{i.key==="Escape"&&r(!1)};return t&&document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[t,d,r]);const w=()=>{l==="click"&&r(!t)},z=()=>{l==="hover"&&r(!0)},j=()=>{l==="hover"&&r(!1)},L={top:"bear-bottom-full bear-left-1/2 -bear-translate-x-1/2 bear-mb-2","top-start":"bear-bottom-full bear-left-0 bear-mb-2","top-end":"bear-bottom-full bear-right-0 bear-mb-2",bottom:"bear-top-full bear-left-1/2 -bear-translate-x-1/2 bear-mt-2","bottom-start":"bear-top-full bear-left-0 bear-mt-2","bottom-end":"bear-top-full bear-right-0 bear-mt-2",left:"bear-right-full bear-top-1/2 -bear-translate-y-1/2 bear-mr-2","left-start":"bear-right-full bear-top-0 bear-mr-2","left-end":"bear-right-full bear-bottom-0 bear-mr-2",right:"bear-left-full bear-top-1/2 -bear-translate-y-1/2 bear-ml-2","right-start":"bear-left-full bear-top-0 bear-ml-2","right-end":"bear-left-full bear-bottom-0 bear-ml-2"},R={top:"bear-top-full bear-left-1/2 -bear-translate-x-1/2 bear-border-t-zinc-700 bear-border-x-transparent bear-border-b-transparent",bottom:"bear-bottom-full bear-left-1/2 -bear-translate-x-1/2 bear-border-b-zinc-700 bear-border-x-transparent bear-border-t-transparent",left:"bear-left-full bear-top-1/2 -bear-translate-y-1/2 bear-border-l-zinc-700 bear-border-y-transparent bear-border-r-transparent",right:"bear-right-full bear-top-1/2 -bear-translate-y-1/2 bear-border-r-zinc-700 bear-border-y-transparent bear-border-l-transparent"},M=b.split("-")[0];return n.jsxs("div",{ref:s,className:u.cn("bear-relative bear-inline-block",h),onMouseEnter:z,onMouseLeave:j,children:[n.jsx("div",{onClick:w,className:"bear-cursor-pointer",children:p}),t&&n.jsxs("div",{ref:E,className:u.cn("bear-absolute bear-z-50 bear-bg-zinc-800 bear-border bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-p-3",L[b],y),style:{marginTop:b.startsWith("bottom")?m:void 0,marginBottom:b.startsWith("top")?m:void 0},children:[v,x&&n.jsx("div",{className:u.cn("bear-absolute bear-w-0 bear-h-0 bear-border-8",R[M])})]})]})};exports.Popover=S;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { PopoverProps } from './Popover.types';
3
+ export declare const Popover: FC<PopoverProps>;
@@ -0,0 +1,93 @@
1
+ import { jsxs as c, jsx as m } from "react/jsx-runtime";
2
+ import { useState as I, useRef as p, useCallback as T, useEffect as h } from "react";
3
+ import { cn as s } from "../../utils/cn.js";
4
+ const P = ({
5
+ children: v,
6
+ content: y,
7
+ placement: a = "bottom",
8
+ trigger: o = "click",
9
+ open: i,
10
+ onOpenChange: b,
11
+ className: x,
12
+ contentClassName: k,
13
+ arrow: g = !0,
14
+ closeOnClickOutside: f = !0,
15
+ closeOnEscape: d = !0,
16
+ offset: u = 8
17
+ }) => {
18
+ const [w, E] = I(!1), l = p(null), z = p(null), t = i !== void 0 ? i : w, r = T((e) => {
19
+ E(e), b == null || b(e);
20
+ }, [b]);
21
+ h(() => {
22
+ if (!f) return;
23
+ const e = (n) => {
24
+ l.current && !l.current.contains(n.target) && r(!1);
25
+ };
26
+ return t && document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
27
+ }, [t, f, r]), h(() => {
28
+ if (!d) return;
29
+ const e = (n) => {
30
+ n.key === "Escape" && r(!1);
31
+ };
32
+ return t && document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
33
+ }, [t, d, r]);
34
+ const L = () => {
35
+ o === "click" && r(!t);
36
+ }, M = () => {
37
+ o === "hover" && r(!0);
38
+ }, N = () => {
39
+ o === "hover" && r(!1);
40
+ }, R = {
41
+ top: "bear-bottom-full bear-left-1/2 -bear-translate-x-1/2 bear-mb-2",
42
+ "top-start": "bear-bottom-full bear-left-0 bear-mb-2",
43
+ "top-end": "bear-bottom-full bear-right-0 bear-mb-2",
44
+ bottom: "bear-top-full bear-left-1/2 -bear-translate-x-1/2 bear-mt-2",
45
+ "bottom-start": "bear-top-full bear-left-0 bear-mt-2",
46
+ "bottom-end": "bear-top-full bear-right-0 bear-mt-2",
47
+ left: "bear-right-full bear-top-1/2 -bear-translate-y-1/2 bear-mr-2",
48
+ "left-start": "bear-right-full bear-top-0 bear-mr-2",
49
+ "left-end": "bear-right-full bear-bottom-0 bear-mr-2",
50
+ right: "bear-left-full bear-top-1/2 -bear-translate-y-1/2 bear-ml-2",
51
+ "right-start": "bear-left-full bear-top-0 bear-ml-2",
52
+ "right-end": "bear-left-full bear-bottom-0 bear-ml-2"
53
+ }, S = {
54
+ top: "bear-top-full bear-left-1/2 -bear-translate-x-1/2 bear-border-t-zinc-700 bear-border-x-transparent bear-border-b-transparent",
55
+ bottom: "bear-bottom-full bear-left-1/2 -bear-translate-x-1/2 bear-border-b-zinc-700 bear-border-x-transparent bear-border-t-transparent",
56
+ left: "bear-left-full bear-top-1/2 -bear-translate-y-1/2 bear-border-l-zinc-700 bear-border-y-transparent bear-border-r-transparent",
57
+ right: "bear-right-full bear-top-1/2 -bear-translate-y-1/2 bear-border-r-zinc-700 bear-border-y-transparent bear-border-l-transparent"
58
+ }, j = a.split("-")[0];
59
+ return /* @__PURE__ */ c(
60
+ "div",
61
+ {
62
+ ref: l,
63
+ className: s("bear-relative bear-inline-block", x),
64
+ onMouseEnter: M,
65
+ onMouseLeave: N,
66
+ children: [
67
+ /* @__PURE__ */ m("div", { onClick: L, className: "bear-cursor-pointer", children: v }),
68
+ t && /* @__PURE__ */ c(
69
+ "div",
70
+ {
71
+ ref: z,
72
+ className: s(
73
+ "bear-absolute bear-z-50 bear-bg-zinc-800 bear-border bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-p-3",
74
+ R[a],
75
+ k
76
+ ),
77
+ style: { marginTop: a.startsWith("bottom") ? u : void 0, marginBottom: a.startsWith("top") ? u : void 0 },
78
+ children: [
79
+ y,
80
+ g && /* @__PURE__ */ m("div", { className: s(
81
+ "bear-absolute bear-w-0 bear-h-0 bear-border-8",
82
+ S[j]
83
+ ) })
84
+ ]
85
+ }
86
+ )
87
+ ]
88
+ }
89
+ );
90
+ };
91
+ export {
92
+ P as Popover
93
+ };
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ export type PopoverPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
3
+ export interface PopoverProps {
4
+ children: ReactNode;
5
+ content: ReactNode;
6
+ placement?: PopoverPlacement;
7
+ trigger?: 'click' | 'hover';
8
+ open?: boolean;
9
+ onOpenChange?: (open: boolean) => void;
10
+ className?: string;
11
+ contentClassName?: string;
12
+ arrow?: boolean;
13
+ closeOnClickOutside?: boolean;
14
+ closeOnEscape?: boolean;
15
+ offset?: number;
16
+ }
@@ -0,0 +1,2 @@
1
+ export { Popover } from './Popover';
2
+ export type { PopoverProps, PopoverPlacement } from './Popover.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../utils/cn.cjs"),m={sm:"bear-h-1.5",md:"bear-h-2.5",lg:"bear-h-4"},f={default:"bear-bg-pink-500",success:"bear-bg-green-500",warning:"bear-bg-yellow-500",danger:"bear-bg-red-500",info:"bear-bg-blue-500"},x=({value:n,max:b=100,size:l="md",color:o="default",showLabel:i=!1,labelPosition:d="outside",striped:r=!1,animated:c=!1,indeterminate:a=!1,className:g,testId:u})=>{const s=Math.min(100,Math.max(0,n/b*100));return e.jsxs("div",{className:t.cn("bear-w-full",g),"data-testid":u,children:[i&&d==="outside"&&e.jsxs("div",{className:"bear-flex bear-justify-between bear-mb-1",children:[e.jsx("span",{className:"bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-gray-200",children:"Progress"}),e.jsxs("span",{className:"bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-gray-200",children:[Math.round(s),"%"]})]}),e.jsx("div",{className:t.cn("bear-w-full bear-bg-gray-200 dark:bear-bg-gray-700 bear-rounded-full bear-overflow-hidden",m[l]),children:e.jsx("div",{className:t.cn("bear-h-full bear-rounded-full bear-transition-all bear-duration-300 bear-ease-out","bear-flex bear-items-center bear-justify-center",f[o],r&&"bear-bg-stripes",c&&"bear-animate-stripes",a&&"bear-animate-indeterminate"),style:{width:a?"50%":`${s}%`,backgroundSize:r?"1rem 1rem":void 0,backgroundImage:r?"linear-gradient(45deg, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent)":void 0},role:"progressbar","aria-valuenow":a?void 0:n,"aria-valuemin":0,"aria-valuemax":b,children:i&&d==="inside"&&l==="lg"&&!a&&e.jsxs("span",{className:"bear-text-xs bear-font-medium bear-text-white",children:[Math.round(s),"%"]})})})]})};exports.Progress=x;
@@ -0,0 +1,13 @@
1
+ import { FC } from 'react';
2
+ import { ProgressProps } from './Progress.types';
3
+ /**
4
+ * Progress - Progress bar with multiple variants
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * <Progress value={75} showLabel />
9
+ * <Progress value={50} color="success" striped animated />
10
+ * <Progress indeterminate />
11
+ * ```
12
+ */
13
+ export declare const Progress: FC<ProgressProps>;
@@ -0,0 +1,74 @@
1
+ import { jsxs as a, jsx as t } from "react/jsx-runtime";
2
+ import { cn as b } from "../../utils/cn.js";
3
+ const f = {
4
+ sm: "bear-h-1.5",
5
+ md: "bear-h-2.5",
6
+ lg: "bear-h-4"
7
+ }, h = {
8
+ default: "bear-bg-pink-500",
9
+ success: "bear-bg-green-500",
10
+ warning: "bear-bg-yellow-500",
11
+ danger: "bear-bg-red-500",
12
+ info: "bear-bg-blue-500"
13
+ }, v = ({
14
+ value: n,
15
+ max: l = 100,
16
+ size: d = "md",
17
+ color: g = "default",
18
+ showLabel: i = !1,
19
+ labelPosition: o = "outside",
20
+ striped: r = !1,
21
+ animated: m = !1,
22
+ indeterminate: e = !1,
23
+ className: c,
24
+ testId: u
25
+ }) => {
26
+ const s = Math.min(100, Math.max(0, n / l * 100));
27
+ return /* @__PURE__ */ a("div", { className: b("bear-w-full", c), "data-testid": u, children: [
28
+ i && o === "outside" && /* @__PURE__ */ a("div", { className: "bear-flex bear-justify-between bear-mb-1", children: [
29
+ /* @__PURE__ */ t("span", { className: "bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-gray-200", children: "Progress" }),
30
+ /* @__PURE__ */ a("span", { className: "bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-gray-200", children: [
31
+ Math.round(s),
32
+ "%"
33
+ ] })
34
+ ] }),
35
+ /* @__PURE__ */ t(
36
+ "div",
37
+ {
38
+ className: b(
39
+ "bear-w-full bear-bg-gray-200 dark:bear-bg-gray-700 bear-rounded-full bear-overflow-hidden",
40
+ f[d]
41
+ ),
42
+ children: /* @__PURE__ */ t(
43
+ "div",
44
+ {
45
+ className: b(
46
+ "bear-h-full bear-rounded-full bear-transition-all bear-duration-300 bear-ease-out",
47
+ "bear-flex bear-items-center bear-justify-center",
48
+ h[g],
49
+ r && "bear-bg-stripes",
50
+ m && "bear-animate-stripes",
51
+ e && "bear-animate-indeterminate"
52
+ ),
53
+ style: {
54
+ width: e ? "50%" : `${s}%`,
55
+ backgroundSize: r ? "1rem 1rem" : void 0,
56
+ backgroundImage: r ? "linear-gradient(45deg, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent)" : void 0
57
+ },
58
+ role: "progressbar",
59
+ "aria-valuenow": e ? void 0 : n,
60
+ "aria-valuemin": 0,
61
+ "aria-valuemax": l,
62
+ children: i && o === "inside" && d === "lg" && !e && /* @__PURE__ */ a("span", { className: "bear-text-xs bear-font-medium bear-text-white", children: [
63
+ Math.round(s),
64
+ "%"
65
+ ] })
66
+ }
67
+ )
68
+ }
69
+ )
70
+ ] });
71
+ };
72
+ export {
73
+ v as Progress
74
+ };
@@ -0,0 +1,24 @@
1
+ export interface ProgressProps {
2
+ /** Progress value (0-100) */
3
+ value: number;
4
+ /** Maximum value */
5
+ max?: number;
6
+ /** Size variant */
7
+ size?: 'sm' | 'md' | 'lg';
8
+ /** Color variant */
9
+ color?: 'default' | 'success' | 'warning' | 'danger' | 'info';
10
+ /** Show percentage label */
11
+ showLabel?: boolean;
12
+ /** Label position */
13
+ labelPosition?: 'inside' | 'outside';
14
+ /** Striped animation */
15
+ striped?: boolean;
16
+ /** Animated stripes */
17
+ animated?: boolean;
18
+ /** Indeterminate loading state */
19
+ indeterminate?: boolean;
20
+ /** Custom class name */
21
+ className?: string;
22
+ /** Test ID */
23
+ testId?: string;
24
+ }
@@ -0,0 +1,2 @@
1
+ export { Progress } from './Progress';
2
+ export type { ProgressProps } from './Progress.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),b=require("react"),s=require("../../utils/cn.cjs"),L={xs:"ember-w-3 ember-h-3",sm:"ember-w-4 ember-h-4",md:"ember-w-5 ember-h-5",lg:"ember-w-6 ember-h-6",xl:"ember-w-7 ember-h-7"},V={xs:"ember-text-xs",sm:"ember-text-sm",md:"ember-text-base",lg:"ember-text-lg",xl:"ember-text-xl"},_={primary:"#ec4899",secondary:"#6b7280",success:"#22c55e",danger:"#ef4444",warning:"#f59e0b",info:"#3b82f6",ghost:"#9ca3af",outline:"#374151",error:"#ef4444"},A=b.createContext(null),E=b.forwardRef(({label:d,size:o="md",variant:v="primary",color:l,disabled:h=!1,error:t=!1,helperText:f,className:j,testId:g,value:m,name:i,checked:x,onChange:a,...N},S)=>{const e=b.useContext(A),p=b.useId(),n=(e==null?void 0:e.size)??o,R=(e==null?void 0:e.variant)??v,c=(e==null?void 0:e.disabled)??h,u=(e==null?void 0:e.name)??i,y=e?e.value===m:x,k=l??_[R],I=b.useCallback(()=>{if(c)return;const w=typeof m=="string"?m:String(m);e&&w&&e.onChange(w),a==null||a({target:{value:w}})},[e,m,a,c]);return r.jsxs("div",{className:s.cn("ember-flex ember-flex-col",j),children:[r.jsxs("label",{className:s.cn("ember-inline-flex ember-items-center ember-gap-2 ember-cursor-pointer",c&&"ember-opacity-50 ember-cursor-not-allowed"),children:[r.jsxs("div",{className:"ember-relative ember-flex ember-items-center ember-justify-center",children:[r.jsx("input",{ref:S,type:"radio",name:u,value:m,checked:y,disabled:c,onChange:I,className:"ember-sr-only",id:p,"data-testid":g,...N}),r.jsx("div",{className:s.cn(L[n],"ember-rounded-full ember-border-2 ember-transition-all ember-flex ember-items-center ember-justify-center",t?"ember-border-red-500":"ember-border-gray-300 dark:ember-border-gray-600",y&&!t&&"ember-border-current",!c&&"hover:ember-border-gray-400"),style:{borderColor:y&&!t?k:void 0},children:r.jsx("div",{className:s.cn("ember-rounded-full ember-transition-all ember-scale-0",y&&"ember-scale-100"),style:{width:"50%",height:"50%",backgroundColor:t?"#ef4444":k}})})]}),d&&r.jsx("span",{className:s.cn(V[n],"ember-text-gray-700 dark:ember-text-gray-300",t&&"ember-text-red-500"),children:d})]}),f&&r.jsx("span",{className:s.cn("ember-text-xs ember-mt-1 ember-ml-7",t?"ember-text-red-500":"ember-text-gray-500"),children:f})]})});E.displayName="Radio";const q=({name:d,value:o,defaultValue:v="",onChange:l,children:h,direction:t="column",size:f,variant:j,disabled:g=!1,gap:m=2,label:i,error:x=!1,helperText:a,className:N,testId:S})=>{const[e,p]=b.useState(v),n=o!==void 0,R=n?o:e,c=b.useCallback(u=>{n||p(u),l==null||l(u)},[n,l]);return r.jsxs("div",{className:s.cn("ember-flex ember-flex-col",N),role:"radiogroup","aria-label":typeof i=="string"?i:void 0,"data-testid":S,children:[i&&r.jsx("span",{className:s.cn("ember-text-sm ember-font-medium ember-mb-2 ember-text-gray-700 dark:ember-text-gray-300",x&&"ember-text-red-500"),children:i}),r.jsx(A.Provider,{value:{name:d,value:R,onChange:c,size:f,variant:j,disabled:g},children:r.jsx("div",{className:s.cn("ember-flex",t==="column"?"ember-flex-col":"ember-flex-row ember-flex-wrap"),style:{gap:`${m*.25}rem`},children:h})}),a&&r.jsx("span",{className:s.cn("ember-text-xs ember-mt-2",x?"ember-text-red-500":"ember-text-gray-500"),children:a})]})};exports.Radio=E;exports.RadioGroup=q;
@@ -0,0 +1,11 @@
1
+ import { FC } from 'react';
2
+ import { RadioProps, RadioGroupProps } from './Radio.types';
3
+ /**
4
+ * Radio input component for single selection from multiple options
5
+ */
6
+ export declare const Radio: import('react').ForwardRefExoticComponent<RadioProps & import('react').RefAttributes<HTMLInputElement>>;
7
+ /**
8
+ * RadioGroup component for grouping radio inputs
9
+ */
10
+ export declare const RadioGroup: FC<RadioGroupProps>;
11
+ export default Radio;
@@ -0,0 +1,172 @@
1
+ import { jsxs as y, jsx as t } from "react/jsx-runtime";
2
+ import { createContext as j, forwardRef as V, useContext as _, useId as z, useCallback as E, useState as G } from "react";
3
+ import { cn as r } from "../../utils/cn.js";
4
+ const O = {
5
+ xs: "ember-w-3 ember-h-3",
6
+ sm: "ember-w-4 ember-h-4",
7
+ md: "ember-w-5 ember-h-5",
8
+ lg: "ember-w-6 ember-h-6",
9
+ xl: "ember-w-7 ember-h-7"
10
+ }, Z = {
11
+ xs: "ember-text-xs",
12
+ sm: "ember-text-sm",
13
+ md: "ember-text-base",
14
+ lg: "ember-text-lg",
15
+ xl: "ember-text-xl"
16
+ }, B = {
17
+ primary: "#ec4899",
18
+ secondary: "#6b7280",
19
+ success: "#22c55e",
20
+ danger: "#ef4444",
21
+ warning: "#f59e0b",
22
+ info: "#3b82f6",
23
+ ghost: "#9ca3af",
24
+ outline: "#374151",
25
+ error: "#ef4444"
26
+ }, I = j(null), D = V(({
27
+ label: d,
28
+ size: n = "md",
29
+ variant: v = "primary",
30
+ color: l,
31
+ disabled: h = !1,
32
+ error: m = !1,
33
+ helperText: o,
34
+ className: N,
35
+ testId: p,
36
+ value: s,
37
+ name: c,
38
+ checked: f,
39
+ onChange: a,
40
+ ...g
41
+ }, S) => {
42
+ const e = _(I), w = z(), i = (e == null ? void 0 : e.size) ?? n, k = (e == null ? void 0 : e.variant) ?? v, b = (e == null ? void 0 : e.disabled) ?? h, x = (e == null ? void 0 : e.name) ?? c, u = e ? e.value === s : f, A = l ?? B[k], L = E(() => {
43
+ if (b) return;
44
+ const R = typeof s == "string" ? s : String(s);
45
+ e && R && e.onChange(R), a == null || a({ target: { value: R } });
46
+ }, [e, s, a, b]);
47
+ return /* @__PURE__ */ y("div", { className: r("ember-flex ember-flex-col", N), children: [
48
+ /* @__PURE__ */ y(
49
+ "label",
50
+ {
51
+ className: r(
52
+ "ember-inline-flex ember-items-center ember-gap-2 ember-cursor-pointer",
53
+ b && "ember-opacity-50 ember-cursor-not-allowed"
54
+ ),
55
+ children: [
56
+ /* @__PURE__ */ y("div", { className: "ember-relative ember-flex ember-items-center ember-justify-center", children: [
57
+ /* @__PURE__ */ t(
58
+ "input",
59
+ {
60
+ ref: S,
61
+ type: "radio",
62
+ name: x,
63
+ value: s,
64
+ checked: u,
65
+ disabled: b,
66
+ onChange: L,
67
+ className: "ember-sr-only",
68
+ id: w,
69
+ "data-testid": p,
70
+ ...g
71
+ }
72
+ ),
73
+ /* @__PURE__ */ t(
74
+ "div",
75
+ {
76
+ className: r(
77
+ O[i],
78
+ "ember-rounded-full ember-border-2 ember-transition-all ember-flex ember-items-center ember-justify-center",
79
+ m ? "ember-border-red-500" : "ember-border-gray-300 dark:ember-border-gray-600",
80
+ u && !m && "ember-border-current",
81
+ !b && "hover:ember-border-gray-400"
82
+ ),
83
+ style: {
84
+ borderColor: u && !m ? A : void 0
85
+ },
86
+ children: /* @__PURE__ */ t(
87
+ "div",
88
+ {
89
+ className: r(
90
+ "ember-rounded-full ember-transition-all ember-scale-0",
91
+ u && "ember-scale-100"
92
+ ),
93
+ style: {
94
+ width: "50%",
95
+ height: "50%",
96
+ backgroundColor: m ? "#ef4444" : A
97
+ }
98
+ }
99
+ )
100
+ }
101
+ )
102
+ ] }),
103
+ d && /* @__PURE__ */ t("span", { className: r(
104
+ Z[i],
105
+ "ember-text-gray-700 dark:ember-text-gray-300",
106
+ m && "ember-text-red-500"
107
+ ), children: d })
108
+ ]
109
+ }
110
+ ),
111
+ o && /* @__PURE__ */ t("span", { className: r(
112
+ "ember-text-xs ember-mt-1 ember-ml-7",
113
+ m ? "ember-text-red-500" : "ember-text-gray-500"
114
+ ), children: o })
115
+ ] });
116
+ });
117
+ D.displayName = "Radio";
118
+ const C = ({
119
+ name: d,
120
+ value: n,
121
+ defaultValue: v = "",
122
+ onChange: l,
123
+ children: h,
124
+ direction: m = "column",
125
+ size: o,
126
+ variant: N,
127
+ disabled: p = !1,
128
+ gap: s = 2,
129
+ label: c,
130
+ error: f = !1,
131
+ helperText: a,
132
+ className: g,
133
+ testId: S
134
+ }) => {
135
+ const [e, w] = G(v), i = n !== void 0, k = i ? n : e, b = E((x) => {
136
+ i || w(x), l == null || l(x);
137
+ }, [i, l]);
138
+ return /* @__PURE__ */ y(
139
+ "div",
140
+ {
141
+ className: r("ember-flex ember-flex-col", g),
142
+ role: "radiogroup",
143
+ "aria-label": typeof c == "string" ? c : void 0,
144
+ "data-testid": S,
145
+ children: [
146
+ c && /* @__PURE__ */ t("span", { className: r(
147
+ "ember-text-sm ember-font-medium ember-mb-2 ember-text-gray-700 dark:ember-text-gray-300",
148
+ f && "ember-text-red-500"
149
+ ), children: c }),
150
+ /* @__PURE__ */ t(I.Provider, { value: { name: d, value: k, onChange: b, size: o, variant: N, disabled: p }, children: /* @__PURE__ */ t(
151
+ "div",
152
+ {
153
+ className: r(
154
+ "ember-flex",
155
+ m === "column" ? "ember-flex-col" : "ember-flex-row ember-flex-wrap"
156
+ ),
157
+ style: { gap: `${s * 0.25}rem` },
158
+ children: h
159
+ }
160
+ ) }),
161
+ a && /* @__PURE__ */ t("span", { className: r(
162
+ "ember-text-xs ember-mt-2",
163
+ f ? "ember-text-red-500" : "ember-text-gray-500"
164
+ ), children: a })
165
+ ]
166
+ }
167
+ );
168
+ };
169
+ export {
170
+ D as Radio,
171
+ C as RadioGroup
172
+ };
@@ -0,0 +1,52 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ import { BearSize, BearVariant } from '../../types';
3
+ export interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
4
+ /** Radio label */
5
+ label?: ReactNode;
6
+ /** Size of the radio */
7
+ size?: BearSize;
8
+ /** Color variant */
9
+ variant?: BearVariant;
10
+ /** Custom color override */
11
+ color?: string;
12
+ /** Whether radio is disabled */
13
+ disabled?: boolean;
14
+ /** Error state */
15
+ error?: boolean;
16
+ /** Helper text shown below */
17
+ helperText?: string;
18
+ /** Test ID */
19
+ testId?: string;
20
+ }
21
+ export interface RadioGroupProps {
22
+ /** Group name for all radios */
23
+ name: string;
24
+ /** Current selected value */
25
+ value?: string;
26
+ /** Default value for uncontrolled mode */
27
+ defaultValue?: string;
28
+ /** Callback when selection changes */
29
+ onChange?: (value: string) => void;
30
+ /** Radio options */
31
+ children?: ReactNode;
32
+ /** Layout direction */
33
+ direction?: 'row' | 'column';
34
+ /** Size applied to all radios */
35
+ size?: BearSize;
36
+ /** Variant applied to all radios */
37
+ variant?: BearVariant;
38
+ /** Whether all radios are disabled */
39
+ disabled?: boolean;
40
+ /** Gap between items */
41
+ gap?: number;
42
+ /** Label for the group */
43
+ label?: ReactNode;
44
+ /** Error state for the group */
45
+ error?: boolean;
46
+ /** Helper text for the group */
47
+ helperText?: string;
48
+ /** Additional class name */
49
+ className?: string;
50
+ /** Test ID */
51
+ testId?: string;
52
+ }
@@ -0,0 +1,2 @@
1
+ export { Radio, RadioGroup, default } from './Radio';
2
+ export type { RadioProps, RadioGroupProps } from './Radio.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),l=require("react"),y=require("../../utils/cn.cjs"),U={xs:14,sm:18,md:24,lg:30,xl:36},W="#fbbf24",Y="#d1d5db",Z=({value:d,defaultValue:F=0,max:u=5,size:L="md",readOnly:o=!1,disabled:r=!1,precision:j=1,color:S=W,emptyColor:h=Y,filledIcon:v,emptyIcon:k,halfIcon:g,highlightOnHover:c=!0,showLabel:C=!1,formatLabel:E,onChange:a,className:_,testId:A,...T})=>{const[$,q]=l.useState(F),[M,w]=l.useState(null),m=d!==void 0,z=m?d:$,f=M!==null&&!o&&!r?M:z,p=U[L],B=l.useCallback(e=>{o||r||(m||q(e),a==null||a(e))},[m,a,o,r]),G=l.useCallback(e=>{o||r||!c||w(e)},[o,r,c]),N=l.useCallback(()=>{o||r||!c||w(null)},[o,r,c]),x=l.useMemo(()=>({FilledStar:({size:s,color:i})=>t.jsx("svg",{width:s,height:s,viewBox:"0 0 24 24",fill:i,stroke:"none",children:t.jsx("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})}),EmptyStar:({size:s,color:i})=>t.jsx("svg",{width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:i,strokeWidth:"2",children:t.jsx("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})}),HalfStar:({size:s,color:i,emptyColor:R})=>t.jsxs("svg",{width:s,height:s,viewBox:"0 0 24 24",children:[t.jsx("defs",{children:t.jsxs("linearGradient",{id:"halfGrad",children:[t.jsx("stop",{offset:"50%",stopColor:i}),t.jsx("stop",{offset:"50%",stopColor:R,stopOpacity:"0"})]})}),t.jsx("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",fill:"url(#halfGrad)",stroke:R,strokeWidth:"2"})]})}),[]),P=e=>{const n=f-e,b=n>=1,s=j===.5&&n>=.5&&n<1,i=n<(j===.5?.5:1);return v&&b?v:g&&s?g:k&&i?k:b?t.jsx(x.FilledStar,{size:p,color:S}):s?t.jsx(x.HalfStar,{size:p,color:S,emptyColor:h}):t.jsx(x.EmptyStar,{size:p,color:h})},D=l.useMemo(()=>Array.from({length:u},(e,n)=>n+1),[u]),H=E?E(f):`${f} out of ${u}`;return t.jsxs("div",{className:y.cn("ember-inline-flex ember-items-center ember-gap-1",r&&"ember-opacity-50 ember-cursor-not-allowed",_),role:"radiogroup","aria-label":"Rating","data-testid":A,onMouseLeave:N,...T,children:[D.map(e=>t.jsx("button",{type:"button",role:"radio","aria-checked":z>=e,"aria-label":`${e} star${e>1?"s":""}`,className:y.cn("ember-p-0.5 ember-rounded ember-transition-transform ember-bg-transparent ember-border-none",!o&&!r&&"hover:ember-scale-110 ember-cursor-pointer",o&&"ember-cursor-default",r&&"ember-cursor-not-allowed"),onClick:()=>B(e),onMouseEnter:()=>G(e),disabled:r||o,children:P(e-1)},e)),C&&t.jsx("span",{className:"ember-ml-2 ember-text-sm ember-text-gray-600 dark:ember-text-gray-400",children:H})]})};exports.Rating=Z;
@@ -0,0 +1,19 @@
1
+ import { FC } from 'react';
2
+ import { RatingProps } from './Rating.types';
3
+ /**
4
+ * Rating component for displaying and capturing user ratings
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * // Basic rating
9
+ * <Rating value={3} onChange={(v) => setRating(v)} />
10
+ *
11
+ * // Read-only rating with half stars
12
+ * <Rating value={3.5} readOnly precision={0.5} />
13
+ *
14
+ * // Custom size and color
15
+ * <Rating value={4} size="lg" color="#ec4899" />
16
+ * ```
17
+ */
18
+ export declare const Rating: FC<RatingProps>;
19
+ export default Rating;