@keboola/design 9.1.0 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/AGENTS.md +119 -40
  2. package/COMPONENT-API.md +31 -9
  3. package/README.md +3 -3
  4. package/dist/MermaidDiagram-ZU5KAVRT.js +18 -0
  5. package/dist/MermaidDiagram-ZU5KAVRT.js.map +1 -0
  6. package/dist/charts.d.ts +37 -2
  7. package/dist/charts.js +11 -9
  8. package/dist/charts.js.map +1 -1
  9. package/dist/chunk-2YYJDKSP.js +51 -0
  10. package/dist/chunk-2YYJDKSP.js.map +1 -0
  11. package/dist/chunk-3P5UUCFI.js +385 -0
  12. package/dist/chunk-3P5UUCFI.js.map +1 -0
  13. package/dist/chunk-3QDFDDWZ.js +99 -0
  14. package/dist/chunk-3QDFDDWZ.js.map +1 -0
  15. package/dist/chunk-3W27OLK5.js +15 -0
  16. package/dist/chunk-3W27OLK5.js.map +1 -0
  17. package/dist/chunk-4FIZZONW.js +40 -0
  18. package/dist/chunk-4FIZZONW.js.map +1 -0
  19. package/dist/chunk-4GIAXOJG.js +133 -0
  20. package/dist/chunk-4GIAXOJG.js.map +1 -0
  21. package/dist/chunk-52NDNMK7.js +99 -0
  22. package/dist/chunk-52NDNMK7.js.map +1 -0
  23. package/dist/chunk-576G5OES.js +201 -0
  24. package/dist/chunk-576G5OES.js.map +1 -0
  25. package/dist/chunk-5AIE6SET.js +659 -0
  26. package/dist/chunk-5AIE6SET.js.map +1 -0
  27. package/dist/chunk-5FTNAZRW.js +327 -0
  28. package/dist/chunk-5FTNAZRW.js.map +1 -0
  29. package/dist/chunk-5IG2S7ZY.js +70 -0
  30. package/dist/chunk-5IG2S7ZY.js.map +1 -0
  31. package/dist/chunk-5QCXHNCW.js +404 -0
  32. package/dist/chunk-5QCXHNCW.js.map +1 -0
  33. package/dist/chunk-6DUMGC7Y.js +105 -0
  34. package/dist/chunk-6DUMGC7Y.js.map +1 -0
  35. package/dist/chunk-6J25CVST.js +174 -0
  36. package/dist/chunk-6J25CVST.js.map +1 -0
  37. package/dist/chunk-6NN35XOP.js +120 -0
  38. package/dist/chunk-6NN35XOP.js.map +1 -0
  39. package/dist/chunk-6NZBVA4T.js +24 -0
  40. package/dist/chunk-6NZBVA4T.js.map +1 -0
  41. package/dist/chunk-6W5BHRCL.js +295 -0
  42. package/dist/chunk-6W5BHRCL.js.map +1 -0
  43. package/dist/chunk-72BKRCEG.js +409 -0
  44. package/dist/chunk-72BKRCEG.js.map +1 -0
  45. package/dist/chunk-7GTI3PPI.js +95 -0
  46. package/dist/chunk-7GTI3PPI.js.map +1 -0
  47. package/dist/chunk-7P6PLZ4B.js +74 -0
  48. package/dist/chunk-7P6PLZ4B.js.map +1 -0
  49. package/dist/chunk-7WZWY5IA.js +46 -0
  50. package/dist/chunk-7WZWY5IA.js.map +1 -0
  51. package/dist/chunk-AIYO2632.js +489 -0
  52. package/dist/chunk-AIYO2632.js.map +1 -0
  53. package/dist/chunk-ANFZWPNE.js +112 -0
  54. package/dist/chunk-ANFZWPNE.js.map +1 -0
  55. package/dist/chunk-ANZTVAJU.js +73 -0
  56. package/dist/chunk-ANZTVAJU.js.map +1 -0
  57. package/dist/chunk-BD5BTJKX.js +166 -0
  58. package/dist/chunk-BD5BTJKX.js.map +1 -0
  59. package/dist/chunk-BHGIDSRJ.js +140 -0
  60. package/dist/chunk-BHGIDSRJ.js.map +1 -0
  61. package/dist/chunk-BSQWZITZ.js +507 -0
  62. package/dist/chunk-BSQWZITZ.js.map +1 -0
  63. package/dist/chunk-D3LAIK62.js +23 -0
  64. package/dist/chunk-D3LAIK62.js.map +1 -0
  65. package/dist/chunk-DODCR43C.js +155 -0
  66. package/dist/chunk-DODCR43C.js.map +1 -0
  67. package/dist/chunk-EEK5NGZF.js +40 -0
  68. package/dist/chunk-EEK5NGZF.js.map +1 -0
  69. package/dist/chunk-ENRG7TXA.js +11 -0
  70. package/dist/chunk-ENRG7TXA.js.map +1 -0
  71. package/dist/chunk-EQRMGIGY.js +239 -0
  72. package/dist/chunk-EQRMGIGY.js.map +1 -0
  73. package/dist/chunk-ERAHK5YQ.js +495 -0
  74. package/dist/chunk-ERAHK5YQ.js.map +1 -0
  75. package/dist/chunk-F3FOFY2P.js +124 -0
  76. package/dist/chunk-F3FOFY2P.js.map +1 -0
  77. package/dist/chunk-F6BTWFOC.js +507 -0
  78. package/dist/chunk-F6BTWFOC.js.map +1 -0
  79. package/dist/chunk-F6J6NNAL.js +34 -0
  80. package/dist/chunk-F6J6NNAL.js.map +1 -0
  81. package/dist/chunk-FCHJ7D5O.js +59 -0
  82. package/dist/chunk-FCHJ7D5O.js.map +1 -0
  83. package/dist/chunk-FFJTEQCC.js +80 -0
  84. package/dist/chunk-FFJTEQCC.js.map +1 -0
  85. package/dist/chunk-FUFMVW7O.js +64 -0
  86. package/dist/chunk-FUFMVW7O.js.map +1 -0
  87. package/dist/chunk-FVPGQ6UE.js +25 -0
  88. package/dist/chunk-FVPGQ6UE.js.map +1 -0
  89. package/dist/chunk-G3PMV62Z.js +33 -0
  90. package/dist/chunk-G3PMV62Z.js.map +1 -0
  91. package/dist/chunk-GACFOW3E.js +51 -0
  92. package/dist/chunk-GACFOW3E.js.map +1 -0
  93. package/dist/chunk-GDT6HQMK.js +42 -0
  94. package/dist/chunk-GDT6HQMK.js.map +1 -0
  95. package/dist/chunk-HLGU22C6.js +2589 -0
  96. package/dist/chunk-HLGU22C6.js.map +1 -0
  97. package/dist/chunk-HPMYYGP7.js +134 -0
  98. package/dist/chunk-HPMYYGP7.js.map +1 -0
  99. package/dist/chunk-I2UCOD45.js +197 -0
  100. package/dist/chunk-I2UCOD45.js.map +1 -0
  101. package/dist/chunk-IEGDZUVM.js +75 -0
  102. package/dist/chunk-IEGDZUVM.js.map +1 -0
  103. package/dist/chunk-IIS7INHF.js +47 -0
  104. package/dist/chunk-IIS7INHF.js.map +1 -0
  105. package/dist/chunk-ITELSEFU.js +256 -0
  106. package/dist/chunk-ITELSEFU.js.map +1 -0
  107. package/dist/chunk-IXAYNBOY.js +407 -0
  108. package/dist/chunk-IXAYNBOY.js.map +1 -0
  109. package/dist/chunk-JUW2ETEI.js +191 -0
  110. package/dist/chunk-JUW2ETEI.js.map +1 -0
  111. package/dist/chunk-K65C7CVE.js +127 -0
  112. package/dist/chunk-K65C7CVE.js.map +1 -0
  113. package/dist/chunk-KDI64MCY.js +189 -0
  114. package/dist/chunk-KDI64MCY.js.map +1 -0
  115. package/dist/chunk-KN4ASMH5.js +160 -0
  116. package/dist/chunk-KN4ASMH5.js.map +1 -0
  117. package/dist/chunk-KQW7QNTU.js +1549 -0
  118. package/dist/chunk-KQW7QNTU.js.map +1 -0
  119. package/dist/chunk-KR7NXXHC.js +66 -0
  120. package/dist/chunk-KR7NXXHC.js.map +1 -0
  121. package/dist/chunk-KRZKIVMA.js +142 -0
  122. package/dist/chunk-KRZKIVMA.js.map +1 -0
  123. package/dist/chunk-KTTLLKGQ.js +185 -0
  124. package/dist/chunk-KTTLLKGQ.js.map +1 -0
  125. package/dist/chunk-KWKSHPDP.js +234 -0
  126. package/dist/chunk-KWKSHPDP.js.map +1 -0
  127. package/dist/chunk-KZVC7OYG.js +57 -0
  128. package/dist/chunk-KZVC7OYG.js.map +1 -0
  129. package/dist/chunk-L5DHUN2V.js +204 -0
  130. package/dist/chunk-L5DHUN2V.js.map +1 -0
  131. package/dist/chunk-LCTGEH57.js +1376 -0
  132. package/dist/chunk-LCTGEH57.js.map +1 -0
  133. package/dist/chunk-LXLIQ2D6.js +12 -0
  134. package/dist/chunk-LXLIQ2D6.js.map +1 -0
  135. package/dist/chunk-M4CTURKX.js +84 -0
  136. package/dist/chunk-M4CTURKX.js.map +1 -0
  137. package/dist/chunk-M6LTUPVP.js +301 -0
  138. package/dist/chunk-M6LTUPVP.js.map +1 -0
  139. package/dist/chunk-MA6RRHDT.js +291 -0
  140. package/dist/chunk-MA6RRHDT.js.map +1 -0
  141. package/dist/chunk-MODE4QIA.js +6 -0
  142. package/dist/chunk-MODE4QIA.js.map +1 -0
  143. package/dist/chunk-MVILMVGG.js +118 -0
  144. package/dist/chunk-MVILMVGG.js.map +1 -0
  145. package/dist/chunk-MWS4VCLV.js +17 -0
  146. package/dist/chunk-MWS4VCLV.js.map +1 -0
  147. package/dist/chunk-NEUX74SO.js +315 -0
  148. package/dist/chunk-NEUX74SO.js.map +1 -0
  149. package/dist/chunk-NFHKYBRD.js +156 -0
  150. package/dist/chunk-NFHKYBRD.js.map +1 -0
  151. package/dist/chunk-NHJNNXD3.js +89 -0
  152. package/dist/chunk-NHJNNXD3.js.map +1 -0
  153. package/dist/chunk-O2BF3HZL.js +33 -0
  154. package/dist/chunk-O2BF3HZL.js.map +1 -0
  155. package/dist/chunk-OANXCZYD.js +212 -0
  156. package/dist/chunk-OANXCZYD.js.map +1 -0
  157. package/dist/chunk-ODJF7YIP.js +230 -0
  158. package/dist/chunk-ODJF7YIP.js.map +1 -0
  159. package/dist/chunk-ON4BJTHI.js +101 -0
  160. package/dist/chunk-ON4BJTHI.js.map +1 -0
  161. package/dist/chunk-OTL5WXIJ.js +16 -0
  162. package/dist/chunk-OTL5WXIJ.js.map +1 -0
  163. package/dist/chunk-PACNBKJV.js +47 -0
  164. package/dist/chunk-PACNBKJV.js.map +1 -0
  165. package/dist/chunk-PROCA7K7.js +23 -0
  166. package/dist/chunk-PROCA7K7.js.map +1 -0
  167. package/dist/chunk-QGMIPA67.js +85 -0
  168. package/dist/chunk-QGMIPA67.js.map +1 -0
  169. package/dist/chunk-QQA37LFB.js +190 -0
  170. package/dist/chunk-QQA37LFB.js.map +1 -0
  171. package/dist/chunk-QZAWRSEB.js +61 -0
  172. package/dist/chunk-QZAWRSEB.js.map +1 -0
  173. package/dist/chunk-R74KGWNS.js +699 -0
  174. package/dist/chunk-R74KGWNS.js.map +1 -0
  175. package/dist/chunk-RFDLHMKL.js +110 -0
  176. package/dist/chunk-RFDLHMKL.js.map +1 -0
  177. package/dist/chunk-RL64HN7S.js +40 -0
  178. package/dist/chunk-RL64HN7S.js.map +1 -0
  179. package/dist/chunk-RMRQKPL7.js +115 -0
  180. package/dist/chunk-RMRQKPL7.js.map +1 -0
  181. package/dist/chunk-RQVK4IYC.js +606 -0
  182. package/dist/chunk-RQVK4IYC.js.map +1 -0
  183. package/dist/chunk-RTW56PWZ.js +59 -0
  184. package/dist/chunk-RTW56PWZ.js.map +1 -0
  185. package/dist/chunk-RUTPQNLR.js +266 -0
  186. package/dist/chunk-RUTPQNLR.js.map +1 -0
  187. package/dist/chunk-S6TAF63G.js +25 -0
  188. package/dist/chunk-S6TAF63G.js.map +1 -0
  189. package/dist/chunk-SBGAUGXY.js +224 -0
  190. package/dist/chunk-SBGAUGXY.js.map +1 -0
  191. package/dist/chunk-SC275NHZ.js +407 -0
  192. package/dist/chunk-SC275NHZ.js.map +1 -0
  193. package/dist/chunk-SCQPU4UE.js +97 -0
  194. package/dist/chunk-SCQPU4UE.js.map +1 -0
  195. package/dist/chunk-SFFF2WQP.js +8 -0
  196. package/dist/chunk-SFFF2WQP.js.map +1 -0
  197. package/dist/chunk-SJYMHZKA.js +36 -0
  198. package/dist/chunk-SJYMHZKA.js.map +1 -0
  199. package/dist/chunk-SLCCUJVN.js +125 -0
  200. package/dist/chunk-SLCCUJVN.js.map +1 -0
  201. package/dist/chunk-SVBSNSD4.js +259 -0
  202. package/dist/chunk-SVBSNSD4.js.map +1 -0
  203. package/dist/chunk-SVPLTL35.js +62 -0
  204. package/dist/chunk-SVPLTL35.js.map +1 -0
  205. package/dist/chunk-SWQFYNYG.js +338 -0
  206. package/dist/chunk-SWQFYNYG.js.map +1 -0
  207. package/dist/chunk-THHB4EWS.js +72 -0
  208. package/dist/chunk-THHB4EWS.js.map +1 -0
  209. package/dist/chunk-TUCDD33E.js +246 -0
  210. package/dist/chunk-TUCDD33E.js.map +1 -0
  211. package/dist/chunk-TV4WAP2R.js +14 -0
  212. package/dist/chunk-TV4WAP2R.js.map +1 -0
  213. package/dist/chunk-U3A6YBTZ.js +134 -0
  214. package/dist/chunk-U3A6YBTZ.js.map +1 -0
  215. package/dist/chunk-UGT6DKWM.js +95 -0
  216. package/dist/chunk-UGT6DKWM.js.map +1 -0
  217. package/dist/chunk-VSERHUWD.js +212 -0
  218. package/dist/chunk-VSERHUWD.js.map +1 -0
  219. package/dist/chunk-VYG7BDXC.js +49 -0
  220. package/dist/chunk-VYG7BDXC.js.map +1 -0
  221. package/dist/chunk-WETKNYZX.js +52 -0
  222. package/dist/chunk-WETKNYZX.js.map +1 -0
  223. package/dist/chunk-WGG4AML3.js +216 -0
  224. package/dist/chunk-WGG4AML3.js.map +1 -0
  225. package/dist/chunk-WKAUEL6I.js +30 -0
  226. package/dist/chunk-WKAUEL6I.js.map +1 -0
  227. package/dist/chunk-WPOLA5CG.js +81 -0
  228. package/dist/chunk-WPOLA5CG.js.map +1 -0
  229. package/dist/chunk-WPVETCGJ.js +254 -0
  230. package/dist/chunk-WPVETCGJ.js.map +1 -0
  231. package/dist/chunk-WTSM3A7E.js +13 -0
  232. package/dist/chunk-WTSM3A7E.js.map +1 -0
  233. package/dist/chunk-WU3F2K3T.js +148 -0
  234. package/dist/chunk-WU3F2K3T.js.map +1 -0
  235. package/dist/chunk-WZZK2DTZ.js +39 -0
  236. package/dist/chunk-WZZK2DTZ.js.map +1 -0
  237. package/dist/chunk-X4IHLKRD.js +42 -0
  238. package/dist/chunk-X4IHLKRD.js.map +1 -0
  239. package/dist/chunk-XAHEXZJC.js +80 -0
  240. package/dist/chunk-XAHEXZJC.js.map +1 -0
  241. package/dist/chunk-XCYGJDUX.js +31 -0
  242. package/dist/chunk-XCYGJDUX.js.map +1 -0
  243. package/dist/chunk-Y4W3JORC.js +104 -0
  244. package/dist/chunk-Y4W3JORC.js.map +1 -0
  245. package/dist/chunk-YFZJ3ZLG.js +1297 -0
  246. package/dist/chunk-YFZJ3ZLG.js.map +1 -0
  247. package/dist/chunk-YI3WLXEN.js +4387 -0
  248. package/dist/chunk-YI3WLXEN.js.map +1 -0
  249. package/dist/chunk-ZBKFSPD3.js +29 -0
  250. package/dist/chunk-ZBKFSPD3.js.map +1 -0
  251. package/dist/chunk-ZOERRQ6A.js +79 -0
  252. package/dist/chunk-ZOERRQ6A.js.map +1 -0
  253. package/dist/chunk-ZSTGUKHU.js +10 -0
  254. package/dist/chunk-ZSTGUKHU.js.map +1 -0
  255. package/dist/chunk-ZUEHDL27.js +65 -0
  256. package/dist/chunk-ZUEHDL27.js.map +1 -0
  257. package/dist/editors.d.ts +27 -3
  258. package/dist/editors.js +93 -2081
  259. package/dist/editors.js.map +1 -1
  260. package/dist/icons.d.ts +29 -8
  261. package/dist/icons.js +7 -361
  262. package/dist/icons.js.map +1 -1
  263. package/dist/index.d.ts +715 -441
  264. package/dist/index.js +121 -24643
  265. package/dist/index.js.map +1 -1
  266. package/dist/internal/blocks/AIKit.js +30 -0
  267. package/dist/internal/blocks/AIKit.js.map +1 -0
  268. package/dist/internal/blocks/AppShell.js +11 -0
  269. package/dist/internal/blocks/AppShell.js.map +1 -0
  270. package/dist/internal/blocks/AutoSaveTextarea.js +14 -0
  271. package/dist/internal/blocks/AutoSaveTextarea.js.map +1 -0
  272. package/dist/internal/blocks/BrandEditor.js +23 -0
  273. package/dist/internal/blocks/BrandEditor.js.map +1 -0
  274. package/dist/internal/blocks/ChartPanel.js +10 -0
  275. package/dist/internal/blocks/ChartPanel.js.map +1 -0
  276. package/dist/internal/blocks/ClipboardButton.js +12 -0
  277. package/dist/internal/blocks/ClipboardButton.js.map +1 -0
  278. package/dist/internal/blocks/ColorInput.js +13 -0
  279. package/dist/internal/blocks/ColorInput.js.map +1 -0
  280. package/dist/internal/blocks/ColorModeSwitch.js +13 -0
  281. package/dist/internal/blocks/ColorModeSwitch.js.map +1 -0
  282. package/dist/internal/blocks/Command.js +15 -0
  283. package/dist/internal/blocks/Command.js.map +1 -0
  284. package/dist/internal/blocks/CopyField.js +11 -0
  285. package/dist/internal/blocks/CopyField.js.map +1 -0
  286. package/dist/internal/blocks/DashboardHero.js +9 -0
  287. package/dist/internal/blocks/DashboardHero.js.map +1 -0
  288. package/dist/internal/blocks/DateInput.js +16 -0
  289. package/dist/internal/blocks/DateInput.js.map +1 -0
  290. package/dist/internal/blocks/DateRangeInput.js +16 -0
  291. package/dist/internal/blocks/DateRangeInput.js.map +1 -0
  292. package/dist/internal/blocks/EmptyConfigurationActionCard.js +10 -0
  293. package/dist/internal/blocks/EmptyConfigurationActionCard.js.map +1 -0
  294. package/dist/internal/blocks/EmptyState.js +4 -0
  295. package/dist/internal/blocks/EmptyState.js.map +1 -0
  296. package/dist/internal/blocks/ErrorState.js +5 -0
  297. package/dist/internal/blocks/ErrorState.js.map +1 -0
  298. package/dist/internal/blocks/ExportMenu.js +13 -0
  299. package/dist/internal/blocks/ExportMenu.js.map +1 -0
  300. package/dist/internal/blocks/Form.js +29 -0
  301. package/dist/internal/blocks/Form.js.map +1 -0
  302. package/dist/internal/blocks/FormGroup.js +18 -0
  303. package/dist/internal/blocks/FormGroup.js.map +1 -0
  304. package/dist/internal/blocks/GoogleButton.js +10 -0
  305. package/dist/internal/blocks/GoogleButton.js.map +1 -0
  306. package/dist/internal/blocks/MicrosoftButton.js +10 -0
  307. package/dist/internal/blocks/MicrosoftButton.js.map +1 -0
  308. package/dist/internal/blocks/MultiActionButtonGroup.js +12 -0
  309. package/dist/internal/blocks/MultiActionButtonGroup.js.map +1 -0
  310. package/dist/internal/blocks/MultiCombobox.js +14 -0
  311. package/dist/internal/blocks/MultiCombobox.js.map +1 -0
  312. package/dist/internal/blocks/NumberInput.js +12 -0
  313. package/dist/internal/blocks/NumberInput.js.map +1 -0
  314. package/dist/internal/blocks/OtpInput.js +10 -0
  315. package/dist/internal/blocks/OtpInput.js.map +1 -0
  316. package/dist/internal/blocks/PageHeader.js +9 -0
  317. package/dist/internal/blocks/PageHeader.js.map +1 -0
  318. package/dist/internal/blocks/PageLayout.js +9 -0
  319. package/dist/internal/blocks/PageLayout.js.map +1 -0
  320. package/dist/internal/blocks/PageToolbar.js +13 -0
  321. package/dist/internal/blocks/PageToolbar.js.map +1 -0
  322. package/dist/internal/blocks/PasswordInput.js +13 -0
  323. package/dist/internal/blocks/PasswordInput.js.map +1 -0
  324. package/dist/internal/blocks/SearchInput.js +12 -0
  325. package/dist/internal/blocks/SearchInput.js.map +1 -0
  326. package/dist/internal/blocks/SearchInputWithNavigation.js +16 -0
  327. package/dist/internal/blocks/SearchInputWithNavigation.js.map +1 -0
  328. package/dist/internal/blocks/SectionNav.js +15 -0
  329. package/dist/internal/blocks/SectionNav.js.map +1 -0
  330. package/dist/internal/blocks/SplitButton.js +14 -0
  331. package/dist/internal/blocks/SplitButton.js.map +1 -0
  332. package/dist/internal/blocks/StatCard.js +10 -0
  333. package/dist/internal/blocks/StatCard.js.map +1 -0
  334. package/dist/internal/blocks/TextInput.js +13 -0
  335. package/dist/internal/blocks/TextInput.js.map +1 -0
  336. package/dist/internal/blocks/Textarea.js +13 -0
  337. package/dist/internal/blocks/Textarea.js.map +1 -0
  338. package/dist/internal/blocks/TimeInput.js +17 -0
  339. package/dist/internal/blocks/TimeInput.js.map +1 -0
  340. package/dist/internal/components/Alert.js +11 -0
  341. package/dist/internal/components/Alert.js.map +1 -0
  342. package/dist/internal/components/AlertModal.js +11 -0
  343. package/dist/internal/components/AlertModal.js.map +1 -0
  344. package/dist/internal/components/Avatar.js +9 -0
  345. package/dist/internal/components/Avatar.js.map +1 -0
  346. package/dist/internal/components/Badge.js +9 -0
  347. package/dist/internal/components/Badge.js.map +1 -0
  348. package/dist/internal/components/BrandLogo.js +11 -0
  349. package/dist/internal/components/BrandLogo.js.map +1 -0
  350. package/dist/internal/components/Breadcrumb.js +14 -0
  351. package/dist/internal/components/Breadcrumb.js.map +1 -0
  352. package/dist/internal/components/Button.js +10 -0
  353. package/dist/internal/components/Button.js.map +1 -0
  354. package/dist/internal/components/ButtonGroup.js +9 -0
  355. package/dist/internal/components/ButtonGroup.js.map +1 -0
  356. package/dist/internal/components/Calendar.js +9 -0
  357. package/dist/internal/components/Calendar.js.map +1 -0
  358. package/dist/internal/components/Card.js +9 -0
  359. package/dist/internal/components/Card.js.map +1 -0
  360. package/dist/internal/components/Checkbox.js +11 -0
  361. package/dist/internal/components/Checkbox.js.map +1 -0
  362. package/dist/internal/components/Clipboard.js +9 -0
  363. package/dist/internal/components/Clipboard.js.map +1 -0
  364. package/dist/internal/components/Collapsible.js +9 -0
  365. package/dist/internal/components/Collapsible.js.map +1 -0
  366. package/dist/internal/components/CollapsiblePanel.js +11 -0
  367. package/dist/internal/components/CollapsiblePanel.js.map +1 -0
  368. package/dist/internal/components/Combobox.js +13 -0
  369. package/dist/internal/components/Combobox.js.map +1 -0
  370. package/dist/internal/components/DatePicker.js +11 -0
  371. package/dist/internal/components/DatePicker.js.map +1 -0
  372. package/dist/internal/components/DateRangePicker.js +17 -0
  373. package/dist/internal/components/DateRangePicker.js.map +1 -0
  374. package/dist/internal/components/DiffView.js +9 -0
  375. package/dist/internal/components/DiffView.js.map +1 -0
  376. package/dist/internal/components/DotsLoader.js +5 -0
  377. package/dist/internal/components/DotsLoader.js.map +1 -0
  378. package/dist/internal/components/DropdownMenu.js +11 -0
  379. package/dist/internal/components/DropdownMenu.js.map +1 -0
  380. package/dist/internal/components/EmptySearchContent.js +4 -0
  381. package/dist/internal/components/EmptySearchContent.js.map +1 -0
  382. package/dist/internal/components/FileUpload.js +11 -0
  383. package/dist/internal/components/FileUpload.js.map +1 -0
  384. package/dist/internal/components/FullScreenModal.js +12 -0
  385. package/dist/internal/components/FullScreenModal.js.map +1 -0
  386. package/dist/internal/components/HelpBlock.js +4 -0
  387. package/dist/internal/components/HelpBlock.js.map +1 -0
  388. package/dist/internal/components/HoverCard.js +9 -0
  389. package/dist/internal/components/HoverCard.js.map +1 -0
  390. package/dist/internal/components/InputGroup.js +11 -0
  391. package/dist/internal/components/InputGroup.js.map +1 -0
  392. package/dist/internal/components/Kbd.js +9 -0
  393. package/dist/internal/components/Kbd.js.map +1 -0
  394. package/dist/internal/components/Label.js +9 -0
  395. package/dist/internal/components/Label.js.map +1 -0
  396. package/dist/internal/components/Link.js +9 -0
  397. package/dist/internal/components/Link.js.map +1 -0
  398. package/dist/internal/components/MarkedText.js +5 -0
  399. package/dist/internal/components/MarkedText.js.map +1 -0
  400. package/dist/internal/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.js +10 -0
  401. package/dist/internal/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.js.map +1 -0
  402. package/dist/internal/components/MergeEditor/PaneHeader.js +4 -0
  403. package/dist/internal/components/MergeEditor/PaneHeader.js.map +1 -0
  404. package/dist/internal/components/MergeEditor/constants.js +4 -0
  405. package/dist/internal/components/MergeEditor/constants.js.map +1 -0
  406. package/dist/internal/components/MergeEditor/useMergeDiff.js +5 -0
  407. package/dist/internal/components/MergeEditor/useMergeDiff.js.map +1 -0
  408. package/dist/internal/components/Modal.js +13 -0
  409. package/dist/internal/components/Modal.js.map +1 -0
  410. package/dist/internal/components/Navbar.js +14 -0
  411. package/dist/internal/components/Navbar.js.map +1 -0
  412. package/dist/internal/components/Pagination.js +11 -0
  413. package/dist/internal/components/Pagination.js.map +1 -0
  414. package/dist/internal/components/PanelWithDetails.js +11 -0
  415. package/dist/internal/components/PanelWithDetails.js.map +1 -0
  416. package/dist/internal/components/Popconfirm.js +12 -0
  417. package/dist/internal/components/Popconfirm.js.map +1 -0
  418. package/dist/internal/components/Popover.js +9 -0
  419. package/dist/internal/components/Popover.js.map +1 -0
  420. package/dist/internal/components/Progress.js +9 -0
  421. package/dist/internal/components/Progress.js.map +1 -0
  422. package/dist/internal/components/RadioGroup.js +12 -0
  423. package/dist/internal/components/RadioGroup.js.map +1 -0
  424. package/dist/internal/components/Resizable.js +9 -0
  425. package/dist/internal/components/Resizable.js.map +1 -0
  426. package/dist/internal/components/ScrollArea.js +9 -0
  427. package/dist/internal/components/ScrollArea.js.map +1 -0
  428. package/dist/internal/components/Search.js +10 -0
  429. package/dist/internal/components/Search.js.map +1 -0
  430. package/dist/internal/components/Select.js +12 -0
  431. package/dist/internal/components/Select.js.map +1 -0
  432. package/dist/internal/components/Separator.js +9 -0
  433. package/dist/internal/components/Separator.js.map +1 -0
  434. package/dist/internal/components/Sheet.js +12 -0
  435. package/dist/internal/components/Sheet.js.map +1 -0
  436. package/dist/internal/components/Sidebar.js +20 -0
  437. package/dist/internal/components/Sidebar.js.map +1 -0
  438. package/dist/internal/components/Skeleton/Skeleton.js +9 -0
  439. package/dist/internal/components/Skeleton/Skeleton.js.map +1 -0
  440. package/dist/internal/components/Skeleton/SkeletonList.js +10 -0
  441. package/dist/internal/components/Skeleton/SkeletonList.js.map +1 -0
  442. package/dist/internal/components/Slider.js +11 -0
  443. package/dist/internal/components/Slider.js.map +1 -0
  444. package/dist/internal/components/SpotlightBackdrop.js +9 -0
  445. package/dist/internal/components/SpotlightBackdrop.js.map +1 -0
  446. package/dist/internal/components/Stepper.js +10 -0
  447. package/dist/internal/components/Stepper.js.map +1 -0
  448. package/dist/internal/components/Switch.js +10 -0
  449. package/dist/internal/components/Switch.js.map +1 -0
  450. package/dist/internal/components/Table.js +10 -0
  451. package/dist/internal/components/Table.js.map +1 -0
  452. package/dist/internal/components/Tabs.js +12 -0
  453. package/dist/internal/components/Tabs.js.map +1 -0
  454. package/dist/internal/components/ThemeProvider.js +10 -0
  455. package/dist/internal/components/ThemeProvider.js.map +1 -0
  456. package/dist/internal/components/TimePicker.js +12 -0
  457. package/dist/internal/components/TimePicker.js.map +1 -0
  458. package/dist/internal/components/Timeline.js +10 -0
  459. package/dist/internal/components/Timeline.js.map +1 -0
  460. package/dist/internal/components/Toast.js +11 -0
  461. package/dist/internal/components/Toast.js.map +1 -0
  462. package/dist/internal/components/Toggle.js +9 -0
  463. package/dist/internal/components/Toggle.js.map +1 -0
  464. package/dist/internal/components/ToggleGroup.js +9 -0
  465. package/dist/internal/components/ToggleGroup.js.map +1 -0
  466. package/dist/internal/components/Tooltip.js +8 -0
  467. package/dist/internal/components/Tooltip.js.map +1 -0
  468. package/dist/internal/components/Truncated.js +9 -0
  469. package/dist/internal/components/Truncated.js.map +1 -0
  470. package/dist/internal/components/Workbench.js +11 -0
  471. package/dist/internal/components/Workbench.js.map +1 -0
  472. package/dist/internal/components/ZoomableSvg.js +13 -0
  473. package/dist/internal/components/ZoomableSvg.js.map +1 -0
  474. package/dist/internal/hooks/useAutosizeInput.js +4 -0
  475. package/dist/internal/hooks/useAutosizeInput.js.map +1 -0
  476. package/dist/internal/hooks/useScrollbarPosition.js +5 -0
  477. package/dist/internal/hooks/useScrollbarPosition.js.map +1 -0
  478. package/dist/internal/hooks/useStableCallback.js +4 -0
  479. package/dist/internal/hooks/useStableCallback.js.map +1 -0
  480. package/dist/internal/utils/mergeRefs.js +4 -0
  481. package/dist/internal/utils/mergeRefs.js.map +1 -0
  482. package/dist/internal/utils.js +8 -0
  483. package/dist/internal/utils.js.map +1 -0
  484. package/dist/markdown-editor.js +55 -3426
  485. package/dist/markdown-editor.js.map +1 -1
  486. package/dist/mermaid.js +16 -1129
  487. package/dist/mermaid.js.map +1 -1
  488. package/dist/rjsf.js +252 -9380
  489. package/dist/rjsf.js.map +1 -1
  490. package/dist/styles.css +1 -1
  491. package/dist/testing.js +10 -357
  492. package/dist/testing.js.map +1 -1
  493. package/package.json +31 -75
  494. package/src/styles.css +95 -10
  495. package/src/theme.css +65 -0
  496. package/dist/charts.cjs +0 -268
  497. package/dist/charts.cjs.map +0 -1
  498. package/dist/charts.d.cts +0 -181
  499. package/dist/constants-D3gaMY-W.d.cts +0 -39
  500. package/dist/editors.cjs +0 -2440
  501. package/dist/editors.cjs.map +0 -1
  502. package/dist/editors.d.cts +0 -165
  503. package/dist/icons.cjs +0 -23888
  504. package/dist/icons.cjs.map +0 -1
  505. package/dist/icons.d.cts +0 -20
  506. package/dist/index.cjs +0 -24894
  507. package/dist/index.cjs.map +0 -1
  508. package/dist/index.d.cts +0 -10438
  509. package/dist/markdown-editor.cjs +0 -4636
  510. package/dist/markdown-editor.cjs.map +0 -1
  511. package/dist/markdown-editor.d.cts +0 -75
  512. package/dist/mermaid.cjs +0 -1138
  513. package/dist/mermaid.cjs.map +0 -1
  514. package/dist/mermaid.d.cts +0 -15
  515. package/dist/rjsf.cjs +0 -10893
  516. package/dist/rjsf.cjs.map +0 -1
  517. package/dist/rjsf.d.cts +0 -55
  518. package/dist/testing.cjs +0 -373
  519. package/dist/testing.cjs.map +0 -1
  520. package/dist/testing.d.cts +0 -25
