@viraui/react 0.0.17 → 0.0.18

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 (488) hide show
  1. package/dist/catalog.json +12 -0
  2. package/dist/components/basic-input/basic-input.js +1 -1
  3. package/dist/components/basic-input/field-helper-copy.js +3 -3
  4. package/dist/components/basic-input/field-label.d.ts +2 -1
  5. package/dist/components/basic-input/field-label.js +4 -3
  6. package/dist/components/button/button.css +1 -1
  7. package/dist/components/button/button.js +1 -1
  8. package/dist/components/checkbox/checkbox.css +1 -1
  9. package/dist/components/checkbox/checkbox.js +5 -2
  10. package/dist/components/clamp-text/clamp-text.js +1 -1
  11. package/dist/components/icon/index.d.ts +1 -1
  12. package/dist/components/index.d.ts +2 -0
  13. package/dist/components/linear-progress/index.d.ts +2 -0
  14. package/dist/components/linear-progress/linear-progress.css +1 -0
  15. package/dist/components/linear-progress/linear-progress.d.ts +44 -0
  16. package/dist/components/linear-progress/linear-progress.guide.json +27 -0
  17. package/dist/components/linear-progress/linear-progress.js +61 -0
  18. package/dist/components/linear-progress/linear-progress.module.js +8 -0
  19. package/dist/components/radio/index.d.ts +4 -0
  20. package/dist/components/radio/radio-group.d.ts +44 -0
  21. package/dist/components/radio/radio-group.js +54 -0
  22. package/dist/components/radio/radio.css +1 -0
  23. package/dist/components/radio/radio.d.ts +44 -0
  24. package/dist/components/radio/radio.guide.json +26 -0
  25. package/dist/components/radio/radio.js +45 -0
  26. package/dist/components/radio/radio.module.js +9 -0
  27. package/dist/components/select/select.js +1 -1
  28. package/dist/components/slider/slider.js +1 -1
  29. package/dist/components/stack/stack.css +1 -1
  30. package/dist/components/stack/stack.js +1 -1
  31. package/dist/components/surface/surface.js +1 -1
  32. package/dist/components/switch/switch.js +5 -2
  33. package/dist/components/text/text.js +1 -1
  34. package/dist/components/textarea/textarea.js +1 -1
  35. package/dist/components/textfield/textfield.js +2 -2
  36. package/dist/components/title/title.js +1 -1
  37. package/dist/index.js +5 -2
  38. package/dist/internal-icons/icon-registry.d.ts +8 -217
  39. package/dist/internal-icons/icon-registry.js +21 -648
  40. package/dist/internal-icons/icons/duo/CaretDown.js +1 -1
  41. package/dist/internal-icons/icons/duo/CaretLeft.js +1 -1
  42. package/dist/internal-icons/icons/duo/CaretRight.js +1 -1
  43. package/dist/internal-icons/icons/duo/CaretUp.js +1 -1
  44. package/dist/internal-icons/icons/duo/CircleHalfDottedClock.d.ts +7 -0
  45. package/dist/internal-icons/icons/duo/CircleHalfDottedClock.js +13 -0
  46. package/dist/internal-icons/icons/duo/{Embed.d.ts → Clock.d.ts} +3 -3
  47. package/dist/internal-icons/icons/duo/Clock.js +13 -0
  48. package/dist/internal-icons/icons/duo/History.d.ts +7 -0
  49. package/dist/internal-icons/icons/duo/History.js +13 -0
  50. package/dist/internal-icons/icons/duo/{Box3.d.ts → Lock.d.ts} +3 -3
  51. package/dist/internal-icons/icons/duo/Lock.js +13 -0
  52. package/dist/internal-icons/icons/duo/LockOpen.d.ts +7 -0
  53. package/dist/internal-icons/icons/duo/LockOpen.js +13 -0
  54. package/dist/internal-icons/icons/duo/Quickstart.d.ts +7 -0
  55. package/dist/internal-icons/icons/duo/Quickstart.js +13 -0
  56. package/dist/internal-icons/icons/duo/{Child.d.ts → Xmark.d.ts} +3 -3
  57. package/dist/internal-icons/icons/duo/{ProfileBasic.js → Xmark.js} +4 -4
  58. package/dist/internal-icons/icons/duo/index.d.ts +8 -217
  59. package/dist/internal-icons/icons/duo/index.js +8 -217
  60. package/package.json +2 -2
  61. package/dist/internal-icons/icons/duo/AddSection.d.ts +0 -7
  62. package/dist/internal-icons/icons/duo/AddSection.js +0 -13
  63. package/dist/internal-icons/icons/duo/AiDeveloper.d.ts +0 -7
  64. package/dist/internal-icons/icons/duo/AiDeveloper.js +0 -13
  65. package/dist/internal-icons/icons/duo/AiLoading.d.ts +0 -7
  66. package/dist/internal-icons/icons/duo/AiLoading.js +0 -13
  67. package/dist/internal-icons/icons/duo/Album3.d.ts +0 -7
  68. package/dist/internal-icons/icons/duo/Album3.js +0 -13
  69. package/dist/internal-icons/icons/duo/ArchiveContent2.d.ts +0 -7
  70. package/dist/internal-icons/icons/duo/ArchiveContent2.js +0 -13
  71. package/dist/internal-icons/icons/duo/ArrowRotate.d.ts +0 -7
  72. package/dist/internal-icons/icons/duo/ArrowRotate.js +0 -13
  73. package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseCheck.d.ts +0 -7
  74. package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseCheck.js +0 -13
  75. package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseSlash.d.ts +0 -7
  76. package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseSlash.js +0 -13
  77. package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseXmark.d.ts +0 -7
  78. package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseXmark.js +0 -13
  79. package/dist/internal-icons/icons/duo/ArrowRotateClockwiseSlash.d.ts +0 -7
  80. package/dist/internal-icons/icons/duo/ArrowRotateClockwiseSlash.js +0 -13
  81. package/dist/internal-icons/icons/duo/ArrowsFilter.d.ts +0 -7
  82. package/dist/internal-icons/icons/duo/ArrowsFilter.js +0 -13
  83. package/dist/internal-icons/icons/duo/ArrowsToLineY2.d.ts +0 -7
  84. package/dist/internal-icons/icons/duo/ArrowsToLineY2.js +0 -13
  85. package/dist/internal-icons/icons/duo/Birdhouse.d.ts +0 -7
  86. package/dist/internal-icons/icons/duo/Birdhouse.js +0 -13
  87. package/dist/internal-icons/icons/duo/BookmarkList.d.ts +0 -7
  88. package/dist/internal-icons/icons/duo/BookmarkList.js +0 -13
  89. package/dist/internal-icons/icons/duo/BookmarkedBook.d.ts +0 -7
  90. package/dist/internal-icons/icons/duo/BookmarkedBook.js +0 -13
  91. package/dist/internal-icons/icons/duo/BookmarkedBook2.d.ts +0 -7
  92. package/dist/internal-icons/icons/duo/BookmarkedBook2.js +0 -13
  93. package/dist/internal-icons/icons/duo/Box3.js +0 -13
  94. package/dist/internal-icons/icons/duo/BoxSparkle.d.ts +0 -7
  95. package/dist/internal-icons/icons/duo/BoxSparkle.js +0 -13
  96. package/dist/internal-icons/icons/duo/BoxSparkle2.d.ts +0 -7
  97. package/dist/internal-icons/icons/duo/BoxSparkle2.js +0 -13
  98. package/dist/internal-icons/icons/duo/Brochure.d.ts +0 -7
  99. package/dist/internal-icons/icons/duo/Brochure.js +0 -13
  100. package/dist/internal-icons/icons/duo/ButtonPlus.d.ts +0 -7
  101. package/dist/internal-icons/icons/duo/ButtonPlus.js +0 -13
  102. package/dist/internal-icons/icons/duo/Calculator3.d.ts +0 -7
  103. package/dist/internal-icons/icons/duo/Calculator3.js +0 -13
  104. package/dist/internal-icons/icons/duo/Chart3.d.ts +0 -7
  105. package/dist/internal-icons/icons/duo/Chart3.js +0 -13
  106. package/dist/internal-icons/icons/duo/ChartBar.d.ts +0 -7
  107. package/dist/internal-icons/icons/duo/ChartBar.js +0 -13
  108. package/dist/internal-icons/icons/duo/ChartCandlestick2.d.ts +0 -7
  109. package/dist/internal-icons/icons/duo/ChartCandlestick2.js +0 -13
  110. package/dist/internal-icons/icons/duo/ChatImage.d.ts +0 -7
  111. package/dist/internal-icons/icons/duo/ChatImage.js +0 -13
  112. package/dist/internal-icons/icons/duo/ChatInfo.d.ts +0 -7
  113. package/dist/internal-icons/icons/duo/ChatInfo.js +0 -13
  114. package/dist/internal-icons/icons/duo/ChatTask.d.ts +0 -7
  115. package/dist/internal-icons/icons/duo/ChatTask.js +0 -13
  116. package/dist/internal-icons/icons/duo/CheckBoxArrow.d.ts +0 -7
  117. package/dist/internal-icons/icons/duo/CheckBoxArrow.js +0 -13
  118. package/dist/internal-icons/icons/duo/ChevronLeftToLine.d.ts +0 -7
  119. package/dist/internal-icons/icons/duo/ChevronLeftToLine.js +0 -13
  120. package/dist/internal-icons/icons/duo/ChevronRightToLine.d.ts +0 -7
  121. package/dist/internal-icons/icons/duo/ChevronRightToLine.js +0 -13
  122. package/dist/internal-icons/icons/duo/Child.js +0 -13
  123. package/dist/internal-icons/icons/duo/CircleCoinIn.d.ts +0 -7
  124. package/dist/internal-icons/icons/duo/CircleCoinIn.js +0 -13
  125. package/dist/internal-icons/icons/duo/CircleCoinOut.d.ts +0 -7
  126. package/dist/internal-icons/icons/duo/CircleCoinOut.js +0 -13
  127. package/dist/internal-icons/icons/duo/CircleCoinPlus.d.ts +0 -7
  128. package/dist/internal-icons/icons/duo/CircleCoinPlus.js +0 -13
  129. package/dist/internal-icons/icons/duo/CircleConversion.d.ts +0 -7
  130. package/dist/internal-icons/icons/duo/CircleConversion.js +0 -13
  131. package/dist/internal-icons/icons/duo/CircleCross.d.ts +0 -7
  132. package/dist/internal-icons/icons/duo/CircleCross.js +0 -13
  133. package/dist/internal-icons/icons/duo/CircleHalfArrowDown.d.ts +0 -7
  134. package/dist/internal-icons/icons/duo/CircleHalfArrowDown.js +0 -13
  135. package/dist/internal-icons/icons/duo/CircleHalfArrowLeft.d.ts +0 -7
  136. package/dist/internal-icons/icons/duo/CircleHalfArrowLeft.js +0 -13
  137. package/dist/internal-icons/icons/duo/CircleHalfArrowRight.d.ts +0 -7
  138. package/dist/internal-icons/icons/duo/CircleHalfArrowRight.js +0 -13
  139. package/dist/internal-icons/icons/duo/CircleHalfArrowUp.d.ts +0 -7
  140. package/dist/internal-icons/icons/duo/CircleHalfArrowUp.js +0 -13
  141. package/dist/internal-icons/icons/duo/CircleHalfDottedChart2.d.ts +0 -7
  142. package/dist/internal-icons/icons/duo/CircleHalfDottedChart2.js +0 -13
  143. package/dist/internal-icons/icons/duo/ClockTime.d.ts +0 -7
  144. package/dist/internal-icons/icons/duo/ClockTime.js +0 -13
  145. package/dist/internal-icons/icons/duo/CloneDashed3.d.ts +0 -7
  146. package/dist/internal-icons/icons/duo/CloneDashed3.js +0 -13
  147. package/dist/internal-icons/icons/duo/CloneImageDashed.d.ts +0 -7
  148. package/dist/internal-icons/icons/duo/CloneImageDashed.js +0 -13
  149. package/dist/internal-icons/icons/duo/CloneVideoDashed.d.ts +0 -7
  150. package/dist/internal-icons/icons/duo/CloneVideoDashed.js +0 -13
  151. package/dist/internal-icons/icons/duo/CloudeCode.d.ts +0 -7
  152. package/dist/internal-icons/icons/duo/CloudeCode.js +0 -13
  153. package/dist/internal-icons/icons/duo/CoinStack.d.ts +0 -7
  154. package/dist/internal-icons/icons/duo/CoinStack.js +0 -13
  155. package/dist/internal-icons/icons/duo/ConditionalLogic.d.ts +0 -7
  156. package/dist/internal-icons/icons/duo/ConditionalLogic.js +0 -13
  157. package/dist/internal-icons/icons/duo/ConnectPlus.d.ts +0 -7
  158. package/dist/internal-icons/icons/duo/ConnectPlus.js +0 -13
  159. package/dist/internal-icons/icons/duo/Connection3.d.ts +0 -7
  160. package/dist/internal-icons/icons/duo/Connection3.js +0 -13
  161. package/dist/internal-icons/icons/duo/CopyDelete.d.ts +0 -7
  162. package/dist/internal-icons/icons/duo/CopyDelete.js +0 -13
  163. package/dist/internal-icons/icons/duo/CopyId.d.ts +0 -7
  164. package/dist/internal-icons/icons/duo/CopyId.js +0 -13
  165. package/dist/internal-icons/icons/duo/Deaf.d.ts +0 -7
  166. package/dist/internal-icons/icons/duo/Deaf.js +0 -13
  167. package/dist/internal-icons/icons/duo/DependencyLink.d.ts +0 -7
  168. package/dist/internal-icons/icons/duo/DependencyLink.js +0 -13
  169. package/dist/internal-icons/icons/duo/DesktopDock.d.ts +0 -7
  170. package/dist/internal-icons/icons/duo/DesktopDock.js +0 -13
  171. package/dist/internal-icons/icons/duo/DiamondSparkle.d.ts +0 -7
  172. package/dist/internal-icons/icons/duo/DiamondSparkle.js +0 -13
  173. package/dist/internal-icons/icons/duo/DocumentScan.d.ts +0 -7
  174. package/dist/internal-icons/icons/duo/DocumentScan.js +0 -13
  175. package/dist/internal-icons/icons/duo/Dog2.d.ts +0 -7
  176. package/dist/internal-icons/icons/duo/Dog2.js +0 -13
  177. package/dist/internal-icons/icons/duo/DogLeash.d.ts +0 -7
  178. package/dist/internal-icons/icons/duo/DogLeash.js +0 -13
  179. package/dist/internal-icons/icons/duo/DogSlash.d.ts +0 -7
  180. package/dist/internal-icons/icons/duo/DogSlash.js +0 -13
  181. package/dist/internal-icons/icons/duo/DotFormation.d.ts +0 -7
  182. package/dist/internal-icons/icons/duo/DotFormation.js +0 -13
  183. package/dist/internal-icons/icons/duo/DrawFinger.d.ts +0 -7
  184. package/dist/internal-icons/icons/duo/DrawFinger.js +0 -13
  185. package/dist/internal-icons/icons/duo/Ear.d.ts +0 -7
  186. package/dist/internal-icons/icons/duo/Ear.js +0 -13
  187. package/dist/internal-icons/icons/duo/EarSound.d.ts +0 -7
  188. package/dist/internal-icons/icons/duo/EarSound.js +0 -13
  189. package/dist/internal-icons/icons/duo/Embed.js +0 -13
  190. package/dist/internal-icons/icons/duo/EnterDoor.d.ts +0 -7
  191. package/dist/internal-icons/icons/duo/EnterDoor.js +0 -13
  192. package/dist/internal-icons/icons/duo/EnterHome.d.ts +0 -7
  193. package/dist/internal-icons/icons/duo/EnterHome.js +0 -13
  194. package/dist/internal-icons/icons/duo/ExitDoor.d.ts +0 -7
  195. package/dist/internal-icons/icons/duo/ExitDoor.js +0 -13
  196. package/dist/internal-icons/icons/duo/Export2.d.ts +0 -7
  197. package/dist/internal-icons/icons/duo/Export2.js +0 -13
  198. package/dist/internal-icons/icons/duo/EyeSparkle.d.ts +0 -7
  199. package/dist/internal-icons/icons/duo/EyeSparkle.js +0 -13
  200. package/dist/internal-icons/icons/duo/FaceRobot.d.ts +0 -7
  201. package/dist/internal-icons/icons/duo/FaceRobot.js +0 -13
  202. package/dist/internal-icons/icons/duo/FaceRobot2.d.ts +0 -7
  203. package/dist/internal-icons/icons/duo/FaceRobot2.js +0 -13
  204. package/dist/internal-icons/icons/duo/FaceRobot3.d.ts +0 -7
  205. package/dist/internal-icons/icons/duo/FaceRobot3.js +0 -13
  206. package/dist/internal-icons/icons/duo/FerrisWheel.d.ts +0 -7
  207. package/dist/internal-icons/icons/duo/FerrisWheel.js +0 -13
  208. package/dist/internal-icons/icons/duo/FileExport.d.ts +0 -7
  209. package/dist/internal-icons/icons/duo/FileExport.js +0 -13
  210. package/dist/internal-icons/icons/duo/FlagMenu.d.ts +0 -7
  211. package/dist/internal-icons/icons/duo/FlagMenu.js +0 -13
  212. package/dist/internal-icons/icons/duo/FocusCenter.d.ts +0 -7
  213. package/dist/internal-icons/icons/duo/FocusCenter.js +0 -13
  214. package/dist/internal-icons/icons/duo/FoodOrder.d.ts +0 -7
  215. package/dist/internal-icons/icons/duo/FoodOrder.js +0 -13
  216. package/dist/internal-icons/icons/duo/FuelCan.d.ts +0 -7
  217. package/dist/internal-icons/icons/duo/FuelCan.js +0 -13
  218. package/dist/internal-icons/icons/duo/FuelCan2.d.ts +0 -7
  219. package/dist/internal-icons/icons/duo/FuelCan2.js +0 -13
  220. package/dist/internal-icons/icons/duo/Gear3Sparkle.d.ts +0 -7
  221. package/dist/internal-icons/icons/duo/Gear3Sparkle.js +0 -13
  222. package/dist/internal-icons/icons/duo/GridSparkle.d.ts +0 -7
  223. package/dist/internal-icons/icons/duo/GridSparkle.js +0 -13
  224. package/dist/internal-icons/icons/duo/HandHoldingGlobe.d.ts +0 -7
  225. package/dist/internal-icons/icons/duo/HandHoldingGlobe.js +0 -13
  226. package/dist/internal-icons/icons/duo/Handshake2.d.ts +0 -7
  227. package/dist/internal-icons/icons/duo/Handshake2.js +0 -13
  228. package/dist/internal-icons/icons/duo/Haptic.d.ts +0 -7
  229. package/dist/internal-icons/icons/duo/Haptic.js +0 -13
  230. package/dist/internal-icons/icons/duo/HelpChat.d.ts +0 -7
  231. package/dist/internal-icons/icons/duo/HelpChat.js +0 -13
  232. package/dist/internal-icons/icons/duo/HexagonSparkle.d.ts +0 -7
  233. package/dist/internal-icons/icons/duo/HexagonSparkle.js +0 -13
  234. package/dist/internal-icons/icons/duo/Hiking.d.ts +0 -7
  235. package/dist/internal-icons/icons/duo/Hiking.js +0 -13
  236. package/dist/internal-icons/icons/duo/History2.d.ts +0 -7
  237. package/dist/internal-icons/icons/duo/History2.js +0 -13
  238. package/dist/internal-icons/icons/duo/HorseHead.d.ts +0 -7
  239. package/dist/internal-icons/icons/duo/HorseHead.js +0 -13
  240. package/dist/internal-icons/icons/duo/HouseDollarSign.d.ts +0 -7
  241. package/dist/internal-icons/icons/duo/HouseDollarSign.js +0 -13
  242. package/dist/internal-icons/icons/duo/HouseMinus2.d.ts +0 -7
  243. package/dist/internal-icons/icons/duo/HouseMinus2.js +0 -13
  244. package/dist/internal-icons/icons/duo/Images3.d.ts +0 -7
  245. package/dist/internal-icons/icons/duo/Images3.js +0 -13
  246. package/dist/internal-icons/icons/duo/Img4k.d.ts +0 -7
  247. package/dist/internal-icons/icons/duo/Img4k.js +0 -13
  248. package/dist/internal-icons/icons/duo/InsertCrypto.d.ts +0 -7
  249. package/dist/internal-icons/icons/duo/InsertCrypto.js +0 -13
  250. package/dist/internal-icons/icons/duo/InsertDollar.d.ts +0 -7
  251. package/dist/internal-icons/icons/duo/InsertDollar.js +0 -13
  252. package/dist/internal-icons/icons/duo/InstantMoney.d.ts +0 -7
  253. package/dist/internal-icons/icons/duo/InstantMoney.js +0 -13
  254. package/dist/internal-icons/icons/duo/InvoiceIn.d.ts +0 -7
  255. package/dist/internal-icons/icons/duo/InvoiceIn.js +0 -13
  256. package/dist/internal-icons/icons/duo/InwardFlow.d.ts +0 -7
  257. package/dist/internal-icons/icons/duo/InwardFlow.js +0 -13
  258. package/dist/internal-icons/icons/duo/JoinedHands.d.ts +0 -7
  259. package/dist/internal-icons/icons/duo/JoinedHands.js +0 -13
  260. package/dist/internal-icons/icons/duo/LawShield.d.ts +0 -7
  261. package/dist/internal-icons/icons/duo/LawShield.js +0 -13
  262. package/dist/internal-icons/icons/duo/Lectern.d.ts +0 -7
  263. package/dist/internal-icons/icons/duo/Lectern.js +0 -13
  264. package/dist/internal-icons/icons/duo/Lectern2.d.ts +0 -7
  265. package/dist/internal-icons/icons/duo/Lectern2.js +0 -13
  266. package/dist/internal-icons/icons/duo/LightSpark.d.ts +0 -7
  267. package/dist/internal-icons/icons/duo/LightSpark.js +0 -13
  268. package/dist/internal-icons/icons/duo/LightSpark2.d.ts +0 -7
  269. package/dist/internal-icons/icons/duo/LightSpark2.js +0 -13
  270. package/dist/internal-icons/icons/duo/ListExport.d.ts +0 -7
  271. package/dist/internal-icons/icons/duo/ListExport.js +0 -13
  272. package/dist/internal-icons/icons/duo/ListFavs3.d.ts +0 -7
  273. package/dist/internal-icons/icons/duo/ListFavs3.js +0 -13
  274. package/dist/internal-icons/icons/duo/ListFavs4.d.ts +0 -7
  275. package/dist/internal-icons/icons/duo/ListFavs4.js +0 -13
  276. package/dist/internal-icons/icons/duo/LoadingStatus.d.ts +0 -7
  277. package/dist/internal-icons/icons/duo/LoadingStatus.js +0 -13
  278. package/dist/internal-icons/icons/duo/LoadingStatus2.d.ts +0 -7
  279. package/dist/internal-icons/icons/duo/LoadingStatus2.js +0 -13
  280. package/dist/internal-icons/icons/duo/LockedChat.d.ts +0 -7
  281. package/dist/internal-icons/icons/duo/LockedChat.js +0 -13
  282. package/dist/internal-icons/icons/duo/MagicHat.d.ts +0 -7
  283. package/dist/internal-icons/icons/duo/MagicHat.js +0 -13
  284. package/dist/internal-icons/icons/duo/MagicRabbit.d.ts +0 -7
  285. package/dist/internal-icons/icons/duo/MagicRabbit.js +0 -13
  286. package/dist/internal-icons/icons/duo/MagnifierSparkle2.d.ts +0 -7
  287. package/dist/internal-icons/icons/duo/MagnifierSparkle2.js +0 -13
  288. package/dist/internal-icons/icons/duo/MediaLibrary2.d.ts +0 -7
  289. package/dist/internal-icons/icons/duo/MediaLibrary2.js +0 -13
  290. package/dist/internal-icons/icons/duo/Membership.d.ts +0 -7
  291. package/dist/internal-icons/icons/duo/Membership.js +0 -13
  292. package/dist/internal-icons/icons/duo/Menu4.d.ts +0 -7
  293. package/dist/internal-icons/icons/duo/Menu4.js +0 -13
  294. package/dist/internal-icons/icons/duo/MilitaryMedal.d.ts +0 -7
  295. package/dist/internal-icons/icons/duo/MilitaryMedal.js +0 -13
  296. package/dist/internal-icons/icons/duo/MobileCircuit.d.ts +0 -7
  297. package/dist/internal-icons/icons/duo/MobileCircuit.js +0 -13
  298. package/dist/internal-icons/icons/duo/MoneyRefund.d.ts +0 -7
  299. package/dist/internal-icons/icons/duo/MoneyRefund.js +0 -13
  300. package/dist/internal-icons/icons/duo/MoneyRefund2.d.ts +0 -7
  301. package/dist/internal-icons/icons/duo/MoneyRefund2.js +0 -13
  302. package/dist/internal-icons/icons/duo/MotionAlongPath.d.ts +0 -7
  303. package/dist/internal-icons/icons/duo/MotionAlongPath.js +0 -13
  304. package/dist/internal-icons/icons/duo/Msgs2.d.ts +0 -7
  305. package/dist/internal-icons/icons/duo/Msgs2.js +0 -13
  306. package/dist/internal-icons/icons/duo/Navigation.d.ts +0 -7
  307. package/dist/internal-icons/icons/duo/Navigation.js +0 -13
  308. package/dist/internal-icons/icons/duo/NavigationHorizontal.d.ts +0 -7
  309. package/dist/internal-icons/icons/duo/NavigationHorizontal.js +0 -13
  310. package/dist/internal-icons/icons/duo/NavigationVertical.d.ts +0 -7
  311. package/dist/internal-icons/icons/duo/NavigationVertical.js +0 -13
  312. package/dist/internal-icons/icons/duo/ObjectSelection.d.ts +0 -7
  313. package/dist/internal-icons/icons/duo/ObjectSelection.js +0 -13
  314. package/dist/internal-icons/icons/duo/OfficeUser.d.ts +0 -7
  315. package/dist/internal-icons/icons/duo/OfficeUser.js +0 -13
  316. package/dist/internal-icons/icons/duo/OpenExternal.d.ts +0 -7
  317. package/dist/internal-icons/icons/duo/OpenExternal.js +0 -13
  318. package/dist/internal-icons/icons/duo/OrbitSparkle.d.ts +0 -7
  319. package/dist/internal-icons/icons/duo/OrbitSparkle.js +0 -13
  320. package/dist/internal-icons/icons/duo/OutwardFlow.d.ts +0 -7
  321. package/dist/internal-icons/icons/duo/OutwardFlow.js +0 -13
  322. package/dist/internal-icons/icons/duo/PaperPlaneFast.d.ts +0 -7
  323. package/dist/internal-icons/icons/duo/PaperPlaneFast.js +0 -13
  324. package/dist/internal-icons/icons/duo/Parachute.d.ts +0 -7
  325. package/dist/internal-icons/icons/duo/Parachute.js +0 -13
  326. package/dist/internal-icons/icons/duo/Paw.d.ts +0 -7
  327. package/dist/internal-icons/icons/duo/Paw.js +0 -13
  328. package/dist/internal-icons/icons/duo/Peace.d.ts +0 -7
  329. package/dist/internal-icons/icons/duo/Peace.js +0 -13
  330. package/dist/internal-icons/icons/duo/PicnicTable.d.ts +0 -7
  331. package/dist/internal-icons/icons/duo/PicnicTable.js +0 -13
  332. package/dist/internal-icons/icons/duo/Pillow.d.ts +0 -7
  333. package/dist/internal-icons/icons/duo/Pillow.js +0 -13
  334. package/dist/internal-icons/icons/duo/Playground.d.ts +0 -7
  335. package/dist/internal-icons/icons/duo/Playground.js +0 -13
  336. package/dist/internal-icons/icons/duo/Playlist4.d.ts +0 -7
  337. package/dist/internal-icons/icons/duo/Playlist4.js +0 -13
  338. package/dist/internal-icons/icons/duo/Plug3.d.ts +0 -7
  339. package/dist/internal-icons/icons/duo/Plug3.js +0 -13
  340. package/dist/internal-icons/icons/duo/Plug3Sparkle.d.ts +0 -7
  341. package/dist/internal-icons/icons/duo/Plug3Sparkle.js +0 -13
  342. package/dist/internal-icons/icons/duo/PlugOff.d.ts +0 -7
  343. package/dist/internal-icons/icons/duo/PlugOff.js +0 -13
  344. package/dist/internal-icons/icons/duo/PlugSparkle.d.ts +0 -7
  345. package/dist/internal-icons/icons/duo/PlugSparkle.js +0 -13
  346. package/dist/internal-icons/icons/duo/PopEffect.d.ts +0 -7
  347. package/dist/internal-icons/icons/duo/PopEffect.js +0 -13
  348. package/dist/internal-icons/icons/duo/ProfileAnalytics.d.ts +0 -7
  349. package/dist/internal-icons/icons/duo/ProfileAnalytics.js +0 -13
  350. package/dist/internal-icons/icons/duo/ProfileBasic.d.ts +0 -7
  351. package/dist/internal-icons/icons/duo/ProgressIndicator2.d.ts +0 -7
  352. package/dist/internal-icons/icons/duo/ProgressIndicator2.js +0 -13
  353. package/dist/internal-icons/icons/duo/QuickActions.d.ts +0 -7
  354. package/dist/internal-icons/icons/duo/QuickActions.js +0 -13
  355. package/dist/internal-icons/icons/duo/QuickTimer.d.ts +0 -7
  356. package/dist/internal-icons/icons/duo/QuickTimer.js +0 -13
  357. package/dist/internal-icons/icons/duo/Rabbit.d.ts +0 -7
  358. package/dist/internal-icons/icons/duo/Rabbit.js +0 -13
  359. package/dist/internal-icons/icons/duo/Receipt3.d.ts +0 -7
  360. package/dist/internal-icons/icons/duo/Receipt3.js +0 -13
  361. package/dist/internal-icons/icons/duo/Receipt4.d.ts +0 -7
  362. package/dist/internal-icons/icons/duo/Receipt4.js +0 -13
  363. package/dist/internal-icons/icons/duo/Redo2.d.ts +0 -7
  364. package/dist/internal-icons/icons/duo/Redo2.js +0 -13
  365. package/dist/internal-icons/icons/duo/Redo3.d.ts +0 -7
  366. package/dist/internal-icons/icons/duo/Redo3.js +0 -13
  367. package/dist/internal-icons/icons/duo/Refresh3AnticlockwiseSlash.d.ts +0 -7
  368. package/dist/internal-icons/icons/duo/Refresh3AnticlockwiseSlash.js +0 -13
  369. package/dist/internal-icons/icons/duo/Refresh3ClockwiseSlash.d.ts +0 -7
  370. package/dist/internal-icons/icons/duo/Refresh3ClockwiseSlash.js +0 -13
  371. package/dist/internal-icons/icons/duo/RefreshAnticlockwiseSlash.d.ts +0 -7
  372. package/dist/internal-icons/icons/duo/RefreshAnticlockwiseSlash.js +0 -13
  373. package/dist/internal-icons/icons/duo/RefreshClockwiseSlash.d.ts +0 -7
  374. package/dist/internal-icons/icons/duo/RefreshClockwiseSlash.js +0 -13
  375. package/dist/internal-icons/icons/duo/Refrigerator.d.ts +0 -7
  376. package/dist/internal-icons/icons/duo/Refrigerator.js +0 -13
  377. package/dist/internal-icons/icons/duo/RemoteControl.d.ts +0 -7
  378. package/dist/internal-icons/icons/duo/RemoteControl.js +0 -13
  379. package/dist/internal-icons/icons/duo/RemoteControl2.d.ts +0 -7
  380. package/dist/internal-icons/icons/duo/RemoteControl2.js +0 -13
  381. package/dist/internal-icons/icons/duo/ReportFile.d.ts +0 -7
  382. package/dist/internal-icons/icons/duo/ReportFile.js +0 -13
  383. package/dist/internal-icons/icons/duo/Reposition.d.ts +0 -7
  384. package/dist/internal-icons/icons/duo/Reposition.js +0 -13
  385. package/dist/internal-icons/icons/duo/Rerouting.d.ts +0 -7
  386. package/dist/internal-icons/icons/duo/Rerouting.js +0 -13
  387. package/dist/internal-icons/icons/duo/Robot2.d.ts +0 -7
  388. package/dist/internal-icons/icons/duo/Robot2.js +0 -13
  389. package/dist/internal-icons/icons/duo/Robot3.d.ts +0 -7
  390. package/dist/internal-icons/icons/duo/Robot3.js +0 -13
  391. package/dist/internal-icons/icons/duo/Robot4.d.ts +0 -7
  392. package/dist/internal-icons/icons/duo/Robot4.js +0 -13
  393. package/dist/internal-icons/icons/duo/RockOn.d.ts +0 -7
  394. package/dist/internal-icons/icons/duo/RockOn.js +0 -13
  395. package/dist/internal-icons/icons/duo/RopeStanchions.d.ts +0 -7
  396. package/dist/internal-icons/icons/duo/RopeStanchions.js +0 -13
  397. package/dist/internal-icons/icons/duo/Rotation3602.d.ts +0 -7
  398. package/dist/internal-icons/icons/duo/Rotation3602.js +0 -13
  399. package/dist/internal-icons/icons/duo/SavedItems2.d.ts +0 -7
  400. package/dist/internal-icons/icons/duo/SavedItems2.js +0 -13
  401. package/dist/internal-icons/icons/duo/ScaleImg4k.d.ts +0 -7
  402. package/dist/internal-icons/icons/duo/ScaleImg4k.js +0 -13
  403. package/dist/internal-icons/icons/duo/ScanImage.d.ts +0 -7
  404. package/dist/internal-icons/icons/duo/ScanImage.js +0 -13
  405. package/dist/internal-icons/icons/duo/ScissorsSparkle.d.ts +0 -7
  406. package/dist/internal-icons/icons/duo/ScissorsSparkle.js +0 -13
  407. package/dist/internal-icons/icons/duo/Seatbelt.d.ts +0 -7
  408. package/dist/internal-icons/icons/duo/Seatbelt.js +0 -13
  409. package/dist/internal-icons/icons/duo/ShakaHand.d.ts +0 -7
  410. package/dist/internal-icons/icons/duo/ShakaHand.js +0 -13
  411. package/dist/internal-icons/icons/duo/ShapeRectangle.d.ts +0 -7
  412. package/dist/internal-icons/icons/duo/ShapeRectangle.js +0 -13
  413. package/dist/internal-icons/icons/duo/Shovel.d.ts +0 -7
  414. package/dist/internal-icons/icons/duo/Shovel.js +0 -13
  415. package/dist/internal-icons/icons/duo/ShuffleSparkle.d.ts +0 -7
  416. package/dist/internal-icons/icons/duo/ShuffleSparkle.js +0 -13
  417. package/dist/internal-icons/icons/duo/SideProfileQuestion.d.ts +0 -7
  418. package/dist/internal-icons/icons/duo/SideProfileQuestion.js +0 -13
  419. package/dist/internal-icons/icons/duo/SideProfileSparkle.d.ts +0 -7
  420. package/dist/internal-icons/icons/duo/SideProfileSparkle.js +0 -13
  421. package/dist/internal-icons/icons/duo/SidebarEdit.d.ts +0 -7
  422. package/dist/internal-icons/icons/duo/SidebarEdit.js +0 -13
  423. package/dist/internal-icons/icons/duo/SlashCircle.d.ts +0 -7
  424. package/dist/internal-icons/icons/duo/SlashCircle.js +0 -13
  425. package/dist/internal-icons/icons/duo/Sliders4.d.ts +0 -7
  426. package/dist/internal-icons/icons/duo/Sliders4.js +0 -13
  427. package/dist/internal-icons/icons/duo/Snail.d.ts +0 -7
  428. package/dist/internal-icons/icons/duo/Snail.js +0 -13
  429. package/dist/internal-icons/icons/duo/Spiral.d.ts +0 -7
  430. package/dist/internal-icons/icons/duo/Spiral.js +0 -13
  431. package/dist/internal-icons/icons/duo/SplitView.d.ts +0 -7
  432. package/dist/internal-icons/icons/duo/SplitView.js +0 -13
  433. package/dist/internal-icons/icons/duo/SquareDashedSearchSparkle.d.ts +0 -7
  434. package/dist/internal-icons/icons/duo/SquareDashedSearchSparkle.js +0 -13
  435. package/dist/internal-icons/icons/duo/SquareDashedText.d.ts +0 -7
  436. package/dist/internal-icons/icons/duo/SquareDashedText.js +0 -13
  437. package/dist/internal-icons/icons/duo/SquarePath.d.ts +0 -7
  438. package/dist/internal-icons/icons/duo/SquarePath.js +0 -13
  439. package/dist/internal-icons/icons/duo/Star2Slash.d.ts +0 -7
  440. package/dist/internal-icons/icons/duo/Star2Slash.js +0 -13
  441. package/dist/internal-icons/icons/duo/StopSign.d.ts +0 -7
  442. package/dist/internal-icons/icons/duo/StopSign.js +0 -13
  443. package/dist/internal-icons/icons/duo/StopwatchBolt.d.ts +0 -7
  444. package/dist/internal-icons/icons/duo/StopwatchBolt.js +0 -13
  445. package/dist/internal-icons/icons/duo/SummitFlag.d.ts +0 -7
  446. package/dist/internal-icons/icons/duo/SummitFlag.js +0 -13
  447. package/dist/internal-icons/icons/duo/Sunrise2.d.ts +0 -7
  448. package/dist/internal-icons/icons/duo/Sunrise2.js +0 -13
  449. package/dist/internal-icons/icons/duo/Task.d.ts +0 -7
  450. package/dist/internal-icons/icons/duo/Task.js +0 -13
  451. package/dist/internal-icons/icons/duo/Task2.d.ts +0 -7
  452. package/dist/internal-icons/icons/duo/Task2.js +0 -13
  453. package/dist/internal-icons/icons/duo/TaskDebug.d.ts +0 -7
  454. package/dist/internal-icons/icons/duo/TaskDebug.js +0 -13
  455. package/dist/internal-icons/icons/duo/TaskSearch.d.ts +0 -7
  456. package/dist/internal-icons/icons/duo/TaskSearch.js +0 -13
  457. package/dist/internal-icons/icons/duo/Teepee.d.ts +0 -7
  458. package/dist/internal-icons/icons/duo/Teepee.js +0 -13
  459. package/dist/internal-icons/icons/duo/TextAdjust.d.ts +0 -7
  460. package/dist/internal-icons/icons/duo/TextAdjust.js +0 -13
  461. package/dist/internal-icons/icons/duo/TheatreMask.d.ts +0 -7
  462. package/dist/internal-icons/icons/duo/TheatreMask.js +0 -13
  463. package/dist/internal-icons/icons/duo/TheatreMask2.d.ts +0 -7
  464. package/dist/internal-icons/icons/duo/TheatreMask2.js +0 -13
  465. package/dist/internal-icons/icons/duo/TimerProgress.d.ts +0 -7
  466. package/dist/internal-icons/icons/duo/TimerProgress.js +0 -13
  467. package/dist/internal-icons/icons/duo/TimerProgress2.d.ts +0 -7
  468. package/dist/internal-icons/icons/duo/TimerProgress2.js +0 -13
  469. package/dist/internal-icons/icons/duo/TransactionSplit.d.ts +0 -7
  470. package/dist/internal-icons/icons/duo/TransactionSplit.js +0 -13
  471. package/dist/internal-icons/icons/duo/Undo2.d.ts +0 -7
  472. package/dist/internal-icons/icons/duo/Undo2.js +0 -13
  473. package/dist/internal-icons/icons/duo/Undo3.d.ts +0 -7
  474. package/dist/internal-icons/icons/duo/Undo3.js +0 -13
  475. package/dist/internal-icons/icons/duo/UnicornHead.d.ts +0 -7
  476. package/dist/internal-icons/icons/duo/UnicornHead.js +0 -13
  477. package/dist/internal-icons/icons/duo/UserContact.d.ts +0 -7
  478. package/dist/internal-icons/icons/duo/UserContact.js +0 -13
  479. package/dist/internal-icons/icons/duo/UserVoice2.d.ts +0 -7
  480. package/dist/internal-icons/icons/duo/UserVoice2.js +0 -13
  481. package/dist/internal-icons/icons/duo/VipBadge.d.ts +0 -7
  482. package/dist/internal-icons/icons/duo/VipBadge.js +0 -13
  483. package/dist/internal-icons/icons/duo/VoiceCaption.d.ts +0 -7
  484. package/dist/internal-icons/icons/duo/VoiceCaption.js +0 -13
  485. package/dist/internal-icons/icons/duo/WalletCoins.d.ts +0 -7
  486. package/dist/internal-icons/icons/duo/WalletCoins.js +0 -13
  487. package/dist/internal-icons/icons/duo/Weight.d.ts +0 -7
  488. package/dist/internal-icons/icons/duo/Weight.js +0 -13
