asterui 0.12.0 → 0.12.2

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 (299) hide show
  1. package/README.md +1 -1
  2. package/dist/components/Calendar.d.ts +23 -0
  3. package/dist/components/Checkbox.d.ts +10 -0
  4. package/dist/components/Dock.d.ts +38 -0
  5. package/dist/components/Form.d.ts +27 -2
  6. package/dist/components/Mask.d.ts +14 -0
  7. package/dist/components/Radio.d.ts +7 -1
  8. package/dist/components/Status.d.ts +18 -0
  9. package/dist/index.css +1 -0
  10. package/dist/index.d.ts +12 -3
  11. package/dist/index.js +203 -192
  12. package/dist/index.js.map +1 -1
  13. package/dist/index10.js +85 -59
  14. package/dist/index10.js.map +1 -1
  15. package/dist/index100.js +44 -11
  16. package/dist/index100.js.map +1 -1
  17. package/dist/index101.js +11 -29
  18. package/dist/index101.js.map +1 -1
  19. package/dist/index102.js +13 -16
  20. package/dist/index102.js.map +1 -1
  21. package/dist/index103.js +7 -10792
  22. package/dist/index103.js.map +1 -1
  23. package/dist/index104.js +13 -5
  24. package/dist/index104.js.map +1 -1
  25. package/dist/index105.js +30 -41
  26. package/dist/index105.js.map +1 -1
  27. package/dist/index106.js +18 -2
  28. package/dist/index106.js.map +1 -1
  29. package/dist/index107.js +174 -7
  30. package/dist/index107.js.map +1 -1
  31. package/dist/index109.js +10788 -25
  32. package/dist/index109.js.map +1 -1
  33. package/dist/index110.js +5 -30
  34. package/dist/index110.js.map +1 -1
  35. package/dist/index111.js +42 -2
  36. package/dist/index111.js.map +1 -1
  37. package/dist/index112.js +2 -72
  38. package/dist/index112.js.map +1 -1
  39. package/dist/index113.js +6 -38
  40. package/dist/index113.js.map +1 -1
  41. package/dist/index114.js +150 -24
  42. package/dist/index114.js.map +1 -1
  43. package/dist/index115.js +29 -20
  44. package/dist/index115.js.map +1 -1
  45. package/dist/index116.js +29 -23
  46. package/dist/index116.js.map +1 -1
  47. package/dist/index117.js +2 -20
  48. package/dist/index117.js.map +1 -1
  49. package/dist/index118.js +71 -99
  50. package/dist/index118.js.map +1 -1
  51. package/dist/index119.js +37 -358
  52. package/dist/index119.js.map +1 -1
  53. package/dist/index120.js +23 -22
  54. package/dist/index120.js.map +1 -1
  55. package/dist/index121.js +20 -72
  56. package/dist/index121.js.map +1 -1
  57. package/dist/index122.js +23 -15
  58. package/dist/index122.js.map +1 -1
  59. package/dist/index123.js +19 -65
  60. package/dist/index123.js.map +1 -1
  61. package/dist/index124.js +92 -136
  62. package/dist/index124.js.map +1 -1
  63. package/dist/index125.js +360 -2
  64. package/dist/index125.js.map +1 -1
  65. package/dist/index126.js +23 -54
  66. package/dist/index126.js.map +1 -1
  67. package/dist/index127.js +73 -2
  68. package/dist/index127.js.map +1 -1
  69. package/dist/index128.js +16 -2
  70. package/dist/index128.js.map +1 -1
  71. package/dist/index129.js +66 -2
  72. package/dist/index129.js.map +1 -1
  73. package/dist/index13.js +35 -95
  74. package/dist/index13.js.map +1 -1
  75. package/dist/index130.js +144 -2
  76. package/dist/index130.js.map +1 -1
  77. package/dist/index131.js +2 -2
  78. package/dist/index132.js +56 -2
  79. package/dist/index132.js.map +1 -1
  80. package/dist/index135.js +2 -32
  81. package/dist/index135.js.map +1 -1
  82. package/dist/index137.js +2 -8
  83. package/dist/index137.js.map +1 -1
  84. package/dist/index138.js +2 -2
  85. package/dist/index139.js +2 -2
  86. package/dist/index14.js +90 -153
  87. package/dist/index14.js.map +1 -1
  88. package/dist/index140.js +2 -21
  89. package/dist/index140.js.map +1 -1
  90. package/dist/index141.js +32 -2
  91. package/dist/index141.js.map +1 -1
  92. package/dist/index142.js +2 -24
  93. package/dist/index142.js.map +1 -1
  94. package/dist/index143.js +7 -70
  95. package/dist/index143.js.map +1 -1
  96. package/dist/index144.js +2 -21
  97. package/dist/index144.js.map +1 -1
  98. package/dist/index145.js +2 -34
  99. package/dist/index145.js.map +1 -1
  100. package/dist/index146.js +20 -69
  101. package/dist/index146.js.map +1 -1
  102. package/dist/index147.js +2 -2
  103. package/dist/index148.js +23 -21
  104. package/dist/index148.js.map +1 -1
  105. package/dist/index149.js +71 -2
  106. package/dist/index149.js.map +1 -1
  107. package/dist/index15.js +154 -146
  108. package/dist/index15.js.map +1 -1
  109. package/dist/index150.js +21 -2
  110. package/dist/index150.js.map +1 -1
  111. package/dist/index151.js +34 -2
  112. package/dist/index151.js.map +1 -1
  113. package/dist/index152.js +70 -2
  114. package/dist/index152.js.map +1 -1
  115. package/dist/index153.js +2 -4
  116. package/dist/index153.js.map +1 -1
  117. package/dist/index154.js +25 -0
  118. package/dist/index154.js.map +1 -0
  119. package/dist/index155.js +5 -0
  120. package/dist/index155.js.map +1 -0
  121. package/dist/index156.js +5 -0
  122. package/dist/index156.js.map +1 -0
  123. package/dist/index157.js +5 -0
  124. package/dist/index157.js.map +1 -0
  125. package/dist/index158.js +5 -0
  126. package/dist/index158.js.map +1 -0
  127. package/dist/index159.js +7 -0
  128. package/dist/index159.js.map +1 -0
  129. package/dist/index16.js +150 -5
  130. package/dist/index16.js.map +1 -1
  131. package/dist/index17.js +5 -71
  132. package/dist/index17.js.map +1 -1
  133. package/dist/index18.js +71 -17
  134. package/dist/index18.js.map +1 -1
  135. package/dist/index19.js +15 -96
  136. package/dist/index19.js.map +1 -1
  137. package/dist/index20.js +89 -105
  138. package/dist/index20.js.map +1 -1
  139. package/dist/index21.js +107 -177
  140. package/dist/index21.js.map +1 -1
  141. package/dist/index22.js +181 -107
  142. package/dist/index22.js.map +1 -1
  143. package/dist/index23.js +110 -19
  144. package/dist/index23.js.map +1 -1
  145. package/dist/index24.js +19 -32
  146. package/dist/index24.js.map +1 -1
  147. package/dist/index25.js +42 -40
  148. package/dist/index25.js.map +1 -1
  149. package/dist/index26.js +31 -11
  150. package/dist/index26.js.map +1 -1
  151. package/dist/index27.js +41 -33
  152. package/dist/index27.js.map +1 -1
  153. package/dist/index28.js +12 -63
  154. package/dist/index28.js.map +1 -1
  155. package/dist/index29.js +33 -80
  156. package/dist/index29.js.map +1 -1
  157. package/dist/index30.js +63 -18
  158. package/dist/index30.js.map +1 -1
  159. package/dist/index31.js +78 -159
  160. package/dist/index31.js.map +1 -1
  161. package/dist/index32.js +16 -1080
  162. package/dist/index32.js.map +1 -1
  163. package/dist/index33.js +218 -16
  164. package/dist/index33.js.map +1 -1
  165. package/dist/index34.js +1081 -121
  166. package/dist/index34.js.map +1 -1
  167. package/dist/index35.js +17 -39
  168. package/dist/index35.js.map +1 -1
  169. package/dist/index36.js +121 -190
  170. package/dist/index36.js.map +1 -1
  171. package/dist/index37.js +37 -94
  172. package/dist/index37.js.map +1 -1
  173. package/dist/index38.js +186 -157
  174. package/dist/index38.js.map +1 -1
  175. package/dist/index39.js +89 -138
  176. package/dist/index39.js.map +1 -1
  177. package/dist/index40.js +161 -14
  178. package/dist/index40.js.map +1 -1
  179. package/dist/index41.js +146 -18
  180. package/dist/index41.js.map +1 -1
  181. package/dist/index42.js +14 -20
  182. package/dist/index42.js.map +1 -1
  183. package/dist/index43.js +15 -116
  184. package/dist/index43.js.map +1 -1
  185. package/dist/index44.js +18 -10
  186. package/dist/index44.js.map +1 -1
  187. package/dist/index45.js +119 -35
  188. package/dist/index45.js.map +1 -1
  189. package/dist/index46.js +12 -115
  190. package/dist/index46.js.map +1 -1
  191. package/dist/index47.js +33 -174
  192. package/dist/index47.js.map +1 -1
  193. package/dist/index48.js +10 -147
  194. package/dist/index48.js.map +1 -1
  195. package/dist/index49.js +116 -12
  196. package/dist/index49.js.map +1 -1
  197. package/dist/index50.js +176 -22
  198. package/dist/index50.js.map +1 -1
  199. package/dist/index51.js +147 -14
  200. package/dist/index51.js.map +1 -1
  201. package/dist/index52.js +10 -5
  202. package/dist/index52.js.map +1 -1
  203. package/dist/index53.js +21 -265
  204. package/dist/index53.js.map +1 -1
  205. package/dist/index54.js +10 -13
  206. package/dist/index54.js.map +1 -1
  207. package/dist/index55.js +7 -122
  208. package/dist/index55.js.map +1 -1
  209. package/dist/index56.js +262 -106
  210. package/dist/index56.js.map +1 -1
  211. package/dist/index57.js +14 -167
  212. package/dist/index57.js.map +1 -1
  213. package/dist/index58.js +121 -31
  214. package/dist/index58.js.map +1 -1
  215. package/dist/index59.js +107 -119
  216. package/dist/index59.js.map +1 -1
  217. package/dist/index60.js +161 -77
  218. package/dist/index60.js.map +1 -1
  219. package/dist/index61.js +31 -19
  220. package/dist/index61.js.map +1 -1
  221. package/dist/index62.js +117 -69
  222. package/dist/index62.js.map +1 -1
  223. package/dist/index63.js +82 -53
  224. package/dist/index63.js.map +1 -1
  225. package/dist/index64.js +19 -44
  226. package/dist/index64.js.map +1 -1
  227. package/dist/index65.js +70 -48
  228. package/dist/index65.js.map +1 -1
  229. package/dist/index66.js +55 -60
  230. package/dist/index66.js.map +1 -1
  231. package/dist/index67.js +39 -101
  232. package/dist/index67.js.map +1 -1
  233. package/dist/index68.js +52 -41
  234. package/dist/index68.js.map +1 -1
  235. package/dist/index69.js +58 -64
  236. package/dist/index69.js.map +1 -1
  237. package/dist/index70.js +105 -19
  238. package/dist/index70.js.map +1 -1
  239. package/dist/index71.js +41 -46
  240. package/dist/index71.js.map +1 -1
  241. package/dist/index72.js +63 -129
  242. package/dist/index72.js.map +1 -1
  243. package/dist/index73.js +19 -50
  244. package/dist/index73.js.map +1 -1
  245. package/dist/index74.js +46 -22
  246. package/dist/index74.js.map +1 -1
  247. package/dist/index75.js +134 -22
  248. package/dist/index75.js.map +1 -1
  249. package/dist/index76.js +51 -328
  250. package/dist/index76.js.map +1 -1
  251. package/dist/index77.js +19 -53
  252. package/dist/index77.js.map +1 -1
  253. package/dist/index78.js +31 -40
  254. package/dist/index78.js.map +1 -1
  255. package/dist/index79.js +22 -23
  256. package/dist/index79.js.map +1 -1
  257. package/dist/index80.js +319 -85
  258. package/dist/index80.js.map +1 -1
  259. package/dist/index81.js +52 -126
  260. package/dist/index81.js.map +1 -1
  261. package/dist/index82.js +39 -160
  262. package/dist/index82.js.map +1 -1
  263. package/dist/index83.js +23 -65
  264. package/dist/index83.js.map +1 -1
  265. package/dist/index84.js +95 -35
  266. package/dist/index84.js.map +1 -1
  267. package/dist/index85.js +126 -230
  268. package/dist/index85.js.map +1 -1
  269. package/dist/index86.js +159 -32
  270. package/dist/index86.js.map +1 -1
  271. package/dist/index87.js +60 -205
  272. package/dist/index87.js.map +1 -1
  273. package/dist/index88.js +34 -212
  274. package/dist/index88.js.map +1 -1
  275. package/dist/index89.js +229 -290
  276. package/dist/index89.js.map +1 -1
  277. package/dist/index90.js +32 -176
  278. package/dist/index90.js.map +1 -1
  279. package/dist/index91.js +199 -247
  280. package/dist/index91.js.map +1 -1
  281. package/dist/index92.js +211 -12
  282. package/dist/index92.js.map +1 -1
  283. package/dist/index93.js +290 -28
  284. package/dist/index93.js.map +1 -1
  285. package/dist/index94.js +177 -5
  286. package/dist/index94.js.map +1 -1
  287. package/dist/index95.js +257 -13
  288. package/dist/index95.js.map +1 -1
  289. package/dist/index96.js +13 -45
  290. package/dist/index96.js.map +1 -1
  291. package/dist/index97.js +32 -12
  292. package/dist/index97.js.map +1 -1
  293. package/dist/index98.js +5 -14
  294. package/dist/index98.js.map +1 -1
  295. package/dist/index99.js +13 -7
  296. package/dist/index99.js.map +1 -1
  297. package/package.json +2 -1
  298. package/dist/index108.js +0 -155
  299. package/dist/index108.js.map +0 -1
