@mizen-labs/ui 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (995) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +72 -2
  3. package/dist/closed.d.ts +5 -0
  4. package/dist/closed.js +1 -0
  5. package/dist/components/accordion/accordion.d.ts +28 -0
  6. package/dist/components/accordion/accordion.js +1 -0
  7. package/dist/components/accordion/accordion.styles.js +1 -0
  8. package/dist/components/activity-feed/activity-feed.d.ts +28 -0
  9. package/dist/components/activity-feed/activity-feed.js +2 -0
  10. package/dist/components/activity-feed/activity-feed.styles.js +1 -0
  11. package/dist/components/agent-thinking/agent-thinking.d.ts +25 -0
  12. package/dist/components/agent-thinking/agent-thinking.js +16 -0
  13. package/dist/components/agent-thinking/agent-thinking.styles.js +3 -0
  14. package/dist/components/alert/alert.d.ts +14 -0
  15. package/dist/components/alert/alert.js +1 -0
  16. package/dist/components/alert/alert.styles.js +1 -0
  17. package/dist/components/alert/alert.stylex.js +1 -0
  18. package/dist/components/alert-dialog/alert-dialog.d.ts +29 -0
  19. package/dist/components/alert-dialog/alert-dialog.js +1 -0
  20. package/dist/components/alert-dialog/alert-dialog.styles.js +1 -0
  21. package/dist/components/approval-card/approval-card.d.ts +38 -0
  22. package/dist/components/approval-card/approval-card.js +8 -0
  23. package/dist/components/approval-card/approval-card.styles.js +1 -0
  24. package/dist/components/area-chart/area-chart.d.ts +29 -0
  25. package/dist/components/area-chart/area-chart.js +10 -0
  26. package/dist/components/area-chart/area-chart.styles.js +1 -0
  27. package/dist/components/aspect-ratio/aspect-ratio.d.ts +7 -0
  28. package/dist/components/aspect-ratio/aspect-ratio.js +1 -0
  29. package/dist/components/aspect-ratio/aspect-ratio.styles.js +1 -0
  30. package/dist/components/attachment/attachment.d.ts +20 -0
  31. package/dist/components/attachment/attachment.js +1 -0
  32. package/dist/components/attachment/attachment.styles.js +1 -0
  33. package/dist/components/avatar/avatar-character.styles.js +1 -0
  34. package/dist/components/avatar/avatar.d.ts +36 -0
  35. package/dist/components/avatar/avatar.js +4 -0
  36. package/dist/components/avatar/avatar.styles.js +1 -0
  37. package/dist/components/badge/badge.d.ts +8 -0
  38. package/dist/components/badge/badge.js +1 -0
  39. package/dist/components/badge/badge.styles.js +1 -0
  40. package/dist/components/bar-list/bar-list.d.ts +22 -0
  41. package/dist/components/bar-list/bar-list.js +4 -0
  42. package/dist/components/bar-list/bar-list.styles.js +1 -0
  43. package/dist/components/blockquote/blockquote.d.ts +12 -0
  44. package/dist/components/blockquote/blockquote.js +1 -0
  45. package/dist/components/blockquote/blockquote.styles.js +1 -0
  46. package/dist/components/breadcrumb/breadcrumb-link.d.ts +4 -0
  47. package/dist/components/breadcrumb/breadcrumb-link.js +1 -0
  48. package/dist/components/breadcrumb/breadcrumb.d.ts +16 -0
  49. package/dist/components/breadcrumb/breadcrumb.js +2 -0
  50. package/dist/components/breadcrumb/breadcrumb.styles.js +1 -0
  51. package/dist/components/button/button-colors.stylex.js +3 -0
  52. package/dist/components/button/button.css +16 -0
  53. package/dist/components/button/button.css.d.js +0 -0
  54. package/dist/components/button/button.d.ts +27 -0
  55. package/dist/components/button/button.js +1 -0
  56. package/dist/components/button/button.styles.js +3 -0
  57. package/dist/components/button-group/button-group.css +115 -0
  58. package/dist/components/button-group/button-group.d.ts +8 -0
  59. package/dist/components/button-group/button-group.js +3 -0
  60. package/dist/components/button-group/button-group.styles.js +1 -0
  61. package/dist/components/calendar/calendar-components.js +2 -0
  62. package/dist/components/calendar/calendar-context.js +1 -0
  63. package/dist/components/calendar/calendar-dropdowns.js +2 -0
  64. package/dist/components/calendar/calendar-utils.js +1 -0
  65. package/dist/components/calendar/calendar.d.ts +4 -0
  66. package/dist/components/calendar/calendar.js +1 -0
  67. package/dist/components/calendar/calendar.styles.js +1 -0
  68. package/dist/components/calendar/calendar.types.d.ts +48 -0
  69. package/dist/components/calendar/calendar.types.js +1 -0
  70. package/dist/components/calendar-heatmap/calendar-heatmap.d.ts +20 -0
  71. package/dist/components/calendar-heatmap/calendar-heatmap.js +9 -0
  72. package/dist/components/card/card.d.ts +17 -0
  73. package/dist/components/card/card.js +1 -0
  74. package/dist/components/card/card.styles.js +1 -0
  75. package/dist/components/carousel/carousel.d.ts +33 -0
  76. package/dist/components/carousel/carousel.js +21 -0
  77. package/dist/components/carousel/carousel.styles.js +4 -0
  78. package/dist/components/category-comparison/category-comparison.d.ts +30 -0
  79. package/dist/components/category-comparison/category-comparison.js +9 -0
  80. package/dist/components/category-comparison/category-comparison.styles.js +1 -0
  81. package/dist/components/chart-frame/arc-path.js +7 -0
  82. package/dist/components/chart-frame/chart-assert.js +2 -0
  83. package/dist/components/chart-frame/chart-colors.d.ts +10 -0
  84. package/dist/components/chart-frame/chart-colors.js +2 -0
  85. package/dist/components/chart-frame/chart-crosshair.js +6 -0
  86. package/dist/components/chart-frame/chart-data-table.js +4 -0
  87. package/dist/components/chart-frame/chart-frame.d.ts +24 -0
  88. package/dist/components/chart-frame/chart-frame.js +7 -0
  89. package/dist/components/chart-frame/chart-frame.styles.js +1 -0
  90. package/dist/components/chart-frame/chart-hover.js +3 -0
  91. package/dist/components/chart-frame/chart-loading.d.ts +22 -0
  92. package/dist/components/chart-frame/chart-loading.js +6 -0
  93. package/dist/components/chart-frame/ring-graphic.js +5 -0
  94. package/dist/components/chart-legend/chart-legend.d.ts +18 -0
  95. package/dist/components/chart-legend/chart-legend.js +1 -0
  96. package/dist/components/chart-legend/chart-legend.styles.js +1 -0
  97. package/dist/components/chart-tooltip/chart-tooltip.d.ts +14 -0
  98. package/dist/components/chart-tooltip/chart-tooltip.js +1 -0
  99. package/dist/components/chart-tooltip/chart-tooltip.styles.js +1 -0
  100. package/dist/components/checkbox/checkbox-card.d.ts +16 -0
  101. package/dist/components/checkbox/checkbox-card.js +1 -0
  102. package/dist/components/checkbox/checkbox-card.styles.js +1 -0
  103. package/dist/components/checkbox/checkbox.d.ts +13 -0
  104. package/dist/components/checkbox/checkbox.js +5 -0
  105. package/dist/components/checkbox/checkbox.styles.js +3 -0
  106. package/dist/components/checkbox-group/checkbox-group.d.ts +6 -0
  107. package/dist/components/checkbox-group/checkbox-group.js +1 -0
  108. package/dist/components/checkbox-group/checkbox-group.styles.js +1 -0
  109. package/dist/components/citation/citation.d.ts +6 -0
  110. package/dist/components/citation/citation.js +1 -0
  111. package/dist/components/citation/citation.styles.js +1 -0
  112. package/dist/components/code/code.d.ts +5 -0
  113. package/dist/components/code/code.js +1 -0
  114. package/dist/components/code/code.styles.js +3 -0
  115. package/dist/components/code-block/code-block-copy.d.ts +6 -0
  116. package/dist/components/code-block/code-block-copy.js +1 -0
  117. package/dist/components/code-block/code-block-highlight.d.ts +31 -0
  118. package/dist/components/code-block/code-block-highlight.js +8 -0
  119. package/dist/components/code-block/code-block.d.ts +22 -0
  120. package/dist/components/code-block/code-block.js +4 -0
  121. package/dist/components/code-block/code-block.styles.js +3 -0
  122. package/dist/components/collapsible/collapsible.d.ts +19 -0
  123. package/dist/components/collapsible/collapsible.js +1 -0
  124. package/dist/components/collapsible/collapsible.styles.js +1 -0
  125. package/dist/components/combobox/combobox-chips.js +1 -0
  126. package/dist/components/combobox/combobox-chips.styles.js +1 -0
  127. package/dist/components/combobox/combobox-context.d.ts +9 -0
  128. package/dist/components/combobox/combobox-context.js +1 -0
  129. package/dist/components/combobox/combobox-field.styles.js +1 -0
  130. package/dist/components/combobox/combobox-input.js +1 -0
  131. package/dist/components/combobox/combobox-popup.js +1 -0
  132. package/dist/components/combobox/combobox-popup.styles.js +1 -0
  133. package/dist/components/combobox/combobox-structure.js +1 -0
  134. package/dist/components/combobox/combobox.d.ts +27 -0
  135. package/dist/components/combobox/combobox.js +1 -0
  136. package/dist/components/combobox/combobox.types.d.ts +43 -0
  137. package/dist/components/combobox/combobox.types.js +1 -0
  138. package/dist/components/command/command-dialog.js +1 -0
  139. package/dist/components/command/command-dialog.styles.js +1 -0
  140. package/dist/components/command/command-field.styles.js +1 -0
  141. package/dist/components/command/command-input.js +1 -0
  142. package/dist/components/command/command-items.js +1 -0
  143. package/dist/components/command/command-items.styles.js +1 -0
  144. package/dist/components/command/command-structure.js +1 -0
  145. package/dist/components/command/command.d.ts +29 -0
  146. package/dist/components/command/command.js +2 -0
  147. package/dist/components/command/command.types.d.ts +28 -0
  148. package/dist/components/command/command.types.js +1 -0
  149. package/dist/components/composer/attachment-marker.stylex.js +2 -0
  150. package/dist/components/composer/composer-clipboard.js +1 -0
  151. package/dist/components/composer/composer-context-meter.d.ts +36 -0
  152. package/dist/components/composer/composer-context-meter.js +6 -0
  153. package/dist/components/composer/composer-dictation.d.ts +17 -0
  154. package/dist/components/composer/composer-dictation.js +5 -0
  155. package/dist/components/composer/composer-document.d.ts +32 -0
  156. package/dist/components/composer/composer-document.js +1 -0
  157. package/dist/components/composer/composer-editor.d.ts +57 -0
  158. package/dist/components/composer/composer-editor.js +4 -0
  159. package/dist/components/composer/composer-history.js +1 -0
  160. package/dist/components/composer/composer-options.d.ts +45 -0
  161. package/dist/components/composer/composer-options.js +1 -0
  162. package/dist/components/composer/composer-parts.d.ts +36 -0
  163. package/dist/components/composer/composer-parts.js +4 -0
  164. package/dist/components/composer/composer-parts.styles.js +4 -0
  165. package/dist/components/composer/composer-picker.d.ts +50 -0
  166. package/dist/components/composer/composer-picker.js +15 -0
  167. package/dist/components/composer/composer-progress-ring.js +1 -0
  168. package/dist/components/composer/composer-query.js +1 -0
  169. package/dist/components/composer/composer-scroll-area.js +1 -0
  170. package/dist/components/composer/composer-session.js +3 -0
  171. package/dist/components/composer/composer-value.d.ts +45 -0
  172. package/dist/components/composer/composer-value.js +1 -0
  173. package/dist/components/composer/composer.css +80 -0
  174. package/dist/components/composer/composer.d.ts +72 -0
  175. package/dist/components/composer/composer.js +3 -0
  176. package/dist/components/composer/composer.styles.js +2 -0
  177. package/dist/components/composer/use-composer-editor.d.ts +8 -0
  178. package/dist/components/composer/use-composer-editor.js +2 -0
  179. package/dist/components/context-menu/context-menu-items.d.ts +10 -0
  180. package/dist/components/context-menu/context-menu-items.js +2 -0
  181. package/dist/components/context-menu/context-menu-utils.js +1 -0
  182. package/dist/components/context-menu/context-menu.d.ts +22 -0
  183. package/dist/components/context-menu/context-menu.js +1 -0
  184. package/dist/components/context-menu/context-menu.types.d.ts +57 -0
  185. package/dist/components/context-menu/context-menu.types.js +1 -0
  186. package/dist/components/conversation/conversation.d.ts +41 -0
  187. package/dist/components/conversation/conversation.js +6 -0
  188. package/dist/components/conversation/conversation.styles.js +2 -0
  189. package/dist/components/data-table/data-table.d.ts +30 -0
  190. package/dist/components/data-table/data-table.js +13 -0
  191. package/dist/components/data-table/data-table.styles.js +1 -0
  192. package/dist/components/data-table/grid-navigation.js +10 -0
  193. package/dist/components/date-picker/date-picker-date.js +1 -0
  194. package/dist/components/date-picker/date-picker-icon.js +1 -0
  195. package/dist/components/date-picker/date-picker-state.js +1 -0
  196. package/dist/components/date-picker/date-picker.d.ts +4 -0
  197. package/dist/components/date-picker/date-picker.js +1 -0
  198. package/dist/components/date-picker/date-picker.styles.js +1 -0
  199. package/dist/components/date-picker/date-picker.types.d.ts +28 -0
  200. package/dist/components/date-picker/date-picker.types.js +1 -0
  201. package/dist/components/date-range-picker/date-range-picker-date.js +1 -0
  202. package/dist/components/date-range-picker/date-range-picker-state.js +1 -0
  203. package/dist/components/date-range-picker/date-range-picker-views.js +1 -0
  204. package/dist/components/date-range-picker/date-range-picker.d.ts +4 -0
  205. package/dist/components/date-range-picker/date-range-picker.js +1 -0
  206. package/dist/components/date-range-picker/date-range-picker.styles.js +1 -0
  207. package/dist/components/date-range-picker/date-range-picker.types.d.ts +37 -0
  208. package/dist/components/date-range-picker/date-range-picker.types.js +1 -0
  209. package/dist/components/date-time-input/date-time-input.d.ts +13 -0
  210. package/dist/components/date-time-input/date-time-input.js +1 -0
  211. package/dist/components/diagram/diagram-renderer.js +5 -0
  212. package/dist/components/diagram/diagram.css +51 -0
  213. package/dist/components/diagram/diagram.d.ts +11 -0
  214. package/dist/components/diagram/diagram.js +4 -0
  215. package/dist/components/diagram/diagram.styles.js +6 -0
  216. package/dist/components/dialog/dialog.d.ts +34 -0
  217. package/dist/components/dialog/dialog.js +1 -0
  218. package/dist/components/dialog/dialog.styles.js +1 -0
  219. package/dist/components/distribution/distribution.d.ts +16 -0
  220. package/dist/components/distribution/distribution.js +6 -0
  221. package/dist/components/distribution/distribution.styles.js +1 -0
  222. package/dist/components/drawer/drawer-affordance.styles.js +1 -0
  223. package/dist/components/drawer/drawer-bar.js +1 -0
  224. package/dist/components/drawer/drawer-content.js +1 -0
  225. package/dist/components/drawer/drawer-layout.js +1 -0
  226. package/dist/components/drawer/drawer-menu.d.ts +30 -0
  227. package/dist/components/drawer/drawer-menu.js +1 -0
  228. package/dist/components/drawer/drawer-menu.styles.js +1 -0
  229. package/dist/components/drawer/drawer-positions.styles.js +1 -0
  230. package/dist/components/drawer/drawer.context.js +1 -0
  231. package/dist/components/drawer/drawer.d.ts +22 -0
  232. package/dist/components/drawer/drawer.js +2 -0
  233. package/dist/components/drawer/drawer.styles.js +1 -0
  234. package/dist/components/drawer/drawer.types.d.ts +53 -0
  235. package/dist/components/drawer/drawer.types.js +1 -0
  236. package/dist/components/empty/empty.d.ts +18 -0
  237. package/dist/components/empty/empty.js +1 -0
  238. package/dist/components/empty/empty.styles.js +1 -0
  239. package/dist/components/error-state/error-state.d.ts +15 -0
  240. package/dist/components/error-state/error-state.js +1 -0
  241. package/dist/components/error-state/error-state.styles.js +1 -0
  242. package/dist/components/field/field-context.d.ts +33 -0
  243. package/dist/components/field/field-context.js +1 -0
  244. package/dist/components/field/field.d.ts +44 -0
  245. package/dist/components/field/field.js +3 -0
  246. package/dist/components/field/field.styles.js +1 -0
  247. package/dist/components/fieldset/fieldset.d.ts +14 -0
  248. package/dist/components/fieldset/fieldset.js +1 -0
  249. package/dist/components/fieldset/fieldset.styles.js +1 -0
  250. package/dist/components/file-upload/file-upload-context.js +1 -0
  251. package/dist/components/file-upload/file-upload-controls.d.ts +4 -0
  252. package/dist/components/file-upload/file-upload-controls.js +7 -0
  253. package/dist/components/file-upload/file-upload-item-preview.d.ts +5 -0
  254. package/dist/components/file-upload/file-upload-item-preview.js +3 -0
  255. package/dist/components/file-upload/file-upload-items.d.ts +8 -0
  256. package/dist/components/file-upload/file-upload-items.js +5 -0
  257. package/dist/components/file-upload/file-upload-motion.js +6 -0
  258. package/dist/components/file-upload/file-upload-validation.d.ts +18 -0
  259. package/dist/components/file-upload/file-upload-validation.js +1 -0
  260. package/dist/components/file-upload/file-upload.d.ts +19 -0
  261. package/dist/components/file-upload/file-upload.js +2 -0
  262. package/dist/components/file-upload/file-upload.styles.js +2 -0
  263. package/dist/components/file-upload/file-upload.types.d.ts +87 -0
  264. package/dist/components/file-upload/file-upload.types.js +1 -0
  265. package/dist/components/frame/frame.d.ts +13 -0
  266. package/dist/components/frame/frame.js +1 -0
  267. package/dist/components/frame/frame.styles.js +1 -0
  268. package/dist/components/funnel/funnel-flow.js +3 -0
  269. package/dist/components/funnel/funnel.d.ts +31 -0
  270. package/dist/components/funnel/funnel.js +4 -0
  271. package/dist/components/funnel/funnel.styles.js +1 -0
  272. package/dist/components/grid/grid.d.ts +5 -0
  273. package/dist/components/grid/grid.js +1 -0
  274. package/dist/components/grid/grid.styles.js +1 -0
  275. package/dist/components/group/group.d.ts +5 -0
  276. package/dist/components/group/group.js +1 -0
  277. package/dist/components/group/group.styles.js +1 -0
  278. package/dist/components/heading/heading.d.ts +10 -0
  279. package/dist/components/heading/heading.js +1 -0
  280. package/dist/components/heading/heading.styles.js +1 -0
  281. package/dist/components/heatmap/heatmap-scale.js +3 -0
  282. package/dist/components/heatmap/heatmap.d.ts +17 -0
  283. package/dist/components/heatmap/heatmap.js +2 -0
  284. package/dist/components/inline/inline.d.ts +5 -0
  285. package/dist/components/inline/inline.js +1 -0
  286. package/dist/components/inline/inline.styles.js +1 -0
  287. package/dist/components/inline-citation/citation-source.d.ts +27 -0
  288. package/dist/components/inline-citation/citation-source.js +13 -0
  289. package/dist/components/inline-citation/inline-citation.d.ts +22 -0
  290. package/dist/components/inline-citation/inline-citation.js +10 -0
  291. package/dist/components/inline-citation/inline-citation.styles.js +1 -0
  292. package/dist/components/input/input.d.ts +17 -0
  293. package/dist/components/input/input.js +3 -0
  294. package/dist/components/input/input.styles.js +1 -0
  295. package/dist/components/input-group/input-group.d.ts +17 -0
  296. package/dist/components/input-group/input-group.js +1 -0
  297. package/dist/components/input-group/input-group.styles.js +1 -0
  298. package/dist/components/kbd/kbd.d.ts +7 -0
  299. package/dist/components/kbd/kbd.js +1 -0
  300. package/dist/components/kbd/kbd.styles.js +1 -0
  301. package/dist/components/label/label.d.ts +5 -0
  302. package/dist/components/label/label.js +1 -0
  303. package/dist/components/label/label.styles.js +1 -0
  304. package/dist/components/lightbox/lightbox-gallery.d.ts +25 -0
  305. package/dist/components/lightbox/lightbox-gallery.js +6 -0
  306. package/dist/components/lightbox/lightbox.d.ts +30 -0
  307. package/dist/components/lightbox/lightbox.js +6 -0
  308. package/dist/components/lightbox/lightbox.styles.js +3 -0
  309. package/dist/components/link/link.d.ts +15 -0
  310. package/dist/components/link/link.js +1 -0
  311. package/dist/components/link/link.styles.js +1 -0
  312. package/dist/components/list/list.d.ts +10 -0
  313. package/dist/components/list/list.js +2 -0
  314. package/dist/components/list/list.styles.js +1 -0
  315. package/dist/components/markdown/markdown.d.ts +34 -0
  316. package/dist/components/markdown/markdown.js +8 -0
  317. package/dist/components/markdown/markdown.styles.js +1 -0
  318. package/dist/components/menu/menu-align-context.js +3 -0
  319. package/dist/components/menu/menu.d.ts +75 -0
  320. package/dist/components/menu/menu.js +2 -0
  321. package/dist/components/menu/menu.styles.js +1 -0
  322. package/dist/components/menubar/menubar.d.ts +13 -0
  323. package/dist/components/menubar/menubar.js +1 -0
  324. package/dist/components/menubar/menubar.styles.js +1 -0
  325. package/dist/components/message/message.d.ts +47 -0
  326. package/dist/components/message/message.js +16 -0
  327. package/dist/components/message/message.styles.js +3 -0
  328. package/dist/components/message-scroller/message-scroller-store.d.ts +58 -0
  329. package/dist/components/message-scroller/message-scroller-store.js +27 -0
  330. package/dist/components/message-scroller/message-scroller.d.ts +76 -0
  331. package/dist/components/message-scroller/message-scroller.js +30 -0
  332. package/dist/components/message-scroller/message-scroller.styles.js +4 -0
  333. package/dist/components/meter/meter.d.ts +30 -0
  334. package/dist/components/meter/meter.js +2 -0
  335. package/dist/components/meter/meter.styles.js +1 -0
  336. package/dist/components/metric/metric.d.ts +17 -0
  337. package/dist/components/metric/metric.js +4 -0
  338. package/dist/components/metric/metric.styles.js +1 -0
  339. package/dist/components/metric-trend/metric-trend.d.ts +26 -0
  340. package/dist/components/metric-trend/metric-trend.js +6 -0
  341. package/dist/components/metric-trend/metric-trend.styles.js +1 -0
  342. package/dist/components/navigation-menu/navigation-menu.d.ts +40 -0
  343. package/dist/components/navigation-menu/navigation-menu.js +1 -0
  344. package/dist/components/navigation-menu/navigation-menu.styles.js +1 -0
  345. package/dist/components/number-field/number-field-context.js +1 -0
  346. package/dist/components/number-field/number-field.d.ts +11 -0
  347. package/dist/components/number-field/number-field.js +1 -0
  348. package/dist/components/number-field/number-field.styles.js +1 -0
  349. package/dist/components/number-field/number-field.types.d.ts +30 -0
  350. package/dist/components/number-field/number-field.types.js +1 -0
  351. package/dist/components/otp-field/otp-field.d.ts +21 -0
  352. package/dist/components/otp-field/otp-field.js +1 -0
  353. package/dist/components/otp-field/otp-field.styles.js +1 -0
  354. package/dist/components/overflow-list/overflow-list.d.ts +10 -0
  355. package/dist/components/overflow-list/overflow-list.js +3 -0
  356. package/dist/components/overflow-list/overflow-list.styles.js +1 -0
  357. package/dist/components/pagination/pagination-link.d.ts +10 -0
  358. package/dist/components/pagination/pagination-link.js +1 -0
  359. package/dist/components/pagination/pagination.d.ts +22 -0
  360. package/dist/components/pagination/pagination.js +2 -0
  361. package/dist/components/pagination/pagination.styles.js +1 -0
  362. package/dist/components/part-to-whole/part-to-whole.d.ts +18 -0
  363. package/dist/components/part-to-whole/part-to-whole.js +2 -0
  364. package/dist/components/part-to-whole/part-to-whole.styles.js +1 -0
  365. package/dist/components/popover/popover.d.ts +33 -0
  366. package/dist/components/popover/popover.js +1 -0
  367. package/dist/components/popover/popover.styles.js +1 -0
  368. package/dist/components/preview-card/preview-card.d.ts +21 -0
  369. package/dist/components/preview-card/preview-card.js +1 -0
  370. package/dist/components/preview-card/preview-card.styles.js +1 -0
  371. package/dist/components/progress/progress.d.ts +28 -0
  372. package/dist/components/progress/progress.js +1 -0
  373. package/dist/components/progress/progress.styles.js +1 -0
  374. package/dist/components/progress-rings/progress-rings.d.ts +25 -0
  375. package/dist/components/progress-rings/progress-rings.js +2 -0
  376. package/dist/components/progress-rings/progress-rings.styles.js +1 -0
  377. package/dist/components/property-list/property-list.d.ts +9 -0
  378. package/dist/components/property-list/property-list.js +1 -0
  379. package/dist/components/property-list/property-list.styles.js +1 -0
  380. package/dist/components/question-card/question-card.d.ts +35 -0
  381. package/dist/components/question-card/question-card.js +13 -0
  382. package/dist/components/question-card/question-card.styles.js +1 -0
  383. package/dist/components/radar-chart/radar-chart.d.ts +28 -0
  384. package/dist/components/radar-chart/radar-chart.js +1 -0
  385. package/dist/components/radial-bars/radial-bars.d.ts +19 -0
  386. package/dist/components/radial-bars/radial-bars.js +8 -0
  387. package/dist/components/radio/radio-card.d.ts +15 -0
  388. package/dist/components/radio/radio-card.js +1 -0
  389. package/dist/components/radio/radio.d.ts +9 -0
  390. package/dist/components/radio/radio.js +1 -0
  391. package/dist/components/radio/radio.styles.js +1 -0
  392. package/dist/components/radio-group/radio-group.d.ts +3 -0
  393. package/dist/components/radio-group/radio-group.js +1 -0
  394. package/dist/components/sankey-chart/sankey-chart.d.ts +16 -0
  395. package/dist/components/sankey-chart/sankey-chart.js +1 -0
  396. package/dist/components/sankey-chart/sankey-layout.d.ts +34 -0
  397. package/dist/components/sankey-chart/sankey-layout.js +5 -0
  398. package/dist/components/scatter-chart/scatter-chart.d.ts +30 -0
  399. package/dist/components/scatter-chart/scatter-chart.js +6 -0
  400. package/dist/components/scatter-chart/scatter-chart.styles.js +1 -0
  401. package/dist/components/score-gauge/score-gauge.d.ts +24 -0
  402. package/dist/components/score-gauge/score-gauge.js +8 -0
  403. package/dist/components/score-gauge/score-gauge.styles.js +1 -0
  404. package/dist/components/scroll-area/scroll-area.d.ts +26 -0
  405. package/dist/components/scroll-area/scroll-area.js +1 -0
  406. package/dist/components/scroll-area/scroll-area.styles.js +2 -0
  407. package/dist/components/section/section.d.ts +5 -0
  408. package/dist/components/section/section.js +1 -0
  409. package/dist/components/section/section.styles.js +1 -0
  410. package/dist/components/segmented-control/segmented-control.d.ts +10 -0
  411. package/dist/components/segmented-control/segmented-control.js +1 -0
  412. package/dist/components/segmented-control/segmented-control.styles.js +1 -0
  413. package/dist/components/select/select.d.ts +55 -0
  414. package/dist/components/select/select.js +1 -0
  415. package/dist/components/select/select.styles.js +1 -0
  416. package/dist/components/separator/separator.d.ts +5 -0
  417. package/dist/components/separator/separator.js +1 -0
  418. package/dist/components/separator/separator.styles.js +1 -0
  419. package/dist/components/sheet/sheet-layout.js +1 -0
  420. package/dist/components/sheet/sheet-positions.styles.js +1 -0
  421. package/dist/components/sheet/sheet.d.ts +15 -0
  422. package/dist/components/sheet/sheet.js +1 -0
  423. package/dist/components/sheet/sheet.styles.js +1 -0
  424. package/dist/components/sheet/sheet.types.d.ts +32 -0
  425. package/dist/components/sheet/sheet.types.js +1 -0
  426. package/dist/components/skeleton/skeleton.d.ts +8 -0
  427. package/dist/components/skeleton/skeleton.js +1 -0
  428. package/dist/components/skeleton/skeleton.styles.js +1 -0
  429. package/dist/components/slider/slider-context.d.ts +23 -0
  430. package/dist/components/slider/slider-context.js +9 -0
  431. package/dist/components/slider/slider-default-anatomy.js +1 -0
  432. package/dist/components/slider/slider-ref-utils.js +1 -0
  433. package/dist/components/slider/slider-slot.js +1 -0
  434. package/dist/components/slider/slider.d.ts +15 -0
  435. package/dist/components/slider/slider.js +1 -0
  436. package/dist/components/slider/slider.styles.js +1 -0
  437. package/dist/components/slider/slider.types.d.ts +36 -0
  438. package/dist/components/slider/slider.types.js +1 -0
  439. package/dist/components/sources/sources.d.ts +22 -0
  440. package/dist/components/sources/sources.js +6 -0
  441. package/dist/components/sources/sources.styles.js +3 -0
  442. package/dist/components/spacer/spacer.d.ts +5 -0
  443. package/dist/components/spacer/spacer.js +1 -0
  444. package/dist/components/spacer/spacer.styles.js +1 -0
  445. package/dist/components/spinner/spinner.d.ts +18 -0
  446. package/dist/components/spinner/spinner.js +9 -0
  447. package/dist/components/spinner/spinner.styles.js +11 -0
  448. package/dist/components/stack/stack.d.ts +9 -0
  449. package/dist/components/stack/stack.js +1 -0
  450. package/dist/components/stack/stack.styles.d.ts +76 -0
  451. package/dist/components/stack/stack.styles.js +2 -0
  452. package/dist/components/status-dot/status-dot.d.ts +9 -0
  453. package/dist/components/status-dot/status-dot.js +1 -0
  454. package/dist/components/status-dot/status-dot.styles.js +1 -0
  455. package/dist/components/stepper/stepper.d.ts +42 -0
  456. package/dist/components/stepper/stepper.js +2 -0
  457. package/dist/components/stepper/stepper.styles.js +1 -0
  458. package/dist/components/streaming-text/streaming-text-words.d.ts +29 -0
  459. package/dist/components/streaming-text/streaming-text-words.js +19 -0
  460. package/dist/components/streaming-text/streaming-text.d.ts +35 -0
  461. package/dist/components/streaming-text/streaming-text.js +13 -0
  462. package/dist/components/streaming-text/streaming-text.styles.js +6 -0
  463. package/dist/components/suggestion/suggestion.d.ts +23 -0
  464. package/dist/components/suggestion/suggestion.js +7 -0
  465. package/dist/components/suggestion/suggestion.styles.js +3 -0
  466. package/dist/components/switch/switch.d.ts +12 -0
  467. package/dist/components/switch/switch.js +1 -0
  468. package/dist/components/switch/switch.styles.js +1 -0
  469. package/dist/components/table/table.d.ts +64 -0
  470. package/dist/components/table/table.js +1 -0
  471. package/dist/components/table/table.styles.js +1 -0
  472. package/dist/components/tabs/tabs.d.ts +32 -0
  473. package/dist/components/tabs/tabs.js +1 -0
  474. package/dist/components/tabs/tabs.styles.js +1 -0
  475. package/dist/components/task-list/task-list.d.ts +34 -0
  476. package/dist/components/task-list/task-list.js +10 -0
  477. package/dist/components/task-list/task-list.styles.js +2 -0
  478. package/dist/components/terminal/ansi.js +11 -0
  479. package/dist/components/terminal/terminal.d.ts +23 -0
  480. package/dist/components/terminal/terminal.js +15 -0
  481. package/dist/components/terminal/terminal.styles.js +1 -0
  482. package/dist/components/text/text.d.ts +11 -0
  483. package/dist/components/text/text.js +1 -0
  484. package/dist/components/text/text.styles.js +1 -0
  485. package/dist/components/textarea/textarea.d.ts +13 -0
  486. package/dist/components/textarea/textarea.js +3 -0
  487. package/dist/components/textarea/textarea.styles.js +1 -0
  488. package/dist/components/thumbnail/thumbnail.d.ts +9 -0
  489. package/dist/components/thumbnail/thumbnail.js +2 -0
  490. package/dist/components/thumbnail/thumbnail.styles.js +1 -0
  491. package/dist/components/time-input/time-input.d.ts +13 -0
  492. package/dist/components/time-input/time-input.js +1 -0
  493. package/dist/components/time-series/time-format.d.ts +16 -0
  494. package/dist/components/time-series/time-format.js +10 -0
  495. package/dist/components/time-series/time-series.d.ts +30 -0
  496. package/dist/components/time-series/time-series.js +10 -0
  497. package/dist/components/time-series/time-series.styles.js +1 -0
  498. package/dist/components/timestamp/timestamp.d.ts +15 -0
  499. package/dist/components/timestamp/timestamp.js +4 -0
  500. package/dist/components/timestamp/timestamp.styles.js +1 -0
  501. package/dist/components/toast/toast-anchored.styles.js +1 -0
  502. package/dist/components/toast/toast-animation.styles.js +1 -0
  503. package/dist/components/toast/toast-icons.js +1 -0
  504. package/dist/components/toast/toast-stacked.styles.js +1 -0
  505. package/dist/components/toast/toast-utils.js +1 -0
  506. package/dist/components/toast/toast-views.js +1 -0
  507. package/dist/components/toast/toast.d.ts +8 -0
  508. package/dist/components/toast/toast.js +1 -0
  509. package/dist/components/toast/toast.styles.js +1 -0
  510. package/dist/components/toast/toast.types.d.ts +18 -0
  511. package/dist/components/toast/toast.types.js +1 -0
  512. package/dist/components/toggle/toggle-colors.stylex.js +2 -0
  513. package/dist/components/toggle/toggle.d.ts +33 -0
  514. package/dist/components/toggle/toggle.js +1 -0
  515. package/dist/components/toggle/toggle.styles.js +1 -0
  516. package/dist/components/token/token.d.ts +16 -0
  517. package/dist/components/token/token.js +1 -0
  518. package/dist/components/token/token.styles.js +1 -0
  519. package/dist/components/tool-call/tool-call-group.d.ts +17 -0
  520. package/dist/components/tool-call/tool-call-group.js +6 -0
  521. package/dist/components/tool-call/tool-call.d.ts +36 -0
  522. package/dist/components/tool-call/tool-call.js +12 -0
  523. package/dist/components/tool-call/tool-call.styles.js +3 -0
  524. package/dist/components/toolbar/toolbar-context.js +2 -0
  525. package/dist/components/toolbar/toolbar.d.ts +37 -0
  526. package/dist/components/toolbar/toolbar.js +1 -0
  527. package/dist/components/toolbar/toolbar.styles.js +1 -0
  528. package/dist/components/tooltip/tooltip.d.ts +25 -0
  529. package/dist/components/tooltip/tooltip.js +1 -0
  530. package/dist/components/tooltip/tooltip.styles.js +1 -0
  531. package/dist/components/tree/tree.d.ts +31 -0
  532. package/dist/components/tree/tree.js +5 -0
  533. package/dist/components/tree/tree.styles.js +3 -0
  534. package/dist/components/visually-hidden/visually-hidden.d.ts +6 -0
  535. package/dist/components/visually-hidden/visually-hidden.js +1 -0
  536. package/dist/components/visually-hidden/visually-hidden.styles.js +1 -0
  537. package/dist/control-label.js +3 -0
  538. package/dist/copy-button.js +1 -0
  539. package/dist/form.d.ts +2 -0
  540. package/dist/form.js +2 -0
  541. package/dist/icon-masks.stylex.js +3 -0
  542. package/dist/icons.js +5 -0
  543. package/dist/index.d.ts +275 -0
  544. package/dist/index.js +1 -0
  545. package/dist/loading-indicator.js +3 -0
  546. package/dist/motion.js +9 -0
  547. package/dist/ref-utils.js +1 -0
  548. package/dist/render-utils.js +3 -0
  549. package/dist/styles/application-structure.stylex.js +1 -0
  550. package/dist/styles/colors.stylex.d.ts +50 -0
  551. package/dist/styles/colors.stylex.js +1 -0
  552. package/dist/styles/conditions.stylex.d.ts +9 -0
  553. package/dist/styles/conditions.stylex.js +1 -0
  554. package/dist/styles/dimensions.stylex.d.ts +14 -0
  555. package/dist/styles/dimensions.stylex.js +1 -0
  556. package/dist/styles/floating-item-colors.stylex.js +1 -0
  557. package/dist/styles/fonts.stylex.d.ts +5 -0
  558. package/dist/styles/fonts.stylex.js +1 -0
  559. package/dist/styles/interaction.stylex.d.ts +23 -0
  560. package/dist/styles/interaction.stylex.js +4 -0
  561. package/dist/styles/motion.stylex.d.ts +22 -0
  562. package/dist/styles/motion.stylex.js +3 -0
  563. package/dist/styles/overlay-layers.styles.js +1 -0
  564. package/dist/styles/palette.stylex.d.ts +26 -0
  565. package/dist/styles/palette.stylex.js +1 -0
  566. package/dist/styles/shadows.stylex.d.ts +10 -0
  567. package/dist/styles/shadows.stylex.js +1 -0
  568. package/dist/styles/shape.stylex.d.ts +9 -0
  569. package/dist/styles/shape.stylex.js +1 -0
  570. package/dist/styles/spacing.stylex.d.ts +14 -0
  571. package/dist/styles/spacing.stylex.js +3 -0
  572. package/dist/styles/themes.d.ts +49 -0
  573. package/dist/styles/themes.js +1 -0
  574. package/dist/styles/typography.styles.d.ts +90 -0
  575. package/dist/styles/typography.styles.js +8 -0
  576. package/dist/styles/typography.stylex.d.ts +35 -0
  577. package/dist/styles/typography.stylex.js +5 -0
  578. package/dist/styles.css +2125 -0
  579. package/dist/theme/index.d.ts +11 -0
  580. package/dist/theme/index.js +1 -0
  581. package/dist/theme/initialize.d.ts +4 -0
  582. package/dist/theme/initialize.js +1 -0
  583. package/dist/theme/theme-provider.d.ts +3 -0
  584. package/dist/theme/theme-provider.js +4 -0
  585. package/dist/theme/theme-root.js +1 -0
  586. package/dist/theme/theme-script.d.ts +3 -0
  587. package/dist/theme/theme-script.js +1 -0
  588. package/dist/theme/theme-storage.js +1 -0
  589. package/dist/theme/theme-tokens.js +1 -0
  590. package/dist/theme/theme-transition-guard.js +1 -0
  591. package/dist/theme/types.d.ts +25 -0
  592. package/dist/theme/types.js +1 -0
  593. package/dist/use-copy-to-clipboard.d.ts +17 -0
  594. package/dist/use-copy-to-clipboard.js +6 -0
  595. package/dist/use-elapsed.js +4 -0
  596. package/package.json +769 -3
  597. package/src/closed.ts +7 -0
  598. package/src/components/accordion/accordion.styles.ts +246 -0
  599. package/src/components/accordion/accordion.tsx +221 -0
  600. package/src/components/activity-feed/activity-feed.styles.ts +135 -0
  601. package/src/components/activity-feed/activity-feed.tsx +182 -0
  602. package/src/components/agent-thinking/agent-thinking.styles.ts +140 -0
  603. package/src/components/agent-thinking/agent-thinking.tsx +275 -0
  604. package/src/components/alert/alert.styles.ts +135 -0
  605. package/src/components/alert/alert.stylex.ts +6 -0
  606. package/src/components/alert/alert.tsx +123 -0
  607. package/src/components/alert-dialog/alert-dialog.styles.ts +29 -0
  608. package/src/components/alert-dialog/alert-dialog.tsx +197 -0
  609. package/src/components/approval-card/approval-card.styles.ts +69 -0
  610. package/src/components/approval-card/approval-card.tsx +379 -0
  611. package/src/components/area-chart/area-chart.styles.ts +14 -0
  612. package/src/components/area-chart/area-chart.tsx +571 -0
  613. package/src/components/aspect-ratio/aspect-ratio.styles.ts +20 -0
  614. package/src/components/aspect-ratio/aspect-ratio.tsx +43 -0
  615. package/src/components/attachment/attachment.styles.ts +71 -0
  616. package/src/components/attachment/attachment.tsx +132 -0
  617. package/src/components/avatar/avatar-character.styles.ts +32 -0
  618. package/src/components/avatar/avatar.styles.ts +118 -0
  619. package/src/components/avatar/avatar.tsx +262 -0
  620. package/src/components/badge/badge.styles.ts +116 -0
  621. package/src/components/badge/badge.tsx +66 -0
  622. package/src/components/bar-list/bar-list.styles.ts +72 -0
  623. package/src/components/bar-list/bar-list.tsx +157 -0
  624. package/src/components/blockquote/blockquote.styles.ts +26 -0
  625. package/src/components/blockquote/blockquote.tsx +75 -0
  626. package/src/components/breadcrumb/breadcrumb-link.tsx +32 -0
  627. package/src/components/breadcrumb/breadcrumb.styles.ts +114 -0
  628. package/src/components/breadcrumb/breadcrumb.tsx +137 -0
  629. package/src/components/button/button-colors.stylex.ts +7 -0
  630. package/src/components/button/button.css +16 -0
  631. package/src/components/button/button.css.d.ts +1 -0
  632. package/src/components/button/button.styles.ts +457 -0
  633. package/src/components/button/button.tsx +168 -0
  634. package/src/components/button-group/button-group.css +115 -0
  635. package/src/components/button-group/button-group.styles.ts +24 -0
  636. package/src/components/button-group/button-group.tsx +46 -0
  637. package/src/components/calendar/calendar-components.tsx +187 -0
  638. package/src/components/calendar/calendar-context.ts +16 -0
  639. package/src/components/calendar/calendar-dropdowns.tsx +84 -0
  640. package/src/components/calendar/calendar-utils.ts +67 -0
  641. package/src/components/calendar/calendar.styles.ts +270 -0
  642. package/src/components/calendar/calendar.tsx +244 -0
  643. package/src/components/calendar/calendar.types.ts +55 -0
  644. package/src/components/calendar-heatmap/calendar-heatmap.tsx +384 -0
  645. package/src/components/card/card.styles.ts +122 -0
  646. package/src/components/card/card.tsx +154 -0
  647. package/src/components/carousel/carousel.styles.ts +142 -0
  648. package/src/components/carousel/carousel.tsx +786 -0
  649. package/src/components/category-comparison/category-comparison.styles.ts +14 -0
  650. package/src/components/category-comparison/category-comparison.tsx +567 -0
  651. package/src/components/chart-frame/arc-path.ts +33 -0
  652. package/src/components/chart-frame/chart-assert.ts +47 -0
  653. package/src/components/chart-frame/chart-colors.ts +14 -0
  654. package/src/components/chart-frame/chart-crosshair.ts +129 -0
  655. package/src/components/chart-frame/chart-data-table.tsx +15 -0
  656. package/src/components/chart-frame/chart-frame.styles.ts +48 -0
  657. package/src/components/chart-frame/chart-frame.tsx +223 -0
  658. package/src/components/chart-frame/chart-hover.tsx +127 -0
  659. package/src/components/chart-frame/chart-loading.tsx +130 -0
  660. package/src/components/chart-frame/ring-graphic.tsx +100 -0
  661. package/src/components/chart-legend/chart-legend.styles.ts +80 -0
  662. package/src/components/chart-legend/chart-legend.tsx +107 -0
  663. package/src/components/chart-tooltip/chart-tooltip.styles.ts +71 -0
  664. package/src/components/chart-tooltip/chart-tooltip.tsx +94 -0
  665. package/src/components/checkbox/checkbox-card.styles.ts +75 -0
  666. package/src/components/checkbox/checkbox-card.tsx +71 -0
  667. package/src/components/checkbox/checkbox.styles.ts +199 -0
  668. package/src/components/checkbox/checkbox.tsx +104 -0
  669. package/src/components/checkbox-group/checkbox-group.styles.ts +11 -0
  670. package/src/components/checkbox-group/checkbox-group.tsx +29 -0
  671. package/src/components/citation/citation.styles.ts +7 -0
  672. package/src/components/citation/citation.tsx +30 -0
  673. package/src/components/code/code.styles.ts +22 -0
  674. package/src/components/code/code.tsx +22 -0
  675. package/src/components/code-block/code-block-copy.tsx +62 -0
  676. package/src/components/code-block/code-block-highlight.tsx +69 -0
  677. package/src/components/code-block/code-block.styles.ts +129 -0
  678. package/src/components/code-block/code-block.tsx +128 -0
  679. package/src/components/collapsible/collapsible.styles.ts +22 -0
  680. package/src/components/collapsible/collapsible.tsx +109 -0
  681. package/src/components/combobox/combobox-chips.styles.ts +182 -0
  682. package/src/components/combobox/combobox-chips.tsx +164 -0
  683. package/src/components/combobox/combobox-context.tsx +26 -0
  684. package/src/components/combobox/combobox-field.styles.ts +156 -0
  685. package/src/components/combobox/combobox-input.tsx +185 -0
  686. package/src/components/combobox/combobox-popup.styles.ts +190 -0
  687. package/src/components/combobox/combobox-popup.tsx +113 -0
  688. package/src/components/combobox/combobox-structure.tsx +138 -0
  689. package/src/components/combobox/combobox.tsx +162 -0
  690. package/src/components/combobox/combobox.types.ts +77 -0
  691. package/src/components/command/command-dialog.styles.ts +43 -0
  692. package/src/components/command/command-dialog.tsx +126 -0
  693. package/src/components/command/command-field.styles.ts +59 -0
  694. package/src/components/command/command-input.tsx +59 -0
  695. package/src/components/command/command-items.styles.ts +169 -0
  696. package/src/components/command/command-items.tsx +99 -0
  697. package/src/components/command/command-structure.tsx +172 -0
  698. package/src/components/command/command.tsx +157 -0
  699. package/src/components/command/command.types.ts +58 -0
  700. package/src/components/composer/attachment-marker.stylex.ts +4 -0
  701. package/src/components/composer/composer-clipboard.ts +49 -0
  702. package/src/components/composer/composer-context-meter.tsx +179 -0
  703. package/src/components/composer/composer-dictation.tsx +56 -0
  704. package/src/components/composer/composer-document.ts +508 -0
  705. package/src/components/composer/composer-editor.ts +544 -0
  706. package/src/components/composer/composer-history.ts +74 -0
  707. package/src/components/composer/composer-options.ts +51 -0
  708. package/src/components/composer/composer-parts.styles.ts +456 -0
  709. package/src/components/composer/composer-parts.tsx +245 -0
  710. package/src/components/composer/composer-picker.tsx +375 -0
  711. package/src/components/composer/composer-progress-ring.tsx +44 -0
  712. package/src/components/composer/composer-query.ts +52 -0
  713. package/src/components/composer/composer-scroll-area.tsx +29 -0
  714. package/src/components/composer/composer-session.ts +593 -0
  715. package/src/components/composer/composer-value.ts +46 -0
  716. package/src/components/composer/composer.css +80 -0
  717. package/src/components/composer/composer.styles.ts +236 -0
  718. package/src/components/composer/composer.tsx +581 -0
  719. package/src/components/composer/use-composer-editor.ts +153 -0
  720. package/src/components/context-menu/context-menu-items.tsx +230 -0
  721. package/src/components/context-menu/context-menu-utils.tsx +65 -0
  722. package/src/components/context-menu/context-menu.tsx +198 -0
  723. package/src/components/context-menu/context-menu.types.ts +97 -0
  724. package/src/components/conversation/conversation.styles.ts +56 -0
  725. package/src/components/conversation/conversation.tsx +142 -0
  726. package/src/components/data-table/data-table.styles.ts +63 -0
  727. package/src/components/data-table/data-table.tsx +723 -0
  728. package/src/components/data-table/grid-navigation.ts +186 -0
  729. package/src/components/date-picker/date-picker-date.ts +142 -0
  730. package/src/components/date-picker/date-picker-icon.tsx +6 -0
  731. package/src/components/date-picker/date-picker-state.ts +193 -0
  732. package/src/components/date-picker/date-picker.styles.ts +53 -0
  733. package/src/components/date-picker/date-picker.tsx +213 -0
  734. package/src/components/date-picker/date-picker.types.ts +32 -0
  735. package/src/components/date-range-picker/date-range-picker-date.ts +191 -0
  736. package/src/components/date-range-picker/date-range-picker-state.ts +235 -0
  737. package/src/components/date-range-picker/date-range-picker-views.tsx +144 -0
  738. package/src/components/date-range-picker/date-range-picker.styles.ts +80 -0
  739. package/src/components/date-range-picker/date-range-picker.tsx +208 -0
  740. package/src/components/date-range-picker/date-range-picker.types.ts +41 -0
  741. package/src/components/date-time-input/date-time-input.tsx +30 -0
  742. package/src/components/diagram/diagram-renderer.ts +35 -0
  743. package/src/components/diagram/diagram.css +51 -0
  744. package/src/components/diagram/diagram.styles.ts +130 -0
  745. package/src/components/diagram/diagram.tsx +238 -0
  746. package/src/components/dialog/dialog.styles.ts +226 -0
  747. package/src/components/dialog/dialog.tsx +227 -0
  748. package/src/components/distribution/distribution.styles.ts +14 -0
  749. package/src/components/distribution/distribution.tsx +450 -0
  750. package/src/components/drawer/drawer-affordance.styles.ts +61 -0
  751. package/src/components/drawer/drawer-bar.tsx +53 -0
  752. package/src/components/drawer/drawer-content.tsx +25 -0
  753. package/src/components/drawer/drawer-layout.tsx +129 -0
  754. package/src/components/drawer/drawer-menu.styles.ts +52 -0
  755. package/src/components/drawer/drawer-menu.tsx +222 -0
  756. package/src/components/drawer/drawer-positions.styles.ts +138 -0
  757. package/src/components/drawer/drawer.context.tsx +25 -0
  758. package/src/components/drawer/drawer.styles.ts +233 -0
  759. package/src/components/drawer/drawer.tsx +278 -0
  760. package/src/components/drawer/drawer.types.ts +85 -0
  761. package/src/components/empty/empty.styles.ts +118 -0
  762. package/src/components/empty/empty.tsx +175 -0
  763. package/src/components/error-state/error-state.styles.ts +97 -0
  764. package/src/components/error-state/error-state.tsx +151 -0
  765. package/src/components/field/field-context.ts +83 -0
  766. package/src/components/field/field.styles.ts +141 -0
  767. package/src/components/field/field.tsx +212 -0
  768. package/src/components/fieldset/fieldset.styles.ts +28 -0
  769. package/src/components/fieldset/fieldset.tsx +68 -0
  770. package/src/components/file-upload/file-upload-context.tsx +191 -0
  771. package/src/components/file-upload/file-upload-controls.tsx +280 -0
  772. package/src/components/file-upload/file-upload-item-preview.tsx +56 -0
  773. package/src/components/file-upload/file-upload-items.tsx +339 -0
  774. package/src/components/file-upload/file-upload-motion.ts +85 -0
  775. package/src/components/file-upload/file-upload-validation.ts +141 -0
  776. package/src/components/file-upload/file-upload.styles.ts +426 -0
  777. package/src/components/file-upload/file-upload.tsx +278 -0
  778. package/src/components/file-upload/file-upload.types.ts +161 -0
  779. package/src/components/frame/frame.styles.ts +66 -0
  780. package/src/components/frame/frame.tsx +126 -0
  781. package/src/components/funnel/funnel-flow.tsx +198 -0
  782. package/src/components/funnel/funnel.styles.ts +73 -0
  783. package/src/components/funnel/funnel.tsx +177 -0
  784. package/src/components/grid/grid.styles.ts +15 -0
  785. package/src/components/grid/grid.tsx +22 -0
  786. package/src/components/group/group.styles.ts +13 -0
  787. package/src/components/group/group.tsx +22 -0
  788. package/src/components/heading/heading.styles.ts +10 -0
  789. package/src/components/heading/heading.tsx +52 -0
  790. package/src/components/heatmap/heatmap-scale.tsx +92 -0
  791. package/src/components/heatmap/heatmap.tsx +402 -0
  792. package/src/components/inline/inline.styles.ts +13 -0
  793. package/src/components/inline/inline.tsx +22 -0
  794. package/src/components/inline-citation/citation-source.tsx +105 -0
  795. package/src/components/inline-citation/inline-citation.styles.ts +94 -0
  796. package/src/components/inline-citation/inline-citation.tsx +199 -0
  797. package/src/components/input/input.styles.ts +95 -0
  798. package/src/components/input/input.tsx +147 -0
  799. package/src/components/input-group/input-group.styles.ts +183 -0
  800. package/src/components/input-group/input-group.tsx +215 -0
  801. package/src/components/kbd/kbd.styles.ts +42 -0
  802. package/src/components/kbd/kbd.tsx +70 -0
  803. package/src/components/label/label.styles.ts +8 -0
  804. package/src/components/label/label.tsx +29 -0
  805. package/src/components/lightbox/lightbox-gallery.tsx +208 -0
  806. package/src/components/lightbox/lightbox.styles.ts +196 -0
  807. package/src/components/lightbox/lightbox.tsx +137 -0
  808. package/src/components/link/link.styles.ts +41 -0
  809. package/src/components/link/link.tsx +48 -0
  810. package/src/components/list/list.styles.ts +49 -0
  811. package/src/components/list/list.tsx +105 -0
  812. package/src/components/markdown/markdown.styles.ts +104 -0
  813. package/src/components/markdown/markdown.tsx +268 -0
  814. package/src/components/menu/menu-align-context.ts +8 -0
  815. package/src/components/menu/menu.styles.ts +281 -0
  816. package/src/components/menu/menu.tsx +485 -0
  817. package/src/components/menubar/menubar.styles.ts +97 -0
  818. package/src/components/menubar/menubar.tsx +89 -0
  819. package/src/components/message/message.styles.ts +145 -0
  820. package/src/components/message/message.tsx +501 -0
  821. package/src/components/message-scroller/message-scroller-store.ts +457 -0
  822. package/src/components/message-scroller/message-scroller.styles.ts +177 -0
  823. package/src/components/message-scroller/message-scroller.tsx +417 -0
  824. package/src/components/meter/meter.styles.ts +48 -0
  825. package/src/components/meter/meter.tsx +176 -0
  826. package/src/components/metric/metric.styles.ts +64 -0
  827. package/src/components/metric/metric.tsx +134 -0
  828. package/src/components/metric-trend/metric-trend.styles.ts +103 -0
  829. package/src/components/metric-trend/metric-trend.tsx +188 -0
  830. package/src/components/navigation-menu/navigation-menu.styles.ts +183 -0
  831. package/src/components/navigation-menu/navigation-menu.tsx +255 -0
  832. package/src/components/number-field/number-field-context.tsx +46 -0
  833. package/src/components/number-field/number-field.styles.ts +229 -0
  834. package/src/components/number-field/number-field.tsx +268 -0
  835. package/src/components/number-field/number-field.types.ts +46 -0
  836. package/src/components/otp-field/otp-field.styles.ts +138 -0
  837. package/src/components/otp-field/otp-field.tsx +174 -0
  838. package/src/components/overflow-list/overflow-list.styles.ts +25 -0
  839. package/src/components/overflow-list/overflow-list.tsx +84 -0
  840. package/src/components/pagination/pagination-link.tsx +96 -0
  841. package/src/components/pagination/pagination.styles.ts +137 -0
  842. package/src/components/pagination/pagination.tsx +153 -0
  843. package/src/components/part-to-whole/part-to-whole.styles.ts +56 -0
  844. package/src/components/part-to-whole/part-to-whole.tsx +329 -0
  845. package/src/components/popover/popover.styles.ts +177 -0
  846. package/src/components/popover/popover.tsx +197 -0
  847. package/src/components/preview-card/preview-card.styles.ts +61 -0
  848. package/src/components/preview-card/preview-card.tsx +94 -0
  849. package/src/components/progress/progress.styles.ts +82 -0
  850. package/src/components/progress/progress.tsx +153 -0
  851. package/src/components/progress-rings/progress-rings.styles.ts +65 -0
  852. package/src/components/progress-rings/progress-rings.tsx +163 -0
  853. package/src/components/property-list/property-list.styles.ts +49 -0
  854. package/src/components/property-list/property-list.tsx +91 -0
  855. package/src/components/question-card/question-card.styles.ts +106 -0
  856. package/src/components/question-card/question-card.tsx +525 -0
  857. package/src/components/radar-chart/radar-chart.tsx +281 -0
  858. package/src/components/radial-bars/radial-bars.tsx +197 -0
  859. package/src/components/radio/radio-card.tsx +57 -0
  860. package/src/components/radio/radio.styles.ts +57 -0
  861. package/src/components/radio/radio.tsx +61 -0
  862. package/src/components/radio-group/radio-group.tsx +29 -0
  863. package/src/components/sankey-chart/sankey-chart.tsx +340 -0
  864. package/src/components/sankey-chart/sankey-layout.ts +107 -0
  865. package/src/components/scatter-chart/scatter-chart.styles.ts +7 -0
  866. package/src/components/scatter-chart/scatter-chart.tsx +509 -0
  867. package/src/components/score-gauge/score-gauge.styles.ts +77 -0
  868. package/src/components/score-gauge/score-gauge.tsx +236 -0
  869. package/src/components/scroll-area/scroll-area.styles.ts +174 -0
  870. package/src/components/scroll-area/scroll-area.tsx +202 -0
  871. package/src/components/section/section.styles.ts +11 -0
  872. package/src/components/section/section.tsx +29 -0
  873. package/src/components/segmented-control/segmented-control.styles.ts +107 -0
  874. package/src/components/segmented-control/segmented-control.tsx +98 -0
  875. package/src/components/select/select.styles.ts +295 -0
  876. package/src/components/select/select.tsx +335 -0
  877. package/src/components/separator/separator.styles.ts +14 -0
  878. package/src/components/separator/separator.tsx +24 -0
  879. package/src/components/sheet/sheet-layout.tsx +92 -0
  880. package/src/components/sheet/sheet-positions.styles.ts +104 -0
  881. package/src/components/sheet/sheet.styles.ts +209 -0
  882. package/src/components/sheet/sheet.tsx +182 -0
  883. package/src/components/sheet/sheet.types.ts +67 -0
  884. package/src/components/skeleton/skeleton.styles.ts +52 -0
  885. package/src/components/skeleton/skeleton.tsx +35 -0
  886. package/src/components/slider/slider-context.tsx +414 -0
  887. package/src/components/slider/slider-default-anatomy.tsx +71 -0
  888. package/src/components/slider/slider-ref-utils.ts +16 -0
  889. package/src/components/slider/slider-slot.ts +7 -0
  890. package/src/components/slider/slider.styles.ts +368 -0
  891. package/src/components/slider/slider.tsx +303 -0
  892. package/src/components/slider/slider.types.ts +57 -0
  893. package/src/components/sources/sources.styles.ts +105 -0
  894. package/src/components/sources/sources.tsx +150 -0
  895. package/src/components/spacer/spacer.styles.ts +11 -0
  896. package/src/components/spacer/spacer.tsx +25 -0
  897. package/src/components/spinner/spinner.styles.ts +231 -0
  898. package/src/components/spinner/spinner.tsx +153 -0
  899. package/src/components/stack/stack.styles.ts +37 -0
  900. package/src/components/stack/stack.tsx +34 -0
  901. package/src/components/status-dot/status-dot.styles.ts +27 -0
  902. package/src/components/status-dot/status-dot.tsx +55 -0
  903. package/src/components/stepper/stepper.styles.ts +564 -0
  904. package/src/components/stepper/stepper.tsx +349 -0
  905. package/src/components/streaming-text/streaming-text-words.tsx +275 -0
  906. package/src/components/streaming-text/streaming-text.styles.ts +166 -0
  907. package/src/components/streaming-text/streaming-text.tsx +299 -0
  908. package/src/components/suggestion/suggestion.styles.ts +55 -0
  909. package/src/components/suggestion/suggestion.tsx +125 -0
  910. package/src/components/switch/switch.styles.ts +195 -0
  911. package/src/components/switch/switch.tsx +69 -0
  912. package/src/components/table/table.styles.ts +198 -0
  913. package/src/components/table/table.tsx +290 -0
  914. package/src/components/tabs/tabs.styles.ts +245 -0
  915. package/src/components/tabs/tabs.tsx +186 -0
  916. package/src/components/task-list/task-list.styles.ts +82 -0
  917. package/src/components/task-list/task-list.tsx +430 -0
  918. package/src/components/terminal/ansi.ts +86 -0
  919. package/src/components/terminal/terminal.styles.ts +20 -0
  920. package/src/components/terminal/terminal.tsx +339 -0
  921. package/src/components/text/text.styles.ts +8 -0
  922. package/src/components/text/text.tsx +47 -0
  923. package/src/components/textarea/textarea.styles.ts +85 -0
  924. package/src/components/textarea/textarea.tsx +163 -0
  925. package/src/components/thumbnail/thumbnail.styles.ts +33 -0
  926. package/src/components/thumbnail/thumbnail.tsx +63 -0
  927. package/src/components/time-input/time-input.tsx +30 -0
  928. package/src/components/time-series/time-format.ts +172 -0
  929. package/src/components/time-series/time-series.styles.ts +18 -0
  930. package/src/components/time-series/time-series.tsx +521 -0
  931. package/src/components/timestamp/timestamp.styles.ts +9 -0
  932. package/src/components/timestamp/timestamp.tsx +162 -0
  933. package/src/components/toast/toast-anchored.styles.ts +146 -0
  934. package/src/components/toast/toast-animation.styles.ts +64 -0
  935. package/src/components/toast/toast-icons.tsx +58 -0
  936. package/src/components/toast/toast-stacked.styles.ts +129 -0
  937. package/src/components/toast/toast-utils.ts +53 -0
  938. package/src/components/toast/toast-views.tsx +223 -0
  939. package/src/components/toast/toast.styles.ts +198 -0
  940. package/src/components/toast/toast.tsx +59 -0
  941. package/src/components/toast/toast.types.ts +41 -0
  942. package/src/components/toggle/toggle-colors.stylex.ts +27 -0
  943. package/src/components/toggle/toggle.styles.ts +267 -0
  944. package/src/components/toggle/toggle.tsx +193 -0
  945. package/src/components/token/token.styles.ts +135 -0
  946. package/src/components/token/token.tsx +208 -0
  947. package/src/components/tool-call/tool-call-group.tsx +147 -0
  948. package/src/components/tool-call/tool-call.styles.ts +146 -0
  949. package/src/components/tool-call/tool-call.tsx +324 -0
  950. package/src/components/toolbar/toolbar-context.ts +6 -0
  951. package/src/components/toolbar/toolbar.styles.ts +120 -0
  952. package/src/components/toolbar/toolbar.tsx +219 -0
  953. package/src/components/tooltip/tooltip.styles.ts +104 -0
  954. package/src/components/tooltip/tooltip.tsx +106 -0
  955. package/src/components/tree/tree.styles.ts +133 -0
  956. package/src/components/tree/tree.tsx +862 -0
  957. package/src/components/visually-hidden/visually-hidden.styles.ts +15 -0
  958. package/src/components/visually-hidden/visually-hidden.tsx +36 -0
  959. package/src/control-label.tsx +48 -0
  960. package/src/copy-button.tsx +38 -0
  961. package/src/form.ts +44 -0
  962. package/src/icon-masks.stylex.ts +7 -0
  963. package/src/icons.ts +43 -0
  964. package/src/index.ts +1392 -0
  965. package/src/loading-indicator.tsx +45 -0
  966. package/src/motion.tsx +124 -0
  967. package/src/ref-utils.ts +27 -0
  968. package/src/render-utils.ts +35 -0
  969. package/src/styles/application-structure.stylex.ts +5 -0
  970. package/src/styles/colors.stylex.ts +64 -0
  971. package/src/styles/conditions.stylex.ts +10 -0
  972. package/src/styles/dimensions.stylex.ts +17 -0
  973. package/src/styles/floating-item-colors.stylex.ts +22 -0
  974. package/src/styles/fonts.stylex.ts +9 -0
  975. package/src/styles/interaction.stylex.ts +34 -0
  976. package/src/styles/motion.stylex.ts +28 -0
  977. package/src/styles/overlay-layers.styles.ts +26 -0
  978. package/src/styles/palette.stylex.ts +28 -0
  979. package/src/styles/shadows.stylex.ts +14 -0
  980. package/src/styles/shape.stylex.ts +11 -0
  981. package/src/styles/spacing.stylex.ts +18 -0
  982. package/src/styles/themes.ts +57 -0
  983. package/src/styles/typography.styles.ts +116 -0
  984. package/src/styles/typography.stylex.ts +44 -0
  985. package/src/theme/index.ts +25 -0
  986. package/src/theme/initialize.ts +31 -0
  987. package/src/theme/theme-provider.tsx +189 -0
  988. package/src/theme/theme-root.ts +37 -0
  989. package/src/theme/theme-script.tsx +35 -0
  990. package/src/theme/theme-storage.ts +256 -0
  991. package/src/theme/theme-tokens.ts +11 -0
  992. package/src/theme/theme-transition-guard.ts +102 -0
  993. package/src/theme/types.ts +33 -0
  994. package/src/use-copy-to-clipboard.ts +57 -0
  995. package/src/use-elapsed.ts +40 -0
