@womp/kookie-ui 0.15.1 → 0.17.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 (705) hide show
  1. package/codemods/space-0.17.py +71 -0
  2. package/components.css +2253 -3088
  3. package/dist/cjs/components/_internal/base-button.d.ts +0 -2
  4. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  5. package/dist/cjs/components/_internal/base-button.js +1 -1
  6. package/dist/cjs/components/_internal/base-button.js.map +3 -3
  7. package/dist/cjs/components/_internal/base-button.props.d.ts +0 -17
  8. package/dist/cjs/components/_internal/base-button.props.d.ts.map +1 -1
  9. package/dist/cjs/components/_internal/base-button.props.js +1 -1
  10. package/dist/cjs/components/_internal/base-button.props.js.map +3 -3
  11. package/dist/cjs/components/_internal/base-menu.props.d.ts +0 -10
  12. package/dist/cjs/components/_internal/base-menu.props.d.ts.map +1 -1
  13. package/dist/cjs/components/_internal/base-menu.props.js +1 -1
  14. package/dist/cjs/components/_internal/base-menu.props.js.map +3 -3
  15. package/dist/cjs/components/_internal/base-menu.utils.d.ts +3 -9
  16. package/dist/cjs/components/_internal/base-menu.utils.d.ts.map +1 -1
  17. package/dist/cjs/components/_internal/base-menu.utils.js +1 -1
  18. package/dist/cjs/components/_internal/base-menu.utils.js.map +3 -3
  19. package/dist/cjs/components/_internal/base-tab-list.props.d.ts +0 -5
  20. package/dist/cjs/components/_internal/base-tab-list.props.d.ts.map +1 -1
  21. package/dist/cjs/components/_internal/base-tab-list.props.js +1 -1
  22. package/dist/cjs/components/_internal/base-tab-list.props.js.map +3 -3
  23. package/dist/cjs/components/_internal/menu-context.d.ts +2 -3
  24. package/dist/cjs/components/_internal/menu-context.d.ts.map +1 -1
  25. package/dist/cjs/components/_internal/menu-context.js +1 -1
  26. package/dist/cjs/components/_internal/menu-context.js.map +4 -4
  27. package/dist/cjs/components/_internal/pane-chrome.d.ts +25 -2
  28. package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
  29. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  30. package/dist/cjs/components/_internal/pane-chrome.js.map +3 -3
  31. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  32. package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
  33. package/dist/cjs/components/accordion.d.ts.map +1 -1
  34. package/dist/cjs/components/accordion.js +1 -1
  35. package/dist/cjs/components/accordion.js.map +3 -3
  36. package/dist/cjs/components/accordion.props.d.ts +0 -7
  37. package/dist/cjs/components/accordion.props.d.ts.map +1 -1
  38. package/dist/cjs/components/accordion.props.js +1 -1
  39. package/dist/cjs/components/accordion.props.js.map +3 -3
  40. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  41. package/dist/cjs/components/alert-dialog.js +1 -1
  42. package/dist/cjs/components/alert-dialog.js.map +3 -3
  43. package/dist/cjs/components/alert-dialog.props.d.ts +0 -5
  44. package/dist/cjs/components/alert-dialog.props.d.ts.map +1 -1
  45. package/dist/cjs/components/alert-dialog.props.js +1 -1
  46. package/dist/cjs/components/alert-dialog.props.js.map +3 -3
  47. package/dist/cjs/components/badge.js +1 -1
  48. package/dist/cjs/components/badge.js.map +3 -3
  49. package/dist/cjs/components/button.js +2 -2
  50. package/dist/cjs/components/button.js.map +3 -3
  51. package/dist/cjs/components/button.props.js +1 -1
  52. package/dist/cjs/components/button.props.js.map +3 -3
  53. package/dist/cjs/components/card.d.ts.map +1 -1
  54. package/dist/cjs/components/card.js +1 -1
  55. package/dist/cjs/components/card.js.map +3 -3
  56. package/dist/cjs/components/card.props.d.ts +0 -5
  57. package/dist/cjs/components/card.props.d.ts.map +1 -1
  58. package/dist/cjs/components/card.props.js +1 -1
  59. package/dist/cjs/components/card.props.js.map +3 -3
  60. package/dist/cjs/components/chatbar.d.ts +0 -2
  61. package/dist/cjs/components/chatbar.d.ts.map +1 -1
  62. package/dist/cjs/components/chatbar.js +2 -2
  63. package/dist/cjs/components/chatbar.js.map +3 -3
  64. package/dist/cjs/components/checkbox-cards.d.ts.map +1 -1
  65. package/dist/cjs/components/checkbox-cards.js +1 -1
  66. package/dist/cjs/components/checkbox-cards.js.map +4 -4
  67. package/dist/cjs/components/checkbox-cards.props.d.ts +0 -5
  68. package/dist/cjs/components/checkbox-cards.props.d.ts.map +1 -1
  69. package/dist/cjs/components/checkbox-cards.props.js +1 -1
  70. package/dist/cjs/components/checkbox-cards.props.js.map +3 -3
  71. package/dist/cjs/components/combobox.d.ts.map +1 -1
  72. package/dist/cjs/components/combobox.js +1 -1
  73. package/dist/cjs/components/combobox.js.map +3 -3
  74. package/dist/cjs/components/combobox.props.d.ts +0 -9
  75. package/dist/cjs/components/combobox.props.d.ts.map +1 -1
  76. package/dist/cjs/components/combobox.props.js +1 -1
  77. package/dist/cjs/components/combobox.props.js.map +3 -3
  78. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  79. package/dist/cjs/components/context-menu.js +1 -1
  80. package/dist/cjs/components/context-menu.js.map +4 -4
  81. package/dist/cjs/components/context-menu.props.js +1 -1
  82. package/dist/cjs/components/context-menu.props.js.map +3 -3
  83. package/dist/cjs/components/dialog.d.ts.map +1 -1
  84. package/dist/cjs/components/dialog.js +1 -1
  85. package/dist/cjs/components/dialog.js.map +3 -3
  86. package/dist/cjs/components/dialog.props.d.ts +0 -5
  87. package/dist/cjs/components/dialog.props.d.ts.map +1 -1
  88. package/dist/cjs/components/dialog.props.js +1 -1
  89. package/dist/cjs/components/dialog.props.js.map +3 -3
  90. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  91. package/dist/cjs/components/dropdown-menu.js +1 -1
  92. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  93. package/dist/cjs/components/dropdown-menu.props.js +1 -1
  94. package/dist/cjs/components/dropdown-menu.props.js.map +3 -3
  95. package/dist/cjs/components/hover-card.js +1 -1
  96. package/dist/cjs/components/hover-card.js.map +3 -3
  97. package/dist/cjs/components/icon-button.js +2 -2
  98. package/dist/cjs/components/icon-button.js.map +3 -3
  99. package/dist/cjs/components/icon-button.props.js +1 -1
  100. package/dist/cjs/components/icon-button.props.js.map +3 -3
  101. package/dist/cjs/components/index.js +5 -5
  102. package/dist/cjs/components/index.js.map +4 -4
  103. package/dist/cjs/components/message-scroller.js +2 -2
  104. package/dist/cjs/components/message-scroller.js.map +3 -3
  105. package/dist/cjs/components/notice.d.ts +0 -2
  106. package/dist/cjs/components/notice.d.ts.map +1 -1
  107. package/dist/cjs/components/notice.js +2 -2
  108. package/dist/cjs/components/notice.js.map +3 -3
  109. package/dist/cjs/components/popover.d.ts.map +1 -1
  110. package/dist/cjs/components/popover.js +1 -1
  111. package/dist/cjs/components/popover.js.map +3 -3
  112. package/dist/cjs/components/popover.props.d.ts +0 -5
  113. package/dist/cjs/components/popover.props.d.ts.map +1 -1
  114. package/dist/cjs/components/popover.props.js +1 -1
  115. package/dist/cjs/components/popover.props.js.map +3 -3
  116. package/dist/cjs/components/radio-cards.d.ts.map +1 -1
  117. package/dist/cjs/components/radio-cards.js +1 -1
  118. package/dist/cjs/components/radio-cards.js.map +4 -4
  119. package/dist/cjs/components/radio-cards.props.d.ts +0 -5
  120. package/dist/cjs/components/radio-cards.props.d.ts.map +1 -1
  121. package/dist/cjs/components/radio-cards.props.js +1 -1
  122. package/dist/cjs/components/radio-cards.props.js.map +3 -3
  123. package/dist/cjs/components/schemas/base-button.schema.d.ts +0 -4
  124. package/dist/cjs/components/schemas/base-button.schema.d.ts.map +1 -1
  125. package/dist/cjs/components/schemas/base-button.schema.js +1 -1
  126. package/dist/cjs/components/schemas/base-button.schema.js.map +2 -2
  127. package/dist/cjs/components/schemas/button.schema.d.ts +0 -4
  128. package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -1
  129. package/dist/cjs/components/schemas/button.schema.js +1 -1
  130. package/dist/cjs/components/schemas/button.schema.js.map +2 -2
  131. package/dist/cjs/components/schemas/icon-button.schema.d.ts +0 -4
  132. package/dist/cjs/components/schemas/icon-button.schema.d.ts.map +1 -1
  133. package/dist/cjs/components/schemas/icon-button.schema.js +1 -1
  134. package/dist/cjs/components/schemas/icon-button.schema.js.map +2 -2
  135. package/dist/cjs/components/schemas/index.js +1 -1
  136. package/dist/cjs/components/schemas/index.js.map +2 -2
  137. package/dist/cjs/components/schemas/toggle-button.schema.d.ts +0 -4
  138. package/dist/cjs/components/schemas/toggle-button.schema.d.ts.map +1 -1
  139. package/dist/cjs/components/schemas/toggle-button.schema.js +1 -1
  140. package/dist/cjs/components/schemas/toggle-button.schema.js.map +2 -2
  141. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +0 -4
  142. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts.map +1 -1
  143. package/dist/cjs/components/schemas/toggle-icon-button.schema.js +1 -1
  144. package/dist/cjs/components/schemas/toggle-icon-button.schema.js.map +2 -2
  145. package/dist/cjs/components/segmented-control.d.ts.map +1 -1
  146. package/dist/cjs/components/segmented-control.js +1 -1
  147. package/dist/cjs/components/segmented-control.js.map +3 -3
  148. package/dist/cjs/components/segmented-control.props.d.ts +0 -4
  149. package/dist/cjs/components/segmented-control.props.d.ts.map +1 -1
  150. package/dist/cjs/components/segmented-control.props.js +1 -1
  151. package/dist/cjs/components/segmented-control.props.js.map +2 -2
  152. package/dist/cjs/components/select.d.ts.map +1 -1
  153. package/dist/cjs/components/select.js +1 -1
  154. package/dist/cjs/components/select.js.map +3 -3
  155. package/dist/cjs/components/select.props.d.ts +0 -4
  156. package/dist/cjs/components/select.props.d.ts.map +1 -1
  157. package/dist/cjs/components/select.props.js +1 -1
  158. package/dist/cjs/components/select.props.js.map +2 -2
  159. package/dist/cjs/components/sheet.d.ts +0 -1
  160. package/dist/cjs/components/sheet.d.ts.map +1 -1
  161. package/dist/cjs/components/sheet.js +1 -1
  162. package/dist/cjs/components/sheet.js.map +3 -3
  163. package/dist/cjs/components/shell.js +1 -1
  164. package/dist/cjs/components/shell.js.map +3 -3
  165. package/dist/cjs/components/sidebar.js +1 -1
  166. package/dist/cjs/components/sidebar.js.map +4 -4
  167. package/dist/cjs/components/switch.js.map +2 -2
  168. package/dist/cjs/components/switch.props.d.ts.map +1 -1
  169. package/dist/cjs/components/switch.props.js.map +2 -2
  170. package/dist/cjs/components/tab-nav.d.ts.map +1 -1
  171. package/dist/cjs/components/tab-nav.js +1 -1
  172. package/dist/cjs/components/tab-nav.js.map +3 -3
  173. package/dist/cjs/components/tab-nav.props.js +1 -1
  174. package/dist/cjs/components/tab-nav.props.js.map +3 -3
  175. package/dist/cjs/components/tabs.d.ts.map +1 -1
  176. package/dist/cjs/components/tabs.js +1 -1
  177. package/dist/cjs/components/tabs.js.map +3 -3
  178. package/dist/cjs/components/tabs.props.js +1 -1
  179. package/dist/cjs/components/tabs.props.js.map +3 -3
  180. package/dist/cjs/components/text-area.d.ts.map +1 -1
  181. package/dist/cjs/components/text-area.js +1 -1
  182. package/dist/cjs/components/text-area.js.map +3 -3
  183. package/dist/cjs/components/text-area.props.d.ts +0 -5
  184. package/dist/cjs/components/text-area.props.d.ts.map +1 -1
  185. package/dist/cjs/components/text-area.props.js +1 -1
  186. package/dist/cjs/components/text-area.props.js.map +3 -3
  187. package/dist/cjs/components/text-field.d.ts.map +1 -1
  188. package/dist/cjs/components/text-field.js +2 -2
  189. package/dist/cjs/components/text-field.js.map +3 -3
  190. package/dist/cjs/components/text-field.props.d.ts +0 -5
  191. package/dist/cjs/components/text-field.props.d.ts.map +1 -1
  192. package/dist/cjs/components/text-field.props.js +1 -1
  193. package/dist/cjs/components/text-field.props.js.map +3 -3
  194. package/dist/cjs/components/theme-panel.d.ts.map +1 -1
  195. package/dist/cjs/components/theme-panel.js +3 -3
  196. package/dist/cjs/components/theme-panel.js.map +4 -4
  197. package/dist/cjs/components/theme.d.ts +0 -6
  198. package/dist/cjs/components/theme.d.ts.map +1 -1
  199. package/dist/cjs/components/theme.js +1 -1
  200. package/dist/cjs/components/theme.js.map +3 -3
  201. package/dist/cjs/components/theme.props.d.ts +0 -19
  202. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  203. package/dist/cjs/components/theme.props.js +1 -1
  204. package/dist/cjs/components/theme.props.js.map +3 -3
  205. package/dist/cjs/components/toggle-button.js +3 -3
  206. package/dist/cjs/components/toggle-button.js.map +3 -3
  207. package/dist/cjs/components/toggle-icon-button.js +3 -3
  208. package/dist/cjs/components/toggle-icon-button.js.map +3 -3
  209. package/dist/cjs/components/toolbar.d.ts +8 -2
  210. package/dist/cjs/components/toolbar.d.ts.map +1 -1
  211. package/dist/cjs/components/toolbar.js +2 -2
  212. package/dist/cjs/components/toolbar.js.map +4 -4
  213. package/dist/cjs/components/toolbar.props.d.ts +2 -1
  214. package/dist/cjs/components/toolbar.props.d.ts.map +1 -1
  215. package/dist/cjs/components/toolbar.props.js.map +2 -2
  216. package/dist/cjs/components/tooltip.js +1 -1
  217. package/dist/cjs/components/tooltip.js.map +3 -3
  218. package/dist/cjs/components/virtual-menu.d.ts.map +1 -1
  219. package/dist/cjs/components/virtual-menu.js +1 -1
  220. package/dist/cjs/components/virtual-menu.js.map +4 -4
  221. package/dist/cjs/index.js +7 -7
  222. package/dist/cjs/index.js.map +4 -4
  223. package/dist/cjs/props/index.js +1 -1
  224. package/dist/cjs/props/index.js.map +3 -3
  225. package/dist/esm/chunk-2CNQGDY3.js +2 -0
  226. package/dist/esm/{chunk-MNC2O6QW.js.map → chunk-2CNQGDY3.js.map} +3 -3
  227. package/dist/esm/chunk-2HUAVZZL.js +2 -0
  228. package/dist/esm/chunk-2HUAVZZL.js.map +7 -0
  229. package/dist/esm/chunk-2O3WL25H.js +2 -0
  230. package/dist/esm/chunk-2O3WL25H.js.map +7 -0
  231. package/dist/esm/{chunk-MD3QCXRD.js → chunk-4STOJSJZ.js} +2 -2
  232. package/dist/esm/{chunk-R4CN4Q3G.js → chunk-534LGOWC.js} +2 -2
  233. package/dist/esm/chunk-5LGWS5QS.js +2 -0
  234. package/dist/esm/chunk-5LGWS5QS.js.map +7 -0
  235. package/dist/esm/{chunk-7UW7D77E.js → chunk-5UU2IMGX.js} +2 -2
  236. package/dist/esm/chunk-655TAWHX.js +2 -0
  237. package/dist/esm/chunk-655TAWHX.js.map +7 -0
  238. package/dist/esm/{chunk-MQT3YJKY.js → chunk-6HRBG5H2.js} +2 -2
  239. package/dist/esm/chunk-6VPYP3VN.js +2 -0
  240. package/dist/esm/chunk-6VPYP3VN.js.map +7 -0
  241. package/dist/esm/{chunk-PTEAQFHI.js → chunk-6WFEMPCF.js} +2 -2
  242. package/dist/esm/chunk-6XHM724Y.js +2 -0
  243. package/dist/esm/chunk-6XHM724Y.js.map +7 -0
  244. package/dist/esm/chunk-6YWJUNMB.js +2 -0
  245. package/dist/esm/chunk-6YWJUNMB.js.map +7 -0
  246. package/dist/esm/chunk-AHOUZS3V.js +2 -0
  247. package/dist/esm/chunk-AHOUZS3V.js.map +7 -0
  248. package/dist/esm/chunk-B6RH4CTY.js +2 -0
  249. package/dist/esm/chunk-B6RH4CTY.js.map +7 -0
  250. package/dist/esm/chunk-BOLRYGFQ.js +2 -0
  251. package/dist/esm/chunk-BOLRYGFQ.js.map +7 -0
  252. package/dist/esm/chunk-BUEYZEAY.js +2 -0
  253. package/dist/esm/chunk-BUEYZEAY.js.map +7 -0
  254. package/dist/esm/chunk-CC4GNSKL.js +2 -0
  255. package/dist/esm/chunk-CC4GNSKL.js.map +7 -0
  256. package/dist/esm/chunk-CG54MBMW.js +2 -0
  257. package/dist/esm/chunk-CG54MBMW.js.map +7 -0
  258. package/dist/esm/{chunk-2PO6TZ7L.js → chunk-COSHAOEK.js} +2 -2
  259. package/dist/esm/{chunk-F2XQYWBE.js → chunk-CRYT55SY.js} +2 -2
  260. package/dist/esm/chunk-DKALDTCN.js +2 -0
  261. package/dist/esm/chunk-DKALDTCN.js.map +7 -0
  262. package/dist/esm/{chunk-ELZEAEN2.js → chunk-DP3OWU5T.js} +2 -2
  263. package/dist/esm/{chunk-UI2EFF6F.js → chunk-E3754NJZ.js} +2 -2
  264. package/dist/esm/chunk-EJOVE3JH.js +2 -0
  265. package/dist/esm/chunk-EJOVE3JH.js.map +7 -0
  266. package/dist/esm/chunk-ENPQJYXZ.js +2 -0
  267. package/dist/esm/chunk-ENPQJYXZ.js.map +7 -0
  268. package/dist/esm/chunk-EO7WQYFO.js +2 -0
  269. package/dist/esm/chunk-EO7WQYFO.js.map +7 -0
  270. package/dist/esm/chunk-EUSKAXHP.js +2 -0
  271. package/dist/esm/chunk-EUSKAXHP.js.map +7 -0
  272. package/dist/esm/chunk-FPDLBLO3.js +2 -0
  273. package/dist/esm/chunk-FPDLBLO3.js.map +7 -0
  274. package/dist/esm/{chunk-6ERCPRXX.js → chunk-FSKZAL5H.js} +2 -2
  275. package/dist/esm/chunk-GOYI2U6F.js +2 -0
  276. package/dist/esm/chunk-GOYI2U6F.js.map +7 -0
  277. package/dist/esm/chunk-HSFQO4QM.js +2 -0
  278. package/dist/esm/chunk-HSFQO4QM.js.map +7 -0
  279. package/dist/esm/chunk-IF4PYIUV.js +2 -0
  280. package/dist/esm/chunk-IF4PYIUV.js.map +7 -0
  281. package/dist/esm/chunk-IGBEDJBC.js +2 -0
  282. package/dist/esm/chunk-IGBEDJBC.js.map +7 -0
  283. package/dist/esm/chunk-JCOALADA.js +5 -0
  284. package/dist/esm/chunk-JCOALADA.js.map +7 -0
  285. package/dist/esm/{chunk-ZUOK3KFY.js → chunk-K7VO7TND.js} +1 -1
  286. package/dist/esm/{chunk-ZUOK3KFY.js.map → chunk-K7VO7TND.js.map} +2 -2
  287. package/dist/esm/{chunk-DIGT74P3.js → chunk-KPACVWV4.js} +1 -1
  288. package/dist/esm/{chunk-DIGT74P3.js.map → chunk-KPACVWV4.js.map} +2 -2
  289. package/dist/esm/chunk-KU3LLWFU.js +2 -0
  290. package/dist/esm/{chunk-UPCRXJB2.js.map → chunk-KU3LLWFU.js.map} +2 -2
  291. package/dist/esm/chunk-M55KFXYV.js +2 -0
  292. package/dist/esm/chunk-M55KFXYV.js.map +7 -0
  293. package/dist/esm/chunk-MAI7FEU7.js +2 -0
  294. package/dist/esm/chunk-MAI7FEU7.js.map +7 -0
  295. package/dist/esm/chunk-MDHXSEGH.js +2 -0
  296. package/dist/esm/chunk-MDHXSEGH.js.map +7 -0
  297. package/dist/esm/{chunk-YKGLZEXX.js → chunk-MJC4NKYG.js} +2 -2
  298. package/dist/esm/chunk-MOYLXCMW.js +2 -0
  299. package/dist/esm/chunk-MOYLXCMW.js.map +7 -0
  300. package/dist/esm/{chunk-Y4IB7KDZ.js → chunk-MZQDDG5K.js} +2 -2
  301. package/dist/esm/chunk-NCDOMH5I.js +2 -0
  302. package/dist/esm/chunk-NCDOMH5I.js.map +7 -0
  303. package/dist/esm/{chunk-CMQMCGGC.js → chunk-NOSR2XWD.js} +2 -2
  304. package/dist/esm/chunk-OMUUPPJO.js +2 -0
  305. package/dist/esm/chunk-OMUUPPJO.js.map +7 -0
  306. package/dist/esm/{chunk-SEKZGBK3.js → chunk-ORMCQAPS.js} +2 -2
  307. package/dist/esm/chunk-PNIVUG5D.js +2 -0
  308. package/dist/esm/chunk-PNIVUG5D.js.map +7 -0
  309. package/dist/esm/chunk-PYYI64XK.js +2 -0
  310. package/dist/esm/chunk-PYYI64XK.js.map +7 -0
  311. package/dist/esm/chunk-Q7S5LQBQ.js +2 -0
  312. package/dist/esm/chunk-Q7S5LQBQ.js.map +7 -0
  313. package/dist/esm/chunk-QOPRXQGR.js +2 -0
  314. package/dist/esm/chunk-QOPRXQGR.js.map +7 -0
  315. package/dist/esm/{chunk-MLJLEOZ5.js → chunk-R2FUNQTI.js} +2 -2
  316. package/dist/esm/{chunk-MLJLEOZ5.js.map → chunk-R2FUNQTI.js.map} +2 -2
  317. package/dist/esm/chunk-RFURPE7W.js +10 -0
  318. package/dist/esm/chunk-RFURPE7W.js.map +7 -0
  319. package/dist/esm/chunk-RJ6SA7AY.js +2 -0
  320. package/dist/esm/chunk-RJ6SA7AY.js.map +7 -0
  321. package/dist/esm/chunk-RSJSVJ6A.js +2 -0
  322. package/dist/esm/chunk-RSJSVJ6A.js.map +7 -0
  323. package/dist/esm/chunk-SM27AC7E.js +2 -0
  324. package/dist/esm/chunk-SM27AC7E.js.map +7 -0
  325. package/dist/esm/chunk-WKMJIWFP.js +2 -0
  326. package/dist/esm/chunk-WKMJIWFP.js.map +7 -0
  327. package/dist/esm/{chunk-5RHODJDJ.js → chunk-X5KCVLKG.js} +2 -2
  328. package/dist/esm/chunk-YDRFILTX.js +2 -0
  329. package/dist/esm/chunk-YDRFILTX.js.map +7 -0
  330. package/dist/esm/chunk-YGPUKJEB.js +2 -0
  331. package/dist/esm/chunk-YGPUKJEB.js.map +7 -0
  332. package/dist/esm/{chunk-MGXXNEMQ.js → chunk-YZABQ4LS.js} +2 -2
  333. package/dist/esm/components/_internal/base-button.d.ts +0 -2
  334. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  335. package/dist/esm/components/_internal/base-button.js +1 -1
  336. package/dist/esm/components/_internal/base-button.props.d.ts +0 -17
  337. package/dist/esm/components/_internal/base-button.props.d.ts.map +1 -1
  338. package/dist/esm/components/_internal/base-button.props.js +1 -1
  339. package/dist/esm/components/_internal/base-menu.props.d.ts +0 -10
  340. package/dist/esm/components/_internal/base-menu.props.d.ts.map +1 -1
  341. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  342. package/dist/esm/components/_internal/base-menu.utils.d.ts +3 -9
  343. package/dist/esm/components/_internal/base-menu.utils.d.ts.map +1 -1
  344. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  345. package/dist/esm/components/_internal/base-tab-list.props.d.ts +0 -5
  346. package/dist/esm/components/_internal/base-tab-list.props.d.ts.map +1 -1
  347. package/dist/esm/components/_internal/base-tab-list.props.js +1 -1
  348. package/dist/esm/components/_internal/menu-context.d.ts +2 -3
  349. package/dist/esm/components/_internal/menu-context.d.ts.map +1 -1
  350. package/dist/esm/components/_internal/menu-context.js +1 -1
  351. package/dist/esm/components/_internal/pane-chrome.d.ts +25 -2
  352. package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
  353. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  354. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  355. package/dist/esm/components/accordion.d.ts.map +1 -1
  356. package/dist/esm/components/accordion.js +1 -1
  357. package/dist/esm/components/accordion.props.d.ts +0 -7
  358. package/dist/esm/components/accordion.props.d.ts.map +1 -1
  359. package/dist/esm/components/accordion.props.js +1 -1
  360. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  361. package/dist/esm/components/alert-dialog.js +1 -1
  362. package/dist/esm/components/alert-dialog.props.d.ts +0 -5
  363. package/dist/esm/components/alert-dialog.props.d.ts.map +1 -1
  364. package/dist/esm/components/alert-dialog.props.js +1 -1
  365. package/dist/esm/components/badge.js +1 -1
  366. package/dist/esm/components/button.js +1 -1
  367. package/dist/esm/components/button.props.js +1 -1
  368. package/dist/esm/components/card.d.ts.map +1 -1
  369. package/dist/esm/components/card.js +1 -1
  370. package/dist/esm/components/card.props.d.ts +0 -5
  371. package/dist/esm/components/card.props.d.ts.map +1 -1
  372. package/dist/esm/components/card.props.js +1 -1
  373. package/dist/esm/components/chatbar.d.ts +0 -2
  374. package/dist/esm/components/chatbar.d.ts.map +1 -1
  375. package/dist/esm/components/chatbar.js +1 -1
  376. package/dist/esm/components/checkbox-cards.d.ts.map +1 -1
  377. package/dist/esm/components/checkbox-cards.js +1 -1
  378. package/dist/esm/components/checkbox-cards.props.d.ts +0 -5
  379. package/dist/esm/components/checkbox-cards.props.d.ts.map +1 -1
  380. package/dist/esm/components/checkbox-cards.props.js +1 -1
  381. package/dist/esm/components/combobox.d.ts.map +1 -1
  382. package/dist/esm/components/combobox.js +1 -1
  383. package/dist/esm/components/combobox.props.d.ts +0 -9
  384. package/dist/esm/components/combobox.props.d.ts.map +1 -1
  385. package/dist/esm/components/combobox.props.js +1 -1
  386. package/dist/esm/components/context-menu.d.ts.map +1 -1
  387. package/dist/esm/components/context-menu.js +1 -1
  388. package/dist/esm/components/context-menu.props.js +1 -1
  389. package/dist/esm/components/dialog.d.ts.map +1 -1
  390. package/dist/esm/components/dialog.js +1 -1
  391. package/dist/esm/components/dialog.props.d.ts +0 -5
  392. package/dist/esm/components/dialog.props.d.ts.map +1 -1
  393. package/dist/esm/components/dialog.props.js +1 -1
  394. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  395. package/dist/esm/components/dropdown-menu.js +1 -1
  396. package/dist/esm/components/dropdown-menu.props.js +1 -1
  397. package/dist/esm/components/hover-card.js +1 -1
  398. package/dist/esm/components/icon-button.js +1 -1
  399. package/dist/esm/components/icon-button.props.js +1 -1
  400. package/dist/esm/components/index.js +1 -1
  401. package/dist/esm/components/message-scroller.js +1 -1
  402. package/dist/esm/components/notice.d.ts +0 -2
  403. package/dist/esm/components/notice.d.ts.map +1 -1
  404. package/dist/esm/components/notice.js +1 -1
  405. package/dist/esm/components/popover.d.ts.map +1 -1
  406. package/dist/esm/components/popover.js +1 -1
  407. package/dist/esm/components/popover.props.d.ts +0 -5
  408. package/dist/esm/components/popover.props.d.ts.map +1 -1
  409. package/dist/esm/components/popover.props.js +1 -1
  410. package/dist/esm/components/radio-cards.d.ts.map +1 -1
  411. package/dist/esm/components/radio-cards.js +1 -1
  412. package/dist/esm/components/radio-cards.props.d.ts +0 -5
  413. package/dist/esm/components/radio-cards.props.d.ts.map +1 -1
  414. package/dist/esm/components/radio-cards.props.js +1 -1
  415. package/dist/esm/components/schemas/base-button.schema.d.ts +0 -4
  416. package/dist/esm/components/schemas/base-button.schema.d.ts.map +1 -1
  417. package/dist/esm/components/schemas/base-button.schema.js +1 -1
  418. package/dist/esm/components/schemas/button.schema.d.ts +0 -4
  419. package/dist/esm/components/schemas/button.schema.d.ts.map +1 -1
  420. package/dist/esm/components/schemas/button.schema.js +1 -1
  421. package/dist/esm/components/schemas/icon-button.schema.d.ts +0 -4
  422. package/dist/esm/components/schemas/icon-button.schema.d.ts.map +1 -1
  423. package/dist/esm/components/schemas/icon-button.schema.js +1 -1
  424. package/dist/esm/components/schemas/index.js +1 -1
  425. package/dist/esm/components/schemas/toggle-button.schema.d.ts +0 -4
  426. package/dist/esm/components/schemas/toggle-button.schema.d.ts.map +1 -1
  427. package/dist/esm/components/schemas/toggle-button.schema.js +1 -1
  428. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +0 -4
  429. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts.map +1 -1
  430. package/dist/esm/components/schemas/toggle-icon-button.schema.js +1 -1
  431. package/dist/esm/components/segmented-control.d.ts.map +1 -1
  432. package/dist/esm/components/segmented-control.js +1 -1
  433. package/dist/esm/components/segmented-control.props.d.ts +0 -4
  434. package/dist/esm/components/segmented-control.props.d.ts.map +1 -1
  435. package/dist/esm/components/segmented-control.props.js +1 -1
  436. package/dist/esm/components/select.d.ts.map +1 -1
  437. package/dist/esm/components/select.js +1 -1
  438. package/dist/esm/components/select.props.d.ts +0 -4
  439. package/dist/esm/components/select.props.d.ts.map +1 -1
  440. package/dist/esm/components/select.props.js +1 -1
  441. package/dist/esm/components/sheet.d.ts +0 -1
  442. package/dist/esm/components/sheet.d.ts.map +1 -1
  443. package/dist/esm/components/sheet.js +1 -1
  444. package/dist/esm/components/shell.js +1 -1
  445. package/dist/esm/components/sidebar.js +1 -1
  446. package/dist/esm/components/switch.js +1 -1
  447. package/dist/esm/components/switch.props.d.ts.map +1 -1
  448. package/dist/esm/components/switch.props.js +1 -1
  449. package/dist/esm/components/tab-nav.d.ts.map +1 -1
  450. package/dist/esm/components/tab-nav.js +1 -1
  451. package/dist/esm/components/tab-nav.props.js +1 -1
  452. package/dist/esm/components/tabs.d.ts.map +1 -1
  453. package/dist/esm/components/tabs.js +1 -1
  454. package/dist/esm/components/tabs.props.js +1 -1
  455. package/dist/esm/components/text-area.d.ts.map +1 -1
  456. package/dist/esm/components/text-area.js +1 -1
  457. package/dist/esm/components/text-area.props.d.ts +0 -5
  458. package/dist/esm/components/text-area.props.d.ts.map +1 -1
  459. package/dist/esm/components/text-area.props.js +1 -1
  460. package/dist/esm/components/text-field.d.ts.map +1 -1
  461. package/dist/esm/components/text-field.js +1 -1
  462. package/dist/esm/components/text-field.props.d.ts +0 -5
  463. package/dist/esm/components/text-field.props.d.ts.map +1 -1
  464. package/dist/esm/components/text-field.props.js +1 -1
  465. package/dist/esm/components/theme-panel.d.ts.map +1 -1
  466. package/dist/esm/components/theme-panel.js +1 -1
  467. package/dist/esm/components/theme.d.ts +0 -6
  468. package/dist/esm/components/theme.d.ts.map +1 -1
  469. package/dist/esm/components/theme.js +1 -1
  470. package/dist/esm/components/theme.props.d.ts +0 -19
  471. package/dist/esm/components/theme.props.d.ts.map +1 -1
  472. package/dist/esm/components/theme.props.js +1 -1
  473. package/dist/esm/components/toggle-button.js +1 -1
  474. package/dist/esm/components/toggle-icon-button.js +1 -1
  475. package/dist/esm/components/toolbar.d.ts +8 -2
  476. package/dist/esm/components/toolbar.d.ts.map +1 -1
  477. package/dist/esm/components/toolbar.js +1 -1
  478. package/dist/esm/components/toolbar.props.d.ts +2 -1
  479. package/dist/esm/components/toolbar.props.d.ts.map +1 -1
  480. package/dist/esm/components/toolbar.props.js +1 -1
  481. package/dist/esm/components/tooltip.js +1 -1
  482. package/dist/esm/components/virtual-menu.d.ts.map +1 -1
  483. package/dist/esm/components/virtual-menu.js +1 -1
  484. package/dist/esm/helpers/index.js +1 -1
  485. package/dist/esm/index.js +1 -1
  486. package/dist/esm/props/index.js +1 -1
  487. package/layout/components.css +48 -48
  488. package/layout/tokens.css +65 -31
  489. package/layout.css +113 -79
  490. package/package.json +2 -1
  491. package/schemas/base-button.json +0 -8
  492. package/schemas/button.json +0 -8
  493. package/schemas/icon-button.json +0 -8
  494. package/schemas/index.json +0 -40
  495. package/schemas/toggle-button.json +0 -8
  496. package/schemas/toggle-icon-button.json +0 -8
  497. package/src/components/_internal/base-button.css +19 -100
  498. package/src/components/_internal/base-button.props.ts +0 -26
  499. package/src/components/_internal/base-button.tsx +0 -6
  500. package/src/components/_internal/base-card.css +32 -194
  501. package/src/components/_internal/base-checkbox.css +16 -53
  502. package/src/components/_internal/base-dialog.css +13 -45
  503. package/src/components/_internal/base-menu.css +24 -57
  504. package/src/components/_internal/base-menu.props.ts +0 -8
  505. package/src/components/_internal/base-menu.utils.tsx +4 -15
  506. package/src/components/_internal/base-radio.css +14 -51
  507. package/src/components/_internal/base-sidebar-menu.css +21 -19
  508. package/src/components/_internal/base-sidebar.css +2 -3
  509. package/src/components/_internal/base-tab-list.css +14 -61
  510. package/src/components/_internal/base-tab-list.props.ts +0 -3
  511. package/src/components/_internal/menu-context.tsx +6 -10
  512. package/src/components/_internal/pane-chrome.tsx +73 -13
  513. package/src/components/accordion.css +17 -263
  514. package/src/components/accordion.props.tsx +0 -4
  515. package/src/components/accordion.tsx +1 -4
  516. package/src/components/alert-dialog.props.tsx +0 -4
  517. package/src/components/alert-dialog.tsx +1 -14
  518. package/src/components/avatar.css +19 -57
  519. package/src/components/badge.css +28 -41
  520. package/src/components/blockquote.css +2 -2
  521. package/src/components/button.css +13 -13
  522. package/src/components/card.props.tsx +0 -3
  523. package/src/components/card.tsx +1 -3
  524. package/src/components/chatbar.css +44 -124
  525. package/src/components/chatbar.tsx +1 -7
  526. package/src/components/checkbox-cards.css +11 -11
  527. package/src/components/checkbox-cards.props.tsx +0 -3
  528. package/src/components/checkbox-cards.tsx +0 -5
  529. package/src/components/checkbox-group.css +1 -1
  530. package/src/components/combobox.css +4 -9
  531. package/src/components/combobox.props.tsx +0 -5
  532. package/src/components/combobox.tsx +1 -11
  533. package/src/components/context-menu.tsx +6 -19
  534. package/src/components/data-list.css +4 -4
  535. package/src/components/dialog.css +0 -12
  536. package/src/components/dialog.props.tsx +0 -3
  537. package/src/components/dialog.tsx +1 -14
  538. package/src/components/dropdown-menu.css +1 -1
  539. package/src/components/dropdown-menu.tsx +5 -19
  540. package/src/components/hover-card.css +3 -3
  541. package/src/components/icon-button.css +4 -4
  542. package/src/components/image.css +1 -1
  543. package/src/components/kbd.css +14 -14
  544. package/src/components/message-scroller.css +1 -1
  545. package/src/components/navbar.css +6 -6
  546. package/src/components/notice.css +9 -15
  547. package/src/components/notice.tsx +1 -4
  548. package/src/components/popover.css +15 -37
  549. package/src/components/popover.props.tsx +0 -3
  550. package/src/components/popover.tsx +0 -5
  551. package/src/components/progress.css +0 -69
  552. package/src/components/radio-cards.css +6 -6
  553. package/src/components/radio-cards.props.tsx +0 -3
  554. package/src/components/radio-cards.tsx +0 -5
  555. package/src/components/radio-group.css +1 -1
  556. package/src/components/schemas/base-button.schema.ts +0 -9
  557. package/src/components/scroll-area.css +14 -14
  558. package/src/components/section.css +8 -8
  559. package/src/components/segmented-control.css +25 -68
  560. package/src/components/segmented-control.props.tsx +0 -2
  561. package/src/components/segmented-control.tsx +0 -4
  562. package/src/components/select.css +24 -363
  563. package/src/components/select.props.tsx +0 -2
  564. package/src/components/select.tsx +0 -2
  565. package/src/components/separator.css +3 -3
  566. package/src/components/sheet.css +0 -11
  567. package/src/components/sheet.tsx +1 -18
  568. package/src/components/shell.css +135 -11
  569. package/src/components/sidebar.css +108 -198
  570. package/src/components/skeleton.css +1 -1
  571. package/src/components/slider.css +16 -87
  572. package/src/components/spinner.css +6 -6
  573. package/src/components/switch.css +10 -37
  574. package/src/components/switch.props.tsx +0 -8
  575. package/src/components/tab-nav.tsx +1 -3
  576. package/src/components/table.css +10 -18
  577. package/src/components/tabs.tsx +1 -3
  578. package/src/components/text-area.css +41 -154
  579. package/src/components/text-area.props.tsx +0 -3
  580. package/src/components/text-area.tsx +1 -3
  581. package/src/components/text-field.css +36 -244
  582. package/src/components/text-field.props.tsx +0 -3
  583. package/src/components/text-field.tsx +1 -3
  584. package/src/components/theme-panel.css +4 -4
  585. package/src/components/theme-panel.tsx +19 -236
  586. package/src/components/theme.props.tsx +0 -15
  587. package/src/components/theme.tsx +0 -35
  588. package/src/components/toolbar.css +15 -9
  589. package/src/components/toolbar.props.tsx +2 -1
  590. package/src/components/toolbar.tsx +20 -8
  591. package/src/components/tooltip.css +1 -1
  592. package/src/components/virtual-menu.tsx +2 -4
  593. package/src/styles/tokens/base.css +0 -2
  594. package/src/styles/tokens/color.css +4 -32
  595. package/src/styles/tokens/constants.css +23 -51
  596. package/src/styles/tokens/layout.css +1 -1
  597. package/src/styles/tokens/radius.css +24 -24
  598. package/src/styles/tokens/space.css +88 -21
  599. package/src/styles/tokens/typography.css +39 -39
  600. package/styles.css +2494 -3395
  601. package/tokens/base.css +229 -283
  602. package/tokens.css +252 -318
  603. package/dist/esm/chunk-23WDP4JG.js +0 -2
  604. package/dist/esm/chunk-23WDP4JG.js.map +0 -7
  605. package/dist/esm/chunk-2MYYU7ST.js +0 -2
  606. package/dist/esm/chunk-2MYYU7ST.js.map +0 -7
  607. package/dist/esm/chunk-2NNB4ZZ5.js +0 -2
  608. package/dist/esm/chunk-2NNB4ZZ5.js.map +0 -7
  609. package/dist/esm/chunk-2NNCZM7P.js +0 -2
  610. package/dist/esm/chunk-2NNCZM7P.js.map +0 -7
  611. package/dist/esm/chunk-3PT3AOD5.js +0 -2
  612. package/dist/esm/chunk-3PT3AOD5.js.map +0 -7
  613. package/dist/esm/chunk-4EBCFKNC.js +0 -2
  614. package/dist/esm/chunk-4EBCFKNC.js.map +0 -7
  615. package/dist/esm/chunk-5PG5YGIW.js +0 -2
  616. package/dist/esm/chunk-5PG5YGIW.js.map +0 -7
  617. package/dist/esm/chunk-BDOMLGLZ.js +0 -2
  618. package/dist/esm/chunk-BDOMLGLZ.js.map +0 -7
  619. package/dist/esm/chunk-CAUFRKTK.js +0 -2
  620. package/dist/esm/chunk-CAUFRKTK.js.map +0 -7
  621. package/dist/esm/chunk-CJ4UZDW5.js +0 -2
  622. package/dist/esm/chunk-CJ4UZDW5.js.map +0 -7
  623. package/dist/esm/chunk-DD5QHU6R.js +0 -2
  624. package/dist/esm/chunk-DD5QHU6R.js.map +0 -7
  625. package/dist/esm/chunk-DQTJMIRO.js +0 -2
  626. package/dist/esm/chunk-DQTJMIRO.js.map +0 -7
  627. package/dist/esm/chunk-E5DJILUI.js +0 -2
  628. package/dist/esm/chunk-E5DJILUI.js.map +0 -7
  629. package/dist/esm/chunk-EJG2UNTM.js +0 -2
  630. package/dist/esm/chunk-EJG2UNTM.js.map +0 -7
  631. package/dist/esm/chunk-FK6F6ROH.js +0 -2
  632. package/dist/esm/chunk-FK6F6ROH.js.map +0 -7
  633. package/dist/esm/chunk-HI3JY3DJ.js +0 -2
  634. package/dist/esm/chunk-HI3JY3DJ.js.map +0 -7
  635. package/dist/esm/chunk-IMYZP5OY.js +0 -2
  636. package/dist/esm/chunk-IMYZP5OY.js.map +0 -7
  637. package/dist/esm/chunk-IYXR46Q6.js +0 -5
  638. package/dist/esm/chunk-IYXR46Q6.js.map +0 -7
  639. package/dist/esm/chunk-JGB6LNTP.js +0 -2
  640. package/dist/esm/chunk-JGB6LNTP.js.map +0 -7
  641. package/dist/esm/chunk-JLHJHYVQ.js +0 -2
  642. package/dist/esm/chunk-JLHJHYVQ.js.map +0 -7
  643. package/dist/esm/chunk-KLIREDPE.js +0 -2
  644. package/dist/esm/chunk-KLIREDPE.js.map +0 -7
  645. package/dist/esm/chunk-LRFAOQK6.js +0 -2
  646. package/dist/esm/chunk-LRFAOQK6.js.map +0 -7
  647. package/dist/esm/chunk-LXSARUXD.js +0 -2
  648. package/dist/esm/chunk-LXSARUXD.js.map +0 -7
  649. package/dist/esm/chunk-MNC2O6QW.js +0 -2
  650. package/dist/esm/chunk-MOMYWKIO.js +0 -2
  651. package/dist/esm/chunk-MOMYWKIO.js.map +0 -7
  652. package/dist/esm/chunk-PRRJ4WRE.js +0 -2
  653. package/dist/esm/chunk-PRRJ4WRE.js.map +0 -7
  654. package/dist/esm/chunk-QE2EF7A7.js +0 -2
  655. package/dist/esm/chunk-QE2EF7A7.js.map +0 -7
  656. package/dist/esm/chunk-QJSSCW3B.js +0 -2
  657. package/dist/esm/chunk-QJSSCW3B.js.map +0 -7
  658. package/dist/esm/chunk-QPNYHS6A.js +0 -2
  659. package/dist/esm/chunk-QPNYHS6A.js.map +0 -7
  660. package/dist/esm/chunk-RA4U6VVZ.js +0 -2
  661. package/dist/esm/chunk-RA4U6VVZ.js.map +0 -7
  662. package/dist/esm/chunk-ULSNYQOY.js +0 -2
  663. package/dist/esm/chunk-ULSNYQOY.js.map +0 -7
  664. package/dist/esm/chunk-UPCRXJB2.js +0 -2
  665. package/dist/esm/chunk-URLG45A4.js +0 -2
  666. package/dist/esm/chunk-URLG45A4.js.map +0 -7
  667. package/dist/esm/chunk-VASXAV62.js +0 -2
  668. package/dist/esm/chunk-VASXAV62.js.map +0 -7
  669. package/dist/esm/chunk-W7VAP3WE.js +0 -2
  670. package/dist/esm/chunk-W7VAP3WE.js.map +0 -7
  671. package/dist/esm/chunk-WGNIFXUE.js +0 -2
  672. package/dist/esm/chunk-WGNIFXUE.js.map +0 -7
  673. package/dist/esm/chunk-WNSG5P3U.js +0 -2
  674. package/dist/esm/chunk-WNSG5P3U.js.map +0 -7
  675. package/dist/esm/chunk-X3UTLDGG.js +0 -2
  676. package/dist/esm/chunk-X3UTLDGG.js.map +0 -7
  677. package/dist/esm/chunk-XCDXQLWS.js +0 -2
  678. package/dist/esm/chunk-XCDXQLWS.js.map +0 -7
  679. package/dist/esm/chunk-XKAWVGBL.js +0 -2
  680. package/dist/esm/chunk-XKAWVGBL.js.map +0 -7
  681. package/dist/esm/chunk-Y3FVBAN2.js +0 -2
  682. package/dist/esm/chunk-Y3FVBAN2.js.map +0 -7
  683. package/dist/esm/chunk-YSHEXVBI.js +0 -10
  684. package/dist/esm/chunk-YSHEXVBI.js.map +0 -7
  685. package/dist/esm/chunk-Z2LGVLUB.js +0 -2
  686. package/dist/esm/chunk-Z2LGVLUB.js.map +0 -7
  687. package/src/styles/tokens/blur.css +0 -63
  688. package/src/styles/tokens/opacity.css +0 -32
  689. package/src/styles/tokens/scaling.css +0 -17
  690. /package/dist/esm/{chunk-MD3QCXRD.js.map → chunk-4STOJSJZ.js.map} +0 -0
  691. /package/dist/esm/{chunk-R4CN4Q3G.js.map → chunk-534LGOWC.js.map} +0 -0
  692. /package/dist/esm/{chunk-7UW7D77E.js.map → chunk-5UU2IMGX.js.map} +0 -0
  693. /package/dist/esm/{chunk-MQT3YJKY.js.map → chunk-6HRBG5H2.js.map} +0 -0
  694. /package/dist/esm/{chunk-PTEAQFHI.js.map → chunk-6WFEMPCF.js.map} +0 -0
  695. /package/dist/esm/{chunk-2PO6TZ7L.js.map → chunk-COSHAOEK.js.map} +0 -0
  696. /package/dist/esm/{chunk-F2XQYWBE.js.map → chunk-CRYT55SY.js.map} +0 -0
  697. /package/dist/esm/{chunk-ELZEAEN2.js.map → chunk-DP3OWU5T.js.map} +0 -0
  698. /package/dist/esm/{chunk-UI2EFF6F.js.map → chunk-E3754NJZ.js.map} +0 -0
  699. /package/dist/esm/{chunk-6ERCPRXX.js.map → chunk-FSKZAL5H.js.map} +0 -0
  700. /package/dist/esm/{chunk-YKGLZEXX.js.map → chunk-MJC4NKYG.js.map} +0 -0
  701. /package/dist/esm/{chunk-Y4IB7KDZ.js.map → chunk-MZQDDG5K.js.map} +0 -0
  702. /package/dist/esm/{chunk-CMQMCGGC.js.map → chunk-NOSR2XWD.js.map} +0 -0
  703. /package/dist/esm/{chunk-SEKZGBK3.js.map → chunk-ORMCQAPS.js.map} +0 -0
  704. /package/dist/esm/{chunk-5RHODJDJ.js.map → chunk-X5KCVLKG.js.map} +0 -0
  705. /package/dist/esm/{chunk-MGXXNEMQ.js.map → chunk-YZABQ4LS.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/segmented-control.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ToggleGroup as ToggleGroupPrimitive } from 'radix-ui';\nimport { useControllableState } from 'radix-ui/internal';\n\nimport { segmentedControlRootPropDefs } from './segmented-control.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 SegmentedControlRootOwnProps = GetPropDefTypes<typeof segmentedControlRootPropDefs>;\n\ninterface SegmentedControlRootProps\n extends ComponentPropsWithout<'div', RemovedProps | 'dir'>,\n SegmentedControlRootOwnProps,\n MarginProps {\n value?: string;\n defaultValue?: string;\n onValueChange?(value: string): void;\n}\n\nconst SegmentedControlRoot = React.forwardRef<HTMLDivElement, SegmentedControlRootProps>(\n (props, forwardedRef) => {\n const {\n className,\n children,\n radius,\n value: valueProp,\n defaultValue: defaultValueProp,\n onValueChange: onValueChangeProp,\n material: materialProp,\n ...rootProps\n } = extractProps(props, segmentedControlRootPropDefs, marginPropDefs);\n const material = materialProp;\n\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChangeProp,\n defaultProp: defaultValueProp ?? '',\n });\n\n return (\n <ToggleGroupPrimitive.Root\n data-disabled={props.disabled || undefined}\n data-radius={radius}\n data-material={material}\n ref={forwardedRef}\n className={classNames('rt-SegmentedControlRoot', className)}\n onValueChange={(value) => {\n if (value) {\n setValue(value);\n }\n }}\n {...rootProps}\n type=\"single\"\n value={value}\n asChild={false}\n disabled={!!props.disabled}\n >\n {children}\n <div className=\"rt-SegmentedControlIndicator\" />\n </ToggleGroupPrimitive.Root>\n );\n },\n);\n\nSegmentedControlRoot.displayName = 'SegmentedControl.Root';\n\ninterface SegmentedControlItemOwnProps {\n value: string;\n /** When true, applies fixed square width for icon-only segments */\n iconOnly?: boolean;\n}\n\ninterface SegmentedControlItemProps\n extends ComponentPropsWithout<\n typeof ToggleGroupPrimitive.Item,\n RemovedProps | 'disabled' | 'type' | 'value'\n >,\n SegmentedControlItemOwnProps {}\n\nconst SegmentedControlItem = React.forwardRef<HTMLButtonElement, SegmentedControlItemProps>(\n ({ children, className, iconOnly, ...props }, forwardedRef) => (\n <ToggleGroupPrimitive.Item\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-SegmentedControlItem', className)}\n data-icon-only={iconOnly || undefined}\n {...props}\n disabled={false}\n asChild={false}\n >\n <span className=\"rt-SegmentedControlItemSeparator\" />\n <span className=\"rt-SegmentedControlItemLabel\">\n <span className=\"rt-SegmentedControlItemLabelActive\">{children}</span>\n <span className=\"rt-SegmentedControlItemLabelInactive\" aria-hidden>\n {children}\n </span>\n </span>\n </ToggleGroupPrimitive.Item>\n ),\n);\n\nSegmentedControlItem.displayName = 'SegmentedControl.Item';\n\nexport { SegmentedControlRoot as Root, SegmentedControlItem as Item };\nexport type { SegmentedControlRootProps as RootProps, SegmentedControlItemProps as ItemProps };\n"],
