@moul-dev/ui 2026.8.20 → 2026.8.22

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 (50) hide show
  1. package/dist/assets/stylex.css +434 -0
  2. package/dist/moul-ui.js +4860 -2148
  3. package/dist/src/components/Avatar/Avatar.d.ts +10 -0
  4. package/dist/src/components/Avatar/Avatar.styles.d.ts +178 -6
  5. package/dist/src/components/Avatar/AvatarGroup.d.ts +18 -0
  6. package/dist/src/components/Avatar/index.d.ts +3 -1
  7. package/dist/src/components/Badge/Badge.d.ts +4 -1
  8. package/dist/src/components/Badge/Badge.styles.d.ts +59 -3
  9. package/dist/src/components/Badge/index.d.ts +1 -1
  10. package/dist/src/components/Button/Button.styles.d.ts +1 -0
  11. package/dist/src/components/Calendar/Calendar.d.ts +24 -0
  12. package/dist/src/components/Calendar/Calendar.styles.d.ts +161 -0
  13. package/dist/src/components/Calendar/index.d.ts +2 -0
  14. package/dist/src/components/ComboBox/ComboBox.styles.d.ts +8 -0
  15. package/dist/src/components/CommandPalette/CommandPalette.d.ts +81 -0
  16. package/dist/src/components/CommandPalette/CommandPalette.styles.d.ts +216 -0
  17. package/dist/src/components/CommandPalette/index.d.ts +2 -0
  18. package/dist/src/components/DateField/DateField.d.ts +24 -0
  19. package/dist/src/components/DateField/DateField.styles.d.ts +99 -0
  20. package/dist/src/components/DateField/index.d.ts +2 -0
  21. package/dist/src/components/DatePicker/DatePicker.d.ts +23 -0
  22. package/dist/src/components/DatePicker/DatePicker.styles.d.ts +127 -0
  23. package/dist/src/components/DatePicker/index.d.ts +2 -0
  24. package/dist/src/components/EmptyState/EmptyState.d.ts +44 -0
  25. package/dist/src/components/EmptyState/EmptyState.styles.d.ts +134 -0
  26. package/dist/src/components/EmptyState/index.d.ts +2 -0
  27. package/dist/src/components/LogsViewer/Logs.styles.d.ts +4 -0
  28. package/dist/src/components/NumberField/NumberField.styles.d.ts +8 -0
  29. package/dist/src/components/Pagination/Pagination.d.ts +105 -0
  30. package/dist/src/components/Pagination/Pagination.styles.d.ts +152 -0
  31. package/dist/src/components/Pagination/index.d.ts +2 -0
  32. package/dist/src/components/ProgressBar/ProgressBar.d.ts +22 -0
  33. package/dist/src/components/ProgressBar/ProgressBar.styles.d.ts +83 -0
  34. package/dist/src/components/ProgressBar/index.d.ts +2 -0
  35. package/dist/src/components/SearchField/SearchField.styles.d.ts +23 -0
  36. package/dist/src/components/Skeleton/Skeleton.d.ts +5 -0
  37. package/dist/src/components/Skeleton/Skeleton.styles.d.ts +22 -1
  38. package/dist/src/components/Skeleton/index.d.ts +1 -1
  39. package/dist/src/components/Spinner/Spinner.d.ts +2 -0
  40. package/dist/src/components/Spinner/Spinner.styles.d.ts +19 -1
  41. package/dist/src/components/Spinner/index.d.ts +1 -1
  42. package/dist/src/components/Table/Table.d.ts +11 -2
  43. package/dist/src/components/Table/Table.styles.d.ts +54 -0
  44. package/dist/src/components/TextArea/TextArea.styles.d.ts +2 -0
  45. package/dist/src/components/TextField/TextField.styles.d.ts +2 -0
  46. package/dist/src/components/ToggleButton/ToggleButton.styles.d.ts +16 -9
  47. package/dist/src/index.d.ts +21 -6
  48. package/dist/src/tokens/tokens.stylex.d.ts +1 -0
  49. package/dist/tokens.stylex.js +138 -0
  50. package/package.json +9 -1
@@ -1,2 +1,2 @@
1
- export type { SkeletonProps } from './Skeleton';
1
+ export type { SkeletonProps, SkeletonShape, SkeletonVariant } from './Skeleton';
2
2
  export { Skeleton } from './Skeleton';
@@ -1,6 +1,8 @@
1
1
  import { StyleXStyles } from '@stylexjs/stylex';
2
2
  import * as React from 'react';
