@stackone/malachite 2.20.1 → 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 (779) hide show
  1. package/COMPONENTS.md +1 -0
  2. package/dist/ShadowRootWrapper.js +83 -0
  3. package/dist/ShadowRootWrapper.js.map +1 -0
  4. package/dist/assets/icons/account.svg.js +6 -0
  5. package/dist/assets/icons/account.svg.js.map +1 -0
  6. package/dist/assets/icons/accounts.svg.js +6 -0
  7. package/dist/assets/icons/accounts.svg.js.map +1 -0
  8. package/dist/assets/icons/add.svg.js +6 -0
  9. package/dist/assets/icons/add.svg.js.map +1 -0
  10. package/dist/assets/icons/advanced_logs.svg.js +6 -0
  11. package/dist/assets/icons/advanced_logs.svg.js.map +1 -0
  12. package/dist/assets/icons/api_keys.svg.js +6 -0
  13. package/dist/assets/icons/api_keys.svg.js.map +1 -0
  14. package/dist/assets/icons/archive.svg.js +6 -0
  15. package/dist/assets/icons/archive.svg.js.map +1 -0
  16. package/dist/assets/icons/arrow_left.svg.js +6 -0
  17. package/dist/assets/icons/arrow_left.svg.js.map +1 -0
  18. package/dist/assets/icons/arrow_up.svg.js +6 -0
  19. package/dist/assets/icons/arrow_up.svg.js.map +1 -0
  20. package/dist/assets/icons/arrow_up_right.svg.js +6 -0
  21. package/dist/assets/icons/arrow_up_right.svg.js.map +1 -0
  22. package/dist/assets/icons/authentication.svg.js +6 -0
  23. package/dist/assets/icons/authentication.svg.js.map +1 -0
  24. package/dist/assets/icons/bell.svg.js +6 -0
  25. package/dist/assets/icons/bell.svg.js.map +1 -0
  26. package/dist/assets/icons/bell_slash.svg.js +6 -0
  27. package/dist/assets/icons/bell_slash.svg.js.map +1 -0
  28. package/dist/assets/icons/bi_directional_arrows.svg.js +6 -0
  29. package/dist/assets/icons/bi_directional_arrows.svg.js.map +1 -0
  30. package/dist/assets/icons/card.svg.js +6 -0
  31. package/dist/assets/icons/card.svg.js.map +1 -0
  32. package/dist/assets/icons/caret_down.svg.js +6 -0
  33. package/dist/assets/icons/caret_down.svg.js.map +1 -0
  34. package/dist/assets/icons/caret_left.svg.js +6 -0
  35. package/dist/assets/icons/caret_left.svg.js.map +1 -0
  36. package/dist/assets/icons/caret_right.svg.js +6 -0
  37. package/dist/assets/icons/caret_right.svg.js.map +1 -0
  38. package/dist/assets/icons/caret_up.svg.js +6 -0
  39. package/dist/assets/icons/caret_up.svg.js.map +1 -0
  40. package/dist/assets/icons/change_password.svg.js +6 -0
  41. package/dist/assets/icons/change_password.svg.js.map +1 -0
  42. package/dist/assets/icons/check.svg.js +6 -0
  43. package/dist/assets/icons/check.svg.js.map +1 -0
  44. package/dist/assets/icons/check_circle_filled.svg.js +6 -0
  45. package/dist/assets/icons/check_circle_filled.svg.js.map +1 -0
  46. package/dist/assets/icons/checkmark.svg.js +6 -0
  47. package/dist/assets/icons/checkmark.svg.js.map +1 -0
  48. package/dist/assets/icons/clear.svg.js +6 -0
  49. package/dist/assets/icons/clear.svg.js.map +1 -0
  50. package/dist/assets/icons/close.svg.js +6 -0
  51. package/dist/assets/icons/close.svg.js.map +1 -0
  52. package/dist/assets/icons/code.svg.js +6 -0
  53. package/dist/assets/icons/code.svg.js.map +1 -0
  54. package/dist/assets/icons/command_key.svg.js +6 -0
  55. package/dist/assets/icons/command_key.svg.js.map +1 -0
  56. package/dist/assets/icons/copy.svg.js +6 -0
  57. package/dist/assets/icons/copy.svg.js.map +1 -0
  58. package/dist/assets/icons/csv.svg.js +6 -0
  59. package/dist/assets/icons/csv.svg.js.map +1 -0
  60. package/dist/assets/icons/custom_field.svg.js +6 -0
  61. package/dist/assets/icons/custom_field.svg.js.map +1 -0
  62. package/dist/assets/icons/dashboard.svg.js +6 -0
  63. package/dist/assets/icons/dashboard.svg.js.map +1 -0
  64. package/dist/assets/icons/date.svg.js +6 -0
  65. package/dist/assets/icons/date.svg.js.map +1 -0
  66. package/dist/assets/icons/disable.svg.js +6 -0
  67. package/dist/assets/icons/disable.svg.js.map +1 -0
  68. package/dist/assets/icons/disabled.svg.js +6 -0
  69. package/dist/assets/icons/disabled.svg.js.map +1 -0
  70. package/dist/assets/icons/dismiss.svg.js +6 -0
  71. package/dist/assets/icons/dismiss.svg.js.map +1 -0
  72. package/dist/assets/icons/doc.svg.js +6 -0
  73. package/dist/assets/icons/doc.svg.js.map +1 -0
  74. package/dist/assets/icons/double_check.svg.js +6 -0
  75. package/dist/assets/icons/double_check.svg.js.map +1 -0
  76. package/dist/assets/icons/download.svg.js +6 -0
  77. package/dist/assets/icons/download.svg.js.map +1 -0
  78. package/dist/assets/icons/edit.svg.js +6 -0
  79. package/dist/assets/icons/edit.svg.js.map +1 -0
  80. package/dist/assets/icons/enable.svg.js +6 -0
  81. package/dist/assets/icons/enable.svg.js.map +1 -0
  82. package/dist/assets/icons/enum.svg.js +6 -0
  83. package/dist/assets/icons/enum.svg.js.map +1 -0
  84. package/dist/assets/icons/error_circle_filled.svg.js +6 -0
  85. package/dist/assets/icons/error_circle_filled.svg.js.map +1 -0
  86. package/dist/assets/icons/expand.svg.js +6 -0
  87. package/dist/assets/icons/expand.svg.js.map +1 -0
  88. package/dist/assets/icons/eye-closed.svg.js +6 -0
  89. package/dist/assets/icons/eye-closed.svg.js.map +1 -0
  90. package/dist/assets/icons/eye.svg.js +6 -0
  91. package/dist/assets/icons/eye.svg.js.map +1 -0
  92. package/dist/assets/icons/field_mapping.svg.js +6 -0
  93. package/dist/assets/icons/field_mapping.svg.js.map +1 -0
  94. package/dist/assets/icons/filled_caret_down.svg.js +6 -0
  95. package/dist/assets/icons/filled_caret_down.svg.js.map +1 -0
  96. package/dist/assets/icons/filled_caret_right.svg.js +6 -0
  97. package/dist/assets/icons/filled_caret_right.svg.js.map +1 -0
  98. package/dist/assets/icons/filter.svg.js +6 -0
  99. package/dist/assets/icons/filter.svg.js.map +1 -0
  100. package/dist/assets/icons/forbidden.svg.js +6 -0
  101. package/dist/assets/icons/forbidden.svg.js.map +1 -0
  102. package/dist/assets/icons/forward_arrow.svg.js +6 -0
  103. package/dist/assets/icons/forward_arrow.svg.js.map +1 -0
  104. package/dist/assets/icons/globe.svg.js +6 -0
  105. package/dist/assets/icons/globe.svg.js.map +1 -0
  106. package/dist/assets/icons/inbox.svg.js +6 -0
  107. package/dist/assets/icons/inbox.svg.js.map +1 -0
  108. package/dist/assets/icons/info.svg.js +6 -0
  109. package/dist/assets/icons/info.svg.js.map +1 -0
  110. package/dist/assets/icons/info_circle_filled.svg.js +6 -0
  111. package/dist/assets/icons/info_circle_filled.svg.js.map +1 -0
  112. package/dist/assets/icons/info_filled.svg.js +6 -0
  113. package/dist/assets/icons/info_filled.svg.js.map +1 -0
  114. package/dist/assets/icons/integrations.svg.js +6 -0
  115. package/dist/assets/icons/integrations.svg.js.map +1 -0
  116. package/dist/assets/icons/key.svg.js +6 -0
  117. package/dist/assets/icons/key.svg.js.map +1 -0
  118. package/dist/assets/icons/library.svg.js +6 -0
  119. package/dist/assets/icons/library.svg.js.map +1 -0
  120. package/dist/assets/icons/logs.svg.js +6 -0
  121. package/dist/assets/icons/logs.svg.js.map +1 -0
  122. package/dist/assets/icons/magic_wand.svg.js +6 -0
  123. package/dist/assets/icons/magic_wand.svg.js.map +1 -0
  124. package/dist/assets/icons/manage_team.svg.js +6 -0
  125. package/dist/assets/icons/manage_team.svg.js.map +1 -0
  126. package/dist/assets/icons/manual_native_webhook.svg.js +6 -0
  127. package/dist/assets/icons/manual_native_webhook.svg.js.map +1 -0
  128. package/dist/assets/icons/mark_read.svg.js +6 -0
  129. package/dist/assets/icons/mark_read.svg.js.map +1 -0
  130. package/dist/assets/icons/mark_unread.svg.js +6 -0
  131. package/dist/assets/icons/mark_unread.svg.js.map +1 -0
  132. package/dist/assets/icons/members.svg.js +6 -0
  133. package/dist/assets/icons/members.svg.js.map +1 -0
  134. package/dist/assets/icons/modal.svg.js +6 -0
  135. package/dist/assets/icons/modal.svg.js.map +1 -0
  136. package/dist/assets/icons/more_horizontal.svg.js +6 -0
  137. package/dist/assets/icons/more_horizontal.svg.js.map +1 -0
  138. package/dist/assets/icons/more_vertical.svg.js +6 -0
  139. package/dist/assets/icons/more_vertical.svg.js.map +1 -0
  140. package/dist/assets/icons/navbar_collapse.svg.js +6 -0
  141. package/dist/assets/icons/navbar_collapse.svg.js.map +1 -0
  142. package/dist/assets/icons/navbar_expand.svg.js +6 -0
  143. package/dist/assets/icons/navbar_expand.svg.js.map +1 -0
  144. package/dist/assets/icons/not_found.svg.js +6 -0
  145. package/dist/assets/icons/not_found.svg.js.map +1 -0
  146. package/dist/assets/icons/organization.svg.js +6 -0
  147. package/dist/assets/icons/organization.svg.js.map +1 -0
  148. package/dist/assets/icons/pin.svg.js +6 -0
  149. package/dist/assets/icons/pin.svg.js.map +1 -0
  150. package/dist/assets/icons/plus.svg.js +6 -0
  151. package/dist/assets/icons/plus.svg.js.map +1 -0
  152. package/dist/assets/icons/preview.svg.js +6 -0
  153. package/dist/assets/icons/preview.svg.js.map +1 -0
  154. package/dist/assets/icons/programmatic_native_webhook.svg.js +6 -0
  155. package/dist/assets/icons/programmatic_native_webhook.svg.js.map +1 -0
  156. package/dist/assets/icons/pulse.svg.js +6 -0
  157. package/dist/assets/icons/pulse.svg.js.map +1 -0
  158. package/dist/assets/icons/refresh.svg.js +6 -0
  159. package/dist/assets/icons/refresh.svg.js.map +1 -0
  160. package/dist/assets/icons/reject.svg.js +6 -0
  161. package/dist/assets/icons/reject.svg.js.map +1 -0
  162. package/dist/assets/icons/reload.svg.js +6 -0
  163. package/dist/assets/icons/reload.svg.js.map +1 -0
  164. package/dist/assets/icons/reply.svg.js +6 -0
  165. package/dist/assets/icons/reply.svg.js.map +1 -0
  166. package/dist/assets/icons/required_field_indicator.svg.js +6 -0
  167. package/dist/assets/icons/required_field_indicator.svg.js.map +1 -0
  168. package/dist/assets/icons/search.svg.js +6 -0
  169. package/dist/assets/icons/search.svg.js.map +1 -0
  170. package/dist/assets/icons/security.svg.js +6 -0
  171. package/dist/assets/icons/security.svg.js.map +1 -0
  172. package/dist/assets/icons/send.svg.js +6 -0
  173. package/dist/assets/icons/send.svg.js.map +1 -0
  174. package/dist/assets/icons/settings.svg.js +6 -0
  175. package/dist/assets/icons/settings.svg.js.map +1 -0
  176. package/dist/assets/icons/sign_out.svg.js +6 -0
  177. package/dist/assets/icons/sign_out.svg.js.map +1 -0
  178. package/dist/assets/icons/slider.svg.js +6 -0
  179. package/dist/assets/icons/slider.svg.js.map +1 -0
  180. package/dist/assets/icons/sort.svg.js +6 -0
  181. package/dist/assets/icons/sort.svg.js.map +1 -0
  182. package/dist/assets/icons/source.svg.js +6 -0
  183. package/dist/assets/icons/source.svg.js.map +1 -0
  184. package/dist/assets/icons/sparkle.svg.js +6 -0
  185. package/dist/assets/icons/sparkle.svg.js.map +1 -0
  186. package/dist/assets/icons/star.svg.js +6 -0
  187. package/dist/assets/icons/star.svg.js.map +1 -0
  188. package/dist/assets/icons/step_current.svg.js +6 -0
  189. package/dist/assets/icons/step_current.svg.js.map +1 -0
  190. package/dist/assets/icons/step_upcoming.svg.js +6 -0
  191. package/dist/assets/icons/step_upcoming.svg.js.map +1 -0
  192. package/dist/assets/icons/synthetic_webhook.svg.js +6 -0
  193. package/dist/assets/icons/synthetic_webhook.svg.js.map +1 -0
  194. package/dist/assets/icons/thumbs_down.svg.js +6 -0
  195. package/dist/assets/icons/thumbs_down.svg.js.map +1 -0
  196. package/dist/assets/icons/thumbs_up.svg.js +6 -0
  197. package/dist/assets/icons/thumbs_up.svg.js.map +1 -0
  198. package/dist/assets/icons/trash.svg.js +6 -0
  199. package/dist/assets/icons/trash.svg.js.map +1 -0
  200. package/dist/assets/icons/triangle_down.svg.js +6 -0
  201. package/dist/assets/icons/triangle_down.svg.js.map +1 -0
  202. package/dist/assets/icons/triangle_right.svg.js +6 -0
  203. package/dist/assets/icons/triangle_right.svg.js.map +1 -0
  204. package/dist/assets/icons/unarchive.svg.js +6 -0
  205. package/dist/assets/icons/unarchive.svg.js.map +1 -0
  206. package/dist/assets/icons/upload.svg.js +6 -0
  207. package/dist/assets/icons/upload.svg.js.map +1 -0
  208. package/dist/assets/icons/warning_circle_filled.svg.js +6 -0
  209. package/dist/assets/icons/warning_circle_filled.svg.js.map +1 -0
  210. package/dist/assets/icons/warning_triangle.svg.js +6 -0
  211. package/dist/assets/icons/warning_triangle.svg.js.map +1 -0
  212. package/dist/assets/icons/webhook-events.svg.js +6 -0
  213. package/dist/assets/icons/webhook-events.svg.js.map +1 -0
  214. package/dist/assets/icons/webhook.svg.js +6 -0
  215. package/dist/assets/icons/webhook.svg.js.map +1 -0
  216. package/dist/assets/icons/webhook_signing_secret.svg.js +6 -0
  217. package/dist/assets/icons/webhook_signing_secret.svg.js.map +1 -0
  218. package/dist/assets/logo-stackone-desaturated.png.js +5 -0
  219. package/dist/assets/logo-stackone-desaturated.png.js.map +1 -0
  220. package/dist/components/Accordion.js +105 -0
  221. package/dist/components/Accordion.js.map +1 -0
  222. package/dist/components/ActionBar.js +66 -0
  223. package/dist/components/ActionBar.js.map +1 -0
  224. package/dist/components/ActionMenu.js +174 -0
  225. package/dist/components/ActionMenu.js.map +1 -0
  226. package/dist/components/Alert.js +136 -0
  227. package/dist/components/Alert.js.map +1 -0
  228. package/dist/components/AppLogo.js +43 -0
  229. package/dist/components/AppLogo.js.map +1 -0
  230. package/dist/components/Avatar.js +61 -0
  231. package/dist/components/Avatar.js.map +1 -0
  232. package/dist/components/BaseFormComponent.js +91 -0
  233. package/dist/components/BaseFormComponent.js.map +1 -0
  234. package/dist/components/Breadcrumbs.js +106 -0
  235. package/dist/components/Breadcrumbs.js.map +1 -0
  236. package/dist/components/Button.js +227 -0
  237. package/dist/components/Button.js.map +1 -0
  238. package/dist/components/ButtonList.js +40 -0
  239. package/dist/components/ButtonList.js.map +1 -0
  240. package/dist/components/Card.js +109 -0
  241. package/dist/components/Card.js.map +1 -0
  242. package/dist/components/CardStrip.js +454 -0
  243. package/dist/components/CardStrip.js.map +1 -0
  244. package/dist/components/ChangeReview/ChangeReviewItem.js +129 -0
  245. package/dist/components/ChangeReview/ChangeReviewItem.js.map +1 -0
  246. package/dist/components/ChangeReview/ChangeReviewJump.js +27 -0
  247. package/dist/components/ChangeReview/ChangeReviewJump.js.map +1 -0
  248. package/dist/components/ChangeReview/ChangeReviewRemoved.js +37 -0
  249. package/dist/components/ChangeReview/ChangeReviewRemoved.js.map +1 -0
  250. package/dist/components/ChangeReview/ChangeReviewSummary.js +56 -0
  251. package/dist/components/ChangeReview/ChangeReviewSummary.js.map +1 -0
  252. package/dist/components/ChangeReview/index.js +15 -0
  253. package/dist/components/ChangeReview/index.js.map +1 -0
  254. package/dist/components/Chat/ChatComposer.js +100 -0
  255. package/dist/components/Chat/ChatComposer.js.map +1 -0
  256. package/dist/components/Chat/ChatComposerChip.js +28 -0
  257. package/dist/components/Chat/ChatComposerChip.js.map +1 -0
  258. package/dist/components/Chat/ChatContext.js +55 -0
  259. package/dist/components/Chat/ChatContext.js.map +1 -0
  260. package/dist/components/Chat/ChatContextMeter.js +30 -0
  261. package/dist/components/Chat/ChatContextMeter.js.map +1 -0
  262. package/dist/components/Chat/ChatHeader.js +44 -0
  263. package/dist/components/Chat/ChatHeader.js.map +1 -0
  264. package/dist/components/Chat/ChatMessage.js +127 -0
  265. package/dist/components/Chat/ChatMessage.js.map +1 -0
  266. package/dist/components/Chat/ChatModelPicker.js +207 -0
  267. package/dist/components/Chat/ChatModelPicker.js.map +1 -0
  268. package/dist/components/Chat/ChatRoot.js +6 -0
  269. package/dist/components/Chat/ChatRoot.js.map +1 -0
  270. package/dist/components/Chat/ChatSuggestion.js +22 -0
  271. package/dist/components/Chat/ChatSuggestion.js.map +1 -0
  272. package/dist/components/Chat/ChatThinking.js +20 -0
  273. package/dist/components/Chat/ChatThinking.js.map +1 -0
  274. package/dist/components/Chat/ChatThread.js +68 -0
  275. package/dist/components/Chat/ChatThread.js.map +1 -0
  276. package/dist/components/Chat/ChatToolCall.js +59 -0
  277. package/dist/components/Chat/ChatToolCall.js.map +1 -0
  278. package/dist/components/Chat/index.js +29 -0
  279. package/dist/components/Chat/index.js.map +1 -0
  280. package/dist/components/Chat/stickToBottom.js +29 -0
  281. package/dist/components/Chat/stickToBottom.js.map +1 -0
  282. package/dist/components/Chat/tokenText.js +6 -0
  283. package/dist/components/Chat/tokenText.js.map +1 -0
  284. package/dist/components/Checkbox.js +79 -0
  285. package/dist/components/Checkbox.js.map +1 -0
  286. package/dist/components/ClampText.js +30 -0
  287. package/dist/components/ClampText.js.map +1 -0
  288. package/dist/components/CodeBlock.js +223 -0
  289. package/dist/components/CodeBlock.js.map +1 -0
  290. package/dist/components/CodeBlockHighlighter.js +103 -0
  291. package/dist/components/CodeBlockHighlighter.js.map +1 -0
  292. package/dist/components/CollapsibleSection.js +40 -0
  293. package/dist/components/CollapsibleSection.js.map +1 -0
  294. package/dist/components/Confetti.js +56 -0
  295. package/dist/components/Confetti.js.map +1 -0
  296. package/dist/components/ConfirmationDialog.js +234 -0
  297. package/dist/components/ConfirmationDialog.js.map +1 -0
  298. package/dist/components/ConnectionHeader.js +47 -0
  299. package/dist/components/ConnectionHeader.js.map +1 -0
  300. package/dist/components/CustomIcons/AccountIcon.js +28 -0
  301. package/dist/components/CustomIcons/AccountIcon.js.map +1 -0
  302. package/dist/components/CustomIcons/AccountsIcon.js +28 -0
  303. package/dist/components/CustomIcons/AccountsIcon.js.map +1 -0
  304. package/dist/components/CustomIcons/AddIcon.js +28 -0
  305. package/dist/components/CustomIcons/AddIcon.js.map +1 -0
  306. package/dist/components/CustomIcons/AdvancedLogsIcon.js +21 -0
  307. package/dist/components/CustomIcons/AdvancedLogsIcon.js.map +1 -0
  308. package/dist/components/CustomIcons/ApiKeysIcon.js +16 -0
  309. package/dist/components/CustomIcons/ApiKeysIcon.js.map +1 -0
  310. package/dist/components/CustomIcons/ArchiveIcon.js +16 -0
  311. package/dist/components/CustomIcons/ArchiveIcon.js.map +1 -0
  312. package/dist/components/CustomIcons/ArrowLeftIcon.js +16 -0
  313. package/dist/components/CustomIcons/ArrowLeftIcon.js.map +1 -0
  314. package/dist/components/CustomIcons/ArrowUpIcon.js +28 -0
  315. package/dist/components/CustomIcons/ArrowUpIcon.js.map +1 -0
  316. package/dist/components/CustomIcons/ArrowUpRightIcon.js +20 -0
  317. package/dist/components/CustomIcons/ArrowUpRightIcon.js.map +1 -0
  318. package/dist/components/CustomIcons/AuthenticationIcon.js +28 -0
  319. package/dist/components/CustomIcons/AuthenticationIcon.js.map +1 -0
  320. package/dist/components/CustomIcons/BellIcon.js +16 -0
  321. package/dist/components/CustomIcons/BellIcon.js.map +1 -0
  322. package/dist/components/CustomIcons/BellSlashIcon.js +16 -0
  323. package/dist/components/CustomIcons/BellSlashIcon.js.map +1 -0
  324. package/dist/components/CustomIcons/BiDirectionalArrowsIcon.js +21 -0
  325. package/dist/components/CustomIcons/BiDirectionalArrowsIcon.js.map +1 -0
  326. package/dist/components/CustomIcons/CardIcon.js +16 -0
  327. package/dist/components/CustomIcons/CardIcon.js.map +1 -0
  328. package/dist/components/CustomIcons/CaretDownIcon.js +16 -0
  329. package/dist/components/CustomIcons/CaretDownIcon.js.map +1 -0
  330. package/dist/components/CustomIcons/CaretLeftIcon.js +16 -0
  331. package/dist/components/CustomIcons/CaretLeftIcon.js.map +1 -0
  332. package/dist/components/CustomIcons/CaretRightIcon.js +21 -0
  333. package/dist/components/CustomIcons/CaretRightIcon.js.map +1 -0
  334. package/dist/components/CustomIcons/CaretUpIcon.js +16 -0
  335. package/dist/components/CustomIcons/CaretUpIcon.js.map +1 -0
  336. package/dist/components/CustomIcons/ChangePasswordIcon.js +21 -0
  337. package/dist/components/CustomIcons/ChangePasswordIcon.js.map +1 -0
  338. package/dist/components/CustomIcons/CheckCircleFilled.js +21 -0
  339. package/dist/components/CustomIcons/CheckCircleFilled.js.map +1 -0
  340. package/dist/components/CustomIcons/CheckIcon.js +28 -0
  341. package/dist/components/CustomIcons/CheckIcon.js.map +1 -0
  342. package/dist/components/CustomIcons/CheckmarkIcon.js +16 -0
  343. package/dist/components/CustomIcons/CheckmarkIcon.js.map +1 -0
  344. package/dist/components/CustomIcons/ClearIcon.js +28 -0
  345. package/dist/components/CustomIcons/ClearIcon.js.map +1 -0
  346. package/dist/components/CustomIcons/CloseIcon.js +28 -0
  347. package/dist/components/CustomIcons/CloseIcon.js.map +1 -0
  348. package/dist/components/CustomIcons/CodeIcon.js +16 -0
  349. package/dist/components/CustomIcons/CodeIcon.js.map +1 -0
  350. package/dist/components/CustomIcons/CommandKeyIcon.js +21 -0
  351. package/dist/components/CustomIcons/CommandKeyIcon.js.map +1 -0
  352. package/dist/components/CustomIcons/CopyIcon.js +28 -0
  353. package/dist/components/CustomIcons/CopyIcon.js.map +1 -0
  354. package/dist/components/CustomIcons/CsvIcon.js +28 -0
  355. package/dist/components/CustomIcons/CsvIcon.js.map +1 -0
  356. package/dist/components/CustomIcons/CustomFieldIcon.js +21 -0
  357. package/dist/components/CustomIcons/CustomFieldIcon.js.map +1 -0
  358. package/dist/components/CustomIcons/DashboardIcon.js +28 -0
  359. package/dist/components/CustomIcons/DashboardIcon.js.map +1 -0
  360. package/dist/components/CustomIcons/DateIcon.js +28 -0
  361. package/dist/components/CustomIcons/DateIcon.js.map +1 -0
  362. package/dist/components/CustomIcons/DisableIcon.js +28 -0
  363. package/dist/components/CustomIcons/DisableIcon.js.map +1 -0
  364. package/dist/components/CustomIcons/DisabledIcon.js +28 -0
  365. package/dist/components/CustomIcons/DisabledIcon.js.map +1 -0
  366. package/dist/components/CustomIcons/DismissIcon.js +15 -0
  367. package/dist/components/CustomIcons/DismissIcon.js.map +1 -0
  368. package/dist/components/CustomIcons/DocIcon.js +28 -0
  369. package/dist/components/CustomIcons/DocIcon.js.map +1 -0
  370. package/dist/components/CustomIcons/DoubleCheckIcon.js +21 -0
  371. package/dist/components/CustomIcons/DoubleCheckIcon.js.map +1 -0
  372. package/dist/components/CustomIcons/DownloadIcon.js +28 -0
  373. package/dist/components/CustomIcons/DownloadIcon.js.map +1 -0
  374. package/dist/components/CustomIcons/EditIcon.js +28 -0
  375. package/dist/components/CustomIcons/EditIcon.js.map +1 -0
  376. package/dist/components/CustomIcons/EnableIcon.js +28 -0
  377. package/dist/components/CustomIcons/EnableIcon.js.map +1 -0
  378. package/dist/components/CustomIcons/EnumIcon.js +28 -0
  379. package/dist/components/CustomIcons/EnumIcon.js.map +1 -0
  380. package/dist/components/CustomIcons/ErrorCircleFilled.js +21 -0
  381. package/dist/components/CustomIcons/ErrorCircleFilled.js.map +1 -0
  382. package/dist/components/CustomIcons/ExpandIcon.js +28 -0
  383. package/dist/components/CustomIcons/ExpandIcon.js.map +1 -0
  384. package/dist/components/CustomIcons/EyeClosedIcon.js +16 -0
  385. package/dist/components/CustomIcons/EyeClosedIcon.js.map +1 -0
  386. package/dist/components/CustomIcons/EyeIcon.js +16 -0
  387. package/dist/components/CustomIcons/EyeIcon.js.map +1 -0
  388. package/dist/components/CustomIcons/FieldMappingIcon.js +21 -0
  389. package/dist/components/CustomIcons/FieldMappingIcon.js.map +1 -0
  390. package/dist/components/CustomIcons/FilledCaretDownIcon.js +21 -0
  391. package/dist/components/CustomIcons/FilledCaretDownIcon.js.map +1 -0
  392. package/dist/components/CustomIcons/FilledCaretRightIcon.js +21 -0
  393. package/dist/components/CustomIcons/FilledCaretRightIcon.js.map +1 -0
  394. package/dist/components/CustomIcons/FilterIcon.js +28 -0
  395. package/dist/components/CustomIcons/FilterIcon.js.map +1 -0
  396. package/dist/components/CustomIcons/ForbiddenIcon.js +28 -0
  397. package/dist/components/CustomIcons/ForbiddenIcon.js.map +1 -0
  398. package/dist/components/CustomIcons/ForwardArrowIcon.js +21 -0
  399. package/dist/components/CustomIcons/ForwardArrowIcon.js.map +1 -0
  400. package/dist/components/CustomIcons/GlobeIcon.js +16 -0
  401. package/dist/components/CustomIcons/GlobeIcon.js.map +1 -0
  402. package/dist/components/CustomIcons/InboxIcon.js +16 -0
  403. package/dist/components/CustomIcons/InboxIcon.js.map +1 -0
  404. package/dist/components/CustomIcons/InfoCircleFilled.js +21 -0
  405. package/dist/components/CustomIcons/InfoCircleFilled.js.map +1 -0
  406. package/dist/components/CustomIcons/InfoFilledIcon.js +21 -0
  407. package/dist/components/CustomIcons/InfoFilledIcon.js.map +1 -0
  408. package/dist/components/CustomIcons/InfoIcon.js +28 -0
  409. package/dist/components/CustomIcons/InfoIcon.js.map +1 -0
  410. package/dist/components/CustomIcons/IntegrationsIcon.js +28 -0
  411. package/dist/components/CustomIcons/IntegrationsIcon.js.map +1 -0
  412. package/dist/components/CustomIcons/KeyIcon.js +28 -0
  413. package/dist/components/CustomIcons/KeyIcon.js.map +1 -0
  414. package/dist/components/CustomIcons/LibraryIcon.js +16 -0
  415. package/dist/components/CustomIcons/LibraryIcon.js.map +1 -0
  416. package/dist/components/CustomIcons/LogsIcon.js +28 -0
  417. package/dist/components/CustomIcons/LogsIcon.js.map +1 -0
  418. package/dist/components/CustomIcons/MagicWandIcon.js +16 -0
  419. package/dist/components/CustomIcons/MagicWandIcon.js.map +1 -0
  420. package/dist/components/CustomIcons/ManageTeamIcon.js +21 -0
  421. package/dist/components/CustomIcons/ManageTeamIcon.js.map +1 -0
  422. package/dist/components/CustomIcons/ManualWebhookIcon.js +21 -0
  423. package/dist/components/CustomIcons/ManualWebhookIcon.js.map +1 -0
  424. package/dist/components/CustomIcons/MarkReadIcon.js +16 -0
  425. package/dist/components/CustomIcons/MarkReadIcon.js.map +1 -0
  426. package/dist/components/CustomIcons/MarkUnreadIcon.js +21 -0
  427. package/dist/components/CustomIcons/MarkUnreadIcon.js.map +1 -0
  428. package/dist/components/CustomIcons/MembersIcon.js +28 -0
  429. package/dist/components/CustomIcons/MembersIcon.js.map +1 -0
  430. package/dist/components/CustomIcons/ModalIcon.js +28 -0
  431. package/dist/components/CustomIcons/ModalIcon.js.map +1 -0
  432. package/dist/components/CustomIcons/MoreHorizontalIcon.js +21 -0
  433. package/dist/components/CustomIcons/MoreHorizontalIcon.js.map +1 -0
  434. package/dist/components/CustomIcons/MoreVerticalIcon.js +21 -0
  435. package/dist/components/CustomIcons/MoreVerticalIcon.js.map +1 -0
  436. package/dist/components/CustomIcons/NavbarCollapseIcon.js +21 -0
  437. package/dist/components/CustomIcons/NavbarCollapseIcon.js.map +1 -0
  438. package/dist/components/CustomIcons/NavbarExpandIcon.js +21 -0
  439. package/dist/components/CustomIcons/NavbarExpandIcon.js.map +1 -0
  440. package/dist/components/CustomIcons/NotFoundIcon.js +16 -0
  441. package/dist/components/CustomIcons/NotFoundIcon.js.map +1 -0
  442. package/dist/components/CustomIcons/OrganizationIcon.js +21 -0
  443. package/dist/components/CustomIcons/OrganizationIcon.js.map +1 -0
  444. package/dist/components/CustomIcons/PinIcon.js +16 -0
  445. package/dist/components/CustomIcons/PinIcon.js.map +1 -0
  446. package/dist/components/CustomIcons/PlusIcon.js +28 -0
  447. package/dist/components/CustomIcons/PlusIcon.js.map +1 -0
  448. package/dist/components/CustomIcons/PreviewIcon.js +28 -0
  449. package/dist/components/CustomIcons/PreviewIcon.js.map +1 -0
  450. package/dist/components/CustomIcons/ProgrammaticWebhookIcon.js +21 -0
  451. package/dist/components/CustomIcons/ProgrammaticWebhookIcon.js.map +1 -0
  452. package/dist/components/CustomIcons/PulseIcon.js +28 -0
  453. package/dist/components/CustomIcons/PulseIcon.js.map +1 -0
  454. package/dist/components/CustomIcons/RefreshIcon.js +28 -0
  455. package/dist/components/CustomIcons/RefreshIcon.js.map +1 -0
  456. package/dist/components/CustomIcons/RejectIcon.js +28 -0
  457. package/dist/components/CustomIcons/RejectIcon.js.map +1 -0
  458. package/dist/components/CustomIcons/ReloadIcon.js +28 -0
  459. package/dist/components/CustomIcons/ReloadIcon.js.map +1 -0
  460. package/dist/components/CustomIcons/ReplyIcon.js +16 -0
  461. package/dist/components/CustomIcons/ReplyIcon.js.map +1 -0
  462. package/dist/components/CustomIcons/RequiredFieldIndicatorIcon.js +21 -0
  463. package/dist/components/CustomIcons/RequiredFieldIndicatorIcon.js.map +1 -0
  464. package/dist/components/CustomIcons/SearchIcon.js +15 -0
  465. package/dist/components/CustomIcons/SearchIcon.js.map +1 -0
  466. package/dist/components/CustomIcons/SecurityIcon.js +28 -0
  467. package/dist/components/CustomIcons/SecurityIcon.js.map +1 -0
  468. package/dist/components/CustomIcons/SendIcon.js +16 -0
  469. package/dist/components/CustomIcons/SendIcon.js.map +1 -0
  470. package/dist/components/CustomIcons/SettingsIcon.js +28 -0
  471. package/dist/components/CustomIcons/SettingsIcon.js.map +1 -0
  472. package/dist/components/CustomIcons/SignOutIcon.js +16 -0
  473. package/dist/components/CustomIcons/SignOutIcon.js.map +1 -0
  474. package/dist/components/CustomIcons/SliderIcon.js +28 -0
  475. package/dist/components/CustomIcons/SliderIcon.js.map +1 -0
  476. package/dist/components/CustomIcons/SortIcon.js +28 -0
  477. package/dist/components/CustomIcons/SortIcon.js.map +1 -0
  478. package/dist/components/CustomIcons/SourceIcon.js +28 -0
  479. package/dist/components/CustomIcons/SourceIcon.js.map +1 -0
  480. package/dist/components/CustomIcons/SparkleIcon.js +16 -0
  481. package/dist/components/CustomIcons/SparkleIcon.js.map +1 -0
  482. package/dist/components/CustomIcons/StarIcon.js +16 -0
  483. package/dist/components/CustomIcons/StarIcon.js.map +1 -0
  484. package/dist/components/CustomIcons/StepCurrentIcon.js +21 -0
  485. package/dist/components/CustomIcons/StepCurrentIcon.js.map +1 -0
  486. package/dist/components/CustomIcons/StepUpcomingIcon.js +21 -0
  487. package/dist/components/CustomIcons/StepUpcomingIcon.js.map +1 -0
  488. package/dist/components/CustomIcons/SyntheticWebhookIcon.js +21 -0
  489. package/dist/components/CustomIcons/SyntheticWebhookIcon.js.map +1 -0
  490. package/dist/components/CustomIcons/ThumbsDownIcon.js +21 -0
  491. package/dist/components/CustomIcons/ThumbsDownIcon.js.map +1 -0
  492. package/dist/components/CustomIcons/ThumbsUpIcon.js +16 -0
  493. package/dist/components/CustomIcons/ThumbsUpIcon.js.map +1 -0
  494. package/dist/components/CustomIcons/TrashIcon.js +28 -0
  495. package/dist/components/CustomIcons/TrashIcon.js.map +1 -0
  496. package/dist/components/CustomIcons/TriangleDownIcon.js +21 -0
  497. package/dist/components/CustomIcons/TriangleDownIcon.js.map +1 -0
  498. package/dist/components/CustomIcons/TriangleRightIcon.js +21 -0
  499. package/dist/components/CustomIcons/TriangleRightIcon.js.map +1 -0
  500. package/dist/components/CustomIcons/UnarchiveIcon.js +16 -0
  501. package/dist/components/CustomIcons/UnarchiveIcon.js.map +1 -0
  502. package/dist/components/CustomIcons/UploadIcon.js +28 -0
  503. package/dist/components/CustomIcons/UploadIcon.js.map +1 -0
  504. package/dist/components/CustomIcons/WarningCircleFilled.js +21 -0
  505. package/dist/components/CustomIcons/WarningCircleFilled.js.map +1 -0
  506. package/dist/components/CustomIcons/WarningTriangleIcon.js +21 -0
  507. package/dist/components/CustomIcons/WarningTriangleIcon.js.map +1 -0
  508. package/dist/components/CustomIcons/WebhookEventsIcon.js +28 -0
  509. package/dist/components/CustomIcons/WebhookEventsIcon.js.map +1 -0
  510. package/dist/components/CustomIcons/WebhookIcon.js +28 -0
  511. package/dist/components/CustomIcons/WebhookIcon.js.map +1 -0
  512. package/dist/components/CustomIcons/WebhookSigningSecretIcon.js +21 -0
  513. package/dist/components/CustomIcons/WebhookSigningSecretIcon.js.map +1 -0
  514. package/dist/components/CustomIcons/index.js +328 -0
  515. package/dist/components/CustomIcons/index.js.map +1 -0
  516. package/dist/components/DefinitionRow.js +15 -0
  517. package/dist/components/DefinitionRow.js.map +1 -0
  518. package/dist/components/DisclosureArrow.js +20 -0
  519. package/dist/components/DisclosureArrow.js.map +1 -0
  520. package/dist/components/Divider.js +59 -0
  521. package/dist/components/Divider.js.map +1 -0
  522. package/dist/components/Dropdown.js +847 -0
  523. package/dist/components/Dropdown.js.map +1 -0
  524. package/dist/components/FieldBlock.js +25 -0
  525. package/dist/components/FieldBlock.js.map +1 -0
  526. package/dist/components/FieldGroup.js +23 -0
  527. package/dist/components/FieldGroup.js.map +1 -0
  528. package/dist/components/FieldMessage.js +15 -0
  529. package/dist/components/FieldMessage.js.map +1 -0
  530. package/dist/components/Flex.js +45 -0
  531. package/dist/components/Flex.js.map +1 -0
  532. package/dist/components/FooterLinks.js +88 -0
  533. package/dist/components/FooterLinks.js.map +1 -0
  534. package/dist/components/FooterNav.js +19 -0
  535. package/dist/components/FooterNav.js.map +1 -0
  536. package/dist/components/Form.js +26 -0
  537. package/dist/components/Form.js.map +1 -0
  538. package/dist/components/FormItem.js +32 -0
  539. package/dist/components/FormItem.js.map +1 -0
  540. package/dist/components/FormSectionHeading.js +20 -0
  541. package/dist/components/FormSectionHeading.js.map +1 -0
  542. package/dist/components/InlineConfirm.js +129 -0
  543. package/dist/components/InlineConfirm.js.map +1 -0
  544. package/dist/components/Input/Input.js +302 -0
  545. package/dist/components/Input/Input.js.map +1 -0
  546. package/dist/components/KeyValueList.js +26 -0
  547. package/dist/components/KeyValueList.js.map +1 -0
  548. package/dist/components/Link.js +47 -0
  549. package/dist/components/Link.js.map +1 -0
  550. package/dist/components/LoadingBar.js +85 -0
  551. package/dist/components/LoadingBar.js.map +1 -0
  552. package/dist/components/LoadingInput.js +29 -0
  553. package/dist/components/LoadingInput.js.map +1 -0
  554. package/dist/components/MalachiteContext.js +18 -0
  555. package/dist/components/MalachiteContext.js.map +1 -0
  556. package/dist/components/Modal.js +212 -0
  557. package/dist/components/Modal.js.map +1 -0
  558. package/dist/components/MultiSelect.js +643 -0
  559. package/dist/components/MultiSelect.js.map +1 -0
  560. package/dist/components/NumberTag.js +22 -0
  561. package/dist/components/NumberTag.js.map +1 -0
  562. package/dist/components/OverflowRow.js +153 -0
  563. package/dist/components/OverflowRow.js.map +1 -0
  564. package/dist/components/Padded.js +39 -0
  565. package/dist/components/Padded.js.map +1 -0
  566. package/dist/components/PageLayout/constants.js +12 -0
  567. package/dist/components/PageLayout/constants.js.map +1 -0
  568. package/dist/components/PageLayout/emptyLayout.js +61 -0
  569. package/dist/components/PageLayout/emptyLayout.js.map +1 -0
  570. package/dist/components/PageLayout/index.js +10 -0
  571. package/dist/components/PageLayout/index.js.map +1 -0
  572. package/dist/components/PageLayout/regularLayout.js +177 -0
  573. package/dist/components/PageLayout/regularLayout.js.map +1 -0
  574. package/dist/components/PillButton.js +70 -0
  575. package/dist/components/PillButton.js.map +1 -0
  576. package/dist/components/PreviewTree.js +49 -0
  577. package/dist/components/PreviewTree.js.map +1 -0
  578. package/dist/components/Progress.js +69 -0
  579. package/dist/components/Progress.js.map +1 -0
  580. package/dist/components/QueryInput.js +370 -0
  581. package/dist/components/QueryInput.js.map +1 -0
  582. package/dist/components/Radio.js +63 -0
  583. package/dist/components/Radio.js.map +1 -0
  584. package/dist/components/Search.js +54 -0
  585. package/dist/components/Search.js.map +1 -0
  586. package/dist/components/SegmentedControl.js +107 -0
  587. package/dist/components/SegmentedControl.js.map +1 -0
  588. package/dist/components/SelectableCard.js +364 -0
  589. package/dist/components/SelectableCard.js.map +1 -0
  590. package/dist/components/SelectionBar.js +103 -0
  591. package/dist/components/SelectionBar.js.map +1 -0
  592. package/dist/components/SettingRow.js +40 -0
  593. package/dist/components/SettingRow.js.map +1 -0
  594. package/dist/components/ShadowEscape.js +166 -0
  595. package/dist/components/ShadowEscape.js.map +1 -0
  596. package/dist/components/SidePanel.js +140 -0
  597. package/dist/components/SidePanel.js.map +1 -0
  598. package/dist/components/SidePanelNavFooter.js +46 -0
  599. package/dist/components/SidePanelNavFooter.js.map +1 -0
  600. package/dist/components/Skeleton.js +106 -0
  601. package/dist/components/Skeleton.js.map +1 -0
  602. package/dist/components/Spacer.js +63 -0
  603. package/dist/components/Spacer.js.map +1 -0
  604. package/dist/components/Spinner.js +86 -0
  605. package/dist/components/Spinner.js.map +1 -0
  606. package/dist/components/SplitScreenLayout.js +51 -0
  607. package/dist/components/SplitScreenLayout.js.map +1 -0
  608. package/dist/components/StatBadge.js +10 -0
  609. package/dist/components/StatBadge.js.map +1 -0
  610. package/dist/components/Statistic.js +48 -0
  611. package/dist/components/Statistic.js.map +1 -0
  612. package/dist/components/StatusBadge.js +56 -0
  613. package/dist/components/StatusBadge.js.map +1 -0
  614. package/dist/components/StepTabs.js +52 -0
  615. package/dist/components/StepTabs.js.map +1 -0
  616. package/dist/components/Stepper.js +40 -0
  617. package/dist/components/Stepper.js.map +1 -0
  618. package/dist/components/Surface.js +143 -0
  619. package/dist/components/Surface.js.map +1 -0
  620. package/dist/components/Swatch.js +44 -0
  621. package/dist/components/Swatch.js.map +1 -0
  622. package/dist/components/Table/Table.js +1007 -0
  623. package/dist/components/Table/Table.js.map +1 -0
  624. package/dist/components/Table/TablePagination.js +205 -0
  625. package/dist/components/Table/TablePagination.js.map +1 -0
  626. package/dist/components/Tabs.js +35 -0
  627. package/dist/components/Tabs.js.map +1 -0
  628. package/dist/components/Tag.js +154 -0
  629. package/dist/components/Tag.js.map +1 -0
  630. package/dist/components/TextArea/TextArea.js +289 -0
  631. package/dist/components/TextArea/TextArea.js.map +1 -0
  632. package/dist/components/ThemeScope.js +14 -0
  633. package/dist/components/ThemeScope.js.map +1 -0
  634. package/dist/components/Toggle.js +115 -0
  635. package/dist/components/Toggle.js.map +1 -0
  636. package/dist/components/Toolbar.js +25 -0
  637. package/dist/components/Toolbar.js.map +1 -0
  638. package/dist/components/Tooltip.js +181 -0
  639. package/dist/components/Tooltip.js.map +1 -0
  640. package/dist/components/TruncatedTooltip.js +38 -0
  641. package/dist/components/TruncatedTooltip.js.map +1 -0
  642. package/dist/components/Typography/CodeText.js +49 -0
  643. package/dist/components/Typography/CodeText.js.map +1 -0
  644. package/dist/components/Typography/EllipsisText.js +27 -0
  645. package/dist/components/Typography/EllipsisText.js.map +1 -0
  646. package/dist/components/Typography/FormSectionTitle.js +21 -0
  647. package/dist/components/Typography/FormSectionTitle.js.map +1 -0
  648. package/dist/components/Typography/LinkText.js +32 -0
  649. package/dist/components/Typography/LinkText.js.map +1 -0
  650. package/dist/components/Typography/MarkdownBlock.js +304 -0
  651. package/dist/components/Typography/MarkdownBlock.js.map +1 -0
  652. package/dist/components/Typography/PageTitle.js +21 -0
  653. package/dist/components/Typography/PageTitle.js.map +1 -0
  654. package/dist/components/Typography/SecondaryText.js +51 -0
  655. package/dist/components/Typography/SecondaryText.js.map +1 -0
  656. package/dist/components/Typography/SectionTitle.js +16 -0
  657. package/dist/components/Typography/SectionTitle.js.map +1 -0
  658. package/dist/components/Typography/StatisticLabel.js +22 -0
  659. package/dist/components/Typography/StatisticLabel.js.map +1 -0
  660. package/dist/components/Typography/StatisticValue.js +21 -0
  661. package/dist/components/Typography/StatisticValue.js.map +1 -0
  662. package/dist/components/Typography/TerminalText.js +45 -0
  663. package/dist/components/Typography/TerminalText.js.map +1 -0
  664. package/dist/components/Typography/Text.js +31 -0
  665. package/dist/components/Typography/Text.js.map +1 -0
  666. package/dist/components/Typography/index.js +31 -0
  667. package/dist/components/Typography/index.js.map +1 -0
  668. package/dist/components/Typography/textStyles.js +66 -0
  669. package/dist/components/Typography/textStyles.js.map +1 -0
  670. package/dist/components/WizardLayout.js +113 -0
  671. package/dist/components/WizardLayout.js.map +1 -0
  672. package/dist/components/actionBarMenuItems.js +16 -0
  673. package/dist/components/actionBarMenuItems.js.map +1 -0
  674. package/dist/components/activeElement.js +11 -0
  675. package/dist/components/activeElement.js.map +1 -0
  676. package/dist/components/breadcrumbsNav.js +5 -0
  677. package/dist/components/breadcrumbsNav.js.map +1 -0
  678. package/dist/components/cardStripSlot.js +9 -0
  679. package/dist/components/cardStripSlot.js.map +1 -0
  680. package/dist/components/codeBlockDiff.js +78 -0
  681. package/dist/components/codeBlockDiff.js.map +1 -0
  682. package/dist/components/codeBlockLine.js +90 -0
  683. package/dist/components/codeBlockLine.js.map +1 -0
  684. package/dist/components/codeBlockStyles.js +20 -0
  685. package/dist/components/codeBlockStyles.js.map +1 -0
  686. package/dist/components/confirmationDialogVariants.js +30 -0
  687. package/dist/components/confirmationDialogVariants.js.map +1 -0
  688. package/dist/components/controlTextSize.js +14 -0
  689. package/dist/components/controlTextSize.js.map +1 -0
  690. package/dist/components/devWarning.js +22 -0
  691. package/dist/components/devWarning.js.map +1 -0
  692. package/dist/components/dividerTypes.js +7 -0
  693. package/dist/components/dividerTypes.js.map +1 -0
  694. package/dist/components/dropdownPanelPosition.js +38 -0
  695. package/dist/components/dropdownPanelPosition.js.map +1 -0
  696. package/dist/components/dropdownTriggerStyle.js +36 -0
  697. package/dist/components/dropdownTriggerStyle.js.map +1 -0
  698. package/dist/components/escapeLayers.js +13 -0
  699. package/dist/components/escapeLayers.js.map +1 -0
  700. package/dist/components/flexTypes.js +8 -0
  701. package/dist/components/flexTypes.js.map +1 -0
  702. package/dist/components/focusRing.js +9 -0
  703. package/dist/components/focusRing.js.map +1 -0
  704. package/dist/components/formItemState.js +12 -0
  705. package/dist/components/formItemState.js.map +1 -0
  706. package/dist/components/glassSurface.js +10 -0
  707. package/dist/components/glassSurface.js.map +1 -0
  708. package/dist/components/injectStyleSheet.js +33 -0
  709. package/dist/components/injectStyleSheet.js.map +1 -0
  710. package/dist/components/inlineConfirmPosition.js +27 -0
  711. package/dist/components/inlineConfirmPosition.js.map +1 -0
  712. package/dist/components/keyboardActivation.js +14 -0
  713. package/dist/components/keyboardActivation.js.map +1 -0
  714. package/dist/components/modalTray.js +16 -0
  715. package/dist/components/modalTray.js.map +1 -0
  716. package/dist/components/optionRowStyles.js +27 -0
  717. package/dist/components/optionRowStyles.js.map +1 -0
  718. package/dist/components/overlayBehaviour.js +118 -0
  719. package/dist/components/overlayBehaviour.js.map +1 -0
  720. package/dist/components/portalOverlay.js +35 -0
  721. package/dist/components/portalOverlay.js.map +1 -0
  722. package/dist/components/prismCedar.js +27 -0
  723. package/dist/components/prismCedar.js.map +1 -0
  724. package/dist/components/queryInputGeometry.js +24 -0
  725. package/dist/components/queryInputGeometry.js.map +1 -0
  726. package/dist/components/renderableNode.js +6 -0
  727. package/dist/components/renderableNode.js.map +1 -0
  728. package/dist/components/safeHref.js +11 -0
  729. package/dist/components/safeHref.js.map +1 -0
  730. package/dist/components/scrollLock.js +19 -0
  731. package/dist/components/scrollLock.js.map +1 -0
  732. package/dist/components/selectedRow.js +14 -0
  733. package/dist/components/selectedRow.js.map +1 -0
  734. package/dist/components/selectionBarChrome.js +63 -0
  735. package/dist/components/selectionBarChrome.js.map +1 -0
  736. package/dist/components/topLayer.js +29 -0
  737. package/dist/components/topLayer.js.map +1 -0
  738. package/dist/components/useAdoptedStyleSheet.js +41 -0
  739. package/dist/components/useAdoptedStyleSheet.js.map +1 -0
  740. package/dist/geist-font.js +23 -0
  741. package/dist/geist-font.js.map +1 -0
  742. package/dist/index.d.ts +1089 -78
  743. package/dist/index.js +403 -103
  744. package/dist/index.js.map +1 -1
  745. package/dist/inter-font.js +35 -0
  746. package/dist/inter-font.js.map +1 -0
  747. package/dist/stack-sans-font.js +17 -0
  748. package/dist/stack-sans-font.js.map +1 -0
  749. package/dist/tailwind.css.js +5 -0
  750. package/dist/tailwind.css.js.map +1 -0
  751. package/dist/theme.js +1959 -0
  752. package/dist/theme.js.map +1 -0
  753. package/dist/vendor/@fontsource/geist-sans/files/geist-sans-latin-400-normal.woff2.js +5 -0
  754. package/dist/vendor/@fontsource/geist-sans/files/geist-sans-latin-400-normal.woff2.js.map +1 -0
  755. package/dist/vendor/@fontsource/geist-sans/files/geist-sans-latin-500-normal.woff2.js +5 -0
  756. package/dist/vendor/@fontsource/geist-sans/files/geist-sans-latin-500-normal.woff2.js.map +1 -0
  757. package/dist/vendor/@fontsource/inter/files/inter-latin-400-normal.woff2.js +5 -0
  758. package/dist/vendor/@fontsource/inter/files/inter-latin-400-normal.woff2.js.map +1 -0
  759. package/dist/vendor/@fontsource/inter/files/inter-latin-500-normal.woff2.js +5 -0
  760. package/dist/vendor/@fontsource/inter/files/inter-latin-500-normal.woff2.js.map +1 -0
  761. package/dist/vendor/@fontsource/inter/files/inter-latin-600-normal.woff2.js +5 -0
  762. package/dist/vendor/@fontsource/inter/files/inter-latin-600-normal.woff2.js.map +1 -0
  763. package/dist/vendor/@fontsource/inter/files/inter-latin-700-normal.woff2.js +5 -0
  764. package/dist/vendor/@fontsource/inter/files/inter-latin-700-normal.woff2.js.map +1 -0
  765. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-400-normal.woff2.js +5 -0
  766. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-400-normal.woff2.js.map +1 -0
  767. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-500-normal.woff2.js +5 -0
  768. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-500-normal.woff2.js.map +1 -0
  769. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-600-normal.woff2.js +5 -0
  770. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-600-normal.woff2.js.map +1 -0
  771. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-700-normal.woff2.js +5 -0
  772. package/dist/vendor/@fontsource/inter/files/inter-latin-ext-700-normal.woff2.js.map +1 -0
  773. package/dist/vendor/@fontsource-variable/stack-sans-text/files/stack-sans-text-latin-wght-normal.woff2.js +5 -0
  774. package/dist/vendor/@fontsource-variable/stack-sans-text/files/stack-sans-text-latin-wght-normal.woff2.js.map +1 -0
  775. package/package.json +6 -1
  776. package/dist/CodeBlockHighlighter-LexFSPf6.js +0 -2791
  777. package/dist/CodeBlockHighlighter-LexFSPf6.js.map +0 -1
  778. package/dist/index-TymfOwWa.js +0 -19154
  779. package/dist/index-TymfOwWa.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlock.js","sources":["../../src/components/CodeBlock.tsx"],"sourcesContent":["import JsonView from '@uiw/react-json-view';\nimport React from 'react';\nimport CopyIcon from './CustomIcons/CopyIcon';\nimport { type DiffDisplayRow, type DiffRowType, diffHunks } from './codeBlockDiff';\nimport { CodeLine, type CodeLineDecoration } from './codeBlockLine';\nimport { FOCUS_RING } from './focusRing';\n\nconst CodeBlockHighlighter = React.lazy(() => import('./CodeBlockHighlighter'));\n\nexport interface CodeBlockProps {\n /** The code content to display */\n code?: string;\n /** JSON object to display as formatted JSON */\n json?: object;\n /** Show line numbers */\n showLineNumbers?: boolean;\n /** Custom class name */\n className?: string;\n /** Custom styles */\n style?: React.CSSProperties;\n /** Height of the code block */\n height?: string | number;\n /** Enable copy functionality */\n enableCopy?: boolean;\n /** Wrap long lines instead of scrolling horizontally */\n wrapLines?: boolean;\n /**\n * Highlight the code with this language's grammar. `cedar` is a grammar this library\n * ships itself (`prismCedar.ts`), since Prism and refractor carry none; widen the union\n * as further grammars are registered in CodeBlockHighlighter.\n */\n language?: 'yaml' | 'cedar';\n /** How much of a `json` tree starts collapsed: `true` all of it, a number below that depth. */\n collapsed?: boolean | number;\n /**\n * Renders the change between two texts rather than one text, and takes precedence over\n * `code` and `json`. Only the changed lines are shown, with `context` unchanged ones either\n * side, so a small edit to a long document reads as a few hunks instead of the whole thing.\n */\n diff?: {\n before: string;\n after: string;\n /** Unchanged lines kept either side of each change. Three by convention. */\n context?: number;\n /**\n * Swaps the `+`/`-` gutter and tinted rows for the palette a mock specified for\n * AI-authored changes: star, minus-sign and middle-dot markers, and a struck-through\n * removal. Omit to keep the neutral markers; there is no default consumer for the\n * assistant look yet.\n */\n origin?: 'assistant';\n };\n}\n\nconst DIFF_BACKGROUNDS: Record<DiffRowType, string | undefined> = {\n added: 'var(--malachite-codeblock-diff-added-background)',\n removed: 'var(--malachite-codeblock-diff-removed-background)',\n context: undefined,\n};\n\nconst DIFF_MARKERS: Record<DiffRowType, string | undefined> = {\n added: '+',\n removed: '-',\n context: undefined,\n};\n\n// The assistant palette also marks context rows, which the neutral one leaves bare.\nconst ASSISTANT_DIFF_BACKGROUNDS: Record<DiffRowType, string | undefined> = {\n added: 'var(--malachite-codeblock-diff-assistant-background)',\n removed: 'var(--malachite-codeblock-diff-assistant-removed-background)',\n context: undefined,\n};\n\nconst ASSISTANT_DIFF_MARKERS: Record<DiffRowType, string> = {\n added: '\\u2726',\n // U+2212 minus sign, not a hyphen: the mock is explicit about which glyph.\n removed: '\\u2212',\n context: '\\u00b7',\n};\n\nconst ASSISTANT_DIFF_MARKER_COLORS: Record<DiffRowType, string> = {\n added: 'var(--malachite-codeblock-diff-assistant-foreground)',\n removed: 'var(--malachite-codeblock-diff-removed-foreground)',\n context: 'var(--malachite-codeblock-diff-context-foreground)',\n};\n\nconst unchangedRun = (count: number): string =>\n `\\u22ef ${count} unchanged ${count === 1 ? 'line' : 'lines'}`;\n\nconst diffDecoration = (\n row: DiffDisplayRow,\n showLineNumbers: boolean,\n origin?: 'assistant',\n): CodeLineDecoration => {\n const assistant = origin === 'assistant';\n\n return {\n background: assistant ? ASSISTANT_DIFF_BACKGROUNDS[row.type] : DIFF_BACKGROUNDS[row.type],\n marker: assistant ? ASSISTANT_DIFF_MARKERS[row.type] : DIFF_MARKERS[row.type],\n markerColor: assistant ? ASSISTANT_DIFF_MARKER_COLORS[row.type] : undefined,\n // Reserved on unchanged rows too, so the code column does not step in and out.\n reserveMarker: true,\n // Context rows read as de-emphasised, not just unmarked, in the assistant palette.\n textColor:\n assistant && row.type === 'context'\n ? 'var(--malachite-codeblock-diff-context-text)'\n : undefined,\n strikethrough: assistant && row.type === 'removed',\n separatorAbove: row.skippedAbove === undefined ? undefined : unchangedRun(row.skippedAbove),\n // A removed line has no number in the after-text, so it keeps the one it had before.\n lineNumber: showLineNumbers ? (row.afterNumber ?? row.beforeNumber) : undefined,\n };\n};\n\nconst CodeBlock: React.FC<CodeBlockProps> = ({\n code,\n json,\n showLineNumbers = true,\n className = '',\n style = {},\n height,\n enableCopy = true,\n wrapLines = false,\n language,\n collapsed = false,\n diff,\n}) => {\n const diffRows = diff ? diffHunks(diff.before, diff.after, diff.context) : null;\n const diffText = diffRows?.map((row) => row.text).join('\\n') ?? '';\n\n /**\n * What the button puts on the clipboard, in the same form the block is showing. A JSON\n * block is pretty-printed rather than handed over minified: the reader is copying what\n * they can see. `undefined` means there is nothing to copy and no button to offer.\n */\n const copyText = (): string | undefined => {\n if (diffRows) {\n return diffText;\n }\n\n // An empty block has nothing to copy, so it offers no button — `!== undefined` would\n // hand back the empty string and put a dead control on it.\n if (code) {\n return code;\n }\n\n if (json !== undefined) {\n try {\n return JSON.stringify(json, null, 2);\n } catch {\n // A cycle or a BigInt: no honest text to copy, so offer no button.\n return undefined;\n }\n }\n\n return undefined;\n };\n\n const textToCopy = copyText();\n\n // `?.` no-ops when the clipboard API is absent (insecure context); `.catch` swallows a rejection.\n const handleCopy = () => {\n if (textToCopy === undefined) {\n return;\n }\n\n navigator.clipboard?.writeText(textToCopy)?.catch(() => undefined);\n };\n\n // Declared once and rendered by both the JSON branch and the code branch below, so the\n // two tabs of one document do not disagree about whether it can be copied.\n const copyButton = enableCopy && textToCopy !== undefined && (\n <button\n type=\"button\"\n aria-label=\"Copy\"\n onClick={handleCopy}\n className={`absolute top-2 right-2 z-10 flex items-center justify-center rounded-md border border-solid border-[var(--malachite-codeblock-border)] bg-[var(--malachite-codeblock-background)] p-1.5 transition-colors hover:bg-[var(--malachite-codeblock-border)] ${FOCUS_RING}`}\n style={{ color: 'var(--malachite-codeblock-line-number)' }}\n >\n <CopyIcon size={14} />\n </button>\n );\n\n // If JSON is provided, use JsonView component\n if (json && !diffRows) {\n return (\n <div\n className={`relative border rounded-lg overflow-hidden ${className}`}\n style={{\n backgroundColor: 'var(--malachite-codeblock-background)',\n borderColor: 'var(--malachite-codeblock-border)',\n height,\n ...style,\n }}\n >\n {copyButton}\n <JsonView\n value={json}\n style={\n {\n backgroundColor: 'var(--malachite-codeblock-background)',\n color: 'var(--malachite-codeblock-foreground)',\n fontSize: '14px',\n fontFamily: 'var(--malachite-font-mono, monospace)',\n padding: '16px',\n lineHeight: '1.5',\n textAlign: 'left',\n '--w-rjv-color': 'var(--malachite-codeblock-foreground)',\n '--w-rjv-key-string': 'var(--malachite-codeblock-keyword)',\n '--w-rjv-background-color': 'var(--malachite-codeblock-background)',\n '--w-rjv-line-color': 'var(--malachite-codeblock-border)',\n '--w-rjv-arrow-color': 'var(--malachite-codeblock-line-number)',\n '--w-rjv-edit-color': 'var(--malachite-codeblock-keyword)',\n '--w-rjv-info-color': 'var(--malachite-codeblock-line-number)',\n '--w-rjv-update-color': 'var(--malachite-codeblock-keyword)',\n '--w-rjv-copied-color': 'var(--malachite-codeblock-string)',\n '--w-rjv-copied-success-color': 'var(--malachite-codeblock-string)',\n '--w-rjv-curlybraces-color': 'var(--malachite-codeblock-foreground)',\n '--w-rjv-colon-color': 'var(--malachite-codeblock-foreground)',\n '--w-rjv-brackets-color': 'var(--malachite-codeblock-foreground)',\n '--w-rjv-quotes-color': 'var(--malachite-codeblock-string)',\n '--w-rjv-quotes-string-color': 'var(--malachite-codeblock-string)',\n '--w-rjv-type-string-color': 'var(--malachite-codeblock-string)',\n '--w-rjv-type-int-color': 'var(--malachite-codeblock-number)',\n '--w-rjv-type-float-color': 'var(--malachite-codeblock-number)',\n '--w-rjv-type-bigint-color': 'var(--malachite-codeblock-number)',\n '--w-rjv-type-boolean-color': 'var(--malachite-codeblock-keyword)',\n '--w-rjv-type-date-color': 'var(--malachite-codeblock-string)',\n '--w-rjv-type-url-color': 'var(--malachite-codeblock-keyword)',\n '--w-rjv-type-null-color': 'var(--malachite-codeblock-comment)',\n '--w-rjv-type-nan-color': 'var(--malachite-codeblock-comment)',\n '--w-rjv-type-undefined-color': 'var(--malachite-codeblock-comment)',\n } as React.CSSProperties\n }\n displayDataTypes={false}\n enableClipboard={enableCopy}\n collapsed={collapsed}\n displayObjectSize={false}\n />\n </div>\n );\n }\n\n // Reserve clearance so a wide first line never sits under the floating copy button.\n const copyClearance = enableCopy && (!!code || !!diffRows);\n\n const renderPlainLines = (\n text: string,\n decorate?: (index: number) => CodeLineDecoration | undefined,\n ) => {\n const lines = text.split('\\n');\n\n return (\n <div\n className=\"p-4 overflow-auto text-left\"\n style={{ paddingRight: copyClearance ? 44 : undefined }}\n >\n {/* As wide as the widest line, floored at the view, so rows filling it end level. */}\n <div style={{ width: 'max-content', minWidth: '100%' }}>\n {lines.map((line, index) => {\n const decoration = decorate?.(index);\n\n return (\n <CodeLine\n key={index}\n line={line}\n lineNumber={\n decoration?.lineNumber ??\n (showLineNumbers ? index + 1 : undefined)\n }\n wrap={wrapLines}\n decoration={decoration}\n >\n {line}\n </CodeLine>\n );\n })}\n </div>\n </div>\n );\n };\n\n const renderPlainCode = () => (code ? renderPlainLines(code) : null);\n\n const renderDiff = (rows: DiffDisplayRow[]) => {\n if (rows.length === 0) {\n return (\n <div\n className=\"p-4 text-left\"\n style={{ color: 'var(--malachite-codeblock-comment)' }}\n >\n No changes\n </div>\n );\n }\n\n const decorate = (index: number) => {\n const row = rows[index];\n\n return row ? diffDecoration(row, showLineNumbers, diff?.origin) : undefined;\n };\n\n if (language) {\n return (\n <React.Suspense fallback={renderPlainLines(diffText, decorate)}>\n {/*\n * The whole merged text goes to the highlighter in one piece, so a hunk\n * is tokenised in the company of its neighbours rather than on its own.\n * Prism still cannot see the lines the hunks left out, so a construct\n * spanning an omitted run can highlight oddly — the reason `context`\n * defaults to a few lines rather than none.\n */}\n <CodeBlockHighlighter\n code={diffText}\n language={language}\n showLineNumbers={showLineNumbers}\n wrapLines={wrapLines}\n copyClearance={copyClearance}\n decorate={decorate}\n />\n </React.Suspense>\n );\n }\n\n return renderPlainLines(diffText, decorate);\n };\n\n // For code strings, create a simple syntax-highlighted view\n const renderCodeContent = () => {\n if (!code) {\n return null;\n }\n\n if (language) {\n return (\n <React.Suspense fallback={renderPlainCode()}>\n <CodeBlockHighlighter\n code={code}\n language={language}\n showLineNumbers={showLineNumbers}\n wrapLines={wrapLines}\n copyClearance={copyClearance}\n />\n </React.Suspense>\n );\n }\n\n return renderPlainCode();\n };\n\n return (\n <div\n className={`relative border rounded-lg overflow-hidden ${className}`}\n style={{\n backgroundColor: 'var(--malachite-codeblock-background)',\n borderColor: 'var(--malachite-codeblock-border)',\n height,\n ...style,\n }}\n >\n {copyButton}\n {diffRows ? renderDiff(diffRows) : renderCodeContent()}\n </div>\n );\n};\n\nexport default CodeBlock;\n"],"names":["CodeBlockHighlighter","React","DIFF_BACKGROUNDS","DIFF_MARKERS","ASSISTANT_DIFF_BACKGROUNDS","ASSISTANT_DIFF_MARKERS","ASSISTANT_DIFF_MARKER_COLORS","unchangedRun","count","diffDecoration","row","showLineNumbers","origin","assistant","CodeBlock","code","json","className","style","height","enableCopy","wrapLines","language","collapsed","diff","diffRows","diffHunks","diffText","textToCopy","copyButton","jsx","_b","_a","FOCUS_RING","CopyIcon","jsxs","JsonView","copyClearance","renderPlainLines","text","decorate","lines","line","index","decoration","CodeLine","renderPlainCode","renderDiff","rows","renderCodeContent"],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { PrismLight as m, createElement as y } from "react-syntax-highlighter";
