@wallarm-org/claude-design 0.0.0-stage → 4.8.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 (963) hide show
  1. package/README.md +114 -2
  2. package/bin/claude-design.js +347 -0
  3. package/dist/SETUP.md +130 -0
  4. package/dist/UPDATE.md +84 -0
  5. package/dist/assets/Icons/activity.svg +1 -0
  6. package/dist/assets/Icons/alt.svg +1 -0
  7. package/dist/assets/Icons/android-neutral.svg +1 -0
  8. package/dist/assets/Icons/android.svg +1 -0
  9. package/dist/assets/Icons/api.svg +1 -0
  10. package/dist/assets/Icons/apple-music-neutral.svg +1 -0
  11. package/dist/assets/Icons/apple-music.svg +1 -0
  12. package/dist/assets/Icons/apple-neutral.svg +1 -0
  13. package/dist/assets/Icons/apple-podcasts-neutral.svg +1 -0
  14. package/dist/assets/Icons/apple-podcasts.svg +1 -0
  15. package/dist/assets/Icons/apple.svg +1 -0
  16. package/dist/assets/Icons/archive.svg +1 -0
  17. package/dist/assets/Icons/arrow-big-up-dash.svg +1 -0
  18. package/dist/assets/Icons/arrow-big-up.svg +1 -0
  19. package/dist/assets/Icons/arrow-down-left.svg +1 -0
  20. package/dist/assets/Icons/arrow-down-right.svg +1 -0
  21. package/dist/assets/Icons/arrow-down.svg +1 -0
  22. package/dist/assets/Icons/arrow-left.svg +1 -0
  23. package/dist/assets/Icons/arrow-right-alt.svg +1 -0
  24. package/dist/assets/Icons/arrow-right.svg +1 -0
  25. package/dist/assets/Icons/arrow-up-down.svg +1 -0
  26. package/dist/assets/Icons/arrow-up-left.svg +1 -0
  27. package/dist/assets/Icons/arrow-up-right.svg +1 -0
  28. package/dist/assets/Icons/arrow-up.svg +1 -0
  29. package/dist/assets/Icons/artstation-neutral.svg +1 -0
  30. package/dist/assets/Icons/artstation.svg +1 -0
  31. package/dist/assets/Icons/asterisk.svg +1 -0
  32. package/dist/assets/Icons/audio-waveform.svg +1 -0
  33. package/dist/assets/Icons/aws-neutral.svg +1 -0
  34. package/dist/assets/Icons/aws.svg +1 -0
  35. package/dist/assets/Icons/badge-check.svg +1 -0
  36. package/dist/assets/Icons/baidu-neutral.svg +1 -0
  37. package/dist/assets/Icons/baidu.svg +1 -0
  38. package/dist/assets/Icons/bandage.svg +1 -0
  39. package/dist/assets/Icons/behance-neutral.svg +1 -0
  40. package/dist/assets/Icons/behance.svg +1 -0
  41. package/dist/assets/Icons/bell-cog.svg +1 -0
  42. package/dist/assets/Icons/bell.svg +1 -0
  43. package/dist/assets/Icons/binary.svg +1 -0
  44. package/dist/assets/Icons/book-open.svg +1 -0
  45. package/dist/assets/Icons/book.svg +1 -0
  46. package/dist/assets/Icons/boosty-neutral.svg +1 -0
  47. package/dist/assets/Icons/boosty.svg +1 -0
  48. package/dist/assets/Icons/bot.svg +1 -0
  49. package/dist/assets/Icons/brain.svg +1 -0
  50. package/dist/assets/Icons/braze-neutral.svg +1 -0
  51. package/dist/assets/Icons/braze.svg +1 -0
  52. package/dist/assets/Icons/brevo-neutral.svg +1 -0
  53. package/dist/assets/Icons/brevo.svg +1 -0
  54. package/dist/assets/Icons/bug-off.svg +1 -0
  55. package/dist/assets/Icons/bug-play.svg +1 -0
  56. package/dist/assets/Icons/bug.svg +1 -0
  57. package/dist/assets/Icons/building.svg +1 -0
  58. package/dist/assets/Icons/building2.svg +1 -0
  59. package/dist/assets/Icons/calendar-check.svg +1 -0
  60. package/dist/assets/Icons/calendar-check2.svg +1 -0
  61. package/dist/assets/Icons/calendar-clock.svg +1 -0
  62. package/dist/assets/Icons/calendar-cog.svg +1 -0
  63. package/dist/assets/Icons/calendar-days.svg +1 -0
  64. package/dist/assets/Icons/calendar-fold.svg +1 -0
  65. package/dist/assets/Icons/calendar-heart.svg +1 -0
  66. package/dist/assets/Icons/calendar-minus.svg +1 -0
  67. package/dist/assets/Icons/calendar-minus2.svg +1 -0
  68. package/dist/assets/Icons/calendar-off.svg +1 -0
  69. package/dist/assets/Icons/calendar-plus.svg +1 -0
  70. package/dist/assets/Icons/calendar-plus2.svg +1 -0
  71. package/dist/assets/Icons/calendar-range.svg +1 -0
  72. package/dist/assets/Icons/calendar-search.svg +1 -0
  73. package/dist/assets/Icons/calendar-x.svg +1 -0
  74. package/dist/assets/Icons/calendar-x2.svg +1 -0
  75. package/dist/assets/Icons/calendar.svg +1 -0
  76. package/dist/assets/Icons/chart-area.svg +1 -0
  77. package/dist/assets/Icons/chart-bar.svg +1 -0
  78. package/dist/assets/Icons/chart-column.svg +1 -0
  79. package/dist/assets/Icons/chart-no-axes-column.svg +1 -0
  80. package/dist/assets/Icons/check-check.svg +1 -0
  81. package/dist/assets/Icons/check.svg +1 -0
  82. package/dist/assets/Icons/checkbox-indeterminate.svg +1 -0
  83. package/dist/assets/Icons/chevron-down.svg +1 -0
  84. package/dist/assets/Icons/chevron-first.svg +1 -0
  85. package/dist/assets/Icons/chevron-last.svg +1 -0
  86. package/dist/assets/Icons/chevron-left.svg +1 -0
  87. package/dist/assets/Icons/chevron-right.svg +1 -0
  88. package/dist/assets/Icons/chevron-up-down.svg +1 -0
  89. package/dist/assets/Icons/chevron-up.svg +1 -0
  90. package/dist/assets/Icons/chevrons-down-up.svg +1 -0
  91. package/dist/assets/Icons/chevrons-down.svg +1 -0
  92. package/dist/assets/Icons/chevrons-left-right.svg +1 -0
  93. package/dist/assets/Icons/chevrons-left.svg +1 -0
  94. package/dist/assets/Icons/chevrons-right-left.svg +1 -0
  95. package/dist/assets/Icons/chevrons-right.svg +1 -0
  96. package/dist/assets/Icons/chevrons-up-down.svg +1 -0
  97. package/dist/assets/Icons/chevrons-up.svg +1 -0
  98. package/dist/assets/Icons/circle-arrow-down.svg +1 -0
  99. package/dist/assets/Icons/circle-arrow-left.svg +1 -0
  100. package/dist/assets/Icons/circle-arrow-out-down-left.svg +1 -0
  101. package/dist/assets/Icons/circle-arrow-out-down-right.svg +1 -0
  102. package/dist/assets/Icons/circle-arrow-out-up-left.svg +1 -0
  103. package/dist/assets/Icons/circle-arrow-out-up-right.svg +1 -0
  104. package/dist/assets/Icons/circle-arrow-right.svg +1 -0
  105. package/dist/assets/Icons/circle-arrow-up.svg +1 -0
  106. package/dist/assets/Icons/circle-check-big.svg +1 -0
  107. package/dist/assets/Icons/circle-check.svg +1 -0
  108. package/dist/assets/Icons/circle-chevron-down.svg +1 -0
  109. package/dist/assets/Icons/circle-chevron-left.svg +1 -0
  110. package/dist/assets/Icons/circle-chevron-right.svg +1 -0
  111. package/dist/assets/Icons/circle-chevron-up.svg +1 -0
  112. package/dist/assets/Icons/circle-dashed.svg +1 -0
  113. package/dist/assets/Icons/circle-dot-dashed.svg +1 -0
  114. package/dist/assets/Icons/circle-ellipsis.svg +1 -0
  115. package/dist/assets/Icons/circle-gauge.svg +1 -0
  116. package/dist/assets/Icons/circle-help.svg +1 -0
  117. package/dist/assets/Icons/circle-minus.svg +1 -0
  118. package/dist/assets/Icons/circle-plus.svg +1 -0
  119. package/dist/assets/Icons/circle-slash.svg +1 -0
  120. package/dist/assets/Icons/circle-slash2.svg +1 -0
  121. package/dist/assets/Icons/circle-stop.svg +1 -0
  122. package/dist/assets/Icons/circle.svg +1 -0
  123. package/dist/assets/Icons/clipboard-check.svg +1 -0
  124. package/dist/assets/Icons/clipboard-x.svg +1 -0
  125. package/dist/assets/Icons/clipboard.svg +1 -0
  126. package/dist/assets/Icons/clock-fading.svg +1 -0
  127. package/dist/assets/Icons/clock.svg +1 -0
  128. package/dist/assets/Icons/cloud-off.svg +1 -0
  129. package/dist/assets/Icons/cloud-sync.svg +1 -0
  130. package/dist/assets/Icons/cloud.svg +1 -0
  131. package/dist/assets/Icons/code.svg +1 -0
  132. package/dist/assets/Icons/collapse.svg +1 -0
  133. package/dist/assets/Icons/columns3-cog.svg +1 -0
  134. package/dist/assets/Icons/command.svg +1 -0
  135. package/dist/assets/Icons/compass.svg +1 -0
  136. package/dist/assets/Icons/copy-slash.svg +1 -0
  137. package/dist/assets/Icons/copy.svg +1 -0
  138. package/dist/assets/Icons/corner-down-left.svg +1 -0
  139. package/dist/assets/Icons/corner-down-right.svg +1 -0
  140. package/dist/assets/Icons/corner-left-down.svg +1 -0
  141. package/dist/assets/Icons/corner-left-up.svg +1 -0
  142. package/dist/assets/Icons/corner-right-down.svg +1 -0
  143. package/dist/assets/Icons/corner-right-up.svg +1 -0
  144. package/dist/assets/Icons/corner-up-left.svg +1 -0
  145. package/dist/assets/Icons/corner-up-right.svg +1 -0
  146. package/dist/assets/Icons/cpu.svg +1 -0
  147. package/dist/assets/Icons/credit-card.svg +1 -0
  148. package/dist/assets/Icons/crosshair.svg +1 -0
  149. package/dist/assets/Icons/ctrl.svg +1 -0
  150. package/dist/assets/Icons/database.svg +1 -0
  151. package/dist/assets/Icons/devianart-neutral.svg +1 -0
  152. package/dist/assets/Icons/devianart.svg +1 -0
  153. package/dist/assets/Icons/discord-neutral.svg +1 -0
  154. package/dist/assets/Icons/discord.svg +1 -0
  155. package/dist/assets/Icons/dollar-sign.svg +1 -0
  156. package/dist/assets/Icons/dot.svg +1 -0
  157. package/dist/assets/Icons/download.svg +1 -0
  158. package/dist/assets/Icons/dprofile-neutral.svg +1 -0
  159. package/dist/assets/Icons/dprofile.svg +1 -0
  160. package/dist/assets/Icons/dribbble-neutral.svg +1 -0
  161. package/dist/assets/Icons/dribbble.svg +1 -0
  162. package/dist/assets/Icons/droplet.svg +1 -0
  163. package/dist/assets/Icons/duplicate.svg +1 -0
  164. package/dist/assets/Icons/dzen-neutral.svg +1 -0
  165. package/dist/assets/Icons/dzen.svg +1 -0
  166. package/dist/assets/Icons/earth-lock.svg +1 -0
  167. package/dist/assets/Icons/earth.svg +1 -0
  168. package/dist/assets/Icons/ellipsis.svg +1 -0
  169. package/dist/assets/Icons/expand.svg +1 -0
  170. package/dist/assets/Icons/external-link.svg +1 -0
  171. package/dist/assets/Icons/eye-off.svg +1 -0
  172. package/dist/assets/Icons/eye.svg +1 -0
  173. package/dist/assets/Icons/facebook-neutral.svg +1 -0
  174. package/dist/assets/Icons/facebook.svg +1 -0
  175. package/dist/assets/Icons/fast-forward.svg +1 -0
  176. package/dist/assets/Icons/figma-neutral.svg +1 -0
  177. package/dist/assets/Icons/figma.svg +1 -0
  178. package/dist/assets/Icons/file-down.svg +1 -0
  179. package/dist/assets/Icons/file-plus.svg +1 -0
  180. package/dist/assets/Icons/file-text.svg +1 -0
  181. package/dist/assets/Icons/file.svg +1 -0
  182. package/dist/assets/Icons/film.svg +1 -0
  183. package/dist/assets/Icons/filter-x.svg +1 -0
  184. package/dist/assets/Icons/filter.svg +1 -0
  185. package/dist/assets/Icons/fingerprint-pattern.svg +1 -0
  186. package/dist/assets/Icons/flag.svg +1 -0
  187. package/dist/assets/Icons/flask-conical.svg +1 -0
  188. package/dist/assets/Icons/folder.svg +1 -0
  189. package/dist/assets/Icons/funnel-plus.svg +1 -0
  190. package/dist/assets/Icons/ghost.svg +1 -0
  191. package/dist/assets/Icons/git-branch.svg +1 -0
  192. package/dist/assets/Icons/git-commit-horizontal.svg +1 -0
  193. package/dist/assets/Icons/git-commit-vertical.svg +1 -0
  194. package/dist/assets/Icons/git-compare-arrows-alt.svg +1 -0
  195. package/dist/assets/Icons/git-compare-arrows.svg +1 -0
  196. package/dist/assets/Icons/git-compare.svg +1 -0
  197. package/dist/assets/Icons/git-fork.svg +1 -0
  198. package/dist/assets/Icons/git-graph.svg +1 -0
  199. package/dist/assets/Icons/git-merge.svg +1 -0
  200. package/dist/assets/Icons/git-pull-request-arrow.svg +1 -0
  201. package/dist/assets/Icons/git-pull-request-closed.svg +1 -0
  202. package/dist/assets/Icons/git-pull-request-create-arrow.svg +1 -0
  203. package/dist/assets/Icons/git-pull-request-create.svg +1 -0
  204. package/dist/assets/Icons/git-pull-request-draft.svg +1 -0
  205. package/dist/assets/Icons/git-pull-request.svg +1 -0
  206. package/dist/assets/Icons/github-neutral.svg +1 -0
  207. package/dist/assets/Icons/github.svg +1 -0
  208. package/dist/assets/Icons/globe-lock.svg +1 -0
  209. package/dist/assets/Icons/globe.svg +1 -0
  210. package/dist/assets/Icons/gmail-neutral.svg +1 -0
  211. package/dist/assets/Icons/gmail.svg +1 -0
  212. package/dist/assets/Icons/google-meet-neutral.svg +1 -0
  213. package/dist/assets/Icons/google-meet.svg +1 -0
  214. package/dist/assets/Icons/google-neutral.svg +1 -0
  215. package/dist/assets/Icons/google-play-neutral.svg +1 -0
  216. package/dist/assets/Icons/google-play.svg +1 -0
  217. package/dist/assets/Icons/google-podcast-neutral.svg +1 -0
  218. package/dist/assets/Icons/google-podcast.svg +1 -0
  219. package/dist/assets/Icons/google.svg +1 -0
  220. package/dist/assets/Icons/grip-horizontal.svg +1 -0
  221. package/dist/assets/Icons/grip-vertical.svg +1 -0
  222. package/dist/assets/Icons/hammer.svg +1 -0
  223. package/dist/assets/Icons/heart-pulse.svg +1 -0
  224. package/dist/assets/Icons/history.svg +1 -0
  225. package/dist/assets/Icons/home.svg +1 -0
  226. package/dist/assets/Icons/imo-neutral.svg +1 -0
  227. package/dist/assets/Icons/imo.svg +1 -0
  228. package/dist/assets/Icons/infinity.svg +1 -0
  229. package/dist/assets/Icons/info.svg +1 -0
  230. package/dist/assets/Icons/infobip-neutral.svg +1 -0
  231. package/dist/assets/Icons/infobip.svg +1 -0
  232. package/dist/assets/Icons/instagram-neutral.svg +1 -0
  233. package/dist/assets/Icons/instagram.svg +1 -0
  234. package/dist/assets/Icons/key-round.svg +1 -0
  235. package/dist/assets/Icons/key-square.svg +1 -0
  236. package/dist/assets/Icons/keyboard.svg +1 -0
  237. package/dist/assets/Icons/kickstarter-neutral.svg +1 -0
  238. package/dist/assets/Icons/kickstarter.svg +1 -0
  239. package/dist/assets/Icons/laptop.svg +1 -0
  240. package/dist/assets/Icons/layers.svg +1 -0
  241. package/dist/assets/Icons/layers2.svg +1 -0
  242. package/dist/assets/Icons/layers3.svg +1 -0
  243. package/dist/assets/Icons/layout-dashboard.svg +1 -0
  244. package/dist/assets/Icons/layout-grid.svg +1 -0
  245. package/dist/assets/Icons/layout-list.svg +1 -0
  246. package/dist/assets/Icons/layout-panel-left.svg +1 -0
  247. package/dist/assets/Icons/layout-panel-top.svg +1 -0
  248. package/dist/assets/Icons/layout-template.svg +1 -0
  249. package/dist/assets/Icons/library-big.svg +1 -0
  250. package/dist/assets/Icons/life-buoy.svg +1 -0
  251. package/dist/assets/Icons/lightbulb-off.svg +1 -0
  252. package/dist/assets/Icons/lightbulb.svg +1 -0
  253. package/dist/assets/Icons/line-neutral.svg +1 -0
  254. package/dist/assets/Icons/line.svg +1 -0
  255. package/dist/assets/Icons/link.svg +1 -0
  256. package/dist/assets/Icons/link2-off.svg +1 -0
  257. package/dist/assets/Icons/link2.svg +1 -0
  258. package/dist/assets/Icons/linkedin-neutral.svg +1 -0
  259. package/dist/assets/Icons/linkedin.svg +1 -0
  260. package/dist/assets/Icons/list-checks.svg +1 -0
  261. package/dist/assets/Icons/list-collapse.svg +1 -0
  262. package/dist/assets/Icons/list-filter.svg +1 -0
  263. package/dist/assets/Icons/list-minus.svg +1 -0
  264. package/dist/assets/Icons/list-ordered.svg +1 -0
  265. package/dist/assets/Icons/list-plus.svg +1 -0
  266. package/dist/assets/Icons/list-restart.svg +1 -0
  267. package/dist/assets/Icons/list-start.svg +1 -0
  268. package/dist/assets/Icons/list-todo.svg +1 -0
  269. package/dist/assets/Icons/list-tree.svg +1 -0
  270. package/dist/assets/Icons/list-video.svg +1 -0
  271. package/dist/assets/Icons/list-x.svg +1 -0
  272. package/dist/assets/Icons/list.svg +1 -0
  273. package/dist/assets/Icons/loader-circle.svg +1 -0
  274. package/dist/assets/Icons/loader.svg +1 -0
  275. package/dist/assets/Icons/lock-open.svg +1 -0
  276. package/dist/assets/Icons/lock.svg +1 -0
  277. package/dist/assets/Icons/log-in.svg +1 -0
  278. package/dist/assets/Icons/log-out.svg +1 -0
  279. package/dist/assets/Icons/mail-check.svg +1 -0
  280. package/dist/assets/Icons/mail-minus.svg +1 -0
  281. package/dist/assets/Icons/mail-open.svg +1 -0
  282. package/dist/assets/Icons/mail-plus.svg +1 -0
  283. package/dist/assets/Icons/mail-question.svg +1 -0
  284. package/dist/assets/Icons/mail-search.svg +1 -0
  285. package/dist/assets/Icons/mail-warning.svg +1 -0
  286. package/dist/assets/Icons/mail-x.svg +1 -0
  287. package/dist/assets/Icons/mail.svg +1 -0
  288. package/dist/assets/Icons/mailbox.svg +1 -0
  289. package/dist/assets/Icons/mailersend-neutral.svg +1 -0
  290. package/dist/assets/Icons/mailersend.svg +1 -0
  291. package/dist/assets/Icons/mailgun-neutral.svg +1 -0
  292. package/dist/assets/Icons/mailgun.svg +1 -0
  293. package/dist/assets/Icons/mailjet-neutral.svg +1 -0
  294. package/dist/assets/Icons/mailjet.svg +1 -0
  295. package/dist/assets/Icons/mails.svg +1 -0
  296. package/dist/assets/Icons/mailtrap-neutral.svg +1 -0
  297. package/dist/assets/Icons/mailtrap.svg +1 -0
  298. package/dist/assets/Icons/mandrill-neutral.svg +1 -0
  299. package/dist/assets/Icons/mandrill.svg +1 -0
  300. package/dist/assets/Icons/map-pin.svg +1 -0
  301. package/dist/assets/Icons/maqsam-neutral.svg +1 -0
  302. package/dist/assets/Icons/maqsam.svg +1 -0
  303. package/dist/assets/Icons/mattermost-neutral.svg +1 -0
  304. package/dist/assets/Icons/mattermost.svg +1 -0
  305. package/dist/assets/Icons/maximize.svg +1 -0
  306. package/dist/assets/Icons/maximize2.svg +1 -0
  307. package/dist/assets/Icons/medium-neutral.svg +1 -0
  308. package/dist/assets/Icons/medium.svg +1 -0
  309. package/dist/assets/Icons/megaphone-off.svg +1 -0
  310. package/dist/assets/Icons/megaphone.svg +1 -0
  311. package/dist/assets/Icons/menu.svg +1 -0
  312. package/dist/assets/Icons/merge.svg +1 -0
  313. package/dist/assets/Icons/message-square-code.svg +1 -0
  314. package/dist/assets/Icons/message-square-dashed.svg +1 -0
  315. package/dist/assets/Icons/message-square-diff.svg +1 -0
  316. package/dist/assets/Icons/message-square-dot.svg +1 -0
  317. package/dist/assets/Icons/message-square-heart.svg +1 -0
  318. package/dist/assets/Icons/message-square-off.svg +1 -0
  319. package/dist/assets/Icons/message-square-plus.svg +1 -0
  320. package/dist/assets/Icons/message-square-quote.svg +1 -0
  321. package/dist/assets/Icons/message-square-reply.svg +1 -0
  322. package/dist/assets/Icons/message-square-share.svg +1 -0
  323. package/dist/assets/Icons/message-square-text.svg +1 -0
  324. package/dist/assets/Icons/message-square-warning.svg +1 -0
  325. package/dist/assets/Icons/message-square-x.svg +1 -0
  326. package/dist/assets/Icons/message-square.svg +1 -0
  327. package/dist/assets/Icons/messages-square.svg +1 -0
  328. package/dist/assets/Icons/messenger-neutral.svg +1 -0
  329. package/dist/assets/Icons/messenger.svg +1 -0
  330. package/dist/assets/Icons/microsoft-neutral.svg +1 -0
  331. package/dist/assets/Icons/microsoft-teams-neutral.svg +1 -0
  332. package/dist/assets/Icons/microsoft-teams.svg +1 -0
  333. package/dist/assets/Icons/microsoft.svg +1 -0
  334. package/dist/assets/Icons/minimize.svg +1 -0
  335. package/dist/assets/Icons/minimize2.svg +1 -0
  336. package/dist/assets/Icons/minus.svg +1 -0
  337. package/dist/assets/Icons/moon.svg +1 -0
  338. package/dist/assets/Icons/mouse-pointer-ban.svg +1 -0
  339. package/dist/assets/Icons/mouse-pointer-click.svg +1 -0
  340. package/dist/assets/Icons/mouse-pointer.svg +1 -0
  341. package/dist/assets/Icons/mouse-pointer2.svg +1 -0
  342. package/dist/assets/Icons/mouse.svg +1 -0
  343. package/dist/assets/Icons/move-diagonal.svg +1 -0
  344. package/dist/assets/Icons/move-diagonal2.svg +1 -0
  345. package/dist/assets/Icons/move-down-left.svg +1 -0
  346. package/dist/assets/Icons/move-down-right.svg +1 -0
  347. package/dist/assets/Icons/move-down.svg +1 -0
  348. package/dist/assets/Icons/move-horizontal.svg +1 -0
  349. package/dist/assets/Icons/move-left.svg +1 -0
  350. package/dist/assets/Icons/move-right.svg +1 -0
  351. package/dist/assets/Icons/move-up-left.svg +1 -0
  352. package/dist/assets/Icons/move-up-right.svg +1 -0
  353. package/dist/assets/Icons/move-up.svg +1 -0
  354. package/dist/assets/Icons/move-vertical.svg +1 -0
  355. package/dist/assets/Icons/move3-d.svg +1 -0
  356. package/dist/assets/Icons/netcore-neutral.svg +1 -0
  357. package/dist/assets/Icons/netcore.svg +1 -0
  358. package/dist/assets/Icons/notebook-pen.svg +1 -0
  359. package/dist/assets/Icons/notebook-tabs.svg +1 -0
  360. package/dist/assets/Icons/notebook-text.svg +1 -0
  361. package/dist/assets/Icons/notebook.svg +1 -0
  362. package/dist/assets/Icons/notepad-text-dashed.svg +1 -0
  363. package/dist/assets/Icons/notepad-text.svg +1 -0
  364. package/dist/assets/Icons/notion-neutral.svg +1 -0
  365. package/dist/assets/Icons/notion.svg +1 -0
  366. package/dist/assets/Icons/octagon-alert.svg +1 -0
  367. package/dist/assets/Icons/octagon-pause.svg +1 -0
  368. package/dist/assets/Icons/octagon-x.svg +1 -0
  369. package/dist/assets/Icons/octagon.svg +1 -0
  370. package/dist/assets/Icons/ok-neutral.svg +1 -0
  371. package/dist/assets/Icons/ok-only-sign-neutral.svg +1 -0
  372. package/dist/assets/Icons/ok-only-sign.svg +1 -0
  373. package/dist/assets/Icons/ok.svg +1 -0
  374. package/dist/assets/Icons/onlyfans-neutral.svg +1 -0
  375. package/dist/assets/Icons/onlyfans.svg +1 -0
  376. package/dist/assets/Icons/option.svg +1 -0
  377. package/dist/assets/Icons/outlook365-neutral.svg +1 -0
  378. package/dist/assets/Icons/outlook365.svg +1 -0
  379. package/dist/assets/Icons/paintbrush.svg +1 -0
  380. package/dist/assets/Icons/panel-bottom-open.svg +1 -0
  381. package/dist/assets/Icons/panel-bottom.svg +1 -0
  382. package/dist/assets/Icons/panel-left-close.svg +1 -0
  383. package/dist/assets/Icons/panel-left-dashed.svg +1 -0
  384. package/dist/assets/Icons/panel-left-open.svg +1 -0
  385. package/dist/assets/Icons/panel-left.svg +1 -0
  386. package/dist/assets/Icons/panel-right-animated.svg +1 -0
  387. package/dist/assets/Icons/panel-right-close.svg +1 -0
  388. package/dist/assets/Icons/panel-right-dashed.svg +1 -0
  389. package/dist/assets/Icons/panel-right-open.svg +1 -0
  390. package/dist/assets/Icons/panel-right.svg +1 -0
  391. package/dist/assets/Icons/panel-top-bottom-dashed.svg +1 -0
  392. package/dist/assets/Icons/panel-top-close.svg +1 -0
  393. package/dist/assets/Icons/panel-top-open.svg +1 -0
  394. package/dist/assets/Icons/panel-top.svg +1 -0
  395. package/dist/assets/Icons/panels-left-bottom.svg +1 -0
  396. package/dist/assets/Icons/panels-right-bottom.svg +1 -0
  397. package/dist/assets/Icons/panels-top-left.svg +1 -0
  398. package/dist/assets/Icons/paperclip.svg +1 -0
  399. package/dist/assets/Icons/patreon-neutral.svg +1 -0
  400. package/dist/assets/Icons/patreon.svg +1 -0
  401. package/dist/assets/Icons/paypal-neutral.svg +1 -0
  402. package/dist/assets/Icons/paypal.svg +1 -0
  403. package/dist/assets/Icons/pen-line.svg +1 -0
  404. package/dist/assets/Icons/pen-off.svg +1 -0
  405. package/dist/assets/Icons/pen-tool.svg +1 -0
  406. package/dist/assets/Icons/pen.svg +1 -0
  407. package/dist/assets/Icons/pencil-line.svg +1 -0
  408. package/dist/assets/Icons/pencil-off.svg +1 -0
  409. package/dist/assets/Icons/pencil-ruler.svg +1 -0
  410. package/dist/assets/Icons/pencil.svg +1 -0
  411. package/dist/assets/Icons/pentagon.svg +1 -0
  412. package/dist/assets/Icons/percentage.svg +1 -0
  413. package/dist/assets/Icons/phone.svg +1 -0
  414. package/dist/assets/Icons/pin-off.svg +1 -0
  415. package/dist/assets/Icons/pin.svg +1 -0
  416. package/dist/assets/Icons/pinterest-neutral.svg +1 -0
  417. package/dist/assets/Icons/pinterest.svg +1 -0
  418. package/dist/assets/Icons/play.svg +1 -0
  419. package/dist/assets/Icons/plug.svg +1 -0
  420. package/dist/assets/Icons/plunk-neutral.svg +1 -0
  421. package/dist/assets/Icons/plunk.svg +1 -0
  422. package/dist/assets/Icons/plus.svg +1 -0
  423. package/dist/assets/Icons/postmark-neutral.svg +1 -0
  424. package/dist/assets/Icons/postmark.svg +1 -0
  425. package/dist/assets/Icons/product-hunt-neutral.svg +1 -0
  426. package/dist/assets/Icons/product-hunt.svg +1 -0
  427. package/dist/assets/Icons/quora-neutral.svg +1 -0
  428. package/dist/assets/Icons/quora.svg +1 -0
  429. package/dist/assets/Icons/quote.svg +1 -0
  430. package/dist/assets/Icons/radar.svg +1 -0
  431. package/dist/assets/Icons/reddit-neutral.svg +1 -0
  432. package/dist/assets/Icons/reddit.svg +1 -0
  433. package/dist/assets/Icons/redo-dot.svg +1 -0
  434. package/dist/assets/Icons/redo.svg +1 -0
  435. package/dist/assets/Icons/redo2.svg +1 -0
  436. package/dist/assets/Icons/refresh-ccw.svg +1 -0
  437. package/dist/assets/Icons/refresh-cw-off.svg +1 -0
  438. package/dist/assets/Icons/resend-neutral.svg +1 -0
  439. package/dist/assets/Icons/resend.svg +1 -0
  440. package/dist/assets/Icons/rss.svg +1 -0
  441. package/dist/assets/Icons/rules.svg +1 -0
  442. package/dist/assets/Icons/scan-line.svg +1 -0
  443. package/dist/assets/Icons/scroll-text.svg +1 -0
  444. package/dist/assets/Icons/search-hint.svg +1 -0
  445. package/dist/assets/Icons/search-x.svg +1 -0
  446. package/dist/assets/Icons/search.svg +1 -0
  447. package/dist/assets/Icons/sendgrid-neutral.svg +1 -0
  448. package/dist/assets/Icons/sendgrid.svg +1 -0
  449. package/dist/assets/Icons/server.svg +1 -0
  450. package/dist/assets/Icons/ses-neutral.svg +1 -0
  451. package/dist/assets/Icons/ses.svg +1 -0
  452. package/dist/assets/Icons/settings.svg +1 -0
  453. package/dist/assets/Icons/settings2.svg +1 -0
  454. package/dist/assets/Icons/shapes.svg +1 -0
  455. package/dist/assets/Icons/share.svg +1 -0
  456. package/dist/assets/Icons/sheet.svg +1 -0
  457. package/dist/assets/Icons/shield-alert.svg +1 -0
  458. package/dist/assets/Icons/shield-ban.svg +1 -0
  459. package/dist/assets/Icons/shield-check.svg +1 -0
  460. package/dist/assets/Icons/shield-ellipsis.svg +1 -0
  461. package/dist/assets/Icons/shield-half.svg +1 -0
  462. package/dist/assets/Icons/shield-minus.svg +1 -0
  463. package/dist/assets/Icons/shield-off.svg +1 -0
  464. package/dist/assets/Icons/shield-plus.svg +1 -0
  465. package/dist/assets/Icons/shield-question.svg +1 -0
  466. package/dist/assets/Icons/shield-user.svg +1 -0
  467. package/dist/assets/Icons/shield-x.svg +1 -0
  468. package/dist/assets/Icons/shield.svg +1 -0
  469. package/dist/assets/Icons/shift.svg +1 -0
  470. package/dist/assets/Icons/signal-neutral.svg +1 -0
  471. package/dist/assets/Icons/signal.svg +1 -0
  472. package/dist/assets/Icons/signpost.svg +1 -0
  473. package/dist/assets/Icons/sina-weibo-neutral.svg +1 -0
  474. package/dist/assets/Icons/sina-weibo.svg +1 -0
  475. package/dist/assets/Icons/skull.svg +1 -0
  476. package/dist/assets/Icons/skype-neutral.svg +1 -0
  477. package/dist/assets/Icons/skype.svg +1 -0
  478. package/dist/assets/Icons/slack-neutral.svg +1 -0
  479. package/dist/assets/Icons/slack.svg +1 -0
  480. package/dist/assets/Icons/sliders-horizontal.svg +1 -0
  481. package/dist/assets/Icons/sliders-vertical.svg +1 -0
  482. package/dist/assets/Icons/smtp-neutral.svg +1 -0
  483. package/dist/assets/Icons/smtp.svg +1 -0
  484. package/dist/assets/Icons/snapchat-neutral.svg +1 -0
  485. package/dist/assets/Icons/snapchat.svg +1 -0
  486. package/dist/assets/Icons/soundcloud-neutral.svg +1 -0
  487. package/dist/assets/Icons/soundcloud.svg +1 -0
  488. package/dist/assets/Icons/space.svg +1 -0
  489. package/dist/assets/Icons/sparkpost-neutral.svg +1 -0
  490. package/dist/assets/Icons/sparkpost.svg +1 -0
  491. package/dist/assets/Icons/speed.svg +1 -0
  492. package/dist/assets/Icons/split.svg +1 -0
  493. package/dist/assets/Icons/spotify-neutral.svg +1 -0
  494. package/dist/assets/Icons/spotify.svg +1 -0
  495. package/dist/assets/Icons/square-arrow-out-up-right.svg +1 -0
  496. package/dist/assets/Icons/square-minus.svg +1 -0
  497. package/dist/assets/Icons/square-pen.svg +1 -0
  498. package/dist/assets/Icons/square-plus.svg +1 -0
  499. package/dist/assets/Icons/square-user-round.svg +1 -0
  500. package/dist/assets/Icons/stack-overflow-neutral.svg +1 -0
  501. package/dist/assets/Icons/stack-overflow.svg +1 -0
  502. package/dist/assets/Icons/star.svg +1 -0
  503. package/dist/assets/Icons/sun.svg +1 -0
  504. package/dist/assets/Icons/syringe.svg +1 -0
  505. package/dist/assets/Icons/tag.svg +1 -0
  506. package/dist/assets/Icons/target.svg +1 -0
  507. package/dist/assets/Icons/teams-neutral.svg +1 -0
  508. package/dist/assets/Icons/teams.svg +1 -0
  509. package/dist/assets/Icons/telegram-neutral.svg +1 -0
  510. package/dist/assets/Icons/telegram-only-sign-neutral.svg +1 -0
  511. package/dist/assets/Icons/telegram-only-sign.svg +1 -0
  512. package/dist/assets/Icons/telegram.svg +1 -0
  513. package/dist/assets/Icons/terminal.svg +1 -0
  514. package/dist/assets/Icons/test-policies.svg +1 -0
  515. package/dist/assets/Icons/threads-neutral.svg +1 -0
  516. package/dist/assets/Icons/threads.svg +1 -0
  517. package/dist/assets/Icons/thumbs-down.svg +1 -0
  518. package/dist/assets/Icons/thumbs-up.svg +1 -0
  519. package/dist/assets/Icons/tiktok-neutral.svg +1 -0
  520. package/dist/assets/Icons/tiktok.svg +1 -0
  521. package/dist/assets/Icons/tinder-neutral.svg +1 -0
  522. package/dist/assets/Icons/tinder.svg +1 -0
  523. package/dist/assets/Icons/trash.svg +1 -0
  524. package/dist/assets/Icons/trash2.svg +1 -0
  525. package/dist/assets/Icons/triangle-alert.svg +1 -0
  526. package/dist/assets/Icons/tumblr-neutral.svg +1 -0
  527. package/dist/assets/Icons/tumblr.svg +1 -0
  528. package/dist/assets/Icons/twitch-neutral.svg +1 -0
  529. package/dist/assets/Icons/twitch.svg +1 -0
  530. package/dist/assets/Icons/undo-dot.svg +1 -0
  531. package/dist/assets/Icons/undo.svg +1 -0
  532. package/dist/assets/Icons/undo2.svg +1 -0
  533. package/dist/assets/Icons/unplug.svg +1 -0
  534. package/dist/assets/Icons/user-check.svg +1 -0
  535. package/dist/assets/Icons/user-minus.svg +1 -0
  536. package/dist/assets/Icons/user-plus.svg +1 -0
  537. package/dist/assets/Icons/user-round-x.svg +1 -0
  538. package/dist/assets/Icons/user-round.svg +1 -0
  539. package/dist/assets/Icons/user.svg +1 -0
  540. package/dist/assets/Icons/username.svg +1 -0
  541. package/dist/assets/Icons/users-round.svg +1 -0
  542. package/dist/assets/Icons/users.svg +1 -0
  543. package/dist/assets/Icons/viber-neutral.svg +1 -0
  544. package/dist/assets/Icons/viber.svg +1 -0
  545. package/dist/assets/Icons/video.svg +1 -0
  546. package/dist/assets/Icons/vimeo-neutral.svg +1 -0
  547. package/dist/assets/Icons/vimeo.svg +1 -0
  548. package/dist/assets/Icons/vk-music-neutral.svg +1 -0
  549. package/dist/assets/Icons/vk-music.svg +1 -0
  550. package/dist/assets/Icons/vk-neutral.svg +1 -0
  551. package/dist/assets/Icons/vk-only-sign-neutral.svg +1 -0
  552. package/dist/assets/Icons/vk-only-sign.svg +1 -0
  553. package/dist/assets/Icons/vk.svg +1 -0
  554. package/dist/assets/Icons/webhook-neutral.svg +1 -0
  555. package/dist/assets/Icons/webhook.svg +1 -0
  556. package/dist/assets/Icons/wechat-neutral.svg +1 -0
  557. package/dist/assets/Icons/wechat.svg +1 -0
  558. package/dist/assets/Icons/whatsapp-badge-neutral.svg +1 -0
  559. package/dist/assets/Icons/whatsapp-badge.svg +1 -0
  560. package/dist/assets/Icons/whatsapp-neutral.svg +1 -0
  561. package/dist/assets/Icons/whatsapp.svg +1 -0
  562. package/dist/assets/Icons/workflow.svg +1 -0
  563. package/dist/assets/Icons/wrap-text.svg +1 -0
  564. package/dist/assets/Icons/wrench.svg +1 -0
  565. package/dist/assets/Icons/x-ex-twitter-neutral.svg +1 -0
  566. package/dist/assets/Icons/x-ex-twitter.svg +1 -0
  567. package/dist/assets/Icons/x.svg +1 -0
  568. package/dist/assets/Icons/xing-neutral.svg +1 -0
  569. package/dist/assets/Icons/xing.svg +1 -0
  570. package/dist/assets/Icons/yandex-music-neutral.svg +1 -0
  571. package/dist/assets/Icons/yandex-music.svg +1 -0
  572. package/dist/assets/Icons/yelp-neutral.svg +1 -0
  573. package/dist/assets/Icons/yelp.svg +1 -0
  574. package/dist/assets/Icons/youtube-music-neutral.svg +1 -0
  575. package/dist/assets/Icons/youtube-music.svg +1 -0
  576. package/dist/assets/Icons/youtube-neutral.svg +1 -0
  577. package/dist/assets/Icons/youtube-shorts-neutral.svg +1 -0
  578. package/dist/assets/Icons/youtube-shorts.svg +1 -0
  579. package/dist/assets/Icons/youtube.svg +1 -0
  580. package/dist/assets/Icons/zap.svg +1 -0
  581. package/dist/assets/Icons/zoom-in.svg +1 -0
  582. package/dist/assets/Icons/zoom-neutral.svg +1 -0
  583. package/dist/assets/Icons/zoom-out.svg +1 -0
  584. package/dist/assets/Icons/zoom.svg +1 -0
  585. package/dist/assets/Icons/zulip-neutral.svg +1 -0
  586. package/dist/assets/Icons/zulip.svg +1 -0
  587. package/dist/assets/Logos/wallarm.svg +1 -0
  588. package/dist/assets.json +4666 -0
  589. package/dist/project/README.md +265 -0
  590. package/dist/project/components/Accordion/README.md +354 -0
  591. package/dist/project/components/Accordion/preview.html +2 -0
  592. package/dist/project/components/Accordion/stories.js +12 -0
  593. package/dist/project/components/AgentAvatar/README.md +127 -0
  594. package/dist/project/components/AgentAvatar/preview.html +2 -0
  595. package/dist/project/components/AgentAvatar/stories.js +12 -0
  596. package/dist/project/components/AgentAvatar/stories.md +1805 -0
  597. package/dist/project/components/AgentGlyph/README.md +1182 -0
  598. package/dist/project/components/AgentGlyph/preview.html +2 -0
  599. package/dist/project/components/AgentGlyph/stories.js +12 -0
  600. package/dist/project/components/AgentLookBuilder/README.md +269 -0
  601. package/dist/project/components/AgentLookBuilder/preview.html +2 -0
  602. package/dist/project/components/AgentLookBuilder/stories.js +12 -0
  603. package/dist/project/components/Alert/README.md +492 -0
  604. package/dist/project/components/Alert/preview.html +2 -0
  605. package/dist/project/components/Alert/stories.js +12 -0
  606. package/dist/project/components/AnimatedBackground/README.md +124 -0
  607. package/dist/project/components/AnimatedBackground/preview.html +2 -0
  608. package/dist/project/components/AnimatedBackground/stories.js +12 -0
  609. package/dist/project/components/AppShell/README.md +75 -0
  610. package/dist/project/components/AppShell/preview.html +2 -0
  611. package/dist/project/components/AppShell/stories.js +28 -0
  612. package/dist/project/components/AppShell/stories.md +2878 -0
  613. package/dist/project/components/ApprovalCard/README.md +353 -0
  614. package/dist/project/components/ApprovalCard/preview.html +2 -0
  615. package/dist/project/components/ApprovalCard/stories.js +12 -0
  616. package/dist/project/components/AreaChart/README.md +673 -0
  617. package/dist/project/components/AreaChart/preview.html +2 -0
  618. package/dist/project/components/AreaChart/stories.js +12 -0
  619. package/dist/project/components/AssistantMessage/README.md +724 -0
  620. package/dist/project/components/AssistantMessage/preview.html +2 -0
  621. package/dist/project/components/AssistantMessage/stories.js +55 -0
  622. package/dist/project/components/Attribute/README.md +1174 -0
  623. package/dist/project/components/Attribute/preview.html +2 -0
  624. package/dist/project/components/Attribute/stories.js +12 -0
  625. package/dist/project/components/Avatar/README.md +416 -0
  626. package/dist/project/components/Avatar/preview.html +2 -0
  627. package/dist/project/components/Avatar/stories.js +12 -0
  628. package/dist/project/components/Badge/README.md +853 -0
  629. package/dist/project/components/Badge/preview.html +2 -0
  630. package/dist/project/components/Badge/stories.js +12 -0
  631. package/dist/project/components/Banner/README.md +341 -0
  632. package/dist/project/components/Banner/preview.html +2 -0
  633. package/dist/project/components/Banner/stories.js +12 -0
  634. package/dist/project/components/BarList/README.md +757 -0
  635. package/dist/project/components/BarList/preview.html +2 -0
  636. package/dist/project/components/BarList/stories.js +12 -0
  637. package/dist/project/components/Breadcrumbs/README.md +274 -0
  638. package/dist/project/components/Breadcrumbs/preview.html +2 -0
  639. package/dist/project/components/Breadcrumbs/stories.js +12 -0
  640. package/dist/project/components/BulkBar/README.md +19 -0
  641. package/dist/project/components/Button/README.md +467 -0
  642. package/dist/project/components/Button/preview.html +2 -0
  643. package/dist/project/components/Button/stories.js +12 -0
  644. package/dist/project/components/Calendar/README.md +654 -0
  645. package/dist/project/components/Calendar/preview.html +2 -0
  646. package/dist/project/components/Calendar/stories.js +12 -0
  647. package/dist/project/components/Card/README.md +367 -0
  648. package/dist/project/components/Card/preview.html +2 -0
  649. package/dist/project/components/Card/stories.js +12 -0
  650. package/dist/project/components/ChainOfThought/README.md +412 -0
  651. package/dist/project/components/ChainOfThought/preview.html +2 -0
  652. package/dist/project/components/ChainOfThought/stories.js +12 -0
  653. package/dist/project/components/Chart/README.md +224 -0
  654. package/dist/project/components/Chart/preview.html +2 -0
  655. package/dist/project/components/Chart/stories.js +12 -0
  656. package/dist/project/components/Chat/README.md +1244 -0
  657. package/dist/project/components/Chat/preview.html +2 -0
  658. package/dist/project/components/Chat/stories.js +12 -0
  659. package/dist/project/components/ChatInput/README.md +378 -0
  660. package/dist/project/components/ChatInput/preview.html +2 -0
  661. package/dist/project/components/ChatInput/stories.js +12 -0
  662. package/dist/project/components/ChatPermissions/README.md +218 -0
  663. package/dist/project/components/ChatPermissions/preview.html +2 -0
  664. package/dist/project/components/ChatPermissions/stories.js +12 -0
  665. package/dist/project/components/Checkbox/README.md +367 -0
  666. package/dist/project/components/Checkbox/preview.html +2 -0
  667. package/dist/project/components/Checkbox/stories.js +12 -0
  668. package/dist/project/components/Code/README.md +243 -0
  669. package/dist/project/components/Code/preview.html +2 -0
  670. package/dist/project/components/Code/stories.js +12 -0
  671. package/dist/project/components/CodeEditor/README.md +280 -0
  672. package/dist/project/components/CodeEditor/preview.html +2 -0
  673. package/dist/project/components/CodeEditor/stories.js +162 -0
  674. package/dist/project/components/CodeEditor/stories.md +1533 -0
  675. package/dist/project/components/CodeSnippet/README.md +1352 -0
  676. package/dist/project/components/CodeSnippet/preview.html +2 -0
  677. package/dist/project/components/CodeSnippet/stories.js +156 -0
  678. package/dist/project/components/ColumnChart/README.md +521 -0
  679. package/dist/project/components/ColumnChart/preview.html +2 -0
  680. package/dist/project/components/ColumnChart/stories.js +12 -0
  681. package/dist/project/components/Conversation/README.md +314 -0
  682. package/dist/project/components/Conversation/preview.html +2 -0
  683. package/dist/project/components/Conversation/stories.js +12 -0
  684. package/dist/project/components/Copyable/README.md +406 -0
  685. package/dist/project/components/Copyable/preview.html +2 -0
  686. package/dist/project/components/Copyable/stories.js +12 -0
  687. package/dist/project/components/Country/README.md +226 -0
  688. package/dist/project/components/Country/preview.html +2 -0
  689. package/dist/project/components/Country/stories.js +12 -0
  690. package/dist/project/components/Cover/preview.html +43 -0
  691. package/dist/project/components/DateInput/README.md +458 -0
  692. package/dist/project/components/DateInput/preview.html +2 -0
  693. package/dist/project/components/DateInput/stories.js +12 -0
  694. package/dist/project/components/DateRangeInput/README.md +412 -0
  695. package/dist/project/components/DateRangeInput/preview.html +2 -0
  696. package/dist/project/components/DateRangeInput/stories.js +12 -0
  697. package/dist/project/components/Dialog/README.md +1140 -0
  698. package/dist/project/components/Dialog/preview.html +2 -0
  699. package/dist/project/components/Dialog/stories.js +12 -0
  700. package/dist/project/components/Drawer/README.md +1163 -0
  701. package/dist/project/components/Drawer/preview.html +2 -0
  702. package/dist/project/components/Drawer/stories.js +12 -0
  703. package/dist/project/components/DropdownMenu/README.md +678 -0
  704. package/dist/project/components/DropdownMenu/preview.html +2 -0
  705. package/dist/project/components/DropdownMenu/stories.js +12 -0
  706. package/dist/project/components/EmptyState/README.md +276 -0
  707. package/dist/project/components/EmptyState/preview.html +2 -0
  708. package/dist/project/components/EmptyState/stories.js +12 -0
  709. package/dist/project/components/FeedbackPulse/README.md +125 -0
  710. package/dist/project/components/FeedbackPulse/preview.html +2 -0
  711. package/dist/project/components/FeedbackPulse/stories.js +12 -0
  712. package/dist/project/components/Field/README.md +676 -0
  713. package/dist/project/components/Field/preview.html +2 -0
  714. package/dist/project/components/Field/stories.js +12 -0
  715. package/dist/project/components/FileUpload/README.md +544 -0
  716. package/dist/project/components/FileUpload/preview.html +2 -0
  717. package/dist/project/components/FileUpload/stories.js +12 -0
  718. package/dist/project/components/FilterCascade/README.md +348 -0
  719. package/dist/project/components/FilterCascade/preview.html +2 -0
  720. package/dist/project/components/FilterCascade/stories.js +12 -0
  721. package/dist/project/components/FilterDropdown/README.md +542 -0
  722. package/dist/project/components/FilterDropdown/preview.html +2 -0
  723. package/dist/project/components/FilterDropdown/stories.js +12 -0
  724. package/dist/project/components/FilterInput/README.md +416 -0
  725. package/dist/project/components/FilterInput/preview.html +2 -0
  726. package/dist/project/components/FilterInput/stories.js +12 -0
  727. package/dist/project/components/FilterInput/stories.md +6682 -0
  728. package/dist/project/components/Flex/README.md +225 -0
  729. package/dist/project/components/Flex/preview.html +2 -0
  730. package/dist/project/components/Flex/stories.js +12 -0
  731. package/dist/project/components/FormatDateTime/README.md +315 -0
  732. package/dist/project/components/FormatDateTime/preview.html +2 -0
  733. package/dist/project/components/FormatDateTime/stories.js +12 -0
  734. package/dist/project/components/FormatNumber/README.md +317 -0
  735. package/dist/project/components/FormatNumber/preview.html +2 -0
  736. package/dist/project/components/FormatNumber/stories.js +12 -0
  737. package/dist/project/components/Heading/README.md +240 -0
  738. package/dist/project/components/Heading/preview.html +2 -0
  739. package/dist/project/components/Heading/stories.js +12 -0
  740. package/dist/project/components/HorizontalBarStack/README.md +281 -0
  741. package/dist/project/components/HorizontalBarStack/preview.html +2 -0
  742. package/dist/project/components/HorizontalBarStack/stories.js +12 -0
  743. package/dist/project/components/HttpMethod/README.md +137 -0
  744. package/dist/project/components/HttpMethod/preview.html +2 -0
  745. package/dist/project/components/HttpMethod/stories.js +12 -0
  746. package/dist/project/components/ImageCropper/README.md +332 -0
  747. package/dist/project/components/ImageCropper/preview.html +2 -0
  748. package/dist/project/components/ImageCropper/stories.js +33 -0
  749. package/dist/project/components/Indicator/README.md +110 -0
  750. package/dist/project/components/Indicator/preview.html +2 -0
  751. package/dist/project/components/Indicator/stories.js +12 -0
  752. package/dist/project/components/InlineEdit/README.md +977 -0
  753. package/dist/project/components/InlineEdit/preview.html +2 -0
  754. package/dist/project/components/InlineEdit/stories.js +12 -0
  755. package/dist/project/components/Input/README.md +187 -0
  756. package/dist/project/components/Input/preview.html +2 -0
  757. package/dist/project/components/Input/stories.js +12 -0
  758. package/dist/project/components/InputGroup/README.md +423 -0
  759. package/dist/project/components/InputGroup/preview.html +2 -0
  760. package/dist/project/components/InputGroup/stories.js +12 -0
  761. package/dist/project/components/InputOTP/README.md +201 -0
  762. package/dist/project/components/InputOTP/preview.html +2 -0
  763. package/dist/project/components/InputOTP/stories.js +12 -0
  764. package/dist/project/components/Ip/README.md +226 -0
  765. package/dist/project/components/Ip/preview.html +2 -0
  766. package/dist/project/components/Ip/stories.js +12 -0
  767. package/dist/project/components/Kbd/README.md +126 -0
  768. package/dist/project/components/Kbd/preview.html +2 -0
  769. package/dist/project/components/Kbd/stories.js +12 -0
  770. package/dist/project/components/LineChart/README.md +1479 -0
  771. package/dist/project/components/LineChart/preview.html +2 -0
  772. package/dist/project/components/LineChart/stories.js +12 -0
  773. package/dist/project/components/Link/README.md +160 -0
  774. package/dist/project/components/Link/preview.html +2 -0
  775. package/dist/project/components/Link/stories.js +12 -0
  776. package/dist/project/components/List/README.md +181 -0
  777. package/dist/project/components/List/preview.html +2 -0
  778. package/dist/project/components/List/stories.js +12 -0
  779. package/dist/project/components/Loader/README.md +145 -0
  780. package/dist/project/components/Loader/preview.html +2 -0
  781. package/dist/project/components/Loader/stories.js +12 -0
  782. package/dist/project/components/Logo/README.md +183 -0
  783. package/dist/project/components/Logo/preview.html +2 -0
  784. package/dist/project/components/Logo/stories.js +12 -0
  785. package/dist/project/components/MessageActions/README.md +255 -0
  786. package/dist/project/components/MessageActions/preview.html +2 -0
  787. package/dist/project/components/MessageActions/stories.js +12 -0
  788. package/dist/project/components/Metric/README.md +324 -0
  789. package/dist/project/components/Metric/preview.html +2 -0
  790. package/dist/project/components/Metric/stories.js +12 -0
  791. package/dist/project/components/NavRail/README.md +25 -0
  792. package/dist/project/components/NotificationCenter/README.md +91 -0
  793. package/dist/project/components/NotificationCenter/preview.html +2 -0
  794. package/dist/project/components/NotificationCenter/stories.js +12 -0
  795. package/dist/project/components/NotificationCenter/stories.md +2170 -0
  796. package/dist/project/components/NumberInput/README.md +177 -0
  797. package/dist/project/components/NumberInput/preview.html +2 -0
  798. package/dist/project/components/NumberInput/stories.js +12 -0
  799. package/dist/project/components/NumericBadge/README.md +252 -0
  800. package/dist/project/components/NumericBadge/preview.html +2 -0
  801. package/dist/project/components/NumericBadge/stories.js +12 -0
  802. package/dist/project/components/OverflowList/README.md +324 -0
  803. package/dist/project/components/OverflowList/preview.html +2 -0
  804. package/dist/project/components/OverflowList/stories.js +12 -0
  805. package/dist/project/components/OverflowTooltip/README.md +421 -0
  806. package/dist/project/components/OverflowTooltip/preview.html +2 -0
  807. package/dist/project/components/OverflowTooltip/stories.js +12 -0
  808. package/dist/project/components/Overlay/README.md +95 -0
  809. package/dist/project/components/Overlay/preview.html +2 -0
  810. package/dist/project/components/Overlay/stories.js +12 -0
  811. package/dist/project/components/Overview/README.md +445 -0
  812. package/dist/project/components/Overview/preview.html +2 -0
  813. package/dist/project/components/Overview/stories.js +12 -0
  814. package/dist/project/components/Page/README.md +215 -0
  815. package/dist/project/components/Page/preview.html +2 -0
  816. package/dist/project/components/Page/stories.js +12 -0
  817. package/dist/project/components/Pagination/README.md +302 -0
  818. package/dist/project/components/Pagination/preview.html +2 -0
  819. package/dist/project/components/Pagination/stories.js +12 -0
  820. package/dist/project/components/ParameterPath/README.md +284 -0
  821. package/dist/project/components/ParameterPath/preview.html +2 -0
  822. package/dist/project/components/ParameterPath/stories.js +12 -0
  823. package/dist/project/components/PasswordComplexity/README.md +171 -0
  824. package/dist/project/components/PasswordComplexity/preview.html +2 -0
  825. package/dist/project/components/PasswordComplexity/stories.js +12 -0
  826. package/dist/project/components/PasswordInput/README.md +254 -0
  827. package/dist/project/components/PasswordInput/preview.html +2 -0
  828. package/dist/project/components/PasswordInput/stories.js +12 -0
  829. package/dist/project/components/PieChart/README.md +895 -0
  830. package/dist/project/components/PieChart/preview.html +2 -0
  831. package/dist/project/components/PieChart/stories.js +12 -0
  832. package/dist/project/components/Popover/README.md +282 -0
  833. package/dist/project/components/Popover/preview.html +2 -0
  834. package/dist/project/components/Popover/stories.js +12 -0
  835. package/dist/project/components/Progress/README.md +174 -0
  836. package/dist/project/components/Progress/preview.html +2 -0
  837. package/dist/project/components/Progress/stories.js +12 -0
  838. package/dist/project/components/Radio/README.md +264 -0
  839. package/dist/project/components/Radio/preview.html +2 -0
  840. package/dist/project/components/Radio/stories.js +12 -0
  841. package/dist/project/components/RemoteShell/README.md +1758 -0
  842. package/dist/project/components/RemoteShell/preview.html +2 -0
  843. package/dist/project/components/RemoteShell/stories.js +28 -0
  844. package/dist/project/components/Resizable/README.md +290 -0
  845. package/dist/project/components/Resizable/preview.html +2 -0
  846. package/dist/project/components/Resizable/stories.js +12 -0
  847. package/dist/project/components/ResponseCode/README.md +205 -0
  848. package/dist/project/components/ResponseCode/preview.html +2 -0
  849. package/dist/project/components/ResponseCode/stories.js +12 -0
  850. package/dist/project/components/ScrollArea/README.md +234 -0
  851. package/dist/project/components/ScrollArea/preview.html +2 -0
  852. package/dist/project/components/ScrollArea/stories.js +12 -0
  853. package/dist/project/components/SearchInput/README.md +158 -0
  854. package/dist/project/components/SearchInput/preview.html +2 -0
  855. package/dist/project/components/SearchInput/stories.js +12 -0
  856. package/dist/project/components/SearchModal/README.md +836 -0
  857. package/dist/project/components/SearchModal/preview.html +2 -0
  858. package/dist/project/components/SearchModal/stories.js +12 -0
  859. package/dist/project/components/SegmentedControl/README.md +382 -0
  860. package/dist/project/components/SegmentedControl/preview.html +2 -0
  861. package/dist/project/components/SegmentedControl/stories.js +12 -0
  862. package/dist/project/components/SegmentedTabs/README.md +390 -0
  863. package/dist/project/components/SegmentedTabs/preview.html +2 -0
  864. package/dist/project/components/SegmentedTabs/stories.js +12 -0
  865. package/dist/project/components/Select/README.md +1311 -0
  866. package/dist/project/components/Select/preview.html +2 -0
  867. package/dist/project/components/Select/stories.js +12 -0
  868. package/dist/project/components/Selection/README.md +648 -0
  869. package/dist/project/components/Selection/preview.html +2 -0
  870. package/dist/project/components/Selection/stories.js +12 -0
  871. package/dist/project/components/Separator/README.md +77 -0
  872. package/dist/project/components/Separator/preview.html +2 -0
  873. package/dist/project/components/Separator/stories.js +12 -0
  874. package/dist/project/components/Skeleton/README.md +358 -0
  875. package/dist/project/components/Skeleton/preview.html +2 -0
  876. package/dist/project/components/Skeleton/stories.js +12 -0
  877. package/dist/project/components/Slider/README.md +433 -0
  878. package/dist/project/components/Slider/preview.html +2 -0
  879. package/dist/project/components/Slider/stories.js +12 -0
  880. package/dist/project/components/SplashScreen/README.md +192 -0
  881. package/dist/project/components/SplashScreen/preview.html +2 -0
  882. package/dist/project/components/SplashScreen/stories.js +12 -0
  883. package/dist/project/components/SplitButton/README.md +402 -0
  884. package/dist/project/components/SplitButton/preview.html +2 -0
  885. package/dist/project/components/SplitButton/stories.js +12 -0
  886. package/dist/project/components/Stack/README.md +269 -0
  887. package/dist/project/components/Stack/preview.html +2 -0
  888. package/dist/project/components/Stack/stories.js +12 -0
  889. package/dist/project/components/Stepper/README.md +682 -0
  890. package/dist/project/components/Stepper/preview.html +2 -0
  891. package/dist/project/components/Stepper/stories.js +12 -0
  892. package/dist/project/components/Switch/README.md +236 -0
  893. package/dist/project/components/Switch/preview.html +2 -0
  894. package/dist/project/components/Switch/stories.js +12 -0
  895. package/dist/project/components/Table/README.md +471 -0
  896. package/dist/project/components/Table/preview.html +2 -0
  897. package/dist/project/components/Table/stories.js +12 -0
  898. package/dist/project/components/Table/stories.md +3697 -0
  899. package/dist/project/components/Tabs/README.md +443 -0
  900. package/dist/project/components/Tabs/preview.html +2 -0
  901. package/dist/project/components/Tabs/stories.js +12 -0
  902. package/dist/project/components/Tag/README.md +324 -0
  903. package/dist/project/components/Tag/preview.html +2 -0
  904. package/dist/project/components/Tag/stories.js +12 -0
  905. package/dist/project/components/Text/README.md +200 -0
  906. package/dist/project/components/Text/preview.html +2 -0
  907. package/dist/project/components/Text/stories.js +12 -0
  908. package/dist/project/components/Textarea/README.md +273 -0
  909. package/dist/project/components/Textarea/preview.html +2 -0
  910. package/dist/project/components/Textarea/stories.js +12 -0
  911. package/dist/project/components/TimeInput/README.md +359 -0
  912. package/dist/project/components/TimeInput/preview.html +2 -0
  913. package/dist/project/components/TimeInput/stories.js +12 -0
  914. package/dist/project/components/Timeline/README.md +204 -0
  915. package/dist/project/components/Timeline/preview.html +2 -0
  916. package/dist/project/components/Timeline/stories.js +12 -0
  917. package/dist/project/components/Toast/README.md +718 -0
  918. package/dist/project/components/Toast/preview.html +2 -0
  919. package/dist/project/components/Toast/stories.js +12 -0
  920. package/dist/project/components/ToggleButton/README.md +292 -0
  921. package/dist/project/components/ToggleButton/preview.html +2 -0
  922. package/dist/project/components/ToggleButton/stories.js +12 -0
  923. package/dist/project/components/Tooltip/README.md +199 -0
  924. package/dist/project/components/Tooltip/preview.html +2 -0
  925. package/dist/project/components/Tooltip/stories.js +12 -0
  926. package/dist/project/components/TopHeader/README.md +21 -0
  927. package/dist/project/components/Tour/README.md +532 -0
  928. package/dist/project/components/Tour/preview.html +2 -0
  929. package/dist/project/components/Tour/stories.js +12 -0
  930. package/dist/project/components/Tree/README.md +450 -0
  931. package/dist/project/components/Tree/preview.html +2 -0
  932. package/dist/project/components/Tree/stories.js +12 -0
  933. package/dist/project/components/TreeView/README.md +531 -0
  934. package/dist/project/components/TreeView/preview.html +2 -0
  935. package/dist/project/components/TreeView/stories.js +12 -0
  936. package/dist/project/components/UTILITIES.md +647 -0
  937. package/dist/project/components/UserMessage/README.md +166 -0
  938. package/dist/project/components/UserMessage/preview.html +2 -0
  939. package/dist/project/components/UserMessage/stories.js +12 -0
  940. package/dist/project/components/UtilityPage/README.md +147 -0
  941. package/dist/project/components/UtilityPage/preview.html +2 -0
  942. package/dist/project/components/UtilityPage/stories.js +12 -0
  943. package/dist/project/components/WallyAssistant/README.md +1380 -0
  944. package/dist/project/components/WallyAssistant/preview.html +2 -0
  945. package/dist/project/components/WallyAssistant/stories.js +12 -0
  946. package/dist/project/components/WallyIcon/README.md +130 -0
  947. package/dist/project/components/WallyIcon/preview.html +2 -0
  948. package/dist/project/components/WallyIcon/stories.js +12 -0
  949. package/dist/project/components/WallySkeleton/README.md +96 -0
  950. package/dist/project/components/WallySkeleton/preview.html +2 -0
  951. package/dist/project/components/WallySkeleton/stories.js +12 -0
  952. package/dist/project/components/bundle.css +18734 -0
  953. package/dist/project/components/bundle.js +167 -0
  954. package/dist/project/components/index.d.ts +27226 -0
  955. package/dist/project/design-system.json +35 -0
  956. package/dist/project/fonts/Geist-Variable.woff2 +0 -0
  957. package/dist/project/fonts/GeistMono-Variable.woff2 +0 -0
  958. package/dist/project/fonts/GeistPixel-Square.woff2 +0 -0
  959. package/dist/project/sampler.dc.html +238 -0
  960. package/dist/project/tokens.css +1395 -0
  961. package/dist/project/tokens.json +5235 -0
  962. package/dist/wallarm-sampler.dc.html +239 -0
  963. package/package.json +67 -3
