@kushagradhawan/kookie-ui 0.1.28 → 0.1.30

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 (538) hide show
  1. package/components.css +4742 -2680
  2. package/dist/cjs/components/_internal/base-button.d.ts +36 -0
  3. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  4. package/dist/cjs/components/_internal/base-button.js +1 -1
  5. package/dist/cjs/components/_internal/base-button.js.map +3 -3
  6. package/dist/cjs/components/_internal/base-button.props.d.ts +61 -0
  7. package/dist/cjs/components/_internal/base-button.props.d.ts.map +1 -1
  8. package/dist/cjs/components/_internal/base-button.props.js +1 -1
  9. package/dist/cjs/components/_internal/base-button.props.js.map +3 -3
  10. package/dist/cjs/components/_internal/base-checkbox.props.d.ts +6 -1
  11. package/dist/cjs/components/_internal/base-checkbox.props.d.ts.map +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 +3 -3
  14. package/dist/cjs/components/_internal/base-menu.props.d.ts +8 -0
  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-radio.props.d.ts +6 -1
  19. package/dist/cjs/components/_internal/base-radio.props.d.ts.map +1 -1
  20. package/dist/cjs/components/_internal/base-radio.props.js +1 -1
  21. package/dist/cjs/components/_internal/base-radio.props.js.map +3 -3
  22. package/dist/cjs/components/accordion.d.ts +22 -0
  23. package/dist/cjs/components/accordion.d.ts.map +1 -0
  24. package/dist/cjs/components/accordion.js +2 -0
  25. package/dist/cjs/components/accordion.js.map +7 -0
  26. package/dist/cjs/components/accordion.props.d.ts +97 -0
  27. package/dist/cjs/components/accordion.props.d.ts.map +1 -0
  28. package/dist/cjs/components/accordion.props.js +2 -0
  29. package/dist/cjs/components/accordion.props.js.map +7 -0
  30. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  31. package/dist/cjs/components/alert-dialog.js +1 -1
  32. package/dist/cjs/components/alert-dialog.js.map +3 -3
  33. package/dist/cjs/components/alert-dialog.props.d.ts +69 -2
  34. package/dist/cjs/components/alert-dialog.props.d.ts.map +1 -1
  35. package/dist/cjs/components/alert-dialog.props.js +1 -1
  36. package/dist/cjs/components/alert-dialog.props.js.map +3 -3
  37. package/dist/cjs/components/avatar.d.ts.map +1 -1
  38. package/dist/cjs/components/avatar.js +1 -1
  39. package/dist/cjs/components/avatar.js.map +3 -3
  40. package/dist/cjs/components/avatar.props.d.ts +9 -1
  41. package/dist/cjs/components/avatar.props.d.ts.map +1 -1
  42. package/dist/cjs/components/avatar.props.js +1 -1
  43. package/dist/cjs/components/avatar.props.js.map +3 -3
  44. package/dist/cjs/components/badge.d.ts +8 -1
  45. package/dist/cjs/components/badge.d.ts.map +1 -1
  46. package/dist/cjs/components/badge.js +1 -1
  47. package/dist/cjs/components/badge.js.map +3 -3
  48. package/dist/cjs/components/badge.props.d.ts +14 -6
  49. package/dist/cjs/components/badge.props.d.ts.map +1 -1
  50. package/dist/cjs/components/badge.props.js +1 -1
  51. package/dist/cjs/components/badge.props.js.map +3 -3
  52. package/dist/cjs/components/blockquote.props.d.ts +1 -1
  53. package/dist/cjs/components/button.d.ts +53 -1
  54. package/dist/cjs/components/button.d.ts.map +1 -1
  55. package/dist/cjs/components/button.js +1 -1
  56. package/dist/cjs/components/button.js.map +3 -3
  57. package/dist/cjs/components/button.props.d.ts +17 -0
  58. package/dist/cjs/components/button.props.d.ts.map +1 -1
  59. package/dist/cjs/components/button.props.js.map +2 -2
  60. package/dist/cjs/components/callout.d.ts +4 -0
  61. package/dist/cjs/components/callout.d.ts.map +1 -1
  62. package/dist/cjs/components/callout.js +1 -1
  63. package/dist/cjs/components/callout.js.map +3 -3
  64. package/dist/cjs/components/callout.props.d.ts +9 -1
  65. package/dist/cjs/components/callout.props.d.ts.map +1 -1
  66. package/dist/cjs/components/callout.props.js +1 -1
  67. package/dist/cjs/components/callout.props.js.map +3 -3
  68. package/dist/cjs/components/card.d.ts.map +1 -1
  69. package/dist/cjs/components/card.js +1 -1
  70. package/dist/cjs/components/card.js.map +3 -3
  71. package/dist/cjs/components/card.props.d.ts +5 -0
  72. package/dist/cjs/components/card.props.d.ts.map +1 -1
  73. package/dist/cjs/components/card.props.js +1 -1
  74. package/dist/cjs/components/card.props.js.map +3 -3
  75. package/dist/cjs/components/checkbox-cards.d.ts.map +1 -1
  76. package/dist/cjs/components/checkbox-cards.js +1 -1
  77. package/dist/cjs/components/checkbox-cards.js.map +3 -3
  78. package/dist/cjs/components/checkbox-cards.props.d.ts +2 -2
  79. package/dist/cjs/components/checkbox-cards.props.js +1 -1
  80. package/dist/cjs/components/checkbox-cards.props.js.map +2 -2
  81. package/dist/cjs/components/checkbox-group.props.d.ts +6 -1
  82. package/dist/cjs/components/checkbox-group.props.d.ts.map +1 -1
  83. package/dist/cjs/components/checkbox.d.ts.map +1 -1
  84. package/dist/cjs/components/checkbox.js +1 -1
  85. package/dist/cjs/components/checkbox.js.map +3 -3
  86. package/dist/cjs/components/code.js.map +1 -1
  87. package/dist/cjs/components/code.props.d.ts +1 -1
  88. package/dist/cjs/components/context-menu.d.ts +1 -1
  89. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  90. package/dist/cjs/components/context-menu.js +1 -1
  91. package/dist/cjs/components/context-menu.js.map +3 -3
  92. package/dist/cjs/components/dialog.d.ts.map +1 -1
  93. package/dist/cjs/components/dialog.js +1 -1
  94. package/dist/cjs/components/dialog.js.map +3 -3
  95. package/dist/cjs/components/dialog.props.d.ts +6 -1
  96. package/dist/cjs/components/dialog.props.d.ts.map +1 -1
  97. package/dist/cjs/components/dialog.props.js +1 -1
  98. package/dist/cjs/components/dialog.props.js.map +3 -3
  99. package/dist/cjs/components/dropdown-menu.d.ts +1 -1
  100. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  101. package/dist/cjs/components/dropdown-menu.js +1 -1
  102. package/dist/cjs/components/dropdown-menu.js.map +3 -3
  103. package/dist/cjs/components/heading.props.d.ts +1 -1
  104. package/dist/cjs/components/icon-button.d.ts +79 -1
  105. package/dist/cjs/components/icon-button.d.ts.map +1 -1
  106. package/dist/cjs/components/icon-button.js +4 -1
  107. package/dist/cjs/components/icon-button.js.map +3 -3
  108. package/dist/cjs/components/image.d.ts +131 -12
  109. package/dist/cjs/components/image.d.ts.map +1 -1
  110. package/dist/cjs/components/image.js +1 -1
  111. package/dist/cjs/components/image.js.map +3 -3
  112. package/dist/cjs/components/image.props.d.ts +136 -21
  113. package/dist/cjs/components/image.props.d.ts.map +1 -1
  114. package/dist/cjs/components/image.props.js +1 -1
  115. package/dist/cjs/components/image.props.js.map +3 -3
  116. package/dist/cjs/components/index.d.ts +1 -0
  117. package/dist/cjs/components/index.d.ts.map +1 -1
  118. package/dist/cjs/components/index.js +1 -1
  119. package/dist/cjs/components/index.js.map +3 -3
  120. package/dist/cjs/components/link.props.d.ts +1 -1
  121. package/dist/cjs/components/progress.props.d.ts +2 -2
  122. package/dist/cjs/components/progress.props.js +1 -1
  123. package/dist/cjs/components/progress.props.js.map +2 -2
  124. package/dist/cjs/components/radio-cards.d.ts.map +1 -1
  125. package/dist/cjs/components/radio-cards.js +1 -1
  126. package/dist/cjs/components/radio-cards.js.map +3 -3
  127. package/dist/cjs/components/radio-cards.props.d.ts +2 -2
  128. package/dist/cjs/components/radio-cards.props.js +1 -1
  129. package/dist/cjs/components/radio-cards.props.js.map +2 -2
  130. package/dist/cjs/components/radio.d.ts.map +1 -1
  131. package/dist/cjs/components/radio.js +1 -1
  132. package/dist/cjs/components/radio.js.map +3 -3
  133. package/dist/cjs/components/segmented-control.props.d.ts +3 -3
  134. package/dist/cjs/components/segmented-control.props.js +1 -1
  135. package/dist/cjs/components/segmented-control.props.js.map +2 -2
  136. package/dist/cjs/components/select.d.ts.map +1 -1
  137. package/dist/cjs/components/select.js +1 -1
  138. package/dist/cjs/components/select.js.map +3 -3
  139. package/dist/cjs/components/select.props.d.ts +12 -0
  140. package/dist/cjs/components/select.props.d.ts.map +1 -1
  141. package/dist/cjs/components/select.props.js +1 -1
  142. package/dist/cjs/components/select.props.js.map +2 -2
  143. package/dist/cjs/components/sidebar.d.ts +5 -0
  144. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  145. package/dist/cjs/components/sidebar.js +1 -1
  146. package/dist/cjs/components/sidebar.js.map +3 -3
  147. package/dist/cjs/components/slider.d.ts +5 -0
  148. package/dist/cjs/components/slider.d.ts.map +1 -1
  149. package/dist/cjs/components/slider.js +1 -1
  150. package/dist/cjs/components/slider.js.map +3 -3
  151. package/dist/cjs/components/slider.props.d.ts +10 -2
  152. package/dist/cjs/components/slider.props.d.ts.map +1 -1
  153. package/dist/cjs/components/slider.props.js +1 -1
  154. package/dist/cjs/components/slider.props.js.map +2 -2
  155. package/dist/cjs/components/switch.d.ts.map +1 -1
  156. package/dist/cjs/components/switch.js +1 -1
  157. package/dist/cjs/components/switch.js.map +3 -3
  158. package/dist/cjs/components/switch.props.d.ts +17 -4
  159. package/dist/cjs/components/switch.props.d.ts.map +1 -1
  160. package/dist/cjs/components/switch.props.js +1 -1
  161. package/dist/cjs/components/switch.props.js.map +3 -3
  162. package/dist/cjs/components/tab-nav.d.ts.map +1 -1
  163. package/dist/cjs/components/tab-nav.js +1 -1
  164. package/dist/cjs/components/tab-nav.js.map +3 -3
  165. package/dist/cjs/components/tabs.d.ts.map +1 -1
  166. package/dist/cjs/components/tabs.js +1 -1
  167. package/dist/cjs/components/tabs.js.map +2 -2
  168. package/dist/cjs/components/text-area.d.ts.map +1 -1
  169. package/dist/cjs/components/text-area.js +1 -1
  170. package/dist/cjs/components/text-area.js.map +3 -3
  171. package/dist/cjs/components/text-area.props.d.ts +29 -0
  172. package/dist/cjs/components/text-area.props.d.ts.map +1 -1
  173. package/dist/cjs/components/text-area.props.js +1 -1
  174. package/dist/cjs/components/text-area.props.js.map +3 -3
  175. package/dist/cjs/components/text-field.d.ts.map +1 -1
  176. package/dist/cjs/components/text-field.js +4 -4
  177. package/dist/cjs/components/text-field.js.map +3 -3
  178. package/dist/cjs/components/text-field.props.d.ts +29 -0
  179. package/dist/cjs/components/text-field.props.d.ts.map +1 -1
  180. package/dist/cjs/components/text-field.props.js +1 -1
  181. package/dist/cjs/components/text-field.props.js.map +3 -3
  182. package/dist/cjs/components/text.props.d.ts +1 -1
  183. package/dist/cjs/components/theme.d.ts +3 -0
  184. package/dist/cjs/components/theme.d.ts.map +1 -1
  185. package/dist/cjs/components/theme.js +1 -1
  186. package/dist/cjs/components/theme.js.map +3 -3
  187. package/dist/cjs/components/theme.props.d.ts +14 -0
  188. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  189. package/dist/cjs/components/theme.props.js +1 -1
  190. package/dist/cjs/components/theme.props.js.map +3 -3
  191. package/dist/cjs/components/toggle-button.d.ts +52 -0
  192. package/dist/cjs/components/toggle-button.d.ts.map +1 -1
  193. package/dist/cjs/components/toggle-button.js +1 -1
  194. package/dist/cjs/components/toggle-button.js.map +3 -3
  195. package/dist/cjs/components/toggle-icon-button.d.ts +84 -2
  196. package/dist/cjs/components/toggle-icon-button.d.ts.map +1 -1
  197. package/dist/cjs/components/toggle-icon-button.js +1 -1
  198. package/dist/cjs/components/toggle-icon-button.js.map +3 -3
  199. package/dist/cjs/helpers/extract-margin-props.d.ts +7 -7
  200. package/dist/cjs/hooks/index.d.ts +2 -0
  201. package/dist/cjs/hooks/index.d.ts.map +1 -0
  202. package/dist/cjs/hooks/index.js +2 -0
  203. package/dist/cjs/hooks/index.js.map +7 -0
  204. package/dist/cjs/hooks/use-live-announcer.d.ts +6 -0
  205. package/dist/cjs/hooks/use-live-announcer.d.ts.map +1 -0
  206. package/dist/cjs/hooks/use-live-announcer.js +10 -0
  207. package/dist/cjs/hooks/use-live-announcer.js.map +7 -0
  208. package/dist/cjs/index.d.ts +1 -0
  209. package/dist/cjs/index.d.ts.map +1 -1
  210. package/dist/cjs/index.js +1 -1
  211. package/dist/cjs/index.js.map +2 -2
  212. package/dist/cjs/props/weight.prop.d.ts +1 -1
  213. package/dist/cjs/props/weight.prop.js +1 -1
  214. package/dist/cjs/props/weight.prop.js.map +2 -2
  215. package/dist/esm/components/_internal/base-button.d.ts +36 -0
  216. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  217. package/dist/esm/components/_internal/base-button.js +1 -1
  218. package/dist/esm/components/_internal/base-button.js.map +3 -3
  219. package/dist/esm/components/_internal/base-button.props.d.ts +61 -0
  220. package/dist/esm/components/_internal/base-button.props.d.ts.map +1 -1
  221. package/dist/esm/components/_internal/base-button.props.js +1 -1
  222. package/dist/esm/components/_internal/base-button.props.js.map +3 -3
  223. package/dist/esm/components/_internal/base-checkbox.props.d.ts +6 -1
  224. package/dist/esm/components/_internal/base-checkbox.props.d.ts.map +1 -1
  225. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  226. package/dist/esm/components/_internal/base-checkbox.props.js.map +3 -3
  227. package/dist/esm/components/_internal/base-menu.props.d.ts +8 -0
  228. package/dist/esm/components/_internal/base-menu.props.d.ts.map +1 -1
  229. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  230. package/dist/esm/components/_internal/base-menu.props.js.map +3 -3
  231. package/dist/esm/components/_internal/base-radio.props.d.ts +6 -1
  232. package/dist/esm/components/_internal/base-radio.props.d.ts.map +1 -1
  233. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  234. package/dist/esm/components/_internal/base-radio.props.js.map +3 -3
  235. package/dist/esm/components/accordion.d.ts +22 -0
  236. package/dist/esm/components/accordion.d.ts.map +1 -0
  237. package/dist/esm/components/accordion.js +2 -0
  238. package/dist/esm/components/accordion.js.map +7 -0
  239. package/dist/esm/components/accordion.props.d.ts +97 -0
  240. package/dist/esm/components/accordion.props.d.ts.map +1 -0
  241. package/dist/esm/components/accordion.props.js +2 -0
  242. package/dist/esm/components/accordion.props.js.map +7 -0
  243. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  244. package/dist/esm/components/alert-dialog.js +1 -1
  245. package/dist/esm/components/alert-dialog.js.map +3 -3
  246. package/dist/esm/components/alert-dialog.props.d.ts +69 -2
  247. package/dist/esm/components/alert-dialog.props.d.ts.map +1 -1
  248. package/dist/esm/components/alert-dialog.props.js +1 -1
  249. package/dist/esm/components/alert-dialog.props.js.map +3 -3
  250. package/dist/esm/components/avatar.d.ts.map +1 -1
  251. package/dist/esm/components/avatar.js +1 -1
  252. package/dist/esm/components/avatar.js.map +3 -3
  253. package/dist/esm/components/avatar.props.d.ts +9 -1
  254. package/dist/esm/components/avatar.props.d.ts.map +1 -1
  255. package/dist/esm/components/avatar.props.js +1 -1
  256. package/dist/esm/components/avatar.props.js.map +3 -3
  257. package/dist/esm/components/badge.d.ts +8 -1
  258. package/dist/esm/components/badge.d.ts.map +1 -1
  259. package/dist/esm/components/badge.js +1 -1
  260. package/dist/esm/components/badge.js.map +3 -3
  261. package/dist/esm/components/badge.props.d.ts +14 -6
  262. package/dist/esm/components/badge.props.d.ts.map +1 -1
  263. package/dist/esm/components/badge.props.js +1 -1
  264. package/dist/esm/components/badge.props.js.map +3 -3
  265. package/dist/esm/components/blockquote.props.d.ts +1 -1
  266. package/dist/esm/components/button.d.ts +53 -1
  267. package/dist/esm/components/button.d.ts.map +1 -1
  268. package/dist/esm/components/button.js +1 -1
  269. package/dist/esm/components/button.js.map +3 -3
  270. package/dist/esm/components/button.props.d.ts +17 -0
  271. package/dist/esm/components/button.props.d.ts.map +1 -1
  272. package/dist/esm/components/button.props.js.map +2 -2
  273. package/dist/esm/components/callout.d.ts +4 -0
  274. package/dist/esm/components/callout.d.ts.map +1 -1
  275. package/dist/esm/components/callout.js +1 -1
  276. package/dist/esm/components/callout.js.map +3 -3
  277. package/dist/esm/components/callout.props.d.ts +9 -1
  278. package/dist/esm/components/callout.props.d.ts.map +1 -1
  279. package/dist/esm/components/callout.props.js +1 -1
  280. package/dist/esm/components/callout.props.js.map +3 -3
  281. package/dist/esm/components/card.d.ts.map +1 -1
  282. package/dist/esm/components/card.js +1 -1
  283. package/dist/esm/components/card.js.map +3 -3
  284. package/dist/esm/components/card.props.d.ts +5 -0
  285. package/dist/esm/components/card.props.d.ts.map +1 -1
  286. package/dist/esm/components/card.props.js +1 -1
  287. package/dist/esm/components/card.props.js.map +3 -3
  288. package/dist/esm/components/checkbox-cards.d.ts.map +1 -1
  289. package/dist/esm/components/checkbox-cards.js +1 -1
  290. package/dist/esm/components/checkbox-cards.js.map +3 -3
  291. package/dist/esm/components/checkbox-cards.props.d.ts +2 -2
  292. package/dist/esm/components/checkbox-cards.props.js +1 -1
  293. package/dist/esm/components/checkbox-cards.props.js.map +2 -2
  294. package/dist/esm/components/checkbox-group.props.d.ts +6 -1
  295. package/dist/esm/components/checkbox-group.props.d.ts.map +1 -1
  296. package/dist/esm/components/checkbox.d.ts.map +1 -1
  297. package/dist/esm/components/checkbox.js +1 -1
  298. package/dist/esm/components/checkbox.js.map +3 -3
  299. package/dist/esm/components/code.js.map +1 -1
  300. package/dist/esm/components/code.props.d.ts +1 -1
  301. package/dist/esm/components/context-menu.d.ts +1 -1
  302. package/dist/esm/components/context-menu.d.ts.map +1 -1
  303. package/dist/esm/components/context-menu.js +1 -1
  304. package/dist/esm/components/context-menu.js.map +3 -3
  305. package/dist/esm/components/dialog.d.ts.map +1 -1
  306. package/dist/esm/components/dialog.js +1 -1
  307. package/dist/esm/components/dialog.js.map +3 -3
  308. package/dist/esm/components/dialog.props.d.ts +6 -1
  309. package/dist/esm/components/dialog.props.d.ts.map +1 -1
  310. package/dist/esm/components/dialog.props.js +1 -1
  311. package/dist/esm/components/dialog.props.js.map +3 -3
  312. package/dist/esm/components/dropdown-menu.d.ts +1 -1
  313. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  314. package/dist/esm/components/dropdown-menu.js +1 -1
  315. package/dist/esm/components/dropdown-menu.js.map +3 -3
  316. package/dist/esm/components/heading.props.d.ts +1 -1
  317. package/dist/esm/components/icon-button.d.ts +79 -1
  318. package/dist/esm/components/icon-button.d.ts.map +1 -1
  319. package/dist/esm/components/icon-button.js +4 -1
  320. package/dist/esm/components/icon-button.js.map +3 -3
  321. package/dist/esm/components/image.d.ts +131 -12
  322. package/dist/esm/components/image.d.ts.map +1 -1
  323. package/dist/esm/components/image.js +1 -1
  324. package/dist/esm/components/image.js.map +3 -3
  325. package/dist/esm/components/image.props.d.ts +136 -21
  326. package/dist/esm/components/image.props.d.ts.map +1 -1
  327. package/dist/esm/components/image.props.js +1 -1
  328. package/dist/esm/components/image.props.js.map +3 -3
  329. package/dist/esm/components/index.d.ts +1 -0
  330. package/dist/esm/components/index.d.ts.map +1 -1
  331. package/dist/esm/components/index.js +1 -1
  332. package/dist/esm/components/index.js.map +3 -3
  333. package/dist/esm/components/link.props.d.ts +1 -1
  334. package/dist/esm/components/progress.props.d.ts +2 -2
  335. package/dist/esm/components/progress.props.js +1 -1
  336. package/dist/esm/components/progress.props.js.map +2 -2
  337. package/dist/esm/components/radio-cards.d.ts.map +1 -1
  338. package/dist/esm/components/radio-cards.js +1 -1
  339. package/dist/esm/components/radio-cards.js.map +3 -3
  340. package/dist/esm/components/radio-cards.props.d.ts +2 -2
  341. package/dist/esm/components/radio-cards.props.js +1 -1
  342. package/dist/esm/components/radio-cards.props.js.map +2 -2
  343. package/dist/esm/components/radio.d.ts.map +1 -1
  344. package/dist/esm/components/radio.js +1 -1
  345. package/dist/esm/components/radio.js.map +3 -3
  346. package/dist/esm/components/segmented-control.props.d.ts +3 -3
  347. package/dist/esm/components/segmented-control.props.js +1 -1
  348. package/dist/esm/components/segmented-control.props.js.map +2 -2
  349. package/dist/esm/components/select.d.ts.map +1 -1
  350. package/dist/esm/components/select.js +1 -1
  351. package/dist/esm/components/select.js.map +3 -3
  352. package/dist/esm/components/select.props.d.ts +12 -0
  353. package/dist/esm/components/select.props.d.ts.map +1 -1
  354. package/dist/esm/components/select.props.js +1 -1
  355. package/dist/esm/components/select.props.js.map +2 -2
  356. package/dist/esm/components/sidebar.d.ts +5 -0
  357. package/dist/esm/components/sidebar.d.ts.map +1 -1
  358. package/dist/esm/components/sidebar.js +1 -1
  359. package/dist/esm/components/sidebar.js.map +3 -3
  360. package/dist/esm/components/slider.d.ts +5 -0
  361. package/dist/esm/components/slider.d.ts.map +1 -1
  362. package/dist/esm/components/slider.js +1 -1
  363. package/dist/esm/components/slider.js.map +3 -3
  364. package/dist/esm/components/slider.props.d.ts +10 -2
  365. package/dist/esm/components/slider.props.d.ts.map +1 -1
  366. package/dist/esm/components/slider.props.js +1 -1
  367. package/dist/esm/components/slider.props.js.map +2 -2
  368. package/dist/esm/components/switch.d.ts.map +1 -1
  369. package/dist/esm/components/switch.js +1 -1
  370. package/dist/esm/components/switch.js.map +3 -3
  371. package/dist/esm/components/switch.props.d.ts +17 -4
  372. package/dist/esm/components/switch.props.d.ts.map +1 -1
  373. package/dist/esm/components/switch.props.js +1 -1
  374. package/dist/esm/components/switch.props.js.map +3 -3
  375. package/dist/esm/components/tab-nav.d.ts.map +1 -1
  376. package/dist/esm/components/tab-nav.js +1 -1
  377. package/dist/esm/components/tab-nav.js.map +3 -3
  378. package/dist/esm/components/tabs.d.ts.map +1 -1
  379. package/dist/esm/components/tabs.js +1 -1
  380. package/dist/esm/components/tabs.js.map +2 -2
  381. package/dist/esm/components/text-area.d.ts.map +1 -1
  382. package/dist/esm/components/text-area.js +1 -1
  383. package/dist/esm/components/text-area.js.map +3 -3
  384. package/dist/esm/components/text-area.props.d.ts +29 -0
  385. package/dist/esm/components/text-area.props.d.ts.map +1 -1
  386. package/dist/esm/components/text-area.props.js +1 -1
  387. package/dist/esm/components/text-area.props.js.map +3 -3
  388. package/dist/esm/components/text-field.d.ts.map +1 -1
  389. package/dist/esm/components/text-field.js +4 -4
  390. package/dist/esm/components/text-field.js.map +3 -3
  391. package/dist/esm/components/text-field.props.d.ts +29 -0
  392. package/dist/esm/components/text-field.props.d.ts.map +1 -1
  393. package/dist/esm/components/text-field.props.js +1 -1
  394. package/dist/esm/components/text-field.props.js.map +3 -3
  395. package/dist/esm/components/text.props.d.ts +1 -1
  396. package/dist/esm/components/theme.d.ts +3 -0
  397. package/dist/esm/components/theme.d.ts.map +1 -1
  398. package/dist/esm/components/theme.js +1 -1
  399. package/dist/esm/components/theme.js.map +3 -3
  400. package/dist/esm/components/theme.props.d.ts +14 -0
  401. package/dist/esm/components/theme.props.d.ts.map +1 -1
  402. package/dist/esm/components/theme.props.js +1 -1
  403. package/dist/esm/components/theme.props.js.map +3 -3
  404. package/dist/esm/components/toggle-button.d.ts +52 -0
  405. package/dist/esm/components/toggle-button.d.ts.map +1 -1
  406. package/dist/esm/components/toggle-button.js +1 -1
  407. package/dist/esm/components/toggle-button.js.map +3 -3
  408. package/dist/esm/components/toggle-icon-button.d.ts +84 -2
  409. package/dist/esm/components/toggle-icon-button.d.ts.map +1 -1
  410. package/dist/esm/components/toggle-icon-button.js +1 -1
  411. package/dist/esm/components/toggle-icon-button.js.map +3 -3
  412. package/dist/esm/helpers/extract-margin-props.d.ts +7 -7
  413. package/dist/esm/hooks/index.d.ts +2 -0
  414. package/dist/esm/hooks/index.d.ts.map +1 -0
  415. package/dist/esm/hooks/index.js +2 -0
  416. package/dist/esm/hooks/index.js.map +7 -0
  417. package/dist/esm/hooks/use-live-announcer.d.ts +6 -0
  418. package/dist/esm/hooks/use-live-announcer.d.ts.map +1 -0
  419. package/dist/esm/hooks/use-live-announcer.js +10 -0
  420. package/dist/esm/hooks/use-live-announcer.js.map +7 -0
  421. package/dist/esm/index.d.ts +1 -0
  422. package/dist/esm/index.d.ts.map +1 -1
  423. package/dist/esm/index.js +1 -1
  424. package/dist/esm/index.js.map +2 -2
  425. package/dist/esm/props/weight.prop.d.ts +1 -1
  426. package/dist/esm/props/weight.prop.js +1 -1
  427. package/dist/esm/props/weight.prop.js.map +2 -2
  428. package/layout/components.css +1 -0
  429. package/layout.css +1 -0
  430. package/package.json +2 -1
  431. package/src/components/_internal/base-button.css +483 -284
  432. package/src/components/_internal/base-button.props.ts +87 -0
  433. package/src/components/_internal/base-button.tsx +127 -10
  434. package/src/components/_internal/base-card.css +866 -83
  435. package/src/components/_internal/base-checkbox.css +252 -52
  436. package/src/components/_internal/base-checkbox.props.ts +4 -1
  437. package/src/components/_internal/base-dialog.css +39 -8
  438. package/src/components/_internal/base-menu.css +55 -32
  439. package/src/components/_internal/base-menu.props.ts +10 -0
  440. package/src/components/_internal/base-radio.css +222 -52
  441. package/src/components/_internal/base-radio.props.ts +4 -1
  442. package/src/components/_internal/base-sidebar-menu.css +223 -0
  443. package/src/components/_internal/base-sidebar.css +141 -0
  444. package/src/components/_internal/base-tab-list.css +16 -0
  445. package/src/components/accordion.css +657 -0
  446. package/src/components/accordion.props.tsx +90 -0
  447. package/src/components/accordion.tsx +209 -0
  448. package/src/components/alert-dialog.props.tsx +22 -2
  449. package/src/components/alert-dialog.tsx +94 -3
  450. package/src/components/avatar.css +294 -152
  451. package/src/components/avatar.props.tsx +7 -1
  452. package/src/components/avatar.tsx +12 -2
  453. package/src/components/badge.css +160 -138
  454. package/src/components/badge.props.tsx +10 -3
  455. package/src/components/badge.tsx +71 -9
  456. package/src/components/button.css +88 -0
  457. package/src/components/button.props.tsx +17 -0
  458. package/src/components/button.tsx +107 -5
  459. package/src/components/callout.css +122 -35
  460. package/src/components/callout.props.tsx +7 -1
  461. package/src/components/callout.tsx +32 -9
  462. package/src/components/card.css +0 -597
  463. package/src/components/card.props.tsx +3 -0
  464. package/src/components/card.tsx +4 -2
  465. package/src/components/checkbox-cards.css +27 -104
  466. package/src/components/checkbox-cards.props.tsx +2 -2
  467. package/src/components/checkbox-cards.tsx +21 -3
  468. package/src/components/checkbox.tsx +2 -0
  469. package/src/components/code.css +1 -1
  470. package/src/components/code.tsx +1 -1
  471. package/src/components/container.css +1 -0
  472. package/src/components/context-menu.tsx +54 -12
  473. package/src/components/dialog.props.tsx +3 -0
  474. package/src/components/dialog.tsx +93 -3
  475. package/src/components/dropdown-menu.tsx +49 -12
  476. package/src/components/icon-button.css +73 -4
  477. package/src/components/icon-button.tsx +125 -19
  478. package/src/components/image.css +160 -91
  479. package/src/components/image.props.ts +152 -15
  480. package/src/components/image.tsx +290 -247
  481. package/src/components/index.css +1 -0
  482. package/src/components/index.tsx +1 -0
  483. package/src/components/kbd.css +23 -44
  484. package/src/components/progress.css +130 -149
  485. package/src/components/progress.props.tsx +2 -2
  486. package/src/components/radio-cards.css +23 -113
  487. package/src/components/radio-cards.props.tsx +2 -2
  488. package/src/components/radio-cards.tsx +45 -18
  489. package/src/components/radio.tsx +4 -3
  490. package/src/components/scroll-area.css +1 -1
  491. package/src/components/segmented-control.css +83 -64
  492. package/src/components/segmented-control.props.tsx +3 -3
  493. package/src/components/select.css +502 -224
  494. package/src/components/select.props.tsx +8 -0
  495. package/src/components/select.tsx +45 -2
  496. package/src/components/sidebar.css +186 -630
  497. package/src/components/sidebar.tsx +61 -5
  498. package/src/components/slider.css +228 -88
  499. package/src/components/slider.props.tsx +6 -2
  500. package/src/components/slider.tsx +201 -24
  501. package/src/components/spinner.css +12 -0
  502. package/src/components/switch.css +135 -216
  503. package/src/components/switch.props.tsx +16 -4
  504. package/src/components/switch.tsx +5 -3
  505. package/src/components/tab-nav.tsx +6 -3
  506. package/src/components/tabs.tsx +2 -0
  507. package/src/components/text-area.css +222 -140
  508. package/src/components/text-area.props.tsx +18 -1
  509. package/src/components/text-area.tsx +58 -7
  510. package/src/components/text-field.css +214 -131
  511. package/src/components/text-field.props.tsx +17 -0
  512. package/src/components/text-field.tsx +79 -28
  513. package/src/components/theme.props.tsx +12 -0
  514. package/src/components/theme.tsx +31 -1
  515. package/src/components/toggle-button.tsx +102 -3
  516. package/src/components/toggle-icon-button.tsx +150 -7
  517. package/src/components/tooltip.css +3 -3
  518. package/src/hooks/index.ts +1 -0
  519. package/src/hooks/use-live-announcer.ts +52 -0
  520. package/src/index.ts +1 -0
  521. package/src/props/weight.prop.ts +1 -1
  522. package/src/styles/fonts.css +27 -13
  523. package/src/styles/index.css +1 -1
  524. package/src/styles/tokens/base.css +2 -0
  525. package/src/styles/tokens/blur.css +32 -0
  526. package/src/styles/tokens/color.css +9 -9
  527. package/src/styles/tokens/constants.css +88 -140
  528. package/src/styles/tokens/index.css +2 -0
  529. package/src/styles/tokens/opacity.css +32 -0
  530. package/src/styles/tokens/radius.css +6 -10
  531. package/src/styles/tokens/shadow.css +25 -25
  532. package/src/styles/tokens/transition.css +49 -13
  533. package/src/styles/tokens/typography.css +7 -3
  534. package/src/styles/utilities/font-weight.css +16 -0
  535. package/styles.css +11129 -8945
  536. package/tokens/base.css +127 -49
  537. package/tokens.css +158 -114
  538. package/utilities.css +72 -0
