@forgedevstack/bear 1.1.3 → 1.1.8

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 (356) hide show
  1. package/README.md +19 -0
  2. package/dist/components/ActionIcon/ActionIcon.cjs +1 -0
  3. package/dist/components/ActionIcon/ActionIcon.const.cjs +1 -0
  4. package/dist/components/ActionIcon/ActionIcon.const.d.ts +7 -0
  5. package/dist/components/ActionIcon/ActionIcon.const.js +68 -0
  6. package/dist/components/ActionIcon/ActionIcon.d.ts +4 -0
  7. package/dist/components/ActionIcon/ActionIcon.js +42 -0
  8. package/dist/components/ActionIcon/ActionIcon.types.d.ts +11 -0
  9. package/dist/components/ActionIcon/index.d.ts +2 -0
  10. package/dist/components/Affix/Affix.cjs +1 -0
  11. package/dist/components/Affix/Affix.const.cjs +1 -0
  12. package/dist/components/Affix/Affix.const.d.ts +6 -0
  13. package/dist/components/Affix/Affix.const.js +9 -0
  14. package/dist/components/Affix/Affix.d.ts +4 -0
  15. package/dist/components/Affix/Affix.js +69 -0
  16. package/dist/components/Affix/Affix.types.d.ts +10 -0
  17. package/dist/components/Affix/index.d.ts +2 -0
  18. package/dist/components/Anchor/Anchor.cjs +1 -0
  19. package/dist/components/Anchor/Anchor.const.cjs +1 -0
  20. package/dist/components/Anchor/Anchor.const.d.ts +9 -0
  21. package/dist/components/Anchor/Anchor.const.js +11 -0
  22. package/dist/components/Anchor/Anchor.d.ts +4 -0
  23. package/dist/components/Anchor/Anchor.js +83 -0
  24. package/dist/components/Anchor/Anchor.types.d.ts +16 -0
  25. package/dist/components/Anchor/Anchor.utils.cjs +1 -0
  26. package/dist/components/Anchor/Anchor.utils.d.ts +2 -0
  27. package/dist/components/Anchor/Anchor.utils.js +12 -0
  28. package/dist/components/Anchor/index.d.ts +2 -0
  29. package/dist/components/Autocomplete/Autocomplete.cjs +1 -1
  30. package/dist/components/Autocomplete/Autocomplete.js +60 -67
  31. package/dist/components/Autocomplete/Autocomplete.utils.cjs +1 -0
  32. package/dist/components/Autocomplete/Autocomplete.utils.d.ts +2 -0
  33. package/dist/components/Autocomplete/Autocomplete.utils.js +12 -0
  34. package/dist/components/BackTop/BackTop.cjs +1 -1
  35. package/dist/components/BackTop/BackTop.js +10 -11
  36. package/dist/components/Blockquote/Blockquote.cjs +1 -0
  37. package/dist/components/Blockquote/Blockquote.const.cjs +1 -0
  38. package/dist/components/Blockquote/Blockquote.const.d.ts +5 -0
  39. package/dist/components/Blockquote/Blockquote.const.js +19 -0
  40. package/dist/components/Blockquote/Blockquote.d.ts +4 -0
  41. package/dist/components/Blockquote/Blockquote.js +56 -0
  42. package/dist/components/Blockquote/Blockquote.types.d.ts +9 -0
  43. package/dist/components/Blockquote/index.d.ts +2 -0
  44. package/dist/components/Button/Button.cjs +1 -1
  45. package/dist/components/Button/Button.constants.cjs +2 -2
  46. package/dist/components/Button/Button.constants.d.ts +1 -0
  47. package/dist/components/Button/Button.constants.js +12 -5
  48. package/dist/components/Button/Button.d.ts +0 -27
  49. package/dist/components/Button/Button.js +93 -105
  50. package/dist/components/Button/Button.types.d.ts +1 -0
  51. package/dist/components/Button/Button.utils.cjs +1 -0
  52. package/dist/components/Button/Button.utils.d.ts +2 -0
  53. package/dist/components/Button/Button.utils.js +5 -0
  54. package/dist/components/Button/useSpotlight.cjs +1 -0
  55. package/dist/components/Button/useSpotlight.d.ts +21 -0
  56. package/dist/components/Button/useSpotlight.js +28 -0
  57. package/dist/components/Chart/Chart.cjs +1 -1
  58. package/dist/components/Chart/Chart.const.cjs +1 -0
  59. package/dist/components/Chart/Chart.const.js +21 -0
  60. package/dist/components/Chart/Chart.js +55 -71
  61. package/dist/components/Chart/Chart.utils.cjs +1 -0
  62. package/dist/components/Chart/Chart.utils.js +5 -0
  63. package/dist/components/CheckboxCard/CheckboxCard.cjs +1 -0
  64. package/dist/components/CheckboxCard/CheckboxCard.const.cjs +1 -0
  65. package/dist/components/CheckboxCard/CheckboxCard.const.d.ts +7 -0
  66. package/dist/components/CheckboxCard/CheckboxCard.const.js +22 -0
  67. package/dist/components/CheckboxCard/CheckboxCard.d.ts +5 -0
  68. package/dist/components/CheckboxCard/CheckboxCard.js +132 -0
  69. package/dist/components/CheckboxCard/CheckboxCard.types.d.ts +21 -0
  70. package/dist/components/CheckboxCard/index.d.ts +2 -0
  71. package/dist/components/ColorPicker/ColorPicker.cjs +1 -1
  72. package/dist/components/ColorPicker/ColorPicker.const.cjs +1 -0
  73. package/dist/components/ColorPicker/ColorPicker.const.d.ts +26 -0
  74. package/dist/components/ColorPicker/ColorPicker.const.js +38 -0
  75. package/dist/components/ColorPicker/ColorPicker.js +61 -78
  76. package/dist/components/ColorSwatch/ColorSwatch.cjs +1 -0
  77. package/dist/components/ColorSwatch/ColorSwatch.const.cjs +1 -0
  78. package/dist/components/ColorSwatch/ColorSwatch.const.d.ts +16 -0
  79. package/dist/components/ColorSwatch/ColorSwatch.const.js +19 -0
  80. package/dist/components/ColorSwatch/ColorSwatch.d.ts +5 -0
  81. package/dist/components/ColorSwatch/ColorSwatch.js +92 -0
  82. package/dist/components/ColorSwatch/ColorSwatch.types.d.ts +23 -0
  83. package/dist/components/ColorSwatch/ColorSwatch.utils.cjs +1 -0
  84. package/dist/components/ColorSwatch/ColorSwatch.utils.d.ts +6 -0
  85. package/dist/components/ColorSwatch/ColorSwatch.utils.js +14 -0
  86. package/dist/components/ColorSwatch/index.d.ts +2 -0
  87. package/dist/components/Confetti/Confetti.cjs +1 -1
  88. package/dist/components/Confetti/Confetti.js +37 -34
  89. package/dist/components/ContextMenu/ContextMenu.cjs +1 -0
  90. package/dist/components/ContextMenu/ContextMenu.const.cjs +1 -0
  91. package/dist/components/ContextMenu/ContextMenu.const.d.ts +9 -0
  92. package/dist/components/ContextMenu/ContextMenu.const.js +12 -0
  93. package/dist/components/ContextMenu/ContextMenu.d.ts +4 -0
  94. package/dist/components/ContextMenu/ContextMenu.js +65 -0
  95. package/dist/components/ContextMenu/ContextMenu.types.d.ts +23 -0
  96. package/dist/components/ContextMenu/ContextMenu.utils.cjs +1 -0
  97. package/dist/components/ContextMenu/ContextMenu.utils.d.ts +5 -0
  98. package/dist/components/ContextMenu/ContextMenu.utils.js +4 -0
  99. package/dist/components/ContextMenu/index.d.ts +2 -0
  100. package/dist/components/CountdownTimer/CountdownTimer.cjs +1 -1
  101. package/dist/components/CountdownTimer/CountdownTimer.js +62 -71
  102. package/dist/components/CountdownTimer/CountdownTimer.utils.cjs +1 -0
  103. package/dist/components/CountdownTimer/CountdownTimer.utils.d.ts +3 -0
  104. package/dist/components/CountdownTimer/CountdownTimer.utils.js +16 -0
  105. package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -0
  106. package/dist/components/DateRangePicker/DateRangePicker.const.cjs +1 -0
  107. package/dist/components/DateRangePicker/DateRangePicker.const.d.ts +27 -0
  108. package/dist/components/DateRangePicker/DateRangePicker.const.js +74 -0
  109. package/dist/components/DateRangePicker/DateRangePicker.d.ts +4 -0
  110. package/dist/components/DateRangePicker/DateRangePicker.js +115 -0
  111. package/dist/components/DateRangePicker/DateRangePicker.types.d.ts +26 -0
  112. package/dist/components/DateRangePicker/DateRangePicker.utils.cjs +1 -0
  113. package/dist/components/DateRangePicker/DateRangePicker.utils.d.ts +4 -0
  114. package/dist/components/DateRangePicker/DateRangePicker.utils.js +22 -0
  115. package/dist/components/DateRangePicker/index.d.ts +2 -0
  116. package/dist/components/Descriptions/Descriptions.cjs +1 -0
  117. package/dist/components/Descriptions/Descriptions.const.cjs +1 -0
  118. package/dist/components/Descriptions/Descriptions.const.d.ts +24 -0
  119. package/dist/components/Descriptions/Descriptions.const.js +27 -0
  120. package/dist/components/Descriptions/Descriptions.d.ts +4 -0
  121. package/dist/components/Descriptions/Descriptions.js +65 -0
  122. package/dist/components/Descriptions/Descriptions.types.d.ts +16 -0
  123. package/dist/components/Descriptions/index.d.ts +2 -0
  124. package/dist/components/Dock/Dock.cjs +1 -1
  125. package/dist/components/Dock/Dock.js +38 -43
  126. package/dist/components/Dock/Dock.utils.cjs +1 -0
  127. package/dist/components/Dock/Dock.utils.d.ts +1 -0
  128. package/dist/components/Dock/Dock.utils.js +10 -0
  129. package/dist/components/Dropdown/Dropdown.cjs +1 -1
  130. package/dist/components/Dropdown/Dropdown.js +59 -60
  131. package/dist/components/Fieldset/Fieldset.cjs +1 -0
  132. package/dist/components/Fieldset/Fieldset.const.cjs +1 -0
  133. package/dist/components/Fieldset/Fieldset.const.d.ts +5 -0
  134. package/dist/components/Fieldset/Fieldset.const.js +16 -0
  135. package/dist/components/Fieldset/Fieldset.d.ts +4 -0
  136. package/dist/components/Fieldset/Fieldset.js +47 -0
  137. package/dist/components/Fieldset/Fieldset.types.d.ts +10 -0
  138. package/dist/components/Fieldset/index.d.ts +2 -0
  139. package/dist/components/FileTree/FileTree.cjs +1 -1
  140. package/dist/components/FileTree/FileTree.js +20 -32
  141. package/dist/components/FileTree/FileTree.utils.cjs +1 -0
  142. package/dist/components/FileTree/FileTree.utils.d.ts +4 -0
  143. package/dist/components/FileTree/FileTree.utils.js +15 -0
  144. package/dist/components/GradientText/GradientText.cjs +1 -1
  145. package/dist/components/GradientText/GradientText.js +27 -29
  146. package/dist/components/Icon/icons/bear.cjs +1 -0
  147. package/dist/components/Icon/icons/bear.d.ts +12 -0
  148. package/dist/components/Icon/icons/bear.js +47 -0
  149. package/dist/components/Icon/index.cjs +1 -1
  150. package/dist/components/Icon/index.d.ts +18 -0
  151. package/dist/components/Icon/index.js +17 -15
  152. package/dist/components/ImageGallery/ImageGallery.cjs +1 -0
  153. package/dist/components/ImageGallery/ImageGallery.const.cjs +1 -0
  154. package/dist/components/ImageGallery/ImageGallery.const.d.ts +13 -0
  155. package/dist/components/ImageGallery/ImageGallery.const.js +16 -0
  156. package/dist/components/ImageGallery/ImageGallery.d.ts +4 -0
  157. package/dist/components/ImageGallery/ImageGallery.js +61 -0
  158. package/dist/components/ImageGallery/ImageGallery.types.d.ts +22 -0
  159. package/dist/components/ImageGallery/index.d.ts +2 -0
  160. package/dist/components/Indicator/Indicator.cjs +1 -0
  161. package/dist/components/Indicator/Indicator.const.cjs +1 -0
  162. package/dist/components/Indicator/Indicator.const.d.ts +15 -0
  163. package/dist/components/Indicator/Indicator.const.js +26 -0
  164. package/dist/components/Indicator/Indicator.d.ts +4 -0
  165. package/dist/components/Indicator/Indicator.js +56 -0
  166. package/dist/components/Indicator/Indicator.types.d.ts +16 -0
  167. package/dist/components/Indicator/index.d.ts +2 -0
  168. package/dist/components/InfiniteScroll/InfiniteScroll.cjs +1 -0
  169. package/dist/components/InfiniteScroll/InfiniteScroll.const.cjs +1 -0
  170. package/dist/components/InfiniteScroll/InfiniteScroll.const.d.ts +7 -0
  171. package/dist/components/InfiniteScroll/InfiniteScroll.const.js +9 -0
  172. package/dist/components/InfiniteScroll/InfiniteScroll.d.ts +4 -0
  173. package/dist/components/InfiniteScroll/InfiniteScroll.js +51 -0
  174. package/dist/components/InfiniteScroll/InfiniteScroll.types.d.ts +13 -0
  175. package/dist/components/InfiniteScroll/index.d.ts +2 -0
  176. package/dist/components/Input/Input.cjs +1 -1
  177. package/dist/components/Input/Input.js +99 -66
  178. package/dist/components/Input/Input.types.d.ts +10 -0
  179. package/dist/components/Input/Input.utils.cjs +1 -0
  180. package/dist/components/Input/Input.utils.d.ts +2 -0
  181. package/dist/components/Input/Input.utils.js +15 -0
  182. package/dist/components/Input/index.d.ts +1 -1
  183. package/dist/components/LoadingOverlay/LoadingOverlay.cjs +1 -0
  184. package/dist/components/LoadingOverlay/LoadingOverlay.const.cjs +1 -0
  185. package/dist/components/LoadingOverlay/LoadingOverlay.const.d.ts +6 -0
  186. package/dist/components/LoadingOverlay/LoadingOverlay.const.js +9 -0
  187. package/dist/components/LoadingOverlay/LoadingOverlay.d.ts +4 -0
  188. package/dist/components/LoadingOverlay/LoadingOverlay.js +42 -0
  189. package/dist/components/LoadingOverlay/LoadingOverlay.types.d.ts +11 -0
  190. package/dist/components/LoadingOverlay/index.d.ts +2 -0
  191. package/dist/components/MentionsInput/MentionsInput.cjs +1 -1
  192. package/dist/components/MentionsInput/MentionsInput.js +64 -68
  193. package/dist/components/MentionsInput/MentionsInput.utils.cjs +1 -0
  194. package/dist/components/MentionsInput/MentionsInput.utils.d.ts +2 -0
  195. package/dist/components/MentionsInput/MentionsInput.utils.js +9 -0
  196. package/dist/components/NumberFormatter/NumberFormatter.cjs +1 -0
  197. package/dist/components/NumberFormatter/NumberFormatter.const.cjs +1 -0
  198. package/dist/components/NumberFormatter/NumberFormatter.const.d.ts +5 -0
  199. package/dist/components/NumberFormatter/NumberFormatter.const.js +8 -0
  200. package/dist/components/NumberFormatter/NumberFormatter.d.ts +4 -0
  201. package/dist/components/NumberFormatter/NumberFormatter.js +53 -0
  202. package/dist/components/NumberFormatter/NumberFormatter.types.d.ts +20 -0
  203. package/dist/components/NumberFormatter/NumberFormatter.utils.cjs +1 -0
  204. package/dist/components/NumberFormatter/NumberFormatter.utils.d.ts +2 -0
  205. package/dist/components/NumberFormatter/NumberFormatter.utils.js +19 -0
  206. package/dist/components/NumberFormatter/index.d.ts +2 -0
  207. package/dist/components/PageNav/PageNav.cjs +1 -0
  208. package/dist/components/PageNav/PageNav.const.cjs +1 -0
  209. package/dist/components/PageNav/PageNav.const.d.ts +22 -0
  210. package/dist/components/PageNav/PageNav.const.js +42 -0
  211. package/dist/components/PageNav/PageNav.d.ts +3 -0
  212. package/dist/components/PageNav/PageNav.js +81 -0
  213. package/dist/components/PageNav/PageNav.types.d.ts +17 -0
  214. package/dist/components/PageNav/index.d.ts +2 -0
  215. package/dist/components/Popconfirm/Popconfirm.cjs +1 -0
  216. package/dist/components/Popconfirm/Popconfirm.const.cjs +1 -0
  217. package/dist/components/Popconfirm/Popconfirm.const.d.ts +13 -0
  218. package/dist/components/Popconfirm/Popconfirm.const.js +20 -0
  219. package/dist/components/Popconfirm/Popconfirm.d.ts +4 -0
  220. package/dist/components/Popconfirm/Popconfirm.js +65 -0
  221. package/dist/components/Popconfirm/Popconfirm.types.d.ts +16 -0
  222. package/dist/components/Popconfirm/index.d.ts +2 -0
  223. package/dist/components/Progress/Progress.cjs +1 -1
  224. package/dist/components/Progress/Progress.js +6 -6
  225. package/dist/components/PropsPlayground/PropsPlayground.cjs +1 -0
  226. package/dist/components/PropsPlayground/PropsPlayground.const.cjs +1 -0
  227. package/dist/components/PropsPlayground/PropsPlayground.const.d.ts +11 -0
  228. package/dist/components/PropsPlayground/PropsPlayground.const.js +23 -0
  229. package/dist/components/PropsPlayground/PropsPlayground.d.ts +3 -0
  230. package/dist/components/PropsPlayground/PropsPlayground.js +221 -0
  231. package/dist/components/PropsPlayground/PropsPlayground.types.d.ts +29 -0
  232. package/dist/components/PropsPlayground/PropsPlayground.utils.cjs +1 -0
  233. package/dist/components/PropsPlayground/PropsPlayground.utils.d.ts +2 -0
  234. package/dist/components/PropsPlayground/PropsPlayground.utils.js +9 -0
  235. package/dist/components/PropsPlayground/index.d.ts +2 -0
  236. package/dist/components/RadioCard/RadioCard.cjs +1 -0
  237. package/dist/components/RadioCard/RadioCard.const.cjs +1 -0
  238. package/dist/components/RadioCard/RadioCard.const.d.ts +7 -0
  239. package/dist/components/RadioCard/RadioCard.const.js +22 -0
  240. package/dist/components/RadioCard/RadioCard.d.ts +5 -0
  241. package/dist/components/RadioCard/RadioCard.js +111 -0
  242. package/dist/components/RadioCard/RadioCard.types.d.ts +22 -0
  243. package/dist/components/RadioCard/index.d.ts +2 -0
  244. package/dist/components/Result/Result.cjs +1 -0
  245. package/dist/components/Result/Result.const.cjs +1 -0
  246. package/dist/components/Result/Result.const.d.ts +10 -0
  247. package/dist/components/Result/Result.const.js +20 -0
  248. package/dist/components/Result/Result.d.ts +4 -0
  249. package/dist/components/Result/Result.icons.cjs +1 -0
  250. package/dist/components/Result/Result.icons.d.ts +3 -0
  251. package/dist/components/Result/Result.icons.js +31 -0
  252. package/dist/components/Result/Result.js +35 -0
  253. package/dist/components/Result/Result.types.d.ts +10 -0
  254. package/dist/components/Result/index.d.ts +2 -0
  255. package/dist/components/RingProgress/RingProgress.cjs +1 -0
  256. package/dist/components/RingProgress/RingProgress.const.cjs +1 -0
  257. package/dist/components/RingProgress/RingProgress.const.d.ts +4 -0
  258. package/dist/components/RingProgress/RingProgress.const.js +7 -0
  259. package/dist/components/RingProgress/RingProgress.d.ts +4 -0
  260. package/dist/components/RingProgress/RingProgress.js +67 -0
  261. package/dist/components/RingProgress/RingProgress.types.d.ts +15 -0
  262. package/dist/components/RingProgress/index.d.ts +2 -0
  263. package/dist/components/Select/Select.cjs +1 -1
  264. package/dist/components/Select/Select.js +28 -30
  265. package/dist/components/SignPad/SignPad.cjs +1 -1
  266. package/dist/components/SignPad/SignPad.const.cjs +1 -1
  267. package/dist/components/SignPad/SignPad.const.js +10 -11
  268. package/dist/components/SignPad/SignPad.d.ts +4 -6
  269. package/dist/components/SignPad/SignPad.js +114 -122
  270. package/dist/components/SignPad/SignPad.types.d.ts +2 -2
  271. package/dist/components/Skeleton/Skeleton.cjs +1 -1
  272. package/dist/components/Skeleton/Skeleton.js +89 -94
  273. package/dist/components/Skeleton/Skeleton.utils.cjs +1 -0
  274. package/dist/components/Skeleton/Skeleton.utils.d.ts +1 -0
  275. package/dist/components/Skeleton/Skeleton.utils.js +10 -0
  276. package/dist/components/SliderRange/SliderRange.cjs +1 -1
  277. package/dist/components/SliderRange/SliderRange.js +61 -63
  278. package/dist/components/SliderRange/SliderRange.utils.cjs +1 -0
  279. package/dist/components/SliderRange/SliderRange.utils.d.ts +1 -0
  280. package/dist/components/SliderRange/SliderRange.utils.js +7 -0
  281. package/dist/components/SplitButton/SplitButton.cjs +1 -0
  282. package/dist/components/SplitButton/SplitButton.const.cjs +1 -0
  283. package/dist/components/SplitButton/SplitButton.const.d.ts +25 -0
  284. package/dist/components/SplitButton/SplitButton.const.js +27 -0
  285. package/dist/components/SplitButton/SplitButton.d.ts +4 -0
  286. package/dist/components/SplitButton/SplitButton.js +73 -0
  287. package/dist/components/SplitButton/SplitButton.types.d.ts +21 -0
  288. package/dist/components/SplitButton/index.d.ts +2 -0
  289. package/dist/components/Spoiler/Spoiler.cjs +1 -0
  290. package/dist/components/Spoiler/Spoiler.const.cjs +1 -0
  291. package/dist/components/Spoiler/Spoiler.const.d.ts +6 -0
  292. package/dist/components/Spoiler/Spoiler.const.js +9 -0
  293. package/dist/components/Spoiler/Spoiler.d.ts +4 -0
  294. package/dist/components/Spoiler/Spoiler.js +59 -0
  295. package/dist/components/Spoiler/Spoiler.types.d.ts +10 -0
  296. package/dist/components/Spoiler/index.d.ts +2 -0
  297. package/dist/components/Spotlight/Spotlight.cjs +1 -1
  298. package/dist/components/Spotlight/Spotlight.js +62 -73
  299. package/dist/components/Spotlight/Spotlight.utils.cjs +1 -0
  300. package/dist/components/Spotlight/Spotlight.utils.d.ts +3 -0
  301. package/dist/components/Spotlight/Spotlight.utils.js +18 -0
  302. package/dist/components/Tabs/Tabs.cjs +1 -1
  303. package/dist/components/Tabs/Tabs.js +39 -38
  304. package/dist/components/Tabs/Tabs.types.d.ts +3 -1
  305. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.cjs +1 -1
  306. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.js +63 -57
  307. package/dist/components/TimePicker/helpers/ClockFaceSvg.cjs +1 -1
  308. package/dist/components/TimePicker/helpers/ClockFaceSvg.d.ts +0 -7
  309. package/dist/components/TimePicker/helpers/ClockFaceSvg.js +32 -31
  310. package/dist/components/Toast/Toast.cjs +1 -1
  311. package/dist/components/Toast/Toast.js +18 -17
  312. package/dist/components/Toast/Toast.utils.cjs +1 -0
  313. package/dist/components/Toast/Toast.utils.d.ts +1 -0
  314. package/dist/components/Toast/Toast.utils.js +4 -0
  315. package/dist/components/Tooltip/Tooltip.cjs +1 -1
  316. package/dist/components/Tooltip/Tooltip.js +10 -11
  317. package/dist/components/Tour/Tour.cjs +1 -1
  318. package/dist/components/Tour/Tour.js +1 -2
  319. package/dist/components/TreeSelect/TreeSelect.cjs +1 -0
  320. package/dist/components/TreeSelect/TreeSelect.const.cjs +1 -0
  321. package/dist/components/TreeSelect/TreeSelect.const.d.ts +19 -0
  322. package/dist/components/TreeSelect/TreeSelect.const.js +22 -0
  323. package/dist/components/TreeSelect/TreeSelect.d.ts +4 -0
  324. package/dist/components/TreeSelect/TreeSelect.js +128 -0
  325. package/dist/components/TreeSelect/TreeSelect.types.d.ts +25 -0
  326. package/dist/components/TreeSelect/TreeSelect.utils.cjs +1 -0
  327. package/dist/components/TreeSelect/TreeSelect.utils.d.ts +5 -0
  328. package/dist/components/TreeSelect/TreeSelect.utils.js +25 -0
  329. package/dist/components/TreeSelect/index.d.ts +2 -0
  330. package/dist/components/VirtualList/VirtualList.cjs +1 -1
  331. package/dist/components/VirtualList/VirtualList.js +38 -43
  332. package/dist/components/index.cjs +1 -1
  333. package/dist/components/index.d.ts +48 -0
  334. package/dist/components/index.js +351 -300
  335. package/dist/hooks/index.cjs +1 -1
  336. package/dist/hooks/index.d.ts +2 -0
  337. package/dist/hooks/index.js +60 -58
  338. package/dist/hooks/useResizeObserver/index.d.ts +2 -0
  339. package/dist/hooks/useResizeObserver/useResizeObserver.cjs +1 -0
  340. package/dist/hooks/useResizeObserver/useResizeObserver.d.ts +3 -0
  341. package/dist/hooks/useResizeObserver/useResizeObserver.js +20 -0
  342. package/dist/hooks/useResizeObserver/useResizeObserver.types.d.ts +8 -0
  343. package/dist/icons.cjs +1 -0
  344. package/dist/icons.d.ts +2 -0
  345. package/dist/icons.js +6 -0
  346. package/dist/index.cjs +1 -1
  347. package/dist/index.js +443 -390
  348. package/dist/postcss/bear-plugin.cjs +86 -0
  349. package/dist/styles/_alerts.css +14 -0
  350. package/dist/styles/_base.css +60 -0
  351. package/dist/styles/_buttons.css +108 -0
  352. package/dist/styles/_effects.css +90 -0
  353. package/dist/styles/_marquee.css +25 -0
  354. package/dist/styles/main.css +5 -0
  355. package/dist/styles.css +1 -1
  356. package/package.json +15 -3