3
+ import w from "react-syntax-highlighter/dist/esm/languages/prism/yaml";
4
+ import f from "./prismCedar.js";
5
+ import { CodeLine as L } from "./codeBlockLine.js";
6
+ import { CODE_FONT as t } from "./codeBlockStyles.js";
7
+ let s = !1;
8
+ const R = () => {
9
+ s || (s = !0, m.registerLanguage("yaml", w), m.registerLanguage("cedar", f));
10
+ }, E = {
11
+ 'code[class*="language-"]': t,
12
+ 'pre[class*="language-"]': t,
13
+ comment: { color: "var(--malachite-codeblock-comment)" },
14
+ prolog: { color: "var(--malachite-codeblock-comment)" },
15
+ cdata: { color: "var(--malachite-codeblock-comment)" },
16
+ punctuation: { color: "var(--malachite-codeblock-foreground)" },
17
+ key: { color: "var(--malachite-codeblock-keyword)" },
18
+ atrule: { color: "var(--malachite-codeblock-keyword)" },
19
+ "attr-name": { color: "var(--malachite-codeblock-keyword)" },
20
+ directive: { color: "var(--malachite-codeblock-keyword)" },
21
+ keyword: { color: "var(--malachite-codeblock-keyword)" },
22
+ property: { color: "var(--malachite-codeblock-keyword)" },
23
+ boolean: { color: "var(--malachite-codeblock-keyword)" },
24
+ important: { color: "var(--malachite-codeblock-keyword)" },
25
+ null: { color: "var(--malachite-codeblock-keyword)" },
26
+ tag: { color: "var(--malachite-codeblock-keyword)" },
27
+ anchor: { color: "var(--malachite-codeblock-keyword)" },
28
+ alias: { color: "var(--malachite-codeblock-keyword)" },
29
+ // Cedar's entity paths (`StackOne::Action`) are types, which is what this token is for.
30
+ "class-name": { color: "var(--malachite-codeblock-type)" },
31
+ // The scope variables. Given the one remaining distinct hue so they read as language
32
+ // rather than as another blue keyword.
33
+ builtin: { color: "var(--malachite-codeblock-number)" },
34
+ operator: { color: "var(--malachite-codeblock-line-number)" },
35
+ string: { color: "var(--malachite-codeblock-string)" },
36
+ scalar: { color: "var(--malachite-codeblock-string)" },
37
+ char: { color: "var(--malachite-codeblock-string)" },
38
+ url: { color: "var(--malachite-codeblock-string)" },
39
+ number: { color: "var(--malachite-codeblock-number)" },
40
+ datetime: { color: "var(--malachite-codeblock-number)" }
41
+ }, d = (o) => {
42
+ if (o.type === "text")
43
+ return typeof o.value == "string" && o.value.endsWith(`
44
+ `) ? { ...o, value: o.value.slice(0, -1) } : o;
45
+ const e = o.children;
46
+ if (!(e != null && e.length))
47
+ return o;
48
+ const c = e[e.length - 1], a = d(c);
49
+ return a === c ? o : { ...o, children: [...e.slice(0, -1), a] };
50
+ }, _ = ({
51
+ code: o,
52
+ language: e,
53
+ showLineNumbers: c = !0,
54
+ wrapLines: a = !1,
55
+ copyClearance: k = !1,
56
+ decorate: i
57
+ }) => {
58
+ R();
59
+ const h = o.split(`
60
+ `);
61
+ return /* @__PURE__ */ n(
62
+ m,
63
+ {
64
+ language: e,
65
+ style: E,
66
+ wrapLines: !0,
67
+ renderer: ({ rows: u, stylesheet: g, useInlineStyles: b }) => u.map((v, r) => {
68
+ const l = i == null ? void 0 : i(r), p = (l == null ? void 0 : l.lineNumber) ?? (c ? r + 1 : void 0);
69
+ return /* @__PURE__ */ n(
70
+ L,
71
+ {
72
+ line: h[r] ?? "",
73
+ lineNumber: p,
74
+ wrap: a,
75
+ decoration: l,
76
+ children: y({
77
+ node: d(v),
78
+ stylesheet: g,
79
+ useInlineStyles: b,
80
+ key: `code-line-${r}`
81
+ })
82
+ },
83
+ r
84
+ );
85
+ }),
86
+ customStyle: {
87
+ ...t,
88
+ margin: 0,
89
+ padding: "16px",
90
+ paddingRight: k ? "44px" : "16px",
91
+ overflow: "auto"
92
+ },
93
+ codeTagProps: {
94
+ style: { ...t, display: "block", width: "max-content", minWidth: "100%" }
95
+ },
96
+ children: o
97
+ }
98
+ );
99
+ };
100
+ export {
101
+ _ as default
102
+ };
103
+ //# sourceMappingURL=CodeBlockHighlighter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockHighlighter.js","sources":["../../src/components/CodeBlockHighlighter.tsx"],"sourcesContent":["import type React from 'react';\nimport { PrismLight, createElement } from 'react-syntax-highlighter';\nimport yaml from 'react-syntax-highlighter/dist/esm/languages/prism/yaml';\nimport cedar from './prismCedar';\nimport { CodeLine, type CodeLineDecoration } from './codeBlockLine';\nimport { CODE_FONT } from './codeBlockStyles';\n\n// Registered on first render rather than at import. A bare top-level call is an import-time\n// side effect, which `sideEffects: false` in package.json tells a bundler it may drop; the\n// same reason the font faces go in through ensureInterFontFace and not a top-level call.\nlet languagesRegistered = false;\n\nconst ensureLanguagesRegistered = (): void => {\n if (languagesRegistered) {\n return;\n }\n languagesRegistered = true;\n PrismLight.registerLanguage('yaml', yaml);\n PrismLight.registerLanguage('cedar', cedar);\n};\n\n// Prism token colors bound to the codeblock theme tokens so highlighting follows the theme.\nconst PRISM_MALACHITE_THEME: { [key: string]: React.CSSProperties } = {\n 'code[class*=\"language-\"]': CODE_FONT,\n 'pre[class*=\"language-\"]': CODE_FONT,\n comment: { color: 'var(--malachite-codeblock-comment)' },\n prolog: { color: 'var(--malachite-codeblock-comment)' },\n cdata: { color: 'var(--malachite-codeblock-comment)' },\n punctuation: { color: 'var(--malachite-codeblock-foreground)' },\n key: { color: 'var(--malachite-codeblock-keyword)' },\n atrule: { color: 'var(--malachite-codeblock-keyword)' },\n 'attr-name': { color: 'var(--malachite-codeblock-keyword)' },\n directive: { color: 'var(--malachite-codeblock-keyword)' },\n keyword: { color: 'var(--malachite-codeblock-keyword)' },\n property: { color: 'var(--malachite-codeblock-keyword)' },\n boolean: { color: 'var(--malachite-codeblock-keyword)' },\n important: { color: 'var(--malachite-codeblock-keyword)' },\n null: { color: 'var(--malachite-codeblock-keyword)' },\n tag: { color: 'var(--malachite-codeblock-keyword)' },\n anchor: { color: 'var(--malachite-codeblock-keyword)' },\n alias: { color: 'var(--malachite-codeblock-keyword)' },\n // Cedar's entity paths (`StackOne::Action`) are types, which is what this token is for.\n 'class-name': { color: 'var(--malachite-codeblock-type)' },\n // The scope variables. Given the one remaining distinct hue so they read as language\n // rather than as another blue keyword.\n builtin: { color: 'var(--malachite-codeblock-number)' },\n operator: { color: 'var(--malachite-codeblock-line-number)' },\n string: { color: 'var(--malachite-codeblock-string)' },\n scalar: { color: 'var(--malachite-codeblock-string)' },\n char: { color: 'var(--malachite-codeblock-string)' },\n url: { color: 'var(--malachite-codeblock-string)' },\n number: { color: 'var(--malachite-codeblock-number)' },\n datetime: { color: 'var(--malachite-codeblock-number)' },\n};\n\ntype SyntaxNode = {\n type: 'text' | 'element';\n value?: string | number;\n children?: SyntaxNode[];\n};\n\n/** Local, not the ambient `rendererProps`: that global leaks out of DefinitelyTyped by accident. */\ntype RowRendererProps = {\n rows: SyntaxNode[];\n stylesheet: { [key: string]: React.CSSProperties };\n useInlineStyles: boolean;\n};\n\n/** Prism keeps the source newline on each row's last token; `CodeLine` supplies the break now. */\nconst withoutTrailingNewline = <T extends SyntaxNode>(node: T): T => {\n if (node.type === 'text') {\n return typeof node.value === 'string' && node.value.endsWith('\\n')\n ? { ...node, value: node.value.slice(0, -1) }\n : node;\n }\n const children = node.children;\n if (!children?.length) {\n return node;\n }\n const last = children[children.length - 1];\n const trimmed = withoutTrailingNewline(last);\n return trimmed === last ? node : { ...node, children: [...children.slice(0, -1), trimmed] };\n};\n\nexport interface CodeBlockHighlighterProps {\n code: string;\n language: 'yaml' | 'cedar';\n showLineNumbers?: boolean;\n wrapLines?: boolean;\n /** Right padding reserving space for the floating copy button. */\n copyClearance?: boolean;\n /**\n * Per-line markup, by index into `code`. How a diff tints its rows and numbers them from\n * the text each line actually came from.\n */\n decorate?: (index: number) => CodeLineDecoration | undefined;\n}\n\nconst CodeBlockHighlighter: React.FC<CodeBlockHighlighterProps> = ({\n code,\n language,\n showLineNumbers = true,\n wrapLines = false,\n copyClearance = false,\n decorate,\n}) => {\n ensureLanguagesRegistered();\n\n const lines = code.split('\\n');\n\n // We lay rows out ourselves rather than passing `showLineNumbers`/`wrapLongLines` down:\n // that mode makes every line a flex container, so the Prism token spans become flex items\n // and the line shreds into out-of-order fragments.\n const renderRows = ({ rows, stylesheet, useInlineStyles }: RowRendererProps) =>\n rows.map((row, index) => {\n const decoration = decorate?.(index);\n // A decoration's own number wins: in a diff the row's position in the merged\n // text is not its line number in either of the texts it came from.\n const lineNumber = decoration?.lineNumber ?? (showLineNumbers ? index + 1 : undefined);\n\n return (\n <CodeLine\n key={index}\n line={lines[index] ?? ''}\n lineNumber={lineNumber}\n wrap={wrapLines}\n decoration={decoration}\n >\n {createElement({\n node: withoutTrailingNewline(row),\n stylesheet,\n useInlineStyles,\n key: `code-line-${index}`,\n })}\n </CodeLine>\n );\n });\n\n return (\n <PrismLight\n language={language}\n style={PRISM_MALACHITE_THEME}\n wrapLines\n renderer={renderRows}\n customStyle={{\n ...CODE_FONT,\n margin: 0,\n padding: '16px',\n paddingRight: copyClearance ? '44px' : '16px',\n overflow: 'auto',\n }}\n // The `code` element is the rows' wrapper here, so it takes the sizing the plain\n // path puts on a div of its own.\n codeTagProps={{\n style: { ...CODE_FONT, display: 'block', width: 'max-content', minWidth: '100%' },\n }}\n >\n {code}\n </PrismLight>\n );\n};\n\nexport default CodeBlockHighlighter;\n"],"names":["languagesRegistered","ensureLanguagesRegistered","PrismLight","yaml","cedar","PRISM_MALACHITE_THEME","CODE_FONT","withoutTrailingNewline","node","children","last","trimmed","CodeBlockHighlighter","code","language","showLineNumbers","wrapLines","copyClearance","decorate","lines","jsx","rows","stylesheet","useInlineStyles","row","index","decoration","lineNumber","CodeLine","createElement"],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { jsx as e, jsxs as t, Fragment as m } from "react/jsx-runtime";
2
+ import { Accordion as x } from "./Accordion.js";
3
+ const h = ({
4
+ title: n,
5
+ subtitle: a,
6
+ defaultExpanded: r = !1,
7
+ isExpanded: i,
8
+ onToggle: l,
9
+ className: s,
10
+ children: c
11
+ }) => /* @__PURE__ */ e(
12
+ x,
13
+ {
14
+ variant: "sunken",
15
+ defaultExpanded: r,
16
+ isExpanded: i,
17
+ onToggle: l,
18
+ className: s,
19
+ header: /* @__PURE__ */ t("span", { className: "flex min-w-0 flex-1 items-center gap-[6px] text-[13px] leading-none", children: [
20
+ /* @__PURE__ */ e("span", { className: "shrink-0 font-medium text-[var(--malachite-text-primary)]", children: n }),
21
+ a ? /* @__PURE__ */ t(m, { children: [
22
+ /* @__PURE__ */ e(
23
+ "span",
24
+ {
25
+ "aria-hidden": "true",
26
+ className: "shrink-0 text-[var(--malachite-text-placeholder)]",
27
+ children: "-"
28
+ }
29
+ ),
30
+ /* @__PURE__ */ e("span", { className: "min-w-0 flex-1 truncate tracking-[0.13px] text-[var(--malachite-text-primary)]", children: a })
31
+ ] }) : null
32
+ ] }),
33
+ children: c
34
+ }
35
+ );
36
+ export {
37
+ h as CollapsibleSection,
38
+ h as default
39
+ };
40
+ //# sourceMappingURL=CollapsibleSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapsibleSection.js","sources":["../../src/components/CollapsibleSection.tsx"],"sourcesContent":["import React from 'react';\nimport Accordion from './Accordion';\n\nexport interface CollapsibleSectionProps {\n title: string;\n subtitle?: string;\n defaultExpanded?: boolean;\n isExpanded?: boolean;\n onToggle?: (expanded: boolean) => void;\n className?: string;\n children: React.ReactNode;\n}\n\nconst CollapsibleSection: React.FC<CollapsibleSectionProps> = ({\n title,\n subtitle,\n defaultExpanded = false,\n isExpanded,\n onToggle,\n className,\n children,\n}) => (\n <Accordion\n variant=\"sunken\"\n defaultExpanded={defaultExpanded}\n isExpanded={isExpanded}\n onToggle={onToggle}\n className={className}\n header={\n <span className=\"flex min-w-0 flex-1 items-center gap-[6px] text-[13px] leading-none\">\n <span className=\"shrink-0 font-medium text-[var(--malachite-text-primary)]\">\n {title}\n </span>\n {subtitle ? (\n <>\n <span\n aria-hidden=\"true\"\n className=\"shrink-0 text-[var(--malachite-text-placeholder)]\"\n >\n -\n </span>\n <span className=\"min-w-0 flex-1 truncate tracking-[0.13px] text-[var(--malachite-text-primary)]\">\n {subtitle}\n </span>\n </>\n ) : null}\n </span>\n }\n >\n {children}\n </Accordion>\n);\n\nexport default CollapsibleSection;\nexport { CollapsibleSection };\n"],"names":["CollapsibleSection","title","subtitle","defaultExpanded","isExpanded","onToggle","className","children","jsx","Accordion","jsxs","Fragment"],"mappings":";;AAaA,MAAMA,IAAwD,CAAC;AAAA,EAC3D,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACJ,MACI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACG,SAAQ;AAAA,IACR,iBAAAN;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,QACI,gBAAAI,EAAC,QAAA,EAAK,WAAU,uEACZ,UAAA;AAAA,MAAA,gBAAAF,EAAC,QAAA,EAAK,WAAU,6DACX,UAAAP,GACL;AAAA,MACCC,IACG,gBAAAQ,EAAAC,GAAA,EACI,UAAA;AAAA,QAAA,gBAAAH;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,eAAY;AAAA,YACZ,WAAU;AAAA,YACb,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGD,gBAAAA,EAAC,QAAA,EAAK,WAAU,kFACX,UAAAN,EAAA,CACL;AAAA,MAAA,EAAA,CACJ,IACA;AAAA,IAAA,GACR;AAAA,IAGH,UAAAK;AAAA,EAAA;AACL;"}
@@ -0,0 +1,56 @@
1
+ import { jsx as h } from "react/jsx-runtime";
2
+ import { useRef as g, useEffect as v } from "react";
3
+ const x = [
4
+ "var(--malachite-success-background)",
5
+ "var(--malachite-text-success)",
6
+ "var(--malachite-tag-primary-foreground)",
7
+ "var(--malachite-warning-background)",
8
+ "var(--malachite-error-background)"
9
+ ], u = "\0", w = () => typeof window > "u" || typeof window.matchMedia != "function" ? !0 : window.matchMedia("(prefers-reduced-motion: reduce)").matches, b = ({
10
+ count: r = 150,
11
+ colors: l = x,
12
+ className: p = ""
13
+ }) => {
14
+ const o = g(null), n = l.join(u);
15
+ return v(() => {
16
+ const a = o.current;
17
+ if (!a || w()) return;
18
+ const s = n.split(u), m = Array.from({ length: r }, (c, e) => {
19
+ const t = document.createElement("div"), i = 10 + e * 7 % 10;
20
+ t.style.cssText = `position:absolute;top:-5%;left:${e * 37 % 100}%;width:${i}px;height:${Math.round(i * 0.5)}px;background:${s[e % s.length]};border-radius:2px;`, a.appendChild(t);
21
+ const d = (e * 53 % 100 - 50) * 4, f = 360 + e * 47 % 720;
22
+ return t.animate(
23
+ [
24
+ { transform: "translate(0, 0) rotate(0deg)", opacity: 1 },
25
+ {
26
+ transform: `translate(${d}px, 105vh) rotate(${f}deg)`,
27
+ opacity: 1,
28
+ offset: 0.9
29
+ },
30
+ { transform: `translate(${d}px, 110vh) rotate(${f}deg)`, opacity: 0 }
31
+ ],
32
+ {
33
+ duration: 2600 + e * 17 % 1600,
34
+ delay: e * 11 % 500,
35
+ easing: "cubic-bezier(0.2, 0.6, 0.4, 1)",
36
+ fill: "forwards"
37
+ }
38
+ ), t;
39
+ });
40
+ return () => {
41
+ for (const c of m) c.remove();
42
+ };
43
+ }, [r, n]), /* @__PURE__ */ h(
44
+ "div",
45
+ {
46
+ ref: o,
47
+ "aria-hidden": !0,
48
+ className: `pointer-events-none fixed inset-0 overflow-hidden z-50 ${p}`
49
+ }
50
+ );
51
+ };
52
+ export {
53
+ b as Confetti,
54
+ b as default
55
+ };
56
+ //# sourceMappingURL=Confetti.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Confetti.js","sources":["../../src/components/Confetti.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\n\n// Theme tokens so the confetti adapts to light/dark. CSS vars work here because the\n// pieces are appended into the component's own (themed) DOM subtree.\nconst DEFAULT_COLORS = [\n 'var(--malachite-success-background)',\n 'var(--malachite-text-success)',\n 'var(--malachite-tag-primary-foreground)',\n 'var(--malachite-warning-background)',\n 'var(--malachite-error-background)',\n];\n\n/** Joins the palette into a content key; NUL cannot occur in a CSS colour value. */\nconst COLORS_KEY_SEPARATOR = '\\u0000';\n\n/**\n * `window.matchMedia` is absent under SSR and in older test environments. When it cannot\n * be consulted, assume reduced motion — skipping a decorative burst is the safe default.\n */\nconst prefersReducedMotion = (): boolean => {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') {\n return true;\n }\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n};\n\nexport interface ConfettiProps {\n /** Number of confetti pieces. */\n count?: number;\n /** Colors cycled across the pieces. */\n colors?: string[];\n className?: string;\n}\n\n// Dependency-free confetti burst via the Web Animations API. Uses WAAPI (not Tailwind\n// transform utilities) so it works inside the shadow DOM, and respects\n// prefers-reduced-motion. Fires once on mount.\nconst Confetti: React.FC<ConfettiProps> = ({\n count = 150,\n colors = DEFAULT_COLORS,\n className = '',\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n\n // Keyed on the palette's contents, not the array's identity: an inline\n // `colors={['red', 'blue']}` is a new array every render and would re-fire the burst.\n const colorsKey = colors.join(COLORS_KEY_SEPARATOR);\n\n useEffect(() => {\n const container = ref.current;\n if (!container) return;\n if (prefersReducedMotion()) return;\n\n const palette = colorsKey.split(COLORS_KEY_SEPARATOR);\n\n const pieces = Array.from({ length: count }, (_, i) => {\n const piece = document.createElement('div');\n const size = 10 + ((i * 7) % 10);\n piece.style.cssText = `position:absolute;top:-5%;left:${(i * 37) % 100}%;width:${size}px;height:${Math.round(size * 0.5)}px;background:${palette[i % palette.length]};border-radius:2px;`;\n container.appendChild(piece);\n\n const xDrift = (((i * 53) % 100) - 50) * 4;\n const rotation = 360 + ((i * 47) % 720);\n piece.animate(\n [\n { transform: 'translate(0, 0) rotate(0deg)', opacity: 1 },\n {\n transform: `translate(${xDrift}px, 105vh) rotate(${rotation}deg)`,\n opacity: 1,\n offset: 0.9,\n },\n { transform: `translate(${xDrift}px, 110vh) rotate(${rotation}deg)`, opacity: 0 },\n ],\n {\n duration: 2600 + ((i * 17) % 1600),\n delay: (i * 11) % 500,\n easing: 'cubic-bezier(0.2, 0.6, 0.4, 1)',\n fill: 'forwards',\n },\n );\n return piece;\n });\n\n return () => {\n for (const piece of pieces) piece.remove();\n };\n }, [count, colorsKey]);\n\n return (\n <div\n ref={ref}\n aria-hidden\n className={`pointer-events-none fixed inset-0 overflow-hidden z-50 ${className}`}\n />\n );\n};\n\nexport default Confetti;\nexport { Confetti };\n"],"names":["DEFAULT_COLORS","COLORS_KEY_SEPARATOR","prefersReducedMotion","Confetti","count","colors","className","ref","useRef","colorsKey","useEffect","container","palette","pieces","_","i","piece","size","xDrift","rotation","jsx"],"mappings":";;AAIA,MAAMA,IAAiB;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAGMC,IAAuB,MAMvBC,IAAuB,MACrB,OAAO,SAAW,OAAe,OAAO,OAAO,cAAe,aACvD,KAEJ,OAAO,WAAW,kCAAkC,EAAE,SAc3DC,IAAoC,CAAC;AAAA,EACvC,OAAAC,IAAQ;AAAA,EACR,QAAAC,IAASL;AAAA,EACT,WAAAM,IAAY;AAChB,MAAM;AACF,QAAMC,IAAMC,EAAuB,IAAI,GAIjCC,IAAYJ,EAAO,KAAKJ,CAAoB;AAElD,SAAAS,EAAU,MAAM;AACZ,UAAMC,IAAYJ,EAAI;AAEtB,QADI,CAACI,KACDT,IAAwB;AAE5B,UAAMU,IAAUH,EAAU,MAAMR,CAAoB,GAE9CY,IAAS,MAAM,KAAK,EAAE,QAAQT,EAAA,GAAS,CAACU,GAAGC,MAAM;AACnD,YAAMC,IAAQ,SAAS,cAAc,KAAK,GACpCC,IAAO,KAAOF,IAAI,IAAK;AAC7B,MAAAC,EAAM,MAAM,UAAU,kCAAmCD,IAAI,KAAM,GAAG,WAAWE,CAAI,aAAa,KAAK,MAAMA,IAAO,GAAG,CAAC,iBAAiBL,EAAQG,IAAIH,EAAQ,MAAM,CAAC,uBACpKD,EAAU,YAAYK,CAAK;AAE3B,YAAME,KAAYH,IAAI,KAAM,MAAO,MAAM,GACnCI,IAAW,MAAQJ,IAAI,KAAM;AACnC,aAAAC,EAAM;AAAA,QACF;AAAA,UACI,EAAE,WAAW,gCAAgC,SAAS,EAAA;AAAA,UACtD;AAAA,YACI,WAAW,aAAaE,CAAM,qBAAqBC,CAAQ;AAAA,YAC3D,SAAS;AAAA,YACT,QAAQ;AAAA,UAAA;AAAA,UAEZ,EAAE,WAAW,aAAaD,CAAM,qBAAqBC,CAAQ,QAAQ,SAAS,EAAA;AAAA,QAAE;AAAA,QAEpF;AAAA,UACI,UAAU,OAASJ,IAAI,KAAM;AAAA,UAC7B,OAAQA,IAAI,KAAM;AAAA,UAClB,QAAQ;AAAA,UACR,MAAM;AAAA,QAAA;AAAA,MACV,GAEGC;AAAA,IACX,CAAC;AAED,WAAO,MAAM;AACT,iBAAWA,KAASH,EAAQ,CAAAG,EAAM,OAAA;AAAA,IACtC;AAAA,EACJ,GAAG,CAACZ,GAAOK,CAAS,CAAC,GAGjB,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAAb;AAAA,MACA,eAAW;AAAA,MACX,WAAW,0DAA0DD,CAAS;AAAA,IAAA;AAAA,EAAA;AAG1F;"}
@@ -0,0 +1,234 @@
1
+ import { jsxs as x, jsx as i } from "react/jsx-runtime";
2
+ import { useState as k, useId as I, useEffect as Y } from "react";
3
+ import { Alert as H } from "./Alert.js";
4
+ import { Button as z } from "./Button.js";
5
+ import Z from "./CustomIcons/CheckCircleFilled.js";
6
+ import J from "./CustomIcons/CheckIcon.js";
7
+ import P from "./CustomIcons/CopyIcon.js";
8
+ import Q from "./CustomIcons/ErrorCircleFilled.js";
9
+ import U from "./CustomIcons/InfoCircleFilled.js";
10
+ import X from "./CustomIcons/WarningCircleFilled.js";
11
+ import { FieldMessage as ee } from "./FieldMessage.js";
12
+ import { Modal as te } from "./Modal.js";
13
+ import { Typography as S } from "./Typography/index.js";
14
+ import { CONFIRMATION_DIALOG_VARIANTS as ie } from "./confirmationDialogVariants.js";
15
+ import oe from "./Input/Input.js";
16
+ const v = 12, re = 1200, C = (e) => e.replace(/\s+/g, " "), ae = (e, t) => {
17
+ const r = e.trim();
18
+ if (!(!t || r === "" || r === t) && C(r).toLowerCase() === C(t).toLowerCase())
19
+ return C(r) === C(t) ? "The spacing has to match exactly." : "This is case-sensitive.";
20
+ }, le = "Could not copy. Enter the phrase manually.", se = (e, t) => {
21
+ const r = typeof e == "object" && e !== null ? e : void 0;
22
+ return r ? { parts: r, text: [r.prefix, t, r.suffix].filter(Boolean).join(" ") } : { text: typeof e == "string" ? e : `Type ${t} to confirm` };
23
+ }, ne = (e, t) => e === "copied" ? `${t} copied to clipboard` : "", ce = (e, t, r, u) => {
24
+ var o;
25
+ const f = `${t}|${e}`, [a, l] = k({ key: f, generation: 0, outcome: "idle" });
26
+ a.key !== f && l((c) => ({
27
+ key: f,
28
+ generation: c.generation + 1,
29
+ outcome: "idle"
30
+ })), Y(() => {
31
+ if (a.outcome !== "copied")
32
+ return;
33
+ const c = setTimeout(
34
+ () => l((d) => ({ ...d, outcome: "idle" })),
35
+ re
36
+ );
37
+ return () => clearTimeout(c);
38
+ }, [a.outcome]);
39
+ const s = typeof navigator < "u" && !!((o = navigator.clipboard) != null && o.writeText), n = async () => {
40
+ if (!e || !s)
41
+ return;
42
+ const c = a.generation, d = (y) => l(
43
+ (m) => m.generation === c ? { ...m, outcome: y } : m
44
+ );
45
+ try {
46
+ await navigator.clipboard.writeText(e);
47
+ } catch {
48
+ d("failed");
49
+ return;
50
+ }
51
+ d("copied"), queueMicrotask(() => u == null ? void 0 : u(e));
52
+ };
53
+ return { outcome: a.outcome, canCopy: s && !r, copy: () => void n() };
54
+ }, L = ({ children: e }) => /* @__PURE__ */ i(S.Text, { size: "xsmall", color: "primary", fontWeight: "semi-bold", children: e }), de = ({
55
+ phrase: e,
56
+ parts: t,
57
+ plainLabel: r,
58
+ placeholder: u,
59
+ value: f,
60
+ onChange: a,
61
+ disabled: l,
62
+ copyLabel: s,
63
+ copyOutcome: n,
64
+ canCopy: o,
65
+ onCopy: c,
66
+ nearMissMessage: d
67
+ }) => {
68
+ const y = I(), m = I(), b = I(), g = [d, n === "failed" ? le : void 0].filter(Boolean).join(" ") || void 0, p = t ? [y, t.suffix ? m : void 0].filter(Boolean).join(" ") : void 0;
69
+ return /* @__PURE__ */ x("div", { className: "flex flex-col gap-[6px]", children: [
70
+ t ? /* @__PURE__ */ x("div", { className: "flex flex-wrap items-center gap-[6px] px-2", children: [
71
+ /* @__PURE__ */ x("span", { id: y, children: [
72
+ /* @__PURE__ */ i(L, { children: t.prefix }),
73
+ " ",
74
+ /* @__PURE__ */ i(S.CodeText, { variant: "inline", size: "small", children: e })
75
+ ] }),
76
+ /* @__PURE__ */ i(
77
+ z,
78
+ {
79
+ variant: "ghost",
80
+ size: "small",
81
+ iconOnly: !0,
82
+ "aria-label": `${s} ${e}`,
83
+ icon: n === "copied" ? /* @__PURE__ */ i(J, { size: 13 }) : /* @__PURE__ */ i(P, { size: 13 }),
84
+ onClick: c,
85
+ disabled: !o
86
+ }
87
+ ),
88
+ t.suffix ? /* @__PURE__ */ i("span", { id: m, children: /* @__PURE__ */ i(L, { children: t.suffix }) }) : null
89
+ ] }) : null,
90
+ /* @__PURE__ */ i(
91
+ oe,
92
+ {
93
+ name: "confirmation-phrase",
94
+ size: "large",
95
+ value: f,
96
+ onChange: a,
97
+ label: t ? void 0 : r,
98
+ "aria-labelledby": p,
99
+ placeholder: u,
100
+ requiredIndicator: "none",
101
+ error: !!d,
102
+ "aria-describedby": g ? b : void 0,
103
+ disabled: l
104
+ }
105
+ ),
106
+ /* @__PURE__ */ i(ee, { id: b, message: g }),
107
+ t ? /* @__PURE__ */ i("span", { role: "status", className: "sr-only", children: ne(n, e) }) : null
108
+ ] });
109
+ }, pe = {
110
+ default: /* @__PURE__ */ i(U, { size: v }),
111
+ warning: /* @__PURE__ */ i(X, { size: v }),
112
+ destructive: /* @__PURE__ */ i(Q, { size: v }),
113
+ success: /* @__PURE__ */ i(Z, { size: v })
114
+ }, Ne = ({
115
+ open: e,
116
+ onClose: t,
117
+ onConfirm: r,
118
+ title: u,
119
+ titleAdornment: f,
120
+ badgeIcon: a,
121
+ description: l,
122
+ variant: s = "default",
123
+ callout: n,
124
+ confirmPhrase: o,
125
+ confirmPhraseLabel: c,
126
+ confirmPhraseCopyLabel: d = "Copy",
127
+ onPhraseCopied: y,
128
+ confirmPhrasePlaceholder: m,
129
+ confirmLabel: b = "Confirm",
130
+ cancelLabel: g = "Cancel",
131
+ loading: p = !1,
132
+ tip: _,
133
+ size: j = "medium",
134
+ "aria-label": D,
135
+ "aria-labelledby": M,
136
+ children: O
137
+ }) => {
138
+ const [T, A] = k(""), N = I(), h = ie[s], [F, B] = k({ open: e, confirmPhrase: o });
139
+ (F.open !== e || F.confirmPhrase !== o) && (B({ open: e, confirmPhrase: o }), e && A(""));
140
+ const { parts: $, text: w } = se(
141
+ c,
142
+ o
143
+ ), {
144
+ outcome: G,
145
+ canCopy: R,
146
+ copy: V
147
+ } = ce(o, e, p, y), E = !o || T.trim() === o, q = ae(T, o), K = p || !E, W = /* @__PURE__ */ x("div", { className: "flex w-full flex-wrap items-center justify-end gap-[8px]", children: [
148
+ /* @__PURE__ */ i(z, { variant: "outline", size: "small", onClick: t, disabled: p, children: g }),
149
+ /* @__PURE__ */ i(
150
+ z,
151
+ {
152
+ variant: h.confirmVariant,
153
+ size: "small",
154
+ onClick: r,
155
+ disabled: K,
156
+ loading: p,
157
+ tooltip: !p && !E ? w : void 0,
158
+ children: b
159
+ }
160
+ )
161
+ ] });
162
+ return /* @__PURE__ */ x(
163
+ te,
164
+ {
165
+ open: e,
166
+ onClose: t,
167
+ title: u,
168
+ size: j,
169
+ footer: W,
170
+ busy: p,
171
+ role: s === "destructive" ? "alertdialog" : "dialog",
172
+ "aria-label": D,
173
+ "aria-labelledby": M,
174
+ "aria-describedby": l ? N : void 0,
175
+ closeOnOverlayClick: s !== "destructive" && !o,
176
+ headerDivider: !0,
177
+ titleAdornment: f,
178
+ bodyPadding: !1,
179
+ tray: { tone: h.tray, caption: _ },
180
+ icon: /* @__PURE__ */ i(
181
+ "span",
182
+ {
183
+ "aria-hidden": "true",
184
+ className: "confirmation-badge flex size-[18px] shrink-0 items-center justify-center rounded-[7px] text-[var(--malachite-card-background)]",
185
+ style: { backgroundColor: h.badge },
186
+ children: a ?? pe[s]
187
+ }
188
+ ),
189
+ children: [
190
+ n ? /* @__PURE__ */ i("div", { className: "border-0 border-b border-solid border-[var(--malachite-card-subtle-divider,var(--malachite-card-border))] p-[10px]", children: /* @__PURE__ */ i(
191
+ H,
192
+ {
193
+ type: n.type ?? h.calloutType,
194
+ message: n.message,
195
+ hasMargin: !1
196
+ }
197
+ ) }) : null,
198
+ /* @__PURE__ */ x("div", { className: "flex flex-col gap-[12px] p-[28px]", children: [
199
+ l ? /* @__PURE__ */ i(
200
+ "div",
201
+ {
202
+ id: N,
203
+ className: "text-[13px] leading-[1.6] text-[var(--malachite-text-secondary)]",
204
+ children: l
205
+ }
206
+ ) : null,
207
+ O,
208
+ o ? /* @__PURE__ */ i(
209
+ de,
210
+ {
211
+ phrase: o,
212
+ parts: $,
213
+ plainLabel: w,
214
+ placeholder: m,
215
+ value: T,
216
+ onChange: A,
217
+ disabled: p,
218
+ copyLabel: d,
219
+ copyOutcome: G,
220
+ canCopy: R,
221
+ onCopy: V,
222
+ nearMissMessage: q
223
+ }
224
+ ) : null
225
+ ] })
226
+ ]
227
+ }
228
+ );
229
+ };
230
+ export {
231
+ Ne as ConfirmationDialog,
232
+ Ne as default
233
+ };
234
+ //# sourceMappingURL=ConfirmationDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfirmationDialog.js","sources":["../../src/components/ConfirmationDialog.tsx"],"sourcesContent":["import type React from 'react';\nimport { useEffect, useId, useState } from 'react';\nimport Alert, { type AlertType } from './Alert';\nimport Button from './Button';\nimport CheckCircleFilled from './CustomIcons/CheckCircleFilled';\nimport CheckIcon from './CustomIcons/CheckIcon';\nimport CopyIcon from './CustomIcons/CopyIcon';\nimport ErrorCircleFilled from './CustomIcons/ErrorCircleFilled';\nimport InfoCircleFilled from './CustomIcons/InfoCircleFilled';\nimport WarningCircleFilled from './CustomIcons/WarningCircleFilled';\nimport FieldMessage from './FieldMessage';\nimport { Input } from './Input';\nimport Modal, { type ModalSize } from './Modal';\nimport Typography from './Typography';\nimport {\n CONFIRMATION_DIALOG_VARIANTS,\n type ConfirmationDialogVariant,\n} from './confirmationDialogVariants';\n\n/** Kept beside the component: an icon is a node, not a value the variant table can hold. */\nconst BADGE_GLYPH_SIZE = 12;\n\nconst COPIED_FEEDBACK_MS = 1200;\n\nconst collapseSpaces = (value: string) => value.replace(/\\s+/g, ' ');\n\nconst nearMissAgainst = (typedPhrase: string, confirmPhrase?: string): string | undefined => {\n const typed = typedPhrase.trim();\n if (!confirmPhrase || typed === '' || typed === confirmPhrase) {\n return undefined;\n }\n if (collapseSpaces(typed).toLowerCase() !== collapseSpaces(confirmPhrase).toLowerCase()) {\n return undefined;\n }\n return collapseSpaces(typed) === collapseSpaces(confirmPhrase)\n ? 'The spacing has to match exactly.'\n : 'This is case-sensitive.';\n};\n\ntype PhraseLabel = string | { prefix: string; suffix?: string };\n\ntype CopyOutcome = 'idle' | 'copied' | 'failed';\n\nconst COPY_FAILED_MESSAGE = 'Could not copy. Enter the phrase manually.';\n\nconst resolvePhraseLabel = (\n label: PhraseLabel | undefined,\n phrase?: string,\n): { parts?: { prefix: string; suffix?: string }; text: string } => {\n const parts = typeof label === 'object' && label !== null ? label : undefined;\n if (parts) {\n return { parts, text: [parts.prefix, phrase, parts.suffix].filter(Boolean).join(' ') };\n }\n return { text: typeof label === 'string' ? label : `Type ${phrase} to confirm` };\n};\n\nconst copyStatusFor = (outcome: CopyOutcome, phrase: string): string =>\n outcome === 'copied' ? `${phrase} copied to clipboard` : '';\n\nconst usePhraseCopy = (\n phrase: string | undefined,\n open: boolean,\n disabled: boolean,\n onCopied?: (phrase: string) => void,\n): { outcome: CopyOutcome; canCopy: boolean; copy: () => void } => {\n const decisionKey = `${open}|${phrase}`;\n const [state, setState] = useState<{\n key: string;\n generation: number;\n outcome: CopyOutcome;\n }>({ key: decisionKey, generation: 0, outcome: 'idle' });\n if (state.key !== decisionKey) {\n setState((previous) => ({\n key: decisionKey,\n generation: previous.generation + 1,\n outcome: 'idle',\n }));\n }\n\n useEffect(() => {\n if (state.outcome !== 'copied') {\n return;\n }\n const timer = setTimeout(\n () => setState((previous) => ({ ...previous, outcome: 'idle' })),\n COPIED_FEEDBACK_MS,\n );\n return () => clearTimeout(timer);\n }, [state.outcome]);\n\n const canCopy = typeof navigator !== 'undefined' && !!navigator.clipboard?.writeText;\n\n const run = async () => {\n if (!phrase || !canCopy) {\n return;\n }\n const generation = state.generation;\n const settle = (outcome: CopyOutcome) =>\n setState((previous) =>\n previous.generation === generation ? { ...previous, outcome } : previous,\n );\n try {\n await navigator.clipboard.writeText(phrase);\n } catch {\n settle('failed');\n return;\n }\n settle('copied');\n queueMicrotask(() => onCopied?.(phrase));\n };\n\n return { outcome: state.outcome, canCopy: canCopy && !disabled, copy: () => void run() };\n};\n\nconst LabelText: React.FC<{ children: React.ReactNode }> = ({ children }) => (\n <Typography.Text size=\"xsmall\" color=\"primary\" fontWeight=\"semi-bold\">\n {children}\n </Typography.Text>\n);\n\ninterface PhraseFieldProps {\n phrase: string;\n parts?: { prefix: string; suffix?: string };\n plainLabel: string;\n placeholder?: string;\n value: string;\n onChange: (value: string) => void;\n disabled: boolean;\n copyLabel: string;\n copyOutcome: CopyOutcome;\n canCopy: boolean;\n onCopy: () => void;\n nearMissMessage?: string;\n}\n\nconst PhraseField: React.FC<PhraseFieldProps> = ({\n phrase,\n parts,\n plainLabel,\n placeholder,\n value,\n onChange,\n disabled,\n copyLabel,\n copyOutcome,\n canCopy,\n onCopy,\n nearMissMessage,\n}) => {\n const beforeId = useId();\n const afterId = useId();\n const messageId = useId();\n const message =\n [nearMissMessage, copyOutcome === 'failed' ? COPY_FAILED_MESSAGE : undefined]\n .filter(Boolean)\n .join(' ') || undefined;\n const labelledBy = parts\n ? [beforeId, parts.suffix ? afterId : undefined].filter(Boolean).join(' ')\n : undefined;\n\n return (\n <div className=\"flex flex-col gap-[6px]\">\n {parts ? (\n <div className=\"flex flex-wrap items-center gap-[6px] px-2\">\n <span id={beforeId}>\n <LabelText>{parts.prefix}</LabelText>{' '}\n <Typography.CodeText variant=\"inline\" size=\"small\">\n {phrase}\n </Typography.CodeText>\n </span>\n <Button\n variant=\"ghost\"\n size=\"small\"\n iconOnly\n aria-label={`${copyLabel} ${phrase}`}\n icon={\n copyOutcome === 'copied' ? (\n <CheckIcon size={13} />\n ) : (\n <CopyIcon size={13} />\n )\n }\n onClick={onCopy}\n disabled={!canCopy}\n />\n {parts.suffix ? (\n <span id={afterId}>\n <LabelText>{parts.suffix}</LabelText>\n </span>\n ) : null}\n </div>\n ) : null}\n <Input\n name=\"confirmation-phrase\"\n size=\"large\"\n value={value}\n onChange={onChange}\n label={parts ? undefined : plainLabel}\n aria-labelledby={labelledBy}\n placeholder={placeholder}\n requiredIndicator=\"none\"\n error={!!nearMissMessage}\n aria-describedby={message ? messageId : undefined}\n disabled={disabled}\n />\n <FieldMessage id={messageId} message={message} />\n {parts ? (\n <span role=\"status\" className=\"sr-only\">\n {copyStatusFor(copyOutcome, phrase)}\n </span>\n ) : null}\n </div>\n );\n};\n\nconst VARIANT_ICON: Record<ConfirmationDialogVariant, React.ReactNode> = {\n default: <InfoCircleFilled size={BADGE_GLYPH_SIZE} />,\n warning: <WarningCircleFilled size={BADGE_GLYPH_SIZE} />,\n destructive: <ErrorCircleFilled size={BADGE_GLYPH_SIZE} />,\n success: <CheckCircleFilled size={BADGE_GLYPH_SIZE} />,\n};\n\nexport interface ConfirmationDialogProps {\n open: boolean;\n /** Dismiss handler — cancel, close button, ESC or scrim. `loading` suppresses every\n * route except ESC, which always reaches this so a keyboard user is never stranded. */\n onClose: () => void;\n /** Runs when the confirm action is taken. Closing is left to the consumer. */\n onConfirm: () => void;\n title: React.ReactNode;\n titleAdornment?: React.ReactNode;\n badgeIcon?: React.ReactNode;\n /** The sentence saying what is about to happen. */\n description?: React.ReactNode;\n variant?: ConfirmationDialogVariant;\n /** Coloured callout below the body. Defaults to the variant's own type. */\n callout?: { type?: AlertType; message: string };\n /**\n * Requires this exact phrase to be typed before the confirm action enables — for a\n * consequence severe enough that a single click should not be able to cause it.\n */\n confirmPhrase?: string;\n /** Label above the type-to-confirm field. `{ prefix, suffix }` makes the phrase copyable. */\n confirmPhraseLabel?: PhraseLabel;\n /** Names the copy control, e.g. `Copy profile name`. Default: `Copy`. */\n confirmPhraseCopyLabel?: string;\n /** Runs after the phrase reaches the clipboard, with what was copied. */\n onPhraseCopied?: (phrase: string) => void;\n confirmPhrasePlaceholder?: string;\n confirmLabel?: string;\n cancelLabel?: string;\n /**\n * Disables the actions, spins the confirm button and suppresses the pointer dismissal\n * routes — but never ESC, which always reaches `onClose`.\n */\n loading?: boolean;\n tip?: { label?: string; message: string };\n size?: ModalSize;\n /** Accessible dialog name; required when `title` isn't a plain string. */\n 'aria-label'?: string;\n /** ID of a visible element naming the dialog (alternative to `aria-label`). */\n 'aria-labelledby'?: string;\n /** Extra body content between the description and the callout, e.g. an entity chip. */\n children?: React.ReactNode;\n}\n\nconst ConfirmationDialog: React.FC<ConfirmationDialogProps> = ({\n open,\n onClose,\n onConfirm,\n title,\n titleAdornment,\n badgeIcon,\n description,\n variant = 'default',\n callout,\n confirmPhrase,\n confirmPhraseLabel,\n confirmPhraseCopyLabel = 'Copy',\n onPhraseCopied,\n confirmPhrasePlaceholder,\n confirmLabel = 'Confirm',\n cancelLabel = 'Cancel',\n loading = false,\n tip,\n size = 'medium',\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n children,\n}) => {\n const [typedPhrase, setTypedPhrase] = useState('');\n const descriptionId = useId();\n const base = CONFIRMATION_DIALOG_VARIANTS[variant];\n\n // On open, not close: the dialog outlives `open` by its exit transition, so resetting on\n // close empties the field in front of the user. Adjusted during render rather than from an\n // effect, or a reopen paints the previous answer once with confirm already enabled.\n const [answeredFor, setAnsweredFor] = useState({ open, confirmPhrase });\n if (answeredFor.open !== open || answeredFor.confirmPhrase !== confirmPhrase) {\n setAnsweredFor({ open, confirmPhrase });\n if (open) {\n setTypedPhrase('');\n }\n }\n\n const { parts: phraseParts, text: phraseLabel } = resolvePhraseLabel(\n confirmPhraseLabel,\n confirmPhrase,\n );\n const {\n outcome: copyOutcome,\n canCopy: canCopyPhrase,\n copy: handleCopyPhrase,\n } = usePhraseCopy(confirmPhrase, open, loading, onPhraseCopied);\n // Trimmed because copying an entity name commonly picks up a trailing space; the gate is\n // still exact, and deliberately case-sensitive.\n const phraseSatisfied = !confirmPhrase || typedPhrase.trim() === confirmPhrase;\n const nearMissMessage = nearMissAgainst(typedPhrase, confirmPhrase);\n const confirmDisabled = loading || !phraseSatisfied;\n\n const footer = (\n <div className=\"flex w-full flex-wrap items-center justify-end gap-[8px]\">\n <Button variant=\"outline\" size=\"small\" onClick={onClose} disabled={loading}>\n {cancelLabel}\n </Button>\n <Button\n variant={base.confirmVariant}\n size=\"small\"\n onClick={onConfirm}\n disabled={confirmDisabled}\n loading={loading}\n // A disabled control emits no hover, so the tooltip explains the gate from the\n // wrapper Button renders for exactly this case.\n tooltip={!loading && !phraseSatisfied ? phraseLabel : undefined}\n >\n {confirmLabel}\n </Button>\n </div>\n );\n\n return (\n <Modal\n open={open}\n onClose={onClose}\n title={title}\n size={size}\n footer={footer}\n busy={loading}\n // A consequential choice is an alertdialog: it asks assistive tech to announce the\n // body, which is where the consequence is written.\n role={variant === 'destructive' ? 'alertdialog' : 'dialog'}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={description ? descriptionId : undefined}\n // A choice this deliberate should not be undone by a stray click, and a scrim\n // click must not discard a phrase the customer has already typed.\n closeOnOverlayClick={variant !== 'destructive' && !confirmPhrase}\n headerDivider\n titleAdornment={titleAdornment}\n bodyPadding={false}\n tray={{ tone: base.tray, caption: tip }}\n icon={\n <span\n aria-hidden=\"true\"\n className=\"confirmation-badge flex size-[18px] shrink-0 items-center justify-center rounded-[7px] text-[var(--malachite-card-background)]\"\n style={{ backgroundColor: base.badge }}\n >\n {badgeIcon ?? VARIANT_ICON[variant]}\n </span>\n }\n >\n {callout ? (\n <div className=\"border-0 border-b border-solid border-[var(--malachite-card-subtle-divider,var(--malachite-card-border))] p-[10px]\">\n <Alert\n type={callout.type ?? base.calloutType}\n message={callout.message}\n hasMargin={false}\n />\n </div>\n ) : null}\n <div className=\"flex flex-col gap-[12px] p-[28px]\">\n {description ? (\n <div\n id={descriptionId}\n className=\"text-[13px] leading-[1.6] text-[var(--malachite-text-secondary)]\"\n >\n {description}\n </div>\n ) : null}\n {children}\n {confirmPhrase ? (\n <PhraseField\n phrase={confirmPhrase}\n parts={phraseParts}\n plainLabel={phraseLabel}\n placeholder={confirmPhrasePlaceholder}\n value={typedPhrase}\n onChange={setTypedPhrase}\n disabled={loading}\n copyLabel={confirmPhraseCopyLabel}\n copyOutcome={copyOutcome}\n canCopy={canCopyPhrase}\n onCopy={handleCopyPhrase}\n nearMissMessage={nearMissMessage}\n />\n ) : null}\n </div>\n </Modal>\n );\n};\n\nexport default ConfirmationDialog;\nexport { ConfirmationDialog };\nexport type { ConfirmationDialogVariant };\n"],"names":["BADGE_GLYPH_SIZE","COPIED_FEEDBACK_MS","collapseSpaces","value","nearMissAgainst","typedPhrase","confirmPhrase","typed","COPY_FAILED_MESSAGE","resolvePhraseLabel","label","phrase","parts","copyStatusFor","outcome","usePhraseCopy","open","disabled","onCopied","decisionKey","state","setState","useState","previous","useEffect","timer","canCopy","_a","run","generation","settle","LabelText","children","jsx","Typography","PhraseField","plainLabel","placeholder","onChange","copyLabel","copyOutcome","onCopy","nearMissMessage","beforeId","useId","afterId","messageId","message","labelledBy","jsxs","Button","CheckIcon","CopyIcon","Input","FieldMessage","VARIANT_ICON","InfoCircleFilled","WarningCircleFilled","ErrorCircleFilled","CheckCircleFilled","ConfirmationDialog","onClose","onConfirm","title","titleAdornment","badgeIcon","description","variant","callout","confirmPhraseLabel","confirmPhraseCopyLabel","onPhraseCopied","confirmPhrasePlaceholder","confirmLabel","cancelLabel","loading","tip","size","ariaLabel","ariaLabelledBy","setTypedPhrase","descriptionId","base","CONFIRMATION_DIALOG_VARIANTS","answeredFor","setAnsweredFor","phraseParts","phraseLabel","canCopyPhrase","handleCopyPhrase","phraseSatisfied","confirmDisabled","footer","Modal","Alert"],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { jsxs as r, jsx as l } from "react/jsx-runtime";
2
+ const t = (e) => ({
3
+ backgroundColor: e.background ?? "var(--malachite-card-dimmed-background)",
4
+ color: e.background ? "#fff" : "var(--malachite-text-primary)"
5
+ }), i = ({ from: e, to: a, className: c = "" }) => {
6
+ const s = !!(e.label || a.label);
7
+ return /* @__PURE__ */ r("div", { className: `flex flex-col items-center gap-[12px] ${c}`, children: [
8
+ /* @__PURE__ */ r("div", { className: "flex items-center justify-center", children: [
9
+ /* @__PURE__ */ l(
10
+ "div",
11
+ {
12
+ className: "flex items-center justify-center size-[40px] rounded-[13px] mr-[-8px] z-[2]",
13
+ style: {
14
+ ...t(e),
15
+ transform: "rotate(-12deg)",
16
+ boxShadow: "0px 4px 4px 0px rgba(0,0,0,0.15)"
17
+ },
18
+ "aria-label": e.label,
19
+ children: e.icon
20
+ }
21
+ ),
22
+ /* @__PURE__ */ l(
23
+ "div",
24
+ {
25
+ className: "flex items-center justify-center size-[40px] rounded-[13px] border-[1.5px] border-solid border-[var(--malachite-card-background)] z-[1]",
26
+ style: {
27
+ ...t(a),
28
+ transform: "rotate(12deg)",
29
+ boxShadow: "0px 4px 4px 0px rgba(0,0,0,0.15)"
30
+ },
31
+ "aria-label": a.label,
32
+ children: a.icon
33
+ }
34
+ )
35
+ ] }),
36
+ s && /* @__PURE__ */ r("div", { className: "flex items-center gap-[8px] text-[13px] font-medium text-[var(--malachite-text-secondary)]", children: [
37
+ e.label && /* @__PURE__ */ l("span", { children: e.label }),
38
+ e.label && a.label && /* @__PURE__ */ l("span", { className: "text-[var(--malachite-text-placeholder)]", children: "→" }),
39
+ a.label && /* @__PURE__ */ l("span", { children: a.label })
40
+ ] })
41
+ ] });
42
+ };
43
+ export {
44
+ i as ConnectionHeader,
45
+ i as default
46
+ };
47
+ //# sourceMappingURL=ConnectionHeader.js.map