@mieweb/ui 0.2.4 → 0.3.0-dev.101

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 (422) hide show
  1. package/README.md +17 -0
  2. package/dist/ag-grid.cjs +37 -26
  3. package/dist/ag-grid.cjs.map +1 -1
  4. package/dist/ag-grid.js +33 -22
  5. package/dist/ag-grid.js.map +1 -1
  6. package/dist/brands/bluehive.cjs +3 -3
  7. package/dist/brands/bluehive.css +5 -5
  8. package/dist/brands/bluehive.js +1 -1
  9. package/dist/brands/index.cjs +29 -29
  10. package/dist/brands/index.js +8 -8
  11. package/dist/brands/mieweb.css +5 -5
  12. package/dist/brands/ozwell.cjs +2 -2
  13. package/dist/brands/ozwell.css +5 -5
  14. package/dist/brands/ozwell.js +1 -1
  15. package/dist/brands/types.cjs +4 -4
  16. package/dist/brands/types.d.cts +14 -8
  17. package/dist/brands/types.d.ts +14 -8
  18. package/dist/brands/types.js +1 -1
  19. package/dist/brands/waggleline.css +1 -1
  20. package/dist/brands/webchart.css +5 -5
  21. package/dist/{chunk-QDGZBDBI.cjs → chunk-2LF7PSSX.cjs} +3 -3
  22. package/dist/{chunk-QDGZBDBI.cjs.map → chunk-2LF7PSSX.cjs.map} +1 -1
  23. package/dist/{chunk-OWPWP46L.js → chunk-2NTYAALC.js} +3 -3
  24. package/dist/{chunk-OWPWP46L.js.map → chunk-2NTYAALC.js.map} +1 -1
  25. package/dist/{chunk-6Q4SU72T.js → chunk-3CJBUAJ4.js} +58 -11
  26. package/dist/chunk-3CJBUAJ4.js.map +1 -0
  27. package/dist/{chunk-N3QTYHRZ.cjs → chunk-3GGET5LK.cjs} +40 -22
  28. package/dist/chunk-3GGET5LK.cjs.map +1 -0
  29. package/dist/{chunk-QL2YTVTR.js → chunk-43GBCUSQ.js} +8 -3
  30. package/dist/chunk-43GBCUSQ.js.map +1 -0
  31. package/dist/chunk-4DMZAVB2.js +334 -0
  32. package/dist/chunk-4DMZAVB2.js.map +1 -0
  33. package/dist/{chunk-EKIQE524.cjs → chunk-4FALCEJI.cjs} +3 -2
  34. package/dist/chunk-4FALCEJI.cjs.map +1 -0
  35. package/dist/{chunk-6OCIIIAI.js → chunk-4Z6ZZKIY.js} +40 -22
  36. package/dist/chunk-4Z6ZZKIY.js.map +1 -0
  37. package/dist/{chunk-QIOM5ZV2.cjs → chunk-4ZU53GNR.cjs} +6 -2
  38. package/dist/{chunk-QIOM5ZV2.cjs.map → chunk-4ZU53GNR.cjs.map} +1 -1
  39. package/dist/chunk-5MAGWW5X.cjs +272 -0
  40. package/dist/chunk-5MAGWW5X.cjs.map +1 -0
  41. package/dist/{chunk-S6UNPMAS.cjs → chunk-66S4PT6C.cjs} +3 -3
  42. package/dist/{chunk-S6UNPMAS.cjs.map → chunk-66S4PT6C.cjs.map} +1 -1
  43. package/dist/{chunk-4AWW5WPF.js → chunk-6LFG4JFF.js} +51 -24
  44. package/dist/chunk-6LFG4JFF.js.map +1 -0
  45. package/dist/chunk-7BARESXI.cjs +353 -0
  46. package/dist/chunk-7BARESXI.cjs.map +1 -0
  47. package/dist/{chunk-PEH4ZOEM.cjs → chunk-A2QVQF54.cjs} +12 -6
  48. package/dist/chunk-A2QVQF54.cjs.map +1 -0
  49. package/dist/{chunk-377KAB4C.cjs → chunk-AWUADXYI.cjs} +8 -2
  50. package/dist/chunk-AWUADXYI.cjs.map +1 -0
  51. package/dist/{chunk-PEFJAWNR.cjs → chunk-BWYYA3LQ.cjs} +26 -10
  52. package/dist/chunk-BWYYA3LQ.cjs.map +1 -0
  53. package/dist/chunk-CJQXWFIW.js +829 -0
  54. package/dist/chunk-CJQXWFIW.js.map +1 -0
  55. package/dist/chunk-CV4CVGLO.cjs +617 -0
  56. package/dist/chunk-CV4CVGLO.cjs.map +1 -0
  57. package/dist/{chunk-WH6I7CMP.cjs → chunk-CW75IKA6.cjs} +27 -2
  58. package/dist/chunk-CW75IKA6.cjs.map +1 -0
  59. package/dist/{chunk-3NJ72QU6.js → chunk-DCER2QQB.js} +3 -2
  60. package/dist/chunk-DCER2QQB.js.map +1 -0
  61. package/dist/{chunk-JYMQJ32S.cjs → chunk-DEZ7XSTG.cjs} +9 -5
  62. package/dist/chunk-DEZ7XSTG.cjs.map +1 -0
  63. package/dist/{chunk-QYJ7RQJ2.cjs → chunk-DFCZPVG4.cjs} +84 -38
  64. package/dist/chunk-DFCZPVG4.cjs.map +1 -0
  65. package/dist/{chunk-AWIULTJW.js → chunk-DNPRRYPQ.js} +18 -3
  66. package/dist/chunk-DNPRRYPQ.js.map +1 -0
  67. package/dist/{chunk-SSKI6VTW.cjs → chunk-E35GUUTC.cjs} +23 -4
  68. package/dist/chunk-E35GUUTC.cjs.map +1 -0
  69. package/dist/{chunk-B5364UWR.cjs → chunk-EAXY5X33.cjs} +6 -6
  70. package/dist/{chunk-B5364UWR.cjs.map → chunk-EAXY5X33.cjs.map} +1 -1
  71. package/dist/{chunk-53K3KWXQ.cjs → chunk-EUUQVDXX.cjs} +168 -138
  72. package/dist/chunk-EUUQVDXX.cjs.map +1 -0
  73. package/dist/{chunk-2J2V4TMJ.cjs → chunk-FQ3UCZUX.cjs} +43 -32
  74. package/dist/chunk-FQ3UCZUX.cjs.map +1 -0
  75. package/dist/{chunk-5UUL5EEO.cjs → chunk-FRT6RQND.cjs} +181 -128
  76. package/dist/chunk-FRT6RQND.cjs.map +1 -0
  77. package/dist/{chunk-R4DM4635.cjs → chunk-FSBFQBNE.cjs} +86 -2
  78. package/dist/chunk-FSBFQBNE.cjs.map +1 -0
  79. package/dist/{chunk-UZUBLXVC.js → chunk-FZJBFJJR.js} +3 -2
  80. package/dist/chunk-FZJBFJJR.js.map +1 -0
  81. package/dist/{chunk-UHSPAFY6.js → chunk-GFZNSSSN.js} +3 -3
  82. package/dist/{chunk-UHSPAFY6.js.map → chunk-GFZNSSSN.js.map} +1 -1
  83. package/dist/chunk-GOKC4CCZ.cjs +384 -0
  84. package/dist/chunk-GOKC4CCZ.cjs.map +1 -0
  85. package/dist/{chunk-Z3TFPXVN.cjs → chunk-GXQFRLTN.cjs} +3 -3
  86. package/dist/{chunk-Z3TFPXVN.cjs.map → chunk-GXQFRLTN.cjs.map} +1 -1
  87. package/dist/{chunk-B3L43JGH.js → chunk-HEH3QXOQ.js} +26 -10
  88. package/dist/chunk-HEH3QXOQ.js.map +1 -0
  89. package/dist/{chunk-KWDTTGH2.js → chunk-HYEJLKXI.js} +7 -5
  90. package/dist/chunk-HYEJLKXI.js.map +1 -0
  91. package/dist/{chunk-TA6FVVCM.js → chunk-I56VBDSC.js} +3 -3
  92. package/dist/{chunk-TA6FVVCM.js.map → chunk-I56VBDSC.js.map} +1 -1
  93. package/dist/{chunk-4DJNHPHB.js → chunk-IGWABMSM.js} +3 -3
  94. package/dist/{chunk-4DJNHPHB.js.map → chunk-IGWABMSM.js.map} +1 -1
  95. package/dist/{chunk-SWMRCGL4.cjs → chunk-IKMR2ADM.cjs} +5 -4
  96. package/dist/chunk-IKMR2ADM.cjs.map +1 -0
  97. package/dist/{chunk-4MHTSFPX.js → chunk-IYIYL2SQ.js} +46 -20
  98. package/dist/chunk-IYIYL2SQ.js.map +1 -0
  99. package/dist/{chunk-ONWOB76P.js → chunk-J3BU3JBX.js} +33 -14
  100. package/dist/chunk-J3BU3JBX.js.map +1 -0
  101. package/dist/{chunk-FFJVCQ5R.cjs → chunk-J644FU54.cjs} +49 -19
  102. package/dist/chunk-J644FU54.cjs.map +1 -0
  103. package/dist/chunk-JBB25LFB.js +359 -0
  104. package/dist/chunk-JBB25LFB.js.map +1 -0
  105. package/dist/{chunk-VDMQCSXT.cjs → chunk-JHPFOG2N.cjs} +4 -4
  106. package/dist/{chunk-VDMQCSXT.cjs.map → chunk-JHPFOG2N.cjs.map} +1 -1
  107. package/dist/{chunk-RYQ5NEKH.js → chunk-JV7UJGBM.js} +6 -6
  108. package/dist/{chunk-RYQ5NEKH.js.map → chunk-JV7UJGBM.js.map} +1 -1
  109. package/dist/{chunk-C6MDPPPL.js → chunk-JW5GWKV7.js} +3 -3
  110. package/dist/{chunk-C6MDPPPL.js.map → chunk-JW5GWKV7.js.map} +1 -1
  111. package/dist/{chunk-EYH7OUX5.js → chunk-JYAWYBA3.js} +23 -4
  112. package/dist/chunk-JYAWYBA3.js.map +1 -0
  113. package/dist/{chunk-5T3AWNHG.cjs → chunk-K7IGBNZA.cjs} +70 -39
  114. package/dist/chunk-K7IGBNZA.cjs.map +1 -0
  115. package/dist/{chunk-AU5ADTYD.cjs → chunk-KQAXXJ4G.cjs} +58 -11
  116. package/dist/chunk-KQAXXJ4G.cjs.map +1 -0
  117. package/dist/{chunk-BTJHYGPI.cjs → chunk-L7YQBSEL.cjs} +14 -4
  118. package/dist/chunk-L7YQBSEL.cjs.map +1 -0
  119. package/dist/chunk-LEMY57MI.js +3 -0
  120. package/dist/{chunk-3K7QCDSV.js.map → chunk-LEMY57MI.js.map} +1 -1
  121. package/dist/chunk-MPOWJVV4.js +590 -0
  122. package/dist/chunk-MPOWJVV4.js.map +1 -0
  123. package/dist/{chunk-VV4N4WY6.cjs → chunk-MSRU3XBH.cjs} +61 -35
  124. package/dist/chunk-MSRU3XBH.cjs.map +1 -0
  125. package/dist/{chunk-JFAXLE2J.js → chunk-MUYTGWGE.js} +9 -5
  126. package/dist/chunk-MUYTGWGE.js.map +1 -0
  127. package/dist/{chunk-B26RIQ5R.js → chunk-MV3MTHWQ.js} +6 -2
  128. package/dist/chunk-MV3MTHWQ.js.map +1 -0
  129. package/dist/{chunk-PF3XWKE5.cjs → chunk-NIEIRA5A.cjs} +33 -14
  130. package/dist/chunk-NIEIRA5A.cjs.map +1 -0
  131. package/dist/{chunk-VZUVYJFU.cjs → chunk-NINI4WVS.cjs} +19 -17
  132. package/dist/chunk-NINI4WVS.cjs.map +1 -0
  133. package/dist/{chunk-RRQGH7C5.cjs → chunk-NVHAQOHH.cjs} +8 -3
  134. package/dist/chunk-NVHAQOHH.cjs.map +1 -0
  135. package/dist/{chunk-OT36EMM5.js → chunk-OKBR6PX4.js} +5 -4
  136. package/dist/chunk-OKBR6PX4.js.map +1 -0
  137. package/dist/chunk-OX2RIVN7.js +249 -0
  138. package/dist/chunk-OX2RIVN7.js.map +1 -0
  139. package/dist/{chunk-LZEY55QZ.cjs → chunk-OYKS2JBB.cjs} +18 -3
  140. package/dist/chunk-OYKS2JBB.cjs.map +1 -0
  141. package/dist/{chunk-4LTN2LEN.js → chunk-PSTGFXQG.js} +3 -3
  142. package/dist/{chunk-4LTN2LEN.js.map → chunk-PSTGFXQG.js.map} +1 -1
  143. package/dist/{chunk-OW2BWGST.js → chunk-PU6ZC4GI.js} +48 -31
  144. package/dist/chunk-PU6ZC4GI.js.map +1 -0
  145. package/dist/chunk-PVUDXJAI.js +124 -0
  146. package/dist/chunk-PVUDXJAI.js.map +1 -0
  147. package/dist/{chunk-EF46XW4Z.cjs → chunk-Q2EWNXIB.cjs} +161 -67
  148. package/dist/chunk-Q2EWNXIB.cjs.map +1 -0
  149. package/dist/{chunk-CP7NPDQW.js → chunk-Q7NBJFEB.js} +87 -4
  150. package/dist/chunk-Q7NBJFEB.js.map +1 -0
  151. package/dist/{chunk-ORUPC5TV.cjs → chunk-QASIWBXU.cjs} +9 -5
  152. package/dist/chunk-QASIWBXU.cjs.map +1 -0
  153. package/dist/{chunk-4LNS5QDP.cjs → chunk-QITBJX4A.cjs} +3 -3
  154. package/dist/{chunk-4LNS5QDP.cjs.map → chunk-QITBJX4A.cjs.map} +1 -1
  155. package/dist/{chunk-KEIA2G6O.cjs → chunk-QO6U5VOT.cjs} +3 -3
  156. package/dist/{chunk-KEIA2G6O.cjs.map → chunk-QO6U5VOT.cjs.map} +1 -1
  157. package/dist/{chunk-XVZ4SLQB.js → chunk-QVJBUWJQ.js} +70 -39
  158. package/dist/chunk-QVJBUWJQ.js.map +1 -0
  159. package/dist/{chunk-QSMMFATL.js → chunk-R25H4N4Z.js} +181 -128
  160. package/dist/chunk-R25H4N4Z.js.map +1 -0
  161. package/dist/{chunk-TPGT236K.js → chunk-RC2YMOMS.js} +26 -3
  162. package/dist/chunk-RC2YMOMS.js.map +1 -0
  163. package/dist/{chunk-XXOBTAKA.js → chunk-RGTM53RS.js} +81 -52
  164. package/dist/chunk-RGTM53RS.js.map +1 -0
  165. package/dist/{chunk-BXK5TNJE.cjs → chunk-RH43XBNV.cjs} +3 -2
  166. package/dist/chunk-RH43XBNV.cjs.map +1 -0
  167. package/dist/{chunk-QZLRB3UG.js → chunk-TRZXK57D.js} +168 -138
  168. package/dist/chunk-TRZXK57D.js.map +1 -0
  169. package/dist/{chunk-B7YGVKTE.cjs → chunk-U3ABLVYH.cjs} +51 -24
  170. package/dist/chunk-U3ABLVYH.cjs.map +1 -0
  171. package/dist/{chunk-GV5JQBPX.js → chunk-VCO2IZOG.js} +9 -5
  172. package/dist/chunk-VCO2IZOG.js.map +1 -0
  173. package/dist/chunk-WFS6R2F5.js +328 -0
  174. package/dist/chunk-WFS6R2F5.js.map +1 -0
  175. package/dist/{chunk-IY7UQPDO.cjs → chunk-WGPMTW36.cjs} +6 -2
  176. package/dist/chunk-WGPMTW36.cjs.map +1 -0
  177. package/dist/chunk-WJU3KLVV.cjs +855 -0
  178. package/dist/chunk-WJU3KLVV.cjs.map +1 -0
  179. package/dist/{chunk-NIHESA7O.js → chunk-WO5CAOAN.js} +43 -32
  180. package/dist/chunk-WO5CAOAN.js.map +1 -0
  181. package/dist/{chunk-SOFX4T7M.js → chunk-WOYUQ4AT.js} +49 -19
  182. package/dist/chunk-WOYUQ4AT.js.map +1 -0
  183. package/dist/{chunk-TCQ27C5M.js → chunk-WTDCNXZO.js} +8 -2
  184. package/dist/chunk-WTDCNXZO.js.map +1 -0
  185. package/dist/{chunk-O5HS7ZND.cjs → chunk-X7S76WB7.cjs} +3 -3
  186. package/dist/{chunk-O5HS7ZND.cjs.map → chunk-X7S76WB7.cjs.map} +1 -1
  187. package/dist/{chunk-ULOA7WBW.js → chunk-XB7QCKK7.js} +3 -3
  188. package/dist/{chunk-ULOA7WBW.js.map → chunk-XB7QCKK7.js.map} +1 -1
  189. package/dist/{chunk-G2DOD34H.js → chunk-XCLQZ4FV.js} +84 -38
  190. package/dist/chunk-XCLQZ4FV.js.map +1 -0
  191. package/dist/{chunk-HRA4FUO6.cjs → chunk-YDWWG4A2.cjs} +81 -52
  192. package/dist/chunk-YDWWG4A2.cjs.map +1 -0
  193. package/dist/{chunk-RCMF6KZA.js → chunk-YTZPVEIO.js} +3 -3
  194. package/dist/{chunk-RCMF6KZA.js.map → chunk-YTZPVEIO.js.map} +1 -1
  195. package/dist/{chunk-SWV5E75F.cjs → chunk-Z5J4NTPL.cjs} +3 -3
  196. package/dist/{chunk-SWV5E75F.cjs.map → chunk-Z5J4NTPL.cjs.map} +1 -1
  197. package/dist/{chunk-XHJGYBYG.cjs → chunk-ZKFVGYBK.cjs} +48 -31
  198. package/dist/chunk-ZKFVGYBK.cjs.map +1 -0
  199. package/dist/{chunk-NAATBUHR.cjs → chunk-ZNZZCB2M.cjs} +46 -20
  200. package/dist/chunk-ZNZZCB2M.cjs.map +1 -0
  201. package/dist/{chunk-CEHWXAAI.js → chunk-ZVPJ2MH6.js} +14 -4
  202. package/dist/chunk-ZVPJ2MH6.js.map +1 -0
  203. package/dist/{chunk-VBHPXSCV.js → chunk-ZVSW2KS6.js} +12 -6
  204. package/dist/chunk-ZVSW2KS6.js.map +1 -0
  205. package/dist/components/Alert/index.cjs +5 -5
  206. package/dist/components/Alert/index.js +1 -1
  207. package/dist/components/AudioPlayer/index.cjs +6 -6
  208. package/dist/components/AudioPlayer/index.d.cts +5 -4
  209. package/dist/components/AudioPlayer/index.d.ts +5 -4
  210. package/dist/components/AudioPlayer/index.js +1 -1
  211. package/dist/components/AudioRecorder/index.cjs +6 -6
  212. package/dist/components/AudioRecorder/index.js +1 -1
  213. package/dist/components/Avatar/index.cjs +5 -5
  214. package/dist/components/Avatar/index.js +1 -1
  215. package/dist/components/Badge/index.cjs +3 -3
  216. package/dist/components/Badge/index.js +1 -1
  217. package/dist/components/Breadcrumb/index.cjs +3 -3
  218. package/dist/components/Breadcrumb/index.js +1 -1
  219. package/dist/components/Button/index.cjs +3 -3
  220. package/dist/components/Button/index.js +1 -1
  221. package/dist/components/Card/index.cjs +15 -15
  222. package/dist/components/Card/index.d.cts +6 -2
  223. package/dist/components/Card/index.d.ts +6 -2
  224. package/dist/components/Card/index.js +1 -1
  225. package/dist/components/Checkbox/index.cjs +4 -4
  226. package/dist/components/Checkbox/index.js +1 -1
  227. package/dist/components/CountryCodeDropdown/index.cjs +23 -0
  228. package/dist/components/CountryCodeDropdown/index.cjs.map +1 -0
  229. package/dist/components/CountryCodeDropdown/index.d.cts +69 -0
  230. package/dist/components/CountryCodeDropdown/index.d.ts +69 -0
  231. package/dist/components/CountryCodeDropdown/index.js +6 -0
  232. package/dist/components/CountryCodeDropdown/index.js.map +1 -0
  233. package/dist/components/DateInput/index.cjs +4 -4
  234. package/dist/components/DateInput/index.js +3 -3
  235. package/dist/components/Dropdown/index.cjs +9 -8
  236. package/dist/components/Dropdown/index.d.cts +29 -1
  237. package/dist/components/Dropdown/index.d.ts +29 -1
  238. package/dist/components/Dropdown/index.js +3 -2
  239. package/dist/components/Input/index.cjs +3 -3
  240. package/dist/components/Input/index.js +1 -1
  241. package/dist/components/Modal/index.cjs +9 -9
  242. package/dist/components/Modal/index.js +1 -1
  243. package/dist/components/Pagination/index.cjs +4 -4
  244. package/dist/components/Pagination/index.d.cts +6 -2
  245. package/dist/components/Pagination/index.d.ts +6 -2
  246. package/dist/components/Pagination/index.js +1 -1
  247. package/dist/components/PhoneInput/index.cjs +5 -5
  248. package/dist/components/PhoneInput/index.js +3 -3
  249. package/dist/components/Progress/index.cjs +6 -6
  250. package/dist/components/Progress/index.js +1 -1
  251. package/dist/components/QuickAction/index.cjs +6 -6
  252. package/dist/components/QuickAction/index.js +1 -1
  253. package/dist/components/Radio/index.cjs +4 -4
  254. package/dist/components/Radio/index.js +1 -1
  255. package/dist/components/RecordButton/index.cjs +4 -4
  256. package/dist/components/RecordButton/index.js +1 -1
  257. package/dist/components/SchedulePicker/index.cjs +10 -10
  258. package/dist/components/SchedulePicker/index.js +1 -1
  259. package/dist/components/Select/index.cjs +3 -3
  260. package/dist/components/Select/index.d.cts +3 -1
  261. package/dist/components/Select/index.d.ts +3 -1
  262. package/dist/components/Select/index.js +1 -1
  263. package/dist/components/Skeleton/index.cjs +6 -6
  264. package/dist/components/Skeleton/index.d.cts +1 -1
  265. package/dist/components/Skeleton/index.d.ts +1 -1
  266. package/dist/components/Skeleton/index.js +1 -1
  267. package/dist/components/Slider/index.cjs +5 -5
  268. package/dist/components/Slider/index.js +1 -1
  269. package/dist/components/Spinner/index.cjs +5 -5
  270. package/dist/components/Spinner/index.js +1 -1
  271. package/dist/components/Switch/index.cjs +4 -4
  272. package/dist/components/Switch/index.js +1 -1
  273. package/dist/components/Table/index.cjs +9 -9
  274. package/dist/components/Table/index.js +1 -1
  275. package/dist/components/Tabs/index.cjs +7 -7
  276. package/dist/components/Tabs/index.js +1 -1
  277. package/dist/components/Text/index.cjs +4 -4
  278. package/dist/components/Text/index.js +1 -1
  279. package/dist/components/Textarea/index.cjs +3 -3
  280. package/dist/components/Textarea/index.js +1 -1
  281. package/dist/components/ThemeProvider/index.cjs +8 -8
  282. package/dist/components/ThemeProvider/index.js +2 -2
  283. package/dist/components/Tooltip/index.cjs +2 -2
  284. package/dist/components/Tooltip/index.js +1 -1
  285. package/dist/datavis.cjs +251 -0
  286. package/dist/datavis.cjs.map +1 -0
  287. package/dist/datavis.d.cts +47 -0
  288. package/dist/datavis.d.ts +47 -0
  289. package/dist/datavis.js +247 -0
  290. package/dist/datavis.js.map +1 -0
  291. package/dist/default-BTEIFIZJ.cjs +18 -0
  292. package/dist/{default-ZGHKI5WF.cjs.map → default-BTEIFIZJ.cjs.map} +1 -1
  293. package/dist/default-ORBRVZRZ.js +3 -0
  294. package/dist/{default-LIRPABBK.js.map → default-ORBRVZRZ.js.map} +1 -1
  295. package/dist/hooks/index.cjs +19 -15
  296. package/dist/hooks/index.d.cts +39 -3
  297. package/dist/hooks/index.d.ts +39 -3
  298. package/dist/hooks/index.js +2 -2
  299. package/dist/index.cjs +13666 -8954
  300. package/dist/index.cjs.map +1 -1
  301. package/dist/index.d.cts +126 -49
  302. package/dist/index.d.ts +126 -49
  303. package/dist/index.js +13035 -8347
  304. package/dist/index.js.map +1 -1
  305. package/dist/mieweb-4XR6UKDQ.cjs +18 -0
  306. package/dist/{mieweb-UJABK5XX.cjs.map → mieweb-4XR6UKDQ.cjs.map} +1 -1
  307. package/dist/mieweb-N6UMH4MU.js +3 -0
  308. package/dist/{mieweb-PV2YKYO7.js.map → mieweb-N6UMH4MU.js.map} +1 -1
  309. package/dist/ozwell.cjs +385 -0
  310. package/dist/ozwell.cjs.map +1 -0
  311. package/dist/ozwell.d.cts +15 -0
  312. package/dist/ozwell.d.ts +15 -0
  313. package/dist/ozwell.js +360 -0
  314. package/dist/ozwell.js.map +1 -0
  315. package/dist/styles/init.css +339 -0
  316. package/dist/styles.css +1 -1
  317. package/dist/tailwind-preset.cjs +4 -4
  318. package/dist/tailwind-preset.d.cts +13 -2
  319. package/dist/tailwind-preset.d.ts +13 -2
  320. package/dist/tailwind-preset.js +1 -1
  321. package/dist/utils/index.cjs +31 -23
  322. package/dist/utils/index.d.cts +19 -2
  323. package/dist/utils/index.d.ts +19 -2
  324. package/dist/utils/index.js +2 -2
  325. package/dist/waggleline-2MLRNVCV.js +3 -0
  326. package/dist/{waggleline-BMUYAFJF.js.map → waggleline-2MLRNVCV.js.map} +1 -1
  327. package/dist/waggleline-I7QWD3YX.cjs +18 -0
  328. package/dist/{waggleline-6IGA66HR.cjs.map → waggleline-I7QWD3YX.cjs.map} +1 -1
  329. package/dist/webchart-F6EIMC3I.js +3 -0
  330. package/dist/{webchart-2SLO5ICI.js.map → webchart-F6EIMC3I.js.map} +1 -1
  331. package/dist/webchart-H3BHYNHB.cjs +18 -0
  332. package/dist/{webchart-EHVGP46N.cjs.map → webchart-H3BHYNHB.cjs.map} +1 -1
  333. package/package.json +42 -4
  334. package/dist/chunk-265CFCCX.js +0 -173
  335. package/dist/chunk-265CFCCX.js.map +0 -1
  336. package/dist/chunk-2J2V4TMJ.cjs.map +0 -1
  337. package/dist/chunk-377KAB4C.cjs.map +0 -1
  338. package/dist/chunk-3K7QCDSV.js +0 -3
  339. package/dist/chunk-3NJ72QU6.js.map +0 -1
  340. package/dist/chunk-4AWW5WPF.js.map +0 -1
  341. package/dist/chunk-4MHTSFPX.js.map +0 -1
  342. package/dist/chunk-4T2ZNPTC.js +0 -220
  343. package/dist/chunk-4T2ZNPTC.js.map +0 -1
  344. package/dist/chunk-4YRAEFYW.js +0 -233
  345. package/dist/chunk-4YRAEFYW.js.map +0 -1
  346. package/dist/chunk-53K3KWXQ.cjs.map +0 -1
  347. package/dist/chunk-5T3AWNHG.cjs.map +0 -1
  348. package/dist/chunk-5UUL5EEO.cjs.map +0 -1
  349. package/dist/chunk-6OCIIIAI.js.map +0 -1
  350. package/dist/chunk-6Q4SU72T.js.map +0 -1
  351. package/dist/chunk-AU5ADTYD.cjs.map +0 -1
  352. package/dist/chunk-AWIULTJW.js.map +0 -1
  353. package/dist/chunk-B26RIQ5R.js.map +0 -1
  354. package/dist/chunk-B3L43JGH.js.map +0 -1
  355. package/dist/chunk-B7YGVKTE.cjs.map +0 -1
  356. package/dist/chunk-BTJHYGPI.cjs.map +0 -1
  357. package/dist/chunk-BV75DAKO.cjs +0 -245
  358. package/dist/chunk-BV75DAKO.cjs.map +0 -1
  359. package/dist/chunk-BXK5TNJE.cjs.map +0 -1
  360. package/dist/chunk-CEHWXAAI.js.map +0 -1
  361. package/dist/chunk-CP7NPDQW.js.map +0 -1
  362. package/dist/chunk-CQCYXHCU.cjs +0 -256
  363. package/dist/chunk-CQCYXHCU.cjs.map +0 -1
  364. package/dist/chunk-DMA74PZ7.js +0 -240
  365. package/dist/chunk-DMA74PZ7.js.map +0 -1
  366. package/dist/chunk-EF46XW4Z.cjs.map +0 -1
  367. package/dist/chunk-EKIQE524.cjs.map +0 -1
  368. package/dist/chunk-EYH7OUX5.js.map +0 -1
  369. package/dist/chunk-FFJVCQ5R.cjs.map +0 -1
  370. package/dist/chunk-FIXAVBUA.cjs +0 -200
  371. package/dist/chunk-FIXAVBUA.cjs.map +0 -1
  372. package/dist/chunk-G2DOD34H.js.map +0 -1
  373. package/dist/chunk-GHRQ3ZJH.js +0 -764
  374. package/dist/chunk-GHRQ3ZJH.js.map +0 -1
  375. package/dist/chunk-GV5JQBPX.js.map +0 -1
  376. package/dist/chunk-HRA4FUO6.cjs.map +0 -1
  377. package/dist/chunk-INFSKLXE.cjs +0 -790
  378. package/dist/chunk-INFSKLXE.cjs.map +0 -1
  379. package/dist/chunk-IY7UQPDO.cjs.map +0 -1
  380. package/dist/chunk-JFAXLE2J.js.map +0 -1
  381. package/dist/chunk-JYMQJ32S.cjs.map +0 -1
  382. package/dist/chunk-KWDTTGH2.js.map +0 -1
  383. package/dist/chunk-LZEY55QZ.cjs.map +0 -1
  384. package/dist/chunk-N3QTYHRZ.cjs.map +0 -1
  385. package/dist/chunk-NAATBUHR.cjs.map +0 -1
  386. package/dist/chunk-NIHESA7O.js.map +0 -1
  387. package/dist/chunk-NXRLGHEC.js +0 -98
  388. package/dist/chunk-NXRLGHEC.js.map +0 -1
  389. package/dist/chunk-ONWOB76P.js.map +0 -1
  390. package/dist/chunk-ORUPC5TV.cjs.map +0 -1
  391. package/dist/chunk-OT36EMM5.js.map +0 -1
  392. package/dist/chunk-OW2BWGST.js.map +0 -1
  393. package/dist/chunk-PEFJAWNR.cjs.map +0 -1
  394. package/dist/chunk-PEH4ZOEM.cjs.map +0 -1
  395. package/dist/chunk-PF3XWKE5.cjs.map +0 -1
  396. package/dist/chunk-QL2YTVTR.js.map +0 -1
  397. package/dist/chunk-QSMMFATL.js.map +0 -1
  398. package/dist/chunk-QYJ7RQJ2.cjs.map +0 -1
  399. package/dist/chunk-QZLRB3UG.js.map +0 -1
  400. package/dist/chunk-R4DM4635.cjs.map +0 -1
  401. package/dist/chunk-RRQGH7C5.cjs.map +0 -1
  402. package/dist/chunk-SOFX4T7M.js.map +0 -1
  403. package/dist/chunk-SSKI6VTW.cjs.map +0 -1
  404. package/dist/chunk-SWMRCGL4.cjs.map +0 -1
  405. package/dist/chunk-TCQ27C5M.js.map +0 -1
  406. package/dist/chunk-TPGT236K.js.map +0 -1
  407. package/dist/chunk-UZUBLXVC.js.map +0 -1
  408. package/dist/chunk-VBHPXSCV.js.map +0 -1
  409. package/dist/chunk-VV4N4WY6.cjs.map +0 -1
  410. package/dist/chunk-VZUVYJFU.cjs.map +0 -1
  411. package/dist/chunk-WH6I7CMP.cjs.map +0 -1
  412. package/dist/chunk-XHJGYBYG.cjs.map +0 -1
  413. package/dist/chunk-XVZ4SLQB.js.map +0 -1
  414. package/dist/chunk-XXOBTAKA.js.map +0 -1
  415. package/dist/default-LIRPABBK.js +0 -3
  416. package/dist/default-ZGHKI5WF.cjs +0 -18
  417. package/dist/mieweb-PV2YKYO7.js +0 -3
  418. package/dist/mieweb-UJABK5XX.cjs +0 -18
  419. package/dist/waggleline-6IGA66HR.cjs +0 -18
  420. package/dist/waggleline-BMUYAFJF.js +0 -3
  421. package/dist/webchart-2SLO5ICI.js +0 -3
  422. package/dist/webchart-EHVGP46N.cjs +0 -18
