@forgedevstack/bear 1.2.3 → 1.2.5

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 (476) hide show
  1. package/dist/components/Accordion/Accordion.cjs +1 -1
  2. package/dist/components/Accordion/Accordion.js +45 -47
  3. package/dist/components/ActionIcon/ActionIcon.types.d.ts +1 -0
  4. package/dist/components/ActiveBar/ActiveBar.const.d.ts +1 -0
  5. package/dist/components/ActiveBar/ActiveBar.types.d.ts +2 -0
  6. package/dist/components/ActivityItem/ActivityItem.const.d.ts +1 -0
  7. package/dist/components/ActivityItem/ActivityItem.types.d.ts +2 -0
  8. package/dist/components/Affix/Affix.types.d.ts +1 -0
  9. package/dist/components/Alert/Alert.cjs +1 -1
  10. package/dist/components/Alert/Alert.js +16 -18
  11. package/dist/components/AlertDialog/AlertDialog.types.d.ts +1 -0
  12. package/dist/components/Anchor/Anchor.types.d.ts +1 -0
  13. package/dist/components/AnimatedCounter/AnimatedCounter.types.d.ts +1 -0
  14. package/dist/components/AppBar/AppBar.const.d.ts +1 -0
  15. package/dist/components/AppBar/AppBar.types.d.ts +2 -0
  16. package/dist/components/AspectRatio/AspectRatio.cjs +1 -1
  17. package/dist/components/AspectRatio/AspectRatio.const.d.ts +1 -0
  18. package/dist/components/AspectRatio/AspectRatio.js +9 -1
  19. package/dist/components/AspectRatio/AspectRatio.types.d.ts +2 -0
  20. package/dist/components/Autocomplete/Autocomplete.types.d.ts +1 -0
  21. package/dist/components/Avatar/Avatar.types.d.ts +1 -0
  22. package/dist/components/BackTop/BackTop.types.d.ts +1 -0
  23. package/dist/components/Badge/Badge.types.d.ts +1 -0
  24. package/dist/components/BearLoader/BearLoader.const.d.ts +1 -0
  25. package/dist/components/BearLoader/BearLoader.types.d.ts +1 -0
  26. package/dist/components/BearLogo/BearLogo.const.d.ts +1 -0
  27. package/dist/components/BearLogo/BearLogo.types.d.ts +2 -0
  28. package/dist/components/Biometric/Biometric.const.d.ts +1 -0
  29. package/dist/components/Biometric/Biometric.types.d.ts +1 -0
  30. package/dist/components/Blockquote/Blockquote.types.d.ts +1 -0
  31. package/dist/components/BottomNavigation/BottomNavigation.const.d.ts +1 -0
  32. package/dist/components/BottomNavigation/BottomNavigation.types.d.ts +2 -0
  33. package/dist/components/BottomSheet/BottomSheet.const.d.ts +1 -0
  34. package/dist/components/BottomSheet/BottomSheet.types.d.ts +2 -0
  35. package/dist/components/Box/Box.const.d.ts +1 -0
  36. package/dist/components/Box/Box.types.d.ts +3 -1
  37. package/dist/components/Breadcrumbs/Breadcrumbs.cjs +1 -1
  38. package/dist/components/Breadcrumbs/Breadcrumbs.js +21 -23
  39. package/dist/components/Button/Button.cjs +1 -1
  40. package/dist/components/Button/Button.js +112 -100
  41. package/dist/components/Button/Button.types.d.ts +5 -1
  42. package/dist/components/ButtonGroup/ButtonGroup.const.d.ts +1 -0
  43. package/dist/components/ButtonGroup/ButtonGroup.types.d.ts +1 -0
  44. package/dist/components/Calendar/Calendar.cjs +1 -1
  45. package/dist/components/Calendar/Calendar.js +3 -2
  46. package/dist/components/Calendar/Calendar.types.d.ts +1 -0
  47. package/dist/components/Card/Card.cjs +1 -1
  48. package/dist/components/Card/Card.js +15 -17
  49. package/dist/components/Card/Card.types.d.ts +2 -2
  50. package/dist/components/CardSkeleton/CardSkeleton.const.d.ts +1 -0
  51. package/dist/components/CardSkeleton/index.d.ts +2 -0
  52. package/dist/components/Carousel/Carousel.types.d.ts +1 -0
  53. package/dist/components/Cascader/Cascader.cjs +1 -1
  54. package/dist/components/Cascader/Cascader.d.ts +1 -2
  55. package/dist/components/Cascader/Cascader.js +3 -3
  56. package/dist/components/Cascader/Cascader.types.d.ts +1 -0
  57. package/dist/components/Chart/Chart.cjs +1 -1
  58. package/dist/components/Chart/Chart.js +6 -2
  59. package/dist/components/Chart/Chart.types.d.ts +1 -0
  60. package/dist/components/Chat/Chat.const.cjs +1 -1
  61. package/dist/components/Chat/Chat.const.d.ts +1 -1
  62. package/dist/components/Chat/Chat.const.js +1 -1
  63. package/dist/components/Chat/Chat.types.d.ts +1 -0
  64. package/dist/components/Checkbox/Checkbox.cjs +1 -1
  65. package/dist/components/Checkbox/Checkbox.const.cjs +1 -0
  66. package/dist/components/Checkbox/Checkbox.const.d.ts +30 -0
  67. package/dist/components/Checkbox/Checkbox.const.js +58 -0
  68. package/dist/components/Checkbox/Checkbox.d.ts +0 -11
  69. package/dist/components/Checkbox/Checkbox.js +67 -110
  70. package/dist/components/Checkbox/Checkbox.types.d.ts +3 -12
  71. package/dist/components/Checkbox/helpers/CheckboxIndicatorIcon.cjs +1 -0
  72. package/dist/components/Checkbox/helpers/CheckboxIndicatorIcon.d.ts +2 -0
  73. package/dist/components/Checkbox/helpers/CheckboxIndicatorIcon.js +18 -0
  74. package/dist/components/Checkbox/helpers/CheckboxIndicatorIcon.types.d.ts +6 -0
  75. package/dist/components/Checkbox/helpers/index.d.ts +1 -0
  76. package/dist/components/Checkbox/index.d.ts +2 -2
  77. package/dist/components/CheckboxCard/CheckboxCard.types.d.ts +1 -0
  78. package/dist/components/Chip/Chip.const.d.ts +1 -0
  79. package/dist/components/Chip/Chip.types.d.ts +2 -0
  80. package/dist/components/CloseButton/CloseButton.const.d.ts +1 -0
  81. package/dist/components/CloseButton/CloseButton.types.d.ts +1 -0
  82. package/dist/components/CodeBlock/CodeBlock.cjs +2 -2
  83. package/dist/components/CodeBlock/CodeBlock.const.d.ts +1 -0
  84. package/dist/components/CodeBlock/CodeBlock.js +22 -24
  85. package/dist/components/CodeEditor/CodeEditor.types.d.ts +1 -0
  86. package/dist/components/Collapsible/Collapsible.const.d.ts +1 -0
  87. package/dist/components/Collapsible/Collapsible.types.d.ts +2 -0
  88. package/dist/components/ColorPicker/ColorPicker.types.d.ts +2 -0
  89. package/dist/components/ColorSwatch/ColorSwatch.cjs +1 -1
  90. package/dist/components/ColorSwatch/ColorSwatch.js +8 -8
  91. package/dist/components/ColorSwatch/ColorSwatch.types.d.ts +1 -0
  92. package/dist/components/Columns/Columns.const.d.ts +1 -0
  93. package/dist/components/Columns/Columns.types.d.ts +2 -0
  94. package/dist/components/CommandPalette/CommandPalette.cjs +1 -1
  95. package/dist/components/CommandPalette/CommandPalette.js +71 -71
  96. package/dist/components/CommandPalette/CommandPalette.types.d.ts +1 -0
  97. package/dist/components/Confetti/Confetti.types.d.ts +1 -0
  98. package/dist/components/Container/Container.const.d.ts +1 -0
  99. package/dist/components/Container/Container.types.d.ts +1 -0
  100. package/dist/components/ContextMenu/ContextMenu.cjs +1 -1
  101. package/dist/components/ContextMenu/ContextMenu.const.cjs +1 -1
  102. package/dist/components/ContextMenu/ContextMenu.const.d.ts +3 -0
  103. package/dist/components/ContextMenu/ContextMenu.const.js +13 -10
  104. package/dist/components/ContextMenu/ContextMenu.d.ts +1 -3
  105. package/dist/components/ContextMenu/ContextMenu.js +30 -59
  106. package/dist/components/ContextMenu/ContextMenu.types.d.ts +1 -0
  107. package/dist/components/ContextMenu/ContextMenu.utils.cjs +1 -1
  108. package/dist/components/ContextMenu/ContextMenu.utils.d.ts +7 -0
  109. package/dist/components/ContextMenu/ContextMenu.utils.js +11 -2
  110. package/dist/components/ContextMenu/components/ContextMenuMenuList/ContextMenuMenuList.cjs +1 -0
  111. package/dist/components/ContextMenu/components/ContextMenuMenuList/ContextMenuMenuList.d.ts +11 -0
  112. package/dist/components/ContextMenu/components/ContextMenuMenuList/ContextMenuMenuList.js +69 -0
  113. package/dist/components/ContextMenu/components/ContextMenuMenuList/index.d.ts +1 -0
  114. package/dist/components/CopyButton/CopyButton.const.d.ts +1 -0
  115. package/dist/components/CopyButton/CopyButton.types.d.ts +2 -0
  116. package/dist/components/CountdownTimer/CountdownTimer.types.d.ts +1 -0
  117. package/dist/components/CreditInput/CreditInput.types.d.ts +1 -0
  118. package/dist/components/CssBaseline/CssBaseline.cjs +1 -0
  119. package/dist/components/CssBaseline/CssBaseline.const.cjs +5 -0
  120. package/dist/components/CssBaseline/CssBaseline.const.d.ts +2 -0
  121. package/dist/components/CssBaseline/CssBaseline.const.js +9 -0
  122. package/dist/components/CssBaseline/CssBaseline.d.ts +2 -0
  123. package/dist/components/CssBaseline/CssBaseline.js +24 -0
  124. package/dist/components/CssBaseline/CssBaseline.types.d.ts +4 -0
  125. package/dist/components/CssBaseline/index.d.ts +2 -0
  126. package/dist/components/CurrencyInput/CurrencyInput.types.d.ts +1 -0
  127. package/dist/components/DataTable/DataTable.const.d.ts +1 -0
  128. package/dist/components/DataTable/DataTable.types.d.ts +1 -0
  129. package/dist/components/DatePicker/DatePicker.cjs +1 -1
  130. package/dist/components/DatePicker/DatePicker.const.d.ts +1 -0
  131. package/dist/components/DatePicker/DatePicker.js +12 -11
  132. package/dist/components/DatePicker/DatePicker.types.d.ts +2 -0
  133. package/dist/components/DateRangePicker/DateRangePicker.types.d.ts +1 -0
  134. package/dist/components/Descriptions/Descriptions.types.d.ts +1 -0
  135. package/dist/components/DiffSquares/DiffSquares.cjs +1 -1
  136. package/dist/components/DiffSquares/DiffSquares.js +11 -11
  137. package/dist/components/DiffSquares/DiffSquares.types.d.ts +1 -0
  138. package/dist/components/DiffViewer/DiffViewer.types.d.ts +1 -0
  139. package/dist/components/Divider/Divider.const.d.ts +1 -0
  140. package/dist/components/Divider/Divider.types.d.ts +1 -0
  141. package/dist/components/Dock/Dock.types.d.ts +1 -0
  142. package/dist/components/Drawer/Drawer.cjs +1 -1
  143. package/dist/components/Drawer/Drawer.js +44 -39
  144. package/dist/components/Drawer/Drawer.types.d.ts +5 -10
  145. package/dist/components/Dropdown/Dropdown.cjs +1 -1
  146. package/dist/components/Dropdown/Dropdown.js +3 -2
  147. package/dist/components/Dropdown/Dropdown.types.d.ts +1 -0
  148. package/dist/components/Editable/Editable.const.d.ts +1 -0
  149. package/dist/components/Editable/Editable.types.d.ts +2 -0
  150. package/dist/components/Em/Em.const.d.ts +1 -0
  151. package/dist/components/Em/Em.types.d.ts +2 -0
  152. package/dist/components/EmojiPicker/EmojiPicker.types.d.ts +2 -0
  153. package/dist/components/EmptyState/EmptyState.const.d.ts +1 -0
  154. package/dist/components/EmptyState/EmptyState.types.d.ts +2 -0
  155. package/dist/components/Fab/Fab.const.d.ts +1 -0
  156. package/dist/components/Fab/Fab.types.d.ts +1 -0
  157. package/dist/components/Fieldset/Fieldset.types.d.ts +1 -0
  158. package/dist/components/FileTree/FileTree.const.d.ts +1 -0
  159. package/dist/components/FileTree/FileTree.types.d.ts +1 -0
  160. package/dist/components/FileUpload/FileUpload.const.d.ts +1 -0
  161. package/dist/components/FileUpload/FileUpload.types.d.ts +2 -0
  162. package/dist/components/Flex/Flex.cjs +1 -1
  163. package/dist/components/Flex/Flex.const.cjs +1 -0
  164. package/dist/components/Flex/Flex.const.d.ts +6 -0
  165. package/dist/components/Flex/Flex.const.js +42 -0
  166. package/dist/components/Flex/Flex.d.ts +0 -11
  167. package/dist/components/Flex/Flex.js +28 -67
  168. package/dist/components/Flex/Flex.types.d.ts +1 -0
  169. package/dist/components/FloatingChat/FloatingChat.types.d.ts +1 -0
  170. package/dist/components/Form/Form.types.d.ts +1 -0
  171. package/dist/components/FormControl/FormControl.cjs +1 -0
  172. package/dist/components/FormControl/FormControl.const.cjs +1 -0
  173. package/dist/components/FormControl/FormControl.const.d.ts +5 -0
  174. package/dist/components/FormControl/FormControl.const.js +8 -0
  175. package/dist/components/FormControl/FormControl.context.cjs +1 -0
  176. package/dist/components/FormControl/FormControl.context.d.ts +2 -0
  177. package/dist/components/FormControl/FormControl.context.js +5 -0
  178. package/dist/components/FormControl/FormControl.d.ts +2 -0
  179. package/dist/components/FormControl/FormControl.js +90 -0
  180. package/dist/components/FormControl/FormControl.types.d.ts +19 -0
  181. package/dist/components/FormControl/index.d.ts +4 -0
  182. package/dist/components/FormField/FormField.cjs +1 -1
  183. package/dist/components/FormField/FormField.js +70 -67
  184. package/dist/components/FormField/FormField.types.d.ts +2 -0
  185. package/dist/components/FormSkeleton/FormSkeleton.cjs +1 -0
  186. package/dist/components/FormSkeleton/FormSkeleton.const.cjs +1 -0
  187. package/dist/components/FormSkeleton/FormSkeleton.const.d.ts +5 -0
  188. package/dist/components/FormSkeleton/FormSkeleton.const.js +8 -0
  189. package/dist/components/FormSkeleton/FormSkeleton.d.ts +2 -0
  190. package/dist/components/FormSkeleton/FormSkeleton.js +32 -0
  191. package/dist/components/FormSkeleton/FormSkeleton.types.d.ts +8 -0
  192. package/dist/components/FormSkeleton/index.d.ts +2 -0
  193. package/dist/components/Gauge/Gauge.cjs +1 -1
  194. package/dist/components/Gauge/Gauge.const.cjs +1 -0
  195. package/dist/components/Gauge/Gauge.const.d.ts +9 -0
  196. package/dist/components/Gauge/Gauge.const.js +12 -0
  197. package/dist/components/Gauge/Gauge.js +71 -95
  198. package/dist/components/Gauge/Gauge.types.d.ts +2 -0
  199. package/dist/components/Gauge/helpers/GaugeArcSvg.cjs +1 -0
  200. package/dist/components/Gauge/helpers/GaugeArcSvg.d.ts +14 -0
  201. package/dist/components/Gauge/helpers/GaugeArcSvg.js +65 -0
  202. package/dist/components/Gauge/hooks/useGauge.cjs +1 -0
  203. package/dist/components/Gauge/hooks/useGauge.d.ts +14 -0
  204. package/dist/components/Gauge/hooks/useGauge.js +42 -0
  205. package/dist/components/GlowCard/GlowCard.types.d.ts +1 -0
  206. package/dist/components/GradientText/GradientText.types.d.ts +1 -0
  207. package/dist/components/Grid/Grid.const.d.ts +1 -0
  208. package/dist/components/Grid/Grid.types.d.ts +1 -0
  209. package/dist/components/Heatmap/Heatmap.types.d.ts +1 -0
  210. package/dist/components/Highlight/Highlight.types.d.ts +1 -0
  211. package/dist/components/HoverCard/HoverCard.const.d.ts +1 -0
  212. package/dist/components/HoverCard/HoverCard.types.d.ts +2 -0
  213. package/dist/components/Icon/Icon.const.d.ts +1 -0
  214. package/dist/components/Icon/Icon.types.d.ts +1 -0
  215. package/dist/components/Icon/icons/misc.cjs +1 -1
  216. package/dist/components/Icon/icons/misc.d.ts +3 -0
  217. package/dist/components/Icon/icons/misc.js +118 -104
  218. package/dist/components/Icon/index.d.ts +3 -0
  219. package/dist/components/Image/Image.const.d.ts +1 -0
  220. package/dist/components/Image/Image.types.d.ts +2 -0
  221. package/dist/components/ImageAnnotation/ImageAnnotation.types.d.ts +1 -0
  222. package/dist/components/ImageGallery/ImageGallery.types.d.ts +1 -0
  223. package/dist/components/Indicator/Indicator.types.d.ts +1 -0
  224. package/dist/components/InfiniteScroll/InfiniteScroll.types.d.ts +1 -0
  225. package/dist/components/Input/Input.cjs +1 -1
  226. package/dist/components/Input/Input.const.cjs +1 -0
  227. package/dist/components/Input/Input.const.d.ts +13 -0
  228. package/dist/components/Input/Input.const.js +16 -0
  229. package/dist/components/Input/Input.js +216 -177
  230. package/dist/components/Input/Input.types.d.ts +8 -27
  231. package/dist/components/InputGroup/InputGroup.const.d.ts +1 -0
  232. package/dist/components/InputGroup/InputGroup.types.d.ts +1 -0
  233. package/dist/components/JsonViewer/JsonViewer.types.d.ts +1 -0
  234. package/dist/components/Kanban/Kanban.cjs +1 -1
  235. package/dist/components/Kanban/Kanban.const.d.ts +1 -0
  236. package/dist/components/Kanban/Kanban.js +9 -8
  237. package/dist/components/Kanban/Kanban.types.d.ts +2 -0
  238. package/dist/components/Kbd/Kbd.const.d.ts +1 -0
  239. package/dist/components/Kbd/Kbd.types.d.ts +2 -0
  240. package/dist/components/Link/Link.const.d.ts +1 -0
  241. package/dist/components/Link/Link.types.d.ts +1 -0
  242. package/dist/components/List/List.cjs +1 -1
  243. package/dist/components/List/List.const.cjs +1 -0
  244. package/dist/components/List/List.const.d.ts +11 -0
  245. package/dist/components/List/List.const.js +18 -0
  246. package/dist/components/List/List.js +96 -105
  247. package/dist/components/List/List.types.d.ts +2 -1
  248. package/dist/components/LoadingOverlay/LoadingOverlay.types.d.ts +1 -0
  249. package/dist/components/Map/Map.types.d.ts +1 -0
  250. package/dist/components/Mark/Mark.const.d.ts +1 -0
  251. package/dist/components/Mark/Mark.types.d.ts +2 -0
  252. package/dist/components/Marquee/Marquee.types.d.ts +1 -0
  253. package/dist/components/Masonry/Masonry.types.d.ts +1 -0
  254. package/dist/components/MediaPlayer/MediaPlayer.types.d.ts +1 -0
  255. package/dist/components/MentionsInput/MentionsInput.cjs +1 -1
  256. package/dist/components/MentionsInput/MentionsInput.const.d.ts +1 -0
  257. package/dist/components/MentionsInput/MentionsInput.js +114 -92
  258. package/dist/components/MentionsInput/MentionsInput.types.d.ts +6 -0
  259. package/dist/components/Menu/Menu.const.d.ts +1 -0
  260. package/dist/components/Menu/Menu.types.d.ts +1 -0
  261. package/dist/components/MessageList/MessageList.cjs +1 -0
  262. package/dist/components/MessageList/MessageList.const.cjs +1 -0
  263. package/dist/components/MessageList/MessageList.const.d.ts +23 -0
  264. package/dist/components/MessageList/MessageList.const.js +30 -0
  265. package/dist/components/MessageList/MessageList.d.ts +19 -0
  266. package/dist/components/MessageList/MessageList.js +182 -0
  267. package/dist/components/MessageList/MessageList.types.d.ts +72 -0
  268. package/dist/components/MessageList/MessageList.utils.cjs +1 -0
  269. package/dist/components/MessageList/MessageList.utils.d.ts +6 -0
  270. package/dist/components/MessageList/MessageList.utils.js +35 -0
  271. package/dist/components/MessageList/index.d.ts +2 -0
  272. package/dist/components/Modal/Modal.cjs +1 -1
  273. package/dist/components/Modal/Modal.js +46 -43
  274. package/dist/components/Modal/Modal.types.d.ts +3 -1
  275. package/dist/components/MultiSelect/MultiSelect.const.d.ts +1 -0
  276. package/dist/components/MultiSelect/MultiSelect.types.d.ts +1 -0
  277. package/dist/components/NavigableSelect/NavigableSelect.types.d.ts +1 -0
  278. package/dist/components/NotificationCenter/NotificationCenter.types.d.ts +1 -0
  279. package/dist/components/NumberFormatter/NumberFormatter.types.d.ts +1 -0
  280. package/dist/components/NumberInput/NumberInput.const.d.ts +1 -0
  281. package/dist/components/NumberInput/NumberInput.types.d.ts +2 -0
  282. package/dist/components/OTPInput/OTPInput.types.d.ts +2 -0
  283. package/dist/components/Overlay/Overlay.const.d.ts +1 -0
  284. package/dist/components/Overlay/Overlay.types.d.ts +1 -0
  285. package/dist/components/PageNav/PageNav.types.d.ts +1 -0
  286. package/dist/components/Pagination/Pagination.const.d.ts +1 -0
  287. package/dist/components/Pagination/Pagination.types.d.ts +1 -0
  288. package/dist/components/Paper/Paper.const.d.ts +1 -0
  289. package/dist/components/Paper/Paper.types.d.ts +1 -0
  290. package/dist/components/PasswordInput/PasswordInput.const.d.ts +1 -0
  291. package/dist/components/PasswordInput/PasswordInput.types.d.ts +2 -0
  292. package/dist/components/PhoneInput/PhoneInput.types.d.ts +1 -0
  293. package/dist/components/Popconfirm/Popconfirm.types.d.ts +1 -0
  294. package/dist/components/Popover/Popover.const.d.ts +1 -0
  295. package/dist/components/Popover/Popover.types.d.ts +2 -0
  296. package/dist/components/Portal/Portal.const.d.ts +1 -0
  297. package/dist/components/Progress/Progress.const.d.ts +1 -0
  298. package/dist/components/Progress/Progress.types.d.ts +1 -0
  299. package/dist/components/PropsPlayground/PropsPlayground.types.d.ts +1 -0
  300. package/dist/components/QRCode/QRCode.types.d.ts +1 -0
  301. package/dist/components/Radio/Radio.cjs +1 -1
  302. package/dist/components/Radio/Radio.const.d.ts +1 -0
  303. package/dist/components/Radio/Radio.js +99 -96
  304. package/dist/components/Radio/Radio.types.d.ts +1 -0
  305. package/dist/components/RadioCard/RadioCard.types.d.ts +1 -0
  306. package/dist/components/Rating/Rating.types.d.ts +1 -0
  307. package/dist/components/ResizablePanel/ResizablePanel.types.d.ts +1 -0
  308. package/dist/components/ResizableTextarea/ResizableTextarea.types.d.ts +1 -0
  309. package/dist/components/Result/Result.types.d.ts +1 -0
  310. package/dist/components/RichEditor/RichEditor.cjs +1 -1
  311. package/dist/components/RichEditor/RichEditor.js +69 -71
  312. package/dist/components/RingProgress/RingProgress.types.d.ts +1 -0
  313. package/dist/components/ScrollArea/ScrollArea.const.d.ts +1 -0
  314. package/dist/components/ScrollArea/ScrollArea.types.d.ts +2 -0
  315. package/dist/components/SegmentedControl/SegmentedControl.const.d.ts +1 -0
  316. package/dist/components/SegmentedControl/SegmentedControl.types.d.ts +2 -0
  317. package/dist/components/Select/Select.cjs +1 -1
  318. package/dist/components/Select/Select.const.d.ts +1 -0
  319. package/dist/components/Select/Select.js +3 -2
  320. package/dist/components/Select/Select.types.d.ts +6 -1
  321. package/dist/components/Sidebar/Sidebar.cjs +1 -1
  322. package/dist/components/Sidebar/Sidebar.js +15 -17
  323. package/dist/components/SignPad/SignPad.cjs +1 -1
  324. package/dist/components/SignPad/SignPad.js +24 -26
  325. package/dist/components/Skeleton/Skeleton.types.d.ts +1 -0
  326. package/dist/components/Slider/Slider.const.d.ts +1 -0
  327. package/dist/components/Slider/Slider.types.d.ts +1 -0
  328. package/dist/components/SliderRange/SliderRange.const.d.ts +1 -0
  329. package/dist/components/SliderRange/SliderRange.types.d.ts +2 -0
  330. package/dist/components/Snackbar/Snackbar.cjs +1 -0
  331. package/dist/components/Snackbar/Snackbar.const.cjs +1 -0
  332. package/dist/components/Snackbar/Snackbar.const.d.ts +13 -0
  333. package/dist/components/Snackbar/Snackbar.const.js +18 -0
  334. package/dist/components/Snackbar/Snackbar.d.ts +2 -0
  335. package/dist/components/Snackbar/Snackbar.js +114 -0
  336. package/dist/components/Snackbar/Snackbar.types.d.ts +44 -0
  337. package/dist/components/Snackbar/hooks/index.d.ts +1 -0
  338. package/dist/components/Snackbar/hooks/useSnackbar.cjs +1 -0
  339. package/dist/components/Snackbar/hooks/useSnackbar.d.ts +2 -0
  340. package/dist/components/Snackbar/hooks/useSnackbar.js +42 -0
  341. package/dist/components/Snackbar/index.d.ts +3 -0
  342. package/dist/components/Sparkline/Sparkline.types.d.ts +2 -0
  343. package/dist/components/SpeedDial/SpeedDial.types.d.ts +1 -0
  344. package/dist/components/Spinner/Spinner.const.d.ts +1 -0
  345. package/dist/components/Spinner/Spinner.types.d.ts +2 -0
  346. package/dist/components/SplitButton/SplitButton.types.d.ts +1 -0
  347. package/dist/components/Spoiler/Spoiler.types.d.ts +1 -0
  348. package/dist/components/Spotlight/Spotlight.types.d.ts +1 -0
  349. package/dist/components/StatCard/StatCard.const.d.ts +1 -0
  350. package/dist/components/StatCard/StatCard.types.d.ts +2 -0
  351. package/dist/components/Statistic/Statistic.const.d.ts +1 -0
  352. package/dist/components/Statistic/Statistic.types.d.ts +2 -0
  353. package/dist/components/Stepper/Stepper.types.d.ts +1 -0
  354. package/dist/components/Switch/Switch.cjs +1 -1
  355. package/dist/components/Switch/Switch.const.cjs +1 -0
  356. package/dist/components/Switch/Switch.const.d.ts +54 -0
  357. package/dist/components/Switch/Switch.const.js +37 -0
  358. package/dist/components/Switch/Switch.d.ts +1 -2
  359. package/dist/components/Switch/Switch.js +51 -80
  360. package/dist/components/Switch/Switch.types.d.ts +18 -10
  361. package/dist/components/Switch/SwitchGroup.cjs +1 -0
  362. package/dist/components/Switch/SwitchGroup.d.ts +2 -0
  363. package/dist/components/Switch/SwitchGroup.js +50 -0
  364. package/dist/components/Switch/index.d.ts +2 -1
  365. package/dist/components/TableSkeleton/TableSkeleton.cjs +1 -0
  366. package/dist/components/TableSkeleton/TableSkeleton.const.cjs +1 -0
  367. package/dist/components/TableSkeleton/TableSkeleton.const.d.ts +6 -0
  368. package/dist/components/TableSkeleton/TableSkeleton.const.js +9 -0
  369. package/dist/components/TableSkeleton/TableSkeleton.d.ts +2 -0
  370. package/dist/components/TableSkeleton/TableSkeleton.js +51 -0
  371. package/dist/components/TableSkeleton/TableSkeleton.types.d.ts +9 -0
  372. package/dist/components/TableSkeleton/index.d.ts +2 -0
  373. package/dist/components/Tabs/Tabs.const.d.ts +1 -0
  374. package/dist/components/Tabs/Tabs.types.d.ts +1 -0
  375. package/dist/components/TagCloud/TagCloud.types.d.ts +1 -0
  376. package/dist/components/TagsInput/TagsInput.const.d.ts +1 -0
  377. package/dist/components/TagsInput/TagsInput.types.d.ts +2 -0
  378. package/dist/components/Terminal/Terminal.types.d.ts +1 -0
  379. package/dist/components/ThemeIcon/ThemeIcon.const.d.ts +1 -0
  380. package/dist/components/ThemeIcon/ThemeIcon.types.d.ts +1 -0
  381. package/dist/components/TimePicker/TimePicker.types.d.ts +2 -0
  382. package/dist/components/Timeline/Timeline.cjs +1 -1
  383. package/dist/components/Timeline/Timeline.const.cjs +1 -1
  384. package/dist/components/Timeline/Timeline.const.d.ts +21 -0
  385. package/dist/components/Timeline/Timeline.const.js +41 -20
  386. package/dist/components/Timeline/Timeline.d.ts +0 -15
  387. package/dist/components/Timeline/Timeline.js +133 -132
  388. package/dist/components/Timeline/Timeline.types.d.ts +7 -0
  389. package/dist/components/TimelineChart/TimelineChart.types.d.ts +1 -0
  390. package/dist/components/Toast/Toast.cjs +1 -1
  391. package/dist/components/Toast/Toast.const.d.ts +1 -0
  392. package/dist/components/Toast/Toast.d.ts +3 -6
  393. package/dist/components/Toast/Toast.js +82 -76
  394. package/dist/components/Toast/Toast.types.d.ts +10 -0
  395. package/dist/components/Toast/index.d.ts +1 -1
  396. package/dist/components/ToggleButton/ToggleButton.cjs +1 -0
  397. package/dist/components/ToggleButton/ToggleButton.const.cjs +1 -0
  398. package/dist/components/ToggleButton/ToggleButton.const.d.ts +6 -0
  399. package/dist/components/ToggleButton/ToggleButton.const.js +15 -0
  400. package/dist/components/ToggleButton/ToggleButton.d.ts +3 -0
  401. package/dist/components/ToggleButton/ToggleButton.js +89 -0
  402. package/dist/components/ToggleButton/ToggleButton.types.d.ts +30 -0
  403. package/dist/components/ToggleButton/index.d.ts +2 -0
  404. package/dist/components/Tooltip/Tooltip.const.d.ts +1 -0
  405. package/dist/components/Tooltip/Tooltip.types.d.ts +2 -0
  406. package/dist/components/Tour/Tour.types.d.ts +1 -0
  407. package/dist/components/TransferList/TransferList.const.d.ts +1 -0
  408. package/dist/components/TransferList/TransferList.types.d.ts +1 -0
  409. package/dist/components/Transition/Transition.types.d.ts +1 -0
  410. package/dist/components/TreeSelect/TreeSelect.cjs +1 -1
  411. package/dist/components/TreeSelect/TreeSelect.js +22 -22
  412. package/dist/components/TreeSelect/TreeSelect.types.d.ts +1 -0
  413. package/dist/components/TreeView/TreeView.const.d.ts +1 -0
  414. package/dist/components/TreeView/TreeView.types.d.ts +2 -0
  415. package/dist/components/Typewriter/Typewriter.types.d.ts +1 -0
  416. package/dist/components/Typography/Typography.types.d.ts +1 -0
  417. package/dist/components/VirtualList/VirtualList.cjs +1 -1
  418. package/dist/components/VirtualList/VirtualList.const.cjs +1 -0
  419. package/dist/components/VirtualList/VirtualList.const.d.ts +2 -0
  420. package/dist/components/VirtualList/VirtualList.const.js +4 -0
  421. package/dist/components/VirtualList/VirtualList.js +18 -39
  422. package/dist/components/VirtualList/VirtualList.types.d.ts +2 -0
  423. package/dist/components/VisuallyHidden/VisuallyHidden.const.d.ts +1 -0
  424. package/dist/components/Watermark/Watermark.types.d.ts +1 -0
  425. package/dist/components/index.cjs +1 -1
  426. package/dist/components/index.d.ts +18 -3
  427. package/dist/components/index.js +419 -398
  428. package/dist/context/BearProvider.cjs +1 -1
  429. package/dist/context/BearProvider.d.ts +21 -43
  430. package/dist/context/BearProvider.js +208 -163
  431. package/dist/context/bearProvider.const.cjs +1 -0
  432. package/dist/context/bearProvider.const.d.ts +7 -0
  433. package/dist/context/bearProvider.const.js +8 -0
  434. package/dist/context/bearProvider.types.d.ts +6 -0
  435. package/dist/context/index.cjs +1 -1
  436. package/dist/context/index.d.ts +2 -1
  437. package/dist/context/index.js +8 -6
  438. package/dist/hooks/index.cjs +1 -1
  439. package/dist/hooks/index.d.ts +2 -0
  440. package/dist/hooks/index.js +31 -27
  441. package/dist/hooks/useBearComponent/useBearComponent.cjs +1 -1
  442. package/dist/hooks/useBearComponent/useBearComponent.js +45 -44
  443. package/dist/hooks/useBearDefaultProps.cjs +1 -0
  444. package/dist/hooks/useBearDefaultProps.d.ts +2 -0
  445. package/dist/hooks/useBearDefaultProps.js +8 -0
  446. package/dist/hooks/useFormControl/index.d.ts +1 -0
  447. package/dist/hooks/useFormControl/useFormControl.cjs +1 -0
  448. package/dist/hooks/useFormControl/useFormControl.d.ts +2 -0
  449. package/dist/hooks/useFormControl/useFormControl.js +6 -0
  450. package/dist/index.cjs +1 -1
  451. package/dist/index.js +519 -480
  452. package/dist/styles/_message-list.css +42 -0
  453. package/dist/styles/main.css +1 -0
  454. package/dist/styles.css +72 -21
  455. package/dist/types/base.types.d.ts +5 -0
  456. package/dist/types/component.types.d.ts +5 -0
  457. package/dist/types/index.d.ts +1 -0
  458. package/dist/utils/generateBearId.const.cjs +1 -0
  459. package/dist/utils/generateBearId.const.d.ts +5 -0
  460. package/dist/utils/generateBearId.const.js +8 -0
  461. package/dist/utils/generateBearId.types.d.ts +4 -0
  462. package/dist/utils/generateBearId.utils.cjs +1 -0
  463. package/dist/utils/generateBearId.utils.d.ts +4 -0
  464. package/dist/utils/generateBearId.utils.js +29 -0
  465. package/dist/utils/getResponsiveClass.utils.cjs +1 -0
  466. package/dist/utils/getResponsiveClass.utils.d.ts +2 -0
  467. package/dist/utils/getResponsiveClass.utils.js +12 -0
  468. package/dist/utils/index.cjs +1 -1
  469. package/dist/utils/index.d.ts +5 -0
  470. package/dist/utils/index.js +19 -5
  471. package/dist/utils/useBearId.cjs +1 -0
  472. package/dist/utils/useBearId.d.ts +1 -0
  473. package/dist/utils/useBearId.js +15 -0
  474. package/package.json +15 -2
  475. package/dist/components/Toast/Toast.utils.cjs +0 -1
  476. package/dist/components/Toast/Toast.utils.js +0 -4
