@arcadeai/design-system 1.2.0 → 1.4.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 (361) hide show
  1. package/README.md +95 -0
  2. package/dist/arcade-CadnNaba.js +1543 -0
  3. package/dist/assets/index.css +1 -1
  4. package/dist/components/index.d.ts +1 -0
  5. package/dist/components/index.js +431 -199
  6. package/dist/components/ui/atoms/accordion.js +2 -2
  7. package/dist/components/ui/atoms/alert.js +2 -2
  8. package/dist/components/ui/atoms/avatar.js +3 -3
  9. package/dist/components/ui/atoms/badge.js +2 -2
  10. package/dist/components/ui/atoms/breadcrumb.js +13 -15
  11. package/dist/components/ui/atoms/button.js +2 -2
  12. package/dist/components/ui/atoms/byoc-badge.js +2 -2
  13. package/dist/components/ui/atoms/card.js +1 -1
  14. package/dist/components/ui/atoms/chart.js +1 -1
  15. package/dist/components/ui/atoms/checkbox.js +2 -2
  16. package/dist/components/ui/atoms/collapsible.js +1 -1
  17. package/dist/components/ui/atoms/command.js +2 -2
  18. package/dist/components/ui/atoms/dialog.js +8 -8
  19. package/dist/components/ui/atoms/dropdown-menu.js +3 -3
  20. package/dist/components/ui/atoms/form.d.ts +1 -1
  21. package/dist/components/ui/atoms/form.js +8 -7
  22. package/dist/components/ui/atoms/hover-card.js +3 -3
  23. package/dist/components/ui/atoms/icons/adp.d.ts +3 -0
  24. package/dist/components/ui/atoms/icons/adp.js +40 -0
  25. package/dist/components/ui/atoms/icons/aha.d.ts +3 -0
  26. package/dist/components/ui/atoms/icons/aha.js +28 -0
  27. package/dist/{assets → components/ui/atoms}/icons/airtable.js +4 -0
  28. package/dist/components/ui/atoms/icons/amplitude.d.ts +3 -0
  29. package/dist/components/ui/atoms/icons/amplitude.js +33 -0
  30. package/dist/components/ui/atoms/icons/arcade.d.ts +3 -0
  31. package/dist/components/ui/atoms/icons/arcade.js +33 -0
  32. package/dist/{assets → components/ui/atoms}/icons/asana.js +1 -0
  33. package/dist/components/ui/atoms/icons/ashby.d.ts +3 -0
  34. package/dist/components/ui/atoms/icons/ashby.js +50 -0
  35. package/dist/{assets → components/ui/atoms}/icons/atlassian.js +14 -4
  36. package/dist/{assets → components/ui/atoms}/icons/auth0.js +1 -0
  37. package/dist/{assets → components/ui/atoms}/icons/azure.js +43 -22
  38. package/dist/components/ui/atoms/icons/bamboohr.d.ts +3 -0
  39. package/dist/components/ui/atoms/icons/bamboohr.js +31 -0
  40. package/dist/components/ui/atoms/icons/basecamp.d.ts +3 -0
  41. package/dist/components/ui/atoms/icons/basecamp.js +57 -0
  42. package/dist/components/ui/atoms/icons/bill.d.ts +3 -0
  43. package/dist/components/ui/atoms/icons/bill.js +55 -0
  44. package/dist/components/ui/atoms/icons/bitbucket.d.ts +3 -0
  45. package/dist/components/ui/atoms/icons/bitbucket.js +38 -0
  46. package/dist/{assets → components/ui/atoms}/icons/bluesky.js +1 -0
  47. package/dist/{assets → components/ui/atoms}/icons/box.js +1 -0
  48. package/dist/components/ui/atoms/icons/braze.d.ts +3 -0
  49. package/dist/components/ui/atoms/icons/braze.js +28 -0
  50. package/dist/components/ui/atoms/icons/brex.d.ts +3 -0
  51. package/dist/components/ui/atoms/icons/brex.js +29 -0
  52. package/dist/components/ui/atoms/icons/buffer.d.ts +3 -0
  53. package/dist/components/ui/atoms/icons/buffer.js +33 -0
  54. package/dist/components/ui/atoms/icons/calendly.js +80 -0
  55. package/dist/components/ui/atoms/icons/clickhouse.d.ts +3 -0
  56. package/dist/components/ui/atoms/icons/clickhouse.js +26 -0
  57. package/dist/components/ui/atoms/icons/clickup.d.ts +3 -0
  58. package/dist/{assets → components/ui/atoms}/icons/clickup.js +16 -4
  59. package/dist/components/ui/atoms/icons/closeio.d.ts +3 -0
  60. package/dist/components/ui/atoms/icons/closeio.js +68 -0
  61. package/dist/{assets → components/ui/atoms}/icons/coinbase.js +21 -8
  62. package/dist/{assets → components/ui/atoms}/icons/confluence.js +18 -4
  63. package/dist/{assets → components/ui/atoms}/icons/datadog.js +1 -0
  64. package/dist/components/ui/atoms/icons/digital-ocean.d.ts +3 -0
  65. package/dist/components/ui/atoms/icons/digital-ocean.js +22 -0
  66. package/dist/{assets → components/ui/atoms}/icons/discord.js +1 -0
  67. package/dist/{assets → components/ui/atoms}/icons/dropbox.js +1 -0
  68. package/dist/components/ui/atoms/icons/e2b.d.ts +3 -0
  69. package/dist/components/ui/atoms/icons/e2b.js +19 -0
  70. package/dist/{assets → components/ui/atoms}/icons/ebay.js +4 -0
  71. package/dist/components/ui/atoms/icons/evernote.d.ts +3 -0
  72. package/dist/components/ui/atoms/icons/evernote.js +29 -0
  73. package/dist/components/ui/atoms/icons/factorial.d.ts +3 -0
  74. package/dist/components/ui/atoms/icons/factorial.js +50 -0
  75. package/dist/{assets → components/ui/atoms}/icons/figma.js +18 -2
  76. package/dist/components/ui/atoms/icons/firecrawl.d.ts +3 -0
  77. package/dist/components/ui/atoms/icons/firecrawl.js +19 -0
  78. package/dist/components/ui/atoms/icons/generic.d.ts +3 -0
  79. package/dist/components/ui/atoms/icons/generic.js +27 -0
  80. package/dist/{assets → components/ui/atoms}/icons/github.js +4 -3
  81. package/dist/{assets → components/ui/atoms}/icons/gitlab.js +4 -0
  82. package/dist/{assets → components/ui/atoms}/icons/gmail.js +11 -2
  83. package/dist/components/ui/atoms/icons/google-calendar.js +98 -0
  84. package/dist/{assets → components/ui/atoms}/icons/google-contacts.js +4 -0
  85. package/dist/components/ui/atoms/icons/google-docs.js +328 -0
  86. package/dist/{assets → components/ui/atoms}/icons/google-drive.js +6 -0
  87. package/dist/{assets → components/ui/atoms}/icons/google-finance.js +8 -1
  88. package/dist/{assets → components/ui/atoms}/icons/google-flight.js +49 -20
  89. package/dist/components/ui/atoms/icons/google-flights.d.ts +3 -0
  90. package/dist/components/ui/atoms/icons/google-flights.js +109 -0
  91. package/dist/{assets → components/ui/atoms}/icons/google-hotels.js +10 -1
  92. package/dist/components/ui/atoms/icons/google-jobs.d.ts +3 -0
  93. package/dist/components/ui/atoms/icons/google-jobs.js +103 -0
  94. package/dist/{assets → components/ui/atoms}/icons/google-maps.js +5 -0
  95. package/dist/{assets → components/ui/atoms}/icons/google-news.js +27 -3
  96. package/dist/{assets → components/ui/atoms}/icons/google-sheets.js +3 -0
  97. package/dist/{assets → components/ui/atoms}/icons/google-shopping.js +9 -1
  98. package/dist/components/ui/atoms/icons/google-slides.d.ts +3 -0
  99. package/dist/components/ui/atoms/icons/google-slides.js +243 -0
  100. package/dist/{assets → components/ui/atoms}/icons/google.js +4 -0
  101. package/dist/{assets → components/ui/atoms}/icons/heroku.js +1 -0
  102. package/dist/components/ui/atoms/icons/hootsuite.d.ts +3 -0
  103. package/dist/components/ui/atoms/icons/hootsuite.js +43 -0
  104. package/dist/components/ui/atoms/icons/hubspot.d.ts +3 -0
  105. package/dist/{assets → components/ui/atoms}/icons/hubspot.js +2 -1
  106. package/dist/{assets → components/ui/atoms}/icons/index.d.ts +48 -0
  107. package/dist/components/ui/atoms/icons/index.js +220 -0
  108. package/dist/components/ui/atoms/icons/intercom.d.ts +3 -0
  109. package/dist/components/ui/atoms/icons/intercom.js +26 -0
  110. package/dist/{assets → components/ui/atoms}/icons/jira.js +15 -7
  111. package/dist/{assets → components/ui/atoms}/icons/linear.js +1 -0
  112. package/dist/components/ui/atoms/icons/linkedin.d.ts +3 -0
  113. package/dist/{assets → components/ui/atoms}/icons/linkedin.js +5 -4
  114. package/dist/components/ui/atoms/icons/mailchimp.d.ts +3 -0
  115. package/dist/components/ui/atoms/icons/mailchimp.js +70 -0
  116. package/dist/components/ui/atoms/icons/mcp.d.ts +3 -0
  117. package/dist/components/ui/atoms/icons/mcp.js +23 -0
  118. package/dist/components/ui/atoms/icons/microsoft-dynamics.d.ts +3 -0
  119. package/dist/components/ui/atoms/icons/microsoft-dynamics.js +172 -0
  120. package/dist/components/ui/atoms/icons/microsoft-sharepoint.d.ts +3 -0
  121. package/dist/components/ui/atoms/icons/microsoft-sharepoint.js +88 -0
  122. package/dist/components/ui/atoms/icons/microsoft-teams.d.ts +3 -0
  123. package/dist/components/ui/atoms/icons/microsoft-teams.js +119 -0
  124. package/dist/{assets → components/ui/atoms}/icons/microsoft.js +4 -0
  125. package/dist/components/ui/atoms/icons/miro.d.ts +3 -0
  126. package/dist/components/ui/atoms/icons/miro.js +35 -0
  127. package/dist/components/ui/atoms/icons/monday.d.ts +3 -0
  128. package/dist/components/ui/atoms/icons/monday.js +60 -0
  129. package/dist/components/ui/atoms/icons/netsuite.d.ts +3 -0
  130. package/dist/{assets → components/ui/atoms}/icons/netsuite.js +35 -26
  131. package/dist/{assets → components/ui/atoms}/icons/notion.js +2 -0
  132. package/dist/components/ui/atoms/icons/oauth.d.ts +3 -0
  133. package/dist/{assets → components/ui/atoms}/icons/oauth.js +66 -8
  134. package/dist/components/ui/atoms/icons/obsidian.d.ts +3 -0
  135. package/dist/components/ui/atoms/icons/obsidian.js +220 -0
  136. package/dist/components/ui/atoms/icons/okta.d.ts +3 -0
  137. package/dist/components/ui/atoms/icons/okta.js +56 -0
  138. package/dist/components/ui/atoms/icons/one-drive.d.ts +3 -0
  139. package/dist/components/ui/atoms/icons/one-drive.js +38 -0
  140. package/dist/{assets → components/ui/atoms}/icons/outlook-calendar.js +18 -0
  141. package/dist/{assets → components/ui/atoms}/icons/outlook-mail.js +4 -0
  142. package/dist/components/ui/atoms/icons/pinecone.d.ts +3 -0
  143. package/dist/components/ui/atoms/icons/pinecone.js +29 -0
  144. package/dist/{assets → components/ui/atoms}/icons/pinterest.js +1 -0
  145. package/dist/components/ui/atoms/icons/pipedrive.d.ts +3 -0
  146. package/dist/components/ui/atoms/icons/pipedrive.js +59 -0
  147. package/dist/components/ui/atoms/icons/plaid.d.ts +3 -0
  148. package/dist/components/ui/atoms/icons/plaid.js +37 -0
  149. package/dist/{assets → components/ui/atoms}/icons/postgres.js +30 -20
  150. package/dist/components/ui/atoms/icons/quickbooks.d.ts +3 -0
  151. package/dist/components/ui/atoms/icons/quickbooks.js +25 -0
  152. package/dist/components/ui/atoms/icons/reddit.js +315 -0
  153. package/dist/{assets → components/ui/atoms}/icons/salesforce.js +3 -0
  154. package/dist/{assets → components/ui/atoms}/icons/shopify.js +3 -0
  155. package/dist/components/ui/atoms/icons/singlestore.d.ts +3 -0
  156. package/dist/components/ui/atoms/icons/singlestore.js +284 -0
  157. package/dist/{assets → components/ui/atoms}/icons/slack.js +7 -1
  158. package/dist/components/ui/atoms/icons/snowflake.d.ts +3 -0
  159. package/dist/components/ui/atoms/icons/snowflake.js +26 -0
  160. package/dist/components/ui/atoms/icons/splunk.d.ts +3 -0
  161. package/dist/components/ui/atoms/icons/splunk.js +54 -0
  162. package/dist/{assets → components/ui/atoms}/icons/spotify.js +1 -0
  163. package/dist/components/ui/atoms/icons/square.d.ts +3 -0
  164. package/dist/components/ui/atoms/icons/square.js +41 -0
  165. package/dist/components/ui/atoms/icons/squarespace.d.ts +3 -0
  166. package/dist/components/ui/atoms/icons/squarespace.js +29 -0
  167. package/dist/{assets → components/ui/atoms}/icons/stripe.js +1 -0
  168. package/dist/{assets → components/ui/atoms}/icons/tesla.js +5 -1
  169. package/dist/{assets → components/ui/atoms}/icons/tiktok.js +3 -0
  170. package/dist/components/ui/atoms/icons/trello.d.ts +3 -0
  171. package/dist/components/ui/atoms/icons/trello.js +59 -0
  172. package/dist/{assets → components/ui/atoms}/icons/twilio.js +11 -4
  173. package/dist/{assets → components/ui/atoms}/icons/twitch.js +6 -1
  174. package/dist/components/ui/atoms/icons/utils.d.ts +56 -0
  175. package/dist/components/ui/atoms/icons/utils.js +41 -0
  176. package/dist/{assets → components/ui/atoms}/icons/vercel.js +1 -0
  177. package/dist/{assets → components/ui/atoms}/icons/walmart.js +2 -0
  178. package/dist/components/ui/atoms/icons/weaviate.d.ts +3 -0
  179. package/dist/components/ui/atoms/icons/weaviate.js +229 -0
  180. package/dist/components/ui/atoms/icons/workday.d.ts +3 -0
  181. package/dist/components/ui/atoms/icons/workday.js +97 -0
  182. package/dist/components/ui/atoms/icons/wrike.d.ts +3 -0
  183. package/dist/components/ui/atoms/icons/wrike.js +16 -0
  184. package/dist/{assets → components/ui/atoms}/icons/x.js +4 -4
  185. package/dist/components/ui/atoms/icons/xero.js +87 -0
  186. package/dist/components/ui/atoms/icons/youtube.d.ts +3 -0
  187. package/dist/{assets → components/ui/atoms}/icons/youtube.js +3 -1
  188. package/dist/components/ui/atoms/icons/zendesk.d.ts +3 -0
  189. package/dist/components/ui/atoms/icons/zendesk.js +27 -0
  190. package/dist/{assets → components/ui/atoms}/icons/zoom.js +30 -17
  191. package/dist/components/ui/atoms/index.d.ts +2 -0
  192. package/dist/components/ui/atoms/index.js +416 -197
  193. package/dist/components/ui/atoms/input.js +1 -1
  194. package/dist/components/ui/atoms/label.js +1 -1
  195. package/dist/components/ui/atoms/popover.js +3 -3
  196. package/dist/components/ui/atoms/pro-badge.js +2 -2
  197. package/dist/components/ui/atoms/progress.js +19 -18
  198. package/dist/components/ui/atoms/radio-group.js +2 -2
  199. package/dist/components/ui/atoms/resizable.js +24 -1527
  200. package/dist/components/ui/atoms/scroll-area.js +4 -4
  201. package/dist/components/ui/atoms/select.js +4 -4
  202. package/dist/components/ui/atoms/separator.js +1 -1
  203. package/dist/components/ui/atoms/sheet.js +2 -2
  204. package/dist/components/ui/atoms/sidebar.js +104 -104
  205. package/dist/components/ui/atoms/skeleton.js +1 -1
  206. package/dist/components/ui/atoms/slider.js +1 -1
  207. package/dist/components/ui/atoms/switch.js +1 -1
  208. package/dist/components/ui/atoms/table.js +1 -1
  209. package/dist/components/ui/atoms/tabs.js +2 -2
  210. package/dist/components/ui/atoms/textarea.js +1 -1
  211. package/dist/components/ui/atoms/toggle.js +2 -2
  212. package/dist/components/ui/atoms/tooltip.js +61 -61
  213. package/dist/components/ui/atoms/view-tools-control.d.ts +12 -0
  214. package/dist/components/ui/atoms/view-tools-control.js +53 -0
  215. package/dist/components/ui/index.d.ts +3 -0
  216. package/dist/components/ui/index.js +431 -199
  217. package/dist/components/ui/molecules/empty-state.d.ts +5 -0
  218. package/dist/components/ui/molecules/empty-state.js +25 -0
  219. package/dist/components/ui/molecules/index.d.ts +7 -0
  220. package/dist/components/ui/molecules/index.js +13 -0
  221. package/dist/components/ui/molecules/requirement-badges.d.ts +29 -0
  222. package/dist/components/ui/molecules/requirement-badges.js +25 -0
  223. package/dist/components/ui/molecules/tool-card.d.ts +17 -0
  224. package/dist/components/ui/molecules/tool-card.js +127 -0
  225. package/dist/components/ui/molecules/toolkit-card.d.ts +24 -0
  226. package/dist/components/ui/molecules/toolkit-card.js +13 -0
  227. package/dist/components/ui/molecules/toolkit-picker-trigger.d.ts +8 -0
  228. package/dist/components/ui/molecules/toolkit-picker-trigger.js +105 -0
  229. package/dist/components/ui/molecules/toolkit-selection-summary.d.ts +11 -0
  230. package/dist/components/ui/molecules/toolkit-selection-summary.js +120 -0
  231. package/dist/components/ui/organisms/index.d.ts +2 -0
  232. package/dist/components/ui/organisms/index.js +4 -0
  233. package/dist/components/ui/organisms/toolkit-picker/components/footer-summary.d.ts +1 -0
  234. package/dist/components/ui/organisms/toolkit-picker/components/footer-summary.js +36 -0
  235. package/dist/components/ui/organisms/toolkit-picker/components/search-input.d.ts +1 -0
  236. package/dist/components/ui/organisms/toolkit-picker/components/search-input.js +37 -0
  237. package/dist/components/ui/organisms/toolkit-picker/components/select-button.d.ts +9 -0
  238. package/dist/components/ui/organisms/toolkit-picker/components/select-button.js +36 -0
  239. package/dist/components/ui/organisms/toolkit-picker/components/toolkit-card-with-selection.d.ts +9 -0
  240. package/dist/components/ui/organisms/toolkit-picker/components/toolkit-card-with-selection.js +39 -0
  241. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker-filter.test.d.ts +1 -0
  242. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker-filter.test.js +40 -0
  243. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker-search.test.d.ts +1 -0
  244. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker-search.test.js +46 -0
  245. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker-selection.test.d.ts +1 -0
  246. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker-selection.test.js +28 -0
  247. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker.d.ts +41 -0
  248. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker.js +281 -0
  249. package/dist/components/ui/organisms/toolkit-picker/index.d.ts +14 -0
  250. package/dist/components/ui/organisms/toolkit-picker/index.js +16 -0
  251. package/dist/components/ui/organisms/toolkit-picker/mocks/toolkit-collection.d.ts +7 -0
  252. package/dist/components/ui/organisms/toolkit-picker/mocks/toolkit-collection.js +514 -0
  253. package/dist/components/ui/organisms/toolkit-picker/toolkit-picker.d.ts +2 -0
  254. package/dist/components/ui/organisms/toolkit-picker/toolkit-picker.js +405 -0
  255. package/dist/components/ui/organisms/toolkit-picker/toolkit-picker.test.d.ts +0 -0
  256. package/dist/components/ui/organisms/toolkit-picker/toolkit-picker.test.js +11859 -0
  257. package/dist/components/ui/utils/memo.d.ts +2 -0
  258. package/dist/components/ui/utils/memo.js +25 -0
  259. package/dist/components/ui/utils/memo.test.d.ts +1 -0
  260. package/dist/components/ui/utils/memo.test.js +36 -0
  261. package/dist/{index-CQhYMnjT.js → index-BDE30rcJ.js} +1 -1
  262. package/dist/{index-CtSXVDca.js → index-BDIfjxqB.js} +1 -1
  263. package/dist/{index-C8_QusYl.js → index-BGfrl8IX.js} +1 -1
  264. package/dist/{index-BSWzylXR.js → index-BzU0xzeS.js} +3 -3
  265. package/dist/index-DH9yRdVk.js +1540 -0
  266. package/dist/lib/arcade/arcade.d.ts +100 -0
  267. package/dist/lib/arcade/arcade.js +6 -0
  268. package/dist/lib/arcade/arcade.test.d.ts +1 -0
  269. package/dist/lib/arcade/arcade.test.js +299 -0
  270. package/dist/lib/arcade/mocks.d.ts +2 -0
  271. package/dist/lib/arcade/mocks.js +547 -0
  272. package/dist/lib/utils.d.ts +1 -0
  273. package/dist/lib/utils.js +3 -2
  274. package/dist/lib/utils.test.d.ts +1 -0
  275. package/dist/lib/utils.test.js +43 -0
  276. package/dist/magic-string.es-QnVUNas7.js +660 -0
  277. package/dist/main.d.ts +1 -0
  278. package/dist/main.js +431 -199
  279. package/dist/metadata/oauth-providers.d.ts +69 -0
  280. package/dist/metadata/oauth-providers.js +260 -0
  281. package/dist/metadata/toolkits.d.ts +24 -0
  282. package/dist/metadata/toolkits.js +1500 -0
  283. package/dist/react-resizable-panels.browser-ZHjTH32c.js +1509 -0
  284. package/dist/react.esm-CFMQn0EI.js +35565 -0
  285. package/dist/toolkit-card-UG1sZ0Le.js +305 -0
  286. package/dist/{utils-CRiPKpXj.js → utils-Db4QWi-E.js} +204 -189
  287. package/dist/vi.bdSIJ99Y-CQ1FdEM8.js +11542 -0
  288. package/package.json +71 -58
  289. package/dist/assets/icons/calendly.js +0 -64
  290. package/dist/assets/icons/clickup.d.ts +0 -3
  291. package/dist/assets/icons/e2b.d.ts +0 -3
  292. package/dist/assets/icons/e2b.js +0 -9
  293. package/dist/assets/icons/firecrawl.d.ts +0 -5
  294. package/dist/assets/icons/firecrawl.js +0 -17
  295. package/dist/assets/icons/google-calendar.js +0 -93
  296. package/dist/assets/icons/google-docs.js +0 -229
  297. package/dist/assets/icons/hubspot.d.ts +0 -3
  298. package/dist/assets/icons/index.js +0 -126
  299. package/dist/assets/icons/linkedin.d.ts +0 -3
  300. package/dist/assets/icons/netsuite.d.ts +0 -3
  301. package/dist/assets/icons/oauth.d.ts +0 -3
  302. package/dist/assets/icons/reddit.js +0 -268
  303. package/dist/assets/icons/utils.d.ts +0 -409
  304. package/dist/assets/icons/utils.js +0 -422
  305. package/dist/assets/icons/xero.js +0 -63
  306. package/dist/assets/icons/youtube.d.ts +0 -3
  307. package/dist/index-PlrlSrPo.js +0 -1537
  308. /package/dist/{assets → components/ui/atoms}/icons/airtable.d.ts +0 -0
  309. /package/dist/{assets → components/ui/atoms}/icons/asana.d.ts +0 -0
  310. /package/dist/{assets → components/ui/atoms}/icons/atlassian.d.ts +0 -0
  311. /package/dist/{assets → components/ui/atoms}/icons/auth0.d.ts +0 -0
  312. /package/dist/{assets → components/ui/atoms}/icons/azure.d.ts +0 -0
  313. /package/dist/{assets → components/ui/atoms}/icons/bluesky.d.ts +0 -0
  314. /package/dist/{assets → components/ui/atoms}/icons/box.d.ts +0 -0
  315. /package/dist/{assets → components/ui/atoms}/icons/calendly.d.ts +0 -0
  316. /package/dist/{assets → components/ui/atoms}/icons/coinbase.d.ts +0 -0
  317. /package/dist/{assets → components/ui/atoms}/icons/confluence.d.ts +0 -0
  318. /package/dist/{assets → components/ui/atoms}/icons/datadog.d.ts +0 -0
  319. /package/dist/{assets → components/ui/atoms}/icons/discord.d.ts +0 -0
  320. /package/dist/{assets → components/ui/atoms}/icons/dropbox.d.ts +0 -0
  321. /package/dist/{assets → components/ui/atoms}/icons/ebay.d.ts +0 -0
  322. /package/dist/{assets → components/ui/atoms}/icons/figma.d.ts +0 -0
  323. /package/dist/{assets → components/ui/atoms}/icons/github.d.ts +0 -0
  324. /package/dist/{assets → components/ui/atoms}/icons/gitlab.d.ts +0 -0
  325. /package/dist/{assets → components/ui/atoms}/icons/gmail.d.ts +0 -0
  326. /package/dist/{assets → components/ui/atoms}/icons/google-calendar.d.ts +0 -0
  327. /package/dist/{assets → components/ui/atoms}/icons/google-contacts.d.ts +0 -0
  328. /package/dist/{assets → components/ui/atoms}/icons/google-docs.d.ts +0 -0
  329. /package/dist/{assets → components/ui/atoms}/icons/google-drive.d.ts +0 -0
  330. /package/dist/{assets → components/ui/atoms}/icons/google-finance.d.ts +0 -0
  331. /package/dist/{assets → components/ui/atoms}/icons/google-flight.d.ts +0 -0
  332. /package/dist/{assets → components/ui/atoms}/icons/google-hotels.d.ts +0 -0
  333. /package/dist/{assets → components/ui/atoms}/icons/google-maps.d.ts +0 -0
  334. /package/dist/{assets → components/ui/atoms}/icons/google-news.d.ts +0 -0
  335. /package/dist/{assets → components/ui/atoms}/icons/google-sheets.d.ts +0 -0
  336. /package/dist/{assets → components/ui/atoms}/icons/google-shopping.d.ts +0 -0
  337. /package/dist/{assets → components/ui/atoms}/icons/google.d.ts +0 -0
  338. /package/dist/{assets → components/ui/atoms}/icons/heroku.d.ts +0 -0
  339. /package/dist/{assets → components/ui/atoms}/icons/jira.d.ts +0 -0
  340. /package/dist/{assets → components/ui/atoms}/icons/linear.d.ts +0 -0
  341. /package/dist/{assets → components/ui/atoms}/icons/microsoft.d.ts +0 -0
  342. /package/dist/{assets → components/ui/atoms}/icons/notion.d.ts +0 -0
  343. /package/dist/{assets → components/ui/atoms}/icons/outlook-calendar.d.ts +0 -0
  344. /package/dist/{assets → components/ui/atoms}/icons/outlook-mail.d.ts +0 -0
  345. /package/dist/{assets → components/ui/atoms}/icons/pinterest.d.ts +0 -0
  346. /package/dist/{assets → components/ui/atoms}/icons/postgres.d.ts +0 -0
  347. /package/dist/{assets → components/ui/atoms}/icons/reddit.d.ts +0 -0
  348. /package/dist/{assets → components/ui/atoms}/icons/salesforce.d.ts +0 -0
  349. /package/dist/{assets → components/ui/atoms}/icons/shopify.d.ts +0 -0
  350. /package/dist/{assets → components/ui/atoms}/icons/slack.d.ts +0 -0
  351. /package/dist/{assets → components/ui/atoms}/icons/spotify.d.ts +0 -0
  352. /package/dist/{assets → components/ui/atoms}/icons/stripe.d.ts +0 -0
  353. /package/dist/{assets → components/ui/atoms}/icons/tesla.d.ts +0 -0
  354. /package/dist/{assets → components/ui/atoms}/icons/tiktok.d.ts +0 -0
  355. /package/dist/{assets → components/ui/atoms}/icons/twilio.d.ts +0 -0
  356. /package/dist/{assets → components/ui/atoms}/icons/twitch.d.ts +0 -0
  357. /package/dist/{assets → components/ui/atoms}/icons/vercel.d.ts +0 -0
  358. /package/dist/{assets → components/ui/atoms}/icons/walmart.d.ts +0 -0
  359. /package/dist/{assets → components/ui/atoms}/icons/x.d.ts +0 -0
  360. /package/dist/{assets → components/ui/atoms}/icons/xero.d.ts +0 -0
  361. /package/dist/{assets → components/ui/atoms}/icons/zoom.d.ts +0 -0
