@zeturn/watercolor-react 1.2.3 → 1.2.6

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 (31) hide show
  1. package/dist/LocaleReact.d.ts +52 -0
  2. package/dist/LocaleReact.d.ts.map +1 -0
  3. package/dist/components/Alert/Alert.d.ts.map +1 -1
  4. package/dist/components/Banner/Banner.d.ts.map +1 -1
  5. package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  6. package/dist/components/Chip/Chip.d.ts.map +1 -1
  7. package/dist/components/CircularProgress/CircularProgress.d.ts.map +1 -1
  8. package/dist/components/ColorPicker/ColorPicker.d.ts.map +1 -1
  9. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
  10. package/dist/components/Feed/Feed.d.ts.map +1 -1
  11. package/dist/components/ImageGallery/ImageGallery.d.ts.map +1 -1
  12. package/dist/components/Input/VerificationCodeInput.d.ts.map +1 -1
  13. package/dist/components/Modal/Modal.d.ts.map +1 -1
  14. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  15. package/dist/components/Popover/Popover.d.ts.map +1 -1
  16. package/dist/components/Progress/Progress.d.ts.map +1 -1
  17. package/dist/components/Rating/Rating.d.ts +2 -1
  18. package/dist/components/Rating/Rating.d.ts.map +1 -1
  19. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  20. package/dist/components/SlideOver/SlideOver.d.ts.map +1 -1
  21. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  22. package/dist/components/Status/Status.d.ts.map +1 -1
  23. package/dist/components/Switch/Switch.d.ts.map +1 -1
  24. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  25. package/dist/components/VideoPlayer/VideoPlayer.d.ts.map +1 -1
  26. package/dist/index.d.ts +2 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/watercolor-react.css +1 -1
  29. package/dist/watercolor-react.es.js +920 -859
  30. package/index.d.ts +174 -56
  31. package/package.json +7 -7
package/index.d.ts CHANGED
@@ -7,6 +7,7 @@ import type {
7
7
  InputHTMLAttributes,
8
8
  ReactElement,
9
9
  ReactNode,
10
+ CSSProperties,
10
11
  TdHTMLAttributes,
11
12
  ThHTMLAttributes,
12
13
  } from 'react'
@@ -27,7 +28,9 @@ import type {
27
28
  WatercolorThemeConfig,
28
29
  } from '@zeturn/watercolor-core'
29
30
 
30
- type WatercolorComponent = ComponentType<Record<string, unknown>>
31
+ type FloatingPlacement = 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end'
32
+ type HtmlComponentProps<T extends HTMLElement = HTMLElement> = HTMLAttributes<T> & { className?: string; style?: CSSProperties; children?: ReactNode }
33
+ type PolymorphicComponent<TDefault extends ElementType, OwnProps> = <T extends ElementType = TDefault>(props: PolymorphicProps<T, OwnProps>) => ReactElement | null
31
34
  type PolymorphicProps<T extends ElementType, OwnProps> = OwnProps &
32
35
  Omit<ComponentPropsWithoutRef<T>, keyof OwnProps | 'as'> & { as?: T }
33
36
  type CompositionBaseProps = { children?: ReactNode; className?: string }
@@ -52,6 +55,9 @@ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement
52
55
  ripple?: boolean
53
56
  }
54
57
 
58
+ export interface FabProps extends Omit<ButtonProps, 'variant'> { variant?: 'circular' | 'extended'; color?: ComponentColor | 'default'; label?: ReactNode; icon?: ReactNode }
59
+ export interface IconButtonProps extends Omit<ButtonProps, 'variant' | 'buttonStyle' | 'fullWidth'> { color?: ComponentColor | 'default'; edge?: boolean | 'start' | 'end'; icon?: ReactNode }
60
+
55
61
  export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'color' | 'value'> {
56
62
  value?: string | number | readonly string[]
57
63
  readonly?: boolean
@@ -242,6 +248,66 @@ export interface TableCellProps extends Omit<TdHTMLAttributes<HTMLTableCellEleme
242
248
  variant?: 'head' | 'body' | 'footer'
243
249
  }
244
250
 