@@ -1,51 +1,51 @@
1
- import { jsxs as l, jsx as t, Fragment as Y } from "react/jsx-runtime";
2
- import { useState as C, useRef as j, useCallback as k, useMemo as h, useEffect as I } from "react";
1
+ import { jsxs as l, jsx as a, Fragment as Y } from "react/jsx-runtime";
2
+ import { useState as N, useRef as j, useCallback as C, useMemo as f, useEffect as I } from "react";
3
3
  import { createPortal as Z } from "react-dom";
4
4
  import { cn as H } from "../../utils/cn.js";
5
5
  import { COMMAND_PALETTE_DEFAULT_TRANSLATIONS as $, COMMAND_PALETTE_MAX_RECENT as J, COMMAND_PALETTE_TRIGGER_KEY as ee, COMMAND_PALETTE_Z_INDEX as re } from "./CommandPalette.const.js";
6
- import { defaultFilterFn as te, groupCommandsByCategory as ae, formatShortcut as ne } from "./CommandPalette.utils.js";
6
+ import { defaultFilterFn as ae, groupCommandsByCategory as te, formatShortcut as ne } from "./CommandPalette.utils.js";
7
7
  const D = ({
8
- command: a,
9
- isHighlighted: P,
8
+ command: t,
9
+ isHighlighted: w,
10
10
  onSelect: m
11
11
  }) => /* @__PURE__ */ l(
12
12
  "button",
13
13
  {
14
14
  type: "button",
15
15
  onClick: m,
16
- disabled: a.disabled,
16
+ disabled: t.disabled,
17
17
  className: H(
18
18
  "Bear-CommandPalette__item bear-w-full bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-2.5 bear-text-left bear-transition-colors",
19
- P ? "bear-bg-primary-500/20 bear-text-primary-400" : "bear-text-zinc-300 hover:bear-bg-zinc-700",
20
- a.disabled && "bear-opacity-50 bear-cursor-not-allowed"
19
+ w ? "bear-bg-primary-500/20 bear-text-primary-400" : "bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700",
20
+ t.disabled && "bear-opacity-50 bear-cursor-not-allowed"
21
21
  ),
22
22
  children: [
23
- a.icon && /* @__PURE__ */ t("span", { className: "Bear-CommandPalette__item-icon bear-text-zinc-400 bear-shrink-0", children: a.icon }),
23
+ t.icon && /* @__PURE__ */ a("span", { className: "Bear-CommandPalette__item-icon bear-text-gray-500 dark:bear-text-zinc-400 bear-shrink-0", children: t.icon }),
24
24
  /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__item-content bear-flex-1 bear-min-w-0", children: [
25
- /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__item-label bear-text-sm bear-font-medium bear-truncate", children: a.label }),
26
- a.description && /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__item-description bear-text-xs bear-text-zinc-500 bear-truncate", children: a.description })
25
+ /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__item-label bear-text-sm bear-font-medium bear-truncate", children: t.label }),
26
+ t.description && /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__item-description bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500 bear-truncate", children: t.description })
27
27
  ] }),
