@bricks-toolkit/toolkit 0.1.1 → 0.1.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 (332) hide show
  1. package/README.md +9 -9
  2. package/dist/avatar/index.cjs +11 -1
  3. package/dist/avatar/index.mjs +2 -1
  4. package/dist/badge/index.cjs +11 -1
  5. package/dist/badge/index.mjs +2 -1
  6. package/dist/breadcrumbs/index.cjs +11 -1
  7. package/dist/breadcrumbs/index.mjs +2 -1
  8. package/dist/button/index.cjs +13 -2
  9. package/dist/button/index.mjs +4 -2
  10. package/dist/card/index.cjs +31 -1
  11. package/dist/card/index.mjs +2 -1
  12. package/dist/checkbox/index.cjs +11 -1
  13. package/dist/checkbox/index.mjs +2 -1
  14. package/dist/chunk-2POU3NX4.mjs +192 -0
  15. package/dist/chunk-32SKYPQW.mjs +156 -0
  16. package/dist/chunk-446OJWC6.mjs +285 -0
  17. package/dist/chunk-4DA7CRNV.mjs +376 -0
  18. package/dist/chunk-4DR57X7U.mjs +182 -0
  19. package/dist/chunk-4QSDPHPI.mjs +285 -0
  20. package/dist/chunk-56ILK7Y4.cjs +315 -0
  21. package/dist/chunk-5J3OMAO4.cjs +222 -0
  22. package/dist/chunk-5RKET2JO.cjs +287 -0
  23. package/dist/chunk-65UZC3FK.mjs +312 -0
  24. package/dist/chunk-6CC5KIA5.cjs +148 -0
  25. package/dist/chunk-6R3OYBQ6.cjs +209 -0
  26. package/dist/chunk-6UO72EJA.cjs +2 -0
  27. package/dist/chunk-6ZCY4O5M.mjs +63 -0
  28. package/dist/chunk-7364SUK6.mjs +359 -0
  29. package/dist/chunk-7DDDQ3RH.cjs +66 -0
  30. package/dist/chunk-7PDGAIC3.cjs +189 -0
  31. package/dist/chunk-7R5JRJ2W.cjs +255 -0
  32. package/dist/chunk-7WNJ7L4Z.mjs +335 -0
  33. package/dist/chunk-AJXVELXK.cjs +218 -0
  34. package/dist/chunk-ARTXRQO6.mjs +1 -0
  35. package/dist/chunk-B4OV5GRT.cjs +510 -0
  36. package/dist/chunk-B5MYGYJY.mjs +122 -0
  37. package/dist/chunk-BBVWG5GH.cjs +75 -0
  38. package/dist/chunk-BVBCAAES.mjs +35 -0
  39. package/dist/chunk-CBA54EY4.mjs +508 -0
  40. package/dist/chunk-CMER5LO3.mjs +330 -0
  41. package/dist/chunk-DHC5LI2P.cjs +338 -0
  42. package/dist/chunk-DMLPA65B.mjs +107 -0
  43. package/dist/chunk-DN2GFJF4.mjs +175 -0
  44. package/dist/chunk-ECLNLPOR.cjs +70 -0
  45. package/dist/chunk-EV463QT5.cjs +53 -0
  46. package/dist/chunk-FOVJHEWH.mjs +51 -0
  47. package/dist/chunk-G4HVY6FM.mjs +203 -0
  48. package/dist/chunk-H77YWN3L.mjs +220 -0
  49. package/dist/chunk-HIWJDLIS.cjs +124 -0
  50. package/dist/chunk-HQGDSOSN.mjs +274 -0
  51. package/dist/chunk-JKPNJ4PZ.mjs +313 -0
  52. package/dist/chunk-JV6AWBN5.mjs +113 -0
  53. package/dist/chunk-KA35BV7V.mjs +207 -0
  54. package/dist/chunk-KLBABQEJ.cjs +378 -0
  55. package/dist/chunk-L5VQZZVR.cjs +3197 -0
  56. package/dist/chunk-LTG6YP5I.cjs +69 -0
  57. package/dist/chunk-MVUNJPGH.cjs +184 -0
  58. package/dist/chunk-NMJ5CVZH.cjs +2 -0
  59. package/dist/chunk-NRCNRHXL.cjs +109 -0
  60. package/dist/chunk-NRZIXK35.cjs +276 -0
  61. package/dist/chunk-OCPFOFJ4.mjs +3195 -0
  62. package/dist/chunk-OEU5VG3D.cjs +362 -0
  63. package/dist/chunk-OPOCCRJG.cjs +193 -0
  64. package/dist/chunk-OQPCL5XX.mjs +187 -0
  65. package/dist/chunk-PCYGJNEQ.cjs +280 -0
  66. package/dist/chunk-PJH2KEWK.mjs +200 -0
  67. package/dist/chunk-PJWELBN2.cjs +115 -0
  68. package/dist/chunk-Q3IFXFFD.cjs +202 -0
  69. package/dist/chunk-R72GDCWE.cjs +314 -0
  70. package/dist/chunk-RAD5VJHR.mjs +146 -0
  71. package/dist/chunk-RYWDZHKG.mjs +274 -0
  72. package/dist/chunk-S7VEND5Z.cjs +162 -0
  73. package/dist/chunk-SBNNV6FE.mjs +1 -0
  74. package/dist/chunk-SFUOCZJY.mjs +187 -0
  75. package/dist/chunk-SHQ2MPBE.mjs +73 -0
  76. package/dist/chunk-TIVSMCXZ.mjs +253 -0
  77. package/dist/chunk-TNGW5YHA.cjs +37 -0
  78. package/dist/chunk-VC7MOPU6.cjs +287 -0
  79. package/dist/chunk-VHVFRWF5.mjs +64 -0
  80. package/dist/chunk-VKQDW7C2.mjs +336 -0
  81. package/dist/chunk-VRZFAKSV.cjs +177 -0
  82. package/dist/chunk-W2ZAPLQH.cjs +337 -0
  83. package/dist/chunk-XFNRKHHF.cjs +332 -0
  84. package/dist/chunk-Y3NTKFUE.mjs +66 -0
  85. package/dist/chunk-Y6AN7AWX.cjs +205 -0
  86. package/dist/chunk-YMMNWJT6.cjs +134 -0
  87. package/dist/chunk-YOTCXSXL.mjs +132 -0
  88. package/dist/combo-box/index.cjs +11 -1
  89. package/dist/combo-box/index.mjs +2 -1
  90. package/dist/date-picker/index.cjs +11 -2
  91. package/dist/date-picker/index.mjs +2 -2
  92. package/dist/dialog/index.cjs +27 -1
  93. package/dist/dialog/index.mjs +2 -1
  94. package/dist/dropdown-menu/index.cjs +27 -1
  95. package/dist/dropdown-menu/index.mjs +2 -1
  96. package/dist/email/index.cjs +11 -2
  97. package/dist/email/index.mjs +2 -2
  98. package/dist/file-upload/index.cjs +11 -1
  99. package/dist/file-upload/index.mjs +2 -1
  100. package/dist/header/index.cjs +14 -2
  101. package/dist/header/index.mjs +5 -2
  102. package/dist/icon-button/index.cjs +13 -2
  103. package/dist/icon-button/index.mjs +4 -2
  104. package/dist/image/index.cjs +12 -1
  105. package/dist/image/index.mjs +3 -1
  106. package/dist/index.cjs +839 -2
  107. package/dist/index.d.ts +141 -75
  108. package/dist/index.mjs +601 -2
  109. package/dist/link/index.cjs +11 -1
  110. package/dist/link/index.mjs +2 -1
  111. package/dist/loader/index.cjs +11 -2
  112. package/dist/loader/index.mjs +2 -2
  113. package/dist/modal/index.cjs +27 -1
  114. package/dist/modal/index.mjs +2 -1
  115. package/dist/multi-select/index.cjs +11 -2
  116. package/dist/multi-select/index.mjs +2 -2
  117. package/dist/otp-input/index.cjs +11 -1
  118. package/dist/otp-input/index.mjs +2 -1
  119. package/dist/password-input/index.cjs +11 -2
  120. package/dist/password-input/index.mjs +2 -2
  121. package/dist/phone/index.cjs +11 -2
  122. package/dist/phone/index.mjs +2 -2
  123. package/dist/radio-button/index.cjs +11 -1
  124. package/dist/radio-button/index.mjs +2 -1
  125. package/dist/search-input/index.cjs +12 -2
  126. package/dist/search-input/index.mjs +3 -2
  127. package/dist/select/index.cjs +11 -2
  128. package/dist/select/index.mjs +2 -2
  129. package/dist/sidebar/index.cjs +11 -1
  130. package/dist/sidebar/index.mjs +2 -1
  131. package/dist/skeleton/index.cjs +27 -1
  132. package/dist/skeleton/index.mjs +2 -1
  133. package/dist/styles.css +5074 -1
  134. package/dist/table/index.cjs +15 -1
  135. package/dist/table/index.mjs +2 -1
  136. package/dist/tabs/index.cjs +14 -2
  137. package/dist/tabs/index.mjs +5 -2
  138. package/dist/text-input/index.cjs +11 -2
  139. package/dist/text-input/index.mjs +2 -2
  140. package/dist/theme-provider/index.cjs +14 -1
  141. package/dist/theme-provider/index.mjs +1 -1
  142. package/dist/time-picker/index.cjs +11 -2
  143. package/dist/time-picker/index.mjs +2 -2
  144. package/dist/toaster/index.cjs +11 -1
  145. package/dist/toaster/index.mjs +2 -1
  146. package/dist/tooltip/index.cjs +12 -1
  147. package/dist/tooltip/index.mjs +3 -1
  148. package/package.json +122 -141
  149. package/dist/components/Accordion/Accordion.d.ts +0 -5
  150. package/dist/components/Accordion/Accordion.types.d.ts +0 -32
  151. package/dist/components/Accordion/index.d.ts +0 -2
  152. package/dist/components/Avatar/Avatar.d.ts +0 -2
  153. package/dist/components/Avatar/Avatar.stories.d.ts +0 -11
  154. package/dist/components/Avatar/Avatar.test.d.ts +0 -1
  155. package/dist/components/Avatar/Avatar.types.d.ts +0 -24
  156. package/dist/components/Avatar/index.d.ts +0 -2
  157. package/dist/components/Badge/Badge.d.ts +0 -11
  158. package/dist/components/Badge/Badge.stories.d.ts +0 -21
  159. package/dist/components/Badge/Badge.test.d.ts +0 -1
  160. package/dist/components/Badge/Badge.types.d.ts +0 -43
  161. package/dist/components/Badge/index.d.ts +0 -2
  162. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +0 -2
  163. package/dist/components/Breadcrumbs/Breadcrumbs.stories.d.ts +0 -13
  164. package/dist/components/Breadcrumbs/Breadcrumbs.test.d.ts +0 -1
  165. package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +0 -27
  166. package/dist/components/Breadcrumbs/index.d.ts +0 -2
  167. package/dist/components/Button/Button.d.ts +0 -2
  168. package/dist/components/Button/Button.stories.d.ts +0 -20
  169. package/dist/components/Button/Button.test.d.ts +0 -1
  170. package/dist/components/Button/Button.types.d.ts +0 -24
  171. package/dist/components/Button/index.d.ts +0 -2
  172. package/dist/components/Card/Card.d.ts +0 -25
  173. package/dist/components/Card/Card.stories.d.ts +0 -8
  174. package/dist/components/Card/Card.test.d.ts +0 -1
  175. package/dist/components/Card/Card.types.d.ts +0 -14
  176. package/dist/components/Card/index.d.ts +0 -2
  177. package/dist/components/Checkbox/Checkbox.d.ts +0 -2
  178. package/dist/components/Checkbox/Checkbox.stories.d.ts +0 -16
  179. package/dist/components/Checkbox/Checkbox.test.d.ts +0 -1
  180. package/dist/components/Checkbox/Checkbox.types.d.ts +0 -31
  181. package/dist/components/Checkbox/index.d.ts +0 -2
  182. package/dist/components/ComboBox/ComboBox.d.ts +0 -2
  183. package/dist/components/ComboBox/ComboBox.stories.d.ts +0 -12
  184. package/dist/components/ComboBox/ComboBox.test.d.ts +0 -1
  185. package/dist/components/ComboBox/ComboBox.types.d.ts +0 -57
  186. package/dist/components/ComboBox/index.d.ts +0 -2
  187. package/dist/components/DatePicker/DatePicker.d.ts +0 -2
  188. package/dist/components/DatePicker/DatePicker.stories.d.ts +0 -25
  189. package/dist/components/DatePicker/DatePicker.test.d.ts +0 -1
  190. package/dist/components/DatePicker/DatePicker.types.d.ts +0 -27
  191. package/dist/components/DatePicker/index.d.ts +0 -2
  192. package/dist/components/Dialog/Dialog.d.ts +0 -6
  193. package/dist/components/Dialog/Dialog.stories.d.ts +0 -9
  194. package/dist/components/Dialog/Dialog.test.d.ts +0 -1
  195. package/dist/components/Dialog/Dialog.types.d.ts +0 -52
  196. package/dist/components/Dialog/index.d.ts +0 -2
  197. package/dist/components/DropdownMenu/DropdownMenu.d.ts +0 -7
  198. package/dist/components/DropdownMenu/DropdownMenu.stories.d.ts +0 -9
  199. package/dist/components/DropdownMenu/DropdownMenu.test.d.ts +0 -1
  200. package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +0 -24
  201. package/dist/components/DropdownMenu/index.d.ts +0 -2
  202. package/dist/components/Email/Email.d.ts +0 -2
  203. package/dist/components/Email/Email.stories.d.ts +0 -11
  204. package/dist/components/Email/Email.test.d.ts +0 -1
  205. package/dist/components/Email/Email.types.d.ts +0 -33
  206. package/dist/components/Email/index.d.ts +0 -2
  207. package/dist/components/FileUpload/FileUpload.d.ts +0 -2
  208. package/dist/components/FileUpload/FileUpload.stories.d.ts +0 -10
  209. package/dist/components/FileUpload/FileUpload.test.d.ts +0 -1
  210. package/dist/components/FileUpload/FileUpload.types.d.ts +0 -22
  211. package/dist/components/FileUpload/index.d.ts +0 -2
  212. package/dist/components/Header/Header.d.ts +0 -7
  213. package/dist/components/Header/Header.stories.d.ts +0 -8
  214. package/dist/components/Header/Header.test.d.ts +0 -1
  215. package/dist/components/Header/Header.types.d.ts +0 -19
  216. package/dist/components/Header/index.d.ts +0 -2
  217. package/dist/components/IconButton/IconButton.d.ts +0 -2
  218. package/dist/components/IconButton/IconButton.stories.d.ts +0 -17
  219. package/dist/components/IconButton/IconButton.types.d.ts +0 -10
  220. package/dist/components/IconButton/index.d.ts +0 -2
  221. package/dist/components/Image/Image.d.ts +0 -6
  222. package/dist/components/Image/Image.stories.d.ts +0 -13
  223. package/dist/components/Image/Image.test.d.ts +0 -1
  224. package/dist/components/Image/Image.types.d.ts +0 -40
  225. package/dist/components/Image/index.d.ts +0 -2
  226. package/dist/components/Link/Link.d.ts +0 -2
  227. package/dist/components/Link/Link.stories.d.ts +0 -15
  228. package/dist/components/Link/Link.test.d.ts +0 -1
  229. package/dist/components/Link/Link.types.d.ts +0 -20
  230. package/dist/components/Link/index.d.ts +0 -2
  231. package/dist/components/Loader/Loader.d.ts +0 -2
  232. package/dist/components/Loader/Loader.stories.d.ts +0 -12
  233. package/dist/components/Loader/Loader.test.d.ts +0 -1
  234. package/dist/components/Loader/Loader.types.d.ts +0 -17
  235. package/dist/components/Loader/index.d.ts +0 -2
  236. package/dist/components/Modal/Modal.d.ts +0 -14
  237. package/dist/components/Modal/Modal.stories.d.ts +0 -14
  238. package/dist/components/Modal/Modal.test.d.ts +0 -1
  239. package/dist/components/Modal/Modal.types.d.ts +0 -100
  240. package/dist/components/Modal/index.d.ts +0 -2
  241. package/dist/components/MultiSelect/MultiSelect.d.ts +0 -2
  242. package/dist/components/MultiSelect/MultiSelect.stories.d.ts +0 -15
  243. package/dist/components/MultiSelect/MultiSelect.test.d.ts +0 -1
  244. package/dist/components/MultiSelect/MultiSelect.types.d.ts +0 -55
  245. package/dist/components/MultiSelect/index.d.ts +0 -2
  246. package/dist/components/OtpInput/OtpInput.d.ts +0 -2
  247. package/dist/components/OtpInput/OtpInput.stories.d.ts +0 -10
  248. package/dist/components/OtpInput/OtpInput.test.d.ts +0 -1
  249. package/dist/components/OtpInput/OtpInput.types.d.ts +0 -53
  250. package/dist/components/OtpInput/index.d.ts +0 -2
  251. package/dist/components/PasswordInput/PasswordInput.d.ts +0 -2
  252. package/dist/components/PasswordInput/PasswordInput.stories.d.ts +0 -23
  253. package/dist/components/PasswordInput/PasswordInput.test.d.ts +0 -1
  254. package/dist/components/PasswordInput/PasswordInput.types.d.ts +0 -27
  255. package/dist/components/PasswordInput/index.d.ts +0 -2
  256. package/dist/components/Phone/Phone.d.ts +0 -2
  257. package/dist/components/Phone/Phone.stories.d.ts +0 -11
  258. package/dist/components/Phone/Phone.test.d.ts +0 -1
  259. package/dist/components/Phone/Phone.types.d.ts +0 -36
  260. package/dist/components/Phone/countries.d.ts +0 -8
  261. package/dist/components/Phone/index.d.ts +0 -2
  262. package/dist/components/RadioButton/RadioButton.d.ts +0 -2
  263. package/dist/components/RadioButton/RadioButton.stories.d.ts +0 -21
  264. package/dist/components/RadioButton/RadioButton.test.d.ts +0 -1
  265. package/dist/components/RadioButton/RadioButton.types.d.ts +0 -51
  266. package/dist/components/RadioButton/index.d.ts +0 -2
  267. package/dist/components/SearchInput/SearchInput.d.ts +0 -6
  268. package/dist/components/SearchInput/SearchInput.stories.d.ts +0 -8
  269. package/dist/components/SearchInput/SearchInput.test.d.ts +0 -1
  270. package/dist/components/SearchInput/SearchInput.types.d.ts +0 -12
  271. package/dist/components/SearchInput/index.d.ts +0 -2
  272. package/dist/components/Select/Select.d.ts +0 -2
  273. package/dist/components/Select/Select.stories.d.ts +0 -12
  274. package/dist/components/Select/Select.test.d.ts +0 -1
  275. package/dist/components/Select/Select.types.d.ts +0 -31
  276. package/dist/components/Select/index.d.ts +0 -2
  277. package/dist/components/Sidebar/Sidebar.d.ts +0 -7
  278. package/dist/components/Sidebar/Sidebar.stories.d.ts +0 -10
  279. package/dist/components/Sidebar/Sidebar.test.d.ts +0 -1
  280. package/dist/components/Sidebar/Sidebar.types.d.ts +0 -87
  281. package/dist/components/Sidebar/index.d.ts +0 -2
  282. package/dist/components/Skeleton/Skeleton.d.ts +0 -26
  283. package/dist/components/Skeleton/Skeleton.stories.d.ts +0 -13
  284. package/dist/components/Skeleton/Skeleton.types.d.ts +0 -47
  285. package/dist/components/Skeleton/index.d.ts +0 -2
  286. package/dist/components/Stepper/Stepper.d.ts +0 -2
  287. package/dist/components/Stepper/Stepper.stories.d.ts +0 -23
  288. package/dist/components/Stepper/Stepper.test.d.ts +0 -1
  289. package/dist/components/Stepper/Stepper.types.d.ts +0 -47
  290. package/dist/components/Stepper/index.d.ts +0 -2
  291. package/dist/components/Table/Pagination.d.ts +0 -3
  292. package/dist/components/Table/Table.d.ts +0 -3
  293. package/dist/components/Table/Table.stories.d.ts +0 -13
  294. package/dist/components/Table/Table.test.d.ts +0 -1
  295. package/dist/components/Table/Table.types.d.ts +0 -85
  296. package/dist/components/Table/index.d.ts +0 -3
  297. package/dist/components/Tabs/Tabs.d.ts +0 -2
  298. package/dist/components/Tabs/Tabs.stories.d.ts +0 -17
  299. package/dist/components/Tabs/Tabs.test.d.ts +0 -1
  300. package/dist/components/Tabs/Tabs.types.d.ts +0 -21
  301. package/dist/components/Tabs/index.d.ts +0 -2
  302. package/dist/components/TextInput/TextInput.d.ts +0 -2
  303. package/dist/components/TextInput/TextInput.stories.d.ts +0 -25
  304. package/dist/components/TextInput/TextInput.test.d.ts +0 -1
  305. package/dist/components/TextInput/TextInput.types.d.ts +0 -29
  306. package/dist/components/TextInput/index.d.ts +0 -2
  307. package/dist/components/ThemeProvider/ThemeProvider.d.ts +0 -8
  308. package/dist/components/ThemeProvider/ThemeProvider.stories.d.ts +0 -16
  309. package/dist/components/ThemeProvider/ThemeProvider.test.d.ts +0 -1
  310. package/dist/components/ThemeProvider/ThemeProvider.types.d.ts +0 -112
  311. package/dist/components/ThemeProvider/index.d.ts +0 -2
  312. package/dist/components/TimePicker/TimePicker.d.ts +0 -2
  313. package/dist/components/TimePicker/TimePicker.stories.d.ts +0 -23
  314. package/dist/components/TimePicker/TimePicker.test.d.ts +0 -1
  315. package/dist/components/TimePicker/TimePicker.types.d.ts +0 -27
  316. package/dist/components/TimePicker/index.d.ts +0 -2
  317. package/dist/components/Toaster/Toaster.d.ts +0 -2
  318. package/dist/components/Toaster/Toaster.stories.d.ts +0 -13
  319. package/dist/components/Toaster/Toaster.test.d.ts +0 -1
  320. package/dist/components/Toaster/Toaster.types.d.ts +0 -23
  321. package/dist/components/Toaster/index.d.ts +0 -2
  322. package/dist/components/Toggle/Toggle.d.ts +0 -2
  323. package/dist/components/Toggle/Toggle.stories.d.ts +0 -11
  324. package/dist/components/Toggle/Toggle.types.d.ts +0 -10
  325. package/dist/components/Toggle/index.d.ts +0 -2
  326. package/dist/components/Tooltip/Tooltip.d.ts +0 -2
  327. package/dist/components/Tooltip/Tooltip.stories.d.ts +0 -13
  328. package/dist/components/Tooltip/Tooltip.test.d.ts +0 -1
  329. package/dist/components/Tooltip/Tooltip.types.d.ts +0 -33
  330. package/dist/components/Tooltip/index.d.ts +0 -2
  331. package/dist/utils/cn.d.ts +0 -2
  332. package/dist/utils/index.d.ts +0 -1