251
+ export interface AccordionItem { key?: string | number; title?: ReactNode; content?: ReactNode; disabled?: boolean; [key: string]: unknown }
252
+ export interface AccordionProps extends HtmlComponentProps<HTMLDivElement> { items?: readonly AccordionItem[]; multiple?: boolean; variant?: 'default' | 'bordered' | 'separated'; onToggle?: (key: string | number, expanded: boolean) => void }
253
+ export interface AlertProps extends HtmlComponentProps<HTMLDivElement> { type?: 'success' | 'warning' | 'error' | 'info'; severity?: 'success' | 'warning' | 'error' | 'info'; variant?: 'filled' | 'outlined' | 'standard'; title?: ReactNode; message?: ReactNode; closable?: boolean; onClose?: () => void; icon?: ReactNode; action?: ReactNode }
254
+ export interface AppBarProps extends HtmlComponentProps<HTMLElement> { position?: 'static' | 'fixed' | 'absolute' | 'sticky' | 'relative'; color?: string; elevation?: number; variant?: 'elevation' | 'outlined' | 'minimal' }
255
+ export interface AutocompleteProps<Value = unknown> extends Omit<SelectProps, 'value' | 'onChange' | 'onSearch'> { value?: Value | Value[] | null; onChange?: (value: Value | Value[] | null) => void; readonly?: boolean; freeSolo?: boolean; minSearchLength?: number; noOptionsText?: ReactNode; onInputChange?: (value: string) => void; filterOptions?: (options: readonly SelectOption[], query: string) => readonly SelectOption[]; renderInput?: (props: Record<string, unknown>) => ReactNode; getOptionLabel?: (option: Value | SelectOption) => string; getOptionValue?: (option: Value | SelectOption) => string | number }
256
+ export interface AvatarProps extends HtmlComponentProps<HTMLDivElement> { src?: string; alt?: string; size?: ComponentSize | 'xs' | 'xl' | number; variant?: 'circular' | 'rounded' | 'square'; color?: ComponentColor | 'default'; children?: ReactNode }
257
+ export interface BadgeProps extends HtmlComponentProps<HTMLSpanElement> { variant?: ComponentColor | 'primary' | 'default'; size?: ComponentSize; dot?: boolean; children?: ReactNode }
258
+ export interface BannerProps extends HtmlComponentProps<HTMLDivElement> { type?: 'info' | 'success' | 'warning' | 'error'; title?: ReactNode; message?: ReactNode; closable?: boolean; onClose?: () => void; sticky?: boolean; zIndex?: number; icon?: ReactNode; actions?: ReactNode }
259
+ export interface BlockquoteProps extends HtmlComponentProps<HTMLElement> { cite?: ReactNode; variant?: 'default' | 'minimal' | 'card'; noBorder?: boolean; interactive?: boolean; size?: ComponentSize | 'medium'; color?: ComponentColor | 'default' }
260
+ export interface BoxProps<T extends ElementType = 'div'> extends PolymorphicProps<T, { children?: ReactNode; className?: string; style?: CSSProperties; p?: unknown; pt?: unknown; pr?: unknown; pb?: unknown; pl?: unknown; px?: unknown; py?: unknown; m?: unknown; mt?: unknown; mr?: unknown; mb?: unknown; ml?: unknown; mx?: unknown; my?: unknown; display?: CSSProperties['display']; flexDirection?: CSSProperties['flexDirection']; justifyContent?: CSSProperties['justifyContent']; alignItems?: CSSProperties['alignItems']; flexWrap?: CSSProperties['flexWrap']; gap?: CSSProperties['gap']; bgcolor?: string; color?: string; border?: string | number; borderRadius?: string | number; width?: CSSProperties['width']; height?: CSSProperties['height']; minWidth?: CSSProperties['minWidth']; minHeight?: CSSProperties['minHeight']; maxWidth?: CSSProperties['maxWidth']; maxHeight?: CSSProperties['maxHeight'] }> { component?: T }
261
+ export interface BreadcrumbItem { label?: ReactNode; href?: string; icon?: ReactNode; disabled?: boolean; current?: boolean; [key: string]: unknown }
262
+ export interface BreadcrumbProps extends Omit<HtmlComponentProps<HTMLElement>, 'onClick'> { items?: readonly BreadcrumbItem[]; separator?: ReactNode; variant?: 'default' | 'compact'; showHome?: boolean; homeIcon?: ReactNode; maxItems?: number; onItemClick?: (item: BreadcrumbItem, index: number) => void }
263
+ export interface CardProps extends HtmlComponentProps<HTMLDivElement> { title?: ReactNode; variant?: 'minimal' | 'default' | 'outlined' | 'elevated'; color?: ComponentColor | 'default'; size?: ComponentSize | 'medium'; interactive?: boolean; noBorder?: boolean; header?: ReactNode; footer?: ReactNode }
264
+ export interface CardActionsProps extends HtmlComponentProps<HTMLDivElement> { disableSpacing?: boolean; disablePadding?: boolean; justifyContent?: CSSProperties['justifyContent'] }
265
+ export interface CardContentProps extends HtmlComponentProps<HTMLDivElement> { disablePadding?: boolean; padding?: 'none' | 'compact' | 'normal' | 'comfortable' }
266
+ export interface ChipProps extends HtmlComponentProps<HTMLDivElement> { label?: ReactNode; avatar?: ReactNode; deletable?: boolean; disabled?: boolean; clickable?: boolean; variant?: 'filled' | 'outlined' | 'minimal'; size?: ComponentSize; color?: ComponentColor | 'default'; deleteIcon?: ReactNode; onDelete?: () => void }
267
+ export interface CircularProgressProps extends HtmlComponentProps<HTMLDivElement> { value?: number; size?: number | string; thickness?: number; variant?: 'determinate' | 'indeterminate'; color?: ComponentColor | 'inherit'; showValue?: boolean; overlay?: boolean; centered?: boolean; inline?: boolean }
268
+ export interface ColorPickerProps extends Omit<HtmlComponentProps<HTMLDivElement>, 'onChange'> { value?: string; onChange?: (value: string) => void; size?: ComponentSize; shape?: 'circle' | 'square' | 'rounded'; disabled?: boolean }
269
+ export interface ContainerProps extends HtmlComponentProps<HTMLDivElement> { maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | false | string; fluid?: boolean; fixed?: boolean }
270
+ export interface CopyProps extends HtmlComponentProps<HTMLButtonElement> { text?: string; value?: string; copied?: boolean; error?: boolean; label?: ReactNode; copiedLabel?: ReactNode; errorLabel?: ReactNode; onCopy?: (value: string) => void; icon?: ReactNode }
271
+ export interface DatePickerProps extends Omit<HtmlComponentProps<HTMLDivElement>, 'onChange'> { value?: Date | string | null; onChange?: (value: Date) => void; placeholder?: string; disabled?: boolean; size?: ComponentSize; variant?: 'default' | FieldVariant; format?: string; showToday?: boolean; minDate?: Date | string | null; maxDate?: Date | string | null }
272
+ export interface DividerProps extends HtmlComponentProps<HTMLHRElement> { variant?: 'solid' | 'dashed' | 'dotted'; orientation?: 'horizontal' | 'vertical'; flexItem?: boolean }
273
+ export interface FeatureProps extends HtmlComponentProps<HTMLDivElement> { title?: ReactNode; description?: ReactNode; icon?: ReactNode; iconSize?: number; size?: ComponentSize; align?: 'left' | 'center' | 'right'; background?: string; variant?: 'default' | 'minimal' | 'card'; bgColor?: string; reverse?: boolean; vertical?: boolean; ctaLabel?: ReactNode; ctaHref?: string; onCtaClick?: (event: unknown) => void }
274
+ export interface FeedItem { title?: ReactNode; description?: ReactNode; avatar?: ReactNode; time?: ReactNode; children?: FeedItem[]; [key: string]: unknown }
275
+ export interface FeedProps extends Omit<HtmlComponentProps<HTMLDivElement>, 'onClick'> { item?: FeedItem; items?: readonly FeedItem[]; showAvatar?: boolean; variant?: 'timeline' | 'list'; color?: string; dotSize?: number; lineWidth?: number; onItemClick?: (item: FeedItem) => void }
276
+ export interface FileInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange'> { onChange?: (files: FileList | File[]) => void; onInvalid?: (files: FileList | File[]) => void; label?: ReactNode; helperText?: ReactNode; accept?: string; multiple?: boolean; className?: string }
277
+ export interface FormControlProps extends HtmlComponentProps<HTMLDivElement> { disabled?: boolean; error?: boolean; required?: boolean; variant?: FieldVariant; size?: ComponentSize; fullWidth?: boolean; margin?: 'none' | 'dense' | 'normal' }
278
+ export interface FormControlLabelProps extends HtmlComponentProps<HTMLLabelElement> { label?: ReactNode; labelPlacement?: 'start' | 'end' | 'top' | 'bottom'; disabled?: boolean; required?: boolean; checked?: boolean; value?: unknown; control?: ReactNode; onChange?: (...args: unknown[]) => void }
279
+ export interface FormGroupProps extends HtmlComponentProps<HTMLDivElement> { row?: boolean; spacing?: 'compact' | 'normal' | 'comfortable' }
280
+ export interface FormHelperTextProps extends HtmlComponentProps<HTMLParagraphElement> { disabled?: boolean; error?: boolean; filled?: boolean; focused?: boolean; margin?: 'none' | 'dense' | 'normal'; required?: boolean; variant?: FieldVariant; id?: string; size?: ComponentSize }
281
+ export interface GridProps extends HtmlComponentProps<HTMLDivElement> { container?: boolean; item?: boolean; xs?: number | boolean; sm?: number | boolean; md?: number | boolean; lg?: number | boolean; xl?: number | boolean; spacing?: number | string; direction?: CSSProperties['flexDirection']; justifyContent?: CSSProperties['justifyContent']; alignItems?: CSSProperties['alignItems'] }
282
+ export interface HoverCardProps extends HtmlComponentProps<HTMLDivElement> { triggerText?: ReactNode; cardData?: Record<string, unknown>; variant?: 'default' | 'outlined' | 'filled' | 'minimal'; size?: ComponentSize; cardSize?: ComponentSize | 'xl'; position?: FloatingPlacement; delay?: number; hideDelay?: number; showArrow?: boolean; disabled?: boolean; onShow?: () => void; onHide?: () => void; onAction?: (...args: unknown[]) => void; card?: ReactNode }
283
+ export interface IconProps extends HtmlComponentProps<HTMLSpanElement> { name?: string; size?: number | string; color?: string; children?: ReactNode }
284
+ export interface ImageGalleryImage { src: string; alt?: string; title?: ReactNode; description?: ReactNode; [key: string]: unknown }
285
+ export interface ImageGalleryProps extends HtmlComponentProps<HTMLDivElement> { images?: readonly ImageGalleryImage[]; title?: ReactNode; layout?: 'grid' | 'masonry' | 'carousel'; size?: ComponentSize | 'xl'; columns?: number; gap?: number; showInfo?: boolean; showCount?: boolean; showDownload?: boolean; showPagination?: boolean; itemsPerPage?: number; lazyLoad?: boolean; loading?: boolean; onSelect?: (image: ImageGalleryImage, index: number) => void; onDownload?: (image: ImageGalleryImage) => void; onLightboxOpen?: (event: unknown) => void; onLightboxClose?: () => void }
286
+ export interface ListProps extends HtmlComponentProps<HTMLUListElement> { dense?: boolean; disablePadding?: boolean; nav?: boolean; subheader?: ReactNode }
287
+ export interface ListItemProps<T extends ElementType = 'li'> extends PolymorphicProps<T, { children?: ReactNode; className?: string; button?: boolean; disabled?: boolean; divider?: boolean; selected?: boolean; disableGutters?: boolean; multiselect?: boolean }> { component?: T }
288
+ export interface ListItemIconProps extends HtmlComponentProps<HTMLSpanElement> { position?: 'start' | 'end' }
289
+ export interface ListItemTextProps extends HtmlComponentProps<HTMLSpanElement> { primary?: ReactNode; secondary?: ReactNode; inset?: boolean }
290
+ export interface NumberAnimationProps extends HtmlComponentProps<HTMLSpanElement> { active?: boolean; duration?: number; from?: number; to?: number; locale?: string; precision?: number; showSeparator?: boolean; prefix?: ReactNode; suffix?: ReactNode; separator?: string; formatter?: (value: number) => ReactNode; easing?: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' | string; onFinish?: () => void }
291
+ export interface PaginationProps extends Omit<HtmlComponentProps<HTMLElement>, 'onChange'> { value?: number; page?: number; onChange?: (page: number) => void; total?: number; pageSize?: number; siblingCount?: number; boundaryCount?: number; size?: ComponentSize | 'xl' }
292
+ export interface PaperProps<T extends ElementType = 'div'> extends PolymorphicProps<T, { children?: ReactNode; className?: string; style?: CSSProperties; variant?: 'elevation' | 'outlined' | 'minimal'; elevation?: number; square?: boolean; hoverable?: boolean; clickable?: boolean; color?: ComponentColor | 'default'; size?: ComponentSize | null; shape?: string | null; gradient?: boolean; frosted?: boolean; textured?: boolean }> { component?: T }
293
+ export interface PopoverProps extends HtmlComponentProps<HTMLDivElement> { open?: boolean; onOpenChange?: (open: boolean) => void; triggerText?: ReactNode; trigger?: ReactNode; placement?: FloatingPlacement; offset?: number }
294
+ export interface PricingPlan { title?: ReactNode; price?: ReactNode; features?: readonly ReactNode[]; highlighted?: boolean; [key: string]: unknown }
295
+ export interface PricingTableProps extends HtmlComponentProps<HTMLDivElement> { plans?: readonly PricingPlan[]; columns?: number }
296
+ export interface ProgressProps extends HtmlComponentProps<HTMLDivElement> { value?: number; label?: ReactNode; showPercent?: boolean; color?: ComponentColor; size?: ComponentSize; animated?: boolean }
297
+ export interface RatingProps extends Omit<HtmlComponentProps<HTMLDivElement>, 'onChange'> { value?: number; max?: number; readOnly?: boolean; onChange?: (value: number) => void; ariaLabel?: string }
298
+ export interface SkeletonProps<T extends ElementType = 'div'> extends PolymorphicProps<T, { children?: ReactNode; className?: string; style?: CSSProperties; animation?: false | 'pulse' | 'wave'; height?: number | string; width?: number | string; variant?: 'text' | 'rectangular' | 'rounded' | 'circular' }> { component?: T }
299
+ export interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange' | 'value' | 'defaultValue'> { value?: number; defaultValue?: number; min?: number; max?: number; step?: number; label?: ReactNode; valueLabelDisplay?: 'off' | 'auto' | 'on'; onChange?: (value: number) => void; className?: string; style?: CSSProperties }
300
+ export interface SlideOverProps extends HtmlComponentProps<HTMLDivElement> { open?: boolean; onClose?: () => void; placement?: 'left' | 'right' | 'top' | 'bottom'; width?: number | string; header?: ReactNode; footer?: ReactNode }
301
+ export interface SnackbarProps extends HtmlComponentProps<HTMLDivElement> { open?: boolean; message?: ReactNode; severity?: 'success' | 'warning' | 'error' | 'info'; closable?: boolean; showIcon?: boolean; showProgress?: boolean; autoHideDuration?: number; action?: ReactNode; onClose?: () => void; onAction?: () => void }
302
+ export interface StatusProps extends HtmlComponentProps<HTMLSpanElement> { status?: 'default' | 'success' | 'warning' | 'error' | 'info' | string; size?: ComponentSize; showText?: boolean; animated?: boolean; animationType?: 'auto' | 'glow' | 'spin' | 'bounce' | 'shake' | 'ripple'; text?: ReactNode }
303
+ export interface ToolbarProps extends HtmlComponentProps<HTMLDivElement> { variant?: 'regular' | 'dense'; disableGutters?: boolean }
304
+ export interface TooltipProps extends HtmlComponentProps<HTMLDivElement> { text?: ReactNode; placement?: 'top' | 'bottom' | 'left' | 'right'; children?: ReactNode }
305
+ export interface TypographyProps<T extends ElementType = 'p'> extends PolymorphicProps<T, { children?: ReactNode; className?: string; style?: CSSProperties; variant?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'subtitle1' | 'subtitle2' | 'body1' | 'body2' | 'caption' | 'overline'; component?: T; color?: string; align?: CSSProperties['textAlign']; gutterBottom?: boolean; noWrap?: boolean }> { component?: T }
306
+ export interface TypingTextProps extends HtmlComponentProps<HTMLSpanElement> { text?: string; speed?: number; pause?: number; loop?: boolean; erase?: boolean; showCursor?: boolean }
307
+ export interface VerificationCodeInputProps extends Omit<HtmlComponentProps<HTMLDivElement>, 'onChange'> { length?: number; value?: string; onChange?: (value: string) => void; onComplete?: (value: string) => void; autoFocus?: boolean }
308
+ export interface VideoPlayerProps extends HtmlComponentProps<HTMLDivElement> { src: string; autoplay?: boolean; loop?: boolean; muted?: boolean; poster?: string; controls?: boolean }
309
+ export interface WatermarkProps extends HtmlComponentProps<HTMLDivElement> { content?: ReactNode; image?: string; fullscreen?: boolean; gap?: [number, number]; offset?: [number, number]; rotate?: number; zIndex?: number; opacity?: number; debug?: boolean; cross?: boolean }
310
+
245
311
  export interface ThemeContextValue extends ThemeSnapshot {
246
312
  setMode: (mode: ThemeMode) => void
247
313
  toggleMode: () => void
@@ -262,6 +328,55 @@ export interface ThemeProviderProps {
262
328
  onThemeError?: (result: Extract<ThemeApplyResult | ThemeLoadResult, { ok: false }>) => void
263
329
  }
264
330
 
331
+ export interface WatercolorLocaleMessages {
332
+ breadcrumb: string
333
+ closePopover: string
334
+ close: string
335
+ closeDialog: string
336
+ closeLightbox: string
337
+ downloadImage: (index: number) => string
338
+ colorPicker: string
339
+ circularProgress: string
340
+ enterFullscreen: string
341
+ loading: string
342
+ muteVideo: string
343
+ nextImage: string
344
+ nextMonth: string
345
+ nextPage: string
346
+ openCalendar: string
347
+ openImageInLightbox: (index: number) => string
348
+ page: (page: number) => string
349
+ pagination: string
350
+ pauseVideo: string
351
+ playVideo: string
352
+ previousMonth: string
353
+ previousPage: string
354
+ previousImage: string
355
+ progress: string
356
+ rating: string
357
+ ratingValue: (value: number, max: number) => string
358
+ remove: string
359
+ removeItem: (label?: string) => string
360
+ rowsPerPage: string
361
+ switchControl: string
362
+ tabList: string
363
+ unmuteVideo: string
364
+ jumpToPage: string
365
+ verificationCodeDigit: (index: number) => string
366
+ viewImage: (index: number, description?: string) => string
367
+ volume: string
368
+ videoProgress: string
369
+ }
370
+ export interface LocaleContextValue {
371
+ locale?: string
372
+ messages: WatercolorLocaleMessages
373
+ }
374
+ export interface LocaleProviderProps {
375
+ children?: ReactNode
376
+ locale?: string
377
+ messages?: Partial<WatercolorLocaleMessages>
378
+ }
379
+
265
380
  export type PageProps<T extends ElementType = 'div'> = PolymorphicProps<T, CompositionBaseProps & {
266
381
  size?: PageSize
267
382
  gutter?: PageGutter
@@ -293,66 +408,66 @@ export type {
293
408
  SplitRatio,
294
409
  } from '@zeturn/watercolor-core'
295
410
 
296
- export const Accordion: WatercolorComponent
297
- export const Alert: WatercolorComponent
298
- export const AppBar: WatercolorComponent
299
- export const Autocomplete: WatercolorComponent
300
- export const Avatar: WatercolorComponent
301
- export const Badge: WatercolorComponent
302
- export const Banner: WatercolorComponent
303
- export const Blockquote: WatercolorComponent
304
- export const Box: WatercolorComponent
305
- export const Breadcrumb: WatercolorComponent
411
+ export const Accordion: ComponentType<AccordionProps>
412
+ export const Alert: ComponentType<AlertProps>
413
+ export const AppBar: ComponentType<AppBarProps>
414
+ export const Autocomplete: ComponentType<AutocompleteProps>
415
+ export const Avatar: ComponentType<AvatarProps>
416
+ export const Badge: ComponentType<BadgeProps>
417
+ export const Banner: ComponentType<BannerProps>
418
+ export const Blockquote: ComponentType<BlockquoteProps>
419
+ export const Box: <T extends ElementType = 'div'>(props: BoxProps<T>) => ReactElement | null
420
+ export const Breadcrumb: ComponentType<BreadcrumbProps>
306
421
  export const Button: ComponentType<ButtonProps>
307
- export const Card: WatercolorComponent
308
- export const CardActions: WatercolorComponent
309
- export const CardContent: WatercolorComponent
422
+ export const Card: ComponentType<CardProps>
423
+ export const CardActions: ComponentType<CardActionsProps>
424
+ export const CardContent: ComponentType<CardContentProps>
310
425
  export const Checkbox: ComponentType<CheckboxProps>
311
- export const Chip: WatercolorComponent
312
- export const CircularProgress: WatercolorComponent
313
- export const ColorPicker: WatercolorComponent
314
- export const Container: WatercolorComponent
315
- export const Copy: WatercolorComponent
316
- export const DatePicker: WatercolorComponent
317
- export const Fab: WatercolorComponent
318
- export const Feed: WatercolorComponent
319
- export const Feature: WatercolorComponent
320
- export const FileInput: WatercolorComponent
321
- export const FormControl: WatercolorComponent
322
- export const FormControlLabel: WatercolorComponent
323
- export const FormGroup: WatercolorComponent
324
- export const FormHelperText: WatercolorComponent
325
- export const Grid: WatercolorComponent
326
- export const HoverCard: WatercolorComponent
327
- export const Icon: WatercolorComponent
328
- export const IconButton: WatercolorComponent
329
- export const ImageGallery: WatercolorComponent
426
+ export const Chip: ComponentType<ChipProps>
427
+ export const CircularProgress: ComponentType<CircularProgressProps>
428
+ export const ColorPicker: ComponentType<ColorPickerProps>
429
+ export const Container: ComponentType<ContainerProps>
430
+ export const Copy: ComponentType<CopyProps>
431
+ export const DatePicker: ComponentType<DatePickerProps>
432
+ export const Fab: ComponentType<FabProps>
433
+ export const Feed: ComponentType<FeedProps>
434
+ export const Feature: ComponentType<FeatureProps>
435
+ export const FileInput: ComponentType<FileInputProps>
436
+ export const FormControl: ComponentType<FormControlProps>
437
+ export const FormControlLabel: ComponentType<FormControlLabelProps>
438
+ export const FormGroup: ComponentType<FormGroupProps>
439
+ export const FormHelperText: ComponentType<FormHelperTextProps>
440
+ export const Grid: ComponentType<GridProps>
441
+ export const HoverCard: ComponentType<HoverCardProps>
442
+ export const Icon: ComponentType<IconProps>
443
+ export const IconButton: ComponentType<IconButtonProps>
444
+ export const ImageGallery: ComponentType<ImageGalleryProps>
330
445
  export const Inline: <T extends ElementType = 'div'>(props: InlineProps<T>) => ReactElement | null
331
446
  export const Input: ComponentType<InputProps>
332
- export const List: WatercolorComponent
333
- export const ListItem: WatercolorComponent
334
- export const ListItemIcon: WatercolorComponent
335
- export const ListItemText: WatercolorComponent
447
+ export const List: ComponentType<ListProps>
448
+ export const ListItem: <T extends ElementType = 'li'>(props: ListItemProps<T>) => ReactElement | null
449
+ export const ListItemIcon: ComponentType<ListItemIconProps>
450
+ export const ListItemText: ComponentType<ListItemTextProps>
336
451
  export const Menu: ComponentType<MenuProps>
337
452
  export const Modal: ComponentType<ModalProps>
338
- export const NumberAnimation: WatercolorComponent
339
- export const Pagination: WatercolorComponent
453
+ export const NumberAnimation: ComponentType<NumberAnimationProps>
454
+ export const Pagination: ComponentType<PaginationProps>
340
455
  export const Page: <T extends ElementType = 'div'>(props: PageProps<T>) => ReactElement | null
341
- export const Paper: WatercolorComponent
342
- export const Popover: WatercolorComponent
343
- export const PricingTable: WatercolorComponent
344
- export const Progress: WatercolorComponent
456
+ export const Paper: <T extends ElementType = 'div'>(props: PaperProps<T>) => ReactElement | null
457
+ export const Popover: ComponentType<PopoverProps>
458
+ export const PricingTable: ComponentType<PricingTableProps>
459
+ export const Progress: ComponentType<ProgressProps>
345
460
  export const Radio: <Value = string | number | boolean>(props: RadioProps<Value>) => ReactElement | null
346
461
  export const RadioGroup: <Value = string | number | boolean>(props: RadioGroupProps<Value>) => ReactElement | null
347
- export const Rating: WatercolorComponent
462
+ export const Rating: ComponentType<RatingProps>
348
463
  export const Select: <Value extends SelectValue = SelectValue>(props: SelectProps<Value>) => ReactElement | null
349
- export const Skeleton: WatercolorComponent
350
- export const Slider: WatercolorComponent
351
- export const SlideOver: WatercolorComponent
464
+ export const Skeleton: <T extends ElementType = 'div'>(props: SkeletonProps<T>) => ReactElement | null
465
+ export const Slider: ComponentType<SliderProps>
466
+ export const SlideOver: ComponentType<SlideOverProps>
352
467
  export const Split: <T extends ElementType = 'div'>(props: SplitProps<T>) => ReactElement | null
353
468
  export const Stack: <T extends ElementType = 'div'>(props: StackProps<T>) => ReactElement | null
354
- export const Snackbar: WatercolorComponent
355
- export const Status: WatercolorComponent
469
+ export const Snackbar: ComponentType<SnackbarProps>
470
+ export const Status: ComponentType<StatusProps>
356
471
  export const Switch: ComponentType<SwitchProps>
357
472
  export const Table: ComponentType<TableProps> & {
358
473
  Head: ComponentType<TableHeadProps>
@@ -366,13 +481,16 @@ export const TableHead: ComponentType<TableHeadProps>
366
481
  export const TableRow: ComponentType<TableRowProps>
367
482
  export const Tabs: ComponentType<TabsProps>
368
483
  export const TextField: ComponentType<TextFieldProps>
369
- export const Toolbar: WatercolorComponent
370
- export const Tooltip: WatercolorComponent
371
- export const Typography: WatercolorComponent
372
- export const TypingText: WatercolorComponent
373
- export const VerificationCodeInput: WatercolorComponent
374
- export const VideoPlayer: WatercolorComponent
375
- export const Watermark: WatercolorComponent
484
+ export const Toolbar: ComponentType<ToolbarProps>
485
+ export const Tooltip: ComponentType<TooltipProps>
486
+ export const Typography: <T extends ElementType = 'p'>(props: TypographyProps<T>) => ReactElement | null
487
+ export const TypingText: ComponentType<TypingTextProps>
488
+ export const VerificationCodeInput: ComponentType<VerificationCodeInputProps>
489
+ export const VideoPlayer: ComponentType<VideoPlayerProps>
490
+ export const Watermark: ComponentType<WatermarkProps>
491
+ export const LocaleProvider: ComponentType<LocaleProviderProps>
492
+ export const defaultLocaleMessages: WatercolorLocaleMessages
493
+ export function useLocale(): LocaleContextValue
376
494
 
377
495
  export {
378
496
  THEME_CONFIG_VERSION,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeturn/watercolor-react",
3
- "version": "1.2.3",
3
+ "version": "1.2.6",
4
4
  "type": "module",
5
5
  "license": "ISC",
6
6
  "main": "dist/watercolor-react.es.js",
@@ -41,11 +41,11 @@
41
41
  "directory": "packages/react"
42
42
  },
43
43
  "peerDependencies": {
44
- "@zeturn/watercolor-icons-feather": "1.2.3",
45
- "@zeturn/watercolor-icons-heroicons-react": "1.2.3",
46
- "@zeturn/watercolor-icons-lucide-react": "1.2.3",
47
- "@zeturn/watercolor-icons-phosphor-react": "1.2.3",
48
- "@zeturn/watercolor-icons-tabler-react": "1.2.3",
44
+ "@zeturn/watercolor-icons-feather": "1.2.6",
45
+ "@zeturn/watercolor-icons-heroicons-react": "1.2.6",
46
+ "@zeturn/watercolor-icons-lucide-react": "1.2.6",
47
+ "@zeturn/watercolor-icons-phosphor-react": "1.2.6",
48
+ "@zeturn/watercolor-icons-tabler-react": "1.2.6",
49
49
  "react": "^18.0.0 || ^19.0.0",
50
50
  "react-dom": "^18.0.0 || ^19.0.0"
51
51
  },
@@ -67,7 +67,7 @@
67
67
  }
68
68
  },
69
69
  "dependencies": {
70
- "@zeturn/watercolor-core": "1.2.3",
70
+ "@zeturn/watercolor-core": "1.2.6",
71
71
  "prop-types": "^15.8.1"
72
72
  },
73
73
  "devDependencies": {