28
- a.shortcut && /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__item-shortcut bear-flex bear-gap-1 bear-shrink-0", children: ne(a.shortcut).map((w, x) => /* @__PURE__ */ t(
28
+ t.shortcut && /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__item-shortcut bear-flex bear-gap-1 bear-shrink-0", children: ne(t.shortcut).map((P, h) => /* @__PURE__ */ a(
29
29
  "kbd",
30
30
  {
31
- className: "bear-px-1.5 bear-py-0.5 bear-text-xs bear-font-mono bear-bg-zinc-700 bear-rounded bear-text-zinc-400",
32
- children: w
31
+ className: "bear-px-1.5 bear-py-0.5 bear-text-xs bear-font-mono bear-bg-gray-200 bear-text-gray-600 dark:bear-bg-zinc-700 dark:bear-text-zinc-400 bear-rounded",
32
+ children: P
33
33
  },
34
- x
34
+ h
35
35
  )) })
36
36
  ]
37
37
  }
38
- ), be = ({
39
- commands: a,
40
- open: P,
38
+ ), ce = ({
39
+ commands: t,
40
+ open: w,
41
41
  onOpenChange: m,
42
- placeholder: w,
43
- showRecent: x = !0,
44
- maxRecent: _ = J,
42
+ placeholder: P,
43
+ showRecent: h = !0,
44
+ maxRecent: g = J,
45
45
  recentIds: F,
46
- onRecentChange: v,
46
+ onRecentChange: y,
47
47
  groupByCategory: z = !1,
48
- filterFn: A = te,
48
+ filterFn: A = ae,
49
49
  triggerKey: T = ee,
50
50
  className: R,
51
51
  testId: q,
@@ -53,24 +53,24 @@ const D = ({
53
53
  icon: G,
54
54
  footer: M
55
55
  }) => {
56
- const [U, X] = C(!1), [i, S] = C(""), [n, N] = C(0), [Q, V] = C([]), K = j(null), B = j(null), u = P ?? U, s = k((e) => {
56
+ const [U, X] = N(!1), [i, S] = N(""), [n, k] = N(0), [Q, V] = N([]), K = j(null), B = j(null), u = w ?? U, d = C((e) => {
57
57
  m == null || m(e), X(e);
58
- }, [m]), c = F ?? Q, O = k((e) => {
59
- v == null || v(e), V(e);
60
- }, [v]), y = h(() => ({
58
+ }, [m]), s = F ?? Q, O = C((e) => {
59
+ y == null || y(e), V(e);
60
+ }, [y]), _ = f(() => ({
61
61
  ...$,
62
62
  ...L
63
- }), [L]), p = h(() => i.trim() ? a.filter((e) => A(e, i)) : a, [a, i, A]), d = h(() => !x || i.trim() ? [] : c.slice(0, _).map((e) => a.find((r) => r.id === e)).filter(Boolean), [x, i, c, _, a]), g = h(() => z ? ae(p) : null, [p, z]), o = h(() => {
63
+ }), [L]), p = f(() => i.trim() ? t.filter((e) => A(e, i)) : t, [t, i, A]), b = f(() => !h || i.trim() ? [] : s.slice(0, g).map((e) => t.find((r) => r.id === e)).filter(Boolean), [h, i, s, g, t]), v = f(() => z ? te(p) : null, [p, z]), o = f(() => {
64
64
  const e = [];
65
- return d.length > 0 && e.push(...d), e.push(...p.filter((r) => !c.includes(r.id))), e;
66
- }, [d, p, c]);
65
+ return b.length > 0 && e.push(...b), e.push(...p.filter((r) => !s.includes(r.id))), e;
66
+ }, [b, p, s]);
67
67
  I(() => {
68
68
  const e = (r) => {
69
- (r.metaKey || r.ctrlKey) && r.key.toLowerCase() === T && (r.preventDefault(), s(!u)), r.key === "Escape" && u && (r.preventDefault(), s(!1));
69
+ (r.metaKey || r.ctrlKey) && r.key.toLowerCase() === T && (r.preventDefault(), d(!u)), r.key === "Escape" && u && (r.preventDefault(), d(!1));
70
70
  };
71
71
  return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
72
- }, [u, T, s]), I(() => {
73
- u && (S(""), N(0), setTimeout(() => {
72
+ }, [u, T, d]), I(() => {
73
+ u && (S(""), k(0), setTimeout(() => {
74
74
  var e;
75
75
  return (e = K.current) == null ? void 0 : e.focus();
76
76
  }, 50));
@@ -80,25 +80,25 @@ const D = ({
80
80
  r && r.scrollIntoView({ block: "nearest" });
81
81
  }
82
82
  }, [n]);
83
- const f = k((e) => {
84
- const r = [e.id, ...c.filter((b) => b !== e.id)].slice(0, _);
85
- O(r), s(!1), e.onSelect();
86
- }, [c, _, O, s]), W = k((e) => {
83
+ const x = C((e) => {
84
+ const r = [e.id, ...s.filter((c) => c !== e.id)].slice(0, g);
85
+ O(r), d(!1), e.onSelect();
86
+ }, [s, g, O, d]), W = C((e) => {
87
87
  switch (e.key) {
88
88
  case "ArrowDown":
89
- e.preventDefault(), N((r) => r < o.length - 1 ? r + 1 : 0);
89
+ e.preventDefault(), k((r) => r < o.length - 1 ? r + 1 : 0);
90
90
  break;
91
91
  case "ArrowUp":
92
- e.preventDefault(), N((r) => r > 0 ? r - 1 : o.length - 1);
92
+ e.preventDefault(), k((r) => r > 0 ? r - 1 : o.length - 1);
93
93
  break;
94
94
  case "Enter":
95
- e.preventDefault(), o[n] && !o[n].disabled && f(o[n]);
95
+ e.preventDefault(), o[n] && !o[n].disabled && x(o[n]);
96
96
  break;
97
97
  case "Escape":
98
- e.preventDefault(), s(!1);
98
+ e.preventDefault(), d(!1);
99
99
  break;
100
100
  }
101
- }, [o, n, f, s]);
101
+ }, [o, n, x, d]);
102
102
  return u && typeof document < "u" ? Z(
103
103
  /* @__PURE__ */ l(
104
104
  "div",
@@ -107,77 +107,77 @@ const D = ({
107
107
  style: { zIndex: re },
108
108
  "data-testid": q,
109
109
  children: [
110
- /* @__PURE__ */ t(
110
+ /* @__PURE__ */ a(
111
111
  "div",
112
112
  {
113
113
  className: "Bear-CommandPalette__backdrop bear-absolute bear-inset-0 bear-bg-black/50 bear-backdrop-blur-sm",
114
- onClick: () => s(!1)
114
+ onClick: () => d(!1)
115
115
  }
116
116
  ),
117
- /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__content bear-relative bear-w-full bear-max-w-xl bear-bg-zinc-800 bear-border bear-border-zinc-700 bear-rounded-xl bear-shadow-2xl bear-overflow-hidden", children: [
118
- /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__search bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-3 bear-border-b bear-border-zinc-700", children: [
119
- G ?? /* @__PURE__ */ t("svg", { className: "bear-w-5 bear-h-5 bear-text-zinc-400 bear-shrink-0", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ t("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }),
120
- /* @__PURE__ */ t(
117
+ /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__content bear-relative bear-w-full bear-max-w-xl bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-xl bear-shadow-2xl bear-overflow-hidden", children: [
118
+ /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__search bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-3 bear-border-b bear-border-gray-200 dark:bear-border-zinc-700", children: [
119
+ G ?? /* @__PURE__ */ a("svg", { className: "bear-w-5 bear-h-5 bear-text-gray-500 dark:bear-text-zinc-400 bear-shrink-0", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ a("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }),
120
+ /* @__PURE__ */ a(
121
121
  "input",
122
122
  {
123
123
  ref: K,
124
124
  type: "text",
125
125
  value: i,
126
126
  onChange: (e) => {
127
- S(e.target.value), N(0);
127
+ S(e.target.value), k(0);
128
128
  },
129
129
  onKeyDown: W,
130
- placeholder: w || y.placeholder,
131
- className: "Bear-CommandPalette__input bear-flex-1 bear-bg-transparent bear-border-0 bear-outline-none bear-text-white placeholder:bear-text-zinc-500"
130
+ placeholder: P || _.placeholder,
131
+ className: "Bear-CommandPalette__input bear-flex-1 bear-bg-transparent bear-border-0 bear-outline-none bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-400 dark:placeholder:bear-text-zinc-500"
132
132
  }
133
133
  ),
134
- /* @__PURE__ */ t("kbd", { className: "bear-px-2 bear-py-1 bear-text-xs bear-font-mono bear-bg-zinc-700 bear-rounded bear-text-zinc-400", children: "esc" })
134
+ /* @__PURE__ */ a("kbd", { className: "bear-px-2 bear-py-1 bear-text-xs bear-font-mono bear-bg-gray-200 bear-text-gray-600 dark:bear-bg-zinc-700 dark:bear-text-zinc-400 bear-rounded", children: "esc" })
135
135
  ] }),
136
- /* @__PURE__ */ t(
136
+ /* @__PURE__ */ a(
137
137
  "div",
138
138
  {
139
139
  ref: B,
140
140
  className: "Bear-CommandPalette__list bear-max-h-[60vh] bear-overflow-y-auto",
141
- children: o.length === 0 ? /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__empty bear-px-4 bear-py-8 bear-text-center bear-text-sm bear-text-zinc-500", children: y.noResults }) : /* @__PURE__ */ l(Y, { children: [
142
- d.length > 0 && !i.trim() && /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__group", children: [
143
- /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-zinc-800/50", children: y.recentCommands }),
144
- d.map((e, r) => /* @__PURE__ */ t("div", { "data-command-item": !0, children: /* @__PURE__ */ t(
141
+ children: o.length === 0 ? /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__empty bear-px-4 bear-py-8 bear-text-center bear-text-sm bear-text-gray-500 dark:bear-text-zinc-500", children: _.noResults }) : /* @__PURE__ */ l(Y, { children: [
142
+ b.length > 0 && !i.trim() && /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__group", children: [
143
+ /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-gray-500 dark:bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-gray-50 dark:bear-bg-zinc-800/50", children: _.recentCommands }),
144
+ b.map((e, r) => /* @__PURE__ */ a("div", { "data-command-item": !0, children: /* @__PURE__ */ a(
145
145
  D,
146
146
  {
147
147
  command: e,
148
148
  isHighlighted: n === r,
149
- onSelect: () => f(e)
149
+ onSelect: () => x(e)
150
150
  }
151
151
  ) }, `recent-${e.id}`))
152
152
  ] }),
153
- z && g ? g.map((e) => {
154
- const r = d.length + g.slice(0, g.indexOf(e)).reduce((b, E) => b + E.commands.length, 0);
153
+ z && v ? v.map((e) => {
154
+ const r = b.length + v.slice(0, v.indexOf(e)).reduce((c, E) => c + E.commands.length, 0);
155
155
  return /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__group", children: [
156
- /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-zinc-800/50", children: e.name }),
157
- e.commands.map((b, E) => /* @__PURE__ */ t("div", { "data-command-item": !0, children: /* @__PURE__ */ t(
156
+ /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-gray-500 dark:bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-gray-50 dark:bear-bg-zinc-800/50", children: e.name }),
157
+ e.commands.map((c, E) => /* @__PURE__ */ a("div", { "data-command-item": !0, children: /* @__PURE__ */ a(
158
158
  D,
159
159
  {
160
- command: b,
160
+ command: c,
161
161
  isHighlighted: n === r + E,
162
- onSelect: () => f(b)
162
+ onSelect: () => x(c)
163
163
  }
164
- ) }, b.id))
164
+ ) }, c.id))
165
165
  ] }, e.name);
166
166
  }) : /* @__PURE__ */ l("div", { className: "Bear-CommandPalette__group", children: [
167
- !i.trim() && d.length > 0 && /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-zinc-800/50", children: y.allCommands }),
168
- p.filter((e) => !c.includes(e.id) || i.trim()).map((e, r) => /* @__PURE__ */ t("div", { "data-command-item": !0, children: /* @__PURE__ */ t(
167
+ !i.trim() && b.length > 0 && /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__group-header bear-px-4 bear-py-2 bear-text-xs bear-font-medium bear-text-gray-500 dark:bear-text-zinc-500 bear-uppercase bear-tracking-wider bear-bg-gray-50 dark:bear-bg-zinc-800/50", children: _.allCommands }),
168
+ p.filter((e) => !s.includes(e.id) || i.trim()).map((e, r) => /* @__PURE__ */ a("div", { "data-command-item": !0, children: /* @__PURE__ */ a(
169
169
  D,
170
170
  {
171
171
  command: e,
172
- isHighlighted: n === d.length + r,
173
- onSelect: () => f(e)
172
+ isHighlighted: n === b.length + r,
173
+ onSelect: () => x(e)
174
174
  }
175
175
  ) }, e.id))
176
176
  ] })
177
177
  ] })
178
178
  }
179
179
  ),
180
- M && /* @__PURE__ */ t("div", { className: "Bear-CommandPalette__footer bear-px-4 bear-py-2 bear-border-t bear-border-zinc-700 bear-text-xs bear-text-zinc-500", children: M })
180
+ M && /* @__PURE__ */ a("div", { className: "Bear-CommandPalette__footer bear-px-4 bear-py-2 bear-border-t bear-border-gray-200 dark:bear-border-zinc-700 bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500", children: M })
181
181
  ] })
182
182
  ]
183
183
  }
@@ -186,5 +186,5 @@ const D = ({
186
186
  ) : null;
187
187
  };
188
188
  export {
189
- be as CommandPalette
189
+ ce as CommandPalette
190
190
  };
@@ -47,6 +47,7 @@ export interface CommandPaletteTranslations {
47
47
  * CommandPalette component props
48
48
  */
49
49
  export interface CommandPaletteProps {
50
+ id?: string;
50
51
  /** Available commands */
51
52
  commands: CommandItem[];
52
53
  /** Whether the palette is open */
@@ -13,6 +13,7 @@ export interface ConfettiPiece {
13
13
  shape: 'square' | 'circle' | 'triangle';
14
14
  }
15
15
  export interface ConfettiProps {
16
+ id?: string;
16
17
  /** Whether confetti is active */
17
18
  active?: boolean;
18
19
  /** Number of confetti pieces */
@@ -0,0 +1 @@
1
+ export declare const C_O_N_T_A_I_N_E_R_ROOT_CLASS = "Bear-Container";
@@ -1,6 +1,7 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  export type ContainerSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
3
3
  export interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
4
+ id?: string;
4
5
  /** Maximum width of the container */
5
6
  size?: ContainerSize;
6
7
  /** Whether to center the container */
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("react"),_=require("../../utils/cn.cjs"),l=require("./ContextMenu.const.cjs"),j=require("./ContextMenu.utils.cjs"),b=({items:S,position:a,onClose:i})=>{const[c,o]=r.useState(null),[u,d]=r.useState({x:0,y:0}),x=r.useRef(null),E=r.useCallback(s=>{var e;s.disabled||s.children||((e=s.onClick)==null||e.call(s),i())},[i]),f=r.useCallback((s,e)=>{if(s.children){const n=e.currentTarget.getBoundingClientRect();d({x:n.right+l.SUB_MENU_OFFSET,y:n.top}),o(s.id)}else o(null)},[]);return t.jsx("div",{ref:x,className:l.MENU_CLASSES,style:{left:a.x,top:a.y},role:"menu",children:S.map(s=>{if(j.isDivider(s))return t.jsx("div",{className:l.DIVIDER_CLASSES,role:"separator"},s.id);const e=s;return t.jsxs("div",{children:[t.jsxs("div",{className:_.cn(l.ITEM_CLASSES,e.disabled&&l.ITEM_DISABLED_CLASSES,e.danger&&l.ITEM_DANGER_CLASSES),onClick:()=>E(e),onMouseEnter:n=>f(e,n),role:"menuitem","aria-disabled":e.disabled,children:[t.jsxs("span",{className:"bear-flex bear-items-center",children:[e.icon&&t.jsx("span",{className:l.ICON_CLASSES,children:e.icon}),e.label]}),t.jsxs("span",{className:"bear-flex bear-items-center",children:[e.shortcut&&t.jsx("span",{className:l.SHORTCUT_CLASSES,children:e.shortcut}),e.children&&t.jsx("span",{className:l.SUB_INDICATOR_CLASSES,children:"▸"})]})]}),e.children&&c===e.id&&t.jsx(b,{items:e.children,position:u,onClose:i})]},e.id)})})},v=({items:S,children:a,disabled:i=!1,onOpenChange:c,testId:o})=>{const[u,d]=r.useState(!1),[x,E]=r.useState({x:0,y:0}),f=r.useRef(null),s=r.useCallback(()=>{d(!1),c==null||c(!1)},[c]),e=r.useCallback(n=>{i||(n.preventDefault(),E({x:n.clientX,y:n.clientY}),d(!0),c==null||c(!0))},[i,c]);return r.useEffect(()=>{if(!u)return;const n=()=>s(),m=M=>{M.key==="Escape"&&s()};return document.addEventListener("mousedown",n),document.addEventListener("keydown",m),()=>{document.removeEventListener("mousedown",n),document.removeEventListener("keydown",m)}},[u,s]),t.jsxs("div",{ref:f,onContextMenu:e,"data-testid":o,children:[a,u&&t.jsx(b,{items:S,position:x,onClose:s})]})};exports.ContextMenu=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("react/jsx-runtime"),n=require("react"),T=require("../../utils/generateBearId.utils.cjs"),b=require("../../utils/useBearId.cjs"),k=require("./ContextMenu.const.cjs"),R=require("./components/ContextMenuMenuList/ContextMenuMenuList.cjs"),S=M=>{const{id:v,items:y,children:C,disabled:c=!1,onOpenChange:e,testId:E}=M,[o,i]=n.useState(!1),[I,q]=n.useState({x:0,y:0}),d=n.useRef(null),p=b.useBearId("ContextMenu"),w=T.resolveBearId(v,p),s=n.useCallback(()=>{i(!1),e==null||e(!1)},[e]),L=n.useCallback(t=>{c||(t.preventDefault(),q({x:t.clientX,y:t.clientY}),i(!0),e==null||e(!0))},[c,e]);return n.useEffect(()=>{if(!o)return;const t=r=>{var m;const l=r.target;if((m=d.current)!=null&&m.contains(l))return;const f=document.querySelectorAll(`[${k.CONTEXT_MENU_DATA_ATTR}]`);for(let u=0;u<f.length;u+=1)if(f[u].contains(l))return;s()},a=r=>{r.key==="Escape"&&s()};return document.addEventListener("mousedown",t),document.addEventListener("keydown",a),()=>{document.removeEventListener("mousedown",t),document.removeEventListener("keydown",a)}},[o,s]),x.jsxs("div",{ref:d,id:w,onContextMenu:L,"data-testid":E,children:[C,o&&x.jsx(R.ContextMenuMenuList,{items:y,position:I,onClose:s})]})};exports.ContextMenu=S;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r="Bear-ContextMenu bear-fixed bear-z-[99999] bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-py-1 bear-min-w-[180px] bear-animate-in",e="bear-flex bear-items-center bear-justify-between bear-px-3 bear-py-1.5 bear-text-sm bear-cursor-pointer bear-transition-colors bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-50 dark:hover:bear-bg-zinc-700",a="bear-opacity-40 bear-cursor-not-allowed",b="bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-900/20",S="bear-my-1 bear-border-t bear-border-gray-200 dark:bear-border-zinc-700",t="bear-mr-2 bear-w-4 bear-h-4 bear-flex-shrink-0",o="bear-text-xs bear-text-gray-400 dark:bear-text-zinc-500 bear-ml-4",E="bear-ml-2 bear-text-gray-400 dark:bear-text-zinc-500",n=4;exports.DIVIDER_CLASSES=S;exports.ICON_CLASSES=t;exports.ITEM_CLASSES=e;exports.ITEM_DANGER_CLASSES=b;exports.ITEM_DISABLED_CLASSES=a;exports.MENU_CLASSES=r;exports.SHORTCUT_CLASSES=o;exports.SUB_INDICATOR_CLASSES=E;exports.SUB_MENU_OFFSET=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="data-bear-context-menu",r="Bear-ContextMenu bear-fixed bear-z-[99999] bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-py-1 bear-min-w-[180px] bear-animate-in",a="bear-flex bear-items-center bear-justify-between bear-px-3 bear-py-1.5 bear-text-sm bear-cursor-pointer bear-transition-colors bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-50 dark:hover:bear-bg-zinc-700",S="bear-opacity-40 bear-cursor-not-allowed",b="bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-900/20",t="bear-my-1 bear-border-t bear-border-gray-200 dark:bear-border-zinc-700",E="bear-mr-2 bear-w-4 bear-h-4 bear-flex-shrink-0",o="bear-text-xs bear-text-gray-400 dark:bear-text-zinc-500 bear-ml-4",_="bear-ml-2 bear-text-gray-400 dark:bear-text-zinc-500",n="bear-flex bear-items-center",A=4,T=8;exports.CONTEXT_MENU_DATA_ATTR=e;exports.DIVIDER_CLASSES=t;exports.ICON_CLASSES=E;exports.ITEM_CLASSES=a;exports.ITEM_DANGER_CLASSES=b;exports.ITEM_DISABLED_CLASSES=S;exports.ITEM_ROW_CLASSES=n;exports.MENU_CLASSES=r;exports.SHORTCUT_CLASSES=o;exports.SUB_INDICATOR_CLASSES=_;exports.SUB_MENU_OFFSET=A;exports.VIEWPORT_PADDING=T;
@@ -1,3 +1,4 @@
1
+ export declare const CONTEXT_MENU_DATA_ATTR = "data-bear-context-menu";
1
2
  export declare const MENU_CLASSES = "Bear-ContextMenu bear-fixed bear-z-[99999] bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-py-1 bear-min-w-[180px] bear-animate-in";
2
3
  export declare const ITEM_CLASSES = "bear-flex bear-items-center bear-justify-between bear-px-3 bear-py-1.5 bear-text-sm bear-cursor-pointer bear-transition-colors bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-50 dark:hover:bear-bg-zinc-700";
3
4
  export declare const ITEM_DISABLED_CLASSES = "bear-opacity-40 bear-cursor-not-allowed";
@@ -6,4 +7,6 @@ export declare const DIVIDER_CLASSES = "bear-my-1 bear-border-t bear-border-gray
6
7
  export declare const ICON_CLASSES = "bear-mr-2 bear-w-4 bear-h-4 bear-flex-shrink-0";
7
8
  export declare const SHORTCUT_CLASSES = "bear-text-xs bear-text-gray-400 dark:bear-text-zinc-500 bear-ml-4";
8
9
  export declare const SUB_INDICATOR_CLASSES = "bear-ml-2 bear-text-gray-400 dark:bear-text-zinc-500";
10
+ export declare const ITEM_ROW_CLASSES = "bear-flex bear-items-center";
9
11
  export declare const SUB_MENU_OFFSET = 4;
12
+ export declare const VIEWPORT_PADDING = 8;
@@ -1,12 +1,15 @@
1
- const r = "Bear-ContextMenu bear-fixed bear-z-[99999] bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-py-1 bear-min-w-[180px] bear-animate-in", e = "bear-flex bear-items-center bear-justify-between bear-px-3 bear-py-1.5 bear-text-sm bear-cursor-pointer bear-transition-colors bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-50 dark:hover:bear-bg-zinc-700", a = "bear-opacity-40 bear-cursor-not-allowed", b = "bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-900/20", t = "bear-my-1 bear-border-t bear-border-gray-200 dark:bear-border-zinc-700", o = "bear-mr-2 bear-w-4 bear-h-4 bear-flex-shrink-0", n = "bear-text-xs bear-text-gray-400 dark:bear-text-zinc-500 bear-ml-4", S = "bear-ml-2 bear-text-gray-400 dark:bear-text-zinc-500", d = 4;
1
+ const r = "data-bear-context-menu", e = "Bear-ContextMenu bear-fixed bear-z-[99999] bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-py-1 bear-min-w-[180px] bear-animate-in", a = "bear-flex bear-items-center bear-justify-between bear-px-3 bear-py-1.5 bear-text-sm bear-cursor-pointer bear-transition-colors bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-50 dark:hover:bear-bg-zinc-700", b = "bear-opacity-40 bear-cursor-not-allowed", t = "bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-900/20", o = "bear-my-1 bear-border-t bear-border-gray-200 dark:bear-border-zinc-700", n = "bear-mr-2 bear-w-4 bear-h-4 bear-flex-shrink-0", S = "bear-text-xs bear-text-gray-400 dark:bear-text-zinc-500 bear-ml-4", c = "bear-ml-2 bear-text-gray-400 dark:bear-text-zinc-500", d = "bear-flex bear-items-center", s = 4, E = 8;
2
2
  export {
3
- t as DIVIDER_CLASSES,
4
- o as ICON_CLASSES,
5
- e as ITEM_CLASSES,
6
- b as ITEM_DANGER_CLASSES,
7
- a as ITEM_DISABLED_CLASSES,
8
- r as MENU_CLASSES,
9
- n as SHORTCUT_CLASSES,
10
- S as SUB_INDICATOR_CLASSES,
11
- d as SUB_MENU_OFFSET
3
+ r as CONTEXT_MENU_DATA_ATTR,
4
+ o as DIVIDER_CLASSES,
5
+ n as ICON_CLASSES,
6
+ a as ITEM_CLASSES,
7
+ t as ITEM_DANGER_CLASSES,
8
+ b as ITEM_DISABLED_CLASSES,
9
+ d as ITEM_ROW_CLASSES,
10
+ e as MENU_CLASSES,
11
+ S as SHORTCUT_CLASSES,
12
+ c as SUB_INDICATOR_CLASSES,
13
+ s as SUB_MENU_OFFSET,
14
+ E as VIEWPORT_PADDING
12
15
  };
@@ -1,4 +1,2 @@
1
- import { FC } from 'react';
2
1
  import { ContextMenuProps } from './ContextMenu.types';
3
- export declare const ContextMenu: FC<ContextMenuProps>;
4
- export default ContextMenu;
2
+ export declare const ContextMenu: (props: ContextMenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,65 +1,36 @@
1
- import { jsxs as i, jsx as n } from "react/jsx-runtime";
2
- import { useState as u, useRef as b, useCallback as S, useEffect as N } from "react";
3
- import { cn as _ } from "../../utils/cn.js";
4
- import { SUB_MENU_OFFSET as h, MENU_CLASSES as A, DIVIDER_CLASSES as I, ICON_CLASSES as M, SHORTCUT_CLASSES as k, SUB_INDICATOR_CLASSES as y, ITEM_DANGER_CLASSES as C, ITEM_DISABLED_CLASSES as D, ITEM_CLASSES as R } from "./ContextMenu.const.js";
5
- import { isDivider as T } from "./ContextMenu.utils.js";
6
- const v = ({ items: m, position: o, onClose: c }) => {
7
- const [r, d] = u(null), [l, a] = u({ x: 0, y: 0 }), f = b(null), E = S((s) => {
8
- var e;
9
- s.disabled || s.children || ((e = s.onClick) == null || e.call(s), c());
10
- }, [c]), p = S((s, e) => {
11
- if (s.children) {
12
- const t = e.currentTarget.getBoundingClientRect();
13
- a({ x: t.right + h, y: t.top }), d(s.id);
14
- } else
15
- d(null);
16
- }, []);
17
- return /* @__PURE__ */ n("div", { ref: f, className: A, style: { left: o.x, top: o.y }, role: "menu", children: m.map((s) => {
18
- if (T(s)) return /* @__PURE__ */ n("div", { className: I, role: "separator" }, s.id);
19
- const e = s;
20
- return /* @__PURE__ */ i("div", { children: [
21
- /* @__PURE__ */ i(
22
- "div",
23
- {
24
- className: _(R, e.disabled && D, e.danger && C),
25
- onClick: () => E(e),
26
- onMouseEnter: (t) => p(e, t),
27
- role: "menuitem",
28
- "aria-disabled": e.disabled,
29
- children: [
30
- /* @__PURE__ */ i("span", { className: "bear-flex bear-items-center", children: [
31
- e.icon && /* @__PURE__ */ n("span", { className: M, children: e.icon }),
32
- e.label
33
- ] }),
34
- /* @__PURE__ */ i("span", { className: "bear-flex bear-items-center", children: [
35
- e.shortcut && /* @__PURE__ */ n("span", { className: k, children: e.shortcut }),
36
- e.children && /* @__PURE__ */ n("span", { className: y, children: "▸" })
37
- ] })
38
- ]
39
- }
40
- ),
41
- e.children && r === e.id && /* @__PURE__ */ n(v, { items: e.children, position: l, onClose: c })
42
- ] }, e.id);
43
- }) });
44
- }, F = ({ items: m, children: o, disabled: c = !1, onOpenChange: r, testId: d }) => {
45
- const [l, a] = u(!1), [f, E] = u({ x: 0, y: 0 }), p = b(null), s = S(() => {
46
- a(!1), r == null || r(!1);
47
- }, [r]), e = S((t) => {
48
- c || (t.preventDefault(), E({ x: t.clientX, y: t.clientY }), a(!0), r == null || r(!0));
49
- }, [c, r]);
50
- return N(() => {
51
- if (!l) return;
52
- const t = () => s(), L = (x) => {
53
- x.key === "Escape" && s();
1
+ import { jsxs as k, jsx as A } from "react/jsx-runtime";
2
+ import { useState as f, useRef as h, useCallback as p, useEffect as D } from "react";
3
+ import { resolveBearId as R } from "../../utils/generateBearId.utils.js";
4
+ import { useBearId as _ } from "../../utils/useBearId.js";
5
+ import { CONTEXT_MENU_DATA_ATTR as b } from "./ContextMenu.const.js";
6
+ import { ContextMenuMenuList as j } from "./components/ContextMenuMenuList/ContextMenuMenuList.js";
7
+ const q = (x) => {
8
+ const { id: v, items: E, children: y, disabled: i = !1, onOpenChange: e, testId: M } = x, [o, d] = f(!1), [w, I] = f({ x: 0, y: 0 }), u = h(null), C = _("ContextMenu"), L = R(v, C), n = p(() => {
9
+ d(!1), e == null || e(!1);
10
+ }, [e]), T = p((t) => {
11
+ i || (t.preventDefault(), I({ x: t.clientX, y: t.clientY }), d(!0), e == null || e(!0));
12
+ }, [i, e]);
13
+ return D(() => {
14
+ if (!o) return;
15
+ const t = (r) => {
16
+ var a;
17
+ const l = r.target;
18
+ if ((a = u.current) != null && a.contains(l)) return;
19
+ const m = document.querySelectorAll(`[${b}]`);
20
+ for (let s = 0; s < m.length; s += 1)
21
+ if (m[s].contains(l)) return;
22
+ n();
23
+ }, c = (r) => {
24
+ r.key === "Escape" && n();
54
25
  };
55
- return document.addEventListener("mousedown", t), document.addEventListener("keydown", L), () => {
56
- document.removeEventListener("mousedown", t), document.removeEventListener("keydown", L);
26
+ return document.addEventListener("mousedown", t), document.addEventListener("keydown", c), () => {
27
+ document.removeEventListener("mousedown", t), document.removeEventListener("keydown", c);
57
28
  };
58
- }, [l, s]), /* @__PURE__ */ i("div", { ref: p, onContextMenu: e, "data-testid": d, children: [
59
- o,
60
- l && /* @__PURE__ */ n(v, { items: m, position: f, onClose: s })
29
+ }, [o, n]), /* @__PURE__ */ k("div", { ref: u, id: L, onContextMenu: T, "data-testid": M, children: [
30
+ y,
31
+ o && /* @__PURE__ */ A(j, { items: E, position: w, onClose: n })
61
32
  ] });
62
33
  };
63
34
  export {
64
- F as ContextMenu
35
+ q as ContextMenu
65
36
  };
@@ -15,6 +15,7 @@ export interface ContextMenuDivider {
15
15
  }
16
16
  export type ContextMenuEntry = ContextMenuItem | ContextMenuDivider;
17
17
  export interface ContextMenuProps {
18
+ id?: string;
18
19
  items: ContextMenuEntry[];
19
20
  children: ReactNode;
20
21
  disabled?: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=i=>"type"in i&&i.type==="divider";exports.isDivider=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./ContextMenu.const.cjs"),P=t=>"type"in t&&t.type==="divider",d=(t,r)=>{const e=r.getBoundingClientRect();let n=t.x,o=t.y;return e.right>window.innerWidth-i.VIEWPORT_PADDING&&(n=window.innerWidth-e.width-i.VIEWPORT_PADDING),e.bottom>window.innerHeight-i.VIEWPORT_PADDING&&(o=window.innerHeight-e.height-i.VIEWPORT_PADDING),{x:Math.max(i.VIEWPORT_PADDING,n),y:Math.max(i.VIEWPORT_PADDING,o)}};exports.clampMenuPosition=d;exports.isDivider=P;
@@ -3,3 +3,10 @@ export declare const isDivider: (entry: ContextMenuEntry) => entry is {
3
3
  id: string;
4
4
  type: "divider";
5
5
  };
6
+ export declare const clampMenuPosition: (position: {
7
+ x: number;
8
+ y: number;
9
+ }, menuEl: HTMLDivElement) => {
10
+ x: number;
11
+ y: number;
12
+ };
@@ -1,4 +1,13 @@
1
- const e = (i) => "type" in i && i.type === "divider";
1
+ import { VIEWPORT_PADDING as i } from "./ContextMenu.const.js";
2
+ const h = (t) => "type" in t && t.type === "divider", w = (t, r) => {
3
+ const n = r.getBoundingClientRect();
4
+ let e = t.x, o = t.y;
5
+ return n.right > window.innerWidth - i && (e = window.innerWidth - n.width - i), n.bottom > window.innerHeight - i && (o = window.innerHeight - n.height - i), {
6
+ x: Math.max(i, e),
7
+ y: Math.max(i, o)
8
+ };
9
+ };
2
10
  export {
3
- e as isDivider
11
+ w as clampMenuPosition,
12
+ h as isDivider
4
13
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),T=require("react-dom"),f=require("../../../../utils/cn.cjs"),n=require("../../ContextMenu.const.cjs"),E=require("../../ContextMenu.utils.cjs"),C=x=>{const{items:u,position:r,onClose:l}=x,[_,a]=o.useState(null),[M,h]=o.useState({x:0,y:0}),[c,d]=o.useState(r),S=o.useRef(null);o.useLayoutEffect(()=>{d(r)},[r.x,r.y]),o.useLayoutEffect(()=>{const s=S.current;if(!s)return;const e=E.clampMenuPosition(c,s);(e.x!==c.x||e.y!==c.y)&&d(e)},[c.x,c.y,u]);const p=o.useCallback(s=>{var e;s.disabled||s.children||((e=s.onClick)==null||e.call(s),l())},[l]),A=o.useCallback((s,e)=>{if(s.children){const i=e.currentTarget.getBoundingClientRect();h({x:i.right+n.SUB_MENU_OFFSET,y:i.top}),a(s.id)}else a(null)},[]),m=t.jsx("div",{ref:S,[n.CONTEXT_MENU_DATA_ATTR]:!0,className:n.MENU_CLASSES,style:{left:c.x,top:c.y},role:"menu",onMouseDown:s=>s.stopPropagation(),onContextMenu:s=>s.preventDefault(),children:u.map(s=>{if(E.isDivider(s))return t.jsx("div",{className:n.DIVIDER_CLASSES,role:"separator"},s.id);const e=s;return t.jsxs("div",{children:[t.jsxs("div",{className:f.cn(n.ITEM_CLASSES,e.disabled&&n.ITEM_DISABLED_CLASSES,e.danger&&n.ITEM_DANGER_CLASSES),onClick:()=>p(e),onMouseEnter:i=>A(e,i),role:"menuitem","aria-disabled":e.disabled,children:[t.jsxs("span",{className:n.ITEM_ROW_CLASSES,children:[e.icon&&t.jsx("span",{className:n.ICON_CLASSES,children:e.icon}),e.label]}),t.jsxs("span",{className:n.ITEM_ROW_CLASSES,children:[e.shortcut&&t.jsx("span",{className:n.SHORTCUT_CLASSES,children:e.shortcut}),e.children&&t.jsx("span",{className:n.SUB_INDICATOR_CLASSES,children:"▸"})]})]}),e.children&&_===e.id&&t.jsx(C,{items:e.children,position:M,onClose:l})]},e.id)})});return T.createPortal(m,document.body)};exports.ContextMenuMenuList=C;
@@ -0,0 +1,11 @@
1
+ import { ContextMenuEntry } from '../../ContextMenu.types';
2
+ type ContextMenuMenuListProps = {
3
+ items: ContextMenuEntry[];
4
+ position: {
5
+ x: number;
6
+ y: number;
7
+ };
8
+ onClose: () => void;
9
+ };
10
+ export declare const ContextMenuMenuList: (props: ContextMenuMenuListProps) => import('react').ReactPortal;
11
+ export {};
@@ -0,0 +1,69 @@
1
+ import { jsx as o, jsxs as i } from "react/jsx-runtime";
2
+ import { useState as c, useRef as T, useLayoutEffect as m, useCallback as p } from "react";
3
+ import { createPortal as x } from "react-dom";
4
+ import { cn as L } from "../../../../utils/cn.js";
5
+ import { SUB_MENU_OFFSET as b, MENU_CLASSES as I, DIVIDER_CLASSES as D, ITEM_ROW_CLASSES as E, ICON_CLASSES as R, SHORTCUT_CLASSES as y, SUB_INDICATOR_CLASSES as O, ITEM_DANGER_CLASSES as P, ITEM_DISABLED_CLASSES as g, ITEM_CLASSES as v, CONTEXT_MENU_DATA_ATTR as U } from "../../ContextMenu.const.js";
6
+ import { clampMenuPosition as j, isDivider as k } from "../../ContextMenu.utils.js";
7
+ const B = (C) => {
8
+ const { items: a, position: t, onClose: l } = C, [f, d] = c(null), [h, _] = c({ x: 0, y: 0 }), [s, u] = c(t), S = T(null);
9
+ m(() => {
10
+ u(t);
11
+ }, [t.x, t.y]), m(() => {
12
+ const n = S.current;
13
+ if (!n) return;
14
+ const e = j(s, n);
15
+ (e.x !== s.x || e.y !== s.y) && u(e);
16
+ }, [s.x, s.y, a]);
17
+ const A = p((n) => {
18
+ var e;
19
+ n.disabled || n.children || ((e = n.onClick) == null || e.call(n), l());
20
+ }, [l]), N = p((n, e) => {
21
+ if (n.children) {
22
+ const r = e.currentTarget.getBoundingClientRect();
23
+ _({ x: r.right + b, y: r.top }), d(n.id);
24
+ } else
25
+ d(null);
26
+ }, []), M = /* @__PURE__ */ o(
27
+ "div",
28
+ {
29
+ ref: S,
30
+ [U]: !0,
31
+ className: I,
32
+ style: { left: s.x, top: s.y },
33
+ role: "menu",
34
+ onMouseDown: (n) => n.stopPropagation(),
35
+ onContextMenu: (n) => n.preventDefault(),
36
+ children: a.map((n) => {
37
+ if (k(n)) return /* @__PURE__ */ o("div", { className: D, role: "separator" }, n.id);
38
+ const e = n;
39
+ return /* @__PURE__ */ i("div", { children: [
40
+ /* @__PURE__ */ i(
41
+ "div",
42
+ {
43
+ className: L(v, e.disabled && g, e.danger && P),
44
+ onClick: () => A(e),
45
+ onMouseEnter: (r) => N(e, r),
46
+ role: "menuitem",
47
+ "aria-disabled": e.disabled,
48
+ children: [
49
+ /* @__PURE__ */ i("span", { className: E, children: [
50
+ e.icon && /* @__PURE__ */ o("span", { className: R, children: e.icon }),
51
+ e.label
52
+ ] }),
53
+ /* @__PURE__ */ i("span", { className: E, children: [
54
+ e.shortcut && /* @__PURE__ */ o("span", { className: y, children: e.shortcut }),
55
+ e.children && /* @__PURE__ */ o("span", { className: O, children: "▸" })
56
+ ] })
57
+ ]
58
+ }
59
+ ),
60
+ e.children && f === e.id && /* @__PURE__ */ o(B, { items: e.children, position: h, onClose: l })
61
+ ] }, e.id);
62
+ })
63
+ }
64
+ );
65
+ return x(M, document.body);
66
+ };
67
+ export {
68
+ B as ContextMenuMenuList
69
+ };
@@ -0,0 +1 @@
1
+ export { ContextMenuMenuList } from './ContextMenuMenuList';
@@ -0,0 +1 @@
1
+ export declare const C_O_P_Y_B_U_T_T_O_N_ROOT_CLASS = "Bear-CopyButton";
@@ -1,5 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  export interface CopyButtonProps {
3
+ testId?: string;
4
+ id?: string;
3
5
  value: string;
4
6
  children?: ReactNode;
5
7
  onCopy?: (value: string) => void;