@forgedevstack/bear 1.0.2 → 1.0.4-alpha

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 (352) hide show
  1. package/dist/components/Accordion/Accordion.cjs +1 -1
  2. package/dist/components/Accordion/Accordion.const.cjs +1 -0
  3. package/dist/components/Accordion/Accordion.const.d.ts +10 -0
  4. package/dist/components/Accordion/Accordion.const.js +8 -0
  5. package/dist/components/Accordion/Accordion.d.ts +1 -0
  6. package/dist/components/Accordion/Accordion.js +49 -44
  7. package/dist/components/Accordion/Accordion.types.d.ts +2 -0
  8. package/dist/components/Accordion/index.d.ts +3 -2
  9. package/dist/components/ActiveBar/ActiveBar.cjs +8 -0
  10. package/dist/components/ActiveBar/ActiveBar.d.ts +2 -0
  11. package/dist/components/ActiveBar/ActiveBar.js +90 -0
  12. package/dist/components/ActiveBar/ActiveBar.types.d.ts +16 -0
  13. package/dist/components/ActiveBar/index.d.ts +2 -0
  14. package/dist/components/ActivityItem/ActivityItem.cjs +1 -0
  15. package/dist/components/ActivityItem/ActivityItem.d.ts +7 -0
  16. package/dist/components/ActivityItem/ActivityItem.js +44 -0
  17. package/dist/components/ActivityItem/ActivityItem.types.d.ts +17 -0
  18. package/dist/components/ActivityItem/index.d.ts +2 -0
  19. package/dist/components/Alert/Alert.cjs +1 -1
  20. package/dist/components/Alert/Alert.const.cjs +1 -0
  21. package/dist/components/Alert/Alert.const.d.ts +14 -0
  22. package/dist/components/Alert/Alert.const.js +27 -0
  23. package/dist/components/Alert/Alert.js +54 -63
  24. package/dist/components/Alert/Alert.types.d.ts +3 -1
  25. package/dist/components/Avatar/Avatar.cjs +1 -1
  26. package/dist/components/Avatar/Avatar.const.cjs +1 -0
  27. package/dist/components/Avatar/Avatar.const.d.ts +28 -0
  28. package/dist/components/Avatar/Avatar.const.js +28 -0
  29. package/dist/components/Avatar/Avatar.js +49 -60
  30. package/dist/components/Avatar/index.d.ts +1 -0
  31. package/dist/components/Badge/Badge.cjs +1 -1
  32. package/dist/components/Badge/Badge.js +24 -22
  33. package/dist/components/BearLogo/EmberLogo.cjs +17 -0
  34. package/dist/components/BearLogo/EmberLogo.js +91 -0
  35. package/dist/components/BearLogo/index.d.ts +2 -0
  36. package/dist/components/Box/Box.cjs +1 -0
  37. package/dist/components/Box/Box.d.ts +2 -0
  38. package/dist/components/Box/Box.js +64 -0
  39. package/dist/components/Box/Box.types.d.ts +24 -0
  40. package/dist/components/Box/Box.utils.cjs +1 -0
  41. package/dist/components/Box/Box.utils.d.ts +3 -0
  42. package/dist/components/Box/Box.utils.js +21 -0
  43. package/dist/components/Box/index.d.ts +2 -0
  44. package/dist/components/Breadcrumbs/Breadcrumbs.cjs +1 -1
  45. package/dist/components/Breadcrumbs/Breadcrumbs.const.cjs +1 -0
  46. package/dist/components/Breadcrumbs/Breadcrumbs.const.d.ts +16 -0
  47. package/dist/components/Breadcrumbs/Breadcrumbs.const.js +19 -0
  48. package/dist/components/Breadcrumbs/Breadcrumbs.js +49 -34
  49. package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +8 -1
  50. package/dist/components/Button/Button.cjs +1 -1
  51. package/dist/components/Button/Button.constants.cjs +1 -1
  52. package/dist/components/Button/Button.constants.d.ts +2 -2
  53. package/dist/components/Button/Button.constants.js +2 -2
  54. package/dist/components/Button/Button.js +41 -46
  55. package/dist/components/Calendar/Calendar.cjs +1 -1
  56. package/dist/components/Calendar/Calendar.const.cjs +1 -0
  57. package/dist/components/Calendar/Calendar.const.d.ts +18 -0
  58. package/dist/components/Calendar/Calendar.const.js +27 -0
  59. package/dist/components/Calendar/Calendar.helpers.cjs +1 -0
  60. package/dist/components/Calendar/Calendar.helpers.d.ts +10 -0
  61. package/dist/components/Calendar/Calendar.helpers.js +9 -0
  62. package/dist/components/Calendar/Calendar.js +132 -149
  63. package/dist/components/Calendar/Calendar.types.d.ts +4 -0
  64. package/dist/components/Calendar/Calendar.utils.cjs +1 -0
  65. package/dist/components/Calendar/Calendar.utils.d.ts +41 -0
  66. package/dist/components/Calendar/Calendar.utils.js +33 -0
  67. package/dist/components/Calendar/index.d.ts +2 -0
  68. package/dist/components/Card/Card.cjs +1 -1
  69. package/dist/components/Card/Card.const.cjs +1 -0
  70. package/dist/components/Card/Card.const.d.ts +13 -0
  71. package/dist/components/Card/Card.const.js +32 -0
  72. package/dist/components/Card/Card.d.ts +1 -0
  73. package/dist/components/Card/Card.js +101 -105
  74. package/dist/components/Card/index.d.ts +3 -2
  75. package/dist/components/Chart/Chart.cjs +1 -0
  76. package/dist/components/Chart/Chart.const.d.ts +15 -0
  77. package/dist/components/Chart/Chart.d.ts +18 -0
  78. package/dist/components/Chart/Chart.js +225 -0
  79. package/dist/components/Chart/Chart.types.d.ts +51 -0
  80. package/dist/components/Chart/Chart.utils.d.ts +31 -0
  81. package/dist/components/Chart/index.d.ts +2 -0
  82. package/dist/components/CodeBlock/CodeBlock.cjs +2 -0
  83. package/dist/components/CodeBlock/CodeBlock.d.ts +2 -0
  84. package/dist/components/CodeBlock/CodeBlock.js +68 -0
  85. package/dist/components/CodeBlock/CodeBlock.types.d.ts +21 -0
  86. package/dist/components/CodeBlock/index.d.ts +2 -0
  87. package/dist/components/Columns/Columns.cjs +1 -0
  88. package/dist/components/Columns/Columns.d.ts +5 -0
  89. package/dist/components/Columns/Columns.js +54 -0
  90. package/dist/components/Columns/Columns.types.d.ts +17 -0
  91. package/dist/components/Columns/index.d.ts +2 -0
  92. package/dist/components/DateTimePicker/DateTimePicker.cjs +1 -1
  93. package/dist/components/DateTimePicker/DateTimePicker.js +28 -28
  94. package/dist/components/Editable/Editable.cjs +1 -0
  95. package/dist/components/Editable/Editable.d.ts +10 -0
  96. package/dist/components/Editable/Editable.js +194 -0
  97. package/dist/components/Editable/Editable.types.d.ts +39 -0
  98. package/dist/components/Editable/index.d.ts +2 -0
  99. package/dist/components/Em/Em.cjs +1 -0
  100. package/dist/components/Em/Em.d.ts +2 -0
  101. package/dist/components/Em/Em.js +24 -0
  102. package/dist/components/Em/Em.types.d.ts +5 -0
  103. package/dist/components/Em/index.d.ts +2 -0
  104. package/dist/components/Fab/Fab.cjs +1 -1
  105. package/dist/components/Fab/Fab.js +9 -9
  106. package/dist/components/Gauge/Gauge.cjs +1 -0
  107. package/dist/components/Gauge/Gauge.d.ts +3 -0
  108. package/dist/components/Gauge/Gauge.js +92 -0
  109. package/dist/components/Gauge/Gauge.types.d.ts +27 -0
  110. package/dist/components/Gauge/index.d.ts +2 -0
  111. package/dist/components/Highlight/Highlight.cjs +1 -0
  112. package/dist/components/Highlight/Highlight.d.ts +2 -0
  113. package/dist/components/Highlight/Highlight.js +28 -0
  114. package/dist/components/Highlight/Highlight.types.d.ts +6 -0
  115. package/dist/components/Highlight/index.d.ts +2 -0
  116. package/dist/components/HoverCard/HoverCard.cjs +6 -0
  117. package/dist/components/HoverCard/HoverCard.d.ts +2 -0
  118. package/dist/components/HoverCard/HoverCard.js +68 -0
  119. package/dist/components/HoverCard/HoverCard.types.d.ts +13 -0
  120. package/dist/components/HoverCard/HoverCard.utils.cjs +1 -0
  121. package/dist/components/HoverCard/HoverCard.utils.d.ts +2 -0
  122. package/dist/components/HoverCard/HoverCard.utils.js +23 -0
  123. package/dist/components/HoverCard/index.d.ts +2 -0
  124. package/dist/components/Icon/icons/editor.cjs +1 -1
  125. package/dist/components/Icon/icons/editor.d.ts +1 -0
  126. package/dist/components/Icon/icons/editor.js +66 -61
  127. package/dist/components/Icon/icons/misc.cjs +1 -1
  128. package/dist/components/Icon/icons/misc.d.ts +13 -0
  129. package/dist/components/Icon/icons/misc.js +157 -88
  130. package/dist/components/Icon/icons/status.js +1 -1
  131. package/dist/components/Icon/index.cjs +1 -1
  132. package/dist/components/Icon/index.d.ts +27 -0
  133. package/dist/components/Icon/index.js +28 -21
  134. package/dist/components/Input/Input.cjs +1 -1
  135. package/dist/components/Input/Input.js +36 -35
  136. package/dist/components/Mark/Mark.cjs +1 -0
  137. package/dist/components/Mark/Mark.d.ts +2 -0
  138. package/dist/components/Mark/Mark.js +26 -0
  139. package/dist/components/Mark/Mark.types.d.ts +5 -0
  140. package/dist/components/Mark/index.d.ts +2 -0
  141. package/dist/components/Modal/Modal.cjs +1 -1
  142. package/dist/components/Modal/Modal.const.cjs +1 -0
  143. package/dist/components/Modal/Modal.const.d.ts +10 -0
  144. package/dist/components/Modal/Modal.const.js +17 -0
  145. package/dist/components/Modal/Modal.d.ts +11 -0
  146. package/dist/components/Modal/Modal.js +80 -77
  147. package/dist/components/Modal/Modal.types.d.ts +6 -1
  148. package/dist/components/Modal/index.d.ts +3 -2
  149. package/dist/components/Rating/Rating.cjs +1 -1
  150. package/dist/components/Rating/Rating.const.cjs +1 -0
  151. package/dist/components/Rating/Rating.const.d.ts +14 -0
  152. package/dist/components/Rating/Rating.const.js +22 -0
  153. package/dist/components/Rating/Rating.d.ts +5 -10
  154. package/dist/components/Rating/Rating.js +135 -93
  155. package/dist/components/Rating/Rating.types.d.ts +27 -25
  156. package/dist/components/Rating/index.d.ts +2 -2
  157. package/dist/components/RichEditor/RichEditor.cjs +1 -0
  158. package/dist/components/RichEditor/RichEditor.const.cjs +141 -0
  159. package/dist/components/RichEditor/RichEditor.const.d.ts +137 -0
  160. package/dist/components/RichEditor/RichEditor.const.js +279 -0
  161. package/dist/components/RichEditor/RichEditor.d.ts +18 -0
  162. package/dist/components/RichEditor/RichEditor.js +363 -0
  163. package/dist/components/RichEditor/RichEditor.types.d.ts +57 -0
  164. package/dist/components/RichEditor/components/ToolbarButton/ToolbarButton.cjs +1 -0
  165. package/dist/components/RichEditor/components/ToolbarButton/ToolbarButton.d.ts +4 -0
  166. package/dist/components/RichEditor/components/ToolbarButton/ToolbarButton.js +25 -0
  167. package/dist/components/RichEditor/components/ToolbarButton/index.d.ts +1 -0
  168. package/dist/components/RichEditor/components/ToolbarColorPicker/ToolbarColorPicker.cjs +1 -0
  169. package/dist/components/RichEditor/components/ToolbarColorPicker/ToolbarColorPicker.d.ts +4 -0
  170. package/dist/components/RichEditor/components/ToolbarColorPicker/ToolbarColorPicker.js +126 -0
  171. package/dist/components/RichEditor/components/ToolbarColorPicker/index.d.ts +1 -0
  172. package/dist/components/RichEditor/components/ToolbarDropdown/ToolbarDropdown.cjs +1 -0
  173. package/dist/components/RichEditor/components/ToolbarDropdown/ToolbarDropdown.d.ts +4 -0
  174. package/dist/components/RichEditor/components/ToolbarDropdown/ToolbarDropdown.js +57 -0
  175. package/dist/components/RichEditor/components/ToolbarDropdown/index.d.ts +1 -0
  176. package/dist/components/RichEditor/components/ToolbarMore/ToolbarMore.cjs +1 -0
  177. package/dist/components/RichEditor/components/ToolbarMore/ToolbarMore.d.ts +7 -0
  178. package/dist/components/RichEditor/components/ToolbarMore/ToolbarMore.js +45 -0
  179. package/dist/components/RichEditor/components/ToolbarMore/index.d.ts +2 -0
  180. package/dist/components/RichEditor/components/index.d.ts +4 -0
  181. package/dist/components/RichEditor/helpers/formatHelpers.cjs +1 -0
  182. package/dist/components/RichEditor/helpers/formatHelpers.d.ts +57 -0
  183. package/dist/components/RichEditor/helpers/formatHelpers.js +26 -0
  184. package/dist/components/RichEditor/helpers/index.d.ts +1 -0
  185. package/dist/components/RichEditor/index.d.ts +4 -0
  186. package/dist/components/Sidebar/Sidebar.cjs +1 -0
  187. package/dist/components/Sidebar/Sidebar.const.cjs +1 -0
  188. package/dist/components/Sidebar/Sidebar.const.d.ts +16 -0
  189. package/dist/components/Sidebar/Sidebar.const.js +22 -0
  190. package/dist/components/Sidebar/Sidebar.d.ts +17 -0
  191. package/dist/components/Sidebar/Sidebar.js +70 -0
  192. package/dist/components/Sidebar/Sidebar.types.d.ts +44 -0
  193. package/dist/components/Sidebar/components/SidebarGroup/SidebarGroup.cjs +1 -0
  194. package/dist/components/Sidebar/components/SidebarGroup/SidebarGroup.d.ts +4 -0
  195. package/dist/components/Sidebar/components/SidebarGroup/SidebarGroup.js +45 -0
  196. package/dist/components/Sidebar/components/SidebarGroup/index.d.ts +2 -0
  197. package/dist/components/Sidebar/components/SidebarItem/SidebarItem.cjs +1 -0
  198. package/dist/components/Sidebar/components/SidebarItem/SidebarItem.d.ts +4 -0
  199. package/dist/components/Sidebar/components/SidebarItem/SidebarItem.js +66 -0
  200. package/dist/components/Sidebar/components/SidebarItem/index.d.ts +2 -0
  201. package/dist/components/Sidebar/components/index.d.ts +2 -0
  202. package/dist/components/Sidebar/index.d.ts +5 -0
  203. package/dist/components/SignPad/SignPad.cjs +1 -0
  204. package/dist/components/SignPad/SignPad.const.cjs +1 -0
  205. package/dist/components/SignPad/SignPad.const.d.ts +19 -0
  206. package/dist/components/SignPad/SignPad.const.js +20 -0
  207. package/dist/components/SignPad/SignPad.d.ts +17 -0
  208. package/dist/components/SignPad/SignPad.js +161 -0
  209. package/dist/components/SignPad/SignPad.types.d.ts +37 -0
  210. package/dist/components/SignPad/index.d.ts +3 -0
  211. package/dist/components/Skeleton/Skeleton.cjs +1 -1
  212. package/dist/components/Skeleton/Skeleton.const.cjs +36 -0
  213. package/dist/components/Skeleton/Skeleton.const.d.ts +12 -0
  214. package/dist/components/Skeleton/Skeleton.const.js +58 -0
  215. package/dist/components/Skeleton/Skeleton.d.ts +15 -24
  216. package/dist/components/Skeleton/Skeleton.js +132 -103
  217. package/dist/components/Skeleton/Skeleton.types.d.ts +18 -8
  218. package/dist/components/Skeleton/index.d.ts +2 -2
  219. package/dist/components/Slider/Slider.cjs +1 -1
  220. package/dist/components/Slider/Slider.js +8 -8
  221. package/dist/components/Sparkline/Sparkline.cjs +1 -0
  222. package/dist/components/Sparkline/Sparkline.const.cjs +1 -0
  223. package/dist/components/Sparkline/Sparkline.const.d.ts +16 -0
  224. package/dist/components/Sparkline/Sparkline.const.js +16 -0
  225. package/dist/components/Sparkline/Sparkline.d.ts +3 -0
  226. package/dist/components/Sparkline/Sparkline.js +80 -0
  227. package/dist/components/Sparkline/Sparkline.types.d.ts +19 -0
  228. package/dist/components/Sparkline/Sparkline.utils.cjs +1 -0
  229. package/dist/components/Sparkline/Sparkline.utils.d.ts +27 -0
  230. package/dist/components/Sparkline/Sparkline.utils.js +30 -0
  231. package/dist/components/Sparkline/index.d.ts +5 -0
  232. package/dist/components/SpeedDial/SpeedDial.cjs +12 -1
  233. package/dist/components/SpeedDial/SpeedDial.const.cjs +1 -0
  234. package/dist/components/SpeedDial/SpeedDial.const.d.ts +22 -0
  235. package/dist/components/SpeedDial/SpeedDial.const.js +26 -0
  236. package/dist/components/SpeedDial/SpeedDial.d.ts +5 -7
  237. package/dist/components/SpeedDial/SpeedDial.js +154 -144
  238. package/dist/components/SpeedDial/SpeedDial.types.d.ts +26 -29
  239. package/dist/components/SpeedDial/index.d.ts +1 -1
  240. package/dist/components/Spinner/Spinner.cjs +1 -1
  241. package/dist/components/Spinner/Spinner.js +17 -15
  242. package/dist/components/StatCard/StatCard.cjs +1 -0
  243. package/dist/components/StatCard/StatCard.d.ts +7 -0
  244. package/dist/components/StatCard/StatCard.js +36 -0
  245. package/dist/components/StatCard/StatCard.types.d.ts +13 -0
  246. package/dist/components/StatCard/index.d.ts +2 -0
  247. package/dist/components/Stepper/Stepper.cjs +1 -1
  248. package/dist/components/Stepper/Stepper.const.cjs +1 -0
  249. package/dist/components/Stepper/Stepper.const.d.ts +29 -0
  250. package/dist/components/Stepper/Stepper.const.js +46 -0
  251. package/dist/components/Stepper/Stepper.d.ts +10 -3
  252. package/dist/components/Stepper/Stepper.js +143 -92
  253. package/dist/components/Stepper/Stepper.types.d.ts +63 -13
  254. package/dist/components/Stepper/index.d.ts +2 -2
  255. package/dist/components/Switch/Switch.cjs +1 -1
  256. package/dist/components/Switch/Switch.js +74 -47
  257. package/dist/components/Switch/Switch.types.d.ts +11 -1
  258. package/dist/components/Tabs/Tabs.cjs +1 -1
  259. package/dist/components/Tabs/Tabs.js +33 -29
  260. package/dist/components/TimePicker/TimePicker.cjs +1 -1
  261. package/dist/components/TimePicker/TimePicker.constants.cjs +1 -1
  262. package/dist/components/TimePicker/TimePicker.constants.d.ts +14 -0
  263. package/dist/components/TimePicker/TimePicker.constants.js +18 -4
  264. package/dist/components/TimePicker/TimePicker.js +92 -91
  265. package/dist/components/Timeline/Timeline.cjs +1 -1
  266. package/dist/components/Timeline/Timeline.const.cjs +1 -0
  267. package/dist/components/Timeline/Timeline.const.d.ts +40 -0
  268. package/dist/components/Timeline/Timeline.const.js +58 -0
  269. package/dist/components/Timeline/Timeline.d.ts +16 -2
  270. package/dist/components/Timeline/Timeline.js +131 -63
  271. package/dist/components/Timeline/Timeline.types.d.ts +30 -11
  272. package/dist/components/Timeline/index.d.ts +1 -1
  273. package/dist/components/Tooltip/Tooltip.cjs +1 -1
  274. package/dist/components/Tooltip/Tooltip.js +37 -35
  275. package/dist/components/Typography/Typography.cjs +1 -1
  276. package/dist/components/Typography/Typography.js +38 -36
  277. package/dist/components/index.cjs +1 -1
  278. package/dist/components/index.d.ts +38 -4
  279. package/dist/components/index.js +213 -168
  280. package/dist/hooks/index.cjs +1 -1
  281. package/dist/hooks/index.d.ts +24 -0
  282. package/dist/hooks/index.js +42 -14
  283. package/dist/hooks/useBounce/index.d.ts +2 -0
  284. package/dist/hooks/useBounce/useBounce.cjs +1 -0
  285. package/dist/hooks/useBounce/useBounce.d.ts +2 -0
  286. package/dist/hooks/useBounce/useBounce.js +36 -0
  287. package/dist/hooks/useBounce/useBounce.types.d.ts +27 -0
  288. package/dist/hooks/useClickOutside/index.d.ts +2 -0
  289. package/dist/hooks/useClickOutside/useClickOutside.d.ts +22 -0
  290. package/dist/hooks/useClickOutside/useClickOutside.types.d.ts +10 -0
  291. package/dist/hooks/useClipboard/index.d.ts +2 -0
  292. package/dist/hooks/useClipboard/useClipboard.cjs +1 -0
  293. package/dist/hooks/useClipboard/useClipboard.d.ts +15 -0
  294. package/dist/hooks/useClipboard/useClipboard.js +22 -0
  295. package/dist/hooks/useClipboard/useClipboard.types.d.ts +20 -0
  296. package/dist/hooks/useDebounce/index.d.ts +2 -0
  297. package/dist/hooks/useDebounce/useDebounce.cjs +1 -0
  298. package/dist/hooks/useDebounce/useDebounce.d.ts +32 -0
  299. package/dist/hooks/useDebounce/useDebounce.js +39 -0
  300. package/dist/hooks/useDebounce/useDebounce.types.d.ts +20 -0
  301. package/dist/hooks/useFloat/index.d.ts +2 -0
  302. package/dist/hooks/useFloat/useFloat.cjs +1 -0
  303. package/dist/hooks/useFloat/useFloat.d.ts +2 -0
  304. package/dist/hooks/useFloat/useFloat.js +37 -0
  305. package/dist/hooks/useFloat/useFloat.types.d.ts +25 -0
  306. package/dist/hooks/useIntersectionObserver/index.d.ts +2 -0
  307. package/dist/hooks/useIntersectionObserver/useIntersectionObserver.cjs +1 -0
  308. package/dist/hooks/useIntersectionObserver/useIntersectionObserver.d.ts +25 -0
  309. package/dist/hooks/useIntersectionObserver/useIntersectionObserver.js +39 -0
  310. package/dist/hooks/useIntersectionObserver/useIntersectionObserver.types.d.ts +22 -0
  311. package/dist/hooks/useKeyPress/index.d.ts +2 -0
  312. package/dist/hooks/useKeyPress/useKeyPress.cjs +1 -0
  313. package/dist/hooks/useKeyPress/useKeyPress.d.ts +22 -0
  314. package/dist/hooks/useKeyPress/useKeyPress.js +39 -0
  315. package/dist/hooks/useKeyPress/useKeyPress.types.d.ts +19 -0
  316. package/dist/hooks/useLocalStorage/index.d.ts +2 -0
  317. package/dist/hooks/useLocalStorage/useLocalStorage.cjs +1 -0
  318. package/dist/hooks/useLocalStorage/useLocalStorage.d.ts +11 -0
  319. package/dist/hooks/useLocalStorage/useLocalStorage.js +47 -0
  320. package/dist/hooks/useLocalStorage/useLocalStorage.types.d.ts +16 -0
  321. package/dist/hooks/useMediaQuery/index.d.ts +3 -0
  322. package/dist/hooks/useMediaQuery/useMediaQuery.d.ts +12 -0
  323. package/dist/hooks/useMediaQuery/useMediaQuery.types.d.ts +21 -0
  324. package/dist/hooks/useParallax/index.d.ts +2 -0
  325. package/dist/hooks/useParallax/useParallax.cjs +1 -0
  326. package/dist/hooks/useParallax/useParallax.d.ts +2 -0
  327. package/dist/hooks/useParallax/useParallax.js +36 -0
  328. package/dist/hooks/useParallax/useParallax.types.d.ts +19 -0
  329. package/dist/hooks/usePulse/index.d.ts +2 -0
  330. package/dist/hooks/usePulse/usePulse.cjs +1 -0
  331. package/dist/hooks/usePulse/usePulse.d.ts +2 -0
  332. package/dist/hooks/usePulse/usePulse.js +38 -0
  333. package/dist/hooks/usePulse/usePulse.types.d.ts +29 -0
  334. package/dist/hooks/useShake/index.d.ts +2 -0
  335. package/dist/hooks/useShake/useShake.cjs +1 -0
  336. package/dist/hooks/useShake/useShake.d.ts +2 -0
  337. package/dist/hooks/useShake/useShake.js +14 -0
  338. package/dist/hooks/useShake/useShake.types.d.ts +19 -0
  339. package/dist/hooks/useSlide/index.d.ts +2 -0
  340. package/dist/hooks/useSlide/useSlide.cjs +1 -0
  341. package/dist/hooks/useSlide/useSlide.d.ts +2 -0
  342. package/dist/hooks/useSlide/useSlide.js +68 -0
  343. package/dist/hooks/useSlide/useSlide.types.d.ts +36 -0
  344. package/dist/hooks/useThrottle/index.d.ts +2 -0
  345. package/dist/hooks/useThrottle/useThrottle.cjs +1 -0
  346. package/dist/hooks/useThrottle/useThrottle.d.ts +26 -0
  347. package/dist/hooks/useThrottle/useThrottle.js +44 -0
  348. package/dist/hooks/useThrottle/useThrottle.types.d.ts +8 -0
  349. package/dist/index.cjs +1 -1
  350. package/dist/index.js +275 -202
  351. package/dist/styles.css +1 -1
  352. package/package.json +15 -22