3
+ export type SpinnerSize = 'sm' | 'md' | 'lg' | 'xl';
3
4
  export interface SpinnerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'style'> {
5
+ size?: SpinnerSize;
4
6
  style?: StyleXStyles;
5
7
  className?: string;
6
8
  'aria-label'?: string;
@@ -7,14 +7,32 @@ export declare const styles: Readonly<{
7
7
  readonly borderColor: stylex.StyleXClassNameFor<"borderColor", string>;
8
8
  readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
9
9
  readonly borderStyle: stylex.StyleXClassNameFor<"borderStyle", "solid">;
10
- readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", string>;
11
10
  readonly animationDuration: stylex.StyleXClassNameFor<"animationDuration", "0.8s">;
12
11
  readonly animationIterationCount: stylex.StyleXClassNameFor<"animationIterationCount", "infinite">;
13
12
  readonly animationName: stylex.StyleXClassNameFor<"animationName", string>;
14
13
  readonly animationTimingFunction: stylex.StyleXClassNameFor<"animationTimingFunction", "linear">;
15
14
  readonly borderBlockStartColor: stylex.StyleXClassNameFor<"borderBlockStartColor", string>;
16
15
  readonly display: stylex.StyleXClassNameFor<"display", "inline-block">;
16
+ readonly boxSizing: stylex.StyleXClassNameFor<"boxSizing", "border-box">;
17
+ }>;
18
+ readonly sm: Readonly<{
19
+ readonly height: stylex.StyleXClassNameFor<"height", string>;
20
+ readonly width: stylex.StyleXClassNameFor<"width", string>;
21
+ readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", "2px">;
22
+ }>;
23
+ readonly md: Readonly<{
24
+ readonly height: stylex.StyleXClassNameFor<"height", string>;
25
+ readonly width: stylex.StyleXClassNameFor<"width", string>;
26
+ readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", string>;
27
+ }>;
28
+ readonly lg: Readonly<{
17
29
  readonly height: stylex.StyleXClassNameFor<"height", string>;
18
30
  readonly width: stylex.StyleXClassNameFor<"width", string>;
31
+ readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", string>;
32
+ }>;
33
+ readonly xl: Readonly<{
34
+ readonly height: stylex.StyleXClassNameFor<"height", string>;
35
+ readonly width: stylex.StyleXClassNameFor<"width", string>;
36
+ readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", string>;
19
37
  }>;
20
38
  }>;
@@ -1,2 +1,2 @@
1
- export type { SpinnerProps } from './Spinner';
1
+ export type { SpinnerProps, SpinnerSize } from './Spinner';
2
2
  export { Spinner } from './Spinner';
@@ -4,21 +4,30 @@ import * as React from 'react';
4
4
  export interface TableProps extends Omit<AriaTableProps, 'style'> {
5
5
  style?: StyleXStyles;
6
6
  className?: string;
7
+ stickyHeader?: boolean;
8
+ isLoading?: boolean;
9
+ loadingState?: React.ReactNode;
10
+ emptyState?: React.ReactNode;
7
11
  }
8
12
  export declare const Table: React.ForwardRefExoticComponent<TableProps & React.RefAttributes<HTMLTableElement>>;
9
13
  export interface TableHeaderProps<T> extends Omit<AriaTableHeaderProps<T>, 'style'> {
10
14
  style?: StyleXStyles;
11
15
  className?: string;
16
+ sticky?: boolean;
12
17
  }
13
18
  export declare const TableHeader: React.ForwardRefExoticComponent<TableHeaderProps<any> & React.RefAttributes<HTMLTableSectionElement>>;
14
- export interface ColumnProps extends Omit<AriaColumnProps, 'style'> {
19
+ export interface ColumnProps extends Omit<AriaColumnProps, 'style' | 'className'> {
15
20
  style?: StyleXStyles;
16
- className?: string;
21
+ className?: AriaColumnProps['className'];
22
+ showSortIndicator?: boolean;
17
23
  }
18
24
  export declare const Column: React.ForwardRefExoticComponent<ColumnProps & React.RefAttributes<HTMLTableHeaderCellElement>>;
19
25
  export interface TableBodyProps<T> extends Omit<AriaTableBodyProps<T>, 'style'> {
20
26
  style?: StyleXStyles;
21
27
  className?: string;
28
+ isLoading?: boolean;
29
+ loadingState?: React.ReactNode;
30
+ emptyState?: React.ReactNode;
22
31
  }
23
32
  export declare const TableBody: React.ForwardRefExoticComponent<TableBodyProps<any> & React.RefAttributes<HTMLTableSectionElement>>;
24
33
  export interface RowProps<T> extends Omit<AriaRowProps<T>, 'style'> {
@@ -15,6 +15,12 @@ export declare const styles: Readonly<{
15
15
  readonly borderBottomStyle: stylex.StyleXClassNameFor<"borderBottomStyle", "solid">;
16
16
  readonly borderBottomColor: stylex.StyleXClassNameFor<"borderBottomColor", string>;
17
17
  }>;
18
+ readonly headerSticky: Readonly<{
19
+ readonly position: stylex.StyleXClassNameFor<"position", "sticky">;
20
+ readonly top: stylex.StyleXClassNameFor<"top", 0>;
21
+ readonly zIndex: stylex.StyleXClassNameFor<"zIndex", string>;
22
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
23
+ }>;
18
24
  readonly column: Readonly<{
19
25
  readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
20
26
  readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
@@ -32,6 +38,32 @@ export declare const styles: Readonly<{
32
38
  readonly outlineColor: stylex.StyleXVar<string>;
33
39
  }>;
34
40
  }>;
41
+ readonly columnSortable: Readonly<{
42
+ readonly cursor: stylex.StyleXClassNameFor<"cursor", "pointer">;
43
+ readonly userSelect: stylex.StyleXClassNameFor<"userSelect", "none">;
44
+ }>;
45
+ readonly columnHovered: Readonly<{
46
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
47
+ }>;
48
+ readonly columnContent: Readonly<{
49
+ readonly display: stylex.StyleXClassNameFor<"display", "inline-flex">;
50
+ readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
51
+ readonly justifyContent: stylex.StyleXClassNameFor<"justifyContent", "space-between">;
52
+ readonly gap: stylex.StyleXClassNameFor<"gap", string>;
53
+ readonly width: stylex.StyleXClassNameFor<"width", "100%">;
54
+ }>;
55
+ readonly sortIndicator: Readonly<{
56
+ readonly display: stylex.StyleXClassNameFor<"display", "inline-flex">;
57
+ readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
58
+ readonly justifyContent: stylex.StyleXClassNameFor<"justifyContent", "center">;
59
+ readonly flexShrink: stylex.StyleXClassNameFor<"flexShrink", 0>;
60
+ readonly color: stylex.StyleXClassNameFor<"color", string>;
61
+ readonly transitionProperty: stylex.StyleXClassNameFor<"transitionProperty", "color, transform">;
62
+ readonly transitionDuration: stylex.StyleXClassNameFor<"transitionDuration", "0.15s">;
63
+ }>;
64
+ readonly sortIndicatorActive: Readonly<{
65
+ readonly color: stylex.StyleXClassNameFor<"color", string>;
66
+ }>;
35
67
  readonly body: Readonly<{
36
68
  readonly outline: stylex.StyleXClassNameFor<"outline", "none">;
37
69
  }>;
@@ -74,4 +106,26 @@ export declare const styles: Readonly<{
74
106
  readonly outlineColor: stylex.StyleXVar<string>;
75
107
  }>;
76
108
  }>;
109
+ readonly emptyState: Readonly<{
110
+ readonly display: stylex.StyleXClassNameFor<"display", "flex">;
111
+ readonly flexDirection: stylex.StyleXClassNameFor<"flexDirection", "column">;
112
+ readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
113
+ readonly justifyContent: stylex.StyleXClassNameFor<"justifyContent", "center">;
114
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
115
+ readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
116
+ readonly textAlign: stylex.StyleXClassNameFor<"textAlign", "center">;
117
+ readonly color: stylex.StyleXClassNameFor<"color", string>;
118
+ readonly width: stylex.StyleXClassNameFor<"width", "100%">;
119
+ }>;
120
+ readonly loadingState: Readonly<{
121
+ readonly display: stylex.StyleXClassNameFor<"display", "flex">;
122
+ readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
123
+ readonly justifyContent: stylex.StyleXClassNameFor<"justifyContent", "center">;
124
+ readonly gap: stylex.StyleXClassNameFor<"gap", string>;
125
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
126
+ readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
127
+ readonly textAlign: stylex.StyleXClassNameFor<"textAlign", "center">;
128
+ readonly color: stylex.StyleXClassNameFor<"color", string>;
129
+ readonly width: stylex.StyleXClassNameFor<"width", "100%">;
130
+ }>;
77
131
  }>;