@@ -0,0 +1,224 @@
1
+ import { cn } from './chunk-LXLIQ2D6.js';
2
+ import { cva } from 'class-variance-authority';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+ import { Slot } from '@radix-ui/react-slot';
5
+
6
+ var addonVariants = cva(
7
+ [
8
+ "tw:flex",
9
+ "tw:items-center",
10
+ "tw:shrink-0",
11
+ "tw:bg-inherit",
12
+ "tw:self-stretch",
13
+ "tw:px-1",
14
+ "tw:has-[button]:px-0",
15
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-3'
16
+ ],
17
+ {
18
+ defaultVariants: {
19
+ align: "inline-end",
20
+ variant: "inline"
21
+ },
22
+ variants: {
23
+ align: {
24
+ "inline-start": ["tw:order-first"],
25
+ "inline-end": ["tw:order-last"]
26
+ },
27
+ variant: {
28
+ inline: [],
29
+ floating: [
30
+ "tw:hidden",
31
+ "tw:group-hover/badge:flex",
32
+ "tw:absolute",
33
+ "tw:top-0",
34
+ "tw:bottom-0",
35
+ "tw:focus-within:flex"
36
+ ]
37
+ }
38
+ },
39
+ compoundVariants: [
40
+ { variant: "floating", align: "inline-end", className: ["tw:right-0"] },
41
+ { variant: "floating", align: "inline-start", className: ["tw:left-0"] }
42
+ ]
43
+ }
44
+ );
45
+ var BadgeAddon = ({
46
+ ref,
47
+ align = "inline-end",
48
+ variant = "inline",
49
+ className,
50
+ ...rest
51
+ }) => /* @__PURE__ */ jsx(
52
+ "div",
53
+ {
54
+ ...rest,
55
+ ref,
56
+ "data-align": align,
57
+ "data-variant": variant,
58
+ className: cn(addonVariants({ align, variant, className }))
59
+ }
60
+ );
61
+ var BadgeButton = ({ ref, className, type = "button", children, ...rest }) => /* @__PURE__ */ jsx(
62
+ "button",
63
+ {
64
+ ...rest,
65
+ ref,
66
+ type,
67
+ className: cn(
68
+ "tailwindcss-preflight",
69
+ "tw:inline-flex",
70
+ "tw:items-center",
71
+ "tw:justify-center",
72
+ "tw:cursor-pointer",
73
+ "tw:bg-inherit",
74
+ "tw:text-inherit",
75
+ "tw:hover:brightness-95",
76
+ "tw:px-1",
77
+ // Default sizing for Lucide-icon children (which ship at 24×24); keeps
78
+ // the visual baseline aligned with the previous FA-icon API and other
79
+ // icon-wrapper components (ItemIcon, SidebarMenuIcon).
80
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-3',
81
+ className
82
+ ),
83
+ children
84
+ }
85
+ );
86
+ var BadgeLabel = ({ ref, className, asChild = false, ...rest }) => {
87
+ const Comp = asChild ? Slot : "span";
88
+ return /* @__PURE__ */ jsx(
89
+ Comp,
90
+ {
91
+ ...rest,
92
+ ref,
93
+ "data-slot": "badge-label",
94
+ className: cn(
95
+ "tw:max-w-56",
96
+ "tw:truncate",
97
+ "tw:px-2",
98
+ "tw:py-0.5",
99
+ // Drop side padding only when an *inline* addon is present —
100
+ // floating addons overlay the label without taking layout space,
101
+ // so the label still needs full padding behind them.
102
+ "tw:group-has-[[data-align=inline-start][data-variant=inline]:not(:empty)]/badge:pl-0",
103
+ "tw:group-has-[[data-align=inline-end][data-variant=inline]:not(:empty)]/badge:pr-0",
104
+ className
105
+ )
106
+ }
107
+ );
108
+ };
109
+ var badgeColors = {
110
+ gray: "tw:bg-neutral-400 tw:text-white tw:decoration-neutral-400",
111
+ "gray-darker": "tw:bg-neutral-500 tw:text-white tw:decoration-neutral-500",
112
+ "gray-inverse": "tw:bg-neutral-100 tw:text-neutral-500 tw:decoration-neutral-100 tw:[[data-theme=dark]_&]:bg-neutral-700 tw:[[data-theme=dark]_&]:text-neutral-300 tw:[[data-theme=dark]_&]:decoration-neutral-700",
113
+ green: "tw:bg-green-500 tw:text-white tw:decoration-green-500",
114
+ "green-darker": "tw:bg-green-600 tw:text-white tw:decoration-green-600",
115
+ "green-inverse": "tw:bg-green-100 tw:text-green-900 tw:decoration-green-100 tw:[[data-theme=dark]_&]:bg-green-900 tw:[[data-theme=dark]_&]:text-green-200 tw:[[data-theme=dark]_&]:decoration-green-900",
116
+ blue: "tw:bg-blue-500 tw:text-white tw:decoration-blue-500",
117
+ "blue-inverse": "tw:bg-blue-100 tw:text-blue-800 tw:decoration-blue-100 tw:[[data-theme=dark]_&]:bg-blue-900 tw:[[data-theme=dark]_&]:text-blue-200 tw:[[data-theme=dark]_&]:decoration-blue-900",
118
+ red: "tw:bg-error-500 tw:text-white tw:decoration-error-500",
119
+ orange: "tw:bg-warning-500 tw:text-white tw:decoration-warning-500",
120
+ "orange-inverse": "tw:bg-warning-100 tw:text-warning-800 tw:decoration-warning-100 tw:[[data-theme=dark]_&]:bg-warning-900 tw:[[data-theme=dark]_&]:text-warning-200 tw:[[data-theme=dark]_&]:decoration-warning-900",
121
+ amber: "tw:bg-warning-300 tw:text-warning-800 tw:decoration-warning-300",
122
+ // One rung deeper than `orange-inverse` on both ends of the ramp, which is what
123
+ // keeps caution and warning telling apart — the two share the `warning` hue.
124
+ "amber-inverse": "tw:bg-warning-200 tw:text-warning-800 tw:decoration-warning-200 tw:[[data-theme=dark]_&]:bg-warning-800 tw:[[data-theme=dark]_&]:text-warning-200 tw:[[data-theme=dark]_&]:decoration-warning-800",
125
+ teal: "tw:bg-teal-500 tw:text-white tw:decoration-teal-500",
126
+ "teal-inverse": "tw:bg-teal-100 tw:text-teal-800 tw:decoration-teal-100 tw:[[data-theme=dark]_&]:bg-teal-900 tw:[[data-theme=dark]_&]:text-teal-200 tw:[[data-theme=dark]_&]:decoration-teal-900",
127
+ purple: "tw:bg-purple-500 tw:text-white tw:decoration-purple-500",
128
+ "purple-inverse": "tw:bg-purple-100 tw:text-purple-800 tw:decoration-purple-100 tw:[[data-theme=dark]_&]:bg-purple-900 tw:[[data-theme=dark]_&]:text-purple-200 tw:[[data-theme=dark]_&]:decoration-purple-900",
129
+ cyan: "tw:bg-cyan-500 tw:text-white tw:decoration-cyan-500",
130
+ "cyan-inverse": "tw:bg-cyan-100 tw:text-cyan-800 tw:decoration-cyan-100 tw:[[data-theme=dark]_&]:bg-cyan-900 tw:[[data-theme=dark]_&]:text-cyan-200 tw:[[data-theme=dark]_&]:decoration-cyan-900",
131
+ "sidebar-primary": "tw:bg-sidebar-primary tw:text-white tw:decoration-sidebar-primary",
132
+ white: "tw:bg-white/90 tw:text-neutral-600 tw:decoration-white/90"
133
+ };
134
+ var badgeRootVariants = cva(
135
+ [
136
+ "tailwindcss-preflight",
137
+ "tw:group/badge",
138
+ // display
139
+ "tw:relative",
140
+ "tw:inline-flex",
141
+ "tw:justify-center",
142
+ "tw:items-center",
143
+ "tw:min-h-5",
144
+ "tw:h-fit",
145
+ "tw:shrink-0",
146
+ "tw:overflow-hidden",
147
+ // text — chrome weight/tracking are brand-overridable tokens
148
+ // (`--font-weight-medium` / `--letter-spacing-chrome`); casing lives on the
149
+ // `default` variant below via `tw:uppercase`.
150
+ "tw:whitespace-pre-wrap",
151
+ "tw:break-normal",
152
+ "tw:text-xs",
153
+ "tw:font-medium",
154
+ "tw:tracking-chrome",
155
+ "tw:text-center",
156
+ "tw:underline",
157
+ // content
158
+ "tw:border-none",
159
+ "tw:[&>svg]:self-center",
160
+ "tw:[button&]:cursor-pointer",
161
+ // focus
162
+ "tw:focus-visible:outline-hidden",
163
+ "tw:focus-visible:ring-2",
164
+ "tw:focus-visible:ring-inset",
165
+ "tw:focus-visible:ring-ring"
166
+ ],
167
+ {
168
+ defaultVariants: {
169
+ color: "gray",
170
+ variant: "default"
171
+ },
172
+ variants: {
173
+ variant: {
174
+ // Legacy chrome uppercases the default badge; the Keboola V2 brand
175
+ // (`data-brand="keboola"`) renders it in standard case instead.
176
+ default: [
177
+ "tw:rounded tw:uppercase",
178
+ "tw:[[data-brand=keboola]_&]:normal-case tw:[[data-brand=keboola]_&]:tracking-normal"
179
+ ],
180
+ tag: ["tw:rounded tw:normal-case"],
181
+ pill: ["tw:min-w-5 tw:rounded-full tw:normal-case tw:tracking-normal"]
182
+ },
183
+ color: badgeColors
184
+ }
185
+ }
186
+ );
187
+ var BadgeRoot = ({ ref, variant, color, className, children, ...rest }) => /* @__PURE__ */ jsx(
188
+ "div",
189
+ {
190
+ ...rest,
191
+ ref,
192
+ "data-slot": "badge",
193
+ className: cn(badgeRootVariants({ variant, color, className })),
194
+ children
195
+ }
196
+ );
197
+ var BadgeInner = ({
198
+ ref,
199
+ // root props
200
+ variant,
201
+ color,
202
+ // custom props
203
+ prefix,
204
+ prefixVariant = "inline",
205
+ suffix,
206
+ suffixVariant = "inline",
207
+ className,
208
+ labelClassName,
209
+ ...labelProps
210
+ }) => /* @__PURE__ */ jsxs(BadgeRoot, { className, variant, color, children: [
211
+ prefix && /* @__PURE__ */ jsx(BadgeAddon, { align: "inline-start", variant: prefixVariant, children: prefix }),
212
+ /* @__PURE__ */ jsx(BadgeLabel, { ...labelProps, ref, className: labelClassName }),
213
+ suffix && /* @__PURE__ */ jsx(BadgeAddon, { align: "inline-end", variant: suffixVariant, children: suffix })
214
+ ] });
215
+ var Badge = Object.assign(BadgeInner, {
216
+ Root: BadgeRoot,
217
+ Button: BadgeButton,
218
+ Label: BadgeLabel,
219
+ Addon: BadgeAddon
220
+ });
221
+
222
+ export { Badge };
223
+ //# sourceMappingURL=chunk-SBGAUGXY.js.map
224
+ //# sourceMappingURL=chunk-SBGAUGXY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Badge/BadgeAddon.tsx","../src/components/Badge/BadgeButton.tsx","../src/components/Badge/BadgeLabel.tsx","../src/components/Badge/styles.ts","../src/components/Badge/BadgeRoot.tsx","../src/components/Badge/Badge.tsx"],"names":["jsx","cva"],"mappings":"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","file":"chunk-SBGAUGXY.js","sourcesContent":["import type { ComponentProps } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../utils';\n\nconst addonVariants = cva(\n [\n 'tw:flex',\n 'tw:items-center',\n 'tw:shrink-0',\n 'tw:bg-inherit',\n 'tw:self-stretch',\n 'tw:px-1',\n 'tw:has-[button]:px-0',\n 'tw:[&_svg:not([class*=\"tw:size-\"])]:size-3',\n ],\n {\n defaultVariants: {\n align: 'inline-end',\n variant: 'inline',\n },\n variants: {\n align: {\n 'inline-start': ['tw:order-first'],\n 'inline-end': ['tw:order-last'],\n },\n variant: {\n inline: [],\n floating: [\n 'tw:hidden',\n 'tw:group-hover/badge:flex',\n\n 'tw:absolute',\n 'tw:top-0',\n 'tw:bottom-0',\n 'tw:focus-within:flex',\n ],\n },\n },\n compoundVariants: [\n { variant: 'floating', align: 'inline-end', className: ['tw:right-0'] },\n { variant: 'floating', align: 'inline-start', className: ['tw:left-0'] },\n ],\n },\n);\n\ntype Props = ComponentProps<'div'> & VariantProps<typeof addonVariants>;\n\nexport const BadgeAddon = ({\n ref,\n align = 'inline-end',\n variant = 'inline',\n className,\n ...rest\n}: Props) => (\n <div\n {...rest}\n ref={ref}\n data-align={align}\n data-variant={variant}\n className={cn(addonVariants({ align, variant, className }))}\n />\n);\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '../../utils';\n\ntype Props = ComponentProps<'button'>;\n\nexport const BadgeButton = ({ ref, className, type = 'button', children, ...rest }: Props) => (\n <button\n {...rest}\n ref={ref}\n type={type}\n className={cn(\n 'tailwindcss-preflight',\n\n 'tw:inline-flex',\n 'tw:items-center',\n 'tw:justify-center',\n 'tw:cursor-pointer',\n\n 'tw:bg-inherit',\n 'tw:text-inherit',\n\n 'tw:hover:brightness-95',\n 'tw:px-1',\n // Default sizing for Lucide-icon children (which ship at 24×24); keeps\n // the visual baseline aligned with the previous FA-icon API and other\n // icon-wrapper components (ItemIcon, SidebarMenuIcon).\n 'tw:[&_svg:not([class*=\"tw:size-\"])]:size-3',\n className,\n )}\n >\n {children}\n </button>\n);\n","import type { ComponentProps } from 'react';\nimport { Slot } from '@radix-ui/react-slot';\n\nimport { cn } from '../../utils';\n\ntype Props = ComponentProps<'span'> & {\n asChild?: boolean;\n};\n\nexport const BadgeLabel = ({ ref, className, asChild = false, ...rest }: Props) => {\n const Comp = asChild ? Slot : 'span';\n return (\n <Comp\n {...rest}\n ref={ref}\n data-slot=\"badge-label\"\n className={cn(\n 'tw:max-w-56',\n 'tw:truncate',\n 'tw:px-2',\n 'tw:py-0.5',\n\n // Drop side padding only when an *inline* addon is present —\n // floating addons overlay the label without taking layout space,\n // so the label still needs full padding behind them.\n 'tw:group-has-[[data-align=inline-start][data-variant=inline]:not(:empty)]/badge:pl-0',\n 'tw:group-has-[[data-align=inline-end][data-variant=inline]:not(:empty)]/badge:pr-0',\n className,\n )}\n />\n );\n};\n","import { cva } from 'class-variance-authority';\n\n/**\n * Badge's `color` variants: a fill class, a foreground class, and a matching\n * `decoration-*` so an underlined badge underlines in its own fill colour.\n *\n * - Tinted (`-inverse`) variants each carry a `[data-theme=dark]` override, so the\n * chip inverts with the page instead of staying a light slab on a dark surface.\n * - Solid fills are fixed across schemes.\n * - Exported for `scripts/contrast-audit.ts` and the contrast story tests, which\n * measure each pairing rather than restating this map.\n */\nexport const badgeColors = {\n gray: 'tw:bg-neutral-400 tw:text-white tw:decoration-neutral-400',\n 'gray-darker': 'tw:bg-neutral-500 tw:text-white tw:decoration-neutral-500',\n 'gray-inverse':\n 'tw:bg-neutral-100 tw:text-neutral-500 tw:decoration-neutral-100 tw:[[data-theme=dark]_&]:bg-neutral-700 tw:[[data-theme=dark]_&]:text-neutral-300 tw:[[data-theme=dark]_&]:decoration-neutral-700',\n green: 'tw:bg-green-500 tw:text-white tw:decoration-green-500',\n 'green-darker': 'tw:bg-green-600 tw:text-white tw:decoration-green-600',\n 'green-inverse':\n 'tw:bg-green-100 tw:text-green-900 tw:decoration-green-100 tw:[[data-theme=dark]_&]:bg-green-900 tw:[[data-theme=dark]_&]:text-green-200 tw:[[data-theme=dark]_&]:decoration-green-900',\n blue: 'tw:bg-blue-500 tw:text-white tw:decoration-blue-500',\n 'blue-inverse':\n 'tw:bg-blue-100 tw:text-blue-800 tw:decoration-blue-100 tw:[[data-theme=dark]_&]:bg-blue-900 tw:[[data-theme=dark]_&]:text-blue-200 tw:[[data-theme=dark]_&]:decoration-blue-900',\n red: 'tw:bg-error-500 tw:text-white tw:decoration-error-500',\n orange: 'tw:bg-warning-500 tw:text-white tw:decoration-warning-500',\n 'orange-inverse':\n 'tw:bg-warning-100 tw:text-warning-800 tw:decoration-warning-100 tw:[[data-theme=dark]_&]:bg-warning-900 tw:[[data-theme=dark]_&]:text-warning-200 tw:[[data-theme=dark]_&]:decoration-warning-900',\n amber: 'tw:bg-warning-300 tw:text-warning-800 tw:decoration-warning-300',\n // One rung deeper than `orange-inverse` on both ends of the ramp, which is what\n // keeps caution and warning telling apart — the two share the `warning` hue.\n 'amber-inverse':\n 'tw:bg-warning-200 tw:text-warning-800 tw:decoration-warning-200 tw:[[data-theme=dark]_&]:bg-warning-800 tw:[[data-theme=dark]_&]:text-warning-200 tw:[[data-theme=dark]_&]:decoration-warning-800',\n teal: 'tw:bg-teal-500 tw:text-white tw:decoration-teal-500',\n 'teal-inverse':\n 'tw:bg-teal-100 tw:text-teal-800 tw:decoration-teal-100 tw:[[data-theme=dark]_&]:bg-teal-900 tw:[[data-theme=dark]_&]:text-teal-200 tw:[[data-theme=dark]_&]:decoration-teal-900',\n purple: 'tw:bg-purple-500 tw:text-white tw:decoration-purple-500',\n 'purple-inverse':\n 'tw:bg-purple-100 tw:text-purple-800 tw:decoration-purple-100 tw:[[data-theme=dark]_&]:bg-purple-900 tw:[[data-theme=dark]_&]:text-purple-200 tw:[[data-theme=dark]_&]:decoration-purple-900',\n cyan: 'tw:bg-cyan-500 tw:text-white tw:decoration-cyan-500',\n 'cyan-inverse':\n 'tw:bg-cyan-100 tw:text-cyan-800 tw:decoration-cyan-100 tw:[[data-theme=dark]_&]:bg-cyan-900 tw:[[data-theme=dark]_&]:text-cyan-200 tw:[[data-theme=dark]_&]:decoration-cyan-900',\n 'sidebar-primary': 'tw:bg-sidebar-primary tw:text-white tw:decoration-sidebar-primary',\n white: 'tw:bg-white/90 tw:text-neutral-600 tw:decoration-white/90',\n} as const;\n\n/** A `Badge` `color` value. */\nexport type BadgeColor = keyof typeof badgeColors;\n\n/**\n * Whether a variant paints text on its own tint rather than on a solid fill.\n *\n * - Tinted variants are the ones held to WCAG-AA per `AGENTS.md`; solid `-500`\n * fills are pinned across brands, so their contrast is recorded, not asserted.\n */\nexport const isTintedBadgeColor = (color: string): boolean => color.endsWith('-inverse');\n\nexport const badgeRootVariants = cva(\n [\n 'tailwindcss-preflight',\n 'tw:group/badge',\n\n // display\n 'tw:relative',\n 'tw:inline-flex',\n 'tw:justify-center',\n 'tw:items-center',\n 'tw:min-h-5',\n 'tw:h-fit',\n 'tw:shrink-0',\n 'tw:overflow-hidden',\n\n // text — chrome weight/tracking are brand-overridable tokens\n // (`--font-weight-medium` / `--letter-spacing-chrome`); casing lives on the\n // `default` variant below via `tw:uppercase`.\n 'tw:whitespace-pre-wrap',\n 'tw:break-normal',\n 'tw:text-xs',\n 'tw:font-medium',\n 'tw:tracking-chrome',\n 'tw:text-center',\n 'tw:underline',\n\n // content\n 'tw:border-none',\n 'tw:[&>svg]:self-center',\n 'tw:[button&]:cursor-pointer',\n\n // focus\n 'tw:focus-visible:outline-hidden',\n 'tw:focus-visible:ring-2',\n 'tw:focus-visible:ring-inset',\n 'tw:focus-visible:ring-ring',\n ],\n {\n defaultVariants: {\n color: 'gray',\n variant: 'default',\n },\n variants: {\n variant: {\n // Legacy chrome uppercases the default badge; the Keboola V2 brand\n // (`data-brand=\"keboola\"`) renders it in standard case instead.\n default: [\n 'tw:rounded tw:uppercase',\n 'tw:[[data-brand=keboola]_&]:normal-case tw:[[data-brand=keboola]_&]:tracking-normal',\n ],\n tag: ['tw:rounded tw:normal-case'],\n pill: ['tw:min-w-5 tw:rounded-full tw:normal-case tw:tracking-normal'],\n },\n color: badgeColors,\n },\n },\n);\n","import type { ComponentProps } from 'react';\nimport { type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../utils';\n\nimport { badgeRootVariants } from './styles';\n\ntype Props = ComponentProps<'div'> & VariantProps<typeof badgeRootVariants>;\n\nexport const BadgeRoot = ({ ref, variant, color, className, children, ...rest }: Props) => (\n <div\n {...rest}\n ref={ref}\n data-slot=\"badge\"\n className={cn(badgeRootVariants({ variant, color, className }))}\n >\n {children}\n </div>\n);\n","import type { ComponentProps, ReactNode } from 'react';\n\nimport { BadgeAddon } from './BadgeAddon';\nimport { BadgeButton } from './BadgeButton';\nimport { BadgeLabel } from './BadgeLabel';\nimport { BadgeRoot } from './BadgeRoot';\n\ntype AddonVariant = ComponentProps<typeof BadgeAddon>['variant'];\ntype BadgeRootProps = ComponentProps<typeof BadgeRoot>;\ntype BadgeLabelProps = ComponentProps<typeof BadgeLabel>;\n\n/**\n * Props for `Badge`. `color` is a categorical contract (`green` = success, `red` = error, `orange` = warning,\n * `amber` = caution, `purple/cyan/teal/blue/gray` for decorative tags) — colours stay fixed across brand themes.\n * Pass `prefix` / `suffix` for icon-style addons.\n */\ntype Props = Pick<BadgeRootProps, 'variant' | 'color'> &\n Omit<BadgeLabelProps, 'prefix'> & {\n prefix?: ReactNode;\n prefixVariant?: AddonVariant;\n suffix?: ReactNode;\n suffixVariant?: AddonVariant;\n labelClassName?: string;\n };\n\n/**\n * Compact status / category label rendered as an inline pill.\n *\n * **When to use:** encoding status (active, deprecated, beta), counts, or decorative tags next to a title\n * or in a table cell. The `color` prop is a semantic contract — `green` means success, `red` means error\n * etc., and colours are intentionally stable across customer brand themes.\n * **When NOT to use:** for an inline action use `Button` / `ButtonInline`; for a persistent contextual\n * banner use `Alert`; for a counter-only chip prefer `Badge` with just a numeric label.\n * **Composition:** drop into `PageHeader.Detail` `badges` slot, `Table.Cell`, or alongside titles in cards.\n * Use `Badge.Button` for an interactive (clickable) badge variant.\n */\nconst BadgeInner = ({\n ref,\n // root props\n variant,\n color,\n // custom props\n prefix,\n prefixVariant = 'inline',\n suffix,\n suffixVariant = 'inline',\n className,\n labelClassName,\n ...labelProps\n}: Props) => (\n <BadgeRoot className={className} variant={variant} color={color}>\n {prefix && (\n <BadgeAddon align=\"inline-start\" variant={prefixVariant}>\n {prefix}\n </BadgeAddon>\n )}\n <BadgeLabel {...labelProps} ref={ref} className={labelClassName} />\n {suffix && (\n <BadgeAddon align=\"inline-end\" variant={suffixVariant}>\n {suffix}\n </BadgeAddon>\n )}\n </BadgeRoot>\n);\n\nexport const Badge = Object.assign(BadgeInner, {\n Root: BadgeRoot,\n Button: BadgeButton,\n Label: BadgeLabel,\n Addon: BadgeAddon,\n});\n"]}
@@ -0,0 +1,407 @@
1
+ import { Button } from './chunk-IXAYNBOY.js';
2
+ import { useArgoDesign } from './chunk-WETKNYZX.js';
3
+ import { cn } from './chunk-LXLIQ2D6.js';
4
+ import { cva } from 'class-variance-authority';
5
+ import { jsx } from 'react/jsx-runtime';
6
+ import TextareaAutosize from 'react-textarea-autosize';
7
+
8
+ var addonVariants = cva(
9
+ [
10
+ "tw:flex",
11
+ "tw:items-center",
12
+ "tw:gap-1",
13
+ // Default size for nested Lucide icons in prefix/suffix slots; callers can override on the icon.
14
+ "tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
15
+ "tw:[&_svg]:shrink-0"
16
+ ],
17
+ {
18
+ defaultVariants: {
19
+ align: "inline-start"
20
+ },
21
+ variants: {
22
+ align: {
23
+ "inline-start": ["tw:order-first", "tw:[&:not(:empty)]:pl-4"],
24
+ "inline-end": ["tw:order-last", "tw:[&:not(:empty)]:pr-4"],
25
+ "block-start": [
26
+ "tw:order-first",
27
+ // `tw:w-full` needs to be empty-conditional too — when the addon
28
+ // has no content the root stays in flex-row, and a 100%-wide
29
+ // empty addon would claim half of the input row beside the input.
30
+ "tw:[&:not(:empty)]:w-full",
31
+ "tw:[&:not(:empty)]:px-4",
32
+ "tw:[&:not(:empty)]:py-1.5"
33
+ ],
34
+ "block-end": [
35
+ "tw:order-last",
36
+ "tw:[&:not(:empty)]:w-full",
37
+ "tw:[&:not(:empty)]:px-4",
38
+ "tw:[&:not(:empty)]:py-1.5"
39
+ ]
40
+ }
41
+ }
42
+ }
43
+ );
44
+ var InputGroupAddon = ({
45
+ children,
46
+ align = "inline-start",
47
+ className,
48
+ ...props
49
+ }) => /* @__PURE__ */ jsx("div", { ...props, "data-align": align, className: cn(addonVariants({ align, className })), children });
50
+ var InputGroupButton = ({ ref, className, tabIndex = -1, ...props }) => /* @__PURE__ */ jsx(
51
+ Button,
52
+ {
53
+ ...props,
54
+ tabIndex,
55
+ ref,
56
+ variant: "invisible",
57
+ size: "icon-sm",
58
+ className: cn("tw:size-5", "tw:[&_svg]:text-muted-foreground", className)
59
+ }
60
+ );
61
+ var InputGroupInput = ({ ref, className, ...inputProps }) => /* @__PURE__ */ jsx(
62
+ "input",
63
+ {
64
+ ...inputProps,
65
+ ref,
66
+ className: cn(
67
+ "tw:w-full",
68
+ "tw:bg-transparent",
69
+ "tw:outline-hidden",
70
+ // font
71
+ "tw:font-sans",
72
+ "tw:text-sm",
73
+ // placeholder
74
+ "tw:placeholder:text-neutral-400",
75
+ "tw:placeholder:font-normal",
76
+ // disabled
77
+ "tw:disabled:cursor-not-allowed",
78
+ className
79
+ )
80
+ }
81
+ );
82
+ var InputGroupText = ({ className, ...props }) => /* @__PURE__ */ jsx(
83
+ "span",
84
+ {
85
+ className: cn(
86
+ "tw:flex",
87
+ "tw:items-center",
88
+ "tw:gap-2",
89
+ "tw:text-sm",
90
+ "tw:text-muted-foreground",
91
+ "tw:[&_svg]:pointer-events-none",
92
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4',
93
+ className
94
+ ),
95
+ ...props
96
+ }
97
+ );
98
+ var InputGroupTextArea = ({
99
+ ref,
100
+ className,
101
+ onChange,
102
+ onValueChange,
103
+ value,
104
+ defaultValue,
105
+ onBlur,
106
+ onValueBlur,
107
+ disableResize = false,
108
+ minRows = 1,
109
+ maxRows = 4,
110
+ ...props
111
+ }) => {
112
+ const handleChange = (event) => {
113
+ onValueChange?.(event.target.value);
114
+ onChange?.(event);
115
+ };
116
+ const handleBlur = (event) => {
117
+ onValueBlur?.(event.target.value);
118
+ onBlur?.(event);
119
+ };
120
+ return /* @__PURE__ */ jsx(
121
+ TextareaAutosize,
122
+ {
123
+ ...props,
124
+ ref,
125
+ value: value ?? void 0,
126
+ defaultValue: defaultValue ?? void 0,
127
+ onChange: handleChange,
128
+ onBlur: handleBlur,
129
+ minRows,
130
+ maxRows: maxRows === "unlimited" ? void 0 : maxRows,
131
+ className: cn(
132
+ "tw:w-full",
133
+ "tw:bg-transparent",
134
+ "tw:outline-hidden",
135
+ "tw:px-4",
136
+ // font
137
+ "tw:font-sans",
138
+ "tw:text-sm",
139
+ // placeholder
140
+ "tw:placeholder:text-neutral-400",
141
+ "tw:placeholder:font-normal",
142
+ // disabled
143
+ "tw:disabled:cursor-not-allowed",
144
+ {
145
+ "tw:resize-none": disableResize
146
+ },
147
+ className
148
+ )
149
+ }
150
+ );
151
+ };
152
+ var inputGroupVariants = cva(
153
+ [
154
+ "tailwindcss-preflight",
155
+ "tw:group",
156
+ "tw:overflow-hidden",
157
+ "tw:box-border",
158
+ // positioning
159
+ "tw:flex",
160
+ "tw:items-center",
161
+ // base — legacy (non-argo) chrome uses a fixed radius; argo overrides it with
162
+ // the brand radius token in the `argo` variant below.
163
+ "tw:rounded",
164
+ "tw:border",
165
+ "tw:border-solid",
166
+ // `border-input` rather than the fixed `neutral-200` — same light-scheme
167
+ // grey, but it follows the dark scheme too. The base text stays pinned:
168
+ // `secondary` and the readonly state below both fill with a fixed light
169
+ // grey, so a scheme-following text colour would go light-on-light there.
170
+ // `primary` opts into the token itself (and re-pins its readonly fill).
171
+ "tw:border-input",
172
+ "tw:text-neutral-800",
173
+ "tw:transition",
174
+ // focus
175
+ "tw:has-[:is(input,textarea):focus]:ring-4",
176
+ // readonly
177
+ "tw:has-[:is(input,textarea)[readonly]]:bg-neutral-150",
178
+ "tw:has-[:is(input,textarea)[readonly]]:focus-within:ring-0",
179
+ "tw:has-[:is(input,textarea)[readonly]]:border-neutral-150",
180
+ // disabled cursor (opacity owned by variant)
181
+ "tw:has-[:is(input,textarea):disabled]:cursor-not-allowed",
182
+ // textarea: top-align addons, allow vertical expansion, own its y-padding
183
+ "tw:has-[textarea]:items-start",
184
+ "tw:has-[[data-align=block-start]:not(:empty)]:flex-wrap",
185
+ "tw:has-[[data-align=block-end]:not(:empty)]:flex-wrap",
186
+ "tw:[&>input]:has-[[data-align=block-start]:not(:empty)]:w-auto",
187
+ "tw:[&>input]:has-[[data-align=block-start]:not(:empty)]:flex-1",
188
+ "tw:[&>input]:has-[[data-align=block-end]:not(:empty)]:w-auto",
189
+ "tw:[&>input]:has-[[data-align=block-end]:not(:empty)]:flex-1",
190
+ "tw:[&>input]:px-4",
191
+ "tw:[&>input]:has-[[data-align=inline-start]:not(:empty)]:pl-2",
192
+ "tw:[&>input]:has-[[data-align=inline-end]:not(:empty)]:pr-2"
193
+ ],
194
+ {
195
+ defaultVariants: {
196
+ variant: "primary",
197
+ state: "default",
198
+ sizing: "medium",
199
+ focusVariant: "default"
200
+ },
201
+ compoundVariants: [
202
+ {
203
+ variant: "secondary",
204
+ state: "error",
205
+ className: ["tw:bg-error-100"]
206
+ },
207
+ {
208
+ variant: "secondary",
209
+ state: "warning",
210
+ className: ["tw:bg-warning-100"]
211
+ },
212
+ {
213
+ variant: "primary",
214
+ state: "default",
215
+ focusVariant: "off",
216
+ className: ["tw:has-[:is(input,textarea):focus]:border-neutral-200"]
217
+ },
218
+ {
219
+ variant: "secondary",
220
+ state: "default",
221
+ focusVariant: "off",
222
+ className: ["tw:has-[:is(input,textarea):focus]:border-neutral-100"]
223
+ },
224
+ {
225
+ variant: ["primary", "secondary"],
226
+ state: "error",
227
+ focusVariant: "on",
228
+ className: ["tw:!border-error-500", "tw:!ring-error-200"]
229
+ },
230
+ {
231
+ variant: ["primary", "secondary"],
232
+ state: "warning",
233
+ focusVariant: "on",
234
+ className: ["tw:!border-warning-500", "tw:!ring-warning-200"]
235
+ },
236
+ // --- argo ---
237
+ {
238
+ variant: "argo",
239
+ state: "default",
240
+ className: [
241
+ "tw:has-[:is(input,textarea):focus]:border-primary",
242
+ "tw:has-[:is(input,textarea):focus]:ring-ring/50"
243
+ ]
244
+ },
245
+ {
246
+ variant: "argo",
247
+ state: "error",
248
+ className: [
249
+ "tw:border-destructive",
250
+ "tw:has-[:is(input,textarea):focus]:border-destructive",
251
+ "tw:has-[:is(input,textarea):focus]:ring-destructive/20"
252
+ ]
253
+ },
254
+ {
255
+ variant: "argo",
256
+ focusVariant: "on",
257
+ className: ["tw:!border-primary", "tw:!ring-ring/50"]
258
+ },
259
+ {
260
+ variant: "argo",
261
+ state: "error",
262
+ focusVariant: "on",
263
+ className: ["tw:!border-destructive", "tw:!ring-destructive/20"]
264
+ },
265
+ {
266
+ variant: "argo",
267
+ state: "default",
268
+ focusVariant: "off",
269
+ className: ["tw:has-[:is(input,textarea):focus]:border-input"]
270
+ }
271
+ ],
272
+ variants: {
273
+ focusVariant: {
274
+ default: [],
275
+ on: ["tw:!border-ring", "tw:!ring-ring/30", "tw:!ring-4"],
276
+ off: ["tw:has-[:is(input,textarea):focus]:!ring-0"]
277
+ },
278
+ variant: {
279
+ primary: [
280
+ // The field-surface token — white in the light scheme, so this is a
281
+ // no-op there; the dark scheme gets a field fill, not a white slab.
282
+ "tw:bg-input-background",
283
+ "tw:text-foreground",
284
+ // The base readonly fill is a fixed light grey, which the scheme-following
285
+ // text above would sit on invisibly in dark. Re-pin to the same
286
+ // `muted`/`input` pair argo uses for exactly this reason.
287
+ "tw:has-[:is(input,textarea)[readonly]]:bg-muted",
288
+ "tw:has-[:is(input,textarea)[readonly]]:border-input",
289
+ "tw:has-[:is(input,textarea):disabled]:opacity-40",
290
+ // aria-invalid on the control surfaces the error chrome without a `state` prop — the
291
+ // accessible path (mirrors the `state="error"` legacy tokens). Higher specificity than
292
+ // the default focus selector, so it wins without `!important`.
293
+ "tw:has-[:is(input,textarea)[aria-invalid=true]]:border-error-500",
294
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-error-500",
295
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-error-200"
296
+ ],
297
+ secondary: [
298
+ "tw:bg-neutral-100",
299
+ "tw:border-neutral-100",
300
+ "tw:has-[:is(input,textarea):disabled]:opacity-40",
301
+ "tw:has-[:is(input,textarea)[aria-invalid=true]]:border-error-500",
302
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-error-500",
303
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-error-200"
304
+ ],
305
+ argo: [
306
+ // argo follows the brand radius token (overrides the static base)
307
+ "tw:rounded-[var(--radius-lg,0.25rem)]",
308
+ // muted filled input surface — gray, distinct from white containers; not the app-background token.
309
+ // Deliberately `muted`, not the `input-background` field token legacy uses: argo's field is a
310
+ // grey inset by design. Converging the two is a brand-value decision, not a component one.
311
+ "tw:bg-muted",
312
+ "tw:border-input",
313
+ "tw:text-foreground",
314
+ "tw:has-[:is(input,textarea):disabled]:opacity-50",
315
+ // readonly: keep the themed input surface/border. The base layer's fixed
316
+ // `neutral-150` (a light grey) is correct for the legacy light chrome but
317
+ // collides with argo's themed `foreground` text — light-on-light, invisible
318
+ // in dark mode. Re-pin to the same `muted`/`input` tokens the editable argo
319
+ // input uses (validated AA), so readonly stays legible in every scheme.
320
+ "tw:has-[:is(input,textarea)[readonly]]:bg-muted",
321
+ "tw:has-[:is(input,textarea)[readonly]]:border-input",
322
+ // higher specificity than has-[:is(input,textarea):focus] — prevents focus border on readonly
323
+ "tw:has-[:is(input,textarea)[readonly]:focus]:border-input",
324
+ // aria-invalid on the control surfaces the error chrome without a `state` prop — the
325
+ // accessible path (uses the themeable `destructive` status token).
326
+ "tw:has-[:is(input,textarea)[aria-invalid=true]]:border-destructive",
327
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-destructive",
328
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-destructive/20"
329
+ ]
330
+ },
331
+ sizing: {
332
+ default: [
333
+ "tw:[&>:is(input,textarea)]:py-2.5",
334
+ "tw:[&>:is(input,textarea)]:leading-[18px]",
335
+ "tw:[&>textarea]:!min-h-[calc(2.5rem-2px)]"
336
+ ],
337
+ small: [
338
+ "tw:[&>:is(input,textarea)]:py-2",
339
+ "tw:[&>:is(input,textarea)]:leading-[16px]",
340
+ "tw:[&>textarea]:!min-h-[calc(2rem-2px)]"
341
+ ],
342
+ medium: [
343
+ "tw:[&>:is(input,textarea)]:py-2",
344
+ "tw:[&>:is(input,textarea)]:leading-[18px]",
345
+ "tw:[&>textarea]:!min-h-[calc(2.25rem-2px)]"
346
+ ]
347
+ },
348
+ state: {
349
+ default: [
350
+ "tw:has-[:is(input,textarea):focus]:border-ring",
351
+ "tw:has-[:is(input,textarea):focus]:ring-ring/30"
352
+ ],
353
+ error: [
354
+ "tw:border-error-500",
355
+ "tw:has-[:is(input,textarea):focus]:border-error-500",
356
+ "tw:has-[:is(input,textarea):focus]:ring-error-200"
357
+ ],
358
+ warning: [
359
+ "tw:border-warning-500",
360
+ "tw:has-[:is(input,textarea):focus]:border-warning-500",
361
+ "tw:has-[:is(input,textarea):focus]:ring-warning-200"
362
+ ]
363
+ }
364
+ }
365
+ }
366
+ );
367
+ var InputGroupRoot = ({
368
+ ref,
369
+ children,
370
+ state,
371
+ variant,
372
+ sizing,
373
+ focusVariant,
374
+ className,
375
+ ...props
376
+ }) => {
377
+ const isArgo = useArgoDesign();
378
+ const effectiveVariant = isArgo ? "argo" : variant;
379
+ const effectiveSizing = effectiveVariant === "argo" ? "medium" : sizing;
380
+ return /* @__PURE__ */ jsx(
381
+ "div",
382
+ {
383
+ ...props,
384
+ ref,
385
+ className: cn(
386
+ inputGroupVariants({
387
+ state,
388
+ variant: effectiveVariant,
389
+ sizing: effectiveSizing,
390
+ focusVariant,
391
+ className
392
+ })
393
+ ),
394
+ children
395
+ }
396
+ );
397
+ };
398
+ var InputGroup = InputGroupRoot;
399
+ InputGroup.Input = InputGroupInput;
400
+ InputGroup.Addon = InputGroupAddon;
401
+ InputGroup.Button = InputGroupButton;
402
+ InputGroup.TextArea = InputGroupTextArea;
403
+ InputGroup.Text = InputGroupText;
404
+
405
+ export { InputGroup };
406
+ //# sourceMappingURL=chunk-SC275NHZ.js.map
407
+ //# sourceMappingURL=chunk-SC275NHZ.js.map