package/README.md CHANGED
@@ -102,7 +102,7 @@ export default function App() {
102
102
 
103
103
  ## Components
104
104
 
105
- 80+ components including forms, data display, navigation, feedback, and layout. See the full list at [asterui.com/components](https://asterui.com/components).
105
+ 90+ components including forms, data display, navigation, feedback, and layout. See the full list at [asterui.com/components](https://asterui.com/components).
106
106
 
107
107
  ## Requirements
108
108
 
@@ -0,0 +1,23 @@
1
+ import { en, fr, MonthCalendarProps as BaseMonthCalendarProps, WeekCalendarProps as BaseWeekCalendarProps, CalendarEvent, CalendarLocale } from '@vinctus/calendar';
2
+ export type { CalendarEvent, CalendarLocale };
3
+ export { en, fr };
4
+ export interface MonthCalendarProps<T extends CalendarEvent = CalendarEvent> extends Omit<BaseMonthCalendarProps<T>, 'theme'> {
5
+ className?: string;
6
+ }
7
+ export interface WeekCalendarProps<T extends CalendarEvent = CalendarEvent> extends Omit<BaseWeekCalendarProps<T>, 'theme'> {
8
+ className?: string;
9
+ }
10
+ declare const MonthCalendar: {
11
+ <T extends CalendarEvent = CalendarEvent>({ className, ...props }: MonthCalendarProps<T>): import("react/jsx-runtime").JSX.Element;
12
+ displayName: string;
13
+ };
14
+ declare const WeekCalendar: {
15
+ <T extends CalendarEvent = CalendarEvent>({ className, ...props }: WeekCalendarProps<T>): import("react/jsx-runtime").JSX.Element;
16
+ displayName: string;
17
+ };
18
+ interface CalendarComponent {
19
+ Month: typeof MonthCalendar;
20
+ Week: typeof WeekCalendar;
21
+ }
22
+ export declare const Calendar: CalendarComponent;
23
+ export default Calendar;
@@ -1,9 +1,19 @@
1
1
  import { default as React } from 'react';
2
+ export interface CheckboxSwapConfig {
3
+ /** Content shown when checked */
4
+ on: React.ReactNode;
5
+ /** Content shown when unchecked */
6
+ off: React.ReactNode;
7
+ /** Animation effect for the swap transition */
8
+ effect?: 'rotate' | 'flip';
9
+ }
2
10
  export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
3
11
  children?: React.ReactNode;
4
12
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
13
  color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'success' | 'warning' | 'info' | 'error';
6
14
  indeterminate?: boolean;
15
+ /** Swap mode: toggle between two visual states instead of showing a checkbox */
16
+ swap?: CheckboxSwapConfig;
7
17
  className?: string;
8
18
  }
9
19
  export interface CheckboxOptionType {
@@ -0,0 +1,38 @@
1
+ import { default as React } from 'react';
2
+ export interface DockItemConfig {
3
+ /** Icon element */
4
+ icon: React.ReactNode;
5
+ /** Label text */
6
+ label?: string;
7
+ /** Whether this item is active */
8
+ active?: boolean;
9
+ /** Whether this item is disabled */
10
+ disabled?: boolean;
11
+ /** Click handler for this item */
12
+ onClick?: () => void;
13
+ }
14
+ export interface DockProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
15
+ /** Dock items configuration */
16
+ items?: DockItemConfig[];
17
+ /** Size variant */
18
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
19
+ /** Controlled active index */
20
+ activeIndex?: number;
21
+ /** Callback when an item is clicked */
22
+ onChange?: (index: number) => void;
23
+ /** Children (alternative to items prop) */
24
+ children?: React.ReactNode;
25
+ /** Additional CSS classes */
26
+ className?: string;
27
+ }
28
+ export interface DockItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
29
+ /** Whether this item is active */
30
+ active?: boolean;
31
+ /** Children (icon and optional label) */
32
+ children: React.ReactNode;
33
+ /** Additional CSS classes */
34
+ className?: string;
35
+ }
36
+ export declare const Dock: React.ForwardRefExoticComponent<DockProps & React.RefAttributes<HTMLDivElement>> & {
37
+ Item: React.ForwardRefExoticComponent<DockItemProps & React.RefAttributes<HTMLButtonElement>>;
38
+ };
@@ -5,6 +5,8 @@ export interface FormProps<TFieldValues extends FieldValues = FieldValues> exten
5
5
  onFinish?: SubmitHandler<TFieldValues>;
6
6
  initialValues?: UseFormProps<TFieldValues>['defaultValues'];
7
7
  layout?: 'vertical' | 'horizontal' | 'inline';
8
+ /** Label width in pixels for horizontal layout (default: 80) */
9
+ labelWidth?: number;
8
10
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
9
11
  children: React.ReactNode;
10
12
  }
