@tenstorrent/vesper 0.1.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 (815) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +167 -0
  3. package/dist/components/accordion/accordion.css +1 -0
  4. package/dist/components/accordion/accordion.d.ts +33 -0
  5. package/dist/components/accordion/accordion.d.ts.map +1 -0
  6. package/dist/components/accordion/accordion.js +30 -0
  7. package/dist/components/accordion/accordion.js.map +1 -0
  8. package/dist/components/admonition/admonition.css +1 -0
  9. package/dist/components/admonition/admonition.d.ts +49 -0
  10. package/dist/components/admonition/admonition.d.ts.map +1 -0
  11. package/dist/components/admonition/admonition.js +47 -0
  12. package/dist/components/admonition/admonition.js.map +1 -0
  13. package/dist/components/avatar/avatar.css +1 -0
  14. package/dist/components/avatar/avatar.d.ts +30 -0
  15. package/dist/components/avatar/avatar.d.ts.map +1 -0
  16. package/dist/components/avatar/avatar.js +24 -0
  17. package/dist/components/avatar/avatar.js.map +1 -0
  18. package/dist/components/avatar-group/avatar-group.css +1 -0
  19. package/dist/components/avatar-group/avatar-group.d.ts +36 -0
  20. package/dist/components/avatar-group/avatar-group.d.ts.map +1 -0
  21. package/dist/components/avatar-group/avatar-group.js +30 -0
  22. package/dist/components/avatar-group/avatar-group.js.map +1 -0
  23. package/dist/components/badge/badge.css +1 -0
  24. package/dist/components/badge/badge.d.ts +42 -0
  25. package/dist/components/badge/badge.d.ts.map +1 -0
  26. package/dist/components/badge/badge.js +49 -0
  27. package/dist/components/badge/badge.js.map +1 -0
  28. package/dist/components/button/button.css +1 -0
  29. package/dist/components/button/button.d.ts +51 -0
  30. package/dist/components/button/button.d.ts.map +1 -0
  31. package/dist/components/button/button.js +49 -0
  32. package/dist/components/button/button.js.map +1 -0
  33. package/dist/components/checkbox/checkbox.css +1 -0
  34. package/dist/components/checkbox/checkbox.d.ts +53 -0
  35. package/dist/components/checkbox/checkbox.d.ts.map +1 -0
  36. package/dist/components/checkbox/checkbox.js +65 -0
  37. package/dist/components/checkbox/checkbox.js.map +1 -0
  38. package/dist/components/chip/chip.css +1 -0
  39. package/dist/components/chip/chip.d.ts +53 -0
  40. package/dist/components/chip/chip.d.ts.map +1 -0
  41. package/dist/components/chip/chip.js +51 -0
  42. package/dist/components/chip/chip.js.map +1 -0
  43. package/dist/components/choicebox/choicebox.css +1 -0
  44. package/dist/components/choicebox/choicebox.d.ts +90 -0
  45. package/dist/components/choicebox/choicebox.d.ts.map +1 -0
  46. package/dist/components/choicebox/choicebox.js +131 -0
  47. package/dist/components/choicebox/choicebox.js.map +1 -0
  48. package/dist/components/code/code.css +1 -0
  49. package/dist/components/code/code.d.ts +23 -0
  50. package/dist/components/code/code.d.ts.map +1 -0
  51. package/dist/components/code/code.js +23 -0
  52. package/dist/components/code/code.js.map +1 -0
  53. package/dist/components/code-block/code-block.css +1 -0
  54. package/dist/components/code-block/code-block.d.ts +48 -0
  55. package/dist/components/code-block/code-block.d.ts.map +1 -0
  56. package/dist/components/code-block/code-block.js +36 -0
  57. package/dist/components/code-block/code-block.js.map +1 -0
  58. package/dist/components/code-block/components.d.ts +4 -0
  59. package/dist/components/code-block/components.d.ts.map +1 -0
  60. package/dist/components/code-block/components.js +27 -0
  61. package/dist/components/code-block/components.js.map +1 -0
  62. package/dist/components/code-block/fixtures.d.ts +12 -0
  63. package/dist/components/code-block/fixtures.d.ts.map +1 -0
  64. package/dist/components/code-block/fixtures.js +491 -0
  65. package/dist/components/code-block/fixtures.js.map +1 -0
  66. package/dist/components/code-block/streaming-code-block.d.ts +5 -0
  67. package/dist/components/code-block/streaming-code-block.d.ts.map +1 -0
  68. package/dist/components/code-block/streaming-code-block.js +92 -0
  69. package/dist/components/code-block/streaming-code-block.js.map +1 -0
  70. package/dist/components/code-block/themes.d.ts +16 -0
  71. package/dist/components/code-block/themes.d.ts.map +1 -0
  72. package/dist/components/code-block/themes.js +2836 -0
  73. package/dist/components/code-block/themes.js.map +1 -0
  74. package/dist/components/code-block/utils.d.ts +7 -0
  75. package/dist/components/code-block/utils.d.ts.map +1 -0
  76. package/dist/components/code-block/utils.js +42 -0
  77. package/dist/components/code-block/utils.js.map +1 -0
  78. package/dist/components/combobox/combobox.css +1 -0
  79. package/dist/components/combobox/combobox.d.ts +106 -0
  80. package/dist/components/combobox/combobox.d.ts.map +1 -0
  81. package/dist/components/combobox/combobox.js +93 -0
  82. package/dist/components/combobox/combobox.js.map +1 -0
  83. package/dist/components/form-input-message/form-input-message.css +1 -0
  84. package/dist/components/form-input-message/form-input-message.d.ts +35 -0
  85. package/dist/components/form-input-message/form-input-message.d.ts.map +1 -0
  86. package/dist/components/form-input-message/form-input-message.js +38 -0
  87. package/dist/components/form-input-message/form-input-message.js.map +1 -0
  88. package/dist/components/icon-button/icon-button.css +1 -0
  89. package/dist/components/icon-button/icon-button.d.ts +38 -0
  90. package/dist/components/icon-button/icon-button.d.ts.map +1 -0
  91. package/dist/components/icon-button/icon-button.js +31 -0
  92. package/dist/components/icon-button/icon-button.js.map +1 -0
  93. package/dist/components/icons/add.d.ts +3 -0
  94. package/dist/components/icons/add.d.ts.map +1 -0
  95. package/dist/components/icons/add.js +5 -0
  96. package/dist/components/icons/add.js.map +1 -0
  97. package/dist/components/icons/ai-agent-solid.d.ts +3 -0
  98. package/dist/components/icons/ai-agent-solid.d.ts.map +1 -0
  99. package/dist/components/icons/ai-agent-solid.js +5 -0
  100. package/dist/components/icons/ai-agent-solid.js.map +1 -0
  101. package/dist/components/icons/ai-agent.d.ts +3 -0
  102. package/dist/components/icons/ai-agent.d.ts.map +1 -0
  103. package/dist/components/icons/ai-agent.js +5 -0
  104. package/dist/components/icons/ai-agent.js.map +1 -0
  105. package/dist/components/icons/ai-data.d.ts +3 -0
  106. package/dist/components/icons/ai-data.d.ts.map +1 -0
  107. package/dist/components/icons/ai-data.js +5 -0
  108. package/dist/components/icons/ai-data.js.map +1 -0
  109. package/dist/components/icons/ai-model.d.ts +3 -0
  110. package/dist/components/icons/ai-model.d.ts.map +1 -0
  111. package/dist/components/icons/ai-model.js +5 -0
  112. package/dist/components/icons/ai-model.js.map +1 -0
  113. package/dist/components/icons/ai-task.d.ts +3 -0
  114. package/dist/components/icons/ai-task.d.ts.map +1 -0
  115. package/dist/components/icons/ai-task.js +5 -0
  116. package/dist/components/icons/ai-task.js.map +1 -0
  117. package/dist/components/icons/ai-video-gen.d.ts +3 -0
  118. package/dist/components/icons/ai-video-gen.d.ts.map +1 -0
  119. package/dist/components/icons/ai-video-gen.js +5 -0
  120. package/dist/components/icons/ai-video-gen.js.map +1 -0
  121. package/dist/components/icons/ai.d.ts +3 -0
  122. package/dist/components/icons/ai.d.ts.map +1 -0
  123. package/dist/components/icons/ai.js +5 -0
  124. package/dist/components/icons/ai.js.map +1 -0
  125. package/dist/components/icons/arrow-down.d.ts +3 -0
  126. package/dist/components/icons/arrow-down.d.ts.map +1 -0
  127. package/dist/components/icons/arrow-down.js +5 -0
  128. package/dist/components/icons/arrow-down.js.map +1 -0
  129. package/dist/components/icons/arrow-left.d.ts +3 -0
  130. package/dist/components/icons/arrow-left.d.ts.map +1 -0
  131. package/dist/components/icons/arrow-left.js +5 -0
  132. package/dist/components/icons/arrow-left.js.map +1 -0
  133. package/dist/components/icons/arrow-right.d.ts +3 -0
  134. package/dist/components/icons/arrow-right.d.ts.map +1 -0
  135. package/dist/components/icons/arrow-right.js +5 -0
  136. package/dist/components/icons/arrow-right.js.map +1 -0
  137. package/dist/components/icons/arrow-up-left.d.ts +3 -0
  138. package/dist/components/icons/arrow-up-left.d.ts.map +1 -0
  139. package/dist/components/icons/arrow-up-left.js +5 -0
  140. package/dist/components/icons/arrow-up-left.js.map +1 -0
  141. package/dist/components/icons/arrow-up-right.d.ts +3 -0
  142. package/dist/components/icons/arrow-up-right.d.ts.map +1 -0
  143. package/dist/components/icons/arrow-up-right.js +5 -0
  144. package/dist/components/icons/arrow-up-right.js.map +1 -0
  145. package/dist/components/icons/arrow-up.d.ts +3 -0
  146. package/dist/components/icons/arrow-up.d.ts.map +1 -0
  147. package/dist/components/icons/arrow-up.js +5 -0
  148. package/dist/components/icons/arrow-up.js.map +1 -0
  149. package/dist/components/icons/auto.d.ts +3 -0
  150. package/dist/components/icons/auto.d.ts.map +1 -0
  151. package/dist/components/icons/auto.js +5 -0
  152. package/dist/components/icons/auto.js.map +1 -0
  153. package/dist/components/icons/blackhole.d.ts +3 -0
  154. package/dist/components/icons/blackhole.d.ts.map +1 -0
  155. package/dist/components/icons/blackhole.js +5 -0
  156. package/dist/components/icons/blackhole.js.map +1 -0
  157. package/dist/components/icons/board.d.ts +3 -0
  158. package/dist/components/icons/board.d.ts.map +1 -0
  159. package/dist/components/icons/board.js +5 -0
  160. package/dist/components/icons/board.js.map +1 -0
  161. package/dist/components/icons/bolt.d.ts +3 -0
  162. package/dist/components/icons/bolt.d.ts.map +1 -0
  163. package/dist/components/icons/bolt.js +5 -0
  164. package/dist/components/icons/bolt.js.map +1 -0
  165. package/dist/components/icons/bug.d.ts +3 -0
  166. package/dist/components/icons/bug.d.ts.map +1 -0
  167. package/dist/components/icons/bug.js +5 -0
  168. package/dist/components/icons/bug.js.map +1 -0
  169. package/dist/components/icons/caret-down.d.ts +3 -0
  170. package/dist/components/icons/caret-down.d.ts.map +1 -0
  171. package/dist/components/icons/caret-down.js +5 -0
  172. package/dist/components/icons/caret-down.js.map +1 -0
  173. package/dist/components/icons/caret-left.d.ts +3 -0
  174. package/dist/components/icons/caret-left.d.ts.map +1 -0
  175. package/dist/components/icons/caret-left.js +5 -0
  176. package/dist/components/icons/caret-left.js.map +1 -0
  177. package/dist/components/icons/caret-right.d.ts +3 -0
  178. package/dist/components/icons/caret-right.d.ts.map +1 -0
  179. package/dist/components/icons/caret-right.js +5 -0
  180. package/dist/components/icons/caret-right.js.map +1 -0
  181. package/dist/components/icons/caret-up.d.ts +3 -0
  182. package/dist/components/icons/caret-up.d.ts.map +1 -0
  183. package/dist/components/icons/caret-up.js +5 -0
  184. package/dist/components/icons/caret-up.js.map +1 -0
  185. package/dist/components/icons/cart.d.ts +3 -0
  186. package/dist/components/icons/cart.d.ts.map +1 -0
  187. package/dist/components/icons/cart.js +5 -0
  188. package/dist/components/icons/cart.js.map +1 -0
  189. package/dist/components/icons/chat-solid.d.ts +3 -0
  190. package/dist/components/icons/chat-solid.d.ts.map +1 -0
  191. package/dist/components/icons/chat-solid.js +5 -0
  192. package/dist/components/icons/chat-solid.js.map +1 -0
  193. package/dist/components/icons/chat.d.ts +3 -0
  194. package/dist/components/icons/chat.d.ts.map +1 -0
  195. package/dist/components/icons/chat.js +5 -0
  196. package/dist/components/icons/chat.js.map +1 -0
  197. package/dist/components/icons/checkmark.d.ts +3 -0
  198. package/dist/components/icons/checkmark.d.ts.map +1 -0
  199. package/dist/components/icons/checkmark.js +5 -0
  200. package/dist/components/icons/checkmark.js.map +1 -0
  201. package/dist/components/icons/chip.d.ts +3 -0
  202. package/dist/components/icons/chip.d.ts.map +1 -0
  203. package/dist/components/icons/chip.js +5 -0
  204. package/dist/components/icons/chip.js.map +1 -0
  205. package/dist/components/icons/circle-add-solid.d.ts +3 -0
  206. package/dist/components/icons/circle-add-solid.d.ts.map +1 -0
  207. package/dist/components/icons/circle-add-solid.js +5 -0
  208. package/dist/components/icons/circle-add-solid.js.map +1 -0
  209. package/dist/components/icons/circle-add.d.ts +3 -0
  210. package/dist/components/icons/circle-add.d.ts.map +1 -0
  211. package/dist/components/icons/circle-add.js +5 -0
  212. package/dist/components/icons/circle-add.js.map +1 -0
  213. package/dist/components/icons/circle-x-solid.d.ts +3 -0
  214. package/dist/components/icons/circle-x-solid.d.ts.map +1 -0
  215. package/dist/components/icons/circle-x-solid.js +5 -0
  216. package/dist/components/icons/circle-x-solid.js.map +1 -0
  217. package/dist/components/icons/circle-x.d.ts +3 -0
  218. package/dist/components/icons/circle-x.d.ts.map +1 -0
  219. package/dist/components/icons/circle-x.js +5 -0
  220. package/dist/components/icons/circle-x.js.map +1 -0
  221. package/dist/components/icons/clock-countdown.d.ts +3 -0
  222. package/dist/components/icons/clock-countdown.d.ts.map +1 -0
  223. package/dist/components/icons/clock-countdown.js +5 -0
  224. package/dist/components/icons/clock-countdown.js.map +1 -0
  225. package/dist/components/icons/clock-counter-clockwise.d.ts +3 -0
  226. package/dist/components/icons/clock-counter-clockwise.d.ts.map +1 -0
  227. package/dist/components/icons/clock-counter-clockwise.js +5 -0
  228. package/dist/components/icons/clock-counter-clockwise.js.map +1 -0
  229. package/dist/components/icons/clock.d.ts +3 -0
  230. package/dist/components/icons/clock.d.ts.map +1 -0
  231. package/dist/components/icons/clock.js +5 -0
  232. package/dist/components/icons/clock.js.map +1 -0
  233. package/dist/components/icons/close-panel.d.ts +3 -0
  234. package/dist/components/icons/close-panel.d.ts.map +1 -0
  235. package/dist/components/icons/close-panel.js +5 -0
  236. package/dist/components/icons/close-panel.js.map +1 -0
  237. package/dist/components/icons/close.d.ts +3 -0
  238. package/dist/components/icons/close.d.ts.map +1 -0
  239. package/dist/components/icons/close.js +5 -0
  240. package/dist/components/icons/close.js.map +1 -0
  241. package/dist/components/icons/cloud-server-solid.d.ts +3 -0
  242. package/dist/components/icons/cloud-server-solid.d.ts.map +1 -0
  243. package/dist/components/icons/cloud-server-solid.js +5 -0
  244. package/dist/components/icons/cloud-server-solid.js.map +1 -0
  245. package/dist/components/icons/cloud-server.d.ts +3 -0
  246. package/dist/components/icons/cloud-server.d.ts.map +1 -0
  247. package/dist/components/icons/cloud-server.js +5 -0
  248. package/dist/components/icons/cloud-server.js.map +1 -0
  249. package/dist/components/icons/constants.d.ts +3 -0
  250. package/dist/components/icons/constants.d.ts.map +1 -0
  251. package/dist/components/icons/constants.js +137 -0
  252. package/dist/components/icons/constants.js.map +1 -0
  253. package/dist/components/icons/copy.d.ts +3 -0
  254. package/dist/components/icons/copy.d.ts.map +1 -0
  255. package/dist/components/icons/copy.js +5 -0
  256. package/dist/components/icons/copy.js.map +1 -0
  257. package/dist/components/icons/document-solid.d.ts +3 -0
  258. package/dist/components/icons/document-solid.d.ts.map +1 -0
  259. package/dist/components/icons/document-solid.js +5 -0
  260. package/dist/components/icons/document-solid.js.map +1 -0
  261. package/dist/components/icons/document.d.ts +3 -0
  262. package/dist/components/icons/document.d.ts.map +1 -0
  263. package/dist/components/icons/document.js +5 -0
  264. package/dist/components/icons/document.js.map +1 -0
  265. package/dist/components/icons/download.d.ts +3 -0
  266. package/dist/components/icons/download.d.ts.map +1 -0
  267. package/dist/components/icons/download.js +5 -0
  268. package/dist/components/icons/download.js.map +1 -0
  269. package/dist/components/icons/ellipses.d.ts +3 -0
  270. package/dist/components/icons/ellipses.d.ts.map +1 -0
  271. package/dist/components/icons/ellipses.js +5 -0
  272. package/dist/components/icons/ellipses.js.map +1 -0
  273. package/dist/components/icons/error-solid.d.ts +3 -0
  274. package/dist/components/icons/error-solid.d.ts.map +1 -0
  275. package/dist/components/icons/error-solid.js +5 -0
  276. package/dist/components/icons/error-solid.js.map +1 -0
  277. package/dist/components/icons/error.d.ts +3 -0
  278. package/dist/components/icons/error.d.ts.map +1 -0
  279. package/dist/components/icons/error.js +5 -0
  280. package/dist/components/icons/error.js.map +1 -0
  281. package/dist/components/icons/eye-slash.d.ts +3 -0
  282. package/dist/components/icons/eye-slash.d.ts.map +1 -0
  283. package/dist/components/icons/eye-slash.js +5 -0
  284. package/dist/components/icons/eye-slash.js.map +1 -0
  285. package/dist/components/icons/eye.d.ts +3 -0
  286. package/dist/components/icons/eye.d.ts.map +1 -0
  287. package/dist/components/icons/eye.js +5 -0
  288. package/dist/components/icons/eye.js.map +1 -0
  289. package/dist/components/icons/folder.d.ts +3 -0
  290. package/dist/components/icons/folder.d.ts.map +1 -0
  291. package/dist/components/icons/folder.js +5 -0
  292. package/dist/components/icons/folder.js.map +1 -0
  293. package/dist/components/icons/galaxy-rack.d.ts +3 -0
  294. package/dist/components/icons/galaxy-rack.d.ts.map +1 -0
  295. package/dist/components/icons/galaxy-rack.js +5 -0
  296. package/dist/components/icons/galaxy-rack.js.map +1 -0
  297. package/dist/components/icons/galaxy.d.ts +3 -0
  298. package/dist/components/icons/galaxy.d.ts.map +1 -0
  299. package/dist/components/icons/galaxy.js +5 -0
  300. package/dist/components/icons/galaxy.js.map +1 -0
  301. package/dist/components/icons/gear-solid.d.ts +3 -0
  302. package/dist/components/icons/gear-solid.d.ts.map +1 -0
  303. package/dist/components/icons/gear-solid.js +5 -0
  304. package/dist/components/icons/gear-solid.js.map +1 -0
  305. package/dist/components/icons/gear.d.ts +3 -0
  306. package/dist/components/icons/gear.d.ts.map +1 -0
  307. package/dist/components/icons/gear.js +5 -0
  308. package/dist/components/icons/gear.js.map +1 -0
  309. package/dist/components/icons/globe.d.ts +3 -0
  310. package/dist/components/icons/globe.d.ts.map +1 -0
  311. package/dist/components/icons/globe.js +5 -0
  312. package/dist/components/icons/globe.js.map +1 -0
  313. package/dist/components/icons/grid.d.ts +3 -0
  314. package/dist/components/icons/grid.d.ts.map +1 -0
  315. package/dist/components/icons/grid.js +5 -0
  316. package/dist/components/icons/grid.js.map +1 -0
  317. package/dist/components/icons/icon.d.ts +7 -0
  318. package/dist/components/icons/icon.d.ts.map +1 -0
  319. package/dist/components/icons/icon.js +9 -0
  320. package/dist/components/icons/icon.js.map +1 -0
  321. package/dist/components/icons/icons.d.ts +131 -0
  322. package/dist/components/icons/icons.d.ts.map +1 -0
  323. package/dist/components/icons/icons.js +137 -0
  324. package/dist/components/icons/icons.js.map +1 -0
  325. package/dist/components/icons/info-solid.d.ts +3 -0
  326. package/dist/components/icons/info-solid.d.ts.map +1 -0
  327. package/dist/components/icons/info-solid.js +5 -0
  328. package/dist/components/icons/info-solid.js.map +1 -0
  329. package/dist/components/icons/info.d.ts +3 -0
  330. package/dist/components/icons/info.d.ts.map +1 -0
  331. package/dist/components/icons/info.js +5 -0
  332. package/dist/components/icons/info.js.map +1 -0
  333. package/dist/components/icons/link.d.ts +3 -0
  334. package/dist/components/icons/link.d.ts.map +1 -0
  335. package/dist/components/icons/link.js +5 -0
  336. package/dist/components/icons/link.js.map +1 -0
  337. package/dist/components/icons/list.d.ts +3 -0
  338. package/dist/components/icons/list.d.ts.map +1 -0
  339. package/dist/components/icons/list.js +5 -0
  340. package/dist/components/icons/list.js.map +1 -0
  341. package/dist/components/icons/location.d.ts +3 -0
  342. package/dist/components/icons/location.d.ts.map +1 -0
  343. package/dist/components/icons/location.js +5 -0
  344. package/dist/components/icons/location.js.map +1 -0
  345. package/dist/components/icons/lock-fill.d.ts +3 -0
  346. package/dist/components/icons/lock-fill.d.ts.map +1 -0
  347. package/dist/components/icons/lock-fill.js +5 -0
  348. package/dist/components/icons/lock-fill.js.map +1 -0
  349. package/dist/components/icons/lock.d.ts +3 -0
  350. package/dist/components/icons/lock.d.ts.map +1 -0
  351. package/dist/components/icons/lock.js +5 -0
  352. package/dist/components/icons/lock.js.map +1 -0
  353. package/dist/components/icons/loudbox.d.ts +3 -0
  354. package/dist/components/icons/loudbox.d.ts.map +1 -0
  355. package/dist/components/icons/loudbox.js +5 -0
  356. package/dist/components/icons/loudbox.js.map +1 -0
  357. package/dist/components/icons/menu.d.ts +3 -0
  358. package/dist/components/icons/menu.d.ts.map +1 -0
  359. package/dist/components/icons/menu.js +5 -0
  360. package/dist/components/icons/menu.js.map +1 -0
  361. package/dist/components/icons/microphone.d.ts +3 -0
  362. package/dist/components/icons/microphone.d.ts.map +1 -0
  363. package/dist/components/icons/microphone.js +5 -0
  364. package/dist/components/icons/microphone.js.map +1 -0
  365. package/dist/components/icons/minus.d.ts +3 -0
  366. package/dist/components/icons/minus.d.ts.map +1 -0
  367. package/dist/components/icons/minus.js +5 -0
  368. package/dist/components/icons/minus.js.map +1 -0
  369. package/dist/components/icons/mode-dark.d.ts +3 -0
  370. package/dist/components/icons/mode-dark.d.ts.map +1 -0
  371. package/dist/components/icons/mode-dark.js +5 -0
  372. package/dist/components/icons/mode-dark.js.map +1 -0
  373. package/dist/components/icons/mode-light.d.ts +3 -0
  374. package/dist/components/icons/mode-light.d.ts.map +1 -0
  375. package/dist/components/icons/mode-light.js +5 -0
  376. package/dist/components/icons/mode-light.js.map +1 -0
  377. package/dist/components/icons/mode-system.d.ts +3 -0
  378. package/dist/components/icons/mode-system.d.ts.map +1 -0
  379. package/dist/components/icons/mode-system.js +5 -0
  380. package/dist/components/icons/mode-system.js.map +1 -0
  381. package/dist/components/icons/model-deepseek-color.d.ts +3 -0
  382. package/dist/components/icons/model-deepseek-color.d.ts.map +1 -0
  383. package/dist/components/icons/model-deepseek-color.js +5 -0
  384. package/dist/components/icons/model-deepseek-color.js.map +1 -0
  385. package/dist/components/icons/model-deepseek.d.ts +3 -0
  386. package/dist/components/icons/model-deepseek.d.ts.map +1 -0
  387. package/dist/components/icons/model-deepseek.js +5 -0
  388. package/dist/components/icons/model-deepseek.js.map +1 -0
  389. package/dist/components/icons/model-falcon-color.d.ts +3 -0
  390. package/dist/components/icons/model-falcon-color.d.ts.map +1 -0
  391. package/dist/components/icons/model-falcon-color.js +5 -0
  392. package/dist/components/icons/model-falcon-color.js.map +1 -0
  393. package/dist/components/icons/model-falcon.d.ts +3 -0
  394. package/dist/components/icons/model-falcon.d.ts.map +1 -0
  395. package/dist/components/icons/model-falcon.js +5 -0
  396. package/dist/components/icons/model-falcon.js.map +1 -0
  397. package/dist/components/icons/model-google-color.d.ts +3 -0
  398. package/dist/components/icons/model-google-color.d.ts.map +1 -0
  399. package/dist/components/icons/model-google-color.js +5 -0
  400. package/dist/components/icons/model-google-color.js.map +1 -0
  401. package/dist/components/icons/model-google.d.ts +3 -0
  402. package/dist/components/icons/model-google.d.ts.map +1 -0
  403. package/dist/components/icons/model-google.js +5 -0
  404. package/dist/components/icons/model-google.js.map +1 -0
  405. package/dist/components/icons/model-llama-color.d.ts +3 -0
  406. package/dist/components/icons/model-llama-color.d.ts.map +1 -0
  407. package/dist/components/icons/model-llama-color.js +5 -0
  408. package/dist/components/icons/model-llama-color.js.map +1 -0
  409. package/dist/components/icons/model-llama.d.ts +3 -0
  410. package/dist/components/icons/model-llama.d.ts.map +1 -0
  411. package/dist/components/icons/model-llama.js +5 -0
  412. package/dist/components/icons/model-llama.js.map +1 -0
  413. package/dist/components/icons/model-openai.d.ts +3 -0
  414. package/dist/components/icons/model-openai.d.ts.map +1 -0
  415. package/dist/components/icons/model-openai.js +5 -0
  416. package/dist/components/icons/model-openai.js.map +1 -0
  417. package/dist/components/icons/model-qwen-color.d.ts +3 -0
  418. package/dist/components/icons/model-qwen-color.d.ts.map +1 -0
  419. package/dist/components/icons/model-qwen-color.js +5 -0
  420. package/dist/components/icons/model-qwen-color.js.map +1 -0
  421. package/dist/components/icons/model-qwen.d.ts +3 -0
  422. package/dist/components/icons/model-qwen.d.ts.map +1 -0
  423. package/dist/components/icons/model-qwen.js +5 -0
  424. package/dist/components/icons/model-qwen.js.map +1 -0
  425. package/dist/components/icons/monitor.d.ts +3 -0
  426. package/dist/components/icons/monitor.d.ts.map +1 -0
  427. package/dist/components/icons/monitor.js +5 -0
  428. package/dist/components/icons/monitor.js.map +1 -0
  429. package/dist/components/icons/open-panel.d.ts +3 -0
  430. package/dist/components/icons/open-panel.d.ts.map +1 -0
  431. package/dist/components/icons/open-panel.js +5 -0
  432. package/dist/components/icons/open-panel.js.map +1 -0
  433. package/dist/components/icons/org-developer.d.ts +3 -0
  434. package/dist/components/icons/org-developer.d.ts.map +1 -0
  435. package/dist/components/icons/org-developer.js +5 -0
  436. package/dist/components/icons/org-developer.js.map +1 -0
  437. package/dist/components/icons/org-experience.d.ts +3 -0
  438. package/dist/components/icons/org-experience.d.ts.map +1 -0
  439. package/dist/components/icons/org-experience.js +5 -0
  440. package/dist/components/icons/org-experience.js.map +1 -0
  441. package/dist/components/icons/org-operations.d.ts +3 -0
  442. package/dist/components/icons/org-operations.d.ts.map +1 -0
  443. package/dist/components/icons/org-operations.js +5 -0
  444. package/dist/components/icons/org-operations.js.map +1 -0
  445. package/dist/components/icons/org-systems.d.ts +3 -0
  446. package/dist/components/icons/org-systems.d.ts.map +1 -0
  447. package/dist/components/icons/org-systems.js +5 -0
  448. package/dist/components/icons/org-systems.js.map +1 -0
  449. package/dist/components/icons/org-university.d.ts +3 -0
  450. package/dist/components/icons/org-university.d.ts.map +1 -0
  451. package/dist/components/icons/org-university.js +5 -0
  452. package/dist/components/icons/org-university.js.map +1 -0
  453. package/dist/components/icons/phone.d.ts +3 -0
  454. package/dist/components/icons/phone.d.ts.map +1 -0
  455. package/dist/components/icons/phone.js +5 -0
  456. package/dist/components/icons/phone.js.map +1 -0
  457. package/dist/components/icons/quasar.d.ts +3 -0
  458. package/dist/components/icons/quasar.d.ts.map +1 -0
  459. package/dist/components/icons/quasar.js +5 -0
  460. package/dist/components/icons/quasar.js.map +1 -0
  461. package/dist/components/icons/quietbox.d.ts +3 -0
  462. package/dist/components/icons/quietbox.d.ts.map +1 -0
  463. package/dist/components/icons/quietbox.js +5 -0
  464. package/dist/components/icons/quietbox.js.map +1 -0
  465. package/dist/components/icons/registry.d.ts +6 -0
  466. package/dist/components/icons/registry.d.ts.map +1 -0
  467. package/dist/components/icons/registry.js +264 -0
  468. package/dist/components/icons/registry.js.map +1 -0
  469. package/dist/components/icons/reset.d.ts +3 -0
  470. package/dist/components/icons/reset.d.ts.map +1 -0
  471. package/dist/components/icons/reset.js +5 -0
  472. package/dist/components/icons/reset.js.map +1 -0
  473. package/dist/components/icons/search.d.ts +3 -0
  474. package/dist/components/icons/search.d.ts.map +1 -0
  475. package/dist/components/icons/search.js +5 -0
  476. package/dist/components/icons/search.js.map +1 -0
  477. package/dist/components/icons/server-solid.d.ts +3 -0
  478. package/dist/components/icons/server-solid.d.ts.map +1 -0
  479. package/dist/components/icons/server-solid.js +5 -0
  480. package/dist/components/icons/server-solid.js.map +1 -0
  481. package/dist/components/icons/server.d.ts +3 -0
  482. package/dist/components/icons/server.d.ts.map +1 -0
  483. package/dist/components/icons/server.js +5 -0
  484. package/dist/components/icons/server.js.map +1 -0
  485. package/dist/components/icons/shield-solid.d.ts +3 -0
  486. package/dist/components/icons/shield-solid.d.ts.map +1 -0
  487. package/dist/components/icons/shield-solid.js +5 -0
  488. package/dist/components/icons/shield-solid.js.map +1 -0
  489. package/dist/components/icons/shield.d.ts +3 -0
  490. package/dist/components/icons/shield.d.ts.map +1 -0
  491. package/dist/components/icons/shield.js +5 -0
  492. package/dist/components/icons/shield.js.map +1 -0
  493. package/dist/components/icons/sidebar.d.ts +3 -0
  494. package/dist/components/icons/sidebar.d.ts.map +1 -0
  495. package/dist/components/icons/sidebar.js +5 -0
  496. package/dist/components/icons/sidebar.js.map +1 -0
  497. package/dist/components/icons/size.d.ts +3 -0
  498. package/dist/components/icons/size.d.ts.map +1 -0
  499. package/dist/components/icons/size.js +5 -0
  500. package/dist/components/icons/size.js.map +1 -0
  501. package/dist/components/icons/social-discord.d.ts +3 -0
  502. package/dist/components/icons/social-discord.d.ts.map +1 -0
  503. package/dist/components/icons/social-discord.js +5 -0
  504. package/dist/components/icons/social-discord.js.map +1 -0
  505. package/dist/components/icons/social-facebook.d.ts +3 -0
  506. package/dist/components/icons/social-facebook.d.ts.map +1 -0
  507. package/dist/components/icons/social-facebook.js +5 -0
  508. package/dist/components/icons/social-facebook.js.map +1 -0
  509. package/dist/components/icons/social-github.d.ts +3 -0
  510. package/dist/components/icons/social-github.d.ts.map +1 -0
  511. package/dist/components/icons/social-github.js +5 -0
  512. package/dist/components/icons/social-github.js.map +1 -0
  513. package/dist/components/icons/social-linkedin.d.ts +3 -0
  514. package/dist/components/icons/social-linkedin.d.ts.map +1 -0
  515. package/dist/components/icons/social-linkedin.js +5 -0
  516. package/dist/components/icons/social-linkedin.js.map +1 -0
  517. package/dist/components/icons/social-x.d.ts +3 -0
  518. package/dist/components/icons/social-x.d.ts.map +1 -0
  519. package/dist/components/icons/social-x.js +5 -0
  520. package/dist/components/icons/social-x.js.map +1 -0
  521. package/dist/components/icons/social-youtube.d.ts +3 -0
  522. package/dist/components/icons/social-youtube.d.ts.map +1 -0
  523. package/dist/components/icons/social-youtube.js +5 -0
  524. package/dist/components/icons/social-youtube.js.map +1 -0
  525. package/dist/components/icons/spinner.d.ts +3 -0
  526. package/dist/components/icons/spinner.d.ts.map +1 -0
  527. package/dist/components/icons/spinner.js +5 -0
  528. package/dist/components/icons/spinner.js.map +1 -0
  529. package/dist/components/icons/success-solid.d.ts +3 -0
  530. package/dist/components/icons/success-solid.d.ts.map +1 -0
  531. package/dist/components/icons/success-solid.js +5 -0
  532. package/dist/components/icons/success-solid.js.map +1 -0
  533. package/dist/components/icons/success.d.ts +3 -0
  534. package/dist/components/icons/success.d.ts.map +1 -0
  535. package/dist/components/icons/success.js +5 -0
  536. package/dist/components/icons/success.js.map +1 -0
  537. package/dist/components/icons/tensix.d.ts +3 -0
  538. package/dist/components/icons/tensix.d.ts.map +1 -0
  539. package/dist/components/icons/tensix.js +5 -0
  540. package/dist/components/icons/tensix.js.map +1 -0
  541. package/dist/components/icons/tenstorrent.d.ts +3 -0
  542. package/dist/components/icons/tenstorrent.d.ts.map +1 -0
  543. package/dist/components/icons/tenstorrent.js +5 -0
  544. package/dist/components/icons/tenstorrent.js.map +1 -0
  545. package/dist/components/icons/trash-solid.d.ts +3 -0
  546. package/dist/components/icons/trash-solid.d.ts.map +1 -0
  547. package/dist/components/icons/trash-solid.js +5 -0
  548. package/dist/components/icons/trash-solid.js.map +1 -0
  549. package/dist/components/icons/trash.d.ts +3 -0
  550. package/dist/components/icons/trash.d.ts.map +1 -0
  551. package/dist/components/icons/trash.js +5 -0
  552. package/dist/components/icons/trash.js.map +1 -0
  553. package/dist/components/icons/tt-forge-fe.d.ts +3 -0
  554. package/dist/components/icons/tt-forge-fe.d.ts.map +1 -0
  555. package/dist/components/icons/tt-forge-fe.js +5 -0
  556. package/dist/components/icons/tt-forge-fe.js.map +1 -0
  557. package/dist/components/icons/tt-forge.d.ts +3 -0
  558. package/dist/components/icons/tt-forge.d.ts.map +1 -0
  559. package/dist/components/icons/tt-forge.js +5 -0
  560. package/dist/components/icons/tt-forge.js.map +1 -0
  561. package/dist/components/icons/tt-lang.d.ts +3 -0
  562. package/dist/components/icons/tt-lang.d.ts.map +1 -0
  563. package/dist/components/icons/tt-lang.js +5 -0
  564. package/dist/components/icons/tt-lang.js.map +1 -0
  565. package/dist/components/icons/tt-llk.d.ts +3 -0
  566. package/dist/components/icons/tt-llk.d.ts.map +1 -0
  567. package/dist/components/icons/tt-llk.js +5 -0
  568. package/dist/components/icons/tt-llk.js.map +1 -0
  569. package/dist/components/icons/tt-metalium.d.ts +3 -0
  570. package/dist/components/icons/tt-metalium.d.ts.map +1 -0
  571. package/dist/components/icons/tt-metalium.js +5 -0
  572. package/dist/components/icons/tt-metalium.js.map +1 -0
  573. package/dist/components/icons/tt-nn.d.ts +3 -0
  574. package/dist/components/icons/tt-nn.d.ts.map +1 -0
  575. package/dist/components/icons/tt-nn.js +5 -0
  576. package/dist/components/icons/tt-nn.js.map +1 -0
  577. package/dist/components/icons/tt-torch.d.ts +3 -0
  578. package/dist/components/icons/tt-torch.d.ts.map +1 -0
  579. package/dist/components/icons/tt-torch.js +5 -0
  580. package/dist/components/icons/tt-torch.js.map +1 -0
  581. package/dist/components/icons/tt-xla.d.ts +3 -0
  582. package/dist/components/icons/tt-xla.d.ts.map +1 -0
  583. package/dist/components/icons/tt-xla.js +5 -0
  584. package/dist/components/icons/tt-xla.js.map +1 -0
  585. package/dist/components/icons/types.d.ts +2 -0
  586. package/dist/components/icons/types.d.ts.map +1 -0
  587. package/dist/components/icons/types.js +9 -0
  588. package/dist/components/icons/types.js.map +1 -0
  589. package/dist/components/icons/upload.d.ts +3 -0
  590. package/dist/components/icons/upload.d.ts.map +1 -0
  591. package/dist/components/icons/upload.js +5 -0
  592. package/dist/components/icons/upload.js.map +1 -0
  593. package/dist/components/icons/user-multiple-solid.d.ts +3 -0
  594. package/dist/components/icons/user-multiple-solid.d.ts.map +1 -0
  595. package/dist/components/icons/user-multiple-solid.js +5 -0
  596. package/dist/components/icons/user-multiple-solid.js.map +1 -0
  597. package/dist/components/icons/user-multiple.d.ts +3 -0
  598. package/dist/components/icons/user-multiple.d.ts.map +1 -0
  599. package/dist/components/icons/user-multiple.js +5 -0
  600. package/dist/components/icons/user-multiple.js.map +1 -0
  601. package/dist/components/icons/user-solid.d.ts +3 -0
  602. package/dist/components/icons/user-solid.d.ts.map +1 -0
  603. package/dist/components/icons/user-solid.js +5 -0
  604. package/dist/components/icons/user-solid.js.map +1 -0
  605. package/dist/components/icons/user.d.ts +3 -0
  606. package/dist/components/icons/user.d.ts.map +1 -0
  607. package/dist/components/icons/user.js +5 -0
  608. package/dist/components/icons/user.js.map +1 -0
  609. package/dist/components/icons/warning-solid.d.ts +3 -0
  610. package/dist/components/icons/warning-solid.d.ts.map +1 -0
  611. package/dist/components/icons/warning-solid.js +5 -0
  612. package/dist/components/icons/warning-solid.js.map +1 -0
  613. package/dist/components/icons/warning.d.ts +3 -0
  614. package/dist/components/icons/warning.d.ts.map +1 -0
  615. package/dist/components/icons/warning.js +5 -0
  616. package/dist/components/icons/warning.js.map +1 -0
  617. package/dist/components/icons/wormhole.d.ts +3 -0
  618. package/dist/components/icons/wormhole.d.ts.map +1 -0
  619. package/dist/components/icons/wormhole.js +5 -0
  620. package/dist/components/icons/wormhole.js.map +1 -0
  621. package/dist/components/masked-input/getMaskitoOptions.d.ts +4 -0
  622. package/dist/components/masked-input/getMaskitoOptions.d.ts.map +1 -0
  623. package/dist/components/masked-input/getMaskitoOptions.js +27 -0
  624. package/dist/components/masked-input/getMaskitoOptions.js.map +1 -0
  625. package/dist/components/masked-input/masked-input.d.ts +68 -0
  626. package/dist/components/masked-input/masked-input.d.ts.map +1 -0
  627. package/dist/components/masked-input/masked-input.js +68 -0
  628. package/dist/components/masked-input/masked-input.js.map +1 -0
  629. package/dist/components/material/material.css +1 -0
  630. package/dist/components/material/material.d.ts +43 -0
  631. package/dist/components/material/material.d.ts.map +1 -0
  632. package/dist/components/material/material.js +43 -0
  633. package/dist/components/material/material.js.map +1 -0
  634. package/dist/components/menu/menu.css +1 -0
  635. package/dist/components/menu/menu.d.ts +75 -0
  636. package/dist/components/menu/menu.d.ts.map +1 -0
  637. package/dist/components/menu/menu.js +56 -0
  638. package/dist/components/menu/menu.js.map +1 -0
  639. package/dist/components/modal/modal.css +1 -0
  640. package/dist/components/modal/modal.d.ts +83 -0
  641. package/dist/components/modal/modal.d.ts.map +1 -0
  642. package/dist/components/modal/modal.js +118 -0
  643. package/dist/components/modal/modal.js.map +1 -0
  644. package/dist/components/progress-bar/progress-bar.css +1 -0
  645. package/dist/components/progress-bar/progress-bar.d.ts +38 -0
  646. package/dist/components/progress-bar/progress-bar.d.ts.map +1 -0
  647. package/dist/components/progress-bar/progress-bar.js +39 -0
  648. package/dist/components/progress-bar/progress-bar.js.map +1 -0
  649. package/dist/components/radio-group/radio-group.css +1 -0
  650. package/dist/components/radio-group/radio-group.d.ts +70 -0
  651. package/dist/components/radio-group/radio-group.d.ts.map +1 -0
  652. package/dist/components/radio-group/radio-group.js +61 -0
  653. package/dist/components/radio-group/radio-group.js.map +1 -0
  654. package/dist/components/range/range.css +1 -0
  655. package/dist/components/range/range.d.ts +86 -0
  656. package/dist/components/range/range.d.ts.map +1 -0
  657. package/dist/components/range/range.js +87 -0
  658. package/dist/components/range/range.js.map +1 -0
  659. package/dist/components/select/select.css +1 -0
  660. package/dist/components/select/select.d.ts +82 -0
  661. package/dist/components/select/select.d.ts.map +1 -0
  662. package/dist/components/select/select.js +79 -0
  663. package/dist/components/select/select.js.map +1 -0
  664. package/dist/components/sheet/sheet.css +1 -0
  665. package/dist/components/sheet/sheet.d.ts +71 -0
  666. package/dist/components/sheet/sheet.d.ts.map +1 -0
  667. package/dist/components/sheet/sheet.js +116 -0
  668. package/dist/components/sheet/sheet.js.map +1 -0
  669. package/dist/components/show-more/show-more.css +1 -0
  670. package/dist/components/show-more/show-more.d.ts +28 -0
  671. package/dist/components/show-more/show-more.d.ts.map +1 -0
  672. package/dist/components/show-more/show-more.js +26 -0
  673. package/dist/components/show-more/show-more.js.map +1 -0
  674. package/dist/components/skeleton/skeleton.css +1 -0
  675. package/dist/components/skeleton/skeleton.d.ts +39 -0
  676. package/dist/components/skeleton/skeleton.d.ts.map +1 -0
  677. package/dist/components/skeleton/skeleton.js +36 -0
  678. package/dist/components/skeleton/skeleton.js.map +1 -0
  679. package/dist/components/slider/slider.d.ts +69 -0
  680. package/dist/components/slider/slider.d.ts.map +1 -0
  681. package/dist/components/slider/slider.js +61 -0
  682. package/dist/components/slider/slider.js.map +1 -0
  683. package/dist/components/snippet/snippet.css +1 -0
  684. package/dist/components/snippet/snippet.d.ts +28 -0
  685. package/dist/components/snippet/snippet.d.ts.map +1 -0
  686. package/dist/components/snippet/snippet.js +44 -0
  687. package/dist/components/snippet/snippet.js.map +1 -0
  688. package/dist/components/split-button/split-button.css +1 -0
  689. package/dist/components/split-button/split-button.d.ts +78 -0
  690. package/dist/components/split-button/split-button.d.ts.map +1 -0
  691. package/dist/components/split-button/split-button.js +65 -0
  692. package/dist/components/split-button/split-button.js.map +1 -0
  693. package/dist/components/status-indicator/status-indicator.css +1 -0
  694. package/dist/components/status-indicator/status-indicator.d.ts +35 -0
  695. package/dist/components/status-indicator/status-indicator.d.ts.map +1 -0
  696. package/dist/components/status-indicator/status-indicator.js +33 -0
  697. package/dist/components/status-indicator/status-indicator.js.map +1 -0
  698. package/dist/components/switch/switch.css +1 -0
  699. package/dist/components/switch/switch.d.ts +41 -0
  700. package/dist/components/switch/switch.d.ts.map +1 -0
  701. package/dist/components/switch/switch.js +46 -0
  702. package/dist/components/switch/switch.js.map +1 -0
  703. package/dist/components/tabs/tabs.css +1 -0
  704. package/dist/components/tabs/tabs.d.ts +60 -0
  705. package/dist/components/tabs/tabs.d.ts.map +1 -0
  706. package/dist/components/tabs/tabs.js +51 -0
  707. package/dist/components/tabs/tabs.js.map +1 -0
  708. package/dist/components/tag/tag.css +1 -0
  709. package/dist/components/tag/tag.d.ts +42 -0
  710. package/dist/components/tag/tag.d.ts.map +1 -0
  711. package/dist/components/tag/tag.js +48 -0
  712. package/dist/components/tag/tag.js.map +1 -0
  713. package/dist/components/text-area/text-area.css +1 -0
  714. package/dist/components/text-area/text-area.d.ts +35 -0
  715. package/dist/components/text-area/text-area.d.ts.map +1 -0
  716. package/dist/components/text-area/text-area.js +47 -0
  717. package/dist/components/text-area/text-area.js.map +1 -0
  718. package/dist/components/text-button/text-button.css +1 -0
  719. package/dist/components/text-button/text-button.d.ts +46 -0
  720. package/dist/components/text-button/text-button.d.ts.map +1 -0
  721. package/dist/components/text-button/text-button.js +46 -0
  722. package/dist/components/text-button/text-button.js.map +1 -0
  723. package/dist/components/text-input/text-input.css +1 -0
  724. package/dist/components/text-input/text-input.d.ts +57 -0
  725. package/dist/components/text-input/text-input.d.ts.map +1 -0
  726. package/dist/components/text-input/text-input.js +54 -0
  727. package/dist/components/text-input/text-input.js.map +1 -0
  728. package/dist/components/theme-switcher/theme-switcher.css +1 -0
  729. package/dist/components/theme-switcher/theme-switcher.d.ts +23 -0
  730. package/dist/components/theme-switcher/theme-switcher.d.ts.map +1 -0
  731. package/dist/components/theme-switcher/theme-switcher.js +24 -0
  732. package/dist/components/theme-switcher/theme-switcher.js.map +1 -0
  733. package/dist/components/toast/animations.d.ts +3 -0
  734. package/dist/components/toast/animations.d.ts.map +1 -0
  735. package/dist/components/toast/animations.js +28 -0
  736. package/dist/components/toast/animations.js.map +1 -0
  737. package/dist/components/toast/store.d.ts +77 -0
  738. package/dist/components/toast/store.d.ts.map +1 -0
  739. package/dist/components/toast/store.js +94 -0
  740. package/dist/components/toast/store.js.map +1 -0
  741. package/dist/components/toast/toast.css +1 -0
  742. package/dist/components/toast/toast.d.ts +32 -0
  743. package/dist/components/toast/toast.d.ts.map +1 -0
  744. package/dist/components/toast/toast.js +202 -0
  745. package/dist/components/toast/toast.js.map +1 -0
  746. package/dist/components/toast/utils.d.ts +10 -0
  747. package/dist/components/toast/utils.d.ts.map +1 -0
  748. package/dist/components/toast/utils.js +26 -0
  749. package/dist/components/toast/utils.js.map +1 -0
  750. package/dist/components/toggle/toggle.css +1 -0
  751. package/dist/components/toggle/toggle.d.ts +82 -0
  752. package/dist/components/toggle/toggle.d.ts.map +1 -0
  753. package/dist/components/toggle/toggle.js +129 -0
  754. package/dist/components/toggle/toggle.js.map +1 -0
  755. package/dist/components/tooltip/tooltip.css +1 -0
  756. package/dist/components/tooltip/tooltip.d.ts +58 -0
  757. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  758. package/dist/components/tooltip/tooltip.js +52 -0
  759. package/dist/components/tooltip/tooltip.js.map +1 -0
  760. package/dist/components/typography/typography.css +1 -0
  761. package/dist/components/typography/typography.d.ts +33 -0
  762. package/dist/components/typography/typography.d.ts.map +1 -0
  763. package/dist/components/typography/typography.js +63 -0
  764. package/dist/components/typography/typography.js.map +1 -0
  765. package/dist/styles/animation.css +1 -0
  766. package/dist/styles/backgrounds.css +1 -0
  767. package/dist/styles/colors.css +1 -0
  768. package/dist/styles/fonts.css +1 -0
  769. package/dist/styles/globals.css +1 -0
  770. package/dist/styles/leading.css +1 -0
  771. package/dist/styles/radius.css +1 -0
  772. package/dist/styles/shadows.css +1 -0
  773. package/dist/styles/spacing.css +1 -0
  774. package/dist/styles/strokes.css +1 -0
  775. package/dist/styles/styles.css +1 -0
  776. package/dist/styles/tailwind-utilities.css +1 -0
  777. package/dist/styles/tailwind.css +1 -0
  778. package/dist/styles/tracking.css +1 -0
  779. package/dist/utils/cn.d.ts +2 -0
  780. package/dist/utils/cn.d.ts.map +1 -0
  781. package/dist/utils/cn.js +2 -0
  782. package/dist/utils/cn.js.map +1 -0
  783. package/dist/utils/generateId.d.ts +5 -0
  784. package/dist/utils/generateId.d.ts.map +1 -0
  785. package/dist/utils/generateId.js +21 -0
  786. package/dist/utils/generateId.js.map +1 -0
  787. package/dist/utils/getDisabledProps.d.ts +42 -0
  788. package/dist/utils/getDisabledProps.d.ts.map +1 -0
  789. package/dist/utils/getDisabledProps.js +36 -0
  790. package/dist/utils/getDisabledProps.js.map +1 -0
  791. package/dist/utils/getPortalContainer.d.ts +27 -0
  792. package/dist/utils/getPortalContainer.d.ts.map +1 -0
  793. package/dist/utils/getPortalContainer.js +21 -0
  794. package/dist/utils/getPortalContainer.js.map +1 -0
  795. package/dist/utils/hooks/useBaseRemSize.d.ts +9 -0
  796. package/dist/utils/hooks/useBaseRemSize.d.ts.map +1 -0
  797. package/dist/utils/hooks/useBaseRemSize.js +55 -0
  798. package/dist/utils/hooks/useBaseRemSize.js.map +1 -0
  799. package/dist/utils/hooks/useMergedRefs.d.ts +11 -0
  800. package/dist/utils/hooks/useMergedRefs.d.ts.map +1 -0
  801. package/dist/utils/hooks/useMergedRefs.js +96 -0
  802. package/dist/utils/hooks/useMergedRefs.js.map +1 -0
  803. package/dist/utils/isSingleReactElement.d.ts +3 -0
  804. package/dist/utils/isSingleReactElement.d.ts.map +1 -0
  805. package/dist/utils/isSingleReactElement.js +5 -0
  806. package/dist/utils/isSingleReactElement.js.map +1 -0
  807. package/dist/utils/polymorphic.d.ts +43 -0
  808. package/dist/utils/polymorphic.d.ts.map +1 -0
  809. package/dist/utils/polymorphic.js +2 -0
  810. package/dist/utils/polymorphic.js.map +1 -0
  811. package/dist/utils/splitFormInputProps.d.ts +119 -0
  812. package/dist/utils/splitFormInputProps.d.ts.map +1 -0
  813. package/dist/utils/splitFormInputProps.js +277 -0
  814. package/dist/utils/splitFormInputProps.js.map +1 -0
  815. package/package.json +266 -0
