@mieweb/ui 0.1.0

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 (459) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +696 -0
  3. package/dist/brands/bluehive.cjs +18 -0
  4. package/dist/brands/bluehive.cjs.map +1 -0
  5. package/dist/brands/bluehive.css +136 -0
  6. package/dist/brands/bluehive.d.cts +16 -0
  7. package/dist/brands/bluehive.d.ts +16 -0
  8. package/dist/brands/bluehive.js +3 -0
  9. package/dist/brands/bluehive.js.map +1 -0
  10. package/dist/brands/enterprise-health.css +260 -0
  11. package/dist/brands/index.cjs +55 -0
  12. package/dist/brands/index.cjs.map +1 -0
  13. package/dist/brands/index.d.cts +100 -0
  14. package/dist/brands/index.d.ts +100 -0
  15. package/dist/brands/index.js +10 -0
  16. package/dist/brands/index.js.map +1 -0
  17. package/dist/brands/mieweb.css +138 -0
  18. package/dist/brands/types.cjs +20 -0
  19. package/dist/brands/types.cjs.map +1 -0
  20. package/dist/brands/types.d.cts +188 -0
  21. package/dist/brands/types.d.ts +188 -0
  22. package/dist/brands/types.js +3 -0
  23. package/dist/brands/types.js.map +1 -0
  24. package/dist/brands/waggleline.css +164 -0
  25. package/dist/brands/webchart.css +138 -0
  26. package/dist/chunk-265CFCCX.js +173 -0
  27. package/dist/chunk-265CFCCX.js.map +1 -0
  28. package/dist/chunk-2J2V4TMJ.cjs +139 -0
  29. package/dist/chunk-2J2V4TMJ.cjs.map +1 -0
  30. package/dist/chunk-2O7D6F67.cjs +63 -0
  31. package/dist/chunk-2O7D6F67.cjs.map +1 -0
  32. package/dist/chunk-3NJ72QU6.js +55 -0
  33. package/dist/chunk-3NJ72QU6.js.map +1 -0
  34. package/dist/chunk-4AWW5WPF.js +161 -0
  35. package/dist/chunk-4AWW5WPF.js.map +1 -0
  36. package/dist/chunk-4LNS5QDP.cjs +84 -0
  37. package/dist/chunk-4LNS5QDP.cjs.map +1 -0
  38. package/dist/chunk-4LTN2LEN.js +79 -0
  39. package/dist/chunk-4LTN2LEN.js.map +1 -0
  40. package/dist/chunk-4MHTSFPX.js +205 -0
  41. package/dist/chunk-4MHTSFPX.js.map +1 -0
  42. package/dist/chunk-4YRAEFYW.js +233 -0
  43. package/dist/chunk-4YRAEFYW.js.map +1 -0
  44. package/dist/chunk-53K3KWXQ.cjs +753 -0
  45. package/dist/chunk-53K3KWXQ.cjs.map +1 -0
  46. package/dist/chunk-6DP6RKUA.cjs +15 -0
  47. package/dist/chunk-6DP6RKUA.cjs.map +1 -0
  48. package/dist/chunk-6HFFWEM3.cjs +22 -0
  49. package/dist/chunk-6HFFWEM3.cjs.map +1 -0
  50. package/dist/chunk-6OCIIIAI.js +128 -0
  51. package/dist/chunk-6OCIIIAI.js.map +1 -0
  52. package/dist/chunk-6Q4SU72T.js +300 -0
  53. package/dist/chunk-6Q4SU72T.js.map +1 -0
  54. package/dist/chunk-AU5ADTYD.cjs +326 -0
  55. package/dist/chunk-AU5ADTYD.cjs.map +1 -0
  56. package/dist/chunk-AWIULTJW.js +190 -0
  57. package/dist/chunk-AWIULTJW.js.map +1 -0
  58. package/dist/chunk-B26RIQ5R.js +97 -0
  59. package/dist/chunk-B26RIQ5R.js.map +1 -0
  60. package/dist/chunk-B3L43JGH.js +98 -0
  61. package/dist/chunk-B3L43JGH.js.map +1 -0
  62. package/dist/chunk-B7DA35BY.cjs +496 -0
  63. package/dist/chunk-B7DA35BY.cjs.map +1 -0
  64. package/dist/chunk-B7YGVKTE.cjs +184 -0
  65. package/dist/chunk-B7YGVKTE.cjs.map +1 -0
  66. package/dist/chunk-BR2XGATJ.cjs +40 -0
  67. package/dist/chunk-BR2XGATJ.cjs.map +1 -0
  68. package/dist/chunk-BTJHYGPI.cjs +27 -0
  69. package/dist/chunk-BTJHYGPI.cjs.map +1 -0
  70. package/dist/chunk-BXK5TNJE.cjs +329 -0
  71. package/dist/chunk-BXK5TNJE.cjs.map +1 -0
  72. package/dist/chunk-C6MDPPPL.js +82 -0
  73. package/dist/chunk-C6MDPPPL.js.map +1 -0
  74. package/dist/chunk-CEHWXAAI.js +22 -0
  75. package/dist/chunk-CEHWXAAI.js.map +1 -0
  76. package/dist/chunk-CLNOI5J7.js +38 -0
  77. package/dist/chunk-CLNOI5J7.js.map +1 -0
  78. package/dist/chunk-CP7NPDQW.js +99 -0
  79. package/dist/chunk-CP7NPDQW.js.map +1 -0
  80. package/dist/chunk-CQCYXHCU.cjs +256 -0
  81. package/dist/chunk-CQCYXHCU.cjs.map +1 -0
  82. package/dist/chunk-D5IBXXF2.js +243 -0
  83. package/dist/chunk-D5IBXXF2.js.map +1 -0
  84. package/dist/chunk-DMA74PZ7.js +240 -0
  85. package/dist/chunk-DMA74PZ7.js.map +1 -0
  86. package/dist/chunk-EF46XW4Z.cjs +270 -0
  87. package/dist/chunk-EF46XW4Z.cjs.map +1 -0
  88. package/dist/chunk-EKIQE524.cjs +78 -0
  89. package/dist/chunk-EKIQE524.cjs.map +1 -0
  90. package/dist/chunk-F3SOEIN2.js +11 -0
  91. package/dist/chunk-F3SOEIN2.js.map +1 -0
  92. package/dist/chunk-FFJVCQ5R.cjs +128 -0
  93. package/dist/chunk-FFJVCQ5R.cjs.map +1 -0
  94. package/dist/chunk-FHY3K6PL.cjs +24 -0
  95. package/dist/chunk-FHY3K6PL.cjs.map +1 -0
  96. package/dist/chunk-FIUNOH6W.js +13 -0
  97. package/dist/chunk-FIUNOH6W.js.map +1 -0
  98. package/dist/chunk-FIXAVBUA.cjs +200 -0
  99. package/dist/chunk-FIXAVBUA.cjs.map +1 -0
  100. package/dist/chunk-FQ5G7J24.js +297 -0
  101. package/dist/chunk-FQ5G7J24.js.map +1 -0
  102. package/dist/chunk-G2DOD34H.js +215 -0
  103. package/dist/chunk-G2DOD34H.js.map +1 -0
  104. package/dist/chunk-GV5JQBPX.js +110 -0
  105. package/dist/chunk-GV5JQBPX.js.map +1 -0
  106. package/dist/chunk-H2CIKJQI.js +32 -0
  107. package/dist/chunk-H2CIKJQI.js.map +1 -0
  108. package/dist/chunk-HB7C7NB5.js +20 -0
  109. package/dist/chunk-HB7C7NB5.js.map +1 -0
  110. package/dist/chunk-HLW3XD5R.cjs +322 -0
  111. package/dist/chunk-HLW3XD5R.cjs.map +1 -0
  112. package/dist/chunk-HRA4FUO6.cjs +425 -0
  113. package/dist/chunk-HRA4FUO6.cjs.map +1 -0
  114. package/dist/chunk-IY7UQPDO.cjs +122 -0
  115. package/dist/chunk-IY7UQPDO.cjs.map +1 -0
  116. package/dist/chunk-JFAXLE2J.js +217 -0
  117. package/dist/chunk-JFAXLE2J.js.map +1 -0
  118. package/dist/chunk-JYMQJ32S.cjs +115 -0
  119. package/dist/chunk-JYMQJ32S.cjs.map +1 -0
  120. package/dist/chunk-KJOFWJHV.js +406 -0
  121. package/dist/chunk-KJOFWJHV.js.map +1 -0
  122. package/dist/chunk-KJZNEVYM.js +61 -0
  123. package/dist/chunk-KJZNEVYM.js.map +1 -0
  124. package/dist/chunk-KMN7JX2X.cjs +67 -0
  125. package/dist/chunk-KMN7JX2X.cjs.map +1 -0
  126. package/dist/chunk-LEE3NMNP.cjs +429 -0
  127. package/dist/chunk-LEE3NMNP.cjs.map +1 -0
  128. package/dist/chunk-LZEY55QZ.cjs +219 -0
  129. package/dist/chunk-LZEY55QZ.cjs.map +1 -0
  130. package/dist/chunk-MKJDBXX4.cjs +171 -0
  131. package/dist/chunk-MKJDBXX4.cjs.map +1 -0
  132. package/dist/chunk-MTZPVOP6.js +99 -0
  133. package/dist/chunk-MTZPVOP6.js.map +1 -0
  134. package/dist/chunk-N3QTYHRZ.cjs +134 -0
  135. package/dist/chunk-N3QTYHRZ.cjs.map +1 -0
  136. package/dist/chunk-N5EKL4DH.js +148 -0
  137. package/dist/chunk-N5EKL4DH.js.map +1 -0
  138. package/dist/chunk-NAATBUHR.cjs +231 -0
  139. package/dist/chunk-NAATBUHR.cjs.map +1 -0
  140. package/dist/chunk-NH2JVQ6V.cjs +272 -0
  141. package/dist/chunk-NH2JVQ6V.cjs.map +1 -0
  142. package/dist/chunk-NIHESA7O.js +114 -0
  143. package/dist/chunk-NIHESA7O.js.map +1 -0
  144. package/dist/chunk-NXRLGHEC.js +98 -0
  145. package/dist/chunk-NXRLGHEC.js.map +1 -0
  146. package/dist/chunk-O5HS7ZND.cjs +81 -0
  147. package/dist/chunk-O5HS7ZND.cjs.map +1 -0
  148. package/dist/chunk-O7WRE2WX.js +195 -0
  149. package/dist/chunk-O7WRE2WX.js.map +1 -0
  150. package/dist/chunk-ONWOB76P.js +319 -0
  151. package/dist/chunk-ONWOB76P.js.map +1 -0
  152. package/dist/chunk-OR5DRJCW.cjs +13 -0
  153. package/dist/chunk-OR5DRJCW.cjs.map +1 -0
  154. package/dist/chunk-ORUPC5TV.cjs +244 -0
  155. package/dist/chunk-ORUPC5TV.cjs.map +1 -0
  156. package/dist/chunk-OT36EMM5.js +22 -0
  157. package/dist/chunk-OT36EMM5.js.map +1 -0
  158. package/dist/chunk-OW2BWGST.js +238 -0
  159. package/dist/chunk-OW2BWGST.js.map +1 -0
  160. package/dist/chunk-OWPWP46L.js +92 -0
  161. package/dist/chunk-OWPWP46L.js.map +1 -0
  162. package/dist/chunk-P52GA3GJ.cjs +101 -0
  163. package/dist/chunk-P52GA3GJ.cjs.map +1 -0
  164. package/dist/chunk-PEFJAWNR.cjs +121 -0
  165. package/dist/chunk-PEFJAWNR.cjs.map +1 -0
  166. package/dist/chunk-PF3XWKE5.cjs +343 -0
  167. package/dist/chunk-PF3XWKE5.cjs.map +1 -0
  168. package/dist/chunk-QBWVTJKF.js +548 -0
  169. package/dist/chunk-QBWVTJKF.js.map +1 -0
  170. package/dist/chunk-QDGZBDBI.cjs +99 -0
  171. package/dist/chunk-QDGZBDBI.cjs.map +1 -0
  172. package/dist/chunk-QL2YTVTR.js +163 -0
  173. package/dist/chunk-QL2YTVTR.js.map +1 -0
  174. package/dist/chunk-QYJ7RQJ2.cjs +239 -0
  175. package/dist/chunk-QYJ7RQJ2.cjs.map +1 -0
  176. package/dist/chunk-QZLRB3UG.js +727 -0
  177. package/dist/chunk-QZLRB3UG.js.map +1 -0
  178. package/dist/chunk-R4DM4635.cjs +109 -0
  179. package/dist/chunk-R4DM4635.cjs.map +1 -0
  180. package/dist/chunk-RCMF6KZA.js +75 -0
  181. package/dist/chunk-RCMF6KZA.js.map +1 -0
  182. package/dist/chunk-RRQGH7C5.cjs +187 -0
  183. package/dist/chunk-RRQGH7C5.cjs.map +1 -0
  184. package/dist/chunk-S6UNPMAS.cjs +84 -0
  185. package/dist/chunk-S6UNPMAS.cjs.map +1 -0
  186. package/dist/chunk-SJ3BF4BO.cjs +199 -0
  187. package/dist/chunk-SJ3BF4BO.cjs.map +1 -0
  188. package/dist/chunk-SN52QMRT.js +58 -0
  189. package/dist/chunk-SN52QMRT.js.map +1 -0
  190. package/dist/chunk-SOFX4T7M.js +124 -0
  191. package/dist/chunk-SOFX4T7M.js.map +1 -0
  192. package/dist/chunk-SWMRCGL4.cjs +24 -0
  193. package/dist/chunk-SWMRCGL4.cjs.map +1 -0
  194. package/dist/chunk-SWV5E75F.cjs +94 -0
  195. package/dist/chunk-SWV5E75F.cjs.map +1 -0
  196. package/dist/chunk-T4ME7QCT.js +22 -0
  197. package/dist/chunk-T4ME7QCT.js.map +1 -0
  198. package/dist/chunk-TA6FVVCM.js +207 -0
  199. package/dist/chunk-TA6FVVCM.js.map +1 -0
  200. package/dist/chunk-UHSPAFY6.js +82 -0
  201. package/dist/chunk-UHSPAFY6.js.map +1 -0
  202. package/dist/chunk-ULOA7WBW.js +82 -0
  203. package/dist/chunk-ULOA7WBW.js.map +1 -0
  204. package/dist/chunk-UZUBLXVC.js +307 -0
  205. package/dist/chunk-UZUBLXVC.js.map +1 -0
  206. package/dist/chunk-VDMQCSXT.cjs +234 -0
  207. package/dist/chunk-VDMQCSXT.cjs.map +1 -0
  208. package/dist/chunk-VV4N4WY6.cjs +121 -0
  209. package/dist/chunk-VV4N4WY6.cjs.map +1 -0
  210. package/dist/chunk-VWXGUNBR.cjs +574 -0
  211. package/dist/chunk-VWXGUNBR.cjs.map +1 -0
  212. package/dist/chunk-WN2FJE23.js +474 -0
  213. package/dist/chunk-WN2FJE23.js.map +1 -0
  214. package/dist/chunk-XHJGYBYG.cjs +262 -0
  215. package/dist/chunk-XHJGYBYG.cjs.map +1 -0
  216. package/dist/chunk-XXOBTAKA.js +390 -0
  217. package/dist/chunk-XXOBTAKA.js.map +1 -0
  218. package/dist/chunk-Z3TFPXVN.cjs +84 -0
  219. package/dist/chunk-Z3TFPXVN.cjs.map +1 -0
  220. package/dist/chunk-ZJCPW6MS.cjs +54 -0
  221. package/dist/chunk-ZJCPW6MS.cjs.map +1 -0
  222. package/dist/chunk-ZO46CFVN.cjs +4 -0
  223. package/dist/chunk-ZO46CFVN.cjs.map +1 -0
  224. package/dist/chunk-ZQ4XMJH7.js +3 -0
  225. package/dist/chunk-ZQ4XMJH7.js.map +1 -0
  226. package/dist/components/Alert/index.cjs +25 -0
  227. package/dist/components/Alert/index.cjs.map +1 -0
  228. package/dist/components/Alert/index.d.cts +39 -0
  229. package/dist/components/Alert/index.d.ts +39 -0
  230. package/dist/components/Alert/index.js +4 -0
  231. package/dist/components/Alert/index.js.map +1 -0
  232. package/dist/components/AudioPlayer/index.cjs +29 -0
  233. package/dist/components/AudioPlayer/index.cjs.map +1 -0
  234. package/dist/components/AudioPlayer/index.d.cts +83 -0
  235. package/dist/components/AudioPlayer/index.d.ts +83 -0
  236. package/dist/components/AudioPlayer/index.js +4 -0
  237. package/dist/components/AudioPlayer/index.js.map +1 -0
  238. package/dist/components/AudioRecorder/index.cjs +29 -0
  239. package/dist/components/AudioRecorder/index.cjs.map +1 -0
  240. package/dist/components/AudioRecorder/index.d.cts +106 -0
  241. package/dist/components/AudioRecorder/index.d.ts +106 -0
  242. package/dist/components/AudioRecorder/index.js +4 -0
  243. package/dist/components/AudioRecorder/index.js.map +1 -0
  244. package/dist/components/Avatar/index.cjs +25 -0
  245. package/dist/components/Avatar/index.cjs.map +1 -0
  246. package/dist/components/Avatar/index.d.cts +62 -0
  247. package/dist/components/Avatar/index.d.ts +62 -0
  248. package/dist/components/Avatar/index.js +4 -0
  249. package/dist/components/Avatar/index.js.map +1 -0
  250. package/dist/components/Badge/index.cjs +17 -0
  251. package/dist/components/Badge/index.cjs.map +1 -0
  252. package/dist/components/Badge/index.d.cts +25 -0
  253. package/dist/components/Badge/index.d.ts +25 -0
  254. package/dist/components/Badge/index.js +4 -0
  255. package/dist/components/Badge/index.js.map +1 -0
  256. package/dist/components/Breadcrumb/index.cjs +17 -0
  257. package/dist/components/Breadcrumb/index.cjs.map +1 -0
  258. package/dist/components/Breadcrumb/index.d.cts +47 -0
  259. package/dist/components/Breadcrumb/index.d.ts +47 -0
  260. package/dist/components/Breadcrumb/index.js +4 -0
  261. package/dist/components/Breadcrumb/index.js.map +1 -0
  262. package/dist/components/Button/index.cjs +17 -0
  263. package/dist/components/Button/index.cjs.map +1 -0
  264. package/dist/components/Button/index.d.cts +32 -0
  265. package/dist/components/Button/index.d.ts +32 -0
  266. package/dist/components/Button/index.js +4 -0
  267. package/dist/components/Button/index.js.map +1 -0
  268. package/dist/components/Card/index.cjs +65 -0
  269. package/dist/components/Card/index.cjs.map +1 -0
  270. package/dist/components/Card/index.d.cts +119 -0
  271. package/dist/components/Card/index.d.ts +119 -0
  272. package/dist/components/Card/index.js +4 -0
  273. package/dist/components/Card/index.js.map +1 -0
  274. package/dist/components/Checkbox/index.cjs +21 -0
  275. package/dist/components/Checkbox/index.cjs.map +1 -0
  276. package/dist/components/Checkbox/index.d.cts +63 -0
  277. package/dist/components/Checkbox/index.d.ts +63 -0
  278. package/dist/components/Checkbox/index.js +4 -0
  279. package/dist/components/Checkbox/index.js.map +1 -0
  280. package/dist/components/DateInput/index.cjs +15 -0
  281. package/dist/components/DateInput/index.cjs.map +1 -0
  282. package/dist/components/DateInput/index.d.cts +55 -0
  283. package/dist/components/DateInput/index.d.ts +55 -0
  284. package/dist/components/DateInput/index.js +6 -0
  285. package/dist/components/DateInput/index.js.map +1 -0
  286. package/dist/components/Dropdown/index.cjs +35 -0
  287. package/dist/components/Dropdown/index.cjs.map +1 -0
  288. package/dist/components/Dropdown/index.d.cts +102 -0
  289. package/dist/components/Dropdown/index.d.ts +102 -0
  290. package/dist/components/Dropdown/index.js +6 -0
  291. package/dist/components/Dropdown/index.js.map +1 -0
  292. package/dist/components/Input/index.cjs +17 -0
  293. package/dist/components/Input/index.cjs.map +1 -0
  294. package/dist/components/Input/index.d.cts +32 -0
  295. package/dist/components/Input/index.d.ts +32 -0
  296. package/dist/components/Input/index.js +4 -0
  297. package/dist/components/Input/index.js.map +1 -0
  298. package/dist/components/Modal/index.cjs +43 -0
  299. package/dist/components/Modal/index.cjs.map +1 -0
  300. package/dist/components/Modal/index.d.cts +82 -0
  301. package/dist/components/Modal/index.d.ts +82 -0
  302. package/dist/components/Modal/index.js +6 -0
  303. package/dist/components/Modal/index.js.map +1 -0
  304. package/dist/components/Pagination/index.cjs +21 -0
  305. package/dist/components/Pagination/index.cjs.map +1 -0
  306. package/dist/components/Pagination/index.d.cts +78 -0
  307. package/dist/components/Pagination/index.d.ts +78 -0
  308. package/dist/components/Pagination/index.js +4 -0
  309. package/dist/components/Pagination/index.js.map +1 -0
  310. package/dist/components/PhoneInput/index.cjs +19 -0
  311. package/dist/components/PhoneInput/index.cjs.map +1 -0
  312. package/dist/components/PhoneInput/index.d.cts +80 -0
  313. package/dist/components/PhoneInput/index.d.ts +80 -0
  314. package/dist/components/PhoneInput/index.js +6 -0
  315. package/dist/components/PhoneInput/index.js.map +1 -0
  316. package/dist/components/Progress/index.cjs +29 -0
  317. package/dist/components/Progress/index.cjs.map +1 -0
  318. package/dist/components/Progress/index.d.cts +76 -0
  319. package/dist/components/Progress/index.d.ts +76 -0
  320. package/dist/components/Progress/index.js +4 -0
  321. package/dist/components/Progress/index.js.map +1 -0
  322. package/dist/components/QuickAction/index.cjs +29 -0
  323. package/dist/components/QuickAction/index.cjs.map +1 -0
  324. package/dist/components/QuickAction/index.d.cts +78 -0
  325. package/dist/components/QuickAction/index.d.ts +78 -0
  326. package/dist/components/QuickAction/index.js +4 -0
  327. package/dist/components/QuickAction/index.js.map +1 -0
  328. package/dist/components/Radio/index.cjs +21 -0
  329. package/dist/components/Radio/index.cjs.map +1 -0
  330. package/dist/components/Radio/index.d.cts +72 -0
  331. package/dist/components/Radio/index.d.ts +72 -0
  332. package/dist/components/Radio/index.js +4 -0
  333. package/dist/components/Radio/index.js.map +1 -0
  334. package/dist/components/RecordButton/index.cjs +25 -0
  335. package/dist/components/RecordButton/index.cjs.map +1 -0
  336. package/dist/components/RecordButton/index.d.cts +83 -0
  337. package/dist/components/RecordButton/index.d.ts +83 -0
  338. package/dist/components/RecordButton/index.js +4 -0
  339. package/dist/components/RecordButton/index.js.map +1 -0
  340. package/dist/components/SchedulePicker/index.cjs +45 -0
  341. package/dist/components/SchedulePicker/index.cjs.map +1 -0
  342. package/dist/components/SchedulePicker/index.d.cts +111 -0
  343. package/dist/components/SchedulePicker/index.d.ts +111 -0
  344. package/dist/components/SchedulePicker/index.js +4 -0
  345. package/dist/components/SchedulePicker/index.js.map +1 -0
  346. package/dist/components/Select/index.cjs +19 -0
  347. package/dist/components/Select/index.cjs.map +1 -0
  348. package/dist/components/Select/index.d.cts +79 -0
  349. package/dist/components/Select/index.d.ts +79 -0
  350. package/dist/components/Select/index.js +6 -0
  351. package/dist/components/Select/index.js.map +1 -0
  352. package/dist/components/Skeleton/index.cjs +29 -0
  353. package/dist/components/Skeleton/index.cjs.map +1 -0
  354. package/dist/components/Skeleton/index.d.cts +96 -0
  355. package/dist/components/Skeleton/index.d.ts +96 -0
  356. package/dist/components/Skeleton/index.js +4 -0
  357. package/dist/components/Skeleton/index.js.map +1 -0
  358. package/dist/components/Spinner/index.cjs +25 -0
  359. package/dist/components/Spinner/index.cjs.map +1 -0
  360. package/dist/components/Spinner/index.d.cts +67 -0
  361. package/dist/components/Spinner/index.d.ts +67 -0
  362. package/dist/components/Spinner/index.js +4 -0
  363. package/dist/components/Spinner/index.js.map +1 -0
  364. package/dist/components/Switch/index.cjs +21 -0
  365. package/dist/components/Switch/index.cjs.map +1 -0
  366. package/dist/components/Switch/index.d.cts +41 -0
  367. package/dist/components/Switch/index.d.ts +41 -0
  368. package/dist/components/Switch/index.js +4 -0
  369. package/dist/components/Switch/index.js.map +1 -0
  370. package/dist/components/Table/index.cjs +41 -0
  371. package/dist/components/Table/index.cjs.map +1 -0
  372. package/dist/components/Table/index.d.cts +54 -0
  373. package/dist/components/Table/index.d.ts +54 -0
  374. package/dist/components/Table/index.js +4 -0
  375. package/dist/components/Table/index.js.map +1 -0
  376. package/dist/components/Tabs/index.cjs +33 -0
  377. package/dist/components/Tabs/index.cjs.map +1 -0
  378. package/dist/components/Tabs/index.d.cts +70 -0
  379. package/dist/components/Tabs/index.d.ts +70 -0
  380. package/dist/components/Tabs/index.js +4 -0
  381. package/dist/components/Tabs/index.js.map +1 -0
  382. package/dist/components/Text/index.cjs +21 -0
  383. package/dist/components/Text/index.cjs.map +1 -0
  384. package/dist/components/Text/index.d.cts +35 -0
  385. package/dist/components/Text/index.d.ts +35 -0
  386. package/dist/components/Text/index.js +4 -0
  387. package/dist/components/Text/index.js.map +1 -0
  388. package/dist/components/Textarea/index.cjs +17 -0
  389. package/dist/components/Textarea/index.cjs.map +1 -0
  390. package/dist/components/Textarea/index.d.cts +42 -0
  391. package/dist/components/Textarea/index.d.ts +42 -0
  392. package/dist/components/Textarea/index.js +4 -0
  393. package/dist/components/Textarea/index.js.map +1 -0
  394. package/dist/components/ThemeProvider/index.cjs +36 -0
  395. package/dist/components/ThemeProvider/index.cjs.map +1 -0
  396. package/dist/components/ThemeProvider/index.d.cts +121 -0
  397. package/dist/components/ThemeProvider/index.d.ts +121 -0
  398. package/dist/components/ThemeProvider/index.js +7 -0
  399. package/dist/components/ThemeProvider/index.js.map +1 -0
  400. package/dist/components/Tooltip/index.cjs +14 -0
  401. package/dist/components/Tooltip/index.cjs.map +1 -0
  402. package/dist/components/Tooltip/index.d.cts +55 -0
  403. package/dist/components/Tooltip/index.d.ts +55 -0
  404. package/dist/components/Tooltip/index.js +5 -0
  405. package/dist/components/Tooltip/index.js.map +1 -0
  406. package/dist/components/VisuallyHidden/index.cjs +12 -0
  407. package/dist/components/VisuallyHidden/index.cjs.map +1 -0
  408. package/dist/components/VisuallyHidden/index.d.cts +20 -0
  409. package/dist/components/VisuallyHidden/index.d.ts +20 -0
  410. package/dist/components/VisuallyHidden/index.js +3 -0
  411. package/dist/components/VisuallyHidden/index.js.map +1 -0
  412. package/dist/default-LIRPABBK.js +3 -0
  413. package/dist/default-LIRPABBK.js.map +1 -0
  414. package/dist/default-ZGHKI5WF.cjs +18 -0
  415. package/dist/default-ZGHKI5WF.cjs.map +1 -0
  416. package/dist/enterprise-health-ORQQOLM3.js +3 -0
  417. package/dist/enterprise-health-ORQQOLM3.js.map +1 -0
  418. package/dist/enterprise-health-UDI25OCV.cjs +18 -0
  419. package/dist/enterprise-health-UDI25OCV.cjs.map +1 -0
  420. package/dist/hooks/index.cjs +69 -0
  421. package/dist/hooks/index.cjs.map +1 -0
  422. package/dist/hooks/index.d.cts +179 -0
  423. package/dist/hooks/index.d.ts +179 -0
  424. package/dist/hooks/index.js +8 -0
  425. package/dist/hooks/index.js.map +1 -0
  426. package/dist/index.cjs +33153 -0
  427. package/dist/index.cjs.map +1 -0
  428. package/dist/index.d.cts +8188 -0
  429. package/dist/index.d.ts +8188 -0
  430. package/dist/index.js +32162 -0
  431. package/dist/index.js.map +1 -0
  432. package/dist/mieweb-PV2YKYO7.js +3 -0
  433. package/dist/mieweb-PV2YKYO7.js.map +1 -0
  434. package/dist/mieweb-UJABK5XX.cjs +18 -0
  435. package/dist/mieweb-UJABK5XX.cjs.map +1 -0
  436. package/dist/styles.css +2 -0
  437. package/dist/tailwind-preset.cjs +22 -0
  438. package/dist/tailwind-preset.cjs.map +1 -0
  439. package/dist/tailwind-preset.d.cts +39 -0
  440. package/dist/tailwind-preset.d.ts +39 -0
  441. package/dist/tailwind-preset.js +3 -0
  442. package/dist/tailwind-preset.js.map +1 -0
  443. package/dist/useTheme-B9SWu6ui.d.cts +24 -0
  444. package/dist/useTheme-B9SWu6ui.d.ts +24 -0
  445. package/dist/utils/index.cjs +63 -0
  446. package/dist/utils/index.cjs.map +1 -0
  447. package/dist/utils/index.d.cts +73 -0
  448. package/dist/utils/index.d.ts +73 -0
  449. package/dist/utils/index.js +6 -0
  450. package/dist/utils/index.js.map +1 -0
  451. package/dist/waggleline-6IGA66HR.cjs +18 -0
  452. package/dist/waggleline-6IGA66HR.cjs.map +1 -0
  453. package/dist/waggleline-BMUYAFJF.js +3 -0
  454. package/dist/waggleline-BMUYAFJF.js.map +1 -0
  455. package/dist/webchart-2SLO5ICI.js +3 -0
  456. package/dist/webchart-2SLO5ICI.js.map +1 -0
  457. package/dist/webchart-EHVGP46N.cjs +18 -0
  458. package/dist/webchart-EHVGP46N.cjs.map +1 -0
  459. package/package.json +212 -0