@@ -1,790 +0,0 @@
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
- showHoverCursor = false,
231
- waveformRef,
232
- onHoverTimeChange,
233
- cursorColor = "var(--color-red-500, rgb(239, 68, 68))"
234
- }) {
235
- const containerRef = React__namespace.useRef(null);
236
- const wavesurferRef = React__namespace.useRef(null);
237
- const [isLoaded, setIsLoaded] = React__namespace.useState(false);
238
- const [isHovering, setIsHovering] = React__namespace.useState(false);
239
- const [hoverPosition, setHoverPosition] = React__namespace.useState(0);
240
- React__namespace.useEffect(() => {
241
- if (waveformRef) {
242
- waveformRef.current = {
243
- seekTo: (time) => {
244
- if (wavesurferRef.current && isLoaded) {
245
- const duration = wavesurferRef.current.getDuration();
246
- if (duration > 0) {
247
- const clampedTime = Math.min(Math.max(time, 0), duration);
248
- const progress = clampedTime / duration;
249
- wavesurferRef.current.seekTo(progress);
250
- }
251
- }
252
- },
253
- play: () => {
254
- if (wavesurferRef.current && isLoaded) {
255
- wavesurferRef.current.play();
256
- }
257
- },
258
- pause: () => {
259
- if (wavesurferRef.current && isLoaded) {
260
- wavesurferRef.current.pause();
261
- }
262
- },
263
- getCurrentTime: () => {
264
- return wavesurferRef.current?.getCurrentTime?.() ?? 0;
265
- },
266
- getDuration: () => {
267
- return wavesurferRef.current?.getDuration?.() ?? 0;
268
- }
269
- };
270
- }
271
- return () => {
272
- if (waveformRef) {
273
- waveformRef.current = null;
274
- }
275
- };
276
- }, [waveformRef, isLoaded]);
277
- React__namespace.useEffect(() => {
278
- if (!containerRef.current) return;
279
- const initWaveSurfer = async () => {
280
- try {
281
- const WaveSurfer = (await import('wavesurfer.js')).default;
282
- if (wavesurferRef.current) {
283
- wavesurferRef.current.destroy();
284
- }
285
- wavesurferRef.current = WaveSurfer.create({
286
- container: containerRef.current,
287
- waveColor: waveColor || "#d1d5db",
288
- progressColor: progressColor || "var(--color-primary-600, #2563eb)",
289
- cursorColor: "transparent",
290
- barWidth: 2,
291
- barGap: 2,
292
- barRadius: 2,
293
- height,
294
- normalize: true,
295
- interact: !showHoverCursor
296
- });
297
- wavesurferRef.current.on("ready", () => {
298
- setIsLoaded(true);
299
- onReady(wavesurferRef.current.getDuration());
300
- });
301
- wavesurferRef.current.on("audioprocess", () => {
302
- onTimeUpdate(wavesurferRef.current.getCurrentTime());
303
- });
304
- wavesurferRef.current.on("seeking", () => {
305
- onTimeUpdate(wavesurferRef.current.getCurrentTime());
306
- });
307
- if (!showHoverCursor) {
308
- wavesurferRef.current.on("interaction", () => {
309
- onSeek(wavesurferRef.current.getCurrentTime());
310
- });
311
- }
312
- wavesurferRef.current.on("finish", () => {
313
- onFinish();
314
- });
315
- wavesurferRef.current.load(src);
316
- } catch (error) {
317
- console.error("Failed to load WaveSurfer:", error);
318
- }
319
- };
320
- setIsLoaded(false);
321
- initWaveSurfer();
322
- return () => {
323
- if (wavesurferRef.current) {
324
- wavesurferRef.current.destroy();
325
- wavesurferRef.current = null;
326
- }
327
- };
328
- }, [src, showHoverCursor]);
329
- React__namespace.useEffect(() => {
330
- if (!wavesurferRef.current || !isLoaded) return;
331
- if (isPlaying) {
332
- wavesurferRef.current.play();
333
- } else {
334
- wavesurferRef.current.pause();
335
- }
336
- }, [isPlaying, isLoaded]);
337
- React__namespace.useEffect(() => {
338
- if (!wavesurferRef.current || !isLoaded) return;
339
- wavesurferRef.current.setPlaybackRate(playbackRate);
340
- }, [playbackRate, isLoaded]);
341
- const handleMouseMove = showHoverCursor ? (e) => {
342
- if (!containerRef.current || !wavesurferRef.current || !isLoaded)
343
- return;
344
- const rect = containerRef.current.getBoundingClientRect();
345
- const x = Math.max(0, Math.min(e.clientX - rect.left, rect.width));
346
- const percentage = x / rect.width;
347
- const duration = wavesurferRef.current.getDuration();
348
- setHoverPosition(percentage * 100);
349
- onHoverTimeChange?.(percentage * duration);
350
- } : void 0;
351
- const handleMouseEnter = showHoverCursor ? () => setIsHovering(true) : void 0;
352
- const handleMouseLeave = showHoverCursor ? () => {
353
- setIsHovering(false);
354
- setHoverPosition(0);
355
- onHoverTimeChange?.(null);
356
- } : void 0;
357
- const handleClick = showHoverCursor ? (e) => {
358
- if (!containerRef.current || !wavesurferRef.current || !isLoaded)
359
- return;
360
- const rect = containerRef.current.getBoundingClientRect();
361
- const x = Math.max(0, Math.min(e.clientX - rect.left, rect.width));
362
- const percentage = x / rect.width;
363
- wavesurferRef.current.seekTo(percentage);
364
- onSeek(wavesurferRef.current.getDuration() * percentage);
365
- onHoverTimeChange?.(null);
366
- } : void 0;
367
- const handleKeyDown = showHoverCursor ? (e) => {
368
- if (!wavesurferRef.current || !isLoaded) return;
369
- const duration = wavesurferRef.current.getDuration();
370
- const currentTime = wavesurferRef.current.getCurrentTime();
371
- const step = duration * 0.05;
372
- if (e.key === "ArrowRight") {
373
- e.preventDefault();
374
- const newTime = Math.min(currentTime + step, duration);
375
- wavesurferRef.current.seekTo(newTime / duration);
376
- onSeek(newTime);
377
- } else if (e.key === "ArrowLeft") {
378
- e.preventDefault();
379
- const newTime = Math.max(currentTime - step, 0);
380
- wavesurferRef.current.seekTo(newTime / duration);
381
- onSeek(newTime);
382
- }
383
- } : void 0;
384
- return /* @__PURE__ */ jsxRuntime.jsx(
385
- "div",
386
- {
387
- ref: containerRef,
388
- role: showHoverCursor ? "slider" : void 0,
389
- "aria-label": showHoverCursor ? "Audio progress" : void 0,
390
- "aria-valuemin": showHoverCursor ? 0 : void 0,
391
- "aria-valuemax": showHoverCursor && wavesurferRef.current ? wavesurferRef.current.getDuration() : void 0,
392
- "aria-valuenow": showHoverCursor && wavesurferRef.current ? wavesurferRef.current.getCurrentTime() : void 0,
393
- tabIndex: showHoverCursor ? 0 : void 0,
394
- className: chunkOR5DRJCW_cjs.cn(
395
- "relative w-full rounded-lg bg-neutral-100 dark:bg-neutral-800",
396
- showHoverCursor && "cursor-pointer",
397
- !isLoaded && "animate-pulse"
398
- ),
399
- style: { height },
400
- onMouseMove: handleMouseMove,
401
- onMouseEnter: handleMouseEnter,
402
- onMouseLeave: handleMouseLeave,
403
- onClick: handleClick,
404
- onKeyDown: handleKeyDown,
405
- children: showHoverCursor && isHovering && isLoaded && /* @__PURE__ */ jsxRuntime.jsx(
406
- "div",
407
- {
408
- className: "pointer-events-none absolute top-0 bottom-0 z-10 w-0.5",
409
- style: { left: `${hoverPosition}%`, backgroundColor: cursorColor }
410
- }
411
- )
412
- }
413
- );
414
- }
415
- var AudioPlayer = React__namespace.forwardRef(function AudioPlayer2({
416
- src,
417
- title,
418
- variant = "compact",
419
- size = "md",
420
- onStateChange,
421
- onEnded,
422
- onError,
423
- onTimeUpdate,
424
- showTime = true,
425
- showDuration = true,
426
- waveColor,
427
- progressColor,
428
- waveformHeight = 64,
429
- showWaveformHoverCursor = true,
430
- waveformCursorColor,
431
- disabled = false,
432
- className,
433
- "aria-label": ariaLabel,
434
- playbackRates = [0.5, 0.75, 1, 1.25, 1.5, 2],
435
- showPlaybackRate = false,
436
- /** Whether to preload audio (set to false for lists with many items) */
437
- preload = false,
438
- /** Fallback duration in seconds to display before audio is loaded */
439
- fallbackDuration
440
- }, ref) {
441
- const [state, setState] = React__namespace.useState("idle");
442
- const [currentTime, setCurrentTime] = React__namespace.useState(0);
443
- const [duration, setDuration] = React__namespace.useState(0);
444
- const [playbackRate, setPlaybackRate] = React__namespace.useState(1);
445
- const [audioInitialized, setAudioInitialized] = React__namespace.useState(false);
446
- const [hoverTime, setHoverTime] = React__namespace.useState(null);
447
- const containerRef = React__namespace.useRef(null);
448
- const audioRef = React__namespace.useRef(null);
449
- const waveformMethodsRef = React__namespace.useRef(null);
450
- const isPlaying = state === "playing";
451
- const isLoading = state === "loading";
452
- const updateState = React__namespace.useCallback(
453
- (newState) => {
454
- setState(newState);
455
- onStateChange?.(newState);
456
- },
457
- [onStateChange]
458
- );
459
- const initAudio = React__namespace.useCallback(() => {
460
- if (variant === "waveform" || audioInitialized) return null;
461
- const audio = new globalThis.Audio(src);
462
- audioRef.current = audio;
463
- setAudioInitialized(true);
464
- audio.addEventListener("loadstart", () => updateState("loading"));
465
- audio.addEventListener("canplay", () => {
466
- updateState("idle");
467
- });
468
- audio.addEventListener("loadedmetadata", () => {
469
- setDuration(audio.duration);
470
- });
471
- audio.addEventListener("timeupdate", () => {
472
- setCurrentTime(audio.currentTime);
473
- onTimeUpdate?.(audio.currentTime, audio.duration);
474
- });
475
- audio.addEventListener("ended", () => {
476
- updateState("idle");
477
- setCurrentTime(0);
478
- onEnded?.();
479
- });
480
- audio.addEventListener("error", () => {
481
- updateState("error");
482
- onError?.(new Error("Failed to load audio"));
483
- });
484
- return audio;
485
- }, [
486
- src,
487
- variant,
488
- audioInitialized,
489
- updateState,
490
- onTimeUpdate,
491
- onEnded,
492
- onError
493
- ]);
494
- React__namespace.useImperativeHandle(
495
- ref,
496
- () => ({
497
- get container() {
498
- return containerRef.current;
499
- },
500
- seekTo: (time) => {
501
- if (variant === "waveform") {
502
- waveformMethodsRef.current?.seekTo(time);
503
- } else {
504
- if (!audioRef.current) {
505
- initAudio();
506
- }
507
- if (audioRef.current) {
508
- audioRef.current.currentTime = time;
509
- }
510
- }
511
- },
512
- play: () => {
513
- if (variant === "waveform") {
514
- if (waveformMethodsRef.current) {
515
- waveformMethodsRef.current.play();
516
- updateState("playing");
517
- }
518
- } else {
519
- if (!audioRef.current) {
520
- initAudio();
521
- }
522
- if (audioRef.current) {
523
- audioRef.current.play().catch((error) => {
524
- updateState("error");
525
- onError?.(error);
526
- });
527
- updateState("playing");
528
- }
529
- }
530
- },
531
- pause: () => {
532
- if (variant === "waveform") {
533
- if (waveformMethodsRef.current) {
534
- waveformMethodsRef.current.pause();
535
- updateState("paused");
536
- }
537
- } else if (audioRef.current) {
538
- audioRef.current.pause();
539
- updateState("paused");
540
- }
541
- },
542
- getCurrentTime: () => {
543
- if (variant === "waveform") {
544
- return waveformMethodsRef.current?.getCurrentTime() ?? 0;
545
- }
546
- return audioRef.current?.currentTime ?? 0;
547
- },
548
- getDuration: () => {
549
- if (variant === "waveform") {
550
- return waveformMethodsRef.current?.getDuration() ?? 0;
551
- }
552
- const rawDuration = audioRef.current?.duration;
553
- return Number.isFinite(rawDuration) ? rawDuration : 0;
554
- }
555
- }),
556
- [variant, initAudio, updateState, onError]
557
- );
558
- React__namespace.useEffect(() => {
559
- if (preload && !audioInitialized && variant !== "waveform") {
560
- initAudio();
561
- }
562
- }, [preload, audioInitialized, variant, initAudio]);
563
- React__namespace.useEffect(() => {
564
- return () => {
565
- if (audioRef.current) {
566
- audioRef.current.pause();
567
- audioRef.current.src = "";
568
- }
569
- };
570
- }, []);
571
- React__namespace.useEffect(() => {
572
- if (audioRef.current) {
573
- audioRef.current.playbackRate = playbackRate;
574
- }
575
- }, [playbackRate]);
576
- const handlePlay = React__namespace.useCallback(() => {
577
- if (disabled) return;
578
- if (variant === "waveform") {
579
- if (isLoading) return;
580
- updateState(isPlaying ? "paused" : "playing");
581
- return;
582
- }
583
- if (!audioInitialized && !isLoading) {
584
- const audio = initAudio();
585
- if (audio) {
586
- updateState("loading");
587
- audio.addEventListener(
588
- "canplay",
589
- () => {
590
- audio.play().catch((error) => {
591
- updateState("error");
592
- onError?.(error);
593
- });
594
- updateState("playing");
595
- },
596
- { once: true }
597
- );
598
- }
599
- return;
600
- }
601
- if (isLoading) return;
602
- if (isPlaying) {
603
- if (audioRef.current) {
604
- audioRef.current.pause();
605
- }
606
- updateState("paused");
607
- } else {
608
- if (audioRef.current) {
609
- audioRef.current.play().catch((error) => {
610
- updateState("error");
611
- onError?.(error);
612
- });
613
- updateState("playing");
614
- }
615
- }
616
- }, [
617
- disabled,
618
- variant,
619
- audioInitialized,
620
- isLoading,
621
- isPlaying,
622
- initAudio,
623
- updateState,
624
- onError
625
- ]);
626
- const handleSeek = React__namespace.useCallback((time) => {
627
- if (audioRef.current) {
628
- audioRef.current.currentTime = time;
629
- setCurrentTime(time);
630
- }
631
- }, []);
632
- const handleWaveformReady = React__namespace.useCallback((dur) => {
633
- setDuration(dur);
634
- setState("idle");
635
- }, []);
636
- const handleWaveformTimeUpdate = React__namespace.useCallback(
637
- (time) => {
638
- setCurrentTime(time);
639
- onTimeUpdate?.(time, duration);
640
- },
641
- [duration, onTimeUpdate]
642
- );
643
- const handleWaveformFinish = React__namespace.useCallback(() => {
644
- updateState("idle");
645
- setCurrentTime(0);
646
- onEnded?.();
647
- }, [updateState, onEnded]);
648
- const handleWaveformSeek = React__namespace.useCallback((time) => {
649
- setCurrentTime(time);
650
- }, []);
651
- const handleHoverTimeChange = React__namespace.useCallback((time) => {
652
- setHoverTime(time);
653
- }, []);
654
- const iconSize = size === "sm" ? "h-3.5 w-3.5" : size === "lg" ? "h-5 w-5" : "h-4 w-4";
655
- const getAriaLabel = () => {
656
- if (ariaLabel) return ariaLabel;
657
- if (title) return `${isPlaying ? "Pause" : "Play"} ${title}`;
658
- return isPlaying ? "Pause audio" : "Play audio";
659
- };
660
- const renderPlayButton = () => /* @__PURE__ */ jsxRuntime.jsx(
661
- "button",
662
- {
663
- type: "button",
664
- onClick: handlePlay,
665
- disabled: disabled || isLoading,
666
- className: chunkOR5DRJCW_cjs.cn(playButtonVariants({ variant, size })),
667
- "aria-label": getAriaLabel(),
668
- "aria-pressed": isPlaying,
669
- children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(SpinnerIcon, { className: iconSize }) : isPlaying ? /* @__PURE__ */ jsxRuntime.jsx(PauseIcon, { className: iconSize }) : /* @__PURE__ */ jsxRuntime.jsx(PlayIcon, { className: iconSize })
670
- }
671
- );
672
- const renderTime = (useHoverTime = false) => {
673
- if (!showTime) return null;
674
- const displayTime = useHoverTime && hoverTime !== null ? hoverTime : currentTime;
675
- const isShowingHoverTime = useHoverTime && hoverTime !== null;
676
- return /* @__PURE__ */ jsxRuntime.jsxs(
677
- "span",
678
- {
679
- className: chunkOR5DRJCW_cjs.cn(
680
- "font-mono text-xs tabular-nums",
681
- isShowingHoverTime ? "text-primary-600 dark:text-primary-400" : "text-neutral-500 dark:text-neutral-400"
682
- ),
683
- children: [
684
- formatTime(displayTime),
685
- " / ",
686
- formatTime(duration)
687
- ]
688
- }
689
- );
690
- };
691
- const renderPlaybackRateControl = () => {
692
- if (!showPlaybackRate) return null;
693
- return /* @__PURE__ */ jsxRuntime.jsx(
694
- "select",
695
- {
696
- value: playbackRate,
697
- onChange: (e) => setPlaybackRate(Number(e.target.value)),
698
- className: "rounded border border-neutral-200 bg-transparent px-1 py-0.5 text-xs dark:border-neutral-700",
699
- "aria-label": "Playback speed",
700
- children: playbackRates.map((rate) => /* @__PURE__ */ jsxRuntime.jsxs("option", { value: rate, children: [
701
- rate,
702
- "x"
703
- ] }, rate))
704
- }
705
- );
706
- };
707
- if (variant === "inline") {
708
- const displayDuration = duration > 0 ? duration : fallbackDuration ?? 0;
709
- return /* @__PURE__ */ jsxRuntime.jsxs(
710
- "div",
711
- {
712
- ref: containerRef,
713
- className: chunkOR5DRJCW_cjs.cn(audioPlayerVariants({ variant, size }), className),
714
- children: [
715
- renderPlayButton(),
716
- title && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-neutral-700 dark:text-neutral-300", children: title }),
717
- 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) })
718
- ]
719
- }
720
- );
721
- }
722
- if (variant === "compact") {
723
- return /* @__PURE__ */ jsxRuntime.jsxs(
724
- "div",
725
- {
726
- ref: containerRef,
727
- className: chunkOR5DRJCW_cjs.cn(audioPlayerVariants({ variant, size }), className),
728
- children: [
729
- renderPlayButton(),
730
- /* @__PURE__ */ jsxRuntime.jsx(
731
- ProgressBar,
732
- {
733
- currentTime,
734
- duration,
735
- onSeek: handleSeek,
736
- disabled
737
- }
738
- ),
739
- renderTime(),
740
- renderPlaybackRateControl()
741
- ]
742
- }
743
- );
744
- }
745
- return /* @__PURE__ */ jsxRuntime.jsxs(
746
- "div",
747
- {
748
- ref: containerRef,
749
- className: chunkOR5DRJCW_cjs.cn(audioPlayerVariants({ variant, size }), className),
750
- children: [
751
- title && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-neutral-700 dark:text-neutral-300", children: title }),
752
- /* @__PURE__ */ jsxRuntime.jsx(
753
- Waveform,
754
- {
755
- src,
756
- isPlaying,
757
- playbackRate,
758
- onReady: handleWaveformReady,
759
- onTimeUpdate: handleWaveformTimeUpdate,
760
- onFinish: handleWaveformFinish,
761
- onSeek: handleWaveformSeek,
762
- waveColor,
763
- progressColor,
764
- height: waveformHeight,
765
- showHoverCursor: showWaveformHoverCursor,
766
- onHoverTimeChange: handleHoverTimeChange,
767
- cursorColor: waveformCursorColor,
768
- waveformRef: waveformMethodsRef
769
- }
770
- ),
771
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
772
- renderPlayButton(),
773
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 items-center justify-between", children: [
774
- renderTime(true),
775
- renderPlaybackRateControl()
776
- ] })
777
- ] })
778
- ]
779
- }
780
- );
781
- });
782
- AudioPlayer.displayName = "AudioPlayer";
783
-
784
- exports.AudioPlayer = AudioPlayer;
785
- exports.ProgressBar = ProgressBar;
786
- exports.audioPlayerVariants = audioPlayerVariants;
787
- exports.formatTime = formatTime;
788
- exports.playButtonVariants = playButtonVariants;
789
- //# sourceMappingURL=chunk-INFSKLXE.cjs.map
790
- //# sourceMappingURL=chunk-INFSKLXE.cjs.map