@bricks-toolkit/toolkit 0.1.0 → 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 (385) hide show
  1. package/README.md +9 -9
  2. package/dist/{components/Button/Button.types.d.ts → Button.types-BsQYqZml.d.ts} +8 -5
  3. package/dist/Button.types-D-srlWFf.d.mts +27 -0
  4. package/dist/{components/TextInput/TextInput.types.d.ts → TextInput.types-DRI8HQza.d.mts} +8 -5
  5. package/dist/TextInput.types-DRI8HQza.d.ts +32 -0
  6. package/dist/{components/Tooltip/Tooltip.types.d.ts → Tooltip.types-PbUasE3C.d.mts} +9 -6
  7. package/dist/Tooltip.types-PbUasE3C.d.ts +36 -0
  8. package/dist/avatar/index.cjs +11 -0
  9. package/dist/{components/Avatar/Avatar.types.d.ts → avatar/index.d.mts} +10 -5
  10. package/dist/avatar/index.d.ts +29 -0
  11. package/dist/avatar/index.mjs +2 -0
  12. package/dist/badge/index.cjs +11 -0
  13. package/dist/{components/Badge/Badge.types.d.ts → badge/index.d.mts} +20 -6
  14. package/dist/badge/index.d.ts +57 -0
  15. package/dist/badge/index.mjs +2 -0
  16. package/dist/breadcrumbs/index.cjs +11 -0
  17. package/dist/{components/Breadcrumbs/Breadcrumbs.types.d.ts → breadcrumbs/index.d.mts} +10 -5
  18. package/dist/breadcrumbs/index.d.ts +32 -0
  19. package/dist/breadcrumbs/index.mjs +2 -0
  20. package/dist/button/index.cjs +13 -0
  21. package/dist/button/index.d.mts +8 -0
  22. package/dist/button/index.d.ts +8 -0
  23. package/dist/button/index.mjs +4 -0
  24. package/dist/card/index.cjs +31 -0
  25. package/dist/card/index.d.mts +42 -0
  26. package/dist/card/index.d.ts +42 -0
  27. package/dist/card/index.mjs +2 -0
  28. package/dist/checkbox/index.cjs +11 -0
  29. package/dist/{components/Checkbox/Checkbox.types.d.ts → checkbox/index.d.mts} +9 -4
  30. package/dist/checkbox/index.d.ts +36 -0
  31. package/dist/checkbox/index.mjs +2 -0
  32. package/dist/chunk-2POU3NX4.mjs +192 -0
  33. package/dist/chunk-32SKYPQW.mjs +156 -0
  34. package/dist/chunk-446OJWC6.mjs +285 -0
  35. package/dist/chunk-4DA7CRNV.mjs +376 -0
  36. package/dist/chunk-4DR57X7U.mjs +182 -0
  37. package/dist/chunk-4QSDPHPI.mjs +285 -0
  38. package/dist/chunk-56ILK7Y4.cjs +315 -0
  39. package/dist/chunk-5J3OMAO4.cjs +222 -0
  40. package/dist/chunk-5RKET2JO.cjs +287 -0
  41. package/dist/chunk-65UZC3FK.mjs +312 -0
  42. package/dist/chunk-6CC5KIA5.cjs +148 -0
  43. package/dist/chunk-6R3OYBQ6.cjs +209 -0
  44. package/dist/chunk-6UO72EJA.cjs +2 -0
  45. package/dist/chunk-6ZCY4O5M.mjs +63 -0
  46. package/dist/chunk-7364SUK6.mjs +359 -0
  47. package/dist/chunk-7DDDQ3RH.cjs +66 -0
  48. package/dist/chunk-7PDGAIC3.cjs +189 -0
  49. package/dist/chunk-7R5JRJ2W.cjs +255 -0
  50. package/dist/chunk-7WNJ7L4Z.mjs +335 -0
  51. package/dist/chunk-AJXVELXK.cjs +218 -0
  52. package/dist/chunk-ARTXRQO6.mjs +1 -0
  53. package/dist/chunk-B4OV5GRT.cjs +510 -0
  54. package/dist/chunk-B5MYGYJY.mjs +122 -0
  55. package/dist/chunk-BBVWG5GH.cjs +75 -0
  56. package/dist/chunk-BVBCAAES.mjs +35 -0
  57. package/dist/chunk-CBA54EY4.mjs +508 -0
  58. package/dist/chunk-CMER5LO3.mjs +330 -0
  59. package/dist/chunk-DHC5LI2P.cjs +338 -0
  60. package/dist/chunk-DMLPA65B.mjs +107 -0
  61. package/dist/chunk-DN2GFJF4.mjs +175 -0
  62. package/dist/chunk-ECLNLPOR.cjs +70 -0
  63. package/dist/chunk-EV463QT5.cjs +53 -0
  64. package/dist/chunk-FOVJHEWH.mjs +51 -0
  65. package/dist/chunk-G4HVY6FM.mjs +203 -0
  66. package/dist/chunk-H77YWN3L.mjs +220 -0
  67. package/dist/chunk-HIWJDLIS.cjs +124 -0
  68. package/dist/chunk-HQGDSOSN.mjs +274 -0
  69. package/dist/chunk-JKPNJ4PZ.mjs +313 -0
  70. package/dist/chunk-JV6AWBN5.mjs +113 -0
  71. package/dist/chunk-KA35BV7V.mjs +207 -0
  72. package/dist/chunk-KLBABQEJ.cjs +378 -0
  73. package/dist/chunk-L5VQZZVR.cjs +3197 -0
  74. package/dist/chunk-LTG6YP5I.cjs +69 -0
  75. package/dist/chunk-MVUNJPGH.cjs +184 -0
  76. package/dist/chunk-NMJ5CVZH.cjs +2 -0
  77. package/dist/chunk-NRCNRHXL.cjs +109 -0
  78. package/dist/chunk-NRZIXK35.cjs +276 -0
  79. package/dist/chunk-OCPFOFJ4.mjs +3195 -0
  80. package/dist/chunk-OEU5VG3D.cjs +362 -0
  81. package/dist/chunk-OPOCCRJG.cjs +193 -0
  82. package/dist/chunk-OQPCL5XX.mjs +187 -0
  83. package/dist/chunk-PCYGJNEQ.cjs +280 -0
  84. package/dist/chunk-PJH2KEWK.mjs +200 -0
  85. package/dist/chunk-PJWELBN2.cjs +115 -0
  86. package/dist/chunk-Q3IFXFFD.cjs +202 -0
  87. package/dist/chunk-R72GDCWE.cjs +314 -0
  88. package/dist/chunk-RAD5VJHR.mjs +146 -0
  89. package/dist/chunk-RYWDZHKG.mjs +274 -0
  90. package/dist/chunk-S7VEND5Z.cjs +162 -0
  91. package/dist/chunk-SBNNV6FE.mjs +1 -0
  92. package/dist/chunk-SFUOCZJY.mjs +187 -0
  93. package/dist/chunk-SHQ2MPBE.mjs +73 -0
  94. package/dist/chunk-TIVSMCXZ.mjs +253 -0
  95. package/dist/chunk-TNGW5YHA.cjs +37 -0
  96. package/dist/chunk-VC7MOPU6.cjs +287 -0
  97. package/dist/chunk-VHVFRWF5.mjs +64 -0
  98. package/dist/chunk-VKQDW7C2.mjs +336 -0
  99. package/dist/chunk-VRZFAKSV.cjs +177 -0
  100. package/dist/chunk-W2ZAPLQH.cjs +337 -0
  101. package/dist/chunk-XFNRKHHF.cjs +332 -0
  102. package/dist/chunk-Y3NTKFUE.mjs +66 -0
  103. package/dist/chunk-Y6AN7AWX.cjs +205 -0
  104. package/dist/chunk-YMMNWJT6.cjs +134 -0
  105. package/dist/chunk-YOTCXSXL.mjs +132 -0
  106. package/dist/combo-box/index.cjs +11 -0
  107. package/dist/{components/ComboBox/ComboBox.types.d.ts → combo-box/index.d.mts} +10 -5
  108. package/dist/combo-box/index.d.ts +62 -0
  109. package/dist/combo-box/index.mjs +2 -0
  110. package/dist/date-picker/index.cjs +11 -0
  111. package/dist/date-picker/index.d.mts +32 -0
  112. package/dist/date-picker/index.d.ts +32 -0
  113. package/dist/date-picker/index.mjs +2 -0
  114. package/dist/dialog/index.cjs +27 -0
  115. package/dist/{components/Dialog/Dialog.types.d.ts → dialog/index.d.mts} +16 -7
  116. package/dist/dialog/index.d.ts +61 -0
  117. package/dist/dialog/index.mjs +2 -0
  118. package/dist/dropdown-menu/index.cjs +27 -0
  119. package/dist/dropdown-menu/index.d.mts +34 -0
  120. package/dist/dropdown-menu/index.d.ts +34 -0
  121. package/dist/dropdown-menu/index.mjs +2 -0
  122. package/dist/email/index.cjs +11 -0
  123. package/dist/{components/Email/Email.types.d.ts → email/index.d.mts} +10 -5
  124. package/dist/email/index.d.ts +38 -0
  125. package/dist/email/index.mjs +2 -0
  126. package/dist/file-upload/index.cjs +11 -0
  127. package/dist/file-upload/index.d.mts +27 -0
  128. package/dist/file-upload/index.d.ts +27 -0
  129. package/dist/file-upload/index.mjs +2 -0
  130. package/dist/header/index.cjs +14 -0
  131. package/dist/{components/Header/Header.types.d.ts → header/index.d.mts} +11 -2
  132. package/dist/header/index.d.ts +28 -0
  133. package/dist/header/index.mjs +5 -0
  134. package/dist/icon-button/index.cjs +13 -0
  135. package/dist/icon-button/index.d.mts +16 -0
  136. package/dist/icon-button/index.d.ts +16 -0
  137. package/dist/icon-button/index.mjs +4 -0
  138. package/dist/image/index.cjs +12 -0
  139. package/dist/{components/Image/Image.types.d.ts → image/index.d.mts} +10 -2
  140. package/dist/image/index.d.ts +48 -0
  141. package/dist/image/index.mjs +3 -0
  142. package/dist/index.cjs +839 -0
  143. package/dist/index.d.mts +141 -0
  144. package/dist/index.d.ts +141 -75
  145. package/dist/index.mjs +601 -0
  146. package/dist/link/index.cjs +11 -0
  147. package/dist/{components/Link/Link.types.d.ts → link/index.d.mts} +10 -5
  148. package/dist/link/index.d.ts +25 -0
  149. package/dist/link/index.mjs +2 -0
  150. package/dist/loader/index.cjs +11 -0
  151. package/dist/{components/Loader/Loader.types.d.ts → loader/index.d.mts} +8 -4
  152. package/dist/loader/index.d.ts +21 -0
  153. package/dist/loader/index.mjs +2 -0
  154. package/dist/modal/index.cjs +27 -0
  155. package/dist/{components/Modal/Modal.types.d.ts → modal/index.d.mts} +25 -9
  156. package/dist/modal/index.d.ts +116 -0
  157. package/dist/modal/index.mjs +2 -0
  158. package/dist/multi-select/index.cjs +11 -0
  159. package/dist/{components/MultiSelect/MultiSelect.types.d.ts → multi-select/index.d.mts} +9 -5
  160. package/dist/multi-select/index.d.ts +59 -0
  161. package/dist/multi-select/index.mjs +2 -0
  162. package/dist/otp-input/index.cjs +11 -0
  163. package/dist/{components/OtpInput/OtpInput.types.d.ts → otp-input/index.d.mts} +8 -4
  164. package/dist/otp-input/index.d.ts +57 -0
  165. package/dist/otp-input/index.mjs +2 -0
  166. package/dist/password-input/index.cjs +11 -0
  167. package/dist/password-input/index.d.mts +32 -0
  168. package/dist/password-input/index.d.ts +32 -0
  169. package/dist/password-input/index.mjs +2 -0
  170. package/dist/phone/index.cjs +11 -0
  171. package/dist/{components/Phone/Phone.types.d.ts → phone/index.d.mts} +11 -6
  172. package/dist/phone/index.d.ts +41 -0
  173. package/dist/phone/index.mjs +2 -0
  174. package/dist/radio-button/index.cjs +11 -0
  175. package/dist/{components/RadioButton/RadioButton.types.d.ts → radio-button/index.d.mts} +9 -4
  176. package/dist/radio-button/index.d.ts +56 -0
  177. package/dist/radio-button/index.mjs +2 -0
  178. package/dist/search-input/index.cjs +12 -0
  179. package/dist/search-input/index.d.mts +22 -0
  180. package/dist/search-input/index.d.ts +22 -0
  181. package/dist/search-input/index.mjs +3 -0
  182. package/dist/select/index.cjs +11 -0
  183. package/dist/{components/Select/Select.types.d.ts → select/index.d.mts} +11 -6
  184. package/dist/select/index.d.ts +36 -0
  185. package/dist/select/index.mjs +2 -0
  186. package/dist/sidebar/index.cjs +11 -0
  187. package/dist/{components/Sidebar/Sidebar.types.d.ts → sidebar/index.d.mts} +15 -6
  188. package/dist/sidebar/index.d.ts +96 -0
  189. package/dist/sidebar/index.mjs +2 -0
  190. package/dist/skeleton/index.cjs +27 -0
  191. package/dist/skeleton/index.d.mts +76 -0
  192. package/dist/skeleton/index.d.ts +76 -0
  193. package/dist/skeleton/index.mjs +2 -0
  194. package/dist/styles.css +5075 -0
  195. package/dist/styles.d.mts +2 -0
  196. package/dist/styles.d.ts +2 -0
  197. package/dist/table/index.cjs +15 -0
  198. package/dist/{components/Table/Table.types.d.ts → table/index.d.mts} +16 -9
  199. package/dist/table/index.d.ts +92 -0
  200. package/dist/table/index.mjs +2 -0
  201. package/dist/tabs/index.cjs +14 -0
  202. package/dist/tabs/index.d.mts +26 -0
  203. package/dist/tabs/index.d.ts +26 -0
  204. package/dist/tabs/index.mjs +5 -0
  205. package/dist/text-input/index.cjs +11 -0
  206. package/dist/text-input/index.d.mts +7 -0
  207. package/dist/text-input/index.d.ts +7 -0
  208. package/dist/text-input/index.mjs +2 -0
  209. package/dist/theme-provider/index.cjs +14 -0
  210. package/dist/{components/ThemeProvider/ThemeProvider.types.d.ts → theme-provider/index.d.mts} +16 -6
  211. package/dist/theme-provider/index.d.ts +122 -0
  212. package/dist/theme-provider/index.mjs +1 -0
  213. package/dist/time-picker/index.cjs +11 -0
  214. package/dist/time-picker/index.d.mts +32 -0
  215. package/dist/time-picker/index.d.ts +32 -0
  216. package/dist/time-picker/index.mjs +2 -0
  217. package/dist/toaster/index.cjs +11 -0
  218. package/dist/{components/Toaster/Toaster.types.d.ts → toaster/index.d.mts} +9 -4
  219. package/dist/toaster/index.d.ts +28 -0
  220. package/dist/toaster/index.mjs +2 -0
  221. package/dist/tooltip/index.cjs +12 -0
  222. package/dist/tooltip/index.d.mts +7 -0
  223. package/dist/tooltip/index.d.ts +7 -0
  224. package/dist/tooltip/index.mjs +3 -0
  225. package/package.json +78 -95
  226. package/dist/components/Accordion/Accordion.d.ts +0 -5
  227. package/dist/components/Accordion/Accordion.types.d.ts +0 -32
  228. package/dist/components/Accordion/index.d.ts +0 -2
  229. package/dist/components/Avatar/Avatar.d.ts +0 -2
  230. package/dist/components/Avatar/Avatar.stories.d.ts +0 -11
  231. package/dist/components/Avatar/Avatar.test.d.ts +0 -1
  232. package/dist/components/Avatar/index.d.ts +0 -2
  233. package/dist/components/Badge/Badge.d.ts +0 -11
  234. package/dist/components/Badge/Badge.stories.d.ts +0 -21
  235. package/dist/components/Badge/Badge.test.d.ts +0 -1
  236. package/dist/components/Badge/index.d.ts +0 -2
  237. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +0 -2
  238. package/dist/components/Breadcrumbs/Breadcrumbs.stories.d.ts +0 -13
  239. package/dist/components/Breadcrumbs/Breadcrumbs.test.d.ts +0 -1
  240. package/dist/components/Breadcrumbs/index.d.ts +0 -2
  241. package/dist/components/Button/Button.d.ts +0 -2
  242. package/dist/components/Button/Button.stories.d.ts +0 -20
  243. package/dist/components/Button/Button.test.d.ts +0 -1
  244. package/dist/components/Button/index.d.ts +0 -2
  245. package/dist/components/Card/Card.d.ts +0 -25
  246. package/dist/components/Card/Card.stories.d.ts +0 -8
  247. package/dist/components/Card/Card.test.d.ts +0 -1
  248. package/dist/components/Card/Card.types.d.ts +0 -14
  249. package/dist/components/Card/index.d.ts +0 -2
  250. package/dist/components/Checkbox/Checkbox.d.ts +0 -2
  251. package/dist/components/Checkbox/Checkbox.stories.d.ts +0 -16
  252. package/dist/components/Checkbox/Checkbox.test.d.ts +0 -1
  253. package/dist/components/Checkbox/index.d.ts +0 -2
  254. package/dist/components/ComboBox/ComboBox.d.ts +0 -2
  255. package/dist/components/ComboBox/ComboBox.stories.d.ts +0 -12
  256. package/dist/components/ComboBox/ComboBox.test.d.ts +0 -1
  257. package/dist/components/ComboBox/index.d.ts +0 -2
  258. package/dist/components/DatePicker/DatePicker.d.ts +0 -2
  259. package/dist/components/DatePicker/DatePicker.stories.d.ts +0 -25
  260. package/dist/components/DatePicker/DatePicker.test.d.ts +0 -1
  261. package/dist/components/DatePicker/DatePicker.types.d.ts +0 -27
  262. package/dist/components/DatePicker/index.d.ts +0 -2
  263. package/dist/components/Dialog/Dialog.d.ts +0 -6
  264. package/dist/components/Dialog/Dialog.stories.d.ts +0 -9
  265. package/dist/components/Dialog/Dialog.test.d.ts +0 -1
  266. package/dist/components/Dialog/index.d.ts +0 -2
  267. package/dist/components/DropdownMenu/DropdownMenu.d.ts +0 -7
  268. package/dist/components/DropdownMenu/DropdownMenu.stories.d.ts +0 -9
  269. package/dist/components/DropdownMenu/DropdownMenu.test.d.ts +0 -1
  270. package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +0 -24
  271. package/dist/components/DropdownMenu/index.d.ts +0 -2
  272. package/dist/components/Email/Email.d.ts +0 -2
  273. package/dist/components/Email/Email.stories.d.ts +0 -11
  274. package/dist/components/Email/Email.test.d.ts +0 -1
  275. package/dist/components/Email/index.d.ts +0 -2
  276. package/dist/components/FileUpload/FileUpload.d.ts +0 -2
  277. package/dist/components/FileUpload/FileUpload.stories.d.ts +0 -10
  278. package/dist/components/FileUpload/FileUpload.test.d.ts +0 -1
  279. package/dist/components/FileUpload/FileUpload.types.d.ts +0 -22
  280. package/dist/components/FileUpload/index.d.ts +0 -2
  281. package/dist/components/Header/Header.d.ts +0 -7
  282. package/dist/components/Header/Header.stories.d.ts +0 -8
  283. package/dist/components/Header/Header.test.d.ts +0 -1
  284. package/dist/components/Header/index.d.ts +0 -2
  285. package/dist/components/IconButton/IconButton.d.ts +0 -2
  286. package/dist/components/IconButton/IconButton.stories.d.ts +0 -17
  287. package/dist/components/IconButton/IconButton.types.d.ts +0 -10
  288. package/dist/components/IconButton/index.d.ts +0 -2
  289. package/dist/components/Image/Image.d.ts +0 -6
  290. package/dist/components/Image/Image.stories.d.ts +0 -13
  291. package/dist/components/Image/Image.test.d.ts +0 -1
  292. package/dist/components/Image/index.d.ts +0 -2
  293. package/dist/components/Link/Link.d.ts +0 -2
  294. package/dist/components/Link/Link.stories.d.ts +0 -15
  295. package/dist/components/Link/Link.test.d.ts +0 -1
  296. package/dist/components/Link/index.d.ts +0 -2
  297. package/dist/components/Loader/Loader.d.ts +0 -2
  298. package/dist/components/Loader/Loader.stories.d.ts +0 -12
  299. package/dist/components/Loader/Loader.test.d.ts +0 -1
  300. package/dist/components/Loader/index.d.ts +0 -2
  301. package/dist/components/Modal/Modal.d.ts +0 -14
  302. package/dist/components/Modal/Modal.stories.d.ts +0 -14
  303. package/dist/components/Modal/Modal.test.d.ts +0 -1
  304. package/dist/components/Modal/index.d.ts +0 -2
  305. package/dist/components/MultiSelect/MultiSelect.d.ts +0 -2
  306. package/dist/components/MultiSelect/MultiSelect.stories.d.ts +0 -15
  307. package/dist/components/MultiSelect/MultiSelect.test.d.ts +0 -1
  308. package/dist/components/MultiSelect/index.d.ts +0 -2
  309. package/dist/components/OtpInput/OtpInput.d.ts +0 -2
  310. package/dist/components/OtpInput/OtpInput.stories.d.ts +0 -10
  311. package/dist/components/OtpInput/OtpInput.test.d.ts +0 -1
  312. package/dist/components/OtpInput/index.d.ts +0 -2
  313. package/dist/components/PasswordInput/PasswordInput.d.ts +0 -2
  314. package/dist/components/PasswordInput/PasswordInput.stories.d.ts +0 -23
  315. package/dist/components/PasswordInput/PasswordInput.test.d.ts +0 -1
  316. package/dist/components/PasswordInput/PasswordInput.types.d.ts +0 -27
  317. package/dist/components/PasswordInput/index.d.ts +0 -2
  318. package/dist/components/Phone/Phone.d.ts +0 -2
  319. package/dist/components/Phone/Phone.stories.d.ts +0 -11
  320. package/dist/components/Phone/Phone.test.d.ts +0 -1
  321. package/dist/components/Phone/countries.d.ts +0 -8
  322. package/dist/components/Phone/index.d.ts +0 -2
  323. package/dist/components/RadioButton/RadioButton.d.ts +0 -2
  324. package/dist/components/RadioButton/RadioButton.stories.d.ts +0 -21
  325. package/dist/components/RadioButton/RadioButton.test.d.ts +0 -1
  326. package/dist/components/RadioButton/index.d.ts +0 -2
  327. package/dist/components/SearchInput/SearchInput.d.ts +0 -6
  328. package/dist/components/SearchInput/SearchInput.stories.d.ts +0 -8
  329. package/dist/components/SearchInput/SearchInput.test.d.ts +0 -1
  330. package/dist/components/SearchInput/SearchInput.types.d.ts +0 -12
  331. package/dist/components/SearchInput/index.d.ts +0 -2
  332. package/dist/components/Select/Select.d.ts +0 -2
  333. package/dist/components/Select/Select.stories.d.ts +0 -12
  334. package/dist/components/Select/Select.test.d.ts +0 -1
  335. package/dist/components/Select/index.d.ts +0 -2
  336. package/dist/components/Sidebar/Sidebar.d.ts +0 -7
  337. package/dist/components/Sidebar/Sidebar.stories.d.ts +0 -10
  338. package/dist/components/Sidebar/Sidebar.test.d.ts +0 -1
  339. package/dist/components/Sidebar/index.d.ts +0 -2
  340. package/dist/components/Skeleton/Skeleton.d.ts +0 -26
  341. package/dist/components/Skeleton/Skeleton.stories.d.ts +0 -13
  342. package/dist/components/Skeleton/Skeleton.types.d.ts +0 -47
  343. package/dist/components/Skeleton/index.d.ts +0 -2
  344. package/dist/components/Stepper/Stepper.d.ts +0 -2
  345. package/dist/components/Stepper/Stepper.stories.d.ts +0 -23
  346. package/dist/components/Stepper/Stepper.test.d.ts +0 -1
  347. package/dist/components/Stepper/Stepper.types.d.ts +0 -47
  348. package/dist/components/Stepper/index.d.ts +0 -2
  349. package/dist/components/Table/Pagination.d.ts +0 -3
  350. package/dist/components/Table/Table.d.ts +0 -3
  351. package/dist/components/Table/Table.stories.d.ts +0 -13
  352. package/dist/components/Table/Table.test.d.ts +0 -1
  353. package/dist/components/Table/index.d.ts +0 -3
  354. package/dist/components/Tabs/Tabs.d.ts +0 -2
  355. package/dist/components/Tabs/Tabs.stories.d.ts +0 -17
  356. package/dist/components/Tabs/Tabs.test.d.ts +0 -1
  357. package/dist/components/Tabs/Tabs.types.d.ts +0 -21
  358. package/dist/components/Tabs/index.d.ts +0 -2
  359. package/dist/components/TextInput/TextInput.d.ts +0 -2
  360. package/dist/components/TextInput/TextInput.stories.d.ts +0 -25
  361. package/dist/components/TextInput/TextInput.test.d.ts +0 -1
  362. package/dist/components/TextInput/index.d.ts +0 -2
  363. package/dist/components/ThemeProvider/ThemeProvider.d.ts +0 -8
  364. package/dist/components/ThemeProvider/ThemeProvider.stories.d.ts +0 -16
  365. package/dist/components/ThemeProvider/ThemeProvider.test.d.ts +0 -1
  366. package/dist/components/ThemeProvider/index.d.ts +0 -2
  367. package/dist/components/TimePicker/TimePicker.d.ts +0 -2
  368. package/dist/components/TimePicker/TimePicker.stories.d.ts +0 -23
  369. package/dist/components/TimePicker/TimePicker.test.d.ts +0 -1
  370. package/dist/components/TimePicker/TimePicker.types.d.ts +0 -27
  371. package/dist/components/TimePicker/index.d.ts +0 -2
  372. package/dist/components/Toaster/Toaster.d.ts +0 -2
  373. package/dist/components/Toaster/Toaster.stories.d.ts +0 -13
  374. package/dist/components/Toaster/Toaster.test.d.ts +0 -1
  375. package/dist/components/Toaster/index.d.ts +0 -2
  376. package/dist/components/Toggle/Toggle.d.ts +0 -2
  377. package/dist/components/Toggle/Toggle.stories.d.ts +0 -11
  378. package/dist/components/Toggle/Toggle.types.d.ts +0 -10
  379. package/dist/components/Toggle/index.d.ts +0 -2
  380. package/dist/components/Tooltip/Tooltip.d.ts +0 -2
  381. package/dist/components/Tooltip/Tooltip.stories.d.ts +0 -13
  382. package/dist/components/Tooltip/Tooltip.test.d.ts +0 -1
  383. package/dist/components/Tooltip/index.d.ts +0 -2
  384. package/dist/utils/cn.d.ts +0 -2
  385. package/dist/utils/index.d.ts +0 -1
