@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
package/README.md ADDED
@@ -0,0 +1,279 @@
1
+ # @forgedevstack/bear
2
+
3
+ Strong, reliable React UI components. Tailwind-powered, zero config required. The protective force of ForgeStack.
4
+
5
+ ## Portal
6
+
7
+ Visit the [Bear UI Portal](https://bearui.com/) to explore all components, view live examples, and browse the documentation.
8
+
9
+ ## Features
10
+
11
+ - **Tailwind-Powered**: Built with Tailwind CSS, zero config required
12
+ - **React 18+**: Works with React 18 and above
13
+ - **TypeScript**: Full type safety with comprehensive TypeScript definitions
14
+ - **Comprehensive Component Library**: 50+ production-ready components
15
+ - **Accessible**: ARIA attributes and keyboard navigation support
16
+ - **Customizable**: Flexible theming and styling options
17
+ - **Tree-Shakeable**: Import only what you need
18
+ - **Zero Config**: Works out of the box with minimal setup
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ npm install @forgedevstack/bear
24
+ # or
25
+ pnpm add @forgedevstack/bear
26
+ # or
27
+ yarn add @forgedevstack/bear
28
+ ```
29
+
30
+ ### Import CSS (Required)
31
+
32
+ Import the compiled CSS file once in your app:
33
+
34
+ ```tsx
35
+ // In your main entry file (e.g., main.tsx, App.tsx, or index.css)
36
+ import '@forgedevstack/bear/styles.css';
37
+ ```
38
+
39
+ ## Quick Start
40
+
41
+ ```tsx
42
+ import { Button, Card, CardHeader, CardBody } from '@forgedevstack/bear';
43
+
44
+ function App() {
45
+ return (
46
+ <Card>
47
+ <CardHeader>
48
+ <h2>Welcome to Bear</h2>
49
+ </CardHeader>
50
+ <CardBody>
51
+ <Button variant="primary">Get Started</Button>
52
+ </CardBody>
53
+ </Card>
54
+ );
55
+ }
56
+ ```
57
+
58
+ ## Component Categories
59
+
60
+ ### Layout Components
61
+
62
+ - `Container` - Responsive container with max-width constraints
63
+ - `Flex` - Flexible box layout component
64
+ - `Grid` / `GridItem` - CSS Grid layout system
65
+
66
+ ### UI Components
67
+
68
+ - `Button` / `ButtonGroup` - Interactive button components
69
+ - `Card` - Container for content with header, body, and footer
70
+ - `Badge` - Status indicators and labels
71
+ - `Paper` - Elevated surface component
72
+ - `Divider` - Visual separator
73
+ - `Typography` - Text styling component
74
+ - `Link` - Styled link component
75
+
76
+ ### Form Components
77
+
78
+ - `Input` - Text input field
79
+ - `Select` / `MultiSelect` - Dropdown selection components
80
+ - `Checkbox` - Checkbox input
81
+ - `Radio` / `RadioGroup` - Radio button inputs
82
+ - `Switch` - Toggle switch
83
+ - `Autocomplete` - Autocomplete input
84
+ - `TransferList` - Transfer items between lists
85
+ - `FileUpload` - File upload component
86
+ - `NumberInput` - Numeric input with controls
87
+ - `OTPInput` - One-time password input
88
+ - `ColorPicker` - Color selection component
89
+ - `DatePicker` - Date selection component
90
+ - `TimePicker` - Time selection component
91
+ - `Slider` - Range slider input
92
+
93
+ ### Feedback Components
94
+
95
+ - `Alert` - Alert messages
96
+ - `Spinner` - Loading spinner
97
+ - `Rating` - Star rating component
98
+ - `Progress` - Progress indicator
99
+ - `Skeleton` - Loading skeleton states
100
+ - `Toast` / `useToast` - Toast notifications
101
+ - `BearLoader` - Custom bear-themed loader
102
+
103
+ ### Overlay Components
104
+
105
+ - `Modal` - Modal dialog
106
+ - `Drawer` - Slide-out drawer
107
+ - `Tooltip` - Tooltip component
108
+ - `Popover` - Popover component
109
+ - `Menu` / `MenuItem` - Context menu
110
+ - `Dropdown` - Dropdown menu
111
+ - `SpeedDial` - Floating action speed dial
112
+
113
+ ### Data Display
114
+
115
+ - `DataTable` - Advanced data table with sorting, filtering, and pagination
116
+ - `Carousel` - Image/content carousel
117
+ - `Accordion` - Collapsible content sections
118
+ - `Tabs` - Tabbed interface
119
+ - `List` - List component with various item types
120
+ - `Avatar` / `AvatarGroup` - User avatar display
121
+ - `Chip` - Compact element for input, attribute, or action
122
+ - `TreeView` - Hierarchical tree structure
123
+ - `Timeline` - Timeline component
124
+ - `Statistic` - Statistical display
125
+ - `EmptyState` - Empty state placeholder
126
+ - `Image` - Enhanced image component
127
+
128
+ ### Navigation Components
129
+
130
+ - `Breadcrumbs` - Navigation breadcrumbs
131
+ - `Stepper` - Step-by-step navigation
132
+ - `BottomNavigation` - Bottom navigation bar
133
+ - `AppBar` - Application bar/header
134
+ - `Pagination` - Page navigation
135
+
136
+ ### Utility Components
137
+
138
+ - `ScrollArea` - Custom scrollable area
139
+ - `Collapsible` - Collapsible content wrapper
140
+ - `Kbd` - Keyboard key display
141
+ - `CopyButton` - Copy to clipboard button
142
+ - `Icon` / `BearIcons` - Icon component library
143
+ - `BearLogo` - Bear logo component
144
+
145
+ ## Examples
146
+
147
+ ### Button
148
+
149
+ ```tsx
150
+ import { Button } from '@forgedevstack/bear';
151
+
152
+ <Button variant="primary">Primary</Button>
153
+ <Button variant="secondary">Secondary</Button>
154
+ <Button variant="outline">Outline</Button>
155
+ <Button variant="ghost">Ghost</Button>
156
+ ```
157
+
158
+ ### Card
159
+
160
+ ```tsx
161
+ import { Card, CardHeader, CardBody, CardFooter } from '@forgedevstack/bear';
162
+
163
+ <Card>
164
+ <CardHeader>Title</CardHeader>
165
+ <CardBody>Content goes here</CardBody>
166
+ <CardFooter>Footer content</CardFooter>
167
+ </Card>
168
+ ```
169
+
170
+ ### Form
171
+
172
+ ```tsx
173
+ import { Input, Select, Checkbox, Button } from '@forgedevstack/bear';
174
+
175
+ function LoginForm() {
176
+ return (
177
+ <form>
178
+ <Input label="Email" type="email" required />
179
+ <Input label="Password" type="password" required />
180
+ <Select
181
+ label="Country"
182
+ options={[
183
+ { value: 'us', label: 'United States' },
184
+ { value: 'uk', label: 'United Kingdom' },
185
+ ]}
186
+ />
187
+ <Checkbox label="Remember me" />
188
+ <Button type="submit">Submit</Button>
189
+ </form>
190
+ );
191
+ }
192
+ ```
193
+
194
+ ### DataTable
195
+
196
+ ```tsx
197
+ import { DataTable, createColumns } from '@forgedevstack/bear';
198
+
199
+ interface User {
200
+ id: number;
201
+ name: string;
202
+ email: string;
203
+ role: string;
204
+ }
205
+
206
+ const columns = createColumns<User>([
207
+ { key: 'name', header: 'Name' },
208
+ { key: 'email', header: 'Email' },
209
+ { key: 'role', header: 'Role' },
210
+ ]);
211
+
212
+ const data: User[] = [
213
+ { id: 1, name: 'John Doe', email: 'john@example.com', role: 'admin' },
214
+ { id: 2, name: 'Jane Smith', email: 'jane@example.com', role: 'user' },
215
+ ];
216
+
217
+ <DataTable data={data} columns={columns} />
218
+ ```
219
+
220
+ ### Toast Notifications
221
+
222
+ ```tsx
223
+ import { ToastProvider, useToast, Button } from '@forgedevstack/bear';
224
+
225
+ function App() {
226
+ return (
227
+ <ToastProvider>
228
+ <MyComponent />
229
+ </ToastProvider>
230
+ );
231
+ }
232
+
233
+ function MyComponent() {
234
+ const toast = useToast();
235
+
236
+ return (
237
+ <Button onClick={() => toast.success('Operation successful!')}>
238
+ Show Toast
239
+ </Button>
240
+ );
241
+ }
242
+ ```
243
+
244
+ ## Theming
245
+
246
+ Bear components support customization through Tailwind CSS. You can override default styles by configuring your Tailwind theme:
247
+
248
+ ```js
249
+ // tailwind.config.js
250
+ module.exports = {
251
+ theme: {
252
+ extend: {
253
+ colors: {
254
+ // Your custom colors
255
+ },
256
+ },
257
+ },
258
+ }
259
+ ```
260
+
261
+ ## TypeScript Support
262
+
263
+ All components are fully typed with TypeScript:
264
+
265
+ ```tsx
266
+ import { Button, ButtonProps } from '@forgedevstack/bear';
267
+
268
+ const buttonProps: ButtonProps = {
269
+ variant: 'primary',
270
+ size: 'md',
271
+ children: 'Click me',
272
+ };
273
+
274
+ <Button {...buttonProps} />
275
+ ```
276
+
277
+ ## License
278
+
279
+ MIT
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("react"),n=require("../../utils/cn.cjs"),g=u.createContext(null),m=({children:o,allowMultiple:s=!1,defaultOpen:i=[],className:t,testId:b})=>{const[d,c]=u.useState(i),l=r=>{c(a=>a.includes(r)?a.filter(x=>x!==r):s?[...a,r]:[r])};return e.jsx(g.Provider,{value:{openItems:d,toggleItem:l,allowMultiple:s},children:e.jsx("div",{className:n.cn("bear-divide-y bear-divide-gray-200 dark:bear-divide-gray-700 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-overflow-hidden",t),"data-testid":b,children:o})})},y=({id:o,title:s,children:i,disabled:t=!1,icon:b,className:d})=>{const c=u.useContext(g);if(!c)throw new Error("AccordionItem must be used within an Accordion");const{openItems:l,toggleItem:r}=c,a=l.includes(o);return e.jsxs("div",{className:n.cn("bear-bg-white dark:bear-bg-gray-900",d),children:[e.jsxs("button",{onClick:()=>!t&&r(o),disabled:t,className:n.cn("bear-w-full bear-flex bear-items-center bear-justify-between bear-px-4 bear-py-3","bear-text-left bear-font-medium bear-text-gray-900 dark:bear-text-white","hover:bear-bg-gray-50 dark:hover:bear-bg-gray-800 bear-transition-colors",t&&"bear-opacity-50 bear-cursor-not-allowed"),children:[e.jsx("span",{children:s}),b||e.jsx("svg",{className:n.cn("bear-w-5 bear-h-5 bear-text-gray-500 bear-transition-transform bear-duration-200",a&&"bear-rotate-180"),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),e.jsx("div",{className:n.cn("bear-overflow-hidden bear-transition-all bear-duration-200",a?"bear-max-h-96":"bear-max-h-0"),children:e.jsx("div",{className:"bear-px-4 bear-py-3 bear-text-gray-600 dark:bear-text-gray-300 bear-bg-gray-50 dark:bear-bg-gray-800/50",children:i})})]})};exports.Accordion=m;exports.AccordionItem=y;
@@ -0,0 +1,22 @@
1
+ import { FC } from 'react';
2
+ import { AccordionProps, AccordionItemProps } from './Accordion.types';
3
+ /**
4
+ * Accordion - Collapsible content panels
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * <Accordion allowMultiple>
9
+ * <AccordionItem id="1" title="Section 1">
10
+ * Content for section 1
11
+ * </AccordionItem>
12
+ * <AccordionItem id="2" title="Section 2">
13
+ * Content for section 2
14
+ * </AccordionItem>
15
+ * </Accordion>
16
+ * ```
17
+ */
18
+ export declare const Accordion: FC<AccordionProps>;
19
+ /**
20
+ * AccordionItem - Individual accordion panel
21
+ */
22
+ export declare const AccordionItem: FC<AccordionItemProps>;
@@ -0,0 +1,79 @@
1
+ import { jsx as e, jsxs as m } from "react/jsx-runtime";
2
+ import { createContext as h, useState as x, useContext as f } from "react";
3
+ import { cn as o } from "../../utils/cn.js";
4
+ const g = h(null), k = ({
5
+ children: n,
6
+ allowMultiple: b = !1,
7
+ defaultOpen: s = [],
8
+ className: t,
9
+ testId: d
10
+ }) => {
11
+ const [c, i] = x(s), l = (r) => {
12
+ i((a) => a.includes(r) ? a.filter((u) => u !== r) : b ? [...a, r] : [r]);
13
+ };
14
+ return /* @__PURE__ */ e(g.Provider, { value: { openItems: c, toggleItem: l, allowMultiple: b }, children: /* @__PURE__ */ e(
15
+ "div",
16
+ {
17
+ className: o("bear-divide-y bear-divide-gray-200 dark:bear-divide-gray-700 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-overflow-hidden", t),
18
+ "data-testid": d,
19
+ children: n
20
+ }
21
+ ) });
22
+ }, w = ({
23
+ id: n,
24
+ title: b,
25
+ children: s,
26
+ disabled: t = !1,
27
+ icon: d,
28
+ className: c
29
+ }) => {
30
+ const i = f(g);
31
+ if (!i)
32
+ throw new Error("AccordionItem must be used within an Accordion");
33
+ const { openItems: l, toggleItem: r } = i, a = l.includes(n);
34
+ return /* @__PURE__ */ m("div", { className: o("bear-bg-white dark:bear-bg-gray-900", c), children: [
35
+ /* @__PURE__ */ m(
36
+ "button",
37
+ {
38
+ onClick: () => !t && r(n),
39
+ disabled: t,
40
+ className: o(
41
+ "bear-w-full bear-flex bear-items-center bear-justify-between bear-px-4 bear-py-3",
42
+ "bear-text-left bear-font-medium bear-text-gray-900 dark:bear-text-white",
43
+ "hover:bear-bg-gray-50 dark:hover:bear-bg-gray-800 bear-transition-colors",
44
+ t && "bear-opacity-50 bear-cursor-not-allowed"
45
+ ),
46
+ children: [
47
+ /* @__PURE__ */ e("span", { children: b }),
48
+ d || /* @__PURE__ */ e(
49
+ "svg",
50
+ {
51
+ className: o(
52
+ "bear-w-5 bear-h-5 bear-text-gray-500 bear-transition-transform bear-duration-200",
53
+ a && "bear-rotate-180"
54
+ ),
55
+ fill: "none",
56
+ viewBox: "0 0 24 24",
57
+ stroke: "currentColor",
58
+ children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
59
+ }
60
+ )
61
+ ]
62
+ }
63
+ ),
64
+ /* @__PURE__ */ e(
65
+ "div",
66
+ {
67
+ className: o(
68
+ "bear-overflow-hidden bear-transition-all bear-duration-200",
69
+ a ? "bear-max-h-96" : "bear-max-h-0"
70
+ ),
71
+ children: /* @__PURE__ */ e("div", { className: "bear-px-4 bear-py-3 bear-text-gray-600 dark:bear-text-gray-300 bear-bg-gray-50 dark:bear-bg-gray-800/50", children: s })
72
+ }
73
+ )
74
+ ] });
75
+ };
76
+ export {
77
+ k as Accordion,
78
+ w as AccordionItem
79
+ };
@@ -0,0 +1,32 @@
1
+ import { ReactNode } from 'react';
2
+ export interface AccordionContextValue {
3
+ openItems: string[];
4
+ toggleItem: (id: string) => void;
5
+ allowMultiple: boolean;
6
+ }
7
+ export interface AccordionProps {
8
+ /** Accordion items */
9
+ children: ReactNode;
10
+ /** Allow multiple items open at once */
11
+ allowMultiple?: boolean;
12
+ /** Default open items */
13
+ defaultOpen?: string[];
14
+ /** Custom class name */
15
+ className?: string;
16
+ /** Test ID */
17
+ testId?: string;
18
+ }
19
+ export interface AccordionItemProps {
20
+ /** Unique identifier */
21
+ id: string;
22
+ /** Item header */
23
+ title: ReactNode;
24
+ /** Item content */
25
+ children: ReactNode;
26
+ /** Whether item is disabled */
27
+ disabled?: boolean;
28
+ /** Icon to show (overrides default chevron) */
29
+ icon?: ReactNode;
30
+ /** Custom class name */
31
+ className?: string;
32
+ }
@@ -0,0 +1,2 @@
1
+ export { Accordion, AccordionItem } from './Accordion';
2
+ export type { AccordionProps, AccordionItemProps, AccordionContextValue } from './Accordion.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),y=require("react"),i=require("../../utils/cn.cjs"),k={success:e.jsxs("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[e.jsx("path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14"}),e.jsx("polyline",{points:"22 4 12 14.01 9 11.01"})]}),info:e.jsxs("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),e.jsx("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]}),warning:e.jsxs("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[e.jsx("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),e.jsx("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),e.jsx("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]}),error:e.jsxs("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),e.jsx("line",{x1:"9",y1:"9",x2:"15",y2:"15"})]})},w=()=>e.jsxs("svg",{width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[e.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),v={success:{bg:"rgba(34, 197, 94, 0.1)",border:"#22c55e",text:"#166534",icon:"#22c55e"},info:{bg:"rgba(59, 130, 246, 0.1)",border:"#3b82f6",text:"#1e40af",icon:"#3b82f6"},warning:{bg:"rgba(245, 158, 11, 0.1)",border:"#f59e0b",text:"#92400e",icon:"#f59e0b"},error:{bg:"rgba(239, 68, 68, 0.1)",border:"#ef4444",text:"#991b1b",icon:"#ef4444"}},p={filled:r=>i.cn("ember-text-white",r==="success"&&"ember-bg-green-500",r==="info"&&"ember-bg-blue-500",r==="warning"&&"ember-bg-amber-500",r==="error"&&"ember-bg-red-500"),outlined:()=>"ember-bg-transparent ember-border",standard:()=>""},C=({severity:r="info",variant:t="standard",title:c,icon:n=!0,action:b,closable:a=!1,onClose:o,children:x,className:m,testId:h,...u})=>{const[g,f]=y.useState(!0);if(!g)return null;const s=v[r],l=t==="filled",j=()=>{f(!1),o==null||o()},d=()=>n===!1?null:n!==!0?n:k[r];return e.jsxs("div",{role:"alert",className:i.cn("ember-flex ember-items-start ember-gap-3 ember-p-4 ember-rounded-lg",p[t](r),m),style:{backgroundColor:l?void 0:s.bg,borderColor:t==="outlined"?s.border:void 0,color:l?void 0:s.text},"data-testid":h,...u,children:[d()&&e.jsx("span",{className:"ember-flex-shrink-0 ember-mt-0.5",style:{color:l?"currentColor":s.icon},children:d()}),e.jsxs("div",{className:"ember-flex-1 ember-min-w-0",children:[c&&e.jsx("div",{className:"ember-font-semibold ember-mb-1",children:c}),x&&e.jsx("div",{className:"ember-text-sm",children:x})]}),b&&e.jsx("div",{className:"ember-flex-shrink-0",children:b}),a&&e.jsx("button",{type:"button",onClick:j,className:i.cn("ember-flex-shrink-0 ember-p-1 ember-rounded hover:ember-bg-black/10 ember-transition-colors","ember-bg-transparent ember-border-none ember-cursor-pointer"),"aria-label":"Close alert",children:e.jsx(w,{})})]})};exports.Alert=C;
@@ -0,0 +1,16 @@
1
+ import { FC } from 'react';
2
+ import { AlertProps } from './Alert.types';
3
+ /**
4
+ * Alert component for displaying important messages
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * <Alert severity="success">Operation completed successfully!</Alert>
9
+ * <Alert severity="error" title="Error" closable onClose={() => {}}>
10
+ * Something went wrong.
11
+ * </Alert>
12
+ * <Alert severity="warning" variant="filled">Warning message</Alert>
13
+ * ```
14
+ */
15
+ export declare const Alert: FC<AlertProps>;
16
+ export default Alert;
@@ -0,0 +1,109 @@
1
+ import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
+ import { useState as p } from "react";
3
+ import { cn as b } from "../../utils/cn.js";
4
+ const w = {
5
+ success: /* @__PURE__ */ o("svg", { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
6
+ /* @__PURE__ */ e("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }),
7
+ /* @__PURE__ */ e("polyline", { points: "22 4 12 14.01 9 11.01" })
8
+ ] }),
9
+ info: /* @__PURE__ */ o("svg", { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
10
+ /* @__PURE__ */ e("circle", { cx: "12", cy: "12", r: "10" }),
11
+ /* @__PURE__ */ e("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
12
+ /* @__PURE__ */ e("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
13
+ ] }),
14
+ warning: /* @__PURE__ */ o("svg", { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
15
+ /* @__PURE__ */ e("path", { d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }),
16
+ /* @__PURE__ */ e("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
17
+ /* @__PURE__ */ e("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
18
+ ] }),
19
+ error: /* @__PURE__ */ o("svg", { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
20
+ /* @__PURE__ */ e("circle", { cx: "12", cy: "12", r: "10" }),
21
+ /* @__PURE__ */ e("line", { x1: "15", y1: "9", x2: "9", y2: "15" }),
22
+ /* @__PURE__ */ e("line", { x1: "9", y1: "9", x2: "15", y2: "15" })
23
+ ] })
24
+ }, v = () => /* @__PURE__ */ o("svg", { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: [
25
+ /* @__PURE__ */ e("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
26
+ /* @__PURE__ */ e("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
27
+ ] }), C = {
28
+ success: { bg: "rgba(34, 197, 94, 0.1)", border: "#22c55e", text: "#166534", icon: "#22c55e" },
29
+ info: { bg: "rgba(59, 130, 246, 0.1)", border: "#3b82f6", text: "#1e40af", icon: "#3b82f6" },
30
+ warning: { bg: "rgba(245, 158, 11, 0.1)", border: "#f59e0b", text: "#92400e", icon: "#f59e0b" },
31
+ error: { bg: "rgba(239, 68, 68, 0.1)", border: "#ef4444", text: "#991b1b", icon: "#ef4444" }
32
+ }, N = {
33
+ filled: (r) => b(
34
+ "ember-text-white",
35
+ r === "success" && "ember-bg-green-500",
36
+ r === "info" && "ember-bg-blue-500",
37
+ r === "warning" && "ember-bg-amber-500",
38
+ r === "error" && "ember-bg-red-500"
39
+ ),
40
+ outlined: () => "ember-bg-transparent ember-border",
41
+ standard: () => ""
42
+ }, W = ({
43
+ severity: r = "info",
44
+ variant: n = "standard",
45
+ title: c,
46
+ icon: l = !0,
47
+ action: d,
48
+ closable: h = !1,
49
+ onClose: i,
50
+ children: a,
51
+ className: x,
52
+ testId: f,
53
+ ...g
54
+ }) => {
55
+ const [u, y] = p(!0);
56
+ if (!u) return null;
57
+ const t = C[r], s = n === "filled", k = () => {
58
+ y(!1), i == null || i();
59
+ }, m = () => l === !1 ? null : l !== !0 ? l : w[r];
60
+ return /* @__PURE__ */ o(
61
+ "div",
62
+ {
63
+ role: "alert",
64
+ className: b(
65
+ "ember-flex ember-items-start ember-gap-3 ember-p-4 ember-rounded-lg",
66
+ N[n](r),
67
+ x
68
+ ),
69
+ style: {
70
+ backgroundColor: s ? void 0 : t.bg,
71
+ borderColor: n === "outlined" ? t.border : void 0,
72
+ color: s ? void 0 : t.text
73
+ },
74
+ "data-testid": f,
75
+ ...g,
76
+ children: [
77
+ m() && /* @__PURE__ */ e(
78
+ "span",
79
+ {
80
+ className: "ember-flex-shrink-0 ember-mt-0.5",
81
+ style: { color: s ? "currentColor" : t.icon },
82
+ children: m()
83
+ }
84
+ ),
85
+ /* @__PURE__ */ o("div", { className: "ember-flex-1 ember-min-w-0", children: [
86
+ c && /* @__PURE__ */ e("div", { className: "ember-font-semibold ember-mb-1", children: c }),
87
+ a && /* @__PURE__ */ e("div", { className: "ember-text-sm", children: a })
88
+ ] }),
89
+ d && /* @__PURE__ */ e("div", { className: "ember-flex-shrink-0", children: d }),
90
+ h && /* @__PURE__ */ e(
91
+ "button",
92
+ {
93
+ type: "button",
94
+ onClick: k,
95
+ className: b(
96
+ "ember-flex-shrink-0 ember-p-1 ember-rounded hover:ember-bg-black/10 ember-transition-colors",
97
+ "ember-bg-transparent ember-border-none ember-cursor-pointer"
98
+ ),
99
+ "aria-label": "Close alert",
100
+ children: /* @__PURE__ */ e(v, {})
101
+ }
102
+ )
103
+ ]
104
+ }
105
+ );
106
+ };
107
+ export {
108
+ W as Alert
109
+ };
@@ -0,0 +1,23 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export type AlertSeverity = 'success' | 'info' | 'warning' | 'error';
3
+ export type AlertVariant = 'filled' | 'outlined' | 'standard';
4
+ export interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
5
+ /** Alert severity/type */
6
+ severity?: AlertSeverity;
7
+ /** Alert visual variant */
8
+ variant?: AlertVariant;
9
+ /** Alert title */
10
+ title?: ReactNode;
11
+ /** Whether to show default icon */
12
+ icon?: boolean | ReactNode;
13
+ /** Action buttons/elements */
14
+ action?: ReactNode;
15
+ /** Whether alert can be closed */
16
+ closable?: boolean;
17
+ /** Callback when close button is clicked */
18
+ onClose?: () => void;
19
+ /** Content of the alert */
20
+ children?: ReactNode;
21
+ /** Test ID */
22
+ testId?: string;
23
+ }
@@ -0,0 +1,2 @@
1
+ export { Alert, default } from './Alert';
2
+ export type { AlertProps, AlertSeverity, AlertVariant } from './Alert.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("../../utils/cn.cjs"),f=({children:a,position:t="sticky",variant:r="default",color:b="default",className:s,leftContent:i,rightContent:c,centerContent:n,elevation:l=!0})=>{const d={fixed:"bear-fixed bear-top-0 bear-left-0 bear-right-0 bear-z-50",sticky:"bear-sticky bear-top-0 bear-z-50",static:"bear-static",relative:"bear-relative"},o={default:"bear-bg-zinc-900",transparent:"bear-bg-transparent",blur:"bear-bg-zinc-900/80 bear-backdrop-blur-md"},p={default:"",primary:"bear-bg-pink-600",dark:"bear-bg-black"};return e.jsx("header",{className:u.cn("bear-h-16 bear-px-4 bear-flex bear-items-center",d[t],r!=="transparent"&&o[r],p[b],l&&"bear-shadow-lg bear-border-b bear-border-zinc-800",s),children:a||e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"bear-flex bear-items-center bear-gap-4",children:i}),e.jsx("div",{className:"bear-flex-1 bear-flex bear-items-center bear-justify-center",children:n}),e.jsx("div",{className:"bear-flex bear-items-center bear-gap-4",children:c})]})})};exports.AppBar=f;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { AppBarProps } from './AppBar.types';
3
+ export declare const AppBar: FC<AppBarProps>;
@@ -0,0 +1,49 @@
1
+ import { jsx as e, jsxs as f, Fragment as m } from "react/jsx-runtime";
2
+ import { cn as x } from "../../utils/cn.js";
3
+ const u = ({
4
+ children: a,
5
+ position: b = "sticky",
6
+ variant: r = "default",
7
+ color: t = "default",
8
+ className: s,
9
+ leftContent: i,
10
+ rightContent: c,
11
+ centerContent: l,
12
+ elevation: n = !0
13
+ }) => {
14
+ const d = {
15
+ fixed: "bear-fixed bear-top-0 bear-left-0 bear-right-0 bear-z-50",
16
+ sticky: "bear-sticky bear-top-0 bear-z-50",
17
+ static: "bear-static",
18
+ relative: "bear-relative"
19
+ }, o = {
20
+ default: "bear-bg-zinc-900",
21
+ transparent: "bear-bg-transparent",
22
+ blur: "bear-bg-zinc-900/80 bear-backdrop-blur-md"
23
+ }, p = {
24
+ default: "",
25
+ primary: "bear-bg-pink-600",
26
+ dark: "bear-bg-black"
27
+ };
28
+ return /* @__PURE__ */ e(
29
+ "header",
30
+ {
31
+ className: x(
32
+ "bear-h-16 bear-px-4 bear-flex bear-items-center",
33
+ d[b],
34
+ r !== "transparent" && o[r],
35
+ p[t],
36
+ n && "bear-shadow-lg bear-border-b bear-border-zinc-800",
37
+ s
38
+ ),
39
+ children: a || /* @__PURE__ */ f(m, { children: [
40
+ /* @__PURE__ */ e("div", { className: "bear-flex bear-items-center bear-gap-4", children: i }),
41
+ /* @__PURE__ */ e("div", { className: "bear-flex-1 bear-flex bear-items-center bear-justify-center", children: l }),
42
+ /* @__PURE__ */ e("div", { className: "bear-flex bear-items-center bear-gap-4", children: c })
43
+ ] })
44
+ }
45
+ );
46
+ };
47
+ export {
48
+ u as AppBar
49
+ };
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ export interface AppBarProps {
3
+ children?: ReactNode;
4
+ position?: 'fixed' | 'sticky' | 'static' | 'relative';
5
+ variant?: 'default' | 'transparent' | 'blur';
6
+ color?: 'default' | 'primary' | 'dark';
7
+ className?: string;
8
+ leftContent?: ReactNode;
9
+ rightContent?: ReactNode;
10
+ centerContent?: ReactNode;
11
+ elevation?: boolean;
12
+ }
@@ -0,0 +1,2 @@
1
+ export { AppBar } from './AppBar';
2
+ export type { AppBarProps } from './AppBar.types';