@@ -0,0 +1 @@
1
+ .vesper-tabs-trigger{cursor:pointer;align-items:center;gap:var(--vesper-spacing-1);display:flex}@media not (forced-colors:active){.vesper-tabs-trigger:focus-visible{box-shadow:var(--vesper-shadow-focus-ring)}}.vesper-tabs-list{display:flex}.vesper-tabs-trigger-icon{width:1rem;height:1rem}.vesper-tabs-primary .vesper-tabs-list{gap:var(--vesper-spacing-6);position:relative}.vesper-tabs-primary .vesper-tabs-list:before{content:"";border-top:var(--vesper-stroke-base) solid var(--vesper-border-secondary);position:absolute;bottom:0;left:0;right:0}.vesper-tabs-primary .vesper-tabs-trigger{padding:var(--vesper-spacing-4) 0;color:var(--vesper-text-secondary);position:relative}.vesper-tabs-primary .vesper-tabs-trigger:hover{color:var(--vesper-text-primary)}.vesper-tabs-primary .vesper-tabs-trigger[data-active]{color:var(--vesper-text-primary)}.vesper-tabs-primary .vesper-tabs-trigger:hover:after{content:"";border-top:var(--vesper-stroke-strong) solid var(--vesper-border-strong);position:absolute;bottom:0;left:0;right:0}@media (forced-colors:active){.vesper-tabs-primary .vesper-tabs-trigger:hover:after{border-color:canvastext}}.vesper-tabs-primary .vesper-tabs-trigger[data-active]:after{content:"";border-top:var(--vesper-stroke-strong) solid var(--vesper-border-strong);position:absolute;bottom:0;left:0;right:0}@media (forced-colors:active){.vesper-tabs-primary .vesper-tabs-trigger[data-active]:after{border-color:canvastext}}@media (forced-colors:active){.vesper-tabs-primary .vesper-tabs-trigger:focus-visible{outline:var(--vesper-stroke-strong) solid CanvasText}}.vesper-tabs-primary .vesper-tabs-trigger-icon{margin:calc(var(--vesper-spacing-micro) * -1) 0}.vesper-tabs-secondary .vesper-tabs-list{gap:var(--vesper-spacing-2)}.vesper-tabs-secondary .vesper-tabs-trigger{padding:var(--vesper-spacing-2);border-radius:var(--vesper-spacing-1);background:var(--vesper-tint-neutral-300);color:var(--vesper-text-primary)}.vesper-tabs-secondary .vesper-tabs-trigger:hover{background:var(--vesper-background-inverse-primary);color:var(--vesper-text-inverse-primary)}@media (forced-colors:active){.vesper-tabs-secondary .vesper-tabs-trigger:hover{forced-color-adjust:none;color:canvas;background:canvastext}}.vesper-tabs-secondary .vesper-tabs-trigger[data-state=active]{background:var(--vesper-background-inverse-primary);color:var(--vesper-text-inverse-primary)}@media (forced-colors:active){.vesper-tabs-secondary .vesper-tabs-trigger[data-state=active]{forced-color-adjust:none;color:canvas;background:canvastext}}@media (forced-colors:active){.vesper-tabs-secondary .vesper-tabs-trigger{border:var(--vesper-stroke-base) solid CanvasText}.vesper-tabs-secondary .vesper-tabs-trigger:focus-visible{outline:var(--vesper-stroke-base) solid CanvasText;outline-offset:var(--vesper-spacing-micro)}}.vesper-tabs-secondary .vesper-tabs-trigger-icon{margin:calc(var(--vesper-spacing-half) * -1) 0}
@@ -0,0 +1,60 @@
1
+ import { ComponentProps, ReactNode } from "react";
2
+ export declare const TABS_VARIANTS: readonly ["primary", "secondary"];
3
+ export type TabsVariant = (typeof TABS_VARIANTS)[number];
4
+ export interface TabsProps extends Omit<ComponentProps<"div">, "children" | "dir"> {
5
+ /** The visual style variant of the tabs. @default primary */
6
+ variant?: TabsVariant;
7
+ /** The list of tab items to render. Each item defines a tab trigger and its associated content panel. */
8
+ items: {
9
+ /** The text label displayed in the tab trigger. */
10
+ label: string;
11
+ /** A unique value identifying this tab, used for selection tracking. */
12
+ value: string;
13
+ /** An optional icon element rendered before the label in the tab trigger. */
14
+ icon?: ReactNode;
15
+ /** The content rendered in the panel when this tab is active. */
16
+ content: ReactNode;
17
+ }[];
18
+ /** The value for the selected tab (controlled). */
19
+ value?: string;
20
+ /** The value of the tab to select by default (uncontrolled). */
21
+ defaultValue?: string;
22
+ /** Callback fired when when a new tab is selected */
23
+ onValueChange?: (value: string) => void;
24
+ /** Whether a tab is activated automatically (when receiving focus) or manually (when clicked). @default automatic */
25
+ activationMode?: "automatic" | "manual";
26
+ }
27
+ /**
28
+ * A tabbed interface component for organizing content into switchable panels.
29
+ *
30
+ * @param {TabsProps["items"]} props.items - The list of tab items defining triggers and content panels
31
+ * @param {TabsVariant} [props.variant] - (optional) The visual style variant of the tabs. @default primary
32
+ * @param {string} [props.value] - (optional) The selected tab value (controlled)
33
+ * @param {string} [props.defaultValue] - (optional) The tab to select by default (uncontrolled)
34
+ * @param {(value: string) => void} [props.onValueChange] - (optional) Callback fired when a new tab is selected
35
+ * @param {"automatic" | "manual"} [props.activationMode] - (optional) Tab activation mode. @default automatic
36
+ *
37
+ * You may also pass any additional props to the underlying `div` element
38
+ *
39
+ * @example
40
+ * <Tabs
41
+ * items={[
42
+ * { value: "overview", label: "Overview", content: <Overview /> },
43
+ * { value: "settings", label: "Settings", content: <Settings /> },
44
+ * ]}
45
+ * defaultValue="overview"
46
+ * />
47
+ *
48
+ * @example
49
+ * <Tabs
50
+ * variant="secondary"
51
+ * items={[
52
+ * { value: "code", label: "Code", icon: <Document />, content: <CodePanel /> },
53
+ * { value: "preview", label: "Preview", content: <PreviewPanel /> },
54
+ * ]}
55
+ * value={activeTab}
56
+ * onValueChange={setActiveTab}
57
+ * />
58
+ */
59
+ export declare function Tabs(props: TabsProps): import("react/jsx-runtime").JSX.Element;
60
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAWlD,eAAO,MAAM,aAAa,mCAAoC,CAAC;AAE/D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,MAAM,WAAW,SAAU,SAAQ,IAAI,CACrC,cAAc,CAAC,KAAK,CAAC,EACrB,UAAU,GAAG,KAAK,CACnB;IACC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,yGAAyG;IACzG,KAAK,EAAE;QACL,mDAAmD;QACnD,KAAK,EAAE,MAAM,CAAC;QACd,wEAAwE;QACxE,KAAK,EAAE,MAAM,CAAC;QACd,6EAA6E;QAC7E,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,iEAAiE;QACjE,OAAO,EAAE,SAAS,CAAC;KACpB,EAAE,CAAC;IACJ,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,qHAAqH;IACrH,cAAc,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;CACzC;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,2CAoDpC"}
@@ -0,0 +1,51 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Tabs as BaseTabs } from "@base-ui/react/tabs";
4
+ import { Typography, } from "../typography/typography.js";
5
+ import { cn } from "../../utils/cn.js";
6
+ import { isSingleReactElement } from "../../utils/isSingleReactElement.js";
7
+ export const TABS_VARIANTS = ["primary", "secondary"];
8
+ const TRIGGER_TYPOGRAPHY = {
9
+ primary: "label-md",
10
+ secondary: "label-sm",
11
+ };
12
+ /**
13
+ * A tabbed interface component for organizing content into switchable panels.
14
+ *
15
+ * @param {TabsProps["items"]} props.items - The list of tab items defining triggers and content panels
16
+ * @param {TabsVariant} [props.variant] - (optional) The visual style variant of the tabs. @default primary
17
+ * @param {string} [props.value] - (optional) The selected tab value (controlled)
18
+ * @param {string} [props.defaultValue] - (optional) The tab to select by default (uncontrolled)
19
+ * @param {(value: string) => void} [props.onValueChange] - (optional) Callback fired when a new tab is selected
20
+ * @param {"automatic" | "manual"} [props.activationMode] - (optional) Tab activation mode. @default automatic
21
+ *
22
+ * You may also pass any additional props to the underlying `div` element
23
+ *
24
+ * @example
25
+ * <Tabs
26
+ * items={[
27
+ * { value: "overview", label: "Overview", content: <Overview /> },
28
+ * { value: "settings", label: "Settings", content: <Settings /> },
29
+ * ]}
30
+ * defaultValue="overview"
31
+ * />
32
+ *
33
+ * @example
34
+ * <Tabs
35
+ * variant="secondary"
36
+ * items={[
37
+ * { value: "code", label: "Code", icon: <Document />, content: <CodePanel /> },
38
+ * { value: "preview", label: "Preview", content: <PreviewPanel /> },
39
+ * ]}
40
+ * value={activeTab}
41
+ * onValueChange={setActiveTab}
42
+ * />
43
+ */
44
+ export function Tabs(props) {
45
+ const { items, className, variant = "primary", activationMode = "automatic", onValueChange, ...rest } = props;
46
+ return (_jsxs(BaseTabs.Root, { className: cn(`vesper-tabs-${variant}`, className), onValueChange: (value) => onValueChange?.(value), ...rest, children: [_jsx(BaseTabs.List, { activateOnFocus: activationMode === "automatic", className: "vesper-tabs-list", children: items.map((item) => (_jsxs(Typography, { as: BaseTabs.Tab, variant: TRIGGER_TYPOGRAPHY[variant], value: item.value, className: "vesper-tabs-trigger", children: [item.icon && (_jsx("span", { className: "vesper-tabs-trigger-icon", children: item.icon })), item.label] }, item.value))) }), items.map((item) => {
47
+ const children = isSingleReactElement(item.content) ? (item.content) : (_jsx("span", { children: item.content }));
48
+ return (_jsx(BaseTabs.Panel, { render: children, value: item.value }, item.value));
49
+ })] }));
50
+ }
51
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EACL,UAAU,GAEX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,WAAW,CAAU,CAAC;AA+B/D,MAAM,kBAAkB,GAA8C;IACpE,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,UAAU;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,MAAM,EACJ,KAAK,EACL,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,cAAc,GAAG,WAAW,EAC5B,aAAa,EACb,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,MAAC,QAAQ,CAAC,IAAI,IACZ,SAAS,EAAE,EAAE,CAAC,eAAe,OAAO,EAAE,EAAE,SAAS,CAAC,EAClD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,KAC5C,IAAI,aAER,KAAC,QAAQ,CAAC,IAAI,IACZ,eAAe,EAAE,cAAc,KAAK,WAAW,EAC/C,SAAS,EAAC,kBAAkB,YAE3B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,MAAC,UAAU,IACT,EAAE,EAAE,QAAQ,CAAC,GAAG,EAChB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAEpC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,SAAS,EAAC,qBAAqB,aAE9B,IAAI,CAAC,IAAI,IAAI,CACZ,eAAM,SAAS,EAAC,0BAA0B,YAAE,IAAI,CAAC,IAAI,GAAQ,CAC9D,EACA,IAAI,CAAC,KAAK,KAPN,IAAI,CAAC,KAAK,CAQJ,CACd,CAAC,GACY,EACf,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACpD,IAAI,CAAC,OAAO,CACb,CAAC,CAAC,CAAC,CACF,yBAAO,IAAI,CAAC,OAAO,GAAQ,CAC5B,CAAC;gBAEF,OAAO,CACL,KAAC,QAAQ,CAAC,KAAK,IACb,MAAM,EAAE,QAAQ,EAEhB,KAAK,EAAE,IAAI,CAAC,KAAK,IADZ,IAAI,CAAC,KAAK,CAEf,CACH,CAAC;YACJ,CAAC,CAAC,IACY,CACjB,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ .vesper-tag{align-items:center;width:fit-content;display:inline-flex}.vesper-tag-icon{display:flex}.vesper-tag-sm{gap:var(--vesper-spacing-half);height:1.25rem;padding:0 var(--vesper-spacing-1);border-radius:var(--vesper-radius-half)}.vesper-tag-sm .vesper-tag-icon{width:.75rem;height:.75rem}.vesper-tag-md{gap:var(--vesper-spacing-1);height:1.5rem;padding:0 var(--vesper-spacing-2);border-radius:var(--vesper-radius-1)}.vesper-tag-md .vesper-tag-icon{width:.875rem;height:.875rem}.vesper-tag-lg{gap:var(--vesper-spacing-1);height:1.75rem;padding:0 var(--vesper-spacing-2);border-radius:var(--vesper-radius-1)}.vesper-tag-lg .vesper-tag-icon{width:1rem;height:1rem}.vesper-tag-default{background:var(--vesper-tint-neutral-300);color:var(--vesper-text-primary)}.vesper-tag-contrast{background:var(--vesper-background-inverse-primary);color:var(--vesper-text-inverse-primary)}.vesper-tag-accent-subtle{color:var(--vesper-text-accent);background:var(--vesper-background-accent-subtle)}.vesper-tag-accent-bold{color:var(--vesper-text-primary);background:var(--vesper-background-accent-base)}.vesper-tag-danger-subtle{color:var(--vesper-text-error);background:var(--vesper-background-error-subtle)}.vesper-tag-danger-bold{color:var(--vesper-text-inverse-primary);background:var(--vesper-background-error-base)}.vesper-tag-warning-subtle{color:var(--vesper-text-warning);background:var(--vesper-background-warning-subtle)}.vesper-tag-warning-bold{color:var(--vesper-text-inverse-primary);background:var(--vesper-background-warning-base)}.vesper-tag-success-subtle{color:var(--vesper-text-success);background:var(--vesper-background-success-subtle)}.vesper-tag-success-bold{color:var(--vesper-text-inverse-primary);background:var(--vesper-background-success-base)}.vesper-tag-info-subtle{color:var(--vesper-text-info);background:var(--vesper-background-info-subtle)}.vesper-tag-info-bold{color:var(--vesper-text-inverse-primary);background:var(--vesper-background-info-base)}.vesper-tag-disabled{color:var(--vesper-text-disabled);background:var(--vesper-background-disabled)}
@@ -0,0 +1,42 @@
1
+ import type { ElementType, ReactNode } from "react";
2
+ import type { Polymorphic } from "../../utils/polymorphic.js";
3
+ export declare const TAG_SIZES: readonly ["sm", "md", "lg"];
4
+ export declare const TAG_VARIANTS: readonly ["default", "contrast", "accent-bold", "accent-subtle", "danger-bold", "danger-subtle", "success-bold", "success-subtle", "info-bold", "info-subtle", "warning-bold", "warning-subtle"];
5
+ export type TagSize = (typeof TAG_SIZES)[number];
6
+ export type TagVariant = (typeof TAG_VARIANTS)[number];
7
+ export type TagProps<E extends ElementType = "div"> = Polymorphic<{
8
+ /** The size of the tag. Affects padding and font size. @default md */
9
+ size?: TagSize;
10
+ /** The color variant of the tag. @defaults default */
11
+ variant?: TagVariant;
12
+ /** When `true`, renders the tag in a disabled state and prevents interaction. @default false */
13
+ disabled?: boolean;
14
+ /** An optional icon element rendered to the left of the tag text. */
15
+ icon?: ReactNode;
16
+ }, E>;
17
+ /**
18
+ * A polymorphic label component for categorizing content with color variants and optional icons.
19
+ *
20
+ * Unlike `Badge` (which describes adjacent content like plan tiers or roles) and `Chip` (which displays on/off states), `Tags` are used to classify and organize content into categories.
21
+ *
22
+ * @see packages/vesper/src/components/badge/badge.tsx
23
+ * @see packages/vesper/src/components/chip/chip.tsx
24
+ *
25
+ * @param {TagSize} [props.size] - (optional) The size of the tag. @default md
26
+ * @param {TagVariant} [props.variant] - (optional) The color variant of the tag. @default default
27
+ * @param {boolean} [props.disabled] - (optional) Renders the tag in a disabled state
28
+ * @param {ReactNode} [props.icon] - (optional) An icon element rendered to the left of the tag text
29
+ * @param {React.ElementType} [props.as] - (optional) Element type to render. @default div
30
+ *
31
+ * You may also pass any additional props to the underlying element
32
+ *
33
+ * @example
34
+ * <Tag variant="success-bold">Active</Tag>
35
+ *
36
+ * @example
37
+ * <Tag size="sm" variant="danger-subtle" icon={<ErrorSolid />}>
38
+ * Failed
39
+ * </Tag>
40
+ */
41
+ export declare function Tag<E extends ElementType = "div">(props: TagProps<E>): import("react/jsx-runtime").JSX.Element;
42
+ //# sourceMappingURL=tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../src/components/tag/tag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,SAAS,6BAA8B,CAAC;AAErD,eAAO,MAAM,YAAY,kMAaf,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,IAAI,WAAW,CAC/D;IACE,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,EACD,CAAC,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,2CA6BpE"}
@@ -0,0 +1,48 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Typography } from "../typography/typography.js";
3
+ import { cn } from "../../utils/cn.js";
4
+ import { getDisabledProps } from "../../utils/getDisabledProps.js";
5
+ export const TAG_SIZES = ["sm", "md", "lg"];
6
+ export const TAG_VARIANTS = [
7
+ "default",
8
+ "contrast",
9
+ "accent-bold",
10
+ "accent-subtle",
11
+ "danger-bold",
12
+ "danger-subtle",
13
+ "success-bold",
14
+ "success-subtle",
15
+ "info-bold",
16
+ "info-subtle",
17
+ "warning-bold",
18
+ "warning-subtle",
19
+ ];
20
+ /**
21
+ * A polymorphic label component for categorizing content with color variants and optional icons.
22
+ *
23
+ * Unlike `Badge` (which describes adjacent content like plan tiers or roles) and `Chip` (which displays on/off states), `Tags` are used to classify and organize content into categories.
24
+ *
25
+ * @see packages/vesper/src/components/badge/badge.tsx
26
+ * @see packages/vesper/src/components/chip/chip.tsx
27
+ *
28
+ * @param {TagSize} [props.size] - (optional) The size of the tag. @default md
29
+ * @param {TagVariant} [props.variant] - (optional) The color variant of the tag. @default default
30
+ * @param {boolean} [props.disabled] - (optional) Renders the tag in a disabled state
31
+ * @param {ReactNode} [props.icon] - (optional) An icon element rendered to the left of the tag text
32
+ * @param {React.ElementType} [props.as] - (optional) Element type to render. @default div
33
+ *
34
+ * You may also pass any additional props to the underlying element
35
+ *
36
+ * @example
37
+ * <Tag variant="success-bold">Active</Tag>
38
+ *
39
+ * @example
40
+ * <Tag size="sm" variant="danger-subtle" icon={<ErrorSolid />}>
41
+ * Failed
42
+ * </Tag>
43
+ */
44
+ export function Tag(props) {
45
+ const { as: Component = "div", className, size = "md", variant = "default", disabled, icon, children, ...rest } = props;
46
+ return (_jsxs(Component, { className: cn("vesper-tag", `vesper-tag-${size}`, disabled ? "vesper-tag-disabled" : `vesper-tag-${variant}`, className), ...rest, ...getDisabledProps(Component, !!disabled), children: [icon && _jsx("span", { className: "vesper-tag-icon", children: icon }), _jsx(Typography, { as: "span", variant: "label-xs", children: children })] }));
47
+ }
48
+ //# sourceMappingURL=tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../src/components/tag/tag.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAErD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IACT,UAAU;IACV,aAAa;IACb,eAAe;IACf,aAAa;IACb,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,aAAa;IACb,cAAc;IACd,gBAAgB;CACR,CAAC;AAoBX;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,GAAG,CAAgC,KAAkB;IACnE,MAAM,EACJ,EAAE,EAAE,SAAS,GAAG,KAAK,EACrB,SAAS,EACT,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,SAAS,EACnB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,MAAC,SAAS,IACR,SAAS,EAAE,EAAE,CACX,YAAY,EACZ,cAAc,IAAI,EAAE,EACpB,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,OAAO,EAAE,EAC1D,SAAS,CACV,KACG,IAAI,KACJ,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aAE1C,IAAI,IAAI,eAAM,SAAS,EAAC,iBAAiB,YAAE,IAAI,GAAQ,EACxD,KAAC,UAAU,IAAC,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,UAAU,YACrC,QAAQ,GACE,IACH,CACb,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ .vesper-text-area{width:100%;color:var(--vesper-text-primary)}.vesper-text-area::-ms-input-placeholder{color:var(--vesper-text-tertiary)}.vesper-text-area::placeholder{color:var(--vesper-text-tertiary)}.vesper-text-area{border:var(--vesper-stroke-base) solid var(--vesper-border-secondary);background:var(--vesper-tint-neutral-100)}.vesper-text-area:focus-visible{border:var(--vesper-stroke-base) solid var(--vesper-border-strong)}.vesper-text-area:disabled{border:var(--vesper-stroke-base) solid var(--vesper-border-disabled);background:var(--vesper-tint-neutral-200);color:var(--vesper-text-tertiary)}.vesper-text-area:disabled::-ms-input-placeholder{color:var(--vesper-text-disabled)}.vesper-text-area:disabled::placeholder{color:var(--vesper-text-disabled)}.vesper-text-area:-webkit-autofill{transition:background-color 2147480000s step-end}.vesper-text-area:autofill{transition:background-color 2147480000s step-end}.vesper-text-area:-webkit-autofill{transition:background-color 2147480000s step-end}.vesper-text-area-success{border:var(--vesper-stroke-base) solid var(--vesper-border-success-base)}.vesper-text-area-warning{border:var(--vesper-stroke-base) solid var(--vesper-border-warning-base)}.vesper-text-area-error{border:var(--vesper-stroke-base) solid var(--vesper-border-error-base)}.vesper-text-area-sm{border-radius:var(--vesper-radius-1);padding:.43125rem var(--vesper-spacing-2)}.vesper-text-area-md{border-radius:var(--vesper-radius-2);padding:.6375rem var(--vesper-spacing-3)}.vesper-text-area-lg{border-radius:var(--vesper-radius-2);padding:.9rem var(--vesper-spacing-3)}
@@ -0,0 +1,35 @@
1
+ import { FormInputProps } from "../../utils/splitFormInputProps.js";
2
+ export declare const TEXT_AREA_SIZES: readonly ["sm", "md", "lg"];
3
+ export declare const TEXT_AREA_VARIANTS: readonly ["default", "warning", "success", "error"];
4
+ export type TextAreaSize = (typeof TEXT_AREA_SIZES)[number];
5
+ export type TextAreaVariant = (typeof TEXT_AREA_VARIANTS)[number];
6
+ export interface TextAreaProps extends FormInputProps<"textarea", "textarea"> {
7
+ /** The fixed height of the textarea in pixels, scaling with base rem size. @default 104 */
8
+ height?: number;
9
+ /** Whether to allow vertical resizing of the underling `textarea` element. @default false */
10
+ resizeable?: boolean;
11
+ /** The size of the textarea. Affects padding and typography. @default md */
12
+ size?: TextAreaSize;
13
+ /** The visual variant of the text input, which determines its color scheme. @default default */
14
+ variant?: TextAreaVariant;
15
+ }
16
+ /**
17
+ * A form-ready textarea component supporting different visual variants.
18
+ *
19
+ * @param {TextAreaSize} [props.size] - (optional) The size of the text input. @default md
20
+ * @param {TextAreaVariant} [props.variant] - (optional) The visual variant determining color scheme. @default default
21
+ * @param {string} [props.placeholder] - (optional) Placeholder text for the input
22
+ * @param {number} [props.height] - (optional) The fixed height of the textarea in pixels, scaling with base rem size. @default 104
23
+ *
24
+ * You may also pass any additional props to the underlying `textarea` element
25
+
26
+ * @example
27
+ * <TextArea
28
+ * aria-label="Bio"
29
+ * placeholder="Tell us about yourself"
30
+ * height={120}
31
+ * maxLength={500}
32
+ * />
33
+ */
34
+ export declare function TextArea(props: TextAreaProps): import("react/jsx-runtime").JSX.Element;
35
+ //# sourceMappingURL=text-area.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-area.d.ts","sourceRoot":"","sources":["../../../src/components/text-area/text-area.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,eAAO,MAAM,eAAe,6BAA8B,CAAC;AAE3D,eAAO,MAAM,kBAAkB,qDAKrB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC;IAC3E,2FAA2F;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,gGAAgG;IAChG,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAQD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAoC5C"}
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Typography, } from "../typography/typography.js";
4
+ import { cn } from "../../utils/cn.js";
5
+ export const TEXT_AREA_SIZES = ["sm", "md", "lg"];
6
+ export const TEXT_AREA_VARIANTS = [
7
+ "default",
8
+ "warning",
9
+ "success",
10
+ "error",
11
+ ];
12
+ const TEXTAREA_TYPOGRAPHY = {
13
+ sm: "copy-xs",
14
+ md: "copy-sm",
15
+ lg: "copy-md",
16
+ };
17
+ /**
18
+ * A form-ready textarea component supporting different visual variants.
19
+ *
20
+ * @param {TextAreaSize} [props.size] - (optional) The size of the text input. @default md
21
+ * @param {TextAreaVariant} [props.variant] - (optional) The visual variant determining color scheme. @default default
22
+ * @param {string} [props.placeholder] - (optional) Placeholder text for the input
23
+ * @param {number} [props.height] - (optional) The fixed height of the textarea in pixels, scaling with base rem size. @default 104
24
+ *
25
+ * You may also pass any additional props to the underlying `textarea` element
26
+
27
+ * @example
28
+ * <TextArea
29
+ * aria-label="Bio"
30
+ * placeholder="Tell us about yourself"
31
+ * height={120}
32
+ * maxLength={500}
33
+ * />
34
+ */
35
+ export function TextArea(props) {
36
+ const { variant = "default", size = "md", resizeable = false,
37
+ // props that should get forwarded to the textarea element
38
+ height = 104, className, placeholder = " ", style, ...rest } = props;
39
+ return (_jsx(Typography, { ...rest, className: cn("vesper-text-area", `vesper-text-area-${size}`, `vesper-text-area-${variant}`, className), as: "textarea", variant: TEXTAREA_TYPOGRAPHY[size], placeholder: props.required && placeholder.trim()
40
+ ? `${placeholder.trim()} *`
41
+ : placeholder, style: {
42
+ height: `${height / 16}rem`,
43
+ resize: resizeable ? "block" : "none",
44
+ ...style,
45
+ } }));
46
+ }
47
+ //# sourceMappingURL=text-area.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-area.js","sourceRoot":"","sources":["../../../src/components/text-area/text-area.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EACL,UAAU,GAEX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAGhC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAE3D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;CACC,CAAC;AAiBX,MAAM,mBAAmB,GAA+C;IACtE,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;CACd,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EACJ,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,UAAU,GAAG,KAAK;IAClB,0DAA0D;IAC1D,MAAM,GAAG,GAAG,EACZ,SAAS,EACT,WAAW,GAAG,GAAG,EACjB,KAAK,EACL,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,KAAC,UAAU,OACL,IAAI,EACR,SAAS,EAAE,EAAE,CACX,kBAAkB,EAClB,oBAAoB,IAAI,EAAE,EAC1B,oBAAoB,OAAO,EAAE,EAC7B,SAAS,CACV,EACD,EAAE,EAAC,UAAU,EACb,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAClC,WAAW,EACT,KAAK,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE;YAClC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI;YAC3B,CAAC,CAAC,WAAW,EAEjB,KAAK,EAAE;YACL,MAAM,EAAE,GAAG,MAAM,GAAG,EAAE,KAAK;YAC3B,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YACrC,GAAG,KAAK;SACT,GACD,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ .vesper-text-button{justify-content:center;align-items:center;gap:var(--vesper-spacing-1);text-transform:uppercase;width:fit-content;font-weight:400;font-family:var(--vesper-font-mono);line-height:var(--vesper-leading-none);letter-spacing:var(--vesper-tracking-normal);cursor:pointer;border-bottom:var(--vesper-stroke-base) solid transparent;display:inline-flex}.vesper-text-button:focus-visible{box-shadow:var(--vesper-shadow-focus-ring)}@media (forced-colors:active){.vesper-text-button:focus-visible{outline:var(--vesper-stroke-strong) solid CanvasText}}.vesper-text-button-lg{height:1rem;font-size:1rem}.vesper-text-button-lg .vesper-text-button-icon{width:1rem;height:1rem}.vesper-text-button-md{height:.875rem;font-size:.875rem}.vesper-text-button-md .vesper-text-button-icon{width:.875rem;height:.875rem}.vesper-text-button-sm{height:.75rem;font-size:.75rem}.vesper-text-button-sm .vesper-text-button-icon{width:.75rem;height:.75rem}.vesper-text-button-subtle{color:var(--vesper-text-tertiary)}.vesper-text-button-subtle .vesper-text-button-icon{color:var(--vesper-icon-tertiary)}.vesper-text-button-subtle:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-primary)}.vesper-text-button-contrast{color:var(--vesper-text-primary)}.vesper-text-button-contrast .vesper-text-button-icon{color:var(--vesper-icon-primary)}.vesper-text-button-contrast:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-strong)}.vesper-text-button-accent{color:var(--vesper-text-accent)}.vesper-text-button-accent .vesper-text-button-icon{color:var(--vesper-icon-accent)}.vesper-text-button-accent:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-accent-base)}.vesper-text-button-danger{color:var(--vesper-text-error)}.vesper-text-button-danger .vesper-text-button-icon{color:var(--vesper-icon-error)}.vesper-text-button-danger:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-error-base)}.vesper-text-button-warning{color:var(--vesper-text-warning)}.vesper-text-button-warning .vesper-text-button-icon{color:var(--vesper-icon-warning)}.vesper-text-button-warning:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-warning-base)}.vesper-text-button-success{color:var(--vesper-text-success)}.vesper-text-button-success .vesper-text-button-icon{color:var(--vesper-icon-success)}.vesper-text-button-success:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-success-base)}.vesper-text-button-info{color:var(--vesper-text-info)}.vesper-text-button-info .vesper-text-button-icon{color:var(--vesper-icon-info)}.vesper-text-button-info:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-info-base)}.vesper-text-button-purple{color:var(--vesper-text-brand-purple)}.vesper-text-button-purple .vesper-text-button-icon{color:var(--vesper-icon-brand-purple)}.vesper-text-button-purple:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-brand-purple-base)}.vesper-text-button-pink{color:var(--vesper-text-brand-pink)}.vesper-text-button-pink .vesper-text-button-icon{color:var(--vesper-icon-brand-pink)}.vesper-text-button-pink:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-brand-pink-base)}.vesper-text-button-disabled{color:var(--vesper-text-disabled)}.vesper-text-button-disabled .vesper-text-button-icon{color:var(--vesper-icon-disabled)}.vesper-text-button-disabled{pointer-events:none}
@@ -0,0 +1,46 @@
1
+ import type { ElementType, ReactNode } from "react";
2
+ import type { Polymorphic } from "../../utils/polymorphic.js";
3
+ export declare const TEXT_BUTTON_SIZES: readonly ["sm", "md", "lg"];
4
+ export declare const TEXT_BUTTON_VARIANTS: readonly ["subtle", "contrast", "accent", "success", "warning", "danger", "info", "purple", "pink"];
5
+ export type TextButtonSize = (typeof TEXT_BUTTON_SIZES)[number];
6
+ export type TextButtonVariant = (typeof TEXT_BUTTON_VARIANTS)[number];
7
+ export type TextButtonProps<E extends ElementType = "button"> = Polymorphic<{
8
+ /** The size of the text button. Affects font size. @default md */
9
+ size?: TextButtonSize;
10
+ /** The color variant of the text button. @default accent */
11
+ variant?: TextButtonVariant;
12
+ /** When `true`, renders the text button in a disabled state and prevents interaction. @default false */
13
+ disabled?: boolean;
14
+ /** An optional icon element rendered to the left of the text button content. */
15
+ iconLeft?: ReactNode;
16
+ /** An optional icon element rendered to the right of the text button content. */
17
+ iconRight?: ReactNode;
18
+ }, E>;
19
+ /**
20
+ * A polymorphic text-only button component with color variants and optional leading/trailing icons, rendered without a background.
21
+ *
22
+ * Unlike `Button` (which renders with a filled or outlined background), `IconButton` (which displays a single icon without text), and `SplitButton` (which pairs a primary action with a dropdown menu), `TextButton` provides a minimal, text-styled control.
23
+ *
24
+ * @see packages/vesper/src/components/button/button.tsx
25
+ * @see packages/vesper/src/components/icon-button/icon-button.tsx
26
+ * @see packages/vesper/src/components/split-button/split-button.tsx
27
+ *
28
+ * @param {TextButtonSize} [props.size] - (optional) The size of the text button. @default md
29
+ * @param {TextButtonVariant} [props.variant] - (optional) The color variant. @default accent
30
+ * @param {boolean} [props.disabled] - (optional) Renders the button in a disabled state. @default false
31
+ * @param {ReactNode} [props.iconLeft] - (optional) An icon rendered to the left of the content
32
+ * @param {ReactNode} [props.iconRight] - (optional) An icon rendered to the right of the content
33
+ * @param {React.ElementType} [props.as] - (optional) Element type to render. @default button
34
+ *
35
+ * You may also pass any additional props to the underlying element
36
+ *
37
+ * @example
38
+ * <TextButton onClick={handleClick}>Learn more</TextButton>
39
+ *
40
+ * @example
41
+ * <TextButton variant="danger" iconRight={<ArrowRight />} as="a" href="/docs">
42
+ * View documentation
43
+ * </TextButton>
44
+ */
45
+ export declare function TextButton<E extends ElementType>(props: TextButtonProps<E>): import("react/jsx-runtime").JSX.Element;
46
+ //# sourceMappingURL=text-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-button.d.ts","sourceRoot":"","sources":["../../../src/components/text-button/text-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,iBAAiB,6BAA8B,CAAC;AAE7D,eAAO,MAAM,oBAAoB,qGAUvB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,QAAQ,IAAI,WAAW,CACzE;IACE,kEAAkE;IAClE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,wGAAwG;IACxG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iFAAiF;IACjF,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,EACD,CAAC,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,2CA+B1E"}
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../../utils/cn.js";
3
+ import { getDisabledProps } from "../../utils/getDisabledProps.js";
4
+ export const TEXT_BUTTON_SIZES = ["sm", "md", "lg"];
5
+ export const TEXT_BUTTON_VARIANTS = [
6
+ "subtle",
7
+ "contrast",
8
+ "accent",
9
+ "success",
10
+ "warning",
11
+ "danger",
12
+ "info",
13
+ "purple",
14
+ "pink",
15
+ ];
16
+ /**
17
+ * A polymorphic text-only button component with color variants and optional leading/trailing icons, rendered without a background.
18
+ *
19
+ * Unlike `Button` (which renders with a filled or outlined background), `IconButton` (which displays a single icon without text), and `SplitButton` (which pairs a primary action with a dropdown menu), `TextButton` provides a minimal, text-styled control.
20
+ *
21
+ * @see packages/vesper/src/components/button/button.tsx
22
+ * @see packages/vesper/src/components/icon-button/icon-button.tsx
23
+ * @see packages/vesper/src/components/split-button/split-button.tsx
24
+ *
25
+ * @param {TextButtonSize} [props.size] - (optional) The size of the text button. @default md
26
+ * @param {TextButtonVariant} [props.variant] - (optional) The color variant. @default accent
27
+ * @param {boolean} [props.disabled] - (optional) Renders the button in a disabled state. @default false
28
+ * @param {ReactNode} [props.iconLeft] - (optional) An icon rendered to the left of the content
29
+ * @param {ReactNode} [props.iconRight] - (optional) An icon rendered to the right of the content
30
+ * @param {React.ElementType} [props.as] - (optional) Element type to render. @default button
31
+ *
32
+ * You may also pass any additional props to the underlying element
33
+ *
34
+ * @example
35
+ * <TextButton onClick={handleClick}>Learn more</TextButton>
36
+ *
37
+ * @example
38
+ * <TextButton variant="danger" iconRight={<ArrowRight />} as="a" href="/docs">
39
+ * View documentation
40
+ * </TextButton>
41
+ */
42
+ export function TextButton(props) {
43
+ const { as: Component = "button", size = "md", variant = "accent", iconLeft, iconRight, children, className, disabled, ...rest } = props;
44
+ return (_jsxs(Component, { className: cn("vesper-text-button", `vesper-text-button-${size}`, `vesper-text-button-${disabled ? "disabled" : variant}`, className), ...rest, ...getDisabledProps(Component, !!disabled), children: [iconLeft && _jsx("span", { className: "vesper-text-button-icon", children: iconLeft }), children, iconRight && (_jsx("span", { className: "vesper-text-button-icon", children: iconRight }))] }));
45
+ }
46
+ //# sourceMappingURL=text-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-button.js","sourceRoot":"","sources":["../../../src/components/text-button/text-button.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAE7D,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,MAAM;CACE,CAAC;AAsBX;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,UAAU,CAAwB,KAAyB;IACzE,MAAM,EACJ,EAAE,EAAE,SAAS,GAAG,QAAQ,EACxB,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,QAAQ,EAClB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,MAAC,SAAS,IACR,SAAS,EAAE,EAAE,CACX,oBAAoB,EACpB,sBAAsB,IAAI,EAAE,EAC5B,sBAAsB,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,EACvD,SAAS,CACV,KACG,IAAI,KACJ,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aAE1C,QAAQ,IAAI,eAAM,SAAS,EAAC,yBAAyB,YAAE,QAAQ,GAAQ,EACvE,QAAQ,EACR,SAAS,IAAI,CACZ,eAAM,SAAS,EAAC,yBAAyB,YAAE,SAAS,GAAQ,CAC7D,IACS,CACb,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ .vesper-text-input{border:var(--vesper-stroke-base) solid var(--vesper-border-secondary);background:var(--vesper-tint-neutral-100);align-items:center;display:flex}.vesper-text-input:has(.vesper-text-input-field:focus-visible){border:var(--vesper-stroke-base) solid var(--vesper-border-strong);box-shadow:var(--vesper-shadow-focus-ring)}@media (forced-colors:active){.vesper-text-input:has(.vesper-text-input-field:focus-visible){outline:var(--vesper-stroke-strong) solid CanvasText}}.vesper-text-input:has(.vesper-text-input-icon:focus-visible){border:var(--vesper-stroke-base) solid var(--vesper-border-strong);box-shadow:var(--vesper-shadow-focus-ring)}@media (forced-colors:active){.vesper-text-input:has(.vesper-text-input-icon:focus-visible){outline:var(--vesper-stroke-strong) solid CanvasText}}.vesper-text-input:has(.vesper-text-input-field:disabled){border:var(--vesper-stroke-base) solid var(--vesper-border-disabled);background:var(--vesper-tint-neutral-200)}.vesper-text-input:has(.vesper-text-input-field:disabled) .vesper-text-input-icon{color:var(--vesper-icon-disabled);pointer-events:none}.vesper-text-input-success{border:var(--vesper-stroke-base) solid var(--vesper-border-success-base)}.vesper-text-input-warning{border:var(--vesper-stroke-base) solid var(--vesper-border-warning-base)}.vesper-text-input-error{border:var(--vesper-stroke-base) solid var(--vesper-border-error-base)}.vesper-text-input-icon{color:var(--vesper-icon-secondary);flex-shrink:0}.vesper-text-input-icon:where(button:not(:disabled)){cursor:pointer;position:relative}.vesper-text-input-icon:where(button:not(:disabled)):after{content:"";inset:calc(var(--vesper-spacing-micro) * -4);position:absolute}.vesper-text-input-field{width:100%}.vesper-text-input-field:focus-visible{box-shadow:none;outline:none}.vesper-text-input-field:-webkit-autofill{transition:background-color 2147480000s step-end}.vesper-text-input-field:autofill{transition:background-color 2147480000s step-end}.vesper-text-input-field:-webkit-autofill{transition:background-color 2147480000s step-end}.vesper-text-input-field:disabled{color:var(--vesper-text-tertiary)}.vesper-text-input-field:disabled::-ms-input-placeholder{color:var(--vesper-text-disabled)}.vesper-text-input-field:disabled::placeholder{color:var(--vesper-text-disabled)}.vesper-text-input-field::-webkit-search-decoration{-ms-appearance:none;appearance:none;display:none}.vesper-text-input-field::-webkit-search-cancel-button{-ms-appearance:none;appearance:none;display:none}.vesper-text-input-field::-webkit-search-results-button{-ms-appearance:none;appearance:none;display:none}.vesper-text-input-field::-webkit-search-results-decoration{-ms-appearance:none;appearance:none;display:none}.vesper-text-input-sm{gap:var(--vesper-spacing-1);padding:0 var(--vesper-spacing-2);border-radius:var(--vesper-radius-1);height:2rem}.vesper-text-input-sm .vesper-text-input-icon{width:.875rem;height:.875rem}.vesper-text-input-sm .vesper-text-input-field{padding:.43125rem 0}.vesper-text-input-md{gap:var(--vesper-spacing-2);padding:0 var(--vesper-spacing-3);border-radius:var(--vesper-radius-2);height:2.5rem}.vesper-text-input-md .vesper-text-input-icon{width:1rem;height:1rem}.vesper-text-input-md .vesper-text-input-field{padding:.6375rem 0}.vesper-text-input-lg{gap:var(--vesper-spacing-2);padding:0 var(--vesper-spacing-3);border-radius:var(--vesper-radius-2);height:3rem}.vesper-text-input-lg .vesper-text-input-icon{width:1.25rem;height:1.25rem}.vesper-text-input-lg .vesper-text-input-field{padding:.9rem 0}.vesper-text-input-field{color:var(--vesper-text-primary)}.vesper-text-input-field::-ms-input-placeholder{color:var(--vesper-text-tertiary)}.vesper-text-input-field::placeholder{color:var(--vesper-text-tertiary)}.vesper-text-input-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vesper-text-input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.vesper-text-input-field[type=number]{-ms-appearance:textfield;appearance:textfield}
@@ -0,0 +1,57 @@
1
+ import { type MouseEvent, type ReactNode } from "react";
2
+ import { FormInputProps } from "../../utils/splitFormInputProps.js";
3
+ export declare const TEXT_INPUT_SIZES: readonly ["sm", "md", "lg"];
4
+ export declare const TEXT_INPUT_VARIANTS: readonly ["default", "warning", "success", "error"];
5
+ export type TextInputSize = (typeof TEXT_INPUT_SIZES)[number];
6
+ export type TextInputVariant = (typeof TEXT_INPUT_VARIANTS)[number];
7
+ export interface TextInputProps extends FormInputProps<"div", "input"> {
8
+ /** The size of the text input. Affects padding and typography. @default md */
9
+ size?: TextInputSize;
10
+ /** The visual variant of the text input, which determines its color scheme. @default default */
11
+ variant?: TextInputVariant;
12
+ /** An optional icon element rendered to the left of the input field. */
13
+ iconLeft?: ReactNode;
14
+ /** Optional click handler for the left icon. When provided, the icon is rendered as a `<button>` instead of a `<span>`. */
15
+ iconLeftAction?: {
16
+ /** The click event handler */
17
+ handler(e: MouseEvent<HTMLButtonElement>): void;
18
+ /** An accessible aria-label for the icon */
19
+ ariaLabel: string;
20
+ };
21
+ /** An optional icon element rendered to the right of the input field. */
22
+ iconRight?: ReactNode;
23
+ /** Optional click handler for the right icon. When provided, the icon is rendered as a `<button>` instead of a `<span>`. */
24
+ iconRightAction?: {
25
+ /** The click event handler */
26
+ handler(e: MouseEvent<HTMLButtonElement>): void;
27
+ /** An accessible aria-label for the icon */
28
+ ariaLabel: string;
29
+ };
30
+ /** The HTML input type. Determines the browser's native input behavior and keyboard. @default text */
31
+ type?: "text" | "email" | "password" | "url" | "tel" | "search" | "number" | "date" | "datetime-local" | "week" | "month" | "time";
32
+ }
33
+ /**
34
+ * A text input component supporting different visual variants, as well as leading and trailing icons.
35
+ *
36
+ * @param {TextInputSize} [props.size] - (optional) The size of the text input. @default md
37
+ * @param {TextInputVariant} [props.variant] - (optional) The visual variant determining color scheme. @default default
38
+ * @param {ReactNode} [props.iconLeft] - (optional) An element rendered to the left of the input field
39
+ * @param {ReactNode} [props.iconRight] - (optional) An element rendered to the right of the input field
40
+ * @param {string} [props.type] - (optional) The HTML input type. @default text
41
+ * @param {string} [props.placeholder] - (optional) Placeholder text for the input
42
+ *
43
+ * You may also pass any additional props to the underlying `div` wrapper or `input` element
44
+ *
45
+ * @example
46
+ * <TextInput aria-label="Email" name="email" type="email" required />
47
+ *
48
+ * @example
49
+ * <TextInput
50
+ * variant="error"
51
+ * aria-label="Username"
52
+ * value={username}
53
+ * onChange={(e) => setUsername(e.target.value)}
54
+ * />
55
+ */
56
+ export declare function TextInput(props: TextInputProps): import("react/jsx-runtime").JSX.Element;
57
+ //# sourceMappingURL=text-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-input.d.ts","sourceRoot":"","sources":["../../../src/components/text-input/text-input.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQxD,OAAO,EACL,cAAc,EAEf,MAAM,6BAA6B,CAAC;AAErC,eAAO,MAAM,gBAAgB,6BAA8B,CAAC;AAE5D,eAAO,MAAM,mBAAmB,qDAKtB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;IACpE,8EAA8E;IAC9E,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,gGAAgG;IAChG,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,2HAA2H;IAC3H,cAAc,CAAC,EAAE;QACf,8BAA8B;QAC9B,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;QAChD,4CAA4C;QAC5C,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,yEAAyE;IACzE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,4HAA4H;IAC5H,eAAe,CAAC,EAAE;QAChB,8BAA8B;QAC9B,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;QAChD,4CAA4C;QAC5C,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,sGAAsG;IACtG,IAAI,CAAC,EACD,MAAM,GACN,OAAO,GACP,UAAU,GACV,KAAK,GACL,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,gBAAgB,GAChB,MAAM,GACN,OAAO,GACP,MAAM,CAAC;CACZ;AAOD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CA6D9C"}
@@ -0,0 +1,54 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Typography, } from "../typography/typography.js";
4
+ import { cn } from "../../utils/cn.js";
5
+ import { splitFormInputProps, } from "../../utils/splitFormInputProps.js";
6
+ export const TEXT_INPUT_SIZES = ["sm", "md", "lg"];
7
+ export const TEXT_INPUT_VARIANTS = [
8
+ "default",
9
+ "warning",
10
+ "success",
11
+ "error",
12
+ ];
13
+ const TEXT_INPUT_TYPOGRAPHY = {
14
+ sm: "copy-xs",
15
+ md: "copy-sm",
16
+ lg: "copy-md",
17
+ };
18
+ /**
19
+ * A text input component supporting different visual variants, as well as leading and trailing icons.
20
+ *
21
+ * @param {TextInputSize} [props.size] - (optional) The size of the text input. @default md
22
+ * @param {TextInputVariant} [props.variant] - (optional) The visual variant determining color scheme. @default default
23
+ * @param {ReactNode} [props.iconLeft] - (optional) An element rendered to the left of the input field
24
+ * @param {ReactNode} [props.iconRight] - (optional) An element rendered to the right of the input field
25
+ * @param {string} [props.type] - (optional) The HTML input type. @default text
26
+ * @param {string} [props.placeholder] - (optional) Placeholder text for the input
27
+ *
28
+ * You may also pass any additional props to the underlying `div` wrapper or `input` element
29
+ *
30
+ * @example
31
+ * <TextInput aria-label="Email" name="email" type="email" required />
32
+ *
33
+ * @example
34
+ * <TextInput
35
+ * variant="error"
36
+ * aria-label="Username"
37
+ * value={username}
38
+ * onChange={(e) => setUsername(e.target.value)}
39
+ * />
40
+ */
41
+ export function TextInput(props) {
42
+ const { iconLeft, iconLeftAction, iconRight, iconRightAction, variant = "default", size = "md", type = "text", className, placeholder = " ", ...rest } = props;
43
+ const { ariaProps, controlProps, formProps, wrapperProps } = splitFormInputProps(rest);
44
+ return (_jsxs("div", { ...wrapperProps, className: cn("vesper-text-input", `vesper-text-input-${size}`, `vesper-text-input-${variant}`, className), children: [iconLeft && (_jsx(TextInputIcon, { ariaLabel: iconLeftAction?.ariaLabel, onClick: iconLeftAction?.handler, disabled: formProps.disabled, children: iconLeft })), _jsx(Typography, { ...ariaProps, ...controlProps, ...formProps, as: "input", variant: TEXT_INPUT_TYPOGRAPHY[size], className: "vesper-text-input-field", type: type, placeholder: formProps.required && placeholder.trim()
45
+ ? `${placeholder.trim()} *`
46
+ : placeholder }), iconRight && (_jsx(TextInputIcon, { ariaLabel: iconRightAction?.ariaLabel, onClick: iconRightAction?.handler, disabled: formProps.disabled, children: iconRight }))] }));
47
+ }
48
+ function TextInputIcon({ ariaLabel, onClick, children, disabled, }) {
49
+ if (onClick) {
50
+ return (_jsx("button", { "aria-label": ariaLabel, onClick: onClick, disabled: disabled, type: "button", className: "vesper-text-input-icon", children: children }));
51
+ }
52
+ return _jsx("span", { className: "vesper-text-input-icon", children: children });
53
+ }
54
+ //# sourceMappingURL=text-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-input.js","sourceRoot":"","sources":["../../../src/components/text-input/text-input.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EACL,UAAU,GAEX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAEL,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAE5D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;CACC,CAAC;AA4CX,MAAM,qBAAqB,GAAgD;IACzE,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;CACd,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EACJ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,eAAe,EACf,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,MAAM,EACb,SAAS,EACT,WAAW,GAAG,GAAG,EACjB,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,GACxD,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAE5B,OAAO,CACL,kBACM,YAAY,EAChB,SAAS,EAAE,EAAE,CACX,mBAAmB,EACnB,qBAAqB,IAAI,EAAE,EAC3B,qBAAqB,OAAO,EAAE,EAC9B,SAAS,CACV,aAEA,QAAQ,IAAI,CACX,KAAC,aAAa,IACZ,SAAS,EAAE,cAAc,EAAE,SAAS,EACpC,OAAO,EAAE,cAAc,EAAE,OAAO,EAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ,YAE3B,QAAQ,GACK,CACjB,EACD,KAAC,UAAU,OACL,SAAS,KACT,YAAY,KACZ,SAAS,EACb,EAAE,EAAC,OAAO,EACV,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,EACpC,SAAS,EAAC,yBAAyB,EACnC,IAAI,EAAE,IAAI,EACV,WAAW,EACT,SAAS,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE;oBACtC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI;oBAC3B,CAAC,CAAC,WAAW,GAEjB,EACD,SAAS,IAAI,CACZ,KAAC,aAAa,IACZ,SAAS,EAAE,eAAe,EAAE,SAAS,EACrC,OAAO,EAAE,eAAe,EAAE,OAAO,EACjC,QAAQ,EAAE,SAAS,CAAC,QAAQ,YAE3B,SAAS,GACI,CACjB,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAQ,GAMT;IACC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,+BACc,SAAS,EACrB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,wBAAwB,YAEjC,QAAQ,GACF,CACV,CAAC;IACJ,CAAC;IAED,OAAO,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,GAAQ,CAAC;AACpE,CAAC"}
@@ -0,0 +1 @@
1
+ .vesper-theme-switcher{background:var(--vesper-background-primary);outline:var(--vesper-stroke-base) solid var(--vesper-border-primary);width:fit-content;display:inline-flex;position:relative}.vesper-theme-switcher-lg{border-radius:var(--vesper-radius-2);height:2rem}.vesper-theme-switcher-lg .vesper-theme-switcher-button{border-radius:var(--vesper-radius-2);padding:.375rem}.vesper-theme-switcher-lg .vesper-theme-switcher-indicator{border-radius:var(--vesper-radius-2)}.vesper-theme-switcher-sm{border-radius:var(--vesper-radius-1);height:1.5rem}.vesper-theme-switcher-sm .vesper-theme-switcher-button{border-radius:var(--vesper-radius-1);padding:.3125rem}.vesper-theme-switcher-sm .vesper-theme-switcher-indicator{border-radius:var(--vesper-radius-1)}.vesper-theme-switcher-button{cursor:pointer;color:var(--vesper-icon-secondary);transition:color var(--vesper-transition-duration-fast) ease;aspect-ratio:1;height:100%}@media (forced-colors:active){.vesper-theme-switcher-button:focus-visible{outline:var(--vesper-stroke-strong) solid CanvasText}}@media not (forced-colors:active){.vesper-theme-switcher-button:focus-visible{box-shadow:var(--vesper-shadow-focus-ring)}}.vesper-theme-switcher-indicator{top:calc(var(--vesper-spacing-micro) * -1);left:calc(var(--vesper-spacing-micro) * -1);height:calc(100% + var(--vesper-spacing-half));aspect-ratio:1;border:var(--vesper-stroke-base) solid var(--vesper-border-primary);transition:transform var(--vesper-transition-duration-fast) ease;pointer-events:none;position:absolute}html[data-vesper-theme=system] .vesper-theme-switcher-indicator{transform:translate(0)}html[data-vesper-theme=system] .vesper-theme-switcher-button-system{color:var(--vesper-icon-primary)}html[data-vesper-theme=light] .vesper-theme-switcher-indicator{transform:translateX(calc(100% - var(--vesper-spacing-half)))}html[data-vesper-theme=light] .vesper-theme-switcher-button-light{color:var(--vesper-icon-primary)}html[data-vesper-theme=dark] .vesper-theme-switcher-indicator{transform:translateX(calc(200% - var(--vesper-spacing-1)))}html[data-vesper-theme=dark] .vesper-theme-switcher-button-dark{color:var(--vesper-icon-primary)}
@@ -0,0 +1,23 @@
1
+ import { type ComponentProps } from "react";
2
+ export declare const THEME_SWITCHER_SIZES: readonly ["sm", "lg"];
3
+ export type ThemeSwitcherSize = (typeof THEME_SWITCHER_SIZES)[number];
4
+ export type VesperTheme = "light" | "dark" | "system";
5
+ export interface ThemeSwitcherProps extends Omit<ComponentProps<"div">, "children"> {
6
+ /** The size of the theme switcher. @default lg */
7
+ size?: ThemeSwitcherSize;
8
+ }
9
+ /**
10
+ * A three-way toggle for switching between system, light, and dark color themes by setting the `data-vesper-theme` attribute on the document root.
11
+ *
12
+ * @param {ThemeSwitcherSize} [props.size] - (optional) The size of the theme switcher. @default lg
13
+ *
14
+ * You may also pass any additional props to the underlying `div` element
15
+ *
16
+ * @example
17
+ * <ThemeSwitcher />
18
+ *
19
+ * @example
20
+ * <ThemeSwitcher size="sm" />
21
+ */
22
+ export declare function ThemeSwitcher(props: ThemeSwitcherProps): import("react/jsx-runtime").JSX.Element;
23
+ //# sourceMappingURL=theme-switcher.d.ts.map