@jfrader/ui 0.3.0 → 0.5.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 (264) hide show
  1. package/README.md +2 -0
  2. package/dist/{accordion-Bd-j04hW.js → accordion-xCI_u0BV.js} +2 -2
  3. package/dist/accordion.js +1 -1
  4. package/dist/{alert-BBqaKI4k.js → alert-DS_einpy.js} +1 -1
  5. package/dist/alert.js +1 -1
  6. package/dist/announcement-bar-B58xempt.js +382 -0
  7. package/dist/announcement-bar.js +2 -0
  8. package/dist/avatar-group-DOQQuV51.js +138 -0
  9. package/dist/avatar-group.js +2 -0
  10. package/dist/bottom-sheet-DPJBFkie.js +673 -0
  11. package/dist/bottom-sheet.js +2 -0
  12. package/dist/{breadcrumbs-DVAOxfvL.js → breadcrumbs-Cfw_hgt2.js} +1 -1
  13. package/dist/breadcrumbs.js +1 -1
  14. package/dist/{button-P2e7_44z.js → button-C92uYFJW.js} +1 -1
  15. package/dist/button.js +1 -1
  16. package/dist/calendar-B3Svu0X2.js +447 -0
  17. package/dist/calendar.js +1 -1
  18. package/dist/carousel-IvPqN-oM.js +472 -0
  19. package/dist/carousel.js +2 -0
  20. package/dist/{checkbox-COYG6L7d.js → checkbox-cFquiSdy.js} +1 -1
  21. package/dist/checkbox.js +1 -1
  22. package/dist/chip-group-DTQd_M-G.js +289 -0
  23. package/dist/chip-group.js +2 -0
  24. package/dist/code-block/shiki.js +147 -0
  25. package/dist/code-block-ahnRi-g8.js +292 -0
  26. package/dist/code-block.js +2 -0
  27. package/dist/collection-registry-k6JcD3Jr.js +44 -0
  28. package/dist/combobox-Bhzvu9ma.js +334 -0
  29. package/dist/combobox.js +1 -1
  30. package/dist/command-palette-BQ5LleGb.js +384 -0
  31. package/dist/command-palette.js +1 -1
  32. package/dist/copy-button-ByiA6D3R.js +252 -0
  33. package/dist/copy-button.js +2 -0
  34. package/dist/countdown-Dp_TD1VP.js +293 -0
  35. package/dist/countdown.js +2 -0
  36. package/dist/date-picker-5zKSSuFF.js +255 -0
  37. package/dist/date-picker.js +1 -1
  38. package/dist/date-range-picker-B5uFWsm-.js +562 -0
  39. package/dist/date-range-picker.js +2 -0
  40. package/dist/{dialog-xaydbXl2.js → dialog-ciiv9H2b.js} +19 -19
  41. package/dist/dialog.js +1 -1
  42. package/dist/drawer-DsASTiP-.js +553 -0
  43. package/dist/drawer.js +2 -0
  44. package/dist/empty-state-CDgrjPPf.js +142 -0
  45. package/dist/empty-state.js +2 -0
  46. package/dist/expandable-card-C-qJcZ14.js +340 -0
  47. package/dist/expandable-card.js +2 -0
  48. package/dist/field-anatomy-COVdNpf5.js +84 -0
  49. package/dist/file-dropzone-pR4v7owg.js +457 -0
  50. package/dist/file-dropzone.js +2 -0
  51. package/dist/filter-toolbar-D5KEKTSe.js +312 -0
  52. package/dist/filter-toolbar.js +2 -0
  53. package/dist/hold-to-confirm-DjB2EVjM.js +294 -0
  54. package/dist/hold-to-confirm.js +2 -0
  55. package/dist/hover-card-B-nrCIy2.js +347 -0
  56. package/dist/hover-card.js +2 -0
  57. package/dist/image-compare-ciuhPtQZ.js +415 -0
  58. package/dist/image-compare.js +2 -0
  59. package/dist/index.js +79 -38
  60. package/dist/inline-edit-C0eeml65.js +535 -0
  61. package/dist/inline-edit.js +2 -0
  62. package/dist/input-control-DmMuAuPS.js +34 -0
  63. package/dist/json-viewer-BcySQfjZ.js +798 -0
  64. package/dist/json-viewer.js +2 -0
  65. package/dist/listbox-style-WX-RASp1.js +59 -0
  66. package/dist/{media-D_eA_I-e.js → media-8yrN85VT.js} +2 -2
  67. package/dist/mention-input-BcQKX2EJ.js +599 -0
  68. package/dist/mention-input.js +2 -0
  69. package/dist/menu-xwOOUtWP.js +275 -0
  70. package/dist/menu.js +1 -1
  71. package/dist/metric-card-Bh9K4fZs.js +118 -0
  72. package/dist/metric-card.js +2 -0
  73. package/dist/multi-select-Pce_IYnz.js +590 -0
  74. package/dist/multi-select.js +2 -0
  75. package/dist/{navigation-DhnKriOp.js → navigation-sP5fiuQS.js} +4 -4
  76. package/dist/navigation.js +1 -1
  77. package/dist/overlay-layer-SeUyyEPD.js +64 -0
  78. package/dist/overlay-portal-C4JZFq2M.js +15 -0
  79. package/dist/{pagination-DYdwsxwe.js → pagination-DmXZ8E85.js} +1 -1
  80. package/dist/pagination.js +1 -1
  81. package/dist/password-field-03pWRkuY.js +250 -0
  82. package/dist/password-field.js +2 -0
  83. package/dist/popover-QHcEvf9c.js +119 -0
  84. package/dist/popover.js +1 -1
  85. package/dist/{progress-BpJswTG4.js → progress-CbOWBUdA.js} +4 -4
  86. package/dist/progress.js +1 -1
  87. package/dist/radio-cards-D2QZENI_.js +455 -0
  88. package/dist/radio-cards.js +2 -0
  89. package/dist/{radio-group-Ce0_IWQr.js → radio-group-E6mMRgo7.js} +4 -4
  90. package/dist/radio-group.js +1 -1
  91. package/dist/resizable-panels-BhjUVXZZ.js +519 -0
  92. package/dist/resizable-panels.js +2 -0
  93. package/dist/scroll-area-CcZyiSOQ.js +371 -0
  94. package/dist/scroll-area.js +2 -0
  95. package/dist/search-field-IxF0IJXm.js +274 -0
  96. package/dist/search-field.js +2 -0
  97. package/dist/segmented-control-yO1K1nbi.js +326 -0
  98. package/dist/segmented-control.js +2 -0
  99. package/dist/select-n_H52W1Z.js +292 -0
  100. package/dist/select.js +1 -1
  101. package/dist/signature-pad-q2SAsrdD.js +640 -0
  102. package/dist/signature-pad.js +2 -0
  103. package/dist/{skeleton-OoFlOEXO.js → skeleton-XQQDkCHd.js} +1 -1
  104. package/dist/skeleton.js +1 -1
  105. package/dist/slider-t0B5cecO.js +477 -0
  106. package/dist/slider.js +2 -0
  107. package/dist/sortable-data-table-tirqlLY2.js +365 -0
  108. package/dist/sortable-data-table.js +2 -0
  109. package/dist/{spinner-C2YDoiMn.js → spinner-DtxvDPdM.js} +1 -1
  110. package/dist/spinner.js +1 -1
  111. package/dist/split-button-Cb3EHs64.js +268 -0
  112. package/dist/split-button.js +2 -0
  113. package/dist/stepper-CruHbXxX.js +480 -0
  114. package/dist/stepper.js +2 -0
  115. package/dist/swipe-actions-DiZC57-3.js +418 -0
  116. package/dist/swipe-actions.js +2 -0
  117. package/dist/{switch-Dr-qjmT4.js → switch-qwv8jQnR.js} +1 -1
  118. package/dist/switch.js +1 -1
  119. package/dist/{tabs-CK_g1RKa.js → tabs-CAVJndX1.js} +2 -2
  120. package/dist/tabs.js +1 -1
  121. package/dist/tag-input-DSRCyrX2.js +418 -0
  122. package/dist/tag-input.js +2 -0
  123. package/dist/{text-field-D60ok14S.js → text-field-C8TWG-tY.js} +6 -5
  124. package/dist/text-field.js +1 -1
  125. package/dist/{textarea-DyfjtP0A.js → textarea-BrW0XcG_.js} +6 -5
  126. package/dist/textarea.js +1 -1
  127. package/dist/theme-root-BbTBuLMQ.js +46 -0
  128. package/dist/theme-root.js +1 -1
  129. package/dist/theme-scope-t7nAKc2c.js +27 -0
  130. package/dist/time-picker-Db8D49cP.js +305 -0
  131. package/dist/time-picker.js +2 -0
  132. package/dist/timeline-k3nURuCP.js +618 -0
  133. package/dist/timeline.js +2 -0
  134. package/dist/toast-BHxI32ZA.js +352 -0
  135. package/dist/toast-stack-DqrAzdg5.js +183 -0
  136. package/dist/toast-stack.js +2 -0
  137. package/dist/toast.js +1 -1
  138. package/dist/{toggle-group-CI0e7hFm.js → toggle-group-fcjzpifI.js} +4 -4
  139. package/dist/toggle-group.js +1 -1
  140. package/dist/tooltip-CkeiW9C1.js +113 -0
  141. package/dist/tooltip.js +1 -1
  142. package/dist/tree-view-C2liIxqy.js +360 -0
  143. package/dist/tree-view.js +2 -0
  144. package/dist/types/components/announcement-bar/announcement-bar.d.ts +75 -0
  145. package/dist/types/components/announcement-bar/index.d.ts +2 -0
  146. package/dist/types/components/avatar-group/avatar-group.d.ts +43 -0
  147. package/dist/types/components/avatar-group/index.d.ts +2 -0
  148. package/dist/types/components/bottom-sheet/bottom-sheet.d.ts +60 -0
  149. package/dist/types/components/bottom-sheet/index.d.ts +2 -0
  150. package/dist/types/components/calendar/calendar.d.ts +25 -1
  151. package/dist/types/components/calendar/index.d.ts +1 -1
  152. package/dist/types/components/carousel/carousel.d.ts +73 -0
  153. package/dist/types/components/carousel/index.d.ts +2 -0
  154. package/dist/types/components/chip-group/chip-group.d.ts +54 -0
  155. package/dist/types/components/chip-group/index.d.ts +1 -0
  156. package/dist/types/components/code-block/code-block.d.ts +58 -0
  157. package/dist/types/components/code-block/index.d.ts +1 -0
  158. package/dist/types/components/code-block/shiki.d.ts +3 -0
  159. package/dist/types/components/combobox/combobox.d.ts +1 -1
  160. package/dist/types/components/command-palette/command-palette.d.ts +1 -1
  161. package/dist/types/components/copy-button/copy-button.d.ts +49 -0
  162. package/dist/types/components/copy-button/index.d.ts +2 -0
  163. package/dist/types/components/countdown/countdown.d.ts +37 -0
  164. package/dist/types/components/countdown/index.d.ts +1 -0
  165. package/dist/types/components/date-picker/date-picker.d.ts +1 -1
  166. package/dist/types/components/date-range-picker/date-range-picker.d.ts +103 -0
  167. package/dist/types/components/date-range-picker/index.d.ts +2 -0
  168. package/dist/types/components/drawer/drawer.d.ts +59 -0
  169. package/dist/types/components/drawer/index.d.ts +2 -0
  170. package/dist/types/components/empty-state/empty-state.d.ts +36 -0
  171. package/dist/types/components/empty-state/index.d.ts +2 -0
  172. package/dist/types/components/expandable-card/expandable-card.d.ts +28 -0
  173. package/dist/types/components/expandable-card/index.d.ts +2 -0
  174. package/dist/types/components/field/field-anatomy.d.ts +4 -2
  175. package/dist/types/components/file-dropzone/file-dropzone.d.ts +93 -0
  176. package/dist/types/components/file-dropzone/index.d.ts +2 -0
  177. package/dist/types/components/filter-toolbar/filter-toolbar.d.ts +70 -0
  178. package/dist/types/components/filter-toolbar/index.d.ts +1 -0
  179. package/dist/types/components/hold-to-confirm/hold-to-confirm.d.ts +32 -0
  180. package/dist/types/components/hold-to-confirm/index.d.ts +2 -0
  181. package/dist/types/components/hover-card/hover-card.d.ts +97 -0
  182. package/dist/types/components/hover-card/index.d.ts +2 -0
  183. package/dist/types/components/image-compare/image-compare.d.ts +54 -0
  184. package/dist/types/components/image-compare/index.d.ts +1 -0
  185. package/dist/types/components/inline-edit/index.d.ts +2 -0
  186. package/dist/types/components/inline-edit/inline-edit.d.ts +93 -0
  187. package/dist/types/components/json-viewer/index.d.ts +2 -0
  188. package/dist/types/components/json-viewer/json-viewer.d.ts +82 -0
  189. package/dist/types/components/mention-input/index.d.ts +2 -0
  190. package/dist/types/components/mention-input/mention-input.d.ts +87 -0
  191. package/dist/types/components/menu/menu.d.ts +23 -5
  192. package/dist/types/components/metric-card/index.d.ts +1 -0
  193. package/dist/types/components/metric-card/metric-card.d.ts +37 -0
  194. package/dist/types/components/multi-select/index.d.ts +2 -0
  195. package/dist/types/components/multi-select/multi-select.d.ts +73 -0
  196. package/dist/types/components/password-field/index.d.ts +2 -0
  197. package/dist/types/components/password-field/password-field.d.ts +34 -0
  198. package/dist/types/components/popover/popover.d.ts +1 -1
  199. package/dist/types/components/radio-cards/index.d.ts +1 -0
  200. package/dist/types/components/radio-cards/radio-cards.d.ts +42 -0
  201. package/dist/types/components/resizable-panels/index.d.ts +2 -0
  202. package/dist/types/components/resizable-panels/resizable-panels.d.ts +42 -0
  203. package/dist/types/components/scroll-area/index.d.ts +2 -0
  204. package/dist/types/components/scroll-area/scroll-area.d.ts +34 -0
  205. package/dist/types/components/search-field/index.d.ts +1 -0
  206. package/dist/types/components/search-field/search-field.d.ts +31 -0
  207. package/dist/types/components/segmented-control/index.d.ts +2 -0
  208. package/dist/types/components/segmented-control/segmented-control.d.ts +32 -0
  209. package/dist/types/components/select/select.d.ts +1 -1
  210. package/dist/types/components/signature-pad/index.d.ts +2 -0
  211. package/dist/types/components/signature-pad/signature-pad.d.ts +104 -0
  212. package/dist/types/components/slider/index.d.ts +1 -0
  213. package/dist/types/components/slider/slider.d.ts +70 -0
  214. package/dist/types/components/sortable-data-table/index.d.ts +1 -0
  215. package/dist/types/components/sortable-data-table/sortable-data-table.d.ts +76 -0
  216. package/dist/types/components/split-button/index.d.ts +2 -0
  217. package/dist/types/components/split-button/split-button.d.ts +55 -0
  218. package/dist/types/components/stepper/index.d.ts +2 -0
  219. package/dist/types/components/stepper/stepper.d.ts +85 -0
  220. package/dist/types/components/swipe-actions/index.d.ts +2 -0
  221. package/dist/types/components/swipe-actions/swipe-actions.d.ts +44 -0
  222. package/dist/types/components/tag-input/index.d.ts +2 -0
  223. package/dist/types/components/tag-input/tag-input.d.ts +66 -0
  224. package/dist/types/components/theme-root/theme-root.d.ts +9 -3
  225. package/dist/types/components/time-picker/index.d.ts +2 -0
  226. package/dist/types/components/time-picker/time-picker.d.ts +48 -0
  227. package/dist/types/components/timeline/index.d.ts +2 -0
  228. package/dist/types/components/timeline/timeline.d.ts +66 -0
  229. package/dist/types/components/toast/toast.d.ts +37 -2
  230. package/dist/types/components/toast-stack/index.d.ts +2 -0
  231. package/dist/types/components/toast-stack/toast-stack.d.ts +28 -0
  232. package/dist/types/components/tooltip/tooltip.d.ts +1 -1
  233. package/dist/types/components/tree-view/index.d.ts +1 -0
  234. package/dist/types/components/tree-view/tree-view.d.ts +47 -0
  235. package/dist/types/components/usage-meter/index.d.ts +2 -0
  236. package/dist/types/components/usage-meter/usage-meter.d.ts +83 -0
  237. package/dist/types/index.d.ts +40 -0
  238. package/dist/types/overlay/overlay-layer.d.ts +33 -0
  239. package/dist/types/overlay/overlay-portal.d.ts +7 -0
  240. package/dist/types/overlay/use-overlay-floating.d.ts +11 -1
  241. package/dist/types/styling/media.d.ts +1 -0
  242. package/dist/types/styling/theme-scope.d.ts +19 -0
  243. package/dist/types/styling/theme.d.ts +12 -0
  244. package/dist/types/utils/use-controlled-state.d.ts +2 -1
  245. package/dist/usage-meter-qyQ3rYVv.js +463 -0
  246. package/dist/usage-meter.js +2 -0
  247. package/dist/use-controlled-state-DpeVQZNR.js +20 -0
  248. package/dist/use-latest-callback-cj1OOQL6.js +11 -0
  249. package/dist/use-overlay-floating-DvJifLpF.js +31 -0
  250. package/package.json +175 -3
  251. package/dist/calendar-C9Yad_-w.js +0 -394
  252. package/dist/collection-registry-BTYi6zGh.js +0 -98
  253. package/dist/combobox-DrmjBbo7.js +0 -327
  254. package/dist/command-palette-V_2pEay7.js +0 -379
  255. package/dist/date-picker-ClUYBIBh.js +0 -250
  256. package/dist/field-anatomy-D2ToMeRa.js +0 -109
  257. package/dist/menu-DU60SMdt.js +0 -216
  258. package/dist/popover-BtN_0ejj.js +0 -113
  259. package/dist/select-BCS0-LVW.js +0 -286
  260. package/dist/theme-root-BiXXvQvr.js +0 -42
  261. package/dist/toast-iqelR-r0.js +0 -282
  262. package/dist/tooltip-CB-HC1js.js +0 -108
  263. package/dist/use-controlled-state-CVXDa-qM.js +0 -21
  264. package/dist/use-overlay-floating-efeqppiw.js +0 -19