@@ -0,0 +1,287 @@
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 bg-surface shadow-sm focus:outline-none focus:ring-2 focus:ring-primary/40 focus:ring-offset-0",
24
+ filled: "rounded-md border border-transparent bg-surface-secondary focus:bg-surface focus:outline-none focus:ring-2 focus:ring-primary/40 focus:ring-offset-0",
25
+ flushed: "rounded-none border-0 border-b border-border bg-transparent focus:outline-none focus:ring-0",
26
+ unstyled: "border-0 bg-transparent p-0 focus:outline-none focus:ring-0"
27
+ };
28
+ var stateVariantClasses = {
29
+ default: {
30
+ default: "border-border focus:border-primary focus:ring-primary/40",
31
+ filled: "focus:border-primary focus:ring-primary/40",
32
+ flushed: "border-border focus:border-primary",
33
+ unstyled: ""
34
+ },
35
+ error: {
36
+ default: "border-error focus:border-error focus:ring-error/20",
37
+ filled: "bg-error/5 focus:border-error focus:ring-error/20",
38
+ flushed: "border-error focus:border-error",
39
+ unstyled: ""
40
+ },
41
+ success: {
42
+ default: "border-success focus:border-success focus:ring-success/20",
43
+ filled: "bg-success/5 focus:border-success focus:ring-success/20",
44
+ flushed: "border-success focus:border-success",
45
+ unstyled: ""
46
+ },
47
+ warning: {
48
+ default: "border-warning focus:border-warning focus:ring-warning/20",
49
+ filled: "bg-warning/5 focus:border-warning focus:ring-warning/20",
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 PasswordInput = react.forwardRef(function PasswordInput2({
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
+ isLoading,
103
+ showPasswordToggle = true,
104
+ value,
105
+ onChange,
106
+ onKeyUp,
107
+ onKeyDown,
108
+ ...rest
109
+ }, ref) {
110
+ const generatedId = react.useId();
111
+ const inputId = idProp ?? generatedId;
112
+ const helperId = `${inputId}-helper`;
113
+ const stateMessageId = `${inputId}-state`;
114
+ const capsLockId = `${inputId}-capslock`;
115
+ const [isPasswordVisible, setIsPasswordVisible] = react.useState(false);
116
+ const [capsLockActive, setCapsLockActive] = react.useState(false);
117
+ const handleKeyUp = (e) => {
118
+ setCapsLockActive(e.getModifierState("CapsLock"));
119
+ if (onKeyUp) onKeyUp(e);
120
+ };
121
+ const handleKeyDown = (e) => {
122
+ setCapsLockActive(e.getModifierState("CapsLock"));
123
+ if (onKeyDown) onKeyDown(e);
124
+ };
125
+ const hasLeftElement = leftElement !== void 0;
126
+ const hasRightElement = rightElement !== void 0 || Boolean(isLoading) || showPasswordToggle;
127
+ const stateMessage = getStateMessage(state, errorMessage, successMessage, warningMessage);
128
+ const describedBy = [
129
+ helperText ? helperId : null,
130
+ stateMessage ? stateMessageId : null,
131
+ capsLockActive ? capsLockId : null
132
+ ].filter(Boolean).join(" ") || void 0;
133
+ const renderRightIcon = () => {
134
+ if (isLoading) {
135
+ return /* @__PURE__ */ jsxRuntime.jsxs(
136
+ "svg",
137
+ {
138
+ className: "animate-spin h-5 w-5 text-text-muted",
139
+ xmlns: "http://www.w3.org/2000/svg",
140
+ fill: "none",
141
+ viewBox: "0 0 24 24",
142
+ children: [
143
+ /* @__PURE__ */ jsxRuntime.jsx(
144
+ "circle",
145
+ {
146
+ className: "opacity-25",
147
+ cx: "12",
148
+ cy: "12",
149
+ r: "10",
150
+ stroke: "currentColor",
151
+ strokeWidth: "4"
152
+ }
153
+ ),
154
+ /* @__PURE__ */ jsxRuntime.jsx(
155
+ "path",
156
+ {
157
+ className: "opacity-75",
158
+ fill: "currentColor",
159
+ 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"
160
+ }
161
+ )
162
+ ]
163
+ }
164
+ );
165
+ }
166
+ if (showPasswordToggle) {
167
+ return /* @__PURE__ */ jsxRuntime.jsx(
168
+ "button",
169
+ {
170
+ type: "button",
171
+ tabIndex: -1,
172
+ onClick: () => {
173
+ setIsPasswordVisible((prev) => !prev);
174
+ },
175
+ className: "flex items-center justify-center rounded-full text-text-muted hover:text-text transition focus:outline-none w-6 h-6",
176
+ "aria-label": isPasswordVisible ? "Hide password" : "Show password",
177
+ children: isPasswordVisible ? /* @__PURE__ */ jsxRuntime.jsx(outline.EyeSlashIcon, { className: "w-5 h-5" }) : /* @__PURE__ */ jsxRuntime.jsx(outline.EyeIcon, { className: "w-5 h-5" })
178
+ }
179
+ );
180
+ }
181
+ return rightElement;
182
+ };
183
+ return /* @__PURE__ */ jsxRuntime.jsxs(
184
+ "div",
185
+ {
186
+ className: chunkL5VQZZVR_cjs.cn(
187
+ "flex flex-col gap-1",
188
+ fullWidth ? "w-full" : "w-fit",
189
+ wrapperClassName,
190
+ className
191
+ ),
192
+ children: [
193
+ label !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(
194
+ "label",
195
+ {
196
+ htmlFor: inputId,
197
+ className: chunkL5VQZZVR_cjs.cn(
198
+ "font-black leading-none mb-2 text-text uppercase tracking-widest",
199
+ labelSizeClasses[size],
200
+ labelClassName
201
+ ),
202
+ children: [
203
+ label,
204
+ required && /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "ml-1 text-error", children: "*" })
205
+ ]
206
+ }
207
+ ),
208
+ /* @__PURE__ */ jsxRuntime.jsxs(
209
+ "div",
210
+ {
211
+ className: chunkL5VQZZVR_cjs.cn(
212
+ "flex items-stretch transition-all duration-150 overflow-hidden",
213
+ variantClasses[variant],
214
+ stateVariantClasses[state][variant],
215
+ fullWidth ? "w-full" : "w-fit",
216
+ "focus-within:ring-4 focus-within:ring-primary/20 focus-within:border-primary",
217
+ disabled && "opacity-50 cursor-not-allowed bg-surface-secondary",
218
+ inputGroupClassName
219
+ ),
220
+ children: [
221
+ prefix !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(Addon, { side: "left", children: prefix }),
222
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 items-center min-w-0", children: [
223
+ hasLeftElement && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pl-3 flex-shrink-0 flex items-center justify-center", children: leftElement }),
224
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 min-w-0 h-full", children: /* @__PURE__ */ jsxRuntime.jsx(
225
+ "input",
226
+ {
227
+ ref,
228
+ ...rest,
229
+ id: inputId,
230
+ disabled: Boolean(disabled) || Boolean(isLoading),
231
+ type: isPasswordVisible ? "text" : "password",
232
+ value,
233
+ onChange,
234
+ onKeyUp: handleKeyUp,
235
+ onKeyDown: handleKeyDown,
236
+ "aria-invalid": state === "error" ? true : void 0,
237
+ "aria-describedby": describedBy,
238
+ "aria-required": required,
239
+ className: chunkL5VQZZVR_cjs.cn(
240
+ "w-full bg-transparent border-0 focus:outline-none focus:ring-0 outline-none h-full",
241
+ sizeClasses[size],
242
+ inputClassName
243
+ ),
244
+ style: {
245
+ paddingLeft: hasLeftElement ? "0.5rem" : void 0,
246
+ paddingRight: hasRightElement ? "0.5rem" : void 0
247
+ }
248
+ }
249
+ ) }),
250
+ hasRightElement && /* @__PURE__ */ jsxRuntime.jsx(
251
+ "div",
252
+ {
253
+ className: "pr-3 flex-shrink-0 flex items-center justify-center text-text-secondary",
254
+ style: { width: "2.5rem" },
255
+ children: renderRightIcon()
256
+ }
257
+ )
258
+ ] }),
259
+ suffix !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(Addon, { side: "right", children: suffix })
260
+ ]
261
+ }
262
+ ),
263
+ helperText !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { id: helperId, className: chunkL5VQZZVR_cjs.cn("text-xs leading-tight text-text-muted", helperClassName), children: helperText }),
264
+ capsLockActive && /* @__PURE__ */ jsxRuntime.jsx(
265
+ "p",
266
+ {
267
+ id: capsLockId,
268
+ className: "text-xs leading-tight text-warning font-black uppercase tracking-widest",
269
+ children: "Caps Lock is on"
270
+ }
271
+ ),
272
+ stateMessage !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
273
+ "p",
274
+ {
275
+ id: stateMessageId,
276
+ role: state === "error" ? "alert" : void 0,
277
+ className: chunkL5VQZZVR_cjs.cn("text-xs leading-tight mt-1", stateMessageClasses[state], helperClassName),
278
+ children: stateMessage
279
+ }
280
+ )
281
+ ]
282
+ }
283
+ );
284
+ });
285
+ PasswordInput.displayName = "PasswordInput";
286
+
287
+ exports.PasswordInput = PasswordInput;
@@ -0,0 +1,312 @@
1
+ import { cn } from './chunk-OCPFOFJ4.mjs';
2
+ import { useState, useRef, useId, useCallback, useEffect, useLayoutEffect } from 'react';
3
+ import { createPortal } from 'react-dom';
4
+ import { jsxs, jsx } from 'react/jsx-runtime';
5
+
6
+ var EXIT_DURATION_MS = 150;
7
+ var placementClasses = {
8
+ top: "-translate-x-1/2 -translate-y-full",
9
+ bottom: "-translate-x-1/2",
10
+ left: "-translate-x-full -translate-y-1/2",
11
+ right: "-translate-y-1/2"
12
+ };
13
+ var arrowPositionClasses = {
14
+ top: "top-full left-1/2 -translate-x-1/2",
15
+ bottom: "bottom-full left-1/2 -translate-x-1/2",
16
+ left: "left-full top-1/2 -translate-y-1/2",
17
+ right: "right-full top-1/2 -translate-y-1/2"
18
+ };
19
+ var arrowBorderClasses = {
20
+ top: "border-l-transparent border-r-transparent border-b-transparent",
21
+ bottom: "border-l-transparent border-r-transparent border-t-transparent",
22
+ left: "border-t-transparent border-b-transparent border-r-transparent",
23
+ right: "border-t-transparent border-b-transparent border-l-transparent"
24
+ };
25
+ var entryTranslateClass = {
26
+ top: "translate-y-1",
27
+ bottom: "-translate-y-1",
28
+ left: "translate-x-1",
29
+ right: "-translate-x-1"
30
+ };
31
+ var sizeClasses = {
32
+ sm: "px-2 py-1 text-xs rounded-md",
33
+ md: "px-3 py-1.5 text-sm rounded-lg",
34
+ lg: "px-4 py-2 text-sm rounded-xl"
35
+ };
36
+ var variantBubbleClasses = {
37
+ dark: [
38
+ "bg-gray-900 text-gray-50",
39
+ "shadow-[0_4px_16px_rgba(0,0,0,0.35)]",
40
+ "ring-1 ring-white/10"
41
+ ].join(" "),
42
+ primary: [
43
+ "bg-gradient-to-b from-blue-500 to-blue-600 text-white",
44
+ "shadow-[0_4px_16px_rgba(59,130,246,0.45)]",
45
+ "ring-1 ring-blue-400/30"
46
+ ].join(" "),
47
+ light: [
48
+ "bg-white text-gray-800",
49
+ "border border-gray-200/80",
50
+ "shadow-[0_4px_16px_rgba(0,0,0,0.10)]"
51
+ ].join(" ")
52
+ };
53
+ var arrowVariantColor = {
54
+ dark: {
55
+ top: "border-t-gray-900",
56
+ bottom: "border-b-gray-900",
57
+ left: "border-l-gray-900",
58
+ right: "border-r-gray-900"
59
+ },
60
+ primary: {
61
+ top: "border-t-blue-600",
62
+ bottom: "border-b-blue-500",
63
+ left: "border-l-blue-600",
64
+ right: "border-r-blue-500"
65
+ },
66
+ light: {
67
+ top: "border-t-gray-200",
68
+ bottom: "border-b-gray-200",
69
+ left: "border-l-gray-200",
70
+ right: "border-r-gray-200"
71
+ }
72
+ };
73
+ function Tooltip({
74
+ content,
75
+ children,
76
+ placement = "top",
77
+ trigger = "hover",
78
+ showDelay = 0,
79
+ hideDelay = 100,
80
+ size = "md",
81
+ variant = "dark",
82
+ open: controlledOpen,
83
+ disabled = false,
84
+ maxWidth = 240,
85
+ className,
86
+ wrapperClassName
87
+ }) {
88
+ const [internalOpen, setInternalOpen] = useState(false);
89
+ const [mounted, setMounted] = useState(false);
90
+ const [visible, setVisible] = useState(false);
91
+ const [coords, setCoords] = useState({ top: 0, left: 0 });
92
+ const [actualPlacement, setActualPlacement] = useState(placement);
93
+ const isControlled = controlledOpen !== void 0;
94
+ const isOpen = isControlled ? controlledOpen : internalOpen;
95
+ const triggerRef = useRef(null);
96
+ const tooltipRef = useRef(null);
97
+ const showTimer = useRef(null);
98
+ const hideTimer = useRef(null);
99
+ const exitTimer = useRef(null);
100
+ const tooltipId = useId();
101
+ const clearTimers = useCallback(() => {
102
+ if (showTimer.current) clearTimeout(showTimer.current);
103
+ if (hideTimer.current) clearTimeout(hideTimer.current);
104
+ if (exitTimer.current) clearTimeout(exitTimer.current);
105
+ }, []);
106
+ const show = useCallback(() => {
107
+ if (disabled || isControlled) return;
108
+ clearTimers();
109
+ const open = () => {
110
+ setInternalOpen(true);
111
+ };
112
+ if (showDelay > 0) {
113
+ showTimer.current = setTimeout(open, showDelay);
114
+ } else {
115
+ open();
116
+ }
117
+ }, [disabled, isControlled, clearTimers, showDelay]);
118
+ const hide = useCallback(() => {
119
+ if (isControlled) return;
120
+ clearTimers();
121
+ hideTimer.current = setTimeout(() => {
122
+ setInternalOpen(false);
123
+ }, hideDelay);
124
+ }, [isControlled, clearTimers, hideDelay]);
125
+ const toggle = useCallback(() => {
126
+ if (disabled || isControlled) return;
127
+ setInternalOpen((prev) => !prev);
128
+ }, [disabled, isControlled]);
129
+ useEffect(() => {
130
+ let rafId = null;
131
+ if (isOpen && !disabled) {
132
+ clearTimers();
133
+ rafId = requestAnimationFrame(() => {
134
+ setMounted(true);
135
+ rafId = requestAnimationFrame(() => {
136
+ setVisible(true);
137
+ });
138
+ });
139
+ } else {
140
+ rafId = requestAnimationFrame(() => {
141
+ setVisible(false);
142
+ });
143
+ exitTimer.current = setTimeout(() => {
144
+ setMounted(false);
145
+ }, EXIT_DURATION_MS);
146
+ }
147
+ return () => {
148
+ if (rafId) cancelAnimationFrame(rafId);
149
+ if (exitTimer.current) clearTimeout(exitTimer.current);
150
+ };
151
+ }, [isOpen, disabled, clearTimers]);
152
+ const updatePosition = useCallback(() => {
153
+ if (!triggerRef.current || !isOpen) return;
154
+ const triggerRect = triggerRef.current.getBoundingClientRect();
155
+ const tooltipElement = tooltipRef.current;
156
+ const gap = 8;
157
+ let nextPlacement = placement;
158
+ const calculateBaseCoords = (p) => {
159
+ switch (p) {
160
+ case "top":
161
+ return { t: triggerRect.top - gap, l: triggerRect.left + triggerRect.width / 2 };
162
+ case "bottom":
163
+ return { t: triggerRect.bottom + gap, l: triggerRect.left + triggerRect.width / 2 };
164
+ case "left":
165
+ return { t: triggerRect.top + triggerRect.height / 2, l: triggerRect.left - gap };
166
+ case "right":
167
+ return { t: triggerRect.top + triggerRect.height / 2, l: triggerRect.right + gap };
168
+ }
169
+ };
170
+ const base = calculateBaseCoords(placement);
171
+ let top = base.t;
172
+ let left = base.l;
173
+ if (tooltipElement) {
174
+ const tooltipRect = tooltipElement.getBoundingClientRect();
175
+ const padding = 12;
176
+ if (placement === "top" && triggerRect.top - tooltipRect.height - gap < padding) {
177
+ nextPlacement = "bottom";
178
+ } else if (placement === "bottom" && triggerRect.bottom + tooltipRect.height + gap > window.innerHeight - padding) {
179
+ nextPlacement = "top";
180
+ } else if (placement === "left" && triggerRect.left - tooltipRect.width - gap < padding) {
181
+ nextPlacement = "right";
182
+ } else if (placement === "right" && triggerRect.right + tooltipRect.width + gap > window.innerWidth - padding) {
183
+ nextPlacement = "left";
184
+ }
185
+ if (nextPlacement !== placement) {
186
+ const flippedBase = calculateBaseCoords(nextPlacement);
187
+ top = flippedBase.t;
188
+ left = flippedBase.l;
189
+ }
190
+ const halfWidth = tooltipRect.width / 2;
191
+ const halfHeight = tooltipRect.height / 2;
192
+ if (nextPlacement === "top" || nextPlacement === "bottom") {
193
+ left = Math.max(
194
+ padding + halfWidth,
195
+ Math.min(window.innerWidth - padding - halfWidth, left)
196
+ );
197
+ } else {
198
+ top = Math.max(
199
+ padding + halfHeight,
200
+ Math.min(window.innerHeight - padding - halfHeight, top)
201
+ );
202
+ }
203
+ }
204
+ setActualPlacement(nextPlacement);
205
+ setCoords({ top, left });
206
+ }, [isOpen, placement]);
207
+ useLayoutEffect(() => {
208
+ if (!isOpen) return;
209
+ let rafId = null;
210
+ const handleUpdate = () => {
211
+ rafId = requestAnimationFrame(updatePosition);
212
+ };
213
+ handleUpdate();
214
+ window.addEventListener("resize", handleUpdate);
215
+ window.addEventListener("scroll", handleUpdate, true);
216
+ return () => {
217
+ if (rafId !== null) cancelAnimationFrame(rafId);
218
+ window.removeEventListener("resize", handleUpdate);
219
+ window.removeEventListener("scroll", handleUpdate, true);
220
+ };
221
+ }, [isOpen, updatePosition]);
222
+ useEffect(() => {
223
+ if (!isOpen) return;
224
+ const handleKey = (e) => {
225
+ if (e.key === "Escape") {
226
+ clearTimers();
227
+ setInternalOpen(false);
228
+ }
229
+ };
230
+ document.addEventListener("keydown", handleKey);
231
+ return () => {
232
+ document.removeEventListener("keydown", handleKey);
233
+ };
234
+ }, [isOpen, clearTimers]);
235
+ useEffect(() => clearTimers, [clearTimers]);
236
+ const triggerProps = {};
237
+ if (trigger === "hover" || trigger === "focus") {
238
+ triggerProps.onFocus = show;
239
+ triggerProps.onBlur = hide;
240
+ }
241
+ if (trigger === "hover") {
242
+ triggerProps.onMouseEnter = show;
243
+ triggerProps.onMouseLeave = hide;
244
+ } else if (trigger === "click") {
245
+ triggerProps.onClick = toggle;
246
+ }
247
+ triggerProps.onKeyDown = (e) => {
248
+ if (e.key === "Enter" || e.key === " ") toggle();
249
+ };
250
+ const child = children;
251
+ return /* @__PURE__ */ jsxs(
252
+ "span",
253
+ {
254
+ ref: triggerRef,
255
+ className: cn("relative inline-flex isolate z-0", wrapperClassName),
256
+ "aria-describedby": isOpen && !disabled ? tooltipId : void 0,
257
+ ...triggerProps,
258
+ children: [
259
+ /* @__PURE__ */ jsx("span", { className: "relative z-0", children: child }),
260
+ mounted && !disabled && createPortal(
261
+ /* @__PURE__ */ jsx(
262
+ "div",
263
+ {
264
+ ref: tooltipRef,
265
+ className: cn("pointer-events-none fixed z-[9999]", placementClasses[actualPlacement]),
266
+ style: { top: coords.top, left: coords.left },
267
+ children: /* @__PURE__ */ jsxs(
268
+ "div",
269
+ {
270
+ id: tooltipId,
271
+ role: "tooltip",
272
+ style: { maxWidth, transitionDuration: `${EXIT_DURATION_MS.toString()}ms` },
273
+ className: cn(
274
+ // Layout & typography
275
+ "relative min-w-max whitespace-normal break-words",
276
+ "font-sans font-medium tracking-tight text-center leading-snug",
277
+ // Smooth enter/exit transition
278
+ "transition-[opacity,transform] ease-out",
279
+ visible ? "opacity-100 translate-x-0 translate-y-0" : ["opacity-0", entryTranslateClass[actualPlacement]].join(" "),
280
+ // Visual styles
281
+ variantBubbleClasses[variant],
282
+ sizeClasses[size],
283
+ className
284
+ ),
285
+ children: [
286
+ /* @__PURE__ */ jsx(
287
+ "div",
288
+ {
289
+ "aria-hidden": "true",
290
+ className: cn(
291
+ "absolute border-[6px]",
292
+ "drop-shadow-sm",
293
+ arrowPositionClasses[actualPlacement],
294
+ arrowBorderClasses[actualPlacement],
295
+ arrowVariantColor[variant][actualPlacement]
296
+ )
297
+ }
298
+ ),
299
+ content
300
+ ]
301
+ }
302
+ )
303
+ }
304
+ ),
305
+ document.body
306
+ )
307
+ ]
308
+ }
309
+ );
310
+ }
311
+
312
+ export { Tooltip };