@womp/kookie-ui 0.16.0 → 0.18.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 (969) hide show
  1. package/codemods/space-0.17.py +71 -0
  2. package/components.css +2857 -5012
  3. package/dist/cjs/components/_internal/base-button.d.ts +0 -2
  4. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  5. package/dist/cjs/components/_internal/base-button.js +1 -1
  6. package/dist/cjs/components/_internal/base-button.js.map +4 -4
  7. package/dist/cjs/components/_internal/base-button.props.d.ts +0 -17
  8. package/dist/cjs/components/_internal/base-button.props.d.ts.map +1 -1
  9. package/dist/cjs/components/_internal/base-button.props.js +1 -1
  10. package/dist/cjs/components/_internal/base-button.props.js.map +3 -3
  11. package/dist/cjs/components/_internal/base-checkbox.props.d.ts +1 -1
  12. package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
  13. package/dist/cjs/components/_internal/base-checkbox.props.js.map +2 -2
  14. package/dist/cjs/components/_internal/base-menu.props.d.ts +0 -10
  15. package/dist/cjs/components/_internal/base-menu.props.d.ts.map +1 -1
  16. package/dist/cjs/components/_internal/base-menu.props.js +1 -1
  17. package/dist/cjs/components/_internal/base-menu.props.js.map +3 -3
  18. package/dist/cjs/components/_internal/base-menu.utils.d.ts +3 -9
  19. package/dist/cjs/components/_internal/base-menu.utils.d.ts.map +1 -1
  20. package/dist/cjs/components/_internal/base-menu.utils.js +1 -1
  21. package/dist/cjs/components/_internal/base-menu.utils.js.map +3 -3
  22. package/dist/cjs/components/_internal/base-radio.props.d.ts +1 -1
  23. package/dist/cjs/components/_internal/base-radio.props.js +1 -1
  24. package/dist/cjs/components/_internal/base-radio.props.js.map +2 -2
  25. package/dist/cjs/components/_internal/base-tab-list.props.d.ts +0 -5
  26. package/dist/cjs/components/_internal/base-tab-list.props.d.ts.map +1 -1
  27. package/dist/cjs/components/_internal/base-tab-list.props.js +1 -1
  28. package/dist/cjs/components/_internal/base-tab-list.props.js.map +3 -3
  29. package/dist/cjs/components/_internal/menu-context.d.ts +2 -3
  30. package/dist/cjs/components/_internal/menu-context.d.ts.map +1 -1
  31. package/dist/cjs/components/_internal/menu-context.js +1 -1
  32. package/dist/cjs/components/_internal/menu-context.js.map +4 -4
  33. package/dist/cjs/components/_internal/pane-chrome.d.ts +14 -2
  34. package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
  35. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  36. package/dist/cjs/components/_internal/pane-chrome.js.map +3 -3
  37. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  38. package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
  39. package/dist/cjs/components/accordion.d.ts.map +1 -1
  40. package/dist/cjs/components/accordion.js +1 -1
  41. package/dist/cjs/components/accordion.js.map +4 -4
  42. package/dist/cjs/components/accordion.props.d.ts +0 -7
  43. package/dist/cjs/components/accordion.props.d.ts.map +1 -1
  44. package/dist/cjs/components/accordion.props.js +1 -1
  45. package/dist/cjs/components/accordion.props.js.map +3 -3
  46. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  47. package/dist/cjs/components/alert-dialog.js +1 -1
  48. package/dist/cjs/components/alert-dialog.js.map +4 -4
  49. package/dist/cjs/components/alert-dialog.props.d.ts +0 -5
  50. package/dist/cjs/components/alert-dialog.props.d.ts.map +1 -1
  51. package/dist/cjs/components/alert-dialog.props.js +1 -1
  52. package/dist/cjs/components/alert-dialog.props.js.map +3 -3
  53. package/dist/cjs/components/badge.js +1 -1
  54. package/dist/cjs/components/badge.js.map +4 -4
  55. package/dist/cjs/components/badge.props.d.ts +1 -1
  56. package/dist/cjs/components/badge.props.js +1 -1
  57. package/dist/cjs/components/badge.props.js.map +1 -1
  58. package/dist/cjs/components/button.js +2 -2
  59. package/dist/cjs/components/button.js.map +4 -4
  60. package/dist/cjs/components/button.props.js +1 -1
  61. package/dist/cjs/components/button.props.js.map +3 -3
  62. package/dist/cjs/components/card.d.ts.map +1 -1
  63. package/dist/cjs/components/card.js +1 -1
  64. package/dist/cjs/components/card.js.map +3 -3
  65. package/dist/cjs/components/card.props.d.ts +0 -5
  66. package/dist/cjs/components/card.props.d.ts.map +1 -1
  67. package/dist/cjs/components/card.props.js +1 -1
  68. package/dist/cjs/components/card.props.js.map +3 -3
  69. package/dist/cjs/components/chatbar.d.ts +0 -2
  70. package/dist/cjs/components/chatbar.d.ts.map +1 -1
  71. package/dist/cjs/components/chatbar.js +2 -2
  72. package/dist/cjs/components/chatbar.js.map +4 -4
  73. package/dist/cjs/components/checkbox-cards.d.ts.map +1 -1
  74. package/dist/cjs/components/checkbox-cards.js +1 -1
  75. package/dist/cjs/components/checkbox-cards.js.map +4 -4
  76. package/dist/cjs/components/checkbox-cards.props.d.ts +0 -5
  77. package/dist/cjs/components/checkbox-cards.props.d.ts.map +1 -1
  78. package/dist/cjs/components/checkbox-cards.props.js +1 -1
  79. package/dist/cjs/components/checkbox-cards.props.js.map +3 -3
  80. package/dist/cjs/components/checkbox-group.d.ts.map +1 -1
  81. package/dist/cjs/components/checkbox-group.js +1 -1
  82. package/dist/cjs/components/checkbox-group.js.map +4 -4
  83. package/dist/cjs/components/checkbox-group.props.d.ts +1 -1
  84. package/dist/cjs/components/checkbox-group.props.js +1 -1
  85. package/dist/cjs/components/checkbox-group.props.js.map +2 -2
  86. package/dist/cjs/components/checkbox.d.ts.map +1 -1
  87. package/dist/cjs/components/checkbox.js +1 -1
  88. package/dist/cjs/components/checkbox.js.map +4 -4
  89. package/dist/cjs/components/checkbox.props.js +1 -1
  90. package/dist/cjs/components/checkbox.props.js.map +2 -2
  91. package/dist/cjs/components/combobox.d.ts.map +1 -1
  92. package/dist/cjs/components/combobox.js +1 -1
  93. package/dist/cjs/components/combobox.js.map +4 -4
  94. package/dist/cjs/components/combobox.props.d.ts +0 -9
  95. package/dist/cjs/components/combobox.props.d.ts.map +1 -1
  96. package/dist/cjs/components/combobox.props.js +1 -1
  97. package/dist/cjs/components/combobox.props.js.map +3 -3
  98. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  99. package/dist/cjs/components/context-menu.js +1 -1
  100. package/dist/cjs/components/context-menu.js.map +4 -4
  101. package/dist/cjs/components/context-menu.props.js +1 -1
  102. package/dist/cjs/components/context-menu.props.js.map +3 -3
  103. package/dist/cjs/components/data-list.d.ts.map +1 -1
  104. package/dist/cjs/components/data-list.js +1 -1
  105. package/dist/cjs/components/data-list.js.map +4 -4
  106. package/dist/cjs/components/dialog.d.ts.map +1 -1
  107. package/dist/cjs/components/dialog.js +1 -1
  108. package/dist/cjs/components/dialog.js.map +4 -4
  109. package/dist/cjs/components/dialog.props.d.ts +0 -5
  110. package/dist/cjs/components/dialog.props.d.ts.map +1 -1
  111. package/dist/cjs/components/dialog.props.js +1 -1
  112. package/dist/cjs/components/dialog.props.js.map +3 -3
  113. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  114. package/dist/cjs/components/dropdown-menu.js +1 -1
  115. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  116. package/dist/cjs/components/dropdown-menu.props.js +1 -1
  117. package/dist/cjs/components/dropdown-menu.props.js.map +3 -3
  118. package/dist/cjs/components/hover-card.d.ts.map +1 -1
  119. package/dist/cjs/components/hover-card.js +1 -1
  120. package/dist/cjs/components/hover-card.js.map +4 -4
  121. package/dist/cjs/components/icon-button.js +2 -2
  122. package/dist/cjs/components/icon-button.js.map +4 -4
  123. package/dist/cjs/components/icon-button.props.js +1 -1
  124. package/dist/cjs/components/icon-button.props.js.map +3 -3
  125. package/dist/cjs/components/index.js +5 -5
  126. package/dist/cjs/components/index.js.map +4 -4
  127. package/dist/cjs/components/message-scroller.js +2 -2
  128. package/dist/cjs/components/message-scroller.js.map +4 -4
  129. package/dist/cjs/components/navbar.d.ts.map +1 -1
  130. package/dist/cjs/components/navbar.js +1 -1
  131. package/dist/cjs/components/navbar.js.map +4 -4
  132. package/dist/cjs/components/notice.d.ts +1 -3
  133. package/dist/cjs/components/notice.d.ts.map +1 -1
  134. package/dist/cjs/components/notice.js +2 -2
  135. package/dist/cjs/components/notice.js.map +4 -4
  136. package/dist/cjs/components/popover.d.ts.map +1 -1
  137. package/dist/cjs/components/popover.js +1 -1
  138. package/dist/cjs/components/popover.js.map +4 -4
  139. package/dist/cjs/components/popover.props.d.ts +0 -5
  140. package/dist/cjs/components/popover.props.d.ts.map +1 -1
  141. package/dist/cjs/components/popover.props.js +1 -1
  142. package/dist/cjs/components/popover.props.js.map +3 -3
  143. package/dist/cjs/components/progress.js +1 -1
  144. package/dist/cjs/components/progress.js.map +3 -3
  145. package/dist/cjs/components/progress.props.d.ts +0 -7
  146. package/dist/cjs/components/progress.props.d.ts.map +1 -1
  147. package/dist/cjs/components/progress.props.js +1 -1
  148. package/dist/cjs/components/progress.props.js.map +3 -3
  149. package/dist/cjs/components/radio-cards.d.ts.map +1 -1
  150. package/dist/cjs/components/radio-cards.js +1 -1
  151. package/dist/cjs/components/radio-cards.js.map +4 -4
  152. package/dist/cjs/components/radio-cards.props.d.ts +0 -5
  153. package/dist/cjs/components/radio-cards.props.d.ts.map +1 -1
  154. package/dist/cjs/components/radio-cards.props.js +1 -1
  155. package/dist/cjs/components/radio-cards.props.js.map +3 -3
  156. package/dist/cjs/components/radio-group.d.ts.map +1 -1
  157. package/dist/cjs/components/radio-group.js +1 -1
  158. package/dist/cjs/components/radio-group.js.map +4 -4
  159. package/dist/cjs/components/radio-group.props.d.ts +1 -1
  160. package/dist/cjs/components/radio-group.props.js +1 -1
  161. package/dist/cjs/components/radio-group.props.js.map +2 -2
  162. package/dist/cjs/components/radio.d.ts.map +1 -1
  163. package/dist/cjs/components/radio.js +1 -1
  164. package/dist/cjs/components/radio.js.map +4 -4
  165. package/dist/cjs/components/radio.props.js +1 -1
  166. package/dist/cjs/components/radio.props.js.map +2 -2
  167. package/dist/cjs/components/schemas/base-button.schema.d.ts +0 -4
  168. package/dist/cjs/components/schemas/base-button.schema.d.ts.map +1 -1
  169. package/dist/cjs/components/schemas/base-button.schema.js +1 -1
  170. package/dist/cjs/components/schemas/base-button.schema.js.map +2 -2
  171. package/dist/cjs/components/schemas/button.schema.d.ts +0 -4
  172. package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -1
  173. package/dist/cjs/components/schemas/button.schema.js +1 -1
  174. package/dist/cjs/components/schemas/button.schema.js.map +2 -2
  175. package/dist/cjs/components/schemas/icon-button.schema.d.ts +0 -4
  176. package/dist/cjs/components/schemas/icon-button.schema.d.ts.map +1 -1
  177. package/dist/cjs/components/schemas/icon-button.schema.js +1 -1
  178. package/dist/cjs/components/schemas/icon-button.schema.js.map +2 -2
  179. package/dist/cjs/components/schemas/index.js +1 -1
  180. package/dist/cjs/components/schemas/index.js.map +2 -2
  181. package/dist/cjs/components/schemas/toggle-button.schema.d.ts +0 -4
  182. package/dist/cjs/components/schemas/toggle-button.schema.d.ts.map +1 -1
  183. package/dist/cjs/components/schemas/toggle-button.schema.js +1 -1
  184. package/dist/cjs/components/schemas/toggle-button.schema.js.map +2 -2
  185. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +0 -4
  186. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts.map +1 -1
  187. package/dist/cjs/components/schemas/toggle-icon-button.schema.js +1 -1
  188. package/dist/cjs/components/schemas/toggle-icon-button.schema.js.map +2 -2
  189. package/dist/cjs/components/scroll-area.d.ts.map +1 -1
  190. package/dist/cjs/components/scroll-area.js +1 -1
  191. package/dist/cjs/components/scroll-area.js.map +3 -3
  192. package/dist/cjs/components/scroll-area.props.d.ts +0 -7
  193. package/dist/cjs/components/scroll-area.props.d.ts.map +1 -1
  194. package/dist/cjs/components/scroll-area.props.js +1 -1
  195. package/dist/cjs/components/scroll-area.props.js.map +3 -3
  196. package/dist/cjs/components/segmented-control.d.ts.map +1 -1
  197. package/dist/cjs/components/segmented-control.js +1 -1
  198. package/dist/cjs/components/segmented-control.js.map +4 -4
  199. package/dist/cjs/components/segmented-control.props.d.ts +0 -4
  200. package/dist/cjs/components/segmented-control.props.d.ts.map +1 -1
  201. package/dist/cjs/components/segmented-control.props.js +1 -1
  202. package/dist/cjs/components/segmented-control.props.js.map +2 -2
  203. package/dist/cjs/components/select.d.ts.map +1 -1
  204. package/dist/cjs/components/select.js +1 -1
  205. package/dist/cjs/components/select.js.map +4 -4
  206. package/dist/cjs/components/select.props.d.ts +0 -4
  207. package/dist/cjs/components/select.props.d.ts.map +1 -1
  208. package/dist/cjs/components/select.props.js +1 -1
  209. package/dist/cjs/components/select.props.js.map +2 -2
  210. package/dist/cjs/components/separator.js +1 -1
  211. package/dist/cjs/components/separator.js.map +3 -3
  212. package/dist/cjs/components/separator.props.d.ts +0 -7
  213. package/dist/cjs/components/separator.props.d.ts.map +1 -1
  214. package/dist/cjs/components/separator.props.js +1 -1
  215. package/dist/cjs/components/separator.props.js.map +3 -3
  216. package/dist/cjs/components/sheet.d.ts +0 -1
  217. package/dist/cjs/components/sheet.d.ts.map +1 -1
  218. package/dist/cjs/components/sheet.js +1 -1
  219. package/dist/cjs/components/sheet.js.map +4 -4
  220. package/dist/cjs/components/shell.d.ts +1 -1
  221. package/dist/cjs/components/shell.d.ts.map +1 -1
  222. package/dist/cjs/components/shell.js +1 -1
  223. package/dist/cjs/components/shell.js.map +4 -4
  224. package/dist/cjs/components/sidebar.js +1 -1
  225. package/dist/cjs/components/sidebar.js.map +4 -4
  226. package/dist/cjs/components/slider.d.ts.map +1 -1
  227. package/dist/cjs/components/slider.js +1 -1
  228. package/dist/cjs/components/slider.js.map +4 -4
  229. package/dist/cjs/components/spinner.js +1 -1
  230. package/dist/cjs/components/spinner.js.map +3 -3
  231. package/dist/cjs/components/spinner.props.d.ts +0 -7
  232. package/dist/cjs/components/spinner.props.d.ts.map +1 -1
  233. package/dist/cjs/components/spinner.props.js +1 -1
  234. package/dist/cjs/components/spinner.props.js.map +3 -3
  235. package/dist/cjs/components/switch.d.ts.map +1 -1
  236. package/dist/cjs/components/switch.js +1 -1
  237. package/dist/cjs/components/switch.js.map +4 -4
  238. package/dist/cjs/components/switch.props.d.ts.map +1 -1
  239. package/dist/cjs/components/switch.props.js.map +2 -2
  240. package/dist/cjs/components/tab-nav.d.ts.map +1 -1
  241. package/dist/cjs/components/tab-nav.js +1 -1
  242. package/dist/cjs/components/tab-nav.js.map +4 -4
  243. package/dist/cjs/components/tab-nav.props.js +1 -1
  244. package/dist/cjs/components/tab-nav.props.js.map +3 -3
  245. package/dist/cjs/components/table.d.ts.map +1 -1
  246. package/dist/cjs/components/table.js +1 -1
  247. package/dist/cjs/components/table.js.map +4 -4
  248. package/dist/cjs/components/table.props.d.ts +1 -1
  249. package/dist/cjs/components/table.props.js +1 -1
  250. package/dist/cjs/components/table.props.js.map +2 -2
  251. package/dist/cjs/components/tabs.d.ts.map +1 -1
  252. package/dist/cjs/components/tabs.js +1 -1
  253. package/dist/cjs/components/tabs.js.map +4 -4
  254. package/dist/cjs/components/tabs.props.js +1 -1
  255. package/dist/cjs/components/tabs.props.js.map +3 -3
  256. package/dist/cjs/components/text-area.d.ts.map +1 -1
  257. package/dist/cjs/components/text-area.js +1 -1
  258. package/dist/cjs/components/text-area.js.map +4 -4
  259. package/dist/cjs/components/text-area.props.d.ts +0 -5
  260. package/dist/cjs/components/text-area.props.d.ts.map +1 -1
  261. package/dist/cjs/components/text-area.props.js +1 -1
  262. package/dist/cjs/components/text-area.props.js.map +3 -3
  263. package/dist/cjs/components/text-field.d.ts.map +1 -1
  264. package/dist/cjs/components/text-field.js +2 -2
  265. package/dist/cjs/components/text-field.js.map +4 -4
  266. package/dist/cjs/components/text-field.props.d.ts +0 -5
  267. package/dist/cjs/components/text-field.props.d.ts.map +1 -1
  268. package/dist/cjs/components/text-field.props.js +1 -1
  269. package/dist/cjs/components/text-field.props.js.map +3 -3
  270. package/dist/cjs/components/theme-panel.d.ts.map +1 -1
  271. package/dist/cjs/components/theme-panel.js +3 -3
  272. package/dist/cjs/components/theme-panel.js.map +4 -4
  273. package/dist/cjs/components/theme.d.ts +3 -6
  274. package/dist/cjs/components/theme.d.ts.map +1 -1
  275. package/dist/cjs/components/theme.js +1 -1
  276. package/dist/cjs/components/theme.js.map +4 -4
  277. package/dist/cjs/components/theme.props.d.ts +12 -19
  278. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  279. package/dist/cjs/components/theme.props.js +1 -1
  280. package/dist/cjs/components/theme.props.js.map +3 -3
  281. package/dist/cjs/components/toggle-button.js +3 -3
  282. package/dist/cjs/components/toggle-button.js.map +4 -4
  283. package/dist/cjs/components/toggle-icon-button.js +3 -3
  284. package/dist/cjs/components/toggle-icon-button.js.map +4 -4
  285. package/dist/cjs/components/toolbar.d.ts.map +1 -1
  286. package/dist/cjs/components/toolbar.js +2 -2
  287. package/dist/cjs/components/toolbar.js.map +4 -4
  288. package/dist/cjs/components/toolbar.props.d.ts +2 -1
  289. package/dist/cjs/components/toolbar.props.d.ts.map +1 -1
  290. package/dist/cjs/components/toolbar.props.js.map +2 -2
  291. package/dist/cjs/components/tooltip.js +1 -1
  292. package/dist/cjs/components/tooltip.js.map +4 -4
  293. package/dist/cjs/components/virtual-menu.d.ts.map +1 -1
  294. package/dist/cjs/components/virtual-menu.js +1 -1
  295. package/dist/cjs/components/virtual-menu.js.map +4 -4
  296. package/dist/cjs/helpers/index.d.ts +1 -0
  297. package/dist/cjs/helpers/index.d.ts.map +1 -1
  298. package/dist/cjs/helpers/index.js +3 -3
  299. package/dist/cjs/helpers/index.js.map +4 -4
  300. package/dist/cjs/helpers/map-prop-values.d.ts +1 -4
  301. package/dist/cjs/helpers/map-prop-values.d.ts.map +1 -1
  302. package/dist/cjs/helpers/map-prop-values.js +1 -1
  303. package/dist/cjs/helpers/map-prop-values.js.map +3 -3
  304. package/dist/cjs/helpers/theme-size.d.ts +41 -0
  305. package/dist/cjs/helpers/theme-size.d.ts.map +1 -0
  306. package/dist/cjs/helpers/theme-size.js +2 -0
  307. package/dist/cjs/helpers/theme-size.js.map +7 -0
  308. package/dist/cjs/index.js +6 -6
  309. package/dist/cjs/index.js.map +4 -4
  310. package/dist/cjs/props/index.js +1 -1
  311. package/dist/cjs/props/index.js.map +3 -3
  312. package/dist/esm/chunk-2CNQGDY3.js +2 -0
  313. package/dist/esm/{chunk-MNC2O6QW.js.map → chunk-2CNQGDY3.js.map} +3 -3
  314. package/dist/esm/chunk-2O3WL25H.js +2 -0
  315. package/dist/esm/chunk-2O3WL25H.js.map +7 -0
  316. package/dist/esm/{chunk-XZ5XZS5O.js → chunk-35HNDWWM.js} +2 -2
  317. package/dist/esm/chunk-3YLYGKFB.js +2 -0
  318. package/dist/esm/chunk-3YLYGKFB.js.map +7 -0
  319. package/dist/esm/chunk-4DE3ONED.js +2 -0
  320. package/dist/esm/chunk-4DE3ONED.js.map +7 -0
  321. package/dist/esm/chunk-4M55YJMR.js +2 -0
  322. package/dist/esm/chunk-4M55YJMR.js.map +7 -0
  323. package/dist/esm/chunk-4YQXYWDQ.js +2 -0
  324. package/dist/esm/chunk-4YQXYWDQ.js.map +7 -0
  325. package/dist/esm/{chunk-R4CN4Q3G.js → chunk-534LGOWC.js} +2 -2
  326. package/dist/esm/chunk-54KMG7NX.js +2 -0
  327. package/dist/esm/chunk-54KMG7NX.js.map +7 -0
  328. package/dist/esm/chunk-5LGWS5QS.js +2 -0
  329. package/dist/esm/chunk-5LGWS5QS.js.map +7 -0
  330. package/dist/esm/chunk-5R2WX2FU.js +2 -0
  331. package/dist/esm/chunk-5R2WX2FU.js.map +7 -0
  332. package/dist/esm/{chunk-7UW7D77E.js → chunk-5UU2IMGX.js} +2 -2
  333. package/dist/esm/chunk-5VBJT2VY.js +2 -0
  334. package/dist/esm/chunk-5VBJT2VY.js.map +7 -0
  335. package/dist/esm/chunk-6AZV4VFW.js +2 -0
  336. package/dist/esm/chunk-6AZV4VFW.js.map +7 -0
  337. package/dist/esm/chunk-6YWDEANN.js +2 -0
  338. package/dist/esm/chunk-6YWDEANN.js.map +7 -0
  339. package/dist/esm/chunk-6YWJUNMB.js +2 -0
  340. package/dist/esm/chunk-6YWJUNMB.js.map +7 -0
  341. package/dist/esm/{chunk-Y4IB7KDZ.js → chunk-7FZPCM7W.js} +2 -2
  342. package/dist/esm/chunk-7J2QS2UT.js +5 -0
  343. package/dist/esm/chunk-7J2QS2UT.js.map +7 -0
  344. package/dist/esm/chunk-ABS275QZ.js +2 -0
  345. package/dist/esm/chunk-AKPAHQYE.js +2 -0
  346. package/dist/esm/chunk-AKPAHQYE.js.map +7 -0
  347. package/dist/esm/chunk-B6RH4CTY.js +2 -0
  348. package/dist/esm/chunk-B6RH4CTY.js.map +7 -0
  349. package/dist/esm/chunk-BN24ZBO7.js +2 -0
  350. package/dist/esm/chunk-BN24ZBO7.js.map +7 -0
  351. package/dist/esm/chunk-BZ6YBP2S.js +2 -0
  352. package/dist/esm/chunk-BZ6YBP2S.js.map +7 -0
  353. package/dist/esm/chunk-CC4GNSKL.js +2 -0
  354. package/dist/esm/chunk-CC4GNSKL.js.map +7 -0
  355. package/dist/esm/chunk-CHPZ3LNC.js +2 -0
  356. package/dist/esm/chunk-CHPZ3LNC.js.map +7 -0
  357. package/dist/esm/chunk-CRK34MWY.js +2 -0
  358. package/dist/esm/chunk-CRK34MWY.js.map +7 -0
  359. package/dist/esm/{chunk-PAB6HVKC.js → chunk-DFSW4QR4.js} +2 -2
  360. package/dist/esm/chunk-DJFTDR6Y.js +2 -0
  361. package/dist/esm/chunk-DJFTDR6Y.js.map +7 -0
  362. package/dist/esm/{chunk-UI2EFF6F.js → chunk-E3754NJZ.js} +2 -2
  363. package/dist/esm/chunk-EA2XSEFH.js +2 -0
  364. package/dist/esm/chunk-EA2XSEFH.js.map +7 -0
  365. package/dist/esm/{chunk-F2XQYWBE.js → chunk-EHUSLPWN.js} +2 -2
  366. package/dist/esm/chunk-ENPQJYXZ.js +2 -0
  367. package/dist/esm/chunk-ENPQJYXZ.js.map +7 -0
  368. package/dist/esm/chunk-ENSDQ3XQ.js +2 -0
  369. package/dist/esm/chunk-ENSDQ3XQ.js.map +7 -0
  370. package/dist/esm/chunk-EO7WQYFO.js +2 -0
  371. package/dist/esm/chunk-EO7WQYFO.js.map +7 -0
  372. package/dist/esm/chunk-EUSKAXHP.js +2 -0
  373. package/dist/esm/chunk-EUSKAXHP.js.map +7 -0
  374. package/dist/esm/chunk-F3XBIUXB.js +2 -0
  375. package/dist/esm/chunk-F3XBIUXB.js.map +7 -0
  376. package/dist/esm/{chunk-6ERCPRXX.js → chunk-FSKZAL5H.js} +2 -2
  377. package/dist/esm/chunk-GHD3TKCA.js +2 -0
  378. package/dist/esm/chunk-GHD3TKCA.js.map +7 -0
  379. package/dist/esm/chunk-GQBQHGEF.js +2 -0
  380. package/dist/esm/chunk-GQBQHGEF.js.map +7 -0
  381. package/dist/esm/chunk-GTVFQXLJ.js +2 -0
  382. package/dist/esm/chunk-GTVFQXLJ.js.map +7 -0
  383. package/dist/esm/chunk-HIEGLLY7.js +2 -0
  384. package/dist/esm/chunk-HIEGLLY7.js.map +7 -0
  385. package/dist/esm/chunk-HZYE46V2.js +2 -0
  386. package/dist/esm/chunk-HZYE46V2.js.map +7 -0
  387. package/dist/esm/chunk-IF4PYIUV.js +2 -0
  388. package/dist/esm/chunk-IF4PYIUV.js.map +7 -0
  389. package/dist/esm/chunk-IWT3Q2PD.js +2 -0
  390. package/dist/esm/chunk-IWT3Q2PD.js.map +7 -0
  391. package/dist/esm/chunk-JCRBBT4X.js +2 -0
  392. package/dist/esm/chunk-JCRBBT4X.js.map +7 -0
  393. package/dist/esm/{chunk-ZUOK3KFY.js → chunk-K7VO7TND.js} +1 -1
  394. package/dist/esm/{chunk-ZUOK3KFY.js.map → chunk-K7VO7TND.js.map} +2 -2
  395. package/dist/esm/chunk-KFQ4B5YC.js +2 -0
  396. package/dist/esm/chunk-KFQ4B5YC.js.map +7 -0
  397. package/dist/esm/{chunk-DIGT74P3.js → chunk-KPACVWV4.js} +1 -1
  398. package/dist/esm/{chunk-DIGT74P3.js.map → chunk-KPACVWV4.js.map} +2 -2
  399. package/dist/esm/{chunk-MQT3YJKY.js → chunk-KPPIW4OJ.js} +2 -2
  400. package/dist/esm/{chunk-PTEAQFHI.js → chunk-KRXCFIRK.js} +2 -2
  401. package/dist/esm/{chunk-5SQL4ZRC.js → chunk-KSZOVI57.js} +2 -2
  402. package/dist/esm/{chunk-5SQL4ZRC.js.map → chunk-KSZOVI57.js.map} +1 -1
  403. package/dist/esm/chunk-KU3LLWFU.js +2 -0
  404. package/dist/esm/{chunk-UPCRXJB2.js.map → chunk-KU3LLWFU.js.map} +2 -2
  405. package/dist/esm/chunk-MAI7FEU7.js +2 -0
  406. package/dist/esm/chunk-MAI7FEU7.js.map +7 -0
  407. package/dist/esm/chunk-MDHXSEGH.js +2 -0
  408. package/dist/esm/chunk-MDHXSEGH.js.map +7 -0
  409. package/dist/esm/{chunk-2PO6TZ7L.js → chunk-MJEYJI5G.js} +2 -2
  410. package/dist/esm/chunk-MLXHD7YF.js +2 -0
  411. package/dist/esm/chunk-MLXHD7YF.js.map +7 -0
  412. package/dist/esm/chunk-MPN33CKR.js +2 -0
  413. package/dist/esm/chunk-MPN33CKR.js.map +7 -0
  414. package/dist/esm/chunk-MQDZBF4J.js +2 -0
  415. package/dist/esm/chunk-MQDZBF4J.js.map +7 -0
  416. package/dist/esm/chunk-NCDOMH5I.js +2 -0
  417. package/dist/esm/chunk-NCDOMH5I.js.map +7 -0
  418. package/dist/esm/chunk-NFVOEHZS.js +2 -0
  419. package/dist/esm/chunk-NFVOEHZS.js.map +7 -0
  420. package/dist/esm/{chunk-J43ZS6TI.js → chunk-PAQS6C2A.js} +2 -2
  421. package/dist/esm/chunk-PUVZFRTQ.js +2 -0
  422. package/dist/esm/chunk-PUVZFRTQ.js.map +7 -0
  423. package/dist/esm/chunk-Q7S5LQBQ.js +2 -0
  424. package/dist/esm/chunk-Q7S5LQBQ.js.map +7 -0
  425. package/dist/esm/chunk-QAUYOVVL.js +2 -0
  426. package/dist/esm/chunk-QAUYOVVL.js.map +7 -0
  427. package/dist/esm/chunk-QOPRXQGR.js +2 -0
  428. package/dist/esm/chunk-QOPRXQGR.js.map +7 -0
  429. package/dist/esm/{chunk-MLJLEOZ5.js → chunk-R2FUNQTI.js} +2 -2
  430. package/dist/esm/{chunk-MLJLEOZ5.js.map → chunk-R2FUNQTI.js.map} +2 -2
  431. package/dist/esm/chunk-RC7TBVLO.js +2 -0
  432. package/dist/esm/chunk-RC7TBVLO.js.map +7 -0
  433. package/dist/esm/chunk-RJ6SA7AY.js +2 -0
  434. package/dist/esm/chunk-RJ6SA7AY.js.map +7 -0
  435. package/dist/esm/chunk-RSJSVJ6A.js +2 -0
  436. package/dist/esm/chunk-RSJSVJ6A.js.map +7 -0
  437. package/dist/esm/chunk-STMTXK7U.js +2 -0
  438. package/dist/esm/chunk-STMTXK7U.js.map +7 -0
  439. package/dist/esm/chunk-U7PDXTRX.js +2 -0
  440. package/dist/esm/chunk-U7PDXTRX.js.map +7 -0
  441. package/dist/esm/chunk-UNRG6Z5I.js +2 -0
  442. package/dist/esm/chunk-UNRG6Z5I.js.map +7 -0
  443. package/dist/esm/chunk-UONSKZQT.js +2 -0
  444. package/dist/esm/chunk-UONSKZQT.js.map +7 -0
  445. package/dist/esm/{chunk-2IPVLV6B.js → chunk-UQZHW3EJ.js} +2 -2
  446. package/dist/esm/chunk-VIDXAECE.js +2 -0
  447. package/dist/esm/chunk-VIDXAECE.js.map +7 -0
  448. package/dist/esm/chunk-VLLJ7A6P.js +2 -0
  449. package/dist/esm/chunk-VLLJ7A6P.js.map +7 -0
  450. package/dist/esm/{chunk-ELZEAEN2.js → chunk-VT4AAF7Q.js} +2 -2
  451. package/dist/esm/chunk-WKMJIWFP.js +2 -0
  452. package/dist/esm/chunk-WKMJIWFP.js.map +7 -0
  453. package/dist/esm/chunk-XVKFQSLI.js +2 -0
  454. package/dist/esm/chunk-XVKFQSLI.js.map +7 -0
  455. package/dist/esm/chunk-YF3MFME4.js +10 -0
  456. package/dist/esm/chunk-YF3MFME4.js.map +7 -0
  457. package/dist/esm/chunk-YGPUKJEB.js +2 -0
  458. package/dist/esm/chunk-YGPUKJEB.js.map +7 -0
  459. package/dist/esm/{chunk-MD3QCXRD.js → chunk-YVMQWSHA.js} +2 -2
  460. package/dist/esm/{chunk-MD3QCXRD.js.map → chunk-YVMQWSHA.js.map} +2 -2
  461. package/dist/esm/chunk-ZCAI2PRH.js +2 -0
  462. package/dist/esm/chunk-ZCAI2PRH.js.map +7 -0
  463. package/dist/esm/{chunk-S53ZQNHK.js → chunk-ZFBLPW3X.js} +2 -2
  464. package/dist/esm/chunk-ZH2B7WEH.js +2 -0
  465. package/dist/esm/chunk-ZH2B7WEH.js.map +7 -0
  466. package/dist/esm/chunk-ZJZIV2JH.js +2 -0
  467. package/dist/esm/chunk-ZJZIV2JH.js.map +7 -0
  468. package/dist/esm/components/_internal/base-button.d.ts +0 -2
  469. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  470. package/dist/esm/components/_internal/base-button.js +1 -1
  471. package/dist/esm/components/_internal/base-button.props.d.ts +0 -17
  472. package/dist/esm/components/_internal/base-button.props.d.ts.map +1 -1
  473. package/dist/esm/components/_internal/base-button.props.js +1 -1
  474. package/dist/esm/components/_internal/base-checkbox.props.d.ts +1 -1
  475. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  476. package/dist/esm/components/_internal/base-menu.props.d.ts +0 -10
  477. package/dist/esm/components/_internal/base-menu.props.d.ts.map +1 -1
  478. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  479. package/dist/esm/components/_internal/base-menu.utils.d.ts +3 -9
  480. package/dist/esm/components/_internal/base-menu.utils.d.ts.map +1 -1
  481. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  482. package/dist/esm/components/_internal/base-radio.props.d.ts +1 -1
  483. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  484. package/dist/esm/components/_internal/base-tab-list.props.d.ts +0 -5
  485. package/dist/esm/components/_internal/base-tab-list.props.d.ts.map +1 -1
  486. package/dist/esm/components/_internal/base-tab-list.props.js +1 -1
  487. package/dist/esm/components/_internal/menu-context.d.ts +2 -3
  488. package/dist/esm/components/_internal/menu-context.d.ts.map +1 -1
  489. package/dist/esm/components/_internal/menu-context.js +1 -1
  490. package/dist/esm/components/_internal/pane-chrome.d.ts +14 -2
  491. package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
  492. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  493. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  494. package/dist/esm/components/accordion.d.ts.map +1 -1
  495. package/dist/esm/components/accordion.js +1 -1
  496. package/dist/esm/components/accordion.props.d.ts +0 -7
  497. package/dist/esm/components/accordion.props.d.ts.map +1 -1
  498. package/dist/esm/components/accordion.props.js +1 -1
  499. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  500. package/dist/esm/components/alert-dialog.js +1 -1
  501. package/dist/esm/components/alert-dialog.props.d.ts +0 -5
  502. package/dist/esm/components/alert-dialog.props.d.ts.map +1 -1
  503. package/dist/esm/components/alert-dialog.props.js +1 -1
  504. package/dist/esm/components/badge.js +1 -1
  505. package/dist/esm/components/badge.props.d.ts +1 -1
  506. package/dist/esm/components/badge.props.js +1 -1
  507. package/dist/esm/components/button.js +1 -1
  508. package/dist/esm/components/button.props.js +1 -1
  509. package/dist/esm/components/card.d.ts.map +1 -1
  510. package/dist/esm/components/card.js +1 -1
  511. package/dist/esm/components/card.props.d.ts +0 -5
  512. package/dist/esm/components/card.props.d.ts.map +1 -1
  513. package/dist/esm/components/card.props.js +1 -1
  514. package/dist/esm/components/chatbar.d.ts +0 -2
  515. package/dist/esm/components/chatbar.d.ts.map +1 -1
  516. package/dist/esm/components/chatbar.js +1 -1
  517. package/dist/esm/components/checkbox-cards.d.ts.map +1 -1
  518. package/dist/esm/components/checkbox-cards.js +1 -1
  519. package/dist/esm/components/checkbox-cards.props.d.ts +0 -5
  520. package/dist/esm/components/checkbox-cards.props.d.ts.map +1 -1
  521. package/dist/esm/components/checkbox-cards.props.js +1 -1
  522. package/dist/esm/components/checkbox-group.d.ts.map +1 -1
  523. package/dist/esm/components/checkbox-group.js +1 -1
  524. package/dist/esm/components/checkbox-group.props.d.ts +1 -1
  525. package/dist/esm/components/checkbox-group.props.js +1 -1
  526. package/dist/esm/components/checkbox.d.ts.map +1 -1
  527. package/dist/esm/components/checkbox.js +1 -1
  528. package/dist/esm/components/checkbox.props.js +1 -1
  529. package/dist/esm/components/combobox.d.ts.map +1 -1
  530. package/dist/esm/components/combobox.js +1 -1
  531. package/dist/esm/components/combobox.props.d.ts +0 -9
  532. package/dist/esm/components/combobox.props.d.ts.map +1 -1
  533. package/dist/esm/components/combobox.props.js +1 -1
  534. package/dist/esm/components/context-menu.d.ts.map +1 -1
  535. package/dist/esm/components/context-menu.js +1 -1
  536. package/dist/esm/components/context-menu.props.js +1 -1
  537. package/dist/esm/components/data-list.d.ts.map +1 -1
  538. package/dist/esm/components/data-list.js +1 -1
  539. package/dist/esm/components/dialog.d.ts.map +1 -1
  540. package/dist/esm/components/dialog.js +1 -1
  541. package/dist/esm/components/dialog.props.d.ts +0 -5
  542. package/dist/esm/components/dialog.props.d.ts.map +1 -1
  543. package/dist/esm/components/dialog.props.js +1 -1
  544. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  545. package/dist/esm/components/dropdown-menu.js +1 -1
  546. package/dist/esm/components/dropdown-menu.props.js +1 -1
  547. package/dist/esm/components/hover-card.d.ts.map +1 -1
  548. package/dist/esm/components/hover-card.js +1 -1
  549. package/dist/esm/components/icon-button.js +1 -1
  550. package/dist/esm/components/icon-button.props.js +1 -1
  551. package/dist/esm/components/index.js +1 -1
  552. package/dist/esm/components/message-scroller.js +1 -1
  553. package/dist/esm/components/navbar.d.ts.map +1 -1
  554. package/dist/esm/components/navbar.js +1 -1
  555. package/dist/esm/components/notice.d.ts +1 -3
  556. package/dist/esm/components/notice.d.ts.map +1 -1
  557. package/dist/esm/components/notice.js +1 -1
  558. package/dist/esm/components/popover.d.ts.map +1 -1
  559. package/dist/esm/components/popover.js +1 -1
  560. package/dist/esm/components/popover.props.d.ts +0 -5
  561. package/dist/esm/components/popover.props.d.ts.map +1 -1
  562. package/dist/esm/components/popover.props.js +1 -1
  563. package/dist/esm/components/progress.js +1 -1
  564. package/dist/esm/components/progress.props.d.ts +0 -7
  565. package/dist/esm/components/progress.props.d.ts.map +1 -1
  566. package/dist/esm/components/progress.props.js +1 -1
  567. package/dist/esm/components/radio-cards.d.ts.map +1 -1
  568. package/dist/esm/components/radio-cards.js +1 -1
  569. package/dist/esm/components/radio-cards.props.d.ts +0 -5
  570. package/dist/esm/components/radio-cards.props.d.ts.map +1 -1
  571. package/dist/esm/components/radio-cards.props.js +1 -1
  572. package/dist/esm/components/radio-group.d.ts.map +1 -1
  573. package/dist/esm/components/radio-group.js +1 -1
  574. package/dist/esm/components/radio-group.props.d.ts +1 -1
  575. package/dist/esm/components/radio-group.props.js +1 -1
  576. package/dist/esm/components/radio.d.ts.map +1 -1
  577. package/dist/esm/components/radio.js +1 -1
  578. package/dist/esm/components/radio.props.js +1 -1
  579. package/dist/esm/components/schemas/base-button.schema.d.ts +0 -4
  580. package/dist/esm/components/schemas/base-button.schema.d.ts.map +1 -1
  581. package/dist/esm/components/schemas/base-button.schema.js +1 -1
  582. package/dist/esm/components/schemas/button.schema.d.ts +0 -4
  583. package/dist/esm/components/schemas/button.schema.d.ts.map +1 -1
  584. package/dist/esm/components/schemas/button.schema.js +1 -1
  585. package/dist/esm/components/schemas/icon-button.schema.d.ts +0 -4
  586. package/dist/esm/components/schemas/icon-button.schema.d.ts.map +1 -1
  587. package/dist/esm/components/schemas/icon-button.schema.js +1 -1
  588. package/dist/esm/components/schemas/index.js +1 -1
  589. package/dist/esm/components/schemas/toggle-button.schema.d.ts +0 -4
  590. package/dist/esm/components/schemas/toggle-button.schema.d.ts.map +1 -1
  591. package/dist/esm/components/schemas/toggle-button.schema.js +1 -1
  592. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +0 -4
  593. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts.map +1 -1
  594. package/dist/esm/components/schemas/toggle-icon-button.schema.js +1 -1
  595. package/dist/esm/components/scroll-area.d.ts.map +1 -1
  596. package/dist/esm/components/scroll-area.js +1 -1
  597. package/dist/esm/components/scroll-area.props.d.ts +0 -7
  598. package/dist/esm/components/scroll-area.props.d.ts.map +1 -1
  599. package/dist/esm/components/scroll-area.props.js +1 -1
  600. package/dist/esm/components/segmented-control.d.ts.map +1 -1
  601. package/dist/esm/components/segmented-control.js +1 -1
  602. package/dist/esm/components/segmented-control.props.d.ts +0 -4
  603. package/dist/esm/components/segmented-control.props.d.ts.map +1 -1
  604. package/dist/esm/components/segmented-control.props.js +1 -1
  605. package/dist/esm/components/select.d.ts.map +1 -1
  606. package/dist/esm/components/select.js +1 -1
  607. package/dist/esm/components/select.props.d.ts +0 -4
  608. package/dist/esm/components/select.props.d.ts.map +1 -1
  609. package/dist/esm/components/select.props.js +1 -1
  610. package/dist/esm/components/separator.js +1 -1
  611. package/dist/esm/components/separator.props.d.ts +0 -7
  612. package/dist/esm/components/separator.props.d.ts.map +1 -1
  613. package/dist/esm/components/separator.props.js +1 -1
  614. package/dist/esm/components/sheet.d.ts +0 -1
  615. package/dist/esm/components/sheet.d.ts.map +1 -1
  616. package/dist/esm/components/sheet.js +1 -1
  617. package/dist/esm/components/shell.d.ts +1 -1
  618. package/dist/esm/components/shell.d.ts.map +1 -1
  619. package/dist/esm/components/shell.js +1 -1
  620. package/dist/esm/components/sidebar.js +1 -1
  621. package/dist/esm/components/slider.d.ts.map +1 -1
  622. package/dist/esm/components/slider.js +1 -1
  623. package/dist/esm/components/spinner.js +1 -1
  624. package/dist/esm/components/spinner.props.d.ts +0 -7
  625. package/dist/esm/components/spinner.props.d.ts.map +1 -1
  626. package/dist/esm/components/spinner.props.js +1 -1
  627. package/dist/esm/components/switch.d.ts.map +1 -1
  628. package/dist/esm/components/switch.js +1 -1
  629. package/dist/esm/components/switch.props.d.ts.map +1 -1
  630. package/dist/esm/components/switch.props.js +1 -1
  631. package/dist/esm/components/tab-nav.d.ts.map +1 -1
  632. package/dist/esm/components/tab-nav.js +1 -1
  633. package/dist/esm/components/tab-nav.props.js +1 -1
  634. package/dist/esm/components/table.d.ts.map +1 -1
  635. package/dist/esm/components/table.js +1 -1
  636. package/dist/esm/components/table.props.d.ts +1 -1
  637. package/dist/esm/components/table.props.js +1 -1
  638. package/dist/esm/components/tabs.d.ts.map +1 -1
  639. package/dist/esm/components/tabs.js +1 -1
  640. package/dist/esm/components/tabs.props.js +1 -1
  641. package/dist/esm/components/text-area.d.ts.map +1 -1
  642. package/dist/esm/components/text-area.js +1 -1
  643. package/dist/esm/components/text-area.props.d.ts +0 -5
  644. package/dist/esm/components/text-area.props.d.ts.map +1 -1
  645. package/dist/esm/components/text-area.props.js +1 -1
  646. package/dist/esm/components/text-field.d.ts.map +1 -1
  647. package/dist/esm/components/text-field.js +1 -1
  648. package/dist/esm/components/text-field.props.d.ts +0 -5
  649. package/dist/esm/components/text-field.props.d.ts.map +1 -1
  650. package/dist/esm/components/text-field.props.js +1 -1
  651. package/dist/esm/components/theme-panel.d.ts.map +1 -1
  652. package/dist/esm/components/theme-panel.js +1 -1
  653. package/dist/esm/components/theme.d.ts +3 -6
  654. package/dist/esm/components/theme.d.ts.map +1 -1
  655. package/dist/esm/components/theme.js +1 -1
  656. package/dist/esm/components/theme.props.d.ts +12 -19
  657. package/dist/esm/components/theme.props.d.ts.map +1 -1
  658. package/dist/esm/components/theme.props.js +1 -1
  659. package/dist/esm/components/toggle-button.js +1 -1
  660. package/dist/esm/components/toggle-icon-button.js +1 -1
  661. package/dist/esm/components/toolbar.d.ts.map +1 -1
  662. package/dist/esm/components/toolbar.js +1 -1
  663. package/dist/esm/components/toolbar.props.d.ts +2 -1
  664. package/dist/esm/components/toolbar.props.d.ts.map +1 -1
  665. package/dist/esm/components/toolbar.props.js +1 -1
  666. package/dist/esm/components/tooltip.js +1 -1
  667. package/dist/esm/components/virtual-menu.d.ts.map +1 -1
  668. package/dist/esm/components/virtual-menu.js +1 -1
  669. package/dist/esm/helpers/index.d.ts +1 -0
  670. package/dist/esm/helpers/index.d.ts.map +1 -1
  671. package/dist/esm/helpers/index.js +1 -1
  672. package/dist/esm/helpers/map-prop-values.d.ts +1 -4
  673. package/dist/esm/helpers/map-prop-values.d.ts.map +1 -1
  674. package/dist/esm/helpers/map-prop-values.js +1 -1
  675. package/dist/esm/helpers/theme-size.d.ts +41 -0
  676. package/dist/esm/helpers/theme-size.d.ts.map +1 -0
  677. package/dist/esm/helpers/theme-size.js +2 -0
  678. package/dist/esm/helpers/theme-size.js.map +7 -0
  679. package/dist/esm/index.js +1 -1
  680. package/dist/esm/props/index.js +1 -1
  681. package/layout/components.css +48 -48
  682. package/layout/tokens.css +79 -31
  683. package/layout.css +127 -79
  684. package/package.json +2 -1
  685. package/schemas/base-button.json +0 -8
  686. package/schemas/button.json +0 -8
  687. package/schemas/icon-button.json +0 -8
  688. package/schemas/index.json +0 -40
  689. package/schemas/toggle-button.json +0 -8
  690. package/schemas/toggle-icon-button.json +0 -8
  691. package/src/components/_internal/base-button.css +130 -175
  692. package/src/components/_internal/base-button.props.ts +0 -26
  693. package/src/components/_internal/base-button.tsx +47 -14
  694. package/src/components/_internal/base-card.css +32 -194
  695. package/src/components/_internal/base-checkbox.css +104 -58
  696. package/src/components/_internal/base-checkbox.props.ts +1 -1
  697. package/src/components/_internal/base-dialog.css +13 -45
  698. package/src/components/_internal/base-menu.css +24 -57
  699. package/src/components/_internal/base-menu.props.ts +0 -8
  700. package/src/components/_internal/base-menu.utils.tsx +4 -15
  701. package/src/components/_internal/base-radio.css +79 -54
  702. package/src/components/_internal/base-radio.props.ts +1 -1
  703. package/src/components/_internal/base-sidebar-menu.css +21 -19
  704. package/src/components/_internal/base-sidebar.css +2 -3
  705. package/src/components/_internal/base-tab-list.css +39 -78
  706. package/src/components/_internal/base-tab-list.props.ts +0 -3
  707. package/src/components/_internal/menu-context.tsx +6 -10
  708. package/src/components/_internal/pane-chrome.tsx +40 -8
  709. package/src/components/accordion.css +17 -263
  710. package/src/components/accordion.props.tsx +0 -4
  711. package/src/components/accordion.tsx +4 -5
  712. package/src/components/alert-dialog.props.tsx +0 -4
  713. package/src/components/alert-dialog.tsx +1 -14
  714. package/src/components/avatar.css +35 -67
  715. package/src/components/badge.css +27 -49
  716. package/src/components/badge.props.tsx +1 -1
  717. package/src/components/blockquote.css +2 -2
  718. package/src/components/button.css +5 -175
  719. package/src/components/card.props.tsx +0 -3
  720. package/src/components/card.tsx +1 -3
  721. package/src/components/chatbar.css +44 -124
  722. package/src/components/chatbar.tsx +10 -11
  723. package/src/components/checkbox-cards.css +11 -11
  724. package/src/components/checkbox-cards.props.tsx +0 -3
  725. package/src/components/checkbox-cards.tsx +0 -5
  726. package/src/components/checkbox-group.css +7 -12
  727. package/src/components/checkbox-group.tsx +3 -1
  728. package/src/components/checkbox.css +6 -11
  729. package/src/components/checkbox.tsx +3 -1
  730. package/src/components/combobox.css +4 -9
  731. package/src/components/combobox.props.tsx +0 -5
  732. package/src/components/combobox.tsx +4 -12
  733. package/src/components/context-menu.tsx +9 -20
  734. package/src/components/data-list.css +4 -4
  735. package/src/components/data-list.tsx +3 -1
  736. package/src/components/dialog.css +0 -12
  737. package/src/components/dialog.props.tsx +0 -3
  738. package/src/components/dialog.tsx +1 -14
  739. package/src/components/dropdown-menu.css +1 -1
  740. package/src/components/dropdown-menu.tsx +8 -20
  741. package/src/components/hover-card.css +3 -3
  742. package/src/components/hover-card.tsx +3 -1
  743. package/src/components/icon-button.css +4 -152
  744. package/src/components/image.css +1 -1
  745. package/src/components/kbd.css +14 -14
  746. package/src/components/message-scroller.css +1 -1
  747. package/src/components/message-scroller.tsx +1 -1
  748. package/src/components/navbar.css +6 -6
  749. package/src/components/navbar.tsx +3 -1
  750. package/src/components/notice.css +9 -15
  751. package/src/components/notice.tsx +8 -7
  752. package/src/components/popover.css +15 -37
  753. package/src/components/popover.props.tsx +0 -3
  754. package/src/components/popover.tsx +3 -6
  755. package/src/components/progress.css +4 -106
  756. package/src/components/progress.props.tsx +0 -3
  757. package/src/components/radio-cards.css +6 -6
  758. package/src/components/radio-cards.props.tsx +0 -3
  759. package/src/components/radio-cards.tsx +0 -5
  760. package/src/components/radio-group.css +1 -1
  761. package/src/components/radio-group.props.tsx +1 -1
  762. package/src/components/radio-group.tsx +3 -1
  763. package/src/components/radio.tsx +3 -1
  764. package/src/components/schemas/base-button.schema.ts +0 -9
  765. package/src/components/scroll-area.css +13 -34
  766. package/src/components/scroll-area.props.tsx +0 -3
  767. package/src/components/scroll-area.tsx +2 -18
  768. package/src/components/section.css +8 -8
  769. package/src/components/segmented-control.css +47 -83
  770. package/src/components/segmented-control.props.tsx +0 -2
  771. package/src/components/segmented-control.tsx +3 -5
  772. package/src/components/select.css +87 -424
  773. package/src/components/select.props.tsx +0 -2
  774. package/src/components/select.tsx +4 -4
  775. package/src/components/separator.css +2 -23
  776. package/src/components/separator.props.tsx +0 -3
  777. package/src/components/sheet.css +0 -11
  778. package/src/components/sheet.tsx +1 -18
  779. package/src/components/shell.css +45 -30
  780. package/src/components/shell.tsx +8 -2
  781. package/src/components/sidebar.css +108 -198
  782. package/src/components/skeleton.css +1 -1
  783. package/src/components/slider.css +35 -98
  784. package/src/components/slider.tsx +3 -1
  785. package/src/components/spinner.css +2 -23
  786. package/src/components/spinner.props.tsx +0 -4
  787. package/src/components/switch.css +56 -49
  788. package/src/components/switch.props.tsx +0 -8
  789. package/src/components/switch.tsx +3 -1
  790. package/src/components/tab-nav.tsx +4 -4
  791. package/src/components/table.css +10 -18
  792. package/src/components/table.props.tsx +1 -1
  793. package/src/components/table.tsx +3 -1
  794. package/src/components/tabs.css +2 -1
  795. package/src/components/tabs.tsx +4 -4
  796. package/src/components/text-area.css +71 -236
  797. package/src/components/text-area.props.tsx +0 -3
  798. package/src/components/text-area.tsx +9 -9
  799. package/src/components/text-field.css +136 -342
  800. package/src/components/text-field.props.tsx +0 -3
  801. package/src/components/text-field.tsx +9 -9
  802. package/src/components/theme-panel.css +4 -4
  803. package/src/components/theme-panel.tsx +19 -236
  804. package/src/components/theme.props.tsx +10 -15
  805. package/src/components/theme.tsx +86 -106
  806. package/src/components/toolbar.css +9 -9
  807. package/src/components/toolbar.props.tsx +2 -1
  808. package/src/components/toolbar.tsx +7 -2
  809. package/src/components/tooltip.css +1 -1
  810. package/src/components/virtual-menu.tsx +2 -4
  811. package/src/helpers/index.ts +1 -0
  812. package/src/helpers/map-prop-values.ts +1 -18
  813. package/src/helpers/theme-size.ts +73 -0
  814. package/src/styles/tokens/base.css +0 -2
  815. package/src/styles/tokens/color.css +4 -32
  816. package/src/styles/tokens/constants.css +27 -51
  817. package/src/styles/tokens/layout.css +1 -1
  818. package/src/styles/tokens/radius.css +24 -24
  819. package/src/styles/tokens/space.css +107 -24
  820. package/src/styles/tokens/typography.css +39 -39
  821. package/styles.css +3091 -5296
  822. package/tokens/base.css +243 -283
  823. package/tokens.css +268 -318
  824. package/dist/esm/chunk-23WDP4JG.js +0 -2
  825. package/dist/esm/chunk-23WDP4JG.js.map +0 -7
  826. package/dist/esm/chunk-2IWL4V4H.js +0 -2
  827. package/dist/esm/chunk-2IWL4V4H.js.map +0 -7
  828. package/dist/esm/chunk-2MYYU7ST.js +0 -2
  829. package/dist/esm/chunk-2MYYU7ST.js.map +0 -7
  830. package/dist/esm/chunk-2NNB4ZZ5.js +0 -2
  831. package/dist/esm/chunk-2NNB4ZZ5.js.map +0 -7
  832. package/dist/esm/chunk-2NNCZM7P.js +0 -2
  833. package/dist/esm/chunk-2NNCZM7P.js.map +0 -7
  834. package/dist/esm/chunk-2XSRO44Q.js +0 -2
  835. package/dist/esm/chunk-2XSRO44Q.js.map +0 -7
  836. package/dist/esm/chunk-3KB2XWBE.js +0 -2
  837. package/dist/esm/chunk-3KB2XWBE.js.map +0 -7
  838. package/dist/esm/chunk-3PT3AOD5.js +0 -2
  839. package/dist/esm/chunk-3PT3AOD5.js.map +0 -7
  840. package/dist/esm/chunk-4D7OU2UA.js +0 -2
  841. package/dist/esm/chunk-4D7OU2UA.js.map +0 -7
  842. package/dist/esm/chunk-4EBCFKNC.js +0 -2
  843. package/dist/esm/chunk-4EBCFKNC.js.map +0 -7
  844. package/dist/esm/chunk-5GYIQIPW.js +0 -2
  845. package/dist/esm/chunk-5GYIQIPW.js.map +0 -7
  846. package/dist/esm/chunk-5PG5YGIW.js +0 -2
  847. package/dist/esm/chunk-5PG5YGIW.js.map +0 -7
  848. package/dist/esm/chunk-5RHODJDJ.js +0 -2
  849. package/dist/esm/chunk-5RHODJDJ.js.map +0 -7
  850. package/dist/esm/chunk-7BE6N3KY.js +0 -2
  851. package/dist/esm/chunk-7BE6N3KY.js.map +0 -7
  852. package/dist/esm/chunk-BALS3AVM.js +0 -2
  853. package/dist/esm/chunk-BALS3AVM.js.map +0 -7
  854. package/dist/esm/chunk-BDOMLGLZ.js +0 -2
  855. package/dist/esm/chunk-BDOMLGLZ.js.map +0 -7
  856. package/dist/esm/chunk-CAUFRKTK.js +0 -2
  857. package/dist/esm/chunk-CAUFRKTK.js.map +0 -7
  858. package/dist/esm/chunk-CJ4UZDW5.js +0 -2
  859. package/dist/esm/chunk-CJ4UZDW5.js.map +0 -7
  860. package/dist/esm/chunk-DD5QHU6R.js +0 -2
  861. package/dist/esm/chunk-DD5QHU6R.js.map +0 -7
  862. package/dist/esm/chunk-DDYII5NA.js +0 -2
  863. package/dist/esm/chunk-DDYII5NA.js.map +0 -7
  864. package/dist/esm/chunk-DQTJMIRO.js +0 -2
  865. package/dist/esm/chunk-DQTJMIRO.js.map +0 -7
  866. package/dist/esm/chunk-E5DJILUI.js +0 -2
  867. package/dist/esm/chunk-E5DJILUI.js.map +0 -7
  868. package/dist/esm/chunk-EJG2UNTM.js +0 -2
  869. package/dist/esm/chunk-EJG2UNTM.js.map +0 -7
  870. package/dist/esm/chunk-FK6F6ROH.js +0 -2
  871. package/dist/esm/chunk-FK6F6ROH.js.map +0 -7
  872. package/dist/esm/chunk-HI3JY3DJ.js +0 -2
  873. package/dist/esm/chunk-HI3JY3DJ.js.map +0 -7
  874. package/dist/esm/chunk-HKRQ3E3I.js +0 -2
  875. package/dist/esm/chunk-HKRQ3E3I.js.map +0 -7
  876. package/dist/esm/chunk-HVQ3SLQC.js +0 -2
  877. package/dist/esm/chunk-HVQ3SLQC.js.map +0 -7
  878. package/dist/esm/chunk-IMYZP5OY.js +0 -2
  879. package/dist/esm/chunk-IMYZP5OY.js.map +0 -7
  880. package/dist/esm/chunk-IYXR46Q6.js +0 -5
  881. package/dist/esm/chunk-IYXR46Q6.js.map +0 -7
  882. package/dist/esm/chunk-JGB6LNTP.js +0 -2
  883. package/dist/esm/chunk-JGB6LNTP.js.map +0 -7
  884. package/dist/esm/chunk-JLHJHYVQ.js +0 -2
  885. package/dist/esm/chunk-JLHJHYVQ.js.map +0 -7
  886. package/dist/esm/chunk-K7J23OPW.js +0 -2
  887. package/dist/esm/chunk-K7J23OPW.js.map +0 -7
  888. package/dist/esm/chunk-LRFAOQK6.js +0 -2
  889. package/dist/esm/chunk-LRFAOQK6.js.map +0 -7
  890. package/dist/esm/chunk-LXSARUXD.js +0 -2
  891. package/dist/esm/chunk-LXSARUXD.js.map +0 -7
  892. package/dist/esm/chunk-MGSHX5N5.js +0 -2
  893. package/dist/esm/chunk-MGSHX5N5.js.map +0 -7
  894. package/dist/esm/chunk-MNC2O6QW.js +0 -2
  895. package/dist/esm/chunk-MOMYWKIO.js +0 -2
  896. package/dist/esm/chunk-MOMYWKIO.js.map +0 -7
  897. package/dist/esm/chunk-MVW2SY4F.js +0 -2
  898. package/dist/esm/chunk-MVW2SY4F.js.map +0 -7
  899. package/dist/esm/chunk-PRRJ4WRE.js +0 -2
  900. package/dist/esm/chunk-PRRJ4WRE.js.map +0 -7
  901. package/dist/esm/chunk-PSS45RHX.js +0 -2
  902. package/dist/esm/chunk-PSS45RHX.js.map +0 -7
  903. package/dist/esm/chunk-QE2EF7A7.js +0 -2
  904. package/dist/esm/chunk-QE2EF7A7.js.map +0 -7
  905. package/dist/esm/chunk-QJFAGWBO.js +0 -2
  906. package/dist/esm/chunk-QJFAGWBO.js.map +0 -7
  907. package/dist/esm/chunk-QJSSCW3B.js +0 -2
  908. package/dist/esm/chunk-QJSSCW3B.js.map +0 -7
  909. package/dist/esm/chunk-QPNYHS6A.js +0 -2
  910. package/dist/esm/chunk-QPNYHS6A.js.map +0 -7
  911. package/dist/esm/chunk-QWFFYUFH.js +0 -2
  912. package/dist/esm/chunk-QWFFYUFH.js.map +0 -7
  913. package/dist/esm/chunk-RA4U6VVZ.js +0 -2
  914. package/dist/esm/chunk-RA4U6VVZ.js.map +0 -7
  915. package/dist/esm/chunk-RVHKSNMJ.js +0 -2
  916. package/dist/esm/chunk-RVHKSNMJ.js.map +0 -7
  917. package/dist/esm/chunk-RYURXQLJ.js +0 -2
  918. package/dist/esm/chunk-RYURXQLJ.js.map +0 -7
  919. package/dist/esm/chunk-UA6FP7HS.js +0 -2
  920. package/dist/esm/chunk-ULSNYQOY.js +0 -2
  921. package/dist/esm/chunk-ULSNYQOY.js.map +0 -7
  922. package/dist/esm/chunk-UPCRXJB2.js +0 -2
  923. package/dist/esm/chunk-URLG45A4.js +0 -2
  924. package/dist/esm/chunk-URLG45A4.js.map +0 -7
  925. package/dist/esm/chunk-UZS3BA2Z.js +0 -2
  926. package/dist/esm/chunk-UZS3BA2Z.js.map +0 -7
  927. package/dist/esm/chunk-V7UP4SLZ.js +0 -2
  928. package/dist/esm/chunk-V7UP4SLZ.js.map +0 -7
  929. package/dist/esm/chunk-W7VAP3WE.js +0 -2
  930. package/dist/esm/chunk-W7VAP3WE.js.map +0 -7
  931. package/dist/esm/chunk-WGNIFXUE.js +0 -2
  932. package/dist/esm/chunk-WGNIFXUE.js.map +0 -7
  933. package/dist/esm/chunk-WNSG5P3U.js +0 -2
  934. package/dist/esm/chunk-WNSG5P3U.js.map +0 -7
  935. package/dist/esm/chunk-X3UTLDGG.js +0 -2
  936. package/dist/esm/chunk-X3UTLDGG.js.map +0 -7
  937. package/dist/esm/chunk-XCDXQLWS.js +0 -2
  938. package/dist/esm/chunk-XCDXQLWS.js.map +0 -7
  939. package/dist/esm/chunk-XKAWVGBL.js +0 -2
  940. package/dist/esm/chunk-XKAWVGBL.js.map +0 -7
  941. package/dist/esm/chunk-XPRPYCII.js +0 -2
  942. package/dist/esm/chunk-XPRPYCII.js.map +0 -7
  943. package/dist/esm/chunk-Y3FVBAN2.js +0 -2
  944. package/dist/esm/chunk-Y3FVBAN2.js.map +0 -7
  945. package/dist/esm/chunk-YKGLZEXX.js +0 -2
  946. package/dist/esm/chunk-YKGLZEXX.js.map +0 -7
  947. package/dist/esm/chunk-YSHEXVBI.js +0 -10
  948. package/dist/esm/chunk-YSHEXVBI.js.map +0 -7
  949. package/dist/esm/chunk-Z2LGVLUB.js +0 -2
  950. package/dist/esm/chunk-Z2LGVLUB.js.map +0 -7
  951. package/src/styles/tokens/blur.css +0 -63
  952. package/src/styles/tokens/opacity.css +0 -32
  953. package/src/styles/tokens/scaling.css +0 -17
  954. /package/dist/esm/{chunk-XZ5XZS5O.js.map → chunk-35HNDWWM.js.map} +0 -0
  955. /package/dist/esm/{chunk-R4CN4Q3G.js.map → chunk-534LGOWC.js.map} +0 -0
  956. /package/dist/esm/{chunk-7UW7D77E.js.map → chunk-5UU2IMGX.js.map} +0 -0
  957. /package/dist/esm/{chunk-Y4IB7KDZ.js.map → chunk-7FZPCM7W.js.map} +0 -0
  958. /package/dist/esm/{chunk-UA6FP7HS.js.map → chunk-ABS275QZ.js.map} +0 -0
  959. /package/dist/esm/{chunk-PAB6HVKC.js.map → chunk-DFSW4QR4.js.map} +0 -0
  960. /package/dist/esm/{chunk-UI2EFF6F.js.map → chunk-E3754NJZ.js.map} +0 -0
  961. /package/dist/esm/{chunk-F2XQYWBE.js.map → chunk-EHUSLPWN.js.map} +0 -0
  962. /package/dist/esm/{chunk-6ERCPRXX.js.map → chunk-FSKZAL5H.js.map} +0 -0
  963. /package/dist/esm/{chunk-MQT3YJKY.js.map → chunk-KPPIW4OJ.js.map} +0 -0
  964. /package/dist/esm/{chunk-PTEAQFHI.js.map → chunk-KRXCFIRK.js.map} +0 -0
  965. /package/dist/esm/{chunk-2PO6TZ7L.js.map → chunk-MJEYJI5G.js.map} +0 -0
  966. /package/dist/esm/{chunk-J43ZS6TI.js.map → chunk-PAQS6C2A.js.map} +0 -0
  967. /package/dist/esm/{chunk-2IPVLV6B.js.map → chunk-UQZHW3EJ.js.map} +0 -0
  968. /package/dist/esm/{chunk-ELZEAEN2.js.map → chunk-VT4AAF7Q.js.map} +0 -0
  969. /package/dist/esm/{chunk-S53ZQNHK.js.map → chunk-ZFBLPW3X.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/dropdown-menu.tsx"],
4
+ "sourcesContent": ["'use client';\n\nimport { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport { VirtualMenu } from './virtual-menu.js';\nimport classNames from 'classnames';\nimport { DropdownMenu as DropdownMenuPrimitive, Slot } from 'radix-ui';\nimport { useCallbackRef } from 'radix-ui/internal';\n\nimport { ScrollArea } from './scroll-area.js';\nimport {\n dropdownMenuContentPropDefs,\n dropdownMenuSubContentPropDefs,\n dropdownMenuItemPropDefs,\n dropdownMenuCheckboxItemPropDefs,\n dropdownMenuRadioItemPropDefs,\n} from './dropdown-menu.props.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { ChevronDownIcon, ThickCheckIcon, ThickChevronLeftIcon, ThickChevronRightIcon, ThickDotIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport {\n DrillDownLevelContext,\n DrillDownRoot,\n SubContext,\n useCreateDrillDownStore,\n useDrillDownDirection,\n useDrillDownStore,\n usePanelPosition,\n useStackEntry,\n useSubContext,\n} from './_internal/dropdown-menu-drill-down.js';\nimport { MenuProvider } from './_internal/menu-context.js';\nimport {\n MenuShortcut,\n getMenuAlignOffset,\n toAriaKeyShortcuts,\n useResolvedResponsiveValue,\n} from './_internal/base-menu.utils.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\n\nimport type { SubmenuBehavior } from './_internal/dropdown-menu-drill-down.js';\nimport type { IconProps } from './icons.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes, Responsive } from '../props/prop-def.js';\n\n/**\n * Open state of the menu, mirrored from Root so Content can reset drill-down\n * navigation when a force-mounted menu opens again.\n */\nconst DropdownMenuOpenContext = React.createContext(false);\n\ninterface DropdownMenuRootProps\n extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Root> {}\nconst DropdownMenuRoot: React.FC<DropdownMenuRootProps> = (props) => {\n const { open: openProp, defaultOpen = false, onOpenChange } = props;\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);\n const open = openProp ?? uncontrolledOpen;\n\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n const handleOpenChange = React.useCallback(\n (next: boolean) => {\n setUncontrolledOpen(next);\n handleOpenChangeProp(next);\n },\n [handleOpenChangeProp],\n );\n\n return (\n <DropdownMenuOpenContext.Provider value={open}>\n <DropdownMenuPrimitive.Root {...props} onOpenChange={handleOpenChange} />\n </DropdownMenuOpenContext.Provider>\n );\n};\nDropdownMenuRoot.displayName = 'DropdownMenu.Root';\n\ntype DropdownMenuTriggerElement = React.ElementRef<typeof DropdownMenuPrimitive.Trigger>;\ninterface DropdownMenuTriggerProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Trigger, RemovedProps> {}\nconst DropdownMenuTrigger = React.forwardRef<DropdownMenuTriggerElement, DropdownMenuTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <DropdownMenuPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DropdownMenuPrimitive.Trigger>\n ),\n);\nDropdownMenuTrigger.displayName = 'DropdownMenu.Trigger';\n\n/** Visual props shared by Content and SubContent. */\ntype DropdownMenuSurfaceProps = GetPropDefTypes<typeof dropdownMenuSubContentPropDefs>;\n\ntype DropdownMenuContentContextValue = {\n size?: DropdownMenuSurfaceProps['size'];\n color?: DropdownMenuSurfaceProps['color'];\n};\nconst DropdownMenuContentContext = React.createContext<DropdownMenuContentContextValue>({});\n\n/** Keys that navigate back one drill-down level, by writing direction. */\nconst BACK_KEYS = { ltr: 'ArrowLeft', rtl: 'ArrowRight' } as const;\nconst FORWARD_KEYS = { ltr: 'ArrowRight', rtl: 'ArrowLeft' } as const;\n\nfunction isTextEntryTarget(target: EventTarget | null) {\n return (\n target instanceof HTMLElement &&\n (target.isContentEditable || target.tagName === 'INPUT' || target.tagName === 'TEXTAREA')\n );\n}\n\nfunction getDirection(element: HTMLElement | null): 'ltr' | 'rtl' {\n return element?.closest('[dir]')?.getAttribute('dir') === 'rtl' ? 'rtl' : 'ltr';\n}\n\ntype DropdownMenuContentElement = React.ElementRef<typeof DropdownMenuPrimitive.Content>;\ninterface DropdownMenuContentProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Content, RemovedProps>,\n DropdownMenuSurfaceProps {\n container?: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Portal>['container'];\n /**\n * Controls how submenus behave.\n * - `cascade`: Default cascading behavior where submenus open to the side (portal-based)\n * - `drill-down`: Mobile-friendly behavior where submenus replace the content inline\n * Supports responsive values: `{ initial: 'drill-down', md: 'cascade' }`\n */\n submenuBehavior?: Responsive<SubmenuBehavior>;\n /**\n * When true, skips the ScrollArea wrapper to allow VirtualMenu to handle its own scrolling.\n * Use this when rendering virtualized lists inside the dropdown.\n */\n virtualized?: boolean;\n}\nconst DropdownMenuContent = React.forwardRef<DropdownMenuContentElement, DropdownMenuContentProps>(\n (ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, dropdownMenuContentPropDefs.size);\n const themeContext = useThemeContext();\n const {\n size = dropdownMenuContentPropDefs.size.default,\n } = props;\n const {\n className,\n children,\n color,\n container,\n forceMount,\n submenuBehavior,\n virtualized = false,\n onEscapeKeyDown,\n onKeyDown,\n ...contentProps\n } = extractProps(props, dropdownMenuContentPropDefs);\n\n const resolvedColor = color || themeContext.accentColor;\n const behavior = useResolvedResponsiveValue<SubmenuBehavior>(submenuBehavior, 'cascade');\n const isDrillDown = behavior === 'drill-down';\n const open = React.useContext(DropdownMenuOpenContext);\n const drillDownStore = useCreateDrillDownStore();\n\n // Escape goes back one drill-down level before it closes the menu.\n const handleEscapeKeyDown = (event: KeyboardEvent) => {\n onEscapeKeyDown?.(event);\n if (event.defaultPrevented || !isDrillDown || drillDownStore.getDepth() === 0) return;\n event.preventDefault();\n drillDownStore.pop('keyboard');\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || !isDrillDown || drillDownStore.getDepth() === 0) return;\n if (isTextEntryTarget(event.target)) return;\n if (event.key === BACK_KEYS[getDirection(event.currentTarget)]) {\n event.preventDefault();\n drillDownStore.pop('keyboard');\n }\n };\n\n const contextValue = React.useMemo(\n () => ({ size, color: resolvedColor }),\n [size, resolvedColor],\n );\n\n const contentBody = (\n <MenuProvider size={size}>\n <DropdownMenuContentContext.Provider value={contextValue}>\n <DrillDownRoot store={drillDownStore} behavior={behavior} open={open}>\n {children}\n </DrillDownRoot>\n </DropdownMenuContentContext.Provider>\n </MenuProvider>\n );\n\n return (\n <DropdownMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <DropdownMenuPrimitive.Content\n data-accent-color={resolvedColor}\n align=\"start\"\n sideOffset={4}\n collisionPadding={10}\n {...contentProps}\n onEscapeKeyDown={handleEscapeKeyDown}\n onKeyDown={handleKeyDown}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-variant-soft',\n 'rt-DropdownMenuContent',\n className,\n )}\n >\n {virtualized ? (\n <div className={classNames('rt-BaseMenuViewport', 'rt-DropdownMenuViewport', 'rt-virtualized')}>\n {contentBody}\n </div>\n ) : (\n <ScrollArea type=\"auto\" scrollbars=\"vertical\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-DropdownMenuViewport')}>\n {contentBody}\n </div>\n </ScrollArea>\n )}\n </DropdownMenuPrimitive.Content>\n </Theme>\n </DropdownMenuPrimitive.Portal>\n );\n },\n);\nDropdownMenuContent.displayName = 'DropdownMenu.Content';\n\ntype DropdownMenuLabelElement = React.ElementRef<typeof DropdownMenuPrimitive.Label>;\ninterface DropdownMenuLabelProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Label, RemovedProps> {}\nconst DropdownMenuLabel = React.forwardRef<DropdownMenuLabelElement, DropdownMenuLabelProps>(\n ({ className, ...props }, forwardedRef) => {\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.Label\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuLabel', 'rt-DropdownMenuLabel', className)}\n />\n );\n },\n);\nDropdownMenuLabel.displayName = 'DropdownMenu.Label';\n\ntype DropdownMenuItemElement = React.ElementRef<typeof DropdownMenuPrimitive.Item>;\ntype DropdownMenuItemOwnProps = GetPropDefTypes<typeof dropdownMenuItemPropDefs>;\ninterface DropdownMenuItemProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Item, RemovedProps>,\n DropdownMenuItemOwnProps {}\nconst DropdownMenuItem = React.forwardRef<DropdownMenuItemElement, DropdownMenuItemProps>(\n (props, forwardedRef) => {\n const {\n className,\n children,\n color = dropdownMenuItemPropDefs.color.default,\n shortcut,\n ...itemProps\n } = props;\n // In drill-down mode, items of levels that are not on screen do not mount.\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.Item\n data-accent-color={color}\n aria-keyshortcuts={shortcut ? toAriaKeyShortcuts(shortcut) : undefined}\n {...itemProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-DropdownMenuItem', className)}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n {shortcut && <MenuShortcut shortcut={shortcut} className=\"rt-DropdownMenuShortcut\" />}\n </DropdownMenuPrimitive.Item>\n );\n },\n);\nDropdownMenuItem.displayName = 'DropdownMenu.Item';\n\ntype DropdownMenuGroupElement = React.ElementRef<typeof DropdownMenuPrimitive.Group>;\ninterface DropdownMenuGroupProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Group, RemovedProps> {}\nconst DropdownMenuGroup = React.forwardRef<DropdownMenuGroupElement, DropdownMenuGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <DropdownMenuPrimitive.Group\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuGroup', 'rt-DropdownMenuGroup', className)}\n />\n ),\n);\nDropdownMenuGroup.displayName = 'DropdownMenu.Group';\n\ntype DropdownMenuRadioGroupElement = React.ElementRef<typeof DropdownMenuPrimitive.RadioGroup>;\ninterface DropdownMenuRadioGroupProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.RadioGroup, RemovedProps> {}\nconst DropdownMenuRadioGroup = React.forwardRef<\n DropdownMenuRadioGroupElement,\n DropdownMenuRadioGroupProps\n>(({ className, ...props }, forwardedRef) => (\n <DropdownMenuPrimitive.RadioGroup\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuRadioGroup', 'rt-DropdownMenuRadioGroup', className)}\n />\n));\nDropdownMenuRadioGroup.displayName = 'DropdownMenu.RadioGroup';\n\ntype DropdownMenuRadioItemElement = React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>;\ntype DropdownMenuRadioItemOwnProps = GetPropDefTypes<typeof dropdownMenuRadioItemPropDefs>;\ninterface DropdownMenuRadioItemProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.RadioItem, RemovedProps>,\n DropdownMenuRadioItemOwnProps {}\nconst DropdownMenuRadioItem = React.forwardRef<\n DropdownMenuRadioItemElement,\n DropdownMenuRadioItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n color = dropdownMenuRadioItemPropDefs.color.default,\n ...itemProps\n } = props;\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.RadioItem\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuRadioItem',\n 'rt-DropdownMenuItem',\n 'rt-DropdownMenuRadioItem',\n className,\n )}\n >\n {children}\n <DropdownMenuPrimitive.ItemIndicator className=\"rt-BaseMenuItemIndicator rt-DropdownMenuItemIndicator\">\n <ThickDotIcon className=\"rt-BaseMenuItemIndicatorIcon rt-DropdownMenuItemIndicatorIcon\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </DropdownMenuPrimitive.RadioItem>\n );\n});\nDropdownMenuRadioItem.displayName = 'DropdownMenu.RadioItem';\n\ntype DropdownMenuCheckboxItemElement = React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>;\ntype DropdownMenuCheckboxItemOwnProps = GetPropDefTypes<typeof dropdownMenuCheckboxItemPropDefs>;\ninterface DropdownMenuCheckboxItemProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.CheckboxItem, RemovedProps>,\n DropdownMenuCheckboxItemOwnProps {}\nconst DropdownMenuCheckboxItem = React.forwardRef<\n DropdownMenuCheckboxItemElement,\n DropdownMenuCheckboxItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n shortcut,\n color = dropdownMenuCheckboxItemPropDefs.color.default,\n ...itemProps\n } = props;\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.CheckboxItem\n aria-keyshortcuts={shortcut ? toAriaKeyShortcuts(shortcut) : undefined}\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuCheckboxItem',\n 'rt-DropdownMenuItem',\n 'rt-DropdownMenuCheckboxItem',\n className,\n )}\n >\n {children}\n <DropdownMenuPrimitive.ItemIndicator className=\"rt-BaseMenuItemIndicator rt-DropdownMenuItemIndicator\">\n <ThickCheckIcon className=\"rt-BaseMenuItemIndicatorIcon rt-DropdownMenuItemIndicatorIcon\" />\n </DropdownMenuPrimitive.ItemIndicator>\n {shortcut && <MenuShortcut shortcut={shortcut} className=\"rt-DropdownMenuShortcut\" />}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n});\nDropdownMenuCheckboxItem.displayName = 'DropdownMenu.CheckboxItem';\n\ninterface DropdownMenuSubProps\n extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Sub> {\n /**\n * Label displayed in the back button when using drill-down mode.\n * If not provided, defaults to \"Back\".\n */\n label?: React.ReactNode;\n}\nconst DropdownMenuSub: React.FC<DropdownMenuSubProps> = ({\n label = 'Back',\n open,\n defaultOpen,\n onOpenChange,\n children,\n}) => {\n const drillDownStore = useDrillDownStore();\n const id = React.useId();\n const subContextValue = React.useMemo(() => ({ id, label }), [id, label]);\n const isOpenInDrillDown = usePanelPosition(drillDownStore, id) !== 'closed';\n\n // Drill-down: `open` and `defaultOpen` drive the stack; the stack drives\n // `onOpenChange`. A controlled `open` is applied when it changes.\n React.useLayoutEffect(() => {\n if (!drillDownStore || open === undefined) return;\n if (open && !drillDownStore.isOpen(id)) drillDownStore.push(id, null);\n else if (!open && drillDownStore.isOpen(id)) drillDownStore.close(id);\n }, [drillDownStore, open, id]);\n\n const defaultOpenRef = React.useRef(defaultOpen);\n React.useLayoutEffect(() => {\n if (drillDownStore && defaultOpenRef.current && open === undefined) drillDownStore.push(id, null);\n // Only on mount, like an uncontrolled default.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleOpenChange = useCallbackRef(onOpenChange);\n const wasOpenRef = React.useRef(isOpenInDrillDown);\n React.useEffect(() => {\n if (!drillDownStore || wasOpenRef.current === isOpenInDrillDown) return;\n wasOpenRef.current = isOpenInDrillDown;\n handleOpenChange(isOpenInDrillDown);\n }, [drillDownStore, isOpenInDrillDown, handleOpenChange]);\n\n // Radix Sub stays mounted in both behaviors so switching behavior does not\n // remount the subtree. It only renders context; in drill-down its trigger\n // and content are never rendered, so it reports no open changes of its own.\n return (\n <SubContext.Provider value={subContextValue}>\n <DropdownMenuPrimitive.Sub\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={drillDownStore ? undefined : onOpenChange}\n >\n {children}\n </DropdownMenuPrimitive.Sub>\n </SubContext.Provider>\n );\n};\nDropdownMenuSub.displayName = 'DropdownMenu.Sub';\n\ntype DropdownMenuSubTriggerElement = React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>;\ninterface DropdownMenuSubTriggerProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.SubTrigger, RemovedProps> {}\nconst DropdownMenuSubTrigger = React.forwardRef<\n DropdownMenuSubTriggerElement,\n DropdownMenuSubTriggerProps\n>((props, forwardedRef) => {\n const { className, children, onKeyDown, ...subTriggerProps } = props;\n const drillDownStore = useDrillDownStore();\n const subContext = useSubContext();\n const isLevelVisible = React.useContext(DrillDownLevelContext);\n\n if (drillDownStore && subContext) {\n if (!isLevelVisible) return null;\n\n const handleSelect = (event: Event) => {\n // Navigating does not close the menu.\n event.preventDefault();\n drillDownStore.push(subContext.id);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || subTriggerProps.disabled) return;\n if (event.key === FORWARD_KEYS[getDirection(event.currentTarget)]) {\n event.preventDefault();\n drillDownStore.push(subContext.id, 'keyboard');\n }\n };\n\n return (\n <DropdownMenuPrimitive.Item\n aria-haspopup=\"menu\"\n {...subTriggerProps}\n data-drill-down-trigger={subContext.id}\n data-drill-down-name={subTriggerProps.textValue}\n onSelect={handleSelect}\n onKeyDown={handleKeyDown}\n ref={forwardedRef}\n className={classNames(\n 'rt-reset',\n 'rt-BaseMenuItem',\n 'rt-BaseMenuSubTrigger',\n 'rt-DropdownMenuItem',\n 'rt-DropdownMenuSubTrigger',\n 'rt-DropdownMenuDrillDownSubTrigger',\n className,\n )}\n >\n {children}\n <div className=\"rt-BaseMenuShortcut rt-DropdownMenuShortcut\">\n <ThickChevronRightIcon className=\"rt-BaseMenuSubTriggerIcon rt-DropdownMenuSubTriggerIcon\" />\n </div>\n </DropdownMenuPrimitive.Item>\n );\n }\n\n return (\n <DropdownMenuPrimitive.SubTrigger\n {...subTriggerProps}\n onKeyDown={onKeyDown}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuSubTrigger',\n 'rt-DropdownMenuItem',\n 'rt-DropdownMenuSubTrigger',\n className,\n )}\n >\n {children}\n <div className=\"rt-BaseMenuShortcut rt-DropdownMenuShortcut\">\n <ThickChevronRightIcon className=\"rt-BaseMenuSubTriggerIcon rt-DropdownMenuSubTriggerIcon\" />\n </div>\n </DropdownMenuPrimitive.SubTrigger>\n );\n});\nDropdownMenuSubTrigger.displayName = 'DropdownMenu.SubTrigger';\n\ntype DropdownMenuSeparatorElement = React.ElementRef<typeof DropdownMenuPrimitive.Separator>;\ninterface DropdownMenuSeparatorProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Separator, RemovedProps> {}\nconst DropdownMenuSeparator = React.forwardRef<\n DropdownMenuSeparatorElement,\n DropdownMenuSeparatorProps\n>(({ className, ...props }, forwardedRef) => {\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuSeparator', 'rt-DropdownMenuSeparator', className)}\n />\n );\n});\nDropdownMenuSeparator.displayName = 'DropdownMenu.Separator';\n\n/** The row at the top of a drill-down panel that returns to the parent level. */\nfunction DrillDownBackItem({ label, name }: { label: React.ReactNode; name: string }) {\n const drillDownStore = useDrillDownStore();\n\n const handleSelect = React.useCallback(\n (event: Event) => {\n // Navigating does not close the menu.\n event.preventDefault();\n drillDownStore?.pop();\n },\n [drillDownStore],\n );\n\n // The visible label is often the submenu title, so the accessible name says\n // what the row does while still containing the visible text.\n const labelText = typeof label === 'string' ? label : name;\n const ariaLabel = labelText && labelText !== 'Back' ? `Back from ${labelText}` : undefined;\n\n return (\n <DropdownMenuPrimitive.Item\n aria-label={ariaLabel}\n textValue={labelText || 'Back'}\n onSelect={handleSelect}\n className={classNames(\n 'rt-reset',\n 'rt-BaseMenuItem',\n 'rt-DropdownMenuItem',\n 'rt-DropdownMenuDrillDownBackItem',\n )}\n >\n <ThickChevronLeftIcon className=\"rt-BaseMenuSubTriggerIcon rt-DropdownMenuDrillDownBackIcon\" />\n <span className=\"rt-DropdownMenuDrillDownBackLabel\">{label}</span>\n </DropdownMenuPrimitive.Item>\n );\n}\n\n/** Radix positioning and layer props that have no meaning for an inline drill-down panel. */\ntype PopperOnlyProps =\n | 'loop'\n | 'onEscapeKeyDown'\n | 'onPointerDownOutside'\n | 'onFocusOutside'\n | 'onInteractOutside'\n | 'sideOffset'\n | 'alignOffset'\n | 'avoidCollisions'\n | 'collisionBoundary'\n | 'collisionPadding'\n | 'arrowPadding'\n | 'sticky'\n | 'hideWhenDetached'\n | 'updatePositionStrategy';\n\nfunction omitPopperProps<T extends Record<string, unknown>>(props: T): Omit<T, PopperOnlyProps> {\n const {\n loop: _loop,\n onEscapeKeyDown: _onEscapeKeyDown,\n onPointerDownOutside: _onPointerDownOutside,\n onFocusOutside: _onFocusOutside,\n onInteractOutside: _onInteractOutside,\n sideOffset: _sideOffset,\n alignOffset: _alignOffset,\n avoidCollisions: _avoidCollisions,\n collisionBoundary: _collisionBoundary,\n collisionPadding: _collisionPadding,\n arrowPadding: _arrowPadding,\n sticky: _sticky,\n hideWhenDetached: _hideWhenDetached,\n updatePositionStrategy: _updatePositionStrategy,\n ...rest\n } = props;\n return rest;\n}\n\ntype DropdownMenuSubContentElement = React.ElementRef<typeof DropdownMenuPrimitive.SubContent>;\ninterface DropdownMenuSubContentProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.SubContent, RemovedProps>,\n DropdownMenuSurfaceProps {\n container?: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Portal>['container'];\n /**\n * When true, skips the ScrollArea wrapper so a VirtualMenu can handle its own\n * scrolling. Applies to cascade submenus; a drill-down panel scrolls with the\n * root content.\n */\n virtualized?: boolean;\n}\nconst DropdownMenuSubContent = React.forwardRef<\n DropdownMenuSubContentElement,\n DropdownMenuSubContentProps\n>((props, forwardedRef) => {\n const drillDownStore = useDrillDownStore();\n const subContext = useSubContext();\n\n if (drillDownStore && subContext) {\n return (\n <DrillDownPanel {...props} ref={forwardedRef} store={drillDownStore} sub={subContext} />\n );\n }\n return <CascadeSubContent {...props} ref={forwardedRef} />;\n});\nDropdownMenuSubContent.displayName = 'DropdownMenu.SubContent';\n\nconst CascadeSubContent = React.forwardRef<DropdownMenuSubContentElement, DropdownMenuSubContentProps>(\n (props, forwardedRef) => {\n const parent = React.useContext(DropdownMenuContentContext);\n\n // A submenu inherits the parent surface, and its own props win.\n const size = props.size ?? parent.size;\n const color = props.color ?? parent.color;\n\n const {\n className,\n children,\n container,\n forceMount,\n color: _color,\n virtualized = false,\n ...subContentProps\n } = extractProps({ ...props, size }, dropdownMenuSubContentPropDefs);\n\n const scalarSize = useResolvedResponsiveValue(size, dropdownMenuSubContentPropDefs.size.default);\n\n const contextValue = React.useMemo(\n () => ({ size, color }),\n [size, color],\n );\n\n const body = (\n <MenuProvider size={size}>\n <DropdownMenuContentContext.Provider value={contextValue}>{children}</DropdownMenuContentContext.Provider>\n </MenuProvider>\n );\n\n return (\n <DropdownMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <DropdownMenuPrimitive.SubContent\n data-accent-color={color}\n alignOffset={getMenuAlignOffset(scalarSize)}\n // Side offset accounts for the outer solid box-shadow\n sideOffset={1}\n collisionPadding={10}\n {...subContentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-variant-soft',\n 'rt-BaseMenuSubContent',\n 'rt-DropdownMenuContent',\n 'rt-DropdownMenuSubContent',\n className,\n )}\n >\n {virtualized ? (\n <div className={classNames('rt-BaseMenuViewport', 'rt-DropdownMenuViewport', 'rt-virtualized')}>\n {body}\n </div>\n ) : (\n <ScrollArea type=\"auto\" scrollbars=\"vertical\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-DropdownMenuViewport')}>{body}</div>\n </ScrollArea>\n )}\n </DropdownMenuPrimitive.SubContent>\n </Theme>\n </DropdownMenuPrimitive.Portal>\n );\n },\n);\nCascadeSubContent.displayName = 'DropdownMenu.CascadeSubContent';\n\ninterface DrillDownPanelProps extends DropdownMenuSubContentProps {\n store: NonNullable<ReturnType<typeof useDrillDownStore>>;\n sub: NonNullable<ReturnType<typeof useSubContext>>;\n}\n\n/**\n * A submenu rendered inline in drill-down mode. It mounts its children only\n * while it is on the navigation stack, and shows its own items only while it\n * is the top level; deeper panels inside it stay mounted.\n */\nconst DrillDownPanel = React.forwardRef<DropdownMenuSubContentElement, DrillDownPanelProps>(\n ({ store, sub, ...props }, forwardedRef) => {\n const position = usePanelPosition(store, sub.id);\n const entry = useStackEntry(store, sub.id);\n const direction = useDrillDownDirection(position === 'top' ? store : null);\n\n if (position === 'closed') return null;\n\n const {\n className,\n children,\n container: _container,\n forceMount: _forceMount,\n virtualized: _virtualized,\n size: _size,\n color: _color,\n ...panelProps\n } = omitPopperProps(props);\n\n const isTop = position === 'top';\n const name = entry?.name || (typeof sub.label === 'string' ? sub.label : '');\n\n return (\n <div\n role=\"group\"\n aria-label={name || undefined}\n {...panelProps}\n ref={forwardedRef}\n data-drill-down-panel={sub.id}\n data-drill-down-active={isTop ? true : undefined}\n data-animation-direction={isTop ? (direction ?? undefined) : undefined}\n className={classNames('rt-DropdownMenuDrillDownPanel', className)}\n >\n {isTop && (\n <>\n <DrillDownBackItem label={sub.label} name={name} />\n <DropdownMenuPrimitive.Separator className=\"rt-BaseMenuSeparator rt-DropdownMenuSeparator\" />\n </>\n )}\n <DrillDownLevelContext.Provider value={isTop}>{children}</DrillDownLevelContext.Provider>\n </div>\n );\n },\n);\nDrillDownPanel.displayName = 'DropdownMenu.DrillDownPanel';\n\ntype DropdownMenuTriggerIconElement = React.ElementRef<'svg'>;\ninterface DropdownMenuTriggerIconProps extends IconProps {}\nconst DropdownMenuTriggerIcon = React.forwardRef<\n DropdownMenuTriggerIconElement,\n DropdownMenuTriggerIconProps\n>(({ className, ...props }, forwardedRef) => (\n <ChevronDownIcon\n {...props}\n ref={forwardedRef}\n className={classNames('rt-DropdownMenuTriggerIcon', className)}\n />\n));\nDropdownMenuTriggerIcon.displayName = 'DropdownMenu.TriggerIcon';\n\nexport {\n DropdownMenuRoot as Root,\n DropdownMenuTrigger as Trigger,\n DropdownMenuTriggerIcon as TriggerIcon,\n DropdownMenuContent as Content,\n DropdownMenuLabel as Label,\n DropdownMenuItem as Item,\n DropdownMenuGroup as Group,\n DropdownMenuRadioGroup as RadioGroup,\n DropdownMenuRadioItem as RadioItem,\n DropdownMenuCheckboxItem as CheckboxItem,\n DropdownMenuSub as Sub,\n DropdownMenuSubTrigger as SubTrigger,\n DropdownMenuSubContent as SubContent,\n DropdownMenuSeparator as Separator,\n VirtualMenu as Virtual,\n};\n\nexport type {\n DropdownMenuRootProps as RootProps,\n DropdownMenuTriggerProps as TriggerProps,\n DropdownMenuTriggerIconProps as TriggerIconProps,\n DropdownMenuContentProps as ContentProps,\n DropdownMenuLabelProps as LabelProps,\n DropdownMenuItemProps as ItemProps,\n DropdownMenuGroupProps as GroupProps,\n DropdownMenuRadioGroupProps as RadioGroupProps,\n DropdownMenuRadioItemProps as RadioItemProps,\n DropdownMenuCheckboxItemProps as CheckboxItemProps,\n DropdownMenuSubProps as SubProps,\n DropdownMenuSubTriggerProps as SubTriggerProps,\n DropdownMenuSubContentProps as SubContentProps,\n DropdownMenuSeparatorProps as SeparatorProps,\n SubmenuBehavior,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["dropdown_menu_exports", "__export", "DropdownMenuCheckboxItem", "DropdownMenuContent", "DropdownMenuGroup", "DropdownMenuItem", "DropdownMenuLabel", "DropdownMenuRadioGroup", "DropdownMenuRadioItem", "DropdownMenuRoot", "DropdownMenuSeparator", "DropdownMenuSub", "DropdownMenuSubContent", "DropdownMenuSubTrigger", "DropdownMenuTrigger", "DropdownMenuTriggerIcon", "VirtualMenu", "React", "classNames", "DropdownMenuPrimitive", "Slot", "useCallbackRef", "DropdownMenuOpenContext", "DropdownMenuRoot", "props", "openProp", "defaultOpen", "onOpenChange", "uncontrolledOpen", "setUncontrolledOpen", "open", "handleOpenChangeProp", "useCallbackRef", "handleOpenChange", "next", "DropdownMenuPrimitive", "DropdownMenuTrigger", "children", "forwardedRef", "requireReactElement", "DropdownMenuContentContext", "BACK_KEYS", "FORWARD_KEYS", "isTextEntryTarget", "target", "getDirection", "element", "DropdownMenuContent", "ownProps", "useThemeSizeProps", "baseMenuContentPropDefs", "themeContext", "useThemeContext", "size", "className", "color", "container", "forceMount", "submenuBehavior", "virtualized", "onEscapeKeyDown", "onKeyDown", "contentProps", "extractProps", "resolvedColor", "behavior", "useResolvedResponsiveValue", "isDrillDown", "drillDownStore", "useCreateDrillDownStore", "handleEscapeKeyDown", "event", "handleKeyDown", "contextValue", "contentBody", "MenuProvider", "DrillDownRoot", "Theme", "classNames", "ScrollArea", "DropdownMenuLabel", "DrillDownLevelContext", "DropdownMenuItem", "baseMenuItemPropDefs", "shortcut", "itemProps", "toAriaKeyShortcuts", "Slot", "MenuShortcut", "DropdownMenuGroup", "DropdownMenuRadioGroup", "DropdownMenuRadioItem", "baseMenuRadioItemPropDefs", "ThickDotIcon", "DropdownMenuCheckboxItem", "baseMenuCheckboxItemPropDefs", "ThickCheckIcon", "DropdownMenuSub", "label", "useDrillDownStore", "id", "subContextValue", "isOpenInDrillDown", "usePanelPosition", "defaultOpenRef", "wasOpenRef", "SubContext", "DropdownMenuSubTrigger", "subTriggerProps", "subContext", "useSubContext", "isLevelVisible", "handleSelect", "ThickChevronRightIcon", "DropdownMenuSeparator", "DrillDownBackItem", "name", "labelText", "ariaLabel", "ThickChevronLeftIcon", "omitPopperProps", "_loop", "_onEscapeKeyDown", "_onPointerDownOutside", "_onFocusOutside", "_onInteractOutside", "_sideOffset", "_alignOffset", "_avoidCollisions", "_collisionBoundary", "_collisionPadding", "_arrowPadding", "_sticky", "_hideWhenDetached", "_updatePositionStrategy", "rest", "DropdownMenuSubContent", "DrillDownPanel", "CascadeSubContent", "parent", "_color", "subContentProps", "baseMenuSubContentPropDefs", "scalarSize", "body", "getMenuAlignOffset", "store", "sub", "position", "entry", "useStackEntry", "direction", "useDrillDownDirection", "_container", "_forceMount", "_virtualized", "_size", "panelProps", "isTop", "DropdownMenuTriggerIcon", "ChevronDownIcon"]
7
+ }
@@ -0,0 +1,10 @@
1
+ import{a as j}from"./chunk-IBF5U4QW.js";import{a as T}from"./chunk-K5SC3CZZ.js";import{a as D}from"./chunk-7FZPCM7W.js";import{a as G}from"./chunk-TGRRQHLQ.js";import{a as b}from"./chunk-VT4AAF7Q.js";import{a as M}from"./chunk-BFLO4IVZ.js";import{b as I,c as K}from"./chunk-6AZV4VFW.js";import{a as B}from"./chunk-F22ZRNWL.js";import{a as C}from"./chunk-VLLJ7A6P.js";import{a as S}from"./chunk-O6K6RZXY.js";import{a as O}from"./chunk-ZJZIV2JH.js";import{a as s}from"./chunk-7CBZFHSQ.js";import{a as $}from"./chunk-XHKL4PG7.js";import*as e from"react";import{useCallbackRef as Q}from"radix-ui/internal";import{flushSync as Y}from"react-dom";var z=`
2
+ [contenteditable],
3
+ [role="combobox"],
4
+ [role="listbox"],
5
+ [role="menu"],
6
+ input:not([type="radio"], [type="checkbox"]),
7
+ select,
8
+ textarea
9
+ `,_=e.forwardRef(({defaultOpen:a=!0,...n},i)=>{let[h,c]=e.useState(a),m=e.useRef(null),r=e.useRef(null);return e.useEffect(()=>{function d(l){let x=l.altKey||l.ctrlKey||l.shiftKey||l.metaKey,f=document.activeElement?.closest(z);if(l.key?.toUpperCase()==="T"&&!x&&!f){let g=!1;Y(()=>{c(R=>(g=!R,g))}),g?(r.current=document.activeElement,m.current?.focus()):r.current?.focus()}}return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[]),e.createElement(W,{...n,ref:i,triggerRef:m,open:h,shortcut:e.createElement(b,{content:"Press T to show/hide the Theme Panel",side:"bottom",sideOffset:6},e.createElement($,{asChild:!0,size:"3",tabIndex:0,className:"rt-ThemePanelShortcut"},e.createElement("button",{type:"button",onClick:()=>c(d=>!d),ref:m,"aria-label":"Toggle the Theme Panel"},"T")))})});_.displayName="ThemePanel";var W=e.forwardRef((a,n)=>{let{open:i,onAppearanceChange:h,shortcut:c,triggerRef:m,...r}=a,d=I();return e.createElement(K,{asChild:!0,radius:"medium"},e.createElement(s,{direction:"column",position:"fixed",top:"0",right:"0",mr:{initial:"3",sm:"5"},mt:{initial:"3",sm:"5"},width:{initial:"360px"},maxHeight:{initial:"calc(100svh - var(--space-3) - var(--space-3))",sm:"calc(100svh - var(--space-5) - var(--space-5))"},maxWidth:{initial:"calc(100svw - var(--space-3) - var(--space-3))",sm:"calc(100svw - var(--space-5) - var(--space-5))"},inert:i?void 0:j,...r,ref:n,style:{zIndex:999999999,overflow:"hidden",borderRadius:"var(--radius-4)",backgroundColor:"var(--color-panel-solid)",transformOrigin:"top center",transform:i?"none":"translateX(105%)",boxShadow:i?"var(--shadow-5)":"var(--shadow-2)",...a.style}},e.createElement(O,null,e.createElement(T,{flexGrow:"1",p:{initial:"5",xs:"6"},position:"relative"},!!c&&e.createElement(T,{position:"absolute",top:"0",right:"0",m:"3"},c),e.createElement(U,{onAppearanceChange:h,context:d})))))});W.displayName="ThemePanelImpl";var U=e.forwardRef((a,n)=>{let{onAppearanceChange:i,context:h,...c}=a,m=I(),{appearance:r,onAppearanceChange:d,accentColor:l,onAccentColorChange:x,grayColor:f,onGrayColorChange:V,radius:g,onRadiusChange:R}=h??m,[k,w]=e.useState(r==="inherit"?null:r),F=i!==void 0,N=Q(i),E=e.useCallback(t=>{let o=ee();if(r!=="inherit"){d(t);return}F?N(t):(w(t),te(t)),o()},[r,d,F,N]),H=B(l),Z=f==="auto"?H:f,[X,A]=e.useState("idle");async function q(){let t={appearance:r===C.appearance.default?void 0:r,accentColor:l===C.accentColor.default?void 0:l,grayColor:f===C.grayColor.default?void 0:f,radius:g===C.radius.default?void 0:g},o=Object.keys(t).filter(p=>t[p]!==void 0).map(p=>`${p}="${t[p]}"`).join(" "),y=o?`<Theme ${o}>`:"<Theme>";A("copying"),await navigator.clipboard.writeText(y),A("copied"),setTimeout(()=>A("idle"),2e3)}return e.useEffect(()=>{function t(o){let y=o.altKey||o.ctrlKey||o.shiftKey||o.metaKey,p=document.activeElement?.closest(z);o.key?.toUpperCase()==="D"&&!y&&!p&&E(k==="light"?"dark":"light")}return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[E,k]),e.useEffect(()=>{let t=document.documentElement,o=document.body;function y(){let P=t.classList.contains("dark")||t.classList.contains("dark-theme")||o.classList.contains("dark")||o.classList.contains("dark-theme");w(r==="inherit"?P?"dark":"light":r)}let p=new MutationObserver(function(P){P.forEach(function(J){J.attributeName==="class"&&y()})});return y(),r==="inherit"&&(p.observe(t,{attributes:!0}),p.observe(o,{attributes:!0})),()=>p.disconnect()},[r]),e.createElement(s,{direction:"column",gap:"6",...c,ref:n},e.createElement(M,{size:{initial:"3",sm:"5"},trim:"both",as:"h2"},"Theme"),e.createElement(s,{direction:"column",gap:"6"},e.createElement(v,null,e.createElement(L,{id:"accent-color-title"},"Accent color"),e.createElement(s,{wrap:"wrap",gap:"3",role:"group","aria-labelledby":"accent-color-title"},C.accentColor.values.map(t=>e.createElement(T,{asChild:!0,key:t},e.createElement("label",{className:"rt-ThemePanelSwatch","aria-label":u(t),style:{backgroundColor:`var(--${t}-9)`}},e.createElement(b,{content:`${u(t)}${l==="gray"&&Z!=="gray"?` (${u(Z)})`:""}`},e.createElement("input",{className:"rt-ThemePanelSwatchInput",type:"radio",name:"accentColor",value:t,checked:l===t,onChange:o=>x(o.target.value)}))))))),e.createElement(v,null,e.createElement(L,{id:"gray-color-title"},"Gray color"),e.createElement(s,{wrap:"wrap",gap:"3",role:"group","aria-labelledby":"gray-color-title"},C.grayColor.values.map(t=>e.createElement(s,{key:t,asChild:!0,align:"center",justify:"center"},e.createElement("label",{className:"rt-ThemePanelSwatch","aria-label":u(t),style:{backgroundColor:t==="auto"?`var(--${H}-9)`:t==="gray"?"var(--gray-9)":`var(--${t}-9)`,filter:t==="gray"?"saturate(0)":void 0}},e.createElement(b,{content:`${u(t)}${t==="auto"?` (${u(H)})`:""}`},e.createElement("input",{className:"rt-ThemePanelSwatchInput",type:"radio",name:"grayColor",value:t,checked:f===t,onChange:o=>V(o.target.value)}))))))),e.createElement(v,null,e.createElement(L,{id:"appearance-title"},"Appearance"),e.createElement(G,{columns:"2",gap:"3",role:"group","aria-labelledby":"appearance-title"},["light","dark"].map(t=>e.createElement("label",{key:t,className:"rt-ThemePanelRadioCard"},e.createElement("input",{className:"rt-ThemePanelRadioCardInput",type:"radio",name:"appearance",value:t,checked:k===t,onChange:o=>E(o.target.value)}),e.createElement(s,{align:"center",justify:"center",height:"32px",gap:"3"},t==="light"?e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{margin:"0 -1px"}},e.createElement("path",{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",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})):e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{margin:"0 -1px"}},e.createElement("path",{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",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})),e.createElement(S,{size:"1",weight:"medium"},u(t))))))),e.createElement(v,null,e.createElement(L,{id:"radius-title"},"Radius"),e.createElement(s,{gap:"3",role:"group","aria-labelledby":"radius-title",wrap:"wrap"},C.radius.values.map(t=>e.createElement(s,{key:t,direction:"column",align:"center"},e.createElement("label",{className:"rt-ThemePanelRadioCard"},e.createElement("input",{className:"rt-ThemePanelRadioCardInput",type:"radio",name:"radius",id:`theme-panel-radius-${t}`,value:t,checked:g===t,onChange:o=>R(o.target.value)}),e.createElement(K,{asChild:!0,radius:t},e.createElement(T,{m:"4",width:{initial:"24px",sm:"32px"},height:{initial:"24px",sm:"32px"},style:{borderTopLeftRadius:t==="full"?"80%":"var(--radius-5)",backgroundImage:"linear-gradient(to bottom right, var(--accent-3), var(--accent-4))",borderTop:"2px solid var(--accent-a8)",borderLeft:"2px solid var(--accent-a8)"}}))),e.createElement(T,{asChild:!0,pt:"3"},e.createElement(S,{asChild:!0,size:"1",emphasis:"medium"},e.createElement("label",{htmlFor:`theme-panel-radius-${t}`},u(t))))))))),e.createElement(D,{style:{width:"100%"},onClick:q},X==="copied"?"Copied":"Copy Theme"))});U.displayName="ThemePanelContent";function v(a){return e.createElement(s,{direction:"column",gap:"4",asChild:!0,...a},e.createElement("section",null,a.children))}function L(a){return e.createElement(M,{as:"h3",size:{initial:"1",sm:"2"},...a})}function ee(){let a=document.createElement("style");return a.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(a),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(a)},1)}}function u(a){return a.charAt(0).toUpperCase()+a.slice(1)}function te(a){let n=document.documentElement,i=n.classList.contains("light-theme"),h=n.classList.contains("dark-theme"),c=n.classList.contains("light"),m=n.classList.contains("dark");(i||h)&&(n.classList.remove("light-theme","dark-theme"),n.style.colorScheme=a,n.classList.add(`${a}-theme`)),(c||m)&&(n.classList.remove("light","dark"),n.style.colorScheme=a,n.classList.add(a)),!i&&!h&&!c&&!m&&(n.style.colorScheme=a,n.classList.add(a))}export{_ as a,U as b};
10
+ //# sourceMappingURL=chunk-YF3MFME4.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/theme-panel.tsx"],
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport { useCallbackRef } from 'radix-ui/internal';\nimport { flushSync } from 'react-dom';\n\nimport { Box } from './box.js';\nimport { Button } from './button.js';\nimport { Flex } from './flex.js';\nimport { Grid } from './grid.js';\nimport { Heading } from './heading.js';\nimport { Kbd } from './kbd.js';\nimport { ScrollArea } from './scroll-area.js';\nimport { Text } from './text.js';\nimport { Tooltip } from './tooltip.js';\nimport { Theme, useThemeContext, type ThemeContextValue } from './theme.js';\nimport { inert } from '../helpers/inert.js';\nimport { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';\nimport { themePropDefs } from './theme.props.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ninterface ThemePanelProps extends Omit<ThemePanelImplProps, keyof ThemePanelImplPrivateProps> {\n onAppearanceChange?: (value: 'light' | 'dark') => void;\n defaultOpen?: boolean;\n}\n\nconst keyboardInputElement = `\n [contenteditable],\n [role=\"combobox\"],\n [role=\"listbox\"],\n [role=\"menu\"],\n input:not([type=\"radio\"], [type=\"checkbox\"]),\n select,\n textarea\n `;\n\nconst ThemePanel = React.forwardRef<ThemePanelImplElement, ThemePanelProps>(\n ({ defaultOpen = true, ...props }, forwardedRef) => {\n const [open, setOpen] = React.useState(defaultOpen);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const previouslyFocusedElementRef = React.useRef<HTMLElement | null>(null);\n\n // quickly show/hide using \"T\" keypress\n React.useEffect(() => {\n function handleKeydown(event: KeyboardEvent) {\n const isModifierActive = event.altKey || event.ctrlKey || event.shiftKey || event.metaKey;\n const isKeyboardInputActive = document.activeElement?.closest(keyboardInputElement);\n const isKeyT = event.key?.toUpperCase() === 'T' && !isModifierActive;\n if (isKeyT && !isKeyboardInputActive) {\n let isOpen = false;\n flushSync(() => {\n setOpen((open) => {\n isOpen = !open;\n return isOpen;\n });\n });\n if (isOpen) {\n previouslyFocusedElementRef.current = document.activeElement as HTMLElement | null;\n triggerRef.current?.focus();\n } else {\n previouslyFocusedElementRef.current?.focus();\n }\n }\n }\n document.addEventListener('keydown', handleKeydown);\n return () => document.removeEventListener('keydown', handleKeydown);\n }, []);\n\n return (\n <ThemePanelImpl\n {...props}\n ref={forwardedRef}\n triggerRef={triggerRef}\n open={open}\n shortcut={\n <Tooltip content=\"Press T to show/hide the Theme Panel\" side=\"bottom\" sideOffset={6}>\n <Kbd asChild size=\"3\" tabIndex={0} className=\"rt-ThemePanelShortcut\">\n <button\n type=\"button\"\n onClick={() => setOpen((open) => !open)}\n ref={triggerRef}\n aria-label=\"Toggle the Theme Panel\"\n >\n T\n </button>\n </Kbd>\n </Tooltip>\n }\n />\n );\n },\n);\nThemePanel.displayName = 'ThemePanel';\n\ntype ThemePanelImplElement = React.ElementRef<'div'>;\ninterface ThemePanelImplPrivateProps {\n open: boolean;\n shortcut: React.ReactNode;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n}\ninterface ThemePanelImplProps\n extends ComponentPropsWithout<'div', RemovedProps>, ThemePanelImplPrivateProps {\n onAppearanceChange?: (value: 'light' | 'dark') => void;\n}\nconst ThemePanelImpl = React.forwardRef<ThemePanelImplElement, ThemePanelImplProps>(\n (props, forwardedRef) => {\n const { open, onAppearanceChange, shortcut, triggerRef, ...panelProps } = props;\n const themeContext = useThemeContext();\n return (\n <Theme asChild radius=\"medium\">\n <Flex\n direction=\"column\"\n position=\"fixed\"\n top=\"0\"\n right=\"0\"\n mr={{ initial: '3', sm: '5' }}\n mt={{ initial: '3', sm: '5' }}\n width={{ initial: '360px' }}\n maxHeight={{\n initial: 'calc(100svh - var(--space-3) - var(--space-3))',\n sm: 'calc(100svh - var(--space-5) - var(--space-5))',\n }}\n maxWidth={{\n initial: 'calc(100svw - var(--space-3) - var(--space-3))',\n sm: 'calc(100svw - var(--space-5) - var(--space-5))',\n }}\n inert={open ? undefined : inert}\n {...panelProps}\n ref={forwardedRef}\n style={{\n zIndex: 999999999,\n overflow: 'hidden',\n borderRadius: 'var(--radius-4)',\n backgroundColor: 'var(--color-panel-solid)',\n transformOrigin: 'top center',\n transform: open ? 'none' : 'translateX(105%)',\n boxShadow: open ? 'var(--shadow-5)' : 'var(--shadow-2)',\n ...props.style,\n }}\n >\n <ScrollArea>\n <Box flexGrow=\"1\" p={{ initial: '5', xs: '6' }} position=\"relative\">\n {!!shortcut && (\n <Box position=\"absolute\" top=\"0\" right=\"0\" m=\"3\">\n {shortcut}\n </Box>\n )}\n <ThemePanelContent onAppearanceChange={onAppearanceChange} context={themeContext} />\n </Box>\n </ScrollArea>\n </Flex>\n </Theme>\n );\n },\n);\nThemePanelImpl.displayName = 'ThemePanelImpl';\n\ntype ThemePanelContentElement = React.ElementRef<typeof Flex>;\ninterface ThemePanelContentProps extends ComponentPropsWithout<\n typeof Flex,\n RemovedProps | 'direction'\n> {\n onAppearanceChange?: (value: 'light' | 'dark') => void;\n context?: ThemeContextValue;\n}\nconst ThemePanelContent = React.forwardRef<ThemePanelContentElement, ThemePanelContentProps>(\n (props, forwardedRef) => {\n const {\n onAppearanceChange: onAppearanceChangeProp,\n context: contextProp,\n ...contentProps\n } = props;\n\n const themeContext = useThemeContext();\n\n const {\n appearance,\n onAppearanceChange,\n accentColor,\n onAccentColorChange,\n grayColor,\n onGrayColorChange,\n radius,\n onRadiusChange,\n } = contextProp ?? themeContext;\n\n const [resolvedAppearance, setResolvedAppearance] = React.useState<'light' | 'dark' | null>(\n appearance === 'inherit' ? null : appearance,\n );\n const hasOnAppearanceChangeProp = onAppearanceChangeProp !== undefined;\n const handleAppearanceChangeProp = useCallbackRef(onAppearanceChangeProp);\n const handleAppearanceChange = React.useCallback(\n (value: 'light' | 'dark') => {\n const cleanup = disableAnimation();\n\n if (appearance !== 'inherit') {\n onAppearanceChange(value);\n return;\n }\n\n if (hasOnAppearanceChangeProp) {\n handleAppearanceChangeProp(value);\n } else {\n setResolvedAppearance(value);\n updateRootAppearanceClass(value);\n }\n\n cleanup();\n },\n [appearance, onAppearanceChange, hasOnAppearanceChangeProp, handleAppearanceChangeProp],\n );\n\n const autoMatchedGray = getMatchingGrayColor(accentColor);\n const resolvedGrayColor = grayColor === 'auto' ? autoMatchedGray : grayColor;\n\n const [copyState, setCopyState] = React.useState<'idle' | 'copying' | 'copied'>('idle');\n async function handleCopyThemeConfig() {\n const theme = {\n appearance: appearance === themePropDefs.appearance.default ? undefined : appearance,\n accentColor: accentColor === themePropDefs.accentColor.default ? undefined : accentColor,\n grayColor: grayColor === themePropDefs.grayColor.default ? undefined : grayColor,\n radius: radius === themePropDefs.radius.default ? undefined : radius,\n } satisfies GetPropDefTypes<typeof themePropDefs>;\n\n const props = Object.keys(theme)\n .filter((key) => theme[key as keyof typeof theme] !== undefined)\n .map((key) => `${key}=\"${theme[key as keyof typeof theme]}\"`)\n .join(' ');\n\n const textToCopy = props ? `<Theme ${props}>` : '<Theme>';\n\n setCopyState('copying');\n await navigator.clipboard.writeText(textToCopy);\n setCopyState('copied');\n setTimeout(() => setCopyState('idle'), 2000);\n }\n\n // quickly toggle appearance using \"D\" keypress\n React.useEffect(() => {\n function handleKeydown(event: KeyboardEvent) {\n const isModifierActive = event.altKey || event.ctrlKey || event.shiftKey || event.metaKey;\n const isKeyboardInputActive = document.activeElement?.closest(keyboardInputElement);\n const isKeyD = event.key?.toUpperCase() === 'D' && !isModifierActive;\n if (isKeyD && !isKeyboardInputActive) {\n handleAppearanceChange(resolvedAppearance === 'light' ? 'dark' : 'light');\n }\n }\n document.addEventListener('keydown', handleKeydown);\n return () => document.removeEventListener('keydown', handleKeydown);\n }, [handleAppearanceChange, resolvedAppearance]);\n\n React.useEffect(() => {\n const root = document.documentElement;\n const body = document.body;\n\n function update() {\n const hasDarkClass =\n root.classList.contains('dark') ||\n root.classList.contains('dark-theme') ||\n body.classList.contains('dark') ||\n body.classList.contains('dark-theme');\n\n if (appearance === 'inherit') {\n setResolvedAppearance(hasDarkClass ? 'dark' : 'light');\n } else {\n setResolvedAppearance(appearance);\n }\n }\n\n const classNameObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (mutation.attributeName === 'class') {\n update();\n }\n });\n });\n\n update();\n\n // Observe <html> and <body> for `class` changes only when the appearance is inherited from them\n if (appearance === 'inherit') {\n classNameObserver.observe(root, { attributes: true });\n classNameObserver.observe(body, { attributes: true });\n }\n\n return () => classNameObserver.disconnect();\n }, [appearance]);\n\n return (\n <Flex direction=\"column\" gap=\"6\" {...contentProps} ref={forwardedRef}>\n <Heading size={{ initial: '3', sm: '5' }} trim=\"both\" as=\"h2\">\n Theme\n </Heading>\n <Flex direction=\"column\" gap=\"6\">\n {/* Accent color */}\n <ThemePanelSection>\n <ThemePanelHeading id=\"accent-color-title\">Accent color</ThemePanelHeading>\n <Flex wrap=\"wrap\" gap=\"3\" role=\"group\" aria-labelledby=\"accent-color-title\">\n {themePropDefs.accentColor.values.map((color) => (\n <Box asChild key={color}>\n <label\n className=\"rt-ThemePanelSwatch\"\n aria-label={upperFirst(color)}\n style={{ backgroundColor: `var(--${color}-9)` }}\n >\n <Tooltip\n content={`${upperFirst(color)}${\n accentColor === 'gray' && resolvedGrayColor !== 'gray'\n ? ` (${upperFirst(resolvedGrayColor)})`\n : ''\n }`}\n >\n <input\n className=\"rt-ThemePanelSwatchInput\"\n type=\"radio\"\n name=\"accentColor\"\n value={color}\n checked={accentColor === color}\n onChange={(event) =>\n onAccentColorChange(event.target.value as typeof accentColor)\n }\n />\n </Tooltip>\n </label>\n </Box>\n ))}\n </Flex>\n </ThemePanelSection>\n\n {/* Gray color */}\n <ThemePanelSection>\n <ThemePanelHeading id=\"gray-color-title\">Gray color</ThemePanelHeading>\n <Flex wrap=\"wrap\" gap=\"3\" role=\"group\" aria-labelledby=\"gray-color-title\">\n {themePropDefs.grayColor.values.map((gray) => (\n <Flex key={gray} asChild align=\"center\" justify=\"center\">\n <label\n className=\"rt-ThemePanelSwatch\"\n aria-label={upperFirst(gray)}\n style={{\n backgroundColor:\n gray === 'auto'\n ? `var(--${autoMatchedGray}-9)`\n : gray === 'gray'\n ? 'var(--gray-9)'\n : `var(--${gray}-9)`,\n // we override --gray so pure gray doesn't exist anymore\n // recover something as close as possible by desaturating\n filter: gray === 'gray' ? 'saturate(0)' : undefined,\n }}\n >\n <Tooltip\n content={`${upperFirst(gray)}${\n gray === 'auto' ? ` (${upperFirst(autoMatchedGray)})` : ''\n }`}\n >\n <input\n className=\"rt-ThemePanelSwatchInput\"\n type=\"radio\"\n name=\"grayColor\"\n value={gray}\n checked={grayColor === gray}\n onChange={(event) =>\n onGrayColorChange(event.target.value as typeof grayColor)\n }\n />\n </Tooltip>\n </label>\n </Flex>\n ))}\n </Flex>\n </ThemePanelSection>\n\n {/* Appearance */}\n <ThemePanelSection>\n <ThemePanelHeading id=\"appearance-title\">Appearance</ThemePanelHeading>\n <Grid columns=\"2\" gap=\"3\" role=\"group\" aria-labelledby=\"appearance-title\">\n {(['light', 'dark'] as const).map((value) => (\n <label key={value} className=\"rt-ThemePanelRadioCard\">\n <input\n className=\"rt-ThemePanelRadioCardInput\"\n type=\"radio\"\n name=\"appearance\"\n value={value}\n checked={resolvedAppearance === value}\n onChange={(event) =>\n handleAppearanceChange(event.target.value as 'light' | 'dark')\n }\n />\n <Flex align=\"center\" justify=\"center\" height=\"32px\" gap=\"3\">\n {value === 'light' ? (\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ margin: '0 -1px' }}\n >\n <path\n 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\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n ) : (\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ margin: '0 -1px' }}\n >\n <path\n 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\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n )}\n <Text size=\"1\" weight=\"medium\">\n {upperFirst(value)}\n </Text>\n </Flex>\n </label>\n ))}\n </Grid>\n </ThemePanelSection>\n\n {/* Radius */}\n <ThemePanelSection>\n <ThemePanelHeading id=\"radius-title\">Radius</ThemePanelHeading>\n <Flex gap=\"3\" role=\"group\" aria-labelledby=\"radius-title\" wrap=\"wrap\">\n {themePropDefs.radius.values.map((value) => (\n <Flex key={value} direction=\"column\" align=\"center\">\n <label className=\"rt-ThemePanelRadioCard\">\n <input\n className=\"rt-ThemePanelRadioCardInput\"\n type=\"radio\"\n name=\"radius\"\n id={`theme-panel-radius-${value}`}\n value={value}\n checked={radius === value}\n onChange={(event) => onRadiusChange(event.target.value as typeof radius)}\n />\n <Theme asChild radius={value}>\n <Box\n m=\"4\"\n width={{ initial: '24px', sm: '32px' }}\n height={{ initial: '24px', sm: '32px' }}\n style={{\n borderTopLeftRadius: value === 'full' ? '80%' : 'var(--radius-5)',\n backgroundImage:\n 'linear-gradient(to bottom right, var(--accent-3), var(--accent-4))',\n borderTop: '2px solid var(--accent-a8)',\n borderLeft: '2px solid var(--accent-a8)',\n }}\n />\n </Theme>\n </label>\n <Box asChild pt=\"3\">\n <Text asChild size=\"1\" emphasis=\"medium\">\n <label htmlFor={`theme-panel-radius-${value}`}>{upperFirst(value)}</label>\n </Text>\n </Box>\n </Flex>\n ))}\n </Flex>\n </ThemePanelSection>\n </Flex>\n <Button style={{ width: '100%' }} onClick={handleCopyThemeConfig}>\n {copyState === 'copied' ? 'Copied' : 'Copy Theme'}\n </Button>\n </Flex>\n );\n },\n);\nThemePanelContent.displayName = 'ThemePanelContent';\n\nfunction ThemePanelSection(\n props: Omit<React.ComponentPropsWithoutRef<typeof Flex>, 'asChild' | 'direction' | 'gap'>,\n) {\n return (\n <Flex direction=\"column\" gap=\"4\" asChild {...props}>\n <section>{props.children}</section>\n </Flex>\n );\n}\n\nfunction ThemePanelHeading(props: React.ComponentPropsWithoutRef<typeof Heading>) {\n return <Heading as=\"h3\" size={{ initial: '1', sm: '2' }} {...props} />;\n}\n\n// https://github.com/pacocoursey/next-themes/blob/main/packages/next-themes/src/index.tsx#L285\nfunction disableAnimation() {\n const css = document.createElement('style');\n css.appendChild(\n document.createTextNode(\n `*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`,\n ),\n );\n document.head.appendChild(css);\n\n return () => {\n // Force restyle\n (() => window.getComputedStyle(document.body))();\n\n // Wait for next tick before removing\n setTimeout(() => {\n document.head.removeChild(css);\n }, 1);\n };\n}\n\nfunction upperFirst(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nfunction updateRootAppearanceClass(appearance: 'light' | 'dark') {\n const root = document.documentElement;\n const hasLightTheme = root.classList.contains('light-theme');\n const hasDarkTheme = root.classList.contains('dark-theme');\n const hasLight = root.classList.contains('light');\n const hasDark = root.classList.contains('dark');\n\n if (hasLightTheme || hasDarkTheme) {\n root.classList.remove('light-theme', 'dark-theme');\n root.style.colorScheme = appearance;\n root.classList.add(`${appearance}-theme`);\n }\n\n if (hasLight || hasDark) {\n root.classList.remove('light', 'dark');\n root.style.colorScheme = appearance;\n root.classList.add(appearance);\n }\n\n if (!hasLightTheme && !hasDarkTheme && !hasLight && !hasDark) {\n root.style.colorScheme = appearance;\n root.classList.add(appearance);\n }\n}\n\nexport { ThemePanel, ThemePanelContent };\nexport type { ThemePanelProps, ThemePanelContentProps };\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useCallbackRef", "flushSync", "keyboardInputElement", "ThemePanel", "defaultOpen", "props", "forwardedRef", "open", "setOpen", "triggerRef", "previouslyFocusedElementRef", "handleKeydown", "event", "isModifierActive", "isKeyboardInputActive", "isOpen", "flushSync", "ThemePanelImpl", "Tooltip", "Kbd", "onAppearanceChange", "shortcut", "panelProps", "themeContext", "useThemeContext", "Theme", "Flex", "inert", "ScrollArea", "Box", "ThemePanelContent", "onAppearanceChangeProp", "contextProp", "contentProps", "appearance", "accentColor", "onAccentColorChange", "grayColor", "onGrayColorChange", "radius", "onRadiusChange", "resolvedAppearance", "setResolvedAppearance", "hasOnAppearanceChangeProp", "handleAppearanceChangeProp", "useCallbackRef", "handleAppearanceChange", "value", "cleanup", "disableAnimation", "updateRootAppearanceClass", "autoMatchedGray", "getMatchingGrayColor", "resolvedGrayColor", "copyState", "setCopyState", "handleCopyThemeConfig", "theme", "themePropDefs", "key", "textToCopy", "root", "body", "update", "hasDarkClass", "classNameObserver", "mutations", "mutation", "Heading", "ThemePanelSection", "ThemePanelHeading", "color", "upperFirst", "gray", "Grid", "Text", "Button", "css", "string", "hasLightTheme", "hasDarkTheme", "hasLight", "hasDark"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as n}from"./chunk-6YWJUNMB.js";import{a as p}from"./chunk-TGRRQHLQ.js";import{a as i}from"./chunk-UBSLEGQZ.js";import{a as d}from"./chunk-GSTOGDAJ.js";import{a as l}from"./chunk-OS3FCYZY.js";var v={};l(v,{Item:()=>c,Root:()=>f});import*as o from"react";import R from"classnames";import{RadioGroup as m}from"radix-ui";var C=o.createContext(void 0),u=()=>o.useContext(C),f=o.forwardRef((e,r)=>{let{className:a,color:t,...s}=i(e,n,d);return o.createElement(C.Provider,{value:{size:e.size,variant:e.variant}},o.createElement(p,{asChild:!0},o.createElement(m.Root,{"data-accent-color":t,...s,ref:r,className:R("rt-RadioCardsRoot",a)})))});f.displayName="RadioCards.Root";var c=o.forwardRef(({className:e,...r},a)=>{let t=u(),s=t?.variant?`rt-variant-${t.variant}`:void 0,P=t?.size?`rt-r-size-${t.size}`:void 0;return o.createElement(m.Item,{...r,asChild:!1,ref:a,className:R("rt-reset","rt-BaseCard","rt-RadioCardsItem",s,P,e)})});c.displayName="RadioCards.Item";export{f as a,c as b,v as c};
2
+ //# sourceMappingURL=chunk-YGPUKJEB.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/radio-cards.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui';\n\nimport { radioCardsRootPropDefs } from './radio-cards.props.js';\nimport { Grid } from './grid.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes, Responsive } from '../props/prop-def.js';\n\ntype RadioCardsContextValue = {\n size?: Responsive<(typeof radioCardsRootPropDefs.size.values)[number]>;\n variant?: (typeof radioCardsRootPropDefs.variant.values)[number];\n};\n\nconst RadioCardsContext = React.createContext<RadioCardsContextValue | undefined>(undefined);\n\nconst useRadioCardsContext = () => {\n const context = React.useContext(RadioCardsContext);\n return context;\n};\n\ntype RadioCardsRootElement = React.ElementRef<typeof RadioGroupPrimitive.Root>;\ntype RadioCardsRootOwnProps = GetPropDefTypes<typeof radioCardsRootPropDefs>;\ninterface RadioCardsRootProps\n extends ComponentPropsWithout<\n typeof RadioGroupPrimitive.Root,\n 'asChild' | 'color' | 'defaultChecked'\n >,\n MarginProps,\n RadioCardsRootOwnProps {}\nconst RadioCardsRoot = React.forwardRef<RadioCardsRootElement, RadioCardsRootProps>(\n (props, forwardedRef) => {\n const {\n className,\n color,\n ...rootProps\n } = extractProps(props, radioCardsRootPropDefs, marginPropDefs);\n return (\n <RadioCardsContext.Provider value={{ size: props.size, variant: props.variant }}>\n <Grid asChild>\n <RadioGroupPrimitive.Root\n data-accent-color={color}\n {...rootProps}\n ref={forwardedRef}\n className={classNames('rt-RadioCardsRoot', className)}\n />\n </Grid>\n </RadioCardsContext.Provider>\n );\n },\n);\nRadioCardsRoot.displayName = 'RadioCards.Root';\n\ntype RadioCardsItemElement = React.ElementRef<typeof RadioGroupPrimitive.Item>;\ninterface RadioCardsItemProps\n extends ComponentPropsWithout<typeof RadioGroupPrimitive.Item, RemovedProps>,\n MarginProps {}\nconst RadioCardsItem = React.forwardRef<RadioCardsItemElement, RadioCardsItemProps>(\n ({ className, ...props }, forwardedRef) => {\n const context = useRadioCardsContext();\n const variantClass = context?.variant ? `rt-variant-${context.variant}` : undefined;\n const sizeClass = context?.size ? `rt-r-size-${context.size}` : undefined;\n\n return (\n <RadioGroupPrimitive.Item\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-reset',\n 'rt-BaseCard',\n 'rt-RadioCardsItem',\n variantClass,\n sizeClass,\n className,\n )}\n />\n );\n },\n);\nRadioCardsItem.displayName = 'RadioCards.Item';\n\nexport { RadioCardsRoot as Root, RadioCardsItem as Item };\nexport type { RadioCardsRootProps as RootProps, RadioCardsItemProps as ItemProps };\n"],
5
+ "mappings": "wMAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,SAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,cAAcC,MAA2B,WAgBlD,IAAMC,EAA0B,gBAAkD,MAAS,EAErFC,EAAuB,IACL,aAAWD,CAAiB,EAa9CE,EAAuB,aAC3B,CAACC,EAAOC,IAAiB,CACvB,GAAM,CACJ,UAAAC,EACA,MAAAC,EACA,GAAGC,CACL,EAAIC,EAAaL,EAAOM,EAAwBC,CAAc,EAC9D,OACE,gBAACV,EAAkB,SAAlB,CAA2B,MAAO,CAAE,KAAMG,EAAM,KAAM,QAASA,EAAM,OAAQ,GAC5E,gBAACQ,EAAA,CAAK,QAAO,IACX,gBAACC,EAAoB,KAApB,CACC,oBAAmBN,EAClB,GAAGC,EACJ,IAAKH,EACL,UAAWS,EAAW,oBAAqBR,CAAS,EACtD,CACF,CACF,CAEJ,CACF,EACAH,EAAe,YAAc,kBAM7B,IAAMY,EAAuB,aAC3B,CAAC,CAAE,UAAAT,EAAW,GAAGF,CAAM,EAAGC,IAAiB,CACzC,IAAMW,EAAUd,EAAqB,EAC/Be,EAAeD,GAAS,QAAU,cAAcA,EAAQ,OAAO,GAAK,OACpEE,EAAYF,GAAS,KAAO,aAAaA,EAAQ,IAAI,GAAK,OAEhE,OACE,gBAACH,EAAoB,KAApB,CACE,GAAGT,EACJ,QAAS,GACT,IAAKC,EACL,UAAWS,EACT,WACA,cACA,oBACAG,EACAC,EACAZ,CACF,EACF,CAEJ,CACF,EACAS,EAAe,YAAc",
6
+ "names": ["radio_cards_exports", "__export", "RadioCardsItem", "RadioCardsRoot", "React", "classNames", "RadioGroupPrimitive", "RadioCardsContext", "useRadioCardsContext", "RadioCardsRoot", "props", "forwardedRef", "className", "color", "rootProps", "extractProps", "radioCardsRootPropDefs", "marginPropDefs", "Grid", "RadioGroupPrimitive", "classNames", "RadioCardsItem", "context", "variantClass", "sizeClass"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as u}from"./chunk-MQT3YJKY.js";import{a as m}from"./chunk-5BWLY27A.js";import{a as y}from"./chunk-OS3FCYZY.js";var I={};y(I,{Button:()=>P,Content:()=>f,Item:()=>g,Root:()=>d,Viewport:()=>S,useMessageScroller:()=>B,useMessageScrollerScrollable:()=>w,useMessageScrollerVisibility:()=>h});import*as e from"react";import c from"classnames";import{MessageScroller as a,useMessageScroller as B,useMessageScrollerScrollable as w,useMessageScrollerVisibility as h}from"@shadcn/react/message-scroller";import{useComposedRefs as C}from"radix-ui/internal";var d=e.forwardRef(({autoScroll:o=!0,defaultScrollPosition:t="end",scrollEdgeThreshold:r,scrollMargin:s,className:n,children:i,...l},p)=>e.createElement(a.Provider,{autoScroll:o,defaultScrollPosition:t,...r!=null?{scrollEdgeThreshold:r}:{},...s!=null?{scrollMargin:s}:{}},e.createElement(a.Root,{...l,ref:p,className:c("rt-MessageScrollerRoot",n)},i)));d.displayName="MessageScroller.Root";var S=e.forwardRef(({className:o,"aria-label":t,fade:r=!0,...s},n)=>{let i=m(r),l=C(n,i);return e.createElement(a.Viewport,{"aria-label":t??"",...s,ref:l,"data-fade":r?"":void 0,className:c("rt-MessageScrollerViewport",o)})});S.displayName="MessageScroller.Viewport";var f=e.forwardRef(({className:o,...t},r)=>e.createElement(a.Content,{...t,ref:r,className:c("rt-MessageScrollerContent",o)}));f.displayName="MessageScroller.Content";var g=e.forwardRef(({className:o,...t},r)=>e.createElement(a.Item,{...t,ref:r,className:c("rt-MessageScrollerItem",o)}));g.displayName="MessageScroller.Item";var P=e.forwardRef(({direction:o="end",behavior:t,className:r,children:s,size:n="2",variant:i="surface",emphasis:l,color:p="gray",radius:M="full","aria-label":R,...b},v)=>e.createElement(a.Button,{direction:o,...t?{behavior:t}:{},render:e.createElement(u,{...b,ref:v,size:n,...l?{emphasis:l}:{variant:i},color:p,radius:M,"aria-label":R??(o==="end"?"Jump to the latest":"Jump to the first"),className:c("rt-MessageScrollerButton",r),"data-direction":o},s??e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none","aria-hidden":!0,style:o==="start"?{transform:"rotate(180deg)"}:void 0},e.createElement("path",{d:"M7.5 2.5v10M3.5 8.5l4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})))}));P.displayName="MessageScroller.Button";export{B as a,w as b,h as c,d,S as e,f,g,P as h,I as i};
2
- //# sourceMappingURL=chunk-MD3QCXRD.js.map
1
+ import{a as u}from"./chunk-KPPIW4OJ.js";import{a as m}from"./chunk-5BWLY27A.js";import{a as y}from"./chunk-OS3FCYZY.js";var I={};y(I,{Button:()=>P,Content:()=>f,Item:()=>g,Root:()=>d,Viewport:()=>S,useMessageScroller:()=>B,useMessageScrollerScrollable:()=>w,useMessageScrollerVisibility:()=>h});import*as e from"react";import c from"classnames";import{MessageScroller as a,useMessageScroller as B,useMessageScrollerScrollable as w,useMessageScrollerVisibility as h}from"@shadcn/react/message-scroller";import{useComposedRefs as C}from"radix-ui/internal";var d=e.forwardRef(({autoScroll:o=!0,defaultScrollPosition:t="end",scrollEdgeThreshold:r,scrollMargin:s,className:n,children:i,...l},p)=>e.createElement(a.Provider,{autoScroll:o,defaultScrollPosition:t,...r!=null?{scrollEdgeThreshold:r}:{},...s!=null?{scrollMargin:s}:{}},e.createElement(a.Root,{...l,ref:p,className:c("rt-MessageScrollerRoot",n)},i)));d.displayName="MessageScroller.Root";var S=e.forwardRef(({className:o,"aria-label":t,fade:r=!0,...s},n)=>{let i=m(r),l=C(n,i);return e.createElement(a.Viewport,{"aria-label":t??"",...s,ref:l,"data-fade":r?"":void 0,className:c("rt-MessageScrollerViewport",o)})});S.displayName="MessageScroller.Viewport";var f=e.forwardRef(({className:o,...t},r)=>e.createElement(a.Content,{...t,ref:r,className:c("rt-MessageScrollerContent",o)}));f.displayName="MessageScroller.Content";var g=e.forwardRef(({className:o,...t},r)=>e.createElement(a.Item,{...t,ref:r,className:c("rt-MessageScrollerItem",o)}));g.displayName="MessageScroller.Item";var P=e.forwardRef(({direction:o="end",behavior:t,className:r,children:s,size:n,variant:i="surface",emphasis:l,color:p="gray",radius:M="full","aria-label":R,...b},v)=>e.createElement(a.Button,{direction:o,...t?{behavior:t}:{},render:e.createElement(u,{...b,ref:v,size:n,...l?{emphasis:l}:{variant:i},color:p,radius:M,"aria-label":R??(o==="end"?"Jump to the latest":"Jump to the first"),className:c("rt-MessageScrollerButton",r),"data-direction":o},s??e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none","aria-hidden":!0,style:o==="start"?{transform:"rotate(180deg)"}:void 0},e.createElement("path",{d:"M7.5 2.5v10M3.5 8.5l4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})))}));P.displayName="MessageScroller.Button";export{B as a,w as b,h as c,d,S as e,f,g,P as h,I as i};
2
+ //# sourceMappingURL=chunk-YVMQWSHA.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/message-scroller.tsx"],
4
- "sourcesContent": ["'use client';\n\n/**\n * MessageScroller \u2014 a transcript that follows a conversation.\n *\n * The behaviour is shadcn/ui's Message Scroller primitive (`@shadcn/react/message-scroller`,\n * MIT, https://ui.shadcn.com). Streaming, anchoring a new turn, keeping your place when history\n * loads above, and jumping back to the latest are a body of edge cases nobody should rewrite, so\n * Kookie takes the primitive and adds only the surface: the parts, the class names, the button.\n *\n * Anatomy\n * ```tsx\n * <MessageScroller.Root>\n * <MessageScroller.Viewport aria-label=\"Conversation\">\n * <MessageScroller.Content>\n * <MessageScroller.Item messageId=\"u1\" scrollAnchor>\u2026</MessageScroller.Item>\n * <MessageScroller.Item messageId=\"a1\">\u2026</MessageScroller.Item>\n * </MessageScroller.Content>\n * </MessageScroller.Viewport>\n * <MessageScroller.Button aria-label=\"Jump to the latest\" />\n * </MessageScroller.Root>\n * ```\n *\n * The viewport is its own scroller. Kookie's `ScrollArea` is Radix's, and Radix cannot hand its\n * viewport element to another library, so the transcript scrolls natively with a thin scrollbar.\n *\n * Requires React 19, which the primitive needs.\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport {\n MessageScroller as Primitive,\n useMessageScroller,\n useMessageScrollerScrollable,\n useMessageScrollerVisibility,\n type MessageScrollerDefaultScrollPosition,\n type MessageScrollerScrollOptions,\n type MessageScrollerScrollable,\n type MessageScrollerVisibilityState,\n} from '@shadcn/react/message-scroller';\n\nimport { useComposedRefs } from 'radix-ui/internal';\n\nimport { IconButton, type IconButtonProps } from './icon-button.js';\nimport { useScrollEdges } from '../hooks/use-scroll-edges.js';\nimport type { ButtonRankProps } from './button.js';\n\ninterface RootProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Keeps the newest content in view while the reader is at the end. Default `true`.\n * Once the reader scrolls up, the transcript stays where they are until they return.\n */\n autoScroll?: boolean;\n /** Where the transcript opens: `end` (default), `start`, or the last anchored message. */\n defaultScrollPosition?: MessageScrollerDefaultScrollPosition;\n /** Distance in pixels from the end that still counts as \"at the end\". */\n scrollEdgeThreshold?: number;\n /** Space in pixels kept above a message when one is scrolled to or anchored. */\n scrollMargin?: number;\n}\n\n/** Holds the scroll state. Everything else goes inside it. */\nconst Root = React.forwardRef<HTMLDivElement, RootProps>(\n ({ autoScroll = true, defaultScrollPosition = 'end', scrollEdgeThreshold, scrollMargin, className, children, ...props }, forwardedRef) => (\n <Primitive.Provider\n autoScroll={autoScroll}\n defaultScrollPosition={defaultScrollPosition}\n {...(scrollEdgeThreshold != null ? { scrollEdgeThreshold } : {})}\n {...(scrollMargin != null ? { scrollMargin } : {})}\n >\n <Primitive.Root {...props} ref={forwardedRef} className={classNames('rt-MessageScrollerRoot', className)}>\n {children}\n </Primitive.Root>\n </Primitive.Provider>\n ),\n);\nRoot.displayName = 'MessageScroller.Root';\n\ninterface ViewportProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Name of the transcript region, e.g. \"Conversation\". */\n 'aria-label'?: string;\n /** Keep the reader's place when older messages are added above. Default `true`. */\n preserveScrollOnPrepend?: boolean;\n /**\n * Fades messages toward the top and bottom edges while there is more past them. A floating\n * band over an edge (a toolbar, a goal tray, a composer) can set `--scroll-fade-start` or\n * `--scroll-fade-end` to its height, so messages fade as they pass under it. Default `true`.\n */\n fade?: boolean;\n}\n\n/** The scrolling element. */\nconst Viewport = React.forwardRef<HTMLDivElement, ViewportProps>(({ className, 'aria-label': label, fade = true, ...props }, forwardedRef) => {\n const setEdgesElement = useScrollEdges<HTMLDivElement>(fade);\n const ref = useComposedRefs(forwardedRef, setEdgesElement);\n return (\n // The primitive names an unnamed viewport \"Messages\", in English. An empty name is skipped by\n // accessible-name computation, so a transcript is only named when the app names it.\n <Primitive.Viewport\n aria-label={label ?? ''}\n {...props}\n ref={ref}\n data-fade={fade ? '' : undefined}\n className={classNames('rt-MessageScrollerViewport', className)}\n />\n );\n});\nViewport.displayName = 'MessageScroller.Viewport';\n\ntype ContentProps = React.ComponentPropsWithoutRef<'div'>;\n\n/** The list of messages, inside the viewport. */\nconst Content = React.forwardRef<HTMLDivElement, ContentProps>(({ className, ...props }, forwardedRef) => (\n <Primitive.Content {...props} ref={forwardedRef} className={classNames('rt-MessageScrollerContent', className)} />\n));\nContent.displayName = 'MessageScroller.Content';\n\ninterface ItemProps extends React.ComponentPropsWithoutRef<'div'> {\n /** A stable id, so the row can be scrolled to with `useMessageScroller().scrollToMessage`. */\n messageId?: string;\n /** Anchor this row near the top when it arrives. Set it on the person's own messages. */\n scrollAnchor?: boolean;\n}\n\n/** One row of the transcript. */\nconst Item = React.forwardRef<HTMLDivElement, ItemProps>(({ className, ...props }, forwardedRef) => (\n <Primitive.Item {...props} ref={forwardedRef} className={classNames('rt-MessageScrollerItem', className)} />\n));\nItem.displayName = 'MessageScroller.Item';\n\ntype ButtonProps = Omit<IconButtonProps, 'aria-label' | 'aria-labelledby' | 'variant' | 'emphasis'> &\n ButtonRankProps & {\n /** Accessible name, in your words. Default \"Jump to the latest\". */\n 'aria-label'?: string;\n /** `end` jumps to the latest message (default); `start` to the first. */\n direction?: 'start' | 'end';\n /** Scroll behaviour of the jump. Default `smooth`. */\n behavior?: ScrollBehavior;\n};\n\n/**\n * Jumps back to the latest message. It renders only while the reader is away from the end.\n * Place it inside `Root`, after the viewport. It sits over the viewport's bottom edge.\n */\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ direction = 'end', behavior, className, children, size = '2', variant = 'surface', emphasis, color = 'gray', radius = 'full', 'aria-label': label, ...props }, forwardedRef) => (\n <Primitive.Button\n direction={direction}\n {...(behavior ? { behavior } : {})}\n render={\n <IconButton\n {...props}\n ref={forwardedRef}\n size={size}\n {...(emphasis ? { emphasis } : { variant })}\n color={color}\n radius={radius}\n aria-label={label ?? (direction === 'end' ? 'Jump to the latest' : 'Jump to the first')}\n className={classNames('rt-MessageScrollerButton', className)}\n data-direction={direction}\n >\n {children ?? (\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" aria-hidden style={direction === 'start' ? { transform: 'rotate(180deg)' } : undefined}>\n <path d=\"M7.5 2.5v10M3.5 8.5l4 4 4-4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n )}\n </IconButton>\n }\n />\n ),\n);\nButton.displayName = 'MessageScroller.Button';\n\nexport { Root, Viewport, Content, Item, Button, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility };\nexport type {\n RootProps as MessageScrollerRootProps,\n ViewportProps as MessageScrollerViewportProps,\n ContentProps as MessageScrollerContentProps,\n ItemProps as MessageScrollerItemProps,\n ButtonProps as MessageScrollerButtonProps,\n MessageScrollerDefaultScrollPosition,\n MessageScrollerScrollOptions,\n MessageScrollerScrollable,\n MessageScrollerVisibilityState,\n};\n"],
5
- "mappings": "wHAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,YAAAC,EAAA,SAAAC,EAAA,SAAAC,EAAA,aAAAC,EAAA,uBAAAC,EAAA,iCAAAC,EAAA,iCAAAC,IA6BA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OACE,mBAAmBC,EACnB,sBAAAL,EACA,gCAAAC,EACA,gCAAAC,MAKK,iCAEP,OAAS,mBAAAI,MAAuB,oBAqBhC,IAAMC,EAAa,aACjB,CAAC,CAAE,WAAAC,EAAa,GAAM,sBAAAC,EAAwB,MAAO,oBAAAC,EAAqB,aAAAC,EAAc,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAM,EAAGC,IACvH,gBAACC,EAAU,SAAV,CACC,WAAYR,EACZ,sBAAuBC,EACtB,GAAIC,GAAuB,KAAO,CAAE,oBAAAA,CAAoB,EAAI,CAAC,EAC7D,GAAIC,GAAgB,KAAO,CAAE,aAAAA,CAAa,EAAI,CAAC,GAEhD,gBAACK,EAAU,KAAV,CAAgB,GAAGF,EAAO,IAAKC,EAAc,UAAWE,EAAW,yBAA0BL,CAAS,GACpGC,CACH,CACF,CAEJ,EACAN,EAAK,YAAc,uBAgBnB,IAAMW,EAAiB,aAA0C,CAAC,CAAE,UAAAN,EAAW,aAAcO,EAAO,KAAAC,EAAO,GAAM,GAAGN,CAAM,EAAGC,IAAiB,CAC5I,IAAMM,EAAkBC,EAA+BF,CAAI,EACrDG,EAAMC,EAAgBT,EAAcM,CAAe,EACzD,OAGE,gBAACL,EAAU,SAAV,CACC,aAAYG,GAAS,GACpB,GAAGL,EACJ,IAAKS,EACL,YAAWH,EAAO,GAAK,OACvB,UAAWH,EAAW,6BAA8BL,CAAS,EAC/D,CAEJ,CAAC,EACDM,EAAS,YAAc,2BAKvB,IAAMO,EAAgB,aAAyC,CAAC,CAAE,UAAAb,EAAW,GAAGE,CAAM,EAAGC,IACvF,gBAACC,EAAU,QAAV,CAAmB,GAAGF,EAAO,IAAKC,EAAc,UAAWE,EAAW,4BAA6BL,CAAS,EAAG,CACjH,EACDa,EAAQ,YAAc,0BAUtB,IAAMC,EAAa,aAAsC,CAAC,CAAE,UAAAd,EAAW,GAAGE,CAAM,EAAGC,IACjF,gBAACC,EAAU,KAAV,CAAgB,GAAGF,EAAO,IAAKC,EAAc,UAAWE,EAAW,yBAA0BL,CAAS,EAAG,CAC3G,EACDc,EAAK,YAAc,uBAgBnB,IAAMC,EAAe,aACnB,CAAC,CAAE,UAAAC,EAAY,MAAO,SAAAC,EAAU,UAAAjB,EAAW,SAAAC,EAAU,KAAAiB,EAAO,IAAK,QAAAC,EAAU,UAAW,SAAAC,EAAU,MAAAC,EAAQ,OAAQ,OAAAC,EAAS,OAAQ,aAAcf,EAAO,GAAGL,CAAM,EAAGC,IAChK,gBAACC,EAAU,OAAV,CACC,UAAWY,EACV,GAAIC,EAAW,CAAE,SAAAA,CAAS,EAAI,CAAC,EAChC,OACE,gBAACM,EAAA,CACE,GAAGrB,EACJ,IAAKC,EACL,KAAMe,EACL,GAAIE,EAAW,CAAE,SAAAA,CAAS,EAAI,CAAE,QAAAD,CAAQ,EACzC,MAAOE,EACP,OAAQC,EACR,aAAYf,IAAUS,IAAc,MAAQ,qBAAuB,qBACnE,UAAWX,EAAW,2BAA4BL,CAAS,EAC3D,iBAAgBgB,GAEff,GACC,gBAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,cAAW,GAAC,MAAOe,IAAc,QAAU,CAAE,UAAW,gBAAiB,EAAI,QACvI,gBAAC,QAAK,EAAE,8BAA8B,OAAO,eAAe,YAAY,MAAM,cAAc,QAAQ,eAAe,QAAQ,CAC7H,CAEJ,EAEJ,CAEJ,EACAD,EAAO,YAAc",
4
+ "sourcesContent": ["'use client';\n\n/**\n * MessageScroller \u2014 a transcript that follows a conversation.\n *\n * The behaviour is shadcn/ui's Message Scroller primitive (`@shadcn/react/message-scroller`,\n * MIT, https://ui.shadcn.com). Streaming, anchoring a new turn, keeping your place when history\n * loads above, and jumping back to the latest are a body of edge cases nobody should rewrite, so\n * Kookie takes the primitive and adds only the surface: the parts, the class names, the button.\n *\n * Anatomy\n * ```tsx\n * <MessageScroller.Root>\n * <MessageScroller.Viewport aria-label=\"Conversation\">\n * <MessageScroller.Content>\n * <MessageScroller.Item messageId=\"u1\" scrollAnchor>\u2026</MessageScroller.Item>\n * <MessageScroller.Item messageId=\"a1\">\u2026</MessageScroller.Item>\n * </MessageScroller.Content>\n * </MessageScroller.Viewport>\n * <MessageScroller.Button aria-label=\"Jump to the latest\" />\n * </MessageScroller.Root>\n * ```\n *\n * The viewport is its own scroller. Kookie's `ScrollArea` is Radix's, and Radix cannot hand its\n * viewport element to another library, so the transcript scrolls natively with a thin scrollbar.\n *\n * Requires React 19, which the primitive needs.\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport {\n MessageScroller as Primitive,\n useMessageScroller,\n useMessageScrollerScrollable,\n useMessageScrollerVisibility,\n type MessageScrollerDefaultScrollPosition,\n type MessageScrollerScrollOptions,\n type MessageScrollerScrollable,\n type MessageScrollerVisibilityState,\n} from '@shadcn/react/message-scroller';\n\nimport { useComposedRefs } from 'radix-ui/internal';\n\nimport { IconButton, type IconButtonProps } from './icon-button.js';\nimport { useScrollEdges } from '../hooks/use-scroll-edges.js';\nimport type { ButtonRankProps } from './button.js';\n\ninterface RootProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Keeps the newest content in view while the reader is at the end. Default `true`.\n * Once the reader scrolls up, the transcript stays where they are until they return.\n */\n autoScroll?: boolean;\n /** Where the transcript opens: `end` (default), `start`, or the last anchored message. */\n defaultScrollPosition?: MessageScrollerDefaultScrollPosition;\n /** Distance in pixels from the end that still counts as \"at the end\". */\n scrollEdgeThreshold?: number;\n /** Space in pixels kept above a message when one is scrolled to or anchored. */\n scrollMargin?: number;\n}\n\n/** Holds the scroll state. Everything else goes inside it. */\nconst Root = React.forwardRef<HTMLDivElement, RootProps>(\n ({ autoScroll = true, defaultScrollPosition = 'end', scrollEdgeThreshold, scrollMargin, className, children, ...props }, forwardedRef) => (\n <Primitive.Provider\n autoScroll={autoScroll}\n defaultScrollPosition={defaultScrollPosition}\n {...(scrollEdgeThreshold != null ? { scrollEdgeThreshold } : {})}\n {...(scrollMargin != null ? { scrollMargin } : {})}\n >\n <Primitive.Root {...props} ref={forwardedRef} className={classNames('rt-MessageScrollerRoot', className)}>\n {children}\n </Primitive.Root>\n </Primitive.Provider>\n ),\n);\nRoot.displayName = 'MessageScroller.Root';\n\ninterface ViewportProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Name of the transcript region, e.g. \"Conversation\". */\n 'aria-label'?: string;\n /** Keep the reader's place when older messages are added above. Default `true`. */\n preserveScrollOnPrepend?: boolean;\n /**\n * Fades messages toward the top and bottom edges while there is more past them. A floating\n * band over an edge (a toolbar, a goal tray, a composer) can set `--scroll-fade-start` or\n * `--scroll-fade-end` to its height, so messages fade as they pass under it. Default `true`.\n */\n fade?: boolean;\n}\n\n/** The scrolling element. */\nconst Viewport = React.forwardRef<HTMLDivElement, ViewportProps>(({ className, 'aria-label': label, fade = true, ...props }, forwardedRef) => {\n const setEdgesElement = useScrollEdges<HTMLDivElement>(fade);\n const ref = useComposedRefs(forwardedRef, setEdgesElement);\n return (\n // The primitive names an unnamed viewport \"Messages\", in English. An empty name is skipped by\n // accessible-name computation, so a transcript is only named when the app names it.\n <Primitive.Viewport\n aria-label={label ?? ''}\n {...props}\n ref={ref}\n data-fade={fade ? '' : undefined}\n className={classNames('rt-MessageScrollerViewport', className)}\n />\n );\n});\nViewport.displayName = 'MessageScroller.Viewport';\n\ntype ContentProps = React.ComponentPropsWithoutRef<'div'>;\n\n/** The list of messages, inside the viewport. */\nconst Content = React.forwardRef<HTMLDivElement, ContentProps>(({ className, ...props }, forwardedRef) => (\n <Primitive.Content {...props} ref={forwardedRef} className={classNames('rt-MessageScrollerContent', className)} />\n));\nContent.displayName = 'MessageScroller.Content';\n\ninterface ItemProps extends React.ComponentPropsWithoutRef<'div'> {\n /** A stable id, so the row can be scrolled to with `useMessageScroller().scrollToMessage`. */\n messageId?: string;\n /** Anchor this row near the top when it arrives. Set it on the person's own messages. */\n scrollAnchor?: boolean;\n}\n\n/** One row of the transcript. */\nconst Item = React.forwardRef<HTMLDivElement, ItemProps>(({ className, ...props }, forwardedRef) => (\n <Primitive.Item {...props} ref={forwardedRef} className={classNames('rt-MessageScrollerItem', className)} />\n));\nItem.displayName = 'MessageScroller.Item';\n\ntype ButtonProps = Omit<IconButtonProps, 'aria-label' | 'aria-labelledby' | 'variant' | 'emphasis'> &\n ButtonRankProps & {\n /** Accessible name, in your words. Default \"Jump to the latest\". */\n 'aria-label'?: string;\n /** `end` jumps to the latest message (default); `start` to the first. */\n direction?: 'start' | 'end';\n /** Scroll behaviour of the jump. Default `smooth`. */\n behavior?: ScrollBehavior;\n};\n\n/**\n * Jumps back to the latest message. It renders only while the reader is away from the end.\n * Place it inside `Root`, after the viewport. It sits over the viewport's bottom edge.\n */\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ direction = 'end', behavior, className, children, size, variant = 'surface', emphasis, color = 'gray', radius = 'full', 'aria-label': label, ...props }, forwardedRef) => (\n <Primitive.Button\n direction={direction}\n {...(behavior ? { behavior } : {})}\n render={\n <IconButton\n {...props}\n ref={forwardedRef}\n size={size}\n {...(emphasis ? { emphasis } : { variant })}\n color={color}\n radius={radius}\n aria-label={label ?? (direction === 'end' ? 'Jump to the latest' : 'Jump to the first')}\n className={classNames('rt-MessageScrollerButton', className)}\n data-direction={direction}\n >\n {children ?? (\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" aria-hidden style={direction === 'start' ? { transform: 'rotate(180deg)' } : undefined}>\n <path d=\"M7.5 2.5v10M3.5 8.5l4 4 4-4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n )}\n </IconButton>\n }\n />\n ),\n);\nButton.displayName = 'MessageScroller.Button';\n\nexport { Root, Viewport, Content, Item, Button, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility };\nexport type {\n RootProps as MessageScrollerRootProps,\n ViewportProps as MessageScrollerViewportProps,\n ContentProps as MessageScrollerContentProps,\n ItemProps as MessageScrollerItemProps,\n ButtonProps as MessageScrollerButtonProps,\n MessageScrollerDefaultScrollPosition,\n MessageScrollerScrollOptions,\n MessageScrollerScrollable,\n MessageScrollerVisibilityState,\n};\n"],
5
+ "mappings": "wHAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,YAAAC,EAAA,SAAAC,EAAA,SAAAC,EAAA,aAAAC,EAAA,uBAAAC,EAAA,iCAAAC,EAAA,iCAAAC,IA6BA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OACE,mBAAmBC,EACnB,sBAAAL,EACA,gCAAAC,EACA,gCAAAC,MAKK,iCAEP,OAAS,mBAAAI,MAAuB,oBAqBhC,IAAMC,EAAa,aACjB,CAAC,CAAE,WAAAC,EAAa,GAAM,sBAAAC,EAAwB,MAAO,oBAAAC,EAAqB,aAAAC,EAAc,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAM,EAAGC,IACvH,gBAACC,EAAU,SAAV,CACC,WAAYR,EACZ,sBAAuBC,EACtB,GAAIC,GAAuB,KAAO,CAAE,oBAAAA,CAAoB,EAAI,CAAC,EAC7D,GAAIC,GAAgB,KAAO,CAAE,aAAAA,CAAa,EAAI,CAAC,GAEhD,gBAACK,EAAU,KAAV,CAAgB,GAAGF,EAAO,IAAKC,EAAc,UAAWE,EAAW,yBAA0BL,CAAS,GACpGC,CACH,CACF,CAEJ,EACAN,EAAK,YAAc,uBAgBnB,IAAMW,EAAiB,aAA0C,CAAC,CAAE,UAAAN,EAAW,aAAcO,EAAO,KAAAC,EAAO,GAAM,GAAGN,CAAM,EAAGC,IAAiB,CAC5I,IAAMM,EAAkBC,EAA+BF,CAAI,EACrDG,EAAMC,EAAgBT,EAAcM,CAAe,EACzD,OAGE,gBAACL,EAAU,SAAV,CACC,aAAYG,GAAS,GACpB,GAAGL,EACJ,IAAKS,EACL,YAAWH,EAAO,GAAK,OACvB,UAAWH,EAAW,6BAA8BL,CAAS,EAC/D,CAEJ,CAAC,EACDM,EAAS,YAAc,2BAKvB,IAAMO,EAAgB,aAAyC,CAAC,CAAE,UAAAb,EAAW,GAAGE,CAAM,EAAGC,IACvF,gBAACC,EAAU,QAAV,CAAmB,GAAGF,EAAO,IAAKC,EAAc,UAAWE,EAAW,4BAA6BL,CAAS,EAAG,CACjH,EACDa,EAAQ,YAAc,0BAUtB,IAAMC,EAAa,aAAsC,CAAC,CAAE,UAAAd,EAAW,GAAGE,CAAM,EAAGC,IACjF,gBAACC,EAAU,KAAV,CAAgB,GAAGF,EAAO,IAAKC,EAAc,UAAWE,EAAW,yBAA0BL,CAAS,EAAG,CAC3G,EACDc,EAAK,YAAc,uBAgBnB,IAAMC,EAAe,aACnB,CAAC,CAAE,UAAAC,EAAY,MAAO,SAAAC,EAAU,UAAAjB,EAAW,SAAAC,EAAU,KAAAiB,EAAM,QAAAC,EAAU,UAAW,SAAAC,EAAU,MAAAC,EAAQ,OAAQ,OAAAC,EAAS,OAAQ,aAAcf,EAAO,GAAGL,CAAM,EAAGC,IAC1J,gBAACC,EAAU,OAAV,CACC,UAAWY,EACV,GAAIC,EAAW,CAAE,SAAAA,CAAS,EAAI,CAAC,EAChC,OACE,gBAACM,EAAA,CACE,GAAGrB,EACJ,IAAKC,EACL,KAAMe,EACL,GAAIE,EAAW,CAAE,SAAAA,CAAS,EAAI,CAAE,QAAAD,CAAQ,EACzC,MAAOE,EACP,OAAQC,EACR,aAAYf,IAAUS,IAAc,MAAQ,qBAAuB,qBACnE,UAAWX,EAAW,2BAA4BL,CAAS,EAC3D,iBAAgBgB,GAEff,GACC,gBAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,cAAW,GAAC,MAAOe,IAAc,QAAU,CAAE,UAAW,gBAAiB,EAAI,QACvI,gBAAC,QAAK,EAAE,8BAA8B,OAAO,eAAe,YAAY,MAAM,cAAc,QAAQ,eAAe,QAAQ,CAC7H,CAEJ,EAEJ,CAEJ,EACAD,EAAO,YAAc",
6
6
  "names": ["message_scroller_exports", "__export", "Button", "Content", "Item", "Root", "Viewport", "useMessageScroller", "useMessageScrollerScrollable", "useMessageScrollerVisibility", "React", "classNames", "Primitive", "useComposedRefs", "Root", "autoScroll", "defaultScrollPosition", "scrollEdgeThreshold", "scrollMargin", "className", "children", "props", "forwardedRef", "Primitive", "classNames", "Viewport", "label", "fade", "setEdgesElement", "useScrollEdges", "ref", "useComposedRefs", "Content", "Item", "Button", "direction", "behavior", "size", "variant", "emphasis", "color", "radius", "IconButton"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk-NZJGC6ZW.js";import{a as s}from"./chunk-PUVZFRTQ.js";import{c as r}from"./chunk-34KVYDF6.js";var o=["1","2","3","4"],a=s.variant.values,f={...e,size:{type:"enum",className:"rt-r-size",values:o,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:a,default:"raised"},...r};export{f as a};
2
+ //# sourceMappingURL=chunk-ZCAI2PRH.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/radio-group.props.tsx"],
4
+ "sourcesContent": ["import { baseRadioPropDefs } from './_internal/base-radio.props.js';\nimport { asChildPropDef } from '../props/as-child.prop.js';\nimport { colorPropDef } from '../props/color.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\n// The same list as Radio: a group offers exactly what its items can draw.\nconst variants = baseRadioPropDefs.variant.values;\n\nconst radioGroupRootPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'raised' },\n ...colorPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n};\n\nexport { radioGroupRootPropDefs };\n"],
5
+ "mappings": "wHAMA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAE3BC,EAAWC,EAAkB,QAAQ,OAErCC,EAAyB,CAC7B,GAAGC,EACH,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQJ,EAAO,QAAS,IAAK,WAAY,EAAK,EAC5F,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQC,EAAU,QAAS,QAAS,EACtF,GAAGI,CACL",
6
+ "names": ["sizes", "variants", "baseRadioPropDefs", "radioGroupRootPropDefs", "asChildPropDef", "colorPropDef"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as p}from"./chunk-MGSHX5N5.js";import{a as s}from"./chunk-UBSLEGQZ.js";import{a as t}from"./chunk-GSTOGDAJ.js";import{a as e}from"./chunk-E23RKOQJ.js";import*as o from"react";import l from"classnames";import{Progress as m}from"radix-ui";var c=o.forwardRef((i,a)=>{let{className:n,style:P,color:f,radius:g,duration:d,...r}=s(i,p,t);return o.createElement(m.Root,{"data-accent-color":f,"data-radius":g,ref:a,className:l("rt-ProgressRoot",n),style:e({"--progress-duration":"value"in r?void 0:d,"--progress-value":"value"in r?r.value:void 0,"--progress-max":"max"in r?r.max:void 0},P),...r,asChild:!1},o.createElement(m.Indicator,{className:"rt-ProgressIndicator"}))});c.displayName="Progress";export{c as a};
2
- //# sourceMappingURL=chunk-S53ZQNHK.js.map
1
+ import{a as p}from"./chunk-54KMG7NX.js";import{a as s}from"./chunk-UBSLEGQZ.js";import{a as t}from"./chunk-GSTOGDAJ.js";import{a as e}from"./chunk-E23RKOQJ.js";import*as o from"react";import l from"classnames";import{Progress as m}from"radix-ui";var c=o.forwardRef((i,a)=>{let{className:n,style:P,color:f,radius:g,duration:d,...r}=s(i,p,t);return o.createElement(m.Root,{"data-accent-color":f,"data-radius":g,ref:a,className:l("rt-ProgressRoot",n),style:e({"--progress-duration":"value"in r?void 0:d,"--progress-value":"value"in r?r.value:void 0,"--progress-max":"max"in r?r.max:void 0},P),...r,asChild:!1},o.createElement(m.Indicator,{className:"rt-ProgressIndicator"}))});c.displayName="Progress";export{c as a};
2
+ //# sourceMappingURL=chunk-ZFBLPW3X.js.map
@@ -0,0 +1,2 @@
1
+ import{a as g}from"./chunk-35HNDWWM.js";import{a as P}from"./chunk-7CBZFHSQ.js";import{a as C}from"./chunk-AGAQC4HH.js";import{e as E}from"./chunk-3YLYGKFB.js";import{a as m}from"./chunk-NCDOMH5I.js";import{a as b}from"./chunk-UBSLEGQZ.js";import{a as h}from"./chunk-GSTOGDAJ.js";import*as e from"react";import z from"classnames";import{Slot as G}from"radix-ui";var L=e.forwardRef((x,M)=>{let o=E(x,m.size),{className:N,children:t,asChild:a,as:s,color:T,radius:k,flush:v,disabled:f,...d}=b(o,m,h),r=!!o.loading,D=!!f||r,{onClick:y}=d,w=e.useCallback(i=>{if(r){i.preventDefault();return}y?.(i)},[r,y]),{iconStart:V,iconEnd:H}=e.useMemo(()=>{let i=a&&e.isValidElement(t)?t.props.children:t,B=n=>e.Children.toArray(n).flatMap(p=>e.isValidElement(p)&&p.type===e.Fragment?B(p.props.children):[p]),u=B(i),R=n=>e.isValidElement(n)&&(n.type==="svg"||typeof n.type!="string");return{iconStart:R(u[0]),iconEnd:R(u[u.length-1])}},[a,t]),S=a?G.Root:s||"button",j=a||!s||["button","input","textarea","select"].includes(s),I=!a&&(!s||s==="button"),A="type"in d,F=e.useId(),l=r?`${F}-loading`:void 0,c=e.useMemo(()=>typeof t=="string"?t:e.isValidElement(t)&&typeof t.props?.children=="string"?t.props.children:"button",[t]),O=e.useMemo(()=>o.loading?{"aria-busy":!0,"aria-disabled":!0,"aria-describedby":l,"aria-label":`${c} (loading)`}:{},[o.loading,l,c]);return e.createElement(S,{"data-accent-color":T,"data-radius":k,"data-flush":v?"true":void 0,"data-icon-start":V||void 0,"data-icon-end":H||void 0,...d,...O,"data-disabled":D||void 0,onClick:w,ref:M,className:z("rt-reset","rt-BaseButton",N),...j&&{disabled:f},...I&&!A?{type:"button"}:{}},o.loading?e.createElement(e.Fragment,null,e.createElement("span",{style:{display:"contents",visibility:"hidden"},"aria-hidden":!0},t),e.createElement(C,null,e.createElement("span",{id:l},c," is loading, please wait..."),t),e.createElement(P,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},e.createElement("span",null,e.createElement(g,{"aria-hidden":"true"})))):t)});L.displayName="BaseButton";export{L as a};
2
+ //# sourceMappingURL=chunk-ZH2B7WEH.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/_internal/base-button.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from 'radix-ui';\n\nimport { baseButtonPropDefs } from './base-button.props.js';\nimport { Flex } from '../flex.js';\nimport { Spinner } from '../spinner.js';\nimport { VisuallyHidden } from '../visually-hidden.js';\nimport { extractProps } from '../../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../../helpers/theme-size.js';\nimport { marginPropDefs } from '../../props/margin.props.js';\n\nimport type { MarginProps } from '../../props/margin.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../../props/prop-def.js';\n\ntype BaseButtonElement = React.ElementRef<'button'>;\ntype BaseButtonOwnProps = GetPropDefTypes<typeof baseButtonPropDefs>;\n\n/**\n * Polymorphic BaseButton props that support rendering as different HTML elements\n * Uses the proper ComponentPropsWithout pattern for type safety\n * @template C - The element type to render as (defaults to 'button')\n */\ntype PolymorphicBaseButtonProps<C extends React.ElementType = 'button'> = {\n /** Element type to render as (e.g., 'a', 'span', etc.) */\n as?: C;\n} & BaseButtonOwnProps &\n MarginProps &\n ComponentPropsWithout<C, RemovedProps | keyof BaseButtonOwnProps | keyof MarginProps | 'as'>;\n\n/**\n * BaseButton props interface that combines all available props\n */\ninterface BaseButtonProps extends PolymorphicBaseButtonProps {}\n\n/**\n * BaseButton component that provides the core button functionality\n *\n * This is the foundational button component that handles all the complex logic\n * including loading states, accessibility, performance optimizations, and\n * polymorphic rendering. It's used by Button, IconButton, and other button\n * variants to ensure consistent behavior across the design system.\n *\n * Key features:\n * - Loading state with spinner and accessibility announcements\n * - Comprehensive accessibility support\n * - Polymorphic rendering support\n *\n * @example\n * ```tsx\n * // Basic usage\n * <BaseButton>Click me</BaseButton>\n *\n * // With loading state\n * <BaseButton loading>Processing...</BaseButton>\n *\n * // Polymorphic rendering\n * <BaseButton as=\"a\" href=\"/link\">Link Button</BaseButton>\n * ```\n */\nconst BaseButton = React.forwardRef<BaseButtonElement, BaseButtonProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, baseButtonPropDefs.size);\n\n // Extract button-specific props from the combined props object\n const {\n className,\n children,\n asChild,\n as,\n color,\n radius,\n flush,\n disabled: nativeDisabled,\n ...baseButtonProps\n } = extractProps(props, baseButtonPropDefs, marginPropDefs);\n\n // Loading blocks activation but keeps the native `disabled` off, so the button keeps focus\n // and its place in the tab order (aria-disabled carries the state). An explicit `disabled`\n // stays native.\n const loading = Boolean(props.loading);\n const disabled = Boolean(nativeDisabled) || loading;\n const { onClick } = baseButtonProps as { onClick?: React.MouseEventHandler<HTMLElement> };\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (loading) {\n event.preventDefault();\n return;\n }\n onClick?.(event);\n },\n [loading, onClick],\n );\n\n // Which edges start or end with an icon. A bare edge pads wider under a full radius; an edge\n // holding an icon keeps the plain padding (the icon already stands between text and curve).\n const { iconStart, iconEnd } = React.useMemo(() => {\n const content =\n asChild && React.isValidElement(children) ? (children.props as { children?: React.ReactNode }).children : children;\n // Fragments are see-through: their own first and last children are the edges.\n const flatten = (nodes: React.ReactNode): React.ReactNode[] =>\n React.Children.toArray(nodes).flatMap((node) =>\n React.isValidElement(node) && node.type === React.Fragment\n ? flatten((node.props as { children?: React.ReactNode }).children)\n : [node],\n );\n const items = flatten(content);\n const isIcon = (node: React.ReactNode) =>\n React.isValidElement(node) && (node.type === 'svg' || typeof node.type !== 'string');\n return { iconStart: isIcon(items[0]), iconEnd: isIcon(items[items.length - 1]) };\n }, [asChild, children]);\n\n\n // asChild takes precedence over as prop for Radix Slot integration\n // When asChild is true, we use Slot.Root to merge props onto the child element\n // When asChild is false, we render as the specified element (or button by default)\n const Comp = asChild ? Slot.Root : (as || 'button');\n\n // Only pass disabled for elements that support it\n // This prevents invalid HTML attributes on unsupported elements\n const shouldPassDisabled = asChild || !as || ['button', 'input', 'textarea', 'select'].includes(as);\n\n // Determine if we are rendering a real <button> element so we can set a safe\n // default type. Native <button> defaults to type=\"submit\" which can cause\n // accidental form submissions. We default to type=\"button\" unless the user\n // explicitly provided a type or we're using asChild (unknown underlying node).\n const isNativeButtonElement = !asChild && (!as || as === 'button');\n const hasExplicitTypeAttribute = 'type' in (baseButtonProps as Record<string, unknown>);\n\n // Generate unique ID for loading announcements\n const loadingId = React.useId();\n const describedById = loading ? `${loadingId}-loading` : undefined;\n\n // Extract button text for accessibility announcements\n const buttonText = React.useMemo(() => {\n if (typeof children === 'string') return children;\n if (React.isValidElement(children) && typeof (children.props as any)?.children === 'string') {\n return (children.props as any).children;\n }\n return 'button';\n }, [children]);\n\n // Enhanced accessibility props for loading state\n // These ensure screen readers announce the loading state properly\n const accessibilityProps = React.useMemo(() => {\n if (props.loading) {\n return {\n 'aria-busy': true,\n 'aria-disabled': true,\n 'aria-describedby': describedById,\n 'aria-label': `${buttonText} (loading)`,\n };\n }\n return {};\n }, [props.loading, describedById, buttonText]);\n\n return (\n <Comp\n data-accent-color={color}\n data-radius={radius}\n data-flush={flush ? 'true' : undefined}\n data-icon-start={iconStart || undefined}\n data-icon-end={iconEnd || undefined}\n {...baseButtonProps}\n {...accessibilityProps}\n // After the spread: `data-disabled` styles `<Button asChild disabled>`, and a wrapping\n // Radix Toggle (asChild) passes `data-disabled={undefined}` that must not erase it.\n data-disabled={disabled || undefined}\n onClick={handleClick}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseButton', className)}\n {...(shouldPassDisabled && { disabled: nativeDisabled })}\n {...(isNativeButtonElement && !hasExplicitTypeAttribute ? { type: 'button' } : {})}\n >\n {props.loading ? (\n <>\n {/**\n * We need a wrapper to set `visibility: hidden` to hide the button content whilst we show the `Spinner`.\n * The button is a flex container with a `gap`, so we use `display: contents` to ensure the correct flex layout.\n *\n * However, `display: contents` removes the content from the accessibility tree in some browsers,\n * so we force remove it with `aria-hidden` and re-add it in the tree with `VisuallyHidden`\n */}\n <span style={{ display: 'contents', visibility: 'hidden' }} aria-hidden>\n {children}\n </span>\n\n {/* Enhanced accessibility for loading state */}\n <VisuallyHidden>\n <span id={describedById}>{buttonText} is loading, please wait...</span>\n {children}\n </VisuallyHidden>\n\n {/* Centered spinner overlay during loading state */}\n <Flex asChild align=\"center\" justify=\"center\" position=\"absolute\" inset=\"0\">\n <span>\n <Spinner aria-hidden=\"true\" />\n </span>\n </Flex>\n </>\n ) : (\n children\n )}\n </Comp>\n );\n});\nBaseButton.displayName = 'BaseButton';\n\nexport { BaseButton };\nexport type { BaseButtonProps };\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "classNames", "Slot", "BaseButton", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "baseButtonPropDefs", "className", "children", "asChild", "as", "color", "radius", "flush", "nativeDisabled", "baseButtonProps", "extractProps", "marginPropDefs", "loading", "disabled", "onClick", "handleClick", "event", "iconStart", "iconEnd", "content", "flatten", "nodes", "node", "items", "isIcon", "Comp", "Slot", "shouldPassDisabled", "isNativeButtonElement", "hasExplicitTypeAttribute", "loadingId", "describedById", "buttonText", "accessibilityProps", "classNames", "VisuallyHidden", "Flex", "Spinner"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as f}from"./chunk-AO32NT75.js";import{a as n}from"./chunk-5GXFBLBJ.js";import{a as c}from"./chunk-DDFONGSM.js";import{a as o}from"./chunk-UONSKZQT.js";import{a as m}from"./chunk-5BWLY27A.js";import{a as S}from"./chunk-PS6NEG5A.js";import{a as p}from"./chunk-E23RKOQJ.js";import*as r from"react";import E from"classnames";import{ScrollArea as e}from"radix-ui";import{useComposedRefs as V}from"radix-ui/internal";var M=r.forwardRef((d,P)=>{let{rest:u,...A}=n(d),[y,v]=f(A),{asChild:t,children:b,className:h,style:R,type:a,scrollHideDelay:g=a!=="scroll"?0:void 0,dir:x,radius:s=o.radius.default,scrollbars:l=o.scrollbars.default,fade:i=o.fade.default,...w}=u,N=m(i),C=c(),T=V(P,N,C);return r.createElement(e.Root,{type:a,scrollHideDelay:g,className:E("rt-ScrollAreaRoot",y,h),"data-fade":i?"":void 0,style:p(v,R),asChild:t},S({asChild:t,children:b},D=>r.createElement(r.Fragment,null,r.createElement(e.Viewport,{...w,ref:T,className:"rt-ScrollAreaViewport"},D),r.createElement("div",{className:"rt-ScrollAreaViewportFocusRing"}),l!=="vertical"?r.createElement(e.Scrollbar,{"data-radius":s,orientation:"horizontal",className:"rt-ScrollAreaScrollbar"},r.createElement(e.Thumb,{className:"rt-ScrollAreaThumb"})):null,l!=="horizontal"?r.createElement(e.Scrollbar,{"data-radius":s,orientation:"vertical",className:"rt-ScrollAreaScrollbar"},r.createElement(e.Thumb,{className:"rt-ScrollAreaThumb"})):null,l==="both"?r.createElement(e.Corner,{className:"rt-ScrollAreaCorner"}):null)))});M.displayName="ScrollArea";export{M as a};
2
+ //# sourceMappingURL=chunk-ZJZIV2JH.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/scroll-area.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport { useComposedRefs } from 'radix-ui/internal';\n\nimport { scrollAreaPropDefs } from './scroll-area.props.js';\nimport { useScrollEdges } from '../hooks/use-scroll-edges.js';\nimport { useThumbSync } from '../hooks/use-thumb-sync.js';\nimport { extractMarginProps } from '../helpers/extract-margin-props.js';\nimport { getMarginStyles } from '../helpers/get-margin-styles.js';\nimport { getSubtree } from '../helpers/get-subtree.js';\nimport { mergeStyles } from '../helpers/merge-styles.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ScrollAreaElement = React.ElementRef<typeof ScrollAreaPrimitive.Viewport>;\ntype ScrollAreaOwnProps = GetPropDefTypes<typeof scrollAreaPropDefs>;\ninterface ScrollAreaProps\n extends ComponentPropsWithout<typeof ScrollAreaPrimitive.Root, RemovedProps>,\n ComponentPropsWithout<typeof ScrollAreaPrimitive.Viewport, RemovedProps | 'dir'>,\n MarginProps,\n ScrollAreaOwnProps {}\nconst ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>((props, forwardedRef) => {\n const { rest: marginRest, ...marginProps } = extractMarginProps(props);\n const [marginClassNames, marginCustomProperties] = getMarginStyles(marginProps);\n\n const {\n asChild,\n children,\n className,\n style,\n type,\n scrollHideDelay = type !== 'scroll' ? 0 : undefined,\n dir,\n radius = scrollAreaPropDefs.radius.default,\n scrollbars = scrollAreaPropDefs.scrollbars.default,\n fade = scrollAreaPropDefs.fade.default,\n ...viewportProps\n } = marginRest;\n const setEdgesElement = useScrollEdges<HTMLDivElement>(fade);\n const setThumbViewport = useThumbSync<HTMLDivElement>();\n const viewportRef = useComposedRefs(forwardedRef, setEdgesElement, setThumbViewport);\n\n return (\n <ScrollAreaPrimitive.Root\n type={type}\n scrollHideDelay={scrollHideDelay}\n className={classNames('rt-ScrollAreaRoot', marginClassNames, className)}\n data-fade={fade ? '' : undefined}\n style={mergeStyles(marginCustomProperties, style)}\n asChild={asChild}\n >\n {getSubtree({ asChild, children }, (children) => (\n <>\n <ScrollAreaPrimitive.Viewport\n {...viewportProps}\n ref={viewportRef}\n className=\"rt-ScrollAreaViewport\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n\n <div className=\"rt-ScrollAreaViewportFocusRing\" />\n\n {scrollbars !== 'vertical' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"horizontal\"\n className=\"rt-ScrollAreaScrollbar\"\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars !== 'horizontal' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"vertical\"\n className=\"rt-ScrollAreaScrollbar\"\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars === 'both' ? (\n <ScrollAreaPrimitive.Corner className=\"rt-ScrollAreaCorner\" />\n ) : null}\n </>\n ))}\n </ScrollAreaPrimitive.Root>\n );\n});\nScrollArea.displayName = 'ScrollArea';\n\nexport { ScrollArea };\nexport type { ScrollAreaProps };\n"],
5
+ "mappings": "wRAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,cAAcC,MAA2B,WAClD,OAAS,mBAAAC,MAAuB,oBAqBhC,IAAMC,EAAmB,aAA+C,CAACC,EAAOC,IAAiB,CAC/F,GAAM,CAAE,KAAMC,EAAY,GAAGC,CAAY,EAAIC,EAAmBJ,CAAK,EAC/D,CAACK,EAAkBC,CAAsB,EAAIC,EAAgBJ,CAAW,EAExE,CACJ,QAAAK,EACA,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,KAAAC,EACA,gBAAAC,EAAkBD,IAAS,SAAW,EAAI,OAC1C,IAAAE,EACA,OAAAC,EAASC,EAAmB,OAAO,QACnC,WAAAC,EAAaD,EAAmB,WAAW,QAC3C,KAAAE,EAAOF,EAAmB,KAAK,QAC/B,GAAGG,CACL,EAAIjB,EACEkB,EAAkBC,EAA+BH,CAAI,EACrDI,EAAmBC,EAA6B,EAChDC,EAAcC,EAAgBxB,EAAcmB,EAAiBE,CAAgB,EAEnF,OACE,gBAACI,EAAoB,KAApB,CACC,KAAMd,EACN,gBAAiBC,EACjB,UAAWc,EAAW,oBAAqBtB,EAAkBK,CAAS,EACtE,YAAWQ,EAAO,GAAK,OACvB,MAAOU,EAAYtB,EAAwBK,CAAK,EAChD,QAASH,GAERqB,EAAW,CAAE,QAAArB,EAAS,SAAAC,CAAS,EAAIA,GAClC,gCACE,gBAACiB,EAAoB,SAApB,CACE,GAAGP,EACJ,IAAKK,EACL,UAAU,yBAETf,CACH,EAEA,gBAAC,OAAI,UAAU,iCAAiC,EAE/CQ,IAAe,WACd,gBAACS,EAAoB,UAApB,CACC,cAAaX,EACb,YAAY,aACZ,UAAU,0BAEV,gBAACW,EAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,EACE,KAEHT,IAAe,aACd,gBAACS,EAAoB,UAApB,CACC,cAAaX,EACb,YAAY,WACZ,UAAU,0BAEV,gBAACW,EAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,EACE,KAEHT,IAAe,OACd,gBAACS,EAAoB,OAApB,CAA2B,UAAU,sBAAsB,EAC1D,IACN,CACD,CACH,CAEJ,CAAC,EACD3B,EAAW,YAAc",
6
+ "names": ["React", "classNames", "ScrollAreaPrimitive", "useComposedRefs", "ScrollArea", "props", "forwardedRef", "marginRest", "marginProps", "extractMarginProps", "marginClassNames", "marginCustomProperties", "getMarginStyles", "asChild", "children", "className", "style", "type", "scrollHideDelay", "dir", "radius", "scrollAreaPropDefs", "scrollbars", "fade", "viewportProps", "setEdgesElement", "useScrollEdges", "setThumbViewport", "useThumbSync", "viewportRef", "useComposedRefs", "ScrollAreaPrimitive", "classNames", "mergeStyles", "getSubtree"]
7
+ }
@@ -28,10 +28,8 @@ interface BaseButtonProps extends PolymorphicBaseButtonProps {
28
28
  *
29
29
  * Key features:
30
30
  * - Loading state with spinner and accessibility announcements
31
- * - Performance optimizations for backdrop-filter effects
32
31
  * - Comprehensive accessibility support
33
32
  * - Polymorphic rendering support
34
- * - Material/panel background handling
35
33
  *
36
34
  * @example
37
35
  * ```tsx
@@ -1 +1 @@
1
- {"version":3,"file":"base-button.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/base-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAQ5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAErE;;;;GAIG;AACH,KAAK,0BAA0B,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,QAAQ,IAAI;IACxE,0DAA0D;IAC1D,EAAE,CAAC,EAAE,CAAC,CAAC;CACR,GAAG,kBAAkB,GACpB,WAAW,GACX,qBAAqB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,kBAAkB,GAAG,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC;AAE/F;;GAEG;AACH,UAAU,eAAgB,SAAQ,0BAA0B;CAAG;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,QAAA,MAAM,UAAU,2FA6Gd,CAAC;AAGH,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"base-button.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/base-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAQ5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAErE;;;;GAIG;AACH,KAAK,0BAA0B,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,QAAQ,IAAI;IACxE,0DAA0D;IAC1D,EAAE,CAAC,EAAE,CAAC,CAAC;CACR,GAAG,kBAAkB,GACpB,WAAW,GACX,qBAAqB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,kBAAkB,GAAG,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC;AAE/F;;GAEG;AACH,UAAU,eAAgB,SAAQ,0BAA0B;CAAG;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,QAAA,MAAM,UAAU,2FAgJd,CAAC;AAGH,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-URLG45A4.js";import"../../chunk-7BE6N3KY.js";import"../../chunk-XZ5XZS5O.js";import"../../chunk-3KB2XWBE.js";import"../../chunk-7CBZFHSQ.js";import"../../chunk-SMGDH54W.js";import"../../chunk-AGAQC4HH.js";import"../../chunk-FWB47YCH.js";import"../../chunk-K53W3ELO.js";import"../../chunk-TTFUM47A.js";import"../../chunk-SNR5VFWG.js";import"../../chunk-VX44UTQ5.js";import"../../chunk-ERGJN7FJ.js";import"../../chunk-XKAWVGBL.js";import"../../chunk-KRJTW535.js";import"../../chunk-UBSLEGQZ.js";import"../../chunk-AX5S56DS.js";import"../../chunk-GSTOGDAJ.js";import"../../chunk-E23RKOQJ.js";import"../../chunk-PBFSBHBS.js";import"../../chunk-WRWNN2NW.js";import"../../chunk-RZCX6IBE.js";import"../../chunk-QM3RCK5P.js";import"../../chunk-NZJGC6ZW.js";import"../../chunk-34KVYDF6.js";import"../../chunk-OS3FCYZY.js";export{a as BaseButton};
1
+ import{a}from"../../chunk-ZH2B7WEH.js";import"../../chunk-35HNDWWM.js";import"../../chunk-HIEGLLY7.js";import"../../chunk-7CBZFHSQ.js";import"../../chunk-SMGDH54W.js";import"../../chunk-AGAQC4HH.js";import"../../chunk-FWB47YCH.js";import"../../chunk-K53W3ELO.js";import"../../chunk-TTFUM47A.js";import"../../chunk-SNR5VFWG.js";import"../../chunk-3YLYGKFB.js";import"../../chunk-VX44UTQ5.js";import"../../chunk-ERGJN7FJ.js";import"../../chunk-NCDOMH5I.js";import"../../chunk-KRJTW535.js";import"../../chunk-UBSLEGQZ.js";import"../../chunk-AX5S56DS.js";import"../../chunk-GSTOGDAJ.js";import"../../chunk-E23RKOQJ.js";import"../../chunk-PBFSBHBS.js";import"../../chunk-WRWNN2NW.js";import"../../chunk-RZCX6IBE.js";import"../../chunk-QM3RCK5P.js";import"../../chunk-NZJGC6ZW.js";import"../../chunk-34KVYDF6.js";import"../../chunk-OS3FCYZY.js";export{a as BaseButton};
2
2
  //# sourceMappingURL=base-button.js.map
@@ -9,7 +9,6 @@
9
9
  * - Six visual variants for different interface contexts
10
10
  * - Comprehensive color system with semantic meanings
11
11
  * - Loading states with automatic accessibility
12
- * - Material system for visual depth and elevation
13
12
  * - Polymorphic rendering support via asChild
14
13
  *
15
14
  * @example
@@ -22,9 +21,6 @@
22
21
  *
23
22
  * // Button with loading state
24
23
  * <BaseButton loading>Processing...</BaseButton>
25
- *
26
- * // Button with translucent material
27
- * <BaseButton material="translucent">Elevated Button</BaseButton>
28
24
  * ```
29
25
  */
30
26
  declare const baseButtonPropDefs: {
@@ -46,19 +42,6 @@ declare const baseButtonPropDefs: {
46
42
  className: string;
47
43
  default: false;
48
44
  };
49
- /**
50
- * Material type for visual rendering and depth effects
51
- * Controls how the button renders its visual elements
52
- */
53
- material: {
54
- type: "enum";
55
- values: readonly ["solid", "translucent"];
56
- default: undefined;
57
- };
58
- /**
59
- * Panel background type (deprecated)
60
- * @deprecated Use `material` prop instead. This prop will be removed in a future version.
61
- */
62
45
  /**
63
46
  * Flush mode that removes visual padding for seamless text integration
64
47
  * Only effective with ghost variant
@@ -1 +1 @@
1
- {"version":3,"file":"base-button.props.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/base-button.props.ts"],"names":[],"mappings":"AAsCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,QAAA,MAAM,kBAAkB;IAatB;;;OAGG;;;;;;IAEH;;;OAGG;;;;;;IAEH;;;OAGG;;;;;;IAEH;;;OAGG;IACH;;;OAGG;;;;;;;;;;;;;;;IAjCH;;;OAGG;;;;;;;;IAEH;;OAEG;;;;;;;;;;CAmCJ,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"base-button.props.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/base-button.props.ts"],"names":[],"mappings":"AA0BA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,QAAA,MAAM,kBAAkB;IAatB;;;OAGG;;;;;;IAEH;;;OAGG;;;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;IAxBH;;;OAGG;;;;;;;;IAEH;;OAEG;;;;;;;;;;CAyBJ,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-XKAWVGBL.js";import"../../chunk-KRJTW535.js";import"../../chunk-NZJGC6ZW.js";import"../../chunk-34KVYDF6.js";import"../../chunk-OS3FCYZY.js";export{a as baseButtonPropDefs};
1
+ import{a}from"../../chunk-NCDOMH5I.js";import"../../chunk-KRJTW535.js";import"../../chunk-NZJGC6ZW.js";import"../../chunk-34KVYDF6.js";import"../../chunk-OS3FCYZY.js";export{a as baseButtonPropDefs};
2
2
  //# sourceMappingURL=base-button.props.js.map
@@ -7,7 +7,7 @@ declare const baseCheckboxPropDefs: {
7
7
  size: {
8
8
  type: "enum";
9
9
  className: string;
10
- values: readonly ["1", "2", "3"];
10
+ values: readonly ["1", "2", "3", "4"];
11
11
  default: "2";
12
12
  responsive: true;
13
13
  };
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-5GYIQIPW.js";import"../../chunk-34KVYDF6.js";import"../../chunk-OS3FCYZY.js";export{a as baseCheckboxPropDefs};
1
+ import{a}from"../../chunk-STMTXK7U.js";import"../../chunk-34KVYDF6.js";import"../../chunk-OS3FCYZY.js";export{a as baseCheckboxPropDefs};
2
2
  //# sourceMappingURL=base-checkbox.props.js.map