@@ -0,0 +1,73 @@
1
+ import { type ComponentPropsWithRef, type CSSProperties, type ReactNode } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
4
+ import { type ButtonProps } from '../button';
5
+ export type CarouselActivation = 'auto' | 'manual';
6
+ export interface CarouselLabels {
7
+ /** Name of the slide viewport. */
8
+ slides: string;
9
+ /** Name of the slide picker tablist. */
10
+ chooseSlide: string;
11
+ previous: string;
12
+ next: string;
13
+ startRotation: string;
14
+ stopRotation: string;
15
+ /** Shown when there are no slides. */
16
+ empty: string;
17
+ /** The root's aria-roledescription. */
18
+ carouselRole: string;
19
+ /** Default slide name; `index` is zero-based. */
20
+ slideCount: (index: number, count: number) => string;
21
+ }
22
+ type StyleSlot = {
23
+ css?: Interpolation<Theme>;
24
+ };
25
+ type PartSlot = Omit<ComponentPropsWithRef<'div'>, 'children' | 'role' | 'id' | 'tabIndex' | 'hidden' | 'inert'> & StyleSlot;
26
+ type SlideSlot = Omit<PartSlot, 'ref' | 'aria-hidden'>;
27
+ type IndicatorSlot = Omit<ComponentPropsWithRef<'button'>, 'ref' | 'children' | 'role' | 'id' | 'type' | 'tabIndex' | 'disabled' | 'aria-selected' | 'aria-controls' | 'aria-disabled' | 'aria-label'> & StyleSlot;
28
+ type ButtonSlot = Omit<ButtonProps, 'children' | 'type' | 'disabled' | 'aria-disabled' | 'render' | 'sx'>;
29
+ export interface CarouselSlotProps {
30
+ rotationButton?: ButtonSlot;
31
+ viewport?: PartSlot;
32
+ track?: PartSlot;
33
+ slide?: SlideSlot;
34
+ controls?: PartSlot;
35
+ tabList?: PartSlot;
36
+ indicator?: IndicatorSlot;
37
+ previousButton?: ButtonSlot;
38
+ nextButton?: ButtonSlot;
39
+ status?: PartSlot;
40
+ empty?: PartSlot;
41
+ }
42
+ export interface CarouselProps extends Omit<ComponentPropsWithRef<'section'>, 'defaultValue' | 'onChange'>, SxProps {
43
+ /** One renderable child per slide; give each a stable key. */
44
+ children: ReactNode;
45
+ /** Active slide index (controlled). */
46
+ value?: number;
47
+ defaultValue?: number;
48
+ onValueChange?: (index: number) => void;
49
+ /** Inline size of each slide, clamped to the carousel's width. */
50
+ slideSize?: CSSProperties['inlineSize'];
51
+ /** Accessible slide name; `index` is zero-based. Defaults to `labels.slideCount`. */
52
+ getSlideLabel?: (index: number, count: number) => string;
53
+ activation?: CarouselActivation;
54
+ /** Rotation delay in milliseconds. Without a positive finite value there is no rotation. */
55
+ interval?: number;
56
+ /** Seeds the uncontrolled playing state on mount. */
57
+ autoPlay?: boolean;
58
+ /** Requested rotation state (controlled). Safety pauses apply on top of it. */
59
+ playingValue?: boolean;
60
+ /** Seeds the uncontrolled playing state; takes precedence over `autoPlay`. */
61
+ defaultPlayingValue?: boolean;
62
+ onPlayingValueChange?: (playing: boolean) => void;
63
+ locale?: Intl.LocalesArgument;
64
+ labels?: Partial<CarouselLabels>;
65
+ /** Blocks navigation and rotation; the active slide's content stays operable. */
66
+ disabled?: boolean;
67
+ slotProps?: CarouselSlotProps;
68
+ }
69
+ export declare function Carousel({ ref, children, value: valueProp, defaultValue, onValueChange, slideSize, getSlideLabel: getSlideLabelProp, activation, interval, autoPlay, playingValue, defaultPlayingValue, onPlayingValueChange, locale, labels: labelProps, disabled, slotProps, className, sx, style, role, 'aria-roledescription': roleDescription, onFocus, onBlur, onPointerEnter, onPointerLeave, ...rest }: CarouselProps): import("@emotion/react/jsx-runtime").JSX.Element;
70
+ export declare namespace Carousel {
71
+ var displayName: string;
72
+ }
73
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Carousel } from './carousel';
2
+ export type { CarouselActivation, CarouselLabels, CarouselProps, CarouselSlotProps } from './carousel';
@@ -0,0 +1,54 @@
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
4
+ export interface ChipGroupOption {
5
+ value: string;
6
+ label: ReactNode;
7
+ disabled?: boolean;
8
+ }
9
+ type StyledSlot<T extends 'div' | 'span' | 'button'> = Omit<ComponentPropsWithRef<T>, 'children' | 'role' | 'tabIndex' | 'disabled' | 'aria-disabled' | 'aria-pressed' | 'aria-expanded' | 'aria-controls'> & {
10
+ css?: Interpolation<Theme>;
11
+ };
12
+ export interface ChipGroupSlotProps {
13
+ frame?: StyledSlot<'div'>;
14
+ row?: StyledSlot<'div'>;
15
+ chip?: StyledSlot<'button'> | ((option: ChipGroupOption) => StyledSlot<'button'>);
16
+ label?: StyledSlot<'span'>;
17
+ check?: StyledSlot<'span'>;
18
+ overflow?: StyledSlot<'button'>;
19
+ }
20
+ interface ChipGroupBaseProps extends Omit<ComponentPropsWithRef<'div'>, 'defaultValue' | 'onChange' | 'children'>, SxProps {
21
+ options: readonly ChipGroupOption[];
22
+ label?: string;
23
+ allowEmpty?: boolean;
24
+ disabled?: boolean;
25
+ size?: 'sm' | 'md';
26
+ maxVisible?: number;
27
+ expanded?: boolean;
28
+ defaultExpanded?: boolean;
29
+ onExpandedChange?: (expanded: boolean) => void;
30
+ locale?: Intl.LocalesArgument;
31
+ moreLabel?: (formattedCount: string, count: number) => string;
32
+ lessLabel?: string;
33
+ slotProps?: ChipGroupSlotProps;
34
+ }
35
+ export interface ChipGroupSingleProps extends ChipGroupBaseProps {
36
+ type: 'single';
37
+ value?: string;
38
+ defaultValue?: string;
39
+ onValueChange?: (value: string) => void;
40
+ }
41
+ export interface ChipGroupMultipleProps extends ChipGroupBaseProps {
42
+ type?: 'multiple';
43
+ value?: readonly string[];
44
+ defaultValue?: readonly string[];
45
+ onValueChange?: (value: string[]) => void;
46
+ }
47
+ export type ChipGroupProps = ChipGroupSingleProps | ChipGroupMultipleProps;
48
+ /** Clearable pressed-button filters. Arrows (horizontal RTL-aware), Home/End move focus only;
49
+ * Enter/Space toggle. Multiple values are emitted in option order, not activation order. */
50
+ export declare function ChipGroup({ ref, options, type, value: valueProp, defaultValue, onValueChange, label, allowEmpty, disabled, size, maxVisible, expanded: expandedProp, defaultExpanded, onExpandedChange, locale, moreLabel, lessLabel, slotProps, className, sx, onKeyDown, onBlur, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, ...rest }: ChipGroupProps): import("@emotion/react/jsx-runtime").JSX.Element;
51
+ export declare namespace ChipGroup {
52
+ var displayName: string;
53
+ }
54
+ export {};
@@ -0,0 +1 @@
1
+ export { ChipGroup, type ChipGroupProps, type ChipGroupOption, type ChipGroupSingleProps, type ChipGroupMultipleProps, type ChipGroupSlotProps, } from './chip-group';
@@ -0,0 +1,58 @@
1
+ import { type ComponentPropsWithRef, type Ref } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
4
+ import { type CopyButtonProps } from '../copy-button';
5
+ export interface CodeBlockSlotPartProps {
6
+ className?: string;
7
+ css?: Interpolation<Theme>;
8
+ }
9
+ export interface CodeBlockSlotProps {
10
+ header?: CodeBlockSlotPartProps;
11
+ label?: CodeBlockSlotPartProps;
12
+ language?: CodeBlockSlotPartProps;
13
+ sourceFrame?: CodeBlockSlotPartProps;
14
+ gutter?: CodeBlockSlotPartProps;
15
+ pre?: CodeBlockSlotPartProps;
16
+ code?: CodeBlockSlotPartProps;
17
+ toggle?: CodeBlockSlotPartProps;
18
+ }
19
+ export interface CodeHighlightToken {
20
+ content: string;
21
+ /** Any CSS color; token references (`vars.color.syntax*`) follow the theme. */
22
+ color?: string;
23
+ fontStyle?: 'normal' | 'italic';
24
+ }
25
+ /** One token list per source line, without line terminators. */
26
+ export type CodeHighlightLines = readonly (readonly CodeHighlightToken[])[];
27
+ export interface CodeHighlightRequest {
28
+ code: string;
29
+ language?: string;
30
+ }
31
+ /** Tokenizes `code`; `null` (e.g. an unsupported language) keeps plain text. */
32
+ export type CodeHighlightLoader = (request: CodeHighlightRequest) => CodeHighlightLines | null | PromiseLike<CodeHighlightLines | null>;
33
+ export interface CodeBlockProps extends Omit<ComponentPropsWithRef<'section'>, 'children' | 'onChange'>, SxProps {
34
+ code: string;
35
+ filename?: string;
36
+ language?: string;
37
+ label?: string;
38
+ sourceLabel?: string;
39
+ maxLines?: number;
40
+ open?: boolean;
41
+ defaultOpen?: boolean;
42
+ onOpenChange?: (open: boolean) => void;
43
+ lineNumbers?: boolean;
44
+ locale?: Intl.LocalesArgument;
45
+ getExpandLabel?: (count: number, formatted: string) => string;
46
+ collapseLabel?: string;
47
+ copyable?: boolean;
48
+ copyButtonProps?: Partial<Omit<CopyButtonProps, 'text' | 'ref'>>;
49
+ preRef?: Ref<HTMLPreElement>;
50
+ /** Syntax highlighting loader, read when `code` or `language` changes. */
51
+ highlight?: CodeHighlightLoader;
52
+ slotProps?: CodeBlockSlotProps;
53
+ css?: Interpolation<Theme>;
54
+ }
55
+ export declare function CodeBlock({ ref, code, filename, language, label, sourceLabel, maxLines, open, defaultOpen, onOpenChange, lineNumbers, locale, getExpandLabel, collapseLabel, copyable, copyButtonProps, preRef, highlight, slotProps, className, sx, 'aria-label': ariaLabel, 'aria-labelledby': labelledBy, ...rest }: CodeBlockProps): import("@emotion/react/jsx-runtime").JSX.Element;
56
+ export declare namespace CodeBlock {
57
+ var displayName: string;
58
+ }
@@ -0,0 +1 @@
1
+ export { CodeBlock, type CodeBlockProps, type CodeBlockSlotProps, type CodeBlockSlotPartProps, type CodeHighlightLines, type CodeHighlightLoader, type CodeHighlightRequest, type CodeHighlightToken, } from './code-block';
@@ -0,0 +1,3 @@
1
+ import type { CodeHighlightLoader } from './code-block';
2
+ /** Highlights js/ts/json/css/bash/html with shiki; any other language resolves to `null` (plain text). */
3
+ export declare const loadShikiHighlight: CodeHighlightLoader;
@@ -35,7 +35,7 @@ export interface ComboboxItemProps extends ComponentPropsWithRef<'div'>, SxProps
35
35
  }
