@jfrader/ui 0.1.2 → 0.3.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 (156) hide show
  1. package/README.md +1 -1
  2. package/dist/accordion-Bd-j04hW.js +198 -0
  3. package/dist/accordion.js +1 -1
  4. package/dist/{alert-CA9ZlIZp.js → alert-BBqaKI4k.js} +57 -52
  5. package/dist/alert.js +1 -1
  6. package/dist/{avatar-IUW4yJl0.js → avatar-BahDVO9t.js} +40 -33
  7. package/dist/avatar.js +1 -1
  8. package/dist/{badge-Bru30HEn.js → badge-B_sLygxU.js} +32 -27
  9. package/dist/badge.js +1 -1
  10. package/dist/breadcrumbs-DVAOxfvL.js +141 -0
  11. package/dist/breadcrumbs.js +1 -1
  12. package/dist/{button-Cmixur4Q.js → button-P2e7_44z.js} +65 -53
  13. package/dist/button.js +1 -1
  14. package/dist/calendar-C9Yad_-w.js +394 -0
  15. package/dist/calendar.js +1 -1
  16. package/dist/card-D-aI2QHx.js +158 -0
  17. package/dist/card.js +1 -1
  18. package/dist/checkbox-COYG6L7d.js +140 -0
  19. package/dist/checkbox.js +1 -1
  20. package/dist/{choice-control-ByFogYcT.js → choice-control-5kJkLXgv.js} +1 -1
  21. package/dist/{collection-registry-1l9f3XJZ.js → collection-registry-BTYi6zGh.js} +1 -1
  22. package/dist/combobox-DrmjBbo7.js +327 -0
  23. package/dist/combobox.js +1 -1
  24. package/dist/command-palette-V_2pEay7.js +379 -0
  25. package/dist/command-palette.js +1 -1
  26. package/dist/container-BOaSptJa.js +41 -0
  27. package/dist/container.js +1 -1
  28. package/dist/{date-picker-DrHJMt2p.js → date-picker-ClUYBIBh.js} +69 -59
  29. package/dist/date-picker.js +1 -1
  30. package/dist/dialog-xaydbXl2.js +218 -0
  31. package/dist/dialog.js +1 -1
  32. package/dist/divider-DYoJf0I_.js +84 -0
  33. package/dist/divider.js +1 -1
  34. package/dist/field-anatomy-D2ToMeRa.js +109 -0
  35. package/dist/flex-Dh-_J5-U.js +28 -0
  36. package/dist/flex.js +1 -1
  37. package/dist/{icon-wrapper-CFWzew5m.js → icon-wrapper-stN8sD7R.js} +1 -1
  38. package/dist/index.js +38 -37
  39. package/dist/{kbd-B03_qIwQ.js → kbd-C3ACoMoE.js} +36 -21
  40. package/dist/kbd.js +1 -1
  41. package/dist/{layout-style-7ZTOiWGR.js → layout-style-Cbd1Vilw.js} +1 -1
  42. package/dist/{loading-ring-BpdB0aFi.js → loading-ring-B8-30Dl1.js} +1 -1
  43. package/dist/menu-DU60SMdt.js +216 -0
  44. package/dist/menu.js +1 -1
  45. package/dist/navigation-DhnKriOp.js +197 -0
  46. package/dist/navigation.js +1 -1
  47. package/dist/pagination-DYdwsxwe.js +156 -0
  48. package/dist/pagination.js +1 -1
  49. package/dist/{pill-CrVqffKM.js → pill-DO2gHzMb.js} +16 -10
  50. package/dist/pill.js +1 -1
  51. package/dist/popover-BtN_0ejj.js +113 -0
  52. package/dist/popover.js +1 -1
  53. package/dist/progress-BpJswTG4.js +90 -0
  54. package/dist/progress.js +1 -1
  55. package/dist/radio-group-Ce0_IWQr.js +145 -0
  56. package/dist/radio-group.js +1 -1
  57. package/dist/select-BCS0-LVW.js +286 -0
  58. package/dist/select.js +1 -1
  59. package/dist/{skeleton-gJ4ImO5u.js → skeleton-OoFlOEXO.js} +24 -18
  60. package/dist/skeleton.js +1 -1
  61. package/dist/spinner-C2YDoiMn.js +56 -0
  62. package/dist/spinner.js +1 -1
  63. package/dist/stack-DC3IbtWk.js +27 -0
  64. package/dist/stack.js +1 -1
  65. package/dist/{switch-2hm2WnWt.js → switch-Dr-qjmT4.js} +63 -57
  66. package/dist/switch.js +1 -1
  67. package/dist/sx-Dx9JUKp5.js +23 -0
  68. package/dist/tabs-CK_g1RKa.js +203 -0
  69. package/dist/tabs.js +1 -1
  70. package/dist/text-field-D60ok14S.js +76 -0
  71. package/dist/text-field.js +1 -1
  72. package/dist/textarea-DyfjtP0A.js +86 -0
  73. package/dist/textarea.js +1 -1
  74. package/dist/theme-root-BiXXvQvr.js +42 -0
  75. package/dist/theme-root.js +1 -1
  76. package/dist/{toast-D3Y6OAsg.js → toast-iqelR-r0.js} +41 -30
  77. package/dist/toast.js +1 -1
  78. package/dist/toggle-group-CI0e7hFm.js +166 -0
  79. package/dist/toggle-group.js +1 -1
  80. package/dist/tooltip-CB-HC1js.js +108 -0
  81. package/dist/tooltip.js +1 -1
  82. package/dist/{trigger-style-B1GFmH7M.js → trigger-style-B1KVC8O1.js} +1 -1
  83. package/dist/types/components/accordion/accordion.d.ts +14 -9
  84. package/dist/types/components/alert/alert.d.ts +7 -3
  85. package/dist/types/components/avatar/avatar.d.ts +7 -3
  86. package/dist/types/components/badge/badge.d.ts +7 -3
  87. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +9 -5
  88. package/dist/types/components/button/button.d.ts +7 -3
  89. package/dist/types/components/calendar/calendar.d.ts +12 -7
  90. package/dist/types/components/card/card.d.ts +21 -13
  91. package/dist/types/components/checkbox/checkbox.d.ts +7 -3
  92. package/dist/types/components/combobox/combobox.d.ts +13 -8
  93. package/dist/types/components/command-palette/command-palette.d.ts +23 -15
  94. package/dist/types/components/container/container.d.ts +7 -3
  95. package/dist/types/components/date-picker/date-picker.d.ts +7 -4
  96. package/dist/types/components/dialog/dialog.d.ts +17 -11
  97. package/dist/types/components/divider/divider.d.ts +7 -3
  98. package/dist/types/components/field/field-anatomy.d.ts +3 -2
  99. package/dist/types/components/flex/flex.d.ts +7 -3
  100. package/dist/types/components/kbd/kbd.d.ts +9 -5
  101. package/dist/types/components/menu/menu.d.ts +14 -9
  102. package/dist/types/components/navigation/navigation.d.ts +12 -7
  103. package/dist/types/components/pagination/pagination.d.ts +7 -3
  104. package/dist/types/components/pill/pill.d.ts +7 -3
  105. package/dist/types/components/popover/popover.d.ts +8 -5
  106. package/dist/types/components/progress/progress.d.ts +7 -3
  107. package/dist/types/components/radio-group/radio-group.d.ts +9 -5
  108. package/dist/types/components/select/select.d.ts +14 -9
  109. package/dist/types/components/skeleton/skeleton.d.ts +7 -3
  110. package/dist/types/components/spinner/spinner.d.ts +7 -3
  111. package/dist/types/components/stack/stack.d.ts +4 -1
  112. package/dist/types/components/switch/switch.d.ts +7 -3
  113. package/dist/types/components/tabs/tabs.d.ts +15 -9
  114. package/dist/types/components/text-field/text-field.d.ts +7 -3
  115. package/dist/types/components/textarea/textarea.d.ts +7 -3
  116. package/dist/types/components/theme-provider/theme-provider.d.ts +11 -0
  117. package/dist/types/components/theme-root/theme-root.d.ts +7 -3
  118. package/dist/types/components/toast/toast.d.ts +7 -4
  119. package/dist/types/components/toggle-group/toggle-group.d.ts +8 -5
  120. package/dist/types/components/tooltip/tooltip.d.ts +8 -5
  121. package/dist/types/index.d.ts +4 -0
  122. package/dist/types/overlay/use-native-dialog.d.ts +2 -2
  123. package/dist/types/styling/css.d.ts +3 -2
  124. package/dist/types/styling/styled.d.ts +1 -0
  125. package/dist/types/styling/sx.d.ts +16 -0
  126. package/dist/types/styling/theme.d.ts +98 -0
  127. package/dist/{visually-hidden-DCWhf0Cb.js → visually-hidden-BJdvqqvn.js} +1 -1
  128. package/package.json +5 -4
  129. package/dist/accordion-C3YbYFBi.js +0 -169
  130. package/dist/breadcrumbs-CQaviWRc.js +0 -126
  131. package/dist/calendar-DUgS0xmp.js +0 -373
  132. package/dist/card-D9CHtouU.js +0 -121
  133. package/dist/checkbox-DKa5BCdy.js +0 -135
  134. package/dist/combobox-Dq3V88Zt.js +0 -302
  135. package/dist/command-palette-6c158eH1.js +0 -329
  136. package/dist/container-xUEIoZzj.js +0 -35
  137. package/dist/css-Cgj6sCHn.js +0 -2
  138. package/dist/dialog-C2NSOOP-.js +0 -176
  139. package/dist/divider-yF5EmhhT.js +0 -77
  140. package/dist/field-anatomy-BzGw1Ch9.js +0 -105
  141. package/dist/flex-5-NI5SSy.js +0 -22
  142. package/dist/menu-bvKRJOhJ.js +0 -187
  143. package/dist/navigation-xPoqh_Iz.js +0 -175
  144. package/dist/pagination-BIKYsxK1.js +0 -149
  145. package/dist/popover-CVAZ_C1a.js +0 -98
  146. package/dist/progress-C8bgujFI.js +0 -84
  147. package/dist/radio-group-CvQ4x8ii.js +0 -131
  148. package/dist/select-CNNiUhKB.js +0 -257
  149. package/dist/spinner-CSFiP0Oi.js +0 -50
  150. package/dist/stack-mEAryjKz.js +0 -21
  151. package/dist/tabs-GBppQabg.js +0 -174
  152. package/dist/text-field-DDPqQu29.js +0 -74
  153. package/dist/textarea-OP8_3IUR.js +0 -84
  154. package/dist/theme-root-eLka0ZP1.js +0 -21
  155. package/dist/toggle-group-BxzJ-6Cp.js +0 -151
  156. package/dist/tooltip-CVl8HS4S.js +0 -93
