@forgedevstack/bear 1.3.1 → 1.3.2

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 (269) hide show
  1. package/README.md +26 -0
  2. package/dist/components/Accordion/components/AccordionItem/AccordionItem.cjs +1 -1
  3. package/dist/components/Accordion/components/AccordionItem/AccordionItem.js +1 -1
  4. package/dist/components/Alert/Alert.cjs +1 -1
  5. package/dist/components/Alert/Alert.js +1 -1
  6. package/dist/components/Avatar/Avatar.cjs +1 -1
  7. package/dist/components/Avatar/Avatar.js +1 -1
  8. package/dist/components/BackTop/BackTop.cjs +1 -1
  9. package/dist/components/BackTop/BackTop.js +1 -1
  10. package/dist/components/Banner/Banner.const.cjs +1 -1
  11. package/dist/components/Banner/Banner.const.js +1 -1
  12. package/dist/components/Blockquote/Blockquote.cjs +1 -1
  13. package/dist/components/Blockquote/Blockquote.js +1 -1
  14. package/dist/components/BottomSheet/BottomSheet.cjs +1 -1
  15. package/dist/components/BottomSheet/BottomSheet.js +1 -1
  16. package/dist/components/Breadcrumbs/Breadcrumbs.cjs +1 -1
  17. package/dist/components/Breadcrumbs/Breadcrumbs.js +1 -1
  18. package/dist/components/Calendar/Calendar.cjs +1 -1
  19. package/dist/components/Calendar/Calendar.js +1 -1
  20. package/dist/components/Chart/BarChart.cjs +1 -1
  21. package/dist/components/Chart/BarChart.d.ts +1 -2
  22. package/dist/components/Chart/BarChart.js +81 -61
  23. package/dist/components/Chart/Chart.cjs +1 -1
  24. package/dist/components/Chart/Chart.const.cjs +1 -1
  25. package/dist/components/Chart/Chart.const.d.ts +24 -3
  26. package/dist/components/Chart/Chart.const.js +39 -16
  27. package/dist/components/Chart/Chart.d.ts +1 -5
  28. package/dist/components/Chart/Chart.js +19 -23
  29. package/dist/components/Chart/Chart.types.d.ts +11 -19
  30. package/dist/components/Chart/Chart.utils.cjs +1 -1
  31. package/dist/components/Chart/Chart.utils.d.ts +8 -18
  32. package/dist/components/Chart/Chart.utils.js +39 -3
  33. package/dist/components/Chart/FunnelChart.cjs +1 -0
  34. package/dist/components/Chart/FunnelChart.d.ts +2 -0
  35. package/dist/components/Chart/FunnelChart.js +59 -0
  36. package/dist/components/Chart/LineChart.cjs +1 -1
  37. package/dist/components/Chart/LineChart.d.ts +1 -2
  38. package/dist/components/Chart/LineChart.js +51 -55
  39. package/dist/components/Chart/PieChart.cjs +1 -1
  40. package/dist/components/Chart/PieChart.d.ts +1 -2
  41. package/dist/components/Chart/PieChart.js +121 -106
  42. package/dist/components/Chart/PieChart.types.d.ts +8 -0
  43. package/dist/components/Chart/RadarChart.cjs +1 -0
  44. package/dist/components/Chart/RadarChart.d.ts +2 -0
  45. package/dist/components/Chart/RadarChart.js +100 -0
  46. package/dist/components/Chart/index.d.ts +3 -1
  47. package/dist/components/Chat/Chat.cjs +1 -1
  48. package/dist/components/Chat/Chat.js +1 -1
  49. package/dist/components/CurrencyInput/CurrencyInput.cjs +1 -1
  50. package/dist/components/CurrencyInput/CurrencyInput.js +1 -1
  51. package/dist/components/DatePicker/DatePicker.cjs +1 -1
  52. package/dist/components/DatePicker/DatePicker.js +1 -1
  53. package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -1
  54. package/dist/components/DateRangePicker/DateRangePicker.js +1 -1
  55. package/dist/components/Drawer/Drawer.cjs +1 -1
  56. package/dist/components/Drawer/Drawer.const.cjs +1 -1
  57. package/dist/components/Drawer/Drawer.const.d.ts +2 -11
  58. package/dist/components/Drawer/Drawer.const.js +6 -55
  59. package/dist/components/Drawer/Drawer.d.ts +1 -2
  60. package/dist/components/Drawer/Drawer.js +87 -131
  61. package/dist/components/Drawer/Drawer.types.d.ts +16 -3
  62. package/dist/components/Drawer/Drawer.utils.d.ts +0 -4
  63. package/dist/components/Drawer/components/DrawerHeader/DrawerHeader.cjs +1 -0
  64. package/dist/components/Drawer/components/DrawerHeader/DrawerHeader.d.ts +2 -0
  65. package/dist/components/Drawer/components/DrawerHeader/DrawerHeader.js +26 -0
  66. package/dist/components/Drawer/components/DrawerHeader/DrawerHeader.types.d.ts +20 -0
  67. package/dist/components/Drawer/components/DrawerHeader/DrawerHeaderClose.cjs +1 -0
  68. package/dist/components/Drawer/components/DrawerHeader/DrawerHeaderClose.d.ts +2 -0
  69. package/dist/components/Drawer/components/DrawerHeader/DrawerHeaderClose.js +17 -0
  70. package/dist/components/Drawer/components/DrawerHeader/DrawerHeaderTitle.cjs +1 -0
  71. package/dist/components/Drawer/components/DrawerHeader/DrawerHeaderTitle.d.ts +2 -0
  72. package/dist/components/Drawer/components/DrawerHeader/DrawerHeaderTitle.js +9 -0
  73. package/dist/components/Drawer/components/DrawerHeader/index.d.ts +2 -0
  74. package/dist/components/Drawer/components/index.d.ts +1 -0
  75. package/dist/components/Drawer/helpers/DrawerOptionalHeader.cjs +1 -0
  76. package/dist/components/Drawer/helpers/DrawerOptionalHeader.d.ts +2 -0
  77. package/dist/components/Drawer/helpers/DrawerOptionalHeader.js +9 -0
  78. package/dist/components/Drawer/helpers/index.d.ts +1 -0
  79. package/dist/components/Drawer/hooks/index.d.ts +1 -0
  80. package/dist/components/Drawer/hooks/useDrawer.cjs +1 -0
  81. package/dist/components/Drawer/hooks/useDrawer.d.ts +2 -0
  82. package/dist/components/Drawer/hooks/useDrawer.js +51 -0
  83. package/dist/components/Editable/Editable.cjs +1 -1
  84. package/dist/components/Editable/Editable.js +1 -1
  85. package/dist/components/FileTree/FileTree.cjs +1 -1
  86. package/dist/components/FileTree/FileTree.js +1 -1
  87. package/dist/components/FloatingChat/FloatingChat.cjs +1 -1
  88. package/dist/components/FloatingChat/FloatingChat.js +1 -1
  89. package/dist/components/Gauge/Gauge.cjs +1 -1
  90. package/dist/components/Gauge/Gauge.const.cjs +1 -1
  91. package/dist/components/Gauge/Gauge.const.d.ts +5 -0
  92. package/dist/components/Gauge/Gauge.const.js +11 -6
  93. package/dist/components/Gauge/Gauge.d.ts +1 -2
  94. package/dist/components/Gauge/Gauge.js +69 -45
  95. package/dist/components/Gauge/Gauge.types.d.ts +11 -2
  96. package/dist/components/Gauge/helpers/GaugeLinearBar.cjs +1 -0
  97. package/dist/components/Gauge/helpers/GaugeLinearBar.d.ts +2 -0
  98. package/dist/components/Gauge/helpers/GaugeLinearBar.js +40 -0
  99. package/dist/components/Heatmap/Heatmap.cjs +1 -1
  100. package/dist/components/Heatmap/Heatmap.const.cjs +1 -1
  101. package/dist/components/Heatmap/Heatmap.const.d.ts +2 -0
  102. package/dist/components/Heatmap/Heatmap.const.js +8 -6
  103. package/dist/components/Heatmap/Heatmap.js +51 -47
  104. package/dist/components/Heatmap/Heatmap.types.d.ts +1 -1
  105. package/dist/components/Icon/Icon.d.ts +2 -39
  106. package/dist/components/Icon/Icon.types.d.ts +1 -17
  107. package/dist/components/Icon/icons/action.d.ts +1 -85
  108. package/dist/components/Icon/icons/bear.d.ts +1 -12
  109. package/dist/components/Icon/icons/charts.d.ts +1 -0
  110. package/dist/components/Icon/icons/commerce.d.ts +1 -25
  111. package/dist/components/Icon/icons/communication.d.ts +1 -48
  112. package/dist/components/Icon/icons/content.d.ts +1 -53
  113. package/dist/components/Icon/icons/device.d.ts +1 -27
  114. package/dist/components/Icon/icons/editor.d.ts +1 -54
  115. package/dist/components/Icon/icons/file.d.ts +1 -25
  116. package/dist/components/Icon/icons/index.d.ts +1 -9
  117. package/dist/components/Icon/icons/media.d.ts +1 -64
  118. package/dist/components/Icon/icons/misc.d.ts +1 -96
  119. package/dist/components/Icon/icons/navigation.d.ts +1 -56
  120. package/dist/components/Icon/icons/social.d.ts +1 -24
  121. package/dist/components/Icon/icons/status.d.ts +1 -61
  122. package/dist/components/Icon/index.d.ts +2 -605
  123. package/dist/components/ImageAnnotation/ImageAnnotation.cjs +1 -1
  124. package/dist/components/ImageAnnotation/ImageAnnotation.js +1 -1
  125. package/dist/components/JsonViewer/JsonViewer.cjs +1 -1
  126. package/dist/components/JsonViewer/JsonViewer.js +1 -1
  127. package/dist/components/MediaPlayer/MediaPlayer.cjs +1 -1
  128. package/dist/components/MediaPlayer/MediaPlayer.js +1 -1
  129. package/dist/components/Modal/Modal.cjs +1 -1
  130. package/dist/components/Modal/Modal.js +1 -1
  131. package/dist/components/PageNav/PageNav.cjs +1 -1
  132. package/dist/components/PageNav/PageNav.js +1 -1
  133. package/dist/components/PasswordInput/PasswordInput.cjs +1 -1
  134. package/dist/components/PasswordInput/PasswordInput.js +5 -5
  135. package/dist/components/PropsPlayground/PropsPlayground.cjs +1 -1
  136. package/dist/components/PropsPlayground/PropsPlayground.js +1 -1
  137. package/dist/components/Rating/components/StarIcon/StarIcon.cjs +1 -1
  138. package/dist/components/Rating/components/StarIcon/StarIcon.js +1 -1
  139. package/dist/components/Result/Result.utils.cjs +1 -1
  140. package/dist/components/Result/Result.utils.js +1 -1
  141. package/dist/components/RichEditor/components/ToolbarColorPicker/ToolbarColorPicker.cjs +1 -1
  142. package/dist/components/RichEditor/components/ToolbarColorPicker/ToolbarColorPicker.js +1 -1
  143. package/dist/components/RichEditor/components/ToolbarDropdown/ToolbarDropdown.cjs +1 -1
  144. package/dist/components/RichEditor/components/ToolbarDropdown/ToolbarDropdown.js +1 -1
  145. package/dist/components/RichEditor/components/ToolbarMore/ToolbarMore.cjs +1 -1
  146. package/dist/components/RichEditor/components/ToolbarMore/ToolbarMore.js +1 -1
  147. package/dist/components/RichEditor/components/ToolbarSignature/ToolbarSignature.cjs +1 -1
  148. package/dist/components/RichEditor/components/ToolbarSignature/ToolbarSignature.js +1 -1
  149. package/dist/components/RichEditor/helpers/IconRender.cjs +1 -1
  150. package/dist/components/RichEditor/helpers/IconRender.js +16 -16
  151. package/dist/components/RichEditor/helpers/toolbarItemRender.cjs +1 -1
  152. package/dist/components/RichEditor/helpers/toolbarItemRender.js +23 -23
  153. package/dist/components/RingProgress/RingProgress.cjs +1 -1
  154. package/dist/components/RingProgress/RingProgress.const.cjs +1 -1
  155. package/dist/components/RingProgress/RingProgress.const.d.ts +3 -0
  156. package/dist/components/RingProgress/RingProgress.const.js +7 -4
  157. package/dist/components/RingProgress/RingProgress.js +38 -37
  158. package/dist/components/RingProgress/RingProgress.types.d.ts +1 -0
  159. package/dist/components/Select/Select.cjs +1 -1
  160. package/dist/components/Select/Select.js +1 -1
  161. package/dist/components/Sidebar/Sidebar.cjs +1 -1
  162. package/dist/components/Sidebar/Sidebar.js +16 -15
  163. package/dist/components/Sidebar/Sidebar.types.d.ts +1 -1
  164. package/dist/components/Sidebar/Sidebar.utils.cjs +1 -0
  165. package/dist/components/Sidebar/Sidebar.utils.d.ts +2 -0
  166. package/dist/components/Sidebar/Sidebar.utils.js +11 -0
  167. package/dist/components/Sidebar/components/SidebarGroup/SidebarGroup.cjs +1 -1
  168. package/dist/components/Sidebar/components/SidebarGroup/SidebarGroup.js +1 -1
  169. package/dist/components/Sidebar/components/SidebarItem/SidebarItem.cjs +1 -1
  170. package/dist/components/Sidebar/components/SidebarItem/SidebarItem.js +55 -51
  171. package/dist/components/Sidebar/index.d.ts +1 -0
  172. package/dist/components/SliderRange/SliderRange.cjs +1 -1
  173. package/dist/components/SliderRange/SliderRange.js +19 -19
  174. package/dist/components/Sparkline/Sparkline.cjs +1 -1
  175. package/dist/components/Sparkline/Sparkline.const.cjs +1 -1
  176. package/dist/components/Sparkline/Sparkline.const.d.ts +5 -0
  177. package/dist/components/Sparkline/Sparkline.const.js +9 -4
  178. package/dist/components/Sparkline/Sparkline.d.ts +1 -2
  179. package/dist/components/Sparkline/Sparkline.js +75 -53
  180. package/dist/components/Sparkline/Sparkline.types.d.ts +2 -0
  181. package/dist/components/Sparkline/Sparkline.utils.cjs +1 -1
  182. package/dist/components/Sparkline/Sparkline.utils.d.ts +7 -12
  183. package/dist/components/Sparkline/Sparkline.utils.js +33 -20
  184. package/dist/components/Sparkline/index.d.ts +2 -2
  185. package/dist/components/Stepper/Stepper.cjs +1 -1
  186. package/dist/components/Stepper/Stepper.js +1 -1
  187. package/dist/components/Tabs/TabList.cjs +1 -1
  188. package/dist/components/Tabs/TabList.js +1 -1
  189. package/dist/components/TimePicker/TimePicker.cjs +1 -1
  190. package/dist/components/TimePicker/TimePicker.js +1 -1
  191. package/dist/components/TimelineChart/TimelineChart.cjs +1 -1
  192. package/dist/components/TimelineChart/TimelineChart.const.cjs +1 -1
  193. package/dist/components/TimelineChart/TimelineChart.const.d.ts +3 -0
  194. package/dist/components/TimelineChart/TimelineChart.const.js +7 -4
  195. package/dist/components/TimelineChart/TimelineChart.js +56 -42
  196. package/dist/components/TimelineChart/TimelineChart.types.d.ts +1 -1
  197. package/dist/components/TreeSelect/TreeSelect.cjs +1 -1
  198. package/dist/components/TreeSelect/TreeSelect.js +1 -1
  199. package/dist/components/TreeSelect/components/TreeSelectExpandControl/TreeSelectExpandControl.cjs +1 -1
  200. package/dist/components/TreeSelect/components/TreeSelectExpandControl/TreeSelectExpandControl.js +1 -1
  201. package/dist/components/TreeView/TreeView.cjs +1 -1
  202. package/dist/components/TreeView/TreeView.js +3 -2
  203. package/dist/components/TreeView/components/TreeViewExpandControl/TreeViewExpandControl.cjs +1 -1
  204. package/dist/components/TreeView/components/TreeViewExpandControl/TreeViewExpandControl.js +1 -1
  205. package/dist/components/TreeView/components/TreeViewNodeIcon/TreeViewNodeIcon.cjs +1 -1
  206. package/dist/components/TreeView/components/TreeViewNodeIcon/TreeViewNodeIcon.js +1 -1
  207. package/dist/components/index.cjs +1 -1
  208. package/dist/components/index.d.ts +2 -2
  209. package/dist/components/index.js +409 -406
  210. package/dist/constants/generals.const.cjs +1 -1
  211. package/dist/constants/generals.const.d.ts +4 -0
  212. package/dist/constants/generals.const.js +50 -47
  213. package/dist/icons.cjs +1 -1
  214. package/dist/icons.d.ts +2 -2
  215. package/dist/icons.js +1 -6
  216. package/dist/index.cjs +1 -1
  217. package/dist/index.js +551 -548
  218. package/dist/node_modules/@forgedevstack/bear-icons/dist/Icon.cjs +1 -0
  219. package/dist/node_modules/@forgedevstack/bear-icons/dist/Icon.const.cjs +1 -0
  220. package/dist/node_modules/@forgedevstack/bear-icons/dist/Icon.const.js +14 -0
  221. package/dist/node_modules/@forgedevstack/bear-icons/dist/Icon.js +35 -0
  222. package/dist/node_modules/@forgedevstack/bear-icons/dist/action.cjs +1 -0
  223. package/dist/node_modules/@forgedevstack/bear-icons/dist/action.js +26 -0
  224. package/dist/node_modules/@forgedevstack/bear-icons/dist/cn.utils.cjs +1 -0
  225. package/dist/node_modules/@forgedevstack/bear-icons/dist/cn.utils.js +4 -0
  226. package/dist/node_modules/@forgedevstack/bear-icons/dist/editor.cjs +1 -0
  227. package/dist/node_modules/@forgedevstack/bear-icons/dist/editor.js +130 -0
  228. package/dist/node_modules/@forgedevstack/bear-icons/dist/misc.cjs +1 -0
  229. package/dist/node_modules/@forgedevstack/bear-icons/dist/misc.js +12 -0
  230. package/dist/node_modules/@forgedevstack/bear-icons/dist/navigation.cjs +1 -0
  231. package/dist/node_modules/@forgedevstack/bear-icons/dist/navigation.js +18 -0
  232. package/dist/node_modules/@forgedevstack/bear-icons/dist/status.cjs +1 -0
  233. package/dist/node_modules/@forgedevstack/bear-icons/dist/status.js +6 -0
  234. package/dist/styles/_drawer.css +213 -0
  235. package/dist/styles/_overlays.css +0 -1
  236. package/dist/styles/main.css +1 -0
  237. package/dist/styles.css +226 -25
  238. package/package.json +5 -1
  239. package/dist/components/Icon/Icon.cjs +0 -1
  240. package/dist/components/Icon/Icon.const.d.ts +0 -1
  241. package/dist/components/Icon/Icon.js +0 -45
  242. package/dist/components/Icon/icons/action.cjs +0 -1
  243. package/dist/components/Icon/icons/action.js +0 -351
  244. package/dist/components/Icon/icons/bear.cjs +0 -1
  245. package/dist/components/Icon/icons/bear.js +0 -47
  246. package/dist/components/Icon/icons/commerce.cjs +0 -1
  247. package/dist/components/Icon/icons/commerce.js +0 -124
  248. package/dist/components/Icon/icons/communication.cjs +0 -1
  249. package/dist/components/Icon/icons/communication.js +0 -184
  250. package/dist/components/Icon/icons/content.cjs +0 -1
  251. package/dist/components/Icon/icons/content.js +0 -231
  252. package/dist/components/Icon/icons/device.cjs +0 -1
  253. package/dist/components/Icon/icons/device.js +0 -122
  254. package/dist/components/Icon/icons/editor.cjs +0 -1
  255. package/dist/components/Icon/icons/editor.js +0 -285
  256. package/dist/components/Icon/icons/file.cjs +0 -1
  257. package/dist/components/Icon/icons/file.js +0 -120
  258. package/dist/components/Icon/icons/media.cjs +0 -1
  259. package/dist/components/Icon/icons/media.js +0 -306
  260. package/dist/components/Icon/icons/misc.cjs +0 -1
  261. package/dist/components/Icon/icons/misc.js +0 -450
  262. package/dist/components/Icon/icons/navigation.cjs +0 -1
  263. package/dist/components/Icon/icons/navigation.js +0 -215
  264. package/dist/components/Icon/icons/social.cjs +0 -1
  265. package/dist/components/Icon/icons/social.js +0 -89
  266. package/dist/components/Icon/icons/status.cjs +0 -1
  267. package/dist/components/Icon/icons/status.js +0 -271
  268. package/dist/components/Icon/index.cjs +0 -1
  269. package/dist/components/Icon/index.js +0 -79
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),u=require("react"),i=require("../../utils/cn.cjs"),V=require("./SliderRange.utils.cjs"),X={xs:{track:"bear-h-1",thumb:"bear-w-3 bear-h-3",height:"bear-h-6"},sm:{track:"bear-h-1.5",thumb:"bear-w-4 bear-h-4",height:"bear-h-8"},md:{track:"bear-h-2",thumb:"bear-w-5 bear-h-5",height:"bear-h-10"},lg:{track:"bear-h-2.5",thumb:"bear-w-6 bear-h-6",height:"bear-h-12"},xl:{track:"bear-h-3",thumb:"bear-w-7 bear-h-7",height:"bear-h-14"}},Y={primary:{track:"bear-bg-bear-500",thumb:"bear-bg-bear-500 bear-border-bear-600"},secondary:{track:"bear-bg-gray-500",thumb:"bear-bg-gray-500 bear-border-gray-600"},success:{track:"bear-bg-green-500",thumb:"bear-bg-green-500 bear-border-green-600"},warning:{track:"bear-bg-amber-500",thumb:"bear-bg-amber-500 bear-border-amber-600"},error:{track:"bear-bg-red-500",thumb:"bear-bg-red-500 bear-border-red-600"},danger:{track:"bear-bg-red-500",thumb:"bear-bg-red-500 bear-border-red-600"},info:{track:"bear-bg-blue-500",thumb:"bear-bg-blue-500 bear-border-blue-600"},ghost:{track:"bear-bg-gray-400",thumb:"bear-bg-gray-400 bear-border-gray-500"},outline:{track:"bear-bg-gray-600",thumb:"bear-bg-white dark:bear-bg-gray-200 bear-border-gray-600 dark:bear-border-gray-400"}},A=({value:h,defaultValue:D=[20,80],min:e=0,max:t=100,step:d=1,size:I="md",color:$="primary",disabled:a=!1,onChange:s,onChangeCommitted:g,valueFormatter:B=f=>String(f),className:z,...O})=>{const[f,R]=u.useState(D),[b,L]=u.useState(null),w=u.useRef(null),y=h??f,[c,l]=y,k=(c-e)/(t-e)*100,E=(l-e)/(t-e)*100,m=X[I],x=Y[$],S=u.useCallback((r,v)=>{if(!w.current||a)return;const N=w.current.getBoundingClientRect(),P=Math.max(0,Math.min(1,(r-N.left)/N.width)),_=e+P*(t-e),T=V.stepValue(_,e,t,d);if(v==="min"){const n=[Math.min(T,l-d),l];h===void 0&&R(n),s==null||s(n)}else{const q=Math.max(T,c+d),n=[c,q];h===void 0&&R(n),s==null||s(n)}},[e,t,d,c,l,a,h,s]),j=(r,v)=>{a||(r.preventDefault(),L(v),S(r.clientX,v))},p=u.useCallback(r=>{b&&S(r.clientX,b)},[b,S]),M=u.useCallback(()=>{b&&(L(null),g==null||g(y))},[b,y,g]);return u.useEffect(()=>{if(b)return document.addEventListener("mousemove",p),document.addEventListener("mouseup",M),()=>{document.removeEventListener("mousemove",p),document.removeEventListener("mouseup",M)}},[b,p,M]),o.jsx("div",{className:i.cn("bear-relative bear-w-full bear-flex bear-items-center",m.height,a&&"bear-opacity-50 bear-cursor-not-allowed",z),"data-testid":"slider-range",...O,children:o.jsxs("div",{ref:w,className:i.cn("bear-relative bear-w-full bear-rounded-full bear-bg-gray-200 dark:bear-bg-gray-700",m.track,!a&&"bear-cursor-pointer"),children:[o.jsx("div",{className:i.cn("bear-absolute bear-inset-y-0 bear-left-0 bear-rounded-full",x.track),style:{left:`${k}%`,width:`${E-k}%`}}),o.jsx("div",{role:"slider",tabIndex:a?-1:0,"aria-valuemin":e,"aria-valuemax":t,"aria-valuenow":c,"aria-label":"Range minimum",className:i.cn("bear-absolute bear-top-1/2 bear--translate-y-1/2 bear--translate-x-1/2 bear-rounded-full bear-border-2 bear-shadow-md",m.thumb,x.thumb,!a&&"bear-cursor-grab active:bear-cursor-grabbing hover:bear-scale-110",b==="min"&&"bear-scale-125 bear-z-10"),style:{left:`${k}%`},onMouseDown:r=>j(r,"min")}),o.jsx("div",{role:"slider",tabIndex:a?-1:0,"aria-valuemin":e,"aria-valuemax":t,"aria-valuenow":l,"aria-label":"Range maximum",className:i.cn("bear-absolute bear-top-1/2 bear--translate-y-1/2 bear--translate-x-1/2 bear-rounded-full bear-border-2 bear-shadow-md",m.thumb,x.thumb,!a&&"bear-cursor-grab active:bear-cursor-grabbing hover:bear-scale-110",b==="max"&&"bear-scale-125 bear-z-10"),style:{left:`${E}%`},onMouseDown:r=>j(r,"max")})]})})};exports.SliderRange=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),u=require("react"),i=require("../../utils/cn.cjs"),F=require("./SliderRange.utils.cjs"),V={xs:{track:"bear-h-1",thumb:"bear-w-3 bear-h-3",height:"bear-h-6"},sm:{track:"bear-h-1.5",thumb:"bear-w-4 bear-h-4",height:"bear-h-8"},md:{track:"bear-h-2",thumb:"bear-w-5 bear-h-5",height:"bear-h-10"},lg:{track:"bear-h-2.5",thumb:"bear-w-6 bear-h-6",height:"bear-h-12"},xl:{track:"bear-h-3",thumb:"bear-w-7 bear-h-7",height:"bear-h-14"}},X={primary:{track:"bear-bg-bear-500",thumb:"bear-bg-bear-500 bear-border-bear-600"},secondary:{track:"bear-bg-gray-500",thumb:"bear-bg-gray-500 bear-border-gray-600"},success:{track:"bear-bg-green-500",thumb:"bear-bg-green-500 bear-border-green-600"},warning:{track:"bear-bg-amber-500",thumb:"bear-bg-amber-500 bear-border-amber-600"},error:{track:"bear-bg-red-500",thumb:"bear-bg-red-500 bear-border-red-600"},danger:{track:"bear-bg-red-500",thumb:"bear-bg-red-500 bear-border-red-600"},info:{track:"bear-bg-blue-500",thumb:"bear-bg-blue-500 bear-border-blue-600"},ghost:{track:"bear-bg-gray-400",thumb:"bear-bg-gray-400 bear-border-gray-500"},outline:{track:"bear-bg-gray-600",thumb:"bear-bg-white dark:bear-bg-gray-200 bear-border-gray-600 dark:bear-border-gray-400"}},Y=({value:h,defaultValue:D=[20,80],min:e=0,max:t=100,step:d=1,size:I="md",color:_="primary",disabled:a=!1,onChange:s,onChangeCommitted:g,valueFormatter:A=f=>String(f),className:$,...z})=>{const[f,R]=u.useState(D),[b,L]=u.useState(null),w=u.useRef(null),y=h??f,[c,l]=y,k=(c-e)/(t-e)*100,E=(l-e)/(t-e)*100,m=V[I],x=X[_],S=u.useCallback((r,v)=>{if(!w.current||a)return;const N=w.current.getBoundingClientRect(),O=Math.max(0,Math.min(1,(r-N.left)/N.width)),P=e+O*(t-e),T=F.stepValue(P,e,t,d);if(v==="min"){const n=[Math.min(T,l-d),l];h===void 0&&R(n),s==null||s(n)}else{const q=Math.max(T,c+d),n=[c,q];h===void 0&&R(n),s==null||s(n)}},[e,t,d,c,l,a,h,s]),j=(r,v)=>{a||(r.preventDefault(),L(v),S(r.clientX,v))},p=u.useCallback(r=>{b&&S(r.clientX,b)},[b,S]),M=u.useCallback(()=>{b&&(L(null),g==null||g(y))},[b,y,g]);return u.useEffect(()=>{if(b)return document.addEventListener("mousemove",p),document.addEventListener("mouseup",M),()=>{document.removeEventListener("mousemove",p),document.removeEventListener("mouseup",M)}},[b,p,M]),o.jsx("div",{className:i.cn("bear-relative bear-w-full bear-flex bear-items-center",m.height,a&&"bear-opacity-50 bear-cursor-not-allowed",$),"data-testid":"slider-range",...z,children:o.jsxs("div",{ref:w,className:i.cn("bear-relative bear-w-full bear-rounded-full bear-bg-gray-200 dark:bear-bg-gray-700",m.track,!a&&"bear-cursor-pointer"),children:[o.jsx("div",{className:i.cn("bear-absolute bear-inset-y-0 bear-left-0 bear-rounded-full",x.track),style:{left:`${k}%`,width:`${E-k}%`}}),o.jsx("div",{role:"slider",tabIndex:a?-1:0,"aria-valuemin":e,"aria-valuemax":t,"aria-valuenow":c,"aria-label":"Range minimum",className:i.cn("bear-absolute bear-top-1/2 bear--translate-y-1/2 bear--translate-x-1/2 bear-rounded-full bear-border-2 bear-shadow-md",m.thumb,x.thumb,!a&&"bear-cursor-grab active:bear-cursor-grabbing hover:bear-scale-110",b==="min"&&"bear-scale-125 bear-z-10"),style:{left:`${k}%`},onMouseDown:r=>j(r,"min")}),o.jsx("div",{role:"slider",tabIndex:a?-1:0,"aria-valuemin":e,"aria-valuemax":t,"aria-valuenow":l,"aria-label":"Range maximum",className:i.cn("bear-absolute bear-top-1/2 bear--translate-y-1/2 bear--translate-x-1/2 bear-rounded-full bear-border-2 bear-shadow-md",m.thumb,x.thumb,!a&&"bear-cursor-grab active:bear-cursor-grabbing hover:bear-scale-110",b==="max"&&"bear-scale-125 bear-z-10"),style:{left:`${E}%`},onMouseDown:r=>j(r,"max")})]})})};exports.SliderRange=Y;
@@ -1,7 +1,7 @@
1
- import { jsx as g, jsxs as _ } from "react/jsx-runtime";
2
- import { useState as $, useRef as A, useCallback as S, useEffect as B } from "react";
1
+ import { jsx as g, jsxs as X } from "react/jsx-runtime";
2
+ import { useState as $, useRef as Y, useCallback as S, useEffect as A } from "react";
3
3
  import { cn as l } from "../../utils/cn.js";