36
36
  export interface ComboboxEmptyProps extends ComponentPropsWithRef<'div'>, SxProps {
37
37
  }
38
- declare function ComboboxRoot({ value: valueProp, defaultValue, onValueChange, open: openProp, defaultOpen, onOpenChange, name, filter, onInputChange, children, }: ComboboxProps): import("@emotion/react/jsx-runtime").JSX.Element;
38
+ declare function ComboboxRoot(props: ComboboxProps): import("@emotion/react/jsx-runtime").JSX.Element;
39
39
  declare function ComboboxInput({ ref, inputValue, defaultInputValue, label, description, error, size, slotProps, className, sx, id: idProp, onChange, onKeyDown, onBlur, disabled, ...rest }: ComboboxInputProps): import("@emotion/react/jsx-runtime").JSX.Element;
40
40
  declare function ComboboxList({ ref, id: idProp, style, onMouseDown, children, className, sx, ...rest }: ComboboxListProps): import("@emotion/react/jsx-runtime").JSX.Element;
41
41
  declare function ComboboxItem({ ref, value, disabled, onClick, children, className, sx, ...rest }: ComboboxItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -35,7 +35,7 @@ export interface CommandPaletteItemProps extends Omit<ComponentPropsWithRef<'div
35
35
  /** Extra text the filter matches against (synonyms, aliases). */
36
36
  keywords?: string;
37
37
  }
