@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,140 @@
1
+ import { jsxs as x, jsx as b } from "react/jsx-runtime";
2
+ import { useState as y, useRef as R, useEffect as S } from "react";
3
+ import { cn as i } from "../../utils/cn.js";
4
+ const q = ({
5
+ options: w,
6
+ value: k,
7
+ defaultValue: V = [],
8
+ onChange: l,
9
+ placeholder: j = "Select options...",
10
+ label: v,
11
+ helperText: N,
12
+ error: c,
13
+ disabled: t = !1,
14
+ maxSelections: d,
15
+ searchable: D = !0,
16
+ className: z,
17
+ testId: B
18
+ }) => {
19
+ const [f, o] = y(!1), [u, m] = y(""), [I, L] = y(V), g = R(null), h = R(null), p = k !== void 0, a = p ? k : I;
20
+ S(() => {
21
+ const e = (r) => {
22
+ g.current && !g.current.contains(r.target) && (o(!1), m(""));
23
+ };
24
+ return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
25
+ }, []);
26
+ const s = w.filter(
27
+ (e) => e.label.toLowerCase().includes(u.toLowerCase()) && !a.includes(e.value)
28
+ ), E = (e) => {
29
+ var n;
30
+ if (t || d && a.length >= d) return;
31
+ const r = [...a, e];
32
+ p || L(r), l == null || l(r), m(""), (n = h.current) == null || n.focus();
33
+ }, O = (e) => {
34
+ if (t) return;
35
+ const r = a.filter((n) => n !== e);
36
+ p || L(r), l == null || l(r);
37
+ }, K = (e) => {
38
+ e.key === "Backspace" && u === "" && a.length > 0 && O(a[a.length - 1]), e.key === "Escape" && (o(!1), m("")), e.key === "Enter" && s.length > 0 && (e.preventDefault(), E(s[0].value));
39
+ }, M = a.map(
40
+ (e) => {
41
+ var r;
42
+ return ((r = w.find((n) => n.value === e)) == null ? void 0 : r.label) || e;
43
+ }
44
+ );
45
+ return /* @__PURE__ */ x("div", { className: i("bear-w-full", z), ref: g, "data-testid": B, children: [
46
+ v && /* @__PURE__ */ b("label", { className: "bear-block bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-gray-200 bear-mb-1.5", children: v }),
47
+ /* @__PURE__ */ x(
48
+ "div",
49
+ {
50
+ className: i(
51
+ "bear-relative bear-flex bear-flex-wrap bear-items-center bear-gap-1.5 bear-min-h-[42px] bear-px-3 bear-py-2",
52
+ "bear-rounded-lg bear-border bear-bg-white dark:bear-bg-gray-900",
53
+ "bear-transition-colors bear-cursor-text",
54
+ c ? "bear-border-red-500 focus-within:bear-ring-2 focus-within:bear-ring-red-500/20" : "bear-border-gray-300 dark:bear-border-gray-600 focus-within:bear-border-amber-500 focus-within:bear-ring-2 focus-within:bear-ring-amber-500/20",
55
+ t && "bear-opacity-50 bear-cursor-not-allowed bear-bg-gray-100 dark:bear-bg-gray-800"
56
+ ),
57
+ onClick: () => {
58
+ var e;
59
+ t || (o(!0), (e = h.current) == null || e.focus());
60
+ },
61
+ children: [
62
+ M.map((e, r) => /* @__PURE__ */ x(
63
+ "span",
64
+ {
65
+ className: "bear-inline-flex bear-items-center bear-gap-1 bear-px-2 bear-py-0.5 bear-text-sm bear-rounded-md bear-bg-amber-100 dark:bear-bg-amber-900/30 bear-text-amber-800 dark:bear-text-amber-200",
66
+ children: [
67
+ e,
68
+ !t && /* @__PURE__ */ b(
69
+ "button",
70
+ {
71
+ type: "button",
72
+ onClick: (n) => {
73
+ n.stopPropagation(), O(a[r]);
74
+ },
75
+ className: "bear-ml-0.5 bear-text-amber-600 hover:bear-text-amber-800 dark:bear-text-amber-400 dark:hover:bear-text-amber-200",
76
+ children: "×"
77
+ }
78
+ )
79
+ ]
80
+ },
81
+ a[r]
82
+ )),
83
+ D && !t && /* @__PURE__ */ b(
84
+ "input",
85
+ {
86
+ ref: h,
87
+ type: "text",
88
+ value: u,
89
+ onChange: (e) => {
90
+ m(e.target.value), o(!0);
91
+ },
92
+ onFocus: () => o(!0),
93
+ onKeyDown: K,
94
+ placeholder: a.length === 0 ? j : "",
95
+ disabled: t || d !== void 0 && a.length >= d,
96
+ className: "bear-flex-1 bear-min-w-[80px] bear-bg-transparent bear-outline-none bear-text-sm bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-400"
97
+ }
98
+ ),
99
+ /* @__PURE__ */ b(
100
+ "svg",
101
+ {
102
+ className: i(
103
+ "bear-w-4 bear-h-4 bear-text-gray-400 bear-transition-transform bear-ml-auto",
104
+ f && "bear-rotate-180"
105
+ ),
106
+ fill: "none",
107
+ viewBox: "0 0 24 24",
108
+ stroke: "currentColor",
109
+ children: /* @__PURE__ */ b("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
110
+ }
111
+ )
112
+ ]
113
+ }
114
+ ),
115
+ f && !t && s.length > 0 && /* @__PURE__ */ b("div", { className: "bear-absolute bear-z-50 bear-w-full bear-mt-1 bear-py-1 bear-bg-white dark:bear-bg-gray-800 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-shadow-lg bear-max-h-60 bear-overflow-auto", children: s.map((e) => /* @__PURE__ */ b(
116
+ "button",
117
+ {
118
+ type: "button",
119
+ disabled: e.disabled,
120
+ onClick: () => E(e.value),
121
+ className: i(
122
+ "bear-w-full bear-px-3 bear-py-2 bear-text-left bear-text-sm",
123
+ "hover:bear-bg-amber-50 dark:hover:bear-bg-amber-900/20",
124
+ "bear-text-gray-900 dark:bear-text-white",
125
+ e.disabled && "bear-opacity-50 bear-cursor-not-allowed"
126
+ ),
127
+ children: e.label
128
+ },
129
+ e.value
130
+ )) }),
131
+ f && !t && s.length === 0 && u && /* @__PURE__ */ b("div", { className: "bear-absolute bear-z-50 bear-w-full bear-mt-1 bear-py-3 bear-px-4 bear-bg-white dark:bear-bg-gray-800 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-shadow-lg bear-text-sm bear-text-gray-500", children: "No options found" }),
132
+ (N || c) && /* @__PURE__ */ b("p", { className: i(
133
+ "bear-mt-1.5 bear-text-xs",
134
+ c ? "bear-text-red-500" : "bear-text-gray-500 dark:bear-text-gray-400"
135
+ ), children: c || N })
136
+ ] });
137
+ };
138
+ export {
139
+ q as MultiSelect
140
+ };
@@ -0,0 +1,33 @@
1
+ export interface MultiSelectOption {
2
+ value: string;
3
+ label: string;
4
+ disabled?: boolean;
5
+ }
6
+ export interface MultiSelectProps {
7
+ /** Available options */
8
+ options: MultiSelectOption[];
9
+ /** Selected values */
10
+ value?: string[];
11
+ /** Default selected values (uncontrolled) */
12
+ defaultValue?: string[];
13
+ /** Called when selection changes */
14
+ onChange?: (values: string[]) => void;
15
+ /** Placeholder text */
16
+ placeholder?: string;
17
+ /** Label text */
18
+ label?: string;
19
+ /** Helper text below the select */
20
+ helperText?: string;
21
+ /** Error message */
22
+ error?: string;
23
+ /** Whether the select is disabled */
24
+ disabled?: boolean;
25
+ /** Maximum number of selections */
26
+ maxSelections?: number;
27
+ /** Whether to show search input */
28
+ searchable?: boolean;
29
+ /** Custom class name */
30
+ className?: string;
31
+ /** Test ID */
32
+ testId?: string;
33
+ }
@@ -0,0 +1,2 @@
1
+ export { MultiSelect } from './MultiSelect';
2
+ export type { MultiSelectProps, MultiSelectOption } from './MultiSelect.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),k=require("react"),x=require("../../utils/cn.cjs"),E=({value:b,onChange:o,min:s,max:n,step:p=1,disabled:i=!1,label:m,helperText:f,error:c,placeholder:w="0",size:v="md",variant:C="default",showButtons:u=!0,buttonPosition:d="sides",className:I,precision:M=0})=>{const[q,g]=k.useState(b??0),t=b!==void 0?b:q;k.useEffect(()=>{b!==void 0&&g(b)},[b]);const S=a=>{let e=a;return s!==void 0&&(e=Math.max(s,e)),n!==void 0&&(e=Math.min(n,e)),Number(e.toFixed(M))},l=a=>{const e=S(a);g(e),o==null||o(e)},h=()=>l(t+p),y=()=>l(t-p),F=a=>{const e=parseFloat(a.target.value);isNaN(e)?a.target.value===""&&l(0):l(e)},j={sm:{input:"bear-py-1.5 bear-text-sm",button:"bear-w-7 bear-h-7 bear-text-sm"},md:{input:"bear-py-2",button:"bear-w-9 bear-h-9"},lg:{input:"bear-py-2.5 bear-text-lg",button:"bear-w-11 bear-h-11 bear-text-lg"}},R={default:"bear-bg-zinc-800 bear-border-zinc-600",filled:"bear-bg-zinc-700 bear-border-transparent",outline:"bear-bg-transparent bear-border-zinc-500"},z=({onClick:a,children:e,disabled:N})=>r.jsx("button",{type:"button",onClick:a,disabled:i||N,className:x.cn("bear-flex bear-items-center bear-justify-center bear-rounded bear-bg-zinc-700 bear-text-zinc-300 hover:bear-bg-zinc-600 bear-transition-colors",j[v].button,(i||N)&&"bear-opacity-50 bear-cursor-not-allowed"),children:e});return r.jsxs("div",{className:I,children:[m&&r.jsx("label",{className:"bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5",children:m}),r.jsxs("div",{className:x.cn("bear-flex bear-items-center bear-gap-2",d==="right"&&"bear-flex-row-reverse"),children:[u&&d==="sides"&&r.jsx(z,{onClick:y,disabled:s!==void 0&&t<=s,children:"−"}),r.jsx("input",{type:"text",inputMode:"decimal",value:t,onChange:F,placeholder:w,disabled:i,className:x.cn("bear-flex-1 bear-px-4 bear-rounded-lg bear-border bear-text-center bear-text-white bear-outline-none bear-transition-colors focus:bear-border-pink-500",j[v].input,R[C],c&&"bear-border-red-500",i&&"bear-opacity-50 bear-cursor-not-allowed")}),u&&d==="sides"&&r.jsx(z,{onClick:h,disabled:n!==void 0&&t>=n,children:"+"}),u&&d==="right"&&r.jsxs("div",{className:"bear-flex bear-flex-col bear-gap-0.5",children:[r.jsx("button",{type:"button",onClick:h,disabled:i||n!==void 0&&t>=n,className:"bear-px-2 bear-py-0.5 bear-bg-zinc-700 bear-text-zinc-300 hover:bear-bg-zinc-600 bear-rounded-t bear-text-xs disabled:bear-opacity-50",children:"▲"}),r.jsx("button",{type:"button",onClick:y,disabled:i||s!==void 0&&t<=s,className:"bear-px-2 bear-py-0.5 bear-bg-zinc-700 bear-text-zinc-300 hover:bear-bg-zinc-600 bear-rounded-b bear-text-xs disabled:bear-opacity-50",children:"▼"})]})]}),c&&r.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-red-400",children:c}),f&&!c&&r.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-zinc-500",children:f})]})};exports.NumberInput=E;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { NumberInputProps } from './NumberInput.types';
3
+ export declare const NumberInput: FC<NumberInputProps>;
@@ -0,0 +1,109 @@
1
+ import { jsxs as u, jsx as r } from "react/jsx-runtime";
2
+ import { useState as A, useEffect as G } from "react";
3
+ import { cn as x } from "../../utils/cn.js";
4
+ const L = ({
5
+ value: b,
6
+ onChange: l,
7
+ min: i,
8
+ max: n,
9
+ step: m = 1,
10
+ disabled: s = !1,
11
+ label: f,
12
+ helperText: v,
13
+ error: c,
14
+ placeholder: C = "0",
15
+ size: g = "md",
16
+ variant: j = "default",
17
+ showButtons: p = !0,
18
+ buttonPosition: d = "sides",
19
+ className: I,
20
+ precision: M = 0
21
+ }) => {
22
+ const [F, h] = A(b ?? 0), t = b !== void 0 ? b : F;
23
+ G(() => {
24
+ b !== void 0 && h(b);
25
+ }, [b]);
26
+ const E = (a) => {
27
+ let e = a;
28
+ return i !== void 0 && (e = Math.max(i, e)), n !== void 0 && (e = Math.min(n, e)), Number(e.toFixed(M));
29
+ }, o = (a) => {
30
+ const e = E(a);
31
+ h(e), l == null || l(e);
32
+ }, z = () => o(t + m), y = () => o(t - m), S = (a) => {
33
+ const e = parseFloat(a.target.value);
34
+ isNaN(e) ? a.target.value === "" && o(0) : o(e);
35
+ }, N = {
36
+ sm: { input: "bear-py-1.5 bear-text-sm", button: "bear-w-7 bear-h-7 bear-text-sm" },
37
+ md: { input: "bear-py-2", button: "bear-w-9 bear-h-9" },
38
+ lg: { input: "bear-py-2.5 bear-text-lg", button: "bear-w-11 bear-h-11 bear-text-lg" }
39
+ }, q = {
40
+ default: "bear-bg-zinc-800 bear-border-zinc-600",
41
+ filled: "bear-bg-zinc-700 bear-border-transparent",
42
+ outline: "bear-bg-transparent bear-border-zinc-500"
43
+ }, k = ({ onClick: a, children: e, disabled: w }) => /* @__PURE__ */ r(
44
+ "button",
45
+ {
46
+ type: "button",
47
+ onClick: a,
48
+ disabled: s || w,
49
+ className: x(
50
+ "bear-flex bear-items-center bear-justify-center bear-rounded bear-bg-zinc-700 bear-text-zinc-300 hover:bear-bg-zinc-600 bear-transition-colors",
51
+ N[g].button,
52
+ (s || w) && "bear-opacity-50 bear-cursor-not-allowed"
53
+ ),
54
+ children: e
55
+ }
56
+ );
57
+ return /* @__PURE__ */ u("div", { className: I, children: [
58
+ f && /* @__PURE__ */ r("label", { className: "bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5", children: f }),
59
+ /* @__PURE__ */ u("div", { className: x("bear-flex bear-items-center bear-gap-2", d === "right" && "bear-flex-row-reverse"), children: [
60
+ p && d === "sides" && /* @__PURE__ */ r(k, { onClick: y, disabled: i !== void 0 && t <= i, children: "−" }),
61
+ /* @__PURE__ */ r(
62
+ "input",
63
+ {
64
+ type: "text",
65
+ inputMode: "decimal",
66
+ value: t,
67
+ onChange: S,
68
+ placeholder: C,
69
+ disabled: s,
70
+ className: x(
71
+ "bear-flex-1 bear-px-4 bear-rounded-lg bear-border bear-text-center bear-text-white bear-outline-none bear-transition-colors focus:bear-border-pink-500",
72
+ N[g].input,
73
+ q[j],
74
+ c && "bear-border-red-500",
75
+ s && "bear-opacity-50 bear-cursor-not-allowed"
76
+ )
77
+ }
78
+ ),
79
+ p && d === "sides" && /* @__PURE__ */ r(k, { onClick: z, disabled: n !== void 0 && t >= n, children: "+" }),
80
+ p && d === "right" && /* @__PURE__ */ u("div", { className: "bear-flex bear-flex-col bear-gap-0.5", children: [
81
+ /* @__PURE__ */ r(
82
+ "button",
83
+ {
84
+ type: "button",
85
+ onClick: z,
86
+ disabled: s || n !== void 0 && t >= n,
87
+ className: "bear-px-2 bear-py-0.5 bear-bg-zinc-700 bear-text-zinc-300 hover:bear-bg-zinc-600 bear-rounded-t bear-text-xs disabled:bear-opacity-50",
88
+ children: "▲"
89
+ }
90
+ ),
91
+ /* @__PURE__ */ r(
92
+ "button",
93
+ {
94
+ type: "button",
95
+ onClick: y,
96
+ disabled: s || i !== void 0 && t <= i,
97
+ className: "bear-px-2 bear-py-0.5 bear-bg-zinc-700 bear-text-zinc-300 hover:bear-bg-zinc-600 bear-rounded-b bear-text-xs disabled:bear-opacity-50",
98
+ children: "▼"
99
+ }
100
+ )
101
+ ] })
102
+ ] }),
103
+ c && /* @__PURE__ */ r("p", { className: "bear-mt-1 bear-text-xs bear-text-red-400", children: c }),
104
+ v && !c && /* @__PURE__ */ r("p", { className: "bear-mt-1 bear-text-xs bear-text-zinc-500", children: v })
105
+ ] });
106
+ };
107
+ export {
108
+ L as NumberInput
109
+ };
@@ -0,0 +1,18 @@
1
+ export interface NumberInputProps {
2
+ value?: number;
3
+ onChange?: (value: number) => void;
4
+ min?: number;
5
+ max?: number;
6
+ step?: number;
7
+ disabled?: boolean;
8
+ label?: string;
9
+ helperText?: string;
10
+ error?: string;
11
+ placeholder?: string;
12
+ size?: 'sm' | 'md' | 'lg';
13
+ variant?: 'default' | 'filled' | 'outline';
14
+ showButtons?: boolean;
15
+ buttonPosition?: 'sides' | 'right';
16
+ className?: string;
17
+ precision?: number;
18
+ }
@@ -0,0 +1,2 @@
1
+ export { NumberInput } from './NumberInput';
2
+ export type { NumberInputProps } from './NumberInput.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),i=require("react"),j=require("../../utils/cn.cjs"),z=({length:t=6,value:f,onChange:l,onComplete:o,disabled:m=!1,error:k=!1,autoFocus:w=!0,mask:D=!1,size:x="md",separator:v,className:A})=>{const[u,d]=i.useState(Array(t).fill("")),s=i.useRef([]);i.useEffect(()=>{f!==void 0&&d(f.split("").concat(Array(t-f.length).fill("")).slice(0,t))},[f,t]),i.useEffect(()=>{w&&s.current[0]&&s.current[0].focus()},[w]);const p=i.useCallback(e=>{d(e);const r=e.join("");l==null||l(r),r.length===t&&e.every(a=>a!=="")&&(o==null||o(r))},[l,o,t]),P=(e,r)=>{var b;const a=r.target.value.slice(-1);if(!/^\d*$/.test(a)&&a!=="")return;const c=[...u];c[e]=a,p(c),a&&e<t-1&&((b=s.current[e+1])==null||b.focus())},R=(e,r)=>{var a,c,b;if(r.key==="Backspace")if(u[e]===""&&e>0){(a=s.current[e-1])==null||a.focus();const n=[...u];n[e-1]="",p(n)}else{const n=[...u];n[e]="",p(n)}else r.key==="ArrowLeft"&&e>0?(c=s.current[e-1])==null||c.focus():r.key==="ArrowRight"&&e<t-1&&((b=s.current[e+1])==null||b.focus())},g=e=>{var c;e.preventDefault();const r=e.clipboardData.getData("text").replace(/\D/g,"").slice(0,t),a=r.split("").concat(Array(t-r.length).fill(""));p(a),(c=s.current[Math.min(r.length,t-1)])==null||c.focus()},h={sm:"bear-w-8 bear-h-10 bear-text-lg",md:"bear-w-10 bear-h-12 bear-text-xl",lg:"bear-w-12 bear-h-14 bear-text-2xl"};return y.jsx("div",{className:j.cn("bear-flex bear-items-center bear-gap-2",A),children:u.map((e,r)=>y.jsxs("div",{className:"bear-flex bear-items-center",children:[y.jsx("input",{ref:a=>{s.current[r]=a},type:D?"password":"text",inputMode:"numeric",maxLength:1,value:e,onChange:a=>P(r,a),onKeyDown:a=>R(r,a),onPaste:g,disabled:m,className:j.cn("bear-text-center bear-font-semibold bear-rounded-lg bear-border bear-bg-zinc-800 bear-text-white bear-outline-none bear-transition-all",h[x],k?"bear-border-red-500":"bear-border-zinc-600 focus:bear-border-pink-500 focus:bear-ring-2 focus:bear-ring-pink-500/30",m&&"bear-opacity-50 bear-cursor-not-allowed")}),v&&(r+1)%v===0&&r<t-1&&y.jsx("span",{className:"bear-mx-2 bear-text-zinc-500 bear-text-xl",children:"-"})]},r))})};exports.OTPInput=z;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { OTPInputProps } from './OTPInput.types';
3
+ export declare const OTPInput: FC<OTPInputProps>;
@@ -0,0 +1,83 @@
1
+ import { jsx as p, jsxs as R } from "react/jsx-runtime";
2
+ import { useState as g, useRef as K, useEffect as d, useCallback as L } from "react";
3
+ import { cn as k } from "../../utils/cn.js";
4
+ const I = ({
5
+ length: t = 6,
6
+ value: o,
7
+ onChange: i,
8
+ onComplete: l,
9
+ disabled: m = !1,
10
+ error: D = !1,
11
+ autoFocus: w = !0,
12
+ mask: A = !1,
13
+ size: h = "md",
14
+ separator: y,
15
+ className: j
16
+ }) => {
17
+ const [b, v] = g(Array(t).fill("")), s = K([]);
18
+ d(() => {
19
+ o !== void 0 && v(o.split("").concat(Array(t - o.length).fill("")).slice(0, t));
20
+ }, [o, t]), d(() => {
21
+ w && s.current[0] && s.current[0].focus();
22
+ }, [w]);
23
+ const n = L((e) => {
24
+ v(e);
25
+ const r = e.join("");
26
+ i == null || i(r), r.length === t && e.every((a) => a !== "") && (l == null || l(r));
27
+ }, [i, l, t]), x = (e, r) => {
28
+ var f;
29
+ const a = r.target.value.slice(-1);
30
+ if (!/^\d*$/.test(a) && a !== "") return;
31
+ const c = [...b];
32
+ c[e] = a, n(c), a && e < t - 1 && ((f = s.current[e + 1]) == null || f.focus());
33
+ }, z = (e, r) => {
34
+ var a, c, f;
35
+ if (r.key === "Backspace")
36
+ if (b[e] === "" && e > 0) {
37
+ (a = s.current[e - 1]) == null || a.focus();
38
+ const u = [...b];
39
+ u[e - 1] = "", n(u);
40
+ } else {
41
+ const u = [...b];
42
+ u[e] = "", n(u);
43
+ }
44
+ else r.key === "ArrowLeft" && e > 0 ? (c = s.current[e - 1]) == null || c.focus() : r.key === "ArrowRight" && e < t - 1 && ((f = s.current[e + 1]) == null || f.focus());
45
+ }, N = (e) => {
46
+ var c;
47
+ e.preventDefault();
48
+ const r = e.clipboardData.getData("text").replace(/\D/g, "").slice(0, t), a = r.split("").concat(Array(t - r.length).fill(""));
49
+ n(a), (c = s.current[Math.min(r.length, t - 1)]) == null || c.focus();
50
+ }, P = {
51
+ sm: "bear-w-8 bear-h-10 bear-text-lg",
52
+ md: "bear-w-10 bear-h-12 bear-text-xl",
53
+ lg: "bear-w-12 bear-h-14 bear-text-2xl"
54
+ };
55
+ return /* @__PURE__ */ p("div", { className: k("bear-flex bear-items-center bear-gap-2", j), children: b.map((e, r) => /* @__PURE__ */ R("div", { className: "bear-flex bear-items-center", children: [
56
+ /* @__PURE__ */ p(
57
+ "input",
58
+ {
59
+ ref: (a) => {
60
+ s.current[r] = a;
61
+ },
62
+ type: A ? "password" : "text",
63
+ inputMode: "numeric",
64
+ maxLength: 1,
65
+ value: e,
66
+ onChange: (a) => x(r, a),
67
+ onKeyDown: (a) => z(r, a),
68
+ onPaste: N,
69
+ disabled: m,
70
+ className: k(
71
+ "bear-text-center bear-font-semibold bear-rounded-lg bear-border bear-bg-zinc-800 bear-text-white bear-outline-none bear-transition-all",
72
+ P[h],
73
+ D ? "bear-border-red-500" : "bear-border-zinc-600 focus:bear-border-pink-500 focus:bear-ring-2 focus:bear-ring-pink-500/30",
74
+ m && "bear-opacity-50 bear-cursor-not-allowed"
75
+ )
76
+ }
77
+ ),
78
+ y && (r + 1) % y === 0 && r < t - 1 && /* @__PURE__ */ p("span", { className: "bear-mx-2 bear-text-zinc-500 bear-text-xl", children: "-" })
79
+ ] }, r)) });
80
+ };
81
+ export {
82
+ I as OTPInput
83
+ };
@@ -0,0 +1,13 @@
1
+ export interface OTPInputProps {
2
+ length?: number;
3
+ value?: string;
4
+ onChange?: (value: string) => void;
5
+ onComplete?: (value: string) => void;
6
+ disabled?: boolean;
7
+ error?: boolean;
8
+ autoFocus?: boolean;
9
+ mask?: boolean;
10
+ size?: 'sm' | 'md' | 'lg';
11
+ separator?: number;
12
+ className?: string;
13
+ }
@@ -0,0 +1,2 @@
1
+ export { OTPInput } from './OTPInput';
2
+ export type { OTPInputProps } from './OTPInput.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),v=require("react"),b=require("../../utils/cn.cjs"),I=()=>r.jsx("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:r.jsx("polyline",{points:"15 18 9 12 15 6"})}),B=()=>r.jsx("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:r.jsx("polyline",{points:"9 18 15 12 9 6"})}),E=()=>r.jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[r.jsx("polyline",{points:"11 18 5 12 11 6"}),r.jsx("line",{x1:"19",y1:"6",x2:"19",y2:"18"})]}),L=()=>r.jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[r.jsx("polyline",{points:"13 18 19 12 13 6"}),r.jsx("line",{x1:"5",y1:"6",x2:"5",y2:"18"})]}),R={xs:"bear-h-6 bear-min-w-6 bear-text-xs",sm:"bear-h-8 bear-min-w-8 bear-text-sm",md:"bear-h-10 bear-min-w-10 bear-text-base",lg:"bear-h-12 bear-min-w-12 bear-text-lg",xl:"bear-h-14 bear-min-w-14 bear-text-xl"},W={text:(e,a)=>b.cn("bear-bg-transparent",a&&e==="primary"&&"bear-text-bear-600 bear-bg-bear-50 dark:bear-bg-bear-900/20",a&&e==="secondary"&&"bear-text-gray-600 bear-bg-gray-100 dark:bear-bg-gray-800",!a&&"hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800"),outlined:(e,a)=>b.cn("bear-border",a&&e==="primary"&&"bear-border-bear-500 bear-text-bear-600 bear-bg-bear-50 dark:bear-bg-bear-900/20",a&&e==="secondary"&&"bear-border-gray-400 bear-text-gray-600 bear-bg-gray-100",!a&&"bear-border-gray-300 dark:bear-border-gray-600 hover:bear-bg-gray-50 dark:hover:bear-bg-gray-800"),contained:(e,a)=>b.cn(a&&e==="primary"&&"bear-bg-bear-500 bear-text-white",a&&e==="secondary"&&"bear-bg-gray-600 bear-text-white",!a&&"bear-bg-gray-100 dark:bear-bg-gray-800 hover:bear-bg-gray-200 dark:hover:bear-bg-gray-700")},q=(e,a,t,c)=>v.useMemo(()=>{const o=(l,s)=>Array.from({length:s-l+1},(m,j)=>l+j),k=o(1,Math.min(t,e)),h=o(Math.max(e-t+1,t+1),e),d=Math.max(Math.min(a-c,e-t-c*2-1),t+2),y=Math.min(Math.max(a+c,t+c*2+2),h.length>0?h[0]-2:e-1),i=[];return i.push(...k),d>t+2?i.push("ellipsis"):t+1<e-t&&i.push(t+1),i.push(...o(d,y)),y<e-t-1?i.push("ellipsis"):e-t>t&&i.push(e-t),i.push(...h),[...new Set(i)].sort((l,s)=>l==="ellipsis"||s==="ellipsis"?0:l-s)},[e,a,t,c]),_=({count:e,page:a,defaultPage:t=1,boundaryCount:c=1,siblingCount:o=1,size:k="md",variant:h="text",color:d="primary",shape:y="circular",showFirstLast:i=!1,showPrevNext:l=!0,disabled:s=!1,onChange:m,className:j,testId:w,...S})=>{const[u,P]=v.useState(t),g=a??u,M=q(e,g,c,o),p=n=>{n<1||n>e||s||(P(n),m==null||m(n))},x=b.cn("bear-inline-flex bear-items-center bear-justify-center bear-transition-colors","bear-cursor-pointer bear-select-none",y==="circular"?"bear-rounded-full":"bear-rounded-lg",R[k],s&&"bear-opacity-50 bear-cursor-not-allowed");return r.jsxs("nav",{"aria-label":"Pagination",className:b.cn("bear-flex bear-items-center bear-gap-1",j),"data-testid":w,...S,children:[i&&r.jsx("button",{type:"button",onClick:()=>p(1),disabled:g===1||s,className:b.cn(x,"bear-text-gray-600 dark:bear-text-gray-400"),"aria-label":"First page",children:r.jsx(E,{})}),l&&r.jsx("button",{type:"button",onClick:()=>p(g-1),disabled:g===1||s,className:b.cn(x,"bear-text-gray-600 dark:bear-text-gray-400"),"aria-label":"Previous page",children:r.jsx(I,{})}),M.map((n,N)=>{if(n==="ellipsis")return r.jsx("span",{className:b.cn(x,"bear-cursor-default bear-text-gray-400"),children:"..."},`ellipsis-${N}`);const f=n===g;return r.jsx("button",{type:"button",onClick:()=>p(n),disabled:s,className:b.cn(x,W[h](d,f),"bear-text-gray-700 dark:bear-text-gray-300"),"aria-current":f?"page":void 0,children:n},n)}),l&&r.jsx("button",{type:"button",onClick:()=>p(g+1),disabled:g===e||s,className:b.cn(x,"bear-text-gray-600 dark:bear-text-gray-400"),"aria-label":"Next page",children:r.jsx(B,{})}),i&&r.jsx("button",{type:"button",onClick:()=>p(e),disabled:g===e||s,className:b.cn(x,"bear-text-gray-600 dark:bear-text-gray-400"),"aria-label":"Last page",children:r.jsx(L,{})})]})};exports.Pagination=_;
@@ -0,0 +1,13 @@
1
+ import { FC } from 'react';
2
+ import { PaginationProps } from './Pagination.types';
3
+ /**
4
+ * Pagination component for navigating through pages
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * <Pagination count={10} page={1} onChange={(page) => console.log(page)} />
9
+ * <Pagination count={20} variant="outlined" showFirstLast />
10
+ * ```
11
+ */
12
+ export declare const Pagination: FC<PaginationProps>;
13
+ export default Pagination;
@@ -0,0 +1,156 @@
1
+ import { jsxs as v, jsx as r } from "react/jsx-runtime";
2
+ import { useState as E, useMemo as L } from "react";
3
+ import { cn as i } from "../../utils/cn.js";
4
+ const W = () => /* @__PURE__ */ r("svg", { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ r("polyline", { points: "15 18 9 12 15 6" }) }), j = () => /* @__PURE__ */ r("svg", { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ r("polyline", { points: "9 18 15 12 9 6" }) }), u = () => /* @__PURE__ */ v("svg", { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
5
+ /* @__PURE__ */ r("polyline", { points: "11 18 5 12 11 6" }),
6
+ /* @__PURE__ */ r("line", { x1: "19", y1: "6", x2: "19", y2: "18" })
7
+ ] }), _ = () => /* @__PURE__ */ v("svg", { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
8
+ /* @__PURE__ */ r("polyline", { points: "13 18 19 12 13 6" }),
9
+ /* @__PURE__ */ r("line", { x1: "5", y1: "6", x2: "5", y2: "18" })
10
+ ] }), R = {
11
+ xs: "bear-h-6 bear-min-w-6 bear-text-xs",
12
+ sm: "bear-h-8 bear-min-w-8 bear-text-sm",
13
+ md: "bear-h-10 bear-min-w-10 bear-text-base",
14
+ lg: "bear-h-12 bear-min-w-12 bear-text-lg",
15
+ xl: "bear-h-14 bear-min-w-14 bear-text-xl"
16
+ }, F = {
17
+ text: (e, a) => i(
18
+ "bear-bg-transparent",
19
+ a && e === "primary" && "bear-text-bear-600 bear-bg-bear-50 dark:bear-bg-bear-900/20",
20
+ a && e === "secondary" && "bear-text-gray-600 bear-bg-gray-100 dark:bear-bg-gray-800",
21
+ !a && "hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800"
22
+ ),
23
+ outlined: (e, a) => i(
24
+ "bear-border",
25
+ a && e === "primary" && "bear-border-bear-500 bear-text-bear-600 bear-bg-bear-50 dark:bear-bg-bear-900/20",
26
+ a && e === "secondary" && "bear-border-gray-400 bear-text-gray-600 bear-bg-gray-100",
27
+ !a && "bear-border-gray-300 dark:bear-border-gray-600 hover:bear-bg-gray-50 dark:hover:bear-bg-gray-800"
28
+ ),
29
+ contained: (e, a) => i(
30
+ a && e === "primary" && "bear-bg-bear-500 bear-text-white",
31
+ a && e === "secondary" && "bear-bg-gray-600 bear-text-white",
32
+ !a && "bear-bg-gray-100 dark:bear-bg-gray-800 hover:bear-bg-gray-200 dark:hover:bear-bg-gray-700"
33
+ )
34
+ }, T = (e, a, t, o) => L(() => {
35
+ const c = (n, s) => Array.from({ length: s - n + 1 }, (m, f) => n + f), k = c(1, Math.min(t, e)), p = c(Math.max(e - t + 1, t + 1), e), d = Math.max(
36
+ Math.min(a - o, e - t - o * 2 - 1),
37
+ t + 2
38
+ ), y = Math.min(
39
+ Math.max(a + o, t + o * 2 + 2),
40
+ p.length > 0 ? p[0] - 2 : e - 1
41
+ ), b = [];
42
+ return b.push(...k), d > t + 2 ? b.push("ellipsis") : t + 1 < e - t && b.push(t + 1), b.push(...c(d, y)), y < e - t - 1 ? b.push("ellipsis") : e - t > t && b.push(e - t), b.push(...p), [...new Set(b)].sort((n, s) => n === "ellipsis" || s === "ellipsis" ? 0 : n - s);
43
+ }, [e, a, t, o]), q = ({
44
+ count: e,
45
+ page: a,
46
+ defaultPage: t = 1,
47
+ boundaryCount: o = 1,
48
+ siblingCount: c = 1,
49
+ size: k = "md",
50
+ variant: p = "text",
51
+ color: d = "primary",
52
+ shape: y = "circular",
53
+ showFirstLast: b = !1,
54
+ showPrevNext: n = !0,
55
+ disabled: s = !1,
56
+ onChange: m,
57
+ className: f,
58
+ testId: S,
59
+ ...N
60
+ }) => {
61
+ const [I, M] = E(t), g = a ?? I, P = T(e, g, o, c), x = (l) => {
62
+ l < 1 || l > e || s || (M(l), m == null || m(l));
63
+ }, h = i(
64
+ "bear-inline-flex bear-items-center bear-justify-center bear-transition-colors",
65
+ "bear-cursor-pointer bear-select-none",
66
+ y === "circular" ? "bear-rounded-full" : "bear-rounded-lg",
67
+ R[k],
68
+ s && "bear-opacity-50 bear-cursor-not-allowed"
69
+ );
70
+ return /* @__PURE__ */ v(
71
+ "nav",
72
+ {
73
+ "aria-label": "Pagination",
74
+ className: i("bear-flex bear-items-center bear-gap-1", f),
75
+ "data-testid": S,
76
+ ...N,
77
+ children: [
78
+ b && /* @__PURE__ */ r(
79
+ "button",
80
+ {
81
+ type: "button",
82
+ onClick: () => x(1),
83
+ disabled: g === 1 || s,
84
+ className: i(h, "bear-text-gray-600 dark:bear-text-gray-400"),
85
+ "aria-label": "First page",
86
+ children: /* @__PURE__ */ r(u, {})
87
+ }
88
+ ),
89
+ n && /* @__PURE__ */ r(
90
+ "button",
91
+ {
92
+ type: "button",
93
+ onClick: () => x(g - 1),
94
+ disabled: g === 1 || s,
95
+ className: i(h, "bear-text-gray-600 dark:bear-text-gray-400"),
96
+ "aria-label": "Previous page",
97
+ children: /* @__PURE__ */ r(W, {})
98
+ }
99
+ ),
100
+ P.map((l, B) => {
101
+ if (l === "ellipsis")
102
+ return /* @__PURE__ */ r(
103
+ "span",
104
+ {
105
+ className: i(h, "bear-cursor-default bear-text-gray-400"),
106
+ children: "..."
107
+ },
108
+ `ellipsis-${B}`
109
+ );
110
+ const w = l === g;
111
+ return /* @__PURE__ */ r(
112
+ "button",
113
+ {
114
+ type: "button",
115
+ onClick: () => x(l),
116
+ disabled: s,
117
+ className: i(
118
+ h,
119
+ F[p](d, w),
120
+ "bear-text-gray-700 dark:bear-text-gray-300"
121
+ ),
122
+ "aria-current": w ? "page" : void 0,
123
+ children: l
124
+ },
125
+ l
126
+ );
127
+ }),
128
+ n && /* @__PURE__ */ r(
129
+ "button",
130
+ {
131
+ type: "button",
132
+ onClick: () => x(g + 1),
133
+ disabled: g === e || s,
134
+ className: i(h, "bear-text-gray-600 dark:bear-text-gray-400"),
135
+ "aria-label": "Next page",
136
+ children: /* @__PURE__ */ r(j, {})
137
+ }
138
+ ),
139
+ b && /* @__PURE__ */ r(
140
+ "button",
141
+ {
142
+ type: "button",
143
+ onClick: () => x(e),
144
+ disabled: g === e || s,
145
+ className: i(h, "bear-text-gray-600 dark:bear-text-gray-400"),
146
+ "aria-label": "Last page",
147
+ children: /* @__PURE__ */ r(_, {})
148
+ }
149
+ )
150
+ ]
151
+ }
152
+ );
153
+ };
154
+ export {
155
+ q as Pagination
156
+ };
@@ -0,0 +1,34 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { BearSize, BearVariant } from '../../types';
3
+ export interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, 'onChange'> {
4
+ /** Total number of pages */
5
+ count: number;
6
+ /** Current page (1-indexed) */
7
+ page?: number;
8
+ /** Default page for uncontrolled mode */
9
+ defaultPage?: number;
10
+ /** Number of pages to show at the boundaries */
11
+ boundaryCount?: number;
12
+ /** Number of pages to show around current page */
13
+ siblingCount?: number;
14
+ /** Size of pagination buttons */
15
+ size?: BearSize;
16
+ /** Variant style */
17
+ variant?: 'text' | 'outlined' | 'contained';
18
+ /** Color theme */
19
+ color?: BearVariant;
20
+ /** Shape of buttons */
21
+ shape?: 'circular' | 'rounded';
22
+ /** Show first/last buttons */
23
+ showFirstLast?: boolean;
24
+ /** Show previous/next buttons */
25
+ showPrevNext?: boolean;
26
+ /** Disabled state */
27
+ disabled?: boolean;
28
+ /** Callback when page changes */
29
+ onChange?: (page: number) => void;
30
+ /** Additional CSS class */
31
+ className?: string;
32
+ /** Test ID */
33
+ testId?: string;
34
+ }
@@ -0,0 +1,2 @@
1
+ export { Pagination } from './Pagination';
2
+ export type { PaginationProps } from './Pagination.types';