@jfrader/ui 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +123 -2
  3. package/dist/accordion-Dl-kvgPQ.js +168 -0
  4. package/dist/accordion.js +1 -0
  5. package/dist/alert-BzntPa_5.js +129 -0
  6. package/dist/alert.js +1 -0
  7. package/dist/avatar-Dk2ES3ru.js +124 -0
  8. package/dist/avatar.js +1 -0
  9. package/dist/badge-DZefC7rm.js +102 -0
  10. package/dist/badge.js +1 -0
  11. package/dist/breadcrumbs-5MCZ_Jr3.js +125 -0
  12. package/dist/breadcrumbs.js +1 -0
  13. package/dist/button-qy-50NPd.js +187 -0
  14. package/dist/button.js +1 -0
  15. package/dist/calendar-DcCAiN3b.js +372 -0
  16. package/dist/calendar.js +1 -0
  17. package/dist/card-L-Z_1vZN.js +120 -0
  18. package/dist/card.js +1 -0
  19. package/dist/checkbox-B7em7B-6.js +134 -0
  20. package/dist/checkbox.js +1 -0
  21. package/dist/choice-control-DCyQ_hVw.js +35 -0
  22. package/dist/collection-registry-C2jnQa7X.js +97 -0
  23. package/dist/combobox-DQcXR94r.js +301 -0
  24. package/dist/combobox.js +1 -0
  25. package/dist/command-palette-BRJ8A5De.js +328 -0
  26. package/dist/command-palette.js +1 -0
  27. package/dist/container-COHiEjI8.js +34 -0
  28. package/dist/container.js +1 -0
  29. package/dist/css-CW_HG55W.js +1 -0
  30. package/dist/date-picker-D1GwiRB9.js +239 -0
  31. package/dist/date-picker.js +1 -0
  32. package/dist/dialog-CYf9fCZO.js +175 -0
  33. package/dist/dialog.js +1 -0
  34. package/dist/disclosure-caret-BC6P8AsM.js +13 -0
  35. package/dist/divider-bi7OgCI5.js +76 -0
  36. package/dist/divider.js +1 -0
  37. package/dist/field-anatomy-DKkB268x.js +104 -0
  38. package/dist/flex-CDFDDaiu.js +21 -0
  39. package/dist/flex.js +1 -0
  40. package/dist/focus-ring-qOS3rPlM.js +11 -0
  41. package/dist/icon-wrapper-BKo4FI-O.js +12 -0
  42. package/dist/index.js +37 -0
  43. package/dist/kbd-DpiJgDJ2.js +55 -0
  44. package/dist/kbd.js +1 -0
  45. package/dist/layout-style-B_6YHQ6Q.js +56 -0
  46. package/dist/loading-ring-CTpT-IrT.js +18 -0
  47. package/dist/media-8K3xDAxM.js +4 -0
  48. package/dist/menu-A9fZUaAG.js +186 -0
  49. package/dist/menu.js +1 -0
  50. package/dist/navigation-Cemnmc_J.js +174 -0
  51. package/dist/navigation.js +1 -0
  52. package/dist/pagination-orCjUsn_.js +148 -0
  53. package/dist/pagination.js +1 -0
  54. package/dist/part-id-Bg1LSlk7.js +4 -0
  55. package/dist/pill-Dg2JJHHW.js +49 -0
  56. package/dist/pill.js +1 -0
  57. package/dist/popover-D_YU34WS.js +97 -0
  58. package/dist/popover.js +1 -0
  59. package/dist/progress-XdvBG0Vv.js +83 -0
  60. package/dist/progress.js +1 -0
  61. package/dist/radio-group-CxMJ2Vq7.js +130 -0
  62. package/dist/radio-group.js +1 -0
  63. package/dist/renderable-DwPvt1I8.js +6 -0
  64. package/dist/roving-focus-DeEZ55-T.js +35 -0
  65. package/dist/select-mwFbmzsn.js +256 -0
  66. package/dist/select.js +1 -0
  67. package/dist/skeleton-qas9ZKK9.js +47 -0
  68. package/dist/skeleton.js +1 -0
  69. package/dist/spinner-ros2CfIf.js +49 -0
  70. package/dist/spinner.js +1 -0
  71. package/dist/stack-Hs8THnIL.js +20 -0
  72. package/dist/stack.js +1 -0
  73. package/dist/surface-Bo_aSQOb.js +18 -0
  74. package/dist/switch-E375Bz4X.js +135 -0
  75. package/dist/switch.js +1 -0
  76. package/dist/tabs-CBwRiuul.js +173 -0
  77. package/dist/tabs.js +1 -0
  78. package/dist/text-field-BlP8qGn_.js +73 -0
  79. package/dist/text-field.js +1 -0
  80. package/dist/textarea-CUG26CH2.js +83 -0
  81. package/dist/textarea.js +1 -0
  82. package/dist/theme-root-CrdzwfSo.js +20 -0
  83. package/dist/theme-root.js +1 -0
  84. package/dist/toast-D_dnqnn-.js +270 -0
  85. package/dist/toast.js +1 -0
  86. package/dist/toggle-group-B7gXCea8.js +150 -0
  87. package/dist/toggle-group.js +1 -0
  88. package/dist/tooltip-BJ2hLV1b.js +92 -0
  89. package/dist/tooltip.js +1 -0
  90. package/dist/trigger-style-f54idgjT.js +35 -0
  91. package/dist/types/components/accordion/accordion.d.ts +33 -0
  92. package/dist/types/components/accordion/index.d.ts +2 -0
  93. package/dist/types/components/alert/alert.d.ts +23 -0
  94. package/dist/types/components/alert/index.d.ts +2 -0
  95. package/dist/types/components/avatar/avatar.d.ts +23 -0
  96. package/dist/types/components/avatar/index.d.ts +2 -0
  97. package/dist/types/components/badge/badge.d.ts +36 -0
  98. package/dist/types/components/badge/index.d.ts +2 -0
  99. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +15 -0
  100. package/dist/types/components/breadcrumbs/index.d.ts +2 -0
  101. package/dist/types/components/button/button.d.ts +34 -0
  102. package/dist/types/components/button/index.d.ts +2 -0
  103. package/dist/types/components/calendar/calendar.d.ts +28 -0
  104. package/dist/types/components/calendar/calendar.styles.d.ts +9 -0
  105. package/dist/types/components/calendar/calendar.utils.d.ts +37 -0
  106. package/dist/types/components/calendar/index.d.ts +2 -0
  107. package/dist/types/components/card/card.d.ts +34 -0
  108. package/dist/types/components/card/index.d.ts +2 -0
  109. package/dist/types/components/checkbox/checkbox.d.ts +21 -0
  110. package/dist/types/components/checkbox/index.d.ts +2 -0
  111. package/dist/types/components/combobox/combobox.d.ts +44 -0
  112. package/dist/types/components/combobox/index.d.ts +2 -0
  113. package/dist/types/components/command-palette/command-palette.d.ts +47 -0
  114. package/dist/types/components/command-palette/command-palette.styles.d.ts +8 -0
  115. package/dist/types/components/command-palette/index.d.ts +2 -0
  116. package/dist/types/components/container/container.d.ts +14 -0
  117. package/dist/types/components/container/index.d.ts +3 -0
  118. package/dist/types/components/date-picker/date-picker.d.ts +39 -0
  119. package/dist/types/components/date-picker/index.d.ts +2 -0
  120. package/dist/types/components/dialog/dialog.d.ts +61 -0
  121. package/dist/types/components/dialog/index.d.ts +2 -0
  122. package/dist/types/components/divider/divider.d.ts +14 -0
  123. package/dist/types/components/divider/index.d.ts +2 -0
  124. package/dist/types/components/field/field-anatomy.d.ts +49 -0
  125. package/dist/types/components/flex/flex.d.ts +4 -0
  126. package/dist/types/components/flex/index.d.ts +3 -0
  127. package/dist/types/components/kbd/index.d.ts +2 -0
  128. package/dist/types/components/kbd/kbd.d.ts +6 -0
  129. package/dist/types/components/menu/index.d.ts +2 -0
  130. package/dist/types/components/menu/menu.d.ts +29 -0
  131. package/dist/types/components/navigation/index.d.ts +2 -0
  132. package/dist/types/components/navigation/navigation.d.ts +24 -0
  133. package/dist/types/components/pagination/index.d.ts +2 -0
  134. package/dist/types/components/pagination/pagination.d.ts +14 -0
  135. package/dist/types/components/pill/index.d.ts +2 -0
  136. package/dist/types/components/pill/pill.d.ts +6 -0
  137. package/dist/types/components/popover/index.d.ts +2 -0
  138. package/dist/types/components/popover/popover.d.ts +19 -0
  139. package/dist/types/components/progress/index.d.ts +2 -0
  140. package/dist/types/components/progress/progress.d.ts +19 -0
  141. package/dist/types/components/radio-group/index.d.ts +2 -0
  142. package/dist/types/components/radio-group/radio-group.d.ts +29 -0
  143. package/dist/types/components/select/index.d.ts +2 -0
  144. package/dist/types/components/select/select.d.ts +38 -0
  145. package/dist/types/components/skeleton/index.d.ts +2 -0
  146. package/dist/types/components/skeleton/skeleton.d.ts +11 -0
  147. package/dist/types/components/spinner/index.d.ts +2 -0
  148. package/dist/types/components/spinner/spinner.d.ts +8 -0
  149. package/dist/types/components/stack/index.d.ts +3 -0
  150. package/dist/types/components/stack/stack.d.ts +7 -0
  151. package/dist/types/components/switch/index.d.ts +2 -0
  152. package/dist/types/components/switch/switch.d.ts +20 -0
  153. package/dist/types/components/tabs/index.d.ts +2 -0
  154. package/dist/types/components/tabs/tabs.d.ts +22 -0
  155. package/dist/types/components/text-field/index.d.ts +2 -0
  156. package/dist/types/components/text-field/text-field.d.ts +14 -0
  157. package/dist/types/components/textarea/index.d.ts +2 -0
  158. package/dist/types/components/textarea/textarea.d.ts +17 -0
  159. package/dist/types/components/theme-root/index.d.ts +2 -0
  160. package/dist/types/components/theme-root/theme-root.d.ts +7 -0
  161. package/dist/types/components/toast/index.d.ts +2 -0
  162. package/dist/types/components/toast/toast.d.ts +37 -0
  163. package/dist/types/components/toggle-group/index.d.ts +2 -0
  164. package/dist/types/components/toggle-group/toggle-group.d.ts +29 -0
  165. package/dist/types/components/tooltip/index.d.ts +2 -0
  166. package/dist/types/components/tooltip/tooltip.d.ts +23 -0
  167. package/dist/types/index.d.ts +36 -0
  168. package/dist/types/overlay/use-native-dialog.d.ts +39 -0
  169. package/dist/types/overlay/use-overlay-floating.d.ts +11 -0
  170. package/dist/types/overlay/use-scroll-lock.d.ts +5 -0
  171. package/dist/types/styling/choice-control.d.ts +8 -0
  172. package/dist/types/styling/css.d.ts +2 -0
  173. package/dist/types/styling/disclosure-caret.d.ts +9 -0
  174. package/dist/types/styling/focus-ring.d.ts +10 -0
  175. package/dist/types/styling/icon-wrapper.d.ts +1 -0
  176. package/dist/types/styling/input-control.d.ts +1 -0
  177. package/dist/types/styling/layout-style.d.ts +26 -0
  178. package/dist/types/styling/listbox-style.d.ts +12 -0
  179. package/dist/types/styling/loading-ring.d.ts +14 -0
  180. package/dist/types/styling/media.d.ts +2 -0
  181. package/dist/types/styling/surface.d.ts +19 -0
  182. package/dist/types/styling/trigger-style.d.ts +1 -0
  183. package/dist/types/styling/visually-hidden.d.ts +1 -0
  184. package/dist/types/utils/collection-registry.d.ts +41 -0
  185. package/dist/types/utils/part-id.d.ts +2 -0
  186. package/dist/types/utils/renderable.d.ts +3 -0
  187. package/dist/types/utils/roving-focus.d.ts +18 -0
  188. package/dist/types/utils/use-controlled-state.d.ts +7 -0
  189. package/dist/types/utils/use-latest-callback.d.ts +10 -0
  190. package/dist/use-controlled-state-DQXkiTQI.js +20 -0
  191. package/dist/use-native-dialog-BCp1chwO.js +83 -0
  192. package/dist/use-overlay-floating-CsZd3qxa.js +18 -0
  193. package/dist/visually-hidden-BXVyhj0y.js +16 -0
  194. package/package.json +198 -3
