@womp/kookie-ui 0.19.0 → 0.21.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 (1265) hide show
  1. package/README.md +2 -18
  2. package/codemods/components-0.21.py +123 -0
  3. package/codemods/type-0.20.py +73 -0
  4. package/components.css +1575 -4699
  5. package/dist/cjs/components/_internal/base-button.d.ts +2 -4
  6. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  7. package/dist/cjs/components/_internal/base-button.js +1 -1
  8. package/dist/cjs/components/_internal/base-button.js.map +3 -3
  9. package/dist/cjs/components/_internal/base-button.props.d.ts +1 -9
  10. package/dist/cjs/components/_internal/base-button.props.d.ts.map +1 -1
  11. package/dist/cjs/components/_internal/base-button.props.js +1 -1
  12. package/dist/cjs/components/_internal/base-button.props.js.map +2 -2
  13. package/dist/cjs/components/_internal/base-checkbox.props.js.map +1 -1
  14. package/dist/cjs/components/_internal/base-menu.props.d.ts +2 -2
  15. package/dist/cjs/components/_internal/base-menu.props.js +1 -1
  16. package/dist/cjs/components/_internal/base-menu.props.js.map +2 -2
  17. package/dist/cjs/components/_internal/base-menu.utils.d.ts.map +1 -1
  18. package/dist/cjs/components/_internal/base-menu.utils.js +1 -1
  19. package/dist/cjs/components/_internal/base-menu.utils.js.map +4 -4
  20. package/dist/cjs/components/_internal/base-radio.props.js.map +1 -1
  21. package/dist/cjs/components/_internal/base-tab-list.props.js.map +1 -1
  22. package/dist/cjs/components/_internal/menu-context.d.ts +5 -2
  23. package/dist/cjs/components/_internal/menu-context.d.ts.map +1 -1
  24. package/dist/cjs/components/_internal/menu-context.js +1 -1
  25. package/dist/cjs/components/_internal/menu-context.js.map +2 -2
  26. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  27. package/dist/cjs/components/_internal/pane-chrome.js.map +4 -4
  28. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  29. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  30. package/dist/cjs/components/accordion.d.ts.map +1 -1
  31. package/dist/cjs/components/accordion.js +1 -1
  32. package/dist/cjs/components/accordion.js.map +3 -3
  33. package/dist/cjs/components/accordion.props.d.ts +0 -5
  34. package/dist/cjs/components/accordion.props.d.ts.map +1 -1
  35. package/dist/cjs/components/accordion.props.js +1 -1
  36. package/dist/cjs/components/accordion.props.js.map +2 -2
  37. package/dist/cjs/components/alert-dialog.js +1 -1
  38. package/dist/cjs/components/alert-dialog.js.map +4 -4
  39. package/dist/cjs/components/avatar.d.ts +1 -2
  40. package/dist/cjs/components/avatar.d.ts.map +1 -1
  41. package/dist/cjs/components/avatar.js +1 -1
  42. package/dist/cjs/components/avatar.js.map +4 -4
  43. package/dist/cjs/components/avatar.props.d.ts.map +1 -1
  44. package/dist/cjs/components/avatar.props.js.map +1 -1
  45. package/dist/cjs/components/blockquote.d.ts +1 -2
  46. package/dist/cjs/components/blockquote.d.ts.map +1 -1
  47. package/dist/cjs/components/blockquote.js +1 -1
  48. package/dist/cjs/components/blockquote.js.map +4 -4
  49. package/dist/cjs/components/blockquote.props.d.ts +2 -2
  50. package/dist/cjs/components/blockquote.props.js +1 -1
  51. package/dist/cjs/components/blockquote.props.js.map +2 -2
  52. package/dist/cjs/components/button.d.ts +23 -7
  53. package/dist/cjs/components/button.d.ts.map +1 -1
  54. package/dist/cjs/components/button.js +1 -4
  55. package/dist/cjs/components/button.js.map +3 -3
  56. package/dist/cjs/components/button.props.js +1 -1
  57. package/dist/cjs/components/button.props.js.map +2 -2
  58. package/dist/cjs/components/card.d.ts +1 -2
  59. package/dist/cjs/components/card.d.ts.map +1 -1
  60. package/dist/cjs/components/card.js +1 -1
  61. package/dist/cjs/components/card.js.map +4 -4
  62. package/dist/cjs/components/chatbar.d.ts +2 -3
  63. package/dist/cjs/components/chatbar.d.ts.map +1 -1
  64. package/dist/cjs/components/chatbar.js +1 -4
  65. package/dist/cjs/components/chatbar.js.map +4 -4
  66. package/dist/cjs/components/checkbox-group.d.ts +2 -3
  67. package/dist/cjs/components/checkbox-group.d.ts.map +1 -1
  68. package/dist/cjs/components/checkbox-group.js +1 -1
  69. package/dist/cjs/components/checkbox-group.js.map +4 -4
  70. package/dist/cjs/components/checkbox-group.props.js.map +1 -1
  71. package/dist/cjs/components/checkbox.d.ts +1 -2
  72. package/dist/cjs/components/checkbox.d.ts.map +1 -1
  73. package/dist/cjs/components/checkbox.js +1 -1
  74. package/dist/cjs/components/checkbox.js.map +4 -4
  75. package/dist/cjs/components/checkbox.props.js.map +1 -1
  76. package/dist/cjs/components/chip.d.ts +18 -0
  77. package/dist/cjs/components/chip.d.ts.map +1 -0
  78. package/dist/cjs/components/chip.js +2 -0
  79. package/dist/cjs/components/chip.js.map +7 -0
  80. package/dist/cjs/components/{badge.props.d.ts → chip.props.d.ts} +3 -3
  81. package/dist/cjs/components/chip.props.d.ts.map +1 -0
  82. package/dist/cjs/components/chip.props.js +2 -0
  83. package/dist/cjs/components/chip.props.js.map +7 -0
  84. package/dist/cjs/components/code.d.ts +1 -2
  85. package/dist/cjs/components/code.d.ts.map +1 -1
  86. package/dist/cjs/components/code.js +1 -1
  87. package/dist/cjs/components/code.js.map +4 -4
  88. package/dist/cjs/components/code.props.d.ts +2 -2
  89. package/dist/cjs/components/code.props.js +1 -1
  90. package/dist/cjs/components/code.props.js.map +2 -2
  91. package/dist/cjs/components/combobox.d.ts +1 -2
  92. package/dist/cjs/components/combobox.d.ts.map +1 -1
  93. package/dist/cjs/components/combobox.js +1 -1
  94. package/dist/cjs/components/combobox.js.map +4 -4
  95. package/dist/cjs/components/combobox.props.d.ts +1 -1
  96. package/dist/cjs/components/combobox.props.js +1 -1
  97. package/dist/cjs/components/combobox.props.js.map +2 -2
  98. package/dist/cjs/components/context-menu.js +1 -1
  99. package/dist/cjs/components/context-menu.js.map +4 -4
  100. package/dist/cjs/components/context-menu.props.js +1 -1
  101. package/dist/cjs/components/context-menu.props.js.map +2 -2
  102. package/dist/cjs/components/dialog.js +1 -1
  103. package/dist/cjs/components/dialog.js.map +4 -4
  104. package/dist/cjs/components/dropdown-menu.js +1 -1
  105. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  106. package/dist/cjs/components/dropdown-menu.props.js +1 -1
  107. package/dist/cjs/components/dropdown-menu.props.js.map +2 -2
  108. package/dist/cjs/components/heading.d.ts +1 -2
  109. package/dist/cjs/components/heading.d.ts.map +1 -1
  110. package/dist/cjs/components/heading.js +1 -1
  111. package/dist/cjs/components/heading.js.map +4 -4
  112. package/dist/cjs/components/heading.props.d.ts +2 -2
  113. package/dist/cjs/components/heading.props.js +1 -1
  114. package/dist/cjs/components/heading.props.js.map +2 -2
  115. package/dist/cjs/components/index.d.ts +2 -18
  116. package/dist/cjs/components/index.d.ts.map +1 -1
  117. package/dist/cjs/components/index.js +3 -14
  118. package/dist/cjs/components/index.js.map +4 -4
  119. package/dist/cjs/components/kbd.d.ts +1 -2
  120. package/dist/cjs/components/kbd.d.ts.map +1 -1
  121. package/dist/cjs/components/kbd.js +1 -1
  122. package/dist/cjs/components/kbd.js.map +4 -4
  123. package/dist/cjs/components/kbd.props.d.ts +1 -1
  124. package/dist/cjs/components/kbd.props.js +1 -1
  125. package/dist/cjs/components/kbd.props.js.map +2 -2
  126. package/dist/cjs/components/link.d.ts +1 -2
  127. package/dist/cjs/components/link.d.ts.map +1 -1
  128. package/dist/cjs/components/link.js +1 -1
  129. package/dist/cjs/components/link.js.map +4 -4
  130. package/dist/cjs/components/link.props.d.ts +2 -2
  131. package/dist/cjs/components/link.props.js +1 -1
  132. package/dist/cjs/components/link.props.js.map +2 -2
  133. package/dist/cjs/components/message-scroller.d.ts +2 -3
  134. package/dist/cjs/components/message-scroller.d.ts.map +1 -1
  135. package/dist/cjs/components/message-scroller.js +1 -4
  136. package/dist/cjs/components/message-scroller.js.map +4 -4
  137. package/dist/cjs/components/navbar.d.ts +14 -6
  138. package/dist/cjs/components/navbar.d.ts.map +1 -1
  139. package/dist/cjs/components/navbar.js +1 -1
  140. package/dist/cjs/components/navbar.js.map +2 -2
  141. package/dist/cjs/components/notice.d.ts.map +1 -1
  142. package/dist/cjs/components/notice.js +1 -4
  143. package/dist/cjs/components/notice.js.map +4 -4
  144. package/dist/cjs/components/popover.js.map +1 -1
  145. package/dist/cjs/components/progress.d.ts +1 -2
  146. package/dist/cjs/components/progress.d.ts.map +1 -1
  147. package/dist/cjs/components/progress.js +1 -1
  148. package/dist/cjs/components/progress.js.map +4 -4
  149. package/dist/cjs/components/progress.props.js.map +1 -1
  150. package/dist/cjs/components/radio-group.d.ts +2 -3
  151. package/dist/cjs/components/radio-group.d.ts.map +1 -1
  152. package/dist/cjs/components/radio-group.js +1 -1
  153. package/dist/cjs/components/radio-group.js.map +4 -4
  154. package/dist/cjs/components/radio-group.props.js.map +1 -1
  155. package/dist/cjs/components/radio.d.ts +1 -2
  156. package/dist/cjs/components/radio.d.ts.map +1 -1
  157. package/dist/cjs/components/radio.js +1 -1
  158. package/dist/cjs/components/radio.js.map +4 -4
  159. package/dist/cjs/components/radio.props.js.map +1 -1
  160. package/dist/cjs/components/schemas/base-button.schema.d.ts +2 -3
  161. package/dist/cjs/components/schemas/base-button.schema.d.ts.map +1 -1
  162. package/dist/cjs/components/schemas/base-button.schema.js +1 -1
  163. package/dist/cjs/components/schemas/base-button.schema.js.map +2 -2
  164. package/dist/cjs/components/schemas/button.schema.d.ts +0 -1
  165. package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -1
  166. package/dist/cjs/components/schemas/button.schema.js +1 -1
  167. package/dist/cjs/components/schemas/button.schema.js.map +2 -2
  168. package/dist/cjs/components/schemas/index.d.ts +2 -6
  169. package/dist/cjs/components/schemas/index.d.ts.map +1 -1
  170. package/dist/cjs/components/schemas/index.js +1 -1
  171. package/dist/cjs/components/schemas/index.js.map +4 -4
  172. package/dist/cjs/components/schemas/{toggle-button.schema.d.ts → toggle.schema.d.ts} +13 -38
  173. package/dist/cjs/components/schemas/toggle.schema.d.ts.map +1 -0
  174. package/dist/cjs/components/schemas/toggle.schema.js +2 -0
  175. package/dist/cjs/components/schemas/toggle.schema.js.map +7 -0
  176. package/dist/cjs/components/scroll-area.d.ts +1 -2
  177. package/dist/cjs/components/scroll-area.d.ts.map +1 -1
  178. package/dist/cjs/components/scroll-area.js +1 -1
  179. package/dist/cjs/components/scroll-area.js.map +4 -4
  180. package/dist/cjs/components/segmented-control.d.ts +1 -2
  181. package/dist/cjs/components/segmented-control.d.ts.map +1 -1
  182. package/dist/cjs/components/segmented-control.js +1 -1
  183. package/dist/cjs/components/segmented-control.js.map +4 -4
  184. package/dist/cjs/components/select.d.ts +1 -2
  185. package/dist/cjs/components/select.d.ts.map +1 -1
  186. package/dist/cjs/components/select.js +1 -1
  187. package/dist/cjs/components/select.js.map +4 -4
  188. package/dist/cjs/components/select.props.js.map +1 -1
  189. package/dist/cjs/components/separator.d.ts +1 -2
  190. package/dist/cjs/components/separator.d.ts.map +1 -1
  191. package/dist/cjs/components/separator.js +1 -1
  192. package/dist/cjs/components/separator.js.map +4 -4
  193. package/dist/cjs/components/separator.props.js.map +1 -1
  194. package/dist/cjs/components/sheet.js +1 -1
  195. package/dist/cjs/components/sheet.js.map +4 -4
  196. package/dist/cjs/components/shell.js +1 -1
  197. package/dist/cjs/components/shell.js.map +4 -4
  198. package/dist/cjs/components/sidebar.d.ts +5 -5
  199. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  200. package/dist/cjs/components/sidebar.js +1 -1
  201. package/dist/cjs/components/sidebar.js.map +4 -4
  202. package/dist/cjs/components/slider.d.ts +1 -2
  203. package/dist/cjs/components/slider.d.ts.map +1 -1
  204. package/dist/cjs/components/slider.js +1 -1
  205. package/dist/cjs/components/slider.js.map +4 -4
  206. package/dist/cjs/components/slider.props.js.map +1 -1
  207. package/dist/cjs/components/spinner.d.ts +1 -2
  208. package/dist/cjs/components/spinner.d.ts.map +1 -1
  209. package/dist/cjs/components/spinner.js +1 -1
  210. package/dist/cjs/components/spinner.js.map +3 -3
  211. package/dist/cjs/components/switch.d.ts +1 -2
  212. package/dist/cjs/components/switch.d.ts.map +1 -1
  213. package/dist/cjs/components/switch.js +1 -1
  214. package/dist/cjs/components/switch.js.map +4 -4
  215. package/dist/cjs/components/switch.props.js.map +1 -1
  216. package/dist/cjs/components/table.d.ts +1 -2
  217. package/dist/cjs/components/table.d.ts.map +1 -1
  218. package/dist/cjs/components/table.js +1 -1
  219. package/dist/cjs/components/table.js.map +4 -4
  220. package/dist/cjs/components/tabs.d.ts +3 -4
  221. package/dist/cjs/components/tabs.d.ts.map +1 -1
  222. package/dist/cjs/components/tabs.js +1 -1
  223. package/dist/cjs/components/tabs.js.map +4 -4
  224. package/dist/cjs/components/tabs.props.js.map +1 -1
  225. package/dist/cjs/components/text-area.d.ts +1 -2
  226. package/dist/cjs/components/text-area.d.ts.map +1 -1
  227. package/dist/cjs/components/text-area.js +1 -1
  228. package/dist/cjs/components/text-area.js.map +4 -4
  229. package/dist/cjs/components/text-area.props.js.map +1 -1
  230. package/dist/cjs/components/text-field.d.ts +1 -2
  231. package/dist/cjs/components/text-field.d.ts.map +1 -1
  232. package/dist/cjs/components/text-field.js +2 -2
  233. package/dist/cjs/components/text-field.js.map +4 -4
  234. package/dist/cjs/components/text-field.props.js.map +1 -1
  235. package/dist/cjs/components/text.d.ts +1 -2
  236. package/dist/cjs/components/text.d.ts.map +1 -1
  237. package/dist/cjs/components/text.js +1 -1
  238. package/dist/cjs/components/text.js.map +4 -4
  239. package/dist/cjs/components/text.props.d.ts +2 -2
  240. package/dist/cjs/components/text.props.js +1 -1
  241. package/dist/cjs/components/text.props.js.map +2 -2
  242. package/dist/cjs/components/theme.js.map +1 -1
  243. package/dist/cjs/components/theme.props.js.map +1 -1
  244. package/dist/cjs/components/toggle.d.ts +35 -0
  245. package/dist/cjs/components/toggle.d.ts.map +1 -0
  246. package/dist/cjs/components/toggle.js +10 -0
  247. package/dist/cjs/components/toggle.js.map +7 -0
  248. package/dist/cjs/components/toolbar.d.ts +2 -3
  249. package/dist/cjs/components/toolbar.d.ts.map +1 -1
  250. package/dist/cjs/components/toolbar.js +1 -4
  251. package/dist/cjs/components/toolbar.js.map +4 -4
  252. package/dist/cjs/components/tooltip.js +1 -1
  253. package/dist/cjs/components/tooltip.js.map +4 -4
  254. package/dist/cjs/components/virtual-menu.d.ts +2 -1
  255. package/dist/cjs/components/virtual-menu.d.ts.map +1 -1
  256. package/dist/cjs/components/virtual-menu.js +1 -1
  257. package/dist/cjs/components/virtual-menu.js.map +2 -2
  258. package/dist/cjs/hooks/index.js.map +1 -1
  259. package/dist/cjs/hooks/use-prop-synced-state.d.ts +1 -1
  260. package/dist/cjs/hooks/use-prop-synced-state.js.map +1 -1
  261. package/dist/cjs/hooks/use-toggle-state.d.ts +1 -1
  262. package/dist/cjs/hooks/use-toggle-state.js.map +1 -1
  263. package/dist/cjs/index.js +5 -16
  264. package/dist/cjs/index.js.map +4 -4
  265. package/dist/cjs/props/color.prop.js.map +1 -1
  266. package/dist/cjs/props/emphasis.prop.js.map +1 -1
  267. package/dist/cjs/props/index.d.ts +1 -14
  268. package/dist/cjs/props/index.d.ts.map +1 -1
  269. package/dist/cjs/props/index.js +1 -1
  270. package/dist/cjs/props/index.js.map +4 -4
  271. package/dist/cjs/props/weight.prop.d.ts +1 -1
  272. package/dist/cjs/props/weight.prop.d.ts.map +1 -1
  273. package/dist/cjs/props/weight.prop.js +1 -1
  274. package/dist/cjs/props/weight.prop.js.map +2 -2
  275. package/dist/esm/{chunk-STMTXK7U.js → chunk-24CVW6P7.js} +2 -2
  276. package/dist/esm/chunk-2KZ44I6T.js +2 -0
  277. package/dist/esm/chunk-2KZ44I6T.js.map +7 -0
  278. package/dist/esm/chunk-2WSD2H23.js +2 -0
  279. package/dist/esm/chunk-2WSD2H23.js.map +7 -0
  280. package/dist/esm/chunk-36GV4H3C.js +2 -0
  281. package/dist/esm/chunk-36GV4H3C.js.map +7 -0
  282. package/dist/esm/chunk-4I4NJNYO.js +2 -0
  283. package/dist/esm/chunk-4I4NJNYO.js.map +7 -0
  284. package/dist/esm/chunk-4VBH3W2S.js +2 -0
  285. package/dist/esm/chunk-4ZAJVYU6.js +2 -0
  286. package/dist/esm/{chunk-5AHQJB6H.js.map → chunk-4ZAJVYU6.js.map} +2 -2
  287. package/dist/esm/{chunk-YVHRWMSZ.js → chunk-5B6JDZ3S.js} +2 -2
  288. package/dist/esm/chunk-5B6JDZ3S.js.map +7 -0
  289. package/dist/esm/{chunk-NCDOMH5I.js → chunk-5P4JTWBK.js} +2 -2
  290. package/dist/esm/chunk-5P4JTWBK.js.map +7 -0
  291. package/dist/esm/chunk-5WLSAUNJ.js +2 -0
  292. package/dist/esm/chunk-5WLSAUNJ.js.map +7 -0
  293. package/dist/esm/chunk-6WANXT2G.js +2 -0
  294. package/dist/esm/chunk-6WANXT2G.js.map +7 -0
  295. package/dist/esm/chunk-72FU5FEC.js +2 -0
  296. package/dist/esm/chunk-7AXEPJYF.js +2 -0
  297. package/dist/esm/chunk-7AXEPJYF.js.map +7 -0
  298. package/dist/esm/{chunk-MLXHD7YF.js → chunk-7FPLWHMT.js} +2 -2
  299. package/dist/esm/chunk-7MC7N4BC.js +2 -0
  300. package/dist/esm/chunk-7MC7N4BC.js.map +7 -0
  301. package/dist/esm/chunk-7MPFZIZX.js +2 -0
  302. package/dist/esm/chunk-7MPFZIZX.js.map +7 -0
  303. package/dist/esm/{chunk-YS5BZRRK.js → chunk-7OQXCYCW.js} +2 -2
  304. package/dist/esm/{chunk-BINUV3ME.js → chunk-7QPXLSVR.js} +2 -2
  305. package/dist/esm/{chunk-BINUV3ME.js.map → chunk-7QPXLSVR.js.map} +2 -2
  306. package/dist/esm/chunk-7XWAXYZD.js +2 -0
  307. package/dist/esm/chunk-7XWAXYZD.js.map +7 -0
  308. package/dist/esm/chunk-AYZRLA7F.js +2 -0
  309. package/dist/esm/{chunk-6RZVKCNG.js → chunk-BHGES72S.js} +2 -2
  310. package/dist/esm/chunk-BQD7XS4K.js +2 -0
  311. package/dist/esm/chunk-BQD7XS4K.js.map +7 -0
  312. package/dist/esm/{chunk-KU3LLWFU.js → chunk-CTZ467AB.js} +2 -2
  313. package/dist/esm/{chunk-34KVYDF6.js → chunk-CUNKWFKA.js} +1 -1
  314. package/dist/esm/{chunk-34KVYDF6.js.map → chunk-CUNKWFKA.js.map} +1 -1
  315. package/dist/esm/{chunk-Q7S5LQBQ.js → chunk-CYO6CRMQ.js} +2 -2
  316. package/dist/esm/chunk-D3U4MWDZ.js +1 -0
  317. package/dist/esm/{chunk-VLLJ7A6P.js → chunk-DCNHG6VN.js} +2 -2
  318. package/dist/esm/chunk-DL6F2TIU.js +2 -0
  319. package/dist/esm/chunk-DL6F2TIU.js.map +7 -0
  320. package/dist/esm/chunk-DSV3XBHM.js +2 -0
  321. package/dist/esm/chunk-DSV3XBHM.js.map +7 -0
  322. package/dist/esm/{chunk-UZQO4APP.js → chunk-EDEYYJ3Q.js} +2 -2
  323. package/dist/esm/chunk-EDP2TJVB.js +2 -0
  324. package/dist/esm/chunk-EDP2TJVB.js.map +7 -0
  325. package/dist/esm/chunk-EGSMLRSO.js +2 -0
  326. package/dist/esm/chunk-EGSMLRSO.js.map +7 -0
  327. package/dist/esm/{chunk-6FLLFCBU.js → chunk-ELAW7ZUG.js} +2 -2
  328. package/dist/esm/chunk-EOWG5SIY.js +2 -0
  329. package/dist/esm/chunk-EOWG5SIY.js.map +7 -0
  330. package/dist/esm/{chunk-MAI7FEU7.js → chunk-FSMUCDLI.js} +2 -2
  331. package/dist/esm/{chunk-MAI7FEU7.js.map → chunk-FSMUCDLI.js.map} +2 -2
  332. package/dist/esm/{chunk-B6RH4CTY.js → chunk-G46OLCM2.js} +2 -2
  333. package/dist/esm/{chunk-VK7RNXUO.js → chunk-GBFGUOFS.js} +1 -1
  334. package/dist/esm/{chunk-VK7RNXUO.js.map → chunk-GBFGUOFS.js.map} +1 -1
  335. package/dist/esm/{chunk-5LGWS5QS.js → chunk-GOV5I7I2.js} +2 -2
  336. package/dist/esm/{chunk-N77QJUTO.js → chunk-GWGQ73PU.js} +2 -2
  337. package/dist/esm/chunk-GWGQ73PU.js.map +7 -0
  338. package/dist/esm/{chunk-VSSJTPBV.js → chunk-HELY5CSU.js} +2 -2
  339. package/dist/esm/{chunk-UFJJTUOU.js → chunk-HGG3ULNK.js} +2 -2
  340. package/dist/esm/chunk-HZNOHY6O.js +2 -0
  341. package/dist/esm/chunk-IAC5IOPN.js +2 -0
  342. package/dist/esm/chunk-IAC5IOPN.js.map +7 -0
  343. package/dist/esm/chunk-IN6ZEGDK.js +2 -0
  344. package/dist/esm/chunk-IN6ZEGDK.js.map +7 -0
  345. package/dist/esm/chunk-IQBSUN5B.js +2 -0
  346. package/dist/esm/chunk-IQBSUN5B.js.map +7 -0
  347. package/dist/esm/{chunk-PUVZFRTQ.js → chunk-IZPDJN6O.js} +2 -2
  348. package/dist/esm/chunk-JMBCX5XR.js +2 -0
  349. package/dist/esm/chunk-JMBCX5XR.js.map +7 -0
  350. package/dist/esm/{chunk-KPACVWV4.js → chunk-K4BDLRCC.js} +2 -2
  351. package/dist/esm/chunk-K6QKUX3C.js +2 -0
  352. package/dist/esm/chunk-K6QKUX3C.js.map +7 -0
  353. package/dist/esm/{chunk-GYB7PAGB.js → chunk-K6WT5ZEA.js} +2 -2
  354. package/dist/esm/{chunk-CLEH57SW.js → chunk-KIYCILXL.js} +2 -2
  355. package/dist/esm/{chunk-ZCAI2PRH.js → chunk-KRDRQU4G.js} +2 -2
  356. package/dist/esm/{chunk-T5DSQKKF.js → chunk-KRZL245C.js} +2 -2
  357. package/dist/esm/chunk-LHYX53XA.js +2 -0
  358. package/dist/esm/chunk-LHYX53XA.js.map +7 -0
  359. package/dist/esm/{chunk-L2IIIELE.js → chunk-LNFN35ZE.js} +2 -2
  360. package/dist/esm/{chunk-PUQXBW2K.js → chunk-LPVDR7V3.js} +2 -2
  361. package/dist/esm/chunk-LVCP5WGX.js +2 -0
  362. package/dist/esm/{chunk-EVTNB4TB.js.map → chunk-LVCP5WGX.js.map} +2 -2
  363. package/dist/esm/chunk-M4M4OZTS.js +2 -0
  364. package/dist/esm/{chunk-PDBVZAUJ.js.map → chunk-M4M4OZTS.js.map} +2 -2
  365. package/dist/esm/chunk-MC3GY6ET.js +2 -0
  366. package/dist/esm/chunk-MC3GY6ET.js.map +7 -0
  367. package/dist/esm/chunk-MKY2IRPO.js +2 -0
  368. package/dist/esm/chunk-MKY2IRPO.js.map +7 -0
  369. package/dist/esm/{chunk-CR2BSCFM.js → chunk-MYO2E46Z.js} +2 -2
  370. package/dist/esm/{chunk-CR2BSCFM.js.map → chunk-MYO2E46Z.js.map} +2 -2
  371. package/dist/esm/chunk-OA2BZDKL.js +2 -0
  372. package/dist/esm/chunk-OA2BZDKL.js.map +7 -0
  373. package/dist/esm/chunk-P3WB3K2M.js +2 -0
  374. package/dist/esm/chunk-P3WB3K2M.js.map +7 -0
  375. package/dist/esm/{chunk-JUY7CBSL.js → chunk-PBFSBHBS.js} +2 -2
  376. package/dist/esm/chunk-PEP6MQJ2.js +2 -0
  377. package/dist/esm/chunk-PEP6MQJ2.js.map +7 -0
  378. package/dist/esm/{chunk-WAURCNAS.js → chunk-PN3RQFSU.js} +1 -1
  379. package/dist/esm/chunk-PN3RQFSU.js.map +7 -0
  380. package/dist/esm/chunk-QQVA2PJ3.js +2 -0
  381. package/dist/esm/chunk-QQVA2PJ3.js.map +7 -0
  382. package/dist/esm/{chunk-E3754NJZ.js → chunk-QZ6OCMH4.js} +2 -2
  383. package/dist/esm/chunk-RBTTIDON.js +2 -0
  384. package/dist/esm/chunk-RBTTIDON.js.map +7 -0
  385. package/dist/esm/chunk-RDS3AJWW.js +2 -0
  386. package/dist/esm/chunk-RDS3AJWW.js.map +7 -0
  387. package/dist/esm/{chunk-6AZV4VFW.js → chunk-RGZKWVJC.js} +2 -2
  388. package/dist/esm/{chunk-6AZV4VFW.js.map → chunk-RGZKWVJC.js.map} +1 -1
  389. package/dist/esm/chunk-T4L4QDBG.js +2 -0
  390. package/dist/esm/chunk-T4L4QDBG.js.map +7 -0
  391. package/dist/esm/chunk-TCSPZ27B.js +2 -0
  392. package/dist/esm/chunk-TCSPZ27B.js.map +7 -0
  393. package/dist/esm/chunk-TDQTMR5T.js +2 -0
  394. package/dist/esm/chunk-TDQTMR5T.js.map +7 -0
  395. package/dist/esm/{chunk-54KMG7NX.js → chunk-TKSG7KBZ.js} +2 -2
  396. package/dist/esm/{chunk-WDDO73O5.js → chunk-UEHCCJYY.js} +2 -2
  397. package/dist/esm/chunk-UMIDPKFZ.js +2 -0
  398. package/dist/esm/chunk-UMIDPKFZ.js.map +7 -0
  399. package/dist/esm/chunk-UW5IJ64A.js +5 -0
  400. package/dist/esm/chunk-UW5IJ64A.js.map +7 -0
  401. package/dist/esm/{chunk-KSZOVI57.js → chunk-VCU6VCPH.js} +2 -2
  402. package/dist/esm/chunk-VCU6VCPH.js.map +7 -0
  403. package/dist/esm/chunk-VJOJGAGA.js +2 -0
  404. package/dist/esm/chunk-VJOJGAGA.js.map +7 -0
  405. package/dist/esm/chunk-VNONKPH7.js +2 -0
  406. package/dist/esm/chunk-VNONKPH7.js.map +7 -0
  407. package/dist/esm/chunk-VOEZ5HJL.js +2 -0
  408. package/dist/esm/chunk-VOEZ5HJL.js.map +7 -0
  409. package/dist/esm/chunk-W7YHNMAO.js +2 -0
  410. package/dist/esm/chunk-W7YHNMAO.js.map +7 -0
  411. package/dist/esm/chunk-WQT6UULR.js +2 -0
  412. package/dist/esm/chunk-WQT6UULR.js.map +7 -0
  413. package/dist/esm/chunk-WW7WTPM6.js +2 -0
  414. package/dist/esm/chunk-WW7WTPM6.js.map +7 -0
  415. package/dist/esm/{chunk-ZWZGUBL4.js → chunk-WWF3IU3P.js} +1 -1
  416. package/dist/esm/chunk-WWF3IU3P.js.map +7 -0
  417. package/dist/esm/chunk-XEW4BRIL.js +2 -0
  418. package/dist/esm/chunk-XEW4BRIL.js.map +7 -0
  419. package/dist/esm/chunk-YB7CENHH.js +2 -0
  420. package/dist/esm/chunk-YB7CENHH.js.map +7 -0
  421. package/dist/esm/chunk-YEIZ43KW.js +2 -0
  422. package/dist/esm/chunk-YEIZ43KW.js.map +7 -0
  423. package/dist/esm/chunk-ZCWDURKJ.js +2 -0
  424. package/dist/esm/chunk-ZCWDURKJ.js.map +7 -0
  425. package/dist/esm/components/_internal/base-button.d.ts +2 -4
  426. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  427. package/dist/esm/components/_internal/base-button.js +1 -1
  428. package/dist/esm/components/_internal/base-button.props.d.ts +1 -9
  429. package/dist/esm/components/_internal/base-button.props.d.ts.map +1 -1
  430. package/dist/esm/components/_internal/base-button.props.js +1 -1
  431. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  432. package/dist/esm/components/_internal/base-menu.props.d.ts +2 -2
  433. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  434. package/dist/esm/components/_internal/base-menu.utils.d.ts.map +1 -1
  435. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  436. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  437. package/dist/esm/components/_internal/base-tab-list.props.js +1 -1
  438. package/dist/esm/components/_internal/menu-context.d.ts +5 -2
  439. package/dist/esm/components/_internal/menu-context.d.ts.map +1 -1
  440. package/dist/esm/components/_internal/menu-context.js +1 -1
  441. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  442. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  443. package/dist/esm/components/accordion.d.ts.map +1 -1
  444. package/dist/esm/components/accordion.js +1 -1
  445. package/dist/esm/components/accordion.props.d.ts +0 -5
  446. package/dist/esm/components/accordion.props.d.ts.map +1 -1
  447. package/dist/esm/components/accordion.props.js +1 -1
  448. package/dist/esm/components/alert-dialog.js +1 -1
  449. package/dist/esm/components/avatar.d.ts +1 -2
  450. package/dist/esm/components/avatar.d.ts.map +1 -1
  451. package/dist/esm/components/avatar.js +1 -1
  452. package/dist/esm/components/avatar.props.d.ts.map +1 -1
  453. package/dist/esm/components/avatar.props.js +1 -1
  454. package/dist/esm/components/blockquote.d.ts +1 -2
  455. package/dist/esm/components/blockquote.d.ts.map +1 -1
  456. package/dist/esm/components/blockquote.js +1 -1
  457. package/dist/esm/components/blockquote.props.d.ts +2 -2
  458. package/dist/esm/components/blockquote.props.js +1 -1
  459. package/dist/esm/components/box.js +1 -1
  460. package/dist/esm/components/button.d.ts +23 -7
  461. package/dist/esm/components/button.d.ts.map +1 -1
  462. package/dist/esm/components/button.js +1 -1
  463. package/dist/esm/components/button.props.js +1 -1
  464. package/dist/esm/components/card.d.ts +1 -2
  465. package/dist/esm/components/card.d.ts.map +1 -1
  466. package/dist/esm/components/card.js +1 -1
  467. package/dist/esm/components/chatbar.d.ts +2 -3
  468. package/dist/esm/components/chatbar.d.ts.map +1 -1
  469. package/dist/esm/components/chatbar.js +1 -1
  470. package/dist/esm/components/checkbox-group.d.ts +2 -3
  471. package/dist/esm/components/checkbox-group.d.ts.map +1 -1
  472. package/dist/esm/components/checkbox-group.js +1 -1
  473. package/dist/esm/components/checkbox-group.props.js +1 -1
  474. package/dist/esm/components/checkbox.d.ts +1 -2
  475. package/dist/esm/components/checkbox.d.ts.map +1 -1
  476. package/dist/esm/components/checkbox.js +1 -1
  477. package/dist/esm/components/checkbox.props.js +1 -1
  478. package/dist/esm/components/chip.d.ts +18 -0
  479. package/dist/esm/components/chip.d.ts.map +1 -0
  480. package/dist/esm/components/chip.js +2 -0
  481. package/dist/esm/components/{badge.props.d.ts → chip.props.d.ts} +3 -3
  482. package/dist/esm/components/chip.props.d.ts.map +1 -0
  483. package/dist/esm/components/chip.props.js +2 -0
  484. package/dist/esm/components/code.d.ts +1 -2
  485. package/dist/esm/components/code.d.ts.map +1 -1
  486. package/dist/esm/components/code.js +1 -1
  487. package/dist/esm/components/code.props.d.ts +2 -2
  488. package/dist/esm/components/code.props.js +1 -1
  489. package/dist/esm/components/combobox.d.ts +1 -2
  490. package/dist/esm/components/combobox.d.ts.map +1 -1
  491. package/dist/esm/components/combobox.js +1 -1
  492. package/dist/esm/components/combobox.props.d.ts +1 -1
  493. package/dist/esm/components/combobox.props.js +1 -1
  494. package/dist/esm/components/context-menu.js +1 -1
  495. package/dist/esm/components/context-menu.props.js +1 -1
  496. package/dist/esm/components/dialog.js +1 -1
  497. package/dist/esm/components/dropdown-menu.js +1 -1
  498. package/dist/esm/components/dropdown-menu.props.js +1 -1
  499. package/dist/esm/components/flex.js +1 -1
  500. package/dist/esm/components/grid.js +1 -1
  501. package/dist/esm/components/heading.d.ts +1 -2
  502. package/dist/esm/components/heading.d.ts.map +1 -1
  503. package/dist/esm/components/heading.js +1 -1
  504. package/dist/esm/components/heading.props.d.ts +2 -2
  505. package/dist/esm/components/heading.props.js +1 -1
  506. package/dist/esm/components/index.d.ts +2 -18
  507. package/dist/esm/components/index.d.ts.map +1 -1
  508. package/dist/esm/components/index.js +1 -1
  509. package/dist/esm/components/kbd.d.ts +1 -2
  510. package/dist/esm/components/kbd.d.ts.map +1 -1
  511. package/dist/esm/components/kbd.js +1 -1
  512. package/dist/esm/components/kbd.props.d.ts +1 -1
  513. package/dist/esm/components/kbd.props.js +1 -1
  514. package/dist/esm/components/link.d.ts +1 -2
  515. package/dist/esm/components/link.d.ts.map +1 -1
  516. package/dist/esm/components/link.js +1 -1
  517. package/dist/esm/components/link.props.d.ts +2 -2
  518. package/dist/esm/components/link.props.js +1 -1
  519. package/dist/esm/components/message-scroller.d.ts +2 -3
  520. package/dist/esm/components/message-scroller.d.ts.map +1 -1
  521. package/dist/esm/components/message-scroller.js +1 -1
  522. package/dist/esm/components/navbar.d.ts +14 -6
  523. package/dist/esm/components/navbar.d.ts.map +1 -1
  524. package/dist/esm/components/navbar.js +1 -1
  525. package/dist/esm/components/notice.d.ts.map +1 -1
  526. package/dist/esm/components/notice.js +1 -1
  527. package/dist/esm/components/popover.js +1 -1
  528. package/dist/esm/components/progress.d.ts +1 -2
  529. package/dist/esm/components/progress.d.ts.map +1 -1
  530. package/dist/esm/components/progress.js +1 -1
  531. package/dist/esm/components/progress.props.js +1 -1
  532. package/dist/esm/components/radio-group.d.ts +2 -3
  533. package/dist/esm/components/radio-group.d.ts.map +1 -1
  534. package/dist/esm/components/radio-group.js +1 -1
  535. package/dist/esm/components/radio-group.props.js +1 -1
  536. package/dist/esm/components/radio.d.ts +1 -2
  537. package/dist/esm/components/radio.d.ts.map +1 -1
  538. package/dist/esm/components/radio.js +1 -1
  539. package/dist/esm/components/radio.props.js +1 -1
  540. package/dist/esm/components/schemas/base-button.schema.d.ts +2 -3
  541. package/dist/esm/components/schemas/base-button.schema.d.ts.map +1 -1
  542. package/dist/esm/components/schemas/base-button.schema.js +1 -1
  543. package/dist/esm/components/schemas/button.schema.d.ts +0 -1
  544. package/dist/esm/components/schemas/button.schema.d.ts.map +1 -1
  545. package/dist/esm/components/schemas/button.schema.js +1 -1
  546. package/dist/esm/components/schemas/index.d.ts +2 -6
  547. package/dist/esm/components/schemas/index.d.ts.map +1 -1
  548. package/dist/esm/components/schemas/index.js +1 -1
  549. package/dist/esm/components/schemas/index.js.map +2 -2
  550. package/dist/esm/components/schemas/{toggle-button.schema.d.ts → toggle.schema.d.ts} +13 -38
  551. package/dist/esm/components/schemas/toggle.schema.d.ts.map +1 -0
  552. package/dist/esm/components/schemas/toggle.schema.js +2 -0
  553. package/dist/esm/components/scroll-area.d.ts +1 -2
  554. package/dist/esm/components/scroll-area.d.ts.map +1 -1
  555. package/dist/esm/components/scroll-area.js +1 -1
  556. package/dist/esm/components/segmented-control.d.ts +1 -2
  557. package/dist/esm/components/segmented-control.d.ts.map +1 -1
  558. package/dist/esm/components/segmented-control.js +1 -1
  559. package/dist/esm/components/select.d.ts +1 -2
  560. package/dist/esm/components/select.d.ts.map +1 -1
  561. package/dist/esm/components/select.js +1 -1
  562. package/dist/esm/components/select.props.js +1 -1
  563. package/dist/esm/components/separator.d.ts +1 -2
  564. package/dist/esm/components/separator.d.ts.map +1 -1
  565. package/dist/esm/components/separator.js +1 -1
  566. package/dist/esm/components/separator.props.js +1 -1
  567. package/dist/esm/components/sheet.js +1 -1
  568. package/dist/esm/components/shell.js +1 -1
  569. package/dist/esm/components/sidebar.d.ts +5 -5
  570. package/dist/esm/components/sidebar.d.ts.map +1 -1
  571. package/dist/esm/components/sidebar.js +1 -1
  572. package/dist/esm/components/slider.d.ts +1 -2
  573. package/dist/esm/components/slider.d.ts.map +1 -1
  574. package/dist/esm/components/slider.js +1 -1
  575. package/dist/esm/components/slider.props.js +1 -1
  576. package/dist/esm/components/spinner.d.ts +1 -2
  577. package/dist/esm/components/spinner.d.ts.map +1 -1
  578. package/dist/esm/components/spinner.js +1 -1
  579. package/dist/esm/components/switch.d.ts +1 -2
  580. package/dist/esm/components/switch.d.ts.map +1 -1
  581. package/dist/esm/components/switch.js +1 -1
  582. package/dist/esm/components/switch.props.js +1 -1
  583. package/dist/esm/components/table.d.ts +1 -2
  584. package/dist/esm/components/table.d.ts.map +1 -1
  585. package/dist/esm/components/table.js +1 -1
  586. package/dist/esm/components/tabs.d.ts +3 -4
  587. package/dist/esm/components/tabs.d.ts.map +1 -1
  588. package/dist/esm/components/tabs.js +1 -1
  589. package/dist/esm/components/tabs.props.js +1 -1
  590. package/dist/esm/components/text-area.d.ts +1 -2
  591. package/dist/esm/components/text-area.d.ts.map +1 -1
  592. package/dist/esm/components/text-area.js +1 -1
  593. package/dist/esm/components/text-area.props.js +1 -1
  594. package/dist/esm/components/text-field.d.ts +1 -2
  595. package/dist/esm/components/text-field.d.ts.map +1 -1
  596. package/dist/esm/components/text-field.js +1 -1
  597. package/dist/esm/components/text-field.props.js +1 -1
  598. package/dist/esm/components/text.d.ts +1 -2
  599. package/dist/esm/components/text.d.ts.map +1 -1
  600. package/dist/esm/components/text.js +1 -1
  601. package/dist/esm/components/text.props.d.ts +2 -2
  602. package/dist/esm/components/text.props.js +1 -1
  603. package/dist/esm/components/theme.js +1 -1
  604. package/dist/esm/components/theme.props.js +1 -1
  605. package/dist/esm/components/toggle.d.ts +35 -0
  606. package/dist/esm/components/toggle.d.ts.map +1 -0
  607. package/dist/esm/components/toggle.js +2 -0
  608. package/dist/esm/components/toolbar.d.ts +2 -3
  609. package/dist/esm/components/toolbar.d.ts.map +1 -1
  610. package/dist/esm/components/toolbar.js +1 -1
  611. package/dist/esm/components/tooltip.js +1 -1
  612. package/dist/esm/components/virtual-menu.d.ts +2 -1
  613. package/dist/esm/components/virtual-menu.d.ts.map +1 -1
  614. package/dist/esm/components/virtual-menu.js +1 -1
  615. package/dist/esm/helpers/extract-props.js +1 -1
  616. package/dist/esm/helpers/get-margin-styles.js +1 -1
  617. package/dist/esm/helpers/get-responsive-styles.js +1 -1
  618. package/dist/esm/helpers/index.js +1 -1
  619. package/dist/esm/helpers/inert.js +1 -1
  620. package/dist/esm/helpers/inert.js.map +4 -4
  621. package/dist/esm/hooks/index.js +1 -1
  622. package/dist/esm/hooks/use-prop-synced-state.d.ts +1 -1
  623. package/dist/esm/hooks/use-prop-synced-state.js +1 -1
  624. package/dist/esm/hooks/use-toggle-state.d.ts +1 -1
  625. package/dist/esm/hooks/use-toggle-state.js +1 -1
  626. package/dist/esm/index.js +1 -1
  627. package/dist/esm/props/color.prop.js +1 -1
  628. package/dist/esm/props/emphasis.prop.js +1 -1
  629. package/dist/esm/props/index.d.ts +1 -14
  630. package/dist/esm/props/index.d.ts.map +1 -1
  631. package/dist/esm/props/index.js +1 -1
  632. package/dist/esm/props/weight.prop.d.ts +1 -1
  633. package/dist/esm/props/weight.prop.d.ts.map +1 -1
  634. package/dist/esm/props/weight.prop.js +1 -1
  635. package/layout/components.css +0 -223
  636. package/layout.css +0 -221
  637. package/package.json +1 -1
  638. package/schemas/base-button.json +0 -5
  639. package/schemas/button.json +0 -5
  640. package/schemas/index.json +14 -629
  641. package/schemas/schemas.d.ts +2 -6
  642. package/schemas/{toggle-button.json → toggle.json} +4 -9
  643. package/src/components/_internal/base-button.css +2 -36
  644. package/src/components/_internal/base-button.props.ts +1 -7
  645. package/src/components/_internal/base-button.tsx +3 -9
  646. package/src/components/_internal/base-checkbox.css +3 -8
  647. package/src/components/_internal/base-menu.css +128 -118
  648. package/src/components/_internal/base-menu.props.ts +1 -1
  649. package/src/components/_internal/base-menu.utils.tsx +2 -1
  650. package/src/components/_internal/base-radio.css +2 -7
  651. package/src/components/_internal/base-sidebar-menu.css +11 -40
  652. package/src/components/_internal/base-tab-list.css +3 -4
  653. package/src/components/_internal/menu-context.tsx +9 -4
  654. package/src/components/accordion.css +0 -33
  655. package/src/components/accordion.props.tsx +0 -3
  656. package/src/components/accordion.tsx +1 -2
  657. package/src/components/alert-dialog.tsx +1 -1
  658. package/src/components/avatar.css +3 -3
  659. package/src/components/avatar.tsx +2 -4
  660. package/src/components/blockquote.props.tsx +1 -1
  661. package/src/components/blockquote.tsx +0 -2
  662. package/src/components/button.css +4 -3
  663. package/src/components/button.tsx +34 -19
  664. package/src/components/card.tsx +2 -4
  665. package/src/components/chatbar.css +2 -2
  666. package/src/components/chatbar.tsx +8 -7
  667. package/src/components/checkbox-group.tsx +2 -7
  668. package/src/components/checkbox.tsx +1 -4
  669. package/src/components/{badge.css → chip.css} +12 -12
  670. package/src/components/{badge.props.tsx → chip.props.tsx} +2 -2
  671. package/src/components/{badge.tsx → chip.tsx} +20 -23
  672. package/src/components/code.css +10 -32
  673. package/src/components/code.props.tsx +1 -1
  674. package/src/components/code.tsx +0 -4
  675. package/src/components/combobox.css +2 -11
  676. package/src/components/combobox.props.tsx +1 -1
  677. package/src/components/combobox.tsx +2 -4
  678. package/src/components/dialog.tsx +1 -1
  679. package/src/components/dropdown-menu.css +4 -4
  680. package/src/components/heading.css +9 -29
  681. package/src/components/heading.props.tsx +1 -1
  682. package/src/components/heading.tsx +2 -5
  683. package/src/components/index.css +2 -15
  684. package/src/components/index.tsx +2 -23
  685. package/src/components/kbd.css +1 -29
  686. package/src/components/kbd.props.tsx +1 -1
  687. package/src/components/kbd.tsx +2 -4
  688. package/src/components/layout.css +0 -2
  689. package/src/components/link.props.tsx +1 -1
  690. package/src/components/link.tsx +1 -2
  691. package/src/components/message-scroller.tsx +6 -5
  692. package/src/components/navbar.tsx +7 -3
  693. package/src/components/notice.css +10 -13
  694. package/src/components/notice.tsx +2 -3
  695. package/src/components/progress.tsx +1 -5
  696. package/src/components/radio-group.tsx +3 -8
  697. package/src/components/radio.tsx +1 -4
  698. package/src/components/schemas/base-button.schema.ts +2 -13
  699. package/src/components/schemas/index.ts +3 -11
  700. package/src/components/schemas/{toggle-button.schema.ts → toggle.schema.ts} +18 -38
  701. package/src/components/scroll-area.tsx +3 -11
  702. package/src/components/segmented-control.css +8 -5
  703. package/src/components/segmented-control.tsx +2 -5
  704. package/src/components/select.css +19 -134
  705. package/src/components/select.tsx +0 -4
  706. package/src/components/separator.tsx +2 -4
  707. package/src/components/sidebar.css +92 -133
  708. package/src/components/sidebar.tsx +16 -18
  709. package/src/components/slider.css +3 -4
  710. package/src/components/slider.tsx +0 -4
  711. package/src/components/spinner.tsx +1 -5
  712. package/src/components/switch.tsx +0 -4
  713. package/src/components/table.css +24 -11
  714. package/src/components/table.tsx +1 -5
  715. package/src/components/tabs.tsx +2 -8
  716. package/src/components/text-area.css +2 -1
  717. package/src/components/text-area.tsx +1 -4
  718. package/src/components/text-field.css +4 -2
  719. package/src/components/text-field.tsx +2 -4
  720. package/src/components/text.css +0 -20
  721. package/src/components/text.props.tsx +1 -1
  722. package/src/components/text.tsx +2 -5
  723. package/src/components/theme.tsx +1 -1
  724. package/src/components/toggle.tsx +96 -0
  725. package/src/components/toolbar.tsx +6 -12
  726. package/src/components/virtual-menu.tsx +3 -1
  727. package/src/hooks/use-prop-synced-state.ts +1 -1
  728. package/src/hooks/use-toggle-state.ts +1 -1
  729. package/src/props/color.prop.ts +1 -1
  730. package/src/props/emphasis.prop.ts +2 -2
  731. package/src/props/index.ts +1 -14
  732. package/src/props/weight.prop.ts +2 -1
  733. package/src/styles/tokens/color.css +1 -1
  734. package/src/styles/tokens/radius.css +12 -0
  735. package/src/styles/tokens/typography.css +21 -49
  736. package/src/styles/utilities/font-weight.css +0 -20
  737. package/styles.css +1750 -4986
  738. package/tokens/base.css +23 -45
  739. package/tokens.css +23 -45
  740. package/utilities.css +0 -90
  741. package/dist/cjs/components/aspect-ratio.d.ts +0 -4
  742. package/dist/cjs/components/aspect-ratio.d.ts.map +0 -1
  743. package/dist/cjs/components/aspect-ratio.js +0 -2
  744. package/dist/cjs/components/aspect-ratio.js.map +0 -7
  745. package/dist/cjs/components/badge.d.ts +0 -19
  746. package/dist/cjs/components/badge.d.ts.map +0 -1
  747. package/dist/cjs/components/badge.js +0 -2
  748. package/dist/cjs/components/badge.js.map +0 -7
  749. package/dist/cjs/components/badge.props.d.ts.map +0 -1
  750. package/dist/cjs/components/badge.props.js +0 -2
  751. package/dist/cjs/components/badge.props.js.map +0 -7
  752. package/dist/cjs/components/checkbox-cards.d.ts +0 -19
  753. package/dist/cjs/components/checkbox-cards.d.ts.map +0 -1
  754. package/dist/cjs/components/checkbox-cards.js +0 -2
  755. package/dist/cjs/components/checkbox-cards.js.map +0 -7
  756. package/dist/cjs/components/checkbox-cards.props.d.ts +0 -43
  757. package/dist/cjs/components/checkbox-cards.props.d.ts.map +0 -1
  758. package/dist/cjs/components/checkbox-cards.props.js +0 -2
  759. package/dist/cjs/components/checkbox-cards.props.js.map +0 -7
  760. package/dist/cjs/components/container.d.ts +0 -11
  761. package/dist/cjs/components/container.d.ts.map +0 -1
  762. package/dist/cjs/components/container.js +0 -2
  763. package/dist/cjs/components/container.js.map +0 -7
  764. package/dist/cjs/components/container.props.d.ts +0 -68
  765. package/dist/cjs/components/container.props.d.ts.map +0 -1
  766. package/dist/cjs/components/container.props.js +0 -2
  767. package/dist/cjs/components/container.props.js.map +0 -7
  768. package/dist/cjs/components/data-list.d.ts +0 -23
  769. package/dist/cjs/components/data-list.d.ts.map +0 -1
  770. package/dist/cjs/components/data-list.js +0 -2
  771. package/dist/cjs/components/data-list.js.map +0 -7
  772. package/dist/cjs/components/data-list.props.d.ts +0 -63
  773. package/dist/cjs/components/data-list.props.d.ts.map +0 -1
  774. package/dist/cjs/components/data-list.props.js +0 -2
  775. package/dist/cjs/components/data-list.props.js.map +0 -7
  776. package/dist/cjs/components/em.d.ts +0 -11
  777. package/dist/cjs/components/em.d.ts.map +0 -1
  778. package/dist/cjs/components/em.js +0 -2
  779. package/dist/cjs/components/em.js.map +0 -7
  780. package/dist/cjs/components/em.props.d.ts +0 -17
  781. package/dist/cjs/components/em.props.d.ts.map +0 -1
  782. package/dist/cjs/components/em.props.js +0 -2
  783. package/dist/cjs/components/em.props.js.map +0 -7
  784. package/dist/cjs/components/hover-card.d.ts +0 -17
  785. package/dist/cjs/components/hover-card.d.ts.map +0 -1
  786. package/dist/cjs/components/hover-card.js +0 -2
  787. package/dist/cjs/components/hover-card.js.map +0 -7
  788. package/dist/cjs/components/hover-card.props.d.ts +0 -57
  789. package/dist/cjs/components/hover-card.props.d.ts.map +0 -1
  790. package/dist/cjs/components/hover-card.props.js +0 -2
  791. package/dist/cjs/components/hover-card.props.js.map +0 -7
  792. package/dist/cjs/components/icon-button.d.ts +0 -108
  793. package/dist/cjs/components/icon-button.d.ts.map +0 -1
  794. package/dist/cjs/components/icon-button.js +0 -5
  795. package/dist/cjs/components/icon-button.js.map +0 -7
  796. package/dist/cjs/components/icon-button.props.d.ts +0 -2
  797. package/dist/cjs/components/icon-button.props.d.ts.map +0 -1
  798. package/dist/cjs/components/icon-button.props.js +0 -2
  799. package/dist/cjs/components/icon-button.props.js.map +0 -7
  800. package/dist/cjs/components/image.d.ts +0 -96
  801. package/dist/cjs/components/image.d.ts.map +0 -1
  802. package/dist/cjs/components/image.js +0 -2
  803. package/dist/cjs/components/image.js.map +0 -7
  804. package/dist/cjs/components/image.props.d.ts +0 -147
  805. package/dist/cjs/components/image.props.d.ts.map +0 -1
  806. package/dist/cjs/components/image.props.js +0 -2
  807. package/dist/cjs/components/image.props.js.map +0 -7
  808. package/dist/cjs/components/quote.d.ts +0 -11
  809. package/dist/cjs/components/quote.d.ts.map +0 -1
  810. package/dist/cjs/components/quote.js +0 -2
  811. package/dist/cjs/components/quote.js.map +0 -7
  812. package/dist/cjs/components/quote.props.d.ts +0 -17
  813. package/dist/cjs/components/quote.props.d.ts.map +0 -1
  814. package/dist/cjs/components/quote.props.js +0 -2
  815. package/dist/cjs/components/quote.props.js.map +0 -7
  816. package/dist/cjs/components/radio-cards.d.ts +0 -16
  817. package/dist/cjs/components/radio-cards.d.ts.map +0 -1
  818. package/dist/cjs/components/radio-cards.js +0 -2
  819. package/dist/cjs/components/radio-cards.js.map +0 -7
  820. package/dist/cjs/components/radio-cards.props.d.ts +0 -43
  821. package/dist/cjs/components/radio-cards.props.d.ts.map +0 -1
  822. package/dist/cjs/components/radio-cards.props.js +0 -2
  823. package/dist/cjs/components/radio-cards.props.js.map +0 -7
  824. package/dist/cjs/components/schemas/icon-button.schema.d.ts +0 -201
  825. package/dist/cjs/components/schemas/icon-button.schema.d.ts.map +0 -1
  826. package/dist/cjs/components/schemas/icon-button.schema.js +0 -2
  827. package/dist/cjs/components/schemas/icon-button.schema.js.map +0 -7
  828. package/dist/cjs/components/schemas/toggle-button.schema.d.ts.map +0 -1
  829. package/dist/cjs/components/schemas/toggle-button.schema.js +0 -2
  830. package/dist/cjs/components/schemas/toggle-button.schema.js.map +0 -7
  831. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +0 -211
  832. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts.map +0 -1
  833. package/dist/cjs/components/schemas/toggle-icon-button.schema.js +0 -2
  834. package/dist/cjs/components/schemas/toggle-icon-button.schema.js.map +0 -7
  835. package/dist/cjs/components/section.d.ts +0 -11
  836. package/dist/cjs/components/section.d.ts.map +0 -1
  837. package/dist/cjs/components/section.js +0 -2
  838. package/dist/cjs/components/section.js.map +0 -7
  839. package/dist/cjs/components/section.props.d.ts +0 -52
  840. package/dist/cjs/components/section.props.d.ts.map +0 -1
  841. package/dist/cjs/components/section.props.js +0 -2
  842. package/dist/cjs/components/section.props.js.map +0 -7
  843. package/dist/cjs/components/skeleton.d.ts +0 -12
  844. package/dist/cjs/components/skeleton.d.ts.map +0 -1
  845. package/dist/cjs/components/skeleton.js +0 -2
  846. package/dist/cjs/components/skeleton.js.map +0 -7
  847. package/dist/cjs/components/skeleton.props.d.ts +0 -44
  848. package/dist/cjs/components/skeleton.props.d.ts.map +0 -1
  849. package/dist/cjs/components/skeleton.props.js +0 -2
  850. package/dist/cjs/components/skeleton.props.js.map +0 -7
  851. package/dist/cjs/components/strong.d.ts +0 -11
  852. package/dist/cjs/components/strong.d.ts.map +0 -1
  853. package/dist/cjs/components/strong.js +0 -2
  854. package/dist/cjs/components/strong.js.map +0 -7
  855. package/dist/cjs/components/strong.props.d.ts +0 -17
  856. package/dist/cjs/components/strong.props.d.ts.map +0 -1
  857. package/dist/cjs/components/strong.props.js +0 -2
  858. package/dist/cjs/components/strong.props.js.map +0 -7
  859. package/dist/cjs/components/tab-nav.d.ts +0 -19
  860. package/dist/cjs/components/tab-nav.d.ts.map +0 -1
  861. package/dist/cjs/components/tab-nav.js +0 -2
  862. package/dist/cjs/components/tab-nav.js.map +0 -7
  863. package/dist/cjs/components/tab-nav.props.d.ts +0 -12
  864. package/dist/cjs/components/tab-nav.props.d.ts.map +0 -1
  865. package/dist/cjs/components/tab-nav.props.js +0 -2
  866. package/dist/cjs/components/tab-nav.props.js.map +0 -7
  867. package/dist/cjs/components/theme-panel.d.ts +0 -25
  868. package/dist/cjs/components/theme-panel.d.ts.map +0 -1
  869. package/dist/cjs/components/theme-panel.js +0 -13
  870. package/dist/cjs/components/theme-panel.js.map +0 -7
  871. package/dist/cjs/components/toggle-button.d.ts +0 -63
  872. package/dist/cjs/components/toggle-button.d.ts.map +0 -1
  873. package/dist/cjs/components/toggle-button.js +0 -13
  874. package/dist/cjs/components/toggle-button.js.map +0 -7
  875. package/dist/cjs/components/toggle-icon-button.d.ts +0 -109
  876. package/dist/cjs/components/toggle-icon-button.d.ts.map +0 -1
  877. package/dist/cjs/components/toggle-icon-button.js +0 -13
  878. package/dist/cjs/components/toggle-icon-button.js.map +0 -7
  879. package/dist/esm/chunk-2XQECQF2.js +0 -2
  880. package/dist/esm/chunk-2XQECQF2.js.map +0 -7
  881. package/dist/esm/chunk-32ATKZAP.js +0 -2
  882. package/dist/esm/chunk-32ATKZAP.js.map +0 -7
  883. package/dist/esm/chunk-42LDZ7L5.js +0 -2
  884. package/dist/esm/chunk-42LDZ7L5.js.map +0 -7
  885. package/dist/esm/chunk-43A5GUSI.js +0 -2
  886. package/dist/esm/chunk-43A5GUSI.js.map +0 -7
  887. package/dist/esm/chunk-4JQZUQY7.js +0 -2
  888. package/dist/esm/chunk-4JQZUQY7.js.map +0 -7
  889. package/dist/esm/chunk-534LGOWC.js +0 -2
  890. package/dist/esm/chunk-534LGOWC.js.map +0 -7
  891. package/dist/esm/chunk-5AHQJB6H.js +0 -2
  892. package/dist/esm/chunk-5UU2IMGX.js +0 -2
  893. package/dist/esm/chunk-5UU2IMGX.js.map +0 -7
  894. package/dist/esm/chunk-63ASTOS2.js +0 -2
  895. package/dist/esm/chunk-63ASTOS2.js.map +0 -7
  896. package/dist/esm/chunk-6XNQ5XD3.js +0 -10
  897. package/dist/esm/chunk-6XNQ5XD3.js.map +0 -7
  898. package/dist/esm/chunk-7FC7HF76.js +0 -2
  899. package/dist/esm/chunk-7FC7HF76.js.map +0 -7
  900. package/dist/esm/chunk-7KIKAEI7.js +0 -2
  901. package/dist/esm/chunk-7KIKAEI7.js.map +0 -7
  902. package/dist/esm/chunk-7SS6EIE5.js +0 -5
  903. package/dist/esm/chunk-7SS6EIE5.js.map +0 -7
  904. package/dist/esm/chunk-7UV4FYYL.js +0 -2
  905. package/dist/esm/chunk-7UV4FYYL.js.map +0 -7
  906. package/dist/esm/chunk-ABQHBDM4.js +0 -2
  907. package/dist/esm/chunk-ABQHBDM4.js.map +0 -7
  908. package/dist/esm/chunk-ABS275QZ.js +0 -2
  909. package/dist/esm/chunk-AI6UQ5VD.js +0 -2
  910. package/dist/esm/chunk-AI6UQ5VD.js.map +0 -7
  911. package/dist/esm/chunk-AUV6B4AH.js +0 -2
  912. package/dist/esm/chunk-AUV6B4AH.js.map +0 -7
  913. package/dist/esm/chunk-B72RMGWZ.js +0 -2
  914. package/dist/esm/chunk-B72RMGWZ.js.map +0 -7
  915. package/dist/esm/chunk-BQS6XXJR.js +0 -2
  916. package/dist/esm/chunk-BQS6XXJR.js.map +0 -7
  917. package/dist/esm/chunk-BUBV3C6C.js +0 -2
  918. package/dist/esm/chunk-BUBV3C6C.js.map +0 -7
  919. package/dist/esm/chunk-CC4GNSKL.js +0 -2
  920. package/dist/esm/chunk-CC4GNSKL.js.map +0 -7
  921. package/dist/esm/chunk-D2ZHYCTG.js +0 -2
  922. package/dist/esm/chunk-D2ZHYCTG.js.map +0 -7
  923. package/dist/esm/chunk-DIR22XIX.js +0 -2
  924. package/dist/esm/chunk-DIR22XIX.js.map +0 -7
  925. package/dist/esm/chunk-DMWLY6ZP.js +0 -2
  926. package/dist/esm/chunk-E453PYTG.js +0 -2
  927. package/dist/esm/chunk-E453PYTG.js.map +0 -7
  928. package/dist/esm/chunk-EUSKAXHP.js +0 -2
  929. package/dist/esm/chunk-EUSKAXHP.js.map +0 -7
  930. package/dist/esm/chunk-EVTNB4TB.js +0 -2
  931. package/dist/esm/chunk-F2UUKVBM.js +0 -1
  932. package/dist/esm/chunk-FD2TR343.js +0 -2
  933. package/dist/esm/chunk-FD2TR343.js.map +0 -7
  934. package/dist/esm/chunk-FNRKTMNN.js +0 -2
  935. package/dist/esm/chunk-FNRKTMNN.js.map +0 -7
  936. package/dist/esm/chunk-FSKZAL5H.js +0 -2
  937. package/dist/esm/chunk-FSKZAL5H.js.map +0 -7
  938. package/dist/esm/chunk-FTGD2SZ6.js +0 -2
  939. package/dist/esm/chunk-FTGD2SZ6.js.map +0 -7
  940. package/dist/esm/chunk-G3U6OHVA.js +0 -2
  941. package/dist/esm/chunk-G3U6OHVA.js.map +0 -7
  942. package/dist/esm/chunk-G6PO4QKW.js +0 -2
  943. package/dist/esm/chunk-G6PO4QKW.js.map +0 -7
  944. package/dist/esm/chunk-GFOSP3PZ.js +0 -2
  945. package/dist/esm/chunk-GFOSP3PZ.js.map +0 -7
  946. package/dist/esm/chunk-GIIMBBVM.js +0 -2
  947. package/dist/esm/chunk-GIIMBBVM.js.map +0 -7
  948. package/dist/esm/chunk-GLERJXVS.js +0 -2
  949. package/dist/esm/chunk-GLERJXVS.js.map +0 -7
  950. package/dist/esm/chunk-GPVPXAUC.js +0 -2
  951. package/dist/esm/chunk-GPVPXAUC.js.map +0 -7
  952. package/dist/esm/chunk-GYNRAVCL.js +0 -5
  953. package/dist/esm/chunk-GYNRAVCL.js.map +0 -7
  954. package/dist/esm/chunk-HT5EFJA3.js +0 -2
  955. package/dist/esm/chunk-HT5EFJA3.js.map +0 -7
  956. package/dist/esm/chunk-IBF5U4QW.js +0 -2
  957. package/dist/esm/chunk-IBF5U4QW.js.map +0 -7
  958. package/dist/esm/chunk-IXNJFV4O.js +0 -2
  959. package/dist/esm/chunk-IXNJFV4O.js.map +0 -7
  960. package/dist/esm/chunk-JBC6DT2X.js +0 -2
  961. package/dist/esm/chunk-JBC6DT2X.js.map +0 -7
  962. package/dist/esm/chunk-JQURG6CB.js +0 -2
  963. package/dist/esm/chunk-JQURG6CB.js.map +0 -7
  964. package/dist/esm/chunk-JRIBL4WJ.js +0 -2
  965. package/dist/esm/chunk-JRIBL4WJ.js.map +0 -7
  966. package/dist/esm/chunk-JZSXHYUU.js +0 -2
  967. package/dist/esm/chunk-JZSXHYUU.js.map +0 -7
  968. package/dist/esm/chunk-K6Y2SM5N.js +0 -2
  969. package/dist/esm/chunk-K6Y2SM5N.js.map +0 -7
  970. package/dist/esm/chunk-KDKL3HXD.js +0 -2
  971. package/dist/esm/chunk-KDKL3HXD.js.map +0 -7
  972. package/dist/esm/chunk-KRPEEM4C.js +0 -2
  973. package/dist/esm/chunk-KRPEEM4C.js.map +0 -7
  974. package/dist/esm/chunk-KSZOVI57.js.map +0 -7
  975. package/dist/esm/chunk-L6UXAITB.js +0 -2
  976. package/dist/esm/chunk-L6UXAITB.js.map +0 -7
  977. package/dist/esm/chunk-LFUPGIPA.js +0 -2
  978. package/dist/esm/chunk-LFUPGIPA.js.map +0 -7
  979. package/dist/esm/chunk-MCQCG6AS.js +0 -2
  980. package/dist/esm/chunk-MCQCG6AS.js.map +0 -7
  981. package/dist/esm/chunk-MZR6YBE7.js +0 -2
  982. package/dist/esm/chunk-MZR6YBE7.js.map +0 -7
  983. package/dist/esm/chunk-N5OSP3PU.js +0 -2
  984. package/dist/esm/chunk-N77QJUTO.js.map +0 -7
  985. package/dist/esm/chunk-NCDOMH5I.js.map +0 -7
  986. package/dist/esm/chunk-NETIWKIR.js +0 -2
  987. package/dist/esm/chunk-NETIWKIR.js.map +0 -7
  988. package/dist/esm/chunk-NIX6Z3JG.js +0 -2
  989. package/dist/esm/chunk-NIX6Z3JG.js.map +0 -7
  990. package/dist/esm/chunk-OMYAVTX6.js +0 -2
  991. package/dist/esm/chunk-OMYAVTX6.js.map +0 -7
  992. package/dist/esm/chunk-OXYHRNJA.js +0 -2
  993. package/dist/esm/chunk-PDBVZAUJ.js +0 -2
  994. package/dist/esm/chunk-PIMNQEDG.js +0 -2
  995. package/dist/esm/chunk-PIMNQEDG.js.map +0 -7
  996. package/dist/esm/chunk-PPNWGWN3.js +0 -2
  997. package/dist/esm/chunk-PPNWGWN3.js.map +0 -7
  998. package/dist/esm/chunk-Q5LPCJXN.js +0 -2
  999. package/dist/esm/chunk-Q5LPCJXN.js.map +0 -7
  1000. package/dist/esm/chunk-QOPRXQGR.js +0 -2
  1001. package/dist/esm/chunk-QOPRXQGR.js.map +0 -7
  1002. package/dist/esm/chunk-RUWKVDFT.js +0 -2
  1003. package/dist/esm/chunk-RUWKVDFT.js.map +0 -7
  1004. package/dist/esm/chunk-RVM4LGAU.js +0 -2
  1005. package/dist/esm/chunk-RVM4LGAU.js.map +0 -7
  1006. package/dist/esm/chunk-TLWCU336.js +0 -2
  1007. package/dist/esm/chunk-TLWCU336.js.map +0 -7
  1008. package/dist/esm/chunk-TQIR5LLY.js +0 -2
  1009. package/dist/esm/chunk-TQIR5LLY.js.map +0 -7
  1010. package/dist/esm/chunk-UUHTK35B.js +0 -2
  1011. package/dist/esm/chunk-UUHTK35B.js.map +0 -7
  1012. package/dist/esm/chunk-UUV5UNYL.js +0 -2
  1013. package/dist/esm/chunk-UUV5UNYL.js.map +0 -7
  1014. package/dist/esm/chunk-UUWGAQDT.js +0 -2
  1015. package/dist/esm/chunk-UUWGAQDT.js.map +0 -7
  1016. package/dist/esm/chunk-VLQ2LX5M.js +0 -2
  1017. package/dist/esm/chunk-VLQ2LX5M.js.map +0 -7
  1018. package/dist/esm/chunk-VTTJFBV6.js +0 -2
  1019. package/dist/esm/chunk-VTTJFBV6.js.map +0 -7
  1020. package/dist/esm/chunk-WAURCNAS.js.map +0 -7
  1021. package/dist/esm/chunk-X3D3JR64.js +0 -2
  1022. package/dist/esm/chunk-X3D3JR64.js.map +0 -7
  1023. package/dist/esm/chunk-X7HFFVFD.js +0 -2
  1024. package/dist/esm/chunk-X7HFFVFD.js.map +0 -7
  1025. package/dist/esm/chunk-XASK6LMX.js +0 -2
  1026. package/dist/esm/chunk-XASK6LMX.js.map +0 -7
  1027. package/dist/esm/chunk-XI5YXUCK.js +0 -2
  1028. package/dist/esm/chunk-XI5YXUCK.js.map +0 -7
  1029. package/dist/esm/chunk-XTE22CXV.js +0 -2
  1030. package/dist/esm/chunk-XTE22CXV.js.map +0 -7
  1031. package/dist/esm/chunk-Y7LT3F6R.js +0 -2
  1032. package/dist/esm/chunk-Y7LT3F6R.js.map +0 -7
  1033. package/dist/esm/chunk-YKPMLM7M.js +0 -1
  1034. package/dist/esm/chunk-YVHRWMSZ.js.map +0 -7
  1035. package/dist/esm/chunk-YYZBPQQ4.js +0 -2
  1036. package/dist/esm/chunk-YYZBPQQ4.js.map +0 -7
  1037. package/dist/esm/chunk-Z6NRR7KS.js +0 -2
  1038. package/dist/esm/chunk-Z6NRR7KS.js.map +0 -7
  1039. package/dist/esm/chunk-ZIKJ2WZN.js +0 -2
  1040. package/dist/esm/chunk-ZIKJ2WZN.js.map +0 -7
  1041. package/dist/esm/chunk-ZMFZYXLB.js +0 -2
  1042. package/dist/esm/chunk-ZMFZYXLB.js.map +0 -7
  1043. package/dist/esm/chunk-ZMOBKT4T.js +0 -2
  1044. package/dist/esm/chunk-ZMOBKT4T.js.map +0 -7
  1045. package/dist/esm/chunk-ZWZGUBL4.js.map +0 -7
  1046. package/dist/esm/components/aspect-ratio.d.ts +0 -4
  1047. package/dist/esm/components/aspect-ratio.d.ts.map +0 -1
  1048. package/dist/esm/components/aspect-ratio.js +0 -2
  1049. package/dist/esm/components/badge.d.ts +0 -19
  1050. package/dist/esm/components/badge.d.ts.map +0 -1
  1051. package/dist/esm/components/badge.js +0 -2
  1052. package/dist/esm/components/badge.props.d.ts.map +0 -1
  1053. package/dist/esm/components/badge.props.js +0 -2
  1054. package/dist/esm/components/checkbox-cards.d.ts +0 -19
  1055. package/dist/esm/components/checkbox-cards.d.ts.map +0 -1
  1056. package/dist/esm/components/checkbox-cards.js +0 -2
  1057. package/dist/esm/components/checkbox-cards.js.map +0 -7
  1058. package/dist/esm/components/checkbox-cards.props.d.ts +0 -43
  1059. package/dist/esm/components/checkbox-cards.props.d.ts.map +0 -1
  1060. package/dist/esm/components/checkbox-cards.props.js +0 -2
  1061. package/dist/esm/components/checkbox-cards.props.js.map +0 -7
  1062. package/dist/esm/components/container.d.ts +0 -11
  1063. package/dist/esm/components/container.d.ts.map +0 -1
  1064. package/dist/esm/components/container.js +0 -2
  1065. package/dist/esm/components/container.js.map +0 -7
  1066. package/dist/esm/components/container.props.d.ts +0 -68
  1067. package/dist/esm/components/container.props.d.ts.map +0 -1
  1068. package/dist/esm/components/container.props.js +0 -2
  1069. package/dist/esm/components/container.props.js.map +0 -7
  1070. package/dist/esm/components/data-list.d.ts +0 -23
  1071. package/dist/esm/components/data-list.d.ts.map +0 -1
  1072. package/dist/esm/components/data-list.js +0 -2
  1073. package/dist/esm/components/data-list.js.map +0 -7
  1074. package/dist/esm/components/data-list.props.d.ts +0 -63
  1075. package/dist/esm/components/data-list.props.d.ts.map +0 -1
  1076. package/dist/esm/components/data-list.props.js +0 -2
  1077. package/dist/esm/components/data-list.props.js.map +0 -7
  1078. package/dist/esm/components/em.d.ts +0 -11
  1079. package/dist/esm/components/em.d.ts.map +0 -1
  1080. package/dist/esm/components/em.js +0 -2
  1081. package/dist/esm/components/em.js.map +0 -7
  1082. package/dist/esm/components/em.props.d.ts +0 -17
  1083. package/dist/esm/components/em.props.d.ts.map +0 -1
  1084. package/dist/esm/components/em.props.js +0 -2
  1085. package/dist/esm/components/em.props.js.map +0 -7
  1086. package/dist/esm/components/hover-card.d.ts +0 -17
  1087. package/dist/esm/components/hover-card.d.ts.map +0 -1
  1088. package/dist/esm/components/hover-card.js +0 -2
  1089. package/dist/esm/components/hover-card.js.map +0 -7
  1090. package/dist/esm/components/hover-card.props.d.ts +0 -57
  1091. package/dist/esm/components/hover-card.props.d.ts.map +0 -1
  1092. package/dist/esm/components/hover-card.props.js +0 -2
  1093. package/dist/esm/components/hover-card.props.js.map +0 -7
  1094. package/dist/esm/components/icon-button.d.ts +0 -108
  1095. package/dist/esm/components/icon-button.d.ts.map +0 -1
  1096. package/dist/esm/components/icon-button.js +0 -2
  1097. package/dist/esm/components/icon-button.js.map +0 -7
  1098. package/dist/esm/components/icon-button.props.d.ts +0 -2
  1099. package/dist/esm/components/icon-button.props.d.ts.map +0 -1
  1100. package/dist/esm/components/icon-button.props.js +0 -2
  1101. package/dist/esm/components/icon-button.props.js.map +0 -7
  1102. package/dist/esm/components/image.d.ts +0 -96
  1103. package/dist/esm/components/image.d.ts.map +0 -1
  1104. package/dist/esm/components/image.js +0 -2
  1105. package/dist/esm/components/image.js.map +0 -7
  1106. package/dist/esm/components/image.props.d.ts +0 -147
  1107. package/dist/esm/components/image.props.d.ts.map +0 -1
  1108. package/dist/esm/components/image.props.js +0 -2
  1109. package/dist/esm/components/image.props.js.map +0 -7
  1110. package/dist/esm/components/quote.d.ts +0 -11
  1111. package/dist/esm/components/quote.d.ts.map +0 -1
  1112. package/dist/esm/components/quote.js +0 -2
  1113. package/dist/esm/components/quote.js.map +0 -7
  1114. package/dist/esm/components/quote.props.d.ts +0 -17
  1115. package/dist/esm/components/quote.props.d.ts.map +0 -1
  1116. package/dist/esm/components/quote.props.js +0 -2
  1117. package/dist/esm/components/quote.props.js.map +0 -7
  1118. package/dist/esm/components/radio-cards.d.ts +0 -16
  1119. package/dist/esm/components/radio-cards.d.ts.map +0 -1
  1120. package/dist/esm/components/radio-cards.js +0 -2
  1121. package/dist/esm/components/radio-cards.js.map +0 -7
  1122. package/dist/esm/components/radio-cards.props.d.ts +0 -43
  1123. package/dist/esm/components/radio-cards.props.d.ts.map +0 -1
  1124. package/dist/esm/components/radio-cards.props.js +0 -2
  1125. package/dist/esm/components/radio-cards.props.js.map +0 -7
  1126. package/dist/esm/components/schemas/icon-button.schema.d.ts +0 -201
  1127. package/dist/esm/components/schemas/icon-button.schema.d.ts.map +0 -1
  1128. package/dist/esm/components/schemas/icon-button.schema.js +0 -2
  1129. package/dist/esm/components/schemas/icon-button.schema.js.map +0 -7
  1130. package/dist/esm/components/schemas/toggle-button.schema.d.ts.map +0 -1
  1131. package/dist/esm/components/schemas/toggle-button.schema.js +0 -2
  1132. package/dist/esm/components/schemas/toggle-button.schema.js.map +0 -7
  1133. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +0 -211
  1134. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts.map +0 -1
  1135. package/dist/esm/components/schemas/toggle-icon-button.schema.js +0 -2
  1136. package/dist/esm/components/schemas/toggle-icon-button.schema.js.map +0 -7
  1137. package/dist/esm/components/section.d.ts +0 -11
  1138. package/dist/esm/components/section.d.ts.map +0 -1
  1139. package/dist/esm/components/section.js +0 -2
  1140. package/dist/esm/components/section.js.map +0 -7
  1141. package/dist/esm/components/section.props.d.ts +0 -52
  1142. package/dist/esm/components/section.props.d.ts.map +0 -1
  1143. package/dist/esm/components/section.props.js +0 -2
  1144. package/dist/esm/components/section.props.js.map +0 -7
  1145. package/dist/esm/components/skeleton.d.ts +0 -12
  1146. package/dist/esm/components/skeleton.d.ts.map +0 -1
  1147. package/dist/esm/components/skeleton.js +0 -2
  1148. package/dist/esm/components/skeleton.js.map +0 -7
  1149. package/dist/esm/components/skeleton.props.d.ts +0 -44
  1150. package/dist/esm/components/skeleton.props.d.ts.map +0 -1
  1151. package/dist/esm/components/skeleton.props.js +0 -2
  1152. package/dist/esm/components/skeleton.props.js.map +0 -7
  1153. package/dist/esm/components/strong.d.ts +0 -11
  1154. package/dist/esm/components/strong.d.ts.map +0 -1
  1155. package/dist/esm/components/strong.js +0 -2
  1156. package/dist/esm/components/strong.js.map +0 -7
  1157. package/dist/esm/components/strong.props.d.ts +0 -17
  1158. package/dist/esm/components/strong.props.d.ts.map +0 -1
  1159. package/dist/esm/components/strong.props.js +0 -2
  1160. package/dist/esm/components/strong.props.js.map +0 -7
  1161. package/dist/esm/components/tab-nav.d.ts +0 -19
  1162. package/dist/esm/components/tab-nav.d.ts.map +0 -1
  1163. package/dist/esm/components/tab-nav.js +0 -2
  1164. package/dist/esm/components/tab-nav.js.map +0 -7
  1165. package/dist/esm/components/tab-nav.props.d.ts +0 -12
  1166. package/dist/esm/components/tab-nav.props.d.ts.map +0 -1
  1167. package/dist/esm/components/tab-nav.props.js +0 -2
  1168. package/dist/esm/components/tab-nav.props.js.map +0 -7
  1169. package/dist/esm/components/theme-panel.d.ts +0 -25
  1170. package/dist/esm/components/theme-panel.d.ts.map +0 -1
  1171. package/dist/esm/components/theme-panel.js +0 -2
  1172. package/dist/esm/components/theme-panel.js.map +0 -7
  1173. package/dist/esm/components/toggle-button.d.ts +0 -63
  1174. package/dist/esm/components/toggle-button.d.ts.map +0 -1
  1175. package/dist/esm/components/toggle-button.js +0 -2
  1176. package/dist/esm/components/toggle-button.js.map +0 -7
  1177. package/dist/esm/components/toggle-icon-button.d.ts +0 -109
  1178. package/dist/esm/components/toggle-icon-button.d.ts.map +0 -1
  1179. package/dist/esm/components/toggle-icon-button.js +0 -2
  1180. package/dist/esm/components/toggle-icon-button.js.map +0 -7
  1181. package/schemas/icon-button.json +0 -296
  1182. package/schemas/toggle-button.d.ts +0 -2
  1183. package/schemas/toggle-icon-button.d.ts +0 -2
  1184. package/schemas/toggle-icon-button.json +0 -304
  1185. package/src/components/aspect-ratio.tsx +0 -3
  1186. package/src/components/checkbox-cards.css +0 -124
  1187. package/src/components/checkbox-cards.props.tsx +0 -27
  1188. package/src/components/checkbox-cards.tsx +0 -141
  1189. package/src/components/container.css +0 -43
  1190. package/src/components/container.props.tsx +0 -84
  1191. package/src/components/container.tsx +0 -59
  1192. package/src/components/data-list.css +0 -254
  1193. package/src/components/data-list.props.tsx +0 -57
  1194. package/src/components/data-list.tsx +0 -102
  1195. package/src/components/em.css +0 -16
  1196. package/src/components/em.props.tsx +0 -11
  1197. package/src/components/em.tsx +0 -22
  1198. package/src/components/hover-card.css +0 -39
  1199. package/src/components/hover-card.props.tsx +0 -37
  1200. package/src/components/hover-card.tsx +0 -74
  1201. package/src/components/icon-button.css +0 -9
  1202. package/src/components/icon-button.props.tsx +0 -1
  1203. package/src/components/icon-button.tsx +0 -110
  1204. package/src/components/image.css +0 -221
  1205. package/src/components/image.props.ts +0 -163
  1206. package/src/components/image.tsx +0 -308
  1207. package/src/components/quote.css +0 -16
  1208. package/src/components/quote.props.tsx +0 -11
  1209. package/src/components/quote.tsx +0 -22
  1210. package/src/components/radio-cards.css +0 -110
  1211. package/src/components/radio-cards.props.tsx +0 -27
  1212. package/src/components/radio-cards.tsx +0 -98
  1213. package/src/components/schemas/icon-button.schema.ts +0 -142
  1214. package/src/components/schemas/toggle-icon-button.schema.ts +0 -195
  1215. package/src/components/section.css +0 -25
  1216. package/src/components/section.props.tsx +0 -63
  1217. package/src/components/section.tsx +0 -36
  1218. package/src/components/skeleton.css +0 -55
  1219. package/src/components/skeleton.props.tsx +0 -14
  1220. package/src/components/skeleton.tsx +0 -48
  1221. package/src/components/strong.css +0 -13
  1222. package/src/components/strong.props.tsx +0 -11
  1223. package/src/components/strong.tsx +0 -24
  1224. package/src/components/tab-nav.css +0 -5
  1225. package/src/components/tab-nav.props.tsx +0 -13
  1226. package/src/components/tab-nav.tsx +0 -82
  1227. package/src/components/theme-panel.css +0 -67
  1228. package/src/components/theme-panel.tsx +0 -549
  1229. package/src/components/toggle-button.tsx +0 -117
  1230. package/src/components/toggle-icon-button.tsx +0 -115
  1231. /package/dist/esm/{chunk-STMTXK7U.js.map → chunk-24CVW6P7.js.map} +0 -0
  1232. /package/dist/esm/{chunk-OXYHRNJA.js.map → chunk-4VBH3W2S.js.map} +0 -0
  1233. /package/dist/esm/{chunk-ABS275QZ.js.map → chunk-72FU5FEC.js.map} +0 -0
  1234. /package/dist/esm/{chunk-MLXHD7YF.js.map → chunk-7FPLWHMT.js.map} +0 -0
  1235. /package/dist/esm/{chunk-YS5BZRRK.js.map → chunk-7OQXCYCW.js.map} +0 -0
  1236. /package/dist/esm/{chunk-N5OSP3PU.js.map → chunk-AYZRLA7F.js.map} +0 -0
  1237. /package/dist/esm/{chunk-6RZVKCNG.js.map → chunk-BHGES72S.js.map} +0 -0
  1238. /package/dist/esm/{chunk-KU3LLWFU.js.map → chunk-CTZ467AB.js.map} +0 -0
  1239. /package/dist/esm/{chunk-Q7S5LQBQ.js.map → chunk-CYO6CRMQ.js.map} +0 -0
  1240. /package/dist/esm/{chunk-F2UUKVBM.js.map → chunk-D3U4MWDZ.js.map} +0 -0
  1241. /package/dist/esm/{chunk-VLLJ7A6P.js.map → chunk-DCNHG6VN.js.map} +0 -0
  1242. /package/dist/esm/{chunk-UZQO4APP.js.map → chunk-EDEYYJ3Q.js.map} +0 -0
  1243. /package/dist/esm/{chunk-6FLLFCBU.js.map → chunk-ELAW7ZUG.js.map} +0 -0
  1244. /package/dist/esm/{chunk-B6RH4CTY.js.map → chunk-G46OLCM2.js.map} +0 -0
  1245. /package/dist/esm/{chunk-5LGWS5QS.js.map → chunk-GOV5I7I2.js.map} +0 -0
  1246. /package/dist/esm/{chunk-VSSJTPBV.js.map → chunk-HELY5CSU.js.map} +0 -0
  1247. /package/dist/esm/{chunk-UFJJTUOU.js.map → chunk-HGG3ULNK.js.map} +0 -0
  1248. /package/dist/esm/{chunk-DMWLY6ZP.js.map → chunk-HZNOHY6O.js.map} +0 -0
  1249. /package/dist/esm/{chunk-PUVZFRTQ.js.map → chunk-IZPDJN6O.js.map} +0 -0
  1250. /package/dist/esm/{chunk-KPACVWV4.js.map → chunk-K4BDLRCC.js.map} +0 -0
  1251. /package/dist/esm/{chunk-GYB7PAGB.js.map → chunk-K6WT5ZEA.js.map} +0 -0
  1252. /package/dist/esm/{chunk-CLEH57SW.js.map → chunk-KIYCILXL.js.map} +0 -0
  1253. /package/dist/esm/{chunk-ZCAI2PRH.js.map → chunk-KRDRQU4G.js.map} +0 -0
  1254. /package/dist/esm/{chunk-T5DSQKKF.js.map → chunk-KRZL245C.js.map} +0 -0
  1255. /package/dist/esm/{chunk-L2IIIELE.js.map → chunk-LNFN35ZE.js.map} +0 -0
  1256. /package/dist/esm/{chunk-PUQXBW2K.js.map → chunk-LPVDR7V3.js.map} +0 -0
  1257. /package/dist/esm/{chunk-JUY7CBSL.js.map → chunk-PBFSBHBS.js.map} +0 -0
  1258. /package/dist/esm/{chunk-E3754NJZ.js.map → chunk-QZ6OCMH4.js.map} +0 -0
  1259. /package/dist/esm/{chunk-54KMG7NX.js.map → chunk-TKSG7KBZ.js.map} +0 -0
  1260. /package/dist/esm/{chunk-WDDO73O5.js.map → chunk-UEHCCJYY.js.map} +0 -0
  1261. /package/dist/esm/{chunk-YKPMLM7M.js.map → components/chip.js.map} +0 -0
  1262. /package/dist/esm/components/{aspect-ratio.js.map → chip.props.js.map} +0 -0
  1263. /package/dist/esm/components/{badge.js.map → schemas/toggle.schema.js.map} +0 -0
  1264. /package/dist/esm/components/{badge.props.js.map → toggle.js.map} +0 -0
  1265. /package/schemas/{icon-button.d.ts → toggle.d.ts} +0 -0
