@forgedevstack/bear 1.3.2 → 1.3.4

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 (404) hide show
  1. package/README.md +145 -288
  2. package/dist/components/AlertDialog/AlertDialog.cjs +1 -1
  3. package/dist/components/AlertDialog/AlertDialog.js +67 -84
  4. package/dist/components/ApprovalCard/ApprovalCard.cjs +1 -0
  5. package/dist/components/ApprovalCard/ApprovalCard.const.cjs +1 -0
  6. package/dist/components/ApprovalCard/ApprovalCard.const.d.ts +2 -0
  7. package/dist/components/ApprovalCard/ApprovalCard.const.js +8 -0
  8. package/dist/components/ApprovalCard/ApprovalCard.d.ts +2 -0
  9. package/dist/components/ApprovalCard/ApprovalCard.js +25 -0
  10. package/dist/components/ApprovalCard/ApprovalCard.types.d.ts +15 -0
  11. package/dist/components/ApprovalCard/index.d.ts +2 -0
  12. package/dist/components/ArtifactCard/ArtifactCard.cjs +1 -0
  13. package/dist/components/ArtifactCard/ArtifactCard.const.cjs +1 -0
  14. package/dist/components/ArtifactCard/ArtifactCard.const.d.ts +3 -0
  15. package/dist/components/ArtifactCard/ArtifactCard.const.js +8 -0
  16. package/dist/components/ArtifactCard/ArtifactCard.d.ts +2 -0
  17. package/dist/components/ArtifactCard/ArtifactCard.js +43 -0
  18. package/dist/components/ArtifactCard/ArtifactCard.types.d.ts +15 -0
  19. package/dist/components/ArtifactCard/index.d.ts +2 -0
  20. package/dist/components/Banner/Banner.const.cjs +1 -1
  21. package/dist/components/Banner/Banner.const.js +9 -8
  22. package/dist/components/BottomSheet/BottomSheet.cjs +1 -1
  23. package/dist/components/BottomSheet/BottomSheet.js +72 -64
  24. package/dist/components/Chart/BarChart.cjs +1 -1
  25. package/dist/components/Chart/BarChart.js +65 -72
  26. package/dist/components/Chart/Chart.cjs +1 -1
  27. package/dist/components/Chart/Chart.js +21 -18
  28. package/dist/components/Chart/Chart.types.d.ts +1 -1
  29. package/dist/components/Chart/FunnelChart.cjs +1 -1
  30. package/dist/components/Chart/FunnelChart.js +38 -36
  31. package/dist/components/Chart/LineChart.cjs +1 -1
  32. package/dist/components/Chart/LineChart.js +74 -60
  33. package/dist/components/Chart/PieChart.cjs +1 -1
  34. package/dist/components/Chart/PieChart.js +102 -82
  35. package/dist/components/Chart/RadarChart.cjs +1 -1
  36. package/dist/components/Chart/RadarChart.d.ts +1 -1
  37. package/dist/components/Chart/RadarChart.js +116 -93
  38. package/dist/components/Chat/Chat.cjs +1 -1
  39. package/dist/components/Chat/Chat.const.cjs +1 -1
  40. package/dist/components/Chat/Chat.const.d.ts +9 -22
  41. package/dist/components/Chat/Chat.const.js +18 -26
  42. package/dist/components/Chat/Chat.d.ts +1 -20
  43. package/dist/components/Chat/Chat.js +107 -162
  44. package/dist/components/Chat/Chat.types.d.ts +20 -27
  45. package/dist/components/Chat/Chat.utils.cjs +1 -0
  46. package/dist/components/Chat/Chat.utils.d.ts +2 -0
  47. package/dist/components/Chat/Chat.utils.js +10 -0
  48. package/dist/components/Chat/helpers/ChatTypingIndicator.cjs +1 -0
  49. package/dist/components/Chat/helpers/ChatTypingIndicator.d.ts +3 -0
  50. package/dist/components/Chat/helpers/ChatTypingIndicator.js +14 -0
  51. package/dist/components/Chat/index.d.ts +2 -1
  52. package/dist/components/ChatBubble/ChatBubble.cjs +1 -0
  53. package/dist/components/ChatBubble/ChatBubble.const.cjs +1 -0
  54. package/dist/components/ChatBubble/ChatBubble.const.d.ts +13 -0
  55. package/dist/components/ChatBubble/ChatBubble.const.js +17 -0
  56. package/dist/components/ChatBubble/ChatBubble.d.ts +2 -0
  57. package/dist/components/ChatBubble/ChatBubble.js +32 -0
  58. package/dist/components/ChatBubble/ChatBubble.types.d.ts +12 -0
  59. package/dist/components/ChatBubble/ChatBubble.utils.cjs +1 -0
  60. package/dist/components/ChatBubble/ChatBubble.utils.d.ts +6 -0
  61. package/dist/components/ChatBubble/ChatBubble.utils.js +15 -0
  62. package/dist/components/ChatBubble/helpers/ChatBubbleSystem.cjs +1 -0
  63. package/dist/components/ChatBubble/helpers/ChatBubbleSystem.d.ts +2 -0
  64. package/dist/components/ChatBubble/helpers/ChatBubbleSystem.js +21 -0
  65. package/dist/components/ChatBubble/helpers/ChatBubbleThread.cjs +1 -0
  66. package/dist/components/ChatBubble/helpers/ChatBubbleThread.d.ts +4 -0
  67. package/dist/components/ChatBubble/helpers/ChatBubbleThread.js +63 -0
  68. package/dist/components/ChatBubble/index.d.ts +2 -0
  69. package/dist/components/ChatError/ChatError.cjs +1 -0
  70. package/dist/components/ChatError/ChatError.const.cjs +1 -0
  71. package/dist/components/ChatError/ChatError.const.d.ts +2 -0
  72. package/dist/components/ChatError/ChatError.const.js +8 -0
  73. package/dist/components/ChatError/ChatError.d.ts +2 -0
  74. package/dist/components/ChatError/ChatError.js +32 -0
  75. package/dist/components/ChatError/ChatError.types.d.ts +14 -0
  76. package/dist/components/ChatError/index.d.ts +2 -0
  77. package/dist/components/ChipGroup/ChipGroup.cjs +1 -1
  78. package/dist/components/ChipGroup/ChipGroup.const.cjs +1 -1
  79. package/dist/components/ChipGroup/ChipGroup.const.d.ts +2 -0
  80. package/dist/components/ChipGroup/ChipGroup.const.js +6 -4
  81. package/dist/components/ChipGroup/ChipGroup.js +52 -48
  82. package/dist/components/CitationList/CitationList.cjs +1 -0
  83. package/dist/components/CitationList/CitationList.d.ts +2 -0
  84. package/dist/components/CitationList/CitationList.js +30 -0
  85. package/dist/components/CitationList/CitationList.types.d.ts +15 -0
  86. package/dist/components/CitationList/helpers/CitationListTitle.cjs +1 -0
  87. package/dist/components/CitationList/helpers/CitationListTitle.d.ts +2 -0
  88. package/dist/components/CitationList/helpers/CitationListTitle.js +10 -0
  89. package/dist/components/CitationList/helpers/index.d.ts +1 -0
  90. package/dist/components/CitationList/index.d.ts +2 -0
  91. package/dist/components/CommandPalette/CommandItem.cjs +1 -0
  92. package/dist/components/CommandPalette/CommandItem.d.ts +6 -0
  93. package/dist/components/CommandPalette/CommandItem.js +39 -0
  94. package/dist/components/CommandPalette/CommandPalette.cjs +1 -1
  95. package/dist/components/CommandPalette/CommandPalette.js +129 -144
  96. package/dist/components/ContextMeter/ContextMeter.cjs +1 -0
  97. package/dist/components/ContextMeter/ContextMeter.const.cjs +1 -0
  98. package/dist/components/ContextMeter/ContextMeter.const.d.ts +6 -0
  99. package/dist/components/ContextMeter/ContextMeter.const.js +11 -0
  100. package/dist/components/ContextMeter/ContextMeter.d.ts +2 -0
  101. package/dist/components/ContextMeter/ContextMeter.js +49 -0
  102. package/dist/components/ContextMeter/ContextMeter.types.d.ts +11 -0
  103. package/dist/components/ContextMeter/ContextMeter.utils.cjs +1 -0
  104. package/dist/components/ContextMeter/ContextMeter.utils.d.ts +2 -0
  105. package/dist/components/ContextMeter/ContextMeter.utils.js +12 -0
  106. package/dist/components/ContextMeter/index.d.ts +2 -0
  107. package/dist/components/Drawer/Drawer.cjs +1 -1
  108. package/dist/components/Drawer/Drawer.const.cjs +1 -1
  109. package/dist/components/Drawer/Drawer.const.d.ts +2 -1
  110. package/dist/components/Drawer/Drawer.const.js +7 -6
  111. package/dist/components/Drawer/Drawer.d.ts +1 -1
  112. package/dist/components/Drawer/Drawer.js +101 -85
  113. package/dist/components/Drawer/Drawer.types.d.ts +4 -1
  114. package/dist/components/Drawer/hooks/useDrawer.cjs +1 -1
  115. package/dist/components/Drawer/hooks/useDrawer.js +33 -34
  116. package/dist/components/Drawer/index.d.ts +1 -1
  117. package/dist/components/EmptyState/EmptyState.cjs +1 -1
  118. package/dist/components/EmptyState/EmptyState.const.cjs +1 -1
  119. package/dist/components/EmptyState/EmptyState.const.d.ts +13 -6
  120. package/dist/components/EmptyState/EmptyState.const.js +30 -8
  121. package/dist/components/EmptyState/EmptyState.d.ts +1 -2
  122. package/dist/components/EmptyState/EmptyState.js +37 -41
  123. package/dist/components/EmptyState/EmptyState.types.d.ts +3 -1
  124. package/dist/components/EmptyState/helpers/EmptyStateErrorSvg.cjs +1 -0
  125. package/dist/components/EmptyState/helpers/EmptyStateErrorSvg.d.ts +3 -0
  126. package/dist/components/EmptyState/helpers/EmptyStateErrorSvg.js +8 -0
  127. package/dist/components/EmptyState/helpers/EmptyStateInboxSvg.cjs +1 -0
  128. package/dist/components/EmptyState/helpers/EmptyStateInboxSvg.d.ts +3 -0
  129. package/dist/components/EmptyState/helpers/EmptyStateInboxSvg.js +8 -0
  130. package/dist/components/EmptyState/helpers/EmptyStateSearchSvg.cjs +1 -0
  131. package/dist/components/EmptyState/helpers/EmptyStateSearchSvg.d.ts +3 -0
  132. package/dist/components/EmptyState/helpers/EmptyStateSearchSvg.js +8 -0
  133. package/dist/components/EmptyState/helpers/index.d.ts +3 -0
  134. package/dist/components/EmptyState/index.d.ts +1 -1
  135. package/dist/components/FloatingChat/FloatingChat.cjs +1 -1
  136. package/dist/components/FloatingChat/FloatingChat.const.cjs +1 -1
  137. package/dist/components/FloatingChat/FloatingChat.const.d.ts +12 -1
  138. package/dist/components/FloatingChat/FloatingChat.const.js +25 -7
  139. package/dist/components/FloatingChat/FloatingChat.d.ts +1 -18
  140. package/dist/components/FloatingChat/FloatingChat.js +93 -124
  141. package/dist/components/FloatingChat/FloatingChat.types.d.ts +11 -22
  142. package/dist/components/FloatingChat/FloatingChat.utils.cjs +1 -0
  143. package/dist/components/FloatingChat/FloatingChat.utils.d.ts +2 -0
  144. package/dist/components/FloatingChat/FloatingChat.utils.js +12 -0
  145. package/dist/components/FloatingChat/helpers/FloatingChatHeader.cjs +1 -0
  146. package/dist/components/FloatingChat/helpers/FloatingChatHeader.d.ts +9 -0
  147. package/dist/components/FloatingChat/helpers/FloatingChatHeader.js +21 -0
  148. package/dist/components/FloatingChat/helpers/FloatingChatTrigger.cjs +1 -0
  149. package/dist/components/FloatingChat/helpers/FloatingChatTrigger.d.ts +9 -0
  150. package/dist/components/FloatingChat/helpers/FloatingChatTrigger.js +17 -0
  151. package/dist/components/FloatingChat/index.d.ts +1 -1
  152. package/dist/components/FormSkeleton/FormSkeleton.cjs +1 -1
  153. package/dist/components/FormSkeleton/FormSkeleton.d.ts +1 -1
  154. package/dist/components/FormSkeleton/FormSkeleton.js +35 -24
  155. package/dist/components/HoverCard/HoverCard.cjs +4 -3
  156. package/dist/components/HoverCard/HoverCard.const.cjs +1 -0
  157. package/dist/components/HoverCard/HoverCard.const.d.ts +1 -0
  158. package/dist/components/HoverCard/HoverCard.const.js +10 -0
  159. package/dist/components/HoverCard/HoverCard.js +62 -56
  160. package/dist/components/HoverCard/HoverCard.types.d.ts +7 -0
  161. package/dist/components/Icon/index.d.ts +1 -0
  162. package/dist/components/Icon/productIcons.cjs +1 -0
  163. package/dist/components/Icon/productIcons.d.ts +7 -0
  164. package/dist/components/Icon/productIcons.js +25 -0
  165. package/dist/components/Menu/Menu.cjs +1 -1
  166. package/dist/components/Menu/Menu.const.cjs +1 -0
  167. package/dist/components/Menu/Menu.const.d.ts +2 -0
  168. package/dist/components/Menu/Menu.const.js +12 -0
  169. package/dist/components/Menu/Menu.d.ts +3 -9
  170. package/dist/components/Menu/Menu.js +57 -89
  171. package/dist/components/Menu/Menu.types.d.ts +8 -1
  172. package/dist/components/Menu/MenuDivider.cjs +1 -0
  173. package/dist/components/Menu/MenuDivider.d.ts +6 -0
  174. package/dist/components/Menu/MenuDivider.js +7 -0
  175. package/dist/components/Menu/MenuItem.cjs +1 -0
  176. package/dist/components/Menu/MenuItem.d.ts +6 -0
  177. package/dist/components/Menu/MenuItem.js +46 -0
  178. package/dist/components/MessageActions/MessageActions.cjs +1 -0
  179. package/dist/components/MessageActions/MessageActions.const.cjs +1 -0
  180. package/dist/components/MessageActions/MessageActions.const.d.ts +2 -0
  181. package/dist/components/MessageActions/MessageActions.const.js +10 -0
  182. package/dist/components/MessageActions/MessageActions.d.ts +2 -0
  183. package/dist/components/MessageActions/MessageActions.js +31 -0
  184. package/dist/components/MessageActions/MessageActions.types.d.ts +16 -0
  185. package/dist/components/MessageActions/index.d.ts +2 -0
  186. package/dist/components/Modal/Modal.cjs +1 -1
  187. package/dist/components/Modal/Modal.const.cjs +1 -1
  188. package/dist/components/Modal/Modal.const.d.ts +1 -0
  189. package/dist/components/Modal/Modal.const.js +20 -12
  190. package/dist/components/Modal/Modal.js +62 -59
  191. package/dist/components/Modal/Modal.types.d.ts +7 -0
  192. package/dist/components/ModelSelect/ModelSelect.cjs +1 -0
  193. package/dist/components/ModelSelect/ModelSelect.const.cjs +1 -0
  194. package/dist/components/ModelSelect/ModelSelect.const.d.ts +1 -0
  195. package/dist/components/ModelSelect/ModelSelect.const.js +4 -0
  196. package/dist/components/ModelSelect/ModelSelect.d.ts +2 -0
  197. package/dist/components/ModelSelect/ModelSelect.js +41 -0
  198. package/dist/components/ModelSelect/ModelSelect.types.d.ts +16 -0
  199. package/dist/components/ModelSelect/index.d.ts +2 -0
  200. package/dist/components/OverlayPortal/OverlayPortal.const.cjs +1 -1
  201. package/dist/components/OverlayPortal/OverlayPortal.const.js +6 -5
  202. package/dist/components/PasswordInput/PasswordInput.cjs +1 -1
  203. package/dist/components/PasswordInput/PasswordInput.js +5 -5
  204. package/dist/components/Popover/Popover.cjs +1 -1
  205. package/dist/components/Popover/Popover.const.cjs +1 -0
  206. package/dist/components/Popover/Popover.const.d.ts +15 -1
  207. package/dist/components/Popover/Popover.const.js +29 -0
  208. package/dist/components/Popover/Popover.js +77 -73
  209. package/dist/components/Popover/Popover.types.d.ts +7 -0
  210. package/dist/components/PromptComposer/PromptComposer.cjs +1 -0
  211. package/dist/components/PromptComposer/PromptComposer.const.cjs +1 -0
  212. package/dist/components/PromptComposer/PromptComposer.const.d.ts +6 -0
  213. package/dist/components/PromptComposer/PromptComposer.const.js +14 -0
  214. package/dist/components/PromptComposer/PromptComposer.d.ts +2 -0
  215. package/dist/components/PromptComposer/PromptComposer.js +132 -0
  216. package/dist/components/PromptComposer/PromptComposer.types.d.ts +45 -0
  217. package/dist/components/PromptComposer/PromptComposer.utils.cjs +1 -0
  218. package/dist/components/PromptComposer/PromptComposer.utils.d.ts +5 -0
  219. package/dist/components/PromptComposer/PromptComposer.utils.js +16 -0
  220. package/dist/components/PromptComposer/helpers/PromptComposerAttachSvg.cjs +1 -0
  221. package/dist/components/PromptComposer/helpers/PromptComposerAttachSvg.d.ts +1 -0
  222. package/dist/components/PromptComposer/helpers/PromptComposerAttachSvg.js +6 -0
  223. package/dist/components/PromptComposer/helpers/PromptComposerFileChip.cjs +1 -0
  224. package/dist/components/PromptComposer/helpers/PromptComposerFileChip.d.ts +2 -0
  225. package/dist/components/PromptComposer/helpers/PromptComposerFileChip.js +18 -0
  226. package/dist/components/PromptComposer/helpers/PromptComposerSendSvg.cjs +1 -0
  227. package/dist/components/PromptComposer/helpers/PromptComposerSendSvg.d.ts +1 -0
  228. package/dist/components/PromptComposer/helpers/PromptComposerSendSvg.js +9 -0
  229. package/dist/components/PromptComposer/helpers/PromptComposerStopSvg.cjs +1 -0
  230. package/dist/components/PromptComposer/helpers/PromptComposerStopSvg.d.ts +1 -0
  231. package/dist/components/PromptComposer/helpers/PromptComposerStopSvg.js +6 -0
  232. package/dist/components/PromptComposer/helpers/index.d.ts +4 -0
  233. package/dist/components/PromptComposer/index.d.ts +2 -0
  234. package/dist/components/PromptSuggestions/PromptSuggestions.cjs +1 -0
  235. package/dist/components/PromptSuggestions/PromptSuggestions.d.ts +2 -0
  236. package/dist/components/PromptSuggestions/PromptSuggestions.js +39 -0
  237. package/dist/components/PromptSuggestions/PromptSuggestions.types.d.ts +13 -0
  238. package/dist/components/PromptSuggestions/index.d.ts +2 -0
  239. package/dist/components/RichEditor/helpers/IconRender.cjs +1 -1
  240. package/dist/components/RichEditor/helpers/IconRender.js +16 -16
  241. package/dist/components/RichEditor/helpers/toolbarItemRender.cjs +1 -1
  242. package/dist/components/RichEditor/helpers/toolbarItemRender.js +23 -23
  243. package/dist/components/Select/Select.cjs +1 -1
  244. package/dist/components/Select/Select.const.cjs +1 -1
  245. package/dist/components/Select/Select.const.d.ts +1 -0
  246. package/dist/components/Select/Select.const.js +7 -6
  247. package/dist/components/Select/Select.js +110 -105
  248. package/dist/components/Select/helpers/SelectCheckSvg.cjs +1 -0
  249. package/dist/components/Select/helpers/SelectCheckSvg.d.ts +3 -0
  250. package/dist/components/Select/helpers/SelectCheckSvg.js +8 -0
  251. package/dist/components/Select/helpers/SelectChevronDownSvg.cjs +1 -0
  252. package/dist/components/Select/helpers/SelectChevronDownSvg.d.ts +3 -0
  253. package/dist/components/Select/helpers/SelectChevronDownSvg.js +8 -0
  254. package/dist/components/Select/helpers/index.d.ts +2 -0
  255. package/dist/components/Skeleton/Skeleton.cjs +1 -1
  256. package/dist/components/Skeleton/Skeleton.const.cjs +2 -2
  257. package/dist/components/Skeleton/Skeleton.const.js +5 -6
  258. package/dist/components/Skeleton/Skeleton.js +59 -59
  259. package/dist/components/StatCard/StatCard.cjs +1 -1
  260. package/dist/components/StatCard/StatCard.const.cjs +1 -1
  261. package/dist/components/StatCard/StatCard.const.d.ts +0 -7
  262. package/dist/components/StatCard/StatCard.const.js +5 -12
  263. package/dist/components/StatCard/StatCard.d.ts +1 -2
  264. package/dist/components/StatCard/StatCard.js +48 -37
  265. package/dist/components/StatCard/StatCard.utils.cjs +1 -0
  266. package/dist/components/StatCard/StatCard.utils.d.ts +2 -0
  267. package/dist/components/StatCard/StatCard.utils.js +7 -0
  268. package/dist/components/StreamingMessage/StreamingMessage.cjs +1 -0
  269. package/dist/components/StreamingMessage/StreamingMessage.const.cjs +1 -0
  270. package/dist/components/StreamingMessage/StreamingMessage.const.d.ts +5 -0
  271. package/dist/components/StreamingMessage/StreamingMessage.const.js +10 -0
  272. package/dist/components/StreamingMessage/StreamingMessage.d.ts +2 -0
  273. package/dist/components/StreamingMessage/StreamingMessage.js +48 -0
  274. package/dist/components/StreamingMessage/StreamingMessage.types.d.ts +15 -0
  275. package/dist/components/StreamingMessage/index.d.ts +2 -0
  276. package/dist/components/ThemeSwitcher/ThemeSwitcher.cjs +1 -0
  277. package/dist/components/ThemeSwitcher/ThemeSwitcher.const.cjs +1 -0
  278. package/dist/components/ThemeSwitcher/ThemeSwitcher.const.d.ts +7 -0
  279. package/dist/components/ThemeSwitcher/ThemeSwitcher.const.js +14 -0
  280. package/dist/components/ThemeSwitcher/ThemeSwitcher.d.ts +2 -0
  281. package/dist/components/ThemeSwitcher/ThemeSwitcher.js +39 -0
  282. package/dist/components/ThemeSwitcher/ThemeSwitcher.types.d.ts +14 -0
  283. package/dist/components/ThemeSwitcher/index.d.ts +2 -0
  284. package/dist/components/ThinkingBlock/ThinkingBlock.cjs +1 -0
  285. package/dist/components/ThinkingBlock/ThinkingBlock.const.cjs +1 -0
  286. package/dist/components/ThinkingBlock/ThinkingBlock.const.d.ts +4 -0
  287. package/dist/components/ThinkingBlock/ThinkingBlock.const.js +9 -0
  288. package/dist/components/ThinkingBlock/ThinkingBlock.d.ts +2 -0
  289. package/dist/components/ThinkingBlock/ThinkingBlock.js +45 -0
  290. package/dist/components/ThinkingBlock/ThinkingBlock.types.d.ts +16 -0
  291. package/dist/components/ThinkingBlock/index.d.ts +2 -0
  292. package/dist/components/Toast/Toast.cjs +1 -1
  293. package/dist/components/Toast/Toast.const.cjs +1 -1
  294. package/dist/components/Toast/Toast.const.d.ts +2 -0
  295. package/dist/components/Toast/Toast.const.js +11 -8
  296. package/dist/components/Toast/Toast.context.cjs +1 -0
  297. package/dist/components/Toast/Toast.context.d.ts +3 -0
  298. package/dist/components/Toast/Toast.context.js +11 -0
  299. package/dist/components/Toast/Toast.d.ts +4 -3
  300. package/dist/components/Toast/Toast.icons.cjs +1 -0
  301. package/dist/components/Toast/Toast.icons.d.ts +4 -0
  302. package/dist/components/Toast/Toast.icons.js +29 -0
  303. package/dist/components/Toast/Toast.js +32 -160
  304. package/dist/components/Toast/ToastContainer.cjs +1 -0
  305. package/dist/components/Toast/ToastContainer.d.ts +3 -0
  306. package/dist/components/Toast/ToastContainer.js +39 -0
  307. package/dist/components/Toast/ToastItem.cjs +1 -0
  308. package/dist/components/Toast/ToastItem.d.ts +5 -0
  309. package/dist/components/Toast/ToastItem.js +86 -0
  310. package/dist/components/ToggleGroup/ToggleGroup.cjs +1 -0
  311. package/dist/components/ToggleGroup/ToggleGroup.const.cjs +1 -0
  312. package/dist/components/ToggleGroup/ToggleGroup.const.d.ts +15 -0
  313. package/dist/components/ToggleGroup/ToggleGroup.const.js +33 -0
  314. package/dist/components/ToggleGroup/ToggleGroup.context.cjs +1 -0
  315. package/dist/components/ToggleGroup/ToggleGroup.context.d.ts +2 -0
  316. package/dist/components/ToggleGroup/ToggleGroup.context.js +5 -0
  317. package/dist/components/ToggleGroup/ToggleGroup.d.ts +2 -0
  318. package/dist/components/ToggleGroup/ToggleGroup.js +86 -0
  319. package/dist/components/ToggleGroup/ToggleGroup.types.d.ts +48 -0
  320. package/dist/components/ToggleGroup/ToggleGroupItem.cjs +1 -0
  321. package/dist/components/ToggleGroup/ToggleGroupItem.d.ts +2 -0
  322. package/dist/components/ToggleGroup/ToggleGroupItem.js +50 -0
  323. package/dist/components/ToggleGroup/hooks/useToggleGroupContext.cjs +1 -0
  324. package/dist/components/ToggleGroup/hooks/useToggleGroupContext.d.ts +1 -0
  325. package/dist/components/ToggleGroup/hooks/useToggleGroupContext.js +6 -0
  326. package/dist/components/ToggleGroup/index.d.ts +4 -0
  327. package/dist/components/ToolCall/ToolCall.cjs +1 -0
  328. package/dist/components/ToolCall/ToolCall.const.cjs +1 -0
  329. package/dist/components/ToolCall/ToolCall.const.d.ts +5 -0
  330. package/dist/components/ToolCall/ToolCall.const.js +17 -0
  331. package/dist/components/ToolCall/ToolCall.d.ts +2 -0
  332. package/dist/components/ToolCall/ToolCall.js +43 -0
  333. package/dist/components/ToolCall/ToolCall.types.d.ts +20 -0
  334. package/dist/components/ToolCall/index.d.ts +2 -0
  335. package/dist/components/Tooltip/Tooltip.cjs +1 -1
  336. package/dist/components/Tooltip/Tooltip.const.cjs +1 -0
  337. package/dist/components/Tooltip/Tooltip.const.d.ts +8 -0
  338. package/dist/components/Tooltip/Tooltip.const.js +18 -0
  339. package/dist/components/Tooltip/Tooltip.js +59 -61
  340. package/dist/components/Tooltip/Tooltip.types.d.ts +7 -0
  341. package/dist/components/Transition/Transition.const.cjs +1 -1
  342. package/dist/components/Transition/Transition.const.js +12 -6
  343. package/dist/components/Transition/Transition.types.d.ts +1 -1
  344. package/dist/components/index.cjs +1 -1
  345. package/dist/components/index.d.ts +39 -9
  346. package/dist/components/index.js +335 -293
  347. package/dist/constants/generals.const.cjs +1 -1
  348. package/dist/constants/generals.const.d.ts +46 -0
  349. package/dist/constants/generals.const.js +158 -115
  350. package/dist/constants/keys.const.cjs +1 -1
  351. package/dist/constants/keys.const.js +2 -1
  352. package/dist/constants/numbers.const.cjs +1 -1
  353. package/dist/constants/numbers.const.d.ts +10 -0
  354. package/dist/constants/numbers.const.js +64 -53
  355. package/dist/context/BearProvider.cjs +1 -1
  356. package/dist/context/BearProvider.d.ts +19 -44
  357. package/dist/context/BearProvider.js +223 -208
  358. package/dist/context/bearProvider.types.d.ts +4 -0
  359. package/dist/context/index.d.ts +1 -1
  360. package/dist/hooks/index.cjs +1 -1
  361. package/dist/hooks/index.d.ts +2 -0
  362. package/dist/hooks/index.js +6 -4
  363. package/dist/hooks/useFixedAnchorPosition/index.d.ts +1 -1
  364. package/dist/hooks/useFixedAnchorPosition/useFixedAnchorPosition.const.cjs +1 -1
  365. package/dist/hooks/useFixedAnchorPosition/useFixedAnchorPosition.const.d.ts +2 -1
  366. package/dist/hooks/useFixedAnchorPosition/useFixedAnchorPosition.const.js +12 -11
  367. package/dist/hooks/useFixedAnchorPosition/useFixedAnchorPosition.types.d.ts +1 -1
  368. package/dist/hooks/useFocusTrap/index.d.ts +2 -0
  369. package/dist/hooks/useFocusTrap/useFocusTrap.cjs +1 -0
  370. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts +3 -0
  371. package/dist/hooks/useFocusTrap/useFocusTrap.js +41 -0
  372. package/dist/hooks/useFocusTrap/useFocusTrap.types.d.ts +8 -0
  373. package/dist/hooks/useFocusTrap/useFocusTrap.utils.cjs +1 -0
  374. package/dist/hooks/useFocusTrap/useFocusTrap.utils.d.ts +1 -0
  375. package/dist/hooks/useFocusTrap/useFocusTrap.utils.js +23 -0
  376. package/dist/index.cjs +1 -1
  377. package/dist/index.js +483 -439
  378. package/dist/styles/_ai-chat.css +487 -0
  379. package/dist/styles/_base.css +2 -0
  380. package/dist/styles/_chart.css +144 -0
  381. package/dist/styles/_effects.css +8 -4
  382. package/dist/styles/_skeleton.css +90 -0
  383. package/dist/styles/main.css +3 -0
  384. package/dist/styles.css +953 -199
  385. package/package.json +1 -1
  386. package/dist/components/FormSkeleton/FormSkeleton.const.cjs +0 -1
  387. package/dist/components/FormSkeleton/FormSkeleton.const.d.ts +0 -5
  388. package/dist/components/FormSkeleton/FormSkeleton.const.js +0 -8
  389. package/dist/node_modules/@forgedevstack/bear-icons/dist/Icon.cjs +0 -1
  390. package/dist/node_modules/@forgedevstack/bear-icons/dist/Icon.const.cjs +0 -1
  391. package/dist/node_modules/@forgedevstack/bear-icons/dist/Icon.const.js +0 -14
  392. package/dist/node_modules/@forgedevstack/bear-icons/dist/Icon.js +0 -35
  393. package/dist/node_modules/@forgedevstack/bear-icons/dist/action.cjs +0 -1
  394. package/dist/node_modules/@forgedevstack/bear-icons/dist/action.js +0 -26
  395. package/dist/node_modules/@forgedevstack/bear-icons/dist/cn.utils.cjs +0 -1
  396. package/dist/node_modules/@forgedevstack/bear-icons/dist/cn.utils.js +0 -4
  397. package/dist/node_modules/@forgedevstack/bear-icons/dist/editor.cjs +0 -1
  398. package/dist/node_modules/@forgedevstack/bear-icons/dist/editor.js +0 -130
  399. package/dist/node_modules/@forgedevstack/bear-icons/dist/misc.cjs +0 -1
  400. package/dist/node_modules/@forgedevstack/bear-icons/dist/misc.js +0 -12
  401. package/dist/node_modules/@forgedevstack/bear-icons/dist/navigation.cjs +0 -1
  402. package/dist/node_modules/@forgedevstack/bear-icons/dist/navigation.js +0 -18
  403. package/dist/node_modules/@forgedevstack/bear-icons/dist/status.cjs +0 -1
  404. package/dist/node_modules/@forgedevstack/bear-icons/dist/status.js +0 -6