5
- "mappings": "gKAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,SAAAC,IAGA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,eAAeC,MAA4B,WACpD,OAAS,wBAAAC,MAA4B,oBAqBrC,IAAMC,EAA6B,aACjC,CAACC,EAAOC,IAAiB,CACvB,GAAM,CACJ,UAAAC,EACA,SAAAC,EACA,OAAAC,EACA,MAAOC,EACP,aAAcC,EACd,cAAeC,EACf,SAAUC,EACV,GAAGC,CACL,EAAIC,EAAaV,EAAOW,EAA8BC,CAAc,EAC9DC,EAAWL,EAGX,CAACM,EAAOC,CAAQ,EAAIC,EAAqB,CAC7C,KAAMX,EACN,SAAUE,EACV,YAAaD,GAAoB,EACnC,CAAC,EAED,OACE,gBAACW,EAAqB,KAArB,CACC,gBAAejB,EAAM,UAAY,OACjC,cAAaI,EACb,gBAAeS,EACf,IAAKZ,EACL,UAAWiB,EAAW,0BAA2BhB,CAAS,EAC1D,cAAgBY,GAAU,CACpBA,GACFC,EAASD,CAAK,CAElB,EACC,GAAGL,EACJ,KAAK,SACL,MAAOK,EACP,QAAS,GACT,SAAU,CAAC,CAACd,EAAM,UAEjBG,EACD,gBAAC,OAAI,UAAU,+BAA+B,CAChD,CAEJ,CACF,EAEAJ,EAAqB,YAAc,wBAenC,IAAMoB,EAA6B,aACjC,CAAC,CAAE,SAAAhB,EAAU,UAAAD,EAAW,SAAAkB,EAAU,GAAGpB,CAAM,EAAGC,IAC5C,gBAACgB,EAAqB,KAArB,CACC,IAAKhB,EACL,UAAWiB,EAAW,WAAY,0BAA2BhB,CAAS,EACtE,iBAAgBkB,GAAY,OAC3B,GAAGpB,EACJ,SAAU,GACV,QAAS,IAET,gBAAC,QAAK,UAAU,mCAAmC,EACnD,gBAAC,QAAK,UAAU,gCACd,gBAAC,QAAK,UAAU,sCAAsCG,CAAS,EAC/D,gBAAC,QAAK,UAAU,uCAAuC,cAAW,IAC/DA,CACH,CACF,CACF,CAEJ,EAEAgB,EAAqB,YAAc",
6
- "names": ["segmented_control_exports", "__export", "SegmentedControlItem", "SegmentedControlRoot", "React", "classNames", "ToggleGroupPrimitive", "useControllableState", "SegmentedControlRoot", "props", "forwardedRef", "className", "children", "radius", "valueProp", "defaultValueProp", "onValueChangeProp", "materialProp", "rootProps", "extractProps", "segmentedControlRootPropDefs", "marginPropDefs", "material", "value", "setValue", "useControllableState", "ToggleGroupPrimitive", "classNames", "SegmentedControlItem", "iconOnly"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as A}from"./chunk-X3UTLDGG.js";import{b as V,d as L,f as O}from"./chunk-IX5HIHVI.js";import{a as W}from"./chunk-MJJ7XDIP.js";import{c as T}from"./chunk-2NNB4ZZ5.js";import{b as y,c as g}from"./chunk-PRRJ4WRE.js";import{a as N}from"./chunk-HKRQ3E3I.js";import{c as C,d as k,e as z,f as D}from"./chunk-HI3JY3DJ.js";import{b as I,c as b,d as v,e as S,f as h}from"./chunk-FK6F6ROH.js";import{a as R}from"./chunk-UBSLEGQZ.js";import{a as te}from"./chunk-OS3FCYZY.js";var oe={};te(oe,{CheckboxItem:()=>U,Content:()=>F,Group:()=>H,Item:()=>K,Label:()=>q,RadioGroup:()=>J,RadioItem:()=>Q,Root:()=>_,Separator:()=>$,Sub:()=>X,SubContent:()=>Z,SubTrigger:()=>Y,Trigger:()=>j,Virtual:()=>A});import*as e from"react";import u from"classnames";import{ContextMenu as a,Slot as G}from"radix-ui";var _=t=>e.createElement(a.Root,{...t});_.displayName="ContextMenu.Root";var j=e.forwardRef(({children:t,...n},o)=>e.createElement(a.Trigger,{...n,ref:o,asChild:!0},W(t)));j.displayName="ContextMenu.Trigger";var E=e.createContext({}),F=e.forwardRef((t,n)=>{let o=y(),i=b(t.material,o),{size:r=C.size.default}=t,{className:s,children:m,color:l,container:x,forceMount:M,material:w,submenuBehavior:ee,virtualized:B=!1,...d}=R(t,C),p=l||o.accentColor,P=I(r,C.size.default),f=e.useMemo(()=>({size:r,color:p,material:i}),[r,p,i]),c=e.createElement(T,{size:r},e.createElement(E.Provider,{value:f},m));return e.createElement(a.Portal,{container:x,forceMount:M},e.createElement(g,{asChild:!0},e.createElement(a.Content,{"data-accent-color":p,"data-material":i,alignOffset:v(P,o.scaling),collisionPadding:10,...d,asChild:!1,ref:n,className:u("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-ContextMenuContent",s)},B?e.createElement("div",{className:u("rt-BaseMenuViewport","rt-ContextMenuViewport","rt-virtualized")},c):e.createElement(N,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-ContextMenuViewport")},c)))))});F.displayName="ContextMenu.Content";var q=e.forwardRef(({className:t,...n},o)=>e.createElement(a.Label,{...n,asChild:!1,ref:o,className:u("rt-BaseMenuLabel","rt-ContextMenuLabel",t)}));q.displayName="ContextMenu.Label";var K=e.forwardRef((t,n)=>{let{className:o,children:i,color:r=k.color.default,shortcut:s,...m}=t;return e.createElement(a.Item,{"data-accent-color":r,"aria-keyshortcuts":s?S(s):void 0,...m,ref:n,className:u("rt-reset","rt-BaseMenuItem","rt-ContextMenuItem",o)},e.createElement(G.Slottable,null,i),s&&e.createElement(h,{shortcut:s,className:"rt-ContextMenuShortcut"}))});K.displayName="ContextMenu.Item";var H=e.forwardRef(({className:t,...n},o)=>e.createElement(a.Group,{...n,asChild:!1,ref:o,className:u("rt-BaseMenuGroup","rt-ContextMenuGroup",t)}));H.displayName="ContextMenu.Group";var J=e.forwardRef(({className:t,...n},o)=>e.createElement(a.RadioGroup,{...n,asChild:!1,ref:o,className:u("rt-BaseMenuRadioGroup","rt-ContextMenuRadioGroup",t)}));J.displayName="ContextMenu.RadioGroup";var Q=e.forwardRef((t,n)=>{let{children:o,className:i,color:r=D.color.default,...s}=t;return e.createElement(a.RadioItem,{...s,asChild:!1,ref:n,"data-accent-color":r,className:u("rt-BaseMenuItem","rt-BaseMenuRadioItem","rt-ContextMenuItem","rt-ContextMenuRadioItem",i)},e.createElement(G.Slottable,null,o),e.createElement(a.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator"},e.createElement(O,{className:"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon"})))});Q.displayName="ContextMenu.RadioItem";var U=e.forwardRef((t,n)=>{let{children:o,className:i,shortcut:r,color:s=z.color.default,...m}=t;return e.createElement(a.CheckboxItem,{"aria-keyshortcuts":r?S(r):void 0,...m,asChild:!1,ref:n,"data-accent-color":s,className:u("rt-BaseMenuItem","rt-BaseMenuCheckboxItem","rt-ContextMenuItem","rt-ContextMenuCheckboxItem",i)},e.createElement(G.Slottable,null,o),e.createElement(a.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator"},e.createElement(V,{className:"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon"})),r&&e.createElement(h,{shortcut:r,className:"rt-ContextMenuShortcut"}))});U.displayName="ContextMenu.CheckboxItem";var X=t=>e.createElement(a.Sub,{...t});X.displayName="ContextMenu.Sub";var Y=e.forwardRef((t,n)=>{let{className:o,children:i,...r}=t;return e.createElement(a.SubTrigger,{...r,asChild:!1,ref:n,className:u("rt-BaseMenuItem","rt-BaseMenuSubTrigger","rt-ContextMenuItem","rt-ContextMenuSubTrigger",o)},i,e.createElement("div",{className:"rt-BaseMenuShortcut rt-ContextMenuShortcut"},e.createElement(L,{className:"rt-BaseMenuSubTriggerIcon rt-ContextMenuSubTriggerIcon"})))});Y.displayName="ContextMenu.SubTrigger";var Z=e.forwardRef((t,n)=>{let o=e.useContext(E),i=y(),r=t.size??o.size,s=t.color??o.color,m=t.material??o.material??b(void 0,i),{className:l,children:x,container:M,forceMount:w,color:ee,material:B,virtualized:d=!1,...p}=R({...t,size:r},C),P=I(r,C.size.default),f=e.useMemo(()=>({size:r,color:s,material:m}),[r,s,m]),c=e.createElement(T,{size:r},e.createElement(E.Provider,{value:f},x));return e.createElement(a.Portal,{container:M,forceMount:w},e.createElement(g,{asChild:!0},e.createElement(a.SubContent,{"data-accent-color":s,"data-material":m,alignOffset:v(P,i.scaling),sideOffset:1,collisionPadding:10,...p,asChild:!1,ref:n,className:u("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-BaseMenuSubContent","rt-ContextMenuContent","rt-ContextMenuSubContent",l)},d?e.createElement("div",{className:u("rt-BaseMenuViewport","rt-ContextMenuViewport","rt-virtualized")},c):e.createElement(N,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-ContextMenuViewport")},c)))))});Z.displayName="ContextMenu.SubContent";var $=e.forwardRef(({className:t,...n},o)=>e.createElement(a.Separator,{...n,asChild:!1,ref:o,className:u("rt-BaseMenuSeparator","rt-ContextMenuSeparator",t)}));$.displayName="ContextMenu.Separator";export{_ as a,j as b,F as c,q as d,K as e,H as f,J as g,Q as h,U as i,X as j,Y as k,Z as l,$ as m,oe as n};
2
- //# sourceMappingURL=chunk-2MYYU7ST.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/context-menu.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 { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport { VirtualMenu } from './virtual-menu.js';\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 { 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 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\n const material = resolveMenuMaterial(props.material, themeContext);\n const {\n size = contextMenuContentPropDefs.size.default,\n } = props;\n const {\n className,\n children,\n color,\n container,\n forceMount,\n material: _material,\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, color: resolvedColor, material }),\n [size, 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 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-variant-soft',\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\n // A submenu inherits the parent surface, and its own props win.\n const size = props.size ?? parent.size;\n const color = props.color ?? parent.color;\n const material =\n props.material ?? parent.material ?? resolveMenuMaterial(undefined, themeContext);\n\n const {\n className,\n children,\n container,\n forceMount,\n color: _color,\n material: _material,\n virtualized = false,\n ...subContentProps\n } = extractProps({ ...props, size }, contextMenuSubContentPropDefs);\n\n const scalarSize = useResolvedResponsiveValue(size, contextMenuSubContentPropDefs.size.default);\n\n const contextValue = React.useMemo(\n () => ({ size, color, material }),\n [size, 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 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-variant-soft',\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 VirtualMenu as Virtual,\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"],
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", "VirtualMenu", "React", "classNames", "ContextMenuPrimitive", "Slot", "ContextMenuRoot", "props", "ContextMenuPrimitive", "ContextMenuTrigger", "children", "forwardedRef", "requireReactElement", "ContextMenuContentContext", "ContextMenuContent", "themeContext", "useThemeContext", "material", "resolveMenuMaterial", "size", "baseMenuSubContentPropDefs", "className", "color", "container", "forceMount", "_material", "_submenuBehavior", "virtualized", "contentProps", "extractProps", "resolvedColor", "scalarSize", "useResolvedResponsiveValue", "contextValue", "body", "MenuProvider", "Theme", "getMenuAlignOffset", "classNames", "ScrollArea", "ContextMenuLabel", "ContextMenuItem", "baseMenuItemPropDefs", "shortcut", "itemProps", "toAriaKeyShortcuts", "Slot", "MenuShortcut", "ContextMenuGroup", "ContextMenuRadioGroup", "ContextMenuRadioItem", "baseMenuRadioItemPropDefs", "ThickDotIcon", "ContextMenuCheckboxItem", "baseMenuCheckboxItemPropDefs", "ThickCheckIcon", "ContextMenuSub", "ContextMenuSubTrigger", "subTriggerProps", "ThickChevronRightIcon", "ContextMenuSubContent", "parent", "_color", "subContentProps", "ContextMenuSeparator"]
7
- }
@@ -1,2 +0,0 @@
1
- import{b as u}from"./chunk-PRRJ4WRE.js";import{b as r}from"./chunk-FK6F6ROH.js";import*as e from"react";var s=e.createContext({isInsideMenu:!1}),p={1:24,2:32};function a(o,t){let n=t?parseFloat(t)/100:1;return p[o]*(Number.isFinite(n)?n:1)}function f({children:o,size:t}){let n=r(t,void 0),{scaling:c}=u(),i=n?a(n,c):void 0,d=e.useMemo(()=>({isInsideMenu:!0,size:n,itemHeight:i}),[n,i]);return e.createElement(s.Provider,{value:d},o)}function l(){return e.useContext(s)}export{p as a,a as b,f as c,l as d};
2
- //# sourceMappingURL=chunk-2NNB4ZZ5.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/_internal/menu-context.tsx"],
4
- "sourcesContent": ["'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"],
5
- "mappings": "gFAEA,UAAYA,MAAW,QA0BvB,IAAMC,EAAoB,gBAAgC,CAAE,aAAc,EAAM,CAAC,EASpEC,EAAiD,CAC5D,EAAK,GACL,EAAK,EACP,EAGO,SAASC,EAAkBC,EAAgBC,EAAqC,CACrF,IAAMC,EAAQD,EAAU,WAAWA,CAAO,EAAI,IAAM,EACpD,OAAOH,EAAqBE,CAAI,GAAK,OAAO,SAASE,CAAK,EAAIA,EAAQ,EACxE,CAEO,SAASC,EAAa,CAAE,SAAAC,EAAU,KAAAJ,CAAK,EAAsB,CAClE,IAAMK,EAAeC,EAAiDN,EAAM,MAAS,EAC/E,CAAE,QAAAC,CAAQ,EAAIM,EAAgB,EAC9BC,EAAaH,EAAeN,EAAkBM,EAAcJ,CAAO,EAAI,OACvEQ,EAAc,UAClB,KAAO,CAAE,aAAc,GAAM,KAAMJ,EAAc,WAAAG,CAAW,GAC5D,CAACH,EAAcG,CAAU,CAC3B,EACA,OAAO,gBAACX,EAAY,SAAZ,CAAqB,MAAOY,GAAQL,CAAS,CACvD,CAEO,SAASM,GAAiB,CAC/B,OAAa,aAAWb,CAAW,CACrC",
6
- "names": ["React", "MenuContext", "menuSizeToItemHeight", "getMenuItemHeight", "size", "scaling", "scale", "MenuProvider", "children", "resolvedSize", "useResolvedResponsiveValue", "useThemeContext", "itemHeight", "value", "useMenuContext"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as ne}from"./chunk-X3UTLDGG.js";import{b as Q,c as Z,d as z,e as ee,f as oe}from"./chunk-IX5HIHVI.js";import{a as J}from"./chunk-MJJ7XDIP.js";import{c as L}from"./chunk-2NNB4ZZ5.js";import{b as O,c as G}from"./chunk-PRRJ4WRE.js";import{a as _}from"./chunk-HKRQ3E3I.js";import{b as y,c as S,d as A,e as F,f as j}from"./chunk-HI3JY3DJ.js";import{b as T,c as x,d as H,e as E,f as N}from"./chunk-FK6F6ROH.js";import{a as h}from"./chunk-UBSLEGQZ.js";import{a as P,b as I,c as U,d as Y,e as B,f as q,g as X,h as $,i as k}from"./chunk-JSW6J6RS.js";import{a as ye}from"./chunk-OS3FCYZY.js";var ke={};ye(ke,{CheckboxItem:()=>we,Content:()=>pe,Group:()=>le,Item:()=>de,Label:()=>ue,RadioGroup:()=>ce,RadioItem:()=>me,Root:()=>ae,Separator:()=>fe,Sub:()=>De,SubContent:()=>Pe,SubTrigger:()=>Me,Trigger:()=>ie,TriggerIcon:()=>ge,Virtual:()=>ne});import*as e from"react";import u from"classnames";import{DropdownMenu as p,Slot as Se}from"radix-ui";import{useCallbackRef as re}from"radix-ui/internal";var te=e.createContext(!1),ae=o=>{let{open:n,defaultOpen:r=!1,onOpenChange:s}=o,[a,t]=e.useState(r),i=n??a,d=re(s),l=e.useCallback(m=>{t(m),d(m)},[d]);return e.createElement(te.Provider,{value:i},e.createElement(p.Root,{...o,onOpenChange:l}))};ae.displayName="DropdownMenu.Root";var ie=e.forwardRef(({children:o,...n},r)=>e.createElement(p.Trigger,{...n,ref:r,asChild:!0},J(o)));ie.displayName="DropdownMenu.Trigger";var K=e.createContext({}),Te={ltr:"ArrowLeft",rtl:"ArrowRight"},xe={ltr:"ArrowRight",rtl:"ArrowLeft"};function Ee(o){return o instanceof HTMLElement&&(o.isContentEditable||o.tagName==="INPUT"||o.tagName==="TEXTAREA")}function se(o){return o?.closest("[dir]")?.getAttribute("dir")==="rtl"?"rtl":"ltr"}var pe=e.forwardRef((o,n)=>{let r=O(),s=x(o.material,r),{size:a=y.size.default}=o,{className:t,children:i,color:d,container:l,forceMount:m,material:M,submenuBehavior:c,virtualized:v=!1,onEscapeKeyDown:C,onKeyDown:g,...R}=h(o,y),w=d||r.accentColor,f=T(c,"cascade"),W=f==="drill-down",be=e.useContext(te),b=U(),Ie=D=>{C?.(D),!(D.defaultPrevented||!W||b.getDepth()===0)&&(D.preventDefault(),b.pop("keyboard"))},ve=D=>{g?.(D),!(D.defaultPrevented||!W||b.getDepth()===0)&&(Ee(D.target)||D.key===Te[se(D.currentTarget)]&&(D.preventDefault(),b.pop("keyboard")))},he=e.useMemo(()=>({size:a,color:w,material:s}),[a,w,s]),V=e.createElement(L,{size:a},e.createElement(K.Provider,{value:he},e.createElement(Y,{store:b,behavior:f,open:be},i)));return e.createElement(p.Portal,{container:l,forceMount:m},e.createElement(G,{asChild:!0},e.createElement(p.Content,{"data-accent-color":w,"data-material":s,align:"start",sideOffset:4,collisionPadding:10,...R,onEscapeKeyDown:Ie,onKeyDown:ve,asChild:!1,ref:n,className:u("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-DropdownMenuContent",t)},v?e.createElement("div",{className:u("rt-BaseMenuViewport","rt-DropdownMenuViewport","rt-virtualized")},V):e.createElement(_,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-DropdownMenuViewport")},V)))))});pe.displayName="DropdownMenu.Content";var ue=e.forwardRef(({className:o,...n},r)=>e.useContext(P)?e.createElement(p.Label,{...n,asChild:!1,ref:r,className:u("rt-BaseMenuLabel","rt-DropdownMenuLabel",o)}):null);ue.displayName="DropdownMenu.Label";var de=e.forwardRef((o,n)=>{let{className:r,children:s,color:a=A.color.default,shortcut:t,...i}=o;return e.useContext(P)?e.createElement(p.Item,{"data-accent-color":a,"aria-keyshortcuts":t?E(t):void 0,...i,ref:n,className:u("rt-reset","rt-BaseMenuItem","rt-DropdownMenuItem",r)},e.createElement(Se.Slottable,null,s),t&&e.createElement(N,{shortcut:t,className:"rt-DropdownMenuShortcut"})):null});de.displayName="DropdownMenu.Item";var le=e.forwardRef(({className:o,...n},r)=>e.createElement(p.Group,{...n,asChild:!1,ref:r,className:u("rt-BaseMenuGroup","rt-DropdownMenuGroup",o)}));le.displayName="DropdownMenu.Group";var ce=e.forwardRef(({className:o,...n},r)=>e.createElement(p.RadioGroup,{...n,asChild:!1,ref:r,className:u("rt-BaseMenuRadioGroup","rt-DropdownMenuRadioGroup",o)}));ce.displayName="DropdownMenu.RadioGroup";var me=e.forwardRef((o,n)=>{let{children:r,className:s,color:a=j.color.default,...t}=o;return e.useContext(P)?e.createElement(p.RadioItem,{...t,asChild:!1,ref:n,"data-accent-color":a,className:u("rt-BaseMenuItem","rt-BaseMenuRadioItem","rt-DropdownMenuItem","rt-DropdownMenuRadioItem",s)},r,e.createElement(p.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-DropdownMenuItemIndicator"},e.createElement(oe,{className:"rt-BaseMenuItemIndicatorIcon rt-DropdownMenuItemIndicatorIcon"}))):null});me.displayName="DropdownMenu.RadioItem";var we=e.forwardRef((o,n)=>{let{children:r,className:s,shortcut:a,color:t=F.color.default,...i}=o;return e.useContext(P)?e.createElement(p.CheckboxItem,{"aria-keyshortcuts":a?E(a):void 0,...i,asChild:!1,ref:n,"data-accent-color":t,className:u("rt-BaseMenuItem","rt-BaseMenuCheckboxItem","rt-DropdownMenuItem","rt-DropdownMenuCheckboxItem",s)},r,e.createElement(p.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-DropdownMenuItemIndicator"},e.createElement(Q,{className:"rt-BaseMenuItemIndicatorIcon rt-DropdownMenuItemIndicatorIcon"})),a&&e.createElement(N,{shortcut:a,className:"rt-DropdownMenuShortcut"})):null});we.displayName="DropdownMenu.CheckboxItem";var De=({label:o="Back",open:n,defaultOpen:r,onOpenChange:s,children:a})=>{let t=I(),i=e.useId(),d=e.useMemo(()=>({id:i,label:o}),[i,o]),l=B(t,i)!=="closed";e.useLayoutEffect(()=>{!t||n===void 0||(n&&!t.isOpen(i)?t.push(i,null):!n&&t.isOpen(i)&&t.close(i))},[t,n,i]);let m=e.useRef(r);e.useLayoutEffect(()=>{t&&m.current&&n===void 0&&t.push(i,null)},[]);let M=re(s),c=e.useRef(l);return e.useEffect(()=>{!t||c.current===l||(c.current=l,M(l))},[t,l,M]),e.createElement($.Provider,{value:d},e.createElement(p.Sub,{open:n,defaultOpen:r,onOpenChange:t?void 0:s},a))};De.displayName="DropdownMenu.Sub";var Me=e.forwardRef((o,n)=>{let{className:r,children:s,onKeyDown:a,...t}=o,i=I(),d=k(),l=e.useContext(P);if(i&&d){if(!l)return null;let m=c=>{c.preventDefault(),i.push(d.id)},M=c=>{a?.(c),!(c.defaultPrevented||t.disabled)&&c.key===xe[se(c.currentTarget)]&&(c.preventDefault(),i.push(d.id,"keyboard"))};return e.createElement(p.Item,{"aria-haspopup":"menu",...t,"data-drill-down-trigger":d.id,"data-drill-down-name":t.textValue,onSelect:m,onKeyDown:M,ref:n,className:u("rt-reset","rt-BaseMenuItem","rt-BaseMenuSubTrigger","rt-DropdownMenuItem","rt-DropdownMenuSubTrigger","rt-DropdownMenuDrillDownSubTrigger",r)},s,e.createElement("div",{className:"rt-BaseMenuShortcut rt-DropdownMenuShortcut"},e.createElement(z,{className:"rt-BaseMenuSubTriggerIcon rt-DropdownMenuSubTriggerIcon"})))}return e.createElement(p.SubTrigger,{...t,onKeyDown:a,asChild:!1,ref:n,className:u("rt-BaseMenuItem","rt-BaseMenuSubTrigger","rt-DropdownMenuItem","rt-DropdownMenuSubTrigger",r)},s,e.createElement("div",{className:"rt-BaseMenuShortcut rt-DropdownMenuShortcut"},e.createElement(z,{className:"rt-BaseMenuSubTriggerIcon rt-DropdownMenuSubTriggerIcon"})))});Me.displayName="DropdownMenu.SubTrigger";var fe=e.forwardRef(({className:o,...n},r)=>e.useContext(P)?e.createElement(p.Separator,{...n,asChild:!1,ref:r,className:u("rt-BaseMenuSeparator","rt-DropdownMenuSeparator",o)}):null);fe.displayName="DropdownMenu.Separator";function Ne({label:o,name:n}){let r=I(),s=e.useCallback(i=>{i.preventDefault(),r?.pop()},[r]),a=typeof o=="string"?o:n,t=a&&a!=="Back"?`Back from ${a}`:void 0;return e.createElement(p.Item,{"aria-label":t,textValue:a||"Back",onSelect:s,className:u("rt-reset","rt-BaseMenuItem","rt-DropdownMenuItem","rt-DropdownMenuDrillDownBackItem")},e.createElement(ee,{className:"rt-BaseMenuSubTriggerIcon rt-DropdownMenuDrillDownBackIcon"}),e.createElement("span",{className:"rt-DropdownMenuDrillDownBackLabel"},o))}function Be(o){let{loop:n,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:a,onInteractOutside:t,sideOffset:i,alignOffset:d,avoidCollisions:l,collisionBoundary:m,collisionPadding:M,arrowPadding:c,sticky:v,hideWhenDetached:C,updatePositionStrategy:g,...R}=o;return R}var Pe=e.forwardRef((o,n)=>{let r=I(),s=k();return r&&s?e.createElement(Ce,{...o,ref:n,store:r,sub:s}):e.createElement(Re,{...o,ref:n})});Pe.displayName="DropdownMenu.SubContent";var Re=e.forwardRef((o,n)=>{let r=e.useContext(K),s=O(),a=o.size??r.size,t=o.color??r.color,i=o.material??r.material??x(void 0,s),{className:d,children:l,container:m,forceMount:M,color:c,material:v,virtualized:C=!1,...g}=h({...o,size:a},S),R=T(a,S.size.default),w=e.useMemo(()=>({size:a,color:t,material:i}),[a,t,i]),f=e.createElement(L,{size:a},e.createElement(K.Provider,{value:w},l));return e.createElement(p.Portal,{container:m,forceMount:M},e.createElement(G,{asChild:!0},e.createElement(p.SubContent,{"data-accent-color":t,"data-material":i,alignOffset:H(R,s.scaling),sideOffset:1,collisionPadding:10,...g,asChild:!1,ref:n,className:u("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-BaseMenuSubContent","rt-DropdownMenuContent","rt-DropdownMenuSubContent",d)},C?e.createElement("div",{className:u("rt-BaseMenuViewport","rt-DropdownMenuViewport","rt-virtualized")},f):e.createElement(_,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-DropdownMenuViewport")},f)))))});Re.displayName="DropdownMenu.CascadeSubContent";var Ce=e.forwardRef(({store:o,sub:n,...r},s)=>{let a=B(o,n.id),t=q(o,n.id),i=X(a==="top"?o:null);if(a==="closed")return null;let{className:d,children:l,container:m,forceMount:M,virtualized:c,size:v,color:C,material:g,...R}=Be(r),w=a==="top",f=t?.name||(typeof n.label=="string"?n.label:"");return e.createElement("div",{role:"group","aria-label":f||void 0,...R,ref:s,"data-drill-down-panel":n.id,"data-drill-down-active":w?!0:void 0,"data-animation-direction":w?i??void 0:void 0,className:u("rt-DropdownMenuDrillDownPanel",d)},w&&e.createElement(e.Fragment,null,e.createElement(Ne,{label:n.label,name:f}),e.createElement(p.Separator,{className:"rt-BaseMenuSeparator rt-DropdownMenuSeparator"})),e.createElement(P.Provider,{value:w},l))});Ce.displayName="DropdownMenu.DrillDownPanel";var ge=e.forwardRef(({className:o,...n},r)=>e.createElement(Z,{...n,ref:r,className:u("rt-DropdownMenuTriggerIcon",o)}));ge.displayName="DropdownMenu.TriggerIcon";export{ae as a,ie as b,pe as c,ue as d,de as e,le as f,ce as g,me as h,we as i,De as j,Me as k,fe as l,Pe as m,ge as n,ke as o};
2
- //# sourceMappingURL=chunk-2NNCZM7P.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/dropdown-menu.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport { VirtualMenu } from './virtual-menu.js';\nimport classNames from 'classnames';\nimport { DropdownMenu as DropdownMenuPrimitive, Slot } from 'radix-ui';\nimport { useCallbackRef } from 'radix-ui/internal';\n\nimport { ScrollArea } from './scroll-area.js';\nimport {\n dropdownMenuContentPropDefs,\n dropdownMenuSubContentPropDefs,\n dropdownMenuItemPropDefs,\n dropdownMenuCheckboxItemPropDefs,\n dropdownMenuRadioItemPropDefs,\n} from './dropdown-menu.props.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { ChevronDownIcon, ThickCheckIcon, ThickChevronLeftIcon, ThickChevronRightIcon, ThickDotIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport {\n DrillDownLevelContext,\n DrillDownRoot,\n SubContext,\n useCreateDrillDownStore,\n useDrillDownDirection,\n useDrillDownStore,\n usePanelPosition,\n useStackEntry,\n useSubContext,\n} from './_internal/dropdown-menu-drill-down.js';\nimport { MenuProvider } from './_internal/menu-context.js';\nimport {\n MenuShortcut,\n getMenuAlignOffset,\n resolveMenuMaterial,\n toAriaKeyShortcuts,\n useResolvedResponsiveValue,\n} from './_internal/base-menu.utils.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\n\nimport type { SubmenuBehavior } from './_internal/dropdown-menu-drill-down.js';\nimport type { IconProps } from './icons.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes, Responsive } from '../props/prop-def.js';\n\n/**\n * Open state of the menu, mirrored from Root so Content can reset drill-down\n * navigation when a force-mounted menu opens again.\n */\nconst DropdownMenuOpenContext = React.createContext(false);\n\ninterface DropdownMenuRootProps\n extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Root> {}\nconst DropdownMenuRoot: React.FC<DropdownMenuRootProps> = (props) => {\n const { open: openProp, defaultOpen = false, onOpenChange } = props;\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);\n const open = openProp ?? uncontrolledOpen;\n\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n const handleOpenChange = React.useCallback(\n (next: boolean) => {\n setUncontrolledOpen(next);\n handleOpenChangeProp(next);\n },\n [handleOpenChangeProp],\n );\n\n return (\n <DropdownMenuOpenContext.Provider value={open}>\n <DropdownMenuPrimitive.Root {...props} onOpenChange={handleOpenChange} />\n </DropdownMenuOpenContext.Provider>\n );\n};\nDropdownMenuRoot.displayName = 'DropdownMenu.Root';\n\ntype DropdownMenuTriggerElement = React.ElementRef<typeof DropdownMenuPrimitive.Trigger>;\ninterface DropdownMenuTriggerProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Trigger, RemovedProps> {}\nconst DropdownMenuTrigger = React.forwardRef<DropdownMenuTriggerElement, DropdownMenuTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <DropdownMenuPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DropdownMenuPrimitive.Trigger>\n ),\n);\nDropdownMenuTrigger.displayName = 'DropdownMenu.Trigger';\n\n/** Visual props shared by Content and SubContent. */\ntype DropdownMenuSurfaceProps = GetPropDefTypes<typeof dropdownMenuSubContentPropDefs>;\n\ntype DropdownMenuContentContextValue = {\n size?: DropdownMenuSurfaceProps['size'];\n color?: DropdownMenuSurfaceProps['color'];\n material?: DropdownMenuSurfaceProps['material'];\n};\nconst DropdownMenuContentContext = React.createContext<DropdownMenuContentContextValue>({});\n\n/** Keys that navigate back one drill-down level, by writing direction. */\nconst BACK_KEYS = { ltr: 'ArrowLeft', rtl: 'ArrowRight' } as const;\nconst FORWARD_KEYS = { ltr: 'ArrowRight', rtl: 'ArrowLeft' } as const;\n\nfunction isTextEntryTarget(target: EventTarget | null) {\n return (\n target instanceof HTMLElement &&\n (target.isContentEditable || target.tagName === 'INPUT' || target.tagName === 'TEXTAREA')\n );\n}\n\nfunction getDirection(element: HTMLElement | null): 'ltr' | 'rtl' {\n return element?.closest('[dir]')?.getAttribute('dir') === 'rtl' ? 'rtl' : 'ltr';\n}\n\ntype DropdownMenuContentElement = React.ElementRef<typeof DropdownMenuPrimitive.Content>;\ninterface DropdownMenuContentProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Content, RemovedProps>,\n DropdownMenuSurfaceProps {\n container?: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Portal>['container'];\n /**\n * Controls how submenus behave.\n * - `cascade`: Default cascading behavior where submenus open to the side (portal-based)\n * - `drill-down`: Mobile-friendly behavior where submenus replace the content inline\n * Supports responsive values: `{ initial: 'drill-down', md: 'cascade' }`\n */\n submenuBehavior?: Responsive<SubmenuBehavior>;\n /**\n * When true, skips the ScrollArea wrapper to allow VirtualMenu to handle its own scrolling.\n * Use this when rendering virtualized lists inside the dropdown.\n */\n virtualized?: boolean;\n}\nconst DropdownMenuContent = React.forwardRef<DropdownMenuContentElement, DropdownMenuContentProps>(\n (props, forwardedRef) => {\n const themeContext = useThemeContext();\n\n\n const material = resolveMenuMaterial(props.material, themeContext);\n const {\n size = dropdownMenuContentPropDefs.size.default,\n } = props;\n const {\n className,\n children,\n color,\n container,\n forceMount,\n material: _material,\n submenuBehavior,\n virtualized = false,\n onEscapeKeyDown,\n onKeyDown,\n ...contentProps\n } = extractProps(props, dropdownMenuContentPropDefs);\n\n const resolvedColor = color || themeContext.accentColor;\n const behavior = useResolvedResponsiveValue<SubmenuBehavior>(submenuBehavior, 'cascade');\n const isDrillDown = behavior === 'drill-down';\n const open = React.useContext(DropdownMenuOpenContext);\n const drillDownStore = useCreateDrillDownStore();\n\n // Escape goes back one drill-down level before it closes the menu.\n const handleEscapeKeyDown = (event: KeyboardEvent) => {\n onEscapeKeyDown?.(event);\n if (event.defaultPrevented || !isDrillDown || drillDownStore.getDepth() === 0) return;\n event.preventDefault();\n drillDownStore.pop('keyboard');\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || !isDrillDown || drillDownStore.getDepth() === 0) return;\n if (isTextEntryTarget(event.target)) return;\n if (event.key === BACK_KEYS[getDirection(event.currentTarget)]) {\n event.preventDefault();\n drillDownStore.pop('keyboard');\n }\n };\n\n const contextValue = React.useMemo(\n () => ({ size, color: resolvedColor, material }),\n [size, resolvedColor, material],\n );\n\n const contentBody = (\n <MenuProvider size={size}>\n <DropdownMenuContentContext.Provider value={contextValue}>\n <DrillDownRoot store={drillDownStore} behavior={behavior} open={open}>\n {children}\n </DrillDownRoot>\n </DropdownMenuContentContext.Provider>\n </MenuProvider>\n );\n\n return (\n <DropdownMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <DropdownMenuPrimitive.Content\n data-accent-color={resolvedColor}\n data-material={material}\n align=\"start\"\n sideOffset={4}\n collisionPadding={10}\n {...contentProps}\n onEscapeKeyDown={handleEscapeKeyDown}\n onKeyDown={handleKeyDown}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-variant-soft',\n 'rt-DropdownMenuContent',\n className,\n )}\n >\n {virtualized ? (\n <div className={classNames('rt-BaseMenuViewport', 'rt-DropdownMenuViewport', 'rt-virtualized')}>\n {contentBody}\n </div>\n ) : (\n <ScrollArea type=\"auto\" scrollbars=\"vertical\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-DropdownMenuViewport')}>\n {contentBody}\n </div>\n </ScrollArea>\n )}\n </DropdownMenuPrimitive.Content>\n </Theme>\n </DropdownMenuPrimitive.Portal>\n );\n },\n);\nDropdownMenuContent.displayName = 'DropdownMenu.Content';\n\ntype DropdownMenuLabelElement = React.ElementRef<typeof DropdownMenuPrimitive.Label>;\ninterface DropdownMenuLabelProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Label, RemovedProps> {}\nconst DropdownMenuLabel = React.forwardRef<DropdownMenuLabelElement, DropdownMenuLabelProps>(\n ({ className, ...props }, forwardedRef) => {\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.Label\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuLabel', 'rt-DropdownMenuLabel', className)}\n />\n );\n },\n);\nDropdownMenuLabel.displayName = 'DropdownMenu.Label';\n\ntype DropdownMenuItemElement = React.ElementRef<typeof DropdownMenuPrimitive.Item>;\ntype DropdownMenuItemOwnProps = GetPropDefTypes<typeof dropdownMenuItemPropDefs>;\ninterface DropdownMenuItemProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Item, RemovedProps>,\n DropdownMenuItemOwnProps {}\nconst DropdownMenuItem = React.forwardRef<DropdownMenuItemElement, DropdownMenuItemProps>(\n (props, forwardedRef) => {\n const {\n className,\n children,\n color = dropdownMenuItemPropDefs.color.default,\n shortcut,\n ...itemProps\n } = props;\n // In drill-down mode, items of levels that are not on screen do not mount.\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.Item\n data-accent-color={color}\n aria-keyshortcuts={shortcut ? toAriaKeyShortcuts(shortcut) : undefined}\n {...itemProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-DropdownMenuItem', className)}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n {shortcut && <MenuShortcut shortcut={shortcut} className=\"rt-DropdownMenuShortcut\" />}\n </DropdownMenuPrimitive.Item>\n );\n },\n);\nDropdownMenuItem.displayName = 'DropdownMenu.Item';\n\ntype DropdownMenuGroupElement = React.ElementRef<typeof DropdownMenuPrimitive.Group>;\ninterface DropdownMenuGroupProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Group, RemovedProps> {}\nconst DropdownMenuGroup = React.forwardRef<DropdownMenuGroupElement, DropdownMenuGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <DropdownMenuPrimitive.Group\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuGroup', 'rt-DropdownMenuGroup', className)}\n />\n ),\n);\nDropdownMenuGroup.displayName = 'DropdownMenu.Group';\n\ntype DropdownMenuRadioGroupElement = React.ElementRef<typeof DropdownMenuPrimitive.RadioGroup>;\ninterface DropdownMenuRadioGroupProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.RadioGroup, RemovedProps> {}\nconst DropdownMenuRadioGroup = React.forwardRef<\n DropdownMenuRadioGroupElement,\n DropdownMenuRadioGroupProps\n>(({ className, ...props }, forwardedRef) => (\n <DropdownMenuPrimitive.RadioGroup\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuRadioGroup', 'rt-DropdownMenuRadioGroup', className)}\n />\n));\nDropdownMenuRadioGroup.displayName = 'DropdownMenu.RadioGroup';\n\ntype DropdownMenuRadioItemElement = React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>;\ntype DropdownMenuRadioItemOwnProps = GetPropDefTypes<typeof dropdownMenuRadioItemPropDefs>;\ninterface DropdownMenuRadioItemProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.RadioItem, RemovedProps>,\n DropdownMenuRadioItemOwnProps {}\nconst DropdownMenuRadioItem = React.forwardRef<\n DropdownMenuRadioItemElement,\n DropdownMenuRadioItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n color = dropdownMenuRadioItemPropDefs.color.default,\n ...itemProps\n } = props;\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.RadioItem\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuRadioItem',\n 'rt-DropdownMenuItem',\n 'rt-DropdownMenuRadioItem',\n className,\n )}\n >\n {children}\n <DropdownMenuPrimitive.ItemIndicator className=\"rt-BaseMenuItemIndicator rt-DropdownMenuItemIndicator\">\n <ThickDotIcon className=\"rt-BaseMenuItemIndicatorIcon rt-DropdownMenuItemIndicatorIcon\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </DropdownMenuPrimitive.RadioItem>\n );\n});\nDropdownMenuRadioItem.displayName = 'DropdownMenu.RadioItem';\n\ntype DropdownMenuCheckboxItemElement = React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>;\ntype DropdownMenuCheckboxItemOwnProps = GetPropDefTypes<typeof dropdownMenuCheckboxItemPropDefs>;\ninterface DropdownMenuCheckboxItemProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.CheckboxItem, RemovedProps>,\n DropdownMenuCheckboxItemOwnProps {}\nconst DropdownMenuCheckboxItem = React.forwardRef<\n DropdownMenuCheckboxItemElement,\n DropdownMenuCheckboxItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n shortcut,\n color = dropdownMenuCheckboxItemPropDefs.color.default,\n ...itemProps\n } = props;\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.CheckboxItem\n aria-keyshortcuts={shortcut ? toAriaKeyShortcuts(shortcut) : undefined}\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuCheckboxItem',\n 'rt-DropdownMenuItem',\n 'rt-DropdownMenuCheckboxItem',\n className,\n )}\n >\n {children}\n <DropdownMenuPrimitive.ItemIndicator className=\"rt-BaseMenuItemIndicator rt-DropdownMenuItemIndicator\">\n <ThickCheckIcon className=\"rt-BaseMenuItemIndicatorIcon rt-DropdownMenuItemIndicatorIcon\" />\n </DropdownMenuPrimitive.ItemIndicator>\n {shortcut && <MenuShortcut shortcut={shortcut} className=\"rt-DropdownMenuShortcut\" />}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n});\nDropdownMenuCheckboxItem.displayName = 'DropdownMenu.CheckboxItem';\n\ninterface DropdownMenuSubProps\n extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Sub> {\n /**\n * Label displayed in the back button when using drill-down mode.\n * If not provided, defaults to \"Back\".\n */\n label?: React.ReactNode;\n}\nconst DropdownMenuSub: React.FC<DropdownMenuSubProps> = ({\n label = 'Back',\n open,\n defaultOpen,\n onOpenChange,\n children,\n}) => {\n const drillDownStore = useDrillDownStore();\n const id = React.useId();\n const subContextValue = React.useMemo(() => ({ id, label }), [id, label]);\n const isOpenInDrillDown = usePanelPosition(drillDownStore, id) !== 'closed';\n\n // Drill-down: `open` and `defaultOpen` drive the stack; the stack drives\n // `onOpenChange`. A controlled `open` is applied when it changes.\n React.useLayoutEffect(() => {\n if (!drillDownStore || open === undefined) return;\n if (open && !drillDownStore.isOpen(id)) drillDownStore.push(id, null);\n else if (!open && drillDownStore.isOpen(id)) drillDownStore.close(id);\n }, [drillDownStore, open, id]);\n\n const defaultOpenRef = React.useRef(defaultOpen);\n React.useLayoutEffect(() => {\n if (drillDownStore && defaultOpenRef.current && open === undefined) drillDownStore.push(id, null);\n // Only on mount, like an uncontrolled default.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleOpenChange = useCallbackRef(onOpenChange);\n const wasOpenRef = React.useRef(isOpenInDrillDown);\n React.useEffect(() => {\n if (!drillDownStore || wasOpenRef.current === isOpenInDrillDown) return;\n wasOpenRef.current = isOpenInDrillDown;\n handleOpenChange(isOpenInDrillDown);\n }, [drillDownStore, isOpenInDrillDown, handleOpenChange]);\n\n // Radix Sub stays mounted in both behaviors so switching behavior does not\n // remount the subtree. It only renders context; in drill-down its trigger\n // and content are never rendered, so it reports no open changes of its own.\n return (\n <SubContext.Provider value={subContextValue}>\n <DropdownMenuPrimitive.Sub\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={drillDownStore ? undefined : onOpenChange}\n >\n {children}\n </DropdownMenuPrimitive.Sub>\n </SubContext.Provider>\n );\n};\nDropdownMenuSub.displayName = 'DropdownMenu.Sub';\n\ntype DropdownMenuSubTriggerElement = React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>;\ninterface DropdownMenuSubTriggerProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.SubTrigger, RemovedProps> {}\nconst DropdownMenuSubTrigger = React.forwardRef<\n DropdownMenuSubTriggerElement,\n DropdownMenuSubTriggerProps\n>((props, forwardedRef) => {\n const { className, children, onKeyDown, ...subTriggerProps } = props;\n const drillDownStore = useDrillDownStore();\n const subContext = useSubContext();\n const isLevelVisible = React.useContext(DrillDownLevelContext);\n\n if (drillDownStore && subContext) {\n if (!isLevelVisible) return null;\n\n const handleSelect = (event: Event) => {\n // Navigating does not close the menu.\n event.preventDefault();\n drillDownStore.push(subContext.id);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || subTriggerProps.disabled) return;\n if (event.key === FORWARD_KEYS[getDirection(event.currentTarget)]) {\n event.preventDefault();\n drillDownStore.push(subContext.id, 'keyboard');\n }\n };\n\n return (\n <DropdownMenuPrimitive.Item\n aria-haspopup=\"menu\"\n {...subTriggerProps}\n data-drill-down-trigger={subContext.id}\n data-drill-down-name={subTriggerProps.textValue}\n onSelect={handleSelect}\n onKeyDown={handleKeyDown}\n ref={forwardedRef}\n className={classNames(\n 'rt-reset',\n 'rt-BaseMenuItem',\n 'rt-BaseMenuSubTrigger',\n 'rt-DropdownMenuItem',\n 'rt-DropdownMenuSubTrigger',\n 'rt-DropdownMenuDrillDownSubTrigger',\n className,\n )}\n >\n {children}\n <div className=\"rt-BaseMenuShortcut rt-DropdownMenuShortcut\">\n <ThickChevronRightIcon className=\"rt-BaseMenuSubTriggerIcon rt-DropdownMenuSubTriggerIcon\" />\n </div>\n </DropdownMenuPrimitive.Item>\n );\n }\n\n return (\n <DropdownMenuPrimitive.SubTrigger\n {...subTriggerProps}\n onKeyDown={onKeyDown}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuSubTrigger',\n 'rt-DropdownMenuItem',\n 'rt-DropdownMenuSubTrigger',\n className,\n )}\n >\n {children}\n <div className=\"rt-BaseMenuShortcut rt-DropdownMenuShortcut\">\n <ThickChevronRightIcon className=\"rt-BaseMenuSubTriggerIcon rt-DropdownMenuSubTriggerIcon\" />\n </div>\n </DropdownMenuPrimitive.SubTrigger>\n );\n});\nDropdownMenuSubTrigger.displayName = 'DropdownMenu.SubTrigger';\n\ntype DropdownMenuSeparatorElement = React.ElementRef<typeof DropdownMenuPrimitive.Separator>;\ninterface DropdownMenuSeparatorProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Separator, RemovedProps> {}\nconst DropdownMenuSeparator = React.forwardRef<\n DropdownMenuSeparatorElement,\n DropdownMenuSeparatorProps\n>(({ className, ...props }, forwardedRef) => {\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuSeparator', 'rt-DropdownMenuSeparator', className)}\n />\n );\n});\nDropdownMenuSeparator.displayName = 'DropdownMenu.Separator';\n\n/** The row at the top of a drill-down panel that returns to the parent level. */\nfunction DrillDownBackItem({ label, name }: { label: React.ReactNode; name: string }) {\n const drillDownStore = useDrillDownStore();\n\n const handleSelect = React.useCallback(\n (event: Event) => {\n // Navigating does not close the menu.\n event.preventDefault();\n drillDownStore?.pop();\n },\n [drillDownStore],\n );\n\n // The visible label is often the submenu title, so the accessible name says\n // what the row does while still containing the visible text.\n const labelText = typeof label === 'string' ? label : name;\n const ariaLabel = labelText && labelText !== 'Back' ? `Back from ${labelText}` : undefined;\n\n return (\n <DropdownMenuPrimitive.Item\n aria-label={ariaLabel}\n textValue={labelText || 'Back'}\n onSelect={handleSelect}\n className={classNames(\n 'rt-reset',\n 'rt-BaseMenuItem',\n 'rt-DropdownMenuItem',\n 'rt-DropdownMenuDrillDownBackItem',\n )}\n >\n <ThickChevronLeftIcon className=\"rt-BaseMenuSubTriggerIcon rt-DropdownMenuDrillDownBackIcon\" />\n <span className=\"rt-DropdownMenuDrillDownBackLabel\">{label}</span>\n </DropdownMenuPrimitive.Item>\n );\n}\n\n/** Radix positioning and layer props that have no meaning for an inline drill-down panel. */\ntype PopperOnlyProps =\n | 'loop'\n | 'onEscapeKeyDown'\n | 'onPointerDownOutside'\n | 'onFocusOutside'\n | 'onInteractOutside'\n | 'sideOffset'\n | 'alignOffset'\n | 'avoidCollisions'\n | 'collisionBoundary'\n | 'collisionPadding'\n | 'arrowPadding'\n | 'sticky'\n | 'hideWhenDetached'\n | 'updatePositionStrategy';\n\nfunction omitPopperProps<T extends Record<string, unknown>>(props: T): Omit<T, PopperOnlyProps> {\n const {\n loop: _loop,\n onEscapeKeyDown: _onEscapeKeyDown,\n onPointerDownOutside: _onPointerDownOutside,\n onFocusOutside: _onFocusOutside,\n onInteractOutside: _onInteractOutside,\n sideOffset: _sideOffset,\n alignOffset: _alignOffset,\n avoidCollisions: _avoidCollisions,\n collisionBoundary: _collisionBoundary,\n collisionPadding: _collisionPadding,\n arrowPadding: _arrowPadding,\n sticky: _sticky,\n hideWhenDetached: _hideWhenDetached,\n updatePositionStrategy: _updatePositionStrategy,\n ...rest\n } = props;\n return rest;\n}\n\ntype DropdownMenuSubContentElement = React.ElementRef<typeof DropdownMenuPrimitive.SubContent>;\ninterface DropdownMenuSubContentProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.SubContent, RemovedProps>,\n DropdownMenuSurfaceProps {\n container?: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Portal>['container'];\n /**\n * When true, skips the ScrollArea wrapper so a VirtualMenu can handle its own\n * scrolling. Applies to cascade submenus; a drill-down panel scrolls with the\n * root content.\n */\n virtualized?: boolean;\n}\nconst DropdownMenuSubContent = React.forwardRef<\n DropdownMenuSubContentElement,\n DropdownMenuSubContentProps\n>((props, forwardedRef) => {\n const drillDownStore = useDrillDownStore();\n const subContext = useSubContext();\n\n if (drillDownStore && subContext) {\n return (\n <DrillDownPanel {...props} ref={forwardedRef} store={drillDownStore} sub={subContext} />\n );\n }\n return <CascadeSubContent {...props} ref={forwardedRef} />;\n});\nDropdownMenuSubContent.displayName = 'DropdownMenu.SubContent';\n\nconst CascadeSubContent = React.forwardRef<DropdownMenuSubContentElement, DropdownMenuSubContentProps>(\n (props, forwardedRef) => {\n const parent = React.useContext(DropdownMenuContentContext);\n const themeContext = useThemeContext();\n\n\n // A submenu inherits the parent surface, and its own props win.\n const size = props.size ?? parent.size;\n const color = props.color ?? parent.color;\n const material =\n props.material ?? parent.material ?? resolveMenuMaterial(undefined, themeContext);\n\n const {\n className,\n children,\n container,\n forceMount,\n color: _color,\n material: _material,\n virtualized = false,\n ...subContentProps\n } = extractProps({ ...props, size }, dropdownMenuSubContentPropDefs);\n\n const scalarSize = useResolvedResponsiveValue(size, dropdownMenuSubContentPropDefs.size.default);\n\n const contextValue = React.useMemo(\n () => ({ size, color, material }),\n [size, color, material],\n );\n\n const body = (\n <MenuProvider size={size}>\n <DropdownMenuContentContext.Provider value={contextValue}>{children}</DropdownMenuContentContext.Provider>\n </MenuProvider>\n );\n\n return (\n <DropdownMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <DropdownMenuPrimitive.SubContent\n data-accent-color={color}\n data-material={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-variant-soft',\n 'rt-BaseMenuSubContent',\n 'rt-DropdownMenuContent',\n 'rt-DropdownMenuSubContent',\n className,\n )}\n >\n {virtualized ? (\n <div className={classNames('rt-BaseMenuViewport', 'rt-DropdownMenuViewport', 'rt-virtualized')}>\n {body}\n </div>\n ) : (\n <ScrollArea type=\"auto\" scrollbars=\"vertical\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-DropdownMenuViewport')}>{body}</div>\n </ScrollArea>\n )}\n </DropdownMenuPrimitive.SubContent>\n </Theme>\n </DropdownMenuPrimitive.Portal>\n );\n },\n);\nCascadeSubContent.displayName = 'DropdownMenu.CascadeSubContent';\n\ninterface DrillDownPanelProps extends DropdownMenuSubContentProps {\n store: NonNullable<ReturnType<typeof useDrillDownStore>>;\n sub: NonNullable<ReturnType<typeof useSubContext>>;\n}\n\n/**\n * A submenu rendered inline in drill-down mode. It mounts its children only\n * while it is on the navigation stack, and shows its own items only while it\n * is the top level; deeper panels inside it stay mounted.\n */\nconst DrillDownPanel = React.forwardRef<DropdownMenuSubContentElement, DrillDownPanelProps>(\n ({ store, sub, ...props }, forwardedRef) => {\n const position = usePanelPosition(store, sub.id);\n const entry = useStackEntry(store, sub.id);\n const direction = useDrillDownDirection(position === 'top' ? store : null);\n\n if (position === 'closed') return null;\n\n const {\n className,\n children,\n container: _container,\n forceMount: _forceMount,\n virtualized: _virtualized,\n size: _size,\n color: _color,\n material: _material,\n ...panelProps\n } = omitPopperProps(props);\n\n const isTop = position === 'top';\n const name = entry?.name || (typeof sub.label === 'string' ? sub.label : '');\n\n return (\n <div\n role=\"group\"\n aria-label={name || undefined}\n {...panelProps}\n ref={forwardedRef}\n data-drill-down-panel={sub.id}\n data-drill-down-active={isTop ? true : undefined}\n data-animation-direction={isTop ? (direction ?? undefined) : undefined}\n className={classNames('rt-DropdownMenuDrillDownPanel', className)}\n >\n {isTop && (\n <>\n <DrillDownBackItem label={sub.label} name={name} />\n <DropdownMenuPrimitive.Separator className=\"rt-BaseMenuSeparator rt-DropdownMenuSeparator\" />\n </>\n )}\n <DrillDownLevelContext.Provider value={isTop}>{children}</DrillDownLevelContext.Provider>\n </div>\n );\n },\n);\nDrillDownPanel.displayName = 'DropdownMenu.DrillDownPanel';\n\ntype DropdownMenuTriggerIconElement = React.ElementRef<'svg'>;\ninterface DropdownMenuTriggerIconProps extends IconProps {}\nconst DropdownMenuTriggerIcon = React.forwardRef<\n DropdownMenuTriggerIconElement,\n DropdownMenuTriggerIconProps\n>(({ className, ...props }, forwardedRef) => (\n <ChevronDownIcon\n {...props}\n ref={forwardedRef}\n className={classNames('rt-DropdownMenuTriggerIcon', className)}\n />\n));\nDropdownMenuTriggerIcon.displayName = 'DropdownMenu.TriggerIcon';\n\nexport {\n DropdownMenuRoot as Root,\n DropdownMenuTrigger as Trigger,\n DropdownMenuTriggerIcon as TriggerIcon,\n DropdownMenuContent as Content,\n DropdownMenuLabel as Label,\n DropdownMenuItem as Item,\n DropdownMenuGroup as Group,\n DropdownMenuRadioGroup as RadioGroup,\n DropdownMenuRadioItem as RadioItem,\n DropdownMenuCheckboxItem as CheckboxItem,\n DropdownMenuSub as Sub,\n DropdownMenuSubTrigger as SubTrigger,\n DropdownMenuSubContent as SubContent,\n DropdownMenuSeparator as Separator,\n VirtualMenu as Virtual,\n};\n\nexport type {\n DropdownMenuRootProps as RootProps,\n DropdownMenuTriggerProps as TriggerProps,\n DropdownMenuTriggerIconProps as TriggerIconProps,\n DropdownMenuContentProps as ContentProps,\n DropdownMenuLabelProps as LabelProps,\n DropdownMenuItemProps as ItemProps,\n DropdownMenuGroupProps as GroupProps,\n DropdownMenuRadioGroupProps as RadioGroupProps,\n DropdownMenuRadioItemProps as RadioItemProps,\n DropdownMenuCheckboxItemProps as CheckboxItemProps,\n DropdownMenuSubProps as SubProps,\n DropdownMenuSubTriggerProps as SubTriggerProps,\n DropdownMenuSubContentProps as SubContentProps,\n DropdownMenuSeparatorProps as SeparatorProps,\n SubmenuBehavior,\n};\n"],
5
- "mappings": "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",
6
- "names": ["dropdown_menu_exports", "__export", "DropdownMenuCheckboxItem", "DropdownMenuContent", "DropdownMenuGroup", "DropdownMenuItem", "DropdownMenuLabel", "DropdownMenuRadioGroup", "DropdownMenuRadioItem", "DropdownMenuRoot", "DropdownMenuSeparator", "DropdownMenuSub", "DropdownMenuSubContent", "DropdownMenuSubTrigger", "DropdownMenuTrigger", "DropdownMenuTriggerIcon", "VirtualMenu", "React", "classNames", "DropdownMenuPrimitive", "Slot", "useCallbackRef", "DropdownMenuOpenContext", "DropdownMenuRoot", "props", "openProp", "defaultOpen", "onOpenChange", "uncontrolledOpen", "setUncontrolledOpen", "open", "handleOpenChangeProp", "useCallbackRef", "handleOpenChange", "next", "DropdownMenuPrimitive", "DropdownMenuTrigger", "children", "forwardedRef", "requireReactElement", "DropdownMenuContentContext", "BACK_KEYS", "FORWARD_KEYS", "isTextEntryTarget", "target", "getDirection", "element", "DropdownMenuContent", "themeContext", "useThemeContext", "material", "resolveMenuMaterial", "size", "baseMenuContentPropDefs", "className", "color", "container", "forceMount", "_material", "submenuBehavior", "virtualized", "onEscapeKeyDown", "onKeyDown", "contentProps", "extractProps", "resolvedColor", "behavior", "useResolvedResponsiveValue", "isDrillDown", "drillDownStore", "useCreateDrillDownStore", "handleEscapeKeyDown", "event", "handleKeyDown", "contextValue", "contentBody", "MenuProvider", "DrillDownRoot", "Theme", "classNames", "ScrollArea", "DropdownMenuLabel", "DrillDownLevelContext", "DropdownMenuItem", "baseMenuItemPropDefs", "shortcut", "itemProps", "toAriaKeyShortcuts", "Slot", "MenuShortcut", "DropdownMenuGroup", "DropdownMenuRadioGroup", "DropdownMenuRadioItem", "baseMenuRadioItemPropDefs", "ThickDotIcon", "DropdownMenuCheckboxItem", "baseMenuCheckboxItemPropDefs", "ThickCheckIcon", "DropdownMenuSub", "label", "useDrillDownStore", "id", "subContextValue", "isOpenInDrillDown", "usePanelPosition", "defaultOpenRef", "wasOpenRef", "SubContext", "DropdownMenuSubTrigger", "subTriggerProps", "subContext", "useSubContext", "isLevelVisible", "handleSelect", "ThickChevronRightIcon", "DropdownMenuSeparator", "DrillDownBackItem", "name", "labelText", "ariaLabel", "ThickChevronLeftIcon", "omitPopperProps", "_loop", "_onEscapeKeyDown", "_onPointerDownOutside", "_onFocusOutside", "_onInteractOutside", "_sideOffset", "_alignOffset", "_avoidCollisions", "_collisionBoundary", "_collisionPadding", "_arrowPadding", "_sticky", "_hideWhenDetached", "_updatePositionStrategy", "rest", "DropdownMenuSubContent", "DrillDownPanel", "CascadeSubContent", "parent", "_color", "subContentProps", "baseMenuSubContentPropDefs", "scalarSize", "body", "getMenuAlignOffset", "store", "sub", "position", "entry", "useStackEntry", "direction", "useDrillDownDirection", "_container", "_forceMount", "_virtualized", "_size", "panelProps", "isTop", "DropdownMenuTriggerIcon", "ChevronDownIcon"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as t}from"./chunk-SMGDH54W.js";import{a as e}from"./chunk-TTFUM47A.js";import{b as s}from"./chunk-KRJTW535.js";import{c as r}from"./chunk-34KVYDF6.js";var o=["1","2","3","4"],a=["raised","surface","soft","ghost","outline"],i=["solid","translucent"],d={size:{type:"enum",className:"rt-r-size",values:o,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:a,default:"raised"},error:{type:"boolean",default:!1},errorMessage:{type:"string",default:void 0},required:{type:"boolean",default:!1},"aria-describedby":{type:"string",default:void 0},"aria-labelledby":{type:"string",default:void 0},...r,...s,material:{type:"enum",values:i,default:void 0}},p=["left","right"],b={side:{type:"enum",values:p},...r,gap:t.gap,px:e.px,pl:e.pl,pr:e.pr};export{d as a,b};
2
- //# sourceMappingURL=chunk-3PT3AOD5.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/text-field.props.tsx"],
4
- "sourcesContent": ["import { colorPropDef } from '../props/color.prop.js';\nimport { paddingPropDefs } from '../props/padding.props.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\nimport { flexPropDefs } from './flex.props.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\nconst variants = ['raised', 'surface', 'soft', 'ghost', 'outline'] as const;\nconst materials = ['solid', 'translucent'] as const;\n\nconst textFieldRootPropDefs = {\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'raised' },\n // Error and validation props\n error: { type: 'boolean', default: false },\n errorMessage: { type: 'string', default: undefined },\n required: { type: 'boolean', default: false },\n // Accessibility props\n 'aria-describedby': { type: 'string', default: undefined },\n 'aria-labelledby': { type: 'string', default: undefined },\n ...colorPropDef,\n ...radiusPropDef,\n material: { type: 'enum', values: materials, default: undefined },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n error: PropDef<boolean>;\n errorMessage: PropDef<string | undefined>;\n required: PropDef<boolean>;\n 'aria-describedby': PropDef<string | undefined>;\n 'aria-labelledby': PropDef<string | undefined>;\n material: PropDef<(typeof materials)[number] | undefined>;\n};\n\nconst sides = ['left', 'right'] as const;\n\nconst textFieldSlotPropDefs = {\n side: { type: 'enum', values: sides },\n ...colorPropDef,\n gap: flexPropDefs.gap,\n px: paddingPropDefs.px,\n pl: paddingPropDefs.pl,\n pr: paddingPropDefs.pr,\n} satisfies {\n side: PropDef<(typeof sides)[number]>;\n gap: typeof flexPropDefs.gap;\n px: typeof paddingPropDefs.px;\n pl: typeof paddingPropDefs.pl;\n pr: typeof paddingPropDefs.pr;\n};\n\n/** Scrubbing props for TextField.Slot - handled separately from PropDef system */\ninterface TextFieldSlotScrubProps {\n /** Enable scrubbing behavior on this slot */\n scrub?: boolean;\n /** Current value (required for min/max clamping to work correctly) */\n scrubValue?: number;\n /** Base value change per movement unit (default: 1) */\n scrubStep?: number;\n /** Pixels of movement per step - higher = less sensitive (default: 1) */\n scrubSensitivity?: number;\n /** Minimum allowed value */\n scrubMin?: number;\n /** Maximum allowed value */\n scrubMax?: number;\n /** Step multiplier when Shift is held (default: 10) */\n scrubShiftMultiplier?: number;\n /** Step multiplier when Alt/Option is held (default: 0.1) */\n scrubAltMultiplier?: number;\n /**\n * Callback fired during scrubbing with the value delta\n * @param delta - The change in value\n * @param isChanging - true while dragging, false when released\n */\n onScrub?: (delta: number, isChanging: boolean) => void;\n}\n\nexport type { TextFieldSlotScrubProps };\n\nexport { textFieldRootPropDefs, textFieldSlotPropDefs };\n"],
5
- "mappings": "gKAOA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3BC,EAAW,CAAC,SAAU,UAAW,OAAQ,QAAS,SAAS,EAC3DC,EAAY,CAAC,QAAS,aAAa,EAEnCC,EAAwB,CAC5B,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQH,EAAO,QAAS,IAAK,WAAY,EAAK,EAC5F,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQC,EAAU,QAAS,QAAS,EAEtF,MAAO,CAAE,KAAM,UAAW,QAAS,EAAM,EACzC,aAAc,CAAE,KAAM,SAAU,QAAS,MAAU,EACnD,SAAU,CAAE,KAAM,UAAW,QAAS,EAAM,EAE5C,mBAAoB,CAAE,KAAM,SAAU,QAAS,MAAU,EACzD,kBAAmB,CAAE,KAAM,SAAU,QAAS,MAAU,EACxD,GAAGG,EACH,GAAGC,EACH,SAAU,CAAE,KAAM,OAAQ,OAAQH,EAAW,QAAS,MAAU,CAClE,EAWMI,EAAQ,CAAC,OAAQ,OAAO,EAExBC,EAAwB,CAC5B,KAAM,CAAE,KAAM,OAAQ,OAAQD,CAAM,EACpC,GAAGF,EACH,IAAKI,EAAa,IAClB,GAAIC,EAAgB,GACpB,GAAIA,EAAgB,GACpB,GAAIA,EAAgB,EACtB",
6
- "names": ["sizes", "variants", "materials", "textFieldRootPropDefs", "colorPropDef", "radiusPropDef", "sides", "textFieldSlotPropDefs", "flexPropDefs", "paddingPropDefs"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as S,b as N,c as b}from"./chunk-UPCRXJB2.js";import{b as I,c as T}from"./chunk-IX5HIHVI.js";import{b as v,c as y}from"./chunk-PRRJ4WRE.js";import{a as h}from"./chunk-DDFONGSM.js";import{a as u}from"./chunk-UBSLEGQZ.js";import{a as g}from"./chunk-GSTOGDAJ.js";import{a as W}from"./chunk-OS3FCYZY.js";var O={};W(O,{Content:()=>E,Group:()=>G,Item:()=>L,Label:()=>D,Root:()=>x,Separator:()=>V,Trigger:()=>w});import*as e from"react";import s from"classnames";import{Select as a,ScrollArea as P}from"radix-ui";var R=e.createContext({}),x=r=>{let{children:o,size:t=S.size.default,...l}=r;return e.createElement(a.Root,{...l},e.createElement(R.Provider,{value:e.useMemo(()=>({size:t}),[t])},o))};x.displayName="Select.Root";var w=e.forwardRef((r,o)=>{let t=e.useContext(R),{children:l,className:i,color:n,radius:f,placeholder:d,error:p,loading:c,disabled:m,readOnly:C,material:z,...M}=u({size:t?.size,...r},{size:S.size},N,g),A=e.useMemo(()=>({"aria-invalid":p||void 0,"aria-busy":c||void 0,"aria-disabled":m||void 0,"aria-readonly":C||void 0}),[p,c,m,C]);return e.createElement(a.Trigger,{asChild:!0},e.createElement("button",{"data-accent-color":n,"data-radius":f,"data-material":z,"data-error":p,"data-loading":c,...M,...A,ref:o,className:s("rt-reset","rt-SelectTrigger",i)},e.createElement("span",{className:"rt-SelectTriggerInner"},e.createElement(a.Value,{placeholder:d},l)),e.createElement(a.Icon,{asChild:!0},c?e.createElement("div",{className:"rt-SelectIcon rt-SelectLoadingIcon","aria-hidden":"true"},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},e.createElement("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:"32",strokeDashoffset:"32",className:"rt-SelectLoadingIconCircle"}))):e.createElement(T,{className:"rt-SelectIcon"}))))});w.displayName="Select.Trigger";var E=e.forwardRef((r,o)=>{let t=e.useContext(R),{className:l,children:i,color:n,container:f,...d}=u({size:t?.size,...r},{size:S.size},b),p=v(),c=n||p.accentColor,m=h();return e.createElement(a.Portal,{container:f},e.createElement(y,{asChild:!0},e.createElement(a.Content,{"data-accent-color":c,sideOffset:4,...d,asChild:!1,ref:o,className:s("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-SelectContent",l)},e.createElement(P.Root,{type:"auto",className:"rt-ScrollAreaRoot"},e.createElement(a.Viewport,{asChild:!0,className:s("rt-BaseMenuViewport","rt-SelectViewport")},e.createElement(P.Viewport,{ref:m,className:"rt-ScrollAreaViewport",style:{overflowY:void 0}},i)),e.createElement(P.Scrollbar,{className:"rt-ScrollAreaScrollbar rt-r-size-1",orientation:"vertical"},e.createElement(P.Thumb,{className:"rt-ScrollAreaThumb"}))))))});E.displayName="Select.Content";var L=e.forwardRef((r,o)=>{let{className:t,children:l,...i}=r,n=typeof l!="string";return e.createElement(a.Item,{...i,asChild:!1,ref:o,className:s("rt-reset","rt-BaseMenuItem","rt-SelectItem",{"rt-SelectItemRich":n},t)},e.createElement(a.ItemIndicator,{className:"rt-SelectItemIndicator"},e.createElement(I,{className:"rt-SelectItemIndicatorIcon"})),e.createElement(a.ItemText,null,l))});L.displayName="Select.Item";var G=e.forwardRef(({className:r,...o},t)=>e.createElement(a.Group,{...o,asChild:!1,ref:t,className:s("rt-SelectGroup",r)}));G.displayName="Select.Group";var D=e.forwardRef(({className:r,...o},t)=>e.createElement(a.Label,{...o,asChild:!1,ref:t,className:s("rt-BaseMenuLabel","rt-SelectLabel",r)}));D.displayName="Select.Label";var V=e.forwardRef(({className:r,...o},t)=>e.createElement(a.Separator,{...o,asChild:!1,ref:t,className:s("rt-BaseMenuSeparator","rt-SelectSeparator",r)}));V.displayName="Select.Separator";export{x as a,w as b,E as c,L as d,G as e,D as f,V as g,O as h};
2
- //# sourceMappingURL=chunk-4EBCFKNC.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/select.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Select as SelectPrimitive, ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { ChevronDownIcon, ThickCheckIcon } from './icons.js';\nimport {\n selectRootPropDefs,\n selectTriggerPropDefs,\n selectContentPropDefs,\n} from './select.props.js';\nimport { useThemeContext, Theme } from './theme.js';\nimport { useThumbSync } from '../hooks/use-thumb-sync.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\ntype SelectRootOwnProps = GetPropDefTypes<typeof selectRootPropDefs>;\n\ntype SelectContextValue = SelectRootOwnProps;\nconst SelectContext = React.createContext<SelectContextValue>({});\n\ninterface SelectRootProps extends SelectPrimitive.SelectProps, SelectContextValue {}\nconst SelectRoot: React.FC<SelectRootProps> = (props) => {\n const { children, size = selectRootPropDefs.size.default, ...rootProps } = props;\n return (\n <SelectPrimitive.Root {...rootProps}>\n <SelectContext.Provider value={React.useMemo(() => ({ size }), [size])}>\n {children}\n </SelectContext.Provider>\n </SelectPrimitive.Root>\n );\n};\nSelectRoot.displayName = 'Select.Root';\n\ntype SelectTriggerElement = React.ElementRef<typeof SelectPrimitive.Trigger>;\ntype SelectTriggerOwnProps = GetPropDefTypes<typeof selectTriggerPropDefs>;\ninterface SelectTriggerProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Trigger, RemovedProps>,\n MarginProps,\n SelectTriggerOwnProps {}\nconst SelectTrigger = React.forwardRef<SelectTriggerElement, SelectTriggerProps>(\n (props, forwardedRef) => {\n const context = React.useContext(SelectContext);\n const {\n children,\n className,\n color,\n radius,\n placeholder,\n error,\n loading,\n disabled,\n readOnly,\n material,\n ...triggerProps\n } = extractProps(\n // Pass size value from the context to generate styles\n { size: context?.size, ...props },\n // Pass size prop def to allow it to be extracted\n { size: selectRootPropDefs.size },\n selectTriggerPropDefs,\n marginPropDefs,\n );\n\n\n const ariaProps = React.useMemo(\n () => ({\n 'aria-invalid': error || undefined,\n 'aria-busy': loading || undefined,\n 'aria-disabled': disabled || undefined,\n 'aria-readonly': readOnly || undefined,\n }),\n [error, loading, disabled, readOnly],\n );\n\n return (\n <SelectPrimitive.Trigger asChild>\n <button\n data-accent-color={color}\n data-radius={radius}\n data-material={material}\n data-error={error}\n data-loading={loading}\n {...triggerProps}\n {...ariaProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-SelectTrigger', className)}\n >\n <span className=\"rt-SelectTriggerInner\">\n <SelectPrimitive.Value placeholder={placeholder}>{children}</SelectPrimitive.Value>\n </span>\n <SelectPrimitive.Icon asChild>\n {loading ? (\n <div className=\"rt-SelectIcon rt-SelectLoadingIcon\" aria-hidden=\"true\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <circle\n cx=\"8\"\n cy=\"8\"\n r=\"7\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray=\"32\"\n strokeDashoffset=\"32\"\n className=\"rt-SelectLoadingIconCircle\"\n />\n </svg>\n </div>\n ) : (\n <ChevronDownIcon className=\"rt-SelectIcon\" />\n )}\n </SelectPrimitive.Icon>\n </button>\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = 'Select.Trigger';\n\ntype SelectContentElement = React.ElementRef<typeof SelectPrimitive.Content>;\ntype SelectContentOwnProps = GetPropDefTypes<typeof selectContentPropDefs>;\ninterface SelectContentProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Content, RemovedProps>,\n SelectContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Portal>['container'];\n}\nconst SelectContent = React.forwardRef<SelectContentElement, SelectContentProps>(\n (props, forwardedRef) => {\n const context = React.useContext(SelectContext);\n const { className, children, color, container, ...contentProps } = extractProps(\n // Pass size value from the context to generate styles\n { size: context?.size, ...props },\n // Pass size prop def to allow it to be extracted\n { size: selectRootPropDefs.size },\n selectContentPropDefs,\n );\n const themeContext = useThemeContext();\n const resolvedColor = color || themeContext.accentColor;\n const setThumbViewport = useThumbSync<HTMLDivElement>();\n return (\n <SelectPrimitive.Portal container={container}>\n <Theme asChild>\n <SelectPrimitive.Content\n data-accent-color={resolvedColor}\n sideOffset={4}\n {...contentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-variant-soft',\n 'rt-SelectContent',\n className,\n )}\n >\n <ScrollAreaPrimitive.Root type=\"auto\" className=\"rt-ScrollAreaRoot\">\n <SelectPrimitive.Viewport\n asChild\n className={classNames('rt-BaseMenuViewport', 'rt-SelectViewport')}\n >\n <ScrollAreaPrimitive.Viewport\n ref={setThumbViewport}\n className=\"rt-ScrollAreaViewport\"\n style={{ overflowY: undefined }}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n </SelectPrimitive.Viewport>\n <ScrollAreaPrimitive.Scrollbar\n className=\"rt-ScrollAreaScrollbar rt-r-size-1\"\n orientation=\"vertical\"\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n </ScrollAreaPrimitive.Root>\n </SelectPrimitive.Content>\n </Theme>\n </SelectPrimitive.Portal>\n );\n },\n);\nSelectContent.displayName = 'Select.Content';\n\ntype SelectItemElement = React.ElementRef<typeof SelectPrimitive.Item>;\ninterface SelectItemProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Item, RemovedProps> {}\nconst SelectItem = React.forwardRef<SelectItemElement, SelectItemProps>((props, forwardedRef) => {\n const { className, children, ...itemProps } = props;\n\n // Detect if this is rich content (not just a string)\n const isRichContent = typeof children !== 'string';\n\n return (\n <SelectPrimitive.Item\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-reset',\n 'rt-BaseMenuItem',\n 'rt-SelectItem',\n { 'rt-SelectItemRich': isRichContent },\n className,\n )}\n >\n <SelectPrimitive.ItemIndicator className=\"rt-SelectItemIndicator\">\n <ThickCheckIcon className=\"rt-SelectItemIndicatorIcon\" />\n </SelectPrimitive.ItemIndicator>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n});\nSelectItem.displayName = 'Select.Item';\n\ntype SelectGroupElement = React.ElementRef<typeof SelectPrimitive.Group>;\ninterface SelectGroupProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Group, RemovedProps> {}\nconst SelectGroup = React.forwardRef<SelectGroupElement, SelectGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Group\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-SelectGroup', className)}\n />\n ),\n);\nSelectGroup.displayName = 'Select.Group';\n\ntype SelectLabelElement = React.ElementRef<typeof SelectPrimitive.Label>;\ninterface SelectLabelProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Label, RemovedProps> {}\nconst SelectLabel = React.forwardRef<SelectLabelElement, SelectLabelProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Label\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuLabel', 'rt-SelectLabel', className)}\n />\n ),\n);\nSelectLabel.displayName = 'Select.Label';\n\ntype SelectSeparatorElement = React.ElementRef<typeof SelectPrimitive.Separator>;\ninterface SelectSeparatorProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Separator, RemovedProps> {}\nconst SelectSeparator = React.forwardRef<SelectSeparatorElement, SelectSeparatorProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuSeparator', 'rt-SelectSeparator', className)}\n />\n ),\n);\nSelectSeparator.displayName = 'Select.Separator';\n\nexport {\n SelectRoot as Root,\n SelectTrigger as Trigger,\n SelectContent as Content,\n SelectItem as Item,\n SelectGroup as Group,\n SelectLabel as Label,\n SelectSeparator as Separator,\n};\n\nexport type {\n SelectRootProps as RootProps,\n SelectTriggerProps as TriggerProps,\n SelectContentProps as ContentProps,\n SelectItemProps as ItemProps,\n SelectGroupProps as GroupProps,\n SelectLabelProps as LabelProps,\n SelectSeparatorProps as SeparatorProps,\n};\n"],
5
- "mappings": "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",
6
- "names": ["select_exports", "__export", "SelectContent", "SelectGroup", "SelectItem", "SelectLabel", "SelectRoot", "SelectSeparator", "SelectTrigger", "React", "classNames", "SelectPrimitive", "ScrollAreaPrimitive", "SelectContext", "SelectRoot", "props", "children", "size", "selectRootPropDefs", "rootProps", "SelectPrimitive", "SelectTrigger", "forwardedRef", "context", "className", "color", "radius", "placeholder", "error", "loading", "disabled", "readOnly", "material", "triggerProps", "extractProps", "selectTriggerPropDefs", "marginPropDefs", "ariaProps", "classNames", "ChevronDownIcon", "SelectContent", "container", "contentProps", "selectContentPropDefs", "themeContext", "useThemeContext", "resolvedColor", "setThumbViewport", "useThumbSync", "Theme", "ScrollAreaPrimitive", "SelectItem", "itemProps", "isRichContent", "ThickCheckIcon", "SelectGroup", "SelectLabel", "SelectSeparator"]
7
- }
@@ -1,2 +0,0 @@
1
- import{z as e}from"zod";var t=e.object({as:e.string().optional().describe("HTML element type to render as"),asChild:e.boolean().optional().describe("Merge props with child element instead of rendering wrapper"),size:e.union([e.enum(["1","2","3","4"]),e.object({initial:e.enum(["1","2","3","4"]).optional(),sm:e.enum(["1","2","3","4"]).optional(),md:e.enum(["1","2","3","4"]).optional(),lg:e.enum(["1","2","3","4"]).optional(),xl:e.enum(["1","2","3","4"]).optional()})]).default("2").describe("Button size for responsive design and interface density"),variant:e.enum(["raised","solid","soft","surface","outline","ghost"]).default("solid").describe("Visual variant that determines the button's appearance and context"),color:e.enum(["tomato","red","ruby","crimson","pink","plum","purple","violet","iris","indigo","blue","cyan","teal","jade","green","grass","brown","orange","sky","mint","lime","yellow","amber","gold","bronze","gray"]).optional().describe("Accent color for the button"),radius:e.enum(["none","small","medium","large","full"]).optional().describe("Border radius for the button"),loading:e.boolean().optional().default(!1).describe("Loading state that shows a spinner and disables interaction"),material:e.enum(["solid","translucent"]).optional().describe("Material type for visual rendering and depth effects"),flush:e.boolean().optional().default(!1).describe("Flush mode that removes visual padding for seamless text integration"),disabled:e.boolean().optional().default(!1).describe("Disabled state"),type:e.enum(["button","submit","reset"]).optional().describe("Type attribute for form buttons"),className:e.string().optional().describe("Additional CSS class name"),style:e.record(e.string(),e.union([e.string(),e.number()])).optional().describe("Inline styles"),onClick:e.function().optional().describe("Click handler"),onFocus:e.function().optional().describe("Focus handler"),onBlur:e.function().optional().describe("Blur handler"),onMouseEnter:e.function().optional().describe("Mouse enter handler"),onMouseLeave:e.function().optional().describe("Mouse leave handler"),onKeyDown:e.function().optional().describe("Key down handler"),onKeyUp:e.function().optional().describe("Key up handler"),onSubmit:e.function().optional().describe("Form submission handler"),tabIndex:e.number().optional().describe("Tab index for keyboard navigation"),"aria-label":e.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":e.string().optional().describe("ARIA labelled by reference"),"aria-describedby":e.string().optional().describe("ARIA described by reference"),"aria-expanded":e.boolean().optional().describe("ARIA expanded state"),"aria-pressed":e.boolean().optional().describe("ARIA pressed state"),"aria-current":e.union([e.boolean(),e.enum(["page","step","location","date","time"])]).optional().describe("ARIA current state"),"aria-controls":e.string().optional().describe("ARIA controls reference"),"aria-owns":e.string().optional().describe("ARIA owns reference"),"data-*":e.record(e.string(),e.string()).optional().describe("Data attributes"),id:e.string().optional().describe("ID attribute"),title:e.string().optional().describe("Title attribute for tooltip"),role:e.string().optional().describe("Role attribute"),children:e.any().optional().describe("Children elements")}).strict();function i(n){return n}export{t as a,i as b};
2
- //# sourceMappingURL=chunk-5PG5YGIW.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/schemas/base-button.schema.ts"],
4
- "sourcesContent": ["import { z } from 'zod';\n\n/**\n * BaseButton Zod schema - Single source of truth for all button component props\n *\n * This schema defines the core button functionality used by Button, IconButton,\n * ToggleButton, and ToggleIconButton components. It ensures consistency across\n * the design system and provides machine-readable validation.\n *\n * @example\n * ```tsx\n * // Basic validation\n * const props = BaseButtonSchema.parse({ size: '2', variant: 'solid' });\n *\n * // With responsive props\n * const responsiveProps = BaseButtonSchema.parse({\n * size: { initial: '1', sm: '2', md: '3' },\n * variant: 'solid'\n * });\n * ```\n */\nexport const BaseButtonSchema = z\n .object({\n /**\n * Polymorphic rendering - render as different HTML elements\n * @default 'button'\n */\n as: z.string().optional().describe('HTML element type to render as'),\n\n /**\n * Use asChild to merge props with child element\n * @default false\n */\n asChild: z\n .boolean()\n .optional()\n .describe('Merge props with child element instead of rendering wrapper'),\n\n /**\n * Button size for responsive design and interface density\n * Supports responsive objects: { initial: '1', sm: '2', md: '3', lg: '4' }\n * @default '2'\n */\n size: z\n .union([\n z.enum(['1', '2', '3', '4']),\n z.object({\n initial: z.enum(['1', '2', '3', '4']).optional(),\n sm: z.enum(['1', '2', '3', '4']).optional(),\n md: z.enum(['1', '2', '3', '4']).optional(),\n lg: z.enum(['1', '2', '3', '4']).optional(),\n xl: z.enum(['1', '2', '3', '4']).optional(),\n }),\n ])\n .default('2')\n .describe('Button size for responsive design and interface density'),\n\n /**\n * Visual variant that determines the button's appearance and context\n * @default 'solid'\n */\n variant: z\n .enum(['raised', 'solid', 'soft', 'surface', 'outline', 'ghost'])\n .default('solid')\n .describe(\"Visual variant that determines the button's appearance and context\"),\n\n /**\n * Accent color for the button\n */\n color: z\n .enum([\n 'tomato',\n 'red',\n 'ruby',\n 'crimson',\n 'pink',\n 'plum',\n 'purple',\n 'violet',\n 'iris',\n 'indigo',\n 'blue',\n 'cyan',\n 'teal',\n 'jade',\n 'green',\n 'grass',\n 'brown',\n 'orange',\n 'sky',\n 'mint',\n 'lime',\n 'yellow',\n 'amber',\n 'gold',\n 'bronze',\n 'gray',\n ])\n .optional()\n .describe('Accent color for the button'),\n\n /**\n * Border radius for the button\n */\n radius: z\n .enum(['none', 'small', 'medium', 'large', 'full'])\n .optional()\n .describe('Border radius for the button'),\n\n /**\n * Loading state that shows a spinner and disables interaction\n * Automatically sets disabled=true and provides accessibility announcements\n * @default false\n */\n loading: z\n .boolean()\n .optional()\n .default(false)\n .describe('Loading state that shows a spinner and disables interaction'),\n\n /**\n * Material type for visual rendering and depth effects\n * Controls how the button renders its visual elements\n */\n material: z\n .enum(['solid', 'translucent'])\n .optional()\n .describe('Material type for visual rendering and depth effects'),\n\n /**\n * Flush mode that removes visual padding for seamless text integration\n * Only effective with ghost variant\n * @default false\n */\n flush: z\n .boolean()\n .optional()\n .default(false)\n .describe('Flush mode that removes visual padding for seamless text integration'),\n\n /**\n * Disabled state\n * @default false\n */\n disabled: z.boolean().optional().default(false).describe('Disabled state'),\n\n /**\n * Type attribute for form buttons\n * @default 'button'\n */\n type: z\n .enum(['button', 'submit', 'reset'])\n .optional()\n .describe('Type attribute for form buttons'),\n\n /**\n * Additional CSS class name\n */\n className: z.string().optional().describe('Additional CSS class name'),\n\n /**\n * Inline styles\n */\n style: z\n .record(z.string(), z.union([z.string(), z.number()]))\n .optional()\n .describe('Inline styles'),\n\n /**\n * Click handler\n */\n onClick: z.function().optional().describe('Click handler'),\n\n /**\n * Focus handler\n */\n onFocus: z.function().optional().describe('Focus handler'),\n\n /**\n * Blur handler\n */\n onBlur: z.function().optional().describe('Blur handler'),\n\n /**\n * Mouse enter handler\n */\n onMouseEnter: z.function().optional().describe('Mouse enter handler'),\n\n /**\n * Mouse leave handler\n */\n onMouseLeave: z.function().optional().describe('Mouse leave handler'),\n\n /**\n * Key down handler\n */\n onKeyDown: z.function().optional().describe('Key down handler'),\n\n /**\n * Key up handler\n */\n onKeyUp: z.function().optional().describe('Key up handler'),\n\n /**\n * Form submission handler\n */\n onSubmit: z.function().optional().describe('Form submission handler'),\n\n /**\n * Tab index for keyboard navigation\n */\n tabIndex: z.number().optional().describe('Tab index for keyboard navigation'),\n\n /**\n * ARIA label for accessibility\n */\n 'aria-label': z.string().optional().describe('ARIA label for accessibility'),\n\n /**\n * ARIA labelled by reference\n */\n 'aria-labelledby': z.string().optional().describe('ARIA labelled by reference'),\n\n /**\n * ARIA described by reference\n */\n 'aria-describedby': z.string().optional().describe('ARIA described by reference'),\n\n /**\n * ARIA expanded state\n */\n 'aria-expanded': z.boolean().optional().describe('ARIA expanded state'),\n\n /**\n * ARIA pressed state\n */\n 'aria-pressed': z.boolean().optional().describe('ARIA pressed state'),\n\n /**\n * ARIA current state\n */\n 'aria-current': z\n .union([z.boolean(), z.enum(['page', 'step', 'location', 'date', 'time'])])\n .optional()\n .describe('ARIA current state'),\n\n /**\n * ARIA controls reference\n */\n 'aria-controls': z.string().optional().describe('ARIA controls reference'),\n\n /**\n * ARIA owns reference\n */\n 'aria-owns': z.string().optional().describe('ARIA owns reference'),\n\n /**\n * Data attributes\n */\n 'data-*': z.record(z.string(), z.string()).optional().describe('Data attributes'),\n\n /**\n * ID attribute\n */\n id: z.string().optional().describe('ID attribute'),\n\n /**\n * Title attribute for tooltip\n */\n title: z.string().optional().describe('Title attribute for tooltip'),\n\n /**\n * Role attribute\n */\n role: z.string().optional().describe('Role attribute'),\n\n /**\n * Children elements\n */\n children: z.any().optional().describe('Children elements'),\n })\n .strict();\n\n/**\n * Type derived from BaseButton Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type BaseButtonProps = z.infer<typeof BaseButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const validatedProps = parseBaseButtonProps({ size: 'invalid', variant: 'solid' });\n * // Throws: \"Invalid enum value. Expected '1' | '2' | '3' | '4', received 'invalid'\"\n * ```\n */\nexport function parseBaseButtonProps(props: unknown): BaseButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return BaseButtonSchema.parse(props);\n }\n return props as BaseButtonProps;\n}\n"],
5
- "mappings": "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",
6
- "names": ["z", "BaseButtonSchema", "parseBaseButtonProps", "props"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as tt}from"./chunk-DQTJMIRO.js";import{a as Be}from"./chunk-MQT3YJKY.js";import{g as Ze,j as et}from"./chunk-IX5HIHVI.js";import{a as Ae}from"./chunk-O6K6RZXY.js";import{a as Qe}from"./chunk-HKRQ3E3I.js";import{a as ze}from"./chunk-XZ5XZS5O.js";import{a as Fe}from"./chunk-7CBZFHSQ.js";import{a as De}from"./chunk-AGAQC4HH.js";import{b as U}from"./chunk-FWB47YCH.js";import{a as Ot}from"./chunk-OS3FCYZY.js";var jt={};Ot(jt,{AttachTrigger:()=>ft,Attachment:()=>$e,AttachmentsRow:()=>ut,InlineEnd:()=>dt,InlineStart:()=>lt,Item:()=>ht,Root:()=>ct,Row:()=>bt,RowEnd:()=>Ct,RowStart:()=>Rt,Send:()=>gt,Textarea:()=>it});import*as e from"react";import T from"classnames";import{useComposedRefs as rt}from"radix-ui/internal";import{useDropzone as Ht}from"react-dropzone";var je=typeof window<"u"?e.useLayoutEffect:e.useEffect;function at(t,o){let{placeholder:a}=t;if(!a){o();return}t.placeholder="";try{o()}finally{t.placeholder=a}}var ot=e.createContext(null),We=e.createContext(""),O=()=>{let t=e.useContext(ot);if(!t)throw new Error("Chatbar context not found. Wrap parts in <Chatbar.Root>.");return t},me=t=>Array.isArray(t)?t:typeof t=="string"?t.split(",").map(o=>o.trim()).filter(Boolean):[],It=(t,o)=>{if(o.length===0)return!0;let a=t.type.toLowerCase(),c=t.name.toLowerCase();for(let i of o){let l=i.toLowerCase();if(l.includes("/")){let[d,u]=l.split("/"),[f,b]=a.split("/");if(d==="*"||d===f&&(u==="*"||u===b))return!0}else if(l.startsWith(".")&&c.endsWith(l))return!0}return!1},Ft=/\.(png|jpe?g|gif|webp|bmp|svg|avif)$/i,st=(t,o)=>(o||"").toLowerCase().startsWith("image/")||Ft.test(t),Ve=t=>t.trim().length>0,nt=(t,o)=>`${t} ${o}${t===1?"":"s"}`,zt=0,Dt=()=>`chatbar-attachment-${Date.now()}-${++zt}`,ct=e.forwardRef((t,o)=>{let{className:a,style:c,children:i,value:l,defaultValue:d="",onValueChange:u,open:f,defaultOpen:b=!1,onOpenChange:g,expandOn:v="both",minLines:C=3,maxLines:w=6,sendMode:H="whenDirty",disabled:R,readOnly:E,onSubmit:B,size:A="2",variant:I,color:M,radius:N,material:J,width:h,maxWidth:Q,attachments:F,defaultAttachments:se,onAttachmentsChange:P,accept:z,multiple:j=!0,maxAttachments:G,maxFileSize:_,paste:V=!0,pasteAccept:q,clearOnSubmit:L=!0,onAttachmentReject:D,dropzone:ce=!0,apiRef:we,onBlurCapture:pe,notices:he,context:fe,...Se}=t,be=J,r=l!=null,[y,S]=e.useState(d),Z=r?l:y,W=f!=null,[ee,Ee]=e.useState(b),X=W?f:ee,te="attachments"in t,[ie,vt]=e.useState(()=>se??[]),le=e.useMemo(()=>te?F??[]:ie,[te,F,ie]),[Ke,yt]=e.useState({text:"",id:0}),de=e.useCallback(n=>yt(s=>({text:n,id:s.id+1})),[]),Ue=e.useRef(null),xt=rt(o,Ue),Te=e.useRef(null),Le=e.useRef(null),ue=e.useRef(!1),Re=e.useRef(!1),Ce=e.useRef(void 0),ke=e.useRef(null),Ge=me(z).join(","),Me=me(q).join(","),Ne=e.useMemo(()=>me(Ge),[Ge]),Pt=e.useMemo(()=>Me?me(Me):Ne,[Me,Ne]),_e={value:Z,attachments:le,accepts:Ne,pasteAccepts:Pt,multiple:j,maxAttachments:G,maxFileSize:_,disabled:R,readOnly:E,expandOn:v,isValueControlled:r,isOpenControlled:W,isAttachmentsControlled:te,onValueChange:u,onOpenChange:g,onAttachmentsChange:P,onAttachmentReject:D,onSubmit:B},x=e.useRef(_e);x.current=_e;let Oe=e.useRef(null),$=e.useCallback(()=>Oe.current??x.current.attachments,[]),ae=e.useCallback(n=>{x.current.isOpenControlled||Ee(n),x.current.onOpenChange?.(n)},[]),ge=e.useCallback(n=>{x.current.isValueControlled||S(n),x.current.onValueChange?.(n)},[]),ne=e.useCallback(n=>{Oe.current=n,queueMicrotask(()=>{Oe.current=null}),x.current.isAttachmentsControlled||vt(n),x.current.onAttachmentsChange?.(n)},[]),ve=e.useRef(new Set),re=e.useCallback((n,s,m=x.current.multiple)=>{let p=x.current;if(p.disabled||p.readOnly||n.length===0)return 0;let K=$(),Y=[],oe=[],Mt=typeof p.maxAttachments=="number"?Math.max(p.maxAttachments-K.length,0):1/0,Nt=m?1/0:1;for(let k of n){if(Y.length>=Mt||Y.length>=Nt){oe.push({file:k,reason:"count"});continue}if(typeof p.maxFileSize=="number"&&k.size>p.maxFileSize){oe.push({file:k,reason:"size"});continue}if(!It(k,s)){oe.push({file:k,reason:"type"});continue}let Ie=st(k.name,k.type)?URL.createObjectURL(k):void 0;Ie&&ve.current.add(Ie),Y.push({id:Dt(),name:k.name,size:k.size,type:k.type,file:k,url:Ie,status:"idle"})}let Pe=[];return Y.length>0&&(ne(K.concat(Y)),p.expandOn!=="none"&&ae(!0),Pe.push(`${nt(Y.length,"file")} attached.`)),oe.length>0&&(p.onAttachmentReject?.(oe),Pe.push(`${nt(oe.length,"file")} could not be attached.`)),Pe.length>0&&de(Pe.join(" ")),Y.length},[$,ne,ae,de]),ye=e.useCallback(n=>re(n,x.current.accepts),[re]),qe=e.useCallback(n=>re(n,x.current.pasteAccepts),[re]),Xe=e.useCallback(n=>{let s=$(),m=s.find(p=>p.id===n);m&&(ne(s.filter(p=>p.id!==n)),de(`Removed ${m.name}.`))},[$,ne,de]),Ye=e.useCallback(n=>{let s=x.current;if(s.disabled||s.readOnly)return!1;let m=$();if(!Ve(s.value)&&m.length===0)return!1;let p={value:s.value,attachments:m};if(n&&s.onSubmit)for(let K of m)K.url&&ve.current.delete(K.url);return s.onSubmit?.(p),n&&(ge(""),ne([])),!0},[$,ge,ne]);e.useEffect(()=>{let n=ve.current;if(n.size===0)return;let s=new Set(le.map(m=>m.url));for(let m of Array.from(n))s.has(m)||(URL.revokeObjectURL(m),n.delete(m))},[le]),e.useEffect(()=>{let n=ve.current;return()=>{if(!x.current.isAttachmentsControlled){for(let s of Array.from(n))URL.revokeObjectURL(s);n.clear()}}},[]);let xe=e.useCallback(n=>{let s=x.current,m=Le.current;if(clearTimeout(Ce.current),Re.current=!1,!m||s.disabled||s.readOnly)return;let p=n?.accept!=null?me(n.accept):s.accepts,K=n?.multiple??s.multiple;ke.current={patterns:p,multiple:K},m.accept=p.join(","),m.multiple=K,ue.current=!0,m.click(),setTimeout(()=>{document.hasFocus()&&(ue.current=!1)},1e3)},[]),Je=e.useCallback(()=>{Re.current=!0,clearTimeout(Ce.current),Ce.current=setTimeout(()=>{Re.current=!1},800)},[]);e.useEffect(()=>()=>clearTimeout(Ce.current),[]),e.useEffect(()=>{let n=Le.current,s=()=>{ue.current=!1};return window.addEventListener("focus",s),n?.addEventListener("cancel",s),()=>{window.removeEventListener("focus",s),n?.removeEventListener("cancel",s)}},[]);let At=e.useCallback(n=>{let s=n.currentTarget,m=Array.from(s.files??[]),p=ke.current;re(m,p?.patterns??x.current.accepts,p?.multiple),ue.current=!1,ke.current=null,s.value=""},[re]),wt=e.useCallback(n=>{pe?.(n);let s=x.current,m=Ue.current;if(!m||s.expandOn==="none")return;let p=n.relatedTarget;p&&m.contains(p)||ue.current||Re.current||!Ve(s.value)&&$().length===0&&ae(!1)},[pe,ae,$]),St=e.useCallback(n=>{ye(n)},[ye]),{getRootProps:Et,isDragActive:Tt}=Ht({onDrop:St,onDragEnter:()=>de(""),noClick:!0,noKeyboard:!0,noPaste:!0,disabled:!ce||R||E}),He=ce&&Tt;e.useImperativeHandle(we,()=>({focusTextarea:()=>Te.current?.focus({preventScroll:!0}),openFilePicker:()=>xe()}),[xe]);let Lt=e.useCallback(n=>{if(R||n.pointerType==="mouse"&&n.button!==0)return;let s=n.target;s instanceof Element&&s.closest('button, [role="button"], a[href], input, textarea, select, [contenteditable], [tabindex]:not([tabindex="-1"])')||(n.preventDefault(),Te.current?.focus({preventScroll:!0}))},[R]),kt=e.useMemo(()=>({open:X,setOpen:ae,setValue:ge,size:A,expandOn:v,minLines:C,maxLines:w,sendMode:H,disabled:R,readOnly:E,paste:V,clearOnSubmit:L,multiple:j,textareaRef:Te,attachments:le,removeAttachment:Xe,submit:Ye,appendFiles:ye,appendFilesFromPaste:qe,openFilePicker:xe,beginFilePickerPress:Je}),[X,ae,ge,A,v,C,w,H,R,E,V,L,j,le,Xe,Ye,ye,qe,xe,Je]);return e.createElement(ot.Provider,{value:kt},e.createElement(We.Provider,{value:Z},e.createElement(e.Fragment,null,e.createElement("div",{...Se,ref:xt,className:T("rt-ChatbarRoot",`rt-r-size-${A}`,a),style:{position:"relative",width:h,maxWidth:Q,...c},"data-state":X?"open":"closed","data-disabled":R?"":void 0,"data-readonly":E?"":void 0,"data-drop-active":He?"":void 0,"data-accent-color":M,"data-radius":N,"data-material":be,onBlurCapture:wt},e.createElement("input",{ref:Le,type:"file",tabIndex:-1,"aria-hidden":!0,style:{display:"none"},onChange:At}),he?e.createElement("div",{className:"rt-ChatbarNotices"},e.createElement(tt.Provider,{value:A},he)):null,e.createElement("div",{...ce?Et():{},style:{width:"100%",flex:"1 1 auto",minHeight:0},onPointerDown:Lt},e.createElement("div",{className:T("rt-ChatbarBox",`rt-variant-${I??"raised"}`),style:{position:"relative"},"data-accent-color":M,"data-radius":N,"data-material":be},e.createElement("div",{className:"rt-ChatbarGrid"},i),He&&e.createElement("div",{className:"rt-ChatbarDropOverlay","aria-hidden":!0},e.createElement("div",{className:"rt-ChatbarDropContent"},e.createElement(Ae,{emphasis:"medium",size:A,weight:"medium"},"Drop files here to attach"))))),fe?e.createElement(Ae,{as:"div",size:A==="3"?"2":"1",emphasis:"medium",className:"rt-ChatbarContext"},fe):null,e.createElement(De,{role:"status","aria-live":"polite"},He?"Drop files here to attach.":e.createElement("span",{key:Ke.id},Ke.text))))))});ct.displayName="Chatbar.Root";var it=e.forwardRef((t,o)=>{let{className:a,style:c,asChild:i,onFocus:l,onChange:d,onPaste:u,onKeyDown:f,onCompositionStart:b,onCompositionEnd:g,submitOnEnter:v=!1,...C}=t,w=O(),H=e.useContext(We),{open:R,minLines:E,maxLines:B,expandOn:A,disabled:I,readOnly:M,setOpen:N,setValue:J,textareaRef:h,paste:Q,appendFilesFromPaste:F,size:se,submit:P,clearOnSubmit:z}=w,j=rt(o,h),G=e.useRef(0),_=e.useRef(0),V=e.useRef(!1),q=e.useRef({open:R,minLines:E,maxLines:B});je(()=>{q.current={open:R,minLines:E,maxLines:B}},[R,E,B]);let L=e.useCallback(()=>{let r=h.current;if(!r)return;let y=window.getComputedStyle(r);G.current=parseFloat(y.lineHeight)||20,_.current=(parseFloat(y.paddingTop)||0)+(parseFloat(y.paddingBottom)||0)},[h]),D=e.useCallback((r,y)=>{let{minLines:S,maxLines:Z}=q.current,W=G.current,ee=_.current,Ee=Math.ceil((y?S:1)*W)+ee,X=Math.ceil((y?Z:1)*W)+ee,te=Math.max(r.scrollHeight,Ee);r.style.height=`${Math.min(te,X)}px`;let ie=te>X;r.style.overflowY=ie?"auto":"hidden",r.style.maxHeight=ie?`${X}px`:"none"},[]);je(()=>{L()},[L,se]),je(()=>{let r=h.current;r&&(G.current===0&&L(),at(r,()=>{r.style.height="auto";let y=R;if(!R&&(A==="overflow"||A==="both")){let S=Math.ceil(G.current)+_.current;r.scrollHeight>S+1&&(y=!0,N(!0))}D(r,y)}))},[H,R,A,E,B,se,N,h,L,D]),e.useEffect(()=>{let r=h.current;if(!r||typeof ResizeObserver>"u")return;let y=-1,S=new ResizeObserver(Z=>{let W=Z[0]?.contentRect.width??0;if(W===y)return;let ee=y===-1;y=W,!ee&&(L(),at(r,()=>{r.style.height="auto",D(r,q.current.open)}))});return S.observe(r),()=>S.disconnect()},[h,L,D]),e.useEffect(()=>{},[]);let ce=e.useCallback(r=>{l?.(r),!(I||M)&&(A==="focus"||A==="both")&&!R&&N(!0)},[I,M,A,R,N,l]),we=e.useCallback(r=>{J(r.currentTarget.value),d?.(r)},[J,d]),pe=e.useCallback(r=>{if(u?.(r),r.defaultPrevented||!Q||I||M)return;let y=Array.from(r.clipboardData?.items??[]).filter(S=>S.kind==="file").map(S=>S.getAsFile()).filter(S=>!!S);y.length!==0&&F(y)>0&&r.preventDefault()},[Q,I,M,u,F]),he=e.useCallback(r=>{V.current=!0,b?.(r)},[b]),fe=e.useCallback(r=>{V.current=!1,g?.(r)},[g]),Se=e.useCallback(r=>{f?.(r),!(r.defaultPrevented||!v)&&(r.key!=="Enter"||r.shiftKey||r.altKey||r.ctrlKey||r.metaKey||V.current||r.nativeEvent.isComposing||r.nativeEvent.keyCode===229||(r.preventDefault(),P(z)))},[v,f,P,z]),be=i?U:"textarea";return e.createElement("div",{className:T("rt-ChatbarField","rt-ChatbarTextarea",a)},e.createElement(be,{...C,ref:j,className:"rt-ChatbarInput",value:H,onChange:we,onFocus:ce,onPaste:pe,onKeyDown:Se,onCompositionStart:he,onCompositionEnd:fe,disabled:I,readOnly:M,rows:R?E:1,spellCheck:C.spellCheck??!0,autoCorrect:C.autoCorrect??"on",style:c}))});it.displayName="Chatbar.Textarea";var lt=e.forwardRef((t,o)=>{let{children:a,asChild:c,className:i,...l}=t;return O().open?null:e.createElement(c?U:"div",{...l,ref:o,className:T("rt-ChatbarInlineStart",i)},a)});lt.displayName="Chatbar.InlineStart";var dt=e.forwardRef((t,o)=>{let{children:a,asChild:c,className:i,...l}=t;return O().open?null:e.createElement(c?U:"div",{...l,ref:o,className:T("rt-ChatbarInlineEnd",i)},a)});dt.displayName="Chatbar.InlineEnd";var ut=e.forwardRef((t,o)=>{let{asChild:a,forceMount:c,renderAttachment:i,className:l,children:d,...u}=t,f=O(),b=e.Children.toArray(d).length>0;return f.attachments.length===0&&!b&&!c?null:e.createElement("div",null,e.createElement(a?U:"div",{...u,ref:o,className:T("rt-ChatbarAttachmentsRow",l),role:"list","aria-label":u["aria-label"]??"Attachments"},e.createElement(Qe,{className:"rt-ChatbarScrollArea",scrollbars:"horizontal",size:"1"},e.createElement(Fe,{align:"center",gap:"2",minWidth:"fit-content"},f.attachments.map(v=>e.createElement($e,{key:v.id,attachment:v,asChild:!!i},i?.(v))),d))))});ut.displayName="Chatbar.AttachmentsRow";function mt(t,o){let a=t.closest('[role="listitem"]'),c=a?.parentElement?Array.from(a.parentElement.children):[],i=a?c.indexOf(a):-1,d=(c[i+1]??c[i-1])?.querySelector(".rt-ChatbarItemRemove");d?d.focus():o.current?.focus({preventScroll:!0})}var pt=({lead:t,leadKind:o,label:a,detail:c,removeLabel:i,onRemove:l})=>{let d=O();return e.createElement(e.Fragment,null,e.createElement("span",{className:"rt-ChatbarItemLead","data-kind":o,"aria-hidden":!0},t),e.createElement(Ae,{className:"rt-ChatbarItemLabel",size:d.size,truncate:!0},a,c?e.createElement(De,null,", ",c):null),l&&e.createElement(Be,{className:"rt-ChatbarItemRemove","aria-label":i,size:"1",variant:"ghost",color:"gray",onClick:l},e.createElement(Ze,null)))},Bt={uploading:"uploading",error:"failed to upload"},$e=e.forwardRef((t,o)=>{let{attachment:a,asChild:c,className:i,children:l,...d}=t,u=O(),f=c?U:"div",b=!!a.url&&st(a.name,a.type),g=`${Math.ceil(a.size/1024)} KB`,v=a.status?Bt[a.status]:void 0,C=u.disabled||u.readOnly,w=R=>{mt(R.currentTarget,u.textareaRef),u.removeAttachment(a.id)},H=a.status==="uploading"?e.createElement(ze,{size:"1"}):b?e.createElement("img",{className:"rt-ChatbarAttachmentImage",src:a.url,alt:""}):e.createElement(et,null);return e.createElement(f,{...d,ref:o,className:T(l?"rt-ChatbarAttachment":"rt-ChatbarAttachment rt-ChatbarItem",i),role:"listitem","data-kind":b?"image":"file","data-status":a.status,title:a.name},l??e.createElement(pt,{lead:H,leadKind:b&&a.status!=="uploading"?"image":"icon",label:a.name,detail:v?`${g}, ${v}`:g,removeLabel:`Remove ${a.name}`,onRemove:C?void 0:w}))});$e.displayName="Chatbar.Attachment";var ht=e.forwardRef((t,o)=>{let{children:a,icon:c,image:i,color:l,onRemove:d,removeLabel:u,className:f,...b}=t,g=O(),v=g.disabled||g.readOnly,C=d?w=>{mt(w.currentTarget,g.textareaRef),d()}:void 0;return e.createElement("div",{...b,ref:o,className:T("rt-ChatbarItem",f),role:"listitem","data-accent-color":i?void 0:l??"gray",title:a},e.createElement(pt,{lead:i?e.createElement("img",{className:"rt-ChatbarAttachmentImage",src:i,alt:""}):c,leadKind:i?"image":"icon",label:a,removeLabel:u??`Remove ${a}`,onRemove:v?void 0:C}))});ht.displayName="Chatbar.Item";var ft=e.forwardRef((t,o)=>{let{asChild:a,accept:c,multiple:i,disabled:l,onPointerDown:d,onClick:u,...f}=t,b=O(),g=l||b.disabled||b.readOnly;return e.createElement(a?U:"button",{...f,ref:o,className:T("rt-ChatbarAttachTrigger",f.className),type:f.type??"button","aria-label":f["aria-label"]??"Add attachments",disabled:g,onPointerDown:C=>{d?.(C),!g&&!C.defaultPrevented&&b.beginFilePickerPress()},onClick:C=>{u?.(C),!(g||C.defaultPrevented)&&b.openFilePicker({accept:c,multiple:i})}})});ft.displayName="Chatbar.AttachTrigger";var bt=e.forwardRef((t,o)=>{let{asChild:a,children:c,className:i,...l}=t;return O().open?e.createElement("div",null,e.createElement(a?U:"div",{...l,ref:o,className:T("rt-ChatbarRow",i)},e.createElement(Fe,{align:"center",justify:"between",width:"100%"},c))):null});bt.displayName="Chatbar.Row";var Rt=e.forwardRef((t,o)=>{let{className:a,...c}=t;return e.createElement("div",{...c,ref:o,className:T("rt-ChatbarRowStart",a)})});Rt.displayName="Chatbar.RowStart";var Ct=e.forwardRef((t,o)=>{let{className:a,...c}=t;return e.createElement("div",{...c,ref:o,className:T("rt-ChatbarRowEnd",a)})});Ct.displayName="Chatbar.RowEnd";var gt=e.forwardRef((t,o)=>{let{asChild:a,clearOnSend:c,disabled:i,children:l,style:d,className:u,size:f,variant:b,emphasis:g,tabIndex:v,onClick:C,status:w="ready",onStop:H,onRetry:R,stopLabel:E="Stop",retryLabel:B="Retry",stopIcon:A,retryIcon:I,"aria-label":M,"aria-labelledby":N,...J}=t,h=O(),Q=e.useContext(We),F=Ve(Q)||h.attachments.length>0,P=F?"send":w==="submitted"||w==="streaming"?"stop":w==="error"?"retry":"send";if(h.sendMode==="never"&&P==="send")return null;let z=P!=="send"||h.sendMode==="always"||F,j=P==="send"?i||h.disabled||h.readOnly||!F:i||h.disabled,_=P==="stop"?{"aria-label":E}:P==="retry"?{"aria-label":B}:N?{"aria-labelledby":N}:{"aria-label":M??"Send"},V=L=>{if(C?.(L),L.defaultPrevented||j)return;if(P==="stop"){H?.();return}if(P==="retry"){R?.();return}let D=c??h.clearOnSubmit;h.submit(D)&&D&&h.textareaRef.current?.focus({preventScroll:!0})},q=P==="stop"?A??(w==="submitted"?e.createElement(ze,{size:h.size}):e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0},e.createElement("rect",{x:"7",y:"7",width:"10",height:"10",rx:"2"}))):P==="retry"?I??e.createElement("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","aria-hidden":!0},e.createElement("path",{d:"M3 12a9 9 0 1 0 3-6.7L3 8"}),e.createElement("path",{d:"M3 3v5h5"})):l??e.createElement("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","aria-hidden":!0},e.createElement("path",{d:"M5 12h14"}),e.createElement("path",{d:"m12 5 7 7-7 7"}));return e.createElement(Be,{...J,ref:o,size:f??h.size,...g?{emphasis:g}:{variant:b??(h.open||P!=="send"?"solid":"ghost")},disabled:j,className:T("rt-ChatbarSend",u),style:{opacity:z?1:0,pointerEvents:z?void 0:"none",...d},"aria-hidden":z?void 0:!0,tabIndex:z?v:-1,asChild:a,onClick:V,"data-status":w,"data-mode":P,..._},q)});gt.displayName="Chatbar.Send";export{ct as a,it as b,lt as c,dt as d,ut as e,$e as f,ht as g,ft as h,bt as i,Rt as j,Ct as k,gt as l,jt as m};
2
- //# sourceMappingURL=chunk-BDOMLGLZ.js.map