@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,230 @@
1
+ import { TextInput } from './chunk-HPMYYGP7.js';
2
+ import { ScrollArea } from './chunk-THHB4EWS.js';
3
+ import { Check, Circle } from './chunk-RQVK4IYC.js';
4
+ import { useArgoDesign } from './chunk-WETKNYZX.js';
5
+ import { cn } from './chunk-LXLIQ2D6.js';
6
+ import { Command as Command$1, CommandInput as CommandInput$1 } from 'cmdk';
7
+ export { defaultFilter, useCommandState } from 'cmdk';
8
+ import { jsx, jsxs } from 'react/jsx-runtime';
9
+
10
+ var CommandContent = ({ className, ...rest }) => /* @__PURE__ */ jsx(
11
+ "div",
12
+ {
13
+ ...rest,
14
+ className: cn(
15
+ "tw:flex",
16
+ "tw:flex-col",
17
+ "tw:p-2",
18
+ "tw:group-data-[variant=argo]/command:p-4",
19
+ "tw:gap-2",
20
+ className
21
+ )
22
+ }
23
+ );
24
+ var CommandEmpty = ({ ...props }) => /* @__PURE__ */ jsx(Command$1.Empty, { ...props });
25
+ var CommandGroup = ({ className, ...props }) => /* @__PURE__ */ jsx(
26
+ Command$1.Group,
27
+ {
28
+ className: cn(
29
+ "tw:[&_[cmdk-group-heading]]:font-semibold",
30
+ "tw:[&_[cmdk-group-heading]]:font-sans",
31
+ "tw:[&_[cmdk-group-heading]]:px-4",
32
+ "tw:[&_[cmdk-group-heading]]:py-0.5",
33
+ "tw:[&_[cmdk-group-heading]]:uppercase",
34
+ "tw:[&_[cmdk-group-heading]]:text-[11px]",
35
+ "tw:[&_[cmdk-group-heading]]:text-muted-foreground",
36
+ "tw:[&_[cmdk-group-heading]]:tracking-[1px]",
37
+ "tw:[&_[cmdk-group-heading]]:border-b",
38
+ "tw:[&_[cmdk-group-heading]]:border-border",
39
+ "tw:[&_[cmdk-group-heading]]:my-2",
40
+ className
41
+ ),
42
+ ...props
43
+ }
44
+ );
45
+ var CommandInput = ({ ref, className, ...props }) => /* @__PURE__ */ jsx(CommandInput$1, { ref, asChild: true, children: /* @__PURE__ */ jsx(
46
+ TextInput,
47
+ {
48
+ ...props,
49
+ className: cn(
50
+ "tw:group-data-[variant=argo]/command:!bg-transparent",
51
+ "tw:group-data-[variant=argo]/command:!border-transparent",
52
+ "tw:group-data-[variant=argo]/command:!rounded-none",
53
+ "tw:group-data-[variant=argo]/command:max-h-12",
54
+ "tw:group-data-[variant=argo]/command:h-12",
55
+ className
56
+ )
57
+ }
58
+ ) });
59
+ var CheckIndicator = ({ variant = "default" }) => {
60
+ if (variant === "default") return null;
61
+ return /* @__PURE__ */ jsx(
62
+ "span",
63
+ {
64
+ "data-variant": variant,
65
+ className: cn(
66
+ "tw:group/check-indicator",
67
+ // positioning
68
+ "tw:pointer-events-none",
69
+ // sizing
70
+ "tw:size-4",
71
+ "tw:flex",
72
+ "tw:items-center",
73
+ "tw:justify-center",
74
+ // border
75
+ "tw:border",
76
+ "tw:border-solid",
77
+ "tw:rounded",
78
+ "tw:group-data-[variant=default]/command:border-neutral-200",
79
+ "tw:group-data-[variant=argo]/command:border-input",
80
+ "tw:data-[variant=radio]:rounded-full",
81
+ "tw:data-[variant=checkbox]:rounded",
82
+ "tw:data-[variant=checkbox]:group-data-[checked=true]/command-item:border-primary",
83
+ "tw:data-[variant=checkbox]:group-data-[checked=true]/command-item:bg-primary",
84
+ "tw:shrink-0"
85
+ ),
86
+ children: variant === "checkbox" ? /* @__PURE__ */ jsx(
87
+ Check,
88
+ {
89
+ className: cn(
90
+ "tw:hidden",
91
+ // Lucide SVGs default to 24×24; constrain to the 16px indicator slot.
92
+ "tw:size-3",
93
+ "tw:stroke-[4px]",
94
+ "tw:group-data-[checked=true]/command-item:block",
95
+ "tw:group-data-[variant=checkbox]/check-indicator:text-primary-foreground"
96
+ )
97
+ }
98
+ ) : /* @__PURE__ */ jsx(
99
+ Circle,
100
+ {
101
+ className: cn(
102
+ "tw:hidden",
103
+ // Lucide Circle is stroke-only — force fill to match the stroke so
104
+ // the indicator reads as a solid dot.
105
+ "tw:size-3",
106
+ "tw:fill-current",
107
+ "tw:group-data-[checked=true]/command-item:block",
108
+ "tw:group-data-[variant=radio]/check-indicator:text-primary"
109
+ )
110
+ }
111
+ )
112
+ }
113
+ );
114
+ };
115
+ var CommandItem = ({
116
+ className,
117
+ icon,
118
+ children,
119
+ checked = false,
120
+ variant = "default",
121
+ actions,
122
+ ...props
123
+ }) => /* @__PURE__ */ jsxs("div", { className: "tw:group tw:flex tw:items-center tw:justify-center", children: [
124
+ /* @__PURE__ */ jsxs(
125
+ Command$1.Item,
126
+ {
127
+ ...props,
128
+ "data-checked": checked,
129
+ "data-variant": variant,
130
+ className: cn(
131
+ "tw:group/command-item",
132
+ "tw:peer/command-item",
133
+ // positioning
134
+ "tw:relative",
135
+ "tw:flex",
136
+ "tw:items-center",
137
+ "tw:gap-2",
138
+ "tw:flex-1",
139
+ "tw:p-2",
140
+ // typography
141
+ "tw:font-sans",
142
+ "tw:text-sm",
143
+ "tw:leading-6",
144
+ "tw:cursor-pointer",
145
+ "tw:transition-colors",
146
+ "tw:select-none",
147
+ "tw:outline-hidden",
148
+ "tw:group-data-[variant=argo]/command:rounded-md",
149
+ "tw:group-data-[variant=argo]/command:data-[selected=true]:bg-accent",
150
+ "tw:group-data-[variant=argo]/command:data-[checked=true]:bg-accent",
151
+ "tw:group-data-[variant=default]/command:rounded",
152
+ "tw:group-data-[variant=default]/command:data-[selected=true]:bg-neutral-100",
153
+ "tw:group-data-[variant=default]/command:data-[checked=true]:bg-neutral-100",
154
+ // disabled
155
+ "tw:aria-disabled:opacity-50",
156
+ "tw:aria-disabled:cursor-not-allowed",
157
+ "tw:aria-disabled:hover:bg-transparent",
158
+ // reset styles for checked and disabled
159
+ "tw:data-[checked=true]:aria-disabled:opacity-100",
160
+ "tw:data-[checked=true]:aria-disabled:cursor-default",
161
+ className
162
+ ),
163
+ children: [
164
+ /* @__PURE__ */ jsx(CheckIndicator, { variant }),
165
+ icon && /* @__PURE__ */ jsx("span", { className: "tw:inline-flex tw:size-4 tw:shrink-0 tw:items-center tw:justify-center tw:text-muted-foreground tw:[&_svg:not([class*='tw:size-'])]:size-4", children: icon }),
166
+ children
167
+ ]
168
+ }
169
+ ),
170
+ actions && /* @__PURE__ */ jsx(
171
+ "span",
172
+ {
173
+ "data-slot": "command-item-actions",
174
+ className: cn(
175
+ "tw:hidden",
176
+ "tw:mx-2",
177
+ "tw:group-hover:flex",
178
+ "tw:peer-hover/command-item:flex",
179
+ "tw:peer-data-[selected=true]/command-item:flex"
180
+ ),
181
+ children: actions
182
+ }
183
+ )
184
+ ] });
185
+ var CommandList = ({ ref, className, children, viewPortClassName, ...props }) => /* @__PURE__ */ jsx(
186
+ ScrollArea,
187
+ {
188
+ ref,
189
+ className: cn(
190
+ "tw:group-data-[variant=argo]/command:px-4",
191
+ "tw:group-data-[variant=argo]/command:pb-4",
192
+ className
193
+ ),
194
+ viewPortClassName: cn(
195
+ "tw:[&_[cmdk-list-sizer]]:flex",
196
+ "tw:[&_[cmdk-list-sizer]]:flex-col",
197
+ viewPortClassName
198
+ ),
199
+ children: /* @__PURE__ */ jsx(Command$1.List, { ...props, children })
200
+ }
201
+ );
202
+ var CommandSeparator = ({ className, ...props }) => /* @__PURE__ */ jsx(
203
+ Command$1.Separator,
204
+ {
205
+ className: cn("tw:h-px", "tw:bg-border", "tw:my-2", className),
206
+ ...props
207
+ }
208
+ );
209
+ var Command = ({ className, ...rest }) => {
210
+ const effectiveVariant = useArgoDesign() ? "argo" : "default";
211
+ return /* @__PURE__ */ jsx(
212
+ Command$1,
213
+ {
214
+ "data-variant": effectiveVariant,
215
+ className: cn("tw:group/command", "tailwindcss-preflight", className),
216
+ ...rest
217
+ }
218
+ );
219
+ };
220
+ Command.Content = CommandContent;
221
+ Command.Separator = CommandSeparator;
222
+ Command.List = CommandList;
223
+ Command.Group = CommandGroup;
224
+ Command.Empty = CommandEmpty;
225
+ Command.Input = CommandInput;
226
+ Command.Item = CommandItem;
227
+
228
+ export { Command, CommandGroup, CommandInput, CommandItem, CommandList };
229
+ //# sourceMappingURL=chunk-ODJF7YIP.js.map
230
+ //# sourceMappingURL=chunk-ODJF7YIP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/blocks/Command/CommandContent.tsx","../src/blocks/Command/CommandEmpty.tsx","../src/blocks/Command/CommandGroup.tsx","../src/blocks/Command/CommandInput.tsx","../src/blocks/Command/CommandItem/CheckIndicator.tsx","../src/blocks/Command/CommandItem/CommandItem.tsx","../src/blocks/Command/CommandList.tsx","../src/blocks/Command/CommandSeparator.tsx","../src/blocks/Command/Command.tsx"],"names":["jsx","CommandPrimitive","CmdInput"],"mappings":"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","file":"chunk-ODJF7YIP.js","sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '../../utils';\n\ntype Props = ComponentProps<'div'>;\n\nexport const CommandContent = ({ className, ...rest }: Props) => (\n <div\n {...rest}\n className={cn(\n 'tw:flex',\n 'tw:flex-col',\n 'tw:p-2',\n 'tw:group-data-[variant=argo]/command:p-4',\n 'tw:gap-2',\n className,\n )}\n />\n);\n","import type { ComponentProps } from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\n\ntype Props = ComponentProps<typeof CommandPrimitive.Empty>;\n\nexport const CommandEmpty = ({ ...props }: Props) => <CommandPrimitive.Empty {...props} />;\n","import type { ComponentProps } from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\n\nimport { cn } from '../../utils';\n\ntype Props = ComponentProps<typeof CommandPrimitive.Group>;\n\nexport const CommandGroup = ({ className, ...props }: Props) => (\n <CommandPrimitive.Group\n className={cn(\n 'tw:[&_[cmdk-group-heading]]:font-semibold',\n 'tw:[&_[cmdk-group-heading]]:font-sans',\n 'tw:[&_[cmdk-group-heading]]:px-4',\n 'tw:[&_[cmdk-group-heading]]:py-0.5',\n 'tw:[&_[cmdk-group-heading]]:uppercase',\n 'tw:[&_[cmdk-group-heading]]:text-[11px]',\n 'tw:[&_[cmdk-group-heading]]:text-muted-foreground',\n 'tw:[&_[cmdk-group-heading]]:tracking-[1px]',\n 'tw:[&_[cmdk-group-heading]]:border-b',\n 'tw:[&_[cmdk-group-heading]]:border-border',\n 'tw:[&_[cmdk-group-heading]]:my-2',\n className,\n )}\n {...props}\n />\n);\n","import type { ComponentProps } from 'react';\nimport { CommandInput as CmdInput } from 'cmdk';\n\nimport { cn } from '../../utils';\nimport { TextInput } from '../TextInput';\n\ntype Props = ComponentProps<typeof TextInput>;\n\nexport const CommandInput = ({ ref, className, ...props }: Props) => (\n <CmdInput ref={ref} asChild>\n <TextInput\n {...props}\n className={cn(\n 'tw:group-data-[variant=argo]/command:!bg-transparent',\n 'tw:group-data-[variant=argo]/command:!border-transparent',\n 'tw:group-data-[variant=argo]/command:!rounded-none',\n 'tw:group-data-[variant=argo]/command:max-h-12',\n 'tw:group-data-[variant=argo]/command:h-12',\n className,\n )}\n />\n </CmdInput>\n);\n","import { Check, Circle } from '../../../icons';\nimport { cn } from '../../../utils';\n\ntype Props = {\n variant?: 'checkbox' | 'radio' | 'default';\n};\n\nexport const CheckIndicator = ({ variant = 'default' }: Props) => {\n if (variant === 'default') return null;\n\n return (\n <span\n data-variant={variant}\n className={cn(\n 'tw:group/check-indicator',\n // positioning\n 'tw:pointer-events-none',\n\n // sizing\n 'tw:size-4',\n 'tw:flex',\n 'tw:items-center',\n 'tw:justify-center',\n\n // border\n 'tw:border',\n 'tw:border-solid',\n 'tw:rounded',\n 'tw:group-data-[variant=default]/command:border-neutral-200',\n 'tw:group-data-[variant=argo]/command:border-input',\n\n 'tw:data-[variant=radio]:rounded-full',\n\n 'tw:data-[variant=checkbox]:rounded',\n 'tw:data-[variant=checkbox]:group-data-[checked=true]/command-item:border-primary',\n 'tw:data-[variant=checkbox]:group-data-[checked=true]/command-item:bg-primary',\n 'tw:shrink-0',\n )}\n >\n {variant === 'checkbox' ? (\n <Check\n className={cn(\n 'tw:hidden',\n // Lucide SVGs default to 24×24; constrain to the 16px indicator slot.\n 'tw:size-3',\n 'tw:stroke-[4px]',\n 'tw:group-data-[checked=true]/command-item:block',\n 'tw:group-data-[variant=checkbox]/check-indicator:text-primary-foreground',\n )}\n />\n ) : (\n <Circle\n className={cn(\n 'tw:hidden',\n // Lucide Circle is stroke-only — force fill to match the stroke so\n // the indicator reads as a solid dot.\n 'tw:size-3',\n 'tw:fill-current',\n 'tw:group-data-[checked=true]/command-item:block',\n 'tw:group-data-[variant=radio]/check-indicator:text-primary',\n )}\n />\n )}\n </span>\n );\n};\n","import type { ComponentProps, ReactNode } from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\n\nimport { cn } from '../../../utils';\n\nimport { CheckIndicator } from './CheckIndicator';\n\ntype Props = ComponentProps<typeof CommandPrimitive.Item> & {\n icon?: ReactNode;\n checked?: boolean;\n variant?: ComponentProps<typeof CheckIndicator>['variant'];\n actions?: ReactNode;\n};\n\nexport const CommandItem = ({\n className,\n icon,\n children,\n checked = false,\n variant = 'default',\n actions,\n ...props\n}: Props) => (\n <div className=\"tw:group tw:flex tw:items-center tw:justify-center\">\n <CommandPrimitive.Item\n {...props}\n data-checked={checked}\n data-variant={variant}\n className={cn(\n 'tw:group/command-item',\n 'tw:peer/command-item',\n\n // positioning\n 'tw:relative',\n 'tw:flex',\n 'tw:items-center',\n 'tw:gap-2',\n 'tw:flex-1',\n 'tw:p-2',\n\n // typography\n 'tw:font-sans',\n 'tw:text-sm',\n 'tw:leading-6',\n 'tw:cursor-pointer',\n 'tw:transition-colors',\n 'tw:select-none',\n 'tw:outline-hidden',\n\n 'tw:group-data-[variant=argo]/command:rounded-md',\n 'tw:group-data-[variant=argo]/command:data-[selected=true]:bg-accent',\n 'tw:group-data-[variant=argo]/command:data-[checked=true]:bg-accent',\n\n 'tw:group-data-[variant=default]/command:rounded',\n 'tw:group-data-[variant=default]/command:data-[selected=true]:bg-neutral-100',\n 'tw:group-data-[variant=default]/command:data-[checked=true]:bg-neutral-100',\n\n // disabled\n 'tw:aria-disabled:opacity-50',\n\n 'tw:aria-disabled:cursor-not-allowed',\n 'tw:aria-disabled:hover:bg-transparent',\n\n // reset styles for checked and disabled\n 'tw:data-[checked=true]:aria-disabled:opacity-100',\n 'tw:data-[checked=true]:aria-disabled:cursor-default',\n className,\n )}\n >\n <CheckIndicator variant={variant} />\n {icon && (\n <span className=\"tw:inline-flex tw:size-4 tw:shrink-0 tw:items-center tw:justify-center tw:text-muted-foreground tw:[&_svg:not([class*='tw:size-'])]:size-4\">\n {icon}\n </span>\n )}\n {children}\n </CommandPrimitive.Item>\n\n {actions && (\n <span\n data-slot=\"command-item-actions\"\n className={cn(\n 'tw:hidden',\n 'tw:mx-2',\n 'tw:group-hover:flex',\n 'tw:peer-hover/command-item:flex',\n 'tw:peer-data-[selected=true]/command-item:flex',\n )}\n >\n {actions}\n </span>\n )}\n </div>\n);\n","import type { ComponentProps } from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\n\nimport { ScrollArea } from '../../components/ScrollArea';\nimport { cn } from '../../utils';\n\ntype Props = ComponentProps<typeof CommandPrimitive.List> &\n Pick<ComponentProps<typeof ScrollArea>, 'viewPortClassName'>;\n\nexport const CommandList = ({ ref, className, children, viewPortClassName, ...props }: Props) => (\n <ScrollArea\n ref={ref}\n className={cn(\n 'tw:group-data-[variant=argo]/command:px-4',\n 'tw:group-data-[variant=argo]/command:pb-4',\n className,\n )}\n viewPortClassName={cn(\n 'tw:[&_[cmdk-list-sizer]]:flex',\n 'tw:[&_[cmdk-list-sizer]]:flex-col',\n viewPortClassName,\n )}\n >\n <CommandPrimitive.List {...props}>{children}</CommandPrimitive.List>\n </ScrollArea>\n);\n","import type { ComponentProps } from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\n\nimport { cn } from '../../utils';\n\ntype Props = ComponentProps<typeof CommandPrimitive.Separator>;\n\nexport const CommandSeparator = ({ className, ...props }: Props) => (\n <CommandPrimitive.Separator\n className={cn('tw:h-px', 'tw:bg-border', 'tw:my-2', className)}\n {...props}\n />\n);\n","import type { ComponentProps } from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\n\nimport { useArgoDesign } from '../../components/ThemeProvider/context';\nimport { cn } from '../../utils';\n\nimport { CommandContent } from './CommandContent';\nimport { CommandEmpty } from './CommandEmpty';\nimport { CommandGroup } from './CommandGroup';\nimport { CommandInput } from './CommandInput';\nimport { CommandItem } from './CommandItem';\nimport { CommandList } from './CommandList';\nimport { CommandSeparator } from './CommandSeparator';\n\ntype Variant = 'default' | 'argo';\n\ntype Props = ComponentProps<typeof CommandPrimitive>;\n\nexport const Command = ({ className, ...rest }: Props) => {\n const effectiveVariant: Variant = useArgoDesign() ? 'argo' : 'default';\n return (\n <CommandPrimitive\n data-variant={effectiveVariant}\n className={cn('tw:group/command', 'tailwindcss-preflight', className)}\n {...rest}\n />\n );\n};\n\nCommand.Content = CommandContent;\n\nCommand.Separator = CommandSeparator;\nCommand.List = CommandList;\nCommand.Group = CommandGroup;\nCommand.Empty = CommandEmpty;\nCommand.Input = CommandInput;\n\n// items\nCommand.Item = CommandItem;\n"]}
@@ -0,0 +1,101 @@
1
+ import { useArgoDesign } from './chunk-WETKNYZX.js';
2
+ import { cn } from './chunk-LXLIQ2D6.js';
3
+ import { Root, Trigger, Close, Portal, Content } from '@radix-ui/react-popover';
4
+ import { cva } from 'class-variance-authority';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ var variants = cva(
8
+ [
9
+ "tailwindcss-preflight",
10
+ "tw:group/popover-content",
11
+ "tw:z-[1055]",
12
+ "tw:focus-visible:outline-hidden",
13
+ // An open Radix Dialog locks `pointer-events: none` on <body>. Popover content
14
+ // is portalled to <body> as a sibling of the dialog, so it inherits the lock
15
+ // and clicks fall through — re-enable pointer events on the content itself
16
+ // (dismiss-on-outside-click still works, it listens on document).
17
+ "tw:pointer-events-auto",
18
+ // sizing
19
+ "tw:min-w-32",
20
+ "tw:max-h-[var(--radix-popover-content-available-height)]",
21
+ "tw:origin-(--radix-popover-content-transform-origin)",
22
+ // layout
23
+ "tw:flex",
24
+ "tw:flex-col",
25
+ "tw:overflow-y-auto",
26
+ // border
27
+ "tw:box-border",
28
+ "tw:border",
29
+ "tw:border-solid",
30
+ "tw:shadow-lg",
31
+ // open animation
32
+ "tw:data-[state=open]:animate-in",
33
+ "tw:data-[state=open]:fade-in-0",
34
+ "tw:data-[state=open]:zoom-in-95",
35
+ // closed animation
36
+ "tw:data-[state=closed]:animate-out",
37
+ "tw:data-[state=closed]:fade-out-0",
38
+ "tw:data-[state=closed]:zoom-out-95",
39
+ // position animation
40
+ "tw:data-[side=bottom]:slide-in-from-top-2",
41
+ "tw:data-[side=left]:slide-in-from-right-2",
42
+ "tw:data-[side=right]:slide-in-from-left-2",
43
+ "tw:data-[side=top]:slide-in-from-bottom-2",
44
+ // Default size for nested Lucide icons; callers can override on the icon.
45
+ "tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
46
+ "tw:[&_svg]:shrink-0"
47
+ ],
48
+ {
49
+ defaultVariants: {
50
+ matchTriggerWidth: false,
51
+ variant: "default"
52
+ },
53
+ variants: {
54
+ variant: {
55
+ // Legacy surface — fixed white panel.
56
+ default: ["tw:rounded-md", "tw:border-neutral-100", "tw:bg-white", "tw:text-neutral-800"],
57
+ // Argo surface — semantic popover tokens (brand + dark aware).
58
+ argo: ["tw:rounded-2xl", "tw:border-border", "tw:bg-popover", "tw:text-popover-foreground"]
59
+ },
60
+ matchTriggerWidth: {
61
+ true: ["tw:w-[var(--radix-popover-trigger-width)]"],
62
+ false: []
63
+ }
64
+ }
65
+ }
66
+ );
67
+ var PopoverContent = ({
68
+ ref,
69
+ className,
70
+ align = "center",
71
+ sideOffset = 4,
72
+ matchTriggerWidth = false,
73
+ children,
74
+ onEscapeKeyDown,
75
+ ...props
76
+ }) => {
77
+ const effectiveVariant = useArgoDesign() ? "argo" : "default";
78
+ return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(
79
+ Content,
80
+ {
81
+ ref,
82
+ align: matchTriggerWidth ? "start" : align,
83
+ sideOffset,
84
+ className: cn(variants({ className, matchTriggerWidth, variant: effectiveVariant })),
85
+ onEscapeKeyDown: (event) => {
86
+ event.stopPropagation();
87
+ onEscapeKeyDown?.(event);
88
+ },
89
+ ...props,
90
+ children
91
+ }
92
+ ) });
93
+ };
94
+ var Popover = (props) => /* @__PURE__ */ jsx(Root, { ...props });
95
+ Popover.Content = PopoverContent;
96
+ Popover.Trigger = Trigger;
97
+ Popover.Close = Close;
98
+
99
+ export { Popover };
100
+ //# sourceMappingURL=chunk-ON4BJTHI.js.map
101
+ //# sourceMappingURL=chunk-ON4BJTHI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Popover/PopoverContent.tsx","../src/components/Popover/Popover.tsx"],"names":["jsx"],"mappings":";;;;;;AAQA,IAAM,QAAA,GAAW,GAAA;AAAA,EACf;AAAA,IACE,uBAAA;AAAA,IACA,0BAAA;AAAA,IACA,aAAA;AAAA,IACA,iCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,wBAAA;AAAA;AAAA,IAGA,aAAA;AAAA,IACA,0DAAA;AAAA,IACA,sDAAA;AAAA;AAAA,IAGA,SAAA;AAAA,IACA,aAAA;AAAA,IACA,oBAAA;AAAA;AAAA,IAGA,eAAA;AAAA,IACA,WAAA;AAAA,IACA,iBAAA;AAAA,IACA,cAAA;AAAA;AAAA,IAGA,iCAAA;AAAA,IACA,gCAAA;AAAA,IACA,iCAAA;AAAA;AAAA,IAGA,oCAAA;AAAA,IACA,mCAAA;AAAA,IACA,oCAAA;AAAA;AAAA,IAGA,2CAAA;AAAA,IACA,2CAAA;AAAA,IACA,2CAAA;AAAA,IACA,2CAAA;AAAA;AAAA,IAGA,mDAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,eAAA,EAAiB;AAAA,MACf,iBAAA,EAAmB,KAAA;AAAA,MACnB,OAAA,EAAS;AAAA,KACX;AAAA,IACA,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA;AAAA,QAEP,OAAA,EAAS,CAAC,eAAA,EAAiB,uBAAA,EAAyB,eAAe,qBAAqB,CAAA;AAAA;AAAA,QAExF,IAAA,EAAM,CAAC,gBAAA,EAAkB,kBAAA,EAAoB,iBAAiB,4BAA4B;AAAA,OAC5F;AAAA,MACA,iBAAA,EAAmB;AAAA,QACjB,IAAA,EAAM,CAAC,2CAA2C,CAAA;AAAA,QAClD,OAAO;AAAC;AACV;AACF;AAEJ,CAAA;AAIO,IAAM,iBAAiB,CAAC;AAAA,EAC7B,GAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA,GAAQ,QAAA;AAAA,EACR,UAAA,GAAa,CAAA;AAAA,EACb,iBAAA,GAAoB,KAAA;AAAA,EACpB,QAAA;AAAA,EACA,eAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAa;AACX,EAAA,MAAM,gBAAA,GAA0E,aAAA,EAAc,GAC1F,MAAA,GACA,SAAA;AACJ,EAAA,2BACG,MAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAO,oBAAoB,OAAA,GAAU,KAAA;AAAA,MACrC,UAAA;AAAA,MACA,SAAA,EAAW,GAAG,QAAA,CAAS,EAAE,WAAW,iBAAA,EAAmB,OAAA,EAAS,gBAAA,EAAkB,CAAC,CAAA;AAAA,MACnF,eAAA,EAAiB,CAAC,KAAA,KAAU;AAE1B,QAAA,KAAA,CAAM,eAAA,EAAgB;AACtB,QAAA,eAAA,GAAkB,KAAK,CAAA;AAAA,MACzB,CAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH,EACF,CAAA;AAEJ,CAAA;ACvGO,IAAM,UAAU,CAAC,KAAA,qBAAiBA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,KAAA,EAAO;AAK1D,OAAA,CAAQ,OAAA,GAAU,cAAA;AAClB,OAAA,CAAQ,OAAA,GAAU,OAAA;AAClB,OAAA,CAAQ,KAAA,GAAQ,KAAA","file":"chunk-ON4BJTHI.js","sourcesContent":["import type { ComponentProps } from 'react';\nimport { Content, Portal } from '@radix-ui/react-popover';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\nimport { cn } from '../../utils';\nimport { useArgoDesign } from '../ThemeProvider/context';\n\nconst variants = cva(\n [\n 'tailwindcss-preflight',\n 'tw:group/popover-content',\n 'tw:z-[1055]',\n 'tw:focus-visible:outline-hidden',\n\n // An open Radix Dialog locks `pointer-events: none` on <body>. Popover content\n // is portalled to <body> as a sibling of the dialog, so it inherits the lock\n // and clicks fall through — re-enable pointer events on the content itself\n // (dismiss-on-outside-click still works, it listens on document).\n 'tw:pointer-events-auto',\n\n // sizing\n 'tw:min-w-32',\n 'tw:max-h-[var(--radix-popover-content-available-height)]',\n 'tw:origin-(--radix-popover-content-transform-origin)',\n\n // layout\n 'tw:flex',\n 'tw:flex-col',\n 'tw:overflow-y-auto',\n\n // border\n 'tw:box-border',\n 'tw:border',\n 'tw:border-solid',\n 'tw:shadow-lg',\n\n // open animation\n 'tw:data-[state=open]:animate-in',\n 'tw:data-[state=open]:fade-in-0',\n 'tw:data-[state=open]:zoom-in-95',\n\n // closed animation\n 'tw:data-[state=closed]:animate-out',\n 'tw:data-[state=closed]:fade-out-0',\n 'tw:data-[state=closed]:zoom-out-95',\n\n // position animation\n 'tw:data-[side=bottom]:slide-in-from-top-2',\n 'tw:data-[side=left]:slide-in-from-right-2',\n 'tw:data-[side=right]:slide-in-from-left-2',\n 'tw:data-[side=top]:slide-in-from-bottom-2',\n\n // Default size for nested Lucide icons; callers can override on the icon.\n \"tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4\",\n 'tw:[&_svg]:shrink-0',\n ],\n {\n defaultVariants: {\n matchTriggerWidth: false,\n variant: 'default',\n },\n variants: {\n variant: {\n // Legacy surface — fixed white panel.\n default: ['tw:rounded-md', 'tw:border-neutral-100', 'tw:bg-white', 'tw:text-neutral-800'],\n // Argo surface — semantic popover tokens (brand + dark aware).\n argo: ['tw:rounded-2xl', 'tw:border-border', 'tw:bg-popover', 'tw:text-popover-foreground'],\n },\n matchTriggerWidth: {\n true: ['tw:w-[var(--radix-popover-trigger-width)]'],\n false: [],\n },\n },\n },\n);\n\ntype Props = ComponentProps<typeof Content> & Omit<VariantProps<typeof variants>, 'variant'>;\n\nexport const PopoverContent = ({\n ref,\n className,\n align = 'center',\n sideOffset = 4,\n matchTriggerWidth = false,\n children,\n onEscapeKeyDown,\n ...props\n}: Props) => {\n const effectiveVariant: NonNullable<VariantProps<typeof variants>['variant']> = useArgoDesign()\n ? 'argo'\n : 'default';\n return (\n <Portal>\n <Content\n ref={ref}\n align={matchTriggerWidth ? 'start' : align}\n sideOffset={sideOffset}\n className={cn(variants({ className, matchTriggerWidth, variant: effectiveVariant }))}\n onEscapeKeyDown={(event) => {\n // Stop propagation to prevent parent modals (like FullScreenModal) from closing\n event.stopPropagation();\n onEscapeKeyDown?.(event);\n }}\n {...props}\n >\n {children}\n </Content>\n </Portal>\n );\n};\n","import type { ComponentProps } from 'react';\nimport { Close, Root, Trigger } from '@radix-ui/react-popover';\n\nimport { PopoverContent } from './PopoverContent';\n\ntype Props = ComponentProps<typeof Root>;\n\nexport const Popover = (props: Props) => <Root {...props} />;\n\n/**\n * Main Layout\n */\nPopover.Content = PopoverContent;\nPopover.Trigger = Trigger;\nPopover.Close = Close;\n"]}
@@ -0,0 +1,16 @@
1
+ // src/components/MergeEditor/constants.ts
2
+ var CHUNK_TYPE = {
3
+ UNCHANGED: "unchanged",
4
+ ADDED: "added",
5
+ REMOVED: "removed"
6
+ };
7
+ var CHANGE_CLASS = {
8
+ SAFE: "safe",
9
+ CONFLICT: "conflict"
10
+ };
11
+ var LINE_HEIGHT_PX = 20;
12
+ var PANE_HEADER_HEIGHT_PX = 58;
13
+
14
+ export { CHANGE_CLASS, CHUNK_TYPE, LINE_HEIGHT_PX, PANE_HEADER_HEIGHT_PX };
15
+ //# sourceMappingURL=chunk-OTL5WXIJ.js.map
16
+ //# sourceMappingURL=chunk-OTL5WXIJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/MergeEditor/constants.ts"],"names":[],"mappings":";AAAO,IAAM,UAAA,GAAa;AAAA,EACxB,SAAA,EAAW,WAAA;AAAA,EACX,KAAA,EAAO,OAAA;AAAA,EACP,OAAA,EAAS;AACX;AAgCO,IAAM,YAAA,GAAe;AAAA,EAC1B,IAAA,EAAM,MAAA;AAAA,EACN,QAAA,EAAU;AACZ;AAKO,IAAM,cAAA,GAAiB;AAGvB,IAAM,qBAAA,GAAwB","file":"chunk-OTL5WXIJ.js","sourcesContent":["export const CHUNK_TYPE = {\n UNCHANGED: 'unchanged',\n ADDED: 'added',\n REMOVED: 'removed',\n} as const;\n\ntype ChunkType = (typeof CHUNK_TYPE)[keyof typeof CHUNK_TYPE];\n\nexport type DiffChunk = {\n type: ChunkType;\n value: string;\n /** 1-indexed start line in the old (left) text */\n oldStart: number;\n /** 1-indexed end line in the old (left) text */\n oldEnd: number;\n /** 1-indexed start line in the new (right) text */\n newStart: number;\n /** 1-indexed end line in the new (right) text */\n newEnd: number;\n};\n\n/**\n * A paired conflict: adjacent REMOVED + ADDED chunks from diffLines,\n * representing a section that was modified. If only one side exists,\n * the other is empty (pure insertion or deletion).\n */\nexport type MergeConflict = {\n id: string;\n oldValue: string;\n oldStartLine: number;\n oldEndLine: number;\n newValue: string;\n newStartLine: number;\n newEndLine: number;\n};\n\nexport const CHANGE_CLASS = {\n SAFE: 'safe',\n CONFLICT: 'conflict',\n} as const;\n\nexport type ChangeClassification = (typeof CHANGE_CLASS)[keyof typeof CHANGE_CLASS];\n\n/** Must match the CodeMirror line-height set in MergePane */\nexport const LINE_HEIGHT_PX = 20;\n\n/** Must match the rendered header height in MergePane (py-3 + content + border) */\nexport const PANE_HEADER_HEIGHT_PX = 58;\n"]}
@@ -0,0 +1,47 @@
1
+ import { cn } from './chunk-LXLIQ2D6.js';
2
+ import { useId } from 'react';
3
+ import { jsx, Fragment } from 'react/jsx-runtime';
4
+
5
+ var HEIGHT_CLASS_NAME = {
6
+ xxs: "tw:h-3 tw:rounded",
7
+ xs: "tw:h-4 tw:rounded",
8
+ sm: "tw:h-5 tw:rounded",
9
+ md: "tw:h-6 tw:rounded-md",
10
+ lg: "tw:h-8 tw:rounded-lg",
11
+ xl: "tw:h-10 tw:rounded-lg",
12
+ "2xl": "tw:h-12 tw:rounded-lg"
13
+ };
14
+ var ANIMATION_CLASS_NAME = cn(
15
+ // base styles
16
+ "tw:relative",
17
+ "tw:overflow-hidden",
18
+ "tw:pointer-events-none",
19
+ "tw:bg-skeleton",
20
+ // before
21
+ 'tw:before:content-[""]',
22
+ "tw:before:opacity-100",
23
+ "tw:before:absolute",
24
+ "tw:before:inset-0",
25
+ "tw:before:-translate-x-full",
26
+ "tw:before:animate-[shimmer_2s_infinite]",
27
+ "tw:before:bg-gradient-to-r",
28
+ "tw:before:from-transparent",
29
+ "tw:before:to-transparent",
30
+ "tw:before:via-white/40"
31
+ );
32
+ var Skeleton = ({ height = "md", className, count = 1 }) => {
33
+ const prefixId = useId();
34
+ const keys = Array.from({ length: count }, (_, i) => `${prefixId}-${i}`);
35
+ return /* @__PURE__ */ jsx(Fragment, { children: keys.map((key) => /* @__PURE__ */ jsx(
36
+ "div",
37
+ {
38
+ "data-skeleton": "true",
39
+ className: cn(HEIGHT_CLASS_NAME[height], ANIMATION_CLASS_NAME, className)
40
+ },
41
+ key
42
+ )) });
43
+ };
44
+
45
+ export { Skeleton };
46
+ //# sourceMappingURL=chunk-PACNBKJV.js.map
47
+ //# sourceMappingURL=chunk-PACNBKJV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Skeleton/Skeleton.tsx"],"names":[],"mappings":";;;;AAkBA,IAAM,iBAAA,GAA4C;AAAA,EAChD,GAAA,EAAK,mBAAA;AAAA,EACL,EAAA,EAAI,mBAAA;AAAA,EACJ,EAAA,EAAI,mBAAA;AAAA,EACJ,EAAA,EAAI,sBAAA;AAAA,EACJ,EAAA,EAAI,sBAAA;AAAA,EACJ,EAAA,EAAI,uBAAA;AAAA,EACJ,KAAA,EAAO;AACT,CAAA;AAEA,IAAM,oBAAA,GAAuB,EAAA;AAAA;AAAA,EAE3B,aAAA;AAAA,EACA,oBAAA;AAAA,EACA,wBAAA;AAAA,EACA,gBAAA;AAAA;AAAA,EAGA,wBAAA;AAAA,EACA,uBAAA;AAAA,EACA,oBAAA;AAAA,EACA,mBAAA;AAAA,EACA,6BAAA;AAAA,EACA,yCAAA;AAAA,EACA,4BAAA;AAAA,EACA,4BAAA;AAAA,EACA,0BAAA;AAAA,EACA;AACF,CAAA;AAeO,IAAM,QAAA,GAAW,CAAC,EAAE,MAAA,GAAS,MAAM,SAAA,EAAW,KAAA,GAAQ,GAAE,KAAqB;AAClF,EAAA,MAAM,WAAW,KAAA,EAAM;AACvB,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,IAAA,CAAK,EAAE,QAAQ,KAAA,EAAM,EAAG,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,CAAC,CAAA,CAAE,CAAA;AAEvE,EAAA,uBACE,GAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA,IAAA,CAAK,GAAA,CAAI,CAAC,GAAA,qBACT,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MAEC,eAAA,EAAc,MAAA;AAAA,MACd,WAAW,EAAA,CAAG,iBAAA,CAAkB,MAAM,CAAA,EAAG,sBAAsB,SAAS;AAAA,KAAA;AAAA,IAFnE;AAAA,GAIR,CAAA,EACH,CAAA;AAEJ","file":"chunk-PACNBKJV.js","sourcesContent":["import { useId } from 'react';\n\nimport { cn } from '../../utils';\n\nexport type Height = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\n/**\n * Props for `Skeleton`. `height` maps to the named token (xxs 12px → 2xl 48px); `count` renders multiple\n * stacked placeholders sharing the same shape.\n */\ntype SkeletonProps = {\n /** Named height token — `xxs` (12px) through `2xl` (48px). */\n height?: Height;\n className?: string;\n /** Number of stacked placeholder rows. Use for list-style loading states. */\n count?: number;\n};\n\nconst HEIGHT_CLASS_NAME: Record<Height, string> = {\n xxs: 'tw:h-3 tw:rounded',\n xs: 'tw:h-4 tw:rounded',\n sm: 'tw:h-5 tw:rounded',\n md: 'tw:h-6 tw:rounded-md',\n lg: 'tw:h-8 tw:rounded-lg',\n xl: 'tw:h-10 tw:rounded-lg',\n '2xl': 'tw:h-12 tw:rounded-lg',\n};\n\nconst ANIMATION_CLASS_NAME = cn(\n // base styles\n 'tw:relative',\n 'tw:overflow-hidden',\n 'tw:pointer-events-none',\n 'tw:bg-skeleton',\n\n // before\n 'tw:before:content-[\"\"]',\n 'tw:before:opacity-100',\n 'tw:before:absolute',\n 'tw:before:inset-0',\n 'tw:before:-translate-x-full',\n 'tw:before:animate-[shimmer_2s_infinite]',\n 'tw:before:bg-gradient-to-r',\n 'tw:before:from-transparent',\n 'tw:before:to-transparent',\n 'tw:before:via-white/40',\n);\n\n/**\n * Animated placeholder shown in place of content that is still loading.\n *\n * **When to use:** during initial page or section load while the real content is fetched. Match the\n * placeholder shape to the eventual content (one `Skeleton height=\"lg\"` per title row, several `xs` for\n * paragraph lines). For list shells use `count` to render N stacked placeholders.\n * **When NOT to use:** for indeterminate background work without a layout slot use `DotsLoader` or\n * `Button isLoading`; for empty / error states once the request resolves use `EmptyState` / `ErrorState`.\n * **Composition:** drop directly into the slot the real content will occupy. `SkeletonList` is the typical\n * shell for `Table` / `Card`-list pages.\n *\n * @see RECIPES.md#data-card-with-skeleton — for a loading card pattern\n */\nexport const Skeleton = ({ height = 'md', className, count = 1 }: SkeletonProps) => {\n const prefixId = useId();\n const keys = Array.from({ length: count }, (_, i) => `${prefixId}-${i}`);\n\n return (\n <>\n {keys.map((key) => (\n <div\n key={key}\n data-skeleton=\"true\"\n className={cn(HEIGHT_CLASS_NAME[height], ANIMATION_CLASS_NAME, className)}\n />\n ))}\n </>\n );\n};\n"]}
@@ -0,0 +1,23 @@
1
+ import { cva } from 'class-variance-authority';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ // src/components/HelpBlock/HelpBlock.tsx
5
+ var helpVariants = cva(["tw:m-0", "tw:text-xs"], {
6
+ defaultVariants: {
7
+ state: "default"
8
+ },
9
+ variants: {
10
+ state: {
11
+ default: ["tw:text-muted-foreground"],
12
+ warning: ["tw:text-warning"]
13
+ }
14
+ }
15
+ });
16
+ var HelpBlock = ({ children, className, state = "default", ...rest }) => {
17
+ if (!children) return null;
18
+ return /* @__PURE__ */ jsx("p", { ...rest, className: helpVariants({ state, className }), children });
19
+ };
20
+
21
+ export { HelpBlock };
22
+ //# sourceMappingURL=chunk-PROCA7K7.js.map
23
+ //# sourceMappingURL=chunk-PROCA7K7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/HelpBlock/HelpBlock.tsx"],"names":[],"mappings":";;;;AAGA,IAAM,YAAA,GAAe,GAAA,CAAI,CAAC,QAAA,EAAU,YAAY,CAAA,EAAG;AAAA,EACjD,eAAA,EAAiB;AAAA,IACf,KAAA,EAAO;AAAA,GACT;AAAA,EACA,QAAA,EAAU;AAAA,IACR,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,CAAC,0BAA0B,CAAA;AAAA,MACpC,OAAA,EAAS,CAAC,iBAAiB;AAAA;AAC7B;AAEJ,CAAC,CAAA;AAIM,IAAM,SAAA,GAAY,CAAC,EAAE,QAAA,EAAU,WAAW,KAAA,GAAQ,SAAA,EAAW,GAAG,IAAA,EAAK,KAAa;AACvF,EAAA,IAAI,CAAC,UAAU,OAAO,IAAA;AAEtB,EAAA,uBACE,GAAA,CAAC,GAAA,EAAA,EAAG,GAAG,IAAA,EAAM,SAAA,EAAW,YAAA,CAAa,EAAE,KAAA,EAAO,SAAA,EAAW,CAAA,EACtD,QAAA,EACH,CAAA;AAEJ","file":"chunk-PROCA7K7.js","sourcesContent":["import type { ComponentPropsWithRef } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst helpVariants = cva(['tw:m-0', 'tw:text-xs'], {\n defaultVariants: {\n state: 'default',\n },\n variants: {\n state: {\n default: ['tw:text-muted-foreground'],\n warning: ['tw:text-warning'],\n },\n },\n});\n\ntype Props = ComponentPropsWithRef<'p'> & VariantProps<typeof helpVariants>;\n\nexport const HelpBlock = ({ children, className, state = 'default', ...rest }: Props) => {\n if (!children) return null;\n\n return (\n <p {...rest} className={helpVariants({ state, className })}>\n {children}\n </p>\n );\n};\n"]}
@@ -0,0 +1,85 @@
1
+ import { ScrollArea } from './chunk-THHB4EWS.js';
2
+ import { Button } from './chunk-IXAYNBOY.js';
3
+ import { X } from './chunk-RQVK4IYC.js';
4
+ import { cn } from './chunk-LXLIQ2D6.js';
5
+ import * as RadixTabs from '@radix-ui/react-tabs';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ // src/components/Tabs/styles.ts
9
+ var tabsListWrapperClass = "tw:shrink-0 tw:border-t-0 tw:border-x-0 tw:border-b tw:border-solid tw:border-border";
10
+ var tabsListClass = "tw:flex tw:gap-8 tw:shrink-0 tw:w-max";
11
+ var tabsTriggerGroupClass = "tw:group/tab-trigger-group tw:flex tw:shrink-0 tw:items-center";
12
+ var tabsTriggerClass = "tw:focus-visible:outline-hidden tw:focus-visible:ring-2 tw:focus-visible:ring-inset tw:focus-visible:ring-ring tw:flex tw:justify-center tw:items-center tw:gap-1.5 tw:bg-transparent tw:shrink-0 tw:border-t-0 tw:border-x-0 tw:border-b-[3px] tw:border-solid tw:border-transparent tw:pt-2.5 tw:pb-5 tw:px-0 tw:m-0 tw:font-medium tw:leading-5 tw:text-muted-foreground tw:text-base tw:data-[state=active]:text-primary tw:data-[state=active]:border-primary tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50 tw:data-[disabled]:cursor-not-allowed tw:group-hover/tab-trigger-group:enabled:text-primary tw:group-hover/tab-trigger-group:enabled:border-primary tw:group-hover/tab-trigger-group:enabled:cursor-pointer";
13
+ var tabsTriggerCompactClass = "tw:text-sm tw:pb-4";
14
+ var TabsList = ({ className, children, ...rest }) => /* @__PURE__ */ jsx(ScrollArea, { orientation: "horizontal", className: tabsListWrapperClass, children: /* @__PURE__ */ jsx(RadixTabs.List, { ...rest, "data-slot": "tabs-list", className: cn(tabsListClass, className), children }) });
15
+ var TabsTrigger = ({ className, compact = false, ...rest }) => /* @__PURE__ */ jsx(
16
+ RadixTabs.Trigger,
17
+ {
18
+ "data-slot": "tabs-trigger",
19
+ ...rest,
20
+ className: cn(tabsTriggerClass, compact && tabsTriggerCompactClass, className)
21
+ }
22
+ );
23
+ var Tabs = ({
24
+ triggers,
25
+ compact = false,
26
+ children,
27
+ defaultValue,
28
+ onValueChange,
29
+ rootClassName,
30
+ listClassName,
31
+ triggerClassName,
32
+ triggerGroupClassName,
33
+ ...rest
34
+ }) => /* @__PURE__ */ jsxs(
35
+ RadixTabs.Root,
36
+ {
37
+ ...rest,
38
+ "data-slot": "tabs-root",
39
+ className: cn("tw:flex tw:flex-col tw:gap-6", rootClassName),
40
+ defaultValue: defaultValue ?? triggers[0]?.value,
41
+ onValueChange,
42
+ children: [
43
+ /* @__PURE__ */ jsx(TabsList, { className: listClassName, children: triggers.map(({ value, title, onClose, className: callerClassName, ...triggerRest }) => /* @__PURE__ */ jsxs(
44
+ "div",
45
+ {
46
+ className: cn(tabsTriggerGroupClass, triggerGroupClassName),
47
+ "data-slot": "tabs-trigger-group",
48
+ children: [
49
+ /* @__PURE__ */ jsx(
50
+ TabsTrigger,
51
+ {
52
+ value,
53
+ compact,
54
+ ...triggerRest,
55
+ className: cn(triggerClassName, callerClassName),
56
+ children: title
57
+ }
58
+ ),
59
+ onClose && /* @__PURE__ */ jsx(
60
+ Button,
61
+ {
62
+ type: "button",
63
+ variant: "inline",
64
+ size: "icon-3xs",
65
+ disabled: triggerRest.disabled,
66
+ onClick: () => onClose(value),
67
+ onMouseDown: (e) => e.preventDefault(),
68
+ className: "tw:!size-8 tw:opacity-0 tw:duration-200 tw:focus-visible:opacity-100 tw:group-focus-within/tab-trigger-group:opacity-100 tw:group-hover/tab-trigger-group:opacity-100",
69
+ "aria-label": typeof title === "string" ? `Close ${title}` : "Close tab",
70
+ children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" })
71
+ }
72
+ )
73
+ ]
74
+ },
75
+ value
76
+ )) }),
77
+ children
78
+ ]
79
+ }
80
+ );
81
+ var TabsContent = (props) => /* @__PURE__ */ jsx(RadixTabs.Content, { "data-slot": "tabs-content", tabIndex: -1, ...props });
82
+
83
+ export { Tabs, TabsContent };
84
+ //# sourceMappingURL=chunk-QGMIPA67.js.map
85
+ //# sourceMappingURL=chunk-QGMIPA67.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Tabs/styles.ts","../src/components/Tabs/TabsList.tsx","../src/components/Tabs/TabsTrigger.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Tabs/TabsContent.tsx"],"names":["jsx","RadixTabs2","RadixTabs3","RadixTabs4"],"mappings":"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","file":"chunk-QGMIPA67.js","sourcesContent":["// Directional resets (border-t-0/border-x-0), NOT border-0: under Tailwind v4 a\n// consumer app's `border-0` utility can land after design's compiled bottom-border in\n// the shared `utilities` layer and zero its width (same layer + specificity → source\n// order wins), dropping the line. With directional resets, only the bottom-border\n// utility (`border-b` on the wrapper, `border-b-[3px]` on the trigger) sets the bottom.\nexport const tabsListWrapperClass =\n 'tw:shrink-0 tw:border-t-0 tw:border-x-0 tw:border-b tw:border-solid tw:border-border';\n\nexport const tabsListClass = 'tw:flex tw:gap-8 tw:shrink-0 tw:w-max';\n\nexport const tabsTriggerGroupClass =\n 'tw:group/tab-trigger-group tw:flex tw:shrink-0 tw:items-center';\n\n// The focus ring is **inset**, not an outline. `TabsList` wraps the row in a horizontal\n// `ScrollArea`, whose viewport is `overflow-y: hidden`, and a trigger is exactly as tall as that\n// viewport — so there is 0px of slack for anything painted outside the border box, and a focus\n// outline (the browser's, or a host app's global rule) gets cropped on the top and bottom edges,\n// plus the left edge on the first trigger. Painting inside the box cannot be clipped by any\n// ancestor. Owning the affordance here is also what stops the consumer's global rule applying.\nexport const tabsTriggerClass =\n 'tw:focus-visible:outline-hidden tw:focus-visible:ring-2 tw:focus-visible:ring-inset tw:focus-visible:ring-ring tw:flex tw:justify-center tw:items-center tw:gap-1.5 tw:bg-transparent tw:shrink-0 tw:border-t-0 tw:border-x-0 tw:border-b-[3px] tw:border-solid tw:border-transparent tw:pt-2.5 tw:pb-5 tw:px-0 tw:m-0 tw:font-medium tw:leading-5 tw:text-muted-foreground tw:text-base tw:data-[state=active]:text-primary tw:data-[state=active]:border-primary tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50 tw:data-[disabled]:cursor-not-allowed tw:group-hover/tab-trigger-group:enabled:text-primary tw:group-hover/tab-trigger-group:enabled:border-primary tw:group-hover/tab-trigger-group:enabled:cursor-pointer';\n\nexport const tabsTriggerCompactClass = 'tw:text-sm tw:pb-4';\n","import * as RadixTabs from '@radix-ui/react-tabs';\n\nimport { cn } from '../../utils';\nimport { ScrollArea } from '../ScrollArea';\n\nimport { tabsListClass, tabsListWrapperClass } from './styles';\n\ntype Props = Omit<RadixTabs.TabsListProps, 'asChild'>;\n\nexport const TabsList = ({ className, children, ...rest }: Props) => (\n <ScrollArea orientation=\"horizontal\" className={tabsListWrapperClass}>\n <RadixTabs.List {...rest} data-slot=\"tabs-list\" className={cn(tabsListClass, className)}>\n {children}\n </RadixTabs.List>\n </ScrollArea>\n);\n","import * as RadixTabs from '@radix-ui/react-tabs';\n\nimport { cn } from '../../utils';\n\nimport { tabsTriggerClass, tabsTriggerCompactClass } from './styles';\n\ntype Props = Omit<RadixTabs.TabsTriggerProps, 'asChild'> & {\n compact?: boolean;\n};\n\nexport const TabsTrigger = ({ className, compact = false, ...rest }: Props) => (\n <RadixTabs.Trigger\n data-slot=\"tabs-trigger\"\n {...rest}\n className={cn(tabsTriggerClass, compact && tabsTriggerCompactClass, className)}\n />\n);\n","import type { ReactNode } from 'react';\nimport * as RadixTabs from '@radix-ui/react-tabs';\n\nimport { X } from '../../icons';\nimport { cn } from '../../utils';\nimport { Button } from '../Button';\n\nimport { tabsTriggerGroupClass } from './styles';\nimport { TabsList } from './TabsList';\nimport { TabsTrigger } from './TabsTrigger';\n\nexport type Trigger<T extends string> = {\n value: T;\n title: ReactNode;\n onClose?: (value: T) => void;\n} & Omit<RadixTabs.TabsTriggerProps, 'title' | 'asChild'>;\n\ntype Props<T extends string> = {\n triggers: readonly Trigger<T>[];\n compact?: boolean;\n children: ReactNode;\n defaultValue?: string;\n onValueChange?: (value: T) => void;\n rootClassName?: string;\n listClassName?: string;\n triggerClassName?: string;\n triggerGroupClassName?: string;\n} & Omit<RadixTabs.TabsProps, 'onValueChange'>;\n\nexport const Tabs = <T extends string>({\n triggers,\n compact = false,\n children,\n defaultValue,\n onValueChange,\n rootClassName,\n listClassName,\n triggerClassName,\n triggerGroupClassName,\n ...rest\n}: Props<T>) => (\n <RadixTabs.Root\n {...rest}\n data-slot=\"tabs-root\"\n className={cn('tw:flex tw:flex-col tw:gap-6', rootClassName)}\n defaultValue={defaultValue ?? triggers[0]?.value}\n onValueChange={onValueChange as (value: string) => void}\n >\n <TabsList className={listClassName}>\n {triggers.map(({ value, title, onClose, className: callerClassName, ...triggerRest }) => (\n <div\n key={value}\n className={cn(tabsTriggerGroupClass, triggerGroupClassName)}\n data-slot=\"tabs-trigger-group\"\n >\n <TabsTrigger\n value={value}\n compact={compact}\n {...triggerRest}\n className={cn(triggerClassName, callerClassName)}\n >\n {title}\n </TabsTrigger>\n {onClose && (\n <Button\n type=\"button\"\n variant=\"inline\"\n size=\"icon-3xs\"\n disabled={triggerRest.disabled}\n onClick={() => onClose(value)}\n onMouseDown={(e) => e.preventDefault()}\n className=\"tw:!size-8 tw:opacity-0 tw:duration-200 tw:focus-visible:opacity-100 tw:group-focus-within/tab-trigger-group:opacity-100 tw:group-hover/tab-trigger-group:opacity-100\"\n aria-label={typeof title === 'string' ? `Close ${title}` : 'Close tab'}\n >\n <X className=\"tw:size-4\" />\n </Button>\n )}\n </div>\n ))}\n </TabsList>\n {children}\n </RadixTabs.Root>\n);\n","import * as RadixTabs from '@radix-ui/react-tabs';\n\nexport const TabsContent = (props: RadixTabs.TabsContentProps) => (\n <RadixTabs.Content data-slot=\"tabs-content\" tabIndex={-1} {...props} />\n);\n"]}