@@ -1,5 +1,6 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import type { ComponentPropsWithRef, ReactNode } from 'react';
2
2
  import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
3
4
  export type BadgeVariant = 'standard' | 'dot';
4
5
  export type BadgeTone = 'accent' | 'danger' | 'neutral';
5
6
  export type BadgeOverlap = 'rectangular' | 'circular';
@@ -11,7 +12,7 @@ export interface BadgePartProps {
11
12
  className?: string;
12
13
  css?: Interpolation<Theme>;
13
14
  }
14
- export interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
15
+ export interface BadgeProps extends ComponentPropsWithRef<'span'>, SxProps {
15
16
  children: ReactNode;
16
17
  badgeContent?: ReactNode;
17
18
  /** Numbers above `max` render as `max+`. */
@@ -33,4 +34,7 @@ export interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
33
34
  * - Control with an explicit `aria-label`: put the count in the label (`aria-label="Inbox, 3 unread"`).
34
35
  * - Control named by its visible text: the count is read right after the control's name.
35
36
  */
36
- export declare const Badge: import("react").ForwardRefExoticComponent<BadgeProps & import("react").RefAttributes<HTMLSpanElement>>;
37
+ export declare function Badge({ ref, children, badgeContent, max, showZero, invisible, variant, tone, anchor, overlap, slotProps, className, sx, ...rest }: BadgeProps): import("@emotion/react/jsx-runtime").JSX.Element;
38
+ export declare namespace Badge {
39
+ var displayName: string;
40
+ }
@@ -1,15 +1,19 @@
1
- import { type HTMLAttributes, type LiHTMLAttributes, type ReactNode } from 'react';
2
- export interface BreadcrumbsProps extends HTMLAttributes<HTMLElement> {
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
3
+ export interface BreadcrumbsProps extends ComponentPropsWithRef<'nav'>, SxProps {
3
4
  /** Accessible name of the navigation landmark. */
4
5
  label?: string;
5
6
  /** Rendered (aria-hidden) between items. */
6
7
  separator?: ReactNode;
7
8
  }
8
- export interface BreadcrumbsItemProps extends LiHTMLAttributes<HTMLLIElement> {
9
+ export interface BreadcrumbsItemProps extends ComponentPropsWithRef<'li'>, SxProps {
9
10
  href?: string;
10
11
  /** Marks the current page. Defaults to the last item when no item sets it. */
11
12
  current?: boolean;
12
13
  }
13
- export declare const Breadcrumbs: import("react").ForwardRefExoticComponent<BreadcrumbsProps & import("react").RefAttributes<HTMLElement>> & {
14
- Item: import("react").ForwardRefExoticComponent<BreadcrumbsItemProps & import("react").RefAttributes<HTMLLIElement>>;
14
+ declare function BreadcrumbsRoot({ ref, label, separator, children, className, sx, ...rest }: BreadcrumbsProps): import("@emotion/react/jsx-runtime").JSX.Element;
15
+ declare function BreadcrumbsItem({ ref, href, current, children, className, sx, ...rest }: BreadcrumbsItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
16
+ export declare const Breadcrumbs: typeof BreadcrumbsRoot & {
17
+ Item: typeof BreadcrumbsItem;
15
18
  };
19
+ export {};
@@ -1,5 +1,6 @@
1
- import { type ButtonHTMLAttributes, type ReactNode, type RefCallback } from 'react';
1
+ import { type ButtonHTMLAttributes, type ComponentPropsWithRef, type ReactNode, type RefCallback } from 'react';
2
2
  import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
3
4
  export type ButtonVariant = 'solid' | 'soft' | 'outline' | 'ghost';
4
5
  export type ButtonTone = 'neutral' | 'accent' | 'danger';
5
6
  export type ButtonSize = 'sm' | 'md' | 'lg';
@@ -9,7 +10,7 @@ export interface ButtonRenderProps extends Omit<ButtonHTMLAttributes<HTMLElement
9
10
  css: Interpolation<Theme>;
10
11
  'data-ui': string;
11
12
  }
12
- export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color'> {
13
+ export interface ButtonProps extends Omit<ComponentPropsWithRef<'button'>, 'color'>, SxProps {
13
14
  variant?: ButtonVariant;
14
15
  tone?: ButtonTone;
15
16
  size?: ButtonSize;
@@ -31,4 +32,7 @@ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement
31
32
  */
32
33
  render?: (props: ButtonRenderProps) => ReactNode;
33
34
  }
34
- export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
35
+ export declare function Button({ ref, variant, tone, size, loading, startIcon, endIcon, type, children, onClick, className, css: cssProp, sx, render, ...props }: ButtonProps): import("@emotion/react/jsx-runtime").JSX.Element;
36
+ export declare namespace Button {
37
+ var displayName: string;
38
+ }
@@ -1,7 +1,8 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import { type ComponentPropsWithRef } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
2
3
  /** Day of the week as counted by `Date#getUTCDay`: 0 is Sunday, 6 is Saturday. */
3
4
  export type CalendarWeekday = 0 | 1 | 2 | 3 | 4 | 5 | 6;
4
- export interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange'> {
5
+ export interface CalendarProps extends Omit<ComponentPropsWithRef<'div'>, 'defaultValue' | 'onChange'>, SxProps {
5
6
  /** Selected date, 'YYYY-MM-DD'. */
6
7
  value?: string;
7
8
  defaultValue?: string;
@@ -20,9 +21,13 @@ export interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'def
20
21
  firstDayOfWeek?: CalendarWeekday;
21
22
  }
22
23
  /** The header renders its own month buttons and label. */
23
- export type CalendarHeaderProps = Omit<HTMLAttributes<HTMLDivElement>, 'children'>;
24
- export type CalendarGridProps = HTMLAttributes<HTMLTableElement>;
25
- export declare const Calendar: import("react").ForwardRefExoticComponent<CalendarProps & import("react").RefAttributes<HTMLDivElement>> & {
26
- Header: import("react").ForwardRefExoticComponent<CalendarHeaderProps & import("react").RefAttributes<HTMLDivElement>>;
27
- Grid: import("react").ForwardRefExoticComponent<CalendarGridProps & import("react").RefAttributes<HTMLTableElement>>;
24
+ export type CalendarHeaderProps = Omit<ComponentPropsWithRef<'div'>, 'children'> & SxProps;
25
+ export type CalendarGridProps = ComponentPropsWithRef<'table'> & SxProps;
26
+ declare function CalendarRoot({ ref, value: valueProp, defaultValue, onValueChange, visibleMonth: visibleMonthProp, defaultVisibleMonth, onVisibleMonthChange, min: minProp, max: maxProp, locale: localeProp, firstDayOfWeek: firstDayOfWeekProp, className, sx, ...rest }: CalendarProps): import("@emotion/react/jsx-runtime").JSX.Element;
27
+ declare function CalendarHeader({ ref, className, sx, ...props }: CalendarHeaderProps): import("@emotion/react/jsx-runtime").JSX.Element;
28
+ declare function CalendarGrid({ ref, onKeyDown, 'aria-labelledby': ariaLabelledByProp, 'aria-label': ariaLabelProp, className, sx, ...rest }: CalendarGridProps): import("@emotion/react/jsx-runtime").JSX.Element;
29
+ export declare const Calendar: typeof CalendarRoot & {
30
+ Header: typeof CalendarHeader;
31
+ Grid: typeof CalendarGrid;
28
32
  };
33
+ export {};
@@ -1,5 +1,6 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import { type ComponentPropsWithRef } from 'react';
2
2
  import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
3
4
  export type CardVariant = 'flat' | 'raised';
4
5
  export type CardHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
5
6
  export interface CardPartProps {
@@ -14,21 +15,28 @@ export interface CardSlotProps {
14
15
  content?: CardPartProps;
15
16
  footer?: CardPartProps;
16
17
  }
17
- export interface CardProps extends HTMLAttributes<HTMLDivElement> {
18
+ export interface CardProps extends ComponentPropsWithRef<'div'>, SxProps {
18
19
  variant?: CardVariant;
19
20
  slotProps?: CardSlotProps;
20
21
  }
21
- export type CardHeaderProps = HTMLAttributes<HTMLDivElement>;
22
- export interface CardTitleProps extends HTMLAttributes<HTMLHeadingElement> {
22
+ export type CardHeaderProps = ComponentPropsWithRef<'div'> & SxProps;
23
+ export interface CardTitleProps extends ComponentPropsWithRef<'h3'>, SxProps {
23
24
  level?: CardHeadingLevel;
24
25
  }
25
- export type CardDescriptionProps = HTMLAttributes<HTMLParagraphElement>;
26
- export type CardContentProps = HTMLAttributes<HTMLDivElement>;
27
- export type CardFooterProps = HTMLAttributes<HTMLDivElement>;
28
- export declare const Card: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLDivElement>> & {
29
- Header: import("react").ForwardRefExoticComponent<CardHeaderProps & import("react").RefAttributes<HTMLDivElement>>;
30
- Title: import("react").ForwardRefExoticComponent<CardTitleProps & import("react").RefAttributes<HTMLHeadingElement>>;
31
- Description: import("react").ForwardRefExoticComponent<CardDescriptionProps & import("react").RefAttributes<HTMLParagraphElement>>;
32
- Content: import("react").ForwardRefExoticComponent<CardContentProps & import("react").RefAttributes<HTMLDivElement>>;
33
- Footer: import("react").ForwardRefExoticComponent<CardFooterProps & import("react").RefAttributes<HTMLDivElement>>;
26
+ export type CardDescriptionProps = ComponentPropsWithRef<'p'> & SxProps;
27
+ export type CardContentProps = ComponentPropsWithRef<'div'> & SxProps;
28
+ export type CardFooterProps = ComponentPropsWithRef<'div'> & SxProps;
29
+ declare function CardRoot({ ref, variant, slotProps, className, sx, ...rest }: CardProps): import("@emotion/react/jsx-runtime").JSX.Element;
30
+ declare function CardHeader({ ref, className, sx, ...rest }: CardHeaderProps): import("@emotion/react/jsx-runtime").JSX.Element;
31
+ declare function CardTitle({ ref, level, className, sx, ...rest }: CardTitleProps): import("@emotion/react/jsx-runtime").JSX.Element;
32
+ declare function CardDescription({ ref, className, sx, ...rest }: CardDescriptionProps): import("@emotion/react/jsx-runtime").JSX.Element;
33
+ declare function CardContent({ ref, className, sx, ...rest }: CardContentProps): import("@emotion/react/jsx-runtime").JSX.Element;
34
+ declare function CardFooter({ ref, className, sx, ...rest }: CardFooterProps): import("@emotion/react/jsx-runtime").JSX.Element;
35
+ export declare const Card: typeof CardRoot & {
36
+ Header: typeof CardHeader;
37
+ Title: typeof CardTitle;
38
+ Description: typeof CardDescription;
39
+ Content: typeof CardContent;
40
+ Footer: typeof CardFooter;
34
41
  };
42
+ export {};
@@ -1,11 +1,12 @@
1
- import { type InputHTMLAttributes, type ReactNode } from 'react';
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
2
  import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
3
4
  export type CheckboxSize = 'sm' | 'md';
4
5
  export interface CheckboxPartProps {
5
6
  className?: string;
6
7
  css?: Interpolation<Theme>;
7
8
  }
8
- export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
9
+ export interface CheckboxProps extends Omit<ComponentPropsWithRef<'input'>, 'size' | 'type'>, SxProps {
9
10
  label?: ReactNode;
10
11
  description?: ReactNode;
11
12
  indeterminate?: boolean;
@@ -18,4 +19,7 @@ export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement
18
19
  description?: CheckboxPartProps;
19
20
  };
20
21
  }
21
- export declare const Checkbox: import("react").ForwardRefExoticComponent<CheckboxProps & import("react").RefAttributes<HTMLInputElement>>;
22
+ export declare function Checkbox({ ref, label, description, indeterminate, size, onChange, onCheckedChange, slotProps, className, sx, 'aria-labelledby': ariaLabelledByProp, 'aria-describedby': ariaDescribedByProp, ...rest }: CheckboxProps): import("@emotion/react/jsx-runtime").JSX.Element;
23
+ export declare namespace Checkbox {
24
+ var displayName: string;
25
+ }
@@ -1,4 +1,5 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
2
3
  import { type TextFieldProps } from '../text-field';
3
4
  export interface ComboboxProps {
4
5
  /** `null` is the controlled "nothing selected" state. */
@@ -25,20 +26,24 @@ export interface ComboboxInputProps extends Omit<TextFieldProps, 'value' | 'defa
25
26
  /** Initial input text; when set, it filters the options from the first render. */
26
27
  defaultInputValue?: string;
27
28
  }
28
- export interface ComboboxListProps extends HTMLAttributes<HTMLDivElement> {
29
+ export interface ComboboxListProps extends ComponentPropsWithRef<'div'>, SxProps {
29
30
  }
30
- export interface ComboboxItemProps extends HTMLAttributes<HTMLDivElement> {
31
+ export interface ComboboxItemProps extends ComponentPropsWithRef<'div'>, SxProps {
31
32
  /** Unique within the combobox. */
32
33
  value: string;
33
34
  disabled?: boolean;
34
35
  }
35
- export interface ComboboxEmptyProps extends HTMLAttributes<HTMLDivElement> {
36
+ export interface ComboboxEmptyProps extends ComponentPropsWithRef<'div'>, SxProps {
36
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;
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
+ declare function ComboboxList({ ref, id: idProp, style, onMouseDown, children, className, sx, ...rest }: ComboboxListProps): import("@emotion/react/jsx-runtime").JSX.Element;
41
+ declare function ComboboxItem({ ref, value, disabled, onClick, children, className, sx, ...rest }: ComboboxItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
42
+ declare function ComboboxEmpty({ ref, children, className, sx, ...rest }: ComboboxEmptyProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
38
43
  export declare const Combobox: typeof ComboboxRoot & {
39
- Input: import("react").ForwardRefExoticComponent<ComboboxInputProps & import("react").RefAttributes<HTMLInputElement>>;
40
- List: import("react").ForwardRefExoticComponent<ComboboxListProps & import("react").RefAttributes<HTMLDivElement>>;
41
- Item: import("react").ForwardRefExoticComponent<ComboboxItemProps & import("react").RefAttributes<HTMLDivElement>>;
42
- Empty: import("react").ForwardRefExoticComponent<ComboboxEmptyProps & import("react").RefAttributes<HTMLDivElement>>;
44
+ Input: typeof ComboboxInput;
45
+ List: typeof ComboboxList;
46
+ Item: typeof ComboboxItem;
47
+ Empty: typeof ComboboxEmpty;
43
48
  };
44
49
  export {};
@@ -1,4 +1,5 @@
1
- import { type ButtonHTMLAttributes, type DialogHTMLAttributes, type HTMLAttributes, type InputHTMLAttributes, type ReactNode } from 'react';
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
2
3
  export interface CommandPaletteProps {
3
4
  open?: boolean;
4
5
  defaultOpen?: boolean;
@@ -13,21 +14,21 @@ export interface CommandPaletteProps {
13
14
  formatResultCount?: (count: number) => string;
14
15
  children?: ReactNode;
15
16
  }
16
- export interface CommandPaletteTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
17
+ export interface CommandPaletteTriggerProps extends ComponentPropsWithRef<'button'>, SxProps {
17
18
  }
18
- export interface CommandPaletteContentProps extends Omit<DialogHTMLAttributes<HTMLDialogElement>, 'open'> {
19
+ export interface CommandPaletteContentProps extends Omit<ComponentPropsWithRef<'dialog'>, 'open'>, SxProps {
19
20
  }
20
- export interface CommandPaletteInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'type'> {
21
+ export interface CommandPaletteInputProps extends Omit<ComponentPropsWithRef<'input'>, 'value' | 'defaultValue' | 'type'>, SxProps {
21
22
  }
22
- export interface CommandPaletteListProps extends HTMLAttributes<HTMLDivElement> {
23
+ export interface CommandPaletteListProps extends ComponentPropsWithRef<'div'>, SxProps {
23
24
  }
24
- export interface CommandPaletteEmptyProps extends HTMLAttributes<HTMLDivElement> {
25
+ export interface CommandPaletteEmptyProps extends ComponentPropsWithRef<'div'>, SxProps {
25
26
  }
26
- export interface CommandPaletteGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
27
+ export interface CommandPaletteGroupProps extends Omit<ComponentPropsWithRef<'div'>, 'children'>, SxProps {
27
28
  label: ReactNode;
28
29
  children?: ReactNode;
29
30
  }
30
- export interface CommandPaletteItemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'> {
31
+ export interface CommandPaletteItemProps extends Omit<ComponentPropsWithRef<'div'>, 'onSelect'>, SxProps {
31
32
  /** Unique within the palette. */
32
33
  value: string;
33
34
  onSelect?: () => void;
@@ -35,13 +36,20 @@ export interface CommandPaletteItemProps extends Omit<HTMLAttributes<HTMLDivElem
35
36
  keywords?: string;
36
37
  }
37
38
  declare function CommandPaletteRoot({ open: openProp, defaultOpen, onOpenChange, label, filter, emptyMessage, formatResultCount, children, }: CommandPaletteProps): import("@emotion/react/jsx-runtime").JSX.Element;
39
+ declare function CommandPaletteTrigger({ ref, onClick, className, sx, ...rest }: CommandPaletteTriggerProps): import("@emotion/react/jsx-runtime").JSX.Element;
40
+ declare function CommandPaletteContent({ ref, className, sx, ...props }: CommandPaletteContentProps): import("@emotion/react/jsx-runtime").JSX.Element;
41
+ declare function CommandPaletteInput({ ref, onChange, onKeyDown, className, sx, ...rest }: CommandPaletteInputProps): import("@emotion/react/jsx-runtime").JSX.Element;
42
+ declare function CommandPaletteList({ ref, onMouseDown, children, className, sx, ...rest }: CommandPaletteListProps): import("@emotion/react/jsx-runtime").JSX.Element;
43
+ declare function CommandPaletteEmpty({ ref, children, className, sx, ...rest }: CommandPaletteEmptyProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
44
+ declare function CommandPaletteGroup({ ref, label, children, 'aria-labelledby': externalLabelledBy, className, sx, ...rest }: CommandPaletteGroupProps): import("@emotion/react/jsx-runtime").JSX.Element;
45
+ declare function CommandPaletteItem({ ref, value, onSelect, keywords, onClick, children, className, sx, ...rest }: CommandPaletteItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
38
46
  export declare const CommandPalette: typeof CommandPaletteRoot & {
39
- Trigger: import("react").ForwardRefExoticComponent<CommandPaletteTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
40
- Content: import("react").ForwardRefExoticComponent<CommandPaletteContentProps & import("react").RefAttributes<HTMLDialogElement>>;
41
- Input: import("react").ForwardRefExoticComponent<CommandPaletteInputProps & import("react").RefAttributes<HTMLInputElement>>;
42
- List: import("react").ForwardRefExoticComponent<CommandPaletteListProps & import("react").RefAttributes<HTMLDivElement>>;
43
- Empty: import("react").ForwardRefExoticComponent<CommandPaletteEmptyProps & import("react").RefAttributes<HTMLDivElement>>;
44
- Group: import("react").ForwardRefExoticComponent<CommandPaletteGroupProps & import("react").RefAttributes<HTMLDivElement>>;
45
- Item: import("react").ForwardRefExoticComponent<CommandPaletteItemProps & import("react").RefAttributes<HTMLDivElement>>;
47
+ Trigger: typeof CommandPaletteTrigger;
48
+ Content: typeof CommandPaletteContent;
49
+ Input: typeof CommandPaletteInput;
50
+ List: typeof CommandPaletteList;
51
+ Empty: typeof CommandPaletteEmpty;
52
+ Group: typeof CommandPaletteGroup;
53
+ Item: typeof CommandPaletteItem;
46
54
  };
47
55
  export {};
@@ -1,7 +1,8 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import type { ComponentPropsWithRef } from 'react';
2
2
  import { type LayoutSpace } from '../../styling/layout-style';
3
+ import { type SxProps } from '../../styling/sx';
3
4
  export type ContainerSize = 'sm' | 'md' | 'lg' | 'xl';
4
- export interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
5
+ export interface ContainerProps extends ComponentPropsWithRef<'div'>, SxProps {
5
6
  size?: ContainerSize;
6
7
  paddingInline?: LayoutSpace;
7
8
  }
@@ -11,4 +12,7 @@ export declare const CONTAINER_MAX_INLINE_SIZE: {
11
12
  readonly lg: '1024px';
12
13
  readonly xl: '1280px';
13
14
  };
14
- export declare const Container: import("react").ForwardRefExoticComponent<ContainerProps & import("react").RefAttributes<HTMLDivElement>>;
15
+ export declare function Container({ ref, size, paddingInline, className, sx, ...rest }: ContainerProps): import("@emotion/react/jsx-runtime").JSX.Element;
16
+ export declare namespace Container {
17
+ var displayName: string;
18
+ }
@@ -1,4 +1,5 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
2
3
  import { type CalendarWeekday } from '../calendar';
3
4
  import { type TextFieldProps } from '../text-field';
4
5
  export interface DatePickerProps {
@@ -30,10 +31,12 @@ export interface DatePickerProps {
30
31
  export interface DatePickerInputProps extends Omit<TextFieldProps, 'value' | 'defaultValue' | 'onValueChange' | 'onChange' | 'readOnly' | 'placeholder' | 'name' | 'type'> {
31
32
  }
32
33
  /** The popup renders its own calendar. */
33
- export type DatePickerPopupProps = Omit<HTMLAttributes<HTMLDivElement>, 'children'>;
34
+ export type DatePickerPopupProps = Omit<ComponentPropsWithRef<'div'>, 'children'> & SxProps;
34
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;
36
+ declare function DatePickerInput({ ref, label, id: idProp, disabled: disabledProp, slotProps, onKeyDown, onKeyUp, ...rest }: DatePickerInputProps): import("@emotion/react/jsx-runtime").JSX.Element;
37
+ declare function DatePickerPopup({ ref, style, className, sx, ...rest }: DatePickerPopupProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
35
38
  export declare const DatePicker: typeof DatePickerRoot & {
36
- Input: import("react").ForwardRefExoticComponent<DatePickerInputProps & import("react").RefAttributes<HTMLInputElement>>;
37
- Popup: import("react").ForwardRefExoticComponent<DatePickerPopupProps & import("react").RefAttributes<HTMLDivElement>>;
39
+ Input: typeof DatePickerInput;
40
+ Popup: typeof DatePickerPopup;
38
41
  };
39
42
  export {};
@@ -1,4 +1,5 @@
1
- import { type ButtonHTMLAttributes, type DialogHTMLAttributes, type HTMLAttributes, type ReactNode, type Ref } from 'react';
1
+ import { type ButtonHTMLAttributes, type ComponentPropsWithRef, type ReactNode, type Ref } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
2
3
  export interface DialogProps {
3
4
  open?: boolean;
4
5
  defaultOpen?: boolean;
@@ -10,7 +11,7 @@ export interface DialogPartRenderProps extends ButtonHTMLAttributes<HTMLButtonEl
10
11
  ref: Ref<HTMLButtonElement>;
11
12
  'data-ui': string;
12
13
  }
13
- export interface DialogTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
14
+ export interface DialogTriggerProps extends ComponentPropsWithRef<'button'>, SxProps {
14
15
  /**
15
16
  * Replaces the default button. Spread ALL supplied props onto the operative element and attach
16
17
  * the supplied ref, including when composing through Button. The forwarded and callback refs
@@ -26,15 +27,15 @@ export interface DialogTriggerProps extends ButtonHTMLAttributes<HTMLButtonEleme
26
27
  */
27
28
  render?: (props: DialogPartRenderProps) => ReactNode;
28
29
  }
29
- export interface DialogContentProps extends Omit<DialogHTMLAttributes<HTMLDialogElement>, 'open'> {
30
+ export interface DialogContentProps extends Omit<ComponentPropsWithRef<'dialog'>, 'open'>, SxProps {
30
31
  /** Set false to keep structured content out of the dialog's accessible description. */
31
32
  withDescription?: boolean;
32
33
  }
33
- export interface DialogTitleProps extends HTMLAttributes<HTMLHeadingElement> {
34
+ export interface DialogTitleProps extends ComponentPropsWithRef<'h2'>, SxProps {
34
35
  }
35
- export interface DialogDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {
36
+ export interface DialogDescriptionProps extends ComponentPropsWithRef<'p'>, SxProps {
36
37
  }
37
- export interface DialogCloseProps extends ButtonHTMLAttributes<HTMLButtonElement> {
38
+ export interface DialogCloseProps extends ComponentPropsWithRef<'button'>, SxProps {
38
39
  /**
39
40
  * Replaces the default button. Spread ALL supplied props onto the operative element and attach
40
41
  * the supplied ref, including when composing through Button. The forwarded and callback refs
@@ -51,11 +52,16 @@ export interface DialogCloseProps extends ButtonHTMLAttributes<HTMLButtonElement
51
52
  render?: (props: DialogPartRenderProps) => ReactNode;
52
53
  }
53
54
  declare function DialogRoot({ open: openProp, defaultOpen, onOpenChange, children }: DialogProps): import("@emotion/react/jsx-runtime").JSX.Element;
55
+ declare function DialogTrigger({ ref, onClick, render, className, sx, ...rest }: DialogTriggerProps): import("@emotion/react/jsx-runtime").JSX.Element;
56
+ declare function DialogContent({ ref, className, sx, ...props }: DialogContentProps): import("@emotion/react/jsx-runtime").JSX.Element;
57
+ declare function DialogTitle({ ref, className, sx, ...props }: DialogTitleProps): import("@emotion/react/jsx-runtime").JSX.Element;
58
+ declare function DialogDescription({ ref, className, sx, ...props }: DialogDescriptionProps): import("@emotion/react/jsx-runtime").JSX.Element;
59
+ declare function DialogClose({ ref, onClick, render, className, sx, ...rest }: DialogCloseProps): import("@emotion/react/jsx-runtime").JSX.Element;
54
60
  export declare const Dialog: typeof DialogRoot & {
55
- Trigger: import("react").ForwardRefExoticComponent<DialogTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
56
- Content: import("react").ForwardRefExoticComponent<DialogContentProps & import("react").RefAttributes<HTMLDialogElement>>;
57
- Title: import("react").ForwardRefExoticComponent<DialogTitleProps & import("react").RefAttributes<HTMLHeadingElement>>;
58
- Description: import("react").ForwardRefExoticComponent<DialogDescriptionProps & import("react").RefAttributes<HTMLParagraphElement>>;
59
- Close: import("react").ForwardRefExoticComponent<DialogCloseProps & import("react").RefAttributes<HTMLButtonElement>>;
61
+ Trigger: typeof DialogTrigger;
62
+ Content: typeof DialogContent;
63
+ Title: typeof DialogTitle;
64
+ Description: typeof DialogDescription;
65
+ Close: typeof DialogClose;
60
66
  };
61
67
  export {};
@@ -1,6 +1,7 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import { type HTMLAttributes, type ReactNode, type RefAttributes } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
2
3
  export type DividerOrientation = 'horizontal' | 'vertical';
3
- type DividerBaseProps = Omit<HTMLAttributes<HTMLElement>, 'children' | 'role' | 'aria-orientation'>;
4
+ type DividerBaseProps = Omit<HTMLAttributes<HTMLElement>, 'children' | 'role' | 'aria-orientation'> & RefAttributes<HTMLElement> & SxProps;
4
5
  export interface DividerHorizontalProps extends DividerBaseProps {
5
6
  orientation?: 'horizontal';
6
7
  label?: ReactNode;
@@ -10,5 +11,8 @@ export interface DividerVerticalProps extends DividerBaseProps {
10
11
  label?: never;
11
12
  }
12
13
  export type DividerProps = DividerHorizontalProps | DividerVerticalProps;
13
- export declare const Divider: import("react").ForwardRefExoticComponent<DividerProps & import("react").RefAttributes<HTMLElement>>;
14
+ export declare function Divider({ ref, orientation, label, 'aria-labelledby': ariaLabelledBy, className, sx, ...rest }: DividerProps): import("@emotion/react/jsx-runtime").JSX.Element;
15
+ export declare namespace Divider {
16
+ var displayName: string;
17
+ }
14
18
  export {};
@@ -1,5 +1,6 @@
1
1
  import { type AriaAttributes, type ReactNode } from 'react';
2
2
  import { type Interpolation, type Theme } from '../../styling/css';
3
+ import { type SxProps } from '../../styling/sx';
3
4
  export interface FieldPartProps {
4
5
  className?: string;
5
6
  css?: Interpolation<Theme>;
@@ -25,13 +26,13 @@ export declare function useFieldAnatomy({ id: idProp, description, error, 'aria-
25
26
  describedBy: string | undefined;
26
27
  ariaInvalid: "false" | "grammar" | "spelling" | "true" | boolean | undefined;
27
28
  };
28
- interface FieldRootProps {
29
+ interface FieldRootProps extends SxProps {
29
30
  'data-ui': string;
30
31
  className?: string;
31
32
  part?: FieldPartProps;
32
33
  children: ReactNode;
33
34
  }
34
- export declare function FieldRoot({ 'data-ui': dataUi, className, part, children }: FieldRootProps): import("@emotion/react/jsx-runtime").JSX.Element;
35
+ export declare function FieldRoot({ 'data-ui': dataUi, className, sx, part, children }: FieldRootProps): import("@emotion/react/jsx-runtime").JSX.Element;
35
36
  interface FieldLabelProps {
36
37
  htmlFor: string;
37
38
  required?: boolean;
@@ -1,4 +1,8 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import type { ComponentPropsWithRef } from 'react';
2
2
  import { type LayoutProps } from '../../styling/layout-style';
3
- export type FlexProps = HTMLAttributes<HTMLDivElement> & LayoutProps;
4
- export declare const Flex: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & LayoutProps & import("react").RefAttributes<HTMLDivElement>>;
3
+ import { type SxProps } from '../../styling/sx';
4
+ export type FlexProps = ComponentPropsWithRef<'div'> & LayoutProps & SxProps;
5
+ export declare function Flex({ ref, direction, wrap, inline, align, justify, gap, className, sx, ...rest }: FlexProps): import("@emotion/react/jsx-runtime").JSX.Element;
6
+ export declare namespace Flex {
7
+ var displayName: string;
8
+ }
@@ -1,6 +1,10 @@
1
- import { type HTMLAttributes } from 'react';
2
- export type KbdProps = HTMLAttributes<HTMLElement>;
3
- export type KbdGroupProps = HTMLAttributes<HTMLSpanElement>;
4
- export declare const Kbd: import("react").ForwardRefExoticComponent<KbdProps & import("react").RefAttributes<HTMLElement>> & {
5
- Group: import("react").ForwardRefExoticComponent<KbdGroupProps & import("react").RefAttributes<HTMLSpanElement>>;
1
+ import { type ComponentPropsWithRef } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
3
+ export type KbdProps = ComponentPropsWithRef<'kbd'> & SxProps;
4
+ export type KbdGroupProps = ComponentPropsWithRef<'span'> & SxProps;
5
+ declare function KbdRoot({ ref, className, sx, ...props }: KbdProps): import("@emotion/react/jsx-runtime").JSX.Element;
6
+ declare function KbdGroup({ ref, children, className, sx, ...rest }: KbdGroupProps): import("@emotion/react/jsx-runtime").JSX.Element;
7
+ export declare const Kbd: typeof KbdRoot & {
8
+ Group: typeof KbdGroup;
6
9
  };
10
+ export {};
@@ -1,5 +1,6 @@
1
- import { type ButtonHTMLAttributes, type HTMLAttributes, type ReactNode } from 'react';
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
2
  import { type Placement } from '@floating-ui/react';
3
+ import { type SxProps } from '../../styling/sx';
3
4
  export interface MenuProps {
4
5
  open?: boolean;
5
6
  defaultOpen?: boolean;
@@ -7,23 +8,27 @@ export interface MenuProps {
7
8
  placement?: Placement;
8
9
  children?: ReactNode;
9
10
  }
10
- export interface MenuTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
11
+ export interface MenuTriggerProps extends ComponentPropsWithRef<'button'>, SxProps {
11
12
  }
12
- export interface MenuContentProps extends HTMLAttributes<HTMLDivElement> {
13
+ export interface MenuContentProps extends ComponentPropsWithRef<'div'>, SxProps {
13
14
  }
14
- export interface MenuItemProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onSelect'> {
15
+ export interface MenuItemProps extends Omit<ComponentPropsWithRef<'button'>, 'onSelect'>, SxProps {
15
16
  /** Called when the item is activated. The menu then closes unless a click handler called
16
17
  * `event.preventDefault()`. */
17
18
  onSelect?: () => void;
18
19
  disabled?: boolean;
19
20
  }
20
- export interface MenuSeparatorProps extends HTMLAttributes<HTMLDivElement> {
21
+ export interface MenuSeparatorProps extends ComponentPropsWithRef<'div'>, SxProps {
21
22
  }
22
23
  declare function MenuRoot({ open: openProp, defaultOpen, onOpenChange, placement, children, }: MenuProps): import("@emotion/react/jsx-runtime").JSX.Element;
24
+ declare function MenuTrigger({ ref, className, sx, ...props }: MenuTriggerProps): import("@emotion/react/jsx-runtime").JSX.Element;
25
+ declare function MenuContent({ ref, style, children, className, sx, ...rest }: MenuContentProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
26
+ declare function MenuItem({ ref, onSelect, disabled, onClick, className, sx, ...rest }: MenuItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
27
+ declare function MenuSeparator({ ref, className, sx, ...props }: MenuSeparatorProps): import("@emotion/react/jsx-runtime").JSX.Element;
23
28
  export declare const Menu: typeof MenuRoot & {
24
- Trigger: import("react").ForwardRefExoticComponent<MenuTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
25
- Content: import("react").ForwardRefExoticComponent<MenuContentProps & import("react").RefAttributes<HTMLDivElement>>;
26
- Item: import("react").ForwardRefExoticComponent<MenuItemProps & import("react").RefAttributes<HTMLButtonElement>>;
27
- Separator: import("react").ForwardRefExoticComponent<MenuSeparatorProps & import("react").RefAttributes<HTMLDivElement>>;
29
+ Trigger: typeof MenuTrigger;
30
+ Content: typeof MenuContent;
31
+ Item: typeof MenuItem;
32
+ Separator: typeof MenuSeparator;
28
33
  };
29
34
  export {};
@@ -1,16 +1,17 @@
1
- import { type AnchorHTMLAttributes, type HTMLAttributes, type ReactNode } from 'react';
2
- export interface NavigationProps extends HTMLAttributes<HTMLElement> {
1
+ import { type AnchorHTMLAttributes, type ComponentPropsWithRef, type ReactNode, type RefAttributes } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
3
+ export interface NavigationProps extends ComponentPropsWithRef<'nav'>, SxProps {
3
4
  /** Accessible name of the navigation landmark. */
4
5
  label?: string;
5
6
  }
6
- export interface NavigationGroupProps extends HTMLAttributes<HTMLElement> {
7
+ export interface NavigationGroupProps extends ComponentPropsWithRef<'section'>, SxProps {
7
8
  label?: ReactNode;
8
9
  /** Render as a native <details> disclosure; the label becomes its <summary>. */
9
10
  collapsible?: boolean;
10
11
  /** Initial `open` attribute of a collapsible group. The browser owns the state afterwards. */
11
12
  defaultOpen?: boolean;
12
13
  }
13
- export interface NavigationItemProps extends AnchorHTMLAttributes<HTMLElement> {
14
+ export interface NavigationItemProps extends AnchorHTMLAttributes<HTMLElement>, RefAttributes<HTMLElement>, SxProps {
14
15
  href?: string;
15
16
  /** Marks the current page (aria-current="page"). */
16
17
  active?: boolean;
@@ -18,7 +19,11 @@ export interface NavigationItemProps extends AnchorHTMLAttributes<HTMLElement> {
18
19
  /** Decorative leading icon, hidden from assistive tech. */
19
20
  icon?: ReactNode;
20
21
  }
21
- export declare const Navigation: import("react").ForwardRefExoticComponent<NavigationProps & import("react").RefAttributes<HTMLElement>> & {
22
- Group: import("react").ForwardRefExoticComponent<NavigationGroupProps & import("react").RefAttributes<HTMLElement>>;
23
- Item: import("react").ForwardRefExoticComponent<NavigationItemProps & import("react").RefAttributes<HTMLElement>>;
22
+ declare function NavigationRoot({ ref, label, className, sx, ...rest }: NavigationProps): import("@emotion/react/jsx-runtime").JSX.Element;
23
+ declare function NavigationGroup({ ref, label, collapsible, defaultOpen, children, className, sx, ...rest }: NavigationGroupProps): import("@emotion/react/jsx-runtime").JSX.Element;
24
+ declare function NavigationItem({ ref, href, active, disabled, icon, children, className, sx, ...rest }: NavigationItemProps): import("@emotion/react/jsx-runtime").JSX.Element;
25
+ export declare const Navigation: typeof NavigationRoot & {
26
+ Group: typeof NavigationGroup;
27
+ Item: typeof NavigationItem;
24
28
  };
29
+ export {};
@@ -1,5 +1,6 @@
1
- import { type HTMLAttributes } from 'react';
2
- export interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, 'onChange'> {
1
+ import { type ComponentPropsWithRef } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
3
+ export interface PaginationProps extends Omit<ComponentPropsWithRef<'nav'>, 'onChange'>, SxProps {
3
4
  page: number;
4
5
  totalPages: number;
5
6
  onPageChange?: (page: number) => void;
@@ -11,4 +12,7 @@ export interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, 'onCh
11
12
  nextLabel?: string;
12
13
  locale?: string;
13
14
  }
14
- export declare const Pagination: import("react").ForwardRefExoticComponent<PaginationProps & import("react").RefAttributes<HTMLElement>>;
15
+ export declare function Pagination({ ref, page, totalPages, onPageChange, siblingCount, label, previousLabel, nextLabel, locale, className, sx, ...rest }: PaginationProps): import("@emotion/react/jsx-runtime").JSX.Element;
16
+ export declare namespace Pagination {
17
+ var displayName: string;
18
+ }
@@ -1,6 +1,10 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ import { type SxProps } from '../../styling/sx';
2
3
  export type PillTone = 'neutral' | 'accent' | 'success' | 'warning' | 'danger';
3
- export interface PillProps extends HTMLAttributes<HTMLSpanElement> {
4
+ export interface PillProps extends ComponentPropsWithRef<'span'>, SxProps {
4
5
  tone?: PillTone;
5
6
  }
6
- export declare const Pill: import("react").ForwardRefExoticComponent<PillProps & import("react").RefAttributes<HTMLSpanElement>>;
7
+ export declare function Pill({ ref, tone, className, sx, ...rest }: PillProps): import("@emotion/react/jsx-runtime").JSX.Element;
8
+ export declare namespace Pill {
9
+ var displayName: string;
10
+ }