silver-ui 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/README.md +1 -65
  2. package/dist/{chunk-FNRYGCO3.js → chunk-2SN3KVWF.js} +4 -4
  3. package/dist/{chunk-FNRYGCO3.js.map → chunk-2SN3KVWF.js.map} +1 -1
  4. package/dist/{chunk-BSPWX2OZ.cjs → chunk-3IDT3PZC.cjs} +10 -10
  5. package/dist/{chunk-BSPWX2OZ.cjs.map → chunk-3IDT3PZC.cjs.map} +1 -1
  6. package/dist/chunk-3PEK2Q54.cjs +31 -0
  7. package/dist/chunk-3PEK2Q54.cjs.map +1 -0
  8. package/dist/{chunk-4SUQFPWH.js → chunk-45OSUS5A.js} +6 -6
  9. package/dist/{chunk-4SUQFPWH.js.map → chunk-45OSUS5A.js.map} +1 -1
  10. package/dist/{chunk-L7XJZJCM.js → chunk-4EUUZQAM.js} +5 -5
  11. package/dist/{chunk-L7XJZJCM.js.map → chunk-4EUUZQAM.js.map} +1 -1
  12. package/dist/{chunk-Q3HMGFGI.js → chunk-4JJFQZVY.js} +98 -77
  13. package/dist/chunk-4JJFQZVY.js.map +1 -0
  14. package/dist/chunk-5FQKELP6.js +28 -0
  15. package/dist/chunk-5FQKELP6.js.map +1 -0
  16. package/dist/{chunk-TTDNCN5G.cjs → chunk-5JROXZBG.cjs} +13 -39
  17. package/dist/chunk-5JROXZBG.cjs.map +1 -0
  18. package/dist/{chunk-OUZX7STE.cjs → chunk-5K3C3INR.cjs} +25 -53
  19. package/dist/chunk-5K3C3INR.cjs.map +1 -0
  20. package/dist/{chunk-AEYJ6PWC.js → chunk-5RFHYDQY.js} +16 -11
  21. package/dist/chunk-5RFHYDQY.js.map +1 -0
  22. package/dist/{chunk-PGTOVMP7.cjs → chunk-6FC5YF2O.cjs} +10 -10
  23. package/dist/{chunk-PGTOVMP7.cjs.map → chunk-6FC5YF2O.cjs.map} +1 -1
  24. package/dist/{chunk-6EYLEVC6.js → chunk-6I5QWA6A.js} +13 -6
  25. package/dist/chunk-6I5QWA6A.js.map +1 -0
  26. package/dist/{chunk-F7BFO3SD.cjs → chunk-6ZV7HGZT.cjs} +24 -8
  27. package/dist/chunk-6ZV7HGZT.cjs.map +1 -0
  28. package/dist/{chunk-2WTHSGDP.cjs → chunk-7EE6DCRP.cjs} +14 -14
  29. package/dist/{chunk-2WTHSGDP.cjs.map → chunk-7EE6DCRP.cjs.map} +1 -1
  30. package/dist/{chunk-HIH6MS5D.js → chunk-7TJ2O56S.js} +4 -4
  31. package/dist/{chunk-HIH6MS5D.js.map → chunk-7TJ2O56S.js.map} +1 -1
  32. package/dist/chunk-A2AC6WL5.cjs +4 -0
  33. package/dist/chunk-A2AC6WL5.cjs.map +1 -0
  34. package/dist/{chunk-BIJ6YDWJ.cjs → chunk-AFJEAYR4.cjs} +15 -8
  35. package/dist/chunk-AFJEAYR4.cjs.map +1 -0
  36. package/dist/chunk-AFXU6XIS.js +3 -0
  37. package/dist/chunk-AFXU6XIS.js.map +1 -0
  38. package/dist/{chunk-L5PJCLV6.js → chunk-AKAXQ4RL.js} +16 -25
  39. package/dist/chunk-AKAXQ4RL.js.map +1 -0
  40. package/dist/{chunk-OTQAREYU.js → chunk-ATK3F3MC.js} +4 -4
  41. package/dist/{chunk-OTQAREYU.js.map → chunk-ATK3F3MC.js.map} +1 -1
  42. package/dist/{chunk-2VL66QBX.js → chunk-B5QX6KGJ.js} +3 -3
  43. package/dist/{chunk-2VL66QBX.js.map → chunk-B5QX6KGJ.js.map} +1 -1
  44. package/dist/{chunk-TOQ4MGM5.js → chunk-BDFNEQR3.js} +6 -6
  45. package/dist/{chunk-TOQ4MGM5.js.map → chunk-BDFNEQR3.js.map} +1 -1
  46. package/dist/{chunk-UARQIMPS.js → chunk-BGLT7XH6.js} +5 -5
  47. package/dist/{chunk-UARQIMPS.js.map → chunk-BGLT7XH6.js.map} +1 -1
  48. package/dist/{chunk-2AWSJF22.js → chunk-BNGYGCT2.js} +8 -8
  49. package/dist/chunk-BNGYGCT2.js.map +1 -0
  50. package/dist/{chunk-TH537HOM.js → chunk-C6EWA3H2.js} +6 -6
  51. package/dist/{chunk-TH537HOM.js.map → chunk-C6EWA3H2.js.map} +1 -1
  52. package/dist/{chunk-2F5TDBRT.cjs → chunk-CABYRYVA.cjs} +8 -8
  53. package/dist/{chunk-2F5TDBRT.cjs.map → chunk-CABYRYVA.cjs.map} +1 -1
  54. package/dist/{chunk-7CTHD4G6.cjs → chunk-CNDUYO7I.cjs} +5 -5
  55. package/dist/{chunk-7CTHD4G6.cjs.map → chunk-CNDUYO7I.cjs.map} +1 -1
  56. package/dist/{chunk-3VJIUZAY.cjs → chunk-CVT7JW6C.cjs} +16 -25
  57. package/dist/chunk-CVT7JW6C.cjs.map +1 -0
  58. package/dist/{chunk-GSTINE4X.js → chunk-CZUMVOPH.js} +1771 -575
  59. package/dist/chunk-CZUMVOPH.js.map +1 -0
  60. package/dist/{chunk-MGJLBHPJ.js → chunk-DAO4UXR4.js} +4 -4
  61. package/dist/{chunk-MGJLBHPJ.js.map → chunk-DAO4UXR4.js.map} +1 -1
  62. package/dist/{chunk-HWD4HDQ5.cjs → chunk-DFEAB7Z3.cjs} +10 -10
  63. package/dist/{chunk-HWD4HDQ5.cjs.map → chunk-DFEAB7Z3.cjs.map} +1 -1
  64. package/dist/{chunk-GY2ZZR4Z.cjs → chunk-DK6USFZP.cjs} +18 -18
  65. package/dist/{chunk-GY2ZZR4Z.cjs.map → chunk-DK6USFZP.cjs.map} +1 -1
  66. package/dist/{chunk-WPMWHKJX.js → chunk-DPSAPA6B.js} +5 -5
  67. package/dist/{chunk-WPMWHKJX.js.map → chunk-DPSAPA6B.js.map} +1 -1
  68. package/dist/{chunk-AV7D3SXF.js → chunk-DWZR2AGT.js} +4 -4
  69. package/dist/{chunk-AV7D3SXF.js.map → chunk-DWZR2AGT.js.map} +1 -1
  70. package/dist/{chunk-2RZNX26F.cjs → chunk-DXUFDJHA.cjs} +12 -13
  71. package/dist/chunk-DXUFDJHA.cjs.map +1 -0
  72. package/dist/{chunk-67UUGI3M.cjs → chunk-DYMZ4DLN.cjs} +8 -8
  73. package/dist/{chunk-67UUGI3M.cjs.map → chunk-DYMZ4DLN.cjs.map} +1 -1
  74. package/dist/{chunk-JM4Q7ZQH.cjs → chunk-EEOUWM2F.cjs} +8 -8
  75. package/dist/chunk-EEOUWM2F.cjs.map +1 -0
  76. package/dist/{chunk-KC4EKXGF.js → chunk-EIJSWHG7.js} +9 -10
  77. package/dist/chunk-EIJSWHG7.js.map +1 -0
  78. package/dist/{chunk-FCUUGJTM.cjs → chunk-ENVDR66N.cjs} +132 -160
  79. package/dist/chunk-ENVDR66N.cjs.map +1 -0
  80. package/dist/{chunk-J2YKUHQM.js → chunk-ERVWZILR.js} +14 -23
  81. package/dist/chunk-ERVWZILR.js.map +1 -0
  82. package/dist/{chunk-IX26TMZD.cjs → chunk-EVCQCZMM.cjs} +5 -5
  83. package/dist/{chunk-IX26TMZD.cjs.map → chunk-EVCQCZMM.cjs.map} +1 -1
  84. package/dist/{chunk-E42WOTIC.js → chunk-FIOCTAXT.js} +3 -3
  85. package/dist/{chunk-E42WOTIC.js.map → chunk-FIOCTAXT.js.map} +1 -1
  86. package/dist/{chunk-LW3DJOF4.cjs → chunk-FLDTPAG4.cjs} +6 -6
  87. package/dist/{chunk-LW3DJOF4.cjs.map → chunk-FLDTPAG4.cjs.map} +1 -1
  88. package/dist/{chunk-XHJRAEGW.js → chunk-FQN22DO5.js} +5 -5
  89. package/dist/{chunk-XHJRAEGW.js.map → chunk-FQN22DO5.js.map} +1 -1
  90. package/dist/{chunk-XPGIWOJO.cjs → chunk-FWBYCTUB.cjs} +18 -18
  91. package/dist/chunk-FWBYCTUB.cjs.map +1 -0
  92. package/dist/{chunk-UXGHFKLA.js → chunk-G5PU2EL2.js} +4 -4
  93. package/dist/{chunk-UXGHFKLA.js.map → chunk-G5PU2EL2.js.map} +1 -1
  94. package/dist/{chunk-UXQSSRBQ.cjs → chunk-GJKRSQEA.cjs} +1781 -581
  95. package/dist/chunk-GJKRSQEA.cjs.map +1 -0
  96. package/dist/{chunk-JSAYTQTJ.cjs → chunk-GJZAGTPV.cjs} +7 -7
  97. package/dist/chunk-GJZAGTPV.cjs.map +1 -0
  98. package/dist/{chunk-BSI4BQEX.cjs → chunk-GU65FGY6.cjs} +4 -4
  99. package/dist/{chunk-BSI4BQEX.cjs.map → chunk-GU65FGY6.cjs.map} +1 -1
  100. package/dist/{chunk-W5F7PYT2.js → chunk-GUUCIG7U.js} +6 -6
  101. package/dist/{chunk-W5F7PYT2.js.map → chunk-GUUCIG7U.js.map} +1 -1
  102. package/dist/{chunk-XZZI3JYK.cjs → chunk-H5VMHDRD.cjs} +6 -6
  103. package/dist/{chunk-XZZI3JYK.cjs.map → chunk-H5VMHDRD.cjs.map} +1 -1
  104. package/dist/{chunk-ZPJW3PP7.cjs → chunk-H7VK36SZ.cjs} +16 -9
  105. package/dist/chunk-H7VK36SZ.cjs.map +1 -0
  106. package/dist/{chunk-2Y7ULSEU.js → chunk-HKGFMJFK.js} +17 -17
  107. package/dist/{chunk-2Y7ULSEU.js.map → chunk-HKGFMJFK.js.map} +1 -1
  108. package/dist/{chunk-THTVYP5V.js → chunk-HMJINNXZ.js} +21 -32
  109. package/dist/chunk-HMJINNXZ.js.map +1 -0
  110. package/dist/{chunk-VV72PGKH.cjs → chunk-HPOURAKV.cjs} +27 -27
  111. package/dist/chunk-HPOURAKV.cjs.map +1 -0
  112. package/dist/{chunk-I2NG2P5K.cjs → chunk-INQ34SVW.cjs} +5 -5
  113. package/dist/{chunk-I2NG2P5K.cjs.map → chunk-INQ34SVW.cjs.map} +1 -1
  114. package/dist/{chunk-D5OX6II7.cjs → chunk-IREOTHD3.cjs} +8 -8
  115. package/dist/chunk-IREOTHD3.cjs.map +1 -0
  116. package/dist/{chunk-GW6P4FJ4.cjs → chunk-ISWZQUVA.cjs} +25 -40
  117. package/dist/chunk-ISWZQUVA.cjs.map +1 -0
  118. package/dist/{chunk-J3X465QT.cjs → chunk-J4LJXCXB.cjs} +9 -9
  119. package/dist/{chunk-J3X465QT.cjs.map → chunk-J4LJXCXB.cjs.map} +1 -1
  120. package/dist/{chunk-PBQMHXVO.js → chunk-JC66FRQX.js} +3 -3
  121. package/dist/{chunk-PBQMHXVO.js.map → chunk-JC66FRQX.js.map} +1 -1
  122. package/dist/{chunk-S5CMLG2E.js → chunk-JHMUMJF3.js} +9 -5
  123. package/dist/chunk-JHMUMJF3.js.map +1 -0
  124. package/dist/{chunk-CUHJDV6K.js → chunk-JR353MN5.js} +6 -6
  125. package/dist/{chunk-CUHJDV6K.js.map → chunk-JR353MN5.js.map} +1 -1
  126. package/dist/{chunk-JS6MRT6M.js → chunk-K2V3IOAX.js} +4 -4
  127. package/dist/{chunk-JS6MRT6M.js.map → chunk-K2V3IOAX.js.map} +1 -1
  128. package/dist/{chunk-VH3G4IUX.js → chunk-K2WT7A64.js} +12 -38
  129. package/dist/chunk-K2WT7A64.js.map +1 -0
  130. package/dist/{chunk-OERNLR2P.js → chunk-KCI4I42U.js} +8 -8
  131. package/dist/{chunk-OERNLR2P.js.map → chunk-KCI4I42U.js.map} +1 -1
  132. package/dist/{chunk-EBJPUXFQ.js → chunk-KEPCKSDE.js} +31 -11
  133. package/dist/chunk-KEPCKSDE.js.map +1 -0
  134. package/dist/{chunk-OF5NULAO.js → chunk-KG7RHDVX.js} +7 -7
  135. package/dist/{chunk-OF5NULAO.js.map → chunk-KG7RHDVX.js.map} +1 -1
  136. package/dist/{chunk-6PIVWNUR.js → chunk-KWZMXX4F.js} +5 -5
  137. package/dist/chunk-KWZMXX4F.js.map +1 -0
  138. package/dist/{chunk-DZZEJY3J.js → chunk-LDYUVGD4.js} +120 -148
  139. package/dist/chunk-LDYUVGD4.js.map +1 -0
  140. package/dist/{chunk-VD52FLHL.js → chunk-LF6I2B7G.js} +9 -9
  141. package/dist/{chunk-VD52FLHL.js.map → chunk-LF6I2B7G.js.map} +1 -1
  142. package/dist/{chunk-3IYM5MAC.js → chunk-LLSWAAFH.js} +4 -4
  143. package/dist/{chunk-3IYM5MAC.js.map → chunk-LLSWAAFH.js.map} +1 -1
  144. package/dist/{chunk-LBGC6EC5.js → chunk-M64WMYYV.js} +15 -15
  145. package/dist/chunk-M64WMYYV.js.map +1 -0
  146. package/dist/{chunk-3Z5PF75J.cjs → chunk-MHAXS4GO.cjs} +17 -19
  147. package/dist/chunk-MHAXS4GO.cjs.map +1 -0
  148. package/dist/{chunk-TKTCN4JE.cjs → chunk-MHEPDHL5.cjs} +9 -9
  149. package/dist/{chunk-TKTCN4JE.cjs.map → chunk-MHEPDHL5.cjs.map} +1 -1
  150. package/dist/{chunk-Z7OUMVR5.cjs → chunk-NFEL5GNX.cjs} +9 -9
  151. package/dist/{chunk-Z7OUMVR5.cjs.map → chunk-NFEL5GNX.cjs.map} +1 -1
  152. package/dist/{chunk-X4I5YARV.cjs → chunk-NG2H3PYA.cjs} +11 -11
  153. package/dist/{chunk-X4I5YARV.cjs.map → chunk-NG2H3PYA.cjs.map} +1 -1
  154. package/dist/{chunk-VO4FG3L2.cjs → chunk-NW36BN7N.cjs} +17 -17
  155. package/dist/{chunk-VO4FG3L2.cjs.map → chunk-NW36BN7N.cjs.map} +1 -1
  156. package/dist/{chunk-RJEZBOSH.js → chunk-NXTDP6AX.js} +12 -14
  157. package/dist/chunk-NXTDP6AX.js.map +1 -0
  158. package/dist/{chunk-N77K3NQY.cjs → chunk-P5LMEANN.cjs} +7 -7
  159. package/dist/{chunk-N77K3NQY.cjs.map → chunk-P5LMEANN.cjs.map} +1 -1
  160. package/dist/{chunk-4HXNBLCJ.js → chunk-P7TSM63O.js} +3 -3
  161. package/dist/{chunk-4HXNBLCJ.js.map → chunk-P7TSM63O.js.map} +1 -1
  162. package/dist/chunk-PG4CZRTU.js +77 -0
  163. package/dist/chunk-PG4CZRTU.js.map +1 -0
  164. package/dist/{chunk-SUT35RHA.cjs → chunk-PHFJBQXU.cjs} +8 -8
  165. package/dist/{chunk-SUT35RHA.cjs.map → chunk-PHFJBQXU.cjs.map} +1 -1
  166. package/dist/{chunk-YJEX32HZ.cjs → chunk-PNM7MPUX.cjs} +8 -8
  167. package/dist/{chunk-YJEX32HZ.cjs.map → chunk-PNM7MPUX.cjs.map} +1 -1
  168. package/dist/{chunk-MEXR5ONE.js → chunk-PU4PBI3H.js} +5 -5
  169. package/dist/{chunk-MEXR5ONE.js.map → chunk-PU4PBI3H.js.map} +1 -1
  170. package/dist/{chunk-2GMDMZKI.cjs → chunk-PYJX2SBC.cjs} +5 -5
  171. package/dist/{chunk-2GMDMZKI.cjs.map → chunk-PYJX2SBC.cjs.map} +1 -1
  172. package/dist/{chunk-U5M4JZBX.js → chunk-PYN75QAG.js} +6 -6
  173. package/dist/chunk-PYN75QAG.js.map +1 -0
  174. package/dist/{chunk-2VAUVJVG.js → chunk-QHXI2QDK.js} +3 -3
  175. package/dist/{chunk-2VAUVJVG.js.map → chunk-QHXI2QDK.js.map} +1 -1
  176. package/dist/{chunk-RRXOSNCX.cjs → chunk-QTOFQB26.cjs} +11 -11
  177. package/dist/{chunk-RRXOSNCX.cjs.map → chunk-QTOFQB26.cjs.map} +1 -1
  178. package/dist/{chunk-DV4K35UC.cjs → chunk-QYZXTIB2.cjs} +4 -4
  179. package/dist/{chunk-DV4K35UC.cjs.map → chunk-QYZXTIB2.cjs.map} +1 -1
  180. package/dist/{chunk-FFF57VHO.cjs → chunk-R3ZS6FU6.cjs} +8 -8
  181. package/dist/{chunk-FFF57VHO.cjs.map → chunk-R3ZS6FU6.cjs.map} +1 -1
  182. package/dist/{chunk-L5JS6P62.cjs → chunk-RAMDISDK.cjs} +14 -10
  183. package/dist/chunk-RAMDISDK.cjs.map +1 -0
  184. package/dist/{chunk-SUWRSJAN.cjs → chunk-RLIBY7XB.cjs} +16 -11
  185. package/dist/chunk-RLIBY7XB.cjs.map +1 -0
  186. package/dist/{chunk-I47WOF6E.js → chunk-RU7JPU7V.js} +3 -3
  187. package/dist/{chunk-I47WOF6E.js.map → chunk-RU7JPU7V.js.map} +1 -1
  188. package/dist/{chunk-HNDDNW52.js → chunk-RXKDRZF3.js} +3 -3
  189. package/dist/{chunk-HNDDNW52.js.map → chunk-RXKDRZF3.js.map} +1 -1
  190. package/dist/{chunk-EFBSEJBD.js → chunk-S4WWBV4N.js} +22 -47
  191. package/dist/chunk-S4WWBV4N.js.map +1 -0
  192. package/dist/{chunk-6J326CN6.js → chunk-SEDUAMDW.js} +4 -4
  193. package/dist/{chunk-6J326CN6.js.map → chunk-SEDUAMDW.js.map} +1 -1
  194. package/dist/{chunk-TSKFGLGQ.cjs → chunk-SKZNSOB7.cjs} +18 -27
  195. package/dist/chunk-SKZNSOB7.cjs.map +1 -0
  196. package/dist/{chunk-YDNEAHVK.cjs → chunk-TNYAYXKC.cjs} +37 -37
  197. package/dist/{chunk-YDNEAHVK.cjs.map → chunk-TNYAYXKC.cjs.map} +1 -1
  198. package/dist/{chunk-JJNXQ7EL.js → chunk-TQDJVPHP.js} +3 -3
  199. package/dist/{chunk-JJNXQ7EL.js.map → chunk-TQDJVPHP.js.map} +1 -1
  200. package/dist/{chunk-MEUELWGO.cjs → chunk-TVWU4XBL.cjs} +8 -8
  201. package/dist/{chunk-MEUELWGO.cjs.map → chunk-TVWU4XBL.cjs.map} +1 -1
  202. package/dist/{chunk-HWP2UGOC.cjs → chunk-U4L75VA4.cjs} +126 -105
  203. package/dist/chunk-U4L75VA4.cjs.map +1 -0
  204. package/dist/{chunk-6DAZ2ZOW.cjs → chunk-U5HW5P7Q.cjs} +11 -11
  205. package/dist/{chunk-6DAZ2ZOW.cjs.map → chunk-U5HW5P7Q.cjs.map} +1 -1
  206. package/dist/{chunk-R4DGCQTA.cjs → chunk-UMS46KF4.cjs} +7 -7
  207. package/dist/{chunk-R4DGCQTA.cjs.map → chunk-UMS46KF4.cjs.map} +1 -1
  208. package/dist/{chunk-75KSHZTV.js → chunk-UT45YVPI.js} +7 -7
  209. package/dist/{chunk-75KSHZTV.js.map → chunk-UT45YVPI.js.map} +1 -1
  210. package/dist/{chunk-LKGHYNLH.js → chunk-UYZQGHFI.js} +10 -10
  211. package/dist/chunk-UYZQGHFI.js.map +1 -0
  212. package/dist/{chunk-IGJEZLHP.cjs → chunk-UZGPFPIV.cjs} +17 -17
  213. package/dist/{chunk-IGJEZLHP.cjs.map → chunk-UZGPFPIV.cjs.map} +1 -1
  214. package/dist/{chunk-Q4HAXT5C.cjs → chunk-VK7DXUGH.cjs} +31 -11
  215. package/dist/chunk-VK7DXUGH.cjs.map +1 -0
  216. package/dist/chunk-VPWNRWNO.cjs +81 -0
  217. package/dist/chunk-VPWNRWNO.cjs.map +1 -0
  218. package/dist/{chunk-K4K4FU3D.cjs → chunk-VREW3BK6.cjs} +11 -11
  219. package/dist/{chunk-K4K4FU3D.cjs.map → chunk-VREW3BK6.cjs.map} +1 -1
  220. package/dist/{chunk-ANACERIO.cjs → chunk-VRQ66IBW.cjs} +6 -6
  221. package/dist/{chunk-ANACERIO.cjs.map → chunk-VRQ66IBW.cjs.map} +1 -1
  222. package/dist/{chunk-HXIU3SIQ.cjs → chunk-VW52NVGM.cjs} +5 -5
  223. package/dist/{chunk-HXIU3SIQ.cjs.map → chunk-VW52NVGM.cjs.map} +1 -1
  224. package/dist/{chunk-5XMWGK3O.cjs → chunk-VXOIOPGZ.cjs} +25 -36
  225. package/dist/chunk-VXOIOPGZ.cjs.map +1 -0
  226. package/dist/{chunk-4RDA4W4N.js → chunk-WAWHHXSR.js} +23 -7
  227. package/dist/chunk-WAWHHXSR.js.map +1 -0
  228. package/dist/{chunk-65MJZYO6.js → chunk-WEXTGWRE.js} +14 -29
  229. package/dist/chunk-WEXTGWRE.js.map +1 -0
  230. package/dist/{chunk-ECDYAZ2R.js → chunk-WHDDBOJN.js} +5 -5
  231. package/dist/{chunk-ECDYAZ2R.js.map → chunk-WHDDBOJN.js.map} +1 -1
  232. package/dist/{chunk-ESRDHDYN.cjs → chunk-WINDLDH3.cjs} +9 -9
  233. package/dist/{chunk-ESRDHDYN.cjs.map → chunk-WINDLDH3.cjs.map} +1 -1
  234. package/dist/{chunk-ADSG24VE.js → chunk-WM7NEOME.js} +6 -6
  235. package/dist/{chunk-ADSG24VE.js.map → chunk-WM7NEOME.js.map} +1 -1
  236. package/dist/{chunk-H4L456EW.js → chunk-XTLNUYCK.js} +12 -5
  237. package/dist/chunk-XTLNUYCK.js.map +1 -0
  238. package/dist/{chunk-QO5C7TIV.js → chunk-ZSB43DEI.js} +5 -5
  239. package/dist/{chunk-QO5C7TIV.js.map → chunk-ZSB43DEI.js.map} +1 -1
  240. package/dist/{chunk-V4ZH2H2P.cjs → chunk-ZUAWNT66.cjs} +14 -14
  241. package/dist/{chunk-V4ZH2H2P.cjs.map → chunk-ZUAWNT66.cjs.map} +1 -1
  242. package/dist/components/Alert/index.cjs +10 -8
  243. package/dist/components/Alert/index.js +9 -7
  244. package/dist/components/AlertDialog/index.cjs +12 -10
  245. package/dist/components/AlertDialog/index.js +10 -8
  246. package/dist/components/AppShell/index.cjs +18 -15
  247. package/dist/components/AppShell/index.js +15 -12
  248. package/dist/components/AutocompleteInput/index.cjs +17 -14
  249. package/dist/components/AutocompleteInput/index.js +13 -10
  250. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  251. package/dist/components/Breadcrumbs/index.cjs +5 -10
  252. package/dist/components/Breadcrumbs/index.js +2 -7
  253. package/dist/components/Button/Button.d.ts +5 -3
  254. package/dist/components/Button/Button.d.ts.map +1 -1
  255. package/dist/components/Button/index.cjs +9 -7
  256. package/dist/components/Button/index.js +8 -6
  257. package/dist/components/Calendar/index.cjs +10 -8
  258. package/dist/components/Calendar/index.js +9 -7
  259. package/dist/components/CheckboxInput/index.cjs +9 -8
  260. package/dist/components/CheckboxInput/index.js +8 -7
  261. package/dist/components/CodeBlock/index.cjs +10 -8
  262. package/dist/components/CodeBlock/index.js +9 -7
  263. package/dist/components/ContextMenu/index.cjs +14 -12
  264. package/dist/components/ContextMenu/index.js +12 -10
  265. package/dist/components/DateInput/index.cjs +13 -11
  266. package/dist/components/DateInput/index.js +12 -10
  267. package/dist/components/DateRangeInput/index.cjs +13 -11
  268. package/dist/components/DateRangeInput/index.js +12 -10
  269. package/dist/components/DateTimeInput/index.cjs +15 -13
  270. package/dist/components/DateTimeInput/index.js +14 -12
  271. package/dist/components/DropdownMenu/index.cjs +15 -13
  272. package/dist/components/DropdownMenu/index.js +11 -9
  273. package/dist/components/EmptyState/index.cjs +5 -5
  274. package/dist/components/EmptyState/index.js +4 -4
  275. package/dist/components/Field/index.cjs +6 -6
  276. package/dist/components/Field/index.js +4 -4
  277. package/dist/components/FileInput/index.cjs +11 -9
  278. package/dist/components/FileInput/index.js +10 -8
  279. package/dist/components/HoverCard/HoverCard.d.ts +6 -6
  280. package/dist/components/HoverCard/HoverCard.d.ts.map +1 -1
  281. package/dist/components/HoverCard/index.cjs +4 -4
  282. package/dist/components/HoverCard/index.js +2 -2
  283. package/dist/components/InputGroup/index.cjs +9 -9
  284. package/dist/components/InputGroup/index.js +5 -5
  285. package/dist/components/Item/Item.d.ts.map +1 -1
  286. package/dist/components/Item/index.cjs +7 -8
  287. package/dist/components/Item/index.js +6 -7
  288. package/dist/components/Layout/Layout.recipe.d.ts +17 -0
  289. package/dist/components/Layout/Layout.recipe.d.ts.map +1 -1
  290. package/dist/components/Layout/LayoutHeader.d.ts +6 -1
  291. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  292. package/dist/components/Layout/index.cjs +14 -12
  293. package/dist/components/Layout/index.js +9 -7
  294. package/dist/components/Lightbox/index.cjs +11 -9
  295. package/dist/components/Lightbox/index.js +9 -7
  296. package/dist/components/Link/Link.d.ts +4 -5
  297. package/dist/components/Link/Link.d.ts.map +1 -1
  298. package/dist/components/Link/Link.recipe.d.ts.map +1 -1
  299. package/dist/components/Link/index.cjs +9 -6
  300. package/dist/components/Link/index.js +6 -3
  301. package/dist/components/List/index.cjs +9 -10
  302. package/dist/components/List/index.js +7 -8
  303. package/dist/components/MetadataList/MetadataList.recipe.d.ts +9 -1
  304. package/dist/components/MetadataList/MetadataList.recipe.d.ts.map +1 -1
  305. package/dist/components/MetadataList/MetadataListItem.d.ts +6 -1
  306. package/dist/components/MetadataList/MetadataListItem.d.ts.map +1 -1
  307. package/dist/components/MetadataList/index.cjs +9 -6
  308. package/dist/components/MetadataList/index.js +7 -4
  309. package/dist/components/MultiSelect/index.cjs +13 -11
  310. package/dist/components/MultiSelect/index.js +12 -10
  311. package/dist/components/NumberInput/index.cjs +12 -10
  312. package/dist/components/NumberInput/index.js +11 -9
  313. package/dist/components/Pagination/index.cjs +10 -8
  314. package/dist/components/Pagination/index.js +9 -7
  315. package/dist/components/PasswordInput/index.cjs +13 -11
  316. package/dist/components/PasswordInput/index.js +12 -10
  317. package/dist/components/Popover/Popover.d.ts +13 -1
  318. package/dist/components/Popover/Popover.d.ts.map +1 -1
  319. package/dist/components/Popover/index.cjs +11 -9
  320. package/dist/components/Popover/index.js +9 -7
  321. package/dist/components/RadioGroup/index.cjs +10 -9
  322. package/dist/components/RadioGroup/index.js +8 -7
  323. package/dist/components/Schedule/CalendarEvent.d.ts +18 -4
  324. package/dist/components/Schedule/CalendarEvent.d.ts.map +1 -1
  325. package/dist/components/Schedule/DayView.d.ts +7 -1
  326. package/dist/components/Schedule/DayView.d.ts.map +1 -1
  327. package/dist/components/Schedule/ListView.d.ts.map +1 -1
  328. package/dist/components/Schedule/ListView.recipe.d.ts +56 -0
  329. package/dist/components/Schedule/ListView.recipe.d.ts.map +1 -0
  330. package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
  331. package/dist/components/Schedule/MonthlyView.recipe.d.ts +47 -0
  332. package/dist/components/Schedule/MonthlyView.recipe.d.ts.map +1 -0
  333. package/dist/components/Schedule/ScheduleEvent.recipe.d.ts +17 -0
  334. package/dist/components/Schedule/ScheduleEvent.recipe.d.ts.map +1 -1
  335. package/dist/components/Schedule/TimeGridView.d.ts +7 -1
  336. package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
  337. package/dist/components/Schedule/TimeGridView.recipe.d.ts +43 -0
  338. package/dist/components/Schedule/TimeGridView.recipe.d.ts.map +1 -0
  339. package/dist/components/Schedule/WeeklyView.d.ts +7 -1
  340. package/dist/components/Schedule/WeeklyView.d.ts.map +1 -1
  341. package/dist/components/Schedule/index.cjs +44 -21
  342. package/dist/components/Schedule/index.d.ts +6 -2
  343. package/dist/components/Schedule/index.d.ts.map +1 -1
  344. package/dist/components/Schedule/index.js +17 -10
  345. package/dist/components/Schedule/plugins/EventMovePlugin.d.ts +23 -0
  346. package/dist/components/Schedule/plugins/EventMovePlugin.d.ts.map +1 -0
  347. package/dist/components/Schedule/plugins/EventPopoverPlugin.d.ts +31 -0
  348. package/dist/components/Schedule/plugins/EventPopoverPlugin.d.ts.map +1 -0
  349. package/dist/components/Schedule/plugins/EventResizePlugin.d.ts +24 -0
  350. package/dist/components/Schedule/plugins/EventResizePlugin.d.ts.map +1 -0
  351. package/dist/components/Schedule/plugins/ScheduleEventPopoverContent.d.ts +39 -0
  352. package/dist/components/Schedule/plugins/ScheduleEventPopoverContent.d.ts.map +1 -0
  353. package/dist/components/Schedule/plugins/index.d.ts +4 -0
  354. package/dist/components/Schedule/plugins/index.d.ts.map +1 -1
  355. package/dist/components/Schedule/shared.d.ts +58 -3
  356. package/dist/components/Schedule/shared.d.ts.map +1 -1
  357. package/dist/components/Schedule/types.d.ts +47 -1
  358. package/dist/components/Schedule/types.d.ts.map +1 -1
  359. package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.d.ts.map +1 -1
  360. package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.recipe.d.ts +4 -0
  361. package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.recipe.d.ts.map +1 -0
  362. package/dist/components/SearchFilterInput/index.cjs +32 -29
  363. package/dist/components/SearchFilterInput/index.js +24 -21
  364. package/dist/components/Select/index.cjs +15 -13
  365. package/dist/components/Select/index.js +13 -11
  366. package/dist/components/SideNav/SideNav.d.ts.map +1 -1
  367. package/dist/components/SideNav/SideNav.recipe.d.ts +26 -7
  368. package/dist/components/SideNav/SideNav.recipe.d.ts.map +1 -1
  369. package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
  370. package/dist/components/SideNav/index.cjs +18 -15
  371. package/dist/components/SideNav/index.js +12 -9
  372. package/dist/components/Slider/index.cjs +6 -6
  373. package/dist/components/Slider/index.js +5 -5
  374. package/dist/components/Spinner/index.cjs +5 -5
  375. package/dist/components/Spinner/index.js +4 -4
  376. package/dist/components/SplitButton/index.cjs +13 -11
  377. package/dist/components/SplitButton/index.js +12 -10
  378. package/dist/components/Stepper/index.cjs +5 -5
  379. package/dist/components/Stepper/index.js +4 -4
  380. package/dist/components/Switch/index.cjs +6 -6
  381. package/dist/components/Switch/index.js +5 -5
  382. package/dist/components/Table/index.cjs +54 -51
  383. package/dist/components/Table/index.js +28 -25
  384. package/dist/components/Tabs/Tab.d.ts.map +1 -1
  385. package/dist/components/Tabs/index.cjs +15 -13
  386. package/dist/components/Tabs/index.js +10 -8
  387. package/dist/components/Tag/Tag.d.ts.map +1 -1
  388. package/dist/components/Tag/index.cjs +8 -5
  389. package/dist/components/Tag/index.js +7 -4
  390. package/dist/components/TagsInput/index.cjs +15 -12
  391. package/dist/components/TagsInput/index.js +14 -11
  392. package/dist/components/Text/Heading.d.ts +5 -5
  393. package/dist/components/Text/Heading.d.ts.map +1 -1
  394. package/dist/components/Text/Text.d.ts +5 -5
  395. package/dist/components/Text/Text.d.ts.map +1 -1
  396. package/dist/components/Text/index.cjs +5 -5
  397. package/dist/components/Text/index.js +3 -3
  398. package/dist/components/TextArea/index.cjs +7 -7
  399. package/dist/components/TextArea/index.js +6 -6
  400. package/dist/components/TextInput/index.cjs +12 -10
  401. package/dist/components/TextInput/index.js +11 -9
  402. package/dist/components/Thumbnail/index.cjs +10 -8
  403. package/dist/components/Thumbnail/index.js +9 -7
  404. package/dist/components/TimeInput/index.cjs +11 -9
  405. package/dist/components/TimeInput/index.js +10 -8
  406. package/dist/components/Toast/index.cjs +12 -10
  407. package/dist/components/Toast/index.js +9 -7
  408. package/dist/components/ToggleButton/ToggleButton.recipe.d.ts.map +1 -1
  409. package/dist/components/ToggleButton/index.cjs +7 -7
  410. package/dist/components/ToggleButton/index.js +5 -5
  411. package/dist/components/Tooltip/Tooltip.d.ts +6 -6
  412. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  413. package/dist/components/Tooltip/index.cjs +4 -4
  414. package/dist/components/Tooltip/index.js +2 -2
  415. package/dist/components/TopNav/TopNavItem.d.ts.map +1 -1
  416. package/dist/components/TopNav/index.cjs +16 -13
  417. package/dist/components/TopNav/index.js +11 -8
  418. package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
  419. package/dist/components/TreeView/index.cjs +3 -2
  420. package/dist/components/TreeView/index.js +2 -1
  421. package/dist/index.cjs +233 -214
  422. package/dist/index.cjs.map +1 -1
  423. package/dist/index.d.ts +1 -1
  424. package/dist/index.d.ts.map +1 -1
  425. package/dist/index.js +60 -57
  426. package/dist/index.js.map +1 -1
  427. package/dist/internal/ActionElement.d.ts +45 -0
  428. package/dist/internal/ActionElement.d.ts.map +1 -0
  429. package/dist/internal/HoverLayerTrigger.d.ts +3 -4
  430. package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
  431. package/dist/internal/useLayer.d.ts +12 -0
  432. package/dist/internal/useLayer.d.ts.map +1 -1
  433. package/dist/internal/useSelectListbox.d.ts +5 -5
  434. package/dist/internal/useSelectListbox.d.ts.map +1 -1
  435. package/dist/styles.css +1 -1
  436. package/package.json +1 -1
  437. package/dist/chunk-2AWSJF22.js.map +0 -1
  438. package/dist/chunk-2RZNX26F.cjs.map +0 -1
  439. package/dist/chunk-3VJIUZAY.cjs.map +0 -1
  440. package/dist/chunk-3Z5PF75J.cjs.map +0 -1
  441. package/dist/chunk-4RDA4W4N.js.map +0 -1
  442. package/dist/chunk-5XMWGK3O.cjs.map +0 -1
  443. package/dist/chunk-65MJZYO6.js.map +0 -1
  444. package/dist/chunk-6EYLEVC6.js.map +0 -1
  445. package/dist/chunk-6PIVWNUR.js.map +0 -1
  446. package/dist/chunk-AEYJ6PWC.js.map +0 -1
  447. package/dist/chunk-BIJ6YDWJ.cjs.map +0 -1
  448. package/dist/chunk-D5OX6II7.cjs.map +0 -1
  449. package/dist/chunk-DZZEJY3J.js.map +0 -1
  450. package/dist/chunk-EBJPUXFQ.js.map +0 -1
  451. package/dist/chunk-EFBSEJBD.js.map +0 -1
  452. package/dist/chunk-F7BFO3SD.cjs.map +0 -1
  453. package/dist/chunk-FCUUGJTM.cjs.map +0 -1
  454. package/dist/chunk-GSTINE4X.js.map +0 -1
  455. package/dist/chunk-GW6P4FJ4.cjs.map +0 -1
  456. package/dist/chunk-H4L456EW.js.map +0 -1
  457. package/dist/chunk-HWP2UGOC.cjs.map +0 -1
  458. package/dist/chunk-J2YKUHQM.js.map +0 -1
  459. package/dist/chunk-JM4Q7ZQH.cjs.map +0 -1
  460. package/dist/chunk-JSAYTQTJ.cjs.map +0 -1
  461. package/dist/chunk-KC4EKXGF.js.map +0 -1
  462. package/dist/chunk-L5JS6P62.cjs.map +0 -1
  463. package/dist/chunk-L5PJCLV6.js.map +0 -1
  464. package/dist/chunk-LBGC6EC5.js.map +0 -1
  465. package/dist/chunk-LKGHYNLH.js.map +0 -1
  466. package/dist/chunk-OUZX7STE.cjs.map +0 -1
  467. package/dist/chunk-Q3HMGFGI.js.map +0 -1
  468. package/dist/chunk-Q4HAXT5C.cjs.map +0 -1
  469. package/dist/chunk-RJEZBOSH.js.map +0 -1
  470. package/dist/chunk-S5CMLG2E.js.map +0 -1
  471. package/dist/chunk-SUWRSJAN.cjs.map +0 -1
  472. package/dist/chunk-THTVYP5V.js.map +0 -1
  473. package/dist/chunk-TSKFGLGQ.cjs.map +0 -1
  474. package/dist/chunk-TTDNCN5G.cjs.map +0 -1
  475. package/dist/chunk-U5M4JZBX.js.map +0 -1
  476. package/dist/chunk-UXQSSRBQ.cjs.map +0 -1
  477. package/dist/chunk-VH3G4IUX.js.map +0 -1
  478. package/dist/chunk-VV72PGKH.cjs.map +0 -1
  479. package/dist/chunk-XPGIWOJO.cjs.map +0 -1
  480. package/dist/chunk-ZPJW3PP7.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/TagsInput/TagsInput.recipe.ts","../src/internal/OverflowList.tsx","../src/components/TagsInput/TagsInput.tsx"],"names":["sva","css","Children","useState","useRef","useCallback","useIsomorphicLayoutEffect","jsxs","Fragment","isReactNode","jsx","cx","mergeRefs","useId","getStatusMessageID","getDescribedBy","useLayer","useLatest_default","useMemo","useImperativeHandle","getNecessity","Tag","inputRecipe","inputStyles","Icon","BaseAutocompleteInput","Button","X","Field"],"mappings":"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","file":"chunk-VV72PGKH.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\n/**\n * Layout styling layered on top of Field's `inputRecipe`. The core input\n * chrome (border, focus ring, status colors) comes from `inputRecipe`; this\n * recipe owns the multi-line wrapper, tag/input slots, and the truncated\n * \"+N more\" overflow presentation.\n */\nexport const tagsInputRecipe = sva({\n slots: [\n 'wrapper',\n 'tag',\n 'input',\n 'endContent',\n 'overflowText',\n 'liveRegion',\n 'layerPopover',\n ],\n base: {\n wrapper: {\n cursor: 'text',\n flexWrap: 'wrap',\n alignItems: 'center',\n h: 'auto',\n },\n tag: {flexShrink: 0},\n input: {\n minW: '10',\n flex: '1 1 40px',\n },\n endContent: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n overflowText: {\n flexShrink: 0,\n whiteSpace: 'nowrap',\n fontSize: 'sm',\n color: 'fg.muted',\n px: '1',\n },\n liveRegion: {\n position: 'absolute',\n w: '1px',\n h: '1px',\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n whiteSpace: 'nowrap',\n },\n layerPopover: {\n w: 'anchor-size(width)',\n },\n },\n variants: {\n size: {\n sm: {},\n md: {},\n lg: {},\n },\n // Row gap + vertical padding for wrapped tags. Applied only while not\n // truncated; the size-keyed padding lives in compoundVariants.\n hasTags: {\n true: {},\n false: {},\n },\n // Collapses the wrapper to a single line for the \"+N more\" presentation.\n isTruncated: {\n true: {wrapper: {flexWrap: 'nowrap', overflow: 'hidden'}},\n false: {},\n },\n // Fixed single-line height. Size-keyed values live in compoundVariants.\n hasFixedHeight: {\n true: {},\n false: {},\n },\n // Hides the text input (when at max entries or in the collapsed view).\n isInputHidden: {\n true: {\n input: {\n position: 'absolute',\n opacity: 0,\n w: 0,\n minW: 0,\n flexBasis: 0,\n },\n },\n false: {},\n },\n },\n compoundVariants: [\n {hasTags: true, isTruncated: false, css: {wrapper: {rowGap: '1'}}},\n {\n size: 'sm',\n hasTags: true,\n isTruncated: false,\n css: {wrapper: {pt: '0px', pb: '0.5'}},\n },\n {size: 'md', hasTags: true, isTruncated: false, css: {wrapper: {py: '1'}}},\n {size: 'lg', hasTags: true, isTruncated: false, css: {wrapper: {py: '1'}}},\n {size: 'sm', hasFixedHeight: true, css: {wrapper: {h: 'component.sm'}}},\n {size: 'md', hasFixedHeight: true, css: {wrapper: {h: 'component.md'}}},\n {size: 'lg', hasFixedHeight: true, css: {wrapper: {h: 'component.lg'}}},\n ],\n defaultVariants: {\n size: 'md',\n hasTags: false,\n isTruncated: false,\n hasFixedHeight: false,\n isInputHidden: false,\n },\n});\n\nexport type TagsInputVariants = RecipeVariantProps<typeof tagsInputRecipe>;\n","import {\n Children,\n useCallback,\n useRef,\n useState,\n type CSSProperties,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {mergeRefs} from 'internal/mergeRefs';\nimport {useIsomorphicLayoutEffect} from 'internal/useIsomorphicLayoutEffect';\nimport {css} from 'styled-system/css';\n\nexport interface OverflowItem {\n child: ReactElement;\n index: number;\n}\n\nexport interface OverflowListProps {\n behavior?: 'observeParent' | 'observeSelf';\n children: ReactNode;\n className?: string;\n collapseFrom?: 'end' | 'start';\n gap?: number;\n minVisibleItems?: number;\n overflowRenderer?: (overflowItems: OverflowItem[]) => ReactNode;\n ref?: Ref<HTMLDivElement>;\n style?: CSSProperties;\n}\n\nconst styles = {\n container: css({\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n minW: 0,\n }),\n fillParent: css({\n flex: '1 1 0',\n }),\n measureContainer: css({\n position: 'absolute',\n visibility: 'hidden',\n h: 0,\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n pointerEvents: 'none',\n }),\n measureIndicator: css({\n display: 'inline-flex',\n }),\n} as const;\n\nfunction getAvailableWidth(\n container: HTMLElement,\n observeParent: boolean,\n): number {\n if (observeParent && container.parentElement != null) {\n const parent = container.parentElement;\n const parentStyle = window.getComputedStyle(parent);\n const paddingLeft = Number.parseFloat(parentStyle.paddingLeft) || 0;\n const paddingRight = Number.parseFloat(parentStyle.paddingRight) || 0;\n return parent.clientWidth - paddingLeft - paddingRight;\n }\n\n return container.offsetWidth;\n}\n\nexport function OverflowList({\n behavior = 'observeSelf',\n children,\n className,\n collapseFrom = 'end',\n gap = 0,\n minVisibleItems = 0,\n overflowRenderer,\n ref,\n style,\n}: OverflowListProps): React.JSX.Element {\n // eslint-disable-next-line @eslint-react/no-children-to-array -- matches XDSOverflowList: normalizes children before width measurement\n const childArray = Children.toArray(children) as ReactElement[];\n const itemCount = childArray.length;\n const observeParent = behavior === 'observeParent';\n const [visibleCount, setVisibleCount] = useState(itemCount);\n const containerRef = useRef<HTMLElement | null>(null);\n const measureRef = useRef<HTMLElement | null>(null);\n\n const calculate = useCallback(() => {\n const container = containerRef.current;\n const measure = measureRef.current;\n if (container == null || measure == null) {\n return;\n }\n\n const availableWidth = Math.min(\n getAvailableWidth(container, observeParent),\n container.offsetWidth || Number.POSITIVE_INFINITY,\n );\n const allChildren = Array.from(measure.children) as HTMLElement[];\n const hasIndicator = allChildren.length > itemCount;\n const measuredItems = hasIndicator\n ? allChildren.slice(0, itemCount)\n : allChildren;\n const indicatorWidth = hasIndicator\n ? allChildren[allChildren.length - 1].offsetWidth\n : 0;\n\n if (measuredItems.length === 0) {\n // eslint-disable-next-line @eslint-react/set-state-in-effect -- visible count is derived from measured DOM widths\n setVisibleCount(0);\n return;\n }\n\n const measuredWidths = measuredItems.map(item => item.offsetWidth);\n const orderedWidths =\n collapseFrom === 'end' ? measuredWidths : [...measuredWidths].reverse();\n let totalWidth = 0;\n let count = 0;\n\n for (const itemWidth of orderedWidths) {\n const gapWidth = count > 0 ? gap : 0;\n const candidateWidth = totalWidth + itemWidth + gapWidth;\n const isLastItem = count === orderedWidths.length - 1;\n const reservedWidth = isLastItem\n ? 0\n : indicatorWidth + (count > 0 || indicatorWidth > 0 ? gap : 0);\n\n if (\n candidateWidth + reservedWidth > availableWidth &&\n count >= minVisibleItems\n ) {\n break;\n }\n\n totalWidth = candidateWidth;\n count++;\n }\n\n // eslint-disable-next-line @eslint-react/set-state-in-effect -- visible count is derived from measured DOM widths\n setVisibleCount(Math.max(Math.min(count, itemCount), minVisibleItems));\n }, [collapseFrom, gap, itemCount, minVisibleItems, observeParent]);\n\n const containerRefCallback = useCallback((element: HTMLDivElement | null) => {\n containerRef.current = element;\n }, []);\n\n const measureRefCallback = useCallback(\n (element: HTMLDivElement | null) => {\n measureRef.current = element;\n if (element != null) {\n calculate();\n }\n },\n [calculate],\n );\n\n useIsomorphicLayoutEffect(() => {\n calculate();\n }, [calculate]);\n\n useIsomorphicLayoutEffect(() => {\n const container = containerRef.current;\n if (container == null || typeof ResizeObserver === 'undefined') {\n return;\n }\n\n const target =\n observeParent && container.parentElement != null\n ? container.parentElement\n : container;\n const observer = new ResizeObserver(calculate);\n observer.observe(target);\n return () => observer.disconnect();\n }, [calculate, observeParent]);\n\n const allItems: OverflowItem[] = childArray.map((child, index) => ({\n child,\n index,\n }));\n const visibleItems =\n collapseFrom === 'end'\n ? allItems.slice(0, visibleCount)\n : allItems.slice(itemCount - visibleCount);\n const overflowItems =\n collapseFrom === 'end'\n ? allItems.slice(visibleCount)\n : allItems.slice(0, itemCount - visibleCount);\n const hasOverflow = visibleCount < itemCount;\n const measureIndicator = overflowRenderer?.(allItems);\n\n return (\n <>\n <div\n aria-hidden=\"true\"\n className={styles.measureContainer}\n inert\n ref={measureRefCallback}\n style={{gap}}>\n {childArray}\n {isReactNode(measureIndicator) ? (\n <div className={styles.measureIndicator}>{measureIndicator}</div>\n ) : null}\n </div>\n <div\n className={cx(\n styles.container,\n observeParent && hasOverflow ? styles.fillParent : undefined,\n className,\n )}\n ref={mergeRefs(ref, containerRefCallback)}\n style={{gap, ...style}}>\n {collapseFrom === 'start' && hasOverflow\n ? overflowRenderer?.(overflowItems)\n : null}\n {visibleItems.map(({child}) => child)}\n {collapseFrom === 'end' && hasOverflow\n ? overflowRenderer?.(overflowItems)\n : null}\n </div>\n </>\n );\n}\n","import {X} from 'lucide-react';\nimport {\n useCallback,\n useImperativeHandle,\n useId,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {BaseAutocompleteInput} from 'components/AutocompleteInput';\nimport type {SearchableItem, SearchSource} from 'components/AutocompleteInput';\nimport {Button} from 'components/Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from 'components/Field';\nimport {inputRecipe, inputStyles} from 'components/Field/inputStyles';\nimport {getDescribedBy, getStatusMessageID} from 'components/Field/inputUtils';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Tag} from 'components/Tag';\nimport {tagsInputRecipe} from 'components/TagsInput/TagsInput.recipe';\nimport {OverflowList} from 'internal/OverflowList';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport useLatest from 'internal/useLatest';\nimport {useLayer} from 'internal/useLayer';\n\nexport type TagsInputChange<T extends SearchableItem> =\n | {item: T; type: 'add'}\n | {item: T; type: 'create'}\n | {item: T; type: 'remove'}\n | {items: T[]; type: 'remove-all'};\n\nexport type TagsInputOverflowBehavior =\n | 'none'\n | 'unfocusedInline'\n | 'unfocusedLayer';\n\nexport interface TagsInputHandle {\n /**\n * Blur the input.\n */\n blur(): void;\n /**\n * Focus the input.\n */\n focus(): void;\n}\n\n/**\n * Props that gate free-text tag creation.\n *\n * Selecting the \"Create …\" suggestion mints a new item from the typed text via\n * `createItem`. The default builder produces `{id, label}` (both set to the raw\n * text):\n *\n * - When that shape satisfies `T` (e.g. the default `SearchableItem`),\n * `createItem` is optional and `hasCreate` is a plain boolean toggle.\n * - When `T` has additional required fields the default builder cannot supply,\n * creation requires an explicit `createItem`, so enabling it is expressed as\n * `hasCreate` + `createItem` together (and may be omitted entirely).\n */\nexport type TagsInputCreateProps<T extends SearchableItem> = {\n id: string;\n label: string;\n} extends T\n ? {\n /**\n * Whether users can create a tag from free text.\n * @default false\n */\n hasCreate?: boolean;\n /**\n * Builds the committed item from the typed text. Optional for this item\n * type because the default builder — `rawValue => ({id: rawValue, label:\n * rawValue})` — already produces a valid item.\n */\n createItem?: (rawValue: string) => T;\n }\n :\n | {\n /**\n * Whether users can create a tag from free text.\n * @default false\n */\n hasCreate?: false;\n createItem?: never;\n }\n | {\n /**\n * Whether users can create a tag from free text.\n */\n hasCreate: true;\n /**\n * Builds the committed item from the typed text. Required for this\n * item type because it has fields the default `{id, label}` builder\n * cannot supply.\n */\n createItem: (rawValue: string) => T;\n };\n\nexport type TagsInputProps<T extends SearchableItem = SearchableItem> = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input wrapper.\n */\n 'data-testid'?: string;\n /**\n * Debounce delay in milliseconds before search runs.\n * @default 150\n */\n debounceMs?: number;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Empty state text.\n * @default 'No results found'\n */\n emptySearchResultsText?: string;\n /**\n * Content rendered at the end of the input row.\n */\n endContent?: ReactNode;\n /**\n * Imperative focus/blur handle.\n */\n handleRef?: Ref<TagsInputHandle>;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button that removes all tags.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether to show bootstrap results on focus before typing.\n * @default false\n */\n hasEntriesOnFocus?: boolean;\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 read-only. Prevents typing and hides the clear\n * button without applying disabled opacity.\n * @default false\n */\n isReadOnly?: boolean;\n /**\n * Field label.\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 number of selected tags.\n */\n maxEntries?: number;\n /**\n * Maximum number of menu items.\n * @default 10\n */\n maxMenuItems?: number;\n /**\n * Called when focus leaves the tags-input.\n */\n onBlur?: (event: FocusEvent<HTMLDivElement>) => void;\n /**\n * Called when selected tags change.\n */\n onChange: (items: T[], change: TagsInputChange<T>) => void;\n /**\n * Called when focus enters the tags-input.\n */\n onFocus?: (event: FocusEvent<HTMLDivElement>) => void;\n /**\n * Called when the query changes.\n */\n onQueryChange?: (query: string) => void;\n /**\n * Placeholder text.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Custom result renderer.\n */\n renderItem?: (item: T) => ReactNode;\n /**\n * Custom tag renderer.\n */\n renderTag?: (item: T, onRemove: () => void) => ReactNode;\n /**\n * Provides results for the menu. Use `createStaticSearchSource` for\n * in-memory data, or implement {@link SearchSource} for async/remote\n * search.\n */\n searchSource: SearchSource<T>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Icon shown before the input.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the tags-input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Controls how tags overflow when the container is too narrow.\n * - `'none'`: Tags wrap to multiple lines (default).\n * - `'unfocusedInline'`: Single line with \"+ N more\" when unfocused; expands inline on focus.\n * - `'unfocusedLayer'`: Single line with \"+ N more\" when unfocused; expands as overlay on focus.\n * @default 'none'\n */\n tagOverflowBehavior?: TagsInputOverflowBehavior;\n /**\n * Selected items.\n */\n value: T[];\n} & FieldNecessity &\n TagsInputCreateProps<T>;\n\nconst CREATABLE_ID_PREFIX = '__silver_create__';\n\nfunction isCreatableItem<T extends SearchableItem>(item: T): boolean {\n return item.id.startsWith(CREATABLE_ID_PREFIX);\n}\n\n/**\n * Multi-select combobox that renders selected values as removable tags.\n */\nexport function TagsInput<T extends SearchableItem>({\n className,\n 'data-testid': dataTestId,\n debounceMs,\n description,\n emptySearchResultsText,\n endContent,\n createItem,\n hasAutoFocus = false,\n hasClear = false,\n hasCreate = false,\n hasEntriesOnFocus = false,\n handleRef,\n isDisabled = false,\n isLabelHidden = false,\n isReadOnly = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n maxEntries,\n maxMenuItems,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n placeholder,\n ref,\n renderItem,\n renderTag,\n searchSource,\n size = 'md',\n startIcon,\n status,\n style,\n tagOverflowBehavior = 'none',\n value,\n}: TagsInputProps<T>): React.JSX.Element {\n const inputId = useId();\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const [isFocusedWithin, setIsFocusedWithin] = useState(false);\n const [announcement, setAnnouncement] = useState('');\n const [queryValue, setQueryValue] = useState('');\n const isLayerMode = tagOverflowBehavior === 'unfocusedLayer';\n const layer = useLayer();\n const layerContentRef = useRef<HTMLDivElement>(null);\n const selectedIDsRef = useLatest(new Set(value.map(item => item.id)));\n const isAtMax = maxEntries != null && value.length >= maxEntries;\n const isAtMaxRef = useLatest(isAtMax);\n const isTruncated =\n !isFocusedWithin && tagOverflowBehavior !== 'none' && value.length > 0;\n const classes = tagsInputRecipe({\n size,\n hasTags: value.length > 0,\n isTruncated,\n hasFixedHeight: isTruncated,\n isInputHidden: isAtMax || isTruncated,\n });\n // Collapsed single-line placeholder shown behind the layer popover: always\n // fixed-height, never hides the input.\n const placeholderClasses = tagsInputRecipe({\n size,\n isTruncated,\n hasFixedHeight: true,\n });\n\n const placeholderRef = useCallback(\n (element: HTMLElement | null) => {\n if (isLayerMode) {\n layer.ref(element);\n }\n },\n [isLayerMode, layer],\n );\n\n const isFocusInTagsInput = useCallback(\n (target: EventTarget | null): boolean => {\n if (!(target instanceof Node)) {\n return false;\n }\n if (wrapperRef.current?.contains(target)) {\n return true;\n }\n if (layerContentRef.current?.contains(target)) {\n return true;\n }\n const popoverElement = document.getElementById(layer.id);\n return popoverElement?.contains(target) ?? false;\n },\n [layer.id],\n );\n\n const filteredSource = useMemo<SearchSource<T>>(\n () => ({\n cancel: () => searchSource.cancel?.(),\n async bootstrap() {\n const results = await searchSource.bootstrap();\n return results.filter(item => !selectedIDsRef.current.has(item.id));\n },\n async search(searchQuery) {\n const results = await searchSource.search(searchQuery);\n const filteredResults = results.filter(\n item => !selectedIDsRef.current.has(item.id),\n );\n if (!hasCreate || searchQuery.trim() === '' || isAtMaxRef.current) {\n return filteredResults;\n }\n const existing = filteredResults.some(\n item => item.label.toLowerCase() === searchQuery.trim().toLowerCase(),\n );\n if (existing) {\n return filteredResults;\n }\n return [\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n {\n id: `${CREATABLE_ID_PREFIX}${searchQuery}`,\n label: `Create \"${searchQuery}\"`,\n auxiliaryData: {value: searchQuery},\n } as T,\n ...filteredResults,\n ];\n },\n }),\n [hasCreate, searchSource],\n );\n\n useImperativeHandle(\n handleRef,\n () => ({\n blur: () => inputRef.current?.blur(),\n focus: () => inputRef.current?.focus(),\n }),\n [],\n );\n\n const valueRef = useLatest(value);\n const onChangeRef = useLatest(onChange);\n\n const announce = useCallback((message: string) => {\n setAnnouncement('');\n requestAnimationFrame(() => setAnnouncement(message));\n }, []);\n\n const removeItem = useCallback(\n (item: T) => {\n onChangeRef.current(\n valueRef.current.filter(selectedItem => selectedItem.id !== item.id),\n {item, type: 'remove'},\n );\n announce(`Removed ${item.label}`);\n },\n [announce],\n );\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n const comingFromOutside = !isFocusInTagsInput(event.relatedTarget);\n setIsFocusedWithin(true);\n if (isLayerMode) {\n layer.show();\n }\n if (comingFromOutside) {\n onFocus?.(event);\n }\n },\n [isFocusInTagsInput, isLayerMode, layer, onFocus],\n );\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n if (!isFocusInTagsInput(event.relatedTarget)) {\n setIsFocusedWithin(false);\n if (isLayerMode) {\n layer.hide();\n }\n onBlur?.(event);\n }\n },\n [isFocusInTagsInput, isLayerMode, layer, onBlur],\n );\n\n const handleWrapperPointerDown = useCallback(() => {\n if (!isDisabled) {\n if (isLayerMode) {\n layer.show();\n setIsFocusedWithin(true);\n }\n document.addEventListener(\n 'click',\n event => {\n // Focus the input only when the click that completes this press lands\n // inside the TagsInput. A press on a tag may open a popover anchored to\n // it (e.g. SearchFilterInput's edit popover); since the tag's own click\n // can stop propagation, this listener instead fires on the next click\n // — which might be a control in that popover. Focusing the input then\n // would steal focus back and briefly re-open the input's surface.\n if (isFocusInTagsInput(event.target)) {\n requestAnimationFrame(() => inputRef.current?.focus());\n }\n },\n {once: true},\n );\n }\n }, [isDisabled, isFocusInTagsInput, isLayerMode, layer]);\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const tokens = value.map(item => (\n <span className={classes.tag} key={item.id}>\n {renderTag == null ? (\n <Tag\n isDisabled={isDisabled}\n label={item.label}\n onRemove={() => removeItem(item)}\n size={size}\n />\n ) : (\n renderTag(item, () => removeItem(item))\n )}\n </span>\n ));\n\n const wrapperContent = (\n /* eslint-disable-next-line jsx-a11y-x/no-noninteractive-element-interactions -- pointerdown delegates to inner input for focus convenience */\n <div\n aria-label={label}\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n classes.wrapper,\n )}\n data-testid={dataTestId}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onPointerDown={handleWrapperPointerDown}\n ref={wrapperRef}\n role=\"group\">\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n {isTruncated ? (\n <OverflowList\n behavior=\"observeParent\"\n gap={4}\n overflowRenderer={overflowItems => (\n <span className={classes.overflowText}>\n +{overflowItems.length} more\n </span>\n )}>\n {tokens}\n </OverflowList>\n ) : (\n tokens\n )}\n <BaseAutocompleteInput\n anchorRef={wrapperRef}\n ariaDescribedBy={describedBy}\n className={classes.input}\n debounceMs={debounceMs}\n emptySearchResultsText={emptySearchResultsText}\n hasAutoFocus={hasAutoFocus}\n hasEntriesOnFocus={hasEntriesOnFocus}\n hasReopenOnSelect={hasEntriesOnFocus}\n inputId={inputId}\n isDisabled={isDisabled || isReadOnly || isAtMax}\n maxMenuItems={maxMenuItems}\n onChange={item => {\n if (item == null) {\n return;\n }\n if (isCreatableItem(item)) {\n const rawValue =\n typeof item.auxiliaryData === 'object' &&\n item.auxiliaryData != null &&\n 'value' in item.auxiliaryData\n ? String(item.auxiliaryData.value)\n : item.label;\n // `createItem` is guaranteed present for item types that need it\n // (see TagsInputCreateProps); the default builder is only reached\n // when `{id, label}` is a valid `T`, so the assertion is sound.\n const createdItem =\n createItem?.(rawValue) ??\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n ({id: rawValue, label: rawValue} as T);\n onChangeRef.current([...valueRef.current, createdItem], {\n item: createdItem,\n type: 'create',\n });\n announce(`Added ${rawValue}`);\n return;\n }\n onChangeRef.current([...valueRef.current, item], {\n item,\n type: 'add',\n });\n announce(`Added ${item.label}`);\n }}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (\n event.key === 'Backspace' &&\n event.currentTarget.value === '' &&\n valueRef.current.length > 0\n ) {\n const item = valueRef.current[valueRef.current.length - 1];\n removeItem(item);\n }\n }}\n onQueryChange={nextQuery => {\n setQueryValue(nextQuery);\n onQueryChange?.(nextQuery);\n }}\n placeholder={value.length === 0 ? placeholder : undefined}\n query={queryValue}\n ref={inputRef}\n renderItem={renderItem}\n searchSource={filteredSource}\n size={size}\n value={null}\n />\n {isReactNode(endContent) ? (\n <span className={classes.endContent}>{endContent}</span>\n ) : null}\n {hasClear && value.length > 0 && !isDisabled && !isReadOnly ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n onChangeRef.current([], {\n items: valueRef.current,\n type: 'remove-all',\n });\n announce('Cleared all tags');\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n <span aria-live=\"polite\" className={classes.liveRegion} role=\"status\">\n {announcement}\n </span>\n </div>\n );\n\n const popoverOverrideStyle: CSSProperties = {\n positionArea: undefined,\n positionTryFallbacks: undefined,\n top: 'anchor(top)',\n left: 'anchor(start)',\n };\n\n const inputContent = isLayerMode ? (\n <>\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n placeholderClasses.wrapper,\n )}\n onPointerDown={handleWrapperPointerDown}\n ref={placeholderRef}>\n {isTruncated ? (\n <>\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <OverflowList\n behavior=\"observeParent\"\n gap={4}\n overflowRenderer={overflowItems => (\n <span className={classes.overflowText}>\n +{overflowItems.length} more\n </span>\n )}>\n {tokens}\n </OverflowList>\n </>\n ) : null}\n </div>\n {layer.render(\n <div\n data-testid={dataTestId == null ? undefined : `${dataTestId}-layer`}\n ref={layerContentRef}>\n {wrapperContent}\n </div>,\n {\n alignment: 'start',\n className: classes.layerPopover,\n placement: 'below',\n style: popoverOverrideStyle,\n },\n )}\n </>\n ) : (\n wrapperContent\n );\n\n return (\n <Field\n className={className}\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 ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n {inputContent}\n </Field>\n );\n}\n\nTagsInput.displayName = 'TagsInput';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Select/Select.recipe.ts","../src/components/Select/Select.tsx","../src/components/Select/SelectOption.tsx"],"names":["sva","useMemo","useCallback","useSelectListbox","jsxs","jsx","Fragment","Icon","Check","renderSelectListboxOptions","getNecessity","cx","inputRecipe","Spinner","Button","X","ChevronDown","Field","Popover","Item"],"mappings":"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","file":"chunk-XPGIWOJO.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const selectMenuRecipe = sva({\n slots: [\n 'menu',\n 'search',\n 'option',\n 'optionContent',\n 'check',\n 'iconSlot',\n 'sectionHeading',\n 'divider',\n ],\n base: {\n menu: {\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n overflowY: 'auto',\n p: '1',\n },\n search: {\n w: 'full',\n px: '2',\n py: '1',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'md',\n fontFamily: 'body',\n outline: 'none',\n _focus: {\n borderColor: 'primary',\n },\n },\n option: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n w: 'full',\n px: '2',\n py: '2',\n borderWidth: 0,\n borderRadius: 'md',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n '&[aria-disabled=\"true\"]': {\n opacity: 0.5,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n '&[data-highlighted]': {\n bg: 'bg.subtle',\n },\n '&[data-selected]': {\n fontWeight: 'medium',\n },\n },\n optionContent: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '2',\n minW: 0,\n },\n check: {\n display: 'inline-flex',\n color: 'primary',\n },\n iconSlot: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n color: 'fg.muted',\n },\n sectionHeading: {\n px: '2',\n py: '1',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'sm',\n fontWeight: 'semibold',\n },\n divider: {\n h: '1px',\n bg: 'border',\n my: '1',\n },\n },\n});\n\nexport type SelectMenuVariants = RecipeVariantProps<typeof selectMenuRecipe>;\n\nexport const selectTriggerRecipe = sva({\n slots: ['wrapper', 'trigger', 'label'],\n base: {\n wrapper: {\n cursor: 'pointer',\n },\n trigger: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n flex: 1,\n minW: 0,\n p: 0,\n borderWidth: 0,\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n fontFamily: 'body',\n outline: 'none',\n textAlign: 'start',\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n label: {\n flex: 1,\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n },\n variants: {\n isDisabled: {\n true: {wrapper: {cursor: 'not-allowed'}},\n false: {},\n },\n isPlaceholder: {\n true: {label: {color: 'fg.muted'}},\n false: {},\n },\n },\n defaultVariants: {\n isDisabled: false,\n isPlaceholder: false,\n },\n});\n\nexport type SelectTriggerVariants = RecipeVariantProps<\n typeof selectTriggerRecipe\n>;\n\nexport const selectOptionItemRecipe = sva({\n slots: ['root', 'icon'],\n base: {\n root: {\n display: 'flex',\n minW: 0,\n p: 0,\n },\n icon: {\n display: 'inline-flex',\n flexShrink: 0,\n color: 'fg.muted',\n },\n },\n});\n\nexport type SelectOptionItemVariants = RecipeVariantProps<\n typeof selectOptionItemRecipe\n>;\n","import {Check, ChevronDown, X} from 'lucide-react';\nimport {\n useCallback,\n useMemo,\n type CSSProperties,\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 {inputRecipe} from 'components/Field/inputStyles';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Popover} from 'components/Popover';\nimport {\n selectMenuRecipe,\n selectTriggerRecipe,\n} from 'components/Select/Select.recipe';\nimport {Spinner} from 'components/Spinner';\nimport {cx} from 'internal/cx';\nimport {\n renderSelectListboxOptions,\n useSelectListbox,\n type SelectListboxOptionData,\n} from 'internal/useSelectListbox';\n\nexport interface SelectOptionData extends SelectListboxOptionData {\n /**\n * Icon displayed before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the option is disabled.\n */\n isDisabled?: boolean;\n /**\n * Option label. Defaults to `value`.\n */\n label?: string;\n /**\n * Option value.\n */\n value: string;\n}\n\nexport interface SelectDivider {\n /**\n * Discriminator identifying a divider entry.\n */\n type: 'divider';\n}\n\nexport interface SelectSection {\n /**\n * Options within this section.\n */\n options: ReadonlyArray<SelectOptionData>;\n /**\n * Optional heading text for the section.\n */\n title?: string;\n /**\n * Discriminator identifying a section entry.\n */\n type: 'section';\n}\n\nexport type SelectOptionDefinition =\n | SelectDivider\n | SelectOptionData\n | SelectSection\n | string;\n\nexport type SelectProps = {\n /**\n * Additional CSS class names applied to the trigger wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the combobox button.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether to show a clear button when a value is selected.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether to show search input in the dropdown.\n * @default false\n */\n hasSearch?: boolean;\n /**\n * Whether the selector 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 selector is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label.\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 * Called when selection changes.\n */\n onChange: (value: string | null) => void;\n /**\n * Options to display.\n */\n options: ReadonlyArray<SelectOptionDefinition>;\n /**\n * Placeholder shown when no option is selected.\n * @default 'Select...'\n */\n placeholder?: string;\n /**\n * Ref forwarded to the combobox button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Custom render function for selectable options.\n */\n renderOption?: (option: SelectOptionData) => ReactNode;\n /**\n * Search input placeholder.\n * @default 'Search...'\n */\n searchPlaceholder?: string;\n /**\n * Select size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Start icon rendered in the trigger.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the selector.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the trigger wrapper.\n */\n style?: CSSProperties;\n /**\n * Selected option value.\n */\n value: string | null;\n} & FieldNecessity;\n\n/**\n * Single-select dropdown field.\n */\nexport function Select({\n className,\n 'data-testid': dataTestId,\n description,\n hasClear = false,\n hasSearch = false,\n isDisabled = false,\n isLabelHidden = false,\n isLoading = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n onChange,\n options,\n placeholder = 'Select...',\n ref,\n renderOption: renderOptionProp,\n searchPlaceholder = 'Search...',\n size = 'md',\n startIcon,\n status,\n style,\n value,\n}: SelectProps): React.JSX.Element {\n const selectedValues = useMemo(\n () => (value == null ? new Set<string>() : new Set([value])),\n [value],\n );\n\n const commitOption = useCallback(\n (option: SelectOptionData): boolean => {\n if (option.isDisabled) {\n return false;\n }\n\n onChange(option.value);\n return true;\n },\n [onChange],\n );\n\n const {\n activeDescendantId,\n describedBy,\n descriptionID,\n filteredValues,\n getOptionId,\n handleKeyboardNavigation,\n handleOptionClick,\n handleOptionMouseEnter,\n highlightedValue,\n inputId,\n isInteractionDisabled,\n isOpen,\n listboxId,\n query,\n selectableOptions,\n setHighlightedValue,\n setIsOpen,\n setQuery,\n statusMessageID,\n triggerRef,\n } = useSelectListbox({\n clearQueryOnCommit: true,\n closeOnCommit: true,\n description,\n isDisabled,\n isLoading,\n onCommitOption: commitOption,\n options,\n selectedValues,\n status,\n });\n\n const selectedOption = useMemo(\n () => selectableOptions.find(option => option.value === value),\n [selectableOptions, value],\n );\n\n const menuClasses = selectMenuRecipe();\n\n const renderOption = useCallback(\n (option: SelectOptionData): ReactNode => {\n if (!filteredValues.has(option.value)) {\n return null;\n }\n return (\n // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events -- keyboard navigation is handled by the combobox input, not individual options\n <div\n aria-disabled={option.isDisabled ?? undefined}\n aria-selected={option.value === value || undefined}\n className={menuClasses.option}\n data-highlighted={option.value === highlightedValue ? '' : undefined}\n data-selected={option.value === value ? '' : undefined}\n data-value={option.value}\n id={getOptionId(option.value)}\n key={option.value}\n onClick={option.isDisabled ? undefined : handleOptionClick}\n onMouseEnter={handleOptionMouseEnter}\n role=\"option\"\n tabIndex={option.value === highlightedValue ? 0 : -1}>\n <span className={menuClasses.optionContent}>\n {renderOptionProp == null ? (\n <>\n {option.icon != null ? (\n <span className={menuClasses.iconSlot}>\n <Icon color=\"secondary\" icon={option.icon} size=\"sm\" />\n </span>\n ) : null}\n {option.label}\n </>\n ) : (\n renderOptionProp(option)\n )}\n </span>\n {option.value === value ? (\n <span className={menuClasses.check}>\n <Icon color=\"accent\" icon={Check} size=\"sm\" />\n </span>\n ) : null}\n </div>\n );\n },\n [\n filteredValues,\n getOptionId,\n handleOptionClick,\n handleOptionMouseEnter,\n highlightedValue,\n menuClasses,\n renderOptionProp,\n value,\n ],\n );\n\n const optionNodes = renderSelectListboxOptions({\n dividerClassName: menuClasses.divider ?? '',\n inputId,\n options,\n renderOption,\n sectionHeadingClassName: menuClasses.sectionHeading ?? '',\n });\n\n const menu = (\n <>\n {hasSearch ? (\n <input\n aria-activedescendant={activeDescendantId}\n aria-autocomplete=\"list\"\n aria-controls={listboxId}\n aria-label={`Search ${label}`}\n className={menuClasses.search}\n onChange={event => {\n setQuery(event.target.value);\n setHighlightedValue(null);\n }}\n onKeyDown={handleKeyboardNavigation}\n placeholder={searchPlaceholder}\n type=\"search\"\n value={query}\n />\n ) : null}\n <div\n aria-label={`${label} options`}\n className={menuClasses.menu}\n id={listboxId}\n role=\"listbox\">\n {optionNodes}\n </div>\n </>\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n const triggerClasses = selectTriggerRecipe({\n isDisabled: isInteractionDisabled,\n isPlaceholder: selectedOption == null,\n });\n\n const trigger = (\n // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events, jsx-a11y-x/no-static-element-interactions -- mouse clicks anywhere on the visual input delegate to the inner combobox button; keyboard handling stays on that button.\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n triggerClasses.wrapper,\n )}\n onClick={() => {\n if (!isInteractionDisabled) {\n setIsOpen(currentIsOpen => !currentIsOpen);\n }\n }}\n ref={triggerRef}>\n {startIcon != null ? (\n <span className={menuClasses.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <button\n aria-activedescendant={activeDescendantId}\n aria-busy={isLoading || undefined}\n aria-controls={listboxId}\n aria-describedby={describedBy}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-invalid={status?.type === 'error' || undefined}\n className={triggerClasses.trigger}\n data-testid={dataTestId}\n disabled={isInteractionDisabled}\n id={inputId}\n onKeyDown={handleKeyboardNavigation}\n ref={ref}\n role=\"combobox\"\n type=\"button\">\n <span className={triggerClasses.label}>\n {selectedOption?.label ?? placeholder}\n </span>\n </button>\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {hasClear && selectedOption != null && !isDisabled ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n onChange(null);\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n <span className={menuClasses.iconSlot}>\n <Icon icon={ChevronDown} size=\"sm\" />\n </span>\n </div>\n );\n\n return (\n <Field\n className={className}\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 style={style}>\n {trigger}\n <Popover\n anchorRef={triggerRef}\n content={menu}\n hasAutoFocus={hasSearch}\n hasCloseButton={false}\n isEnabled={false}\n isOpen={isOpen}\n onOpenChange={setIsOpen}\n />\n </Field>\n );\n}\n\nSelect.displayName = 'Select';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Item} from 'components/Item';\nimport {selectOptionItemRecipe} from 'components/Select/Select.recipe';\nimport {cx} from 'internal/cx';\n\nexport interface SelectOptionProps {\n /**\n * Additional CSS class names applied to the option layout.\n */\n className?: string;\n /**\n * Test ID applied to the option layout.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Trailing content.\n */\n endContent?: ReactNode;\n /**\n * Icon displayed before the label.\n */\n icon?: IconComponent;\n /**\n * Primary label.\n */\n label: ReactNode;\n /**\n * Ref forwarded to the layout root.\n */\n ref?: Ref<HTMLSpanElement>;\n /**\n * Inline styles applied to the layout root.\n */\n style?: CSSProperties;\n}\n\n/**\n * Helper layout for custom Select option rendering.\n */\nexport function SelectOption({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n icon,\n label,\n ref,\n style,\n}: SelectOptionProps): React.JSX.Element {\n const classes = selectOptionItemRecipe();\n\n return (\n <Item\n as=\"span\"\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n description={description}\n endContent={endContent}\n label={label}\n ref={ref}\n startContent={\n icon != null ? (\n <span className={classes.icon}>\n <Icon color=\"secondary\" icon={icon} size=\"sm\" />\n </span>\n ) : null\n }\n style={style}\n />\n );\n}\n\nSelectOption.displayName = 'SelectOption';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Layout/Layout.recipe.ts","../src/components/Layout/LayoutContext.ts","../src/components/Layout/Layout.tsx","../src/components/Layout/LayoutContent.tsx","../src/components/Layout/LayoutFooter.tsx","../src/components/Layout/LayoutHeader.tsx","../src/components/Layout/LayoutPanel.tsx"],"names":["sva","cva","createContext","use","isReactNode","jsx","useMemo","jsxs","cx","Fragment","useDialogContext","Button","X","Heading","Text"],"mappings":";;;;;;;;;;;;;;AAEA,IAAM,eAAA,GAAkB;AAAA,EACtB,CAAA,EAAG,EAAC,CAAA,EAAG,GAAA,EAAG;AAAA,EACV,GAAA,EAAK,EAAC,CAAA,EAAG,KAAA,EAAK;AAAA,EACd,CAAA,EAAG,EAAC,CAAA,EAAG,GAAA,EAAG;AAAA,EACV,GAAA,EAAK,EAAC,CAAA,EAAG,KAAA,EAAK;AAAA,EACd,CAAA,EAAG,EAAC,CAAA,EAAG,GAAA,EAAG;AAAA,EACV,CAAA,EAAG,EAAC,CAAA,EAAG,GAAA,EAAG;AAAA,EACV,CAAA,EAAG,EAAC,CAAA,EAAG,GAAA,EAAG;AAAA,EACV,CAAA,EAAG,EAAC,CAAA,EAAG,GAAA,EAAG;AAAA,EACV,CAAA,EAAG,EAAC,CAAA,EAAG,GAAA,EAAG;AAAA,EACV,CAAA,EAAG,EAAC,CAAA,EAAG,GAAA,EAAG;AAAA,EACV,EAAA,EAAI,EAAC,CAAA,EAAG,IAAA;AACV,CAAA;AAIA,IAAM,mBAAA,GAAsB;AAAA,EAC1B,GAAG,EAAC,IAAA,EAAM,EAAC,CAAA,EAAG,KAAG,EAAC;AAAA,EAClB,KAAK,EAAC,IAAA,EAAM,EAAC,CAAA,EAAG,OAAK,EAAC;AAAA,EACtB,GAAG,EAAC,IAAA,EAAM,EAAC,CAAA,EAAG,KAAG,EAAC;AAAA,EAClB,KAAK,EAAC,IAAA,EAAM,EAAC,CAAA,EAAG,OAAK,EAAC;AAAA,EACtB,GAAG,EAAC,IAAA,EAAM,EAAC,CAAA,EAAG,KAAG,EAAC;AAAA,EAClB,GAAG,EAAC,IAAA,EAAM,EAAC,CAAA,EAAG,KAAG,EAAC;AAAA,EAClB,GAAG,EAAC,IAAA,EAAM,EAAC,CAAA,EAAG,KAAG,EAAC;AAAA,EAClB,GAAG,EAAC,IAAA,EAAM,EAAC,CAAA,EAAG,KAAG,EAAC;AAAA,EAClB,GAAG,EAAC,IAAA,EAAM,EAAC,CAAA,EAAG,KAAG,EAAC;AAAA,EAClB,GAAG,EAAC,IAAA,EAAM,EAAC,CAAA,EAAG,KAAG,EAAC;AAAA,EAClB,IAAI,EAAC,IAAA,EAAM,EAAC,CAAA,EAAG,MAAI;AACrB,CAAA;AAEO,IAAM,eAAeA,qBAAA,CAAI;AAAA,EAC9B,KAAA,EAAO,CAAC,MAAA,EAAQ,QAAA,EAAU,SAAS,CAAA;AAAA,EACnC,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,IAAA,EAAM;AAAA,KACR;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,OAAA,EAAS,MAAA;AAAA,MACT,IAAA,EAAM,CAAA;AAAA,MACN,IAAA,EAAM,CAAA;AAAA,MACN,IAAA,EAAM;AAAA,KACR;AAAA,IACA,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,CAAA;AAAA,MACN,IAAA,EAAM,CAAA;AAAA,MACN,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe;AAAA;AACjB,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,EAAC,CAAA,EAAG,MAAA,EAAQ,MAAM,CAAA;AAAC,OAC3B;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,EAAC,IAAA,EAAM,MAAA;AAAM;AACrB,KACF;AAAA,IACA,OAAA,EAAS;AAAA,GACX;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,MAAA,EAAQ;AAAA;AAEZ,CAAC,CAAA;AAEM,IAAM,oBAAoBC,qBAAA,CAAI;AAAA,EACnC,IAAA,EAAM;AAAA,IACJ,UAAA,EAAY,CAAA;AAAA,IACZ,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,QAAA,EAAU;AAAA,IACR,YAAA,EAAc;AAAA,MACZ,IAAA,EAAM,EAAC,QAAA,EAAU,MAAA;AAAM,KACzB;AAAA,IACA,OAAA,EAAS;AAAA,MACP,MAAM,EAAC;AAAA;AAAA;AAAA,MAGP,KAAA,EAAO;AAAA,QACL,oBAAA,EAAsB,SAAA;AAAA,QACtB,oBAAA,EAAsB,OAAA;AAAA,QACtB,oBAAA,EAAsB;AAAA,OACxB;AAAA,MACA,GAAA,EAAK;AAAA,QACH,sBAAA,EAAwB,SAAA;AAAA,QACxB,sBAAA,EAAwB,OAAA;AAAA,QACxB,sBAAA,EAAwB;AAAA;AAC1B;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,YAAA,EAAc,IAAA;AAAA,IACd,OAAA,EAAS;AAAA;AAEb,CAAC,CAAA;AAEM,IAAM,sBAAsBA,qBAAA,CAAI;AAAA,EACrC,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,CAAA;AAAA,IACN,IAAA,EAAM,CAAA;AAAA,IACN,IAAA,EAAM,CAAA;AAAA,IACN,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,QAAA,EAAU;AAAA,IACR,YAAA,EAAc;AAAA,MACZ,IAAA,EAAM,EAAC,QAAA,EAAU,MAAA;AAAM;AACzB,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,YAAA,EAAc;AAAA;AAElB,CAAC,CAAA;AAEM,IAAM,qBAAqBD,qBAAA,CAAI;AAAA,EACpC,OAAO,CAAC,MAAA,EAAQ,OAAA,EAAS,WAAA,EAAa,WAAW,aAAa,CAAA;AAAA,EAC9D,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,UAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,YAAA;AAAA,MACZ,cAAA,EAAgB,eAAA;AAAA,MAChB,GAAA,EAAK;AAAA,KACP;AAAA,IACA,SAAA,EAAW;AAAA,MACT,IAAA,EAAM,CAAA;AAAA,MACN,IAAA,EAAM,CAAA;AAAA,MACN,YAAA,EAAc;AAAA,QACZ,OAAA,EAAS;AAAA;AACX,KACF;AAAA,IACA,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa;AAAA,MACX,eAAA,EAAiB,IAAA;AAAA,MACjB,gBAAA,EAAkB;AAAA;AACpB,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,MACV,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM;AAAA,UACJ,mBAAA,EAAqB,SAAA;AAAA,UACrB,mBAAA,EAAqB,OAAA;AAAA,UACrB,mBAAA,EAAqB;AAAA;AACvB;AACF;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY;AAAA;AAEhB,CAAC,CAAA;AAEM,IAAM,qBAAqBA,qBAAA,CAAI;AAAA,EACpC,KAAA,EAAO,CAAC,MAAA,EAAQ,OAAA,EAAS,SAAS,SAAS,CAAA;AAAA,EAC3C,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,UAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,IAAA,EAAM,CAAA;AAAA,MACN,IAAA,EAAM,CAAA;AAAA,MACN,eAAA,EAAiB;AAAA,KACnB;AAAA,IACA,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,UAAA,EAAY;AAAA;AACd,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,MACV,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM;AAAA,UACJ,qBAAA,EAAuB,SAAA;AAAA,UACvB,qBAAA,EAAuB,OAAA;AAAA,UACvB,qBAAA,EAAuB;AAAA;AACzB;AACF,KACF;AAAA;AAAA;AAAA,IAGA,QAAA,EAAU;AAAA,MACR,KAAA,EAAO;AAAA,QACL,KAAA,EAAO;AAAA,UACL,OAAA,EAAS,MAAA;AAAA,UACT,UAAA,EAAY,QAAA;AAAA,UACZ,cAAA,EAAgB,UAAA;AAAA,UAChB,GAAA,EAAK;AAAA;AACP,OACF;AAAA,MACA,MAAM;AAAC;AACT,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY,KAAA;AAAA,IACZ,QAAA,EAAU;AAAA;AAEd,CAAC,CAAA;AAEM,IAAM,qBAAqBC,qBAAA,CAAI;AAAA,EACpC,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,GACX;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAC,CAAA;ACrNM,IAAM,iBAAA,GAAoBC,oBAA0B,SAAS,CAAA;AACpE,iBAAA,CAAkB,WAAA,GAAc,mBAAA;AACzB,IAAM,oBAAA,GACXA,oBAAgD,IAAI,CAAA;AACtD,oBAAA,CAAqB,WAAA,GAAc,sBAAA;AAE5B,SAAS,aAAA,GAA4B;AAC1C,EAAA,OAAOC,UAAI,iBAAiB,CAAA;AAC9B;AAEO,SAAS,gBAAA,GAAqD;AACnE,EAAA,OAAOA,UAAI,oBAAoB,CAAA;AACjC;AC+CA,SAAS,YAAA,CAAa;AAAA,EACpB,IAAA;AAAA,EACA;AACF,CAAA,EAG6B;AAC3B,EAAA,IAAI,CAACC,6BAAA,CAAY,QAAQ,CAAA,EAAG;AAC1B,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBAAOC,cAAA,CAAC,iBAAA,EAAA,EAAkB,KAAA,EAAO,IAAA,EAAO,QAAA,EAAS,CAAA;AACnD;AAEO,SAAS,MAAA,CAAO;AAAA,EACrB,SAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,WAAA,GAAc,IAAA;AAAA,EACd,GAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA,GAAS,MAAA;AAAA,EACT,OAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAAmC;AACjC,EAAA,MAAM,YAAA,GAAeC,cAAQ,OAAO,EAAC,aAAW,CAAA,EAAI,CAAC,WAAW,CAAC,CAAA;AACjE,EAAA,MAAM,OAAA,GAAU,YAAA,CAAa,EAAC,MAAA,EAAQ,SAAQ,CAAA;AAE9C,EAAA,uBACED,cAAA,CAAC,oBAAA,EAAA,EAAqB,KAAA,EAAO,YAAA,EAC3B,QAAA,kBAAAE,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,oBAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,MACrC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,EAAA;AAAA,wBAAAH,cAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAK,QAAA,EAAU,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,wBACpCE,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,MAAA,EACtB,QAAA,EAAA;AAAA,0BAAAF,cAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAK,OAAA,EAAS,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,0BAClCA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,OAAA,EACtB,yCAAC,YAAA,EAAA,EAAa,IAAA,EAAK,SAAA,EAAW,QAAA,EAAA,OAAA,EAAQ,CAAA,EACxC,CAAA;AAAA,0BACAA,cAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAK,KAAA,EAAO,QAAA,EAAA,GAAA,EAAI;AAAA,SAAA,EAChC,CAAA;AAAA,wBACAA,cAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAK,QAAA,EAAU,QAAA,EAAA,MAAA,EAAO;AAAA;AAAA;AAAA,GACtC,EACF,CAAA;AAEJ;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA;AChFd,SAAS,aAAA,CAAc;AAAA,EAC5B,IAAI,OAAA,GAAU,KAAA;AAAA,EACd,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,YAAA,GAAe,IAAA;AAAA,EACf,KAAA;AAAA,EACA,OAAA,GAAU,CAAA;AAAA,EACV,GAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0C;AACxC,EAAA,uBACEA,cAAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAWG,oBAAA;AAAA,QACT,mBAAA,CAAoB,EAAC,YAAA,EAAa,CAAA;AAAA,QAClC,kBAAA,CAAmB,EAAC,OAAA,EAAQ,CAAA;AAAA,QAC5B;AAAA,OACF;AAAA,MACA,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,IAAA,EAAM,IAAA,KAAS,KAAA,IAAS,IAAA,GAAO,QAAA,GAAW,MAAA,CAAA;AAAA,MAC1C,KAAA;AAAA,MACC;AAAA;AAAA,GACH;AAEJ;AAEA,aAAA,CAAc,WAAA,GAAc,eAAA;ACQrB,SAAS,YAAA,CAAa;AAAA,EAC3B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,MAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA,GAAU,CAAA;AAAA,EACV,aAAA;AAAA,EACA,GAAA;AAAA,EACA,eAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,EAAyC;AACvC,EAAA,MAAM,iBAAiB,gBAAA,EAAiB;AACxC,EAAA,MAAM,UAAA,GAAa,gBAAgB,WAAA,IAAe,KAAA;AAClD,EAAA,MAAM,SAAA,GAA2B,EAAC,MAAA,EAAQ,GAAG,KAAA,EAAK;AAClD,EAAA,MAAM,QAAA,GAAWJ,8BAAY,QAAQ,CAAA;AACrC,EAAA,MAAM,UAAA,GAAaA,6BAAA,CAAY,aAAa,CAAA,IAAKA,8BAAY,eAAe,CAAA;AAC5E,EAAA,MAAM,OAAA,GAAU,kBAAA,CAAmB,EAAC,UAAA,EAAY,UAAS,CAAA;AAEzD,EAAA,uBACEC,cAAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAWG,oBAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,MACrC,gBAAc,UAAA,IAAc,MAAA;AAAA,MAC5B,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA,EAAO,SAAA;AAAA,MACP,0BAAAH,cAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWG,oBAAA,CAAG,QAAQ,KAAA,EAAO,kBAAA,CAAmB,EAAC,OAAA,EAAQ,CAAC,CAAA,EAC5D,qBACC,QAAA,mBAEAD,gBAAAE,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,QAAAL,6BAAA,CAAY,YAAY,oBACvBC,cAAAA,CAAC,SAAI,SAAA,EAAW,OAAA,CAAQ,KAAA,EAAQ,QAAA,EAAA,YAAA,EAAa,CAAA,GAC3C,IAAA;AAAA,QACH,6BACCE,eAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,QAAQ,OAAA,EACrB,QAAA,EAAA;AAAA,UAAA,eAAA;AAAA,UACA;AAAA,SAAA,EACH,CAAA,GACE;AAAA,OAAA,EACN,CAAA,EAEJ;AAAA;AAAA,GACF;AAEJ;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;AClDpB,SAAS,YAAA,CAAa;AAAA,EAC3B,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,UAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA,GAAU,CAAA;AAAA,EACV,GAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAAyC;AACvC,EAAA,MAAM,iBAAiB,gBAAA,EAAiB;AACxC,EAAA,MAAM,gBAAgBG,kCAAA,EAAiB;AACvC,EAAA,MAAM,UAAA,GAAa,gBAAgB,WAAA,IAAe,KAAA;AAClD,EAAA,MAAM,SAAA,GAA2B,EAAC,MAAA,EAAQ,GAAG,KAAA,EAAK;AAClD,EAAA,MAAM,OAAA,GAAU,kBAAA,CAAmB,EAAC,UAAA,EAAW,CAAA;AAE/C,EAAA,MAAM,WAAA,GACJ,aAAA,IAAiB,IAAA,mBACfL,cAAAA;AAAA,IAACM,wBAAA;AAAA,IAAA;AAAA,MACC,WAAW,OAAA,CAAQ,WAAA;AAAA,MACnB,IAAA,EAAMC,aAAA;AAAA,MACN,UAAA,EAAU,IAAA;AAAA,MACV,KAAA,EAAM,OAAA;AAAA,MACN,OAAA,EAAS,MAAM,aAAA,CAAc,YAAA,CAAa,KAAK,CAAA;AAAA,MAC/C,OAAA,EAAQ;AAAA;AAAA,GACV,GACE,IAAA;AACN,EAAA,MAAM,MAAA,GAASR,6BAAA,CAAY,UAAU,CAAA,IAAK,WAAA,IAAe,IAAA;AAEzD,EAAA,uBACEC,cAAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAWG,oBAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,MACrC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA,EAAO,SAAA;AAAA,MACP,QAAA,kBAAAD,eAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWC,oBAAA,CAAG,OAAA,CAAQ,KAAA,EAAO,kBAAA,CAAmB,EAAC,OAAA,EAAQ,CAAC,CAAA,EAC5D,QAAA,EAAA;AAAA,QAAAJ,6BAAA,CAAY,YAAY,oBACvBC,cAAAA,CAAC,SAAI,SAAA,EAAW,OAAA,CAAQ,OAAA,EAAU,QAAA,EAAA,YAAA,EAAa,CAAA,GAC7C,IAAA;AAAA,wBACJE,eAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,QAAQ,SAAA,EACtB,QAAA,EAAA;AAAA,0BAAAF,cAAAA;AAAA,YAACQ,yBAAA;AAAA,YAAA;AAAA,cACC,uBAAA,EAAuB,aAAA,IAAiB,IAAA,GAAO,MAAA,GAAS,MAAA;AAAA,cACxD,IAAI,aAAA,EAAe,OAAA;AAAA,cACnB,KAAA,EAAO,CAAA;AAAA,cACP,QAAA,EAAU,aAAA,IAAiB,IAAA,GAAO,EAAA,GAAK,MAAA;AAAA,cACtC,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,UACC,QAAA,IAAY,IAAA,mBACXR,cAAAA,CAACS,sBAAA,EAAA,EAAK,EAAA,EAAG,GAAA,EAAI,KAAA,EAAM,WAAA,EAAY,IAAA,EAAK,YAAA,EACjC,QAAA,EAAA,QAAA,EACH,CAAA,GACE;AAAA,SAAA,EACN,CAAA;AAAA,QACC,yBACCP,eAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,QAAQ,OAAA,EACrB,QAAA,EAAA;AAAA,UAAA,UAAA;AAAA,UACA;AAAA,SAAA,EACH,CAAA,GACE;AAAA,OAAA,EACN;AAAA;AAAA,GACF;AAEJ;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;ACzGpB,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,YAAA,GAAe,IAAA;AAAA,EACf,KAAA;AAAA,EACA,OAAA,GAAU,CAAA;AAAA,EACV,GAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwC;AACtC,EAAA,MAAM,OAAO,aAAA,EAAc;AAC3B,EAAA,MAAM,iBAAiB,gBAAA,EAAiB;AACxC,EAAA,MAAM,UAAA,GAAa,gBAAgB,WAAA,IAAe,KAAA;AAClD,EAAA,MAAM,UACJ,UAAA,KAAe,IAAA,KAAS,OAAA,IAAW,IAAA,KAAS,SAAS,IAAA,GAAO,MAAA;AAE9D,EAAA,uBACEF,cAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAWG,oBAAA;AAAA,QACT,iBAAA,CAAkB,EAAC,YAAA,EAAc,OAAA,EAAQ,CAAA;AAAA,QACzC,kBAAA,CAAmB,EAAC,OAAA,EAAQ,CAAA;AAAA,QAC5B;AAAA,OACF;AAAA,MACA,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,IAAA,EAAM,IAAA,KAAS,KAAA,IAAS,IAAA,GAAO,QAAA,GAAW,MAAA,CAAA;AAAA,MAC1C,KAAA,EAAO,EAAC,KAAA,EAAO,GAAG,KAAA,EAAK;AAAA,MACtB;AAAA;AAAA,GACH;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-ZPJW3PP7.cjs","sourcesContent":["import {cva, sva, type RecipeVariantProps} from 'styled-system/css';\n\nconst paddingVariants = {\n 0: {p: '0'},\n 0.5: {p: '0.5'},\n 1: {p: '1'},\n 1.5: {p: '1.5'},\n 2: {p: '2'},\n 3: {p: '3'},\n 4: {p: '4'},\n 5: {p: '5'},\n 6: {p: '6'},\n 8: {p: '8'},\n 10: {p: '10'},\n};\n\n// Same padding scale as `paddingVariants`, scoped to the `root` slot so it can\n// be used as an `sva` variant on the Layout shell.\nconst rootPaddingVariants = {\n 0: {root: {p: '0'}},\n 0.5: {root: {p: '0.5'}},\n 1: {root: {p: '1'}},\n 1.5: {root: {p: '1.5'}},\n 2: {root: {p: '2'}},\n 3: {root: {p: '3'}},\n 4: {root: {p: '4'}},\n 5: {root: {p: '5'}},\n 6: {root: {p: '6'}},\n 8: {root: {p: '8'}},\n 10: {root: {p: '10'}},\n};\n\nexport const layoutRecipe = sva({\n slots: ['root', 'middle', 'content'],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n minW: 0,\n },\n middle: {\n display: 'flex',\n flex: 1,\n minH: 0,\n minW: 0,\n },\n content: {\n flex: 1,\n minW: 0,\n display: 'flex',\n flexDirection: 'column',\n },\n },\n variants: {\n height: {\n fill: {\n root: {h: '100%', minH: 0},\n },\n auto: {\n root: {minH: '100%'},\n },\n },\n padding: rootPaddingVariants,\n },\n defaultVariants: {\n height: 'fill',\n },\n});\n\nexport const layoutPanelRecipe = cva({\n base: {\n flexShrink: 0,\n overflow: 'clip',\n },\n variants: {\n isScrollable: {\n true: {overflow: 'auto'},\n },\n divider: {\n none: {},\n // Border on the edge adjacent to the content area: inline-end for a start\n // panel, inline-start for an end panel.\n start: {\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n },\n end: {\n borderInlineStartWidth: 'default',\n borderInlineStartStyle: 'solid',\n borderInlineStartColor: 'border',\n },\n },\n },\n defaultVariants: {\n isScrollable: true,\n divider: 'none',\n },\n});\n\nexport const layoutContentRecipe = cva({\n base: {\n flex: 1,\n minH: 0,\n minW: 0,\n overflow: 'clip',\n },\n variants: {\n isScrollable: {\n true: {overflow: 'auto'},\n },\n },\n defaultVariants: {\n isScrollable: true,\n },\n});\n\nexport const layoutHeaderRecipe = sva({\n slots: ['root', 'inner', 'titleArea', 'actions', 'closeButton'],\n base: {\n root: {\n flexShrink: 0,\n },\n inner: {\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n gap: '3',\n },\n titleArea: {\n flex: 1,\n minW: 0,\n '& > :focus': {\n outline: 'none',\n },\n },\n actions: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n },\n closeButton: {\n marginInlineEnd: '-2',\n marginBlockStart: '-2',\n },\n },\n variants: {\n hasDivider: {\n true: {\n root: {\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n },\n },\n },\n },\n defaultVariants: {\n hasDivider: false,\n },\n});\n\nexport const layoutFooterRecipe = sva({\n slots: ['root', 'inner', 'start', 'actions'],\n base: {\n root: {\n flexShrink: 0,\n },\n start: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n marginInlineEnd: 'auto',\n },\n actions: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n },\n },\n variants: {\n hasDivider: {\n true: {\n root: {\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n },\n },\n },\n // Custom footers render arbitrary children, so the inner element drops the\n // action-row flex layout.\n isCustom: {\n false: {\n inner: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n gap: '3',\n },\n },\n true: {},\n },\n },\n defaultVariants: {\n hasDivider: false,\n isCustom: false,\n },\n});\n\nexport const layoutRegionRecipe = cva({\n variants: {\n padding: paddingVariants,\n },\n defaultVariants: {\n padding: 4,\n },\n});\n\nexport type LayoutVariants = RecipeVariantProps<typeof layoutRecipe>;\nexport type LayoutRegionVariants = RecipeVariantProps<\n typeof layoutRegionRecipe\n>;\n","import {createContext, use} from 'react';\n\nexport type LayoutArea = 'header' | 'content' | 'start' | 'end' | 'footer';\n\nexport interface LayoutDividerContextValue {\n hasDividers: boolean;\n}\n\nexport const LayoutAreaContext = createContext<LayoutArea>('content');\nLayoutAreaContext.displayName = 'LayoutAreaContext';\nexport const LayoutDividerContext =\n createContext<LayoutDividerContextValue | null>(null);\nLayoutDividerContext.displayName = 'LayoutDividerContext';\n\nexport function useLayoutArea(): LayoutArea {\n return use(LayoutAreaContext);\n}\n\nexport function useLayoutDivider(): LayoutDividerContextValue | null {\n return use(LayoutDividerContext);\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {layoutRecipe} from 'components/Layout/Layout.recipe';\nimport {\n LayoutAreaContext,\n LayoutDividerContext,\n type LayoutArea,\n} from 'components/Layout/LayoutContext';\nimport type {LayoutHeight} from 'components/Layout/types';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport type {SpacingToken} from 'internal/spacingTokens';\n\n/**\n * Shell with header, side panels, content, and footer slots.\n */\nexport interface LayoutProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Main content slot.\n */\n content?: ReactNode;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * End panel slot.\n */\n end?: ReactNode;\n /**\n * Footer slot.\n */\n footer?: ReactNode;\n /**\n * Whether child layout regions should show dividers.\n */\n hasDividers?: boolean;\n /**\n * Header slot.\n */\n header?: ReactNode;\n /**\n * Layout height behavior. Default is `fill`.\n */\n height?: LayoutHeight;\n /**\n * Outer padding for layout edges.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Start panel slot.\n */\n start?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nfunction AreaProvider({\n area,\n children,\n}: {\n area: LayoutArea;\n children?: ReactNode;\n}): React.JSX.Element | null {\n if (!isReactNode(children)) {\n return null;\n }\n\n return <LayoutAreaContext value={area}>{children}</LayoutAreaContext>;\n}\n\nexport function Layout({\n className,\n content,\n 'data-testid': dataTestId,\n hasDividers = true,\n end,\n footer,\n header,\n height = 'fill',\n padding,\n ref,\n start,\n style,\n}: LayoutProps): React.JSX.Element {\n const dividerValue = useMemo(() => ({hasDividers}), [hasDividers]);\n const classes = layoutRecipe({height, padding});\n\n return (\n <LayoutDividerContext value={dividerValue}>\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <AreaProvider area=\"header\">{header}</AreaProvider>\n <div className={classes.middle}>\n <AreaProvider area=\"start\">{start}</AreaProvider>\n <div className={classes.content}>\n <AreaProvider area=\"content\">{content}</AreaProvider>\n </div>\n <AreaProvider area=\"end\">{end}</AreaProvider>\n </div>\n <AreaProvider area=\"footer\">{footer}</AreaProvider>\n </div>\n </LayoutDividerContext>\n );\n}\n\nLayout.displayName = 'Layout';\n","import type {ComponentPropsWithRef, ElementType} from 'react';\nimport {\n layoutContentRecipe,\n layoutRegionRecipe,\n} from 'components/Layout/Layout.recipe';\nimport {cx} from 'internal/cx';\nimport type {SpacingToken} from 'internal/spacingTokens';\n\n/**\n * Scrollable main content area within a Layout. Fills the remaining space\n * between panels and stretches to fill the available height.\n */\nexport interface LayoutContentProps extends ComponentPropsWithRef<'div'> {\n /**\n * HTML element to render. Default is `div`.\n */\n as?: ElementType;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the content area scrolls when it overflows.\n */\n isScrollable?: boolean;\n /**\n * Accessible label. Automatically sets role=\"region\" when provided.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n}\n\n/**\n * Scrollable main content area within a Layout. Fills the remaining space\n * between panels and stretches to fill the available height.\n */\nexport function LayoutContent({\n as: Element = 'div',\n children,\n className,\n 'data-testid': dataTestId,\n isScrollable = true,\n label,\n padding = 4,\n ref,\n role,\n style,\n ...rest\n}: LayoutContentProps): React.JSX.Element {\n return (\n <Element\n {...rest}\n aria-label={label}\n className={cx(\n layoutContentRecipe({isScrollable}),\n layoutRegionRecipe({padding}),\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role={role ?? (label != null ? 'region' : undefined)}\n style={style}>\n {children}\n </Element>\n );\n}\n\nLayoutContent.displayName = 'LayoutContent';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {\n layoutFooterRecipe,\n layoutRegionRecipe,\n} from 'components/Layout/Layout.recipe';\nimport {useLayoutDivider} from 'components/Layout/LayoutContext';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport type {SpacingToken} from 'internal/spacingTokens';\n\ninterface LayoutFooterBaseProps {\n /**\n * Additional CSS class names applied to the footer.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Fixed height for the footer.\n */\n height?: number | string;\n /**\n * Accessible label for the footer landmark.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the footer element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the footer.\n */\n style?: CSSProperties;\n}\n\ninterface LayoutFooterCustomProps extends LayoutFooterBaseProps {\n /**\n * Custom footer content rendered inside the footer shell.\n */\n children: ReactNode;\n primaryButton?: never;\n secondaryButton?: never;\n startContent?: never;\n}\n\ninterface LayoutFooterActionsProps extends LayoutFooterBaseProps {\n children?: never;\n /**\n * Primary action button, rendered rightmost.\n */\n primaryButton?: ReactNode;\n /**\n * Secondary action button, rendered left of the primary button.\n */\n secondaryButton?: ReactNode;\n /**\n * Content rendered at the start (left) of the footer.\n */\n startContent?: ReactNode;\n}\n\n/**\n * Footer landmark region within a Layout. Use action slots for the standard\n * footer layout, or children for a custom footer inside the same shell.\n */\nexport type LayoutFooterProps =\n | LayoutFooterActionsProps\n | LayoutFooterCustomProps;\n\n/**\n * Footer landmark region within a Layout.\n */\nexport function LayoutFooter({\n children,\n className,\n 'data-testid': dataTestId,\n height,\n label,\n padding = 4,\n primaryButton,\n ref,\n secondaryButton,\n startContent,\n style,\n}: LayoutFooterProps): React.JSX.Element {\n const dividerContext = useLayoutDivider();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const rootStyle: CSSProperties = {height, ...style};\n const isCustom = isReactNode(children);\n const hasActions = isReactNode(primaryButton) || isReactNode(secondaryButton);\n const classes = layoutFooterRecipe({hasDivider, isCustom});\n\n return (\n <footer\n aria-label={label}\n className={cx(classes.root, className)}\n data-divider={hasDivider || undefined}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <div className={cx(classes.inner, layoutRegionRecipe({padding}))}>\n {isCustom ? (\n children\n ) : (\n <>\n {isReactNode(startContent) ? (\n <div className={classes.start}>{startContent}</div>\n ) : null}\n {hasActions ? (\n <div className={classes.actions}>\n {secondaryButton}\n {primaryButton}\n </div>\n ) : null}\n </>\n )}\n </div>\n </footer>\n );\n}\n\nLayoutFooter.displayName = 'LayoutFooter';\n","import {X} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {Button} from 'components/Button';\nimport {useDialogContext} from 'components/Dialog/DialogContext';\nimport {\n layoutHeaderRecipe,\n layoutRegionRecipe,\n} from 'components/Layout/Layout.recipe';\nimport {useLayoutDivider} from 'components/Layout/LayoutContext';\nimport {Heading, Text} from 'components/Text';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport type {SpacingToken} from 'internal/spacingTokens';\n\n/**\n * Header landmark region within a Layout with a structured title,\n * optional subtitle, and start/end content slots.\n *\n * When rendered inside a Dialog, a close button is automatically\n * appended after `endContent`. The button calls `onOpenChange(false)`\n * on the parent Dialog and the title receives initial focus.\n */\nexport interface LayoutHeaderProps {\n /**\n * Additional CSS class names applied to the header.\n */\n className?: string;\n /**\n * Test ID applied to the header.\n */\n 'data-testid'?: string;\n /**\n * Content rendered after the title area.\n */\n endContent?: ReactNode;\n /**\n * Fixed height for the header.\n */\n height?: number | string;\n /**\n * Accessible label for the header landmark.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the header element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Content rendered before the title area.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the header.\n */\n style?: CSSProperties;\n /**\n * Supporting text displayed below the title.\n */\n subtitle?: string;\n /**\n * Primary header title.\n */\n title: string;\n}\n\n/**\n * Header landmark region within a Layout with a structured title,\n * optional subtitle, and start/end content slots.\n *\n * When rendered inside a Dialog, a close button is automatically\n * appended after `endContent`. The button calls `onOpenChange(false)`\n * on the parent Dialog and the title receives initial focus.\n */\nexport function LayoutHeader({\n className,\n 'data-testid': dataTestId,\n endContent,\n height,\n label,\n padding = 4,\n ref,\n startContent,\n style,\n subtitle,\n title,\n}: LayoutHeaderProps): React.JSX.Element {\n const dividerContext = useLayoutDivider();\n const dialogContext = useDialogContext();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const rootStyle: CSSProperties = {height, ...style};\n const classes = layoutHeaderRecipe({hasDivider});\n\n const closeButton =\n dialogContext != null ? (\n <Button\n className={classes.closeButton}\n icon={X}\n isIconOnly\n label=\"Close\"\n onClick={() => dialogContext.onOpenChange(false)}\n variant=\"ghost\"\n />\n ) : null;\n const hasEnd = isReactNode(endContent) || closeButton != null;\n\n return (\n <header\n aria-label={label}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <div className={cx(classes.inner, layoutRegionRecipe({padding}))}>\n {isReactNode(startContent) ? (\n <div className={classes.actions}>{startContent}</div>\n ) : null}\n <div className={classes.titleArea}>\n <Heading\n data-dialog-autofocus={dialogContext != null ? 'true' : undefined}\n id={dialogContext?.titleId}\n level={4}\n tabIndex={dialogContext != null ? -1 : undefined}>\n {title}\n </Heading>\n {subtitle != null ? (\n <Text as=\"p\" color=\"secondary\" type=\"supporting\">\n {subtitle}\n </Text>\n ) : null}\n </div>\n {hasEnd ? (\n <div className={classes.actions}>\n {endContent}\n {closeButton}\n </div>\n ) : null}\n </div>\n </header>\n );\n}\n\nLayoutHeader.displayName = 'LayoutHeader';\n","import type {ComponentPropsWithRef} from 'react';\nimport {\n layoutPanelRecipe,\n layoutRegionRecipe,\n} from 'components/Layout/Layout.recipe';\nimport {useLayoutArea, useLayoutDivider} from 'components/Layout/LayoutContext';\nimport {cx} from 'internal/cx';\nimport type {SpacingToken} from 'internal/spacingTokens';\n\n/**\n * Side panel region within a Layout. Placed in the start or end slot,\n * with optional dividers and scrolling.\n */\nexport interface LayoutPanelProps extends ComponentPropsWithRef<'div'> {\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the panel scrolls when it overflows.\n */\n isScrollable?: boolean;\n /**\n * Accessible label. Automatically sets role=\"region\" when provided.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Fixed width for the panel.\n */\n width?: number | string;\n}\n\n/**\n * Side panel region within a Layout. Placed in the start or end slot,\n * with optional dividers and scrolling.\n */\nexport function LayoutPanel({\n children,\n className,\n 'data-testid': dataTestId,\n isScrollable = true,\n label,\n padding = 4,\n ref,\n role,\n style,\n width,\n ...rest\n}: LayoutPanelProps): React.JSX.Element {\n const area = useLayoutArea();\n const dividerContext = useLayoutDivider();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const divider =\n hasDivider && (area === 'start' || area === 'end') ? area : 'none';\n\n return (\n <div\n {...rest}\n aria-label={label}\n className={cx(\n layoutPanelRecipe({isScrollable, divider}),\n layoutRegionRecipe({padding}),\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role={role ?? (label != null ? 'region' : undefined)}\n style={{width, ...style}}>\n {children}\n </div>\n );\n}\n\nLayoutPanel.displayName = 'LayoutPanel';\n"]}