@@ -1,2 +1,2 @@
1
- "use client";import*as o from"react";import f from"classnames";import{composeEventHandlers as u,composeRefs as l}from"radix-ui/internal";import{radioPropDefs as R}from"./radio.props.js";import{marginPropDefs as c}from"../props/margin.props.js";import{extractProps as P}from"../helpers/extract-props.js";const e=o.forwardRef((r,t)=>{const p=o.useRef(null),{className:a,color:s,onChange:i,onValueChange:n,...m}=P(r,R,c);return o.createElement("input",{type:"radio","data-accent-color":s,...m,onChange:u(i,d=>n?.(d.currentTarget.value)),ref:l(p,t),className:f("rt-reset","rt-BaseRadioRoot","rt-RadioRoot",a)})});e.displayName="Radio";export{e as Radio};
1
+ "use client";import*as o from"react";import f from"classnames";import{composeEventHandlers as u,composeRefs as R}from"radix-ui/internal";import{radioPropDefs as c}from"./radio.props.js";import{marginPropDefs as P}from"../props/margin.props.js";import{extractProps as y}from"../helpers/extract-props.js";const e=o.forwardRef((r,t)=>{const p=o.useRef(null),{className:a,color:s,material:i,onChange:n,onValueChange:m,...d}=y(r,c,P);return o.createElement("input",{type:"radio","data-accent-color":s,"data-material":i,...d,onChange:u(n,l=>m?.(l.currentTarget.value)),ref:R(p,t),className:f("rt-reset","rt-BaseRadioRoot","rt-RadioRoot",a)})});e.displayName="Radio";export{e as Radio};
2
2
  //# sourceMappingURL=radio.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/radio.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeEventHandlers, composeRefs } from 'radix-ui/internal';\n\nimport { radioPropDefs } from './radio.props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { ComponentPropsWithout } from '../helpers/component-props.js';\nimport type { NotInputRadioAttributes } from '../helpers/input-attributes.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype RadioElement = React.ElementRef<'input'>;\ntype RadioOwnProps = GetPropDefTypes<typeof radioPropDefs> & {\n value: string;\n onValueChange?: (value: string) => void;\n};\ntype RadioInputProps = ComponentPropsWithout<\n 'input',\n NotInputRadioAttributes | 'color' | 'defaultValue' | 'value'\n>;\ninterface RadioProps extends RadioInputProps, MarginProps, RadioOwnProps {}\n\nconst Radio = React.forwardRef<RadioElement, RadioProps>((props, forwardedRef) => {\n const ref = React.useRef<RadioElement>(null);\n const { className, color, onChange, onValueChange, ...radioProps } = extractProps(\n props,\n radioPropDefs,\n marginPropDefs\n );\n return (\n <input\n type=\"radio\"\n data-accent-color={color}\n {...radioProps}\n onChange={composeEventHandlers(onChange, (event) =>\n onValueChange?.(event.currentTarget.value)\n )}\n ref={composeRefs(ref, forwardedRef)}\n className={classNames('rt-reset', 'rt-BaseRadioRoot', 'rt-RadioRoot', className)}\n />\n );\n});\nRadio.displayName = 'Radio';\n\nexport { Radio };\nexport type { RadioProps };\n"],