@@ -0,0 +1,332 @@
1
+ 'use strict';
2
+
3
+ var chunkL5VQZZVR_cjs = require('./chunk-L5VQZZVR.cjs');
4
+ var react = require('react');
5
+ var outline = require('@heroicons/react/24/outline');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ var sizeClasses = {
9
+ xs: "h-6 px-2 text-xs",
10
+ sm: "h-8 px-3 text-sm",
11
+ md: "h-10 px-3 text-sm",
12
+ lg: "h-11 px-4 text-base",
13
+ xl: "h-12 px-4 text-lg"
14
+ };
15
+ var labelSizeClasses = {
16
+ xs: "text-xs",
17
+ sm: "text-xs",
18
+ md: "text-sm",
19
+ lg: "text-sm",
20
+ xl: "text-base"
21
+ };
22
+ var variantClasses = {
23
+ default: "rounded-md border border-border bg-surface shadow-sm focus:outline-none",
24
+ filled: "rounded-md border border-transparent bg-surface-secondary focus:bg-surface focus:outline-none",
25
+ flushed: "rounded-none border-0 border-b border-border bg-transparent focus:outline-none",
26
+ unstyled: "border-0 bg-transparent p-0 focus:outline-none"
27
+ };
28
+ var stateVariantClasses = {
29
+ default: {
30
+ default: "border-border focus:border-primary",
31
+ filled: "focus:border-primary",
32
+ flushed: "border-border focus:border-primary",
33
+ unstyled: ""
34
+ },
35
+ error: {
36
+ default: "border-error focus:border-error",
37
+ filled: "bg-error/5 focus:border-error",
38
+ flushed: "border-error focus:border-error",
39
+ unstyled: ""
40
+ },
41
+ success: {
42
+ default: "border-success focus:border-success",
43
+ filled: "bg-success/5 focus:border-success",
44
+ flushed: "border-success focus:border-success",
45
+ unstyled: ""
46
+ },
47
+ warning: {
48
+ default: "border-warning focus:border-warning",
49
+ filled: "bg-warning/5 focus:border-warning",
50
+ flushed: "border-warning focus:border-warning",
51
+ unstyled: ""
52
+ }
53
+ };
54
+ var stateMessageClasses = {
55
+ default: "text-text-muted",
56
+ error: "text-error",
57
+ success: "text-success",
58
+ warning: "text-warning"
59
+ };
60
+ function getStateMessage(state, errorMessage, successMessage, warningMessage) {
61
+ if (state === "error" && errorMessage) return errorMessage;
62
+ if (state === "success" && successMessage) return successMessage;
63
+ if (state === "warning" && warningMessage) return warningMessage;
64
+ return void 0;
65
+ }
66
+ function Addon({ children, side }) {
67
+ return /* @__PURE__ */ jsxRuntime.jsx(
68
+ "span",
69
+ {
70
+ "aria-hidden": "true",
71
+ className: chunkL5VQZZVR_cjs.cn(
72
+ "inline-flex items-center border border-border bg-surface-secondary px-3 text-sm text-text-secondary select-none",
73
+ side === "left" ? "rounded-l-md border-r-0" : "rounded-r-md border-l-0"
74
+ ),
75
+ children
76
+ }
77
+ );
78
+ }
79
+ var TextInput = react.forwardRef(function TextInput2({
80
+ label,
81
+ required = false,
82
+ helperText,
83
+ errorMessage,
84
+ successMessage,
85
+ warningMessage,
86
+ variant = "default",
87
+ size = "md",
88
+ state = "default",
89
+ fullWidth = true,
90
+ leftElement,
91
+ rightElement,
92
+ prefix,
93
+ suffix,
94
+ wrapperClassName,
95
+ inputGroupClassName,
96
+ inputClassName,
97
+ labelClassName,
98
+ helperClassName,
99
+ id: idProp,
100
+ disabled,
101
+ className,
102
+ clearable,
103
+ isLoading,
104
+ multiline,
105
+ rows = 4,
106
+ type = "text",
107
+ value,
108
+ onChange,
109
+ ...rest
110
+ }, ref) {
111
+ const generatedId = react.useId();
112
+ const inputId = idProp ?? generatedId;
113
+ const helperId = `${inputId}-helper`;
114
+ const stateMessageId = `${inputId}-state`;
115
+ const [internalType, setInternalType] = react.useState(type);
116
+ const showPasswordToggle = type === "password";
117
+ const isValueString = typeof value === "string" || typeof value === "number";
118
+ const showClear = clearable && isValueString && String(value).length > 0;
119
+ const hasLeftElement = leftElement !== void 0;
120
+ const hasRightElement = rightElement !== void 0 || Boolean(showClear) || Boolean(isLoading) || showPasswordToggle;
121
+ const stateMessage = getStateMessage(state, errorMessage, successMessage, warningMessage);
122
+ const describedBy = [helperText ? helperId : null, stateMessage ? stateMessageId : null].filter(Boolean).join(" ") || void 0;
123
+ const handleClear = () => {
124
+ const inputElement = ref && typeof ref === "object" && "current" in ref ? ref.current : null;
125
+ if (inputElement) {
126
+ Object.getOwnPropertyDescriptor(
127
+ (multiline ? window.HTMLTextAreaElement : window.HTMLInputElement).prototype,
128
+ "value"
129
+ )?.set?.call(inputElement, "");
130
+ const event = new Event("input", { bubbles: true });
131
+ inputElement.dispatchEvent(event);
132
+ } else if (onChange) {
133
+ const e = {
134
+ target: { value: "" },
135
+ currentTarget: { value: "" },
136
+ preventDefault: () => {
137
+ },
138
+ stopPropagation: () => {
139
+ }
140
+ };
141
+ onChange(e);
142
+ }
143
+ };
144
+ const renderRightIcon = () => {
145
+ if (isLoading) {
146
+ return /* @__PURE__ */ jsxRuntime.jsxs(
147
+ "svg",
148
+ {
149
+ className: "animate-spin h-5 w-5 text-text-muted",
150
+ xmlns: "http://www.w3.org/2000/svg",
151
+ fill: "none",
152
+ viewBox: "0 0 24 24",
153
+ children: [
154
+ /* @__PURE__ */ jsxRuntime.jsx(
155
+ "circle",
156
+ {
157
+ className: "opacity-25",
158
+ cx: "12",
159
+ cy: "12",
160
+ r: "10",
161
+ stroke: "currentColor",
162
+ strokeWidth: "4"
163
+ }
164
+ ),
165
+ /* @__PURE__ */ jsxRuntime.jsx(
166
+ "path",
167
+ {
168
+ className: "opacity-75",
169
+ fill: "currentColor",
170
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
171
+ }
172
+ )
173
+ ]
174
+ }
175
+ );
176
+ }
177
+ if (showClear) {
178
+ return /* @__PURE__ */ jsxRuntime.jsx(
179
+ "button",
180
+ {
181
+ type: "button",
182
+ onClick: handleClear,
183
+ className: "flex items-center justify-center rounded-full text-text-muted hover:text-text hover:bg-interaction-hover p-0.5 transition w-6 h-6 border-0 bg-transparent cursor-pointer",
184
+ "aria-label": "Clear input",
185
+ children: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "w-[18px] h-[18px]" })
186
+ }
187
+ );
188
+ }
189
+ if (showPasswordToggle) {
190
+ return /* @__PURE__ */ jsxRuntime.jsx(
191
+ "button",
192
+ {
193
+ type: "button",
194
+ onClick: () => {
195
+ setInternalType((prev) => prev === "password" ? "text" : "password");
196
+ },
197
+ className: "flex items-center justify-center rounded-full text-text-muted hover:text-text transition w-6 h-6 border-0 bg-transparent cursor-pointer",
198
+ "aria-label": internalType === "password" ? "Show password" : "Hide password",
199
+ children: internalType === "password" ? /* @__PURE__ */ jsxRuntime.jsx(outline.EyeIcon, { className: "w-5 h-5" }) : /* @__PURE__ */ jsxRuntime.jsx(outline.EyeSlashIcon, { className: "w-5 h-5" })
200
+ }
201
+ );
202
+ }
203
+ return rightElement;
204
+ };
205
+ const commonInputProps = {
206
+ id: inputId,
207
+ disabled: Boolean(disabled) || Boolean(isLoading),
208
+ value,
209
+ onChange,
210
+ "aria-invalid": state === "error" ? true : void 0,
211
+ "aria-describedby": describedBy,
212
+ "aria-required": required,
213
+ className: chunkL5VQZZVR_cjs.cn(
214
+ "w-full bg-transparent border-0 focus:outline-none focus:ring-0 outline-none h-full",
215
+ !multiline && sizeClasses[size],
216
+ multiline && "py-3 px-4 resize-none",
217
+ type === "number" && "[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",
218
+ inputClassName
219
+ ),
220
+ style: {
221
+ paddingLeft: hasLeftElement ? "0.5rem" : void 0,
222
+ paddingRight: hasRightElement ? "0.5rem" : void 0
223
+ },
224
+ ...rest
225
+ };
226
+ return /* @__PURE__ */ jsxRuntime.jsxs(
227
+ "div",
228
+ {
229
+ className: chunkL5VQZZVR_cjs.cn(
230
+ "flex flex-col gap-1",
231
+ fullWidth ? "w-full" : "w-fit",
232
+ wrapperClassName,
233
+ className
234
+ ),
235
+ children: [
236
+ label !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(
237
+ "label",
238
+ {
239
+ htmlFor: inputId,
240
+ className: chunkL5VQZZVR_cjs.cn(
241
+ "font-black leading-none text-text mb-2 uppercase tracking-widest",
242
+ labelSizeClasses[size],
243
+ labelClassName
244
+ ),
245
+ children: [
246
+ label,
247
+ required && /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "ml-1 text-error", children: "*" })
248
+ ]
249
+ }
250
+ ),
251
+ /* @__PURE__ */ jsxRuntime.jsxs(
252
+ "div",
253
+ {
254
+ className: chunkL5VQZZVR_cjs.cn(
255
+ "flex items-stretch transition-all duration-150 overflow-hidden",
256
+ variantClasses[variant],
257
+ stateVariantClasses[state][variant],
258
+ fullWidth ? "w-full" : "w-fit",
259
+ "focus-within:ring-4 focus-within:ring-primary/20 focus-within:border-primary",
260
+ disabled && "opacity-50 cursor-not-allowed bg-surface-secondary",
261
+ multiline && "h-auto",
262
+ inputGroupClassName
263
+ ),
264
+ children: [
265
+ prefix !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(Addon, { side: "left", children: prefix }),
266
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 items-center min-w-0", children: [
267
+ hasLeftElement && /* @__PURE__ */ jsxRuntime.jsx(
268
+ "div",
269
+ {
270
+ className: chunkL5VQZZVR_cjs.cn(
271
+ "pl-3 shrink-0 flex items-center justify-center",
272
+ multiline && "self-start mt-3"
273
+ ),
274
+ "aria-hidden": "true",
275
+ children: leftElement
276
+ }
277
+ ),
278
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 min-w-0 h-full", children: multiline ? /* @__PURE__ */ jsxRuntime.jsx(
279
+ "textarea",
280
+ {
281
+ ref,
282
+ rows,
283
+ ...commonInputProps
284
+ }
285
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
286
+ "input",
287
+ {
288
+ ref,
289
+ type: internalType,
290
+ ...commonInputProps,
291
+ onKeyDown: (e) => {
292
+ if (type === "number" && ["e", "E", "+"].includes(e.key)) {
293
+ e.preventDefault();
294
+ }
295
+ rest.onKeyDown?.(e);
296
+ }
297
+ }
298
+ ) }),
299
+ hasRightElement && /* @__PURE__ */ jsxRuntime.jsx(
300
+ "div",
301
+ {
302
+ className: chunkL5VQZZVR_cjs.cn(
303
+ "pr-3 shrink-0 flex items-center justify-center text-text-secondary",
304
+ multiline && "self-start mt-3"
305
+ ),
306
+ style: { width: "2.5rem" },
307
+ "aria-hidden": "true",
308
+ children: renderRightIcon()
309
+ }
310
+ )
311
+ ] }),
312
+ suffix !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(Addon, { side: "right", children: suffix })
313
+ ]
314
+ }
315
+ ),
316
+ helperText !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { id: helperId, className: chunkL5VQZZVR_cjs.cn("text-xs leading-tight text-text-muted ", helperClassName), children: helperText }),
317
+ stateMessage !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
318
+ "p",
319
+ {
320
+ id: stateMessageId,
321
+ role: state === "error" ? "alert" : void 0,
322
+ className: chunkL5VQZZVR_cjs.cn("text-xs leading-tight mt-1", stateMessageClasses[state], helperClassName),
323
+ children: stateMessage
324
+ }
325
+ )
326
+ ]
327
+ }
328
+ );
329
+ });
330
+ TextInput.displayName = "TextInput";
331
+
332
+ exports.TextInput = TextInput;
@@ -0,0 +1,66 @@
1
+ import { createContext, useState, useEffect, useContext } from 'react';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ // src/components/ThemeProvider/ThemeProvider.tsx
5
+ var ThemeProviderContext = createContext(void 0);
6
+ var ThemeProvider = ({
7
+ children,
8
+ defaultTheme = "system",
9
+ storageKey = "ui-theme",
10
+ themeConfig,
11
+ ...props
12
+ }) => {
13
+ const [theme, setTheme] = useState(() => {
14
+ if (typeof window === "undefined") return defaultTheme;
15
+ const stored = localStorage.getItem(storageKey);
16
+ return stored ? stored : defaultTheme;
17
+ });
18
+ useEffect(() => {
19
+ const root = window.document.documentElement;
20
+ const applyTheme = () => {
21
+ root.classList.remove("light", "dark");
22
+ const currentTheme = theme === "system" ? window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : theme;
23
+ root.classList.add(currentTheme);
24
+ if (themeConfig) {
25
+ const config = themeConfig[currentTheme] ?? {};
26
+ Object.entries(config).forEach(([key, value2]) => {
27
+ if (value2) {
28
+ const variableName = `--${key.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`;
29
+ root.style.setProperty(variableName, value2);
30
+ }
31
+ });
32
+ }
33
+ };
34
+ applyTheme();
35
+ if (theme === "system") {
36
+ const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
37
+ const listener = () => {
38
+ applyTheme();
39
+ };
40
+ mediaQuery.addEventListener("change", listener);
41
+ return () => {
42
+ mediaQuery.removeEventListener("change", listener);
43
+ };
44
+ }
45
+ return void 0;
46
+ }, [theme, themeConfig]);
47
+ const value = {
48
+ theme,
49
+ setTheme: (newTheme) => {
50
+ localStorage.setItem(storageKey, newTheme);
51
+ setTheme(newTheme);
52
+ }
53
+ };
54
+ if (themeConfig !== void 0) {
55
+ value.themeConfig = themeConfig;
56
+ }
57
+ return /* @__PURE__ */ jsx(ThemeProviderContext.Provider, { ...props, value, children });
58
+ };
59
+ var useTheme = () => {
60
+ const context = useContext(ThemeProviderContext);
61
+ if (context === void 0) throw new Error("useTheme must be used within a ThemeProvider");
62
+ return context;
63
+ };
64
+ ThemeProvider.displayName = "ThemeProvider";
65
+
66
+ export { ThemeProvider, useTheme };
@@ -0,0 +1,205 @@
1
+ 'use strict';
2
+
3
+ var chunkTNGW5YHA_cjs = require('./chunk-TNGW5YHA.cjs');
4
+ var chunkL5VQZZVR_cjs = require('./chunk-L5VQZZVR.cjs');
5
+ var react = require('react');
6
+ var outline = require('@heroicons/react/24/outline');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ var sizeClasses = {
10
+ xs: "h-8 px-3 text-xs tracking-tight",
11
+ sm: "h-9 px-4 text-sm tracking-tight",
12
+ md: "h-10 px-5 text-sm font-medium tracking-tight",
13
+ lg: "h-11 px-6 text-base font-medium tracking-tight",
14
+ xl: "h-12 px-8 text-lg font-medium tracking-tight"
15
+ };
16
+ var variantListClasses = {
17
+ default: "border-b border-border/60 bg-transparent gap-2",
18
+ filled: "bg-surface-secondary/80 p-1.5 rounded-xl gap-1.5 border border-border/40 shadow-inner backdrop-blur-sm",
19
+ flushed: "border-b border-border/60 bg-transparent gap-8",
20
+ unstyled: "gap-4"
21
+ };
22
+ var variantTabClasses = {
23
+ default: {
24
+ default: "border border-transparent text-text-muted hover:text-text hover:bg-hover/5 rounded-t-lg mb-[-1px] transition-all duration-normal",
25
+ selected: "border border-border border-b-surface text-primary rounded-t-lg mb-[-1px] bg-surface font-bold shadow-[0_-4px_12px_-4px_rgba(0,0,0,0.08)]"
26
+ },
27
+ filled: {
28
+ default: "text-text-muted hover:text-text rounded-lg hover:bg-hover/30 transition-all duration-normal px-4",
29
+ selected: "bg-surface text-primary shadow-md rounded-lg font-bold scale-[1.02] px-4"
30
+ },
31
+ flushed: {
32
+ default: "border-b-2 border-transparent text-text-muted hover:text-text hover:border-border/40 mb-[-1px] transition-all duration-normal px-1",
33
+ selected: "border-b-2 border-primary text-primary mb-[-1px] font-bold px-1 tracking-normal"
34
+ },
35
+ unstyled: {
36
+ default: "text-text-muted hover:text-text transition-all duration-normal opacity-70 hover:opacity-100",
37
+ selected: "text-primary font-bold"
38
+ }
39
+ };
40
+ var Tabs = react.forwardRef(function Tabs2({
41
+ items,
42
+ defaultSelectedId,
43
+ selectedId: externalSelectedId,
44
+ onChange,
45
+ variant = "default",
46
+ size = "md",
47
+ fullWidth = false,
48
+ className,
49
+ tabListClassName,
50
+ tabClassName,
51
+ tabPanelClassName,
52
+ ...rest
53
+ }, ref) {
54
+ const [internalSelectedId, setInternalSelectedId] = react.useState(() => {
55
+ if (externalSelectedId !== void 0) return externalSelectedId;
56
+ if (defaultSelectedId !== void 0) return defaultSelectedId;
57
+ return items.length > 0 ? items[0]?.id ?? "" : "";
58
+ });
59
+ const scrollContainerRef = react.useRef(null);
60
+ const [canScrollLeft, setCanScrollLeft] = react.useState(false);
61
+ const [canScrollRight, setCanScrollRight] = react.useState(false);
62
+ const isControlled = externalSelectedId !== void 0;
63
+ const currentSelectedId = isControlled ? externalSelectedId : internalSelectedId;
64
+ const handleTabClick = (id, disabled) => {
65
+ if (disabled) return;
66
+ if (!isControlled) {
67
+ setInternalSelectedId(id);
68
+ }
69
+ onChange?.(id);
70
+ };
71
+ const checkScroll = () => {
72
+ if (scrollContainerRef.current) {
73
+ const { scrollLeft, scrollWidth, clientWidth } = scrollContainerRef.current;
74
+ setCanScrollLeft(scrollLeft > 5);
75
+ setCanScrollRight(scrollLeft < scrollWidth - clientWidth - 5);
76
+ }
77
+ };
78
+ react.useEffect(() => {
79
+ const container = scrollContainerRef.current;
80
+ if (!container) return;
81
+ checkScroll();
82
+ container.addEventListener("scroll", checkScroll);
83
+ window.addEventListener("resize", checkScroll);
84
+ const timer = setTimeout(checkScroll, 100);
85
+ return () => {
86
+ container.removeEventListener("scroll", checkScroll);
87
+ window.removeEventListener("resize", checkScroll);
88
+ clearTimeout(timer);
89
+ };
90
+ }, [items, fullWidth]);
91
+ const scroll = (direction) => {
92
+ if (scrollContainerRef.current) {
93
+ const scrollAmount = scrollContainerRef.current.clientWidth / 2;
94
+ scrollContainerRef.current.scrollBy({
95
+ left: direction === "left" ? -scrollAmount : scrollAmount,
96
+ behavior: "smooth"
97
+ });
98
+ }
99
+ };
100
+ react.useEffect(() => {
101
+ if (scrollContainerRef.current) {
102
+ const activeTab = scrollContainerRef.current.querySelector('[aria-selected="true"]');
103
+ if (activeTab) {
104
+ activeTab.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "center" });
105
+ }
106
+ }
107
+ }, [currentSelectedId]);
108
+ const selectedItem = items.find((item) => item.id === currentSelectedId);
109
+ if (items.length === 0) {
110
+ return null;
111
+ }
112
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: chunkL5VQZZVR_cjs.cn("w-full", className), ...rest, children: [
113
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative group/tabs flex items-center", children: [
114
+ canScrollLeft && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute left-0 z-20 flex h-full items-center pl-1 lg:hidden pointer-events-none", children: [
115
+ /* @__PURE__ */ jsxRuntime.jsx(
116
+ chunkTNGW5YHA_cjs.IconButton,
117
+ {
118
+ icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChevronLeftIcon, { className: "w-4 h-4" }),
119
+ "aria-label": "Scroll left",
120
+ variant: "ghost",
121
+ size: "xs",
122
+ isRound: true,
123
+ onClick: () => {
124
+ scroll("left");
125
+ },
126
+ className: "pointer-events-auto shadow-xl border border-border/20 bg-surface/98 backdrop-blur-xl hover:bg-primary hover:text-surface transition-all duration-300"
127
+ }
128
+ ),
129
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-12 h-full bg-gradient-to-r from-surface/80 to-transparent pointer-events-none -ml-6" })
130
+ ] }),
131
+ /* @__PURE__ */ jsxRuntime.jsx(
132
+ "div",
133
+ {
134
+ ref: scrollContainerRef,
135
+ className: chunkL5VQZZVR_cjs.cn(
136
+ "flex-1 overflow-x-auto scrollbar-none scroll-smooth",
137
+ variant === "filled" ? "py-1" : "",
138
+ fullWidth && "w-full"
139
+ ),
140
+ children: /* @__PURE__ */ jsxRuntime.jsx(
141
+ "div",
142
+ {
143
+ role: "tablist",
144
+ className: chunkL5VQZZVR_cjs.cn(
145
+ "flex flex-nowrap",
146
+ (fullWidth || variant !== "filled") && "min-w-full",
147
+ variant === "filled" && "w-max mx-auto lg:mx-0",
148
+ variantListClasses[variant],
149
+ tabListClassName
150
+ ),
151
+ children: items.map((item) => {
152
+ const isSelected = item.id === currentSelectedId;
153
+ const isDisabled = item.disabled;
154
+ return /* @__PURE__ */ jsxRuntime.jsx(
155
+ "button",
156
+ {
157
+ type: "button",
158
+ role: "tab",
159
+ "aria-selected": isSelected,
160
+ "aria-disabled": isDisabled,
161
+ disabled: isDisabled,
162
+ onClick: () => {
163
+ handleTabClick(item.id, isDisabled);
164
+ },
165
+ className: chunkL5VQZZVR_cjs.cn(
166
+ "flex items-center justify-center font-medium transition-all duration-normal outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2 focus-visible:ring-offset-surface whitespace-nowrap shrink-0",
167
+ sizeClasses[size],
168
+ variantTabClasses[variant][isSelected ? "selected" : "default"],
169
+ fullWidth && "flex-1",
170
+ isDisabled && "opacity-50 cursor-not-allowed pointer-events-none",
171
+ tabClassName
172
+ ),
173
+ children: item.label
174
+ },
175
+ item.id
176
+ );
177
+ })
178
+ }
179
+ )
180
+ }
181
+ ),
182
+ canScrollRight && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute right-0 z-20 flex h-full items-center pr-1 lg:hidden pointer-events-none", children: [
183
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-8 h-full bg-gradient-to-l from-surface to-transparent pointer-events-none -mr-4" }),
184
+ /* @__PURE__ */ jsxRuntime.jsx(
185
+ chunkTNGW5YHA_cjs.IconButton,
186
+ {
187
+ icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChevronRightIcon, { className: "w-4 h-4" }),
188
+ "aria-label": "Scroll right",
189
+ variant: "ghost",
190
+ size: "xs",
191
+ isRound: true,
192
+ onClick: () => {
193
+ scroll("right");
194
+ },
195
+ className: "pointer-events-auto shadow-xl border border-border/20 bg-surface/98 backdrop-blur-xl hover:bg-primary hover:text-surface transition-all duration-300"
196
+ }
197
+ )
198
+ ] })
199
+ ] }),
200
+ /* @__PURE__ */ jsxRuntime.jsx("div", { role: "tabpanel", className: chunkL5VQZZVR_cjs.cn("pt-4", tabPanelClassName), tabIndex: 0, children: selectedItem?.content })
201
+ ] });
202
+ });
203
+ Tabs.displayName = "Tabs";
204
+
205
+ exports.Tabs = Tabs;