package/dist/catalog.json CHANGED
@@ -32,6 +32,12 @@
32
32
  "summary": "Icon-only button that requires an accessible name through aria-label or aria-labelledby.",
33
33
  "guidePath": "./components/icon-button/icon-button.guide.json"
34
34
  },
35
+ {
36
+ "id": "linear-progress",
37
+ "name": "LinearProgress",
38
+ "summary": "Shows determinate or indeterminate progress for a task in a compact horizontal track.",
39
+ "guidePath": "./components/linear-progress/linear-progress.guide.json"
40
+ },
35
41
  {
36
42
  "id": "textfield",
37
43
  "name": "Textfield",
@@ -62,6 +68,12 @@
62
68
  "summary": "Field-wrapped checkbox control with optional field copy.",
63
69
  "guidePath": "./components/checkbox/checkbox.guide.json"
64
70
  },
71
+ {
72
+ "id": "radio",
73
+ "name": "Radio",
74
+ "summary": "Mutually exclusive choice within a RadioGroup, with optional per-option label and helper text.",
75
+ "guidePath": "./components/radio/radio.guide.json"
76
+ },
65
77
  {
66
78
  "id": "select",
67
79
  "name": "Select",
@@ -1,5 +1,5 @@
1
- import './basic-input.css';
2
1
  "use client";
2
+ import './basic-input.css';
3
3
  import basic_input_module_default from "./basic-input.module.js";
4
4
  import { clsx } from "clsx";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -16,7 +16,7 @@ var FieldHelperCopy = ({ className, description, error }) => /* @__PURE__ */ jsx
16
16
  match: true,
17
17
  render: /* @__PURE__ */ jsx(Text, {
18
18
  selection: false,
19
- size: "x-small",
19
+ size: "small",
20
20
  tone: "danger"
21
21
  }),
22
22
  children: error
@@ -25,7 +25,7 @@ var FieldHelperCopy = ({ className, description, error }) => /* @__PURE__ */ jsx
25
25
  className,
26
26
  render: /* @__PURE__ */ jsx(Text, {
27
27
  selection: false,
28
- size: "x-small",
28
+ size: "small",
29
29
  tone: "muted"
30
30
  }),
31
31
  children: description
@@ -34,7 +34,7 @@ var FieldHelperCopy = ({ className, description, error }) => /* @__PURE__ */ jsx
34
34
  className,
35
35
  render: /* @__PURE__ */ jsx(Text, {
36
36
  selection: false,
37
- size: "x-small",
37
+ size: "small",
38
38
  tone: "danger"
39
39
  })
40
40
  });