@@ -0,0 +1,15 @@
1
+ import { type HTMLAttributes, type LiHTMLAttributes, type ReactNode } from 'react';
2
+ export interface BreadcrumbsProps extends HTMLAttributes<HTMLElement> {
3
+ /** Accessible name of the navigation landmark. */
4
+ label?: string;
5
+ /** Rendered (aria-hidden) between items. */
6
+ separator?: ReactNode;
7
+ }
8
+ export interface BreadcrumbsItemProps extends LiHTMLAttributes<HTMLLIElement> {
9
+ href?: string;
10
+ /** Marks the current page. Defaults to the last item when no item sets it. */
11
+ current?: boolean;
12
+ }
13
+ export declare const Breadcrumbs: import("react").ForwardRefExoticComponent<BreadcrumbsProps & import("react").RefAttributes<HTMLElement>> & {
14
+ Item: import("react").ForwardRefExoticComponent<BreadcrumbsItemProps & import("react").RefAttributes<HTMLLIElement>>;
15
+ };
@@ -0,0 +1,2 @@
1
+ export { Breadcrumbs } from './breadcrumbs';
2
+ export type { BreadcrumbsItemProps, BreadcrumbsProps } from './breadcrumbs';
@@ -0,0 +1,34 @@
1
+ import { type ButtonHTMLAttributes, type ReactNode, type RefCallback } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ export type ButtonVariant = 'solid' | 'soft' | 'outline' | 'ghost';
4
+ export type ButtonTone = 'neutral' | 'accent' | 'danger';
5
+ export type ButtonSize = 'sm' | 'md' | 'lg';
6
+ /** Props a `render` callback spreads onto the element it returns. */
7
+ export interface ButtonRenderProps extends Omit<ButtonHTMLAttributes<HTMLElement>, 'color' | 'disabled'> {
8
+ ref: RefCallback<HTMLElement> | null;
9
+ css: Interpolation<Theme>;
10
+ 'data-ui': string;
11
+ }
12
+ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color'> {
13
+ variant?: ButtonVariant;
14
+ tone?: ButtonTone;
15
+ size?: ButtonSize;
16
+ loading?: boolean;
17
+ startIcon?: ReactNode;
18
+ endIcon?: ReactNode;
19
+ /** Consumer style overrides, merged after the component's own styles. */
20
+ css?: Interpolation<Theme>;
21
+ /**
22
+ * Replaces the native button. Spread ALL supplied props onto the operative element and attach
23
+ * the supplied ref. Both that ref and the forwarded ref refer to the rendered element, which
24
+ * need not be a button; the public forwarded-ref type remains HTMLButtonElement for compatibility.
25
+ * Overridden handlers, className and style win; compose behavior manually to retain both:
26
+ * `onClick={(e) => { p.onClick?.(e); mine(e); }}`.
27
+ * Only this render path joins data-ui markers into a token list; library selectors should use
28
+ * `[data-ui~="button"]`. The default button always has data-ui="button".
29
+ * Disabled anchors receive aria-disabled and remain focusable. Primary click/Enter activation
30
+ * is blocked by the supplied handler; auxiliary/middle-click navigation is NOT covered.
31
+ */
32
+ render?: (props: ButtonRenderProps) => ReactNode;
33
+ }
34
+ export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,2 @@
1
+ export { Button } from './button';
2
+ export type { ButtonProps, ButtonRenderProps, ButtonSize, ButtonTone, ButtonVariant } from './button';
@@ -0,0 +1,28 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ /** Day of the week as counted by `Date#getUTCDay`: 0 is Sunday, 6 is Saturday. */
3
+ export type CalendarWeekday = 0 | 1 | 2 | 3 | 4 | 5 | 6;
4
+ export interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange'> {
5
+ /** Selected date, 'YYYY-MM-DD'. */
6
+ value?: string;
7
+ defaultValue?: string;
8
+ onValueChange?: (value: string) => void;
9
+ /** Displayed month, 'YYYY-MM'. Defaults to the month of the value, else the current month. */
10
+ visibleMonth?: string;
11
+ defaultVisibleMonth?: string;
12
+ onVisibleMonthChange?: (month: string) => void;
13
+ /** Earliest selectable date, 'YYYY-MM-DD'. */
14
+ min?: string;
15
+ /** Latest selectable date, 'YYYY-MM-DD'. */
16
+ max?: string;
17
+ /** BCP 47 tag. Defaults to `navigator.language`. */
18
+ locale?: string;
19
+ /** Defaults to the locale's week start. */
20
+ firstDayOfWeek?: CalendarWeekday;
21
+ }
22
+ /** 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>>;
28
+ };
@@ -0,0 +1,9 @@
1
+ export declare const rootStyle: import("@emotion/react").SerializedStyles;
2
+ export declare const headerStyle: import("@emotion/react").SerializedStyles;
3
+ export declare const labelStyle: import("@emotion/react").SerializedStyles;
4
+ export declare const navButtonStyle: import("@emotion/react").SerializedStyles;
5
+ export declare const glyphStyle: import("@emotion/react").SerializedStyles;
6
+ export declare const gridStyle: import("@emotion/react").SerializedStyles;
7
+ export declare const weekdayStyle: import("@emotion/react").SerializedStyles;
8
+ export declare const cellStyle: import("@emotion/react").SerializedStyles;
9
+ export declare const dayStyle: import("@emotion/react").SerializedStyles;
@@ -0,0 +1,37 @@
1
+ import type { CalendarWeekday } from './calendar';
2
+ export declare const DAYS_PER_WEEK = 7;
3
+ export declare const REFERENCE_SUNDAY = "2026-01-04";
4
+ export declare function dateFromParts(year: number, monthIndex: number, day: number): Date;
5
+ export declare function dateFromIso(iso: string): Date;
6
+ export declare const isoFromDate: (date: Date) => string;
7
+ export declare const isIsoDate: (value: string | undefined) => value is string;
8
+ export declare const isIsoMonth: (value: string | undefined) => value is string;
9
+ export declare const monthOf: (iso: string) => string;
10
+ export declare const firstOfMonth: (month: string) => string;
11
+ export declare function shiftDays(iso: string, days: number): string;
12
+ export declare const shiftMonth: (month: string, months: number) => string;
13
+ export declare const lastOfMonth: (month: string) => string;
14
+ export declare const isWithin: (iso: string, min: string | undefined, max: string | undefined) => boolean;
15
+ export declare function clampDate(iso: string, min: string | undefined, max: string | undefined): string;
16
+ export declare const weekColumn: (iso: string, firstDayOfWeek: CalendarWeekday) => number;
17
+ export interface Formatters {
18
+ month: Intl.DateTimeFormat;
19
+ day: Intl.DateTimeFormat;
20
+ date: Intl.DateTimeFormat;
21
+ weekdayShort: Intl.DateTimeFormat;
22
+ weekdayLong: Intl.DateTimeFormat;
23
+ }
24
+ export declare function localeFirstDayOfWeek(locale: string): CalendarWeekday;
25
+ export declare const CIVIL_DATE_FORMAT_OPTIONS: {
26
+ calendar: string;
27
+ timeZone: string;
28
+ };
29
+ export declare function createFormatters(locale: string): Formatters;
30
+ export declare const defaultLocale: () => string | undefined;
31
+ interface MoveContext {
32
+ firstDayOfWeek: CalendarWeekday;
33
+ shiftKey: boolean;
34
+ }
35
+ type Move = (from: string, context: MoveContext) => string;
36
+ export declare const KEY_MOVES: Record<'ltr' | 'rtl', Partial<Record<string, Move>>>;
37
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Calendar } from './calendar';
2
+ export type { CalendarGridProps, CalendarHeaderProps, CalendarProps, CalendarWeekday } from './calendar';
@@ -0,0 +1,34 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ export type CardVariant = 'flat' | 'raised';
4
+ export type CardHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
5
+ export interface CardPartProps {
6
+ className?: string;
7
+ css?: Interpolation<Theme>;
8
+ }
9
+ export interface CardSlotProps {
10
+ root?: CardPartProps;
11
+ header?: CardPartProps;
12
+ title?: CardPartProps;
13
+ description?: CardPartProps;
14
+ content?: CardPartProps;
15
+ footer?: CardPartProps;
16
+ }
17
+ export interface CardProps extends HTMLAttributes<HTMLDivElement> {
18
+ variant?: CardVariant;
19
+ slotProps?: CardSlotProps;
20
+ }
21
+ export type CardHeaderProps = HTMLAttributes<HTMLDivElement>;
22
+ export interface CardTitleProps extends HTMLAttributes<HTMLHeadingElement> {
23
+ level?: CardHeadingLevel;
24
+ }
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>>;
34
+ };
@@ -0,0 +1,2 @@
1
+ export { Card } from './card';
2
+ export type { CardContentProps, CardDescriptionProps, CardFooterProps, CardHeaderProps, CardHeadingLevel, CardPartProps, CardProps, CardSlotProps, CardTitleProps, CardVariant, } from './card';
@@ -0,0 +1,21 @@
1
+ import { type InputHTMLAttributes, type ReactNode } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ export type CheckboxSize = 'sm' | 'md';
4
+ export interface CheckboxPartProps {
5
+ className?: string;
6
+ css?: Interpolation<Theme>;
7
+ }
8
+ export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
9
+ label?: ReactNode;
10
+ description?: ReactNode;
11
+ indeterminate?: boolean;
12
+ size?: CheckboxSize;
13
+ onCheckedChange?: (checked: boolean) => void;
14
+ slotProps?: {
15
+ root?: CheckboxPartProps;
16
+ label?: CheckboxPartProps;
17
+ control?: CheckboxPartProps;
18
+ description?: CheckboxPartProps;
19
+ };
20
+ }
21
+ export declare const Checkbox: import("react").ForwardRefExoticComponent<CheckboxProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,2 @@
1
+ export { Checkbox } from './checkbox';
2
+ export type { CheckboxProps, CheckboxPartProps, CheckboxSize } from './checkbox';
@@ -0,0 +1,44 @@
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
+ import { type TextFieldProps } from '../text-field';
3
+ export interface ComboboxProps {
4
+ /** `null` is the controlled "nothing selected" state. */
5
+ value?: string | null;
6
+ defaultValue?: string;
7
+ /** Fires once per accepted selection with the option's `value`, or `null` when the text is cleared. */
8
+ onValueChange?: (value: string | null) => void;
9
+ open?: boolean;
10
+ defaultOpen?: boolean;
11
+ onOpenChange?: (open: boolean) => void;
12
+ /** Renders a hidden input so the value takes part in native form submission. */
13
+ name?: string;
14
+ /** Decides whether an option label matches the typed query. Defaults to a case-insensitive substring match. */
15
+ filter?: (label: string, query: string) => boolean;
16
+ /** Fires with the new input text when the user types and when a selection or Escape writes a label. */
17
+ onInputChange?: (query: string) => void;
18
+ children?: ReactNode;
19
+ }
20
+ export interface ComboboxInputProps extends Omit<TextFieldProps, 'value' | 'defaultValue' | 'onValueChange'> {
21
+ /** Root `name` is the canonical form name; an Input `name` submits an extra text entry. */
22
+ name?: string;
23
+ /** Controlled input text. */
24
+ inputValue?: string;
25
+ /** Initial input text; when set, it filters the options from the first render. */
26
+ defaultInputValue?: string;
27
+ }
28
+ export interface ComboboxListProps extends HTMLAttributes<HTMLDivElement> {
29
+ }
30
+ export interface ComboboxItemProps extends HTMLAttributes<HTMLDivElement> {
31
+ /** Unique within the combobox. */
32
+ value: string;
33
+ disabled?: boolean;
34
+ }
35
+ export interface ComboboxEmptyProps extends HTMLAttributes<HTMLDivElement> {
36
+ }
37
+ declare function ComboboxRoot({ value: valueProp, defaultValue, onValueChange, open: openProp, defaultOpen, onOpenChange, name, filter, onInputChange, children, }: ComboboxProps): import("@emotion/react/jsx-runtime").JSX.Element;
38
+ 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>>;
43
+ };
44
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Combobox } from './combobox';
2
+ export type { ComboboxEmptyProps, ComboboxInputProps, ComboboxItemProps, ComboboxListProps, ComboboxProps, } from './combobox';
@@ -0,0 +1,47 @@
1
+ import { type ButtonHTMLAttributes, type DialogHTMLAttributes, type HTMLAttributes, type InputHTMLAttributes, type ReactNode } from 'react';
2
+ export interface CommandPaletteProps {
3
+ open?: boolean;
4
+ defaultOpen?: boolean;
5
+ onOpenChange?: (open: boolean) => void;
6
+ /** Accessible name of the dialog, input and listbox. */
7
+ label?: string;
8
+ /** Decides whether an item's label (or keywords) matches the query. Case-insensitive substring by default. */
9
+ filter?: (text: string, query: string) => boolean;
10
+ /** Rendered by CommandPalette.Empty when nothing matches. */
11
+ emptyMessage?: ReactNode;
12
+ /** Live region text announced after the query changes. */
13
+ formatResultCount?: (count: number) => string;
14
+ children?: ReactNode;
15
+ }
16
+ export interface CommandPaletteTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
17
+ }
18
+ export interface CommandPaletteContentProps extends Omit<DialogHTMLAttributes<HTMLDialogElement>, 'open'> {
19
+ }
20
+ export interface CommandPaletteInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'type'> {
21
+ }
22
+ export interface CommandPaletteListProps extends HTMLAttributes<HTMLDivElement> {
23
+ }
24
+ export interface CommandPaletteEmptyProps extends HTMLAttributes<HTMLDivElement> {
25
+ }
26
+ export interface CommandPaletteGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
27
+ label: ReactNode;
28
+ children?: ReactNode;
29
+ }
30
+ export interface CommandPaletteItemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'> {
31
+ /** Unique within the palette. */
32
+ value: string;
33
+ onSelect?: () => void;
34
+ /** Extra text the filter matches against (synonyms, aliases). */
35
+ keywords?: string;
36
+ }
37
+ declare function CommandPaletteRoot({ open: openProp, defaultOpen, onOpenChange, label, filter, emptyMessage, formatResultCount, children, }: CommandPaletteProps): import("@emotion/react/jsx-runtime").JSX.Element;
38
+ 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>>;
46
+ };
47
+ export {};
@@ -0,0 +1,8 @@
1
+ export declare const dialogStyle: import("@emotion/react").SerializedStyles;
2
+ export declare const panelStyle: import("@emotion/react").SerializedStyles;
3
+ export declare const inputStyle: import("@emotion/react").SerializedStyles;
4
+ export declare const listStyle: import("@emotion/react").SerializedStyles;
5
+ export declare const groupStyle: import("@emotion/react").SerializedStyles;
6
+ export declare const groupHeadingStyle: import("@emotion/react").SerializedStyles;
7
+ export declare const itemStyle: import("@emotion/react").SerializedStyles;
8
+ export declare const emptyStyle: import("@emotion/react").SerializedStyles;
@@ -0,0 +1,2 @@
1
+ export { CommandPalette } from './command-palette';
2
+ export type { CommandPaletteContentProps, CommandPaletteEmptyProps, CommandPaletteGroupProps, CommandPaletteInputProps, CommandPaletteItemProps, CommandPaletteListProps, CommandPaletteProps, CommandPaletteTriggerProps, } from './command-palette';
@@ -0,0 +1,14 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ import { type LayoutSpace } from '../../styling/layout-style';
3
+ export type ContainerSize = 'sm' | 'md' | 'lg' | 'xl';
4
+ export interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
5
+ size?: ContainerSize;
6
+ paddingInline?: LayoutSpace;
7
+ }
8
+ export declare const CONTAINER_MAX_INLINE_SIZE: {
9
+ readonly sm: '640px';
10
+ readonly md: '768px';
11
+ readonly lg: '1024px';
12
+ readonly xl: '1280px';
13
+ };
14
+ export declare const Container: import("react").ForwardRefExoticComponent<ContainerProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,3 @@
1
+ export { Container } from './container';
2
+ export type { ContainerProps, ContainerSize } from './container';
3
+ export type { LayoutSpace } from '../../styling/layout-style';
@@ -0,0 +1,39 @@
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
+ import { type CalendarWeekday } from '../calendar';
3
+ import { type TextFieldProps } from '../text-field';
4
+ export interface DatePickerProps {
5
+ /** Selected date, 'YYYY-MM-DD'. */
6
+ value?: string;
7
+ defaultValue?: string;
8
+ /** Deduplicated value-change request with the date as 'YYYY-MM-DD'; controlled values may reject it. */
9
+ onValueChange?: (value: string) => void;
10
+ open?: boolean;
11
+ defaultOpen?: boolean;
12
+ onOpenChange?: (open: boolean) => void;
13
+ /** Earliest selectable date, 'YYYY-MM-DD'. */
14
+ min?: string;
15
+ /** Latest selectable date, 'YYYY-MM-DD'. */
16
+ max?: string;
17
+ /** BCP 47 tag. Defaults to `navigator.language`. */
18
+ locale?: string;
19
+ /** Defaults to the locale's week start. */
20
+ firstDayOfWeek?: CalendarWeekday;
21
+ /** Closes the popup and blocks all interaction, even with controlled open=true. */
22
+ disabled?: boolean;
23
+ /** Renders a hidden input carrying the ISO value so it takes part in native form submission. */
24
+ name?: string;
25
+ /** Shown while no date is selected. Defaults to the locale's date field names in display order. */
26
+ placeholder?: string;
27
+ children?: ReactNode;
28
+ }
29
+ /** Value, placeholder and form name live on the root; the input is read-only in this version. */
30
+ export interface DatePickerInputProps extends Omit<TextFieldProps, 'value' | 'defaultValue' | 'onValueChange' | 'onChange' | 'readOnly' | 'placeholder' | 'name' | 'type'> {
31
+ }
32
+ /** The popup renders its own calendar. */
33
+ export type DatePickerPopupProps = Omit<HTMLAttributes<HTMLDivElement>, 'children'>;
34
+ 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
+ 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>>;
38
+ };
39
+ export {};
@@ -0,0 +1,2 @@
1
+ export { DatePicker } from './date-picker';
2
+ export type { DatePickerInputProps, DatePickerPopupProps, DatePickerProps } from './date-picker';
@@ -0,0 +1,61 @@
1
+ import { type ButtonHTMLAttributes, type DialogHTMLAttributes, type HTMLAttributes, type ReactNode, type Ref } from 'react';
2
+ export interface DialogProps {
3
+ open?: boolean;
4
+ defaultOpen?: boolean;
5
+ onOpenChange?: (open: boolean) => void;
6
+ children?: ReactNode;
7
+ }
8
+ /** Props a part's `render` callback spreads onto the element it returns (e.g. a `Button`). */
9
+ export interface DialogPartRenderProps extends ButtonHTMLAttributes<HTMLButtonElement> {
10
+ ref: Ref<HTMLButtonElement>;
11
+ 'data-ui': string;
12
+ }
13
+ export interface DialogTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
14
+ /**
15
+ * Replaces the default button. Spread ALL supplied props onto the operative element and attach
16
+ * the supplied ref, including when composing through Button. The forwarded and callback refs
17
+ * refer to the rendered element, which need not be a button; their public types remain
18
+ * HTMLButtonElement for compatibility.
19
+ * Overridden handlers, className and style win; compose behavior manually to retain both:
20
+ * `onClick={(e) => { p.onClick?.(e); mine(e); }}`.
21
+ * Only the render path joins data-ui markers into a token list; library selectors should use
22
+ * `[data-ui~="dialog-trigger"]`. The default button always has data-ui="dialog-trigger".
23
+ * For disabled anchors, compose through Button's render path: aria-disabled keeps them
24
+ * focusable and its supplied handler blocks primary click/Enter activation, but does NOT
25
+ * cover auxiliary/middle-click navigation. This part alone supplies native button semantics.
26
+ */
27
+ render?: (props: DialogPartRenderProps) => ReactNode;
28
+ }
29
+ export interface DialogContentProps extends Omit<DialogHTMLAttributes<HTMLDialogElement>, 'open'> {
30
+ /** Set false to keep structured content out of the dialog's accessible description. */
31
+ withDescription?: boolean;
32
+ }
33
+ export interface DialogTitleProps extends HTMLAttributes<HTMLHeadingElement> {
34
+ }
35
+ export interface DialogDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {
36
+ }
37
+ export interface DialogCloseProps extends ButtonHTMLAttributes<HTMLButtonElement> {
38
+ /**
39
+ * Replaces the default button. Spread ALL supplied props onto the operative element and attach
40
+ * the supplied ref, including when composing through Button. The forwarded and callback refs
41
+ * refer to the rendered element, which need not be a button; their public types remain
42
+ * HTMLButtonElement for compatibility.
43
+ * Overridden handlers, className and style win; compose behavior manually to retain both:
44
+ * `onClick={(e) => { p.onClick?.(e); mine(e); }}`.
45
+ * Only the render path joins data-ui markers into a token list; library selectors should use
46
+ * `[data-ui~="dialog-close"]`. The default button always has data-ui="dialog-close".
47
+ * For disabled anchors, compose through Button's render path: aria-disabled keeps them
48
+ * focusable and its supplied handler blocks primary click/Enter activation, but does NOT
49
+ * cover auxiliary/middle-click navigation. This part alone supplies native button semantics.
50
+ */
51
+ render?: (props: DialogPartRenderProps) => ReactNode;
52
+ }
53
+ declare function DialogRoot({ open: openProp, defaultOpen, onOpenChange, children }: DialogProps): import("@emotion/react/jsx-runtime").JSX.Element;
54
+ 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>>;
60
+ };
61
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Dialog } from './dialog';
2
+ export type { DialogCloseProps, DialogContentProps, DialogDescriptionProps, DialogPartRenderProps, DialogProps, DialogTitleProps, DialogTriggerProps, } from './dialog';
@@ -0,0 +1,14 @@
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
+ export type DividerOrientation = 'horizontal' | 'vertical';
3
+ type DividerBaseProps = Omit<HTMLAttributes<HTMLElement>, 'children' | 'role' | 'aria-orientation'>;
4
+ export interface DividerHorizontalProps extends DividerBaseProps {
5
+ orientation?: 'horizontal';
6
+ label?: ReactNode;
7
+ }
8
+ export interface DividerVerticalProps extends DividerBaseProps {
9
+ orientation: 'vertical';
10
+ label?: never;
11
+ }
12
+ export type DividerProps = DividerHorizontalProps | DividerVerticalProps;
13
+ export declare const Divider: import("react").ForwardRefExoticComponent<DividerProps & import("react").RefAttributes<HTMLElement>>;
14
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Divider } from './divider';
2
+ export type { DividerHorizontalProps, DividerOrientation, DividerProps, DividerVerticalProps } from './divider';
@@ -0,0 +1,49 @@
1
+ import { type AriaAttributes, type ReactNode } from 'react';
2
+ import { type Interpolation, type Theme } from '../../styling/css';
3
+ export interface FieldPartProps {
4
+ className?: string;
5
+ css?: Interpolation<Theme>;
6
+ }
7
+ export interface FieldSlotProps<Part = FieldPartProps> {
8
+ root?: Part;
9
+ label?: Part;
10
+ control?: Part;
11
+ description?: Part;
12
+ error?: Part;
13
+ }
14
+ interface FieldAnatomyOptions {
15
+ id?: string;
16
+ description?: ReactNode;
17
+ error?: ReactNode;
18
+ 'aria-describedby'?: string;
19
+ 'aria-invalid'?: AriaAttributes['aria-invalid'];
20
+ }
21
+ export declare function useFieldAnatomy({ id: idProp, description, error, 'aria-describedby': ariaDescribedByProp, 'aria-invalid': ariaInvalidProp, }: FieldAnatomyOptions): {
22
+ id: string;
23
+ descriptionId: string;
24
+ errorId: string;
25
+ describedBy: string | undefined;
26
+ ariaInvalid: "false" | "grammar" | "spelling" | "true" | boolean | undefined;
27
+ };
28
+ interface FieldRootProps {
29
+ 'data-ui': string;
30
+ className?: string;
31
+ part?: FieldPartProps;
32
+ children: ReactNode;
33
+ }
34
+ export declare function FieldRoot({ 'data-ui': dataUi, className, part, children }: FieldRootProps): import("@emotion/react/jsx-runtime").JSX.Element;
35
+ interface FieldLabelProps {
36
+ htmlFor: string;
37
+ required?: boolean;
38
+ part?: FieldPartProps;
39
+ children: ReactNode;
40
+ }
41
+ export declare function FieldLabel({ htmlFor, required, part, children }: FieldLabelProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
42
+ interface FieldMessageProps {
43
+ id: string;
44
+ part?: FieldPartProps;
45
+ children: ReactNode;
46
+ }
47
+ export declare function FieldDescription({ id, part, children }: FieldMessageProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
48
+ export declare function FieldError({ id, part, children }: FieldMessageProps): import("@emotion/react/jsx-runtime").JSX.Element | null;
49
+ export {};
@@ -0,0 +1,4 @@
1
+ import { type HTMLAttributes } from 'react';
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>>;
@@ -0,0 +1,3 @@
1
+ export { Flex } from './flex';
2
+ export type { FlexProps } from './flex';
3
+ export type { FlexAlign, FlexDirection, FlexJustify, LayoutSpace } from '../../styling/layout-style';
@@ -0,0 +1,2 @@
1
+ export { Kbd } from './kbd';
2
+ export type { KbdGroupProps, KbdProps } from './kbd';
@@ -0,0 +1,6 @@
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>>;
6
+ };
@@ -0,0 +1,2 @@
1
+ export { Menu } from './menu';
2
+ export type { MenuContentProps, MenuItemProps, MenuProps, MenuSeparatorProps, MenuTriggerProps } from './menu';
@@ -0,0 +1,29 @@
1
+ import { type ButtonHTMLAttributes, type HTMLAttributes, type ReactNode } from 'react';
2
+ import { type Placement } from '@floating-ui/react';
3
+ export interface MenuProps {
4
+ open?: boolean;
5
+ defaultOpen?: boolean;
6
+ onOpenChange?: (open: boolean) => void;
7
+ placement?: Placement;
8
+ children?: ReactNode;
9
+ }
10
+ export interface MenuTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
11
+ }
12
+ export interface MenuContentProps extends HTMLAttributes<HTMLDivElement> {
13
+ }
14
+ export interface MenuItemProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onSelect'> {
15
+ /** Called when the item is activated. The menu then closes unless a click handler called
16
+ * `event.preventDefault()`. */
17
+ onSelect?: () => void;
18
+ disabled?: boolean;
19
+ }
20
+ export interface MenuSeparatorProps extends HTMLAttributes<HTMLDivElement> {
21
+ }
22
+ declare function MenuRoot({ open: openProp, defaultOpen, onOpenChange, placement, children, }: MenuProps): import("@emotion/react/jsx-runtime").JSX.Element;
23
+ 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>>;
28
+ };
29
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Navigation } from './navigation';
2
+ export type { NavigationGroupProps, NavigationItemProps, NavigationProps } from './navigation';
@@ -0,0 +1,24 @@
1
+ import { type AnchorHTMLAttributes, type HTMLAttributes, type ReactNode } from 'react';
2
+ export interface NavigationProps extends HTMLAttributes<HTMLElement> {
3
+ /** Accessible name of the navigation landmark. */
4
+ label?: string;
5
+ }
6
+ export interface NavigationGroupProps extends HTMLAttributes<HTMLElement> {
7
+ label?: ReactNode;
8
+ /** Render as a native <details> disclosure; the label becomes its <summary>. */
9
+ collapsible?: boolean;
10
+ /** Initial `open` attribute of a collapsible group. The browser owns the state afterwards. */
11
+ defaultOpen?: boolean;
12
+ }
13
+ export interface NavigationItemProps extends AnchorHTMLAttributes<HTMLElement> {
14
+ href?: string;
15
+ /** Marks the current page (aria-current="page"). */
16
+ active?: boolean;
17
+ disabled?: boolean;
18
+ /** Decorative leading icon, hidden from assistive tech. */
19
+ icon?: ReactNode;
20
+ }
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>>;
24
+ };
@@ -0,0 +1,2 @@
1
+ export { Pagination } from './pagination';
2
+ export type { PaginationProps } from './pagination';