@@ -1,6 +1,7 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react/jsx-runtime"),o=require("react"),P=require("../Portal/Portal.cjs"),C=11e3,i=288,u=200;function N(e,l,n){let t=0,r=0;const h=i/2;return l==="bottom"?(t=e.bottom+8,r=e.left+e.width/2-h,n==="start"&&(r=e.left),n==="end"&&(r=e.right-i)):l==="top"?(t=e.top-u-8,r=e.left+e.width/2-h,n==="start"&&(r=e.left),n==="end"&&(r=e.right-i)):l==="right"?(r=e.right+8,t=e.top+e.height/2-u/2,n==="start"&&(t=e.top),n==="end"&&(t=e.bottom-u)):(r=e.left-i-8,t=e.top+e.height/2-u/2,n==="start"&&(t=e.top),n==="end"&&(t=e.bottom-u)),r=Math.max(8,Math.min(r,window.innerWidth-i-8)),t=Math.max(8,Math.min(t,window.innerHeight-u-8)),{position:"fixed",zIndex:C,top:t,left:r,width:i}}const T=o.forwardRef(({children:e,cardContent:l,side:n="bottom",align:m="center",openDelay:t=200,closeDelay:r=300,arrow:h=!0,className:x="",...L},H)=>{const[a,p]=o.useState(!1),[S,j]=o.useState({}),d=o.useRef(),c=o.useRef(),f=o.useRef(null),v=o.useRef(null);o.useEffect(()=>{if(!a||!f.current)return;const s=()=>{const w=f.current.getBoundingClientRect();j(N(w,n,m))};return s(),window.addEventListener("resize",s),window.addEventListener("scroll",s,!0),()=>{window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0)}},[a,n,m]),o.useEffect(()=>{if(!a)return;const s=w=>{var y,M;const R=w.target;(y=f.current)!=null&&y.contains(R)||(M=v.current)!=null&&M.contains(R)||p(!1)};return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[a]);const g=()=>{c.current&&clearTimeout(c.current),d.current=setTimeout(()=>p(!0),t)},E=()=>{d.current&&clearTimeout(d.current),c.current=setTimeout(()=>p(!1),r)};return o.useEffect(()=>()=>{d.current&&clearTimeout(d.current),c.current&&clearTimeout(c.current)},[]),b.jsxs("div",{ref:H,className:`bear-hover-card bear-relative bear-inline-block ${x}`.trim(),onMouseEnter:g,onMouseLeave:E,...L,children:[b.jsx("div",{ref:f,className:"bear-inline-block",children:e}),a&&b.jsx(P.Portal,{children:b.jsx("div",{ref:v,style:S,className:`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("react/jsx-runtime"),s=require("react"),U=require("../Portal/Portal.cjs"),y=require("../../hooks/useFixedAnchorPosition/useFixedAnchorPosition.utils.cjs"),e=require("../../constants/numbers.const.cjs"),w=require("./HoverCard.const.cjs");function C(t,c,o){const a=e.EIGHT;let r=e.ZERO,n=e.ZERO;const T=e.TWO_HUNDRED_EIGHTY_EIGHT/e.TWO;return c==="bottom"?(r=t.bottom+a,n=t.left+t.width/e.TWO-T,o==="start"&&(n=t.left),o==="end"&&(n=t.right-e.TWO_HUNDRED_EIGHTY_EIGHT)):c==="top"?(r=t.top-e.TWO_HUNDRED-a,n=t.left+t.width/e.TWO-T,o==="start"&&(n=t.left),o==="end"&&(n=t.right-e.TWO_HUNDRED_EIGHTY_EIGHT)):c==="right"?(n=t.right+a,r=t.top+t.height/e.TWO-e.TWO_HUNDRED/e.TWO,o==="start"&&(r=t.top),o==="end"&&(r=t.bottom-e.TWO_HUNDRED)):(n=t.left-e.TWO_HUNDRED_EIGHTY_EIGHT-a,r=t.top+t.height/e.TWO-e.TWO_HUNDRED/e.TWO,o==="start"&&(r=t.top),o==="end"&&(r=t.bottom-e.TWO_HUNDRED)),n=Math.max(e.EIGHT,Math.min(n,window.innerWidth-e.TWO_HUNDRED_EIGHTY_EIGHT-e.EIGHT)),r=Math.max(e.EIGHT,Math.min(r,window.innerHeight-e.TWO_HUNDRED-e.EIGHT)),{position:"fixed",zIndex:e.ELEVEN_THOUSAND,top:r,left:n,width:e.TWO_HUNDRED_EIGHTY_EIGHT}}const W=s.forwardRef(({children:t,cardContent:c,side:o="bottom",align:a="center",openDelay:r=200,closeDelay:n=300,arrow:T=!0,className:p="",...m},I)=>{const[u,H]=s.useState(!1),[N,G]=s.useState({}),l=s.useRef(),f=s.useRef(),d=s.useRef(null),b=s.useRef(null);s.useEffect(()=>{if(!u||!d.current)return;const i=()=>{const _=d.current.getBoundingClientRect();G(C(_,o,a))};return i(),window.addEventListener("resize",i),window.addEventListener("scroll",i,!0),()=>{window.removeEventListener("resize",i),window.removeEventListener("scroll",i,!0)}},[u,o,a]),s.useEffect(()=>{if(!u)return;const i=_=>{var D,v;const h=_.target;(D=d.current)!=null&&D.contains(h)||(v=b.current)!=null&&v.contains(h)||H(!1)};return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[u]);const R=()=>{f.current&&clearTimeout(f.current),l.current=setTimeout(()=>H(!0),r)},O=()=>{l.current&&clearTimeout(l.current),f.current=setTimeout(()=>H(!1),n)};s.useEffect(()=>()=>{l.current&&clearTimeout(l.current),f.current&&clearTimeout(f.current)},[]);const{openEffect:g}=y.resolveOverlayEffects(m,"scale"),M=w.HOVER_CARD_EFFECT_CLASS_MAP[g]??w.HOVER_CARD_EFFECT_CLASS_MAP.scale;return E.jsxs("div",{ref:I,className:`bear-hover-card bear-relative bear-inline-block ${p}`.trim(),onMouseEnter:R,onMouseLeave:O,...m,children:[E.jsx("div",{ref:d,className:"bear-inline-block",children:t}),u&&E.jsx(U.Portal,{children:E.jsx("div",{ref:b,style:N,className:`
2
2
  bear-bg-white dark:bear-bg-gray-800 bear-rounded-lg bear-shadow-xl
