@womp/kookie-ui 0.16.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (969) hide show
  1. package/codemods/space-0.17.py +71 -0
  2. package/components.css +2857 -5012
  3. package/dist/cjs/components/_internal/base-button.d.ts +0 -2
  4. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  5. package/dist/cjs/components/_internal/base-button.js +1 -1
  6. package/dist/cjs/components/_internal/base-button.js.map +4 -4
  7. package/dist/cjs/components/_internal/base-button.props.d.ts +0 -17
  8. package/dist/cjs/components/_internal/base-button.props.d.ts.map +1 -1
  9. package/dist/cjs/components/_internal/base-button.props.js +1 -1
  10. package/dist/cjs/components/_internal/base-button.props.js.map +3 -3
  11. package/dist/cjs/components/_internal/base-checkbox.props.d.ts +1 -1
  12. package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
  13. package/dist/cjs/components/_internal/base-checkbox.props.js.map +2 -2
  14. package/dist/cjs/components/_internal/base-menu.props.d.ts +0 -10
  15. package/dist/cjs/components/_internal/base-menu.props.d.ts.map +1 -1
  16. package/dist/cjs/components/_internal/base-menu.props.js +1 -1
  17. package/dist/cjs/components/_internal/base-menu.props.js.map +3 -3
  18. package/dist/cjs/components/_internal/base-menu.utils.d.ts +3 -9
  19. package/dist/cjs/components/_internal/base-menu.utils.d.ts.map +1 -1
  20. package/dist/cjs/components/_internal/base-menu.utils.js +1 -1
  21. package/dist/cjs/components/_internal/base-menu.utils.js.map +3 -3
  22. package/dist/cjs/components/_internal/base-radio.props.d.ts +1 -1
  23. package/dist/cjs/components/_internal/base-radio.props.js +1 -1
  24. package/dist/cjs/components/_internal/base-radio.props.js.map +2 -2
  25. package/dist/cjs/components/_internal/base-tab-list.props.d.ts +0 -5
  26. package/dist/cjs/components/_internal/base-tab-list.props.d.ts.map +1 -1
  27. package/dist/cjs/components/_internal/base-tab-list.props.js +1 -1
  28. package/dist/cjs/components/_internal/base-tab-list.props.js.map +3 -3
  29. package/dist/cjs/components/_internal/menu-context.d.ts +2 -3
  30. package/dist/cjs/components/_internal/menu-context.d.ts.map +1 -1
  31. package/dist/cjs/components/_internal/menu-context.js +1 -1
  32. package/dist/cjs/components/_internal/menu-context.js.map +4 -4
  33. package/dist/cjs/components/_internal/pane-chrome.d.ts +14 -2
  34. package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
  35. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  36. package/dist/cjs/components/_internal/pane-chrome.js.map +3 -3
  37. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  38. package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
  39. package/dist/cjs/components/accordion.d.ts.map +1 -1
  40. package/dist/cjs/components/accordion.js +1 -1
  41. package/dist/cjs/components/accordion.js.map +4 -4
  42. package/dist/cjs/components/accordion.props.d.ts +0 -7
  43. package/dist/cjs/components/accordion.props.d.ts.map +1 -1
  44. package/dist/cjs/components/accordion.props.js +1 -1
  45. package/dist/cjs/components/accordion.props.js.map +3 -3
  46. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  47. package/dist/cjs/components/alert-dialog.js +1 -1
  48. package/dist/cjs/components/alert-dialog.js.map +4 -4
  49. package/dist/cjs/components/alert-dialog.props.d.ts +0 -5
  50. package/dist/cjs/components/alert-dialog.props.d.ts.map +1 -1
  51. package/dist/cjs/components/alert-dialog.props.js +1 -1
  52. package/dist/cjs/components/alert-dialog.props.js.map +3 -3
  53. package/dist/cjs/components/badge.js +1 -1
  54. package/dist/cjs/components/badge.js.map +4 -4
  55. package/dist/cjs/components/badge.props.d.ts +1 -1
  56. package/dist/cjs/components/badge.props.js +1 -1
  57. package/dist/cjs/components/badge.props.js.map +1 -1
  58. package/dist/cjs/components/button.js +2 -2
  59. package/dist/cjs/components/button.js.map +4 -4
  60. package/dist/cjs/components/button.props.js +1 -1
  61. package/dist/cjs/components/button.props.js.map +3 -3
  62. package/dist/cjs/components/card.d.ts.map +1 -1
  63. package/dist/cjs/components/card.js +1 -1
  64. package/dist/cjs/components/card.js.map +3 -3
  65. package/dist/cjs/components/card.props.d.ts +0 -5
  66. package/dist/cjs/components/card.props.d.ts.map +1 -1
  67. package/dist/cjs/components/card.props.js +1 -1
  68. package/dist/cjs/components/card.props.js.map +3 -3
  69. package/dist/cjs/components/chatbar.d.ts +0 -2
  70. package/dist/cjs/components/chatbar.d.ts.map +1 -1
  71. package/dist/cjs/components/chatbar.js +2 -2
  72. package/dist/cjs/components/chatbar.js.map +4 -4
  73. package/dist/cjs/components/checkbox-cards.d.ts.map +1 -1
  74. package/dist/cjs/components/checkbox-cards.js +1 -1
  75. package/dist/cjs/components/checkbox-cards.js.map +4 -4
  76. package/dist/cjs/components/checkbox-cards.props.d.ts +0 -5
  77. package/dist/cjs/components/checkbox-cards.props.d.ts.map +1 -1
  78. package/dist/cjs/components/checkbox-cards.props.js +1 -1
  79. package/dist/cjs/components/checkbox-cards.props.js.map +3 -3
  80. package/dist/cjs/components/checkbox-group.d.ts.map +1 -1
  81. package/dist/cjs/components/checkbox-group.js +1 -1
  82. package/dist/cjs/components/checkbox-group.js.map +4 -4
  83. package/dist/cjs/components/checkbox-group.props.d.ts +1 -1
  84. package/dist/cjs/components/checkbox-group.props.js +1 -1
  85. package/dist/cjs/components/checkbox-group.props.js.map +2 -2
  86. package/dist/cjs/components/checkbox.d.ts.map +1 -1
  87. package/dist/cjs/components/checkbox.js +1 -1
  88. package/dist/cjs/components/checkbox.js.map +4 -4
  89. package/dist/cjs/components/checkbox.props.js +1 -1
  90. package/dist/cjs/components/checkbox.props.js.map +2 -2
  91. package/dist/cjs/components/combobox.d.ts.map +1 -1
  92. package/dist/cjs/components/combobox.js +1 -1
  93. package/dist/cjs/components/combobox.js.map +4 -4
  94. package/dist/cjs/components/combobox.props.d.ts +0 -9
  95. package/dist/cjs/components/combobox.props.d.ts.map +1 -1
  96. package/dist/cjs/components/combobox.props.js +1 -1
  97. package/dist/cjs/components/combobox.props.js.map +3 -3
  98. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  99. package/dist/cjs/components/context-menu.js +1 -1
  100. package/dist/cjs/components/context-menu.js.map +4 -4
  101. package/dist/cjs/components/context-menu.props.js +1 -1
  102. package/dist/cjs/components/context-menu.props.js.map +3 -3
  103. package/dist/cjs/components/data-list.d.ts.map +1 -1
  104. package/dist/cjs/components/data-list.js +1 -1
  105. package/dist/cjs/components/data-list.js.map +4 -4
  106. package/dist/cjs/components/dialog.d.ts.map +1 -1
  107. package/dist/cjs/components/dialog.js +1 -1
  108. package/dist/cjs/components/dialog.js.map +4 -4
  109. package/dist/cjs/components/dialog.props.d.ts +0 -5
  110. package/dist/cjs/components/dialog.props.d.ts.map +1 -1
  111. package/dist/cjs/components/dialog.props.js +1 -1
  112. package/dist/cjs/components/dialog.props.js.map +3 -3
  113. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  114. package/dist/cjs/components/dropdown-menu.js +1 -1
  115. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  116. package/dist/cjs/components/dropdown-menu.props.js +1 -1
  117. package/dist/cjs/components/dropdown-menu.props.js.map +3 -3
  118. package/dist/cjs/components/hover-card.d.ts.map +1 -1
  119. package/dist/cjs/components/hover-card.js +1 -1
  120. package/dist/cjs/components/hover-card.js.map +4 -4
  121. package/dist/cjs/components/icon-button.js +2 -2
  122. package/dist/cjs/components/icon-button.js.map +4 -4
  123. package/dist/cjs/components/icon-button.props.js +1 -1
  124. package/dist/cjs/components/icon-button.props.js.map +3 -3
  125. package/dist/cjs/components/index.js +5 -5
  126. package/dist/cjs/components/index.js.map +4 -4
  127. package/dist/cjs/components/message-scroller.js +2 -2
  128. package/dist/cjs/components/message-scroller.js.map +4 -4
  129. package/dist/cjs/components/navbar.d.ts.map +1 -1
  130. package/dist/cjs/components/navbar.js +1 -1
  131. package/dist/cjs/components/navbar.js.map +4 -4
  132. package/dist/cjs/components/notice.d.ts +1 -3
  133. package/dist/cjs/components/notice.d.ts.map +1 -1
  134. package/dist/cjs/components/notice.js +2 -2
  135. package/dist/cjs/components/notice.js.map +4 -4
  136. package/dist/cjs/components/popover.d.ts.map +1 -1
  137. package/dist/cjs/components/popover.js +1 -1
  138. package/dist/cjs/components/popover.js.map +4 -4
  139. package/dist/cjs/components/popover.props.d.ts +0 -5
  140. package/dist/cjs/components/popover.props.d.ts.map +1 -1
  141. package/dist/cjs/components/popover.props.js +1 -1
  142. package/dist/cjs/components/popover.props.js.map +3 -3
  143. package/dist/cjs/components/progress.js +1 -1
  144. package/dist/cjs/components/progress.js.map +3 -3
  145. package/dist/cjs/components/progress.props.d.ts +0 -7
  146. package/dist/cjs/components/progress.props.d.ts.map +1 -1
  147. package/dist/cjs/components/progress.props.js +1 -1
  148. package/dist/cjs/components/progress.props.js.map +3 -3
  149. package/dist/cjs/components/radio-cards.d.ts.map +1 -1
  150. package/dist/cjs/components/radio-cards.js +1 -1
  151. package/dist/cjs/components/radio-cards.js.map +4 -4
  152. package/dist/cjs/components/radio-cards.props.d.ts +0 -5
  153. package/dist/cjs/components/radio-cards.props.d.ts.map +1 -1
  154. package/dist/cjs/components/radio-cards.props.js +1 -1
  155. package/dist/cjs/components/radio-cards.props.js.map +3 -3
  156. package/dist/cjs/components/radio-group.d.ts.map +1 -1
  157. package/dist/cjs/components/radio-group.js +1 -1
  158. package/dist/cjs/components/radio-group.js.map +4 -4
  159. package/dist/cjs/components/radio-group.props.d.ts +1 -1
  160. package/dist/cjs/components/radio-group.props.js +1 -1
  161. package/dist/cjs/components/radio-group.props.js.map +2 -2
  162. package/dist/cjs/components/radio.d.ts.map +1 -1
  163. package/dist/cjs/components/radio.js +1 -1
  164. package/dist/cjs/components/radio.js.map +4 -4
  165. package/dist/cjs/components/radio.props.js +1 -1
  166. package/dist/cjs/components/radio.props.js.map +2 -2
  167. package/dist/cjs/components/schemas/base-button.schema.d.ts +0 -4
  168. package/dist/cjs/components/schemas/base-button.schema.d.ts.map +1 -1
  169. package/dist/cjs/components/schemas/base-button.schema.js +1 -1
  170. package/dist/cjs/components/schemas/base-button.schema.js.map +2 -2
  171. package/dist/cjs/components/schemas/button.schema.d.ts +0 -4
  172. package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -1
  173. package/dist/cjs/components/schemas/button.schema.js +1 -1
  174. package/dist/cjs/components/schemas/button.schema.js.map +2 -2
  175. package/dist/cjs/components/schemas/icon-button.schema.d.ts +0 -4
  176. package/dist/cjs/components/schemas/icon-button.schema.d.ts.map +1 -1
  177. package/dist/cjs/components/schemas/icon-button.schema.js +1 -1
  178. package/dist/cjs/components/schemas/icon-button.schema.js.map +2 -2
  179. package/dist/cjs/components/schemas/index.js +1 -1
  180. package/dist/cjs/components/schemas/index.js.map +2 -2
  181. package/dist/cjs/components/schemas/toggle-button.schema.d.ts +0 -4
  182. package/dist/cjs/components/schemas/toggle-button.schema.d.ts.map +1 -1
  183. package/dist/cjs/components/schemas/toggle-button.schema.js +1 -1
  184. package/dist/cjs/components/schemas/toggle-button.schema.js.map +2 -2
  185. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +0 -4
  186. package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts.map +1 -1
  187. package/dist/cjs/components/schemas/toggle-icon-button.schema.js +1 -1
  188. package/dist/cjs/components/schemas/toggle-icon-button.schema.js.map +2 -2
  189. package/dist/cjs/components/scroll-area.d.ts.map +1 -1
  190. package/dist/cjs/components/scroll-area.js +1 -1
  191. package/dist/cjs/components/scroll-area.js.map +3 -3
  192. package/dist/cjs/components/scroll-area.props.d.ts +0 -7
  193. package/dist/cjs/components/scroll-area.props.d.ts.map +1 -1
  194. package/dist/cjs/components/scroll-area.props.js +1 -1
  195. package/dist/cjs/components/scroll-area.props.js.map +3 -3
  196. package/dist/cjs/components/segmented-control.d.ts.map +1 -1
  197. package/dist/cjs/components/segmented-control.js +1 -1
  198. package/dist/cjs/components/segmented-control.js.map +4 -4
  199. package/dist/cjs/components/segmented-control.props.d.ts +0 -4
  200. package/dist/cjs/components/segmented-control.props.d.ts.map +1 -1
  201. package/dist/cjs/components/segmented-control.props.js +1 -1
  202. package/dist/cjs/components/segmented-control.props.js.map +2 -2
  203. package/dist/cjs/components/select.d.ts.map +1 -1
  204. package/dist/cjs/components/select.js +1 -1
  205. package/dist/cjs/components/select.js.map +4 -4
  206. package/dist/cjs/components/select.props.d.ts +0 -4
  207. package/dist/cjs/components/select.props.d.ts.map +1 -1
  208. package/dist/cjs/components/select.props.js +1 -1
  209. package/dist/cjs/components/select.props.js.map +2 -2
  210. package/dist/cjs/components/separator.js +1 -1
  211. package/dist/cjs/components/separator.js.map +3 -3
  212. package/dist/cjs/components/separator.props.d.ts +0 -7
  213. package/dist/cjs/components/separator.props.d.ts.map +1 -1
  214. package/dist/cjs/components/separator.props.js +1 -1
  215. package/dist/cjs/components/separator.props.js.map +3 -3
  216. package/dist/cjs/components/sheet.d.ts +0 -1
  217. package/dist/cjs/components/sheet.d.ts.map +1 -1
  218. package/dist/cjs/components/sheet.js +1 -1
  219. package/dist/cjs/components/sheet.js.map +4 -4
  220. package/dist/cjs/components/shell.d.ts +1 -1
  221. package/dist/cjs/components/shell.d.ts.map +1 -1
  222. package/dist/cjs/components/shell.js +1 -1
  223. package/dist/cjs/components/shell.js.map +4 -4
  224. package/dist/cjs/components/sidebar.js +1 -1
  225. package/dist/cjs/components/sidebar.js.map +4 -4
  226. package/dist/cjs/components/slider.d.ts.map +1 -1
  227. package/dist/cjs/components/slider.js +1 -1
  228. package/dist/cjs/components/slider.js.map +4 -4
  229. package/dist/cjs/components/spinner.js +1 -1
  230. package/dist/cjs/components/spinner.js.map +3 -3
  231. package/dist/cjs/components/spinner.props.d.ts +0 -7
  232. package/dist/cjs/components/spinner.props.d.ts.map +1 -1
  233. package/dist/cjs/components/spinner.props.js +1 -1
  234. package/dist/cjs/components/spinner.props.js.map +3 -3
  235. package/dist/cjs/components/switch.d.ts.map +1 -1
  236. package/dist/cjs/components/switch.js +1 -1
  237. package/dist/cjs/components/switch.js.map +4 -4
  238. package/dist/cjs/components/switch.props.d.ts.map +1 -1
  239. package/dist/cjs/components/switch.props.js.map +2 -2
  240. package/dist/cjs/components/tab-nav.d.ts.map +1 -1
  241. package/dist/cjs/components/tab-nav.js +1 -1
  242. package/dist/cjs/components/tab-nav.js.map +4 -4
  243. package/dist/cjs/components/tab-nav.props.js +1 -1
  244. package/dist/cjs/components/tab-nav.props.js.map +3 -3
  245. package/dist/cjs/components/table.d.ts.map +1 -1
  246. package/dist/cjs/components/table.js +1 -1
  247. package/dist/cjs/components/table.js.map +4 -4
  248. package/dist/cjs/components/table.props.d.ts +1 -1
  249. package/dist/cjs/components/table.props.js +1 -1
  250. package/dist/cjs/components/table.props.js.map +2 -2
  251. package/dist/cjs/components/tabs.d.ts.map +1 -1
  252. package/dist/cjs/components/tabs.js +1 -1
  253. package/dist/cjs/components/tabs.js.map +4 -4
  254. package/dist/cjs/components/tabs.props.js +1 -1
  255. package/dist/cjs/components/tabs.props.js.map +3 -3
  256. package/dist/cjs/components/text-area.d.ts.map +1 -1
  257. package/dist/cjs/components/text-area.js +1 -1
  258. package/dist/cjs/components/text-area.js.map +4 -4
  259. package/dist/cjs/components/text-area.props.d.ts +0 -5
  260. package/dist/cjs/components/text-area.props.d.ts.map +1 -1
  261. package/dist/cjs/components/text-area.props.js +1 -1
  262. package/dist/cjs/components/text-area.props.js.map +3 -3
  263. package/dist/cjs/components/text-field.d.ts.map +1 -1
  264. package/dist/cjs/components/text-field.js +2 -2
  265. package/dist/cjs/components/text-field.js.map +4 -4
  266. package/dist/cjs/components/text-field.props.d.ts +0 -5
  267. package/dist/cjs/components/text-field.props.d.ts.map +1 -1
  268. package/dist/cjs/components/text-field.props.js +1 -1
  269. package/dist/cjs/components/text-field.props.js.map +3 -3
  270. package/dist/cjs/components/theme-panel.d.ts.map +1 -1
  271. package/dist/cjs/components/theme-panel.js +3 -3
  272. package/dist/cjs/components/theme-panel.js.map +4 -4
  273. package/dist/cjs/components/theme.d.ts +3 -6
  274. package/dist/cjs/components/theme.d.ts.map +1 -1
  275. package/dist/cjs/components/theme.js +1 -1
  276. package/dist/cjs/components/theme.js.map +4 -4
  277. package/dist/cjs/components/theme.props.d.ts +12 -19
  278. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  279. package/dist/cjs/components/theme.props.js +1 -1
  280. package/dist/cjs/components/theme.props.js.map +3 -3
  281. package/dist/cjs/components/toggle-button.js +3 -3
  282. package/dist/cjs/components/toggle-button.js.map +4 -4
  283. package/dist/cjs/components/toggle-icon-button.js +3 -3
  284. package/dist/cjs/components/toggle-icon-button.js.map +4 -4
  285. package/dist/cjs/components/toolbar.d.ts.map +1 -1
  286. package/dist/cjs/components/toolbar.js +2 -2
  287. package/dist/cjs/components/toolbar.js.map +4 -4
  288. package/dist/cjs/components/toolbar.props.d.ts +2 -1
  289. package/dist/cjs/components/toolbar.props.d.ts.map +1 -1
  290. package/dist/cjs/components/toolbar.props.js.map +2 -2
  291. package/dist/cjs/components/tooltip.js +1 -1
  292. package/dist/cjs/components/tooltip.js.map +4 -4
  293. package/dist/cjs/components/virtual-menu.d.ts.map +1 -1
  294. package/dist/cjs/components/virtual-menu.js +1 -1
  295. package/dist/cjs/components/virtual-menu.js.map +4 -4
  296. package/dist/cjs/helpers/index.d.ts +1 -0
  297. package/dist/cjs/helpers/index.d.ts.map +1 -1
  298. package/dist/cjs/helpers/index.js +3 -3
  299. package/dist/cjs/helpers/index.js.map +4 -4
  300. package/dist/cjs/helpers/map-prop-values.d.ts +1 -4
  301. package/dist/cjs/helpers/map-prop-values.d.ts.map +1 -1
  302. package/dist/cjs/helpers/map-prop-values.js +1 -1
  303. package/dist/cjs/helpers/map-prop-values.js.map +3 -3
  304. package/dist/cjs/helpers/theme-size.d.ts +41 -0
  305. package/dist/cjs/helpers/theme-size.d.ts.map +1 -0
  306. package/dist/cjs/helpers/theme-size.js +2 -0
  307. package/dist/cjs/helpers/theme-size.js.map +7 -0
  308. package/dist/cjs/index.js +6 -6
  309. package/dist/cjs/index.js.map +4 -4
  310. package/dist/cjs/props/index.js +1 -1
  311. package/dist/cjs/props/index.js.map +3 -3
  312. package/dist/esm/chunk-2CNQGDY3.js +2 -0
  313. package/dist/esm/{chunk-MNC2O6QW.js.map → chunk-2CNQGDY3.js.map} +3 -3
  314. package/dist/esm/chunk-2O3WL25H.js +2 -0
  315. package/dist/esm/chunk-2O3WL25H.js.map +7 -0
  316. package/dist/esm/{chunk-XZ5XZS5O.js → chunk-35HNDWWM.js} +2 -2
  317. package/dist/esm/chunk-3YLYGKFB.js +2 -0
  318. package/dist/esm/chunk-3YLYGKFB.js.map +7 -0
  319. package/dist/esm/chunk-4DE3ONED.js +2 -0
  320. package/dist/esm/chunk-4DE3ONED.js.map +7 -0
  321. package/dist/esm/chunk-4M55YJMR.js +2 -0
  322. package/dist/esm/chunk-4M55YJMR.js.map +7 -0
  323. package/dist/esm/chunk-4YQXYWDQ.js +2 -0
  324. package/dist/esm/chunk-4YQXYWDQ.js.map +7 -0
  325. package/dist/esm/{chunk-R4CN4Q3G.js → chunk-534LGOWC.js} +2 -2
  326. package/dist/esm/chunk-54KMG7NX.js +2 -0
  327. package/dist/esm/chunk-54KMG7NX.js.map +7 -0
  328. package/dist/esm/chunk-5LGWS5QS.js +2 -0
  329. package/dist/esm/chunk-5LGWS5QS.js.map +7 -0
  330. package/dist/esm/chunk-5R2WX2FU.js +2 -0
  331. package/dist/esm/chunk-5R2WX2FU.js.map +7 -0
  332. package/dist/esm/{chunk-7UW7D77E.js → chunk-5UU2IMGX.js} +2 -2
  333. package/dist/esm/chunk-5VBJT2VY.js +2 -0
  334. package/dist/esm/chunk-5VBJT2VY.js.map +7 -0
  335. package/dist/esm/chunk-6AZV4VFW.js +2 -0
  336. package/dist/esm/chunk-6AZV4VFW.js.map +7 -0
  337. package/dist/esm/chunk-6YWDEANN.js +2 -0
  338. package/dist/esm/chunk-6YWDEANN.js.map +7 -0
  339. package/dist/esm/chunk-6YWJUNMB.js +2 -0
  340. package/dist/esm/chunk-6YWJUNMB.js.map +7 -0
  341. package/dist/esm/{chunk-Y4IB7KDZ.js → chunk-7FZPCM7W.js} +2 -2
  342. package/dist/esm/chunk-7J2QS2UT.js +5 -0
  343. package/dist/esm/chunk-7J2QS2UT.js.map +7 -0
  344. package/dist/esm/chunk-ABS275QZ.js +2 -0
  345. package/dist/esm/chunk-AKPAHQYE.js +2 -0
  346. package/dist/esm/chunk-AKPAHQYE.js.map +7 -0
  347. package/dist/esm/chunk-B6RH4CTY.js +2 -0
  348. package/dist/esm/chunk-B6RH4CTY.js.map +7 -0
  349. package/dist/esm/chunk-BN24ZBO7.js +2 -0
  350. package/dist/esm/chunk-BN24ZBO7.js.map +7 -0
  351. package/dist/esm/chunk-BZ6YBP2S.js +2 -0
  352. package/dist/esm/chunk-BZ6YBP2S.js.map +7 -0
  353. package/dist/esm/chunk-CC4GNSKL.js +2 -0
  354. package/dist/esm/chunk-CC4GNSKL.js.map +7 -0
  355. package/dist/esm/chunk-CHPZ3LNC.js +2 -0
  356. package/dist/esm/chunk-CHPZ3LNC.js.map +7 -0
  357. package/dist/esm/chunk-CRK34MWY.js +2 -0
  358. package/dist/esm/chunk-CRK34MWY.js.map +7 -0
  359. package/dist/esm/{chunk-PAB6HVKC.js → chunk-DFSW4QR4.js} +2 -2
  360. package/dist/esm/chunk-DJFTDR6Y.js +2 -0
  361. package/dist/esm/chunk-DJFTDR6Y.js.map +7 -0
  362. package/dist/esm/{chunk-UI2EFF6F.js → chunk-E3754NJZ.js} +2 -2
  363. package/dist/esm/chunk-EA2XSEFH.js +2 -0
  364. package/dist/esm/chunk-EA2XSEFH.js.map +7 -0
  365. package/dist/esm/{chunk-F2XQYWBE.js → chunk-EHUSLPWN.js} +2 -2
  366. package/dist/esm/chunk-ENPQJYXZ.js +2 -0
  367. package/dist/esm/chunk-ENPQJYXZ.js.map +7 -0
  368. package/dist/esm/chunk-ENSDQ3XQ.js +2 -0
  369. package/dist/esm/chunk-ENSDQ3XQ.js.map +7 -0
  370. package/dist/esm/chunk-EO7WQYFO.js +2 -0
  371. package/dist/esm/chunk-EO7WQYFO.js.map +7 -0
  372. package/dist/esm/chunk-EUSKAXHP.js +2 -0
  373. package/dist/esm/chunk-EUSKAXHP.js.map +7 -0
  374. package/dist/esm/chunk-F3XBIUXB.js +2 -0
  375. package/dist/esm/chunk-F3XBIUXB.js.map +7 -0
  376. package/dist/esm/{chunk-6ERCPRXX.js → chunk-FSKZAL5H.js} +2 -2
  377. package/dist/esm/chunk-GHD3TKCA.js +2 -0
  378. package/dist/esm/chunk-GHD3TKCA.js.map +7 -0
  379. package/dist/esm/chunk-GQBQHGEF.js +2 -0
  380. package/dist/esm/chunk-GQBQHGEF.js.map +7 -0
  381. package/dist/esm/chunk-GTVFQXLJ.js +2 -0
  382. package/dist/esm/chunk-GTVFQXLJ.js.map +7 -0
  383. package/dist/esm/chunk-HIEGLLY7.js +2 -0
  384. package/dist/esm/chunk-HIEGLLY7.js.map +7 -0
  385. package/dist/esm/chunk-HZYE46V2.js +2 -0
  386. package/dist/esm/chunk-HZYE46V2.js.map +7 -0
  387. package/dist/esm/chunk-IF4PYIUV.js +2 -0
  388. package/dist/esm/chunk-IF4PYIUV.js.map +7 -0
  389. package/dist/esm/chunk-IWT3Q2PD.js +2 -0
  390. package/dist/esm/chunk-IWT3Q2PD.js.map +7 -0
  391. package/dist/esm/chunk-JCRBBT4X.js +2 -0
  392. package/dist/esm/chunk-JCRBBT4X.js.map +7 -0
  393. package/dist/esm/{chunk-ZUOK3KFY.js → chunk-K7VO7TND.js} +1 -1
  394. package/dist/esm/{chunk-ZUOK3KFY.js.map → chunk-K7VO7TND.js.map} +2 -2
  395. package/dist/esm/chunk-KFQ4B5YC.js +2 -0
  396. package/dist/esm/chunk-KFQ4B5YC.js.map +7 -0
  397. package/dist/esm/{chunk-DIGT74P3.js → chunk-KPACVWV4.js} +1 -1
  398. package/dist/esm/{chunk-DIGT74P3.js.map → chunk-KPACVWV4.js.map} +2 -2
  399. package/dist/esm/{chunk-MQT3YJKY.js → chunk-KPPIW4OJ.js} +2 -2
  400. package/dist/esm/{chunk-PTEAQFHI.js → chunk-KRXCFIRK.js} +2 -2
  401. package/dist/esm/{chunk-5SQL4ZRC.js → chunk-KSZOVI57.js} +2 -2
  402. package/dist/esm/{chunk-5SQL4ZRC.js.map → chunk-KSZOVI57.js.map} +1 -1
  403. package/dist/esm/chunk-KU3LLWFU.js +2 -0
  404. package/dist/esm/{chunk-UPCRXJB2.js.map → chunk-KU3LLWFU.js.map} +2 -2
  405. package/dist/esm/chunk-MAI7FEU7.js +2 -0
  406. package/dist/esm/chunk-MAI7FEU7.js.map +7 -0
  407. package/dist/esm/chunk-MDHXSEGH.js +2 -0
  408. package/dist/esm/chunk-MDHXSEGH.js.map +7 -0
  409. package/dist/esm/{chunk-2PO6TZ7L.js → chunk-MJEYJI5G.js} +2 -2
  410. package/dist/esm/chunk-MLXHD7YF.js +2 -0
  411. package/dist/esm/chunk-MLXHD7YF.js.map +7 -0
  412. package/dist/esm/chunk-MPN33CKR.js +2 -0
  413. package/dist/esm/chunk-MPN33CKR.js.map +7 -0
  414. package/dist/esm/chunk-MQDZBF4J.js +2 -0
  415. package/dist/esm/chunk-MQDZBF4J.js.map +7 -0
  416. package/dist/esm/chunk-NCDOMH5I.js +2 -0
  417. package/dist/esm/chunk-NCDOMH5I.js.map +7 -0
  418. package/dist/esm/chunk-NFVOEHZS.js +2 -0
  419. package/dist/esm/chunk-NFVOEHZS.js.map +7 -0
  420. package/dist/esm/{chunk-J43ZS6TI.js → chunk-PAQS6C2A.js} +2 -2
  421. package/dist/esm/chunk-PUVZFRTQ.js +2 -0
  422. package/dist/esm/chunk-PUVZFRTQ.js.map +7 -0
  423. package/dist/esm/chunk-Q7S5LQBQ.js +2 -0
  424. package/dist/esm/chunk-Q7S5LQBQ.js.map +7 -0
  425. package/dist/esm/chunk-QAUYOVVL.js +2 -0
  426. package/dist/esm/chunk-QAUYOVVL.js.map +7 -0
  427. package/dist/esm/chunk-QOPRXQGR.js +2 -0
  428. package/dist/esm/chunk-QOPRXQGR.js.map +7 -0
  429. package/dist/esm/{chunk-MLJLEOZ5.js → chunk-R2FUNQTI.js} +2 -2
  430. package/dist/esm/{chunk-MLJLEOZ5.js.map → chunk-R2FUNQTI.js.map} +2 -2
  431. package/dist/esm/chunk-RC7TBVLO.js +2 -0
  432. package/dist/esm/chunk-RC7TBVLO.js.map +7 -0
  433. package/dist/esm/chunk-RJ6SA7AY.js +2 -0
  434. package/dist/esm/chunk-RJ6SA7AY.js.map +7 -0
  435. package/dist/esm/chunk-RSJSVJ6A.js +2 -0
  436. package/dist/esm/chunk-RSJSVJ6A.js.map +7 -0
  437. package/dist/esm/chunk-STMTXK7U.js +2 -0
  438. package/dist/esm/chunk-STMTXK7U.js.map +7 -0
  439. package/dist/esm/chunk-U7PDXTRX.js +2 -0
  440. package/dist/esm/chunk-U7PDXTRX.js.map +7 -0
  441. package/dist/esm/chunk-UNRG6Z5I.js +2 -0
  442. package/dist/esm/chunk-UNRG6Z5I.js.map +7 -0
  443. package/dist/esm/chunk-UONSKZQT.js +2 -0
  444. package/dist/esm/chunk-UONSKZQT.js.map +7 -0
  445. package/dist/esm/{chunk-2IPVLV6B.js → chunk-UQZHW3EJ.js} +2 -2
  446. package/dist/esm/chunk-VIDXAECE.js +2 -0
  447. package/dist/esm/chunk-VIDXAECE.js.map +7 -0
  448. package/dist/esm/chunk-VLLJ7A6P.js +2 -0
  449. package/dist/esm/chunk-VLLJ7A6P.js.map +7 -0
  450. package/dist/esm/{chunk-ELZEAEN2.js → chunk-VT4AAF7Q.js} +2 -2
  451. package/dist/esm/chunk-WKMJIWFP.js +2 -0
  452. package/dist/esm/chunk-WKMJIWFP.js.map +7 -0
  453. package/dist/esm/chunk-XVKFQSLI.js +2 -0
  454. package/dist/esm/chunk-XVKFQSLI.js.map +7 -0
  455. package/dist/esm/chunk-YF3MFME4.js +10 -0
  456. package/dist/esm/chunk-YF3MFME4.js.map +7 -0
  457. package/dist/esm/chunk-YGPUKJEB.js +2 -0
  458. package/dist/esm/chunk-YGPUKJEB.js.map +7 -0
  459. package/dist/esm/{chunk-MD3QCXRD.js → chunk-YVMQWSHA.js} +2 -2
  460. package/dist/esm/{chunk-MD3QCXRD.js.map → chunk-YVMQWSHA.js.map} +2 -2
  461. package/dist/esm/chunk-ZCAI2PRH.js +2 -0
  462. package/dist/esm/chunk-ZCAI2PRH.js.map +7 -0
  463. package/dist/esm/{chunk-S53ZQNHK.js → chunk-ZFBLPW3X.js} +2 -2
  464. package/dist/esm/chunk-ZH2B7WEH.js +2 -0
  465. package/dist/esm/chunk-ZH2B7WEH.js.map +7 -0
  466. package/dist/esm/chunk-ZJZIV2JH.js +2 -0
  467. package/dist/esm/chunk-ZJZIV2JH.js.map +7 -0
  468. package/dist/esm/components/_internal/base-button.d.ts +0 -2
  469. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  470. package/dist/esm/components/_internal/base-button.js +1 -1
  471. package/dist/esm/components/_internal/base-button.props.d.ts +0 -17
  472. package/dist/esm/components/_internal/base-button.props.d.ts.map +1 -1
  473. package/dist/esm/components/_internal/base-button.props.js +1 -1
  474. package/dist/esm/components/_internal/base-checkbox.props.d.ts +1 -1
  475. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  476. package/dist/esm/components/_internal/base-menu.props.d.ts +0 -10
  477. package/dist/esm/components/_internal/base-menu.props.d.ts.map +1 -1
  478. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  479. package/dist/esm/components/_internal/base-menu.utils.d.ts +3 -9
  480. package/dist/esm/components/_internal/base-menu.utils.d.ts.map +1 -1
  481. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  482. package/dist/esm/components/_internal/base-radio.props.d.ts +1 -1
  483. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  484. package/dist/esm/components/_internal/base-tab-list.props.d.ts +0 -5
  485. package/dist/esm/components/_internal/base-tab-list.props.d.ts.map +1 -1
  486. package/dist/esm/components/_internal/base-tab-list.props.js +1 -1
  487. package/dist/esm/components/_internal/menu-context.d.ts +2 -3
  488. package/dist/esm/components/_internal/menu-context.d.ts.map +1 -1
  489. package/dist/esm/components/_internal/menu-context.js +1 -1
  490. package/dist/esm/components/_internal/pane-chrome.d.ts +14 -2
  491. package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
  492. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  493. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  494. package/dist/esm/components/accordion.d.ts.map +1 -1
  495. package/dist/esm/components/accordion.js +1 -1
  496. package/dist/esm/components/accordion.props.d.ts +0 -7
  497. package/dist/esm/components/accordion.props.d.ts.map +1 -1
  498. package/dist/esm/components/accordion.props.js +1 -1
  499. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  500. package/dist/esm/components/alert-dialog.js +1 -1
  501. package/dist/esm/components/alert-dialog.props.d.ts +0 -5
  502. package/dist/esm/components/alert-dialog.props.d.ts.map +1 -1
  503. package/dist/esm/components/alert-dialog.props.js +1 -1
  504. package/dist/esm/components/badge.js +1 -1
  505. package/dist/esm/components/badge.props.d.ts +1 -1
  506. package/dist/esm/components/badge.props.js +1 -1
  507. package/dist/esm/components/button.js +1 -1
  508. package/dist/esm/components/button.props.js +1 -1
  509. package/dist/esm/components/card.d.ts.map +1 -1
  510. package/dist/esm/components/card.js +1 -1
  511. package/dist/esm/components/card.props.d.ts +0 -5
  512. package/dist/esm/components/card.props.d.ts.map +1 -1
  513. package/dist/esm/components/card.props.js +1 -1
  514. package/dist/esm/components/chatbar.d.ts +0 -2
  515. package/dist/esm/components/chatbar.d.ts.map +1 -1
  516. package/dist/esm/components/chatbar.js +1 -1
  517. package/dist/esm/components/checkbox-cards.d.ts.map +1 -1
  518. package/dist/esm/components/checkbox-cards.js +1 -1
  519. package/dist/esm/components/checkbox-cards.props.d.ts +0 -5
  520. package/dist/esm/components/checkbox-cards.props.d.ts.map +1 -1
  521. package/dist/esm/components/checkbox-cards.props.js +1 -1
  522. package/dist/esm/components/checkbox-group.d.ts.map +1 -1
  523. package/dist/esm/components/checkbox-group.js +1 -1
  524. package/dist/esm/components/checkbox-group.props.d.ts +1 -1
  525. package/dist/esm/components/checkbox-group.props.js +1 -1
  526. package/dist/esm/components/checkbox.d.ts.map +1 -1
  527. package/dist/esm/components/checkbox.js +1 -1
  528. package/dist/esm/components/checkbox.props.js +1 -1
  529. package/dist/esm/components/combobox.d.ts.map +1 -1
  530. package/dist/esm/components/combobox.js +1 -1
  531. package/dist/esm/components/combobox.props.d.ts +0 -9
  532. package/dist/esm/components/combobox.props.d.ts.map +1 -1
  533. package/dist/esm/components/combobox.props.js +1 -1
  534. package/dist/esm/components/context-menu.d.ts.map +1 -1
  535. package/dist/esm/components/context-menu.js +1 -1
  536. package/dist/esm/components/context-menu.props.js +1 -1
  537. package/dist/esm/components/data-list.d.ts.map +1 -1
  538. package/dist/esm/components/data-list.js +1 -1
  539. package/dist/esm/components/dialog.d.ts.map +1 -1
  540. package/dist/esm/components/dialog.js +1 -1
  541. package/dist/esm/components/dialog.props.d.ts +0 -5
  542. package/dist/esm/components/dialog.props.d.ts.map +1 -1
  543. package/dist/esm/components/dialog.props.js +1 -1
  544. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  545. package/dist/esm/components/dropdown-menu.js +1 -1
  546. package/dist/esm/components/dropdown-menu.props.js +1 -1
  547. package/dist/esm/components/hover-card.d.ts.map +1 -1
  548. package/dist/esm/components/hover-card.js +1 -1
  549. package/dist/esm/components/icon-button.js +1 -1
  550. package/dist/esm/components/icon-button.props.js +1 -1
  551. package/dist/esm/components/index.js +1 -1
  552. package/dist/esm/components/message-scroller.js +1 -1
  553. package/dist/esm/components/navbar.d.ts.map +1 -1
  554. package/dist/esm/components/navbar.js +1 -1
  555. package/dist/esm/components/notice.d.ts +1 -3
  556. package/dist/esm/components/notice.d.ts.map +1 -1
  557. package/dist/esm/components/notice.js +1 -1
  558. package/dist/esm/components/popover.d.ts.map +1 -1
  559. package/dist/esm/components/popover.js +1 -1
  560. package/dist/esm/components/popover.props.d.ts +0 -5
  561. package/dist/esm/components/popover.props.d.ts.map +1 -1
  562. package/dist/esm/components/popover.props.js +1 -1
  563. package/dist/esm/components/progress.js +1 -1
  564. package/dist/esm/components/progress.props.d.ts +0 -7
  565. package/dist/esm/components/progress.props.d.ts.map +1 -1
  566. package/dist/esm/components/progress.props.js +1 -1
  567. package/dist/esm/components/radio-cards.d.ts.map +1 -1
  568. package/dist/esm/components/radio-cards.js +1 -1
  569. package/dist/esm/components/radio-cards.props.d.ts +0 -5
  570. package/dist/esm/components/radio-cards.props.d.ts.map +1 -1
  571. package/dist/esm/components/radio-cards.props.js +1 -1
  572. package/dist/esm/components/radio-group.d.ts.map +1 -1
  573. package/dist/esm/components/radio-group.js +1 -1
  574. package/dist/esm/components/radio-group.props.d.ts +1 -1
  575. package/dist/esm/components/radio-group.props.js +1 -1
  576. package/dist/esm/components/radio.d.ts.map +1 -1
  577. package/dist/esm/components/radio.js +1 -1
  578. package/dist/esm/components/radio.props.js +1 -1
  579. package/dist/esm/components/schemas/base-button.schema.d.ts +0 -4
  580. package/dist/esm/components/schemas/base-button.schema.d.ts.map +1 -1
  581. package/dist/esm/components/schemas/base-button.schema.js +1 -1
  582. package/dist/esm/components/schemas/button.schema.d.ts +0 -4
  583. package/dist/esm/components/schemas/button.schema.d.ts.map +1 -1
  584. package/dist/esm/components/schemas/button.schema.js +1 -1
  585. package/dist/esm/components/schemas/icon-button.schema.d.ts +0 -4
  586. package/dist/esm/components/schemas/icon-button.schema.d.ts.map +1 -1
  587. package/dist/esm/components/schemas/icon-button.schema.js +1 -1
  588. package/dist/esm/components/schemas/index.js +1 -1
  589. package/dist/esm/components/schemas/toggle-button.schema.d.ts +0 -4
  590. package/dist/esm/components/schemas/toggle-button.schema.d.ts.map +1 -1
  591. package/dist/esm/components/schemas/toggle-button.schema.js +1 -1
  592. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +0 -4
  593. package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts.map +1 -1
  594. package/dist/esm/components/schemas/toggle-icon-button.schema.js +1 -1
  595. package/dist/esm/components/scroll-area.d.ts.map +1 -1
  596. package/dist/esm/components/scroll-area.js +1 -1
  597. package/dist/esm/components/scroll-area.props.d.ts +0 -7
  598. package/dist/esm/components/scroll-area.props.d.ts.map +1 -1
  599. package/dist/esm/components/scroll-area.props.js +1 -1
  600. package/dist/esm/components/segmented-control.d.ts.map +1 -1
  601. package/dist/esm/components/segmented-control.js +1 -1
  602. package/dist/esm/components/segmented-control.props.d.ts +0 -4
  603. package/dist/esm/components/segmented-control.props.d.ts.map +1 -1
  604. package/dist/esm/components/segmented-control.props.js +1 -1
  605. package/dist/esm/components/select.d.ts.map +1 -1
  606. package/dist/esm/components/select.js +1 -1
  607. package/dist/esm/components/select.props.d.ts +0 -4
  608. package/dist/esm/components/select.props.d.ts.map +1 -1
  609. package/dist/esm/components/select.props.js +1 -1
  610. package/dist/esm/components/separator.js +1 -1
  611. package/dist/esm/components/separator.props.d.ts +0 -7
  612. package/dist/esm/components/separator.props.d.ts.map +1 -1
  613. package/dist/esm/components/separator.props.js +1 -1
  614. package/dist/esm/components/sheet.d.ts +0 -1
  615. package/dist/esm/components/sheet.d.ts.map +1 -1
  616. package/dist/esm/components/sheet.js +1 -1
  617. package/dist/esm/components/shell.d.ts +1 -1
  618. package/dist/esm/components/shell.d.ts.map +1 -1
  619. package/dist/esm/components/shell.js +1 -1
  620. package/dist/esm/components/sidebar.js +1 -1
  621. package/dist/esm/components/slider.d.ts.map +1 -1
  622. package/dist/esm/components/slider.js +1 -1
  623. package/dist/esm/components/spinner.js +1 -1
  624. package/dist/esm/components/spinner.props.d.ts +0 -7
  625. package/dist/esm/components/spinner.props.d.ts.map +1 -1
  626. package/dist/esm/components/spinner.props.js +1 -1
  627. package/dist/esm/components/switch.d.ts.map +1 -1
  628. package/dist/esm/components/switch.js +1 -1
  629. package/dist/esm/components/switch.props.d.ts.map +1 -1
  630. package/dist/esm/components/switch.props.js +1 -1
  631. package/dist/esm/components/tab-nav.d.ts.map +1 -1
  632. package/dist/esm/components/tab-nav.js +1 -1
  633. package/dist/esm/components/tab-nav.props.js +1 -1
  634. package/dist/esm/components/table.d.ts.map +1 -1
  635. package/dist/esm/components/table.js +1 -1
  636. package/dist/esm/components/table.props.d.ts +1 -1
  637. package/dist/esm/components/table.props.js +1 -1
  638. package/dist/esm/components/tabs.d.ts.map +1 -1
  639. package/dist/esm/components/tabs.js +1 -1
  640. package/dist/esm/components/tabs.props.js +1 -1
  641. package/dist/esm/components/text-area.d.ts.map +1 -1
  642. package/dist/esm/components/text-area.js +1 -1
  643. package/dist/esm/components/text-area.props.d.ts +0 -5
  644. package/dist/esm/components/text-area.props.d.ts.map +1 -1
  645. package/dist/esm/components/text-area.props.js +1 -1
  646. package/dist/esm/components/text-field.d.ts.map +1 -1
  647. package/dist/esm/components/text-field.js +1 -1
  648. package/dist/esm/components/text-field.props.d.ts +0 -5
  649. package/dist/esm/components/text-field.props.d.ts.map +1 -1
  650. package/dist/esm/components/text-field.props.js +1 -1
  651. package/dist/esm/components/theme-panel.d.ts.map +1 -1
  652. package/dist/esm/components/theme-panel.js +1 -1
  653. package/dist/esm/components/theme.d.ts +3 -6
  654. package/dist/esm/components/theme.d.ts.map +1 -1
  655. package/dist/esm/components/theme.js +1 -1
  656. package/dist/esm/components/theme.props.d.ts +12 -19
  657. package/dist/esm/components/theme.props.d.ts.map +1 -1
  658. package/dist/esm/components/theme.props.js +1 -1
  659. package/dist/esm/components/toggle-button.js +1 -1
  660. package/dist/esm/components/toggle-icon-button.js +1 -1
  661. package/dist/esm/components/toolbar.d.ts.map +1 -1
  662. package/dist/esm/components/toolbar.js +1 -1
  663. package/dist/esm/components/toolbar.props.d.ts +2 -1
  664. package/dist/esm/components/toolbar.props.d.ts.map +1 -1
  665. package/dist/esm/components/toolbar.props.js +1 -1
  666. package/dist/esm/components/tooltip.js +1 -1
  667. package/dist/esm/components/virtual-menu.d.ts.map +1 -1
  668. package/dist/esm/components/virtual-menu.js +1 -1
  669. package/dist/esm/helpers/index.d.ts +1 -0
  670. package/dist/esm/helpers/index.d.ts.map +1 -1
  671. package/dist/esm/helpers/index.js +1 -1
  672. package/dist/esm/helpers/map-prop-values.d.ts +1 -4
  673. package/dist/esm/helpers/map-prop-values.d.ts.map +1 -1
  674. package/dist/esm/helpers/map-prop-values.js +1 -1
  675. package/dist/esm/helpers/theme-size.d.ts +41 -0
  676. package/dist/esm/helpers/theme-size.d.ts.map +1 -0
  677. package/dist/esm/helpers/theme-size.js +2 -0
  678. package/dist/esm/helpers/theme-size.js.map +7 -0
  679. package/dist/esm/index.js +1 -1
  680. package/dist/esm/props/index.js +1 -1
  681. package/layout/components.css +48 -48
  682. package/layout/tokens.css +79 -31
  683. package/layout.css +127 -79
  684. package/package.json +2 -1
  685. package/schemas/base-button.json +0 -8
  686. package/schemas/button.json +0 -8
  687. package/schemas/icon-button.json +0 -8
  688. package/schemas/index.json +0 -40
  689. package/schemas/toggle-button.json +0 -8
  690. package/schemas/toggle-icon-button.json +0 -8
  691. package/src/components/_internal/base-button.css +130 -175
  692. package/src/components/_internal/base-button.props.ts +0 -26
  693. package/src/components/_internal/base-button.tsx +47 -14
  694. package/src/components/_internal/base-card.css +32 -194
  695. package/src/components/_internal/base-checkbox.css +104 -58
  696. package/src/components/_internal/base-checkbox.props.ts +1 -1
  697. package/src/components/_internal/base-dialog.css +13 -45
  698. package/src/components/_internal/base-menu.css +24 -57
  699. package/src/components/_internal/base-menu.props.ts +0 -8
  700. package/src/components/_internal/base-menu.utils.tsx +4 -15
  701. package/src/components/_internal/base-radio.css +79 -54
  702. package/src/components/_internal/base-radio.props.ts +1 -1
  703. package/src/components/_internal/base-sidebar-menu.css +21 -19
  704. package/src/components/_internal/base-sidebar.css +2 -3
  705. package/src/components/_internal/base-tab-list.css +39 -78
  706. package/src/components/_internal/base-tab-list.props.ts +0 -3
  707. package/src/components/_internal/menu-context.tsx +6 -10
  708. package/src/components/_internal/pane-chrome.tsx +40 -8
  709. package/src/components/accordion.css +17 -263
  710. package/src/components/accordion.props.tsx +0 -4
  711. package/src/components/accordion.tsx +4 -5
  712. package/src/components/alert-dialog.props.tsx +0 -4
  713. package/src/components/alert-dialog.tsx +1 -14
  714. package/src/components/avatar.css +35 -67
  715. package/src/components/badge.css +27 -49
  716. package/src/components/badge.props.tsx +1 -1
  717. package/src/components/blockquote.css +2 -2
  718. package/src/components/button.css +5 -175
  719. package/src/components/card.props.tsx +0 -3
  720. package/src/components/card.tsx +1 -3
  721. package/src/components/chatbar.css +44 -124
  722. package/src/components/chatbar.tsx +10 -11
  723. package/src/components/checkbox-cards.css +11 -11
  724. package/src/components/checkbox-cards.props.tsx +0 -3
  725. package/src/components/checkbox-cards.tsx +0 -5
  726. package/src/components/checkbox-group.css +7 -12
  727. package/src/components/checkbox-group.tsx +3 -1
  728. package/src/components/checkbox.css +6 -11
  729. package/src/components/checkbox.tsx +3 -1
  730. package/src/components/combobox.css +4 -9
  731. package/src/components/combobox.props.tsx +0 -5
  732. package/src/components/combobox.tsx +4 -12
  733. package/src/components/context-menu.tsx +9 -20
  734. package/src/components/data-list.css +4 -4
  735. package/src/components/data-list.tsx +3 -1
  736. package/src/components/dialog.css +0 -12
  737. package/src/components/dialog.props.tsx +0 -3
  738. package/src/components/dialog.tsx +1 -14
  739. package/src/components/dropdown-menu.css +1 -1
  740. package/src/components/dropdown-menu.tsx +8 -20
  741. package/src/components/hover-card.css +3 -3
  742. package/src/components/hover-card.tsx +3 -1
  743. package/src/components/icon-button.css +4 -152
  744. package/src/components/image.css +1 -1
  745. package/src/components/kbd.css +14 -14
  746. package/src/components/message-scroller.css +1 -1
  747. package/src/components/message-scroller.tsx +1 -1
  748. package/src/components/navbar.css +6 -6
  749. package/src/components/navbar.tsx +3 -1
  750. package/src/components/notice.css +9 -15
  751. package/src/components/notice.tsx +8 -7
  752. package/src/components/popover.css +15 -37
  753. package/src/components/popover.props.tsx +0 -3
  754. package/src/components/popover.tsx +3 -6
  755. package/src/components/progress.css +4 -106
  756. package/src/components/progress.props.tsx +0 -3
  757. package/src/components/radio-cards.css +6 -6
  758. package/src/components/radio-cards.props.tsx +0 -3
  759. package/src/components/radio-cards.tsx +0 -5
  760. package/src/components/radio-group.css +1 -1
  761. package/src/components/radio-group.props.tsx +1 -1
  762. package/src/components/radio-group.tsx +3 -1
  763. package/src/components/radio.tsx +3 -1
  764. package/src/components/schemas/base-button.schema.ts +0 -9
  765. package/src/components/scroll-area.css +13 -34
  766. package/src/components/scroll-area.props.tsx +0 -3
  767. package/src/components/scroll-area.tsx +2 -18
  768. package/src/components/section.css +8 -8
  769. package/src/components/segmented-control.css +47 -83
  770. package/src/components/segmented-control.props.tsx +0 -2
  771. package/src/components/segmented-control.tsx +3 -5
  772. package/src/components/select.css +87 -424
  773. package/src/components/select.props.tsx +0 -2
  774. package/src/components/select.tsx +4 -4
  775. package/src/components/separator.css +2 -23
  776. package/src/components/separator.props.tsx +0 -3
  777. package/src/components/sheet.css +0 -11
  778. package/src/components/sheet.tsx +1 -18
  779. package/src/components/shell.css +45 -30
  780. package/src/components/shell.tsx +8 -2
  781. package/src/components/sidebar.css +108 -198
  782. package/src/components/skeleton.css +1 -1
  783. package/src/components/slider.css +35 -98
  784. package/src/components/slider.tsx +3 -1
  785. package/src/components/spinner.css +2 -23
  786. package/src/components/spinner.props.tsx +0 -4
  787. package/src/components/switch.css +56 -49
  788. package/src/components/switch.props.tsx +0 -8
  789. package/src/components/switch.tsx +3 -1
  790. package/src/components/tab-nav.tsx +4 -4
  791. package/src/components/table.css +10 -18
  792. package/src/components/table.props.tsx +1 -1
  793. package/src/components/table.tsx +3 -1
  794. package/src/components/tabs.css +2 -1
  795. package/src/components/tabs.tsx +4 -4
  796. package/src/components/text-area.css +71 -236
  797. package/src/components/text-area.props.tsx +0 -3
  798. package/src/components/text-area.tsx +9 -9
  799. package/src/components/text-field.css +136 -342
  800. package/src/components/text-field.props.tsx +0 -3
  801. package/src/components/text-field.tsx +9 -9
  802. package/src/components/theme-panel.css +4 -4
  803. package/src/components/theme-panel.tsx +19 -236
  804. package/src/components/theme.props.tsx +10 -15
  805. package/src/components/theme.tsx +86 -106
  806. package/src/components/toolbar.css +9 -9
  807. package/src/components/toolbar.props.tsx +2 -1
  808. package/src/components/toolbar.tsx +7 -2
  809. package/src/components/tooltip.css +1 -1
  810. package/src/components/virtual-menu.tsx +2 -4
  811. package/src/helpers/index.ts +1 -0
  812. package/src/helpers/map-prop-values.ts +1 -18
  813. package/src/helpers/theme-size.ts +73 -0
  814. package/src/styles/tokens/base.css +0 -2
  815. package/src/styles/tokens/color.css +4 -32
  816. package/src/styles/tokens/constants.css +27 -51
  817. package/src/styles/tokens/layout.css +1 -1
  818. package/src/styles/tokens/radius.css +24 -24
  819. package/src/styles/tokens/space.css +107 -24
  820. package/src/styles/tokens/typography.css +39 -39
  821. package/styles.css +3091 -5296
  822. package/tokens/base.css +243 -283
  823. package/tokens.css +268 -318
  824. package/dist/esm/chunk-23WDP4JG.js +0 -2
  825. package/dist/esm/chunk-23WDP4JG.js.map +0 -7
  826. package/dist/esm/chunk-2IWL4V4H.js +0 -2
  827. package/dist/esm/chunk-2IWL4V4H.js.map +0 -7
  828. package/dist/esm/chunk-2MYYU7ST.js +0 -2
  829. package/dist/esm/chunk-2MYYU7ST.js.map +0 -7
  830. package/dist/esm/chunk-2NNB4ZZ5.js +0 -2
  831. package/dist/esm/chunk-2NNB4ZZ5.js.map +0 -7
  832. package/dist/esm/chunk-2NNCZM7P.js +0 -2
  833. package/dist/esm/chunk-2NNCZM7P.js.map +0 -7
  834. package/dist/esm/chunk-2XSRO44Q.js +0 -2
  835. package/dist/esm/chunk-2XSRO44Q.js.map +0 -7
  836. package/dist/esm/chunk-3KB2XWBE.js +0 -2
  837. package/dist/esm/chunk-3KB2XWBE.js.map +0 -7
  838. package/dist/esm/chunk-3PT3AOD5.js +0 -2
  839. package/dist/esm/chunk-3PT3AOD5.js.map +0 -7
  840. package/dist/esm/chunk-4D7OU2UA.js +0 -2
  841. package/dist/esm/chunk-4D7OU2UA.js.map +0 -7
  842. package/dist/esm/chunk-4EBCFKNC.js +0 -2
  843. package/dist/esm/chunk-4EBCFKNC.js.map +0 -7
  844. package/dist/esm/chunk-5GYIQIPW.js +0 -2
  845. package/dist/esm/chunk-5GYIQIPW.js.map +0 -7
  846. package/dist/esm/chunk-5PG5YGIW.js +0 -2
  847. package/dist/esm/chunk-5PG5YGIW.js.map +0 -7
  848. package/dist/esm/chunk-5RHODJDJ.js +0 -2
  849. package/dist/esm/chunk-5RHODJDJ.js.map +0 -7
  850. package/dist/esm/chunk-7BE6N3KY.js +0 -2
  851. package/dist/esm/chunk-7BE6N3KY.js.map +0 -7
  852. package/dist/esm/chunk-BALS3AVM.js +0 -2
  853. package/dist/esm/chunk-BALS3AVM.js.map +0 -7
  854. package/dist/esm/chunk-BDOMLGLZ.js +0 -2
  855. package/dist/esm/chunk-BDOMLGLZ.js.map +0 -7
  856. package/dist/esm/chunk-CAUFRKTK.js +0 -2
  857. package/dist/esm/chunk-CAUFRKTK.js.map +0 -7
  858. package/dist/esm/chunk-CJ4UZDW5.js +0 -2
  859. package/dist/esm/chunk-CJ4UZDW5.js.map +0 -7
  860. package/dist/esm/chunk-DD5QHU6R.js +0 -2
  861. package/dist/esm/chunk-DD5QHU6R.js.map +0 -7
  862. package/dist/esm/chunk-DDYII5NA.js +0 -2
  863. package/dist/esm/chunk-DDYII5NA.js.map +0 -7
  864. package/dist/esm/chunk-DQTJMIRO.js +0 -2
  865. package/dist/esm/chunk-DQTJMIRO.js.map +0 -7
  866. package/dist/esm/chunk-E5DJILUI.js +0 -2
  867. package/dist/esm/chunk-E5DJILUI.js.map +0 -7
  868. package/dist/esm/chunk-EJG2UNTM.js +0 -2
  869. package/dist/esm/chunk-EJG2UNTM.js.map +0 -7
  870. package/dist/esm/chunk-FK6F6ROH.js +0 -2
  871. package/dist/esm/chunk-FK6F6ROH.js.map +0 -7
  872. package/dist/esm/chunk-HI3JY3DJ.js +0 -2
  873. package/dist/esm/chunk-HI3JY3DJ.js.map +0 -7
  874. package/dist/esm/chunk-HKRQ3E3I.js +0 -2
  875. package/dist/esm/chunk-HKRQ3E3I.js.map +0 -7
  876. package/dist/esm/chunk-HVQ3SLQC.js +0 -2
  877. package/dist/esm/chunk-HVQ3SLQC.js.map +0 -7
  878. package/dist/esm/chunk-IMYZP5OY.js +0 -2
  879. package/dist/esm/chunk-IMYZP5OY.js.map +0 -7
  880. package/dist/esm/chunk-IYXR46Q6.js +0 -5
  881. package/dist/esm/chunk-IYXR46Q6.js.map +0 -7
  882. package/dist/esm/chunk-JGB6LNTP.js +0 -2
  883. package/dist/esm/chunk-JGB6LNTP.js.map +0 -7
  884. package/dist/esm/chunk-JLHJHYVQ.js +0 -2
  885. package/dist/esm/chunk-JLHJHYVQ.js.map +0 -7
  886. package/dist/esm/chunk-K7J23OPW.js +0 -2
  887. package/dist/esm/chunk-K7J23OPW.js.map +0 -7
  888. package/dist/esm/chunk-LRFAOQK6.js +0 -2
  889. package/dist/esm/chunk-LRFAOQK6.js.map +0 -7
  890. package/dist/esm/chunk-LXSARUXD.js +0 -2
  891. package/dist/esm/chunk-LXSARUXD.js.map +0 -7
  892. package/dist/esm/chunk-MGSHX5N5.js +0 -2
  893. package/dist/esm/chunk-MGSHX5N5.js.map +0 -7
  894. package/dist/esm/chunk-MNC2O6QW.js +0 -2
  895. package/dist/esm/chunk-MOMYWKIO.js +0 -2
  896. package/dist/esm/chunk-MOMYWKIO.js.map +0 -7
  897. package/dist/esm/chunk-MVW2SY4F.js +0 -2
  898. package/dist/esm/chunk-MVW2SY4F.js.map +0 -7
  899. package/dist/esm/chunk-PRRJ4WRE.js +0 -2
  900. package/dist/esm/chunk-PRRJ4WRE.js.map +0 -7
  901. package/dist/esm/chunk-PSS45RHX.js +0 -2
  902. package/dist/esm/chunk-PSS45RHX.js.map +0 -7
  903. package/dist/esm/chunk-QE2EF7A7.js +0 -2
  904. package/dist/esm/chunk-QE2EF7A7.js.map +0 -7
  905. package/dist/esm/chunk-QJFAGWBO.js +0 -2
  906. package/dist/esm/chunk-QJFAGWBO.js.map +0 -7
  907. package/dist/esm/chunk-QJSSCW3B.js +0 -2
  908. package/dist/esm/chunk-QJSSCW3B.js.map +0 -7
  909. package/dist/esm/chunk-QPNYHS6A.js +0 -2
  910. package/dist/esm/chunk-QPNYHS6A.js.map +0 -7
  911. package/dist/esm/chunk-QWFFYUFH.js +0 -2
  912. package/dist/esm/chunk-QWFFYUFH.js.map +0 -7
  913. package/dist/esm/chunk-RA4U6VVZ.js +0 -2
  914. package/dist/esm/chunk-RA4U6VVZ.js.map +0 -7
  915. package/dist/esm/chunk-RVHKSNMJ.js +0 -2
  916. package/dist/esm/chunk-RVHKSNMJ.js.map +0 -7
  917. package/dist/esm/chunk-RYURXQLJ.js +0 -2
  918. package/dist/esm/chunk-RYURXQLJ.js.map +0 -7
  919. package/dist/esm/chunk-UA6FP7HS.js +0 -2
  920. package/dist/esm/chunk-ULSNYQOY.js +0 -2
  921. package/dist/esm/chunk-ULSNYQOY.js.map +0 -7
  922. package/dist/esm/chunk-UPCRXJB2.js +0 -2
  923. package/dist/esm/chunk-URLG45A4.js +0 -2
  924. package/dist/esm/chunk-URLG45A4.js.map +0 -7
  925. package/dist/esm/chunk-UZS3BA2Z.js +0 -2
  926. package/dist/esm/chunk-UZS3BA2Z.js.map +0 -7
  927. package/dist/esm/chunk-V7UP4SLZ.js +0 -2
  928. package/dist/esm/chunk-V7UP4SLZ.js.map +0 -7
  929. package/dist/esm/chunk-W7VAP3WE.js +0 -2
  930. package/dist/esm/chunk-W7VAP3WE.js.map +0 -7
  931. package/dist/esm/chunk-WGNIFXUE.js +0 -2
  932. package/dist/esm/chunk-WGNIFXUE.js.map +0 -7
  933. package/dist/esm/chunk-WNSG5P3U.js +0 -2
  934. package/dist/esm/chunk-WNSG5P3U.js.map +0 -7
  935. package/dist/esm/chunk-X3UTLDGG.js +0 -2
  936. package/dist/esm/chunk-X3UTLDGG.js.map +0 -7
  937. package/dist/esm/chunk-XCDXQLWS.js +0 -2
  938. package/dist/esm/chunk-XCDXQLWS.js.map +0 -7
  939. package/dist/esm/chunk-XKAWVGBL.js +0 -2
  940. package/dist/esm/chunk-XKAWVGBL.js.map +0 -7
  941. package/dist/esm/chunk-XPRPYCII.js +0 -2
  942. package/dist/esm/chunk-XPRPYCII.js.map +0 -7
  943. package/dist/esm/chunk-Y3FVBAN2.js +0 -2
  944. package/dist/esm/chunk-Y3FVBAN2.js.map +0 -7
  945. package/dist/esm/chunk-YKGLZEXX.js +0 -2
  946. package/dist/esm/chunk-YKGLZEXX.js.map +0 -7
  947. package/dist/esm/chunk-YSHEXVBI.js +0 -10
  948. package/dist/esm/chunk-YSHEXVBI.js.map +0 -7
  949. package/dist/esm/chunk-Z2LGVLUB.js +0 -2
  950. package/dist/esm/chunk-Z2LGVLUB.js.map +0 -7
  951. package/src/styles/tokens/blur.css +0 -63
  952. package/src/styles/tokens/opacity.css +0 -32
  953. package/src/styles/tokens/scaling.css +0 -17
  954. /package/dist/esm/{chunk-XZ5XZS5O.js.map → chunk-35HNDWWM.js.map} +0 -0
  955. /package/dist/esm/{chunk-R4CN4Q3G.js.map → chunk-534LGOWC.js.map} +0 -0
  956. /package/dist/esm/{chunk-7UW7D77E.js.map → chunk-5UU2IMGX.js.map} +0 -0
  957. /package/dist/esm/{chunk-Y4IB7KDZ.js.map → chunk-7FZPCM7W.js.map} +0 -0
  958. /package/dist/esm/{chunk-UA6FP7HS.js.map → chunk-ABS275QZ.js.map} +0 -0
  959. /package/dist/esm/{chunk-PAB6HVKC.js.map → chunk-DFSW4QR4.js.map} +0 -0
  960. /package/dist/esm/{chunk-UI2EFF6F.js.map → chunk-E3754NJZ.js.map} +0 -0
  961. /package/dist/esm/{chunk-F2XQYWBE.js.map → chunk-EHUSLPWN.js.map} +0 -0
  962. /package/dist/esm/{chunk-6ERCPRXX.js.map → chunk-FSKZAL5H.js.map} +0 -0
  963. /package/dist/esm/{chunk-MQT3YJKY.js.map → chunk-KPPIW4OJ.js.map} +0 -0
  964. /package/dist/esm/{chunk-PTEAQFHI.js.map → chunk-KRXCFIRK.js.map} +0 -0
  965. /package/dist/esm/{chunk-2PO6TZ7L.js.map → chunk-MJEYJI5G.js.map} +0 -0
  966. /package/dist/esm/{chunk-J43ZS6TI.js.map → chunk-PAQS6C2A.js.map} +0 -0
  967. /package/dist/esm/{chunk-2IPVLV6B.js.map → chunk-UQZHW3EJ.js.map} +0 -0
  968. /package/dist/esm/{chunk-ELZEAEN2.js.map → chunk-VT4AAF7Q.js.map} +0 -0
  969. /package/dist/esm/{chunk-S53ZQNHK.js.map → chunk-ZFBLPW3X.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{a as p}from"./chunk-RJ6SA7AY.js";import{a as o}from"./chunk-UBSLEGQZ.js";import{a as e}from"./chunk-GSTOGDAJ.js";import*as r from"react";import P from"classnames";import{Slot as c}from"radix-ui";var C=r.forwardRef((t,s)=>{let{asChild:a,className:m,flush:d,inset:n,...f}=o(t,p,e),i=a?c.Root:"div";return r.createElement(i,{ref:s,...f,"data-flush":d?"true":void 0,"data-inset":n?"true":void 0,className:P("rt-reset","rt-BaseCard","rt-Card",m)})});C.displayName="Card";export{C as a};
2
+ //# sourceMappingURL=chunk-2CNQGDY3.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/card.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from 'radix-ui';\n\nimport { cardPropDefs } from './card.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 CardElement = React.ElementRef<'div'>;\ntype CardOwnProps = GetPropDefTypes<typeof cardPropDefs>;\ninterface CardProps extends ComponentPropsWithout<'div', RemovedProps>, MarginProps, CardOwnProps {}\nconst Card = React.forwardRef<CardElement, CardProps>((props, forwardedRef) => {\n const { asChild, className, material, flush, inset, ...cardProps } = extractProps(\n props,\n cardPropDefs,\n marginPropDefs,\n );\n const effectiveMaterial = material;\n const Comp = asChild ? Slot.Root : 'div';\n return (\n <Comp\n ref={forwardedRef}\n {...cardProps}\n data-material={effectiveMaterial}\n data-flush={flush ? 'true' : undefined}\n data-inset={inset ? 'true' : undefined}\n className={classNames('rt-reset', 'rt-BaseCard', 'rt-Card', className)}\n />\n );\n});\nCard.displayName = 'Card';\n\nexport { Card };\nexport type { CardProps };\n"],
5
- "mappings": "wHAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,QAAAC,MAAY,WAarB,IAAMC,EAAa,aAAmC,CAACC,EAAOC,IAAiB,CAC7E,GAAM,CAAE,QAAAC,EAAS,UAAAC,EAAW,SAAAC,EAAU,MAAAC,EAAO,MAAAC,EAAO,GAAGC,CAAU,EAAIC,EACnER,EACAS,EACAC,CACF,EACMC,EAAoBP,EACpBQ,EAAOV,EAAUW,EAAK,KAAO,MACnC,OACE,gBAACD,EAAA,CACC,IAAKX,EACJ,GAAGM,EACJ,gBAAeI,EACf,aAAYN,EAAQ,OAAS,OAC7B,aAAYC,EAAQ,OAAS,OAC7B,UAAWQ,EAAW,WAAY,cAAe,UAAWX,CAAS,EACvE,CAEJ,CAAC,EACDJ,EAAK,YAAc",
6
- "names": ["React", "classNames", "Slot", "Card", "props", "forwardedRef", "asChild", "className", "material", "flush", "inset", "cardProps", "extractProps", "cardPropDefs", "marginPropDefs", "effectiveMaterial", "Comp", "Slot", "classNames"]
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from 'radix-ui';\n\nimport { cardPropDefs } from './card.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 CardElement = React.ElementRef<'div'>;\ntype CardOwnProps = GetPropDefTypes<typeof cardPropDefs>;\ninterface CardProps extends ComponentPropsWithout<'div', RemovedProps>, MarginProps, CardOwnProps {}\nconst Card = React.forwardRef<CardElement, CardProps>((props, forwardedRef) => {\n const { asChild, className, flush, inset, ...cardProps } = extractProps(\n props,\n cardPropDefs,\n marginPropDefs,\n );\n const Comp = asChild ? Slot.Root : 'div';\n return (\n <Comp\n ref={forwardedRef}\n {...cardProps}\n data-flush={flush ? 'true' : undefined}\n data-inset={inset ? 'true' : undefined}\n className={classNames('rt-reset', 'rt-BaseCard', 'rt-Card', className)}\n />\n );\n});\nCard.displayName = 'Card';\n\nexport { Card };\nexport type { CardProps };\n"],
5
+ "mappings": "wHAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,QAAAC,MAAY,WAarB,IAAMC,EAAa,aAAmC,CAACC,EAAOC,IAAiB,CAC7E,GAAM,CAAE,QAAAC,EAAS,UAAAC,EAAW,MAAAC,EAAO,MAAAC,EAAO,GAAGC,CAAU,EAAIC,EACzDP,EACAQ,EACAC,CACF,EACMC,EAAOR,EAAUS,EAAK,KAAO,MACnC,OACE,gBAACD,EAAA,CACC,IAAKT,EACJ,GAAGK,EACJ,aAAYF,EAAQ,OAAS,OAC7B,aAAYC,EAAQ,OAAS,OAC7B,UAAWO,EAAW,WAAY,cAAe,UAAWT,CAAS,EACvE,CAEJ,CAAC,EACDJ,EAAK,YAAc",
6
+ "names": ["React", "classNames", "Slot", "Card", "props", "forwardedRef", "asChild", "className", "flush", "inset", "cardProps", "extractProps", "cardPropDefs", "marginPropDefs", "Comp", "Slot", "classNames"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk-MDHXSEGH.js";var o={...e};export{o as a};
2
+ //# sourceMappingURL=chunk-2O3WL25H.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/alert-dialog.props.tsx"],
4
+ "sourcesContent": ["import { dialogContentPropDefs } from './dialog.props.js';\nimport type { PropDef, GetPropDefTypes } from '../props/prop-def.js';\n\nconst alertDialogContentPropDefs = {\n ...dialogContentPropDefs,\n} satisfies {\n align: PropDef<'start' | 'center'>;\n size: PropDef<'1' | '2' | '3' | '4'>;\n width: PropDef<string>;\n minWidth: PropDef<string>;\n maxWidth: PropDef<string>;\n};\n\ntype AlertDialogContentOwnProps = GetPropDefTypes<typeof alertDialogContentPropDefs>;\n\nexport { alertDialogContentPropDefs };\nexport type { AlertDialogContentOwnProps };\n"],
5
+ "mappings": "wCAGA,IAAMA,EAA6B,CACjC,GAAGC,CACL",
6
+ "names": ["alertDialogContentPropDefs", "dialogContentPropDefs"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as t}from"./chunk-3KB2XWBE.js";import{a as r}from"./chunk-7CBZFHSQ.js";import{a as s}from"./chunk-UBSLEGQZ.js";import{a}from"./chunk-GSTOGDAJ.js";import*as e from"react";import c from"classnames";var d=e.forwardRef((i,o)=>{let{className:m,children:n,loading:f,...l}=s(i,t,a);if(!f)return n;let p=e.createElement("span",{...l,ref:o,className:c("rt-Spinner",m)},e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}));return n===void 0?p:e.createElement(r,{asChild:!0,position:"relative",align:"center",justify:"center"},e.createElement("span",null,e.createElement("span",{"aria-hidden":!0,style:{display:"contents",visibility:"hidden"},inert:void 0},n),e.createElement(r,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},e.createElement("span",null,p))))});d.displayName="Spinner";export{d as a};
2
- //# sourceMappingURL=chunk-XZ5XZS5O.js.map
1
+ import{a as t}from"./chunk-HIEGLLY7.js";import{a as r}from"./chunk-7CBZFHSQ.js";import{a as s}from"./chunk-UBSLEGQZ.js";import{a}from"./chunk-GSTOGDAJ.js";import*as e from"react";import c from"classnames";var d=e.forwardRef((i,o)=>{let{className:m,children:n,loading:f,...l}=s(i,t,a);if(!f)return n;let p=e.createElement("span",{...l,ref:o,className:c("rt-Spinner",m)},e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}));return n===void 0?p:e.createElement(r,{asChild:!0,position:"relative",align:"center",justify:"center"},e.createElement("span",null,e.createElement("span",{"aria-hidden":!0,style:{display:"contents",visibility:"hidden"},inert:void 0},n),e.createElement(r,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},e.createElement("span",null,p))))});d.displayName="Spinner";export{d as a};
2
+ //# sourceMappingURL=chunk-35HNDWWM.js.map
@@ -0,0 +1,2 @@
1
+ import*as r from"react";var a="2",u=r.createContext(a);u.displayName="ThemeSizeContext";function f(e,t){if(t.includes(e))return e;let n=Number(e),i=t[0],s=1/0;for(let o=0;o<t.length;o++){let c=Math.abs(Number(t[o])-n);c<s&&(s=c,i=t[o])}return i}function m(e,t){let n=r.useContext(u);return e!==void 0?e:f(n,t.values)}function z(e,t){let n=r.useContext(u);if(e.size!==void 0)return e;let i=f(n,t.values);return i===t.default?e:{...e,size:i}}export{a,u as b,f as c,m as d,z as e};
2
+ //# sourceMappingURL=chunk-3YLYGKFB.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/helpers/theme-size.ts"],
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\n\ntype ThemeSize = '1' | '2' | '3' | '4';\n\n/** The rest of the 1-4 index when no Theme states a size. */\nconst THEME_SIZE_DEFAULT: ThemeSize = '2';\n\n/**\n * The app-wide size index, provided by `Theme` beside `ThemeContext`.\n *\n * It is its own context, holding one string, so a component that only needs\n * the size does not re-render when the accent colour or appearance changes.\n */\nconst ThemeSizeContext = React.createContext<ThemeSize>(THEME_SIZE_DEFAULT);\nThemeSizeContext.displayName = 'ThemeSizeContext';\n\ninterface SizePropDef {\n values: readonly string[];\n default?: string;\n}\n\n/**\n * Maps the theme size onto a component's own range: the value itself when the\n * component has it, otherwise the nearest end of the range (`4` on a 1-3 scale\n * is `3`, on a 1-2 scale it is `2`).\n */\nfunction clampSize(size: ThemeSize, values: readonly string[]): string {\n if (values.includes(size)) return size;\n const n = Number(size);\n let nearest = values[0];\n let distance = Infinity;\n for (let i = 0; i < values.length; i++) {\n const d = Math.abs(Number(values[i]) - n);\n if (d < distance) {\n distance = d;\n nearest = values[i];\n }\n }\n return nearest;\n}\n\n/**\n * The size a component on the 1-4 index takes: what the caller said, else the\n * nearest Theme's size, mapped into the component's range.\n */\nfunction useThemeSize<V>(explicit: V | undefined, propDef: SizePropDef): V {\n const themeSize = React.useContext(ThemeSizeContext);\n if (explicit !== undefined) return explicit;\n // The clamped value is one of `propDef.values`, which is what `V` ranges over.\n return clampSize(themeSize, propDef.values) as V;\n}\n\n/**\n * Fills `size` from the nearest Theme when the caller left it unset, so the\n * result can go straight into `extractProps`. An explicit size, responsive\n * object included, wins.\n *\n * Returns the same props object when there is nothing to fill: when a size is\n * set, or when the theme size resolves to the prop def's own default (the\n * common case, a Theme with no size), so `extractProps` applies it as before.\n */\nfunction useThemeSizeProps<P extends { size?: unknown }>(props: P, propDef: SizePropDef): P {\n const themeSize = React.useContext(ThemeSizeContext);\n if (props.size !== undefined) return props;\n const size = clampSize(themeSize, propDef.values);\n if (size === propDef.default) return props;\n return { ...props, size };\n}\n\nexport { ThemeSizeContext, THEME_SIZE_DEFAULT, clampSize, useThemeSize, useThemeSizeProps };\nexport type { ThemeSize };\n"],
5
+ "mappings": "AAEA,UAAYA,MAAW,QAKvB,IAAMC,EAAgC,IAQhCC,EAAyB,gBAAyBD,CAAkB,EAC1EC,EAAiB,YAAc,mBAY/B,SAASC,EAAUC,EAAiBC,EAAmC,CACrE,GAAIA,EAAO,SAASD,CAAI,EAAG,OAAOA,EAClC,IAAM,EAAI,OAAOA,CAAI,EACjBE,EAAUD,EAAO,CAAC,EAClBE,EAAW,IACf,QAASC,EAAI,EAAGA,EAAIH,EAAO,OAAQG,IAAK,CACtC,IAAMC,EAAI,KAAK,IAAI,OAAOJ,EAAOG,CAAC,CAAC,EAAI,CAAC,EACpCC,EAAIF,IACNA,EAAWE,EACXH,EAAUD,EAAOG,CAAC,EAEtB,CACA,OAAOF,CACT,CAMA,SAASI,EAAgBC,EAAyBC,EAAyB,CACzE,IAAMC,EAAkB,aAAWX,CAAgB,EACnD,OAAIS,IAAa,OAAkBA,EAE5BR,EAAUU,EAAWD,EAAQ,MAAM,CAC5C,CAWA,SAASE,EAAgDC,EAAUH,EAAyB,CAC1F,IAAMC,EAAkB,aAAWX,CAAgB,EACnD,GAAIa,EAAM,OAAS,OAAW,OAAOA,EACrC,IAAMX,EAAOD,EAAUU,EAAWD,EAAQ,MAAM,EAChD,OAAIR,IAASQ,EAAQ,QAAgBG,EAC9B,CAAE,GAAGA,EAAO,KAAAX,CAAK,CAC1B",
6
+ "names": ["React", "THEME_SIZE_DEFAULT", "ThemeSizeContext", "clampSize", "size", "values", "nearest", "distance", "i", "d", "useThemeSize", "explicit", "propDef", "themeSize", "useThemeSizeProps", "props"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as i,b as a}from"./chunk-IX5HIHVI.js";import{e as s}from"./chunk-3YLYGKFB.js";import{a as o}from"./chunk-STMTXK7U.js";import{a as c}from"./chunk-UBSLEGQZ.js";import{a as p}from"./chunk-GSTOGDAJ.js";import*as e from"react";import b from"classnames";import{Checkbox as h}from"radix-ui";import{useControllableState as u}from"radix-ui/internal";var y=e.forwardRef((m,n)=>{let k=s(m,o.size),{className:C,color:f,checked:d,defaultChecked:r,onCheckedChange:l,...x}=c(k,o,p),[t,P]=u({prop:d,defaultProp:r??!1,onChange:l});return e.createElement(h.Root,{"data-accent-color":f,...x,defaultChecked:r,checked:t,onCheckedChange:P,asChild:!1,ref:n,className:b("rt-reset","rt-BaseCheckboxRoot","rt-CheckboxRoot",C)},e.createElement(h.Indicator,{asChild:!0,className:"rt-BaseCheckboxIndicator rt-CheckboxIndicator"},t==="indeterminate"?e.createElement(i,null):e.createElement(a,null)))});y.displayName="Checkbox";export{y as a};
2
+ //# sourceMappingURL=chunk-4DE3ONED.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/checkbox.tsx"],
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Checkbox as CheckboxPrimitive } from 'radix-ui';\nimport { useControllableState } from 'radix-ui/internal';\n\nimport { checkboxPropDefs } from './checkbox.props.js';\nimport { ThickCheckIcon, ThickDividerHorizontalIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { ComponentPropsWithout } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype CheckboxElement = React.ElementRef<typeof CheckboxPrimitive.Root>;\ntype CheckboxOwnProps = GetPropDefTypes<typeof checkboxPropDefs>;\ninterface CheckboxProps\n extends ComponentPropsWithout<\n typeof CheckboxPrimitive.Root,\n 'asChild' | 'color' | 'defaultValue' | 'children'\n >,\n MarginProps,\n CheckboxOwnProps {}\nconst Checkbox = React.forwardRef<CheckboxElement, CheckboxProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, checkboxPropDefs.size);\n const {\n className,\n color,\n checked: checkedProp,\n defaultChecked: defaultCheckedProp,\n onCheckedChange,\n ...checkboxProps\n } = extractProps(props, checkboxPropDefs, marginPropDefs);\n\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultCheckedProp ?? false,\n onChange: onCheckedChange,\n });\n\n return (\n <CheckboxPrimitive.Root\n data-accent-color={color}\n {...checkboxProps}\n defaultChecked={defaultCheckedProp}\n checked={checked}\n onCheckedChange={setChecked}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseCheckboxRoot', 'rt-CheckboxRoot', className)}\n >\n <CheckboxPrimitive.Indicator\n asChild\n className=\"rt-BaseCheckboxIndicator rt-CheckboxIndicator\"\n >\n {checked === 'indeterminate' ? <ThickDividerHorizontalIcon /> : <ThickCheckIcon />}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n});\nCheckbox.displayName = 'Checkbox';\n\nexport { Checkbox };\nexport type { CheckboxProps };\n"],
5
+ "mappings": "+MAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,YAAYC,MAAyB,WAC9C,OAAS,wBAAAC,MAA4B,oBAqBrC,IAAMC,EAAiB,aAA2C,CAACC,EAAUC,IAAiB,CAC5F,IAAMC,EAAQC,EAAkBH,EAAUI,EAAiB,IAAI,EACzD,CACJ,UAAAC,EACA,MAAAC,EACA,QAASC,EACT,eAAgBC,EAChB,gBAAAC,EACA,GAAGC,CACL,EAAIC,EAAaT,EAAOE,EAAkBQ,CAAc,EAElD,CAACC,EAASC,CAAU,EAAIC,EAAqB,CACjD,KAAMR,EACN,YAAaC,GAAsB,GACnC,SAAUC,CACZ,CAAC,EAED,OACE,gBAACO,EAAkB,KAAlB,CACC,oBAAmBV,EAClB,GAAGI,EACJ,eAAgBF,EAChB,QAASK,EACT,gBAAiBC,EACjB,QAAS,GACT,IAAKb,EACL,UAAWgB,EAAW,WAAY,sBAAuB,kBAAmBZ,CAAS,GAErF,gBAACW,EAAkB,UAAlB,CACC,QAAO,GACP,UAAU,iDAETH,IAAY,gBAAkB,gBAACK,EAAA,IAA2B,EAAK,gBAACC,EAAA,IAAe,CAClF,CACF,CAEJ,CAAC,EACDpB,EAAS,YAAc",
6
+ "names": ["React", "classNames", "CheckboxPrimitive", "useControllableState", "Checkbox", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "baseCheckboxPropDefs", "className", "color", "checkedProp", "defaultCheckedProp", "onCheckedChange", "checkboxProps", "extractProps", "marginPropDefs", "checked", "setChecked", "useControllableState", "CheckboxPrimitive", "classNames", "ThickDividerHorizontalIcon", "ThickCheckIcon"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as p}from"./chunk-Q7S5LQBQ.js";import{e as c}from"./chunk-3YLYGKFB.js";import{a as l}from"./chunk-UBSLEGQZ.js";import{a as m}from"./chunk-GSTOGDAJ.js";import*as e from"react";import v from"classnames";var R=e.forwardRef((f,x)=>{let y=c(f,p.size),{className:u,color:b,radius:P,style:A,...r}=l(y,p,m),o=e.useId(),{"aria-describedby":s,"aria-labelledby":n,"aria-invalid":a}=r,i=!!r.error||a===!0||a==="true",d=e.useMemo(()=>{let t=[];return r.errorMessage&&t.push(o),s&&t.push(s),t.length>0?t.join(" "):void 0},[r.errorMessage,s,o]),T=e.useMemo(()=>({"aria-invalid":i?!0:a,"aria-describedby":d,"aria-labelledby":n}),[i,a,d,n]),{error:M,errorMessage:h,required:D,"aria-describedby":N,"aria-labelledby":I,...g}=r;return e.createElement("div",{"data-accent-color":b,"data-radius":P,className:v("rt-TextAreaRoot",u,{"rt-error":i}),style:A},e.createElement("textarea",{className:"rt-reset rt-TextAreaInput",ref:x,...g,...T}),r.errorMessage&&e.createElement("div",{id:o,className:"rt-TextAreaErrorMessage",role:"alert"},r.errorMessage))});R.displayName="TextArea";export{R as a};
2
+ //# sourceMappingURL=chunk-4M55YJMR.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/text-area.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { textAreaPropDefs } from './text-area.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TextAreaElement = React.ElementRef<'textarea'>;\ntype TextAreaOwnProps = GetPropDefTypes<typeof textAreaPropDefs> & {\n defaultValue?: string;\n value?: string;\n};\ninterface TextAreaProps\n extends ComponentPropsWithout<'textarea', RemovedProps | 'size' | 'value'>,\n MarginProps,\n TextAreaOwnProps {}\n\nconst TextArea = React.forwardRef<TextAreaElement, TextAreaProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, textAreaPropDefs.size);\n const { className, color, radius, style, ...textAreaProps } =\n extractProps(props, textAreaPropDefs, marginPropDefs);\n\n // Generate unique IDs for accessibility\n const errorId = React.useId();\n\n const { 'aria-describedby': ariaDescribedby, 'aria-labelledby': ariaLabelledby, 'aria-invalid': ariaInvalid } = textAreaProps;\n\n // Invalid when `error` is set or the caller passes aria-invalid; the CSS keys on aria-invalid only.\n const isInvalid = Boolean(textAreaProps.error) || ariaInvalid === true || ariaInvalid === 'true';\n\n // Build aria-describedby string\n const describedBy = React.useMemo(() => {\n const parts = [];\n if (textAreaProps.errorMessage) parts.push(errorId);\n if (ariaDescribedby) parts.push(ariaDescribedby);\n return parts.length > 0 ? parts.join(' ') : undefined;\n }, [textAreaProps.errorMessage, ariaDescribedby, errorId]);\n\n // Build aria attributes\n const ariaProps = React.useMemo(\n () => ({\n 'aria-invalid': isInvalid ? true : ariaInvalid,\n 'aria-describedby': describedBy,\n 'aria-labelledby': ariaLabelledby,\n }),\n [isInvalid, ariaInvalid, describedBy, ariaLabelledby],\n );\n\n // Filter out our custom props to avoid DOM warnings\n const {\n error,\n errorMessage,\n \n required,\n 'aria-describedby': _ariaDescribedby,\n 'aria-labelledby': _ariaLabelledby,\n ...nativeTextAreaProps\n } = textAreaProps;\n\n return (\n <div\n data-accent-color={color}\n data-radius={radius}\n className={classNames('rt-TextAreaRoot', className, {\n 'rt-error': isInvalid,\n })}\n style={style}\n >\n <textarea\n className=\"rt-reset rt-TextAreaInput\"\n ref={forwardedRef}\n {...nativeTextAreaProps}\n {...ariaProps}\n />\n {textAreaProps.errorMessage && (\n <div id={errorId} className=\"rt-TextAreaErrorMessage\" role=\"alert\">\n {textAreaProps.errorMessage}\n </div>\n )}\n </div>\n );\n});\n\nTextArea.displayName = 'TextArea';\n\nexport { TextArea };\nexport type { TextAreaProps };\n"],
5
+ "mappings": "gKAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAqBvB,IAAMC,EAAiB,aAA2C,CAACC,EAAUC,IAAiB,CAC5F,IAAMC,EAAQC,EAAkBH,EAAUI,EAAiB,IAAI,EACzD,CAAE,UAAAC,EAAW,MAAAC,EAAO,OAAAC,EAAQ,MAAAC,EAAO,GAAGC,CAAc,EACxDC,EAAaR,EAAOE,EAAkBO,CAAc,EAGhDC,EAAgB,QAAM,EAEtB,CAAE,mBAAoBC,EAAiB,kBAAmBC,EAAgB,eAAgBC,CAAY,EAAIN,EAG1GO,EAAY,EAAQP,EAAc,OAAUM,IAAgB,IAAQA,IAAgB,OAGpFE,EAAoB,UAAQ,IAAM,CACtC,IAAMC,EAAQ,CAAC,EACf,OAAIT,EAAc,cAAcS,EAAM,KAAKN,CAAO,EAC9CC,GAAiBK,EAAM,KAAKL,CAAe,EACxCK,EAAM,OAAS,EAAIA,EAAM,KAAK,GAAG,EAAI,MAC9C,EAAG,CAACT,EAAc,aAAcI,EAAiBD,CAAO,CAAC,EAGnDO,EAAkB,UACtB,KAAO,CACL,eAAgBH,EAAY,GAAOD,EACnC,mBAAoBE,EACpB,kBAAmBH,CACrB,GACA,CAACE,EAAWD,EAAaE,EAAaH,CAAc,CACtD,EAGM,CACJ,MAAAM,EACA,aAAAC,EAEA,SAAAC,EACA,mBAAoBC,EACpB,kBAAmBC,EACnB,GAAGC,CACL,EAAIhB,EAEJ,OACE,gBAAC,OACC,oBAAmBH,EACnB,cAAaC,EACb,UAAWmB,EAAW,kBAAmBrB,EAAW,CAClD,WAAYW,CACd,CAAC,EACD,MAAOR,GAEP,gBAAC,YACC,UAAU,4BACV,IAAKP,EACJ,GAAGwB,EACH,GAAGN,EACN,EACCV,EAAc,cACb,gBAAC,OAAI,GAAIG,EAAS,UAAU,0BAA0B,KAAK,SACxDH,EAAc,YACjB,CAEJ,CAEJ,CAAC,EAEDV,EAAS,YAAc",
6
+ "names": ["React", "classNames", "TextArea", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "textAreaPropDefs", "className", "color", "radius", "style", "textAreaProps", "extractProps", "marginPropDefs", "errorId", "ariaDescribedby", "ariaLabelledby", "ariaInvalid", "isInvalid", "describedBy", "parts", "ariaProps", "error", "errorMessage", "required", "_ariaDescribedby", "_ariaLabelledby", "nativeTextAreaProps", "classNames"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as s}from"./chunk-TTFUM47A.js";import{a as t}from"./chunk-ERGJN7FJ.js";var r=["1","2","3","4"],a=["surface","ghost"],o=["auto","fixed"],c={size:{type:"enum",className:"rt-r-size",values:r,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:a,default:"ghost"},layout:{type:"enum",className:"rt-r-tl",values:o,responsive:!0}},n=["start","center","end","baseline"],m={align:{type:"enum",className:"rt-r-va",values:n,parseValue:i,responsive:!0}};function i(e){return{baseline:"baseline",start:"top",center:"middle",end:"bottom"}[e]}var u=["start","center","end"],y={justify:{type:"enum",className:"rt-r-ta",values:u,parseValue:l,responsive:!0},...t,...s};function l(e){return{start:"left",center:"center",end:"right"}[e]}export{c as a,m as b,y as c};
2
+ //# sourceMappingURL=chunk-4YQXYWDQ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/table.props.tsx"],
4
+ "sourcesContent": ["import { paddingPropDefs } from '../props/padding.props.js';\nimport { widthPropDefs } from '../props/width.props.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\nconst variants = ['surface', 'ghost'] as const;\nconst layoutValues = ['auto', 'fixed'] as const;\n\nconst tableRootPropDefs = {\n size: {\n type: 'enum',\n className: 'rt-r-size',\n values: sizes,\n default: '2',\n responsive: true,\n },\n variant: {\n type: 'enum',\n className: 'rt-variant',\n values: variants,\n default: 'ghost',\n },\n layout: {\n type: 'enum',\n className: 'rt-r-tl',\n values: layoutValues,\n responsive: true,\n },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n layout: PropDef<(typeof layoutValues)[number]>;\n};\n\nconst rowAlign = ['start', 'center', 'end', 'baseline'] as const;\n\nconst tableRowPropDefs = {\n align: {\n type: 'enum',\n className: 'rt-r-va',\n values: rowAlign,\n parseValue: parseAlignValue,\n responsive: true,\n },\n} satisfies {\n align: PropDef<(typeof rowAlign)[number]>;\n};\n\nfunction parseAlignValue(value: string) {\n return {\n baseline: 'baseline',\n start: 'top',\n center: 'middle',\n end: 'bottom',\n }[value];\n}\n\nconst justifyValues = ['start', 'center', 'end'] as const;\n\nconst tableCellPropDefs = {\n justify: {\n type: 'enum',\n className: 'rt-r-ta',\n values: justifyValues,\n parseValue: parseJustifyValue,\n responsive: true,\n },\n ...widthPropDefs,\n ...paddingPropDefs,\n} satisfies {\n justify: PropDef<(typeof justifyValues)[number]>;\n};\n\nfunction parseJustifyValue(value: string) {\n return {\n start: 'left',\n center: 'center',\n end: 'right',\n }[value];\n}\n\nexport { tableRootPropDefs, tableRowPropDefs, tableCellPropDefs };\n"],
5
+ "mappings": "gFAKA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3BC,EAAW,CAAC,UAAW,OAAO,EAC9BC,EAAe,CAAC,OAAQ,OAAO,EAE/BC,EAAoB,CACxB,KAAM,CACJ,KAAM,OACN,UAAW,YACX,OAAQH,EACR,QAAS,IACT,WAAY,EACd,EACA,QAAS,CACP,KAAM,OACN,UAAW,aACX,OAAQC,EACR,QAAS,OACX,EACA,OAAQ,CACN,KAAM,OACN,UAAW,UACX,OAAQC,EACR,WAAY,EACd,CACF,EAMME,EAAW,CAAC,QAAS,SAAU,MAAO,UAAU,EAEhDC,EAAmB,CACvB,MAAO,CACL,KAAM,OACN,UAAW,UACX,OAAQD,EACR,WAAYE,EACZ,WAAY,EACd,CACF,EAIA,SAASA,EAAgBC,EAAe,CACtC,MAAO,CACL,SAAU,WACV,MAAO,MACP,OAAQ,SACR,IAAK,QACP,EAAEA,CAAK,CACT,CAEA,IAAMC,EAAgB,CAAC,QAAS,SAAU,KAAK,EAEzCC,EAAoB,CACxB,QAAS,CACP,KAAM,OACN,UAAW,UACX,OAAQD,EACR,WAAYE,EACZ,WAAY,EACd,EACA,GAAGC,EACH,GAAGC,CACL,EAIA,SAASF,EAAkBH,EAAe,CACxC,MAAO,CACL,MAAO,OACP,OAAQ,SACR,IAAK,OACP,EAAEA,CAAK,CACT",
6
+ "names": ["sizes", "variants", "layoutValues", "tableRootPropDefs", "rowAlign", "tableRowPropDefs", "parseAlignValue", "value", "justifyValues", "tableCellPropDefs", "parseJustifyValue", "widthPropDefs", "paddingPropDefs"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as t}from"./chunk-5PG5YGIW.js";import{z as o}from"zod";var l=t.extend({tooltip:o.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:o.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),tooltipAlign:o.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:o.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:o.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior"),"aria-label":o.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":o.string().optional().describe("ARIA labelled by reference"),children:o.any().optional().describe("Children elements (required for accessibility if no aria-label)"),pressed:o.boolean().optional().describe("Controlled pressed state"),onPressedChange:o.function().optional().describe("Callback when pressed state changes"),defaultPressed:o.boolean().optional().describe("Default pressed state for uncontrolled usage")}).refine(e=>e["aria-label"]||e["aria-labelledby"]||e.children,{message:"ToggleIconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility",path:["aria-label","aria-labelledby","children"]}).refine(e=>!(e.pressed!==void 0&&e.onPressedChange===void 0),{message:"When using controlled mode (pressed prop), onPressedChange must also be provided",path:["onPressedChange"]}).refine(e=>!(e.pressed!==void 0&&e.defaultPressed!==void 0),{message:"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together",path:["pressed","defaultPressed"]});function s(e){return e}export{l as a,s as b};
2
- //# sourceMappingURL=chunk-R4CN4Q3G.js.map
1
+ import{a as t}from"./chunk-CC4GNSKL.js";import{z as o}from"zod";var l=t.extend({tooltip:o.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:o.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),tooltipAlign:o.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:o.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:o.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior"),"aria-label":o.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":o.string().optional().describe("ARIA labelled by reference"),children:o.any().optional().describe("Children elements (required for accessibility if no aria-label)"),pressed:o.boolean().optional().describe("Controlled pressed state"),onPressedChange:o.function().optional().describe("Callback when pressed state changes"),defaultPressed:o.boolean().optional().describe("Default pressed state for uncontrolled usage")}).refine(e=>e["aria-label"]||e["aria-labelledby"]||e.children,{message:"ToggleIconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility",path:["aria-label","aria-labelledby","children"]}).refine(e=>!(e.pressed!==void 0&&e.onPressedChange===void 0),{message:"When using controlled mode (pressed prop), onPressedChange must also be provided",path:["onPressedChange"]}).refine(e=>!(e.pressed!==void 0&&e.defaultPressed!==void 0),{message:"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together",path:["pressed","defaultPressed"]});function s(e){return e}export{l as a,s as b};
2
+ //# sourceMappingURL=chunk-534LGOWC.js.map
@@ -0,0 +1,2 @@
1
+ import{b as o}from"./chunk-KRJTW535.js";import{c as r}from"./chunk-34KVYDF6.js";var t=["surface","soft","outline"],a={variant:{type:"enum",className:"rt-variant",values:t,default:"surface"},...r,...o,duration:{type:"string"}};export{a};
2
+ //# sourceMappingURL=chunk-54KMG7NX.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/progress.props.tsx"],
4
+ "sourcesContent": ["import { colorPropDef } from '../props/color.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst variants = ['surface', 'soft', 'outline'] as const;\n\nconst progressPropDefs = {\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'surface' },\n ...colorPropDef,\n ...radiusPropDef,\n duration: { type: 'string' },\n} satisfies {\n variant: PropDef<(typeof variants)[number]>;\n duration: PropDef<string>;\n};\n\nexport { progressPropDefs };\n"],
5
+ "mappings": "gFAKA,IAAMA,EAAW,CAAC,UAAW,OAAQ,SAAS,EAExCC,EAAmB,CACvB,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQD,EAAU,QAAS,SAAU,EACvF,GAAGE,EACH,GAAGC,EACH,SAAU,CAAE,KAAM,QAAS,CAC7B",
6
+ "names": ["variants", "progressPropDefs", "colorPropDef", "radiusPropDef"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{c as e}from"./chunk-34KVYDF6.js";var s=["1","2","3","4"],r=["nowrap","wrap","wrap-reverse"],t=["start","center","end"],o={size:{type:"enum",className:"rt-r-size",values:s,default:"2",responsive:!0},wrap:{type:"enum",className:"rt-r-fw",values:r,responsive:!0},justify:{type:"enum",className:"rt-r-jc",values:t,responsive:!0},...e};export{o as a};
2
+ //# sourceMappingURL=chunk-5LGWS5QS.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/_internal/base-tab-list.props.ts"],
4
+ "sourcesContent": ["import { colorPropDef } from '../../props/color.prop.js';\n\nimport type { PropDef } from '../../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\nconst wrapValues = ['nowrap', 'wrap', 'wrap-reverse'] as const;\nconst justifyValues = ['start', 'center', 'end'] as const;\n\nconst baseTabListPropDefs = {\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n wrap: {\n type: 'enum',\n className: 'rt-r-fw',\n values: wrapValues,\n responsive: true,\n },\n justify: {\n type: 'enum',\n className: 'rt-r-jc',\n values: justifyValues,\n responsive: true,\n },\n ...colorPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n wrap: PropDef<(typeof wrapValues)[number]>;\n justify: PropDef<(typeof justifyValues)[number]>;\n};\n\nexport { baseTabListPropDefs };\n"],
5
+ "mappings": "wCAIA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3BC,EAAa,CAAC,SAAU,OAAQ,cAAc,EAC9CC,EAAgB,CAAC,QAAS,SAAU,KAAK,EAEzCC,EAAsB,CAC1B,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQH,EAAO,QAAS,IAAK,WAAY,EAAK,EAC5F,KAAM,CACJ,KAAM,OACN,UAAW,UACX,OAAQC,EACR,WAAY,EACd,EACA,QAAS,CACP,KAAM,OACN,UAAW,UACX,OAAQC,EACR,WAAY,EACd,EACA,GAAGE,CACL",
6
+ "names": ["sizes", "wrapValues", "justifyValues", "baseTabListPropDefs", "colorPropDef"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as i}from"./chunk-ABS275QZ.js";import{a as u,e as l,f as R,g as I}from"./chunk-V32EP3S7.js";import{b as f}from"./chunk-IX5HIHVI.js";import{a as P}from"./chunk-O6K6RZXY.js";import{d as G}from"./chunk-3YLYGKFB.js";import{a as n}from"./chunk-UBSLEGQZ.js";import{a}from"./chunk-GSTOGDAJ.js";import{a as E}from"./chunk-OS3FCYZY.js";var z={};E(z,{Item:()=>S,Root:()=>N});import*as o from"react";import b from"classnames";import{Context as _}from"radix-ui/internal";var d="CheckboxGroup",[g]=_.createContextScope(d,[u]),y=u(),[T,v]=g(d),N=o.forwardRef(({color:s=i.color.default,size:e,variant:t=i.variant.default,...r},p)=>{let m=G(e,i.size),{__scopeCheckboxGroup:c,className:C,...h}=n(r,a),x=y(c);return o.createElement(T,{scope:c,color:s,size:m,variant:t},o.createElement(l,{...x,...h,ref:p,className:b("rt-CheckboxGroupRoot",C)}))});N.displayName="CheckboxGroup.Root";var S=o.forwardRef((s,e)=>{let{__scopeCheckboxGroup:t,children:r,className:p,style:m,...c}=s,{size:C}=v("CheckboxGroupItem",t),h=x=>typeof x=="string"&&/^[1-9]$/.test(x)?x:"3";return r?o.createElement(P,{as:"label",size:h(C),className:b("rt-CheckboxGroupItem",p),style:m},o.createElement(k,{__scopeCheckboxGroup:t,...c,ref:e}),r&&o.createElement("span",{className:"rt-CheckboxGroupItemInner"},r)):o.createElement(k,{__scopeCheckboxGroup:t,...c,ref:e,className:p,style:m})});S.displayName="CheckboxGroup.Item";var k=o.forwardRef(({__scopeCheckboxGroup:s,...e},t)=>{let r=v("CheckboxGroupItemCheckbox",s),p=y(s),{color:m,className:c}=n({...e,...r},i,a);return o.createElement(R,{...p,"data-accent-color":m,...e,ref:t,className:b("rt-reset","rt-BaseCheckboxRoot","rt-CheckboxGroupItemCheckbox",c)},o.createElement(I,{...p,asChild:!0,className:"rt-BaseCheckboxIndicator"},o.createElement(f,null)))});k.displayName="CheckboxGroup.ItemCheckbox";export{N as a,S as b,z as c};
2
+ //# sourceMappingURL=chunk-5R2WX2FU.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/checkbox-group.tsx"],
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Context } from 'radix-ui/internal';\n\nimport * as CheckboxGroupPrimitive from './checkbox-group.primitive.js';\nimport { createCheckboxGroupScope } from './checkbox-group.primitive.js';\nimport { checkboxGroupRootPropDefs } from './checkbox-group.props.js';\nimport { ThickCheckIcon } from './icons.js';\nimport { Text } from './text.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSize } from '../helpers/theme-size.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\nconst CHECKBOX_GROUP_NAME = 'CheckboxGroup';\n\ntype ScopedProps<P> = P & { __scopeCheckboxGroup?: Context.Scope };\nconst [createCheckboxGroupContext] = Context.createContextScope(CHECKBOX_GROUP_NAME, [\n createCheckboxGroupScope,\n]);\nconst useCheckboxGroupScope = createCheckboxGroupScope();\n\ntype CheckboxGroupRootOwnProps = GetPropDefTypes<typeof checkboxGroupRootPropDefs>;\ntype CheckboxGroupContextValue = CheckboxGroupRootOwnProps;\n\nconst [CheckboxGroupProvider, useCheckboxGroupContext] =\n createCheckboxGroupContext<CheckboxGroupContextValue>(CHECKBOX_GROUP_NAME);\n\ntype CheckboxGroupRootElement = React.ElementRef<typeof CheckboxGroupPrimitive.Root>;\ninterface CheckboxGroupRootProps\n extends ComponentPropsWithout<\n typeof CheckboxGroupPrimitive.Root,\n 'asChild' | 'color' | 'defaultChecked'\n >,\n MarginProps,\n CheckboxGroupRootOwnProps {}\nconst CheckboxGroupRoot = React.forwardRef<CheckboxGroupRootElement, CheckboxGroupRootProps>(\n (\n {\n color = checkboxGroupRootPropDefs.color.default,\n size: sizeProp,\n variant = checkboxGroupRootPropDefs.variant.default,\n ...props\n }: ScopedProps<CheckboxGroupRootProps>,\n forwardedRef,\n ) => {\n const size = useThemeSize(sizeProp, checkboxGroupRootPropDefs.size);\n const { __scopeCheckboxGroup, className, ...rootProps } = extractProps(props, marginPropDefs);\n const checkboxGroupScope = useCheckboxGroupScope(__scopeCheckboxGroup);\n return (\n <CheckboxGroupProvider\n scope={__scopeCheckboxGroup}\n color={color}\n size={size}\n variant={variant}\n >\n <CheckboxGroupPrimitive.Root\n {...checkboxGroupScope}\n {...rootProps}\n ref={forwardedRef}\n className={classNames('rt-CheckboxGroupRoot', className)}\n />\n </CheckboxGroupProvider>\n );\n },\n);\nCheckboxGroupRoot.displayName = 'CheckboxGroup.Root';\n\ntype CheckboxGroupItemElement = React.ElementRef<typeof CheckboxGroupPrimitive.Item>;\ninterface CheckboxGroupItemProps\n extends ComponentPropsWithout<typeof CheckboxGroupPrimitive.Item, RemovedProps>,\n MarginProps {}\nconst CheckboxGroupItem = React.forwardRef<CheckboxGroupItemElement, CheckboxGroupItemProps>(\n (_props: ScopedProps<CheckboxGroupItemProps>, forwardedRef) => {\n const { __scopeCheckboxGroup, children, className, style, ...props } = _props;\n const { size } = useCheckboxGroupContext('CheckboxGroupItem', __scopeCheckboxGroup);\n\n // Helper to safely convert size to Text-compatible size\n const getTextSize = (sizeValue: any): '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' => {\n if (typeof sizeValue === 'string' && /^[1-9]$/.test(sizeValue)) {\n return sizeValue as any;\n }\n return '3';\n };\n\n // Render `<Text as=\"label\">` if children\u00A0are provided, otherwise render\n // the solo checkbox to allow building out your custom layouts with it.\n if (children) {\n return (\n <Text\n as=\"label\"\n size={getTextSize(size)}\n className={classNames('rt-CheckboxGroupItem', className)}\n style={style}\n >\n <CheckboxGroupItemCheckbox\n __scopeCheckboxGroup={__scopeCheckboxGroup}\n {...props}\n ref={forwardedRef}\n />\n {children && <span className=\"rt-CheckboxGroupItemInner\">{children}</span>}\n </Text>\n );\n }\n\n return (\n <CheckboxGroupItemCheckbox\n __scopeCheckboxGroup={__scopeCheckboxGroup}\n {...props}\n ref={forwardedRef}\n className={className}\n style={style}\n />\n );\n },\n);\nCheckboxGroupItem.displayName = 'CheckboxGroup.Item';\n\ntype CheckboxGroupItemCheckboxElement = React.ElementRef<typeof CheckboxGroupPrimitive.Item>;\ninterface CheckboxGroupItemCheckboxProps\n extends ComponentPropsWithout<typeof CheckboxGroupPrimitive.Item, RemovedProps> {}\nconst CheckboxGroupItemCheckbox = React.forwardRef<\n CheckboxGroupItemCheckboxElement,\n ScopedProps<CheckboxGroupItemCheckboxProps>\n>(({ __scopeCheckboxGroup, ...props }, forwardedRef) => {\n const context = useCheckboxGroupContext('CheckboxGroupItemCheckbox', __scopeCheckboxGroup);\n const checkboxGroupScope = useCheckboxGroupScope(__scopeCheckboxGroup);\n const { color, className } = extractProps(\n { ...props, ...context },\n checkboxGroupRootPropDefs,\n marginPropDefs,\n );\n return (\n <CheckboxGroupPrimitive.Item\n {...checkboxGroupScope}\n data-accent-color={color}\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-reset',\n 'rt-BaseCheckboxRoot',\n 'rt-CheckboxGroupItemCheckbox',\n className,\n )}\n >\n <CheckboxGroupPrimitive.Indicator\n {...checkboxGroupScope}\n asChild\n className=\"rt-BaseCheckboxIndicator\"\n >\n <ThickCheckIcon />\n </CheckboxGroupPrimitive.Indicator>\n </CheckboxGroupPrimitive.Item>\n );\n});\nCheckboxGroupItemCheckbox.displayName = 'CheckboxGroup.ItemCheckbox';\n\nexport { CheckboxGroupRoot as Root, CheckboxGroupItem as Item };\nexport type { CheckboxGroupRootProps as RootProps, CheckboxGroupItemProps as ItemProps };\n"],
5
+ "mappings": "gVAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,SAAAC,IAEA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,WAAAC,MAAe,oBAexB,IAAMC,EAAsB,gBAGtB,CAACC,CAA0B,EAAIC,EAAQ,mBAAmBF,EAAqB,CACnFG,CACF,CAAC,EACKC,EAAwBD,EAAyB,EAKjD,CAACE,EAAuBC,CAAuB,EACnDL,EAAsDD,CAAmB,EAUrEO,EAA0B,aAC9B,CACE,CACE,MAAAC,EAAQC,EAA0B,MAAM,QACxC,KAAMC,EACN,QAAAC,EAAUF,EAA0B,QAAQ,QAC5C,GAAGG,CACL,EACAC,IACG,CACH,IAAMC,EAAOC,EAAaL,EAAUD,EAA0B,IAAI,EAC5D,CAAE,qBAAAO,EAAsB,UAAAC,EAAW,GAAGC,CAAU,EAAIC,EAAaP,EAAOQ,CAAc,EACtFC,EAAqBjB,EAAsBY,CAAoB,EACrE,OACE,gBAACX,EAAA,CACC,MAAOW,EACP,MAAOR,EACP,KAAMM,EACN,QAASH,GAET,gBAAwBW,EAAvB,CACE,GAAGD,EACH,GAAGH,EACJ,IAAKL,EACL,UAAWU,EAAW,uBAAwBN,CAAS,EACzD,CACF,CAEJ,CACF,EACAV,EAAkB,YAAc,qBAMhC,IAAMiB,EAA0B,aAC9B,CAACC,EAA6CZ,IAAiB,CAC7D,GAAM,CAAE,qBAAAG,EAAsB,SAAAU,EAAU,UAAAT,EAAW,MAAAU,EAAO,GAAGf,CAAM,EAAIa,EACjE,CAAE,KAAAX,CAAK,EAAIR,EAAwB,oBAAqBU,CAAoB,EAG5EY,EAAeC,GACf,OAAOA,GAAc,UAAY,UAAU,KAAKA,CAAS,EACpDA,EAEF,IAKT,OAAIH,EAEA,gBAACI,EAAA,CACC,GAAG,QACH,KAAMF,EAAYd,CAAI,EACtB,UAAWS,EAAW,uBAAwBN,CAAS,EACvD,MAAOU,GAEP,gBAACI,EAAA,CACC,qBAAsBf,EACrB,GAAGJ,EACJ,IAAKC,EACP,EACCa,GAAY,gBAAC,QAAK,UAAU,6BAA6BA,CAAS,CACrE,EAKF,gBAACK,EAAA,CACC,qBAAsBf,EACrB,GAAGJ,EACJ,IAAKC,EACL,UAAWI,EACX,MAAOU,EACT,CAEJ,CACF,EACAH,EAAkB,YAAc,qBAKhC,IAAMO,EAAkC,aAGtC,CAAC,CAAE,qBAAAf,EAAsB,GAAGJ,CAAM,EAAGC,IAAiB,CACtD,IAAMmB,EAAU1B,EAAwB,4BAA6BU,CAAoB,EACnFK,EAAqBjB,EAAsBY,CAAoB,EAC/D,CAAE,MAAAR,EAAO,UAAAS,CAAU,EAAIE,EAC3B,CAAE,GAAGP,EAAO,GAAGoB,CAAQ,EACvBvB,EACAW,CACF,EACA,OACE,gBAAwBa,EAAvB,CACE,GAAGZ,EACJ,oBAAmBb,EAClB,GAAGI,EACJ,IAAKC,EACL,UAAWU,EACT,WACA,sBACA,+BACAN,CACF,GAEA,gBAAwBiB,EAAvB,CACE,GAAGb,EACJ,QAAO,GACP,UAAU,4BAEV,gBAACc,EAAA,IAAe,CAClB,CACF,CAEJ,CAAC,EACDJ,EAA0B,YAAc",
6
+ "names": ["checkbox_group_exports", "__export", "CheckboxGroupItem", "CheckboxGroupRoot", "React", "classNames", "Context", "CHECKBOX_GROUP_NAME", "createCheckboxGroupContext", "Context", "createCheckboxGroupScope", "useCheckboxGroupScope", "CheckboxGroupProvider", "useCheckboxGroupContext", "CheckboxGroupRoot", "color", "checkboxGroupRootPropDefs", "sizeProp", "variant", "props", "forwardedRef", "size", "useThemeSize", "__scopeCheckboxGroup", "className", "rootProps", "extractProps", "marginPropDefs", "checkboxGroupScope", "Root", "classNames", "CheckboxGroupItem", "_props", "children", "style", "getTextSize", "sizeValue", "Text", "CheckboxGroupItemCheckbox", "context", "Item", "Indicator", "ThickCheckIcon"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as t}from"./chunk-5PG5YGIW.js";import{z as e}from"zod";var l=t.extend({tooltip:e.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:e.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),tooltipAlign:e.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:e.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:e.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior"),"aria-label":e.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":e.string().optional().describe("ARIA labelled by reference"),children:e.any().optional().describe("Children elements (required for accessibility if no aria-label)")}).refine(o=>o["aria-label"]||o["aria-labelledby"]||o.children,{message:"IconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility",path:["aria-label","aria-labelledby","children"]});function r(o){return o}export{l as a,r as b};
2
- //# sourceMappingURL=chunk-7UW7D77E.js.map
1
+ import{a as t}from"./chunk-CC4GNSKL.js";import{z as e}from"zod";var l=t.extend({tooltip:e.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:e.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),tooltipAlign:e.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:e.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:e.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior"),"aria-label":e.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":e.string().optional().describe("ARIA labelled by reference"),children:e.any().optional().describe("Children elements (required for accessibility if no aria-label)")}).refine(o=>o["aria-label"]||o["aria-labelledby"]||o.children,{message:"IconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility",path:["aria-label","aria-labelledby","children"]});function r(o){return o}export{l as a,r as b};
2
+ //# sourceMappingURL=chunk-5UU2IMGX.js.map
@@ -0,0 +1,2 @@
1
+ import{a as De,b as Fe}from"./chunk-I53SGTKV.js";import{a as Be}from"./chunk-MGQ4A2FI.js";import{a as Ae}from"./chunk-PAQS6C2A.js";import{c as le,d as ae,g as ge,h as Se,i as be}from"./chunk-DJFTDR6Y.js";import{a as Ie}from"./chunk-672FI4OH.js";import{a as Oe}from"./chunk-A2NG5NRN.js";import{a as $,b as He,c as we,d as Ne,g as ke}from"./chunk-3J6AUDID.js";import{a as Ee,b as re}from"./chunk-HCNO7PX6.js";import{a as de,b as ue,c as pe}from"./chunk-5ROQAZ7J.js";import{e as se,f as ye,h as Me,i as ee,j as Te,k as ie,l as ce,n as ze,o as te}from"./chunk-3PTKPDSA.js";import{a as Le,b as xe}from"./chunk-BZZXXZ3O.js";import{a as Ce}from"./chunk-HWQ3NTJP.js";import{d as Re}from"./chunk-3YLYGKFB.js";import{a as ve}from"./chunk-TBZO22XK.js";import{a as Ge}from"./chunk-OS3FCYZY.js";var et={};Ge(et,{Bottom:()=>Ie,Content:()=>qe,Header:()=>_e,Inspector:()=>Oe,Left:()=>Ke,PaneFooter:()=>Se,PaneHeader:()=>ge,Panel:()=>Pe,Rail:()=>$e,Root:()=>We,Scroll:()=>be,Sidebar:()=>Ae,Trigger:()=>je,useResponsivePresentation:()=>Be,useShell:()=>Fe,useSidebarMode:()=>De});import*as e from"react";import U from"classnames";import{useComposedRefs as he}from"radix-ui/internal";var fe=0;function Ve(a){fe=Math.max(0,fe+a);let r=document.documentElement;fe>0?r.setAttribute("data-rt-shell-lock",""):r.removeAttribute("data-rt-shell-lock")}var me="data-rt-shell-inert",Xe=30;function q(a,r){return r===null||r===a||r===a.body||r===a.documentElement}function Ue(a,r,s){for(let d of a.querySelectorAll("[data-shell-trigger][aria-controls]"))if(!(d.getAttribute("aria-controls")!==r||d.closest("[inert]"))&&!(s&&!s.some(R=>R.contains(d))))return d;return null}var Je={values:["1","2","3"]},We=e.forwardRef(({className:a,children:r,height:s="full",size:d,style:R,onKeyDown:A,onFocus:L,...x},H)=>{let p=Re(d,Je),[i]=e.useState(ye),S=e.useCallback(t=>Me(i,t),[i]);e.useSyncExternalStore(S,()=>i.version,()=>0);let h=e.useRef(null),E=he(H,h),[y,b]=e.useState(()=>new Set),P=e.useCallback(t=>{b(n=>n.has(t)?n:new Set(n).add(t))},[]),f=e.useCallback(t=>{b(n=>{if(!n.has(t))return n;let o=new Set(n);return o.delete(t),o})},[]),M=e.useMemo(()=>({registerInset:P,unregisterInset:f}),[P,f]),g=e.useCallback(()=>{for(let t of i.entries.values())t.overlayLive&&t.setValue("closed","dismiss")},[i]),w=e.useCallback(()=>[...i.entries.values()].filter(t=>t.overlayLive&&t.el).map(t=>({name:t.name,id:t.id,el:t.el})),[i]),v=[...i.entries.values()].filter(t=>t.overlayLive&&t.el).length,W=s!=="full"&&s!=="auto",N=e.useCallback(()=>{let t=h.current;if(!t)return;let n=w().map(o=>o.el);for(let o of t.children){if(!(o instanceof HTMLElement)||o.classList.contains("rt-ShellScrim"))continue;let c=n.some(z=>o===z||o.contains(z));n.length===0||c?o.hasAttribute(me)&&(o.removeAttribute(me),o.inert=!1):o.inert||(o.setAttribute(me,""),o.inert=!0)}},[w]),_=e.useRef(null),j=e.useRef([]),G=e.useRef(null),D=e.useRef(!1),T=e.useRef(0),k=e.useCallback(()=>{T.current&&cancelAnimationFrame(T.current),T.current=0},[]),X=e.useCallback((t,n)=>{k();let o=0,c=()=>{if(T.current=0,!!t.isConnected){if(n(t.ownerDocument.activeElement)){t.focus({preventScroll:!0});return}o+=1,o<Xe&&(T.current=requestAnimationFrame(c))}};T.current=requestAnimationFrame(c)},[k]);e.useEffect(()=>()=>{k(),D.current&&(D.current=!1,Ve(-1))},[k]),e.useEffect(()=>{let t=h.current;if(!t)return;let n=t.ownerDocument,o=w(),c=o.map(l=>l.el),z=!W&&o.length>0;z!==D.current&&(D.current=z,Ve(z?1:-1));let B=j.current;j.current=o;let O=B.filter(l=>{if(c.includes(l.el))return!1;let u=i.entries.get(l.name);return!l.el.isConnected||!u||u.el!==l.el||u.value==="closed"}),K=l=>l!==null&&O.some(u=>u.el.contains(l));if(B.length===0&&o.length>0){let l=n.activeElement,u=l instanceof HTMLElement&&!q(n,l)&&!c.some(m=>m.contains(l))?l:null;if(u&&!t.contains(u)){let m=G.current;m&&m.isConnected&&!c.some(Z=>Z.contains(m))&&(u=m)}_.current=u}if(N(),o.length===0){let l=_.current;if(_.current=null,O.length===0)return;let m=(C=>C!==null&&C.isConnected&&!C.closest("[inert]")&&!K(C))(l)?l:null;for(let C of O)m??(m=Ue(n,C.id));if(!m)return;let Z=C=>q(n,C)||K(C);Z(n.activeElement)?m.focus({preventScroll:!0}):X(m,Z);return}if(O.length>0){let l=n.activeElement;if(q(n,l)||K(l)){let u=null;for(let m of O)u??(u=Ue(n,m.id,c));(u??c[c.length-1]).focus({preventScroll:!0})}}let V=c.filter(l=>!B.some(u=>u.el===l)),oe=n.activeElement;V.length>0&&!c.some(l=>l.contains(oe))&&(V[0].focus({preventScroll:!0}),X(V[0],l=>q(n,l)||l instanceof Element&&l.closest("[inert]")!==null))}),e.useEffect(()=>{let t=h.current;if(!t||v===0||typeof MutationObserver>"u")return;let n=new MutationObserver(N);return n.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["inert"]}),()=>n.disconnect()},[v,N]);let J=t=>{A?.(t),!(t.key!=="Escape"||t.defaultPrevented||v===0)&&(g(),t.stopPropagation())};e.useEffect(()=>{let t=h.current;if(!t||v===0)return;let n=t.ownerDocument,o=c=>{c.key!=="Escape"||c.defaultPrevented||!q(n,c.target)||g()};return n.addEventListener("keydown",o),()=>n.removeEventListener("keydown",o)},[v,g]);let Q=t=>{L?.(t),t.target instanceof HTMLElement&&h.current?.contains(t.target)&&(G.current=t.target)},I=i.entries.get("rail"),F=I!==void 0&&I.value!==void 0&&I.value!=="closed"?y.has("rail")?`calc(${I.size}px + 2 * var(--shell-inset-gap))`:`${I.size}px`:void 0,ne=s==="full"?{}:s==="auto"?{height:"auto"}:typeof s=="number"?{height:`${s}px`}:{height:s};return e.createElement(Te.Provider,{value:i},e.createElement(le.Provider,{value:p},e.createElement(ze.Provider,{value:M},e.createElement("div",{...x,ref:E,className:U("rt-ShellRoot",a),"data-height":s==="auto"?"auto":void 0,"data-has-inset":y.size>0||void 0,"data-overlay-live":v>0||void 0,onKeyDown:J,onFocus:Q,style:{...ne,...F?{"--shell-rail-offset":F}:{},...R}},r,e.createElement("div",{className:"rt-ShellScrim","aria-hidden":!0,onClick:g})))))});We.displayName="Shell.Root";var _e=e.forwardRef(({className:a,height:r=64,style:s,...d},R)=>e.createElement("header",{...d,ref:R,className:U("rt-ShellHeader",a),style:{...s,"--shell-header-height":`${r}px`}}));_e.displayName="Shell.Header";var Ke=e.forwardRef(({children:a},r)=>(e.useEffect(()=>{},[]),e.createElement(e.Fragment,null,a)));Ke.displayName="Shell.Left";var Qe={controlled:"open",default:"defaultOpen"},$e=e.forwardRef((a,r)=>{let{className:s,presentation:d,expandedSize:R=64,collapsible:A,onExpand:L,onCollapse:x,children:H,style:p,open:i,defaultOpen:S,onOpenChange:h,inset:E,id:y,...b}=a,{table:P,attributes:f}=pe(d,"fixed"),M=de({name:"rail",label:"Rail",propNames:Qe,id:y,controlled:$(i),defaultValue:$(S),presentationTable:P,builtIn:He,onChange:(w,v)=>h?.(w!=="closed",{reason:v}),onExpand:L,onCollapse:x,size:R});te("rail",E);let g=he(r,M.setElement);return e.createElement("div",{...b,id:M.id,ref:g,className:U("rt-ShellPane","rt-ShellRail",s),...ue(M,f),"data-inset":E||void 0,tabIndex:M.overlaying?-1:b.tabIndex,style:{...p,"--rail-size":`${R}px`}},e.createElement(Ye,null,H))});$e.displayName="Shell.Rail";function Ye({children:a}){let r=e.useContext(le);return e.createElement("div",{className:U("rt-ShellRailContent",`rt-r-size-${r}`)},e.createElement(ae,{presentation:"thin"},a))}var Ze={controlled:"open",default:"defaultOpen"},Pe=e.forwardRef((a,r)=>{let{className:s,presentation:d,defaultOpen:R,open:A,onOpenChange:L,size:x,defaultSize:H,expandedSize:p=288,minSize:i=100,maxSize:S=800,resizable:h=!1,collapsible:E=!0,onExpand:y,onCollapse:b,onResize:P,onResizeStart:f,onResizeEnd:M,snapPoints:g,snapTolerance:w,collapseThreshold:v,paneId:W,persistence:N,children:_,style:j,onSizeChange:G,sizeUpdate:D,sizeUpdateMs:T=50,inset:k,id:X,...J}=a,Q=ie("Shell.Panel"),I=ce(Q,"rail"),Y=pe(d,"fixed"),F=d===void 0,ne=F?I?.presentationTable??se:Y.table,t=F?{"data-presentation-follows":""}:Y.attributes,n=de({name:"panel",label:"Panel",propNames:Ze,id:X,controlled:$(A),defaultValue:$(R),presentationTable:ne,builtIn:we,onChange:(V,oe)=>L?.(V!=="closed",{reason:oe}),onExpand:y,onCollapse:b,size:p});te("panel",k),e.useEffect(()=>{(g!==void 0||v!==void 0||W!==void 0||N!==void 0)&&void 0},[g,v,W,N]);let o=e.useRef(null),c=he(r,n.setElement,o),z=Le({name:"panel",elementId:n.id,elementRef:o,cssVarName:"--panel-size",orientation:"vertical",edge:"end",growth:Ne,expandedSize:p,minSize:i,maxSize:S,resizable:h,collapsible:E,size:x,defaultSize:H,onSizeChange:G,sizeUpdate:D,sizeUpdateMs:T,onResize:P,onResizeStart:f,onResizeEnd:M,snapPoints:g,snapTolerance:w,collapseThreshold:v,paneId:W,persistence:N,overlaying:n.overlaying,overlayingNow:()=>(F?Q.entries.get("rail")?.presentationTable??se:Y.table)[ve()]==="overlay",requestCollapse:()=>n.setValue("closed","toggle"),requestToggle:()=>n.toggle("toggle")}),{handles:B,content:O}=xe(_,re),K=h&&n.shown!==!1&&!n.overlaying?e.createElement(Ce.Provider,{value:z},B.length>0?B:e.createElement(Ee,null)):null;return e.createElement("div",{...ke(J),id:n.id,ref:c,className:U("rt-ShellPane","rt-ShellPanel",s),...ue(n,t),"data-inset":k||void 0,tabIndex:n.overlaying?-1:J.tabIndex,style:{...j,"--panel-expanded-size":`${p}px`}},e.createElement("div",{className:"rt-ShellPanelContent"},e.createElement(ae,null,O)),K)});Pe.displayName="Shell.Panel";Pe.Handle=re;var qe=e.forwardRef(({className:a,inset:r,...s},d)=>(te("content",r),e.createElement("main",{...s,ref:d,className:U("rt-ShellContent",a),"data-inset":r||void 0})));qe.displayName="Shell.Content";var je=e.forwardRef(({target:a,action:r="toggle",peekOnHover:s,onClick:d,onMouseEnter:R,onMouseLeave:A,children:L,...x},H)=>{let p=ie("Shell.Trigger");e.useEffect(()=>{a==="left"&&void 0,s&&void 0},[a,s]);let i=a==="left"?"rail":a,S=ce(p,i),h=S?.value===void 0?void 0:S.value!=="closed",E=P=>{if(d?.(P),P.defaultPrevented)return;let f=p.entries.get(i);f&&(p.peek===i&&ee(p,null),r==="toggle"?f.toggle("toggle"):r==="expand"?f.setValue("open","toggle"):f.setValue("closed","toggle"))},y=P=>{if(R?.(P),!s)return;let f=p.entries.get(i);f&&f.value==="closed"&&f.presentation!=="overlay"&&ee(p,i)},b=P=>{A?.(P),s&&p.peek===i&&ee(p,null)};return e.createElement("button",{type:"button","aria-controls":S?.id,"aria-expanded":h,...x,ref:H,onClick:E,onMouseEnter:y,onMouseLeave:b,"data-shell-trigger":a,"data-shell-action":r},L)});je.displayName="Shell.Trigger";export{We as a,_e as b,Ke as c,$e as d,Pe as e,qe as f,je as g,et as h};
2
+ //# sourceMappingURL=chunk-5VBJT2VY.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/shell.tsx"],
4
+ "sourcesContent": ["/**\n * Shell: the app frame.\n *\n * Since 0.8.0 the Shell is built on kookie-ui-v2's model, behind v1's API:\n *\n * - The Root is a CSS grid and renders its children as given, in JSX order.\n * Each pane claims its own grid area, so the Root never scans or reorders\n * children, any child renders, and a pane mounted after the Root works.\n * - State lives on each pane: `auto` (untouched), `open` or `closed`. An\n * untouched pane follows the window, resolved by the\n * stylesheet, so first paint needs no script and no open-state callback\n * fires on mount or on a resize.\n * - A pane is one element at every width. `overlay` is a posture of that\n * element, not a Sheet swapped in: crossing a breakpoint keeps its scroll\n * position, its focus and its children's state.\n * - The Root owns what an overlay needs: one scrim, `inert` on everything\n * else, focus moved in and returned, Escape, and a scroll lock.\n * - Nothing links panes to each other. A Rail closing no longer closes the\n * Panel; an app that wants that writes it in `onOpenChange`.\n */\n'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useComposedRefs } from 'radix-ui/internal';\nimport { PaneResizeContext } from './_internal/shell-resize.js';\nimport { PaneHandle, PanelHandle } from './_internal/shell-handles.js';\nimport { Sidebar } from './_internal/shell-sidebar.js';\nimport { Bottom } from './_internal/shell-bottom.js';\nimport { Inspector } from './_internal/shell-inspector.js';\nimport { usePane, paneAttributes, usePresentationTable } from './_internal/shell-pane.js';\nimport { splitHandles, useResizablePane } from './_internal/shell-resizable.js';\nimport {\n FIXED_TABLE,\n ShellInsetContext,\n ShellStoreContext,\n createShellStore,\n setShellPeek,\n subscribeShellStore,\n useInsetRegistration,\n usePaneEntry,\n useShellStore,\n warnOnce,\n type InsetPaneId,\n} from './_internal/shell-store.js';\nimport { navigationRest, detailRest, toPaneValue, startAnchoredGrowth, withoutRemovedPaneProps } from './_internal/shell-rest.js';\nimport { useShell, useSidebarMode } from './shell.context.js';\nimport { useResponsivePresentation } from './shell.hooks.js';\nimport { readBreakpoint } from '../hooks/use-breakpoint.js';\nimport { useThemeSize } from '../helpers/theme-size.js';\nimport { PaneChromeScope, PaneFooter, PaneHeader, Scroll, ShellSizeContext } from './_internal/pane-chrome.js';\nimport type { PaneSize } from './_internal/pane-chrome.js';\nimport type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps, PaneMode, PaneName, PaneTarget, ResponsivePresentation, SidebarMode } from './shell.types.js';\n\n/* \u2500\u2500 Root \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\nexport interface ShellRootProps extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n height?: 'full' | 'auto' | string | number;\n /** The index the panes' chrome takes: `Shell.PaneHeader`, `Shell.Scroll`, `Shell.PaneFooter` and the Sidebar rows in them. Defaults to the nearest Theme's size (3 when the Theme is 4), else `2`. */\n size?: PaneSize;\n}\n\n/**\n * Every Shell with a live overlay holds the page still, counted across Shells,\n * through an attribute the stylesheet reads. Saving and restoring the\n * document's inline `overflow` would fight any other scroll lock on the page.\n */\nlet pageLockHolders = 0;\nfunction updatePageLock(delta: 1 | -1) {\n pageLockHolders = Math.max(0, pageLockHolders + delta);\n const doc = document.documentElement;\n if (pageLockHolders > 0) doc.setAttribute('data-rt-shell-lock', '');\n else doc.removeAttribute('data-rt-shell-lock');\n}\n\n/** Marks a child the Root made inert, so closing removes only what the Root added. */\nconst INERT_MARK = 'data-rt-shell-inert';\n\n/** How many frames a focus rescue watches after an overlay opens or closes. */\nconst RESCUE_FRAMES = 30;\n\n/** Focus that is nowhere useful: the document, or nothing at all. */\nfunction isNowhere(doc: Document, el: Element | EventTarget | null): boolean {\n return el === null || el === doc || el === doc.body || el === doc.documentElement;\n}\n\n/** A Trigger that drives the pane with this id and can take focus, optionally only inside `within`. */\nfunction triggerFor(doc: Document, id: string, within?: HTMLElement[]): HTMLElement | null {\n for (const el of doc.querySelectorAll<HTMLElement>('[data-shell-trigger][aria-controls]')) {\n if (el.getAttribute('aria-controls') !== id || el.closest('[inert]')) continue;\n if (within && !within.some((pane) => pane.contains(el))) continue;\n return el;\n }\n return null;\n}\n\ntype LivePane = { name: PaneName; id: string; el: HTMLElement };\n\n/** Shell.Root's own range; a Theme size above it maps to 3. */\nconst shellSizePropDef = { values: ['1', '2', '3'] as const };\n\nconst Root = React.forwardRef<HTMLDivElement, ShellRootProps>(({ className, children, height = 'full', size: sizeProp, style, onKeyDown, onFocus, ...props }, ref) => {\n // No size of its own: the nearest Theme's, mapped into 1-3.\n const size = useThemeSize(sizeProp, shellSizePropDef);\n const [store] = React.useState(createShellStore);\n const subscribe = React.useCallback((listener: () => void) => subscribeShellStore(store, listener), [store]);\n // Subscribed for the re-render, not for a value: a pane opening or closing\n // must bring the Root back so containment and the scrim follow it.\n React.useSyncExternalStore(\n subscribe,\n () => store.version,\n () => 0,\n );\n\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const composedRef = useComposedRefs(ref, rootRef);\n\n // Inset: the Root paints the backdrop while any pane is inset.\n const [insetPanes, setInsetPanes] = React.useState<ReadonlySet<InsetPaneId>>(() => new Set());\n const registerInset = React.useCallback((id: InsetPaneId) => {\n setInsetPanes((prev) => (prev.has(id) ? prev : new Set(prev).add(id)));\n }, []);\n const unregisterInset = React.useCallback((id: InsetPaneId) => {\n setInsetPanes((prev) => {\n if (!prev.has(id)) return prev;\n const next = new Set(prev);\n next.delete(id);\n return next;\n });\n }, []);\n const insetContext = React.useMemo(() => ({ registerInset, unregisterInset }), [registerInset, unregisterInset]);\n\n const closeOverlays = React.useCallback(() => {\n for (const entry of store.entries.values()) {\n if (entry.overlayLive) entry.setValue('closed', 'dismiss');\n }\n }, [store]);\n\n const livePanes = React.useCallback(\n (): LivePane[] => [...store.entries.values()].filter((entry) => entry.overlayLive && entry.el).map((entry) => ({ name: entry.name, id: entry.id, el: entry.el as HTMLElement })),\n [store],\n );\n const liveCount = [...store.entries.values()].filter((entry) => entry.overlayLive && entry.el).length;\n\n // A Shell given a height of its own sits inside a page, and its overlays\n // cover only its box: it holds no page lock. `full` is the page, and\n // `auto` grows with its content, so its overlays are placed on the window.\n const contained = height !== 'full' && height !== 'auto';\n\n /*\n * Containment is the Root's, not the pane's. Only the Root can see every live\n * overlay and every child at once. A per-pane effect, given two overlays,\n * inerts the other live overlay and restores values the other effect wrote,\n * which can leave the whole frame inert for good.\n *\n * Exempt are the scrim and each root child that CONTAINS a live overlay, so\n * a pane wrapped in a plain element is not inerted with its wrapper. A child\n * the Root inerts is marked, and closing clears only marked children, so\n * `inert` the app sets on a child is the app's before, during and after.\n */\n const contain = React.useCallback(() => {\n const rootEl = rootRef.current;\n if (!rootEl) return;\n const liveEls = livePanes().map((pane) => pane.el);\n for (const child of rootEl.children) {\n if (!(child instanceof HTMLElement) || child.classList.contains('rt-ShellScrim')) continue;\n const holdsLive = liveEls.some((el) => child === el || child.contains(el));\n if (liveEls.length === 0 || holdsLive) {\n if (child.hasAttribute(INERT_MARK)) {\n child.removeAttribute(INERT_MARK);\n child.inert = false;\n }\n } else if (!child.inert) {\n child.setAttribute(INERT_MARK, '');\n child.inert = true;\n }\n }\n }, [livePanes]);\n\n const returnFocusTo = React.useRef<HTMLElement | null>(null);\n const lastLive = React.useRef<LivePane[]>([]);\n const lastFocusInRoot = React.useRef<HTMLElement | null>(null);\n const holdsLock = React.useRef(false);\n\n /*\n * Focus can be taken away after the commit that moved it: a menu that\n * opened or closed a pane restores focus to its own trigger when it\n * finishes closing, which may be inert or hidden by then. For a few frames\n * after an overlay opens or closes, focus that ends up nowhere useful is\n * put back where it belongs.\n */\n const rescueFrame = React.useRef(0);\n const cancelRescue = React.useCallback(() => {\n if (rescueFrame.current) cancelAnimationFrame(rescueFrame.current);\n rescueFrame.current = 0;\n }, []);\n const rescueFocus = React.useCallback(\n (target: HTMLElement, lost: (active: Element | null) => boolean) => {\n cancelRescue();\n let frames = 0;\n const tick = () => {\n rescueFrame.current = 0;\n if (!target.isConnected) return;\n if (lost(target.ownerDocument.activeElement)) {\n target.focus({ preventScroll: true });\n return;\n }\n frames += 1;\n if (frames < RESCUE_FRAMES) rescueFrame.current = requestAnimationFrame(tick);\n };\n rescueFrame.current = requestAnimationFrame(tick);\n },\n [cancelRescue],\n );\n\n React.useEffect(\n () => () => {\n cancelRescue();\n if (holdsLock.current) {\n holdsLock.current = false;\n updatePageLock(-1);\n }\n },\n [cancelRescue],\n );\n\n // No dependency array, on purpose: a pane opening or closing is a render\n // of this component, and so is a child appearing through the Root.\n React.useEffect(() => {\n const rootEl = rootRef.current;\n if (!rootEl) return;\n const doc = rootEl.ownerDocument;\n const live = livePanes();\n const liveEls = live.map((pane) => pane.el);\n\n const wantsLock = !contained && live.length > 0;\n if (wantsLock !== holdsLock.current) {\n holdsLock.current = wantsLock;\n updatePageLock(wantsLock ? 1 : -1);\n }\n\n const previous = lastLive.current;\n lastLive.current = live;\n // A pane that left the live set because it closed, as opposed to one\n // that is still open but stopped being an overlay at a breakpoint.\n const closed = previous.filter((pane) => {\n if (liveEls.includes(pane.el)) return false;\n const entry = store.entries.get(pane.name);\n return !pane.el.isConnected || !entry || entry.el !== pane.el || entry.value === 'closed';\n });\n const inClosed = (active: Element | null) => active !== null && closed.some((pane) => pane.el.contains(active));\n\n // The return target is taken on the opening edge, before inerting: inerting\n // the subtree that holds the trigger blurs it. Focus already inside the\n // overlay (a pane that became one at a breakpoint) is no place to return\n // to, and an opener in a portal (a menu item) goes away with its menu, so\n // the last place focus held inside the frame stands in for it.\n if (previous.length === 0 && live.length > 0) {\n const active = doc.activeElement;\n let target = active instanceof HTMLElement && !isNowhere(doc, active) && !liveEls.some((el) => el.contains(active)) ? active : null;\n if (target && !rootEl.contains(target)) {\n const inRoot = lastFocusInRoot.current;\n if (inRoot && inRoot.isConnected && !liveEls.some((el) => el.contains(inRoot))) target = inRoot;\n }\n returnFocusTo.current = target;\n }\n\n contain();\n\n if (live.length === 0) {\n const before = returnFocusTo.current;\n returnFocusTo.current = null;\n // Every overlay that left only stopped being one: focus stays where it is.\n if (closed.length === 0) return;\n const usable = (el: HTMLElement | null) => el !== null && el.isConnected && !el.closest('[inert]') && !inClosed(el);\n let target = usable(before) ? before : null;\n for (const pane of closed) target ??= triggerFor(doc, pane.id);\n if (!target) return;\n const lost = (active: Element | null) => isNowhere(doc, active) || inClosed(active);\n if (lost(doc.activeElement)) target.focus({ preventScroll: true });\n else rescueFocus(target, lost);\n return;\n }\n\n // Some overlays closed while others stay: focus left in a closed one goes\n // to the Trigger that opened it, if a live pane holds it, or to the pane\n // on top.\n if (closed.length > 0) {\n const active = doc.activeElement;\n if (isNowhere(doc, active) || inClosed(active)) {\n let target: HTMLElement | null = null;\n for (const pane of closed) target ??= triggerFor(doc, pane.id, liveEls);\n (target ?? liveEls[liveEls.length - 1]).focus({ preventScroll: true });\n }\n }\n\n // Focus moves in on the opening edge and nowhere else, and only when it\n // is not already somewhere the user put it inside the live set.\n const opened = liveEls.filter((el) => !previous.some((pane) => pane.el === el));\n const active = doc.activeElement;\n if (opened.length > 0 && !liveEls.some((el) => el.contains(active))) {\n opened[0].focus({ preventScroll: true });\n rescueFocus(opened[0], (now) => isNowhere(doc, now) || (now instanceof Element && now.closest('[inert]') !== null));\n }\n });\n\n // A child that appears through its own state while an overlay is live does\n // not render the Root, so the Root watches its children while one is.\n React.useEffect(() => {\n const rootEl = rootRef.current;\n if (!rootEl || liveCount === 0 || typeof MutationObserver === 'undefined') return;\n const observer = new MutationObserver(contain);\n observer.observe(rootEl, { childList: true, subtree: true, attributes: true, attributeFilter: ['inert'] });\n return () => observer.disconnect();\n }, [liveCount, contain]);\n\n /*\n * Escape closes the overlays. It is handled as a React event on the Root, so\n * a component inside a pane that answers Escape in its own onKeyDown runs\n * first, and its preventDefault() or stopPropagation() keeps the pane open.\n * When the Root closes something it stops the event there, so a React\n * Escape handler above the Shell does not act on it too. A layer that\n * listens on the document in the capture phase (Radix dialogs, menus and\n * popovers) answers first and calls preventDefault() when it closes, so an\n * enclosing Kookie Dialog closes before a Shell inside it is asked.\n */\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.key !== 'Escape' || event.defaultPrevented || liveCount === 0) return;\n closeOverlays();\n event.stopPropagation();\n };\n\n // With focus on the document itself (a pane closed under it, or a menu that\n // closed and took focus with it), the Root never sees the key. While an\n // overlay is live the document answers that one case.\n React.useEffect(() => {\n const rootEl = rootRef.current;\n if (!rootEl || liveCount === 0) return;\n const doc = rootEl.ownerDocument;\n const onDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || event.defaultPrevented || !isNowhere(doc, event.target)) return;\n closeOverlays();\n };\n doc.addEventListener('keydown', onDocumentKeyDown);\n return () => doc.removeEventListener('keydown', onDocumentKeyDown);\n }, [liveCount, closeOverlays]);\n\n const handleFocus = (event: React.FocusEvent<HTMLDivElement>) => {\n onFocus?.(event);\n if (event.target instanceof HTMLElement && rootRef.current?.contains(event.target)) lastFocusInRoot.current = event.target;\n };\n\n // A floating Panel sits beside the Rail when the Rail is showing, and\n // beside its card when the Rail is inset.\n const rail = store.entries.get('rail');\n const railShown = rail !== undefined && rail.value !== undefined && rail.value !== 'closed';\n const railOffset = railShown ? (insetPanes.has('rail') ? `calc(${rail.size}px + 2 * var(--shell-inset-gap))` : `${rail.size}px`) : undefined;\n\n // `full` writes no inline height: the stylesheet states it as 100vh with a\n // 100dvh override where supported, and an inline value would beat both.\n const heightStyle: React.CSSProperties = height === 'full' ? {} : height === 'auto' ? { height: 'auto' } : typeof height === 'number' ? { height: `${height}px` } : { height };\n\n return (\n <ShellStoreContext.Provider value={store}>\n <ShellSizeContext.Provider value={size}>\n <ShellInsetContext.Provider value={insetContext}>\n {/* The Root is not a widget: it hears Escape bubbling up from the panes,\n after their own handlers, to close the overlays. */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n {...props}\n ref={composedRef}\n className={classNames('rt-ShellRoot', className)}\n data-height={height === 'auto' ? 'auto' : undefined}\n data-has-inset={insetPanes.size > 0 || undefined}\n data-overlay-live={liveCount > 0 || undefined}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n style={{ ...heightStyle, ...(railOffset ? ({ '--shell-rail-offset': railOffset } as CSSPropertiesWithVars) : {}), ...style }}\n >\n {children}\n {/* Root-owned and always mounted. The stylesheet shows it while an\n overlay is live; containment takes the rest of the frame out of\n the accessibility tree, so the scrim itself is hidden from it. */}\n <div className=\"rt-ShellScrim\" aria-hidden onClick={closeOverlays} />\n </div>\n </ShellInsetContext.Provider>\n </ShellSizeContext.Provider>\n </ShellStoreContext.Provider>\n );\n});\nRoot.displayName = 'Shell.Root';\n\n/* \u2500\u2500 Header \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ninterface ShellHeaderProps extends React.ComponentPropsWithoutRef<'header'> {\n height?: number;\n}\n\nconst Header = React.forwardRef<HTMLElement, ShellHeaderProps>(({ className, height = 64, style, ...props }, ref) => (\n <header\n {...props}\n ref={ref}\n className={classNames('rt-ShellHeader', className)}\n style={\n {\n ...style,\n '--shell-header-height': `${height}px`,\n } as CSSPropertiesWithVars\n }\n />\n));\nHeader.displayName = 'Shell.Header';\n\n/* \u2500\u2500 Left (deprecated) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ninterface LeftProps extends React.ComponentPropsWithoutRef<'div'> {\n presentation?: ResponsivePresentation;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean, meta: { reason: 'init' | 'toggle' | 'panel' | 'responsive' | 'dismiss' }) => void;\n collapsible?: boolean;\n onExpand?: () => void;\n onCollapse?: () => void;\n inset?: boolean;\n}\n\n/**\n * @deprecated The Root no longer wraps the Rail and Panel in a Left\n * container: each is its own pane. `Shell.Left` renders its children and\n * ignores its own props. Removed in 1.0.\n */\nconst Left = React.forwardRef<HTMLDivElement, LeftProps>(({ children }, _ref) => {\n React.useEffect(() => {\n warnOnce('Shell.Left is deprecated and is removed in 1.0. Render Shell.Rail and Shell.Panel directly in Shell.Root.');\n }, []);\n return <>{children}</>;\n});\nLeft.displayName = 'Shell.Left';\n\n/* \u2500\u2500 Rail \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ntype RailOpenChangeMeta = { reason: 'init' | 'toggle' | 'responsive' | 'panel' | 'dismiss' };\n\ntype RailControlledProps = { open: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: RailOpenChangeMeta) => void; defaultOpen?: never };\ntype RailUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: RailOpenChangeMeta) => void; open?: never };\n\ntype RailProps = React.ComponentPropsWithoutRef<'div'> & {\n presentation?: ResponsivePresentation;\n expandedSize?: number;\n collapsible?: boolean;\n /** @deprecated Use `onOpenChange`. */\n onExpand?: () => void;\n /** @deprecated Use `onOpenChange`. */\n onCollapse?: () => void;\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n} & (RailControlledProps | RailUncontrolledProps);\n\nconst RAIL_PROP_NAMES = { controlled: 'open', default: 'defaultOpen' };\n\nconst Rail = React.forwardRef<HTMLDivElement, RailProps>((props, ref) => {\n const { className, presentation, expandedSize = 64, collapsible: _collapsible, onExpand, onCollapse, children, style, open, defaultOpen, onOpenChange, inset, id, ...domProps } = props;\n const { table, attributes } = usePresentationTable(presentation, 'fixed');\n const pane = usePane({\n name: 'rail',\n label: 'Rail',\n propNames: RAIL_PROP_NAMES,\n id,\n controlled: toPaneValue(open),\n defaultValue: toPaneValue(defaultOpen),\n presentationTable: table,\n builtIn: navigationRest,\n onChange: (value, reason) => onOpenChange?.(value !== 'closed', { reason }),\n onExpand,\n onCollapse,\n size: expandedSize,\n });\n useInsetRegistration('rail', inset);\n const composedRef = useComposedRefs(ref, pane.setElement);\n\n return (\n <div\n {...domProps}\n id={pane.id}\n ref={composedRef}\n className={classNames('rt-ShellPane', 'rt-ShellRail', className)}\n {...paneAttributes(pane, attributes)}\n data-inset={inset || undefined}\n tabIndex={pane.overlaying ? -1 : domProps.tabIndex}\n style={{ ...style, '--rail-size': `${expandedSize}px` } as CSSPropertiesWithVars}\n >\n <RailContent>{children}</RailContent>\n </div>\n );\n});\nRail.displayName = 'Shell.Rail';\n\n/** The Rail's content carries the index, so the thin row styles can size themselves by it. */\nfunction RailContent({ children }: { children: React.ReactNode }) {\n const size = React.useContext(ShellSizeContext);\n return (\n <div className={classNames('rt-ShellRailContent', `rt-r-size-${size}`)}>\n <PaneChromeScope presentation=\"thin\">{children}</PaneChromeScope>\n </div>\n );\n}\n\n/* \u2500\u2500 Panel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ntype HandleComponent = React.ForwardRefExoticComponent<React.ComponentPropsWithoutRef<'div'> & React.RefAttributes<HTMLDivElement>>;\n\ntype PanelOpenChangeMeta = { reason: 'toggle' | 'left' | 'init' | 'responsive' | 'dismiss' };\ntype PanelControlledProps = { open: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: PanelOpenChangeMeta) => void; defaultOpen?: never };\ntype PanelUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: PanelOpenChangeMeta) => void; open?: never };\n\ntype PanelSizeControlledProps = { size: number | string; defaultSize?: never };\ntype PanelSizeUncontrolledProps = { defaultSize?: number | string; size?: never };\n\ntype PanelSizeChangeMeta = { reason: 'init' | 'resize' | 'controlled' };\ntype PanelPublicProps = PaneBaseProps &\n (PanelControlledProps | PanelUncontrolledProps) &\n (PanelSizeControlledProps | PanelSizeUncontrolledProps) & {\n onSizeChange?: (size: number, meta: PanelSizeChangeMeta) => void;\n sizeUpdate?: 'throttle' | 'debounce';\n sizeUpdateMs?: number;\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n };\ntype PanelComponent = React.ForwardRefExoticComponent<PanelPublicProps & React.RefAttributes<HTMLDivElement>> & {\n Handle: HandleComponent;\n};\n\nconst PANEL_PROP_NAMES = { controlled: 'open', default: 'defaultOpen' };\n\n/**\n * A Panel with a `presentation` of its own uses it. One without follows the\n * Rail rendered before it, which is how 0.7 placed a Panel; the stylesheet\n * reads the Rail's attributes for the first paint and the registry carries\n * the Rail's table for the JS mirror.\n */\nconst Panel = React.forwardRef<HTMLDivElement, PanelPublicProps>((props, ref) => {\n const {\n className,\n presentation,\n defaultOpen,\n open,\n onOpenChange,\n size,\n defaultSize,\n expandedSize = 288,\n minSize = 100,\n maxSize = 800,\n resizable = false,\n collapsible = true,\n onExpand,\n onCollapse,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n paneId,\n persistence,\n children,\n style,\n onSizeChange,\n sizeUpdate,\n sizeUpdateMs = 50,\n inset,\n id,\n ...domProps\n } = props;\n const store = useShellStore('Shell.Panel');\n const rail = usePaneEntry(store, 'rail');\n const own = usePresentationTable(presentation, 'fixed');\n const followsRail = presentation === undefined;\n const presentationTable = followsRail ? (rail?.presentationTable ?? FIXED_TABLE) : own.table;\n const presentationAttributes = followsRail ? { 'data-presentation-follows': '' } : own.attributes;\n\n const pane = usePane({\n name: 'panel',\n label: 'Panel',\n propNames: PANEL_PROP_NAMES,\n id,\n controlled: toPaneValue(open),\n defaultValue: toPaneValue(defaultOpen),\n presentationTable,\n builtIn: detailRest,\n onChange: (value, reason) => onOpenChange?.(value !== 'closed', { reason }),\n onExpand,\n onCollapse,\n size: expandedSize,\n });\n useInsetRegistration('panel', inset);\n\n React.useEffect(() => {\n if (snapPoints !== undefined || collapseThreshold !== undefined || paneId !== undefined || persistence !== undefined) {\n warnOnce('Shell.Panel: `snapPoints`, `collapseThreshold`, `paneId` and `persistence` are deprecated and are removed in 1.0. Keep the size in your own state with `size`/`onSizeChange`.');\n }\n }, [snapPoints, collapseThreshold, paneId, persistence]);\n\n const elementRef = React.useRef<HTMLElement | null>(null);\n const composedRef = useComposedRefs(ref, pane.setElement, elementRef);\n\n const resize = useResizablePane({\n name: 'panel',\n elementId: pane.id,\n elementRef,\n cssVarName: '--panel-size',\n orientation: 'vertical',\n edge: 'end',\n growth: startAnchoredGrowth,\n expandedSize,\n minSize,\n maxSize,\n resizable,\n collapsible,\n size,\n defaultSize,\n onSizeChange,\n sizeUpdate,\n sizeUpdateMs,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n paneId,\n persistence,\n overlaying: pane.overlaying,\n // Asked when the effect runs: the Rail registers its table after this\n // Panel first renders, so the render's answer can be out of date.\n overlayingNow: () => {\n const table = followsRail ? (store.entries.get('rail')?.presentationTable ?? FIXED_TABLE) : own.table;\n return table[readBreakpoint()] === 'overlay';\n },\n requestCollapse: () => pane.setValue('closed', 'toggle'),\n requestToggle: () => pane.toggle('toggle'),\n });\n\n const { handles, content } = splitHandles(children, PanelHandle);\n const handle = resizable && pane.shown !== false && !pane.overlaying ? <PaneResizeContext.Provider value={resize}>{handles.length > 0 ? handles : <PaneHandle />}</PaneResizeContext.Provider> : null;\n\n return (\n <div\n {...withoutRemovedPaneProps(domProps)}\n id={pane.id}\n ref={composedRef}\n className={classNames('rt-ShellPane', 'rt-ShellPanel', className)}\n {...paneAttributes(pane, presentationAttributes)}\n data-inset={inset || undefined}\n tabIndex={pane.overlaying ? -1 : domProps.tabIndex}\n style={\n {\n ...style,\n '--panel-expanded-size': `${expandedSize}px`,\n } as CSSPropertiesWithVars\n }\n >\n <div className=\"rt-ShellPanelContent\">\n <PaneChromeScope>{content}</PaneChromeScope>\n </div>\n {handle}\n </div>\n );\n}) as PanelComponent;\nPanel.displayName = 'Shell.Panel';\nPanel.Handle = PanelHandle;\n\n/* \u2500\u2500 Content \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ninterface ShellContentProps extends React.ComponentPropsWithoutRef<'main'> {\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n}\n\nconst Content = React.forwardRef<HTMLElement, ShellContentProps>(({ className, inset, ...props }, ref) => {\n useInsetRegistration('content', inset);\n return <main {...props} ref={ref} className={classNames('rt-ShellContent', className)} data-inset={inset || undefined} />;\n});\nContent.displayName = 'Shell.Content';\n\n/* \u2500\u2500 Trigger \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ntype TriggerAction = 'toggle' | 'expand' | 'collapse';\n\ninterface TriggerProps extends React.ComponentPropsWithoutRef<'button'> {\n target: PaneTarget;\n action?: TriggerAction;\n /**\n * Whether to show a preview of the target pane on hover while it is closed\n * and not an overlay. Defaults to false.\n *\n * @deprecated Removed in 1.0. A preview reachable only by mouse hover has no\n * keyboard or touch equivalent; open the pane instead.\n */\n peekOnHover?: boolean;\n}\n\n/**\n * A button that drives a pane by name, through the registry. It sets\n * `aria-controls` and `aria-expanded` (left off while an untouched pane\n * cannot know its state yet), renders `type=\"button\"`, and runs the\n * consumer's `onClick` first: calling `preventDefault()` there cancels it.\n */\nconst Trigger = React.forwardRef<HTMLButtonElement, TriggerProps>(({ target, action = 'toggle', peekOnHover, onClick, onMouseEnter, onMouseLeave, children, ...props }, ref) => {\n const store = useShellStore('Shell.Trigger');\n React.useEffect(() => {\n if (target === 'left') warnOnce('Shell.Trigger target=\"left\" is deprecated and is removed in 1.0. Use target=\"rail\".');\n if (peekOnHover) warnOnce('Shell.Trigger: `peekOnHover` is deprecated and is removed in 1.0.');\n }, [target, peekOnHover]);\n const name: PaneName = target === 'left' ? 'rail' : target;\n // Subscribes to its own pane only.\n const entry = usePaneEntry(store, name);\n const shown = entry?.value === undefined ? undefined : entry.value !== 'closed';\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n const current = store.entries.get(name);\n if (!current) return;\n if (store.peek === name) setShellPeek(store, null);\n if (action === 'toggle') current.toggle('toggle');\n else if (action === 'expand') current.setValue('open', 'toggle');\n else current.setValue('closed', 'toggle');\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseEnter?.(event);\n if (!peekOnHover) return;\n const current = store.entries.get(name);\n if (current && current.value === 'closed' && current.presentation !== 'overlay') setShellPeek(store, name);\n };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseLeave?.(event);\n if (peekOnHover && store.peek === name) setShellPeek(store, null);\n };\n\n return (\n <button\n // A button's default type is `submit`. Stated before the spread, so a consumer's own wins.\n type=\"button\"\n aria-controls={entry?.id}\n aria-expanded={shown}\n {...props}\n ref={ref}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n data-shell-trigger={target}\n data-shell-action={action}\n >\n {children}\n </button>\n );\n});\nTrigger.displayName = 'Shell.Trigger';\n\n// Exports\nexport {\n Root,\n Header,\n Left,\n Rail,\n Panel,\n Sidebar,\n Content,\n Inspector,\n Bottom,\n Trigger,\n PaneHeader,\n PaneFooter,\n Scroll,\n useShell,\n useSidebarMode,\n useResponsivePresentation,\n type PaneMode,\n type SidebarMode,\n type ResponsivePresentation,\n type PaneTarget,\n type TriggerAction,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["shell_exports", "__export", "Bottom", "Content", "Header", "Inspector", "Left", "PaneFooter", "PaneHeader", "Panel", "Rail", "Root", "Scroll", "Sidebar", "Trigger", "useResponsivePresentation", "useShell", "useSidebarMode", "React", "classNames", "useComposedRefs", "pageLockHolders", "updatePageLock", "delta", "doc", "INERT_MARK", "RESCUE_FRAMES", "isNowhere", "el", "triggerFor", "id", "within", "pane", "shellSizePropDef", "Root", "className", "children", "height", "sizeProp", "style", "onKeyDown", "onFocus", "props", "ref", "size", "useThemeSize", "store", "createShellStore", "subscribe", "listener", "subscribeShellStore", "rootRef", "composedRef", "useComposedRefs", "insetPanes", "setInsetPanes", "registerInset", "prev", "unregisterInset", "next", "insetContext", "closeOverlays", "entry", "livePanes", "liveCount", "contained", "contain", "rootEl", "liveEls", "child", "holdsLive", "returnFocusTo", "lastLive", "lastFocusInRoot", "holdsLock", "rescueFrame", "cancelRescue", "rescueFocus", "target", "lost", "frames", "tick", "live", "wantsLock", "previous", "closed", "inClosed", "active", "inRoot", "before", "opened", "now", "observer", "handleKeyDown", "event", "onDocumentKeyDown", "handleFocus", "rail", "railOffset", "heightStyle", "ShellStoreContext", "ShellSizeContext", "ShellInsetContext", "classNames", "Header", "Left", "_ref", "RAIL_PROP_NAMES", "Rail", "presentation", "expandedSize", "_collapsible", "onExpand", "onCollapse", "open", "defaultOpen", "onOpenChange", "inset", "domProps", "table", "attributes", "usePresentationTable", "usePane", "toPaneValue", "navigationRest", "value", "reason", "useInsetRegistration", "paneAttributes", "RailContent", "PaneChromeScope", "PANEL_PROP_NAMES", "Panel", "defaultSize", "minSize", "maxSize", "resizable", "collapsible", "onResize", "onResizeStart", "onResizeEnd", "snapPoints", "snapTolerance", "collapseThreshold", "paneId", "persistence", "onSizeChange", "sizeUpdate", "sizeUpdateMs", "useShellStore", "usePaneEntry", "own", "followsRail", "presentationTable", "FIXED_TABLE", "presentationAttributes", "detailRest", "elementRef", "resize", "useResizablePane", "startAnchoredGrowth", "readBreakpoint", "handles", "content", "splitHandles", "PanelHandle", "handle", "PaneResizeContext", "PaneHandle", "withoutRemovedPaneProps", "Content", "Trigger", "action", "peekOnHover", "onClick", "onMouseEnter", "onMouseLeave", "name", "shown", "handleClick", "current", "setShellPeek", "handleMouseEnter", "handleMouseLeave"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as r}from"./chunk-WAURCNAS.js";import{a as B}from"./chunk-F22ZRNWL.js";import{a as o}from"./chunk-VLLJ7A6P.js";import{b as w}from"./chunk-3YLYGKFB.js";import*as e from"react";import M from"classnames";import{Direction as N,Slot as W,Tooltip as j}from"radix-ui";import{useComposedRefs as L,useLayoutEffect as q}from"radix-ui/internal";var n=()=>{},J={appearance:o.appearance.default,accentColor:o.accentColor.default,grayColor:o.grayColor.default,resolvedGrayColor:o.grayColor.default,radius:o.radius.default,fontFamily:o.fontFamily.default,headingFontFamily:void 0,size:o.size.default,onAppearanceChange:n,onAccentColorChange:n,onGrayColorChange:n,onRadiusChange:n,onFontFamilyChange:n,onHeadingFontFamilyChange:n,onSizeChange:n},A=e.createContext(void 0);function oe(){return e.useContext(A)??J}var K=e.forwardRef((a,l)=>{let t=e.useContext(A),d=N.useDirection();return t===void 0?e.createElement(j.Provider,{delayDuration:200},e.createElement(N.Provider,{dir:d},e.createElement(O,{...a,ref:l}))):e.createElement(k,{...a,ref:l})});K.displayName="Theme";var O=e.forwardRef((a,l)=>{let{appearance:t=o.appearance.default,accentColor:d=o.accentColor.default,grayColor:i=o.grayColor.default,radius:g=o.radius.default,fontFamily:m=o.fontFamily.default,headingFontFamily:s,size:c=o.size.default,hasBackground:h=o.hasBackground.default,...p}=a,[u,f]=r(t),[F,T]=r(d),[P,v]=r(i),[R,x]=r(g),[z,C]=r(m),[b,y]=r(s),[I,S]=r(c);return e.createElement(k,{...p,ref:l,isRoot:!0,hasBackground:h,appearance:u,accentColor:F,grayColor:P,radius:R,fontFamily:z,headingFontFamily:b,size:I,onAppearanceChange:f,onAccentColorChange:T,onGrayColorChange:v,onRadiusChange:x,onFontFamilyChange:C,onHeadingFontFamilyChange:y,onSizeChange:S})});O.displayName="ThemeRoot";function Q(){if(typeof navigator>"u")return;let a=navigator.userAgent;if(a.includes("Win"))return"windows";if(a.includes("Mac"))return"macos";if(a.includes("Linux"))return"linux"}var k=e.forwardRef((a,l)=>{let t=e.useContext(A),{asChild:d,isRoot:i,hasBackground:g,appearance:m=a.appearance??t?.appearance??o.appearance.default,accentColor:s=a.accentColor??t?.accentColor??o.accentColor.default,grayColor:c=a.grayColor??t?.resolvedGrayColor??o.grayColor.default,radius:h=a.radius??t?.radius??o.radius.default,fontFamily:p=a.fontFamily??t?.fontFamily??o.fontFamily.default,headingFontFamily:u=a.headingFontFamily??t?.headingFontFamily,size:f=a.size??t?.size??o.size.default,onAppearanceChange:F=n,onAccentColorChange:T=n,onGrayColorChange:P=n,onRadiusChange:v=n,onFontFamilyChange:R=n,onHeadingFontFamilyChange:x=n,onSizeChange:z=n,...C}=a,b=d?W.Root:"div",y=c==="auto"?B(s):c,I=a.appearance==="light"||a.appearance==="dark",S=g===void 0?i||I:g,D=e.useRef(null),V=L(l,D),H="data-os"in C;return q(()=>{if(!i||H)return;let G=D.current;if(!G)return;let E=Q();if(E)return G.setAttribute("data-os",E),()=>G.removeAttribute("data-os")},[i,H]),e.createElement(A.Provider,{value:e.useMemo(()=>({appearance:m,accentColor:s,grayColor:c,resolvedGrayColor:y,radius:h,fontFamily:p,headingFontFamily:u,size:f,onAppearanceChange:F,onAccentColorChange:T,onGrayColorChange:P,onRadiusChange:v,onFontFamilyChange:R,onHeadingFontFamilyChange:x,onSizeChange:z}),[m,s,c,y,h,p,u,f,F,T,P,v,R,x,z])},e.createElement(w.Provider,{value:f},e.createElement(b,{"data-is-root-theme":i?"true":"false","data-accent-color":s,"data-gray-color":y,"data-has-background":S?"true":"false","data-radius":h,"data-font-family":p,"data-heading-font-family":u,ref:V,...C,className:M("radix-themes",{light:m==="light",dark:m==="dark"},C.className)})))});k.displayName="ThemeImpl";export{A as a,oe as b,K as c};
2
+ //# sourceMappingURL=chunk-6AZV4VFW.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/theme.tsx"],
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Direction, Slot, Tooltip as TooltipPrimitive } from 'radix-ui';\nimport { useComposedRefs, useLayoutEffect } from 'radix-ui/internal';\n\nimport { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';\nimport { ThemeSizeContext } from '../helpers/theme-size.js';\nimport { usePropSyncedState } from '../hooks/use-prop-synced-state.js';\nimport { themePropDefs } from './theme.props.js';\n\nimport type { ThemeOwnProps } from './theme.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\nconst noop = () => {};\n\ntype ThemeAppearance = (typeof themePropDefs.appearance.values)[number];\ntype ThemeAccentColor = (typeof themePropDefs.accentColor.values)[number];\ntype ThemeGrayColor = (typeof themePropDefs.grayColor.values)[number];\ntype ThemeRadius = (typeof themePropDefs.radius.values)[number];\ntype ThemeFontFamily = (typeof themePropDefs.fontFamily.values)[number];\ntype ThemeSize = (typeof themePropDefs.size.values)[number];\n// Headings follow the body font until something sets this, so `undefined` is a\n// meaningful value here rather than a missing one.\ntype ThemeHeadingFontFamily = ThemeFontFamily | undefined;\n\ninterface ThemeChangeHandlers {\n onAppearanceChange: (appearance: ThemeAppearance) => void;\n onAccentColorChange: (accentColor: ThemeAccentColor) => void;\n onGrayColorChange: (grayColor: ThemeGrayColor) => void;\n onRadiusChange: (radius: ThemeRadius) => void;\n onFontFamilyChange: (fontFamily: ThemeFontFamily) => void;\n onHeadingFontFamilyChange: (headingFontFamily: ThemeHeadingFontFamily) => void;\n onSizeChange: (size: ThemeSize) => void;\n}\n\ninterface ThemeContextValue extends ThemeChangeHandlers {\n appearance: ThemeAppearance;\n accentColor: ThemeAccentColor;\n grayColor: ThemeGrayColor;\n resolvedGrayColor: ThemeGrayColor;\n radius: ThemeRadius;\n fontFamily: ThemeFontFamily;\n headingFontFamily: ThemeHeadingFontFamily;\n size: ThemeSize;\n}\n// Default theme values used when components render outside a Theme provider\nconst defaultThemeContext: ThemeContextValue = {\n appearance: themePropDefs.appearance.default,\n accentColor: themePropDefs.accentColor.default,\n grayColor: themePropDefs.grayColor.default,\n resolvedGrayColor: themePropDefs.grayColor.default,\n radius: themePropDefs.radius.default,\n fontFamily: themePropDefs.fontFamily.default,\n headingFontFamily: undefined,\n size: themePropDefs.size.default,\n onAppearanceChange: noop,\n onAccentColorChange: noop,\n onGrayColorChange: noop,\n onRadiusChange: noop,\n onFontFamilyChange: noop,\n onHeadingFontFamilyChange: noop,\n onSizeChange: noop,\n};\n\nconst ThemeContext = React.createContext<ThemeContextValue | undefined>(undefined);\n\nfunction useThemeContext() {\n const context = React.useContext(ThemeContext);\n // Return default context if used outside Theme provider (e.g., during SSR)\n return context ?? defaultThemeContext;\n}\n\ninterface ThemeProps extends ThemeImplPublicProps {}\nconst Theme = React.forwardRef<ThemeImplElement, ThemeProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n // Direction is inherited: a Radix DirectionProvider above the Theme (for a right-to-left app)\n // wins, and left-to-right stays the default when there is none.\n const dir = Direction.useDirection();\n const isRoot = context === undefined;\n if (isRoot) {\n return (\n <TooltipPrimitive.Provider delayDuration={200}>\n <Direction.Provider dir={dir}>\n <ThemeRoot {...props} ref={forwardedRef} />\n </Direction.Provider>\n </TooltipPrimitive.Provider>\n );\n }\n return <ThemeImpl {...props} ref={forwardedRef} />;\n});\nTheme.displayName = 'Theme';\n\nconst ThemeRoot = React.forwardRef<ThemeImplElement, ThemeImplPublicProps>((props, forwardedRef) => {\n const {\n appearance: appearanceProp = themePropDefs.appearance.default,\n accentColor: accentColorProp = themePropDefs.accentColor.default,\n grayColor: grayColorProp = themePropDefs.grayColor.default,\n radius: radiusProp = themePropDefs.radius.default,\n fontFamily: fontFamilyProp = themePropDefs.fontFamily.default,\n headingFontFamily: headingFontFamilyProp,\n size: sizeProp = themePropDefs.size.default,\n hasBackground = themePropDefs.hasBackground.default,\n ...rootProps\n } = props;\n\n // Each of these follows its prop but stays independently settable, so\n // `ThemePanel` can change the theme at runtime. Syncing during render\n // rather than in an effect matters here: an effect would commit the old\n // theme first and re-render every consumer of the context a second time.\n const [appearance, setAppearance] = usePropSyncedState(appearanceProp);\n const [accentColor, setAccentColor] = usePropSyncedState(accentColorProp);\n const [grayColor, setGrayColor] = usePropSyncedState(grayColorProp);\n const [radius, setRadius] = usePropSyncedState(radiusProp);\n const [fontFamily, setFontFamily] = usePropSyncedState(fontFamilyProp);\n const [headingFontFamily, setHeadingFontFamily] = usePropSyncedState(headingFontFamilyProp);\n const [size, setSize] = usePropSyncedState(sizeProp);\n\n return (\n <ThemeImpl\n {...rootProps}\n ref={forwardedRef}\n isRoot\n hasBackground={hasBackground}\n //\n appearance={appearance}\n accentColor={accentColor}\n grayColor={grayColor}\n radius={radius}\n fontFamily={fontFamily}\n headingFontFamily={headingFontFamily}\n size={size}\n //\n onAppearanceChange={setAppearance}\n onAccentColorChange={setAccentColor}\n onGrayColorChange={setGrayColor}\n onRadiusChange={setRadius}\n onFontFamilyChange={setFontFamily}\n onHeadingFontFamilyChange={setHeadingFontFamily}\n onSizeChange={setSize}\n />\n );\n});\nThemeRoot.displayName = 'ThemeRoot';\n\ntype ThemeImplElement = React.ElementRef<'div'>;\ninterface ThemeImplProps extends ThemeImplPublicProps, ThemeImplPrivateProps {}\ninterface ThemeImplPublicProps extends ComponentPropsWithout<'div', RemovedProps | 'dir'>, ThemeOwnProps {}\ninterface ThemeImplPrivateProps extends Partial<ThemeChangeHandlers> {\n isRoot?: boolean;\n}\nfunction getClientOS(): 'windows' | 'macos' | 'linux' | undefined {\n if (typeof navigator === 'undefined') return undefined;\n const ua = navigator.userAgent;\n if (ua.includes('Win')) return 'windows';\n if (ua.includes('Mac')) return 'macos';\n if (ua.includes('Linux')) return 'linux';\n return undefined;\n}\n\nconst ThemeImpl = React.forwardRef<ThemeImplElement, ThemeImplProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n const {\n asChild,\n isRoot,\n hasBackground: hasBackgroundProp,\n //\n appearance = props.appearance ?? context?.appearance ?? themePropDefs.appearance.default,\n accentColor = props.accentColor ?? context?.accentColor ?? themePropDefs.accentColor.default,\n grayColor = props.grayColor ?? context?.resolvedGrayColor ?? themePropDefs.grayColor.default,\n radius = props.radius ?? context?.radius ?? themePropDefs.radius.default,\n fontFamily = props.fontFamily ?? context?.fontFamily ?? themePropDefs.fontFamily.default,\n headingFontFamily = props.headingFontFamily ?? context?.headingFontFamily,\n size = props.size ?? context?.size ?? themePropDefs.size.default,\n //\n onAppearanceChange = noop,\n onAccentColorChange = noop,\n onGrayColorChange = noop,\n onRadiusChange = noop,\n onFontFamilyChange = noop,\n onHeadingFontFamilyChange = noop,\n onSizeChange = noop,\n //\n ...themeProps\n } = props;\n const Comp = asChild ? Slot.Root : 'div';\n const resolvedGrayColor = grayColor === 'auto' ? getMatchingGrayColor(accentColor) : grayColor;\n const isExplicitAppearance = props.appearance === 'light' || props.appearance === 'dark';\n const hasBackground = hasBackgroundProp === undefined ? isRoot || isExplicitAppearance : hasBackgroundProp;\n\n // `data-os` can only be resolved on the client. Writing it straight to the\n // DOM keeps it out of the server markup \u2014 so hydration still matches \u2014 without\n // spending a render pass, and a state update here would re-render the whole\n // application on mount.\n const rootRef = React.useRef<ThemeImplElement>(null);\n const composedRef = useComposedRefs(forwardedRef, rootRef);\n const hasExplicitOS = 'data-os' in themeProps;\n\n useLayoutEffect(() => {\n if (!isRoot || hasExplicitOS) return;\n const node = rootRef.current;\n if (!node) return;\n\n const os = getClientOS();\n if (!os) return;\n node.setAttribute('data-os', os);\n return () => node.removeAttribute('data-os');\n }, [isRoot, hasExplicitOS]);\n\n return (\n <ThemeContext.Provider\n value={React.useMemo(\n () => ({\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n radius,\n fontFamily,\n headingFontFamily,\n size,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onRadiusChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n onSizeChange,\n }),\n [\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n radius,\n fontFamily,\n headingFontFamily,\n size,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onRadiusChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n onSizeChange,\n ],\n )}\n >\n {/* Size travels on its own context as a bare string, so the components\n that read it do not re-render when another theme value changes. */}\n <ThemeSizeContext.Provider value={size}>\n <Comp\n data-is-root-theme={isRoot ? 'true' : 'false'}\n data-accent-color={accentColor}\n data-gray-color={resolvedGrayColor}\n // for nested `Theme` background\n data-has-background={hasBackground ? 'true' : 'false'}\n data-radius={radius}\n data-font-family={fontFamily}\n data-heading-font-family={headingFontFamily}\n ref={composedRef}\n {...themeProps}\n className={classNames(\n 'radix-themes',\n {\n light: appearance === 'light',\n dark: appearance === 'dark',\n },\n themeProps.className,\n )}\n />\n </ThemeSizeContext.Provider>\n </ThemeContext.Provider>\n );\n});\nThemeImpl.displayName = 'ThemeImpl';\n\nexport { Theme, ThemeContext, useThemeContext };\nexport type { ThemeProps, ThemeContextValue };\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "classNames", "Direction", "Slot", "TooltipPrimitive", "useComposedRefs", "useLayoutEffect", "noop", "defaultThemeContext", "themePropDefs", "ThemeContext", "useThemeContext", "Theme", "props", "forwardedRef", "context", "dir", "Direction", "TooltipPrimitive", "ThemeRoot", "ThemeImpl", "appearanceProp", "accentColorProp", "grayColorProp", "radiusProp", "fontFamilyProp", "headingFontFamilyProp", "sizeProp", "hasBackground", "rootProps", "appearance", "setAppearance", "usePropSyncedState", "accentColor", "setAccentColor", "grayColor", "setGrayColor", "radius", "setRadius", "fontFamily", "setFontFamily", "headingFontFamily", "setHeadingFontFamily", "size", "setSize", "getClientOS", "ua", "asChild", "isRoot", "hasBackgroundProp", "onAppearanceChange", "onAccentColorChange", "onGrayColorChange", "onRadiusChange", "onFontFamilyChange", "onHeadingFontFamilyChange", "onSizeChange", "themeProps", "Comp", "Slot", "resolvedGrayColor", "getMatchingGrayColor", "isExplicitAppearance", "rootRef", "composedRef", "useComposedRefs", "hasExplicitOS", "useLayoutEffect", "node", "os", "ThemeSizeContext", "classNames"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as f}from"./chunk-BFLO4IVZ.js";import{a as s}from"./chunk-MJJ7XDIP.js";import{c as d}from"./chunk-6AZV4VFW.js";import{a as P}from"./chunk-O6K6RZXY.js";import{a as A}from"./chunk-2O3WL25H.js";import{a as c}from"./chunk-UBSLEGQZ.js";import{a as M}from"./chunk-OS3FCYZY.js";var B={};M(B,{Action:()=>T,Cancel:()=>E,Content:()=>R,Description:()=>v,Root:()=>C,Title:()=>u,Trigger:()=>y});import*as e from"react";import W from"classnames";import{AlertDialog as l}from"radix-ui";var C=t=>e.createElement(l.Root,{...t});C.displayName="AlertDialog.Root";var y=e.forwardRef(({children:t,...o},r)=>e.createElement(l.Trigger,{...o,ref:r,asChild:!0},s(t)));y.displayName="AlertDialog.Trigger";var{align:L,...O}=A,S={align:L},R=e.forwardRef(({align:t,...o},r)=>{let{className:h}=c({align:t},S),{className:N,forceMount:x,container:b,...w}=c(o,O),g=e.useRef(null),H=e.useMemo(()=>i=>{g.current=i,typeof r=="function"?r(i):r&&(r.current=i)},[r]);return e.useEffect(()=>{if(typeof window>"u")return;let i=g.current;if(!i)return;let a=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(a.length===0)return;let p=a[0],m=a[a.length-1],D=n=>{n.key==="Tab"&&(n.shiftKey?document.activeElement===p&&(n.preventDefault(),m.focus()):document.activeElement===m&&(n.preventDefault(),p.focus()))};return i.addEventListener("keydown",D),p.focus(),()=>{i.removeEventListener("keydown",D)}},[]),e.createElement(l.Portal,{container:b,forceMount:x},e.createElement(d,{asChild:!0},e.createElement(l.Overlay,{className:"rt-BaseDialogOverlay rt-AlertDialogOverlay"},e.createElement("div",{className:"rt-BaseDialogScroll rt-AlertDialogScroll"},e.createElement("div",{className:`rt-BaseDialogScrollPadding rt-AlertDialogScrollPadding ${h}`},e.createElement(l.Content,{...w,ref:H,className:W("rt-BaseDialogContent","rt-AlertDialogContent",N),tabIndex:-1,role:"alertdialog","aria-modal":"true","aria-describedby":"alert-dialog-description",onCloseAutoFocus:i=>{i.preventDefault(),document.body.style.pointerEvents=""}}),e.createElement("div",{"aria-live":"assertive","aria-atomic":"true",className:"rt-sr-only",id:"alert-dialog-announcement"}))))))});R.displayName="AlertDialog.Content";var u=e.forwardRef((t,o)=>e.createElement(l.Title,{asChild:!0},e.createElement(f,{size:"5",mb:"4",trim:"start",...t,asChild:!1,ref:o})));u.displayName="AlertDialog.Title";var v=e.forwardRef((t,o)=>e.createElement(l.Description,{asChild:!0},e.createElement(P,{as:"p",size:"3",...t,asChild:!1,ref:o})));v.displayName="AlertDialog.Description";var T=e.forwardRef(({children:t,...o},r)=>e.createElement(l.Action,{...o,ref:r,asChild:!0},s(t)));T.displayName="AlertDialog.Action";var E=e.forwardRef(({children:t,...o},r)=>e.createElement(l.Cancel,{...o,ref:r,asChild:!0},s(t)));E.displayName="AlertDialog.Cancel";export{C as a,y as b,R as c,u as d,v as e,T as f,E as g,B as h};
2
+ //# sourceMappingURL=chunk-6YWDEANN.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/alert-dialog.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { AlertDialog as AlertDialogPrimitive } from 'radix-ui';\n\nimport { alertDialogContentPropDefs } from './alert-dialog.props.js';\nimport { Heading } from './heading.js';\nimport { Text } from './text.js';\nimport { Theme } from './theme.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\n\nimport type { AlertDialogContentOwnProps } from './alert-dialog.props.js';\nimport type {\n ComponentPropsWithout,\n RemovedProps,\n ComponentPropsAs,\n} from '../helpers/component-props.js';\n\ninterface AlertDialogRootProps\n extends React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Root> {}\nconst AlertDialogRoot: React.FC<AlertDialogRootProps> = (props) => (\n <AlertDialogPrimitive.Root {...props} />\n);\nAlertDialogRoot.displayName = 'AlertDialog.Root';\n\ntype AlertDialogTriggerElement = React.ElementRef<typeof AlertDialogPrimitive.Trigger>;\ninterface AlertDialogTriggerProps\n extends ComponentPropsWithout<typeof AlertDialogPrimitive.Trigger, RemovedProps> {}\nconst AlertDialogTrigger = React.forwardRef<AlertDialogTriggerElement, AlertDialogTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <AlertDialogPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </AlertDialogPrimitive.Trigger>\n ),\n);\nAlertDialogTrigger.displayName = 'AlertDialog.Trigger';\n\n// Split once at module scope. `extractProps` memoises on the identity of the\n// prop def objects it is handed, so rebuilding these per render would recompile\n// them on every render.\nconst {\n align: alignPropDef,\n ...contentPropDefs\n} = alertDialogContentPropDefs;\nconst alignPropDefs = { align: alignPropDef };\n\ntype AlertDialogContentElement = React.ElementRef<typeof AlertDialogPrimitive.Content>;\ninterface AlertDialogContentProps\n extends ComponentPropsWithout<typeof AlertDialogPrimitive.Content, RemovedProps>,\n AlertDialogContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Portal>['container'];\n}\nconst AlertDialogContent = React.forwardRef<AlertDialogContentElement, AlertDialogContentProps>(\n ({ align, ...props }, forwardedRef) => {\n const { className: alignClassName } = extractProps({ align }, alignPropDefs);\n\n const {\n className,\n forceMount,\n container,\n ...contentProps\n } = extractProps(props, contentPropDefs);\n\n // Focus management\n const contentRef = React.useRef<HTMLDivElement>(null);\n const combinedRef = React.useMemo(\n () => (node: HTMLDivElement | null) => {\n contentRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n },\n [forwardedRef],\n );\n\n // Focus trap effect\n React.useEffect(() => {\n // SSR safety - only run on client\n if (typeof window === 'undefined') return;\n\n const content = contentRef.current;\n if (!content) return;\n\n const focusableElements = content.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n\n if (focusableElements.length === 0) return;\n\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey) {\n if (document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n }\n } else {\n if (document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n }\n };\n\n content.addEventListener('keydown', handleKeyDown);\n\n // Focus first element when dialog opens\n firstElement.focus();\n\n return () => {\n content.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n return (\n <AlertDialogPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <AlertDialogPrimitive.Overlay className=\"rt-BaseDialogOverlay rt-AlertDialogOverlay\">\n <div className=\"rt-BaseDialogScroll rt-AlertDialogScroll\">\n <div\n className={`rt-BaseDialogScrollPadding rt-AlertDialogScrollPadding ${alignClassName}`}\n >\n <AlertDialogPrimitive.Content\n {...contentProps}\n ref={combinedRef}\n className={classNames('rt-BaseDialogContent', 'rt-AlertDialogContent', className)}\n tabIndex={-1}\n role=\"alertdialog\"\n aria-modal=\"true\"\n aria-describedby=\"alert-dialog-description\"\n onCloseAutoFocus={(event) => {\n // Prevent default focus behavior\n event.preventDefault();\n // Restore pointer-events to body (Radix UI fix for issue #1241)\n document.body.style.pointerEvents = '';\n }}\n />\n {/* ARIA live region for screen reader announcements */}\n <div\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n className=\"rt-sr-only\"\n id=\"alert-dialog-announcement\"\n />\n </div>\n </div>\n </AlertDialogPrimitive.Overlay>\n </Theme>\n </AlertDialogPrimitive.Portal>\n );\n },\n);\nAlertDialogContent.displayName = 'AlertDialog.Content';\n\ntype AlertDialogTitleElement = React.ElementRef<typeof Heading>;\ntype AlertDialogTitleProps = ComponentPropsWithout<typeof Heading, 'asChild'>;\nconst AlertDialogTitle = React.forwardRef<AlertDialogTitleElement, AlertDialogTitleProps>(\n (props, forwardedRef) => (\n <AlertDialogPrimitive.Title asChild>\n <Heading size=\"5\" mb=\"4\" trim=\"start\" {...props} asChild={false} ref={forwardedRef} />\n </AlertDialogPrimitive.Title>\n ),\n);\nAlertDialogTitle.displayName = 'AlertDialog.Title';\n\ntype AlertDialogDescriptionElement = HTMLParagraphElement;\ntype AlertDialogDescriptionProps = ComponentPropsAs<typeof Text, 'p'>;\nconst AlertDialogDescription = React.forwardRef<\n AlertDialogDescriptionElement,\n AlertDialogDescriptionProps\n>((props, forwardedRef) => (\n <AlertDialogPrimitive.Description asChild>\n <Text as=\"p\" size=\"3\" {...props} asChild={false} ref={forwardedRef} />\n </AlertDialogPrimitive.Description>\n));\nAlertDialogDescription.displayName = 'AlertDialog.Description';\n\ntype AlertDialogActionElement = React.ElementRef<typeof AlertDialogPrimitive.Action>;\ninterface AlertDialogActionProps\n extends ComponentPropsWithout<typeof AlertDialogPrimitive.Action, RemovedProps> {}\nconst AlertDialogAction = React.forwardRef<AlertDialogActionElement, AlertDialogActionProps>(\n ({ children, ...props }, forwardedRef) => (\n <AlertDialogPrimitive.Action {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </AlertDialogPrimitive.Action>\n ),\n);\nAlertDialogAction.displayName = 'AlertDialog.Action';\n\ntype AlertDialogCancelElement = React.ElementRef<typeof AlertDialogPrimitive.Cancel>;\ninterface AlertDialogCancelProps\n extends ComponentPropsWithout<typeof AlertDialogPrimitive.Cancel, RemovedProps> {}\nconst AlertDialogCancel = React.forwardRef<AlertDialogCancelElement, AlertDialogCancelProps>(\n ({ children, ...props }, forwardedRef) => (\n <AlertDialogPrimitive.Cancel {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </AlertDialogPrimitive.Cancel>\n ),\n);\nAlertDialogCancel.displayName = 'AlertDialog.Cancel';\n\nexport {\n AlertDialogRoot as Root,\n AlertDialogTrigger as Trigger,\n AlertDialogContent as Content,\n AlertDialogTitle as Title,\n AlertDialogDescription as Description,\n AlertDialogAction as Action,\n AlertDialogCancel as Cancel,\n};\n\nexport type {\n AlertDialogRootProps as RootProps,\n AlertDialogTriggerProps as TriggerProps,\n AlertDialogContentProps as ContentProps,\n AlertDialogTitleProps as TitleProps,\n AlertDialogDescriptionProps as DescriptionProps,\n AlertDialogActionProps as ActionProps,\n AlertDialogCancelProps as CancelProps,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["alert_dialog_exports", "__export", "AlertDialogAction", "AlertDialogCancel", "AlertDialogContent", "AlertDialogDescription", "AlertDialogRoot", "AlertDialogTitle", "AlertDialogTrigger", "React", "classNames", "AlertDialogPrimitive", "AlertDialogRoot", "props", "AlertDialogPrimitive", "AlertDialogTrigger", "children", "forwardedRef", "requireReactElement", "alignPropDef", "contentPropDefs", "alertDialogContentPropDefs", "alignPropDefs", "AlertDialogContent", "align", "alignClassName", "extractProps", "className", "forceMount", "container", "contentProps", "contentRef", "combinedRef", "node", "content", "focusableElements", "firstElement", "lastElement", "handleKeyDown", "event", "Theme", "classNames", "AlertDialogTitle", "Heading", "AlertDialogDescription", "Text", "AlertDialogAction", "AlertDialogCancel"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk-HAGKI7NA.js";import{a as s}from"./chunk-RJ6SA7AY.js";import{a as r}from"./chunk-NZJGC6ZW.js";import{c as o}from"./chunk-34KVYDF6.js";var a=["1","2","3","4","5"],p=s.variant.values,n={...r,size:{type:"enum",className:"rt-r-size",values:a,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:p,default:"raised"},...o,columns:{...e.columns,default:"repeat(auto-fit, minmax(160px, 1fr))"},gap:{...e.gap,default:"4"}};export{n as a};
2
+ //# sourceMappingURL=chunk-6YWJUNMB.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/radio-cards.props.tsx"],
4
+ "sourcesContent": ["import { cardPropDefs } from './card.props.js';\nimport { asChildPropDef } from '../props/as-child.prop.js';\nimport { colorPropDef } from '../props/color.prop.js';\nimport { gridPropDefs } from './grid.props.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4', '5'] as const;\n// The same list as Card: a selectable card looks like any other card.\nconst variants = cardPropDefs.variant.values;\n\nconst radioCardsRootPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'raised' },\n ...colorPropDef,\n columns: { ...gridPropDefs.columns, default: 'repeat(auto-fit, minmax(160px, 1fr))' },\n gap: { ...gridPropDefs.gap, default: '4' },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n columns: PropDef<(typeof gridPropDefs.columns.values)[number]>;\n gap: PropDef<(typeof gridPropDefs.gap.values)[number]>;\n};\n\nexport { radioCardsRootPropDefs };\n"],
5
+ "mappings": "gKAOA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,EAEhCC,EAAWC,EAAa,QAAQ,OAEhCC,EAAyB,CAC7B,GAAGC,EACH,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQJ,EAAO,QAAS,IAAK,WAAY,EAAK,EAC5F,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQC,EAAU,QAAS,QAAS,EACtF,GAAGI,EACH,QAAS,CAAE,GAAGC,EAAa,QAAS,QAAS,sCAAuC,EACpF,IAAK,CAAE,GAAGA,EAAa,IAAK,QAAS,GAAI,CAC3C",
6
+ "names": ["sizes", "variants", "cardPropDefs", "radioCardsRootPropDefs", "asChildPropDef", "colorPropDef", "gridPropDefs"]
7
+ }
@@ -1,5 +1,5 @@
1
- import{a as m}from"./chunk-2N2AQNJH.js";import{a as u}from"./chunk-ELZEAEN2.js";import{a as p}from"./chunk-URLG45A4.js";import*as e from"react";import v from"classnames";var E={loud:"solid",medium:"raised",quiet:"ghost"};function w(t){if(t["aria-label"]||t["aria-labelledby"]||t.children)return;console.error(`IconButton: Icon buttons must have an accessible name. Please provide either:
1
+ import{a as m}from"./chunk-2N2AQNJH.js";import{a as u}from"./chunk-VT4AAF7Q.js";import{a as p}from"./chunk-ZH2B7WEH.js";import*as e from"react";import v from"classnames";var E={loud:"solid",medium:"raised",quiet:"ghost"};function w(t){if(t["aria-label"]||t["aria-labelledby"]||t.children)return;console.error(`IconButton: Icon buttons must have an accessible name. Please provide either:
2
2
  - aria-label prop with descriptive text
3
3
  - aria-labelledby prop referencing a label element
4
4
  - or visible text children`)}var g=e.forwardRef(({className:t,style:r,tooltip:a,tooltipSide:c="top",tooltipAlign:d="center",tooltipDelayDuration:B,tooltipDisableHoverableContent:f,iconOnly:s=!1,emphasis:o,variant:i,...n},b)=>{let{tooltipId:y,hasTooltip:R,accessibilityProps:h}=m(a);if(s&&(w(n),n.fullWidth=!1),o!==void 0&&i!==void 0)throw new Error("Button: pass `emphasis` or `variant`, not both. They set the same thing.");let P=o!==void 0?E[o]:i,l=e.createElement(p,{...n,variant:P,...h,ref:b,className:v(s?"rt-IconButton":"rt-Button",t),style:r});return R?e.createElement(u,{content:a,side:c,align:d,delayDuration:B,disableHoverableContent:f,id:y},l):l});g.displayName="Button";export{g as a};
5
- //# sourceMappingURL=chunk-Y4IB7KDZ.js.map
5
+ //# sourceMappingURL=chunk-7FZPCM7W.js.map
@@ -0,0 +1,5 @@
1
+ import{a as K,b as U}from"./chunk-B6RH4CTY.js";import{e as G}from"./chunk-3YLYGKFB.js";import{a as z}from"./chunk-UBSLEGQZ.js";import{a as B}from"./chunk-GSTOGDAJ.js";import{a as ie}from"./chunk-OS3FCYZY.js";var ae={};ie(ae,{Root:()=>Q,Slot:()=>$});import*as e from"react";import*as _ from"react-dom";import Z from"classnames";import{composeRefs as J}from"radix-ui/internal";var Q=e.forwardRef((P,g)=>{let n=G(P,K.size),f=e.useRef(null),{children:E,className:w,color:L,radius:C,style:k,...a}=z(n,K,B),h=e.useId(),{"aria-describedby":v,"aria-labelledby":D,"aria-invalid":x}=a,M=!!a.error||x===!0||x==="true",T=e.useMemo(()=>{let o=[];return a.errorMessage&&o.push(h),v&&o.push(v),o.length>0?o.join(" "):void 0},[a.errorMessage,v,h]),y=e.useMemo(()=>({"aria-invalid":M?!0:x,"aria-describedby":T,"aria-labelledby":D}),[M,x,T,D]),{error:s,errorMessage:I,required:H,"aria-describedby":O,"aria-labelledby":m,...d}=a,i=e.useCallback(o=>{let S=o.target;if(S.closest("input, button, a"))return;let p=f.current;if(!p)return;let b=S.closest(`
2
+ .rt-TextFieldSlot[data-side='right'],
3
+ .rt-TextFieldSlot:not([data-side='right']) ~ .rt-TextFieldSlot:not([data-side='left'])
4
+ `)?p.value.length:0;requestAnimationFrame(()=>{try{p.setSelectionRange(b,b)}catch{}p.focus()})},[]);return e.createElement("div",{"data-accent-color":L,"data-radius":C,style:k,className:Z("rt-TextFieldRoot",w,{"rt-error":M}),onPointerDown:i},e.createElement("input",{spellCheck:"false",...d,...y,ref:J(f,g),className:"rt-reset rt-TextFieldInput"}),E,a.errorMessage&&e.createElement("div",{id:h,className:"rt-TextFieldErrorMessage",role:"alert"},a.errorMessage))});Q.displayName="TextField.Root";var R=(()=>{if(typeof navigator>"u")return!1;let P=navigator.userAgent,g=/^((?!chrome|android).)*safari/i.test(P),n=/firefox/i.test(P);return g||n})(),$=e.forwardRef((P,g)=>{let{scrub:n,scrubValue:f,scrubStep:E=1,scrubSensitivity:w=1,scrubMin:L,scrubMax:C,scrubShiftMultiplier:k=10,scrubAltMultiplier:a=.1,onScrub:h,...v}=P,{className:D,color:x,side:M,...T}=z(v,U),y=e.useRef(null),[s,I]=e.useState(!1),[H,O]=e.useState({x:0,y:0}),m=e.useRef(0),d=e.useRef(0),i=e.useRef(0),o=e.useRef(null),S=e.useRef(0),p=e.useRef({scrubValue:f,scrubStep:E,scrubSensitivity:w,scrubMin:L,scrubMax:C,scrubShiftMultiplier:k,scrubAltMultiplier:a,onScrub:h});p.current={scrubValue:f,scrubStep:E,scrubSensitivity:w,scrubMin:L,scrubMax:C,scrubShiftMultiplier:k,scrubAltMultiplier:a,onScrub:h};let Y=e.useCallback(t=>{if(!n||t.target.closest("input, button, a"))return;t.preventDefault(),m.current=0,d.current=f??0,i.current=t.clientX,O({x:t.clientX,y:t.clientY});let c=y.current;c&&(R?(o.current=t.pointerId,S.current=t.clientX,c.setPointerCapture(t.pointerId),I(!0)):c.requestPointerLock())},[n,f]);e.useEffect(()=>{if(R)return;let t=()=>{let r=document.pointerLockElement===y.current;I(r),r||(p.current.onScrub?.(0,!1),m.current=0,d.current=0)};return document.addEventListener("pointerlockchange",t),()=>{document.removeEventListener("pointerlockchange",t)}},[]);let b=e.useCallback((t,r,c,ne)=>{let l=p.current,X=window.innerWidth,A=window.innerHeight;i.current+=t,i.current>X?i.current=i.current%X:i.current<0&&(i.current=X+i.current%X),O(F=>{let u=F.y+r;return u>A?u=u%A:u<0&&(u=A+u%A),{x:i.current,y:u}}),m.current+=t;let V=m.current/l.scrubSensitivity;if(Math.abs(V)>=1){let F=1;c?F=l.scrubShiftMultiplier:ne&&(F=l.scrubAltMultiplier);let u=Math.trunc(V),j=u*l.scrubStep*F,W=j;if(l.scrubMin!==void 0||l.scrubMax!==void 0){let se=d.current+j,q=Math.max(l.scrubMin??-1/0,Math.min(l.scrubMax??1/0,se));W=q-d.current,d.current=q}else d.current+=j;W!==0&&l.onScrub?.(W,!0),m.current=(V-u)*l.scrubSensitivity}},[]),N=e.useCallback(()=>{p.current.onScrub?.(0,!1),m.current=0,d.current=0,o.current=null,I(!1)},[]),ee=e.useCallback(t=>{if(!s||!R)return;let r=t.clientX-S.current;S.current=t.clientX,b(r,t.movementY,t.shiftKey,t.altKey)},[s,b]),te=e.useCallback(t=>{if(!R||o.current!==t.pointerId)return;let r=y.current;r&&o.current!==null&&r.releasePointerCapture(o.current),N()},[N]),re=e.useCallback(()=>{R&&s&&N()},[s,N]);e.useEffect(()=>{if(!s||R)return;let t=c=>{b(c.movementX,c.movementY,c.shiftKey,c.altKey)},r=()=>{document.exitPointerLock()};return document.addEventListener("mousemove",t),document.addEventListener("mouseup",r),document.body.style.userSelect="none",()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",r),document.body.style.userSelect=""}},[s,b]),e.useEffect(()=>{if(!s||!R)return;let t=document.createElement("style");return t.textContent="* { cursor: none !important; user-select: none !important; }",document.head.appendChild(t),()=>{document.head.removeChild(t)}},[s]);let oe=s?_.createPortal(e.createElement("img",{className:"rt-TextFieldSlotScrubCursor",src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='black' stroke='white' stroke-width='1' d='M0 12 L5 7 L5 10 L19 10 L19 7 L24 12 L19 17 L19 14 L5 14 L5 17 Z'/%3E%3C/svg%3E",alt:"",style:{position:"fixed",left:H.x,top:H.y,transform:"translate(-50%, -50%)",pointerEvents:"none",zIndex:99999,width:24,height:24},"aria-hidden":"true"}),document.body):null;return e.createElement("div",{"data-accent-color":x,"data-side":M,"data-scrub":n||void 0,"data-scrubbing":s||void 0,...T,ref:J(y,g),className:Z("rt-TextFieldSlot",D),onPointerDown:n?Y:void 0,onPointerMove:n?ee:void 0,onPointerUp:n?te:void 0,onLostPointerCapture:n?re:void 0},T.children,oe)});$.displayName="TextField.Slot";export{Q as a,$ as b,ae as c};
5
+ //# sourceMappingURL=chunk-7J2QS2UT.js.map