4
- import { stepValue as F } from "./SliderRange.utils.js";
4
+ import { stepValue as B } from "./SliderRange.utils.js";
5
5
  const H = {
6
6
  xs: { track: "bear-h-1", thumb: "bear-w-3 bear-h-3", height: "bear-h-6" },
7
7
  sm: { track: "bear-h-1.5", thumb: "bear-w-4 bear-h-4", height: "bear-h-8" },
@@ -24,28 +24,28 @@ const H = {
24
24
  min: e = 0,
25
25
  max: t = 100,
26
26
  step: i = 1,
27
- size: j = "md",
28
- color: O = "primary",
27
+ size: _ = "md",
28
+ color: j = "primary",
29
29
  disabled: a = !1,
30
- onChange: s,
30
+ onChange: u,
31
31
  onChangeCommitted: h,
32
32
  valueFormatter: Z = (v) => String(v),
33
- className: P,
34
- ...V
33
+ className: F,
34
+ ...O
35
35
  }) => {
36
- const [v, L] = $(z), [b, E] = $(null), f = A(null), w = n ?? v, [u, o] = w, y = (u - e) / (t - e) * 100, R = (o - e) / (t - e) * 100, m = H[j], k = U[O], p = S(
36
+ const [v, L] = $(z), [b, E] = $(null), f = Y(null), w = n ?? v, [s, o] = w, y = (s - e) / (t - e) * 100, R = (o - e) / (t - e) * 100, m = H[_], k = U[j], p = S(
37
37
  (r, d) => {
38
38
  if (!f.current || a) return;
39
- const D = f.current.getBoundingClientRect(), X = Math.max(0, Math.min(1, (r - D.left) / D.width)), Y = e + X * (t - e), I = F(Y, e, t, i);
39
+ const D = f.current.getBoundingClientRect(), P = Math.max(0, Math.min(1, (r - D.left) / D.width)), V = e + P * (t - e), I = B(V, e, t, i);
40
40
  if (d === "min") {
41
41
  const c = [Math.min(I, o - i), o];
42
- n === void 0 && L(c), s == null || s(c);
42
+ n === void 0 && L(c), u == null || u(c);
43
43
  } else {
44
- const T = Math.max(I, u + i), c = [u, T];
45
- n === void 0 && L(c), s == null || s(c);
44
+ const T = Math.max(I, s + i), c = [s, T];
45
+ n === void 0 && L(c), u == null || u(c);
46
46
  }
47
47
  },
48
- [e, t, i, u, o, a, n, s]
48
+ [e, t, i, s, o, a, n, u]
49
49
  ), N = (r, d) => {
50
50
  a || (r.preventDefault(), E(d), p(r.clientX, d));
51
51
  }, x = S(
@@ -56,7 +56,7 @@ const H = {
56
56
  ), M = S(() => {
57
57
  b && (E(null), h == null || h(w));
58
58
  }, [b, w, h]);
59
- return B(() => {
59
+ return A(() => {
60
60
  if (b)
61
61
  return document.addEventListener("mousemove", x), document.addEventListener("mouseup", M), () => {
62
62
  document.removeEventListener("mousemove", x), document.removeEventListener("mouseup", M);
@@ -68,11 +68,11 @@ const H = {
68
68
  "bear-relative bear-w-full bear-flex bear-items-center",
69
69
  m.height,
70
70
  a && "bear-opacity-50 bear-cursor-not-allowed",
71
- P
71
+ F
72
72
  ),
73
73
  "data-testid": "slider-range",
74
- ...V,
75
- children: /* @__PURE__ */ _(
74
+ ...O,
75
+ children: /* @__PURE__ */ X(
76
76
  "div",
77
77
  {
78
78
  ref: f,
@@ -96,7 +96,7 @@ const H = {
96
96
  tabIndex: a ? -1 : 0,
97
97
  "aria-valuemin": e,
98
98
  "aria-valuemax": t,
99
- "aria-valuenow": u,
99
+ "aria-valuenow": s,
100
100
  "aria-label": "Range minimum",
101
101
  className: l(
102
102
  "bear-absolute bear-top-1/2 bear--translate-y-1/2 bear--translate-x-1/2 bear-rounded-full bear-border-2 bear-shadow-md",
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),N=require("react"),i=require("../../utils/cn.cjs"),t=require("./Sparkline.const.cjs"),S=require("./Sparkline.utils.cjs"),L=d=>{const{data:a,width:I=t.SPARKLINE.DEFAULT_WIDTH,height:f=t.SPARKLINE.DEFAULT_HEIGHT,color:s=t.SPARKLINE.DEFAULT_COLOR,fill:p=!1,strokeWidth:R=t.SPARKLINE.DEFAULT_STROKE_WIDTH,showExtremes:o=!1,animated:c=!0,className:x,...A}=d,{path:u,areaPath:E,minPoint:n,maxPoint:r}=N.useMemo(()=>S.calculateSparklinePathData(a),[a]),l=`sparkline-gradient-${s.replace("#","")}`;return e.jsx("div",{className:i.cn("inline-block",x),style:{width:I,height:f},...A,children:e.jsxs("svg",{viewBox:"0 0 100 100",preserveAspectRatio:"none",className:"w-full h-full",children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:l,x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:[e.jsx("stop",{offset:"0%",stopColor:s,stopOpacity:"0.4"}),e.jsx("stop",{offset:"100%",stopColor:s,stopOpacity:"0"})]})}),p&&e.jsx("path",{d:E,fill:`url(#${l})`,className:i.cn(c&&"animate-fade-in")}),e.jsx("path",{d:u,fill:"none",stroke:s,strokeWidth:R,strokeLinecap:"round",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke",className:i.cn(c&&"animate-draw-line")}),o&&n&&e.jsx("circle",{cx:n.x,cy:n.y,r:t.SPARKLINE.INDICATOR_RADIUS,fill:t.SPARKLINE.MIN_INDICATOR_COLOR,vectorEffect:"non-scaling-stroke"}),o&&r&&e.jsx("circle",{cx:r.x,cy:r.y,r:t.SPARKLINE.INDICATOR_RADIUS,fill:t.SPARKLINE.MAX_INDICATOR_COLOR,vectorEffect:"non-scaling-stroke"})]})})};exports.Sparkline=L;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("../../utils/cn.cjs");require("react");const t=require("./Sparkline.const.cjs"),A=require("./Sparkline.utils.cjs"),j=d=>{const{data:a,width:p=t.SPARKLINE.DEFAULT_WIDTH,height:x=t.SPARKLINE.DEFAULT_HEIGHT,color:s=t.SPARKLINE.DEFAULT_COLOR,fill:S=!1,strokeWidth:E=t.SPARKLINE.DEFAULT_STROKE_WIDTH,showExtremes:I=!1,animated:l=!0,variant:R=t.SPARKLINE_VARIANT_LINE,showLastPoint:h=!1,className:L,...u}=d,P=S||R===t.SPARKLINE_VARIANT_AREA,{path:_,areaPath:k,minPoint:c,maxPoint:r}=A.calculateSparklinePathData(a),T=A.calculateSparklineBars(a),f=A.calculateSparklinePoints(a),o=f[f.length-1],N=`sparkline-gradient-${s.replace("#","")}`;return e.jsx("div",{className:i.cn("inline-block",L),style:{width:p,height:x},...u,children:e.jsxs("svg",{viewBox:"0 0 100 100",preserveAspectRatio:"none",className:"w-full h-full",children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:N,x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:[e.jsx("stop",{offset:"0%",stopColor:s,stopOpacity:"0.4"}),e.jsx("stop",{offset:"100%",stopColor:s,stopOpacity:"0"})]})}),R===t.SPARKLINE_VARIANT_BARS?T.map((n,m)=>e.jsx("rect",{x:n.x,y:n.y,width:n.width,height:n.height,fill:s,className:i.cn(l&&"animate-grow-up")},m)):e.jsxs(e.Fragment,{children:[P&&e.jsx("path",{d:k,fill:`url(#${N})`,className:i.cn(l&&"animate-fade-in")}),e.jsx("path",{d:_,fill:"none",stroke:s,strokeWidth:E,strokeLinecap:"round",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke",className:i.cn(l&&"animate-draw-line")})]}),I&&c&&e.jsx("circle",{cx:c.x,cy:c.y,r:t.SPARKLINE.INDICATOR_RADIUS,fill:t.SPARKLINE.MIN_INDICATOR_COLOR,vectorEffect:"non-scaling-stroke"}),I&&r&&e.jsx("circle",{cx:r.x,cy:r.y,r:t.SPARKLINE.INDICATOR_RADIUS,fill:t.SPARKLINE.MAX_INDICATOR_COLOR,vectorEffect:"non-scaling-stroke"}),h&&o&&e.jsx("circle",{cx:o.x,cy:o.y,r:t.SPARKLINE.LAST_POINT_RADIUS,fill:s,vectorEffect:"non-scaling-stroke"})]})})};exports.Sparkline=j;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I={DEFAULT_WIDTH:100,DEFAULT_HEIGHT:32,DEFAULT_COLOR:"var(--bear-primary-500, #ec4899)",DEFAULT_STROKE_WIDTH:2,VIEWBOX_SIZE:100,Y_PADDING:10,Y_RANGE:80,CONTROL_POINT_FACTOR:3,MIN_INDICATOR_COLOR:"#ef4444",MAX_INDICATOR_COLOR:"#10b981",INDICATOR_RADIUS:3};exports.SPARKLINE=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A={DEFAULT_WIDTH:100,DEFAULT_HEIGHT:32,DEFAULT_COLOR:"var(--bear-primary-500, #ec4899)",DEFAULT_STROKE_WIDTH:2,VIEWBOX_SIZE:100,Y_PADDING:10,Y_RANGE:80,CONTROL_POINT_FACTOR:3,MIN_INDICATOR_COLOR:"#ef4444",MAX_INDICATOR_COLOR:"#10b981",INDICATOR_RADIUS:3,LAST_POINT_RADIUS:3.5,BAR_GAP_RATIO:.25},I="line",R="area",_="bars";exports.SPARKLINE=A;exports.SPARKLINE_VARIANT_AREA=R;exports.SPARKLINE_VARIANT_BARS=_;exports.SPARKLINE_VARIANT_LINE=I;
@@ -13,4 +13,9 @@ export declare const SPARKLINE: {
13
13
  readonly MIN_INDICATOR_COLOR: "#ef4444";
14
14
  readonly MAX_INDICATOR_COLOR: "#10b981";
15
15
  readonly INDICATOR_RADIUS: 3;
16
+ readonly LAST_POINT_RADIUS: 3.5;
17
+ readonly BAR_GAP_RATIO: 0.25;
16
18
  };
19
+ export declare const SPARKLINE_VARIANT_LINE = "line";
20
+ export declare const SPARKLINE_VARIANT_AREA = "area";
21
+ export declare const SPARKLINE_VARIANT_BARS = "bars";
@@ -1,4 +1,4 @@
1
- const I = {
1
+ const A = {
2
2
  DEFAULT_WIDTH: 100,
3
3
  DEFAULT_HEIGHT: 32,
4
4
  DEFAULT_COLOR: "var(--bear-primary-500, #ec4899)",
@@ -9,8 +9,13 @@ const I = {
9
9
  CONTROL_POINT_FACTOR: 3,
10
10
  MIN_INDICATOR_COLOR: "#ef4444",
11
11
  MAX_INDICATOR_COLOR: "#10b981",
12
- INDICATOR_RADIUS: 3
13
- };
12
+ INDICATOR_RADIUS: 3,
13
+ LAST_POINT_RADIUS: 3.5,
14
+ BAR_GAP_RATIO: 0.25
15
+ }, I = "line", _ = "area", R = "bars";
14
16
  export {
15
- I as SPARKLINE
17
+ A as SPARKLINE,
18
+ _ as SPARKLINE_VARIANT_AREA,
19
+ R as SPARKLINE_VARIANT_BARS,
20
+ I as SPARKLINE_VARIANT_LINE
16
21
  };
@@ -1,3 +1,2 @@
1
- import { FC } from 'react';
2
1
  import { SparklineProps } from './Sparkline.types';
3
- export declare const Sparkline: FC<SparklineProps>;
2
+ export declare const Sparkline: (props: SparklineProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,73 +1,95 @@
1
- import { jsx as e, jsxs as f } from "react/jsx-runtime";
2
- import { useMemo as R } from "react";
3
- import { cn as i } from "../../utils/cn.js";
4
- import { SPARKLINE as t } from "./Sparkline.const.js";
5
- import { calculateSparklinePathData as T } from "./Sparkline.utils.js";
6
- const u = (p) => {
1
+ import { jsx as t, jsxs as f, Fragment as g } from "react/jsx-runtime";
2
+ import { cn as l } from "../../utils/cn.js";
3
+ import "react";
4
+ import { SPARKLINE as e, SPARKLINE_VARIANT_LINE as y, SPARKLINE_VARIANT_BARS as P, SPARKLINE_VARIANT_AREA as u } from "./Sparkline.const.js";
5
+ import { calculateSparklinePathData as v, calculateSparklineBars as w, calculateSparklinePoints as C } from "./Sparkline.utils.js";
6
+ const B = (h) => {
7
7
  const {
8
- data: s,
9
- width: m = t.DEFAULT_WIDTH,
10
- height: d = t.DEFAULT_HEIGHT,
11
- color: o = t.DEFAULT_COLOR,
12
- fill: I = !1,
13
- strokeWidth: h = t.DEFAULT_STROKE_WIDTH,
14
- showExtremes: l = !1,
15
- animated: n = !0,
16
- className: A,
17
- ...D
18
- } = p, { path: O, areaPath: x, minPoint: r, maxPoint: a } = R(
19
- () => T(s),
20
- [s]
21
- ), c = `sparkline-gradient-${o.replace("#", "")}`;
22
- return /* @__PURE__ */ e(
8
+ data: o,
9
+ width: m = e.DEFAULT_WIDTH,
10
+ height: R = e.DEFAULT_HEIGHT,
11
+ color: a = e.DEFAULT_COLOR,
12
+ fill: N = !1,
13
+ strokeWidth: _ = e.DEFAULT_STROKE_WIDTH,
14
+ showExtremes: p = !1,
15
+ animated: s = !0,
16
+ variant: A = y,
17
+ showLastPoint: E = !1,
18
+ className: T,
19
+ ...x
20
+ } = h, L = N || A === u, { path: k, areaPath: D, minPoint: n, maxPoint: r } = v(o), O = w(o), d = C(o), c = d[d.length - 1], I = `sparkline-gradient-${a.replace("#", "")}`;
21
+ return /* @__PURE__ */ t(
23
22
  "div",
24
23
  {
25
- className: i("inline-block", A),
26
- style: { width: m, height: d },
27
- ...D,
24
+ className: l("inline-block", T),
25
+ style: { width: m, height: R },
26
+ ...x,
28
27
  children: /* @__PURE__ */ f("svg", { viewBox: "0 0 100 100", preserveAspectRatio: "none", className: "w-full h-full", children: [
29
- /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ f("linearGradient", { id: c, x1: "0%", y1: "0%", x2: "0%", y2: "100%", children: [
30
- /* @__PURE__ */ e("stop", { offset: "0%", stopColor: o, stopOpacity: "0.4" }),
31
- /* @__PURE__ */ e("stop", { offset: "100%", stopColor: o, stopOpacity: "0" })
28
+ /* @__PURE__ */ t("defs", { children: /* @__PURE__ */ f("linearGradient", { id: I, x1: "0%", y1: "0%", x2: "0%", y2: "100%", children: [
29
+ /* @__PURE__ */ t("stop", { offset: "0%", stopColor: a, stopOpacity: "0.4" }),
30
+ /* @__PURE__ */ t("stop", { offset: "100%", stopColor: a, stopOpacity: "0" })
32
31
  ] }) }),
33
- I && /* @__PURE__ */ e(
34
- "path",
32
+ A === P ? O.map((i, S) => /* @__PURE__ */ t(
33
+ "rect",
35
34
  {
36
- d: x,
37
- fill: `url(#${c})`,
38
- className: i(n && "animate-fade-in")
39
- }
40
- ),
41
- /* @__PURE__ */ e(
42
- "path",
35
+ x: i.x,
36
+ y: i.y,
37
+ width: i.width,
38
+ height: i.height,
39
+ fill: a,
40
+ className: l(s && "animate-grow-up")
41
+ },
42
+ S
43
+ )) : /* @__PURE__ */ f(g, { children: [
44
+ L && /* @__PURE__ */ t(
45
+ "path",
46
+ {
47
+ d: D,
48
+ fill: `url(#${I})`,
49
+ className: l(s && "animate-fade-in")
50
+ }
51
+ ),
52
+ /* @__PURE__ */ t(
53
+ "path",
54
+ {
55
+ d: k,
56
+ fill: "none",
57
+ stroke: a,
58
+ strokeWidth: _,
59
+ strokeLinecap: "round",
60
+ strokeLinejoin: "round",
61
+ vectorEffect: "non-scaling-stroke",
62
+ className: l(s && "animate-draw-line")
63
+ }
64
+ )
65
+ ] }),
66
+ p && n && /* @__PURE__ */ t(
67
+ "circle",
43
68
  {
44
- d: O,
45
- fill: "none",
46
- stroke: o,
47
- strokeWidth: h,
48
- strokeLinecap: "round",
49
- strokeLinejoin: "round",
50
- vectorEffect: "non-scaling-stroke",
51
- className: i(n && "animate-draw-line")
69
+ cx: n.x,
70
+ cy: n.y,
71
+ r: e.INDICATOR_RADIUS,
72
+ fill: e.MIN_INDICATOR_COLOR,
73
+ vectorEffect: "non-scaling-stroke"
52
74
  }
53
75
  ),
54
- l && r && /* @__PURE__ */ e(
76
+ p && r && /* @__PURE__ */ t(
55
77
  "circle",
56
78
  {
57
79
  cx: r.x,
58
80
  cy: r.y,
59
- r: t.INDICATOR_RADIUS,
60
- fill: t.MIN_INDICATOR_COLOR,
81
+ r: e.INDICATOR_RADIUS,
82
+ fill: e.MAX_INDICATOR_COLOR,
61
83
  vectorEffect: "non-scaling-stroke"
62
84
  }
63
85
  ),
64
- l && a && /* @__PURE__ */ e(
86
+ E && c && /* @__PURE__ */ t(
65
87
  "circle",
66
88
  {
67
- cx: a.x,
68
- cy: a.y,
69
- r: t.INDICATOR_RADIUS,
70
- fill: t.MAX_INDICATOR_COLOR,
89
+ cx: c.x,
90
+ cy: c.y,
91
+ r: e.LAST_POINT_RADIUS,
92
+ fill: a,
71
93
  vectorEffect: "non-scaling-stroke"
72
94
  }
73
95
  )
@@ -76,5 +98,5 @@ const u = (p) => {
76
98
  );
77
99
  };
78
100
  export {
79
- u as Sparkline
101
+ B as Sparkline
80
102
  };
@@ -18,4 +18,6 @@ export interface SparklineProps extends HTMLAttributes<HTMLDivElement> {
18
18
  showExtremes?: boolean;
19
19
  /** Animate on render */
20
20
  animated?: boolean;
21
+ variant?: 'line' | 'area' | 'bars';
22
+ showLastPoint?: boolean;
21
23
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./Sparkline.const.cjs"),I=n=>{if(n.length===0)return[];const a=Math.max(...n),e=Math.min(...n),c=a-e||1;return n.map((t,l)=>({x:l/(n.length-1||1)*r.SPARKLINE.VIEWBOX_SIZE,y:r.SPARKLINE.VIEWBOX_SIZE-(t-e)/c*r.SPARKLINE.Y_RANGE-r.SPARKLINE.Y_PADDING,value:t}))},S=n=>n.length===0?"":n.reduce((a,e,c)=>{if(c===0)return`M ${e.x},${e.y}`;const t=n[c-1],l=t.x+(e.x-t.x)/r.SPARKLINE.CONTROL_POINT_FACTOR,P=e.x-(e.x-t.x)/r.SPARKLINE.CONTROL_POINT_FACTOR;return`${a} C ${l},${t.y} ${P},${e.y} ${e.x},${e.y}`},""),s=n=>n?`${n} L ${r.SPARKLINE.VIEWBOX_SIZE},${r.SPARKLINE.VIEWBOX_SIZE} L 0,${r.SPARKLINE.VIEWBOX_SIZE} Z`:"",x=n=>{if(n.length===0)return{path:"",areaPath:"",minPoint:null,maxPoint:null};const a=I(n),e=Math.max(...n),c=Math.min(...n),t=n.indexOf(c),l=n.indexOf(e),P=S(a),u=s(P);return{path:P,areaPath:u,minPoint:a[t]||null,maxPoint:a[l]||null}};exports.calculateSparklinePathData=x;exports.calculateSparklinePoints=I;exports.generateAreaPath=s;exports.generateSparklinePath=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./Sparkline.const.cjs"),S=n=>{if(n.length===0)return[];const c=Math.max(...n),t=Math.min(...n),a=c-t||1;return n.map((r,l)=>({x:l/(n.length-1||1)*e.SPARKLINE.VIEWBOX_SIZE,y:e.SPARKLINE.VIEWBOX_SIZE-(r-t)/a*e.SPARKLINE.Y_RANGE-e.SPARKLINE.Y_PADDING,value:r}))},o=n=>n.length===0?"":n.reduce((c,t,a)=>{if(a===0)return`M ${t.x},${t.y}`;const r=n[a-1],l=r.x+(t.x-r.x)/e.SPARKLINE.CONTROL_POINT_FACTOR,I=t.x-(t.x-r.x)/e.SPARKLINE.CONTROL_POINT_FACTOR;return`${c} C ${l},${r.y} ${I},${t.y} ${t.x},${t.y}`},""),E=n=>n?`${n} L ${e.SPARKLINE.VIEWBOX_SIZE},${e.SPARKLINE.VIEWBOX_SIZE} L 0,${e.SPARKLINE.VIEWBOX_SIZE} Z`:"",u=n=>{if(n.length===0)return{path:"",areaPath:"",minPoint:null,maxPoint:null};const c=S(n),t=Math.max(...n),a=Math.min(...n),r=n.indexOf(a),l=n.indexOf(t),I=o(c),s=E(I);return{path:I,areaPath:s,minPoint:c[r]||null,maxPoint:c[l]||null}},x=n=>{if(n.length===0)return[];const c=Math.max(...n),t=Math.min(...n),a=c-t||1,r=e.SPARKLINE.VIEWBOX_SIZE/n.length,l=r*e.SPARKLINE.BAR_GAP_RATIO,I=r-l;return n.map((s,i)=>{const P=(s-t)/a*e.SPARKLINE.Y_RANGE;return{x:i*r+l/2,y:e.SPARKLINE.VIEWBOX_SIZE-e.SPARKLINE.Y_PADDING-P,width:I,height:P}})};exports.calculateSparklineBars=x;exports.calculateSparklinePathData=u;exports.calculateSparklinePoints=S;exports.generateAreaPath=E;exports.generateSparklinePath=o;
@@ -9,19 +9,14 @@ export interface SparklinePathData {
9
9
  minPoint: SparklinePoint | null;
10
10
  maxPoint: SparklinePoint | null;
11
11
  }
12
- /**
13
- * Calculate points for sparkline from data array
14
- */
12
+ export interface SparklineBar {
13
+ x: number;
14
+ y: number;
15
+ width: number;
16
+ height: number;
17
+ }
15
18
  export declare const calculateSparklinePoints: (data: number[]) => SparklinePoint[];
16
- /**
17
- * Generate smooth bezier curve path from points
18
- */
19
19
  export declare const generateSparklinePath: (points: SparklinePoint[]) => string;
20
- /**
21
- * Generate area path for filled sparkline
22
- */
23
20
  export declare const generateAreaPath: (linePath: string) => string;
24
- /**
25
- * Calculate all sparkline path data from raw data
26
- */
27
21
  export declare const calculateSparklinePathData: (data: number[]) => SparklinePathData;
22
+ export declare const calculateSparklineBars: (data: number[]) => SparklineBar[];
@@ -1,30 +1,43 @@
1
- import { SPARKLINE as e } from "./Sparkline.const.js";
2
- const s = (n) => {
1
+ import { SPARKLINE as r } from "./Sparkline.const.js";
2
+ const h = (n) => {
3
3
  if (n.length === 0) return [];
4
- const c = Math.max(...n), t = Math.min(...n), x = c - t || 1;
5
- return n.map((r, l) => ({
6
- x: l / (n.length - 1 || 1) * e.VIEWBOX_SIZE,
7
- y: e.VIEWBOX_SIZE - (r - t) / x * e.Y_RANGE - e.Y_PADDING,
8
- value: r
4
+ const c = Math.max(...n), t = Math.min(...n), s = c - t || 1;
5
+ return n.map((e, o) => ({
6
+ x: o / (n.length - 1 || 1) * r.VIEWBOX_SIZE,
7
+ y: r.VIEWBOX_SIZE - (e - t) / s * r.Y_RANGE - r.Y_PADDING,
8
+ value: e
9
9
  }));
10
- }, a = (n) => n.length === 0 ? "" : n.reduce((c, t, x) => {
11
- if (x === 0) return `M ${t.x},${t.y}`;
12
- const r = n[x - 1], l = r.x + (t.x - r.x) / e.CONTROL_POINT_FACTOR, m = t.x - (t.x - r.x) / e.CONTROL_POINT_FACTOR;
13
- return `${c} C ${l},${r.y} ${m},${t.y} ${t.x},${t.y}`;
14
- }, ""), u = (n) => n ? `${n} L ${e.VIEWBOX_SIZE},${e.VIEWBOX_SIZE} L 0,${e.VIEWBOX_SIZE} Z` : "", O = (n) => {
10
+ }, u = (n) => n.length === 0 ? "" : n.reduce((c, t, s) => {
11
+ if (s === 0) return `M ${t.x},${t.y}`;
12
+ const e = n[s - 1], o = e.x + (t.x - e.x) / r.CONTROL_POINT_FACTOR, x = t.x - (t.x - e.x) / r.CONTROL_POINT_FACTOR;
13
+ return `${c} C ${o},${e.y} ${x},${t.y} ${t.x},${t.y}`;
14
+ }, ""), a = (n) => n ? `${n} L ${r.VIEWBOX_SIZE},${r.VIEWBOX_SIZE} L 0,${r.VIEWBOX_SIZE} Z` : "", O = (n) => {
15
15
  if (n.length === 0)
16
16
  return { path: "", areaPath: "", minPoint: null, maxPoint: null };
17
- const c = s(n), t = Math.max(...n), x = Math.min(...n), r = n.indexOf(x), l = n.indexOf(t), m = a(c), o = u(m);
17
+ const c = h(n), t = Math.max(...n), s = Math.min(...n), e = n.indexOf(s), o = n.indexOf(t), x = u(c), l = a(x);
18
18
  return {
19
- path: m,
20
- areaPath: o,
21
- minPoint: c[r] || null,
22
- maxPoint: c[l] || null
19
+ path: x,
20
+ areaPath: l,
21
+ minPoint: c[e] || null,
22
+ maxPoint: c[o] || null
23
23
  };
24
+ }, E = (n) => {
25
+ if (n.length === 0) return [];
26
+ const c = Math.max(...n), t = Math.min(...n), s = c - t || 1, e = r.VIEWBOX_SIZE / n.length, o = e * r.BAR_GAP_RATIO, x = e - o;
27
+ return n.map((l, I) => {
28
+ const m = (l - t) / s * r.Y_RANGE;
29
+ return {
30
+ x: I * e + o / 2,
31
+ y: r.VIEWBOX_SIZE - r.Y_PADDING - m,
32
+ width: x,
33
+ height: m
34
+ };
35
+ });
24
36
  };
25
37
  export {
38
+ E as calculateSparklineBars,
26
39
  O as calculateSparklinePathData,
27
- s as calculateSparklinePoints,
28
- u as generateAreaPath,
29
- a as generateSparklinePath
40
+ h as calculateSparklinePoints,
41
+ a as generateAreaPath,
42
+ u as generateSparklinePath
30
43
  };
@@ -1,5 +1,5 @@
1
1
  export { Sparkline } from './Sparkline';
2
2
  export type { SparklineProps } from './Sparkline.types';
3
3
  export { SPARKLINE } from './Sparkline.const';
4
- export { calculateSparklinePoints, calculateSparklinePathData, generateSparklinePath, generateAreaPath, } from './Sparkline.utils';
5
- export type { SparklinePoint, SparklinePathData } from './Sparkline.utils';
4
+ export { calculateSparklinePoints, calculateSparklinePathData, generateSparklinePath, generateAreaPath, calculateSparklineBars, } from './Sparkline.utils';
5
+ export type { SparklinePoint, SparklinePathData, SparklineBar } from './Sparkline.utils';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),T=require("react"),H=require("../../context/BearProvider.cjs"),ee=require("../../utils/maxVisible.utils.cjs"),E=require("../../utils/cn.cjs"),F=require("../Typography/Typography.cjs"),ne=require("../Dropdown/Dropdown.cjs"),re=require("../Icon/index.cjs"),e=require("./Stepper.const.cjs"),L=require("./Stepper.utils.cjs"),te=1200,se=16,oe=640,U=3,ie=()=>r.jsx("svg",{width:e.CHECK_ICON_SIZE,height:e.CHECK_ICON_SIZE,viewBox:e.CHECK_ICON_VIEWBOX,fill:"none",stroke:"currentColor",strokeWidth:"3",children:r.jsx("polyline",{points:e.CHECK_ICON_POINTS})}),Ee=()=>r.jsxs("svg",{width:e.ERROR_ICON_SIZE,height:e.ERROR_ICON_SIZE,viewBox:e.ERROR_ICON_VIEWBOX,fill:"none",stroke:"currentColor",strokeWidth:"3",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),V=T.forwardRef(({steps:o,activeStep:_,onStepClick:d,orientation:W=e.DEFAULT_ORIENTATION,size:u=e.DEFAULT_SIZE,showNumbers:M=e.DEFAULT_SHOW_NUMBERS,clickable:R=e.DEFAULT_CLICKABLE,showConnectors:q=e.DEFAULT_SHOW_CONNECTORS,connectorStyle:m=e.DEFAULT_CONNECTOR_STYLE,alternativeLabel:g=e.DEFAULT_ALTERNATIVE_LABEL,completedIcon:Z,errorIcon:z,labelTypographyProps:K,descriptionTypographyProps:X,maxVisibleSteps:N,testId:Y,className:$,...k},G)=>{const P=H.useBearThemeOptional(),{direction:f}=H.useBearDirectionOptional(),[A,J]=T.useState(()=>typeof window<"u"?window.innerWidth:te);T.useEffect(()=>{const n=()=>J(window.innerWidth);return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]);const S=T.useMemo(()=>{if(N!=null)return ee.resolveMaxVisible(N,{width:A,theme:P});if(A<oe&&o.length>U)return U},[N,A,P,o.length]),a=W==="horizontal",v=e.STEP_INDICATOR_SIZES[u],j=e.STEP_LABEL_SIZES[u],C=a&&S!=null&&o.length>S,{visibleIndices:B,leftHidden:w,rightHidden:h}=T.useMemo(()=>{if(!C||S==null)return{visibleIndices:o.map((l,I)=>I),leftHidden:[],rightHidden:[]};const n=S,t=Math.floor(n/2),s=Math.max(0,Math.min(_-t,o.length-n)),i=Array.from({length:n},(l,I)=>s+I),c=[],p=[];for(let l=0;l<s;l++)c.push(l);for(let l=s+n;l<o.length;l++)p.push(l);return{visibleIndices:i,leftHidden:c,rightHidden:p}},[C,S,o,_]),b=(n,t,s)=>{const i=e.STEP_STATUS_CLASSES[s],c=L.resolveIndicatorContent(n,t,s,M,Z,z,r.jsx(ie,{}),r.jsx(Ee,{}));return r.jsx("div",{className:E.cn(e.STEP_INDICATOR_BASE,v,i.indicator,R&&!n.disabled&&e.STEP_CLICKABLE_CLASSES),onClick:()=>{R&&!n.disabled&&d&&d(t)},children:c})},O=(n,t)=>{if(!q||t)return null;const s=n<_;return a?r.jsx("div",{className:E.cn(e.CONNECTOR_HORIZONTAL_LAYOUT,s?e.CONNECTOR_STATUS.completed:e.CONNECTOR_STATUS.pending,m==="dashed"&&e.CONNECTOR_DASHED_CLASSES)}):r.jsx("div",{className:E.cn(e.CONNECTOR_BASE,e.CONNECTOR_VERTICAL,s?e.CONNECTOR_STATUS.completed:e.CONNECTOR_STATUS.pending,m==="dashed"&&e.CONNECTOR_DASHED_CLASSES)})},x=(n,t)=>{const s=e.STEP_STATUS_CLASSES[t],i={...K,...n.labelTypographyProps},c={...X,...n.descriptionTypographyProps};return r.jsxs(r.Fragment,{children:[r.jsx(F.Typography,{variant:"body2",...i,className:E.cn(e.STEP_LABEL_BASE,j.label,s.label,i==null?void 0:i.className),children:n.label}),n.description&&r.jsx(F.Typography,{variant:"caption",...c,className:E.cn(e.STEP_DESCRIPTION_CLASSES,j.description,c==null?void 0:c.className),children:n.description})]})},y=(n,t)=>{const s=L.resolveStepStatus(n,t,_);return r.jsxs("div",{className:E.cn(e.STEP_CONTENT_BASE,g?e.STEP_CONTENT_ALTERNATIVE:e.STEP_CONTENT_INLINE),children:[b(n,t,s),r.jsx("div",{className:E.cn(g?e.STEP_LABEL_ALTERNATIVE:e.STEP_LABEL_INLINE),children:x(n,s)})]})},Q=(n,t)=>{const s=L.resolveStepStatus(n,t,_);return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:e.STEP_VERTICAL_INDICATOR_WRAP,children:b(n,t,s)}),r.jsxs("div",{className:e.STEP_VERTICAL_BODY,children:[x(n,s),n.content&&s==="active"&&r.jsx("div",{className:e.STEP_VERTICAL_CONTENT,children:n.content})]})]})},D=(n,t)=>r.jsx("div",{className:e.STEP_OVERFLOW_ROOT,children:r.jsx(ne.Dropdown,{placement:"bottom-start",closeOnSelect:!0,trigger:r.jsx("button",{type:"button",className:E.cn(e.STEP_INDICATOR_BASE,v,e.STEP_STATUS_CLASSES.pending.indicator,"bear-cursor-pointer bear-border-0"),"aria-label":t==="left"?e.OVERFLOW_LEFT_LABEL:e.OVERFLOW_RIGHT_LABEL,children:r.jsx(re.BearIcons.MoreHorizIcon,{size:se})}),items:n.map(s=>({key:`step-${s}`,label:o[s].label,disabled:o[s].disabled,onClick:()=>{o[s].disabled||d==null||d(s)}}))})},`overflow-${t}`);return r.jsxs("div",{ref:G,dir:f,className:E.cn(e.STEPPER_BASE_CLASSES,a?e.STEPPER_HORIZONTAL_CLASSES:e.STEPPER_VERTICAL_CLASSES,f==="rtl"&&a&&"bear-flex-row-reverse",$),"data-testid":Y,...k,children:[a&&!C&&o.map((n,t)=>r.jsxs(T.Fragment,{children:[y(n,t),O(t,t===o.length-1)]},t)),a&&C&&r.jsxs(r.Fragment,{children:[w.length>0&&r.jsxs(r.Fragment,{children:[D(w,"left"),O(-1,!1)]}),B.map((n,t)=>{const s=o[n],i=t===B.length-1&&h.length===0;return r.jsxs(T.Fragment,{children:[y(s,n),O(n,i)]},n)}),h.length>0&&D(h,"right")]}),!a&&o.map((n,t)=>r.jsxs("div",{className:E.cn("Bear-Stepper__step",e.STEP_WRAPPER_VERTICAL),children:[Q(n,t),O(t,t===o.length-1)]},t))]})});V.displayName="Stepper";exports.Stepper=V;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),T=require("react"),H=require("../../context/BearProvider.cjs"),ee=require("../../utils/maxVisible.utils.cjs"),E=require("../../utils/cn.cjs"),F=require("../Typography/Typography.cjs"),ne=require("../Dropdown/Dropdown.cjs"),re=require("@forgedevstack/bear-icons"),e=require("./Stepper.const.cjs"),L=require("./Stepper.utils.cjs"),te=1200,se=16,oe=640,U=3,ie=()=>r.jsx("svg",{width:e.CHECK_ICON_SIZE,height:e.CHECK_ICON_SIZE,viewBox:e.CHECK_ICON_VIEWBOX,fill:"none",stroke:"currentColor",strokeWidth:"3",children:r.jsx("polyline",{points:e.CHECK_ICON_POINTS})}),Ee=()=>r.jsxs("svg",{width:e.ERROR_ICON_SIZE,height:e.ERROR_ICON_SIZE,viewBox:e.ERROR_ICON_VIEWBOX,fill:"none",stroke:"currentColor",strokeWidth:"3",children:[r.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),V=T.forwardRef(({steps:o,activeStep:_,onStepClick:S,orientation:W=e.DEFAULT_ORIENTATION,size:u=e.DEFAULT_SIZE,showNumbers:M=e.DEFAULT_SHOW_NUMBERS,clickable:R=e.DEFAULT_CLICKABLE,showConnectors:q=e.DEFAULT_SHOW_CONNECTORS,connectorStyle:m=e.DEFAULT_CONNECTOR_STYLE,alternativeLabel:g=e.DEFAULT_ALTERNATIVE_LABEL,completedIcon:Z,errorIcon:z,labelTypographyProps:K,descriptionTypographyProps:X,maxVisibleSteps:N,testId:Y,className:$,...k},G)=>{const P=H.useBearThemeOptional(),{direction:f}=H.useBearDirectionOptional(),[A,J]=T.useState(()=>typeof window<"u"?window.innerWidth:te);T.useEffect(()=>{const n=()=>J(window.innerWidth);return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]);const d=T.useMemo(()=>{if(N!=null)return ee.resolveMaxVisible(N,{width:A,theme:P});if(A<oe&&o.length>U)return U},[N,A,P,o.length]),a=W==="horizontal",v=e.STEP_INDICATOR_SIZES[u],j=e.STEP_LABEL_SIZES[u],C=a&&d!=null&&o.length>d,{visibleIndices:B,leftHidden:b,rightHidden:h}=T.useMemo(()=>{if(!C||d==null)return{visibleIndices:o.map((l,I)=>I),leftHidden:[],rightHidden:[]};const n=d,t=Math.floor(n/2),s=Math.max(0,Math.min(_-t,o.length-n)),i=Array.from({length:n},(l,I)=>s+I),c=[],p=[];for(let l=0;l<s;l++)c.push(l);for(let l=s+n;l<o.length;l++)p.push(l);return{visibleIndices:i,leftHidden:c,rightHidden:p}},[C,d,o,_]),w=(n,t,s)=>{const i=e.STEP_STATUS_CLASSES[s],c=L.resolveIndicatorContent(n,t,s,M,Z,z,r.jsx(ie,{}),r.jsx(Ee,{}));return r.jsx("div",{className:E.cn(e.STEP_INDICATOR_BASE,v,i.indicator,R&&!n.disabled&&e.STEP_CLICKABLE_CLASSES),onClick:()=>{R&&!n.disabled&&S&&S(t)},children:c})},O=(n,t)=>{if(!q||t)return null;const s=n<_;return a?r.jsx("div",{className:E.cn(e.CONNECTOR_HORIZONTAL_LAYOUT,s?e.CONNECTOR_STATUS.completed:e.CONNECTOR_STATUS.pending,m==="dashed"&&e.CONNECTOR_DASHED_CLASSES)}):r.jsx("div",{className:E.cn(e.CONNECTOR_BASE,e.CONNECTOR_VERTICAL,s?e.CONNECTOR_STATUS.completed:e.CONNECTOR_STATUS.pending,m==="dashed"&&e.CONNECTOR_DASHED_CLASSES)})},x=(n,t)=>{const s=e.STEP_STATUS_CLASSES[t],i={...K,...n.labelTypographyProps},c={...X,...n.descriptionTypographyProps};return r.jsxs(r.Fragment,{children:[r.jsx(F.Typography,{variant:"body2",...i,className:E.cn(e.STEP_LABEL_BASE,j.label,s.label,i==null?void 0:i.className),children:n.label}),n.description&&r.jsx(F.Typography,{variant:"caption",...c,className:E.cn(e.STEP_DESCRIPTION_CLASSES,j.description,c==null?void 0:c.className),children:n.description})]})},y=(n,t)=>{const s=L.resolveStepStatus(n,t,_);return r.jsxs("div",{className:E.cn(e.STEP_CONTENT_BASE,g?e.STEP_CONTENT_ALTERNATIVE:e.STEP_CONTENT_INLINE),children:[w(n,t,s),r.jsx("div",{className:E.cn(g?e.STEP_LABEL_ALTERNATIVE:e.STEP_LABEL_INLINE),children:x(n,s)})]})},Q=(n,t)=>{const s=L.resolveStepStatus(n,t,_);return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:e.STEP_VERTICAL_INDICATOR_WRAP,children:w(n,t,s)}),r.jsxs("div",{className:e.STEP_VERTICAL_BODY,children:[x(n,s),n.content&&s==="active"&&r.jsx("div",{className:e.STEP_VERTICAL_CONTENT,children:n.content})]})]})},D=(n,t)=>r.jsx("div",{className:e.STEP_OVERFLOW_ROOT,children:r.jsx(ne.Dropdown,{placement:"bottom-start",closeOnSelect:!0,trigger:r.jsx("button",{type:"button",className:E.cn(e.STEP_INDICATOR_BASE,v,e.STEP_STATUS_CLASSES.pending.indicator,"bear-cursor-pointer bear-border-0"),"aria-label":t==="left"?e.OVERFLOW_LEFT_LABEL:e.OVERFLOW_RIGHT_LABEL,children:r.jsx(re.BearIcons.MoreHorizIcon,{size:se})}),items:n.map(s=>({key:`step-${s}`,label:o[s].label,disabled:o[s].disabled,onClick:()=>{o[s].disabled||S==null||S(s)}}))})},`overflow-${t}`);return r.jsxs("div",{ref:G,dir:f,className:E.cn(e.STEPPER_BASE_CLASSES,a?e.STEPPER_HORIZONTAL_CLASSES:e.STEPPER_VERTICAL_CLASSES,f==="rtl"&&a&&"bear-flex-row-reverse",$),"data-testid":Y,...k,children:[a&&!C&&o.map((n,t)=>r.jsxs(T.Fragment,{children:[y(n,t),O(t,t===o.length-1)]},t)),a&&C&&r.jsxs(r.Fragment,{children:[b.length>0&&r.jsxs(r.Fragment,{children:[D(b,"left"),O(-1,!1)]}),B.map((n,t)=>{const s=o[n],i=t===B.length-1&&h.length===0;return r.jsxs(T.Fragment,{children:[y(s,n),O(n,i)]},n)}),h.length>0&&D(h,"right")]}),!a&&o.map((n,t)=>r.jsxs("div",{className:E.cn("Bear-Stepper__step",e.STEP_WRAPPER_VERTICAL),children:[Q(n,t),O(t,t===o.length-1)]},t))]})});V.displayName="Stepper";exports.Stepper=V;
@@ -5,7 +5,7 @@ import { resolveMaxVisible as de } from "../../utils/maxVisible.utils.js";
5
5
  import { cn as E } from "../../utils/cn.js";
6
6
  import { Typography as M } from "../Typography/Typography.js";
7
7
  import { Dropdown as _e } from "../Dropdown/Dropdown.js";
8
- import { BearIcons as Te } from "../Icon/index.js";
8
+ import { BearIcons as Te } from "@forgedevstack/bear-icons";
9
9
  import { STEP_WRAPPER_VERTICAL as he, STEPPER_HORIZONTAL_CLASSES as Ne, STEPPER_VERTICAL_CLASSES as Oe, STEPPER_BASE_CLASSES as Se, DEFAULT_ORIENTATION as Ce, DEFAULT_SIZE as Ie, DEFAULT_SHOW_NUMBERS as Ae, DEFAULT_CLICKABLE as Le, DEFAULT_SHOW_CONNECTORS as me, DEFAULT_CONNECTOR_STYLE as Re, DEFAULT_ALTERNATIVE_LABEL as fe, STEP_LABEL_ALTERNATIVE as ue, STEP_LABEL_INLINE as ge, STEP_CONTENT_ALTERNATIVE as Pe, STEP_CONTENT_INLINE as ve, STEP_CONTENT_BASE as Be, CONNECTOR_DASHED_CLASSES as Z, CONNECTOR_STATUS as S, CONNECTOR_HORIZONTAL_LAYOUT as we, CONNECTOR_VERTICAL as be, CONNECTOR_BASE as pe, STEP_OVERFLOW_ROOT as He, OVERFLOW_LEFT_LABEL as We, OVERFLOW_RIGHT_LABEL as De, STEP_STATUS_CLASSES as m, STEP_INDICATOR_SIZES as Ve, STEP_INDICATOR_BASE as z, STEP_VERTICAL_INDICATOR_WRAP as ye, STEP_VERTICAL_BODY as Fe, STEP_VERTICAL_CONTENT as Ue, STEP_CLICKABLE_CLASSES as Me, STEP_LABEL_SIZES as Ze, STEP_LABEL_BASE as ze, STEP_DESCRIPTION_CLASSES as Ke, ERROR_ICON_VIEWBOX as Xe, ERROR_ICON_SIZE as K, CHECK_ICON_VIEWBOX as Ye, CHECK_ICON_SIZE as X, CHECK_ICON_POINTS as je } from "./Stepper.const.js";
10
10
  import { resolveStepStatus as Y, resolveIndicatorContent as $e } from "./Stepper.utils.js";
11
11
  const ke = 1200, Ge = 16, qe = 640, j = 3, Je = () => /* @__PURE__ */ t("svg", { width: X, height: X, viewBox: Ye, fill: "none", stroke: "currentColor", strokeWidth: "3", children: /* @__PURE__ */ t("polyline", { points: je }) }), Qe = () => /* @__PURE__ */ i("svg", { width: K, height: K, viewBox: Xe, fill: "none", stroke: "currentColor", strokeWidth: "3", children: [
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),C=require("../../utils/cn.cjs"),z=require("../../context/BearProvider.cjs"),B=require("../../utils/maxVisible.utils.cjs"),I=require("../Dropdown/Dropdown.cjs"),L=require("../Icon/index.cjs"),N=require("./Tabs.cjs");function S(n){var l;return o.isValidElement(n)&&typeof n.type!="string"&&((l=n.props)==null?void 0:l.id)!=null}const _=({children:n,maxVisibleTabs:l,wrap:i=!1,className:q})=>{const f=o.useContext(N.TabsContext);if(!f)throw new Error("TabList must be used within Tabs");const v=z.useBearThemeOptional(),[x,E]=o.useState(()=>typeof window<"u"?window.innerWidth:1200);o.useEffect(()=>{const e=()=>E(window.innerWidth);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const a=o.useMemo(()=>B.resolveMaxVisible(l,{width:x,theme:v}),[l,x,v]),{activeTab:b,setActiveTab:M,variant:s}=f,w=o.Children.toArray(n).filter(S),c=w.map(e=>({id:e.props.id,label:e.props.children,disabled:e.props.disabled})),d=b?[b,...c.map(e=>e.id).filter(e=>e!==b)]:c.map(e=>e.id),h=a??d.length,k=d.slice(0,h),u=d.slice(h),p=u.includes(b),y=C.cn("Bear-Tabs__list",`Bear-Tabs__list--${s}`,a!=null&&!i&&"bear-flex bear-w-full bear-min-w-0 bear-items-stretch",(!a||i)&&"bear-flex bear-gap-1",i&&"bear-flex-wrap",!i&&!a&&"bear-gap-1",s==="line"&&"bear-border-b",s==="pills"&&"bear-p-1 bear-rounded-lg",s==="enclosed"&&"bear-border-b",q),g={...s==="line"||s==="enclosed"?{borderColor:"var(--bear-border-default)"}:{},...s==="pills"?{backgroundColor:"var(--bear-bg-tertiary)"}:{}},T=t.jsx(t.Fragment,{children:a!=null?k.map(e=>{const r=w.find(m=>m.props.id===e);return r?o.cloneElement(r,{key:r.props.id}):null}):n}),j=a!=null&&u.length>0?t.jsx("div",{className:"bear-flex bear-h-full bear-flex-shrink-0 bear-items-stretch",children:t.jsx(I.Dropdown,{placement:"bottom-end",closeOnSelect:!0,trigger:t.jsx("button",{type:"button",role:"tab","aria-haspopup":"listbox","aria-label":"More tabs",className:C.cn("bear-flex bear-h-full bear-items-center bear-gap-2 bear-px-3 bear-py-2 bear-text-sm bear-font-medium bear-transition-colors bear-border-0 bear-cursor-pointer",s==="pills"&&"bear-rounded-md",p&&"bear-shadow-sm",!p&&"hover:bear-bg-[var(--bear-bg-tertiary)] hover:bear-text-[var(--bear-text-primary)]"),style:p?{backgroundColor:"var(--bear-bg-primary)",color:"var(--bear-text-primary)"}:{color:"var(--bear-text-muted)"},children:t.jsx(L.BearIcons.MoreHorizIcon,{size:18})}),items:u.map(e=>{const r=c.find(m=>m.id===e);return{key:e,label:(r==null?void 0:r.label)??e,disabled:r==null?void 0:r.disabled,onClick:()=>M(e)}})})}):null;return a!=null&&!i?t.jsxs("div",{role:"tablist",className:y,style:g,children:[t.jsx("div",{className:"bear-flex bear-min-w-0 bear-flex-1 bear-items-center bear-gap-1 bear-overflow-x-auto bear-overflow-y-visible bear-flex-nowrap",children:T}),j]}):t.jsxs("div",{role:"tablist",className:y,style:g,children:[T,j]})};exports.TabList=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),C=require("../../utils/cn.cjs"),I=require("../../context/BearProvider.cjs"),z=require("../../utils/maxVisible.utils.cjs"),B=require("../Dropdown/Dropdown.cjs"),L=require("@forgedevstack/bear-icons"),N=require("./Tabs.cjs");function S(n){var l;return o.isValidElement(n)&&typeof n.type!="string"&&((l=n.props)==null?void 0:l.id)!=null}const _=({children:n,maxVisibleTabs:l,wrap:i=!1,className:q})=>{const f=o.useContext(N.TabsContext);if(!f)throw new Error("TabList must be used within Tabs");const v=I.useBearThemeOptional(),[x,E]=o.useState(()=>typeof window<"u"?window.innerWidth:1200);o.useEffect(()=>{const e=()=>E(window.innerWidth);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const a=o.useMemo(()=>z.resolveMaxVisible(l,{width:x,theme:v}),[l,x,v]),{activeTab:b,setActiveTab:M,variant:s}=f,w=o.Children.toArray(n).filter(S),c=w.map(e=>({id:e.props.id,label:e.props.children,disabled:e.props.disabled})),d=b?[b,...c.map(e=>e.id).filter(e=>e!==b)]:c.map(e=>e.id),h=a??d.length,k=d.slice(0,h),u=d.slice(h),p=u.includes(b),y=C.cn("Bear-Tabs__list",`Bear-Tabs__list--${s}`,a!=null&&!i&&"bear-flex bear-w-full bear-min-w-0 bear-items-stretch",(!a||i)&&"bear-flex bear-gap-1",i&&"bear-flex-wrap",!i&&!a&&"bear-gap-1",s==="line"&&"bear-border-b",s==="pills"&&"bear-p-1 bear-rounded-lg",s==="enclosed"&&"bear-border-b",q),g={...s==="line"||s==="enclosed"?{borderColor:"var(--bear-border-default)"}:{},...s==="pills"?{backgroundColor:"var(--bear-bg-tertiary)"}:{}},T=t.jsx(t.Fragment,{children:a!=null?k.map(e=>{const r=w.find(m=>m.props.id===e);return r?o.cloneElement(r,{key:r.props.id}):null}):n}),j=a!=null&&u.length>0?t.jsx("div",{className:"bear-flex bear-h-full bear-flex-shrink-0 bear-items-stretch",children:t.jsx(B.Dropdown,{placement:"bottom-end",closeOnSelect:!0,trigger:t.jsx("button",{type:"button",role:"tab","aria-haspopup":"listbox","aria-label":"More tabs",className:C.cn("bear-flex bear-h-full bear-items-center bear-gap-2 bear-px-3 bear-py-2 bear-text-sm bear-font-medium bear-transition-colors bear-border-0 bear-cursor-pointer",s==="pills"&&"bear-rounded-md",p&&"bear-shadow-sm",!p&&"hover:bear-bg-[var(--bear-bg-tertiary)] hover:bear-text-[var(--bear-text-primary)]"),style:p?{backgroundColor:"var(--bear-bg-primary)",color:"var(--bear-text-primary)"}:{color:"var(--bear-text-muted)"},children:t.jsx(L.BearIcons.MoreHorizIcon,{size:18})}),items:u.map(e=>{const r=c.find(m=>m.id===e);return{key:e,label:(r==null?void 0:r.label)??e,disabled:r==null?void 0:r.disabled,onClick:()=>M(e)}})})}):null;return a!=null&&!i?t.jsxs("div",{role:"tablist",className:y,style:g,children:[t.jsx("div",{className:"bear-flex bear-min-w-0 bear-flex-1 bear-items-center bear-gap-1 bear-overflow-x-auto bear-overflow-y-visible bear-flex-nowrap",children:T}),j]}):t.jsxs("div",{role:"tablist",className:y,style:g,children:[T,j]})};exports.TabList=_;
@@ -4,7 +4,7 @@ import { cn as E } from "../../utils/cn.js";
4
4
  import { useBearThemeOptional as R } from "../../context/BearProvider.js";
5
5
  import { resolveMaxVisible as V } from "../../utils/maxVisible.utils.js";
6
6
  import { Dropdown as W } from "../Dropdown/Dropdown.js";
7
- import { BearIcons as D } from "../Icon/index.js";
7
+ import { BearIcons as D } from "@forgedevstack/bear-icons";
8
8
  import { TabsContext as F } from "./Tabs.js";
9
9
  function H(a) {
10
10
  var l;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),r=require("react"),q=require("../../utils/cn.cjs"),re=require("../../hooks/useMediaQuery.cjs"),ae=require("../../hooks/useClickOutside.cjs");require("../../context/BearProvider.cjs");require("../../hooks/useBearComponent/useBearComponent.cjs");const se=require("../../hooks/useFixedAnchorPosition/useFixedAnchorPosition.cjs"),le=require("../../hooks/useFixedAnchorPosition/useFixedAnchorPosition.utils.cjs");require("../FormControl/FormControl.context.cjs");const ne=require("../Icon/index.cjs"),oe=require("../OverlayPortal/OverlayPortal.cjs"),ce=require("./TimePicker.utils.cjs"),e=require("./TimePicker.constants.cjs"),ie=require("./components/TimePickerColumnsDropdown/TimePickerColumnsDropdown.cjs"),ue=require("./components/TimePickerDialDropdown/TimePickerDialDropdown.cjs"),de=t=>{const w={value:t.value,onChange:t.onChange,disabled:t.disabled??!1,placeholder:t.placeholder??"Select time",label:t.label,error:t.error,helperText:t.helperText,format:t.format??e.TIMEPICKER_FORMAT_12H,minuteStep:t.minuteStep??5,clearable:t.clearable??!0,className:t.className,size:t.size??"md",variant:t.variant??"default",dropdownVariant:t.dropdownVariant??e.TIMEPICKER_VARIANT_COLUMNS,dropdownVariantBreakpoint:t.dropdownVariantBreakpoint??e.TIMEPICKER_DEFAULT_BREAKPOINT,icon:t.icon,translations:t.translations,openEffect:t.openEffect,closeEffect:t.closeEffect,effect:t.effect,testId:t.testId},{openEffect:H,closeEffect:j}=le.resolveOverlayEffects(t),{value:F,onChange:n,disabled:T,placeholder:U,label:C,error:i,helperText:M,format:c,minuteStep:_,clearable:A,className:z,size:B,variant:W,dropdownVariant:S,dropdownVariantBreakpoint:Q,icon:X,translations:b,testId:G}=w,Z=re.useMediaQuery(`(min-width: ${Q}px)`),O=S===e.TIMEPICKER_VARIANT_AUTO?Z?e.TIMEPICKER_VARIANT_DIAL:e.TIMEPICKER_VARIANT_COLUMNS:S,m=O===e.TIMEPICKER_VARIANT_DIAL&&c===e.TIMEPICKER_FORMAT_24H?e.TIMEPICKER_VARIANT_COLUMNS:O,s=F,[o,u]=r.useState(!1),[d,p]=r.useState(12),[I,N]=r.useState(0),[E,h]=r.useState("AM"),K=r.useRef(null),P=r.useRef(null),x=r.useRef(null),{style:$,ready:J}=se.useFixedAnchorPosition({anchorRef:P,open:o,estimatedHeightPx:e.TIMEPICKER_DROPDOWN_HEIGHT_PX});r.useEffect(()=>{if(s&&typeof s=="string"){const[R,l]=s.split(" "),[ee,te]=R.split(":").map(Number);p(ee),N(te),l&&h(l)}},[s]);const Y=r.useCallback(()=>u(!1),[]);ae.useClickOutsideMultiple([K,x],Y,{enabled:o});const k=r.useCallback(()=>{n==null||n(ce.formatTime(d,I,E,c??e.TIMEPICKER_FORMAT_12H)),u(!1)},[n,d,I,E,c]),y=c===e.TIMEPICKER_FORMAT_12H?Array.from({length:e.TIMEPICKER_HOURS_12H},(R,l)=>l+1):Array.from({length:e.TIMEPICKER_HOURS_24H},(R,l)=>l),D=Array.from({length:e.TIMEPICKER_MINUTES_DIVISOR/(_??5)},(R,l)=>l*(_??5)),v=r.useCallback(()=>u(!1),[]),L=c??e.TIMEPICKER_FORMAT_12H,V=_??5,f=r.useMemo(()=>({selectedHour:d,setSelectedHour:p,selectedMinute:I,setSelectedMinute:N,period:E,setPeriod:h,format:L,hours:y,minutes:D,timeValue:s,clearable:A??!0,onChange:n,onConfirm:k,onClose:v,translations:b}),[d,I,E,L,y,D,s,A,n,k,v,b]),g=r.useCallback(()=>o?m===e.TIMEPICKER_VARIANT_DIAL?a.jsx(ue.TimePickerDialDropdown,{...f,minuteStep:V}):a.jsx(ie.TimePickerColumnsDropdown,{...f}):null,[o,m,f,V]);return a.jsxs("div",{ref:K,className:q.cn(e.TIMEPICKER_ROOT_CLASSES,z),"data-testid":G,children:[C&&a.jsx("label",{className:e.TIMEPICKER_LABEL_CLASSES,children:C}),a.jsxs("button",{ref:P,type:"button",onClick:()=>!T&&u(!o),disabled:T,className:q.cn(e.TIMEPICKER_BUTTON_CLASSES,e.sizeClasses[B??"md"],e.variantClasses[W??"default"],i?"bear-border-red-500":"focus:bear-border-primary-500",T&&"bear-opacity-50 bear-cursor-not-allowed",s?"bear-text-gray-900 dark:bear-text-white":"bear-text-gray-400 dark:bear-text-zinc-500"),children:[a.jsx("span",{children:s||U}),X??a.jsx(ne.ClockIcon,{className:e.TIMEPICKER_CLOCK_ICON_CLASS})]}),i&&a.jsx("p",{className:e.TIMEPICKER_ERROR_CLASSES,children:i}),M&&!i&&a.jsx("p",{className:e.TIMEPICKER_HELPER_CLASSES,children:M}),a.jsx(oe.OverlayPortal,{open:o,ready:J,style:$,zIndex:e.TIMEPICKER_DROPDOWN_Z_INDEX,openEffect:H,closeEffect:j,panelRef:x,attributes:{[e.TIMEPICKER_DROPDOWN_ATTR]:""},children:g()})]})};exports.TimePicker=de;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),r=require("react"),q=require("../../utils/cn.cjs"),re=require("../../hooks/useMediaQuery.cjs"),ae=require("../../hooks/useClickOutside.cjs");require("../../context/BearProvider.cjs");require("../../hooks/useBearComponent/useBearComponent.cjs");const se=require("../../hooks/useFixedAnchorPosition/useFixedAnchorPosition.cjs"),le=require("../../hooks/useFixedAnchorPosition/useFixedAnchorPosition.utils.cjs");require("../FormControl/FormControl.context.cjs");const oe=require("@forgedevstack/bear-icons"),ne=require("../OverlayPortal/OverlayPortal.cjs"),ce=require("./TimePicker.utils.cjs"),e=require("./TimePicker.constants.cjs"),ie=require("./components/TimePickerColumnsDropdown/TimePickerColumnsDropdown.cjs"),ue=require("./components/TimePickerDialDropdown/TimePickerDialDropdown.cjs"),de=t=>{const w={value:t.value,onChange:t.onChange,disabled:t.disabled??!1,placeholder:t.placeholder??"Select time",label:t.label,error:t.error,helperText:t.helperText,format:t.format??e.TIMEPICKER_FORMAT_12H,minuteStep:t.minuteStep??5,clearable:t.clearable??!0,className:t.className,size:t.size??"md",variant:t.variant??"default",dropdownVariant:t.dropdownVariant??e.TIMEPICKER_VARIANT_COLUMNS,dropdownVariantBreakpoint:t.dropdownVariantBreakpoint??e.TIMEPICKER_DEFAULT_BREAKPOINT,icon:t.icon,translations:t.translations,openEffect:t.openEffect,closeEffect:t.closeEffect,effect:t.effect,testId:t.testId},{openEffect:H,closeEffect:j}=le.resolveOverlayEffects(t),{value:F,onChange:o,disabled:T,placeholder:U,label:C,error:i,helperText:M,format:c,minuteStep:_,clearable:A,className:z,size:B,variant:W,dropdownVariant:S,dropdownVariantBreakpoint:Q,icon:X,translations:b,testId:G}=w,Z=re.useMediaQuery(`(min-width: ${Q}px)`),O=S===e.TIMEPICKER_VARIANT_AUTO?Z?e.TIMEPICKER_VARIANT_DIAL:e.TIMEPICKER_VARIANT_COLUMNS:S,m=O===e.TIMEPICKER_VARIANT_DIAL&&c===e.TIMEPICKER_FORMAT_24H?e.TIMEPICKER_VARIANT_COLUMNS:O,s=F,[n,u]=r.useState(!1),[d,p]=r.useState(12),[I,N]=r.useState(0),[E,h]=r.useState("AM"),K=r.useRef(null),P=r.useRef(null),x=r.useRef(null),{style:$,ready:J}=se.useFixedAnchorPosition({anchorRef:P,open:n,estimatedHeightPx:e.TIMEPICKER_DROPDOWN_HEIGHT_PX});r.useEffect(()=>{if(s&&typeof s=="string"){const[R,l]=s.split(" "),[ee,te]=R.split(":").map(Number);p(ee),N(te),l&&h(l)}},[s]);const Y=r.useCallback(()=>u(!1),[]);ae.useClickOutsideMultiple([K,x],Y,{enabled:n});const k=r.useCallback(()=>{o==null||o(ce.formatTime(d,I,E,c??e.TIMEPICKER_FORMAT_12H)),u(!1)},[o,d,I,E,c]),y=c===e.TIMEPICKER_FORMAT_12H?Array.from({length:e.TIMEPICKER_HOURS_12H},(R,l)=>l+1):Array.from({length:e.TIMEPICKER_HOURS_24H},(R,l)=>l),D=Array.from({length:e.TIMEPICKER_MINUTES_DIVISOR/(_??5)},(R,l)=>l*(_??5)),v=r.useCallback(()=>u(!1),[]),L=c??e.TIMEPICKER_FORMAT_12H,V=_??5,f=r.useMemo(()=>({selectedHour:d,setSelectedHour:p,selectedMinute:I,setSelectedMinute:N,period:E,setPeriod:h,format:L,hours:y,minutes:D,timeValue:s,clearable:A??!0,onChange:o,onConfirm:k,onClose:v,translations:b}),[d,I,E,L,y,D,s,A,o,k,v,b]),g=r.useCallback(()=>n?m===e.TIMEPICKER_VARIANT_DIAL?a.jsx(ue.TimePickerDialDropdown,{...f,minuteStep:V}):a.jsx(ie.TimePickerColumnsDropdown,{...f}):null,[n,m,f,V]);return a.jsxs("div",{ref:K,className:q.cn(e.TIMEPICKER_ROOT_CLASSES,z),"data-testid":G,children:[C&&a.jsx("label",{className:e.TIMEPICKER_LABEL_CLASSES,children:C}),a.jsxs("button",{ref:P,type:"button",onClick:()=>!T&&u(!n),disabled:T,className:q.cn(e.TIMEPICKER_BUTTON_CLASSES,e.sizeClasses[B??"md"],e.variantClasses[W??"default"],i?"bear-border-red-500":"focus:bear-border-primary-500",T&&"bear-opacity-50 bear-cursor-not-allowed",s?"bear-text-gray-900 dark:bear-text-white":"bear-text-gray-400 dark:bear-text-zinc-500"),children:[a.jsx("span",{children:s||U}),X??a.jsx(oe.ClockIcon,{className:e.TIMEPICKER_CLOCK_ICON_CLASS})]}),i&&a.jsx("p",{className:e.TIMEPICKER_ERROR_CLASSES,children:i}),M&&!i&&a.jsx("p",{className:e.TIMEPICKER_HELPER_CLASSES,children:M}),a.jsx(ne.OverlayPortal,{open:n,ready:J,style:$,zIndex:e.TIMEPICKER_DROPDOWN_Z_INDEX,openEffect:H,closeEffect:j,panelRef:x,attributes:{[e.TIMEPICKER_DROPDOWN_ATTR]:""},children:g()})]})};exports.TimePicker=de;
@@ -8,7 +8,7 @@ import "../../hooks/useBearComponent/useBearComponent.js";
8
8
  import { useFixedAnchorPosition as ie } from "../../hooks/useFixedAnchorPosition/useFixedAnchorPosition.js";
9
9
  import { resolveOverlayEffects as Ee } from "../../hooks/useFixedAnchorPosition/useFixedAnchorPosition.utils.js";
10
10
  import "../FormControl/FormControl.context.js";
11
- import { ClockIcon as Ie } from "../Icon/index.js";
11
+ import { ClockIcon as Ie } from "@forgedevstack/bear-icons";
12
12
  import { OverlayPortal as me } from "../OverlayPortal/OverlayPortal.js";
13
13
  import { formatTime as pe } from "./TimePicker.utils.js";
14
14
  import { TIMEPICKER_DEFAULT_BREAKPOINT as ue, TIMEPICKER_VARIANT_COLUMNS as C, TIMEPICKER_FORMAT_12H as p, TIMEPICKER_DROPDOWN_HEIGHT_PX as Re, TIMEPICKER_HOURS_12H as _e, TIMEPICKER_HOURS_24H as Te, TIMEPICKER_MINUTES_DIVISOR as Ce, TIMEPICKER_VARIANT_DIAL as S, TIMEPICKER_LABEL_CLASSES as Se, TIMEPICKER_CLOCK_ICON_CLASS as Me, variantClasses as be, sizeClasses as he, TIMEPICKER_BUTTON_CLASSES as Ae, TIMEPICKER_ERROR_CLASSES as Oe, TIMEPICKER_HELPER_CLASSES as Ne, TIMEPICKER_DROPDOWN_Z_INDEX as Ke, TIMEPICKER_DROPDOWN_ATTR as ye, TIMEPICKER_ROOT_CLASSES as ve, TIMEPICKER_FORMAT_24H as we, TIMEPICKER_VARIANT_AUTO as xe } from "./TimePicker.constants.js";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),b=require("react"),C=require("../../utils/cn.cjs"),f=require("../Typography/Typography.cjs"),a=require("./TimelineChart.const.cjs"),L=({items:n,min:d,max:h,barHeight:m=a.DEFAULT_BAR_HEIGHT,barGap:y=a.DEFAULT_BAR_GAP,showAxis:T=!0,axisTicks:s=a.DEFAULT_AXIS_TICKS,formatTick:_,onItemClick:l,testId:g,className:p,...v})=>{const{min:u,max:B,ticks:j}=b.useMemo(()=>{let e=d??1/0,t=h??-1/0;for(const i of n)i.start<e&&(e=i.start),i.end>t&&(t=i.end);isFinite(e)||(e=0),isFinite(t)||(t=100);const c=(t-e)/(s-1),o=Array.from({length:s},(i,A)=>e+c*A);return{min:e,max:t,ticks:o}},[n,d,h,s]),x=B-u||1;return r.jsxs("div",{className:C.cn("Bear-TimelineChart w-full",p),"data-testid":g,...v,children:[r.jsxs("div",{className:"Bear-TimelineChart__header flex",children:[r.jsx("div",{style:{width:a.LABEL_WIDTH},className:"flex-shrink-0"}),T&&r.jsx("div",{className:"Bear-TimelineChart__axis flex-1 flex justify-between mb-2",children:j.map((e,t)=>r.jsx(f.Typography,{variant:"caption",className:"Bear-TimelineChart__tick text-gray-400 dark:text-gray-500 text-[10px]",children:_?_(e):Math.round(e)},t))})]}),n.map((e,t)=>{const c=(e.start-u)/x*100,o=(e.end-e.start)/x*100,i=e.color??a.DEFAULT_COLORS[t%a.DEFAULT_COLORS.length];return r.jsxs("div",{className:"Bear-TimelineChart__row flex items-center",style:{height:m,marginBottom:y},children:[r.jsx("div",{style:{width:a.LABEL_WIDTH},className:"Bear-TimelineChart__label flex-shrink-0 pr-3 overflow-hidden",children:r.jsx(f.Typography,{variant:"caption",className:"truncate text-gray-700 dark:text-gray-300",children:e.label})}),r.jsx("div",{className:"Bear-TimelineChart__track flex-1 relative h-full bg-gray-100 dark:bg-zinc-800 rounded",children:r.jsx("div",{className:"Bear-TimelineChart__bar absolute top-0 h-full rounded cursor-pointer transition-opacity hover:opacity-80",style:{left:`${c}%`,width:`${o}%`,backgroundColor:i,minWidth:a.MIN_BAR_WIDTH},title:e.tooltip??`${e.label}: ${e.start} - ${e.end}`,onClick:()=>l==null?void 0:l(e,t)})})]},t)})]})};exports.TimelineChart=L;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),b=require("react"),j=require("../../utils/cn.cjs"),y=require("../Typography/Typography.cjs"),r=require("./TimelineChart.const.cjs"),R=({items:l,min:d,max:h,barHeight:x=r.DEFAULT_BAR_HEIGHT,barGap:f=r.DEFAULT_BAR_GAP,showAxis:p=!0,axisTicks:o=r.DEFAULT_AXIS_TICKS,formatTick:_,onItemClick:n,variant:g=r.TIMELINE_VARIANT_BARS,testId:A,className:N,...m})=>{const{min:u,max:v,ticks:B}=b.useMemo(()=>{let e=d??1/0,t=h??-1/0;for(const i of l)i.start<e&&(e=i.start),i.end>t&&(t=i.end);isFinite(e)||(e=0),isFinite(t)||(t=100);const s=(t-e)/(o-1),c=Array.from({length:o},(i,E)=>e+s*E);return{min:e,max:t,ticks:c}},[l,d,h,o]),T=v-u||1;return a.jsxs("div",{className:j.cn("Bear-TimelineChart w-full",N),"data-testid":A,...m,children:[a.jsxs("div",{className:"Bear-TimelineChart__header flex",children:[a.jsx("div",{style:{width:r.LABEL_WIDTH},className:"flex-shrink-0"}),p&&a.jsx("div",{className:"Bear-TimelineChart__axis flex-1 flex justify-between mb-2",children:B.map((e,t)=>a.jsx(y.Typography,{variant:"caption",className:"Bear-TimelineChart__tick text-gray-400 dark:text-gray-500 text-[10px]",children:_?_(e):Math.round(e)},t))})]}),l.map((e,t)=>{const s=(e.start-u)/T*100,c=(e.end-e.start)/T*100,i=e.color??r.DEFAULT_COLORS[t%r.DEFAULT_COLORS.length];return a.jsxs("div",{className:"Bear-TimelineChart__row flex items-center",style:{height:x,marginBottom:f},children:[a.jsx("div",{style:{width:r.LABEL_WIDTH},className:"Bear-TimelineChart__label flex-shrink-0 pr-3 overflow-hidden",children:a.jsx(y.Typography,{variant:"caption",className:"truncate text-gray-700 dark:text-gray-300",children:e.label})}),a.jsx("div",{className:"Bear-TimelineChart__track flex-1 relative h-full bg-gray-100 dark:bg-zinc-800 rounded",children:g===r.TIMELINE_VARIANT_POINTS?a.jsx("div",{className:"Bear-TimelineChart__point absolute top-1/2 -translate-y-1/2 rounded-full cursor-pointer transition-opacity hover:opacity-80",style:{left:`${s}%`,width:r.POINT_MARKER_SIZE,height:r.POINT_MARKER_SIZE,backgroundColor:i},title:e.tooltip??`${e.label}: ${e.start}`,onClick:()=>n==null?void 0:n(e,t)}):a.jsx("div",{className:"Bear-TimelineChart__bar absolute top-0 h-full rounded cursor-pointer transition-opacity hover:opacity-80",style:{left:`${s}%`,width:`${c}%`,backgroundColor:i,minWidth:r.MIN_BAR_WIDTH},title:e.tooltip??`${e.label}: ${e.start} - ${e.end}`,onClick:()=>n==null?void 0:n(e,t)})})]},t)})]})};exports.TimelineChart=R;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=28,_=6,T=6,L=120,t=4,D=["#ec4899","#8b5cf6","#3b82f6","#10b981","#f59e0b","#ef4444","#06b6d4"];exports.DEFAULT_AXIS_TICKS=T;exports.DEFAULT_BAR_GAP=_;exports.DEFAULT_BAR_HEIGHT=A;exports.DEFAULT_COLORS=D;exports.LABEL_WIDTH=L;exports.MIN_BAR_WIDTH=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=28,_=6,I=6,T=120,E=4,L=["#ec4899","#8b5cf6","#3b82f6","#10b981","#f59e0b","#ef4444","#06b6d4"],R="bars",t="points",o=10;exports.DEFAULT_AXIS_TICKS=I;exports.DEFAULT_BAR_GAP=_;exports.DEFAULT_BAR_HEIGHT=A;exports.DEFAULT_COLORS=L;exports.LABEL_WIDTH=T;exports.MIN_BAR_WIDTH=E;exports.POINT_MARKER_SIZE=o;exports.TIMELINE_VARIANT_BARS=R;exports.TIMELINE_VARIANT_POINTS=t;
@@ -4,3 +4,6 @@ export declare const DEFAULT_AXIS_TICKS = 6;
4
4
  export declare const LABEL_WIDTH = 120;
5
5
  export declare const MIN_BAR_WIDTH = 4;
6
6
  export declare const DEFAULT_COLORS: string[];
7
+ export declare const TIMELINE_VARIANT_BARS = "bars";
8
+ export declare const TIMELINE_VARIANT_POINTS = "points";
9
+ export declare const POINT_MARKER_SIZE = 10;
@@ -1,9 +1,12 @@
1
- const A = 28, _ = 6, c = 6, T = 120, o = 4, t = ["#ec4899", "#8b5cf6", "#3b82f6", "#10b981", "#f59e0b", "#ef4444", "#06b6d4"];
1
+ const A = 28, _ = 6, I = 6, T = 120, E = 4, c = ["#ec4899", "#8b5cf6", "#3b82f6", "#10b981", "#f59e0b", "#ef4444", "#06b6d4"], o = "bars", s = "points", t = 10;
2
2
  export {
3
- c as DEFAULT_AXIS_TICKS,
3
+ I as DEFAULT_AXIS_TICKS,
4
4
  _ as DEFAULT_BAR_GAP,
5
5
  A as DEFAULT_BAR_HEIGHT,
6
- t as DEFAULT_COLORS,
6
+ c as DEFAULT_COLORS,
7
7
  T as LABEL_WIDTH,
8
- o as MIN_BAR_WIDTH
8
+ E as MIN_BAR_WIDTH,
9
+ t as POINT_MARKER_SIZE,
10
+ o as TIMELINE_VARIANT_BARS,
11
+ s as TIMELINE_VARIANT_POINTS
9
12
  };