38
- declare function CommandPaletteRoot({ open: openProp, defaultOpen, onOpenChange, label, filter, emptyMessage, formatResultCount, children, }: CommandPaletteProps): import("@emotion/react/jsx-runtime").JSX.Element;
38
+ declare function CommandPaletteRoot(props: CommandPaletteProps): import("@emotion/react/jsx-runtime").JSX.Element;
39
39
  declare function CommandPaletteTrigger({ ref, onClick, className, sx, ...rest }: CommandPaletteTriggerProps): import("@emotion/react/jsx-runtime").JSX.Element;
40
40
  declare function CommandPaletteContent({ ref, className, sx, ...props }: CommandPaletteContentProps): import("@emotion/react/jsx-runtime").JSX.Element;
41
41
  declare function CommandPaletteInput({ ref, onChange, onKeyDown, className, sx, ...rest }: CommandPaletteInputProps): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,49 @@
1
+ import { type ComponentPropsWithoutRef, type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ import type { SxProps } from '../../styling/sx';
4
+ import { type ButtonSize, type ButtonTone, type ButtonVariant } from '../button';
5
+ export type CopyButtonValue = 'idle' | 'pending' | 'copied' | 'error';
6
+ export type CopyButtonIcons = Partial<Record<CopyButtonValue, ReactNode>>;
7
+ export interface CopyButtonSlotPartProps extends ComponentPropsWithoutRef<'span'> {
8
+ css?: Interpolation<Theme>;
9
+ }
10
+ export interface CopyButtonSlotProps {
11
+ icon?: CopyButtonSlotPartProps;
12
+ label?: CopyButtonSlotPartProps;
13
+ status?: CopyButtonSlotPartProps;
14
+ }
15
+ export interface CopyButtonProps extends Omit<ComponentPropsWithRef<'button'>, 'children' | 'value' | 'defaultValue' | 'color' | 'type'>, SxProps {
16
+ /** The string written to the clipboard. An empty string is a valid payload. */
17
+ text: string;
18
+ /** Accessible name and idle face, e.g. "Copy command". */
19
+ label: string;
20
+ /** Face and announcement while the write is in flight. */
21
+ pendingLabel: string;
22
+ /** Face and announcement after a successful write. */
23
+ copiedLabel: string;
24
+ /** Face and announcement after a failed or unavailable write. */
25
+ errorLabel: string;
26
+ /** Hides the visible label; the accessible name and announcements stay. */
27
+ iconOnly?: boolean;
28
+ /** Decorative icon per face; a supplied key replaces the default, including `null` for none. */
29
+ icons?: CopyButtonIcons;
30
+ value?: CopyButtonValue;
31
+ defaultValue?: CopyButtonValue;
32
+ onValueChange?: (value: CopyButtonValue) => void;
33
+ /** Called once per successful write with the text captured at activation. */
34
+ onCopied?: (text: string) => void;
35
+ /** Called once per failed write, including a missing Clipboard API. */
36
+ onCopyError?: (error: unknown) => void;
37
+ /** Milliseconds before `copied`/`error` request `idle`; 0 keeps the result face. */
38
+ resetAfterMs?: number;
39
+ variant?: ButtonVariant;
40
+ tone?: ButtonTone;
41
+ size?: ButtonSize;
42
+ slotProps?: CopyButtonSlotProps;
43
+ /** Consumer style overrides, merged after the component's own styles. */
44
+ css?: Interpolation<Theme>;
45
+ }
46
+ export declare function CopyButton({ ref, text, label, pendingLabel, copiedLabel, errorLabel, iconOnly, icons, value, defaultValue, onValueChange, onCopied, onCopyError, resetAfterMs, variant, tone, size, slotProps, disabled, onClick, className, css: cssProp, sx, ...rest }: CopyButtonProps): import("@emotion/react/jsx-runtime").JSX.Element;
47
+ export declare namespace CopyButton {
48
+ var displayName: string;
49
+ }
@@ -0,0 +1,2 @@
1
+ export { CopyButton } from './copy-button';
2
+ export type { CopyButtonIcons, CopyButtonProps, CopyButtonSlotPartProps, CopyButtonSlotProps, CopyButtonValue, } from './copy-button';
@@ -0,0 +1,37 @@
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
4
+ export type CountdownUnit = 'days' | 'hours' | 'minutes' | 'seconds';
5
+ export type CountdownVariant = 'display' | 'compact';
6
+ export interface CountdownPartProps {
7
+ className?: string;
8
+ css?: Interpolation<Theme>;
9
+ }
10
+ export interface CountdownProps extends Omit<ComponentPropsWithRef<'div'>, 'children'>, SxProps {
11
+ /** Exact instant: epoch milliseconds, Date, or an ISO date-time with Z or an explicit offset. */
12
+ target: Date | number | string;
13
+ variant?: CountdownVariant;
14
+ units?: readonly CountdownUnit[];
15
+ label?: ReactNode;
16
+ locale?: Intl.LocalesArgument;
17
+ unitDisplay?: 'long' | 'short' | 'narrow';
18
+ completeLabel?: ReactNode;
19
+ completeText?: string;
20
+ pendingLabel?: ReactNode;
21
+ invalidLabel?: ReactNode;
22
+ invalidText?: string;
23
+ /** Authoritative epoch-ms source. Background callbacks run at the first executable wake-up. */
24
+ clock?: () => number;
25
+ /** Shared server snapshot for identical SSR and hydration output. */
26
+ initialNow?: number;
27
+ /** Once per resolved target identity, including a target already elapsed at mount. */
28
+ onComplete?: (targetEpochMs: number) => void;
29
+ announceCompletion?: boolean;
30
+ completionIcon?: ReactNode;
31
+ slotProps?: Partial<Record<'label' | 'content' | 'unit' | 'number' | 'complete' | 'icon' | 'description', CountdownPartProps>>;
32
+ }
33
+ /** Noninteractive ARIA timer. Tab and every other key pass through; no focus or editable state. */
34
+ export declare function Countdown({ ref, target, variant, units, label, locale, unitDisplay, completeLabel, completeText, pendingLabel, invalidLabel, invalidText, clock, initialNow, onComplete, announceCompletion, completionIcon, slotProps, className, sx, 'aria-labelledby': externalLabel, 'aria-describedby': externalDescription, 'aria-label': ariaLabel, ...rest }: CountdownProps): import("@emotion/react/jsx-runtime").JSX.Element;
35
+ export declare namespace Countdown {
36
+ var displayName: string;
37
+ }
@@ -0,0 +1 @@
1
+ export { Countdown, type CountdownProps, type CountdownUnit, type CountdownVariant, type CountdownPartProps, } from './countdown';
@@ -32,7 +32,7 @@ export interface DatePickerInputProps extends Omit<TextFieldProps, 'value' | 'de
32
32
  }
