@mieweb/ui 0.7.1 → 0.7.2-dev.1

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 (464) hide show
  1. package/dist/CsvBlock-OTFG3PYZ.cjs +15 -0
  2. package/dist/{CsvBlock-2A5VEDD3.cjs.map → CsvBlock-OTFG3PYZ.cjs.map} +1 -1
  3. package/dist/CsvBlock-PUSTBQ5B.js +6 -0
  4. package/dist/{CsvBlock-D6PWAJ5X.js.map → CsvBlock-PUSTBQ5B.js.map} +1 -1
  5. package/dist/HtmlPreviewBlock-QHLSIMWJ.cjs +15 -0
  6. package/dist/{HtmlPreviewBlock-SYXCV5RH.cjs.map → HtmlPreviewBlock-QHLSIMWJ.cjs.map} +1 -1
  7. package/dist/HtmlPreviewBlock-YF2YVKKX.js +6 -0
  8. package/dist/{HtmlPreviewBlock-PEHTJ6C3.js.map → HtmlPreviewBlock-YF2YVKKX.js.map} +1 -1
  9. package/dist/MermaidBlock-H3TWNC4D.js +6 -0
  10. package/dist/{MermaidBlock-7NK3AVK2.js.map → MermaidBlock-H3TWNC4D.js.map} +1 -1
  11. package/dist/MermaidBlock-ZLLBO3VY.cjs +15 -0
  12. package/dist/{MermaidBlock-AFXNP5NK.cjs.map → MermaidBlock-ZLLBO3VY.cjs.map} +1 -1
  13. package/dist/SurveyBlock-JLHS3YQD.js +6 -0
  14. package/dist/{SurveyBlock-NNDGXGG4.js.map → SurveyBlock-JLHS3YQD.js.map} +1 -1
  15. package/dist/SurveyBlock-M2ZRTGVJ.cjs +15 -0
  16. package/dist/{SurveyBlock-6KRNKFH5.cjs.map → SurveyBlock-M2ZRTGVJ.cjs.map} +1 -1
  17. package/dist/ag-grid.cjs +13 -13
  18. package/dist/ag-grid.js +2 -2
  19. package/dist/brands/index.cjs +7 -7
  20. package/dist/brands/index.js +2 -2
  21. package/dist/{chunk-4DMZAVB2.js → chunk-23AYDOCH.js} +3 -3
  22. package/dist/{chunk-4DMZAVB2.js.map → chunk-23AYDOCH.js.map} +1 -1
  23. package/dist/{chunk-MAMY5HTT.cjs → chunk-26DPQUSB.cjs} +22 -22
  24. package/dist/{chunk-MAMY5HTT.cjs.map → chunk-26DPQUSB.cjs.map} +1 -1
  25. package/dist/{chunk-TRZXK57D.js → chunk-2DW4PUJD.js} +3 -3
  26. package/dist/{chunk-TRZXK57D.js.map → chunk-2DW4PUJD.js.map} +1 -1
  27. package/dist/{chunk-OX2RIVN7.js → chunk-3D4ITDLO.js} +4 -4
  28. package/dist/{chunk-OX2RIVN7.js.map → chunk-3D4ITDLO.js.map} +1 -1
  29. package/dist/{chunk-PJAQDAMZ.cjs → chunk-3IAA3KCE.cjs} +15 -6
  30. package/dist/chunk-3IAA3KCE.cjs.map +1 -0
  31. package/dist/chunk-3PXOIAF6.js +3 -0
  32. package/dist/{chunk-DHKYGVP7.js.map → chunk-3PXOIAF6.js.map} +1 -1
  33. package/dist/{chunk-Q2EWNXIB.cjs → chunk-3SZQRMHM.cjs} +9 -9
  34. package/dist/{chunk-Q2EWNXIB.cjs.map → chunk-3SZQRMHM.cjs.map} +1 -1
  35. package/dist/{chunk-JLBT76WH.js → chunk-3YSIZ2CK.js} +14 -5
  36. package/dist/chunk-3YSIZ2CK.js.map +1 -0
  37. package/dist/{chunk-NIEIRA5A.cjs → chunk-4AE2L6AO.cjs} +13 -13
  38. package/dist/{chunk-NIEIRA5A.cjs.map → chunk-4AE2L6AO.cjs.map} +1 -1
  39. package/dist/{chunk-KBEKQMVY.cjs → chunk-4CUFXCC5.cjs} +5 -5
  40. package/dist/{chunk-KBEKQMVY.cjs.map → chunk-4CUFXCC5.cjs.map} +1 -1
  41. package/dist/{chunk-PFWHWIXS.cjs → chunk-54OW6ZPL.cjs} +124 -3
  42. package/dist/chunk-54OW6ZPL.cjs.map +1 -0
  43. package/dist/{chunk-XP6HELVG.cjs → chunk-5IDYOJHO.cjs} +13 -13
  44. package/dist/{chunk-XP6HELVG.cjs.map → chunk-5IDYOJHO.cjs.map} +1 -1
  45. package/dist/{chunk-7WMSUXOQ.js → chunk-5J5PEUUA.js} +4 -4
  46. package/dist/{chunk-7WMSUXOQ.js.map → chunk-5J5PEUUA.js.map} +1 -1
  47. package/dist/{chunk-3CJBUAJ4.js → chunk-5U6GETAW.js} +3 -3
  48. package/dist/{chunk-3CJBUAJ4.js.map → chunk-5U6GETAW.js.map} +1 -1
  49. package/dist/{chunk-HEH3QXOQ.js → chunk-5Y5FSR4N.js} +3 -3
  50. package/dist/{chunk-HEH3QXOQ.js.map → chunk-5Y5FSR4N.js.map} +1 -1
  51. package/dist/{chunk-MSRU3XBH.cjs → chunk-6ECKH4DJ.cjs} +7 -7
  52. package/dist/{chunk-MSRU3XBH.cjs.map → chunk-6ECKH4DJ.cjs.map} +1 -1
  53. package/dist/{chunk-MV3MTHWQ.js → chunk-6EWJGRC3.js} +3 -3
  54. package/dist/{chunk-MV3MTHWQ.js.map → chunk-6EWJGRC3.js.map} +1 -1
  55. package/dist/{chunk-AES2BKEW.cjs → chunk-6J7UGYT5.cjs} +10 -10
  56. package/dist/{chunk-AES2BKEW.cjs.map → chunk-6J7UGYT5.cjs.map} +1 -1
  57. package/dist/{chunk-6LFG4JFF.js → chunk-AFGADE3B.js} +3 -3
  58. package/dist/{chunk-6LFG4JFF.js.map → chunk-AFGADE3B.js.map} +1 -1
  59. package/dist/{chunk-UOOH356R.cjs → chunk-AIJAFPGJ.cjs} +5 -5
  60. package/dist/{chunk-UOOH356R.cjs.map → chunk-AIJAFPGJ.cjs.map} +1 -1
  61. package/dist/{chunk-43GBCUSQ.js → chunk-AQ564XO7.js} +6 -6
  62. package/dist/chunk-AQ564XO7.js.map +1 -0
  63. package/dist/{chunk-CYMZ2QS5.js → chunk-BCJFOSZX.js} +2 -2
  64. package/dist/{chunk-CYMZ2QS5.js.map → chunk-BCJFOSZX.js.map} +1 -1
  65. package/dist/{chunk-T3C4RNJ4.js → chunk-BJKAVWED.js} +3 -3
  66. package/dist/{chunk-T3C4RNJ4.js.map → chunk-BJKAVWED.js.map} +1 -1
  67. package/dist/{chunk-MKWGKASO.js → chunk-BMRQ4VME.js} +4 -4
  68. package/dist/{chunk-MKWGKASO.js.map → chunk-BMRQ4VME.js.map} +1 -1
  69. package/dist/{chunk-T42BCIUA.js → chunk-BMSG4NBH.js} +4 -4
  70. package/dist/{chunk-T42BCIUA.js.map → chunk-BMSG4NBH.js.map} +1 -1
  71. package/dist/{chunk-QA6ZDHFP.js → chunk-BOOJDRJO.js} +35 -11
  72. package/dist/chunk-BOOJDRJO.js.map +1 -0
  73. package/dist/{chunk-IYIYL2SQ.js → chunk-CEQJGUAS.js} +3 -3
  74. package/dist/{chunk-IYIYL2SQ.js.map → chunk-CEQJGUAS.js.map} +1 -1
  75. package/dist/{chunk-ZVSW2KS6.js → chunk-D2GID3YK.js} +30 -7
  76. package/dist/chunk-D2GID3YK.js.map +1 -0
  77. package/dist/{chunk-WO5CAOAN.js → chunk-DCBMTFLE.js} +3 -3
  78. package/dist/{chunk-WO5CAOAN.js.map → chunk-DCBMTFLE.js.map} +1 -1
  79. package/dist/{chunk-J7Z7467B.js → chunk-DLBV42JD.js} +4 -4
  80. package/dist/{chunk-J7Z7467B.js.map → chunk-DLBV42JD.js.map} +1 -1
  81. package/dist/{chunk-MUYTGWGE.js → chunk-DVOQ3JNO.js} +3 -3
  82. package/dist/{chunk-MUYTGWGE.js.map → chunk-DVOQ3JNO.js.map} +1 -1
  83. package/dist/{chunk-I2W24RHW.js → chunk-DWCYEPTT.js} +3 -3
  84. package/dist/{chunk-I2W24RHW.js.map → chunk-DWCYEPTT.js.map} +1 -1
  85. package/dist/{chunk-LJ2ZWIX6.js → chunk-DWIF6VXZ.js} +124 -3
  86. package/dist/chunk-DWIF6VXZ.js.map +1 -0
  87. package/dist/{chunk-IHTRKWBG.js → chunk-EGWWTIWS.js} +119 -75
  88. package/dist/chunk-EGWWTIWS.js.map +1 -0
  89. package/dist/{chunk-T3RWXOCM.js → chunk-EHQ77LL5.js} +3 -3
  90. package/dist/{chunk-T3RWXOCM.js.map → chunk-EHQ77LL5.js.map} +1 -1
  91. package/dist/{chunk-UM6NA7HL.js → chunk-EKRT7K2K.js} +4 -4
  92. package/dist/{chunk-UM6NA7HL.js.map → chunk-EKRT7K2K.js.map} +1 -1
  93. package/dist/{chunk-KOCTIB6U.js → chunk-EMMYFHOT.js} +3 -3
  94. package/dist/{chunk-KOCTIB6U.js.map → chunk-EMMYFHOT.js.map} +1 -1
  95. package/dist/{chunk-WGPMTW36.cjs → chunk-EPQPUFS6.cjs} +7 -7
  96. package/dist/{chunk-WGPMTW36.cjs.map → chunk-EPQPUFS6.cjs.map} +1 -1
  97. package/dist/{chunk-J3BU3JBX.js → chunk-FDUA6OGN.js} +3 -3
  98. package/dist/{chunk-J3BU3JBX.js.map → chunk-FDUA6OGN.js.map} +1 -1
  99. package/dist/{chunk-JHYFHEHS.js → chunk-FDV7EQWH.js} +4 -4
  100. package/dist/{chunk-JHYFHEHS.js.map → chunk-FDV7EQWH.js.map} +1 -1
  101. package/dist/{chunk-KQAXXJ4G.cjs → chunk-FF235PKY.cjs} +7 -7
  102. package/dist/{chunk-KQAXXJ4G.cjs.map → chunk-FF235PKY.cjs.map} +1 -1
  103. package/dist/{chunk-FZJBFJJR.js → chunk-FJ7YPVKV.js} +3 -3
  104. package/dist/{chunk-FZJBFJJR.js.map → chunk-FJ7YPVKV.js.map} +1 -1
  105. package/dist/{chunk-5MAGWW5X.cjs → chunk-FKLUSYFP.cjs} +11 -11
  106. package/dist/{chunk-5MAGWW5X.cjs.map → chunk-FKLUSYFP.cjs.map} +1 -1
  107. package/dist/{chunk-BB4WQ4LV.cjs → chunk-FN6VHMLM.cjs} +8 -8
  108. package/dist/{chunk-BB4WQ4LV.cjs.map → chunk-FN6VHMLM.cjs.map} +1 -1
  109. package/dist/{chunk-6AHYYWVB.js → chunk-FPVRQCCL.js} +5 -5
  110. package/dist/{chunk-6AHYYWVB.js.map → chunk-FPVRQCCL.js.map} +1 -1
  111. package/dist/{chunk-FJH7P5WG.js → chunk-FTRGZOVJ.js} +6 -6
  112. package/dist/{chunk-FJH7P5WG.js.map → chunk-FTRGZOVJ.js.map} +1 -1
  113. package/dist/{chunk-ZGSC2CB2.js → chunk-GTHNWP4P.js} +36 -5
  114. package/dist/chunk-GTHNWP4P.js.map +1 -0
  115. package/dist/{chunk-44CK4CT2.cjs → chunk-H7QSGFMZ.cjs} +13 -13
  116. package/dist/{chunk-44CK4CT2.cjs.map → chunk-H7QSGFMZ.cjs.map} +1 -1
  117. package/dist/{chunk-YZT62IMX.js → chunk-HIDV32ZX.js} +5 -5
  118. package/dist/{chunk-YZT62IMX.js.map → chunk-HIDV32ZX.js.map} +1 -1
  119. package/dist/{chunk-BIT27PPD.js → chunk-HS25RPDW.js} +3 -3
  120. package/dist/{chunk-BIT27PPD.js.map → chunk-HS25RPDW.js.map} +1 -1
  121. package/dist/{chunk-BWYYA3LQ.cjs → chunk-I2ECTLON.cjs} +5 -5
  122. package/dist/{chunk-BWYYA3LQ.cjs.map → chunk-I2ECTLON.cjs.map} +1 -1
  123. package/dist/{chunk-DUPR6FEL.js → chunk-I3WGZPI6.js} +4 -4
  124. package/dist/{chunk-DUPR6FEL.js.map → chunk-I3WGZPI6.js.map} +1 -1
  125. package/dist/{chunk-TN33E2VN.cjs → chunk-IJYTASQQ.cjs} +15 -15
  126. package/dist/{chunk-TN33E2VN.cjs.map → chunk-IJYTASQQ.cjs.map} +1 -1
  127. package/dist/{chunk-BT3ZQJGT.cjs → chunk-IUDY6S7I.cjs} +6 -6
  128. package/dist/{chunk-BT3ZQJGT.cjs.map → chunk-IUDY6S7I.cjs.map} +1 -1
  129. package/dist/{chunk-BYUV3IZV.cjs → chunk-JP5SGIXA.cjs} +4 -4
  130. package/dist/{chunk-BYUV3IZV.cjs.map → chunk-JP5SGIXA.cjs.map} +1 -1
  131. package/dist/{chunk-TR2OJKQ4.cjs → chunk-JTSKPDPH.cjs} +8 -8
  132. package/dist/{chunk-TR2OJKQ4.cjs.map → chunk-JTSKPDPH.cjs.map} +1 -1
  133. package/dist/{chunk-V25Z5GR6.cjs → chunk-K4S4FAYX.cjs} +9 -9
  134. package/dist/{chunk-V25Z5GR6.cjs.map → chunk-K4S4FAYX.cjs.map} +1 -1
  135. package/dist/{chunk-XCLQZ4FV.js → chunk-KFLDXJEE.js} +3 -3
  136. package/dist/{chunk-XCLQZ4FV.js.map → chunk-KFLDXJEE.js.map} +1 -1
  137. package/dist/{chunk-6D5F7EDM.js → chunk-KRGKPUJH.js} +18 -17
  138. package/dist/chunk-KRGKPUJH.js.map +1 -0
  139. package/dist/{chunk-MCCO4A23.js → chunk-LC7YHZXM.js} +256 -45
  140. package/dist/chunk-LC7YHZXM.js.map +1 -0
  141. package/dist/{chunk-JCNPVK74.cjs → chunk-LJBWCUKP.cjs} +8 -8
  142. package/dist/{chunk-JCNPVK74.cjs.map → chunk-LJBWCUKP.cjs.map} +1 -1
  143. package/dist/{chunk-4LVPQ44A.js → chunk-LMBXJZLG.js} +9 -5
  144. package/dist/chunk-LMBXJZLG.js.map +1 -0
  145. package/dist/{chunk-ZHBANUBI.cjs → chunk-MJWFNV3L.cjs} +31 -27
  146. package/dist/chunk-MJWFNV3L.cjs.map +1 -0
  147. package/dist/{chunk-ZDEYV373.cjs → chunk-MYFZYUPR.cjs} +35 -11
  148. package/dist/chunk-MYFZYUPR.cjs.map +1 -0
  149. package/dist/{chunk-C2544GKZ.js → chunk-N3Y43KOB.js} +4 -4
  150. package/dist/{chunk-C2544GKZ.js.map → chunk-N3Y43KOB.js.map} +1 -1
  151. package/dist/{chunk-RHYIFIT5.js → chunk-NLBT5O2X.js} +3 -3
  152. package/dist/{chunk-RHYIFIT5.js.map → chunk-NLBT5O2X.js.map} +1 -1
  153. package/dist/{chunk-FCBQP2U4.cjs → chunk-NPKPCYAT.cjs} +142 -16
  154. package/dist/chunk-NPKPCYAT.cjs.map +1 -0
  155. package/dist/{chunk-PWHK7SWN.cjs → chunk-NQ2D2V6O.cjs} +150 -149
  156. package/dist/chunk-NQ2D2V6O.cjs.map +1 -0
  157. package/dist/{chunk-QUUFKGDF.cjs → chunk-OAHORW4N.cjs} +130 -86
  158. package/dist/chunk-OAHORW4N.cjs.map +1 -0
  159. package/dist/{chunk-BX6BTDTR.js → chunk-OQWZYKJM.js} +3 -3
  160. package/dist/{chunk-BX6BTDTR.js.map → chunk-OQWZYKJM.js.map} +1 -1
  161. package/dist/{chunk-JBB25LFB.js → chunk-OTQ72WX3.js} +3 -3
  162. package/dist/{chunk-JBB25LFB.js.map → chunk-OTQ72WX3.js.map} +1 -1
  163. package/dist/{chunk-AFKKJEV5.cjs → chunk-OZOSWBSI.cjs} +4 -4
  164. package/dist/{chunk-AFKKJEV5.cjs.map → chunk-OZOSWBSI.cjs.map} +1 -1
  165. package/dist/{chunk-KJPOFUF5.cjs → chunk-P2VTQ5AR.cjs} +10 -10
  166. package/dist/{chunk-KJPOFUF5.cjs.map → chunk-P2VTQ5AR.cjs.map} +1 -1
  167. package/dist/{chunk-CVC4NWFA.cjs → chunk-P3JEMF6E.cjs} +4 -4
  168. package/dist/{chunk-CVC4NWFA.cjs.map → chunk-P3JEMF6E.cjs.map} +1 -1
  169. package/dist/{chunk-ZAIEQWRA.js → chunk-P6L74SKG.js} +5 -5
  170. package/dist/{chunk-ZAIEQWRA.js.map → chunk-P6L74SKG.js.map} +1 -1
  171. package/dist/{chunk-QASIWBXU.cjs → chunk-P7UMS4E6.cjs} +7 -7
  172. package/dist/{chunk-QASIWBXU.cjs.map → chunk-P7UMS4E6.cjs.map} +1 -1
  173. package/dist/chunk-PAM5UUBL.cjs +740 -0
  174. package/dist/{chunk-UTYUT5YY.cjs.map → chunk-PAM5UUBL.cjs.map} +1 -1
  175. package/dist/{chunk-NVHAQOHH.cjs → chunk-PLMXN23Q.cjs} +10 -10
  176. package/dist/chunk-PLMXN23Q.cjs.map +1 -0
  177. package/dist/{chunk-Y2S6QMKU.js → chunk-PTZB2GKL.js} +3 -3
  178. package/dist/{chunk-Y2S6QMKU.js.map → chunk-PTZB2GKL.js.map} +1 -1
  179. package/dist/{chunk-EZKRAW2X.js → chunk-QUUBTNMH.js} +3 -3
  180. package/dist/{chunk-EZKRAW2X.js.map → chunk-QUUBTNMH.js.map} +1 -1
  181. package/dist/{chunk-5BQE6BEL.js → chunk-QYSUYB3S.js} +13 -9
  182. package/dist/chunk-QYSUYB3S.js.map +1 -0
  183. package/dist/{chunk-MZPF2QGM.cjs → chunk-RBS3GHDZ.cjs} +15 -15
  184. package/dist/{chunk-MZPF2QGM.cjs.map → chunk-RBS3GHDZ.cjs.map} +1 -1
  185. package/dist/{chunk-A2QVQF54.cjs → chunk-RDGRKYQ5.cjs} +31 -8
  186. package/dist/chunk-RDGRKYQ5.cjs.map +1 -0
  187. package/dist/{chunk-KJ5BSGEO.cjs → chunk-RS5VA6QU.cjs} +17 -13
  188. package/dist/chunk-RS5VA6QU.cjs.map +1 -0
  189. package/dist/{chunk-372IIHUA.cjs → chunk-RYQ3S3KO.cjs} +53 -53
  190. package/dist/{chunk-372IIHUA.cjs.map → chunk-RYQ3S3KO.cjs.map} +1 -1
  191. package/dist/{chunk-NQME7MCK.js → chunk-RZJXCI53.js} +191 -204
  192. package/dist/chunk-RZJXCI53.js.map +1 -0
  193. package/dist/{chunk-DFCZPVG4.cjs → chunk-S3MKIDYG.cjs} +8 -8
  194. package/dist/{chunk-DFCZPVG4.cjs.map → chunk-S3MKIDYG.cjs.map} +1 -1
  195. package/dist/chunk-S5RVSXDV.cjs +45 -0
  196. package/dist/chunk-S5RVSXDV.cjs.map +1 -0
  197. package/dist/{chunk-XDFDVF2O.js → chunk-SH6B4MG5.js} +4 -4
  198. package/dist/{chunk-XDFDVF2O.js.map → chunk-SH6B4MG5.js.map} +1 -1
  199. package/dist/chunk-SVSHA7XV.js +487 -0
  200. package/dist/chunk-SVSHA7XV.js.map +1 -0
  201. package/dist/{chunk-7VF6WO7H.cjs → chunk-SYIFEJSF.cjs} +310 -99
  202. package/dist/chunk-SYIFEJSF.cjs.map +1 -0
  203. package/dist/{chunk-KL2S36FM.js → chunk-TNUL4LGG.js} +6 -6
  204. package/dist/{chunk-KL2S36FM.js.map → chunk-TNUL4LGG.js.map} +1 -1
  205. package/dist/chunk-TQONQSJO.js +42 -0
  206. package/dist/chunk-TQONQSJO.js.map +1 -0
  207. package/dist/{chunk-6ZYE6JUK.cjs → chunk-TVLZZI5Q.cjs} +11 -11
  208. package/dist/{chunk-6ZYE6JUK.cjs.map → chunk-TVLZZI5Q.cjs.map} +1 -1
  209. package/dist/{chunk-FQ3UCZUX.cjs → chunk-U3JU6BI5.cjs} +7 -7
  210. package/dist/{chunk-FQ3UCZUX.cjs.map → chunk-U3JU6BI5.cjs.map} +1 -1
  211. package/dist/{chunk-VCO2IZOG.js → chunk-UA7E7PDS.js} +3 -3
  212. package/dist/{chunk-VCO2IZOG.js.map → chunk-UA7E7PDS.js.map} +1 -1
  213. package/dist/{chunk-BLPCYP4D.cjs → chunk-URHXR5SC.cjs} +29 -29
  214. package/dist/{chunk-BLPCYP4D.cjs.map → chunk-URHXR5SC.cjs.map} +1 -1
  215. package/dist/{chunk-OOYEHBYJ.js → chunk-UUI7WXI5.js} +142 -16
  216. package/dist/chunk-UUI7WXI5.js.map +1 -0
  217. package/dist/{chunk-UFYXU7KV.js → chunk-UZ5NGGMI.js} +4 -4
  218. package/dist/{chunk-UFYXU7KV.js.map → chunk-UZ5NGGMI.js.map} +1 -1
  219. package/dist/{chunk-SNEQXSC5.cjs → chunk-VA7QN4DX.cjs} +2 -2
  220. package/dist/{chunk-SNEQXSC5.cjs.map → chunk-VA7QN4DX.cjs.map} +1 -1
  221. package/dist/{chunk-STPK44AU.js → chunk-VNWJTCBQ.js} +3 -3
  222. package/dist/{chunk-STPK44AU.js.map → chunk-VNWJTCBQ.js.map} +1 -1
  223. package/dist/{chunk-ZNZZCB2M.cjs → chunk-VPIYTQCV.cjs} +9 -9
  224. package/dist/{chunk-ZNZZCB2M.cjs.map → chunk-VPIYTQCV.cjs.map} +1 -1
  225. package/dist/{chunk-DLNJLCNO.cjs → chunk-VTKXM7IE.cjs} +4 -4
  226. package/dist/{chunk-DLNJLCNO.cjs.map → chunk-VTKXM7IE.cjs.map} +1 -1
  227. package/dist/{chunk-VPNURIAY.cjs → chunk-VVI32P7L.cjs} +10 -10
  228. package/dist/{chunk-VPNURIAY.cjs.map → chunk-VVI32P7L.cjs.map} +1 -1
  229. package/dist/{chunk-EUUQVDXX.cjs → chunk-W4Q4UEXA.cjs} +14 -14
  230. package/dist/{chunk-EUUQVDXX.cjs.map → chunk-W4Q4UEXA.cjs.map} +1 -1
  231. package/dist/{chunk-U3ABLVYH.cjs → chunk-WUNWHOLA.cjs} +6 -6
  232. package/dist/{chunk-U3ABLVYH.cjs.map → chunk-WUNWHOLA.cjs.map} +1 -1
  233. package/dist/{chunk-RH43XBNV.cjs → chunk-WWJIW2IH.cjs} +4 -4
  234. package/dist/{chunk-RH43XBNV.cjs.map → chunk-WWJIW2IH.cjs.map} +1 -1
  235. package/dist/chunk-X4LBUPJO.cjs +511 -0
  236. package/dist/chunk-X4LBUPJO.cjs.map +1 -0
  237. package/dist/{chunk-4GXECTPS.cjs → chunk-XB54G7WS.cjs} +37 -3
  238. package/dist/chunk-XB54G7WS.cjs.map +1 -0
  239. package/dist/{chunk-IUFDGB5O.js → chunk-XMCIXHGH.js} +3 -3
  240. package/dist/{chunk-IUFDGB5O.js.map → chunk-XMCIXHGH.js.map} +1 -1
  241. package/dist/{chunk-KAKH2UZA.js → chunk-XO3WLK65.js} +3 -3
  242. package/dist/{chunk-KAKH2UZA.js.map → chunk-XO3WLK65.js.map} +1 -1
  243. package/dist/{chunk-IWDQPSJN.cjs → chunk-XS35KPBZ.cjs} +211 -223
  244. package/dist/chunk-XS35KPBZ.cjs.map +1 -0
  245. package/dist/{chunk-DEZ7XSTG.cjs → chunk-XXVUHLQN.cjs} +7 -7
  246. package/dist/{chunk-DEZ7XSTG.cjs.map → chunk-XXVUHLQN.cjs.map} +1 -1
  247. package/dist/{chunk-3GGET5LK.cjs → chunk-YGA35Z2P.cjs} +7 -7
  248. package/dist/{chunk-3GGET5LK.cjs.map → chunk-YGA35Z2P.cjs.map} +1 -1
  249. package/dist/{chunk-CKD554XR.cjs → chunk-YIXTGWT4.cjs} +5 -5
  250. package/dist/{chunk-CKD554XR.cjs.map → chunk-YIXTGWT4.cjs.map} +1 -1
  251. package/dist/{chunk-GOKC4CCZ.cjs → chunk-YMHOF6WA.cjs} +8 -8
  252. package/dist/{chunk-GOKC4CCZ.cjs.map → chunk-YMHOF6WA.cjs.map} +1 -1
  253. package/dist/{chunk-OXYFTCRW.cjs → chunk-YP5T6NZD.cjs} +4 -4
  254. package/dist/{chunk-OXYFTCRW.cjs.map → chunk-YP5T6NZD.cjs.map} +1 -1
  255. package/dist/{chunk-EL2RSQTJ.cjs → chunk-YVL3XATO.cjs} +5 -5
  256. package/dist/{chunk-EL2RSQTJ.cjs.map → chunk-YVL3XATO.cjs.map} +1 -1
  257. package/dist/{chunk-PVUDXJAI.js → chunk-YXCE2HSK.js} +4 -4
  258. package/dist/{chunk-PVUDXJAI.js.map → chunk-YXCE2HSK.js.map} +1 -1
  259. package/dist/{chunk-XL7TTKHP.js → chunk-Z4PECE5S.js} +7 -7
  260. package/dist/{chunk-XL7TTKHP.js.map → chunk-Z4PECE5S.js.map} +1 -1
  261. package/dist/{chunk-ST2RE5UB.cjs → chunk-Z5KFXHDP.cjs} +6 -6
  262. package/dist/{chunk-ST2RE5UB.cjs.map → chunk-Z5KFXHDP.cjs.map} +1 -1
  263. package/dist/{chunk-DAPZPT5N.cjs → chunk-ZBI52NP2.cjs} +13 -13
  264. package/dist/{chunk-DAPZPT5N.cjs.map → chunk-ZBI52NP2.cjs.map} +1 -1
  265. package/dist/{chunk-4Z6ZZKIY.js → chunk-ZIUADGAR.js} +3 -3
  266. package/dist/{chunk-4Z6ZZKIY.js.map → chunk-ZIUADGAR.js.map} +1 -1
  267. package/dist/{chunk-LOTMAKUG.cjs → chunk-ZZJ4ZVYR.cjs} +11 -11
  268. package/dist/{chunk-LOTMAKUG.cjs.map → chunk-ZZJ4ZVYR.cjs.map} +1 -1
  269. package/dist/collabKit-QZL4P5T5.js +48 -0
  270. package/dist/collabKit-QZL4P5T5.js.map +1 -0
  271. package/dist/collabKit-UF7E6V3N.cjs +72 -0
  272. package/dist/collabKit-UF7E6V3N.cjs.map +1 -0
  273. package/dist/components/Alert/index.cjs +6 -6
  274. package/dist/components/Alert/index.js +2 -2
  275. package/dist/components/AlertDialog/index.cjs +5 -5
  276. package/dist/components/AlertDialog/index.js +4 -4
  277. package/dist/components/AudioPlayer/index.cjs +7 -7
  278. package/dist/components/AudioPlayer/index.js +2 -2
  279. package/dist/components/AudioRecorder/index.cjs +7 -7
  280. package/dist/components/AudioRecorder/index.js +2 -2
  281. package/dist/components/Autocomplete/index.cjs +5 -5
  282. package/dist/components/Autocomplete/index.js +4 -4
  283. package/dist/components/Avatar/index.cjs +6 -6
  284. package/dist/components/Avatar/index.js +2 -2
  285. package/dist/components/Badge/index.cjs +4 -4
  286. package/dist/components/Badge/index.js +2 -2
  287. package/dist/components/Breadcrumb/index.cjs +4 -4
  288. package/dist/components/Breadcrumb/index.js +2 -2
  289. package/dist/components/Button/index.cjs +4 -4
  290. package/dist/components/Button/index.js +2 -2
  291. package/dist/components/Card/index.cjs +16 -16
  292. package/dist/components/Card/index.d.cts +8 -3
  293. package/dist/components/Card/index.d.ts +8 -3
  294. package/dist/components/Card/index.js +2 -2
  295. package/dist/components/Checkbox/index.cjs +5 -5
  296. package/dist/components/Checkbox/index.js +2 -2
  297. package/dist/components/CollabStatus/index.cjs +21 -0
  298. package/dist/components/CollabStatus/index.cjs.map +1 -0
  299. package/dist/components/CollabStatus/index.d.cts +222 -0
  300. package/dist/components/CollabStatus/index.d.ts +222 -0
  301. package/dist/components/CollabStatus/index.js +4 -0
  302. package/dist/components/CollabStatus/index.js.map +1 -0
  303. package/dist/components/Collapsible/index.cjs +5 -5
  304. package/dist/components/Collapsible/index.js +2 -2
  305. package/dist/components/CountryCodeDropdown/index.cjs +6 -6
  306. package/dist/components/CountryCodeDropdown/index.js +3 -3
  307. package/dist/components/DateInput/index.cjs +5 -5
  308. package/dist/components/DateInput/index.d.cts +3 -1
  309. package/dist/components/DateInput/index.d.ts +3 -1
  310. package/dist/components/DateInput/index.js +4 -4
  311. package/dist/components/Dropdown/index.cjs +10 -10
  312. package/dist/components/Dropdown/index.d.cts +1 -1
  313. package/dist/components/Dropdown/index.d.ts +1 -1
  314. package/dist/components/Dropdown/index.js +4 -4
  315. package/dist/components/FloatingWindow/index.cjs +5 -5
  316. package/dist/components/FloatingWindow/index.js +3 -3
  317. package/dist/components/Input/index.cjs +4 -4
  318. package/dist/components/Input/index.js +2 -2
  319. package/dist/components/Label/index.cjs +4 -4
  320. package/dist/components/Label/index.js +2 -2
  321. package/dist/components/Markdown/index.cjs +17 -17
  322. package/dist/components/Markdown/index.js +8 -8
  323. package/dist/components/MediaEditor/index.cjs +16 -16
  324. package/dist/components/MediaEditor/index.d.cts +34 -1
  325. package/dist/components/MediaEditor/index.d.ts +34 -1
  326. package/dist/components/MediaEditor/index.js +11 -11
  327. package/dist/components/MediaPlayer/index.cjs +6 -6
  328. package/dist/components/MediaPlayer/index.js +3 -3
  329. package/dist/components/Modal/index.cjs +10 -10
  330. package/dist/components/Modal/index.js +2 -2
  331. package/dist/components/Pagination/index.cjs +5 -5
  332. package/dist/components/Pagination/index.js +2 -2
  333. package/dist/components/PhoneInput/index.cjs +5 -5
  334. package/dist/components/PhoneInput/index.js +3 -3
  335. package/dist/components/Progress/index.cjs +7 -7
  336. package/dist/components/Progress/index.js +2 -2
  337. package/dist/components/QuickAction/index.cjs +7 -7
  338. package/dist/components/QuickAction/index.js +2 -2
  339. package/dist/components/Radio/index.cjs +5 -5
  340. package/dist/components/Radio/index.js +2 -2
  341. package/dist/components/RecordButton/index.cjs +5 -5
  342. package/dist/components/RecordButton/index.js +2 -2
  343. package/dist/components/RichTextEditor/index.cjs +10 -10
  344. package/dist/components/RichTextEditor/index.js +7 -7
  345. package/dist/components/SchedulePicker/index.cjs +11 -11
  346. package/dist/components/SchedulePicker/index.js +2 -2
  347. package/dist/components/ScrollArea/index.cjs +4 -4
  348. package/dist/components/ScrollArea/index.js +2 -2
  349. package/dist/components/Select/index.cjs +5 -5
  350. package/dist/components/Select/index.js +3 -3
  351. package/dist/components/Separator/index.cjs +4 -4
  352. package/dist/components/Separator/index.js +2 -2
  353. package/dist/components/Sheet/index.cjs +11 -11
  354. package/dist/components/Sheet/index.d.cts +1 -1
  355. package/dist/components/Sheet/index.d.ts +1 -1
  356. package/dist/components/Sheet/index.js +2 -2
  357. package/dist/components/Skeleton/index.cjs +7 -7
  358. package/dist/components/Skeleton/index.js +2 -2
  359. package/dist/components/Slider/index.cjs +6 -6
  360. package/dist/components/Slider/index.js +2 -2
  361. package/dist/components/Spinner/index.cjs +6 -6
  362. package/dist/components/Spinner/index.js +2 -2
  363. package/dist/components/SuperChat/index.cjs +46 -46
  364. package/dist/components/SuperChat/index.d.cts +4 -4
  365. package/dist/components/SuperChat/index.d.ts +4 -4
  366. package/dist/components/SuperChat/index.js +9 -9
  367. package/dist/components/SuperChat/plugins/index.cjs +10 -10
  368. package/dist/components/SuperChat/plugins/index.d.cts +3 -3
  369. package/dist/components/SuperChat/plugins/index.d.ts +3 -3
  370. package/dist/components/SuperChat/plugins/index.js +4 -4
  371. package/dist/components/Switch/index.cjs +5 -5
  372. package/dist/components/Switch/index.js +2 -2
  373. package/dist/components/Table/index.cjs +10 -10
  374. package/dist/components/Table/index.js +2 -2
  375. package/dist/components/Tabs/index.cjs +8 -8
  376. package/dist/components/Tabs/index.js +2 -2
  377. package/dist/components/Text/index.cjs +5 -5
  378. package/dist/components/Text/index.d.cts +1 -1
  379. package/dist/components/Text/index.d.ts +1 -1
  380. package/dist/components/Text/index.js +2 -2
  381. package/dist/components/Textarea/index.cjs +4 -4
  382. package/dist/components/Textarea/index.js +2 -2
  383. package/dist/components/ThemeProvider/index.cjs +9 -9
  384. package/dist/components/ThemeProvider/index.js +3 -3
  385. package/dist/components/Toggle/index.cjs +4 -4
  386. package/dist/components/Toggle/index.js +2 -2
  387. package/dist/components/Tooltip/index.cjs +3 -3
  388. package/dist/components/Tooltip/index.js +2 -2
  389. package/dist/datavis.cjs +7 -7
  390. package/dist/datavis.js +3 -3
  391. package/dist/esheet.cjs +18 -18
  392. package/dist/esheet.js +15 -15
  393. package/dist/hooks/index.cjs +34 -22
  394. package/dist/hooks/index.d.cts +31 -3
  395. package/dist/hooks/index.d.ts +31 -3
  396. package/dist/hooks/index.js +3 -3
  397. package/dist/index.cjs +3481 -1875
  398. package/dist/index.cjs.map +1 -1
  399. package/dist/index.d.cts +245 -22
  400. package/dist/index.d.ts +245 -22
  401. package/dist/index.js +976 -124
  402. package/dist/index.js.map +1 -1
  403. package/dist/kerebron.cjs +60 -17
  404. package/dist/kerebron.cjs.map +1 -1
  405. package/dist/kerebron.d.cts +39 -1
  406. package/dist/kerebron.d.ts +39 -1
  407. package/dist/kerebron.js +60 -17
  408. package/dist/kerebron.js.map +1 -1
  409. package/dist/styles.css +1 -1
  410. package/dist/tailwind-preset.cjs +4 -4
  411. package/dist/tailwind-preset.js +1 -1
  412. package/dist/{types-BYnLjEFg.d.ts → types-B2RLmdVd.d.cts} +3 -1
  413. package/dist/{types-BYnLjEFg.d.cts → types-B2RLmdVd.d.ts} +3 -1
  414. package/dist/{types-CyCwYBlr.d.ts → types-BoTeTPdH.d.ts} +1 -1
  415. package/dist/{types-CBh8Zlje.d.cts → types-DyIB9HYT.d.cts} +1 -1
  416. package/dist/{useAnchoredPosition-nXdSFKHf.d.cts → useAnchoredPosition-C7PNglzD.d.cts} +6 -2
  417. package/dist/{useAnchoredPosition-nXdSFKHf.d.ts → useAnchoredPosition-C7PNglzD.d.ts} +6 -2
  418. package/dist/{useTranscriptEdits-Hy0Vm-H8.d.cts → useTranscriptEdits-CGzlemHT.d.cts} +16 -3
  419. package/dist/{useTranscriptEdits-C2BbMU37.d.ts → useTranscriptEdits-D32bLs0l.d.ts} +16 -3
  420. package/dist/utils/index.cjs +15 -11
  421. package/dist/utils/index.d.cts +6 -1
  422. package/dist/utils/index.d.ts +6 -1
  423. package/dist/utils/index.js +2 -2
  424. package/package.json +30 -12
  425. package/dist/CsvBlock-2A5VEDD3.cjs +0 -15
  426. package/dist/CsvBlock-D6PWAJ5X.js +0 -6
  427. package/dist/HtmlPreviewBlock-PEHTJ6C3.js +0 -6
  428. package/dist/HtmlPreviewBlock-SYXCV5RH.cjs +0 -15
  429. package/dist/MermaidBlock-7NK3AVK2.js +0 -6
  430. package/dist/MermaidBlock-AFXNP5NK.cjs +0 -15
  431. package/dist/SurveyBlock-6KRNKFH5.cjs +0 -15
  432. package/dist/SurveyBlock-NNDGXGG4.js +0 -6
  433. package/dist/chunk-43GBCUSQ.js.map +0 -1
  434. package/dist/chunk-4GXECTPS.cjs.map +0 -1
  435. package/dist/chunk-4LVPQ44A.js.map +0 -1
  436. package/dist/chunk-5BQE6BEL.js.map +0 -1
  437. package/dist/chunk-6D5F7EDM.js.map +0 -1
  438. package/dist/chunk-7VF6WO7H.cjs.map +0 -1
  439. package/dist/chunk-A2QVQF54.cjs.map +0 -1
  440. package/dist/chunk-DHKYGVP7.js +0 -3
  441. package/dist/chunk-F3SOEIN2.js +0 -11
  442. package/dist/chunk-F3SOEIN2.js.map +0 -1
  443. package/dist/chunk-FCBQP2U4.cjs.map +0 -1
  444. package/dist/chunk-IHTRKWBG.js.map +0 -1
  445. package/dist/chunk-IWDQPSJN.cjs.map +0 -1
  446. package/dist/chunk-JLBT76WH.js.map +0 -1
  447. package/dist/chunk-KJ5BSGEO.cjs.map +0 -1
  448. package/dist/chunk-LJ2ZWIX6.js.map +0 -1
  449. package/dist/chunk-MCCO4A23.js.map +0 -1
  450. package/dist/chunk-NQME7MCK.js.map +0 -1
  451. package/dist/chunk-NVHAQOHH.cjs.map +0 -1
  452. package/dist/chunk-OOYEHBYJ.js.map +0 -1
  453. package/dist/chunk-OR5DRJCW.cjs +0 -13
  454. package/dist/chunk-OR5DRJCW.cjs.map +0 -1
  455. package/dist/chunk-PFWHWIXS.cjs.map +0 -1
  456. package/dist/chunk-PJAQDAMZ.cjs.map +0 -1
  457. package/dist/chunk-PWHK7SWN.cjs.map +0 -1
  458. package/dist/chunk-QA6ZDHFP.js.map +0 -1
  459. package/dist/chunk-QUUFKGDF.cjs.map +0 -1
  460. package/dist/chunk-UTYUT5YY.cjs +0 -240
  461. package/dist/chunk-ZDEYV373.cjs.map +0 -1
  462. package/dist/chunk-ZGSC2CB2.js.map +0 -1
  463. package/dist/chunk-ZHBANUBI.cjs.map +0 -1
  464. package/dist/chunk-ZVSW2KS6.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/SchedulePicker/SchedulePicker.tsx"],"names":["cva","React","jsxs","cn","jsx"],"mappings":"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","file":"chunk-Q2EWNXIB.cjs","sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\n// ============================================================================\n// Date Button Component\n// ============================================================================\n\nconst dateButtonVariants = cva(\n [\n 'flex-shrink-0 rounded-xl border px-3 py-2 text-center transition-colors',\n 'focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2',\n 'dark:focus:ring-offset-neutral-900',\n ],\n {\n variants: {\n selected: {\n true: 'border-primary-500 bg-primary-50 dark:bg-primary-900/20',\n false:\n 'border-neutral-200 hover:border-neutral-300 dark:border-neutral-700 dark:hover:border-neutral-600',\n },\n },\n defaultVariants: {\n selected: false,\n },\n }\n);\n\nexport interface DateButtonProps\n extends\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof dateButtonVariants> {\n /** The date to display */\n date: Date;\n}\n\n/**\n * A button for selecting a date in the schedule picker.\n */\nconst DateButton = React.forwardRef<HTMLButtonElement, DateButtonProps>(\n ({ className, date, selected, ...props }, ref) => {\n return (\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"schedule-date-btn\"\n className={cn(dateButtonVariants({ selected }), className)}\n {...props}\n >\n <div\n data-slot=\"schedule-date-weekday\"\n className=\"text-muted-foreground text-xs\"\n >\n {date.toLocaleDateString('en-US', { weekday: 'short' })}\n </div>\n <div\n data-slot=\"schedule-date-day\"\n className=\"text-lg font-semibold text-neutral-900 dark:text-white\"\n >\n {date.getDate()}\n </div>\n <div\n data-slot=\"schedule-date-month\"\n className=\"text-muted-foreground text-xs\"\n >\n {date.toLocaleDateString('en-US', { month: 'short' })}\n </div>\n </button>\n );\n }\n);\n\nDateButton.displayName = 'DateButton';\n\n// ============================================================================\n// Time Button Component\n// ============================================================================\n\nconst timeButtonVariants = cva(\n [\n 'rounded-xl border px-2 py-2 text-sm transition-colors',\n 'focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2',\n 'dark:focus:ring-offset-neutral-900',\n ],\n {\n variants: {\n selected: {\n true: 'border-primary-500 bg-primary-50 dark:bg-primary-900/20',\n false:\n 'border-neutral-200 hover:border-neutral-300 dark:border-neutral-700 dark:hover:border-neutral-600',\n },\n },\n defaultVariants: {\n selected: false,\n },\n }\n);\n\nexport interface TimeButtonProps\n extends\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof timeButtonVariants> {\n /** The time string to display (e.g., \"8:00 AM\") */\n time: string;\n}\n\n/**\n * A button for selecting a time in the schedule picker.\n */\nconst TimeButton = React.forwardRef<HTMLButtonElement, TimeButtonProps>(\n ({ className, time, selected, ...props }, ref) => {\n return (\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"schedule-time-btn\"\n className={cn(timeButtonVariants({ selected }), className)}\n {...props}\n >\n {time}\n </button>\n );\n }\n);\n\nTimeButton.displayName = 'TimeButton';\n\n// ============================================================================\n// Radio Option Component\n// ============================================================================\n\nconst radioOptionVariants = cva(\n [\n 'cursor-pointer rounded-xl border bg-card p-4 transition-all',\n 'focus-within:outline-none focus-within:ring-2 focus-within:ring-primary-500',\n ],\n {\n variants: {\n selected: {\n true: 'border-2 border-primary-500 ring-2 ring-primary-200 dark:ring-primary-800',\n false: 'border-border',\n },\n },\n defaultVariants: {\n selected: false,\n },\n }\n);\n\nexport interface RadioOptionProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, 'title'>,\n VariantProps<typeof radioOptionVariants> {\n /** Title text for the option */\n title: React.ReactNode;\n /** Description text for the option */\n description?: React.ReactNode;\n /** Whether this option is selected */\n selected?: boolean;\n}\n\n/**\n * A radio-style option card component.\n */\nconst RadioOption = React.forwardRef<HTMLDivElement, RadioOptionProps>(\n (\n { className, title, description, selected, children, onClick, ...props },\n ref\n ) => {\n return (\n <div\n ref={ref}\n data-slot=\"schedule-radio\"\n className={cn(radioOptionVariants({ selected }), className)}\n onClick={onClick}\n role=\"button\"\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onClick?.(e as unknown as React.MouseEvent<HTMLDivElement>);\n }\n }}\n {...props}\n >\n <div className=\"flex items-center gap-3\">\n <div\n data-slot=\"schedule-radio-indicator\"\n className={cn(\n 'flex h-5 w-5 items-center justify-center rounded-full border-2',\n selected\n ? 'border-primary-500 bg-primary-800'\n : 'border-neutral-300'\n )}\n >\n {selected && (\n <div\n data-slot=\"schedule-radio-dot\"\n className=\"h-2 w-2 rounded-full bg-white\"\n />\n )}\n </div>\n <div>\n <div\n data-slot=\"schedule-radio-title\"\n className=\"font-medium text-neutral-900 dark:text-white\"\n >\n {title}\n </div>\n {description && (\n <div\n data-slot=\"schedule-radio-desc\"\n className=\"text-muted-foreground text-sm\"\n >\n {description}\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n }\n);\n\nRadioOption.displayName = 'RadioOption';\n\n// ============================================================================\n// Date Picker Component\n// ============================================================================\n\nexport interface DatePickerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Array of available dates to display */\n dates: Date[];\n /** Currently selected date */\n selectedDate?: Date | null;\n /** Callback when a date is selected */\n onDateSelect?: (date: Date) => void;\n /** Label text above the date picker */\n label?: string;\n}\n\n/**\n * A horizontal scrollable date picker component.\n */\nconst DatePicker = React.forwardRef<HTMLDivElement, DatePickerProps>(\n (\n {\n className,\n dates,\n selectedDate,\n onDateSelect,\n label = 'Select Date',\n ...props\n },\n ref\n ) => {\n return (\n <div\n ref={ref}\n data-slot=\"schedule-date-picker\"\n className={className}\n {...props}\n >\n <label\n data-slot=\"schedule-date-label\"\n className=\"mb-2 block text-sm font-medium text-neutral-700 dark:text-neutral-300\"\n >\n {label}\n </label>\n {/* Negative margin + padding allows focus ring to render without clipping */}\n <div\n data-slot=\"schedule-date-list\"\n className=\"-m-1 flex gap-2 overflow-x-auto p-1\"\n >\n {dates.map((date, index) => (\n <DateButton\n key={index}\n date={date}\n selected={selectedDate?.toDateString() === date.toDateString()}\n onClick={(e) => {\n e.stopPropagation();\n onDateSelect?.(date);\n }}\n />\n ))}\n </div>\n </div>\n );\n }\n);\n\nDatePicker.displayName = 'DatePicker';\n\n// ============================================================================\n// Time Picker Component\n// ============================================================================\n\nexport interface TimePickerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Array of available time strings (e.g., [\"8:00 AM\", \"8:30 AM\"]) */\n times: string[];\n /** Currently selected time string */\n selectedTime?: string | null;\n /** Callback when a time is selected */\n onTimeSelect?: (time: string) => void;\n /** Label text above the time picker */\n label?: string;\n /** Number of columns for the time grid */\n columns?: 4 | 6;\n}\n\n/**\n * A grid-based time picker component.\n */\nconst TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n className,\n times,\n selectedTime,\n onTimeSelect,\n label = 'Select Time',\n columns = 6,\n ...props\n },\n ref\n ) => {\n return (\n <div\n ref={ref}\n data-slot=\"schedule-time-picker\"\n className={className}\n {...props}\n >\n <label\n data-slot=\"schedule-time-label\"\n className=\"mb-2 block text-sm font-medium text-neutral-700 dark:text-neutral-300\"\n >\n {label}\n </label>\n {/* Negative margin + padding allows focus ring to render without clipping */}\n <div\n data-slot=\"schedule-time-grid\"\n className={cn(\n '-m-1 grid gap-2 p-1',\n columns === 4 ? 'grid-cols-4' : 'grid-cols-4 sm:grid-cols-6'\n )}\n >\n {times.map((time) => (\n <TimeButton\n key={time}\n time={time}\n selected={selectedTime === time}\n onClick={(e) => {\n e.stopPropagation();\n onTimeSelect?.(time);\n }}\n />\n ))}\n </div>\n </div>\n );\n }\n);\n\nTimePicker.displayName = 'TimePicker';\n\n// ============================================================================\n// Schedule Picker Component (Composite)\n// ============================================================================\n\nexport interface SchedulePickerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Array of available dates to display */\n dates: Date[];\n /** Array of available time strings */\n times: string[];\n /** Currently selected date */\n selectedDate?: Date | null;\n /** Currently selected time */\n selectedTime?: string | null;\n /** Callback when a date is selected */\n onDateSelect?: (date: Date) => void;\n /** Callback when a time is selected */\n onTimeSelect?: (time: string) => void;\n /** Label for the date picker */\n dateLabel?: string;\n /** Label for the time picker */\n timeLabel?: string;\n /** Number of columns for time grid */\n timeColumns?: 4 | 6;\n /** Whether to show time picker (hidden until date is selected) */\n showTimePicker?: boolean;\n}\n\n/**\n * A complete schedule picker with date and time selection.\n *\n * @example\n * ```tsx\n * <SchedulePicker\n * dates={availableDates}\n * times={availableTimes}\n * selectedDate={selectedDate}\n * selectedTime={selectedTime}\n * onDateSelect={setSelectedDate}\n * onTimeSelect={setSelectedTime}\n * />\n * ```\n */\nconst SchedulePicker = React.forwardRef<HTMLDivElement, SchedulePickerProps>(\n (\n {\n className,\n dates,\n times,\n selectedDate,\n selectedTime,\n onDateSelect,\n onTimeSelect,\n dateLabel = 'Select Date',\n timeLabel = 'Select Time',\n timeColumns = 6,\n showTimePicker = true,\n ...props\n },\n ref\n ) => {\n return (\n <div\n ref={ref}\n data-slot=\"schedule-picker\"\n className={cn('space-y-4', className)}\n {...props}\n >\n <DatePicker\n dates={dates}\n selectedDate={selectedDate}\n onDateSelect={onDateSelect}\n label={dateLabel}\n />\n {showTimePicker && selectedDate && (\n <TimePicker\n times={times}\n selectedTime={selectedTime}\n onTimeSelect={onTimeSelect}\n label={timeLabel}\n columns={timeColumns}\n />\n )}\n </div>\n );\n }\n);\n\nSchedulePicker.displayName = 'SchedulePicker';\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport {\n DateButton,\n TimeButton,\n RadioOption,\n DatePicker,\n TimePicker,\n SchedulePicker,\n dateButtonVariants,\n timeButtonVariants,\n radioOptionVariants,\n};\n"]}