@@ -16,6 +16,8 @@ export declare const styles: Readonly<{
16
16
  readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
17
17
  readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", "1px">;
18
18
  readonly borderStyle: stylex.StyleXClassNameFor<"borderStyle", "solid">;
19
+ readonly borderColor: stylex.StyleXClassNameFor<"borderColor", string>;
20
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
19
21
  readonly color: stylex.StyleXClassNameFor<"color", string>;
20
22
  readonly fontFamily: stylex.StyleXClassNameFor<"fontFamily", string>;
21
23
  readonly fontSize: stylex.StyleXClassNameFor<"fontSize", string>;
@@ -11,6 +11,8 @@ export declare const styles: Readonly<{
11
11
  readonly width: stylex.StyleXClassNameFor<"width", "100%">;
12
12
  readonly borderWidth: stylex.StyleXClassNameFor<"borderWidth", "1px">;
13
13
  readonly borderStyle: stylex.StyleXClassNameFor<"borderStyle", "solid">;
14
+ readonly borderColor: stylex.StyleXClassNameFor<"borderColor", string>;
15
+ readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
14
16
  readonly color: stylex.StyleXClassNameFor<"color", string>;
15
17
  readonly fontFamily: stylex.StyleXClassNameFor<"fontFamily", string>;
16
18
  readonly outline: stylex.StyleXClassNameFor<"outline", "none">;
@@ -7,6 +7,7 @@ export declare const styles: Readonly<{
7
7
  readonly gap: stylex.StyleXClassNameFor<"gap", string>;
8
8
  readonly fontWeight: stylex.StyleXClassNameFor<"fontWeight", string>;
9
9
  readonly cursor: stylex.StyleXClassNameFor<"cursor", "pointer">;
10
+ readonly boxSizing: stylex.StyleXClassNameFor<"boxSizing", "border-box">;
10
11
  readonly transitionProperty: stylex.StyleXClassNameFor<"transitionProperty", "background-color, border-color, color, transform">;
11
12
  readonly transitionDuration: stylex.StyleXClassNameFor<"transitionDuration", "0.15s">;
12
13
  readonly transitionTimingFunction: stylex.StyleXClassNameFor<"transitionTimingFunction", "ease-in-out">;
@@ -27,21 +28,24 @@ export declare const styles: Readonly<{
27
28
  }>;
28
29
  }>;
29
30
  readonly sm: Readonly<{
30
- readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
31
+ readonly height: stylex.StyleXClassNameFor<"height", `calc(${stylex.StyleXVar<string>} * 2 + ${stylex.StyleXVar<string>})`>;
32
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", 0>;
31
33
  readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
32
34
  readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
33
35
  readonly fontSize: stylex.StyleXClassNameFor<"fontSize", string>;
34
36
  readonly lineHeight: stylex.StyleXClassNameFor<"lineHeight", string>;
35
37
  }>;
36
38
  readonly md: Readonly<{
37
- readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
39
+ readonly height: stylex.StyleXClassNameFor<"height", `calc(${stylex.StyleXVar<string>} * 2 + ${stylex.StyleXVar<string>})`>;
40
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", 0>;
38
41
  readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
39
42
  readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
40
43
  readonly fontSize: stylex.StyleXClassNameFor<"fontSize", string>;
41
44
  readonly lineHeight: stylex.StyleXClassNameFor<"lineHeight", string>;
42
45
  }>;
43
46
  readonly lg: Readonly<{
44
- readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", string>;
47
+ readonly height: stylex.StyleXClassNameFor<"height", `calc(${stylex.StyleXVar<string>} * 2 + ${stylex.StyleXVar<string>})`>;
48
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", 0>;
45
49
  readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
46
50
  readonly borderRadius: stylex.StyleXClassNameFor<"borderRadius", string>;
47
51
  readonly fontSize: stylex.StyleXClassNameFor<"fontSize", string>;
@@ -210,15 +214,18 @@ export declare const styles: Readonly<{
210
214
  readonly backgroundColor: stylex.StyleXClassNameFor<"backgroundColor", string>;
211
215
  }>;
212
216
  readonly iconSm: Readonly<{
213
- readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
214
- readonly aspectRatio: stylex.StyleXClassNameFor<"aspectRatio", "1/1">;
217
+ readonly width: stylex.StyleXClassNameFor<"width", `calc(${stylex.StyleXVar<string>} * 2 + ${stylex.StyleXVar<string>})`>;
218
+ readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", 0>;
219
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", 0>;
215
220
  }>;
216
221
  readonly iconMd: Readonly<{
217
- readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
218
- readonly aspectRatio: stylex.StyleXClassNameFor<"aspectRatio", "1/1">;
222
+ readonly width: stylex.StyleXClassNameFor<"width", `calc(${stylex.StyleXVar<string>} * 2 + ${stylex.StyleXVar<string>})`>;
223
+ readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", 0>;
224
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", 0>;
219
225
  }>;
220
226
  readonly iconLg: Readonly<{
221
- readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", string>;
222
- readonly aspectRatio: stylex.StyleXClassNameFor<"aspectRatio", "1/1">;
227
+ readonly width: stylex.StyleXClassNameFor<"width", `calc(${stylex.StyleXVar<string>} * 2 + ${stylex.StyleXVar<string>})`>;
228
+ readonly paddingInline: stylex.StyleXClassNameFor<"paddingInline", 0>;
229
+ readonly paddingBlock: stylex.StyleXClassNameFor<"paddingBlock", 0>;
223
230
  }>;
224
231
  }>;
@@ -1,14 +1,14 @@
1
- export declare const version = "2026.08.20";
1
+ export declare const version = "2026.08.22";
2
2
  export { Alert } from './components/Alert';
3
3
  export type { AlertProps, AlertVariant } from './components/Alert/Alert';
4
4
  export { AlertDialog, AlertDialogBody, AlertDialogFooter, AlertDialogHeader, } from './components/AlertDialog';
5
5
  export type { AlertDialogBodyProps, AlertDialogFooterProps, AlertDialogHeaderProps, AlertDialogProps, } from './components/AlertDialog/AlertDialog';
6
6
  export type { AreaChartProps } from './components/AreaChart';
7
7
  export { AreaChart } from './components/AreaChart';
8
- export { Avatar } from './components/Avatar';
9
- export type { AvatarProps } from './components/Avatar/Avatar';
8
+ export type { AvatarGroupContextValue, AvatarGroupProps, AvatarProps, AvatarShape, AvatarSize, AvatarStatus, AvatarStatusPosition, } from './components/Avatar';
9
+ export { Avatar, AvatarGroup, AvatarGroupContext } from './components/Avatar';
10
10
  export { Badge } from './components/Badge';
11
- export type { BadgeProps, BadgeVariant } from './components/Badge/Badge';
11
+ export type { BadgeProps, BadgeSize, BadgeVariant, } from './components/Badge/Badge';
12
12
  export type { BarChartProps } from './components/BarChart';
13
13
  export { BarChart } from './components/BarChart';
14
14
  export type { BreadcrumbItemProps, BreadcrumbsProps, } from './components/Breadcrumbs';
@@ -17,6 +17,8 @@ export { Button } from './components/Button';
17
17
  export type { ButtonProps } from './components/Button/Button';
18
18
  export { ButtonGroup } from './components/ButtonGroup';
19
19
  export type { ButtonGroupProps } from './components/ButtonGroup/ButtonGroup';
20
+ export type { CalendarCellProps, CalendarGridProps, CalendarProps, RangeCalendarProps, } from './components/Calendar';
21
+ export { Calendar, CalendarCell, CalendarGrid, RangeCalendar, } from './components/Calendar';
20
22
  export type { CardBodyProps, CardFooterProps, CardHeaderProps, CardProps, CardVariant, Elevation, } from './components/Card';
21
23
  export { Card, CardBody, CardFooter, CardHeader } from './components/Card';
22
24
  export type { ChartContainerProps, LegendItem, } from './components/ChartContainer';
@@ -27,12 +29,20 @@ export { CheckboxGroup } from './components/CheckboxGroup';
27
29
  export type { CheckboxGroupProps } from './components/CheckboxGroup/CheckboxGroup';
28
30
  export { ComboBox, ComboBoxItem, ComboBoxSection } from './components/ComboBox';
29
31
  export type { ComboBoxItemProps, ComboBoxProps, ComboBoxSectionProps, } from './components/ComboBox/ComboBox';
32
+ export type { CommandPaletteEmptyProps, CommandPaletteFooterProps, CommandPaletteInputProps, CommandPaletteItemProps, CommandPaletteListProps, CommandPaletteProps, CommandPaletteSectionProps, UseCommandPaletteOptions, } from './components/CommandPalette';
33
+ export { CommandPalette, CommandPaletteEmpty, CommandPaletteFooter, CommandPaletteInput, CommandPaletteItem, CommandPaletteList, CommandPaletteSection, useCommandPalette, useCommandPaletteContext, } from './components/CommandPalette';
34
+ export type { DateFieldProps, DateInputProps, DateSegmentProps, } from './components/DateField';
35
+ export { DateField, DateInput, DateSegment, } from './components/DateField';
36
+ export type { DatePickerProps, DateRangePickerProps, } from './components/DatePicker';
37
+ export { DatePicker, DateRangePicker } from './components/DatePicker';
30
38
  export { Description } from './components/Description';
31
39
  export type { DescriptionProps } from './components/Description/Description';
32
40
  export type { DoughnutChartProps } from './components/DoughnutChart';
33
41
  export { DoughnutChart } from './components/DoughnutChart';
34
42
  export type { DrawerBodyProps, DrawerCloseButtonProps, DrawerDialogProps, DrawerFooterProps, DrawerHeaderProps, DrawerOverlayProps, DrawerPlacement, DrawerProps, DrawerSize, DrawerTitleProps, } from './components/Drawer';
35
43
  export { Drawer, DrawerBody, DrawerCloseButton, DrawerDialog, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerTitle, } from './components/Drawer';
44
+ export type { EmptyStateActionsProps, EmptyStateAlign, EmptyStateDescriptionProps, EmptyStateIconProps, EmptyStateProps, EmptyStateSize, EmptyStateTitleProps, EmptyStateVariant, } from './components/EmptyState';
45
+ export { EmptyState, EmptyStateActions, EmptyStateDescription, EmptyStateIcon, EmptyStateTitle, } from './components/EmptyState';
36
46
  export { ErrorMessage } from './components/ErrorMessage';
37
47
  export type { ErrorMessageProps } from './components/ErrorMessage/ErrorMessage';
38
48
  export { FieldError } from './components/FieldError';
@@ -55,10 +65,14 @@ export { Modal, ModalBody, ModalDialog, ModalFooter, ModalHeader, ModalOverlay,
55
65
  export type { ModalBodyProps, ModalDialogProps, ModalFooterProps, ModalHeaderProps, ModalOverlayProps, ModalProps, } from './components/Modal/Modal';
56
66
  export { NumberField } from './components/NumberField';
57
67
  export type { NumberFieldProps } from './components/NumberField/NumberField';
68
+ export type { PaginationContentProps, PaginationEllipsisProps, PaginationItemProps, PaginationLinkProps, PaginationNextProps, PaginationPageSizeProps, PaginationPreviousProps, PaginationProps, PaginationShape, PaginationSize, PaginationSummaryProps, PaginationVariant, } from './components/Pagination';
69
+ export { generatePagination, Pagination, PaginationContent, PaginationEllipsis, PaginationFirst, PaginationItem, PaginationLast, PaginationLink, PaginationNext, PaginationPageSize, PaginationPrevious, PaginationSummary, } from './components/Pagination';
58
70
  export type { PercentageBarProps, PercentageCircleProps, } from './components/Percentage';
59
71
  export { PercentageBar, PercentageCircle } from './components/Percentage';
60
72
  export { Popover, PopoverDialog, PopoverTrigger } from './components/Popover';
61
73
  export type { PopoverDialogProps, PopoverProps, } from './components/Popover/Popover';
74
+ export type { ProgressBarProps, ProgressBarShape, ProgressBarSize, ProgressBarVariant, } from './components/ProgressBar';
75
+ export { ProgressBar } from './components/ProgressBar';
62
76
  export { Radio, RadioGroup } from './components/RadioGroup';
63
77
  export type { RadioGroupProps, RadioProps, } from './components/RadioGroup/RadioGroup';
64
78
  export { SearchField } from './components/SearchField';
@@ -70,11 +84,11 @@ export type { SeparatorProps } from './components/Separator/Separator';
70
84
  export type { SidebarAsideProps, SidebarDividerProps, SidebarFooterProps, SidebarGroupProps, SidebarHeaderProps, SidebarItemProps, SidebarMainProps, SidebarProps, } from './components/Sidebar';
71
85
  export { Sidebar, SidebarAside, SidebarDivider, SidebarFooter, SidebarGroup, SidebarHeader, SidebarItem, SidebarMain, } from './components/Sidebar';
72
86
  export { Skeleton } from './components/Skeleton';
73
- export type { SkeletonProps } from './components/Skeleton/Skeleton';
87
+ export type { SkeletonProps, SkeletonShape, SkeletonVariant, } from './components/Skeleton/Skeleton';
74
88
  export { Slider, SliderThumb, SliderTrack } from './components/Slider';
75
89
  export type { SliderProps, SliderThumbProps, SliderTrackProps, } from './components/Slider/Slider';
76
90
  export { Spinner } from './components/Spinner';
77
- export type { SpinnerProps } from './components/Spinner/Spinner';
91
+ export type { SpinnerProps, SpinnerSize, } from './components/Spinner/Spinner';
78
92
  export type { StatProps } from './components/Stat';
79
93
  export { Stat } from './components/Stat';
80
94
  export { Switch } from './components/Switch';
@@ -103,4 +117,5 @@ export { Typography, TypographyHeading, TypographyLabel, TypographyParagraph, Ty
103
117
  export type { HeadingProps, ParagraphProps, SpanProps, TypographyLabelProps, TypographyProps, TypographyTag, } from './components/Typography/Typography';
104
118
  export type { ThemeProviderProps } from './theme/ThemeProvider';
105
119
  export { ThemeProvider } from './theme/ThemeProvider';
120
+ export type { Tokens } from './tokens/tokens.stylex';
106
121
  export { tokens } from './tokens/tokens.stylex';
@@ -119,3 +119,4 @@ export declare const tokens: stylex.VarGroup<Readonly<{
119
119
  colorChart7: string;
120
120
  colorChart8: string;
121
121
  }>, symbol>;
122
+ export type Tokens = typeof tokens;
@@ -0,0 +1,138 @@
1
+ 'use client';
2
+ export const tokens = {
3
+ // ── Color palette — oklch(L C H) ──────────────────────────────────
4
+ // Neutral — zero chroma (C=0), hue irrelevant
5
+ colorNeutral50: 'light-dark(oklch(0.98 0 0), oklch(0.14 0 0))',
6
+ colorNeutral100: 'light-dark(oklch(0.96 0 0), oklch(0.18 0 0))',
7
+ colorNeutral200: 'light-dark(oklch(0.92 0 0), oklch(0.24 0 0))',
8
+ colorNeutral300: 'light-dark(oklch(0.84 0 0), oklch(0.32 0 0))',
9
+ colorNeutral400: 'light-dark(oklch(0.70 0 0), oklch(0.45 0 0))',
10
+ colorNeutral500: 'light-dark(oklch(0.55 0 0), oklch(0.55 0 0))',
11
+ colorNeutral600: 'light-dark(oklch(0.42 0 0), oklch(0.68 0 0))',
12
+ colorNeutral700: 'light-dark(oklch(0.32 0 0), oklch(0.78 0 0))',
13
+ colorNeutral800: 'light-dark(oklch(0.22 0 0), oklch(0.88 0 0))',
14
+ colorNeutral900: 'light-dark(oklch(0.14 0 0), oklch(0.96 0 0))',
15
+ // Primary — dynamic hue & chroma
16
+ colorPrimary50: 'light-dark(oklch(0.96 calc(0.025 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.22 calc(0.050 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
17
+ colorPrimary100: 'light-dark(oklch(0.92 calc(0.050 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.28 calc(0.080 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
18
+ colorPrimary200: 'light-dark(oklch(0.85 calc(0.090 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.36 calc(0.120 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
19
+ colorPrimary300: 'light-dark(oklch(0.77 calc(0.140 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.45 calc(0.160 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
20
+ colorPrimary400: 'light-dark(oklch(0.66 calc(0.190 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.56 calc(0.200 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
21
+ colorPrimary500: 'light-dark(oklch(0.55 calc(0.240 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.66 calc(0.220 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
22
+ colorPrimary600: 'light-dark(oklch(0.46 calc(0.220 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.75 calc(0.190 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
23
+ colorPrimary700: 'light-dark(oklch(0.38 calc(0.190 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.83 calc(0.150 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
24
+ colorPrimary800: 'light-dark(oklch(0.30 calc(0.150 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.90 calc(0.090 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
25
+ colorPrimary900: 'light-dark(oklch(0.22 calc(0.110 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.95 calc(0.040 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
26
+ // Error — red hue (H ≈ 27)
27
+ colorError300: 'light-dark(oklch(0.80 0.120 27), oklch(0.45 0.150 27))',
28
+ colorError400: 'light-dark(oklch(0.68 0.170 27), oklch(0.58 0.180 27))',
29
+ colorError500: 'light-dark(oklch(0.56 0.200 27), oklch(0.68 0.190 27))',
30
+ colorError600: 'light-dark(oklch(0.46 0.190 27), oklch(0.78 0.150 27))',
31
+ colorError700: 'light-dark(oklch(0.36 0.160 27), oklch(0.87 0.090 27))',
32
+ // Warning — yellow hue (H ≈ 85)
33
+ colorWarning300: 'light-dark(oklch(0.85 0.130 85), oklch(0.48 0.140 85))',
34
+ colorWarning400: 'light-dark(oklch(0.78 0.160 85), oklch(0.60 0.165 85))',
35
+ colorWarning500: 'light-dark(oklch(0.70 0.175 85), oklch(0.72 0.165 85))',
36
+ colorWarning600: 'light-dark(oklch(0.60 0.165 85), oklch(0.82 0.130 85))',
37
+ colorWarning700: 'light-dark(oklch(0.48 0.140 85), oklch(0.90 0.080 85))',
38
+ // Success — green hue (H ≈ 145)
39
+ colorSuccess300: 'light-dark(oklch(0.82 0.120 145), oklch(0.44 0.130 145))',
40
+ colorSuccess400: 'light-dark(oklch(0.72 0.155 145), oklch(0.56 0.160 145))',
41
+ colorSuccess500: 'light-dark(oklch(0.62 0.175 145), oklch(0.68 0.170 145))',
42
+ colorSuccess600: 'light-dark(oklch(0.52 0.165 145), oklch(0.78 0.135 145))',
43
+ colorSuccess700: 'light-dark(oklch(0.40 0.135 145), oklch(0.87 0.085 145))',
44
+ // ── Semantic surface / text aliases ───────────────────────────────
45
+ colorBg: 'light-dark(oklch(1 0 0), oklch(0.12 0 0))',
46
+ colorBgSubtle: 'light-dark(oklch(0.97 0 0), oklch(0.16 0 0))',
47
+ colorBgElevated: 'light-dark(oklch(1 0 0), oklch(0.20 0 0))',
48
+ colorFg: 'light-dark(oklch(0.14 0 0), oklch(0.96 0 0))',
49
+ colorFgSubtle: 'light-dark(oklch(0.42 0 0), oklch(0.68 0 0))',
50
+ colorFgOnPrimary: 'light-dark(oklch(1 0 0), oklch(0.10 0 0))',
51
+ colorBorder: 'light-dark(oklch(0.84 0 0), oklch(0.28 0 0))',
52
+ colorBorderSubtle: 'light-dark(oklch(0.92 0 0), oklch(0.22 0 0))',
53
+ colorBorderFocus: 'light-dark(oklch(0.55 calc(0.240 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.66 calc(0.220 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
54
+ colorBgGlass: 'light-dark(oklch(1 0 0 / 0.55), oklch(0.20 0 0 / 0.45))',
55
+ colorBorderGlass: 'light-dark(oklch(0 0 0 / 0.08), oklch(1 0 0 / 0.10))',
56
+ // Shadows use oklch with alpha (oklch L C H / alpha)
57
+ colorShadow: 'light-dark(oklch(0 0 0 / 0.10), oklch(0 0 0 / 0.40))',
58
+ colorOverlay: 'light-dark(oklch(0 0 0 / 0.40), oklch(0 0 0 / 0.60))',
59
+ // Alert/Status status variants
60
+ colorAlertBgInfo: 'light-dark(oklch(0.97 0 0), oklch(0.16 0 0))',
61
+ colorAlertBorderInfo: 'light-dark(oklch(0.92 0 0), oklch(0.22 0 0))',
62
+ colorAlertHoverInfo: 'light-dark(oklch(0.92 calc(0.01 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.12 calc(0.01 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
63
+ colorAlertActiveInfo: 'light-dark(oklch(0.88 calc(0.01 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.08 calc(0.01 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
64
+ colorAlertBgAccent: 'light-dark(oklch(0.97 calc(0.02 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.19 calc(0.035 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
65
+ colorAlertBorderAccent: 'light-dark(oklch(0.88 calc(0.04 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.28 calc(0.06 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
66
+ colorAlertHoverAccent: 'light-dark(oklch(0.92 calc(0.04 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.14 calc(0.05 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
67
+ colorAlertActiveAccent: 'light-dark(oklch(0.87 calc(0.06 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)), oklch(0.10 calc(0.06 * var(--brand-chroma-multiplier, 1)) var(--brand-hue, 250)))',
68
+ colorAlertBgSuccess: 'light-dark(oklch(0.97 0.02 145), oklch(0.19 0.035 145))',
69
+ colorAlertBorderSuccess: 'light-dark(oklch(0.88 0.04 145), oklch(0.28 0.06 145))',
70
+ colorAlertHoverSuccess: 'light-dark(oklch(0.92 0.04 145), oklch(0.14 0.05 145))',
71
+ colorAlertActiveSuccess: 'light-dark(oklch(0.87 0.06 145), oklch(0.10 0.06 145))',
72
+ colorAlertBgWarning: 'light-dark(oklch(0.98 0.02 85), oklch(0.19 0.035 85))',
73
+ colorAlertBorderWarning: 'light-dark(oklch(0.90 0.05 85), oklch(0.28 0.06 85))',
74
+ colorAlertHoverWarning: 'light-dark(oklch(0.93 0.04 85), oklch(0.14 0.05 85))',
75
+ colorAlertActiveWarning: 'light-dark(oklch(0.88 0.06 85), oklch(0.10 0.06 85))',
76
+ colorAlertBgError: 'light-dark(oklch(0.97 0.02 27), oklch(0.19 0.035 27))',
77
+ colorAlertBorderError: 'light-dark(oklch(0.90 0.05 27), oklch(0.28 0.06 27))',
78
+ colorAlertHoverError: 'light-dark(oklch(0.92 0.04 27), oklch(0.14 0.05 27))',
79
+ colorAlertActiveError: 'light-dark(oklch(0.87 0.06 27), oklch(0.10 0.06 27))',
80
+ // ── Typography ────────────────────────────────────────────────────
81
+ fontSizeXs: 'calc(0.75rem * var(--brand-font-scale, 1))', // 12px
82
+ fontSizeSm: 'calc(0.875rem * var(--brand-font-scale, 1))', // 14px
83
+ fontSizeMd: 'calc(1rem * var(--brand-font-scale, 1))', // 16px
84
+ fontSizeLg: 'calc(1.125rem * var(--brand-font-scale, 1))', // 18px
85
+ fontSizeXl: 'calc(1.25rem * var(--brand-font-scale, 1))', // 20px
86
+ fontSizeXxl: 'calc(1.5rem * var(--brand-font-scale, 1))', // 24px
87
+ fontSize3xl: 'calc(1.875rem * var(--brand-font-scale, 1))', // 30px
88
+ fontSize4xl: 'calc(2.25rem * var(--brand-font-scale, 1))', // 36px
89
+ lineHeightXs: 'calc(1rem * var(--brand-font-scale, 1))',
90
+ lineHeightSm: 'calc(1.25rem * var(--brand-font-scale, 1))',
91
+ lineHeightMd: 'calc(1.5rem * var(--brand-font-scale, 1))',
92
+ lineHeightLg: 'calc(1.75rem * var(--brand-font-scale, 1))',
93
+ lineHeightXl: 'calc(1.75rem * var(--brand-font-scale, 1))',
94
+ lineHeightXxl: 'calc(2rem * var(--brand-font-scale, 1))',
95
+ lineHeight3xl: 'calc(2.25rem * var(--brand-font-scale, 1))',
96
+ lineHeight4xl: 'calc(2.5rem * var(--brand-font-scale, 1))',
97
+ fontWeightNormal: '400',
98
+ fontWeightMedium: '500',
99
+ fontWeightSemibold: '600',
100
+ fontWeightBold: '700',
101
+ fontFamilyBase: "'Google Sans', 'Inter', system-ui, sans-serif",
102
+ // ── Spacing (8 steps, 4px base) ───────────────────────────────────
103
+ spacing1: 'calc(0.25rem * var(--brand-density-factor, 1))', // 4px * density
104
+ spacing2: 'calc(0.5rem * var(--brand-density-factor, 1))', // 8px * density
105
+ spacing3: 'calc(0.75rem * var(--brand-density-factor, 1))', // 12px * density
106
+ spacing4: 'calc(1rem * var(--brand-density-factor, 1))', // 16px * density
107
+ spacing5: 'calc(1.25rem * var(--brand-density-factor, 1))', // 20px * density
108
+ spacing6: 'calc(1.5rem * var(--brand-density-factor, 1))', // 24px * density
109
+ spacing7: 'calc(1.75rem * var(--brand-density-factor, 1))', // 28px * density
110
+ spacing8: 'calc(2rem * var(--brand-density-factor, 1))', // 32px * density
111
+ // ── Border radius ─────────────────────────────────────────────────
112
+ radiusNone: '0',
113
+ radiusSm: 'calc(0.375rem * var(--brand-radius-factor, 1))',
114
+ radiusMd: 'calc(0.75rem * var(--brand-radius-factor, 1))',
115
+ radiusLg: 'calc(1.25rem * var(--brand-radius-factor, 1))',
116
+ radiusFull: '9999px',
117
+ // ── Shadows — use colorShadow token for the shadow color ──────────
118
+ shadowSm: '0 1px 2px 0 var(--colorShadow)',
119
+ shadowMd: '0 4px 6px -1px var(--colorShadow), 0 2px 4px -2px var(--colorShadow)',
120
+ shadowLg: '0 10px 15px -3px var(--colorShadow), 0 4px 6px -4px var(--colorShadow)',
121
+ // ── Z-index ───────────────────────────────────────────────────────
122
+ zIndexBase: '0',
123
+ zIndexDropdown: '1000',
124
+ zIndexModal: '1300',
125
+ zIndexTooltip: '1500',
126
+ zIndexToast: '1700',
127
+ // ── Chart Colors (8 steps for light/dark responsive graphs) ───────
128
+ colorChart1: 'light-dark(oklch(0.60 0.18 250), oklch(0.65 0.16 250))', // Blue
129
+ colorChart2: 'light-dark(oklch(0.75 0.15 75), oklch(0.75 0.14 75))', // Yellow / Gold
130
+ colorChart3: 'light-dark(oklch(0.65 0.18 5), oklch(0.68 0.16 5))', // Rose / Pink
131
+ colorChart4: 'light-dark(oklch(0.62 0.20 300), oklch(0.65 0.18 300))', // Purple / Violet
132
+ colorChart5: 'light-dark(oklch(0.68 0.16 195), oklch(0.70 0.14 195))', // Teal / Cyan
133
+ colorChart6: 'light-dark(oklch(0.58 0.16 45), oklch(0.62 0.15 45))', // Orange / Rust
134
+ colorChart7: 'light-dark(oklch(0.64 0.17 145), oklch(0.68 0.15 145))', // Green
135
+ colorChart8: 'light-dark(oklch(0.60 0 0), oklch(0.65 0 0))', // Gray / Neutral
136
+ };
137
+ export const rawTokens = tokens;
138
+ export const tokenValues = tokens;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moul-dev/ui",
3
- "version": "2026.08.20",
3
+ "version": "2026.08.22",
4
4
  "description": "Accessible, zero-runtime React component library built on React Aria and StyleX",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -39,6 +39,14 @@
39
39
  "types": "./dist/src/index.d.ts",
40
40
  "import": "./dist/moul-ui.js"
41
41
  },
42
+ "./tokens": {
43
+ "types": "./dist/src/tokens/tokens.stylex.d.ts",
44
+ "import": "./dist/tokens.stylex.js"
45
+ },
46
+ "./tokens.stylex": {
47
+ "types": "./dist/src/tokens/tokens.stylex.d.ts",
48
+ "import": "./dist/tokens.stylex.js"
49
+ },
42
50
  "./style": {
43
51
  "style": "./dist/assets/stylex.css",
44
52
  "default": "./dist/assets/stylex.css"