silver-ui 0.6.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/README.md +1 -0
  2. package/dist/{chunk-DYMZ4DLN.cjs → chunk-2AOR4EVA.cjs} +8 -8
  3. package/dist/{chunk-DYMZ4DLN.cjs.map → chunk-2AOR4EVA.cjs.map} +1 -1
  4. package/dist/chunk-2N3PIXZ5.cjs +165 -0
  5. package/dist/chunk-2N3PIXZ5.cjs.map +1 -0
  6. package/dist/{chunk-GUUCIG7U.js → chunk-3PCXFOOS.js} +16 -10
  7. package/dist/chunk-3PCXFOOS.js.map +1 -0
  8. package/dist/{chunk-ISWZQUVA.cjs → chunk-4MIIXRZN.cjs} +12 -12
  9. package/dist/{chunk-ISWZQUVA.cjs.map → chunk-4MIIXRZN.cjs.map} +1 -1
  10. package/dist/{chunk-WHDDBOJN.js → chunk-54B36CSW.js} +4 -4
  11. package/dist/{chunk-WHDDBOJN.js.map → chunk-54B36CSW.js.map} +1 -1
  12. package/dist/{chunk-NXTDP6AX.js → chunk-5GSRIOXE.js} +14 -2
  13. package/dist/chunk-5GSRIOXE.js.map +1 -0
  14. package/dist/{chunk-BGLT7XH6.js → chunk-5HPXPF3F.js} +5 -5
  15. package/dist/{chunk-BGLT7XH6.js.map → chunk-5HPXPF3F.js.map} +1 -1
  16. package/dist/{chunk-U4L75VA4.cjs → chunk-5MCI3ILK.cjs} +40 -40
  17. package/dist/{chunk-U4L75VA4.cjs.map → chunk-5MCI3ILK.cjs.map} +1 -1
  18. package/dist/{chunk-TNYAYXKC.cjs → chunk-63QPCV4F.cjs} +35 -35
  19. package/dist/{chunk-TNYAYXKC.cjs.map → chunk-63QPCV4F.cjs.map} +1 -1
  20. package/dist/{chunk-FIOCTAXT.js → chunk-6KG76KUZ.js} +3 -3
  21. package/dist/{chunk-FIOCTAXT.js.map → chunk-6KG76KUZ.js.map} +1 -1
  22. package/dist/{chunk-RU7JPU7V.js → chunk-6KGF66TR.js} +3 -3
  23. package/dist/{chunk-RU7JPU7V.js.map → chunk-6KGF66TR.js.map} +1 -1
  24. package/dist/{chunk-FQN22DO5.js → chunk-6OWEKKOC.js} +6 -6
  25. package/dist/{chunk-FQN22DO5.js.map → chunk-6OWEKKOC.js.map} +1 -1
  26. package/dist/{chunk-BDFNEQR3.js → chunk-6R2UZNVE.js} +6 -6
  27. package/dist/{chunk-BDFNEQR3.js.map → chunk-6R2UZNVE.js.map} +1 -1
  28. package/dist/{chunk-AFJEAYR4.cjs → chunk-6SFMORQF.cjs} +5 -5
  29. package/dist/{chunk-AFJEAYR4.cjs.map → chunk-6SFMORQF.cjs.map} +1 -1
  30. package/dist/{chunk-XTLNUYCK.js → chunk-6SKIBUCY.js} +3 -3
  31. package/dist/{chunk-XTLNUYCK.js.map → chunk-6SKIBUCY.js.map} +1 -1
  32. package/dist/{chunk-VRQ66IBW.cjs → chunk-6SMVH3ON.cjs} +6 -6
  33. package/dist/{chunk-VRQ66IBW.cjs.map → chunk-6SMVH3ON.cjs.map} +1 -1
  34. package/dist/{chunk-WINDLDH3.cjs → chunk-6ZPHID26.cjs} +9 -9
  35. package/dist/{chunk-WINDLDH3.cjs.map → chunk-6ZPHID26.cjs.map} +1 -1
  36. package/dist/chunk-7VUDE5BI.js +91 -0
  37. package/dist/chunk-7VUDE5BI.js.map +1 -0
  38. package/dist/{chunk-DFEAB7Z3.cjs → chunk-AC4E3WQA.cjs} +10 -10
  39. package/dist/{chunk-DFEAB7Z3.cjs.map → chunk-AC4E3WQA.cjs.map} +1 -1
  40. package/dist/{chunk-4EUUZQAM.js → chunk-ACGPBJIS.js} +5 -5
  41. package/dist/{chunk-4EUUZQAM.js.map → chunk-ACGPBJIS.js.map} +1 -1
  42. package/dist/{chunk-DWZR2AGT.js → chunk-AO4RVSCG.js} +4 -4
  43. package/dist/{chunk-DWZR2AGT.js.map → chunk-AO4RVSCG.js.map} +1 -1
  44. package/dist/{chunk-P7TSM63O.js → chunk-AXTX3IOR.js} +3 -3
  45. package/dist/{chunk-P7TSM63O.js.map → chunk-AXTX3IOR.js.map} +1 -1
  46. package/dist/{chunk-KCI4I42U.js → chunk-BBLAZNCC.js} +8 -8
  47. package/dist/{chunk-KCI4I42U.js.map → chunk-BBLAZNCC.js.map} +1 -1
  48. package/dist/{chunk-ZUAWNT66.cjs → chunk-BF2DUOC3.cjs} +18 -18
  49. package/dist/{chunk-ZUAWNT66.cjs.map → chunk-BF2DUOC3.cjs.map} +1 -1
  50. package/dist/{chunk-6FC5YF2O.cjs → chunk-BPAZTKMC.cjs} +8 -8
  51. package/dist/{chunk-6FC5YF2O.cjs.map → chunk-BPAZTKMC.cjs.map} +1 -1
  52. package/dist/{chunk-CNDUYO7I.cjs → chunk-BYV7NXC5.cjs} +5 -5
  53. package/dist/{chunk-CNDUYO7I.cjs.map → chunk-BYV7NXC5.cjs.map} +1 -1
  54. package/dist/{chunk-MHAXS4GO.cjs → chunk-CKDB7QNT.cjs} +14 -2
  55. package/dist/chunk-CKDB7QNT.cjs.map +1 -0
  56. package/dist/{chunk-J4LJXCXB.cjs → chunk-CQYBC3RJ.cjs} +9 -9
  57. package/dist/{chunk-J4LJXCXB.cjs.map → chunk-CQYBC3RJ.cjs.map} +1 -1
  58. package/dist/{chunk-U5HW5P7Q.cjs → chunk-CWZCBYVZ.cjs} +11 -11
  59. package/dist/{chunk-U5HW5P7Q.cjs.map → chunk-CWZCBYVZ.cjs.map} +1 -1
  60. package/dist/{chunk-UZGPFPIV.cjs → chunk-D7TT4HUI.cjs} +17 -17
  61. package/dist/{chunk-UZGPFPIV.cjs.map → chunk-D7TT4HUI.cjs.map} +1 -1
  62. package/dist/{chunk-FWBYCTUB.cjs → chunk-DDMUYVSV.cjs} +15 -15
  63. package/dist/{chunk-FWBYCTUB.cjs.map → chunk-DDMUYVSV.cjs.map} +1 -1
  64. package/dist/{chunk-P5LMEANN.cjs → chunk-DTNIUZ3C.cjs} +5 -5
  65. package/dist/{chunk-P5LMEANN.cjs.map → chunk-DTNIUZ3C.cjs.map} +1 -1
  66. package/dist/{chunk-5JROXZBG.cjs → chunk-DVCDAKPK.cjs} +4 -4
  67. package/dist/{chunk-5JROXZBG.cjs.map → chunk-DVCDAKPK.cjs.map} +1 -1
  68. package/dist/{chunk-45OSUS5A.js → chunk-E6AKSBSP.js} +6 -6
  69. package/dist/{chunk-45OSUS5A.js.map → chunk-E6AKSBSP.js.map} +1 -1
  70. package/dist/{chunk-HMJINNXZ.js → chunk-EBV3EX3J.js} +3 -3
  71. package/dist/{chunk-HMJINNXZ.js.map → chunk-EBV3EX3J.js.map} +1 -1
  72. package/dist/chunk-ESWYWWY2.js +162 -0
  73. package/dist/chunk-ESWYWWY2.js.map +1 -0
  74. package/dist/{chunk-G5PU2EL2.js → chunk-FHUOUARL.js} +4 -4
  75. package/dist/{chunk-G5PU2EL2.js.map → chunk-FHUOUARL.js.map} +1 -1
  76. package/dist/{chunk-RXKDRZF3.js → chunk-FTNEAX24.js} +3 -3
  77. package/dist/{chunk-RXKDRZF3.js.map → chunk-FTNEAX24.js.map} +1 -1
  78. package/dist/{chunk-TQDJVPHP.js → chunk-FUU3I22W.js} +3 -3
  79. package/dist/{chunk-TQDJVPHP.js.map → chunk-FUU3I22W.js.map} +1 -1
  80. package/dist/{chunk-ERVWZILR.js → chunk-GKYGZWSQ.js} +3 -3
  81. package/dist/{chunk-ERVWZILR.js.map → chunk-GKYGZWSQ.js.map} +1 -1
  82. package/dist/{chunk-CABYRYVA.cjs → chunk-GLFWSLJB.cjs} +6 -6
  83. package/dist/{chunk-CABYRYVA.cjs.map → chunk-GLFWSLJB.cjs.map} +1 -1
  84. package/dist/{chunk-UYZQGHFI.js → chunk-GQ73VKKN.js} +8 -8
  85. package/dist/{chunk-UYZQGHFI.js.map → chunk-GQ73VKKN.js.map} +1 -1
  86. package/dist/{chunk-JHMUMJF3.js → chunk-GTZQT6MK.js} +4 -4
  87. package/dist/{chunk-JHMUMJF3.js.map → chunk-GTZQT6MK.js.map} +1 -1
  88. package/dist/{chunk-ZSB43DEI.js → chunk-HC57X3U4.js} +6 -6
  89. package/dist/{chunk-ZSB43DEI.js.map → chunk-HC57X3U4.js.map} +1 -1
  90. package/dist/{chunk-WAWHHXSR.js → chunk-HEF53COU.js} +3 -3
  91. package/dist/{chunk-WAWHHXSR.js.map → chunk-HEF53COU.js.map} +1 -1
  92. package/dist/{chunk-7EE6DCRP.cjs → chunk-HENIVDYQ.cjs} +18 -18
  93. package/dist/{chunk-7EE6DCRP.cjs.map → chunk-HENIVDYQ.cjs.map} +1 -1
  94. package/dist/{chunk-MHEPDHL5.cjs → chunk-HN4W6TM6.cjs} +14 -14
  95. package/dist/{chunk-MHEPDHL5.cjs.map → chunk-HN4W6TM6.cjs.map} +1 -1
  96. package/dist/{chunk-DPSAPA6B.js → chunk-I2DXEPDF.js} +5 -5
  97. package/dist/{chunk-DPSAPA6B.js.map → chunk-I2DXEPDF.js.map} +1 -1
  98. package/dist/{chunk-NG2H3PYA.cjs → chunk-J242UTPO.cjs} +16 -16
  99. package/dist/{chunk-NG2H3PYA.cjs.map → chunk-J242UTPO.cjs.map} +1 -1
  100. package/dist/{chunk-K2WT7A64.js → chunk-JMVYWHJ7.js} +3 -3
  101. package/dist/{chunk-K2WT7A64.js.map → chunk-JMVYWHJ7.js.map} +1 -1
  102. package/dist/{chunk-VREW3BK6.cjs → chunk-JTPVAZE6.cjs} +11 -11
  103. package/dist/{chunk-VREW3BK6.cjs.map → chunk-JTPVAZE6.cjs.map} +1 -1
  104. package/dist/{chunk-FLDTPAG4.cjs → chunk-JWMS6LHN.cjs} +6 -6
  105. package/dist/{chunk-FLDTPAG4.cjs.map → chunk-JWMS6LHN.cjs.map} +1 -1
  106. package/dist/{chunk-3M23WX6K.js → chunk-KB36TWOU.js} +4 -3
  107. package/dist/chunk-KB36TWOU.js.map +1 -0
  108. package/dist/{chunk-DK6USFZP.cjs → chunk-KLCEDPJ4.cjs} +19 -19
  109. package/dist/{chunk-DK6USFZP.cjs.map → chunk-KLCEDPJ4.cjs.map} +1 -1
  110. package/dist/{chunk-INQ34SVW.cjs → chunk-KLPVBJGZ.cjs} +5 -5
  111. package/dist/{chunk-INQ34SVW.cjs.map → chunk-KLPVBJGZ.cjs.map} +1 -1
  112. package/dist/{chunk-LLSWAAFH.js → chunk-L747HIHG.js} +4 -4
  113. package/dist/{chunk-LLSWAAFH.js.map → chunk-L747HIHG.js.map} +1 -1
  114. package/dist/{chunk-7TJ2O56S.js → chunk-LBOWHXOF.js} +23 -5
  115. package/dist/chunk-LBOWHXOF.js.map +1 -0
  116. package/dist/{chunk-H7VK36SZ.cjs → chunk-LTHPJRFK.cjs} +9 -8
  117. package/dist/chunk-LTHPJRFK.cjs.map +1 -0
  118. package/dist/{chunk-6ZV7HGZT.cjs → chunk-LWB2CTX6.cjs} +4 -4
  119. package/dist/{chunk-6ZV7HGZT.cjs.map → chunk-LWB2CTX6.cjs.map} +1 -1
  120. package/dist/{chunk-ENVDR66N.cjs → chunk-MJHEPDDX.cjs} +17 -17
  121. package/dist/{chunk-ENVDR66N.cjs.map → chunk-MJHEPDDX.cjs.map} +1 -1
  122. package/dist/{chunk-RAMDISDK.cjs → chunk-MYSLJWCW.cjs} +6 -6
  123. package/dist/{chunk-RAMDISDK.cjs.map → chunk-MYSLJWCW.cjs.map} +1 -1
  124. package/dist/{chunk-WEXTGWRE.js → chunk-N6C37HXD.js} +4 -4
  125. package/dist/{chunk-WEXTGWRE.js.map → chunk-N6C37HXD.js.map} +1 -1
  126. package/dist/{chunk-NW36BN7N.cjs → chunk-NGNVNRAZ.cjs} +17 -17
  127. package/dist/{chunk-NW36BN7N.cjs.map → chunk-NGNVNRAZ.cjs.map} +1 -1
  128. package/dist/{chunk-JR353MN5.js → chunk-NIKT7XSO.js} +7 -7
  129. package/dist/{chunk-JR353MN5.js.map → chunk-NIKT7XSO.js.map} +1 -1
  130. package/dist/{chunk-6I5QWA6A.js → chunk-NSWKBWPP.js} +6 -5
  131. package/dist/chunk-NSWKBWPP.js.map +1 -0
  132. package/dist/{chunk-2SN3KVWF.js → chunk-NYOZQE6P.js} +4 -4
  133. package/dist/{chunk-2SN3KVWF.js.map → chunk-NYOZQE6P.js.map} +1 -1
  134. package/dist/{chunk-CZUMVOPH.js → chunk-O3UT5D57.js} +19 -15
  135. package/dist/chunk-O3UT5D57.js.map +1 -0
  136. package/dist/{chunk-GU65FGY6.cjs → chunk-OCYZKZ24.cjs} +4 -4
  137. package/dist/{chunk-GU65FGY6.cjs.map → chunk-OCYZKZ24.cjs.map} +1 -1
  138. package/dist/{chunk-M64WMYYV.js → chunk-OPBELSKN.js} +6 -6
  139. package/dist/{chunk-M64WMYYV.js.map → chunk-OPBELSKN.js.map} +1 -1
  140. package/dist/{chunk-WM7NEOME.js → chunk-OUUG4RHO.js} +7 -7
  141. package/dist/{chunk-WM7NEOME.js.map → chunk-OUUG4RHO.js.map} +1 -1
  142. package/dist/{chunk-SKZNSOB7.cjs → chunk-OX2FNKIV.cjs} +6 -6
  143. package/dist/{chunk-SKZNSOB7.cjs.map → chunk-OX2FNKIV.cjs.map} +1 -1
  144. package/dist/{chunk-HKGFMJFK.js → chunk-PGBYMBGH.js} +16 -16
  145. package/dist/{chunk-HKGFMJFK.js.map → chunk-PGBYMBGH.js.map} +1 -1
  146. package/dist/{chunk-UT45YVPI.js → chunk-PK3NJSHQ.js} +8 -8
  147. package/dist/{chunk-UT45YVPI.js.map → chunk-PK3NJSHQ.js.map} +1 -1
  148. package/dist/{chunk-C6EWA3H2.js → chunk-PQXPYN23.js} +6 -6
  149. package/dist/{chunk-C6EWA3H2.js.map → chunk-PQXPYN23.js.map} +1 -1
  150. package/dist/{chunk-PHFJBQXU.cjs → chunk-PXTTIAC4.cjs} +8 -8
  151. package/dist/{chunk-PHFJBQXU.cjs.map → chunk-PXTTIAC4.cjs.map} +1 -1
  152. package/dist/{chunk-KG7RHDVX.js → chunk-Q6YOSQAM.js} +8 -8
  153. package/dist/{chunk-KG7RHDVX.js.map → chunk-Q6YOSQAM.js.map} +1 -1
  154. package/dist/{chunk-K2V3IOAX.js → chunk-QM7NQK2K.js} +3 -3
  155. package/dist/{chunk-K2V3IOAX.js.map → chunk-QM7NQK2K.js.map} +1 -1
  156. package/dist/{chunk-QTOFQB26.cjs → chunk-QQCEGAUQ.cjs} +16 -16
  157. package/dist/{chunk-QTOFQB26.cjs.map → chunk-QQCEGAUQ.cjs.map} +1 -1
  158. package/dist/chunk-RNUQWYJJ.cjs +93 -0
  159. package/dist/chunk-RNUQWYJJ.cjs.map +1 -0
  160. package/dist/{chunk-R3ZS6FU6.cjs → chunk-RX2FXCIH.cjs} +6 -6
  161. package/dist/{chunk-R3ZS6FU6.cjs.map → chunk-RX2FXCIH.cjs.map} +1 -1
  162. package/dist/{chunk-HPOURAKV.cjs → chunk-TACO5IWI.cjs} +14 -14
  163. package/dist/{chunk-HPOURAKV.cjs.map → chunk-TACO5IWI.cjs.map} +1 -1
  164. package/dist/{chunk-4JJFQZVY.js → chunk-TP6RGZ6A.js} +12 -12
  165. package/dist/{chunk-4JJFQZVY.js.map → chunk-TP6RGZ6A.js.map} +1 -1
  166. package/dist/{chunk-PNM7MPUX.cjs → chunk-U7QJJ3NR.cjs} +8 -8
  167. package/dist/{chunk-PNM7MPUX.cjs.map → chunk-U7QJJ3NR.cjs.map} +1 -1
  168. package/dist/{chunk-H5VMHDRD.cjs → chunk-UJDHRILS.cjs} +24 -6
  169. package/dist/chunk-UJDHRILS.cjs.map +1 -0
  170. package/dist/{chunk-EVCQCZMM.cjs → chunk-UNS7OCEA.cjs} +5 -5
  171. package/dist/{chunk-EVCQCZMM.cjs.map → chunk-UNS7OCEA.cjs.map} +1 -1
  172. package/dist/{chunk-SEDUAMDW.js → chunk-USEA7DB5.js} +3 -3
  173. package/dist/{chunk-SEDUAMDW.js.map → chunk-USEA7DB5.js.map} +1 -1
  174. package/dist/{chunk-LDYUVGD4.js → chunk-UUVI3TYW.js} +6 -6
  175. package/dist/{chunk-LDYUVGD4.js.map → chunk-UUVI3TYW.js.map} +1 -1
  176. package/dist/{chunk-QYZXTIB2.cjs → chunk-UW3KCCBT.cjs} +4 -4
  177. package/dist/{chunk-QYZXTIB2.cjs.map → chunk-UW3KCCBT.cjs.map} +1 -1
  178. package/dist/{chunk-PU4PBI3H.js → chunk-V5XVXQWE.js} +4 -4
  179. package/dist/{chunk-PU4PBI3H.js.map → chunk-V5XVXQWE.js.map} +1 -1
  180. package/dist/{chunk-GJKRSQEA.cjs → chunk-VCM4MR7N.cjs} +51 -47
  181. package/dist/chunk-VCM4MR7N.cjs.map +1 -0
  182. package/dist/{chunk-VXBVSYPA.cjs → chunk-VPHB56GK.cjs} +4 -3
  183. package/dist/chunk-VPHB56GK.cjs.map +1 -0
  184. package/dist/{chunk-TVWU4XBL.cjs → chunk-VWG54F6X.cjs} +6 -6
  185. package/dist/{chunk-TVWU4XBL.cjs.map → chunk-VWG54F6X.cjs.map} +1 -1
  186. package/dist/{chunk-DAO4UXR4.js → chunk-WG4NNC3P.js} +3 -3
  187. package/dist/{chunk-DAO4UXR4.js.map → chunk-WG4NNC3P.js.map} +1 -1
  188. package/dist/{chunk-LF6I2B7G.js → chunk-WLWSQKWI.js} +9 -9
  189. package/dist/{chunk-LF6I2B7G.js.map → chunk-WLWSQKWI.js.map} +1 -1
  190. package/dist/{chunk-VXOIOPGZ.cjs → chunk-WOVSJHY6.cjs} +5 -5
  191. package/dist/{chunk-VXOIOPGZ.cjs.map → chunk-WOVSJHY6.cjs.map} +1 -1
  192. package/dist/{chunk-QHXI2QDK.js → chunk-X2P5SPGB.js} +3 -3
  193. package/dist/{chunk-QHXI2QDK.js.map → chunk-X2P5SPGB.js.map} +1 -1
  194. package/dist/{chunk-JC66FRQX.js → chunk-XUCLNECV.js} +3 -3
  195. package/dist/{chunk-JC66FRQX.js.map → chunk-XUCLNECV.js.map} +1 -1
  196. package/dist/{chunk-VW52NVGM.cjs → chunk-Y2GYPMLW.cjs} +5 -5
  197. package/dist/{chunk-VW52NVGM.cjs.map → chunk-Y2GYPMLW.cjs.map} +1 -1
  198. package/dist/{chunk-ATK3F3MC.js → chunk-YAQB3UMC.js} +4 -4
  199. package/dist/{chunk-ATK3F3MC.js.map → chunk-YAQB3UMC.js.map} +1 -1
  200. package/dist/{chunk-B5QX6KGJ.js → chunk-YGESCFX2.js} +3 -3
  201. package/dist/{chunk-B5QX6KGJ.js.map → chunk-YGESCFX2.js.map} +1 -1
  202. package/dist/{chunk-PYJX2SBC.cjs → chunk-YQIDUJW2.cjs} +5 -5
  203. package/dist/{chunk-PYJX2SBC.cjs.map → chunk-YQIDUJW2.cjs.map} +1 -1
  204. package/dist/{chunk-UMS46KF4.cjs → chunk-YQVWDHP4.cjs} +7 -7
  205. package/dist/{chunk-UMS46KF4.cjs.map → chunk-YQVWDHP4.cjs.map} +1 -1
  206. package/dist/{chunk-NFEL5GNX.cjs → chunk-ZDZ7FW6V.cjs} +14 -14
  207. package/dist/{chunk-NFEL5GNX.cjs.map → chunk-ZDZ7FW6V.cjs.map} +1 -1
  208. package/dist/{chunk-3IDT3PZC.cjs → chunk-ZW2ZOEYM.cjs} +19 -13
  209. package/dist/chunk-ZW2ZOEYM.cjs.map +1 -0
  210. package/dist/components/Alert/index.cjs +5 -5
  211. package/dist/components/Alert/index.js +4 -4
  212. package/dist/components/AlertDialog/index.cjs +7 -7
  213. package/dist/components/AlertDialog/index.js +5 -5
  214. package/dist/components/AppShell/index.cjs +12 -12
  215. package/dist/components/AppShell/index.js +9 -9
  216. package/dist/components/AutocompleteInput/index.cjs +11 -11
  217. package/dist/components/AutocompleteInput/index.js +7 -7
  218. package/dist/components/Badge/Badge.d.ts.map +1 -1
  219. package/dist/components/Badge/Badge.recipe.d.ts +75 -41
  220. package/dist/components/Badge/Badge.recipe.d.ts.map +1 -1
  221. package/dist/components/Badge/index.cjs +3 -2
  222. package/dist/components/Badge/index.js +2 -1
  223. package/dist/components/Button/index.cjs +4 -4
  224. package/dist/components/Button/index.js +3 -3
  225. package/dist/components/Calendar/index.cjs +5 -5
  226. package/dist/components/Calendar/index.js +4 -4
  227. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +83 -0
  228. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
  229. package/dist/components/CheckboxGroup/CheckboxGroup.recipe.d.ts +17 -0
  230. package/dist/components/CheckboxGroup/CheckboxGroup.recipe.d.ts.map +1 -0
  231. package/dist/components/CheckboxGroup/CheckboxGroupContext.d.ts +13 -0
  232. package/dist/components/CheckboxGroup/CheckboxGroupContext.d.ts.map +1 -0
  233. package/dist/components/CheckboxGroup/CheckboxGroupItem.d.ts +58 -0
  234. package/dist/components/CheckboxGroup/CheckboxGroupItem.d.ts.map +1 -0
  235. package/dist/components/CheckboxGroup/index.cjs +35 -0
  236. package/dist/components/CheckboxGroup/index.cjs.map +1 -0
  237. package/dist/components/CheckboxGroup/index.d.ts +4 -0
  238. package/dist/components/CheckboxGroup/index.d.ts.map +1 -0
  239. package/dist/components/CheckboxGroup/index.js +22 -0
  240. package/dist/components/CheckboxGroup/index.js.map +1 -0
  241. package/dist/components/CheckboxInput/CheckboxInput.d.ts +11 -2
  242. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  243. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +6 -0
  244. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts.map +1 -1
  245. package/dist/components/CheckboxInput/index.cjs +5 -5
  246. package/dist/components/CheckboxInput/index.js +4 -4
  247. package/dist/components/CodeBlock/index.cjs +5 -5
  248. package/dist/components/CodeBlock/index.js +4 -4
  249. package/dist/components/ContextMenu/index.cjs +9 -9
  250. package/dist/components/ContextMenu/index.js +7 -7
  251. package/dist/components/DateInput/index.cjs +9 -9
  252. package/dist/components/DateInput/index.js +8 -8
  253. package/dist/components/DateRangeInput/index.cjs +9 -9
  254. package/dist/components/DateRangeInput/index.js +8 -8
  255. package/dist/components/DateTimeInput/index.cjs +11 -11
  256. package/dist/components/DateTimeInput/index.js +10 -10
  257. package/dist/components/DropdownMenu/index.cjs +10 -10
  258. package/dist/components/DropdownMenu/index.js +6 -6
  259. package/dist/components/EmptyState/index.cjs +3 -3
  260. package/dist/components/EmptyState/index.js +2 -2
  261. package/dist/components/Field/index.cjs +4 -4
  262. package/dist/components/Field/index.js +2 -2
  263. package/dist/components/Field/inputStyles.d.ts.map +1 -1
  264. package/dist/components/FileInput/index.cjs +6 -6
  265. package/dist/components/FileInput/index.js +5 -5
  266. package/dist/components/InputGroup/index.cjs +7 -7
  267. package/dist/components/InputGroup/index.js +3 -3
  268. package/dist/components/Item/index.cjs +3 -3
  269. package/dist/components/Item/index.js +2 -2
  270. package/dist/components/Layout/LayoutHeader.d.ts +7 -1
  271. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  272. package/dist/components/Layout/index.cjs +9 -9
  273. package/dist/components/Layout/index.js +4 -4
  274. package/dist/components/Lightbox/index.cjs +6 -6
  275. package/dist/components/Lightbox/index.js +4 -4
  276. package/dist/components/List/index.cjs +5 -5
  277. package/dist/components/List/index.js +3 -3
  278. package/dist/components/MetadataList/index.cjs +4 -4
  279. package/dist/components/MetadataList/index.js +2 -2
  280. package/dist/components/MultiSelect/index.cjs +9 -9
  281. package/dist/components/MultiSelect/index.js +8 -8
  282. package/dist/components/NumberInput/index.cjs +8 -8
  283. package/dist/components/NumberInput/index.js +7 -7
  284. package/dist/components/Pagination/index.cjs +5 -5
  285. package/dist/components/Pagination/index.js +4 -4
  286. package/dist/components/PasswordInput/index.cjs +9 -9
  287. package/dist/components/PasswordInput/index.js +8 -8
  288. package/dist/components/Popover/index.cjs +6 -6
  289. package/dist/components/Popover/index.js +4 -4
  290. package/dist/components/RadioGroup/index.cjs +6 -6
  291. package/dist/components/RadioGroup/index.js +4 -4
  292. package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
  293. package/dist/components/Schedule/index.cjs +25 -25
  294. package/dist/components/Schedule/index.js +10 -10
  295. package/dist/components/SearchFilterInput/index.cjs +25 -25
  296. package/dist/components/SearchFilterInput/index.js +17 -17
  297. package/dist/components/Select/index.cjs +10 -10
  298. package/dist/components/Select/index.js +8 -8
  299. package/dist/components/SideNav/index.cjs +12 -12
  300. package/dist/components/SideNav/index.js +6 -6
  301. package/dist/components/Slider/index.cjs +4 -4
  302. package/dist/components/Slider/index.js +3 -3
  303. package/dist/components/Spinner/index.cjs +3 -3
  304. package/dist/components/Spinner/index.js +2 -2
  305. package/dist/components/SplitButton/index.cjs +8 -8
  306. package/dist/components/SplitButton/index.js +7 -7
  307. package/dist/components/Stepper/index.cjs +3 -3
  308. package/dist/components/Stepper/index.js +2 -2
  309. package/dist/components/Switch/index.cjs +4 -4
  310. package/dist/components/Switch/index.js +3 -3
  311. package/dist/components/Table/index.cjs +48 -48
  312. package/dist/components/Table/index.js +22 -22
  313. package/dist/components/Tabs/index.cjs +10 -10
  314. package/dist/components/Tabs/index.js +5 -5
  315. package/dist/components/TagsInput/index.cjs +9 -9
  316. package/dist/components/TagsInput/index.js +8 -8
  317. package/dist/components/Text/index.cjs +3 -3
  318. package/dist/components/Text/index.js +1 -1
  319. package/dist/components/TextArea/index.cjs +6 -6
  320. package/dist/components/TextArea/index.js +5 -5
  321. package/dist/components/TextInput/index.cjs +8 -8
  322. package/dist/components/TextInput/index.js +7 -7
  323. package/dist/components/Thumbnail/index.cjs +5 -5
  324. package/dist/components/Thumbnail/index.js +4 -4
  325. package/dist/components/TimeInput/index.cjs +7 -7
  326. package/dist/components/TimeInput/index.js +6 -6
  327. package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
  328. package/dist/components/Toast/index.cjs +7 -7
  329. package/dist/components/Toast/index.js +4 -4
  330. package/dist/components/ToggleButton/index.cjs +5 -5
  331. package/dist/components/ToggleButton/index.js +3 -3
  332. package/dist/components/TopNav/index.cjs +10 -10
  333. package/dist/components/TopNav/index.js +5 -5
  334. package/dist/index.cjs +216 -207
  335. package/dist/index.cjs.map +1 -1
  336. package/dist/index.d.ts +1 -0
  337. package/dist/index.d.ts.map +1 -1
  338. package/dist/index.js +52 -51
  339. package/dist/index.js.map +1 -1
  340. package/dist/styles.css +1 -1
  341. package/package.json +1 -1
  342. package/dist/chunk-3IDT3PZC.cjs.map +0 -1
  343. package/dist/chunk-3M23WX6K.js.map +0 -1
  344. package/dist/chunk-6I5QWA6A.js.map +0 -1
  345. package/dist/chunk-7TJ2O56S.js.map +0 -1
  346. package/dist/chunk-CZUMVOPH.js.map +0 -1
  347. package/dist/chunk-GJKRSQEA.cjs.map +0 -1
  348. package/dist/chunk-GUUCIG7U.js.map +0 -1
  349. package/dist/chunk-H2EMKCWT.js +0 -78
  350. package/dist/chunk-H2EMKCWT.js.map +0 -1
  351. package/dist/chunk-H5VMHDRD.cjs.map +0 -1
  352. package/dist/chunk-H7VK36SZ.cjs.map +0 -1
  353. package/dist/chunk-KUXFEAT4.cjs +0 -80
  354. package/dist/chunk-KUXFEAT4.cjs.map +0 -1
  355. package/dist/chunk-MHAXS4GO.cjs.map +0 -1
  356. package/dist/chunk-NXTDP6AX.js.map +0 -1
  357. package/dist/chunk-VXBVSYPA.cjs.map +0 -1
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkR3ZS6FU6_cjs = require('./chunk-R3ZS6FU6.cjs');
3
+ var chunkRX2FXCIH_cjs = require('./chunk-RX2FXCIH.cjs');
4
4
  var chunkXPHXAZCE_cjs = require('./chunk-XPHXAZCE.cjs');
