@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,83 @@
1
+ import { ComponentProps, type ComponentPropsWithoutRef, type Ref } from "react";
2
+ import { type ButtonProps } from "../button/button.js";
3
+ export declare const MODAL_BUTTONS_ALIGNMENTS: readonly ["start", "end", "fill", "between"];
4
+ export type ModalButtonsAlignment = (typeof MODAL_BUTTONS_ALIGNMENTS)[number];
5
+ interface ModalRef {
6
+ open(): void;
7
+ close(): void;
8
+ }
9
+ export interface ModalProps extends Omit<ComponentPropsWithoutRef<"dialog">, "open"> {
10
+ /** The title text displayed in the modal header. Also used for the modal's `aria-labelledby` association. */
11
+ title: string;
12
+ /** A description displayed below the title in the modal header. Also used for the modal's `aria-describedby` association. */
13
+ description: string;
14
+ /** The width of the modal container. Accepts a number (interpreted as pixels) or a CSS string value. @default 452 */
15
+ width?: number | string;
16
+ /**
17
+ * The maximum height of the modal container. Accepts a number (interpreted as pixels) or a CSS string value.
18
+ *
19
+ * The effective max height is the minimum of this value and `calc(100vh - var(--vesper-spacing-16))`, ensuring the modal never exceeds the viewport height minus spacing. @default 640.
20
+ */
21
+ maxHeight?: number | string;
22
+ /** An optional array of button props to render as action buttons at the bottom of the modal. The last button defaults to `"primary"` variant; all others default to `"tertiary"`. */
23
+ buttons?: Omit<ButtonProps, "size" | "as">[];
24
+ /** Controls the horizontal alignment of the action buttons. @default end */
25
+ buttonsAlignment?: ModalButtonsAlignment;
26
+ /** A ref that exposes imperative `open()` and `close()` methods for controlling the modal. Obtained via the `useModal` hook. */
27
+ ref?: Ref<ModalRef>;
28
+ /** When `true`, clicking the backdrop outside the modal will close it. Defaults to `false`. */
29
+ closeOnClickOutside?: boolean;
30
+ /** When provided, wraps the modal content in a `<form>` element with the given form attributes, enabling native form submission from within the modal. @default false */
31
+ form?: Pick<ComponentProps<"form">, "id" | "name" | "action" | "method" | "encType" | "acceptCharset" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "spellCheck" | "noValidate" | "onReset" | "onSubmit" | "target" | "rel">;
32
+ }
33
+ /**
34
+ * A dialog overlay component for focused user interactions, supporting forms, custom widths, and action buttons.
35
+ *
36
+ * Unlike `Sheet`, which can be configured to allow the user to continue to interact with the rest of the page, `Modal` is meant to always block user interaction with underlying content.
37
+ *
38
+ * @see packages/vesper/src/components/sheet/sheet.tsx
39
+ *
40
+ * @param {string} props.title - The title text displayed in the modal header
41
+ * @param {string} props.description - A description displayed below the title
42
+ * @param {number | string} [props.width] - (optional) The width of the modal container. @default 452
43
+ * @param {number | string} [props.maxHeight] - (optional) The maximum height of the modal container. @default 640
44
+ * @param {ButtonProps[]} [props.buttons] - (optional) Action buttons rendered at the bottom of the modal
45
+ * @param {ModalButtonsAlignment} [props.buttonsAlignment] - (optional) Horizontal alignment of action buttons. @default end
46
+ * @param {Ref<ModalRef>} [props.ref] - (optional) A ref exposing imperative `open()` and `close()` methods
47
+ * @param {boolean} [props.closeOnClickOutside] - (optional) Whether clicking the backdrop closes the modal. @default false
48
+ * @param {object} [props.form] - (optional) Form attributes to wrap the modal content in a `<form>` element
49
+ *
50
+ * You may also pass any additional props to the underlying `dialog` element
51
+ *
52
+ * @example
53
+ * const { ref, open, close } = useModal();
54
+ *
55
+ * <Modal ref={ref} title="Confirm" description="Are you sure?">
56
+ * <p>This action cannot be undone.</p>
57
+ * </Modal>
58
+ * <Button onClick={open}>Open Modal</Button>
59
+ *
60
+ * @example
61
+ * <Modal
62
+ * title="Create Item"
63
+ * description="Fill out the form below."
64
+ * form={{ onSubmit: handleSubmit }}
65
+ * buttons={[{ children: "Cancel", onClick: close }, { children: "Create" }]}
66
+ * />
67
+ */
68
+ export declare function Modal(props: ModalProps): import("react/jsx-runtime").JSX.Element;
69
+ /**
70
+ * A convenience hook that returns a ref and imperative `open()` and `close()` functions for controlling a `Modal` component.
71
+ *
72
+ * @example
73
+ * const { ref, open, close } = useModal();
74
+ * <Modal ref={ref} title="Example" description="An example modal." />
75
+ * <Button onClick={open}>Open modal</Button>
76
+ */
77
+ export declare function useModal(): {
78
+ open: () => void;
79
+ close: () => void;
80
+ ref: import("react").RefObject<ModalRef>;
81
+ };
82
+ export {};
83
+ //# sourceMappingURL=modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/modal.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,KAAK,wBAAwB,EAC7B,KAAK,GAAG,EAMT,MAAM,OAAO,CAAC;AAEf,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAOtE,eAAO,MAAM,wBAAwB,8CAK3B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,UAAU,QAAQ;IAChB,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CACtC,wBAAwB,CAAC,QAAQ,CAAC,EAClC,MAAM,CACP;IACC,6GAA6G;IAC7G,KAAK,EAAE,MAAM,CAAC;IACd,6HAA6H;IAC7H,WAAW,EAAE,MAAM,CAAC;IACpB,qHAAqH;IACrH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,qLAAqL;IACrL,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC7C,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,gIAAgI;IAChI,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpB,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yKAAyK;IACzK,IAAI,CAAC,EAAE,IAAI,CACT,cAAc,CAAC,MAAM,CAAC,EACpB,IAAI,GACJ,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,UAAU,GACV,QAAQ,GACR,KAAK,CACR,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,2CA0ItC;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ;;;;EAYvB"}
@@ -0,0 +1,118 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useCallback, useEffect, useId, useImperativeHandle, useRef, } from "react";
4
+ import { Button } from "../button/button.js";
5
+ import { IconButton } from "../icon-button/icon-button.js";
6
+ import { Close } from "../icons/icons.js";
7
+ import { Typography } from "../typography/typography.js";
8
+ import { cn } from "../../utils/cn.js";
9
+ export const MODAL_BUTTONS_ALIGNMENTS = [
10
+ "start",
11
+ "end",
12
+ "fill",
13
+ "between",
14
+ ];
15
+ /**
16
+ * A dialog overlay component for focused user interactions, supporting forms, custom widths, and action buttons.
17
+ *
18
+ * Unlike `Sheet`, which can be configured to allow the user to continue to interact with the rest of the page, `Modal` is meant to always block user interaction with underlying content.
19
+ *
20
+ * @see packages/vesper/src/components/sheet/sheet.tsx
21
+ *
22
+ * @param {string} props.title - The title text displayed in the modal header
23
+ * @param {string} props.description - A description displayed below the title
24
+ * @param {number | string} [props.width] - (optional) The width of the modal container. @default 452
25
+ * @param {number | string} [props.maxHeight] - (optional) The maximum height of the modal container. @default 640
26
+ * @param {ButtonProps[]} [props.buttons] - (optional) Action buttons rendered at the bottom of the modal
27
+ * @param {ModalButtonsAlignment} [props.buttonsAlignment] - (optional) Horizontal alignment of action buttons. @default end
28
+ * @param {Ref<ModalRef>} [props.ref] - (optional) A ref exposing imperative `open()` and `close()` methods
29
+ * @param {boolean} [props.closeOnClickOutside] - (optional) Whether clicking the backdrop closes the modal. @default false
30
+ * @param {object} [props.form] - (optional) Form attributes to wrap the modal content in a `<form>` element
31
+ *
32
+ * You may also pass any additional props to the underlying `dialog` element
33
+ *
34
+ * @example
35
+ * const { ref, open, close } = useModal();
36
+ *
37
+ * <Modal ref={ref} title="Confirm" description="Are you sure?">
38
+ * <p>This action cannot be undone.</p>
39
+ * </Modal>
40
+ * <Button onClick={open}>Open Modal</Button>
41
+ *
42
+ * @example
43
+ * <Modal
44
+ * title="Create Item"
45
+ * description="Fill out the form below."
46
+ * form={{ onSubmit: handleSubmit }}
47
+ * buttons={[{ children: "Cancel", onClick: close }, { children: "Create" }]}
48
+ * />
49
+ */
50
+ export function Modal(props) {
51
+ const { className, ref, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, title, description, width = 452, maxHeight = 640, buttons, buttonsAlignment = "end", children, form, closeOnClickOutside = false, ...rest } = props;
52
+ const titleId = useId();
53
+ const descriptionId = useId();
54
+ const innerRef = useRef(null);
55
+ const open = useCallback(() => {
56
+ if (!innerRef.current)
57
+ return;
58
+ if (!innerRef.current.open)
59
+ innerRef.current.showModal();
60
+ }, []);
61
+ const close = useCallback(() => {
62
+ if (!innerRef.current)
63
+ return;
64
+ innerRef.current.close();
65
+ }, []);
66
+ useImperativeHandle(ref, () => ({ open, close }), [open, close]);
67
+ useEffect(() => {
68
+ if (!closeOnClickOutside)
69
+ return;
70
+ const handleClick = (e) => {
71
+ if (e.target === innerRef.current)
72
+ close();
73
+ };
74
+ window.addEventListener("click", handleClick);
75
+ return () => window.removeEventListener("click", handleClick);
76
+ }, [closeOnClickOutside, close]);
77
+ // If an additional aria-labelledby is supplied, this ensures that both ids get used
78
+ const labelledBy = [ariaLabelledby, titleId].filter(Boolean).join(" ");
79
+ // If an additional aria-describedby is supplied, this ensures that both ids get used
80
+ const describedBy = [ariaDescribedby, descriptionId]
81
+ .filter(Boolean)
82
+ .join(" ");
83
+ const modalContents = (_jsxs(_Fragment, { children: [_jsxs("div", { className: "vesper-modal-header", children: [_jsxs("div", { children: [_jsx(Typography, { id: titleId, as: "h2", variant: "heading-md", className: "vesper-modal-title", children: title }), _jsx(Typography, { id: descriptionId, variant: "copy-md", className: "vesper-modal-description", children: description })] }), _jsx(IconButton, { "aria-label": "Close modal", size: "sm", variant: "subtle", type: "button", onClick: close, icon: _jsx(Close, {}) })] }), children && (_jsx(Typography, { as: "div", variant: "copy-md", className: "vesper-modal-content", children: children })), !!buttons?.length && (_jsx("div", { className: cn("vesper-modal-buttons", `vesper-modal-buttons-${buttonsAlignment}`), children: buttons.map((button, index) => {
84
+ const variant = button.variant ||
85
+ (index === buttons.length - 1 ? "primary" : "tertiary");
86
+ return (_jsx(Button, { ...button, size: "lg", variant: variant }, index));
87
+ }) }))] }));
88
+ const computedMaxHeight = typeof maxHeight === "number"
89
+ ? `calc(${maxHeight} * (1rem / 16))`
90
+ : maxHeight;
91
+ const containerProps = {
92
+ className: "vesper-modal-container",
93
+ style: {
94
+ width: typeof width === "number" ? `calc(${width} * (1rem / 16))` : width,
95
+ maxHeight: `min(calc(100vh - var(--vesper-spacing-16)), ${computedMaxHeight})`,
96
+ },
97
+ };
98
+ return (_jsx("dialog", { ref: innerRef, className: cn("vesper-modal", className), "aria-labelledby": labelledBy, "aria-describedby": describedBy, ...rest, children: form ? (_jsx("form", { ...containerProps, ...form, children: modalContents })) : (_jsx("div", { ...containerProps, children: modalContents })) }));
99
+ }
100
+ /**
101
+ * A convenience hook that returns a ref and imperative `open()` and `close()` functions for controlling a `Modal` component.
102
+ *
103
+ * @example
104
+ * const { ref, open, close } = useModal();
105
+ * <Modal ref={ref} title="Example" description="An example modal." />
106
+ * <Button onClick={open}>Open modal</Button>
107
+ */
108
+ export function useModal() {
109
+ const ref = useRef({ open() { }, close() { } });
110
+ const open = useCallback(() => {
111
+ ref.current.open();
112
+ }, [ref]);
113
+ const close = useCallback(() => {
114
+ ref.current.close();
115
+ }, [ref]);
116
+ return { open, close, ref };
117
+ }
118
+ //# sourceMappingURL=modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/components/modal/modal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAIL,WAAW,EACX,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,MAAM,GACP,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,MAAM,EAAoB,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,OAAO;IACP,KAAK;IACL,MAAM;IACN,SAAS;CACD,CAAC;AAsDX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,MAAM,EACJ,SAAS,EACT,GAAG,EACH,iBAAiB,EAAE,cAAc,EACjC,kBAAkB,EAAE,eAAe,EACnC,KAAK,EACL,WAAW,EACX,KAAK,GAAG,GAAG,EACX,SAAS,GAAG,GAAG,EACf,OAAO,EACP,gBAAgB,GAAG,KAAK,EACxB,QAAQ,EACR,IAAI,EACJ,mBAAmB,GAAG,KAAK,EAC3B,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,aAAa,GAAG,KAAK,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;YAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,mBAAmB;YAAE,OAAO;QAEjC,MAAM,WAAW,GAAG,CAAC,CAAe,EAAE,EAAE;YACtC,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,OAAO;gBAAE,KAAK,EAAE,CAAC;QAC7C,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;IAEjC,oFAAoF;IACpF,MAAM,UAAU,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEvE,qFAAqF;IACrF,MAAM,WAAW,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;SACjD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,aAAa,GAAG,CACpB,8BACE,eAAK,SAAS,EAAC,qBAAqB,aAClC,0BACE,KAAC,UAAU,IACT,EAAE,EAAE,OAAO,EACX,EAAE,EAAC,IAAI,EACP,OAAO,EAAC,YAAY,EACpB,SAAS,EAAC,oBAAoB,YAE7B,KAAK,GACK,EACb,KAAC,UAAU,IACT,EAAE,EAAE,aAAa,EACjB,OAAO,EAAC,SAAS,EACjB,SAAS,EAAC,0BAA0B,YAEnC,WAAW,GACD,IACT,EACN,KAAC,UAAU,kBACE,aAAa,EACxB,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,QAAQ,EAChB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,KAAK,EACd,IAAI,EAAE,KAAC,KAAK,KAAG,GACf,IACE,EACL,QAAQ,IAAI,CACX,KAAC,UAAU,IAAC,EAAE,EAAC,KAAK,EAAC,OAAO,EAAC,SAAS,EAAC,SAAS,EAAC,sBAAsB,YACpE,QAAQ,GACE,CACd,EACA,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,CACpB,cACE,SAAS,EAAE,EAAE,CACX,sBAAsB,EACtB,wBAAwB,gBAAgB,EAAE,CAC3C,YAEA,OAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBAC9B,MAAM,OAAO,GACX,MAAM,CAAC,OAAO;wBACd,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBAE1D,OAAO,CACL,KAAC,MAAM,OAAiB,MAAM,EAAE,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,OAAO,IAA7C,KAAK,CAA4C,CAC/D,CAAC;gBACJ,CAAC,CAAC,GACE,CACP,IACA,CACJ,CAAC;IAEF,MAAM,iBAAiB,GACrB,OAAO,SAAS,KAAK,QAAQ;QAC3B,CAAC,CAAC,QAAQ,SAAS,iBAAiB;QACpC,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,cAAc,GAAG;QACrB,SAAS,EAAE,wBAAwB;QACnC,KAAK,EAAE;YACL,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,iBAAiB,CAAC,CAAC,CAAC,KAAK;YACzE,SAAS,EAAE,+CAA+C,iBAAiB,GAAG;SAC/E;KACF,CAAC;IAEF,OAAO,CACL,iBACE,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,qBACvB,UAAU,sBACT,WAAW,KACzB,IAAI,YAEP,IAAI,CAAC,CAAC,CAAC,CACN,kBAAU,cAAc,KAAM,IAAI,YAC/B,aAAa,GACT,CACR,CAAC,CAAC,CAAC,CACF,iBAAS,cAAc,YAAG,aAAa,GAAO,CAC/C,GACM,CACV,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,GAAG,GAAG,MAAM,CAAW,EAAE,IAAI,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAE,CAAC,CAAC;IAExD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC9B,CAAC"}
@@ -0,0 +1 @@
1
+ .vesper-progress-bar{background:var(--vesper-tint-neutral-200);justify-content:space-evenly;align-items:stretch;width:100%;display:flex;position:relative;overflow:hidden}.vesper-progress-bar:before{content:"";border:var(--vesper-stroke-base) solid var(--vesper-border-primary);position:absolute;top:0;bottom:0;left:0;right:0}.vesper-progress-bar-sm{border-radius:var(--vesper-spacing-2);height:.5rem}.vesper-progress-bar-sm:before{border-radius:var(--vesper-spacing-2)}.vesper-progress-bar-md{border-radius:var(--vesper-spacing-3);height:.75rem}.vesper-progress-bar-md:before{border-radius:var(--vesper-spacing-3)}.vesper-progress-bar-lg{border-radius:var(--vesper-spacing-4);height:1rem}.vesper-progress-bar-lg:before{border-radius:var(--vesper-spacing-4)}.vesper-progress-bar-indicator{background:var(--vesper-background-accent-base);position:absolute;top:0;bottom:0;left:0}@media (forced-colors:active){.vesper-progress-bar-indicator{background:canvastext}}.vesper-progress-bar-animated .vesper-progress-bar-indicator{transition:width var(--vesper-transition-duration-default) cubic-bezier(.45, .15, .25, .95)}.vesper-progress-bar-animated .vesper-progress-bar-tick{transition:background var(--vesper-transition-duration-default) cubic-bezier(.45, .15, .25, .95)}.vesper-progress-bar-tick{border-left:var(--vesper-stroke-base) solid;position:relative}.vesper-progress-bar-tick-light{border-color:var(--vesper-background-primary)}@media (forced-colors:active){.vesper-progress-bar-tick-light{border-color:canvas}}.vesper-progress-bar-tick-dark{border-color:var(--vesper-border-primary)}@media (forced-colors:active){.vesper-progress-bar-tick-dark{border-color:canvastext}}
@@ -0,0 +1,38 @@
1
+ import type { ComponentProps } from "react";
2
+ export declare const PROGRESS_BAR_SIZES: readonly ["sm", "md", "lg"];
3
+ export declare const PROGRESS_BAR_VARIANTS: readonly ["default", "steps"];
4
+ export type ProgressBarSize = (typeof PROGRESS_BAR_SIZES)[number];
5
+ export type ProgressBarVariant = (typeof PROGRESS_BAR_VARIANTS)[number];
6
+ export interface ProgressBarProps extends ComponentProps<"div"> {
7
+ /** Value from `0` to `100`. */
8
+ value: number;
9
+ /** The rendered size of the progress bar. @default md */
10
+ size?: ProgressBarSize;
11
+ /** The `default` variant will render the progress bar indicator width as a true percentage representation of `value / 100`. The `steps` variant will clamp the width of the progress bar indicator to the nearest rounded tick value. @default default */
12
+ variant?: ProgressBarVariant;
13
+ /** The number of segments to split up the progress bar into when variant is `steps`. Must be an integer greater than `0`. @default 10 */
14
+ steps?: number;
15
+ /** Determines how to clamp the width of the progress bar to the nearest tick value. @default Math.round */
16
+ stepRoundingStrategy?: (n: number) => number;
17
+ /** Whether to animate progress bar value changes. @default false */
18
+ animated?: boolean;
19
+ }
20
+ /**
21
+ * A progress bar component that visualizes completion percentage, with support for stepped segments and animations.
22
+ *
23
+ * @param {number} props.value - The progress value from `0` to `100`
24
+ * @param {ProgressBarSize} [props.size] - (optional) The rendered size of the progress bar. @default md
25
+ * @param {ProgressBarVariant} [props.variant] - (optional) The display variant; `"steps"` clamps to tick intervals. @default default
26
+ * @param {number} [props.steps] - (optional) Number of segments when variant is `"steps"`. @default 10
27
+ * @param {boolean} [props.animated] - (optional) Whether to animate progress changes. @default false
28
+ *
29
+ * You may also pass any additional props to the underlying `div` element
30
+ *
31
+ * @example
32
+ * <ProgressBar value={75} />
33
+ *
34
+ * @example
35
+ * <ProgressBar value={60} variant="steps" steps={5} animated />
36
+ */
37
+ export declare function ProgressBar(props: ProgressBarProps): import("react/jsx-runtime").JSX.Element;
38
+ //# sourceMappingURL=progress-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar.d.ts","sourceRoot":"","sources":["../../../src/components/progress-bar/progress-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAI5C,eAAO,MAAM,kBAAkB,6BAA8B,CAAC;AAE9D,eAAO,MAAM,qBAAqB,+BAAgC,CAAC;AAEnE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,KAAK,CAAC;IAC7D,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,0PAA0P;IAC1P,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,yIAAyI;IACzI,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2GAA2G;IAC3G,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA2ClD"}
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { cn } from "../../utils/cn.js";
3
+ export const PROGRESS_BAR_SIZES = ["sm", "md", "lg"];
4
+ export const PROGRESS_BAR_VARIANTS = ["default", "steps"];
5
+ /**
6
+ * A progress bar component that visualizes completion percentage, with support for stepped segments and animations.
7
+ *
8
+ * @param {number} props.value - The progress value from `0` to `100`
9
+ * @param {ProgressBarSize} [props.size] - (optional) The rendered size of the progress bar. @default md
10
+ * @param {ProgressBarVariant} [props.variant] - (optional) The display variant; `"steps"` clamps to tick intervals. @default default
11
+ * @param {number} [props.steps] - (optional) Number of segments when variant is `"steps"`. @default 10
12
+ * @param {boolean} [props.animated] - (optional) Whether to animate progress changes. @default false
13
+ *
14
+ * You may also pass any additional props to the underlying `div` element
15
+ *
16
+ * @example
17
+ * <ProgressBar value={75} />
18
+ *
19
+ * @example
20
+ * <ProgressBar value={60} variant="steps" steps={5} animated />
21
+ */
22
+ export function ProgressBar(props) {
23
+ const { value, variant = "default", steps = 10, className, size = "md", stepRoundingStrategy, animated = false, "aria-label": ariaLabel = "Progress", ...rest } = props;
24
+ const progress = Math.min(Math.max(value, 0), 100);
25
+ return (_jsxs("div", { "aria-label": ariaLabel, className: cn("vesper-progress-bar", `vesper-progress-bar-${size}`, animated && "vesper-progress-bar-animated", className), ...rest, "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": progress, role: "progressbar", "aria-valuetext": `${progress}%`, children: [variant === "default" && (_jsx(ProgressBarIndicatorDefault, { value: progress })), variant === "steps" && (_jsx(ProgressBarIndicatorSteps, { value: progress, steps: steps, stepRoundingStrategy: stepRoundingStrategy }))] }));
26
+ }
27
+ function ProgressBarIndicatorDefault({ value }) {
28
+ return (_jsx("div", { className: "vesper-progress-bar-indicator", style: { width: `${value}%` } }));
29
+ }
30
+ function ProgressBarIndicatorSteps({ value, steps, stepRoundingStrategy = Math.round, }) {
31
+ const totalSteps = Math.max(Math.floor(steps), 1);
32
+ const stepWidth = 100 / totalSteps;
33
+ const numSteps = stepRoundingStrategy(value / stepWidth);
34
+ const width = `${numSteps * stepWidth}%`;
35
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: "vesper-progress-bar-indicator", style: { width } }), Array.from({ length: totalSteps - 1 }).map((_, index) => (_jsx("span", { className: cn("vesper-progress-bar-tick", numSteps !== totalSteps && index >= numSteps - 1
36
+ ? "vesper-progress-bar-tick-dark"
37
+ : "vesper-progress-bar-tick-light") }, index)))] }));
38
+ }
39
+ //# sourceMappingURL=progress-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../../src/components/progress-bar/progress-bar.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,OAAO,CAAU,CAAC;AAqBnE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EACJ,KAAK,EACL,OAAO,GAAG,SAAS,EACnB,KAAK,GAAG,EAAE,EACV,SAAS,EACT,IAAI,GAAG,IAAI,EACX,oBAAoB,EACpB,QAAQ,GAAG,KAAK,EAChB,YAAY,EAAE,SAAS,GAAG,UAAU,EACpC,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEnD,OAAO,CACL,6BACc,SAAS,EACrB,SAAS,EAAE,EAAE,CACX,qBAAqB,EACrB,uBAAuB,IAAI,EAAE,EAC7B,QAAQ,IAAI,8BAA8B,EAC1C,SAAS,CACV,KACG,IAAI,mBACO,CAAC,mBACD,GAAG,mBACH,QAAQ,EACvB,IAAI,EAAC,aAAa,oBACF,GAAG,QAAQ,GAAG,aAE7B,OAAO,KAAK,SAAS,IAAI,CACxB,KAAC,2BAA2B,IAAC,KAAK,EAAE,QAAQ,GAAI,CACjD,EACA,OAAO,KAAK,OAAO,IAAI,CACtB,KAAC,yBAAyB,IACxB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,KAAK,EACZ,oBAAoB,EAAE,oBAAoB,GAC1C,CACH,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,EAAE,KAAK,EAAqB;IAC/D,OAAO,CACL,cACE,SAAS,EAAC,+BAA+B,EACzC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,EAAE,GAC7B,CACH,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,EACjC,KAAK,EACL,KAAK,EACL,oBAAoB,GAAG,IAAI,CAAC,KAAK,GAKlC;IACC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,GAAG,GAAG,UAAU,CAAC;IACnC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,GAAG,QAAQ,GAAG,SAAS,GAAG,CAAC;IAEzC,OAAO,CACL,8BACE,cAAK,SAAS,EAAC,+BAA+B,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAI,EAClE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACxD,eAEE,SAAS,EAAE,EAAE,CACX,0BAA0B,EAC1B,QAAQ,KAAK,UAAU,IAAI,KAAK,IAAI,QAAQ,GAAG,CAAC;oBAC9C,CAAC,CAAC,+BAA+B;oBACjC,CAAC,CAAC,gCAAgC,CACrC,IANI,KAAK,CAOV,CACH,CAAC,IACD,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ .vesper-radio-group{align-items:flex-start;gap:var(--vesper-spacing-3);display:flex}.vesper-radio-group-horizontal{flex-direction:row}.vesper-radio-group-vertical{flex-direction:column}.vesper-radio-group-item{align-items:center;gap:var(--vesper-spacing-1);cursor:pointer;display:flex}.vesper-radio-group-item-indicator{border:var(--vesper-stroke-base) solid var(--vesper-border-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.vesper-radio-group-item-indicator:after{content:"";border-radius:50%;width:50%;height:50%}.vesper-radio-group-item-sm .vesper-radio-group-item-indicator{width:.75rem;height:.75rem}.vesper-radio-group-item-md .vesper-radio-group-item-indicator{width:1rem;height:1rem}.vesper-radio-group-item-label{color:var(--vesper-text-primary)}.vesper-radio-input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vesper-radio-input:checked+.vesper-radio-group-item-indicator{border-color:var(--vesper-background-accent-base);background:var(--vesper-background-accent-base)}.vesper-radio-input:checked+.vesper-radio-group-item-indicator:after{background:var(--vesper-icon-inverse-primary)}@media (forced-colors:active){.vesper-radio-input:checked+.vesper-radio-group-item-indicator:after{background:canvastext}}.vesper-radio-input:focus-visible+.vesper-radio-group-item-indicator{outline:var(--vesper-stroke-base) solid var(--vesper-border-focus);outline-offset:var(--vesper-spacing-micro)}.vesper-radio-group-item-disabled{cursor:auto}.vesper-radio-group-item-disabled .vesper-radio-input+.vesper-radio-group-item-indicator{border-color:var(--vesper-border-disabled);background:var(--vesper-background-disabled)}.vesper-radio-group-item-disabled .vesper-radio-input:checked+.vesper-radio-group-item-indicator:after{background:var(--vesper-icon-disabled)}@media (forced-colors:active){.vesper-radio-group-item-disabled .vesper-radio-input:checked+.vesper-radio-group-item-indicator:after{background:canvastext}}.vesper-radio-group-item-disabled .vesper-radio-group-item-label{color:var(--vesper-text-disabled)}@media (forced-colors:active){.vesper-radio-group-item-disabled{opacity:.35}}
@@ -0,0 +1,70 @@
1
+ import type { ComponentProps } from "react";
2
+ export declare const RADIO_SIZES: readonly ["sm", "md"];
3
+ export declare const RADIO_GROUP_ORIENTATIONS: readonly ["horizontal", "vertical"];
4
+ export type RadioSize = (typeof RADIO_SIZES)[number];
5
+ export type RadioGroupOrientation = (typeof RADIO_GROUP_ORIENTATIONS)[number];
6
+ export type RadioGroupItem = {
7
+ /** The value associated with this radio option, used to identify it in selection callbacks. */
8
+ value: string;
9
+ /** The text label displayed next to the radio input. */
10
+ label: string;
11
+ /** When true, prevents this individual option from being selected. @default false */
12
+ disabled?: boolean;
13
+ /** An optional HTML `id` attribute applied to the underlying radio input element. */
14
+ id?: string;
15
+ };
16
+ export interface RadioGroupProps extends Omit<ComponentProps<"fieldset">, "children" | "onChange" | "defaultValue"> {
17
+ /** The size of the radio inputs and their labels. @default md */
18
+ size?: RadioSize;
19
+ /** The layout direction of the radio options. @default vertical */
20
+ orientation?: RadioGroupOrientation;
21
+ /** When `true`, a selection is required for form validation. @default false */
22
+ required?: boolean;
23
+ /** The list of radio options to render. */
24
+ options: RadioGroupItem[];
25
+ /** The name attribute shared by all radio inputs in the group, used for form submission. */
26
+ name: string;
27
+ /** The currently selected value (controlled mode). */
28
+ value?: string;
29
+ /** The initially selected value (uncontrolled mode). */
30
+ defaultValue?: string;
31
+ /** Callback fired when the selected value changes. Receives the newly selected value. */
32
+ onChange?(value: string): void;
33
+ }
34
+ /**
35
+ * A form-ready radio group component for single-value selection from a list of options.
36
+ *
37
+ * @param {string} props.name - The name attribute shared by all radio inputs, used for form submission
38
+ * @param {RadioGroupItem[]} props.options - The list of radio options to render
39
+ * @param {RadioSize} [props.size] - (optional) The size of the radio inputs and labels. Default: `"md"`
40
+ * @param {RadioGroupOrientation} [props.orientation] - (optional) The layout direction of the options. Default: `"vertical"`
41
+ * @param {string} [props.value] - (optional) The currently selected value (controlled)
42
+ * @param {string} [props.defaultValue] - (optional) The initially selected value (uncontrolled)
43
+ * @param {(value: string) => void} [props.onChange] - (optional) Callback fired when the selected value changes
44
+ * @param {boolean} [props.required] - (optional) Marks a selection as required for form validation. @default false
45
+ *
46
+ * You may also pass any additional props to the underlying `fieldset` element
47
+ *
48
+ * @example
49
+ * <RadioGroup
50
+ * name="color"
51
+ * options={[
52
+ * { value: "red", label: "Red" },
53
+ * { value: "blue", label: "Blue" },
54
+ * { value: "green", label: "Green" },
55
+ * ]}
56
+ * value={color}
57
+ * onChange={setColor}
58
+ * />
59
+ *
60
+ * @example
61
+ * <RadioGroup
62
+ * name="size"
63
+ * size="sm"
64
+ * orientation="horizontal"
65
+ * options={sizeOptions}
66
+ * defaultValue="md"
67
+ * />
68
+ */
69
+ export declare function RadioGroup(props: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
70
+ //# sourceMappingURL=radio-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAS5C,eAAO,MAAM,WAAW,uBAAwB,CAAC;AAEjD,eAAO,MAAM,wBAAwB,qCAAsC,CAAC;AAE5E,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG;IAC3B,+FAA+F;IAC/F,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,cAAc,CAAC,UAAU,CAAC,EAC1B,UAAU,GAAG,UAAU,GAAG,cAAc,CACzC;IACC,iEAAiE;IACjE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mEAAmE;IACnE,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAsEhD"}
@@ -0,0 +1,61 @@
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
+ export const RADIO_SIZES = ["sm", "md"];
6
+ export const RADIO_GROUP_ORIENTATIONS = ["horizontal", "vertical"];
7
+ const RADIO_GROUP_ITEM_TYPOGRAPHY = {
8
+ sm: "label-md",
9
+ md: "label-lg",
10
+ };
11
+ /**
12
+ * A form-ready radio group component for single-value selection from a list of options.
13
+ *
14
+ * @param {string} props.name - The name attribute shared by all radio inputs, used for form submission
15
+ * @param {RadioGroupItem[]} props.options - The list of radio options to render
16
+ * @param {RadioSize} [props.size] - (optional) The size of the radio inputs and labels. Default: `"md"`
17
+ * @param {RadioGroupOrientation} [props.orientation] - (optional) The layout direction of the options. Default: `"vertical"`
18
+ * @param {string} [props.value] - (optional) The currently selected value (controlled)
19
+ * @param {string} [props.defaultValue] - (optional) The initially selected value (uncontrolled)
20
+ * @param {(value: string) => void} [props.onChange] - (optional) Callback fired when the selected value changes
21
+ * @param {boolean} [props.required] - (optional) Marks a selection as required for form validation. @default false
22
+ *
23
+ * You may also pass any additional props to the underlying `fieldset` element
24
+ *
25
+ * @example
26
+ * <RadioGroup
27
+ * name="color"
28
+ * options={[
29
+ * { value: "red", label: "Red" },
30
+ * { value: "blue", label: "Blue" },
31
+ * { value: "green", label: "Green" },
32
+ * ]}
33
+ * value={color}
34
+ * onChange={setColor}
35
+ * />
36
+ *
37
+ * @example
38
+ * <RadioGroup
39
+ * name="size"
40
+ * size="sm"
41
+ * orientation="horizontal"
42
+ * options={sizeOptions}
43
+ * defaultValue="md"
44
+ * />
45
+ */
46
+ export function RadioGroup(props) {
47
+ const { size = "md", orientation = "vertical", required, disabled, options, className, name, value, defaultValue, onChange, ...rest } = props;
48
+ return (_jsx("fieldset", { disabled: disabled, className: cn("vesper-radio-group", `vesper-radio-group-${orientation}`, className), ...rest, children: options.map((option) => {
49
+ const isDisabled = disabled || option.disabled;
50
+ const checkedProps = value !== undefined
51
+ ? { checked: value === option.value }
52
+ : { defaultChecked: defaultValue === option.value };
53
+ return (_jsxs("label", { htmlFor: option.id, className: cn("vesper-radio-group-item", `vesper-radio-group-item-${size}`, isDisabled && "vesper-radio-group-item-disabled"), children: [_jsx("input", { type: "radio", name: name, required: required, disabled: isDisabled, id: option.id, value: option.value, className: "vesper-radio-input", onChange: (e) => {
54
+ if (!onChange)
55
+ return;
56
+ if (e.target.checked)
57
+ onChange(option.value);
58
+ }, ...checkedProps }), _jsx("div", { className: "vesper-radio-group-item-indicator" }), _jsx(Typography, { as: "span", className: "vesper-radio-group-item-label", variant: RADIO_GROUP_ITEM_TYPOGRAPHY[size], children: option.label })] }, option.value));
59
+ }) }));
60
+ }
61
+ //# sourceMappingURL=radio-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EACL,UAAU,GAEX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC;AAEjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,YAAY,EAAE,UAAU,CAAU,CAAC;AAuC5E,MAAM,2BAA2B,GAA4C;IAC3E,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EACJ,IAAI,GAAG,IAAI,EACX,WAAW,GAAG,UAAU,EACxB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,mBACE,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,oBAAoB,EACpB,sBAAsB,WAAW,EAAE,EACnC,SAAS,CACV,KACG,IAAI,YAEP,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACtB,MAAM,UAAU,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;YAE/C,MAAM,YAAY,GAChB,KAAK,KAAK,SAAS;gBACjB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE;gBACrC,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;YAExD,OAAO,CACL,iBAEE,OAAO,EAAE,MAAM,CAAC,EAAE,EAClB,SAAS,EAAE,EAAE,CACX,yBAAyB,EACzB,2BAA2B,IAAI,EAAE,EACjC,UAAU,IAAI,kCAAkC,CACjD,aAED,gBACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,EACpB,EAAE,EAAE,MAAM,CAAC,EAAE,EACb,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,SAAS,EAAC,oBAAoB,EAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4BACd,IAAI,CAAC,QAAQ;gCAAE,OAAO;4BACtB,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO;gCAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC/C,CAAC,KACG,YAAY,GAChB,EACF,cAAK,SAAS,EAAC,mCAAmC,GAAG,EACrD,KAAC,UAAU,IACT,EAAE,EAAC,MAAM,EACT,SAAS,EAAC,+BAA+B,EACzC,OAAO,EAAE,2BAA2B,CAAC,IAAI,CAAC,YAEzC,MAAM,CAAC,KAAK,GACF,KA7BR,MAAM,CAAC,KAAK,CA8BX,CACT,CAAC;QACJ,CAAC,CAAC,GACO,CACZ,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ .vesper-range{--vesper-range-thumb-size:1rem;width:100%;display:block;position:relative}@media (forced-colors:active){.vesper-range[data-disabled]{opacity:.35}}.vesper-range-labeled{padding-top:1.4375rem}.vesper-range-track{width:100%;height:1rem;display:block;position:relative}.vesper-range-track:before{z-index:1;content:"";background:var(--vesper-stone-200);border:var(--vesper-stroke-base) solid var(--vesper-border-primary);border-radius:var(--vesper-spacing-1);position:absolute;top:.3125rem;bottom:.3125rem;left:0;right:0}.vesper-range-tick{z-index:0;height:1rem;left:calc(var(--vesper-range-thumb-size) / 2 + (100% - var(--vesper-range-thumb-size)) * var(--vesper-range-tick-position,0));border-left:var(--vesper-stroke-base) solid var(--vesper-border-primary);position:absolute;transform:translate(-.03125rem)}@media (forced-colors:active){.vesper-range-tick{background:canvastext}}.vesper-range-range{z-index:1}.vesper-range-range:before{content:"";background:var(--vesper-background-accent-base);border:var(--vesper-stroke-base) solid var(--vesper-border-accent-base);border-radius:var(--vesper-spacing-1);position:absolute;top:.3125rem;bottom:.3125rem;left:0;right:0}.vesper-range-range[data-disabled]:before{background:var(--vesper-tint-neutral-400);border:var(--vesper-stroke-base) solid var(--vesper-border-primary)}@media (forced-colors:active){.vesper-range-range:before{background:canvastext}.vesper-range-range[data-disabled]:before{background:canvastext}}.vesper-range-thumb{z-index:2;width:var(--vesper-range-thumb-size);height:var(--vesper-range-thumb-size);cursor:pointer;background:var(--vesper-background-tertiary);border:var(--vesper-stroke-base) solid var(--vesper-border-accent-base);border-radius:var(--vesper-spacing-2);justify-content:center;display:flex}.vesper-range-thumb.vesper-range-thumb-labeled:after{white-space:pre;content:var(--vesper-range-thumb-label,"");color:var(--vesper-text-primary);background:var(--vesper-tint-neutral-100);border:var(--vesper-stroke-base) solid var(--vesper-border-secondary);border-radius:var(--vesper-radius-half);padding:var(--vesper-spacing-1);bottom:calc(100% + var(--vesper-stroke-base));transform:translateY(calc(var(--vesper-spacing-micro) * -1));position:absolute}.vesper-range-thumb[data-disabled]{cursor:auto;border-color:var(--vesper-stone-400)}.vesper-range-thumb[data-disabled]:after{color:var(--vesper-text-disabled)}@media (forced-colors:active){.vesper-range-thumb:has(:focus-visible){outline:var(--vesper-stroke-strong) solid CanvasText}}@media not (forced-colors:active){.vesper-range-thumb:has(:focus-visible){box-shadow:var(--vesper-shadow-focus-ring)}}
@@ -0,0 +1,86 @@
1
+ import { ComponentProps, type Ref } from "react";
2
+ export interface RangeProps extends Omit<ComponentProps<"div">, "children" | "defaultValue" | "dir"> {
3
+ /** The values of each thumb (controlled mode). One thumb is rendered per entry in the array. */
4
+ values?: number[];
5
+ /** Custom display labels for each thumb, shown as a tooltip-style label above the thumb. When left blank, defaults to the active values of each thumb. */
6
+ valueLabels?: string[];
7
+ /** Accessible `aria-label` attributes for each thumb, in the same order as the values. */
8
+ thumbAriaLabels: string[];
9
+ /** When `true`, displays the value labels above each thumb. @default false */
10
+ showValueLabels?: boolean;
11
+ /** The initial thumb values (uncontrolled mode). @default [min, max] */
12
+ defaultValues?: number[];
13
+ /** Callback fired as thumb values change during interaction. Receives the full array of current values. */
14
+ onValuesChange?(value: number[]): void;
15
+ /** Callback fired when a thumb interaction is completed (e.g., on pointer up). Receives the final array of values. */
16
+ onValuesCommit?(value: number[]): void;
17
+ /** When `true`, renders tick marks along the track at each step interval. @default false */
18
+ showTicks?: boolean;
19
+ /** The name attribute applied to each thumb's underlying input, used for form submission. Every thumb submits its value under this name. */
20
+ name?: string;
21
+ /** When true, prevents interaction. @default false */
22
+ disabled?: boolean;
23
+ /** The minimum allowed value. @default 0 */
24
+ min?: number;
25
+ /** The maximum allowed value. @default 100 */
26
+ max?: number;
27
+ /** The stepping interval between selectable values. @default 1 */
28
+ step?: number;
29
+ /** The minimum number of steps required between thumbs, preventing them from overlapping. @default 1 */
30
+ minStepsBetweenThumbs?: number;
31
+ /** The `id` of the `<form>` element this input belongs to, allowing association with a form outside the input's DOM hierarchy. */
32
+ form?: string;
33
+ /** A ref forwarded to the wrapping `<div>` element for direct DOM access. */
34
+ ref?: Ref<HTMLDivElement>;
35
+ }
36
+ /**
37
+ * A multi-thumb range input for selecting a span of numeric values between a minimum and maximum.
38
+ *
39
+ * @param {string[]} props.thumbAriaLabels - Accessible `aria-label` attributes for each thumb, in the same order as the values
40
+ * @param {number[]} [props.values] - (optional) The values of each thumb (controlled). One thumb is rendered per entry
41
+ * @param {number[]} [props.defaultValues] - (optional) The initial thumb values (uncontrolled). @default [min, max]
42
+ * @param {(value: number[]) => void} [props.onValuesChange] - (optional) Callback fired as thumb values change during interaction
43
+ * @param {(value: number[]) => void} [props.onValuesCommit] - (optional) Callback fired when thumb interaction is completed
44
+ * @param {number} [props.min] - (optional) The minimum allowed value. @default 0
45
+ * @param {number} [props.max] - (optional) The maximum allowed value. @default 100
46
+ * @param {number} [props.step] - (optional) The stepping interval. @default 1
47
+ * @param {number} [props.minStepsBetweenThumbs] - (optional) The minimum number of steps required between thumbs. @default 1
48
+ * @param {boolean} [props.showTicks] - (optional) Whether to render tick marks at each step interval. @default false
49
+ * @param {boolean} [props.showValueLabels] - (optional) Whether to display a value label above each thumb. @default false
50
+ * @param {string[]} [props.valueLabels] - (optional) Custom display labels for each thumb, falling back to that thumb's current value
51
+ * @param {boolean} [props.disabled] - (optional) Whether to prevent interaction. @default false
52
+ * @param {string} [props.name] - (optional) The form field name each thumb submits its value under
53
+ *
54
+ * You may also pass any additional props to the underlying `div` element
55
+ *
56
+ * @example
57
+ * <Range
58
+ * min={0}
59
+ * max={100}
60
+ * defaultValues={[20, 80]}
61
+ * onValuesCommit={(values) => console.log(values)}
62
+ * thumbAriaLabels={["Volume (min)", "Volume (max)"]}
63
+ * />
64
+ *
65
+ * @example
66
+ * <Range
67
+ * min={0}
68
+ * max={50}
69
+ * step={5}
70
+ * showTicks
71
+ * showValueLabels
72
+ * values={range}
73
+ * onValuesChange={setRange}
74
+ * thumbAriaLabels={["Volume (min)", "Volume (max)"]}
75
+ * />
76
+ *
77
+ * @example
78
+ * <Range
79
+ * variant="error"
80
+ * values={price}
81
+ * onValuesChange={setPrice}
82
+ * thumbAriaLabels={["Price (min)", "Price (max)"]}
83
+ * />
84
+ */
85
+ export declare function Range(props: RangeProps): import("react/jsx-runtime").JSX.Element;
86
+ //# sourceMappingURL=range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../src/components/range/range.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAsB,KAAK,GAAG,EAAW,MAAM,OAAO,CAAC;AAa9E,MAAM,WAAW,UAAW,SAAQ,IAAI,CACtC,cAAc,CAAC,KAAK,CAAC,EACrB,UAAU,GAAG,cAAc,GAAG,KAAK,CACpC;IACC,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,0JAA0J;IAC1J,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,0FAA0F;IAC1F,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,8EAA8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,2GAA2G;IAC3G,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvC,sHAAsH;IACtH,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvC,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4IAA4I;IAC5I,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wGAAwG;IACxG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kIAAkI;IAClI,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,2CAmHtC"}