1
+ {"version":3,"sources":["../src/components/SchedulePicker/SchedulePicker.tsx"],"names":["cva","React","jsxs","cn","jsx"],"mappings":"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","file":"chunk-3SZQRMHM.cjs","sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\n// ============================================================================\n// Date Button Component\n// ============================================================================\n\nconst dateButtonVariants = cva(\n [\n 'flex-shrink-0 rounded-xl border px-3 py-2 text-center transition-colors',\n 'focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2',\n 'dark:focus:ring-offset-neutral-900',\n ],\n {\n variants: {\n selected: {\n true: 'border-primary-500 bg-primary-50 dark:bg-primary-900/20',\n false:\n 'border-neutral-200 hover:border-neutral-300 dark:border-neutral-700 dark:hover:border-neutral-600',\n },\n },\n defaultVariants: {\n selected: false,\n },\n }\n);\n\nexport interface DateButtonProps\n extends\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof dateButtonVariants> {\n /** The date to display */\n date: Date;\n}\n\n/**\n * A button for selecting a date in the schedule picker.\n */\nconst DateButton = React.forwardRef<HTMLButtonElement, DateButtonProps>(\n ({ className, date, selected, ...props }, ref) => {\n return (\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"schedule-date-btn\"\n className={cn(dateButtonVariants({ selected }), className)}\n {...props}\n >\n <div\n data-slot=\"schedule-date-weekday\"\n className=\"text-muted-foreground text-xs\"\n >\n {date.toLocaleDateString('en-US', { weekday: 'short' })}\n </div>\n <div\n data-slot=\"schedule-date-day\"\n className=\"text-lg font-semibold text-neutral-900 dark:text-white\"\n >\n {date.getDate()}\n </div>\n <div\n data-slot=\"schedule-date-month\"\n className=\"text-muted-foreground text-xs\"\n >\n {date.toLocaleDateString('en-US', { month: 'short' })}\n </div>\n </button>\n );\n }\n);\n\nDateButton.displayName = 'DateButton';\n\n// ============================================================================\n// Time Button Component\n// ============================================================================\n\nconst timeButtonVariants = cva(\n [\n 'rounded-xl border px-2 py-2 text-sm transition-colors',\n 'focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2',\n 'dark:focus:ring-offset-neutral-900',\n ],\n {\n variants: {\n selected: {\n true: 'border-primary-500 bg-primary-50 dark:bg-primary-900/20',\n false:\n 'border-neutral-200 hover:border-neutral-300 dark:border-neutral-700 dark:hover:border-neutral-600',\n },\n },\n defaultVariants: {\n selected: false,\n },\n }\n);\n\nexport interface TimeButtonProps\n extends\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof timeButtonVariants> {\n /** The time string to display (e.g., \"8:00 AM\") */\n time: string;\n}\n\n/**\n * A button for selecting a time in the schedule picker.\n */\nconst TimeButton = React.forwardRef<HTMLButtonElement, TimeButtonProps>(\n ({ className, time, selected, ...props }, ref) => {\n return (\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"schedule-time-btn\"\n className={cn(timeButtonVariants({ selected }), className)}\n {...props}\n >\n {time}\n </button>\n );\n }\n);\n\nTimeButton.displayName = 'TimeButton';\n\n// ============================================================================\n// Radio Option Component\n// ============================================================================\n\nconst radioOptionVariants = cva(\n [\n 'cursor-pointer rounded-xl border bg-card p-4 transition-all',\n 'focus-within:outline-none focus-within:ring-2 focus-within:ring-primary-500',\n ],\n {\n variants: {\n selected: {\n true: 'border-2 border-primary-500 ring-2 ring-primary-200 dark:ring-primary-800',\n false: 'border-border',\n },\n },\n defaultVariants: {\n selected: false,\n },\n }\n);\n\nexport interface RadioOptionProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, 'title'>,\n VariantProps<typeof radioOptionVariants> {\n /** Title text for the option */\n title: React.ReactNode;\n /** Description text for the option */\n description?: React.ReactNode;\n /** Whether this option is selected */\n selected?: boolean;\n}\n\n/**\n * A radio-style option card component.\n */\nconst RadioOption = React.forwardRef<HTMLDivElement, RadioOptionProps>(\n (\n { className, title, description, selected, children, onClick, ...props },\n ref\n ) => {\n return (\n <div\n ref={ref}\n data-slot=\"schedule-radio\"\n className={cn(radioOptionVariants({ selected }), className)}\n onClick={onClick}\n role=\"button\"\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onClick?.(e as unknown as React.MouseEvent<HTMLDivElement>);\n }\n }}\n {...props}\n >\n <div className=\"flex items-center gap-3\">\n <div\n data-slot=\"schedule-radio-indicator\"\n className={cn(\n 'flex h-5 w-5 items-center justify-center rounded-full border-2',\n selected\n ? 'border-primary-500 bg-primary-800'\n : 'border-neutral-300'\n )}\n >\n {selected && (\n <div\n data-slot=\"schedule-radio-dot\"\n className=\"h-2 w-2 rounded-full bg-white\"\n />\n )}\n </div>\n <div>\n <div\n data-slot=\"schedule-radio-title\"\n className=\"font-medium text-neutral-900 dark:text-white\"\n >\n {title}\n </div>\n {description && (\n <div\n data-slot=\"schedule-radio-desc\"\n className=\"text-muted-foreground text-sm\"\n >\n {description}\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n }\n);\n\nRadioOption.displayName = 'RadioOption';\n\n// ============================================================================\n// Date Picker Component\n// ============================================================================\n\nexport interface DatePickerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Array of available dates to display */\n dates: Date[];\n /** Currently selected date */\n selectedDate?: Date | null;\n /** Callback when a date is selected */\n onDateSelect?: (date: Date) => void;\n /** Label text above the date picker */\n label?: string;\n}\n\n/**\n * A horizontal scrollable date picker component.\n */\nconst DatePicker = React.forwardRef<HTMLDivElement, DatePickerProps>(\n (\n {\n className,\n dates,\n selectedDate,\n onDateSelect,\n label = 'Select Date',\n ...props\n },\n ref\n ) => {\n return (\n <div\n ref={ref}\n data-slot=\"schedule-date-picker\"\n className={className}\n {...props}\n >\n <label\n data-slot=\"schedule-date-label\"\n className=\"mb-2 block text-sm font-medium text-neutral-700 dark:text-neutral-300\"\n >\n {label}\n </label>\n {/* Negative margin + padding allows focus ring to render without clipping */}\n <div\n data-slot=\"schedule-date-list\"\n className=\"-m-1 flex gap-2 overflow-x-auto p-1\"\n >\n {dates.map((date, index) => (\n <DateButton\n key={index}\n date={date}\n selected={selectedDate?.toDateString() === date.toDateString()}\n onClick={(e) => {\n e.stopPropagation();\n onDateSelect?.(date);\n }}\n />\n ))}\n </div>\n </div>\n );\n }\n);\n\nDatePicker.displayName = 'DatePicker';\n\n// ============================================================================\n// Time Picker Component\n// ============================================================================\n\nexport interface TimePickerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Array of available time strings (e.g., [\"8:00 AM\", \"8:30 AM\"]) */\n times: string[];\n /** Currently selected time string */\n selectedTime?: string | null;\n /** Callback when a time is selected */\n onTimeSelect?: (time: string) => void;\n /** Label text above the time picker */\n label?: string;\n /** Number of columns for the time grid */\n columns?: 4 | 6;\n}\n\n/**\n * A grid-based time picker component.\n */\nconst TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n className,\n times,\n selectedTime,\n onTimeSelect,\n label = 'Select Time',\n columns = 6,\n ...props\n },\n ref\n ) => {\n return (\n <div\n ref={ref}\n data-slot=\"schedule-time-picker\"\n className={className}\n {...props}\n >\n <label\n data-slot=\"schedule-time-label\"\n className=\"mb-2 block text-sm font-medium text-neutral-700 dark:text-neutral-300\"\n >\n {label}\n </label>\n {/* Negative margin + padding allows focus ring to render without clipping */}\n <div\n data-slot=\"schedule-time-grid\"\n className={cn(\n '-m-1 grid gap-2 p-1',\n columns === 4 ? 'grid-cols-4' : 'grid-cols-4 sm:grid-cols-6'\n )}\n >\n {times.map((time) => (\n <TimeButton\n key={time}\n time={time}\n selected={selectedTime === time}\n onClick={(e) => {\n e.stopPropagation();\n onTimeSelect?.(time);\n }}\n />\n ))}\n </div>\n </div>\n );\n }\n);\n\nTimePicker.displayName = 'TimePicker';\n\n// ============================================================================\n// Schedule Picker Component (Composite)\n// ============================================================================\n\nexport interface SchedulePickerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Array of available dates to display */\n dates: Date[];\n /** Array of available time strings */\n times: string[];\n /** Currently selected date */\n selectedDate?: Date | null;\n /** Currently selected time */\n selectedTime?: string | null;\n /** Callback when a date is selected */\n onDateSelect?: (date: Date) => void;\n /** Callback when a time is selected */\n onTimeSelect?: (time: string) => void;\n /** Label for the date picker */\n dateLabel?: string;\n /** Label for the time picker */\n timeLabel?: string;\n /** Number of columns for time grid */\n timeColumns?: 4 | 6;\n /** Whether to show time picker (hidden until date is selected) */\n showTimePicker?: boolean;\n}\n\n/**\n * A complete schedule picker with date and time selection.\n *\n * @example\n * ```tsx\n * <SchedulePicker\n * dates={availableDates}\n * times={availableTimes}\n * selectedDate={selectedDate}\n * selectedTime={selectedTime}\n * onDateSelect={setSelectedDate}\n * onTimeSelect={setSelectedTime}\n * />\n * ```\n */\nconst SchedulePicker = React.forwardRef<HTMLDivElement, SchedulePickerProps>(\n (\n {\n className,\n dates,\n times,\n selectedDate,\n selectedTime,\n onDateSelect,\n onTimeSelect,\n dateLabel = 'Select Date',\n timeLabel = 'Select Time',\n timeColumns = 6,\n showTimePicker = true,\n ...props\n },\n ref\n ) => {\n return (\n <div\n ref={ref}\n data-slot=\"schedule-picker\"\n className={cn('space-y-4', className)}\n {...props}\n >\n <DatePicker\n dates={dates}\n selectedDate={selectedDate}\n onDateSelect={onDateSelect}\n label={dateLabel}\n />\n {showTimePicker && selectedDate && (\n <TimePicker\n times={times}\n selectedTime={selectedTime}\n onTimeSelect={onTimeSelect}\n label={timeLabel}\n columns={timeColumns}\n />\n )}\n </div>\n );\n }\n);\n\nSchedulePicker.displayName = 'SchedulePicker';\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport {\n DateButton,\n TimeButton,\n RadioOption,\n DatePicker,\n TimePicker,\n SchedulePicker,\n dateButtonVariants,\n timeButtonVariants,\n radioOptionVariants,\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-F3SOEIN2.js';
1
+ import { cn } from './chunk-TQONQSJO.js';
2
2
  import * as React from 'react';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -29,9 +29,18 @@ var textVariants = cva("", {
29
29
  bold: "font-bold"
30
30
  },
31
31
  align: {
32
- left: "text-left",
32
+ /**
33
+ * Alignment is direction-aware (logical): `left`/`start` align to the
34
+ * reading start and `right`/`end` to the reading end, so layouts mirror
35
+ * correctly in RTL. Prefer `start`/`end`; `left`/`right` are kept as
36
+ * aliases. For physical alignment regardless of direction, pass the
37
+ * physical Tailwind alignment utility via `className` instead.
38
+ */
39
+ left: "text-start",
40
+ start: "text-start",
33
41
  center: "text-center",
34
- right: "text-right"
42
+ right: "text-end",
43
+ end: "text-end"
35
44
  }
36
45
  },
37
46
  defaultVariants: {
@@ -71,5 +80,5 @@ var SmallMuted = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__
71
80
  SmallMuted.displayName = "SmallMuted";
72
81
 
73
82
  export { SmallMuted, Text, textVariants };
74
- //# sourceMappingURL=chunk-JLBT76WH.js.map
75
- //# sourceMappingURL=chunk-JLBT76WH.js.map
83
+ //# sourceMappingURL=chunk-3YSIZ2CK.js.map
84
+ //# sourceMappingURL=chunk-3YSIZ2CK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Text/Text.tsx"],"names":[],"mappings":";;;;;AAIA,IAAM,YAAA,GAAe,IAAI,EAAA,EAAI;AAAA,EAC3B,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,iBAAA;AAAA,MACT,KAAA,EAAO,uBAAA;AAAA,MACP,OAAA,EAAS,wCAAA;AAAA,MACT,WAAA,EAAa,kBAAA;AAAA,MACb,OAAA,EAAS,wCAAA;AAAA,MACT,OAAA,EAAS;AAAA,KACX;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,SAAA;AAAA,MACJ,EAAA,EAAI,SAAA;AAAA,MACJ,IAAA,EAAM,WAAA;AAAA,MACN,EAAA,EAAI,SAAA;AAAA,MACJ,EAAA,EAAI,SAAA;AAAA,MACJ,KAAA,EAAO,UAAA;AAAA,MACP,KAAA,EAAO;AAAA,KACT;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,MAAA,EAAQ,aAAA;AAAA,MACR,MAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAU,eAAA;AAAA,MACV,IAAA,EAAM;AAAA,KACR;AAAA,IACA,KAAA,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQL,IAAA,EAAM,YAAA;AAAA,MACN,KAAA,EAAO,YAAA;AAAA,MACP,MAAA,EAAQ,aAAA;AAAA,MACR,KAAA,EAAO,UAAA;AAAA,MACP,GAAA,EAAK;AAAA;AACP,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS,SAAA;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO;AAAA;AAEX,CAAC;AAgCD,IAAM,IAAA,GAAa,KAAA,CAAA,UAAA;AAAA,EACjB,CACE;AAAA,IACE,SAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAI,SAAA,GAAY,GAAA;AAAA,IAChB,QAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,uBACE,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QAEC,GAAA;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,aAAa,EAAE,OAAA,EAAS,IAAA,EAAM,MAAA,EAAQ,OAAO,CAAA;AAAA,UAC7C,QAAA,IAAY,UAAA;AAAA,UACZ;AAAA,SACF;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAEA,IAAA,CAAK,WAAA,GAAc,MAAA;AAMnB,IAAM,aAAmB,KAAA,CAAA,UAAA,CAGvB,CAAC,EAAE,SAAA,EAAW,GAAG,OAAM,EAAG,GAAA,yBACzB,IAAA,EAAA,EAAK,GAAA,EAAU,SAAQ,OAAA,EAAQ,IAAA,EAAK,MAAK,SAAA,EAAuB,GAAG,OAAO,CAC5E;AAED,UAAA,CAAW,WAAA,GAAc,YAAA","file":"chunk-3YSIZ2CK.js","sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\nconst textVariants = cva('', {\n variants: {\n variant: {\n default: 'text-foreground',\n muted: 'text-muted-foreground',\n primary: 'text-primary-800 dark:text-primary-400',\n destructive: 'text-destructive',\n success: 'text-success-700 dark:text-success-400',\n warning: 'text-warning-700 dark:text-warning-400',\n },\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n base: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl',\n '2xl': 'text-2xl',\n '3xl': 'text-3xl',\n },\n weight: {\n normal: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n },\n align: {\n /**\n * Alignment is direction-aware (logical): `left`/`start` align to the\n * reading start and `right`/`end` to the reading end, so layouts mirror\n * correctly in RTL. Prefer `start`/`end`; `left`/`right` are kept as\n * aliases. For physical alignment regardless of direction, pass the\n * physical Tailwind alignment utility via `className` instead.\n */\n left: 'text-start',\n start: 'text-start',\n center: 'text-center',\n right: 'text-end',\n end: 'text-end',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'base',\n weight: 'normal',\n align: 'left',\n },\n});\n\ntype TextElement =\n | 'p'\n | 'span'\n | 'div'\n | 'label'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6';\n\nexport interface TextProps\n extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof textVariants> {\n /** HTML element to render as */\n as?: TextElement;\n /** Truncate text with ellipsis */\n truncate?: boolean;\n}\n\n/**\n * A flexible text component for consistent typography.\n *\n * @example\n * ```tsx\n * <Text variant=\"muted\" size=\"sm\">Helper text</Text>\n * <Text as=\"h1\" size=\"3xl\" weight=\"bold\">Page Title</Text>\n * <Text variant=\"destructive\">Error message</Text>\n * ```\n */\nconst Text = React.forwardRef<HTMLElement, TextProps>(\n (\n {\n className,\n variant,\n size,\n weight,\n align,\n as: Component = 'p',\n truncate,\n ...props\n },\n ref\n ) => {\n return (\n <Component\n // @ts-expect-error - ref type is complex due to polymorphic component\n ref={ref}\n className={cn(\n textVariants({ variant, size, weight, align }),\n truncate && 'truncate',\n className\n )}\n {...props}\n />\n );\n }\n);\n\nText.displayName = 'Text';\n\n/**\n * Small muted text, useful for helper text and descriptions.\n * This is a convenience component equivalent to <Text variant=\"muted\" size=\"sm\">\n */\nconst SmallMuted = React.forwardRef<\n HTMLElement,\n Omit<TextProps, 'variant' | 'size'>\n>(({ className, ...props }, ref) => (\n <Text ref={ref} variant=\"muted\" size=\"sm\" className={className} {...props} />\n));\n\nSmallMuted.displayName = 'SmallMuted';\n\nexport { Text, SmallMuted, textVariants };\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkOR5DRJCW_cjs = require('./chunk-OR5DRJCW.cjs');
3
+ var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
4
4
  var React = require('react');
5
5
  var classVarianceAuthority = require('class-variance-authority');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -106,7 +106,7 @@ function Pagination({
106
106
  "data-slot": "pagination",
107
107
  role: "navigation",
108
108
  "aria-label": label || "Pagination",
109
- className: chunkOR5DRJCW_cjs.cn("flex items-center gap-1", className),
109
+ className: chunkS5RVSXDV_cjs.cn("flex items-center gap-1", className),
110
110
  children: [
111
111
  showFirstLast && /* @__PURE__ */ jsxRuntime.jsxs(
112
112
  "button",
@@ -116,7 +116,7 @@ function Pagination({
116
116
  onClick: () => onPageChange(1),
117
117
  disabled: !canGoPrev,
118
118
  "aria-label": labels?.first || "Go to first page",
119
- className: chunkOR5DRJCW_cjs.cn(paginationButtonVariants({ variant, size })),
119
+ className: chunkS5RVSXDV_cjs.cn(paginationButtonVariants({ variant, size })),
120
120
  children: [
121
121
  /* @__PURE__ */ jsxRuntime.jsx(ChevronsLeftIcon, { className: "h-4 w-4" }),
122
122
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: labels?.first || "First" })
@@ -131,7 +131,7 @@ function Pagination({
131
131
  onClick: () => onPageChange(page - 1),
132
132
  disabled: !canGoPrev,
133
133
  "aria-label": labels?.previous || "Go to previous page",
134
- className: chunkOR5DRJCW_cjs.cn(paginationButtonVariants({ variant, size })),
134
+ className: chunkS5RVSXDV_cjs.cn(paginationButtonVariants({ variant, size })),
135
135
  children: [
136
136
  /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { className: "h-4 w-4" }),
137
137
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only sm:not-sr-only", children: labels?.previous || "Previous" })
@@ -144,7 +144,7 @@ function Pagination({
144
144
  "span",
145
145
  {
146
146
  "data-slot": "pagination-ellipsis",
147
- className: chunkOR5DRJCW_cjs.cn(
147
+ className: chunkS5RVSXDV_cjs.cn(
148
148
  paginationButtonVariants({ variant, size }),
149
149
  "cursor-default hover:bg-transparent"
150
150
  ),
@@ -163,7 +163,7 @@ function Pagination({
163
163
  "aria-label": `Go to page ${item}`,
164
164
  "aria-current": item === page ? "page" : void 0,
165
165
  "data-active": item === page,
166
- className: chunkOR5DRJCW_cjs.cn(paginationButtonVariants({ variant, size })),
166
+ className: chunkS5RVSXDV_cjs.cn(paginationButtonVariants({ variant, size })),
167
167
  children: item
168
168
  },
169
169
  item
@@ -177,7 +177,7 @@ function Pagination({
177
177
  onClick: () => onPageChange(page + 1),
178
178
  disabled: !canGoNext,
179
179
  "aria-label": labels?.next || "Go to next page",
180
- className: chunkOR5DRJCW_cjs.cn(paginationButtonVariants({ variant, size })),
180
+ className: chunkS5RVSXDV_cjs.cn(paginationButtonVariants({ variant, size })),
181
181
  children: [
182
182
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only sm:not-sr-only", children: labels?.next || "Next" }),
183
183
  /* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon, { className: "h-4 w-4" })
@@ -192,7 +192,7 @@ function Pagination({
192
192
  onClick: () => onPageChange(totalPages),
193
193
  disabled: !canGoNext,
194
194
  "aria-label": labels?.last || "Go to last page",
195
- className: chunkOR5DRJCW_cjs.cn(paginationButtonVariants({ variant, size })),
195
+ className: chunkS5RVSXDV_cjs.cn(paginationButtonVariants({ variant, size })),
196
196
  children: [
197
197
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: labels?.last || "Last" }),
198
198
  /* @__PURE__ */ jsxRuntime.jsx(ChevronsRightIcon, { className: "h-4 w-4" })
@@ -222,7 +222,7 @@ function SimplePagination({
222
222
  "data-slot": "simple-pagination",
223
223
  role: "navigation",
224
224
  "aria-label": label || "Pagination",
225
- className: chunkOR5DRJCW_cjs.cn("flex items-center gap-2", className),
225
+ className: chunkS5RVSXDV_cjs.cn("flex items-center gap-2", className),
226
226
  children: [
227
227
  /* @__PURE__ */ jsxRuntime.jsxs(
228
228
  "button",
@@ -232,7 +232,7 @@ function SimplePagination({
232
232
  onClick: () => onPageChange(page - 1),
233
233
  disabled: !canGoPrev,
234
234
  "aria-label": "Go to previous page",
235
- className: chunkOR5DRJCW_cjs.cn(paginationButtonVariants({ variant, size })),
235
+ className: chunkS5RVSXDV_cjs.cn(paginationButtonVariants({ variant, size })),
236
236
  children: [
237
237
  /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { className: "h-4 w-4" }),
238
238
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Previous" })
@@ -260,7 +260,7 @@ function SimplePagination({
260
260
  onClick: () => onPageChange(page + 1),
261
261
  disabled: !canGoNext,
262
262
  "aria-label": "Go to next page",
263
- className: chunkOR5DRJCW_cjs.cn(paginationButtonVariants({ variant, size })),
263
+ className: chunkS5RVSXDV_cjs.cn(paginationButtonVariants({ variant, size })),
264
264
  children: [
265
265
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Next" }),
266
266
  /* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon, { className: "h-4 w-4" })
@@ -358,5 +358,5 @@ function ChevronsRightIcon({ className }) {
358
358
  exports.Pagination = Pagination;
359
359
  exports.SimplePagination = SimplePagination;
360
360
  exports.paginationButtonVariants = paginationButtonVariants;
361
- //# sourceMappingURL=chunk-NIEIRA5A.cjs.map
362
- //# sourceMappingURL=chunk-NIEIRA5A.cjs.map
361
+ //# sourceMappingURL=chunk-4AE2L6AO.cjs.map
362
+ //# sourceMappingURL=chunk-4AE2L6AO.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Pagination/Pagination.tsx"],"names":["cva","React","jsxs","cn","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAM,wBAAA,GAA2BA,0BAAA;AAAA,EAC/B;AAAA,IACE,yCAAA;AAAA,IACA,4CAAA;AAAA,IACA,yEAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS;AAAA,UACP,4DAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,OAAA,EAAS;AAAA,UACP,4CAAA;AAAA,UACA,sCAAA;AAAA,UACA,4GAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,KAAA,EAAO;AAAA,UACL,4DAAA;AAAA,UACA;AAAA;AACF,OACF;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,6CAAA;AAAA,QACJ,EAAA,EAAI,+CAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AA8CA,SAAS,UAAA,CAAW;AAAA,EAClB,IAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA,GAAe,CAAA;AAAA,EACf,aAAA,GAAgB,IAAA;AAAA,EAChB,YAAA,GAAe,IAAA;AAAA,EACf,OAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAAoB;AAElB,EAAA,MAAM,SAAA,GAAkBC,yBAAQ,MAAM;AACpC,IAAA,MAAM,QAAiC,EAAC;AAGxC,IAAA,KAAA,CAAM,KAAK,CAAC,CAAA;AAGZ,IAAA,MAAM,gBAAA,GAAmB,IAAA,CAAK,GAAA,CAAI,IAAA,GAAO,cAAc,CAAC,CAAA;AACxD,IAAA,MAAM,oBAAoB,IAAA,CAAK,GAAA,CAAI,IAAA,GAAO,YAAA,EAAc,aAAa,CAAC,CAAA;AAGtE,IAAA,MAAM,mBAAmB,gBAAA,GAAmB,CAAA;AAE5C,IAAA,MAAM,iBAAA,GAAoB,oBAAoB,UAAA,GAAa,CAAA;AAE3D,IAAA,IAAI,gBAAA,EAAkB;AACpB,MAAA,KAAA,CAAM,KAAK,UAAU,CAAA;AAAA,IACvB;AAGA,IAAA,KAAA,IAAS,CAAA,GAAI,gBAAA,EAAkB,CAAA,IAAK,iBAAA,EAAmB,CAAA,EAAA,EAAK;AAC1D,MAAA,IAAI,CAAA,KAAM,CAAA,IAAK,CAAA,KAAM,UAAA,EAAY;AAC/B,QAAA,KAAA,CAAM,KAAK,CAAC,CAAA;AAAA,MACd;AAAA,IACF;AAEA,IAAA,IAAI,iBAAA,EAAmB;AACrB,MAAA,KAAA,CAAM,KAAK,UAAU,CAAA;AAAA,IACvB;AAGA,IAAA,IAAI,aAAa,CAAA,EAAG;AAClB,MAAA,KAAA,CAAM,KAAK,UAAU,CAAA;AAAA,IACvB;AAEA,IAAA,OAAO,KAAA;AAAA,EACT,CAAA,EAAG,CAAC,IAAA,EAAM,UAAA,EAAY,YAAY,CAAC,CAAA;AAEnC,EAAA,MAAM,YAAY,IAAA,GAAO,CAAA;AACzB,EAAA,MAAM,YAAY,IAAA,GAAO,UAAA;AAEzB,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,YAAA;AAAA,MACV,IAAA,EAAK,YAAA;AAAA,MACL,cAAY,KAAA,IAAS,YAAA;AAAA,MACrB,SAAA,EAAWC,oBAAA,CAAG,yBAAA,EAA2B,SAAS,CAAA;AAAA,MAGjD,QAAA,EAAA;AAAA,QAAA,aAAA,oBACCD,eAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,kBAAA;AAAA,YACV,IAAA,EAAK,QAAA;AAAA,YACL,OAAA,EAAS,MAAM,YAAA,CAAa,CAAC,CAAA;AAAA,YAC7B,UAAU,CAAC,SAAA;AAAA,YACX,YAAA,EAAY,QAAQ,KAAA,IAAS,kBAAA;AAAA,YAC7B,WAAWC,oBAAA,CAAG,wBAAA,CAAyB,EAAE,OAAA,EAAS,IAAA,EAAM,CAAC,CAAA;AAAA,YAEzD,QAAA,EAAA;AAAA,8BAAAC,cAAA,CAAC,gBAAA,EAAA,EAAiB,WAAU,SAAA,EAAU,CAAA;AAAA,6CACrC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,MAAA,EAAQ,SAAS,OAAA,EAAQ;AAAA;AAAA;AAAA,SACtD;AAAA,QAID,YAAA,oBACCF,eAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,iBAAA;AAAA,YACV,IAAA,EAAK,QAAA;AAAA,YACL,OAAA,EAAS,MAAM,YAAA,CAAa,IAAA,GAAO,CAAC,CAAA;AAAA,YACpC,UAAU,CAAC,SAAA;AAAA,YACX,YAAA,EAAY,QAAQ,QAAA,IAAY,qBAAA;AAAA,YAChC,WAAWC,oBAAA,CAAG,wBAAA,CAAyB,EAAE,OAAA,EAAS,IAAA,EAAM,CAAC,CAAA;AAAA,YAEzD,QAAA,EAAA;AAAA,8BAAAC,cAAA,CAAC,eAAA,EAAA,EAAgB,WAAU,SAAA,EAAU,CAAA;AAAA,6CACpC,MAAA,EAAA,EAAK,SAAA,EAAU,wBAAA,EACb,QAAA,EAAA,MAAA,EAAQ,YAAY,UAAA,EACvB;AAAA;AAAA;AAAA,SACF;AAAA,wBAIFA,cAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,kBAAA,EAAmB,SAAA,EAAU,2BACzC,QAAA,EAAA,SAAA,CAAU,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,KAAU;AAC9B,UAAA,IAAI,SAAS,UAAA,EAAY;AACvB,YAAA,uBACEA,cAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBAEC,WAAA,EAAU,qBAAA;AAAA,gBACV,SAAA,EAAWD,oBAAA;AAAA,kBACT,wBAAA,CAAyB,EAAE,OAAA,EAAS,IAAA,EAAM,CAAA;AAAA,kBAC1C;AAAA,iBACF;AAAA,gBACA,aAAA,EAAY,MAAA;AAAA,gBACb,QAAA,EAAA;AAAA,eAAA;AAAA,cAPM,YAAY,KAAK,CAAA;AAAA,aASxB;AAAA,UAEJ;AAEA,UAAA,uBACEC,cAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cAEC,WAAA,EAAU,iBAAA;AAAA,cACV,IAAA,EAAK,QAAA;AAAA,cACL,OAAA,EAAS,MAAM,YAAA,CAAa,IAAI,CAAA;AAAA,cAChC,YAAA,EAAY,cAAc,IAAI,CAAA,CAAA;AAAA,cAC9B,cAAA,EAAc,IAAA,KAAS,IAAA,GAAO,MAAA,GAAS,MAAA;AAAA,cACvC,eAAa,IAAA,KAAS,IAAA;AAAA,cACtB,WAAWD,oBAAA,CAAG,wBAAA,CAAyB,EAAE,OAAA,EAAS,IAAA,EAAM,CAAC,CAAA;AAAA,cAExD,QAAA,EAAA;AAAA,aAAA;AAAA,YATI;AAAA,WAUP;AAAA,QAEJ,CAAC,CAAA,EACH,CAAA;AAAA,QAGC,YAAA,oBACCD,eAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,iBAAA;AAAA,YACV,IAAA,EAAK,QAAA;AAAA,YACL,OAAA,EAAS,MAAM,YAAA,CAAa,IAAA,GAAO,CAAC,CAAA;AAAA,YACpC,UAAU,CAAC,SAAA;AAAA,YACX,YAAA,EAAY,QAAQ,IAAA,IAAQ,iBAAA;AAAA,YAC5B,WAAWC,oBAAA,CAAG,wBAAA,CAAyB,EAAE,OAAA,EAAS,IAAA,EAAM,CAAC,CAAA;AAAA,YAEzD,QAAA,EAAA;AAAA,8BAAAC,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,wBAAA,EACb,QAAA,EAAA,MAAA,EAAQ,QAAQ,MAAA,EACnB,CAAA;AAAA,8BACAA,cAAA,CAAC,gBAAA,EAAA,EAAiB,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA;AAAA,SACxC;AAAA,QAID,aAAA,oBACCF,eAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,iBAAA;AAAA,YACV,IAAA,EAAK,QAAA;AAAA,YACL,OAAA,EAAS,MAAM,YAAA,CAAa,UAAU,CAAA;AAAA,YACtC,UAAU,CAAC,SAAA;AAAA,YACX,YAAA,EAAY,QAAQ,IAAA,IAAQ,iBAAA;AAAA,YAC5B,WAAWC,oBAAA,CAAG,wBAAA,CAAyB,EAAE,OAAA,EAAS,IAAA,EAAM,CAAC,CAAA;AAAA,YAEzD,QAAA,EAAA;AAAA,8BAAAC,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,MAAA,EAAQ,QAAQ,MAAA,EAAO,CAAA;AAAA,8BAClDA,cAAA,CAAC,iBAAA,EAAA,EAAkB,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA;AAAA;AACzC;AAAA;AAAA,GAEJ;AAEJ;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;AAoCzB,SAAS,gBAAA,CAAiB;AAAA,EACxB,IAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA,GAAe,IAAA;AAAA,EACf,OAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,MAAM,YAAY,IAAA,GAAO,CAAA;AACzB,EAAA,MAAM,YAAY,IAAA,GAAO,UAAA;AAEzB,EAAA,uBACEF,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,IAAA,EAAK,YAAA;AAAA,MACL,cAAY,KAAA,IAAS,YAAA;AAAA,MACrB,SAAA,EAAWC,oBAAA,CAAG,yBAAA,EAA2B,SAAS,CAAA;AAAA,MAElD,QAAA,EAAA;AAAA,wBAAAD,eAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,iBAAA;AAAA,YACV,IAAA,EAAK,QAAA;AAAA,YACL,OAAA,EAAS,MAAM,YAAA,CAAa,IAAA,GAAO,CAAC,CAAA;AAAA,YACpC,UAAU,CAAC,SAAA;AAAA,YACX,YAAA,EAAW,qBAAA;AAAA,YACX,WAAWC,oBAAA,CAAG,wBAAA,CAAyB,EAAE,OAAA,EAAS,IAAA,EAAM,CAAC,CAAA;AAAA,YAEzD,QAAA,EAAA;AAAA,8BAAAC,cAAA,CAAC,eAAA,EAAA,EAAgB,WAAU,SAAA,EAAU,CAAA;AAAA,8BACrCA,cAAA,CAAC,UAAK,QAAA,EAAA,UAAA,EAAQ;AAAA;AAAA;AAAA,SAChB;AAAA,QAEC,YAAA,oBACCF,eAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,iBAAA;AAAA,YACV,SAAA,EAAU,oCAAA;AAAA,YACX,QAAA,EAAA;AAAA,cAAA,OAAA;AAAA,cACO,IAAA;AAAA,cAAK,MAAA;AAAA,cAAK;AAAA;AAAA;AAAA,SAClB;AAAA,wBAGFA,eAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,iBAAA;AAAA,YACV,IAAA,EAAK,QAAA;AAAA,YACL,OAAA,EAAS,MAAM,YAAA,CAAa,IAAA,GAAO,CAAC,CAAA;AAAA,YACpC,UAAU,CAAC,SAAA;AAAA,YACX,YAAA,EAAW,iBAAA;AAAA,YACX,WAAWC,oBAAA,CAAG,wBAAA,CAAyB,EAAE,OAAA,EAAS,IAAA,EAAM,CAAC,CAAA;AAAA,YAEzD,QAAA,EAAA;AAAA,8BAAAC,cAAA,CAAC,UAAK,QAAA,EAAA,MAAA,EAAI,CAAA;AAAA,8BACVA,cAAA,CAAC,gBAAA,EAAA,EAAiB,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA;AAAA;AACxC;AAAA;AAAA,GACF;AAEJ;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA;AAM/B,SAAS,eAAA,CAAgB,EAAE,SAAA,EAAU,EAA2B;AAC9D,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAM,IAAA;AAAA,MACN,MAAA,EAAO,IAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,WAAA,EAAY,GAAA;AAAA,MACZ,aAAA,EAAc,OAAA;AAAA,MACd,cAAA,EAAe,OAAA;AAAA,MACf,SAAA;AAAA,MACA,aAAA,EAAY,MAAA;AAAA,MAEZ,QAAA,kBAAAA,cAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,gBAAA,EAAiB;AAAA;AAAA,GAC3B;AAEJ;AAEA,SAAS,gBAAA,CAAiB,EAAE,SAAA,EAAU,EAA2B;AAC/D,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAM,IAAA;AAAA,MACN,MAAA,EAAO,IAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,WAAA,EAAY,GAAA;AAAA,MACZ,aAAA,EAAc,OAAA;AAAA,MACd,cAAA,EAAe,OAAA;AAAA,MACf,SAAA;AAAA,MACA,aAAA,EAAY,MAAA;AAAA,MAEZ,QAAA,kBAAAA,cAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,eAAA,EAAgB;AAAA;AAAA,GAC1B;AAEJ;AAEA,SAAS,gBAAA,CAAiB,EAAE,SAAA,EAAU,EAA2B;AAC/D,EAAA,uBACEF,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAM,IAAA;AAAA,MACN,MAAA,EAAO,IAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,WAAA,EAAY,GAAA;AAAA,MACZ,aAAA,EAAc,OAAA;AAAA,MACd,cAAA,EAAe,OAAA;AAAA,MACf,SAAA;AAAA,MACA,aAAA,EAAY,MAAA;AAAA,MAEZ,QAAA,EAAA;AAAA,wBAAAE,cAAA,CAAC,MAAA,EAAA,EAAK,GAAE,gBAAA,EAAiB,CAAA;AAAA,wBACzBA,cAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,gBAAA,EAAiB;AAAA;AAAA;AAAA,GAC3B;AAEJ;AAEA,SAAS,iBAAA,CAAkB,EAAE,SAAA,EAAU,EAA2B;AAChE,EAAA,uBACEF,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAM,IAAA;AAAA,MACN,MAAA,EAAO,IAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,WAAA,EAAY,GAAA;AAAA,MACZ,aAAA,EAAc,OAAA;AAAA,MACd,cAAA,EAAe,OAAA;AAAA,MACf,SAAA;AAAA,MACA,aAAA,EAAY,MAAA;AAAA,MAEZ,QAAA,EAAA;AAAA,wBAAAE,cAAA,CAAC,MAAA,EAAA,EAAK,GAAE,eAAA,EAAgB,CAAA;AAAA,wBACxBA,cAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,gBAAA,EAAiB;AAAA;AAAA;AAAA,GAC3B;AAEJ","file":"chunk-NIEIRA5A.cjs","sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\n// ============================================================================\n// Pagination Button Variants\n// ============================================================================\n\nconst paginationButtonVariants = cva(\n [\n 'inline-flex items-center justify-center',\n 'font-medium transition-colors duration-200',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n 'disabled:pointer-events-none disabled:opacity-50',\n ],\n {\n variants: {\n variant: {\n default: [\n 'text-muted-foreground hover:text-foreground hover:bg-muted',\n 'data-[active=true]:bg-primary-800 data-[active=true]:text-white',\n ],\n outline: [\n 'border border-border text-muted-foreground',\n 'hover:bg-muted hover:text-foreground',\n 'data-[active=true]:border-primary-500 data-[active=true]:bg-primary-50 data-[active=true]:text-primary-800',\n 'dark:data-[active=true]:bg-primary-950',\n ],\n ghost: [\n 'text-muted-foreground hover:text-foreground hover:bg-muted',\n 'data-[active=true]:text-primary-800 data-[active=true]:font-semibold',\n ],\n },\n size: {\n sm: 'h-8 min-w-8 px-2.5 text-xs rounded-md gap-1',\n md: 'h-10 min-w-10 px-3 text-sm rounded-lg gap-1.5',\n lg: 'h-12 min-w-12 px-4 text-base rounded-xl gap-2',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n }\n);\n\n// ============================================================================\n// Pagination Component\n// ============================================================================\n\nexport interface PaginationProps extends VariantProps<\n typeof paginationButtonVariants\n> {\n /** Current page (1-indexed) */\n page: number;\n /** Total number of pages */\n totalPages: number;\n /** Callback when page changes */\n onPageChange: (page: number) => void;\n /** Number of sibling pages to show on each side of current page */\n siblingCount?: number;\n /** Show first/last page buttons */\n showFirstLast?: boolean;\n /** Show prev/next buttons */\n showPrevNext?: boolean;\n /** Labels for navigation buttons */\n labels?: {\n first?: string;\n previous?: string;\n next?: string;\n last?: string;\n };\n /** Accessible label for the navigation landmark */\n label?: string;\n /** Additional class name */\n className?: string;\n}\n\n/**\n * A pagination component for navigating through pages.\n *\n * @example\n * ```tsx\n * <Pagination\n * page={currentPage}\n * totalPages={10}\n * onPageChange={setCurrentPage}\n * />\n * ```\n */\nfunction Pagination({\n page,\n totalPages,\n onPageChange,\n siblingCount = 1,\n showFirstLast = true,\n showPrevNext = true,\n variant,\n size,\n labels,\n label,\n className,\n}: PaginationProps) {\n // Calculate page range to display\n const pageRange = React.useMemo(() => {\n const range: (number | 'ellipsis')[] = [];\n\n // Always show first page\n range.push(1);\n\n // Calculate start and end of sibling range\n const leftSiblingIndex = Math.max(page - siblingCount, 2);\n const rightSiblingIndex = Math.min(page + siblingCount, totalPages - 1);\n\n // Show left ellipsis if needed\n const showLeftEllipsis = leftSiblingIndex > 2;\n // Show right ellipsis if needed\n const showRightEllipsis = rightSiblingIndex < totalPages - 1;\n\n if (showLeftEllipsis) {\n range.push('ellipsis');\n }\n\n // Add sibling pages\n for (let i = leftSiblingIndex; i <= rightSiblingIndex; i++) {\n if (i !== 1 && i !== totalPages) {\n range.push(i);\n }\n }\n\n if (showRightEllipsis) {\n range.push('ellipsis');\n }\n\n // Always show last page if more than 1 page\n if (totalPages > 1) {\n range.push(totalPages);\n }\n\n return range;\n }, [page, totalPages, siblingCount]);\n\n const canGoPrev = page > 1;\n const canGoNext = page < totalPages;\n\n return (\n <nav\n data-slot=\"pagination\"\n role=\"navigation\"\n aria-label={label || 'Pagination'}\n className={cn('flex items-center gap-1', className)}\n >\n {/* First Page Button */}\n {showFirstLast && (\n <button\n data-slot=\"pagination-first\"\n type=\"button\"\n onClick={() => onPageChange(1)}\n disabled={!canGoPrev}\n aria-label={labels?.first || 'Go to first page'}\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n <ChevronsLeftIcon className=\"h-4 w-4\" />\n <span className=\"sr-only\">{labels?.first || 'First'}</span>\n </button>\n )}\n\n {/* Previous Button */}\n {showPrevNext && (\n <button\n data-slot=\"pagination-prev\"\n type=\"button\"\n onClick={() => onPageChange(page - 1)}\n disabled={!canGoPrev}\n aria-label={labels?.previous || 'Go to previous page'}\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n <ChevronLeftIcon className=\"h-4 w-4\" />\n <span className=\"sr-only sm:not-sr-only\">\n {labels?.previous || 'Previous'}\n </span>\n </button>\n )}\n\n {/* Page Numbers */}\n <div data-slot=\"pagination-pages\" className=\"flex items-center gap-1\">\n {pageRange.map((item, index) => {\n if (item === 'ellipsis') {\n return (\n <span\n key={`ellipsis-${index}`}\n data-slot=\"pagination-ellipsis\"\n className={cn(\n paginationButtonVariants({ variant, size }),\n 'cursor-default hover:bg-transparent'\n )}\n aria-hidden=\"true\"\n >\n ...\n </span>\n );\n }\n\n return (\n <button\n key={item}\n data-slot=\"pagination-page\"\n type=\"button\"\n onClick={() => onPageChange(item)}\n aria-label={`Go to page ${item}`}\n aria-current={item === page ? 'page' : undefined}\n data-active={item === page}\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n {item}\n </button>\n );\n })}\n </div>\n\n {/* Next Button */}\n {showPrevNext && (\n <button\n data-slot=\"pagination-next\"\n type=\"button\"\n onClick={() => onPageChange(page + 1)}\n disabled={!canGoNext}\n aria-label={labels?.next || 'Go to next page'}\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n <span className=\"sr-only sm:not-sr-only\">\n {labels?.next || 'Next'}\n </span>\n <ChevronRightIcon className=\"h-4 w-4\" />\n </button>\n )}\n\n {/* Last Page Button */}\n {showFirstLast && (\n <button\n data-slot=\"pagination-last\"\n type=\"button\"\n onClick={() => onPageChange(totalPages)}\n disabled={!canGoNext}\n aria-label={labels?.last || 'Go to last page'}\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n <span className=\"sr-only\">{labels?.last || 'Last'}</span>\n <ChevronsRightIcon className=\"h-4 w-4\" />\n </button>\n )}\n </nav>\n );\n}\n\nPagination.displayName = 'Pagination';\n\n// ============================================================================\n// Simple Pagination Component\n// ============================================================================\n\nexport interface SimplePaginationProps extends VariantProps<\n typeof paginationButtonVariants\n> {\n /** Current page */\n page: number;\n /** Total number of pages */\n totalPages: number;\n /** Callback when page changes */\n onPageChange: (page: number) => void;\n /** Show page info */\n showPageInfo?: boolean;\n /** Accessible label for the navigation landmark */\n label?: string;\n /** Additional class name */\n className?: string;\n}\n\n/**\n * A simple pagination with just prev/next buttons.\n *\n * @example\n * ```tsx\n * <SimplePagination\n * page={1}\n * totalPages={10}\n * onPageChange={setPage}\n * showPageInfo\n * />\n * ```\n */\nfunction SimplePagination({\n page,\n totalPages,\n onPageChange,\n showPageInfo = true,\n variant,\n size,\n label,\n className,\n}: SimplePaginationProps) {\n const canGoPrev = page > 1;\n const canGoNext = page < totalPages;\n\n return (\n <nav\n data-slot=\"simple-pagination\"\n role=\"navigation\"\n aria-label={label || 'Pagination'}\n className={cn('flex items-center gap-2', className)}\n >\n <button\n data-slot=\"pagination-prev\"\n type=\"button\"\n onClick={() => onPageChange(page - 1)}\n disabled={!canGoPrev}\n aria-label=\"Go to previous page\"\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n <ChevronLeftIcon className=\"h-4 w-4\" />\n <span>Previous</span>\n </button>\n\n {showPageInfo && (\n <span\n data-slot=\"pagination-info\"\n className=\"text-muted-foreground px-2 text-sm\"\n >\n Page {page} of {totalPages}\n </span>\n )}\n\n <button\n data-slot=\"pagination-next\"\n type=\"button\"\n onClick={() => onPageChange(page + 1)}\n disabled={!canGoNext}\n aria-label=\"Go to next page\"\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n <span>Next</span>\n <ChevronRightIcon className=\"h-4 w-4\" />\n </button>\n </nav>\n );\n}\n\nSimplePagination.displayName = 'SimplePagination';\n\n// ============================================================================\n// Icons\n// ============================================================================\n\nfunction ChevronLeftIcon({ className }: { className?: string }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n aria-hidden=\"true\"\n >\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n );\n}\n\nfunction ChevronRightIcon({ className }: { className?: string }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n aria-hidden=\"true\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n );\n}\n\nfunction ChevronsLeftIcon({ className }: { className?: string }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n aria-hidden=\"true\"\n >\n <path d=\"m11 17-5-5 5-5\" />\n <path d=\"m18 17-5-5 5-5\" />\n </svg>\n );\n}\n\nfunction ChevronsRightIcon({ className }: { className?: string }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n aria-hidden=\"true\"\n >\n <path d=\"m6 17 5-5-5-5\" />\n <path d=\"m13 17 5-5-5-5\" />\n </svg>\n );\n}\n\nexport { Pagination, SimplePagination, paginationButtonVariants };\n"]}
1
+ {"version":3,"sources":["../src/components/Pagination/Pagination.tsx"],"names":["cva","React","jsxs","cn","jsx"],"mappings":"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","file":"chunk-4AE2L6AO.cjs","sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\n// ============================================================================\n// Pagination Button Variants\n// ============================================================================\n\nconst paginationButtonVariants = cva(\n [\n 'inline-flex items-center justify-center',\n 'font-medium transition-colors duration-200',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n 'disabled:pointer-events-none disabled:opacity-50',\n ],\n {\n variants: {\n variant: {\n default: [\n 'text-muted-foreground hover:text-foreground hover:bg-muted',\n 'data-[active=true]:bg-primary-800 data-[active=true]:text-white',\n ],\n outline: [\n 'border border-border text-muted-foreground',\n 'hover:bg-muted hover:text-foreground',\n 'data-[active=true]:border-primary-500 data-[active=true]:bg-primary-50 data-[active=true]:text-primary-800',\n 'dark:data-[active=true]:bg-primary-950',\n ],\n ghost: [\n 'text-muted-foreground hover:text-foreground hover:bg-muted',\n 'data-[active=true]:text-primary-800 data-[active=true]:font-semibold',\n ],\n },\n size: {\n sm: 'h-8 min-w-8 px-2.5 text-xs rounded-md gap-1',\n md: 'h-10 min-w-10 px-3 text-sm rounded-lg gap-1.5',\n lg: 'h-12 min-w-12 px-4 text-base rounded-xl gap-2',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n }\n);\n\n// ============================================================================\n// Pagination Component\n// ============================================================================\n\nexport interface PaginationProps extends VariantProps<\n typeof paginationButtonVariants\n> {\n /** Current page (1-indexed) */\n page: number;\n /** Total number of pages */\n totalPages: number;\n /** Callback when page changes */\n onPageChange: (page: number) => void;\n /** Number of sibling pages to show on each side of current page */\n siblingCount?: number;\n /** Show first/last page buttons */\n showFirstLast?: boolean;\n /** Show prev/next buttons */\n showPrevNext?: boolean;\n /** Labels for navigation buttons */\n labels?: {\n first?: string;\n previous?: string;\n next?: string;\n last?: string;\n };\n /** Accessible label for the navigation landmark */\n label?: string;\n /** Additional class name */\n className?: string;\n}\n\n/**\n * A pagination component for navigating through pages.\n *\n * @example\n * ```tsx\n * <Pagination\n * page={currentPage}\n * totalPages={10}\n * onPageChange={setCurrentPage}\n * />\n * ```\n */\nfunction Pagination({\n page,\n totalPages,\n onPageChange,\n siblingCount = 1,\n showFirstLast = true,\n showPrevNext = true,\n variant,\n size,\n labels,\n label,\n className,\n}: PaginationProps) {\n // Calculate page range to display\n const pageRange = React.useMemo(() => {\n const range: (number | 'ellipsis')[] = [];\n\n // Always show first page\n range.push(1);\n\n // Calculate start and end of sibling range\n const leftSiblingIndex = Math.max(page - siblingCount, 2);\n const rightSiblingIndex = Math.min(page + siblingCount, totalPages - 1);\n\n // Show left ellipsis if needed\n const showLeftEllipsis = leftSiblingIndex > 2;\n // Show right ellipsis if needed\n const showRightEllipsis = rightSiblingIndex < totalPages - 1;\n\n if (showLeftEllipsis) {\n range.push('ellipsis');\n }\n\n // Add sibling pages\n for (let i = leftSiblingIndex; i <= rightSiblingIndex; i++) {\n if (i !== 1 && i !== totalPages) {\n range.push(i);\n }\n }\n\n if (showRightEllipsis) {\n range.push('ellipsis');\n }\n\n // Always show last page if more than 1 page\n if (totalPages > 1) {\n range.push(totalPages);\n }\n\n return range;\n }, [page, totalPages, siblingCount]);\n\n const canGoPrev = page > 1;\n const canGoNext = page < totalPages;\n\n return (\n <nav\n data-slot=\"pagination\"\n role=\"navigation\"\n aria-label={label || 'Pagination'}\n className={cn('flex items-center gap-1', className)}\n >\n {/* First Page Button */}\n {showFirstLast && (\n <button\n data-slot=\"pagination-first\"\n type=\"button\"\n onClick={() => onPageChange(1)}\n disabled={!canGoPrev}\n aria-label={labels?.first || 'Go to first page'}\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n <ChevronsLeftIcon className=\"h-4 w-4\" />\n <span className=\"sr-only\">{labels?.first || 'First'}</span>\n </button>\n )}\n\n {/* Previous Button */}\n {showPrevNext && (\n <button\n data-slot=\"pagination-prev\"\n type=\"button\"\n onClick={() => onPageChange(page - 1)}\n disabled={!canGoPrev}\n aria-label={labels?.previous || 'Go to previous page'}\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n <ChevronLeftIcon className=\"h-4 w-4\" />\n <span className=\"sr-only sm:not-sr-only\">\n {labels?.previous || 'Previous'}\n </span>\n </button>\n )}\n\n {/* Page Numbers */}\n <div data-slot=\"pagination-pages\" className=\"flex items-center gap-1\">\n {pageRange.map((item, index) => {\n if (item === 'ellipsis') {\n return (\n <span\n key={`ellipsis-${index}`}\n data-slot=\"pagination-ellipsis\"\n className={cn(\n paginationButtonVariants({ variant, size }),\n 'cursor-default hover:bg-transparent'\n )}\n aria-hidden=\"true\"\n >\n ...\n </span>\n );\n }\n\n return (\n <button\n key={item}\n data-slot=\"pagination-page\"\n type=\"button\"\n onClick={() => onPageChange(item)}\n aria-label={`Go to page ${item}`}\n aria-current={item === page ? 'page' : undefined}\n data-active={item === page}\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n {item}\n </button>\n );\n })}\n </div>\n\n {/* Next Button */}\n {showPrevNext && (\n <button\n data-slot=\"pagination-next\"\n type=\"button\"\n onClick={() => onPageChange(page + 1)}\n disabled={!canGoNext}\n aria-label={labels?.next || 'Go to next page'}\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n <span className=\"sr-only sm:not-sr-only\">\n {labels?.next || 'Next'}\n </span>\n <ChevronRightIcon className=\"h-4 w-4\" />\n </button>\n )}\n\n {/* Last Page Button */}\n {showFirstLast && (\n <button\n data-slot=\"pagination-last\"\n type=\"button\"\n onClick={() => onPageChange(totalPages)}\n disabled={!canGoNext}\n aria-label={labels?.last || 'Go to last page'}\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n <span className=\"sr-only\">{labels?.last || 'Last'}</span>\n <ChevronsRightIcon className=\"h-4 w-4\" />\n </button>\n )}\n </nav>\n );\n}\n\nPagination.displayName = 'Pagination';\n\n// ============================================================================\n// Simple Pagination Component\n// ============================================================================\n\nexport interface SimplePaginationProps extends VariantProps<\n typeof paginationButtonVariants\n> {\n /** Current page */\n page: number;\n /** Total number of pages */\n totalPages: number;\n /** Callback when page changes */\n onPageChange: (page: number) => void;\n /** Show page info */\n showPageInfo?: boolean;\n /** Accessible label for the navigation landmark */\n label?: string;\n /** Additional class name */\n className?: string;\n}\n\n/**\n * A simple pagination with just prev/next buttons.\n *\n * @example\n * ```tsx\n * <SimplePagination\n * page={1}\n * totalPages={10}\n * onPageChange={setPage}\n * showPageInfo\n * />\n * ```\n */\nfunction SimplePagination({\n page,\n totalPages,\n onPageChange,\n showPageInfo = true,\n variant,\n size,\n label,\n className,\n}: SimplePaginationProps) {\n const canGoPrev = page > 1;\n const canGoNext = page < totalPages;\n\n return (\n <nav\n data-slot=\"simple-pagination\"\n role=\"navigation\"\n aria-label={label || 'Pagination'}\n className={cn('flex items-center gap-2', className)}\n >\n <button\n data-slot=\"pagination-prev\"\n type=\"button\"\n onClick={() => onPageChange(page - 1)}\n disabled={!canGoPrev}\n aria-label=\"Go to previous page\"\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n <ChevronLeftIcon className=\"h-4 w-4\" />\n <span>Previous</span>\n </button>\n\n {showPageInfo && (\n <span\n data-slot=\"pagination-info\"\n className=\"text-muted-foreground px-2 text-sm\"\n >\n Page {page} of {totalPages}\n </span>\n )}\n\n <button\n data-slot=\"pagination-next\"\n type=\"button\"\n onClick={() => onPageChange(page + 1)}\n disabled={!canGoNext}\n aria-label=\"Go to next page\"\n className={cn(paginationButtonVariants({ variant, size }))}\n >\n <span>Next</span>\n <ChevronRightIcon className=\"h-4 w-4\" />\n </button>\n </nav>\n );\n}\n\nSimplePagination.displayName = 'SimplePagination';\n\n// ============================================================================\n// Icons\n// ============================================================================\n\nfunction ChevronLeftIcon({ className }: { className?: string }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n aria-hidden=\"true\"\n >\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n );\n}\n\nfunction ChevronRightIcon({ className }: { className?: string }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n aria-hidden=\"true\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n );\n}\n\nfunction ChevronsLeftIcon({ className }: { className?: string }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n aria-hidden=\"true\"\n >\n <path d=\"m11 17-5-5 5-5\" />\n <path d=\"m18 17-5-5 5-5\" />\n </svg>\n );\n}\n\nfunction ChevronsRightIcon({ className }: { className?: string }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n aria-hidden=\"true\"\n >\n <path d=\"m6 17 5-5-5-5\" />\n <path d=\"m13 17 5-5-5-5\" />\n </svg>\n );\n}\n\nexport { Pagination, SimplePagination, paginationButtonVariants };\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkCKD554XR_cjs = require('./chunk-CKD554XR.cjs');
3
+ var chunkYIXTGWT4_cjs = require('./chunk-YIXTGWT4.cjs');
4
4
  var react = require('react');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
 
@@ -85,11 +85,11 @@ var SurveyBlock = ({ code, id }) => {
85
85
  };
86
86
  }, [code]);
87
87
  if (!parsed) {
88
- return /* @__PURE__ */ jsxRuntime.jsx(chunkCKD554XR_cjs.FenceBlock, { code, language: "survey", supportsRawView: true, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center p-6 text-sm text-neutral-500", children: "Loading survey\u2026" }) });
88
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkYIXTGWT4_cjs.FenceBlock, { code, language: "survey", supportsRawView: true, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center p-6 text-sm text-neutral-500", children: "Loading survey\u2026" }) });
89
89
  }
90
90
  const { fields, error } = parsed;
91
91
  return /* @__PURE__ */ jsxRuntime.jsx(
92
- chunkCKD554XR_cjs.FenceBlock,
92
+ chunkYIXTGWT4_cjs.FenceBlock,
93
93
  {
94
94
  code,
95
95
  language: "survey",
@@ -194,5 +194,5 @@ var SurveyBlock = ({ code, id }) => {
194
194
  };
195
195
 
196
196
  exports.SurveyBlock = SurveyBlock;
197
- //# sourceMappingURL=chunk-KBEKQMVY.cjs.map
198
- //# sourceMappingURL=chunk-KBEKQMVY.cjs.map
197
+ //# sourceMappingURL=chunk-4CUFXCC5.cjs.map
198
+ //# sourceMappingURL=chunk-4CUFXCC5.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Markdown/SurveyBlock.tsx"],"names":["useState","useEffect","jsx","FenceBlock","jsxs"],"mappings":"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","file":"chunk-KBEKQMVY.cjs","sourcesContent":["/** Survey/questionnaire preview from JSON or YAML. Requires `js-yaml` for YAML input. */\nimport React, { useEffect, useState } from 'react';\n\nimport { FenceBlock } from './FenceBlock';\n\ninterface SurveyBlockProps {\n code: string;\n id: string;\n}\n\ninterface SurveyField {\n type: string;\n name: string;\n title?: string;\n label?: string;\n choices?: Array<string | { value: string; text: string }>;\n isRequired?: boolean;\n}\n\ninterface ParsedSurvey {\n fields: SurveyField[];\n error: string | null;\n}\n\ntype YamlLoadFn = (input: string) => unknown;\nlet yamlPromise: Promise<YamlLoadFn> | null = null;\nfunction loadYaml(): Promise<YamlLoadFn> {\n if (!yamlPromise) {\n yamlPromise = import(/* @vite-ignore */ 'js-yaml')\n .then((mod) => {\n const api =\n (mod as { default?: { load?: YamlLoadFn }; load?: YamlLoadFn })\n .default ?? mod;\n const load = (api as { load?: YamlLoadFn }).load;\n if (typeof load !== 'function')\n throw new Error('js-yaml load not found');\n return load;\n })\n .catch((err) => {\n yamlPromise = null;\n throw err;\n });\n }\n return yamlPromise;\n}\n\nfunction tryParseJson(\n code: string\n): { ok: true; data: unknown } | { ok: false } {\n try {\n return { ok: true, data: JSON.parse(code) };\n } catch {\n return { ok: false };\n }\n}\n\nfunction elementsToParsed(data: unknown): ParsedSurvey {\n if (!data || typeof data !== 'object') {\n return { fields: [], error: 'Invalid survey data format' };\n }\n const obj = data as Record<string, unknown>;\n\n let elements: unknown[] = [];\n if (Array.isArray(obj.pages)) {\n for (const page of obj.pages as Array<Record<string, unknown>>) {\n if (Array.isArray(page.elements)) {\n elements = elements.concat(page.elements);\n }\n }\n } else if (Array.isArray(obj.elements)) {\n elements = obj.elements;\n } else if (Array.isArray(obj.questions)) {\n elements = obj.questions;\n } else if (Array.isArray(obj.fields)) {\n elements = obj.fields;\n } else {\n return { fields: [], error: 'No survey questions found in data' };\n }\n\n return { fields: elements as SurveyField[], error: null };\n}\n\nexport const SurveyBlock: React.FC<SurveyBlockProps> = ({ code, id }) => {\n const [parsed, setParsed] = useState<ParsedSurvey | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n\n const jsonResult = tryParseJson(code);\n if (jsonResult.ok) {\n setParsed(elementsToParsed(jsonResult.data));\n return;\n }\n\n loadYaml()\n .then((load) => {\n try {\n const data = load(code);\n if (!cancelled) setParsed(elementsToParsed(data));\n } catch (err) {\n if (!cancelled)\n setParsed({\n fields: [],\n error: `Failed to parse survey data: ${(err as Error).message}`,\n });\n }\n })\n .catch(() => {\n if (!cancelled)\n setParsed({\n fields: [],\n error:\n 'Survey preview requires the `js-yaml` package for YAML input. Install it with `npm install js-yaml`.',\n });\n });\n return () => {\n cancelled = true;\n };\n }, [code]);\n\n if (!parsed) {\n return (\n <FenceBlock code={code} language=\"survey\" supportsRawView>\n <div className=\"flex items-center justify-center p-6 text-sm text-neutral-500\">\n Loading survey…\n </div>\n </FenceBlock>\n );\n }\n\n const { fields, error } = parsed;\n\n return (\n <FenceBlock\n code={code}\n language=\"survey\"\n supportsRawView\n error={error ?? undefined}\n >\n <div className=\"space-y-4 p-4\">\n <h4 className=\"text-sm font-medium text-neutral-700 dark:text-neutral-300\">\n Survey Preview\n </h4>\n {fields.map((field, i) => {\n const fieldId = `${id}-field-${field.name ?? i}`;\n return (\n <div key={field.name ?? i} className=\"space-y-1.5\">\n <label\n htmlFor={fieldId}\n className=\"block text-sm font-medium text-neutral-700 dark:text-neutral-300\"\n >\n {field.title ?? field.label ?? field.name}\n {field.isRequired && (\n <span className=\"ml-1 text-red-500\">*</span>\n )}\n </label>\n\n {(field.type === 'radiogroup' || field.type === 'radio') &&\n field.choices && (\n <div className=\"space-y-1\">\n {field.choices.map((choice, ci) => {\n const value =\n typeof choice === 'string' ? choice : choice.value;\n const text =\n typeof choice === 'string' ? choice : choice.text;\n return (\n <label\n key={ci}\n className=\"flex items-center gap-2 text-sm text-neutral-600 dark:text-neutral-400\"\n >\n <input\n type=\"radio\"\n name={`${id}-${field.name}`}\n value={value}\n disabled\n className=\"accent-primary-500\"\n />\n {text}\n </label>\n );\n })}\n </div>\n )}\n\n {(field.type === 'checkbox' || field.type === 'boolean') && (\n <input\n id={fieldId}\n type=\"checkbox\"\n disabled\n className=\"accent-primary-500\"\n />\n )}\n\n {(field.type === 'text' || field.type === 'comment') && (\n <input\n id={fieldId}\n type=\"text\"\n disabled\n placeholder={field.title ?? field.name}\n className=\"w-full rounded-md border border-neutral-300 bg-neutral-100 px-3 py-1.5 text-sm dark:border-neutral-600 dark:bg-neutral-800\"\n />\n )}\n\n {field.type === 'rating' && (\n <div\n role=\"img\"\n className=\"flex gap-1\"\n aria-label=\"Rating: 0 out of 5\"\n >\n {[1, 2, 3, 4, 5].map((n) => (\n <span\n key={n}\n aria-hidden=\"true\"\n className=\"text-lg text-neutral-500 dark:text-neutral-500\"\n >\n ★\n </span>\n ))}\n </div>\n )}\n\n {field.type === 'dropdown' && field.choices && (\n <select\n id={fieldId}\n name={fieldId}\n disabled\n className=\"w-full rounded-md border border-neutral-300 bg-neutral-100 px-3 py-1.5 text-sm dark:border-neutral-600 dark:bg-neutral-800\"\n >\n {field.choices.map((choice, ci) => {\n const value =\n typeof choice === 'string' ? choice : choice.value;\n const text =\n typeof choice === 'string' ? choice : choice.text;\n return (\n <option key={ci} value={value}>\n {text}\n </option>\n );\n })}\n </select>\n )}\n </div>\n );\n })}\n <p className=\"text-xs text-neutral-600 dark:text-neutral-400\">\n This is a preview. Interactive survey support coming soon.\n </p>\n </div>\n </FenceBlock>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/components/Markdown/SurveyBlock.tsx"],"names":["useState","useEffect","jsx","FenceBlock","jsxs"],"mappings":"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","file":"chunk-4CUFXCC5.cjs","sourcesContent":["/** Survey/questionnaire preview from JSON or YAML. Requires `js-yaml` for YAML input. */\nimport React, { useEffect, useState } from 'react';\n\nimport { FenceBlock } from './FenceBlock';\n\ninterface SurveyBlockProps {\n code: string;\n id: string;\n}\n\ninterface SurveyField {\n type: string;\n name: string;\n title?: string;\n label?: string;\n choices?: Array<string | { value: string; text: string }>;\n isRequired?: boolean;\n}\n\ninterface ParsedSurvey {\n fields: SurveyField[];\n error: string | null;\n}\n\ntype YamlLoadFn = (input: string) => unknown;\nlet yamlPromise: Promise<YamlLoadFn> | null = null;\nfunction loadYaml(): Promise<YamlLoadFn> {\n if (!yamlPromise) {\n yamlPromise = import(/* @vite-ignore */ 'js-yaml')\n .then((mod) => {\n const api =\n (mod as { default?: { load?: YamlLoadFn }; load?: YamlLoadFn })\n .default ?? mod;\n const load = (api as { load?: YamlLoadFn }).load;\n if (typeof load !== 'function')\n throw new Error('js-yaml load not found');\n return load;\n })\n .catch((err) => {\n yamlPromise = null;\n throw err;\n });\n }\n return yamlPromise;\n}\n\nfunction tryParseJson(\n code: string\n): { ok: true; data: unknown } | { ok: false } {\n try {\n return { ok: true, data: JSON.parse(code) };\n } catch {\n return { ok: false };\n }\n}\n\nfunction elementsToParsed(data: unknown): ParsedSurvey {\n if (!data || typeof data !== 'object') {\n return { fields: [], error: 'Invalid survey data format' };\n }\n const obj = data as Record<string, unknown>;\n\n let elements: unknown[] = [];\n if (Array.isArray(obj.pages)) {\n for (const page of obj.pages as Array<Record<string, unknown>>) {\n if (Array.isArray(page.elements)) {\n elements = elements.concat(page.elements);\n }\n }\n } else if (Array.isArray(obj.elements)) {\n elements = obj.elements;\n } else if (Array.isArray(obj.questions)) {\n elements = obj.questions;\n } else if (Array.isArray(obj.fields)) {\n elements = obj.fields;\n } else {\n return { fields: [], error: 'No survey questions found in data' };\n }\n\n return { fields: elements as SurveyField[], error: null };\n}\n\nexport const SurveyBlock: React.FC<SurveyBlockProps> = ({ code, id }) => {\n const [parsed, setParsed] = useState<ParsedSurvey | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n\n const jsonResult = tryParseJson(code);\n if (jsonResult.ok) {\n setParsed(elementsToParsed(jsonResult.data));\n return;\n }\n\n loadYaml()\n .then((load) => {\n try {\n const data = load(code);\n if (!cancelled) setParsed(elementsToParsed(data));\n } catch (err) {\n if (!cancelled)\n setParsed({\n fields: [],\n error: `Failed to parse survey data: ${(err as Error).message}`,\n });\n }\n })\n .catch(() => {\n if (!cancelled)\n setParsed({\n fields: [],\n error:\n 'Survey preview requires the `js-yaml` package for YAML input. Install it with `npm install js-yaml`.',\n });\n });\n return () => {\n cancelled = true;\n };\n }, [code]);\n\n if (!parsed) {\n return (\n <FenceBlock code={code} language=\"survey\" supportsRawView>\n <div className=\"flex items-center justify-center p-6 text-sm text-neutral-500\">\n Loading survey…\n </div>\n </FenceBlock>\n );\n }\n\n const { fields, error } = parsed;\n\n return (\n <FenceBlock\n code={code}\n language=\"survey\"\n supportsRawView\n error={error ?? undefined}\n >\n <div className=\"space-y-4 p-4\">\n <h4 className=\"text-sm font-medium text-neutral-700 dark:text-neutral-300\">\n Survey Preview\n </h4>\n {fields.map((field, i) => {\n const fieldId = `${id}-field-${field.name ?? i}`;\n return (\n <div key={field.name ?? i} className=\"space-y-1.5\">\n <label\n htmlFor={fieldId}\n className=\"block text-sm font-medium text-neutral-700 dark:text-neutral-300\"\n >\n {field.title ?? field.label ?? field.name}\n {field.isRequired && (\n <span className=\"ml-1 text-red-500\">*</span>\n )}\n </label>\n\n {(field.type === 'radiogroup' || field.type === 'radio') &&\n field.choices && (\n <div className=\"space-y-1\">\n {field.choices.map((choice, ci) => {\n const value =\n typeof choice === 'string' ? choice : choice.value;\n const text =\n typeof choice === 'string' ? choice : choice.text;\n return (\n <label\n key={ci}\n className=\"flex items-center gap-2 text-sm text-neutral-600 dark:text-neutral-400\"\n >\n <input\n type=\"radio\"\n name={`${id}-${field.name}`}\n value={value}\n disabled\n className=\"accent-primary-500\"\n />\n {text}\n </label>\n );\n })}\n </div>\n )}\n\n {(field.type === 'checkbox' || field.type === 'boolean') && (\n <input\n id={fieldId}\n type=\"checkbox\"\n disabled\n className=\"accent-primary-500\"\n />\n )}\n\n {(field.type === 'text' || field.type === 'comment') && (\n <input\n id={fieldId}\n type=\"text\"\n disabled\n placeholder={field.title ?? field.name}\n className=\"w-full rounded-md border border-neutral-300 bg-neutral-100 px-3 py-1.5 text-sm dark:border-neutral-600 dark:bg-neutral-800\"\n />\n )}\n\n {field.type === 'rating' && (\n <div\n role=\"img\"\n className=\"flex gap-1\"\n aria-label=\"Rating: 0 out of 5\"\n >\n {[1, 2, 3, 4, 5].map((n) => (\n <span\n key={n}\n aria-hidden=\"true\"\n className=\"text-lg text-neutral-500 dark:text-neutral-500\"\n >\n ★\n </span>\n ))}\n </div>\n )}\n\n {field.type === 'dropdown' && field.choices && (\n <select\n id={fieldId}\n name={fieldId}\n disabled\n className=\"w-full rounded-md border border-neutral-300 bg-neutral-100 px-3 py-1.5 text-sm dark:border-neutral-600 dark:bg-neutral-800\"\n >\n {field.choices.map((choice, ci) => {\n const value =\n typeof choice === 'string' ? choice : choice.value;\n const text =\n typeof choice === 'string' ? choice : choice.text;\n return (\n <option key={ci} value={value}>\n {text}\n </option>\n );\n })}\n </select>\n )}\n </div>\n );\n })}\n <p className=\"text-xs text-neutral-600 dark:text-neutral-400\">\n This is a preview. Interactive survey support coming soon.\n </p>\n </div>\n </FenceBlock>\n );\n};\n"]}
@@ -22,6 +22,12 @@ var miewebUISafelist = [
22
22
  "hover:bg-primary-500/30",
23
23
  "hover:bg-success/25",
24
24
  "hover:text-destructive",
25
+ // MediaEditor media-surface height cap: the small-screen `dvh` cap, and the
26
+ // md variants that hand desktop back its original percentage cap. Purging
27
+ // these uncaps the player on a phone, which is the bug the cap exists for.
28
+ "max-h-[55dvh]",
29
+ "md:max-h-[50%]",
30
+ "md:max-h-none",
25
31
  "outline-destructive",
26
32
  "outline-primary-500",
27
33
  "outline-warning",
@@ -342,6 +348,44 @@ var miewebUISafelist = [
342
348
  "translate-x-4",
343
349
  "translate-x-5",
344
350
  "translate-x-7",
351
+ // RTL primitives batch: Badge/Input/Label icon+required markers, Text
352
+ // logical alignment, Switch thumb travel (LTR data-state pairs + rtl mirror)
353
+ "me-1",
354
+ "ms-0.5",
355
+ "ms-1",
356
+ "text-start",
357
+ "text-end",
358
+ "data-[state=checked]:translate-x-4",
359
+ "data-[state=checked]:translate-x-5",
360
+ "data-[state=checked]:translate-x-7",
361
+ "rtl:-translate-x-0.5",
362
+ "rtl:data-[state=checked]:-translate-x-4",
363
+ "rtl:data-[state=checked]:-translate-x-5",
364
+ "rtl:data-[state=checked]:-translate-x-7",
365
+ // RTL layout+nav batch: AppHeader alignment, Card accent/badge positions,
366
+ // Sheet sides, Sidebar off-canvas + paddings, Table cell alignment
367
+ "me-auto",
368
+ "ms-auto",
369
+ "-end-1",
370
+ "start-0",
371
+ "end-0",
372
+ "ps-4",
373
+ "start-2",
374
+ "end-2",
375
+ "border-e",
376
+ "border-s",
377
+ "me-3",
378
+ "ms-2",
379
+ "ps-2",
380
+ "-me-2",
381
+ "-end-3",
382
+ "start-3",
383
+ "pe-4",
384
+ "ps-10",
385
+ "rtl:translate-x-full",
386
+ "translate-x-0",
387
+ "-translate-x-full",
388
+ "[&:has([role=checkbox])]:pe-0",
345
389
  // SchedulePicker / overflow handling
346
390
  "overflow-x-auto",
347
391
  "overflow-hidden",
@@ -379,6 +423,31 @@ var miewebUISafelist = [
379
423
  "last:border-b-0",
380
424
  "border-dashed",
381
425
  "text-[11px]",
426
+ // CodeLookup memory picklist (frequently-used pick count)
427
+ "text-primary-600",
428
+ // CodeLookup coding-system toggle (segmented radiogroup pills)
429
+ "flex",
430
+ "flex-wrap",
431
+ "items-center",
432
+ "gap-1",
433
+ "rounded-full",
434
+ "px-2.5",
435
+ "py-0.5",
436
+ "text-xs",
437
+ "transition-colors",
438
+ "focus:ring-2",
439
+ "focus:outline-none",
440
+ "border-primary-800",
441
+ "dark:border-primary-400",
442
+ "dark:bg-primary-400",
443
+ "dark:text-primary-950",
444
+ "text-white",
445
+ "hover:text-foreground",
446
+ // CollabStatus debug panel (fixed-width portal, definition grid, log grid)
447
+ "w-[26rem]",
448
+ "max-w-[calc(100vw-1rem)]",
449
+ "grid-cols-[auto_1fr]",
450
+ "grid-cols-[auto_auto_1fr]",
382
451
  // SuperChat (participant chips, unread badge, active/hover states)
383
452
  "bg-primary-100",
384
453
  "bg-primary-600",
@@ -394,7 +463,59 @@ var miewebUISafelist = [
394
463
  // SuperChat mermaid diagram wrapper — arbitrary variants applied to the
395
464
  // injected <svg> so the diagram sizes naturally instead of collapsing.
396
465
  "[&_svg]:h-auto",
397
- "[&_svg]:max-w-none"
466
+ "[&_svg]:max-w-none",
467
+ // AI pills — CollapsiblePill / MCPToolCall arbitrary utilities
468
+ "rounded-[8px]",
469
+ "rounded-[10px]",
470
+ "px-[11px]",
471
+ "max-h-0",
472
+ "max-h-[500px]",
473
+ "transition-[max-height,opacity]",
474
+ "overflow-y-auto",
475
+ "focus-visible:ring-ring",
476
+ "focus-visible:ring-offset-1",
477
+ // ThinkingBlock (violet reasoning pill)
478
+ "bg-violet-50",
479
+ "bg-violet-500",
480
+ "border-violet-200",
481
+ "text-violet-600",
482
+ "hover:bg-violet-100",
483
+ "focus-visible:ring-violet-500",
484
+ "animate-pulse",
485
+ "text-[13px]",
486
+ "dark:bg-violet-400",
487
+ "dark:bg-violet-950/30",
488
+ "dark:border-violet-700",
489
+ "dark:border-violet-800",
490
+ "dark:hover:bg-violet-950/50",
491
+ "dark:text-violet-400",
492
+ // MCPToolCall status pills (green success / red error kept the same)
493
+ "bg-green-50",
494
+ "border-green-200",
495
+ "text-green-700",
496
+ "dark:bg-green-900/20",
497
+ "dark:border-green-800",
498
+ "dark:text-green-300",
499
+ "bg-red-50",
500
+ "border-red-200",
501
+ "text-red-700",
502
+ "dark:bg-red-900/20",
503
+ "dark:border-red-800",
504
+ "dark:text-red-300",
505
+ "bg-neutral-100",
506
+ "border-neutral-200",
507
+ "text-neutral-600",
508
+ "text-neutral-400",
509
+ "dark:bg-neutral-800",
510
+ "dark:border-neutral-700",
511
+ "dark:text-neutral-400",
512
+ "bg-primary-50",
513
+ "border-primary-200",
514
+ "text-primary-800",
515
+ "dark:bg-primary-900/20",
516
+ "dark:border-primary-800",
517
+ "dark:text-primary-300",
518
+ "opacity-60"
398
519
  ];
399
520
  var miewebUIPreset = {
400
521
  darkMode: ["class", '[data-theme="dark"]'],
@@ -606,5 +727,5 @@ var tailwind_preset_default = miewebUIPreset;
606
727
  exports.miewebUIPreset = miewebUIPreset;
607
728
  exports.miewebUISafelist = miewebUISafelist;
608
729
  exports.tailwind_preset_default = tailwind_preset_default;
609
- //# sourceMappingURL=chunk-PFWHWIXS.cjs.map
610
- //# sourceMappingURL=chunk-PFWHWIXS.cjs.map
730
+ //# sourceMappingURL=chunk-54OW6ZPL.cjs.map
731
+ //# sourceMappingURL=chunk-54OW6ZPL.cjs.map