silver-ui 0.6.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/README.md +1 -0
  2. package/dist/{chunk-DYMZ4DLN.cjs → chunk-2AOR4EVA.cjs} +8 -8
  3. package/dist/{chunk-DYMZ4DLN.cjs.map → chunk-2AOR4EVA.cjs.map} +1 -1
  4. package/dist/chunk-2N3PIXZ5.cjs +165 -0
  5. package/dist/chunk-2N3PIXZ5.cjs.map +1 -0
  6. package/dist/{chunk-GUUCIG7U.js → chunk-3PCXFOOS.js} +16 -10
  7. package/dist/chunk-3PCXFOOS.js.map +1 -0
  8. package/dist/{chunk-ISWZQUVA.cjs → chunk-4MIIXRZN.cjs} +12 -12
  9. package/dist/{chunk-ISWZQUVA.cjs.map → chunk-4MIIXRZN.cjs.map} +1 -1
  10. package/dist/{chunk-WHDDBOJN.js → chunk-54B36CSW.js} +4 -4
  11. package/dist/{chunk-WHDDBOJN.js.map → chunk-54B36CSW.js.map} +1 -1
  12. package/dist/{chunk-NXTDP6AX.js → chunk-5GSRIOXE.js} +14 -2
  13. package/dist/chunk-5GSRIOXE.js.map +1 -0
  14. package/dist/{chunk-BGLT7XH6.js → chunk-5HPXPF3F.js} +5 -5
  15. package/dist/{chunk-BGLT7XH6.js.map → chunk-5HPXPF3F.js.map} +1 -1
  16. package/dist/{chunk-U4L75VA4.cjs → chunk-5MCI3ILK.cjs} +40 -40
  17. package/dist/{chunk-U4L75VA4.cjs.map → chunk-5MCI3ILK.cjs.map} +1 -1
  18. package/dist/{chunk-TNYAYXKC.cjs → chunk-63QPCV4F.cjs} +35 -35
  19. package/dist/{chunk-TNYAYXKC.cjs.map → chunk-63QPCV4F.cjs.map} +1 -1
  20. package/dist/{chunk-FIOCTAXT.js → chunk-6KG76KUZ.js} +3 -3
  21. package/dist/{chunk-FIOCTAXT.js.map → chunk-6KG76KUZ.js.map} +1 -1
  22. package/dist/{chunk-RU7JPU7V.js → chunk-6KGF66TR.js} +3 -3
  23. package/dist/{chunk-RU7JPU7V.js.map → chunk-6KGF66TR.js.map} +1 -1
  24. package/dist/{chunk-FQN22DO5.js → chunk-6OWEKKOC.js} +6 -6
  25. package/dist/{chunk-FQN22DO5.js.map → chunk-6OWEKKOC.js.map} +1 -1
  26. package/dist/{chunk-BDFNEQR3.js → chunk-6R2UZNVE.js} +6 -6
  27. package/dist/{chunk-BDFNEQR3.js.map → chunk-6R2UZNVE.js.map} +1 -1
  28. package/dist/{chunk-AFJEAYR4.cjs → chunk-6SFMORQF.cjs} +5 -5
  29. package/dist/{chunk-AFJEAYR4.cjs.map → chunk-6SFMORQF.cjs.map} +1 -1
  30. package/dist/{chunk-XTLNUYCK.js → chunk-6SKIBUCY.js} +3 -3
  31. package/dist/{chunk-XTLNUYCK.js.map → chunk-6SKIBUCY.js.map} +1 -1
  32. package/dist/{chunk-VRQ66IBW.cjs → chunk-6SMVH3ON.cjs} +6 -6
  33. package/dist/{chunk-VRQ66IBW.cjs.map → chunk-6SMVH3ON.cjs.map} +1 -1
  34. package/dist/{chunk-WINDLDH3.cjs → chunk-6ZPHID26.cjs} +9 -9
  35. package/dist/{chunk-WINDLDH3.cjs.map → chunk-6ZPHID26.cjs.map} +1 -1
  36. package/dist/chunk-7VUDE5BI.js +91 -0
  37. package/dist/chunk-7VUDE5BI.js.map +1 -0
  38. package/dist/{chunk-DFEAB7Z3.cjs → chunk-AC4E3WQA.cjs} +10 -10
  39. package/dist/{chunk-DFEAB7Z3.cjs.map → chunk-AC4E3WQA.cjs.map} +1 -1
  40. package/dist/{chunk-4EUUZQAM.js → chunk-ACGPBJIS.js} +5 -5
  41. package/dist/{chunk-4EUUZQAM.js.map → chunk-ACGPBJIS.js.map} +1 -1
  42. package/dist/{chunk-DWZR2AGT.js → chunk-AO4RVSCG.js} +4 -4
  43. package/dist/{chunk-DWZR2AGT.js.map → chunk-AO4RVSCG.js.map} +1 -1
  44. package/dist/{chunk-P7TSM63O.js → chunk-AXTX3IOR.js} +3 -3
  45. package/dist/{chunk-P7TSM63O.js.map → chunk-AXTX3IOR.js.map} +1 -1
  46. package/dist/{chunk-KCI4I42U.js → chunk-BBLAZNCC.js} +8 -8
  47. package/dist/{chunk-KCI4I42U.js.map → chunk-BBLAZNCC.js.map} +1 -1
  48. package/dist/{chunk-ZUAWNT66.cjs → chunk-BF2DUOC3.cjs} +18 -18
  49. package/dist/{chunk-ZUAWNT66.cjs.map → chunk-BF2DUOC3.cjs.map} +1 -1
  50. package/dist/{chunk-6FC5YF2O.cjs → chunk-BPAZTKMC.cjs} +8 -8
  51. package/dist/{chunk-6FC5YF2O.cjs.map → chunk-BPAZTKMC.cjs.map} +1 -1
  52. package/dist/{chunk-CNDUYO7I.cjs → chunk-BYV7NXC5.cjs} +5 -5
  53. package/dist/{chunk-CNDUYO7I.cjs.map → chunk-BYV7NXC5.cjs.map} +1 -1
  54. package/dist/{chunk-MHAXS4GO.cjs → chunk-CKDB7QNT.cjs} +14 -2
  55. package/dist/chunk-CKDB7QNT.cjs.map +1 -0
  56. package/dist/{chunk-J4LJXCXB.cjs → chunk-CQYBC3RJ.cjs} +9 -9
  57. package/dist/{chunk-J4LJXCXB.cjs.map → chunk-CQYBC3RJ.cjs.map} +1 -1
  58. package/dist/{chunk-U5HW5P7Q.cjs → chunk-CWZCBYVZ.cjs} +11 -11
  59. package/dist/{chunk-U5HW5P7Q.cjs.map → chunk-CWZCBYVZ.cjs.map} +1 -1
  60. package/dist/{chunk-UZGPFPIV.cjs → chunk-D7TT4HUI.cjs} +17 -17
  61. package/dist/{chunk-UZGPFPIV.cjs.map → chunk-D7TT4HUI.cjs.map} +1 -1
  62. package/dist/{chunk-FWBYCTUB.cjs → chunk-DDMUYVSV.cjs} +15 -15
  63. package/dist/{chunk-FWBYCTUB.cjs.map → chunk-DDMUYVSV.cjs.map} +1 -1
  64. package/dist/{chunk-P5LMEANN.cjs → chunk-DTNIUZ3C.cjs} +5 -5
  65. package/dist/{chunk-P5LMEANN.cjs.map → chunk-DTNIUZ3C.cjs.map} +1 -1
  66. package/dist/{chunk-5JROXZBG.cjs → chunk-DVCDAKPK.cjs} +4 -4
  67. package/dist/{chunk-5JROXZBG.cjs.map → chunk-DVCDAKPK.cjs.map} +1 -1
  68. package/dist/{chunk-45OSUS5A.js → chunk-E6AKSBSP.js} +6 -6
  69. package/dist/{chunk-45OSUS5A.js.map → chunk-E6AKSBSP.js.map} +1 -1
  70. package/dist/{chunk-HMJINNXZ.js → chunk-EBV3EX3J.js} +3 -3
  71. package/dist/{chunk-HMJINNXZ.js.map → chunk-EBV3EX3J.js.map} +1 -1
  72. package/dist/chunk-ESWYWWY2.js +162 -0
  73. package/dist/chunk-ESWYWWY2.js.map +1 -0
  74. package/dist/{chunk-G5PU2EL2.js → chunk-FHUOUARL.js} +4 -4
  75. package/dist/{chunk-G5PU2EL2.js.map → chunk-FHUOUARL.js.map} +1 -1
  76. package/dist/{chunk-RXKDRZF3.js → chunk-FTNEAX24.js} +3 -3
  77. package/dist/{chunk-RXKDRZF3.js.map → chunk-FTNEAX24.js.map} +1 -1
  78. package/dist/{chunk-TQDJVPHP.js → chunk-FUU3I22W.js} +3 -3
  79. package/dist/{chunk-TQDJVPHP.js.map → chunk-FUU3I22W.js.map} +1 -1
  80. package/dist/{chunk-ERVWZILR.js → chunk-GKYGZWSQ.js} +3 -3
  81. package/dist/{chunk-ERVWZILR.js.map → chunk-GKYGZWSQ.js.map} +1 -1
  82. package/dist/{chunk-CABYRYVA.cjs → chunk-GLFWSLJB.cjs} +6 -6
  83. package/dist/{chunk-CABYRYVA.cjs.map → chunk-GLFWSLJB.cjs.map} +1 -1
  84. package/dist/{chunk-UYZQGHFI.js → chunk-GQ73VKKN.js} +8 -8
  85. package/dist/{chunk-UYZQGHFI.js.map → chunk-GQ73VKKN.js.map} +1 -1
  86. package/dist/{chunk-JHMUMJF3.js → chunk-GTZQT6MK.js} +4 -4
  87. package/dist/{chunk-JHMUMJF3.js.map → chunk-GTZQT6MK.js.map} +1 -1
  88. package/dist/{chunk-ZSB43DEI.js → chunk-HC57X3U4.js} +6 -6
  89. package/dist/{chunk-ZSB43DEI.js.map → chunk-HC57X3U4.js.map} +1 -1
  90. package/dist/{chunk-WAWHHXSR.js → chunk-HEF53COU.js} +3 -3
  91. package/dist/{chunk-WAWHHXSR.js.map → chunk-HEF53COU.js.map} +1 -1
  92. package/dist/{chunk-7EE6DCRP.cjs → chunk-HENIVDYQ.cjs} +18 -18
  93. package/dist/{chunk-7EE6DCRP.cjs.map → chunk-HENIVDYQ.cjs.map} +1 -1
  94. package/dist/{chunk-MHEPDHL5.cjs → chunk-HN4W6TM6.cjs} +14 -14
  95. package/dist/{chunk-MHEPDHL5.cjs.map → chunk-HN4W6TM6.cjs.map} +1 -1
  96. package/dist/{chunk-DPSAPA6B.js → chunk-I2DXEPDF.js} +5 -5
  97. package/dist/{chunk-DPSAPA6B.js.map → chunk-I2DXEPDF.js.map} +1 -1
  98. package/dist/{chunk-NG2H3PYA.cjs → chunk-J242UTPO.cjs} +16 -16
  99. package/dist/{chunk-NG2H3PYA.cjs.map → chunk-J242UTPO.cjs.map} +1 -1
  100. package/dist/{chunk-K2WT7A64.js → chunk-JMVYWHJ7.js} +3 -3
  101. package/dist/{chunk-K2WT7A64.js.map → chunk-JMVYWHJ7.js.map} +1 -1
  102. package/dist/{chunk-VREW3BK6.cjs → chunk-JTPVAZE6.cjs} +11 -11
  103. package/dist/{chunk-VREW3BK6.cjs.map → chunk-JTPVAZE6.cjs.map} +1 -1
  104. package/dist/{chunk-FLDTPAG4.cjs → chunk-JWMS6LHN.cjs} +6 -6
  105. package/dist/{chunk-FLDTPAG4.cjs.map → chunk-JWMS6LHN.cjs.map} +1 -1
  106. package/dist/{chunk-3M23WX6K.js → chunk-KB36TWOU.js} +4 -3
  107. package/dist/chunk-KB36TWOU.js.map +1 -0
  108. package/dist/{chunk-DK6USFZP.cjs → chunk-KLCEDPJ4.cjs} +19 -19
  109. package/dist/{chunk-DK6USFZP.cjs.map → chunk-KLCEDPJ4.cjs.map} +1 -1
  110. package/dist/{chunk-INQ34SVW.cjs → chunk-KLPVBJGZ.cjs} +5 -5
  111. package/dist/{chunk-INQ34SVW.cjs.map → chunk-KLPVBJGZ.cjs.map} +1 -1
  112. package/dist/{chunk-LLSWAAFH.js → chunk-L747HIHG.js} +4 -4
  113. package/dist/{chunk-LLSWAAFH.js.map → chunk-L747HIHG.js.map} +1 -1
  114. package/dist/{chunk-7TJ2O56S.js → chunk-LBOWHXOF.js} +23 -5
  115. package/dist/chunk-LBOWHXOF.js.map +1 -0
  116. package/dist/{chunk-H7VK36SZ.cjs → chunk-LTHPJRFK.cjs} +9 -8
  117. package/dist/chunk-LTHPJRFK.cjs.map +1 -0
  118. package/dist/{chunk-6ZV7HGZT.cjs → chunk-LWB2CTX6.cjs} +4 -4
  119. package/dist/{chunk-6ZV7HGZT.cjs.map → chunk-LWB2CTX6.cjs.map} +1 -1
  120. package/dist/{chunk-ENVDR66N.cjs → chunk-MJHEPDDX.cjs} +17 -17
  121. package/dist/{chunk-ENVDR66N.cjs.map → chunk-MJHEPDDX.cjs.map} +1 -1
  122. package/dist/{chunk-RAMDISDK.cjs → chunk-MYSLJWCW.cjs} +6 -6
  123. package/dist/{chunk-RAMDISDK.cjs.map → chunk-MYSLJWCW.cjs.map} +1 -1
  124. package/dist/{chunk-WEXTGWRE.js → chunk-N6C37HXD.js} +4 -4
  125. package/dist/{chunk-WEXTGWRE.js.map → chunk-N6C37HXD.js.map} +1 -1
  126. package/dist/{chunk-NW36BN7N.cjs → chunk-NGNVNRAZ.cjs} +17 -17
  127. package/dist/{chunk-NW36BN7N.cjs.map → chunk-NGNVNRAZ.cjs.map} +1 -1
  128. package/dist/{chunk-JR353MN5.js → chunk-NIKT7XSO.js} +7 -7
  129. package/dist/{chunk-JR353MN5.js.map → chunk-NIKT7XSO.js.map} +1 -1
  130. package/dist/{chunk-6I5QWA6A.js → chunk-NSWKBWPP.js} +6 -5
  131. package/dist/chunk-NSWKBWPP.js.map +1 -0
  132. package/dist/{chunk-2SN3KVWF.js → chunk-NYOZQE6P.js} +4 -4
  133. package/dist/{chunk-2SN3KVWF.js.map → chunk-NYOZQE6P.js.map} +1 -1
  134. package/dist/{chunk-CZUMVOPH.js → chunk-O3UT5D57.js} +19 -15
  135. package/dist/chunk-O3UT5D57.js.map +1 -0
  136. package/dist/{chunk-GU65FGY6.cjs → chunk-OCYZKZ24.cjs} +4 -4
  137. package/dist/{chunk-GU65FGY6.cjs.map → chunk-OCYZKZ24.cjs.map} +1 -1
  138. package/dist/{chunk-M64WMYYV.js → chunk-OPBELSKN.js} +6 -6
  139. package/dist/{chunk-M64WMYYV.js.map → chunk-OPBELSKN.js.map} +1 -1
  140. package/dist/{chunk-WM7NEOME.js → chunk-OUUG4RHO.js} +7 -7
  141. package/dist/{chunk-WM7NEOME.js.map → chunk-OUUG4RHO.js.map} +1 -1
  142. package/dist/{chunk-SKZNSOB7.cjs → chunk-OX2FNKIV.cjs} +6 -6
  143. package/dist/{chunk-SKZNSOB7.cjs.map → chunk-OX2FNKIV.cjs.map} +1 -1
  144. package/dist/{chunk-HKGFMJFK.js → chunk-PGBYMBGH.js} +16 -16
  145. package/dist/{chunk-HKGFMJFK.js.map → chunk-PGBYMBGH.js.map} +1 -1
  146. package/dist/{chunk-UT45YVPI.js → chunk-PK3NJSHQ.js} +8 -8
  147. package/dist/{chunk-UT45YVPI.js.map → chunk-PK3NJSHQ.js.map} +1 -1
  148. package/dist/{chunk-C6EWA3H2.js → chunk-PQXPYN23.js} +6 -6
  149. package/dist/{chunk-C6EWA3H2.js.map → chunk-PQXPYN23.js.map} +1 -1
  150. package/dist/{chunk-PHFJBQXU.cjs → chunk-PXTTIAC4.cjs} +8 -8
  151. package/dist/{chunk-PHFJBQXU.cjs.map → chunk-PXTTIAC4.cjs.map} +1 -1
  152. package/dist/{chunk-KG7RHDVX.js → chunk-Q6YOSQAM.js} +8 -8
  153. package/dist/{chunk-KG7RHDVX.js.map → chunk-Q6YOSQAM.js.map} +1 -1
  154. package/dist/{chunk-K2V3IOAX.js → chunk-QM7NQK2K.js} +3 -3
  155. package/dist/{chunk-K2V3IOAX.js.map → chunk-QM7NQK2K.js.map} +1 -1
  156. package/dist/{chunk-QTOFQB26.cjs → chunk-QQCEGAUQ.cjs} +16 -16
  157. package/dist/{chunk-QTOFQB26.cjs.map → chunk-QQCEGAUQ.cjs.map} +1 -1
  158. package/dist/chunk-RNUQWYJJ.cjs +93 -0
  159. package/dist/chunk-RNUQWYJJ.cjs.map +1 -0
  160. package/dist/{chunk-R3ZS6FU6.cjs → chunk-RX2FXCIH.cjs} +6 -6
  161. package/dist/{chunk-R3ZS6FU6.cjs.map → chunk-RX2FXCIH.cjs.map} +1 -1
  162. package/dist/{chunk-HPOURAKV.cjs → chunk-TACO5IWI.cjs} +14 -14
  163. package/dist/{chunk-HPOURAKV.cjs.map → chunk-TACO5IWI.cjs.map} +1 -1
  164. package/dist/{chunk-4JJFQZVY.js → chunk-TP6RGZ6A.js} +12 -12
  165. package/dist/{chunk-4JJFQZVY.js.map → chunk-TP6RGZ6A.js.map} +1 -1
  166. package/dist/{chunk-PNM7MPUX.cjs → chunk-U7QJJ3NR.cjs} +8 -8
  167. package/dist/{chunk-PNM7MPUX.cjs.map → chunk-U7QJJ3NR.cjs.map} +1 -1
  168. package/dist/{chunk-H5VMHDRD.cjs → chunk-UJDHRILS.cjs} +24 -6
  169. package/dist/chunk-UJDHRILS.cjs.map +1 -0
  170. package/dist/{chunk-EVCQCZMM.cjs → chunk-UNS7OCEA.cjs} +5 -5
  171. package/dist/{chunk-EVCQCZMM.cjs.map → chunk-UNS7OCEA.cjs.map} +1 -1
  172. package/dist/{chunk-SEDUAMDW.js → chunk-USEA7DB5.js} +3 -3
  173. package/dist/{chunk-SEDUAMDW.js.map → chunk-USEA7DB5.js.map} +1 -1
  174. package/dist/{chunk-LDYUVGD4.js → chunk-UUVI3TYW.js} +6 -6
  175. package/dist/{chunk-LDYUVGD4.js.map → chunk-UUVI3TYW.js.map} +1 -1
  176. package/dist/{chunk-QYZXTIB2.cjs → chunk-UW3KCCBT.cjs} +4 -4
  177. package/dist/{chunk-QYZXTIB2.cjs.map → chunk-UW3KCCBT.cjs.map} +1 -1
  178. package/dist/{chunk-PU4PBI3H.js → chunk-V5XVXQWE.js} +4 -4
  179. package/dist/{chunk-PU4PBI3H.js.map → chunk-V5XVXQWE.js.map} +1 -1
  180. package/dist/{chunk-GJKRSQEA.cjs → chunk-VCM4MR7N.cjs} +51 -47
  181. package/dist/chunk-VCM4MR7N.cjs.map +1 -0
  182. package/dist/{chunk-VXBVSYPA.cjs → chunk-VPHB56GK.cjs} +4 -3
  183. package/dist/chunk-VPHB56GK.cjs.map +1 -0
  184. package/dist/{chunk-TVWU4XBL.cjs → chunk-VWG54F6X.cjs} +6 -6
  185. package/dist/{chunk-TVWU4XBL.cjs.map → chunk-VWG54F6X.cjs.map} +1 -1
  186. package/dist/{chunk-DAO4UXR4.js → chunk-WG4NNC3P.js} +3 -3
  187. package/dist/{chunk-DAO4UXR4.js.map → chunk-WG4NNC3P.js.map} +1 -1
  188. package/dist/{chunk-LF6I2B7G.js → chunk-WLWSQKWI.js} +9 -9
  189. package/dist/{chunk-LF6I2B7G.js.map → chunk-WLWSQKWI.js.map} +1 -1
  190. package/dist/{chunk-VXOIOPGZ.cjs → chunk-WOVSJHY6.cjs} +5 -5
  191. package/dist/{chunk-VXOIOPGZ.cjs.map → chunk-WOVSJHY6.cjs.map} +1 -1
  192. package/dist/{chunk-QHXI2QDK.js → chunk-X2P5SPGB.js} +3 -3
  193. package/dist/{chunk-QHXI2QDK.js.map → chunk-X2P5SPGB.js.map} +1 -1
  194. package/dist/{chunk-JC66FRQX.js → chunk-XUCLNECV.js} +3 -3
  195. package/dist/{chunk-JC66FRQX.js.map → chunk-XUCLNECV.js.map} +1 -1
  196. package/dist/{chunk-VW52NVGM.cjs → chunk-Y2GYPMLW.cjs} +5 -5
  197. package/dist/{chunk-VW52NVGM.cjs.map → chunk-Y2GYPMLW.cjs.map} +1 -1
  198. package/dist/{chunk-ATK3F3MC.js → chunk-YAQB3UMC.js} +4 -4
  199. package/dist/{chunk-ATK3F3MC.js.map → chunk-YAQB3UMC.js.map} +1 -1
  200. package/dist/{chunk-B5QX6KGJ.js → chunk-YGESCFX2.js} +3 -3
  201. package/dist/{chunk-B5QX6KGJ.js.map → chunk-YGESCFX2.js.map} +1 -1
  202. package/dist/{chunk-PYJX2SBC.cjs → chunk-YQIDUJW2.cjs} +5 -5
  203. package/dist/{chunk-PYJX2SBC.cjs.map → chunk-YQIDUJW2.cjs.map} +1 -1
  204. package/dist/{chunk-UMS46KF4.cjs → chunk-YQVWDHP4.cjs} +7 -7
  205. package/dist/{chunk-UMS46KF4.cjs.map → chunk-YQVWDHP4.cjs.map} +1 -1
  206. package/dist/{chunk-NFEL5GNX.cjs → chunk-ZDZ7FW6V.cjs} +14 -14
  207. package/dist/{chunk-NFEL5GNX.cjs.map → chunk-ZDZ7FW6V.cjs.map} +1 -1
  208. package/dist/{chunk-3IDT3PZC.cjs → chunk-ZW2ZOEYM.cjs} +19 -13
  209. package/dist/chunk-ZW2ZOEYM.cjs.map +1 -0
  210. package/dist/components/Alert/index.cjs +5 -5
  211. package/dist/components/Alert/index.js +4 -4
  212. package/dist/components/AlertDialog/index.cjs +7 -7
  213. package/dist/components/AlertDialog/index.js +5 -5
  214. package/dist/components/AppShell/index.cjs +12 -12
  215. package/dist/components/AppShell/index.js +9 -9
  216. package/dist/components/AutocompleteInput/index.cjs +11 -11
  217. package/dist/components/AutocompleteInput/index.js +7 -7
  218. package/dist/components/Badge/Badge.d.ts.map +1 -1
  219. package/dist/components/Badge/Badge.recipe.d.ts +75 -41
  220. package/dist/components/Badge/Badge.recipe.d.ts.map +1 -1
  221. package/dist/components/Badge/index.cjs +3 -2
  222. package/dist/components/Badge/index.js +2 -1
  223. package/dist/components/Button/index.cjs +4 -4
  224. package/dist/components/Button/index.js +3 -3
  225. package/dist/components/Calendar/index.cjs +5 -5
  226. package/dist/components/Calendar/index.js +4 -4
  227. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +83 -0
  228. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
  229. package/dist/components/CheckboxGroup/CheckboxGroup.recipe.d.ts +17 -0
  230. package/dist/components/CheckboxGroup/CheckboxGroup.recipe.d.ts.map +1 -0
  231. package/dist/components/CheckboxGroup/CheckboxGroupContext.d.ts +13 -0
  232. package/dist/components/CheckboxGroup/CheckboxGroupContext.d.ts.map +1 -0
  233. package/dist/components/CheckboxGroup/CheckboxGroupItem.d.ts +58 -0
  234. package/dist/components/CheckboxGroup/CheckboxGroupItem.d.ts.map +1 -0
  235. package/dist/components/CheckboxGroup/index.cjs +35 -0
  236. package/dist/components/CheckboxGroup/index.cjs.map +1 -0
  237. package/dist/components/CheckboxGroup/index.d.ts +4 -0
  238. package/dist/components/CheckboxGroup/index.d.ts.map +1 -0
  239. package/dist/components/CheckboxGroup/index.js +22 -0
  240. package/dist/components/CheckboxGroup/index.js.map +1 -0
  241. package/dist/components/CheckboxInput/CheckboxInput.d.ts +11 -2
  242. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  243. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +6 -0
  244. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts.map +1 -1
  245. package/dist/components/CheckboxInput/index.cjs +5 -5
  246. package/dist/components/CheckboxInput/index.js +4 -4
  247. package/dist/components/CodeBlock/index.cjs +5 -5
  248. package/dist/components/CodeBlock/index.js +4 -4
  249. package/dist/components/ContextMenu/index.cjs +9 -9
  250. package/dist/components/ContextMenu/index.js +7 -7
  251. package/dist/components/DateInput/index.cjs +9 -9
  252. package/dist/components/DateInput/index.js +8 -8
  253. package/dist/components/DateRangeInput/index.cjs +9 -9
  254. package/dist/components/DateRangeInput/index.js +8 -8
  255. package/dist/components/DateTimeInput/index.cjs +11 -11
  256. package/dist/components/DateTimeInput/index.js +10 -10
  257. package/dist/components/DropdownMenu/index.cjs +10 -10
  258. package/dist/components/DropdownMenu/index.js +6 -6
  259. package/dist/components/EmptyState/index.cjs +3 -3
  260. package/dist/components/EmptyState/index.js +2 -2
  261. package/dist/components/Field/index.cjs +4 -4
  262. package/dist/components/Field/index.js +2 -2
  263. package/dist/components/Field/inputStyles.d.ts.map +1 -1
  264. package/dist/components/FileInput/index.cjs +6 -6
  265. package/dist/components/FileInput/index.js +5 -5
  266. package/dist/components/InputGroup/index.cjs +7 -7
  267. package/dist/components/InputGroup/index.js +3 -3
  268. package/dist/components/Item/index.cjs +3 -3
  269. package/dist/components/Item/index.js +2 -2
  270. package/dist/components/Layout/LayoutHeader.d.ts +7 -1
  271. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  272. package/dist/components/Layout/index.cjs +9 -9
  273. package/dist/components/Layout/index.js +4 -4
  274. package/dist/components/Lightbox/index.cjs +6 -6
  275. package/dist/components/Lightbox/index.js +4 -4
  276. package/dist/components/List/index.cjs +5 -5
  277. package/dist/components/List/index.js +3 -3
  278. package/dist/components/MetadataList/index.cjs +4 -4
  279. package/dist/components/MetadataList/index.js +2 -2
  280. package/dist/components/MultiSelect/index.cjs +9 -9
  281. package/dist/components/MultiSelect/index.js +8 -8
  282. package/dist/components/NumberInput/index.cjs +8 -8
  283. package/dist/components/NumberInput/index.js +7 -7
  284. package/dist/components/Pagination/index.cjs +5 -5
  285. package/dist/components/Pagination/index.js +4 -4
  286. package/dist/components/PasswordInput/index.cjs +9 -9
  287. package/dist/components/PasswordInput/index.js +8 -8
  288. package/dist/components/Popover/index.cjs +6 -6
  289. package/dist/components/Popover/index.js +4 -4
  290. package/dist/components/RadioGroup/index.cjs +6 -6
  291. package/dist/components/RadioGroup/index.js +4 -4
  292. package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
  293. package/dist/components/Schedule/index.cjs +25 -25
  294. package/dist/components/Schedule/index.js +10 -10
  295. package/dist/components/SearchFilterInput/index.cjs +25 -25
  296. package/dist/components/SearchFilterInput/index.js +17 -17
  297. package/dist/components/Select/index.cjs +10 -10
  298. package/dist/components/Select/index.js +8 -8
  299. package/dist/components/SideNav/index.cjs +12 -12
  300. package/dist/components/SideNav/index.js +6 -6
  301. package/dist/components/Slider/index.cjs +4 -4
  302. package/dist/components/Slider/index.js +3 -3
  303. package/dist/components/Spinner/index.cjs +3 -3
  304. package/dist/components/Spinner/index.js +2 -2
  305. package/dist/components/SplitButton/index.cjs +8 -8
  306. package/dist/components/SplitButton/index.js +7 -7
  307. package/dist/components/Stepper/index.cjs +3 -3
  308. package/dist/components/Stepper/index.js +2 -2
  309. package/dist/components/Switch/index.cjs +4 -4
  310. package/dist/components/Switch/index.js +3 -3
  311. package/dist/components/Table/index.cjs +48 -48
  312. package/dist/components/Table/index.js +22 -22
  313. package/dist/components/Tabs/index.cjs +10 -10
  314. package/dist/components/Tabs/index.js +5 -5
  315. package/dist/components/TagsInput/index.cjs +9 -9
  316. package/dist/components/TagsInput/index.js +8 -8
  317. package/dist/components/Text/index.cjs +3 -3
  318. package/dist/components/Text/index.js +1 -1
  319. package/dist/components/TextArea/index.cjs +6 -6
  320. package/dist/components/TextArea/index.js +5 -5
  321. package/dist/components/TextInput/index.cjs +8 -8
  322. package/dist/components/TextInput/index.js +7 -7
  323. package/dist/components/Thumbnail/index.cjs +5 -5
  324. package/dist/components/Thumbnail/index.js +4 -4
  325. package/dist/components/TimeInput/index.cjs +7 -7
  326. package/dist/components/TimeInput/index.js +6 -6
  327. package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
  328. package/dist/components/Toast/index.cjs +7 -7
  329. package/dist/components/Toast/index.js +4 -4
  330. package/dist/components/ToggleButton/index.cjs +5 -5
  331. package/dist/components/ToggleButton/index.js +3 -3
  332. package/dist/components/TopNav/index.cjs +10 -10
  333. package/dist/components/TopNav/index.js +5 -5
  334. package/dist/index.cjs +216 -207
  335. package/dist/index.cjs.map +1 -1
  336. package/dist/index.d.ts +1 -0
  337. package/dist/index.d.ts.map +1 -1
  338. package/dist/index.js +52 -51
  339. package/dist/index.js.map +1 -1
  340. package/dist/styles.css +1 -1
  341. package/package.json +1 -1
  342. package/dist/chunk-3IDT3PZC.cjs.map +0 -1
  343. package/dist/chunk-3M23WX6K.js.map +0 -1
  344. package/dist/chunk-6I5QWA6A.js.map +0 -1
  345. package/dist/chunk-7TJ2O56S.js.map +0 -1
  346. package/dist/chunk-CZUMVOPH.js.map +0 -1
  347. package/dist/chunk-GJKRSQEA.cjs.map +0 -1
  348. package/dist/chunk-GUUCIG7U.js.map +0 -1
  349. package/dist/chunk-H2EMKCWT.js +0 -78
  350. package/dist/chunk-H2EMKCWT.js.map +0 -1
  351. package/dist/chunk-H5VMHDRD.cjs.map +0 -1
  352. package/dist/chunk-H7VK36SZ.cjs.map +0 -1
  353. package/dist/chunk-KUXFEAT4.cjs +0 -80
  354. package/dist/chunk-KUXFEAT4.cjs.map +0 -1
  355. package/dist/chunk-MHAXS4GO.cjs.map +0 -1
  356. package/dist/chunk-NXTDP6AX.js.map +0 -1
  357. package/dist/chunk-VXBVSYPA.cjs.map +0 -1
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkDK6USFZP_cjs = require('./chunk-DK6USFZP.cjs');
3
+ var chunkKLCEDPJ4_cjs = require('./chunk-KLCEDPJ4.cjs');
4
4
  var chunkDXUFDJHA_cjs = require('./chunk-DXUFDJHA.cjs');