@@ -26,6 +28,7 @@ export interface FormRule {
26
28
  message?: string;
27
29
  validate?: (value: any) => boolean | string | Promise<boolean | string>;
28
30
  }
31
+ export type ValidateTrigger = 'onChange' | 'onBlur' | 'onSubmit' | ('onChange' | 'onBlur' | 'onSubmit')[];
29
32
  export interface FormItemProps {
30
33
  name?: string | string[];
31
34
  label?: string;
@@ -36,6 +39,20 @@ export interface FormItemProps {
36
39
  inline?: boolean;
37
40
  className?: string;
38
41
  children: React.ReactElement;
42
+ /** Tooltip text to show next to label */
43
+ tooltip?: string;
44
+ /** Additional content below the form control */
45
+ extra?: React.ReactNode;
46
+ /** Show validation feedback icon */
47
+ hasFeedback?: boolean;
48
+ /** Field names that this field depends on for validation */
49
+ dependencies?: string[];
50
+ /** When to trigger validation */
51
+ validateTrigger?: ValidateTrigger;
52
+ /** Initial value for this field (overrides Form's initialValues) */
53
+ initialValue?: any;
54
+ /** Hide this field (still validates and submits) */
55
+ hidden?: boolean;
39
56
  }
40
57
  export interface FormListProps<TFieldValues extends FieldValues = FieldValues> {
41
58
  name: FieldArrayPath<TFieldValues>;
@@ -45,8 +62,8 @@ export interface FormListProps<TFieldValues extends FieldValues = FieldValues> {
45
62
  move: (from: number, to: number) => void;
46
63
  }) => React.ReactNode;
47
64
  }