5
- var chunkVXOIOPGZ_cjs = require('./chunk-VXOIOPGZ.cjs');
6
- var chunkGU65FGY6_cjs = require('./chunk-GU65FGY6.cjs');
5
+ var chunkWOVSJHY6_cjs = require('./chunk-WOVSJHY6.cjs');
6
+ var chunkOCYZKZ24_cjs = require('./chunk-OCYZKZ24.cjs');
7
7
  var chunk2MXK2SDR_cjs = require('./chunk-2MXK2SDR.cjs');
8
- var chunkMHAXS4GO_cjs = require('./chunk-MHAXS4GO.cjs');
8
+ var chunkCKDB7QNT_cjs = require('./chunk-CKDB7QNT.cjs');
9
9
  var chunk6SHL7FYO_cjs = require('./chunk-6SHL7FYO.cjs');
10
10
  var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
11
11
  var chunkJ4PIYOWT_cjs = require('./chunk-J4PIYOWT.cjs');
@@ -319,9 +319,9 @@ function FileInput({
319
319
  }
320
320
  }
321
321
  } : {};
322
- const necessity = chunkR3ZS6FU6_cjs.getNecessity(isOptional, isRequired);
322
+ const necessity = chunkRX2FXCIH_cjs.getNecessity(isOptional, isRequired);
323
323
  return /* @__PURE__ */ jsxRuntime.jsx(
324
- chunkR3ZS6FU6_cjs.Field,
324
+ chunkRX2FXCIH_cjs.Field,
325
325
  {
326
326
  description,
327
327
  descriptionID,
@@ -361,9 +361,9 @@ function FileInput({
361
361
  type: "file"
362
362
  }
363
363
  ) }),