@@ -1,549 +0,0 @@
1
- 'use client';
2
-
3
- import * as React from 'react';
4
- import { useCallbackRef } from 'radix-ui/internal';
5
- import { flushSync } from 'react-dom';
6
-
7
- import { Box } from './box.js';
8
- import { Button } from './button.js';
9
- import { Flex } from './flex.js';
10
- import { Grid } from './grid.js';
11
- import { Heading } from './heading.js';
12
- import { Kbd } from './kbd.js';
13
- import { ScrollArea } from './scroll-area.js';
14
- import { Text } from './text.js';
15
- import { Tooltip } from './tooltip.js';
16
- import { Theme, useThemeContext, type ThemeContextValue } from './theme.js';
17
- import { inert } from '../helpers/inert.js';
18
- import { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';
19
- import { themePropDefs } from './theme.props.js';
20
-
21
- import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
22
- import type { GetPropDefTypes } from '../props/prop-def.js';
23
-
24
- interface ThemePanelProps extends Omit<ThemePanelImplProps, keyof ThemePanelImplPrivateProps> {
25
- onAppearanceChange?: (value: 'light' | 'dark') => void;
26
- defaultOpen?: boolean;
27
- }
28
-
29
- const keyboardInputElement = `
30
- [contenteditable],
31
- [role="combobox"],
32
- [role="listbox"],
33
- [role="menu"],
34
- input:not([type="radio"], [type="checkbox"]),
35
- select,
36
- textarea
37
- `;
38
-
39
- const ThemePanel = React.forwardRef<ThemePanelImplElement, ThemePanelProps>(
40
- ({ defaultOpen = true, ...props }, forwardedRef) => {
41
- const [open, setOpen] = React.useState(defaultOpen);
42
- const triggerRef = React.useRef<HTMLButtonElement>(null);
43
- const previouslyFocusedElementRef = React.useRef<HTMLElement | null>(null);
44
-
45
- // quickly show/hide using "T" keypress
46
- React.useEffect(() => {
47
- function handleKeydown(event: KeyboardEvent) {
48
- const isModifierActive = event.altKey || event.ctrlKey || event.shiftKey || event.metaKey;
49
- const isKeyboardInputActive = document.activeElement?.closest(keyboardInputElement);
50
- const isKeyT = event.key?.toUpperCase() === 'T' && !isModifierActive;
51
- if (isKeyT && !isKeyboardInputActive) {
52
- let isOpen = false;
53
- flushSync(() => {
54
- setOpen((open) => {
55
- isOpen = !open;
56
- return isOpen;
57
- });
58
- });
59
- if (isOpen) {
60
- previouslyFocusedElementRef.current = document.activeElement as HTMLElement | null;
61
- triggerRef.current?.focus();
62
- } else {
63
- previouslyFocusedElementRef.current?.focus();
64
- }
65
- }
66
- }
67
- document.addEventListener('keydown', handleKeydown);
68
- return () => document.removeEventListener('keydown', handleKeydown);
69
- }, []);
70
-
71
- return (
72
- <ThemePanelImpl
73
- {...props}
74
- ref={forwardedRef}
75
- triggerRef={triggerRef}
76
- open={open}
77
- shortcut={
78
- <Tooltip content="Press T to show/hide the Theme Panel" side="bottom" sideOffset={6}>
79
- <Kbd asChild size="3" tabIndex={0} className="rt-ThemePanelShortcut">
80
- <button
81
- type="button"
82
- onClick={() => setOpen((open) => !open)}
83
- ref={triggerRef}
84
- aria-label="Toggle the Theme Panel"
85
- >
86
- T
87
- </button>
88
- </Kbd>
89
- </Tooltip>
90
- }
91
- />
92
- );
93
- },
94
- );
95
- ThemePanel.displayName = 'ThemePanel';
96
-
97
- type ThemePanelImplElement = React.ElementRef<'div'>;
98
- interface ThemePanelImplPrivateProps {
99
- open: boolean;
100
- shortcut: React.ReactNode;
101
- triggerRef: React.RefObject<HTMLButtonElement | null>;
102
- }
103
- interface ThemePanelImplProps
104
- extends ComponentPropsWithout<'div', RemovedProps>, ThemePanelImplPrivateProps {
105
- onAppearanceChange?: (value: 'light' | 'dark') => void;
106
- }
107
- const ThemePanelImpl = React.forwardRef<ThemePanelImplElement, ThemePanelImplProps>(
108
- (props, forwardedRef) => {
109
- const { open, onAppearanceChange, shortcut, triggerRef, ...panelProps } = props;
110
- const themeContext = useThemeContext();
111
- return (
112
- <Theme asChild radius="medium">
113
- <Flex
114
- direction="column"
115
- position="fixed"
116
- top="0"
117
- right="0"
118
- mr={{ initial: '3', sm: '5' }}
119
- mt={{ initial: '3', sm: '5' }}
120
- width={{ initial: '360px' }}
121
- maxHeight={{
122
- initial: 'calc(100svh - var(--space-3) - var(--space-3))',
123
- sm: 'calc(100svh - var(--space-5) - var(--space-5))',
124
- }}
125
- maxWidth={{
126
- initial: 'calc(100svw - var(--space-3) - var(--space-3))',
127
- sm: 'calc(100svw - var(--space-5) - var(--space-5))',
128
- }}
129
- inert={open ? undefined : inert}
130
- {...panelProps}
131
- ref={forwardedRef}
132
- style={{
133
- zIndex: 999999999,
134
- overflow: 'hidden',
135
- borderRadius: 'var(--radius-4)',
136
- backgroundColor: 'var(--color-panel-solid)',
137
- transformOrigin: 'top center',
138
- transform: open ? 'none' : 'translateX(105%)',
139
- boxShadow: open ? 'var(--shadow-5)' : 'var(--shadow-2)',
140
- ...props.style,
141
- }}
142
- >
143
- <ScrollArea>
144
- <Box flexGrow="1" p={{ initial: '5', xs: '6' }} position="relative">
145
- {!!shortcut && (
146
- <Box position="absolute" top="0" right="0" m="3">
147
- {shortcut}
148
- </Box>
149
- )}
150
- <ThemePanelContent onAppearanceChange={onAppearanceChange} context={themeContext} />
151
- </Box>
152
- </ScrollArea>
153
- </Flex>
154
- </Theme>
155
- );
156
- },
157
- );
158
- ThemePanelImpl.displayName = 'ThemePanelImpl';
159
-
160
- type ThemePanelContentElement = React.ElementRef<typeof Flex>;
161
- interface ThemePanelContentProps extends ComponentPropsWithout<
162
- typeof Flex,
163
- RemovedProps | 'direction'
164
- > {
165
- onAppearanceChange?: (value: 'light' | 'dark') => void;
166
- context?: ThemeContextValue;
167
- }
168
- const ThemePanelContent = React.forwardRef<ThemePanelContentElement, ThemePanelContentProps>(
169
- (props, forwardedRef) => {
170
- const {
171
- onAppearanceChange: onAppearanceChangeProp,
172
- context: contextProp,
173
- ...contentProps
174
- } = props;
175
-
176
- const themeContext = useThemeContext();
177
-
178
- const {
179
- appearance,
180
- onAppearanceChange,
181
- accentColor,
182
- onAccentColorChange,
183
- grayColor,
184
- onGrayColorChange,
185
- radius,
186
- onRadiusChange,
187
- } = contextProp ?? themeContext;
188
-
189
- const [resolvedAppearance, setResolvedAppearance] = React.useState<'light' | 'dark' | null>(
190
- appearance === 'inherit' ? null : appearance,
191
- );
192
- const hasOnAppearanceChangeProp = onAppearanceChangeProp !== undefined;
193
- const handleAppearanceChangeProp = useCallbackRef(onAppearanceChangeProp);
194
- const handleAppearanceChange = React.useCallback(
195
- (value: 'light' | 'dark') => {
196
- const cleanup = disableAnimation();
197
-
198
- if (appearance !== 'inherit') {
199
- onAppearanceChange(value);
200
- return;
201
- }
202
-
203
- if (hasOnAppearanceChangeProp) {
204
- handleAppearanceChangeProp(value);
205
- } else {
206
- setResolvedAppearance(value);
207
- updateRootAppearanceClass(value);
208
- }
209
-
210
- cleanup();
211
- },
212
- [appearance, onAppearanceChange, hasOnAppearanceChangeProp, handleAppearanceChangeProp],
213
- );
214
-
215
- const autoMatchedGray = getMatchingGrayColor(accentColor);
216
- const resolvedGrayColor = grayColor === 'auto' ? autoMatchedGray : grayColor;
217
-
218
- const [copyState, setCopyState] = React.useState<'idle' | 'copying' | 'copied'>('idle');
219
- async function handleCopyThemeConfig() {
220
- const theme = {
221
- appearance: appearance === themePropDefs.appearance.default ? undefined : appearance,
222
- accentColor: accentColor === themePropDefs.accentColor.default ? undefined : accentColor,
223
- grayColor: grayColor === themePropDefs.grayColor.default ? undefined : grayColor,
224
- radius: radius === themePropDefs.radius.default ? undefined : radius,
225
- } satisfies GetPropDefTypes<typeof themePropDefs>;
226
-
227
- const props = Object.keys(theme)
228
- .filter((key) => theme[key as keyof typeof theme] !== undefined)
229
- .map((key) => `${key}="${theme[key as keyof typeof theme]}"`)
230
- .join(' ');
231
-
232
- const textToCopy = props ? `<Theme ${props}>` : '<Theme>';
233
-
234
- setCopyState('copying');
235
- await navigator.clipboard.writeText(textToCopy);
236
- setCopyState('copied');
237
- setTimeout(() => setCopyState('idle'), 2000);
238
- }
239
-
240
- // quickly toggle appearance using "D" keypress
241
- React.useEffect(() => {
242
- function handleKeydown(event: KeyboardEvent) {
243
- const isModifierActive = event.altKey || event.ctrlKey || event.shiftKey || event.metaKey;
244
- const isKeyboardInputActive = document.activeElement?.closest(keyboardInputElement);
245
- const isKeyD = event.key?.toUpperCase() === 'D' && !isModifierActive;
246
- if (isKeyD && !isKeyboardInputActive) {
247
- handleAppearanceChange(resolvedAppearance === 'light' ? 'dark' : 'light');
248
- }
249
- }
250
- document.addEventListener('keydown', handleKeydown);
251
- return () => document.removeEventListener('keydown', handleKeydown);
252
- }, [handleAppearanceChange, resolvedAppearance]);
253
-
254
- React.useEffect(() => {
255
- const root = document.documentElement;
256
- const body = document.body;
257
-
258
- function update() {
259
- const hasDarkClass =
260
- root.classList.contains('dark') ||
261
- root.classList.contains('dark-theme') ||
262
- body.classList.contains('dark') ||
263
- body.classList.contains('dark-theme');
264
-
265
- if (appearance === 'inherit') {
266
- setResolvedAppearance(hasDarkClass ? 'dark' : 'light');
267
- } else {
268
- setResolvedAppearance(appearance);
269
- }
270
- }
271
-
272
- const classNameObserver = new MutationObserver(function (mutations) {
273
- mutations.forEach(function (mutation) {
274
- if (mutation.attributeName === 'class') {
275
- update();
276
- }
277
- });
278
- });
279
-
280
- update();
281
-
282
- // Observe <html> and <body> for `class` changes only when the appearance is inherited from them
283
- if (appearance === 'inherit') {
284
- classNameObserver.observe(root, { attributes: true });
285
- classNameObserver.observe(body, { attributes: true });
286
- }
287
-
288
- return () => classNameObserver.disconnect();
289
- }, [appearance]);
290
-
291
- return (
292
- <Flex direction="column" gap="6" {...contentProps} ref={forwardedRef}>
293
- <Heading size={{ initial: '3', sm: '5' }} trim="both" as="h2">
294
- Theme
295
- </Heading>
296
- <Flex direction="column" gap="6">
297
- {/* Accent color */}
298
- <ThemePanelSection>
299
- <ThemePanelHeading id="accent-color-title">Accent color</ThemePanelHeading>
300
- <Flex wrap="wrap" gap="3" role="group" aria-labelledby="accent-color-title">
301
- {themePropDefs.accentColor.values.map((color) => (
302
- <Box asChild key={color}>
303
- <label
304
- className="rt-ThemePanelSwatch"
305
- aria-label={upperFirst(color)}
306
- style={{ backgroundColor: `var(--${color}-9)` }}
307
- >
308
- <Tooltip
309
- content={`${upperFirst(color)}${
310
- accentColor === 'gray' && resolvedGrayColor !== 'gray'
311
- ? ` (${upperFirst(resolvedGrayColor)})`
312
- : ''
313
- }`}
314
- >
315
- <input
316
- className="rt-ThemePanelSwatchInput"
317
- type="radio"
318
- name="accentColor"
319
- value={color}
320
- checked={accentColor === color}
321
- onChange={(event) =>
322
- onAccentColorChange(event.target.value as typeof accentColor)
323
- }
324
- />
325
- </Tooltip>
326
- </label>
327
- </Box>
328
- ))}
329
- </Flex>
330
- </ThemePanelSection>
331
-
332
- {/* Gray color */}
333
- <ThemePanelSection>
334
- <ThemePanelHeading id="gray-color-title">Gray color</ThemePanelHeading>
335
- <Flex wrap="wrap" gap="3" role="group" aria-labelledby="gray-color-title">
336
- {themePropDefs.grayColor.values.map((gray) => (
337
- <Flex key={gray} asChild align="center" justify="center">
338
- <label
339
- className="rt-ThemePanelSwatch"
340
- aria-label={upperFirst(gray)}
341
- style={{
342
- backgroundColor:
343
- gray === 'auto'
344
- ? `var(--${autoMatchedGray}-9)`
345
- : gray === 'gray'
346
- ? 'var(--gray-9)'
347
- : `var(--${gray}-9)`,
348
- // we override --gray so pure gray doesn't exist anymore
349
- // recover something as close as possible by desaturating
350
- filter: gray === 'gray' ? 'saturate(0)' : undefined,
351
- }}
352
- >
353
- <Tooltip
354
- content={`${upperFirst(gray)}${
355
- gray === 'auto' ? ` (${upperFirst(autoMatchedGray)})` : ''
356
- }`}
357
- >
358
- <input
359
- className="rt-ThemePanelSwatchInput"
360
- type="radio"
361
- name="grayColor"
362
- value={gray}
363
- checked={grayColor === gray}
364
- onChange={(event) =>
365
- onGrayColorChange(event.target.value as typeof grayColor)
366
- }
367
- />
368
- </Tooltip>
369
- </label>
370
- </Flex>
371
- ))}
372
- </Flex>
373
- </ThemePanelSection>
374
-
375
- {/* Appearance */}
376
- <ThemePanelSection>
377
- <ThemePanelHeading id="appearance-title">Appearance</ThemePanelHeading>
378
- <Grid columns="2" gap="3" role="group" aria-labelledby="appearance-title">
379
- {(['light', 'dark'] as const).map((value) => (
380
- <label key={value} className="rt-ThemePanelRadioCard">
381
- <input
382
- className="rt-ThemePanelRadioCardInput"
383
- type="radio"
384
- name="appearance"
385
- value={value}
386
- checked={resolvedAppearance === value}
387
- onChange={(event) =>
388
- handleAppearanceChange(event.target.value as 'light' | 'dark')
389
- }
390
- />
391
- <Flex align="center" justify="center" height="32px" gap="3">
392
- {value === 'light' ? (
393
- <svg
394
- width="15"
395
- height="15"
396
- viewBox="0 0 15 15"
397
- fill="none"
398
- xmlns="http://www.w3.org/2000/svg"
399
- style={{ margin: '0 -1px' }}
400
- >
401
- <path
402
- d="M7.5 0C7.77614 0 8 0.223858 8 0.5V2.5C8 2.77614 7.77614 3 7.5 3C7.22386 3 7 2.77614 7 2.5V0.5C7 0.223858 7.22386 0 7.5 0ZM2.1967 2.1967C2.39196 2.00144 2.70854 2.00144 2.90381 2.1967L4.31802 3.61091C4.51328 3.80617 4.51328 4.12276 4.31802 4.31802C4.12276 4.51328 3.80617 4.51328 3.61091 4.31802L2.1967 2.90381C2.00144 2.70854 2.00144 2.39196 2.1967 2.1967ZM0.5 7C0.223858 7 0 7.22386 0 7.5C0 7.77614 0.223858 8 0.5 8H2.5C2.77614 8 3 7.77614 3 7.5C3 7.22386 2.77614 7 2.5 7H0.5ZM2.1967 12.8033C2.00144 12.608 2.00144 12.2915 2.1967 12.0962L3.61091 10.682C3.80617 10.4867 4.12276 10.4867 4.31802 10.682C4.51328 10.8772 4.51328 11.1938 4.31802 11.3891L2.90381 12.8033C2.70854 12.9986 2.39196 12.9986 2.1967 12.8033ZM12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8H14.5C14.7761 8 15 7.77614 15 7.5C15 7.22386 14.7761 7 14.5 7H12.5ZM10.682 4.31802C10.4867 4.12276 10.4867 3.80617 10.682 3.61091L12.0962 2.1967C12.2915 2.00144 12.608 2.00144 12.8033 2.1967C12.9986 2.39196 12.9986 2.70854 12.8033 2.90381L11.3891 4.31802C11.1938 4.51328 10.8772 4.51328 10.682 4.31802ZM8 12.5C8 12.2239 7.77614 12 7.5 12C7.22386 12 7 12.2239 7 12.5V14.5C7 14.7761 7.22386 15 7.5 15C7.77614 15 8 14.7761 8 14.5V12.5ZM10.682 10.682C10.8772 10.4867 11.1938 10.4867 11.3891 10.682L12.8033 12.0962C12.9986 12.2915 12.9986 12.608 12.8033 12.8033C12.608 12.9986 12.2915 12.9986 12.0962 12.8033L10.682 11.3891C10.4867 11.1938 10.4867 10.8772 10.682 10.682ZM5.5 7.5C5.5 6.39543 6.39543 5.5 7.5 5.5C8.60457 5.5 9.5 6.39543 9.5 7.5C9.5 8.60457 8.60457 9.5 7.5 9.5C6.39543 9.5 5.5 8.60457 5.5 7.5ZM7.5 4.5C5.84315 4.5 4.5 5.84315 4.5 7.5C4.5 9.15685 5.84315 10.5 7.5 10.5C9.15685 10.5 10.5 9.15685 10.5 7.5C10.5 5.84315 9.15685 4.5 7.5 4.5Z"
403
- fill="currentColor"
404
- fillRule="evenodd"
405
- clipRule="evenodd"
406
- ></path>
407
- </svg>
408
- ) : (
409
- <svg
410
- width="15"
411
- height="15"
412
- viewBox="0 0 15 15"
413
- fill="none"
414
- xmlns="http://www.w3.org/2000/svg"
415
- style={{ margin: '0 -1px' }}
416
- >
417
- <path
418
- d="M2.89998 0.499976C2.89998 0.279062 2.72089 0.0999756 2.49998 0.0999756C2.27906 0.0999756 2.09998 0.279062 2.09998 0.499976V1.09998H1.49998C1.27906 1.09998 1.09998 1.27906 1.09998 1.49998C1.09998 1.72089 1.27906 1.89998 1.49998 1.89998H2.09998V2.49998C2.09998 2.72089 2.27906 2.89998 2.49998 2.89998C2.72089 2.89998 2.89998 2.72089 2.89998 2.49998V1.89998H3.49998C3.72089 1.89998 3.89998 1.72089 3.89998 1.49998C3.89998 1.27906 3.72089 1.09998 3.49998 1.09998H2.89998V0.499976ZM5.89998 3.49998C5.89998 3.27906 5.72089 3.09998 5.49998 3.09998C5.27906 3.09998 5.09998 3.27906 5.09998 3.49998V4.09998H4.49998C4.27906 4.09998 4.09998 4.27906 4.09998 4.49998C4.09998 4.72089 4.27906 4.89998 4.49998 4.89998H5.09998V5.49998C5.09998 5.72089 5.27906 5.89998 5.49998 5.89998C5.72089 5.89998 5.89998 5.72089 5.89998 5.49998V4.89998H6.49998C6.72089 4.89998 6.89998 4.72089 6.89998 4.49998C6.89998 4.27906 6.72089 4.09998 6.49998 4.09998H5.89998V3.49998ZM1.89998 6.49998C1.89998 6.27906 1.72089 6.09998 1.49998 6.09998C1.27906 6.09998 1.09998 6.27906 1.09998 6.49998V7.09998H0.499976C0.279062 7.09998 0.0999756 7.27906 0.0999756 7.49998C0.0999756 7.72089 0.279062 7.89998 0.499976 7.89998H1.09998V8.49998C1.09998 8.72089 1.27906 8.89997 1.49998 8.89997C1.72089 8.89997 1.89998 8.72089 1.89998 8.49998V7.89998H2.49998C2.72089 7.89998 2.89998 7.72089 2.89998 7.49998C2.89998 7.27906 2.72089 7.09998 2.49998 7.09998H1.89998V6.49998ZM8.54406 0.98184L8.24618 0.941586C8.03275 0.917676 7.90692 1.1655 8.02936 1.34194C8.17013 1.54479 8.29981 1.75592 8.41754 1.97445C8.91878 2.90485 9.20322 3.96932 9.20322 5.10022C9.20322 8.37201 6.82247 11.0878 3.69887 11.6097C3.45736 11.65 3.20988 11.6772 2.96008 11.6906C2.74563 11.702 2.62729 11.9535 2.77721 12.1072C2.84551 12.1773 2.91535 12.2458 2.98667 12.3128L3.05883 12.3795L3.31883 12.6045L3.50684 12.7532L3.62796 12.8433L3.81491 12.9742L3.99079 13.089C4.11175 13.1651 4.23536 13.2375 4.36157 13.3059L4.62496 13.4412L4.88553 13.5607L5.18837 13.6828L5.43169 13.7686C5.56564 13.8128 5.70149 13.8529 5.83857 13.8885C5.94262 13.9155 6.04767 13.9401 6.15405 13.9622C6.27993 13.9883 6.40713 14.0109 6.53544 14.0298L6.85241 14.0685L7.11934 14.0892C7.24637 14.0965 7.37436 14.1002 7.50322 14.1002C11.1483 14.1002 14.1032 11.1453 14.1032 7.50023C14.1032 7.25044 14.0893 7.00389 14.0623 6.76131L14.0255 6.48407C13.991 6.26083 13.9453 6.04129 13.8891 5.82642C13.8213 5.56709 13.7382 5.31398 13.6409 5.06881L13.5279 4.80132L13.4507 4.63542L13.3766 4.48666C13.2178 4.17773 13.0353 3.88295 12.8312 3.60423L12.6782 3.40352L12.4793 3.16432L12.3157 2.98361L12.1961 2.85951L12.0355 2.70246L11.8134 2.50184L11.4925 2.24191L11.2483 2.06498L10.9562 1.87446L10.6346 1.68894L10.3073 1.52378L10.1938 1.47176L9.95488 1.3706L9.67791 1.2669L9.42566 1.1846L9.10075 1.09489L8.83599 1.03486L8.54406 0.98184ZM10.4032 5.30023C10.4032 4.27588 10.2002 3.29829 9.83244 2.40604C11.7623 3.28995 13.1032 5.23862 13.1032 7.50023C13.1032 10.593 10.596 13.1002 7.50322 13.1002C6.63646 13.1002 5.81597 12.9036 5.08355 12.5522C6.5419 12.0941 7.81081 11.2082 8.74322 10.0416C8.87963 10.2284 9.10028 10.3497 9.34928 10.3497C9.76349 10.3497 10.0993 10.0139 10.0993 9.59971C10.0993 9.24256 9.84965 8.94373 9.51535 8.86816C9.57741 8.75165 9.63653 8.63334 9.6926 8.51332C9.88358 8.63163 10.1088 8.69993 10.35 8.69993C11.0403 8.69993 11.6 8.14028 11.6 7.44993C11.6 6.75976 11.0406 6.20024 10.3505 6.19993C10.3853 5.90487 10.4032 5.60464 10.4032 5.30023Z"
419
- fill="currentColor"
420
- fillRule="evenodd"
421
- clipRule="evenodd"
422
- ></path>
423
- </svg>
424
- )}
425
- <Text size="1" weight="medium">
426
- {upperFirst(value)}
427
- </Text>
428
- </Flex>
429
- </label>
430
- ))}
431
- </Grid>
432
- </ThemePanelSection>
433
-
434
- {/* Radius */}
435
- <ThemePanelSection>
436
- <ThemePanelHeading id="radius-title">Radius</ThemePanelHeading>
437
- <Flex gap="3" role="group" aria-labelledby="radius-title" wrap="wrap">
438
- {themePropDefs.radius.values.map((value) => (
439
- <Flex key={value} direction="column" align="center">
440
- <label className="rt-ThemePanelRadioCard">
441
- <input
442
- className="rt-ThemePanelRadioCardInput"
443
- type="radio"
444
- name="radius"
445
- id={`theme-panel-radius-${value}`}
446
- value={value}
447
- checked={radius === value}
448
- onChange={(event) => onRadiusChange(event.target.value as typeof radius)}
449
- />
450
- <Theme asChild radius={value}>
451
- <Box
452
- m="4"
453
- width={{ initial: '24px', sm: '32px' }}
454
- height={{ initial: '24px', sm: '32px' }}
455
- style={{
456
- borderTopLeftRadius: value === 'full' ? '80%' : 'var(--radius-5)',
457
- backgroundImage:
458
- 'linear-gradient(to bottom right, var(--accent-3), var(--accent-4))',
459
- borderTop: '2px solid var(--accent-a8)',
460
- borderLeft: '2px solid var(--accent-a8)',
461
- }}
462
- />
463
- </Theme>
464
- </label>
465
- <Box asChild pt="3">
466
- <Text asChild size="1" emphasis="medium">
467
- <label htmlFor={`theme-panel-radius-${value}`}>{upperFirst(value)}</label>
468
- </Text>
469
- </Box>
470
- </Flex>
471
- ))}
472
- </Flex>
473
- </ThemePanelSection>
474
- </Flex>
475
- <Button style={{ width: '100%' }} onClick={handleCopyThemeConfig}>
476
- {copyState === 'copied' ? 'Copied' : 'Copy Theme'}
477
- </Button>
478
- </Flex>
479
- );
480
- },
481
- );
482
- ThemePanelContent.displayName = 'ThemePanelContent';
483
-
484
- function ThemePanelSection(
485
- props: Omit<React.ComponentPropsWithoutRef<typeof Flex>, 'asChild' | 'direction' | 'gap'>,
486
- ) {
487
- return (
488
- <Flex direction="column" gap="4" asChild {...props}>
489
- <section>{props.children}</section>
490
- </Flex>
491
- );
492
- }
493
-
494
- function ThemePanelHeading(props: React.ComponentPropsWithoutRef<typeof Heading>) {
495
- return <Heading as="h3" size={{ initial: '1', sm: '2' }} {...props} />;
496
- }
497
-
498
- // https://github.com/pacocoursey/next-themes/blob/main/packages/next-themes/src/index.tsx#L285
499
- function disableAnimation() {
500
- const css = document.createElement('style');
501
- css.appendChild(
502
- document.createTextNode(
503
- `*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`,
504
- ),
505
- );
506
- document.head.appendChild(css);
507
-
508
- return () => {
509
- // Force restyle
510
- (() => window.getComputedStyle(document.body))();
511
-
512
- // Wait for next tick before removing
513
- setTimeout(() => {
514
- document.head.removeChild(css);
515
- }, 1);
516
- };
517
- }
518
-
519
- function upperFirst(string: string) {
520
- return string.charAt(0).toUpperCase() + string.slice(1);
521
- }
522
-
523
- function updateRootAppearanceClass(appearance: 'light' | 'dark') {
524
- const root = document.documentElement;
525
- const hasLightTheme = root.classList.contains('light-theme');
526
- const hasDarkTheme = root.classList.contains('dark-theme');
527
- const hasLight = root.classList.contains('light');
528
- const hasDark = root.classList.contains('dark');
529
-
530
- if (hasLightTheme || hasDarkTheme) {
531
- root.classList.remove('light-theme', 'dark-theme');
532
- root.style.colorScheme = appearance;
533
- root.classList.add(`${appearance}-theme`);
534
- }
535
-
536
- if (hasLight || hasDark) {
537
- root.classList.remove('light', 'dark');
538
- root.style.colorScheme = appearance;
539
- root.classList.add(appearance);
540
- }
541
-
542
- if (!hasLightTheme && !hasDarkTheme && !hasLight && !hasDark) {
543
- root.style.colorScheme = appearance;
544
- root.classList.add(appearance);
545
- }
546
- }
547
-
548
- export { ThemePanel, ThemePanelContent };
549
- export type { ThemePanelProps, ThemePanelContentProps };
@@ -1,117 +0,0 @@
1
- import * as React from 'react';
2
- import { Toggle } from 'radix-ui';
3
- import { Button } from './button.js';
4
- import type { ButtonProps, ButtonRankProps } from './button.js';
5
- import { useToggleState } from '../hooks/use-toggle-state.js';
6
-
7
- /**
8
- * ToggleButton props that extend Button with toggle-specific functionality
9
- *
10
- * The ToggleButton component provides a button that can be pressed/unpressed
11
- * with proper accessibility announcements and state management.
12
- */
13
- type ToggleButtonProps = Omit<ButtonProps<'button'>, 'as' | 'variant' | 'emphasis'> &
14
- ButtonRankProps & {
15
- /** Controlled pressed state */
16
- pressed?: boolean;
17
- /** Callback when pressed state changes */
18
- onPressedChange?: (pressed: boolean) => void;
19
- /** Default pressed state for uncontrolled usage */
20
- defaultPressed?: boolean;
21
- };
22
-
23
- type ToggleButtonElement = React.ElementRef<typeof Button>;
24
-
25
- /**
26
- * ToggleButton component for buttons that can be pressed/unpressed
27
- *
28
- * The ToggleButton component extends Button with toggle functionality using
29
- * Radix UI's Toggle primitive. It provides proper accessibility announcements,
30
- * controlled/uncontrolled state management, and seamless integration with
31
- * the existing Button component.
32
- *
33
- * Key features:
34
- * - Controlled and uncontrolled state management
35
- * - Live accessibility announcements for screen readers
36
- * - Automatic state validation and warnings
37
- * - Seamless integration with Button props and styling
38
- * - Proper ARIA attributes for toggle functionality
39
- *
40
- * @example
41
- * ```tsx
42
- * // Uncontrolled toggle button
43
- * <ToggleButton defaultPressed={false}>
44
- * Toggle Me
45
- * </ToggleButton>
46
- *
47
- * // Controlled toggle button
48
- * const [pressed, setPressed] = React.useState(false);
49
- * <ToggleButton
50
- * pressed={pressed}
51
- * onPressedChange={setPressed}
52
- * >
53
- * {pressed ? 'On' : 'Off'}
54
- * </ToggleButton>
55
- *
56
- * // Toggle button with all Button props
57
- * <ToggleButton
58
- * variant="solid"
59
- * size="3"
60
- * color="blue"
61
- * pressed={isActive}
62
- * onPressedChange={setIsActive}
63
- * >
64
- * {isActive ? 'Active' : 'Inactive'}
65
- * </ToggleButton>
66
- * ```
67
- */
68
- const ToggleButton = React.forwardRef<ToggleButtonElement, ToggleButtonProps>(({ pressed, onPressedChange, defaultPressed, children, ...buttonProps }, forwardedRef) => {
69
- const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, iconOnly } = buttonProps;
70
-
71
- // The label behind aria-labelledby is read once per id, not on every press.
72
- const cachedLabelRef = React.useRef<string | null>(null);
73
- React.useEffect(() => {
74
- cachedLabelRef.current = null;
75
- }, [ariaLabelledBy]);
76
-
77
- /**
78
- * The name announced when the pressed state changes: aria-label, then the label
79
- * aria-labelledby points at, then visible text.
80
- */
81
- const getAccessibleName = React.useCallback(() => {
82
- if (ariaLabel) return ariaLabel;
83
- if (ariaLabelledBy) {
84
- if (cachedLabelRef.current === null) {
85
- cachedLabelRef.current = document.getElementById(ariaLabelledBy)?.textContent || 'Toggle button';
86
- }
87
- return cachedLabelRef.current;
88
- }
89
- if (typeof children === 'string') return children;
90
- if (React.isValidElement(children) && typeof (children.props as any)?.children === 'string') {
91
- return (children.props as any).children;
92
- }
93
- return 'Toggle button';
94
- }, [ariaLabel, ariaLabelledBy, children]);
95
-
96
- // Use shared toggle state hook for accessibility announcements and warnings
97
- const { handlePressedChange } = useToggleState({
98
- pressed,
99
- onPressedChange,
100
- getAccessibleName,
101
- componentName: iconOnly ? 'ToggleIconButton' : 'ToggleButton',
102
- });
103
-
104
- // Render the toggle button using Radix UI's Toggle primitive
105
- // This provides proper ARIA attributes and keyboard navigation
106
- return (
107
- <Toggle.Root pressed={pressed} onPressedChange={handlePressedChange} defaultPressed={defaultPressed} asChild>
108
- <Button {...buttonProps} ref={forwardedRef}>
109
- {children}
110
- </Button>
111
- </Toggle.Root>
112
- );
113
- });
114
- ToggleButton.displayName = 'ToggleButton';
115
-
116
- export { ToggleButton };
117
- export type { ToggleButtonProps };