48
- declare function FormRoot<TFieldValues extends FieldValues = FieldValues>({ form: externalForm, onFinish, initialValues, layout, size, children, className, noValidate, ...props }: FormProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
49
- declare function FormItem({ name, label, help, required, rules, valuePropName, inline, className, children, }: FormItemProps): import("react/jsx-runtime").JSX.Element;
65
+ declare function FormRoot<TFieldValues extends FieldValues = FieldValues>({ form: externalForm, onFinish, initialValues, layout, labelWidth, size, children, className, noValidate, ...props }: FormProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
66
+ declare function FormItem({ name, label, help, required, rules, valuePropName, inline, className, children, tooltip, extra, hasFeedback, dependencies, validateTrigger, initialValue, hidden, }: FormItemProps): import("react/jsx-runtime").JSX.Element;
50
67
  declare function FormList<TFieldValues extends FieldValues = FieldValues>({ name, children, }: FormListProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
51
68
  export declare function useFormInstance<TFieldValues extends FieldValues = FieldValues>(): UseFormReturn<TFieldValues, any, TFieldValues> & {
52
69
  setFieldValue: import('react-hook-form').UseFormSetValue<TFieldValues>;
@@ -58,9 +75,17 @@ export declare function useFormInstance<TFieldValues extends FieldValues = Field
58
75
  isFieldTouched: (name: string) => boolean;
59
76
  getFieldError: (name: string) => string | undefined;
60
77
  };
78
+ export interface FormErrorListProps {
79
+ /** Specific field names to show errors for (shows all errors if not specified) */
80
+ fields?: string[];
81
+ /** Custom className */
82
+ className?: string;
83
+ }
84
+ declare function FormErrorList({ fields, className }: FormErrorListProps): import("react/jsx-runtime").JSX.Element | null;
61
85
  export declare const Form: typeof FormRoot & {
62
86
  Item: typeof FormItem;
63
87
  List: typeof FormList;
88
+ ErrorList: typeof FormErrorList;
64
89
  useForm: typeof useFormInstance;
65
90
  };
66
91
  export type { UseFormReturn as FormInstance };
@@ -0,0 +1,14 @@
1
+ import { default as React } from 'react';
2
+ export type MaskShape = 'squircle' | 'heart' | 'hexagon' | 'hexagon-2' | 'decagon' | 'pentagon' | 'diamond' | 'square' | 'circle' | 'star' | 'star-2' | 'triangle' | 'triangle-2' | 'triangle-3' | 'triangle-4';
3
+ export type MaskHalf = 'half-1' | 'half-2';
4
+ export interface MaskProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ /** Shape of the mask */
6
+ shape: MaskShape;
7
+ /** Show only half of the mask */
8
+ half?: MaskHalf;
9
+ /** Content to mask (typically an image) */
10
+ children: React.ReactNode;
11
+ /** Additional CSS classes */
12
+ className?: string;
13
+ }
14
+ export declare const Mask: React.ForwardRefExoticComponent<MaskProps & React.RefAttributes<HTMLDivElement>>;
@@ -5,11 +5,17 @@ export interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElem
5
5
  className?: string;
6
6
  children?: React.ReactNode;
7
7
  }
8
+ export interface RadioGroupChangeEvent {
9
+ target: {
10
+ value: string | number;
11
+ name?: string;
12
+ };
13
+ }
8
14
  export interface RadioGroupProps {
9
15
  children: React.ReactNode;
10
16
  value?: string | number;
11
17
  defaultValue?: string | number;
12
- onChange?: (value: string | number) => void;
18
+ onChange?: (e: RadioGroupChangeEvent) => void;
13
19
  name?: string;
14
20
  className?: string;
15
21
  }
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ export type StatusType = 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error';
3
+ export type StatusSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
+ export interface StatusProps {
5
+ /** Status color type */
6
+ type?: StatusType;
7
+ /** Status size */
8
+ size?: StatusSize;
9
+ /** Ping animation effect */
10
+ ping?: boolean;
11
+ /** Bounce animation effect */
12
+ bounce?: boolean;
13
+ /** Accessibility label */
14
+ label?: string;
15
+ /** Additional CSS classes */
16
+ className?: string;
17
+ }
18
+ export declare const Status: React.FC<StatusProps>;
package/dist/index.css ADDED
@@ -0,0 +1 @@
1
+ .month-calendar{background-color:var(--calendar-bg-primary);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;height:100%;width:100%}.month-calendar .month-calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.month-calendar .month-calendar-month-display h2{font-size:18px;font-weight:500;margin:0}.month-calendar .month-calendar-weekday-header{border-bottom:1px solid var(--calendar-border-primary);display:grid;grid-template-columns:repeat(7,1fr)}.month-calendar .month-calendar-weekday-header .month-calendar-weekday-cell{color:var(--calendar-text-secondary);font-size:12px;font-weight:500;padding:4px 0;text-align:center;text-transform:uppercase}.month-calendar .month-calendar-grid{border-left:1px solid var(--calendar-border-primary);display:grid;flex:1;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr)}.month-calendar .month-calendar-cell{border-bottom:1px solid var(--calendar-border-primary);border-right:1px solid var(--calendar-border-primary);cursor:pointer;overflow:hidden;padding:4px;position:relative}.month-calendar .month-calendar-cell:hover{background-color:var(--calendar-bg-hover)}.month-calendar .month-calendar-cell .month-calendar-date-number-container{display:flex;justify-content:center;margin-bottom:2px}.month-calendar .month-calendar-cell .month-calendar-date-number{align-items:center;color:var(--calendar-text-primary);display:flex;font-size:12px;justify-content:center;line-height:1}.month-calendar .month-calendar-cell .month-calendar-events-container{display:flex;flex-direction:column}.month-calendar .month-calendar-other-month{background-color:var(--calendar-bg-secondary)}.month-calendar .month-calendar-other-month .month-calendar-date-number{color:var(--calendar-text-muted)}.month-calendar .month-calendar-past{opacity:.6}.month-calendar .month-calendar-past .month-calendar-date-number{color:var(--calendar-text-muted)}.month-calendar .month-calendar-past .month-calendar-event{opacity:.8}.month-calendar .month-calendar-past-non-interactive{cursor:not-allowed}.month-calendar .month-calendar-past-non-interactive .month-calendar-event{cursor:pointer}.month-calendar .month-calendar-today{background-color:var(--calendar-bg-today)}.month-calendar .month-calendar-today .month-calendar-today-number{color:var(--calendar-accent-primary);font-weight:700}.month-calendar .month-calendar-selected{outline:2px solid var(--calendar-accent-primary);z-index:1}.month-calendar .month-calendar-event{align-items:center;border-radius:3px;color:var(--calendar-text-event);cursor:pointer;display:flex;font-size:12px;line-height:1;overflow:hidden;padding:3px 4px;transition:background-color .1s ease;white-space:nowrap}.month-calendar .month-calendar-event:hover{background-color:var(--calendar-bg-event-hover)}.month-calendar .month-calendar-event .month-calendar-event-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;margin-right:6px;width:8px}.month-calendar .month-calendar-event .month-calendar-event-title{overflow:hidden;white-space:nowrap}.month-calendar .month-calendar-ellipsis{text-overflow:ellipsis}.month-calendar .month-calendar-cancelled-event{text-decoration:line-through}.month-calendar .month-calendar-future-event{color:var(--calendar-text-future-event)}.month-calendar .month-calendar-more-events{border-radius:3px;color:var(--calendar-text-secondary);cursor:pointer;font-size:11px}.month-calendar .month-calendar-more-events:hover{background-color:var(--calendar-bg-event-hover)}.calendar-light{--calendar-bg-primary:#fff;--calendar-bg-secondary:#f8f9fa;--calendar-bg-hover:#f8f9fa;--calendar-bg-today:#e8f0fe;--calendar-bg-time-label:#fafafa;--calendar-bg-day-hover:#f0f6ff;--calendar-bg-event-hover:rgba(0,0,0,.04);--calendar-border-primary:#e0e0e0;--calendar-border-secondary:#f0f0f0;--calendar-text-primary:#3c4043;--calendar-text-secondary:#70757a;--calendar-text-muted:#80868b;--calendar-text-time:#8c8c8c;--calendar-text-event:#000;--calendar-text-future-event:#3c4043;--calendar-accent-primary:#1a73e8;--calendar-scrollbar-track:#f1f1f1;--calendar-scrollbar-thumb:#c1c1c1;--calendar-scrollbar-thumb-hover:#a8a8a8}.calendar-dark{--calendar-bg-primary:#1f1f1f;--calendar-bg-secondary:#2a2a2a;--calendar-bg-hover:#2a2a2a;--calendar-bg-today:#1e3a5f;--calendar-bg-time-label:#1a1a1a;--calendar-bg-day-hover:#2a3f5f;--calendar-bg-event-hover:hsla(0,0%,100%,.08);--calendar-border-primary:#434343;--calendar-border-secondary:#383838;--calendar-text-primary:#e8e8e8;--calendar-text-secondary:#b8b8b8;--calendar-text-muted:grey;--calendar-text-time:#999;--calendar-text-event:#fff;--calendar-text-future-event:#d0d0d0;--calendar-accent-primary:#4a9eff;--calendar-scrollbar-track:#2a2a2a;--calendar-scrollbar-thumb:#4a4a4a;--calendar-scrollbar-thumb-hover:#5a5a5a}.week-calendar{display:flex;flex-direction:column;height:100%;overflow:hidden}.week-calendar,.week-calendar .week-calendar-header{background:var(--calendar-bg-primary);border-bottom:1px solid var(--calendar-border-secondary)}.week-calendar .week-calendar-header{display:grid;grid-template-columns:80px repeat(7,1fr)}.week-calendar .week-calendar-day-header{cursor:pointer;padding:2px 8px;text-align:center;transition:background-color .2s}.week-calendar .week-calendar-day-header:hover{background-color:var(--calendar-bg-day-hover)}.week-calendar .week-calendar-day-header.week-calendar-day-header-past-non-interactive{cursor:not-allowed}.week-calendar .week-calendar-day-name{color:var(--calendar-text-secondary);font-size:12px;font-weight:500;margin-bottom:0;text-transform:uppercase}.week-calendar .week-calendar-day-name.week-calendar-day-name-past{color:var(--calendar-text-muted)}.week-calendar .week-calendar-day-number{align-items:center;color:var(--calendar-text-primary);display:flex;font-size:12px;font-weight:500;justify-content:center;margin:0 auto;transition:all .2s}.week-calendar .week-calendar-day-number.week-calendar-day-number-today{color:var(--calendar-accent-primary);font-weight:700}.week-calendar .week-calendar-day-number.week-calendar-day-number-past{color:var(--calendar-text-muted)}.week-calendar .week-calendar-body{flex:1;overflow-y:auto}.week-calendar .week-calendar-time-row{border-bottom:1px solid var(--calendar-border-secondary);display:grid;grid-template-columns:80px repeat(7,1fr);height:80px}.week-calendar .week-calendar-time-row:last-child{border-bottom:none}.week-calendar .week-calendar-time-label{align-items:flex-start;background:var(--calendar-bg-time-label);border-left:1px solid var(--calendar-border-secondary);border-right:1px solid var(--calendar-border-secondary);color:var(--calendar-text-time);display:flex;font-size:12px;justify-content:flex-end;padding:4px 8px 8px;text-align:right}.week-calendar .week-calendar-time-cell{border-right:1px solid var(--calendar-border-secondary);cursor:pointer;display:flex;flex-direction:column;height:80px;justify-content:flex-start;overflow-y:auto;padding:4px 2px;position:relative}.week-calendar .week-calendar-time-cell:last-child{border-right:none}.week-calendar .week-calendar-time-cell:hover{background-color:var(--calendar-bg-day-hover)}.week-calendar .week-calendar-time-cell.week-calendar-time-cell-non-interactive{cursor:not-allowed}.week-calendar .week-calendar-time-cell.week-calendar-time-cell-non-interactive:hover{background-color:var(--calendar-bg-day-hover);cursor:not-allowed}.week-calendar .week-calendar-time-cell.week-calendar-time-cell-non-interactive .week-calendar-event{cursor:pointer}.week-calendar .week-calendar-event{align-items:center;border-radius:3px;color:var(--calendar-text-event);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;line-height:1;margin-bottom:1px;overflow:hidden;padding:3px 4px;transition:background-color .1s ease;white-space:nowrap}.week-calendar .week-calendar-event:hover{background-color:var(--calendar-bg-event-hover)}.week-calendar .week-calendar-event:last-child{margin-bottom:0}.week-calendar .week-calendar-event.week-calendar-event-cancelled{text-decoration:line-through}.week-calendar .week-calendar-event.week-calendar-event-future{color:var(--calendar-text-primary)}.week-calendar .week-calendar-event-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;margin-right:6px;width:8px}.week-calendar .week-calendar-event-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-calendar-body::-webkit-scrollbar{width:8px}.week-calendar-body::-webkit-scrollbar-track{background:var(--calendar-scrollbar-track)}.week-calendar-body::-webkit-scrollbar-thumb{background:var(--calendar-scrollbar-thumb);border-radius:4px}.week-calendar-body::-webkit-scrollbar-thumb:hover{background:var(--calendar-scrollbar-thumb-hover)}@media(max-width:768px){.week-calendar .week-calendar-time-column{width:60px}.week-calendar .week-calendar-header,.week-calendar .week-calendar-time-row{grid-template-columns:60px repeat(7,1fr)}.week-calendar .week-calendar-time-label{font-size:10px;padding:4px}.week-calendar .week-calendar-day-name,.week-calendar .week-calendar-day-number{font-size:10px}.week-calendar .week-calendar-event{font-size:10px;padding:2px 4px}}
package/dist/index.d.ts CHANGED
@@ -15,11 +15,14 @@ export type { BreadcrumbProps, BreadcrumbItemProps } from './components/Breadcru
15
15
  export { Button } from './components/Button';
16
16
  export type { ButtonProps } from './components/Button';
17
17
  export { Checkbox } from './components/Checkbox';
18
- export type { CheckboxProps, CheckboxGroupProps, CheckboxOptionType } from './components/Checkbox';
18
+ export type { CheckboxProps, CheckboxGroupProps, CheckboxOptionType, CheckboxSwapConfig } from './components/Checkbox';
19
19
  export { Chat } from './components/Chat';
20
20
  export type { ChatProps } from './components/Chat';
21
21
  export { ColorPicker } from './components/ColorPicker';
22
22
  export type { ColorPickerProps } from './components/ColorPicker';
23
+ export { Calendar } from './components/Calendar';
24
+ export type { MonthCalendarProps, WeekCalendarProps, CalendarEvent, CalendarLocale } from './components/Calendar';
25
+ export { en as calendarEn, fr as calendarFr } from './components/Calendar';
23
26
  export { Card } from './components/Card';
24
27
  export type { CardProps, CardGridProps } from './components/Card';
25
28
  export { Cascader } from './components/Cascader';
@@ -42,6 +45,8 @@ export { Descriptions } from './components/Descriptions';
42
45
  export type { DescriptionsProps, DescriptionsItemProps, DescriptionsSize, DescriptionsLayout } from './components/Descriptions';
43
46
  export { Diff } from './components/Diff';
44
47
  export type { DiffProps } from './components/Diff';
48
+ export { Dock } from './components/Dock';
49
+ export type { DockProps, DockItemProps, DockItemConfig } from './components/Dock';
45
50
  export { Divider } from './components/Divider';
46
51
  export type { DividerProps } from './components/Divider';
47
52
  export { Drawer } from './components/Drawer';
@@ -57,7 +62,7 @@ export type { FloatButtonProps, BackTopProps } from './components/FloatButton';
57
62
  export { Footer } from './components/Footer';
58
63
  export type { FooterProps, FooterTitleProps } from './components/Footer';
59
64
  export { Form, useFormInstance } from './components/Form';
60
- export type { FormProps, FormItemProps, FormRule, FormInstance } from './components/Form';
65
+ export type { FormProps, FormItemProps, FormRule, FormInstance, FormErrorListProps, ValidateTrigger } from './components/Form';
61
66
  export { Grid, Row, Col } from './components/Grid';
62
67
  export type { RowProps, ColProps } from './components/Grid';
63
68
  export { Hero } from './components/Hero';
@@ -86,6 +91,8 @@ export { List } from './components/List';
86
91
  export type { ListProps, ListRowProps } from './components/List';
87
92
  export { Loading } from './components/Loading';
88
93
  export type { LoadingProps } from './components/Loading';
94
+ export { Mask } from './components/Mask';
95
+ export type { MaskProps, MaskShape, MaskHalf } from './components/Mask';
89
96
  export { Masonry } from './components/Masonry';
90
97
  export type { MasonryProps } from './components/Masonry';
91
98
  export { Mention } from './components/Mention';
@@ -121,7 +128,7 @@ export type { ProgressProps } from './components/Progress';
121
128
  export { QRCode } from './components/QRCode';
122
129
  export type { QRCodeProps, QRCodeErrorLevel, QRCodeType, QRCodeStatus } from './components/QRCode';
123
130
  export { Radio } from './components/Radio';
124
- export type { RadioProps, RadioGroupProps } from './components/Radio';
131
+ export type { RadioProps, RadioGroupProps, RadioGroupChangeEvent } from './components/Radio';
125
132
  export { RadialProgress } from './components/RadialProgress';
126
133
  export type { RadialProgressProps } from './components/RadialProgress';
127
134
  export { Range } from './components/Range';
@@ -144,6 +151,8 @@ export { Stack } from './components/Stack';
144
151
  export type { StackProps } from './components/Stack';
145
152
  export { Stats } from './components/Stat';
146
153
  export type { StatsProps, StatProps } from './components/Stat';
154
+ export { Status } from './components/Status';
155
+ export type { StatusProps, StatusType, StatusSize } from './components/Status';
147
156
  export { Steps } from './components/Steps';
148
157
  export type { StepsProps, StepProps } from './components/Steps';
149
158
  export { Table } from './components/Table';