@@ -0,0 +1,121 @@
1
+ 'use strict';
2
+
3
+ var chunkOR5DRJCW_cjs = require('./chunk-OR5DRJCW.cjs');
4
+ var React = require('react');
5
+ var classVarianceAuthority = require('class-variance-authority');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+
28
+ var inputVariants = classVarianceAuthority.cva(
29
+ [
30
+ "w-full px-3 py-2",
31
+ "border border-input rounded-lg",
32
+ "bg-background text-foreground",
33
+ "placeholder:text-muted-foreground",
34
+ "transition-colors duration-200",
35
+ "focus:outline-none focus:ring-2 focus:ring-ring focus:border-transparent",
36
+ "disabled:cursor-not-allowed disabled:opacity-50"
37
+ ],
38
+ {
39
+ variants: {
40
+ size: {
41
+ sm: "h-8 text-sm",
42
+ md: "h-10 text-base",
43
+ lg: "h-12 text-lg"
44
+ },
45
+ hasError: {
46
+ true: "border-destructive focus:ring-destructive",
47
+ false: ""
48
+ }
49
+ },
50
+ defaultVariants: {
51
+ size: "md",
52
+ hasError: false
53
+ }
54
+ }
55
+ );
56
+ var Input = React__namespace.forwardRef(
57
+ ({
58
+ className,
59
+ size,
60
+ hasError,
61
+ error,
62
+ helperText,
63
+ label,
64
+ hideLabel,
65
+ required,
66
+ disabled,
67
+ id,
68
+ "aria-describedby": ariaDescribedBy,
69
+ ...props
70
+ }, ref) => {
71
+ const generatedId = React__namespace.useId();
72
+ const inputId = id || generatedId;
73
+ const errorId = `${inputId}-error`;
74
+ const helperId = `${inputId}-helper`;
75
+ const describedByIds = [
76
+ error ? errorId : null,
77
+ helperText ? helperId : null,
78
+ ariaDescribedBy
79
+ ].filter(Boolean).join(" ");
80
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkOR5DRJCW_cjs.cn("flex flex-col gap-1.5", disabled && "opacity-50"), children: [
81
+ label && /* @__PURE__ */ jsxRuntime.jsxs(
82
+ "label",
83
+ {
84
+ htmlFor: inputId,
85
+ className: chunkOR5DRJCW_cjs.cn(
86
+ "text-foreground text-sm font-medium",
87
+ hideLabel && "sr-only"
88
+ ),
89
+ children: [
90
+ label,
91
+ required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-destructive ml-1", "aria-hidden": "true", children: "*" })
92
+ ]
93
+ }
94
+ ),
95
+ /* @__PURE__ */ jsxRuntime.jsx(
96
+ "input",
97
+ {
98
+ id: inputId,
99
+ ref,
100
+ className: chunkOR5DRJCW_cjs.cn(
101
+ inputVariants({ size, hasError: hasError || !!error }),
102
+ className
103
+ ),
104
+ "aria-invalid": hasError || !!error,
105
+ "aria-describedby": describedByIds || void 0,
106
+ required,
107
+ disabled,
108
+ ...props
109
+ }
110
+ ),
111
+ error && /* @__PURE__ */ jsxRuntime.jsx("p", { id: errorId, className: "text-destructive text-sm", role: "alert", children: error }),
112
+ helperText && !error && /* @__PURE__ */ jsxRuntime.jsx("p", { id: helperId, className: "text-muted-foreground text-sm", children: helperText })
113
+ ] });
114
+ }
115
+ );
116
+ Input.displayName = "Input";
117
+
118
+ exports.Input = Input;
119
+ exports.inputVariants = inputVariants;
120
+ //# sourceMappingURL=chunk-VV4N4WY6.cjs.map
121
+ //# sourceMappingURL=chunk-VV4N4WY6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Input/Input.tsx"],"names":["cva","React","cn","jsxs","jsx"],"mappings":"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","file":"chunk-VV4N4WY6.cjs","sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\nconst inputVariants = cva(\n [\n 'w-full px-3 py-2',\n 'border border-input rounded-lg',\n 'bg-background text-foreground',\n 'placeholder:text-muted-foreground',\n 'transition-colors duration-200',\n 'focus:outline-none focus:ring-2 focus:ring-ring focus:border-transparent',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n ],\n {\n variants: {\n size: {\n sm: 'h-8 text-sm',\n md: 'h-10 text-base',\n lg: 'h-12 text-lg',\n },\n hasError: {\n true: 'border-destructive focus:ring-destructive',\n false: '',\n },\n },\n defaultVariants: {\n size: 'md',\n hasError: false,\n },\n }\n);\n\nexport interface InputProps\n extends\n Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>,\n VariantProps<typeof inputVariants> {\n /** Error message to display below the input */\n error?: string;\n /** Helper text to display below the input */\n helperText?: string;\n /** Label for the input */\n label?: string;\n /** Whether the label should be visually hidden (still accessible) */\n hideLabel?: boolean;\n /** Whether the input is required */\n required?: boolean;\n}\n\n/**\n * A styled input component with support for labels, errors, and helper text.\n *\n * @example\n * ```tsx\n * <Input label=\"Email\" type=\"email\" placeholder=\"you@example.com\" />\n * <Input label=\"Password\" type=\"password\" error=\"Password is required\" hasError />\n * ```\n */\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n (\n {\n className,\n size,\n hasError,\n error,\n helperText,\n label,\n hideLabel,\n required,\n disabled,\n id,\n 'aria-describedby': ariaDescribedBy,\n ...props\n },\n ref\n ) => {\n const generatedId = React.useId();\n const inputId = id || generatedId;\n const errorId = `${inputId}-error`;\n const helperId = `${inputId}-helper`;\n\n const describedByIds = [\n error ? errorId : null,\n helperText ? helperId : null,\n ariaDescribedBy,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={cn('flex flex-col gap-1.5', disabled && 'opacity-50')}>\n {label && (\n <label\n htmlFor={inputId}\n className={cn(\n 'text-foreground text-sm font-medium',\n hideLabel && 'sr-only'\n )}\n >\n {label}\n {required && (\n <span className=\"text-destructive ml-1\" aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n <input\n id={inputId}\n ref={ref}\n className={cn(\n inputVariants({ size, hasError: hasError || !!error }),\n className\n )}\n aria-invalid={hasError || !!error}\n aria-describedby={describedByIds || undefined}\n required={required}\n disabled={disabled}\n {...props}\n />\n {error && (\n <p id={errorId} className=\"text-destructive text-sm\" role=\"alert\">\n {error}\n </p>\n )}\n {helperText && !error && (\n <p id={helperId} className=\"text-muted-foreground text-sm\">\n {helperText}\n </p>\n )}\n </div>\n );\n }\n);\n\nInput.displayName = 'Input';\n\nexport { Input, inputVariants };\n"]}
@@ -0,0 +1,574 @@
1
+ 'use strict';
2
+
3
+ var chunkOR5DRJCW_cjs = require('./chunk-OR5DRJCW.cjs');
4
+ var React = require('react');
5
+ var classVarianceAuthority = require('class-variance-authority');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+
28
+ var audioPlayerVariants = classVarianceAuthority.cva("", {
29
+ variants: {
30
+ variant: {
31
+ inline: "inline-flex items-center gap-2",
32
+ compact: [
33
+ "flex items-center gap-3 p-3",
34
+ "rounded-lg border border-border",
35
+ "bg-card text-card-foreground"
36
+ ],
37
+ waveform: [
38
+ "flex flex-col gap-3 p-4",
39
+ "rounded-xl border border-border",
40
+ "bg-card text-card-foreground"
41
+ ]
42
+ },
43
+ size: {
44
+ sm: "",
45
+ md: "",
46
+ lg: ""
47
+ }
48
+ },
49
+ compoundVariants: [
50
+ { variant: "compact", size: "sm", class: "p-2 gap-2" },
51
+ { variant: "compact", size: "lg", class: "p-4 gap-4" },
52
+ { variant: "waveform", size: "sm", class: "p-3 gap-2" },
53
+ { variant: "waveform", size: "lg", class: "p-5 gap-4" }
54
+ ],
55
+ defaultVariants: {
56
+ variant: "compact",
57
+ size: "md"
58
+ }
59
+ });
60
+ var playButtonVariants = classVarianceAuthority.cva(
61
+ [
62
+ "inline-flex items-center justify-center",
63
+ "rounded-full transition-all duration-200",
64
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
65
+ "disabled:pointer-events-none disabled:opacity-50",
66
+ "active:scale-95"
67
+ ],
68
+ {
69
+ variants: {
70
+ variant: {
71
+ inline: [
72
+ "text-neutral-500 hover:text-neutral-700 hover:bg-neutral-100",
73
+ "dark:text-neutral-400 dark:hover:text-neutral-200 dark:hover:bg-neutral-800"
74
+ ],
75
+ compact: [
76
+ "bg-primary-600 text-white",
77
+ "hover:bg-primary-700",
78
+ "active:bg-primary-800"
79
+ ],
80
+ waveform: [
81
+ "bg-primary-600 text-white",
82
+ "hover:bg-primary-700",
83
+ "active:bg-primary-800"
84
+ ]
85
+ },
86
+ size: {
87
+ sm: "h-7 w-7",
88
+ md: "h-9 w-9",
89
+ lg: "h-11 w-11"
90
+ }
91
+ },
92
+ defaultVariants: {
93
+ variant: "compact",
94
+ size: "md"
95
+ }
96
+ }
97
+ );
98
+ function formatTime(seconds) {
99
+ if (!isFinite(seconds) || isNaN(seconds)) return "0:00";
100
+ const mins = Math.floor(seconds / 60);
101
+ const secs = Math.floor(seconds % 60);
102
+ return `${mins}:${secs.toString().padStart(2, "0")}`;
103
+ }
104
+ function PlayIcon({ className }) {
105
+ return /* @__PURE__ */ jsxRuntime.jsx(
106
+ "svg",
107
+ {
108
+ className,
109
+ fill: "currentColor",
110
+ viewBox: "0 0 24 24",
111
+ "aria-hidden": "true",
112
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 5v14l11-7z" })
113
+ }
114
+ );
115
+ }
116
+ function PauseIcon({ className }) {
117
+ return /* @__PURE__ */ jsxRuntime.jsx(
118
+ "svg",
119
+ {
120
+ className,
121
+ fill: "currentColor",
122
+ viewBox: "0 0 24 24",
123
+ "aria-hidden": "true",
124
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 19h4V5H6v14zm8-14v14h4V5h-4z" })
125
+ }
126
+ );
127
+ }
128
+ function SpinnerIcon({ className }) {
129
+ return /* @__PURE__ */ jsxRuntime.jsxs(
130
+ "svg",
131
+ {
132
+ className: chunkOR5DRJCW_cjs.cn("animate-spin", className),
133
+ fill: "none",
134
+ viewBox: "0 0 24 24",
135
+ "aria-hidden": "true",
136
+ children: [
137
+ /* @__PURE__ */ jsxRuntime.jsx(
138
+ "circle",
139
+ {
140
+ className: "opacity-25",
141
+ cx: "12",
142
+ cy: "12",
143
+ r: "10",
144
+ stroke: "currentColor",
145
+ strokeWidth: "4"
146
+ }
147
+ ),
148
+ /* @__PURE__ */ jsxRuntime.jsx(
149
+ "path",
150
+ {
151
+ className: "opacity-75",
152
+ fill: "currentColor",
153
+ 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"
154
+ }
155
+ )
156
+ ]
157
+ }
158
+ );
159
+ }
160
+ function ProgressBar({
161
+ currentTime,
162
+ duration,
163
+ onSeek,
164
+ disabled
165
+ }) {
166
+ const progressRef = React__namespace.useRef(null);
167
+ const progress = duration > 0 ? currentTime / duration * 100 : 0;
168
+ const handleClick = (e) => {
169
+ if (disabled || !progressRef.current || duration <= 0) return;
170
+ const rect = progressRef.current.getBoundingClientRect();
171
+ const x = e.clientX - rect.left;
172
+ const percentage = x / rect.width;
173
+ onSeek(percentage * duration);
174
+ };
175
+ return /* @__PURE__ */ jsxRuntime.jsxs(
176
+ "div",
177
+ {
178
+ ref: progressRef,
179
+ role: "slider",
180
+ "aria-label": "Audio progress",
181
+ "aria-valuemin": 0,
182
+ "aria-valuemax": duration,
183
+ "aria-valuenow": currentTime,
184
+ "aria-valuetext": `${formatTime(currentTime)} of ${formatTime(duration)}`,
185
+ tabIndex: disabled ? -1 : 0,
186
+ className: chunkOR5DRJCW_cjs.cn(
187
+ "relative h-1.5 flex-1 cursor-pointer rounded-full bg-neutral-200 dark:bg-neutral-700",
188
+ disabled && "cursor-not-allowed opacity-50"
189
+ ),
190
+ onClick: handleClick,
191
+ onKeyDown: (e) => {
192
+ if (disabled) return;
193
+ const step = duration * 0.05;
194
+ if (e.key === "ArrowRight") {
195
+ onSeek(Math.min(currentTime + step, duration));
196
+ } else if (e.key === "ArrowLeft") {
197
+ onSeek(Math.max(currentTime - step, 0));
198
+ }
199
+ },
200
+ children: [
201
+ /* @__PURE__ */ jsxRuntime.jsx(
202
+ "div",
203
+ {
204
+ className: "bg-primary-600 absolute inset-y-0 left-0 rounded-full transition-all",
205
+ style: { width: `${progress}%` }
206
+ }
207
+ ),
208
+ /* @__PURE__ */ jsxRuntime.jsx(
209
+ "div",
210
+ {
211
+ className: "bg-primary-600 absolute top-1/2 h-3 w-3 -translate-y-1/2 rounded-full shadow-sm transition-all",
212
+ style: { left: `calc(${progress}% - 6px)` }
213
+ }
214
+ )
215
+ ]
216
+ }
217
+ );
218
+ }
219
+ function Waveform({
220
+ src,
221
+ isPlaying,
222
+ playbackRate = 1,
223
+ onReady,
224
+ onTimeUpdate,
225
+ onFinish,
226
+ onSeek,
227
+ waveColor,
228
+ progressColor,
229
+ height = 64
230
+ }) {
231
+ const containerRef = React__namespace.useRef(null);
232
+ const wavesurferRef = React__namespace.useRef(null);
233
+ const [isLoaded, setIsLoaded] = React__namespace.useState(false);
234
+ React__namespace.useEffect(() => {
235
+ if (!containerRef.current) return;
236
+ const initWaveSurfer = async () => {
237
+ try {
238
+ const WaveSurfer = (await import('wavesurfer.js')).default;
239
+ if (wavesurferRef.current) {
240
+ wavesurferRef.current.destroy();
241
+ }
242
+ wavesurferRef.current = WaveSurfer.create({
243
+ container: containerRef.current,
244
+ waveColor: waveColor || "#d1d5db",
245
+ progressColor: progressColor || "var(--color-primary-600, #2563eb)",
246
+ cursorColor: "transparent",
247
+ barWidth: 2,
248
+ barGap: 2,
249
+ barRadius: 2,
250
+ height,
251
+ normalize: true,
252
+ interact: true
253
+ });
254
+ wavesurferRef.current.on("ready", () => {
255
+ setIsLoaded(true);
256
+ onReady(wavesurferRef.current.getDuration());
257
+ });
258
+ wavesurferRef.current.on("audioprocess", () => {
259
+ onTimeUpdate(wavesurferRef.current.getCurrentTime());
260
+ });
261
+ wavesurferRef.current.on("seeking", () => {
262
+ onTimeUpdate(wavesurferRef.current.getCurrentTime());
263
+ });
264
+ wavesurferRef.current.on("interaction", () => {
265
+ onSeek(wavesurferRef.current.getCurrentTime());
266
+ });
267
+ wavesurferRef.current.on("finish", () => {
268
+ onFinish();
269
+ });
270
+ wavesurferRef.current.load(src);
271
+ } catch (error) {
272
+ console.error("Failed to load WaveSurfer:", error);
273
+ }
274
+ };
275
+ initWaveSurfer();
276
+ return () => {
277
+ if (wavesurferRef.current) {
278
+ wavesurferRef.current.destroy();
279
+ wavesurferRef.current = null;
280
+ }
281
+ };
282
+ }, [src]);
283
+ React__namespace.useEffect(() => {
284
+ if (!wavesurferRef.current || !isLoaded) return;
285
+ if (isPlaying) {
286
+ wavesurferRef.current.play();
287
+ } else {
288
+ wavesurferRef.current.pause();
289
+ }
290
+ }, [isPlaying, isLoaded]);
291
+ React__namespace.useEffect(() => {
292
+ if (!wavesurferRef.current || !isLoaded) return;
293
+ wavesurferRef.current.setPlaybackRate(playbackRate);
294
+ }, [playbackRate, isLoaded]);
295
+ return /* @__PURE__ */ jsxRuntime.jsx(
296
+ "div",
297
+ {
298
+ ref: containerRef,
299
+ className: chunkOR5DRJCW_cjs.cn(
300
+ "w-full rounded-lg bg-neutral-100 dark:bg-neutral-800",
301
+ !isLoaded && "animate-pulse"
302
+ ),
303
+ style: { height }
304
+ }
305
+ );
306
+ }
307
+ function AudioPlayer({
308
+ src,
309
+ title,
310
+ variant = "compact",
311
+ size = "md",
312
+ onStateChange,
313
+ onEnded,
314
+ onError,
315
+ onTimeUpdate,
316
+ showTime = true,
317
+ showDuration = true,
318
+ waveColor,
319
+ progressColor,
320
+ waveformHeight = 64,
321
+ disabled = false,
322
+ className,
323
+ "aria-label": ariaLabel,
324
+ playbackRates = [0.5, 0.75, 1, 1.25, 1.5, 2],
325
+ showPlaybackRate = false,
326
+ /** Whether to preload audio (set to false for lists with many items) */
327
+ preload = false,
328
+ /** Fallback duration in seconds to display before audio is loaded */
329
+ fallbackDuration
330
+ }) {
331
+ const [state, setState] = React__namespace.useState("idle");
332
+ const [currentTime, setCurrentTime] = React__namespace.useState(0);
333
+ const [duration, setDuration] = React__namespace.useState(0);
334
+ const [playbackRate, setPlaybackRate] = React__namespace.useState(1);
335
+ const [audioInitialized, setAudioInitialized] = React__namespace.useState(false);
336
+ const audioRef = React__namespace.useRef(null);
337
+ const isPlaying = state === "playing";
338
+ const isLoading = state === "loading";
339
+ const updateState = React__namespace.useCallback(
340
+ (newState) => {
341
+ setState(newState);
342
+ onStateChange?.(newState);
343
+ },
344
+ [onStateChange]
345
+ );
346
+ const initAudio = React__namespace.useCallback(() => {
347
+ if (variant === "waveform" || audioInitialized) return null;
348
+ const audio = new globalThis.Audio(src);
349
+ audioRef.current = audio;
350
+ setAudioInitialized(true);
351
+ audio.addEventListener("loadstart", () => updateState("loading"));
352
+ audio.addEventListener("canplay", () => {
353
+ updateState("idle");
354
+ });
355
+ audio.addEventListener("loadedmetadata", () => {
356
+ setDuration(audio.duration);
357
+ });
358
+ audio.addEventListener("timeupdate", () => {
359
+ setCurrentTime(audio.currentTime);
360
+ onTimeUpdate?.(audio.currentTime, audio.duration);
361
+ });
362
+ audio.addEventListener("ended", () => {
363
+ updateState("idle");
364
+ setCurrentTime(0);
365
+ onEnded?.();
366
+ });
367
+ audio.addEventListener("error", () => {
368
+ updateState("error");
369
+ onError?.(new Error("Failed to load audio"));
370
+ });
371
+ return audio;
372
+ }, [
373
+ src,
374
+ variant,
375
+ audioInitialized,
376
+ updateState,
377
+ onTimeUpdate,
378
+ onEnded,
379
+ onError
380
+ ]);
381
+ React__namespace.useEffect(() => {
382
+ if (preload && !audioInitialized && variant !== "waveform") {
383
+ initAudio();
384
+ }
385
+ }, [preload, audioInitialized, variant, initAudio]);
386
+ React__namespace.useEffect(() => {
387
+ return () => {
388
+ if (audioRef.current) {
389
+ audioRef.current.pause();
390
+ audioRef.current.src = "";
391
+ }
392
+ };
393
+ }, []);
394
+ React__namespace.useEffect(() => {
395
+ if (audioRef.current) {
396
+ audioRef.current.playbackRate = playbackRate;
397
+ }
398
+ }, [playbackRate]);
399
+ const handlePlay = React__namespace.useCallback(() => {
400
+ if (disabled) return;
401
+ if (variant === "waveform") {
402
+ if (isLoading) return;
403
+ updateState(isPlaying ? "paused" : "playing");
404
+ return;
405
+ }
406
+ if (!audioInitialized && !isLoading) {
407
+ const audio = initAudio();
408
+ if (audio) {
409
+ updateState("loading");
410
+ audio.addEventListener(
411
+ "canplay",
412
+ () => {
413
+ audio.play().catch((error) => {
414
+ updateState("error");
415
+ onError?.(error);
416
+ });
417
+ updateState("playing");
418
+ },
419
+ { once: true }
420
+ );
421
+ }
422
+ return;
423
+ }
424
+ if (isLoading) return;
425
+ if (isPlaying) {
426
+ if (audioRef.current) {
427
+ audioRef.current.pause();
428
+ }
429
+ updateState("paused");
430
+ } else {
431
+ if (audioRef.current) {
432
+ audioRef.current.play().catch((error) => {
433
+ updateState("error");
434
+ onError?.(error);
435
+ });
436
+ updateState("playing");
437
+ }
438
+ }
439
+ }, [
440
+ disabled,
441
+ variant,
442
+ audioInitialized,
443
+ isLoading,
444
+ isPlaying,
445
+ initAudio,
446
+ updateState,
447
+ onError
448
+ ]);
449
+ const handleSeek = React__namespace.useCallback((time) => {
450
+ if (audioRef.current) {
451
+ audioRef.current.currentTime = time;
452
+ setCurrentTime(time);
453
+ }
454
+ }, []);
455
+ const handleWaveformReady = React__namespace.useCallback((dur) => {
456
+ setDuration(dur);
457
+ setState("idle");
458
+ }, []);
459
+ const handleWaveformTimeUpdate = React__namespace.useCallback(
460
+ (time) => {
461
+ setCurrentTime(time);
462
+ onTimeUpdate?.(time, duration);
463
+ },
464
+ [duration, onTimeUpdate]
465
+ );
466
+ const handleWaveformFinish = React__namespace.useCallback(() => {
467
+ updateState("idle");
468
+ setCurrentTime(0);
469
+ onEnded?.();
470
+ }, [updateState, onEnded]);
471
+ const handleWaveformSeek = React__namespace.useCallback((time) => {
472
+ setCurrentTime(time);
473
+ }, []);
474
+ const iconSize = size === "sm" ? "h-3.5 w-3.5" : size === "lg" ? "h-5 w-5" : "h-4 w-4";
475
+ const getAriaLabel = () => {
476
+ if (ariaLabel) return ariaLabel;
477
+ if (title) return `${isPlaying ? "Pause" : "Play"} ${title}`;
478
+ return isPlaying ? "Pause audio" : "Play audio";
479
+ };
480
+ const renderPlayButton = () => /* @__PURE__ */ jsxRuntime.jsx(
481
+ "button",
482
+ {
483
+ type: "button",
484
+ onClick: handlePlay,
485
+ disabled: disabled || isLoading,
486
+ className: chunkOR5DRJCW_cjs.cn(playButtonVariants({ variant, size })),
487
+ "aria-label": getAriaLabel(),
488
+ "aria-pressed": isPlaying,
489
+ children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(SpinnerIcon, { className: iconSize }) : isPlaying ? /* @__PURE__ */ jsxRuntime.jsx(PauseIcon, { className: iconSize }) : /* @__PURE__ */ jsxRuntime.jsx(PlayIcon, { className: iconSize })
490
+ }
491
+ );
492
+ const renderTime = () => {
493
+ if (!showTime) return null;
494
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-mono text-xs text-neutral-500 tabular-nums dark:text-neutral-400", children: [
495
+ formatTime(currentTime),
496
+ " / ",
497
+ formatTime(duration)
498
+ ] });
499
+ };
500
+ const renderPlaybackRateControl = () => {
501
+ if (!showPlaybackRate) return null;
502
+ return /* @__PURE__ */ jsxRuntime.jsx(
503
+ "select",
504
+ {
505
+ value: playbackRate,
506
+ onChange: (e) => setPlaybackRate(Number(e.target.value)),
507
+ className: "rounded border border-neutral-200 bg-transparent px-1 py-0.5 text-xs dark:border-neutral-700",
508
+ "aria-label": "Playback speed",
509
+ children: playbackRates.map((rate) => /* @__PURE__ */ jsxRuntime.jsxs("option", { value: rate, children: [
510
+ rate,
511
+ "x"
512
+ ] }, rate))
513
+ }
514
+ );
515
+ };
516
+ if (variant === "inline") {
517
+ const displayDuration = duration > 0 ? duration : fallbackDuration ?? 0;
518
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkOR5DRJCW_cjs.cn(audioPlayerVariants({ variant, size }), className), children: [
519
+ renderPlayButton(),
520
+ title && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-neutral-700 dark:text-neutral-300", children: title }),
521
+ showDuration && displayDuration > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-xs text-neutral-500 tabular-nums dark:text-neutral-400", children: isPlaying ? formatTime(currentTime) : formatTime(displayDuration) })
522
+ ] });
523
+ }
524
+ if (variant === "compact") {
525
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkOR5DRJCW_cjs.cn(audioPlayerVariants({ variant, size }), className), children: [
526
+ renderPlayButton(),
527
+ /* @__PURE__ */ jsxRuntime.jsx(
528
+ ProgressBar,
529
+ {
530
+ currentTime,
531
+ duration,
532
+ onSeek: handleSeek,
533
+ disabled
534
+ }
535
+ ),
536
+ renderTime(),
537
+ renderPlaybackRateControl()
538
+ ] });
539
+ }
540
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkOR5DRJCW_cjs.cn(audioPlayerVariants({ variant, size }), className), children: [
541
+ title && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-neutral-700 dark:text-neutral-300", children: title }),
542
+ /* @__PURE__ */ jsxRuntime.jsx(
543
+ Waveform,
544
+ {
545
+ src,
546
+ isPlaying,
547
+ playbackRate,
548
+ onReady: handleWaveformReady,
549
+ onTimeUpdate: handleWaveformTimeUpdate,
550
+ onFinish: handleWaveformFinish,
551
+ onSeek: handleWaveformSeek,
552
+ waveColor,
553
+ progressColor,
554
+ height: waveformHeight
555
+ }
556
+ ),
557
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
558
+ renderPlayButton(),
559
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 items-center justify-between", children: [
560
+ renderTime(),
561
+ renderPlaybackRateControl()
562
+ ] })
563
+ ] })
564
+ ] });
565
+ }
566
+ AudioPlayer.displayName = "AudioPlayer";
567
+
568
+ exports.AudioPlayer = AudioPlayer;
569
+ exports.ProgressBar = ProgressBar;
570
+ exports.audioPlayerVariants = audioPlayerVariants;
571
+ exports.formatTime = formatTime;
572
+ exports.playButtonVariants = playButtonVariants;
573
+ //# sourceMappingURL=chunk-VWXGUNBR.cjs.map
574
+ //# sourceMappingURL=chunk-VWXGUNBR.cjs.map