3
3
  bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-p-4
4
4
  bear-transition-all bear-duration-200
5
- ${a?"bear-opacity-100 bear-scale-100":"bear-opacity-0 bear-scale-95"}
6
- `,onMouseEnter:g,onMouseLeave:E,children:l})})]})});T.displayName="HoverCard";exports.HoverCard=T;
5
+ ${u?"bear-opacity-100 bear-scale-100":"bear-opacity-0 bear-scale-95"}
6
+ ${M}
7
+ `.trim(),onMouseEnter:R,onMouseLeave:O,children:c})})]})});W.displayName="HoverCard";exports.HoverCard=W;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={scale:"animate-scale-in",fade:"animate-fade-in","slide-down":"animate-grow-up",fold:"animate-alert-dialog-in",none:""};exports.HOVER_CARD_EFFECT_CLASS_MAP=e;
@@ -1 +1,2 @@
1
1
  export declare const H_O_V_E_R_C_A_R_D_ROOT_CLASS = "Bear-HoverCard";
2
+ export declare const HOVER_CARD_EFFECT_CLASS_MAP: Record<string, string>;
@@ -0,0 +1,10 @@
1
+ const a = {
2
+ scale: "animate-scale-in",
3
+ fade: "animate-fade-in",
4
+ "slide-down": "animate-grow-up",
5
+ fold: "animate-alert-dialog-in",
6
+ none: ""
7
+ };
8
+ export {
9
+ a as HOVER_CARD_EFFECT_CLASS_MAP
10
+ };
@@ -1,86 +1,92 @@
1
- import { jsxs as C, jsx as w } from "react/jsx-runtime";
2
- import { forwardRef as O, useState as R, useRef as c, useEffect as v } from "react";
3
- import { Portal as P } from "../Portal/Portal.js";
4
- const S = 11e3, a = 288, s = 200;
5
- function z(e, u, n) {
6
- let t = 0, r = 0;
7
- const b = a / 2;
8
- return u === "bottom" ? (t = e.bottom + 8, r = e.left + e.width / 2 - b, n === "start" && (r = e.left), n === "end" && (r = e.right - a)) : u === "top" ? (t = e.top - s - 8, r = e.left + e.width / 2 - b, n === "start" && (r = e.left), n === "end" && (r = e.right - a)) : u === "right" ? (r = e.right + 8, t = e.top + e.height / 2 - s / 2, n === "start" && (t = e.top), n === "end" && (t = e.bottom - s)) : (r = e.left - a - 8, t = e.top + e.height / 2 - s / 2, n === "start" && (t = e.top), n === "end" && (t = e.bottom - s)), r = Math.max(8, Math.min(r, window.innerWidth - a - 8)), t = Math.max(8, Math.min(t, window.innerHeight - s - 8)), {
1
+ import { jsxs as A, jsx as v } from "react/jsx-runtime";
2
+ import { forwardRef as P, useState as _, useRef as h, useEffect as T } from "react";
3
+ import { Portal as z } from "../Portal/Portal.js";
4
+ import { resolveOverlayEffects as G } from "../../hooks/useFixedAnchorPosition/useFixedAnchorPosition.utils.js";
5
+ import { TWO as a, TWO_HUNDRED_EIGHTY_EIGHT as u, TWO_HUNDRED as f, ZERO as x, ELEVEN_THOUSAND as U, EIGHT as m } from "../../constants/numbers.const.js";
6
+ import { HOVER_CARD_EFFECT_CLASS_MAP as N } from "./HoverCard.const.js";
7
+ function $(e, l, o) {
8
+ const i = m;
9
+ let t = x, r = x;
10
+ const p = u / a;
11
+ return l === "bottom" ? (t = e.bottom + i, r = e.left + e.width / a - p, o === "start" && (r = e.left), o === "end" && (r = e.right - u)) : l === "top" ? (t = e.top - f - i, r = e.left + e.width / a - p, o === "start" && (r = e.left), o === "end" && (r = e.right - u)) : l === "right" ? (r = e.right + i, t = e.top + e.height / a - f / a, o === "start" && (t = e.top), o === "end" && (t = e.bottom - f)) : (r = e.left - u - i, t = e.top + e.height / a - f / a, o === "start" && (t = e.top), o === "end" && (t = e.bottom - f)), r = Math.max(m, Math.min(r, window.innerWidth - u - m)), t = Math.max(m, Math.min(t, window.innerHeight - f - m)), {
9
12
  position: "fixed",
10
- zIndex: S,
13
+ zIndex: U,
11
14
  top: t,
12
15
  left: r,
13
- width: a
16
+ width: u
14
17
  };
15
18
  }
16
- const I = O(({
19
+ const j = P(({
17
20
  children: e,
18
- cardContent: u,
19
- side: n = "bottom",
20
- align: m = "center",
21
+ cardContent: l,
22
+ side: o = "bottom",
23
+ align: i = "center",
21
24
  openDelay: t = 200,
22
25
  closeDelay: r = 300,
23
- arrow: b = !0,
24
- className: x = "",
25
- ...H
26
- }, N) => {
27
- const [i, p] = R(!1), [_, k] = R({}), d = c(), l = c(), f = c(null), g = c(null);
28
- v(() => {
29
- if (!i || !f.current) return;
30
- const o = () => {
31
- const h = f.current.getBoundingClientRect();
32
- k(z(h, n, m));
26
+ arrow: p = !0,
27
+ className: C = "",
28
+ ...R
29
+ }, D) => {
30
+ const [s, E] = _(!1), [S, I] = _({}), d = h(), c = h(), b = h(null), g = h(null);
31
+ T(() => {
32
+ if (!s || !b.current) return;
33
+ const n = () => {
34
+ const w = b.current.getBoundingClientRect();
35
+ I($(w, o, i));
33
36
  };
34
- return o(), window.addEventListener("resize", o), window.addEventListener("scroll", o, !0), () => {
35
- window.removeEventListener("resize", o), window.removeEventListener("scroll", o, !0);
37
+ return n(), window.addEventListener("resize", n), window.addEventListener("scroll", n, !0), () => {
38
+ window.removeEventListener("resize", n), window.removeEventListener("scroll", n, !0);
36
39
  };
37
- }, [i, n, m]), v(() => {
38
- if (!i) return;
39
- const o = (h) => {
40
- var T, y;
41
- const M = h.target;
42
- (T = f.current) != null && T.contains(M) || (y = g.current) != null && y.contains(M) || p(!1);
40
+ }, [s, o, i]), T(() => {
41
+ if (!s) return;
42
+ const n = (w) => {
43
+ var H, O;
44
+ const y = w.target;
45
+ (H = b.current) != null && H.contains(y) || (O = g.current) != null && O.contains(y) || E(!1);
43
46
  };
44
- return document.addEventListener("mousedown", o), () => document.removeEventListener("mousedown", o);
45
- }, [i]);
46
- const E = () => {
47
- l.current && clearTimeout(l.current), d.current = setTimeout(() => p(!0), t);
48
- }, L = () => {
49
- d.current && clearTimeout(d.current), l.current = setTimeout(() => p(!1), r);
47
+ return document.addEventListener("mousedown", n), () => document.removeEventListener("mousedown", n);
48
+ }, [s]);
49
+ const L = () => {
50
+ c.current && clearTimeout(c.current), d.current = setTimeout(() => E(!0), t);
51
+ }, M = () => {
52
+ d.current && clearTimeout(d.current), c.current = setTimeout(() => E(!1), r);
50
53
  };
51
- return v(() => () => {
52
- d.current && clearTimeout(d.current), l.current && clearTimeout(l.current);
53
- }, []), /* @__PURE__ */ C(
54
+ T(() => () => {
55
+ d.current && clearTimeout(d.current), c.current && clearTimeout(c.current);
56
+ }, []);
57
+ const { openEffect: W } = G(R, "scale"), k = N[W] ?? N.scale;
58
+ return /* @__PURE__ */ A(
54
59
  "div",
55
60
  {
56
- ref: N,
57
- className: `bear-hover-card bear-relative bear-inline-block ${x}`.trim(),
58
- onMouseEnter: E,
59
- onMouseLeave: L,
60
- ...H,
61
+ ref: D,
62
+ className: `bear-hover-card bear-relative bear-inline-block ${C}`.trim(),
63
+ onMouseEnter: L,
64
+ onMouseLeave: M,
65
+ ...R,
61
66
  children: [
62
- /* @__PURE__ */ w("div", { ref: f, className: "bear-inline-block", children: e }),
63
- i && /* @__PURE__ */ w(P, { children: /* @__PURE__ */ w(
67
+ /* @__PURE__ */ v("div", { ref: b, className: "bear-inline-block", children: e }),
68
+ s && /* @__PURE__ */ v(z, { children: /* @__PURE__ */ v(
64
69
  "div",
65
70
  {
66
71
  ref: g,
67
- style: _,
72
+ style: S,
68
73
  className: `
69
74
  bear-bg-white dark:bear-bg-gray-800 bear-rounded-lg bear-shadow-xl
70
75
  bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-p-4
71
76
  bear-transition-all bear-duration-200
72
- ${i ? "bear-opacity-100 bear-scale-100" : "bear-opacity-0 bear-scale-95"}
73
- `,
74
- onMouseEnter: E,
75
- onMouseLeave: L,
76
- children: u
77
+ ${s ? "bear-opacity-100 bear-scale-100" : "bear-opacity-0 bear-scale-95"}
78
+ ${k}
79
+ `.trim(),
80
+ onMouseEnter: L,
81
+ onMouseLeave: M,
82
+ children: l
77
83
  }
78
84
  ) })
79
85
  ]
80
86
  }
81
87
  );
82
88
  });
83
- I.displayName = "HoverCard";
89
+ j.displayName = "HoverCard";
84
90
  export {
85
- I as HoverCard
91
+ j as HoverCard
86
92
  };
@@ -1,4 +1,5 @@
1
1
  import { HTMLAttributes, ReactNode } from 'react';
2
+ import { OverlayMotionEffect, OverlayEffectConfig } from '../../hooks/useFixedAnchorPosition';
2
3
  export interface HoverCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {
3
4
  testId?: string;
4
5
  id?: string;
@@ -9,6 +10,12 @@ export interface HoverCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'co
9
10
  openDelay?: number;
10
11
  closeDelay?: number;
11
12
  arrow?: boolean;
13
+ /** Transition effect when opening */
14
+ openEffect?: OverlayMotionEffect;
15
+ /** Transition effect when closing */
16
+ closeEffect?: OverlayMotionEffect;
17
+ /** Config for open and close transition effects */
18
+ effect?: OverlayEffectConfig;
12
19
  }
13
20
  export interface HoverCardContentProps extends HTMLAttributes<HTMLDivElement> {
14
21
  children?: ReactNode;
@@ -1,2 +1,3 @@
1
1
  export * from '@forgedevstack/bear-icons';
2
2
  export { default } from '@forgedevstack/bear-icons';
3
+ export { StorybookIcon, SandboxIcon, ComponentsIcon } from './productIcons';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),s=require("@forgedevstack/bear-icons"),x=o=>t.jsxs(s.Icon,{...o,children:[t.jsx("rect",{x:"4",y:"3",width:"16",height:"18",rx:"2"}),t.jsx("path",{d:"M8 7h8"}),t.jsx("path",{d:"M8 11h8"}),t.jsx("path",{d:"M8 15h5"}),t.jsx("circle",{cx:"17",cy:"16.5",r:"2.5"})]}),c=o=>t.jsxs(s.Icon,{...o,children:[t.jsx("path",{d:"M12 3l8 4.5v9L12 21l-8-4.5v-9L12 3z"}),t.jsx("path",{d:"M12 12l8-4.5"}),t.jsx("path",{d:"M12 12v9"}),t.jsx("path",{d:"M12 12L4 7.5"}),t.jsx("path",{d:"M9.5 14.5l1.5 1.5 3-3"})]}),e=o=>t.jsxs(s.Icon,{...o,children:[t.jsx("rect",{x:"3",y:"3",width:"8",height:"8",rx:"1.5"}),t.jsx("rect",{x:"13",y:"3",width:"8",height:"8",rx:"1.5"}),t.jsx("rect",{x:"3",y:"13",width:"8",height:"8",rx:"1.5"}),t.jsx("rect",{x:"13",y:"13",width:"8",height:"8",rx:"1.5"})]});exports.ComponentsIcon=e;exports.SandboxIcon=c;exports.StorybookIcon=x;
@@ -0,0 +1,7 @@
1
+ import { IconProps } from '@forgedevstack/bear-icons';
2
+ import { FC } from 'react';
3
+ type ProductIcon = FC<Omit<IconProps, 'children'>>;
4
+ export declare const StorybookIcon: ProductIcon;
5
+ export declare const SandboxIcon: ProductIcon;
6
+ export declare const ComponentsIcon: ProductIcon;
7
+ export {};
@@ -0,0 +1,25 @@
1
+ import { jsxs as r, jsx as t } from "react/jsx-runtime";
2
+ import { Icon as c } from "@forgedevstack/bear-icons";
3
+ const e = (h) => /* @__PURE__ */ r(c, { ...h, children: [
4
+ /* @__PURE__ */ t("rect", { x: "4", y: "3", width: "16", height: "18", rx: "2" }),
5
+ /* @__PURE__ */ t("path", { d: "M8 7h8" }),
6
+ /* @__PURE__ */ t("path", { d: "M8 11h8" }),
7
+ /* @__PURE__ */ t("path", { d: "M8 15h5" }),
8
+ /* @__PURE__ */ t("circle", { cx: "17", cy: "16.5", r: "2.5" })
9
+ ] }), i = (h) => /* @__PURE__ */ r(c, { ...h, children: [
10
+ /* @__PURE__ */ t("path", { d: "M12 3l8 4.5v9L12 21l-8-4.5v-9L12 3z" }),
11
+ /* @__PURE__ */ t("path", { d: "M12 12l8-4.5" }),
12
+ /* @__PURE__ */ t("path", { d: "M12 12v9" }),
13
+ /* @__PURE__ */ t("path", { d: "M12 12L4 7.5" }),
14
+ /* @__PURE__ */ t("path", { d: "M9.5 14.5l1.5 1.5 3-3" })
15
+ ] }), x = (h) => /* @__PURE__ */ r(c, { ...h, children: [
16
+ /* @__PURE__ */ t("rect", { x: "3", y: "3", width: "8", height: "8", rx: "1.5" }),
17
+ /* @__PURE__ */ t("rect", { x: "13", y: "3", width: "8", height: "8", rx: "1.5" }),
18
+ /* @__PURE__ */ t("rect", { x: "3", y: "13", width: "8", height: "8", rx: "1.5" }),
19
+ /* @__PURE__ */ t("rect", { x: "13", y: "13", width: "8", height: "8", rx: "1.5" })
20
+ ] });
21
+ export {
22
+ x as ComponentsIcon,
23
+ i as SandboxIcon,
24
+ e as StorybookIcon
25
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),g=require("react"),p=require("../../utils/cn.cjs"),j=require("../Portal/Portal.cjs"),L=12e3,N=({icon:t,disabled:r=!1,selected:n=!1,divider:l=!1,children:f,onClick:a,className:d,testId:y,...v})=>o.jsxs(o.Fragment,{children:[o.jsxs("div",{role:"menuitem",tabIndex:r?-1:0,className:p.cn("bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-2 bear-cursor-pointer bear-transition-colors","hover:bear-bg-gray-100 dark:hover:bear-bg-gray-700","focus:bear-outline-none focus:bear-bg-gray-100 dark:focus:bear-bg-gray-700",n&&"bear-bg-primary-50 dark:bear-bg-primary-900/20 bear-text-primary-600",r&&"bear-opacity-50 bear-cursor-not-allowed hover:bear-bg-transparent",d),onClick:r?void 0:a,onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&!r&&(a==null||a())},"data-testid":y,...v,children:[t&&o.jsx("span",{className:"bear-flex-shrink-0 bear-text-gray-500",children:t}),o.jsx("span",{className:"bear-flex-1 bear-text-sm",children:f})]}),l&&o.jsx(k,{})]}),k=({className:t})=>o.jsx("div",{className:p.cn("bear-h-px bear-bg-gray-200 dark:bear-bg-gray-700 bear-my-1",t)}),R=({open:t=!1,anchorEl:r,onClose:n,children:l,position:f="bottom-start",minWidth:a=180,maxHeight:d=300,className:y,testId:v,...m})=>{const c=g.useRef(null),[x,M]=g.useState({top:0,left:0});return g.useLayoutEffect(()=>{if(!t||!r)return;const s=()=>{const e=r.getBoundingClientRect(),h=c.current,w=h?h.offsetHeight:Math.min(d,200);let u=0,i=0;switch(f){case"bottom-start":u=e.bottom+4,i=e.left;break;case"bottom-end":u=e.bottom+4,i=e.right-a;break;case"top-start":u=e.top-w-4,i=e.left;break;case"top-end":u=e.top-w-4,i=e.right-a;break}i=Math.max(8,Math.min(i,window.innerWidth-a-8));const E=window.innerHeight-w-8;u=Math.max(8,Math.min(u,E)),M({top:u,left:i})};s();const b=c.current&&typeof ResizeObserver<"u"?new ResizeObserver(s):null;return c.current&&b&&b.observe(c.current),window.addEventListener("resize",s),window.addEventListener("scroll",s,!0),()=>{b==null||b.disconnect(),window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0)}},[t,r,f,a,d]),g.useEffect(()=>{if(!t)return;const s=e=>{c.current&&!c.current.contains(e.target)&&r&&!r.contains(e.target)&&(n==null||n())},b=e=>{e.key==="Escape"&&(n==null||n())};return document.addEventListener("mousedown",s),document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",s),document.removeEventListener("keydown",b)}},[t,r,n]),t?o.jsx(j.Portal,{children:o.jsx("div",{ref:c,role:"menu",className:p.cn("bear-fixed bear-bg-white dark:bear-bg-gray-800","bear-border bear-border-gray-200 dark:bear-border-gray-700","bear-rounded-lg bear-shadow-lg bear-py-1","bear-overflow-y-auto",y),style:{top:x.top,left:x.left,minWidth:a,maxHeight:d,zIndex:L},"data-testid":v,...m,children:l})}):null};exports.Menu=R;exports.MenuDivider=k;exports.MenuItem=N;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),u=require("react"),p=require("../../utils/cn.cjs"),S=require("../../hooks/useFixedAnchorPosition/useFixedAnchorPosition.utils.cjs"),q=require("../Portal/Portal.cjs"),b=require("./Menu.const.cjs"),P=({open:c=!1,anchorEl:n,onClose:s,children:k,position:l="bottom-start",minWidth:d=180,maxHeight:f=300,className:E,testId:m,...v})=>{const i=u.useRef(null),[g,L]=u.useState({top:0,left:0});u.useLayoutEffect(()=>{if(!c||!n)return;const r=()=>{const t=n.getBoundingClientRect(),e=i.current,w=e?e.offsetHeight:Math.min(f,200);let o=0,a=0;switch(l){case"bottom-start":o=t.bottom+4,a=t.left;break;case"bottom-end":o=t.bottom+4,a=t.right-((e==null?void 0:e.offsetWidth)??d);break;case"top-start":o=t.top-w-4,a=t.left;break;case"top-end":o=t.top-w-4,a=t.right-((e==null?void 0:e.offsetWidth)??d);break;case"right-start":o=t.top,a=t.right+4;break;case"left-start":o=t.top,a=t.left-((e==null?void 0:e.offsetWidth)??d)-4;break}L({top:o,left:a})};return r(),window.addEventListener("resize",r),window.addEventListener("scroll",r,!0),()=>{window.removeEventListener("resize",r),window.removeEventListener("scroll",r,!0)}},[c,n,l,d,f]),u.useEffect(()=>{if(!c)return;const r=e=>{i.current&&!i.current.contains(e.target)&&n&&!n.contains(e.target)&&(s==null||s())},t=e=>{e.key==="Escape"&&(s==null||s())};return document.addEventListener("mousedown",r),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",r),document.removeEventListener("keydown",t)}},[c,n,s]);const{openEffect:M}=S.resolveOverlayEffects(v,"fade"),_=b.MENU_EFFECT_CLASS_MAP[M]??b.MENU_EFFECT_CLASS_MAP.fade;return c?y.jsx(q.Portal,{children:y.jsx("div",{ref:i,role:"menu",className:p.cn("bear-fixed bear-bg-white dark:bear-bg-gray-800","bear-border bear-border-gray-200 dark:bear-border-gray-700","bear-rounded-lg bear-shadow-lg bear-py-1","bear-overflow-y-auto",_,E),style:{top:g.top,left:g.left,minWidth:d,maxHeight:f,zIndex:b.MENU_Z_INDEX},"data-testid":m,...v,children:k})}):null};exports.Menu=P;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../constants/numbers.const.cjs"),n=e.TWELVE_THOUSAND,a={scale:"animate-scale-in",fade:"animate-fade-in","slide-down":"animate-grow-up",fold:"animate-alert-dialog-in",none:""};exports.MENU_EFFECT_CLASS_MAP=a;exports.MENU_Z_INDEX=n;
@@ -1 +1,3 @@
1
1
  export declare const M_E_N_U_ROOT_CLASS = "Bear-Menu";
2
+ export declare const MENU_Z_INDEX = 12000;
3
+ export declare const MENU_EFFECT_CLASS_MAP: Record<string, string>;
@@ -0,0 +1,12 @@
1
+ import { TWELVE_THOUSAND as a } from "../../constants/numbers.const.js";
2
+ const n = a, i = {
3
+ scale: "animate-scale-in",
4
+ fade: "animate-fade-in",
5
+ "slide-down": "animate-grow-up",
6
+ fold: "animate-alert-dialog-in",
7
+ none: ""
8
+ };
9
+ export {
10
+ i as MENU_EFFECT_CLASS_MAP,
11
+ n as MENU_Z_INDEX
12
+ };
@@ -1,13 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { MenuProps, MenuItemProps, MenuDividerProps } from './Menu.types';
3
- /**
4
- * MenuItem component for menu items
5
- */
6
- export declare const MenuItem: FC<MenuItemProps>;
7
- /**
8
- * MenuDivider component for separating menu sections
9
- */
10
- export declare const MenuDivider: FC<MenuDividerProps>;
2
+ import { MenuProps } from './Menu.types';
3
+ export { MenuItem } from './MenuItem';
4
+ export { MenuDivider } from './MenuDivider';
11
5
  /**
12
6
  * Menu component for dropdown menus
13
7
  *
@@ -1,122 +1,90 @@
1
- import { jsx as c, jsxs as h, Fragment as L } from "react/jsx-runtime";
2
- import { useRef as M, useState as N, useLayoutEffect as z, useEffect as R } from "react";
3
- import { cn as v } from "../../utils/cn.js";
4
- import { Portal as I } from "../Portal/Portal.js";
5
- const D = 12e3, H = ({
6
- icon: t,
7
- disabled: r = !1,
8
- selected: n = !1,
9
- divider: g = !1,
10
- children: m,
11
- onClick: a,
12
- className: u,
13
- testId: l,
14
- ...y
15
- }) => /* @__PURE__ */ h(L, { children: [
16
- /* @__PURE__ */ h(
17
- "div",
18
- {
19
- role: "menuitem",
20
- tabIndex: r ? -1 : 0,
21
- className: v(
22
- "bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-2 bear-cursor-pointer bear-transition-colors",
23
- "hover:bear-bg-gray-100 dark:hover:bear-bg-gray-700",
24
- "focus:bear-outline-none focus:bear-bg-gray-100 dark:focus:bear-bg-gray-700",
25
- n && "bear-bg-primary-50 dark:bear-bg-primary-900/20 bear-text-primary-600",
26
- r && "bear-opacity-50 bear-cursor-not-allowed hover:bear-bg-transparent",
27
- u
28
- ),
29
- onClick: r ? void 0 : a,
30
- onKeyDown: (f) => {
31
- (f.key === "Enter" || f.key === " ") && !r && (a == null || a());
32
- },
33
- "data-testid": l,
34
- ...y,
35
- children: [
36
- t && /* @__PURE__ */ c("span", { className: "bear-flex-shrink-0 bear-text-gray-500", children: t }),
37
- /* @__PURE__ */ c("span", { className: "bear-flex-1 bear-text-sm", children: m })
38
- ]
39
- }
40
- ),
41
- g && /* @__PURE__ */ c(O, {})
42
- ] }), O = ({ className: t }) => /* @__PURE__ */ c("div", { className: v("bear-h-px bear-bg-gray-200 dark:bear-bg-gray-700 bear-my-1", t) }), K = ({
43
- open: t = !1,
44
- anchorEl: r,
45
- onClose: n,
1
+ import { jsx as w } from "react/jsx-runtime";
2
+ import { useRef as M, useState as _, useLayoutEffect as h, useEffect as N } from "react";
3
+ import { cn as z } from "../../utils/cn.js";
4
+ import { resolveOverlayEffects as R } from "../../hooks/useFixedAnchorPosition/useFixedAnchorPosition.utils.js";
5
+ import { Portal as S } from "../Portal/Portal.js";
6
+ import { MENU_Z_INDEX as x, MENU_EFFECT_CLASS_MAP as p } from "./Menu.const.js";
7
+ const j = ({
8
+ open: d = !1,
9
+ anchorEl: f,
10
+ onClose: o,
46
11
  children: g,
47
- position: m = "bottom-start",
48
- minWidth: a = 180,
49
- maxHeight: u = 300,
12
+ position: u = "bottom-start",
13
+ minWidth: n = 180,
14
+ maxHeight: i = 300,
50
15
  className: l,
51
- testId: y,
52
- ...f
16
+ testId: k,
17
+ ...b
53
18
  }) => {
54
- const b = M(null), [w, k] = N({ top: 0, left: 0 });
55
- return z(() => {
56
- if (!t || !r) return;
57
- const s = () => {
58
- const e = r.getBoundingClientRect(), x = b.current, p = x ? x.offsetHeight : Math.min(u, 200);
59
- let d = 0, i = 0;
60
- switch (m) {
19
+ const c = M(null), [m, y] = _({ top: 0, left: 0 });
20
+ h(() => {
21
+ if (!d || !f) return;
22
+ const r = () => {
23
+ const t = f.getBoundingClientRect(), e = c.current, v = e ? e.offsetHeight : Math.min(i, 200);
24
+ let a = 0, s = 0;
25
+ switch (u) {
61
26
  case "bottom-start":
62
- d = e.bottom + 4, i = e.left;
27
+ a = t.bottom + 4, s = t.left;
63
28
  break;
64
29
  case "bottom-end":
65
- d = e.bottom + 4, i = e.right - a;
30
+ a = t.bottom + 4, s = t.right - ((e == null ? void 0 : e.offsetWidth) ?? n);
66
31
  break;
67
32
  case "top-start":
68
- d = e.top - p - 4, i = e.left;
33
+ a = t.top - v - 4, s = t.left;
69
34
  break;
70
35
  case "top-end":
71
- d = e.top - p - 4, i = e.right - a;
36
+ a = t.top - v - 4, s = t.right - ((e == null ? void 0 : e.offsetWidth) ?? n);
37
+ break;
38
+ case "right-start":
39
+ a = t.top, s = t.right + 4;
40
+ break;
41
+ case "left-start":
42
+ a = t.top, s = t.left - ((e == null ? void 0 : e.offsetWidth) ?? n) - 4;
72
43
  break;
73
44
  }
74
- i = Math.max(8, Math.min(i, window.innerWidth - a - 8));
75
- const E = window.innerHeight - p - 8;
76
- d = Math.max(8, Math.min(d, E)), k({ top: d, left: i });
45
+ y({ top: a, left: s });
77
46
  };
78
- s();
79
- const o = b.current && typeof ResizeObserver < "u" ? new ResizeObserver(s) : null;
80
- return b.current && o && o.observe(b.current), window.addEventListener("resize", s), window.addEventListener("scroll", s, !0), () => {
81
- o == null || o.disconnect(), window.removeEventListener("resize", s), window.removeEventListener("scroll", s, !0);
47
+ return r(), window.addEventListener("resize", r), window.addEventListener("scroll", r, !0), () => {
48
+ window.removeEventListener("resize", r), window.removeEventListener("scroll", r, !0);
82
49
  };
83
- }, [t, r, m, a, u]), R(() => {
84
- if (!t) return;
85
- const s = (e) => {
86
- b.current && !b.current.contains(e.target) && r && !r.contains(e.target) && (n == null || n());
87
- }, o = (e) => {
88
- e.key === "Escape" && (n == null || n());
50
+ }, [d, f, u, n, i]), N(() => {
51
+ if (!d) return;
52
+ const r = (e) => {
53
+ c.current && !c.current.contains(e.target) && f && !f.contains(e.target) && (o == null || o());
54
+ }, t = (e) => {
55
+ e.key === "Escape" && (o == null || o());
89
56
  };
90
- return document.addEventListener("mousedown", s), document.addEventListener("keydown", o), () => {
91
- document.removeEventListener("mousedown", s), document.removeEventListener("keydown", o);
57
+ return document.addEventListener("mousedown", r), document.addEventListener("keydown", t), () => {
58
+ document.removeEventListener("mousedown", r), document.removeEventListener("keydown", t);
92
59
  };
93
- }, [t, r, n]), t ? /* @__PURE__ */ c(I, { children: /* @__PURE__ */ c(
60
+ }, [d, f, o]);
61
+ const { openEffect: L } = R(b, "fade"), E = p[L] ?? p.fade;
62
+ return d ? /* @__PURE__ */ w(S, { children: /* @__PURE__ */ w(
94
63
  "div",
95
64
  {
96
- ref: b,
65
+ ref: c,
97
66
  role: "menu",
98
- className: v(
67
+ className: z(
99
68
  "bear-fixed bear-bg-white dark:bear-bg-gray-800",
100
69
  "bear-border bear-border-gray-200 dark:bear-border-gray-700",
101
70
  "bear-rounded-lg bear-shadow-lg bear-py-1",
102
71
  "bear-overflow-y-auto",
72
+ E,
103
73
  l
104
74
  ),
105
75
  style: {
106
- top: w.top,
107
- left: w.left,
108
- minWidth: a,
109
- maxHeight: u,
110
- zIndex: D
76
+ top: m.top,
77
+ left: m.left,
78
+ minWidth: n,
79
+ maxHeight: i,
80
+ zIndex: x
111
81
  },
112
- "data-testid": y,
113
- ...f,
82
+ "data-testid": k,
83
+ ...b,
114
84
  children: g
115
85
  }
116
86
  ) }) : null;
117
87
  };
118
88
  export {
119
- K as Menu,
120
- O as MenuDivider,
121
- H as MenuItem
89
+ j as Menu
122
90
  };
@@ -1,4 +1,5 @@
1
1
  import { HTMLAttributes, ReactNode } from 'react';
2
+ import { OverlayMotionEffect, OverlayEffectConfig } from '../../hooks/useFixedAnchorPosition';
2
3
  export interface MenuItemProps extends HTMLAttributes<HTMLDivElement> {
3
4
  id?: string;
4
5
  /** Icon to show before the label */
@@ -26,11 +27,17 @@ export interface MenuProps extends HTMLAttributes<HTMLDivElement> {
26
27
  /** Menu items */
27
28
  children?: ReactNode;
28
29
  /** Position relative to anchor */
29
- position?: 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
30
+ position?: 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end' | 'right-start' | 'left-start';
30
31
  /** Min width of the menu */
31
32
  minWidth?: number;
32
33
  /** Max height before scrolling */
33
34
  maxHeight?: number;
35
+ /** Transition effect when opening */
36
+ openEffect?: OverlayMotionEffect;
37
+ /** Transition effect when closing */
38
+ closeEffect?: OverlayMotionEffect;
39
+ /** Config for open and close transition effects */
40
+ effect?: OverlayEffectConfig;
34
41
  /** Test ID */
35
42
  testId?: string;
36
43
  }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),i=require("../../utils/cn.cjs");require("react");const a=({className:e})=>r.jsx("div",{className:i.cn("bear-h-px bear-bg-gray-200 dark:bear-bg-gray-700 bear-my-1",e)});exports.MenuDivider=a;
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ import { MenuDividerProps } from './Menu.types';
3
+ /**
4
+ * MenuDivider component for separating menu sections
5
+ */
6
+ export declare const MenuDivider: FC<MenuDividerProps>;
@@ -0,0 +1,7 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { cn as e } from "../../utils/cn.js";
3
+ import "react";
4
+ const i = ({ className: r }) => /* @__PURE__ */ a("div", { className: e("bear-h-px bear-bg-gray-200 dark:bear-bg-gray-700 bear-my-1", r) });
5
+ export {
6
+ i as MenuDivider
7
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),m=require("../../utils/cn.cjs");require("react");const n=require("../../constants/numbers.const.cjs"),y=require("./MenuDivider.cjs"),x=({icon:t,disabled:r=!1,selected:b=!1,divider:o=!1,children:i,onClick:a,className:u,testId:c,...g})=>e.jsxs(e.Fragment,{children:[e.jsxs("div",{role:"menuitem",tabIndex:r?n.NEGATIVE_ONE:n.ZERO,className:m.cn("bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-2 bear-cursor-pointer bear-transition-colors","hover:bear-bg-gray-100 dark:hover:bear-bg-gray-700","focus:bear-outline-none focus:bear-bg-gray-100 dark:focus:bear-bg-gray-700",b&&"bear-bg-primary-50 dark:bear-bg-primary-900/20 bear-text-primary-600",r&&"bear-opacity-50 bear-cursor-not-allowed hover:bear-bg-transparent",u),onClick:r?void 0:a,onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&!r&&(a==null||a())},"data-testid":c,...g,children:[t&&e.jsx("span",{className:"bear-flex-shrink-0 bear-text-gray-500",children:t}),e.jsx("span",{className:"bear-flex-1 bear-text-sm",children:i})]}),o&&e.jsx(y.MenuDivider,{})]});exports.MenuItem=x;
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ import { MenuItemProps } from './Menu.types';
3
+ /**
4
+ * MenuItem component for menu items
5
+ */
6
+ export declare const MenuItem: FC<MenuItemProps>;
@@ -0,0 +1,46 @@
1
+ import { jsxs as o, Fragment as g, jsx as a } from "react/jsx-runtime";
2
+ import { cn as y } from "../../utils/cn.js";
3
+ import "react";
4
+ import { NEGATIVE_ONE as c, ZERO as x } from "../../constants/numbers.const.js";
5
+ import { MenuDivider as l } from "./MenuDivider.js";
6
+ const N = ({
7
+ icon: t,
8
+ disabled: r = !1,
9
+ selected: s = !1,
10
+ divider: n = !1,
11
+ children: m,
12
+ onClick: e,
13
+ className: i,
14
+ testId: p,
15
+ ...f
16
+ }) => /* @__PURE__ */ o(g, { children: [
17
+ /* @__PURE__ */ o(
18
+ "div",
19
+ {
20
+ role: "menuitem",
21
+ tabIndex: r ? c : x,
22
+ className: y(
23
+ "bear-flex bear-items-center bear-gap-3 bear-px-4 bear-py-2 bear-cursor-pointer bear-transition-colors",
24
+ "hover:bear-bg-gray-100 dark:hover:bear-bg-gray-700",
25
+ "focus:bear-outline-none focus:bear-bg-gray-100 dark:focus:bear-bg-gray-700",
26
+ s && "bear-bg-primary-50 dark:bear-bg-primary-900/20 bear-text-primary-600",
27
+ r && "bear-opacity-50 bear-cursor-not-allowed hover:bear-bg-transparent",
28
+ i
29
+ ),
30
+ onClick: r ? void 0 : e,
31
+ onKeyDown: (b) => {
32
+ (b.key === "Enter" || b.key === " ") && !r && (e == null || e());
33
+ },
34
+ "data-testid": p,
35
+ ...f,
36
+ children: [
37
+ t && /* @__PURE__ */ a("span", { className: "bear-flex-shrink-0 bear-text-gray-500", children: t }),
38
+ /* @__PURE__ */ a("span", { className: "bear-flex-1 bear-text-sm", children: m })
39
+ ]
40
+ }
41
+ ),
42
+ n && /* @__PURE__ */ a(l, {})
43
+ ] });
44
+ export {
45
+ N as MenuItem
46
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),A=require("../../constants/generals.const.cjs"),B=require("../../utils/cn.cjs");require("react");const y=require("../../utils/generateBearId.utils.cjs"),I=require("../../utils/useBearId.cjs"),s=require("../Button/Button.cjs"),S=require("../Flex/Flex.cjs"),h=require("./MessageActions.const.cjs"),m=a=>{const{id:c,testId:l,onCopy:n,onRetry:o,onGood:r,onBad:i,translations:u,className:d}=a,g=I.useBearId(A.COMPONENT_NAME_MESSAGE_ACTIONS),b=y.resolveBearId(c,g),t={...h.MESSAGE_ACTIONS_DEFAULT_TRANSLATIONS,...u};return e.jsxs(S.Flex,{id:b,testId:l,className:B.cn("Bear-MessageActions",d),align:"center",gap:1,children:[n&&e.jsx(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:n,children:t.copyLabel}),o&&e.jsx(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:o,children:t.retryLabel}),r&&e.jsx(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:r,children:t.goodLabel}),i&&e.jsx(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:i,children:t.badLabel})]})};exports.MessageActions=m;