@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 @@
1
+ {"version":3,"sources":["../src/components/Combobox/utils.ts","../src/components/Combobox/ComboboxChips.tsx","../src/components/Combobox/ComboboxContent.tsx","../src/components/Combobox/ComboboxEmpty.tsx","../src/components/Combobox/ComboboxInput.tsx","../src/components/Combobox/ComboboxInputGroup.tsx","../src/components/Combobox/ComboboxItemIndicator.tsx","../src/components/Combobox/ComboboxItem.tsx","../src/components/Combobox/ComboboxList.tsx","../src/components/Combobox/ComboboxRoot.tsx","../src/components/Combobox/ComboboxSeparator.tsx","../src/components/Combobox/Group/ComboboxGroup.tsx","../src/components/Combobox/Group/ComboboxGroupLabel.tsx","../src/components/Combobox/Group/ComboboxCollection.tsx","../src/components/Combobox/Combobox.tsx"],"names":["BaseCombobox","jsx","jsxs","value"],"mappings":"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","file":"chunk-5AIE6SET.js","sourcesContent":["import type { CreatableItem, Group, InternalItems, LabeledItem, SelectAllItem } from './types';\n\nconst isPlainObject = (item: unknown): item is Record<string, unknown> =>\n item !== null && typeof item === 'object';\n\nconst isNumber = (item: unknown): item is number => typeof item === 'number';\nconst isString = (item: unknown): item is string => typeof item === 'string';\n\nexport const isLabeledItem = (item: unknown): item is LabeledItem =>\n isPlainObject(item) && Reflect.has(item, 'label') && Reflect.has(item, 'value');\n\nconst isInternalItem = (item: unknown): item is InternalItems =>\n isLabeledItem(item) && '__marker' in item;\n\nexport const isSelectAllItem = (item: unknown): item is SelectAllItem =>\n isInternalItem(item) && item.__marker === 'selectAll';\n\nexport const isCreatableItem = (item: unknown): item is CreatableItem => {\n return isInternalItem(item) && item.__marker === 'creatable';\n};\n\nexport const isGroupItem = <Item>(itemOrGroup: Item | Group<Item>): itemOrGroup is Group<Item> =>\n itemOrGroup !== null && typeof itemOrGroup === 'object' && Reflect.has(itemOrGroup, 'items');\n\nexport const isGroupItems = <Item, GroupShape extends Group<Item> = Group<Item>>(\n items: readonly (Item | GroupShape)[],\n): items is GroupShape[] => {\n if (!Array.isArray(items)) return false;\n if (items.length === 0) return false; // Base UI treats an empty items array as non-grouped, so we must too for consistency\n return isGroupItem(items[0]); // Base UI only checks the first item to determine if it's a group or not, so we do the same for consistency\n};\n\nexport const defaultItemToLabel = <Item>(item: Item) => {\n if (isNumber(item) || isString(item)) return item;\n if (!isLabeledItem(item))\n throw new Error(\n 'Combobox: Item does not have a `label` field. Pass `itemToLabel` for custom item shapes.',\n );\n\n return item.label;\n};\n\n/** Display string for an item — mirrors base-ui's own default logic. */\nexport const toLabel = (item: unknown): string => {\n if (isString(item)) return item;\n if (isLabeledItem(item)) {\n if (item.label) return item.label;\n if (item.value) return item.value;\n }\n return String(item);\n};\n\n/** Equality key for an item — prefers .value for stable identity. */\nexport const toValueKey = (item: unknown): string => {\n if (isString(item)) return item;\n if (isLabeledItem(item)) {\n if (item.value) return item.value;\n if (item.label) return item.label;\n }\n return String(item);\n};\n\nexport const defaultItemToIcon = <Item>(item: Item) =>\n isLabeledItem(item) ? item.icon : undefined;\n\nexport const defaultItemToDisabled = <Item>(item: Item) =>\n isLabeledItem(item) ? (item.disabled ?? false) : false;\n\nexport const defaultGroupToLabel = () => undefined;\n\n// Internal markers ------------------------------------------------------------\n// Both `selectAll` and `creatable` are LabeledItem-shaped sentinels that we\n// inject into the items list passed to Base UI. They carry a `__marker`\n// discriminator so consumer code (and user-supplied callbacks) can't collide\n// with them by accident.\n\nexport const selectAllItem: SelectAllItem = {\n __marker: 'selectAll',\n value: '__select_all__',\n label: 'Select All',\n};\n\nexport const createCreatableItem = (query: string): CreatableItem => ({\n __marker: 'creatable',\n value: query,\n label: query,\n});\n\nexport const defaultToCreateValue = <Value>(\n query: string,\n value: Value | undefined,\n queryToCreateValue?: (query: string) => Value,\n): Value => {\n if (queryToCreateValue) return queryToCreateValue(query);\n if (value === undefined) return query as Value;\n if (isString(value)) return query as Value;\n if (isLabeledItem(value)) return { value: query, label: query } as Value;\n throw new Error(\n 'Combobox: Cannot infer item shape for `allowCreate`. Pass `queryToCreateValue` for custom item shapes.',\n );\n};\n\nexport const defaultQueryToCreateLabel = (query: string) => `Create \"${query}\"`;\n","import type { ComponentProps, ReactNode } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { X } from '../../icons';\nimport { Badge } from '../Badge';\n\nimport { defaultItemToLabel } from './utils';\n\ntype BadgeColor = ComponentProps<typeof Badge>['color'];\ntype BadgeVariant = ComponentProps<typeof Badge>['variant'];\n\ntype Props<Value> = {\n maxVisible?: number;\n itemToChipLabel?: (item: Value) => ReactNode;\n itemToChipColor?: (item: Value) => BadgeColor;\n variant?: BadgeVariant;\n};\n\nexport const ComboboxChips = <Value,>({\n maxVisible = 3,\n itemToChipLabel = defaultItemToLabel,\n itemToChipColor,\n variant = 'pill',\n}: Props<Value>) => (\n <BaseCombobox.Value>\n {(values: Value[]) => {\n if (!values.length) return null;\n\n const visible = values.slice(0, maxVisible);\n const overflow = values.slice(maxVisible);\n\n return (\n <>\n {visible.map((value: Value, index) => (\n <BaseCombobox.Chip\n // oxlint-disable-next-line react/no-array-index-key\n key={index}\n render={\n <Badge.Root\n color={itemToChipColor?.(value)}\n className=\"tw:max-w-40\"\n variant={variant}\n />\n }\n >\n <Badge.Label>{itemToChipLabel(value)}</Badge.Label>\n <Badge.Addon variant=\"inline\" align=\"inline-end\">\n <BaseCombobox.ChipRemove\n render={\n <Badge.Button aria-label=\"Remove value\">\n <X className=\"tw:size-3\" />\n </Badge.Button>\n }\n />\n </Badge.Addon>\n </BaseCombobox.Chip>\n ))}\n\n {overflow.length > 0 && (\n <Badge.Root variant=\"pill\">\n <Badge.Label>+{overflow.length}</Badge.Label>\n </Badge.Root>\n )}\n </>\n );\n }}\n </BaseCombobox.Value>\n);\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../utils';\nimport { useArgoDesign } from '../ThemeProvider/context';\n\ntype PortalProps = ComponentProps<typeof BaseCombobox.Portal>;\ntype PositionerProps = ComponentProps<typeof BaseCombobox.Positioner>;\ntype PopupProps = Omit<ComponentProps<typeof BaseCombobox.Popup>, 'className'> & {\n className?: string;\n};\n\ntype Variant = 'default' | 'argo';\n\ntype Props = PopupProps &\n Pick<PositionerProps, 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor'> &\n Pick<PortalProps, 'container'>;\n\nexport const ComboboxContent = ({\n ref,\n align = 'start',\n side = 'bottom',\n sideOffset = 4,\n alignOffset,\n anchor,\n container,\n className,\n children,\n ...popupProps\n}: Props) => {\n const effectiveVariant: Variant = useArgoDesign() ? 'argo' : 'default';\n return (\n <BaseCombobox.Portal container={container}>\n <BaseCombobox.Positioner\n align={align}\n side={side}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n anchor={anchor}\n className=\"tw:isolate tw:z-[1055] tailwindcss-preflight\"\n >\n <BaseCombobox.Popup\n ref={ref}\n data-chips={!!anchor}\n data-variant={effectiveVariant}\n className={cn(\n 'tw:!pointer-events-auto',\n 'tw:group/combobox-content',\n 'tw:relative',\n 'tw:flex tw:flex-col tw:overflow-hidden',\n\n // sizing\n 'tw:max-h-[var(--available-height)]',\n 'tw:w-[var(--anchor-width)]',\n 'tw:max-w-[var(--available-width)]',\n 'tw:origin-[var(--transform-origin)]',\n 'tw:data-[chips=true]:min-w-[var(--anchor-width)]',\n\n // appearance\n 'tw:rounded-lg',\n 'tw:data-[variant=default]:rounded',\n\n 'tw:bg-popover',\n 'tw:text-popover-foreground',\n 'tw:shadow-md',\n 'tw:ring-1',\n 'tw:ring-foreground/10',\n 'tw:duration-100',\n\n // open animation\n 'data-open:animate-in',\n 'data-open:fade-in-0',\n 'data-open:zoom-in-95',\n\n // closed animation\n 'data-closed:animate-out',\n 'data-closed:fade-out-0',\n 'data-closed:zoom-out-95',\n\n // position animations\n 'tw:data-[side=bottom]:slide-in-from-top-2',\n 'tw:data-[side=top]:slide-in-from-bottom-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=inline-start]:slide-in-from-right-2',\n 'tw:data-[side=inline-end]:slide-in-from-left-2',\n className,\n )}\n {...popupProps}\n >\n {children}\n </BaseCombobox.Popup>\n </BaseCombobox.Positioner>\n </BaseCombobox.Portal>\n );\n};\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../utils';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.Empty>, 'className'> & {\n className?: string;\n};\n\nexport const ComboboxEmpty = ({ ref, className, ...props }: Props) => (\n <BaseCombobox.Empty\n ref={ref}\n className={cn(\n 'tw:hidden',\n 'tw:group-data-[empty]/combobox-content:flex',\n 'tw:justify-center',\n 'tw:items-center',\n 'tw:text-center',\n 'tw:px-2',\n 'tw:text-muted-foreground',\n 'tw:py-6',\n className,\n )}\n {...props}\n />\n);\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { InputGroup } from '../InputGroup';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.Input>, 'render'>;\n\nexport const ComboboxInput = ({ ref, ...props }: Props) => (\n <BaseCombobox.Input {...props} ref={ref} render={<InputGroup.Input />} />\n);\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { InputGroup } from '../InputGroup';\n\ntype InputGroupProps = Pick<\n ComponentProps<typeof InputGroup>,\n 'variant' | 'focusVariant' | 'sizing' | 'state'\n>;\n\ntype Props = InputGroupProps &\n Omit<ComponentProps<typeof BaseCombobox.InputGroup>, 'render' | 'className'> & {\n className?: string;\n };\n\nexport const ComboboxInputGroup = ({\n ref,\n state,\n variant,\n sizing,\n focusVariant,\n className,\n ...props\n}: Props) => (\n <BaseCombobox.InputGroup\n {...props}\n ref={ref}\n render={\n <InputGroup\n state={state}\n variant={variant}\n focusVariant={focusVariant}\n sizing={sizing}\n className={className}\n />\n }\n />\n);\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { Check } from '../../icons';\nimport { cn } from '../../utils';\n\ntype Variant = 'check' | 'checkbox';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.ItemIndicator>, 'className' | 'children'> & {\n className?: string;\n variant?: Variant;\n};\n\nexport const ComboboxItemIndicator = ({ ref, className, variant = 'check', ...props }: Props) => {\n if (variant === 'checkbox') {\n return (\n <BaseCombobox.ItemIndicator\n ref={ref}\n keepMounted\n className={cn(\n 'tw:group/combobox-item-indicator',\n\n 'tw:inline-flex',\n 'tw:items-center',\n 'tw:justify-center',\n 'tw:size-4',\n 'tw:shrink-0',\n\n 'tw:rounded',\n 'tw:border',\n 'tw:border-input',\n 'tw:bg-background',\n\n 'tw:data-[selected]:bg-primary',\n 'tw:data-[selected]:border-primary',\n className,\n )}\n {...props}\n >\n <Check\n className={cn(\n 'tw:hidden',\n 'tw:size-3',\n 'tw:stroke-[4px]',\n 'tw:!text-primary-foreground',\n 'tw:group-data-[selected]/combobox-item-indicator:block',\n )}\n />\n </BaseCombobox.ItemIndicator>\n );\n }\n\n return (\n <BaseCombobox.ItemIndicator\n {...props}\n ref={ref}\n className={cn(\n 'tw:pointer-events-none',\n 'tw:absolute',\n 'tw:right-2',\n\n 'tw:group-data-[variant=default]/combobox-content:right-4',\n // `render={<Check />}` makes the icon the indicator element itself (not a descendant), so a\n // `[&_svg]` rule never matches it — size it directly or Lucide renders at its 24px default.\n 'tw:size-4',\n 'tw:group-data-[highlighted]/combobox-item:text-accent-foreground',\n 'tw:group-data-[variant=default]/combobox-content:group-data-[highlighted]/combobox-item:text-foreground',\n className,\n )}\n render={<Check />}\n />\n );\n};\n","import type { ComponentProps, ReactNode } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../utils';\n\nimport { ComboboxItemIndicator } from './ComboboxItemIndicator';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.Item>, 'className'> & {\n className?: string;\n icon?: ReactNode;\n indicator?: ComponentProps<typeof ComboboxItemIndicator>['variant'];\n};\n\nexport const ComboboxItem = ({\n ref,\n className,\n children,\n icon,\n indicator: variant = 'check',\n ...props\n}: Props) => (\n <BaseCombobox.Item\n {...props}\n ref={ref}\n data-slot=\"combobox-item\"\n className={cn(\n 'tw:group/combobox-item',\n // layout\n 'tw:relative',\n 'tw:flex',\n 'tw:flex-1',\n 'tw:items-center',\n 'tw:gap-2',\n\n // spacing\n 'tw:py-2',\n 'tw:px-2',\n 'tw:group-data-[variant=default]/combobox-content:px-4',\n 'tw:rounded-lg',\n 'tw:group-data-[variant=default]/combobox-content:rounded-none',\n\n // typography\n 'tw:text-sm',\n 'tw:select-none',\n 'tw:cursor-default',\n 'tw:outline-hidden',\n\n // highlighted (keyboard / hover)\n 'tw:data-[highlighted]:bg-accent',\n 'tw:group-data-[variant=default]/combobox-content:data-[highlighted]:bg-neutral-100',\n 'tw:data-[highlighted]:text-accent-foreground',\n 'tw:group-data-[variant=default]/combobox-content:data-[highlighted]:text-foreground',\n\n // disabled\n 'tw:data-disabled:pointer-events-none',\n 'tw:data-disabled:opacity-50',\n\n // child svg defaults\n 'tw:[&_svg]:pointer-events-none',\n 'tw:[&_svg]:shrink-0',\n 'tw:[&_svg]:text-muted-foreground',\n \"tw:[&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n >\n {<ComboboxItemIndicator variant={variant} />}\n {icon}\n <span className=\"tw:truncate\">{children}</span>\n </BaseCombobox.Item>\n);\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../utils';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.List>, 'className'> & {\n className?: string;\n};\n\nexport const ComboboxList = ({ ref, className, ...props }: Props) => (\n <BaseCombobox.List\n ref={ref}\n className={cn(\n 'tw:no-scrollbar',\n 'tw:scroll-py-1',\n 'tw:overflow-y-auto',\n 'tw:overscroll-contain',\n 'tw:min-h-0',\n 'tw:flex-1',\n\n 'tw:p-2',\n 'tw:data-[empty]:p-0',\n 'tw:group-data-[variant=default]/combobox-content:p-0',\n className,\n )}\n {...props}\n />\n);\n","import { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nexport const ComboboxRoot = <Value, Multiple extends boolean | undefined = false>(\n props: BaseCombobox.Root.Props<Value, Multiple>,\n) => <BaseCombobox.Root {...props} />;\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../utils';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.Separator>, 'className'> & {\n className?: string;\n};\n\nexport const ComboboxSeparator = ({ ref, className, ...props }: Props) => (\n <BaseCombobox.Separator\n ref={ref}\n className={cn('tw:mx-2 tw:my-1 tw:h-px tw:bg-border', className)}\n {...props}\n />\n);\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../../utils';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.Group>, 'className'> & {\n className?: string;\n};\n\nexport const ComboboxGroup = ({ ref, className, children, ...props }: Props) => (\n <BaseCombobox.Group\n ref={ref}\n className={cn('tw:flex tw:flex-col tw:gap-0.5', className)}\n {...props}\n >\n {children}\n </BaseCombobox.Group>\n);\n","import { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../../utils';\n\ntype Props = Omit<BaseCombobox.GroupLabel.Props, 'className'> & {\n className?: string;\n};\n\nexport const ComboboxGroupLabel = ({ ref, className, ...props }: Props) => (\n <BaseCombobox.GroupLabel\n {...props}\n ref={ref}\n className={cn(\n // Base (argo variant) — soft gray section label.\n 'tw:px-2',\n 'tw:py-1.5',\n 'tw:text-xs',\n 'tw:font-medium',\n 'tw:leading-none',\n 'tw:text-muted-foreground',\n\n 'tw:group-data-[variant=default]/combobox-content:uppercase',\n 'tw:group-data-[variant=default]/combobox-content:font-semibold',\n 'tw:group-data-[variant=default]/combobox-content:tracking-wider',\n 'tw:group-data-[variant=default]/combobox-content:text-[11px]',\n 'tw:group-data-[variant=default]/combobox-content:text-black',\n 'tw:group-data-[variant=default]/combobox-content:pt-2',\n 'tw:group-data-[variant=default]/combobox-content:px-4',\n\n className,\n )}\n />\n);\n","import { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\ntype Props = BaseCombobox.Collection.Props;\n\nexport const ComboboxCollection = ({ ...props }: Props) => (\n <BaseCombobox.Collection data-slot=\"combobox-collection\" {...props} />\n);\n","import {\n type ComponentProps,\n type CSSProperties,\n type ReactNode,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\nimport { useVirtualizer } from '@tanstack/react-virtual';\n\nimport { ChevronDown, Plus, X } from '../../icons';\nimport { InputGroup } from '../InputGroup';\n\nimport { ComboboxChips } from './ComboboxChips';\nimport { ComboboxContent } from './ComboboxContent';\nimport { ComboboxEmpty } from './ComboboxEmpty';\nimport { ComboboxInput } from './ComboboxInput';\nimport { ComboboxInputGroup } from './ComboboxInputGroup';\nimport { ComboboxItem } from './ComboboxItem';\nimport { ComboboxList } from './ComboboxList';\nimport { ComboboxRoot } from './ComboboxRoot';\nimport { ComboboxSeparator } from './ComboboxSeparator';\nimport { ComboboxCollection, ComboboxGroup, ComboboxGroupLabel } from './Group';\nimport type { Group } from './types';\nimport {\n createCreatableItem,\n defaultGroupToLabel,\n defaultItemToDisabled,\n defaultItemToIcon,\n defaultItemToLabel,\n defaultQueryToCreateLabel,\n defaultToCreateValue,\n isCreatableItem,\n isGroupItem,\n isGroupItems,\n toLabel,\n toValueKey,\n} from './utils';\n\n// Above this many (ungrouped) items, the list is windowed with `@tanstack/react-virtual` so only\n// the visible rows hit the DOM. Base UI keeps keyboard nav + filtering working against the full\n// `items` set (via `virtualized`), so search is unaffected.\nconst VIRTUALIZE_THRESHOLD = 30;\nconst ESTIMATED_ROW_HEIGHT = 40;\nconst ESTIMATED_LIST_HEIGHT = 320;\n\ntype ComboboxProps<Value> = BaseCombobox.Root.Props<Value, false>;\ntype ComboboxInputProps = ComponentProps<typeof ComboboxInput>;\ntype ComboboxInputGroupProps = ComponentProps<typeof ComboboxInputGroup>;\ntype ComboboxItemProps = ComponentProps<typeof ComboboxItem>;\n\ntype Indicator = NonNullable<ComboboxItemProps['indicator']>;\n\ntype PublicComboboxInputProps = Pick<ComboboxInputProps, 'placeholder' | 'id'> &\n Pick<ComboboxInputGroupProps, 'variant' | 'focusVariant' | 'sizing' | 'state' | 'className'>;\n\ntype PublicComboboxProps<Value> = Pick<\n ComboboxProps<Value>,\n | 'disabled'\n | 'inputRef'\n | 'value'\n | 'defaultValue'\n | 'onValueChange'\n | 'itemToStringLabel'\n | 'itemToStringValue'\n | 'filter'\n | 'onOpenChangeComplete'\n | 'isItemEqualToValue'\n>;\n\ntype CreatableProps<Value> = {\n allowCreate?: boolean;\n queryToCreateLabel?: (query: string) => ReactNode;\n queryToCreateValue?: (query: string) => Value;\n};\n\ntype Props<Value, GroupShape extends Group<Value> = Group<Value>> = PublicComboboxInputProps &\n PublicComboboxProps<Value> &\n CreatableProps<Value> & {\n items?: readonly (Value | GroupShape)[];\n\n // root specific\n allowClear?: boolean;\n empty?: ReactNode;\n indicator?: Indicator;\n prefix?: ReactNode;\n /**\n * Window the list with a virtualizer so large option sets stay fast. Opt-in — defaults to\n * `false` to keep behavior unchanged for existing call sites (every option stays in the DOM).\n * Pass `'auto'` to virtualize only ungrouped lists longer than {@link VIRTUALIZE_THRESHOLD},\n * or `true` to force it. Grouped lists are never virtualized.\n */\n virtualized?: boolean | 'auto';\n\n // item specific\n itemToLabel?: (item: Value) => ReactNode;\n itemToIcon?: (item: Value) => ReactNode;\n itemToDisabled?: (item: Value) => boolean;\n\n // group specific\n groupToLabel?: (group: GroupShape) => ReactNode;\n };\n\nexport const Combobox = <Value, GroupShape extends Group<Value> = Group<Value>>({\n // root props\n items: _itemsProp,\n value,\n defaultValue,\n onValueChange,\n itemToStringLabel: itemToStringLabelProp,\n itemToStringValue,\n disabled,\n filter,\n inputRef,\n onOpenChangeComplete,\n isItemEqualToValue: isItemEqualToValueProp,\n\n // input props\n variant,\n sizing,\n focusVariant,\n state,\n placeholder,\n allowClear,\n id,\n className,\n\n // own props\n empty = 'No items',\n indicator,\n prefix,\n virtualized = false,\n\n // creatable\n allowCreate,\n queryToCreateValue,\n queryToCreateLabel = defaultQueryToCreateLabel,\n\n // own item props\n itemToDisabled = defaultItemToDisabled,\n itemToLabel = defaultItemToLabel,\n itemToIcon = defaultItemToIcon,\n groupToLabel = defaultGroupToLabel,\n}: Props<Value, GroupShape>) => {\n const closeReasonRef = useRef<'outside-click' | 'item-press' | 'creatable-item-press' | 'none'>(\n 'none',\n );\n const [inputValue, setInputValue] = useState(() => {\n const initial = value !== undefined ? value : defaultValue;\n if (initial == null) return '';\n return itemToStringLabelProp?.(initial) ?? toLabel(initial);\n });\n\n useEffect(() => {\n if (value === undefined) return;\n const label = value === null ? '' : (itemToStringLabelProp?.(value) ?? toLabel(value));\n setInputValue((prev) => (prev === label ? prev : label));\n }, [value]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const selectedLabel =\n value == null ? undefined : (itemToStringLabelProp?.(value) ?? toLabel(value));\n // While the input still shows the current selection's label (nothing typed since the popup\n // opened), treat it as an empty query so the whole list stays browsable. Otherwise the combobox\n // filters down to just the selected item and you can't switch to a different, unrelated one\n // without clearing first.\n const isShowingSelection = selectedLabel !== undefined && inputValue === selectedLabel;\n const query = (isShowingSelection ? '' : inputValue).trim();\n const queryLower = query.toLowerCase();\n\n const itemsProp = _itemsProp ?? [];\n const sampleItem = itemsProp.flatMap((item) => (isGroupItem(item) ? item.items : [item]))[0];\n\n const [createdItems, setCreatedItems] = useState<Value[]>([]);\n\n const allItems = (() => {\n if (createdItems.length === 0) return itemsProp as (Value | GroupShape)[];\n if (isGroupItems(itemsProp))\n return [...itemsProp, { items: createdItems } as unknown as GroupShape];\n return [...itemsProp, ...createdItems];\n })();\n\n const items = (() => {\n if (!allowCreate || disabled) return allItems;\n if (!query) return allItems;\n const exactMatch = allItems\n .flatMap((item) => (isGroupItem(item) ? item.items : [item]))\n .some(\n (item) => (itemToStringLabelProp?.(item) ?? toLabel(item)).toLowerCase() === queryLower,\n );\n if (exactMatch) return allItems;\n\n const creatable = isGroupItems(itemsProp)\n ? [{ items: [createCreatableItem(query)] }]\n : [createCreatableItem(query)];\n\n return [...allItems, ...creatable];\n })();\n\n const itemToStringLabel: ComboboxProps<Value>['itemToStringLabel'] = (value) => {\n if (isCreatableItem(value)) return value.value;\n return itemToStringLabelProp?.(value) ?? toLabel(value);\n };\n\n const wrappedFilter: ComboboxProps<Value>['filter'] = isShowingSelection\n ? () => true\n : !allowCreate || !filter\n ? filter\n : (item, ...args) => isCreatableItem(item) || filter(item, ...args);\n\n const wrappedItemToStringValue: ComboboxProps<Value>['itemToStringValue'] =\n !allowCreate || !itemToStringValue\n ? itemToStringValue\n : (item) => (isCreatableItem(item) ? item.value : itemToStringValue(item));\n\n const isItemEqualToValue: ComboboxProps<Value>['isItemEqualToValue'] = (a, b) => {\n if (isCreatableItem(a) || isCreatableItem(b)) return toValueKey(a) === toValueKey(b);\n return isItemEqualToValueProp?.(a, b) ?? Object.is(a, b);\n };\n\n const handleInputValueChange: NonNullable<ComboboxProps<Value>['onInputValueChange']> = (\n value,\n { reason },\n ) => {\n if (\n ['input-clear', 'none'].includes(reason) &&\n ['item-press', 'creatable-item-press'].includes(closeReasonRef.current)\n ) {\n closeReasonRef.current = 'none';\n return;\n }\n\n if (reason === 'none' && closeReasonRef.current == 'outside-click') {\n closeReasonRef.current = 'none';\n setInputValue(value);\n return;\n }\n\n setInputValue(value);\n };\n\n const handleOnOpenChangeComplete: NonNullable<ComboboxProps<Value>['onOpenChangeComplete']> = (\n open,\n ) => {\n onOpenChangeComplete?.(open);\n if (open) return;\n if (closeReasonRef.current !== 'none') return;\n closeReasonRef.current = 'outside-click';\n };\n\n const handleOnValueChange: ComboboxProps<Value>['onValueChange'] = (next, event) => {\n if (isCreatableItem(next)) {\n const newValue = defaultToCreateValue(next.value, sampleItem, queryToCreateValue) as Value;\n closeReasonRef.current = 'creatable-item-press';\n setCreatedItems((prev) => [...prev, newValue]);\n onValueChange?.(newValue, event);\n return;\n }\n\n closeReasonRef.current = 'item-press';\n onValueChange?.(next, event);\n };\n\n // State-backed (not a ref) so a re-render fires when the popup mounts/remounts — Base UI unmounts\n // the list on close, and the virtualizer must re-observe the fresh element on each reopen or it\n // measures a stale/detached node and paints nothing.\n const [listElement, setListElement] = useState<HTMLDivElement | null>(null);\n // Base the decision on `allItems` (the real options) rather than `items`, which also holds the\n // transient creatable row — otherwise virtualization could toggle on/off as the user types.\n const isGrouped = isGroupItems(allItems);\n const shouldVirtualize =\n !isGrouped &&\n (virtualized === true || (virtualized === 'auto' && allItems.length > VIRTUALIZE_THRESHOLD));\n\n // In virtualized mode we pre-filter here and disable Base UI's filter with `null` (see the Root\n // `filter` prop — `undefined` would keep Base UI's default `contains`, which re-filters our items\n // with a different predicate and wrongly drives the empty state + keyboard nav). The creatable\n // row is always kept.\n const matchesQuery = (item: Value) => {\n if (isCreatableItem(item)) return true;\n if (!query) return true;\n if (filter) return !!filter(item, query, (value) => itemToStringLabel(value) ?? toLabel(value));\n return (itemToStringLabel(item) ?? toLabel(item)).toLowerCase().includes(queryLower);\n };\n\n const virtualItems = shouldVirtualize ? (items as Value[]).filter(matchesQuery) : [];\n\n const virtualizer = useVirtualizer({\n count: virtualItems.length,\n getScrollElement: () => listElement,\n estimateSize: () => ESTIMATED_ROW_HEIGHT,\n overscan: 12,\n enabled: shouldVirtualize,\n // Seed a viewport height so rows paint on the first frame. Without it the list measures 0 until\n // the ResizeObserver fires (a frame later), which renders an empty popup on open.\n initialRect: { width: 0, height: ESTIMATED_LIST_HEIGHT },\n });\n\n const renderItem = (item: Value, index?: number) => {\n if (isCreatableItem(item)) {\n return (\n <Combobox.Item index={index} value={item} icon={<Plus />}>\n {queryToCreateLabel(item.value)}\n </Combobox.Item>\n );\n }\n\n return (\n <Combobox.Item\n index={index}\n value={item}\n indicator={indicator}\n icon={itemToIcon(item)}\n disabled={itemToDisabled(item)}\n >\n {itemToLabel(item)}\n </Combobox.Item>\n );\n };\n\n const rowStyle = (offset: number): CSSProperties => ({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n transform: `translateY(${offset}px)`,\n });\n\n return (\n <BaseCombobox.Root<Value, false>\n items={shouldVirtualize ? virtualItems : items}\n value={value}\n defaultValue={defaultValue}\n filter={shouldVirtualize ? null : wrappedFilter}\n onValueChange={handleOnValueChange}\n itemToStringLabel={itemToStringLabel}\n isItemEqualToValue={isItemEqualToValue}\n itemToStringValue={wrappedItemToStringValue}\n onOpenChangeComplete={handleOnOpenChangeComplete}\n disabled={disabled}\n inputRef={inputRef}\n inputValue={inputValue}\n onInputValueChange={handleInputValueChange}\n virtualized={shouldVirtualize}\n onItemHighlighted={(_, details) => {\n if (shouldVirtualize && details.reason === 'keyboard') {\n virtualizer.scrollToIndex(details.index);\n }\n }}\n >\n <ComboboxInputGroup\n variant={variant}\n sizing={sizing}\n state={state}\n focusVariant={focusVariant}\n className={className}\n >\n {prefix && <InputGroup.Addon align=\"inline-start\">{prefix}</InputGroup.Addon>}\n <ComboboxInput id={id} placeholder={placeholder} disabled={disabled} />\n <InputGroup.Addon align=\"inline-end\">\n {allowClear && (\n <InputGroup.Button asChild aria-label=\"Clear\" disabled={disabled}>\n <BaseCombobox.Clear>\n <X className=\"tw:size-4\" />\n </BaseCombobox.Clear>\n </InputGroup.Button>\n )}\n <InputGroup.Button disabled={disabled} asChild aria-label=\"Open combobox\">\n <BaseCombobox.Trigger>\n <ChevronDown className=\"tw:size-4\" />\n </BaseCombobox.Trigger>\n </InputGroup.Button>\n </InputGroup.Addon>\n </ComboboxInputGroup>\n <ComboboxContent>\n <ComboboxEmpty>{empty}</ComboboxEmpty>\n {shouldVirtualize ? (\n <ComboboxList ref={setListElement}>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: `${virtualizer.getTotalSize()}px`,\n }}\n >\n {virtualizer.getVirtualItems().map((row) => {\n const item = virtualItems[row.index];\n if (item === undefined) return null;\n return (\n <div\n key={row.key}\n data-index={row.index}\n ref={virtualizer.measureElement}\n style={rowStyle(row.start)}\n >\n {renderItem(item, row.index)}\n </div>\n );\n })}\n </div>\n </ComboboxList>\n ) : (\n <ComboboxList>\n {(itemOrGroup: Value | GroupShape) => {\n if (isCreatableItem(itemOrGroup))\n return (\n <Combobox.Item value={itemOrGroup} icon={<Plus />}>\n {queryToCreateLabel(itemOrGroup.value)}\n </Combobox.Item>\n );\n\n if (isGroupItem(itemOrGroup)) {\n const maybeCreatable = itemOrGroup.items[0];\n\n if (isCreatableItem(maybeCreatable)) {\n return (\n <Combobox.Item value={maybeCreatable} icon={<Plus />}>\n {queryToCreateLabel(maybeCreatable.value)}\n </Combobox.Item>\n );\n }\n\n const groupLabel = groupToLabel(itemOrGroup);\n\n return (\n <Combobox.Group items={itemOrGroup.items}>\n {groupLabel && <Combobox.GroupLabel>{groupLabel}</Combobox.GroupLabel>}\n {/* Don't forward `renderItem` by reference — the collection passes its\n group-local index, which ComboboxItem uses verbatim and breaks keyboard\n nav. Drop it so the item falls back to its own global list index. */}\n <Combobox.GroupList>{(item: Value) => renderItem(item)}</Combobox.GroupList>\n </Combobox.Group>\n );\n }\n\n return renderItem(itemOrGroup);\n }}\n </ComboboxList>\n )}\n </ComboboxContent>\n </BaseCombobox.Root>\n );\n};\n\n// Base\nCombobox.Root = ComboboxRoot;\nCombobox.InputGroup = ComboboxInputGroup;\nCombobox.Input = ComboboxInput;\nCombobox.Content = ComboboxContent;\nCombobox.List = ComboboxList;\nCombobox.Item = ComboboxItem;\nCombobox.Empty = ComboboxEmpty;\nCombobox.Value = BaseCombobox.Value;\nCombobox.Separator = ComboboxSeparator;\n\n// Group\nCombobox.Group = ComboboxGroup;\nCombobox.GroupLabel = ComboboxGroupLabel;\nCombobox.GroupList = ComboboxCollection;\n\n// Chips\nCombobox.Chips = ComboboxChips;\n"]}
@@ -0,0 +1,327 @@
1
+ import { BrandLogo } from './chunk-4FIZZONW.js';
2
+ import { ScrollArea } from './chunk-THHB4EWS.js';
3
+ import { Search } from './chunk-RQVK4IYC.js';
4
+ import { cn } from './chunk-LXLIQ2D6.js';
5
+ import { cva } from 'class-variance-authority';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
7
+ import * as RadixAvatar from '@radix-ui/react-avatar';
8
+ import BoringAvatar from 'boring-avatars';
9
+ import { Root, Slottable, Slot } from '@radix-ui/react-slot';
10
+
11
+ var NavbarContent = ({ children, className }) => /* @__PURE__ */ jsx(
12
+ ScrollArea,
13
+ {
14
+ type: "auto",
15
+ orientation: "horizontal",
16
+ className: "tw:flex-1",
17
+ scrollBarClassName: "tw:h-1.5",
18
+ children: /* @__PURE__ */ jsx("div", { className: cn("tw:flex", "tw:py-1.5", className), children })
19
+ }
20
+ );
21
+ var NavbarFooter = ({ children, className, ...rest }) => /* @__PURE__ */ jsx("div", { ...rest, className: cn("tw:flex tw:items-center tw:gap-2 tw:py-1.5", className), children });
22
+ var NavbarHeader = ({ children, className, ...rest }) => (
23
+ // BrandLogo reads the nearest ThemeProvider (or the default context) and
24
+ // renders null when the active brand ships no logo, so no provider gate needed.
25
+ /* @__PURE__ */ jsx("div", { ...rest, className: cn("tw:overflow-hidden", "tw:py-1.5", className), children: children ?? /* @__PURE__ */ jsx(BrandLogo, { variant: "wordmark", className: "tw:h-7" }) })
26
+ );
27
+ var variants = cva(
28
+ ["tw:m-0", "tw:p-0", "tw:flex", "tw:items-center", "tw:justify-center", "tw:gap-2"],
29
+ {
30
+ variants: {
31
+ marker: {
32
+ none: [],
33
+ "forward-slash": [
34
+ // Style all li children with pseudo-element marker
35
+ "tw:[&_li]:flex",
36
+ "tw:[&_li]:items-center",
37
+ 'tw:[&_li]:before:content-["/"]',
38
+ "tw:[&_li]:before:text-border",
39
+ "tw:[&_li]:before:text-sm",
40
+ "tw:[&_li]:before:mr-0.5",
41
+ "tw:[&_li:not(:first-child)]:before:ml-0.5"
42
+ ]
43
+ }
44
+ },
45
+ defaultVariants: {
46
+ marker: "none"
47
+ }
48
+ }
49
+ );
50
+ var NavbarMenu = ({ className, marker, ...rest }) => /* @__PURE__ */ jsx("ul", { ...rest, className: variants({ marker, className }) });
51
+ var NavbarMenuAvatar = ({ ref, className, type = "button", src, alt, ...rest }) => {
52
+ const altText = alt ?? "Avatar";
53
+ return /* @__PURE__ */ jsx(
54
+ "button",
55
+ {
56
+ ...rest,
57
+ ref,
58
+ type,
59
+ className: cn(
60
+ "tw:flex",
61
+ "tw:items-center",
62
+ "tw:justify-center",
63
+ "tw:size-8",
64
+ "tw:aspect-square",
65
+ "tw:overflow-hidden",
66
+ "tw:shrink-0",
67
+ "tw:rounded-lg",
68
+ "tw:bg-transparent",
69
+ "tw:cursor-pointer",
70
+ // Disabled state
71
+ "tw:disabled:opacity-50",
72
+ "tw:disabled:cursor-not-allowed",
73
+ // Focus-visible (matches SidebarMenuButton exactly)
74
+ "tw:focus-visible:outline-hidden",
75
+ "tw:focus-visible:ring-2",
76
+ "tw:focus-visible:ring-sidebar-ring/50",
77
+ className
78
+ ),
79
+ children: /* @__PURE__ */ jsxs(RadixAvatar.Root, { children: [
80
+ /* @__PURE__ */ jsx(RadixAvatar.Image, { src, alt: altText, className: "tw:size-full tw:object-cover" }),
81
+ /* @__PURE__ */ jsx(RadixAvatar.Fallback, { asChild: true, children: /* @__PURE__ */ jsx(
82
+ BoringAvatar,
83
+ {
84
+ square: true,
85
+ name: altText,
86
+ variant: "beam",
87
+ colors: ["#1F8FFF", "#004787", "#28D8FF", "#925cff", "#A8C2E6"],
88
+ size: 32
89
+ }
90
+ ) })
91
+ ] })
92
+ }
93
+ );
94
+ };
95
+ var variants2 = cva(
96
+ [
97
+ "tw:flex",
98
+ "tw:justify-center",
99
+ "tw:items-center",
100
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-3',
101
+ "tw:[&:not(svg)]:h-5",
102
+ "tw:[&:not(svg)]:min-w-5",
103
+ "tw:p-1",
104
+ "tw:aspect-square",
105
+ "tw:rounded-md"
106
+ ],
107
+ {
108
+ defaultVariants: { variant: "icon-accent" },
109
+ variants: {
110
+ variant: {
111
+ icon: ["tw:text-sidebar-foreground", "tw:[&_svg]:text-sidebar-foreground"],
112
+ "icon-emphasized": ["tw:text-white", "tw:[&_svg]:text-white"],
113
+ "icon-accent": [
114
+ // color-aware accent styling
115
+ "tw:group-data-[accent=blue]/navbar:text-sidebar-primary",
116
+ "tw:group-data-[accent=blue]/navbar:[&_svg]:text-sidebar-primary",
117
+ "tw:group-data-[accent=purple]/navbar:text-purple-500",
118
+ "tw:group-data-[accent=purple]/navbar:[&_svg]:text-purple-500",
119
+ "tw:group-data-[accent=orange]/navbar:text-warning-500",
120
+ "tw:group-data-[accent=orange]/navbar:[&_svg]:text-warning-500",
121
+ "tw:group-data-[accent=green]/navbar:text-primary-500",
122
+ "tw:group-data-[accent=green]/navbar:[&_svg]:text-primary-500"
123
+ ],
124
+ "icon-accent-emphasized": [
125
+ "tw:text-white",
126
+ "tw:[&_svg]:text-white",
127
+ "tw:group-data-[accent=blue]/navbar:bg-sidebar-primary",
128
+ "tw:group-data-[accent=purple]/navbar:bg-purple-500",
129
+ "tw:group-data-[accent=orange]/navbar:bg-warning-500",
130
+ "tw:group-data-[accent=green]/navbar:bg-primary-500"
131
+ ],
132
+ "icon-button": ["tw:size-4", "tw:!p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
133
+ shortcut: ["tw:bg-muted", "tw:text-sidebar-foreground", "tw:ml-auto"]
134
+ }
135
+ }
136
+ }
137
+ );
138
+ var NavbarMenuItemAdornment = ({
139
+ ref,
140
+ asChild = false,
141
+ className,
142
+ variant = "icon-accent",
143
+ ...props
144
+ }) => {
145
+ const Comp = asChild ? Slot : "span";
146
+ return /* @__PURE__ */ jsx(Comp, { ...props, ref, className: variants2({ variant, className }) });
147
+ };
148
+ var variants3 = cva(
149
+ [
150
+ "tw:group/navbar-menu-button",
151
+ "tw:box-border",
152
+ "tw:flex",
153
+ "tw:items-center",
154
+ "tw:gap-2",
155
+ "tw:bg-transparent",
156
+ "tw:leading-9",
157
+ "tw:border",
158
+ "tw:rounded-lg",
159
+ "tw:whitespace-nowrap",
160
+ "tw:select-none",
161
+ // focus-visible
162
+ "tw:!outline-hidden",
163
+ "tw:focus-visible:ring-2",
164
+ "tw:focus-visible:ring-sidebar-ring/50",
165
+ // disabled
166
+ "tw:disabled:opacity-50",
167
+ "tw:disabled:hover:bg-transparent",
168
+ "tw:disabled:cursor-not-allowed"
169
+ ],
170
+ {
171
+ defaultVariants: {
172
+ variant: "default"
173
+ },
174
+ variants: {
175
+ variant: {
176
+ default: [
177
+ "tw:max-h-9",
178
+ "tw:border-transparent",
179
+ "tw:py-2",
180
+ "tw:px-1.5",
181
+ "tw:text-sidebar-foreground",
182
+ "tw:hover:bg-sidebar-accent",
183
+ "tw:aria-expanded:bg-sidebar-accent"
184
+ ],
185
+ emphasized: [
186
+ "tw:max-h-9",
187
+ "tw:border-transparent",
188
+ "tw:py-2",
189
+ "tw:px-1.5",
190
+ "tw:text-sidebar-foreground",
191
+ "tw:hover:bg-sidebar-accent",
192
+ "tw:aria-expanded:bg-sidebar-accent",
193
+ "tw:font-semibold"
194
+ ],
195
+ icon: [
196
+ "tw:size-8",
197
+ "tw:aspect-square",
198
+ "tw:justify-center",
199
+ "tw:font-normal",
200
+ "tw:border-transparent",
201
+ "tw:text-primary",
202
+ "tw:[&_svg]:!text-primary",
203
+ "tw:hover:bg-sidebar-accent",
204
+ "tw:aria-expanded:bg-sidebar-accent"
205
+ ],
206
+ search: [
207
+ "tw:max-h-8",
208
+ "tw:min-w-52",
209
+ "tw:px-3",
210
+ "tw:py-1",
211
+ "tw:font-normal",
212
+ "tw:border-input",
213
+ "tw:text-muted-foreground",
214
+ "tw:[&_svg]:!text-muted-foreground"
215
+ ]
216
+ }
217
+ }
218
+ }
219
+ );
220
+ var NavbarMenuButton = ({
221
+ ref,
222
+ className,
223
+ type = "button",
224
+ children,
225
+ icon,
226
+ asChild = false,
227
+ variant = "default",
228
+ ...rest
229
+ }) => {
230
+ const Comp = asChild ? Root : "button";
231
+ const isSearchVariant = variant === "search";
232
+ const isEmphasizedVariant = variant === "emphasized";
233
+ const adornment = isSearchVariant ? /* @__PURE__ */ jsx(Search, {}) : icon;
234
+ const adornmentVariant = (() => {
235
+ if (isSearchVariant || variant === "icon") return "icon-button";
236
+ if (isEmphasizedVariant) return "icon-accent-emphasized";
237
+ return "icon-accent";
238
+ })();
239
+ return /* @__PURE__ */ jsxs(
240
+ Comp,
241
+ {
242
+ ...rest,
243
+ ref,
244
+ type,
245
+ "data-variant": variant,
246
+ className: cn(variants3({ className, variant })),
247
+ children: [
248
+ adornment && /* @__PURE__ */ jsx(NavbarMenuItemAdornment, { variant: adornmentVariant, children: adornment }),
249
+ /* @__PURE__ */ jsx(Slottable, { children })
250
+ ]
251
+ }
252
+ );
253
+ };
254
+ var NavbarMenuItem = ({ className, ...rest }) => /* @__PURE__ */ jsx("li", { ...rest, className: cn("tw:flex", "tw:items-center", "tw:gap-2", className) });
255
+ var navbarClassnames = cva(
256
+ [
257
+ "tailwindcss-preflight",
258
+ "tw:group/navbar",
259
+ "tw:sticky",
260
+ "tw:top-0",
261
+ "tw:z-50",
262
+ "tw:flex",
263
+ "tw:gap-2",
264
+ "tw:items-center",
265
+ // The left side is intentionally smaller to align the logo with the sidebar icons.
266
+ "tw:pl-2",
267
+ "tw:pr-3",
268
+ "tw:bg-sidebar",
269
+ // Pairs with `bg-sidebar` — required, not cosmetic.
270
+ // - Without it `currentColor` inside the bar resolves to the UA's black, invisible
271
+ // on the dark scheme's sidebar surface.
272
+ // - Content inheriting it: plain text, and a `BrandLogo` whose SVG fills with
273
+ // `currentColor`.
274
+ "tw:text-sidebar-foreground",
275
+ "tw:text-xs",
276
+ "tw:leading-4"
277
+ ],
278
+ {
279
+ defaultVariants: {
280
+ bordered: false
281
+ },
282
+ variants: {
283
+ bordered: {
284
+ true: [
285
+ "tw:before:content",
286
+ "tw:before:h-0.5",
287
+ "tw:before:w-full",
288
+ "tw:before:absolute",
289
+ "tw:before:left-0",
290
+ "tw:before:top-0",
291
+ "tw:before:data-[accent=blue]:bg-sidebar-primary",
292
+ "tw:before:data-[accent=purple]:bg-purple-500",
293
+ "tw:before:data-[accent=green]:bg-primary-500",
294
+ "tw:before:data-[accent=orange]:bg-warning-500"
295
+ ],
296
+ false: ""
297
+ }
298
+ }
299
+ }
300
+ );
301
+ var Navbar = ({ className, accent = "blue", bordered = false, ...rest }) => (
302
+ // A `<nav>` (not `<header>`): it's hosted inside `AppShell.Header`, which is
303
+ // already the `<header>` landmark — nesting a second `<header>` is invalid and
304
+ // muddies landmark navigation. `aria-label` comes first so a caller-supplied
305
+ // label in `...rest` overrides the default.
306
+ /* @__PURE__ */ jsx(
307
+ "nav",
308
+ {
309
+ "aria-label": "Main navigation",
310
+ ...rest,
311
+ "data-accent": accent,
312
+ className: navbarClassnames({ bordered, className })
313
+ }
314
+ )
315
+ );
316
+ Navbar.Header = NavbarHeader;
317
+ Navbar.Footer = NavbarFooter;
318
+ Navbar.Content = NavbarContent;
319
+ Navbar.Menu = NavbarMenu;
320
+ Navbar.MenuItem = NavbarMenuItem;
321
+ Navbar.MenuButton = NavbarMenuButton;
322
+ Navbar.MenuItemAdornment = NavbarMenuItemAdornment;
323
+ Navbar.MenuAvatar = NavbarMenuAvatar;
324
+
325
+ export { Navbar };
326
+ //# sourceMappingURL=chunk-5FTNAZRW.js.map
327
+ //# sourceMappingURL=chunk-5FTNAZRW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Navbar/NavbarContent.tsx","../src/components/Navbar/NavbarFooter.tsx","../src/components/Navbar/NavbarHeader.tsx","../src/components/Navbar/NavbarMenu.tsx","../src/components/Navbar/NavbarMenuAvatar.tsx","../src/components/Navbar/NavbarMenuItemAdornment.tsx","../src/components/Navbar/NavbarMenuButton.tsx","../src/components/Navbar/NavbarMenuItem.tsx","../src/components/Navbar/Navbar.tsx"],"names":["jsx","variants","cva","Root","jsxs"],"mappings":"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","file":"chunk-5FTNAZRW.js","sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cn } from '../../utils';\nimport { ScrollArea } from '../ScrollArea';\n\ntype Props = {\n className?: string;\n children?: ReactNode;\n};\n\nexport const NavbarContent = ({ children, className }: Props) => (\n <ScrollArea\n type=\"auto\"\n orientation=\"horizontal\"\n className=\"tw:flex-1\"\n scrollBarClassName=\"tw:h-1.5\"\n >\n <div className={cn('tw:flex', 'tw:py-1.5', className)}>{children}</div>\n </ScrollArea>\n);\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '../../utils';\n\ntype Props = ComponentProps<'div'>;\n\n// `flex items-center`, not a bare block: this slot is documented to hold several\n// items (search, notifications, avatar). As a block they are inline-level boxes\n// aligned on a text baseline, so a button carrying an icon and a text-only button\n// sit at different heights — visibly off-centre against the bar. Centring them is\n// a no-op for the common single-`Navbar.Menu` child, and `gap` only applies\n// between siblings, so existing compositions keep their spacing.\nexport const NavbarFooter = ({ children, className, ...rest }: Props) => (\n <div {...rest} className={cn('tw:flex tw:items-center tw:gap-2 tw:py-1.5', className)}>\n {children}\n </div>\n);\n","import { type ComponentProps } from 'react';\n\nimport { cn } from '../../utils';\nimport { BrandLogo } from '../BrandLogo';\n\ntype Props = ComponentProps<'div'>;\n\nexport const NavbarHeader = ({ children, className, ...rest }: Props) => (\n // BrandLogo reads the nearest ThemeProvider (or the default context) and\n // renders null when the active brand ships no logo, so no provider gate needed.\n <div {...rest} className={cn('tw:overflow-hidden', 'tw:py-1.5', className)}>\n {children ?? <BrandLogo variant=\"wordmark\" className=\"tw:h-7\" />}\n </div>\n);\n","import type { ComponentProps } from 'react';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\n// `tw:m-0` alongside `tw:p-0`: browsers give `<ul>` a default block margin. In a plain\n// app the scoped preflight resets it, but in kbc-ui the legacy Bootstrap layer (which sits\n// above the preflight so Bootstrap padding survives on its own elements) re-applies\n// `ul { margin-bottom: 10px }`, which then inflates this menu's height and pushes the whole\n// navbar row off-center. Resetting the margin explicitly (utilities beat the legacy layer)\n// keeps the row centered everywhere.\nconst variants = cva(\n ['tw:m-0', 'tw:p-0', 'tw:flex', 'tw:items-center', 'tw:justify-center', 'tw:gap-2'],\n {\n variants: {\n marker: {\n none: [],\n 'forward-slash': [\n // Style all li children with pseudo-element marker\n 'tw:[&_li]:flex',\n 'tw:[&_li]:items-center',\n 'tw:[&_li]:before:content-[\"/\"]',\n 'tw:[&_li]:before:text-border',\n 'tw:[&_li]:before:text-sm',\n 'tw:[&_li]:before:mr-0.5',\n 'tw:[&_li:not(:first-child)]:before:ml-0.5',\n ],\n },\n },\n defaultVariants: {\n marker: 'none',\n },\n },\n);\n\ntype Props = ComponentProps<'ul'> & VariantProps<typeof variants>;\n\nexport const NavbarMenu = ({ className, marker, ...rest }: Props) => (\n <ul {...rest} className={variants({ marker, className })} />\n);\n","import type { ComponentProps } from 'react';\nimport * as RadixAvatar from '@radix-ui/react-avatar';\nimport BoringAvatar from 'boring-avatars';\n\nimport { cn } from '../../utils';\n\ntype Props = ComponentProps<'button'> & {\n src?: string;\n alt?: string;\n};\n\nexport const NavbarMenuAvatar = ({ ref, className, type = 'button', src, alt, ...rest }: Props) => {\n const altText = alt ?? 'Avatar';\n\n return (\n <button\n {...rest}\n ref={ref}\n type={type}\n className={cn(\n 'tw:flex',\n 'tw:items-center',\n 'tw:justify-center',\n 'tw:size-8',\n\n 'tw:aspect-square',\n 'tw:overflow-hidden',\n 'tw:shrink-0',\n\n 'tw:rounded-lg',\n 'tw:bg-transparent',\n 'tw:cursor-pointer',\n\n // Disabled state\n 'tw:disabled:opacity-50',\n 'tw:disabled:cursor-not-allowed',\n\n // Focus-visible (matches SidebarMenuButton exactly)\n 'tw:focus-visible:outline-hidden',\n 'tw:focus-visible:ring-2',\n 'tw:focus-visible:ring-sidebar-ring/50',\n className,\n )}\n >\n <RadixAvatar.Root>\n <RadixAvatar.Image src={src} alt={altText} className=\"tw:size-full tw:object-cover\" />\n\n <RadixAvatar.Fallback asChild>\n <BoringAvatar\n square\n name={altText}\n variant=\"beam\"\n colors={['#1F8FFF', '#004787', '#28D8FF', '#925cff', '#A8C2E6']}\n size={32}\n />\n </RadixAvatar.Fallback>\n </RadixAvatar.Root>\n </button>\n );\n};\n","import type { ComponentProps } from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\nconst variants = cva(\n [\n 'tw:flex',\n 'tw:justify-center',\n 'tw:items-center',\n\n 'tw:[&_svg:not([class*=\"tw:size-\"])]:size-3',\n 'tw:[&:not(svg)]:h-5',\n 'tw:[&:not(svg)]:min-w-5',\n\n 'tw:p-1',\n 'tw:aspect-square',\n 'tw:rounded-md',\n ],\n {\n defaultVariants: { variant: 'icon-accent' },\n variants: {\n variant: {\n icon: ['tw:text-sidebar-foreground', 'tw:[&_svg]:text-sidebar-foreground'],\n 'icon-emphasized': ['tw:text-white', 'tw:[&_svg]:text-white'],\n 'icon-accent': [\n // color-aware accent styling\n 'tw:group-data-[accent=blue]/navbar:text-sidebar-primary',\n 'tw:group-data-[accent=blue]/navbar:[&_svg]:text-sidebar-primary',\n 'tw:group-data-[accent=purple]/navbar:text-purple-500',\n 'tw:group-data-[accent=purple]/navbar:[&_svg]:text-purple-500',\n 'tw:group-data-[accent=orange]/navbar:text-warning-500',\n 'tw:group-data-[accent=orange]/navbar:[&_svg]:text-warning-500',\n 'tw:group-data-[accent=green]/navbar:text-primary-500',\n 'tw:group-data-[accent=green]/navbar:[&_svg]:text-primary-500',\n ],\n 'icon-accent-emphasized': [\n 'tw:text-white',\n 'tw:[&_svg]:text-white',\n\n 'tw:group-data-[accent=blue]/navbar:bg-sidebar-primary',\n 'tw:group-data-[accent=purple]/navbar:bg-purple-500',\n 'tw:group-data-[accent=orange]/navbar:bg-warning-500',\n 'tw:group-data-[accent=green]/navbar:bg-primary-500',\n ],\n 'icon-button': ['tw:size-4', 'tw:!p-0', 'tw:[&_svg:not([class*=\"tw:size-\"])]:size-4'],\n shortcut: ['tw:bg-muted', 'tw:text-sidebar-foreground', 'tw:ml-auto'],\n },\n },\n },\n);\n\ntype Props = { asChild?: boolean } & ComponentProps<'span'> & VariantProps<typeof variants>;\n\nexport const NavbarMenuItemAdornment = ({\n ref,\n asChild = false,\n className,\n variant = 'icon-accent',\n ...props\n}: Props) => {\n const Comp = asChild ? Slot : 'span';\n\n return <Comp {...props} ref={ref} className={variants({ variant, className })} />;\n};\n","import type { ComponentProps, ReactNode } from 'react';\nimport { Root, Slottable } from '@radix-ui/react-slot';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\nimport { Search } from '../../icons';\nimport { cn } from '../../utils';\n\nimport { NavbarMenuItemAdornment } from './NavbarMenuItemAdornment';\n\nconst variants = cva(\n [\n 'tw:group/navbar-menu-button',\n 'tw:box-border',\n 'tw:flex',\n 'tw:items-center',\n 'tw:gap-2',\n 'tw:bg-transparent',\n\n 'tw:leading-9',\n\n 'tw:border',\n 'tw:rounded-lg',\n 'tw:whitespace-nowrap',\n 'tw:select-none',\n\n // focus-visible\n 'tw:!outline-hidden',\n 'tw:focus-visible:ring-2',\n 'tw:focus-visible:ring-sidebar-ring/50',\n\n // disabled\n 'tw:disabled:opacity-50',\n 'tw:disabled:hover:bg-transparent',\n 'tw:disabled:cursor-not-allowed',\n ],\n {\n defaultVariants: {\n variant: 'default',\n },\n variants: {\n variant: {\n default: [\n 'tw:max-h-9',\n 'tw:border-transparent',\n 'tw:py-2',\n 'tw:px-1.5',\n 'tw:text-sidebar-foreground',\n 'tw:hover:bg-sidebar-accent',\n 'tw:aria-expanded:bg-sidebar-accent',\n ],\n emphasized: [\n 'tw:max-h-9',\n 'tw:border-transparent',\n 'tw:py-2',\n 'tw:px-1.5',\n\n 'tw:text-sidebar-foreground',\n 'tw:hover:bg-sidebar-accent',\n 'tw:aria-expanded:bg-sidebar-accent',\n\n 'tw:font-semibold',\n ],\n icon: [\n 'tw:size-8',\n 'tw:aspect-square',\n 'tw:justify-center',\n 'tw:font-normal',\n 'tw:border-transparent',\n 'tw:text-primary',\n 'tw:[&_svg]:!text-primary',\n 'tw:hover:bg-sidebar-accent',\n 'tw:aria-expanded:bg-sidebar-accent',\n ],\n search: [\n 'tw:max-h-8',\n 'tw:min-w-52',\n 'tw:px-3',\n 'tw:py-1',\n 'tw:font-normal',\n 'tw:border-input',\n 'tw:text-muted-foreground',\n 'tw:[&_svg]:!text-muted-foreground',\n ],\n },\n },\n },\n);\n\ntype Props = ComponentProps<'button'> & {\n /** Optional leading-icon slot. Pass a Lucide icon node to render an adornment before children. */\n icon?: ReactNode;\n asChild?: boolean;\n} & VariantProps<typeof variants>;\n\nexport const NavbarMenuButton = ({\n ref,\n className,\n type = 'button',\n children,\n icon,\n asChild = false,\n variant = 'default',\n ...rest\n}: Props) => {\n const Comp = asChild ? Root : 'button';\n const isSearchVariant = variant === 'search';\n const isEmphasizedVariant = variant === 'emphasized';\n const adornment = isSearchVariant ? <Search /> : icon;\n\n const adornmentVariant: ComponentProps<typeof NavbarMenuItemAdornment>['variant'] = (() => {\n if (isSearchVariant || variant === 'icon') return 'icon-button';\n if (isEmphasizedVariant) return 'icon-accent-emphasized';\n return 'icon-accent';\n })();\n\n return (\n <Comp\n {...rest}\n ref={ref}\n type={type}\n data-variant={variant}\n className={cn(variants({ className, variant }))}\n >\n {adornment && (\n <NavbarMenuItemAdornment variant={adornmentVariant}>{adornment}</NavbarMenuItemAdornment>\n )}\n\n <Slottable>{children}</Slottable>\n </Comp>\n );\n};\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '../../utils';\n\ntype Props = ComponentProps<'li'>;\n\nexport const NavbarMenuItem = ({ className, ...rest }: Props) => (\n <li {...rest} className={cn('tw:flex', 'tw:items-center', 'tw:gap-2', className)} />\n);\n","import type { ComponentProps } from 'react';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\nimport { NavbarContent } from './NavbarContent';\nimport { NavbarFooter } from './NavbarFooter';\nimport { NavbarHeader } from './NavbarHeader';\nimport { NavbarMenu } from './NavbarMenu';\nimport { NavbarMenuAvatar } from './NavbarMenuAvatar';\nimport { NavbarMenuButton } from './NavbarMenuButton';\nimport { NavbarMenuItem } from './NavbarMenuItem';\nimport { NavbarMenuItemAdornment } from './NavbarMenuItemAdornment';\n\nconst navbarClassnames = cva(\n [\n 'tailwindcss-preflight',\n 'tw:group/navbar',\n 'tw:sticky',\n 'tw:top-0',\n 'tw:z-50',\n 'tw:flex',\n 'tw:gap-2',\n 'tw:items-center',\n\n // The left side is intentionally smaller to align the logo with the sidebar icons.\n 'tw:pl-2',\n 'tw:pr-3',\n\n 'tw:bg-sidebar',\n // Pairs with `bg-sidebar` — required, not cosmetic.\n // - Without it `currentColor` inside the bar resolves to the UA's black, invisible\n // on the dark scheme's sidebar surface.\n // - Content inheriting it: plain text, and a `BrandLogo` whose SVG fills with\n // `currentColor`.\n 'tw:text-sidebar-foreground',\n 'tw:text-xs',\n 'tw:leading-4',\n ],\n {\n defaultVariants: {\n bordered: false,\n },\n variants: {\n bordered: {\n true: [\n 'tw:before:content',\n 'tw:before:h-0.5',\n 'tw:before:w-full',\n 'tw:before:absolute',\n 'tw:before:left-0',\n 'tw:before:top-0',\n 'tw:before:data-[accent=blue]:bg-sidebar-primary',\n 'tw:before:data-[accent=purple]:bg-purple-500',\n 'tw:before:data-[accent=green]:bg-primary-500',\n 'tw:before:data-[accent=orange]:bg-warning-500',\n ],\n false: '',\n },\n },\n },\n);\n\ntype Props = ComponentProps<'nav'> &\n VariantProps<typeof navbarClassnames> & {\n accent?: 'blue' | 'purple' | 'green' | 'orange';\n };\n\n/**\n * Top navigation bar for the app shell. Host inside `<AppShell.Header>` to give a\n * top-nav (or `keboola-legacy` top-bar) layout its primary navigation, brand mark,\n * and account/actions area.\n *\n * **Composition:** `Navbar.Header` (left — brand / logo), `Navbar.Content` (center —\n * primary `Navbar.Menu` of `Navbar.MenuItem` + `Navbar.MenuButton`, horizontally\n * scrollable), and `Navbar.Footer` (right — search, notifications, `Navbar.MenuAvatar`).\n * `bordered` renders a top accent hairline whose color follows `accent`. Renders a\n * `<nav>` landmark with a default `aria-label` — override it via `aria-label` /\n * `aria-labelledby` when a page has more than one nav.\n *\n * @see AppShell — pair with `AppShell.Header`; the sidebar rail uses `Sidebar` instead.\n */\nexport const Navbar = ({ className, accent = 'blue', bordered = false, ...rest }: Props) => (\n // A `<nav>` (not `<header>`): it's hosted inside `AppShell.Header`, which is\n // already the `<header>` landmark — nesting a second `<header>` is invalid and\n // muddies landmark navigation. `aria-label` comes first so a caller-supplied\n // label in `...rest` overrides the default.\n <nav\n aria-label=\"Main navigation\"\n {...rest}\n data-accent={accent}\n className={navbarClassnames({ bordered, className })}\n />\n);\n\nNavbar.Header = NavbarHeader;\nNavbar.Footer = NavbarFooter;\nNavbar.Content = NavbarContent;\n\nNavbar.Menu = NavbarMenu;\nNavbar.MenuItem = NavbarMenuItem;\nNavbar.MenuButton = NavbarMenuButton;\nNavbar.MenuItemAdornment = NavbarMenuItemAdornment;\nNavbar.MenuAvatar = NavbarMenuAvatar;\n"]}
@@ -0,0 +1,70 @@
1
+ import { useArgoDesign } from './chunk-WETKNYZX.js';
2
+ import { cn } from './chunk-LXLIQ2D6.js';
3
+ import { Root, Trigger, Portal, Content } from '@radix-ui/react-hover-card';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ var HoverCardContent = ({
7
+ ref,
8
+ className,
9
+ align = "center",
10
+ sideOffset = 4,
11
+ children,
12
+ ...props
13
+ }) => {
14
+ const renderArgo = useArgoDesign();
15
+ return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(
16
+ Content,
17
+ {
18
+ ref,
19
+ align,
20
+ sideOffset,
21
+ "data-slot": "hover-card-content",
22
+ "data-argo": renderArgo,
23
+ className: cn(
24
+ "tailwindcss-preflight",
25
+ "tw:group/hover-card-content",
26
+ "tw:z-50",
27
+ // border
28
+ "tw:box-border",
29
+ "tw:border",
30
+ "tw:rounded-2xl",
31
+ // sizing
32
+ "tw:min-w-32",
33
+ "tw:origin-(--radix-hover-card-content-transform-origin)",
34
+ "tw:max-h-[var(--radix-hover-card-content-available-height)]",
35
+ // padding + shared shadow
36
+ "tw:p-4",
37
+ "tw:shadow-md",
38
+ // legacy chrome — default
39
+ "tw:border-neutral-150 tw:bg-white",
40
+ // argo chrome overrides — semantic floating-panel tokens
41
+ "tw:data-[argo=true]:border-solid tw:data-[argo=true]:border-border tw:data-[argo=true]:bg-popover tw:data-[argo=true]:text-popover-foreground",
42
+ // directional animations
43
+ "tw:data-[side=bottom]:slide-in-from-top-2",
44
+ "tw:data-[side=left]:slide-in-from-right-2",
45
+ "tw:data-[side=right]:slide-in-from-left-2",
46
+ "tw:data-[side=top]:slide-in-from-bottom-2",
47
+ // animations
48
+ "tw:data-[state=open]:animate-in",
49
+ "tw:data-[state=open]:fade-in-0",
50
+ "tw:data-[state=open]:zoom-in-95",
51
+ "tw:data-[state=closed]:animate-out",
52
+ "tw:data-[state=closed]:fade-out-0",
53
+ "tw:data-[state=closed]:zoom-out-95",
54
+ // Default size for nested Lucide icons; callers can override on the icon.
55
+ "tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
56
+ "tw:[&_svg]:shrink-0",
57
+ className
58
+ ),
59
+ ...props,
60
+ children
61
+ }
62
+ ) });
63
+ };
64
+ var HoverCard = ({ openDelay = 200, closeDelay = 200, ...rest }) => /* @__PURE__ */ jsx(Root, { ...rest, openDelay, closeDelay });
65
+ HoverCard.Content = HoverCardContent;
66
+ HoverCard.Trigger = Trigger;
67
+
68
+ export { HoverCard };
69
+ //# sourceMappingURL=chunk-5IG2S7ZY.js.map
70
+ //# sourceMappingURL=chunk-5IG2S7ZY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/HoverCard/HoverCardContent.tsx","../src/components/HoverCard/HoverCard.tsx"],"names":["jsx"],"mappings":";;;;;AAQO,IAAM,mBAAmB,CAAC;AAAA,EAC/B,GAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA,GAAQ,QAAA;AAAA,EACR,UAAA,GAAa,CAAA;AAAA,EACb,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAa;AACX,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,2BACG,MAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA,EAAU,oBAAA;AAAA,MACV,WAAA,EAAW,UAAA;AAAA,MACX,SAAA,EAAW,EAAA;AAAA,QACT,uBAAA;AAAA,QACA,6BAAA;AAAA,QACA,SAAA;AAAA;AAAA,QAGA,eAAA;AAAA,QACA,WAAA;AAAA,QACA,gBAAA;AAAA;AAAA,QAGA,aAAA;AAAA,QACA,yDAAA;AAAA,QACA,6DAAA;AAAA;AAAA,QAGA,QAAA;AAAA,QACA,cAAA;AAAA;AAAA,QAGA,mCAAA;AAAA;AAAA,QAEA,+IAAA;AAAA;AAAA,QAGA,2CAAA;AAAA,QACA,2CAAA;AAAA,QACA,2CAAA;AAAA,QACA,2CAAA;AAAA;AAAA,QAGA,iCAAA;AAAA,QACA,gCAAA;AAAA,QACA,iCAAA;AAAA,QACA,oCAAA;AAAA,QACA,mCAAA;AAAA,QACA,oCAAA;AAAA;AAAA,QAGA,mDAAA;AAAA,QACA,qBAAA;AAAA,QAEA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH,EACF,CAAA;AAEJ,CAAA;ACpEO,IAAM,YAAY,CAAC,EAAE,SAAA,GAAY,GAAA,EAAK,aAAa,GAAA,EAAK,GAAG,IAAA,EAAK,qBACrEA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,IAAA,EAAM,WAAsB,UAAA,EAAwB;AAGhE,SAAA,CAAU,OAAA,GAAU,gBAAA;AACpB,SAAA,CAAU,OAAA,GAAU,OAAA","file":"chunk-5IG2S7ZY.js","sourcesContent":["import type { ComponentProps } from 'react';\nimport { Content, Portal } from '@radix-ui/react-hover-card';\n\nimport { cn } from '../../utils';\nimport { useArgoDesign } from '../ThemeProvider/context';\n\ntype Props = ComponentProps<typeof Content>;\n\nexport const HoverCardContent = ({\n ref,\n className,\n align = 'center',\n sideOffset = 4,\n children,\n ...props\n}: Props) => {\n const renderArgo = useArgoDesign();\n return (\n <Portal>\n <Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n data-slot=\"hover-card-content\"\n data-argo={renderArgo}\n className={cn(\n 'tailwindcss-preflight',\n 'tw:group/hover-card-content',\n 'tw:z-50',\n\n // border\n 'tw:box-border',\n 'tw:border',\n 'tw:rounded-2xl',\n\n // sizing\n 'tw:min-w-32',\n 'tw:origin-(--radix-hover-card-content-transform-origin)',\n 'tw:max-h-[var(--radix-hover-card-content-available-height)]',\n\n // padding + shared shadow\n 'tw:p-4',\n 'tw:shadow-md',\n\n // legacy chrome — default\n 'tw:border-neutral-150 tw:bg-white',\n // argo chrome overrides — semantic floating-panel tokens\n 'tw:data-[argo=true]:border-solid tw:data-[argo=true]:border-border tw:data-[argo=true]:bg-popover tw:data-[argo=true]:text-popover-foreground',\n\n // directional animations\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 // animations\n 'tw:data-[state=open]:animate-in',\n 'tw:data-[state=open]:fade-in-0',\n 'tw:data-[state=open]:zoom-in-95',\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 // 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 className,\n )}\n {...props}\n >\n {children}\n </Content>\n </Portal>\n );\n};\n","import type { ComponentProps } from 'react';\nimport { Root, Trigger } from '@radix-ui/react-hover-card';\n\nimport { HoverCardContent } from './HoverCardContent';\n\ntype Props = ComponentProps<typeof Root>;\n\nexport const HoverCard = ({ openDelay = 200, closeDelay = 200, ...rest }: Props) => (\n <Root {...rest} openDelay={openDelay} closeDelay={closeDelay} />\n);\n\nHoverCard.Content = HoverCardContent;\nHoverCard.Trigger = Trigger;\n"]}