@@ -0,0 +1,5 @@
1
+ import type * as React from 'react';
2
+ export declare function EmptyState({ title, description, ...rest }: {
3
+ title?: string;
4
+ description?: string;
5
+ } & React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,25 @@
1
+ import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
+ import { Search as d } from "lucide-react";
3
+ function g({
4
+ title: t = "No results",
5
+ description: a = "Try adjusting your search or filters",
6
+ ...s
7
+ }) {
8
+ return /* @__PURE__ */ r(
9
+ "div",
10
+ {
11
+ className: "flex h-56 flex-col items-center justify-center gap-4 rounded-xl border-2 border-gray-200 border-dashed bg-gray-50/50 text-center dark:border-gray-800 dark:bg-gray-900/50",
12
+ ...s,
13
+ children: [
14
+ /* @__PURE__ */ e("div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800", children: /* @__PURE__ */ e(d, { className: "h-8 w-8 text-gray-400" }) }),
15
+ /* @__PURE__ */ r("div", { className: "space-y-1", children: [
16
+ /* @__PURE__ */ e("h3", { className: "font-semibold text-gray-900 text-lg dark:text-gray-100", children: t }),
17
+ /* @__PURE__ */ e("p", { className: "text-gray-600 text-sm dark:text-gray-400", children: a })
18
+ ] })
19
+ ]
20
+ }
21
+ );
22
+ }
23
+ export {
24
+ g as EmptyState
25
+ };
@@ -0,0 +1,7 @@
1
+ /** biome-ignore-all lint/performance/noBarrelFile: Barrel files are acceptable for atomic component folders */
2
+ export { EmptyState } from './empty-state';
3
+ export { RequirementBadges } from './requirement-badges';
4
+ export { ToolCard } from './tool-card';
5
+ export { ToolkitCard } from './toolkit-card';
6
+ export { ToolkitPickerTrigger } from './toolkit-picker-trigger';
7
+ export { ToolkitSelectionSummary } from './toolkit-selection-summary';
@@ -0,0 +1,13 @@
1
+ import { EmptyState as e } from "./empty-state.js";
2
+ import { R as m, T as a } from "../../../toolkit-card-UG1sZ0Le.js";
3
+ import { ToolCard as p } from "./tool-card.js";
4
+ import { ToolkitPickerTrigger as f } from "./toolkit-picker-trigger.js";
5
+ import { ToolkitSelectionSummary as x } from "./toolkit-selection-summary.js";
6
+ export {
7
+ e as EmptyState,
8
+ m as RequirementBadges,
9
+ p as ToolCard,
10
+ a as ToolkitCard,
11
+ f as ToolkitPickerTrigger,
12
+ x as ToolkitSelectionSummary
13
+ };
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+ export type SecretsSummary = {
3
+ configured: string[];
4
+ pending: string[];
5
+ };
6
+ export type OAuthProvider = {
7
+ id: string;
8
+ status: 'active' | 'inactive';
9
+ scopes: string[];
10
+ };
11
+ export type OAuthSummary = {
12
+ providers: OAuthProvider[];
13
+ };
14
+ declare function RequirementBadgesImpl({ requirementsSummary, isByoc, isPro, }: {
15
+ requirementsSummary: {
16
+ secrets?: SecretsSummary;
17
+ oauth?: OAuthSummary;
18
+ };
19
+ isByoc?: boolean;
20
+ isPro?: boolean;
21
+ }): import("react/jsx-runtime").JSX.Element | null;
22
+ declare const SecretsBadge: React.MemoExoticComponent<({ secrets }: {
23
+ secrets: SecretsSummary;
24
+ }) => import("react/jsx-runtime").JSX.Element>;
25
+ declare const OAuthBadge: React.MemoExoticComponent<({ oauth }: {
26
+ oauth: OAuthSummary;
27
+ }) => import("react/jsx-runtime").JSX.Element>;
28
+ declare const RequirementBadges: React.MemoExoticComponent<typeof RequirementBadgesImpl>;
29
+ export { OAuthBadge, RequirementBadges, SecretsBadge };
@@ -0,0 +1,25 @@
1
+ import "react/jsx-runtime";
2
+ import "lucide-react";
3
+ import "react";
4
+ import "../../../utils-Db4QWi-E.js";
5
+ import "../atoms/badge.js";
6
+ import "../atoms/byoc-badge.js";
7
+ import "../atoms/chart.js";
8
+ import "../atoms/form.js";
9
+ import "../atoms/mobile-tooltip.js";
10
+ import "../atoms/pro-badge.js";
11
+ import "../../../react-resizable-panels.browser-ZHjTH32c.js";
12
+ import "../atoms/sidebar.js";
13
+ import "../atoms/table.js";
14
+ import "../atoms/tooltip.js";
15
+ import { O as x, R as A, S as b } from "../../../toolkit-card-UG1sZ0Le.js";
16
+ import "./tool-card.js";
17
+ import "../../../metadata/oauth-providers.js";
18
+ import "../../../metadata/toolkits.js";
19
+ import "../organisms/toolkit-picker/hooks/use-toolkit-picker.js";
20
+ import "../utils/memo.js";
21
+ export {
22
+ x as OAuthBadge,
23
+ A as RequirementBadges,
24
+ b as SecretsBadge
25
+ };
@@ -0,0 +1,17 @@
1
+ import { JSX } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ export type ToolCardProps = {
4
+ fully_qualified_name: string;
5
+ name?: string;
6
+ toolkitName?: string;
7
+ description?: string;
8
+ isSelected?: boolean;
9
+ Icon?: (props: {
10
+ className?: string;
11
+ }) => JSX.Element;
12
+ onSelect?: (checked: boolean) => void;
13
+ hideCheckbox?: boolean;
14
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'>;
15
+ declare function ToolCardImpl({ fully_qualified_name, name, toolkitName, description, Icon, isSelected, onSelect, hideCheckbox, ...rest }: ToolCardProps): JSX.Element;
16
+ export declare const ToolCard: React.MemoExoticComponent<typeof ToolCardImpl>;
17
+ export {};
@@ -0,0 +1,127 @@
1
+ import { jsx as r, jsxs as a } from "react/jsx-runtime";
2
+ import { Wrench as N } from "lucide-react";
3
+ import * as t from "react";
4
+ import { Button as E } from "../atoms/button.js";
5
+ import { Card as D, CardContent as I } from "../atoms/card.js";
6
+ import { Checkbox as P } from "../atoms/checkbox.js";
7
+ import { Collapsible as T, CollapsibleTrigger as _, CollapsibleContent as S } from "../atoms/collapsible.js";
8
+ import { c as m } from "../../../utils-Db4QWi-E.js";
9
+ import { createPropsComparator as j } from "../utils/memo.js";
10
+ const K = /\s+/, O = 220, R = 40;
11
+ function z({
12
+ fully_qualified_name: u,
13
+ name: k,
14
+ toolkitName: p,
15
+ description: n,
16
+ Icon: C = (s) => /* @__PURE__ */ r(N, { ...s }),
17
+ isSelected: o = !1,
18
+ onSelect: l,
19
+ hideCheckbox: h = !1,
20
+ ...b
21
+ }) {
22
+ const s = t.useCallback(
23
+ () => l?.(!o),
24
+ [o, l]
25
+ ), [i, x] = t.useState(!1), w = t.useMemo(() => n ? n.length > O ? !0 : n.trim().split(K).length > R : !1, [n]), y = (e) => {
26
+ const c = e.key === "Enter" || e.code === "Enter", d = e.key === " " || e.key === "Spacebar" || e.code === "Space";
27
+ (c || d) && (e.preventDefault(), s());
28
+ }, v = t.useCallback(
29
+ (e) => l?.(!!e),
30
+ [l]
31
+ ), f = t.useCallback((e) => {
32
+ e.stopPropagation();
33
+ }, []), g = t.useCallback((e) => {
34
+ const c = e.key === "Enter" || e.code === "Enter", d = e.key === " " || e.key === "Spacebar" || e.code === "Space";
35
+ (c || d) && e.stopPropagation();
36
+ }, []);
37
+ return /* @__PURE__ */ r(
38
+ D,
39
+ {
40
+ ...b,
41
+ "aria-label": `Select tool ${u}`,
42
+ className: m(
43
+ "group relative cursor-pointer overflow-hidden rounded-lg border py-3 transition-all duration-200",
44
+ "bg-white/50 hover:bg-white/70 dark:bg-neutral-900/50 dark:hover:bg-neutral-900/70",
45
+ "hover:-translate-y-0.5 hover:shadow-lg",
46
+ o && "border-emerald-300 ring-2 ring-emerald-500 ring-offset-2 ring-offset-white dark:border-emerald-900/60 dark:ring-offset-neutral-950",
47
+ !o && "border-neutral-200 hover:border-neutral-300 dark:border-neutral-800 dark:hover:border-neutral-700"
48
+ ),
49
+ onClick: s,
50
+ onKeyDown: y,
51
+ tabIndex: 0,
52
+ children: /* @__PURE__ */ r(I, { className: "px-3", children: /* @__PURE__ */ a(
53
+ "div",
54
+ {
55
+ className: m(
56
+ "grid items-start gap-2",
57
+ "grid-cols-[20px_1fr_auto]",
58
+ h && "grid-cols-[1fr_auto]"
59
+ ),
60
+ children: [
61
+ !h && /* @__PURE__ */ r("div", { className: "flex items-center justify-center pt-1.5", children: /* @__PURE__ */ r(
62
+ P,
63
+ {
64
+ checked: o,
65
+ onCheckedChange: v,
66
+ onClick: f,
67
+ onKeyDown: g,
68
+ tabIndex: -1
69
+ }
70
+ ) }),
71
+ /* @__PURE__ */ a("div", { className: "min-w-0 space-y-2", children: [
72
+ /* @__PURE__ */ a("div", { className: "flex min-w-0 items-start gap-3", children: [
73
+ /* @__PURE__ */ r("div", { className: "flex size-9 items-center justify-center rounded bg-gradient-to-b from-neutral-200 to-neutral-100 ring-1 ring-black/5 dark:from-neutral-800 dark:to-neutral-900 dark:ring-white/5", children: /* @__PURE__ */ r(C, { className: "size-6 text-neutral-700 dark:text-neutral-200" }) }),
74
+ /* @__PURE__ */ a("div", { className: "flex h-9 min-w-0 flex-col justify-center space-y-0.5", children: [
75
+ /* @__PURE__ */ r("h3", { className: "truncate font-semibold text-base text-neutral-900 leading-tight dark:text-neutral-100", children: k ?? u }),
76
+ p && /* @__PURE__ */ r("span", { className: "font-medium text-neutral-500 text-xs leading-tight dark:text-neutral-400", children: p })
77
+ ] })
78
+ ] }),
79
+ n && /* @__PURE__ */ a(T, { onOpenChange: x, open: i, children: [
80
+ /* @__PURE__ */ a("div", { className: "space-y-1", children: [
81
+ /* @__PURE__ */ r(
82
+ "p",
83
+ {
84
+ className: m(
85
+ "text-neutral-600 text-sm dark:text-neutral-400",
86
+ !i && "line-clamp-3"
87
+ ),
88
+ children: n
89
+ }
90
+ ),
91
+ w && /* @__PURE__ */ r(_, { asChild: !0, children: /* @__PURE__ */ a(
92
+ E,
93
+ {
94
+ className: "h-auto px-0",
95
+ onClick: f,
96
+ onKeyDown: g,
97
+ size: "sm",
98
+ variant: "link",
99
+ children: [
100
+ i && "Show less",
101
+ !i && "Show more"
102
+ ]
103
+ }
104
+ ) })
105
+ ] }),
106
+ /* @__PURE__ */ r(S, {})
107
+ ] })
108
+ ] }),
109
+ /* @__PURE__ */ r("div", { className: "w-8" })
110
+ ]
111
+ }
112
+ ) })
113
+ }
114
+ );
115
+ }
116
+ const A = j([
117
+ "fully_qualified_name",
118
+ "name",
119
+ "toolkitName",
120
+ "description",
121
+ "isSelected",
122
+ "Icon",
123
+ "hideCheckbox"
124
+ ]), $ = t.memo(z, A);
125
+ export {
126
+ $ as ToolCard
127
+ };
@@ -0,0 +1,24 @@
1
+ import { JSX } from 'react/jsx-runtime';
2
+ import { ProcessedToolkit } from '../../../lib/arcade/arcade';
3
+ import * as React from 'react';
4
+ export type ToolkitCardProps = {
5
+ name: string;
6
+ version?: string;
7
+ description?: string;
8
+ toolsCount: number;
9
+ isSelected?: boolean;
10
+ isPartiallySelected?: boolean;
11
+ selectedToolsCount?: number;
12
+ Icon?: (props: {
13
+ className?: string;
14
+ }) => JSX.Element;
15
+ requirementsSummary: ProcessedToolkit['requirementsSummary'];
16
+ isByoc?: boolean;
17
+ isPro?: boolean;
18
+ onSelect?: (checked: boolean) => void;
19
+ onView?: () => void;
20
+ hideCheckbox?: boolean;
21
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'>;
22
+ declare function ToolkitCardImpl({ name, version, toolsCount, Icon, isSelected, isPartiallySelected, selectedToolsCount, requirementsSummary, onSelect, onView, hideCheckbox, isByoc, isPro, ...rest }: ToolkitCardProps): JSX.Element;
23
+ export declare const ToolkitCard: React.MemoExoticComponent<typeof ToolkitCardImpl>;
24
+ export {};
@@ -0,0 +1,13 @@
1
+ import "react/jsx-runtime";
2
+ import "../../../index-BDE30rcJ.js";
3
+ import "lucide-react";
4
+ import "react";
5
+ import "../atoms/card.js";
6
+ import "../atoms/checkbox.js";
7
+ import "../atoms/view-tools-control.js";
8
+ import "../../../utils-Db4QWi-E.js";
9
+ import { T as k } from "../../../toolkit-card-UG1sZ0Le.js";
10
+ import "../utils/memo.js";
11
+ export {
12
+ k as ToolkitCard
13
+ };
@@ -0,0 +1,8 @@
1
+ import { Button } from '../atoms/button';
2
+ import type * as React from 'react';
3
+ export type ToolkitPickerTriggerProps = React.ComponentProps<typeof Button> & {
4
+ maxVisibleIcons?: number;
5
+ countType?: 'toolkits' | 'tools';
6
+ loading?: boolean;
7
+ };
8
+ export declare function ToolkitPickerTrigger({ maxVisibleIcons, className, countType, loading, ...buttonProps }: ToolkitPickerTriggerProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,105 @@
1
+ import { jsx as e, jsxs as t, Fragment as h } from "react/jsx-runtime";
2
+ import { Loader2 as v, Package as w } from "lucide-react";
3
+ import { Badge as y } from "../atoms/badge.js";
4
+ import { Button as z } from "../atoms/button.js";
5
+ import { getToolkitIcon as j } from "../atoms/icons/utils.js";
6
+ import { Tooltip as C, TooltipTrigger as $, TooltipContent as L } from "../atoms/tooltip.js";
7
+ import { c as g } from "../../../utils-Db4QWi-E.js";
8
+ import { useToolkitPicker as I } from "../organisms/toolkit-picker/hooks/use-toolkit-picker.js";
9
+ function D({
10
+ maxVisibleIcons: x = 2,
11
+ className: N,
12
+ countType: r = "toolkits",
13
+ loading: i = !1,
14
+ ...n
15
+ }) {
16
+ const {
17
+ state: { committedToolkits: f, committedTools: T }
18
+ } = I(), o = Array.from(f.keys()), l = o.length, p = T.size, c = o.slice(0, x).map((a) => {
19
+ const s = f.get(a);
20
+ return j({
21
+ metadataIcon: s?.metadata?.icon,
22
+ toolkitName: a
23
+ });
24
+ }), k = Math.max(l - c.length, 0), b = r === "tools";
25
+ let m = "Toolkits", d = l;
26
+ b && (m = "Tools", d = p);
27
+ let u = `Select ${r === "tools" ? "Tools" : "Toolkits"}`;
28
+ return i ? u = "Loading toolkits..." : l > 0 && (u = `${d} ${m.toLowerCase()} selected`), /* @__PURE__ */ e(
29
+ z,
30
+ {
31
+ ...n,
32
+ "aria-label": u,
33
+ className: g("gap-2 bg-transparent transition-colors", N),
34
+ disabled: i,
35
+ size: n.size ?? "sm",
36
+ variant: n.variant ?? "outline",
37
+ children: i ? /* @__PURE__ */ t(h, { children: [
38
+ /* @__PURE__ */ e(v, { className: "h-4 w-4 animate-spin" }),
39
+ /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: [
40
+ /* @__PURE__ */ e("div", { className: "h-4 w-16 animate-pulse rounded bg-neutral-200 dark:bg-neutral-700" }),
41
+ /* @__PURE__ */ e("div", { className: "h-5 w-6 animate-pulse rounded-full bg-neutral-200 dark:bg-neutral-700" })
42
+ ] })
43
+ ] }) : /* @__PURE__ */ t(h, { children: [
44
+ l > 0 && /* @__PURE__ */ t(C, { children: [
45
+ /* @__PURE__ */ e($, { asChild: !0, children: /* @__PURE__ */ t("span", { className: "mr-1.5 flex items-center", children: [
46
+ c.map((a, s) => /* @__PURE__ */ e(
47
+ "div",
48
+ {
49
+ className: g(
50
+ "relative first:ml-0",
51
+ s > 0 && "-ml-1.5"
52
+ ),
53
+ style: { zIndex: s + 1 },
54
+ children: /* @__PURE__ */ e("div", { className: "flex size-5 items-center justify-center rounded-full bg-neutral-200 p-2 ring-1 ring-black/15 dark:bg-neutral-800 dark:ring-white/15", children: /* @__PURE__ */ e(a, { className: "h-2.5 w-2.5" }) })
55
+ },
56
+ `${a.name || "icon"}-${s}`
57
+ )),
58
+ k > 0 && /* @__PURE__ */ t(
59
+ "span",
60
+ {
61
+ className: "-ml-2 inline-flex h-6 w-6 items-center justify-center rounded-full bg-neutral-200 font-medium text-[10px] text-neutral-700 ring-1 ring-black/15 dark:bg-neutral-800 dark:text-neutral-200 dark:ring-white/15",
62
+ style: { zIndex: c.length + 10 },
63
+ children: [
64
+ "+",
65
+ k
66
+ ]
67
+ }
68
+ )
69
+ ] }) }),
70
+ /* @__PURE__ */ e(L, { side: "bottom", sideOffset: 6, children: /* @__PURE__ */ e("div", { className: "text-xs", children: /* @__PURE__ */ t("ul", { className: "list-disc space-y-1 pl-4", children: [
71
+ /* @__PURE__ */ t("li", { children: [
72
+ /* @__PURE__ */ e("span", { className: "font-semibold text-neutral-800 dark:text-neutral-200", children: "Toolkits" }),
73
+ /* @__PURE__ */ t("span", { className: "text-neutral-700 dark:text-neutral-300", children: [
74
+ ": ",
75
+ o.join(", ")
76
+ ] })
77
+ ] }),
78
+ /* @__PURE__ */ t("li", { children: [
79
+ /* @__PURE__ */ e("span", { className: "font-semibold text-neutral-800 dark:text-neutral-200", children: "Tools" }),
80
+ /* @__PURE__ */ t("span", { className: "text-neutral-700 dark:text-neutral-300", children: [
81
+ ": ",
82
+ p,
83
+ " selected"
84
+ ] })
85
+ ] })
86
+ ] }) }) })
87
+ ] }),
88
+ l === 0 && /* @__PURE__ */ t(h, { children: [
89
+ /* @__PURE__ */ e(w, { className: "h-4 w-4" }),
90
+ /* @__PURE__ */ t("span", { className: "truncate text-sm", children: [
91
+ "Select ",
92
+ r === "tools" ? "Tools" : "Toolkits"
93
+ ] })
94
+ ] }),
95
+ l > 0 && /* @__PURE__ */ t("span", { className: "inline-flex items-center gap-2 truncate text-sm", children: [
96
+ m,
97
+ /* @__PURE__ */ e(y, { className: "px-1.5 py-0 text-[11px]", variant: "default", children: d })
98
+ ] })
99
+ ] })
100
+ }
101
+ );
102
+ }
103
+ export {
104
+ D as ToolkitPickerTrigger
105
+ };
@@ -0,0 +1,11 @@
1
+ import { SelectionMode } from '../organisms/toolkit-picker';
2
+ import { ToolkitSelectionMap } from '../organisms/toolkit-picker/hooks/use-toolkit-picker';
3
+ export type ToolkitSelectionSummaryProps = {
4
+ selectedToolkits: ToolkitSelectionMap;
5
+ selectedTools: Set<string>;
6
+ onClear: () => void;
7
+ onSelectAll?: () => void;
8
+ allVisibleSelected?: boolean;
9
+ selectionMode?: SelectionMode;
10
+ };
11
+ export declare function ToolkitSelectionSummary({ selectedToolkits, selectedTools, onClear, onSelectAll, allVisibleSelected, selectionMode, }: ToolkitSelectionSummaryProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,120 @@
1
+ import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
+ import { Package as u, X as y, CheckSquare as C } from "lucide-react";
3
+ import { Button as x } from "../atoms/button.js";
4
+ import { MobileTooltip as p, MobileTooltipTrigger as g, MobileTooltipContent as f } from "../atoms/mobile-tooltip.js";
5
+ import "../atoms/chart.js";
6
+ import "../atoms/form.js";
7
+ import "../../../react-resizable-panels.browser-ZHjTH32c.js";
8
+ import "../atoms/sidebar.js";
9
+ import "react";
10
+ import "../atoms/table.js";
11
+ import "../../../toolkit-card-UG1sZ0Le.js";
12
+ import "./tool-card.js";
13
+ import { getToolkitIcon as z } from "../atoms/icons/utils.js";
14
+ import "../organisms/toolkit-picker/hooks/use-toolkit-picker.js";
15
+ const I = 3;
16
+ function E({
17
+ selectedToolkits: s,
18
+ selectedTools: m,
19
+ onClear: N,
20
+ onSelectAll: o,
21
+ allVisibleSelected: k,
22
+ selectionMode: w
23
+ }) {
24
+ const l = s.size > 0 || m.size > 0, i = Array.from(s.keys()), c = m.size, a = i.length, r = i.slice(0, I), d = Math.max(a - r.length, 0);
25
+ return /* @__PURE__ */ t(
26
+ "div",
27
+ {
28
+ className: "flex items-center gap-3",
29
+ "data-testid": "toolkit-selection-summary",
30
+ children: [
31
+ !l && /* @__PURE__ */ t("div", { className: "flex items-center gap-2 text-neutral-500 text-sm dark:text-neutral-400", children: [
32
+ /* @__PURE__ */ e(u, { className: "h-4 w-4" }),
33
+ /* @__PURE__ */ e("span", { children: "No items selected" })
34
+ ] }),
35
+ l && /* @__PURE__ */ e("div", { className: "flex w-full items-center gap-2 sm:w-auto", children: /* @__PURE__ */ t(p, { children: [
36
+ /* @__PURE__ */ e(g, { asChild: !0, children: /* @__PURE__ */ t("div", { className: "grid min-h-8 w-full grid-cols-1 items-center gap-x-3 gap-y-1 rounded-lg bg-neutral-100 px-2 py-1.5 text-xs sm:min-h-10 sm:w-auto sm:grid-cols-[auto_auto] sm:px-3 sm:py-2 sm:text-sm dark:bg-neutral-800", children: [
37
+ /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: [
38
+ /* @__PURE__ */ e(u, { className: "h-3.5 w-3.5 text-neutral-600 sm:h-4 sm:w-4 dark:text-neutral-300" }),
39
+ /* @__PURE__ */ t("span", { className: "font-medium text-neutral-900 dark:text-neutral-100", children: [
40
+ c,
41
+ " tool",
42
+ c !== 1 ? "s" : "",
43
+ " selected"
44
+ ] }),
45
+ /* @__PURE__ */ t("div", { className: "ml-1 flex items-center sm:ml-1.5", children: [
46
+ r.map((n, h) => {
47
+ const v = s.get(n), b = z({
48
+ metadataIcon: v?.metadata?.icon,
49
+ toolkitName: n
50
+ });
51
+ return /* @__PURE__ */ e(
52
+ "div",
53
+ {
54
+ className: `relative ${h > 0 ? "-ml-2" : ""}`,
55
+ style: { zIndex: h + 1 },
56
+ children: /* @__PURE__ */ e("div", { className: "flex h-5 w-5 items-center justify-center rounded-full bg-neutral-200 p-0.5 ring-1 ring-black/15 sm:h-6 sm:w-6 dark:bg-neutral-700 dark:ring-white/15", children: /* @__PURE__ */ e(b, { className: "h-3 w-3 sm:h-3.5 sm:w-3.5" }) })
57
+ },
58
+ `mini-icon-${n}`
59
+ );
60
+ }),
61
+ d > 0 && /* @__PURE__ */ t(
62
+ "span",
63
+ {
64
+ className: "-ml-2 inline-flex h-5 w-5 items-center justify-center rounded-full bg-neutral-200 font-medium text-[10px] text-neutral-700 ring-1 ring-black/15 sm:h-6 sm:w-6 dark:bg-neutral-700 dark:text-neutral-200 dark:ring-white/15",
65
+ style: { zIndex: r.length + 10 },
66
+ children: [
67
+ "+",
68
+ d
69
+ ]
70
+ }
71
+ )
72
+ ] })
73
+ ] }),
74
+ /* @__PURE__ */ t("div", { className: "text-neutral-600 text-xs dark:text-neutral-400", children: [
75
+ "from ",
76
+ a,
77
+ " toolkit",
78
+ a !== 1 ? "s" : ""
79
+ ] })
80
+ ] }) }),
81
+ /* @__PURE__ */ e(f, { side: "top", sideOffset: 6, children: /* @__PURE__ */ e("div", { className: "max-w-64 text-wrap text-xs", children: i.join(", ") }) })
82
+ ] }) }),
83
+ /* @__PURE__ */ t("div", { className: "ml-auto flex items-center gap-2 sm:hidden", children: [
84
+ l && /* @__PURE__ */ t(
85
+ x,
86
+ {
87
+ className: "h-8 text-red-600 hover:text-red-700",
88
+ "data-testid": "footer-clear-selections",
89
+ onClick: N,
90
+ size: "sm",
91
+ variant: "ghost",
92
+ children: [
93
+ /* @__PURE__ */ e(y, { className: "mr-0.5 h-4 w-4" }),
94
+ "Clear All"
95
+ ]
96
+ }
97
+ ),
98
+ w !== "single" && o && !k && /* @__PURE__ */ t(p, { children: [
99
+ /* @__PURE__ */ e(g, { asChild: !0, children: /* @__PURE__ */ e(
100
+ x,
101
+ {
102
+ "aria-label": "Select all visible",
103
+ className: "h-8 w-8",
104
+ "data-testid": "footer-select-all",
105
+ onClick: o,
106
+ size: "sm",
107
+ variant: "ghost",
108
+ children: /* @__PURE__ */ e(C, { className: "h-4 w-4" })
109
+ }
110
+ ) }),
111
+ /* @__PURE__ */ e(f, { side: "top", sideOffset: 6, children: /* @__PURE__ */ e("div", { className: "text-xs", children: "Select all visible" }) })
112
+ ] })
113
+ ] })
114
+ ]
115
+ }
116
+ );
117
+ }
118
+ export {
119
+ E as ToolkitSelectionSummary
120
+ };
@@ -0,0 +1,2 @@
1
+ /** biome-ignore-all lint/performance/noBarrelFile: Barrel files are acceptable for atomic component folders */
2
+ export { ToolkitPicker } from './toolkit-picker/index';
@@ -0,0 +1,4 @@
1
+ import { ToolkitPicker as e } from "./toolkit-picker/index.js";
2
+ export {
3
+ e as ToolkitPicker
4
+ };
@@ -0,0 +1 @@
1
+ export declare function FooterSummary(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,36 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { ToolkitSelectionSummary as S } from "../../../molecules/toolkit-selection-summary.js";
3
+ import { useToolkitPicker as T } from "../hooks/use-toolkit-picker.js";
4
+ function A() {
5
+ const {
6
+ state: {
7
+ selectionMode: l,
8
+ selectedToolkits: o,
9
+ selectedTools: t,
10
+ filteredToolkits: i,
11
+ filteredTools: s,
12
+ activeTab: a
13
+ },
14
+ clearSelections: c,
15
+ selectAll: n
16
+ } = T(), m = i.size === o.size && s.size === t.size, f = () => {
17
+ const u = a === "toolkits" ? Array.from(i).flatMap(
18
+ (e) => e.tools.map((d) => d.fully_qualified_name)
19
+ ) : Array.from(s).map((e) => e.fully_qualified_name);
20
+ n(u);
21
+ };
22
+ return l !== "multi" ? null : /* @__PURE__ */ r("div", { className: "w-full sm:w-auto", children: /* @__PURE__ */ r(
23
+ S,
24
+ {
25
+ allVisibleSelected: m,
26
+ onClear: c,
27
+ onSelectAll: f,
28
+ selectedToolkits: o,
29
+ selectedTools: new Set(t.keys()),
30
+ selectionMode: l
31
+ }
32
+ ) });
33
+ }
34
+ export {
35
+ A as FooterSummary
36
+ };
@@ -0,0 +1 @@
1
+ export declare function SearchInput(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,37 @@
1
+ import { jsxs as a, jsx as t } from "react/jsx-runtime";
2
+ import { Search as i } from "lucide-react";
3
+ import "../../../atoms/mobile-tooltip.js";
4
+ import "../../../atoms/chart.js";
5
+ import "../../../atoms/form.js";
6
+ import { Input as m } from "../../../atoms/input.js";
7
+ import "../../../../../react-resizable-panels.browser-ZHjTH32c.js";
8
+ import "../../../atoms/sidebar.js";
9
+ import "react";
10
+ import "../../../atoms/table.js";
11
+ import "../../../../../toolkit-card-UG1sZ0Le.js";
12
+ import "../../../molecules/tool-card.js";
13
+ import "../../../../../metadata/oauth-providers.js";
14
+ import "../../../../../metadata/toolkits.js";
15
+ import { useToolkitPicker as p } from "../hooks/use-toolkit-picker.js";
16
+ function j() {
17
+ const {
18
+ state: { searchQuery: r },
19
+ setSearchQuery: e
20
+ } = p();
21
+ return /* @__PURE__ */ a("div", { className: "relative flex-1", children: [
22
+ /* @__PURE__ */ t(i, { className: "-translate-y-1/2 absolute top-1/2 left-3.5 size-4 text-gray-400" }),
23
+ /* @__PURE__ */ t(
24
+ m,
25
+ {
26
+ className: "h-9 pl-10",
27
+ "data-testid": "search-input",
28
+ onChange: (o) => e(o.target.value),
29
+ placeholder: "Search toolkits and tools",
30
+ value: r
31
+ }
32
+ )
33
+ ] });
34
+ }
35
+ export {
36
+ j as SearchInput
37
+ };
@@ -0,0 +1,9 @@
1
+ import { SelectionMode } from '../index';
2
+ type SelectButtonProps = {
3
+ selectionMode: SelectionMode;
4
+ selectedCount: number;
5
+ onCommit: () => void;
6
+ className?: string;
7
+ };
8
+ export declare function SelectButton({ selectionMode, selectedCount, onCommit, className, }: SelectButtonProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};