@stackone/malachite 2.21.0 → 2.22.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 (778) hide show
  1. package/dist/ShadowRootWrapper.js +83 -0
  2. package/dist/ShadowRootWrapper.js.map +1 -0
  3. package/dist/assets/icons/account.svg.js +6 -0
  4. package/dist/assets/icons/account.svg.js.map +1 -0
  5. package/dist/assets/icons/accounts.svg.js +6 -0
  6. package/dist/assets/icons/accounts.svg.js.map +1 -0
  7. package/dist/assets/icons/add.svg.js +6 -0
  8. package/dist/assets/icons/add.svg.js.map +1 -0
  9. package/dist/assets/icons/advanced_logs.svg.js +6 -0
  10. package/dist/assets/icons/advanced_logs.svg.js.map +1 -0
  11. package/dist/assets/icons/api_keys.svg.js +6 -0
  12. package/dist/assets/icons/api_keys.svg.js.map +1 -0
  13. package/dist/assets/icons/archive.svg.js +6 -0
  14. package/dist/assets/icons/archive.svg.js.map +1 -0
  15. package/dist/assets/icons/arrow_left.svg.js +6 -0
  16. package/dist/assets/icons/arrow_left.svg.js.map +1 -0
  17. package/dist/assets/icons/arrow_up.svg.js +6 -0
  18. package/dist/assets/icons/arrow_up.svg.js.map +1 -0
  19. package/dist/assets/icons/arrow_up_right.svg.js +6 -0
  20. package/dist/assets/icons/arrow_up_right.svg.js.map +1 -0
  21. package/dist/assets/icons/authentication.svg.js +6 -0
  22. package/dist/assets/icons/authentication.svg.js.map +1 -0
  23. package/dist/assets/icons/bell.svg.js +6 -0
  24. package/dist/assets/icons/bell.svg.js.map +1 -0
  25. package/dist/assets/icons/bell_slash.svg.js +6 -0
  26. package/dist/assets/icons/bell_slash.svg.js.map +1 -0
  27. package/dist/assets/icons/bi_directional_arrows.svg.js +6 -0
  28. package/dist/assets/icons/bi_directional_arrows.svg.js.map +1 -0
  29. package/dist/assets/icons/card.svg.js +6 -0
  30. package/dist/assets/icons/card.svg.js.map +1 -0
  31. package/dist/assets/icons/caret_down.svg.js +6 -0
  32. package/dist/assets/icons/caret_down.svg.js.map +1 -0
  33. package/dist/assets/icons/caret_left.svg.js +6 -0
  34. package/dist/assets/icons/caret_left.svg.js.map +1 -0
  35. package/dist/assets/icons/caret_right.svg.js +6 -0
  36. package/dist/assets/icons/caret_right.svg.js.map +1 -0
  37. package/dist/assets/icons/caret_up.svg.js +6 -0
  38. package/dist/assets/icons/caret_up.svg.js.map +1 -0
  39. package/dist/assets/icons/change_password.svg.js +6 -0
  40. package/dist/assets/icons/change_password.svg.js.map +1 -0
  41. package/dist/assets/icons/check.svg.js +6 -0
  42. package/dist/assets/icons/check.svg.js.map +1 -0
  43. package/dist/assets/icons/check_circle_filled.svg.js +6 -0
  44. package/dist/assets/icons/check_circle_filled.svg.js.map +1 -0
  45. package/dist/assets/icons/checkmark.svg.js +6 -0
  46. package/dist/assets/icons/checkmark.svg.js.map +1 -0
  47. package/dist/assets/icons/clear.svg.js +6 -0
  48. package/dist/assets/icons/clear.svg.js.map +1 -0
  49. package/dist/assets/icons/close.svg.js +6 -0
  50. package/dist/assets/icons/close.svg.js.map +1 -0
  51. package/dist/assets/icons/code.svg.js +6 -0
  52. package/dist/assets/icons/code.svg.js.map +1 -0
  53. package/dist/assets/icons/command_key.svg.js +6 -0
  54. package/dist/assets/icons/command_key.svg.js.map +1 -0
  55. package/dist/assets/icons/copy.svg.js +6 -0
  56. package/dist/assets/icons/copy.svg.js.map +1 -0
  57. package/dist/assets/icons/csv.svg.js +6 -0
  58. package/dist/assets/icons/csv.svg.js.map +1 -0
  59. package/dist/assets/icons/custom_field.svg.js +6 -0
  60. package/dist/assets/icons/custom_field.svg.js.map +1 -0
  61. package/dist/assets/icons/dashboard.svg.js +6 -0
  62. package/dist/assets/icons/dashboard.svg.js.map +1 -0
  63. package/dist/assets/icons/date.svg.js +6 -0
  64. package/dist/assets/icons/date.svg.js.map +1 -0
  65. package/dist/assets/icons/disable.svg.js +6 -0
  66. package/dist/assets/icons/disable.svg.js.map +1 -0
  67. package/dist/assets/icons/disabled.svg.js +6 -0
  68. package/dist/assets/icons/disabled.svg.js.map +1 -0
  69. package/dist/assets/icons/dismiss.svg.js +6 -0
  70. package/dist/assets/icons/dismiss.svg.js.map +1 -0
  71. package/dist/assets/icons/doc.svg.js +6 -0
  72. package/dist/assets/icons/doc.svg.js.map +1 -0
  73. package/dist/assets/icons/double_check.svg.js +6 -0
  74. package/dist/assets/icons/double_check.svg.js.map +1 -0
  75. package/dist/assets/icons/download.svg.js +6 -0
  76. package/dist/assets/icons/download.svg.js.map +1 -0
  77. package/dist/assets/icons/edit.svg.js +6 -0
  78. package/dist/assets/icons/edit.svg.js.map +1 -0
  79. package/dist/assets/icons/enable.svg.js +6 -0
  80. package/dist/assets/icons/enable.svg.js.map +1 -0
  81. package/dist/assets/icons/enum.svg.js +6 -0
  82. package/dist/assets/icons/enum.svg.js.map +1 -0
  83. package/dist/assets/icons/error_circle_filled.svg.js +6 -0
  84. package/dist/assets/icons/error_circle_filled.svg.js.map +1 -0
  85. package/dist/assets/icons/expand.svg.js +6 -0
  86. package/dist/assets/icons/expand.svg.js.map +1 -0
  87. package/dist/assets/icons/eye-closed.svg.js +6 -0
  88. package/dist/assets/icons/eye-closed.svg.js.map +1 -0
  89. package/dist/assets/icons/eye.svg.js +6 -0
  90. package/dist/assets/icons/eye.svg.js.map +1 -0
  91. package/dist/assets/icons/field_mapping.svg.js +6 -0
  92. package/dist/assets/icons/field_mapping.svg.js.map +1 -0
  93. package/dist/assets/icons/filled_caret_down.svg.js +6 -0
  94. package/dist/assets/icons/filled_caret_down.svg.js.map +1 -0
  95. package/dist/assets/icons/filled_caret_right.svg.js +6 -0
  96. package/dist/assets/icons/filled_caret_right.svg.js.map +1 -0
  97. package/dist/assets/icons/filter.svg.js +6 -0
  98. package/dist/assets/icons/filter.svg.js.map +1 -0
  99. package/dist/assets/icons/forbidden.svg.js +6 -0
  100. package/dist/assets/icons/forbidden.svg.js.map +1 -0
  101. package/dist/assets/icons/forward_arrow.svg.js +6 -0
  102. package/dist/assets/icons/forward_arrow.svg.js.map +1 -0
  103. package/dist/assets/icons/globe.svg.js +6 -0
  104. package/dist/assets/icons/globe.svg.js.map +1 -0
  105. package/dist/assets/icons/inbox.svg.js +6 -0
  106. package/dist/assets/icons/inbox.svg.js.map +1 -0
  107. package/dist/assets/icons/info.svg.js +6 -0
  108. package/dist/assets/icons/info.svg.js.map +1 -0
  109. package/dist/assets/icons/info_circle_filled.svg.js +6 -0
  110. package/dist/assets/icons/info_circle_filled.svg.js.map +1 -0
  111. package/dist/assets/icons/info_filled.svg.js +6 -0
  112. package/dist/assets/icons/info_filled.svg.js.map +1 -0
  113. package/dist/assets/icons/integrations.svg.js +6 -0
  114. package/dist/assets/icons/integrations.svg.js.map +1 -0
  115. package/dist/assets/icons/key.svg.js +6 -0
  116. package/dist/assets/icons/key.svg.js.map +1 -0
  117. package/dist/assets/icons/library.svg.js +6 -0
  118. package/dist/assets/icons/library.svg.js.map +1 -0
  119. package/dist/assets/icons/logs.svg.js +6 -0
  120. package/dist/assets/icons/logs.svg.js.map +1 -0
  121. package/dist/assets/icons/magic_wand.svg.js +6 -0
  122. package/dist/assets/icons/magic_wand.svg.js.map +1 -0
  123. package/dist/assets/icons/manage_team.svg.js +6 -0
  124. package/dist/assets/icons/manage_team.svg.js.map +1 -0
  125. package/dist/assets/icons/manual_native_webhook.svg.js +6 -0
  126. package/dist/assets/icons/manual_native_webhook.svg.js.map +1 -0
  127. package/dist/assets/icons/mark_read.svg.js +6 -0
  128. package/dist/assets/icons/mark_read.svg.js.map +1 -0
  129. package/dist/assets/icons/mark_unread.svg.js +6 -0
  130. package/dist/assets/icons/mark_unread.svg.js.map +1 -0
  131. package/dist/assets/icons/members.svg.js +6 -0
  132. package/dist/assets/icons/members.svg.js.map +1 -0
  133. package/dist/assets/icons/modal.svg.js +6 -0
  134. package/dist/assets/icons/modal.svg.js.map +1 -0
  135. package/dist/assets/icons/more_horizontal.svg.js +6 -0
  136. package/dist/assets/icons/more_horizontal.svg.js.map +1 -0
  137. package/dist/assets/icons/more_vertical.svg.js +6 -0
  138. package/dist/assets/icons/more_vertical.svg.js.map +1 -0
  139. package/dist/assets/icons/navbar_collapse.svg.js +6 -0
  140. package/dist/assets/icons/navbar_collapse.svg.js.map +1 -0
  141. package/dist/assets/icons/navbar_expand.svg.js +6 -0
  142. package/dist/assets/icons/navbar_expand.svg.js.map +1 -0
  143. package/dist/assets/icons/not_found.svg.js +6 -0
  144. package/dist/assets/icons/not_found.svg.js.map +1 -0
  145. package/dist/assets/icons/organization.svg.js +6 -0
  146. package/dist/assets/icons/organization.svg.js.map +1 -0
  147. package/dist/assets/icons/pin.svg.js +6 -0
  148. package/dist/assets/icons/pin.svg.js.map +1 -0
  149. package/dist/assets/icons/plus.svg.js +6 -0
  150. package/dist/assets/icons/plus.svg.js.map +1 -0
  151. package/dist/assets/icons/preview.svg.js +6 -0
  152. package/dist/assets/icons/preview.svg.js.map +1 -0
  153. package/dist/assets/icons/programmatic_native_webhook.svg.js +6 -0
  154. package/dist/assets/icons/programmatic_native_webhook.svg.js.map +1 -0
  155. package/dist/assets/icons/pulse.svg.js +6 -0
  156. package/dist/assets/icons/pulse.svg.js.map +1 -0
  157. package/dist/assets/icons/refresh.svg.js +6 -0
  158. package/dist/assets/icons/refresh.svg.js.map +1 -0
  159. package/dist/assets/icons/reject.svg.js +6 -0
  160. package/dist/assets/icons/reject.svg.js.map +1 -0
  161. package/dist/assets/icons/reload.svg.js +6 -0
  162. package/dist/assets/icons/reload.svg.js.map +1 -0
  163. package/dist/assets/icons/reply.svg.js +6 -0
  164. package/dist/assets/icons/reply.svg.js.map +1 -0
  165. package/dist/assets/icons/required_field_indicator.svg.js +6 -0
  166. package/dist/assets/icons/required_field_indicator.svg.js.map +1 -0
  167. package/dist/assets/icons/search.svg.js +6 -0
  168. package/dist/assets/icons/search.svg.js.map +1 -0
  169. package/dist/assets/icons/security.svg.js +6 -0
  170. package/dist/assets/icons/security.svg.js.map +1 -0
  171. package/dist/assets/icons/send.svg.js +6 -0
  172. package/dist/assets/icons/send.svg.js.map +1 -0
  173. package/dist/assets/icons/settings.svg.js +6 -0
  174. package/dist/assets/icons/settings.svg.js.map +1 -0
  175. package/dist/assets/icons/sign_out.svg.js +6 -0
  176. package/dist/assets/icons/sign_out.svg.js.map +1 -0
  177. package/dist/assets/icons/slider.svg.js +6 -0
  178. package/dist/assets/icons/slider.svg.js.map +1 -0
  179. package/dist/assets/icons/sort.svg.js +6 -0
  180. package/dist/assets/icons/sort.svg.js.map +1 -0
  181. package/dist/assets/icons/source.svg.js +6 -0
  182. package/dist/assets/icons/source.svg.js.map +1 -0
  183. package/dist/assets/icons/sparkle.svg.js +6 -0
  184. package/dist/assets/icons/sparkle.svg.js.map +1 -0
  185. package/dist/assets/icons/star.svg.js +6 -0
  186. package/dist/assets/icons/star.svg.js.map +1 -0
  187. package/dist/assets/icons/step_current.svg.js +6 -0
  188. package/dist/assets/icons/step_current.svg.js.map +1 -0
  189. package/dist/assets/icons/step_upcoming.svg.js +6 -0
  190. package/dist/assets/icons/step_upcoming.svg.js.map +1 -0
  191. package/dist/assets/icons/synthetic_webhook.svg.js +6 -0
  192. package/dist/assets/icons/synthetic_webhook.svg.js.map +1 -0
  193. package/dist/assets/icons/thumbs_down.svg.js +6 -0
  194. package/dist/assets/icons/thumbs_down.svg.js.map +1 -0
  195. package/dist/assets/icons/thumbs_up.svg.js +6 -0
  196. package/dist/assets/icons/thumbs_up.svg.js.map +1 -0
  197. package/dist/assets/icons/trash.svg.js +6 -0
  198. package/dist/assets/icons/trash.svg.js.map +1 -0
  199. package/dist/assets/icons/triangle_down.svg.js +6 -0
  200. package/dist/assets/icons/triangle_down.svg.js.map +1 -0
  201. package/dist/assets/icons/triangle_right.svg.js +6 -0
  202. package/dist/assets/icons/triangle_right.svg.js.map +1 -0
  203. package/dist/assets/icons/unarchive.svg.js +6 -0
  204. package/dist/assets/icons/unarchive.svg.js.map +1 -0
  205. package/dist/assets/icons/upload.svg.js +6 -0
  206. package/dist/assets/icons/upload.svg.js.map +1 -0
  207. package/dist/assets/icons/warning_circle_filled.svg.js +6 -0
  208. package/dist/assets/icons/warning_circle_filled.svg.js.map +1 -0
  209. package/dist/assets/icons/warning_triangle.svg.js +6 -0
  210. package/dist/assets/icons/warning_triangle.svg.js.map +1 -0
  211. package/dist/assets/icons/webhook-events.svg.js +6 -0
  212. package/dist/assets/icons/webhook-events.svg.js.map +1 -0
  213. package/dist/assets/icons/webhook.svg.js +6 -0
  214. package/dist/assets/icons/webhook.svg.js.map +1 -0
  215. package/dist/assets/icons/webhook_signing_secret.svg.js +6 -0
  216. package/dist/assets/icons/webhook_signing_secret.svg.js.map +1 -0
  217. package/dist/assets/logo-stackone-desaturated.png.js +5 -0
  218. package/dist/assets/logo-stackone-desaturated.png.js.map +1 -0
  219. package/dist/components/Accordion.js +105 -0
  220. package/dist/components/Accordion.js.map +1 -0
  221. package/dist/components/ActionBar.js +66 -0
  222. package/dist/components/ActionBar.js.map +1 -0
  223. package/dist/components/ActionMenu.js +174 -0
  224. package/dist/components/ActionMenu.js.map +1 -0
  225. package/dist/components/Alert.js +136 -0
  226. package/dist/components/Alert.js.map +1 -0
  227. package/dist/components/AppLogo.js +43 -0
  228. package/dist/components/AppLogo.js.map +1 -0
  229. package/dist/components/Avatar.js +61 -0
  230. package/dist/components/Avatar.js.map +1 -0
  231. package/dist/components/BaseFormComponent.js +91 -0
  232. package/dist/components/BaseFormComponent.js.map +1 -0
  233. package/dist/components/Breadcrumbs.js +106 -0
  234. package/dist/components/Breadcrumbs.js.map +1 -0
  235. package/dist/components/Button.js +227 -0
  236. package/dist/components/Button.js.map +1 -0
  237. package/dist/components/ButtonList.js +40 -0
  238. package/dist/components/ButtonList.js.map +1 -0
  239. package/dist/components/Card.js +109 -0
  240. package/dist/components/Card.js.map +1 -0
  241. package/dist/components/CardStrip.js +454 -0
  242. package/dist/components/CardStrip.js.map +1 -0
  243. package/dist/components/ChangeReview/ChangeReviewItem.js +129 -0
  244. package/dist/components/ChangeReview/ChangeReviewItem.js.map +1 -0
  245. package/dist/components/ChangeReview/ChangeReviewJump.js +27 -0
  246. package/dist/components/ChangeReview/ChangeReviewJump.js.map +1 -0
  247. package/dist/components/ChangeReview/ChangeReviewRemoved.js +37 -0
  248. package/dist/components/ChangeReview/ChangeReviewRemoved.js.map +1 -0
  249. package/dist/components/ChangeReview/ChangeReviewSummary.js +56 -0
  250. package/dist/components/ChangeReview/ChangeReviewSummary.js.map +1 -0
  251. package/dist/components/ChangeReview/index.js +15 -0
  252. package/dist/components/ChangeReview/index.js.map +1 -0
  253. package/dist/components/Chat/ChatComposer.js +100 -0
  254. package/dist/components/Chat/ChatComposer.js.map +1 -0
  255. package/dist/components/Chat/ChatComposerChip.js +28 -0
  256. package/dist/components/Chat/ChatComposerChip.js.map +1 -0
  257. package/dist/components/Chat/ChatContext.js +55 -0
  258. package/dist/components/Chat/ChatContext.js.map +1 -0
  259. package/dist/components/Chat/ChatContextMeter.js +30 -0
  260. package/dist/components/Chat/ChatContextMeter.js.map +1 -0
  261. package/dist/components/Chat/ChatHeader.js +44 -0
  262. package/dist/components/Chat/ChatHeader.js.map +1 -0
  263. package/dist/components/Chat/ChatMessage.js +127 -0
  264. package/dist/components/Chat/ChatMessage.js.map +1 -0
  265. package/dist/components/Chat/ChatModelPicker.js +207 -0
  266. package/dist/components/Chat/ChatModelPicker.js.map +1 -0
  267. package/dist/components/Chat/ChatRoot.js +6 -0
  268. package/dist/components/Chat/ChatRoot.js.map +1 -0
  269. package/dist/components/Chat/ChatSuggestion.js +22 -0
  270. package/dist/components/Chat/ChatSuggestion.js.map +1 -0
  271. package/dist/components/Chat/ChatThinking.js +20 -0
  272. package/dist/components/Chat/ChatThinking.js.map +1 -0
  273. package/dist/components/Chat/ChatThread.js +68 -0
  274. package/dist/components/Chat/ChatThread.js.map +1 -0
  275. package/dist/components/Chat/ChatToolCall.js +59 -0
  276. package/dist/components/Chat/ChatToolCall.js.map +1 -0
  277. package/dist/components/Chat/index.js +29 -0
  278. package/dist/components/Chat/index.js.map +1 -0
  279. package/dist/components/Chat/stickToBottom.js +29 -0
  280. package/dist/components/Chat/stickToBottom.js.map +1 -0
  281. package/dist/components/Chat/tokenText.js +6 -0
  282. package/dist/components/Chat/tokenText.js.map +1 -0
  283. package/dist/components/Checkbox.js +79 -0
  284. package/dist/components/Checkbox.js.map +1 -0
  285. package/dist/components/ClampText.js +30 -0
  286. package/dist/components/ClampText.js.map +1 -0
  287. package/dist/components/CodeBlock.js +223 -0
  288. package/dist/components/CodeBlock.js.map +1 -0
  289. package/dist/components/CodeBlockHighlighter.js +103 -0
  290. package/dist/components/CodeBlockHighlighter.js.map +1 -0
  291. package/dist/components/CollapsibleSection.js +40 -0
  292. package/dist/components/CollapsibleSection.js.map +1 -0
  293. package/dist/components/Confetti.js +56 -0
  294. package/dist/components/Confetti.js.map +1 -0
  295. package/dist/components/ConfirmationDialog.js +234 -0
  296. package/dist/components/ConfirmationDialog.js.map +1 -0
  297. package/dist/components/ConnectionHeader.js +47 -0
  298. package/dist/components/ConnectionHeader.js.map +1 -0
  299. package/dist/components/CustomIcons/AccountIcon.js +28 -0
  300. package/dist/components/CustomIcons/AccountIcon.js.map +1 -0
  301. package/dist/components/CustomIcons/AccountsIcon.js +28 -0
  302. package/dist/components/CustomIcons/AccountsIcon.js.map +1 -0
  303. package/dist/components/CustomIcons/AddIcon.js +28 -0
  304. package/dist/components/CustomIcons/AddIcon.js.map +1 -0
  305. package/dist/components/CustomIcons/AdvancedLogsIcon.js +21 -0
  306. package/dist/components/CustomIcons/AdvancedLogsIcon.js.map +1 -0
  307. package/dist/components/CustomIcons/ApiKeysIcon.js +16 -0
  308. package/dist/components/CustomIcons/ApiKeysIcon.js.map +1 -0
  309. package/dist/components/CustomIcons/ArchiveIcon.js +16 -0
  310. package/dist/components/CustomIcons/ArchiveIcon.js.map +1 -0
  311. package/dist/components/CustomIcons/ArrowLeftIcon.js +16 -0
  312. package/dist/components/CustomIcons/ArrowLeftIcon.js.map +1 -0
  313. package/dist/components/CustomIcons/ArrowUpIcon.js +28 -0
  314. package/dist/components/CustomIcons/ArrowUpIcon.js.map +1 -0
  315. package/dist/components/CustomIcons/ArrowUpRightIcon.js +20 -0
  316. package/dist/components/CustomIcons/ArrowUpRightIcon.js.map +1 -0
  317. package/dist/components/CustomIcons/AuthenticationIcon.js +28 -0
  318. package/dist/components/CustomIcons/AuthenticationIcon.js.map +1 -0
  319. package/dist/components/CustomIcons/BellIcon.js +16 -0
  320. package/dist/components/CustomIcons/BellIcon.js.map +1 -0
  321. package/dist/components/CustomIcons/BellSlashIcon.js +16 -0
  322. package/dist/components/CustomIcons/BellSlashIcon.js.map +1 -0
  323. package/dist/components/CustomIcons/BiDirectionalArrowsIcon.js +21 -0
  324. package/dist/components/CustomIcons/BiDirectionalArrowsIcon.js.map +1 -0
  325. package/dist/components/CustomIcons/CardIcon.js +16 -0
  326. package/dist/components/CustomIcons/CardIcon.js.map +1 -0
  327. package/dist/components/CustomIcons/CaretDownIcon.js +16 -0
  328. package/dist/components/CustomIcons/CaretDownIcon.js.map +1 -0
  329. package/dist/components/CustomIcons/CaretLeftIcon.js +16 -0
  330. package/dist/components/CustomIcons/CaretLeftIcon.js.map +1 -0
  331. package/dist/components/CustomIcons/CaretRightIcon.js +21 -0
  332. package/dist/components/CustomIcons/CaretRightIcon.js.map +1 -0
  333. package/dist/components/CustomIcons/CaretUpIcon.js +16 -0
  334. package/dist/components/CustomIcons/CaretUpIcon.js.map +1 -0
  335. package/dist/components/CustomIcons/ChangePasswordIcon.js +21 -0
  336. package/dist/components/CustomIcons/ChangePasswordIcon.js.map +1 -0
  337. package/dist/components/CustomIcons/CheckCircleFilled.js +21 -0
  338. package/dist/components/CustomIcons/CheckCircleFilled.js.map +1 -0
  339. package/dist/components/CustomIcons/CheckIcon.js +28 -0
  340. package/dist/components/CustomIcons/CheckIcon.js.map +1 -0
  341. package/dist/components/CustomIcons/CheckmarkIcon.js +16 -0
  342. package/dist/components/CustomIcons/CheckmarkIcon.js.map +1 -0
  343. package/dist/components/CustomIcons/ClearIcon.js +28 -0
  344. package/dist/components/CustomIcons/ClearIcon.js.map +1 -0
  345. package/dist/components/CustomIcons/CloseIcon.js +28 -0
  346. package/dist/components/CustomIcons/CloseIcon.js.map +1 -0
  347. package/dist/components/CustomIcons/CodeIcon.js +16 -0
  348. package/dist/components/CustomIcons/CodeIcon.js.map +1 -0
  349. package/dist/components/CustomIcons/CommandKeyIcon.js +21 -0
  350. package/dist/components/CustomIcons/CommandKeyIcon.js.map +1 -0
  351. package/dist/components/CustomIcons/CopyIcon.js +28 -0
  352. package/dist/components/CustomIcons/CopyIcon.js.map +1 -0
  353. package/dist/components/CustomIcons/CsvIcon.js +28 -0
  354. package/dist/components/CustomIcons/CsvIcon.js.map +1 -0
  355. package/dist/components/CustomIcons/CustomFieldIcon.js +21 -0
  356. package/dist/components/CustomIcons/CustomFieldIcon.js.map +1 -0
  357. package/dist/components/CustomIcons/DashboardIcon.js +28 -0
  358. package/dist/components/CustomIcons/DashboardIcon.js.map +1 -0
  359. package/dist/components/CustomIcons/DateIcon.js +28 -0
  360. package/dist/components/CustomIcons/DateIcon.js.map +1 -0
  361. package/dist/components/CustomIcons/DisableIcon.js +28 -0
  362. package/dist/components/CustomIcons/DisableIcon.js.map +1 -0
  363. package/dist/components/CustomIcons/DisabledIcon.js +28 -0
  364. package/dist/components/CustomIcons/DisabledIcon.js.map +1 -0
  365. package/dist/components/CustomIcons/DismissIcon.js +15 -0
  366. package/dist/components/CustomIcons/DismissIcon.js.map +1 -0
  367. package/dist/components/CustomIcons/DocIcon.js +28 -0
  368. package/dist/components/CustomIcons/DocIcon.js.map +1 -0
  369. package/dist/components/CustomIcons/DoubleCheckIcon.js +21 -0
  370. package/dist/components/CustomIcons/DoubleCheckIcon.js.map +1 -0
  371. package/dist/components/CustomIcons/DownloadIcon.js +28 -0
  372. package/dist/components/CustomIcons/DownloadIcon.js.map +1 -0
  373. package/dist/components/CustomIcons/EditIcon.js +28 -0
  374. package/dist/components/CustomIcons/EditIcon.js.map +1 -0
  375. package/dist/components/CustomIcons/EnableIcon.js +28 -0
  376. package/dist/components/CustomIcons/EnableIcon.js.map +1 -0
  377. package/dist/components/CustomIcons/EnumIcon.js +28 -0
  378. package/dist/components/CustomIcons/EnumIcon.js.map +1 -0
  379. package/dist/components/CustomIcons/ErrorCircleFilled.js +21 -0
  380. package/dist/components/CustomIcons/ErrorCircleFilled.js.map +1 -0
  381. package/dist/components/CustomIcons/ExpandIcon.js +28 -0
  382. package/dist/components/CustomIcons/ExpandIcon.js.map +1 -0
  383. package/dist/components/CustomIcons/EyeClosedIcon.js +16 -0
  384. package/dist/components/CustomIcons/EyeClosedIcon.js.map +1 -0
  385. package/dist/components/CustomIcons/EyeIcon.js +16 -0
  386. package/dist/components/CustomIcons/EyeIcon.js.map +1 -0
  387. package/dist/components/CustomIcons/FieldMappingIcon.js +21 -0
  388. package/dist/components/CustomIcons/FieldMappingIcon.js.map +1 -0
  389. package/dist/components/CustomIcons/FilledCaretDownIcon.js +21 -0
  390. package/dist/components/CustomIcons/FilledCaretDownIcon.js.map +1 -0
  391. package/dist/components/CustomIcons/FilledCaretRightIcon.js +21 -0
  392. package/dist/components/CustomIcons/FilledCaretRightIcon.js.map +1 -0
  393. package/dist/components/CustomIcons/FilterIcon.js +28 -0
  394. package/dist/components/CustomIcons/FilterIcon.js.map +1 -0
  395. package/dist/components/CustomIcons/ForbiddenIcon.js +28 -0
  396. package/dist/components/CustomIcons/ForbiddenIcon.js.map +1 -0
  397. package/dist/components/CustomIcons/ForwardArrowIcon.js +21 -0
  398. package/dist/components/CustomIcons/ForwardArrowIcon.js.map +1 -0
  399. package/dist/components/CustomIcons/GlobeIcon.js +16 -0
  400. package/dist/components/CustomIcons/GlobeIcon.js.map +1 -0
  401. package/dist/components/CustomIcons/InboxIcon.js +16 -0
  402. package/dist/components/CustomIcons/InboxIcon.js.map +1 -0
  403. package/dist/components/CustomIcons/InfoCircleFilled.js +21 -0
  404. package/dist/components/CustomIcons/InfoCircleFilled.js.map +1 -0
  405. package/dist/components/CustomIcons/InfoFilledIcon.js +21 -0
  406. package/dist/components/CustomIcons/InfoFilledIcon.js.map +1 -0
  407. package/dist/components/CustomIcons/InfoIcon.js +28 -0
  408. package/dist/components/CustomIcons/InfoIcon.js.map +1 -0
  409. package/dist/components/CustomIcons/IntegrationsIcon.js +28 -0
  410. package/dist/components/CustomIcons/IntegrationsIcon.js.map +1 -0
  411. package/dist/components/CustomIcons/KeyIcon.js +28 -0
  412. package/dist/components/CustomIcons/KeyIcon.js.map +1 -0
  413. package/dist/components/CustomIcons/LibraryIcon.js +16 -0
  414. package/dist/components/CustomIcons/LibraryIcon.js.map +1 -0
  415. package/dist/components/CustomIcons/LogsIcon.js +28 -0
  416. package/dist/components/CustomIcons/LogsIcon.js.map +1 -0
  417. package/dist/components/CustomIcons/MagicWandIcon.js +16 -0
  418. package/dist/components/CustomIcons/MagicWandIcon.js.map +1 -0
  419. package/dist/components/CustomIcons/ManageTeamIcon.js +21 -0
  420. package/dist/components/CustomIcons/ManageTeamIcon.js.map +1 -0
  421. package/dist/components/CustomIcons/ManualWebhookIcon.js +21 -0
  422. package/dist/components/CustomIcons/ManualWebhookIcon.js.map +1 -0
  423. package/dist/components/CustomIcons/MarkReadIcon.js +16 -0
  424. package/dist/components/CustomIcons/MarkReadIcon.js.map +1 -0
  425. package/dist/components/CustomIcons/MarkUnreadIcon.js +21 -0
  426. package/dist/components/CustomIcons/MarkUnreadIcon.js.map +1 -0
  427. package/dist/components/CustomIcons/MembersIcon.js +28 -0
  428. package/dist/components/CustomIcons/MembersIcon.js.map +1 -0
  429. package/dist/components/CustomIcons/ModalIcon.js +28 -0
  430. package/dist/components/CustomIcons/ModalIcon.js.map +1 -0
  431. package/dist/components/CustomIcons/MoreHorizontalIcon.js +21 -0
  432. package/dist/components/CustomIcons/MoreHorizontalIcon.js.map +1 -0
  433. package/dist/components/CustomIcons/MoreVerticalIcon.js +21 -0
  434. package/dist/components/CustomIcons/MoreVerticalIcon.js.map +1 -0
  435. package/dist/components/CustomIcons/NavbarCollapseIcon.js +21 -0
  436. package/dist/components/CustomIcons/NavbarCollapseIcon.js.map +1 -0
  437. package/dist/components/CustomIcons/NavbarExpandIcon.js +21 -0
  438. package/dist/components/CustomIcons/NavbarExpandIcon.js.map +1 -0
  439. package/dist/components/CustomIcons/NotFoundIcon.js +16 -0
  440. package/dist/components/CustomIcons/NotFoundIcon.js.map +1 -0
  441. package/dist/components/CustomIcons/OrganizationIcon.js +21 -0
  442. package/dist/components/CustomIcons/OrganizationIcon.js.map +1 -0
  443. package/dist/components/CustomIcons/PinIcon.js +16 -0
  444. package/dist/components/CustomIcons/PinIcon.js.map +1 -0
  445. package/dist/components/CustomIcons/PlusIcon.js +28 -0
  446. package/dist/components/CustomIcons/PlusIcon.js.map +1 -0
  447. package/dist/components/CustomIcons/PreviewIcon.js +28 -0
  448. package/dist/components/CustomIcons/PreviewIcon.js.map +1 -0
  449. package/dist/components/CustomIcons/ProgrammaticWebhookIcon.js +21 -0
  450. package/dist/components/CustomIcons/ProgrammaticWebhookIcon.js.map +1 -0
  451. package/dist/components/CustomIcons/PulseIcon.js +28 -0
  452. package/dist/components/CustomIcons/PulseIcon.js.map +1 -0
  453. package/dist/components/CustomIcons/RefreshIcon.js +28 -0
  454. package/dist/components/CustomIcons/RefreshIcon.js.map +1 -0
  455. package/dist/components/CustomIcons/RejectIcon.js +28 -0
  456. package/dist/components/CustomIcons/RejectIcon.js.map +1 -0
  457. package/dist/components/CustomIcons/ReloadIcon.js +28 -0
  458. package/dist/components/CustomIcons/ReloadIcon.js.map +1 -0
  459. package/dist/components/CustomIcons/ReplyIcon.js +16 -0
  460. package/dist/components/CustomIcons/ReplyIcon.js.map +1 -0
  461. package/dist/components/CustomIcons/RequiredFieldIndicatorIcon.js +21 -0
  462. package/dist/components/CustomIcons/RequiredFieldIndicatorIcon.js.map +1 -0
  463. package/dist/components/CustomIcons/SearchIcon.js +15 -0
  464. package/dist/components/CustomIcons/SearchIcon.js.map +1 -0
  465. package/dist/components/CustomIcons/SecurityIcon.js +28 -0
  466. package/dist/components/CustomIcons/SecurityIcon.js.map +1 -0
  467. package/dist/components/CustomIcons/SendIcon.js +16 -0
  468. package/dist/components/CustomIcons/SendIcon.js.map +1 -0
  469. package/dist/components/CustomIcons/SettingsIcon.js +28 -0
  470. package/dist/components/CustomIcons/SettingsIcon.js.map +1 -0
  471. package/dist/components/CustomIcons/SignOutIcon.js +16 -0
  472. package/dist/components/CustomIcons/SignOutIcon.js.map +1 -0
  473. package/dist/components/CustomIcons/SliderIcon.js +28 -0
  474. package/dist/components/CustomIcons/SliderIcon.js.map +1 -0
  475. package/dist/components/CustomIcons/SortIcon.js +28 -0
  476. package/dist/components/CustomIcons/SortIcon.js.map +1 -0
  477. package/dist/components/CustomIcons/SourceIcon.js +28 -0
  478. package/dist/components/CustomIcons/SourceIcon.js.map +1 -0
  479. package/dist/components/CustomIcons/SparkleIcon.js +16 -0
  480. package/dist/components/CustomIcons/SparkleIcon.js.map +1 -0
  481. package/dist/components/CustomIcons/StarIcon.js +16 -0
  482. package/dist/components/CustomIcons/StarIcon.js.map +1 -0
  483. package/dist/components/CustomIcons/StepCurrentIcon.js +21 -0
  484. package/dist/components/CustomIcons/StepCurrentIcon.js.map +1 -0
  485. package/dist/components/CustomIcons/StepUpcomingIcon.js +21 -0
  486. package/dist/components/CustomIcons/StepUpcomingIcon.js.map +1 -0
  487. package/dist/components/CustomIcons/SyntheticWebhookIcon.js +21 -0
  488. package/dist/components/CustomIcons/SyntheticWebhookIcon.js.map +1 -0
  489. package/dist/components/CustomIcons/ThumbsDownIcon.js +21 -0
  490. package/dist/components/CustomIcons/ThumbsDownIcon.js.map +1 -0
  491. package/dist/components/CustomIcons/ThumbsUpIcon.js +16 -0
  492. package/dist/components/CustomIcons/ThumbsUpIcon.js.map +1 -0
  493. package/dist/components/CustomIcons/TrashIcon.js +28 -0
  494. package/dist/components/CustomIcons/TrashIcon.js.map +1 -0
  495. package/dist/components/CustomIcons/TriangleDownIcon.js +21 -0
  496. package/dist/components/CustomIcons/TriangleDownIcon.js.map +1 -0
  497. package/dist/components/CustomIcons/TriangleRightIcon.js +21 -0
  498. package/dist/components/CustomIcons/TriangleRightIcon.js.map +1 -0
  499. package/dist/components/CustomIcons/UnarchiveIcon.js +16 -0
  500. package/dist/components/CustomIcons/UnarchiveIcon.js.map +1 -0
  501. package/dist/components/CustomIcons/UploadIcon.js +28 -0
  502. package/dist/components/CustomIcons/UploadIcon.js.map +1 -0
  503. package/dist/components/CustomIcons/WarningCircleFilled.js +21 -0
  504. package/dist/components/CustomIcons/WarningCircleFilled.js.map +1 -0
  505. package/dist/components/CustomIcons/WarningTriangleIcon.js +21 -0
  506. package/dist/components/CustomIcons/WarningTriangleIcon.js.map +1 -0
  507. package/dist/components/CustomIcons/WebhookEventsIcon.js +28 -0
  508. package/dist/components/CustomIcons/WebhookEventsIcon.js.map +1 -0
  509. package/dist/components/CustomIcons/WebhookIcon.js +28 -0
  510. package/dist/components/CustomIcons/WebhookIcon.js.map +1 -0
  511. package/dist/components/CustomIcons/WebhookSigningSecretIcon.js +21 -0
  512. package/dist/components/CustomIcons/WebhookSigningSecretIcon.js.map +1 -0
  513. package/dist/components/CustomIcons/index.js +328 -0
  514. package/dist/components/CustomIcons/index.js.map +1 -0
  515. package/dist/components/DefinitionRow.js +15 -0
  516. package/dist/components/DefinitionRow.js.map +1 -0
  517. package/dist/components/DisclosureArrow.js +20 -0
  518. package/dist/components/DisclosureArrow.js.map +1 -0
  519. package/dist/components/Divider.js +59 -0
  520. package/dist/components/Divider.js.map +1 -0
  521. package/dist/components/Dropdown.js +847 -0
  522. package/dist/components/Dropdown.js.map +1 -0
  523. package/dist/components/FieldBlock.js +25 -0
  524. package/dist/components/FieldBlock.js.map +1 -0
  525. package/dist/components/FieldGroup.js +23 -0
  526. package/dist/components/FieldGroup.js.map +1 -0
  527. package/dist/components/FieldMessage.js +15 -0
  528. package/dist/components/FieldMessage.js.map +1 -0
  529. package/dist/components/Flex.js +45 -0
  530. package/dist/components/Flex.js.map +1 -0
  531. package/dist/components/FooterLinks.js +88 -0
  532. package/dist/components/FooterLinks.js.map +1 -0
  533. package/dist/components/FooterNav.js +19 -0
  534. package/dist/components/FooterNav.js.map +1 -0
  535. package/dist/components/Form.js +26 -0
  536. package/dist/components/Form.js.map +1 -0
  537. package/dist/components/FormItem.js +32 -0
  538. package/dist/components/FormItem.js.map +1 -0
  539. package/dist/components/FormSectionHeading.js +20 -0
  540. package/dist/components/FormSectionHeading.js.map +1 -0
  541. package/dist/components/InlineConfirm.js +129 -0
  542. package/dist/components/InlineConfirm.js.map +1 -0
  543. package/dist/components/Input/Input.js +302 -0
  544. package/dist/components/Input/Input.js.map +1 -0
  545. package/dist/components/KeyValueList.js +26 -0
  546. package/dist/components/KeyValueList.js.map +1 -0
  547. package/dist/components/Link.js +47 -0
  548. package/dist/components/Link.js.map +1 -0
  549. package/dist/components/LoadingBar.js +85 -0
  550. package/dist/components/LoadingBar.js.map +1 -0
  551. package/dist/components/LoadingInput.js +29 -0
  552. package/dist/components/LoadingInput.js.map +1 -0
  553. package/dist/components/MalachiteContext.js +18 -0
  554. package/dist/components/MalachiteContext.js.map +1 -0
  555. package/dist/components/Modal.js +212 -0
  556. package/dist/components/Modal.js.map +1 -0
  557. package/dist/components/MultiSelect.js +643 -0
  558. package/dist/components/MultiSelect.js.map +1 -0
  559. package/dist/components/NumberTag.js +22 -0
  560. package/dist/components/NumberTag.js.map +1 -0
  561. package/dist/components/OverflowRow.js +153 -0
  562. package/dist/components/OverflowRow.js.map +1 -0
  563. package/dist/components/Padded.js +39 -0
  564. package/dist/components/Padded.js.map +1 -0
  565. package/dist/components/PageLayout/constants.js +12 -0
  566. package/dist/components/PageLayout/constants.js.map +1 -0
  567. package/dist/components/PageLayout/emptyLayout.js +61 -0
  568. package/dist/components/PageLayout/emptyLayout.js.map +1 -0
  569. package/dist/components/PageLayout/index.js +10 -0
  570. package/dist/components/PageLayout/index.js.map +1 -0
  571. package/dist/components/PageLayout/regularLayout.js +177 -0
  572. package/dist/components/PageLayout/regularLayout.js.map +1 -0
  573. package/dist/components/PillButton.js +70 -0
  574. package/dist/components/PillButton.js.map +1 -0
  575. package/dist/components/PreviewTree.js +49 -0
  576. package/dist/components/PreviewTree.js.map +1 -0
  577. package/dist/components/Progress.js +69 -0
  578. package/dist/components/Progress.js.map +1 -0
  579. package/dist/components/QueryInput.js +370 -0
  580. package/dist/components/QueryInput.js.map +1 -0
  581. package/dist/components/Radio.js +63 -0
  582. package/dist/components/Radio.js.map +1 -0
  583. package/dist/components/Search.js +54 -0
  584. package/dist/components/Search.js.map +1 -0
  585. package/dist/components/SegmentedControl.js +107 -0
  586. package/dist/components/SegmentedControl.js.map +1 -0
  587. package/dist/components/SelectableCard.js +364 -0
  588. package/dist/components/SelectableCard.js.map +1 -0
  589. package/dist/components/SelectionBar.js +103 -0
  590. package/dist/components/SelectionBar.js.map +1 -0
  591. package/dist/components/SettingRow.js +40 -0
  592. package/dist/components/SettingRow.js.map +1 -0
  593. package/dist/components/ShadowEscape.js +166 -0
  594. package/dist/components/ShadowEscape.js.map +1 -0
  595. package/dist/components/SidePanel.js +140 -0
  596. package/dist/components/SidePanel.js.map +1 -0
  597. package/dist/components/SidePanelNavFooter.js +46 -0
  598. package/dist/components/SidePanelNavFooter.js.map +1 -0
  599. package/dist/components/Skeleton.js +106 -0
  600. package/dist/components/Skeleton.js.map +1 -0
  601. package/dist/components/Spacer.js +63 -0
  602. package/dist/components/Spacer.js.map +1 -0
  603. package/dist/components/Spinner.js +86 -0
  604. package/dist/components/Spinner.js.map +1 -0
  605. package/dist/components/SplitScreenLayout.js +51 -0
  606. package/dist/components/SplitScreenLayout.js.map +1 -0
  607. package/dist/components/StatBadge.js +10 -0
  608. package/dist/components/StatBadge.js.map +1 -0
  609. package/dist/components/Statistic.js +48 -0
  610. package/dist/components/Statistic.js.map +1 -0
  611. package/dist/components/StatusBadge.js +56 -0
  612. package/dist/components/StatusBadge.js.map +1 -0
  613. package/dist/components/StepTabs.js +52 -0
  614. package/dist/components/StepTabs.js.map +1 -0
  615. package/dist/components/Stepper.js +40 -0
  616. package/dist/components/Stepper.js.map +1 -0
  617. package/dist/components/Surface.js +143 -0
  618. package/dist/components/Surface.js.map +1 -0
  619. package/dist/components/Swatch.js +44 -0
  620. package/dist/components/Swatch.js.map +1 -0
  621. package/dist/components/Table/Table.js +1007 -0
  622. package/dist/components/Table/Table.js.map +1 -0
  623. package/dist/components/Table/TablePagination.js +205 -0
  624. package/dist/components/Table/TablePagination.js.map +1 -0
  625. package/dist/components/Tabs.js +35 -0
  626. package/dist/components/Tabs.js.map +1 -0
  627. package/dist/components/Tag.js +154 -0
  628. package/dist/components/Tag.js.map +1 -0
  629. package/dist/components/TextArea/TextArea.js +289 -0
  630. package/dist/components/TextArea/TextArea.js.map +1 -0
  631. package/dist/components/ThemeScope.js +14 -0
  632. package/dist/components/ThemeScope.js.map +1 -0
  633. package/dist/components/Toggle.js +115 -0
  634. package/dist/components/Toggle.js.map +1 -0
  635. package/dist/components/Toolbar.js +25 -0
  636. package/dist/components/Toolbar.js.map +1 -0
  637. package/dist/components/Tooltip.js +181 -0
  638. package/dist/components/Tooltip.js.map +1 -0
  639. package/dist/components/TruncatedTooltip.js +38 -0
  640. package/dist/components/TruncatedTooltip.js.map +1 -0
  641. package/dist/components/Typography/CodeText.js +49 -0
  642. package/dist/components/Typography/CodeText.js.map +1 -0
  643. package/dist/components/Typography/EllipsisText.js +27 -0
  644. package/dist/components/Typography/EllipsisText.js.map +1 -0
  645. package/dist/components/Typography/FormSectionTitle.js +21 -0
  646. package/dist/components/Typography/FormSectionTitle.js.map +1 -0
  647. package/dist/components/Typography/LinkText.js +32 -0
  648. package/dist/components/Typography/LinkText.js.map +1 -0
  649. package/dist/components/Typography/MarkdownBlock.js +304 -0
  650. package/dist/components/Typography/MarkdownBlock.js.map +1 -0
  651. package/dist/components/Typography/PageTitle.js +21 -0
  652. package/dist/components/Typography/PageTitle.js.map +1 -0
  653. package/dist/components/Typography/SecondaryText.js +51 -0
  654. package/dist/components/Typography/SecondaryText.js.map +1 -0
  655. package/dist/components/Typography/SectionTitle.js +16 -0
  656. package/dist/components/Typography/SectionTitle.js.map +1 -0
  657. package/dist/components/Typography/StatisticLabel.js +22 -0
  658. package/dist/components/Typography/StatisticLabel.js.map +1 -0
  659. package/dist/components/Typography/StatisticValue.js +21 -0
  660. package/dist/components/Typography/StatisticValue.js.map +1 -0
  661. package/dist/components/Typography/TerminalText.js +45 -0
  662. package/dist/components/Typography/TerminalText.js.map +1 -0
  663. package/dist/components/Typography/Text.js +31 -0
  664. package/dist/components/Typography/Text.js.map +1 -0
  665. package/dist/components/Typography/index.js +31 -0
  666. package/dist/components/Typography/index.js.map +1 -0
  667. package/dist/components/Typography/textStyles.js +66 -0
  668. package/dist/components/Typography/textStyles.js.map +1 -0
  669. package/dist/components/WizardLayout.js +113 -0
  670. package/dist/components/WizardLayout.js.map +1 -0
  671. package/dist/components/actionBarMenuItems.js +16 -0
  672. package/dist/components/actionBarMenuItems.js.map +1 -0
  673. package/dist/components/activeElement.js +11 -0
  674. package/dist/components/activeElement.js.map +1 -0
  675. package/dist/components/breadcrumbsNav.js +5 -0
  676. package/dist/components/breadcrumbsNav.js.map +1 -0
  677. package/dist/components/cardStripSlot.js +9 -0
  678. package/dist/components/cardStripSlot.js.map +1 -0
  679. package/dist/components/codeBlockDiff.js +78 -0
  680. package/dist/components/codeBlockDiff.js.map +1 -0
  681. package/dist/components/codeBlockLine.js +90 -0
  682. package/dist/components/codeBlockLine.js.map +1 -0
  683. package/dist/components/codeBlockStyles.js +20 -0
  684. package/dist/components/codeBlockStyles.js.map +1 -0
  685. package/dist/components/confirmationDialogVariants.js +30 -0
  686. package/dist/components/confirmationDialogVariants.js.map +1 -0
  687. package/dist/components/controlTextSize.js +14 -0
  688. package/dist/components/controlTextSize.js.map +1 -0
  689. package/dist/components/devWarning.js +22 -0
  690. package/dist/components/devWarning.js.map +1 -0
  691. package/dist/components/dividerTypes.js +7 -0
  692. package/dist/components/dividerTypes.js.map +1 -0
  693. package/dist/components/dropdownPanelPosition.js +38 -0
  694. package/dist/components/dropdownPanelPosition.js.map +1 -0
  695. package/dist/components/dropdownTriggerStyle.js +36 -0
  696. package/dist/components/dropdownTriggerStyle.js.map +1 -0
  697. package/dist/components/escapeLayers.js +13 -0
  698. package/dist/components/escapeLayers.js.map +1 -0
  699. package/dist/components/flexTypes.js +8 -0
  700. package/dist/components/flexTypes.js.map +1 -0
  701. package/dist/components/focusRing.js +9 -0
  702. package/dist/components/focusRing.js.map +1 -0
  703. package/dist/components/formItemState.js +12 -0
  704. package/dist/components/formItemState.js.map +1 -0
  705. package/dist/components/glassSurface.js +10 -0
  706. package/dist/components/glassSurface.js.map +1 -0
  707. package/dist/components/injectStyleSheet.js +33 -0
  708. package/dist/components/injectStyleSheet.js.map +1 -0
  709. package/dist/components/inlineConfirmPosition.js +27 -0
  710. package/dist/components/inlineConfirmPosition.js.map +1 -0
  711. package/dist/components/keyboardActivation.js +14 -0
  712. package/dist/components/keyboardActivation.js.map +1 -0
  713. package/dist/components/modalTray.js +16 -0
  714. package/dist/components/modalTray.js.map +1 -0
  715. package/dist/components/optionRowStyles.js +27 -0
  716. package/dist/components/optionRowStyles.js.map +1 -0
  717. package/dist/components/overlayBehaviour.js +118 -0
  718. package/dist/components/overlayBehaviour.js.map +1 -0
  719. package/dist/components/portalOverlay.js +35 -0
  720. package/dist/components/portalOverlay.js.map +1 -0
  721. package/dist/components/prismCedar.js +27 -0
  722. package/dist/components/prismCedar.js.map +1 -0
  723. package/dist/components/queryInputGeometry.js +24 -0
  724. package/dist/components/queryInputGeometry.js.map +1 -0
  725. package/dist/components/renderableNode.js +6 -0
  726. package/dist/components/renderableNode.js.map +1 -0
  727. package/dist/components/safeHref.js +11 -0
  728. package/dist/components/safeHref.js.map +1 -0
  729. package/dist/components/scrollLock.js +19 -0
  730. package/dist/components/scrollLock.js.map +1 -0
  731. package/dist/components/selectedRow.js +14 -0
  732. package/dist/components/selectedRow.js.map +1 -0
  733. package/dist/components/selectionBarChrome.js +63 -0
  734. package/dist/components/selectionBarChrome.js.map +1 -0
  735. package/dist/components/topLayer.js +29 -0
  736. package/dist/components/topLayer.js.map +1 -0
  737. package/dist/components/useAdoptedStyleSheet.js +41 -0
  738. package/dist/components/useAdoptedStyleSheet.js.map +1 -0
  739. package/dist/geist-font.js +23 -0
  740. package/dist/geist-font.js.map +1 -0
  741. package/dist/index.d.ts +1045 -89
  742. package/dist/index.js +403 -104
  743. package/dist/index.js.map +1 -1
  744. package/dist/inter-font.js +35 -0
  745. package/dist/inter-font.js.map +1 -0
  746. package/dist/stack-sans-font.js +17 -0
  747. package/dist/stack-sans-font.js.map +1 -0
  748. package/dist/tailwind.css.js +5 -0
  749. package/dist/tailwind.css.js.map +1 -0
  750. package/dist/theme.js +1959 -0
  751. package/dist/theme.js.map +1 -0
  752. package/dist/vendor/@fontsource/geist-sans/files/geist-sans-latin-400-normal.woff2.js +5 -0
  753. package/dist/vendor/@fontsource/geist-sans/files/geist-sans-latin-400-normal.woff2.js.map +1 -0
  754. package/dist/vendor/@fontsource/geist-sans/files/geist-sans-latin-500-normal.woff2.js +5 -0
  755. package/dist/vendor/@fontsource/geist-sans/files/geist-sans-latin-500-normal.woff2.js.map +1 -0
  756. package/dist/vendor/@fontsource/inter/files/inter-latin-400-normal.woff2.js +5 -0
  757. package/dist/vendor/@fontsource/inter/files/inter-latin-400-normal.woff2.js.map +1 -0
  758. package/dist/vendor/@fontsource/inter/files/inter-latin-500-normal.woff2.js +5 -0
  759. package/dist/vendor/@fontsource/inter/files/inter-latin-500-normal.woff2.js.map +1 -0
  760. package/dist/vendor/@fontsource/inter/files/inter-latin-600-normal.woff2.js +5 -0
  761. package/dist/vendor/@fontsource/inter/files/inter-latin-600-normal.woff2.js.map +1 -0
  762. package/dist/vendor/@fontsource/inter/files/inter-latin-700-normal.woff2.js +5 -0
  763. package/dist/vendor/@fontsource/inter/files/inter-latin-700-normal.woff2.js.map +1 -0
  764. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-400-normal.woff2.js +5 -0
  765. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-400-normal.woff2.js.map +1 -0
  766. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-500-normal.woff2.js +5 -0
  767. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-500-normal.woff2.js.map +1 -0
  768. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-600-normal.woff2.js +5 -0
  769. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-600-normal.woff2.js.map +1 -0
  770. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-700-normal.woff2.js +5 -0
  771. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-700-normal.woff2.js.map +1 -0
  772. package/dist/vendor/@fontsource-variable/stack-sans-text/files/stack-sans-text-latin-wght-normal.woff2.js +5 -0
  773. package/dist/vendor/@fontsource-variable/stack-sans-text/files/stack-sans-text-latin-wght-normal.woff2.js.map +1 -0
  774. package/package.json +6 -1
  775. package/dist/CodeBlockHighlighter-BJeE32YS.js +0 -2791
  776. package/dist/CodeBlockHighlighter-BJeE32YS.js.map +0 -1
  777. package/dist/index-P2H4or4t.js +0 -19528
  778. package/dist/index-P2H4or4t.js.map +0 -1