@@ -0,0 +1,1352 @@
1
+ A block of code to be read and copied, never edited — reach for `InlineCodeSnippet` when the code belongs inside a sentence, and a real editor when the value is meant to change. Everything beyond the code is composed: a `CodeSnippetHeader` carrying a title or tabs, `CodeSnippetActions` for copy, wrap and fullscreen, `CodeSnippetLineNumbers`, and per-line colour, prefixes and folds — and highlighting happens only inside a `CodeSnippetAdapterProvider`. The snippet sits inside a `display: contents` wrapper that keeps it mounted across fullscreen, so space snippets with their own `className` (for example `mt-16`) or a `gap` on the parent — not `space-*`, `divide-*` or child selectors on the parent.
2
+
3
+ ## Props as canvas attributes
4
+
5
+ Use kebab-case attribute names. Pass non-string values through renderVals holes, including booleans. The full emitted API is in `components/index.d.ts`.
6
+
7
+ | Attribute | Type | Required | Default | Description |
8
+ | --- | --- | --- | --- | --- |
9
+ | — | See emitted declarations in `components/index.d.ts`. | | | |
10
+
11
+ ## Sub-components
12
+
13
+ - `WallarmDS.CodeSnippetActions` — `CodeSnippetActionsProps` in the declaration bundle.
14
+ - `WallarmDS.CodeSnippetAdapterProvider` — `CodeSnippetAdapterProviderProps` in the declaration bundle.
15
+ - `WallarmDS.CodeSnippetCode` — `CodeSnippetCodeProps` in the declaration bundle.
16
+ - `WallarmDS.CodeSnippetContent` — `CodeSnippetContentProps` in the declaration bundle.
17
+ - `WallarmDS.CodeSnippetCopyButton` — `CodeSnippetCopyButtonProps` in the declaration bundle.
18
+ - `WallarmDS.CodeSnippetFullscreenButton` — `CodeSnippetFullscreenButtonProps` in the declaration bundle.
19
+ - `WallarmDS.CodeSnippetHeader` — `CodeSnippetHeaderProps` in the declaration bundle.
20
+ - `WallarmDS.CodeSnippetLineNumbers` — `CodeSnippetLineNumbersProps` in the declaration bundle.
21
+ - `WallarmDS.CodeSnippetRoot` — `CodeSnippetRootProps` in the declaration bundle.
22
+ - `WallarmDS.CodeSnippetShowMoreButton` — `CodeSnippetShowMoreButtonProps` in the declaration bundle.
23
+ - `WallarmDS.CodeSnippetTab` — `CodeSnippetTabProps` in the declaration bundle.
24
+ - `WallarmDS.CodeSnippetTabs` — `CodeSnippetTabsProps` in the declaration bundle.
25
+ - `WallarmDS.CodeSnippetTitle` — `CodeSnippetTitleProps` in the declaration bundle.
26
+ - `WallarmDS.CodeSnippetWrapButton` — `CodeSnippetWrapButtonProps` in the declaration bundle.
27
+ - `WallarmDS.InlineCodeSnippet` — `InlineCodeSnippetProps` in the declaration bundle.
28
+
29
+ ## Stories
30
+
31
+ ### Default
32
+
33
+ The block with no adapter in scope — mono type on a tinted surface, and the plain
34
+ fallback rather than an absence of highlighting to fix.
35
+
36
+ Source: CodeSnippet/CodeSnippet.stories.tsx#Default
37
+
38
+ ### WithLineNumbers
39
+
40
+ `CodeSnippetLineNumbers` is a sibling of the code inside `CodeSnippetContent`, so the
41
+ gutter is something you compose in rather than a prop you switch on.
42
+
43
+ Source: CodeSnippet/CodeSnippet.stories.tsx#WithLineNumbers
44
+
45
+ ### Sizes
46
+
47
+ The three sizes. `sm` is the default at 12px; `md` and `lg` step the code to 14 and
48
+ 16px for a block meant to be read from further away.
49
+
50
+ Source: CodeSnippet/CodeSnippet.stories.tsx#Sizes
51
+
52
+ ### LineAnnotations
53
+
54
+ `lines`, keyed by line number, tints a line and hangs a prefix off it — here a
55
+ tooltipped icon on each of the three headers worth calling out.
56
+
57
+ Source: CodeSnippet/CodeSnippet.stories.tsx#LineAnnotations
58
+
59
+ ### LineColors
60
+
61
+ The seven line colours are semantic, so choose by what the line means — `danger` for
62
+ the attack, `info` for the aside — not by which tint reads best.
63
+
64
+ Source: CodeSnippet/CodeSnippet.stories.tsx#LineColors
65
+
66
+ ### LineRanges
67
+
68
+ `ranges` narrows the emphasis to character offsets inside the line — start inclusive,
69
+ end exclusive — and once a line has them only the range is coloured, though the
70
+ line's own background stays.
71
+
72
+ Source: CodeSnippet/CodeSnippet.stories.tsx#LineRanges
73
+
74
+ ### TextStyles
75
+
76
+ `textStyle` overrides the weight or slant a colour would have chosen, with `className`
77
+ and `style` left for the cases the three named styles do not cover.
78
+
79
+ Source: CodeSnippet/CodeSnippet.stories.tsx#TextStyles
80
+
81
+ ### LineWithPrefix
82
+
83
+ A `+` and `-` prefix over `success` and `danger` lines gives you a diff without a diff
84
+ component.
85
+
86
+ Source: CodeSnippet/CodeSnippet.stories.tsx#LineWithPrefix
87
+
88
+ ### LineWrapping
89
+
90
+ `wrapLines` against the same code unwrapped, in three pairs — what to check is that
91
+ prefixes, colour sticks and fold toggles stay on the first visual row of a wrapped line.
92
+
93
+ Source: CodeSnippet/CodeSnippet.stories.tsx#LineWrapping
94
+
95
+ ### WithBothScrolls
96
+
97
+ Given a fixed height inside a narrow column, the block scrolls in both directions
98
+ rather than pushing its container around.
99
+
100
+ Source: CodeSnippet/CodeSnippet.stories.tsx#WithBothScrolls
101
+
102
+ ### CustomStartingLine
103
+
104
+ `startingLineNumber` renumbers the gutter, for a fragment lifted out of a longer file.
105
+
106
+ Source: CodeSnippet/CodeSnippet.stories.tsx#CustomStartingLine
107
+
108
+ ### JSONWithShiki
109
+
110
+ Shiki, supplied through `CodeSnippetAdapterProvider`, uses VS Code-style grammars.
111
+ The adapter lazily initializes its supported languages and github-light theme with
112
+ the Oniguruma WASM engine on the first highlight call.
113
+
114
+ Source: CodeSnippet/CodeSnippet.stories.tsx#JSONWithShiki
115
+
116
+ ### TypescriptWithPrism
117
+
118
+ TypeScript highlighted with Prism. Its loader emits only the Prism adapter's
119
+ dependencies; unused Shiki and highlight.js loaders are discarded by the consumer.
120
+
121
+ Source: CodeSnippet/CodeSnippet.stories.tsx#TypescriptWithPrism
122
+
123
+ ### BashWithPrism
124
+
125
+ A multi-line `curl` under Prism, where the continuation backslashes and the quoted JSON
126
+ body are the parts a highlighter usually gets wrong.
127
+
128
+ Source: CodeSnippet/CodeSnippet.stories.tsx#BashWithPrism
129
+
130
+ ### HTMLWithHighlightJs
131
+
132
+ HTML highlighted with highlight.js. The adapter loads the library lazily and
133
+ exposes the languages listed by its getSupportedLanguages() method.
134
+
135
+ Source: CodeSnippet/CodeSnippet.stories.tsx#HTMLWithHighlightJs
136
+
137
+ ### HTTPRequestWithPrism
138
+
139
+ `language='http'` is a grammar in its own right — method, path and version on the first
140
+ line, then header names told apart from their values.
141
+
142
+ Source: CodeSnippet/CodeSnippet.stories.tsx#HTTPRequestWithPrism
143
+
144
+ ### HTTPResponseWithShiki
145
+
146
+ The response side, where the JSON body after the headers is highlighted as JSON rather
147
+ than as more header text.
148
+
149
+ Source: CodeSnippet/CodeSnippet.stories.tsx#HTTPResponseWithShiki
150
+
151
+ ### WithHeader
152
+
153
+ `CodeSnippetHeader` with a `CodeSnippetTitle` names the file the code came from, as a
154
+ bar above the block rather than a caption on it.
155
+
156
+ Source: CodeSnippet/CodeSnippet.stories.tsx#WithHeader
157
+
158
+ ### WithTabsAndActions
159
+
160
+ Tabs in the header swap the `code` the block is given, which is how one command per
161
+ package manager is built; the actions sit at the far end of the same bar.
162
+
163
+ Source: CodeSnippet/CodeSnippet.stories.tsx#WithTabsAndActions
164
+
165
+ ### WithFloatingActions
166
+
167
+ With no header to hold them, `CodeSnippetActions` floats over the top-right of the code
168
+ — the shape for a block whose only affordance is copy.
169
+
170
+ Source: CodeSnippet/CodeSnippet.stories.tsx#WithFloatingActions
171
+
172
+ ### ShowMore
173
+
174
+ `maxLines` clips the block and adds the control itself — but only when it would hide at
175
+ least three lines, so the middle snippet stays open; the third passes props to the real
176
+ button by rendering `CodeSnippetShowMoreButton` in place of the automatic one.
177
+
178
+ Source: CodeSnippet/CodeSnippet.stories.tsx#ShowMore
179
+
180
+ ### HTTPRequestWithFolding
181
+
182
+ `getHttpFolds` reads an HTTP message and returns its fold regions, so the reader opens
183
+ the headers or the body rather than scrolling past both.
184
+
185
+ Source: CodeSnippet/CodeSnippet.stories.tsx#HTTPRequestWithFolding
186
+
187
+ ### HTTPResponseWithFolding
188
+
189
+ The same helper on a response, where the body is usually the half worth folding away.
190
+
191
+ Source: CodeSnippet/CodeSnippet.stories.tsx#HTTPResponseWithFolding
192
+
193
+ ### WithFoldingExpanded
194
+
195
+ Folds over coloured lines: a collapsed fold takes its colours and prefixes with it, and
196
+ hands them back on expand.
197
+
198
+ Source: CodeSnippet/CodeSnippet.stories.tsx#WithFoldingExpanded
199
+
200
+ ### WithFoldingAndShowMore
201
+
202
+ Folds, `maxLines` and `startingLineNumber` together — fold line numbers are absolute, so
203
+ `getHttpFolds` has to be given the same offset the gutter uses.
204
+
205
+ Source: CodeSnippet/CodeSnippet.stories.tsx#WithFoldingAndShowMore
206
+
207
+ ### FullscreenInsideDrawer
208
+
209
+ Fullscreen opened from a modal `Drawer` stacks above it as a nested layer: its buttons stay
210
+ clickable, and Escape or a backdrop click leaves fullscreen while the drawer stays open.
211
+
212
+ Source: CodeSnippet/CodeSnippet.stories.tsx#FullscreenInsideDrawer
213
+
214
+ ### Default
215
+
216
+ One snippet in three sentence sizes: `size='inherit'`, the default, scales the type
217
+ and the padding with whatever it sits in, and hovering offers the copy.
218
+
219
+ Source: CodeSnippet/InlineCodeSnippet.stories.tsx#Default
220
+
221
+ ### Sizes
222
+
223
+ The three fixed sizes, each beside the text size it pairs with — set one when the
224
+ snippet must hold its size regardless of its surroundings.
225
+
226
+ Source: CodeSnippet/InlineCodeSnippet.stories.tsx#Sizes
227
+
228
+ ### NonCopyable
229
+
230
+ `copyable={false}` takes the tooltip and the pointer cursor away with the copy, for a
231
+ snippet that is only being named rather than reused.
232
+
233
+ Source: CodeSnippet/InlineCodeSnippet.stories.tsx#NonCopyable
234
+
235
+ ### VariousContent
236
+
237
+ Commands, JSON, SQL and a quoted message all render in one colour — inline code gets
238
+ the mono treatment and nothing else.
239
+
240
+ Source: CodeSnippet/InlineCodeSnippet.stories.tsx#VariousContent
241
+
242
+ ## Story sources
243
+
244
+ ### CodeSnippet/CodeSnippet.stories.tsx
245
+
246
+ ```tsx
247
+ import { useState } from 'react';
248
+ import type { Meta, StoryFn } from 'storybook-react-rsbuild';
249
+ import { Info, Skull, TriangleAlert } from '../../icons';
250
+ import { Button } from '../Button';
251
+ import {
252
+ Drawer,
253
+ DrawerBody,
254
+ DrawerContent,
255
+ DrawerHeader,
256
+ DrawerTitle,
257
+ DrawerTrigger,
258
+ } from '../Drawer';
259
+ import { VStack } from '../Stack';
260
+ import { Tooltip, TooltipContent, TooltipTrigger } from '../Tooltip';
261
+ import { loadHighlightJsAdapter, loadPrismAdapter, loadShikiAdapter } from './adapters';
262
+ import { CodeSnippetActions } from './CodeSnippetActions';
263
+ import { CodeSnippetAdapterProvider } from './CodeSnippetAdapterProvider';
264
+ import { CodeSnippetCode } from './CodeSnippetCode';
265
+ import { CodeSnippetContent } from './CodeSnippetContent';
266
+ import { CodeSnippetCopyButton } from './CodeSnippetCopyButton';
267
+ import { CodeSnippetFullscreenButton } from './CodeSnippetFullscreenButton';
268
+ import { CodeSnippetHeader } from './CodeSnippetHeader';
269
+ import { CodeSnippetLineNumbers } from './CodeSnippetLineNumbers';
270
+ import { CodeSnippetRoot } from './CodeSnippetRoot';
271
+ import { CodeSnippetShowMoreButton } from './CodeSnippetShowMoreButton';
272
+ import { CodeSnippetTab } from './CodeSnippetTab';
273
+ import { CodeSnippetTabs } from './CodeSnippetTabs';
274
+ import { CodeSnippetTitle } from './CodeSnippetTitle';
275
+ import { CodeSnippetWrapButton } from './CodeSnippetWrapButton';
276
+ import { getHttpFolds } from './lib/httpFolds';
277
+
278
+ const DESCRIPTION = [
279
+ 'A block of code to be read and copied, never edited — reach for `InlineCodeSnippet` when the code belongs inside a sentence, and a real editor when the value is meant to change.',
280
+ 'Everything beyond the code is composed: a `CodeSnippetHeader` carrying a title or tabs, `CodeSnippetActions` for copy, wrap and fullscreen, `CodeSnippetLineNumbers`, and per-line colour, prefixes and folds — and highlighting happens only inside a `CodeSnippetAdapterProvider`.',
281
+ 'The snippet sits inside a `display: contents` wrapper that keeps it mounted across fullscreen, so space snippets with their own `className` (for example `mt-16`) or a `gap` on the parent — not `space-*`, `divide-*` or child selectors on the parent.',
282
+ ].join(' ');
283
+
284
+ const meta = {
285
+ title: 'Data Display/CodeSnippet/CodeSnippet',
286
+ component: CodeSnippetRoot,
287
+ parameters: {
288
+ layout: 'padded',
289
+ docs: { description: { component: DESCRIPTION } },
290
+ design: {
291
+ type: 'figma',
292
+ url: 'https://www.figma.com/design/VKb5gW46uSGw0rqrhZsbXT/WADS-Components?node-id=3087-29516&m=dev',
293
+ },
294
+ },
295
+ tags: ['autodocs'],
296
+ } satisfies Meta<typeof CodeSnippetRoot>;
297
+
298
+ export default meta;
299
+
300
+ const sampleCode = `const greeting = "Hello, World!";
301
+ console.log(greeting);
302
+
303
+ function add(a, b) {
304
+ return a + b;
305
+ }
306
+
307
+ export default add;`;
308
+
309
+ const bashCode = `npm install @wallarm-org/sdk
310
+ npm run build
311
+ npm run test`;
312
+
313
+ const jsonCode = `{
314
+ "name": "@wallarm-org/sdk",
315
+ "version": "1.0.0",
316
+ "dependencies": {
317
+ "react": "^19.0.0",
318
+ "typescript": "^5.0.0"
319
+ }
320
+ }`;
321
+
322
+ /**
323
+ * The block with no adapter in scope — mono type on a tinted surface, and the plain
324
+ * fallback rather than an absence of highlighting to fix.
325
+ */
326
+ export const Default: StoryFn<typeof meta> = () => (
327
+ <CodeSnippetRoot code={bashCode} language='text'>
328
+ <CodeSnippetContent>
329
+ <CodeSnippetCode />
330
+ </CodeSnippetContent>
331
+ </CodeSnippetRoot>
332
+ );
333
+
334
+ /**
335
+ * `CodeSnippetLineNumbers` is a sibling of the code inside `CodeSnippetContent`, so the
336
+ * gutter is something you compose in rather than a prop you switch on.
337
+ */
338
+ export const WithLineNumbers: StoryFn<typeof meta> = () => (
339
+ <CodeSnippetRoot code={sampleCode} language='text'>
340
+ <CodeSnippetContent>
341
+ <CodeSnippetLineNumbers />
342
+ <CodeSnippetCode />
343
+ </CodeSnippetContent>
344
+ </CodeSnippetRoot>
345
+ );
346
+
347
+ /**
348
+ * The three sizes. `sm` is the default at 12px; `md` and `lg` step the code to 14 and
349
+ * 16px for a block meant to be read from further away.
350
+ */
351
+ export const Sizes: StoryFn<typeof meta> = () => (
352
+ <VStack gap={16}>
353
+ <VStack align='start' gap={4}>
354
+ <span className='sb-annotation'>sm (default)</span>
355
+ <CodeSnippetRoot code={bashCode} language='text' size='sm'>
356
+ <CodeSnippetContent>
357
+ <CodeSnippetCode />
358
+ </CodeSnippetContent>
359
+ </CodeSnippetRoot>
360
+ </VStack>
361
+
362
+ <VStack align='start' gap={4}>
363
+ <span className='sb-annotation'>md</span>
364
+ <CodeSnippetRoot code={bashCode} language='text' size='md'>
365
+ <CodeSnippetContent>
366
+ <CodeSnippetCode />
367
+ </CodeSnippetContent>
368
+ </CodeSnippetRoot>
369
+ </VStack>
370
+
371
+ <VStack align='start' gap={4}>
372
+ <span className='sb-annotation'>lg</span>
373
+ <CodeSnippetRoot code={bashCode} language='text' size='lg'>
374
+ <CodeSnippetContent>
375
+ <CodeSnippetCode />
376
+ </CodeSnippetContent>
377
+ </CodeSnippetRoot>
378
+ </VStack>
379
+ </VStack>
380
+ );
381
+
382
+ /**
383
+ * `lines`, keyed by line number, tints a line and hangs a prefix off it — here a
384
+ * tooltipped icon on each of the three headers worth calling out.
385
+ */
386
+ export const LineAnnotations: StoryFn<typeof meta> = () => {
387
+ const httpCode = `Host: inventory.example.com
388
+ User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
389
+ AppleWebKit/537.36
390
+ Accept: application/json, text/plain, */*
391
+ Accept-Language: en-US,en;q=0.9
392
+ Connection: keep-alive
393
+ Cache-Control: no-cache`;
394
+
395
+ return (
396
+ <CodeSnippetRoot
397
+ code={httpCode}
398
+ language='text'
399
+ lines={{
400
+ 3: {
401
+ color: 'danger',
402
+ prefix: (
403
+ <Tooltip>
404
+ <TooltipTrigger>
405
+ <Skull />
406
+ </TooltipTrigger>
407
+ <TooltipContent>Tooltip</TooltipContent>
408
+ </Tooltip>
409
+ ),
410
+ },
411
+ 5: {
412
+ color: 'warning',
413
+ prefix: (
414
+ <Tooltip>
415
+ <TooltipTrigger>
416
+ <TriangleAlert />
417
+ </TooltipTrigger>
418
+ <TooltipContent>Tooltip</TooltipContent>
419
+ </Tooltip>
420
+ ),
421
+ },
422
+ 7: {
423
+ color: 'info',
424
+ prefix: (
425
+ <Tooltip>
426
+ <TooltipTrigger>
427
+ <Info />
428
+ </TooltipTrigger>
429
+ <TooltipContent>Tooltip</TooltipContent>
430
+ </Tooltip>
431
+ ),
432
+ },
433
+ }}
434
+ >
435
+ <CodeSnippetContent>
436
+ <CodeSnippetLineNumbers />
437
+ <CodeSnippetCode />
438
+ </CodeSnippetContent>
439
+ </CodeSnippetRoot>
440
+ );
441
+ };
442
+
443
+ /**
444
+ * The seven line colours are semantic, so choose by what the line means — `danger` for
445
+ * the attack, `info` for the aside — not by which tint reads best.
446
+ */
447
+ export const LineColors: StoryFn<typeof meta> = () => {
448
+ const colorsCode = `Line 1: Default (no color)
449
+ Line 2: Danger color
450
+ Line 3: Warning color
451
+ Line 4: Info color
452
+ Line 5: Success color
453
+ Line 6: Brand color
454
+ Line 7: AI color
455
+ Line 8: Neutral color`;
456
+
457
+ return (
458
+ <CodeSnippetRoot
459
+ code={colorsCode}
460
+ language='text'
461
+ lines={{
462
+ 2: { color: 'danger' },
463
+ 3: { color: 'warning' },
464
+ 4: { color: 'info' },
465
+ 5: { color: 'success' },
466
+ 6: { color: 'brand' },
467
+ 7: { color: 'ai' },
468
+ 8: { color: 'neutral' },
469
+ }}
470
+ >
471
+ <CodeSnippetContent>
472
+ <CodeSnippetLineNumbers />
473
+ <CodeSnippetCode />
474
+ </CodeSnippetContent>
475
+ </CodeSnippetRoot>
476
+ );
477
+ };
478
+
479
+ /**
480
+ * `ranges` narrows the emphasis to character offsets inside the line — start inclusive,
481
+ * end exclusive — and once a line has them only the range is coloured, though the
482
+ * line's own background stays.
483
+ */
484
+ export const LineRanges: StoryFn<typeof meta> = () => {
485
+ const httpCode = `GET /api/v2/users HTTP/1.1
486
+ Host: inventory.example.com
487
+ User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
488
+ Accept: application/json, text/plain, */*
489
+ Accept-Language: en-US,en;q=0.9
490
+ Connection: keep-alive
491
+ X-Forwarded-For: 192.168.1.100
492
+ Cache-Control: no-cache`;
493
+
494
+ return (
495
+ <CodeSnippetRoot
496
+ code={httpCode}
497
+ language='text'
498
+ lines={{
499
+ 4: {
500
+ color: 'danger',
501
+ ranges: [{ start: 8, end: 24 }],
502
+ },
503
+ 7: {
504
+ color: 'info',
505
+ ranges: [{ start: 17, end: 30 }],
506
+ },
507
+ }}
508
+ >
509
+ <CodeSnippetContent>
510
+ <CodeSnippetLineNumbers />
511
+ <CodeSnippetCode />
512
+ </CodeSnippetContent>
513
+ </CodeSnippetRoot>
514
+ );
515
+ };
516
+
517
+ /**
518
+ * `textStyle` overrides the weight or slant a colour would have chosen, with `className`
519
+ * and `style` left for the cases the three named styles do not cover.
520
+ */
521
+ export const TextStyles: StoryFn<typeof meta> = () => {
522
+ const stylesCode = `Line 1: Default (regular)
523
+ Line 2: Medium weight
524
+ Line 3: Italic style
525
+ Line 4: Danger with italic override
526
+ Line 5: Neutral (default italic)
527
+ Line 6: Custom className
528
+ Line 7: Custom inline style`;
529
+
530
+ return (
531
+ <CodeSnippetRoot
532
+ code={stylesCode}
533
+ language='text'
534
+ lines={{
535
+ 2: { textStyle: 'medium' },
536
+ 3: { textStyle: 'italic' },
537
+ 4: { color: 'danger', textStyle: 'italic' },
538
+ 5: { color: 'neutral' },
539
+ 6: { className: 'underline' },
540
+ 7: { style: { textDecoration: 'line-through' } },
541
+ }}
542
+ >
543
+ <CodeSnippetContent>
544
+ <CodeSnippetLineNumbers />
545
+ <CodeSnippetCode />
546
+ </CodeSnippetContent>
547
+ </CodeSnippetRoot>
548
+ );
549
+ };
550
+
551
+ /**
552
+ * A `+` and `-` prefix over `success` and `danger` lines gives you a diff without a diff
553
+ * component.
554
+ */
555
+ export const LineWithPrefix: StoryFn<typeof meta> = () => {
556
+ const diffCode = `const greeting = "Hello";
557
+ console.log("old message");
558
+ console.log("new message");
559
+ console.log("another new line");
560
+
561
+ export default greeting;`;
562
+
563
+ return (
564
+ <CodeSnippetRoot
565
+ code={diffCode}
566
+ language='text'
567
+ lines={{
568
+ 2: { color: 'danger', prefix: '-' },
569
+ 3: { color: 'success', prefix: '+' },
570
+ 4: { color: 'success', prefix: '+' },
571
+ }}
572
+ >
573
+ <CodeSnippetContent>
574
+ <CodeSnippetLineNumbers />
575
+ <CodeSnippetCode />
576
+ </CodeSnippetContent>
577
+ </CodeSnippetRoot>
578
+ );
579
+ };
580
+
581
+ /**
582
+ * `wrapLines` against the same code unwrapped, in three pairs — what to check is that
583
+ * prefixes, colour sticks and fold toggles stay on the first visual row of a wrapped line.
584
+ */
585
+ export const LineWrapping: StoryFn<typeof meta> = () => {
586
+ const longCode = `const veryLongVariableName = "This is a very long string that will demonstrate line wrapping behavior when the content exceeds the container width";
587
+ console.log(veryLongVariableName);`;
588
+
589
+ const httpCode = `GET /api/v2/users?page=1&limit=20&filter=active&sort=name&order=asc&include=profile,settings HTTP/1.1
590
+ Host: api.wallarm.com
591
+ Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0
592
+ Content-Type: application/json
593
+ Accept: application/json
594
+
595
+ {
596
+ "filter": { "status": "active", "role": "admin" }
597
+ }`;
598
+
599
+ return (
600
+ <VStack gap={16}>
601
+ <VStack align='start' gap={4}>
602
+ <span className='sb-annotation'>Without wrapping</span>
603
+ <div style={{ maxWidth: '600px' }}>
604
+ <CodeSnippetRoot code={longCode} language='text'>
605
+ <CodeSnippetContent>
606
+ <CodeSnippetLineNumbers />
607
+ <CodeSnippetCode />
608
+ </CodeSnippetContent>
609
+ </CodeSnippetRoot>
610
+ </div>
611
+ </VStack>
612
+
613
+ <VStack align='start' gap={4}>
614
+ <span className='sb-annotation'>With wrapping</span>
615
+ <div style={{ maxWidth: '600px' }}>
616
+ <CodeSnippetRoot code={longCode} language='text' wrapLines>
617
+ <CodeSnippetContent>
618
+ <CodeSnippetLineNumbers />
619
+ <CodeSnippetCode />
620
+ </CodeSnippetContent>
621
+ </CodeSnippetRoot>
622
+ </div>
623
+ </VStack>
624
+ <VStack align='start' gap={4}>
625
+ <span className='sb-annotation'>Without wrapping, with annotations</span>
626
+ <div style={{ maxWidth: '600px' }}>
627
+ <CodeSnippetRoot
628
+ code={longCode}
629
+ language='text'
630
+ lines={{
631
+ 1: { color: 'danger', prefix: '-' },
632
+ 2: { color: 'success', prefix: '+' },
633
+ }}
634
+ >
635
+ <CodeSnippetContent>
636
+ <CodeSnippetLineNumbers />
637
+ <CodeSnippetCode />
638
+ </CodeSnippetContent>
639
+ </CodeSnippetRoot>
640
+ </div>
641
+ </VStack>
642
+ <VStack align='start' gap={4}>
643
+ <span className='sb-annotation'>Wrapping with annotations</span>
644
+ <div style={{ maxWidth: '600px' }}>
645
+ <CodeSnippetRoot
646
+ code={longCode}
647
+ language='text'
648
+ wrapLines
649
+ lines={{
650
+ 1: { color: 'danger', prefix: '-' },
651
+ 2: { color: 'success', prefix: '+' },
652
+ }}
653
+ >
654
+ <CodeSnippetContent>
655
+ <CodeSnippetLineNumbers />
656
+ <CodeSnippetCode />
657
+ </CodeSnippetContent>
658
+ </CodeSnippetRoot>
659
+ </div>
660
+ </VStack>
661
+ <VStack align='start' gap={4}>
662
+ <span className='sb-annotation'>Folds without wrapping</span>
663
+ <div style={{ maxWidth: '600px' }}>
664
+ <CodeSnippetRoot
665
+ code={httpCode}
666
+ language='text'
667
+ folds={getHttpFolds(httpCode, { headers: { defaultCollapsed: true } })}
668
+ >
669
+ <CodeSnippetContent>
670
+ <CodeSnippetLineNumbers />
671
+ <CodeSnippetCode />
672
+ </CodeSnippetContent>
673
+ </CodeSnippetRoot>
674
+ </div>
675
+ </VStack>
676
+ <VStack align='start' gap={4}>
677
+ <span className='sb-annotation'>Folds with wrapping</span>
678
+ <div style={{ maxWidth: '600px' }}>
679
+ <CodeSnippetRoot
680
+ code={httpCode}
681
+ language='text'
682
+ wrapLines
683
+ folds={getHttpFolds(httpCode, { headers: { defaultCollapsed: true } })}
684
+ >
685
+ <CodeSnippetContent>
686
+ <CodeSnippetLineNumbers />
687
+ <CodeSnippetCode />
688
+ </CodeSnippetContent>
689
+ </CodeSnippetRoot>
690
+ </div>
691
+ </VStack>
692
+ </VStack>
693
+ );
694
+ };
695
+
696
+ const longScrollCode = `// This is a code snippet that demonstrates both vertical and horizontal scrolling
697
+ const veryLongVariableName = "This is a very long string that will require horizontal scrolling to see the entire content of the line";
698
+ const anotherLongLine = { key1: "value1", key2: "value2", key3: "value3", key4: "value4", key5: "value5", key6: "value6", key7: "value7" };
699
+
700
+ function processData(input) {
701
+ const result = [];
702
+ for (let i = 0; i < input.length; i++) {
703
+ result.push(input[i] * 2);
704
+ }
705
+ return result;
706
+ }
707
+
708
+ async function fetchUserData(userId) {
709
+ const response = await fetch(\`/api/users/\${userId}\`);
710
+ const data = await response.json();
711
+ return data;
712
+ }
713
+
714
+ class DataProcessor {
715
+ constructor(config) {
716
+ this.config = config;
717
+ }
718
+
719
+ process(data) {
720
+ return data.map(item => item * this.config.multiplier);
721
+ }
722
+ }
723
+
724
+ const config = { multiplier: 2 };
725
+ const processor = new DataProcessor(config);
726
+
727
+ export { processData, fetchUserData, DataProcessor };`;
728
+
729
+ /**
730
+ * Given a fixed height inside a narrow column, the block scrolls in both directions
731
+ * rather than pushing its container around.
732
+ */
733
+ export const WithBothScrolls: StoryFn<typeof meta> = () => (
734
+ <div style={{ maxWidth: '500px', maxHeight: '300px', background: 'white' }}>
735
+ <CodeSnippetRoot
736
+ code={longScrollCode}
737
+ language='text'
738
+ lines={{
739
+ 2: { color: 'warning', prefix: <TriangleAlert /> },
740
+ 3: { color: 'info' },
741
+ 13: { color: 'danger', prefix: <Skull /> },
742
+ 20: { color: 'success', prefix: '+' },
743
+ }}
744
+ style={{ height: '280px' }}
745
+ >
746
+ <CodeSnippetContent>
747
+ <CodeSnippetLineNumbers />
748
+ <CodeSnippetCode />
749
+ </CodeSnippetContent>
750
+ </CodeSnippetRoot>
751
+ </div>
752
+ );
753
+
754
+ /**
755
+ * `startingLineNumber` renumbers the gutter, for a fragment lifted out of a longer file.
756
+ */
757
+ export const CustomStartingLine: StoryFn<typeof meta> = () => (
758
+ <CodeSnippetRoot code={sampleCode} language='text' startingLineNumber={97}>
759
+ <CodeSnippetContent>
760
+ <CodeSnippetLineNumbers />
761
+ <CodeSnippetCode />
762
+ </CodeSnippetContent>
763
+ </CodeSnippetRoot>
764
+ );
765
+
766
+ /**
767
+ * Shiki, supplied through `CodeSnippetAdapterProvider`, uses VS Code-style grammars.
768
+ * The adapter lazily initializes its supported languages and github-light theme with
769
+ * the Oniguruma WASM engine on the first highlight call.
770
+ */
771
+ export const JSONWithShiki: StoryFn<typeof meta> = () => (
772
+ <CodeSnippetAdapterProvider adapter={loadShikiAdapter}>
773
+ <CodeSnippetRoot code={jsonCode} language='json'>
774
+ <CodeSnippetContent>
775
+ <CodeSnippetLineNumbers />
776
+ <CodeSnippetCode />
777
+ </CodeSnippetContent>
778
+ </CodeSnippetRoot>
779
+ </CodeSnippetAdapterProvider>
780
+ );
781
+
782
+ const typescriptCode = `type User = {
783
+ id: number;
784
+ name: string;
785
+ email: string;
786
+ isActive: boolean;
787
+ };
788
+
789
+ type UserRole = 'admin' | 'user' | 'guest';
790
+
791
+ /*
792
+ * Get user by id
793
+ * */
794
+ async function fetchUser(id: number): Promise<User> {
795
+ const response = await fetch(\`/api/users/\${id}\`);
796
+ if (!response.ok) {
797
+ throw new Error('User not found');
798
+ }
799
+ return response.json();
800
+ }
801
+
802
+ // Default users
803
+ const users: User[] = [];
804
+ export { fetchUser, users };`;
805
+
806
+ /**
807
+ * TypeScript highlighted with Prism. Its loader emits only the Prism adapter's
808
+ * dependencies; unused Shiki and highlight.js loaders are discarded by the consumer.
809
+ */
810
+ export const TypescriptWithPrism: StoryFn<typeof meta> = () => (
811
+ <CodeSnippetAdapterProvider adapter={loadPrismAdapter}>
812
+ <CodeSnippetRoot code={typescriptCode} language='typescript'>
813
+ <CodeSnippetContent>
814
+ <CodeSnippetLineNumbers />
815
+ <CodeSnippetCode />
816
+ </CodeSnippetContent>
817
+ </CodeSnippetRoot>
818
+ </CodeSnippetAdapterProvider>
819
+ );
820
+
821
+ const curlCode = `curl -X POST "https://api.wallarm.com/v2/node" \\
822
+ -H "Authorization: Bearer $WALLARM_API_TOKEN" \\
823
+ -H "Content-Type: application/json" \\
824
+ -d '{
825
+ "name": "my-node",
826
+ "type": "cloud",
827
+ "enabled": true
828
+ }'`;
829
+
830
+ /**
831
+ * A multi-line `curl` under Prism, where the continuation backslashes and the quoted JSON
832
+ * body are the parts a highlighter usually gets wrong.
833
+ */
834
+ export const BashWithPrism: StoryFn<typeof meta> = () => (
835
+ <CodeSnippetAdapterProvider adapter={loadPrismAdapter}>
836
+ <CodeSnippetRoot code={curlCode} language='bash'>
837
+ <CodeSnippetContent>
838
+ <CodeSnippetLineNumbers />
839
+ <CodeSnippetCode />
840
+ </CodeSnippetContent>
841
+ </CodeSnippetRoot>
842
+ </CodeSnippetAdapterProvider>
843
+ );
844
+
845
+ const htmlCode = `<!DOCTYPE html>
846
+ <html lang="en">
847
+ <head>
848
+ <meta charset="UTF-8">
849
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
850
+ <title>Wallarm Dashboard</title>
851
+ <link rel="stylesheet" href="/styles.css">
852
+ </head>
853
+ <body>
854
+ <header class="header">
855
+ <nav id="main-nav">
856
+ <a href="/" class="logo">Wallarm</a>
857
+ <ul class="nav-links">
858
+ <li><a href="/dashboard">Dashboard</a></li>
859
+ <li><a href="/settings">Settings</a></li>
860
+ </ul>
861
+ </nav>
862
+ </header>
863
+ <main>
864
+ <h1>Welcome to Wallarm</h1>
865
+ <p>Secure your APIs with advanced protection.</p>
866
+ </main>
867
+ </body>
868
+ </html>`;
869
+
870
+ /**
871
+ * HTML highlighted with highlight.js. The adapter loads the library lazily and
872
+ * exposes the languages listed by its getSupportedLanguages() method.
873
+ */
874
+ export const HTMLWithHighlightJs: StoryFn<typeof meta> = () => (
875
+ <CodeSnippetAdapterProvider adapter={loadHighlightJsAdapter}>
876
+ <CodeSnippetRoot code={htmlCode} language='html'>
877
+ <CodeSnippetContent>
878
+ <CodeSnippetLineNumbers />
879
+ <CodeSnippetCode />
880
+ </CodeSnippetContent>
881
+ </CodeSnippetRoot>
882
+ </CodeSnippetAdapterProvider>
883
+ );
884
+
885
+ const httpRequestCode = `GET /api/v2/users?page=1&limit=20 HTTP/1.1
886
+ Host: api.wallarm.com
887
+ Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
888
+ Content-Type: application/json
889
+ Accept: application/json
890
+ User-Agent: WallarmSDK/2.0
891
+ Cache-Control: no-cache`;
892
+
893
+ /**
894
+ * `language='http'` is a grammar in its own right — method, path and version on the first
895
+ * line, then header names told apart from their values.
896
+ */
897
+ export const HTTPRequestWithPrism: StoryFn<typeof meta> = () => (
898
+ <CodeSnippetAdapterProvider adapter={loadPrismAdapter}>
899
+ <CodeSnippetRoot code={httpRequestCode} language='http'>
900
+ <CodeSnippetContent>
901
+ <CodeSnippetLineNumbers />
902
+ <CodeSnippetCode />
903
+ </CodeSnippetContent>
904
+ </CodeSnippetRoot>
905
+ </CodeSnippetAdapterProvider>
906
+ );
907
+
908
+ const httpResponseCode = `HTTP/1.1 200 OK
909
+ Content-Type: application/json; charset=utf-8
910
+ X-Request-Id: abc-123-def-456
911
+ Cache-Control: no-store
912
+
913
+ {
914
+ "users": [
915
+ { "id": 1, "name": "Alice" },
916
+ { "id": 2, "name": "Bob" }
917
+ ],
918
+ "total": 42
919
+ }`;
920
+
921
+ /**
922
+ * The response side, where the JSON body after the headers is highlighted as JSON rather
923
+ * than as more header text.
924
+ */
925
+ export const HTTPResponseWithShiki: StoryFn<typeof meta> = () => (
926
+ <CodeSnippetAdapterProvider adapter={loadShikiAdapter}>
927
+ <CodeSnippetRoot code={httpResponseCode} language='http'>
928
+ <CodeSnippetContent>
929
+ <CodeSnippetLineNumbers />
930
+ <CodeSnippetCode />
931
+ </CodeSnippetContent>
932
+ </CodeSnippetRoot>
933
+ </CodeSnippetAdapterProvider>
934
+ );
935
+
936
+ /**
937
+ * `CodeSnippetHeader` with a `CodeSnippetTitle` names the file the code came from, as a
938
+ * bar above the block rather than a caption on it.
939
+ */
940
+ export const WithHeader: StoryFn<typeof meta> = () => (
941
+ <CodeSnippetRoot code={bashCode} language='text'>
942
+ <CodeSnippetHeader>
943
+ <CodeSnippetTitle>install.sh</CodeSnippetTitle>
944
+ </CodeSnippetHeader>
945
+ <CodeSnippetContent>
946
+ <CodeSnippetCode />
947
+ </CodeSnippetContent>
948
+ </CodeSnippetRoot>
949
+ );
950
+
951
+ const packageManagerCodes: Record<string, string> = {
952
+ npm: 'npx wasd-new@latest add code-snippet inline-code-snippet button',
953
+ pnpm: 'pnpm dlx wasd-new@latest add code-snippet inline-code-snippet button',
954
+ yarn: 'yarn dlx wasd-new@latest add code-snippet inline-code-snippet button',
955
+ bun: 'bunx wasd-new@latest add code-snippet inline-code-snippet button',
956
+ };
957
+
958
+ /**
959
+ * Tabs in the header swap the `code` the block is given, which is how one command per
960
+ * package manager is built; the actions sit at the far end of the same bar.
961
+ */
962
+ export const WithTabsAndActions: StoryFn<typeof meta> = () => {
963
+ const [tab, setTab] = useState('npm');
964
+ const code = packageManagerCodes[tab] ?? '';
965
+
966
+ return (
967
+ <div style={{ width: '320px' }}>
968
+ <CodeSnippetRoot code={code} language='text'>
969
+ <CodeSnippetHeader>
970
+ <CodeSnippetTabs value={tab} onValueChange={setTab}>
971
+ <CodeSnippetTab value='npm'>npm</CodeSnippetTab>
972
+ <CodeSnippetTab value='pnpm'>pnpm</CodeSnippetTab>
973
+ <CodeSnippetTab value='yarn'>yarn</CodeSnippetTab>
974
+ <CodeSnippetTab value='bun'>bun</CodeSnippetTab>
975
+ </CodeSnippetTabs>
976
+ <CodeSnippetActions>
977
+ <CodeSnippetFullscreenButton />
978
+ <CodeSnippetWrapButton />
979
+ <CodeSnippetCopyButton />
980
+ </CodeSnippetActions>
981
+ </CodeSnippetHeader>
982
+ <CodeSnippetContent>
983
+ <CodeSnippetCode />
984
+ </CodeSnippetContent>
985
+ </CodeSnippetRoot>
986
+ </div>
987
+ );
988
+ };
989
+
990
+ /**
991
+ * With no header to hold them, `CodeSnippetActions` floats over the top-right of the code
992
+ * — the shape for a block whose only affordance is copy.
993
+ */
994
+ export const WithFloatingActions: StoryFn<typeof meta> = () => (
995
+ <div style={{ width: '320px' }}>
996
+ <CodeSnippetRoot code={sampleCode} language='text'>
997
+ <CodeSnippetActions>
998
+ <CodeSnippetWrapButton />
999
+ <CodeSnippetCopyButton />
1000
+ </CodeSnippetActions>
1001
+ <CodeSnippetContent>
1002
+ <CodeSnippetLineNumbers />
1003
+ <CodeSnippetCode />
1004
+ </CodeSnippetContent>
1005
+ </CodeSnippetRoot>
1006
+ </div>
1007
+ );
1008
+
1009
+ const showMoreCode = `Host: inventory.example.com
1010
+ User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
1011
+ Referer: https://app.example.com/dashboard
1012
+ Accept: application/json, text/plain, */*
1013
+ Accept-Language: en-US,en;q=0.9
1014
+ Connection: keep-alive
1015
+ Cache-Control: no-cache
1016
+ Referer: https://app.example.com/dashboard
1017
+ Accept: application/json, text/plain, */*
1018
+ Accept-Language: en-US,en;q=0.9
1019
+ Connection: keep-alive
1020
+ Cache-Control: no-cache`;
1021
+
1022
+ /**
1023
+ * Show more / show less button to collapse long code snippets.
1024
+ * Matches Figma node 3092:19114.
1025
+ *
1026
+ * When `maxLines` is set, only the first N lines are shown and
1027
+ * CodeSnippetRoot auto-renders the default button. Render
1028
+ * CodeSnippetShowMoreButton yourself only when props must reach the real
1029
+ * button, for example analytics attributes or an onClick handler.
1030
+ */
1031
+ const showMoreThresholdCode = `Host: inventory.example.com
1032
+ User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
1033
+ Referer: https://app.example.com/dashboard
1034
+ Accept: application/json, text/plain, */*
1035
+ Accept-Language: en-US,en;q=0.9
1036
+ Connection: keep-alive
1037
+ Cache-Control: no-cache
1038
+ Authorization: Bearer token123
1039
+ X-Request-ID: abc-def-ghi`;
1040
+
1041
+ /**
1042
+ * `maxLines` clips the block and adds the control itself — but only when it would hide at
1043
+ * least three lines, so the middle snippet stays open; the third passes props to the real
1044
+ * button by rendering `CodeSnippetShowMoreButton` in place of the automatic one.
1045
+ */
1046
+ export const ShowMore: StoryFn<typeof meta> = () => (
1047
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '24px', width: '500px' }}>
1048
+ <div>
1049
+ <p className='sb-annotation mb-8'>12 lines, clipped at 7 — 5 hidden</p>
1050
+ <CodeSnippetRoot
1051
+ code={showMoreCode}
1052
+ language='text'
1053
+ maxLines={7}
1054
+ data-testid='show-more-clipped'
1055
+ >
1056
+ <CodeSnippetContent>
1057
+ <CodeSnippetCode />
1058
+ </CodeSnippetContent>
1059
+ </CodeSnippetRoot>
1060
+ </div>
1061
+ <div>
1062
+ <p className='sb-annotation mb-8'>9 lines, clipped at 7 — 2 hidden, no button</p>
1063
+ <CodeSnippetRoot
1064
+ code={showMoreThresholdCode}
1065
+ language='text'
1066
+ maxLines={7}
1067
+ data-testid='show-more-threshold'
1068
+ >
1069
+ <CodeSnippetContent>
1070
+ <CodeSnippetCode />
1071
+ </CodeSnippetContent>
1072
+ </CodeSnippetRoot>
1073
+ </div>
1074
+ <div>
1075
+ <p className='sb-annotation mb-8'>the button rendered by hand</p>
1076
+ <CodeSnippetRoot code={showMoreCode} language='text' maxLines={7}>
1077
+ <CodeSnippetContent>
1078
+ <CodeSnippetCode />
1079
+ </CodeSnippetContent>
1080
+ <CodeSnippetShowMoreButton data-analytics-id='CODE_SHOW_MORE' />
1081
+ </CodeSnippetRoot>
1082
+ </div>
1083
+ </div>
1084
+ );
1085
+
1086
+ // --- Folding stories ---
1087
+
1088
+ const foldableRequestCode = `GET /api/v2/users HTTP/1.1
1089
+ Host: api.example.com
1090
+ Accept: application/json
1091
+ Authorization: Bearer eyJhbGciOiJIUzI1NiJ9
1092
+ X-Request-ID: abc-123
1093
+ Content-Type: application/json
1094
+ Cache-Control: no-cache
1095
+
1096
+ {
1097
+ "filter": {
1098
+ "status": "active",
1099
+ "role": "admin"
1100
+ },
1101
+ "pagination": {
1102
+ "page": 1,
1103
+ "limit": 50
1104
+ }
1105
+ }`;
1106
+
1107
+ const foldableResponseCode = `HTTP/1.1 200 OK
1108
+ Content-Type: application/json; charset=utf-8
1109
+ X-Request-ID: abc-123
1110
+ X-RateLimit-Remaining: 98
1111
+ Cache-Control: private, max-age=0
1112
+
1113
+ {
1114
+ "data": [
1115
+ {
1116
+ "id": 1,
1117
+ "name": "Alice",
1118
+ "role": "admin",
1119
+ "status": "active"
1120
+ },
1121
+ {
1122
+ "id": 2,
1123
+ "name": "Bob",
1124
+ "role": "admin",
1125
+ "status": "active"
1126
+ }
1127
+ ],
1128
+ "meta": {
1129
+ "total": 2,
1130
+ "page": 1,
1131
+ "limit": 50
1132
+ }
1133
+ }`;
1134
+
1135
+ /**
1136
+ * `getHttpFolds` reads an HTTP message and returns its fold regions, so the reader opens
1137
+ * the headers or the body rather than scrolling past both.
1138
+ */
1139
+ export const HTTPRequestWithFolding: StoryFn<typeof meta> = () => (
1140
+ <CodeSnippetRoot
1141
+ code={foldableRequestCode}
1142
+ language='text'
1143
+ folds={getHttpFolds(foldableRequestCode)}
1144
+ >
1145
+ <CodeSnippetContent>
1146
+ <CodeSnippetLineNumbers />
1147
+ <CodeSnippetCode />
1148
+ </CodeSnippetContent>
1149
+ </CodeSnippetRoot>
1150
+ );
1151
+
1152
+ /**
1153
+ * The same helper on a response, where the body is usually the half worth folding away.
1154
+ */
1155
+ export const HTTPResponseWithFolding: StoryFn<typeof meta> = () => (
1156
+ <CodeSnippetRoot
1157
+ code={foldableResponseCode}
1158
+ language='text'
1159
+ folds={getHttpFolds(foldableResponseCode)}
1160
+ >
1161
+ <CodeSnippetContent>
1162
+ <CodeSnippetLineNumbers />
1163
+ <CodeSnippetCode />
1164
+ </CodeSnippetContent>
1165
+ </CodeSnippetRoot>
1166
+ );
1167
+
1168
+ /**
1169
+ * Folds over coloured lines: a collapsed fold takes its colours and prefixes with it, and
1170
+ * hands them back on expand.
1171
+ */
1172
+ export const WithFoldingExpanded: StoryFn<typeof meta> = () => (
1173
+ <CodeSnippetRoot
1174
+ code={foldableRequestCode}
1175
+ language='text'
1176
+ folds={getHttpFolds(foldableRequestCode)}
1177
+ lines={{
1178
+ 3: { color: 'warning' },
1179
+ 4: { color: 'danger', ranges: [{ start: 14, end: 42, color: 'danger' }] },
1180
+ 10: { color: 'info' },
1181
+ 11: { color: 'info' },
1182
+ }}
1183
+ >
1184
+ <CodeSnippetContent>
1185
+ <CodeSnippetLineNumbers />
1186
+ <CodeSnippetCode />
1187
+ </CodeSnippetContent>
1188
+ </CodeSnippetRoot>
1189
+ );
1190
+
1191
+ /**
1192
+ * Folds, `maxLines` and `startingLineNumber` together — fold line numbers are absolute, so
1193
+ * `getHttpFolds` has to be given the same offset the gutter uses.
1194
+ */
1195
+ export const WithFoldingAndShowMore: StoryFn<typeof meta> = () => (
1196
+ <CodeSnippetAdapterProvider adapter={loadShikiAdapter}>
1197
+ <CodeSnippetRoot
1198
+ code={foldableResponseCode}
1199
+ language='http'
1200
+ startingLineNumber={100}
1201
+ maxLines={6}
1202
+ folds={getHttpFolds(foldableResponseCode, { startingLineNumber: 100 })}
1203
+ >
1204
+ <CodeSnippetContent>
1205
+ <CodeSnippetLineNumbers />
1206
+ <CodeSnippetCode />
1207
+ </CodeSnippetContent>
1208
+ </CodeSnippetRoot>
1209
+ </CodeSnippetAdapterProvider>
1210
+ );
1211
+
1212
+ /**
1213
+ * Fullscreen opened from a modal `Drawer` stacks above it as a nested layer: its buttons stay
1214
+ * clickable, and Escape or a backdrop click leaves fullscreen while the drawer stays open.
1215
+ */
1216
+ export const FullscreenInsideDrawer: StoryFn<typeof meta> = () => (
1217
+ <Drawer>
1218
+ <DrawerTrigger asChild>
1219
+ <Button variant='outline' color='neutral'>
1220
+ Open Drawer
1221
+ </Button>
1222
+ </DrawerTrigger>
1223
+ <DrawerContent>
1224
+ <DrawerHeader>
1225
+ <DrawerTitle>Request</DrawerTitle>
1226
+ </DrawerHeader>
1227
+ <DrawerBody>
1228
+ <CodeSnippetRoot code={jsonCode} language='json'>
1229
+ <CodeSnippetHeader>
1230
+ <CodeSnippetTitle>package.json</CodeSnippetTitle>
1231
+ <CodeSnippetActions>
1232
+ <CodeSnippetFullscreenButton />
1233
+ <CodeSnippetCopyButton />
1234
+ </CodeSnippetActions>
1235
+ </CodeSnippetHeader>
1236
+ <CodeSnippetContent>
1237
+ <CodeSnippetCode />
1238
+ </CodeSnippetContent>
1239
+ </CodeSnippetRoot>
1240
+ </DrawerBody>
1241
+ </DrawerContent>
1242
+ </Drawer>
1243
+ );
1244
+ ```
1245
+
1246
+ ### CodeSnippet/InlineCodeSnippet.stories.tsx
1247
+
1248
+ ```tsx
1249
+ import type { Meta, StoryFn } from 'storybook-react-rsbuild';
1250
+ import { VStack } from '../Stack';
1251
+ import { InlineCodeSnippet } from './InlineCodeSnippet';
1252
+
1253
+ const DESCRIPTION = [
1254
+ 'A fragment of code inside a sentence, copied by clicking it — reach for `Code` when the text only needs the mono treatment, and `CodeSnippet` when it needs syntax highlighting, a header or line numbers.',
1255
+ 'It takes its size from the text around it, so a snippet in a caption stays the size of the caption; keep it to a single line so the sentence still reads.',
1256
+ ].join(' ');
1257
+
1258
+ const meta = {
1259
+ title: 'Data Display/CodeSnippet/InlineCodeSnippet',
1260
+ component: InlineCodeSnippet,
1261
+ parameters: {
1262
+ layout: 'centered',
1263
+ design: {
1264
+ type: 'figma',
1265
+ url: 'https://www.figma.com/design/VKb5gW46uSGw0rqrhZsbXT/WADS-Components?node-id=3087-29516&m=dev',
1266
+ },
1267
+ docs: { description: { component: DESCRIPTION } },
1268
+ },
1269
+ tags: ['autodocs'],
1270
+ } satisfies Meta<typeof InlineCodeSnippet>;
1271
+
1272
+ export default meta;
1273
+
1274
+ /**
1275
+ * One snippet in three sentence sizes: `size='inherit'`, the default, scales the type
1276
+ * and the padding with whatever it sits in, and hovering offers the copy.
1277
+ */
1278
+ export const Default: StoryFn<typeof meta> = () => (
1279
+ <VStack align='start'>
1280
+ <p className='text-xs text-text-primary'>
1281
+ Small text: Run{' '}
1282
+ <InlineCodeSnippet code='npm install @wads/ui' data-testid='inline-code-copyable' /> to
1283
+ install dependencies.
1284
+ </p>
1285
+ <p className='text-sm text-text-primary'>
1286
+ Medium text: Run <InlineCodeSnippet code='npm install @wads/ui' /> to install dependencies.
1287
+ </p>
1288
+ <p className='text-base text-text-primary'>
1289
+ Large text: Run <InlineCodeSnippet code='npm install @wads/ui' /> to install dependencies.
1290
+ </p>
1291
+ </VStack>
1292
+ );
1293
+
1294
+ /**
1295
+ * The three fixed sizes, each beside the text size it pairs with — set one when the
1296
+ * snippet must hold its size regardless of its surroundings.
1297
+ */
1298
+ export const Sizes: StoryFn<typeof meta> = () => (
1299
+ <VStack align='start' gap={16}>
1300
+ <VStack align='start' gap={4}>
1301
+ <span className='sb-annotation'>sm</span>
1302
+ <div className='text-xs text-text-primary'>
1303
+ To start creating an interface, run{' '}
1304
+ <InlineCodeSnippet code='npm install @wads/ui' size='sm' /> and then apply the following...
1305
+ </div>
1306
+ </VStack>
1307
+ <VStack align='start' gap={4}>
1308
+ <span className='sb-annotation'>md</span>
1309
+ <div className='text-sm text-text-primary'>
1310
+ To start creating an interface, run{' '}
1311
+ <InlineCodeSnippet code='npm install @wads/ui' size='md' /> and then apply the following...
1312
+ </div>
1313
+ </VStack>
1314
+ <VStack align='start' gap={4}>
1315
+ <span className='sb-annotation'>lg</span>
1316
+ <div className='text-base text-text-primary'>
1317
+ To start creating an interface, run{' '}
1318
+ <InlineCodeSnippet code='npm install @wads/ui' size='lg' /> and then apply the following...
1319
+ </div>
1320
+ </VStack>
1321
+ </VStack>
1322
+ );
1323
+
1324
+ /**
1325
+ * `copyable={false}` takes the tooltip and the pointer cursor away with the copy, for a
1326
+ * snippet that is only being named rather than reused.
1327
+ */
1328
+ export const NonCopyable: StoryFn<typeof meta> = () => (
1329
+ <p className='text-sm text-text-primary'>
1330
+ This code is not copyable:{' '}
1331
+ <InlineCodeSnippet
1332
+ code='npm install @wads/ui'
1333
+ copyable={false}
1334
+ data-testid='inline-code-non-copyable'
1335
+ />
1336
+ </p>
1337
+ );
1338
+
1339
+ /**
1340
+ * Commands, JSON, SQL and a quoted message all render in one colour — inline code gets
1341
+ * the mono treatment and nothing else.
1342
+ */
1343
+ export const VariousContent: StoryFn<typeof meta> = () => (
1344
+ <VStack align='start'>
1345
+ <InlineCodeSnippet code='npm install' />
1346
+ <InlineCodeSnippet code='curl -X POST https://api.wallarm.com' />
1347
+ <InlineCodeSnippet code='{"status": "ok"}' />
1348
+ <InlineCodeSnippet code='SELECT * FROM users WHERE id = 1' />
1349
+ <InlineCodeSnippet code="git commit -m 'feat: add feature'" />
1350
+ </VStack>
1351
+ );
1352
+ ```