@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,220 @@
1
+ import { cn } from './chunk-OCPFOFJ4.mjs';
2
+ import { XMarkIcon } from '@heroicons/react/20/solid';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+
5
+ var solidClasses = {
6
+ primary: "bg-primary text-text-inverse shadow-sm shadow-primary/30",
7
+ secondary: "bg-secondary text-text shadow-sm shadow-secondary/30",
8
+ success: "bg-success text-text-inverse shadow-sm shadow-success/30",
9
+ error: "bg-error text-text-inverse shadow-sm shadow-error/30",
10
+ warning: "bg-warning text-text-inverse shadow-sm shadow-warning/30",
11
+ info: "bg-info text-text-inverse shadow-sm shadow-info/30",
12
+ accent: "bg-accent text-text-inverse shadow-sm shadow-accent/30",
13
+ gray: "bg-surface-secondary text-text-secondary shadow-sm",
14
+ blue: "bg-primary text-text-inverse shadow-sm shadow-primary/30",
15
+ green: "bg-success text-text-inverse shadow-sm shadow-success/30",
16
+ red: "bg-error text-text-inverse shadow-sm shadow-error/30",
17
+ yellow: "bg-warning text-text-inverse shadow-sm shadow-warning/30",
18
+ purple: "bg-purple-600 text-white shadow-sm shadow-purple-500/30",
19
+ pink: "bg-pink-500 text-white shadow-sm shadow-pink-500/30",
20
+ orange: "bg-orange-500 text-white shadow-sm shadow-orange-500/30",
21
+ cyan: "bg-cyan-500 text-white shadow-sm shadow-cyan-500/30",
22
+ teal: "bg-teal-500 text-white shadow-sm shadow-teal-500/30",
23
+ indigo: "bg-indigo-500 text-white shadow-sm shadow-indigo-500/30"
24
+ };
25
+ var softClasses = {
26
+ primary: "bg-primary/10 text-primary ring-1 ring-inset ring-primary/20",
27
+ secondary: "bg-secondary/10 text-secondary ring-1 ring-inset ring-secondary/20",
28
+ success: "bg-success/10 text-success ring-1 ring-inset ring-success/20",
29
+ error: "bg-error/10 text-error ring-1 ring-inset ring-error/20",
30
+ warning: "bg-warning/10 text-warning ring-1 ring-inset ring-warning/20",
31
+ info: "bg-info/10 text-info ring-1 ring-inset ring-info/20",
32
+ accent: "bg-accent/10 text-accent ring-1 ring-inset ring-accent/20",
33
+ gray: "bg-surface-secondary/60 text-text-secondary ring-1 ring-inset ring-border/40",
34
+ blue: "bg-primary/10 text-primary ring-1 ring-inset ring-primary/20",
35
+ green: "bg-success/10 text-success ring-1 ring-inset ring-success/20",
36
+ red: "bg-error/10 text-error ring-1 ring-inset ring-error/20",
37
+ yellow: "bg-warning/10 text-warning ring-1 ring-inset ring-warning/20",
38
+ purple: "bg-purple-500/10 text-purple-500 ring-1 ring-inset ring-purple-500/25",
39
+ pink: "bg-pink-500/10 text-pink-500 ring-1 ring-inset ring-pink-500/25",
40
+ orange: "bg-orange-500/10 text-orange-500 ring-1 ring-inset ring-orange-500/25",
41
+ cyan: "bg-cyan-500/10 text-cyan-500 ring-1 ring-inset ring-cyan-500/25",
42
+ teal: "bg-teal-500/10 text-teal-500 ring-1 ring-inset ring-teal-500/25",
43
+ indigo: "bg-indigo-500/10 text-indigo-500 ring-1 ring-inset ring-indigo-500/25"
44
+ };
45
+ var outlineClasses = {
46
+ primary: "border border-primary/60 text-primary bg-transparent",
47
+ secondary: "border border-secondary/60 text-secondary bg-transparent",
48
+ success: "border border-success/60 text-success bg-transparent",
49
+ error: "border border-error/60 text-error bg-transparent",
50
+ warning: "border border-warning/60 text-warning bg-transparent",
51
+ info: "border border-info/60 text-info bg-transparent",
52
+ accent: "border border-accent/60 text-accent bg-transparent",
53
+ gray: "border border-border text-text-secondary bg-transparent",
54
+ blue: "border border-primary/60 text-primary bg-transparent",
55
+ green: "border border-success/60 text-success bg-transparent",
56
+ red: "border border-error/60 text-error bg-transparent",
57
+ yellow: "border border-warning/60 text-warning bg-transparent",
58
+ purple: "border border-purple-500/60 text-purple-500 bg-transparent",
59
+ pink: "border border-pink-500/60 text-pink-500 bg-transparent",
60
+ orange: "border border-orange-500/60 text-orange-500 bg-transparent",
61
+ cyan: "border border-cyan-500/60 text-cyan-500 bg-transparent",
62
+ teal: "border border-teal-500/60 text-teal-500 bg-transparent",
63
+ indigo: "border border-indigo-500/60 text-indigo-500 bg-transparent"
64
+ };
65
+ var gradientClasses = {
66
+ primary: "bg-gradient-to-r from-blue-500 to-indigo-600 text-white shadow-sm shadow-blue-500/30",
67
+ secondary: "bg-gradient-to-r from-slate-500 to-slate-700 text-white shadow-sm shadow-slate-500/30",
68
+ success: "bg-gradient-to-r from-green-400 to-emerald-600 text-white shadow-sm shadow-green-500/30",
69
+ error: "bg-gradient-to-r from-red-500 to-rose-600 text-white shadow-sm shadow-red-500/30",
70
+ warning: "bg-gradient-to-r from-amber-400 to-orange-500 text-white shadow-sm shadow-amber-500/30",
71
+ info: "bg-gradient-to-r from-sky-400 to-blue-600 text-white shadow-sm shadow-blue-500/30",
72
+ accent: "bg-gradient-to-r from-cyan-400 to-sky-600 text-white shadow-sm shadow-cyan-500/30",
73
+ gray: "bg-gradient-to-r from-slate-400 to-slate-500 text-white shadow-sm",
74
+ blue: "bg-gradient-to-r from-blue-500 to-indigo-600 text-white shadow-sm shadow-blue-500/30",
75
+ green: "bg-gradient-to-r from-green-400 to-emerald-600 text-white shadow-sm shadow-green-500/30",
76
+ red: "bg-gradient-to-r from-red-500 to-rose-600 text-white shadow-sm shadow-red-500/30",
77
+ yellow: "bg-gradient-to-r from-amber-400 to-orange-500 text-white shadow-sm shadow-amber-500/30",
78
+ purple: "bg-gradient-to-r from-purple-500 to-violet-600 text-white shadow-sm shadow-purple-500/30",
79
+ pink: "bg-gradient-to-r from-pink-500 to-fuchsia-600 text-white shadow-sm shadow-pink-500/30",
80
+ orange: "bg-gradient-to-r from-orange-400 to-red-500 text-white shadow-sm shadow-orange-500/30",
81
+ cyan: "bg-gradient-to-r from-cyan-400 to-sky-500 text-white shadow-sm shadow-cyan-500/30",
82
+ teal: "bg-gradient-to-r from-teal-400 to-cyan-500 text-white shadow-sm shadow-teal-500/30",
83
+ indigo: "bg-gradient-to-r from-indigo-500 to-purple-600 text-white shadow-sm shadow-indigo-500/30"
84
+ };
85
+ var dotColorClasses = {
86
+ primary: "bg-primary",
87
+ secondary: "bg-secondary",
88
+ success: "bg-success",
89
+ error: "bg-error",
90
+ warning: "bg-warning",
91
+ info: "bg-info",
92
+ accent: "bg-accent",
93
+ gray: "bg-slate-400",
94
+ blue: "bg-primary",
95
+ green: "bg-success",
96
+ red: "bg-error",
97
+ yellow: "bg-warning",
98
+ purple: "bg-purple-500",
99
+ pink: "bg-pink-500",
100
+ orange: "bg-orange-500",
101
+ cyan: "bg-cyan-500",
102
+ teal: "bg-teal-500",
103
+ indigo: "bg-indigo-500"
104
+ };
105
+ var variantMap = {
106
+ solid: (c) => solidClasses[c],
107
+ soft: (c) => softClasses[c],
108
+ outline: (c) => outlineClasses[c],
109
+ gradient: (c) => gradientClasses[c]
110
+ };
111
+ var sizeClasses = {
112
+ xs: "px-1.5 py-px text-[10px] leading-4 gap-1",
113
+ sm: "px-2 py-0.5 text-xs leading-4 gap-1",
114
+ md: "px-2.5 py-0.5 text-xs leading-5 gap-1",
115
+ lg: "px-3 py-1 text-sm leading-5 gap-1.5"
116
+ };
117
+ var dotSizeClasses = {
118
+ xs: "w-1.5 h-1.5",
119
+ sm: "w-1.5 h-1.5",
120
+ md: "w-2 h-2",
121
+ lg: "w-2.5 h-2.5"
122
+ };
123
+ var removeSizeClasses = {
124
+ xs: "w-3 h-3",
125
+ sm: "w-3 h-3",
126
+ md: "w-3.5 h-3.5",
127
+ lg: "w-4 h-4"
128
+ };
129
+ var shapeClasses = {
130
+ rounded: "rounded-md",
131
+ pill: "rounded-full",
132
+ square: "rounded-none"
133
+ };
134
+ function XIcon() {
135
+ return /* @__PURE__ */ jsx(XMarkIcon, { className: "w-full h-full", "aria-hidden": "true" });
136
+ }
137
+ function Badge({
138
+ children,
139
+ variant = "soft",
140
+ color = "blue",
141
+ size = "md",
142
+ shape = "pill",
143
+ icon,
144
+ trailingIcon,
145
+ onRemove,
146
+ pulse = false,
147
+ count,
148
+ maxCount = 99,
149
+ uppercase = false,
150
+ tracking = false,
151
+ as: Tag = "span",
152
+ className,
153
+ ...rest
154
+ }) {
155
+ const isDot = variant === "dot";
156
+ const colorClass = isDot ? softClasses[color] : variantMap[variant](color);
157
+ const countLabel = count !== void 0 ? count > maxCount ? `${maxCount.toString()}+` : String(count) : null;
158
+ return /* @__PURE__ */ jsxs(
159
+ Tag,
160
+ {
161
+ className: cn(
162
+ // base
163
+ "inline-flex items-center font-medium leading-none select-none whitespace-nowrap",
164
+ "transition-all duration-150 ease-out",
165
+ sizeClasses[size],
166
+ shapeClasses[shape],
167
+ colorClass,
168
+ uppercase && "uppercase",
169
+ tracking && "tracking-wide",
170
+ // clickable cursor when role="button" or Tag is 'button'/'a'
171
+ (Tag === "button" || Tag === "a") && "cursor-pointer",
172
+ className
173
+ ),
174
+ ...rest,
175
+ children: [
176
+ isDot && /* @__PURE__ */ jsxs("span", { className: "relative inline-flex shrink-0", "aria-hidden": "true", children: [
177
+ pulse && /* @__PURE__ */ jsx(
178
+ "span",
179
+ {
180
+ className: cn(
181
+ "absolute inset-0 rounded-full animate-ping opacity-60",
182
+ dotColorClasses[color]
183
+ )
184
+ }
185
+ ),
186
+ /* @__PURE__ */ jsx(
187
+ "span",
188
+ {
189
+ className: cn("rounded-full shrink-0", dotSizeClasses[size], dotColorClasses[color])
190
+ }
191
+ )
192
+ ] }),
193
+ !isDot && icon != null && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "shrink-0 inline-flex", children: icon }),
194
+ countLabel ?? children,
195
+ !isDot && trailingIcon != null && onRemove == null && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "shrink-0 inline-flex", children: trailingIcon }),
196
+ onRemove != null && /* @__PURE__ */ jsx(
197
+ "button",
198
+ {
199
+ type: "button",
200
+ "aria-label": "Remove",
201
+ onClick: (e) => {
202
+ e.stopPropagation();
203
+ onRemove();
204
+ },
205
+ className: cn(
206
+ "inline-flex items-center justify-center rounded-full shrink-0 -mr-0.5",
207
+ "opacity-70 hover:opacity-100",
208
+ "hover:bg-black/10 dark:hover:bg-white/15",
209
+ "transition-all duration-100",
210
+ removeSizeClasses[size]
211
+ ),
212
+ children: /* @__PURE__ */ jsx(XIcon, {})
213
+ }
214
+ )
215
+ ]
216
+ }
217
+ );
218
+ }
219
+
220
+ export { Badge };
@@ -0,0 +1,124 @@
1
+ 'use strict';
2
+
3
+ var chunkL5VQZZVR_cjs = require('./chunk-L5VQZZVR.cjs');
4
+ var react = require('react');
5
+ var solid = require('@heroicons/react/24/solid');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ var sizeClasses = {
9
+ "2xs": "w-4 h-4 text-[10px]",
10
+ xs: "w-6 h-6 text-xs",
11
+ sm: "w-8 h-8 text-sm",
12
+ md: "w-10 h-10 text-base",
13
+ lg: "w-12 h-12 text-lg",
14
+ xl: "w-14 h-14 text-xl",
15
+ "2xl": "w-16 h-16 text-2xl",
16
+ "3xl": "w-20 h-20 text-3xl",
17
+ "4xl": "w-24 h-24 text-4xl"
18
+ };
19
+ var variantClasses = {
20
+ circle: "rounded-full",
21
+ square: "rounded-none",
22
+ rounded: "rounded-md"
23
+ };
24
+ var stateBorderClasses = {
25
+ default: "ring-0",
26
+ error: "ring-2 ring-error ring-offset-2 ring-offset-surface",
27
+ success: "ring-2 ring-success ring-offset-2 ring-offset-surface",
28
+ warning: "ring-2 ring-warning ring-offset-2 ring-offset-surface",
29
+ offline: "ring-2 ring-border ring-offset-2 ring-offset-surface",
30
+ online: "ring-2 ring-success ring-offset-2 ring-offset-surface",
31
+ busy: "ring-2 ring-error ring-offset-2 ring-offset-surface",
32
+ away: "ring-2 ring-warning ring-offset-2 ring-offset-surface"
33
+ };
34
+ var stateBadgeClasses = {
35
+ default: "hidden",
36
+ error: "bg-error",
37
+ success: "bg-success",
38
+ warning: "bg-warning",
39
+ offline: "bg-border",
40
+ online: "bg-success",
41
+ busy: "bg-error",
42
+ away: "bg-warning"
43
+ };
44
+ function getInitials(name) {
45
+ const parts = name.trim().split(/\s+/);
46
+ if (parts.length === 0) return "";
47
+ if (parts.length === 1) return parts[0]?.substring(0, 2).toUpperCase() ?? "";
48
+ const first = parts[0];
49
+ const last = parts[parts.length - 1];
50
+ return `${first?.[0] ?? ""}${last?.[0] ?? ""}`.toUpperCase();
51
+ }
52
+ var Avatar = react.forwardRef(function Avatar2({
53
+ size = "md",
54
+ variant = "circle",
55
+ state = "default",
56
+ stateType = "border",
57
+ fallback,
58
+ alt,
59
+ src,
60
+ className,
61
+ containerClassName,
62
+ fallbackClassName,
63
+ ...rest
64
+ }, ref) {
65
+ const [hasError, setHasError] = react.useState(false);
66
+ const showFallback = typeof src !== "string" || src.length === 0 || hasError;
67
+ let initial = "";
68
+ if (typeof fallback === "string") {
69
+ initial = getInitials(fallback);
70
+ } else if (typeof alt === "string" && alt.length > 0) {
71
+ initial = getInitials(alt);
72
+ }
73
+ const renderedFallback = typeof fallback === "string" || typeof fallback === "undefined" ? /* @__PURE__ */ jsxRuntime.jsx(
74
+ "span",
75
+ {
76
+ className: chunkL5VQZZVR_cjs.cn(
77
+ "flex h-full w-full items-center justify-center font-bold text-text-muted",
78
+ fallbackClassName
79
+ ),
80
+ children: initial || /* @__PURE__ */ jsxRuntime.jsx(solid.UserIcon, { className: "h-3/5 w-3/5 text-text-muted/40", "aria-hidden": "true" })
81
+ }
82
+ ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkL5VQZZVR_cjs.cn("flex h-full w-full items-center justify-center", fallbackClassName), children: fallback });
83
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkL5VQZZVR_cjs.cn("relative inline-block", containerClassName), children: [
84
+ /* @__PURE__ */ jsxRuntime.jsx(
85
+ "div",
86
+ {
87
+ ref,
88
+ className: chunkL5VQZZVR_cjs.cn(
89
+ "relative inline-flex shrink-0 items-center justify-center overflow-hidden bg-surface-secondary",
90
+ sizeClasses[size],
91
+ variantClasses[variant],
92
+ stateType === "border" ? stateBorderClasses[state] : "",
93
+ className
94
+ ),
95
+ children: showFallback ? renderedFallback : /* @__PURE__ */ jsxRuntime.jsx(
96
+ "img",
97
+ {
98
+ src,
99
+ alt,
100
+ onError: () => {
101
+ setHasError(true);
102
+ },
103
+ className: "h-full w-full object-cover",
104
+ ...rest
105
+ }
106
+ )
107
+ }
108
+ ),
109
+ stateType === "badge" && state !== "default" && /* @__PURE__ */ jsxRuntime.jsx(
110
+ "span",
111
+ {
112
+ className: chunkL5VQZZVR_cjs.cn(
113
+ "absolute bottom-0 right-0 block rounded-full border-2 border-surface",
114
+ stateBadgeClasses[state],
115
+ size === "2xs" || size === "xs" ? "h-2 w-2" : size === "sm" ? "h-2.5 w-2.5" : size === "md" ? "h-3 w-3" : size === "lg" ? "h-3.5 w-3.5" : size === "xl" ? "h-4 w-4" : size === "2xl" ? "h-4.5 w-4.5" : size === "3xl" ? "h-5 w-5" : "h-6 w-6",
116
+ variant === "square" ? "-translate-x-1/2 -translate-y-1/2" : ""
117
+ )
118
+ }
119
+ )
120
+ ] });
121
+ });
122
+ Avatar.displayName = "Avatar";
123
+
124
+ exports.Avatar = Avatar;
@@ -0,0 +1,274 @@
1
+ import { cn } from './chunk-OCPFOFJ4.mjs';
2
+ import { useRef, useCallback, useEffect } from 'react';
3
+ import { createPortal } from 'react-dom';
4
+ import { XMarkIcon } from '@heroicons/react/24/outline';
5
+ import { jsx, jsxs } from 'react/jsx-runtime';
6
+
7
+ var sizeClasses = {
8
+ xs: "max-w-xs",
9
+ sm: "max-w-sm",
10
+ md: "max-w-md",
11
+ lg: "max-w-lg",
12
+ xl: "max-w-xl",
13
+ "2xl": "max-w-2xl",
14
+ "3xl": "max-w-3xl",
15
+ "4xl": "max-w-4xl",
16
+ "5xl": "max-w-5xl",
17
+ "6xl": "max-w-6xl",
18
+ "7xl": "max-w-7xl",
19
+ full: "max-w-full w-full h-full m-0 rounded-none"
20
+ };
21
+ var sideSheetWidthClasses = {
22
+ xs: "w-64",
23
+ sm: "w-80",
24
+ md: "w-96",
25
+ lg: "w-[30rem]",
26
+ xl: "w-[36rem]",
27
+ "2xl": "w-[42rem]",
28
+ "3xl": "w-[48rem]",
29
+ "4xl": "w-[56rem]",
30
+ "5xl": "w-[64rem]",
31
+ "6xl": "w-[72rem]",
32
+ "7xl": "w-[80rem]",
33
+ full: "w-full"
34
+ };
35
+ var variantClasses = {
36
+ default: "bg-surface border border-border shadow-[0_20px_60px_-10px_rgba(0,0,0,0.2),0_8px_20px_-8px_rgba(0,0,0,0.1)]",
37
+ glass: "bg-white/10 dark:bg-black/20 backdrop-blur-xl border border-white/20 dark:border-white/10 shadow-[0_25px_50px_-12px_rgba(0,0,0,0.4)]",
38
+ flat: "bg-surface shadow-[0_4px_24px_rgba(0,0,0,0.08)]"
39
+ };
40
+ var overlayPositionClasses = {
41
+ top: "items-start pt-16",
42
+ center: "items-center",
43
+ bottom: "items-end pb-0",
44
+ left: "items-stretch justify-start p-0",
45
+ right: "items-stretch justify-end p-0"
46
+ };
47
+ var contentPositionClasses = {
48
+ top: "",
49
+ center: "",
50
+ bottom: "rounded-b-none w-full max-w-full",
51
+ left: "rounded-l-none rounded-r-2xl h-full max-h-full my-0",
52
+ right: "rounded-r-none rounded-l-2xl h-full max-h-full my-0"
53
+ };
54
+ var Modal = function Modal2({
55
+ isOpen,
56
+ onClose,
57
+ children,
58
+ size = "md",
59
+ variant = "default",
60
+ position = "center",
61
+ closeOnOverlayClick = true,
62
+ closeOnEsc = true,
63
+ trapFocus = true,
64
+ lockScroll = true,
65
+ contentClassName,
66
+ overlayClassName,
67
+ showBackdrop = true,
68
+ ariaLabel,
69
+ ariaLabelledby,
70
+ ariaDescribedby
71
+ }) {
72
+ const modalRef = useRef(null);
73
+ const previousFocusRef = useRef(null);
74
+ const handleClose = useCallback(() => {
75
+ onClose();
76
+ }, [onClose]);
77
+ useEffect(() => {
78
+ if (isOpen) {
79
+ previousFocusRef.current = document.activeElement;
80
+ if (lockScroll) {
81
+ document.body.style.overflow = "hidden";
82
+ }
83
+ const handleKeyDown = (e) => {
84
+ if (closeOnEsc && e.key === "Escape") {
85
+ handleClose();
86
+ return;
87
+ }
88
+ if (trapFocus && e.key === "Tab") {
89
+ const focusableElements = modalRef.current?.querySelectorAll(
90
+ 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
91
+ );
92
+ if (!focusableElements || focusableElements.length === 0) return;
93
+ const firstElement = focusableElements[0];
94
+ const lastElement = focusableElements[focusableElements.length - 1];
95
+ if (e.shiftKey) {
96
+ if (document.activeElement === firstElement) {
97
+ lastElement.focus();
98
+ e.preventDefault();
99
+ }
100
+ } else {
101
+ if (document.activeElement === lastElement) {
102
+ firstElement.focus();
103
+ e.preventDefault();
104
+ }
105
+ }
106
+ }
107
+ };
108
+ document.addEventListener("keydown", handleKeyDown);
109
+ setTimeout(() => {
110
+ const firstFocusable = modalRef.current?.querySelector(
111
+ 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
112
+ );
113
+ if (firstFocusable != null) {
114
+ firstFocusable.focus();
115
+ } else {
116
+ modalRef.current?.focus();
117
+ }
118
+ }, 50);
119
+ return () => {
120
+ document.removeEventListener("keydown", handleKeyDown);
121
+ if (lockScroll) {
122
+ document.body.style.overflow = "";
123
+ }
124
+ previousFocusRef.current?.focus();
125
+ };
126
+ }
127
+ return void 0;
128
+ }, [isOpen, closeOnEsc, handleClose, lockScroll, trapFocus]);
129
+ if (!isOpen) return null;
130
+ const isBottomSheet = position === "bottom";
131
+ const isLeftSheet = position === "left";
132
+ const isRightSheet = position === "right";
133
+ const isSideSheet = isLeftSheet || isRightSheet;
134
+ let entryAnimation = "animate-[modal-zoom-in_200ms_cubic-bezier(0.34,1.56,0.64,1)_forwards]";
135
+ if (isBottomSheet)
136
+ entryAnimation = "animate-[modal-slide-up_250ms_cubic-bezier(0.32,0.72,0,1)_forwards]";
137
+ if (isLeftSheet)
138
+ entryAnimation = "animate-[modal-slide-right_250ms_cubic-bezier(0.32,0.72,0,1)_forwards]";
139
+ if (isRightSheet)
140
+ entryAnimation = "animate-[modal-slide-left_250ms_cubic-bezier(0.32,0.72,0,1)_forwards]";
141
+ const sizeClass = isSideSheet ? sideSheetWidthClasses[size] : sizeClasses[size];
142
+ return createPortal(
143
+ /* @__PURE__ */ jsx(
144
+ "div",
145
+ {
146
+ role: "presentation",
147
+ className: cn(
148
+ "fixed inset-0 z-[1050] flex justify-center",
149
+ // Side sheets don't scroll — they're full-height
150
+ !isSideSheet && "overflow-y-auto p-4",
151
+ showBackdrop && "bg-black/50 backdrop-blur-[3px]",
152
+ "animate-[modal-overlay-in_200ms_ease-out_forwards]",
153
+ overlayPositionClasses[position],
154
+ overlayClassName
155
+ ),
156
+ onClick: (e) => {
157
+ if (closeOnOverlayClick && e.target === e.currentTarget) {
158
+ handleClose();
159
+ }
160
+ },
161
+ children: /* @__PURE__ */ jsx(
162
+ "div",
163
+ {
164
+ ref: modalRef,
165
+ role: "dialog",
166
+ tabIndex: -1,
167
+ "aria-modal": "true",
168
+ "aria-label": ariaLabel,
169
+ "aria-labelledby": ariaLabelledby,
170
+ "aria-describedby": ariaDescribedby,
171
+ className: cn(
172
+ // Base
173
+ "relative flex flex-col",
174
+ // Standard dialogs are centered with max-height
175
+ !isSideSheet && !isBottomSheet && size !== "full" && "w-full mx-auto max-h-[90vh] my-4 rounded-2xl",
176
+ // Bottom sheet
177
+ isBottomSheet && "rounded-2xl",
178
+ // Side sheets: no mx-auto, no max-height
179
+ isSideSheet && "mx-0",
180
+ // Entry animation
181
+ entryAnimation,
182
+ // Variant
183
+ variantClasses[variant],
184
+ // Size (width for side sheets, max-width otherwise)
185
+ sizeClass,
186
+ // Position-specific shape overrides
187
+ contentPositionClasses[position],
188
+ contentClassName
189
+ ),
190
+ children
191
+ }
192
+ )
193
+ }
194
+ ),
195
+ document.body
196
+ );
197
+ };
198
+ function ModalHeader({
199
+ children,
200
+ className,
201
+ icon,
202
+ description
203
+ }) {
204
+ return /* @__PURE__ */ jsxs("div", { className: cn("relative px-6 py-5 border-b border-border/60 flex-shrink-0", className), children: [
205
+ icon && /* @__PURE__ */ jsx("div", { className: "mb-3 w-10 h-10 rounded-xl bg-primary/10 flex items-center justify-center text-primary", children: icon }),
206
+ /* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold text-text leading-tight tracking-tight", children }),
207
+ description && /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-text-muted leading-relaxed", children: description })
208
+ ] });
209
+ }
210
+ function ModalBody({
211
+ children,
212
+ className,
213
+ noPadding = false
214
+ }) {
215
+ return /* @__PURE__ */ jsx(
216
+ "div",
217
+ {
218
+ className: cn(
219
+ "flex-1 overflow-y-auto text-text-secondary text-sm leading-relaxed",
220
+ !noPadding && "px-6 py-5",
221
+ className
222
+ ),
223
+ children
224
+ }
225
+ );
226
+ }
227
+ var footerAlignClasses = {
228
+ left: "justify-start",
229
+ center: "justify-center",
230
+ right: "justify-end"
231
+ };
232
+ function ModalFooter({
233
+ children,
234
+ className,
235
+ align = "right"
236
+ }) {
237
+ return /* @__PURE__ */ jsx(
238
+ "div",
239
+ {
240
+ className: cn(
241
+ "flex-shrink-0 px-6 py-4 border-t border-border/60 bg-surface-secondary/30 flex flex-wrap items-center gap-3 rounded-b-2xl",
242
+ footerAlignClasses[align],
243
+ className
244
+ ),
245
+ children
246
+ }
247
+ );
248
+ }
249
+ function ModalCloseButton({ onClick, className }) {
250
+ return /* @__PURE__ */ jsx(
251
+ "button",
252
+ {
253
+ type: "button",
254
+ onClick,
255
+ className: cn(
256
+ "absolute top-4 right-4 z-10",
257
+ "w-8 h-8 flex items-center justify-center rounded-lg",
258
+ "text-text-muted hover:text-text",
259
+ "bg-transparent hover:bg-hover",
260
+ "transition-all duration-150",
261
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40",
262
+ className
263
+ ),
264
+ "aria-label": "Close modal",
265
+ children: /* @__PURE__ */ jsx(XMarkIcon, { className: "w-4 h-4", strokeWidth: 2 })
266
+ }
267
+ );
268
+ }
269
+ Modal.Header = ModalHeader;
270
+ Modal.Body = ModalBody;
271
+ Modal.Footer = ModalFooter;
272
+ Modal.CloseButton = ModalCloseButton;
273
+
274
+ export { Modal, ModalBody, ModalCloseButton, ModalFooter, ModalHeader };