@@ -0,0 +1,105 @@
1
+ import { jsxs as i, jsx as t } from "react/jsx-runtime";
2
+ import { useId as E, useState as b } from "react";
3
+ import { DisclosureArrow as u } from "./DisclosureArrow.js";
4
+ import { FOCUS_RING as _, FOCUS_RING_INSET as A } from "./focusRing.js";
5
+ import { isRenderableNode as F } from "./renderableNode.js";
6
+ const K = ({
7
+ title: x,
8
+ header: f,
9
+ className: v,
10
+ children: o,
11
+ trailing: c,
12
+ variant: h = "default",
13
+ defaultExpanded: g = !1,
14
+ isExpanded: n,
15
+ onToggle: d,
16
+ disabled: s = !1,
17
+ stickyHeader: p = !1,
18
+ stickyTopOffset: w = 0,
19
+ animate: m = !0
20
+ }) => {
21
+ const r = h === "sunken", l = `${E()}-body`, [N, y] = b(g), e = n !== void 0 ? n : N, k = m || e && !!o, [I, C] = b(!1), R = () => {
22
+ const a = !e;
23
+ n === void 0 && y(a), d == null || d(a);
24
+ }, S = [
25
+ "flex flex-col w-full text-left",
26
+ r ? "rounded-xl bg-[var(--malachite-card-dimmed-background)] p-[4px]" : "",
27
+ v
28
+ ].filter(Boolean).join(" "), B = [
29
+ // `group` only when enabled, so the arrow doesn't darken on hover while disabled.
30
+ s ? "" : "group",
31
+ "flex items-center w-full transition-colors",
32
+ r ? "" : "border-0 border-b border-solid border-[var(--malachite-card-border)]",
33
+ p ? "sticky z-10" : "",
34
+ r ? "bg-transparent" : e ? "bg-[var(--malachite-buttonlist-hover-background)]" : s ? "bg-transparent" : "bg-transparent hover:bg-[var(--malachite-buttonlist-hover-background)]"
35
+ ].filter(Boolean).join(" "), j = [
36
+ "flex flex-1 items-center min-w-0 appearance-none border-0 bg-transparent text-left cursor-pointer select-none disabled:cursor-not-allowed",
37
+ r ? `gap-[16px] px-[16px] py-[12px] rounded-lg ${_}` : `gap-[12px] p-[16px] ${A}`
38
+ ].join(" "), $ = p ? { top: `${w}px`, backgroundColor: "var(--malachite-card-background)" } : {};
39
+ return /* @__PURE__ */ i("div", { className: S, children: [
40
+ /* @__PURE__ */ i("div", { className: B, style: $, "data-accordion-header": "", children: [
41
+ /* @__PURE__ */ i(
42
+ "button",
43
+ {
44
+ type: "button",
45
+ className: j,
46
+ onClick: R,
47
+ "aria-expanded": e,
48
+ "aria-controls": k ? l : void 0,
49
+ disabled: s,
50
+ children: [
51
+ r ? null : /* @__PURE__ */ t(u, { expanded: e }),
52
+ f ?? /* @__PURE__ */ t("span", { className: "flex-1 min-w-0 truncate font-medium text-[13px] tracking-[0.13px] text-[var(--malachite-text-primary)]", children: x }),
53
+ r ? /* @__PURE__ */ t(u, { expanded: e }) : null
54
+ ]
55
+ }
56
+ ),
57
+ F(c) && /* @__PURE__ */ t("div", { className: "shrink-0 flex items-center pr-[16px] text-[var(--malachite-text-secondary)]", children: c })
58
+ ] }),
59
+ m ? (
60
+ /* Height animates via grid-template-rows (0fr → 1fr); body clips during.
61
+ grid-cols-[minmax(0,1fr)] pins the single column to the track width so
62
+ wide, non-wrapping children (e.g. a table with long cell text) can't grow
63
+ the implicit `auto` column to their max-content and overflow the container. */
64
+ /* @__PURE__ */ t(
65
+ "div",
66
+ {
67
+ id: l,
68
+ className: "grid grid-cols-[minmax(0,1fr)] w-full transition-[grid-template-rows] duration-200 ease-in-out",
69
+ style: { gridTemplateRows: e ? "1fr" : "0fr" },
70
+ onTransitionEnd: (a) => {
71
+ a.propertyName === "grid-template-rows" && C(e);
72
+ },
73
+ children: /* @__PURE__ */ t(
74
+ "div",
75
+ {
76
+ className: I && e ? "overflow-visible" : "overflow-hidden",
77
+ children: o && /* @__PURE__ */ t(
78
+ "div",
79
+ {
80
+ className: r ? "pt-[4px]" : "border-b border-solid border-[var(--malachite-card-border)]",
81
+ children: o
82
+ }
83
+ )
84
+ }
85
+ )
86
+ }
87
+ )
88
+ ) : (
89
+ /* Instant open — no clip, so a sticky child inside pins immediately. */
90
+ e && o && /* @__PURE__ */ t(
91
+ "div",
92
+ {
93
+ id: l,
94
+ className: r ? "pt-[4px]" : "border-b border-solid border-[var(--malachite-card-border)]",
95
+ children: o
96
+ }
97
+ )
98
+ )
99
+ ] });
100
+ };
101
+ export {
102
+ K as Accordion,
103
+ K as default
104
+ };
105
+ //# sourceMappingURL=Accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.js","sources":["../../src/components/Accordion.tsx"],"sourcesContent":["import React, { useId, useState } from 'react';\nimport DisclosureArrow from './DisclosureArrow';\nimport { FOCUS_RING, FOCUS_RING_INSET } from './focusRing';\nimport { isRenderableNode } from './renderableNode';\n\ninterface AccordionBaseProps {\n className?: string;\n children?: React.ReactNode;\n /**\n * Visual style. `default` is the flat list row (arrow leading, row dividers,\n * hover background). `sunken` draws the section as a sunken card (dimmed\n * rounded container, arrow pinned right, no dividers/hover) — used for stacked\n * detail sections in side panels and detail pages (see `CollapsibleSection`).\n */\n variant?: 'default' | 'sunken';\n /**\n * Content pinned to the right of the header, OUTSIDE the toggle button — so it may\n * be interactive (e.g. a Checkbox) without nesting a button inside a button.\n */\n trailing?: React.ReactNode;\n defaultExpanded?: boolean;\n isExpanded?: boolean;\n onToggle?: (expanded: boolean) => void;\n /** Disables the toggle (and its hover). Trailing controls manage their own state. */\n disabled?: boolean;\n /**\n * Pin the header row to the top of the nearest scroll container so it stays\n * reachable while the body scrolls. Needs a scroll ancestor that clips without\n * trapping sticky — e.g. a `<Surface overflow=\"clip\">` (`overflow: hidden` traps it).\n */\n stickyHeader?: boolean;\n /** Offset (px) from the top of the scroll container when `stickyHeader` is set. */\n stickyTopOffset?: number;\n /**\n * Animate the expand/collapse height (default `true`). Set `false` for an instant\n * open — the body isn't clipped, so a `position: sticky` child pins immediately with\n * no post-animation settle.\n */\n animate?: boolean;\n}\n\n/**\n * Requires at least one of `title` (simple text header) or `header` (rich ReactNode\n * content for the toggle area, e.g. avatar + badges) so the toggle is never empty.\n */\ntype AccordionProps = AccordionBaseProps &\n ({ title: string; header?: React.ReactNode } | { title?: string; header: React.ReactNode });\n\nconst Accordion: React.FC<AccordionProps> = ({\n title,\n header,\n className,\n children,\n trailing,\n variant = 'default',\n defaultExpanded = false,\n isExpanded,\n onToggle,\n disabled = false,\n stickyHeader = false,\n stickyTopOffset = 0,\n animate = true,\n}) => {\n const sunken = variant === 'sunken';\n const instanceId = useId();\n const bodyId = `${instanceId}-body`;\n const [internalExpanded, setInternalExpanded] = useState(defaultExpanded);\n\n // Use controlled state if isExpanded is provided, otherwise use internal state\n const expanded = isExpanded !== undefined ? isExpanded : internalExpanded;\n\n // The instant path only renders the body while expanded; don't advertise\n // aria-controls when the referenced element isn't in the DOM.\n const bodyRendered = animate || (expanded && !!children);\n\n // The body clips overflow so the expand/collapse height animation works. Once fully\n // expanded we release the clip (after the transition) so a `position: sticky` child\n // inside can pin — `overflow: hidden` would otherwise trap it.\n //\n // Owned entirely by the transition: the same `onTransitionEnd` that sets it on expand\n // clears it on collapse, so no effect has to mirror `expanded` into it.\n const [bodySettled, setBodySettled] = useState(false);\n\n const handleToggle = () => {\n const newExpanded = !expanded;\n if (isExpanded === undefined) {\n setInternalExpanded(newExpanded);\n }\n onToggle?.(newExpanded);\n };\n\n const containerClasses = [\n 'flex flex-col w-full text-left',\n sunken ? 'rounded-xl bg-[var(--malachite-card-dimmed-background)] p-[4px]' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // The whole header row is a `group` so the disclosure arrow darkens on hover; the\n // hover background and arrow react to hovering anywhere on the row. The sunken\n // variant carries its own card chrome instead of row dividers/hover.\n const rowBackground = sunken\n ? 'bg-transparent'\n : expanded\n ? 'bg-[var(--malachite-buttonlist-hover-background)]'\n : disabled\n ? 'bg-transparent'\n : 'bg-transparent hover:bg-[var(--malachite-buttonlist-hover-background)]';\n const headerRowClasses = [\n // `group` only when enabled, so the arrow doesn't darken on hover while disabled.\n disabled ? '' : 'group',\n 'flex items-center w-full transition-colors',\n sunken ? '' : 'border-0 border-b border-solid border-[var(--malachite-card-border)]',\n stickyHeader ? 'sticky z-10' : '',\n rowBackground,\n ]\n .filter(Boolean)\n .join(' ');\n // Full-bleed default rows use an inset ring; the padded sunken toggle fits an outset one.\n const toggleButtonClasses = [\n 'flex flex-1 items-center min-w-0 appearance-none border-0 bg-transparent text-left cursor-pointer select-none disabled:cursor-not-allowed',\n sunken\n ? `gap-[16px] px-[16px] py-[12px] rounded-lg ${FOCUS_RING}`\n : `gap-[12px] p-[16px] ${FOCUS_RING_INSET}`,\n ].join(' ');\n\n // A pinned header needs an opaque background so the scrolling body doesn't bleed\n // through. Inline (not a Tailwind arbitrary class) so the offset always applies.\n const headerRowStyle: React.CSSProperties = stickyHeader\n ? { top: `${stickyTopOffset}px`, backgroundColor: 'var(--malachite-card-background)' }\n : {};\n\n return (\n <div className={containerClasses}>\n <div className={headerRowClasses} style={headerRowStyle} data-accordion-header=\"\">\n {/* Toggle area — arrow + header/title. Interactive trailing sits outside it. */}\n <button\n type=\"button\"\n className={toggleButtonClasses}\n onClick={handleToggle}\n aria-expanded={expanded}\n aria-controls={bodyRendered ? bodyId : undefined}\n disabled={disabled}\n >\n {sunken ? null : <DisclosureArrow expanded={expanded} />}\n {header ?? (\n <span className=\"flex-1 min-w-0 truncate font-medium text-[13px] tracking-[0.13px] text-[var(--malachite-text-primary)]\">\n {title}\n </span>\n )}\n {sunken ? <DisclosureArrow expanded={expanded} /> : null}\n </button>\n {isRenderableNode(trailing) && (\n <div className=\"shrink-0 flex items-center pr-[16px] text-[var(--malachite-text-secondary)]\">\n {trailing}\n </div>\n )}\n </div>\n\n {animate ? (\n /* Height animates via grid-template-rows (0fr → 1fr); body clips during.\n grid-cols-[minmax(0,1fr)] pins the single column to the track width so\n wide, non-wrapping children (e.g. a table with long cell text) can't grow\n the implicit `auto` column to their max-content and overflow the container. */\n <div\n id={bodyId}\n className=\"grid grid-cols-[minmax(0,1fr)] w-full transition-[grid-template-rows] duration-200 ease-in-out\"\n style={{ gridTemplateRows: expanded ? '1fr' : '0fr' }}\n onTransitionEnd={(event) => {\n if (event.propertyName === 'grid-template-rows') {\n setBodySettled(expanded);\n }\n }}\n >\n <div\n className={bodySettled && expanded ? 'overflow-visible' : 'overflow-hidden'}\n >\n {children && (\n <div\n className={\n sunken\n ? 'pt-[4px]'\n : 'border-b border-solid border-[var(--malachite-card-border)]'\n }\n >\n {children}\n </div>\n )}\n </div>\n </div>\n ) : (\n /* Instant open — no clip, so a sticky child inside pins immediately. */\n expanded &&\n children && (\n <div\n id={bodyId}\n className={\n sunken\n ? 'pt-[4px]'\n : 'border-b border-solid border-[var(--malachite-card-border)]'\n }\n >\n {children}\n </div>\n )\n )}\n </div>\n );\n};\n\nexport default Accordion;\nexport { Accordion };\nexport type { AccordionProps };\n"],"names":["Accordion","title","header","className","children","trailing","variant","defaultExpanded","isExpanded","onToggle","disabled","stickyHeader","stickyTopOffset","animate","sunken","bodyId","useId","internalExpanded","setInternalExpanded","useState","expanded","bodyRendered","bodySettled","setBodySettled","handleToggle","newExpanded","containerClasses","headerRowClasses","toggleButtonClasses","FOCUS_RING","FOCUS_RING_INSET","headerRowStyle","jsxs","jsx","DisclosureArrow","isRenderableNode","event"],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { jsx as a, jsxs as C } from "react/jsx-runtime";
2
+ import { useRef as W, useState as A, useLayoutEffect as E, Fragment as L } from "react";
3
+ import R from "./ActionMenu.js";
4
+ import { Button as b } from "./Button.js";
5
+ import { buildActionBarMenuItems as g } from "./actionBarMenuItems.js";
6
+ const x = 600, y = ({
7
+ buttons: l,
8
+ collapseBelow: c = x,
9
+ menuLabel: h = "Actions",
10
+ className: p = ""
11
+ }) => {
12
+ const o = W(null), [u, v] = A(!1);
13
+ return E(() => {
14
+ const r = ((t) => {
15
+ let i = t;
16
+ for (let n = 0; i && n < 5; n += 1) {
17
+ const s = i.parentElement;
18
+ if (!s)
19
+ return i;
20
+ if (s.clientWidth > i.clientWidth)
21
+ return s;
22
+ i = s;
23
+ }
24
+ return i;
25
+ })(o.current);
26
+ if (!r)
27
+ return;
28
+ const d = (t) => {
29
+ v(t > 0 && t < c);
30
+ };
31
+ if (d(r.clientWidth), typeof ResizeObserver > "u")
32
+ return;
33
+ let f = r.clientWidth;
34
+ const m = new ResizeObserver((t) => {
35
+ var n;
36
+ const i = (n = t[0]) == null ? void 0 : n.contentRect.width;
37
+ i === void 0 || Math.abs(i - f) < 1 || (f = i, d(i));
38
+ });
39
+ return m.observe(r), () => m.disconnect();
40
+ }, [c]), l.length === 0 ? null : /* @__PURE__ */ a("div", { ref: o, className: p, children: u ? /* @__PURE__ */ a(R, { items: g(l), label: h }) : /* @__PURE__ */ a("div", { className: "flex items-center gap-2", children: l.map((e, r) => /* @__PURE__ */ C(L, { children: [
41
+ e.dividerBefore && r > 0 && /* @__PURE__ */ a(
42
+ "div",
43
+ {
44
+ "aria-hidden": "true",
45
+ className: "w-px h-4 shrink-0 bg-[var(--malachite-card-border)]"
46
+ }
47
+ ),
48
+ /* @__PURE__ */ a(
49
+ b,
50
+ {
51
+ variant: e.variant ?? "filled",
52
+ size: e.size,
53
+ radius: e.radius,
54
+ onClick: e.onClick,
55
+ disabled: e.disabled,
56
+ icon: e.icon,
57
+ tooltip: e.tooltip,
58
+ children: e.label
59
+ }
60
+ )
61
+ ] }, `${e.label}-${r}`)) }) });
62
+ };
63
+ export {
64
+ y as default
65
+ };
66
+ //# sourceMappingURL=ActionBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionBar.js","sources":["../../src/components/ActionBar.tsx"],"sourcesContent":["import React, { Fragment, useLayoutEffect, useRef, useState } from 'react';\nimport ActionMenu from './ActionMenu';\nimport Button from './Button';\nimport { buildActionBarMenuItems } from './actionBarMenuItems';\n\ntype BaseButtonProps = React.ComponentProps<typeof Button>;\n\nexport interface ActionBarItem {\n label: string;\n onClick?: () => void;\n disabled?: boolean;\n icon?: React.ReactNode;\n tooltip?: string;\n variant?: BaseButtonProps['variant'];\n size?: BaseButtonProps['size'];\n radius?: BaseButtonProps['radius'];\n /** Renders a vertical rule before this button (and a menu divider when collapsed). */\n dividerBefore?: boolean;\n}\n\nexport interface ActionBarProps {\n buttons: ActionBarItem[];\n /** Container width, in px, below which the row collapses into a single menu. */\n collapseBelow?: number;\n /** Accessible name for the collapsed menu trigger. */\n menuLabel?: string;\n className?: string;\n}\n\nconst DEFAULT_COLLAPSE_BELOW_PX = 600;\n\n\nconst ActionBar: React.FC<ActionBarProps> = ({\n buttons,\n collapseBelow = DEFAULT_COLLAPSE_BELOW_PX,\n menuLabel = 'Actions',\n className = '',\n}) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [isCompact, setIsCompact] = useState(false);\n\n useLayoutEffect(() => {\n const findStableContainer = (start: HTMLElement | null): HTMLElement | null => {\n let node: HTMLElement | null = start;\n\n for (let depth = 0; node && depth < 5; depth += 1) {\n const parent = node.parentElement;\n if (!parent) {\n return node;\n }\n if (parent.clientWidth > node.clientWidth) {\n return parent;\n }\n node = parent;\n }\n\n return node;\n };\n\n const element = findStableContainer(containerRef.current);\n if (!element) {\n return;\n }\n\n const applyWidth = (width: number) => {\n setIsCompact(width > 0 && width < collapseBelow);\n };\n\n applyWidth(element.clientWidth);\n\n if (typeof ResizeObserver === 'undefined') {\n return;\n }\n\n let lastWidth = element.clientWidth;\n\n const observer = new ResizeObserver((entries) => {\n const width = entries[0]?.contentRect.width;\n if (width === undefined || Math.abs(width - lastWidth) < 1) {\n return;\n }\n lastWidth = width;\n applyWidth(width);\n });\n observer.observe(element);\n return () => observer.disconnect();\n }, [collapseBelow]);\n\n if (buttons.length === 0) {\n return null;\n }\n\n return (\n <div ref={containerRef} className={className}>\n {isCompact ? (\n <ActionMenu items={buildActionBarMenuItems(buttons)} label={menuLabel} />\n ) : (\n <div className=\"flex items-center gap-2\">\n {buttons.map((button, index) => (\n <Fragment key={`${button.label}-${index}`}>\n {button.dividerBefore && index > 0 && (\n <div\n aria-hidden=\"true\"\n className=\"w-px h-4 shrink-0 bg-[var(--malachite-card-border)]\"\n />\n )}\n <Button\n variant={button.variant ?? 'filled'}\n size={button.size}\n radius={button.radius}\n onClick={button.onClick}\n disabled={button.disabled}\n icon={button.icon}\n tooltip={button.tooltip}\n >\n {button.label}\n </Button>\n </Fragment>\n ))}\n </div>\n )}\n </div>\n );\n};\n\nexport default ActionBar;\n"],"names":["DEFAULT_COLLAPSE_BELOW_PX","ActionBar","buttons","collapseBelow","menuLabel","className","containerRef","useRef","isCompact","setIsCompact","useState","useLayoutEffect","element","start","node","depth","parent","applyWidth","width","lastWidth","observer","entries","_a","jsx","ActionMenu","buildActionBarMenuItems","button","index","jsxs","Fragment","Button"],"mappings":";;;;;AA6BA,MAAMA,IAA4B,KAG5BC,IAAsC,CAAC;AAAA,EACzC,SAAAC;AAAA,EACA,eAAAC,IAAgBH;AAAA,EAChB,WAAAI,IAAY;AAAA,EACZ,WAAAC,IAAY;AAChB,MAAM;AACF,QAAMC,IAAeC,EAAuB,IAAI,GAC1C,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK;AAiDhD,SA/CAC,EAAgB,MAAM;AAkBlB,UAAMC,KAjBsB,CAACC,MAAkD;AAC3E,UAAIC,IAA2BD;AAE/B,eAASE,IAAQ,GAAGD,KAAQC,IAAQ,GAAGA,KAAS,GAAG;AAC/C,cAAMC,IAASF,EAAK;AACpB,YAAI,CAACE;AACD,iBAAOF;AAEX,YAAIE,EAAO,cAAcF,EAAK;AAC1B,iBAAOE;AAEX,QAAAF,IAAOE;AAAA,MACX;AAEA,aAAOF;AAAA,IACX,GAEoCR,EAAa,OAAO;AACxD,QAAI,CAACM;AACD;AAGJ,UAAMK,IAAa,CAACC,MAAkB;AAClC,MAAAT,EAAaS,IAAQ,KAAKA,IAAQf,CAAa;AAAA,IACnD;AAIA,QAFAc,EAAWL,EAAQ,WAAW,GAE1B,OAAO,iBAAmB;AAC1B;AAGJ,QAAIO,IAAYP,EAAQ;AAExB,UAAMQ,IAAW,IAAI,eAAe,CAACC,MAAY;;AAC7C,YAAMH,KAAQI,IAAAD,EAAQ,CAAC,MAAT,gBAAAC,EAAY,YAAY;AACtC,MAAIJ,MAAU,UAAa,KAAK,IAAIA,IAAQC,CAAS,IAAI,MAGzDA,IAAYD,GACZD,EAAWC,CAAK;AAAA,IACpB,CAAC;AACD,WAAAE,EAAS,QAAQR,CAAO,GACjB,MAAMQ,EAAS,WAAA;AAAA,EAC1B,GAAG,CAACjB,CAAa,CAAC,GAEdD,EAAQ,WAAW,IACZ,OAIP,gBAAAqB,EAAC,OAAA,EAAI,KAAKjB,GAAc,WAAAD,GACnB,cACG,gBAAAkB,EAACC,GAAA,EAAW,OAAOC,EAAwBvB,CAAO,GAAG,OAAOE,EAAA,CAAW,IAEvE,gBAAAmB,EAAC,OAAA,EAAI,WAAU,2BACV,UAAArB,EAAQ,IAAI,CAACwB,GAAQC,MAClB,gBAAAC,EAACC,GAAA,EACI,UAAA;AAAA,IAAAH,EAAO,iBAAiBC,IAAQ,KAC7B,gBAAAJ;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,eAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAGlB,gBAAAA;AAAA,MAACO;AAAA,MAAA;AAAA,QACG,SAASJ,EAAO,WAAW;AAAA,QAC3B,MAAMA,EAAO;AAAA,QACb,QAAQA,EAAO;AAAA,QACf,SAASA,EAAO;AAAA,QAChB,UAAUA,EAAO;AAAA,QACjB,MAAMA,EAAO;AAAA,QACb,SAASA,EAAO;AAAA,QAEf,UAAAA,EAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,KAjBW,GAAGA,EAAO,KAAK,IAAIC,CAAK,EAkBvC,CACH,GACL,GAER;AAER;"}
@@ -0,0 +1,174 @@
1
+ import { jsxs as m, Fragment as O, jsx as s } from "react/jsx-runtime";
2
+ import { useState as E, useRef as S, useCallback as _, useEffect as H, useLayoutEffect as j, useInsertionEffect as D } from "react";
3
+ import { createPortal as N } from "react-dom";
4
+ import { Button as A } from "./Button.js";
5
+ import G from "./CustomIcons/MoreHorizontalIcon.js";
6
+ import { pushEscapeLayer as W } from "./escapeLayers.js";
7
+ import { ensureOverlayStyles as Y, overlayIdentity as $ } from "./portalOverlay.js";
8
+ import { useTopLayer as F } from "./topLayer.js";
9
+ const Z = {
10
+ padding: "6px 10px",
11
+ fontSize: "var(--malachite-font-size-small, 13px)",
12
+ color: "var(--malachite-text-dimmed, rgb(161, 161, 161))",
13
+ userSelect: "none"
14
+ }, q = {
15
+ small: { icon: 16, iconBox: "text-[16px] [&_svg]:size-[16px]!" },
16
+ xsmall: { icon: 11, iconBox: "text-[11px] [&_svg]:size-[11px]!" }
17
+ }, L = (n) => n.type === "divider" ? {
18
+ height: 1,
19
+ background: "var(--malachite-card-border, rgb(232, 232, 232))",
20
+ margin: "4px 0"
21
+ } : {
22
+ display: "flex",
23
+ alignItems: "center",
24
+ gap: 8,
25
+ padding: "6px 10px",
26
+ borderRadius: 8,
27
+ fontSize: "var(--malachite-font-size-small, 13px)",
28
+ fontWeight: 400,
29
+ color: n.danger ? "var(--malachite-text-destructive, rgb(237, 53, 54))" : "var(--malachite-text-primary, rgb(10, 10, 10))",
30
+ cursor: n.disabled ? "not-allowed" : "pointer",
31
+ opacity: n.disabled ? 0.5 : 1,
32
+ userSelect: "none",
33
+ background: "transparent",
34
+ border: "none",
35
+ textAlign: "left",
36
+ width: "100%"
37
+ }, oe = ({
38
+ items: n,
39
+ label: b = "More actions",
40
+ triggerIcon: M,
41
+ minWidth: v = 180,
42
+ size: h = "small",
43
+ showLabel: d = !1,
44
+ variant: z = "outline"
45
+ }) => {
46
+ const y = q[h], [o, p] = E(!1), [r, P] = E(null), x = S(null), a = S(null);
47
+ F(a, o);
48
+ const l = _(() => {
49
+ var w, k;
50
+ const e = x.current;
51
+ if (!e)
52
+ return;
53
+ const t = e.getBoundingClientRect(), u = ((w = a.current) == null ? void 0 : w.offsetWidth) || v, c = ((k = a.current) == null ? void 0 : k.offsetHeight) || 0, i = 8, f = t.right - u, g = window.innerWidth - u - i, I = Math.max(i, Math.min(f, g)), T = window.innerHeight - t.bottom, B = c > 0 && T < c + i ? t.top - c - 4 : t.bottom + 4;
54
+ P({ top: B, left: I });
55
+ }, [v]);
56
+ H(() => {
57
+ if (!o)
58
+ return;
59
+ l();
60
+ const e = () => l(), t = (c) => {
61
+ var f, g;
62
+ const i = c.target;
63
+ !((f = x.current) != null && f.contains(i)) && !((g = a.current) != null && g.contains(i)) && p(!1);
64
+ }, u = W(() => p(!1));
65
+ return window.addEventListener("scroll", e, !0), window.addEventListener("resize", e), document.addEventListener("mousedown", t, !0), () => {
66
+ window.removeEventListener("scroll", e, !0), window.removeEventListener("resize", e), document.removeEventListener("mousedown", t, !0), u();
67
+ };
68
+ }, [o, l]), j(() => {
69
+ o && a.current && l();
70
+ }, [o, l]);
71
+ const R = (e) => {
72
+ var t;
73
+ e.type === "divider" || e.disabled || ((t = e.onClick) == null || t.call(e), p(!1));
74
+ };
75
+ D(() => {
76
+ o && Y();
77
+ }, [o]);
78
+ const C = {
79
+ position: "fixed",
80
+ top: (r == null ? void 0 : r.top) ?? 0,
81
+ left: (r == null ? void 0 : r.left) ?? 0,
82
+ minWidth: v,
83
+ background: "var(--malachite-card-background, rgb(255, 255, 255))",
84
+ border: "1px solid var(--malachite-card-border, rgb(232, 232, 232))",
85
+ borderRadius: 12,
86
+ boxShadow: "0px 4px 12px rgba(0, 0, 0, 0.08)",
87
+ padding: 4,
88
+ display: "flex",
89
+ flexDirection: "column",
90
+ gap: 2,
91
+ visibility: r ? "visible" : "hidden",
92
+ opacity: r ? 1 : 0
93
+ };
94
+ return /* @__PURE__ */ m(O, { children: [
95
+ /* @__PURE__ */ m(
96
+ A,
97
+ {
98
+ ref: x,
99
+ type: "button",
100
+ variant: z,
101
+ size: h,
102
+ iconOnly: !d,
103
+ "aria-label": d ? void 0 : b,
104
+ "aria-haspopup": "menu",
105
+ "aria-expanded": o,
106
+ className: `shrink-0${d ? " gap-2" : ""}`,
107
+ onClick: (e) => {
108
+ e.stopPropagation(), p((t) => !t);
109
+ },
110
+ onMouseDown: (e) => e.stopPropagation(),
111
+ children: [
112
+ /* @__PURE__ */ s("span", { className: `inline-flex items-center justify-center ${y.iconBox}`, children: M ?? /* @__PURE__ */ s(G, { size: y.icon }) }),
113
+ d && /* @__PURE__ */ s("span", { children: b })
114
+ ]
115
+ }
116
+ ),
117
+ o && N(
118
+ /* @__PURE__ */ m(
119
+ "div",
120
+ {
121
+ ref: a,
122
+ role: "menu",
123
+ ...$("actionmenu"),
124
+ style: C,
125
+ onMouseDown: (e) => e.stopPropagation(),
126
+ onClick: (e) => e.stopPropagation(),
127
+ children: [
128
+ n.length === 0 && // role="menu" takes menuitem children only, so the notice is one.
129
+ /* @__PURE__ */ s("div", { role: "menuitem", "aria-disabled": "true", style: Z, children: "No actions available" }),
130
+ n.map(
131
+ (e) => e.type === "divider" ? /* @__PURE__ */ s("div", { style: L(e) }, e.key) : /* @__PURE__ */ m(
132
+ "button",
133
+ {
134
+ type: "button",
135
+ role: "menuitem",
136
+ disabled: e.disabled,
137
+ title: e.tooltip,
138
+ onClick: () => R(e),
139
+ onMouseEnter: (t) => {
140
+ e.disabled || (t.currentTarget.style.background = "rgba(0, 0, 0, 0.04)");
141
+ },
142
+ onMouseLeave: (t) => {
143
+ t.currentTarget.style.background = "transparent";
144
+ },
145
+ style: L(e),
146
+ children: [
147
+ e.icon && /* @__PURE__ */ s(
148
+ "span",
149
+ {
150
+ style: {
151
+ display: "inline-flex",
152
+ flexShrink: 0,
153
+ color: "var(--malachite-icon-secondary, rgb(148, 148, 148))"
154
+ },
155
+ children: e.icon
156
+ }
157
+ ),
158
+ e.label
159
+ ]
160
+ },
161
+ e.key
162
+ )
163
+ )
164
+ ]
165
+ }
166
+ ),
167
+ document.body
168
+ )
169
+ ] });
170
+ };
171
+ export {
172
+ oe as default
173
+ };
174
+ //# sourceMappingURL=ActionMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionMenu.js","sources":["../../src/components/ActionMenu.tsx"],"sourcesContent":["import React, {\n useState,\n useRef,\n useEffect,\n useInsertionEffect,\n useLayoutEffect,\n useCallback,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport Button from './Button';\nimport type { ButtonVariant } from './Button';\nimport MoreHorizontalIcon from './CustomIcons/MoreHorizontalIcon';\nimport { pushEscapeLayer } from './escapeLayers';\nimport { ensureOverlayStyles, overlayIdentity } from './portalOverlay';\nimport { useTopLayer } from './topLayer';\n\nconst EMPTY_ITEM_STYLE: React.CSSProperties = {\n padding: '6px 10px',\n fontSize: 'var(--malachite-font-size-small, 13px)',\n color: 'var(--malachite-text-dimmed, rgb(161, 161, 161))',\n userSelect: 'none',\n};\n\nexport type ActionMenuItem =\n | {\n type?: 'item';\n key: string;\n label: React.ReactNode;\n onClick?: () => void;\n disabled?: boolean;\n danger?: boolean;\n tooltip?: string;\n icon?: React.ReactNode;\n }\n | {\n type: 'divider';\n key: string;\n };\n\nexport interface ActionMenuProps {\n items: ActionMenuItem[];\n label?: string;\n triggerIcon?: React.ReactNode;\n minWidth?: number;\n size?: 'small' | 'xsmall';\n /**\n * Shows `label` beside the icon instead of leaving it to the accessible name. For a menu\n * that is the point of its corner rather than an overflow for a row that already reads —\n * a kebab nobody can name is only safe when the row it belongs to says what it acts on.\n */\n showLabel?: boolean;\n /** Trigger's Button variant. Defaults to `outline`, the overflow-kebab look. */\n variant?: ButtonVariant;\n}\n\n// No box here: pinning `--malachite-control-height-small` beat Button's own `size-[28px]`, so a\n// theme that moved that token moved the kebab and left the Button behind. Only the glyph is\n// left to size, Button sizing one only for its `icon` prop.\nconst TRIGGER_SIZES: Record<'small' | 'xsmall', { icon: number; iconBox: string }> = {\n small: { icon: 16, iconBox: 'text-[16px] [&_svg]:size-[16px]!' },\n xsmall: { icon: 11, iconBox: 'text-[11px] [&_svg]:size-[11px]!' },\n};\n\nconst itemStyle = (item: ActionMenuItem): React.CSSProperties => {\n if (item.type === 'divider') {\n return {\n height: 1,\n background: 'var(--malachite-card-border, rgb(232, 232, 232))',\n margin: '4px 0',\n };\n }\n return {\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n padding: '6px 10px',\n borderRadius: 8,\n fontSize: 'var(--malachite-font-size-small, 13px)',\n fontWeight: 400,\n color: item.danger\n ? 'var(--malachite-text-destructive, rgb(237, 53, 54))'\n : 'var(--malachite-text-primary, rgb(10, 10, 10))',\n cursor: item.disabled ? 'not-allowed' : 'pointer',\n opacity: item.disabled ? 0.5 : 1,\n userSelect: 'none',\n background: 'transparent',\n border: 'none',\n textAlign: 'left',\n width: '100%',\n };\n};\n\n/**\n * ActionMenu is a kebab-style overflow action menu. The trigger is a square\n * icon-only outline Button (three-dot icon by default); on click, a popover\n * appears with the given items. The popover is rendered to document.body via\n * createPortal so it escapes any Shadow DOM or overflow:hidden ancestors —\n * which is also why the popover is styled inline rather than with Tailwind:\n * the scoped stylesheet does not reach document.body.\n */\nconst ActionMenu: React.FC<ActionMenuProps> = ({\n items,\n label = 'More actions',\n triggerIcon,\n minWidth = 180,\n size = 'small',\n showLabel = false,\n variant = 'outline',\n}) => {\n const trigger = TRIGGER_SIZES[size];\n const [open, setOpen] = useState(false);\n const [position, setPosition] = useState<{ top: number; left: number } | null>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n\n useTopLayer(popoverRef, open);\n\n const updatePosition = useCallback(() => {\n const trigger = triggerRef.current;\n if (!trigger) {\n return;\n }\n const rect = trigger.getBoundingClientRect();\n const popoverWidth = popoverRef.current?.offsetWidth || minWidth;\n const popoverHeight = popoverRef.current?.offsetHeight || 0;\n const viewportPadding = 8;\n\n const desiredLeft = rect.right - popoverWidth;\n const maxLeft = window.innerWidth - popoverWidth - viewportPadding;\n const left = Math.max(viewportPadding, Math.min(desiredLeft, maxLeft));\n\n const spaceBelow = window.innerHeight - rect.bottom;\n const top =\n popoverHeight > 0 && spaceBelow < popoverHeight + viewportPadding\n ? rect.top - popoverHeight - 4\n : rect.bottom + 4;\n\n setPosition({ top, left });\n }, [minWidth]);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n updatePosition();\n const handleScrollOrResize = () => updatePosition();\n const handleClickOutside = (e: MouseEvent) => {\n const target = e.target as Node;\n if (!triggerRef.current?.contains(target) && !popoverRef.current?.contains(target)) {\n setOpen(false);\n }\n };\n // ESC via the shared layer stack: closes only the topmost overlay.\n const popEscapeLayer = pushEscapeLayer(() => setOpen(false));\n window.addEventListener('scroll', handleScrollOrResize, true);\n window.addEventListener('resize', handleScrollOrResize);\n document.addEventListener('mousedown', handleClickOutside, true);\n return () => {\n window.removeEventListener('scroll', handleScrollOrResize, true);\n window.removeEventListener('resize', handleScrollOrResize);\n document.removeEventListener('mousedown', handleClickOutside, true);\n popEscapeLayer();\n };\n }, [open, updatePosition]);\n\n // Re-measure once the popover is in the DOM so the right-edge alignment\n // and viewport clamping use the real width — not the minWidth fallback.\n useLayoutEffect(() => {\n if (open && popoverRef.current) {\n updatePosition();\n }\n }, [open, updatePosition]);\n\n const handleItemClick = (item: ActionMenuItem) => {\n if (item.type === 'divider' || item.disabled) {\n return;\n }\n item.onClick?.();\n setOpen(false);\n };\n\n useInsertionEffect(() => {\n if (open) {\n ensureOverlayStyles();\n }\n }, [open]);\n\n const popoverStyle: React.CSSProperties = {\n position: 'fixed',\n top: position?.top ?? 0,\n left: position?.left ?? 0,\n minWidth,\n background: 'var(--malachite-card-background, rgb(255, 255, 255))',\n border: '1px solid var(--malachite-card-border, rgb(232, 232, 232))',\n borderRadius: 12,\n boxShadow: '0px 4px 12px rgba(0, 0, 0, 0.08)',\n padding: 4,\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n visibility: position ? 'visible' : 'hidden',\n opacity: position ? 1 : 0,\n };\n\n return (\n <>\n <Button\n ref={triggerRef}\n type=\"button\"\n variant={variant}\n size={size}\n iconOnly={!showLabel}\n // With the label drawn, it is already the accessible name; repeating it here\n // would have a screen reader announce it twice.\n aria-label={showLabel ? undefined : label}\n aria-haspopup=\"menu\"\n aria-expanded={open}\n // The engaged border while open is each variant's own, keyed off aria-expanded\n // in the stylesheet — pinning the outline token here stripped it from every\n // other variant.\n //\n // Button only spaces the icon it owns via its `icon` prop; this one is a child,\n // so the gap is set here rather than left to collapse against the label. `gap-2`\n // because the stylesheet is precompiled: a utility no source file already uses\n // is never emitted, and the class then does nothing with nothing to show for it.\n className={`shrink-0${showLabel ? ' gap-2' : ''}`}\n onClick={(e) => {\n e.stopPropagation();\n setOpen((v) => !v);\n }}\n onMouseDown={(e) => e.stopPropagation()}\n >\n {/* `!important` because every CustomIcon writes its size inline; `text-[…]` for a\n glyph that is not an svg at all, which the svg rule never matches. */}\n <span className={`inline-flex items-center justify-center ${trigger.iconBox}`}>\n {triggerIcon ?? <MoreHorizontalIcon size={trigger.icon} />}\n </span>\n {showLabel && <span>{label}</span>}\n </Button>\n {open &&\n createPortal(\n <div\n ref={popoverRef}\n role=\"menu\"\n {...overlayIdentity('actionmenu')}\n style={popoverStyle}\n onMouseDown={(e) => e.stopPropagation()}\n onClick={(e) => e.stopPropagation()}\n >\n {items.length === 0 && (\n // role=\"menu\" takes menuitem children only, so the notice is one.\n <div role=\"menuitem\" aria-disabled=\"true\" style={EMPTY_ITEM_STYLE}>\n No actions available\n </div>\n )}\n {items.map((item) =>\n item.type === 'divider' ? (\n <div key={item.key} style={itemStyle(item)} />\n ) : (\n <button\n key={item.key}\n type=\"button\"\n role=\"menuitem\"\n disabled={item.disabled}\n title={item.tooltip}\n onClick={() => handleItemClick(item)}\n onMouseEnter={(e) => {\n if (!item.disabled) {\n (\n e.currentTarget as HTMLButtonElement\n ).style.background = 'rgba(0, 0, 0, 0.04)';\n }\n }}\n onMouseLeave={(e) => {\n (e.currentTarget as HTMLButtonElement).style.background =\n 'transparent';\n }}\n style={itemStyle(item)}\n >\n {/* Leading: every caller's icon names the action itself —\n copy, open, delete — and an icon that is part of an\n item's identity belongs where the eye starts, not\n right-aligned where it reads as a status column. */}\n {item.icon && (\n <span\n style={{\n display: 'inline-flex',\n flexShrink: 0,\n color: 'var(--malachite-icon-secondary, rgb(148, 148, 148))',\n }}\n >\n {item.icon}\n </span>\n )}\n {item.label}\n </button>\n ),\n )}\n </div>,\n document.body,\n )}\n </>\n );\n};\n\nexport default ActionMenu;\n"],"names":["EMPTY_ITEM_STYLE","TRIGGER_SIZES","itemStyle","item","ActionMenu","items","label","triggerIcon","minWidth","size","showLabel","variant","trigger","open","setOpen","useState","position","setPosition","triggerRef","useRef","popoverRef","useTopLayer","updatePosition","useCallback","rect","popoverWidth","_a","popoverHeight","_b","viewportPadding","desiredLeft","maxLeft","left","spaceBelow","top","useEffect","handleScrollOrResize","handleClickOutside","e","target","popEscapeLayer","pushEscapeLayer","useLayoutEffect","handleItemClick","useInsertionEffect","ensureOverlayStyles","popoverStyle","jsxs","Fragment","Button","v","jsx","MoreHorizontalIcon","createPortal","overlayIdentity"],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ import { jsxs as o, jsx as e, Fragment as N } from "react/jsx-runtime";
2
+ import { useState as y } from "react";
3
+ import { Button as I } from "./Button.js";
4
+ import j from "./CustomIcons/CaretDownIcon.js";
5
+ import k from "./CustomIcons/CaretUpIcon.js";
6
+ import B from "./CustomIcons/CheckCircleFilled.js";
7
+ import E from "./CustomIcons/ErrorCircleFilled.js";
8
+ import F from "./CustomIcons/InfoCircleFilled.js";
9
+ import S from "./CustomIcons/SparkleIcon.js";
10
+ import _ from "./CustomIcons/WarningCircleFilled.js";
11
+ import A from "./Typography/MarkdownBlock.js";
12
+ import { getTextColor as W } from "./Typography/textStyles.js";
13
+ const p = (r) => {
14
+ switch (r) {
15
+ case "info":
16
+ return "primary";
17
+ case "success":
18
+ return "success";
19
+ case "error":
20
+ return "error";
21
+ case "warning":
22
+ return "warning";
23
+ // The violet is on `.alert-assistant` itself; inheriting it keeps one definition
24
+ // rather than a TextColor token that only this alert would ever name.
25
+ case "assistant":
26
+ return "inherit";
27
+ default:
28
+ return "primary";
29
+ }
30
+ }, a = {
31
+ width: "13px",
32
+ height: "13px",
33
+ flexShrink: 0
34
+ }, f = {
35
+ info: /* @__PURE__ */ e(
36
+ F,
37
+ {
38
+ style: { ...a, color: "var(--malachite-alert-info-foreground)" }
39
+ }
40
+ ),
41
+ success: /* @__PURE__ */ e(
42
+ B,
43
+ {
44
+ style: { ...a, color: "var(--malachite-alert-success-foreground)" }
45
+ }
46
+ ),
47
+ error: /* @__PURE__ */ e(
48
+ E,
49
+ {
50
+ style: { ...a, color: "var(--malachite-alert-error-foreground)" }
51
+ }
52
+ ),
53
+ warning: /* @__PURE__ */ e(
54
+ _,
55
+ {
56
+ style: { ...a, color: "var(--malachite-alert-warning-foreground)" }
57
+ }
58
+ ),
59
+ // The same sparkle the control that produced the message carries, so the two read as
60
+ // one thread rather than two unrelated affordances.
61
+ assistant: /* @__PURE__ */ e(
62
+ S,
63
+ {
64
+ style: { ...a, color: "var(--malachite-alert-assistant-foreground)" }
65
+ }
66
+ )
67
+ }, x = ({ text: r, type: i }) => /* @__PURE__ */ e(A, { text: r, color: p(i), size: "small", omitMargin: !0 }), G = ({
68
+ type: r = "info",
69
+ message: i,
70
+ hasMargin: h = !0,
71
+ className: u,
72
+ children: c,
73
+ isExpanded: n,
74
+ onToggle: s
75
+ }) => {
76
+ const l = !!c, [v, g] = y(!1), t = n !== void 0 ? n : v, w = () => {
77
+ const m = !t;
78
+ n === void 0 && g(m), s == null || s(m);
79
+ }, d = [
80
+ "alert-base",
81
+ `alert-${r}`,
82
+ "flex",
83
+ "w-full",
84
+ // Ensure full width
85
+ l && t ? "flex-col" : "gap-2 items-center min-h-[2rem]",
86
+ h ? "" : "alert-no-margin",
87
+ "text-left",
88
+ l ? "rounded-xl !p-0" : "!px-2.5 !py-1.5",
89
+ // Slightly more vertical padding for centering
90
+ u
91
+ ].filter(Boolean).join(" "), C = [
92
+ "flex items-center justify-between w-full",
93
+ l ? "gap-2 px-2.5 py-1" : "gap-2",
94
+ l && t ? "rounded-t-xl" : l ? "rounded-xl" : ""
95
+ ].filter(Boolean).join(" "), b = ["w-full", "overflow-hidden"].filter(Boolean).join(" ");
96
+ return l ? /* @__PURE__ */ o("div", { className: `${d} alert-expandable`, children: [
97
+ /* @__PURE__ */ o("div", { className: C, children: [
98
+ /* @__PURE__ */ o("div", { className: "flex-1 flex gap-2 items-center", children: [
99
+ f[r],
100
+ /* @__PURE__ */ e("div", { className: "flex-1 flex items-center", children: /* @__PURE__ */ e("div", { className: "[&>div]:mb-0", children: /* @__PURE__ */ e(x, { text: i, type: r }) }) })
101
+ ] }),
102
+ /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ e(
103
+ I,
104
+ {
105
+ variant: "no-style",
106
+ size: "xsmall",
107
+ onClick: w,
108
+ "aria-label": t ? "Collapse" : "Expand",
109
+ style: {
110
+ color: W(p(r))
111
+ },
112
+ children: t ? /* @__PURE__ */ e(
113
+ k,
114
+ {
115
+ style: { minWidth: "13px", minHeight: "13px" }
116
+ }
117
+ ) : /* @__PURE__ */ e(
118
+ j,
119
+ {
120
+ style: { minWidth: "13px", minHeight: "13px" }
121
+ }
122
+ )
123
+ }
124
+ ) })
125
+ ] }),
126
+ t && /* @__PURE__ */ e(N, { children: /* @__PURE__ */ e("div", { className: b, children: /* @__PURE__ */ e("div", { className: "bg-white rounded-[var(--malachite-radius-10,10px)] shadow-[0px_1px_0px_0px_rgba(0,0,0,0.15)] border border-[#e8e8e8] border-solid mx-2 mb-2 max-h-[553px] overflow-y-auto", children: c }) }) })
127
+ ] }) : /* @__PURE__ */ o("div", { className: d, children: [
128
+ f[r],
129
+ /* @__PURE__ */ e("div", { className: "flex-1 flex items-center", children: /* @__PURE__ */ e("div", { className: "[&>div]:mb-0", children: /* @__PURE__ */ e(x, { text: i, type: r }) }) })
130
+ ] });
131
+ };
132
+ export {
133
+ G as Alert,
134
+ G as default
135
+ };
136
+ //# sourceMappingURL=Alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.js","sources":["../../src/components/Alert.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Button, ButtonVariant } from './Button';\nimport CaretDownIcon from './CustomIcons/CaretDownIcon';\nimport CaretUpIcon from './CustomIcons/CaretUpIcon';\nimport CheckCircleFilled from './CustomIcons/CheckCircleFilled';\nimport ErrorCircleFilled from './CustomIcons/ErrorCircleFilled';\nimport InfoCircleFilled from './CustomIcons/InfoCircleFilled';\nimport SparkleIcon from './CustomIcons/SparkleIcon';\nimport WarningCircleFilled from './CustomIcons/WarningCircleFilled';\nimport MarkdownBlock from './Typography/MarkdownBlock';\nimport type { TextColor } from './Typography/Text';\nimport { getTextColor } from './Typography/textStyles';\n\nexport type AlertType = 'info' | 'success' | 'error' | 'warning' | 'assistant';\n\ninterface AlertButtonConfig {\n label: string;\n onClick: () => void;\n variant?: ButtonVariant;\n icon?: React.ReactNode;\n}\n\ninterface AlertProps {\n type?: AlertType;\n message: string;\n hasMargin?: boolean;\n className?: string;\n children?: React.ReactNode;\n isExpanded?: boolean;\n onToggle?: (expanded: boolean) => void;\n}\n\n// Distinct from the imported `getTextColor`, which maps a TextColor to a CSS variable.\n// This maps an AlertType to a TextColor token; both are used in this file.\nconst getAlertTextColor = (alertType: AlertType): TextColor => {\n switch (alertType) {\n case 'info':\n return 'primary';\n case 'success':\n return 'success';\n case 'error':\n return 'error';\n case 'warning':\n return 'warning';\n // The violet is on `.alert-assistant` itself; inheriting it keeps one definition\n // rather than a TextColor token that only this alert would ever name.\n case 'assistant':\n return 'inherit';\n default:\n return 'primary';\n }\n};\n\nconst ICON_STYLE = {\n width: '13px',\n height: '13px',\n flexShrink: 0,\n};\n\nconst AlertIcon = {\n info: (\n <InfoCircleFilled\n style={{ ...ICON_STYLE, color: 'var(--malachite-alert-info-foreground)' }}\n />\n ),\n success: (\n <CheckCircleFilled\n style={{ ...ICON_STYLE, color: 'var(--malachite-alert-success-foreground)' }}\n />\n ),\n error: (\n <ErrorCircleFilled\n style={{ ...ICON_STYLE, color: 'var(--malachite-alert-error-foreground)' }}\n />\n ),\n warning: (\n <WarningCircleFilled\n style={{ ...ICON_STYLE, color: 'var(--malachite-alert-warning-foreground)' }}\n />\n ),\n // The same sparkle the control that produced the message carries, so the two read as\n // one thread rather than two unrelated affordances.\n assistant: (\n <SparkleIcon\n style={{ ...ICON_STYLE, color: 'var(--malachite-alert-assistant-foreground)' }}\n />\n ),\n};\n\nconst SimpleTextRenderer: React.FC<{ text: string; type: AlertType }> = ({ text, type }) => {\n return <MarkdownBlock text={text} color={getAlertTextColor(type)} size=\"small\" omitMargin />;\n};\n\nconst Alert: React.FC<AlertProps> = ({\n type = 'info',\n message,\n hasMargin = true,\n className,\n children,\n isExpanded,\n onToggle,\n}) => {\n const isExpandable = !!children;\n const [internalExpanded, setInternalExpanded] = useState(false);\n\n // Use controlled state if isExpanded is provided, otherwise use internal state\n const expanded = isExpanded !== undefined ? isExpanded : internalExpanded;\n\n const handleToggle = () => {\n const newExpanded = !expanded;\n if (isExpanded === undefined) {\n // Uncontrolled mode\n setInternalExpanded(newExpanded);\n }\n // Call onToggle if provided (for both controlled and uncontrolled)\n onToggle?.(newExpanded);\n };\n\n const alertClasses = [\n 'alert-base',\n `alert-${type}`,\n 'flex',\n 'w-full', // Ensure full width\n isExpandable && expanded ? 'flex-col' : 'gap-2 items-center min-h-[2rem]',\n !hasMargin ? 'alert-no-margin' : '',\n 'text-left',\n isExpandable ? 'rounded-xl !p-0' : '!px-2.5 !py-1.5', // Slightly more vertical padding for centering\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const headerClasses = [\n 'flex items-center justify-between w-full',\n isExpandable ? 'gap-2 px-2.5 py-1' : 'gap-2',\n isExpandable && expanded ? 'rounded-t-xl' : isExpandable ? 'rounded-xl' : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n const expandableContentClasses = ['w-full', 'overflow-hidden'].filter(Boolean).join(' ');\n\n // Non-expandable alert (original behavior)\n if (!isExpandable) {\n return (\n <div className={alertClasses}>\n {AlertIcon[type]}\n <div className=\"flex-1 flex items-center\">\n <div className=\"[&>div]:mb-0\">\n <SimpleTextRenderer text={message} type={type} />\n </div>\n </div>\n </div>\n );\n }\n\n // Expandable alert\n return (\n <div className={`${alertClasses} alert-expandable`}>\n {/* Header section with title and expand/collapse button */}\n <div className={headerClasses}>\n <div className=\"flex-1 flex gap-2 items-center\">\n {AlertIcon[type]}\n <div className=\"flex-1 flex items-center\">\n <div className=\"[&>div]:mb-0\">\n <SimpleTextRenderer text={message} type={type} />\n </div>\n </div>\n </div>\n\n {/* Right side buttons container */}\n <div className=\"flex items-center gap-2\">\n {/* Expand/collapse button */}\n <Button\n variant=\"no-style\"\n size=\"xsmall\"\n onClick={handleToggle}\n aria-label={expanded ? 'Collapse' : 'Expand'}\n style={{\n color: getTextColor(getAlertTextColor(type)),\n }}\n >\n {expanded ? (\n <CaretUpIcon\n style={{ minWidth: '13px', minHeight: '13px' }}\n />\n ) : (\n <CaretDownIcon\n style={{ minWidth: '13px', minHeight: '13px' }}\n />\n )}\n </Button>\n </div>\n </div>\n\n {/* Expandable content */}\n {expanded && (\n <>\n <div className={expandableContentClasses}>\n <div className=\"bg-white rounded-[var(--malachite-radius-10,10px)] shadow-[0px_1px_0px_0px_rgba(0,0,0,0.15)] border border-[#e8e8e8] border-solid mx-2 mb-2 max-h-[553px] overflow-y-auto\">\n {children}\n </div>\n </div>\n </>\n )}\n </div>\n );\n};\n\nexport default Alert;\nexport { Alert };\nexport type { AlertButtonConfig };\n"],"names":["getAlertTextColor","alertType","ICON_STYLE","AlertIcon","jsx","InfoCircleFilled","CheckCircleFilled","ErrorCircleFilled","WarningCircleFilled","SparkleIcon","SimpleTextRenderer","text","type","MarkdownBlock","Alert","message","hasMargin","className","children","isExpanded","onToggle","isExpandable","internalExpanded","setInternalExpanded","useState","expanded","handleToggle","newExpanded","alertClasses","headerClasses","expandableContentClasses","jsxs","Button","getTextColor","CaretUpIcon","CaretDownIcon","Fragment"],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
+ import { Avatar as p } from "./Avatar.js";
3
+ import { Tag as g } from "./Tag.js";
4
+ import { Typography as m } from "./Typography/index.js";
5
+ import { getFontWeight as d, getFontSize as u } from "./Typography/textStyles.js";
6
+ const j = ({
7
+ src: i,
8
+ name: e,
9
+ showName: f = !0,
10
+ size: r = 24,
11
+ nameSize: o = "medium",
12
+ nameWeight: a = "normal",
13
+ version: n,
14
+ truncate: c = !1,
15
+ className: s = ""
16
+ }) => {
17
+ const h = r <= 18 ? "gap-2" : "gap-3";
18
+ return f ? (
19
+ // `max-w-full` is what makes `truncate` work — without it the box is floored at the name's min-content width.
20
+ /* @__PURE__ */ l("span", { className: `inline-flex items-center ${h} max-w-full ${s}`.trim(), children: [
21
+ /* @__PURE__ */ t(p, { src: i, name: e, size: r, shape: "square", className: "shrink-0" }),
22
+ /* @__PURE__ */ l("span", { className: "inline-flex items-center gap-2 min-w-0", children: [
23
+ c ? /* @__PURE__ */ t(
24
+ m.EllipsisText,
25
+ {
26
+ maxWidth: "100%",
27
+ tooltip: e,
28
+ style: {
29
+ fontSize: u(o),
30
+ fontWeight: d(a)
31
+ },
32
+ children: e
33
+ }
34
+ ) : /* @__PURE__ */ t(m.Text, { size: o, fontWeight: a, children: e }),
35
+ n ? /* @__PURE__ */ t("span", { className: "shrink-0", children: /* @__PURE__ */ t(g, { value: n, textTransform: "none", paddingSize: "compact" }) }) : null
36
+ ] })
37
+ ] })
38
+ ) : /* @__PURE__ */ t(p, { src: i, name: e, size: r, shape: "square", className: s });
39
+ };
40
+ export {
41
+ j as default
42
+ };
43
+ //# sourceMappingURL=AppLogo.js.map