5
- var chunkVXBVSYPA_cjs = require('./chunk-VXBVSYPA.cjs');
6
- var chunkR3ZS6FU6_cjs = require('./chunk-R3ZS6FU6.cjs');
5
+ var chunkVPHB56GK_cjs = require('./chunk-VPHB56GK.cjs');
6
+ var chunkRX2FXCIH_cjs = require('./chunk-RX2FXCIH.cjs');
7
7
  var chunkXPHXAZCE_cjs = require('./chunk-XPHXAZCE.cjs');
8
- var chunkVXOIOPGZ_cjs = require('./chunk-VXOIOPGZ.cjs');
8
+ var chunkWOVSJHY6_cjs = require('./chunk-WOVSJHY6.cjs');
9
9
  var chunkVK7DXUGH_cjs = require('./chunk-VK7DXUGH.cjs');
10
10
  var chunk6SHL7FYO_cjs = require('./chunk-6SHL7FYO.cjs');
11
11
  var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
@@ -471,7 +471,7 @@ function TagsInput({
471
471
  );
472
472
  }
473
473
  }, [isDisabled, isFocusInTagsInput, isLayerMode, layer]);
474
- const necessity = chunkR3ZS6FU6_cjs.getNecessity(isOptional, isRequired);
474
+ const necessity = chunkRX2FXCIH_cjs.getNecessity(isOptional, isRequired);
475
475
  const tokens = value.map((item) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.tag, children: renderTag == null ? /* @__PURE__ */ jsxRuntime.jsx(
476
476
  chunkDXUFDJHA_cjs.Tag,
477
477
  {
@@ -488,7 +488,7 @@ function TagsInput({
488
488
  {
489
489
  "aria-label": label,
490
490
  className: chunkSPDVNY2Z_cjs.cx(
491
- chunkVXBVSYPA_cjs.inputRecipe({
491
+ chunkVPHB56GK_cjs.inputRecipe({
492
492
  size,
493
493
  status: status?.type,
494
494
  isDisabled
@@ -502,7 +502,7 @@ function TagsInput({
502
502
  ref: wrapperRef,
503
503
  role: "group",
504
504
  children: [
505
- startIcon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVXBVSYPA_cjs.inputStyles.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4PIYOWT_cjs.Icon, { color: "secondary", icon: startIcon, size: "sm" }) }) : null,
505
+ startIcon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVPHB56GK_cjs.inputStyles.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4PIYOWT_cjs.Icon, { color: "secondary", icon: startIcon, size: "sm" }) }) : null,
506
506
  isTruncated ? /* @__PURE__ */ jsxRuntime.jsx(
507
507
  OverflowList,
508
508
  {
@@ -517,7 +517,7 @@ function TagsInput({
517
517
  }
518
518
  ) : tokens,
519
519
  /* @__PURE__ */ jsxRuntime.jsx(
520
- chunkDK6USFZP_cjs.BaseAutocompleteInput,
520
+ chunkKLCEDPJ4_cjs.BaseAutocompleteInput,
521
521
  {
522
522
  anchorRef: wrapperRef,
523
523
  ariaDescribedBy: describedBy,
@@ -572,7 +572,7 @@ function TagsInput({
572
572
  ),
573
573
  chunkQAO6QMNQ_cjs.isReactNode(endContent) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.endContent, children: endContent }) : null,
574
574
  hasClear && value.length > 0 && !isDisabled && !isReadOnly ? /* @__PURE__ */ jsxRuntime.jsx(
575
- chunkVXOIOPGZ_cjs.Button,
575
+ chunkWOVSJHY6_cjs.Button,
576
576
  {
577
577
  icon: lucideReact.X,
578
578
  isIconOnly: true,
@@ -605,7 +605,7 @@ function TagsInput({
605
605
  "div",
606
606
  {
607
607
  className: chunkSPDVNY2Z_cjs.cx(
608
- chunkVXBVSYPA_cjs.inputRecipe({
608
+ chunkVPHB56GK_cjs.inputRecipe({
609
609
  size,
610
610
  status: status?.type,
611
611
  isDisabled
@@ -615,7 +615,7 @@ function TagsInput({
615
615
  onPointerDown: handleWrapperPointerDown,
616
616
  ref: placeholderRef,
617
617
  children: isTruncated ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
618
- startIcon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVXBVSYPA_cjs.inputStyles.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4PIYOWT_cjs.Icon, { color: "secondary", icon: startIcon, size: "sm" }) }) : null,
618
+ startIcon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVPHB56GK_cjs.inputStyles.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4PIYOWT_cjs.Icon, { color: "secondary", icon: startIcon, size: "sm" }) }) : null,
619
619
  /* @__PURE__ */ jsxRuntime.jsx(
620
620
  OverflowList,
621
621
  {
@@ -650,7 +650,7 @@ function TagsInput({
650
650
  )
651
651
  ] }) : wrapperContent;
652
652
  return /* @__PURE__ */ jsxRuntime.jsx(
653
- chunkR3ZS6FU6_cjs.Field,
653
+ chunkRX2FXCIH_cjs.Field,
654
654
  {
655
655
  className,
656
656
  description,
@@ -672,5 +672,5 @@ function TagsInput({
672
672
  TagsInput.displayName = "TagsInput";
673
673
 
674
674
  exports.TagsInput = TagsInput;
675
- //# sourceMappingURL=chunk-HPOURAKV.cjs.map
676
- //# sourceMappingURL=chunk-HPOURAKV.cjs.map
675
+ //# sourceMappingURL=chunk-TACO5IWI.cjs.map
676
+ //# sourceMappingURL=chunk-TACO5IWI.cjs.map
@@ -1 +1 @@
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":";;;;;;;;;;;;;;;;;;;;AAQO,IAAM,kBAAkBA,qBAAA,CAAI;AAAA,EACjC,KAAA,EAAO;AAAA,IACL,SAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,cAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,OAAA,EAAS;AAAA,MACP,MAAA,EAAQ,MAAA;AAAA,MACR,QAAA,EAAU,MAAA;AAAA,MACV,UAAA,EAAY,QAAA;AAAA,MACZ,CAAA,EAAG;AAAA,KACL;AAAA,IACA,GAAA,EAAK,EAAC,UAAA,EAAY,CAAA,EAAC;AAAA,IACnB,KAAA,EAAO;AAAA,MACL,IAAA,EAAM,IAAA;AAAA,MACN,IAAA,EAAM;AAAA,KACR;AAAA,IACA,UAAA,EAAY;AAAA,MACV,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,UAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,UAAA,EAAY,CAAA;AAAA,MACZ,UAAA,EAAY,QAAA;AAAA,MACZ,QAAA,EAAU,IAAA;AAAA,MACV,KAAA,EAAO,UAAA;AAAA,MACP,EAAA,EAAI;AAAA,KACN;AAAA,IACA,UAAA,EAAY;AAAA,MACV,QAAA,EAAU,UAAA;AAAA,MACV,CAAA,EAAG,KAAA;AAAA,MACH,CAAA,EAAG,KAAA;AAAA,MACH,QAAA,EAAU,QAAA;AAAA,MACV,IAAA,EAAM,eAAA;AAAA,MACN,UAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,CAAA,EAAG;AAAA;AACL,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,IAAI,EAAC;AAAA,MACL,IAAI,EAAC;AAAA,MACL,IAAI;AAAC,KACP;AAAA;AAAA;AAAA,IAGA,OAAA,EAAS;AAAA,MACP,MAAM,EAAC;AAAA,MACP,OAAO;AAAC,KACV;AAAA;AAAA,IAEA,WAAA,EAAa;AAAA,MACX,IAAA,EAAM,EAAC,OAAA,EAAS,EAAC,UAAU,QAAA,EAAU,QAAA,EAAU,UAAQ,EAAC;AAAA,MACxD,OAAO;AAAC,KACV;AAAA;AAAA,IAEA,cAAA,EAAgB;AAAA,MACd,MAAM,EAAC;AAAA,MACP,OAAO;AAAC,KACV;AAAA;AAAA,IAEA,aAAA,EAAe;AAAA,MACb,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO;AAAA,UACL,QAAA,EAAU,UAAA;AAAA,UACV,OAAA,EAAS,CAAA;AAAA,UACT,CAAA,EAAG,CAAA;AAAA,UACH,IAAA,EAAM,CAAA;AAAA,UACN,SAAA,EAAW;AAAA;AACb,OACF;AAAA,MACA,OAAO;AAAC;AACV,GACF;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB,EAAC,OAAA,EAAS,IAAA,EAAM,WAAA,EAAa,KAAA,EAAO,GAAA,EAAK,EAAC,OAAA,EAAS,EAAC,MAAA,EAAQ,GAAA,EAAG,EAAC,EAAC;AAAA,IACjE;AAAA,MACE,IAAA,EAAM,IAAA;AAAA,MACN,OAAA,EAAS,IAAA;AAAA,MACT,WAAA,EAAa,KAAA;AAAA,MACb,GAAA,EAAK,EAAC,OAAA,EAAS,EAAC,IAAI,KAAA,EAAO,EAAA,EAAI,OAAK;AAAC,KACvC;AAAA,IACA,EAAC,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,MAAM,WAAA,EAAa,KAAA,EAAO,GAAA,EAAK,EAAC,OAAA,EAAS,EAAC,EAAA,EAAI,GAAA,IAAI,EAAC;AAAA,IACzE,EAAC,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,MAAM,WAAA,EAAa,KAAA,EAAO,GAAA,EAAK,EAAC,OAAA,EAAS,EAAC,EAAA,EAAI,GAAA,IAAI,EAAC;AAAA,IACzE,EAAC,IAAA,EAAM,IAAA,EAAM,cAAA,EAAgB,IAAA,EAAM,GAAA,EAAK,EAAC,OAAA,EAAS,EAAC,CAAA,EAAG,cAAA,EAAc,EAAC,EAAC;AAAA,IACtE,EAAC,IAAA,EAAM,IAAA,EAAM,cAAA,EAAgB,IAAA,EAAM,GAAA,EAAK,EAAC,OAAA,EAAS,EAAC,CAAA,EAAG,cAAA,EAAc,EAAC,EAAC;AAAA,IACtE,EAAC,IAAA,EAAM,IAAA,EAAM,cAAA,EAAgB,IAAA,EAAM,GAAA,EAAK,EAAC,OAAA,EAAS,EAAC,CAAA,EAAG,cAAA,EAAc,EAAC;AAAC,GACxE;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,IAAA;AAAA,IACN,OAAA,EAAS,KAAA;AAAA,IACT,WAAA,EAAa,KAAA;AAAA,IACb,cAAA,EAAgB,KAAA;AAAA,IAChB,aAAA,EAAe;AAAA;AAEnB,CAAC,CAAA;AC9ED,IAAM,MAAA,GAAS;AAAA,EACb,WAAWC,qBAAA,CAAI;AAAA,IACb,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,QAAA,EAAU,QAAA;AAAA,IACV,UAAA,EAAY,QAAA;AAAA,IACZ,IAAA,EAAM;AAAA,GACP,CAAA;AAAA,EACD,YAAYA,qBAAA,CAAI;AAAA,IACd,IAAA,EAAM;AAAA,GACP,CAAA;AAAA,EACD,kBAAkBA,qBAAA,CAAI;AAAA,IACpB,QAAA,EAAU,UAAA;AAAA,IACV,UAAA,EAAY,QAAA;AAAA,IACZ,CAAA,EAAG,CAAA;AAAA,IACH,QAAA,EAAU,QAAA;AAAA,IACV,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,UAAA,EAAY,QAAA;AAAA,IACZ,aAAA,EAAe;AAAA,GAChB,CAAA;AAAA,EACD,kBAAkBA,qBAAA,CAAI;AAAA,IACpB,OAAA,EAAS;AAAA,GACV;AACH,CAAA;AAEA,SAAS,iBAAA,CACP,WACA,iBAAA,EACQ;AACR,EAAA,IAAI,iBAAA,IAAqB,SAAA,CAAU,aAAA,IAAiB,IAAA,EAAM;AACxD,IAAA,MAAM,SAAS,SAAA,CAAU,aAAA;AACzB,IAAA,MAAM,WAAA,GAAc,MAAA,CAAO,gBAAA,CAAiB,MAAM,CAAA;AAClD,IAAA,MAAM,WAAA,GAAc,MAAA,CAAO,UAAA,CAAW,WAAA,CAAY,WAAW,CAAA,IAAK,CAAA;AAClE,IAAA,MAAM,YAAA,GAAe,MAAA,CAAO,UAAA,CAAW,WAAA,CAAY,YAAY,CAAA,IAAK,CAAA;AACpE,IAAA,OAAO,MAAA,CAAO,cAAc,WAAA,GAAc,YAAA;AAAA,EAC5C;AAEA,EAAA,OAAO,SAAA,CAAU,WAAA;AACnB;AAEO,SAAS,YAAA,CAAa;AAAA,EAC3B,QAAA,GAAW,aAAA;AAAA,EACX,QAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA,GAAe,KAAA;AAAA,EACf,GAAA,GAAM,CAAA;AAAA,EACN,eAAA,GAAkB,CAAA;AAAA,EAClB,gBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF,CAAA,EAAyC;AAEvC,EAAA,MAAM,UAAA,GAAaC,cAAA,CAAS,OAAA,CAAQ,QAAQ,CAAA;AAC5C,EAAA,MAAM,YAAY,UAAA,CAAW,MAAA;AAC7B,EAAA,MAAM,oBAAoB,QAAA,KAAa,eAAA;AACvC,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIC,eAAS,SAAS,CAAA;AAC1D,EAAA,MAAM,YAAA,GAAeC,aAA2B,IAAI,CAAA;AACpD,EAAA,MAAM,UAAA,GAAaA,aAA2B,IAAI,CAAA;AAElD,EAAA,MAAM,SAAA,GAAYC,kBAAY,MAAM;AAClC,IAAA,MAAM,YAAY,YAAA,CAAa,OAAA;AAC/B,IAAA,MAAM,UAAU,UAAA,CAAW,OAAA;AAC3B,IAAA,IAAI,SAAA,IAAa,IAAA,IAAQ,OAAA,IAAW,IAAA,EAAM;AACxC,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,iBAAiB,IAAA,CAAK,GAAA;AAAA,MAC1B,iBAAA,CAAkB,WAAW,iBAAiB,CAAA;AAAA,MAC9C,SAAA,CAAU,eAAe,MAAA,CAAO;AAAA,KAClC;AACA,IAAA,MAAM,WAAA,GAAc,KAAA,CAAM,IAAA,CAAK,OAAA,CAAQ,QAAQ,CAAA;AAC/C,IAAA,MAAM,YAAA,GAAe,YAAY,MAAA,GAAS,SAAA;AAC1C,IAAA,MAAM,gBAAgB,YAAA,GAClB,WAAA,CAAY,KAAA,CAAM,CAAA,EAAG,SAAS,CAAA,GAC9B,WAAA;AACJ,IAAA,MAAM,iBAAiB,YAAA,GACnB,WAAA,CAAY,YAAY,MAAA,GAAS,CAAC,EAAE,WAAA,GACpC,CAAA;AAEJ,IAAA,IAAI,aAAA,CAAc,WAAW,CAAA,EAAG;AAE9B,MAAA,eAAA,CAAgB,CAAC,CAAA;AACjB,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,cAAA,GAAiB,aAAA,CAAc,GAAA,CAAI,CAAA,IAAA,KAAQ,KAAK,WAAW,CAAA;AACjE,IAAA,MAAM,aAAA,GACJ,iBAAiB,KAAA,GAAQ,cAAA,GAAiB,CAAC,GAAG,cAAc,EAAE,OAAA,EAAQ;AACxE,IAAA,IAAI,UAAA,GAAa,CAAA;AACjB,IAAA,IAAI,KAAA,GAAQ,CAAA;AAEZ,IAAA,KAAA,MAAW,aAAa,aAAA,EAAe;AACrC,MAAA,MAAM,QAAA,GAAW,KAAA,GAAQ,CAAA,GAAI,GAAA,GAAM,CAAA;AACnC,MAAA,MAAM,cAAA,GAAiB,aAAa,SAAA,GAAY,QAAA;AAChD,MAAA,MAAM,UAAA,GAAa,KAAA,KAAU,aAAA,CAAc,MAAA,GAAS,CAAA;AACpD,MAAA,MAAM,aAAA,GAAgB,aAClB,CAAA,GACA,cAAA,IAAkB,QAAQ,CAAA,IAAK,cAAA,GAAiB,IAAI,GAAA,GAAM,CAAA,CAAA;AAE9D,MAAA,IACE,cAAA,GAAiB,aAAA,GAAgB,cAAA,IACjC,KAAA,IAAS,eAAA,EACT;AACA,QAAA;AAAA,MACF;AAEA,MAAA,UAAA,GAAa,cAAA;AACb,MAAA,KAAA,EAAA;AAAA,IACF;AAGA,IAAA,eAAA,CAAgB,IAAA,CAAK,IAAI,IAAA,CAAK,GAAA,CAAI,OAAO,SAAS,CAAA,EAAG,eAAe,CAAC,CAAA;AAAA,EACvE,GAAG,CAAC,YAAA,EAAc,KAAK,iBAAA,EAAmB,SAAA,EAAW,eAAe,CAAC,CAAA;AAErE,EAAA,MAAM,oBAAA,GAAuBA,iBAAA,CAAY,CAAC,OAAA,KAAmC;AAC3E,IAAA,YAAA,CAAa,OAAA,GAAU,OAAA;AAAA,EACzB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,kBAAA,GAAqBA,iBAAA;AAAA,IACzB,CAAC,OAAA,KAAmC;AAClC,MAAA,UAAA,CAAW,OAAA,GAAU,OAAA;AACrB,MAAA,IAAI,WAAW,IAAA,EAAM;AACnB,QAAA,SAAA,EAAU;AAAA,MACZ;AAAA,IACF,CAAA;AAAA,IACA,CAAC,SAAS;AAAA,GACZ;AAEA,EAAAC,2CAAA,CAA0B,MAAM;AAC9B,IAAA,SAAA,EAAU;AAAA,EACZ,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAAA,2CAAA,CAA0B,MAAM;AAC9B,IAAA,MAAM,YAAY,YAAA,CAAa,OAAA;AAC/B,IAAA,IAAI,SAAA,IAAa,IAAA,IAAQ,OAAO,cAAA,KAAmB,WAAA,EAAa;AAC9D,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,SACJ,iBAAA,IAAqB,SAAA,CAAU,aAAA,IAAiB,IAAA,GAC5C,UAAU,aAAA,GACV,SAAA;AACN,IAAA,MAAM,QAAA,GAAW,IAAI,cAAA,CAAe,SAAS,CAAA;AAC7C,IAAA,QAAA,CAAS,QAAQ,MAAM,CAAA;AACvB,IAAA,OAAO,MAAM,SAAS,UAAA,EAAW;AAAA,EACnC,CAAA,EAAG,CAAC,SAAA,EAAW,iBAAiB,CAAC,CAAA;AAEjC,EAAA,MAAM,QAAA,GAA2B,UAAA,CAAW,GAAA,CAAI,CAAC,OAAO,KAAA,MAAW;AAAA,IACjE,KAAA;AAAA,IACA;AAAA,GACF,CAAE,CAAA;AACF,EAAA,MAAM,YAAA,GACJ,YAAA,KAAiB,KAAA,GACb,QAAA,CAAS,KAAA,CAAM,CAAA,EAAG,YAAY,CAAA,GAC9B,QAAA,CAAS,KAAA,CAAM,SAAA,GAAY,YAAY,CAAA;AAC7C,EAAA,MAAM,aAAA,GACJ,YAAA,KAAiB,KAAA,GACb,QAAA,CAAS,KAAA,CAAM,YAAY,CAAA,GAC3B,QAAA,CAAS,KAAA,CAAM,CAAA,EAAG,SAAA,GAAY,YAAY,CAAA;AAChD,EAAA,MAAM,cAAc,YAAA,GAAe,SAAA;AACnC,EAAA,MAAM,gBAAA,GAAmB,mBAAmB,QAAQ,CAAA;AAEpD,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAD,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,aAAA,EAAY,MAAA;AAAA,QACZ,WAAW,MAAA,CAAO,gBAAA;AAAA,QAClB,KAAA,EAAK,IAAA;AAAA,QACL,GAAA,EAAK,kBAAA;AAAA,QACL,KAAA,EAAO,EAAC,GAAA,EAAG;AAAA,QACV,QAAA,EAAA;AAAA,UAAA,UAAA;AAAA,UACAE,6BAAA,CAAY,gBAAgB,CAAA,mBAC3BC,cAAA,CAAC,SAAI,SAAA,EAAW,MAAA,CAAO,gBAAA,EAAmB,QAAA,EAAA,gBAAA,EAAiB,CAAA,GACzD;AAAA;AAAA;AAAA,KACN;AAAA,oBACAH,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAWI,oBAAA;AAAA,UACT,MAAA,CAAO,SAAA;AAAA,UACP,iBAAA,IAAqB,WAAA,GAAc,MAAA,CAAO,UAAA,GAAa,MAAA;AAAA,UACvD;AAAA,SACF;AAAA,QACA,GAAA,EAAKC,2BAAA,CAAU,GAAA,EAAK,oBAAoB,CAAA;AAAA,QACxC,KAAA,EAAO,EAAC,GAAA,EAAK,GAAG,KAAA,EAAK;AAAA,QACpB,QAAA,EAAA;AAAA,UAAA,YAAA,KAAiB,OAAA,IAAW,WAAA,GACzB,gBAAA,GAAmB,aAAa,CAAA,GAChC,IAAA;AAAA,UACH,aAAa,GAAA,CAAI,CAAC,EAAC,KAAA,OAAW,KAAK,CAAA;AAAA,UACnC,YAAA,KAAiB,KAAA,IAAS,WAAA,GACvB,gBAAA,GAAmB,aAAa,CAAA,GAChC;AAAA;AAAA;AAAA;AACN,GAAA,EACF,CAAA;AAEJ;ACmCA,IAAM,mBAAA,GAAsB,mBAAA;AAE5B,SAAS,gBAA0C,IAAA,EAAkB;AACnE,EAAA,OAAO,IAAA,CAAK,EAAA,CAAG,UAAA,CAAW,mBAAmB,CAAA;AAC/C;AAKO,SAAS,SAAA,CAAoC;AAAA,EAClD,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,UAAA;AAAA,EACA,WAAA;AAAA,EACA,sBAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA,GAAe,KAAA;AAAA,EACf,QAAA,GAAW,KAAA;AAAA,EACX,SAAA,GAAY,KAAA;AAAA,EACZ,iBAAA,GAAoB,KAAA;AAAA,EACpB,SAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,aAAA,GAAgB,KAAA;AAAA,EAChB,UAAA,GAAa,KAAA;AAAA,EACb,UAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,WAAA;AAAA,EACA,GAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,SAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,mBAAA,GAAsB,MAAA;AAAA,EACtB;AACF,CAAA,EAAyC;AACvC,EAAA,MAAM,UAAUC,WAAA,EAAM;AACtB,EAAA,MAAM,gBAAgBJ,6BAAA,CAAY,WAAW,CAAA,GACzC,CAAA,EAAG,OAAO,CAAA,YAAA,CAAA,GACV,MAAA;AACJ,EAAA,MAAM,eAAA,GAAkBK,oCAAA,CAAmB,OAAA,EAAS,MAAM,CAAA;AAC1D,EAAA,MAAM,WAAA,GAAcC,gCAAA,CAAe,aAAA,EAAe,eAAe,CAAA;AACjE,EAAA,MAAM,QAAA,GAAWX,aAAyB,IAAI,CAAA;AAC9C,EAAA,MAAM,UAAA,GAAaA,aAAuB,IAAI,CAAA;AAC9C,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAID,eAAS,KAAK,CAAA;AAC5D,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,eAAS,EAAE,CAAA;AACnD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,eAAS,EAAE,CAAA;AAC/C,EAAA,MAAM,cAAc,mBAAA,KAAwB,gBAAA;AAC5C,EAAA,MAAM,QAAQa,0BAAA,EAAS;AACvB,EAAA,MAAM,eAAA,GAAkBZ,aAAuB,IAAI,CAAA;AACnD,EAAA,MAAM,cAAA,GAAiBa,mCAAA,CAAU,IAAI,GAAA,CAAI,KAAA,CAAM,IAAI,CAAA,IAAA,KAAQ,IAAA,CAAK,EAAE,CAAC,CAAC,CAAA;AACpE,EAAA,MAAM,OAAA,GAAU,UAAA,IAAc,IAAA,IAAQ,KAAA,CAAM,MAAA,IAAU,UAAA;AACtD,EAAA,MAAM,UAAA,GAAaA,oCAAU,OAAO,CAAA;AACpC,EAAA,MAAM,cACJ,CAAC,eAAA,IAAmB,mBAAA,KAAwB,MAAA,IAAU,MAAM,MAAA,GAAS,CAAA;AACvE,EAAA,MAAM,UAAU,eAAA,CAAgB;AAAA,IAC9B,IAAA;AAAA,IACA,OAAA,EAAS,MAAM,MAAA,GAAS,CAAA;AAAA,IACxB,WAAA;AAAA,IACA,cAAA,EAAgB,WAAA;AAAA,IAChB,eAAe,OAAA,IAAW;AAAA,GAC3B,CAAA;AAGD,EAAA,MAAM,qBAAqB,eAAA,CAAgB;AAAA,IACzC,IAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA,EAAgB;AAAA,GACjB,CAAA;AAED,EAAA,MAAM,cAAA,GAAiBZ,iBAAAA;AAAA,IACrB,CAAC,OAAA,KAAgC;AAC/B,MAAA,IAAI,WAAA,EAAa;AACf,QAAA,KAAA,CAAM,IAAI,OAAO,CAAA;AAAA,MACnB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,aAAa,KAAK;AAAA,GACrB;AAEA,EAAA,MAAM,kBAAA,GAAqBA,iBAAAA;AAAA,IACzB,CAAC,MAAA,KAAwC;AACvC,MAAA,IAAI,EAAE,kBAAkB,IAAA,CAAA,EAAO;AAC7B,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,IAAI,UAAA,CAAW,OAAA,EAAS,QAAA,CAAS,MAAM,CAAA,EAAG;AACxC,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,IAAI,eAAA,CAAgB,OAAA,EAAS,QAAA,CAAS,MAAM,CAAA,EAAG;AAC7C,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,MAAM,cAAA,GAAiB,QAAA,CAAS,cAAA,CAAe,KAAA,CAAM,EAAE,CAAA;AACvD,MAAA,OAAO,cAAA,EAAgB,QAAA,CAAS,MAAM,CAAA,IAAK,KAAA;AAAA,IAC7C,CAAA;AAAA,IACA,CAAC,MAAM,EAAE;AAAA,GACX;AAEA,EAAA,MAAM,cAAA,GAAiBa,aAAA;AAAA,IACrB,OAAO;AAAA,MACL,MAAA,EAAQ,MAAM,YAAA,CAAa,MAAA,IAAS;AAAA,MACpC,MAAM,SAAA,GAAY;AAChB,QAAA,MAAM,OAAA,GAAU,MAAM,YAAA,CAAa,SAAA,EAAU;AAC7C,QAAA,OAAO,OAAA,CAAQ,OAAO,CAAA,IAAA,KAAQ,CAAC,eAAe,OAAA,CAAQ,GAAA,CAAI,IAAA,CAAK,EAAE,CAAC,CAAA;AAAA,MACpE,CAAA;AAAA,MACA,MAAM,OAAO,WAAA,EAAa;AACxB,QAAA,MAAM,OAAA,GAAU,MAAM,YAAA,CAAa,MAAA,CAAO,WAAW,CAAA;AACrD,QAAA,MAAM,kBAAkB,OAAA,CAAQ,MAAA;AAAA,UAC9B,UAAQ,CAAC,cAAA,CAAe,OAAA,CAAQ,GAAA,CAAI,KAAK,EAAE;AAAA,SAC7C;AACA,QAAA,IAAI,CAAC,SAAA,IAAa,WAAA,CAAY,MAAK,KAAM,EAAA,IAAM,WAAW,OAAA,EAAS;AACjE,UAAA,OAAO,eAAA;AAAA,QACT;AACA,QAAA,MAAM,WAAW,eAAA,CAAgB,IAAA;AAAA,UAC/B,CAAA,IAAA,KAAQ,KAAK,KAAA,CAAM,WAAA,OAAkB,WAAA,CAAY,IAAA,GAAO,WAAA;AAAY,SACtE;AACA,QAAA,IAAI,QAAA,EAAU;AACZ,UAAA,OAAO,eAAA;AAAA,QACT;AACA,QAAA,OAAO;AAAA;AAAA,UAEL;AAAA,YACE,EAAA,EAAI,CAAA,EAAG,mBAAmB,CAAA,EAAG,WAAW,CAAA,CAAA;AAAA,YACxC,KAAA,EAAO,WAAW,WAAW,CAAA,CAAA,CAAA;AAAA,YAC7B,aAAA,EAAe,EAAC,KAAA,EAAO,WAAA;AAAW,WACpC;AAAA,UACA,GAAG;AAAA,SACL;AAAA,MACF;AAAA,KACF,CAAA;AAAA,IACA,CAAC,WAAW,YAAY;AAAA,GAC1B;AAEA,EAAAC,yBAAA;AAAA,IACE,SAAA;AAAA,IACA,OAAO;AAAA,MACL,IAAA,EAAM,MAAM,QAAA,CAAS,OAAA,EAAS,IAAA,EAAK;AAAA,MACnC,KAAA,EAAO,MAAM,QAAA,CAAS,OAAA,EAAS,KAAA;AAAM,KACvC,CAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,MAAM,QAAA,GAAWF,oCAAU,KAAK,CAAA;AAChC,EAAA,MAAM,WAAA,GAAcA,oCAAU,QAAQ,CAAA;AAEtC,EAAA,MAAM,QAAA,GAAWZ,iBAAAA,CAAY,CAAC,OAAA,KAAoB;AAChD,IAAA,eAAA,CAAgB,EAAE,CAAA;AAClB,IAAA,qBAAA,CAAsB,MAAM,eAAA,CAAgB,OAAO,CAAC,CAAA;AAAA,EACtD,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,UAAA,GAAaA,iBAAAA;AAAA,IACjB,CAAC,IAAA,KAAY;AACX,MAAA,WAAA,CAAY,OAAA;AAAA,QACV,SAAS,OAAA,CAAQ,MAAA,CAAO,kBAAgB,YAAA,CAAa,EAAA,KAAO,KAAK,EAAE,CAAA;AAAA,QACnE,EAAC,IAAA,EAAM,IAAA,EAAM,QAAA;AAAQ,OACvB;AACA,MAAA,QAAA,CAAS,CAAA,QAAA,EAAW,IAAA,CAAK,KAAK,CAAA,CAAE,CAAA;AAAA,IAClC,CAAA;AAAA,IACA,CAAC,QAAQ;AAAA,GACX;AAEA,EAAA,MAAM,WAAA,GAAcA,iBAAAA;AAAA,IAClB,CAAC,KAAA,KAAsC;AACrC,MAAA,MAAM,iBAAA,GAAoB,CAAC,kBAAA,CAAmB,KAAA,CAAM,aAAa,CAAA;AACjE,MAAA,kBAAA,CAAmB,IAAI,CAAA;AACvB,MAAA,IAAI,WAAA,EAAa;AACf,QAAA,KAAA,CAAM,IAAA,EAAK;AAAA,MACb;AACA,MAAA,IAAI,iBAAA,EAAmB;AACrB,QAAA,OAAA,GAAU,KAAK,CAAA;AAAA,MACjB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,kBAAA,EAAoB,WAAA,EAAa,KAAA,EAAO,OAAO;AAAA,GAClD;AAEA,EAAA,MAAM,UAAA,GAAaA,iBAAAA;AAAA,IACjB,CAAC,KAAA,KAAsC;AACrC,MAAA,IAAI,CAAC,kBAAA,CAAmB,KAAA,CAAM,aAAa,CAAA,EAAG;AAC5C,QAAA,kBAAA,CAAmB,KAAK,CAAA;AACxB,QAAA,IAAI,WAAA,EAAa;AACf,UAAA,KAAA,CAAM,IAAA,EAAK;AAAA,QACb;AACA,QAAA,MAAA,GAAS,KAAK,CAAA;AAAA,MAChB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,kBAAA,EAAoB,WAAA,EAAa,KAAA,EAAO,MAAM;AAAA,GACjD;AAEA,EAAA,MAAM,wBAAA,GAA2BA,kBAAY,MAAM;AACjD,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,IAAI,WAAA,EAAa;AACf,QAAA,KAAA,CAAM,IAAA,EAAK;AACX,QAAA,kBAAA,CAAmB,IAAI,CAAA;AAAA,MACzB;AACA,MAAA,QAAA,CAAS,gBAAA;AAAA,QACP,OAAA;AAAA,QACA,CAAA,KAAA,KAAS;AAOP,UAAA,IAAI,kBAAA,CAAmB,KAAA,CAAM,MAAM,CAAA,EAAG;AACpC,YAAA,qBAAA,CAAsB,MAAM,QAAA,CAAS,OAAA,EAAS,KAAA,EAAO,CAAA;AAAA,UACvD;AAAA,QACF,CAAA;AAAA,QACA,EAAC,MAAM,IAAA;AAAI,OACb;AAAA,IACF;AAAA,EACF,GAAG,CAAC,UAAA,EAAY,kBAAA,EAAoB,WAAA,EAAa,KAAK,CAAC,CAAA;AAEvD,EAAA,MAAM,SAAA,GAAYe,8BAAA,CAAa,UAAA,EAAY,UAAU,CAAA;AAErD,EAAA,MAAM,MAAA,GAAS,KAAA,CAAM,GAAA,CAAI,CAAA,IAAA,qBACvBV,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,GAAA,EACtB,QAAA,EAAA,SAAA,IAAa,IAAA,mBACZA,cAAAA;AAAA,IAACW,qBAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,OAAO,IAAA,CAAK,KAAA;AAAA,MACZ,QAAA,EAAU,MAAM,UAAA,CAAW,IAAI,CAAA;AAAA,MAC/B;AAAA;AAAA,GACF,GAEA,SAAA,CAAU,IAAA,EAAM,MAAM,UAAA,CAAW,IAAI,CAAC,CAAA,EAAA,EATP,IAAA,CAAK,EAWxC,CACD,CAAA;AAED,EAAA,MAAM,cAAA;AAAA;AAAA,oBAEJd,eAAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,YAAA,EAAY,KAAA;AAAA,QACZ,SAAA,EAAWI,oBAAA;AAAA,UACTW,6BAAA,CAAY;AAAA,YACV,IAAA;AAAA,YACA,QAAQ,MAAA,EAAQ,IAAA;AAAA,YAChB;AAAA,WACD,CAAA;AAAA,UACD,OAAA,CAAQ;AAAA,SACV;AAAA,QACA,aAAA,EAAa,UAAA;AAAA,QACb,MAAA,EAAQ,UAAA;AAAA,QACR,OAAA,EAAS,WAAA;AAAA,QACT,aAAA,EAAe,wBAAA;AAAA,QACf,GAAA,EAAK,UAAA;AAAA,QACL,IAAA,EAAK,OAAA;AAAA,QACJ,QAAA,EAAA;AAAA,UAAA,SAAA,IAAa,uBACZZ,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAWa,8BAAY,QAAA,EAC3B,QAAA,kBAAAb,cAAAA,CAACc,sBAAA,EAAA,EAAK,OAAM,WAAA,EAAY,IAAA,EAAM,WAAW,IAAA,EAAK,IAAA,EAAK,GACrD,CAAA,GACE,IAAA;AAAA,UACH,8BACCd,cAAAA;AAAA,YAAC,YAAA;AAAA,YAAA;AAAA,cACC,QAAA,EAAS,eAAA;AAAA,cACT,GAAA,EAAK,CAAA;AAAA,cACL,kBAAkB,CAAA,aAAA,qBAChBH,gBAAC,MAAA,EAAA,EAAK,SAAA,EAAW,QAAQ,YAAA,EAAc,QAAA,EAAA;AAAA,gBAAA,GAAA;AAAA,gBACnC,aAAA,CAAc,MAAA;AAAA,gBAAO;AAAA,eAAA,EACzB,CAAA;AAAA,cAED,QAAA,EAAA;AAAA;AAAA,WACH,GAEA,MAAA;AAAA,0BAEFG,cAAAA;AAAA,YAACe,uCAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,UAAA;AAAA,cACX,eAAA,EAAiB,WAAA;AAAA,cACjB,WAAW,OAAA,CAAQ,KAAA;AAAA,cACnB,UAAA;AAAA,cACA,sBAAA;AAAA,cACA,YAAA;AAAA,cACA,iBAAA;AAAA,cACA,iBAAA,EAAmB,iBAAA;AAAA,cACnB,OAAA;AAAA,cACA,UAAA,EAAY,cAAc,UAAA,IAAc,OAAA;AAAA,cACxC,YAAA;AAAA,cACA,UAAU,CAAA,IAAA,KAAQ;AAChB,gBAAA,IAAI,QAAQ,IAAA,EAAM;AAChB,kBAAA;AAAA,gBACF;AACA,gBAAA,IAAI,eAAA,CAAgB,IAAI,CAAA,EAAG;AACzB,kBAAA,MAAM,WACJ,OAAO,IAAA,CAAK,aAAA,KAAkB,QAAA,IAC9B,KAAK,aAAA,IAAiB,IAAA,IACtB,OAAA,IAAW,IAAA,CAAK,gBACZ,MAAA,CAAO,IAAA,CAAK,aAAA,CAAc,KAAK,IAC/B,IAAA,CAAK,KAAA;AAIX,kBAAA,MAAM,WAAA,GACJ,aAAa,QAAQ,CAAA;AAAA,kBAEpB,EAAC,EAAA,EAAI,QAAA,EAAU,KAAA,EAAO,QAAA,EAAQ;AACjC,kBAAA,WAAA,CAAY,QAAQ,CAAC,GAAG,QAAA,CAAS,OAAA,EAAS,WAAW,CAAA,EAAG;AAAA,oBACtD,IAAA,EAAM,WAAA;AAAA,oBACN,IAAA,EAAM;AAAA,mBACP,CAAA;AACD,kBAAA,QAAA,CAAS,CAAA,MAAA,EAAS,QAAQ,CAAA,CAAE,CAAA;AAC5B,kBAAA;AAAA,gBACF;AACA,gBAAA,WAAA,CAAY,QAAQ,CAAC,GAAG,QAAA,CAAS,OAAA,EAAS,IAAI,CAAA,EAAG;AAAA,kBAC/C,IAAA;AAAA,kBACA,IAAA,EAAM;AAAA,iBACP,CAAA;AACD,gBAAA,QAAA,CAAS,CAAA,MAAA,EAAS,IAAA,CAAK,KAAK,CAAA,CAAE,CAAA;AAAA,cAChC,CAAA;AAAA,cACA,SAAA,EAAW,CAAC,KAAA,KAA2C;AACrD,gBAAA,IACE,KAAA,CAAM,GAAA,KAAQ,WAAA,IACd,KAAA,CAAM,aAAA,CAAc,UAAU,EAAA,IAC9B,QAAA,CAAS,OAAA,CAAQ,MAAA,GAAS,CAAA,EAC1B;AACA,kBAAA,MAAM,OAAO,QAAA,CAAS,OAAA,CAAQ,QAAA,CAAS,OAAA,CAAQ,SAAS,CAAC,CAAA;AACzD,kBAAA,UAAA,CAAW,IAAI,CAAA;AAAA,gBACjB;AAAA,cACF,CAAA;AAAA,cACA,eAAe,CAAA,SAAA,KAAa;AAC1B,gBAAA,aAAA,CAAc,SAAS,CAAA;AACvB,gBAAA,aAAA,GAAgB,SAAS,CAAA;AAAA,cAC3B,CAAA;AAAA,cACA,WAAA,EAAa,KAAA,CAAM,MAAA,KAAW,CAAA,GAAI,WAAA,GAAc,MAAA;AAAA,cAChD,KAAA,EAAO,UAAA;AAAA,cACP,GAAA,EAAK,QAAA;AAAA,cACL,UAAA;AAAA,cACA,YAAA,EAAc,cAAA;AAAA,cACd,IAAA;AAAA,cACA,KAAA,EAAO;AAAA;AAAA,WACT;AAAA,UACChB,6BAAA,CAAY,UAAU,CAAA,mBACrBC,cAAAA,CAAC,UAAK,SAAA,EAAW,OAAA,CAAQ,UAAA,EAAa,QAAA,EAAA,UAAA,EAAW,CAAA,GAC/C,IAAA;AAAA,UACH,QAAA,IAAY,MAAM,MAAA,GAAS,CAAA,IAAK,CAAC,UAAA,IAAc,CAAC,6BAC/CA,cAAAA;AAAA,YAACgB,wBAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAMC,aAAA;AAAA,cACN,UAAA,EAAU,IAAA;AAAA,cACV,KAAA,EAAO,SAAS,KAAK,CAAA,CAAA;AAAA,cACrB,SAAS,CAAA,KAAA,KAAS;AAChB,gBAAA,KAAA,CAAM,eAAA,EAAgB;AACtB,gBAAA,WAAA,CAAY,OAAA,CAAQ,EAAC,EAAG;AAAA,kBACtB,OAAO,QAAA,CAAS,OAAA;AAAA,kBAChB,IAAA,EAAM;AAAA,iBACP,CAAA;AACD,gBAAA,QAAA,CAAS,kBAAkB,CAAA;AAAA,cAC7B,CAAA;AAAA,cACA,IAAA,EAAK,IAAA;AAAA,cACL,OAAA,EAAQ;AAAA;AAAA,WACV,GACE,IAAA;AAAA,0BACJjB,cAAAA,CAAC,MAAA,EAAA,EAAK,WAAA,EAAU,QAAA,EAAS,WAAW,OAAA,CAAQ,UAAA,EAAY,IAAA,EAAK,QAAA,EAC1D,QAAA,EAAA,YAAA,EACH;AAAA;AAAA;AAAA;AACF,GAAA;AAGF,EAAA,MAAM,oBAAA,GAAsC;AAAA,IAC1C,YAAA,EAAc,MAAA;AAAA,IACd,oBAAA,EAAsB,MAAA;AAAA,IACtB,GAAA,EAAK,aAAA;AAAA,IACL,IAAA,EAAM;AAAA,GACR;AAEA,EAAA,MAAM,YAAA,GAAe,WAAA,mBACnBH,eAAAA,CAAAC,qBAAA,EACE,QAAA,EAAA;AAAA,oBAAAE,cAAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAWC,oBAAA;AAAA,UACTW,6BAAA,CAAY;AAAA,YACV,IAAA;AAAA,YACA,QAAQ,MAAA,EAAQ,IAAA;AAAA,YAChB;AAAA,WACD,CAAA;AAAA,UACD,kBAAA,CAAmB;AAAA,SACrB;AAAA,QACA,aAAA,EAAe,wBAAA;AAAA,QACf,GAAA,EAAK,cAAA;AAAA,QACJ,QAAA,EAAA,WAAA,mBACCf,eAAAA,CAAAC,mBAAAA,EAAA,EACG,QAAA,EAAA;AAAA,UAAA,SAAA,IAAa,uBACZE,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAWa,8BAAY,QAAA,EAC3B,QAAA,kBAAAb,cAAAA,CAACc,sBAAA,EAAA,EAAK,OAAM,WAAA,EAAY,IAAA,EAAM,WAAW,IAAA,EAAK,IAAA,EAAK,GACrD,CAAA,GACE,IAAA;AAAA,0BACJd,cAAAA;AAAA,YAAC,YAAA;AAAA,YAAA;AAAA,cACC,QAAA,EAAS,eAAA;AAAA,cACT,GAAA,EAAK,CAAA;AAAA,cACL,kBAAkB,CAAA,aAAA,qBAChBH,gBAAC,MAAA,EAAA,EAAK,SAAA,EAAW,QAAQ,YAAA,EAAc,QAAA,EAAA;AAAA,gBAAA,GAAA;AAAA,gBACnC,aAAA,CAAc,MAAA;AAAA,gBAAO;AAAA,eAAA,EACzB,CAAA;AAAA,cAED,QAAA,EAAA;AAAA;AAAA;AACH,SAAA,EACF,CAAA,GACE;AAAA;AAAA,KACN;AAAA,IACC,KAAA,CAAM,MAAA;AAAA,sBACLG,cAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAa,UAAA,IAAc,IAAA,GAAO,MAAA,GAAY,GAAG,UAAU,CAAA,MAAA,CAAA;AAAA,UAC3D,GAAA,EAAK,eAAA;AAAA,UACJ,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,MACA;AAAA,QACE,SAAA,EAAW,OAAA;AAAA,QACX,WAAW,OAAA,CAAQ,YAAA;AAAA,QACnB,SAAA,EAAW,OAAA;AAAA,QACX,KAAA,EAAO;AAAA;AACT;AACF,GAAA,EACF,CAAA,GAEA,cAAA;AAGF,EAAA,uBACEA,cAAAA;AAAA,IAACkB,uBAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MACC,GAAG,SAAA;AAAA,MACJ,KAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,GAAA;AAAA,MACA,MAAA,EACE,UAAU,IAAA,GAAO,MAAA,GAAY,EAAC,GAAG,MAAA,EAAQ,WAAW,eAAA,EAAe;AAAA,MAErE,KAAA;AAAA,MACC,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"chunk-HPOURAKV.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 isObservingParent: boolean,\n): number {\n if (isObservingParent && 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 isObservingParent = 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, isObservingParent),\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, isObservingParent, itemCount, minVisibleItems]);\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 isObservingParent && container.parentElement != null\n ? container.parentElement\n : container;\n const observer = new ResizeObserver(calculate);\n observer.observe(target);\n return () => observer.disconnect();\n }, [calculate, isObservingParent]);\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 isObservingParent && 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
+ {"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-TACO5IWI.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 isObservingParent: boolean,\n): number {\n if (isObservingParent && 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 isObservingParent = 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, isObservingParent),\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, isObservingParent, itemCount, minVisibleItems]);\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 isObservingParent && container.parentElement != null\n ? container.parentElement\n : container;\n const observer = new ResizeObserver(calculate);\n observer.observe(target);\n return () => observer.disconnect();\n }, [calculate, isObservingParent]);\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 isObservingParent && 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,17 +1,17 @@
1
1
  import { HStack, VStack } from './chunk-5ZU7FY4O.js';
2
- import { TagsInput } from './chunk-M64WMYYV.js';
3
- import { Select } from './chunk-UYZQGHFI.js';
4
- import { NumberInput } from './chunk-WM7NEOME.js';
5
- import { TextInput } from './chunk-JR353MN5.js';
6
- import { TimeInput } from './chunk-FQN22DO5.js';
7
- import { DateInput } from './chunk-UT45YVPI.js';
2
+ import { TagsInput } from './chunk-OPBELSKN.js';
3
+ import { Select } from './chunk-GQ73VKKN.js';
4
+ import { NumberInput } from './chunk-OUUG4RHO.js';
5
+ import { TextInput } from './chunk-NIKT7XSO.js';
6
+ import { TimeInput } from './chunk-6OWEKKOC.js';
7
+ import { DateInput } from './chunk-PK3NJSHQ.js';
8
8
  import { plainDateFromUnixSeconds, plainDateToUnixSeconds } from './chunk-5HPXUDX6.js';
9
9
  import { getBrowserTimezoneID, nowEpochMilliseconds } from './chunk-OX4ZMUF4.js';
10
- import { AutocompleteInputItem, createStaticSearchSource, AutocompleteInput } from './chunk-KCI4I42U.js';
10
+ import { AutocompleteInputItem, createStaticSearchSource, AutocompleteInput } from './chunk-BBLAZNCC.js';
11
11
  import { Tag } from './chunk-EIJSWHG7.js';
12
- import { Popover } from './chunk-JHMUMJF3.js';
13
- import { Button } from './chunk-HMJINNXZ.js';
14
- import { Text } from './chunk-NXTDP6AX.js';
12
+ import { Popover } from './chunk-GTZQT6MK.js';
13
+ import { Button } from './chunk-EBV3EX3J.js';
14
+ import { Text } from './chunk-5GSRIOXE.js';
15
15
  import { sva } from './chunk-IAVZKGZS.js';
16
16
  import { css } from './chunk-OD4DHHZH.js';
17
17
  import { cx } from './chunk-PPNETWIP.js';
@@ -2109,5 +2109,5 @@ function useSearchFilterInputConfig(definitions, configName) {
2109
2109
  }
2110
2110
 
2111
2111
  export { SearchFilterInput, SearchFilterInputEditPopover, SearchFilterInputFilterEditor, SearchFilterInputTag, createSearchFilterInputConfig, formatFilterValue, useSearchFilterInputConfig, useSearchFilterInputSource };
2112
- //# sourceMappingURL=chunk-4JJFQZVY.js.map
2113
- //# sourceMappingURL=chunk-4JJFQZVY.js.map
2112
+ //# sourceMappingURL=chunk-TP6RGZ6A.js.map
2113
+ //# sourceMappingURL=chunk-TP6RGZ6A.js.map