package/README.md CHANGED
@@ -284,6 +284,25 @@ const buttonProps: ButtonProps = {
284
284
  <Button {...buttonProps} />
285
285
  ```
286
286
 
287
+ ## How Bear Compares
288
+
289
+ | Feature | Bear UI | MUI | Ant Design | Chakra UI |
290
+ |---------|---------|-----|------------|-----------|
291
+ | **Tailwind CSS native** | Yes | No | No | Partial (v3) |
292
+ | **Bundle (tree-shaken)** | ~18 kB | ~80 kB | ~120 kB | ~45 kB |
293
+ | **Dark mode** | `dark:` variants, zero JS | Runtime theme swap | CSS vars + config | ColorMode context |
294
+ | **TypeScript** | 100 % | 100 % | 100 % | 100 % |
295
+ | **Components** | 60+ | 50+ | 60+ | 30+ |
296
+ | **Theming** | BearProvider + Tailwind | Emotion/styled | Less/CSS vars | Styled System |
297
+ | **Modular CSS** | `@BearInclude` PostCSS | N/A | N/A | N/A |
298
+ | **React 18 / 19** | Yes | Yes | Yes | Yes |
299
+ | **Zero runtime CSS-in-JS** | Yes | No (Emotion) | No (Less) | No (Emotion) |
300
+ | **Built-in i18n** | Portal (en/es) | MUI X | ConfigProvider | N/A |
301
+
302
+ ## Contributing
303
+
304
+ See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines on adding components, coding rules, and the portal development workflow.
305
+
287
306
  ## License
288
307
 
289
308
  MIT
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),r=require("../../utils/cn.cjs");require("react");const _=require("../Spinner/Spinner.cjs"),e=require("./ActionIcon.const.cjs"),c=({children:a,variant:i="default",color:o="default",size:t="md",radius:S="md",loading:n=!1,disabled:u=!1,testId:l,className:A,...I})=>{const b=u||n,d=e.VARIANT_CLASSES[i][o];return s.jsx("button",{type:"button",disabled:b,"aria-busy":n||void 0,className:r.cn(e.ROOT_CLASS,e.SIZE_CLASSES[t],e.RADIUS_MAP[S],d,n&&"bear-cursor-wait",A),"data-testid":l,...I,children:n?s.jsx(_.Spinner,{size:e.SPINNER_SIZE_MAP[t],className:e.ICON_SIZE_MAP[t]}):s.jsx("span",{className:r.cn("bear-inline-flex bear-items-center bear-justify-center",e.ICON_SIZE_MAP[t]),children:a})})};c.displayName="ActionIcon";exports.ActionIcon=c;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r={xs:"bear-w-7 bear-h-7",sm:"bear-w-8 bear-h-8",md:"bear-w-9 bear-h-9",lg:"bear-w-[42px] bear-h-[42px]",xl:"bear-w-12 bear-h-12"},e={xs:"[&_svg]:bear-w-3.5 [&_svg]:bear-h-3.5",sm:"[&_svg]:bear-w-4 [&_svg]:bear-h-4",md:"[&_svg]:bear-w-4.5 [&_svg]:bear-h-4.5",lg:"[&_svg]:bear-w-5 [&_svg]:bear-h-5",xl:"[&_svg]:bear-w-6 [&_svg]:bear-h-6"},a={sm:"bear-rounded-sm",md:"bear-rounded-md",lg:"bear-rounded-lg",full:"bear-rounded-full"},b={default:{default:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-gray-700 dark:bear-text-gray-300 hover:bear-bg-gray-200 dark:hover:bear-bg-gray-700 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",primary:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-100 dark:hover:bear-bg-pink-900/30 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",success:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-100 dark:hover:bear-bg-green-900/30 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",warning:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-100 dark:hover:bear-bg-amber-900/30 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",error:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-100 dark:hover:bear-bg-red-900/30 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"},filled:{default:"bear-bg-gray-200 dark:bear-bg-gray-700 bear-text-gray-800 dark:bear-text-gray-200 hover:bear-bg-gray-300 dark:hover:bear-bg-gray-600 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",primary:"bear-bg-pink-500 dark:bear-bg-pink-600 bear-text-white hover:bear-bg-pink-600 dark:hover:bear-bg-pink-500 focus:bear-ring-2 focus:bear-ring-pink-500/50 dark:focus:bear-ring-pink-400/50",success:"bear-bg-green-500 dark:bear-bg-green-600 bear-text-white hover:bear-bg-green-600 dark:hover:bear-bg-green-500 focus:bear-ring-2 focus:bear-ring-green-500/50 dark:focus:bear-ring-green-400/50",warning:"bear-bg-amber-500 dark:bear-bg-amber-600 bear-text-white hover:bear-bg-amber-600 dark:hover:bear-bg-amber-500 focus:bear-ring-2 focus:bear-ring-amber-500/50 dark:focus:bear-ring-amber-400/50",error:"bear-bg-red-500 dark:bear-bg-red-600 bear-text-white hover:bear-bg-red-600 dark:hover:bear-bg-red-500 focus:bear-ring-2 focus:bear-ring-red-500/50 dark:focus:bear-ring-red-400/50"},outline:{default:"bear-bg-transparent bear-border bear-border-gray-300 dark:bear-border-gray-600 bear-text-gray-700 dark:bear-text-gray-300 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",primary:"bear-bg-transparent bear-border bear-border-pink-500 dark:bear-border-pink-400 bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-950/30 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",success:"bear-bg-transparent bear-border bear-border-green-500 dark:bear-border-green-400 bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-50 dark:hover:bear-bg-green-950/30 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",warning:"bear-bg-transparent bear-border bear-border-amber-500 dark:bear-border-amber-400 bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-50 dark:hover:bear-bg-amber-950/30 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",error:"bear-bg-transparent bear-border bear-border-red-500 dark:bear-border-red-400 bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-950/30 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"},subtle:{default:"bear-bg-transparent bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 focus:bear-ring-2 focus:bear-ring-gray-400/30 dark:focus:bear-ring-gray-500/30",primary:"bear-bg-transparent bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-950/20 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",success:"bear-bg-transparent bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-50 dark:hover:bear-bg-green-950/20 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",warning:"bear-bg-transparent bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-50 dark:hover:bear-bg-amber-950/20 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",error:"bear-bg-transparent bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-950/20 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"},transparent:{default:"bear-bg-transparent bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100/50 dark:hover:bear-bg-gray-800/50 focus:bear-ring-2 focus:bear-ring-gray-400/20 dark:focus:bear-ring-gray-500/20",primary:"bear-bg-transparent bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-500/10 dark:hover:bear-bg-pink-400/10 focus:bear-ring-2 focus:bear-ring-pink-500/20 dark:focus:bear-ring-pink-400/20",success:"bear-bg-transparent bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-500/10 dark:hover:bear-bg-green-400/10 focus:bear-ring-2 focus:bear-ring-green-500/20 dark:focus:bear-ring-green-400/20",warning:"bear-bg-transparent bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-500/10 dark:hover:bear-bg-amber-400/10 focus:bear-ring-2 focus:bear-ring-amber-500/20 dark:focus:bear-ring-amber-400/20",error:"bear-bg-transparent bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-500/10 dark:hover:bear-bg-red-400/10 focus:bear-ring-2 focus:bear-ring-red-500/20 dark:focus:bear-ring-red-400/20"}},g={xs:"xs",sm:"xs",md:"sm",lg:"sm",xl:"md"},n="Bear-ActionIcon bear-inline-flex bear-items-center bear-justify-center bear-transition-all bear-duration-200 bear-outline-none disabled:bear-opacity-50 disabled:bear-cursor-not-allowed";exports.ICON_SIZE_MAP=e;exports.RADIUS_MAP=a;exports.ROOT_CLASS=n;exports.SIZE_CLASSES=r;exports.SPINNER_SIZE_MAP=g;exports.VARIANT_CLASSES=b;
@@ -0,0 +1,7 @@
1
+ export declare const SIZE_MAP: Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', number>;
2
+ export declare const SIZE_CLASSES: Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', string>;
3
+ export declare const ICON_SIZE_MAP: Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', string>;
4
+ export declare const RADIUS_MAP: Record<'sm' | 'md' | 'lg' | 'full', string>;
5
+ export declare const VARIANT_CLASSES: Record<'default' | 'filled' | 'outline' | 'subtle' | 'transparent', Record<'default' | 'primary' | 'success' | 'warning' | 'error', string>>;
6
+ export declare const SPINNER_SIZE_MAP: Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', 'xs' | 'sm' | 'md'>;
7
+ export declare const ROOT_CLASS = "Bear-ActionIcon bear-inline-flex bear-items-center bear-justify-center bear-transition-all bear-duration-200 bear-outline-none disabled:bear-opacity-50 disabled:bear-cursor-not-allowed";
@@ -0,0 +1,68 @@
1
+ const r = {
2
+ xs: "bear-w-7 bear-h-7",
3
+ sm: "bear-w-8 bear-h-8",
4
+ md: "bear-w-9 bear-h-9",
5
+ lg: "bear-w-[42px] bear-h-[42px]",
6
+ xl: "bear-w-12 bear-h-12"
7
+ }, e = {
8
+ xs: "[&_svg]:bear-w-3.5 [&_svg]:bear-h-3.5",
9
+ sm: "[&_svg]:bear-w-4 [&_svg]:bear-h-4",
10
+ md: "[&_svg]:bear-w-4.5 [&_svg]:bear-h-4.5",
11
+ lg: "[&_svg]:bear-w-5 [&_svg]:bear-h-5",
12
+ xl: "[&_svg]:bear-w-6 [&_svg]:bear-h-6"
13
+ }, a = {
14
+ sm: "bear-rounded-sm",
15
+ md: "bear-rounded-md",
16
+ lg: "bear-rounded-lg",
17
+ full: "bear-rounded-full"
18
+ }, b = {
19
+ default: {
20
+ default: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-gray-700 dark:bear-text-gray-300 hover:bear-bg-gray-200 dark:hover:bear-bg-gray-700 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",
21
+ primary: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-100 dark:hover:bear-bg-pink-900/30 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",
22
+ success: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-100 dark:hover:bear-bg-green-900/30 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",
23
+ warning: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-100 dark:hover:bear-bg-amber-900/30 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",
24
+ error: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-100 dark:hover:bear-bg-red-900/30 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"
25
+ },
26
+ filled: {
27
+ default: "bear-bg-gray-200 dark:bear-bg-gray-700 bear-text-gray-800 dark:bear-text-gray-200 hover:bear-bg-gray-300 dark:hover:bear-bg-gray-600 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",
28
+ primary: "bear-bg-pink-500 dark:bear-bg-pink-600 bear-text-white hover:bear-bg-pink-600 dark:hover:bear-bg-pink-500 focus:bear-ring-2 focus:bear-ring-pink-500/50 dark:focus:bear-ring-pink-400/50",
29
+ success: "bear-bg-green-500 dark:bear-bg-green-600 bear-text-white hover:bear-bg-green-600 dark:hover:bear-bg-green-500 focus:bear-ring-2 focus:bear-ring-green-500/50 dark:focus:bear-ring-green-400/50",
30
+ warning: "bear-bg-amber-500 dark:bear-bg-amber-600 bear-text-white hover:bear-bg-amber-600 dark:hover:bear-bg-amber-500 focus:bear-ring-2 focus:bear-ring-amber-500/50 dark:focus:bear-ring-amber-400/50",
31
+ error: "bear-bg-red-500 dark:bear-bg-red-600 bear-text-white hover:bear-bg-red-600 dark:hover:bear-bg-red-500 focus:bear-ring-2 focus:bear-ring-red-500/50 dark:focus:bear-ring-red-400/50"
32
+ },
33
+ outline: {
34
+ default: "bear-bg-transparent bear-border bear-border-gray-300 dark:bear-border-gray-600 bear-text-gray-700 dark:bear-text-gray-300 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",
35
+ primary: "bear-bg-transparent bear-border bear-border-pink-500 dark:bear-border-pink-400 bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-950/30 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",
36
+ success: "bear-bg-transparent bear-border bear-border-green-500 dark:bear-border-green-400 bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-50 dark:hover:bear-bg-green-950/30 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",
37
+ warning: "bear-bg-transparent bear-border bear-border-amber-500 dark:bear-border-amber-400 bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-50 dark:hover:bear-bg-amber-950/30 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",
38
+ error: "bear-bg-transparent bear-border bear-border-red-500 dark:bear-border-red-400 bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-950/30 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"
39
+ },
40
+ subtle: {
41
+ default: "bear-bg-transparent bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 focus:bear-ring-2 focus:bear-ring-gray-400/30 dark:focus:bear-ring-gray-500/30",
42
+ primary: "bear-bg-transparent bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-950/20 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",
43
+ success: "bear-bg-transparent bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-50 dark:hover:bear-bg-green-950/20 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",
44
+ warning: "bear-bg-transparent bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-50 dark:hover:bear-bg-amber-950/20 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",
45
+ error: "bear-bg-transparent bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-950/20 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"
46
+ },
47
+ transparent: {
48
+ default: "bear-bg-transparent bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100/50 dark:hover:bear-bg-gray-800/50 focus:bear-ring-2 focus:bear-ring-gray-400/20 dark:focus:bear-ring-gray-500/20",
49
+ primary: "bear-bg-transparent bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-500/10 dark:hover:bear-bg-pink-400/10 focus:bear-ring-2 focus:bear-ring-pink-500/20 dark:focus:bear-ring-pink-400/20",
50
+ success: "bear-bg-transparent bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-500/10 dark:hover:bear-bg-green-400/10 focus:bear-ring-2 focus:bear-ring-green-500/20 dark:focus:bear-ring-green-400/20",
51
+ warning: "bear-bg-transparent bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-500/10 dark:hover:bear-bg-amber-400/10 focus:bear-ring-2 focus:bear-ring-amber-500/20 dark:focus:bear-ring-amber-400/20",
52
+ error: "bear-bg-transparent bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-500/10 dark:hover:bear-bg-red-400/10 focus:bear-ring-2 focus:bear-ring-red-500/20 dark:focus:bear-ring-red-400/20"
53
+ }
54
+ }, g = {
55
+ xs: "xs",
56
+ sm: "xs",
57
+ md: "sm",
58
+ lg: "sm",
59
+ xl: "md"
60
+ }, n = "Bear-ActionIcon bear-inline-flex bear-items-center bear-justify-center bear-transition-all bear-duration-200 bear-outline-none disabled:bear-opacity-50 disabled:bear-cursor-not-allowed";
61
+ export {
62
+ e as ICON_SIZE_MAP,
63
+ a as RADIUS_MAP,
64
+ n as ROOT_CLASS,
65
+ r as SIZE_CLASSES,
66
+ g as SPINNER_SIZE_MAP,
67
+ b as VARIANT_CLASSES
68
+ };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { ActionIconProps } from './ActionIcon.types';
3
+ export declare const ActionIcon: FC<ActionIconProps>;
4
+ export default ActionIcon;
@@ -0,0 +1,42 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { cn as r } from "../../utils/cn.js";
3
+ import "react";
4
+ import { Spinner as b } from "../Spinner/Spinner.js";
5
+ import { VARIANT_CLASSES as d, ICON_SIZE_MAP as s, SPINNER_SIZE_MAP as I, RADIUS_MAP as u, SIZE_CLASSES as N, ROOT_CLASS as _ } from "./ActionIcon.const.js";
6
+ const E = ({
7
+ children: o,
8
+ variant: i = "default",
9
+ color: n = "default",
10
+ size: t = "md",
11
+ radius: m = "md",
12
+ loading: e = !1,
13
+ disabled: c = !1,
14
+ testId: S,
15
+ className: l,
16
+ ...A
17
+ }) => {
18
+ const f = c || e, p = d[i][n];
19
+ return /* @__PURE__ */ a(
20
+ "button",
21
+ {
22
+ type: "button",
23
+ disabled: f,
24
+ "aria-busy": e || void 0,
25
+ className: r(
26
+ _,
27
+ N[t],
28
+ u[m],
29
+ p,
30
+ e && "bear-cursor-wait",
31
+ l
32
+ ),
33
+ "data-testid": S,
34
+ ...A,
35
+ children: e ? /* @__PURE__ */ a(b, { size: I[t], className: s[t] }) : /* @__PURE__ */ a("span", { className: r("bear-inline-flex bear-items-center bear-justify-center", s[t]), children: o })
36
+ }
37
+ );
38
+ };
39
+ E.displayName = "ActionIcon";
40
+ export {
41
+ E as ActionIcon
42
+ };
@@ -0,0 +1,11 @@
1
+ import { ReactNode, ButtonHTMLAttributes } from 'react';
2
+ export interface ActionIconProps extends ButtonHTMLAttributes<HTMLButtonElement> {
3
+ children: ReactNode;
4
+ variant?: 'default' | 'filled' | 'outline' | 'subtle' | 'transparent';
5
+ color?: 'default' | 'primary' | 'success' | 'warning' | 'error';
6
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
7
+ radius?: 'sm' | 'md' | 'lg' | 'full';
8
+ loading?: boolean;
9
+ disabled?: boolean;
10
+ testId?: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ export { ActionIcon, default } from './ActionIcon';
2
+ export type { ActionIconProps } from './ActionIcon.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),r=require("react"),P=require("react-dom"),h=require("../../utils/cn.cjs"),t=require("./Affix.const.cjs"),T=E=>{const{children:S,position:c="top",offset:s=t.DEFAULT_OFFSET,zIndex:O=t.DEFAULT_Z_INDEX,withinPortal:R=!1,className:g,testId:m,...p}=E,[e,a]=r.useState(!1),[w,l]=r.useState(0),v=r.useRef(null),x=r.useRef(null),i=r.useCallback(()=>{const f=v.current,o=x.current;if(!f)return;const d=f.getBoundingClientRect();if(c==="top"){if(e)d.top>s&&(a(!1),l(0));else if(d.top<=s){const u=(o==null?void 0:o.offsetHeight)??f.offsetHeight??0;l(u),a(!0)}}else{const u=window.innerHeight;if(e)d.bottom<u-s&&(a(!1),l(0));else if(d.bottom>=u-s){const L=(o==null?void 0:o.offsetHeight)??f.offsetHeight??0;l(L),a(!0)}}},[s,c,e]);r.useEffect(()=>(i(),window.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",i),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i)}),[i]);const A=c==="top"?t.POSITION_TOP_CLASSES:t.POSITION_BOTTOM_CLASSES,_=n.jsxs(n.Fragment,{children:[n.jsx("div",{ref:v,style:e?{height:w}:void 0,className:h.cn(!e&&"bear-contents"),"aria-hidden":e,children:!e&&n.jsx("div",{ref:x,className:h.cn(t.ROOT_CLASS,t.WRAPPER_CLASSES,A,g),"data-testid":m,...p,children:S})}),e&&n.jsx("div",{className:h.cn(t.ROOT_CLASS,t.WRAPPER_CLASSES,A,"bear-fixed",g),style:{[c]:s,zIndex:O},"data-testid":m,...p,children:S})]});return R?P.createPortal(n.jsx("div",{className:"Bear-Affix__portal",children:_}),document.body):_};exports.Affix=T;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S="Bear-Affix",t=0,e=100,O="bear-bg-white dark:bear-bg-zinc-900 bear-transition-[top,bottom] bear-duration-200",r="bear-top-0 bear-left-0 bear-right-0",T="bear-bottom-0 bear-left-0 bear-right-0";exports.DEFAULT_OFFSET=t;exports.DEFAULT_Z_INDEX=e;exports.POSITION_BOTTOM_CLASSES=T;exports.POSITION_TOP_CLASSES=r;exports.ROOT_CLASS=S;exports.WRAPPER_CLASSES=O;
@@ -0,0 +1,6 @@
1
+ export declare const ROOT_CLASS = "Bear-Affix";
2
+ export declare const DEFAULT_OFFSET = 0;
3
+ export declare const DEFAULT_Z_INDEX = 100;
4
+ export declare const WRAPPER_CLASSES = "bear-bg-white dark:bear-bg-zinc-900 bear-transition-[top,bottom] bear-duration-200";
5
+ export declare const POSITION_TOP_CLASSES = "bear-top-0 bear-left-0 bear-right-0";
6
+ export declare const POSITION_BOTTOM_CLASSES = "bear-bottom-0 bear-left-0 bear-right-0";
@@ -0,0 +1,9 @@
1
+ const t = "Bear-Affix", r = 0, e = 100, o = "bear-bg-white dark:bear-bg-zinc-900 bear-transition-[top,bottom] bear-duration-200", a = "bear-top-0 bear-left-0 bear-right-0", b = "bear-bottom-0 bear-left-0 bear-right-0";
2
+ export {
3
+ r as DEFAULT_OFFSET,
4
+ e as DEFAULT_Z_INDEX,
5
+ b as POSITION_BOTTOM_CLASSES,
6
+ a as POSITION_TOP_CLASSES,
7
+ t as ROOT_CLASS,
8
+ o as WRAPPER_CLASSES
9
+ };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { AffixProps } from './Affix.types';
3
+ export declare const Affix: FC<AffixProps>;
4
+ export default Affix;
@@ -0,0 +1,69 @@
1
+ import { jsxs as P, Fragment as C, jsx as a } from "react/jsx-runtime";
2
+ import { useState as E, useRef as _, useCallback as F, useEffect as H } from "react";
3
+ import { createPortal as R } from "react-dom";
4
+ import { cn as d } from "../../utils/cn.js";
5
+ import { DEFAULT_OFFSET as b, DEFAULT_Z_INDEX as B, POSITION_TOP_CLASSES as y, POSITION_BOTTOM_CLASSES as z, WRAPPER_CLASSES as L, ROOT_CLASS as O } from "./Affix.const.js";
6
+ const W = (x) => {
7
+ const {
8
+ children: h,
9
+ position: i = "top",
10
+ offset: t = b,
11
+ zIndex: A = B,
12
+ withinPortal: T = !1,
13
+ className: m,
14
+ testId: p,
15
+ ...u
16
+ } = x, [e, r] = E(!1), [I, n] = E(0), S = _(null), g = _(null), s = F(() => {
17
+ const c = S.current, o = g.current;
18
+ if (!c) return;
19
+ const l = c.getBoundingClientRect();
20
+ if (i === "top") {
21
+ if (e)
22
+ l.top > t && (r(!1), n(0));
23
+ else if (l.top <= t) {
24
+ const f = (o == null ? void 0 : o.offsetHeight) ?? c.offsetHeight ?? 0;
25
+ n(f), r(!0);
26
+ }
27
+ } else {
28
+ const f = window.innerHeight;
29
+ if (e)
30
+ l.bottom < f - t && (r(!1), n(0));
31
+ else if (l.bottom >= f - t) {
32
+ const N = (o == null ? void 0 : o.offsetHeight) ?? c.offsetHeight ?? 0;
33
+ n(N), r(!0);
34
+ }
35
+ }
36
+ }, [t, i, e]);
37
+ H(() => (s(), window.addEventListener("scroll", s, { passive: !0 }), window.addEventListener("resize", s), () => {
38
+ window.removeEventListener("scroll", s), window.removeEventListener("resize", s);
39
+ }), [s]);
40
+ const v = i === "top" ? y : z, w = /* @__PURE__ */ P(C, { children: [
41
+ /* @__PURE__ */ a(
42
+ "div",
43
+ {
44
+ ref: S,
45
+ style: e ? { height: I } : void 0,
46
+ className: d(!e && "bear-contents"),
47
+ "aria-hidden": e,
48
+ children: !e && /* @__PURE__ */ a("div", { ref: g, className: d(O, L, v, m), "data-testid": p, ...u, children: h })
49
+ }
50
+ ),
51
+ e && /* @__PURE__ */ a(
52
+ "div",
53
+ {
54
+ className: d(O, L, v, "bear-fixed", m),
55
+ style: {
56
+ [i]: t,
57
+ zIndex: A
58
+ },
59
+ "data-testid": p,
60
+ ...u,
61
+ children: h
62
+ }
63
+ )
64
+ ] });
65
+ return T ? R(/* @__PURE__ */ a("div", { className: "Bear-Affix__portal", children: w }), document.body) : w;
66
+ };
67
+ export {
68
+ W as Affix
69
+ };
@@ -0,0 +1,10 @@
1
+ import { ReactNode, HTMLAttributes } from 'react';
2
+ export type AffixPosition = 'top' | 'bottom';
3
+ export interface AffixProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
4
+ children: ReactNode;
5
+ position?: AffixPosition;
6
+ offset?: number;
7
+ zIndex?: number;
8
+ withinPortal?: boolean;
9
+ testId?: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ export { Affix, default } from './Affix';
2
+ export type { AffixProps, AffixPosition } from './Affix.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),u=require("react"),f=require("../../utils/cn.cjs"),L=require("../Typography/Typography.cjs"),s=require("./Anchor.const.cjs"),N=require("./Anchor.utils.cjs"),C=S=>{const{links:T,offset:c=s.DEFAULT_OFFSET,affix:h=!1,affixTop:g=s.DEFAULT_AFFIX_TOP,targetOffset:b=s.DEFAULT_TARGET_OFFSET,onClick:i,className:m,testId:A,...I}=S,[v,_]=u.useState(null),l=u.useRef(null),a=N.collectIds(T),p=u.useCallback(e=>{const n=document.getElementById(e);if(n){const t=n.getBoundingClientRect().top+window.scrollY-b;window.scrollTo({top:t,behavior:"smooth"})}i==null||i(e)},[b,i]);u.useEffect(()=>{if(a.length!==0)return l.current=new IntersectionObserver(e=>{const n=e.filter(t=>t.isIntersecting).sort((t,o)=>{const r=t.boundingClientRect.top,x=o.boundingClientRect.top;return Math.abs(r-c)-Math.abs(x-c)});if(n.length>0){const o=n[0].target.id;a.includes(o)&&_(o)}},{rootMargin:`-${c}px 0px -50% 0px`,threshold:[0,.25,.5,.75,1]}),a.forEach(e=>{var t;const n=document.getElementById(e);n&&((t=l.current)==null||t.observe(n))}),()=>{var e;(e=l.current)==null||e.disconnect(),l.current=null}},[a.join(","),c]);const E=(e,n)=>{var o;const t=v===e.id;return d.jsxs("div",{className:f.cn(n&&s.NESTED_LINK_INDENT),children:[d.jsx("div",{role:"button",tabIndex:0,onClick:()=>p(e.id),onKeyDown:r=>r.key==="Enter"&&p(e.id),className:f.cn(s.LINK_CLASSES,t&&s.ACTIVE_LINK_CLASSES),children:d.jsx(L.Typography,{variant:"body2",className:f.cn(t&&"bear-font-medium"),children:e.label})}),(o=e.children)==null?void 0:o.map(r=>E(r,!0))]},e.id)},y=f.cn(s.ROOT_CLASS,s.ROOT_CLASSES,h&&"bear-sticky",m);return d.jsx("nav",{className:y,style:h?{top:g}:void 0,"data-testid":A,...I,children:T.map(e=>E(e,!1))})};exports.Anchor=C;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r="Bear-Anchor",e=0,t=0,a=0,S="bear-flex bear-flex-col",T="bear-py-1 bear-px-2 bear-text-sm bear-transition-colors bear-cursor-pointer bear-rounded bear-text-gray-600 dark:bear-text-zinc-400 hover:bear-text-gray-900 dark:hover:bear-text-zinc-100",b="bear-text-pink-500 dark:bear-text-pink-400 bear-font-medium bear-border-l-2 bear-border-pink-500 dark:bear-border-pink-400 bear-pl-3 bear--ml-0.5",o="bear-pl-4";exports.ACTIVE_LINK_CLASSES=b;exports.DEFAULT_AFFIX_TOP=t;exports.DEFAULT_OFFSET=e;exports.DEFAULT_TARGET_OFFSET=a;exports.LINK_CLASSES=T;exports.NESTED_LINK_INDENT=o;exports.ROOT_CLASS=r;exports.ROOT_CLASSES=S;
@@ -0,0 +1,9 @@
1
+ export declare const ROOT_CLASS = "Bear-Anchor";
2
+ export declare const DEFAULT_OFFSET = 0;
3
+ export declare const DEFAULT_AFFIX_TOP = 0;
4
+ export declare const DEFAULT_TARGET_OFFSET = 0;
5
+ export declare const ROOT_CLASSES = "bear-flex bear-flex-col";
6
+ export declare const LINK_CLASSES = "bear-py-1 bear-px-2 bear-text-sm bear-transition-colors bear-cursor-pointer bear-rounded bear-text-gray-600 dark:bear-text-zinc-400 hover:bear-text-gray-900 dark:hover:bear-text-zinc-100";
7
+ export declare const ACTIVE_LINK_CLASSES = "bear-text-pink-500 dark:bear-text-pink-400 bear-font-medium bear-border-l-2 bear-border-pink-500 dark:bear-border-pink-400 bear-pl-3 bear--ml-0.5";
8
+ export declare const NESTED_LINK_INDENT = "bear-pl-4";
9
+ export declare const ACTIVE_INDICATOR_BAR_CLASSES = "bear-border-l-2 bear-border-pink-500 dark:bear-border-pink-400";
@@ -0,0 +1,11 @@
1
+ const r = "Bear-Anchor", e = 0, a = 0, t = 0, b = "bear-flex bear-flex-col", o = "bear-py-1 bear-px-2 bear-text-sm bear-transition-colors bear-cursor-pointer bear-rounded bear-text-gray-600 dark:bear-text-zinc-400 hover:bear-text-gray-900 dark:hover:bear-text-zinc-100", n = "bear-text-pink-500 dark:bear-text-pink-400 bear-font-medium bear-border-l-2 bear-border-pink-500 dark:bear-border-pink-400 bear-pl-3 bear--ml-0.5", c = "bear-pl-4";
2
+ export {
3
+ n as ACTIVE_LINK_CLASSES,
4
+ a as DEFAULT_AFFIX_TOP,
5
+ e as DEFAULT_OFFSET,
6
+ t as DEFAULT_TARGET_OFFSET,
7
+ o as LINK_CLASSES,
8
+ c as NESTED_LINK_INDENT,
9
+ r as ROOT_CLASS,
10
+ b as ROOT_CLASSES
11
+ };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { AnchorProps } from './Anchor.types';
3
+ export declare const Anchor: FC<AnchorProps>;
4
+ export default Anchor;
@@ -0,0 +1,83 @@
1
+ import { jsx as d, jsxs as L } from "react/jsx-runtime";
2
+ import { useState as N, useRef as C, useCallback as x, useEffect as y } from "react";
3
+ import { cn as a } from "../../utils/cn.js";
4
+ import { Typography as F } from "../Typography/Typography.js";
5
+ import { DEFAULT_OFFSET as O, DEFAULT_AFFIX_TOP as R, DEFAULT_TARGET_OFFSET as w, ROOT_CLASSES as D, ROOT_CLASS as K, ACTIVE_LINK_CLASSES as j, LINK_CLASSES as B, NESTED_LINK_INDENT as M } from "./Anchor.const.js";
6
+ import { collectIds as U } from "./Anchor.utils.js";
7
+ const k = (E) => {
8
+ const {
9
+ links: f,
10
+ offset: r = O,
11
+ affix: m = !1,
12
+ affixTop: b = R,
13
+ targetOffset: u = w,
14
+ onClick: c,
15
+ className: h,
16
+ testId: I,
17
+ ...S
18
+ } = E, [g, v] = N(null), i = C(null), l = U(f), p = x(
19
+ (t) => {
20
+ const o = document.getElementById(t);
21
+ if (o) {
22
+ const e = o.getBoundingClientRect().top + window.scrollY - u;
23
+ window.scrollTo({ top: e, behavior: "smooth" });
24
+ }
25
+ c == null || c(t);
26
+ },
27
+ [u, c]
28
+ );
29
+ y(() => {
30
+ if (l.length !== 0)
31
+ return i.current = new IntersectionObserver(
32
+ (t) => {
33
+ const o = t.filter((e) => e.isIntersecting).sort((e, s) => {
34
+ const n = e.boundingClientRect.top, _ = s.boundingClientRect.top;
35
+ return Math.abs(n - r) - Math.abs(_ - r);
36
+ });
37
+ if (o.length > 0) {
38
+ const s = o[0].target.id;
39
+ l.includes(s) && v(s);
40
+ }
41
+ },
42
+ { rootMargin: `-${r}px 0px -50% 0px`, threshold: [0, 0.25, 0.5, 0.75, 1] }
43
+ ), l.forEach((t) => {
44
+ var e;
45
+ const o = document.getElementById(t);
46
+ o && ((e = i.current) == null || e.observe(o));
47
+ }), () => {
48
+ var t;
49
+ (t = i.current) == null || t.disconnect(), i.current = null;
50
+ };
51
+ }, [l.join(","), r]);
52
+ const T = (t, o) => {
53
+ var s;
54
+ const e = g === t.id;
55
+ return /* @__PURE__ */ L("div", { className: a(o && M), children: [
56
+ /* @__PURE__ */ d(
57
+ "div",
58
+ {
59
+ role: "button",
60
+ tabIndex: 0,
61
+ onClick: () => p(t.id),
62
+ onKeyDown: (n) => n.key === "Enter" && p(t.id),
63
+ className: a(B, e && j),
64
+ children: /* @__PURE__ */ d(F, { variant: "body2", className: a(e && "bear-font-medium"), children: t.label })
65
+ }
66
+ ),
67
+ (s = t.children) == null ? void 0 : s.map((n) => T(n, !0))
68
+ ] }, t.id);
69
+ }, A = a(K, D, m && "bear-sticky", h);
70
+ return /* @__PURE__ */ d(
71
+ "nav",
72
+ {
73
+ className: A,
74
+ style: m ? { top: b } : void 0,
75
+ "data-testid": I,
76
+ ...S,
77
+ children: f.map((t) => T(t, !1))
78
+ }
79
+ );
80
+ };
81
+ export {
82
+ k as Anchor
83
+ };
@@ -0,0 +1,16 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export interface AnchorLink {
3
+ id: string;
4
+ label: string;
5
+ children?: AnchorLink[];
6
+ }
7
+ export interface AnchorProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick'> {
8
+ links: AnchorLink[];
9
+ offset?: number;
10
+ affix?: boolean;
11
+ affixTop?: number;
12
+ targetOffset?: number;
13
+ onClick?: (id: string) => void;
14
+ activeColor?: string;
15
+ testId?: string;
16
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function r(n){const e=[],l=o=>{o.forEach(c=>{var t;e.push(c.id),(t=c.children)!=null&&t.length&&l(c.children)})};return l(n),e}exports.collectIds=r;
@@ -0,0 +1,2 @@
1
+ import { AnchorLink } from './Anchor.types';
2
+ export declare function collectIds(links: AnchorLink[]): string[];
@@ -0,0 +1,12 @@
1
+ function h(r) {
2
+ const n = [], l = (d) => {
3
+ d.forEach((c) => {
4
+ var o;
5
+ n.push(c.id), (o = c.children) != null && o.length && l(c.children);
6
+ });
7
+ };
8
+ return l(r), n;
9
+ }
10
+ export {
11
+ h as collectIds
12
+ };
@@ -0,0 +1,2 @@
1
+ export { Anchor, default } from './Anchor';
2
+ export type { AnchorProps, AnchorLink } from './Anchor.types';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),s=require("react"),f=require("../../utils/cn.cjs"),z=(g,b)=>{const t=b.toLowerCase();return g.filter(l=>{var i;return l.label.toLowerCase().includes(t)||l.value.toLowerCase().includes(t)||((i=l.description)==null?void 0:i.toLowerCase().includes(t))})},I=({options:g,value:b="",onChange:t,onSelect:l,placeholder:i="Start typing...",label:w,helperText:k,error:d,disabled:u=!1,freeSolo:p=!1,loading:v=!1,filterOptions:D=z,className:E,testId:L})=>{const[x,n]=s.useState(!1),[o,m]=s.useState(-1),y=s.useRef(null),j=s.useRef(null),h=s.useRef(null),c=D(g,b);s.useEffect(()=>{const e=a=>{y.current&&!y.current.contains(a.target)&&n(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),s.useEffect(()=>{m(-1)},[b]),s.useEffect(()=>{if(o>=0&&h.current){const e=h.current.children[o];e&&e.scrollIntoView({block:"nearest"})}},[o]);const R=e=>{const a=e.target.value;t==null||t(a),n(!0)},N=e=>{var a;t==null||t(e.label),l==null||l(e),n(!1),(a=j.current)==null||a.blur()},A=e=>{if(!x){(e.key==="ArrowDown"||e.key==="ArrowUp")&&(n(!0),e.preventDefault());return}switch(e.key){case"ArrowDown":e.preventDefault(),m(a=>a<c.length-1?a+1:0);break;case"ArrowUp":e.preventDefault(),m(a=>a>0?a-1:c.length-1);break;case"Enter":e.preventDefault(),o>=0&&c[o]?N(c[o]):p&&b&&n(!1);break;case"Escape":n(!1);break}};return r.jsxs("div",{className:f.cn("bear-w-full bear-relative",E),ref:y,"data-testid":L,children:[w&&r.jsx("label",{className:"bear-block bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-gray-200 bear-mb-1.5",children:w}),r.jsxs("div",{className:"bear-relative",children:[r.jsx("input",{ref:j,type:"text",value:b,onChange:R,onFocus:()=>n(!0),onKeyDown:A,placeholder:i,disabled:u,className:f.cn("bear-w-full bear-px-4 bear-py-2.5 bear-pr-10 bear-rounded-lg bear-border","bear-bg-white dark:bear-bg-gray-900","bear-text-sm bear-text-gray-900 dark:bear-text-white","placeholder:bear-text-gray-400","bear-transition-colors bear-outline-none",d?"bear-border-red-500 focus:bear-ring-2 focus:bear-ring-red-500/20":"bear-border-gray-300 dark:bear-border-gray-600 focus:bear-border-amber-500 focus:bear-ring-2 focus:bear-ring-amber-500/20",u&&"bear-opacity-50 bear-cursor-not-allowed bear-bg-gray-100 dark:bear-bg-gray-800")}),r.jsx("div",{className:"bear-absolute bear-right-3 bear-top-1/2 bear-transform bear--translate-y-1/2",children:v?r.jsxs("svg",{className:"bear-animate-spin bear-w-4 bear-h-4 bear-text-gray-400",viewBox:"0 0 24 24",fill:"none",children:[r.jsx("circle",{className:"bear-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),r.jsx("path",{className:"bear-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}):r.jsx("svg",{className:"bear-w-4 bear-h-4 bear-text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})})]}),x&&!u&&c.length>0&&r.jsx("div",{ref:h,className:"bear-absolute bear-z-50 bear-w-full bear-mt-1 bear-py-1 bear-bg-white dark:bear-bg-gray-800 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-shadow-lg bear-max-h-60 bear-overflow-auto",children:c.map((e,a)=>r.jsxs("button",{type:"button",disabled:e.disabled,onClick:()=>N(e),className:f.cn("bear-w-full bear-px-4 bear-py-2 bear-text-left bear-text-sm bear-transition-colors","bear-text-gray-900 dark:bear-text-white",a===o?"bear-bg-amber-50 dark:bear-bg-amber-900/20":"hover:bear-bg-gray-50 dark:hover:bear-bg-gray-700",e.disabled&&"bear-opacity-50 bear-cursor-not-allowed"),children:[r.jsx("div",{className:"bear-font-medium",children:e.label}),e.description&&r.jsx("div",{className:"bear-text-xs bear-text-gray-500 dark:bear-text-gray-400 bear-mt-0.5",children:e.description})]},e.value))}),x&&!u&&c.length===0&&b&&!v&&r.jsx("div",{className:"bear-absolute bear-z-50 bear-w-full bear-mt-1 bear-py-3 bear-px-4 bear-bg-white dark:bear-bg-gray-800 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-shadow-lg bear-text-sm bear-text-gray-500",children:p?"Press Enter to use this value":"No results found"}),(k||d)&&r.jsx("p",{className:f.cn("bear-mt-1.5 bear-text-xs",d?"bear-text-red-500":"bear-text-gray-500 dark:bear-text-gray-400"),children:d||k})]})};exports.Autocomplete=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),t=require("react"),d=require("../../utils/cn.cjs"),I=require("./Autocomplete.utils.cjs"),O=({options:j,value:o="",onChange:n,onSelect:u,placeholder:N="Start typing...",label:y,helperText:h,error:c,disabled:i=!1,freeSolo:p=!1,loading:w=!1,filterOptions:A=I.defaultFilter,className:D,testId:E})=>{const[f,s]=t.useState(!1),[b,g]=t.useState(-1),x=t.useRef(null),k=t.useRef(null),m=t.useRef(null),l=A(j,o);t.useEffect(()=>{const e=a=>{x.current&&!x.current.contains(a.target)&&s(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),t.useEffect(()=>{g(-1)},[o]),t.useEffect(()=>{if(b>=0&&m.current){const e=m.current.children[b];e&&e.scrollIntoView({block:"nearest"})}},[b]);const R=e=>{const a=e.target.value;n==null||n(a),s(!0)},v=e=>{var a;n==null||n(e.label),u==null||u(e),s(!1),(a=k.current)==null||a.blur()},z=e=>{if(!f){(e.key==="ArrowDown"||e.key==="ArrowUp")&&(s(!0),e.preventDefault());return}switch(e.key){case"ArrowDown":e.preventDefault(),g(a=>a<l.length-1?a+1:0);break;case"ArrowUp":e.preventDefault(),g(a=>a>0?a-1:l.length-1);break;case"Enter":e.preventDefault(),b>=0&&l[b]?v(l[b]):p&&o&&s(!1);break;case"Escape":s(!1);break}};return r.jsxs("div",{className:d.cn("bear-w-full bear-relative",D),ref:x,"data-testid":E,children:[y&&r.jsx("label",{className:"bear-block bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-gray-200 bear-mb-1.5",children:y}),r.jsxs("div",{className:"bear-relative",children:[r.jsx("input",{ref:k,type:"text",value:o,onChange:R,onFocus:()=>s(!0),onKeyDown:z,placeholder:N,disabled:i,className:d.cn("bear-w-full bear-px-4 bear-py-2.5 bear-pr-10 bear-rounded-lg bear-border","bear-bg-white dark:bear-bg-gray-900","bear-text-sm bear-text-gray-900 dark:bear-text-white","placeholder:bear-text-gray-400","bear-transition-colors bear-outline-none",c?"bear-border-red-500 focus:bear-ring-2 focus:bear-ring-red-500/20":"bear-border-gray-300 dark:bear-border-gray-600 focus:bear-border-amber-500 focus:bear-ring-2 focus:bear-ring-amber-500/20",i&&"bear-opacity-50 bear-cursor-not-allowed bear-bg-gray-100 dark:bear-bg-gray-800")}),r.jsx("div",{className:"bear-absolute bear-right-3 bear-top-1/2 bear-transform bear--translate-y-1/2",children:w?r.jsxs("svg",{className:"bear-animate-spin bear-w-4 bear-h-4 bear-text-gray-400",viewBox:"0 0 24 24",fill:"none",children:[r.jsx("circle",{className:"bear-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),r.jsx("path",{className:"bear-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}):r.jsx("svg",{className:"bear-w-4 bear-h-4 bear-text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})})]}),f&&!i&&l.length>0&&r.jsx("div",{ref:m,className:"bear-absolute bear-z-50 bear-w-full bear-mt-1 bear-py-1 bear-bg-white dark:bear-bg-gray-800 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-shadow-lg bear-max-h-60 bear-overflow-auto",children:l.map((e,a)=>r.jsxs("button",{type:"button",disabled:e.disabled,onClick:()=>v(e),className:d.cn("bear-w-full bear-px-4 bear-py-2 bear-text-left bear-text-sm bear-transition-colors","bear-text-gray-900 dark:bear-text-white",a===b?"bear-bg-amber-50 dark:bear-bg-amber-900/20":"hover:bear-bg-gray-50 dark:hover:bear-bg-gray-700",e.disabled&&"bear-opacity-50 bear-cursor-not-allowed"),children:[r.jsx("div",{className:"bear-font-medium",children:e.label}),e.description&&r.jsx("div",{className:"bear-text-xs bear-text-gray-500 dark:bear-text-gray-400 bear-mt-0.5",children:e.description})]},e.value))}),f&&!i&&l.length===0&&o&&!w&&r.jsx("div",{className:"bear-absolute bear-z-50 bear-w-full bear-mt-1 bear-py-3 bear-px-4 bear-bg-white dark:bear-bg-gray-800 bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-rounded-lg bear-shadow-lg bear-text-sm bear-text-gray-500",children:p?"Press Enter to use this value":"No results found"}),(h||c)&&r.jsx("p",{className:d.cn("bear-mt-1.5 bear-text-xs",c?"bear-text-red-500":"bear-text-gray-500 dark:bear-text-gray-400"),children:c||h})]})};exports.Autocomplete=O;