@@ -0,0 +1,68 @@
1
+ import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as f, useState as A } from "react";
3
+ import { cn as t } from "../../utils/cn.js";
4
+ import { Typography as K } from "../Typography/Typography.js";
5
+ const N = "Bear-CodeBlock bear-rounded-lg bear-overflow-hidden", S = "bear-bg-white bear-text-gray-900 bear-border bear-border-gray-200", v = "bear-bg-zinc-900 bear-text-gray-100", m = "bear-bg-white dark:bear-bg-zinc-900 bear-text-gray-900 dark:bear-text-gray-100 bear-border bear-border-gray-200 dark:bear-border-zinc-700", R = "Bear-CodeBlock__header bear-flex bear-items-center bear-justify-between bear-px-4 bear-py-2", z = "bear-bg-gray-50 bear-border-b bear-border-gray-200", T = "bear-bg-zinc-800 bear-border-b bear-border-zinc-700", w = "bear-bg-gray-50 dark:bear-bg-zinc-800 bear-border-b bear-border-gray-200 dark:bear-border-zinc-700", G = "Bear-CodeBlock__language bear-text-xs bear-px-2 bear-py-0.5 bear-rounded", U = "bear-bg-gray-200 bear-text-gray-600", I = "bear-bg-zinc-700 bear-text-zinc-400", H = "bear-bg-gray-200 dark:bear-bg-zinc-700 bear-text-gray-600 dark:bear-text-zinc-400", M = "Bear-CodeBlock__copy bear-p-1.5 bear-rounded bear-transition-colors", P = "hover:bear-bg-gray-200 bear-text-gray-500 hover:bear-text-gray-700", Y = "hover:bear-bg-zinc-700 bear-text-zinc-400 hover:bear-text-zinc-200", j = "hover:bear-bg-gray-200 dark:hover:bear-bg-zinc-700 bear-text-gray-500 dark:bear-text-zinc-400 hover:bear-text-gray-700 dark:hover:bear-text-zinc-200", W = "Bear-CodeBlock__pre bear-overflow-x-auto bear-p-4 bear-m-0", V = "Bear-CodeBlock__code bear-text-sm bear-font-mono", $ = "Bear-CodeBlock__line bear-flex", q = "Bear-CodeBlock__line-number bear-select-none bear-w-8 bear-flex-shrink-0 bear-text-right bear-pr-4", F = "bear-text-gray-400", J = "bear-text-zinc-600", Q = "bear-text-gray-400 dark:bear-text-zinc-600", X = f(({
6
+ code: c,
7
+ language: i = "typescript",
8
+ showLineNumbers: l = !0,
9
+ title: n,
10
+ copyable: s = !0,
11
+ maxHeight: o,
12
+ theme: r = "auto",
13
+ className: _ = "",
14
+ testId: O,
15
+ id: g,
16
+ ...E
17
+ }, B) => {
18
+ const [b, d] = A(!1), L = async () => {
19
+ await navigator.clipboard.writeText(c), d(!0), setTimeout(() => d(!1), 2e3);
20
+ }, p = c.split(`
21
+ `), x = () => r === "light" ? S : r === "dark" ? v : m, y = () => r === "light" ? z : r === "dark" ? T : w, h = () => r === "light" ? U : r === "dark" ? I : H, u = () => r === "light" ? P : r === "dark" ? Y : j, k = () => r === "light" ? F : r === "dark" ? J : Q;
22
+ return /* @__PURE__ */ a(
23
+ "div",
24
+ {
25
+ id: g,
26
+ "data-testid": O,
27
+ className: t(N, x(), _),
28
+ children: [
29
+ (n || s) && /* @__PURE__ */ a("div", { className: t(R, y()), children: [
30
+ /* @__PURE__ */ a("div", { className: "bear-flex bear-items-center bear-gap-2", children: [
31
+ n && /* @__PURE__ */ e(K, { variant: "caption", className: "Bear-CodeBlock__title bear-font-medium", children: n }),
32
+ i && /* @__PURE__ */ e("span", { className: t(G, h()), children: i })
33
+ ] }),
34
+ s && /* @__PURE__ */ e(
35
+ "button",
36
+ {
37
+ onClick: L,
38
+ className: t(M, u()),
39
+ title: b ? "Copied!" : "Copy code",
40
+ "aria-label": b ? "Copied!" : "Copy code",
41
+ children: b ? /* @__PURE__ */ e("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": "true", children: /* @__PURE__ */ e("polyline", { points: "20 6 9 17 4 12" }) }) : /* @__PURE__ */ a("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": "true", children: [
42
+ /* @__PURE__ */ e("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2", ry: "2" }),
43
+ /* @__PURE__ */ e("path", { d: "M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1" })
44
+ ] })
45
+ }
46
+ )
47
+ ] }),
48
+ /* @__PURE__ */ e(
49
+ "pre",
50
+ {
51
+ ref: B,
52
+ className: W,
53
+ style: { maxHeight: o ? typeof o == "number" ? `${o}px` : o : void 0 },
54
+ ...E,
55
+ children: /* @__PURE__ */ e("code", { className: V, children: p.map((D, C) => /* @__PURE__ */ a("div", { className: $, children: [
56
+ l && /* @__PURE__ */ e("span", { className: t(q, k()), children: C + 1 }),
57
+ /* @__PURE__ */ e("span", { className: "Bear-CodeBlock__line-content bear-flex-1", children: D || " " })
58
+ ] }, C)) })
59
+ }
60
+ )
61
+ ]
62
+ }
63
+ );
64
+ });
65
+ X.displayName = "CodeBlock";
66
+ export {
67
+ X as CodeBlock
68
+ };
@@ -0,0 +1,21 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export interface CodeBlockProps extends HTMLAttributes<HTMLPreElement> {
3
+ /** Code content to display */
4
+ code: string;
5
+ /** Programming language for display label */
6
+ language?: string;
7
+ /** Show line numbers */
8
+ showLineNumbers?: boolean;
9
+ /** Title displayed in header */
10
+ title?: string;
11
+ /** Show copy button */
12
+ copyable?: boolean;
13
+ /** Maximum height with scroll */
14
+ maxHeight?: number | string;
15
+ /** Theme: 'auto' follows system, 'light' or 'dark' forces theme */
16
+ theme?: 'auto' | 'dark' | 'light';
17
+ /** Test ID for testing */
18
+ testId?: string;
19
+ /** Element ID */
20
+ id?: string;
21
+ }
@@ -0,0 +1,2 @@
1
+ export { CodeBlock } from './CodeBlock';
2
+ export type { CodeBlockProps } from './CodeBlock.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),a=require("../../utils/cn.cjs"),c={none:"0",xs:"0.5rem",sm:"1rem",md:"1.5rem",lg:"2rem",xl:"3rem"},b=({children:l,count:e="auto",gap:n="md",fill:r=!1,minWidth:o,className:s,style:m})=>{const t={columnCount:e==="auto"?"auto":e,columnGap:c[n],columnFill:r?"balance":"auto",...o&&{columnWidth:typeof o=="number"?`${o}px`:o},...m};return u.jsx("div",{className:a.cn("bear-w-full",s),style:t,children:l})},i=({children:l,span:e="avoid",className:n,style:r})=>u.jsx("div",{className:a.cn("bear-inline-block bear-w-full bear-mb-4",e==="avoid"&&"bear-break-inside-avoid",n),style:r,children:l});exports.Column=i;exports.Columns=b;
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ import { ColumnsProps, ColumnProps } from './Columns.types';
3
+ export declare const Columns: FC<ColumnsProps>;
4
+ export declare const Column: FC<ColumnProps>;
5
+ export default Columns;
@@ -0,0 +1,54 @@
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import { cn as n } from "../../utils/cn.js";
3
+ const c = {
4
+ none: "0",
5
+ xs: "0.5rem",
6
+ sm: "1rem",
7
+ md: "1.5rem",
8
+ lg: "2rem",
9
+ xl: "3rem"
10
+ }, d = ({
11
+ children: l,
12
+ count: o = "auto",
13
+ gap: a = "md",
14
+ fill: r = !1,
15
+ minWidth: e,
16
+ className: u,
17
+ style: s
18
+ }) => {
19
+ const t = {
20
+ columnCount: o === "auto" ? "auto" : o,
21
+ columnGap: c[a],
22
+ columnFill: r ? "balance" : "auto",
23
+ ...e && { columnWidth: typeof e == "number" ? `${e}px` : e },
24
+ ...s
25
+ };
26
+ return /* @__PURE__ */ m(
27
+ "div",
28
+ {
29
+ className: n("bear-w-full", u),
30
+ style: t,
31
+ children: l
32
+ }
33
+ );
34
+ }, f = ({
35
+ children: l,
36
+ span: o = "avoid",
37
+ className: a,
38
+ style: r
39
+ }) => /* @__PURE__ */ m(
40
+ "div",
41
+ {
42
+ className: n(
43
+ "bear-inline-block bear-w-full bear-mb-4",
44
+ o === "avoid" && "bear-break-inside-avoid",
45
+ a
46
+ ),
47
+ style: r,
48
+ children: l
49
+ }
50
+ );
51
+ export {
52
+ f as Column,
53
+ d as Columns
54
+ };
@@ -0,0 +1,17 @@
1
+ import { ReactNode, CSSProperties } from 'react';
2
+ export interface ColumnsProps {
3
+ children: ReactNode;
4
+ count?: 1 | 2 | 3 | 4 | 5 | 6 | 'auto';
5
+ gap?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
+ fill?: boolean;
7
+ minWidth?: string | number;
8
+ className?: string;
9
+ style?: CSSProperties;
10
+ }
11
+ export interface ColumnProps {
12
+ children: ReactNode;
13
+ span?: 'avoid' | 'auto';
14
+ className?: string;
15
+ style?: CSSProperties;
16
+ }
17
+ export type ColumnsCountType = 1 | 2 | 3 | 4 | 5 | 6 | 'auto';
@@ -0,0 +1,2 @@
1
+ export { Columns, Column } from './Columns';
2
+ export type { ColumnsProps, ColumnProps, ColumnsCountType } from './Columns.types';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),s=require("react"),re=require("../Calendar/Calendar.cjs"),d=require("../../utils/cn.cjs"),te=require("../../hooks/useBearStyles.cjs"),D=require("./DateTimePicker.utils.cjs"),ae=({value:n,onChange:b,minDate:M,maxDate:S,disabled:m=!1,placeholder:C="Select date and time",label:j,error:u,helperText:y,dateFormat:H="MM/DD/YYYY",timeFormat:l="12h",minuteStep:g=5,clearable:P=!0,className:T,style:q,bis:A,slots:V,weekdayLabels:O,firstDayOfWeek:B=0,size:E="md",variant:L="default"})=>{const[f,x]=s.useState(!1),[R,N]=s.useState(n??new Date),[o,c]=s.useState(()=>n??new Date),h=s.useRef(null),v=te.useBearStyles(A,q);s.useEffect(()=>{const e=t=>{h.current&&!h.current.contains(t.target)&&x(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),s.useEffect(()=>{c(n?new Date(n):new Date)},[n,f]);const Y=s.useCallback(e=>{c(t=>{const a=new Date(e);return a.setHours(t.getHours(),t.getMinutes(),0,0),a})},[]),_=s.useCallback(()=>{b==null||b(o),x(!1)},[o,b]),$=s.useCallback(()=>{b==null||b(null),x(!1)},[b]),I=s.useCallback(()=>{const e=new Date;c(e),N(e)},[]),W=s.useCallback(e=>N(e),[]),G=l==="12h"?Array.from({length:12},(e,t)=>t+1):Array.from({length:24},(e,t)=>t),p=Array.from({length:60/g},(e,t)=>t*g),w=o.getHours(),k=o.getMinutes(),J=l==="12h"?w%12||12:w,K=p.includes(k)?k:p[0]??0,z=w>=12?"PM":"AM",Q=e=>{const t=l==="12h"?z==="PM"?e===12?12:e+12:e===12?0:e:e;c(a=>{const i=new Date(a);return i.setHours(t,a.getMinutes(),0,0),i})},U=e=>{c(t=>{const a=new Date(t);return a.setMinutes(e,0,0),a})},X=e=>{c(t=>{const a=new Date(t),i=a.getHours();return e==="PM"&&i<12?a.setHours(i+12):e==="AM"&&i>=12&&a.setHours(i-12),a})},Z={sm:"bear-py-1.5 bear-px-3 bear-text-sm",md:"bear-py-2 bear-px-4",lg:"bear-py-2.5 bear-px-5 bear-text-lg"},F={default:"bear-bg-zinc-800 bear-border-zinc-600",filled:"bear-bg-zinc-700 bear-border-transparent",outline:"bear-bg-transparent bear-border-zinc-500"},ee=n?`${D.formatDate(n,H)} ${D.formatTime(n,l)}`:"";return r.jsxs("div",{ref:h,className:d.cn("bear-relative",T),style:Object.keys(v).length?v:void 0,children:[j&&r.jsx("label",{className:"bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5",children:j}),r.jsxs("button",{type:"button",onClick:()=>!m&&x(!f),disabled:m,className:d.cn("bear-w-full bear-flex bear-items-center bear-justify-between bear-rounded-lg bear-border bear-text-left bear-transition-colors",Z[E],F[L],u?"bear-border-red-500":"focus:bear-border-pink-500",m&&"bear-opacity-50 bear-cursor-not-allowed",n?"bear-text-white":"bear-text-zinc-500"),children:[r.jsx("span",{children:ee||C}),r.jsx("svg",{className:"bear-w-5 bear-h-5 bear-text-zinc-400 bear-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})})]}),u&&r.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-red-400",children:u}),y&&!u&&r.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-zinc-500",children:y}),f&&r.jsxs("div",{className:"bear-absolute bear-z-50 bear-mt-2 bear-left-0 bear-right-0 bear-bg-white bear-rounded-xl bear-shadow-xl bear-border bear-border-zinc-200 bear-overflow-hidden bear-w-full bear-max-w-sm",children:[r.jsx(re.Calendar,{inline:!0,viewDate:R,onViewChange:W,value:o,onSelect:Y,minDate:M,maxDate:S,slots:V,weekdayLabels:O,firstDayOfWeek:B,clearable:!1,showTodayButton:!1}),r.jsxs("div",{className:"bear-px-4 bear-pb-3 bear-pt-2 bear-border-t bear-border-zinc-200",children:[r.jsxs("div",{className:"bear-flex bear-gap-2 bear-mb-3",children:[r.jsxs("div",{className:"bear-flex-1",children:[r.jsx("div",{className:"bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center",children:"Hour"}),r.jsx("div",{className:"bear-h-24 bear-overflow-y-auto bear-space-y-0.5 bear-scrollbar-thin",children:G.map(e=>r.jsx("button",{type:"button",onClick:()=>Q(e),className:d.cn("bear-w-full bear-py-1 bear-rounded bear-text-sm bear-transition-colors",J===e?"bear-bg-bear-500 bear-text-white":"bear-text-zinc-700 hover:bear-bg-zinc-100"),children:e.toString().padStart(2,"0")},e))})]}),r.jsxs("div",{className:"bear-flex-1",children:[r.jsx("div",{className:"bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center",children:"Minute"}),r.jsx("div",{className:"bear-h-24 bear-overflow-y-auto bear-space-y-0.5 bear-scrollbar-thin",children:p.map(e=>r.jsx("button",{type:"button",onClick:()=>U(e),className:d.cn("bear-w-full bear-py-1 bear-rounded bear-text-sm bear-transition-colors",K===e?"bear-bg-bear-500 bear-text-white":"bear-text-zinc-700 hover:bear-bg-zinc-100"),children:e.toString().padStart(2,"0")},e))})]}),l==="12h"&&r.jsxs("div",{className:"bear-flex-1",children:[r.jsx("div",{className:"bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center",children:"Period"}),r.jsx("div",{className:"bear-space-y-0.5",children:["AM","PM"].map(e=>r.jsx("button",{type:"button",onClick:()=>X(e),className:d.cn("bear-w-full bear-py-2 bear-rounded bear-text-sm bear-transition-colors",z===e?"bear-bg-bear-500 bear-text-white":"bear-text-zinc-700 hover:bear-bg-zinc-100"),children:e},e))})]})]}),r.jsxs("div",{className:"bear-flex bear-gap-2 bear-justify-between",children:[P&&n?r.jsx("button",{type:"button",onClick:$,className:"bear-text-sm bear-text-zinc-500 hover:bear-text-zinc-700",children:"Clear"}):r.jsx("span",{}),r.jsxs("div",{className:"bear-flex bear-gap-2",children:[r.jsx("button",{type:"button",onClick:I,className:"bear-text-sm bear-text-bear-600 hover:bear-text-bear-700 bear-font-medium",children:"Today"}),r.jsx("button",{type:"button",onClick:_,className:"bear-text-sm bear-bg-bear-500 bear-text-white bear-px-3 bear-py-1 bear-rounded bear-font-medium hover:bear-bg-bear-600",children:"Confirm"})]})]})]})]})]})};exports.DateTimePicker=ae;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),s=require("react"),re=require("../Calendar/Calendar.cjs"),d=require("../../utils/cn.cjs"),te=require("../../hooks/useBearStyles.cjs"),D=require("./DateTimePicker.utils.cjs"),ae=({value:n,onChange:b,minDate:M,maxDate:S,disabled:m=!1,placeholder:C="Select date and time",label:y,error:u,helperText:j,dateFormat:H="MM/DD/YYYY",timeFormat:l="12h",minuteStep:g=5,clearable:P=!0,className:T,style:q,bis:A,slots:V,weekdayLabels:O,firstDayOfWeek:B=0,size:E="md",variant:L="default"})=>{const[f,x]=s.useState(!1),[R,k]=s.useState(n??new Date),[o,c]=s.useState(()=>n??new Date),h=s.useRef(null),N=te.useBearStyles(A,q);s.useEffect(()=>{const e=t=>{h.current&&!h.current.contains(t.target)&&x(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),s.useEffect(()=>{c(n?new Date(n):new Date)},[n,f]);const Y=s.useCallback(e=>{c(t=>{const a=new Date(e);return a.setHours(t.getHours(),t.getMinutes(),0,0),a})},[]),_=s.useCallback(()=>{b==null||b(o),x(!1)},[o,b]),$=s.useCallback(()=>{b==null||b(null),x(!1)},[b]),I=s.useCallback(()=>{const e=new Date;c(e),k(e)},[]),W=s.useCallback(e=>k(e),[]),G=l==="12h"?Array.from({length:12},(e,t)=>t+1):Array.from({length:24},(e,t)=>t),p=Array.from({length:60/g},(e,t)=>t*g),w=o.getHours(),v=o.getMinutes(),J=l==="12h"?w%12||12:w,K=p.includes(v)?v:p[0]??0,z=w>=12?"PM":"AM",Q=e=>{const t=l==="12h"?z==="PM"?e===12?12:e+12:e===12?0:e:e;c(a=>{const i=new Date(a);return i.setHours(t,a.getMinutes(),0,0),i})},U=e=>{c(t=>{const a=new Date(t);return a.setMinutes(e,0,0),a})},X=e=>{c(t=>{const a=new Date(t),i=a.getHours();return e==="PM"&&i<12?a.setHours(i+12):e==="AM"&&i>=12&&a.setHours(i-12),a})},Z={sm:"bear-py-1.5 bear-px-3 bear-text-sm",md:"bear-py-2 bear-px-4",lg:"bear-py-2.5 bear-px-5 bear-text-lg"},F={default:"bear-bg-zinc-800 bear-border-zinc-600",filled:"bear-bg-zinc-700 bear-border-transparent",outline:"bear-bg-transparent bear-border-zinc-500"},ee=n?`${D.formatDate(n,H)} ${D.formatTime(n,l)}`:"";return r.jsxs("div",{ref:h,className:d.cn("bear-relative",T),style:Object.keys(N).length?N:void 0,children:[y&&r.jsx("label",{className:"bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5",children:y}),r.jsxs("button",{type:"button",onClick:()=>!m&&x(!f),disabled:m,className:d.cn("bear-w-full bear-flex bear-items-center bear-justify-between bear-rounded-lg bear-border bear-text-left bear-transition-colors",Z[E],F[L],u?"bear-border-red-500":"focus:bear-border-pink-500",m&&"bear-opacity-50 bear-cursor-not-allowed",n?"bear-text-white":"bear-text-zinc-500"),children:[r.jsx("span",{children:ee||C}),r.jsx("svg",{className:"bear-w-5 bear-h-5 bear-text-zinc-400 bear-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})})]}),u&&r.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-red-400",children:u}),j&&!u&&r.jsx("p",{className:"bear-mt-1 bear-text-xs bear-text-zinc-500",children:j}),f&&r.jsxs("div",{className:"bear-absolute bear-z-50 bear-mt-2 bear-left-0 bear-right-0 bear-bg-white dark:bear-bg-gray-900 bear-rounded-xl bear-shadow-xl bear-border bear-border-zinc-200 dark:bear-border-zinc-700 bear-overflow-hidden bear-w-full bear-max-w-sm",children:[r.jsx(re.Calendar,{inline:!0,viewDate:R,onViewChange:W,value:o,onSelect:Y,minDate:M,maxDate:S,slots:V,weekdayLabels:O,firstDayOfWeek:B,clearable:!1,showTodayButton:!1}),r.jsxs("div",{className:"bear-px-4 bear-pb-3 bear-pt-2 bear-border-t bear-border-zinc-200",children:[r.jsxs("div",{className:"bear-flex bear-gap-2 bear-mb-3",children:[r.jsxs("div",{className:"bear-flex-1",children:[r.jsx("div",{className:"bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center",children:"Hour"}),r.jsx("div",{className:"bear-h-24 bear-overflow-y-auto bear-space-y-0.5 bear-scrollbar-thin",children:G.map(e=>r.jsx("button",{type:"button",onClick:()=>Q(e),className:d.cn("bear-w-full bear-py-1 bear-rounded bear-text-sm bear-transition-colors",J===e?"bear-bg-bear-500 bear-text-white":"bear-text-zinc-700 hover:bear-bg-zinc-100"),children:e.toString().padStart(2,"0")},e))})]}),r.jsxs("div",{className:"bear-flex-1",children:[r.jsx("div",{className:"bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center",children:"Minute"}),r.jsx("div",{className:"bear-h-24 bear-overflow-y-auto bear-space-y-0.5 bear-scrollbar-thin",children:p.map(e=>r.jsx("button",{type:"button",onClick:()=>U(e),className:d.cn("bear-w-full bear-py-1 bear-rounded bear-text-sm bear-transition-colors",K===e?"bear-bg-bear-500 bear-text-white":"bear-text-zinc-700 hover:bear-bg-zinc-100"),children:e.toString().padStart(2,"0")},e))})]}),l==="12h"&&r.jsxs("div",{className:"bear-flex-1",children:[r.jsx("div",{className:"bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center",children:"Period"}),r.jsx("div",{className:"bear-space-y-0.5",children:["AM","PM"].map(e=>r.jsx("button",{type:"button",onClick:()=>X(e),className:d.cn("bear-w-full bear-py-2 bear-rounded bear-text-sm bear-transition-colors",z===e?"bear-bg-bear-500 bear-text-white":"bear-text-zinc-700 hover:bear-bg-zinc-100"),children:e},e))})]})]}),r.jsxs("div",{className:"bear-flex bear-gap-2 bear-justify-between",children:[P&&n?r.jsx("button",{type:"button",onClick:$,className:"bear-text-sm bear-text-zinc-500 hover:bear-text-zinc-700",children:"Clear"}):r.jsx("span",{}),r.jsxs("div",{className:"bear-flex bear-gap-2",children:[r.jsx("button",{type:"button",onClick:I,className:"bear-text-sm bear-text-bear-600 hover:bear-text-bear-700 bear-font-medium",children:"Today"}),r.jsx("button",{type:"button",onClick:_,className:"bear-text-sm bear-bg-bear-500 bear-text-white bear-px-3 bear-py-1 bear-rounded bear-font-medium hover:bear-bg-bear-600",children:"Confirm"})]})]})]})]})]})};exports.DateTimePicker=ae;
@@ -1,22 +1,22 @@
1
- import { jsxs as b, jsx as r } from "react/jsx-runtime";
2
- import { useState as N, useRef as ae, useEffect as S, useCallback as d } from "react";
3
- import { Calendar as ne } from "../Calendar/Calendar.js";
1
+ import { jsxs as n, jsx as r } from "react/jsx-runtime";
2
+ import { useState as g, useRef as ae, useEffect as S, useCallback as d } from "react";
3
+ import { Calendar as be } from "../Calendar/Calendar.js";
4
4
  import { cn as u } from "../../utils/cn.js";
5
- import { useBearStyles as be } from "../../hooks/useBearStyles.js";
5
+ import { useBearStyles as ne } from "../../hooks/useBearStyles.js";
6
6
  import { formatDate as se, formatTime as oe } from "./DateTimePicker.utils.js";
7
7
  const xe = ({
8
- value: n,
8
+ value: b,
9
9
  onChange: s,
10
10
  minDate: C,
11
11
  maxDate: P,
12
12
  disabled: f = !1,
13
13
  placeholder: j = "Select date and time",
14
- label: g,
14
+ label: N,
15
15
  error: m,
16
- helperText: v,
16
+ helperText: z,
17
17
  dateFormat: A = "MM/DD/YYYY",
18
18
  timeFormat: i = "12h",
19
- minuteStep: z = 5,
19
+ minuteStep: v = 5,
20
20
  clearable: V = !0,
21
21
  className: L,
22
22
  style: O,
@@ -27,15 +27,15 @@ const xe = ({
27
27
  size: _ = "md",
28
28
  variant: R = "default"
29
29
  }) => {
30
- const [h, x] = N(!1), [$, k] = N(n ?? /* @__PURE__ */ new Date()), [l, o] = N(() => n ?? /* @__PURE__ */ new Date()), p = ae(null), M = be(T, O);
30
+ const [h, x] = g(!1), [$, k] = g(b ?? /* @__PURE__ */ new Date()), [l, o] = g(() => b ?? /* @__PURE__ */ new Date()), p = ae(null), M = ne(T, O);
31
31
  S(() => {
32
32
  const e = (t) => {
33
33
  p.current && !p.current.contains(t.target) && x(!1);
34
34
  };
35
35
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
36
36
  }, []), S(() => {
37
- o(n ? new Date(n) : /* @__PURE__ */ new Date());
38
- }, [n, h]);
37
+ o(b ? new Date(b) : /* @__PURE__ */ new Date());
38
+ }, [b, h]);
39
39
  const I = d((e) => {
40
40
  o((t) => {
41
41
  const a = new Date(e);
@@ -48,7 +48,7 @@ const xe = ({
48
48
  }, [s]), G = d(() => {
49
49
  const e = /* @__PURE__ */ new Date();
50
50
  o(e), k(e);
51
- }, []), J = d((e) => k(e), []), K = i === "12h" ? Array.from({ length: 12 }, (e, t) => t + 1) : Array.from({ length: 24 }, (e, t) => t), w = Array.from({ length: 60 / z }, (e, t) => t * z), y = l.getHours(), D = l.getMinutes(), Q = i === "12h" ? y % 12 || 12 : y, U = w.includes(D) ? D : w[0] ?? 0, H = y >= 12 ? "PM" : "AM", X = (e) => {
51
+ }, []), J = d((e) => k(e), []), K = i === "12h" ? Array.from({ length: 12 }, (e, t) => t + 1) : Array.from({ length: 24 }, (e, t) => t), w = Array.from({ length: 60 / v }, (e, t) => t * v), y = l.getHours(), D = l.getMinutes(), Q = i === "12h" ? y % 12 || 12 : y, U = w.includes(D) ? D : w[0] ?? 0, H = y >= 12 ? "PM" : "AM", X = (e) => {
52
52
  const t = i === "12h" ? H === "PM" ? e === 12 ? 12 : e + 12 : e === 12 ? 0 : e : e;
53
53
  o((a) => {
54
54
  const c = new Date(a);
@@ -68,10 +68,10 @@ const xe = ({
68
68
  default: "bear-bg-zinc-800 bear-border-zinc-600",
69
69
  filled: "bear-bg-zinc-700 bear-border-transparent",
70
70
  outline: "bear-bg-transparent bear-border-zinc-500"
71
- }, te = n ? `${se(n, A)} ${oe(n, i)}` : "";
72
- return /* @__PURE__ */ b("div", { ref: p, className: u("bear-relative", L), style: Object.keys(M).length ? M : void 0, children: [
73
- g && /* @__PURE__ */ r("label", { className: "bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5", children: g }),
74
- /* @__PURE__ */ b(
71
+ }, te = b ? `${se(b, A)} ${oe(b, i)}` : "";
72
+ return /* @__PURE__ */ n("div", { ref: p, className: u("bear-relative", L), style: Object.keys(M).length ? M : void 0, children: [
73
+ N && /* @__PURE__ */ r("label", { className: "bear-block bear-text-sm bear-font-medium bear-text-zinc-300 bear-mb-1.5", children: N }),
74
+ /* @__PURE__ */ n(
75
75
  "button",
76
76
  {
77
77
  type: "button",
@@ -83,7 +83,7 @@ const xe = ({
83
83
  re[R],
84
84
  m ? "bear-border-red-500" : "focus:bear-border-pink-500",
85
85
  f && "bear-opacity-50 bear-cursor-not-allowed",
86
- n ? "bear-text-white" : "bear-text-zinc-500"
86
+ b ? "bear-text-white" : "bear-text-zinc-500"
87
87
  ),
88
88
  children: [
89
89
  /* @__PURE__ */ r("span", { children: te || j }),
@@ -92,10 +92,10 @@ const xe = ({
92
92
  }
93
93
  ),
94
94
  m && /* @__PURE__ */ r("p", { className: "bear-mt-1 bear-text-xs bear-text-red-400", children: m }),
95
- v && !m && /* @__PURE__ */ r("p", { className: "bear-mt-1 bear-text-xs bear-text-zinc-500", children: v }),
96
- h && /* @__PURE__ */ b("div", { className: "bear-absolute bear-z-50 bear-mt-2 bear-left-0 bear-right-0 bear-bg-white bear-rounded-xl bear-shadow-xl bear-border bear-border-zinc-200 bear-overflow-hidden bear-w-full bear-max-w-sm", children: [
95
+ z && !m && /* @__PURE__ */ r("p", { className: "bear-mt-1 bear-text-xs bear-text-zinc-500", children: z }),
96
+ h && /* @__PURE__ */ n("div", { className: "bear-absolute bear-z-50 bear-mt-2 bear-left-0 bear-right-0 bear-bg-white dark:bear-bg-gray-900 bear-rounded-xl bear-shadow-xl bear-border bear-border-zinc-200 dark:bear-border-zinc-700 bear-overflow-hidden bear-w-full bear-max-w-sm", children: [
97
97
  /* @__PURE__ */ r(
98
- ne,
98
+ be,
99
99
  {
100
100
  inline: !0,
101
101
  viewDate: $,
@@ -111,9 +111,9 @@ const xe = ({
111
111
  showTodayButton: !1
112
112
  }
113
113
  ),
114
- /* @__PURE__ */ b("div", { className: "bear-px-4 bear-pb-3 bear-pt-2 bear-border-t bear-border-zinc-200", children: [
115
- /* @__PURE__ */ b("div", { className: "bear-flex bear-gap-2 bear-mb-3", children: [
116
- /* @__PURE__ */ b("div", { className: "bear-flex-1", children: [
114
+ /* @__PURE__ */ n("div", { className: "bear-px-4 bear-pb-3 bear-pt-2 bear-border-t bear-border-zinc-200", children: [
115
+ /* @__PURE__ */ n("div", { className: "bear-flex bear-gap-2 bear-mb-3", children: [
116
+ /* @__PURE__ */ n("div", { className: "bear-flex-1", children: [
117
117
  /* @__PURE__ */ r("div", { className: "bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center", children: "Hour" }),
118
118
  /* @__PURE__ */ r("div", { className: "bear-h-24 bear-overflow-y-auto bear-space-y-0.5 bear-scrollbar-thin", children: K.map((e) => /* @__PURE__ */ r(
119
119
  "button",
@@ -129,7 +129,7 @@ const xe = ({
129
129
  e
130
130
  )) })
131
131
  ] }),
132
- /* @__PURE__ */ b("div", { className: "bear-flex-1", children: [
132
+ /* @__PURE__ */ n("div", { className: "bear-flex-1", children: [
133
133
  /* @__PURE__ */ r("div", { className: "bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center", children: "Minute" }),
134
134
  /* @__PURE__ */ r("div", { className: "bear-h-24 bear-overflow-y-auto bear-space-y-0.5 bear-scrollbar-thin", children: w.map((e) => /* @__PURE__ */ r(
135
135
  "button",
@@ -145,7 +145,7 @@ const xe = ({
145
145
  e
146
146
  )) })
147
147
  ] }),
148
- i === "12h" && /* @__PURE__ */ b("div", { className: "bear-flex-1", children: [
148
+ i === "12h" && /* @__PURE__ */ n("div", { className: "bear-flex-1", children: [
149
149
  /* @__PURE__ */ r("div", { className: "bear-text-xs bear-text-zinc-500 bear-mb-1 bear-text-center", children: "Period" }),
150
150
  /* @__PURE__ */ r("div", { className: "bear-space-y-0.5", children: ["AM", "PM"].map((e) => /* @__PURE__ */ r(
151
151
  "button",
@@ -162,9 +162,9 @@ const xe = ({
162
162
  )) })
163
163
  ] })
164
164
  ] }),
165
- /* @__PURE__ */ b("div", { className: "bear-flex bear-gap-2 bear-justify-between", children: [
166
- V && n ? /* @__PURE__ */ r("button", { type: "button", onClick: q, className: "bear-text-sm bear-text-zinc-500 hover:bear-text-zinc-700", children: "Clear" }) : /* @__PURE__ */ r("span", {}),
167
- /* @__PURE__ */ b("div", { className: "bear-flex bear-gap-2", children: [
165
+ /* @__PURE__ */ n("div", { className: "bear-flex bear-gap-2 bear-justify-between", children: [
166
+ V && b ? /* @__PURE__ */ r("button", { type: "button", onClick: q, className: "bear-text-sm bear-text-zinc-500 hover:bear-text-zinc-700", children: "Clear" }) : /* @__PURE__ */ r("span", {}),
167
+ /* @__PURE__ */ n("div", { className: "bear-flex bear-gap-2", children: [
168
168
  /* @__PURE__ */ r("button", { type: "button", onClick: G, className: "bear-text-sm bear-text-bear-600 hover:bear-text-bear-700 bear-font-medium", children: "Today" }),
169
169
  /* @__PURE__ */ r("button", { type: "button", onClick: W, className: "bear-text-sm bear-bg-bear-500 bear-text-white bear-px-3 bear-py-1 bear-rounded bear-font-medium hover:bear-bg-bear-600", children: "Confirm" })
170
170
  ] })
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),e=require("react"),y=require("../Button/Button.cjs"),k=require("../Icon/index.cjs"),w=e.createContext(null),d=()=>{const t=e.useContext(w);if(!t)throw new Error("Editable components must be used within Editable.Root");return t},j=e.forwardRef(({children:t,defaultValue:s="",value:a,onChange:i,onEditSubmit:r,onCancel:b,placeholder:u="Click to edit...",isDisabled:l=!1,startWithEditView:p=!1,className:c="",...f},m)=>{const[o,x]=e.useState(p),[I,T]=e.useState(s),[E,_]=e.useState(s),g=a!==void 0?a:I,v=e.useCallback(h=>{a===void 0&&T(h),i==null||i(h)},[a,i]),P=e.useCallback(()=>{l||(_(g),x(!0))},[l,g]),q=e.useCallback(()=>{x(!1)},[]),D=e.useCallback(()=>{r==null||r(g),x(!1)},[g,r]),K=e.useCallback(()=>{v(E),b==null||b(),x(!1)},[E,v,b]);return n.jsx(w.Provider,{value:{isEditing:o,value:g,startEditing:P,stopEditing:q,setValue:v,submit:D,cancel:K},children:n.jsx("div",{ref:m,className:`Bear-Editable bear-inline-block ${c}`.trim(),...f,children:t})})});j.displayName="Editable.Root";const N=e.forwardRef(({children:t,className:s="",...a},i)=>{const{isEditing:r,value:b,startEditing:u}=d();return r?null:n.jsx("span",{ref:i,className:`Bear-Editable__preview bear-cursor-pointer bear-px-2 bear-py-1 bear-rounded bear-transition-all bear-border bear-border-transparent hover:bear-border-gray-300 dark:hover:bear-border-zinc-600 hover:bear-bg-gray-50 dark:hover:bear-bg-zinc-800 bear-text-gray-900 dark:bear-text-white ${s}`.trim(),onClick:u,...a,children:t||b||n.jsx("span",{className:"bear-text-gray-400 dark:bear-text-zinc-500 bear-italic",children:"Click to edit..."})})});N.displayName="Editable.Preview";const C=e.forwardRef(({asTextarea:t=!1,className:s="",...a},i)=>{const{isEditing:r,value:b,setValue:u,submit:l,cancel:p}=d(),c=e.useRef(null);e.useEffect(()=>{r&&c.current&&(c.current.focus(),c.current.select())},[r]);const f=o=>{o.key==="Enter"&&!t&&(o.preventDefault(),l()),o.key==="Escape"&&p()};if(!r)return null;const m="Bear-Editable__input bear-w-full bear-px-2 bear-py-1 bear-border bear-border-gray-300 dark:bear-border-zinc-600 bear-rounded bear-bg-white dark:bear-bg-zinc-800 bear-text-gray-900 dark:bear-text-white focus:bear-outline-none focus:bear-ring-2 focus:bear-ring-pink-500";return t?n.jsx("textarea",{ref:i,value:b,onChange:o=>u(o.target.value),onKeyDown:f,onBlur:l,className:`${m} bear-min-h-[80px] bear-resize-y ${s}`.trim(),...a}):n.jsx("input",{ref:c,type:"text",value:b,onChange:o=>u(o.target.value),onKeyDown:f,onBlur:l,className:`${m} ${s}`.trim(),...a})});C.displayName="Editable.Input";const R=e.forwardRef(({children:t,className:s="",...a},i)=>{const{isEditing:r}=d();return r?n.jsx("div",{ref:i,className:`Bear-Editable__control bear-flex bear-items-center bear-gap-1 bear-mt-1 ${s}`.trim(),...a,children:t}):null});R.displayName="Editable.Control";const z=e.forwardRef(({children:t,className:s="",...a},i)=>{const{submit:r}=d();return n.jsx(y.Button,{ref:i,type:"button",onClick:r,variant:"ghost",size:"sm",className:`bear-editable-submit bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-100 dark:hover:bear-bg-green-900/30 bear-p-1 bear-min-w-0 ${s}`.trim(),...a,children:t||n.jsx(k.CheckIcon,{size:16})})});z.displayName="Editable.SubmitTrigger";const B=e.forwardRef(({children:t,className:s="",...a},i)=>{const{cancel:r}=d();return n.jsx(y.Button,{ref:i,type:"button",onClick:r,variant:"ghost",size:"sm",className:`bear-editable-cancel bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-100 dark:hover:bear-bg-red-900/30 bear-p-1 bear-min-w-0 ${s}`.trim(),...a,children:t||n.jsx(k.CloseIcon,{size:16})})});B.displayName="Editable.CancelTrigger";const $=e.forwardRef(({children:t,className:s="",...a},i)=>{const{isEditing:r,startEditing:b}=d();return r?null:n.jsx(y.Button,{ref:i,type:"button",onClick:b,variant:"ghost",size:"sm",className:`bear-editable-edit bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 bear-p-1 bear-min-w-0 ${s}`.trim(),...a,children:t||n.jsx(k.EditIcon,{size:16})})});$.displayName="Editable.EditTrigger";const S={Root:j,Preview:N,Input:C,Control:R,SubmitTrigger:z,CancelTrigger:B,EditTrigger:$};exports.Editable=S;
@@ -0,0 +1,10 @@
1
+ import { EditableRootProps, EditablePreviewProps, EditableInputProps, EditableControlProps, EditableSubmitTriggerProps, EditableCancelTriggerProps, EditableEditTriggerProps } from './Editable.types';
2
+ export declare const Editable: {
3
+ Root: import('react').ForwardRefExoticComponent<EditableRootProps & import('react').RefAttributes<HTMLDivElement>>;
4
+ Preview: import('react').ForwardRefExoticComponent<EditablePreviewProps & import('react').RefAttributes<HTMLSpanElement>>;
5
+ Input: import('react').ForwardRefExoticComponent<EditableInputProps & import('react').RefAttributes<HTMLInputElement>>;
6
+ Control: import('react').ForwardRefExoticComponent<EditableControlProps & import('react').RefAttributes<HTMLDivElement>>;
7
+ SubmitTrigger: import('react').ForwardRefExoticComponent<EditableSubmitTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
8
+ CancelTrigger: import('react').ForwardRefExoticComponent<EditableCancelTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
9
+ EditTrigger: import('react').ForwardRefExoticComponent<EditableEditTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
10
+ };
@@ -0,0 +1,194 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { createContext as A, forwardRef as o, useState as h, useCallback as m, useRef as F, useEffect as G, useContext as H } from "react";
3
+ import { Button as k } from "../Button/Button.js";
4
+ import { CheckIcon as J, CloseIcon as L, EditIcon as M } from "../Icon/index.js";
5
+ const N = A(null), d = () => {
6
+ const r = H(N);
7
+ if (!r)
8
+ throw new Error("Editable components must be used within Editable.Root");
9
+ return r;
10
+ }, z = o(({
11
+ children: r,
12
+ defaultValue: i = "",
13
+ value: t,
14
+ onChange: a,
15
+ onEditSubmit: e,
16
+ onCancel: s,
17
+ placeholder: u = "Click to edit...",
18
+ isDisabled: l = !1,
19
+ startWithEditView: y = !1,
20
+ className: c = "",
21
+ ...p
22
+ }, f) => {
23
+ const [b, v] = h(y), [T, P] = h(i), [x, D] = h(i), g = t !== void 0 ? t : T, E = m((w) => {
24
+ t === void 0 && P(w), a == null || a(w);
25
+ }, [t, a]), K = m(() => {
26
+ l || (D(g), v(!0));
27
+ }, [l, g]), j = m(() => {
28
+ v(!1);
29
+ }, []), V = m(() => {
30
+ e == null || e(g), v(!1);
31
+ }, [g, e]), q = m(() => {
32
+ E(x), s == null || s(), v(!1);
33
+ }, [x, E, s]);
34
+ return /* @__PURE__ */ n(N.Provider, { value: { isEditing: b, value: g, startEditing: K, stopEditing: j, setValue: E, submit: V, cancel: q }, children: /* @__PURE__ */ n(
35
+ "div",
36
+ {
37
+ ref: f,
38
+ className: `Bear-Editable bear-inline-block ${c}`.trim(),
39
+ ...p,
40
+ children: r
41
+ }
42
+ ) });
43
+ });
44
+ z.displayName = "Editable.Root";
45
+ const C = o(({
46
+ children: r,
47
+ className: i = "",
48
+ ...t
49
+ }, a) => {
50
+ const { isEditing: e, value: s, startEditing: u } = d();
51
+ return e ? null : /* @__PURE__ */ n(
52
+ "span",
53
+ {
54
+ ref: a,
55
+ className: `Bear-Editable__preview bear-cursor-pointer bear-px-2 bear-py-1 bear-rounded bear-transition-all bear-border bear-border-transparent hover:bear-border-gray-300 dark:hover:bear-border-zinc-600 hover:bear-bg-gray-50 dark:hover:bear-bg-zinc-800 bear-text-gray-900 dark:bear-text-white ${i}`.trim(),
56
+ onClick: u,
57
+ ...t,
58
+ children: r || s || /* @__PURE__ */ n("span", { className: "bear-text-gray-400 dark:bear-text-zinc-500 bear-italic", children: "Click to edit..." })
59
+ }
60
+ );
61
+ });
62
+ C.displayName = "Editable.Preview";
63
+ const $ = o(({
64
+ asTextarea: r = !1,
65
+ className: i = "",
66
+ ...t
67
+ }, a) => {
68
+ const { isEditing: e, value: s, setValue: u, submit: l, cancel: y } = d(), c = F(null);
69
+ G(() => {
70
+ e && c.current && (c.current.focus(), c.current.select());
71
+ }, [e]);
72
+ const p = (b) => {
73
+ b.key === "Enter" && !r && (b.preventDefault(), l()), b.key === "Escape" && y();
74
+ };
75
+ if (!e) return null;
76
+ const f = "Bear-Editable__input bear-w-full bear-px-2 bear-py-1 bear-border bear-border-gray-300 dark:bear-border-zinc-600 bear-rounded bear-bg-white dark:bear-bg-zinc-800 bear-text-gray-900 dark:bear-text-white focus:bear-outline-none focus:bear-ring-2 focus:bear-ring-pink-500";
77
+ return r ? /* @__PURE__ */ n(
78
+ "textarea",
79
+ {
80
+ ref: a,
81
+ value: s,
82
+ onChange: (b) => u(b.target.value),
83
+ onKeyDown: p,
84
+ onBlur: l,
85
+ className: `${f} bear-min-h-[80px] bear-resize-y ${i}`.trim(),
86
+ ...t
87
+ }
88
+ ) : /* @__PURE__ */ n(
89
+ "input",
90
+ {
91
+ ref: c,
92
+ type: "text",
93
+ value: s,
94
+ onChange: (b) => u(b.target.value),
95
+ onKeyDown: p,
96
+ onBlur: l,
97
+ className: `${f} ${i}`.trim(),
98
+ ...t
99
+ }
100
+ );
101
+ });
102
+ $.displayName = "Editable.Input";
103
+ const B = o(({
104
+ children: r,
105
+ className: i = "",
106
+ ...t
107
+ }, a) => {
108
+ const { isEditing: e } = d();
109
+ return e ? /* @__PURE__ */ n(
110
+ "div",
111
+ {
112
+ ref: a,
113
+ className: `Bear-Editable__control bear-flex bear-items-center bear-gap-1 bear-mt-1 ${i}`.trim(),
114
+ ...t,
115
+ children: r
116
+ }
117
+ ) : null;
118
+ });
119
+ B.displayName = "Editable.Control";
120
+ const I = o(({
121
+ children: r,
122
+ className: i = "",
123
+ ...t
124
+ }, a) => {
125
+ const { submit: e } = d();
126
+ return /* @__PURE__ */ n(
127
+ k,
128
+ {
129
+ ref: a,
130
+ type: "button",
131
+ onClick: e,
132
+ variant: "ghost",
133
+ size: "sm",
134
+ className: `bear-editable-submit bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-100 dark:hover:bear-bg-green-900/30 bear-p-1 bear-min-w-0 ${i}`.trim(),
135
+ ...t,
136
+ children: r || /* @__PURE__ */ n(J, { size: 16 })
137
+ }
138
+ );
139
+ });
140
+ I.displayName = "Editable.SubmitTrigger";
141
+ const R = o(({
142
+ children: r,
143
+ className: i = "",
144
+ ...t
145
+ }, a) => {
146
+ const { cancel: e } = d();
147
+ return /* @__PURE__ */ n(
148
+ k,
149
+ {
150
+ ref: a,
151
+ type: "button",
152
+ onClick: e,
153
+ variant: "ghost",
154
+ size: "sm",
155
+ className: `bear-editable-cancel bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-100 dark:hover:bear-bg-red-900/30 bear-p-1 bear-min-w-0 ${i}`.trim(),
156
+ ...t,
157
+ children: r || /* @__PURE__ */ n(L, { size: 16 })
158
+ }
159
+ );
160
+ });
161
+ R.displayName = "Editable.CancelTrigger";
162
+ const _ = o(({
163
+ children: r,
164
+ className: i = "",
165
+ ...t
166
+ }, a) => {
167
+ const { isEditing: e, startEditing: s } = d();
168
+ return e ? null : /* @__PURE__ */ n(
169
+ k,
170
+ {
171
+ ref: a,
172
+ type: "button",
173
+ onClick: s,
174
+ variant: "ghost",
175
+ size: "sm",
176
+ className: `bear-editable-edit bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 bear-p-1 bear-min-w-0 ${i}`.trim(),
177
+ ...t,
178
+ children: r || /* @__PURE__ */ n(M, { size: 16 })
179
+ }
180
+ );
181
+ });
182
+ _.displayName = "Editable.EditTrigger";
183
+ const X = {
184
+ Root: z,
185
+ Preview: C,
186
+ Input: $,
187
+ Control: B,
188
+ SubmitTrigger: I,
189
+ CancelTrigger: R,
190
+ EditTrigger: _
191
+ };
192
+ export {
193
+ X as Editable
194
+ };
@@ -0,0 +1,39 @@
1
+ import { HTMLAttributes, ReactNode, InputHTMLAttributes } from 'react';
2
+ export interface EditableContextValue {
3
+ isEditing: boolean;
4
+ value: string;
5
+ startEditing: () => void;
6
+ stopEditing: () => void;
7
+ setValue: (value: string) => void;
8
+ submit: () => void;
9
+ cancel: () => void;
10
+ }
11
+ export interface EditableRootProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'onSubmit'> {
12
+ children?: ReactNode;
13
+ defaultValue?: string;
14
+ value?: string;
15
+ onChange?: (value: string) => void;
16
+ onEditSubmit?: (value: string) => void;
17
+ onCancel?: () => void;
18
+ placeholder?: string;
19
+ isDisabled?: boolean;
20
+ startWithEditView?: boolean;
21
+ }
22
+ export interface EditablePreviewProps extends HTMLAttributes<HTMLSpanElement> {
23
+ children?: ReactNode;
24
+ }
25
+ export interface EditableInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value'> {
26
+ asTextarea?: boolean;
27
+ }
28
+ export interface EditableControlProps extends HTMLAttributes<HTMLDivElement> {
29
+ children?: ReactNode;
30
+ }
31
+ export interface EditableSubmitTriggerProps extends HTMLAttributes<HTMLButtonElement> {
32
+ children?: ReactNode;
33
+ }
34
+ export interface EditableCancelTriggerProps extends HTMLAttributes<HTMLButtonElement> {
35
+ children?: ReactNode;
36
+ }
37
+ export interface EditableEditTriggerProps extends HTMLAttributes<HTMLButtonElement> {
38
+ children?: ReactNode;
39
+ }
@@ -0,0 +1,2 @@
1
+ export { Editable } from './Editable';
2
+ export type { EditableRootProps, EditablePreviewProps, EditableInputProps, EditableControlProps, EditableSubmitTriggerProps, EditableCancelTriggerProps, EditableEditTriggerProps, } from './Editable.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),n=require("react"),o={default:"italic text-inherit",strong:"italic font-semibold text-gray-900 dark:text-white",subtle:"italic text-gray-500 dark:text-gray-400"},t=n.forwardRef(({children:e,variant:a="default",className:r="",...i},s)=>l.jsx("em",{ref:s,className:`bear-em ${o[a]} ${r}`.trim(),...i,children:e}));t.displayName="Em";exports.Em=t;
@@ -0,0 +1,2 @@
1
+ import { EmProps } from './Em.types';
2
+ export declare const Em: import('react').ForwardRefExoticComponent<EmProps & import('react').RefAttributes<HTMLElement>>;