@@ -0,0 +1,36 @@
1
+ import { Avatar as BaseAvatar } from "@base-ui/react/avatar";
2
+ import type { ComponentPropsWithRef, Ref } from "react";
3
+ type BaseAvatarRootProps = ComponentPropsWithRef<typeof BaseAvatar.Root>;
4
+ type BaseAvatarImageProps = ComponentPropsWithRef<typeof BaseAvatar.Image>;
5
+ type BaseAvatarFallbackProps = ComponentPropsWithRef<typeof BaseAvatar.Fallback>;
6
+ type NativeDivProps = ComponentPropsWithRef<"div">;
7
+ export type AvatarSize = "default" | "lg" | "sm";
8
+ export type AvatarProps = Omit<BaseAvatarRootProps, "className" | "data-slot" | "style"> & {
9
+ ref?: BaseAvatarRootProps["ref"];
10
+ size?: AvatarSize;
11
+ };
12
+ export type AvatarImageProps = Omit<BaseAvatarImageProps, "alt" | "className" | "data-slot" | "style"> & {
13
+ alt: string;
14
+ ref?: BaseAvatarImageProps["ref"];
15
+ };
16
+ export type AvatarFallbackProps = Omit<BaseAvatarFallbackProps, "className" | "data-slot" | "style"> & {
17
+ color?: "neutral" | "blue" | "purple" | "green" | "orange";
18
+ ref?: BaseAvatarFallbackProps["ref"];
19
+ };
20
+ export type AvatarGroupProps = Omit<NativeDivProps, "className" | "data-slot" | "style"> & {
21
+ size?: AvatarSize;
22
+ };
23
+ export declare function Avatar({ ref: forwardedRef, render, size, ...rest }: AvatarProps): import("react").JSX.Element;
24
+ export declare function AvatarGroup({ children, ref: forwardedRef, size, ...rest }: AvatarGroupProps): import("react").JSX.Element;
25
+ export declare function AvatarImage({ alt, ref: forwardedRef, render, ...rest }: AvatarImageProps): import("react").JSX.Element;
26
+ export declare function AvatarFallback({ children, color, ref: forwardedRef, render, ...rest }: AvatarFallbackProps): import("react").JSX.Element;
27
+ export interface AvatarCharacterProps {
28
+ /** Accessible name. Omit when adjacent text already names the identity. */
29
+ label?: string;
30
+ ref?: Ref<SVGSVGElement>;
31
+ /** Stable identity key. Prefer an immutable ID over a display name. */
32
+ seed: string;
33
+ size?: AvatarSize;
34
+ }
35
+ export declare function AvatarCharacter({ seed, label, size, ref, }: AvatarCharacterProps): import("react").JSX.Element;
36
+ export {};
@@ -0,0 +1,4 @@
1
+ "use client";import{Avatar as BaseAvatar}from"@base-ui/react/avatar";import{props}from"@stylexjs/stylex";import{createContext,useContext}from"react";import{controlLabel}from"../../control-label";import{protectRenderSlot}from"../../render-utils";import{avatarFallbackColors,avatarStyles}from"./avatar.styles";import{characterStyles}from"./avatar-character.styles";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const AvatarGroupContext=createContext(null);const sizeStyles={default:avatarStyles.defaultSize,lg:avatarStyles.lg,sm:avatarStyles.sm};const groupOverlapStyles={default:avatarStyles.groupOverlapDefault,lg:avatarStyles.groupOverlapLg,sm:avatarStyles.groupOverlapSm};export function Avatar({ref:forwardedRef,render,size,...rest}){const group=useContext(AvatarGroupContext);const resolvedSize=size??group?.size??"default";const isGrouped=group!==null;return/*#__PURE__*/_jsx(BaseAvatar.Root,{...rest,"data-slot":"avatar",ref:forwardedRef,render:protectRenderSlot("avatar",render),...props(avatarStyles.root,sizeStyles[resolvedSize],isGrouped&&avatarStyles.groupRing,isGrouped&&groupOverlapStyles[resolvedSize])});}export function AvatarGroup({children,ref:forwardedRef,size="default",...rest}){return/*#__PURE__*/_jsx(AvatarGroupContext,{value:{size},children:/*#__PURE__*/_jsx("div",{...rest,"data-slot":"avatar-group",ref:forwardedRef,...props(avatarStyles.group),children:children})});}export function AvatarImage({alt,ref:forwardedRef,render,...rest}){return/*#__PURE__*/_jsx(BaseAvatar.Image,{alt:alt,...rest,"data-slot":"avatar-image",ref:forwardedRef,render:protectRenderSlot("avatar-image",render),...props(avatarStyles.image)});}export function AvatarFallback({children,color="neutral",ref:forwardedRef,render,...rest}){return/*#__PURE__*/_jsx(BaseAvatar.Fallback,{...rest,"data-slot":"avatar-fallback",ref:forwardedRef,render:protectRenderSlot("avatar-fallback",render),...props(avatarStyles.fallback,color!=="neutral"&&avatarFallbackColors[color]),children:controlLabel(children)});}const characterSizes={default:avatarStyles.defaultSize,lg:avatarStyles.lg,sm:avatarStyles.sm};const tones=[characterStyles.violet,characterStyles.blue,characterStyles.teal,characterStyles.green,characterStyles.amber,characterStyles.orange,characterStyles.rose,characterStyles.pink];// Bodies rise from the bottom edge. `face` is the eye line.
2
+ const bodies=[{d:"M7 52V31a17 17 0 0 1 34 0v21Z",face:30},{d:"M7 52V31a17 17 0 0 1 34 0v21ZM13 10a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11Zm22 0a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11Z",face:30},{d:"M8 52V35a16 16 0 0 1 32 0v17ZM14 24V9a3.5 3.5 0 0 1 7 0v15Zm13 0V9a3.5 3.5 0 0 1 7 0v15Z",face:34},{d:"M9 52V25c0-9 5-14 15-14s15 5 15 14v27Z",face:27},{d:"M7 52V31a17 17 0 0 1 34 0v21ZM24 4a6 6 0 1 1 0 12 6 6 0 0 1 0-12Z",face:31},{d:"M3 52V37c0-10 9-15 21-15s21 5 21 15v15Z",face:35},{d:"M7 52V30c0-6 1-12 3-17 1-3 4-3 6-1l5 5h6l5-5c2-2 5-2 6 1 2 5 3 11 3 17v22Z",face:31},{d:"M12 52V22a12 12 0 0 1 24 0v30Z",face:25}];const eyeShapes=[(x,y)=>/*#__PURE__*/_jsx("circle",{cx:x,cy:y,r:"3"}),(x,y)=>/*#__PURE__*/_jsx("ellipse",{cx:x,cy:y,rx:"2.5",ry:"3.6"}),(x,y)=>/*#__PURE__*/_jsx("path",{d:`M${x-3} ${y+1}q3-4.5 6 0`,...props(characterStyles.stroke)})];// FNV-1a over UTF-16 plus the murmur3 finalizer is fixed for v1.
3
+ // Changing either would change existing identities.
4
+ /* biome-ignore-start lint/suspicious/noBitwiseOperators: Hashing needs 32-bit XOR, shifts, and multiplies. */function hashSeed(seed){let hash=2_166_136_261;for(let index=0;index<seed.length;index+=1){hash=Math.imul(hash^seed.charCodeAt(index),16_777_619);}hash=Math.imul(hash^hash>>>16,0x85_eb_ca_6b);hash=Math.imul(hash^hash>>>13,0xc2_b2_ae_35);return(hash^hash>>>16)>>>0;}/* biome-ignore-end lint/suspicious/noBitwiseOperators: Hashing needs 32-bit XOR, shifts, and multiplies. */export function AvatarCharacter({seed,label,size="default",ref}){const hash=hashSeed(seed);const body=bodies[Math.floor(hash/8)%bodies.length];const eye=eyeShapes[Math.floor(hash/64)%eyeShapes.length];const x=24+(Math.floor(hash/192)%3-1)*1.5;const spread=Math.floor(hash/576)%2?6.5:5;return/*#__PURE__*/_jsxs("svg",{"aria-hidden":label?undefined:true,"aria-label":label,"data-slot":"avatar-character",focusable:"false",ref:ref,role:label?"img":undefined,viewBox:"0 0 48 48",...props(characterStyles.root,characterSizes[size],tones[hash%tones.length]),children:[/*#__PURE__*/_jsx("path",{d:body.d,...props(characterStyles.body)}),/*#__PURE__*/_jsxs("g",{...props(characterStyles.face),children:[eye(x-spread,body.face),eye(x+spread,body.face)]})]});}
@@ -0,0 +1 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/colors.stylex";import{colors}from"../../styles/colors.stylex";import"../../styles/dimensions.stylex";import{controlSize}from"../../styles/dimensions.stylex";import"../../styles/palette.stylex";import{palette}from"../../styles/palette.stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";import"../../styles/typography.stylex";import{fontSize,fontWeight,lineHeight}from"../../styles/typography.stylex";export const avatarStyles={defaultSize:{kGuDYH:"x1ws78te",kZKoxP:"x1sscbzi",kzqmXN:"x14pcf9u",$$css:true},fallback:{kGNEyG:"x6s0dn4",kWkggS:"x1vs9wzj",kB7OPa:"x9f619",kMwMTN:"xbb0na1",k1xSpc:"x78zum5",k63SB2:"xuku2lm",kZKoxP:"x5yr21d",kYYq5F:"x10no89f",kkqhue:"x17y0mx6",kjj79g:"xl56j7k",kLWn49:"x1wrb330",kVAEAm:"x10l6tqk",kzqmXN:"xh8yej3",$$css:true},group:{kGNEyG:"x6s0dn4",kB7OPa:"x9f619",k1xSpc:"x3nfvp2",kXwgrk:"x1q0g3np",$$css:true},groupOverlapDefault:{keTefX:"xozkbsz x1wan5pe",$$css:true},groupOverlapLg:{keTefX:"x1jlx4w8 x1wan5pe",$$css:true},groupOverlapSm:{keTefX:"x3c7snj x1wan5pe",$$css:true},groupRing:{kGVxlE:"xj9qs6x",$$css:true},image:{kB7OPa:"x9f619",k1xSpc:"x1b10x9z x1veu2zj x1lliihq",kZKoxP:"x5yr21d",kVIFPx:"xl1xv1r",kzqmXN:"xh8yej3",$$css:true},lg:{kGuDYH:"xlh8hku",kZKoxP:"x1nwj9bq",kzqmXN:"x1kmmwjt",$$css:true},root:{kGNEyG:"x6s0dn4",kWkggS:"x1vs9wzj",kaIpWk:"x10hpsqq",kB7OPa:"x9f619",kMwMTN:"xbb0na1",k1xSpc:"x3nfvp2",kmuXW:"x2lah0s",k63SB2:"xuku2lm",kjj79g:"xl56j7k",kLWn49:"x1wrb330",kVQacm:"xb3r6kr",kVAEAm:"x1n2onr6",kfSwDN:"x87ps6o",kXLuUW:"xxymvpz",$$css:true},sm:{kGuDYH:"x1ws78te",kZKoxP:"xud2w1",kzqmXN:"x1sxroq0",$$css:true}};export const avatarFallbackColors={blue:{kWkggS:"x1o93qni",kMwMTN:"x2z7umo",$$css:true},green:{kWkggS:"x1odci6f",kMwMTN:"x2221tf",$$css:true},orange:{kWkggS:"xgkf0yf",kMwMTN:"x1scrdw2",$$css:true},purple:{kWkggS:"x1mpowjk",kMwMTN:"x1g8gvkm",$$css:true}};
@@ -0,0 +1,8 @@
1
+ import { useRender } from "@base-ui/react/use-render";
2
+ export type BadgeVariant = "default" | "destructive" | "info" | "outline" | "secondary" | "success" | "warning" | "brand";
3
+ export type BadgeSize = "default" | "sm" | "lg";
4
+ export type BadgeProps = Omit<useRender.ComponentProps<"span">, "className" | "data-slot" | "style"> & {
5
+ size?: BadgeSize;
6
+ variant?: BadgeVariant;
7
+ };
8
+ export declare function Badge({ children, ref: forwardedRef, render, size, variant, ...rest }: BadgeProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
@@ -0,0 +1 @@
1
+ "use client";import{useRender}from"@base-ui/react/use-render";import{props}from"@stylexjs/stylex";import{controlLabel}from"../../control-label";import{protectRenderSlot}from"../../render-utils";import{badgeStyles}from"./badge.styles";const variantStyles={brand:badgeStyles.brand,default:badgeStyles.default,destructive:badgeStyles.destructive,info:badgeStyles.info,outline:badgeStyles.outline,secondary:badgeStyles.secondary,success:badgeStyles.success,warning:badgeStyles.warning};const sizeStyles={default:badgeStyles.defaultSize,lg:badgeStyles.lg,sm:badgeStyles.sm};export function Badge({children,ref:forwardedRef,render,size="default",variant="default",...rest}){const normalizedRender=protectRenderSlot("badge",render);return useRender({defaultTagName:"span",props:{...rest,children:controlLabel(children),"data-slot":"badge",...props(badgeStyles.base,variantStyles[variant],sizeStyles[size])},ref:forwardedRef,render:normalizedRender});}
@@ -0,0 +1 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/colors.stylex";import{colors}from"../../styles/colors.stylex";import"../../styles/dimensions.stylex";import{controlSize}from"../../styles/dimensions.stylex";import"../../styles/interaction.stylex";import{borderWidth,focus,focusMotion,focusOutline}from"../../styles/interaction.stylex";import"../../styles/shape.stylex";import{shape}from"../../styles/shape.stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";import"../../styles/typography.stylex";import{fontSize,fontWeight,lineHeight}from"../../styles/typography.stylex";export const badgeStyles={base:{kGNEyG:"x6s0dn4",k44tkh:"x1iha7go",kKVMdj:"x1b5t0b2",ksu8eU:"x1y0btm7",kMzoRj:"x1cdonsl",kB7OPa:"x9f619",k1xSpc:"x3nfvp2",kmuXW:"xs83m0k",kMv6JI:"xjb2p0i",k63SB2:"xuku2lm",kOIVth:"x13hh4mm",kjj79g:"xl56j7k",ks0D6T:"x193iq5w",k7Eaqz:"xeuugli",kjBf7l:"x4dprnk x1uczgqu",kInvED:"x7jjmpn x1w1ofmy",k3XXqK:"x9v5kkp xzc55om",kMeerF:"xm9seqh x1vhx2qj",kHjlTd:"xj0a0fe",khDVqt:"xeaf4i8",$$css:true},brand:{kWkggS:"x16d8uok",kVAM5u:"x9r1u3d",kMwMTN:"xdnyjpo",$$css:true},default:{kWkggS:"x1o7hn9x",kVAM5u:"x9r1u3d",kMwMTN:"xbb0na1",$$css:true},defaultSize:{kaIpWk:"x2b34ud",kGuDYH:"xlh8hku",kLWn49:"x2xzzt7",kAzted:"x15j2gbd",kg3NbH:"xb5xqfq",$$css:true},destructive:{kWkggS:"xyio8l9",kVAM5u:"x9r1u3d",kMwMTN:"x14tvo57",$$css:true},info:{kWkggS:"xou2r82",kVAM5u:"x9r1u3d",kMwMTN:"x1dpkydq",$$css:true},lg:{kaIpWk:"x1jw0md8",kGuDYH:"x12ama9c",kLWn49:"x1rn0pvf",kAzted:"x1vigsvi",kg3NbH:"xy7odpl",$$css:true},outline:{kWkggS:"xjbqb8w",kVAM5u:"x155xxfk",kMwMTN:"x14tvo57",$$css:true},secondary:{kWkggS:"x1vs9wzj",kVAM5u:"x9r1u3d",kMwMTN:"xbb0na1",$$css:true},sm:{kaIpWk:"x2b34ud",kGuDYH:"x1ws78te",kLWn49:"x76y1r9",kAzted:"xvfbv0m",kg3NbH:"xb5xqfq",$$css:true},success:{kWkggS:"x80umms",kVAM5u:"x9r1u3d",kMwMTN:"x19d0d4p",$$css:true},warning:{kWkggS:"xuooem1",kVAM5u:"x9r1u3d",kMwMTN:"x11ihctc",$$css:true}};
@@ -0,0 +1,22 @@
1
+ import type { ComponentPropsWithRef, ReactNode } from "react";
2
+ import type { Closed } from "../../closed";
3
+ import { type ChartSeriesTone } from "../chart-frame/chart-colors";
4
+ export interface BarListItem {
5
+ /** A decorative glyph before the label, such as a device icon. */
6
+ icon?: ReactNode;
7
+ id: string;
8
+ label: string;
9
+ value: number;
10
+ }
11
+ export type BarListProps = Omit<Closed<ComponentPropsWithRef<"div">>, "aria-label" | "children" | "data-slot" | "role"> & {
12
+ "aria-label": string;
13
+ formatValue?: (value: number) => string;
14
+ items: readonly BarListItem[];
15
+ locale?: string;
16
+ /** One hue for every bar. By default each item takes its palette color. */
17
+ tone?: ChartSeriesTone;
18
+ /** A column caption above the values, such as "Visitors". */
19
+ valueLabel?: string;
20
+ };
21
+ /** Ranked rows whose background bar shows each value against the largest. */
22
+ export declare function BarList({ "aria-label": ariaLabel, formatValue, items, locale, ref: forwardedRef, tone, valueLabel, ...rest }: BarListProps): import("react").JSX.Element;
@@ -0,0 +1,4 @@
1
+ "use client";import{props}from"@stylexjs/stylex";import{typeRoles}from"../../styles/typography.styles";import{chartColors}from"../chart-frame/chart-colors";import{useChartHover}from"../chart-frame/chart-hover";import{barListStyles}from"./bar-list.styles";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";// Tinted enough to read as a bar, light enough to keep the label legible on it.
2
+ const TINT="20%";const PALETTE=["series1","series2","series3","series4","series5","series6"];// Items take palette colors in input order, so sorting never repaints one; past
3
+ // six, they fold into the neutral reference tone instead of cycling.
4
+ function toneAt(index,tone){return tone??PALETTE[index]??"muted";}function tintOf(tone){return`color-mix(in oklch, ${chartColors[tone]} ${TINT}, transparent)`;}function assertItems(items){if(!Array.isArray(items)){throw new TypeError("BarList items must be an array.");}const ids=new Set();for(const{id,label,value}of items){if(typeof id!=="string"||!id.trim()||typeof label!=="string"){throw new TypeError("BarList items require non-empty ids and labels.");}if(ids.has(id)){throw new RangeError("BarList item ids must be unique.");}if(typeof value!=="number"||!Number.isFinite(value)||value<0){throw new RangeError("BarList values must be finite and not negative.");}ids.add(id);}}function assertOptions(ariaLabel,tone){if(typeof ariaLabel!=="string"||!ariaLabel.trim()){throw new TypeError("BarList requires a non-empty aria-label.");}if(tone!==undefined&&!Object.hasOwn(chartColors,tone)){throw new RangeError("BarList tone is not a supported chart series tone.");}}/** Ranked rows whose background bar shows each value against the largest. */export function BarList({"aria-label":ariaLabel,formatValue,items,locale="en-US",ref:forwardedRef,tone,valueLabel,...rest}){assertOptions(ariaLabel,tone);assertItems(items);for(const name of["children","className","data-slot","role","style"]){Reflect.deleteProperty(rest,name);}const format=formatValue??new Intl.NumberFormat(locale).format;const{fade,linkProps}=useChartHover();const ranked=items.map((item,index)=>({...item,tone:toneAt(index,tone)})).sort((left,right)=>right.value-left.value);const max=ranked[0]?.value||1;return/*#__PURE__*/_jsxs("div",{...rest,"data-slot":"bar-list",ref:forwardedRef,...props(barListStyles.root,typeRoles.ui),children:[valueLabel?/*#__PURE__*/_jsxs("div",{"aria-hidden":"true","data-slot":"bar-list-header",...props(barListStyles.header,typeRoles.caption),children:[/*#__PURE__*/_jsx("span",{}),/*#__PURE__*/_jsx("span",{children:valueLabel})]}):null,/*#__PURE__*/_jsx("ul",{"aria-label":ariaLabel,...props(barListStyles.list),children:ranked.map(({icon,id,label,tone:itemTone,value})=>/*#__PURE__*/_jsxs("li",{"data-slot":"bar-list-item",...linkProps(id),...props(barListStyles.item),children:[/*#__PURE__*/_jsx("span",{"aria-hidden":"true","data-slot":"bar-list-bar",...props(...fade(id),barListStyles.bar(`${value/max*100}%`,tintOf(itemTone)))}),/*#__PURE__*/_jsxs("span",{"data-slot":"bar-list-label",...props(barListStyles.label),children:[icon?/*#__PURE__*/_jsx("span",{"aria-hidden":"true",...props(barListStyles.icon),children:icon}):null,label]}),/*#__PURE__*/_jsx("span",{"data-slot":"bar-list-value",...props(barListStyles.value),children:format(value)})]},id))})]});}
@@ -0,0 +1 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/colors.stylex";import{colors}from"../../styles/colors.stylex";import"../../styles/dimensions.stylex";import{glyphSize}from"../../styles/dimensions.stylex";import"../../styles/shape.stylex";import{shape}from"../../styles/shape.stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";import"../../styles/typography.stylex";import{fontWeight}from"../../styles/typography.stylex";const _temp={kaIpWk:"x2b34ud",kzqmXN:"x1uyokj7",kYYq5F:"x10no89f",kLqNvP:"x1o0tod",kVAEAm:"x10l6tqk","$$css":true};export const barListStyles={bar:(inlineSize,backgroundColor)=>[_temp,{kWkggS:backgroundColor!=null?"xl8spv7":backgroundColor,$$css:true},{"--x-backgroundColor":backgroundColor!=null?backgroundColor:undefined,"--x-inlineSize":(val=>typeof val==="number"?val+"px":val!=null?val:undefined)(inlineSize)}],header:{kMwMTN:"x125omll",k1xSpc:"x78zum5",kjj79g:"x1qughib",kg3NbH:"xy7odpl",$$css:true},icon:{kMwMTN:"x125omll",k1xSpc:"x3nfvp2",kmuXW:"x2lah0s",kZKoxP:"x38fy1k xt7dq6l",kzqmXN:"xw9ltxv x14atkfc",$$css:true},item:{kGNEyG:"x6s0dn4",k1xSpc:"x78zum5",kOIVth:"xiw8qbs",kjj79g:"x1qughib",kAzted:"x1in32aq",kg3NbH:"xy7odpl",kVAEAm:"x1n2onr6",$$css:true},label:{kGNEyG:"x6s0dn4",kMwMTN:"x14tvo57",k1xSpc:"x78zum5",kOIVth:"xp4ho6d",k7Eaqz:"xeuugli",kVQacm:"xb3r6kr",kVAEAm:"x1n2onr6",kg5iWk:"xlyipyv",khDVqt:"xuxw1ft",$$css:true},list:{k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",kOIVth:"x13hh4mm",kB88ic:"xe8uvvx",kogj98:"x1ghz6dp",kmVPX3:"x1717udv",$$css:true},root:{k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",kOIVth:"xp4ho6d",k7Eaqz:"xeuugli",$$css:true},value:{kMwMTN:"x14tvo57",kmuXW:"x2lah0s",kcqcaj:"xss6m8b",k63SB2:"xuku2lm",kVAEAm:"x1n2onr6",$$css:true}};
@@ -0,0 +1,12 @@
1
+ import type { ComponentPropsWithRef, ReactNode } from "react";
2
+ import type { Closed } from "../../closed";
3
+ type Part<T> = Omit<Closed<T>, "children" | "data-slot" | "role"> & {
4
+ children: ReactNode;
5
+ };
6
+ export type BlockquoteProps = Part<ComponentPropsWithRef<"figure">>;
7
+ export type BlockquoteContentProps = Part<ComponentPropsWithRef<"blockquote">>;
8
+ export type BlockquoteAttributionProps = Part<ComponentPropsWithRef<"figcaption">>;
9
+ export declare function Blockquote({ children, ref: forwardedRef, ...rest }: BlockquoteProps): import("react").JSX.Element;
10
+ export declare function BlockquoteContent({ children, ref: forwardedRef, ...rest }: BlockquoteContentProps): import("react").JSX.Element;
11
+ export declare function BlockquoteAttribution({ children, ref: forwardedRef, ...rest }: BlockquoteAttributionProps): import("react").JSX.Element;
12
+ export {};
@@ -0,0 +1 @@
1
+ import{props}from"@stylexjs/stylex";import{typeRoles}from"../../styles/typography.styles";import{blockquoteStyles}from"./blockquote.styles";import{jsx as _jsx}from"react/jsx-runtime";function stripReservedProps(attributes){for(const prop of["className","data-slot","role","style"]){Reflect.deleteProperty(attributes,prop);}}export function Blockquote({children,ref:forwardedRef,...rest}){stripReservedProps(rest);return/*#__PURE__*/_jsx("figure",{...rest,"data-slot":"blockquote",ref:forwardedRef,...props(blockquoteStyles.root,typeRoles.body),children:children});}export function BlockquoteContent({children,ref:forwardedRef,...rest}){stripReservedProps(rest);return/*#__PURE__*/_jsx("blockquote",{...rest,"data-slot":"blockquote-content",ref:forwardedRef,...props(blockquoteStyles.content,typeRoles.body),children:children});}export function BlockquoteAttribution({children,ref:forwardedRef,...rest}){stripReservedProps(rest);return/*#__PURE__*/_jsx("figcaption",{...rest,"data-slot":"blockquote-attribution",ref:forwardedRef,...props(blockquoteStyles.attribution,typeRoles.body),children:children});}
@@ -0,0 +1 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/colors.stylex";import{colors}from"../../styles/colors.stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";export const blockquoteStyles={attribution:{kMwMTN:"x125omll",k7Eaqz:"xeuugli",kHjlTd:"xj0a0fe",$$css:true},content:{kGJrpR:"x1uo4xkn",kVhnKS:"x1t7ytsu",k2ei4v:"xyumdvf",kogj98:"x1ghz6dp",k7Eaqz:"xeuugli",kHjlTd:"xj0a0fe",kZCmMZ:"x14s0xwm",$$css:true},root:{k1xSpc:"xrvj5dj",kOIVth:"xiw8qbs",kogj98:"x1ghz6dp",k7Eaqz:"xeuugli",$$css:true}};
@@ -0,0 +1,4 @@
1
+ import { useRender } from "@base-ui/react/use-render";
2
+ import type { Closed } from "../../closed";
3
+ export type BreadcrumbLinkProps = Closed<useRender.ComponentProps<"a">>;
4
+ export declare function BreadcrumbLink({ children, ref: forwardedRef, render, ...rest }: BreadcrumbLinkProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
@@ -0,0 +1 @@
1
+ "use client";import{mergeProps}from"@base-ui/react/merge-props";import{useRender}from"@base-ui/react/use-render";import{props}from"@stylexjs/stylex";import{controlLabel}from"../../control-label";import{protectRenderSlot}from"../../render-utils";import{breadcrumbStyles}from"./breadcrumb.styles";export function BreadcrumbLink({children,ref:forwardedRef,render,...rest}){return useRender({defaultTagName:"a",props:mergeProps(props(breadcrumbStyles.link,breadcrumbStyles.iconContent),rest,{children:controlLabel(children),"data-slot":"breadcrumb-link"}),ref:forwardedRef,render:protectRenderSlot("breadcrumb-link",render)});}
@@ -0,0 +1,16 @@
1
+ import type { ComponentPropsWithRef } from "react";
2
+ import type { Closed } from "../../closed";
3
+ export type { BreadcrumbLinkProps } from "./breadcrumb-link";
4
+ export { BreadcrumbLink } from "./breadcrumb-link";
5
+ export type BreadcrumbProps = Closed<ComponentPropsWithRef<"nav">>;
6
+ export type BreadcrumbListProps = Closed<ComponentPropsWithRef<"ol">>;
7
+ export type BreadcrumbItemProps = Closed<ComponentPropsWithRef<"li">>;
8
+ export type BreadcrumbPageProps = Closed<ComponentPropsWithRef<"span">>;
9
+ export type BreadcrumbSeparatorProps = Closed<ComponentPropsWithRef<"li">>;
10
+ export type BreadcrumbEllipsisProps = Closed<ComponentPropsWithRef<"span">>;
11
+ export declare function Breadcrumb({ "aria-label": ariaLabel, children, ref: forwardedRef, ...rest }: BreadcrumbProps): import("react").JSX.Element;
12
+ export declare function BreadcrumbList({ children, ref: forwardedRef, ...rest }: BreadcrumbListProps): import("react").JSX.Element;
13
+ export declare function BreadcrumbItem({ children, ref: forwardedRef, ...rest }: BreadcrumbItemProps): import("react").JSX.Element;
14
+ export declare function BreadcrumbPage({ children, ref: forwardedRef, ...rest }: BreadcrumbPageProps): import("react").JSX.Element;
15
+ export declare function BreadcrumbSeparator({ children, ref: forwardedRef, ...rest }: BreadcrumbSeparatorProps): import("react").JSX.Element;
16
+ export declare function BreadcrumbEllipsis({ children: _children, ref: forwardedRef, ...rest }: BreadcrumbEllipsisProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import{props}from"@stylexjs/stylex";import{controlLabel}from"../../control-label";import{IconChevronRight,IconDots}from"../../icons";import{breadcrumbStyles}from"./breadcrumb.styles";import{jsx as _jsx}from"react/jsx-runtime";// biome-ignore lint/performance/noBarrelFile: Keep the link API beside the native breadcrumb anatomy.
2
+ export{BreadcrumbLink}from"./breadcrumb-link";function ChevronIcon(){return/*#__PURE__*/_jsx(IconChevronRight,{"aria-hidden":"true",focusable:"false",...props(breadcrumbStyles.separatorIcon),size:"1em"});}export function Breadcrumb({"aria-label":ariaLabel="breadcrumb",children,ref:forwardedRef,...rest}){return/*#__PURE__*/_jsx("nav",{...rest,"aria-label":ariaLabel,"data-slot":"breadcrumb",ref:forwardedRef,...props(breadcrumbStyles.root),children:children});}export function BreadcrumbList({children,ref:forwardedRef,...rest}){return/*#__PURE__*/_jsx("ol",{...rest,"data-slot":"breadcrumb-list",ref:forwardedRef,...props(breadcrumbStyles.list),children:children});}export function BreadcrumbItem({children,ref:forwardedRef,...rest}){return/*#__PURE__*/_jsx("li",{...rest,"data-slot":"breadcrumb-item",ref:forwardedRef,...props(breadcrumbStyles.item,breadcrumbStyles.iconContent),children:children});}export function BreadcrumbPage({children,ref:forwardedRef,...rest}){return/*#__PURE__*/_jsx("span",{"aria-current":"page",...rest,"data-slot":"breadcrumb-page",ref:forwardedRef,...props(breadcrumbStyles.page,breadcrumbStyles.iconContent),children:controlLabel(children)});}export function BreadcrumbSeparator({children,ref:forwardedRef,...rest}){return/*#__PURE__*/_jsx("li",{"aria-hidden":"true",role:"presentation",...rest,"data-slot":"breadcrumb-separator",ref:forwardedRef,...props(breadcrumbStyles.separator,breadcrumbStyles.iconContent),children:children??/*#__PURE__*/_jsx(ChevronIcon,{})});}export function BreadcrumbEllipsis({children:_children,ref:forwardedRef,...rest}){return/*#__PURE__*/_jsx("span",{"aria-hidden":"true",role:"presentation",...rest,"data-slot":"breadcrumb-ellipsis",ref:forwardedRef,...props(breadcrumbStyles.ellipsis),children:/*#__PURE__*/_jsx(IconDots,{"aria-hidden":"true",focusable:"false",size:16})});}
@@ -0,0 +1 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/colors.stylex";import{colors}from"../../styles/colors.stylex";import"../../styles/conditions.stylex";import{conditions}from"../../styles/conditions.stylex";import"../../styles/interaction.stylex";import{borderWidth,focus,focusMotion}from"../../styles/interaction.stylex";import"../../styles/motion.stylex";import{duration}from"../../styles/motion.stylex";import"../../styles/shape.stylex";import{shape}from"../../styles/shape.stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";import"../../styles/typography.stylex";import{fontSize,fontWeight,lineHeight}from"../../styles/typography.stylex";export const breadcrumbStyles={ellipsis:{kGNEyG:"x6s0dn4",k1xSpc:"x3nfvp2",kGuDYH:"x1ws78te",kjj79g:"xl56j7k",kLWn49:"x1wrb330",kfSwDN:"x87ps6o",$$css:true},iconContent:{kmuXW:"xsnv01j",kZKoxP:"xgaasie",kzqmXN:"xwe2phr",$$css:true},item:{kGNEyG:"x6s0dn4",k1xSpc:"x3nfvp2",kOIVth:"x13hh4mm",k7Eaqz:"xeuugli",$$css:true},link:{kGNEyG:"x6s0dn4",k44tkh:"x1iha7go",kKVMdj:"x1b5t0b2",kaIpWk:"xmfy946",kMwMTN:"xzr6qem x1heor9g",k1xSpc:"x3nfvp2",kOIVth:"x13hh4mm",k7Eaqz:"xeuugli",kjBf7l:"x4dprnk x1uczgqu",kInvED:"x1w1ofmy",k3XXqK:"xaatb59",kMeerF:"xm9seqh x1k57tk5",kHjlTd:"xj0a0fe",kybGjl:"x1hl2dhg",kIyJzY:"x1e471i8 x1j5v3x2",k1ekBW:"xt3l3uh",$$css:true},list:{kGNEyG:"x6s0dn4",k1xSpc:"x78zum5",kwnvtZ:"x1a02dak",kOIVth:"xp4ho6d",kB88ic:"xe8uvvx",kogj98:"x1ghz6dp",k7Eaqz:"xeuugli",kmVPX3:"x1717udv",$$css:true},page:{kGNEyG:"x6s0dn4",kMwMTN:"x14tvo57",k1xSpc:"x3nfvp2",k63SB2:"x1lo1l87",kOIVth:"x13hh4mm",k7Eaqz:"xeuugli",kHjlTd:"xj0a0fe",$$css:true},root:{kMwMTN:"x125omll",kGuDYH:"xlh8hku",kLWn49:"x2xzzt7",$$css:true},separator:{kGNEyG:"x6s0dn4",kMwMTN:"x125omll",k1xSpc:"x3nfvp2",kUk6DE:"x1okw0bk",kGuDYH:"xlh8hku",kjj79g:"xl56j7k",kfSwDN:"x87ps6o",$$css:true},separatorIcon:{kZKoxP:"x1l36t39",k3aq6I:"x19axjrm x23xq2a x1c071of",kzqmXN:"xcdlrvm",$$css:true}};
@@ -0,0 +1,3 @@
1
+ import{defineVars}from"@stylexjs/stylex";// The brand fill darkens toward this shade on hover and press. Selected
2
+ // states that map the fill to a system color override it to keep it solid.
3
+ export const buttonColors={brandShade:"var(--xo385wq)",__varGroupHash__:"x1a7nltr"};
@@ -0,0 +1,16 @@
1
+ :is([data-slot="button"], [data-slot="toolbar-button"])
2
+ > svg:not([data-slot="button-loading-indicator"]) {
3
+ flex-shrink: 0;
4
+ width: 1em;
5
+ height: 1em;
6
+ }
7
+
8
+ :is([data-slot="button"], [data-slot="toolbar-button"])[data-loading]
9
+ > :not([data-slot="button-loading-indicator"]) {
10
+ opacity: 0;
11
+ }
12
+
13
+ /* A toolbar scrolls instead of squeezing its buttons onto two lines. */
14
+ [data-slot="toolbar-button"] {
15
+ flex-shrink: 0;
16
+ }
File without changes
@@ -0,0 +1,27 @@
1
+ import { Button as BaseButton } from "@base-ui/react/button";
2
+ import type { ComponentPropsWithRef, ReactNode } from "react";
3
+ import "./button.css";
4
+ type BaseButtonProps = ComponentPropsWithRef<typeof BaseButton>;
5
+ type AccessibleIconName = {
6
+ "aria-label": string;
7
+ "aria-labelledby"?: string;
8
+ } | {
9
+ "aria-label"?: string;
10
+ "aria-labelledby": string;
11
+ };
12
+ export type ButtonVariant = "brand" | "default" | "destructive" | "destructive-outline" | "ghost" | "link" | "outline" | "secondary";
13
+ export type ButtonSize = "default" | "icon" | "icon-lg" | "icon-sm" | "icon-xl" | "icon-xs" | "lg" | "sm" | "xl" | "xs";
14
+ type SharedButtonProps = Omit<BaseButtonProps, "children" | "className" | "disabled" | "ref" | "style"> & {
15
+ children?: ReactNode;
16
+ disabled?: boolean;
17
+ loading?: boolean;
18
+ ref?: BaseButtonProps["ref"];
19
+ variant?: ButtonVariant;
20
+ };
21
+ export type ButtonProps = SharedButtonProps & ({
22
+ size?: Exclude<ButtonSize, "icon" | "icon-lg" | "icon-sm" | "icon-xl" | "icon-xs">;
23
+ } | ({
24
+ size: "icon" | "icon-lg" | "icon-sm" | "icon-xl" | "icon-xs";
25
+ } & AccessibleIconName));
26
+ export declare function Button(buttonProps: ButtonProps): import("react").JSX.Element;
27
+ export {};
@@ -0,0 +1 @@
1
+ "use client";import{Button as BaseButton}from"@base-ui/react/button";import{props}from"@stylexjs/stylex";import{controlLabel}from"../../control-label";import{LoadingIndicator}from"../../loading-indicator";import"./button.css";import{buttonStyles}from"./button.styles";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const sizeStyles={default:buttonStyles.defaultSize,icon:buttonStyles.icon,"icon-lg":buttonStyles["icon-lg"],"icon-sm":buttonStyles["icon-sm"],"icon-xl":buttonStyles["icon-xl"],"icon-xs":buttonStyles["icon-xs"],lg:buttonStyles.lg,sm:buttonStyles.sm,xl:buttonStyles.xl,xs:buttonStyles.xs};const loadingIndicatorStyles={brand:buttonStyles.loadingIndicatorBrand,default:buttonStyles.loadingIndicatorDefault,destructive:buttonStyles.loadingIndicatorDestructive,"destructive-outline":buttonStyles.loadingIndicatorDestructiveOutline,ghost:buttonStyles.loadingIndicatorContent,link:buttonStyles.loadingIndicatorContent,outline:buttonStyles.loadingIndicatorContent,secondary:buttonStyles.loadingIndicatorSecondary};const interactionStyles={brand:buttonStyles.interactionBrand,default:buttonStyles.interactionFilled,destructive:buttonStyles.interactionDestructive,"destructive-outline":buttonStyles.interactionDestructiveOutline,ghost:buttonStyles.interactionGhost,link:buttonStyles.interactionLink,outline:buttonStyles.interactionOutline,secondary:buttonStyles.interactionSecondary};function getButtonType(render,type){return render?type:type??"button";}function getLoadingIndicatorStyle(variant){return loadingIndicatorStyles[variant];}function getButtonInteractionStyles(isDisabled,variant){return isDisabled?[buttonStyles.disabled]:[buttonStyles.press,interactionStyles[variant]];}export function Button(buttonProps){const{children,disabled,loading=false,ref:forwardedRef,size="default",variant="default",...rest}=buttonProps;const isLoading=loading;const isDisabled=Boolean(disabled||isLoading);const sizeStyle=sizeStyles[size];const loadingIndicatorStyle=getLoadingIndicatorStyle(variant);const stateStyles=getButtonInteractionStyles(isDisabled,variant);const{render,type,...nativeProps}=rest;return/*#__PURE__*/_jsxs(BaseButton,{"data-slot":"button",...nativeProps,"aria-busy":isLoading||undefined,"data-loading":isLoading?"":undefined,disabled:isDisabled,focusableWhenDisabled:buttonProps.focusableWhenDisabled??isLoading,nativeButton:buttonProps.nativeButton,ref:forwardedRef,render:render,type:getButtonType(render,type),...props(buttonStyles.base,buttonStyles[variant],sizeStyle,buttonStyles.loading,isLoading&&buttonStyles.loadingContent,...stateStyles),children:[controlLabel(children),isLoading?/*#__PURE__*/_jsx(LoadingIndicator,{"aria-hidden":"true","data-slot":"button-loading-indicator",focusable:false,indicatorStyles:[buttonStyles.loadingIndicator,loadingIndicatorStyle]}):null]});}
@@ -0,0 +1,3 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/colors.stylex";import{colors}from"../../styles/colors.stylex";import"../../styles/conditions.stylex";import{conditions}from"../../styles/conditions.stylex";import"../../styles/dimensions.stylex";import{controlSize,glyphSize}from"../../styles/dimensions.stylex";import"../../styles/fonts.stylex";import{fonts}from"../../styles/fonts.stylex";import"../../styles/interaction.stylex";import{borderWidth,focus,focusMotion,focusOutline,opacity}from"../../styles/interaction.stylex";import"../../styles/motion.stylex";import{duration,easing,pressSurface}from"../../styles/motion.stylex";import"../../styles/shadows.stylex";import{shadows}from"../../styles/shadows.stylex";import"../../styles/shape.stylex";import{shape}from"../../styles/shape.stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";import"../../styles/typography.stylex";import{fontSize,fontWeight,letterSpacing,lineHeight}from"../../styles/typography.stylex";import"./button-colors.stylex";import{buttonColors}from"./button-colors.stylex";const HL="inset 0 1px 0 oklch(1 0 0 / 0.16)";const HLB="inset 0 1px 0 oklch(1 0 0 / 0.2)";// Labels trim to their cap box. A wrapped label needs the trimmed leading
2
+ // back as padding; a single line keeps the size padding.
3
+ const wrapLeading="calc((1lh - 1cap) / 2)";const ghostInset={hover:"2px",press:"-1px",rest:"4px"};export const buttonStyles={base:{kfXFYZ:"xhkbipy",kBjukC:"xjp5e1j",kKGWhT:"x10ojri0",kgXx4x:"x3glmed",kCyh2J:"xib5pzt",kj4x2v:"x1fo1fc9",k5Ohv7:"x3kfev1",kQmYQc:"xtql2tq",kgeoSG:"x1cpjm7i",kFcpXp:"x1h5trzc",km8f2m:"xkk1bqk",kEoFBp:"x1hmns74",kKXxxB:"x91iiuu",k7KCAZ:"x16nmtoe",kqUdNP:"x1vaxkjw",kxmVGU:"xy5mcqj",kGNEyG:"x6s0dn4",kSGwAc:"xamitd3",k44tkh:"x1iha7go",kKVMdj:"x1b5t0b2",kWkggS:"xjbqb8w",kVAM5u:"x9r1u3d",ksu8eU:"x1y0btm7",kMzoRj:"x1cdonsl",kB7OPa:"x9f619",kkrTdU:"x1s07b3s x1ypdohk",k1xSpc:"x3nfvp2",kwnvtZ:"x1a02dak",kMv6JI:"xjb2p0i",kGuDYH:"x12ama9c",kC21eY:"x2vx8kg",k63SB2:"x1lo1l87",kOIVth:"xp4ho6d",kHBbk8:"xc8icb0",kjj79g:"xl56j7k",kLWn49:"x1wrb330",ks0D6T:"x193iq5w",kjBf7l:"x4dprnk x1uczgqu",kInvED:"x7jjmpn x1w1ofmy",k3XXqK:"x9v5kkp xzc55om",kMeerF:"xm9seqh x1vhx2qj",kHjlTd:"x1mzt3pk",kVAEAm:"x1n2onr6",kybGjl:"x1hl2dhg",kIyJzY:"x1e471i8 x1j5v3x2",k1ekBW:"x6ksxqd",kAMwcw:"xvhdtae",kfSwDN:"x87ps6o",$$css:true},brand:{kLkRvE:"x5f8fso",kfXFYZ:"x12s1v33",ktNmms:"x1nk83oa",kMwMTN:"xa34c4n",$$css:true},default:{kLkRvE:"x7flfcv",kfXFYZ:"xpf34ut",ktNmms:"xyo47r1",kMwMTN:"x1oiqaqn",kSiTet:"x1hc1fzr",$$css:true},defaultSize:{kT0f0o:"x14h6bio",kVL7Gh:"x1r18r8a",kfmiAY:"x3q61c4",krdFHd:"x1p0g4lk",kGuDYH:"x12ama9c",k63SB2:"x1lo1l87",kAzted:"x1atkrcx",k8WAf4:"xwvz0cp",kg3NbH:"x1mw7yl3",$$css:true},destructive:{kLkRvE:"x1iv8s4q",kfXFYZ:"x1fzqy7e",ktNmms:"xyo47r1",kMwMTN:"x192wzsp",kSiTet:"x1hc1fzr",$$css:true},"destructive-outline":{kLkRvE:"x1p58mzm",kfXFYZ:"x1fzqy7e",ktNmms:"xtf8gdx",kMwMTN:"x1rncs7t",kSiTet:"x1hc1fzr",$$css:true},disabled:{kkrTdU:"x1h6gzvc",kSiTet:"xd57v9i",$$css:true},ghost:{kLkRvE:"xtr8pbw",kFcpXp:"x1dxl39w",k5QlbN:"x124lp2h",kMwMTN:"x14tvo57",$$css:true},icon:{kT0f0o:"x14h6bio",kVL7Gh:"x1r18r8a",kfmiAY:"x3q61c4",krdFHd:"x1p0g4lk",kGuDYH:"x15hey71",kZKoxP:"x1wtl264",kAzted:"x2lwn1j",k7Eaqz:"xeuugli",kmVPX3:"x1717udv",kzqmXN:"xkpcdi8",$$css:true},"icon-lg":{kT0f0o:"x14h6bio",kVL7Gh:"x1r18r8a",kfmiAY:"x3q61c4",krdFHd:"x1p0g4lk",kGuDYH:"x15hey71",kZKoxP:"x1nwj9bq",kAzted:"x2lwn1j",k7Eaqz:"xeuugli",kmVPX3:"x1717udv",kzqmXN:"x1kmmwjt",$$css:true},"icon-sm":{kT0f0o:"x1hia2b7",kVL7Gh:"x1dz734k",kfmiAY:"x2dv6dr",krdFHd:"xn5rixj",kGuDYH:"xopw8l1",kZKoxP:"x1sscbzi",kAzted:"x2lwn1j",k7Eaqz:"xeuugli",kmVPX3:"x1717udv",kzqmXN:"x14pcf9u",$$css:true},"icon-xl":{kT0f0o:"x14h6bio",kVL7Gh:"x1r18r8a",kfmiAY:"x3q61c4",krdFHd:"x1p0g4lk",kGuDYH:"x1cpzgpn",kZKoxP:"x155ebd8",kAzted:"x2lwn1j",k7Eaqz:"xeuugli",kmVPX3:"x1717udv",kzqmXN:"x1idgsbn",$$css:true},"icon-xs":{kT0f0o:"x1hia2b7",kVL7Gh:"x1dz734k",kfmiAY:"x2dv6dr",krdFHd:"xn5rixj",kGuDYH:"x1eddukg",kZKoxP:"x15ja3qx",kAzted:"x2lwn1j",k7Eaqz:"xeuugli",kmVPX3:"x1717udv",kzqmXN:"xdr7e86",$$css:true},interactionBrand:{kLkRvE:"x1sattiy x1wmmqb1 x5f8fso",ktNmms:"xmzakdu xf6rpzq x1nk83oa",$$css:true},interactionDestructive:{kLkRvE:"xuc6v1o x1rguitc x1iv8s4q",ktNmms:"xmzakdu x11vu4nf xyo47r1",$$css:true},interactionDestructiveOutline:{kLkRvE:"xjhthu2 x12pxzgx x1p58mzm",ktNmms:"xmzakdu xqay70b xtf8gdx",$$css:true},interactionFilled:{kLkRvE:"x1id3q68 x1y8g2bh x7flfcv",ktNmms:"xmzakdu x11vu4nf xyo47r1",$$css:true},interactionGhost:{kFcpXp:"x1lci40m x1iylmqd x1dxl39w",k5QlbN:"x12vk50i x1ldp1s3 x124lp2h",kKXxxB:"x1htb302 x1wpd706 x91iiuu",kqUdNP:"x14e9nd4 x1vaxkjw",$$css:true},interactionLink:{kybGjl:"x1a2ycjq x1hl2dhg",$$css:true},interactionOutline:{kLkRvE:"xvhw8o9 x1xziqyu x1p58mzm",kfXFYZ:"x1b5ku4a x12gxl8w x15a8tab",ktNmms:"xmzakdu xqay70b xtf8gdx",$$css:true},interactionSecondary:{kLkRvE:"xvhw8o9 x1xziqyu x1wdhtdm",$$css:true},lg:{kT0f0o:"x14h6bio",kVL7Gh:"x1r18r8a",kfmiAY:"x3q61c4",krdFHd:"x1p0g4lk",kGuDYH:"x12ama9c",k63SB2:"x1lo1l87",kAzted:"x12eq223",k8WAf4:"x14okotz",kg3NbH:"x128qzdt",$$css:true},link:{kWkggS:"xjbqb8w",kVAM5u:"x9r1u3d",kMwMTN:"x14tvo57",kybGjl:"x1hl2dhg",kcSHmL:"xwsnend",$$css:true},loading:{kVAEAm:"x1n2onr6",$$css:true},loadingContent:{kMwMTN:"x19co3pv",$$css:true},loadingIndicator:{kZKoxP:"x1a05dn3",kpwlN0:"x10a8y8t",kogj98:"x1bpp3o7",kVAEAm:"x10l6tqk",kzqmXN:"xmpb2e4",$$css:true},loadingIndicatorBrand:{kMwMTN:"xa34c4n",$$css:true},loadingIndicatorContent:{kMwMTN:"x14tvo57",$$css:true},loadingIndicatorDefault:{kMwMTN:"x1oiqaqn",$$css:true},loadingIndicatorDestructive:{kMwMTN:"x192wzsp",$$css:true},loadingIndicatorDestructiveOutline:{kMwMTN:"x1rncs7t",$$css:true},loadingIndicatorSecondary:{kMwMTN:"xbb0na1",$$css:true},outline:{kLkRvE:"x1p58mzm",kfXFYZ:"x15a8tab",ktNmms:"xtf8gdx",kMwMTN:"x14tvo57",$$css:true},press:{kFcpXp:"xcrthc2 x1h5trzc",kKXxxB:"x1htb302 x1wpd706 x91iiuu",kqUdNP:"x14e9nd4 x1vaxkjw",$$css:true},secondary:{kLkRvE:"x1wdhtdm",kMwMTN:"xbb0na1",$$css:true},sm:{kT0f0o:"x1hia2b7",kVL7Gh:"x1dz734k",kfmiAY:"x2dv6dr",krdFHd:"xn5rixj",kGuDYH:"xlh8hku",k63SB2:"xuku2lm",kOIVth:"x13hh4mm",kLWn49:"x2xzzt7",kAzted:"x1vigsvi",k8WAf4:"x11k7c67",kg3NbH:"x1mw7yl3",$$css:true},xl:{kT0f0o:"x14h6bio",kVL7Gh:"x1r18r8a",kfmiAY:"x3q61c4",krdFHd:"x1p0g4lk",kGuDYH:"x12ama9c",k63SB2:"x1lo1l87",kAzted:"xe1x6jq",k8WAf4:"x1qm7hpq",kg3NbH:"x128qzdt",$$css:true},xs:{kT0f0o:"x1hia2b7",kVL7Gh:"x1dz734k",kfmiAY:"x2dv6dr",krdFHd:"xn5rixj",kGuDYH:"x1ws78te",k63SB2:"xuku2lm",kOIVth:"x13hh4mm",kb6lSQ:"xdee7k9",kLWn49:"x76y1r9",kAzted:"x15j2gbd",k8WAf4:"x1n27xti",kg3NbH:"xr83e9t",$$css:true}};
@@ -0,0 +1,115 @@
1
+ /* Triggers rendered as Buttons (Menu, Popover, Dialog) carry their own slot,
2
+ such as menu-trigger, so they join the group too. First and last are
3
+ counted among items only: an open popup inserts hidden focus guards. */
4
+ [data-slot="button-group"]
5
+ > :is([data-slot="button"], [data-slot$="-trigger"]) {
6
+ flex-shrink: 0;
7
+ align-self: stretch !important;
8
+ white-space: nowrap;
9
+ }
10
+
11
+ [data-slot="button-group"]
12
+ > :is([data-slot="button"], [data-slot$="-trigger"]):focus-visible {
13
+ z-index: 1;
14
+ }
15
+
16
+ [data-slot="button-group"]
17
+ > :is([data-slot="button"], [data-slot$="-trigger"])
18
+ ~ :is([data-slot="button"], [data-slot$="-trigger"])::after {
19
+ position: absolute;
20
+ pointer-events: none;
21
+ content: "";
22
+ background-color: var(--mizen-joined-divider-color);
23
+ }
24
+
25
+ [data-slot="button-group"]:where([data-orientation="horizontal"])
26
+ > :is([data-slot="button"], [data-slot$="-trigger"])
27
+ ~ :is([data-slot="button"], [data-slot$="-trigger"])::after {
28
+ inset-block: var(--mizen-joined-divider-inset);
29
+ inset-inline-start: 0;
30
+ inline-size: 1px;
31
+ }
32
+
33
+ [data-slot="button-group"]:where([data-orientation="vertical"])
34
+ > :is([data-slot="button"], [data-slot$="-trigger"])
35
+ ~ :is([data-slot="button"], [data-slot$="-trigger"])::after {
36
+ inset-block-start: 0;
37
+ inset-inline: var(--mizen-joined-divider-inset);
38
+ block-size: 1px;
39
+ }
40
+
41
+ /* System-owned attached geometry overrides StyleX's atomic radius priority. */
42
+ [data-slot="button-group"]:where([data-orientation="horizontal"])
43
+ > :is([data-slot="button"], [data-slot$="-trigger"])
44
+ ~ :is([data-slot="button"], [data-slot$="-trigger"]) {
45
+ margin-inline-start: -1px;
46
+ border-inline-start-color: transparent !important;
47
+ border-start-start-radius: 0 !important;
48
+ border-end-start-radius: 0 !important;
49
+ }
50
+
51
+ [data-slot="button-group"]:where([data-orientation="horizontal"])
52
+ > :is([data-slot="button"], [data-slot$="-trigger"]):has(
53
+ ~ :is([data-slot="button"], [data-slot$="-trigger"])
54
+ ) {
55
+ border-inline-end-color: transparent !important;
56
+ border-start-end-radius: 0 !important;
57
+ border-end-end-radius: 0 !important;
58
+ }
59
+
60
+ [data-slot="button-group"]:where([data-orientation="vertical"])
61
+ > :is([data-slot="button"], [data-slot$="-trigger"])
62
+ ~ :is([data-slot="button"], [data-slot$="-trigger"]) {
63
+ margin-block-start: -1px;
64
+ border-block-start-color: transparent !important;
65
+ border-start-start-radius: 0 !important;
66
+ border-start-end-radius: 0 !important;
67
+ }
68
+
69
+ [data-slot="button-group"]:where([data-orientation="vertical"])
70
+ > :is([data-slot="button"], [data-slot$="-trigger"]):has(
71
+ ~ :is([data-slot="button"], [data-slot$="-trigger"])
72
+ ) {
73
+ border-block-end-color: transparent !important;
74
+ border-end-start-radius: 0 !important;
75
+ border-end-end-radius: 0 !important;
76
+ }
77
+
78
+ /* Joined edges also hide the surface layer's border. */
79
+ [data-slot="button-group"]:where([data-orientation="horizontal"])
80
+ > :is([data-slot="button"], [data-slot$="-trigger"])
81
+ ~ :is([data-slot="button"], [data-slot$="-trigger"])::before {
82
+ border-inline-start-color: transparent !important;
83
+ }
84
+
85
+ [data-slot="button-group"]:where([data-orientation="horizontal"])
86
+ > :is([data-slot="button"], [data-slot$="-trigger"]):has(
87
+ ~ :is([data-slot="button"], [data-slot$="-trigger"])
88
+ )::before {
89
+ border-inline-end-color: transparent !important;
90
+ }
91
+
92
+ [data-slot="button-group"]:where([data-orientation="vertical"])
93
+ > :is([data-slot="button"], [data-slot$="-trigger"])
94
+ ~ :is([data-slot="button"], [data-slot$="-trigger"])::before {
95
+ border-block-start-color: transparent !important;
96
+ }
97
+
98
+ [data-slot="button-group"]:where([data-orientation="vertical"])
99
+ > :is([data-slot="button"], [data-slot$="-trigger"]):has(
100
+ ~ :is([data-slot="button"], [data-slot$="-trigger"])
101
+ )::before {
102
+ border-block-end-color: transparent !important;
103
+ }
104
+
105
+ /* Pressing a joined button contracts only across the group, so the shared
106
+ outline stays continuous along it. */
107
+ [data-slot="button-group"]:where([data-orientation="horizontal"])
108
+ > :is([data-slot="button"], [data-slot$="-trigger"]):active::before {
109
+ inset-inline: -1px !important;
110
+ }
111
+
112
+ [data-slot="button-group"]:where([data-orientation="vertical"])
113
+ > :is([data-slot="button"], [data-slot$="-trigger"]):active::before {
114
+ inset-block: -1px !important;
115
+ }
@@ -0,0 +1,8 @@
1
+ import type { ComponentPropsWithRef, ReactElement } from "react";
2
+ import "./button-group.css";
3
+ import type { Closed } from "../../closed";
4
+ export type ButtonGroupOrientation = "horizontal" | "vertical";
5
+ export type ButtonGroupProps = Omit<Closed<ComponentPropsWithRef<"div">>, "data-orientation" | "data-slot" | "role"> & {
6
+ orientation?: ButtonGroupOrientation;
7
+ };
8
+ export declare function ButtonGroup({ children, orientation, ref: forwardedRef, ...rest }: ButtonGroupProps): ReactElement;
@@ -0,0 +1,3 @@
1
+ /// <reference path="../button/button.css.d.ts" />
2
+ import{props}from"@stylexjs/stylex";import"./button-group.css";import{buttonGroupStyles}from"./button-group.styles";import{jsx as _jsx}from"react/jsx-runtime";export function ButtonGroup({children,orientation="horizontal",ref:forwardedRef,...rest}){Reflect.deleteProperty(rest,"className");Reflect.deleteProperty(rest,"data-orientation");Reflect.deleteProperty(rest,"data-slot");Reflect.deleteProperty(rest,"role");Reflect.deleteProperty(rest,"style");return(/*#__PURE__*/// biome-ignore lint/a11y/useSemanticElements: This groups actions rather than form fields.
3
+ _jsx("div",{...rest,"data-orientation":orientation,"data-slot":"button-group",ref:forwardedRef,role:"group",...props(buttonGroupStyles.base,orientation==="vertical"?buttonGroupStyles.vertical:buttonGroupStyles.horizontal),children:children}));}
@@ -0,0 +1 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/interaction.stylex";import{borderWidth,focus}from"../../styles/interaction.stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";export const buttonGroupStyles={base:{"--mizen-joined-divider-color":"x1iscvl","--mizen-joined-divider-inset":"x1h9cdsn",kGNEyG:"x1qjc9v5",k1xSpc:"x3nfvp2",ks0D6T:"x193iq5w",k7Eaqz:"xeuugli",kzqmXN:"xeq5yr9",$$css:true},horizontal:{kXwgrk:"x1q0g3np",kXHlph:"xw2csxc",k8WAf4:"xzvoi89",kg3NbH:"x1ya0gd1",katHQp:"x1g2bcle",$$css:true},vertical:{kXwgrk:"xdt5ytf",$$css:true}};
@@ -0,0 +1,2 @@
1
+ import{DayButton as DayPickerDayButton,MonthGrid as DayPickerMonthGrid,NextMonthButton as DayPickerNextMonthButton,PreviousMonthButton as DayPickerPreviousMonthButton}from"@daypicker/react";import{props}from"@stylexjs/stylex";import{controlLabel}from"../../control-label";import{IconChevronDown,IconChevronLeft,IconChevronRight,IconChevronUp}from"../../icons";import{buttonStyles}from"../button/button.styles";import{calendarStyles}from"./calendar.styles";import{useCalendarGridContext}from"./calendar-context";import{CalendarMonthsDropdown,CalendarYearsDropdown}from"./calendar-dropdowns";import{jsx as _jsx}from"react/jsx-runtime";const chevronIcons={down:IconChevronDown,left:IconChevronLeft,right:IconChevronRight,up:IconChevronUp};function CalendarChevron({disabled,orientation="right",size=16}){const Icon=chevronIcons[orientation];return/*#__PURE__*/_jsx(Icon,{"aria-hidden":"true","data-disabled":disabled?"":undefined,"data-orientation":orientation,"data-slot":"calendar-chevron",focusable:false,...props(calendarStyles.chevron),size:size});}function CalendarPreviousMonthButton(buttonProps){return/*#__PURE__*/_jsx(DayPickerPreviousMonthButton,{...buttonProps,"data-slot":"calendar-previous",...getNavigationStyles(Boolean(buttonProps.disabled||buttonProps["aria-disabled"]))});}function CalendarNextMonthButton(buttonProps){return/*#__PURE__*/_jsx(DayPickerNextMonthButton,{...buttonProps,"data-slot":"calendar-next",...getNavigationStyles(Boolean(buttonProps.disabled||buttonProps["aria-disabled"]))});}function CalendarMonthGrid(gridProps){const context=useCalendarGridContext();const baseAriaLabel=gridProps["aria-label"];let combinedAriaLabel=baseAriaLabel;if(context?.ariaLabel){combinedAriaLabel=baseAriaLabel?`${context.ariaLabel}, ${baseAriaLabel}`:context.ariaLabel;}return/*#__PURE__*/_jsx(DayPickerMonthGrid,{...gridProps,"aria-describedby":context?.ariaDescribedBy,"aria-invalid":context?.invalid?true:undefined,"aria-label":combinedAriaLabel,"aria-labelledby":context?.ariaLabelledBy,"aria-readonly":context?.readOnly?true:undefined});}export const calendarComponents={Chevron:CalendarChevron,DayButton:CalendarDayButton,MonthGrid:CalendarMonthGrid,MonthsDropdown:CalendarMonthsDropdown,NextMonthButton:CalendarNextMonthButton,PreviousMonthButton:CalendarPreviousMonthButton,YearsDropdown:CalendarYearsDropdown};function getNavigationStyles(disabled){return props(buttonStyles.base,buttonStyles.outline,buttonStyles["icon-sm"],buttonStyles.loading,calendarStyles.navigationButton,disabled?buttonStyles.disabled:buttonStyles.press,!disabled&&buttonStyles.interactionOutline);}// Ghost hides the press surface at rest; selected days show it filled.
2
+ function getDaySurfaceStyle(selected){return selected?calendarStyles.selectedDay:buttonStyles.ghost;}function getDayInteractionStyles(interactive,selected,today){const quietInteraction=today?calendarStyles.todayInteraction:buttonStyles.interactionGhost;return interactive?[buttonStyles.press,selected?buttonStyles.interactionBrand:quietInteraction]:[];}function CalendarDayButton({children,modifiers,...buttonProps}){const readOnly=useCalendarGridContext()?.readOnly;const selected=modifiers.selected&&!modifiers.range_middle;const interactive=!(modifiers.disabled||readOnly);return/*#__PURE__*/_jsx(DayPickerDayButton,{...buttonProps,modifiers:modifiers,...props(buttonStyles.base,getDaySurfaceStyle(Boolean(selected)),buttonStyles.icon,calendarStyles.dayButton,modifiers.today&&calendarStyles.todayButton,selected&&buttonStyles.brand,...getDayInteractionStyles(interactive,Boolean(selected),Boolean(modifiers.today)),modifiers.today&&calendarStyles.todayIndicator,modifiers.today&&selected&&calendarStyles.todayIndicatorSelected,readOnly&&calendarStyles.readOnly),children:controlLabel(children)});}
@@ -0,0 +1 @@
1
+ import{createContext,useContext}from"react";export const CalendarGridContext=createContext(null);export function useCalendarGridContext(){return useContext(CalendarGridContext);}
@@ -0,0 +1,2 @@
1
+ import{Field as BaseField}from"@base-ui/react/field";import{useDayPicker}from"@daypicker/react";import{props}from"@stylexjs/stylex";import{useCallback}from"react";import{Select,SelectItem,SelectPopup,SelectTrigger,SelectValue}from"../select/select";import{calendarStyles}from"./calendar.styles";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";function CalendarDropdown({part,options=[],value,disabled,"aria-label":label}){const{months,goToMonth,dayPickerProps}=useDayPicker();const displayedMonth=months[0]?.date;const monthLabel=displayedMonth&&new Intl.DateTimeFormat(dayPickerProps.locale?.code??"en-US",{month:"short"}).format(displayedMonth);const items=options.map(option=>({label:option.label,value:option.value}));const changeMonth=useCallback(nextValue=>{if(nextValue===null||!displayedMonth){return;}const nextMonth=new Date(displayedMonth);nextMonth.setDate(1);if(part==="month"){nextMonth.setMonth(nextValue);}else{nextMonth.setFullYear(nextValue);}goToMonth(nextMonth);},[displayedMonth,goToMonth,part]);// Its own field root: an enclosing Field must not label or id this select.
2
+ return/*#__PURE__*/_jsx(BaseField.Root,{...props(calendarStyles.dropdown),children:/*#__PURE__*/_jsxs(Select,{disabled:disabled,items:items,onValueChange:changeMonth,value:Number(value),children:[/*#__PURE__*/_jsx(SelectTrigger,{"aria-label":label,size:"sm",children:/*#__PURE__*/_jsx(SelectValue,{children:part==="month"?monthLabel:null})}),/*#__PURE__*/_jsx(SelectPopup,{alignItemWithTrigger:false,children:options.map(option=>/*#__PURE__*/_jsx(SelectItem,{disabled:option.disabled,value:option.value,children:option.label},option.value))})]})});}export function CalendarMonthsDropdown(dropdownProps){return/*#__PURE__*/_jsx(CalendarDropdown,{...dropdownProps,part:"month"});}export function CalendarYearsDropdown(dropdownProps){return/*#__PURE__*/_jsx(CalendarDropdown,{...dropdownProps,part:"year"});}
@@ -0,0 +1 @@
1
+ import{props}from"@stylexjs/stylex";import{calendarStyles}from"./calendar.styles";export function normalizeCalendarRange(range){return range?.from?{from:range.from,to:range.to}:undefined;}export function buildDisabledMatchers(disabled,minValue,maxValue,isDateUnavailable){if(disabled){return[true];}const matchers=[];if(minValue){matchers.push({before:minValue});}if(maxValue){matchers.push({after:maxValue});}if(isDateUnavailable){matchers.push(isDateUnavailable);}return matchers;}export function getCalendarClassNames(mode,readOnly){return{caption_label:props(calendarStyles.captionLabel).className,day:props(calendarStyles.day).className,day_button:props(calendarStyles.dayButton,readOnly&&calendarStyles.dayButtonReadOnly).className,disabled:props(calendarStyles.dayDisabled).className,dropdowns:props(calendarStyles.dropdowns).className,focused:"",month:props(calendarStyles.month).className,month_caption:props(calendarStyles.monthCaption).className,month_grid:props(calendarStyles.monthGrid).className,months:props(calendarStyles.months).className,nav:props(calendarStyles.nav).className,outside:props(calendarStyles.outside).className,range_end:props(calendarStyles.rangeEnd).className,range_middle:props(calendarStyles.rangeMiddle).className,range_start:props(calendarStyles.rangeStart).className,root:props(calendarStyles.dayPickerRoot).className,selected:props(mode==="range"?calendarStyles.selectedRange:calendarStyles.selected).className,today:props(calendarStyles.today).className,week:props(calendarStyles.week).className,weekday:props(calendarStyles.weekday).className,weekdays:props(calendarStyles.weekdays).className,weeks:props(calendarStyles.weeks).className};}
@@ -0,0 +1,4 @@
1
+ import type { ReactElement } from "react";
2
+ import type { CalendarProps } from "./calendar.types";
3
+ export type { CalendarLocale, CalendarProps, CalendarRangeProps, CalendarRangeValue, CalendarSingleProps, CalendarVariant, } from "./calendar.types";
4
+ export declare function Calendar(calendarProps: CalendarProps): ReactElement;
@@ -0,0 +1 @@
1
+ "use client";import{DayPicker}from"@daypicker/react";import{props}from"@stylexjs/stylex";import{useCallback,useMemo,useState}from"react";import{calendarStyles}from"./calendar.styles";import{calendarComponents}from"./calendar-components";import{CalendarGridContext}from"./calendar-context";import{buildDisabledMatchers,getCalendarClassNames,normalizeCalendarRange}from"./calendar-utils";import{jsx as _jsx}from"react/jsx-runtime";function SingleCalendarView(singleProps){const[isControlled]=useState(()=>Object.hasOwn(singleProps,"value"));const[uncontrolled,setUncontrolled]=useState(singleProps.defaultValue);const current=isControlled?singleProps.value:uncontrolled;const{autoFocus,defaultMonth=singleProps.defaultValue??singleProps.value,dir,disabled=false,isDateUnavailable,locale,maxValue,minValue,month,onMonthChange,onValueChange,readOnly=false,required,weekStartsOn}=singleProps;const disabledMatchers=useMemo(()=>buildDisabledMatchers(disabled,minValue,maxValue,isDateUnavailable),[disabled,minValue,maxValue,isDateUnavailable]);const handleSelect=useCallback(selected=>{if(readOnly||disabled){return;}if(!isControlled){setUncontrolled(selected);}onValueChange?.(selected);},[disabled,isControlled,onValueChange,readOnly]);const classNames=useMemo(()=>getCalendarClassNames("single",readOnly),[readOnly]);return/*#__PURE__*/_jsx(DayPicker,{autoFocus:autoFocus,captionLayout:singleProps.captionLayout,classNames:classNames,components:calendarComponents,defaultMonth:defaultMonth,dir:dir,disabled:disabledMatchers,disableNavigation:disabled,endMonth:singleProps.endMonth,fixedWeeks:true,locale:locale,mode:"single",month:month,onMonthChange:onMonthChange,onSelect:handleSelect,required:required,selected:current,showOutsideDays:true,startMonth:singleProps.startMonth,weekStartsOn:weekStartsOn});}function RangeCalendarView(rangeProps){const[isControlled]=useState(()=>Object.hasOwn(rangeProps,"value"));const[uncontrolled,setUncontrolled]=useState(rangeProps.defaultValue);const current=isControlled?rangeProps.value:uncontrolled;const{autoFocus,defaultMonth=rangeProps.defaultValue?.from??rangeProps.value?.from,dir,disabled=false,isDateUnavailable,locale,maxNights,maxValue,minNights,minValue,resetOnSelect,month,onMonthChange,onValueChange,readOnly=false,required,weekStartsOn}=rangeProps;const disabledMatchers=useMemo(()=>buildDisabledMatchers(disabled,minValue,maxValue,isDateUnavailable),[disabled,minValue,maxValue,isDateUnavailable]);const handleSelect=useCallback(range=>{if(readOnly||disabled){return;}const nextRange=normalizeCalendarRange(range);if(!isControlled){setUncontrolled(nextRange);}onValueChange?.(nextRange);},[disabled,isControlled,onValueChange,readOnly]);const classNames=useMemo(()=>getCalendarClassNames("range",readOnly),[readOnly]);return/*#__PURE__*/_jsx(DayPicker,{autoFocus:autoFocus,captionLayout:rangeProps.captionLayout,classNames:classNames,components:calendarComponents,defaultMonth:defaultMonth,dir:dir,disabled:disabledMatchers,disableNavigation:disabled,endMonth:rangeProps.endMonth,excludeDisabled:true,fixedWeeks:true,locale:locale,max:maxNights,min:minNights,mode:"range",month:month,onMonthChange:onMonthChange,onSelect:handleSelect,required:required,resetOnSelect:resetOnSelect,selected:current?{from:current.from,to:current.to}:undefined,showOutsideDays:true,startMonth:rangeProps.startMonth,weekStartsOn:weekStartsOn});}function getCalendarStyles(disabled,readOnly,invalid,variant){return props(calendarStyles.root,variant==="embedded"&&calendarStyles.rootEmbedded,disabled&&calendarStyles.disabled,readOnly&&calendarStyles.readOnly,invalid&&calendarStyles.invalid);}function getWrapperProps(calendarProps){const{disabled,invalid,readOnly,ref,variant}=calendarProps;const styleProps=getCalendarStyles(disabled,readOnly,invalid,variant);return{...styleProps,"data-disabled":disabled?"":undefined,"data-invalid":invalid?"":undefined,"data-readonly":readOnly?"":undefined,"data-slot":"calendar",ref};}export function Calendar(calendarProps){const wrapperProps=getWrapperProps(calendarProps);const content=calendarProps.mode==="single"?/*#__PURE__*/_jsx(SingleCalendarView,{...calendarProps}):/*#__PURE__*/_jsx(RangeCalendarView,{...calendarProps});const{"aria-describedby":ariaDescribedBy,"aria-label":ariaLabel,"aria-labelledby":ariaLabelledBy,invalid,readOnly}=calendarProps;const gridContextValue=useMemo(()=>({ariaDescribedBy,ariaLabel,ariaLabelledBy,invalid,readOnly}),[ariaDescribedBy,ariaLabel,ariaLabelledBy,invalid,readOnly]);return/*#__PURE__*/_jsx(CalendarGridContext.Provider,{value:gridContextValue,children:/*#__PURE__*/_jsx("div",{...wrapperProps,children:content})});}
@@ -0,0 +1 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/colors.stylex";import{colors}from"../../styles/colors.stylex";import"../../styles/conditions.stylex";import{conditions}from"../../styles/conditions.stylex";import"../../styles/interaction.stylex";import{borderWidth,focus,forcedColorAdjust,opacity}from"../../styles/interaction.stylex";import"../../styles/shadows.stylex";import{shadows}from"../../styles/shadows.stylex";import"../../styles/shape.stylex";import{shape}from"../../styles/shape.stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";import"../../styles/typography.stylex";import{fontSize,fontWeight,lineHeight}from"../../styles/typography.stylex";import"../button/button-colors.stylex";import{buttonColors}from"../button/button-colors.stylex";export const calendarStyles={captionLabel:{kMwMTN:"x14tvo57",kGuDYH:"x12ama9c",kcqcaj:"xss6m8b",k63SB2:"x1lo1l87",$$css:true},chevron:{k1xSpc:"x1rg5ohu",kmuXW:"x2lah0s",$$css:true},day:{kcqcaj:"xss6m8b",kZKoxP:"xk8t5le xgbny6f",kmVPX3:"x1717udv",k9WMMc:"x2b8uid",kzqmXN:"x1s4ejo4 x24rnby",$$css:true},dayButton:{kT0f0o:"x1hia2b7",kVL7Gh:"x1dz734k",kfmiAY:"x2dv6dr",krdFHd:"xn5rixj",kMwMTN:"x1heor9g",kGuDYH:"x12ama9c",k63SB2:"x1lo1l87",kZKoxP:"xk8t5le",kVAEAm:"x1n2onr6",kzqmXN:"x1s4ejo4",$$css:true},dayButtonReadOnly:{kWkggS:"x7hnrrc xjbqb8w",kkrTdU:"xt0e3qv",$$css:true},dayDisabled:{kkrTdU:"x1h6gzvc",kSiTet:"xd57v9i",$$css:true},dayPickerRoot:{k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",kOIVth:"xp4ho6d",kVAEAm:"x1n2onr6",$$css:true},disabled:{kSiTet:"xd57v9i",kfzvcC:"x47corl",$$css:true},dropdown:{kmuXW:"x2lah0s",kzqmXN:"xex909m",$$css:true},dropdowns:{kGNEyG:"x6s0dn4",k1xSpc:"x78zum5",kOIVth:"x13hh4mm",kg3NbH:"xw4edqq",$$css:true},invalid:{kVAM5u:"xpkwx3w",$$css:true},month:{k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",kOIVth:"xiw8qbs",$$css:true},monthCaption:{kGNEyG:"x6s0dn4",k1xSpc:"x78zum5",kZKoxP:"xk8t5le",kjj79g:"xl56j7k",kVAEAm:"x1n2onr6",$$css:true},monthGrid:{kLvRdT:"x1mwwwfo",kzqmXN:"xh8yej3",$$css:true},months:{k5JduY:"x1s928wv",krxQOp:"xj0ejgz",kJfJEs:"xbg1tna",k1xSpc:"x78zum5",kOIVth:"xiw8qbs",$$css:true},nav:{kGNEyG:"x6s0dn4",k1xSpc:"x78zum5",kkqhue:"x17y0mx6",kjj79g:"x1qughib",kfzvcC:"x47corl",kVAEAm:"x10l6tqk",kY2c9j:"x1vjfegm",$$css:true},navigationButton:{kfzvcC:"x67bb7w",$$css:true},outside:{kMwMTN:"x3e2zu4",$$css:true},rangeEnd:{kT0f0o:"x1hia2b7 x12i5mvm",kfmiAY:"x2dv6dr xfafljk",kMwMTN:"xdnyjpo",kAXs8y:"xg7vh0z",$$css:true},rangeMiddle:{kWkggS:"x16d8uok",kMwMTN:"x14tvo57",kAXs8y:"xg7vh0z",$$css:true},rangeStart:{kVL7Gh:"x1dz734k xmgm6ly",krdFHd:"xn5rixj x9koimc",kMwMTN:"xdnyjpo",kAXs8y:"xg7vh0z",$$css:true},readOnly:{kkrTdU:"xt0e3qv",$$css:true},root:{kWkggS:"xui3q9s",kVAM5u:"x155xxfk",kaIpWk:"x1yl01a3",ksu8eU:"x1y0btm7",kMzoRj:"x1cdonsl",kGVxlE:"x10ilepr",kB7OPa:"x9f619",kMwMTN:"x14tvo57",k1xSpc:"x1rg5ohu",ks0D6T:"x193iq5w",kXHlph:"xw2csxc",k8WAf4:"x391bbb",kg3NbH:"x1ya0gd1 x7e4cbm",katHQp:"x1g2bcle",kfSwDN:"x87ps6o",$$css:true},rootEmbedded:{kWkggS:"xjbqb8w",kVAM5u:"x9r1u3d",kaIpWk:"x2u8bby",kMzoRj:"xc342km",$$css:true},selected:{kMwMTN:"xa34c4n",$$css:true},selectedDay:{"--x1ijwtyn":"x10u7h9a","--x1d0vy2r":"x1x29psc","--xo385wq":"xulyzvn",kAXs8y:"xg7vh0z",$$css:true},selectedRange:{kWkggS:"x1g77xhq x16d8uok",kMwMTN:"x12fxpw x14tvo57",k63SB2:"xuku2lm",kAXs8y:"xg7vh0z",$$css:true},today:{k63SB2:"x1citsaf",$$css:true},todayButton:{kWkggS:"x16d8uok",kMwMTN:"xdnyjpo",k63SB2:"xuku2lm",$$css:true},todayIndicator:{ks3ayO:"x14ag2g1",kUfP38:"x2coff9",k8Iv0R:"x1tm3xe0",k5JduY:"x1s928wv",k4zj60:"xzgp08k",kc1e00:"x19pgp2l",kloYau:"x2q1x1w",kwXMNM:"x1j6awrg",kkgrvl:"x11lu4s1",$$css:true},todayIndicatorSelected:{ks3ayO:"x3awtke",$$css:true},todayInteraction:{kWkggS:"x1a63spv xj8gswt x16d8uok",$$css:true},week:{k1xSpc:"xf5m44m",$$css:true},weekday:{kMwMTN:"x125omll",kGuDYH:"xlh8hku",k63SB2:"x1lo1l87",kZKoxP:"xettwda",kLWn49:"x2xzzt7",k9WMMc:"x2b8uid",kzqmXN:"x1s4ejo4 x24rnby",$$css:true},weekdays:{kL6WhQ:"x9rbyu3",kfdmCh:"x1q0q8m5",kt9PQ7:"x13k63ub",$$css:true},weeks:{kogj98:"x1ghz6dp",$$css:true}};
@@ -0,0 +1,48 @@
1
+ import type { DayPickerLocale } from "@daypicker/react";
2
+ import type { ComponentPropsWithRef } from "react";
3
+ export type CalendarLocale = DayPickerLocale;
4
+ export type CalendarVariant = "default" | "embedded";
5
+ export interface CalendarRangeValue {
6
+ readonly from: Date;
7
+ readonly to?: Date | undefined;
8
+ }
9
+ export interface CalendarCommonProps {
10
+ readonly "aria-describedby"?: string | undefined;
11
+ readonly "aria-label"?: string | undefined;
12
+ readonly "aria-labelledby"?: string | undefined;
13
+ autoFocus?: boolean | undefined;
14
+ captionLayout?: "label" | "dropdown" | undefined;
15
+ defaultMonth?: Date | undefined;
16
+ dir?: "ltr" | "rtl" | undefined;
17
+ disabled?: boolean | undefined;
18
+ endMonth?: Date | undefined;
19
+ invalid?: boolean | undefined;
20
+ isDateUnavailable?: ((date: Date) => boolean) | undefined;
21
+ locale?: CalendarLocale | undefined;
22
+ maxValue?: Date | undefined;
23
+ minValue?: Date | undefined;
24
+ month?: Date | undefined;
25
+ onMonthChange?: ((month: Date) => void) | undefined;
26
+ readOnly?: boolean | undefined;
27
+ ref?: ComponentPropsWithRef<"div">["ref"] | undefined;
28
+ required?: boolean | undefined;
29
+ startMonth?: Date | undefined;
30
+ variant?: CalendarVariant | undefined;
31
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
32
+ }
33
+ export interface CalendarSingleProps extends CalendarCommonProps {
34
+ defaultValue?: Date | undefined;
35
+ mode: "single";
36
+ onValueChange?: ((value: Date | undefined) => void) | undefined;
37
+ value?: Date | undefined;
38
+ }
39
+ export interface CalendarRangeProps extends CalendarCommonProps {
40
+ defaultValue?: CalendarRangeValue | undefined;
41
+ maxNights?: number | undefined;
42
+ minNights?: number | undefined;
43
+ mode: "range";
44
+ onValueChange?: ((value: CalendarRangeValue | undefined) => void) | undefined;
45
+ resetOnSelect?: boolean | undefined;
46
+ value?: CalendarRangeValue | undefined;
47
+ }
48
+ export type CalendarProps = CalendarSingleProps | CalendarRangeProps;
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,20 @@
1
+ import type { ComponentPropsWithRef } from "react";
2
+ import type { Closed } from "../../closed";
3
+ import type { ChartSeriesTone } from "../chart-frame/chart-colors";
4
+ export interface CalendarHeatmapDay {
5
+ /** A calendar date as YYYY-MM-DD, free of time zones. */
6
+ date: string;
7
+ value: number | null;
8
+ }
9
+ export type CalendarHeatmapProps = Omit<Closed<ComponentPropsWithRef<"div">>, "aria-label" | "children" | "data-slot" | "role"> & {
10
+ "aria-label": string;
11
+ days: readonly CalendarHeatmapDay[];
12
+ formatValue?: (value: number) => string;
13
+ locale?: string;
14
+ tone?: ChartSeriesTone;
15
+ valueLabel?: string;
16
+ /** 0 starts weeks on Sunday, 1 on Monday. */
17
+ weekStartsOn?: 0 | 1;
18
+ };
19
+ /** A grid of days, one column per week, shaded by each day's value. */
20
+ export declare function CalendarHeatmap({ "aria-label": ariaLabel, days, formatValue, locale, ref: forwardedRef, tone, valueLabel, weekStartsOn, ...rest }: CalendarHeatmapProps): import("react").JSX.Element;
@@ -0,0 +1,9 @@
1
+ "use client";import{create,props}from"@stylexjs/stylex";import{cell,defineChart}from"@tanstack/charts";import{scaleBand}from"@tanstack/charts/scales/band";import{tooltip as tooltipFeature}from"@tanstack/charts/tooltip";import{useMemo}from"react";import{typeRoles}from"../../styles/typography.styles";import{assertTone}from"../chart-frame/chart-assert";import{ChartDataTable}from"../chart-frame/chart-data-table";import{ChartFrame}from"../chart-frame/chart-frame";import{ChartTooltip}from"../chart-tooltip/chart-tooltip";import{COLOR_DOMAIN,colorRange,getBucket,HeatmapLegend}from"../heatmap/heatmap-scale";import{Table,TableBody,TableCaption,TableCell,TableContainer,TableHead,TableHeader,TableRow}from"../table/table";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";const NAME="CalendarHeatmap";const DAY=86_400_000;// The grid fills its container with near-square days, laid out at a 16px
2
+ // pitch; below a 12px pitch it scrolls instead of shrinking further. The
3
+ // gutter holds weekday labels and the axis holds month labels.
4
+ const PITCH=16;const MIN_PITCH=12;const GUTTER=40;const AXIS=24;const DATE_PATTERN=/^\d{4}-\d{2}-\d{2}$/u;const _temp={k7Eaqz:"x1d6dtaj","$$css":true};const styles={plot:minInlineSize=>[_temp,{"--x-minInlineSize":(val=>typeof val==="number"?val+"px":val!=null?val:undefined)(minInlineSize)}]};function parseDate(date){const[year,month,day]=date.split("-").map(Number);const time=Date.UTC(year,month-1,day);if(!DATE_PATTERN.test(date)||new Date(time).getUTCDate()!==day){throw new RangeError(`${NAME} dates must be valid YYYY-MM-DD strings.`);}return time;}function prepareDays(days){if(!Array.isArray(days)){throw new TypeError(`${NAME} days must be an array.`);}const values=new Map();for(const{date,value}of days){const time=parseDate(date);if(values.has(time)){throw new RangeError(`${NAME} dates must be unique.`);}if(value!==null&&!(Number.isFinite(value)&&value>=0)){throw new RangeError(`${NAME} values must be finite and not negative.`);}values.set(time,value);}return values;}function weekdayLabels(locale,weekStartsOn){const format=new Intl.DateTimeFormat(locale,{timeZone:"UTC",weekday:"short"});// 2023-01-01 was a Sunday.
5
+ return Array.from({length:7},(_,index)=>format.format(Date.UTC(2023,0,1+(index+weekStartsOn)%7)));}function buildCells(values,weekdays,weekStartsOn){const times=[...values.keys()];const first=Math.min(...times);const last=Math.max(...times);const lead=(new Date(first).getUTCDay()-weekStartsOn+7)%7;const maximum=Math.max(0,...[...values.values()].map(value=>value??0));const cells=[];for(let time=first;time<=last;time+=DAY){const index=Math.round((time-first)/DAY)+lead;const value=values.get(time)??null;cells.push({colorKey:value===null?"missing":getBucket(value,maximum),date:new Date(time),id:String(time),value,week:String(Math.floor(index/7)),weekday:weekdays[index%7]});}return{cells,maximum,weeks:Math.floor((lead+cells.length-1)/7)+1};}// A week column shows its month's name when the month's first day falls in it.
6
+ function monthLabels(cells,locale){const format=new Intl.DateTimeFormat(locale,{month:"short",timeZone:"UTC"});const labels=new Map();for(const{date,week}of cells){if(date.getUTCDate()===1||cells[0].date===date){labels.set(week,format.format(date));}}return labels;}function renderTooltip(context,dateFormat,valueLabel,tone,format){const point=context.primaryPoint??context.points[0];if(!point){return null;}const{date,value}=point.datum;return/*#__PURE__*/_jsx(ChartTooltip,{items:[{id:"calendar-heatmap-value",label:valueLabel,tone,value:value===null?"No data":format(value)}],label:dateFormat.format(date)});}/** A grid of days, one column per week, shaded by each day's value. */export function CalendarHeatmap({"aria-label":ariaLabel,days,formatValue,locale="en-US",ref:forwardedRef,tone="series1",valueLabel="Value",weekStartsOn=1,...rest}){if(typeof ariaLabel!=="string"||!ariaLabel.trim()){throw new TypeError(`${NAME} requires a non-empty aria-label.`);}assertTone(NAME,tone);for(const name of["aria-label","children","className","data-slot","role","style"]){Reflect.deleteProperty(rest,name);}const values=useMemo(()=>prepareDays(days),[days]);const format=formatValue??new Intl.NumberFormat(locale).format;return/*#__PURE__*/_jsx("div",{...rest,"data-slot":"calendar-heatmap",ref:forwardedRef,...{className:"xeuugli"},children:values.size===0?/*#__PURE__*/// biome-ignore lint/a11y/useSemanticElements: Names an empty chart, not a form group; the status keeps its own text.
7
+ _jsx("div",{"aria-label":ariaLabel,role:"group",children:/*#__PURE__*/_jsx("p",{role:"status",...props(typeRoles.body),children:"No data available."})}):/*#__PURE__*/_jsx(CalendarHeatmapPlot,{"aria-label":ariaLabel,format:format,locale:locale,tone:tone,valueLabel:valueLabel,values:values,weekStartsOn:weekStartsOn})});}function CalendarHeatmapPlot({"aria-label":ariaLabel,format,locale,tone,valueLabel,values,weekStartsOn}){const weekdays=useMemo(()=>weekdayLabels(locale,weekStartsOn),[locale,weekStartsOn]);const{cells,maximum,weeks}=useMemo(()=>buildCells(values,weekdays,weekStartsOn),[values,weekdays,weekStartsOn]);const definition=useMemo(()=>{const months=monthLabels(cells,locale);return defineChart({color:{domain:COLOR_DOMAIN,range:colorRange(tone)},marks:[cell(cells,{color:"colorKey",id:"calendar-heatmap-days",inset:1.5,key:({id})=>id,radius:3,x:"week",y:"weekday"})],scales:{x:{// Labels are already sparse (one per month), so none are thinned.
8
+ axis:{tickLabels:{thin:false},ticks:{format:week=>months.get(week)??""}},scale:scaleBand().domain(Array.from({length:weeks},(_,index)=>String(index))).padding(0)},y:{// Alternate weekday labels keep the gutter readable.
9
+ axis:{tickLabels:{thin:false},ticks:{format:day=>weekdays.indexOf(day)%2===0?day:""}},scale:scaleBand().domain(weekdays).padding(0)}}},{tooltip:tooltipFeature});},[cells,locale,tone,weekdays,weeks]);const dateFormat=useMemo(()=>new Intl.DateTimeFormat(locale,{day:"numeric",month:"short",timeZone:"UTC",weekday:"short",year:"numeric"}),[locale]);const renderTooltipBody=useMemo(()=>context=>renderTooltip(context,dateFormat,valueLabel,tone,format),[dateFormat,format,tone,valueLabel]);const inlineSize=weeks*PITCH+GUTTER;return/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx("div",{...{className:"xw2csxc"},children:/*#__PURE__*/_jsx("div",{...props(styles.plot(weeks*MIN_PITCH+GUTTER)),children:/*#__PURE__*/_jsx(ChartFrame,{"aria-label":ariaLabel,aspectRatio:inlineSize/(7*PITCH+AXIS),definition:definition,initialWidth:inlineSize,renderTooltipBody:renderTooltipBody,tabIndex:0})})}),/*#__PURE__*/_jsx(HeatmapLegend,{high:format(maximum),tone:tone,valueLabel:valueLabel}),/*#__PURE__*/_jsx(ChartDataTable,{children:/*#__PURE__*/_jsx(TableContainer,{"aria-label":`${ariaLabel} data`,children:/*#__PURE__*/_jsxs(Table,{children:[/*#__PURE__*/_jsxs(TableCaption,{children:[ariaLabel," values"]}),/*#__PURE__*/_jsx(TableHeader,{sticky:false,children:/*#__PURE__*/_jsxs(TableRow,{children:[/*#__PURE__*/_jsx(TableHead,{scope:"col",children:"Date"}),/*#__PURE__*/_jsx(TableHead,{scope:"col",children:valueLabel})]})}),/*#__PURE__*/_jsx(TableBody,{children:cells.filter(({value})=>value!==null).map(({date,id,value})=>/*#__PURE__*/_jsxs(TableRow,{children:[/*#__PURE__*/_jsx(TableHead,{scope:"row",children:dateFormat.format(date)}),/*#__PURE__*/_jsx(TableCell,{numeric:true,children:format(value??0)})]},id))})]})})})]});}