5
- "mappings": "aAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,wBAAAC,EAAsB,eAAAC,MAAmB,oBAElD,OAAS,iBAAAC,MAAqB,mBAC9B,OAAS,kBAAAC,MAAsB,2BAC/B,OAAS,gBAAAC,MAAoB,8BAkB7B,MAAMC,EAAQP,EAAM,WAAqC,CAACQ,EAAOC,IAAiB,CAChF,MAAMC,EAAMV,EAAM,OAAqB,IAAI,EACrC,CAAE,UAAAW,EAAW,MAAAC,EAAO,SAAAC,EAAU,cAAAC,EAAe,GAAGC,CAAW,EAAIT,EACnEE,EACAJ,EACAC,CACF,EACA,OACEL,EAAA,cAAC,SACC,KAAK,QACL,oBAAmBY,EAClB,GAAGG,EACJ,SAAUb,EAAqBW,EAAWG,GACxCF,IAAgBE,EAAM,cAAc,KAAK,CAC3C,EACA,IAAKb,EAAYO,EAAKD,CAAY,EAClC,UAAWR,EAAW,WAAY,mBAAoB,eAAgBU,CAAS,EACjF,CAEJ,CAAC,EACDJ,EAAM,YAAc",
6
- "names": ["React", "classNames", "composeEventHandlers", "composeRefs", "radioPropDefs", "marginPropDefs", "extractProps", "Radio", "props", "forwardedRef", "ref", "className", "color", "onChange", "onValueChange", "radioProps", "event"]
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeEventHandlers, composeRefs } from 'radix-ui/internal';\n\nimport { radioPropDefs } from './radio.props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { ComponentPropsWithout } from '../helpers/component-props.js';\nimport type { NotInputRadioAttributes } from '../helpers/input-attributes.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype RadioElement = React.ElementRef<'input'>;\ntype RadioOwnProps = GetPropDefTypes<typeof radioPropDefs> & {\n value: string;\n onValueChange?: (value: string) => void;\n};\ntype RadioInputProps = ComponentPropsWithout<\n 'input',\n NotInputRadioAttributes | 'color' | 'defaultValue' | 'value'\n>;\ninterface RadioProps extends RadioInputProps, MarginProps, RadioOwnProps {}\n\nconst Radio = React.forwardRef<RadioElement, RadioProps>((props, forwardedRef) => {\n const ref = React.useRef<RadioElement>(null);\n const { className, color, material, onChange, onValueChange, ...radioProps } = extractProps(\n props,\n radioPropDefs,\n marginPropDefs,\n );\n return (\n <input\n type=\"radio\"\n data-accent-color={color}\n data-material={material}\n {...radioProps}\n onChange={composeEventHandlers(onChange, (event) =>\n onValueChange?.(event.currentTarget.value),\n )}\n ref={composeRefs(ref, forwardedRef)}\n className={classNames('rt-reset', 'rt-BaseRadioRoot', 'rt-RadioRoot', className)}\n />\n );\n});\nRadio.displayName = 'Radio';\n\nexport { Radio };\nexport type { RadioProps };\n"],
5
+ "mappings": "aAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,wBAAAC,EAAsB,eAAAC,MAAmB,oBAElD,OAAS,iBAAAC,MAAqB,mBAC9B,OAAS,kBAAAC,MAAsB,2BAC/B,OAAS,gBAAAC,MAAoB,8BAkB7B,MAAMC,EAAQP,EAAM,WAAqC,CAACQ,EAAOC,IAAiB,CAChF,MAAMC,EAAMV,EAAM,OAAqB,IAAI,EACrC,CAAE,UAAAW,EAAW,MAAAC,EAAO,SAAAC,EAAU,SAAAC,EAAU,cAAAC,EAAe,GAAGC,CAAW,EAAIV,EAC7EE,EACAJ,EACAC,CACF,EACA,OACEL,EAAA,cAAC,SACC,KAAK,QACL,oBAAmBY,EACnB,gBAAeC,EACd,GAAGG,EACJ,SAAUd,EAAqBY,EAAWG,GACxCF,IAAgBE,EAAM,cAAc,KAAK,CAC3C,EACA,IAAKd,EAAYO,EAAKD,CAAY,EAClC,UAAWR,EAAW,WAAY,mBAAoB,eAAgBU,CAAS,EACjF,CAEJ,CAAC,EACDJ,EAAM,YAAc",
6
+ "names": ["React", "classNames", "composeEventHandlers", "composeRefs", "radioPropDefs", "marginPropDefs", "extractProps", "Radio", "props", "forwardedRef", "ref", "className", "color", "material", "onChange", "onValueChange", "radioProps", "event"]
7
7
  }
@@ -12,15 +12,15 @@ declare const segmentedControlRootPropDefs: {
12
12
  size: {
13
13
  type: "enum";
14
14
  className: string;
15
- values: readonly ["1", "2", "3"];
15
+ values: readonly ["1", "2", "3", "4"];
16
16
  default: "2";
17
17
  responsive: true;
18
18
  };
19
19
  variant: {
20
20
  type: "enum";
21
21
  className: string;
22
- values: readonly ["surface", "classic"];
23
- default: "surface";
22
+ values: readonly ["soft"];
23
+ default: "soft";
24
24
  };
25
25
  panelBackground: {
26
26
  type: "enum";
@@ -1,2 +1,2 @@
1
- import{radiusPropDef as e}from"../props/radius.prop.js";const s=["1","2","3"],a=["surface","classic"],r={disabled:{type:"boolean",className:"disabled",default:!1},size:{type:"enum",className:"rt-r-size",values:s,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:a,default:"surface"},panelBackground:{type:"enum",className:"rt-panel-background",values:["solid","translucent"]},...e};export{r as segmentedControlRootPropDefs};
1
+ import{radiusPropDef as e}from"../props/radius.prop.js";const s=["1","2","3","4"],a=["soft"],o={disabled:{type:"boolean",className:"disabled",default:!1},size:{type:"enum",className:"rt-r-size",values:s,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:a,default:"soft"},panelBackground:{type:"enum",className:"rt-panel-background",values:["solid","translucent"]},...e};export{o as segmentedControlRootPropDefs};
2
2
  //# sourceMappingURL=segmented-control.props.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/segmented-control.props.tsx"],
4
- "sourcesContent": ["import { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3'] as const;\nconst variants = ['surface', 'classic'] as const;\n\nconst segmentedControlRootPropDefs = {\n disabled: { type: 'boolean', className: 'disabled', default: false },\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'surface' },\n panelBackground: {\n type: 'enum',\n className: 'rt-panel-background',\n values: ['solid', 'translucent'],\n },\n ...radiusPropDef,\n} satisfies {\n disabled?: PropDef<boolean>;\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n panelBackground: PropDef<'solid' | 'translucent'>;\n};\n\nexport { segmentedControlRootPropDefs };\n"],
5
- "mappings": "AAAA,OAAS,iBAAAA,MAAqB,0BAI9B,MAAMC,EAAQ,CAAC,IAAK,IAAK,GAAG,EACtBC,EAAW,CAAC,UAAW,SAAS,EAEhCC,EAA+B,CACnC,SAAU,CAAE,KAAM,UAAW,UAAW,WAAY,QAAS,EAAM,EACnE,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQF,EAAO,QAAS,IAAK,WAAY,EAAK,EAC5F,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQC,EAAU,QAAS,SAAU,EACvF,gBAAiB,CACf,KAAM,OACN,UAAW,sBACX,OAAQ,CAAC,QAAS,aAAa,CACjC,EACA,GAAGF,CACL",
4
+ "sourcesContent": ["import { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\nconst variants = ['soft'] as const;\n\nconst segmentedControlRootPropDefs = {\n disabled: { type: 'boolean', className: 'disabled', default: false },\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'soft' },\n panelBackground: {\n type: 'enum',\n className: 'rt-panel-background',\n values: ['solid', 'translucent'],\n },\n ...radiusPropDef,\n} satisfies {\n disabled?: PropDef<boolean>;\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n panelBackground: PropDef<'solid' | 'translucent'>;\n};\n\nexport { segmentedControlRootPropDefs };\n"],
5
+ "mappings": "AAAA,OAAS,iBAAAA,MAAqB,0BAI9B,MAAMC,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3BC,EAAW,CAAC,MAAM,EAElBC,EAA+B,CACnC,SAAU,CAAE,KAAM,UAAW,UAAW,WAAY,QAAS,EAAM,EACnE,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQF,EAAO,QAAS,IAAK,WAAY,EAAK,EAC5F,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQC,EAAU,QAAS,MAAO,EACpF,gBAAiB,CACf,KAAM,OACN,UAAW,sBACX,OAAQ,CAAC,QAAS,aAAa,CACjC,EACA,GAAGF,CACL",
6
6
  "names": ["radiusPropDef", "sizes", "variants", "segmentedControlRootPropDefs"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/components/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAqC,MAAM,UAAU,CAAC;AAKxF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEzF,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAErE,KAAK,kBAAkB,GAAG,kBAAkB,CAAC;AAG7C,UAAU,eAAgB,SAAQ,eAAe,CAAC,WAAW,EAAE,kBAAkB;CAAG;AACpF,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CASzC,CAAC;AAIF,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC3E,UAAU,kBACR,SAAQ,qBAAqB,CAAC,OAAO,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,EACzE,WAAW,EACX,qBAAqB;CAAG;AAC5B,QAAA,MAAM,aAAa,8FAkClB,CAAC;AAIF,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC3E,UAAU,kBACR,SAAQ,qBAAqB,CAAC,OAAO,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,EACzE,qBAAqB;IACvB,SAAS,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;CACxF;AACD,QAAA,MAAM,aAAa,2FAoDlB,CAAC;AAIF,UAAU,eACR,SAAQ,qBAAqB,CAAC,OAAO,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC;CAAG;AAC7E,QAAA,MAAM,UAAU,wFAed,CAAC;AAIH,UAAU,gBACR,SAAQ,qBAAqB,CAAC,OAAO,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC;CAAG;AAC9E,QAAA,MAAM,WAAW,yFAShB,CAAC;AAIF,UAAU,gBACR,SAAQ,qBAAqB,CAAC,OAAO,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC;CAAG;AAC9E,QAAA,MAAM,WAAW,yFAShB,CAAC;AAIF,UAAU,oBACR,SAAQ,qBAAqB,CAAC,OAAO,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC;CAAG;AAClF,QAAA,MAAM,eAAe,6FASpB,CAAC;AAGF,OAAO,EACL,UAAU,IAAI,IAAI,EAClB,aAAa,IAAI,OAAO,EACxB,aAAa,IAAI,OAAO,EACxB,UAAU,IAAI,IAAI,EAClB,WAAW,IAAI,KAAK,EACpB,WAAW,IAAI,KAAK,EACpB,eAAe,IAAI,SAAS,GAC7B,CAAC;AAEF,YAAY,EACV,eAAe,IAAI,SAAS,EAC5B,kBAAkB,IAAI,YAAY,EAClC,kBAAkB,IAAI,YAAY,EAClC,eAAe,IAAI,SAAS,EAC5B,gBAAgB,IAAI,UAAU,EAC9B,gBAAgB,IAAI,UAAU,EAC9B,oBAAoB,IAAI,cAAc,GACvC,CAAC"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/components/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAqC,MAAM,UAAU,CAAC;AAKxF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEzF,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAErE,KAAK,kBAAkB,GAAG,kBAAkB,CAAC;AAG7C,UAAU,eAAgB,SAAQ,eAAe,CAAC,WAAW,EAAE,kBAAkB;CAAG;AACpF,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CASzC,CAAC;AAIF,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC3E,UAAU,kBACR,SAAQ,qBAAqB,CAAC,OAAO,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,EACzE,WAAW,EACX,qBAAqB;CAAG;AAC5B,QAAA,MAAM,aAAa,8FA6ElB,CAAC;AAIF,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC3E,UAAU,kBACR,SAAQ,qBAAqB,CAAC,OAAO,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,EACzE,qBAAqB;IACvB,SAAS,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;CACxF;AACD,QAAA,MAAM,aAAa,2FAoDlB,CAAC;AAIF,UAAU,eACR,SAAQ,qBAAqB,CAAC,OAAO,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC;CAAG;AAC7E,QAAA,MAAM,UAAU,wFAed,CAAC;AAIH,UAAU,gBACR,SAAQ,qBAAqB,CAAC,OAAO,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC;CAAG;AAC9E,QAAA,MAAM,WAAW,yFAShB,CAAC;AAIF,UAAU,gBACR,SAAQ,qBAAqB,CAAC,OAAO,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC;CAAG;AAC9E,QAAA,MAAM,WAAW,yFAShB,CAAC;AAIF,UAAU,oBACR,SAAQ,qBAAqB,CAAC,OAAO,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC;CAAG;AAClF,QAAA,MAAM,eAAe,6FASpB,CAAC;AAGF,OAAO,EACL,UAAU,IAAI,IAAI,EAClB,aAAa,IAAI,OAAO,EACxB,aAAa,IAAI,OAAO,EACxB,UAAU,IAAI,IAAI,EAClB,WAAW,IAAI,KAAK,EACpB,WAAW,IAAI,KAAK,EACpB,eAAe,IAAI,SAAS,GAC7B,CAAC;AAEF,YAAY,EACV,eAAe,IAAI,SAAS,EAC5B,kBAAkB,IAAI,YAAY,EAClC,kBAAkB,IAAI,YAAY,EAClC,eAAe,IAAI,SAAS,EAC5B,gBAAgB,IAAI,UAAU,EAC9B,gBAAgB,IAAI,UAAU,EAC9B,oBAAoB,IAAI,cAAc,GACvC,CAAC"}
@@ -1,2 +1,2 @@
1
- "use client";import*as e from"react";import i from"classnames";import{Select as l,ScrollArea as c}from"radix-ui";import{extractProps as u}from"../helpers/extract-props.js";import{marginPropDefs as N}from"../props/margin.props.js";import{ChevronDownIcon as x,ThickCheckIcon as b}from"./icons.js";import{selectRootPropDefs as f,selectTriggerPropDefs as R,selectContentPropDefs as w}from"./select.props.js";import{useThemeContext as E,Theme as G}from"./theme.js";const d=e.createContext({}),C=t=>{const{children:o,size:r=f.size.default,...s}=t;return e.createElement(l.Root,{...s},e.createElement(d.Provider,{value:e.useMemo(()=>({size:r}),[r])},o))};C.displayName="Select.Root";const g=e.forwardRef((t,o)=>{const r=e.useContext(d),{children:s,className:a,color:p,radius:n,placeholder:m,...S}=u({size:r?.size,...t},{size:f.size},R,N),{panelBackground:P}=t;return e.createElement(l.Trigger,{asChild:!0},e.createElement("button",{"data-accent-color":p,"data-radius":n,"data-panel-background":P,...S,ref:o,className:i("rt-reset","rt-SelectTrigger",a)},e.createElement("span",{className:"rt-SelectTriggerInner"},e.createElement(l.Value,{placeholder:m},s)),e.createElement(l.Icon,{asChild:!0},e.createElement(x,{className:"rt-SelectIcon"}))))});g.displayName="Select.Trigger";const v=e.forwardRef((t,o)=>{const r=e.useContext(d),{className:s,children:a,color:p,container:n,...m}=u({size:r?.size,...t},{size:f.size},w),S=E(),P=p||S.accentColor;return e.createElement(l.Portal,{container:n},e.createElement(G,{asChild:!0},e.createElement(l.Content,{"data-accent-color":P,sideOffset:4,...m,asChild:!1,ref:o,className:i("rt-PopperContent","rt-BaseMenuContent","rt-SelectContent",s)},e.createElement(c.Root,{type:"auto",className:"rt-ScrollAreaRoot"},e.createElement(l.Viewport,{asChild:!0,className:i("rt-BaseMenuViewport","rt-SelectViewport")},e.createElement(c.Viewport,{className:"rt-ScrollAreaViewport",style:{overflowY:void 0}},a)),e.createElement(c.Scrollbar,{className:"rt-ScrollAreaScrollbar rt-r-size-1",orientation:"vertical"},e.createElement(c.Thumb,{className:"rt-ScrollAreaThumb"}))))))});v.displayName="Select.Content";const y=e.forwardRef((t,o)=>{const{className:r,children:s,...a}=t;return e.createElement(l.Item,{...a,asChild:!1,ref:o,className:i("rt-reset","rt-BaseMenuItem","rt-SelectItem",r)},e.createElement(l.ItemIndicator,{className:"rt-SelectItemIndicator"},e.createElement(b,{className:"rt-SelectItemIndicatorIcon"})),e.createElement(l.ItemText,null,s))});y.displayName="Select.Item";const h=e.forwardRef(({className:t,...o},r)=>e.createElement(l.Group,{...o,asChild:!1,ref:r,className:i("rt-SelectGroup",t)}));h.displayName="Select.Group";const I=e.forwardRef(({className:t,...o},r)=>e.createElement(l.Label,{...o,asChild:!1,ref:r,className:i("rt-BaseMenuLabel","rt-SelectLabel",t)}));I.displayName="Select.Label";const T=e.forwardRef(({className:t,...o},r)=>e.createElement(l.Separator,{...o,asChild:!1,ref:r,className:i("rt-BaseMenuSeparator","rt-SelectSeparator",t)}));T.displayName="Select.Separator";export{v as Content,h as Group,y as Item,I as Label,C as Root,T as Separator,g as Trigger};
1
+ "use client";import*as e from"react";import i from"classnames";import{Select as l,ScrollArea as p}from"radix-ui";import{extractProps as g}from"../helpers/extract-props.js";import{marginPropDefs as E}from"../props/margin.props.js";import{ChevronDownIcon as G,ThickCheckIcon as L}from"./icons.js";import{selectRootPropDefs as d,selectTriggerPropDefs as D,selectContentPropDefs as V}from"./select.props.js";import{useThemeContext as z,Theme as k}from"./theme.js";const f=e.createContext({}),v=t=>{const{children:o,size:r=d.size.default,...s}=t;return e.createElement(l.Root,{...s},e.createElement(f.Provider,{value:e.useMemo(()=>({size:r}),[r])},o))};v.displayName="Select.Root";const y=e.forwardRef((t,o)=>{const r=e.useContext(f),{children:s,className:n,color:m,radius:S,placeholder:P,error:c,loading:a,disabled:u,readOnly:C,...b}=g({size:r?.size,...t},{size:d.size},D,E),{panelBackground:w}=t,R=e.useMemo(()=>({"aria-invalid":c||void 0,"aria-busy":a||void 0,"aria-disabled":u||void 0,"aria-readonly":C||void 0}),[c,a,u,C]);return e.createElement(l.Trigger,{asChild:!0},e.createElement("button",{"data-accent-color":m,"data-radius":S,"data-panel-background":w,"data-error":c,"data-loading":a,...b,...R,ref:o,className:i("rt-reset","rt-SelectTrigger",n)},e.createElement("span",{className:"rt-SelectTriggerInner"},e.createElement(l.Value,{placeholder:P},s)),e.createElement(l.Icon,{asChild:!0},a?e.createElement("div",{className:"rt-SelectIcon rt-SelectLoadingIcon","aria-hidden":"true"},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},e.createElement("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:"32",strokeDashoffset:"32",className:"rt-SelectLoadingIconCircle"}))):e.createElement(G,{className:"rt-SelectIcon"}))))});y.displayName="Select.Trigger";const h=e.forwardRef((t,o)=>{const r=e.useContext(f),{className:s,children:n,color:m,container:S,...P}=g({size:r?.size,...t},{size:d.size},V),c=z(),a=m||c.accentColor;return e.createElement(l.Portal,{container:S},e.createElement(k,{asChild:!0},e.createElement(l.Content,{"data-accent-color":a,sideOffset:4,...P,asChild:!1,ref:o,className:i("rt-PopperContent","rt-BaseMenuContent","rt-SelectContent",s)},e.createElement(p.Root,{type:"auto",className:"rt-ScrollAreaRoot"},e.createElement(l.Viewport,{asChild:!0,className:i("rt-BaseMenuViewport","rt-SelectViewport")},e.createElement(p.Viewport,{className:"rt-ScrollAreaViewport",style:{overflowY:void 0}},n)),e.createElement(p.Scrollbar,{className:"rt-ScrollAreaScrollbar rt-r-size-1",orientation:"vertical"},e.createElement(p.Thumb,{className:"rt-ScrollAreaThumb"}))))))});h.displayName="Select.Content";const I=e.forwardRef((t,o)=>{const{className:r,children:s,...n}=t;return e.createElement(l.Item,{...n,asChild:!1,ref:o,className:i("rt-reset","rt-BaseMenuItem","rt-SelectItem",r)},e.createElement(l.ItemIndicator,{className:"rt-SelectItemIndicator"},e.createElement(L,{className:"rt-SelectItemIndicatorIcon"})),e.createElement(l.ItemText,null,s))});I.displayName="Select.Item";const T=e.forwardRef(({className:t,...o},r)=>e.createElement(l.Group,{...o,asChild:!1,ref:r,className:i("rt-SelectGroup",t)}));T.displayName="Select.Group";const N=e.forwardRef(({className:t,...o},r)=>e.createElement(l.Label,{...o,asChild:!1,ref:r,className:i("rt-BaseMenuLabel","rt-SelectLabel",t)}));N.displayName="Select.Label";const x=e.forwardRef(({className:t,...o},r)=>e.createElement(l.Separator,{...o,asChild:!1,ref:r,className:i("rt-BaseMenuSeparator","rt-SelectSeparator",t)}));x.displayName="Select.Separator";export{h as Content,T as Group,I as Item,N as Label,v as Root,x as Separator,y as Trigger};
2
2
  //# sourceMappingURL=select.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/select.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Select as SelectPrimitive, ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { ChevronDownIcon, ThickCheckIcon } from './icons.js';\nimport {\n selectRootPropDefs,\n selectTriggerPropDefs,\n selectContentPropDefs,\n} from './select.props.js';\nimport { useThemeContext, Theme } from './theme.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\ntype SelectRootOwnProps = GetPropDefTypes<typeof selectRootPropDefs>;\n\ntype SelectContextValue = SelectRootOwnProps;\nconst SelectContext = React.createContext<SelectContextValue>({});\n\ninterface SelectRootProps extends SelectPrimitive.SelectProps, SelectContextValue {}\nconst SelectRoot: React.FC<SelectRootProps> = (props) => {\n const { children, size = selectRootPropDefs.size.default, ...rootProps } = props;\n return (\n <SelectPrimitive.Root {...rootProps}>\n <SelectContext.Provider value={React.useMemo(() => ({ size }), [size])}>\n {children}\n </SelectContext.Provider>\n </SelectPrimitive.Root>\n );\n};\nSelectRoot.displayName = 'Select.Root';\n\ntype SelectTriggerElement = React.ElementRef<typeof SelectPrimitive.Trigger>;\ntype SelectTriggerOwnProps = GetPropDefTypes<typeof selectTriggerPropDefs>;\ninterface SelectTriggerProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Trigger, RemovedProps>,\n MarginProps,\n SelectTriggerOwnProps {}\nconst SelectTrigger = React.forwardRef<SelectTriggerElement, SelectTriggerProps>(\n (props, forwardedRef) => {\n const context = React.useContext(SelectContext);\n const { children, className, color, radius, placeholder, ...triggerProps } = extractProps(\n // Pass size value from the context to generate styles\n { size: context?.size, ...props },\n // Pass size prop def to allow it to be extracted\n { size: selectRootPropDefs.size },\n selectTriggerPropDefs,\n marginPropDefs,\n );\n\n // Extract panelBackground separately since it needs to be passed as data attribute\n const { panelBackground } = props;\n return (\n <SelectPrimitive.Trigger asChild>\n <button\n data-accent-color={color}\n data-radius={radius}\n data-panel-background={panelBackground}\n {...triggerProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-SelectTrigger', className)}\n >\n <span className=\"rt-SelectTriggerInner\">\n <SelectPrimitive.Value placeholder={placeholder}>{children}</SelectPrimitive.Value>\n </span>\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"rt-SelectIcon\" />\n </SelectPrimitive.Icon>\n </button>\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = 'Select.Trigger';\n\ntype SelectContentElement = React.ElementRef<typeof SelectPrimitive.Content>;\ntype SelectContentOwnProps = GetPropDefTypes<typeof selectContentPropDefs>;\ninterface SelectContentProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Content, RemovedProps>,\n SelectContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Portal>['container'];\n}\nconst SelectContent = React.forwardRef<SelectContentElement, SelectContentProps>(\n (props, forwardedRef) => {\n const context = React.useContext(SelectContext);\n const { className, children, color, container, ...contentProps } = extractProps(\n // Pass size value from the context to generate styles\n { size: context?.size, ...props },\n // Pass size prop def to allow it to be extracted\n { size: selectRootPropDefs.size },\n selectContentPropDefs,\n );\n const themeContext = useThemeContext();\n const resolvedColor = color || themeContext.accentColor;\n return (\n <SelectPrimitive.Portal container={container}>\n <Theme asChild>\n <SelectPrimitive.Content\n data-accent-color={resolvedColor}\n sideOffset={4}\n {...contentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-SelectContent',\n className,\n )}\n >\n <ScrollAreaPrimitive.Root type=\"auto\" className=\"rt-ScrollAreaRoot\">\n <SelectPrimitive.Viewport\n asChild\n className={classNames('rt-BaseMenuViewport', 'rt-SelectViewport')}\n >\n <ScrollAreaPrimitive.Viewport\n className=\"rt-ScrollAreaViewport\"\n style={{ overflowY: undefined }}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n </SelectPrimitive.Viewport>\n <ScrollAreaPrimitive.Scrollbar\n className=\"rt-ScrollAreaScrollbar rt-r-size-1\"\n orientation=\"vertical\"\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n </ScrollAreaPrimitive.Root>\n </SelectPrimitive.Content>\n </Theme>\n </SelectPrimitive.Portal>\n );\n },\n);\nSelectContent.displayName = 'Select.Content';\n\ntype SelectItemElement = React.ElementRef<typeof SelectPrimitive.Item>;\ninterface SelectItemProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Item, RemovedProps> {}\nconst SelectItem = React.forwardRef<SelectItemElement, SelectItemProps>((props, forwardedRef) => {\n const { className, children, ...itemProps } = props;\n return (\n <SelectPrimitive.Item\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-SelectItem', className)}\n >\n <SelectPrimitive.ItemIndicator className=\"rt-SelectItemIndicator\">\n <ThickCheckIcon className=\"rt-SelectItemIndicatorIcon\" />\n </SelectPrimitive.ItemIndicator>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n});\nSelectItem.displayName = 'Select.Item';\n\ntype SelectGroupElement = React.ElementRef<typeof SelectPrimitive.Group>;\ninterface SelectGroupProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Group, RemovedProps> {}\nconst SelectGroup = React.forwardRef<SelectGroupElement, SelectGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Group\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-SelectGroup', className)}\n />\n ),\n);\nSelectGroup.displayName = 'Select.Group';\n\ntype SelectLabelElement = React.ElementRef<typeof SelectPrimitive.Label>;\ninterface SelectLabelProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Label, RemovedProps> {}\nconst SelectLabel = React.forwardRef<SelectLabelElement, SelectLabelProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Label\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuLabel', 'rt-SelectLabel', className)}\n />\n ),\n);\nSelectLabel.displayName = 'Select.Label';\n\ntype SelectSeparatorElement = React.ElementRef<typeof SelectPrimitive.Separator>;\ninterface SelectSeparatorProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Separator, RemovedProps> {}\nconst SelectSeparator = React.forwardRef<SelectSeparatorElement, SelectSeparatorProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuSeparator', 'rt-SelectSeparator', className)}\n />\n ),\n);\nSelectSeparator.displayName = 'Select.Separator';\n\nexport {\n SelectRoot as Root,\n SelectTrigger as Trigger,\n SelectContent as Content,\n SelectItem as Item,\n SelectGroup as Group,\n SelectLabel as Label,\n SelectSeparator as Separator,\n};\n\nexport type {\n SelectRootProps as RootProps,\n SelectTriggerProps as TriggerProps,\n SelectContentProps as ContentProps,\n SelectItemProps as ItemProps,\n SelectGroupProps as GroupProps,\n SelectLabelProps as LabelProps,\n SelectSeparatorProps as SeparatorProps,\n};\n"],
5
- "mappings": "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",
6
- "names": ["React", "classNames", "SelectPrimitive", "ScrollAreaPrimitive", "extractProps", "marginPropDefs", "ChevronDownIcon", "ThickCheckIcon", "selectRootPropDefs", "selectTriggerPropDefs", "selectContentPropDefs", "useThemeContext", "Theme", "SelectContext", "SelectRoot", "props", "children", "size", "rootProps", "SelectTrigger", "forwardedRef", "context", "className", "color", "radius", "placeholder", "triggerProps", "panelBackground", "SelectContent", "container", "contentProps", "themeContext", "resolvedColor", "SelectItem", "itemProps", "SelectGroup", "SelectLabel", "SelectSeparator"]
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Select as SelectPrimitive, ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { ChevronDownIcon, ThickCheckIcon } from './icons.js';\nimport {\n selectRootPropDefs,\n selectTriggerPropDefs,\n selectContentPropDefs,\n} from './select.props.js';\nimport { useThemeContext, Theme } from './theme.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\ntype SelectRootOwnProps = GetPropDefTypes<typeof selectRootPropDefs>;\n\ntype SelectContextValue = SelectRootOwnProps;\nconst SelectContext = React.createContext<SelectContextValue>({});\n\ninterface SelectRootProps extends SelectPrimitive.SelectProps, SelectContextValue {}\nconst SelectRoot: React.FC<SelectRootProps> = (props) => {\n const { children, size = selectRootPropDefs.size.default, ...rootProps } = props;\n return (\n <SelectPrimitive.Root {...rootProps}>\n <SelectContext.Provider value={React.useMemo(() => ({ size }), [size])}>\n {children}\n </SelectContext.Provider>\n </SelectPrimitive.Root>\n );\n};\nSelectRoot.displayName = 'Select.Root';\n\ntype SelectTriggerElement = React.ElementRef<typeof SelectPrimitive.Trigger>;\ntype SelectTriggerOwnProps = GetPropDefTypes<typeof selectTriggerPropDefs>;\ninterface SelectTriggerProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Trigger, RemovedProps>,\n MarginProps,\n SelectTriggerOwnProps {}\nconst SelectTrigger = React.forwardRef<SelectTriggerElement, SelectTriggerProps>(\n (props, forwardedRef) => {\n const context = React.useContext(SelectContext);\n const {\n children,\n className,\n color,\n radius,\n placeholder,\n error,\n loading,\n disabled,\n readOnly,\n ...triggerProps\n } = extractProps(\n // Pass size value from the context to generate styles\n { size: context?.size, ...props },\n // Pass size prop def to allow it to be extracted\n { size: selectRootPropDefs.size },\n selectTriggerPropDefs,\n marginPropDefs,\n );\n\n // Extract panelBackground separately since it needs to be passed as data attribute\n const { panelBackground } = props;\n\n const ariaProps = React.useMemo(\n () => ({\n 'aria-invalid': error || undefined,\n 'aria-busy': loading || undefined,\n 'aria-disabled': disabled || undefined,\n 'aria-readonly': readOnly || undefined,\n }),\n [error, loading, disabled, readOnly],\n );\n\n return (\n <SelectPrimitive.Trigger asChild>\n <button\n data-accent-color={color}\n data-radius={radius}\n data-panel-background={panelBackground}\n data-error={error}\n data-loading={loading}\n {...triggerProps}\n {...ariaProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-SelectTrigger', className)}\n >\n <span className=\"rt-SelectTriggerInner\">\n <SelectPrimitive.Value placeholder={placeholder}>{children}</SelectPrimitive.Value>\n </span>\n <SelectPrimitive.Icon asChild>\n {loading ? (\n <div className=\"rt-SelectIcon rt-SelectLoadingIcon\" aria-hidden=\"true\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <circle\n cx=\"8\"\n cy=\"8\"\n r=\"7\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray=\"32\"\n strokeDashoffset=\"32\"\n className=\"rt-SelectLoadingIconCircle\"\n />\n </svg>\n </div>\n ) : (\n <ChevronDownIcon className=\"rt-SelectIcon\" />\n )}\n </SelectPrimitive.Icon>\n </button>\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = 'Select.Trigger';\n\ntype SelectContentElement = React.ElementRef<typeof SelectPrimitive.Content>;\ntype SelectContentOwnProps = GetPropDefTypes<typeof selectContentPropDefs>;\ninterface SelectContentProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Content, RemovedProps>,\n SelectContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Portal>['container'];\n}\nconst SelectContent = React.forwardRef<SelectContentElement, SelectContentProps>(\n (props, forwardedRef) => {\n const context = React.useContext(SelectContext);\n const { className, children, color, container, ...contentProps } = extractProps(\n // Pass size value from the context to generate styles\n { size: context?.size, ...props },\n // Pass size prop def to allow it to be extracted\n { size: selectRootPropDefs.size },\n selectContentPropDefs,\n );\n const themeContext = useThemeContext();\n const resolvedColor = color || themeContext.accentColor;\n return (\n <SelectPrimitive.Portal container={container}>\n <Theme asChild>\n <SelectPrimitive.Content\n data-accent-color={resolvedColor}\n sideOffset={4}\n {...contentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-SelectContent',\n className,\n )}\n >\n <ScrollAreaPrimitive.Root type=\"auto\" className=\"rt-ScrollAreaRoot\">\n <SelectPrimitive.Viewport\n asChild\n className={classNames('rt-BaseMenuViewport', 'rt-SelectViewport')}\n >\n <ScrollAreaPrimitive.Viewport\n className=\"rt-ScrollAreaViewport\"\n style={{ overflowY: undefined }}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n </SelectPrimitive.Viewport>\n <ScrollAreaPrimitive.Scrollbar\n className=\"rt-ScrollAreaScrollbar rt-r-size-1\"\n orientation=\"vertical\"\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n </ScrollAreaPrimitive.Root>\n </SelectPrimitive.Content>\n </Theme>\n </SelectPrimitive.Portal>\n );\n },\n);\nSelectContent.displayName = 'Select.Content';\n\ntype SelectItemElement = React.ElementRef<typeof SelectPrimitive.Item>;\ninterface SelectItemProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Item, RemovedProps> {}\nconst SelectItem = React.forwardRef<SelectItemElement, SelectItemProps>((props, forwardedRef) => {\n const { className, children, ...itemProps } = props;\n return (\n <SelectPrimitive.Item\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-SelectItem', className)}\n >\n <SelectPrimitive.ItemIndicator className=\"rt-SelectItemIndicator\">\n <ThickCheckIcon className=\"rt-SelectItemIndicatorIcon\" />\n </SelectPrimitive.ItemIndicator>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n});\nSelectItem.displayName = 'Select.Item';\n\ntype SelectGroupElement = React.ElementRef<typeof SelectPrimitive.Group>;\ninterface SelectGroupProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Group, RemovedProps> {}\nconst SelectGroup = React.forwardRef<SelectGroupElement, SelectGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Group\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-SelectGroup', className)}\n />\n ),\n);\nSelectGroup.displayName = 'Select.Group';\n\ntype SelectLabelElement = React.ElementRef<typeof SelectPrimitive.Label>;\ninterface SelectLabelProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Label, RemovedProps> {}\nconst SelectLabel = React.forwardRef<SelectLabelElement, SelectLabelProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Label\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuLabel', 'rt-SelectLabel', className)}\n />\n ),\n);\nSelectLabel.displayName = 'Select.Label';\n\ntype SelectSeparatorElement = React.ElementRef<typeof SelectPrimitive.Separator>;\ninterface SelectSeparatorProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Separator, RemovedProps> {}\nconst SelectSeparator = React.forwardRef<SelectSeparatorElement, SelectSeparatorProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuSeparator', 'rt-SelectSeparator', className)}\n />\n ),\n);\nSelectSeparator.displayName = 'Select.Separator';\n\nexport {\n SelectRoot as Root,\n SelectTrigger as Trigger,\n SelectContent as Content,\n SelectItem as Item,\n SelectGroup as Group,\n SelectLabel as Label,\n SelectSeparator as Separator,\n};\n\nexport type {\n SelectRootProps as RootProps,\n SelectTriggerProps as TriggerProps,\n SelectContentProps as ContentProps,\n SelectItemProps as ItemProps,\n SelectGroupProps as GroupProps,\n SelectLabelProps as LabelProps,\n SelectSeparatorProps as SeparatorProps,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "classNames", "SelectPrimitive", "ScrollAreaPrimitive", "extractProps", "marginPropDefs", "ChevronDownIcon", "ThickCheckIcon", "selectRootPropDefs", "selectTriggerPropDefs", "selectContentPropDefs", "useThemeContext", "Theme", "SelectContext", "SelectRoot", "props", "children", "size", "rootProps", "SelectTrigger", "forwardedRef", "context", "className", "color", "radius", "placeholder", "error", "loading", "disabled", "readOnly", "triggerProps", "panelBackground", "ariaProps", "SelectContent", "container", "contentProps", "themeContext", "resolvedColor", "SelectItem", "itemProps", "SelectGroup", "SelectLabel", "SelectSeparator"]
7
7
  }
@@ -32,6 +32,18 @@ declare const selectTriggerPropDefs: {
32
32
  className: string;
33
33
  values: ("solid" | "translucent")[];
34
34
  };
35
+ error: {
36
+ type: "boolean";
37
+ };
38
+ loading: {
39
+ type: "boolean";
40
+ };
41
+ disabled: {
42
+ type: "boolean";
43
+ };
44
+ readOnly: {
45
+ type: "boolean";
46
+ };
35
47
  };
36
48
  declare const selectContentPropDefs: {
37
49
  highContrast: {
@@ -1 +1 @@
1
- {"version":3,"file":"select.props.d.ts","sourceRoot":"","sources":["../../../src/components/select.props.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,kBAAkB;;;;;;;;CAIvB,CAAC;AAIF,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;CAc1B,CAAC;AAIF,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;CAM1B,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"select.props.d.ts","sourceRoot":"","sources":["../../../src/components/select.props.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,kBAAkB;;;;;;;;CAIvB,CAAC;AAIF,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsB1B,CAAC;AAIF,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;CAM1B,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{colorPropDef as e}from"../props/color.prop.js";import{highContrastPropDef as s}from"../props/high-contrast.prop.js";import{radiusPropDef as t}from"../props/radius.prop.js";const r=["1","2","3"],o={size:{type:"enum",className:"rt-r-size",values:r,default:"2",responsive:!0}},a=["classic","surface","soft","outline","ghost"],n={variant:{type:"enum",className:"rt-variant",values:a,default:"surface"},panelBackground:{type:"enum",className:"rt-panel-background",values:["solid","translucent"]},...e,...t,placeholder:{type:"string"}},i=["solid","soft"],p={variant:{type:"enum",className:"rt-variant",values:i,default:"solid"},...e,...s};export{p as selectContentPropDefs,o as selectRootPropDefs,n as selectTriggerPropDefs};
1
+ import{colorPropDef as e}from"../props/color.prop.js";import{highContrastPropDef as o}from"../props/high-contrast.prop.js";import{radiusPropDef as r}from"../props/radius.prop.js";const s=["1","2","3"],t={size:{type:"enum",className:"rt-r-size",values:s,default:"2",responsive:!0}},a=["classic","surface","soft","outline","ghost"],n={variant:{type:"enum",className:"rt-variant",values:a,default:"surface"},panelBackground:{type:"enum",className:"rt-panel-background",values:["solid","translucent"]},error:{type:"boolean"},loading:{type:"boolean"},disabled:{type:"boolean"},readOnly:{type:"boolean"},...e,...r,placeholder:{type:"string"}},l=["solid","soft"],p={variant:{type:"enum",className:"rt-variant",values:l,default:"solid"},...e,...o};export{p as selectContentPropDefs,t as selectRootPropDefs,n as selectTriggerPropDefs};
2
2
  //# sourceMappingURL=select.props.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/select.props.tsx"],
4
- "sourcesContent": ["import { colorPropDef } from '../props/color.prop.js';\nimport { highContrastPropDef } from '../props/high-contrast.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3'] as const;\n\nconst selectRootPropDefs = {\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n};\n\nconst triggerVariants = ['classic', 'surface', 'soft', 'outline', 'ghost'] as const;\n\nconst selectTriggerPropDefs = {\n variant: { type: 'enum', className: 'rt-variant', values: triggerVariants, default: 'surface' },\n panelBackground: {\n type: 'enum',\n className: 'rt-panel-background',\n values: ['solid', 'translucent'],\n },\n ...colorPropDef,\n ...radiusPropDef,\n placeholder: { type: 'string' },\n} satisfies {\n variant: PropDef<(typeof triggerVariants)[number]>;\n panelBackground: PropDef<'solid' | 'translucent'>;\n placeholder: PropDef<string>;\n};\n\nconst contentVariants = ['solid', 'soft'] as const;\n\nconst selectContentPropDefs = {\n variant: { type: 'enum', className: 'rt-variant', values: contentVariants, default: 'solid' },\n ...colorPropDef,\n ...highContrastPropDef,\n} satisfies {\n variant: PropDef<(typeof contentVariants)[number]>;\n};\n\nexport { selectRootPropDefs, selectTriggerPropDefs, selectContentPropDefs };\n"],
5
- "mappings": "AAAA,OAAS,gBAAAA,MAAoB,yBAC7B,OAAS,uBAAAC,MAA2B,iCACpC,OAAS,iBAAAC,MAAqB,0BAI9B,MAAMC,EAAQ,CAAC,IAAK,IAAK,GAAG,EAEtBC,EAAqB,CACzB,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQD,EAAO,QAAS,IAAK,WAAY,EAAK,CAC9F,EAIME,EAAkB,CAAC,UAAW,UAAW,OAAQ,UAAW,OAAO,EAEnEC,EAAwB,CAC5B,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQD,EAAiB,QAAS,SAAU,EAC9F,gBAAiB,CACf,KAAM,OACN,UAAW,sBACX,OAAQ,CAAC,QAAS,aAAa,CACjC,EACA,GAAGL,EACH,GAAGE,EACH,YAAa,CAAE,KAAM,QAAS,CAChC,EAMMK,EAAkB,CAAC,QAAS,MAAM,EAElCC,EAAwB,CAC5B,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQD,EAAiB,QAAS,OAAQ,EAC5F,GAAGP,EACH,GAAGC,CACL",
4
+ "sourcesContent": ["import { colorPropDef } from '../props/color.prop.js';\nimport { highContrastPropDef } from '../props/high-contrast.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3'] as const;\n\nconst selectRootPropDefs = {\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n};\n\nconst triggerVariants = ['classic', 'surface', 'soft', 'outline', 'ghost'] as const;\n\nconst selectTriggerPropDefs = {\n variant: { type: 'enum', className: 'rt-variant', values: triggerVariants, default: 'surface' },\n panelBackground: {\n type: 'enum',\n className: 'rt-panel-background',\n values: ['solid', 'translucent'],\n },\n error: { type: 'boolean' },\n loading: { type: 'boolean' },\n disabled: { type: 'boolean' },\n readOnly: { type: 'boolean' },\n ...colorPropDef,\n ...radiusPropDef,\n placeholder: { type: 'string' },\n} satisfies {\n variant: PropDef<(typeof triggerVariants)[number]>;\n panelBackground: PropDef<'solid' | 'translucent'>;\n error: PropDef<boolean>;\n loading: PropDef<boolean>;\n disabled: PropDef<boolean>;\n readOnly: PropDef<boolean>;\n placeholder: PropDef<string>;\n};\n\nconst contentVariants = ['solid', 'soft'] as const;\n\nconst selectContentPropDefs = {\n variant: { type: 'enum', className: 'rt-variant', values: contentVariants, default: 'solid' },\n ...colorPropDef,\n ...highContrastPropDef,\n} satisfies {\n variant: PropDef<(typeof contentVariants)[number]>;\n};\n\nexport { selectRootPropDefs, selectTriggerPropDefs, selectContentPropDefs };\n"],
5
+ "mappings": "AAAA,OAAS,gBAAAA,MAAoB,yBAC7B,OAAS,uBAAAC,MAA2B,iCACpC,OAAS,iBAAAC,MAAqB,0BAI9B,MAAMC,EAAQ,CAAC,IAAK,IAAK,GAAG,EAEtBC,EAAqB,CACzB,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQD,EAAO,QAAS,IAAK,WAAY,EAAK,CAC9F,EAIME,EAAkB,CAAC,UAAW,UAAW,OAAQ,UAAW,OAAO,EAEnEC,EAAwB,CAC5B,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQD,EAAiB,QAAS,SAAU,EAC9F,gBAAiB,CACf,KAAM,OACN,UAAW,sBACX,OAAQ,CAAC,QAAS,aAAa,CACjC,EACA,MAAO,CAAE,KAAM,SAAU,EACzB,QAAS,CAAE,KAAM,SAAU,EAC3B,SAAU,CAAE,KAAM,SAAU,EAC5B,SAAU,CAAE,KAAM,SAAU,EAC5B,GAAGL,EACH,GAAGE,EACH,YAAa,CAAE,KAAM,QAAS,CAChC,EAUMK,EAAkB,CAAC,QAAS,MAAM,EAElCC,EAAwB,CAC5B,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQD,EAAiB,QAAS,OAAQ,EAC5F,GAAGP,EACH,GAAGC,CACL",
6
6
  "names": ["colorPropDef", "highContrastPropDef", "radiusPropDef", "sizes", "selectRootPropDefs", "triggerVariants", "selectTriggerPropDefs", "contentVariants", "selectContentPropDefs"]
7
7
  }
@@ -42,6 +42,11 @@ interface SidebarProps extends ComponentPropsWithout<'div', RemovedProps>, Sideb
42
42
  }
43
43
  declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLDivElement>>;
44
44
  interface SidebarContentProps extends React.ComponentPropsWithoutRef<'div'> {
45
+ /**
46
+ * Accessible label for the navigation region.
47
+ * @default "Main navigation"
48
+ */
49
+ 'aria-label'?: string;
45
50
  }
46
51
  declare const SidebarContent: React.ForwardRefExoticComponent<SidebarContentProps & React.RefAttributes<HTMLDivElement>>;
47
52
  interface SidebarHeaderProps extends React.ComponentPropsWithoutRef<'div'> {
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use client";import*as e from"react";import n from"classnames";import{Slot as L}from"./slot.js";import{Accordion as x}from"radix-ui";import{sidebarPropDefs as P}from"./sidebar.props.js";import{Theme as w,useThemeContext as J}from"./theme.js";import{IconButton as Q}from"./icon-button.js";import{ScrollArea as X}from"./scroll-area.js";import{Separator as Y}from"./separator.js";import{ChevronDownIcon as Z,ThickChevronRightIcon as ee}from"./icons.js";import{extractProps as te}from"../helpers/extract-props.js";import{Kbd as oe}from"./kbd.js";import{Badge as R}from"./badge.js";const M=e.createContext(null);function H(){const t=e.useContext(M);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}function re(){const[t,r]=e.useState(!1);return e.useEffect(()=>{const o=()=>{r(window.innerWidth<768)};return o(),window.addEventListener("resize",o),()=>window.removeEventListener("resize",o)},[]),t}const I=e.forwardRef(({defaultOpen:t=!0,open:r,onOpenChange:o,side:a="left",className:i,children:s,...b},p)=>{const d=re(),[m,l]=e.useState(!1),[c,f]=e.useState(t),u=r??c,g=e.useCallback(S=>{const T=typeof S=="function"?S(u):S;o?o(T):f(T)},[o,u]),v=e.useCallback(()=>d?l(S=>!S):g(S=>!S),[d,g,l]),N=u?"expanded":"collapsed",y=e.useMemo(()=>({state:N,open:u,setOpen:g,isMobile:d,openMobile:m,setOpenMobile:l,toggleSidebar:v,side:a}),[N,u,g,d,m,l,v,a]);return e.createElement("div",{...b,ref:p,className:n("rt-SidebarProvider",i),"data-state":N,"data-side":a},e.createElement(M.Provider,{value:y},s))});I.displayName="Sidebar.Provider";const z=e.forwardRef((t,r)=>{const o=J(),{isMobile:a,state:i,openMobile:s,setOpenMobile:b}=H(),{size:p=P.size.default,variant:d=P.variant.default,menuVariant:m=P.menuVariant.default,type:l=P.type.default,side:c=P.side.default,collapsible:f=P.collapsible.default,panelBackground:u,color:g,highContrast:v=P.highContrast.default,asChild:N}=t,{className:y,children:S,...T}=te(t,P),{asChild:ae,panelBackground:ne,...B}=T,h=g||o.accentColor,q=typeof p=="object"?p.initial||"2":p,C=e.useContext(M);return C&&(C.side=c,C.type=l,C.variant=d,C.menuVariant=m,C.collapsible=f,C.size=q),f==="none"?e.createElement("div",{...B,ref:r,"data-accent-color":h,"data-state":i,"data-side":c,"data-type":l,"data-collapsible":f,className:n("rt-SidebarRoot",`rt-r-size-${p}`,y)},e.createElement(w,null,e.createElement("div",{className:n("rt-SidebarContainer",`rt-variant-${d}`),"data-accent-color":h,"data-high-contrast":v||void 0,"data-side":c,"data-panel-background":u},S))):a?e.createElement("div",{...B,ref:r,"data-accent-color":h,"data-state":s?"open":"closed","data-side":c,"data-type":l,"data-collapsible":f,className:n("rt-SidebarRoot","rt-SidebarRoot--mobile",y)},e.createElement(w,null,e.createElement("div",{className:n("rt-SidebarContainer",`rt-variant-${d}`,`rt-r-size-${p}`),"data-accent-color":h,"data-high-contrast":v||void 0,"data-side":c,"data-type":l,"data-collapsible":f,"data-panel-background":u},S))):e.createElement("div",{...B,ref:r,"data-accent-color":h,"data-state":i,"data-side":c,"data-type":l,"data-collapsible":f,className:n("rt-SidebarRoot",y)},e.createElement(w,null,e.createElement("div",{className:n("rt-SidebarContainer",`rt-variant-${d}`,`rt-r-size-${p}`),"data-accent-color":h,"data-high-contrast":v||void 0,"data-side":c,"data-type":l,"data-collapsible":f,"data-panel-background":u},S)))});z.displayName="Sidebar.Root";const E=e.forwardRef(({className:t,children:r,...o},a)=>{const i=e.useContext(M),{size:s="2",menuVariant:b="soft",type:p="sidebar",collapsible:d="none"}=i||{};return e.createElement(X,{type:"hover"},e.createElement("div",{...o,ref:a,className:n("rt-BaseMenuContent","rt-SidebarContent",`rt-r-size-${s}`,`rt-menu-variant-${b}`,t),"data-type":p,"data-collapsible":d},r))});E.displayName="Sidebar.Content";const G=e.forwardRef(({className:t,asContainer:r=!0,...o},a)=>{const i=e.useContext(M),{size:s="2",menuVariant:b="soft"}=i||{};return e.createElement("div",{...o,ref:a,className:n("rt-SidebarHeader",`rt-r-size-${s}`,`rt-menu-variant-${b}`,{"rt-SidebarHeader--container":r},t)})});G.displayName="Sidebar.Header";const W=e.forwardRef(({className:t,asContainer:r=!0,...o},a)=>{const i=e.useContext(M),{size:s="2",menuVariant:b="soft"}=i||{};return e.createElement("div",{...o,ref:a,className:n("rt-SidebarFooter",`rt-r-size-${s}`,`rt-menu-variant-${b}`,{"rt-SidebarFooter--container":r},t)})});W.displayName="Sidebar.Footer";const D=e.forwardRef(({onClick:t,children:r,...o},a)=>{const{toggleSidebar:i}=H();return e.createElement(Q,{...o,ref:a,variant:"ghost",onClick:s=>{t?.(s),i()}},r||e.createElement(Z,null))});D.displayName="Sidebar.Trigger";const A=e.forwardRef(({className:t,...r},o)=>e.createElement(Y,{...r,ref:o,className:n("rt-SidebarSeparator",t)}));A.displayName="Sidebar.Separator";const $=e.forwardRef(({className:t,...r},o)=>e.createElement("ul",{...r,ref:o,className:n("rt-BaseMenuViewport","rt-SidebarMenu",t)}));$.displayName="Sidebar.Menu";const O=e.forwardRef(({className:t,...r},o)=>e.createElement("li",{...r,ref:o,className:n("rt-SidebarMenuItem",t)}));O.displayName="Sidebar.MenuItem";const k=e.forwardRef(({asChild:t=!1,isActive:r=!1,shortcut:o,badge:a,className:i,children:s,onMouseEnter:b,onMouseLeave:p,...d},m)=>{const[l,c]=e.useState(!1),f=e.useContext(M),{size:u="2"}=f||{};return e.createElement(t?L:"button",{...d,ref:m,className:n("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton",i),"data-active":r||void 0,"data-highlighted":l||void 0,onMouseEnter:v=>{c(!0),b?.(v)},onMouseLeave:v=>{c(!1),p?.(v)}},t?s:e.createElement(e.Fragment,null,s,a&&e.createElement("div",{className:"rt-SidebarMenuBadge"},typeof a=="string"?e.createElement(R,{size:u,variant:"soft"},a):e.createElement(R,{size:a.size||u,variant:a.variant||"soft",color:a.color,highContrast:a.highContrast,radius:a.radius},a.content)),o&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},e.createElement(oe,{size:u},o))))});k.displayName="Sidebar.MenuButton";const V=e.forwardRef(({defaultOpen:t=!1,children:r,...o},a)=>e.createElement("div",{...o,ref:a},e.createElement(x.Root,{type:"single",collapsible:!0,defaultValue:t?"item":void 0},e.createElement(x.Item,{value:"item"},r))));V.displayName="Sidebar.MenuSub";const F=e.forwardRef(({asChild:t=!1,className:r,children:o,onMouseEnter:a,onMouseLeave:i,...s},b)=>{const[p,d]=e.useState(!1);return e.createElement(x.Header,{asChild:!0},e.createElement("div",null,e.createElement(x.Trigger,{...s,ref:b,asChild:t,className:n("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",r),"data-highlighted":p||void 0,onMouseEnter:m=>{d(!0),a?.(m)},onMouseLeave:m=>{d(!1),i?.(m)}},t?o:e.createElement(e.Fragment,null,o,e.createElement(ee,{className:n("rt-BaseMenuSubTriggerIcon","rt-SidebarMenuSubTriggerIcon")})))))});F.displayName="Sidebar.MenuSubTrigger";const j=e.forwardRef(({className:t,children:r,...o},a)=>e.createElement(x.Content,{...o,ref:a,className:n("rt-SidebarMenuSubContent",t)},e.createElement("div",{className:"rt-SidebarMenuSubList"},r)));j.displayName="Sidebar.MenuSubContent";const _=e.forwardRef(({className:t,...r},o)=>e.createElement("div",{...r,ref:o,className:n("rt-BaseMenuGroup","rt-SidebarGroup",t)}));_.displayName="Sidebar.Group";const K=e.forwardRef(({asChild:t=!1,className:r,...o},a)=>e.createElement(t?L:"div",{...o,ref:a,className:n("rt-BaseMenuLabel","rt-SidebarGroupLabel",r)}));K.displayName="Sidebar.GroupLabel";const U=e.forwardRef(({className:t,...r},o)=>e.createElement("div",{...r,ref:o,className:n("rt-SidebarGroupContent",t)}));U.displayName="Sidebar.GroupContent";export{E as Content,W as Footer,_ as Group,U as GroupContent,K as GroupLabel,G as Header,$ as Menu,k as MenuButton,O as MenuItem,V as MenuSub,j as MenuSubContent,F as MenuSubTrigger,I as Provider,z as Root,A as Separator,D as Trigger,H as useSidebar};
1
+ "use client";import*as e from"react";import s from"classnames";import{Slot as E}from"./slot.js";import{Accordion as N}from"radix-ui";import{sidebarPropDefs as M}from"./sidebar.props.js";import{Theme as w,useThemeContext as J}from"./theme.js";import{IconButton as Q}from"./icon-button.js";import{ScrollArea as X}from"./scroll-area.js";import{Separator as Y}from"./separator.js";import{ChevronDownIcon as Z,ThickChevronRightIcon as ee}from"./icons.js";import{extractProps as re}from"../helpers/extract-props.js";import{Kbd as te}from"./kbd.js";import{Badge as L}from"./badge.js";const y=e.createContext(null);function H(){const r=e.useContext(y);if(!r)throw new Error("useSidebar must be used within a SidebarProvider.");return r}function oe(){const[r,o]=e.useState(!1);return e.useEffect(()=>{const t=()=>{o(window.innerWidth<768)};return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[]),r}const I=e.forwardRef(({defaultOpen:r=!0,open:o,onOpenChange:t,side:a="left",className:p,children:l,...i},c)=>{const u=oe(),[d,b]=e.useState(!1),[m,P]=e.useState(r),g=o??m,f=e.useCallback(n=>{const v=typeof n=="function"?n(g):n;t?t(v):P(v)},[t,g]),C=e.useCallback(()=>u?b(n=>!n):f(n=>!n),[u,f,b]),S=g?"expanded":"collapsed",T=e.useMemo(()=>({state:S,open:g,setOpen:f,isMobile:u,openMobile:d,setOpenMobile:b,toggleSidebar:C,side:a}),[S,g,f,u,d,b,C,a]);return e.createElement("div",{...i,ref:c,className:s("rt-SidebarProvider",p),"data-state":S,"data-side":a},e.createElement(y.Provider,{value:T},l))});I.displayName="Sidebar.Provider";const R=e.forwardRef((r,o)=>{const t=J(),{isMobile:a,state:p,openMobile:l}=H(),{size:i=M.size.default,variant:c=M.variant.default,menuVariant:u=M.menuVariant.default,type:d=M.type.default,side:b=M.side.default,collapsible:m=M.collapsible.default,panelBackground:P,color:g,highContrast:f=M.highContrast.default}=r,{className:C,children:S,...T}=re(r,M),{asChild:n,panelBackground:v,...B}=T,x=g||t.accentColor,U=typeof i=="object"?i.initial||"2":i,h=e.useContext(y);return h&&(h.side=b,h.type=d,h.variant=c,h.menuVariant=u,h.collapsible=m,h.size=U),m==="none"?e.createElement("div",{...B,ref:o,"data-accent-color":x,"data-state":p,"data-side":b,"data-type":d,"data-collapsible":m,className:s("rt-SidebarRoot",`rt-r-size-${i}`,C)},e.createElement(w,null,e.createElement("div",{className:s("rt-SidebarContainer",`rt-variant-${c}`),"data-accent-color":x,"data-high-contrast":f||void 0,"data-side":b,"data-panel-background":P},S))):a?e.createElement("div",{...B,ref:o,"data-accent-color":x,"data-state":l?"open":"closed","data-side":b,"data-type":d,"data-collapsible":m,className:s("rt-SidebarRoot","rt-SidebarRoot--mobile",C)},e.createElement(w,null,e.createElement("div",{className:s("rt-SidebarContainer",`rt-variant-${c}`,`rt-r-size-${i}`),"data-accent-color":x,"data-high-contrast":f||void 0,"data-side":b,"data-type":d,"data-collapsible":m,"data-panel-background":P},S))):e.createElement("div",{...B,ref:o,"data-accent-color":x,"data-state":p,"data-side":b,"data-type":d,"data-collapsible":m,className:s("rt-SidebarRoot",C)},e.createElement(w,null,e.createElement("div",{className:s("rt-SidebarContainer",`rt-variant-${c}`,`rt-r-size-${i}`),"data-accent-color":x,"data-high-contrast":f||void 0,"data-side":b,"data-type":d,"data-collapsible":m,"data-panel-background":P},S)))});R.displayName="Sidebar.Root";const z=e.forwardRef(({className:r,children:o,"aria-label":t="Main navigation",...a},p)=>{const l=e.useContext(y),{size:i="2",menuVariant:c="soft",type:u="sidebar",collapsible:d="none"}=l||{};return e.createElement(X,{type:"hover"},e.createElement("div",{...a,ref:p,id:"sidebar-navigation",role:"navigation","aria-label":t,className:s("rt-BaseMenuContent","rt-SidebarContent",`rt-r-size-${i}`,`rt-menu-variant-${c}`,r),"data-type":u,"data-collapsible":d},o))});z.displayName="Sidebar.Content";const G=e.forwardRef(({className:r,asContainer:o=!0,...t},a)=>{const p=e.useContext(y),{size:l="2",menuVariant:i="soft"}=p||{};return e.createElement("div",{...t,ref:a,className:s("rt-SidebarHeader",`rt-r-size-${l}`,`rt-menu-variant-${i}`,{"rt-SidebarHeader--container":o},r)})});G.displayName="Sidebar.Header";const D=e.forwardRef(({className:r,asContainer:o=!0,...t},a)=>{const p=e.useContext(y),{size:l="2",menuVariant:i="soft"}=p||{};return e.createElement("div",{...t,ref:a,className:s("rt-SidebarFooter",`rt-r-size-${l}`,`rt-menu-variant-${i}`,{"rt-SidebarFooter--container":o},r)})});D.displayName="Sidebar.Footer";const W=e.forwardRef(({onClick:r,children:o,...t},a)=>{const{toggleSidebar:p,state:l}=H();return e.createElement(Q,{...t,ref:a,variant:"ghost","aria-label":l==="expanded"?"Collapse sidebar":"Expand sidebar","aria-expanded":l==="expanded","aria-controls":"sidebar-navigation",onClick:i=>{r?.(i),p()}},o||e.createElement(Z,null))});W.displayName="Sidebar.Trigger";const k=e.forwardRef(({className:r,...o},t)=>e.createElement(Y,{...o,ref:t,className:s("rt-SidebarSeparator",r)}));k.displayName="Sidebar.Separator";const A=e.forwardRef(({className:r,...o},t)=>e.createElement("ul",{...o,ref:t,role:"menu",className:s("rt-BaseMenuViewport","rt-SidebarMenu",r)}));A.displayName="Sidebar.Menu";const $=e.forwardRef(({className:r,...o},t)=>e.createElement("li",{...o,ref:t,className:s("rt-SidebarMenuItem",r)}));$.displayName="Sidebar.MenuItem";const O=e.forwardRef(({asChild:r=!1,isActive:o=!1,shortcut:t,badge:a,className:p,children:l,onMouseEnter:i,onMouseLeave:c,onKeyDown:u,...d},b)=>{const[m,P]=e.useState(!1),g=e.useContext(y),{size:f="2"}=g||{},C=r?E:"button",{onClick:S}=d,T=e.useCallback(n=>{switch(n.key){case"Enter":case" ":n.preventDefault(),S&&S(n);break;case"ArrowDown":{n.preventDefault();const v=n.currentTarget.nextElementSibling?.querySelector('[role="menuitem"]');v&&v.focus();break}case"ArrowUp":{n.preventDefault();const v=n.currentTarget.previousElementSibling?.querySelector('[role="menuitem"]');v&&v.focus();break}}u?.(n)},[S,u]);return e.createElement(C,{...d,ref:b,role:"menuitem","aria-current":o?"page":void 0,className:s("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton",p),"data-active":o||void 0,"data-highlighted":m||void 0,onKeyDown:T,onMouseEnter:n=>{P(!0),i?.(n)},onMouseLeave:n=>{P(!1),c?.(n)}},r?l:e.createElement(e.Fragment,null,l,a&&e.createElement("div",{className:"rt-SidebarMenuBadge"},typeof a=="string"?e.createElement(L,{size:f,variant:"soft"},a):e.createElement(L,{size:a.size||f,variant:a.variant||"soft",color:a.color,highContrast:a.highContrast,radius:a.radius},a.content)),t&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},e.createElement(te,{size:f},t))))});O.displayName="Sidebar.MenuButton";const V=e.forwardRef(({defaultOpen:r=!1,children:o,...t},a)=>e.createElement("div",{...t,ref:a},e.createElement(N.Root,{type:"single",collapsible:!0,defaultValue:r?"item":void 0},e.createElement(N.Item,{value:"item"},o))));V.displayName="Sidebar.MenuSub";const F=e.forwardRef(({asChild:r=!1,className:o,children:t,onMouseEnter:a,onMouseLeave:p,...l},i)=>{const[c,u]=e.useState(!1);return e.createElement(N.Header,{asChild:!0},e.createElement("div",null,e.createElement(N.Trigger,{...l,ref:i,asChild:r,role:"menuitem","aria-haspopup":"true",className:s("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",o),"data-highlighted":c||void 0,onMouseEnter:d=>{u(!0),a?.(d)},onMouseLeave:d=>{u(!1),p?.(d)}},r?t:e.createElement(e.Fragment,null,t,e.createElement(ee,{className:s("rt-BaseMenuSubTriggerIcon","rt-SidebarMenuSubTriggerIcon")})))))});F.displayName="Sidebar.MenuSubTrigger";const j=e.forwardRef(({className:r,children:o,...t},a)=>e.createElement(N.Content,{...t,ref:a,className:s("rt-SidebarMenuSubContent",r)},e.createElement("div",{className:"rt-SidebarMenuSubList"},o)));j.displayName="Sidebar.MenuSubContent";const K=e.forwardRef(({className:r,...o},t)=>e.createElement("div",{...o,ref:t,className:s("rt-BaseMenuGroup","rt-SidebarGroup",r)}));K.displayName="Sidebar.Group";const _=e.forwardRef(({asChild:r=!1,className:o,...t},a)=>e.createElement(r?E:"div",{...t,ref:a,role:"group",className:s("rt-BaseMenuLabel","rt-SidebarGroupLabel",o)}));_.displayName="Sidebar.GroupLabel";const q=e.forwardRef(({className:r,...o},t)=>e.createElement("div",{...o,ref:t,className:s("rt-SidebarGroupContent",r)}));q.displayName="Sidebar.GroupContent";export{z as Content,D as Footer,K as Group,q as GroupContent,_ as GroupLabel,G as Header,A as Menu,O as MenuButton,$ as MenuItem,V as MenuSub,j as MenuSubContent,F as MenuSubTrigger,I as Provider,R as Root,k as Separator,W as Trigger,H as useSidebar};
2
2
  //# sourceMappingURL=sidebar.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/sidebar.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from './slot.js';\nimport { Accordion } from 'radix-ui';\n\nimport { sidebarPropDefs } from './sidebar.props.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { IconButton } from './icon-button.js';\nimport { ScrollArea } from './scroll-area.js';\nimport { Separator } from './separator.js';\nimport { ChevronDownIcon, ThickChevronRightIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { Kbd } from './kbd.js';\nimport { Badge } from './badge.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { BadgeProps } from './badge.js';\n\n// Badge configuration type for sidebar menu buttons\ntype BadgeConfig = {\n content: React.ReactNode;\n variant?: BadgeProps['variant'];\n size?: BadgeProps['size'];\n color?: BadgeProps['color'];\n highContrast?: BadgeProps['highContrast'];\n radius?: BadgeProps['radius'];\n};\n\n// Sidebar context for state management\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n side: 'left' | 'right';\n type: 'sidebar' | 'floating';\n variant: 'soft' | 'outline' | 'surface' | 'ghost';\n menuVariant: 'solid' | 'soft';\n collapsible: 'offcanvas' | 'icon' | 'none';\n size: '1' | '2';\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n return context;\n}\n\n// Hook to detect mobile (simplified version)\nfunction useIsMobile() {\n const [isMobile, setIsMobile] = React.useState(false);\n\n React.useEffect(() => {\n const checkIsMobile = () => {\n setIsMobile(window.innerWidth < 768);\n };\n\n checkIsMobile();\n window.addEventListener('resize', checkIsMobile);\n return () => window.removeEventListener('resize', checkIsMobile);\n }, []);\n\n return isMobile;\n}\n\n// Provider component\ninterface SidebarProviderProps extends React.ComponentPropsWithoutRef<'div'> {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n side?: 'left' | 'right';\n}\n\nconst SidebarProvider = React.forwardRef<HTMLDivElement, SidebarProviderProps>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n side = 'left',\n className,\n children,\n ...props\n },\n forwardedRef,\n ) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // Internal state for uncontrolled mode\n const [internalOpen, setInternalOpen] = React.useState(defaultOpen);\n\n // Use controlled state if provided, otherwise internal state\n const open = openProp ?? internalOpen;\n\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n setInternalOpen(openState);\n }\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // State for data attributes\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = React.useMemo<Partial<SidebarContextProps>>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n side,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar, side],\n );\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarProvider', className)}\n data-state={state}\n data-side={side}\n >\n <SidebarContext.Provider value={contextValue as SidebarContextProps}>\n {children}\n </SidebarContext.Provider>\n </div>\n );\n },\n);\nSidebarProvider.displayName = 'Sidebar.Provider';\n\n// Main Sidebar component\ntype SidebarOwnProps = GetPropDefTypes<typeof sidebarPropDefs>;\ninterface SidebarProps extends ComponentPropsWithout<'div', RemovedProps>, SidebarOwnProps {}\n\nconst Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>((props, forwardedRef) => {\n const themeContext = useThemeContext();\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n const {\n size = sidebarPropDefs.size.default,\n variant = sidebarPropDefs.variant.default,\n menuVariant = sidebarPropDefs.menuVariant.default,\n type = sidebarPropDefs.type.default,\n side = sidebarPropDefs.side.default,\n collapsible = sidebarPropDefs.collapsible.default,\n panelBackground,\n color,\n highContrast = sidebarPropDefs.highContrast.default,\n asChild,\n } = props;\n\n const { className, children, ...rootProps } = extractProps(props, sidebarPropDefs);\n const { asChild: _, panelBackground: __, ...safeRootProps } = rootProps; // Remove asChild and panelBackground from DOM props\n const resolvedColor = color || themeContext.accentColor;\n\n // Update context with current props - we'll pass the resolved values\n const resolvedSize = typeof size === 'object' ? size.initial || '2' : size;\n const context = React.useContext(SidebarContext);\n if (context) {\n context.side = side;\n context.type = type;\n context.variant = variant;\n context.menuVariant = menuVariant;\n context.collapsible = collapsible;\n context.size = resolvedSize;\n }\n\n if (collapsible === 'none') {\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n data-state={state}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n className={classNames('rt-SidebarRoot', `rt-r-size-${size}`, className)}\n >\n <Theme>\n <div\n className={classNames('rt-SidebarContainer', `rt-variant-${variant}`)}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-side={side}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </Theme>\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n data-state={openMobile ? 'open' : 'closed'}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n className={classNames('rt-SidebarRoot', 'rt-SidebarRoot--mobile', className)}\n >\n <Theme>\n <div\n className={classNames(\n 'rt-SidebarContainer',\n `rt-variant-${variant}`,\n `rt-r-size-${size}`,\n )}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </Theme>\n </div>\n );\n }\n\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n data-state={state}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n className={classNames('rt-SidebarRoot', className)}\n >\n <Theme>\n <div\n className={classNames(\n 'rt-SidebarContainer',\n `rt-variant-${variant}`,\n `rt-r-size-${size}`,\n )}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </Theme>\n </div>\n );\n});\nSidebar.displayName = 'Sidebar.Root';\n\n// Sidebar content area\ninterface SidebarContentProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, SidebarContentProps>(\n ({ className, children, ...props }, forwardedRef) => {\n const context = React.useContext(SidebarContext);\n const {\n size = '2',\n menuVariant = 'soft',\n type = 'sidebar',\n collapsible = 'none',\n } = context || {};\n\n return (\n <ScrollArea type=\"hover\">\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-BaseMenuContent',\n 'rt-SidebarContent',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n className,\n )}\n data-type={type}\n data-collapsible={collapsible}\n >\n {children}\n </div>\n </ScrollArea>\n );\n },\n);\nSidebarContent.displayName = 'Sidebar.Content';\n\n// Sidebar header\ninterface SidebarHeaderProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Whether to use the default flex container layout.\n * @default true\n */\n asContainer?: boolean;\n}\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, SidebarHeaderProps>(\n ({ className, asContainer = true, ...props }, forwardedRef) => {\n const context = React.useContext(SidebarContext);\n const { size = '2', menuVariant = 'soft' } = context || {};\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarHeader',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n {\n 'rt-SidebarHeader--container': asContainer,\n },\n className,\n )}\n />\n );\n },\n);\nSidebarHeader.displayName = 'Sidebar.Header';\n\n// Sidebar footer\ninterface SidebarFooterProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Whether to use the default flex container layout.\n * @default true\n */\n asContainer?: boolean;\n}\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, SidebarFooterProps>(\n ({ className, asContainer = true, ...props }, forwardedRef) => {\n const context = React.useContext(SidebarContext);\n const { size = '2', menuVariant = 'soft' } = context || {};\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarFooter',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n {\n 'rt-SidebarFooter--container': asContainer,\n },\n className,\n )}\n />\n );\n },\n);\nSidebarFooter.displayName = 'Sidebar.Footer';\n\n// Sidebar trigger button\ninterface SidebarTriggerProps extends ComponentPropsWithout<typeof IconButton, RemovedProps> {}\n\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof IconButton>, SidebarTriggerProps>(\n ({ onClick, children, ...props }, forwardedRef) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <IconButton\n {...props}\n ref={forwardedRef}\n variant=\"ghost\"\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n >\n {children || <ChevronDownIcon />}\n </IconButton>\n );\n },\n);\nSidebarTrigger.displayName = 'Sidebar.Trigger';\n\n// Removed SidebarInset - not needed\n\n// Sidebar separator\ninterface SidebarSeparatorProps extends ComponentPropsWithout<typeof Separator, RemovedProps> {}\n\nconst SidebarSeparator = React.forwardRef<\n React.ComponentRef<typeof Separator>,\n SidebarSeparatorProps\n>(({ className, ...props }, forwardedRef) => (\n <Separator\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarSeparator', className)}\n />\n));\nSidebarSeparator.displayName = 'Sidebar.Separator';\n\n// Menu components - reusing dropdown menu structure\ninterface SidebarMenuProps extends React.ComponentPropsWithoutRef<'ul'> {}\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, SidebarMenuProps>(\n ({ className, ...props }, forwardedRef) => (\n <ul\n {...props}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuViewport', 'rt-SidebarMenu', className)}\n />\n ),\n);\nSidebarMenu.displayName = 'Sidebar.Menu';\n\ninterface SidebarMenuItemProps extends React.ComponentPropsWithoutRef<'li'> {}\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, SidebarMenuItemProps>(\n ({ className, ...props }, forwardedRef) => (\n <li {...props} ref={forwardedRef} className={classNames('rt-SidebarMenuItem', className)} />\n ),\n);\nSidebarMenuItem.displayName = 'Sidebar.MenuItem';\n\ninterface SidebarMenuButtonProps extends React.ComponentPropsWithoutRef<'button'> {\n asChild?: boolean;\n isActive?: boolean;\n shortcut?: React.ReactNode;\n badge?: string | BadgeConfig;\n}\n\nconst SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>(\n (\n {\n asChild = false,\n isActive = false,\n shortcut,\n badge,\n className,\n children,\n onMouseEnter,\n onMouseLeave,\n ...props\n },\n forwardedRef,\n ) => {\n const [isHighlighted, setIsHighlighted] = React.useState(false);\n const context = React.useContext(SidebarContext);\n const { size: sidebarSize = '2' } = context || {};\n\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-SidebarMenuButton', className)}\n data-active={isActive || undefined}\n data-highlighted={isHighlighted || undefined}\n onMouseEnter={(event) => {\n setIsHighlighted(true);\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n setIsHighlighted(false);\n onMouseLeave?.(event);\n }}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {/* Badge with soft variant default and size mapping to sidebar size */}\n {badge && (\n <div className=\"rt-SidebarMenuBadge\">\n {typeof badge === 'string' ? (\n <Badge size={sidebarSize} variant=\"soft\">\n {badge}\n </Badge>\n ) : (\n <Badge\n size={badge.size || sidebarSize}\n variant={badge.variant || 'soft'}\n color={badge.color}\n highContrast={badge.highContrast}\n radius={badge.radius}\n >\n {badge.content}\n </Badge>\n )}\n </div>\n )}\n {shortcut && (\n <div className=\"rt-BaseMenuShortcut rt-SidebarMenuShortcut\">\n <Kbd size={sidebarSize}>{shortcut}</Kbd>\n </div>\n )}\n </>\n )}\n </Comp>\n );\n },\n);\nSidebarMenuButton.displayName = 'Sidebar.MenuButton';\n\n// Sub-menu components using Radix Accordion\ninterface SidebarMenuSubProps extends React.ComponentPropsWithoutRef<'div'> {\n defaultOpen?: boolean;\n}\n\nconst SidebarMenuSub = React.forwardRef<HTMLDivElement, SidebarMenuSubProps>(\n ({ defaultOpen = false, children, ...props }, forwardedRef) => {\n return (\n <div {...props} ref={forwardedRef}>\n <Accordion.Root type=\"single\" collapsible defaultValue={defaultOpen ? 'item' : undefined}>\n <Accordion.Item value=\"item\">{children}</Accordion.Item>\n </Accordion.Root>\n </div>\n );\n },\n);\nSidebarMenuSub.displayName = 'Sidebar.MenuSub';\n\ninterface SidebarMenuSubTriggerProps\n extends React.ComponentPropsWithoutRef<typeof Accordion.Trigger> {\n asChild?: boolean;\n}\n\nconst SidebarMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof Accordion.Trigger>,\n SidebarMenuSubTriggerProps\n>(\n (\n { asChild = false, className, children, onMouseEnter, onMouseLeave, ...props },\n forwardedRef,\n ) => {\n const [isHighlighted, setIsHighlighted] = React.useState(false);\n\n return (\n <Accordion.Header asChild>\n <div>\n <Accordion.Trigger\n {...props}\n ref={forwardedRef}\n asChild={asChild}\n className={classNames(\n 'rt-reset',\n 'rt-BaseMenuItem',\n 'rt-SidebarMenuButton',\n 'rt-SidebarMenuSubTrigger',\n className,\n )}\n data-highlighted={isHighlighted || undefined}\n onMouseEnter={(event) => {\n setIsHighlighted(true);\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n setIsHighlighted(false);\n onMouseLeave?.(event);\n }}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n <ThickChevronRightIcon\n className={classNames(\n 'rt-BaseMenuSubTriggerIcon',\n 'rt-SidebarMenuSubTriggerIcon',\n )}\n />\n </>\n )}\n </Accordion.Trigger>\n </div>\n </Accordion.Header>\n );\n },\n);\nSidebarMenuSubTrigger.displayName = 'Sidebar.MenuSubTrigger';\n\ninterface SidebarMenuSubContentProps\n extends React.ComponentPropsWithoutRef<typeof Accordion.Content> {}\n\nconst SidebarMenuSubContent = React.forwardRef<\n React.ElementRef<typeof Accordion.Content>,\n SidebarMenuSubContentProps\n>(({ className, children, ...props }, forwardedRef) => {\n return (\n <Accordion.Content\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarMenuSubContent', className)}\n >\n <div className=\"rt-SidebarMenuSubList\">{children}</div>\n </Accordion.Content>\n );\n});\nSidebarMenuSubContent.displayName = 'Sidebar.MenuSubContent';\n\n// Group components\ninterface SidebarGroupProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, SidebarGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuGroup', 'rt-SidebarGroup', className)}\n />\n ),\n);\nSidebarGroup.displayName = 'Sidebar.Group';\n\ninterface SidebarGroupLabelProps extends React.ComponentPropsWithoutRef<'div'> {\n asChild?: boolean;\n}\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, SidebarGroupLabelProps>(\n ({ asChild = false, className, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuLabel', 'rt-SidebarGroupLabel', className)}\n />\n );\n },\n);\nSidebarGroupLabel.displayName = 'Sidebar.GroupLabel';\n\ninterface SidebarGroupContentProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, SidebarGroupContentProps>(\n ({ className, ...props }, forwardedRef) => (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarGroupContent', className)}\n />\n ),\n);\nSidebarGroupContent.displayName = 'Sidebar.GroupContent';\n\n// Export all components following shadcn's pattern\nexport {\n SidebarProvider as Provider,\n Sidebar as Root,\n SidebarContent as Content,\n SidebarHeader as Header,\n SidebarFooter as Footer,\n SidebarTrigger as Trigger,\n SidebarSeparator as Separator,\n SidebarMenu as Menu,\n SidebarMenuItem as MenuItem,\n SidebarMenuButton as MenuButton,\n SidebarMenuSub as MenuSub,\n SidebarMenuSubTrigger as MenuSubTrigger,\n SidebarMenuSubContent as MenuSubContent,\n SidebarGroup as Group,\n SidebarGroupLabel as GroupLabel,\n SidebarGroupContent as GroupContent,\n // Export hook\n useSidebar,\n};\n\n/**\n * Enhanced Sidebar Header and Footer Usage Examples:\n *\n * 1. Simple default container (backwards compatible):\n * <Sidebar.Header>\n * <Logo />\n * <span>App Name</span>\n * </Sidebar.Header>\n *\n * 2. Custom flex layout:\n * <Sidebar.Header className=\"rt-justify-between rt-gap-3\">\n * <Logo />\n * <Sidebar.MenuButton>\n * <SettingsIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Header>\n *\n * 3. Column layout for multiple rows:\n * <Sidebar.Header className=\"rt-flex-col rt-gap-2\" asContainer={false}>\n * <div className=\"rt-flex rt-items-center rt-gap-2\">\n * <Logo />\n * <span>App Name</span>\n * </div>\n * <Sidebar.MenuButton>\n * <UserAvatar />\n * <span>John Doe</span>\n * </Sidebar.MenuButton>\n * </Sidebar.Header>\n *\n * 4. Interactive footer with menu button:\n * <Sidebar.Footer>\n * <Sidebar.MenuButton>\n * <UserIcon />\n * <span>Settings</span>\n * <ChevronUpIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Footer>\n *\n * 5. Custom footer layout:\n * <Sidebar.Footer className=\"rt-justify-between\">\n * <span>v1.0.0</span>\n * <Sidebar.MenuButton>\n * <HelpIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Footer>\n *\n * Available utility classes:\n * - Layout: rt-flex-row, rt-flex-col\n * - Alignment: rt-items-center, rt-items-start, rt-items-end\n * - Justification: rt-justify-between, rt-justify-center, rt-justify-start, rt-justify-end\n * - Gap: rt-gap-1, rt-gap-2, rt-gap-3, rt-gap-4\n */\n\nexport type {\n SidebarProviderProps as ProviderProps,\n SidebarProps as RootProps,\n SidebarContentProps as ContentProps,\n SidebarHeaderProps as HeaderProps,\n SidebarFooterProps as FooterProps,\n SidebarTriggerProps as TriggerProps,\n BadgeConfig,\n};\n"],
5
- "mappings": "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",
6
- "names": ["React", "classNames", "Slot", "Accordion", "sidebarPropDefs", "Theme", "useThemeContext", "IconButton", "ScrollArea", "Separator", "ChevronDownIcon", "ThickChevronRightIcon", "extractProps", "Kbd", "Badge", "SidebarContext", "useSidebar", "context", "useIsMobile", "isMobile", "setIsMobile", "checkIsMobile", "SidebarProvider", "defaultOpen", "openProp", "setOpenProp", "side", "className", "children", "props", "forwardedRef", "openMobile", "setOpenMobile", "internalOpen", "setInternalOpen", "open", "setOpen", "value", "openState", "toggleSidebar", "state", "contextValue", "Sidebar", "themeContext", "size", "variant", "menuVariant", "type", "collapsible", "panelBackground", "color", "highContrast", "asChild", "rootProps", "_", "__", "safeRootProps", "resolvedColor", "resolvedSize", "SidebarContent", "SidebarHeader", "asContainer", "SidebarFooter", "SidebarTrigger", "onClick", "event", "SidebarSeparator", "SidebarMenu", "SidebarMenuItem", "SidebarMenuButton", "isActive", "shortcut", "badge", "onMouseEnter", "onMouseLeave", "isHighlighted", "setIsHighlighted", "sidebarSize", "SidebarMenuSub", "SidebarMenuSubTrigger", "SidebarMenuSubContent", "SidebarGroup", "SidebarGroupLabel", "SidebarGroupContent"]
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from './slot.js';\nimport { Accordion } from 'radix-ui';\n\nimport { sidebarPropDefs } from './sidebar.props.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { IconButton } from './icon-button.js';\nimport { ScrollArea } from './scroll-area.js';\nimport { Separator } from './separator.js';\nimport { ChevronDownIcon, ThickChevronRightIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { Kbd } from './kbd.js';\nimport { Badge } from './badge.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { BadgeProps } from './badge.js';\n\n// Badge configuration type for sidebar menu buttons\ntype BadgeConfig = {\n content: React.ReactNode;\n variant?: BadgeProps['variant'];\n size?: BadgeProps['size'];\n color?: BadgeProps['color'];\n highContrast?: BadgeProps['highContrast'];\n radius?: BadgeProps['radius'];\n};\n\n// Sidebar context for state management\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n side: 'left' | 'right';\n type: 'sidebar' | 'floating';\n variant: 'soft' | 'outline' | 'surface' | 'ghost';\n menuVariant: 'solid' | 'soft';\n collapsible: 'offcanvas' | 'icon' | 'none';\n size: '1' | '2';\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n return context;\n}\n\n// Hook to detect mobile (simplified version)\nfunction useIsMobile() {\n const [isMobile, setIsMobile] = React.useState(false);\n\n React.useEffect(() => {\n const checkIsMobile = () => {\n setIsMobile(window.innerWidth < 768);\n };\n\n checkIsMobile();\n window.addEventListener('resize', checkIsMobile);\n return () => window.removeEventListener('resize', checkIsMobile);\n }, []);\n\n return isMobile;\n}\n\n// Provider component\ninterface SidebarProviderProps extends React.ComponentPropsWithoutRef<'div'> {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n side?: 'left' | 'right';\n}\n\nconst SidebarProvider = React.forwardRef<HTMLDivElement, SidebarProviderProps>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n side = 'left',\n className,\n children,\n ...props\n },\n forwardedRef,\n ) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // Internal state for uncontrolled mode\n const [internalOpen, setInternalOpen] = React.useState(defaultOpen);\n\n // Use controlled state if provided, otherwise internal state\n const open = openProp ?? internalOpen;\n\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n setInternalOpen(openState);\n }\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // State for data attributes\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = React.useMemo<Partial<SidebarContextProps>>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n side,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar, side],\n );\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarProvider', className)}\n data-state={state}\n data-side={side}\n >\n <SidebarContext.Provider value={contextValue as SidebarContextProps}>\n {children}\n </SidebarContext.Provider>\n </div>\n );\n },\n);\nSidebarProvider.displayName = 'Sidebar.Provider';\n\n// Main Sidebar component\ntype SidebarOwnProps = GetPropDefTypes<typeof sidebarPropDefs>;\ninterface SidebarProps extends ComponentPropsWithout<'div', RemovedProps>, SidebarOwnProps {}\n\nconst Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>((props, forwardedRef) => {\n const themeContext = useThemeContext();\n const { isMobile, state, openMobile } = useSidebar();\n\n const {\n size = sidebarPropDefs.size.default,\n variant = sidebarPropDefs.variant.default,\n menuVariant = sidebarPropDefs.menuVariant.default,\n type = sidebarPropDefs.type.default,\n side = sidebarPropDefs.side.default,\n collapsible = sidebarPropDefs.collapsible.default,\n panelBackground,\n color,\n highContrast = sidebarPropDefs.highContrast.default,\n\n } = props;\n\n const { className, children, ...rootProps } = extractProps(props, sidebarPropDefs);\n const { asChild: _, panelBackground: __, ...safeRootProps } = rootProps; // Remove asChild and panelBackground from DOM props\n const resolvedColor = color || themeContext.accentColor;\n\n // Update context with current props - we'll pass the resolved values\n const resolvedSize = typeof size === 'object' ? size.initial || '2' : size;\n const context = React.useContext(SidebarContext);\n if (context) {\n context.side = side;\n context.type = type;\n context.variant = variant;\n context.menuVariant = menuVariant;\n context.collapsible = collapsible;\n context.size = resolvedSize;\n }\n\n if (collapsible === 'none') {\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n data-state={state}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n className={classNames('rt-SidebarRoot', `rt-r-size-${size}`, className)}\n >\n <Theme>\n <div\n className={classNames('rt-SidebarContainer', `rt-variant-${variant}`)}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-side={side}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </Theme>\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n data-state={openMobile ? 'open' : 'closed'}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n className={classNames('rt-SidebarRoot', 'rt-SidebarRoot--mobile', className)}\n >\n <Theme>\n <div\n className={classNames(\n 'rt-SidebarContainer',\n `rt-variant-${variant}`,\n `rt-r-size-${size}`,\n )}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </Theme>\n </div>\n );\n }\n\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n data-state={state}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n className={classNames('rt-SidebarRoot', className)}\n >\n <Theme>\n <div\n className={classNames(\n 'rt-SidebarContainer',\n `rt-variant-${variant}`,\n `rt-r-size-${size}`,\n )}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </Theme>\n </div>\n );\n});\nSidebar.displayName = 'Sidebar.Root';\n\n// Sidebar content area\ninterface SidebarContentProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Accessible label for the navigation region.\n * @default \"Main navigation\"\n */\n 'aria-label'?: string;\n}\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, SidebarContentProps>(\n (\n { className, children, 'aria-label': ariaLabel = 'Main navigation', ...props },\n forwardedRef,\n ) => {\n const context = React.useContext(SidebarContext);\n const {\n size = '2',\n menuVariant = 'soft',\n type = 'sidebar',\n collapsible = 'none',\n } = context || {};\n\n return (\n <ScrollArea type=\"hover\">\n <div\n {...props}\n ref={forwardedRef}\n id=\"sidebar-navigation\"\n role=\"navigation\"\n aria-label={ariaLabel}\n className={classNames(\n 'rt-BaseMenuContent',\n 'rt-SidebarContent',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n className,\n )}\n data-type={type}\n data-collapsible={collapsible}\n >\n {children}\n </div>\n </ScrollArea>\n );\n },\n);\nSidebarContent.displayName = 'Sidebar.Content';\n\n// Sidebar header\ninterface SidebarHeaderProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Whether to use the default flex container layout.\n * @default true\n */\n asContainer?: boolean;\n}\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, SidebarHeaderProps>(\n ({ className, asContainer = true, ...props }, forwardedRef) => {\n const context = React.useContext(SidebarContext);\n const { size = '2', menuVariant = 'soft' } = context || {};\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarHeader',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n {\n 'rt-SidebarHeader--container': asContainer,\n },\n className,\n )}\n />\n );\n },\n);\nSidebarHeader.displayName = 'Sidebar.Header';\n\n// Sidebar footer\ninterface SidebarFooterProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Whether to use the default flex container layout.\n * @default true\n */\n asContainer?: boolean;\n}\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, SidebarFooterProps>(\n ({ className, asContainer = true, ...props }, forwardedRef) => {\n const context = React.useContext(SidebarContext);\n const { size = '2', menuVariant = 'soft' } = context || {};\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarFooter',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n {\n 'rt-SidebarFooter--container': asContainer,\n },\n className,\n )}\n />\n );\n },\n);\nSidebarFooter.displayName = 'Sidebar.Footer';\n\n// Sidebar trigger button\ninterface SidebarTriggerProps extends ComponentPropsWithout<typeof IconButton, RemovedProps> {}\n\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof IconButton>, SidebarTriggerProps>(\n ({ onClick, children, ...props }, forwardedRef) => {\n const { toggleSidebar, state } = useSidebar();\n\n return (\n <IconButton\n {...props}\n ref={forwardedRef}\n variant=\"ghost\"\n aria-label={state === 'expanded' ? 'Collapse sidebar' : 'Expand sidebar'}\n aria-expanded={state === 'expanded'}\n aria-controls=\"sidebar-navigation\"\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n >\n {children || <ChevronDownIcon />}\n </IconButton>\n );\n },\n);\nSidebarTrigger.displayName = 'Sidebar.Trigger';\n\n// Removed SidebarInset - not needed\n\n// Sidebar separator\ninterface SidebarSeparatorProps extends ComponentPropsWithout<typeof Separator, RemovedProps> {}\n\nconst SidebarSeparator = React.forwardRef<\n React.ComponentRef<typeof Separator>,\n SidebarSeparatorProps\n>(({ className, ...props }, forwardedRef) => (\n <Separator\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarSeparator', className)}\n />\n));\nSidebarSeparator.displayName = 'Sidebar.Separator';\n\n// Menu components - reusing dropdown menu structure\ninterface SidebarMenuProps extends React.ComponentPropsWithoutRef<'ul'> {}\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, SidebarMenuProps>(\n ({ className, ...props }, forwardedRef) => (\n <ul\n {...props}\n ref={forwardedRef}\n role=\"menu\"\n className={classNames('rt-BaseMenuViewport', 'rt-SidebarMenu', className)}\n />\n ),\n);\nSidebarMenu.displayName = 'Sidebar.Menu';\n\ninterface SidebarMenuItemProps extends React.ComponentPropsWithoutRef<'li'> {}\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, SidebarMenuItemProps>(\n ({ className, ...props }, forwardedRef) => (\n <li {...props} ref={forwardedRef} className={classNames('rt-SidebarMenuItem', className)} />\n ),\n);\nSidebarMenuItem.displayName = 'Sidebar.MenuItem';\n\ninterface SidebarMenuButtonProps extends React.ComponentPropsWithoutRef<'button'> {\n asChild?: boolean;\n isActive?: boolean;\n shortcut?: React.ReactNode;\n badge?: string | BadgeConfig;\n}\n\nconst SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>(\n (\n {\n asChild = false,\n isActive = false,\n shortcut,\n badge,\n className,\n children,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n forwardedRef,\n ) => {\n const [isHighlighted, setIsHighlighted] = React.useState(false);\n const context = React.useContext(SidebarContext);\n const { size: sidebarSize = '2' } = context || {};\n\n const Comp = asChild ? Slot : 'button';\n\n const { onClick } = props;\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n switch (event.key) {\n case 'Enter':\n case ' ':\n event.preventDefault();\n if (onClick) onClick(event as any);\n break;\n case 'ArrowDown': {\n event.preventDefault();\n // Focus next menu item\n const nextItem = (event.currentTarget as HTMLElement).nextElementSibling?.querySelector(\n '[role=\"menuitem\"]',\n ) as HTMLElement;\n if (nextItem) nextItem.focus();\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n // Focus previous menu item\n const prevItem = (\n event.currentTarget as HTMLElement\n ).previousElementSibling?.querySelector('[role=\"menuitem\"]') as HTMLElement;\n if (prevItem) prevItem.focus();\n break;\n }\n }\n onKeyDown?.(event);\n },\n [onClick, onKeyDown],\n );\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n role=\"menuitem\"\n aria-current={isActive ? 'page' : undefined}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-SidebarMenuButton', className)}\n data-active={isActive || undefined}\n data-highlighted={isHighlighted || undefined}\n onKeyDown={handleKeyDown}\n onMouseEnter={(event) => {\n setIsHighlighted(true);\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n setIsHighlighted(false);\n onMouseLeave?.(event);\n }}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {/* Badge with soft variant default and size mapping to sidebar size */}\n {badge && (\n <div className=\"rt-SidebarMenuBadge\">\n {typeof badge === 'string' ? (\n <Badge size={sidebarSize} variant=\"soft\">\n {badge}\n </Badge>\n ) : (\n <Badge\n size={badge.size || sidebarSize}\n variant={badge.variant || 'soft'}\n color={badge.color}\n highContrast={badge.highContrast}\n radius={badge.radius}\n >\n {badge.content}\n </Badge>\n )}\n </div>\n )}\n {shortcut && (\n <div className=\"rt-BaseMenuShortcut rt-SidebarMenuShortcut\">\n <Kbd size={sidebarSize}>{shortcut}</Kbd>\n </div>\n )}\n </>\n )}\n </Comp>\n );\n },\n);\nSidebarMenuButton.displayName = 'Sidebar.MenuButton';\n\n// Sub-menu components using Radix Accordion\ninterface SidebarMenuSubProps extends React.ComponentPropsWithoutRef<'div'> {\n defaultOpen?: boolean;\n}\n\nconst SidebarMenuSub = React.forwardRef<HTMLDivElement, SidebarMenuSubProps>(\n ({ defaultOpen = false, children, ...props }, forwardedRef) => {\n return (\n <div {...props} ref={forwardedRef}>\n <Accordion.Root type=\"single\" collapsible defaultValue={defaultOpen ? 'item' : undefined}>\n <Accordion.Item value=\"item\">{children}</Accordion.Item>\n </Accordion.Root>\n </div>\n );\n },\n);\nSidebarMenuSub.displayName = 'Sidebar.MenuSub';\n\ninterface SidebarMenuSubTriggerProps\n extends React.ComponentPropsWithoutRef<typeof Accordion.Trigger> {\n asChild?: boolean;\n}\n\nconst SidebarMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof Accordion.Trigger>,\n SidebarMenuSubTriggerProps\n>(\n (\n { asChild = false, className, children, onMouseEnter, onMouseLeave, ...props },\n forwardedRef,\n ) => {\n const [isHighlighted, setIsHighlighted] = React.useState(false);\n\n return (\n <Accordion.Header asChild>\n <div>\n <Accordion.Trigger\n {...props}\n ref={forwardedRef}\n asChild={asChild}\n role=\"menuitem\"\n aria-haspopup=\"true\"\n className={classNames(\n 'rt-reset',\n 'rt-BaseMenuItem',\n 'rt-SidebarMenuButton',\n 'rt-SidebarMenuSubTrigger',\n className,\n )}\n data-highlighted={isHighlighted || undefined}\n onMouseEnter={(event) => {\n setIsHighlighted(true);\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n setIsHighlighted(false);\n onMouseLeave?.(event);\n }}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n <ThickChevronRightIcon\n className={classNames(\n 'rt-BaseMenuSubTriggerIcon',\n 'rt-SidebarMenuSubTriggerIcon',\n )}\n />\n </>\n )}\n </Accordion.Trigger>\n </div>\n </Accordion.Header>\n );\n },\n);\nSidebarMenuSubTrigger.displayName = 'Sidebar.MenuSubTrigger';\n\ninterface SidebarMenuSubContentProps\n extends React.ComponentPropsWithoutRef<typeof Accordion.Content> {}\n\nconst SidebarMenuSubContent = React.forwardRef<\n React.ElementRef<typeof Accordion.Content>,\n SidebarMenuSubContentProps\n>(({ className, children, ...props }, forwardedRef) => {\n return (\n <Accordion.Content\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarMenuSubContent', className)}\n >\n <div className=\"rt-SidebarMenuSubList\">{children}</div>\n </Accordion.Content>\n );\n});\nSidebarMenuSubContent.displayName = 'Sidebar.MenuSubContent';\n\n// Group components\ninterface SidebarGroupProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, SidebarGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuGroup', 'rt-SidebarGroup', className)}\n />\n ),\n);\nSidebarGroup.displayName = 'Sidebar.Group';\n\ninterface SidebarGroupLabelProps extends React.ComponentPropsWithoutRef<'div'> {\n asChild?: boolean;\n}\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, SidebarGroupLabelProps>(\n ({ asChild = false, className, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n role=\"group\"\n className={classNames('rt-BaseMenuLabel', 'rt-SidebarGroupLabel', className)}\n />\n );\n },\n);\nSidebarGroupLabel.displayName = 'Sidebar.GroupLabel';\n\ninterface SidebarGroupContentProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, SidebarGroupContentProps>(\n ({ className, ...props }, forwardedRef) => (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarGroupContent', className)}\n />\n ),\n);\nSidebarGroupContent.displayName = 'Sidebar.GroupContent';\n\n// Export all components following shadcn's pattern\nexport {\n SidebarProvider as Provider,\n Sidebar as Root,\n SidebarContent as Content,\n SidebarHeader as Header,\n SidebarFooter as Footer,\n SidebarTrigger as Trigger,\n SidebarSeparator as Separator,\n SidebarMenu as Menu,\n SidebarMenuItem as MenuItem,\n SidebarMenuButton as MenuButton,\n SidebarMenuSub as MenuSub,\n SidebarMenuSubTrigger as MenuSubTrigger,\n SidebarMenuSubContent as MenuSubContent,\n SidebarGroup as Group,\n SidebarGroupLabel as GroupLabel,\n SidebarGroupContent as GroupContent,\n // Export hook\n useSidebar,\n};\n\n/**\n * Enhanced Sidebar Header and Footer Usage Examples:\n *\n * 1. Simple default container (backwards compatible):\n * <Sidebar.Header>\n * <Logo />\n * <span>App Name</span>\n * </Sidebar.Header>\n *\n * 2. Custom flex layout:\n * <Sidebar.Header className=\"rt-justify-between rt-gap-3\">\n * <Logo />\n * <Sidebar.MenuButton>\n * <SettingsIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Header>\n *\n * 3. Column layout for multiple rows:\n * <Sidebar.Header className=\"rt-flex-col rt-gap-2\" asContainer={false}>\n * <div className=\"rt-flex rt-items-center rt-gap-2\">\n * <Logo />\n * <span>App Name</span>\n * </div>\n * <Sidebar.MenuButton>\n * <UserAvatar />\n * <span>John Doe</span>\n * </Sidebar.MenuButton>\n * </Sidebar.Header>\n *\n * 4. Interactive footer with menu button:\n * <Sidebar.Footer>\n * <Sidebar.MenuButton>\n * <UserIcon />\n * <span>Settings</span>\n * <ChevronUpIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Footer>\n *\n * 5. Custom footer layout:\n * <Sidebar.Footer className=\"rt-justify-between\">\n * <span>v1.0.0</span>\n * <Sidebar.MenuButton>\n * <HelpIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Footer>\n *\n * Available utility classes:\n * - Layout: rt-flex-row, rt-flex-col\n * - Alignment: rt-items-center, rt-items-start, rt-items-end\n * - Justification: rt-justify-between, rt-justify-center, rt-justify-start, rt-justify-end\n * - Gap: rt-gap-1, rt-gap-2, rt-gap-3, rt-gap-4\n */\n\nexport type {\n SidebarProviderProps as ProviderProps,\n SidebarProps as RootProps,\n SidebarContentProps as ContentProps,\n SidebarHeaderProps as HeaderProps,\n SidebarFooterProps as FooterProps,\n SidebarTriggerProps as TriggerProps,\n BadgeConfig,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "classNames", "Slot", "Accordion", "sidebarPropDefs", "Theme", "useThemeContext", "IconButton", "ScrollArea", "Separator", "ChevronDownIcon", "ThickChevronRightIcon", "extractProps", "Kbd", "Badge", "SidebarContext", "useSidebar", "context", "useIsMobile", "isMobile", "setIsMobile", "checkIsMobile", "SidebarProvider", "defaultOpen", "openProp", "setOpenProp", "side", "className", "children", "props", "forwardedRef", "openMobile", "setOpenMobile", "internalOpen", "setInternalOpen", "open", "setOpen", "value", "openState", "toggleSidebar", "state", "contextValue", "Sidebar", "themeContext", "size", "variant", "menuVariant", "type", "collapsible", "panelBackground", "color", "highContrast", "rootProps", "_", "__", "safeRootProps", "resolvedColor", "resolvedSize", "SidebarContent", "ariaLabel", "SidebarHeader", "asContainer", "SidebarFooter", "SidebarTrigger", "onClick", "event", "SidebarSeparator", "SidebarMenu", "SidebarMenuItem", "SidebarMenuButton", "asChild", "isActive", "shortcut", "badge", "onMouseEnter", "onMouseLeave", "onKeyDown", "isHighlighted", "setIsHighlighted", "sidebarSize", "Comp", "handleKeyDown", "nextItem", "prevItem", "SidebarMenuSub", "SidebarMenuSubTrigger", "SidebarMenuSubContent", "SidebarGroup", "SidebarGroupLabel", "SidebarGroupContent"]
7
7
  }
@@ -6,6 +6,11 @@ import type { ComponentPropsWithout } from '../helpers/component-props.js';
6
6
  import type { GetPropDefTypes } from '../props/prop-def.js';
7
7
  type SliderOwnProps = GetPropDefTypes<typeof sliderPropDefs>;
8
8
  interface SliderProps extends ComponentPropsWithout<typeof SliderPrimitive.Root, 'asChild' | 'color' | 'children' | 'defaultChecked'>, MarginProps, SliderOwnProps {
9
+ ticks?: Array<{
10
+ value: number;
11
+ label?: string;
12
+ }>;
13
+ unit?: string;
9
14
  }
10
15
  declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLSpanElement>>;
11
16
  export { Slider };
@@ -1 +1 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/components/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,cAAc,GAAG,eAAe,CAAC,OAAO,cAAc,CAAC,CAAC;AAC7D,UAAU,WACR,SAAQ,qBAAqB,CACzB,OAAO,eAAe,CAAC,IAAI,EAC3B,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,gBAAgB,CACpD,EACD,WAAW,EACX,cAAc;CAAG;AACrB,QAAA,MAAM,MAAM,qFA8BV,CAAC;AAGH,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/components/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,cAAc,GAAG,eAAe,CAAC,OAAO,cAAc,CAAC,CAAC;AAC7D,UAAU,WACR,SAAQ,qBAAqB,CACzB,OAAO,eAAe,CAAC,IAAI,EAC3B,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,gBAAgB,CACpD,EACD,WAAW,EACX,cAAc;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,QAAA,MAAM,MAAM,qFA4MV,CAAC;AAGH,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import*as e from"react";import p from"classnames";import{Slider as o}from"radix-ui";import{sliderPropDefs as f}from"./slider.props.js";import{extractProps as P}from"../helpers/extract-props.js";import{marginPropDefs as c}from"../props/margin.props.js";const s=e.forwardRef((i,a)=>{const{className:d,color:l,radius:m,tabIndex:t,...r}=P(i,f,c);return e.createElement(o.Root,{"data-accent-color":l,"data-radius":m,ref:a,...r,asChild:!1,className:p("rt-SliderRoot",d)},e.createElement(o.Track,{className:"rt-SliderTrack"},e.createElement(o.Range,{className:p("rt-SliderRange",{"rt-high-contrast":i.highContrast}),"data-inverted":r.inverted?"":void 0})),(r.value??r.defaultValue??[]).map((S,n)=>e.createElement(o.Thumb,{key:n,className:"rt-SliderThumb",...t!==void 0?{tabIndex:t}:void 0})))});s.displayName="Slider";export{s as Slider};
1
+ import*as a from"react";import C from"classnames";import{Slider as f}from"radix-ui";import{sliderPropDefs as j}from"./slider.props.js";import{extractProps as G}from"../helpers/extract-props.js";import{marginPropDefs as R}from"../props/margin.props.js";const N=a.forwardRef((d,V)=>{const{className:A,color:k,radius:M,tabIndex:g,...s}=G(d,j,R),{ticks:o,showTickLabels:w,snapToTicks:p,unit:l}=d,u=s.min??0,n=s.max??100,m=s.value??s.defaultValue??[u],S=Array.isArray(m)&&m.length>1,D=s.step,i=a.useMemo(()=>o?[...o].sort((e,r)=>e.value-r.value):[],[o]),$=a.useCallback(e=>{if(!p||!i.length)return e;let r=0,t=i.length-1;if(e<=i[r].value)return i[r].value;if(e>=i[t].value)return i[t].value;for(;r<=t;){const c=Math.floor((r+t)/2);if(i[c].value===e)return e;i[c].value<e?r=c+1:t=c-1}const v=Math.abs(e-i[t].value),E=Math.abs(e-i[r].value);return v<=E?i[t].value:i[r].value},[p,i]),b=a.useCallback(e=>{const r=t=>l?`${t} ${l}`:t.toString();return e.length===1?`${r(e[0])} out of ${r(n)}`:e.length===2?`${r(e[0])} to ${r(e[1])} out of ${r(n)}`:`${e.map(r).join(", ")} out of ${r(n)}`},[l,n]),y=a.useMemo(()=>o?o.map((e,r)=>({...e,percentage:(e.value-u)/(n-u)*100,index:r})):null,[o,u,n]),[h,T]=a.useState(""),{onValueChange:P}=s,x=a.useCallback(e=>{const r=p&&o?e.map(v=>$(v)):e,t=b(r);T(t),P?.(r)},[p,o,$,b,P]);return a.useEffect(()=>{if(h){const e=setTimeout(()=>T(""),1e3);return()=>clearTimeout(e)}},[h]),a.createElement("div",{className:"rt-SliderContainer"},a.createElement("div",{"aria-live":"polite","aria-atomic":"true",className:"sr-only",style:{position:"absolute",left:"-10000px",width:"1px",height:"1px",overflow:"hidden"}},h),a.createElement(f.Root,{"data-accent-color":k,"data-radius":M,ref:V,...s,step:D,onValueChange:x,asChild:!1,className:C("rt-SliderRoot",A),"aria-valuemin":u,"aria-valuemax":n,"aria-valuenow":Array.isArray(m)?m[0]:m,"aria-valuetext":b(m),"aria-label":d["aria-label"]||`${S?"Range":"Value"} slider`},a.createElement(f.Track,{className:"rt-SliderTrack"},a.createElement(f.Range,{className:C("rt-SliderRange",{"rt-high-contrast":d.highContrast}),"data-inverted":s.inverted?"":void 0})),(s.value??s.defaultValue??[]).map((e,r)=>a.createElement(f.Thumb,{key:r,className:"rt-SliderThumb",...g!==void 0?{tabIndex:g}:void 0,"aria-label":S?`${r===0?"Minimum":r===1?"Maximum":`Thumb ${r+1}`} value: ${l?`${e} ${l}`:e}`:`Slider value: ${l?`${e} ${l}`:e}`,"aria-valuetext":l?`${e} ${l}`:e.toString()}))),y&&a.createElement("div",{className:"rt-SliderTicks",role:"group","aria-label":"Slider tick marks"},y.map(e=>a.createElement("button",{key:e.index,className:"rt-SliderTick",style:{left:`${e.percentage}%`,transform:"translateX(-50%)"},onClick:()=>{const r=s.value??s.defaultValue??[u],t=Array.isArray(r)?r.map(()=>e.value):[e.value];x(t)},"aria-label":`Set to ${e.label||(l?`${e.value} ${l}`:e.value)}`,"aria-describedby":e.label?void 0:`tick-${e.index}-value`,type:"button"},a.createElement("div",{className:"rt-SliderTickMark"}),e.label&&w!==!1&&a.createElement("div",{className:"rt-SliderTickLabel"},e.label),!e.label&&a.createElement("span",{id:`tick-${e.index}-value`,className:"sr-only"},l?`${e.value} ${l}`:e.value)))))});N.displayName="Slider";export{N as Slider};
2
2
  //# sourceMappingURL=slider.js.map