364
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGU65FGY6_cjs.Spinner, { size: isDropzone ? "md" : "sm" }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.icon, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4PIYOWT_cjs.Icon, { icon: lucideReact.Upload, size: isDropzone ? "md" : "sm" }) }),
364
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkOCYZKZ24_cjs.Spinner, { size: isDropzone ? "md" : "sm" }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.icon, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4PIYOWT_cjs.Icon, { icon: lucideReact.Upload, size: isDropzone ? "md" : "sm" }) }),
365
365
  /* @__PURE__ */ jsxRuntime.jsx(
366
- chunkMHAXS4GO_cjs.Text,
366
+ chunkCKDB7QNT_cjs.Text,
367
367
  {
368
368
  as: "span",
369
369
  className: classes.fileName,
@@ -372,7 +372,7 @@ function FileInput({
372
372
  }
373
373
  ),
374
374
  fileNames != null && !isDisabled && !isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
375
- chunkVXOIOPGZ_cjs.Button,
375
+ chunkWOVSJHY6_cjs.Button,
376
376
  {
377
377
  icon: lucideReact.X,
378
378
  isIconOnly: true,
@@ -395,5 +395,5 @@ function FileInput({
395
395
  FileInput.displayName = "FileInput";
396
396
 
397
397
  exports.FileInput = FileInput;
398
- //# sourceMappingURL=chunk-VREW3BK6.cjs.map
399
- //# sourceMappingURL=chunk-VREW3BK6.cjs.map
398
+ //# sourceMappingURL=chunk-JTPVAZE6.cjs.map
399
+ //# sourceMappingURL=chunk-JTPVAZE6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/FileInput/FileInput.recipe.ts","../src/internal/formatFileSize.ts","../src/components/FileInput/FileInput.tsx"],"names":["sva","useId","useRef","useState","isReactNode","getStatusMessageID","getDescribedBy","getNecessity","jsx","Field","jsxs","cx","VisuallyHidden","mergeRefs","Spinner","Icon","Upload","Text","Button","X","getStatusIcon"],"mappings":"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","file":"chunk-VREW3BK6.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const fileInputRecipe = sva({\n slots: ['surface', 'icon', 'fileName'],\n base: {\n surface: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n px: '3',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'md',\n bg: 'bg',\n cursor: 'pointer',\n _hover: {borderColor: 'fg.muted'},\n },\n icon: {\n display: 'inline-flex',\n color: 'fg.muted',\n },\n fileName: {\n flex: 1,\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n },\n variants: {\n mode: {\n input: {\n surface: {\n position: 'relative',\n zIndex: 1,\n transitionProperty: 'border-color, box-shadow, opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _focusWithin: {\n borderColor: 'primary',\n boxShadow: 'focus',\n },\n },\n },\n dropzone: {\n surface: {\n minH: '32',\n flexDirection: 'column',\n justifyContent: 'center',\n borderStyle: 'dashed',\n textAlign: 'center',\n '& > *': {flex: 'none'},\n // Focus lives on the visually-hidden file input, so the surface\n // reflects it via :focus-within (the input mode uses boxShadow).\n _focusWithin: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n // Size only affects the input mode's height; the dropzone has a fixed\n // height, so the real styling lives in compoundVariants below.\n size: {\n sm: {},\n md: {},\n lg: {},\n },\n // Status border/focus colors only apply in input mode (the dropzone\n // surface keeps its dashed border), so they live in compoundVariants.\n status: {\n warning: {},\n error: {},\n success: {},\n },\n isDisabled: {\n true: {\n surface: {cursor: 'not-allowed', opacity: 0.55},\n },\n false: {},\n },\n isDragOver: {\n true: {\n surface: {borderColor: 'primary', bg: 'bg.selected'},\n },\n false: {},\n },\n },\n compoundVariants: [\n {mode: 'input', size: 'sm', css: {surface: {minH: 'component.sm'}}},\n {mode: 'input', size: 'md', css: {surface: {minH: 'component.md'}}},\n {mode: 'input', size: 'lg', css: {surface: {minH: 'component.lg'}}},\n {\n mode: 'input',\n status: 'warning',\n css: {\n surface: {\n borderColor: 'status.warning.border',\n _hover: {borderColor: 'status.warning.borderHover'},\n _focusWithin: {\n borderColor: 'status.warning.border',\n boxShadow: 'focus.warning',\n },\n },\n },\n },\n {\n mode: 'input',\n status: 'error',\n css: {\n surface: {\n borderColor: 'status.error.border',\n _hover: {borderColor: 'status.error.borderHover'},\n _focusWithin: {\n borderColor: 'status.error.border',\n boxShadow: 'focus.error',\n },\n },\n },\n },\n {\n mode: 'input',\n status: 'success',\n css: {\n surface: {\n borderColor: 'status.success.border',\n _hover: {borderColor: 'status.success.borderHover'},\n _focusWithin: {\n borderColor: 'status.success.border',\n boxShadow: 'focus.success',\n },\n },\n },\n },\n ],\n defaultVariants: {\n mode: 'input',\n size: 'md',\n isDisabled: false,\n isDragOver: false,\n },\n});\n\nexport type FileInputVariants = RecipeVariantProps<typeof fileInputRecipe>;\n","export function formatFileSize(bytes: number): string {\n if (bytes < 1024) {\n return `${bytes} B`;\n }\n\n if (bytes < 1024 * 1024) {\n return `${(bytes / 1024).toFixed(1)} KB`;\n }\n\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n}\n","import {Upload, X} from 'lucide-react';\nimport {\n useId,\n useRef,\n useState,\n type CSSProperties,\n type DragEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from 'components/Field';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from 'components/Field/inputUtils';\nimport {fileInputRecipe} from 'components/FileInput/FileInput.recipe';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Spinner} from 'components/Spinner';\nimport {Text} from 'components/Text';\nimport {VisuallyHidden} from 'internal/VisuallyHidden';\nimport {cx} from 'internal/cx';\nimport {formatFileSize} from 'internal/formatFileSize';\nimport isReactNode from 'internal/isReactNode';\nimport {mergeRefs} from 'internal/mergeRefs';\n\nexport type FileInputMode = 'dropzone' | 'input';\n\ninterface FileInputBaseProps {\n /**\n * Comma-separated MIME types or file extensions the input accepts.\n */\n accept?: string;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the hidden file input.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum file size in bytes.\n */\n maxSize?: number;\n /**\n * Display mode: inline input or drag-and-drop dropzone.\n * @default 'input'\n */\n mode?: FileInputMode;\n /**\n * Placeholder text shown when no file is selected.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the hidden file input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the input.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\ninterface FileInputSingleProps extends FileInputBaseProps {\n /**\n * Whether multiple files can be selected.\n */\n isMultiple?: false;\n /**\n * Maximum number of files allowed. Only applicable when isMultiple is true.\n */\n maxFiles?: undefined;\n /**\n * Called when the selected file changes.\n */\n onChange: (file: File | null) => void;\n /**\n * Currently selected file.\n */\n value: File | null;\n}\n\ninterface FileInputMultipleProps extends FileInputBaseProps {\n /**\n * Whether multiple files can be selected.\n */\n isMultiple: true;\n /**\n * Maximum number of files allowed.\n */\n maxFiles?: number;\n /**\n * Called when the selected files change.\n */\n onChange: (files: File[]) => void;\n /**\n * Currently selected files.\n */\n value: File[];\n}\n\nexport type FileInputProps = (FileInputMultipleProps | FileInputSingleProps) &\n FieldNecessity;\n\nfunction validateFiles(\n files: File[],\n options: {\n accept?: string;\n isMultiple: boolean;\n maxFiles?: number;\n maxSize?: number;\n },\n): {error: string | null; files: File[]} {\n let validFiles = files;\n if (options.accept != null) {\n const acceptedTypes = options.accept\n .split(',')\n .map(type => type.trim().toLowerCase());\n validFiles = validFiles.filter(file =>\n acceptedTypes.some(type => {\n if (type.startsWith('.')) {\n return file.name.toLowerCase().endsWith(type);\n }\n if (type.endsWith('/*')) {\n return file.type.startsWith(type.slice(0, -1));\n }\n return file.type.toLowerCase() === type;\n }),\n );\n if (validFiles.length !== files.length) {\n return {\n files: validFiles,\n error: 'One or more files are not an accepted type.',\n };\n }\n }\n if (options.maxSize != null) {\n const maxSize = options.maxSize;\n const oversized = validFiles.find(file => file.size > maxSize);\n if (oversized != null) {\n return {\n error: `\"${oversized.name}\" exceeds ${formatFileSize(maxSize)}.`,\n files: validFiles.filter(file => file.size <= maxSize),\n };\n }\n }\n if (\n options.isMultiple &&\n options.maxFiles != null &&\n validFiles.length > options.maxFiles\n ) {\n return {\n files: validFiles.slice(0, options.maxFiles),\n error: `Maximum ${options.maxFiles} files allowed.`,\n };\n }\n return {files: validFiles, error: null};\n}\n\nfunction getFileNames(value: File | File[] | null): string | null {\n if (value == null) {\n return null;\n }\n if (Array.isArray(value)) {\n return value.length === 0 ? null : value.map(file => file.name).join(', ');\n }\n return value.name;\n}\n\n/**\n * A file input supporting both inline and drag-and-drop dropzone modes.\n */\nexport function FileInput({\n label,\n value,\n onChange,\n accept,\n isMultiple = false,\n maxSize,\n maxFiles,\n mode = 'input',\n placeholder,\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n size = 'md',\n status: statusFromProps,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: FileInputProps): React.JSX.Element {\n const inputId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragOver, setIsDragOver] = useState(false);\n const [validationError, setValidationError] = useState<string | null>(null);\n // A validation error from the user's most recent selection is immediate,\n // actionable feedback about what they just tried to do (wrong type, too\n // large, too many), so it takes precedence over a consumer-provided `status`\n // such as a form-level \"required\". Once there is no validation error (a valid\n // selection or a cleared field), the external status surfaces again.\n const status =\n validationError == null\n ? statusFromProps\n : {type: 'error' as const, message: validationError};\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const fileNames = getFileNames(value);\n const displayText =\n fileNames ?? placeholder ?? (isMultiple ? 'Choose files' : 'Choose file');\n const isDropzone = mode === 'dropzone';\n const classes = fileInputRecipe({\n mode,\n size,\n status: status?.type,\n isDisabled,\n isDragOver,\n });\n\n const handleFiles = (files: File[]) => {\n if (isDisabled) {\n return;\n }\n const result = validateFiles(files, {\n accept,\n isMultiple,\n maxFiles,\n maxSize,\n });\n setValidationError(result.error);\n if (isMultiple) {\n (onChange as (files: File[]) => void)(result.files);\n } else if (result.files.length === 0) {\n (onChange as (file: File | null) => void)(null);\n } else {\n (onChange as (file: File | null) => void)(result.files[0]);\n }\n };\n\n const handleClear = () => {\n setValidationError(null);\n if (isMultiple) {\n (onChange as (files: File[]) => void)([]);\n } else {\n (onChange as (file: File | null) => void)(null);\n }\n };\n\n const openFilePicker = () => {\n if (!isDisabled) {\n inputRef.current?.click();\n }\n };\n\n const dragProps = isDropzone\n ? {\n onDragEnter: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n if (!isDisabled) {\n setIsDragOver(true);\n }\n },\n onDragLeave: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragOver(false);\n },\n onDragOver: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n if (!isDisabled) {\n setIsDragOver(true);\n }\n },\n onDrop: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragOver(false);\n if (!isDisabled) {\n handleFiles(Array.from(event.dataTransfer.files));\n }\n },\n }\n : {};\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }>\n {/*\n The visually-hidden <input> is the real, focusable, labeled control\n (the Field label targets it via htmlFor), so it owns the accessible\n name, description, focus, and keyboard activation. The surface is only\n a presentational mouse/drop target — it intentionally has no role or\n keyboard handler, because that would create a redundant second control\n with the same name. Hence the scoped a11y disables below.\n */}\n {/* eslint-disable jsx-a11y-x/no-static-element-interactions, jsx-a11y-x/click-events-have-key-events */}\n <div\n aria-busy={isLoading || undefined}\n className={cx(classes.surface, className)}\n onClick={openFilePicker}\n style={style}\n {...dragProps}>\n <VisuallyHidden>\n <input\n accept={accept}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n multiple={isMultiple}\n onChange={event => {\n handleFiles(Array.from(event.target.files ?? []));\n event.currentTarget.value = '';\n }}\n ref={mergeRefs(ref, inputRef)}\n required={isRequired}\n type=\"file\"\n />\n </VisuallyHidden>\n {isLoading ? (\n <Spinner size={isDropzone ? 'md' : 'sm'} />\n ) : (\n <span className={classes.icon}>\n <Icon icon={Upload} size={isDropzone ? 'md' : 'sm'} />\n </span>\n )}\n <Text\n as=\"span\"\n className={classes.fileName}\n color={fileNames == null ? 'secondary' : 'primary'}>\n {isDragOver ? 'Drop files here' : displayText}\n </Text>\n {fileNames != null && !isDisabled && !isLoading ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n handleClear();\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {status != null && !isDropzone ? (\n <span className={classes.icon}>{getStatusIcon(status.type)}</span>\n ) : null}\n </div>\n {/* eslint-enable jsx-a11y-x/no-static-element-interactions, jsx-a11y-x/click-events-have-key-events */}\n </Field>\n );\n}\n\nFileInput.displayName = 'FileInput';\n"]}
1
+ {"version":3,"sources":["../src/components/FileInput/FileInput.recipe.ts","../src/internal/formatFileSize.ts","../src/components/FileInput/FileInput.tsx"],"names":["sva","useId","useRef","useState","isReactNode","getStatusMessageID","getDescribedBy","getNecessity","jsx","Field","jsxs","cx","VisuallyHidden","mergeRefs","Spinner","Icon","Upload","Text","Button","X","getStatusIcon"],"mappings":"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","file":"chunk-JTPVAZE6.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const fileInputRecipe = sva({\n slots: ['surface', 'icon', 'fileName'],\n base: {\n surface: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n px: '3',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'md',\n bg: 'bg',\n cursor: 'pointer',\n _hover: {borderColor: 'fg.muted'},\n },\n icon: {\n display: 'inline-flex',\n color: 'fg.muted',\n },\n fileName: {\n flex: 1,\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n },\n variants: {\n mode: {\n input: {\n surface: {\n position: 'relative',\n zIndex: 1,\n transitionProperty: 'border-color, box-shadow, opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _focusWithin: {\n borderColor: 'primary',\n boxShadow: 'focus',\n },\n },\n },\n dropzone: {\n surface: {\n minH: '32',\n flexDirection: 'column',\n justifyContent: 'center',\n borderStyle: 'dashed',\n textAlign: 'center',\n '& > *': {flex: 'none'},\n // Focus lives on the visually-hidden file input, so the surface\n // reflects it via :focus-within (the input mode uses boxShadow).\n _focusWithin: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n // Size only affects the input mode's height; the dropzone has a fixed\n // height, so the real styling lives in compoundVariants below.\n size: {\n sm: {},\n md: {},\n lg: {},\n },\n // Status border/focus colors only apply in input mode (the dropzone\n // surface keeps its dashed border), so they live in compoundVariants.\n status: {\n warning: {},\n error: {},\n success: {},\n },\n isDisabled: {\n true: {\n surface: {cursor: 'not-allowed', opacity: 0.55},\n },\n false: {},\n },\n isDragOver: {\n true: {\n surface: {borderColor: 'primary', bg: 'bg.selected'},\n },\n false: {},\n },\n },\n compoundVariants: [\n {mode: 'input', size: 'sm', css: {surface: {minH: 'component.sm'}}},\n {mode: 'input', size: 'md', css: {surface: {minH: 'component.md'}}},\n {mode: 'input', size: 'lg', css: {surface: {minH: 'component.lg'}}},\n {\n mode: 'input',\n status: 'warning',\n css: {\n surface: {\n borderColor: 'status.warning.border',\n _hover: {borderColor: 'status.warning.borderHover'},\n _focusWithin: {\n borderColor: 'status.warning.border',\n boxShadow: 'focus.warning',\n },\n },\n },\n },\n {\n mode: 'input',\n status: 'error',\n css: {\n surface: {\n borderColor: 'status.error.border',\n _hover: {borderColor: 'status.error.borderHover'},\n _focusWithin: {\n borderColor: 'status.error.border',\n boxShadow: 'focus.error',\n },\n },\n },\n },\n {\n mode: 'input',\n status: 'success',\n css: {\n surface: {\n borderColor: 'status.success.border',\n _hover: {borderColor: 'status.success.borderHover'},\n _focusWithin: {\n borderColor: 'status.success.border',\n boxShadow: 'focus.success',\n },\n },\n },\n },\n ],\n defaultVariants: {\n mode: 'input',\n size: 'md',\n isDisabled: false,\n isDragOver: false,\n },\n});\n\nexport type FileInputVariants = RecipeVariantProps<typeof fileInputRecipe>;\n","export function formatFileSize(bytes: number): string {\n if (bytes < 1024) {\n return `${bytes} B`;\n }\n\n if (bytes < 1024 * 1024) {\n return `${(bytes / 1024).toFixed(1)} KB`;\n }\n\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n}\n","import {Upload, X} from 'lucide-react';\nimport {\n useId,\n useRef,\n useState,\n type CSSProperties,\n type DragEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from 'components/Field';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from 'components/Field/inputUtils';\nimport {fileInputRecipe} from 'components/FileInput/FileInput.recipe';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Spinner} from 'components/Spinner';\nimport {Text} from 'components/Text';\nimport {VisuallyHidden} from 'internal/VisuallyHidden';\nimport {cx} from 'internal/cx';\nimport {formatFileSize} from 'internal/formatFileSize';\nimport isReactNode from 'internal/isReactNode';\nimport {mergeRefs} from 'internal/mergeRefs';\n\nexport type FileInputMode = 'dropzone' | 'input';\n\ninterface FileInputBaseProps {\n /**\n * Comma-separated MIME types or file extensions the input accepts.\n */\n accept?: string;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the hidden file input.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum file size in bytes.\n */\n maxSize?: number;\n /**\n * Display mode: inline input or drag-and-drop dropzone.\n * @default 'input'\n */\n mode?: FileInputMode;\n /**\n * Placeholder text shown when no file is selected.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the hidden file input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the input.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\ninterface FileInputSingleProps extends FileInputBaseProps {\n /**\n * Whether multiple files can be selected.\n */\n isMultiple?: false;\n /**\n * Maximum number of files allowed. Only applicable when isMultiple is true.\n */\n maxFiles?: undefined;\n /**\n * Called when the selected file changes.\n */\n onChange: (file: File | null) => void;\n /**\n * Currently selected file.\n */\n value: File | null;\n}\n\ninterface FileInputMultipleProps extends FileInputBaseProps {\n /**\n * Whether multiple files can be selected.\n */\n isMultiple: true;\n /**\n * Maximum number of files allowed.\n */\n maxFiles?: number;\n /**\n * Called when the selected files change.\n */\n onChange: (files: File[]) => void;\n /**\n * Currently selected files.\n */\n value: File[];\n}\n\nexport type FileInputProps = (FileInputMultipleProps | FileInputSingleProps) &\n FieldNecessity;\n\nfunction validateFiles(\n files: File[],\n options: {\n accept?: string;\n isMultiple: boolean;\n maxFiles?: number;\n maxSize?: number;\n },\n): {error: string | null; files: File[]} {\n let validFiles = files;\n if (options.accept != null) {\n const acceptedTypes = options.accept\n .split(',')\n .map(type => type.trim().toLowerCase());\n validFiles = validFiles.filter(file =>\n acceptedTypes.some(type => {\n if (type.startsWith('.')) {\n return file.name.toLowerCase().endsWith(type);\n }\n if (type.endsWith('/*')) {\n return file.type.startsWith(type.slice(0, -1));\n }\n return file.type.toLowerCase() === type;\n }),\n );\n if (validFiles.length !== files.length) {\n return {\n files: validFiles,\n error: 'One or more files are not an accepted type.',\n };\n }\n }\n if (options.maxSize != null) {\n const maxSize = options.maxSize;\n const oversized = validFiles.find(file => file.size > maxSize);\n if (oversized != null) {\n return {\n error: `\"${oversized.name}\" exceeds ${formatFileSize(maxSize)}.`,\n files: validFiles.filter(file => file.size <= maxSize),\n };\n }\n }\n if (\n options.isMultiple &&\n options.maxFiles != null &&\n validFiles.length > options.maxFiles\n ) {\n return {\n files: validFiles.slice(0, options.maxFiles),\n error: `Maximum ${options.maxFiles} files allowed.`,\n };\n }\n return {files: validFiles, error: null};\n}\n\nfunction getFileNames(value: File | File[] | null): string | null {\n if (value == null) {\n return null;\n }\n if (Array.isArray(value)) {\n return value.length === 0 ? null : value.map(file => file.name).join(', ');\n }\n return value.name;\n}\n\n/**\n * A file input supporting both inline and drag-and-drop dropzone modes.\n */\nexport function FileInput({\n label,\n value,\n onChange,\n accept,\n isMultiple = false,\n maxSize,\n maxFiles,\n mode = 'input',\n placeholder,\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n size = 'md',\n status: statusFromProps,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: FileInputProps): React.JSX.Element {\n const inputId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragOver, setIsDragOver] = useState(false);\n const [validationError, setValidationError] = useState<string | null>(null);\n // A validation error from the user's most recent selection is immediate,\n // actionable feedback about what they just tried to do (wrong type, too\n // large, too many), so it takes precedence over a consumer-provided `status`\n // such as a form-level \"required\". Once there is no validation error (a valid\n // selection or a cleared field), the external status surfaces again.\n const status =\n validationError == null\n ? statusFromProps\n : {type: 'error' as const, message: validationError};\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const fileNames = getFileNames(value);\n const displayText =\n fileNames ?? placeholder ?? (isMultiple ? 'Choose files' : 'Choose file');\n const isDropzone = mode === 'dropzone';\n const classes = fileInputRecipe({\n mode,\n size,\n status: status?.type,\n isDisabled,\n isDragOver,\n });\n\n const handleFiles = (files: File[]) => {\n if (isDisabled) {\n return;\n }\n const result = validateFiles(files, {\n accept,\n isMultiple,\n maxFiles,\n maxSize,\n });\n setValidationError(result.error);\n if (isMultiple) {\n (onChange as (files: File[]) => void)(result.files);\n } else if (result.files.length === 0) {\n (onChange as (file: File | null) => void)(null);\n } else {\n (onChange as (file: File | null) => void)(result.files[0]);\n }\n };\n\n const handleClear = () => {\n setValidationError(null);\n if (isMultiple) {\n (onChange as (files: File[]) => void)([]);\n } else {\n (onChange as (file: File | null) => void)(null);\n }\n };\n\n const openFilePicker = () => {\n if (!isDisabled) {\n inputRef.current?.click();\n }\n };\n\n const dragProps = isDropzone\n ? {\n onDragEnter: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n if (!isDisabled) {\n setIsDragOver(true);\n }\n },\n onDragLeave: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragOver(false);\n },\n onDragOver: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n if (!isDisabled) {\n setIsDragOver(true);\n }\n },\n onDrop: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragOver(false);\n if (!isDisabled) {\n handleFiles(Array.from(event.dataTransfer.files));\n }\n },\n }\n : {};\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }>\n {/*\n The visually-hidden <input> is the real, focusable, labeled control\n (the Field label targets it via htmlFor), so it owns the accessible\n name, description, focus, and keyboard activation. The surface is only\n a presentational mouse/drop target — it intentionally has no role or\n keyboard handler, because that would create a redundant second control\n with the same name. Hence the scoped a11y disables below.\n */}\n {/* eslint-disable jsx-a11y-x/no-static-element-interactions, jsx-a11y-x/click-events-have-key-events */}\n <div\n aria-busy={isLoading || undefined}\n className={cx(classes.surface, className)}\n onClick={openFilePicker}\n style={style}\n {...dragProps}>\n <VisuallyHidden>\n <input\n accept={accept}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n multiple={isMultiple}\n onChange={event => {\n handleFiles(Array.from(event.target.files ?? []));\n event.currentTarget.value = '';\n }}\n ref={mergeRefs(ref, inputRef)}\n required={isRequired}\n type=\"file\"\n />\n </VisuallyHidden>\n {isLoading ? (\n <Spinner size={isDropzone ? 'md' : 'sm'} />\n ) : (\n <span className={classes.icon}>\n <Icon icon={Upload} size={isDropzone ? 'md' : 'sm'} />\n </span>\n )}\n <Text\n as=\"span\"\n className={classes.fileName}\n color={fileNames == null ? 'secondary' : 'primary'}>\n {isDragOver ? 'Drop files here' : displayText}\n </Text>\n {fileNames != null && !isDisabled && !isLoading ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n handleClear();\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {status != null && !isDropzone ? (\n <span className={classes.icon}>{getStatusIcon(status.type)}</span>\n ) : null}\n </div>\n {/* eslint-enable jsx-a11y-x/no-static-element-interactions, jsx-a11y-x/click-events-have-key-events */}\n </Field>\n );\n}\n\nFileInput.displayName = 'FileInput';\n"]}
@@ -2,8 +2,8 @@
2
2
 
3
3
  var chunkDLIYUFTS_cjs = require('./chunk-DLIYUFTS.cjs');
4
4
  var chunkQB2BSOM4_cjs = require('./chunk-QB2BSOM4.cjs');
5
- var chunkVXOIOPGZ_cjs = require('./chunk-VXOIOPGZ.cjs');
6
- var chunkMHAXS4GO_cjs = require('./chunk-MHAXS4GO.cjs');
5
+ var chunkWOVSJHY6_cjs = require('./chunk-WOVSJHY6.cjs');
6
+ var chunkCKDB7QNT_cjs = require('./chunk-CKDB7QNT.cjs');
7
7
  var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
8
8
  var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
9
9
  var lucideReact = require('lucide-react');
@@ -284,7 +284,7 @@ function CodeBlock({
284
284
  } catch {
285
285
  }
286
286
  }, [code, onCopy]);
287
- const paddingToken = chunkMHAXS4GO_cjs.token(`spacing.${padding}`);
287
+ const paddingToken = chunkCKDB7QNT_cjs.token(`spacing.${padding}`);
288
288
  const codeStyle = {
289
289
  ["--cb-padding"]: paddingToken,
290
290
  padding: paddingToken
@@ -305,7 +305,7 @@ function CodeBlock({
305
305
  };
306
306
  const copyLabel = copied ? "Copied" : "Copy code";
307
307
  const copyButton = hasCopyButton ? /* @__PURE__ */ jsxRuntime.jsx(
308
- chunkVXOIOPGZ_cjs.Button,
308
+ chunkWOVSJHY6_cjs.Button,
309
309
  {
310
310
  icon: copied ? lucideReact.Check : lucideReact.Copy,
311
311
  isIconOnly: true,
@@ -412,5 +412,5 @@ function CodeBlock({
412
412
  CodeBlock.displayName = "CodeBlock";
413
413
 
414
414
  exports.CodeBlock = CodeBlock;
415
- //# sourceMappingURL=chunk-FLDTPAG4.cjs.map
416
- //# sourceMappingURL=chunk-FLDTPAG4.cjs.map
415
+ //# sourceMappingURL=chunk-JWMS6LHN.cjs.map
416
+ //# sourceMappingURL=chunk-JWMS6LHN.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/CodeBlock/CodeBlock.recipe.ts","../src/components/CodeBlock/CodeBlock.tsx"],"names":["sva","useState","useRef","useMemo","useEffect","useCallback","token","jsx","Button","Check","Copy","jsxs","Card","cx","Fragment","Divider"],"mappings":"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","file":"chunk-FLDTPAG4.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const codeBlockRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'headerTitle',\n 'scroll',\n 'body',\n 'gutter',\n 'gutterLine',\n 'pre',\n 'code',\n 'line',\n 'copyButtonFloating',\n 'inlineCode',\n 'inlineDivider',\n ],\n base: {\n root: {\n color: 'fg',\n overflow: 'hidden',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '3',\n px: '4',\n py: '2',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n },\n headerTitle: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'fg.muted',\n fontFamily: 'mono',\n fontSize: 'xs',\n fontWeight: 'medium',\n },\n scroll: {\n overflow: 'auto',\n },\n body: {\n display: 'flex',\n minW: 'fit-content',\n },\n gutter: {\n flexShrink: 0,\n py: '3',\n ps: '4',\n pe: '3',\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n color: 'fg.muted',\n textAlign: 'end',\n userSelect: 'none',\n },\n gutterLine: {\n fontFamily: 'mono',\n lineHeight: '1.5rem',\n },\n pre: {\n m: 0,\n flex: 1,\n minW: 0,\n },\n code: {\n display: 'flex',\n flexDirection: 'column',\n color: 'fg',\n fontFamily: 'mono',\n tabSize: 2,\n whiteSpace: 'pre',\n wordBreak: 'normal',\n overflowWrap: 'normal',\n },\n line: {\n display: 'block',\n minH: '1.5rem',\n '&[data-highlighted]': {\n bg: 'bg.selected',\n mx: 'calc(var(--cb-padding) * -1)',\n px: 'var(--cb-padding)',\n },\n },\n copyButtonFloating: {\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n // On hover-capable devices, hide until the block is hovered/focused (the\n // root reveals it via [data-cb-copy]). On touch devices it stays visible.\n '@media (hover: hover)': {\n opacity: 0,\n pointerEvents: 'none',\n transitionProperty: 'opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n inlineCode: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'pre',\n fontFamily: 'mono',\n },\n inlineDivider: {\n alignSelf: 'stretch',\n ms: '1.5',\n },\n },\n variants: {\n container: {\n card: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 'md',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n section: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n inline: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxWidth: '100%',\n ps: '2.5',\n },\n },\n },\n size: {\n sm: {\n code: {fontSize: 'xs', lineHeight: '1.5rem'},\n gutter: {fontSize: 'xs', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'xs', lineHeight: '1.5rem'},\n },\n md: {\n code: {fontSize: 'sm', lineHeight: '1.5rem'},\n gutter: {fontSize: 'sm', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'sm', lineHeight: '1.5rem'},\n },\n },\n isWrapped: {\n true: {\n code: {\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflowWrap: 'anywhere',\n },\n },\n },\n hasFloatingCopy: {\n true: {\n code: {pe: '12'},\n },\n },\n },\n defaultVariants: {\n container: 'card',\n size: 'md',\n isWrapped: false,\n hasFloatingCopy: false,\n },\n});\n\nexport type CodeBlockVariants = RecipeVariantProps<typeof codeBlockRecipe>;\n","'use client';\n\nimport {Check, Copy} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {Card} from 'components/Card';\nimport {codeBlockRecipe} from 'components/CodeBlock/CodeBlock.recipe';\nimport {Divider} from 'components/Divider';\nimport {cx} from 'internal/cx';\nimport type {SpacingToken} from 'internal/spacingTokens';\nimport {token} from 'styled-system/tokens';\n\nexport type CodeBlockContainer = 'card' | 'section' | 'inline';\nexport type CodeBlockSize = 'sm' | 'md';\n\nexport interface CodeBlockProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Source code to display.\n */\n code: string;\n /**\n * Container presentation style. Use `'inline'` for a compact, single-line\n * snippet (e.g. an install command) with the copy button rendered inline;\n * line numbers, titles, and `maxHeight` do not apply to inline blocks.\n * @default 'card'\n */\n container?: CodeBlockContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a copy button.\n * @default true\n */\n hasCopyButton?: boolean;\n /**\n * Whether to render line numbers.\n * @default false\n */\n hasLineNumbers?: boolean;\n /**\n * One-based line numbers to visually highlight.\n */\n highlightLines?: number[];\n /**\n * Whether long lines should wrap.\n * @default false\n */\n isWrapped?: boolean;\n /**\n * Accessible label for the code block region.\n */\n label?: string;\n /**\n * Maximum scrollable body height. Numbers are treated as pixels.\n */\n maxHeight?: number | string;\n /**\n * Called after code is successfully copied.\n */\n onCopy?: () => void;\n /**\n * Inner padding step.\n * @default 4\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: CodeBlockSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Optional header title.\n */\n title?: string;\n /**\n * Width of the code block. Accepts any CSS width value.\n * @default 'fit-content'\n */\n width?: string;\n}\n\nfunction getLines(code: string): string[] {\n const lines = code.split('\\n');\n if (lines.length > 1 && lines[lines.length - 1] === '') {\n lines.pop();\n }\n return lines;\n}\n\nfunction getLineEntries(code: string): {lineNumber: number; text: string}[] {\n return getLines(code).map((text, index) => ({\n lineNumber: index + 1,\n text,\n }));\n}\n\nfunction getRegionLabel({\n label,\n title,\n}: {\n label?: string;\n title?: string;\n}): string {\n if (label != null) {\n return label;\n }\n\n if (title != null && title.length > 0) {\n return `${title} code block`;\n }\n\n return 'Code block';\n}\n\n/**\n * Read-only source code display.\n */\nexport function CodeBlock({\n className,\n code,\n container = 'card',\n 'data-testid': dataTestId,\n hasCopyButton = true,\n hasLineNumbers = false,\n highlightLines,\n isWrapped = false,\n label,\n maxHeight,\n onCopy,\n padding = 4,\n ref,\n size = 'md',\n style,\n title,\n width = 'fit-content',\n}: CodeBlockProps): React.JSX.Element {\n const [copied, setCopied] = useState(false);\n const copiedResetTimeoutRef = useRef<number | null>(null);\n const lines = useMemo(() => getLineEntries(code), [code]);\n const highlightLineKey = highlightLines?.join(',');\n const highlightedLines = useMemo(\n () =>\n highlightLineKey == null || highlightLineKey.length === 0\n ? null\n : new Set(highlightLineKey.split(',').map(Number)),\n [highlightLineKey],\n );\n const isInline = container === 'inline';\n const showHeader = !isInline && title != null;\n const regionLabel = getRegionLabel({label, title});\n\n const classes = codeBlockRecipe({\n container,\n size,\n isWrapped,\n hasFloatingCopy: !showHeader && hasCopyButton,\n });\n\n useEffect(() => {\n return () => {\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n };\n }, []);\n\n const handleCopy = useCallback(async () => {\n try {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n onCopy?.();\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n copiedResetTimeoutRef.current = window.setTimeout(() => {\n setCopied(false);\n copiedResetTimeoutRef.current = null;\n }, 2000);\n } catch {\n // Clipboard failures leave the copied state unchanged.\n }\n }, [code, onCopy]);\n\n const paddingToken = token(`spacing.${padding}`);\n const codeStyle: CSSProperties = {\n ['--cb-padding' as string]: paddingToken,\n padding: paddingToken,\n };\n\n const rootStyle: CSSProperties = isInline\n ? {...style}\n : {\n width,\n minWidth: width === 'fit-content' ? 'min(100%, 400px)' : undefined,\n maxWidth: width === 'fit-content' ? '100%' : undefined,\n ...style,\n };\n const scrollStyle: CSSProperties | undefined =\n maxHeight == null\n ? undefined\n : {\n maxHeight:\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n };\n const scrollRegionProps = {\n 'aria-label': `${regionLabel} scroll area`,\n role: 'region',\n tabIndex: 0,\n } as const;\n\n const copyLabel = copied ? 'Copied' : 'Copy code';\n const copyButton = hasCopyButton ? (\n <Button\n icon={copied ? Check : Copy}\n isIconOnly\n label={copyLabel}\n onClick={() => {\n void handleCopy();\n }}\n size=\"sm\"\n tooltip={copyLabel}\n variant=\"ghost\"\n />\n ) : null;\n\n if (isInline) {\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n padding={1}\n ref={ref}\n role=\"group\"\n style={rootStyle}>\n <code\n className={classes.inlineCode}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-code`}>\n {code}\n </code>\n {copyButton != null ? (\n <>\n <Divider\n className={classes.inlineDivider}\n height=\"auto\"\n isFullBleed\n orientation=\"vertical\"\n />\n {copyButton}\n </>\n ) : null}\n </Card>\n );\n }\n\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={rootStyle}\n variant={container === 'section' ? 'section' : 'default'}>\n {showHeader ? (\n <div className={classes.header}>\n <div className={classes.headerTitle}>{title}</div>\n {copyButton}\n </div>\n ) : null}\n <div\n {...scrollRegionProps}\n className={classes.scroll}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-scroll`}\n style={scrollStyle}>\n <div className={classes.body}>\n {hasLineNumbers ? (\n <div aria-hidden=\"true\" className={classes.gutter}>\n {lines.map(line => (\n <div className={classes.gutterLine} key={line.lineNumber}>\n {line.lineNumber}\n </div>\n ))}\n </div>\n ) : null}\n <pre className={classes.pre}>\n <code\n className={classes.code}\n data-testid={\n dataTestId == null ? undefined : `${dataTestId}-code`\n }\n data-wrapped={isWrapped ? '' : undefined}\n style={codeStyle}>\n {lines.map(line => (\n <span\n className={classes.line}\n data-highlighted={\n highlightedLines?.has(line.lineNumber) ? '' : undefined\n }\n data-line={line.lineNumber}\n key={line.lineNumber}>\n {line.text.length === 0 ? '\\u200b' : line.text}\n </span>\n ))}\n </code>\n </pre>\n </div>\n </div>\n {!showHeader && copyButton != null ? (\n <div className={classes.copyButtonFloating} data-cb-copy=\"\">\n {copyButton}\n </div>\n ) : null}\n </Card>\n );\n}\n\nCodeBlock.displayName = 'CodeBlock';\n"]}
1
+ {"version":3,"sources":["../src/components/CodeBlock/CodeBlock.recipe.ts","../src/components/CodeBlock/CodeBlock.tsx"],"names":["sva","useState","useRef","useMemo","useEffect","useCallback","token","jsx","Button","Check","Copy","jsxs","Card","cx","Fragment","Divider"],"mappings":"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","file":"chunk-JWMS6LHN.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const codeBlockRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'headerTitle',\n 'scroll',\n 'body',\n 'gutter',\n 'gutterLine',\n 'pre',\n 'code',\n 'line',\n 'copyButtonFloating',\n 'inlineCode',\n 'inlineDivider',\n ],\n base: {\n root: {\n color: 'fg',\n overflow: 'hidden',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '3',\n px: '4',\n py: '2',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n },\n headerTitle: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'fg.muted',\n fontFamily: 'mono',\n fontSize: 'xs',\n fontWeight: 'medium',\n },\n scroll: {\n overflow: 'auto',\n },\n body: {\n display: 'flex',\n minW: 'fit-content',\n },\n gutter: {\n flexShrink: 0,\n py: '3',\n ps: '4',\n pe: '3',\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n color: 'fg.muted',\n textAlign: 'end',\n userSelect: 'none',\n },\n gutterLine: {\n fontFamily: 'mono',\n lineHeight: '1.5rem',\n },\n pre: {\n m: 0,\n flex: 1,\n minW: 0,\n },\n code: {\n display: 'flex',\n flexDirection: 'column',\n color: 'fg',\n fontFamily: 'mono',\n tabSize: 2,\n whiteSpace: 'pre',\n wordBreak: 'normal',\n overflowWrap: 'normal',\n },\n line: {\n display: 'block',\n minH: '1.5rem',\n '&[data-highlighted]': {\n bg: 'bg.selected',\n mx: 'calc(var(--cb-padding) * -1)',\n px: 'var(--cb-padding)',\n },\n },\n copyButtonFloating: {\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n // On hover-capable devices, hide until the block is hovered/focused (the\n // root reveals it via [data-cb-copy]). On touch devices it stays visible.\n '@media (hover: hover)': {\n opacity: 0,\n pointerEvents: 'none',\n transitionProperty: 'opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n inlineCode: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'pre',\n fontFamily: 'mono',\n },\n inlineDivider: {\n alignSelf: 'stretch',\n ms: '1.5',\n },\n },\n variants: {\n container: {\n card: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 'md',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n section: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n inline: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxWidth: '100%',\n ps: '2.5',\n },\n },\n },\n size: {\n sm: {\n code: {fontSize: 'xs', lineHeight: '1.5rem'},\n gutter: {fontSize: 'xs', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'xs', lineHeight: '1.5rem'},\n },\n md: {\n code: {fontSize: 'sm', lineHeight: '1.5rem'},\n gutter: {fontSize: 'sm', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'sm', lineHeight: '1.5rem'},\n },\n },\n isWrapped: {\n true: {\n code: {\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflowWrap: 'anywhere',\n },\n },\n },\n hasFloatingCopy: {\n true: {\n code: {pe: '12'},\n },\n },\n },\n defaultVariants: {\n container: 'card',\n size: 'md',\n isWrapped: false,\n hasFloatingCopy: false,\n },\n});\n\nexport type CodeBlockVariants = RecipeVariantProps<typeof codeBlockRecipe>;\n","'use client';\n\nimport {Check, Copy} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {Card} from 'components/Card';\nimport {codeBlockRecipe} from 'components/CodeBlock/CodeBlock.recipe';\nimport {Divider} from 'components/Divider';\nimport {cx} from 'internal/cx';\nimport type {SpacingToken} from 'internal/spacingTokens';\nimport {token} from 'styled-system/tokens';\n\nexport type CodeBlockContainer = 'card' | 'section' | 'inline';\nexport type CodeBlockSize = 'sm' | 'md';\n\nexport interface CodeBlockProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Source code to display.\n */\n code: string;\n /**\n * Container presentation style. Use `'inline'` for a compact, single-line\n * snippet (e.g. an install command) with the copy button rendered inline;\n * line numbers, titles, and `maxHeight` do not apply to inline blocks.\n * @default 'card'\n */\n container?: CodeBlockContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a copy button.\n * @default true\n */\n hasCopyButton?: boolean;\n /**\n * Whether to render line numbers.\n * @default false\n */\n hasLineNumbers?: boolean;\n /**\n * One-based line numbers to visually highlight.\n */\n highlightLines?: number[];\n /**\n * Whether long lines should wrap.\n * @default false\n */\n isWrapped?: boolean;\n /**\n * Accessible label for the code block region.\n */\n label?: string;\n /**\n * Maximum scrollable body height. Numbers are treated as pixels.\n */\n maxHeight?: number | string;\n /**\n * Called after code is successfully copied.\n */\n onCopy?: () => void;\n /**\n * Inner padding step.\n * @default 4\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: CodeBlockSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Optional header title.\n */\n title?: string;\n /**\n * Width of the code block. Accepts any CSS width value.\n * @default 'fit-content'\n */\n width?: string;\n}\n\nfunction getLines(code: string): string[] {\n const lines = code.split('\\n');\n if (lines.length > 1 && lines[lines.length - 1] === '') {\n lines.pop();\n }\n return lines;\n}\n\nfunction getLineEntries(code: string): {lineNumber: number; text: string}[] {\n return getLines(code).map((text, index) => ({\n lineNumber: index + 1,\n text,\n }));\n}\n\nfunction getRegionLabel({\n label,\n title,\n}: {\n label?: string;\n title?: string;\n}): string {\n if (label != null) {\n return label;\n }\n\n if (title != null && title.length > 0) {\n return `${title} code block`;\n }\n\n return 'Code block';\n}\n\n/**\n * Read-only source code display.\n */\nexport function CodeBlock({\n className,\n code,\n container = 'card',\n 'data-testid': dataTestId,\n hasCopyButton = true,\n hasLineNumbers = false,\n highlightLines,\n isWrapped = false,\n label,\n maxHeight,\n onCopy,\n padding = 4,\n ref,\n size = 'md',\n style,\n title,\n width = 'fit-content',\n}: CodeBlockProps): React.JSX.Element {\n const [copied, setCopied] = useState(false);\n const copiedResetTimeoutRef = useRef<number | null>(null);\n const lines = useMemo(() => getLineEntries(code), [code]);\n const highlightLineKey = highlightLines?.join(',');\n const highlightedLines = useMemo(\n () =>\n highlightLineKey == null || highlightLineKey.length === 0\n ? null\n : new Set(highlightLineKey.split(',').map(Number)),\n [highlightLineKey],\n );\n const isInline = container === 'inline';\n const showHeader = !isInline && title != null;\n const regionLabel = getRegionLabel({label, title});\n\n const classes = codeBlockRecipe({\n container,\n size,\n isWrapped,\n hasFloatingCopy: !showHeader && hasCopyButton,\n });\n\n useEffect(() => {\n return () => {\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n };\n }, []);\n\n const handleCopy = useCallback(async () => {\n try {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n onCopy?.();\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n copiedResetTimeoutRef.current = window.setTimeout(() => {\n setCopied(false);\n copiedResetTimeoutRef.current = null;\n }, 2000);\n } catch {\n // Clipboard failures leave the copied state unchanged.\n }\n }, [code, onCopy]);\n\n const paddingToken = token(`spacing.${padding}`);\n const codeStyle: CSSProperties = {\n ['--cb-padding' as string]: paddingToken,\n padding: paddingToken,\n };\n\n const rootStyle: CSSProperties = isInline\n ? {...style}\n : {\n width,\n minWidth: width === 'fit-content' ? 'min(100%, 400px)' : undefined,\n maxWidth: width === 'fit-content' ? '100%' : undefined,\n ...style,\n };\n const scrollStyle: CSSProperties | undefined =\n maxHeight == null\n ? undefined\n : {\n maxHeight:\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n };\n const scrollRegionProps = {\n 'aria-label': `${regionLabel} scroll area`,\n role: 'region',\n tabIndex: 0,\n } as const;\n\n const copyLabel = copied ? 'Copied' : 'Copy code';\n const copyButton = hasCopyButton ? (\n <Button\n icon={copied ? Check : Copy}\n isIconOnly\n label={copyLabel}\n onClick={() => {\n void handleCopy();\n }}\n size=\"sm\"\n tooltip={copyLabel}\n variant=\"ghost\"\n />\n ) : null;\n\n if (isInline) {\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n padding={1}\n ref={ref}\n role=\"group\"\n style={rootStyle}>\n <code\n className={classes.inlineCode}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-code`}>\n {code}\n </code>\n {copyButton != null ? (\n <>\n <Divider\n className={classes.inlineDivider}\n height=\"auto\"\n isFullBleed\n orientation=\"vertical\"\n />\n {copyButton}\n </>\n ) : null}\n </Card>\n );\n }\n\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={rootStyle}\n variant={container === 'section' ? 'section' : 'default'}>\n {showHeader ? (\n <div className={classes.header}>\n <div className={classes.headerTitle}>{title}</div>\n {copyButton}\n </div>\n ) : null}\n <div\n {...scrollRegionProps}\n className={classes.scroll}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-scroll`}\n style={scrollStyle}>\n <div className={classes.body}>\n {hasLineNumbers ? (\n <div aria-hidden=\"true\" className={classes.gutter}>\n {lines.map(line => (\n <div className={classes.gutterLine} key={line.lineNumber}>\n {line.lineNumber}\n </div>\n ))}\n </div>\n ) : null}\n <pre className={classes.pre}>\n <code\n className={classes.code}\n data-testid={\n dataTestId == null ? undefined : `${dataTestId}-code`\n }\n data-wrapped={isWrapped ? '' : undefined}\n style={codeStyle}>\n {lines.map(line => (\n <span\n className={classes.line}\n data-highlighted={\n highlightedLines?.has(line.lineNumber) ? '' : undefined\n }\n data-line={line.lineNumber}\n key={line.lineNumber}>\n {line.text.length === 0 ? '\\u200b' : line.text}\n </span>\n ))}\n </code>\n </pre>\n </div>\n </div>\n {!showHeader && copyButton != null ? (\n <div className={classes.copyButtonFloating} data-cb-copy=\"\">\n {copyButton}\n </div>\n ) : null}\n </Card>\n );\n}\n\nCodeBlock.displayName = 'CodeBlock';\n"]}
@@ -9,7 +9,8 @@ var inputRecipe = cva({
9
9
  display: "flex",
10
10
  alignItems: "center",
11
11
  gap: "2",
12
- px: "3",
12
+ paddingInlineStart: "3",
13
+ paddingInlineEnd: "1",
13
14
  borderWidth: "default",
14
15
  borderStyle: "solid",
15
16
  borderColor: "border.emphasized",
@@ -102,5 +103,5 @@ var inputStyles = {
102
103
  };
103
104
 
104
105
  export { inputRecipe, inputStyles };
105
- //# sourceMappingURL=chunk-3M23WX6K.js.map
106
- //# sourceMappingURL=chunk-3M23WX6K.js.map
106
+ //# sourceMappingURL=chunk-KB36TWOU.js.map
107
+ //# sourceMappingURL=chunk-KB36TWOU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Field/inputStyles.ts"],"names":[],"mappings":"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","file":"chunk-KB36TWOU.js","sourcesContent":["import {css, cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const inputRecipe = cva({\n base: {\n position: 'relative',\n zIndex: 1,\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n paddingInlineStart: '3',\n paddingInlineEnd: '1',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'md',\n bg: 'bg',\n transitionProperty: 'border-color, box-shadow, opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n borderColor: 'fg.muted',\n },\n _focusWithin: {\n borderColor: 'primary',\n boxShadow: 'focus',\n },\n },\n variants: {\n size: {\n sm: {minH: 'component.sm'},\n md: {minH: 'component.md'},\n lg: {minH: 'component.lg'},\n },\n status: {\n warning: {\n borderColor: 'status.warning.border',\n _hover: {borderColor: 'status.warning.borderHover'},\n _focusWithin: {\n borderColor: 'status.warning.border',\n boxShadow: 'focus.warning',\n },\n },\n error: {\n borderColor: 'status.error.border',\n _hover: {borderColor: 'status.error.borderHover'},\n _focusWithin: {\n borderColor: 'status.error.border',\n boxShadow: 'focus.error',\n },\n },\n success: {\n borderColor: 'status.success.border',\n _hover: {borderColor: 'status.success.borderHover'},\n _focusWithin: {\n borderColor: 'status.success.border',\n boxShadow: 'focus.success',\n },\n },\n },\n isDisabled: {\n true: {\n cursor: 'not-allowed',\n opacity: 0.55,\n },\n false: {},\n },\n },\n defaultVariants: {\n size: 'md',\n isDisabled: false,\n },\n});\n\nexport type InputVariants = RecipeVariantProps<typeof inputRecipe>;\n\nexport const inputStyles = {\n control: css({\n display: 'block',\n flex: 1,\n minW: 0,\n borderWidth: 0,\n borderStyle: 'none',\n p: 0,\n fontFamily: 'body',\n fontSize: 'md',\n lineHeight: 'normal',\n color: 'fg',\n bg: 'transparent',\n outline: 'none',\n _placeholder: {\n color: 'fg.muted',\n },\n _disabled: {\n cursor: 'not-allowed',\n },\n }),\n iconSlot: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n color: 'fg.muted',\n }),\n} as const;\n"]}
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkDXUFDJHA_cjs = require('./chunk-DXUFDJHA.cjs');
4
- var chunkVXBVSYPA_cjs = require('./chunk-VXBVSYPA.cjs');
5
- var chunkR3ZS6FU6_cjs = require('./chunk-R3ZS6FU6.cjs');
4
+ var chunkVPHB56GK_cjs = require('./chunk-VPHB56GK.cjs');
5
+ var chunkRX2FXCIH_cjs = require('./chunk-RX2FXCIH.cjs');
6
6
  var chunkXPHXAZCE_cjs = require('./chunk-XPHXAZCE.cjs');
7
- var chunkRAMDISDK_cjs = require('./chunk-RAMDISDK.cjs');
8
- var chunkVXOIOPGZ_cjs = require('./chunk-VXOIOPGZ.cjs');
9
- var chunkGU65FGY6_cjs = require('./chunk-GU65FGY6.cjs');
10
- var chunkMHAXS4GO_cjs = require('./chunk-MHAXS4GO.cjs');
7
+ var chunkMYSLJWCW_cjs = require('./chunk-MYSLJWCW.cjs');
8
+ var chunkWOVSJHY6_cjs = require('./chunk-WOVSJHY6.cjs');
9
+ var chunkOCYZKZ24_cjs = require('./chunk-OCYZKZ24.cjs');
10
+ var chunkCKDB7QNT_cjs = require('./chunk-CKDB7QNT.cjs');
11
11
  var chunk6SHL7FYO_cjs = require('./chunk-6SHL7FYO.cjs');
12
12
  var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
13
13
  var chunkJ4PIYOWT_cjs = require('./chunk-J4PIYOWT.cjs');
@@ -142,8 +142,8 @@ function AutocompleteInputItem(props) {
142
142
  children: [
143
143
  icon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.icon, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4PIYOWT_cjs.Icon, { color: "secondary", icon, size: "sm" }) }) : null,
144
144
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: classes.text, children: [
145
- /* @__PURE__ */ jsxRuntime.jsx(chunkMHAXS4GO_cjs.Text, { as: "span", color: "inherit", type: "label", children: item.label }),
146
- chunkQAO6QMNQ_cjs.isReactNode(description) ? /* @__PURE__ */ jsxRuntime.jsx(chunkMHAXS4GO_cjs.Text, { as: "span", color: "secondary", type: "supporting", children: description }) : null
145
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCKDB7QNT_cjs.Text, { as: "span", color: "inherit", type: "label", children: item.label }),
146
+ chunkQAO6QMNQ_cjs.isReactNode(description) ? /* @__PURE__ */ jsxRuntime.jsx(chunkCKDB7QNT_cjs.Text, { as: "span", color: "secondary", type: "supporting", children: description }) : null
147
147
  ] })
148
148
  ]
149
149
  }
@@ -342,8 +342,8 @@ function BaseAutocompleteInput({
342
342
  role: "listbox",
343
343
  children: isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: menuClasses.loading, role: "status", children: [
344
344
  /* @__PURE__ */ jsxRuntime.jsx(chunkJ4PIYOWT_cjs.Icon, { icon: lucideReact.LoaderCircle, size: "sm" }),
345
- /* @__PURE__ */ jsxRuntime.jsx(chunkMHAXS4GO_cjs.Text, { as: "span", color: "secondary", type: "supporting", children: "Loading" })
346
- ] }) : hasError ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: menuClasses.empty, role: "alert", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMHAXS4GO_cjs.Text, { as: "span", color: "secondary", type: "supporting", children: errorText }) }) : results.length === 0 && hasSearched ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: menuClasses.empty, children: /* @__PURE__ */ jsxRuntime.jsx(chunkMHAXS4GO_cjs.Text, { as: "span", color: "secondary", type: "supporting", children: emptySearchResultsText }) }) : results.map((item, index) => {
345
+ /* @__PURE__ */ jsxRuntime.jsx(chunkCKDB7QNT_cjs.Text, { as: "span", color: "secondary", type: "supporting", children: "Loading" })
346
+ ] }) : hasError ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: menuClasses.empty, role: "alert", children: /* @__PURE__ */ jsxRuntime.jsx(chunkCKDB7QNT_cjs.Text, { as: "span", color: "secondary", type: "supporting", children: errorText }) }) : results.length === 0 && hasSearched ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: menuClasses.empty, children: /* @__PURE__ */ jsxRuntime.jsx(chunkCKDB7QNT_cjs.Text, { as: "span", color: "secondary", type: "supporting", children: emptySearchResultsText }) }) : results.map((item, index) => {
347
347
  const isSelected = value?.id === item.id;
348
348
  return (
349
349
  // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events -- keyboard navigation is handled by the combobox input, not individual options
@@ -448,9 +448,9 @@ function BaseAutocompleteInput({
448
448
  value: query
449
449
  }
450
450
  ),
451
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGU65FGY6_cjs.Spinner, { size: "sm" }) : null,
451
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkOCYZKZ24_cjs.Spinner, { size: "sm" }) : null,
452
452
  /* @__PURE__ */ jsxRuntime.jsx(
453
- chunkRAMDISDK_cjs.Popover,
453
+ chunkMYSLJWCW_cjs.Popover,
454
454
  {
455
455
  anchorRef: anchorRef ?? fallbackAnchorRef,
456
456
  content: menu,
@@ -528,7 +528,7 @@ function AutocompleteInput({
528
528
  () => status == null ? void 0 : { ...status, messageID: statusMessageID },
529
529
  [status, statusMessageID]
530
530
  );
531
- const necessity = chunkR3ZS6FU6_cjs.getNecessity(isOptional, isRequired);
531
+ const necessity = chunkRX2FXCIH_cjs.getNecessity(isOptional, isRequired);
532
532
  const startEditing = react.useCallback(
533
533
  (seedQuery) => {
534
534
  if (isDisabled) {
@@ -547,7 +547,7 @@ function AutocompleteInput({
547
547
  [isDisabled]
548
548
  );
549
549
  return /* @__PURE__ */ jsxRuntime.jsx(
550
- chunkR3ZS6FU6_cjs.Field,
550
+ chunkRX2FXCIH_cjs.Field,
551
551
  {
552
552
  className,
553
553
  description,
@@ -566,7 +566,7 @@ function AutocompleteInput({
566
566
  "div",
567
567
  {
568
568
  className: chunkSPDVNY2Z_cjs.cx(
569
- chunkVXBVSYPA_cjs.inputRecipe({
569
+ chunkVPHB56GK_cjs.inputRecipe({
570
570
  size,
571
571
  status: status?.type,
572
572
  isDisabled
@@ -581,7 +581,7 @@ function AutocompleteInput({
581
581
  },
582
582
  ref: wrapperRef,
583
583
  children: [
584
- startIcon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVXBVSYPA_cjs.inputStyles.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4PIYOWT_cjs.Icon, { color: "secondary", icon: startIcon, size: "sm" }) }) : null,
584
+ startIcon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVPHB56GK_cjs.inputStyles.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4PIYOWT_cjs.Icon, { color: "secondary", icon: startIcon, size: "sm" }) }) : null,
585
585
  showTag ? /* @__PURE__ */ jsxRuntime.jsx(
586
586
  chunkDXUFDJHA_cjs.Tag,
587
587
  {
@@ -627,7 +627,7 @@ function AutocompleteInput({
627
627
  }
628
628
  ),
629
629
  hasClear && value != null && !isDisabled ? /* @__PURE__ */ jsxRuntime.jsx(
630
- chunkVXOIOPGZ_cjs.Button,
630
+ chunkWOVSJHY6_cjs.Button,
631
631
  {
632
632
  className: styles2.clearButton,
633
633
  icon: lucideReact.X,
@@ -674,5 +674,5 @@ exports.AutocompleteInput = AutocompleteInput;
674
674
  exports.AutocompleteInputItem = AutocompleteInputItem;
675
675
  exports.BaseAutocompleteInput = BaseAutocompleteInput;
676
676
  exports.createStaticSearchSource = createStaticSearchSource;
677
- //# sourceMappingURL=chunk-DK6USFZP.cjs.map
678
- //# sourceMappingURL=chunk-DK6USFZP.cjs.map
677
+ //# sourceMappingURL=chunk-KLCEDPJ4.cjs.map
678
+ //# sourceMappingURL=chunk-KLCEDPJ4.cjs.map