@@ -1,5 +1,6 @@
1
+ import { TextProps } from '../text';
1
2
  import type * as React from 'react';
2
- export type FieldLabelProps = React.ComponentProps<'span'>;
3
+ export type FieldLabelProps = TextProps;
3
4
  /**
4
5
  * Shared visible field label typography for Vira field components.
5
6
  *
@@ -1,5 +1,5 @@
1
- import './field-label.css';
2
1
  "use client";
2
+ import './field-label.css';
3
3
  import { Text } from "../text/text.js";
4
4
  import field_label_module_default from "./field-label.module.js";
5
5
  import { clsx } from "clsx";
@@ -12,12 +12,13 @@ import { jsx } from "react/jsx-runtime";
12
12
  * label must associate with a control; choice inputs wrap `Field.Label` around the
13
13
  * control and render this component for the visible label copy.
14
14
  */
15
- var FieldLabel = ({ children, className }) => /* @__PURE__ */ jsx(Text, {
15
+ var FieldLabel = ({ children, className, size = "small", ...textProps }) => /* @__PURE__ */ jsx(Text, {
16
16
  className: clsx(field_label_module_default.FieldLabel, className),
17
17
  lineHeight: "small",
18
18
  selection: false,
19
- size: "small",
19
+ size,
20
20
  weight: "semibold",
21
+ ...textProps,
21
22
  children
22
23
  });
23
24
  //#endregion
@@ -1 +1 @@
1
- .button-module_Button_oPhrP{--button-background:var(--global-primary);--button-color:var(--base-1);--button-height:var(--space-2x-large);--button-padding-inline:var(--space-medium);--button-padding-block:var(--space-small);--button-spinner-color:currentColor;--button-icon-size:1.125em;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;min-inline-size:min-content;max-block-size:var(--button-height);block-size:var(--button-height);justify-content:center;text-decoration:none;white-space:nowrap;appearance:button;overflow:hidden;position:relative;padding:var(--button-padding-block) var(--button-padding-inline);font-weight:400;font-variation-settings:"wght" 400;gap:var(--space-small);border:1px solid transparent;background:var(--button-background);color:var(--button-color);font-size:var(--font-scale-body-medium);border-radius:var(--radius-small);transition:translate var(--easing-elastic) var(--duration-instant);background-clip:padding-box;will-change:translate;&:not(:disabled):active{translate:0 1px}&[data-size=medium]{--button-height:var(--space-x-large);--button-padding-inline:var(--space-small);--button-padding-block:var(--space-small);--button-icon-size:1.125em;gap:var(--space-x-small)}&[data-size=small]{--button-height:var(--space-large);--button-padding-inline:var(--space-small);--button-padding-block:var(--space-x-small);--button-icon-size:0.9em;gap:var(--space-x-small);font-size:var(--font-scale-body-small)}&[data-variant=primary]{--button-background:var(--global-primary);--button-color:contrast-color(var(--global-primary))}&[data-variant=secondary]{--button-background:var(--global-contrast);--button-color:var(--base-6);background-clip:unset;&:hover{--button-background:oklab(from var(--global-contrast) l a b/calc(alpha + 0.05))}}&[data-variant=flat]{--button-background:transparent;--button-color:var(--base-5);&:hover{--button-background:var(--base-1);--button-color:var(--base-7)}}&[data-variant=destructive]{--button-background:oklab(from var(--highlight-red) l a b/20%);--button-color:var(--highlight-red);&:hover{--button-background:oklab(from var(--highlight-red) l a b/30%)}}&[data-icon-position=start]{flex-direction:row}&[data-icon-position=end]{flex-direction:row-reverse}&[data-icon-only=true]{gap:0;padding-block:var(--button-padding-block);padding-inline:var(--button-padding-block);inline-size:var(--button-height);min-inline-size:var(--button-height);max-inline-size:var(--button-height);aspect-ratio:1/1}&:disabled,&:disabled:hover,&[aria-disabled=true]{--button-background:var(--global-disabled-background);--button-color:var(--global-disabled-foreground);cursor:not-allowed;box-shadow:none}&[data-loading=true][data-disabled]{pointer-events:none;border:0;box-shadow:none;--button-color:var(--base-7)}}.button-module_Content_w-pX-{display:inline-grid;place-items:center;&[data-loading=true]{opacity:0}&:first-child>svg{block-size:var(--button-icon-size);inline-size:var(--button-icon-size);flex-shrink:0}}.button-module_SpinnerOverlay_vKqw1{position:absolute;inset:0;display:grid;place-content:center;pointer-events:none}
1
+ .button-module_Button_oPhrP{--button-background:var(--global-primary);--button-color:var(--base-1);--button-height:var(--space-2x-large);--button-padding-inline:var(--space-medium);--button-padding-block:var(--space-small);--button-spinner-color:currentColor;--button-icon-size:1.125em;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;min-inline-size:min-content;max-block-size:var(--button-height);block-size:var(--button-height);justify-content:center;text-decoration:none;white-space:nowrap;appearance:button;overflow:hidden;position:relative;padding:var(--button-padding-block) var(--button-padding-inline);font-weight:400;font-variation-settings:"wght" 400;gap:var(--space-small);border:1px solid transparent;background:var(--button-background);color:var(--button-color);font-size:var(--font-scale-body-medium);border-radius:var(--radius-small);transition:translate var(--easing-elastic) var(--duration-instant);background-clip:padding-box;will-change:translate;&:not(:disabled):active{translate:0 1px}&[data-size=medium]{--button-height:var(--space-x-large);--button-padding-inline:var(--space-small);--button-padding-block:var(--space-small);--button-icon-size:1.125em}&[data-size=small]{--button-height:var(--space-large);--button-padding-inline:var(--space-small);--button-padding-block:var(--space-x-small);--button-icon-size:0.9em;gap:var(--space-x-small);font-size:var(--font-scale-body-small)}&[data-variant=primary]{--button-background:var(--global-primary);--button-color:contrast-color(var(--global-primary))}&[data-variant=secondary]{--button-background:var(--global-contrast);--button-color:var(--base-6);background-clip:unset;&:hover{--button-background:oklab(from var(--global-contrast) l a b/calc(alpha + 0.05))}}&[data-variant=flat]{--button-background:transparent;--button-color:var(--base-5);&:hover{--button-background:var(--global-contrast);--button-color:var(--base-7)}}&[data-variant=destructive]{--button-background:oklab(from var(--highlight-red) l a b/15%);--button-color:var(--highlight-red);&:hover{--button-background:oklab(from var(--highlight-red) l a b/30%)}}&[data-icon-position=start]{flex-direction:row}&[data-icon-position=end]{flex-direction:row-reverse}&[data-icon-only=true]{gap:0;padding-block:var(--button-padding-block);padding-inline:var(--button-padding-block);inline-size:var(--button-height);min-inline-size:var(--button-height);max-inline-size:var(--button-height);aspect-ratio:1/1}&:disabled,&:disabled:hover,&[aria-disabled=true]{--button-background:var(--global-disabled-background);--button-color:var(--global-disabled-foreground);cursor:not-allowed;box-shadow:none}&[data-loading=true][data-disabled]{pointer-events:none;border:0;box-shadow:none;--button-color:var(--base-7)}}.button-module_Content_w-pX-{display:inline-grid;place-items:center;&[data-loading=true]{opacity:0}&:first-child>svg{block-size:var(--button-icon-size);inline-size:var(--button-icon-size);flex-shrink:0}}.button-module_SpinnerOverlay_vKqw1{position:absolute;inset:0;display:grid;place-content:center;pointer-events:none}
@@ -1,5 +1,5 @@
1
- import './button.css';
2
1
  "use client";
2
+ import './button.css';
3
3
  import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
4
  import { Spinner } from "../spinner/spinner.js";
5
5
  import button_module_default from "./button.module.js";
@@ -1 +1 @@
1
- .checkbox-module_Checkbox_3oGip{--checkbox-size:var(--space-medium);--checkbox-radius:var(--radius-x-small);--checkbox-background:var(--global-contrast);--checkbox-border-color:transparent;--checkbox-indicator-color:contrast-color(var(--global-primary));&:has([required]) [data-field-label]:after{content:" *";color:var(--highlight-red)}}.checkbox-module_CheckboxRoot_PeyF5{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;appearance:none;border:0;box-shadow:inset 0 0 0 1px var(--checkbox-border-color);inline-size:var(--checkbox-size);block-size:var(--checkbox-size);background:var(--checkbox-background);border-radius:var(--checkbox-radius);&[data-size=regular]{--checkbox-size:var(--space-large);--checkbox-radius:var(--radius-small)}&[data-checked]:not([data-disabled]):not([data-invalid]),&[data-indeterminate]:not([data-disabled]):not([data-invalid]){--checkbox-background:var(--global-primary);--checkbox-border-color:var(--global-primary);box-shadow:none}&[data-invalid]:not([data-disabled]),.checkbox-module_Checkbox_3oGip[data-invalid]>&:not([data-disabled]){--checkbox-border-color:var(--highlight-red);--checkbox-indicator-color:var(--highlight-red);box-shadow:inset 0 0 0 1px var(--highlight-red);outline-color:oklab(from var(--highlight-red) l a b/.5)}&[data-disabled],.checkbox-module_Checkbox_3oGip[data-disabled]>&{--checkbox-background:var(--global-disabled-background);--checkbox-border-color:transparent;--checkbox-indicator-color:var(--global-disabled-foreground);box-shadow:none}}.checkbox-module_Indicator_C-k-l{display:inline-flex;align-items:center;justify-content:center;color:var(--checkbox-indicator-color)}.checkbox-module_Icon_926Sa{stroke:currentColor}.checkbox-module_CheckboxRoot_PeyF5:not([data-indeterminate]) .checkbox-module_MinusIcon_Q57pY,.checkbox-module_CheckboxRoot_PeyF5[data-indeterminate] .checkbox-module_CheckIcon_XqUcs{display:none}.checkbox-module_CheckboxRoot_PeyF5[data-indeterminate] .checkbox-module_MinusIcon_Q57pY{display:inline-flex}
1
+ .checkbox-module_Checkbox_3oGip{--checkbox-size:var(--space-medium);--checkbox-radius:var(--radius-x-small);--checkbox-background:var(--global-contrast);--checkbox-border-color:transparent;--checkbox-indicator-color:contrast-color(var(--global-primary));&:has([required]) [data-field-label]:after{content:" *";color:var(--highlight-red)}}.checkbox-module_CheckboxRoot_PeyF5{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;appearance:none;border:0;box-shadow:inset 0 0 0 1px var(--checkbox-border-color);inline-size:var(--checkbox-size);block-size:var(--checkbox-size);background:var(--checkbox-background);border-radius:var(--checkbox-radius);&[data-size=regular]{--checkbox-size:var(--space-large);--checkbox-radius:var(--radius-small)}&[data-checked]:not([data-disabled]):not([data-invalid]),&[data-indeterminate]:not([data-disabled]):not([data-invalid]){--checkbox-background:var(--global-primary);--checkbox-border-color:var(--global-primary);box-shadow:none}&[data-invalid]:not([data-disabled]),.checkbox-module_Checkbox_3oGip[data-invalid]>&:not([data-disabled]){--checkbox-border-color:var(--highlight-red);--checkbox-indicator-color:var(--global-primary);box-shadow:inset 0 0 0 1px var(--highlight-red);outline-color:oklab(from var(--highlight-red) l a b/.5)}&[data-disabled],.checkbox-module_Checkbox_3oGip[data-disabled]>&{--checkbox-background:var(--global-disabled-background);--checkbox-border-color:transparent;--checkbox-indicator-color:var(--global-disabled-foreground);box-shadow:none}}.checkbox-module_Indicator_C-k-l{display:inline-flex;align-items:center;justify-content:center;color:var(--checkbox-indicator-color)}.checkbox-module_Icon_926Sa{stroke:currentColor}.checkbox-module_CheckboxRoot_PeyF5:not([data-indeterminate]) .checkbox-module_MinusIcon_Q57pY,.checkbox-module_CheckboxRoot_PeyF5[data-indeterminate] .checkbox-module_CheckIcon_XqUcs{display:none}.checkbox-module_CheckboxRoot_PeyF5[data-indeterminate] .checkbox-module_MinusIcon_Q57pY{display:inline-flex}
@@ -1,5 +1,5 @@
1
- import './checkbox.css';
2
1
  "use client";
2
+ import './checkbox.css';
3
3
  import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
4
  import { FieldHelperCopy } from "../basic-input/field-helper-copy.js";
5
5
  import { FieldLabel } from "../basic-input/field-label.js";
@@ -61,7 +61,10 @@ var Checkbox$1 = ({ className, description, dirty, disabled, error, invalid, lab
61
61
  direction: "column",
62
62
  fillChildren: false,
63
63
  rowGap: size === "small" ? "2x-small" : "x-small",
64
- children: [label && /* @__PURE__ */ jsx(FieldLabel, { children: label }), /* @__PURE__ */ jsx(FieldHelperCopy, {
64
+ children: [label && /* @__PURE__ */ jsx(FieldLabel, {
65
+ size: size === "small" ? "small" : "medium",
66
+ children: label
67
+ }), /* @__PURE__ */ jsx(FieldHelperCopy, {
65
68
  description,
66
69
  error
67
70
  })]
@@ -1,5 +1,5 @@
1
- import './clamp-text.css';
2
1
  "use client";
2
+ import './clamp-text.css';
3
3
  import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
4
  import clamp_text_module_default from "./clamp-text.module.js";
5
5
  import { clsx } from "clsx";
@@ -1,2 +1,2 @@
1
1
  export { Icon } from './icon';
2
- export type { IconProps } from './icon';
2
+ export type { IconName, IconProps, IconVariant } from './icon';
@@ -3,11 +3,13 @@ export * from './clamp-text';
3
3
  export * from './elevator';
4
4
  export * from './button';
5
5
  export * from './icon-button';
6
+ export * from './linear-progress';
6
7
  export * from './textfield';
7
8
  export * from './textarea';
8
9
  export * from './slider';
9
10
  export * from './switch';
10
11
  export * from './checkbox';
12
+ export * from './radio';
11
13
  export * from './select';
12
14
  export * from './icon';
13
15
  export * from './skeleton';
@@ -0,0 +1,2 @@
1
+ export { LinearProgress } from './linear-progress';
2
+ export type { LinearProgressProps } from './linear-progress';
@@ -0,0 +1 @@
1
+ .linear-progress-module_LinearProgress_-KN0j{--linear-progress-track-size:var(--space-x-small);--linear-progress-track-background:var(--global-contrast);--linear-progress-indicator-color:var(--global-primary);& .linear-progress-module_Track_qUz8P{position:relative;overflow:hidden;block-size:var(--linear-progress-track-size);background:var(--linear-progress-track-background);border-radius:var(--radius-infinite)}& .linear-progress-module_Indicator_maaZF{block-size:100%;background:var(--linear-progress-indicator-color);border-radius:inherit;&[data-indeterminate]{position:absolute;inset:0;inline-size:100%;background:transparent;&:before{position:absolute;inset-block:0;inline-size:40%;background:var(--linear-progress-indicator-color);border-radius:inherit;animation:linear-progress-module_linear-progress-indeterminate_g0cSO 1.4s var(--easing-standard) infinite;content:""}}}}@keyframes linear-progress-module_linear-progress-indeterminate_g0cSO{0%{transform:translateX(-120%)}to{transform:translateX(260%)}}
@@ -0,0 +1,44 @@
1
+ import { ProgressRoot } from '@base-ui/react/progress';
2
+ import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
3
+ import type * as React from 'react';
4
+ /**
5
+ * Public LinearProgress props.
6
+ *
7
+ * Includes Base UI progress root props such as `value`, `min`, `max`, `format`,
8
+ * and `getAriaValueText`, plus optional label, description, and value display.
9
+ *
10
+ * @default Base UI pass-through props keep upstream defaults.
11
+ */
12
+ export type LinearProgressProps = ProgressRoot.Props & {
13
+ /**
14
+ * Adds `data-grow="false"` to the progress root when false.
15
+ *
16
+ * @default The progress root does not render a grow attribute.
17
+ */
18
+ grow?: IntrinsicViraProps['grow'];
19
+ /**
20
+ * Adds `data-shrink="false"` to the progress root when false.
21
+ *
22
+ * @default The progress root does not render a shrink attribute.
23
+ */
24
+ shrink?: IntrinsicViraProps['shrink'];
25
+ /**
26
+ * Visible label rendered through `Progress.Label` with shared internal `FieldLabel`.
27
+ *
28
+ * @default No label is rendered.
29
+ */
30
+ label?: React.ReactNode;
31
+ /**
32
+ * Static helper copy rendered with `Text` below the progress track.
33
+ *
34
+ * @default No description is rendered.
35
+ */
36
+ description?: React.ReactNode;
37
+ /**
38
+ * Renders the formatted current value via `Progress.Value` and `Text`.
39
+ *
40
+ * @default false
41
+ */
42
+ showValue?: boolean;
43
+ };
44
+ export declare const LinearProgress: React.FC<LinearProgressProps>;
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "LinearProgress",
3
+ "summary": "Shows determinate or indeterminate progress for a task in a compact horizontal track.",
4
+ "whenToUse": [
5
+ "Use for task completion with a known percentage or bounded numeric value.",
6
+ "Use with `value={null}` when progress is active but the amount complete is unknown.",
7
+ "Use with a label when the progress bar needs a visible task name."
8
+ ],
9
+ "whenNotToUse": [
10
+ "Use Spinner for a small standalone loading affordance without task context.",
11
+ "Use Skeleton when representing loading content layout.",
12
+ "Use Slider when the user needs to choose or adjust a value."
13
+ ],
14
+ "accessibility": [
15
+ "Provide a visible `label` or an accessible name through Base UI progress props when the task is not otherwise clear.",
16
+ "Use determinate numeric `value` when actual progress is known.",
17
+ "Use `value={null}` only for truly indeterminate work."
18
+ ],
19
+ "antiPatterns": [
20
+ "Do not use LinearProgress as an interactive value control.",
21
+ "Do not add fake percentages for work where progress is unknown.",
22
+ "Do not model invalid progress; Base UI Progress does not expose an invalid state.",
23
+ "Do not model disabled progress; Base UI Progress does not expose a disabled state.",
24
+ "Do not hide the task label when multiple progress indicators are visible."
25
+ ],
26
+ "related": ["Slider", "Spinner", "Skeleton", "Text"]
27
+ }
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ import './linear-progress.css';
3
+ import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
+ import { Text } from "../text/text.js";
5
+ import { FieldLabel } from "../basic-input/field-label.js";
6
+ import { Stack } from "../stack/stack.js";
7
+ import linear_progress_module_default from "./linear-progress.module.js";
8
+ import { clsx } from "clsx";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ import { Progress } from "@base-ui/react/progress";
11
+ //#region src/components/linear-progress/linear-progress.tsx
12
+ var LinearProgress = ({ className, description, label, showValue = false, value, ref, ...progressRootProps }) => {
13
+ const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(progressRootProps);
14
+ return /* @__PURE__ */ jsxs(Progress.Root, {
15
+ ...componentProps,
16
+ ...intrinsicAttributes,
17
+ ref,
18
+ className: clsx(linear_progress_module_default.LinearProgress, className),
19
+ value,
20
+ render: /* @__PURE__ */ jsx(Stack, {
21
+ direction: "column",
22
+ fillChildren: false,
23
+ rowGap: "small",
24
+ columnGap: "x-small"
25
+ }),
26
+ children: [
27
+ (label || showValue) && /* @__PURE__ */ jsxs(Stack, {
28
+ direction: "row",
29
+ fillChildren: false,
30
+ columnGap: "small",
31
+ vAlign: "center",
32
+ hAlign: "space-between",
33
+ children: [label && /* @__PURE__ */ jsx(Progress.Label, {
34
+ render: /* @__PURE__ */ jsx(FieldLabel, {}),
35
+ children: label
36
+ }), showValue && /* @__PURE__ */ jsx(Text, {
37
+ size: "small",
38
+ tone: "muted",
39
+ family: "mono",
40
+ whiteSpace: "nowrap",
41
+ selection: false,
42
+ align: "end",
43
+ shrink: false,
44
+ render: /* @__PURE__ */ jsx(Progress.Value, { render: /* @__PURE__ */ jsx("output", {}) })
45
+ })]
46
+ }),
47
+ /* @__PURE__ */ jsx(Progress.Track, {
48
+ className: linear_progress_module_default.Track,
49
+ children: /* @__PURE__ */ jsx(Progress.Indicator, { className: linear_progress_module_default.Indicator })
50
+ }),
51
+ description && /* @__PURE__ */ jsx(Text, {
52
+ className: linear_progress_module_default.Description,
53
+ size: "small",
54
+ tone: "muted",
55
+ children: description
56
+ })
57
+ ]
58
+ });
59
+ };
60
+ //#endregion
61
+ export { LinearProgress };
@@ -0,0 +1,8 @@
1
+ var linear_progress_module_default = {
2
+ LinearProgress: "linear-progress-module_LinearProgress_-KN0j",
3
+ "linear-progress-indeterminate": "linear-progress-module_linear-progress-indeterminate_g0cSO",
4
+ Track: "linear-progress-module_Track_qUz8P",
5
+ Indicator: "linear-progress-module_Indicator_maaZF"
6
+ };
7
+ //#endregion
8
+ export { linear_progress_module_default as default };
@@ -0,0 +1,4 @@
1
+ export { Radio } from './radio';
2
+ export { RadioGroup } from './radio-group';
3
+ export type { RadioProps } from './radio';
4
+ export type { RadioGroupProps } from './radio-group';
@@ -0,0 +1,44 @@
1
+ import { FieldRoot, RadioGroup as RadioGroupPrimitive } from '@base-ui/react';
2
+ import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
3
+ import type * as React from 'react';
4
+ /**
5
+ * Public RadioGroup props.
6
+ *
7
+ * Thin wrapper around Base UI `RadioGroup` with group-level Field validation.
8
+ * Layout and spacing between options are owned by the consumer.
9
+ *
10
+ * @default Base UI pass-through props keep upstream defaults.
11
+ */
12
+ export type RadioGroupProps = RadioGroupPrimitive.Props & Omit<FieldRoot.Props, 'ref'> & {
13
+ /**
14
+ * Adds `data-grow="false"` to the field root when false.
15
+ *
16
+ * @default The field root does not render a grow attribute.
17
+ */
18
+ grow?: IntrinsicViraProps['grow'];
19
+ /**
20
+ * Adds `data-shrink="false"` to the field root when false.
21
+ *
22
+ * @default The field root does not render a shrink attribute.
23
+ */
24
+ shrink?: IntrinsicViraProps['shrink'];
25
+ /**
26
+ * Visible group label rendered with shared internal `FieldLabel`.
27
+ *
28
+ * @default No label is rendered.
29
+ */
30
+ label?: React.ReactNode;
31
+ /**
32
+ * Group helper copy rendered below the options while valid.
33
+ *
34
+ * @default No description is rendered.
35
+ */
36
+ description?: React.ReactNode;
37
+ /**
38
+ * Group error copy rendered below the options when invalid.
39
+ *
40
+ * @default No static error copy is rendered.
41
+ */
42
+ error?: React.ReactNode;
43
+ };
44
+ export declare const RadioGroup: React.FC<RadioGroupProps>;
@@ -0,0 +1,54 @@
1
+ "use client";
2
+ import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
3
+ import { FieldHelperCopy } from "../basic-input/field-helper-copy.js";
4
+ import { FieldLabel } from "../basic-input/field-label.js";
5
+ import { Stack } from "../stack/stack.js";
6
+ import radio_module_default from "./radio.module.js";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { Field, Fieldset, RadioGroup } from "@base-ui/react";
9
+ //#region src/components/radio/radio-group.tsx
10
+ var RadioGroup$1 = ({ children, className, description, error, invalid, label, name, disabled, dirty, touched, validate, validationDebounceTime, validationMode, ...radioGroupProps }) => {
11
+ const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(radioGroupProps);
12
+ return /* @__PURE__ */ jsx(Field.Root, {
13
+ ...intrinsicAttributes,
14
+ className: radio_module_default.RadioGroup,
15
+ dirty,
16
+ disabled,
17
+ invalid,
18
+ name,
19
+ touched,
20
+ validate,
21
+ validationDebounceTime,
22
+ validationMode,
23
+ children: /* @__PURE__ */ jsxs(Stack, {
24
+ className: radio_module_default.RadioFieldset,
25
+ fillChildren: false,
26
+ render: /* @__PURE__ */ jsx(Fieldset.Root, { disabled }),
27
+ rowGap: "small",
28
+ children: [
29
+ label && /* @__PURE__ */ jsx(Fieldset.Legend, {
30
+ render: /* @__PURE__ */ jsx(FieldLabel, {}),
31
+ children: label
32
+ }),
33
+ (description || error) && /* @__PURE__ */ jsx(FieldHelperCopy, {
34
+ description,
35
+ error
36
+ }),
37
+ /* @__PURE__ */ jsx(RadioGroup, {
38
+ ...componentProps,
39
+ className,
40
+ disabled,
41
+ render: /* @__PURE__ */ jsx(Stack, {
42
+ fillChildren: false,
43
+ vPadding: ["small", 0],
44
+ rowGap: "small"
45
+ }),
46
+ name,
47
+ children
48
+ })
49
+ ]
50
+ })
51
+ });
52
+ };
53
+ //#endregion
54
+ export { RadioGroup$1 as RadioGroup };
@@ -0,0 +1 @@
1
+ .radio-module_RadioGroup_vnd3F{&:has([required]) [data-field-label]:after{content:" *";color:var(--highlight-red)}}.radio-module_RadioFieldset_g50K8{min-inline-size:0;margin:0;padding:0}.radio-module_RadioRoot_3uvvn{--radio-size:var(--space-medium);--radio-background:var(--global-contrast);--radio-border-color:transparent;--radio-indicator-color:contrast-color(var(--global-primary));--radio-disk-size:calc(var(--radio-size) / 2);position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;appearance:none;border:0;box-shadow:inset 0 0 0 1px var(--radio-border-color);inline-size:var(--radio-size);block-size:var(--radio-size);background:var(--radio-background);border-radius:50%;&[data-size=regular]{--radio-size:var(--space-large)}&[data-checked]:not([data-disabled]):not([data-invalid]){--radio-background:var(--global-primary);--radio-border-color:var(--global-primary);box-shadow:none}&[data-invalid]:not([data-disabled]),.radio-module_RadioGroup_vnd3F[data-invalid] &:not([data-disabled]){--radio-border-color:var(--highlight-red);--radio-indicator-color:var(--global-primary);box-shadow:inset 0 0 0 1px var(--highlight-red);outline-color:oklab(from var(--highlight-red) l a b/.5)}&[data-disabled],.radio-module_RadioGroup_vnd3F[data-disabled] &{--radio-background:var(--global-disabled-background);--radio-border-color:transparent;--radio-indicator-color:var(--global-disabled-foreground);box-shadow:none}}.radio-module_Indicator_Ecavw{display:inline-flex;align-items:center;justify-content:center;color:var(--radio-indicator-color)}.radio-module_Disk_pV-Q1{inline-size:var(--radio-disk-size);aspect-ratio:1/1;border-radius:50%;background:currentColor}.radio-module_RadioRoot_3uvvn:not([data-checked]) .radio-module_Disk_pV-Q1{display:none}
@@ -0,0 +1,44 @@
1
+ import { RadioRoot } from '@base-ui/react/radio';
2
+ import { StackProps } from '..';
3
+ import type * as React from 'react';
4
+ /**
5
+ * Public Radio props.
6
+ *
7
+ * Self-contained option row for use inside `RadioGroup`. Group-level `name`,
8
+ * `invalid`, and `error` belong on `RadioGroup`, not on individual options.
9
+ *
10
+ * @default Base UI pass-through props keep upstream defaults.
11
+ */
12
+ export type RadioProps = RadioRoot.Props & {
13
+ /**
14
+ * Visible label rendered with shared internal `FieldLabel`.
15
+ *
16
+ * @default No label is rendered.
17
+ */
18
+ label?: React.ReactNode;
19
+ /**
20
+ * Helper copy rendered with `Field.Description` and `Text` for this option.
21
+ *
22
+ * @default No description is rendered.
23
+ */
24
+ description?: React.ReactNode;
25
+ /**
26
+ * Controls the visual radio size.
27
+ *
28
+ * @default 'small'
29
+ */
30
+ size?: 'regular' | 'small';
31
+ /**
32
+ * Sets block padding using one token for both sides or a `[start, end]` tuple.
33
+ *
34
+ * @default No block padding.
35
+ */
36
+ vPadding?: StackProps['vPadding'];
37
+ /**
38
+ * Sets inline padding using one token for both sides or a `[start, end]` tuple.
39
+ *
40
+ * @default No inline padding.
41
+ */
42
+ hPadding?: StackProps['hPadding'];
43
+ };
44
+ export declare const Radio: React.FC<RadioProps>;
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "Radio",
3
+ "summary": "Mutually exclusive choice within a RadioGroup, with optional per-option label and helper text.",
4
+ "whenToUse": [
5
+ "Single selection from a small set of related options",
6
+ "Card-style or custom layouts where each option is wrapped in Surface or consumer markup",
7
+ "Form fields that require one answer from a named group"
8
+ ],
9
+ "whenNotToUse": [
10
+ "Independent boolean toggles (use Checkbox or Switch)",
11
+ "Multi-select sets (use Checkbox)",
12
+ "Options rendered outside a RadioGroup wrapper"
13
+ ],
14
+ "accessibility": [
15
+ "Wrap options in RadioGroup so the group exposes a shared name",
16
+ "Provide visible label or aria-label on each option so radios have accessible names",
17
+ "Surface group invalid state and error copy through RadioGroup, not individual Radio options"
18
+ ],
19
+ "antiPatterns": [
20
+ "Rendering Radio outside RadioGroup",
21
+ "Putting invalid or error on a single Radio instead of RadioGroup",
22
+ "Expecting RadioGroup to add spacing or grid layout between options",
23
+ "Importing @viraui/react/radio/radio.css or other component CSS subpaths in consumer bootstrap"
24
+ ],
25
+ "related": ["Checkbox", "Surface", "Stack"]
26
+ }
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ import './radio.css';
3
+ import { FieldHelperCopy } from "../basic-input/field-helper-copy.js";
4
+ import { FieldLabel } from "../basic-input/field-label.js";
5
+ import { Stack } from "../stack/stack.js";
6
+ import radio_module_default from "./radio.module.js";
7
+ import { clsx } from "clsx";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ import { Field } from "@base-ui/react/field";
10
+ import { Radio } from "@base-ui/react/radio";
11
+ //#region src/components/radio/radio.tsx
12
+ var Radio$1 = ({ className, description, disabled, id, label, ref, size = "small", vPadding, hPadding, value, ...radioRootProps }) => {
13
+ const hasTextDescription = Boolean(description);
14
+ return /* @__PURE__ */ jsx(Field.Item, { children: /* @__PURE__ */ jsx(Field.Label, { children: /* @__PURE__ */ jsxs(Stack, {
15
+ direction: "row",
16
+ columnGap: size === "small" ? "small" : "medium",
17
+ fillChildren: false,
18
+ vAlign: hasTextDescription ? "start" : "center",
19
+ ...hPadding !== void 0 ? { hPadding } : {},
20
+ ...vPadding !== void 0 ? { vPadding } : {},
21
+ children: [/* @__PURE__ */ jsx(Radio.Root, {
22
+ ...radioRootProps,
23
+ className: clsx(radio_module_default.RadioRoot, className),
24
+ "data-size": size,
25
+ disabled,
26
+ id,
27
+ ref,
28
+ value,
29
+ children: /* @__PURE__ */ jsx(Radio.Indicator, {
30
+ className: radio_module_default.Indicator,
31
+ children: /* @__PURE__ */ jsx("span", { className: radio_module_default.Disk })
32
+ })
33
+ }), label || description ? /* @__PURE__ */ jsxs(Stack, {
34
+ direction: "column",
35
+ fillChildren: false,
36
+ rowGap: size === "small" ? "2x-small" : "x-small",
37
+ children: [label && /* @__PURE__ */ jsx(FieldLabel, {
38
+ size: size === "small" ? "small" : "medium",
39
+ children: label
40
+ }), /* @__PURE__ */ jsx(FieldHelperCopy, { description })]
41
+ }) : null]
42
+ }) }) });
43
+ };
44
+ //#endregion
45
+ export { Radio$1 as Radio };
@@ -0,0 +1,9 @@
1
+ var radio_module_default = {
2
+ RadioGroup: "radio-module_RadioGroup_vnd3F",
3
+ RadioFieldset: "radio-module_RadioFieldset_g50K8",
4
+ RadioRoot: "radio-module_RadioRoot_3uvvn",
5
+ Indicator: "radio-module_Indicator_Ecavw",
6
+ Disk: "radio-module_Disk_pV-Q1"
7
+ };
8
+ //#endregion
9
+ export { radio_module_default as default };
@@ -1,5 +1,5 @@
1
- import './select.css';
2
1
  "use client";
2
+ import './select.css';
3
3
  import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
4
  import { Elevator } from "../elevator/elevator.js";
5
5
  import { IconButton } from "../icon-button/icon-button.js";
@@ -1,5 +1,5 @@
1
- import './slider.css';
2
1
  "use client";
2
+ import './slider.css';
3
3
  import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
4
  import { Text } from "../text/text.js";
5
5
  import { FieldHelperCopy } from "../basic-input/field-helper-copy.js";
@@ -1 +1 @@
1
- .stack-module_Stack_NR-Ey{--stack-row-gap:0;--stack-column-gap:0;--stack-h-align:initial;--stack-v-align:initial;--stack-padding-inline-start:0;--stack-padding-inline-end:0;--stack-padding-block-start:0;--stack-padding-block-end:0;display:flex;flex-direction:column;align-items:var(--stack-h-align);justify-content:var(--stack-v-align);gap:var(--stack-row-gap) var(--stack-column-gap);max-inline-size:var(--stack-max-width,none);min-inline-size:var(--stack-min-width,none);&[data-stack-direction=column-reverse]{flex-direction:column-reverse}&[data-stack-direction=row-reverse],&[data-stack-direction=row]{align-items:var(--stack-v-align);justify-content:var(--stack-h-align)}&[data-stack-direction=row]{flex-direction:row}&[data-stack-direction=row-reverse]{flex-direction:row-reverse}&[data-stack-inline=true]{display:inline-flex;flex-grow:0}&[data-stack-wrap=true]{flex-wrap:wrap}&[data-stack-has-padding=true]{padding:var(--stack-padding-block-start) var(--stack-padding-inline-end) var(--stack-padding-block-end) var(--stack-padding-inline-start)}&[data-stack-fill-children=true]>*{flex-grow:var(--vira-flex-grow,1)}}
1
+ .stack-module_Stack_NR-Ey{--stack-row-gap:0;--stack-column-gap:0;--stack-h-align:initial;--stack-v-align:initial;--stack-padding-inline-start:0;--stack-padding-inline-end:0;--stack-padding-block-start:0;--stack-padding-block-end:0;display:flex;gap:var(--stack-row-gap) var(--stack-column-gap);flex-direction:column;align-items:var(--stack-h-align);justify-content:var(--stack-v-align);max-inline-size:var(--stack-max-width,none);min-inline-size:var(--stack-min-width,none);&[data-stack-direction=column-reverse]{flex-direction:column-reverse}&[data-stack-direction=row-reverse],&[data-stack-direction=row]{align-items:var(--stack-v-align);justify-content:var(--stack-h-align)}&[data-stack-direction=row]{flex-direction:row}&[data-stack-direction=row-reverse]{flex-direction:row-reverse}&[data-stack-inline=true]{display:inline-flex;flex-grow:0}:where(&[data-stack-wrap=true]){flex-wrap:wrap}:where(&[data-stack-has-padding=true]){padding:var(--stack-padding-block-start) var(--stack-padding-inline-end) var(--stack-padding-block-end) var(--stack-padding-inline-start)}:where(&[data-stack-fill-children=true]>*){flex-grow:var(--vira-flex-grow,1)}}
@@ -1,5 +1,5 @@
1
- import './stack.css';
2
1
  "use client";
2
+ import './stack.css';
3
3
  import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
4
  import { resolveThemeValue } from "../../core/theme/resolve-theme-value.js";
5
5
  import { resolveAxisPadding } from "../../core/styles/resolve-axis-padding.js";
@@ -1,5 +1,5 @@
1
- import './surface.css';
2
1
  "use client";
2
+ import './surface.css';
3
3
  import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
4
  import { resolveThemeValue } from "../../core/theme/resolve-theme-value.js";
5
5
  import { resolveAxisPadding } from "../../core/styles/resolve-axis-padding.js";
@@ -1,5 +1,5 @@
1
- import './switch.css';
2
1
  "use client";
2
+ import './switch.css';
3
3
  import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
4
  import { FieldHelperCopy } from "../basic-input/field-helper-copy.js";
5
5
  import { FieldLabel } from "../basic-input/field-label.js";
@@ -49,7 +49,10 @@ var Switch$1 = ({ className, description, dirty, disabled, error, invalid, label
49
49
  direction: "column",
50
50
  fillChildren: false,
51
51
  rowGap: size === "small" ? "2x-small" : "x-small",
52
- children: [label && /* @__PURE__ */ jsx(FieldLabel, { children: label }), /* @__PURE__ */ jsx(FieldHelperCopy, {
52
+ children: [label && /* @__PURE__ */ jsx(FieldLabel, {
53
+ size: size === "small" ? "small" : "medium",
54
+ children: label
55
+ }), /* @__PURE__ */ jsx(FieldHelperCopy, {
53
56
  description,
54
57
  error
55
58
  })]
@@ -1,5 +1,5 @@
1
- import './text.css';
2
1
  "use client";
2
+ import './text.css';
3
3
  import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
4
  import { resolveAxisPadding } from "../../core/styles/resolve-axis-padding.js";
5
5
  import text_module_default from "./text.module.js";