@womp/kookie-ui 0.5.0 → 0.7.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 (991) hide show
  1. package/components.css +486 -1070
  2. package/dist/cjs/components/_internal/base-button.js +1 -1
  3. package/dist/cjs/components/_internal/base-button.js.map +4 -4
  4. package/dist/cjs/components/_internal/base-button.props.d.ts +2 -7
  5. package/dist/cjs/components/_internal/base-button.props.d.ts.map +1 -1
  6. package/dist/cjs/components/_internal/base-button.props.js +1 -1
  7. package/dist/cjs/components/_internal/base-button.props.js.map +4 -4
  8. package/dist/cjs/components/_internal/base-checkbox.props.d.ts +0 -5
  9. package/dist/cjs/components/_internal/base-checkbox.props.d.ts.map +1 -1
  10. package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
  11. package/dist/cjs/components/_internal/base-checkbox.props.js.map +4 -4
  12. package/dist/cjs/components/_internal/base-menu.props.d.ts +0 -10
  13. package/dist/cjs/components/_internal/base-menu.props.d.ts.map +1 -1
  14. package/dist/cjs/components/_internal/base-menu.props.js +1 -1
  15. package/dist/cjs/components/_internal/base-menu.props.js.map +4 -4
  16. package/dist/cjs/components/_internal/base-menu.utils.d.ts +48 -0
  17. package/dist/cjs/components/_internal/base-menu.utils.d.ts.map +1 -0
  18. package/dist/cjs/components/_internal/base-menu.utils.js +2 -0
  19. package/dist/cjs/components/_internal/base-menu.utils.js.map +7 -0
  20. package/dist/cjs/components/_internal/base-radio.props.d.ts +0 -5
  21. package/dist/cjs/components/_internal/base-radio.props.d.ts.map +1 -1
  22. package/dist/cjs/components/_internal/base-radio.props.js +1 -1
  23. package/dist/cjs/components/_internal/base-radio.props.js.map +4 -4
  24. package/dist/cjs/components/_internal/base-tab-list.props.d.ts +0 -5
  25. package/dist/cjs/components/_internal/base-tab-list.props.d.ts.map +1 -1
  26. package/dist/cjs/components/_internal/base-tab-list.props.js +1 -1
  27. package/dist/cjs/components/_internal/base-tab-list.props.js.map +4 -4
  28. package/dist/cjs/components/_internal/dropdown-menu-drill-down.d.ts +77 -59
  29. package/dist/cjs/components/_internal/dropdown-menu-drill-down.d.ts.map +1 -1
  30. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js +1 -1
  31. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js.map +4 -4
  32. package/dist/cjs/components/_internal/menu-context.d.ts +7 -3
  33. package/dist/cjs/components/_internal/menu-context.d.ts.map +1 -1
  34. package/dist/cjs/components/_internal/menu-context.js +1 -1
  35. package/dist/cjs/components/_internal/menu-context.js.map +4 -4
  36. package/dist/cjs/components/_internal/shell-bottom.js +1 -1
  37. package/dist/cjs/components/_internal/shell-bottom.js.map +4 -4
  38. package/dist/cjs/components/_internal/shell-inspector.js +1 -1
  39. package/dist/cjs/components/_internal/shell-inspector.js.map +4 -4
  40. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  41. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  42. package/dist/cjs/components/accordion.js +1 -1
  43. package/dist/cjs/components/accordion.js.map +4 -4
  44. package/dist/cjs/components/accordion.props.d.ts +0 -6
  45. package/dist/cjs/components/accordion.props.d.ts.map +1 -1
  46. package/dist/cjs/components/accordion.props.js +1 -1
  47. package/dist/cjs/components/accordion.props.js.map +4 -4
  48. package/dist/cjs/components/alert-dialog.js +1 -1
  49. package/dist/cjs/components/alert-dialog.js.map +4 -4
  50. package/dist/cjs/components/avatar.js +1 -1
  51. package/dist/cjs/components/avatar.js.map +4 -4
  52. package/dist/cjs/components/avatar.props.d.ts +0 -5
  53. package/dist/cjs/components/avatar.props.d.ts.map +1 -1
  54. package/dist/cjs/components/avatar.props.js +1 -1
  55. package/dist/cjs/components/avatar.props.js.map +4 -4
  56. package/dist/cjs/components/badge.js +1 -1
  57. package/dist/cjs/components/badge.js.map +4 -4
  58. package/dist/cjs/components/badge.props.d.ts +0 -5
  59. package/dist/cjs/components/badge.props.d.ts.map +1 -1
  60. package/dist/cjs/components/badge.props.js +1 -1
  61. package/dist/cjs/components/badge.props.js.map +4 -4
  62. package/dist/cjs/components/blockquote.js +1 -1
  63. package/dist/cjs/components/blockquote.js.map +4 -4
  64. package/dist/cjs/components/blockquote.props.d.ts +3 -2
  65. package/dist/cjs/components/blockquote.props.d.ts.map +1 -1
  66. package/dist/cjs/components/blockquote.props.js +1 -1
  67. package/dist/cjs/components/blockquote.props.js.map +4 -4
  68. package/dist/cjs/components/button.js +1 -1
  69. package/dist/cjs/components/button.js.map +4 -4
  70. package/dist/cjs/components/button.props.js +1 -1
  71. package/dist/cjs/components/button.props.js.map +4 -4
  72. package/dist/cjs/components/callout.js +1 -1
  73. package/dist/cjs/components/callout.js.map +4 -4
  74. package/dist/cjs/components/callout.props.d.ts +0 -5
  75. package/dist/cjs/components/callout.props.d.ts.map +1 -1
  76. package/dist/cjs/components/callout.props.js +1 -1
  77. package/dist/cjs/components/callout.props.js.map +4 -4
  78. package/dist/cjs/components/card.js +1 -1
  79. package/dist/cjs/components/card.js.map +2 -2
  80. package/dist/cjs/components/chatbar.d.ts +46 -44
  81. package/dist/cjs/components/chatbar.d.ts.map +1 -1
  82. package/dist/cjs/components/chatbar.js +2 -2
  83. package/dist/cjs/components/chatbar.js.map +4 -4
  84. package/dist/cjs/components/checkbox-cards.d.ts.map +1 -1
  85. package/dist/cjs/components/checkbox-cards.js +1 -1
  86. package/dist/cjs/components/checkbox-cards.js.map +4 -4
  87. package/dist/cjs/components/checkbox-cards.props.d.ts +0 -5
  88. package/dist/cjs/components/checkbox-cards.props.d.ts.map +1 -1
  89. package/dist/cjs/components/checkbox-cards.props.js +1 -1
  90. package/dist/cjs/components/checkbox-cards.props.js.map +4 -4
  91. package/dist/cjs/components/checkbox-group.d.ts.map +1 -1
  92. package/dist/cjs/components/checkbox-group.js +1 -1
  93. package/dist/cjs/components/checkbox-group.js.map +4 -4
  94. package/dist/cjs/components/checkbox-group.props.d.ts +0 -5
  95. package/dist/cjs/components/checkbox-group.props.d.ts.map +1 -1
  96. package/dist/cjs/components/checkbox-group.props.js +1 -1
  97. package/dist/cjs/components/checkbox-group.props.js.map +4 -4
  98. package/dist/cjs/components/checkbox.js +1 -1
  99. package/dist/cjs/components/checkbox.js.map +4 -4
  100. package/dist/cjs/components/checkbox.props.js +1 -1
  101. package/dist/cjs/components/checkbox.props.js.map +4 -4
  102. package/dist/cjs/components/code.js +1 -1
  103. package/dist/cjs/components/code.js.map +4 -4
  104. package/dist/cjs/components/code.props.d.ts +3 -2
  105. package/dist/cjs/components/code.props.d.ts.map +1 -1
  106. package/dist/cjs/components/code.props.js +1 -1
  107. package/dist/cjs/components/code.props.js.map +4 -4
  108. package/dist/cjs/components/combobox.d.ts +28 -15
  109. package/dist/cjs/components/combobox.d.ts.map +1 -1
  110. package/dist/cjs/components/combobox.js +1 -1
  111. package/dist/cjs/components/combobox.js.map +4 -4
  112. package/dist/cjs/components/combobox.props.d.ts +46 -8
  113. package/dist/cjs/components/combobox.props.d.ts.map +1 -1
  114. package/dist/cjs/components/combobox.props.js +1 -1
  115. package/dist/cjs/components/combobox.props.js.map +4 -4
  116. package/dist/cjs/components/context-menu.d.ts +18 -5
  117. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  118. package/dist/cjs/components/context-menu.js +1 -1
  119. package/dist/cjs/components/context-menu.js.map +4 -4
  120. package/dist/cjs/components/context-menu.props.d.ts +1 -1
  121. package/dist/cjs/components/context-menu.props.d.ts.map +1 -1
  122. package/dist/cjs/components/context-menu.props.js +1 -1
  123. package/dist/cjs/components/context-menu.props.js.map +4 -4
  124. package/dist/cjs/components/data-list.js +1 -1
  125. package/dist/cjs/components/data-list.js.map +4 -4
  126. package/dist/cjs/components/data-list.props.d.ts +4 -3
  127. package/dist/cjs/components/data-list.props.d.ts.map +1 -1
  128. package/dist/cjs/components/data-list.props.js +1 -1
  129. package/dist/cjs/components/data-list.props.js.map +4 -4
  130. package/dist/cjs/components/dialog.js +1 -1
  131. package/dist/cjs/components/dialog.js.map +4 -4
  132. package/dist/cjs/components/dropdown-menu.d.ts +11 -18
  133. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  134. package/dist/cjs/components/dropdown-menu.js +1 -1
  135. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  136. package/dist/cjs/components/dropdown-menu.props.js +1 -1
  137. package/dist/cjs/components/dropdown-menu.props.js.map +4 -4
  138. package/dist/cjs/components/heading.js +1 -1
  139. package/dist/cjs/components/heading.js.map +4 -4
  140. package/dist/cjs/components/heading.props.d.ts +3 -2
  141. package/dist/cjs/components/heading.props.d.ts.map +1 -1
  142. package/dist/cjs/components/heading.props.js +1 -1
  143. package/dist/cjs/components/heading.props.js.map +4 -4
  144. package/dist/cjs/components/hover-card.js +1 -1
  145. package/dist/cjs/components/hover-card.js.map +2 -2
  146. package/dist/cjs/components/icon-button.js +2 -2
  147. package/dist/cjs/components/icon-button.js.map +4 -4
  148. package/dist/cjs/components/icon-button.props.js +1 -1
  149. package/dist/cjs/components/icon-button.props.js.map +4 -4
  150. package/dist/cjs/components/index.js +5 -5
  151. package/dist/cjs/components/index.js.map +4 -4
  152. package/dist/cjs/components/link.js +1 -1
  153. package/dist/cjs/components/link.js.map +4 -4
  154. package/dist/cjs/components/link.props.d.ts +0 -5
  155. package/dist/cjs/components/link.props.d.ts.map +1 -1
  156. package/dist/cjs/components/link.props.js +1 -1
  157. package/dist/cjs/components/link.props.js.map +4 -4
  158. package/dist/cjs/components/popover.js +1 -1
  159. package/dist/cjs/components/popover.js.map +2 -2
  160. package/dist/cjs/components/progress.js +1 -1
  161. package/dist/cjs/components/progress.js.map +4 -4
  162. package/dist/cjs/components/progress.props.d.ts +0 -5
  163. package/dist/cjs/components/progress.props.d.ts.map +1 -1
  164. package/dist/cjs/components/progress.props.js +1 -1
  165. package/dist/cjs/components/progress.props.js.map +4 -4
  166. package/dist/cjs/components/radio-cards.js +1 -1
  167. package/dist/cjs/components/radio-cards.js.map +4 -4
  168. package/dist/cjs/components/radio-cards.props.d.ts +0 -5
  169. package/dist/cjs/components/radio-cards.props.d.ts.map +1 -1
  170. package/dist/cjs/components/radio-cards.props.js +1 -1
  171. package/dist/cjs/components/radio-cards.props.js.map +4 -4
  172. package/dist/cjs/components/radio-group.d.ts.map +1 -1
  173. package/dist/cjs/components/radio-group.js +1 -1
  174. package/dist/cjs/components/radio-group.js.map +4 -4
  175. package/dist/cjs/components/radio-group.props.d.ts +0 -5
  176. package/dist/cjs/components/radio-group.props.d.ts.map +1 -1
  177. package/dist/cjs/components/radio-group.props.js +1 -1
  178. package/dist/cjs/components/radio-group.props.js.map +4 -4
  179. package/dist/cjs/components/radio.js +1 -1
  180. package/dist/cjs/components/radio.js.map +4 -4
  181. package/dist/cjs/components/radio.props.js +1 -1
  182. package/dist/cjs/components/radio.props.js.map +4 -4
  183. package/dist/cjs/components/schemas/base-button.schema.d.ts +111 -257
  184. package/dist/cjs/components/schemas/base-button.schema.d.ts.map +1 -1
  185. package/dist/cjs/components/schemas/base-button.schema.js +1 -1
  186. package/dist/cjs/components/schemas/base-button.schema.js.map +2 -2
  187. package/dist/cjs/components/schemas/button.schema.d.ts +136 -558
  188. package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -1
  189. package/dist/cjs/components/schemas/button.schema.js +1 -1
  190. package/dist/cjs/components/schemas/button.schema.js.map +2 -2
  191. package/dist/cjs/components/schemas/icon-button.schema.d.ts +123 -241
  192. package/dist/cjs/components/schemas/icon-button.schema.d.ts.map +1 -1
  193. package/dist/cjs/components/schemas/icon-button.schema.js +1 -1
  194. package/dist/cjs/components/schemas/icon-button.schema.js.map +2 -2
  195. package/dist/cjs/components/schemas/index.js +1 -1
  196. package/dist/cjs/components/schemas/index.js.map +2 -2
  197. package/dist/cjs/components/schemas/shell.schema.d.ts +592 -851
  198. package/dist/cjs/components/schemas/shell.schema.d.ts.map +1 -1
  199. package/dist/cjs/components/schemas/shell.schema.js +1 -1
  200. package/dist/cjs/components/schemas/shell.schema.js.map +2 -2
  201. package/dist/cjs/components/schemas/toggle-button.schema.d.ts +138 -1027
  202. package/dist/cjs/components/schemas/toggle-button.schema.d.ts.map +1 -1
  203. package/dist/cjs/components/schemas/toggle-button.schema.js +1 -1
  204. package/dist/cjs/components/schemas/toggle-button.schema.js.map +2 -2
  205. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +124 -466
  206. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts.map +1 -1
  207. package/dist/cjs/components/schemas/toggle-icon-button.schema.js +1 -1
  208. package/dist/cjs/components/schemas/toggle-icon-button.schema.js.map +2 -2
  209. package/dist/cjs/components/scroll-area.js +1 -1
  210. package/dist/cjs/components/segmented-control.js +1 -1
  211. package/dist/cjs/components/select.js +1 -1
  212. package/dist/cjs/components/select.js.map +4 -4
  213. package/dist/cjs/components/select.props.d.ts +0 -5
  214. package/dist/cjs/components/select.props.d.ts.map +1 -1
  215. package/dist/cjs/components/select.props.js +1 -1
  216. package/dist/cjs/components/select.props.js.map +4 -4
  217. package/dist/cjs/components/separator.js.map +1 -1
  218. package/dist/cjs/components/separator.props.js.map +1 -1
  219. package/dist/cjs/components/sheet.js +1 -1
  220. package/dist/cjs/components/sheet.js.map +4 -4
  221. package/dist/cjs/components/shell.js +1 -1
  222. package/dist/cjs/components/shell.js.map +4 -4
  223. package/dist/cjs/components/sidebar.d.ts +0 -1
  224. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  225. package/dist/cjs/components/sidebar.js +1 -1
  226. package/dist/cjs/components/sidebar.js.map +4 -4
  227. package/dist/cjs/components/sidebar.props.d.ts +0 -5
  228. package/dist/cjs/components/sidebar.props.d.ts.map +1 -1
  229. package/dist/cjs/components/sidebar.props.js +1 -1
  230. package/dist/cjs/components/sidebar.props.js.map +4 -4
  231. package/dist/cjs/components/slider.js +1 -1
  232. package/dist/cjs/components/slider.js.map +4 -4
  233. package/dist/cjs/components/slider.props.d.ts +0 -5
  234. package/dist/cjs/components/slider.props.d.ts.map +1 -1
  235. package/dist/cjs/components/slider.props.js +1 -1
  236. package/dist/cjs/components/slider.props.js.map +4 -4
  237. package/dist/cjs/components/slot.d.ts +6 -2
  238. package/dist/cjs/components/slot.d.ts.map +1 -1
  239. package/dist/cjs/components/switch.d.ts.map +1 -1
  240. package/dist/cjs/components/switch.js +1 -1
  241. package/dist/cjs/components/switch.js.map +4 -4
  242. package/dist/cjs/components/switch.props.d.ts +0 -5
  243. package/dist/cjs/components/switch.props.d.ts.map +1 -1
  244. package/dist/cjs/components/switch.props.js +1 -1
  245. package/dist/cjs/components/switch.props.js.map +4 -4
  246. package/dist/cjs/components/tab-nav.js +1 -1
  247. package/dist/cjs/components/tab-nav.js.map +4 -4
  248. package/dist/cjs/components/tab-nav.props.js +1 -1
  249. package/dist/cjs/components/tab-nav.props.js.map +4 -4
  250. package/dist/cjs/components/tabs.js +1 -1
  251. package/dist/cjs/components/tabs.js.map +4 -4
  252. package/dist/cjs/components/tabs.props.js +1 -1
  253. package/dist/cjs/components/tabs.props.js.map +4 -4
  254. package/dist/cjs/components/text-area.js.map +1 -1
  255. package/dist/cjs/components/text-area.props.js.map +1 -1
  256. package/dist/cjs/components/text-field.js +2 -2
  257. package/dist/cjs/components/text-field.js.map +1 -1
  258. package/dist/cjs/components/text-field.props.js.map +1 -1
  259. package/dist/cjs/components/text.js +1 -1
  260. package/dist/cjs/components/text.js.map +4 -4
  261. package/dist/cjs/components/text.props.d.ts +3 -2
  262. package/dist/cjs/components/text.props.d.ts.map +1 -1
  263. package/dist/cjs/components/text.props.js +1 -1
  264. package/dist/cjs/components/text.props.js.map +4 -4
  265. package/dist/cjs/components/theme-panel.js +3 -3
  266. package/dist/cjs/components/theme-panel.js.map +4 -4
  267. package/dist/cjs/components/theme.js +1 -1
  268. package/dist/cjs/components/theme.js.map +2 -2
  269. package/dist/cjs/components/theme.props.d.ts +1 -1
  270. package/dist/cjs/components/theme.props.js +1 -1
  271. package/dist/cjs/components/theme.props.js.map +2 -2
  272. package/dist/cjs/components/toggle-button.js +2 -2
  273. package/dist/cjs/components/toggle-button.js.map +4 -4
  274. package/dist/cjs/components/toggle-icon-button.js +3 -3
  275. package/dist/cjs/components/toggle-icon-button.js.map +4 -4
  276. package/dist/cjs/components/toolbar.js +1 -1
  277. package/dist/cjs/components/toolbar.js.map +4 -4
  278. package/dist/cjs/components/tooltip.js +1 -1
  279. package/dist/cjs/components/tooltip.js.map +4 -4
  280. package/dist/cjs/components/user-card.d.ts.map +1 -1
  281. package/dist/cjs/components/user-card.js +1 -1
  282. package/dist/cjs/components/user-card.js.map +4 -4
  283. package/dist/cjs/components/user-card.props.d.ts +0 -5
  284. package/dist/cjs/components/user-card.props.d.ts.map +1 -1
  285. package/dist/cjs/components/user-card.props.js +1 -1
  286. package/dist/cjs/components/user-card.props.js.map +4 -4
  287. package/dist/cjs/components/virtual-menu.d.ts.map +1 -1
  288. package/dist/cjs/components/virtual-menu.js +1 -1
  289. package/dist/cjs/components/virtual-menu.js.map +4 -4
  290. package/dist/cjs/helpers/extract-props.js +1 -1
  291. package/dist/cjs/helpers/extract-props.js.map +2 -2
  292. package/dist/cjs/helpers/get-margin-styles.js +1 -1
  293. package/dist/cjs/helpers/get-margin-styles.js.map +2 -2
  294. package/dist/cjs/hooks/use-breakpoint.d.ts +4 -1
  295. package/dist/cjs/hooks/use-breakpoint.d.ts.map +1 -1
  296. package/dist/cjs/hooks/use-breakpoint.js +1 -1
  297. package/dist/cjs/hooks/use-breakpoint.js.map +3 -3
  298. package/dist/cjs/index.js +5 -5
  299. package/dist/cjs/index.js.map +4 -4
  300. package/dist/cjs/props/color.prop.js.map +1 -1
  301. package/dist/cjs/props/emphasis.prop.d.ts +11 -0
  302. package/dist/cjs/props/emphasis.prop.d.ts.map +1 -0
  303. package/dist/cjs/props/emphasis.prop.js +2 -0
  304. package/dist/cjs/props/emphasis.prop.js.map +7 -0
  305. package/dist/cjs/props/index.d.ts +1 -1
  306. package/dist/cjs/props/index.d.ts.map +1 -1
  307. package/dist/cjs/props/index.js +1 -1
  308. package/dist/cjs/props/index.js.map +4 -4
  309. package/dist/esm/chunk-2264DHUW.js +2 -0
  310. package/dist/esm/{chunk-AU3D6F42.js.map → chunk-2264DHUW.js.map} +2 -2
  311. package/dist/esm/chunk-2CMM7MEL.js +2 -0
  312. package/dist/esm/chunk-2CMM7MEL.js.map +7 -0
  313. package/dist/esm/chunk-2I7QRVJ5.js +2 -0
  314. package/dist/esm/chunk-2I7QRVJ5.js.map +7 -0
  315. package/dist/esm/{chunk-2FYJTSOP.js → chunk-2SZZ75RJ.js} +2 -2
  316. package/dist/esm/chunk-3KSGRY6I.js +2 -0
  317. package/dist/esm/chunk-3KSGRY6I.js.map +7 -0
  318. package/dist/esm/chunk-4NTGF22C.js +2 -0
  319. package/dist/esm/chunk-4NTGF22C.js.map +7 -0
  320. package/dist/esm/chunk-4WVNMGI5.js +2 -0
  321. package/dist/esm/chunk-4WVNMGI5.js.map +7 -0
  322. package/dist/esm/chunk-4XKK32M4.js +2 -0
  323. package/dist/esm/chunk-4XKK32M4.js.map +7 -0
  324. package/dist/esm/chunk-5SNHUVDA.js +2 -0
  325. package/dist/esm/{chunk-H7ST535H.js → chunk-5WRCK4R7.js} +2 -2
  326. package/dist/esm/chunk-5XV4QEP5.js +2 -0
  327. package/dist/esm/chunk-5XV4QEP5.js.map +7 -0
  328. package/dist/esm/chunk-667BKCUG.js +2 -0
  329. package/dist/esm/chunk-667BKCUG.js.map +7 -0
  330. package/dist/esm/{chunk-MHPPVJDB.js → chunk-67MKPTZJ.js} +2 -2
  331. package/dist/esm/chunk-7EWFBWBS.js +2 -0
  332. package/dist/esm/chunk-7EWFBWBS.js.map +7 -0
  333. package/dist/esm/{chunk-CRWYCLTE.js → chunk-ABSKRHVM.js} +2 -2
  334. package/dist/esm/chunk-AF6XKU3W.js +2 -0
  335. package/dist/esm/chunk-AF6XKU3W.js.map +7 -0
  336. package/dist/esm/chunk-AGSSWWFI.js +2 -0
  337. package/dist/esm/chunk-AGSSWWFI.js.map +7 -0
  338. package/dist/esm/{chunk-PTLFMWCN.js → chunk-ALWNS44Q.js} +2 -2
  339. package/dist/esm/{chunk-3MWWP4MW.js → chunk-BBJUB52V.js} +2 -2
  340. package/dist/esm/{chunk-GYBLXQ4R.js → chunk-CDG5WH4U.js} +2 -2
  341. package/dist/esm/{chunk-CVWCKOHO.js → chunk-CEIK5U6C.js} +2 -2
  342. package/dist/esm/{chunk-374ZYJUP.js → chunk-CESYMTJQ.js} +2 -2
  343. package/dist/esm/chunk-CFNESRYI.js +2 -0
  344. package/dist/esm/chunk-CFNESRYI.js.map +7 -0
  345. package/dist/esm/{chunk-P7IAHW4V.js → chunk-CIYF56YS.js} +2 -2
  346. package/dist/esm/chunk-CJ27XP5Z.js +2 -0
  347. package/dist/esm/chunk-CJ27XP5Z.js.map +7 -0
  348. package/dist/esm/{chunk-LKAK5GXF.js → chunk-CKMMUHKE.js} +2 -2
  349. package/dist/esm/{chunk-SESAEJ6W.js → chunk-CLMOWP5T.js} +2 -2
  350. package/dist/esm/{chunk-DUHJVT64.js → chunk-CRSHBENJ.js} +2 -2
  351. package/dist/esm/{chunk-GJSGKE7B.js → chunk-CTA5ODAO.js} +2 -2
  352. package/dist/esm/{chunk-CWRNW44F.js → chunk-DSJY5RI3.js} +2 -2
  353. package/dist/esm/chunk-EBQZ3Z22.js +2 -0
  354. package/dist/esm/chunk-EBQZ3Z22.js.map +7 -0
  355. package/dist/esm/chunk-ECXGQQJB.js +2 -0
  356. package/dist/esm/chunk-ECXGQQJB.js.map +7 -0
  357. package/dist/esm/chunk-EDKQURDU.js +2 -0
  358. package/dist/esm/chunk-EDKQURDU.js.map +7 -0
  359. package/dist/esm/{chunk-M24UXMOQ.js → chunk-EE2IH2GL.js} +2 -2
  360. package/dist/esm/{chunk-NMKPFUNP.js → chunk-EPTYNVCU.js} +2 -2
  361. package/dist/esm/chunk-F6V7GBNQ.js +2 -0
  362. package/dist/esm/chunk-F6V7GBNQ.js.map +7 -0
  363. package/dist/esm/{chunk-XMRIRFM7.js → chunk-FG7XM7KJ.js} +2 -2
  364. package/dist/esm/chunk-FMBECDL4.js +2 -0
  365. package/dist/esm/{chunk-4XJY6FIK.js.map → chunk-FMBECDL4.js.map} +3 -3
  366. package/dist/esm/{chunk-6IGTK4JE.js → chunk-GAV3NHYL.js} +2 -2
  367. package/dist/esm/{chunk-TOOSHJOA.js → chunk-GO7OHBHW.js} +2 -2
  368. package/dist/esm/{chunk-MBCBP73P.js → chunk-HJU4I34X.js} +2 -2
  369. package/dist/esm/{chunk-VX6ARMWP.js → chunk-HSAG7C53.js} +2 -2
  370. package/dist/esm/{chunk-K6QZMNCD.js → chunk-IFM4EMZB.js} +2 -2
  371. package/dist/esm/chunk-JFWMAYEH.js +2 -0
  372. package/dist/esm/chunk-JFWMAYEH.js.map +7 -0
  373. package/dist/esm/{chunk-HF5WY5YE.js → chunk-JGLAE5G7.js} +2 -2
  374. package/dist/esm/{chunk-4YFJWXL2.js → chunk-JJKQ7CGI.js} +2 -2
  375. package/dist/esm/chunk-JSW6J6RS.js +2 -0
  376. package/dist/esm/chunk-JSW6J6RS.js.map +7 -0
  377. package/dist/esm/{chunk-P7HYVJSU.js → chunk-K3UAS7RW.js} +2 -2
  378. package/dist/esm/chunk-KCWESYMR.js +2 -0
  379. package/dist/esm/chunk-KCWESYMR.js.map +7 -0
  380. package/dist/esm/{chunk-25WZA7ZU.js → chunk-KFR3CK24.js} +2 -2
  381. package/dist/esm/chunk-KJUDZCYK.js +2 -0
  382. package/dist/esm/{chunk-SO67YEVQ.js.map → chunk-KJUDZCYK.js.map} +2 -2
  383. package/dist/esm/{chunk-WFMYNZXZ.js → chunk-KMPE7TJ6.js} +2 -2
  384. package/dist/esm/{chunk-WXP6MMUB.js → chunk-KOFEFBB3.js} +2 -2
  385. package/dist/esm/chunk-KRDP5SQ7.js +2 -0
  386. package/dist/esm/chunk-KRDP5SQ7.js.map +7 -0
  387. package/dist/esm/chunk-KZWNGWIM.js +2 -0
  388. package/dist/esm/chunk-KZWNGWIM.js.map +7 -0
  389. package/dist/esm/chunk-KZYFTDGO.js +2 -0
  390. package/dist/esm/chunk-KZYFTDGO.js.map +7 -0
  391. package/dist/esm/chunk-L3BWTV7I.js +2 -0
  392. package/dist/esm/chunk-L3BWTV7I.js.map +7 -0
  393. package/dist/esm/{chunk-W7N7V5YD.js → chunk-M6DJRFJZ.js} +2 -2
  394. package/dist/esm/{chunk-7QDTSBJF.js → chunk-MCPRXVKZ.js} +2 -2
  395. package/dist/esm/{chunk-DNHUQLXO.js → chunk-MEO7MJMQ.js} +2 -2
  396. package/dist/esm/{chunk-YVBCDTTD.js → chunk-MN3XALXD.js} +2 -2
  397. package/dist/esm/{chunk-F7IYL2VW.js → chunk-MS5J4MF6.js} +2 -2
  398. package/dist/esm/{chunk-OSRJRBKP.js → chunk-MTOLKA6S.js} +2 -2
  399. package/dist/esm/{chunk-MBE2YSBU.js → chunk-N4GTDLRD.js} +2 -2
  400. package/dist/esm/chunk-NIIEIZKQ.js +2 -0
  401. package/dist/esm/chunk-NIIEIZKQ.js.map +7 -0
  402. package/dist/esm/{chunk-FHOCUZDR.js → chunk-NIQT45PJ.js} +2 -2
  403. package/dist/esm/chunk-NVDXXGVW.js +2 -0
  404. package/dist/esm/chunk-NVDXXGVW.js.map +7 -0
  405. package/dist/esm/{chunk-IKSN4RNB.js → chunk-O2U6RJTB.js} +3 -3
  406. package/dist/esm/{chunk-IKSN4RNB.js.map → chunk-O2U6RJTB.js.map} +2 -2
  407. package/dist/esm/{chunk-TOLLPRMM.js → chunk-OFUNVHZ5.js} +2 -2
  408. package/dist/esm/chunk-OGVKSYLL.js +2 -0
  409. package/dist/esm/chunk-OGVKSYLL.js.map +7 -0
  410. package/dist/esm/chunk-OJU5GCDZ.js +2 -0
  411. package/dist/esm/chunk-OJU5GCDZ.js.map +7 -0
  412. package/dist/esm/{chunk-RMKXWYOV.js → chunk-OLAWVEAI.js} +2 -2
  413. package/dist/esm/chunk-OS3FCYZY.js +2 -0
  414. package/dist/esm/{chunk-UWT6TE5D.js → chunk-OTXCKEWT.js} +2 -2
  415. package/dist/esm/chunk-OWMA6GTG.js +2 -0
  416. package/dist/esm/chunk-OWMA6GTG.js.map +7 -0
  417. package/dist/esm/chunk-PZ7OYATT.js +2 -0
  418. package/dist/esm/chunk-PZ7OYATT.js.map +7 -0
  419. package/dist/esm/chunk-QFPHEY77.js +2 -0
  420. package/dist/esm/chunk-QFPHEY77.js.map +7 -0
  421. package/dist/esm/chunk-QQ62LO3X.js +2 -0
  422. package/dist/esm/chunk-QQ62LO3X.js.map +7 -0
  423. package/dist/esm/{chunk-MK2R6DAU.js → chunk-QWVU2TW4.js} +2 -2
  424. package/dist/esm/{chunk-MK2R6DAU.js.map → chunk-QWVU2TW4.js.map} +3 -3
  425. package/dist/esm/chunk-RDAMYQFF.js +2 -0
  426. package/dist/esm/chunk-RDAMYQFF.js.map +7 -0
  427. package/dist/esm/{chunk-D6B7IMZU.js → chunk-RNTCHVFI.js} +2 -2
  428. package/dist/esm/{chunk-YUP6EICB.js → chunk-SEY4NA45.js} +2 -2
  429. package/dist/esm/{chunk-YV2KYHGR.js → chunk-UBOOUDS4.js} +2 -2
  430. package/dist/esm/chunk-V27ZAN3E.js +2 -0
  431. package/dist/esm/chunk-V27ZAN3E.js.map +7 -0
  432. package/dist/esm/chunk-VBI3AWPT.js +2 -0
  433. package/dist/esm/chunk-VBI3AWPT.js.map +7 -0
  434. package/dist/esm/{chunk-S56YSRHP.js → chunk-VHECAEUP.js} +2 -2
  435. package/dist/esm/chunk-VLTXI4A7.js +2 -0
  436. package/dist/esm/chunk-VLTXI4A7.js.map +7 -0
  437. package/dist/esm/{chunk-4AQTUBVP.js → chunk-VNH7BJOA.js} +2 -2
  438. package/dist/esm/{chunk-IEWCQU2S.js → chunk-VR7ZAFYN.js} +2 -2
  439. package/dist/esm/chunk-VZSQATP6.js +2 -0
  440. package/dist/esm/{chunk-666GX7O5.js.map → chunk-VZSQATP6.js.map} +2 -2
  441. package/dist/esm/{chunk-PLWXTEVE.js → chunk-W2FOBR5Q.js} +2 -2
  442. package/dist/esm/chunk-WGYUWEQV.js +2 -0
  443. package/dist/esm/chunk-WGYUWEQV.js.map +7 -0
  444. package/dist/esm/{chunk-FXUUI6Z2.js → chunk-WHFJ4JUN.js} +2 -2
  445. package/dist/esm/chunk-WMGIFPI2.js +2 -0
  446. package/dist/esm/chunk-WMGIFPI2.js.map +7 -0
  447. package/dist/esm/chunk-WXQIIKWV.js +2 -0
  448. package/dist/esm/chunk-WXQIIKWV.js.map +7 -0
  449. package/dist/esm/{chunk-2UPAYDKR.js → chunk-X7V3V3W4.js} +2 -2
  450. package/dist/esm/{chunk-6XGZPIUT.js → chunk-XYVLQDGR.js} +2 -2
  451. package/dist/esm/{chunk-6XGZPIUT.js.map → chunk-XYVLQDGR.js.map} +2 -2
  452. package/dist/esm/{chunk-S2HA3W3V.js → chunk-Y5RCH23Z.js} +2 -2
  453. package/dist/esm/{chunk-OWAUCLRT.js → chunk-YBSRX63K.js} +2 -2
  454. package/dist/esm/{chunk-66ZLZAAJ.js → chunk-ZNK6AH2G.js} +1 -1
  455. package/dist/esm/{chunk-66ZLZAAJ.js.map → chunk-ZNK6AH2G.js.map} +1 -1
  456. package/dist/esm/{chunk-KPBG7CIL.js → chunk-ZO7TTWJI.js} +2 -2
  457. package/dist/esm/chunk-ZWZGUBL4.js +2 -0
  458. package/dist/esm/chunk-ZWZGUBL4.js.map +7 -0
  459. package/dist/esm/components/_internal/base-button.js +1 -1
  460. package/dist/esm/components/_internal/base-button.props.d.ts +2 -7
  461. package/dist/esm/components/_internal/base-button.props.d.ts.map +1 -1
  462. package/dist/esm/components/_internal/base-button.props.js +1 -1
  463. package/dist/esm/components/_internal/base-checkbox.props.d.ts +0 -5
  464. package/dist/esm/components/_internal/base-checkbox.props.d.ts.map +1 -1
  465. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  466. package/dist/esm/components/_internal/base-menu.props.d.ts +0 -10
  467. package/dist/esm/components/_internal/base-menu.props.d.ts.map +1 -1
  468. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  469. package/dist/esm/components/_internal/base-menu.utils.d.ts +48 -0
  470. package/dist/esm/components/_internal/base-menu.utils.d.ts.map +1 -0
  471. package/dist/esm/components/_internal/base-menu.utils.js +2 -0
  472. package/dist/esm/components/_internal/base-radio.props.d.ts +0 -5
  473. package/dist/esm/components/_internal/base-radio.props.d.ts.map +1 -1
  474. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  475. package/dist/esm/components/_internal/base-tab-list.props.d.ts +0 -5
  476. package/dist/esm/components/_internal/base-tab-list.props.d.ts.map +1 -1
  477. package/dist/esm/components/_internal/base-tab-list.props.js +1 -1
  478. package/dist/esm/components/_internal/dropdown-menu-drill-down.d.ts +77 -59
  479. package/dist/esm/components/_internal/dropdown-menu-drill-down.d.ts.map +1 -1
  480. package/dist/esm/components/_internal/dropdown-menu-drill-down.js +1 -1
  481. package/dist/esm/components/_internal/menu-context.d.ts +7 -3
  482. package/dist/esm/components/_internal/menu-context.d.ts.map +1 -1
  483. package/dist/esm/components/_internal/menu-context.js +1 -1
  484. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  485. package/dist/esm/components/_internal/shell-handles.js +1 -1
  486. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  487. package/dist/esm/components/_internal/shell-prop-helpers.js +1 -1
  488. package/dist/esm/components/_internal/shell-resize.js +1 -1
  489. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  490. package/dist/esm/components/accessible-icon.js +1 -1
  491. package/dist/esm/components/accordion.js +1 -1
  492. package/dist/esm/components/accordion.props.d.ts +0 -6
  493. package/dist/esm/components/accordion.props.d.ts.map +1 -1
  494. package/dist/esm/components/accordion.props.js +1 -1
  495. package/dist/esm/components/alert-dialog.js +1 -1
  496. package/dist/esm/components/alert-dialog.props.js +1 -1
  497. package/dist/esm/components/aspect-ratio.js +1 -1
  498. package/dist/esm/components/avatar.js +1 -1
  499. package/dist/esm/components/avatar.props.d.ts +0 -5
  500. package/dist/esm/components/avatar.props.d.ts.map +1 -1
  501. package/dist/esm/components/avatar.props.js +1 -1
  502. package/dist/esm/components/badge.js +1 -1
  503. package/dist/esm/components/badge.props.d.ts +0 -5
  504. package/dist/esm/components/badge.props.d.ts.map +1 -1
  505. package/dist/esm/components/badge.props.js +1 -1
  506. package/dist/esm/components/blockquote.js +1 -1
  507. package/dist/esm/components/blockquote.props.d.ts +3 -2
  508. package/dist/esm/components/blockquote.props.d.ts.map +1 -1
  509. package/dist/esm/components/blockquote.props.js +1 -1
  510. package/dist/esm/components/box.js +1 -1
  511. package/dist/esm/components/box.props.js +1 -1
  512. package/dist/esm/components/button.js +1 -1
  513. package/dist/esm/components/button.props.js +1 -1
  514. package/dist/esm/components/callout.js +1 -1
  515. package/dist/esm/components/callout.props.d.ts +0 -5
  516. package/dist/esm/components/callout.props.d.ts.map +1 -1
  517. package/dist/esm/components/callout.props.js +1 -1
  518. package/dist/esm/components/card.js +1 -1
  519. package/dist/esm/components/card.props.js +1 -1
  520. package/dist/esm/components/chatbar.d.ts +46 -44
  521. package/dist/esm/components/chatbar.d.ts.map +1 -1
  522. package/dist/esm/components/chatbar.js +1 -1
  523. package/dist/esm/components/checkbox-cards.d.ts.map +1 -1
  524. package/dist/esm/components/checkbox-cards.js +1 -1
  525. package/dist/esm/components/checkbox-cards.props.d.ts +0 -5
  526. package/dist/esm/components/checkbox-cards.props.d.ts.map +1 -1
  527. package/dist/esm/components/checkbox-cards.props.js +1 -1
  528. package/dist/esm/components/checkbox-group.d.ts.map +1 -1
  529. package/dist/esm/components/checkbox-group.js +1 -1
  530. package/dist/esm/components/checkbox-group.primitive.js +1 -1
  531. package/dist/esm/components/checkbox-group.props.d.ts +0 -5
  532. package/dist/esm/components/checkbox-group.props.d.ts.map +1 -1
  533. package/dist/esm/components/checkbox-group.props.js +1 -1
  534. package/dist/esm/components/checkbox.js +1 -1
  535. package/dist/esm/components/checkbox.props.js +1 -1
  536. package/dist/esm/components/code.js +1 -1
  537. package/dist/esm/components/code.props.d.ts +3 -2
  538. package/dist/esm/components/code.props.d.ts.map +1 -1
  539. package/dist/esm/components/code.props.js +1 -1
  540. package/dist/esm/components/combobox.d.ts +28 -15
  541. package/dist/esm/components/combobox.d.ts.map +1 -1
  542. package/dist/esm/components/combobox.js +1 -1
  543. package/dist/esm/components/combobox.props.d.ts +46 -8
  544. package/dist/esm/components/combobox.props.d.ts.map +1 -1
  545. package/dist/esm/components/combobox.props.js +1 -1
  546. package/dist/esm/components/container.js +1 -1
  547. package/dist/esm/components/container.props.js +1 -1
  548. package/dist/esm/components/context-menu.d.ts +18 -5
  549. package/dist/esm/components/context-menu.d.ts.map +1 -1
  550. package/dist/esm/components/context-menu.js +1 -1
  551. package/dist/esm/components/context-menu.props.d.ts +1 -1
  552. package/dist/esm/components/context-menu.props.d.ts.map +1 -1
  553. package/dist/esm/components/context-menu.props.js +1 -1
  554. package/dist/esm/components/data-list.js +1 -1
  555. package/dist/esm/components/data-list.props.d.ts +4 -3
  556. package/dist/esm/components/data-list.props.d.ts.map +1 -1
  557. package/dist/esm/components/data-list.props.js +1 -1
  558. package/dist/esm/components/dialog.js +1 -1
  559. package/dist/esm/components/dialog.props.js +1 -1
  560. package/dist/esm/components/dropdown-menu.d.ts +11 -18
  561. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  562. package/dist/esm/components/dropdown-menu.js +1 -1
  563. package/dist/esm/components/dropdown-menu.props.js +1 -1
  564. package/dist/esm/components/em.js +1 -1
  565. package/dist/esm/components/em.props.js +1 -1
  566. package/dist/esm/components/flex.js +1 -1
  567. package/dist/esm/components/flex.props.js +1 -1
  568. package/dist/esm/components/grid.js +1 -1
  569. package/dist/esm/components/grid.props.js +1 -1
  570. package/dist/esm/components/heading.js +1 -1
  571. package/dist/esm/components/heading.props.d.ts +3 -2
  572. package/dist/esm/components/heading.props.d.ts.map +1 -1
  573. package/dist/esm/components/heading.props.js +1 -1
  574. package/dist/esm/components/hover-card.js +1 -1
  575. package/dist/esm/components/hover-card.props.js +1 -1
  576. package/dist/esm/components/icon-button.js +1 -1
  577. package/dist/esm/components/icon-button.props.js +1 -1
  578. package/dist/esm/components/icons.js +1 -1
  579. package/dist/esm/components/image.js +1 -1
  580. package/dist/esm/components/image.props.js +1 -1
  581. package/dist/esm/components/index.js +1 -1
  582. package/dist/esm/components/inset.js +1 -1
  583. package/dist/esm/components/inset.props.js +1 -1
  584. package/dist/esm/components/kbd.js +1 -1
  585. package/dist/esm/components/kbd.props.js +1 -1
  586. package/dist/esm/components/link.js +1 -1
  587. package/dist/esm/components/link.props.d.ts +0 -5
  588. package/dist/esm/components/link.props.d.ts.map +1 -1
  589. package/dist/esm/components/link.props.js +1 -1
  590. package/dist/esm/components/navbar.js +1 -1
  591. package/dist/esm/components/navbar.props.js +1 -1
  592. package/dist/esm/components/popover.js +1 -1
  593. package/dist/esm/components/popover.props.js +1 -1
  594. package/dist/esm/components/portal.js +1 -1
  595. package/dist/esm/components/progress.js +1 -1
  596. package/dist/esm/components/progress.props.d.ts +0 -5
  597. package/dist/esm/components/progress.props.d.ts.map +1 -1
  598. package/dist/esm/components/progress.props.js +1 -1
  599. package/dist/esm/components/quote.js +1 -1
  600. package/dist/esm/components/quote.props.js +1 -1
  601. package/dist/esm/components/radio-cards.js +1 -1
  602. package/dist/esm/components/radio-cards.props.d.ts +0 -5
  603. package/dist/esm/components/radio-cards.props.d.ts.map +1 -1
  604. package/dist/esm/components/radio-cards.props.js +1 -1
  605. package/dist/esm/components/radio-group.d.ts.map +1 -1
  606. package/dist/esm/components/radio-group.js +1 -1
  607. package/dist/esm/components/radio-group.props.d.ts +0 -5
  608. package/dist/esm/components/radio-group.props.d.ts.map +1 -1
  609. package/dist/esm/components/radio-group.props.js +1 -1
  610. package/dist/esm/components/radio.js +1 -1
  611. package/dist/esm/components/radio.props.js +1 -1
  612. package/dist/esm/components/reset.js +1 -1
  613. package/dist/esm/components/schemas/base-button.schema.d.ts +111 -257
  614. package/dist/esm/components/schemas/base-button.schema.d.ts.map +1 -1
  615. package/dist/esm/components/schemas/base-button.schema.js +1 -1
  616. package/dist/esm/components/schemas/button.schema.d.ts +136 -558
  617. package/dist/esm/components/schemas/button.schema.d.ts.map +1 -1
  618. package/dist/esm/components/schemas/button.schema.js +1 -1
  619. package/dist/esm/components/schemas/icon-button.schema.d.ts +123 -241
  620. package/dist/esm/components/schemas/icon-button.schema.d.ts.map +1 -1
  621. package/dist/esm/components/schemas/icon-button.schema.js +1 -1
  622. package/dist/esm/components/schemas/index.js +1 -1
  623. package/dist/esm/components/schemas/shell.schema.d.ts +592 -851
  624. package/dist/esm/components/schemas/shell.schema.d.ts.map +1 -1
  625. package/dist/esm/components/schemas/shell.schema.js +1 -1
  626. package/dist/esm/components/schemas/toggle-button.schema.d.ts +138 -1027
  627. package/dist/esm/components/schemas/toggle-button.schema.d.ts.map +1 -1
  628. package/dist/esm/components/schemas/toggle-button.schema.js +1 -1
  629. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +124 -466
  630. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts.map +1 -1
  631. package/dist/esm/components/schemas/toggle-icon-button.schema.js +1 -1
  632. package/dist/esm/components/scroll-area.js +1 -1
  633. package/dist/esm/components/scroll-area.props.js +1 -1
  634. package/dist/esm/components/section.js +1 -1
  635. package/dist/esm/components/section.props.js +1 -1
  636. package/dist/esm/components/segmented-control.js +1 -1
  637. package/dist/esm/components/segmented-control.props.js +1 -1
  638. package/dist/esm/components/select.js +1 -1
  639. package/dist/esm/components/select.props.d.ts +0 -5
  640. package/dist/esm/components/select.props.d.ts.map +1 -1
  641. package/dist/esm/components/select.props.js +1 -1
  642. package/dist/esm/components/separator.js +1 -1
  643. package/dist/esm/components/separator.props.js +1 -1
  644. package/dist/esm/components/sheet.js +1 -1
  645. package/dist/esm/components/shell.context.js +1 -1
  646. package/dist/esm/components/shell.hooks.js +1 -1
  647. package/dist/esm/components/shell.js +1 -1
  648. package/dist/esm/components/shell.types.js +1 -1
  649. package/dist/esm/components/sidebar.d.ts +0 -1
  650. package/dist/esm/components/sidebar.d.ts.map +1 -1
  651. package/dist/esm/components/sidebar.js +1 -1
  652. package/dist/esm/components/sidebar.props.d.ts +0 -5
  653. package/dist/esm/components/sidebar.props.d.ts.map +1 -1
  654. package/dist/esm/components/sidebar.props.js +1 -1
  655. package/dist/esm/components/skeleton.js +1 -1
  656. package/dist/esm/components/skeleton.props.js +1 -1
  657. package/dist/esm/components/slider.js +1 -1
  658. package/dist/esm/components/slider.props.d.ts +0 -5
  659. package/dist/esm/components/slider.props.d.ts.map +1 -1
  660. package/dist/esm/components/slider.props.js +1 -1
  661. package/dist/esm/components/slot.d.ts +6 -2
  662. package/dist/esm/components/slot.d.ts.map +1 -1
  663. package/dist/esm/components/slot.js +1 -1
  664. package/dist/esm/components/spinner.js +1 -1
  665. package/dist/esm/components/spinner.props.js +1 -1
  666. package/dist/esm/components/strong.js +1 -1
  667. package/dist/esm/components/strong.props.js +1 -1
  668. package/dist/esm/components/switch.d.ts.map +1 -1
  669. package/dist/esm/components/switch.js +1 -1
  670. package/dist/esm/components/switch.props.d.ts +0 -5
  671. package/dist/esm/components/switch.props.d.ts.map +1 -1
  672. package/dist/esm/components/switch.props.js +1 -1
  673. package/dist/esm/components/tab-nav.js +1 -1
  674. package/dist/esm/components/tab-nav.props.js +1 -1
  675. package/dist/esm/components/table.js +1 -1
  676. package/dist/esm/components/table.props.js +1 -1
  677. package/dist/esm/components/tabs.js +1 -1
  678. package/dist/esm/components/tabs.props.js +1 -1
  679. package/dist/esm/components/text-area.js +1 -1
  680. package/dist/esm/components/text-area.props.js +1 -1
  681. package/dist/esm/components/text-field.js +1 -1
  682. package/dist/esm/components/text-field.props.js +1 -1
  683. package/dist/esm/components/text.js +1 -1
  684. package/dist/esm/components/text.props.d.ts +3 -2
  685. package/dist/esm/components/text.props.d.ts.map +1 -1
  686. package/dist/esm/components/text.props.js +1 -1
  687. package/dist/esm/components/theme-panel.js +1 -1
  688. package/dist/esm/components/theme.js +1 -1
  689. package/dist/esm/components/theme.props.d.ts +1 -1
  690. package/dist/esm/components/theme.props.js +1 -1
  691. package/dist/esm/components/toggle-button.js +1 -1
  692. package/dist/esm/components/toggle-icon-button.js +1 -1
  693. package/dist/esm/components/toolbar.js +1 -1
  694. package/dist/esm/components/tooltip.js +1 -1
  695. package/dist/esm/components/tooltip.props.js +1 -1
  696. package/dist/esm/components/user-card.d.ts.map +1 -1
  697. package/dist/esm/components/user-card.js +1 -1
  698. package/dist/esm/components/user-card.props.d.ts +0 -5
  699. package/dist/esm/components/user-card.props.d.ts.map +1 -1
  700. package/dist/esm/components/user-card.props.js +1 -1
  701. package/dist/esm/components/virtual-menu.d.ts.map +1 -1
  702. package/dist/esm/components/virtual-menu.js +1 -1
  703. package/dist/esm/components/visually-hidden.js +1 -1
  704. package/dist/esm/helpers/compile-prop-defs.js +1 -1
  705. package/dist/esm/helpers/extract-margin-props.js +1 -1
  706. package/dist/esm/helpers/extract-props.js +1 -1
  707. package/dist/esm/helpers/font-config.js +1 -1
  708. package/dist/esm/helpers/get-margin-styles.js +1 -1
  709. package/dist/esm/helpers/get-matching-gray-color.js +1 -1
  710. package/dist/esm/helpers/get-responsive-styles.js +1 -1
  711. package/dist/esm/helpers/get-subtree.js +1 -1
  712. package/dist/esm/helpers/has-own-property.js +1 -1
  713. package/dist/esm/helpers/index.js +1 -1
  714. package/dist/esm/helpers/inert.js +1 -1
  715. package/dist/esm/helpers/is-responsive-object.js +1 -1
  716. package/dist/esm/helpers/map-prop-values.js +1 -1
  717. package/dist/esm/helpers/merge-styles.js +1 -1
  718. package/dist/esm/helpers/normalize-to-px.js +1 -1
  719. package/dist/esm/helpers/require-react-element.js +1 -1
  720. package/dist/esm/helpers/use-deprecation-warning.js +1 -1
  721. package/dist/esm/hooks/index.js +1 -1
  722. package/dist/esm/hooks/use-body-pointer-events-cleanup.js +1 -1
  723. package/dist/esm/hooks/use-breakpoint.d.ts +4 -1
  724. package/dist/esm/hooks/use-breakpoint.d.ts.map +1 -1
  725. package/dist/esm/hooks/use-breakpoint.js +1 -1
  726. package/dist/esm/hooks/use-live-announcer.js +1 -1
  727. package/dist/esm/hooks/use-prop-synced-state.js +1 -1
  728. package/dist/esm/hooks/use-toggle-state.js +1 -1
  729. package/dist/esm/hooks/use-tooltip-wrapper.js +1 -1
  730. package/dist/esm/index.js +1 -1
  731. package/dist/esm/props/as-child.prop.js +1 -1
  732. package/dist/esm/props/color.prop.js +1 -1
  733. package/dist/esm/props/emphasis.prop.d.ts +11 -0
  734. package/dist/esm/props/emphasis.prop.d.ts.map +1 -0
  735. package/dist/esm/props/emphasis.prop.js +2 -0
  736. package/dist/esm/props/emphasis.prop.js.map +7 -0
  737. package/dist/esm/props/font-family.prop.js +1 -1
  738. package/dist/esm/props/gap.props.js +1 -1
  739. package/dist/esm/props/height.props.js +1 -1
  740. package/dist/esm/props/index.d.ts +1 -1
  741. package/dist/esm/props/index.d.ts.map +1 -1
  742. package/dist/esm/props/index.js +1 -1
  743. package/dist/esm/props/layout.props.js +1 -1
  744. package/dist/esm/props/leading-trim.prop.js +1 -1
  745. package/dist/esm/props/margin.props.js +1 -1
  746. package/dist/esm/props/padding.props.js +1 -1
  747. package/dist/esm/props/prop-def.js +1 -1
  748. package/dist/esm/props/radius.prop.js +1 -1
  749. package/dist/esm/props/shadow.props.js +1 -1
  750. package/dist/esm/props/text-align.prop.js +1 -1
  751. package/dist/esm/props/text-wrap.prop.js +1 -1
  752. package/dist/esm/props/truncate.prop.js +1 -1
  753. package/dist/esm/props/weight.prop.js +1 -1
  754. package/dist/esm/props/width.props.js +1 -1
  755. package/fonts.css +2 -0
  756. package/package.json +36 -36
  757. package/schemas/base-button.json +64 -63
  758. package/schemas/button.json +78 -77
  759. package/schemas/icon-button.json +76 -75
  760. package/schemas/index.json +380 -375
  761. package/schemas/toggle-button.json +82 -81
  762. package/schemas/toggle-icon-button.json +80 -79
  763. package/src/components/_internal/base-button.css +14 -69
  764. package/src/components/_internal/base-button.props.ts +2 -4
  765. package/src/components/_internal/base-checkbox.css +9 -63
  766. package/src/components/_internal/base-checkbox.props.ts +0 -2
  767. package/src/components/_internal/base-menu.css +56 -183
  768. package/src/components/_internal/base-menu.props.ts +0 -2
  769. package/src/components/_internal/base-menu.utils.tsx +144 -0
  770. package/src/components/_internal/base-radio.css +9 -46
  771. package/src/components/_internal/base-radio.props.ts +0 -2
  772. package/src/components/_internal/base-sidebar-menu.css +3 -3
  773. package/src/components/_internal/base-tab-list.css +1 -7
  774. package/src/components/_internal/base-tab-list.props.ts +0 -2
  775. package/src/components/_internal/dropdown-menu-drill-down.tsx +281 -183
  776. package/src/components/_internal/menu-context.tsx +24 -15
  777. package/src/components/accordion.css +4 -62
  778. package/src/components/accordion.props.tsx +0 -3
  779. package/src/components/avatar.css +10 -61
  780. package/src/components/avatar.props.tsx +0 -2
  781. package/src/components/badge.css +7 -32
  782. package/src/components/badge.props.tsx +0 -2
  783. package/src/components/blockquote.props.tsx +2 -2
  784. package/src/components/callout.css +5 -25
  785. package/src/components/callout.props.tsx +0 -2
  786. package/src/components/chatbar.css +94 -26
  787. package/src/components/chatbar.tsx +742 -735
  788. package/src/components/checkbox-cards.props.tsx +0 -2
  789. package/src/components/checkbox-cards.tsx +1 -4
  790. package/src/components/checkbox-group.tsx +0 -2
  791. package/src/components/code.css +36 -36
  792. package/src/components/code.props.tsx +2 -2
  793. package/src/components/combobox.css +61 -120
  794. package/src/components/combobox.props.tsx +15 -5
  795. package/src/components/combobox.tsx +439 -215
  796. package/src/components/context-menu.props.tsx +4 -1
  797. package/src/components/context-menu.tsx +106 -63
  798. package/src/components/data-list.css +14 -9
  799. package/src/components/data-list.props.tsx +5 -2
  800. package/src/components/dropdown-menu.css +41 -121
  801. package/src/components/dropdown-menu.tsx +427 -276
  802. package/src/components/heading.css +16 -5
  803. package/src/components/heading.props.tsx +2 -2
  804. package/src/components/link.css +3 -4
  805. package/src/components/link.props.tsx +0 -2
  806. package/src/components/progress.css +3 -10
  807. package/src/components/progress.props.tsx +0 -2
  808. package/src/components/radio-cards.css +1 -4
  809. package/src/components/radio-cards.props.tsx +0 -2
  810. package/src/components/radio-group.props.tsx +0 -2
  811. package/src/components/radio-group.tsx +0 -2
  812. package/src/components/schemas/base-button.schema.ts +0 -10
  813. package/src/components/schemas/shell.schema.ts +11 -18
  814. package/src/components/scroll-area.css +2 -3
  815. package/src/components/select.css +13 -96
  816. package/src/components/select.props.tsx +0 -2
  817. package/src/components/sheet.tsx +2 -2
  818. package/src/components/sidebar.css +21 -115
  819. package/src/components/sidebar.props.tsx +0 -2
  820. package/src/components/sidebar.tsx +2 -5
  821. package/src/components/slider.css +4 -37
  822. package/src/components/slider.props.tsx +0 -2
  823. package/src/components/slider.tsx +1 -1
  824. package/src/components/switch.css +4 -23
  825. package/src/components/switch.props.tsx +0 -2
  826. package/src/components/switch.tsx +1 -3
  827. package/src/components/text.css +16 -5
  828. package/src/components/text.props.tsx +2 -2
  829. package/src/components/theme-panel.tsx +1 -1
  830. package/src/components/theme.props.tsx +1 -1
  831. package/src/components/user-card.props.tsx +0 -2
  832. package/src/components/user-card.tsx +1 -2
  833. package/src/components/virtual-menu.tsx +12 -8
  834. package/src/hooks/use-breakpoint.ts +19 -3
  835. package/src/props/color.prop.ts +1 -1
  836. package/src/props/emphasis.prop.ts +19 -0
  837. package/src/props/index.ts +1 -1
  838. package/src/styles/fonts.css +6 -1
  839. package/src/styles/tokens/color.css +109 -0
  840. package/src/styles/tokens/constants.css +0 -1
  841. package/src/styles/tokens/font-family.css +13 -5
  842. package/styles.css +694 -1225
  843. package/tokens/base.css +205 -151
  844. package/tokens.css +205 -152
  845. package/dist/cjs/props/high-contrast.prop.d.ts +0 -9
  846. package/dist/cjs/props/high-contrast.prop.d.ts.map +0 -1
  847. package/dist/cjs/props/high-contrast.prop.js +0 -2
  848. package/dist/cjs/props/high-contrast.prop.js.map +0 -7
  849. package/dist/esm/chunk-3DC63EZP.js +0 -2
  850. package/dist/esm/chunk-3DC63EZP.js.map +0 -7
  851. package/dist/esm/chunk-3XT5P2HO.js +0 -2
  852. package/dist/esm/chunk-4TCXI3L3.js +0 -2
  853. package/dist/esm/chunk-4TCXI3L3.js.map +0 -7
  854. package/dist/esm/chunk-4XJY6FIK.js +0 -2
  855. package/dist/esm/chunk-4Z33XHOK.js +0 -2
  856. package/dist/esm/chunk-4Z33XHOK.js.map +0 -7
  857. package/dist/esm/chunk-666GX7O5.js +0 -2
  858. package/dist/esm/chunk-6HEAF5IT.js +0 -2
  859. package/dist/esm/chunk-6HEAF5IT.js.map +0 -7
  860. package/dist/esm/chunk-A2RZGGMY.js +0 -2
  861. package/dist/esm/chunk-A2RZGGMY.js.map +0 -7
  862. package/dist/esm/chunk-A3NH376A.js +0 -2
  863. package/dist/esm/chunk-A3NH376A.js.map +0 -7
  864. package/dist/esm/chunk-AU3D6F42.js +0 -2
  865. package/dist/esm/chunk-B24BDVG2.js +0 -2
  866. package/dist/esm/chunk-B24BDVG2.js.map +0 -7
  867. package/dist/esm/chunk-BI7W34WW.js +0 -2
  868. package/dist/esm/chunk-BI7W34WW.js.map +0 -7
  869. package/dist/esm/chunk-CBR3VIRS.js +0 -2
  870. package/dist/esm/chunk-CBR3VIRS.js.map +0 -7
  871. package/dist/esm/chunk-D2AZAGGP.js +0 -2
  872. package/dist/esm/chunk-D2AZAGGP.js.map +0 -7
  873. package/dist/esm/chunk-E2Z5IA2P.js +0 -2
  874. package/dist/esm/chunk-E2Z5IA2P.js.map +0 -7
  875. package/dist/esm/chunk-F7IUK2I2.js +0 -2
  876. package/dist/esm/chunk-FLBLS7M4.js +0 -2
  877. package/dist/esm/chunk-FLBLS7M4.js.map +0 -7
  878. package/dist/esm/chunk-GSIE6SUD.js +0 -2
  879. package/dist/esm/chunk-GSIE6SUD.js.map +0 -7
  880. package/dist/esm/chunk-GWXVETMF.js +0 -2
  881. package/dist/esm/chunk-GWXVETMF.js.map +0 -7
  882. package/dist/esm/chunk-HOHUDTTL.js +0 -2
  883. package/dist/esm/chunk-HOHUDTTL.js.map +0 -7
  884. package/dist/esm/chunk-HUKPWYG2.js +0 -2
  885. package/dist/esm/chunk-HUKPWYG2.js.map +0 -7
  886. package/dist/esm/chunk-HVWEPVBH.js +0 -2
  887. package/dist/esm/chunk-HVWEPVBH.js.map +0 -7
  888. package/dist/esm/chunk-IDYHZIS6.js +0 -2
  889. package/dist/esm/chunk-IDYHZIS6.js.map +0 -7
  890. package/dist/esm/chunk-IGQRZCAI.js +0 -2
  891. package/dist/esm/chunk-IGQRZCAI.js.map +0 -7
  892. package/dist/esm/chunk-ILRJA7FU.js +0 -2
  893. package/dist/esm/chunk-ILRJA7FU.js.map +0 -7
  894. package/dist/esm/chunk-KKBP2CRH.js +0 -2
  895. package/dist/esm/chunk-KKBP2CRH.js.map +0 -7
  896. package/dist/esm/chunk-KTAFIHJY.js +0 -2
  897. package/dist/esm/chunk-KTAFIHJY.js.map +0 -7
  898. package/dist/esm/chunk-MCQAJV4K.js +0 -2
  899. package/dist/esm/chunk-MCQAJV4K.js.map +0 -7
  900. package/dist/esm/chunk-MJ47O7KH.js +0 -2
  901. package/dist/esm/chunk-MJ47O7KH.js.map +0 -7
  902. package/dist/esm/chunk-MOR3NSXQ.js +0 -2
  903. package/dist/esm/chunk-MOR3NSXQ.js.map +0 -7
  904. package/dist/esm/chunk-N2B7TWIP.js +0 -2
  905. package/dist/esm/chunk-N2B7TWIP.js.map +0 -7
  906. package/dist/esm/chunk-QCNUTT4R.js +0 -2
  907. package/dist/esm/chunk-QCNUTT4R.js.map +0 -7
  908. package/dist/esm/chunk-QEOAXJLN.js +0 -2
  909. package/dist/esm/chunk-QEOAXJLN.js.map +0 -7
  910. package/dist/esm/chunk-SO67YEVQ.js +0 -2
  911. package/dist/esm/chunk-TBJ6L4NL.js +0 -2
  912. package/dist/esm/chunk-TBJ6L4NL.js.map +0 -7
  913. package/dist/esm/chunk-TGN5ZJU5.js +0 -2
  914. package/dist/esm/chunk-TGN5ZJU5.js.map +0 -7
  915. package/dist/esm/chunk-UGD7Z3L4.js +0 -2
  916. package/dist/esm/chunk-UGD7Z3L4.js.map +0 -7
  917. package/dist/esm/chunk-UMX5MGLG.js +0 -2
  918. package/dist/esm/chunk-UMX5MGLG.js.map +0 -7
  919. package/dist/esm/chunk-WR7YLY46.js +0 -2
  920. package/dist/esm/chunk-WR7YLY46.js.map +0 -7
  921. package/dist/esm/chunk-WZETC7WV.js +0 -2
  922. package/dist/esm/chunk-WZETC7WV.js.map +0 -7
  923. package/dist/esm/chunk-XGGLYV5D.js +0 -2
  924. package/dist/esm/chunk-XGGLYV5D.js.map +0 -7
  925. package/dist/esm/chunk-XKASPWCJ.js +0 -2
  926. package/dist/esm/chunk-XKASPWCJ.js.map +0 -7
  927. package/dist/esm/chunk-YEB3H7QN.js +0 -2
  928. package/dist/esm/chunk-YEB3H7QN.js.map +0 -7
  929. package/dist/esm/chunk-ZRKE3NVU.js +0 -2
  930. package/dist/esm/chunk-ZRKE3NVU.js.map +0 -7
  931. package/dist/esm/chunk-ZY6SQWHT.js +0 -2
  932. package/dist/esm/chunk-ZY6SQWHT.js.map +0 -7
  933. package/dist/esm/props/high-contrast.prop.d.ts +0 -9
  934. package/dist/esm/props/high-contrast.prop.d.ts.map +0 -1
  935. package/dist/esm/props/high-contrast.prop.js +0 -2
  936. package/src/props/high-contrast.prop.ts +0 -13
  937. /package/dist/esm/{chunk-2FYJTSOP.js.map → chunk-2SZZ75RJ.js.map} +0 -0
  938. /package/dist/esm/{chunk-F7IUK2I2.js.map → chunk-5SNHUVDA.js.map} +0 -0
  939. /package/dist/esm/{chunk-H7ST535H.js.map → chunk-5WRCK4R7.js.map} +0 -0
  940. /package/dist/esm/{chunk-MHPPVJDB.js.map → chunk-67MKPTZJ.js.map} +0 -0
  941. /package/dist/esm/{chunk-CRWYCLTE.js.map → chunk-ABSKRHVM.js.map} +0 -0
  942. /package/dist/esm/{chunk-PTLFMWCN.js.map → chunk-ALWNS44Q.js.map} +0 -0
  943. /package/dist/esm/{chunk-3MWWP4MW.js.map → chunk-BBJUB52V.js.map} +0 -0
  944. /package/dist/esm/{chunk-GYBLXQ4R.js.map → chunk-CDG5WH4U.js.map} +0 -0
  945. /package/dist/esm/{chunk-CVWCKOHO.js.map → chunk-CEIK5U6C.js.map} +0 -0
  946. /package/dist/esm/{chunk-374ZYJUP.js.map → chunk-CESYMTJQ.js.map} +0 -0
  947. /package/dist/esm/{chunk-P7IAHW4V.js.map → chunk-CIYF56YS.js.map} +0 -0
  948. /package/dist/esm/{chunk-LKAK5GXF.js.map → chunk-CKMMUHKE.js.map} +0 -0
  949. /package/dist/esm/{chunk-SESAEJ6W.js.map → chunk-CLMOWP5T.js.map} +0 -0
  950. /package/dist/esm/{chunk-DUHJVT64.js.map → chunk-CRSHBENJ.js.map} +0 -0
  951. /package/dist/esm/{chunk-GJSGKE7B.js.map → chunk-CTA5ODAO.js.map} +0 -0
  952. /package/dist/esm/{chunk-CWRNW44F.js.map → chunk-DSJY5RI3.js.map} +0 -0
  953. /package/dist/esm/{chunk-M24UXMOQ.js.map → chunk-EE2IH2GL.js.map} +0 -0
  954. /package/dist/esm/{chunk-NMKPFUNP.js.map → chunk-EPTYNVCU.js.map} +0 -0
  955. /package/dist/esm/{chunk-XMRIRFM7.js.map → chunk-FG7XM7KJ.js.map} +0 -0
  956. /package/dist/esm/{chunk-6IGTK4JE.js.map → chunk-GAV3NHYL.js.map} +0 -0
  957. /package/dist/esm/{chunk-TOOSHJOA.js.map → chunk-GO7OHBHW.js.map} +0 -0
  958. /package/dist/esm/{chunk-MBCBP73P.js.map → chunk-HJU4I34X.js.map} +0 -0
  959. /package/dist/esm/{chunk-VX6ARMWP.js.map → chunk-HSAG7C53.js.map} +0 -0
  960. /package/dist/esm/{chunk-K6QZMNCD.js.map → chunk-IFM4EMZB.js.map} +0 -0
  961. /package/dist/esm/{chunk-HF5WY5YE.js.map → chunk-JGLAE5G7.js.map} +0 -0
  962. /package/dist/esm/{chunk-4YFJWXL2.js.map → chunk-JJKQ7CGI.js.map} +0 -0
  963. /package/dist/esm/{chunk-P7HYVJSU.js.map → chunk-K3UAS7RW.js.map} +0 -0
  964. /package/dist/esm/{chunk-25WZA7ZU.js.map → chunk-KFR3CK24.js.map} +0 -0
  965. /package/dist/esm/{chunk-WFMYNZXZ.js.map → chunk-KMPE7TJ6.js.map} +0 -0
  966. /package/dist/esm/{chunk-WXP6MMUB.js.map → chunk-KOFEFBB3.js.map} +0 -0
  967. /package/dist/esm/{chunk-W7N7V5YD.js.map → chunk-M6DJRFJZ.js.map} +0 -0
  968. /package/dist/esm/{chunk-7QDTSBJF.js.map → chunk-MCPRXVKZ.js.map} +0 -0
  969. /package/dist/esm/{chunk-DNHUQLXO.js.map → chunk-MEO7MJMQ.js.map} +0 -0
  970. /package/dist/esm/{chunk-YVBCDTTD.js.map → chunk-MN3XALXD.js.map} +0 -0
  971. /package/dist/esm/{chunk-F7IYL2VW.js.map → chunk-MS5J4MF6.js.map} +0 -0
  972. /package/dist/esm/{chunk-OSRJRBKP.js.map → chunk-MTOLKA6S.js.map} +0 -0
  973. /package/dist/esm/{chunk-MBE2YSBU.js.map → chunk-N4GTDLRD.js.map} +0 -0
  974. /package/dist/esm/{chunk-FHOCUZDR.js.map → chunk-NIQT45PJ.js.map} +0 -0
  975. /package/dist/esm/{chunk-TOLLPRMM.js.map → chunk-OFUNVHZ5.js.map} +0 -0
  976. /package/dist/esm/{chunk-RMKXWYOV.js.map → chunk-OLAWVEAI.js.map} +0 -0
  977. /package/dist/esm/{chunk-3XT5P2HO.js.map → chunk-OS3FCYZY.js.map} +0 -0
  978. /package/dist/esm/{chunk-UWT6TE5D.js.map → chunk-OTXCKEWT.js.map} +0 -0
  979. /package/dist/esm/{chunk-D6B7IMZU.js.map → chunk-RNTCHVFI.js.map} +0 -0
  980. /package/dist/esm/{chunk-YUP6EICB.js.map → chunk-SEY4NA45.js.map} +0 -0
  981. /package/dist/esm/{chunk-YV2KYHGR.js.map → chunk-UBOOUDS4.js.map} +0 -0
  982. /package/dist/esm/{chunk-S56YSRHP.js.map → chunk-VHECAEUP.js.map} +0 -0
  983. /package/dist/esm/{chunk-4AQTUBVP.js.map → chunk-VNH7BJOA.js.map} +0 -0
  984. /package/dist/esm/{chunk-IEWCQU2S.js.map → chunk-VR7ZAFYN.js.map} +0 -0
  985. /package/dist/esm/{chunk-PLWXTEVE.js.map → chunk-W2FOBR5Q.js.map} +0 -0
  986. /package/dist/esm/{chunk-FXUUI6Z2.js.map → chunk-WHFJ4JUN.js.map} +0 -0
  987. /package/dist/esm/{chunk-2UPAYDKR.js.map → chunk-X7V3V3W4.js.map} +0 -0
  988. /package/dist/esm/{chunk-S2HA3W3V.js.map → chunk-Y5RCH23Z.js.map} +0 -0
  989. /package/dist/esm/{chunk-OWAUCLRT.js.map → chunk-YBSRX63K.js.map} +0 -0
  990. /package/dist/esm/{chunk-KPBG7CIL.js.map → chunk-ZO7TTWJI.js.map} +0 -0
  991. /package/dist/esm/{props/high-contrast.prop.js.map → components/_internal/base-menu.utils.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/context-menu.tsx", "../../../src/components/scroll-area.tsx", "../../../src/props/as-child.prop.ts", "../../../src/props/radius.prop.ts", "../../../src/components/scroll-area.props.tsx", "../../../src/helpers/extract-margin-props.ts", "../../../src/props/prop-def.ts", "../../../src/helpers/has-own-property.ts", "../../../src/helpers/is-responsive-object.ts", "../../../src/helpers/get-responsive-styles.ts", "../../../src/helpers/merge-styles.ts", "../../../src/props/margin.props.ts", "../../../src/helpers/get-margin-styles.ts", "../../../src/helpers/get-subtree.ts", "../../../src/props/color.prop.ts", "../../../src/props/high-contrast.prop.ts", "../../../src/components/_internal/base-menu.props.ts", "../../../src/components/theme.tsx", "../../../src/helpers/get-matching-gray-color.ts", "../../../src/hooks/use-prop-synced-state.ts", "../../../src/helpers/use-deprecation-warning.ts", "../../../src/components/theme.props.tsx", "../../../src/components/icons.tsx", "../../../src/helpers/extract-props.ts", "../../../src/helpers/compile-prop-defs.ts", "../../../src/helpers/require-react-element.ts", "../../../src/components/kbd.tsx", "../../../src/components/kbd.props.tsx"],
4
- "sourcesContent": ["/**\n * Context Menu component that provides right-click menu functionality.\n * Requires client-side rendering due to event handling and portal usage.\n */\n'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ContextMenu as ContextMenuPrimitive, Slot } from 'radix-ui';\n\nimport { ScrollArea } from './scroll-area.js';\nimport {\n contextMenuContentPropDefs,\n contextMenuItemPropDefs,\n contextMenuCheckboxItemPropDefs,\n contextMenuRadioItemPropDefs,\n} from './context-menu.props.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { ThickCheckIcon, ThickChevronRightIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport { Kbd } from './kbd.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';\n\ninterface ContextMenuRootProps\n extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Root> {}\nconst ContextMenuRoot: React.FC<ContextMenuRootProps> = (props) => (\n <ContextMenuPrimitive.Root {...props} />\n);\nContextMenuRoot.displayName = 'ContextMenu.Root';\n\ntype ContextMenuTriggerElement = React.ElementRef<typeof ContextMenuPrimitive.Trigger>;\ninterface ContextMenuTriggerProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Trigger, RemovedProps> {}\nconst ContextMenuTrigger = React.forwardRef<ContextMenuTriggerElement, ContextMenuTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </ContextMenuPrimitive.Trigger>\n ),\n);\nContextMenuTrigger.displayName = 'ContextMenu.Trigger';\n\ntype ContextMenuContentOwnProps = GetPropDefTypes<typeof contextMenuContentPropDefs>;\ntype ContextMenuContentContextValue = ContextMenuContentOwnProps;\nconst ContextMenuContentContext = React.createContext<ContextMenuContentContextValue>({});\ntype ContextMenuContentElement = React.ElementRef<typeof ContextMenuPrimitive.Content>;\ninterface ContextMenuContentProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Content, RemovedProps>,\n ContextMenuContentContextValue {\n container?: React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Portal>['container'];\n}\nconst ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(\n (props, forwardedRef) => {\n const themeContext = useThemeContext();\n\n useDeprecatedPanelBackgroundWarning(props.panelBackground);\n\n // Material takes precedence over panelBackground\n const effectiveMaterial =\n props.material ?? props.panelBackground ?? themeContext.panelBackground;\n\n // Memoize theme context values to prevent unnecessary re-renders\n const memoizedThemeContext = React.useMemo(\n () => ({\n material: effectiveMaterial,\n accentColor: themeContext.accentColor,\n }),\n [effectiveMaterial, themeContext.accentColor],\n );\n\n const {\n size = contextMenuContentPropDefs.size.default,\n variant = contextMenuContentPropDefs.variant.default,\n highContrast = contextMenuContentPropDefs.highContrast.default,\n material = memoizedThemeContext.material,\n } = props;\n const {\n className,\n children,\n color,\n container,\n forceMount,\n material: _,\n panelBackground: __,\n ...contentProps\n } = extractProps(props, contextMenuContentPropDefs);\n\n // Memoize color resolution to prevent unnecessary re-renders\n const resolvedColor = React.useMemo(\n () => color || memoizedThemeContext.accentColor,\n [color, memoizedThemeContext.accentColor],\n );\n return (\n <ContextMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <ContextMenuPrimitive.Content\n data-accent-color={resolvedColor}\n data-material={material}\n data-panel-background={material}\n alignOffset={-Number(size) * 4}\n collisionPadding={10}\n {...contentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-ContextMenuContent',\n className,\n )}\n >\n <ScrollArea type=\"auto\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-ContextMenuViewport')}>\n <ContextMenuContentContext.Provider\n value={React.useMemo(\n () => ({ size, variant, color: resolvedColor, highContrast, material }),\n [size, variant, resolvedColor, highContrast, material],\n )}\n >\n {children}\n </ContextMenuContentContext.Provider>\n </div>\n </ScrollArea>\n </ContextMenuPrimitive.Content>\n </Theme>\n </ContextMenuPrimitive.Portal>\n );\n },\n);\nContextMenuContent.displayName = 'ContextMenu.Content';\n\ntype ContextMenuLabelElement = React.ElementRef<typeof ContextMenuPrimitive.Label>;\ninterface ContextMenuLabelProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Label, RemovedProps> {}\nconst ContextMenuLabel = React.forwardRef<ContextMenuLabelElement, ContextMenuLabelProps>(\n ({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Label\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuLabel', 'rt-ContextMenuLabel', className)}\n />\n ),\n);\nContextMenuLabel.displayName = 'ContextMenu.Label';\n\ntype ContextMenuItemElement = React.ElementRef<typeof ContextMenuPrimitive.Item>;\ntype ContextMenuItemOwnProps = GetPropDefTypes<typeof contextMenuItemPropDefs>;\ninterface ContextMenuItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Item, RemovedProps>,\n ContextMenuItemOwnProps {}\nconst ContextMenuItem = React.forwardRef<ContextMenuItemElement, ContextMenuItemProps>(\n (props, forwardedRef) => {\n const {\n className,\n children,\n color = contextMenuItemPropDefs.color.default,\n shortcut,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.Item\n data-accent-color={color}\n {...itemProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-ContextMenuItem', className)}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n {shortcut && (\n <div className=\"rt-BaseMenuShortcut rt-ContextMenuShortcut\">\n <Kbd size=\"1\">{shortcut}</Kbd>\n </div>\n )}\n </ContextMenuPrimitive.Item>\n );\n },\n);\nContextMenuItem.displayName = 'ContextMenu.Item';\n\ntype ContextMenuGroupElement = React.ElementRef<typeof ContextMenuPrimitive.Group>;\ninterface ContextMenuGroupProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Group, RemovedProps> {}\nconst ContextMenuGroup = React.forwardRef<ContextMenuGroupElement, ContextMenuGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Group\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuGroup', 'rt-ContextMenuGroup', className)}\n />\n ),\n);\nContextMenuGroup.displayName = 'ContextMenu.Group';\n\ntype ContextMenuRadioGroupElement = React.ElementRef<typeof ContextMenuPrimitive.RadioGroup>;\ninterface ContextMenuRadioGroupProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.RadioGroup, RemovedProps> {}\nconst ContextMenuRadioGroup = React.forwardRef<\n ContextMenuRadioGroupElement,\n ContextMenuRadioGroupProps\n>(({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.RadioGroup\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuRadioGroup', 'rt-ContextMenuRadioGroup', className)}\n />\n));\nContextMenuRadioGroup.displayName = 'ContextMenu.RadioGroup';\n\ntype ContextMenuRadioItemElement = React.ElementRef<typeof ContextMenuPrimitive.RadioItem>;\ntype ContextMenuRadioItemOwnProps = GetPropDefTypes<typeof contextMenuRadioItemPropDefs>;\ninterface ContextMenuRadioItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.RadioItem, RemovedProps>,\n ContextMenuRadioItemOwnProps {}\nconst ContextMenuRadioItem = React.forwardRef<\n ContextMenuRadioItemElement,\n ContextMenuRadioItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n color = contextMenuRadioItemPropDefs.color.default,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.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-ContextMenuItem',\n 'rt-ContextMenuRadioItem',\n className,\n )}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n <ContextMenuPrimitive.ItemIndicator className=\"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator\">\n <ThickCheckIcon className=\"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon\" />\n </ContextMenuPrimitive.ItemIndicator>\n </ContextMenuPrimitive.RadioItem>\n );\n});\nContextMenuRadioItem.displayName = 'ContextMenu.RadioItem';\n\ntype ContextMenuCheckboxItemElement = React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>;\ntype ContextMenuCheckboxItemOwnProps = GetPropDefTypes<typeof contextMenuCheckboxItemPropDefs>;\ninterface ContextMenuCheckboxItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.CheckboxItem, RemovedProps>,\n ContextMenuCheckboxItemOwnProps {}\nconst ContextMenuCheckboxItem = React.forwardRef<\n ContextMenuCheckboxItemElement,\n ContextMenuCheckboxItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n shortcut,\n color = contextMenuCheckboxItemPropDefs.color.default,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.CheckboxItem\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuCheckboxItem',\n 'rt-ContextMenuItem',\n 'rt-ContextMenuCheckboxItem',\n className,\n )}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n <ContextMenuPrimitive.ItemIndicator className=\"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator\">\n <ThickCheckIcon className=\"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon\" />\n </ContextMenuPrimitive.ItemIndicator>\n {shortcut && (\n <div className=\"rt-BaseMenuShortcut rt-ContextMenuShortcut\">\n <Kbd size=\"1\">{shortcut}</Kbd>\n </div>\n )}\n </ContextMenuPrimitive.CheckboxItem>\n );\n});\nContextMenuCheckboxItem.displayName = 'ContextMenu.CheckboxItem';\n\ninterface ContextMenuSubProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Sub, RemovedProps> {}\nconst ContextMenuSub: React.FC<ContextMenuSubProps> = (props) => (\n <ContextMenuPrimitive.Sub {...props} />\n);\nContextMenuSub.displayName = 'ContextMenu.Sub';\n\ntype ContextMenuSubTriggerElement = React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>;\ninterface ContextMenuSubTriggerProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.SubTrigger, RemovedProps> {}\nconst ContextMenuSubTrigger = React.forwardRef<\n ContextMenuSubTriggerElement,\n ContextMenuSubTriggerProps\n>((props, forwardedRef) => {\n const { className, children, ...subTriggerProps } = props;\n return (\n <ContextMenuPrimitive.SubTrigger\n {...subTriggerProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuSubTrigger',\n 'rt-ContextMenuItem',\n 'rt-ContextMenuSubTrigger',\n className,\n )}\n >\n {children}\n <div className=\"rt-BaseMenuShortcut rt-ContextMenuShortcut\">\n <ThickChevronRightIcon className=\"rt-BaseMenuSubTriggerIcon rt-ContextMenuSubTriggerIcon\" />\n </div>\n </ContextMenuPrimitive.SubTrigger>\n );\n});\nContextMenuSubTrigger.displayName = 'ContextMenu.SubTrigger';\n\ntype ContextMenuSubContentElement = React.ElementRef<typeof ContextMenuPrimitive.SubContent>;\ninterface ContextMenuSubContentProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.SubContent, RemovedProps>,\n ContextMenuContentContextValue {\n container?: React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Portal>['container'];\n}\nconst ContextMenuSubContent = React.forwardRef<\n ContextMenuSubContentElement,\n ContextMenuSubContentProps\n>((props, forwardedRef) => {\n const { size, variant, color, highContrast, material } = React.useContext(ContextMenuContentContext);\n\n const {\n className,\n children,\n container,\n forceMount,\n material: _,\n panelBackground: __,\n ...subContentProps\n } = extractProps(\n { size, variant, color, highContrast, material, ...props },\n contextMenuContentPropDefs,\n );\n return (\n <ContextMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <ContextMenuPrimitive.SubContent\n data-accent-color={color}\n data-material={material}\n data-panel-background={material}\n alignOffset={-Number(size) * 4}\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-BaseMenuSubContent',\n 'rt-ContextMenuContent',\n 'rt-ContextMenuSubContent',\n className,\n )}\n >\n <ScrollArea type=\"auto\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-ContextMenuViewport')}>\n {children}\n </div>\n </ScrollArea>\n </ContextMenuPrimitive.SubContent>\n </Theme>\n </ContextMenuPrimitive.Portal>\n );\n});\nContextMenuSubContent.displayName = 'ContextMenu.SubContent';\n\ntype ContextMenuSeparatorElement = React.ElementRef<typeof ContextMenuPrimitive.Separator>;\ninterface ContextMenuSeparatorProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Separator, RemovedProps> {}\nconst ContextMenuSeparator = React.forwardRef<\n ContextMenuSeparatorElement,\n ContextMenuSeparatorProps\n>(({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuSeparator', 'rt-ContextMenuSeparator', className)}\n />\n));\nContextMenuSeparator.displayName = 'ContextMenu.Separator';\n\nexport {\n ContextMenuRoot as Root,\n ContextMenuTrigger as Trigger,\n ContextMenuContent as Content,\n ContextMenuLabel as Label,\n ContextMenuItem as Item,\n ContextMenuGroup as Group,\n ContextMenuRadioGroup as RadioGroup,\n ContextMenuRadioItem as RadioItem,\n ContextMenuCheckboxItem as CheckboxItem,\n ContextMenuSub as Sub,\n ContextMenuSubTrigger as SubTrigger,\n ContextMenuSubContent as SubContent,\n ContextMenuSeparator as Separator,\n};\n\nexport type {\n ContextMenuRootProps as RootProps,\n ContextMenuTriggerProps as TriggerProps,\n ContextMenuContentProps as ContentProps,\n ContextMenuLabelProps as LabelProps,\n ContextMenuItemProps as ItemProps,\n ContextMenuGroupProps as GroupProps,\n ContextMenuRadioGroupProps as RadioGroupProps,\n ContextMenuRadioItemProps as RadioItemProps,\n ContextMenuCheckboxItemProps as CheckboxItemProps,\n ContextMenuSubProps as SubProps,\n ContextMenuSubTriggerProps as SubTriggerProps,\n ContextMenuSubContentProps as SubContentProps,\n ContextMenuSeparatorProps as SeparatorProps,\n};\n", "import * as React from 'react';\nimport classNames from 'classnames';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\n\nimport { scrollAreaPropDefs } from './scroll-area.props.js';\nimport { extractMarginProps } from '../helpers/extract-margin-props.js';\nimport { getMarginStyles } from '../helpers/get-margin-styles.js';\nimport { getResponsiveClassNames } from '../helpers/get-responsive-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 size = scrollAreaPropDefs.size.default,\n radius = scrollAreaPropDefs.radius.default,\n scrollbars = scrollAreaPropDefs.scrollbars.default,\n ...viewportProps\n } = marginRest;\n\n return (\n <ScrollAreaPrimitive.Root\n type={type}\n scrollHideDelay={scrollHideDelay}\n className={classNames('rt-ScrollAreaRoot', marginClassNames, className)}\n style={mergeStyles(marginCustomProperties, style)}\n asChild={asChild}\n >\n {getSubtree({ asChild, children }, (children) => (\n <>\n <ScrollAreaPrimitive.Viewport\n {...viewportProps}\n ref={forwardedRef}\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={classNames(\n 'rt-ScrollAreaScrollbar',\n getResponsiveClassNames({\n className: 'rt-r-size',\n value: size,\n propValues: scrollAreaPropDefs.size.values,\n }),\n )}\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={classNames(\n 'rt-ScrollAreaScrollbar',\n getResponsiveClassNames({\n className: 'rt-r-size',\n value: size,\n propValues: scrollAreaPropDefs.size.values,\n }),\n )}\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", "import type { PropDef } from './prop-def.js';\n\nconst asChildPropDef = {\n /**\n * Composes the component into its immediate child instead of rendering its own HTML element.\n * You\u2019ll have to provide a single React Element child.\n */\n asChild: {\n type: 'boolean',\n },\n} satisfies {\n asChild: PropDef<boolean>;\n};\n\nexport { asChildPropDef };\n", "import type { PropDef } from './prop-def.js';\n\nconst radii = ['none', 'small', 'medium', 'large', 'full'] as const;\n\nconst radiusPropDef = {\n radius: {\n type: 'enum',\n values: radii,\n default: undefined,\n },\n} satisfies {\n radius: PropDef<(typeof radii)[number]>;\n};\n\nexport { radiusPropDef, radii };\n", "import { asChildPropDef } from '../props/as-child.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3'] as const;\nconst scrollbarsValues = ['vertical', 'horizontal', 'both'] as const;\n\nconst scrollAreaPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '1', responsive: true },\n ...radiusPropDef,\n scrollbars: { type: 'enum', values: scrollbarsValues, default: 'both' },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n scrollbars: PropDef<(typeof scrollbarsValues)[number]>;\n};\n\nexport { scrollAreaPropDefs };\n", "import type { MarginProps } from '../props/margin.props.js';\n\nexport function extractMarginProps<T extends MarginProps>(props: T) {\n const { m, mx, my, mt, mr, mb, ml, ...rest } = props;\n return { m, mx, my, mt, mr, mb, ml, rest };\n}\n", "import type React from 'react';\n\n// Creates a union type of string literals with strings, but retains intellisense for the literals.\n// Union<string, 'foo' | 'bar'> => string | Omit<string, 'foo' | 'bar'>\ntype Union<S = string, T extends string | number = string> = T | Omit<S, T>;\n\nconst breakpoints = ['initial', 'xs', 'sm', 'md', 'lg', 'xl'] as const;\nconst breakpointSet: Set<string> = new Set(breakpoints);\ntype Breakpoint = (typeof breakpoints)[number];\ntype Responsive<T> = T | Partial<Record<Breakpoint, T>>;\n\ntype BooleanPropDef = {\n type: 'boolean';\n default?: boolean;\n required?: boolean;\n className?: string;\n};\ntype StringPropDef = {\n type: 'string';\n default?: string;\n required?: boolean;\n};\ntype ReactNodePropDef = {\n type: 'ReactNode';\n default?: React.ReactNode;\n required?: boolean;\n};\ntype EnumPropDef<T> = {\n type: 'enum';\n values: readonly T[];\n default?: T;\n required?: boolean;\n};\ntype EnumOrStringPropDef<T> = {\n type: 'enum | string';\n values: readonly T[];\n default?: T | string;\n required?: boolean;\n};\n\ntype NonStylingPropDef = {\n className?: never;\n customProperties?: never;\n parseValue?: never;\n};\n\ntype StylingPropDef = {\n className: string;\n parseValue?: (value: string) => string | undefined;\n};\n\ntype ArbitraryStylingPropDef = {\n className: string;\n customProperties: `--${string}`[];\n parseValue?: (value: string) => string | undefined;\n};\n\ntype RegularPropDef<T> =\n | ReactNodePropDef\n | BooleanPropDef\n | (StringPropDef & ArbitraryStylingPropDef)\n | (StringPropDef & NonStylingPropDef)\n | (EnumPropDef<T> & StylingPropDef)\n | (EnumPropDef<T> & NonStylingPropDef)\n | (EnumOrStringPropDef<T> & ArbitraryStylingPropDef)\n | (EnumOrStringPropDef<T> & NonStylingPropDef);\ntype ResponsivePropDef<T = any> = RegularPropDef<T> & { responsive: true };\ntype PropDef<T = any> = RegularPropDef<T> | ResponsivePropDef<T>;\n\n// prettier-ignore\ntype GetPropDefType<Def> =\n Def extends BooleanPropDef ? (Def extends ResponsivePropDef ? Responsive<boolean> : boolean)\n : Def extends StringPropDef ? (Def extends ResponsivePropDef ? Responsive<string> : string)\n : Def extends ReactNodePropDef ? (Def extends ResponsivePropDef ? Responsive<React.ReactNode> : React.ReactNode)\n : Def extends EnumOrStringPropDef<infer Type> ?\n Def extends ResponsivePropDef<infer Type extends string> ? Responsive<Union<string, Type>> : Type\n : Def extends EnumPropDef<infer Type> ? (Def extends ResponsivePropDef<infer Type> ? Responsive<Type> : Type)\n : never;\n\ntype GetPropDefTypes<P> = {\n [K in keyof P]?: GetPropDefType<P[K]>;\n};\n\nexport { breakpoints, breakpointSet };\nexport type {\n PropDef,\n GetPropDefTypes,\n ResponsivePropDef,\n //\n Breakpoint,\n Responsive,\n Union,\n};\n", "/** A util to check whether the object has a key, while inferring the correct key type */\nfunction hasOwnProperty<K extends string | number | symbol>(\n obj: Record<K, unknown>,\n key: string | number | symbol\n): key is K {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexport { hasOwnProperty };\n", "import type { Responsive, Breakpoint } from '../props/prop-def.js';\n\n// Use a Set for O(1) lookup instead of array.includes() which is O(n)\nconst breakpointSet = new Set<string>(['initial', 'xs', 'sm', 'md', 'lg', 'xl']);\n\nexport function isResponsiveObject<Value extends string>(\n obj: Responsive<Value | Omit<string, Value>> | undefined\n): obj is Record<Breakpoint, string> {\n if (typeof obj !== 'object' || obj === null) {\n return false;\n }\n // Use for...in to avoid Object.keys() array allocation\n for (const key in obj) {\n if (breakpointSet.has(key)) {\n return true;\n }\n }\n return false;\n}\n", "import { breakpointSet } from '../props/prop-def.js';\nimport { hasOwnProperty } from './has-own-property.js';\nimport { isResponsiveObject } from './is-responsive-object.js';\n\nimport type { Responsive, Union } from '../props/prop-def.js';\n\n/**\n * Membership test against a prop def's enum values. Callers that already hold a\n * compiled prop def pass `propValueSet` for an O(1) lookup; the handful of call\n * sites that build options inline fall back to scanning the array.\n */\nfunction includesValue(propValues: string[] | readonly string[], propValueSet: ReadonlySet<string> | undefined, value: string): boolean {\n return propValueSet !== undefined ? propValueSet.has(value) : propValues.includes(value);\n}\n\ninterface GetResponsiveStylesOptions {\n className: string;\n customProperties: `--${string}`[];\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveStyles({ className, customProperties, ...args }: GetResponsiveStylesOptions) {\n const responsiveClassNames = getResponsiveClassNames({\n allowArbitraryValues: true,\n className,\n ...args,\n });\n\n const responsiveCustomProperties = getResponsiveCustomProperties({ customProperties, ...args });\n return [responsiveClassNames, responsiveCustomProperties] as const;\n}\n\ninterface GetResponsiveClassNamesOptions {\n allowArbitraryValues?: boolean;\n className: string;\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveClassNames({ allowArbitraryValues, value, className, propValues, propValueSet, parseValue = (value) => value }: GetResponsiveClassNamesOptions): string | undefined {\n if (!value) {\n return undefined;\n }\n\n if (typeof value === 'string') {\n if (includesValue(propValues, propValueSet, value)) {\n return getBaseClassName(className, value, parseValue);\n }\n return allowArbitraryValues ? className : undefined;\n }\n\n if (isResponsiveObject(value)) {\n const object = value;\n const classNames: string[] = [];\n\n for (const bp in object) {\n // Make sure we are not iterating over keys that aren't breakpoints\n if (!hasOwnProperty(object, bp) || !breakpointSet.has(bp)) {\n continue;\n }\n\n const value = object[bp];\n\n if (value !== undefined) {\n if (includesValue(propValues, propValueSet, value)) {\n const baseClassName = getBaseClassName(className, value, parseValue);\n const bpClassName = bp === 'initial' ? baseClassName : `${bp}:${baseClassName}`;\n classNames.push(bpClassName);\n } else if (allowArbitraryValues) {\n const bpClassName = bp === 'initial' ? className : `${bp}:${className}`;\n classNames.push(bpClassName);\n }\n }\n }\n\n return classNames.length > 0 ? classNames.join(' ') : '';\n }\n\n if (allowArbitraryValues) {\n return className;\n }\n}\n\nfunction getBaseClassName(className: string, value: string, parseValue: (value: string) => string | undefined): string {\n const delimiter = className ? '-' : '';\n const matchedValue = parseValue(value);\n const isNegative = matchedValue?.startsWith('-');\n const minus = isNegative ? '-' : '';\n const absoluteValue = isNegative ? matchedValue?.substring(1) : matchedValue;\n return `${minus}${className}${delimiter}${absoluteValue}`;\n}\n\ninterface GetResponsiveCustomPropertiesOptions {\n customProperties: `--${string}`[];\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveCustomProperties({ customProperties, value, propValues, propValueSet, parseValue = (value) => value }: GetResponsiveCustomPropertiesOptions) {\n // Don't generate custom properties if the value is not arbitrary\n if (!value || (typeof value === 'string' && includesValue(propValues, propValueSet, value))) {\n return undefined;\n }\n\n let styles: Record<string, string | undefined> | undefined;\n\n if (typeof value === 'string') {\n const parsed = parseValue(value);\n styles = {};\n for (const customProperty of customProperties) {\n styles[customProperty] = parsed;\n }\n return styles;\n }\n\n if (isResponsiveObject(value)) {\n const object = value;\n\n for (const bp in object) {\n // Make sure we are not iterating over keys that aren't breakpoints\n if (!hasOwnProperty(object, bp) || !breakpointSet.has(bp)) {\n continue;\n }\n\n const value = object[bp];\n\n // Don't generate a custom property if the value is not arbitrary\n if (value === undefined || includesValue(propValues, propValueSet, value)) {\n continue;\n }\n\n const parsed = parseValue(value);\n styles ??= {};\n for (const customProperty of customProperties) {\n const bpProperty = bp === 'initial' ? customProperty : `${customProperty}-${bp}`;\n styles[bpProperty] = parsed;\n }\n }\n }\n\n return styles ?? {};\n}\n\nexport { getResponsiveStyles, getResponsiveCustomProperties, getResponsiveClassNames };\n", "type InlineStyle =\n | React.CSSProperties\n | Record<string, string | number | null | undefined>\n | undefined;\n\n// Merges CSS styles like `classNames` merges CSS classes\n// Optimized to avoid object spread in loop - uses Object.assign for in-place mutation\nexport function mergeStyles(...styles: Array<InlineStyle>): InlineStyle {\n let result: Record<string, string | number | null | undefined> | undefined;\n\n for (const style of styles) {\n if (style) {\n if (result === undefined) {\n // First non-empty style - create result object\n result = {};\n }\n Object.assign(result, style);\n }\n }\n\n return result;\n}\n", "import type { PropDef, GetPropDefTypes } from './prop-def.js';\n\n// prettier-ignore\nconst marginValues = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '-1', '-2', '-3', '-4', '-5', '-6', '-7', '-8', '-9', '-10', '-11', '-12'] as const;\n\nconst marginPropDefs = {\n /**\n * Sets the CSS **margin** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * m=\"4\"\n * m=\"100px\"\n * m={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin\n */\n m: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-m',\n customProperties: ['--m'],\n },\n /**\n * Sets the CSS **margin-left** and **margin-right** properties.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mx=\"4\"\n * mx=\"100px\"\n * mx={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right\n */\n mx: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mx',\n customProperties: ['--ml', '--mr'],\n },\n /**\n * Sets the CSS **margin-top** and **margin-bottom** properties.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * my=\"4\"\n * my=\"100px\"\n * my={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n */\n my: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-my',\n customProperties: ['--mt', '--mb'],\n },\n /**\n * Sets the CSS **margin-top** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mt=\"4\"\n * mt=\"100px\"\n * mt={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n */\n mt: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mt',\n customProperties: ['--mt'],\n },\n /**\n * Sets the CSS **margin-right** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mr=\"4\"\n * mr=\"100px\"\n * mr={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right\n */\n mr: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mr',\n customProperties: ['--mr'],\n },\n /**\n * Sets the CSS **margin-bottom** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mb=\"4\"\n * mb=\"100px\"\n * mb={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n */\n mb: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mb',\n customProperties: ['--mb'],\n },\n /**\n * Sets the CSS **margin-left** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * ml=\"4\"\n * ml=\"100px\"\n * ml={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left\n */\n ml: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-ml',\n customProperties: ['--ml'],\n },\n} satisfies {\n m: PropDef<(typeof marginValues)[number]>;\n mx: PropDef<(typeof marginValues)[number]>;\n my: PropDef<(typeof marginValues)[number]>;\n mt: PropDef<(typeof marginValues)[number]>;\n mr: PropDef<(typeof marginValues)[number]>;\n mb: PropDef<(typeof marginValues)[number]>;\n ml: PropDef<(typeof marginValues)[number]>;\n};\n\ntype MarginProps = GetPropDefTypes<typeof marginPropDefs>;\n\nexport { marginPropDefs };\nexport type { MarginProps };\n", "import { getResponsiveStyles } from './get-responsive-styles.js';\nimport { mergeStyles } from './merge-styles.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\n\nconst marginValues = marginPropDefs.m.values;\nconst marginValueSet: ReadonlySet<string> = new Set(marginValues);\n\n// Static table so the common case \u2014 a component with no margin props at all \u2014\n// is seven property reads and nothing else.\nconst MARGIN_PROPS: ReadonlyArray<{\n key: keyof MarginProps;\n className: string;\n customProperties: `--${string}`[];\n}> = [\n { key: 'm', className: 'rt-r-m', customProperties: ['--margin'] },\n { key: 'mx', className: 'rt-r-mx', customProperties: ['--margin-left', '--margin-right'] },\n { key: 'my', className: 'rt-r-my', customProperties: ['--margin-top', '--margin-bottom'] },\n { key: 'mt', className: 'rt-r-mt', customProperties: ['--margin-top'] },\n { key: 'mr', className: 'rt-r-mr', customProperties: ['--margin-right'] },\n { key: 'mb', className: 'rt-r-mb', customProperties: ['--margin-bottom'] },\n { key: 'ml', className: 'rt-r-ml', customProperties: ['--margin-left'] },\n];\n\nexport function getMarginStyles(props: MarginProps) {\n let classes: string[] | undefined;\n let style: ReturnType<typeof mergeStyles>;\n\n for (let i = 0; i < MARGIN_PROPS.length; i++) {\n const { key, className, customProperties } = MARGIN_PROPS[i];\n const value = props[key];\n if (value === undefined) continue;\n\n const [propClassNames, propCustomProperties] = getResponsiveStyles({\n className,\n customProperties,\n propValues: marginValues,\n propValueSet: marginValueSet,\n value,\n });\n\n if (propClassNames) (classes ??= []).push(propClassNames);\n if (propCustomProperties) style = mergeStyles(style, propCustomProperties);\n }\n\n return [classes !== undefined ? classes.join(' ') : '', style] as const;\n}\n", "import * as React from 'react';\n\n/**\n * This is a helper function that is used when a component supports `asChild`\n * using the `Slot` component but its implementation contains nested DOM elements.\n *\n * Using it ensures if a consumer uses the `asChild` prop, the elements are in\n * correct order in the DOM, adopting the intended consumer `children`.\n */\nexport function getSubtree(\n options: { asChild: boolean | undefined; children: React.ReactNode },\n content: React.ReactNode | ((children: React.ReactNode) => React.ReactNode)\n) {\n const { asChild, children } = options;\n if (!asChild) return typeof content === 'function' ? content(children) : content;\n\n const firstChild = React.Children.only(children) as React.ReactElement;\n return React.cloneElement(firstChild, {\n // @ts-expect-error\n children: typeof content === 'function' ? content(firstChild.props.children) : content,\n });\n}\n", "import type { PropDef } from './prop-def.js';\n\n// prettier-ignore\nconst accentColors = ['gray', 'gold', 'bronze', 'brown', 'yellow', 'amber', 'orange', 'tomato', 'red', 'ruby', 'crimson', 'pink', 'plum', 'purple', 'violet', 'iris', 'indigo', 'blue', 'cyan', 'teal', 'jade', 'green', 'grass', 'lime', 'mint', 'sky'] as const;\n\nconst grayColors = ['auto', 'gray', 'mauve', 'slate', 'sage', 'olive', 'sand'] as const;\n\nconst colorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: undefined as (typeof accentColors)[number] | undefined,\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\n// 1. When used on components that compose Text, sets the color of the text to the current accent.\n// 2. Defines accent color for descendant text components\u00A0with `highContrast={true}`.\nconst accentColorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: '' as (typeof accentColors)[number],\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\nexport {\n accentColorPropDef,\n colorPropDef,\n //\n accentColors,\n grayColors,\n};\n", "import type { PropDef } from './prop-def.js';\n\nconst highContrastPropDef = {\n highContrast: {\n type: 'boolean',\n className: 'rt-high-contrast',\n default: undefined,\n },\n} satisfies {\n highContrast: PropDef<boolean>;\n};\n\nexport { highContrastPropDef };\n", "import { asChildPropDef } from '../../props/as-child.prop.js';\nimport { colorPropDef } from '../../props/color.prop.js';\nimport { highContrastPropDef } from '../../props/high-contrast.prop.js';\n\nimport type { PropDef } from '../../props/prop-def.js';\n\nconst contentSizes = ['1', '2'] as const;\nconst contentVariants = ['solid', 'soft'] as const;\nconst panelBackgrounds = ['solid', 'translucent'] as const;\nconst materials = ['solid', 'translucent'] as const;\nconst submenuBehaviors = ['cascade', 'drill-down'] as const;\n\n// Base props shared between Content and SubContent\nconst baseMenuSharedPropDefs = {\n size: {\n type: 'enum',\n className: 'rt-r-size',\n values: contentSizes,\n default: '2',\n responsive: true,\n },\n variant: {\n type: 'enum',\n className: 'rt-variant',\n values: contentVariants,\n default: 'solid',\n },\n material: {\n type: 'enum',\n values: materials,\n default: undefined,\n },\n /**\n * @deprecated Use `material` prop instead. This prop will be removed in a future version.\n */\n panelBackground: {\n type: 'enum',\n values: panelBackgrounds,\n default: undefined,\n },\n ...colorPropDef,\n ...highContrastPropDef,\n} satisfies {\n size: PropDef<(typeof contentSizes)[number]>;\n variant: PropDef<(typeof contentVariants)[number]>;\n material: PropDef<(typeof materials)[number] | undefined>;\n panelBackground: PropDef<(typeof panelBackgrounds)[number] | undefined>;\n};\n\n// Content-specific props (includes submenuBehavior)\nconst baseMenuContentPropDefs = {\n ...baseMenuSharedPropDefs,\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: {\n type: 'enum',\n values: submenuBehaviors,\n default: 'cascade',\n responsive: true,\n },\n} satisfies {\n size: PropDef<(typeof contentSizes)[number]>;\n variant: PropDef<(typeof contentVariants)[number]>;\n material: PropDef<(typeof materials)[number] | undefined>;\n panelBackground: PropDef<(typeof panelBackgrounds)[number] | undefined>;\n submenuBehavior: PropDef<(typeof submenuBehaviors)[number]>;\n};\n\n// SubContent props (no submenuBehavior)\nconst baseMenuSubContentPropDefs = baseMenuSharedPropDefs;\n\nconst baseMenuItemPropDefs = {\n ...asChildPropDef,\n ...colorPropDef,\n shortcut: { type: 'string' },\n} satisfies {\n shortcut: PropDef<string>;\n};\n\nconst baseMenuCheckboxItemPropDefs = {\n ...colorPropDef,\n shortcut: { type: 'string' },\n} satisfies {\n shortcut: PropDef<string>;\n};\n\nconst baseMenuRadioItemPropDefs = {\n ...colorPropDef,\n};\n\nexport {\n baseMenuContentPropDefs,\n baseMenuSubContentPropDefs,\n baseMenuItemPropDefs,\n baseMenuCheckboxItemPropDefs,\n baseMenuRadioItemPropDefs,\n submenuBehaviors,\n};\n", "'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Direction, Slot, Tooltip as TooltipPrimitive } from 'radix-ui';\nimport { useComposedRefs, useLayoutEffect } from 'radix-ui/internal';\n\nimport { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';\nimport { usePropSyncedState } from '../hooks/use-prop-synced-state.js';\nimport { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';\nimport { themePropDefs } from './theme.props.js';\n\nimport type { ThemeOwnProps } from './theme.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\nconst noop = () => {};\n\ntype ThemeAppearance = (typeof themePropDefs.appearance.values)[number];\ntype ThemeAccentColor = (typeof themePropDefs.accentColor.values)[number];\ntype ThemeGrayColor = (typeof themePropDefs.grayColor.values)[number];\ntype ThemeMaterial = (typeof themePropDefs.material.values)[number];\ntype ThemePanelBackground = (typeof themePropDefs.panelBackground.values)[number];\ntype ThemeRadius = (typeof themePropDefs.radius.values)[number];\ntype ThemeScaling = (typeof themePropDefs.scaling.values)[number];\ntype ThemeFontFamily = (typeof themePropDefs.fontFamily.values)[number];\n// Headings follow the body font until something sets this, so `undefined` is a\n// meaningful value here rather than a missing one.\ntype ThemeHeadingFontFamily = ThemeFontFamily | undefined;\n\ninterface ThemeChangeHandlers {\n onAppearanceChange: (appearance: ThemeAppearance) => void;\n onAccentColorChange: (accentColor: ThemeAccentColor) => void;\n onGrayColorChange: (grayColor: ThemeGrayColor) => void;\n onMaterialChange: (material: ThemeMaterial) => void;\n onPanelBackgroundChange: (panelBackground: ThemePanelBackground) => void;\n onRadiusChange: (radius: ThemeRadius) => void;\n onScalingChange: (scaling: ThemeScaling) => void;\n onFontFamilyChange: (fontFamily: ThemeFontFamily) => void;\n onHeadingFontFamilyChange: (headingFontFamily: ThemeHeadingFontFamily) => void;\n}\n\ninterface ThemeContextValue extends ThemeChangeHandlers {\n appearance: ThemeAppearance;\n accentColor: ThemeAccentColor;\n grayColor: ThemeGrayColor;\n resolvedGrayColor: ThemeGrayColor;\n material: ThemeMaterial;\n panelBackground: ThemePanelBackground;\n radius: ThemeRadius;\n scaling: ThemeScaling;\n fontFamily: ThemeFontFamily;\n headingFontFamily: ThemeHeadingFontFamily;\n}\n// Default theme values used when components render outside a Theme provider\nconst defaultThemeContext: ThemeContextValue = {\n appearance: themePropDefs.appearance.default,\n accentColor: themePropDefs.accentColor.default,\n grayColor: themePropDefs.grayColor.default,\n resolvedGrayColor: themePropDefs.grayColor.default,\n material: themePropDefs.material.default,\n panelBackground: themePropDefs.panelBackground.default,\n radius: themePropDefs.radius.default,\n scaling: themePropDefs.scaling.default,\n fontFamily: themePropDefs.fontFamily.default,\n headingFontFamily: undefined,\n onAppearanceChange: noop,\n onAccentColorChange: noop,\n onGrayColorChange: noop,\n onMaterialChange: noop,\n onPanelBackgroundChange: noop,\n onRadiusChange: noop,\n onScalingChange: noop,\n onFontFamilyChange: noop,\n onHeadingFontFamilyChange: noop,\n};\n\nconst ThemeContext = React.createContext<ThemeContextValue | undefined>(undefined);\n\nfunction useThemeContext() {\n const context = React.useContext(ThemeContext);\n // Return default context if used outside Theme provider (e.g., during SSR)\n return context ?? defaultThemeContext;\n}\n\ninterface ThemeProps extends ThemeImplPublicProps {}\nconst Theme = React.forwardRef<ThemeImplElement, ThemeProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n const isRoot = context === undefined;\n if (isRoot) {\n return (\n <TooltipPrimitive.Provider delayDuration={200}>\n <Direction.Provider dir=\"ltr\">\n <ThemeRoot {...props} ref={forwardedRef} />\n </Direction.Provider>\n </TooltipPrimitive.Provider>\n );\n }\n return <ThemeImpl {...props} ref={forwardedRef} />;\n});\nTheme.displayName = 'Theme';\n\nconst ThemeRoot = React.forwardRef<ThemeImplElement, ThemeImplPublicProps>(\n (props, forwardedRef) => {\n const {\n appearance: appearanceProp = themePropDefs.appearance.default,\n accentColor: accentColorProp = themePropDefs.accentColor.default,\n grayColor: grayColorProp = themePropDefs.grayColor.default,\n material: materialProp = themePropDefs.material.default,\n panelBackground: panelBackgroundProp = themePropDefs.panelBackground.default,\n radius: radiusProp = themePropDefs.radius.default,\n scaling: scalingProp = themePropDefs.scaling.default,\n fontFamily: fontFamilyProp = themePropDefs.fontFamily.default,\n headingFontFamily: headingFontFamilyProp,\n hasBackground = themePropDefs.hasBackground.default,\n ...rootProps\n } = props;\n\n useDeprecatedPanelBackgroundWarning(props.panelBackground);\n\n // Each of these follows its prop but stays independently settable, so\n // `ThemePanel` can change the theme at runtime. Syncing during render\n // rather than in an effect matters here: an effect would commit the old\n // theme first and re-render every consumer of the context a second time.\n const [appearance, setAppearance] = usePropSyncedState(appearanceProp);\n const [accentColor, setAccentColor] = usePropSyncedState(accentColorProp);\n const [grayColor, setGrayColor] = usePropSyncedState(grayColorProp);\n\n // Material takes precedence over panelBackground\n const effectiveMaterial =\n materialProp !== themePropDefs.material.default ? materialProp : panelBackgroundProp;\n const [material, setMaterial] = usePropSyncedState(effectiveMaterial);\n\n // Keep panelBackground in sync with material for backward compatibility\n const [panelBackground, setPanelBackground] = usePropSyncedState(material);\n\n const [radius, setRadius] = usePropSyncedState(radiusProp);\n const [scaling, setScaling] = usePropSyncedState(scalingProp);\n const [fontFamily, setFontFamily] = usePropSyncedState(fontFamilyProp);\n const [headingFontFamily, setHeadingFontFamily] = usePropSyncedState(headingFontFamilyProp);\n\n return (\n <ThemeImpl\n {...rootProps}\n ref={forwardedRef}\n isRoot\n hasBackground={hasBackground}\n //\n appearance={appearance}\n accentColor={accentColor}\n grayColor={grayColor}\n material={material}\n panelBackground={panelBackground}\n radius={radius}\n scaling={scaling}\n fontFamily={fontFamily}\n headingFontFamily={headingFontFamily}\n //\n onAppearanceChange={setAppearance}\n onAccentColorChange={setAccentColor}\n onGrayColorChange={setGrayColor}\n onMaterialChange={setMaterial}\n onPanelBackgroundChange={setPanelBackground}\n onRadiusChange={setRadius}\n onScalingChange={setScaling}\n onFontFamilyChange={setFontFamily}\n onHeadingFontFamilyChange={setHeadingFontFamily}\n />\n );\n },\n);\nThemeRoot.displayName = 'ThemeRoot';\n\ntype ThemeImplElement = React.ElementRef<'div'>;\ninterface ThemeImplProps extends ThemeImplPublicProps, ThemeImplPrivateProps {}\ninterface ThemeImplPublicProps\n extends ComponentPropsWithout<'div', RemovedProps | 'dir'>,\n ThemeOwnProps {}\ninterface ThemeImplPrivateProps extends Partial<ThemeChangeHandlers> {\n isRoot?: boolean;\n}\nfunction getClientOS(): 'windows' | 'macos' | 'linux' | undefined {\n if (typeof navigator === 'undefined') return undefined;\n const ua = navigator.userAgent;\n if (ua.includes('Win')) return 'windows';\n if (ua.includes('Mac')) return 'macos';\n if (ua.includes('Linux')) return 'linux';\n return undefined;\n}\n\nconst ThemeImpl = React.forwardRef<ThemeImplElement, ThemeImplProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n const {\n asChild,\n isRoot,\n hasBackground: hasBackgroundProp,\n //\n appearance = props.appearance ?? context?.appearance ?? themePropDefs.appearance.default,\n accentColor = props.accentColor ?? context?.accentColor ?? themePropDefs.accentColor.default,\n grayColor = props.grayColor ?? context?.resolvedGrayColor ?? themePropDefs.grayColor.default,\n material = props.material ?? context?.material ?? themePropDefs.material.default,\n panelBackground = props.panelBackground ??\n context?.panelBackground ??\n themePropDefs.panelBackground.default,\n radius = props.radius ?? context?.radius ?? themePropDefs.radius.default,\n scaling = props.scaling ?? context?.scaling ?? themePropDefs.scaling.default,\n fontFamily = props.fontFamily ?? context?.fontFamily ?? themePropDefs.fontFamily.default,\n headingFontFamily = props.headingFontFamily ?? context?.headingFontFamily,\n //\n onAppearanceChange = noop,\n onAccentColorChange = noop,\n onGrayColorChange = noop,\n onMaterialChange = noop,\n onPanelBackgroundChange = noop,\n onRadiusChange = noop,\n onScalingChange = noop,\n onFontFamilyChange = noop,\n onHeadingFontFamilyChange = noop,\n //\n ...themeProps\n } = props;\n const Comp = asChild ? Slot.Root : 'div';\n const resolvedGrayColor = grayColor === 'auto' ? getMatchingGrayColor(accentColor) : grayColor;\n const isExplicitAppearance = props.appearance === 'light' || props.appearance === 'dark';\n const hasBackground =\n hasBackgroundProp === undefined ? isRoot || isExplicitAppearance : hasBackgroundProp;\n\n // `data-os` can only be resolved on the client. Writing it straight to the\n // DOM keeps it out of the server markup \u2014 so hydration still matches \u2014 without\n // spending a render pass, and a state update here would re-render the whole\n // application on mount.\n const rootRef = React.useRef<ThemeImplElement>(null);\n const composedRef = useComposedRefs(forwardedRef, rootRef);\n const hasExplicitOS = 'data-os' in themeProps;\n\n useLayoutEffect(() => {\n if (!isRoot || hasExplicitOS) return;\n const node = rootRef.current;\n if (!node) return;\n\n const os = getClientOS();\n if (!os) return;\n node.setAttribute('data-os', os);\n return () => node.removeAttribute('data-os');\n }, [isRoot, hasExplicitOS]);\n\n return (\n <ThemeContext.Provider\n value={React.useMemo(\n () => ({\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n material,\n panelBackground,\n radius,\n scaling,\n fontFamily,\n headingFontFamily,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onMaterialChange,\n onPanelBackgroundChange,\n onRadiusChange,\n onScalingChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n }),\n [\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n material,\n panelBackground,\n radius,\n scaling,\n fontFamily,\n headingFontFamily,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onMaterialChange,\n onPanelBackgroundChange,\n onRadiusChange,\n onScalingChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n ],\n )}\n >\n <Comp\n data-is-root-theme={isRoot ? 'true' : 'false'}\n data-accent-color={accentColor}\n data-gray-color={resolvedGrayColor}\n // for nested `Theme` background\n data-has-background={hasBackground ? 'true' : 'false'}\n data-material={material}\n data-panel-background={panelBackground}\n data-radius={radius}\n data-scaling={scaling}\n data-font-family={fontFamily}\n data-heading-font-family={headingFontFamily}\n ref={composedRef}\n {...themeProps}\n className={classNames(\n 'radix-themes',\n {\n light: appearance === 'light',\n dark: appearance === 'dark',\n },\n themeProps.className,\n )}\n />\n </ThemeContext.Provider>\n );\n});\nThemeImpl.displayName = 'ThemeImpl';\n\nexport { Theme, ThemeContext, useThemeContext };\nexport type { ThemeProps, ThemeContextValue };\n", "import type { accentColors } from '../props/color.prop.js';\n\ntype ThemeAccentColor = (typeof accentColors)[number];\n\nexport function getMatchingGrayColor(accentColor: ThemeAccentColor) {\n switch (accentColor) {\n case 'tomato':\n case 'red':\n case 'ruby':\n case 'crimson':\n case 'pink':\n case 'plum':\n case 'purple':\n case 'violet':\n return 'mauve';\n case 'iris':\n case 'indigo':\n case 'blue':\n case 'sky':\n case 'cyan':\n return 'slate';\n case 'teal':\n case 'jade':\n case 'mint':\n case 'green':\n return 'sage';\n case 'grass':\n case 'lime':\n return 'olive';\n case 'yellow':\n case 'amber':\n case 'orange':\n case 'brown':\n case 'gold':\n case 'bronze':\n return 'sand';\n case 'gray':\n return 'gray';\n }\n}\n", "import * as React from 'react';\n\n/**\n * State that tracks a prop but can also be set imperatively \u2014 the shape `Theme`\n * needs, where a prop sets the value and `ThemePanel` can change it at runtime.\n *\n * Adjusts state during render rather than syncing in a `useEffect`. An effect\n * would commit one render carrying the *old* value and schedule a second one,\n * which for a provider means every consumer renders twice and the browser can\n * paint the stale value in between.\n *\n * @see https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */\nexport function usePropSyncedState<T>(propValue: T) {\n const [value, setValue] = React.useState(propValue);\n const [previousPropValue, setPreviousPropValue] = React.useState(propValue);\n\n if (!Object.is(propValue, previousPropValue)) {\n setPreviousPropValue(propValue);\n setValue(propValue);\n }\n\n return [value, setValue] as const;\n}\n", "import * as React from 'react';\n\nconst PANEL_BACKGROUND_MESSAGE = 'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.';\n\nconst warned = new Set<string>();\n\nfunction warnOnce(message: string) {\n if (warned.has(message)) return;\n warned.add(message);\n console.warn(message);\n}\n\n/**\n * Warns, in development only, that `panelBackground` is deprecated.\n *\n * The `process.env.NODE_ENV` check is a compile-time constant, so a production\n * bundle minifies the effect body away to an empty function instead of reading\n * props and formatting a message per mounted component. The message is also\n * logged once per session rather than once per component instance.\n */\nexport function useDeprecatedPanelBackgroundWarning(panelBackground: unknown) {\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'production') return;\n if (panelBackground !== undefined) warnOnce(PANEL_BACKGROUND_MESSAGE);\n }, [panelBackground]);\n}\n", "import { asChildPropDef } from '../props/as-child.prop.js';\nimport { accentColors, grayColors } from '../props/color.prop.js';\nimport { radii } from '../props/radius.prop.js';\n\nimport type { GetPropDefTypes, PropDef } from '../props/prop-def.js';\n\nconst appearances = ['inherit', 'light', 'dark'] as const;\nconst panelBackgrounds = ['solid', 'translucent'] as const;\nconst materials = ['solid', 'translucent'] as const;\nconst scalings = ['90%', '95%', '100%', '105%', '110%'] as const;\nconst fontFamilies = ['sans', 'mono', 'serif'] as const;\n\nconst themePropDefs = {\n ...asChildPropDef,\n /**\n * Whether to apply background color to the Theme element.\n *\n * Defaults to true for the root Theme and for Theme elements that\n * have an explicit light or dark appearance prop.\n */\n hasBackground: { type: 'boolean', default: true },\n /**\n * Sets the color scheme of the theme, typcially referred to as light and dark mode.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/dark-mode\n */\n appearance: { type: 'enum', values: appearances, default: 'inherit' },\n /**\n * Selects one of the accent color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n accentColor: { type: 'enum', values: accentColors, default: 'blue' },\n /**\n * Selects one of the gray color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n grayColor: { type: 'enum', values: grayColors, default: 'slate' },\n /**\n * Controls whether to use a solid or translucent background color on panelled\n * elements such as Card or Table is solid or translucent.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/visual-style\n */\n material: { type: 'enum', values: materials, default: 'translucent' },\n /**\n * Controls whether to use a solid or translucent background color on panelled\n * elements such as Card or Table is solid or translucent.\n *\n * @deprecated Use `material` prop instead. This prop will be removed in a future version.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/visual-style\n */\n panelBackground: { type: 'enum', values: panelBackgrounds, default: 'translucent' },\n /**\n * Sets the default radius of the components.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/visual-style\n */\n radius: { type: 'enum', values: radii, default: 'medium' },\n /**\n * Sets a scaling multiplier for values like spacing, font sizes, line heights, etc. are scaled.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/layout\n */\n scaling: { type: 'enum', values: scalings, default: '100%' },\n /**\n * Sets the font family used for body text in the theme.\n *\n * Headings follow this unless `headingFontFamily` (or the `--font-heading`\n * token) says otherwise.\n *\n * @default 'sans'\n */\n fontFamily: { type: 'enum', values: fontFamilies, default: 'sans' },\n /**\n * Sets the font family used for `Heading`, independently of body text.\n *\n * Deliberately has no default: when it is left unset no attribute is\n * emitted and `--font-heading` keeps following `--font-body`, so a\n * `--font-heading` override in your own CSS survives a `fontFamily` switch.\n */\n headingFontFamily: { type: 'enum', values: fontFamilies },\n} satisfies {\n hasBackground: PropDef<boolean>;\n appearance: PropDef<(typeof appearances)[number]>;\n accentColor: PropDef<(typeof accentColors)[number]>;\n grayColor: PropDef<(typeof grayColors)[number]>;\n material: PropDef<(typeof materials)[number]>;\n panelBackground: PropDef<(typeof panelBackgrounds)[number]>;\n radius: PropDef<(typeof radii)[number]>;\n scaling: PropDef<(typeof scalings)[number]>;\n fontFamily: PropDef<(typeof fontFamilies)[number]>;\n headingFontFamily: PropDef<(typeof fontFamilies)[number]>;\n};\n\ntype ThemeOwnProps = GetPropDefTypes<typeof themePropDefs & typeof asChildPropDef>;\n\nexport { themePropDefs };\nexport type { ThemeOwnProps };\n", "import React from 'react';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\ntype IconElement = React.ElementRef<'svg'>;\ninterface IconProps extends ComponentPropsWithout<'svg', RemovedProps | 'children'> {}\n\nconst ThickDividerHorizontalIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0.75 4.5C0.75 4.08579 1.08579 3.75 1.5 3.75H7.5C7.91421 3.75 8.25 4.08579 8.25 4.5C8.25 4.91421 7.91421 5.25 7.5 5.25H1.5C1.08579 5.25 0.75 4.91421 0.75 4.5Z\"\n />\n </svg>\n );\n});\n\nThickDividerHorizontalIcon.displayName = 'ThickDividerHorizontalIcon';\n\nconst ThickCheckIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.53547 0.62293C8.88226 0.849446 8.97976 1.3142 8.75325 1.66099L4.5083 8.1599C4.38833 8.34356 4.19397 8.4655 3.9764 8.49358C3.75883 8.52167 3.53987 8.45309 3.3772 8.30591L0.616113 5.80777C0.308959 5.52987 0.285246 5.05559 0.563148 4.74844C0.84105 4.44128 1.31533 4.41757 1.62249 4.69547L3.73256 6.60459L7.49741 0.840706C7.72393 0.493916 8.18868 0.396414 8.53547 0.62293Z\"\n />\n </svg>\n );\n});\nThickCheckIcon.displayName = 'ThickCheckIcon';\n\nconst ChevronDownIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path d=\"M0.135232 3.15803C0.324102 2.95657 0.640521 2.94637 0.841971 3.13523L4.5 6.56464L8.158 3.13523C8.3595 2.94637 8.6759 2.95657 8.8648 3.15803C9.0536 3.35949 9.0434 3.67591 8.842 3.86477L4.84197 7.6148C4.64964 7.7951 4.35036 7.7951 4.15803 7.6148L0.158031 3.86477C-0.0434285 3.67591 -0.0536285 3.35949 0.135232 3.15803Z\" />\n </svg>\n );\n});\nChevronDownIcon.displayName = 'ChevronDownIcon';\n\nconst ThickChevronRightIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.23826 0.201711C3.54108 -0.0809141 4.01567 -0.0645489 4.29829 0.238264L7.79829 3.98826C8.06724 4.27642 8.06724 4.72359 7.79829 5.01174L4.29829 8.76174C4.01567 9.06455 3.54108 9.08092 3.23826 8.79829C2.93545 8.51567 2.91909 8.04108 3.20171 7.73826L6.22409 4.5L3.20171 1.26174C2.91909 0.958928 2.93545 0.484337 3.23826 0.201711Z\"\n />\n </svg>\n );\n});\nThickChevronRightIcon.displayName = 'ThickChevronRightIcon';\n\nconst ThickChevronLeftIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.76174 0.201711C5.45892 -0.0809141 4.98433 -0.0645489 4.70171 0.238264L1.20171 3.98826C0.932757 4.27642 0.932757 4.72359 1.20171 5.01174L4.70171 8.76174C4.98433 9.06455 5.45892 9.08092 5.76174 8.79829C6.06455 8.51567 6.08091 8.04108 5.79829 7.73826L2.77591 4.5L5.79829 1.26174C6.08091 0.958928 6.06455 0.484337 5.76174 0.201711Z\"\n />\n </svg>\n );\n});\nThickChevronLeftIcon.displayName = 'ThickChevronLeftIcon';\n\nconst ThickDotIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <circle cx=\"4.5\" cy=\"4.5\" r=\"2\" />\n </svg>\n );\n});\nThickDotIcon.displayName = 'ThickDotIcon';\n\nexport { ChevronDownIcon, ThickCheckIcon, ThickChevronLeftIcon, ThickChevronRightIcon, ThickDividerHorizontalIcon, ThickDotIcon };\nexport type { IconProps };\n\n// Additional minimal icons\nconst CloseIcon = React.forwardRef<IconElement, IconProps>((_props, _forwardedRef) => {\n return (\n <svg\n {..._props}\n ref={_forwardedRef}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n );\n});\nCloseIcon.displayName = 'CloseIcon';\n\nconst PaperclipIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg\n {...props}\n ref={forwardedRef}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551\" />\n </svg>\n );\n});\nPaperclipIcon.displayName = 'PaperclipIcon';\n\nconst FileIcon = React.forwardRef<IconElement, IconProps>((_props, _forwardedRef) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\" />\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\n </svg>\n );\n});\nFileIcon.displayName = 'FileIcon';\n\nconst FileTextIcon = React.forwardRef<IconElement, IconProps>((_props, _forwardedRef) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\" />\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\n <path d=\"M10 9H8\" />\n <path d=\"M16 13H8\" />\n <path d=\"M16 17H8\" />\n </svg>\n );\n});\nFileTextIcon.displayName = 'FileTextIcon';\n\nexport { CloseIcon, PaperclipIcon, FileIcon, FileTextIcon };\n", "import classNames from 'classnames';\n\nimport { getCompiledPropDefs } from './compile-prop-defs.js';\nimport { getResponsiveClassNames, getResponsiveStyles } from './get-responsive-styles.js';\nimport { isResponsiveObject } from './is-responsive-object.js';\nimport { mergeStyles } from './merge-styles.js';\n\nimport type { CompiledPropDef } from './compile-prop-defs.js';\nimport type * as React from 'react';\nimport type { PropDef } from '../props/prop-def.js';\n\ntype PropDefsWithClassName<T> = T extends Record<string, PropDef> ? { [K in keyof T]: T[K] extends { className: string } ? K : never }[keyof T] : never;\n\ntype ResponsiveValue = Record<string, string | undefined>;\n\n/**\n * Fills in the `initial` breakpoint of a responsive value from the prop def's\n * default, and coerces an invalid `initial` enum value back to that default.\n *\n * Returns the value untouched when nothing needs changing, and a copy otherwise\n * \u2014 callers routinely hoist responsive objects to module scope, so mutating the\n * caller's object would corrupt it for every later render.\n */\nfunction normalizeResponsiveValue(value: ResponsiveValue, propDef: CompiledPropDef) {\n let initial = value.initial;\n let changed = false;\n\n if (propDef.hasDefault && initial === undefined) {\n initial = propDef.default as string | undefined;\n changed = true;\n }\n\n if (propDef.enumValueSet !== undefined && !propDef.enumValueSet.has(initial)) {\n initial = propDef.default as string | undefined;\n changed = true;\n }\n\n return changed ? { ...value, initial } : value;\n}\n\n/**\n * Takes props, checks them against prop defs that have a `className` on them,\n * adds necessary CSS classes and inline styles, and returns the props without\n * the corresponding prop defs that were used to formulate the new `className`\n * and `style` values. Also applies prop def defaults to every prop.\n */\nfunction extractProps<P extends { className?: string; style?: React.CSSProperties; [key: string]: any }, T extends Record<string, PropDef>[]>(\n props: P,\n ...propDefs: T\n): Omit<P & { className?: string; style?: React.CSSProperties }, PropDefsWithClassName<T[number]>> {\n const { styling, passthrough, stylingKeys } = getCompiledPropDefs(propDefs);\n\n // Copy the props that survive to the element rather than spreading and then\n // deleting the styling keys. Deleting off a spread demotes the object to\n // dictionary mode in V8, and this object is on the render path of every\n // component in the library.\n const extractedProps: Record<string, any> = {};\n for (const key in props) {\n if (stylingKeys.has(key)) continue;\n extractedProps[key] = props[key];\n }\n\n for (let i = 0; i < passthrough.length; i++) {\n const propDef = passthrough[i];\n const value = extractedProps[propDef.key];\n\n if (value === undefined) {\n if (propDef.hasDefault) extractedProps[propDef.key] = propDef.default;\n continue;\n }\n\n // Fall back to the default when the value is not a valid enum value\n if (propDef.enumValueSet !== undefined && !propDef.enumValueSet.has(value) && !isResponsiveObject(value)) {\n extractedProps[propDef.key] = propDef.default;\n }\n }\n\n let style: ReturnType<typeof mergeStyles>;\n const classes: string[] = [];\n\n for (let i = 0; i < styling.length; i++) {\n const propDef = styling[i];\n let value = props[propDef.key];\n\n // Apply prop def defaults\n if (value === undefined && propDef.hasDefault) {\n value = propDef.default;\n }\n\n // Apply the default value if the value is not a valid enum value\n if (propDef.enumValueSet !== undefined && !propDef.enumValueSet.has(value) && !isResponsiveObject(value)) {\n value = propDef.default;\n }\n\n if (!value) continue;\n\n if (isResponsiveObject(value)) {\n // Make sure we are not threading through responsive values for non-responsive prop defs\n if (!propDef.responsive) continue;\n value = normalizeResponsiveValue(value, propDef);\n }\n\n if (propDef.type === 'enum') {\n const propClassName = getResponsiveClassNames({\n allowArbitraryValues: false,\n value,\n className: propDef.className!,\n propValues: propDef.values,\n propValueSet: propDef.valueSet,\n parseValue: propDef.parseValue,\n });\n\n if (propClassName) classes.push(propClassName);\n continue;\n }\n\n if (propDef.type === 'string' || propDef.type === 'enum | string') {\n const [propClassNames, propCustomProperties] = getResponsiveStyles({\n className: propDef.className!,\n customProperties: propDef.customProperties!,\n // `string` prop defs have no enum values, so every value is arbitrary\n propValues: propDef.type === 'string' ? [] : propDef.values,\n propValueSet: propDef.type === 'string' ? undefined : propDef.valueSet,\n parseValue: propDef.parseValue,\n value,\n });\n\n if (propCustomProperties) style = mergeStyles(style, propCustomProperties);\n if (propClassNames) classes.push(propClassNames);\n continue;\n }\n\n if (propDef.type === 'boolean') {\n // TODO handle responsive boolean props\n classes.push(propDef.className!);\n continue;\n }\n }\n\n extractedProps.className = classNames(classes.length > 0 ? classes.join(' ') : undefined, props.className);\n extractedProps.style = mergeStyles(style, props.style);\n return extractedProps as ReturnType<typeof extractProps<P, T>>;\n}\n\nexport { extractProps };\n", "import type { PropDef } from '../props/prop-def.js';\n\n/**\n * A prop def pre-processed into the exact shape `extractProps` needs at render\n * time. Everything that can be derived from the static prop def \u2014 enum\n * membership sets, whether the def is responsive, whether it carries a default\n * \u2014 is computed once here instead of on every render.\n */\ninterface CompiledPropDef {\n key: string;\n type: PropDef['type'];\n default: unknown;\n hasDefault: boolean;\n responsive: boolean;\n className?: string;\n customProperties?: `--${string}`[];\n parseValue?: (value: string) => string | undefined;\n /** The prop def's own enum values, kept for the responsive class name helpers. */\n values: readonly string[];\n /** O(1) membership for `values`. */\n valueSet: ReadonlySet<string>;\n /**\n * `values` plus the default, used to coerce invalid enum values back to the\n * default. Only present for `type: 'enum'` \u2014 `'enum | string'` props accept\n * arbitrary strings and must not be coerced.\n */\n enumValueSet?: ReadonlySet<unknown>;\n}\n\ninterface CompiledPropDefs {\n /** Defs that contribute a class name and/or custom properties. */\n styling: CompiledPropDef[];\n /**\n * Defs that pass through to the element but still need a default applied or\n * an invalid enum value coerced. Defs that can do neither are omitted\n * entirely \u2014 they are already correct as passed.\n */\n passthrough: CompiledPropDef[];\n /** Keys consumed by `styling`, so they can be skipped when copying props. */\n stylingKeys: ReadonlySet<string>;\n}\n\nconst EMPTY_VALUES: readonly string[] = [];\nconst EMPTY_SET: ReadonlySet<string> = new Set();\n\nfunction compile(propDefs: readonly Record<string, PropDef>[]): CompiledPropDefs {\n const merged: Record<string, PropDef> = Object.assign({}, ...propDefs);\n const styling: CompiledPropDef[] = [];\n const passthrough: CompiledPropDef[] = [];\n const stylingKeys = new Set<string>();\n\n for (const key in merged) {\n // The PropDef union is narrowed per-field below; reading the optional\n // members off the union directly is what the runtime actually needs.\n const def = merged[key] as PropDef & {\n default?: unknown;\n values?: readonly string[];\n className?: string;\n customProperties?: `--${string}`[];\n parseValue?: (value: string) => string | undefined;\n responsive?: true;\n };\n\n const values = def.values ?? EMPTY_VALUES;\n const compiled: CompiledPropDef = {\n key,\n type: def.type,\n default: def.default,\n hasDefault: def.default !== undefined,\n responsive: 'responsive' in def,\n className: def.className,\n customProperties: def.customProperties,\n parseValue: def.parseValue,\n values,\n valueSet: values.length > 0 ? new Set(values) : EMPTY_SET,\n enumValueSet: def.type === 'enum' ? new Set<unknown>([def.default, ...values]) : undefined,\n };\n\n if (def.className) {\n styling.push(compiled);\n stylingKeys.add(key);\n } else if (compiled.hasDefault || def.type === 'enum') {\n // Anything else is copied through untouched, so there is nothing to do.\n passthrough.push(compiled);\n }\n }\n\n return { styling, passthrough, stylingKeys };\n}\n\ninterface CacheNode {\n children: WeakMap<object, CacheNode>;\n compiled?: CompiledPropDefs;\n}\n\nconst cacheRoot: CacheNode = { children: new WeakMap() };\n\n/**\n * Compiles a set of prop defs, memoized on the identity of the prop def objects\n * themselves. Components always pass the same module-level constants, so after\n * the first render of a given component this is a couple of WeakMap lookups\n * instead of merging 50-odd prop defs into a fresh object.\n */\nfunction getCompiledPropDefs(propDefs: readonly Record<string, PropDef>[]): CompiledPropDefs {\n let node = cacheRoot;\n\n for (let i = 0; i < propDefs.length; i++) {\n const propDef = propDefs[i];\n let child = node.children.get(propDef);\n if (child === undefined) {\n child = { children: new WeakMap() };\n node.children.set(propDef, child);\n }\n node = child;\n }\n\n return (node.compiled ??= compile(propDefs));\n}\n\nexport { getCompiledPropDefs };\nexport type { CompiledPropDef, CompiledPropDefs };\n", "import * as React from 'react';\n\n/** A function that throws an error when a value isn't a valid React Element, otherwise returns the value */\nexport const requireReactElement = <T extends React.ReactNode>(children: T): T => {\n const isReactElement = React.isValidElement(children);\n\n if (!isReactElement) {\n throw Error(\n `Expected a single React Element child, but got: ${React.Children.toArray(children)\n .map((child) =>\n typeof child === 'object' && 'type' in child && typeof child.type === 'string'\n ? child.type\n : typeof child\n )\n .join(', ')}`\n );\n }\n\n return children;\n};\n", "import * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from 'radix-ui';\n\nimport { kbdPropDefs } from './kbd.props.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 } from '../props/prop-def.js';\n\ntype KbdElement = React.ElementRef<'kbd'>;\ntype KbdOwnProps = GetPropDefTypes<typeof kbdPropDefs>;\ninterface KbdProps extends ComponentPropsWithout<'kbd', RemovedProps>, MarginProps, KbdOwnProps {}\nconst Kbd = React.forwardRef<KbdElement, KbdProps>((props, forwardedRef) => {\n const { asChild, className, ...kbdProps } = extractProps(props, kbdPropDefs, marginPropDefs);\n const Comp = asChild ? Slot.Root : 'kbd';\n return (\n <Comp\n {...kbdProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-Kbd', className)}\n />\n );\n});\nKbd.displayName = 'Kbd';\n\nexport { Kbd };\nexport type { KbdProps };\n", "import { asChildPropDef } from '../props/as-child.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] as const;\nconst variants = ['classic', 'soft'] as const;\n\nconst kbdPropDefs = {\n ...asChildPropDef,\n size: {\n type: 'enum',\n className: 'rt-r-size',\n values: sizes,\n responsive: true,\n },\n variant: {\n type: 'enum',\n className: 'rt-variant',\n values: variants,\n default: 'classic',\n },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n};\n\nexport { kbdPropDefs };\n"],
5
- "mappings": "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",
6
- "names": ["context_menu_exports", "__export", "ContextMenuCheckboxItem", "ContextMenuContent", "ContextMenuGroup", "ContextMenuItem", "ContextMenuLabel", "ContextMenuRadioGroup", "ContextMenuRadioItem", "ContextMenuRoot", "ContextMenuSeparator", "ContextMenuSub", "ContextMenuSubContent", "ContextMenuSubTrigger", "ContextMenuTrigger", "__toCommonJS", "React", "import_classnames", "import_radix_ui", "React", "import_classnames", "import_radix_ui", "asChildPropDef", "radii", "radiusPropDef", "sizes", "scrollbarsValues", "scrollAreaPropDefs", "asChildPropDef", "radiusPropDef", "extractMarginProps", "props", "m", "mx", "my", "mt", "mr", "mb", "ml", "rest", "breakpoints", "breakpointSet", "hasOwnProperty", "obj", "key", "breakpointSet", "isResponsiveObject", "obj", "key", "includesValue", "propValues", "propValueSet", "value", "getResponsiveStyles", "className", "customProperties", "args", "responsiveClassNames", "getResponsiveClassNames", "responsiveCustomProperties", "getResponsiveCustomProperties", "allowArbitraryValues", "parseValue", "getBaseClassName", "isResponsiveObject", "object", "classNames", "bp", "hasOwnProperty", "breakpointSet", "baseClassName", "bpClassName", "delimiter", "matchedValue", "isNegative", "minus", "absoluteValue", "styles", "parsed", "customProperty", "bpProperty", "mergeStyles", "styles", "result", "style", "marginValues", "marginPropDefs", "marginValues", "marginPropDefs", "marginValueSet", "MARGIN_PROPS", "getMarginStyles", "props", "classes", "style", "i", "key", "className", "customProperties", "value", "propClassNames", "propCustomProperties", "getResponsiveStyles", "mergeStyles", "React", "getSubtree", "options", "content", "asChild", "children", "firstChild", "ScrollArea", "props", "forwardedRef", "marginRest", "marginProps", "extractMarginProps", "marginClassNames", "marginCustomProperties", "getMarginStyles", "asChild", "children", "className", "style", "type", "scrollHideDelay", "dir", "size", "scrollAreaPropDefs", "radius", "scrollbars", "viewportProps", "ScrollAreaPrimitive", "classNames", "mergeStyles", "getSubtree", "getResponsiveClassNames", "accentColors", "grayColors", "colorPropDef", "highContrastPropDef", "contentSizes", "contentVariants", "panelBackgrounds", "materials", "submenuBehaviors", "baseMenuSharedPropDefs", "colorPropDef", "highContrastPropDef", "baseMenuContentPropDefs", "baseMenuItemPropDefs", "asChildPropDef", "colorPropDef", "baseMenuCheckboxItemPropDefs", "baseMenuRadioItemPropDefs", "React", "import_classnames", "import_radix_ui", "import_internal", "getMatchingGrayColor", "accentColor", "React", "usePropSyncedState", "propValue", "value", "setValue", "previousPropValue", "setPreviousPropValue", "React", "PANEL_BACKGROUND_MESSAGE", "warned", "warnOnce", "message", "useDeprecatedPanelBackgroundWarning", "panelBackground", "appearances", "panelBackgrounds", "materials", "scalings", "fontFamilies", "themePropDefs", "asChildPropDef", "accentColors", "grayColors", "radii", "noop", "defaultThemeContext", "themePropDefs", "ThemeContext", "useThemeContext", "Theme", "props", "forwardedRef", "TooltipPrimitive", "ThemeRoot", "ThemeImpl", "appearanceProp", "accentColorProp", "grayColorProp", "materialProp", "panelBackgroundProp", "radiusProp", "scalingProp", "fontFamilyProp", "headingFontFamilyProp", "hasBackground", "rootProps", "useDeprecatedPanelBackgroundWarning", "appearance", "setAppearance", "usePropSyncedState", "accentColor", "setAccentColor", "grayColor", "setGrayColor", "effectiveMaterial", "material", "setMaterial", "panelBackground", "setPanelBackground", "radius", "setRadius", "scaling", "setScaling", "fontFamily", "setFontFamily", "headingFontFamily", "setHeadingFontFamily", "getClientOS", "ua", "context", "asChild", "isRoot", "hasBackgroundProp", "onAppearanceChange", "onAccentColorChange", "onGrayColorChange", "onMaterialChange", "onPanelBackgroundChange", "onRadiusChange", "onScalingChange", "onFontFamilyChange", "onHeadingFontFamilyChange", "themeProps", "Comp", "resolvedGrayColor", "getMatchingGrayColor", "isExplicitAppearance", "rootRef", "composedRef", "hasExplicitOS", "node", "os", "classNames", "import_react", "ThickDividerHorizontalIcon", "React", "props", "forwardedRef", "ThickCheckIcon", "ChevronDownIcon", "ThickChevronRightIcon", "ThickChevronLeftIcon", "ThickDotIcon", "CloseIcon", "React", "_props", "_forwardedRef", "PaperclipIcon", "props", "forwardedRef", "FileIcon", "FileTextIcon", "import_classnames", "EMPTY_VALUES", "EMPTY_SET", "compile", "propDefs", "merged", "styling", "passthrough", "stylingKeys", "key", "def", "values", "compiled", "cacheRoot", "getCompiledPropDefs", "node", "i", "propDef", "child", "normalizeResponsiveValue", "value", "propDef", "initial", "changed", "extractProps", "props", "propDefs", "styling", "passthrough", "stylingKeys", "getCompiledPropDefs", "extractedProps", "key", "i", "isResponsiveObject", "style", "classes", "propClassName", "getResponsiveClassNames", "propClassNames", "propCustomProperties", "getResponsiveStyles", "mergeStyles", "classNames", "React", "requireReactElement", "children", "child", "React", "import_classnames", "import_radix_ui", "sizes", "variants", "kbdPropDefs", "asChildPropDef", "Kbd", "props", "forwardedRef", "asChild", "className", "kbdProps", "extractProps", "kbdPropDefs", "marginPropDefs", "Comp", "classNames", "ContextMenuRoot", "props", "ContextMenuPrimitive", "ContextMenuTrigger", "children", "forwardedRef", "requireReactElement", "ContextMenuContentContext", "ContextMenuContent", "themeContext", "useThemeContext", "useDeprecatedPanelBackgroundWarning", "effectiveMaterial", "memoizedThemeContext", "size", "baseMenuContentPropDefs", "variant", "highContrast", "material", "className", "color", "container", "forceMount", "_", "__", "contentProps", "extractProps", "resolvedColor", "Theme", "classNames", "ScrollArea", "ContextMenuLabel", "ContextMenuItem", "baseMenuItemPropDefs", "shortcut", "itemProps", "Kbd", "ContextMenuGroup", "ContextMenuRadioGroup", "ContextMenuRadioItem", "baseMenuRadioItemPropDefs", "ThickCheckIcon", "ContextMenuCheckboxItem", "baseMenuCheckboxItemPropDefs", "ContextMenuSub", "ContextMenuSubTrigger", "subTriggerProps", "ThickChevronRightIcon", "ContextMenuSubContent", "subContentProps", "ContextMenuSeparator"]
3
+ "sources": ["../../../src/components/context-menu.tsx", "../../../src/components/scroll-area.tsx", "../../../src/props/as-child.prop.ts", "../../../src/props/radius.prop.ts", "../../../src/components/scroll-area.props.tsx", "../../../src/helpers/extract-margin-props.ts", "../../../src/props/prop-def.ts", "../../../src/helpers/has-own-property.ts", "../../../src/helpers/is-responsive-object.ts", "../../../src/helpers/get-responsive-styles.ts", "../../../src/helpers/merge-styles.ts", "../../../src/props/margin.props.ts", "../../../src/helpers/get-margin-styles.ts", "../../../src/helpers/get-subtree.ts", "../../../src/props/color.prop.ts", "../../../src/components/_internal/base-menu.props.ts", "../../../src/components/theme.tsx", "../../../src/helpers/get-matching-gray-color.ts", "../../../src/hooks/use-prop-synced-state.ts", "../../../src/helpers/use-deprecation-warning.ts", "../../../src/components/theme.props.tsx", "../../../src/components/icons.tsx", "../../../src/helpers/extract-props.ts", "../../../src/helpers/compile-prop-defs.ts", "../../../src/helpers/require-react-element.ts", "../../../src/components/_internal/menu-context.tsx", "../../../src/components/_internal/base-menu.utils.tsx", "../../../src/components/kbd.tsx", "../../../src/components/kbd.props.tsx", "../../../src/hooks/use-breakpoint.ts", "../../../src/components/shell.types.ts"],
4
+ "sourcesContent": ["/**\n * Context Menu component that provides right-click menu functionality.\n * Requires client-side rendering due to event handling and portal usage.\n */\n'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ContextMenu as ContextMenuPrimitive, Slot } from 'radix-ui';\n\nimport { ScrollArea } from './scroll-area.js';\nimport {\n contextMenuContentPropDefs,\n contextMenuSubContentPropDefs,\n contextMenuItemPropDefs,\n contextMenuCheckboxItemPropDefs,\n contextMenuRadioItemPropDefs,\n} from './context-menu.props.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { ThickCheckIcon, ThickChevronRightIcon, ThickDotIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';\nimport { MenuProvider } from './_internal/menu-context.js';\nimport {\n MenuShortcut,\n getMenuAlignOffset,\n resolveMenuMaterial,\n toAriaKeyShortcuts,\n useResolvedResponsiveValue,\n} from './_internal/base-menu.utils.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes, Responsive } from '../props/prop-def.js';\n\ninterface ContextMenuRootProps\n extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Root> {}\nconst ContextMenuRoot: React.FC<ContextMenuRootProps> = (props) => (\n <ContextMenuPrimitive.Root {...props} />\n);\nContextMenuRoot.displayName = 'ContextMenu.Root';\n\ntype ContextMenuTriggerElement = React.ElementRef<typeof ContextMenuPrimitive.Trigger>;\ninterface ContextMenuTriggerProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Trigger, RemovedProps> {}\nconst ContextMenuTrigger = React.forwardRef<ContextMenuTriggerElement, ContextMenuTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </ContextMenuPrimitive.Trigger>\n ),\n);\nContextMenuTrigger.displayName = 'ContextMenu.Trigger';\n\n/** Visual props shared by Content and SubContent. */\ntype ContextMenuSurfaceProps = GetPropDefTypes<typeof contextMenuContentPropDefs>;\n\ntype ContextMenuContentContextValue = {\n size?: ContextMenuSurfaceProps['size'];\n variant?: ContextMenuSurfaceProps['variant'];\n color?: ContextMenuSurfaceProps['color'];\n material?: ContextMenuSurfaceProps['material'];\n};\nconst ContextMenuContentContext = React.createContext<ContextMenuContentContextValue>({});\ntype ContextMenuContentElement = React.ElementRef<typeof ContextMenuPrimitive.Content>;\ninterface ContextMenuContentProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Content, RemovedProps>,\n ContextMenuSurfaceProps {\n container?: React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Portal>['container'];\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 context menu.\n */\n virtualized?: boolean;\n /**\n * @deprecated Has no effect. ContextMenu submenus always cascade.\n */\n submenuBehavior?: Responsive<'cascade' | 'drill-down'>;\n}\nconst ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(\n (props, forwardedRef) => {\n const themeContext = useThemeContext();\n\n useDeprecatedPanelBackgroundWarning(props.panelBackground);\n\n const material = resolveMenuMaterial(props.material, props.panelBackground, themeContext);\n const {\n size = contextMenuContentPropDefs.size.default,\n variant = contextMenuContentPropDefs.variant.default,\n } = props;\n const {\n className,\n children,\n color,\n container,\n forceMount,\n material: _material,\n panelBackground: _panelBackground,\n submenuBehavior: _submenuBehavior,\n virtualized = false,\n ...contentProps\n } = extractProps(props, contextMenuContentPropDefs);\n\n const resolvedColor = color || themeContext.accentColor;\n const scalarSize = useResolvedResponsiveValue(size, contextMenuContentPropDefs.size.default);\n\n const contextValue = React.useMemo(\n () => ({ size, variant, color: resolvedColor, material }),\n [size, variant, resolvedColor, material],\n );\n\n const body = (\n <MenuProvider size={size}>\n <ContextMenuContentContext.Provider value={contextValue}>{children}</ContextMenuContentContext.Provider>\n </MenuProvider>\n );\n\n return (\n <ContextMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <ContextMenuPrimitive.Content\n data-accent-color={resolvedColor}\n data-material={material}\n data-panel-background={material}\n alignOffset={getMenuAlignOffset(scalarSize, themeContext.scaling)}\n collisionPadding={10}\n {...contentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-ContextMenuContent',\n className,\n )}\n >\n {virtualized ? (\n <div className={classNames('rt-BaseMenuViewport', 'rt-ContextMenuViewport', 'rt-virtualized')}>\n {body}\n </div>\n ) : (\n <ScrollArea type=\"auto\" scrollbars=\"vertical\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-ContextMenuViewport')}>{body}</div>\n </ScrollArea>\n )}\n </ContextMenuPrimitive.Content>\n </Theme>\n </ContextMenuPrimitive.Portal>\n );\n },\n);\nContextMenuContent.displayName = 'ContextMenu.Content';\n\ntype ContextMenuLabelElement = React.ElementRef<typeof ContextMenuPrimitive.Label>;\ninterface ContextMenuLabelProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Label, RemovedProps> {}\nconst ContextMenuLabel = React.forwardRef<ContextMenuLabelElement, ContextMenuLabelProps>(\n ({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Label\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuLabel', 'rt-ContextMenuLabel', className)}\n />\n ),\n);\nContextMenuLabel.displayName = 'ContextMenu.Label';\n\ntype ContextMenuItemElement = React.ElementRef<typeof ContextMenuPrimitive.Item>;\ntype ContextMenuItemOwnProps = GetPropDefTypes<typeof contextMenuItemPropDefs>;\ninterface ContextMenuItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Item, RemovedProps>,\n ContextMenuItemOwnProps {}\nconst ContextMenuItem = React.forwardRef<ContextMenuItemElement, ContextMenuItemProps>(\n (props, forwardedRef) => {\n const {\n className,\n children,\n color = contextMenuItemPropDefs.color.default,\n shortcut,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.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-ContextMenuItem', className)}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n {shortcut && <MenuShortcut shortcut={shortcut} className=\"rt-ContextMenuShortcut\" />}\n </ContextMenuPrimitive.Item>\n );\n },\n);\nContextMenuItem.displayName = 'ContextMenu.Item';\n\ntype ContextMenuGroupElement = React.ElementRef<typeof ContextMenuPrimitive.Group>;\ninterface ContextMenuGroupProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Group, RemovedProps> {}\nconst ContextMenuGroup = React.forwardRef<ContextMenuGroupElement, ContextMenuGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Group\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuGroup', 'rt-ContextMenuGroup', className)}\n />\n ),\n);\nContextMenuGroup.displayName = 'ContextMenu.Group';\n\ntype ContextMenuRadioGroupElement = React.ElementRef<typeof ContextMenuPrimitive.RadioGroup>;\ninterface ContextMenuRadioGroupProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.RadioGroup, RemovedProps> {}\nconst ContextMenuRadioGroup = React.forwardRef<\n ContextMenuRadioGroupElement,\n ContextMenuRadioGroupProps\n>(({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.RadioGroup\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuRadioGroup', 'rt-ContextMenuRadioGroup', className)}\n />\n));\nContextMenuRadioGroup.displayName = 'ContextMenu.RadioGroup';\n\ntype ContextMenuRadioItemElement = React.ElementRef<typeof ContextMenuPrimitive.RadioItem>;\ntype ContextMenuRadioItemOwnProps = GetPropDefTypes<typeof contextMenuRadioItemPropDefs>;\ninterface ContextMenuRadioItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.RadioItem, RemovedProps>,\n ContextMenuRadioItemOwnProps {}\nconst ContextMenuRadioItem = React.forwardRef<\n ContextMenuRadioItemElement,\n ContextMenuRadioItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n color = contextMenuRadioItemPropDefs.color.default,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.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-ContextMenuItem',\n 'rt-ContextMenuRadioItem',\n className,\n )}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n <ContextMenuPrimitive.ItemIndicator className=\"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator\">\n <ThickDotIcon className=\"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon\" />\n </ContextMenuPrimitive.ItemIndicator>\n </ContextMenuPrimitive.RadioItem>\n );\n});\nContextMenuRadioItem.displayName = 'ContextMenu.RadioItem';\n\ntype ContextMenuCheckboxItemElement = React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>;\ntype ContextMenuCheckboxItemOwnProps = GetPropDefTypes<typeof contextMenuCheckboxItemPropDefs>;\ninterface ContextMenuCheckboxItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.CheckboxItem, RemovedProps>,\n ContextMenuCheckboxItemOwnProps {}\nconst ContextMenuCheckboxItem = React.forwardRef<\n ContextMenuCheckboxItemElement,\n ContextMenuCheckboxItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n shortcut,\n color = contextMenuCheckboxItemPropDefs.color.default,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.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-ContextMenuItem',\n 'rt-ContextMenuCheckboxItem',\n className,\n )}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n <ContextMenuPrimitive.ItemIndicator className=\"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator\">\n <ThickCheckIcon className=\"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon\" />\n </ContextMenuPrimitive.ItemIndicator>\n {shortcut && <MenuShortcut shortcut={shortcut} className=\"rt-ContextMenuShortcut\" />}\n </ContextMenuPrimitive.CheckboxItem>\n );\n});\nContextMenuCheckboxItem.displayName = 'ContextMenu.CheckboxItem';\n\ninterface ContextMenuSubProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Sub, RemovedProps> {}\nconst ContextMenuSub: React.FC<ContextMenuSubProps> = (props) => (\n <ContextMenuPrimitive.Sub {...props} />\n);\nContextMenuSub.displayName = 'ContextMenu.Sub';\n\ntype ContextMenuSubTriggerElement = React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>;\ninterface ContextMenuSubTriggerProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.SubTrigger, RemovedProps> {}\nconst ContextMenuSubTrigger = React.forwardRef<\n ContextMenuSubTriggerElement,\n ContextMenuSubTriggerProps\n>((props, forwardedRef) => {\n const { className, children, ...subTriggerProps } = props;\n return (\n <ContextMenuPrimitive.SubTrigger\n {...subTriggerProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuSubTrigger',\n 'rt-ContextMenuItem',\n 'rt-ContextMenuSubTrigger',\n className,\n )}\n >\n {children}\n <div className=\"rt-BaseMenuShortcut rt-ContextMenuShortcut\">\n <ThickChevronRightIcon className=\"rt-BaseMenuSubTriggerIcon rt-ContextMenuSubTriggerIcon\" />\n </div>\n </ContextMenuPrimitive.SubTrigger>\n );\n});\nContextMenuSubTrigger.displayName = 'ContextMenu.SubTrigger';\n\ntype ContextMenuSubContentElement = React.ElementRef<typeof ContextMenuPrimitive.SubContent>;\ninterface ContextMenuSubContentProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.SubContent, RemovedProps>,\n ContextMenuSurfaceProps {\n container?: React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Portal>['container'];\n /**\n * When true, skips the ScrollArea wrapper to allow VirtualMenu to handle its own scrolling.\n */\n virtualized?: boolean;\n}\nconst ContextMenuSubContent = React.forwardRef<\n ContextMenuSubContentElement,\n ContextMenuSubContentProps\n>((props, forwardedRef) => {\n const parent = React.useContext(ContextMenuContentContext);\n const themeContext = useThemeContext();\n\n useDeprecatedPanelBackgroundWarning(props.panelBackground);\n\n // A submenu inherits the parent surface, and its own props win.\n const size = props.size ?? parent.size;\n const variant = props.variant ?? parent.variant;\n const color = props.color ?? parent.color;\n const material =\n props.material ?? props.panelBackground ?? parent.material ?? resolveMenuMaterial(undefined, undefined, themeContext);\n\n const {\n className,\n children,\n container,\n forceMount,\n color: _color,\n material: _material,\n panelBackground: _panelBackground,\n virtualized = false,\n ...subContentProps\n } = extractProps({ ...props, size, variant }, contextMenuSubContentPropDefs);\n\n const scalarSize = useResolvedResponsiveValue(size, contextMenuSubContentPropDefs.size.default);\n\n const contextValue = React.useMemo(\n () => ({ size, variant, color, material }),\n [size, variant, color, material],\n );\n\n const body = (\n <MenuProvider size={size}>\n <ContextMenuContentContext.Provider value={contextValue}>{children}</ContextMenuContentContext.Provider>\n </MenuProvider>\n );\n\n return (\n <ContextMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <ContextMenuPrimitive.SubContent\n data-accent-color={color}\n data-material={material}\n data-panel-background={material}\n alignOffset={getMenuAlignOffset(scalarSize, themeContext.scaling)}\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-BaseMenuSubContent',\n 'rt-ContextMenuContent',\n 'rt-ContextMenuSubContent',\n className,\n )}\n >\n {virtualized ? (\n <div className={classNames('rt-BaseMenuViewport', 'rt-ContextMenuViewport', 'rt-virtualized')}>\n {body}\n </div>\n ) : (\n <ScrollArea type=\"auto\" scrollbars=\"vertical\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-ContextMenuViewport')}>{body}</div>\n </ScrollArea>\n )}\n </ContextMenuPrimitive.SubContent>\n </Theme>\n </ContextMenuPrimitive.Portal>\n );\n});\nContextMenuSubContent.displayName = 'ContextMenu.SubContent';\n\ntype ContextMenuSeparatorElement = React.ElementRef<typeof ContextMenuPrimitive.Separator>;\ninterface ContextMenuSeparatorProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Separator, RemovedProps> {}\nconst ContextMenuSeparator = React.forwardRef<\n ContextMenuSeparatorElement,\n ContextMenuSeparatorProps\n>(({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuSeparator', 'rt-ContextMenuSeparator', className)}\n />\n));\nContextMenuSeparator.displayName = 'ContextMenu.Separator';\n\nexport {\n ContextMenuRoot as Root,\n ContextMenuTrigger as Trigger,\n ContextMenuContent as Content,\n ContextMenuLabel as Label,\n ContextMenuItem as Item,\n ContextMenuGroup as Group,\n ContextMenuRadioGroup as RadioGroup,\n ContextMenuRadioItem as RadioItem,\n ContextMenuCheckboxItem as CheckboxItem,\n ContextMenuSub as Sub,\n ContextMenuSubTrigger as SubTrigger,\n ContextMenuSubContent as SubContent,\n ContextMenuSeparator as Separator,\n};\n\nexport type {\n ContextMenuRootProps as RootProps,\n ContextMenuTriggerProps as TriggerProps,\n ContextMenuContentProps as ContentProps,\n ContextMenuLabelProps as LabelProps,\n ContextMenuItemProps as ItemProps,\n ContextMenuGroupProps as GroupProps,\n ContextMenuRadioGroupProps as RadioGroupProps,\n ContextMenuRadioItemProps as RadioItemProps,\n ContextMenuCheckboxItemProps as CheckboxItemProps,\n ContextMenuSubProps as SubProps,\n ContextMenuSubTriggerProps as SubTriggerProps,\n ContextMenuSubContentProps as SubContentProps,\n ContextMenuSeparatorProps as SeparatorProps,\n};\n", "import * as React from 'react';\nimport classNames from 'classnames';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\n\nimport { scrollAreaPropDefs } from './scroll-area.props.js';\nimport { extractMarginProps } from '../helpers/extract-margin-props.js';\nimport { getMarginStyles } from '../helpers/get-margin-styles.js';\nimport { getResponsiveClassNames } from '../helpers/get-responsive-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 size = scrollAreaPropDefs.size.default,\n radius = scrollAreaPropDefs.radius.default,\n scrollbars = scrollAreaPropDefs.scrollbars.default,\n ...viewportProps\n } = marginRest;\n\n return (\n <ScrollAreaPrimitive.Root\n type={type}\n scrollHideDelay={scrollHideDelay}\n className={classNames('rt-ScrollAreaRoot', marginClassNames, className)}\n style={mergeStyles(marginCustomProperties, style)}\n asChild={asChild}\n >\n {getSubtree({ asChild, children }, (children) => (\n <>\n <ScrollAreaPrimitive.Viewport\n {...viewportProps}\n ref={forwardedRef}\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={classNames(\n 'rt-ScrollAreaScrollbar',\n getResponsiveClassNames({\n className: 'rt-r-size',\n value: size,\n propValues: scrollAreaPropDefs.size.values,\n }),\n )}\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={classNames(\n 'rt-ScrollAreaScrollbar',\n getResponsiveClassNames({\n className: 'rt-r-size',\n value: size,\n propValues: scrollAreaPropDefs.size.values,\n }),\n )}\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", "import type { PropDef } from './prop-def.js';\n\nconst asChildPropDef = {\n /**\n * Composes the component into its immediate child instead of rendering its own HTML element.\n * You\u2019ll have to provide a single React Element child.\n */\n asChild: {\n type: 'boolean',\n },\n} satisfies {\n asChild: PropDef<boolean>;\n};\n\nexport { asChildPropDef };\n", "import type { PropDef } from './prop-def.js';\n\nconst radii = ['none', 'small', 'medium', 'large', 'full'] as const;\n\nconst radiusPropDef = {\n radius: {\n type: 'enum',\n values: radii,\n default: undefined,\n },\n} satisfies {\n radius: PropDef<(typeof radii)[number]>;\n};\n\nexport { radiusPropDef, radii };\n", "import { asChildPropDef } from '../props/as-child.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3'] as const;\nconst scrollbarsValues = ['vertical', 'horizontal', 'both'] as const;\n\nconst scrollAreaPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '1', responsive: true },\n ...radiusPropDef,\n scrollbars: { type: 'enum', values: scrollbarsValues, default: 'both' },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n scrollbars: PropDef<(typeof scrollbarsValues)[number]>;\n};\n\nexport { scrollAreaPropDefs };\n", "import type { MarginProps } from '../props/margin.props.js';\n\nexport function extractMarginProps<T extends MarginProps>(props: T) {\n const { m, mx, my, mt, mr, mb, ml, ...rest } = props;\n return { m, mx, my, mt, mr, mb, ml, rest };\n}\n", "import type React from 'react';\n\n// Creates a union type of string literals with strings, but retains intellisense for the literals.\n// Union<string, 'foo' | 'bar'> => string | Omit<string, 'foo' | 'bar'>\ntype Union<S = string, T extends string | number = string> = T | Omit<S, T>;\n\nconst breakpoints = ['initial', 'xs', 'sm', 'md', 'lg', 'xl'] as const;\nconst breakpointSet: Set<string> = new Set(breakpoints);\ntype Breakpoint = (typeof breakpoints)[number];\ntype Responsive<T> = T | Partial<Record<Breakpoint, T>>;\n\ntype BooleanPropDef = {\n type: 'boolean';\n default?: boolean;\n required?: boolean;\n className?: string;\n};\ntype StringPropDef = {\n type: 'string';\n default?: string;\n required?: boolean;\n};\ntype ReactNodePropDef = {\n type: 'ReactNode';\n default?: React.ReactNode;\n required?: boolean;\n};\ntype EnumPropDef<T> = {\n type: 'enum';\n values: readonly T[];\n default?: T;\n required?: boolean;\n};\ntype EnumOrStringPropDef<T> = {\n type: 'enum | string';\n values: readonly T[];\n default?: T | string;\n required?: boolean;\n};\n\ntype NonStylingPropDef = {\n className?: never;\n customProperties?: never;\n parseValue?: never;\n};\n\ntype StylingPropDef = {\n className: string;\n parseValue?: (value: string) => string | undefined;\n};\n\ntype ArbitraryStylingPropDef = {\n className: string;\n customProperties: `--${string}`[];\n parseValue?: (value: string) => string | undefined;\n};\n\ntype RegularPropDef<T> =\n | ReactNodePropDef\n | BooleanPropDef\n | (StringPropDef & ArbitraryStylingPropDef)\n | (StringPropDef & NonStylingPropDef)\n | (EnumPropDef<T> & StylingPropDef)\n | (EnumPropDef<T> & NonStylingPropDef)\n | (EnumOrStringPropDef<T> & ArbitraryStylingPropDef)\n | (EnumOrStringPropDef<T> & NonStylingPropDef);\ntype ResponsivePropDef<T = any> = RegularPropDef<T> & { responsive: true };\ntype PropDef<T = any> = RegularPropDef<T> | ResponsivePropDef<T>;\n\n// prettier-ignore\ntype GetPropDefType<Def> =\n Def extends BooleanPropDef ? (Def extends ResponsivePropDef ? Responsive<boolean> : boolean)\n : Def extends StringPropDef ? (Def extends ResponsivePropDef ? Responsive<string> : string)\n : Def extends ReactNodePropDef ? (Def extends ResponsivePropDef ? Responsive<React.ReactNode> : React.ReactNode)\n : Def extends EnumOrStringPropDef<infer Type> ?\n Def extends ResponsivePropDef<infer Type extends string> ? Responsive<Union<string, Type>> : Type\n : Def extends EnumPropDef<infer Type> ? (Def extends ResponsivePropDef<infer Type> ? Responsive<Type> : Type)\n : never;\n\ntype GetPropDefTypes<P> = {\n [K in keyof P]?: GetPropDefType<P[K]>;\n};\n\nexport { breakpoints, breakpointSet };\nexport type {\n PropDef,\n GetPropDefTypes,\n ResponsivePropDef,\n //\n Breakpoint,\n Responsive,\n Union,\n};\n", "/** A util to check whether the object has a key, while inferring the correct key type */\nfunction hasOwnProperty<K extends string | number | symbol>(\n obj: Record<K, unknown>,\n key: string | number | symbol\n): key is K {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexport { hasOwnProperty };\n", "import type { Responsive, Breakpoint } from '../props/prop-def.js';\n\n// Use a Set for O(1) lookup instead of array.includes() which is O(n)\nconst breakpointSet = new Set<string>(['initial', 'xs', 'sm', 'md', 'lg', 'xl']);\n\nexport function isResponsiveObject<Value extends string>(\n obj: Responsive<Value | Omit<string, Value>> | undefined\n): obj is Record<Breakpoint, string> {\n if (typeof obj !== 'object' || obj === null) {\n return false;\n }\n // Use for...in to avoid Object.keys() array allocation\n for (const key in obj) {\n if (breakpointSet.has(key)) {\n return true;\n }\n }\n return false;\n}\n", "import { breakpointSet } from '../props/prop-def.js';\nimport { hasOwnProperty } from './has-own-property.js';\nimport { isResponsiveObject } from './is-responsive-object.js';\n\nimport type { Responsive, Union } from '../props/prop-def.js';\n\n/**\n * Membership test against a prop def's enum values. Callers that already hold a\n * compiled prop def pass `propValueSet` for an O(1) lookup; the handful of call\n * sites that build options inline fall back to scanning the array.\n */\nfunction includesValue(propValues: string[] | readonly string[], propValueSet: ReadonlySet<string> | undefined, value: string): boolean {\n return propValueSet !== undefined ? propValueSet.has(value) : propValues.includes(value);\n}\n\ninterface GetResponsiveStylesOptions {\n className: string;\n customProperties: `--${string}`[];\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveStyles({ className, customProperties, ...args }: GetResponsiveStylesOptions) {\n const responsiveClassNames = getResponsiveClassNames({\n allowArbitraryValues: true,\n className,\n ...args,\n });\n\n const responsiveCustomProperties = getResponsiveCustomProperties({ customProperties, ...args });\n return [responsiveClassNames, responsiveCustomProperties] as const;\n}\n\ninterface GetResponsiveClassNamesOptions {\n allowArbitraryValues?: boolean;\n className: string;\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveClassNames({ allowArbitraryValues, value, className, propValues, propValueSet, parseValue = (value) => value }: GetResponsiveClassNamesOptions): string | undefined {\n if (!value) {\n return undefined;\n }\n\n if (typeof value === 'string') {\n if (includesValue(propValues, propValueSet, value)) {\n return getBaseClassName(className, value, parseValue);\n }\n return allowArbitraryValues ? className : undefined;\n }\n\n if (isResponsiveObject(value)) {\n const object = value;\n const classNames: string[] = [];\n\n for (const bp in object) {\n // Make sure we are not iterating over keys that aren't breakpoints\n if (!hasOwnProperty(object, bp) || !breakpointSet.has(bp)) {\n continue;\n }\n\n const value = object[bp];\n\n if (value !== undefined) {\n if (includesValue(propValues, propValueSet, value)) {\n const baseClassName = getBaseClassName(className, value, parseValue);\n const bpClassName = bp === 'initial' ? baseClassName : `${bp}:${baseClassName}`;\n classNames.push(bpClassName);\n } else if (allowArbitraryValues) {\n const bpClassName = bp === 'initial' ? className : `${bp}:${className}`;\n classNames.push(bpClassName);\n }\n }\n }\n\n return classNames.length > 0 ? classNames.join(' ') : '';\n }\n\n if (allowArbitraryValues) {\n return className;\n }\n}\n\nfunction getBaseClassName(className: string, value: string, parseValue: (value: string) => string | undefined): string {\n const delimiter = className ? '-' : '';\n const matchedValue = parseValue(value);\n const isNegative = matchedValue?.startsWith('-');\n const minus = isNegative ? '-' : '';\n const absoluteValue = isNegative ? matchedValue?.substring(1) : matchedValue;\n return `${minus}${className}${delimiter}${absoluteValue}`;\n}\n\ninterface GetResponsiveCustomPropertiesOptions {\n customProperties: `--${string}`[];\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveCustomProperties({ customProperties, value, propValues, propValueSet, parseValue = (value) => value }: GetResponsiveCustomPropertiesOptions) {\n // Don't generate custom properties if the value is not arbitrary\n if (!value || (typeof value === 'string' && includesValue(propValues, propValueSet, value))) {\n return undefined;\n }\n\n let styles: Record<string, string | undefined> | undefined;\n\n if (typeof value === 'string') {\n const parsed = parseValue(value);\n styles = {};\n for (const customProperty of customProperties) {\n styles[customProperty] = parsed;\n }\n return styles;\n }\n\n if (isResponsiveObject(value)) {\n const object = value;\n\n for (const bp in object) {\n // Make sure we are not iterating over keys that aren't breakpoints\n if (!hasOwnProperty(object, bp) || !breakpointSet.has(bp)) {\n continue;\n }\n\n const value = object[bp];\n\n // Don't generate a custom property if the value is not arbitrary\n if (value === undefined || includesValue(propValues, propValueSet, value)) {\n continue;\n }\n\n const parsed = parseValue(value);\n styles ??= {};\n for (const customProperty of customProperties) {\n const bpProperty = bp === 'initial' ? customProperty : `${customProperty}-${bp}`;\n styles[bpProperty] = parsed;\n }\n }\n }\n\n return styles ?? {};\n}\n\nexport { getResponsiveStyles, getResponsiveCustomProperties, getResponsiveClassNames };\n", "type InlineStyle =\n | React.CSSProperties\n | Record<string, string | number | null | undefined>\n | undefined;\n\n// Merges CSS styles like `classNames` merges CSS classes\n// Optimized to avoid object spread in loop - uses Object.assign for in-place mutation\nexport function mergeStyles(...styles: Array<InlineStyle>): InlineStyle {\n let result: Record<string, string | number | null | undefined> | undefined;\n\n for (const style of styles) {\n if (style) {\n if (result === undefined) {\n // First non-empty style - create result object\n result = {};\n }\n Object.assign(result, style);\n }\n }\n\n return result;\n}\n", "import type { PropDef, GetPropDefTypes } from './prop-def.js';\n\n// prettier-ignore\nconst marginValues = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '-1', '-2', '-3', '-4', '-5', '-6', '-7', '-8', '-9', '-10', '-11', '-12'] as const;\n\nconst marginPropDefs = {\n /**\n * Sets the CSS **margin** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * m=\"4\"\n * m=\"100px\"\n * m={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin\n */\n m: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-m',\n customProperties: ['--m'],\n },\n /**\n * Sets the CSS **margin-left** and **margin-right** properties.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mx=\"4\"\n * mx=\"100px\"\n * mx={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right\n */\n mx: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mx',\n customProperties: ['--ml', '--mr'],\n },\n /**\n * Sets the CSS **margin-top** and **margin-bottom** properties.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * my=\"4\"\n * my=\"100px\"\n * my={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n */\n my: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-my',\n customProperties: ['--mt', '--mb'],\n },\n /**\n * Sets the CSS **margin-top** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mt=\"4\"\n * mt=\"100px\"\n * mt={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n */\n mt: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mt',\n customProperties: ['--mt'],\n },\n /**\n * Sets the CSS **margin-right** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mr=\"4\"\n * mr=\"100px\"\n * mr={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right\n */\n mr: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mr',\n customProperties: ['--mr'],\n },\n /**\n * Sets the CSS **margin-bottom** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mb=\"4\"\n * mb=\"100px\"\n * mb={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n */\n mb: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mb',\n customProperties: ['--mb'],\n },\n /**\n * Sets the CSS **margin-left** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * ml=\"4\"\n * ml=\"100px\"\n * ml={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left\n */\n ml: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-ml',\n customProperties: ['--ml'],\n },\n} satisfies {\n m: PropDef<(typeof marginValues)[number]>;\n mx: PropDef<(typeof marginValues)[number]>;\n my: PropDef<(typeof marginValues)[number]>;\n mt: PropDef<(typeof marginValues)[number]>;\n mr: PropDef<(typeof marginValues)[number]>;\n mb: PropDef<(typeof marginValues)[number]>;\n ml: PropDef<(typeof marginValues)[number]>;\n};\n\ntype MarginProps = GetPropDefTypes<typeof marginPropDefs>;\n\nexport { marginPropDefs };\nexport type { MarginProps };\n", "import { getResponsiveStyles } from './get-responsive-styles.js';\nimport { mergeStyles } from './merge-styles.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\n\nconst marginValues = marginPropDefs.m.values;\nconst marginValueSet: ReadonlySet<string> = new Set(marginValues);\n\n// Static table so the common case \u2014 a component with no margin props at all \u2014\n// is seven property reads and nothing else.\nconst MARGIN_PROPS: ReadonlyArray<{\n key: keyof MarginProps;\n className: string;\n customProperties: `--${string}`[];\n}> = [\n { key: 'm', className: 'rt-r-m', customProperties: ['--margin'] },\n { key: 'mx', className: 'rt-r-mx', customProperties: ['--margin-left', '--margin-right'] },\n { key: 'my', className: 'rt-r-my', customProperties: ['--margin-top', '--margin-bottom'] },\n { key: 'mt', className: 'rt-r-mt', customProperties: ['--margin-top'] },\n { key: 'mr', className: 'rt-r-mr', customProperties: ['--margin-right'] },\n { key: 'mb', className: 'rt-r-mb', customProperties: ['--margin-bottom'] },\n { key: 'ml', className: 'rt-r-ml', customProperties: ['--margin-left'] },\n];\n\nexport function getMarginStyles(props: MarginProps) {\n let classes: string[] | undefined;\n let style: ReturnType<typeof mergeStyles>;\n\n for (let i = 0; i < MARGIN_PROPS.length; i++) {\n const { key, className, customProperties } = MARGIN_PROPS[i];\n const value = props[key];\n if (value === undefined) continue;\n\n const [propClassNames, propCustomProperties] = getResponsiveStyles({\n className,\n customProperties,\n propValues: marginValues,\n propValueSet: marginValueSet,\n value,\n });\n\n if (propClassNames) (classes ??= []).push(propClassNames);\n if (propCustomProperties) style = mergeStyles(style, propCustomProperties);\n }\n\n return [classes !== undefined ? classes.join(' ') : '', style] as const;\n}\n", "import * as React from 'react';\n\n/**\n * This is a helper function that is used when a component supports `asChild`\n * using the `Slot` component but its implementation contains nested DOM elements.\n *\n * Using it ensures if a consumer uses the `asChild` prop, the elements are in\n * correct order in the DOM, adopting the intended consumer `children`.\n */\nexport function getSubtree(\n options: { asChild: boolean | undefined; children: React.ReactNode },\n content: React.ReactNode | ((children: React.ReactNode) => React.ReactNode)\n) {\n const { asChild, children } = options;\n if (!asChild) return typeof content === 'function' ? content(children) : content;\n\n const firstChild = React.Children.only(children) as React.ReactElement;\n return React.cloneElement(firstChild, {\n // @ts-expect-error\n children: typeof content === 'function' ? content(firstChild.props.children) : content,\n });\n}\n", "import type { PropDef } from './prop-def.js';\n\n// prettier-ignore\nconst accentColors = ['gray', 'gold', 'bronze', 'brown', 'yellow', 'amber', 'orange', 'tomato', 'red', 'ruby', 'crimson', 'pink', 'plum', 'purple', 'violet', 'iris', 'indigo', 'blue', 'cyan', 'teal', 'jade', 'green', 'grass', 'lime', 'mint', 'sky'] as const;\n\nconst grayColors = ['auto', 'gray', 'mauve', 'slate', 'sage', 'olive', 'sand'] as const;\n\nconst colorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: undefined as (typeof accentColors)[number] | undefined,\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\n// 1. When used on components that compose Text, sets the color of the text to the current accent.\n// 2. Re-declares the accent role tokens (`--accent-ink`, `--accent-solid`, ...) that descendants read.\nconst accentColorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: '' as (typeof accentColors)[number],\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\nexport {\n accentColorPropDef,\n colorPropDef,\n //\n accentColors,\n grayColors,\n};\n", "import { 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 contentSizes = ['1', '2'] as const;\nconst contentVariants = ['solid', 'soft'] as const;\nconst panelBackgrounds = ['solid', 'translucent'] as const;\nconst materials = ['solid', 'translucent'] as const;\nconst submenuBehaviors = ['cascade', 'drill-down'] as const;\n\n// Base props shared between Content and SubContent\nconst baseMenuSharedPropDefs = {\n size: {\n type: 'enum',\n className: 'rt-r-size',\n values: contentSizes,\n default: '2',\n responsive: true,\n },\n variant: {\n type: 'enum',\n className: 'rt-variant',\n values: contentVariants,\n default: 'solid',\n },\n material: {\n type: 'enum',\n values: materials,\n default: undefined,\n },\n /**\n * @deprecated Use `material` prop instead. This prop will be removed in a future version.\n */\n panelBackground: {\n type: 'enum',\n values: panelBackgrounds,\n default: undefined,\n },\n ...colorPropDef,\n} satisfies {\n size: PropDef<(typeof contentSizes)[number]>;\n variant: PropDef<(typeof contentVariants)[number]>;\n material: PropDef<(typeof materials)[number] | undefined>;\n panelBackground: PropDef<(typeof panelBackgrounds)[number] | undefined>;\n};\n\n// Content-specific props (includes submenuBehavior)\nconst baseMenuContentPropDefs = {\n ...baseMenuSharedPropDefs,\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: {\n type: 'enum',\n values: submenuBehaviors,\n default: 'cascade',\n responsive: true,\n },\n} satisfies {\n size: PropDef<(typeof contentSizes)[number]>;\n variant: PropDef<(typeof contentVariants)[number]>;\n material: PropDef<(typeof materials)[number] | undefined>;\n panelBackground: PropDef<(typeof panelBackgrounds)[number] | undefined>;\n submenuBehavior: PropDef<(typeof submenuBehaviors)[number]>;\n};\n\n// SubContent props (no submenuBehavior)\nconst baseMenuSubContentPropDefs = baseMenuSharedPropDefs;\n\nconst baseMenuItemPropDefs = {\n ...asChildPropDef,\n ...colorPropDef,\n shortcut: { type: 'string' },\n} satisfies {\n shortcut: PropDef<string>;\n};\n\nconst baseMenuCheckboxItemPropDefs = {\n ...colorPropDef,\n shortcut: { type: 'string' },\n} satisfies {\n shortcut: PropDef<string>;\n};\n\nconst baseMenuRadioItemPropDefs = {\n ...colorPropDef,\n};\n\nexport {\n baseMenuContentPropDefs,\n baseMenuSubContentPropDefs,\n baseMenuItemPropDefs,\n baseMenuCheckboxItemPropDefs,\n baseMenuRadioItemPropDefs,\n submenuBehaviors,\n};\n", "'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Direction, Slot, Tooltip as TooltipPrimitive } from 'radix-ui';\nimport { useComposedRefs, useLayoutEffect } from 'radix-ui/internal';\n\nimport { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';\nimport { usePropSyncedState } from '../hooks/use-prop-synced-state.js';\nimport { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';\nimport { themePropDefs } from './theme.props.js';\n\nimport type { ThemeOwnProps } from './theme.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\nconst noop = () => {};\n\ntype ThemeAppearance = (typeof themePropDefs.appearance.values)[number];\ntype ThemeAccentColor = (typeof themePropDefs.accentColor.values)[number];\ntype ThemeGrayColor = (typeof themePropDefs.grayColor.values)[number];\ntype ThemeMaterial = (typeof themePropDefs.material.values)[number];\ntype ThemePanelBackground = (typeof themePropDefs.panelBackground.values)[number];\ntype ThemeRadius = (typeof themePropDefs.radius.values)[number];\ntype ThemeScaling = (typeof themePropDefs.scaling.values)[number];\ntype ThemeFontFamily = (typeof themePropDefs.fontFamily.values)[number];\n// Headings follow the body font until something sets this, so `undefined` is a\n// meaningful value here rather than a missing one.\ntype ThemeHeadingFontFamily = ThemeFontFamily | undefined;\n\ninterface ThemeChangeHandlers {\n onAppearanceChange: (appearance: ThemeAppearance) => void;\n onAccentColorChange: (accentColor: ThemeAccentColor) => void;\n onGrayColorChange: (grayColor: ThemeGrayColor) => void;\n onMaterialChange: (material: ThemeMaterial) => void;\n onPanelBackgroundChange: (panelBackground: ThemePanelBackground) => void;\n onRadiusChange: (radius: ThemeRadius) => void;\n onScalingChange: (scaling: ThemeScaling) => void;\n onFontFamilyChange: (fontFamily: ThemeFontFamily) => void;\n onHeadingFontFamilyChange: (headingFontFamily: ThemeHeadingFontFamily) => void;\n}\n\ninterface ThemeContextValue extends ThemeChangeHandlers {\n appearance: ThemeAppearance;\n accentColor: ThemeAccentColor;\n grayColor: ThemeGrayColor;\n resolvedGrayColor: ThemeGrayColor;\n material: ThemeMaterial;\n panelBackground: ThemePanelBackground;\n radius: ThemeRadius;\n scaling: ThemeScaling;\n fontFamily: ThemeFontFamily;\n headingFontFamily: ThemeHeadingFontFamily;\n}\n// Default theme values used when components render outside a Theme provider\nconst defaultThemeContext: ThemeContextValue = {\n appearance: themePropDefs.appearance.default,\n accentColor: themePropDefs.accentColor.default,\n grayColor: themePropDefs.grayColor.default,\n resolvedGrayColor: themePropDefs.grayColor.default,\n material: themePropDefs.material.default,\n panelBackground: themePropDefs.panelBackground.default,\n radius: themePropDefs.radius.default,\n scaling: themePropDefs.scaling.default,\n fontFamily: themePropDefs.fontFamily.default,\n headingFontFamily: undefined,\n onAppearanceChange: noop,\n onAccentColorChange: noop,\n onGrayColorChange: noop,\n onMaterialChange: noop,\n onPanelBackgroundChange: noop,\n onRadiusChange: noop,\n onScalingChange: noop,\n onFontFamilyChange: noop,\n onHeadingFontFamilyChange: noop,\n};\n\nconst ThemeContext = React.createContext<ThemeContextValue | undefined>(undefined);\n\nfunction useThemeContext() {\n const context = React.useContext(ThemeContext);\n // Return default context if used outside Theme provider (e.g., during SSR)\n return context ?? defaultThemeContext;\n}\n\ninterface ThemeProps extends ThemeImplPublicProps {}\nconst Theme = React.forwardRef<ThemeImplElement, ThemeProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n const isRoot = context === undefined;\n if (isRoot) {\n return (\n <TooltipPrimitive.Provider delayDuration={200}>\n <Direction.Provider dir=\"ltr\">\n <ThemeRoot {...props} ref={forwardedRef} />\n </Direction.Provider>\n </TooltipPrimitive.Provider>\n );\n }\n return <ThemeImpl {...props} ref={forwardedRef} />;\n});\nTheme.displayName = 'Theme';\n\nconst ThemeRoot = React.forwardRef<ThemeImplElement, ThemeImplPublicProps>(\n (props, forwardedRef) => {\n const {\n appearance: appearanceProp = themePropDefs.appearance.default,\n accentColor: accentColorProp = themePropDefs.accentColor.default,\n grayColor: grayColorProp = themePropDefs.grayColor.default,\n material: materialProp = themePropDefs.material.default,\n panelBackground: panelBackgroundProp = themePropDefs.panelBackground.default,\n radius: radiusProp = themePropDefs.radius.default,\n scaling: scalingProp = themePropDefs.scaling.default,\n fontFamily: fontFamilyProp = themePropDefs.fontFamily.default,\n headingFontFamily: headingFontFamilyProp,\n hasBackground = themePropDefs.hasBackground.default,\n ...rootProps\n } = props;\n\n useDeprecatedPanelBackgroundWarning(props.panelBackground);\n\n // Each of these follows its prop but stays independently settable, so\n // `ThemePanel` can change the theme at runtime. Syncing during render\n // rather than in an effect matters here: an effect would commit the old\n // theme first and re-render every consumer of the context a second time.\n const [appearance, setAppearance] = usePropSyncedState(appearanceProp);\n const [accentColor, setAccentColor] = usePropSyncedState(accentColorProp);\n const [grayColor, setGrayColor] = usePropSyncedState(grayColorProp);\n\n // Material takes precedence over panelBackground\n const effectiveMaterial =\n materialProp !== themePropDefs.material.default ? materialProp : panelBackgroundProp;\n const [material, setMaterial] = usePropSyncedState(effectiveMaterial);\n\n // Keep panelBackground in sync with material for backward compatibility\n const [panelBackground, setPanelBackground] = usePropSyncedState(material);\n\n const [radius, setRadius] = usePropSyncedState(radiusProp);\n const [scaling, setScaling] = usePropSyncedState(scalingProp);\n const [fontFamily, setFontFamily] = usePropSyncedState(fontFamilyProp);\n const [headingFontFamily, setHeadingFontFamily] = usePropSyncedState(headingFontFamilyProp);\n\n return (\n <ThemeImpl\n {...rootProps}\n ref={forwardedRef}\n isRoot\n hasBackground={hasBackground}\n //\n appearance={appearance}\n accentColor={accentColor}\n grayColor={grayColor}\n material={material}\n panelBackground={panelBackground}\n radius={radius}\n scaling={scaling}\n fontFamily={fontFamily}\n headingFontFamily={headingFontFamily}\n //\n onAppearanceChange={setAppearance}\n onAccentColorChange={setAccentColor}\n onGrayColorChange={setGrayColor}\n onMaterialChange={setMaterial}\n onPanelBackgroundChange={setPanelBackground}\n onRadiusChange={setRadius}\n onScalingChange={setScaling}\n onFontFamilyChange={setFontFamily}\n onHeadingFontFamilyChange={setHeadingFontFamily}\n />\n );\n },\n);\nThemeRoot.displayName = 'ThemeRoot';\n\ntype ThemeImplElement = React.ElementRef<'div'>;\ninterface ThemeImplProps extends ThemeImplPublicProps, ThemeImplPrivateProps {}\ninterface ThemeImplPublicProps\n extends ComponentPropsWithout<'div', RemovedProps | 'dir'>,\n ThemeOwnProps {}\ninterface ThemeImplPrivateProps extends Partial<ThemeChangeHandlers> {\n isRoot?: boolean;\n}\nfunction getClientOS(): 'windows' | 'macos' | 'linux' | undefined {\n if (typeof navigator === 'undefined') return undefined;\n const ua = navigator.userAgent;\n if (ua.includes('Win')) return 'windows';\n if (ua.includes('Mac')) return 'macos';\n if (ua.includes('Linux')) return 'linux';\n return undefined;\n}\n\nconst ThemeImpl = React.forwardRef<ThemeImplElement, ThemeImplProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n const {\n asChild,\n isRoot,\n hasBackground: hasBackgroundProp,\n //\n appearance = props.appearance ?? context?.appearance ?? themePropDefs.appearance.default,\n accentColor = props.accentColor ?? context?.accentColor ?? themePropDefs.accentColor.default,\n grayColor = props.grayColor ?? context?.resolvedGrayColor ?? themePropDefs.grayColor.default,\n material = props.material ?? context?.material ?? themePropDefs.material.default,\n panelBackground = props.panelBackground ??\n context?.panelBackground ??\n themePropDefs.panelBackground.default,\n radius = props.radius ?? context?.radius ?? themePropDefs.radius.default,\n scaling = props.scaling ?? context?.scaling ?? themePropDefs.scaling.default,\n fontFamily = props.fontFamily ?? context?.fontFamily ?? themePropDefs.fontFamily.default,\n headingFontFamily = props.headingFontFamily ?? context?.headingFontFamily,\n //\n onAppearanceChange = noop,\n onAccentColorChange = noop,\n onGrayColorChange = noop,\n onMaterialChange = noop,\n onPanelBackgroundChange = noop,\n onRadiusChange = noop,\n onScalingChange = noop,\n onFontFamilyChange = noop,\n onHeadingFontFamilyChange = noop,\n //\n ...themeProps\n } = props;\n const Comp = asChild ? Slot.Root : 'div';\n const resolvedGrayColor = grayColor === 'auto' ? getMatchingGrayColor(accentColor) : grayColor;\n const isExplicitAppearance = props.appearance === 'light' || props.appearance === 'dark';\n const hasBackground =\n hasBackgroundProp === undefined ? isRoot || isExplicitAppearance : hasBackgroundProp;\n\n // `data-os` can only be resolved on the client. Writing it straight to the\n // DOM keeps it out of the server markup \u2014 so hydration still matches \u2014 without\n // spending a render pass, and a state update here would re-render the whole\n // application on mount.\n const rootRef = React.useRef<ThemeImplElement>(null);\n const composedRef = useComposedRefs(forwardedRef, rootRef);\n const hasExplicitOS = 'data-os' in themeProps;\n\n useLayoutEffect(() => {\n if (!isRoot || hasExplicitOS) return;\n const node = rootRef.current;\n if (!node) return;\n\n const os = getClientOS();\n if (!os) return;\n node.setAttribute('data-os', os);\n return () => node.removeAttribute('data-os');\n }, [isRoot, hasExplicitOS]);\n\n return (\n <ThemeContext.Provider\n value={React.useMemo(\n () => ({\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n material,\n panelBackground,\n radius,\n scaling,\n fontFamily,\n headingFontFamily,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onMaterialChange,\n onPanelBackgroundChange,\n onRadiusChange,\n onScalingChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n }),\n [\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n material,\n panelBackground,\n radius,\n scaling,\n fontFamily,\n headingFontFamily,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onMaterialChange,\n onPanelBackgroundChange,\n onRadiusChange,\n onScalingChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n ],\n )}\n >\n <Comp\n data-is-root-theme={isRoot ? 'true' : 'false'}\n data-accent-color={accentColor}\n data-gray-color={resolvedGrayColor}\n // for nested `Theme` background\n data-has-background={hasBackground ? 'true' : 'false'}\n data-material={material}\n data-panel-background={panelBackground}\n data-radius={radius}\n data-scaling={scaling}\n data-font-family={fontFamily}\n data-heading-font-family={headingFontFamily}\n ref={composedRef}\n {...themeProps}\n className={classNames(\n 'radix-themes',\n {\n light: appearance === 'light',\n dark: appearance === 'dark',\n },\n themeProps.className,\n )}\n />\n </ThemeContext.Provider>\n );\n});\nThemeImpl.displayName = 'ThemeImpl';\n\nexport { Theme, ThemeContext, useThemeContext };\nexport type { ThemeProps, ThemeContextValue };\n", "import type { accentColors } from '../props/color.prop.js';\n\ntype ThemeAccentColor = (typeof accentColors)[number];\n\nexport function getMatchingGrayColor(accentColor: ThemeAccentColor) {\n switch (accentColor) {\n case 'tomato':\n case 'red':\n case 'ruby':\n case 'crimson':\n case 'pink':\n case 'plum':\n case 'purple':\n case 'violet':\n return 'mauve';\n case 'iris':\n case 'indigo':\n case 'blue':\n case 'sky':\n case 'cyan':\n return 'slate';\n case 'teal':\n case 'jade':\n case 'mint':\n case 'green':\n return 'sage';\n case 'grass':\n case 'lime':\n return 'olive';\n case 'yellow':\n case 'amber':\n case 'orange':\n case 'brown':\n case 'gold':\n case 'bronze':\n return 'sand';\n case 'gray':\n return 'gray';\n }\n}\n", "import * as React from 'react';\n\n/**\n * State that tracks a prop but can also be set imperatively \u2014 the shape `Theme`\n * needs, where a prop sets the value and `ThemePanel` can change it at runtime.\n *\n * Adjusts state during render rather than syncing in a `useEffect`. An effect\n * would commit one render carrying the *old* value and schedule a second one,\n * which for a provider means every consumer renders twice and the browser can\n * paint the stale value in between.\n *\n * @see https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */\nexport function usePropSyncedState<T>(propValue: T) {\n const [value, setValue] = React.useState(propValue);\n const [previousPropValue, setPreviousPropValue] = React.useState(propValue);\n\n if (!Object.is(propValue, previousPropValue)) {\n setPreviousPropValue(propValue);\n setValue(propValue);\n }\n\n return [value, setValue] as const;\n}\n", "import * as React from 'react';\n\nconst PANEL_BACKGROUND_MESSAGE = 'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.';\n\nconst warned = new Set<string>();\n\nfunction warnOnce(message: string) {\n if (warned.has(message)) return;\n warned.add(message);\n console.warn(message);\n}\n\n/**\n * Warns, in development only, that `panelBackground` is deprecated.\n *\n * The `process.env.NODE_ENV` check is a compile-time constant, so a production\n * bundle minifies the effect body away to an empty function instead of reading\n * props and formatting a message per mounted component. The message is also\n * logged once per session rather than once per component instance.\n */\nexport function useDeprecatedPanelBackgroundWarning(panelBackground: unknown) {\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'production') return;\n if (panelBackground !== undefined) warnOnce(PANEL_BACKGROUND_MESSAGE);\n }, [panelBackground]);\n}\n", "import { asChildPropDef } from '../props/as-child.prop.js';\nimport { accentColors, grayColors } from '../props/color.prop.js';\nimport { radii } from '../props/radius.prop.js';\n\nimport type { GetPropDefTypes, PropDef } from '../props/prop-def.js';\n\nconst appearances = ['inherit', 'light', 'dark'] as const;\nconst panelBackgrounds = ['solid', 'translucent'] as const;\nconst materials = ['solid', 'translucent'] as const;\nconst scalings = ['90%', '95%', '100%', '105%', '110%'] as const;\nconst fontFamilies = ['sans', 'mono', 'serif'] as const;\n\nconst themePropDefs = {\n ...asChildPropDef,\n /**\n * Whether to apply background color to the Theme element.\n *\n * Defaults to true for the root Theme and for Theme elements that\n * have an explicit light or dark appearance prop.\n */\n hasBackground: { type: 'boolean', default: true },\n /**\n * Sets the color scheme of the theme, typcially referred to as light and dark mode.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/dark-mode\n */\n appearance: { type: 'enum', values: appearances, default: 'inherit' },\n /**\n * Selects one of the accent color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n accentColor: { type: 'enum', values: accentColors, default: 'blue' },\n /**\n * Selects one of the gray color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n grayColor: { type: 'enum', values: grayColors, default: 'slate' },\n /**\n * Controls whether to use a solid or translucent background color on panelled\n * elements such as Card or Table is solid or translucent.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/visual-style\n */\n material: { type: 'enum', values: materials, default: 'translucent' },\n /**\n * Controls whether to use a solid or translucent background color on panelled\n * elements such as Card or Table is solid or translucent.\n *\n * @deprecated Use `material` prop instead. This prop will be removed in a future version.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/visual-style\n */\n panelBackground: { type: 'enum', values: panelBackgrounds, default: 'translucent' },\n /**\n * Sets the default radius of the components.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/visual-style\n */\n radius: { type: 'enum', values: radii, default: 'full' },\n /**\n * Sets a scaling multiplier for values like spacing, font sizes, line heights, etc. are scaled.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/layout\n */\n scaling: { type: 'enum', values: scalings, default: '100%' },\n /**\n * Sets the font family used for body text in the theme.\n *\n * Headings follow this unless `headingFontFamily` (or the `--font-heading`\n * token) says otherwise.\n *\n * @default 'sans'\n */\n fontFamily: { type: 'enum', values: fontFamilies, default: 'sans' },\n /**\n * Sets the font family used for `Heading`, independently of body text.\n *\n * Deliberately has no default: when it is left unset no attribute is\n * emitted and `--font-heading` keeps following `--font-body`, so a\n * `--font-heading` override in your own CSS survives a `fontFamily` switch.\n */\n headingFontFamily: { type: 'enum', values: fontFamilies },\n} satisfies {\n hasBackground: PropDef<boolean>;\n appearance: PropDef<(typeof appearances)[number]>;\n accentColor: PropDef<(typeof accentColors)[number]>;\n grayColor: PropDef<(typeof grayColors)[number]>;\n material: PropDef<(typeof materials)[number]>;\n panelBackground: PropDef<(typeof panelBackgrounds)[number]>;\n radius: PropDef<(typeof radii)[number]>;\n scaling: PropDef<(typeof scalings)[number]>;\n fontFamily: PropDef<(typeof fontFamilies)[number]>;\n headingFontFamily: PropDef<(typeof fontFamilies)[number]>;\n};\n\ntype ThemeOwnProps = GetPropDefTypes<typeof themePropDefs & typeof asChildPropDef>;\n\nexport { themePropDefs };\nexport type { ThemeOwnProps };\n", "import React from 'react';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\ntype IconElement = React.ElementRef<'svg'>;\ninterface IconProps extends ComponentPropsWithout<'svg', RemovedProps | 'children'> {}\n\nconst ThickDividerHorizontalIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0.75 4.5C0.75 4.08579 1.08579 3.75 1.5 3.75H7.5C7.91421 3.75 8.25 4.08579 8.25 4.5C8.25 4.91421 7.91421 5.25 7.5 5.25H1.5C1.08579 5.25 0.75 4.91421 0.75 4.5Z\"\n />\n </svg>\n );\n});\n\nThickDividerHorizontalIcon.displayName = 'ThickDividerHorizontalIcon';\n\nconst ThickCheckIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.53547 0.62293C8.88226 0.849446 8.97976 1.3142 8.75325 1.66099L4.5083 8.1599C4.38833 8.34356 4.19397 8.4655 3.9764 8.49358C3.75883 8.52167 3.53987 8.45309 3.3772 8.30591L0.616113 5.80777C0.308959 5.52987 0.285246 5.05559 0.563148 4.74844C0.84105 4.44128 1.31533 4.41757 1.62249 4.69547L3.73256 6.60459L7.49741 0.840706C7.72393 0.493916 8.18868 0.396414 8.53547 0.62293Z\"\n />\n </svg>\n );\n});\nThickCheckIcon.displayName = 'ThickCheckIcon';\n\nconst ChevronDownIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path d=\"M0.135232 3.15803C0.324102 2.95657 0.640521 2.94637 0.841971 3.13523L4.5 6.56464L8.158 3.13523C8.3595 2.94637 8.6759 2.95657 8.8648 3.15803C9.0536 3.35949 9.0434 3.67591 8.842 3.86477L4.84197 7.6148C4.64964 7.7951 4.35036 7.7951 4.15803 7.6148L0.158031 3.86477C-0.0434285 3.67591 -0.0536285 3.35949 0.135232 3.15803Z\" />\n </svg>\n );\n});\nChevronDownIcon.displayName = 'ChevronDownIcon';\n\nconst ThickChevronRightIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.23826 0.201711C3.54108 -0.0809141 4.01567 -0.0645489 4.29829 0.238264L7.79829 3.98826C8.06724 4.27642 8.06724 4.72359 7.79829 5.01174L4.29829 8.76174C4.01567 9.06455 3.54108 9.08092 3.23826 8.79829C2.93545 8.51567 2.91909 8.04108 3.20171 7.73826L6.22409 4.5L3.20171 1.26174C2.91909 0.958928 2.93545 0.484337 3.23826 0.201711Z\"\n />\n </svg>\n );\n});\nThickChevronRightIcon.displayName = 'ThickChevronRightIcon';\n\nconst ThickChevronLeftIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.76174 0.201711C5.45892 -0.0809141 4.98433 -0.0645489 4.70171 0.238264L1.20171 3.98826C0.932757 4.27642 0.932757 4.72359 1.20171 5.01174L4.70171 8.76174C4.98433 9.06455 5.45892 9.08092 5.76174 8.79829C6.06455 8.51567 6.08091 8.04108 5.79829 7.73826L2.77591 4.5L5.79829 1.26174C6.08091 0.958928 6.06455 0.484337 5.76174 0.201711Z\"\n />\n </svg>\n );\n});\nThickChevronLeftIcon.displayName = 'ThickChevronLeftIcon';\n\nconst ThickDotIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <circle cx=\"4.5\" cy=\"4.5\" r=\"2\" />\n </svg>\n );\n});\nThickDotIcon.displayName = 'ThickDotIcon';\n\nexport { ChevronDownIcon, ThickCheckIcon, ThickChevronLeftIcon, ThickChevronRightIcon, ThickDividerHorizontalIcon, ThickDotIcon };\nexport type { IconProps };\n\n// Additional minimal icons\nconst CloseIcon = React.forwardRef<IconElement, IconProps>((_props, _forwardedRef) => {\n return (\n <svg\n {..._props}\n ref={_forwardedRef}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n );\n});\nCloseIcon.displayName = 'CloseIcon';\n\nconst PaperclipIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg\n {...props}\n ref={forwardedRef}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551\" />\n </svg>\n );\n});\nPaperclipIcon.displayName = 'PaperclipIcon';\n\nconst FileIcon = React.forwardRef<IconElement, IconProps>((_props, _forwardedRef) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\" />\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\n </svg>\n );\n});\nFileIcon.displayName = 'FileIcon';\n\nconst FileTextIcon = React.forwardRef<IconElement, IconProps>((_props, _forwardedRef) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\" />\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\n <path d=\"M10 9H8\" />\n <path d=\"M16 13H8\" />\n <path d=\"M16 17H8\" />\n </svg>\n );\n});\nFileTextIcon.displayName = 'FileTextIcon';\n\nexport { CloseIcon, PaperclipIcon, FileIcon, FileTextIcon };\n", "import classNames from 'classnames';\n\nimport { getCompiledPropDefs } from './compile-prop-defs.js';\nimport { getResponsiveClassNames, getResponsiveStyles } from './get-responsive-styles.js';\nimport { isResponsiveObject } from './is-responsive-object.js';\nimport { mergeStyles } from './merge-styles.js';\n\nimport type { CompiledPropDef } from './compile-prop-defs.js';\nimport type * as React from 'react';\nimport type { PropDef } from '../props/prop-def.js';\n\ntype PropDefsWithClassName<T> = T extends Record<string, PropDef> ? { [K in keyof T]: T[K] extends { className: string } ? K : never }[keyof T] : never;\n\ntype ResponsiveValue = Record<string, string | undefined>;\n\n/**\n * Fills in the `initial` breakpoint of a responsive value from the prop def's\n * default, and coerces an invalid `initial` enum value back to that default.\n *\n * Returns the value untouched when nothing needs changing, and a copy otherwise\n * \u2014 callers routinely hoist responsive objects to module scope, so mutating the\n * caller's object would corrupt it for every later render.\n */\nfunction normalizeResponsiveValue(value: ResponsiveValue, propDef: CompiledPropDef) {\n let initial = value.initial;\n let changed = false;\n\n if (propDef.hasDefault && initial === undefined) {\n initial = propDef.default as string | undefined;\n changed = true;\n }\n\n if (propDef.enumValueSet !== undefined && !propDef.enumValueSet.has(initial)) {\n initial = propDef.default as string | undefined;\n changed = true;\n }\n\n return changed ? { ...value, initial } : value;\n}\n\n/**\n * Takes props, checks them against prop defs that have a `className` on them,\n * adds necessary CSS classes and inline styles, and returns the props without\n * the corresponding prop defs that were used to formulate the new `className`\n * and `style` values. Also applies prop def defaults to every prop.\n */\nfunction extractProps<P extends { className?: string; style?: React.CSSProperties; [key: string]: any }, T extends Record<string, PropDef>[]>(\n props: P,\n ...propDefs: T\n): Omit<P & { className?: string; style?: React.CSSProperties }, PropDefsWithClassName<T[number]>> {\n const { styling, passthrough, stylingKeys } = getCompiledPropDefs(propDefs);\n\n // Copy the props that survive to the element rather than spreading and then\n // deleting the styling keys. Deleting off a spread demotes the object to\n // dictionary mode in V8, and this object is on the render path of every\n // component in the library.\n const extractedProps: Record<string, any> = {};\n for (const key in props) {\n if (stylingKeys.has(key)) continue;\n extractedProps[key] = props[key];\n }\n\n for (let i = 0; i < passthrough.length; i++) {\n const propDef = passthrough[i];\n const value = extractedProps[propDef.key];\n\n if (value === undefined) {\n if (propDef.hasDefault) extractedProps[propDef.key] = propDef.default;\n continue;\n }\n\n // Fall back to the default when the value is not a valid enum value\n if (propDef.enumValueSet !== undefined && !propDef.enumValueSet.has(value) && !isResponsiveObject(value)) {\n extractedProps[propDef.key] = propDef.default;\n }\n }\n\n let style: ReturnType<typeof mergeStyles>;\n const classes: string[] = [];\n\n for (let i = 0; i < styling.length; i++) {\n const propDef = styling[i];\n let value = props[propDef.key];\n\n // Apply prop def defaults\n if (value === undefined && propDef.hasDefault) {\n value = propDef.default;\n }\n\n // Apply the default value if the value is not a valid enum value\n if (propDef.enumValueSet !== undefined && !propDef.enumValueSet.has(value) && !isResponsiveObject(value)) {\n value = propDef.default;\n }\n\n if (!value) continue;\n\n if (isResponsiveObject(value)) {\n // Make sure we are not threading through responsive values for non-responsive prop defs\n if (!propDef.responsive) continue;\n value = normalizeResponsiveValue(value, propDef);\n }\n\n if (propDef.type === 'enum') {\n const propClassName = getResponsiveClassNames({\n allowArbitraryValues: false,\n value,\n className: propDef.className!,\n propValues: propDef.values,\n propValueSet: propDef.valueSet,\n parseValue: propDef.parseValue,\n });\n\n if (propClassName) classes.push(propClassName);\n continue;\n }\n\n if (propDef.type === 'string' || propDef.type === 'enum | string') {\n const [propClassNames, propCustomProperties] = getResponsiveStyles({\n className: propDef.className!,\n customProperties: propDef.customProperties!,\n // `string` prop defs have no enum values, so every value is arbitrary\n propValues: propDef.type === 'string' ? [] : propDef.values,\n propValueSet: propDef.type === 'string' ? undefined : propDef.valueSet,\n parseValue: propDef.parseValue,\n value,\n });\n\n if (propCustomProperties) style = mergeStyles(style, propCustomProperties);\n if (propClassNames) classes.push(propClassNames);\n continue;\n }\n\n if (propDef.type === 'boolean') {\n // TODO handle responsive boolean props\n classes.push(propDef.className!);\n continue;\n }\n }\n\n extractedProps.className = classNames(classes.length > 0 ? classes.join(' ') : undefined, props.className);\n extractedProps.style = mergeStyles(style, props.style);\n return extractedProps as ReturnType<typeof extractProps<P, T>>;\n}\n\nexport { extractProps };\n", "import type { PropDef } from '../props/prop-def.js';\n\n/**\n * A prop def pre-processed into the exact shape `extractProps` needs at render\n * time. Everything that can be derived from the static prop def \u2014 enum\n * membership sets, whether the def is responsive, whether it carries a default\n * \u2014 is computed once here instead of on every render.\n */\ninterface CompiledPropDef {\n key: string;\n type: PropDef['type'];\n default: unknown;\n hasDefault: boolean;\n responsive: boolean;\n className?: string;\n customProperties?: `--${string}`[];\n parseValue?: (value: string) => string | undefined;\n /** The prop def's own enum values, kept for the responsive class name helpers. */\n values: readonly string[];\n /** O(1) membership for `values`. */\n valueSet: ReadonlySet<string>;\n /**\n * `values` plus the default, used to coerce invalid enum values back to the\n * default. Only present for `type: 'enum'` \u2014 `'enum | string'` props accept\n * arbitrary strings and must not be coerced.\n */\n enumValueSet?: ReadonlySet<unknown>;\n}\n\ninterface CompiledPropDefs {\n /** Defs that contribute a class name and/or custom properties. */\n styling: CompiledPropDef[];\n /**\n * Defs that pass through to the element but still need a default applied or\n * an invalid enum value coerced. Defs that can do neither are omitted\n * entirely \u2014 they are already correct as passed.\n */\n passthrough: CompiledPropDef[];\n /** Keys consumed by `styling`, so they can be skipped when copying props. */\n stylingKeys: ReadonlySet<string>;\n}\n\nconst EMPTY_VALUES: readonly string[] = [];\nconst EMPTY_SET: ReadonlySet<string> = new Set();\n\nfunction compile(propDefs: readonly Record<string, PropDef>[]): CompiledPropDefs {\n const merged: Record<string, PropDef> = Object.assign({}, ...propDefs);\n const styling: CompiledPropDef[] = [];\n const passthrough: CompiledPropDef[] = [];\n const stylingKeys = new Set<string>();\n\n for (const key in merged) {\n // The PropDef union is narrowed per-field below; reading the optional\n // members off the union directly is what the runtime actually needs.\n const def = merged[key] as PropDef & {\n default?: unknown;\n values?: readonly string[];\n className?: string;\n customProperties?: `--${string}`[];\n parseValue?: (value: string) => string | undefined;\n responsive?: true;\n };\n\n const values = def.values ?? EMPTY_VALUES;\n const compiled: CompiledPropDef = {\n key,\n type: def.type,\n default: def.default,\n hasDefault: def.default !== undefined,\n responsive: 'responsive' in def,\n className: def.className,\n customProperties: def.customProperties,\n parseValue: def.parseValue,\n values,\n valueSet: values.length > 0 ? new Set(values) : EMPTY_SET,\n enumValueSet: def.type === 'enum' ? new Set<unknown>([def.default, ...values]) : undefined,\n };\n\n if (def.className) {\n styling.push(compiled);\n stylingKeys.add(key);\n } else if (compiled.hasDefault || def.type === 'enum') {\n // Anything else is copied through untouched, so there is nothing to do.\n passthrough.push(compiled);\n }\n }\n\n return { styling, passthrough, stylingKeys };\n}\n\ninterface CacheNode {\n children: WeakMap<object, CacheNode>;\n compiled?: CompiledPropDefs;\n}\n\nconst cacheRoot: CacheNode = { children: new WeakMap() };\n\n/**\n * Compiles a set of prop defs, memoized on the identity of the prop def objects\n * themselves. Components always pass the same module-level constants, so after\n * the first render of a given component this is a couple of WeakMap lookups\n * instead of merging 50-odd prop defs into a fresh object.\n */\nfunction getCompiledPropDefs(propDefs: readonly Record<string, PropDef>[]): CompiledPropDefs {\n let node = cacheRoot;\n\n for (let i = 0; i < propDefs.length; i++) {\n const propDef = propDefs[i];\n let child = node.children.get(propDef);\n if (child === undefined) {\n child = { children: new WeakMap() };\n node.children.set(propDef, child);\n }\n node = child;\n }\n\n return (node.compiled ??= compile(propDefs));\n}\n\nexport { getCompiledPropDefs };\nexport type { CompiledPropDef, CompiledPropDefs };\n", "import * as React from 'react';\n\n/** A function that throws an error when a value isn't a valid React Element, otherwise returns the value */\nexport const requireReactElement = <T extends React.ReactNode>(children: T): T => {\n const isReactElement = React.isValidElement(children);\n\n if (!isReactElement) {\n throw Error(\n `Expected a single React Element child, but got: ${React.Children.toArray(children)\n .map((child) =>\n typeof child === 'object' && 'type' in child && typeof child.type === 'string'\n ? child.type\n : typeof child\n )\n .join(', ')}`\n );\n }\n\n return children;\n};\n", "'use client';\n\nimport * as React from 'react';\n\nimport { useThemeContext } from '../theme.js';\nimport { useResolvedResponsiveValue } from './base-menu.utils.js';\n\nimport type { Responsive } from '../../props/prop-def.js';\n\n/**\n * Context to detect if a component is rendered inside a menu (DropdownMenu, ContextMenu, etc.)\n * Used by VirtualMenu to adjust its behavior:\n * - Skip role=\"menu\" when inside a parent menu (parent owns the role)\n * - Delegate certain keyboard handling to parent\n * - Use the correct item height based on menu size\n */\n\nexport type MenuSize = '1' | '2';\n\ninterface MenuContextValue {\n /** Whether we're inside a menu that owns the menu role */\n isInsideMenu: boolean;\n /** Menu size for the current breakpoint */\n size?: MenuSize;\n /** Item height in px for the current size and theme scaling */\n itemHeight?: number;\n}\n\nconst MenuContext = React.createContext<MenuContextValue>({ isInsideMenu: false });\n\ninterface MenuProviderProps {\n children: React.ReactNode;\n /** Menu size passed from parent (DropdownMenu.Content, ContextMenu.Content, etc.) */\n size?: Responsive<MenuSize>;\n}\n\n/** Map menu size to item height in pixels at 100% scaling */\nexport const menuSizeToItemHeight: Record<MenuSize, number> = {\n '1': 24, // --space-5\n '2': 32, // --space-6\n};\n\n/** Item height in px for a size at the given theme scaling (\"100%\", \"110%\"\u2026). */\nexport function getMenuItemHeight(size: MenuSize, scaling: string | undefined): number {\n const scale = scaling ? parseFloat(scaling) / 100 : 1;\n return menuSizeToItemHeight[size] * (Number.isFinite(scale) ? scale : 1);\n}\n\nexport function MenuProvider({ children, size }: MenuProviderProps) {\n const resolvedSize = useResolvedResponsiveValue<MenuSize | undefined>(size, undefined);\n const { scaling } = useThemeContext();\n const itemHeight = resolvedSize ? getMenuItemHeight(resolvedSize, scaling) : undefined;\n const value = React.useMemo(\n () => ({ isInsideMenu: true, size: resolvedSize, itemHeight }),\n [resolvedSize, itemHeight],\n );\n return <MenuContext.Provider value={value}>{children}</MenuContext.Provider>;\n}\n\nexport function useMenuContext() {\n return React.useContext(MenuContext);\n}\n", "'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport { Kbd } from '../kbd.js';\nimport { useBreakpoint } from '../../hooks/use-breakpoint.js';\n\nimport type { Breakpoint, Responsive } from '../../props/prop-def.js';\n\nconst BREAKPOINTS_DESCENDING: Breakpoint[] = ['xl', 'lg', 'md', 'sm', 'xs', 'initial'];\n\n/**\n * Resolves a responsive value for the given breakpoint, falling back through\n * the smaller breakpoints when the current one is not set.\n */\nfunction resolveResponsiveValue<T>(\n value: T | Partial<Record<Breakpoint, T>> | undefined,\n currentBreakpoint: Breakpoint,\n defaultValue: T,\n): T {\n if (value === undefined || value === null) return defaultValue;\n if (typeof value !== 'object') return value;\n\n const map = value as Partial<Record<Breakpoint, T>>;\n for (let i = BREAKPOINTS_DESCENDING.indexOf(currentBreakpoint); i < BREAKPOINTS_DESCENDING.length; i++) {\n const resolved = map[BREAKPOINTS_DESCENDING[i]];\n if (resolved !== undefined) return resolved;\n }\n return defaultValue;\n}\n\n/**\n * Resolves a possibly responsive value against the current viewport. Only a\n * responsive object subscribes to breakpoint changes; a plain value costs\n * nothing.\n */\nfunction useResolvedResponsiveValue<T>(value: Responsive<T> | undefined, defaultValue: T): T {\n const isResponsive = typeof value === 'object' && value !== null;\n const { breakpoint } = useBreakpoint(isResponsive);\n return resolveResponsiveValue(value as T | Partial<Record<Breakpoint, T>> | undefined, breakpoint, defaultValue);\n}\n\ntype MenuMaterial = 'solid' | 'translucent';\n\n/**\n * The menu surface material. The component props win, then the nearest\n * Theme's `material`. Theme keeps `panelBackground` in sync with `material` at\n * the root, but a nested `<Theme material=\"solid\">` only updates `material`,\n * so reading the deprecated `panelBackground` from the theme gave the wrong\n * surface there.\n */\nfunction resolveMenuMaterial(\n material: MenuMaterial | undefined,\n panelBackground: MenuMaterial | undefined,\n theme: { material: MenuMaterial; panelBackground: MenuMaterial },\n): MenuMaterial {\n return material ?? panelBackground ?? theme.material ?? theme.panelBackground;\n}\n\n/** Content padding per menu size, in px at 100% scaling (see base-menu.css). */\nconst CONTENT_PADDING: Record<string, number> = { '1': 8, '2': 12, '3': 12 };\n\n/**\n * Offset that lines the first item of a menu up with its anchor: the pointer\n * for a context menu, or the sub trigger for a submenu. It cancels the content\n * padding, which scales with the theme.\n */\nfunction getMenuAlignOffset(size: string, scaling: string | undefined): number {\n const scale = scaling ? parseFloat(scaling) / 100 : 1;\n const padding = CONTENT_PADDING[size] ?? CONTENT_PADDING['2'];\n return -Math.round(padding * (Number.isFinite(scale) ? scale : 1));\n}\n\nconst KEY_SYMBOLS: Record<string, string> = {\n '\u2318': 'Meta',\n cmd: 'Meta',\n command: 'Meta',\n meta: 'Meta',\n '\u2325': 'Alt',\n option: 'Alt',\n opt: 'Alt',\n alt: 'Alt',\n '\u21E7': 'Shift',\n shift: 'Shift',\n '\u2303': 'Control',\n ctrl: 'Control',\n control: 'Control',\n '\u232B': 'Backspace',\n '\u2326': 'Delete',\n '\u23CE': 'Enter',\n '\u21B5': 'Enter',\n '\u238B': 'Escape',\n esc: 'Escape',\n '\u21E5': 'Tab',\n '\u2191': 'ArrowUp',\n '\u2193': 'ArrowDown',\n '\u2190': 'ArrowLeft',\n '\u2192': 'ArrowRight',\n};\n\nconst ariaKeyShortcutsCache = new Map<string, string>();\n\n/**\n * Converts a display shortcut such as \"\u2318 \u21E7 P\" or \"Ctrl+S\" into the\n * `aria-keyshortcuts` format (\"Meta+Shift+P\", \"Control+S\").\n */\nfunction toAriaKeyShortcuts(shortcut: string): string | undefined {\n const cached = ariaKeyShortcutsCache.get(shortcut);\n if (cached !== undefined) return cached || undefined;\n\n // Modifier symbols are tokens of their own (\"\u2318\u21E7P\"); otherwise split on \"+\" and spaces.\n const tokens = shortcut.match(/[\u2318\u2325\u21E7\u2303]|[^\\s+\u2318\u2325\u21E7\u2303]+/gu) ?? [];\n const keys = tokens.map((token) => {\n const mapped = KEY_SYMBOLS[token] ?? KEY_SYMBOLS[token.toLowerCase()];\n return mapped ?? (token.length === 1 ? token.toUpperCase() : token);\n });\n const result = keys.join('+');\n ariaKeyShortcutsCache.set(shortcut, result);\n return result || undefined;\n}\n\n/**\n * The keyboard shortcut hint at the end of a menu item. It is hidden from\n * assistive technology because the item exposes it through\n * `aria-keyshortcuts` instead of reading it as part of the item name.\n */\nfunction MenuShortcut({ shortcut, className }: { shortcut: string; className?: string }) {\n return (\n <div aria-hidden className={classNames('rt-BaseMenuShortcut', className)}>\n <Kbd size=\"1\">{shortcut}</Kbd>\n </div>\n );\n}\n\nexport {\n resolveResponsiveValue,\n useResolvedResponsiveValue,\n resolveMenuMaterial,\n getMenuAlignOffset,\n toAriaKeyShortcuts,\n MenuShortcut,\n};\nexport type { MenuMaterial };\n", "import * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from 'radix-ui';\n\nimport { kbdPropDefs } from './kbd.props.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 } from '../props/prop-def.js';\n\ntype KbdElement = React.ElementRef<'kbd'>;\ntype KbdOwnProps = GetPropDefTypes<typeof kbdPropDefs>;\ninterface KbdProps extends ComponentPropsWithout<'kbd', RemovedProps>, MarginProps, KbdOwnProps {}\nconst Kbd = React.forwardRef<KbdElement, KbdProps>((props, forwardedRef) => {\n const { asChild, className, ...kbdProps } = extractProps(props, kbdPropDefs, marginPropDefs);\n const Comp = asChild ? Slot.Root : 'kbd';\n return (\n <Comp\n {...kbdProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-Kbd', className)}\n />\n );\n});\nKbd.displayName = 'Kbd';\n\nexport { Kbd };\nexport type { KbdProps };\n", "import { asChildPropDef } from '../props/as-child.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] as const;\nconst variants = ['classic', 'soft'] as const;\n\nconst kbdPropDefs = {\n ...asChildPropDef,\n size: {\n type: 'enum',\n className: 'rt-r-size',\n values: sizes,\n responsive: true,\n },\n variant: {\n type: 'enum',\n className: 'rt-variant',\n values: variants,\n default: 'classic',\n },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n};\n\nexport { kbdPropDefs };\n", "'use client';\n\nimport * as React from 'react';\nimport { _BREAKPOINTS, type Breakpoint } from '../components/shell.types.js';\n\nconst QUERIES = Object.entries(_BREAKPOINTS) as Array<[Breakpoint, string]>;\n\ntype Listener = () => void;\n\n/**\n * One set of `MediaQueryList`s and one set of listeners for the whole\n * application. Every component that asks for the breakpoint used to create and\n * subscribe to its own copy of all five queries.\n */\nlet mediaQueryLists: Array<[Breakpoint, MediaQueryList]> | null = null;\nconst listeners = new Set<Listener>();\nlet cachedBreakpoint: Breakpoint | null = null;\n\nfunction getMediaQueryLists() {\n mediaQueryLists ??= QUERIES.map(([name, query]) => [name, window.matchMedia(query)] as [Breakpoint, MediaQueryList]);\n return mediaQueryLists;\n}\n\nfunction computeBreakpoint(): Breakpoint {\n // The largest matching query wins; `_BREAKPOINTS` is ordered smallest first.\n let matched: Breakpoint = 'initial';\n for (const [name, mql] of getMediaQueryLists()) {\n if (mql.matches) matched = name;\n }\n return matched;\n}\n\nfunction handleChange() {\n const next = computeBreakpoint();\n if (next === cachedBreakpoint) return;\n cachedBreakpoint = next;\n listeners.forEach((listener) => listener());\n}\n\nfunction subscribe(listener: Listener) {\n if (typeof window === 'undefined') return () => {};\n\n if (listeners.size === 0) {\n cachedBreakpoint = computeBreakpoint();\n for (const [, mql] of getMediaQueryLists()) {\n // Safari below 14 only has the deprecated listener API.\n if (typeof mql.addEventListener === 'function') mql.addEventListener('change', handleChange);\n else mql.addListener?.(handleChange);\n }\n }\n\n listeners.add(listener);\n\n return () => {\n listeners.delete(listener);\n if (listeners.size > 0) return;\n\n for (const [, mql] of getMediaQueryLists()) {\n try {\n if (typeof mql.removeEventListener === 'function') mql.removeEventListener('change', handleChange);\n else mql.removeListener?.(handleChange);\n } catch (error) {\n // Removal can throw in edge cases, e.g. the list was already torn down.\n if (process.env.NODE_ENV !== 'production') {\n console.warn('[useBreakpoint] MediaQueryList cleanup warning:', error);\n }\n }\n }\n cachedBreakpoint = null;\n };\n}\n\n/**\n * `getSnapshot` must return a referentially stable value between changes, so it\n * reads the cache that `handleChange` maintains rather than recomputing.\n */\nfunction getSnapshot(): Breakpoint {\n if (typeof window === 'undefined') return 'initial';\n cachedBreakpoint ??= computeBreakpoint();\n return cachedBreakpoint;\n}\n\nfunction getServerSnapshot(): Breakpoint {\n return 'initial';\n}\n\nconst getReadySnapshot = () => true;\nconst getReadyServerSnapshot = () => false;\n\nconst noopSubscribe = () => () => {};\nconst getInitialSnapshot = (): Breakpoint => 'initial';\n\n/**\n * The current breakpoint, and whether it has been resolved against a real\n * viewport yet (`false` on the server and during hydration).\n *\n * Reads through `useSyncExternalStore` rather than settling into state from an\n * effect. On a client render the very first pass already has the real\n * breakpoint, instead of rendering the whole shell at `initial` and correcting\n * it after the browser has painted.\n *\n * Pass `enabled = false` to skip the subscription (the breakpoint then reads as\n * `initial`).\n */\nexport function useBreakpoint(enabled = true): { breakpoint: Breakpoint; ready: boolean } {\n // Callers with a non-responsive value pass `enabled = false` so they neither\n // subscribe to the media queries nor re-render when the viewport crosses one.\n const breakpoint = React.useSyncExternalStore(\n enabled ? subscribe : noopSubscribe,\n enabled ? getSnapshot : getInitialSnapshot,\n getServerSnapshot,\n );\n const ready = React.useSyncExternalStore(\n enabled ? subscribe : noopSubscribe,\n getReadySnapshot,\n getReadyServerSnapshot,\n );\n\n return React.useMemo(() => ({ breakpoint, ready }), [breakpoint, ready]);\n}\n", "import type * as React from 'react';\n\nexport type PresentationValue = 'fixed' | 'overlay' | 'stacked';\n\nexport type ResponsivePresentation = PresentationValue | Partial<Record<'initial' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', PresentationValue>>;\n\nexport type PaneMode = 'expanded' | 'collapsed';\nexport type SidebarMode = 'collapsed' | 'thin' | 'expanded';\n\nexport type ResponsiveMode = PaneMode | Partial<Record<'initial' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', PaneMode>>;\n\nexport type ResponsiveSidebarMode = SidebarMode | Partial<Record<'initial' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', SidebarMode>>;\n\nexport type Responsive<T> = T | Partial<Record<'initial' | 'xs' | 'sm' | 'md' | 'lg' | 'xl', T>>;\n\nexport type PaneSizePersistence = {\n load?: () => number | Promise<number | undefined> | undefined;\n save?: (size: number) => void | Promise<void>;\n};\n\nexport interface PaneBaseProps extends React.ComponentPropsWithoutRef<'div'> {\n presentation?: ResponsivePresentation;\n expandedSize?: number;\n minSize?: number;\n maxSize?: number;\n height?: string | number;\n resizable?: boolean;\n collapsible?: boolean;\n onExpand?: () => void;\n onCollapse?: () => void;\n onResize?: (size: number) => void;\n resizer?: React.ReactNode;\n onResizeStart?: (size: number) => void;\n onResizeEnd?: (size: number) => void;\n snapPoints?: number[];\n snapTolerance?: number;\n collapseThreshold?: number;\n paneId?: string;\n persistence?: PaneSizePersistence;\n}\n\nexport const _BREAKPOINTS = {\n xs: '(min-width: 520px)',\n sm: '(min-width: 768px)',\n md: '(min-width: 1024px)',\n lg: '(min-width: 1280px)',\n xl: '(min-width: 1640px)',\n} as const;\n\nexport type Breakpoint = 'initial' | keyof typeof _BREAKPOINTS;\n\nexport type PaneTarget = 'left' | 'rail' | 'panel' | 'sidebar' | 'inspector' | 'bottom';\n\n/**\n * CSS custom property key type for type-safe style objects.\n * Allows any string prefixed with '--'.\n */\nexport type CSSCustomProperty = `--${string}`;\n\n/**\n * Style object that supports CSS custom properties.\n */\nexport type CSSPropertiesWithVars = React.CSSProperties & {\n [key: CSSCustomProperty]: string | number | undefined;\n};\n"],
5
+ "mappings": "2lBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,kBAAAE,GAAA,YAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,eAAAC,GAAA,cAAAC,GAAA,SAAAC,GAAA,cAAAC,GAAA,QAAAC,GAAA,eAAAC,GAAA,eAAAC,GAAA,YAAAC,KAAA,eAAAC,GAAAf,IAMA,IAAAgB,EAAuB,oBACvBC,EAAuB,yBACvBC,EAA0D,oBCR1D,IAAAC,EAAuB,oBACvBC,GAAuB,yBACvBC,EAAkD,oBCAlD,IAAMC,EAAiB,CAKrB,QAAS,CACP,KAAM,SACR,CACF,ECRA,IAAMC,GAAQ,CAAC,OAAQ,QAAS,SAAU,QAAS,MAAM,EAEnDC,GAAgB,CACpB,OAAQ,CACN,KAAM,OACN,OAAQD,GACR,QAAS,MACX,CACF,ECLA,IAAME,GAAQ,CAAC,IAAK,IAAK,GAAG,EACtBC,GAAmB,CAAC,WAAY,aAAc,MAAM,EAEpDC,EAAqB,CACzB,GAAGC,EACH,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQH,GAAO,QAAS,IAAK,WAAY,EAAK,EAC5F,GAAGI,GACH,WAAY,CAAE,KAAM,OAAQ,OAAQH,GAAkB,QAAS,MAAO,CACxE,ECXO,SAASI,GAA0CC,EAAU,CAClE,GAAM,CAAE,EAAAC,EAAG,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAGC,CAAK,EAAIR,EAC/C,MAAO,CAAE,EAAAC,EAAG,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,KAAAC,CAAK,CAC3C,CCCA,IAAMC,GAAc,CAAC,UAAW,KAAM,KAAM,KAAM,KAAM,IAAI,EACtDC,GAA6B,IAAI,IAAID,EAAW,ECNtD,SAASE,GACPC,EACAC,EACU,CACV,OAAO,OAAO,UAAU,eAAe,KAAKD,EAAKC,CAAG,CACtD,CCHA,IAAMC,GAAgB,IAAI,IAAY,CAAC,UAAW,KAAM,KAAM,KAAM,KAAM,IAAI,CAAC,EAExE,SAASC,EACdC,EACmC,CACnC,GAAI,OAAOA,GAAQ,UAAYA,IAAQ,KACrC,MAAO,GAGT,QAAWC,KAAOD,EAChB,GAAIF,GAAc,IAAIG,CAAG,EACvB,MAAO,GAGX,MAAO,EACT,CCPA,SAASC,GAAcC,EAA0CC,EAA+CC,EAAwB,CACtI,OAAOD,IAAiB,OAAYA,EAAa,IAAIC,CAAK,EAAIF,EAAW,SAASE,CAAK,CACzF,CAWA,SAASC,GAAoB,CAAE,UAAAC,EAAW,iBAAAC,EAAkB,GAAGC,CAAK,EAA+B,CACjG,IAAMC,EAAuBC,EAAwB,CACnD,qBAAsB,GACtB,UAAAJ,EACA,GAAGE,CACL,CAAC,EAEKG,EAA6BC,GAA8B,CAAE,iBAAAL,EAAkB,GAAGC,CAAK,CAAC,EAC9F,MAAO,CAACC,EAAsBE,CAA0B,CAC1D,CAWA,SAASD,EAAwB,CAAE,qBAAAG,EAAsB,MAAAT,EAAO,UAAAE,EAAW,WAAAJ,EAAY,aAAAC,EAAc,WAAAW,EAAcV,GAAUA,CAAM,EAAuD,CACxL,GAAKA,EAIL,IAAI,OAAOA,GAAU,SACnB,OAAIH,GAAcC,EAAYC,EAAcC,CAAK,EACxCW,GAAiBT,EAAWF,EAAOU,CAAU,EAE/CD,EAAuBP,EAAY,OAG5C,GAAIU,EAAmBZ,CAAK,EAAG,CAC7B,IAAMa,EAASb,EACTc,EAAuB,CAAC,EAE9B,QAAWC,KAAMF,EAAQ,CAEvB,GAAI,CAACG,GAAeH,EAAQE,CAAE,GAAK,CAACE,GAAc,IAAIF,CAAE,EACtD,SAGF,IAAMf,EAAQa,EAAOE,CAAE,EAEvB,GAAIf,IAAU,QACZ,GAAIH,GAAcC,EAAYC,EAAcC,CAAK,EAAG,CAClD,IAAMkB,EAAgBP,GAAiBT,EAAWF,EAAOU,CAAU,EAC7DS,EAAcJ,IAAO,UAAYG,EAAgB,GAAGH,CAAE,IAAIG,CAAa,GAC7EJ,EAAW,KAAKK,CAAW,CAC7B,SAAWV,EAAsB,CAC/B,IAAMU,EAAcJ,IAAO,UAAYb,EAAY,GAAGa,CAAE,IAAIb,CAAS,GACrEY,EAAW,KAAKK,CAAW,CAC7B,EAEJ,CAEA,OAAOL,EAAW,OAAS,EAAIA,EAAW,KAAK,GAAG,EAAI,EACxD,CAEA,GAAIL,EACF,OAAOP,EAEX,CAEA,SAASS,GAAiBT,EAAmBF,EAAeU,EAA2D,CACrH,IAAMU,EAAYlB,EAAY,IAAM,GAC9BmB,EAAeX,EAAWV,CAAK,EAC/BsB,EAAaD,GAAc,WAAW,GAAG,EACzCE,EAAQD,EAAa,IAAM,GAC3BE,EAAgBF,EAAaD,GAAc,UAAU,CAAC,EAAIA,EAChE,MAAO,GAAGE,CAAK,GAAGrB,CAAS,GAAGkB,CAAS,GAAGI,CAAa,EACzD,CAUA,SAAShB,GAA8B,CAAE,iBAAAL,EAAkB,MAAAH,EAAO,WAAAF,EAAY,aAAAC,EAAc,WAAAW,EAAcV,GAAUA,CAAM,EAAyC,CAEjK,GAAI,CAACA,GAAU,OAAOA,GAAU,UAAYH,GAAcC,EAAYC,EAAcC,CAAK,EACvF,OAGF,IAAIyB,EAEJ,GAAI,OAAOzB,GAAU,SAAU,CAC7B,IAAM0B,EAAShB,EAAWV,CAAK,EAC/ByB,EAAS,CAAC,EACV,QAAWE,KAAkBxB,EAC3BsB,EAAOE,CAAc,EAAID,EAE3B,OAAOD,CACT,CAEA,GAAIb,EAAmBZ,CAAK,EAAG,CAC7B,IAAMa,EAASb,EAEf,QAAWe,KAAMF,EAAQ,CAEvB,GAAI,CAACG,GAAeH,EAAQE,CAAE,GAAK,CAACE,GAAc,IAAIF,CAAE,EACtD,SAGF,IAAMf,EAAQa,EAAOE,CAAE,EAGvB,GAAIf,IAAU,QAAaH,GAAcC,EAAYC,EAAcC,CAAK,EACtE,SAGF,IAAM0B,EAAShB,EAAWV,CAAK,EAC/ByB,MAAW,CAAC,GACZ,QAAWE,KAAkBxB,EAAkB,CAC7C,IAAMyB,EAAab,IAAO,UAAYY,EAAiB,GAAGA,CAAc,IAAIZ,CAAE,GAC9EU,EAAOG,CAAU,EAAIF,CACvB,CACF,CACF,CAEA,OAAOD,GAAU,CAAC,CACpB,CC7IO,SAASI,KAAeC,EAAyC,CACtE,IAAIC,EAEJ,QAAWC,KAASF,EACdE,IACED,IAAW,SAEbA,EAAS,CAAC,GAEZ,OAAO,OAAOA,EAAQC,CAAK,GAI/B,OAAOD,CACT,CClBA,IAAME,EAAe,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,KAAK,EAE7JC,GAAiB,CAarB,EAAG,CACD,KAAM,gBACN,OAAQD,EACR,WAAY,GACZ,UAAW,SACX,iBAAkB,CAAC,KAAK,CAC1B,EAcA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,OAAQ,MAAM,CACnC,EAcA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,OAAQ,MAAM,CACnC,EAaA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,MAAM,CAC3B,EAaA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,MAAM,CAC3B,EAaA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,MAAM,CAC3B,EAaA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,MAAM,CAC3B,CACF,ECvIA,IAAME,GAAeC,GAAe,EAAE,OAChCC,GAAsC,IAAI,IAAIF,EAAY,EAI1DG,GAID,CACH,CAAE,IAAK,IAAK,UAAW,SAAU,iBAAkB,CAAC,UAAU,CAAE,EAChE,CAAE,IAAK,KAAM,UAAW,UAAW,iBAAkB,CAAC,gBAAiB,gBAAgB,CAAE,EACzF,CAAE,IAAK,KAAM,UAAW,UAAW,iBAAkB,CAAC,eAAgB,iBAAiB,CAAE,EACzF,CAAE,IAAK,KAAM,UAAW,UAAW,iBAAkB,CAAC,cAAc,CAAE,EACtE,CAAE,IAAK,KAAM,UAAW,UAAW,iBAAkB,CAAC,gBAAgB,CAAE,EACxE,CAAE,IAAK,KAAM,UAAW,UAAW,iBAAkB,CAAC,iBAAiB,CAAE,EACzE,CAAE,IAAK,KAAM,UAAW,UAAW,iBAAkB,CAAC,eAAe,CAAE,CACzE,EAEO,SAASC,GAAgBC,EAAoB,CAClD,IAAIC,EACAC,EAEJ,QAASC,EAAI,EAAGA,EAAIL,GAAa,OAAQK,IAAK,CAC5C,GAAM,CAAE,IAAAC,EAAK,UAAAC,EAAW,iBAAAC,CAAiB,EAAIR,GAAaK,CAAC,EACrDI,EAAQP,EAAMI,CAAG,EACvB,GAAIG,IAAU,OAAW,SAEzB,GAAM,CAACC,EAAgBC,CAAoB,EAAIC,GAAoB,CACjE,UAAAL,EACA,iBAAAC,EACA,WAAYX,GACZ,aAAcE,GACd,MAAAU,CACF,CAAC,EAEGC,IAAiBP,MAAY,CAAC,IAAG,KAAKO,CAAc,EACpDC,IAAsBP,EAAQS,EAAYT,EAAOO,CAAoB,EAC3E,CAEA,MAAO,CAACR,IAAY,OAAYA,EAAQ,KAAK,GAAG,EAAI,GAAIC,CAAK,CAC/D,CC/CA,IAAAU,GAAuB,oBAShB,SAASC,GACdC,EACAC,EACA,CACA,GAAM,CAAE,QAAAC,EAAS,SAAAC,CAAS,EAAIH,EAC9B,GAAI,CAACE,EAAS,OAAO,OAAOD,GAAY,WAAaA,EAAQE,CAAQ,EAAIF,EAEzE,IAAMG,EAAmB,YAAS,KAAKD,CAAQ,EAC/C,OAAa,gBAAaC,EAAY,CAEpC,SAAU,OAAOH,GAAY,WAAaA,EAAQG,EAAW,MAAM,QAAQ,EAAIH,CACjF,CAAC,CACH,CZCA,IAAMI,GAAmB,aAA+C,CAACC,EAAOC,IAAiB,CAC/F,GAAM,CAAE,KAAMC,EAAY,GAAGC,CAAY,EAAIC,GAAmBJ,CAAK,EAC/D,CAACK,EAAkBC,CAAsB,EAAIC,GAAgBJ,CAAW,EAExE,CACJ,QAAAK,EACA,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,KAAAC,EACA,gBAAAC,EAAkBD,IAAS,SAAW,EAAI,OAC1C,IAAAE,EACA,KAAAC,EAAOC,EAAmB,KAAK,QAC/B,OAAAC,EAASD,EAAmB,OAAO,QACnC,WAAAE,EAAaF,EAAmB,WAAW,QAC3C,GAAGG,CACL,EAAIjB,EAEJ,OACE,gBAAC,EAAAkB,WAAoB,KAApB,CACC,KAAMR,EACN,gBAAiBC,EACjB,aAAW,GAAAQ,SAAW,oBAAqBhB,EAAkBK,CAAS,EACtE,MAAOY,EAAYhB,EAAwBK,CAAK,EAChD,QAASH,GAERe,GAAW,CAAE,QAAAf,EAAS,SAAAC,CAAS,EAAIA,GAClC,gCACE,gBAAC,EAAAW,WAAoB,SAApB,CACE,GAAGD,EACJ,IAAKlB,EACL,UAAU,yBAETQ,CACH,EAEA,gBAAC,OAAI,UAAU,iCAAiC,EAE/CS,IAAe,WACd,gBAAC,EAAAE,WAAoB,UAApB,CACC,cAAaH,EACb,YAAY,aACZ,aAAW,GAAAI,SACT,yBACAG,EAAwB,CACtB,UAAW,YACX,MAAOT,EACP,WAAYC,EAAmB,KAAK,MACtC,CAAC,CACH,GAEA,gBAAC,EAAAI,WAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,EACE,KAEHF,IAAe,aACd,gBAAC,EAAAE,WAAoB,UAApB,CACC,cAAaH,EACb,YAAY,WACZ,aAAW,GAAAI,SACT,yBACAG,EAAwB,CACtB,UAAW,YACX,MAAOT,EACP,WAAYC,EAAmB,KAAK,MACtC,CAAC,CACH,GAEA,gBAAC,EAAAI,WAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,EACE,KAEHF,IAAe,OACd,gBAAC,EAAAE,WAAoB,OAApB,CAA2B,UAAU,sBAAsB,EAC1D,IACN,CACD,CACH,CAEJ,CAAC,EACDrB,GAAW,YAAc,aanGzB,IAAM0B,GAAe,CAAC,OAAQ,OAAQ,SAAU,QAAS,SAAU,QAAS,SAAU,SAAU,MAAO,OAAQ,UAAW,OAAQ,OAAQ,SAAU,SAAU,OAAQ,SAAU,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,OAAQ,OAAQ,KAAK,EAEjPC,GAAa,CAAC,OAAQ,OAAQ,QAAS,QAAS,OAAQ,QAAS,MAAM,EAEvEC,EAAe,CACnB,MAAO,CACL,KAAM,OACN,OAAQF,GACR,QAAS,MACX,CACF,ECRA,IAAMG,GAAe,CAAC,IAAK,GAAG,EACxBC,GAAkB,CAAC,QAAS,MAAM,EAClCC,GAAmB,CAAC,QAAS,aAAa,EAC1CC,GAAY,CAAC,QAAS,aAAa,EACnCC,GAAmB,CAAC,UAAW,YAAY,EAG3CC,GAAyB,CAC7B,KAAM,CACJ,KAAM,OACN,UAAW,YACX,OAAQL,GACR,QAAS,IACT,WAAY,EACd,EACA,QAAS,CACP,KAAM,OACN,UAAW,aACX,OAAQC,GACR,QAAS,OACX,EACA,SAAU,CACR,KAAM,OACN,OAAQE,GACR,QAAS,MACX,EAIA,gBAAiB,CACf,KAAM,OACN,OAAQD,GACR,QAAS,MACX,EACA,GAAGI,CACL,EAQMC,GAA0B,CAC9B,GAAGF,GAOH,gBAAiB,CACf,KAAM,OACN,OAAQD,GACR,QAAS,UACT,WAAY,EACd,CACF,EASMI,EAA6BH,GAE7BI,GAAuB,CAC3B,GAAGC,EACH,GAAGJ,EACH,SAAU,CAAE,KAAM,QAAS,CAC7B,EAIMK,GAA+B,CACnC,GAAGL,EACH,SAAU,CAAE,KAAM,QAAS,CAC7B,EAIMM,GAA4B,CAChC,GAAGN,CACL,ECxFA,IAAAO,EAAuB,oBACvBC,GAAuB,yBACvBC,EAA6D,oBAC7DC,GAAiD,6BCD1C,SAASC,GAAqBC,EAA+B,CAClE,OAAQA,EAAa,CACnB,IAAK,SACL,IAAK,MACL,IAAK,OACL,IAAK,UACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACH,MAAO,QACT,IAAK,OACL,IAAK,SACL,IAAK,OACL,IAAK,MACL,IAAK,OACH,MAAO,QACT,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,QACH,MAAO,OACT,IAAK,QACL,IAAK,OACH,MAAO,QACT,IAAK,SACL,IAAK,QACL,IAAK,SACL,IAAK,QACL,IAAK,OACL,IAAK,SACH,MAAO,OACT,IAAK,OACH,MAAO,MACX,CACF,CCvCA,IAAAC,GAAuB,oBAahB,SAASC,EAAsBC,EAAc,CAClD,GAAM,CAACC,EAAOC,CAAQ,EAAU,YAASF,CAAS,EAC5C,CAACG,EAAmBC,CAAoB,EAAU,YAASJ,CAAS,EAE1E,OAAK,OAAO,GAAGA,EAAWG,CAAiB,IACzCC,EAAqBJ,CAAS,EAC9BE,EAASF,CAAS,GAGb,CAACC,EAAOC,CAAQ,CACzB,CCvBA,IAAAG,GAAuB,oBAEjBC,GAA2B,0HAE3BC,GAAS,IAAI,IAEnB,SAASC,GAASC,EAAiB,CAC7BF,GAAO,IAAIE,CAAO,IACtBF,GAAO,IAAIE,CAAO,EAClB,QAAQ,KAAKA,CAAO,EACtB,CAUO,SAASC,EAAoCC,EAA0B,CACtE,aAAU,IAAM,CAGtB,EAAG,CAACA,CAAe,CAAC,CACtB,CCnBA,IAAMC,GAAc,CAAC,UAAW,QAAS,MAAM,EACzCC,GAAmB,CAAC,QAAS,aAAa,EAC1CC,GAAY,CAAC,QAAS,aAAa,EACnCC,GAAW,CAAC,MAAO,MAAO,OAAQ,OAAQ,MAAM,EAChDC,GAAe,CAAC,OAAQ,OAAQ,OAAO,EAEvCC,EAAgB,CACpB,GAAGC,EAOH,cAAe,CAAE,KAAM,UAAW,QAAS,EAAK,EAOhD,WAAY,CAAE,KAAM,OAAQ,OAAQN,GAAa,QAAS,SAAU,EAOpE,YAAa,CAAE,KAAM,OAAQ,OAAQO,GAAc,QAAS,MAAO,EAOnE,UAAW,CAAE,KAAM,OAAQ,OAAQC,GAAY,QAAS,OAAQ,EAQhE,SAAU,CAAE,KAAM,OAAQ,OAAQN,GAAW,QAAS,aAAc,EAUpE,gBAAiB,CAAE,KAAM,OAAQ,OAAQD,GAAkB,QAAS,aAAc,EAOlF,OAAQ,CAAE,KAAM,OAAQ,OAAQQ,GAAO,QAAS,MAAO,EAOvD,QAAS,CAAE,KAAM,OAAQ,OAAQN,GAAU,QAAS,MAAO,EAS3D,WAAY,CAAE,KAAM,OAAQ,OAAQC,GAAc,QAAS,MAAO,EAQlE,kBAAmB,CAAE,KAAM,OAAQ,OAAQA,EAAa,CAC1D,EJ5EA,IAAMM,EAAO,IAAM,CAAC,EAuCdC,GAAyC,CAC7C,WAAYC,EAAc,WAAW,QACrC,YAAaA,EAAc,YAAY,QACvC,UAAWA,EAAc,UAAU,QACnC,kBAAmBA,EAAc,UAAU,QAC3C,SAAUA,EAAc,SAAS,QACjC,gBAAiBA,EAAc,gBAAgB,QAC/C,OAAQA,EAAc,OAAO,QAC7B,QAASA,EAAc,QAAQ,QAC/B,WAAYA,EAAc,WAAW,QACrC,kBAAmB,OACnB,mBAAoBF,EACpB,oBAAqBA,EACrB,kBAAmBA,EACnB,iBAAkBA,EAClB,wBAAyBA,EACzB,eAAgBA,EAChB,gBAAiBA,EACjB,mBAAoBA,EACpB,0BAA2BA,CAC7B,EAEMG,GAAqB,gBAA6C,MAAS,EAEjF,SAASC,GAAkB,CAGzB,OAFsB,aAAWD,EAAY,GAE3BF,EACpB,CAGA,IAAMI,GAAc,aAAyC,CAACC,EAAOC,IAC7C,aAAWJ,EAAY,IAClB,OAGvB,gBAAC,EAAAK,QAAiB,SAAjB,CAA0B,cAAe,KACxC,gBAAC,YAAU,SAAV,CAAmB,IAAI,OACtB,gBAACC,GAAA,CAAW,GAAGH,EAAO,IAAKC,EAAc,CAC3C,CACF,EAGG,gBAACG,GAAA,CAAW,GAAGJ,EAAO,IAAKC,EAAc,CACjD,EACDF,GAAM,YAAc,QAEpB,IAAMI,GAAkB,aACtB,CAACH,EAAOC,IAAiB,CACvB,GAAM,CACJ,WAAYI,EAAiBT,EAAc,WAAW,QACtD,YAAaU,EAAkBV,EAAc,YAAY,QACzD,UAAWW,EAAgBX,EAAc,UAAU,QACnD,SAAUY,EAAeZ,EAAc,SAAS,QAChD,gBAAiBa,EAAsBb,EAAc,gBAAgB,QACrE,OAAQc,EAAad,EAAc,OAAO,QAC1C,QAASe,EAAcf,EAAc,QAAQ,QAC7C,WAAYgB,EAAiBhB,EAAc,WAAW,QACtD,kBAAmBiB,EACnB,cAAAC,EAAgBlB,EAAc,cAAc,QAC5C,GAAGmB,CACL,EAAIf,EAEJgB,EAAoChB,EAAM,eAAe,EAMzD,GAAM,CAACiB,EAAYC,CAAa,EAAIC,EAAmBd,CAAc,EAC/D,CAACe,EAAaC,CAAc,EAAIF,EAAmBb,CAAe,EAClE,CAACgB,EAAWC,CAAY,EAAIJ,EAAmBZ,CAAa,EAG5DiB,EACJhB,IAAiBZ,EAAc,SAAS,QAAUY,EAAeC,EAC7D,CAACgB,EAAUC,CAAW,EAAIP,EAAmBK,CAAiB,EAG9D,CAACG,EAAiBC,CAAkB,EAAIT,EAAmBM,CAAQ,EAEnE,CAACI,EAAQC,EAAS,EAAIX,EAAmBT,CAAU,EACnD,CAACqB,EAASC,EAAU,EAAIb,EAAmBR,CAAW,EACtD,CAACsB,GAAYC,EAAa,EAAIf,EAAmBP,CAAc,EAC/D,CAACuB,GAAmBC,EAAoB,EAAIjB,EAAmBN,CAAqB,EAE1F,OACE,gBAACT,GAAA,CACE,GAAGW,EACJ,IAAKd,EACL,OAAM,GACN,cAAea,EAEf,WAAYG,EACZ,YAAaG,EACb,UAAWE,EACX,SAAUG,EACV,gBAAiBE,EACjB,OAAQE,EACR,QAASE,EACT,WAAYE,GACZ,kBAAmBE,GAEnB,mBAAoBjB,EACpB,oBAAqBG,EACrB,kBAAmBE,EACnB,iBAAkBG,EAClB,wBAAyBE,EACzB,eAAgBE,GAChB,gBAAiBE,GACjB,mBAAoBE,GACpB,0BAA2BE,GAC7B,CAEJ,CACF,EACAjC,GAAU,YAAc,YAUxB,SAASkC,IAAyD,CAChE,GAAI,OAAO,UAAc,IAAa,OACtC,IAAMC,EAAK,UAAU,UACrB,GAAIA,EAAG,SAAS,KAAK,EAAG,MAAO,UAC/B,GAAIA,EAAG,SAAS,KAAK,EAAG,MAAO,QAC/B,GAAIA,EAAG,SAAS,OAAO,EAAG,MAAO,OAEnC,CAEA,IAAMlC,GAAkB,aAA6C,CAACJ,EAAOC,IAAiB,CAC5F,IAAMsC,EAAgB,aAAW1C,EAAY,EACvC,CACJ,QAAA2C,EACA,OAAAC,EACA,cAAeC,EAEf,WAAAzB,EAAajB,EAAM,YAAcuC,GAAS,YAAc3C,EAAc,WAAW,QACjF,YAAAwB,EAAcpB,EAAM,aAAeuC,GAAS,aAAe3C,EAAc,YAAY,QACrF,UAAA0B,EAAYtB,EAAM,WAAauC,GAAS,mBAAqB3C,EAAc,UAAU,QACrF,SAAA6B,EAAWzB,EAAM,UAAYuC,GAAS,UAAY3C,EAAc,SAAS,QACzE,gBAAA+B,EAAkB3B,EAAM,iBACtBuC,GAAS,iBACT3C,EAAc,gBAAgB,QAChC,OAAAiC,EAAS7B,EAAM,QAAUuC,GAAS,QAAU3C,EAAc,OAAO,QACjE,QAAAmC,EAAU/B,EAAM,SAAWuC,GAAS,SAAW3C,EAAc,QAAQ,QACrE,WAAAqC,EAAajC,EAAM,YAAcuC,GAAS,YAAc3C,EAAc,WAAW,QACjF,kBAAAuC,EAAoBnC,EAAM,mBAAqBuC,GAAS,kBAExD,mBAAAI,EAAqBjD,EACrB,oBAAAkD,EAAsBlD,EACtB,kBAAAmD,EAAoBnD,EACpB,iBAAAoD,EAAmBpD,EACnB,wBAAAqD,EAA0BrD,EAC1B,eAAAsD,EAAiBtD,EACjB,gBAAAuD,EAAkBvD,EAClB,mBAAAwD,EAAqBxD,EACrB,0BAAAyD,EAA4BzD,EAE5B,GAAG0D,CACL,EAAIpD,EACEqD,GAAOb,EAAU,OAAK,KAAO,MAC7Bc,EAAoBhC,IAAc,OAASiC,GAAqBnC,CAAW,EAAIE,EAC/EkC,GAAuBxD,EAAM,aAAe,SAAWA,EAAM,aAAe,OAC5Ec,GACJ4B,IAAsB,OAAYD,GAAUe,GAAuBd,EAM/De,GAAgB,SAAyB,IAAI,EAC7CC,MAAc,oBAAgBzD,EAAcwD,EAAO,EACnDE,GAAgB,YAAaP,EAEnC,6BAAgB,IAAM,CACpB,GAAI,CAACX,GAAUkB,GAAe,OAC9B,IAAMC,GAAOH,GAAQ,QACrB,GAAI,CAACG,GAAM,OAEX,IAAMC,GAAKxB,GAAY,EACvB,GAAKwB,GACL,OAAAD,GAAK,aAAa,UAAWC,EAAE,EACxB,IAAMD,GAAK,gBAAgB,SAAS,CAC7C,EAAG,CAACnB,EAAQkB,EAAa,CAAC,EAGxB,gBAAC9D,GAAa,SAAb,CACC,MAAa,UACX,KAAO,CACL,WAAAoB,EACA,YAAAG,EACA,UAAAE,EACA,kBAAAgC,EACA,SAAA7B,EACA,gBAAAE,EACA,OAAAE,EACA,QAAAE,EACA,WAAAE,EACA,kBAAAE,EAEA,mBAAAQ,EACA,oBAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,wBAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,mBAAAC,EACA,0BAAAC,CACF,GACA,CACElC,EACAG,EACAE,EACAgC,EACA7B,EACAE,EACAE,EACAE,EACAE,EACAE,EAEAQ,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,GAEA,gBAACE,GAAA,CACC,qBAAoBZ,EAAS,OAAS,QACtC,oBAAmBrB,EACnB,kBAAiBkC,EAEjB,sBAAqBxC,GAAgB,OAAS,QAC9C,gBAAeW,EACf,wBAAuBE,EACvB,cAAaE,EACb,eAAcE,EACd,mBAAkBE,EAClB,2BAA0BE,EAC1B,IAAKuB,GACJ,GAAGN,EACJ,aAAW,GAAAU,SACT,eACA,CACE,MAAO7C,IAAe,QACtB,KAAMA,IAAe,MACvB,EACAmC,EAAW,SACb,EACF,CACF,CAEJ,CAAC,EACDhD,GAAU,YAAc,YKhUxB,IAAA2D,EAAkB,oBAOZC,GAA6B,EAAAC,QAAM,WAAmC,CAACC,EAAOC,IAEhF,EAAAF,QAAA,cAAC,OAAI,MAAM,IAAI,OAAO,IAAI,QAAQ,UAAU,KAAK,eAAe,MAAM,6BAA8B,GAAGC,EAAO,IAAKC,GACjH,EAAAF,QAAA,cAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,iKACJ,CACF,CAEH,EAEDD,GAA2B,YAAc,6BAEzC,IAAMI,GAAiB,EAAAH,QAAM,WAAmC,CAACC,EAAOC,IAEpE,EAAAF,QAAA,cAAC,OAAI,MAAM,IAAI,OAAO,IAAI,QAAQ,UAAU,KAAK,eAAe,MAAM,6BAA8B,GAAGC,EAAO,IAAKC,GACjH,EAAAF,QAAA,cAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,sXACJ,CACF,CAEH,EACDG,GAAe,YAAc,iBAE7B,IAAMC,GAAkB,EAAAJ,QAAM,WAAmC,CAACC,EAAOC,IAErE,EAAAF,QAAA,cAAC,OAAI,MAAM,IAAI,OAAO,IAAI,QAAQ,UAAU,KAAK,eAAe,MAAM,6BAA8B,GAAGC,EAAO,IAAKC,GACjH,EAAAF,QAAA,cAAC,QAAK,EAAE,+TAA+T,CACzU,CAEH,EACDI,GAAgB,YAAc,kBAE9B,IAAMC,GAAwB,EAAAL,QAAM,WAAmC,CAACC,EAAOC,IAE3E,EAAAF,QAAA,cAAC,OAAI,MAAM,IAAI,OAAO,IAAI,QAAQ,UAAU,KAAK,eAAe,MAAM,6BAA8B,GAAGC,EAAO,IAAKC,GACjH,EAAAF,QAAA,cAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,2UACJ,CACF,CAEH,EACDK,GAAsB,YAAc,wBAEpC,IAAMC,GAAuB,EAAAN,QAAM,WAAmC,CAACC,EAAOC,IAE1E,EAAAF,QAAA,cAAC,OAAI,MAAM,IAAI,OAAO,IAAI,QAAQ,UAAU,KAAK,eAAe,MAAM,6BAA8B,GAAGC,EAAO,IAAKC,GACjH,EAAAF,QAAA,cAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,6UACJ,CACF,CAEH,EACDM,GAAqB,YAAc,uBAEnC,IAAMC,GAAe,EAAAP,QAAM,WAAmC,CAACC,EAAOC,IAElE,EAAAF,QAAA,cAAC,OAAI,MAAM,IAAI,OAAO,IAAI,QAAQ,UAAU,KAAK,eAAe,MAAM,6BAA8B,GAAGC,EAAO,IAAKC,GACjH,EAAAF,QAAA,cAAC,UAAO,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,CAClC,CAEH,EACDO,GAAa,YAAc,eAM3B,IAAMC,GAAY,EAAAC,QAAM,WAAmC,CAACC,EAAQC,IAEhE,EAAAF,QAAA,cAAC,OACE,GAAGC,EACJ,IAAKC,EACL,MAAM,6BACN,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,OAAO,eACP,YAAY,IACZ,cAAc,QACd,eAAe,SAEf,EAAAF,QAAA,cAAC,QAAK,EAAE,aAAa,EACrB,EAAAA,QAAA,cAAC,QAAK,EAAE,aAAa,CACvB,CAEH,EACDD,GAAU,YAAc,YAExB,IAAMI,GAAgB,EAAAH,QAAM,WAAmC,CAACI,EAAOC,IAEnE,EAAAL,QAAA,cAAC,OACE,GAAGI,EACJ,IAAKC,EACL,MAAM,6BACN,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,OAAO,eACP,YAAY,IACZ,cAAc,QACd,eAAe,SAEf,EAAAL,QAAA,cAAC,QAAK,EAAE,2HAA2H,CACrI,CAEH,EACDG,GAAc,YAAc,gBAE5B,IAAMG,GAAW,EAAAN,QAAM,WAAmC,CAACC,EAAQC,IAE/D,EAAAF,QAAA,cAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,OAAO,eAAe,YAAY,IAAI,cAAc,QAAQ,eAAe,SACxK,EAAAA,QAAA,cAAC,QAAK,EAAE,6DAA6D,EACrE,EAAAA,QAAA,cAAC,QAAK,EAAE,0BAA0B,CACpC,CAEH,EACDM,GAAS,YAAc,WAEvB,IAAMC,GAAe,EAAAP,QAAM,WAAmC,CAACC,EAAQC,IAEnE,EAAAF,QAAA,cAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,OAAO,eAAe,YAAY,IAAI,cAAc,QAAQ,eAAe,SACxK,EAAAA,QAAA,cAAC,QAAK,EAAE,6DAA6D,EACrE,EAAAA,QAAA,cAAC,QAAK,EAAE,0BAA0B,EAClC,EAAAA,QAAA,cAAC,QAAK,EAAE,UAAU,EAClB,EAAAA,QAAA,cAAC,QAAK,EAAE,WAAW,EACnB,EAAAA,QAAA,cAAC,QAAK,EAAE,WAAW,CACrB,CAEH,EACDO,GAAa,YAAc,eClJ3B,IAAAC,GAAuB,yBC0CvB,IAAMC,GAAkC,CAAC,EACnCC,GAAiC,IAAI,IAE3C,SAASC,GAAQC,EAAgE,CAC/E,IAAMC,EAAkC,OAAO,OAAO,CAAC,EAAG,GAAGD,CAAQ,EAC/DE,EAA6B,CAAC,EAC9BC,EAAiC,CAAC,EAClCC,EAAc,IAAI,IAExB,QAAWC,KAAOJ,EAAQ,CAGxB,IAAMK,EAAML,EAAOI,CAAG,EAShBE,EAASD,EAAI,QAAUT,GACvBW,EAA4B,CAChC,IAAAH,EACA,KAAMC,EAAI,KACV,QAASA,EAAI,QACb,WAAYA,EAAI,UAAY,OAC5B,WAAY,eAAgBA,EAC5B,UAAWA,EAAI,UACf,iBAAkBA,EAAI,iBACtB,WAAYA,EAAI,WAChB,OAAAC,EACA,SAAUA,EAAO,OAAS,EAAI,IAAI,IAAIA,CAAM,EAAIT,GAChD,aAAcQ,EAAI,OAAS,OAAS,IAAI,IAAa,CAACA,EAAI,QAAS,GAAGC,CAAM,CAAC,EAAI,MACnF,EAEID,EAAI,WACNJ,EAAQ,KAAKM,CAAQ,EACrBJ,EAAY,IAAIC,CAAG,IACVG,EAAS,YAAcF,EAAI,OAAS,SAE7CH,EAAY,KAAKK,CAAQ,CAE7B,CAEA,MAAO,CAAE,QAAAN,EAAS,YAAAC,EAAa,YAAAC,CAAY,CAC7C,CAOA,IAAMK,GAAuB,CAAE,SAAU,IAAI,OAAU,EAQvD,SAASC,GAAoBV,EAAgE,CAC3F,IAAIW,EAAOF,GAEX,QAASG,EAAI,EAAGA,EAAIZ,EAAS,OAAQY,IAAK,CACxC,IAAMC,EAAUb,EAASY,CAAC,EACtBE,EAAQH,EAAK,SAAS,IAAIE,CAAO,EACjCC,IAAU,SACZA,EAAQ,CAAE,SAAU,IAAI,OAAU,EAClCH,EAAK,SAAS,IAAIE,EAASC,CAAK,GAElCH,EAAOG,CACT,CAEA,OAAQH,EAAK,WAALA,EAAK,SAAaZ,GAAQC,CAAQ,EAC5C,CD9FA,SAASe,GAAyBC,EAAwBC,EAA0B,CAClF,IAAIC,EAAUF,EAAM,QAChBG,EAAU,GAEd,OAAIF,EAAQ,YAAcC,IAAY,SACpCA,EAAUD,EAAQ,QAClBE,EAAU,IAGRF,EAAQ,eAAiB,QAAa,CAACA,EAAQ,aAAa,IAAIC,CAAO,IACzEA,EAAUD,EAAQ,QAClBE,EAAU,IAGLA,EAAU,CAAE,GAAGH,EAAO,QAAAE,CAAQ,EAAIF,CAC3C,CAQA,SAASI,EACPC,KACGC,EAC8F,CACjG,GAAM,CAAE,QAAAC,EAAS,YAAAC,EAAa,YAAAC,CAAY,EAAIC,GAAoBJ,CAAQ,EAMpEK,EAAsC,CAAC,EAC7C,QAAWC,KAAOP,EACZI,EAAY,IAAIG,CAAG,IACvBD,EAAeC,CAAG,EAAIP,EAAMO,CAAG,GAGjC,QAASC,EAAI,EAAGA,EAAIL,EAAY,OAAQK,IAAK,CAC3C,IAAMZ,EAAUO,EAAYK,CAAC,EACvBb,EAAQW,EAAeV,EAAQ,GAAG,EAExC,GAAID,IAAU,OAAW,CACnBC,EAAQ,aAAYU,EAAeV,EAAQ,GAAG,EAAIA,EAAQ,SAC9D,QACF,CAGIA,EAAQ,eAAiB,QAAa,CAACA,EAAQ,aAAa,IAAID,CAAK,GAAK,CAACc,EAAmBd,CAAK,IACrGW,EAAeV,EAAQ,GAAG,EAAIA,EAAQ,QAE1C,CAEA,IAAIc,EACEC,EAAoB,CAAC,EAE3B,QAASH,EAAI,EAAGA,EAAIN,EAAQ,OAAQM,IAAK,CACvC,IAAMZ,EAAUM,EAAQM,CAAC,EACrBb,EAAQK,EAAMJ,EAAQ,GAAG,EAY7B,GATID,IAAU,QAAaC,EAAQ,aACjCD,EAAQC,EAAQ,SAIdA,EAAQ,eAAiB,QAAa,CAACA,EAAQ,aAAa,IAAID,CAAK,GAAK,CAACc,EAAmBd,CAAK,IACrGA,EAAQC,EAAQ,SAGd,EAACD,EAEL,IAAIc,EAAmBd,CAAK,EAAG,CAE7B,GAAI,CAACC,EAAQ,WAAY,SACzBD,EAAQD,GAAyBC,EAAOC,CAAO,CACjD,CAEA,GAAIA,EAAQ,OAAS,OAAQ,CAC3B,IAAMgB,EAAgBC,EAAwB,CAC5C,qBAAsB,GACtB,MAAAlB,EACA,UAAWC,EAAQ,UACnB,WAAYA,EAAQ,OACpB,aAAcA,EAAQ,SACtB,WAAYA,EAAQ,UACtB,CAAC,EAEGgB,GAAeD,EAAQ,KAAKC,CAAa,EAC7C,QACF,CAEA,GAAIhB,EAAQ,OAAS,UAAYA,EAAQ,OAAS,gBAAiB,CACjE,GAAM,CAACkB,EAAgBC,CAAoB,EAAIC,GAAoB,CACjE,UAAWpB,EAAQ,UACnB,iBAAkBA,EAAQ,iBAE1B,WAAYA,EAAQ,OAAS,SAAW,CAAC,EAAIA,EAAQ,OACrD,aAAcA,EAAQ,OAAS,SAAW,OAAYA,EAAQ,SAC9D,WAAYA,EAAQ,WACpB,MAAAD,CACF,CAAC,EAEGoB,IAAsBL,EAAQO,EAAYP,EAAOK,CAAoB,GACrED,GAAgBH,EAAQ,KAAKG,CAAc,EAC/C,QACF,CAEA,GAAIlB,EAAQ,OAAS,UAAW,CAE9Be,EAAQ,KAAKf,EAAQ,SAAU,EAC/B,QACF,EACF,CAEA,OAAAU,EAAe,aAAY,GAAAY,SAAWP,EAAQ,OAAS,EAAIA,EAAQ,KAAK,GAAG,EAAI,OAAWX,EAAM,SAAS,EACzGM,EAAe,MAAQW,EAAYP,EAAOV,EAAM,KAAK,EAC9CM,CACT,CE9IA,IAAAa,GAAuB,oBAGVC,GAAkDC,GAAmB,CAGhF,GAAI,CAFyB,kBAAeA,CAAQ,EAGlD,MAAM,MACJ,mDAAyD,YAAS,QAAQA,CAAQ,EAC/E,IAAKC,GACJ,OAAOA,GAAU,UAAY,SAAUA,GAAS,OAAOA,EAAM,MAAS,SAClEA,EAAM,KACN,OAAOA,CACb,EACC,KAAK,IAAI,CAAC,EACf,EAGF,OAAOD,CACT,ECjBA,IAAAE,EAAuB,oBCAvB,IAAAC,GAAuB,oBACvBC,GAAuB,yBCHvB,IAAAC,GAAuB,oBACvBC,GAAuB,yBACvBC,GAAqB,oBCErB,IAAMC,GAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EACpDC,GAAW,CAAC,UAAW,MAAM,EAE7BC,GAAc,CAClB,GAAGC,EACH,KAAM,CACJ,KAAM,OACN,UAAW,YACX,OAAQH,GACR,WAAY,EACd,EACA,QAAS,CACP,KAAM,OACN,UAAW,aACX,OAAQC,GACR,QAAS,SACX,CACF,EDNA,IAAMG,GAAY,cAAiC,CAACC,EAAOC,IAAiB,CAC1E,GAAM,CAAE,QAAAC,EAAS,UAAAC,EAAW,GAAGC,CAAS,EAAIC,EAAaL,EAAOM,GAAaC,EAAc,EACrFC,EAAON,EAAU,QAAK,KAAO,MACnC,OACE,iBAACM,EAAA,CACE,GAAGJ,EACJ,IAAKH,EACL,aAAW,GAAAQ,SAAW,WAAY,SAAUN,CAAS,EACvD,CAEJ,CAAC,EACDJ,GAAI,YAAc,MExBlB,IAAAW,EAAuB,oBCuChB,IAAMC,GAAe,CAC1B,GAAI,qBACJ,GAAI,qBACJ,GAAI,sBACJ,GAAI,sBACJ,GAAI,qBACN,ED1CA,IAAMC,GAAU,OAAO,QAAQC,EAAY,EASvCC,GAA8D,KAC5DC,EAAY,IAAI,IAClBC,EAAsC,KAE1C,SAASC,IAAqB,CAC5B,OAAAH,QAAoBF,GAAQ,IAAI,CAAC,CAACM,EAAMC,CAAK,IAAM,CAACD,EAAM,OAAO,WAAWC,CAAK,CAAC,CAAiC,GAC5GL,EACT,CAEA,SAASM,IAAgC,CAEvC,IAAIC,EAAsB,UAC1B,OAAW,CAACH,EAAMI,CAAG,IAAKL,GAAmB,EACvCK,EAAI,UAASD,EAAUH,GAE7B,OAAOG,CACT,CAEA,SAASE,IAAe,CACtB,IAAMC,EAAOJ,GAAkB,EAC3BI,IAASR,IACbA,EAAmBQ,EACnBT,EAAU,QAASU,GAAaA,EAAS,CAAC,EAC5C,CAEA,SAASC,GAAUD,EAAoB,CACrC,GAAI,OAAO,OAAW,IAAa,MAAO,IAAM,CAAC,EAEjD,GAAIV,EAAU,OAAS,EAAG,CACxBC,EAAmBI,GAAkB,EACrC,OAAW,CAAC,CAAEE,CAAG,IAAKL,GAAmB,EAEnC,OAAOK,EAAI,kBAAqB,WAAYA,EAAI,iBAAiB,SAAUC,EAAY,EACtFD,EAAI,cAAcC,EAAY,CAEvC,CAEA,OAAAR,EAAU,IAAIU,CAAQ,EAEf,IAAM,CAEX,GADAV,EAAU,OAAOU,CAAQ,EACrB,EAAAV,EAAU,KAAO,GAErB,QAAW,CAAC,CAAEO,CAAG,IAAKL,GAAmB,EACvC,GAAI,CACE,OAAOK,EAAI,qBAAwB,WAAYA,EAAI,oBAAoB,SAAUC,EAAY,EAC5FD,EAAI,iBAAiBC,EAAY,CACxC,MAAgB,CAKhB,CAEFP,EAAmB,KACrB,CACF,CAMA,SAASW,IAA0B,CACjC,OAAI,OAAO,OAAW,IAAoB,WAC1CX,MAAqBI,GAAkB,GAChCJ,EACT,CAEA,SAASY,IAAgC,CACvC,MAAO,SACT,CAEA,IAAMC,GAAmB,IAAM,GACzBC,GAAyB,IAAM,GAE/BC,GAAgB,IAAM,IAAM,CAAC,EAC7BC,GAAqB,IAAkB,UActC,SAASC,GAAcC,EAAU,GAAkD,CAGxF,IAAMC,EAAmB,uBACvBD,EAAUR,GAAYK,GACtBG,EAAUP,GAAcK,GACxBJ,EACF,EACMQ,EAAc,uBAClBF,EAAUR,GAAYK,GACtBF,GACAC,EACF,EAEA,OAAa,UAAQ,KAAO,CAAE,WAAAK,EAAY,MAAAC,CAAM,GAAI,CAACD,EAAYC,CAAK,CAAC,CACzE,CH7GA,IAAMC,GAAuC,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,SAAS,EAMrF,SAASC,GACPC,EACAC,EACAC,EACG,CACH,GAA2BF,GAAU,KAAM,OAAOE,EAClD,GAAI,OAAOF,GAAU,SAAU,OAAOA,EAEtC,IAAMG,EAAMH,EACZ,QAASI,EAAIN,GAAuB,QAAQG,CAAiB,EAAGG,EAAIN,GAAuB,OAAQM,IAAK,CACtG,IAAMC,EAAWF,EAAIL,GAAuBM,CAAC,CAAC,EAC9C,GAAIC,IAAa,OAAW,OAAOA,CACrC,CACA,OAAOH,CACT,CAOA,SAASI,EAA8BN,EAAkCE,EAAoB,CAC3F,IAAMK,EAAe,OAAOP,GAAU,UAAYA,IAAU,KACtD,CAAE,WAAAQ,CAAW,EAAIC,GAAcF,CAAY,EACjD,OAAOR,GAAuBC,EAAyDQ,EAAYN,CAAY,CACjH,CAWA,SAASQ,GACPC,EACAC,EACAC,EACc,CACd,OAAOF,GAAYC,GAAmBC,EAAM,UAAYA,EAAM,eAChE,CAGA,IAAMC,GAA0C,CAAE,EAAK,EAAG,EAAK,GAAI,EAAK,EAAG,EAO3E,SAASC,GAAmBC,EAAcC,EAAqC,CAC7E,IAAMC,EAAQD,EAAU,WAAWA,CAAO,EAAI,IAAM,EAC9CE,EAAUL,GAAgBE,CAAI,GAAKF,GAAgB,CAAG,EAC5D,MAAO,CAAC,KAAK,MAAMK,GAAW,OAAO,SAASD,CAAK,EAAIA,EAAQ,EAAE,CACnE,CAEA,IAAME,GAAsC,CAC1C,SAAK,OACL,IAAK,OACL,QAAS,OACT,KAAM,OACN,SAAK,MACL,OAAQ,MACR,IAAK,MACL,IAAK,MACL,SAAK,QACL,MAAO,QACP,SAAK,UACL,KAAM,UACN,QAAS,UACT,SAAK,YACL,SAAK,SACL,SAAK,QACL,SAAK,QACL,SAAK,SACL,IAAK,SACL,SAAK,MACL,SAAK,UACL,SAAK,YACL,SAAK,YACL,SAAK,YACP,EAEMC,GAAwB,IAAI,IAMlC,SAASC,GAAmBC,EAAsC,CAChE,IAAMC,EAASH,GAAsB,IAAIE,CAAQ,EACjD,GAAIC,IAAW,OAAW,OAAOA,GAAU,OAQ3C,IAAMC,GALSF,EAAS,MAAM,sBAAsB,GAAK,CAAC,GACtC,IAAKG,GACRN,GAAYM,CAAK,GAAKN,GAAYM,EAAM,YAAY,CAAC,IAClDA,EAAM,SAAW,EAAIA,EAAM,YAAY,EAAIA,EAC9D,EACmB,KAAK,GAAG,EAC5B,OAAAL,GAAsB,IAAIE,EAAUE,CAAM,EACnCA,GAAU,MACnB,CAOA,SAASE,GAAa,CAAE,SAAAJ,EAAU,UAAAK,CAAU,EAA6C,CACvF,OACE,iBAAC,OAAI,cAAW,GAAC,aAAW,GAAAC,SAAW,sBAAuBD,CAAS,GACrE,iBAACE,GAAA,CAAI,KAAK,KAAKP,CAAS,CAC1B,CAEJ,CDzGA,IAAMQ,GAAoB,gBAAgC,CAAE,aAAc,EAAM,CAAC,EASpEC,GAAiD,CAC5D,EAAK,GACL,EAAK,EACP,EAGO,SAASC,GAAkBC,EAAgBC,EAAqC,CACrF,IAAMC,EAAQD,EAAU,WAAWA,CAAO,EAAI,IAAM,EACpD,OAAOH,GAAqBE,CAAI,GAAK,OAAO,SAASE,CAAK,EAAIA,EAAQ,EACxE,CAEO,SAASC,GAAa,CAAE,SAAAC,EAAU,KAAAJ,CAAK,EAAsB,CAClE,IAAMK,EAAeC,EAAiDN,EAAM,MAAS,EAC/E,CAAE,QAAAC,CAAQ,EAAIM,EAAgB,EAC9BC,EAAaH,EAAeN,GAAkBM,EAAcJ,CAAO,EAAI,OACvEQ,EAAc,UAClB,KAAO,CAAE,aAAc,GAAM,KAAMJ,EAAc,WAAAG,CAAW,GAC5D,CAACH,EAAcG,CAAU,CAC3B,EACA,OAAO,gBAACX,GAAY,SAAZ,CAAqB,MAAOY,GAAQL,CAAS,CACvD,CzBpBA,IAAMM,GAAmDC,GACvD,gBAAC,EAAAC,YAAqB,KAArB,CAA2B,GAAGD,EAAO,EAExCD,GAAgB,YAAc,mBAK9B,IAAMG,GAA2B,aAC/B,CAAC,CAAE,SAAAC,EAAU,GAAGH,CAAM,EAAGI,IACvB,gBAAC,EAAAH,YAAqB,QAArB,CAA8B,GAAGD,EAAO,IAAKI,EAAc,QAAO,IAChEC,GAAoBF,CAAQ,CAC/B,CAEJ,EACAD,GAAmB,YAAc,sBAWjC,IAAMI,GAAkC,gBAA8C,CAAC,CAAC,EAgBlFC,GAA2B,aAC/B,CAACP,EAAOI,IAAiB,CACvB,IAAMI,EAAeC,EAAgB,EAErCC,EAAoCV,EAAM,eAAe,EAEzD,IAAMW,EAAWC,GAAoBZ,EAAM,SAAUA,EAAM,gBAAiBQ,CAAY,EAClF,CACJ,KAAAK,EAAOC,EAA2B,KAAK,QACvC,QAAAC,EAAUD,EAA2B,QAAQ,OAC/C,EAAId,EACE,CACJ,UAAAgB,EACA,SAAAb,EACA,MAAAc,EACA,UAAAC,EACA,WAAAC,EACA,SAAUC,EACV,gBAAiBC,EACjB,gBAAiBC,EACjB,YAAAC,EAAc,GACd,GAAGC,CACL,EAAIC,EAAazB,EAAOc,CAA0B,EAE5CY,EAAgBT,GAAST,EAAa,YACtCmB,EAAaC,EAA2Bf,EAAMC,EAA2B,KAAK,OAAO,EAErFe,EAAqB,UACzB,KAAO,CAAE,KAAAhB,EAAM,QAAAE,EAAS,MAAOW,EAAe,SAAAf,CAAS,GACvD,CAACE,EAAME,EAASW,EAAef,CAAQ,CACzC,EAEMmB,EACJ,gBAACC,GAAA,CAAa,KAAMlB,GAClB,gBAACP,GAA0B,SAA1B,CAAmC,MAAOuB,GAAe1B,CAAS,CACrE,EAGF,OACE,gBAAC,EAAAF,YAAqB,OAArB,CAA4B,UAAWiB,EAAW,WAAYC,GAC7D,gBAACa,GAAA,CAAM,QAAO,IACZ,gBAAC,EAAA/B,YAAqB,QAArB,CACC,oBAAmByB,EACnB,gBAAef,EACf,wBAAuBA,EACvB,YAAasB,GAAmBN,EAAYnB,EAAa,OAAO,EAChE,iBAAkB,GACjB,GAAGgB,EACJ,QAAS,GACT,IAAKpB,EACL,aAAW,EAAA8B,SACT,mBACA,qBACA,wBACAlB,CACF,GAECO,EACC,gBAAC,OAAI,aAAW,EAAAW,SAAW,sBAAuB,yBAA0B,gBAAgB,GACzFJ,CACH,EAEA,gBAACK,GAAA,CAAW,KAAK,OAAO,WAAW,YACjC,gBAAC,OAAI,aAAW,EAAAD,SAAW,sBAAuB,wBAAwB,GAAIJ,CAAK,CACrF,CAEJ,CACF,CACF,CAEJ,CACF,EACAvB,GAAmB,YAAc,sBAKjC,IAAM6B,GAAyB,aAC7B,CAAC,CAAE,UAAApB,EAAW,GAAGhB,CAAM,EAAGI,IACxB,gBAAC,EAAAH,YAAqB,MAArB,CACE,GAAGD,EACJ,QAAS,GACT,IAAKI,EACL,aAAW,EAAA8B,SAAW,mBAAoB,sBAAuBlB,CAAS,EAC5E,CAEJ,EACAoB,GAAiB,YAAc,oBAO/B,IAAMC,GAAwB,aAC5B,CAACrC,EAAOI,IAAiB,CACvB,GAAM,CACJ,UAAAY,EACA,SAAAb,EACA,MAAAc,EAAQqB,GAAwB,MAAM,QACtC,SAAAC,EACA,GAAGC,CACL,EAAIxC,EACJ,OACE,gBAAC,EAAAC,YAAqB,KAArB,CACC,oBAAmBgB,EACnB,oBAAmBsB,EAAWE,GAAmBF,CAAQ,EAAI,OAC5D,GAAGC,EACJ,IAAKpC,EACL,aAAW,EAAA8B,SAAW,WAAY,kBAAmB,qBAAsBlB,CAAS,GAEpF,gBAAC,OAAK,UAAL,KAAgBb,CAAS,EACzBoC,GAAY,gBAACG,GAAA,CAAa,SAAUH,EAAU,UAAU,yBAAyB,CACpF,CAEJ,CACF,EACAF,GAAgB,YAAc,mBAK9B,IAAMM,GAAyB,aAC7B,CAAC,CAAE,UAAA3B,EAAW,GAAGhB,CAAM,EAAGI,IACxB,gBAAC,EAAAH,YAAqB,MAArB,CACE,GAAGD,EACJ,QAAS,GACT,IAAKI,EACL,aAAW,EAAA8B,SAAW,mBAAoB,sBAAuBlB,CAAS,EAC5E,CAEJ,EACA2B,GAAiB,YAAc,oBAK/B,IAAMC,GAA8B,aAGlC,CAAC,CAAE,UAAA5B,EAAW,GAAGhB,CAAM,EAAGI,IAC1B,gBAAC,EAAAH,YAAqB,WAArB,CACE,GAAGD,EACJ,QAAS,GACT,IAAKI,EACL,aAAW,EAAA8B,SAAW,wBAAyB,2BAA4BlB,CAAS,EACtF,CACD,EACD4B,GAAsB,YAAc,yBAOpC,IAAMC,GAA6B,aAGjC,CAAC7C,EAAOI,IAAiB,CACzB,GAAM,CACJ,SAAAD,EACA,UAAAa,EACA,MAAAC,EAAQ6B,GAA6B,MAAM,QAC3C,GAAGN,CACL,EAAIxC,EACJ,OACE,gBAAC,EAAAC,YAAqB,UAArB,CACE,GAAGuC,EACJ,QAAS,GACT,IAAKpC,EACL,oBAAmBa,EACnB,aAAW,EAAAiB,SACT,kBACA,uBACA,qBACA,0BACAlB,CACF,GAEA,gBAAC,OAAK,UAAL,KAAgBb,CAAS,EAC1B,gBAAC,EAAAF,YAAqB,cAArB,CAAmC,UAAU,wDAC5C,gBAAC8C,GAAA,CAAa,UAAU,+DAA+D,CACzF,CACF,CAEJ,CAAC,EACDF,GAAqB,YAAc,wBAOnC,IAAMG,GAAgC,aAGpC,CAAChD,EAAOI,IAAiB,CACzB,GAAM,CACJ,SAAAD,EACA,UAAAa,EACA,SAAAuB,EACA,MAAAtB,EAAQgC,GAAgC,MAAM,QAC9C,GAAGT,CACL,EAAIxC,EACJ,OACE,gBAAC,EAAAC,YAAqB,aAArB,CACC,oBAAmBsC,EAAWE,GAAmBF,CAAQ,EAAI,OAC5D,GAAGC,EACJ,QAAS,GACT,IAAKpC,EACL,oBAAmBa,EACnB,aAAW,EAAAiB,SACT,kBACA,0BACA,qBACA,6BACAlB,CACF,GAEA,gBAAC,OAAK,UAAL,KAAgBb,CAAS,EAC1B,gBAAC,EAAAF,YAAqB,cAArB,CAAmC,UAAU,wDAC5C,gBAACiD,GAAA,CAAe,UAAU,+DAA+D,CAC3F,EACCX,GAAY,gBAACG,GAAA,CAAa,SAAUH,EAAU,UAAU,yBAAyB,CACpF,CAEJ,CAAC,EACDS,GAAwB,YAAc,2BAItC,IAAMG,GAAiDnD,GACrD,gBAAC,EAAAC,YAAqB,IAArB,CAA0B,GAAGD,EAAO,EAEvCmD,GAAe,YAAc,kBAK7B,IAAMC,GAA8B,aAGlC,CAACpD,EAAOI,IAAiB,CACzB,GAAM,CAAE,UAAAY,EAAW,SAAAb,EAAU,GAAGkD,CAAgB,EAAIrD,EACpD,OACE,gBAAC,EAAAC,YAAqB,WAArB,CACE,GAAGoD,EACJ,QAAS,GACT,IAAKjD,EACL,aAAW,EAAA8B,SACT,kBACA,wBACA,qBACA,2BACAlB,CACF,GAECb,EACD,gBAAC,OAAI,UAAU,8CACb,gBAACmD,GAAA,CAAsB,UAAU,yDAAyD,CAC5F,CACF,CAEJ,CAAC,EACDF,GAAsB,YAAc,yBAYpC,IAAMG,GAA8B,aAGlC,CAACvD,EAAOI,IAAiB,CACzB,IAAMoD,EAAe,aAAWlD,EAAyB,EACnDE,EAAeC,EAAgB,EAErCC,EAAoCV,EAAM,eAAe,EAGzD,IAAMa,EAAOb,EAAM,MAAQwD,EAAO,KAC5BzC,EAAUf,EAAM,SAAWwD,EAAO,QAClCvC,EAAQjB,EAAM,OAASwD,EAAO,MAC9B7C,EACJX,EAAM,UAAYA,EAAM,iBAAmBwD,EAAO,UAAY5C,GAAoB,OAAW,OAAWJ,CAAY,EAEhH,CACJ,UAAAQ,EACA,SAAAb,EACA,UAAAe,EACA,WAAAC,EACA,MAAOsC,EACP,SAAUrC,EACV,gBAAiBC,EACjB,YAAAE,EAAc,GACd,GAAGmC,CACL,EAAIjC,EAAa,CAAE,GAAGzB,EAAO,KAAAa,EAAM,QAAAE,CAAQ,EAAGD,CAA6B,EAErEa,EAAaC,EAA2Bf,EAAMC,EAA8B,KAAK,OAAO,EAExFe,EAAqB,UACzB,KAAO,CAAE,KAAAhB,EAAM,QAAAE,EAAS,MAAAE,EAAO,SAAAN,CAAS,GACxC,CAACE,EAAME,EAASE,EAAON,CAAQ,CACjC,EAEMmB,EACJ,gBAACC,GAAA,CAAa,KAAMlB,GAClB,gBAACP,GAA0B,SAA1B,CAAmC,MAAOuB,GAAe1B,CAAS,CACrE,EAGF,OACE,gBAAC,EAAAF,YAAqB,OAArB,CAA4B,UAAWiB,EAAW,WAAYC,GAC7D,gBAACa,GAAA,CAAM,QAAO,IACZ,gBAAC,EAAA/B,YAAqB,WAArB,CACC,oBAAmBgB,EACnB,gBAAeN,EACf,wBAAuBA,EACvB,YAAasB,GAAmBN,EAAYnB,EAAa,OAAO,EAEhE,WAAY,EACZ,iBAAkB,GACjB,GAAGkD,EACJ,QAAS,GACT,IAAKtD,EACL,aAAW,EAAA8B,SACT,mBACA,qBACA,wBACA,wBACA,2BACAlB,CACF,GAECO,EACC,gBAAC,OAAI,aAAW,EAAAW,SAAW,sBAAuB,yBAA0B,gBAAgB,GACzFJ,CACH,EAEA,gBAACK,GAAA,CAAW,KAAK,OAAO,WAAW,YACjC,gBAAC,OAAI,aAAW,EAAAD,SAAW,sBAAuB,wBAAwB,GAAIJ,CAAK,CACrF,CAEJ,CACF,CACF,CAEJ,CAAC,EACDyB,GAAsB,YAAc,yBAKpC,IAAMI,GAA6B,aAGjC,CAAC,CAAE,UAAA3C,EAAW,GAAGhB,CAAM,EAAGI,IAC1B,gBAAC,EAAAH,YAAqB,UAArB,CACE,GAAGD,EACJ,QAAS,GACT,IAAKI,EACL,aAAW,EAAA8B,SAAW,uBAAwB,0BAA2BlB,CAAS,EACpF,CACD,EACD2C,GAAqB,YAAc",
6
+ "names": ["context_menu_exports", "__export", "ContextMenuCheckboxItem", "ContextMenuContent", "ContextMenuGroup", "ContextMenuItem", "ContextMenuLabel", "ContextMenuRadioGroup", "ContextMenuRadioItem", "ContextMenuRoot", "ContextMenuSeparator", "ContextMenuSub", "ContextMenuSubContent", "ContextMenuSubTrigger", "ContextMenuTrigger", "__toCommonJS", "React", "import_classnames", "import_radix_ui", "React", "import_classnames", "import_radix_ui", "asChildPropDef", "radii", "radiusPropDef", "sizes", "scrollbarsValues", "scrollAreaPropDefs", "asChildPropDef", "radiusPropDef", "extractMarginProps", "props", "m", "mx", "my", "mt", "mr", "mb", "ml", "rest", "breakpoints", "breakpointSet", "hasOwnProperty", "obj", "key", "breakpointSet", "isResponsiveObject", "obj", "key", "includesValue", "propValues", "propValueSet", "value", "getResponsiveStyles", "className", "customProperties", "args", "responsiveClassNames", "getResponsiveClassNames", "responsiveCustomProperties", "getResponsiveCustomProperties", "allowArbitraryValues", "parseValue", "getBaseClassName", "isResponsiveObject", "object", "classNames", "bp", "hasOwnProperty", "breakpointSet", "baseClassName", "bpClassName", "delimiter", "matchedValue", "isNegative", "minus", "absoluteValue", "styles", "parsed", "customProperty", "bpProperty", "mergeStyles", "styles", "result", "style", "marginValues", "marginPropDefs", "marginValues", "marginPropDefs", "marginValueSet", "MARGIN_PROPS", "getMarginStyles", "props", "classes", "style", "i", "key", "className", "customProperties", "value", "propClassNames", "propCustomProperties", "getResponsiveStyles", "mergeStyles", "React", "getSubtree", "options", "content", "asChild", "children", "firstChild", "ScrollArea", "props", "forwardedRef", "marginRest", "marginProps", "extractMarginProps", "marginClassNames", "marginCustomProperties", "getMarginStyles", "asChild", "children", "className", "style", "type", "scrollHideDelay", "dir", "size", "scrollAreaPropDefs", "radius", "scrollbars", "viewportProps", "ScrollAreaPrimitive", "classNames", "mergeStyles", "getSubtree", "getResponsiveClassNames", "accentColors", "grayColors", "colorPropDef", "contentSizes", "contentVariants", "panelBackgrounds", "materials", "submenuBehaviors", "baseMenuSharedPropDefs", "colorPropDef", "baseMenuContentPropDefs", "baseMenuSubContentPropDefs", "baseMenuItemPropDefs", "asChildPropDef", "baseMenuCheckboxItemPropDefs", "baseMenuRadioItemPropDefs", "React", "import_classnames", "import_radix_ui", "import_internal", "getMatchingGrayColor", "accentColor", "React", "usePropSyncedState", "propValue", "value", "setValue", "previousPropValue", "setPreviousPropValue", "React", "PANEL_BACKGROUND_MESSAGE", "warned", "warnOnce", "message", "useDeprecatedPanelBackgroundWarning", "panelBackground", "appearances", "panelBackgrounds", "materials", "scalings", "fontFamilies", "themePropDefs", "asChildPropDef", "accentColors", "grayColors", "radii", "noop", "defaultThemeContext", "themePropDefs", "ThemeContext", "useThemeContext", "Theme", "props", "forwardedRef", "TooltipPrimitive", "ThemeRoot", "ThemeImpl", "appearanceProp", "accentColorProp", "grayColorProp", "materialProp", "panelBackgroundProp", "radiusProp", "scalingProp", "fontFamilyProp", "headingFontFamilyProp", "hasBackground", "rootProps", "useDeprecatedPanelBackgroundWarning", "appearance", "setAppearance", "usePropSyncedState", "accentColor", "setAccentColor", "grayColor", "setGrayColor", "effectiveMaterial", "material", "setMaterial", "panelBackground", "setPanelBackground", "radius", "setRadius", "scaling", "setScaling", "fontFamily", "setFontFamily", "headingFontFamily", "setHeadingFontFamily", "getClientOS", "ua", "context", "asChild", "isRoot", "hasBackgroundProp", "onAppearanceChange", "onAccentColorChange", "onGrayColorChange", "onMaterialChange", "onPanelBackgroundChange", "onRadiusChange", "onScalingChange", "onFontFamilyChange", "onHeadingFontFamilyChange", "themeProps", "Comp", "resolvedGrayColor", "getMatchingGrayColor", "isExplicitAppearance", "rootRef", "composedRef", "hasExplicitOS", "node", "os", "classNames", "import_react", "ThickDividerHorizontalIcon", "React", "props", "forwardedRef", "ThickCheckIcon", "ChevronDownIcon", "ThickChevronRightIcon", "ThickChevronLeftIcon", "ThickDotIcon", "CloseIcon", "React", "_props", "_forwardedRef", "PaperclipIcon", "props", "forwardedRef", "FileIcon", "FileTextIcon", "import_classnames", "EMPTY_VALUES", "EMPTY_SET", "compile", "propDefs", "merged", "styling", "passthrough", "stylingKeys", "key", "def", "values", "compiled", "cacheRoot", "getCompiledPropDefs", "node", "i", "propDef", "child", "normalizeResponsiveValue", "value", "propDef", "initial", "changed", "extractProps", "props", "propDefs", "styling", "passthrough", "stylingKeys", "getCompiledPropDefs", "extractedProps", "key", "i", "isResponsiveObject", "style", "classes", "propClassName", "getResponsiveClassNames", "propClassNames", "propCustomProperties", "getResponsiveStyles", "mergeStyles", "classNames", "React", "requireReactElement", "children", "child", "React", "React", "import_classnames", "React", "import_classnames", "import_radix_ui", "sizes", "variants", "kbdPropDefs", "asChildPropDef", "Kbd", "props", "forwardedRef", "asChild", "className", "kbdProps", "extractProps", "kbdPropDefs", "marginPropDefs", "Comp", "classNames", "React", "_BREAKPOINTS", "QUERIES", "_BREAKPOINTS", "mediaQueryLists", "listeners", "cachedBreakpoint", "getMediaQueryLists", "name", "query", "computeBreakpoint", "matched", "mql", "handleChange", "next", "listener", "subscribe", "getSnapshot", "getServerSnapshot", "getReadySnapshot", "getReadyServerSnapshot", "noopSubscribe", "getInitialSnapshot", "useBreakpoint", "enabled", "breakpoint", "ready", "BREAKPOINTS_DESCENDING", "resolveResponsiveValue", "value", "currentBreakpoint", "defaultValue", "map", "i", "resolved", "useResolvedResponsiveValue", "isResponsive", "breakpoint", "useBreakpoint", "resolveMenuMaterial", "material", "panelBackground", "theme", "CONTENT_PADDING", "getMenuAlignOffset", "size", "scaling", "scale", "padding", "KEY_SYMBOLS", "ariaKeyShortcutsCache", "toAriaKeyShortcuts", "shortcut", "cached", "result", "token", "MenuShortcut", "className", "classNames", "Kbd", "MenuContext", "menuSizeToItemHeight", "getMenuItemHeight", "size", "scaling", "scale", "MenuProvider", "children", "resolvedSize", "useResolvedResponsiveValue", "useThemeContext", "itemHeight", "value", "ContextMenuRoot", "props", "ContextMenuPrimitive", "ContextMenuTrigger", "children", "forwardedRef", "requireReactElement", "ContextMenuContentContext", "ContextMenuContent", "themeContext", "useThemeContext", "useDeprecatedPanelBackgroundWarning", "material", "resolveMenuMaterial", "size", "baseMenuSubContentPropDefs", "variant", "className", "color", "container", "forceMount", "_material", "_panelBackground", "_submenuBehavior", "virtualized", "contentProps", "extractProps", "resolvedColor", "scalarSize", "useResolvedResponsiveValue", "contextValue", "body", "MenuProvider", "Theme", "getMenuAlignOffset", "classNames", "ScrollArea", "ContextMenuLabel", "ContextMenuItem", "baseMenuItemPropDefs", "shortcut", "itemProps", "toAriaKeyShortcuts", "MenuShortcut", "ContextMenuGroup", "ContextMenuRadioGroup", "ContextMenuRadioItem", "baseMenuRadioItemPropDefs", "ThickDotIcon", "ContextMenuCheckboxItem", "baseMenuCheckboxItemPropDefs", "ThickCheckIcon", "ContextMenuSub", "ContextMenuSubTrigger", "subTriggerProps", "ThickChevronRightIcon", "ContextMenuSubContent", "parent", "_color", "subContentProps", "ContextMenuSeparator"]
7
7
  }