@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,113 @@
1
+ import { jsxs as l, jsx as r } from "react/jsx-runtime";
2
+ import { useCallback as u, useEffect as w } from "react";
3
+ import { createPortal as g } from "react-dom";
4
+ import { cn as y } from "../../utils/cn.js";
5
+ import { XIcon as p } from "../Icon/index.js";
6
+ const x = {
7
+ left: {
8
+ sm: "bear-w-64",
9
+ md: "bear-w-80",
10
+ lg: "bear-w-96",
11
+ xl: "bear-w-[32rem]"
12
+ },
13
+ right: {
14
+ sm: "bear-w-64",
15
+ md: "bear-w-80",
16
+ lg: "bear-w-96",
17
+ xl: "bear-w-[32rem]"
18
+ },
19
+ top: {
20
+ sm: "bear-h-32",
21
+ md: "bear-h-48",
22
+ lg: "bear-h-64",
23
+ xl: "bear-h-96"
24
+ },
25
+ bottom: {
26
+ sm: "bear-h-32",
27
+ md: "bear-h-48",
28
+ lg: "bear-h-64",
29
+ xl: "bear-h-96"
30
+ }
31
+ }, v = {
32
+ left: "bear-left-0 bear-top-0 bear-h-full",
33
+ right: "bear-right-0 bear-top-0 bear-h-full",
34
+ top: "bear-top-0 bear-left-0 bear-w-full",
35
+ bottom: "bear-bottom-0 bear-left-0 bear-w-full"
36
+ }, z = ({
37
+ isOpen: t,
38
+ onClose: a,
39
+ title: b,
40
+ children: m,
41
+ side: e = "right",
42
+ size: s = "md",
43
+ showCloseButton: d = !0,
44
+ closeOnBackdrop: n = !0,
45
+ closeOnEscape: i = !0,
46
+ className: c
47
+ }) => {
48
+ const o = u(
49
+ (h) => {
50
+ i && h.key === "Escape" && a();
51
+ },
52
+ [i, a]
53
+ );
54
+ if (w(() => (t && (document.addEventListener("keydown", o), document.body.style.overflow = "hidden"), () => {
55
+ document.removeEventListener("keydown", o), document.body.style.overflow = "";
56
+ }), [t, o]), !t) return null;
57
+ const f = /* @__PURE__ */ l("div", { className: "bear-fixed bear-inset-0 bear-z-50", children: [
58
+ /* @__PURE__ */ r(
59
+ "div",
60
+ {
61
+ className: "bear-absolute bear-inset-0 bear-bg-black/60 bear-backdrop-blur-sm",
62
+ onClick: n ? a : void 0,
63
+ "aria-hidden": "true"
64
+ }
65
+ ),
66
+ /* @__PURE__ */ l(
67
+ "div",
68
+ {
69
+ role: "dialog",
70
+ "aria-modal": "true",
71
+ "aria-labelledby": b ? "drawer-title" : void 0,
72
+ className: y(
73
+ "bear-absolute bear-bg-gray-900 bear-shadow-2xl",
74
+ "bear-border-gray-700 bear-overflow-hidden",
75
+ "bear-transform bear-transition-transform bear-duration-300",
76
+ e === "left" && "bear-border-r",
77
+ e === "right" && "bear-border-l",
78
+ e === "top" && "bear-border-b",
79
+ e === "bottom" && "bear-border-t",
80
+ v[e],
81
+ x[e][s],
82
+ c
83
+ ),
84
+ children: [
85
+ (b || d) && /* @__PURE__ */ l("div", { className: "bear-flex bear-items-center bear-justify-between bear-px-4 bear-py-3 bear-border-b bear-border-gray-700", children: [
86
+ b && /* @__PURE__ */ r(
87
+ "h2",
88
+ {
89
+ id: "drawer-title",
90
+ className: "bear-text-lg bear-font-semibold bear-text-white",
91
+ children: b
92
+ }
93
+ ),
94
+ d && /* @__PURE__ */ r(
95
+ "button",
96
+ {
97
+ onClick: a,
98
+ className: "bear-p-1 bear-rounded-lg bear-text-gray-400 hover:bear-text-white hover:bear-bg-gray-700 bear-transition-colors",
99
+ "aria-label": "Close drawer",
100
+ children: /* @__PURE__ */ r(p, { className: "bear-w-5 bear-h-5" })
101
+ }
102
+ )
103
+ ] }),
104
+ /* @__PURE__ */ r("div", { className: "bear-flex-1 bear-overflow-y-auto bear-p-4 bear-text-gray-300", children: m })
105
+ ]
106
+ }
107
+ )
108
+ ] });
109
+ return g(f, document.body);
110
+ };
111
+ export {
112
+ z as Drawer
113
+ };
@@ -0,0 +1,23 @@
1
+ import { ReactNode } from 'react';
2
+ export interface DrawerProps {
3
+ /** Whether the drawer is open */
4
+ isOpen: boolean;
5
+ /** Callback when drawer should close */
6
+ onClose: () => void;
7
+ /** Drawer title */
8
+ title?: string;
9
+ /** Drawer content */
10
+ children: ReactNode;
11
+ /** Side from which drawer appears */
12
+ side?: 'left' | 'right' | 'top' | 'bottom';
13
+ /** Drawer size */
14
+ size?: 'sm' | 'md' | 'lg' | 'xl';
15
+ /** Whether to show close button */
16
+ showCloseButton?: boolean;
17
+ /** Whether clicking backdrop closes drawer */
18
+ closeOnBackdrop?: boolean;
19
+ /** Whether pressing Escape closes drawer */
20
+ closeOnEscape?: boolean;
21
+ /** Additional class names */
22
+ className?: string;
23
+ }
@@ -0,0 +1,2 @@
1
+ export { Drawer } from './Drawer';
2
+ export type { DrawerProps } from './Drawer.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),r=require("react"),y=require("../../utils/cn.cjs"),_={xs:"ember-text-xs ember-py-1 ember-px-2",sm:"ember-text-sm ember-py-1.5 ember-px-3",md:"ember-text-sm ember-py-2 ember-px-3",lg:"ember-text-base ember-py-2.5 ember-px-4",xl:"ember-text-lg ember-py-3 ember-px-5"},B={"bottom-start":"ember-top-full ember-left-0 ember-mt-1","bottom-end":"ember-top-full ember-right-0 ember-mt-1",bottom:"ember-top-full ember-left-1/2 -ember-translate-x-1/2 ember-mt-1","top-start":"ember-bottom-full ember-left-0 ember-mb-1","top-end":"ember-bottom-full ember-right-0 ember-mb-1",top:"ember-bottom-full ember-left-1/2 -ember-translate-x-1/2 ember-mb-1",left:"ember-right-full ember-top-0 ember-mr-1",right:"ember-left-full ember-top-0 ember-ml-1"},K=({trigger:f,items:c,open:h,defaultOpen:N=!1,placement:S="bottom-start",offset:U=4,matchWidth:C=!1,minWidth:D=150,maxHeight:I=300,size:R="md",closeOnSelect:k=!0,closeOnClickOutside:v=!0,disabled:w=!1,onOpenChange:i,className:L,testId:A,...q})=>{var j;const[M,W]=r.useState(N),[l,o]=r.useState(-1),x=r.useRef(null),z=r.useRef(null),E=r.useRef(null),p=h!==void 0,n=p?h:M,u=r.useCallback(e=>{p||W(e),i==null||i(e)},[p,i]),F=r.useCallback(()=>{w||u(!n)},[w,n,u]),a=r.useCallback(()=>{u(!1),o(-1)},[u]),g=r.useCallback(e=>{var b;e.disabled||e.divider||e.header||((b=e.onClick)==null||b.call(e),k&&!e.items&&a())},[k,a]);r.useEffect(()=>{if(!v||!n)return;const e=b=>{x.current&&!x.current.contains(b.target)&&a()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[n,v,a]),r.useEffect(()=>{if(!n)return;const e=c.filter(t=>!t.disabled&&!t.divider&&!t.header),b=t=>{switch(t.key){case"Escape":t.preventDefault(),a();break;case"ArrowDown":t.preventDefault(),o(d=>{const m=d+1;return m>=e.length?0:m});break;case"ArrowUp":t.preventDefault(),o(d=>{const m=d-1;return m<0?e.length-1:m});break;case"Enter":case" ":t.preventDefault(),l>=0&&l<e.length&&g(e[l]);break}};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[n,c,l,a,g]),r.useEffect(()=>{n||o(-1)},[n]);const P=(e,b)=>{if(e.divider)return s.jsx("div",{className:"ember-my-1 ember-mx-2 ember-h-px ember-bg-gray-200 dark:ember-bg-gray-700",role:"separator"},e.key);if(e.header)return s.jsx("div",{className:"ember-px-3 ember-py-1.5 ember-text-xs ember-font-semibold ember-uppercase ember-tracking-wider ember-text-gray-500 dark:ember-text-gray-400",children:e.label},e.key);const t=c.slice(0,b).filter(m=>!m.disabled&&!m.divider&&!m.header).length,d=l===t;return s.jsxs("button",{type:"button",role:"menuitem",disabled:e.disabled,onClick:()=>g(e),onMouseEnter:()=>o(t),className:y.cn("ember-w-full ember-flex ember-items-center ember-gap-2 ember-text-left ember-border-none ember-bg-transparent",_[R],"ember-transition-colors ember-cursor-pointer",d&&"ember-bg-gray-100 dark:ember-bg-gray-800",e.danger?"ember-text-red-600 dark:ember-text-red-400 hover:ember-bg-red-50 dark:hover:ember-bg-red-900/20":"ember-text-gray-700 dark:ember-text-gray-200 hover:ember-bg-gray-100 dark:hover:ember-bg-gray-800",e.disabled&&"ember-opacity-50 ember-cursor-not-allowed ember-pointer-events-none"),children:[e.icon&&s.jsx("span",{className:"ember-flex-shrink-0 ember-w-5 ember-h-5 ember-flex ember-items-center ember-justify-center",children:e.icon}),s.jsx("span",{className:"ember-flex-1",children:e.label}),e.trailing&&s.jsx("span",{className:"ember-flex-shrink-0 ember-text-gray-400",children:e.trailing}),e.items&&s.jsx("svg",{className:"ember-w-4 ember-h-4 ember-text-gray-400",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:s.jsx("polyline",{points:"9 18 15 12 9 6"})})]},e.key)},T=r.isValidElement(f)?r.cloneElement(f,{onClick:F,ref:E,"aria-expanded":n,"aria-haspopup":!0}):f;return s.jsxs("div",{ref:x,className:y.cn("ember-relative ember-inline-block",L),"data-testid":A,...q,children:[T,n&&s.jsx("div",{ref:z,role:"menu",className:y.cn("ember-absolute ember-z-50","ember-bg-white dark:ember-bg-gray-900","ember-border ember-border-gray-200 dark:ember-border-gray-700","ember-rounded-lg ember-shadow-lg","ember-py-1 ember-overflow-y-auto","ember-animate-in ember-fade-in-0 ember-zoom-in-95 ember-duration-100",B[S]),style:{minWidth:C?(j=E.current)==null?void 0:j.offsetWidth:D,maxHeight:I},children:c.map((e,b)=>P(e,b))})]})};exports.Dropdown=K;
@@ -0,0 +1,19 @@
1
+ import { FC } from 'react';
2
+ import { DropdownProps } from './Dropdown.types';
3
+ /**
4
+ * Dropdown - Contextual menu that appears on trigger click
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * <Dropdown
9
+ * trigger={<Button>Options</Button>}
10
+ * items={[
11
+ * { key: 'edit', label: 'Edit', icon: <EditIcon />, onClick: handleEdit },
12
+ * { key: 'divider-1', divider: true },
13
+ * { key: 'delete', label: 'Delete', danger: true, onClick: handleDelete },
14
+ * ]}
15
+ * />
16
+ * ```
17
+ */
18
+ export declare const Dropdown: FC<DropdownProps>;
19
+ export default Dropdown;
@@ -0,0 +1,171 @@
1
+ import { jsxs as L, jsx as n } from "react/jsx-runtime";
2
+ import { useState as S, useRef as y, useCallback as f, useEffect as h, isValidElement as Z, cloneElement as q } from "react";
3
+ import { cn as k } from "../../utils/cn.js";
4
+ const G = {
5
+ xs: "ember-text-xs ember-py-1 ember-px-2",
6
+ sm: "ember-text-sm ember-py-1.5 ember-px-3",
7
+ md: "ember-text-sm ember-py-2 ember-px-3",
8
+ lg: "ember-text-base ember-py-2.5 ember-px-4",
9
+ xl: "ember-text-lg ember-py-3 ember-px-5"
10
+ }, H = {
11
+ "bottom-start": "ember-top-full ember-left-0 ember-mt-1",
12
+ "bottom-end": "ember-top-full ember-right-0 ember-mt-1",
13
+ bottom: "ember-top-full ember-left-1/2 -ember-translate-x-1/2 ember-mt-1",
14
+ "top-start": "ember-bottom-full ember-left-0 ember-mb-1",
15
+ "top-end": "ember-bottom-full ember-right-0 ember-mb-1",
16
+ top: "ember-bottom-full ember-left-1/2 -ember-translate-x-1/2 ember-mb-1",
17
+ left: "ember-right-full ember-top-0 ember-mr-1",
18
+ right: "ember-left-full ember-top-0 ember-ml-1"
19
+ }, $ = ({
20
+ trigger: u,
21
+ items: d,
22
+ open: v,
23
+ defaultOpen: A = !1,
24
+ placement: C = "bottom-start",
25
+ offset: J = 4,
26
+ matchWidth: R = !1,
27
+ minWidth: j = 150,
28
+ maxHeight: W = 300,
29
+ size: z = "md",
30
+ closeOnSelect: w = !0,
31
+ closeOnClickOutside: E = !0,
32
+ disabled: N = !1,
33
+ onOpenChange: c,
34
+ className: F,
35
+ testId: M,
36
+ ..._
37
+ }) => {
38
+ var D;
39
+ const [B, K] = S(A), [s, l] = S(-1), p = y(null), P = y(null), I = y(null), x = v !== void 0, b = x ? v : B, i = f((e) => {
40
+ x || K(e), c == null || c(e);
41
+ }, [x, c]), T = f(() => {
42
+ N || i(!b);
43
+ }, [N, b, i]), o = f(() => {
44
+ i(!1), l(-1);
45
+ }, [i]), g = f((e) => {
46
+ var t;
47
+ e.disabled || e.divider || e.header || ((t = e.onClick) == null || t.call(e), w && !e.items && o());
48
+ }, [w, o]);
49
+ h(() => {
50
+ if (!E || !b) return;
51
+ const e = (t) => {
52
+ p.current && !p.current.contains(t.target) && o();
53
+ };
54
+ return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
55
+ }, [b, E, o]), h(() => {
56
+ if (!b) return;
57
+ const e = d.filter((r) => !r.disabled && !r.divider && !r.header), t = (r) => {
58
+ switch (r.key) {
59
+ case "Escape":
60
+ r.preventDefault(), o();
61
+ break;
62
+ case "ArrowDown":
63
+ r.preventDefault(), l((a) => {
64
+ const m = a + 1;
65
+ return m >= e.length ? 0 : m;
66
+ });
67
+ break;
68
+ case "ArrowUp":
69
+ r.preventDefault(), l((a) => {
70
+ const m = a - 1;
71
+ return m < 0 ? e.length - 1 : m;
72
+ });
73
+ break;
74
+ case "Enter":
75
+ case " ":
76
+ r.preventDefault(), s >= 0 && s < e.length && g(e[s]);
77
+ break;
78
+ }
79
+ };
80
+ return document.addEventListener("keydown", t), () => document.removeEventListener("keydown", t);
81
+ }, [b, d, s, o, g]), h(() => {
82
+ b || l(-1);
83
+ }, [b]);
84
+ const U = (e, t) => {
85
+ if (e.divider)
86
+ return /* @__PURE__ */ n(
87
+ "div",
88
+ {
89
+ className: "ember-my-1 ember-mx-2 ember-h-px ember-bg-gray-200 dark:ember-bg-gray-700",
90
+ role: "separator"
91
+ },
92
+ e.key
93
+ );
94
+ if (e.header)
95
+ return /* @__PURE__ */ n(
96
+ "div",
97
+ {
98
+ className: "ember-px-3 ember-py-1.5 ember-text-xs ember-font-semibold ember-uppercase ember-tracking-wider ember-text-gray-500 dark:ember-text-gray-400",
99
+ children: e.label
100
+ },
101
+ e.key
102
+ );
103
+ const r = d.slice(0, t).filter((m) => !m.disabled && !m.divider && !m.header).length, a = s === r;
104
+ return /* @__PURE__ */ L(
105
+ "button",
106
+ {
107
+ type: "button",
108
+ role: "menuitem",
109
+ disabled: e.disabled,
110
+ onClick: () => g(e),
111
+ onMouseEnter: () => l(r),
112
+ className: k(
113
+ "ember-w-full ember-flex ember-items-center ember-gap-2 ember-text-left ember-border-none ember-bg-transparent",
114
+ G[z],
115
+ "ember-transition-colors ember-cursor-pointer",
116
+ a && "ember-bg-gray-100 dark:ember-bg-gray-800",
117
+ e.danger ? "ember-text-red-600 dark:ember-text-red-400 hover:ember-bg-red-50 dark:hover:ember-bg-red-900/20" : "ember-text-gray-700 dark:ember-text-gray-200 hover:ember-bg-gray-100 dark:hover:ember-bg-gray-800",
118
+ e.disabled && "ember-opacity-50 ember-cursor-not-allowed ember-pointer-events-none"
119
+ ),
120
+ children: [
121
+ e.icon && /* @__PURE__ */ n("span", { className: "ember-flex-shrink-0 ember-w-5 ember-h-5 ember-flex ember-items-center ember-justify-center", children: e.icon }),
122
+ /* @__PURE__ */ n("span", { className: "ember-flex-1", children: e.label }),
123
+ e.trailing && /* @__PURE__ */ n("span", { className: "ember-flex-shrink-0 ember-text-gray-400", children: e.trailing }),
124
+ e.items && /* @__PURE__ */ n("svg", { className: "ember-w-4 ember-h-4 ember-text-gray-400", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ n("polyline", { points: "9 18 15 12 9 6" }) })
125
+ ]
126
+ },
127
+ e.key
128
+ );
129
+ }, V = Z(u) ? q(u, {
130
+ onClick: T,
131
+ ref: I,
132
+ "aria-expanded": b,
133
+ "aria-haspopup": !0
134
+ }) : u;
135
+ return /* @__PURE__ */ L(
136
+ "div",
137
+ {
138
+ ref: p,
139
+ className: k("ember-relative ember-inline-block", F),
140
+ "data-testid": M,
141
+ ..._,
142
+ children: [
143
+ V,
144
+ b && /* @__PURE__ */ n(
145
+ "div",
146
+ {
147
+ ref: P,
148
+ role: "menu",
149
+ className: k(
150
+ "ember-absolute ember-z-50",
151
+ "ember-bg-white dark:ember-bg-gray-900",
152
+ "ember-border ember-border-gray-200 dark:ember-border-gray-700",
153
+ "ember-rounded-lg ember-shadow-lg",
154
+ "ember-py-1 ember-overflow-y-auto",
155
+ "ember-animate-in ember-fade-in-0 ember-zoom-in-95 ember-duration-100",
156
+ H[C]
157
+ ),
158
+ style: {
159
+ minWidth: R ? (D = I.current) == null ? void 0 : D.offsetWidth : j,
160
+ maxHeight: W
161
+ },
162
+ children: d.map((e, t) => U(e, t))
163
+ }
164
+ )
165
+ ]
166
+ }
167
+ );
168
+ };
169
+ export {
170
+ $ as Dropdown
171
+ };
@@ -0,0 +1,56 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ import { BearSize } from '../../types';
3
+ export interface DropdownItem {
4
+ /** Unique key */
5
+ key: string;
6
+ /** Display label */
7
+ label: ReactNode;
8
+ /** Item icon */
9
+ icon?: ReactNode;
10
+ /** Trailing content */
11
+ trailing?: ReactNode;
12
+ /** Whether item is disabled */
13
+ disabled?: boolean;
14
+ /** Whether this is a divider */
15
+ divider?: boolean;
16
+ /** Whether this is a header */
17
+ header?: boolean;
18
+ /** Danger/destructive action */
19
+ danger?: boolean;
20
+ /** Click handler */
21
+ onClick?: () => void;
22
+ /** Nested items for submenu */
23
+ items?: DropdownItem[];
24
+ }
25
+ export interface DropdownProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
26
+ /** Dropdown trigger element */
27
+ trigger: ReactNode;
28
+ /** Dropdown items */
29
+ items: DropdownItem[];
30
+ /** Whether dropdown is open (controlled) */
31
+ open?: boolean;
32
+ /** Default open state */
33
+ defaultOpen?: boolean;
34
+ /** Placement relative to trigger */
35
+ placement?: 'bottom-start' | 'bottom-end' | 'bottom' | 'top-start' | 'top-end' | 'top' | 'left' | 'right';
36
+ /** Offset from trigger */
37
+ offset?: number;
38
+ /** Whether dropdown should match trigger width */
39
+ matchWidth?: boolean;
40
+ /** Min width of dropdown */
41
+ minWidth?: number;
42
+ /** Max height before scroll */
43
+ maxHeight?: number;
44
+ /** Size variant */
45
+ size?: BearSize;
46
+ /** Close on item click */
47
+ closeOnSelect?: boolean;
48
+ /** Close on outside click */
49
+ closeOnClickOutside?: boolean;
50
+ /** Disabled state */
51
+ disabled?: boolean;
52
+ /** Handler for open/close */
53
+ onOpenChange?: (open: boolean) => void;
54
+ /** Test ID */
55
+ testId?: string;
56
+ }
@@ -0,0 +1,2 @@
1
+ export { Dropdown } from './Dropdown';
2
+ export type { DropdownProps, DropdownItem } from './Dropdown.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../utils/cn.cjs"),x=({className:b})=>e.jsx("svg",{className:b,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4"})}),o=({icon:b,title:c,description:s,action:l,secondaryAction:n,className:d,size:a="md",variant:i="default"})=>{const r={sm:{icon:"bear-w-12 bear-h-12",title:"bear-text-lg",desc:"bear-text-sm",padding:"bear-py-6 bear-px-4"},md:{icon:"bear-w-16 bear-h-16",title:"bear-text-xl",desc:"bear-text-base",padding:"bear-py-10 bear-px-6"},lg:{icon:"bear-w-20 bear-h-20",title:"bear-text-2xl",desc:"bear-text-lg",padding:"bear-py-14 bear-px-8"}};return e.jsxs("div",{className:t.cn("bear-flex bear-flex-col bear-items-center bear-text-center",r[a].padding,i==="card"&&"bear-bg-zinc-800/50 bear-rounded-xl bear-border bear-border-zinc-700",d),children:[e.jsx("div",{className:t.cn("bear-text-zinc-600 bear-mb-4",r[a].icon),children:b||e.jsx(x,{className:"bear-w-full bear-h-full"})}),e.jsx("h3",{className:t.cn("bear-font-semibold bear-text-white bear-mb-2",r[a].title),children:c}),s&&e.jsx("p",{className:t.cn("bear-text-zinc-400 bear-max-w-md bear-mb-6",r[a].desc),children:s}),(l||n)&&e.jsxs("div",{className:"bear-flex bear-items-center bear-gap-3",children:[l,n]})]})};exports.EmptyState=o;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { EmptyStateProps } from './EmptyState.types';
3
+ export declare const EmptyState: FC<EmptyStateProps>;
@@ -0,0 +1,35 @@
1
+ import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
+ import { cn as t } from "../../utils/cn.js";
3
+ const m = ({ className: b }) => /* @__PURE__ */ e("svg", { className: b, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4" }) }), h = ({
4
+ icon: b,
5
+ title: s,
6
+ description: l,
7
+ action: d,
8
+ secondaryAction: n,
9
+ className: i,
10
+ size: a = "md",
11
+ variant: o = "default"
12
+ }) => {
13
+ const r = {
14
+ sm: { icon: "bear-w-12 bear-h-12", title: "bear-text-lg", desc: "bear-text-sm", padding: "bear-py-6 bear-px-4" },
15
+ md: { icon: "bear-w-16 bear-h-16", title: "bear-text-xl", desc: "bear-text-base", padding: "bear-py-10 bear-px-6" },
16
+ lg: { icon: "bear-w-20 bear-h-20", title: "bear-text-2xl", desc: "bear-text-lg", padding: "bear-py-14 bear-px-8" }
17
+ };
18
+ return /* @__PURE__ */ c("div", { className: t(
19
+ "bear-flex bear-flex-col bear-items-center bear-text-center",
20
+ r[a].padding,
21
+ o === "card" && "bear-bg-zinc-800/50 bear-rounded-xl bear-border bear-border-zinc-700",
22
+ i
23
+ ), children: [
24
+ /* @__PURE__ */ e("div", { className: t("bear-text-zinc-600 bear-mb-4", r[a].icon), children: b || /* @__PURE__ */ e(m, { className: "bear-w-full bear-h-full" }) }),
25
+ /* @__PURE__ */ e("h3", { className: t("bear-font-semibold bear-text-white bear-mb-2", r[a].title), children: s }),
26
+ l && /* @__PURE__ */ e("p", { className: t("bear-text-zinc-400 bear-max-w-md bear-mb-6", r[a].desc), children: l }),
27
+ (d || n) && /* @__PURE__ */ c("div", { className: "bear-flex bear-items-center bear-gap-3", children: [
28
+ d,
29
+ n
30
+ ] })
31
+ ] });
32
+ };
33
+ export {
34
+ h as EmptyState
35
+ };
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ export interface EmptyStateProps {
3
+ icon?: ReactNode;
4
+ title: string;
5
+ description?: string;
6
+ action?: ReactNode;
7
+ secondaryAction?: ReactNode;
8
+ className?: string;
9
+ size?: 'sm' | 'md' | 'lg';
10
+ variant?: 'default' | 'card';
11
+ }
@@ -0,0 +1,2 @@
1
+ export { EmptyState } from './EmptyState';
2
+ export type { EmptyStateProps } from './EmptyState.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),f=require("react"),x=require("../../utils/cn.cjs"),p={sm:"ember-w-10 ember-h-10",md:"ember-w-14 ember-h-14",lg:"ember-w-16 ember-h-16"},w={"bottom-right":"ember-fixed ember-bottom-6 ember-right-6","bottom-left":"ember-fixed ember-bottom-6 ember-left-6","top-right":"ember-fixed ember-top-6 ember-right-6","top-left":"ember-fixed ember-top-6 ember-left-6","bottom-center":"ember-fixed ember-bottom-6 ember-left-1/2 ember--translate-x-1/2",relative:""},v={primary:"ember-bg-pink-500 hover:ember-bg-pink-600 ember-text-white",secondary:"ember-bg-gray-600 hover:ember-bg-gray-700 ember-text-white",success:"ember-bg-green-500 hover:ember-bg-green-600 ember-text-white",danger:"ember-bg-red-500 hover:ember-bg-red-600 ember-text-white",warning:"ember-bg-amber-500 hover:ember-bg-amber-600 ember-text-white",info:"ember-bg-blue-500 hover:ember-bg-blue-600 ember-text-white",ghost:"ember-bg-gray-500 hover:ember-bg-gray-600 ember-text-white",outline:"ember-bg-white ember-border-2 ember-border-pink-500 hover:ember-bg-pink-50 ember-text-pink-500",error:"ember-bg-red-500 hover:ember-bg-red-600 ember-text-white"},b=f.forwardRef(({children:t,size:m="md",variant:o="primary",color:e,extended:i=!1,position:n="relative",disabled:r=!1,shadow:a=!0,animated:g=!0,className:s,testId:l,style:h,...c},u)=>d.jsx("button",{ref:u,type:"button",disabled:r,className:x.cn("ember-inline-flex ember-items-center ember-justify-center ember-rounded-full","ember-border-none ember-cursor-pointer ember-transition-all ember-duration-200","focus:ember-outline-none focus:ember-ring-2 focus:ember-ring-offset-2 focus:ember-ring-pink-500",p[m],w[n],v[o],a&&"ember-shadow-lg hover:ember-shadow-xl",g&&"hover:ember-scale-110 active:ember-scale-95",i&&"ember-w-auto ember-px-6 ember-gap-2",r&&"ember-opacity-50 ember-cursor-not-allowed hover:ember-scale-100",s),style:{...h,...e&&{backgroundColor:e}},"data-testid":l,...c,children:t}));b.displayName="Fab";exports.Fab=b;
@@ -0,0 +1,17 @@
1
+ import { FabProps } from './Fab.types';
2
+ /**
3
+ * Floating Action Button (FAB) for primary actions
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * <Fab position="bottom-right" onClick={handleAdd}>
8
+ * <PlusIcon />
9
+ * </Fab>
10
+ *
11
+ * <Fab extended variant="success">
12
+ * <CheckIcon /> Save
13
+ * </Fab>
14
+ * ```
15
+ */
16
+ export declare const Fab: import('react').ForwardRefExoticComponent<FabProps & import('react').RefAttributes<HTMLButtonElement>>;
17
+ export default Fab;
@@ -0,0 +1,70 @@
1
+ import { jsx as d } from "react/jsx-runtime";
2
+ import { forwardRef as c } from "react";
3
+ import { cn as p } from "../../utils/cn.js";
4
+ const u = {
5
+ sm: "ember-w-10 ember-h-10",
6
+ md: "ember-w-14 ember-h-14",
7
+ lg: "ember-w-16 ember-h-16"
8
+ }, x = {
9
+ "bottom-right": "ember-fixed ember-bottom-6 ember-right-6",
10
+ "bottom-left": "ember-fixed ember-bottom-6 ember-left-6",
11
+ "top-right": "ember-fixed ember-top-6 ember-right-6",
12
+ "top-left": "ember-fixed ember-top-6 ember-left-6",
13
+ "bottom-center": "ember-fixed ember-bottom-6 ember-left-1/2 ember--translate-x-1/2",
14
+ relative: ""
15
+ }, w = {
16
+ primary: "ember-bg-pink-500 hover:ember-bg-pink-600 ember-text-white",
17
+ secondary: "ember-bg-gray-600 hover:ember-bg-gray-700 ember-text-white",
18
+ success: "ember-bg-green-500 hover:ember-bg-green-600 ember-text-white",
19
+ danger: "ember-bg-red-500 hover:ember-bg-red-600 ember-text-white",
20
+ warning: "ember-bg-amber-500 hover:ember-bg-amber-600 ember-text-white",
21
+ info: "ember-bg-blue-500 hover:ember-bg-blue-600 ember-text-white",
22
+ ghost: "ember-bg-gray-500 hover:ember-bg-gray-600 ember-text-white",
23
+ outline: "ember-bg-white ember-border-2 ember-border-pink-500 hover:ember-bg-pink-50 ember-text-pink-500",
24
+ error: "ember-bg-red-500 hover:ember-bg-red-600 ember-text-white"
25
+ }, v = c(({
26
+ children: b,
27
+ size: m = "md",
28
+ variant: t = "primary",
29
+ color: e,
30
+ extended: o = !1,
31
+ position: i = "relative",
32
+ disabled: r = !1,
33
+ shadow: n = !0,
34
+ animated: a = !0,
35
+ className: g,
36
+ testId: s,
37
+ style: h,
38
+ ...l
39
+ }, f) => /* @__PURE__ */ d(
40
+ "button",
41
+ {
42
+ ref: f,
43
+ type: "button",
44
+ disabled: r,
45
+ className: p(
46
+ "ember-inline-flex ember-items-center ember-justify-center ember-rounded-full",
47
+ "ember-border-none ember-cursor-pointer ember-transition-all ember-duration-200",
48
+ "focus:ember-outline-none focus:ember-ring-2 focus:ember-ring-offset-2 focus:ember-ring-pink-500",
49
+ u[m],
50
+ x[i],
51
+ w[t],
52
+ n && "ember-shadow-lg hover:ember-shadow-xl",
53
+ a && "hover:ember-scale-110 active:ember-scale-95",
54
+ o && "ember-w-auto ember-px-6 ember-gap-2",
55
+ r && "ember-opacity-50 ember-cursor-not-allowed hover:ember-scale-100",
56
+ g
57
+ ),
58
+ style: {
59
+ ...h,
60
+ ...e && { backgroundColor: e }
61
+ },
62
+ "data-testid": s,
63
+ ...l,
64
+ children: b
65
+ }
66
+ ));
67
+ v.displayName = "Fab";
68
+ export {
69
+ v as Fab
70
+ };
@@ -0,0 +1,24 @@
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
2
+ import { BearVariant } from '../../types';
3
+ export interface FabProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4
+ /** Icon or content */
5
+ children: ReactNode;
6
+ /** Size of the FAB */
7
+ size?: 'sm' | 'md' | 'lg';
8
+ /** Color variant */
9
+ variant?: BearVariant;
10
+ /** Custom color override */
11
+ color?: string;
12
+ /** Extended FAB with label */
13
+ extended?: boolean;
14
+ /** Position on screen */
15
+ position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' | 'bottom-center' | 'relative';
16
+ /** Whether FAB is disabled */
17
+ disabled?: boolean;
18
+ /** Show shadow */
19
+ shadow?: boolean;
20
+ /** Animation on hover */
21
+ animated?: boolean;
22
+ /** Test ID */
23
+ testId?: string;
24
+ }
@@ -0,0 +1,2 @@
1
+ export { Fab, default } from './Fab';
2
+ export type { FabProps } from './Fab.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),m=require("react"),y=require("../../utils/cn.cjs"),D=({className:a})=>e.jsx("svg",{className:a,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"})}),O=({className:a})=>e.jsx("svg",{className:a,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})}),q=a=>{if(a===0)return"0 Bytes";const n=1024,i=["Bytes","KB","MB","GB"],o=Math.floor(Math.log(a)/Math.log(n));return parseFloat((a/Math.pow(n,o)).toFixed(2))+" "+i[o]},A=({onFilesSelect:a,onFileRemove:n,accept:i,multiple:o=!1,maxSize:u,maxFiles:p,disabled:s=!1,label:l,helperText:d,error:b,files:c=[],showPreview:f=!0,variant:M="dropzone",icon:k,className:v})=>{const g=m.useRef(null),[N,j]=m.useState(!1),x=m.useCallback(r=>{if(!r)return;let t=Array.from(r);p&&(t=t.slice(0,p-c.length)),u&&(t=t.filter(h=>h.size<=u)),a==null||a(t)},[a,p,u,c.length]),B=m.useCallback(r=>{r.preventDefault(),j(!1),s||x(r.dataTransfer.files)},[s,x]),U=r=>{r.preventDefault(),s||j(!0)},W=()=>j(!1),z=()=>{var r;s||(r=g.current)==null||r.click()},w=r=>{const{file:t,status:h,progress:L,error:C}=r,I=t.type.startsWith("image/");return e.jsxs("div",{className:"bear-flex bear-items-center bear-gap-3 bear-p-2 bear-bg-zinc-800 bear-rounded-lg",children:[I?e.jsx("img",{src:URL.createObjectURL(t),alt:t.name,className:"bear-w-10 bear-h-10 bear-object-cover bear-rounded"}):e.jsx(O,{className:"bear-w-10 bear-h-10 bear-text-zinc-500"}),e.jsxs("div",{className:"bear-flex-1 bear-min-w-0",children:[e.jsx("div",{className:"bear-text-sm bear-text-white bear-truncate",children:t.name}),e.jsx("div",{className:"bear-text-xs bear-text-zinc-500",children:q(t.size)}),h==="uploading"&&L!==void 0&&e.jsx("div",{className:"bear-mt-1 bear-h-1 bear-bg-zinc-700 bear-rounded-full bear-overflow-hidden",children:e.jsx("div",{className:"bear-h-full bear-bg-pink-500 bear-transition-all",style:{width:`${L}%`}})}),C&&e.jsx("div",{className:"bear-text-xs bear-text-red-400 bear-mt-1",children:C})]}),h==="success"&&e.jsx("svg",{className:"bear-w-5 bear-h-5 bear-text-green-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}),e.jsx("button",{onClick:()=>n==null?void 0:n(r),className:"bear-p-1 bear-rounded hover:bear-bg-zinc-700 bear-text-zinc-400 hover:bear-text-white",children:e.jsx("svg",{className:"bear-w-4 bear-h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},r.id)};return M==="button"?e.jsxs("div",{className:v,children:[l&&e.jsx("label",{className:"bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5",children:l}),e.jsxs("button",{onClick:z,disabled:s,className:y.cn("bear-px-4 bear-py-2 bear-rounded-lg bear-bg-pink-500 bear-text-white hover:bear-bg-pink-600 bear-transition-colors bear-flex bear-items-center bear-gap-2",s&&"bear-opacity-50 bear-cursor-not-allowed"),children:[k||e.jsx(D,{className:"bear-w-5 bear-h-5"}),"Choose Files"]}),e.jsx("input",{ref:g,type:"file",accept:i,multiple:o,onChange:r=>x(r.target.files),className:"bear-hidden"}),d&&e.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-zinc-500",children:d}),b&&e.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-red-400",children:b}),f&&c.length>0&&e.jsx("div",{className:"bear-mt-3 bear-space-y-2",children:c.map(w)})]}):e.jsxs("div",{className:v,children:[l&&e.jsx("label",{className:"bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5",children:l}),e.jsxs("div",{onClick:z,onDrop:B,onDragOver:U,onDragLeave:W,className:y.cn("bear-border-2 bear-border-dashed bear-rounded-lg bear-p-8 bear-text-center bear-transition-colors bear-cursor-pointer",N?"bear-border-pink-500 bear-bg-pink-500/10":"bear-border-zinc-600 hover:bear-border-zinc-500",s&&"bear-opacity-50 bear-cursor-not-allowed",b&&"bear-border-red-500"),children:[k||e.jsx(D,{className:"bear-w-12 bear-h-12 bear-mx-auto bear-text-zinc-500 bear-mb-4"}),e.jsx("p",{className:"bear-text-zinc-300 bear-font-medium",children:N?"Drop files here":"Drag & drop files here"}),e.jsx("p",{className:"bear-text-sm bear-text-zinc-500 bear-mt-1",children:"or click to browse"}),i&&e.jsxs("p",{className:"bear-text-xs bear-text-zinc-600 bear-mt-2",children:["Accepted: ",i]})]}),e.jsx("input",{ref:g,type:"file",accept:i,multiple:o,onChange:r=>x(r.target.files),className:"bear-hidden"}),d&&e.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-zinc-500",children:d}),b&&e.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-red-400",children:b}),f&&c.length>0&&e.jsx("div",{className:"bear-mt-3 bear-space-y-2",children:c.map(w)})]})};exports.FileUpload=A;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { FileUploadProps } from './FileUpload.types';
3
+ export declare const FileUpload: FC<FileUploadProps>;