33
33
  /** The popup renders its own calendar. */
34
34
  export type DatePickerPopupProps = Omit<ComponentPropsWithRef<'div'>, 'children'> & SxProps;
35
- declare function DatePickerRoot({ value: valueProp, defaultValue, onValueChange, open: openProp, defaultOpen, onOpenChange, min: minProp, max: maxProp, locale: localeProp, firstDayOfWeek, disabled: disabledProp, name, placeholder: placeholderProp, children, }: DatePickerProps): import("@emotion/react/jsx-runtime").JSX.Element;
35
+ declare function DatePickerRoot(props: DatePickerProps): import("@emotion/react/jsx-runtime").JSX.Element;
36
36
  declare function DatePickerInput({ ref, label, id: idProp, disabled: disabledProp, slotProps, onKeyDown, onKeyUp, ...rest }: DatePickerInputProps): import("@emotion/react/jsx-runtime").JSX.Element;
37
37
  declare function DatePickerPopup({ ref, style, className, sx, ...rest }: DatePickerPopupProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
38
38
  export declare const DatePicker: typeof DatePickerRoot & {
@@ -0,0 +1,103 @@
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
4
+ import { type CalendarRange, type CalendarWeekday } from '../calendar';
5
+ /** Inclusive range of 'YYYY-MM-DD' dates. */
6
+ export type DateRangeValue = CalendarRange;
7
+ export type DateRangePickerMonths = 'auto' | 1 | 2;
8
+ export type DateRangePickerSize = 'sm' | 'md' | 'lg';
9
+ export interface DateRangePreset {
10
+ id: string;
11
+ label: ReactNode;
12
+ /** The preset's range for the given 'YYYY-MM-DD' today. Out-of-bounds results disable the preset. */
13
+ range: (today: string) => DateRangeValue;
14
+ }
15
+ export interface DateRangePickerSummaryDetails {
16
+ /** The range as Intl formats it, e.g. "Oct 3 – 9, 2026". */
17
+ range: string;
18
+ /** Inclusive day count, for plural selection. */
19
+ days: number;
20
+ /** `days` as Intl.NumberFormat formats it in the locale. */
21
+ formattedDays: string;
22
+ }
23
+ export interface DateRangePickerMessages {
24
+ apply: ReactNode;
25
+ cancel: ReactNode;
26
+ /** Summary while no range is drafted. */
27
+ empty: ReactNode;
28
+ /** Description of the range's first day. */
29
+ start: string;
30
+ /** Description of the range's last day. */
31
+ end: string;
32
+ /** Summary of the drafted (or previewed) range; select plurals from `days`. */
33
+ summary: (details: DateRangePickerSummaryDetails) => ReactNode;
34
+ /** Accessible name of the preset group. */
35
+ presets?: string;
36
+ /** Alert shown next to the trigger while the field is invalid. */
37
+ error?: ReactNode;
38
+ /** Joined to the trigger's name when `required` is set. */
39
+ required?: string;
40
+ }
41
+ export interface DateRangePickerProps {
42
+ value?: DateRangeValue | null;
43
+ defaultValue?: DateRangeValue | null;
44
+ /** Apply request; a structurally unchanged range is not requested. Controlled values may reject it. */
45
+ onValueChange?: (range: DateRangeValue | null) => void;
46
+ open?: boolean;
47
+ defaultOpen?: boolean;
48
+ onOpenChange?: (open: boolean) => void;
49
+ /** Earliest selectable date, 'YYYY-MM-DD'. */
50
+ min?: string;
51
+ /** Latest selectable date, 'YYYY-MM-DD'. */
52
+ max?: string;
53
+ /** BCP 47 tag. Defaults to `navigator.language` (the Intl default on the server). */
54
+ locale?: string;
55
+ /** Defaults to the locale's week start. */
56
+ firstDayOfWeek?: CalendarWeekday;
57
+ /** 'YYYY-MM-DD' used for presets and the today marker. Defaults to the local civil date. */
58
+ today?: string;
59
+ /** `auto` shows two months when the boundary leaves at least 712px. */
60
+ months?: DateRangePickerMonths;
61
+ /** Collision boundary of the dialog. Defaults to the clipping ancestors and the viewport. */
62
+ boundary?: HTMLElement | null;
63
+ presets?: readonly DateRangePreset[];
64
+ /** Blocks the popup, even with controlled open=true, and omits the form fields. */
65
+ disabled?: boolean;
66
+ /** The dialog opens for inspection; days, presets and Apply change nothing. */
67
+ readOnly?: boolean;
68
+ required?: boolean;
69
+ /** Hidden form field carrying the start date ('' when empty). */
70
+ startName?: string;
71
+ /** Hidden form field carrying the end date ('' when empty). */
72
+ endName?: string;
73
+ messages: DateRangePickerMessages;
74
+ /** One Trigger and one Content. */
75
+ children?: ReactNode;
76
+ }
77
+ export interface DateRangePickerTriggerProps extends Omit<ComponentPropsWithRef<'button'>, 'value' | 'defaultValue' | 'children'>, SxProps {
78
+ size?: DateRangePickerSize;
79
+ /** Decorative icon before the range text. */
80
+ icon?: ReactNode;
81
+ /** Shown while no valid range is committed. */
82
+ placeholder?: ReactNode;
83
+ }
84
+ export interface DateRangePickerSlotProps {
85
+ className?: string;
86
+ css?: Interpolation<Theme>;
87
+ }
88
+ export interface DateRangePickerContentProps extends Omit<ComponentPropsWithRef<'div'>, 'children'>, SxProps {
89
+ slotProps?: {
90
+ presets?: DateRangePickerSlotProps;
91
+ calendars?: DateRangePickerSlotProps;
92
+ summary?: DateRangePickerSlotProps;
93
+ actions?: DateRangePickerSlotProps;
94
+ };
95
+ }
96
+ declare function DateRangePickerRoot(props: DateRangePickerProps): import("@emotion/react/jsx-runtime").JSX.Element;
97
+ declare function DateRangePickerTrigger({ ref, id: idProp, size, icon, placeholder, className, sx, onKeyDown, onKeyUp, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, 'aria-invalid': ariaInvalidProp, ...rest }: DateRangePickerTriggerProps): import("@emotion/react/jsx-runtime").JSX.Element;
98
+ declare function DateRangePickerContent(props: DateRangePickerContentProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
99
+ export declare const DateRangePicker: typeof DateRangePickerRoot & {
100
+ Trigger: typeof DateRangePickerTrigger;
101
+ Content: typeof DateRangePickerContent;
102
+ };
103
+ export {};
@@ -0,0 +1,2 @@
1
+ export { DateRangePicker } from './date-range-picker';
2
+ export type { DateRangePickerContentProps, DateRangePickerMessages, DateRangePickerMonths, DateRangePickerProps, DateRangePickerSize, DateRangePickerSlotProps, DateRangePickerSummaryDetails, DateRangePickerTriggerProps, DateRangePreset, DateRangeValue, } from './date-range-picker';
@@ -0,0 +1,59 @@
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
3
+ export type DrawerSide = 'inline-start' | 'inline-end' | 'top' | 'bottom';
4
+ export type DrawerSize = 'sm' | 'md' | 'lg';
5
+ export interface DrawerProps {
6
+ open?: boolean;
7
+ defaultOpen?: boolean;
8
+ onOpenChange?: (open: boolean) => void;
9
+ /** Viewport edge the panel attaches to. Inline sides follow the drawer's effective direction. */
10
+ side?: DrawerSide;
11
+ /** Inline size cap for inline sides. Top/bottom panels span the viewport and ignore it. */
12
+ size?: DrawerSize;
13
+ /** Lets the header drag the panel toward its edge to dismiss. Ignored under reduced motion. */
14
+ draggable?: boolean;
15
+ children?: ReactNode;
16
+ }
17
+ export interface DrawerTriggerProps extends ComponentPropsWithRef<'button'>, SxProps {
18
+ }
19
+ export interface DrawerContentProps extends Omit<ComponentPropsWithRef<'dialog'>, 'open'>, SxProps {
20
+ /** Set false to keep structured content out of the drawer's accessible description. */
21
+ withDescription?: boolean;
22
+ }
23
+ export interface DrawerPanelProps extends ComponentPropsWithRef<'div'>, SxProps {
24
+ }
25
+ export interface DrawerHeaderProps extends ComponentPropsWithRef<'div'>, SxProps {
26
+ }
27
+ export interface DrawerBodyProps extends ComponentPropsWithRef<'div'>, SxProps {
28
+ }
29
+ export interface DrawerFooterProps extends ComponentPropsWithRef<'div'>, SxProps {
30
+ }
31
+ export interface DrawerTitleProps extends ComponentPropsWithRef<'h2'>, SxProps {
32
+ }
33
+ export interface DrawerDescriptionProps extends ComponentPropsWithRef<'p'>, SxProps {
34
+ }
35
+ /** Needs visible children or a localized `aria-label`; the library ships no default label. */
36
+ export interface DrawerCloseProps extends ComponentPropsWithRef<'button'>, SxProps {
37
+ }
38
+ declare function DrawerRoot({ open: openProp, defaultOpen, onOpenChange, side, size, draggable, children, }: DrawerProps): import("@emotion/react/jsx-runtime").JSX.Element;
39
+ declare function DrawerTrigger({ ref, onClick, className, sx, ...rest }: DrawerTriggerProps): import("@emotion/react/jsx-runtime").JSX.Element;
40
+ declare function DrawerContent({ ref, className, sx, ...props }: DrawerContentProps): import("@emotion/react/jsx-runtime").JSX.Element;
41
+ declare function DrawerPanel({ ref, className, sx, ...props }: DrawerPanelProps): import("@emotion/react/jsx-runtime").JSX.Element;
42
+ declare function DrawerHeader({ ref, className, sx, ...props }: DrawerHeaderProps): import("@emotion/react/jsx-runtime").JSX.Element;
43
+ declare function DrawerBody({ ref, className, sx, ...props }: DrawerBodyProps): import("@emotion/react/jsx-runtime").JSX.Element;
44
+ declare function DrawerFooter({ ref, className, sx, ...props }: DrawerFooterProps): import("@emotion/react/jsx-runtime").JSX.Element;
45
+ declare function DrawerTitle({ ref, className, sx, children, ...props }: DrawerTitleProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
46
+ declare function DrawerDescription({ ref, className, sx, children, ...props }: DrawerDescriptionProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
47
+ declare function DrawerClose({ ref, onClick, className, sx, ...rest }: DrawerCloseProps): import("@emotion/react/jsx-runtime").JSX.Element;
48
+ export declare const Drawer: typeof DrawerRoot & {
49
+ Trigger: typeof DrawerTrigger;
50
+ Content: typeof DrawerContent;
51
+ Panel: typeof DrawerPanel;
52
+ Header: typeof DrawerHeader;
53
+ Body: typeof DrawerBody;
54
+ Footer: typeof DrawerFooter;
55
+ Title: typeof DrawerTitle;
56
+ Description: typeof DrawerDescription;
57
+ Close: typeof DrawerClose;
58
+ };
59
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Drawer } from './drawer';
2
+ export type { DrawerBodyProps, DrawerCloseProps, DrawerContentProps, DrawerDescriptionProps, DrawerFooterProps, DrawerHeaderProps, DrawerPanelProps, DrawerProps, DrawerSide, DrawerSize, DrawerTitleProps, DrawerTriggerProps, } from './drawer';
@@ -0,0 +1,36 @@
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
4
+ import type { CardHeadingLevel } from '../card';
5
+ export type EmptyStateVariant = 'centered' | 'inline';
6
+ export interface EmptyStatePartProps {
7
+ className?: string;
8
+ css?: Interpolation<Theme>;
9
+ }
10
+ export interface EmptyStateSlotProps {
11
+ icon?: EmptyStatePartProps;
12
+ content?: EmptyStatePartProps;
13
+ title?: EmptyStatePartProps;
14
+ description?: EmptyStatePartProps;
15
+ action?: EmptyStatePartProps;
16
+ }
17
+ export interface EmptyStateProps extends Omit<ComponentPropsWithRef<'section'>, 'title' | 'children'>, SxProps {
18
+ /** Visible heading. */
19
+ title: ReactNode;
20
+ description?: ReactNode;
21
+ /** Decorative; hidden from assistive tech. Never put interactive content here. */
22
+ icon?: ReactNode;
23
+ /** Caller-owned controls (Button, link), rendered as given. */
24
+ action?: ReactNode;
25
+ headingLevel?: CardHeadingLevel;
26
+ variant?: EmptyStateVariant;
27
+ slotProps?: EmptyStateSlotProps;
28
+ }
29
+ /**
30
+ * Empty view with a literal next action. Use Skeleton while content is pending and Alert for an
31
+ * error next to existing content. The caller owns copy, translations and result announcements.
32
+ */
33
+ export declare function EmptyState({ ref, title, description, icon, action, headingLevel, variant, slotProps, className, sx, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, ...rest }: EmptyStateProps): import("@emotion/react/jsx-runtime").JSX.Element;
34
+ export declare namespace EmptyState {
35
+ var displayName: string;
36
+ }
@@ -0,0 +1,2 @@
1
+ export { EmptyState } from './empty-state';
2
+ export type { EmptyStatePartProps, EmptyStateProps, EmptyStateSlotProps, EmptyStateVariant } from './empty-state';
@@ -0,0 +1,28 @@
1
+ import { type ComponentPropsWithRef } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
3
+ export interface ExpandableCardProps extends Omit<ComponentPropsWithRef<'article'>, 'defaultValue' | 'onChange'>, SxProps {
4
+ open?: boolean;
5
+ defaultOpen?: boolean;
6
+ onOpenChange?: (open: boolean) => void;
7
+ collapsedInlineSize?: number;
8
+ expandedInlineSize?: number;
9
+ size?: 'sm' | 'md';
10
+ disabled?: boolean;
11
+ headingLevel?: 2 | 3 | 4;
12
+ }
13
+ export type ExpandableCardTriggerProps = ComponentPropsWithRef<'button'> & SxProps;
14
+ export type ExpandableCardTitleProps = ComponentPropsWithRef<'span'> & SxProps;
15
+ export type ExpandableCardDescriptionProps = ComponentPropsWithRef<'span'> & SxProps;
16
+ export type ExpandableCardContentProps = Omit<ComponentPropsWithRef<'div'>, 'hidden'> & SxProps;
17
+ declare function ExpandableCardRoot({ ref, open: openProp, defaultOpen, onOpenChange, collapsedInlineSize, expandedInlineSize, size, disabled, headingLevel, className, sx, onKeyDown, children, ...rest }: ExpandableCardProps): import("@emotion/react/jsx-runtime").JSX.Element;
18
+ declare function ExpandableCardTrigger({ ref, className, sx, onClick, disabled, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, ...rest }: ExpandableCardTriggerProps): import("@emotion/react/jsx-runtime").JSX.Element;
19
+ declare function ExpandableCardTitle({ ref, className, sx, children, ...rest }: ExpandableCardTitleProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
20
+ declare function ExpandableCardDescription({ ref, className, sx, children, ...rest }: ExpandableCardDescriptionProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
21
+ declare function ExpandableCardContent({ ref, className, sx, children, 'aria-labelledby': labelledBy, 'aria-describedby': describedBy, ...rest }: ExpandableCardContentProps): import("@emotion/react/jsx-runtime").JSX.Element;
22
+ export declare const ExpandableCard: typeof ExpandableCardRoot & {
23
+ Trigger: typeof ExpandableCardTrigger;
24
+ Title: typeof ExpandableCardTitle;
25
+ Description: typeof ExpandableCardDescription;
26
+ Content: typeof ExpandableCardContent;
27
+ };
28
+ export {};
@@ -0,0 +1,2 @@
1
+ export { ExpandableCard } from './expandable-card';
2
+ export type { ExpandableCardProps, ExpandableCardTriggerProps, ExpandableCardTitleProps, ExpandableCardDescriptionProps, ExpandableCardContentProps, } from './expandable-card';
@@ -29,17 +29,19 @@ export declare function useFieldAnatomy({ id: idProp, description, error, 'aria-
29
29
  interface FieldRootProps extends SxProps {
30
30
  'data-ui': string;
31
31
  className?: string;
32
+ dir?: string;
32
33
  part?: FieldPartProps;
33
34
  children: ReactNode;
34
35
  }
35
- export declare function FieldRoot({ 'data-ui': dataUi, className, sx, part, children }: FieldRootProps): import("@emotion/react/jsx-runtime").JSX.Element;
36
+ export declare function FieldRoot({ 'data-ui': dataUi, className, dir, sx, part, children }: FieldRootProps): import("@emotion/react/jsx-runtime").JSX.Element;
36
37
  interface FieldLabelProps {
38
+ id?: string;
37
39
  htmlFor: string;
38
40
  required?: boolean;
39
41
  part?: FieldPartProps;
40
42
  children: ReactNode;
41
43
  }
42
- export declare function FieldLabel({ htmlFor, required, part, children }: FieldLabelProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
44
+ export declare function FieldLabel({ id, htmlFor, required, part, children }: FieldLabelProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
43
45
  interface FieldMessageProps {
44
46
  id: string;
45
47
  part?: FieldPartProps;