@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,107 @@
1
+ import { jsx as g, jsxs as I } from "react/jsx-runtime";
2
+ import { useRef as $, useCallback as A } from "react";
3
+ import { FOCUS_RING as E } from "./focusRing.js";
4
+ const D = {
5
+ small: {
6
+ text: "text-[length:var(--malachite-font-size-small,13px)]",
7
+ track: "h-[var(--malachite-control-height-small,28px)]",
8
+ item: "h-full px-2.5"
9
+ },
10
+ medium: {
11
+ text: "text-[length:var(--malachite-font-size-small,13px)]",
12
+ track: "h-[var(--malachite-control-height-medium,32px)]",
13
+ item: "h-full px-2.5"
14
+ },
15
+ large: {
16
+ text: "text-[length:var(--malachite-font-size-15,15px)]",
17
+ track: "h-[var(--malachite-control-height-large,42px)]",
18
+ item: "h-full px-4"
19
+ }
20
+ }, N = /* @__PURE__ */ new Set(["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "Home", "End"]), j = "inline-flex items-center justify-center gap-1.5 rounded-[var(--malachite-radius-10,10px)] border-0 font-medium tracking-[0.13px] whitespace-nowrap transition-colors duration-150 ease-in-out", K = ({
21
+ options: n,
22
+ value: s,
23
+ onChange: d,
24
+ size: b = "medium",
25
+ fullWidth: u = !1,
26
+ disabled: o = !1,
27
+ "aria-label": p,
28
+ "aria-labelledby": k,
29
+ className: v = ""
30
+ }) => {
31
+ const x = $([]), m = D[b], f = n.findIndex((e) => e.value === s), w = f >= 0 && !n[f].disabled ? f : n.findIndex((e) => !e.disabled), y = A(
32
+ (e) => {
33
+ var c;
34
+ if (o || !N.has(e.key))
35
+ return;
36
+ const t = n.reduce((i, h, S) => (h.disabled || i.push({ option: h, index: S }), i), []);
37
+ if (t.length === 0)
38
+ return;
39
+ e.preventDefault();
40
+ const l = t.findIndex(({ option: i }) => i.value === s);
41
+ let r;
42
+ if (e.key === "Home")
43
+ r = 0;
44
+ else if (e.key === "End")
45
+ r = t.length - 1;
46
+ else {
47
+ const i = e.key === "ArrowLeft" || e.key === "ArrowUp" ? -1 : 1;
48
+ r = ((l === -1 ? 0 : l) + i + t.length) % t.length;
49
+ }
50
+ const a = t[r];
51
+ a.option.value !== s && d(a.option.value), (c = x.current[a.index]) == null || c.focus();
52
+ },
53
+ [o, d, n, s]
54
+ );
55
+ return /* @__PURE__ */ g(
56
+ "div",
57
+ {
58
+ role: "radiogroup",
59
+ "aria-label": p,
60
+ "aria-labelledby": k,
61
+ "aria-disabled": o || void 0,
62
+ onKeyDown: y,
63
+ className: `${// One display utility, not two: `flex` and `inline-flex` are both plain
64
+ // `display` utilities, so emitting both would resolve by stylesheet order
65
+ // (same hazard as the background above).
66
+ u ? "flex w-full" : "inline-flex"} ${m.track} items-center gap-1 p-0.5 rounded-xl bg-[var(--malachite-segmented-control-track-background)] ${o ? "opacity-50" : ""} ${v}`,
67
+ children: n.map((e, t) => {
68
+ const l = e.value === s, r = o || e.disabled;
69
+ let a;
70
+ return l ? a = "bg-[var(--malachite-segmented-control-selected-background)] text-[var(--malachite-segmented-control-selected-foreground)]" : r ? a = "bg-transparent text-[var(--malachite-segmented-control-item-foreground)]" : a = "bg-transparent text-[var(--malachite-segmented-control-item-foreground)] hover:text-[var(--malachite-segmented-control-item-hover-foreground)] cursor-pointer", /* @__PURE__ */ I(
71
+ "button",
72
+ {
73
+ ref: (c) => {
74
+ x.current[t] = c;
75
+ },
76
+ type: "button",
77
+ role: "radio",
78
+ "aria-checked": l,
79
+ disabled: r,
80
+ tabIndex: t === w ? 0 : -1,
81
+ onClick: () => {
82
+ !r && !l && d(e.value);
83
+ },
84
+ className: `${E} ${j} ${m.text} ${m.item} ${a} ${u ? "flex-1" : ""} ${e.disabled && !o ? "opacity-50 cursor-not-allowed" : ""}`,
85
+ style: {
86
+ // Inline rather than a `shadow-[...]` class: Tailwind's shadow
87
+ // utilities compose `--tw-shadow-*` custom properties that rely on
88
+ // document-level @property registration and silently don't paint
89
+ // inside a shadow root (same caveat as `ring-*`).
90
+ boxShadow: l ? "var(--malachite-segmented-control-selected-shadow, 0px 1px 5px 0px rgba(0, 0, 0, 0.1))" : void 0
91
+ },
92
+ children: [
93
+ e.icon ? /* @__PURE__ */ g("span", { className: "inline-flex items-center justify-center w-4 h-4 shrink-0", children: e.icon }) : null,
94
+ e.label
95
+ ]
96
+ },
97
+ e.value
98
+ );
99
+ })
100
+ }
101
+ );
102
+ };
103
+ export {
104
+ K as SegmentedControl,
105
+ K as default
106
+ };
107
+ //# sourceMappingURL=SegmentedControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentedControl.js","sources":["../../src/components/SegmentedControl.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\nimport { FOCUS_RING } from './focusRing';\n\ntype SegmentedControlSize = 'small' | 'medium' | 'large';\n\ninterface SegmentedControlOption<T extends string = string> {\n value: T;\n label: string;\n icon?: React.ReactNode;\n disabled?: boolean;\n}\n\ninterface SegmentedControlProps<T extends string = string> {\n options: SegmentedControlOption<T>[];\n /** The selected option's value. A value not present in `options` renders nothing selected. */\n value: T;\n onChange: (value: T) => void;\n size?: SegmentedControlSize;\n /** Stretch the track to its container and split it into equal segments. */\n fullWidth?: boolean;\n /** Disables every segment. Individual segments can also be disabled via `options`. */\n disabled?: boolean;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n className?: string;\n}\n\n// The ladder governs a control's outer box. The height therefore sits on the track and\n// the items fill whatever the 4px inset leaves — putting it on the item instead makes a\n// `medium` segmented control 40px tall beside a 32px Dropdown.\nconst SIZE_CLASSES: Record<SegmentedControlSize, { text: string; track: string; item: string }> = {\n small: {\n text: 'text-[length:var(--malachite-font-size-small,13px)]',\n track: 'h-[var(--malachite-control-height-small,28px)]',\n item: 'h-full px-2.5',\n },\n medium: {\n text: 'text-[length:var(--malachite-font-size-small,13px)]',\n track: 'h-[var(--malachite-control-height-medium,32px)]',\n item: 'h-full px-2.5',\n },\n large: {\n text: 'text-[length:var(--malachite-font-size-15,15px)]',\n track: 'h-[var(--malachite-control-height-large,42px)]',\n item: 'h-full px-4',\n },\n};\n\n/** Arrow keys move AND select, per the WAI-ARIA radiogroup pattern. */\nconst NAV_KEYS = new Set(['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End']);\n\n// Deliberately no `bg-*` here: each state branch below supplies exactly one\n// background-color utility. Both `bg-transparent` and `bg-[var(--…)]` are plain\n// single-class utilities in the same `@layer utilities`, so an element carrying both\n// resolves by stylesheet order — and the arbitrary value loses, silently rendering the\n// selected thumb transparent.\nconst ITEM_BASE =\n 'inline-flex items-center justify-center gap-1.5 rounded-[var(--malachite-radius-10,10px)] border-0 font-medium tracking-[0.13px] whitespace-nowrap transition-colors duration-150 ease-in-out';\n\n/**\n * A rounded track of mutually-exclusive options — the segmented \"one of these\" control.\n *\n * Owns the track background, the selected-thumb chrome and the radiogroup semantics in\n * one place, so consumers never hand-roll a track around `PillButton` (whose `default`\n * variant tokens are tuned for standalone filter pills, not for a sunken track).\n *\n * Selection is conveyed non-visually via `role=\"radio\"` + `aria-checked`, and by a\n * foreground-colour change as well as the thumb, so it does not rest on background\n * colour alone.\n */\nconst SegmentedControl = <T extends string = string>({\n options,\n value,\n onChange,\n size = 'medium',\n fullWidth = false,\n disabled = false,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n className = '',\n}: SegmentedControlProps<T>) => {\n const itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n const sizeBlock = SIZE_CLASSES[size];\n\n const selectedIndex = options.findIndex((option) => option.value === value);\n // Roving tabindex: the group is a single tab stop. When the selected option is\n // missing or disabled, the first enabled option takes the stop so the control is\n // still reachable by keyboard.\n const selectedIsEnabled = selectedIndex >= 0 && !options[selectedIndex].disabled;\n const tabStopIndex = selectedIsEnabled\n ? selectedIndex\n : options.findIndex((option) => !option.disabled);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (disabled || !NAV_KEYS.has(event.key)) {\n return;\n }\n\n const enabled = options.reduce<\n Array<{ option: SegmentedControlOption<T>; index: number }>\n >((acc, option, index) => {\n if (!option.disabled) {\n acc.push({ option, index });\n }\n return acc;\n }, []);\n if (enabled.length === 0) {\n return;\n }\n\n // Only once we know we'll act — otherwise Home/End etc. should still scroll.\n event.preventDefault();\n\n const currentPosition = enabled.findIndex(({ option }) => option.value === value);\n let nextPosition: number;\n if (event.key === 'Home') {\n nextPosition = 0;\n } else if (event.key === 'End') {\n nextPosition = enabled.length - 1;\n } else {\n const delta = event.key === 'ArrowLeft' || event.key === 'ArrowUp' ? -1 : 1;\n const from = currentPosition === -1 ? 0 : currentPosition;\n nextPosition = (from + delta + enabled.length) % enabled.length;\n }\n\n const next = enabled[nextPosition];\n if (next.option.value !== value) {\n onChange(next.option.value);\n }\n itemRefs.current[next.index]?.focus();\n },\n [disabled, onChange, options, value],\n );\n\n return (\n <div\n role=\"radiogroup\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-disabled={disabled || undefined}\n onKeyDown={handleKeyDown}\n className={`${\n // One display utility, not two: `flex` and `inline-flex` are both plain\n // `display` utilities, so emitting both would resolve by stylesheet order\n // (same hazard as the background above).\n fullWidth ? 'flex w-full' : 'inline-flex'\n } ${sizeBlock.track} items-center gap-1 p-0.5 rounded-xl bg-[var(--malachite-segmented-control-track-background)] ${\n disabled ? 'opacity-50' : ''\n } ${className}`}\n >\n {options.map((option, index) => {\n const isSelected = option.value === value;\n const isDisabled = disabled || option.disabled;\n\n let colorClasses: string;\n if (isSelected) {\n colorClasses =\n 'bg-[var(--malachite-segmented-control-selected-background)] text-[var(--malachite-segmented-control-selected-foreground)]';\n } else if (isDisabled) {\n colorClasses =\n 'bg-transparent text-[var(--malachite-segmented-control-item-foreground)]';\n } else {\n colorClasses =\n 'bg-transparent text-[var(--malachite-segmented-control-item-foreground)] hover:text-[var(--malachite-segmented-control-item-hover-foreground)] cursor-pointer';\n }\n\n return (\n <button\n key={option.value}\n ref={(element) => {\n itemRefs.current[index] = element;\n }}\n type=\"button\"\n role=\"radio\"\n aria-checked={isSelected}\n disabled={isDisabled}\n tabIndex={index === tabStopIndex ? 0 : -1}\n onClick={() => {\n // Radios don't toggle off on re-click.\n if (!isDisabled && !isSelected) {\n onChange(option.value);\n }\n }}\n className={`${FOCUS_RING} ${ITEM_BASE} ${sizeBlock.text} ${sizeBlock.item} ${colorClasses} ${\n fullWidth ? 'flex-1' : ''\n } ${option.disabled && !disabled ? 'opacity-50 cursor-not-allowed' : ''}`}\n style={{\n // Inline rather than a `shadow-[...]` class: Tailwind's shadow\n // utilities compose `--tw-shadow-*` custom properties that rely on\n // document-level @property registration and silently don't paint\n // inside a shadow root (same caveat as `ring-*`).\n boxShadow: isSelected\n ? 'var(--malachite-segmented-control-selected-shadow, 0px 1px 5px 0px rgba(0, 0, 0, 0.1))'\n : undefined,\n }}\n >\n {option.icon ? (\n <span className=\"inline-flex items-center justify-center w-4 h-4 shrink-0\">\n {option.icon}\n </span>\n ) : null}\n {option.label}\n </button>\n );\n })}\n </div>\n );\n};\n\nexport default SegmentedControl;\nexport { SegmentedControl };\nexport type { SegmentedControlProps, SegmentedControlOption, SegmentedControlSize };\n"],"names":["SIZE_CLASSES","NAV_KEYS","ITEM_BASE","SegmentedControl","options","value","onChange","size","fullWidth","disabled","ariaLabel","ariaLabelledBy","className","itemRefs","useRef","sizeBlock","selectedIndex","option","tabStopIndex","handleKeyDown","useCallback","event","enabled","acc","index","currentPosition","nextPosition","delta","next","_a","jsx","isSelected","isDisabled","colorClasses","jsxs","element","FOCUS_RING"],"mappings":"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"}
@@ -0,0 +1,364 @@
1
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
+ import { useRef as Re, useId as $e } from "react";
3
+ import Te from "./CustomIcons/PinIcon.js";
4
+ import { Tag as xe } from "./Tag.js";
5
+ import ue from "./Tooltip.js";
6
+ import M from "./TruncatedTooltip.js";
7
+ import p from "./Typography/Text.js";
8
+ import { useCardStripSlot as ge } from "./cardStripSlot.js";
9
+ import { FOCUS_RING_WITHIN as ve } from "./focusRing.js";
10
+ import { useAdoptedStyleSheet as Ie } from "./useAdoptedStyleSheet.js";
11
+ const k = 240, K = `${k}px`, Z = "116px", V = "var(--malachite-radius-xxl, 14px)", L = `${V} ${V} 0 0`, u = "var(--malachite-selectable-card-muted-foreground, #7b7b7b)", ye = "var(--malachite-text-secondary, #7b7b7b)", se = "var(--malachite-selectable-card-accent, #047b43)", Ae = "var(--malachite-selectable-card-selected-tint, #e7f8f1)", Ne = "var(--malachite-selectable-card-selected-border, #047b43)", q = 0.7, Se = "var(--malachite-selectable-card-library-selected-tint, #f1f1f1)", Ce = "var(--malachite-selectable-card-library-selected-border, #bbbbbb)", re = "var(--malachite-selectable-card-pending-foreground, #96580a)", ne = "var(--malachite-selectable-card-editing-tint, #f9f2e9)", J = "var(--malachite-selectable-card-selected-surface-end, #ffffff)", Le = "var(--malachite-selectable-card-background, #f1f1f1)", Oe = "1px solid var(--malachite-selectable-card-border, #dddddd)", De = "var(--malachite-selectable-card-hover-background, #e8e8e8)", Pe = 14, s = Pe, b = 2, oe = 116, Fe = 14, ie = 2, dt = s - b / 2, $ = k + s * 2, T = oe + ie + b, ke = (a) => {
12
+ const t = b / 2, l = s + t, c = s + k - t, i = t, r = Fe - t;
13
+ return [
14
+ `M${l - s} ${a}`,
15
+ `A${s} ${s} 0 0 0 ${l} ${a - s}`,
16
+ `L${l} ${i + r}`,
17
+ `A${r} ${r} 0 0 1 ${l + r} ${i}`,
18
+ `L${c - r} ${i}`,
19
+ `A${r} ${r} 0 0 1 ${c} ${i + r}`,
20
+ `L${c} ${a - s}`,
21
+ `A${s} ${s} 0 0 0 ${c + s} ${a}`
22
+ ].join(" ");
23
+ }, F = ke(oe + ie / 2), Q = `${F} Z`, g = "malachite-selectable-card-outline", o = "malachite-selectable-card", we = "malachite-selectable-card-style", f = "--malachite-selectable-card-state-outline", m = "--malachite-selectable-card-state-tint", O = {
24
+ "background-color": De,
25
+ "border-left-color": "transparent"
26
+ }, D = {
27
+ "background-color": Le
28
+ }, P = {
29
+ profile: {
30
+ resting: D,
31
+ hover: O,
32
+ selected: {
33
+ [f]: Ne,
34
+ [m]: Ae
35
+ }
36
+ },
37
+ library: {
38
+ resting: D,
39
+ hover: O,
40
+ selected: {
41
+ [f]: Ce,
42
+ [m]: Se
43
+ }
44
+ },
45
+ editing: {
46
+ resting: D,
47
+ hover: O,
48
+ selected: {
49
+ [f]: re,
50
+ [m]: ne
51
+ }
52
+ }
53
+ }, x = { color: ye }, Be = {
54
+ profile: {
55
+ resting: x,
56
+ selected: { color: se, opacity: q }
57
+ },
58
+ library: { resting: x, selected: x },
59
+ editing: {
60
+ resting: x,
61
+ selected: { color: re, opacity: q }
62
+ }
63
+ }, Ue = { "border-left": Oe }, Ge = `
64
+ .${o}[data-state='selected'] {
65
+ z-index: 5;
66
+ }
67
+ .${o} > .${g} {
68
+ position: absolute;
69
+ left: -${s}px;
70
+ top: 0;
71
+ z-index: 0;
72
+ overflow: visible;
73
+ pointer-events: none;
74
+ }
75
+ .${o} > *:not(.${g}):not([data-selectable-card-actions]) {
76
+ position: relative;
77
+ z-index: 1;
78
+ }
79
+ .${o} > [data-selectable-card-actions] {
80
+ z-index: 2;
81
+ }`, ce = (a) => Object.entries(a).map(([t, l]) => ` ${t}: ${l};`).join(`
82
+ `), We = (a, t) => t === "hover" ? `.${o}[data-variant='${a}'][data-state='resting'][data-hoverable]:hover` : `.${o}[data-variant='${a}'][data-state='${t}']`, Ye = (a, t, l) => `${We(a, t)} {
83
+ ${ce(l)}
84
+ }`, ze = Object.keys(P).flatMap(
85
+ (a) => Object.keys(P[a]).map(
86
+ (t) => Ye(a, t, P[a][t])
87
+ )
88
+ ).join(`
89
+ `), He = `.${o}[data-pinned='false'][data-state='resting'] {
90
+ ${ce(
91
+ Ue
92
+ )}
93
+ }`, je = `${He}
94
+ ${ze}
95
+ ${Ge}`, Xe = {
96
+ display: "-webkit-box",
97
+ WebkitLineClamp: 2,
98
+ WebkitBoxOrient: "vertical",
99
+ overflow: "hidden",
100
+ color: u,
101
+ lineHeight: 1.6
102
+ }, Me = { color: u, letterSpacing: "0.11px" }, w = "var(--malachite-selectable-card-pending-foreground, #96580a)", Ke = { color: w }, Ze = { color: w, opacity: 0.7 }, Ve = 36, qe = 38, ee = {
103
+ color: "var(--malachite-text-primary)"
104
+ }, te = "Default profile", Je = 16, Qe = {
105
+ color: se,
106
+ display: "inline-flex"
107
+ }, ae = () => /* @__PURE__ */ e(ue, { text: te, triggerAs: "span", describesTrigger: !1, children: /* @__PURE__ */ e("span", { role: "img", "aria-label": te, style: Qe, children: /* @__PURE__ */ e(Te, { size: Je }) }) }), le = (a) => {
108
+ const t = a.filter((l) => l !== void 0);
109
+ return t.length > 0 ? t.join(" ") : void 0;
110
+ }, pt = ({
111
+ value: a,
112
+ title: t,
113
+ titleIcon: l,
114
+ isDefault: c = !1,
115
+ variant: i = "profile",
116
+ eyebrow: r,
117
+ status: E,
118
+ description: v,
119
+ countLabel: I,
120
+ actions: y,
121
+ selected: d = !1,
122
+ loading: de = !1,
123
+ loadingLabel: pe = "Loading…",
124
+ loadingHint: B,
125
+ disabled: _ = !1,
126
+ dimmed: U = !1,
127
+ onSelect: A,
128
+ tabIndex: he,
129
+ "aria-label": G,
130
+ className: W = "",
131
+ style: Y
132
+ }) => {
133
+ const { pinned: fe } = ge(), me = !d && !_, N = Re(null);
134
+ Ie(N, je, we);
135
+ const h = `mal-selectable-card-${$e().replace(/[^a-zA-Z0-9_-]/g, "")}`, R = `${h}-outline`, z = `${h}-eyebrow`, H = `${h}-status`, S = `${h}-title`, j = `${h}-description`, X = `${h}-count`, be = G ? void 0 : le([r ? z : void 0, S, E ? H : void 0]), Ee = le([
136
+ v ? j : void 0,
137
+ I ? X : void 0
138
+ ]);
139
+ if (de)
140
+ return /* @__PURE__ */ n(
141
+ "div",
142
+ {
143
+ ref: N,
144
+ role: "status",
145
+ "aria-busy": "true",
146
+ "aria-live": "polite",
147
+ "data-variant": "editing",
148
+ "data-state": "selected",
149
+ className: `${o} relative flex shrink-0 flex-col items-center gap-2 px-5 text-center ${W}`.trim(),
150
+ style: {
151
+ width: K,
152
+ height: Z,
153
+ borderRadius: L,
154
+ boxSizing: "border-box",
155
+ paddingTop: `${Ve}px`,
156
+ paddingBottom: `${qe}px`,
157
+ justifyContent: "center",
158
+ [f]: w,
159
+ [m]: ne,
160
+ ...Y
161
+ },
162
+ children: [
163
+ /* @__PURE__ */ n(
164
+ "svg",
165
+ {
166
+ className: g,
167
+ width: $,
168
+ height: T,
169
+ viewBox: `0 0 ${$} ${T}`,
170
+ fill: "none",
171
+ "aria-hidden": "true",
172
+ children: [
173
+ /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ n("linearGradient", { id: R, x1: "0", y1: "0", x2: "0", y2: "1", children: [
174
+ /* @__PURE__ */ e("stop", { offset: "0", style: { stopColor: `var(${m})` } }),
175
+ /* @__PURE__ */ e("stop", { offset: "1", style: { stopColor: J } })
176
+ ] }) }),
177
+ /* @__PURE__ */ e(
178
+ "path",
179
+ {
180
+ d: Q,
181
+ "data-malachite-shape": "",
182
+ style: { fill: `url(#${R})` }
183
+ }
184
+ ),
185
+ /* @__PURE__ */ e(
186
+ "path",
187
+ {
188
+ d: F,
189
+ "data-malachite-shape": "",
190
+ strokeWidth: b,
191
+ style: { fill: "none", stroke: `var(${f})` }
192
+ }
193
+ )
194
+ ]
195
+ }
196
+ ),
197
+ /* @__PURE__ */ e(p, { size: "small", fontWeight: "semi-bold", style: Ke, children: pe }),
198
+ B ? /* @__PURE__ */ e(p, { size: "xsmall", fontWeight: "semi-bold", style: Ze, children: B }) : null
199
+ ]
200
+ }
201
+ );
202
+ const C = i === "library", _e = Be[i][d ? "selected" : "resting"];
203
+ return /* @__PURE__ */ n(
204
+ "div",
205
+ {
206
+ ref: N,
207
+ "data-variant": i,
208
+ "data-pinned": fe ? "true" : "false",
209
+ "data-state": d ? "selected" : "resting",
210
+ "data-hoverable": me ? "" : void 0,
211
+ className: `${o} group relative grid shrink-0 grid-rows-[1fr_auto] ${ve} ${W}`.trim(),
212
+ style: {
213
+ width: K,
214
+ height: Z,
215
+ borderRadius: L,
216
+ boxSizing: "border-box",
217
+ ...Y
218
+ },
219
+ children: [
220
+ d ? /* @__PURE__ */ n(
221
+ "svg",
222
+ {
223
+ className: g,
224
+ width: $,
225
+ height: T,
226
+ viewBox: `0 0 ${$} ${T}`,
227
+ fill: "none",
228
+ "aria-hidden": "true",
229
+ children: [
230
+ /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ n("linearGradient", { id: R, x1: "0", y1: "0", x2: "0", y2: "1", children: [
231
+ /* @__PURE__ */ e("stop", { offset: "0", style: { stopColor: `var(${m})` } }),
232
+ /* @__PURE__ */ e("stop", { offset: "1", style: { stopColor: J } })
233
+ ] }) }),
234
+ /* @__PURE__ */ e(
235
+ "path",
236
+ {
237
+ d: Q,
238
+ "data-malachite-shape": "",
239
+ style: { fill: `url(#${R})` }
240
+ }
241
+ ),
242
+ /* @__PURE__ */ e(
243
+ "path",
244
+ {
245
+ d: F,
246
+ "data-malachite-shape": "",
247
+ strokeWidth: b,
248
+ style: { fill: "none", stroke: `var(${f})` }
249
+ }
250
+ )
251
+ ]
252
+ }
253
+ ) : null,
254
+ /* @__PURE__ */ n(
255
+ "button",
256
+ {
257
+ type: "button",
258
+ role: "radio",
259
+ "data-value": a,
260
+ "aria-checked": d,
261
+ "aria-label": G,
262
+ "aria-labelledby": be,
263
+ "aria-describedby": Ee,
264
+ "aria-disabled": _ || void 0,
265
+ tabIndex: he ?? (d ? 0 : -1),
266
+ onClick: () => {
267
+ _ || d || A == null || A(a);
268
+ },
269
+ className: `flex min-w-0 appearance-none flex-col border-0 bg-transparent py-0 pt-3 pr-4 pl-4 text-left outline-none ${_ ? "cursor-not-allowed" : "cursor-pointer"}`,
270
+ style: { borderRadius: L },
271
+ children: [
272
+ /* @__PURE__ */ e(
273
+ "div",
274
+ {
275
+ className: `flex h-[13px] shrink-0 items-center gap-2 ${y ? "pr-[26px]" : "pr-1"}`,
276
+ children: /* @__PURE__ */ n("div", { className: "flex min-w-0 items-center gap-1.5", children: [
277
+ C ? /* @__PURE__ */ n("span", { id: S, className: "flex min-w-0 items-center gap-1.5", children: [
278
+ l ? /* @__PURE__ */ e(
279
+ "span",
280
+ {
281
+ className: "flex shrink-0 items-center",
282
+ style: ee,
283
+ children: l
284
+ }
285
+ ) : null,
286
+ c ? /* @__PURE__ */ e("span", { className: "flex shrink-0 items-center", children: /* @__PURE__ */ e(ae, {}) }) : null,
287
+ /* @__PURE__ */ e(M, { text: t, children: /* @__PURE__ */ e(
288
+ p,
289
+ {
290
+ size: "small",
291
+ fontWeight: "semi-bold",
292
+ style: U ? { color: u } : void 0,
293
+ children: t
294
+ }
295
+ ) })
296
+ ] }) : null,
297
+ r ? /* @__PURE__ */ e("span", { id: z, className: "flex min-w-0", children: /* @__PURE__ */ e(p, { size: "xsmall", fontWeight: "semi-bold", style: _e, children: r }) }) : null,
298
+ E ? /* @__PURE__ */ e("span", { id: H, className: "flex min-w-0", children: /* @__PURE__ */ e(
299
+ xe,
300
+ {
301
+ value: E.label,
302
+ type: E.type ?? "default",
303
+ textTransform: "none",
304
+ paddingSize: "compact"
305
+ }
306
+ ) }) : null
307
+ ] })
308
+ }
309
+ ),
310
+ /* @__PURE__ */ n(
311
+ "div",
312
+ {
313
+ className: `mt-[11px] flex min-w-0 flex-1 flex-col gap-1 pt-3 ${C ? "justify-end" : "justify-between"}`,
314
+ children: [
315
+ C ? null : /* @__PURE__ */ n("div", { id: S, className: "flex min-w-0 items-center gap-1.5", children: [
316
+ l ? /* @__PURE__ */ e(
317
+ "span",
318
+ {
319
+ className: "flex shrink-0 items-center",
320
+ style: ee,
321
+ children: l
322
+ }
323
+ ) : null,
324
+ c ? /* @__PURE__ */ e("span", { className: "flex shrink-0 items-center", children: /* @__PURE__ */ e(ae, {}) }) : null,
325
+ /* @__PURE__ */ e(M, { text: t, children: /* @__PURE__ */ e(
326
+ p,
327
+ {
328
+ size: "small",
329
+ fontWeight: "semi-bold",
330
+ style: U ? { color: u } : void 0,
331
+ children: t
332
+ }
333
+ ) })
334
+ ] }),
335
+ v ? /* @__PURE__ */ e("span", { id: j, className: "block min-w-0", children: /* @__PURE__ */ e(p, { size: "xsmall", style: Xe, children: v }) }) : null
336
+ ]
337
+ }
338
+ )
339
+ ]
340
+ }
341
+ ),
342
+ /* @__PURE__ */ e("span", { id: X, className: "min-w-0 self-end truncate pr-4 pb-3 pl-4", children: I ? /* @__PURE__ */ e(p, { size: "xsmall", fontWeight: "semi-bold", style: Me, children: I }) : null }),
343
+ y ? /* @__PURE__ */ e(
344
+ "div",
345
+ {
346
+ "data-selectable-card-actions": "",
347
+ className: "absolute top-3 right-4 flex h-[13px] shrink-0 items-center gap-2.5",
348
+ children: y
349
+ }
350
+ ) : null
351
+ ]
352
+ }
353
+ );
354
+ };
355
+ export {
356
+ Pe as CARD_FLARE_PX,
357
+ dt as CARD_FLARE_TIP_PX,
358
+ k as CARD_WIDTH_PX,
359
+ g as FLARE_CLASS,
360
+ ie as STRIP_RULE_PX,
361
+ pt as SelectableCard,
362
+ pt as default
363
+ };
364
+ //# sourceMappingURL=SelectableCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectableCard.js","sources":["../../src/components/SelectableCard.tsx"],"sourcesContent":["import React, { useId, useRef } from 'react';\nimport PinIcon from './CustomIcons/PinIcon';\nimport Tag, { type TagType } from './Tag';\nimport Tooltip from './Tooltip';\nimport TruncatedTooltip from './TruncatedTooltip';\nimport Text from './Typography/Text';\nimport { useCardStripSlot } from './cardStripSlot';\nimport { FOCUS_RING_WITHIN } from './focusRing';\nimport { useAdoptedStyleSheet } from './useAdoptedStyleSheet';\n\nexport interface SelectableCardStatus {\n label: string;\n /** Maps to Tag's palette — `default` (grey) for \"Disabled\", `warning` (amber) for \"Draft\". */\n type?: TagType;\n}\n\n/** The card's palette: `profile` is green, `library` neutral, `editing` amber for a\n * profile with unsaved changes. */\nexport type SelectableCardVariant = 'profile' | 'library' | 'editing';\n\nexport interface SelectableCardProps {\n /** Identifies the card inside its group; handed back to `onSelect`. */\n value: string;\n title: string;\n /** Leading glyph on the title line, e.g. a library/book icon. */\n titleIcon?: React.ReactNode;\n /** Pins the card as the account default, marked beside the title. */\n isDefault?: boolean;\n /** Palette only — gradient, borders, indicator and eyebrow; position is settled by the strip. */\n variant?: SelectableCardVariant;\n /** Small label above the title (\"Profile\", \"Explore\"). */\n eyebrow?: string;\n /** Status pill rendered next to the eyebrow — or in its place when there is no eyebrow. */\n status?: SelectableCardStatus;\n /** Supporting copy under the title, clamped to two lines. */\n description?: string;\n /** Bottom-left summary (\"16 Actions\", \"10 Selected\"). */\n countLabel?: string;\n /** Top-right cluster (markers, an ActionMenu…). The eyebrow row gives way to one\n * xsmall control; a wider cluster needs a shorter eyebrow and status to clear it. */\n actions?: React.ReactNode;\n selected?: boolean;\n /** Replaces the card's content with a centred in-progress message. */\n loading?: boolean;\n loadingLabel?: string;\n loadingHint?: string;\n /** Blocks selection. Draws no dimming of its own — a switched-off profile is signalled by its `status` tag. */\n disabled?: boolean;\n /** Mutes the title without blocking selection. */\n dimmed?: boolean;\n onSelect?: (value: string) => void;\n /** Tab stop for the card. */\n tabIndex?: number;\n /** Replaces the generated accessible name (eyebrow + title + status). */\n 'aria-label'?: string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const CARD_WIDTH_PX = 240;\nconst CARD_WIDTH = `${CARD_WIDTH_PX}px`;\nconst CARD_HEIGHT = '116px';\nconst CARD_CORNER = 'var(--malachite-radius-xxl, 14px)';\nconst CARD_RADIUS = `${CARD_CORNER} ${CARD_CORNER} 0 0`;\n\nconst MUTED = 'var(--malachite-selectable-card-muted-foreground, #7b7b7b)';\nconst EYEBROW = 'var(--malachite-text-secondary, #7b7b7b)';\n\nconst PROFILE_ACCENT = 'var(--malachite-selectable-card-accent, #047b43)';\nconst PROFILE_TINT = 'var(--malachite-selectable-card-selected-tint, #e7f8f1)';\nconst PROFILE_SELECTED_BORDER = 'var(--malachite-selectable-card-selected-border, #047b43)';\nconst PROFILE_EYEBROW_OPACITY = 0.7;\n\nconst LIBRARY_TINT = 'var(--malachite-selectable-card-library-selected-tint, #f1f1f1)';\nconst LIBRARY_SELECTED_BORDER = 'var(--malachite-selectable-card-library-selected-border, #bbbbbb)';\n\nconst EDITING_ACCENT = 'var(--malachite-selectable-card-pending-foreground, #96580a)';\nconst EDITING_TINT = 'var(--malachite-selectable-card-editing-tint, #f9f2e9)';\n\nconst SELECTED_SURFACE_END = 'var(--malachite-selectable-card-selected-surface-end, #ffffff)';\n\nconst RESTING_SURFACE = 'var(--malachite-selectable-card-background, #f1f1f1)';\nconst RESTING_BORDER = '1px solid var(--malachite-selectable-card-border, #dddddd)';\n\nconst HOVER_SURFACE_FILL = 'var(--malachite-selectable-card-hover-background, #e8e8e8)';\n\n/** How far a selected card's outline sweeps past its own edge. The strip keeps this much\n * clear of its scroller's clip. */\nexport const CARD_FLARE_PX = 14;\nconst FLARE_PX = CARD_FLARE_PX;\nconst STROKE_PX = 2;\nconst CARD_HEIGHT_PX = 116;\nconst CORNER_PX = 14;\n\n/** Weight of the strip's bottom rule, which a selected card's flare reaches down through. */\nexport const STRIP_RULE_PX = 2;\n\n/** Where the strip's rule meets the flare. The stroke is centred on its path, so the tip\n * stops half a stroke inside the flare box. */\nexport const CARD_FLARE_TIP_PX = FLARE_PX - STROKE_PX / 2;\n\nconst FLARE_BOX_WIDTH = CARD_WIDTH_PX + FLARE_PX * 2;\nconst FLARE_BOX_HEIGHT = CARD_HEIGHT_PX + STRIP_RULE_PX + STROKE_PX;\n\n/** Stroke is centred on the path, so the card's own edges sit half a stroke inside the box. */\nconst pathTo = (base: number): string => {\n const inset = STROKE_PX / 2;\n const left = FLARE_PX + inset;\n const right = FLARE_PX + CARD_WIDTH_PX - inset;\n const top = inset;\n const r = CORNER_PX - inset;\n return [\n `M${left - FLARE_PX} ${base}`,\n `A${FLARE_PX} ${FLARE_PX} 0 0 0 ${left} ${base - FLARE_PX}`,\n `L${left} ${top + r}`,\n `A${r} ${r} 0 0 1 ${left + r} ${top}`,\n `L${right - r} ${top}`,\n `A${r} ${r} 0 0 1 ${right} ${top + r}`,\n `L${right} ${base - FLARE_PX}`,\n `A${FLARE_PX} ${FLARE_PX} 0 0 0 ${right + FLARE_PX} ${base}`,\n ].join(' ');\n};\n\nconst OUTLINE_PATH = pathTo(CARD_HEIGHT_PX + STRIP_RULE_PX / 2);\n\nconst FILL_PATH = `${OUTLINE_PATH} Z`;\n\nexport const FLARE_CLASS = 'malachite-selectable-card-outline';\n\nconst ROOT_CLASS = 'malachite-selectable-card';\nconst STYLE_ID = 'malachite-selectable-card-style';\n\nconst OUTLINE_PROPERTY = '--malachite-selectable-card-state-outline';\nconst TINT_PROPERTY = '--malachite-selectable-card-state-tint';\n\ntype CardState = 'resting' | 'hover' | 'selected';\ntype SettledState = Exclude<CardState, 'hover'>;\n\ntype Declarations = Record<string, string>;\n\nconst HOVER_SURFACE: Declarations = {\n 'background-color': HOVER_SURFACE_FILL,\n 'border-left-color': 'transparent',\n};\n\nconst RESTING_SURFACE_DECLARATIONS: Declarations = {\n 'background-color': RESTING_SURFACE,\n};\n\n/** Never inline styles: an inline declaration outranks the sheet, so `:hover` could never repaint the card. */\nconst SURFACES: Record<SelectableCardVariant, Record<CardState, Declarations>> = {\n profile: {\n resting: RESTING_SURFACE_DECLARATIONS,\n hover: HOVER_SURFACE,\n selected: {\n [OUTLINE_PROPERTY]: PROFILE_SELECTED_BORDER,\n [TINT_PROPERTY]: PROFILE_TINT,\n },\n },\n library: {\n resting: RESTING_SURFACE_DECLARATIONS,\n hover: HOVER_SURFACE,\n selected: {\n [OUTLINE_PROPERTY]: LIBRARY_SELECTED_BORDER,\n [TINT_PROPERTY]: LIBRARY_TINT,\n },\n },\n editing: {\n resting: RESTING_SURFACE_DECLARATIONS,\n hover: HOVER_SURFACE,\n selected: {\n [OUTLINE_PROPERTY]: EDITING_ACCENT,\n [TINT_PROPERTY]: EDITING_TINT,\n },\n },\n};\n\nconst RESTING_EYEBROW: React.CSSProperties = { color: EYEBROW };\n\nconst EYEBROWS: Record<SelectableCardVariant, Record<SettledState, React.CSSProperties>> = {\n profile: {\n resting: RESTING_EYEBROW,\n selected: { color: PROFILE_ACCENT, opacity: PROFILE_EYEBROW_OPACITY },\n },\n library: { resting: RESTING_EYEBROW, selected: RESTING_EYEBROW },\n editing: {\n resting: RESTING_EYEBROW,\n selected: { color: EDITING_ACCENT, opacity: PROFILE_EYEBROW_OPACITY },\n },\n};\n\nconst SCROLLED_SURFACE: Declarations = { 'border-left': RESTING_BORDER };\n\nconst OUTLINE_CSS = `\n.${ROOT_CLASS}[data-state='selected'] {\n z-index: 5;\n}\n.${ROOT_CLASS} > .${FLARE_CLASS} {\n position: absolute;\n left: -${FLARE_PX}px;\n top: 0;\n z-index: 0;\n overflow: visible;\n pointer-events: none;\n}\n.${ROOT_CLASS} > *:not(.${FLARE_CLASS}):not([data-selectable-card-actions]) {\n position: relative;\n z-index: 1;\n}\n.${ROOT_CLASS} > [data-selectable-card-actions] {\n z-index: 2;\n}`;\n\nconst bodyOf = (declarations: Declarations): string =>\n Object.entries(declarations)\n .map(([property, value]) => ` ${property}: ${value};`)\n .join('\\n');\n\nconst selectorFor = (variant: SelectableCardVariant, state: CardState): string =>\n state === 'hover'\n ? `.${ROOT_CLASS}[data-variant='${variant}'][data-state='resting'][data-hoverable]:hover`\n : `.${ROOT_CLASS}[data-variant='${variant}'][data-state='${state}']`;\n\nconst ruleFor = (\n variant: SelectableCardVariant,\n state: CardState,\n declarations: Declarations,\n): string => `${selectorFor(variant, state)} {\\n${bodyOf(declarations)}\\n}`;\n\nconst SURFACE_CSS = (Object.keys(SURFACES) as SelectableCardVariant[])\n .flatMap((variant) =>\n (Object.keys(SURFACES[variant]) as CardState[]).map((state) =>\n ruleFor(variant, state, SURFACES[variant][state]),\n ),\n )\n .join('\\n');\n\nconst SLOT_CSS = `.${ROOT_CLASS}[data-pinned='false'][data-state='resting'] {\\n${bodyOf(\n SCROLLED_SURFACE,\n)}\\n}`;\n\nconst CARD_CSS = `${SLOT_CSS}\\n${SURFACE_CSS}\\n${OUTLINE_CSS}`;\n\nconst DESCRIPTION_STYLE: React.CSSProperties = {\n display: '-webkit-box',\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical',\n overflow: 'hidden',\n color: MUTED,\n lineHeight: 1.6,\n};\n\nconst COUNT_STYLE: React.CSSProperties = { color: MUTED, letterSpacing: '0.11px' };\n\nconst PENDING = 'var(--malachite-selectable-card-pending-foreground, #96580a)';\n\nconst LOADING_LABEL_STYLE: React.CSSProperties = { color: PENDING };\nconst LOADING_HINT_STYLE: React.CSSProperties = { color: PENDING, opacity: 0.7 };\n\nconst PENDING_BODY_TOP_PX = 36;\nconst PENDING_BODY_BOTTOM_PX = 38;\n\nconst TITLE_ICON_STYLE: React.CSSProperties = {\n color: 'var(--malachite-text-primary)',\n};\n\nconst DEFAULT_MARKER_LABEL = 'Default profile';\nconst DEFAULT_MARKER_SIZE_PX = 16;\nconst DEFAULT_MARKER_STYLE: React.CSSProperties = {\n color: PROFILE_ACCENT,\n display: 'inline-flex',\n};\n\n/** Announced rather than shown alone: a bare glyph reads as an unnamed graphic, and the tooltip\n * travels by `aria-describedby`, which describes rather than names. */\nconst DefaultMarker: React.FC = () => (\n <Tooltip text={DEFAULT_MARKER_LABEL} triggerAs=\"span\" describesTrigger={false}>\n <span role=\"img\" aria-label={DEFAULT_MARKER_LABEL} style={DEFAULT_MARKER_STYLE}>\n <PinIcon size={DEFAULT_MARKER_SIZE_PX} />\n </span>\n </Tooltip>\n);\n\nconst joinIds = (ids: Array<string | undefined>): string | undefined => {\n const present = ids.filter((id): id is string => id !== undefined);\n return present.length > 0 ? present.join(' ') : undefined;\n};\n\n/** A fixed-size card that behaves as one option in a radio group: a card-shaped `Surface.Row`. */\nconst SelectableCard: React.FC<SelectableCardProps> = ({\n value,\n title,\n titleIcon,\n isDefault = false,\n variant = 'profile',\n eyebrow,\n status,\n description,\n countLabel,\n actions,\n selected = false,\n loading = false,\n loadingLabel = 'Loading…',\n loadingHint,\n disabled = false,\n dimmed = false,\n onSelect,\n tabIndex,\n 'aria-label': ariaLabel,\n className = '',\n style,\n}) => {\n const { pinned } = useCardStripSlot();\n const hoverable = !selected && !disabled;\n\n const rootRef = useRef<HTMLDivElement>(null);\n useAdoptedStyleSheet(rootRef, CARD_CSS, STYLE_ID);\n\n const instanceId = `mal-selectable-card-${useId().replace(/[^a-zA-Z0-9_-]/g, '')}`;\n const outlineGradientId = `${instanceId}-outline`;\n const eyebrowId = `${instanceId}-eyebrow`;\n const statusId = `${instanceId}-status`;\n const titleId = `${instanceId}-title`;\n const descriptionId = `${instanceId}-description`;\n const countId = `${instanceId}-count`;\n\n const labelledBy = ariaLabel\n ? undefined\n : joinIds([eyebrow ? eyebrowId : undefined, titleId, status ? statusId : undefined]);\n const describedBy = joinIds([\n description ? descriptionId : undefined,\n countLabel ? countId : undefined,\n ]);\n\n if (loading) {\n return (\n <div\n ref={rootRef}\n role=\"status\"\n aria-busy=\"true\"\n aria-live=\"polite\"\n data-variant=\"editing\"\n data-state=\"selected\"\n className={`${ROOT_CLASS} relative flex shrink-0 flex-col items-center gap-2 px-5 text-center ${className}`.trim()}\n style={\n {\n width: CARD_WIDTH,\n height: CARD_HEIGHT,\n borderRadius: CARD_RADIUS,\n boxSizing: 'border-box',\n paddingTop: `${PENDING_BODY_TOP_PX}px`,\n paddingBottom: `${PENDING_BODY_BOTTOM_PX}px`,\n justifyContent: 'center',\n [OUTLINE_PROPERTY]: PENDING,\n [TINT_PROPERTY]: EDITING_TINT,\n ...style,\n } as React.CSSProperties\n }\n >\n {/* The same outline a selected card wears: this IS the selection while a profile\n is being built, so it has to break the strip's rule rather than sit on it. */}\n <svg\n className={FLARE_CLASS}\n width={FLARE_BOX_WIDTH}\n height={FLARE_BOX_HEIGHT}\n viewBox={`0 0 ${FLARE_BOX_WIDTH} ${FLARE_BOX_HEIGHT}`}\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <defs>\n <linearGradient id={outlineGradientId} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0\" style={{ stopColor: `var(${TINT_PROPERTY})` }} />\n <stop offset=\"1\" style={{ stopColor: SELECTED_SURFACE_END }} />\n </linearGradient>\n </defs>\n <path\n d={FILL_PATH}\n data-malachite-shape=\"\"\n style={{ fill: `url(#${outlineGradientId})` }}\n />\n <path\n d={OUTLINE_PATH}\n data-malachite-shape=\"\"\n strokeWidth={STROKE_PX}\n style={{ fill: 'none', stroke: `var(${OUTLINE_PROPERTY})` }}\n />\n </svg>\n <Text size=\"small\" fontWeight=\"semi-bold\" style={LOADING_LABEL_STYLE}>\n {loadingLabel}\n </Text>\n {loadingHint ? (\n <Text size=\"xsmall\" fontWeight=\"semi-bold\" style={LOADING_HINT_STYLE}>\n {loadingHint}\n </Text>\n ) : null}\n </div>\n );\n }\n\n const titleInTopRow = variant === 'library';\n\n const eyebrowStyle = EYEBROWS[variant][selected ? 'selected' : 'resting'];\n\n return (\n <div\n ref={rootRef}\n data-variant={variant}\n data-pinned={pinned ? 'true' : 'false'}\n data-state={selected ? 'selected' : 'resting'}\n data-hoverable={hoverable ? '' : undefined}\n className={`${ROOT_CLASS} group relative grid shrink-0 grid-rows-[1fr_auto] ${FOCUS_RING_WITHIN} ${className}`.trim()}\n style={{\n width: CARD_WIDTH,\n height: CARD_HEIGHT,\n borderRadius: CARD_RADIUS,\n boxSizing: 'border-box',\n ...style,\n }}\n >\n {selected ? (\n <svg\n className={FLARE_CLASS}\n width={FLARE_BOX_WIDTH}\n height={FLARE_BOX_HEIGHT}\n viewBox={`0 0 ${FLARE_BOX_WIDTH} ${FLARE_BOX_HEIGHT}`}\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <defs>\n <linearGradient id={outlineGradientId} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0\" style={{ stopColor: `var(${TINT_PROPERTY})` }} />\n <stop offset=\"1\" style={{ stopColor: SELECTED_SURFACE_END }} />\n </linearGradient>\n </defs>\n <path\n d={FILL_PATH}\n data-malachite-shape=\"\"\n style={{ fill: `url(#${outlineGradientId})` }}\n />\n <path\n d={OUTLINE_PATH}\n data-malachite-shape=\"\"\n strokeWidth={STROKE_PX}\n style={{ fill: 'none', stroke: `var(${OUTLINE_PROPERTY})` }}\n />\n </svg>\n ) : null}\n <button\n type=\"button\"\n role=\"radio\"\n data-value={value}\n aria-checked={selected}\n aria-label={ariaLabel}\n aria-labelledby={labelledBy}\n aria-describedby={describedBy}\n aria-disabled={disabled || undefined}\n tabIndex={tabIndex ?? (selected ? 0 : -1)}\n onClick={() => {\n if (disabled || selected) {\n return;\n }\n onSelect?.(value);\n }}\n className={`flex min-w-0 appearance-none flex-col border-0 bg-transparent py-0 pt-3 pr-4 pl-4 text-left outline-none ${\n disabled ? 'cursor-not-allowed' : 'cursor-pointer'\n }`}\n style={{ borderRadius: CARD_RADIUS }}\n >\n {/* 26px is the xsmall icon button the cluster usually holds, plus a gap: the\n cluster stands over the end of this row, so the eyebrow stops short of it. */}\n <div\n className={`flex h-[13px] shrink-0 items-center gap-2 ${\n actions ? 'pr-[26px]' : 'pr-1'\n }`}\n >\n <div className=\"flex min-w-0 items-center gap-1.5\">\n {titleInTopRow ? (\n <span id={titleId} className=\"flex min-w-0 items-center gap-1.5\">\n {titleIcon ? (\n <span\n className=\"flex shrink-0 items-center\"\n style={TITLE_ICON_STYLE}\n >\n {titleIcon}\n </span>\n ) : null}\n {isDefault ? (\n <span className=\"flex shrink-0 items-center\">\n <DefaultMarker />\n </span>\n ) : null}\n <TruncatedTooltip text={title}>\n <Text\n size=\"small\"\n fontWeight=\"semi-bold\"\n style={dimmed ? { color: MUTED } : undefined}\n >\n {title}\n </Text>\n </TruncatedTooltip>\n </span>\n ) : null}\n {eyebrow ? (\n <span id={eyebrowId} className=\"flex min-w-0\">\n <Text size=\"xsmall\" fontWeight=\"semi-bold\" style={eyebrowStyle}>\n {eyebrow}\n </Text>\n </span>\n ) : null}\n {status ? (\n <span id={statusId} className=\"flex min-w-0\">\n <Tag\n value={status.label}\n type={status.type ?? 'default'}\n textTransform=\"none\"\n paddingSize=\"compact\"\n />\n </span>\n ) : null}\n </div>\n </div>\n\n <div\n className={`mt-[11px] flex min-w-0 flex-1 flex-col gap-1 pt-3 ${\n titleInTopRow ? 'justify-end' : 'justify-between'\n }`}\n >\n {titleInTopRow ? null : (\n <div id={titleId} className=\"flex min-w-0 items-center gap-1.5\">\n {titleIcon ? (\n <span\n className=\"flex shrink-0 items-center\"\n style={TITLE_ICON_STYLE}\n >\n {titleIcon}\n </span>\n ) : null}\n {isDefault ? (\n <span className=\"flex shrink-0 items-center\">\n <DefaultMarker />\n </span>\n ) : null}\n <TruncatedTooltip text={title}>\n <Text\n size=\"small\"\n fontWeight=\"semi-bold\"\n style={dimmed ? { color: MUTED } : undefined}\n >\n {title}\n </Text>\n </TruncatedTooltip>\n </div>\n )}\n {description ? (\n <span id={descriptionId} className=\"block min-w-0\">\n <Text size=\"xsmall\" style={DESCRIPTION_STYLE}>\n {description}\n </Text>\n </span>\n ) : null}\n </div>\n </button>\n\n <span id={countId} className=\"min-w-0 self-end truncate pr-4 pb-3 pl-4\">\n {countLabel ? (\n <Text size=\"xsmall\" fontWeight=\"semi-bold\" style={COUNT_STYLE}>\n {countLabel}\n </Text>\n ) : null}\n </span>\n\n {/* Lifted out of the flow rather than given a grid cell, so it can sit on the\n eyebrow row — which belongs to the control and cannot hold a second one. */}\n {actions ? (\n <div\n data-selectable-card-actions=\"\"\n className=\"absolute top-3 right-4 flex h-[13px] shrink-0 items-center gap-2.5\"\n >\n {actions}\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default SelectableCard;\nexport { SelectableCard };\n"],"names":["CARD_WIDTH_PX","CARD_WIDTH","CARD_HEIGHT","CARD_CORNER","CARD_RADIUS","MUTED","EYEBROW","PROFILE_ACCENT","PROFILE_TINT","PROFILE_SELECTED_BORDER","PROFILE_EYEBROW_OPACITY","LIBRARY_TINT","LIBRARY_SELECTED_BORDER","EDITING_ACCENT","EDITING_TINT","SELECTED_SURFACE_END","RESTING_SURFACE","RESTING_BORDER","HOVER_SURFACE_FILL","CARD_FLARE_PX","FLARE_PX","STROKE_PX","CARD_HEIGHT_PX","CORNER_PX","STRIP_RULE_PX","CARD_FLARE_TIP_PX","FLARE_BOX_WIDTH","FLARE_BOX_HEIGHT","pathTo","base","inset","left","right","top","OUTLINE_PATH","FILL_PATH","FLARE_CLASS","ROOT_CLASS","STYLE_ID","OUTLINE_PROPERTY","TINT_PROPERTY","HOVER_SURFACE","RESTING_SURFACE_DECLARATIONS","SURFACES","RESTING_EYEBROW","EYEBROWS","SCROLLED_SURFACE","OUTLINE_CSS","bodyOf","declarations","property","value","selectorFor","variant","state","ruleFor","SURFACE_CSS","SLOT_CSS","CARD_CSS","DESCRIPTION_STYLE","COUNT_STYLE","PENDING","LOADING_LABEL_STYLE","LOADING_HINT_STYLE","PENDING_BODY_TOP_PX","PENDING_BODY_BOTTOM_PX","TITLE_ICON_STYLE","DEFAULT_MARKER_LABEL","DEFAULT_MARKER_SIZE_PX","DEFAULT_MARKER_STYLE","DefaultMarker","jsx","Tooltip","PinIcon","joinIds","ids","present","id","SelectableCard","title","titleIcon","isDefault","eyebrow","status","description","countLabel","actions","selected","loading","loadingLabel","loadingHint","disabled","dimmed","onSelect","tabIndex","ariaLabel","className","style","pinned","useCardStripSlot","hoverable","rootRef","useRef","useAdoptedStyleSheet","instanceId","useId","outlineGradientId","eyebrowId","statusId","titleId","descriptionId","countId","labelledBy","describedBy","jsxs","Text","titleInTopRow","eyebrowStyle","FOCUS_RING_WITHIN","TruncatedTooltip","Tag"],"mappings":"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"}