@996-design/996-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.md +35 -0
  3. package/README.md +31 -0
  4. package/dist/cjs/index.cjs +4228 -0
  5. package/dist/cjs/index.cjs.map +41 -0
  6. package/dist/cjs/legacy-index.cjs +17297 -0
  7. package/dist/cjs/legacy-index.cjs.map +96 -0
  8. package/dist/cjs/pro/index.cjs +8544 -0
  9. package/dist/cjs/pro/index.cjs.map +35 -0
  10. package/dist/esm/index.js +4063 -0
  11. package/dist/esm/index.js.map +41 -0
  12. package/dist/esm/legacy-index.js +17294 -0
  13. package/dist/esm/legacy-index.js.map +96 -0
  14. package/dist/esm/pro/index.js +8554 -0
  15. package/dist/esm/pro/index.js.map +35 -0
  16. package/dist/styles.css +5816 -0
  17. package/dist/theme.css +601 -0
  18. package/dist/types/ConfigProvider.d.ts +195 -0
  19. package/dist/types/antd-theme.d.ts +12 -0
  20. package/dist/types/components/Alert.d.ts +51 -0
  21. package/dist/types/components/Avatar.d.ts +44 -0
  22. package/dist/types/components/Badge.d.ts +31 -0
  23. package/dist/types/components/Breadcrumb.d.ts +45 -0
  24. package/dist/types/components/Button.d.ts +42 -0
  25. package/dist/types/components/ButtonGroup.d.ts +13 -0
  26. package/dist/types/components/Card.d.ts +55 -0
  27. package/dist/types/components/Carousel.d.ts +70 -0
  28. package/dist/types/components/Checkbox.d.ts +43 -0
  29. package/dist/types/components/Collapse.d.ts +23 -0
  30. package/dist/types/components/ColorPicker.d.ts +143 -0
  31. package/dist/types/components/DataDisplayPrimitives.d.ts +205 -0
  32. package/dist/types/components/DataEntryPrimitives.d.ts +454 -0
  33. package/dist/types/components/Divider.d.ts +24 -0
  34. package/dist/types/components/Drawer.d.ts +68 -0
  35. package/dist/types/components/Dropdown.d.ts +41 -0
  36. package/dist/types/components/Empty.d.ts +14 -0
  37. package/dist/types/components/EmptyState.d.ts +6 -0
  38. package/dist/types/components/FeedbackPrimitives.d.ts +102 -0
  39. package/dist/types/components/Form.d.ts +67 -0
  40. package/dist/types/components/GameCover.d.ts +8 -0
  41. package/dist/types/components/Grid.d.ts +50 -0
  42. package/dist/types/components/Icon.d.ts +13 -0
  43. package/dist/types/components/IconButton.d.ts +14 -0
  44. package/dist/types/components/Input.d.ts +110 -0
  45. package/dist/types/components/InputNumber.d.ts +29 -0
  46. package/dist/types/components/LayoutPrimitives.d.ts +130 -0
  47. package/dist/types/components/List.d.ts +64 -0
  48. package/dist/types/components/Masonry.d.ts +43 -0
  49. package/dist/types/components/MenuList.d.ts +24 -0
  50. package/dist/types/components/Message.d.ts +58 -0
  51. package/dist/types/components/MessageToast.d.ts +27 -0
  52. package/dist/types/components/Modal.d.ts +123 -0
  53. package/dist/types/components/NavigationPrimitives.d.ts +73 -0
  54. package/dist/types/components/OtherPrimitives.d.ts +36 -0
  55. package/dist/types/components/Pagination.d.ts +18 -0
  56. package/dist/types/components/Panel.d.ts +8 -0
  57. package/dist/types/components/Popconfirm.d.ts +18 -0
  58. package/dist/types/components/Popover.d.ts +10 -0
  59. package/dist/types/components/PriceText.d.ts +9 -0
  60. package/dist/types/components/Progress.d.ts +57 -0
  61. package/dist/types/components/ProgressBar.d.ts +8 -0
  62. package/dist/types/components/ProgressButton.d.ts +9 -0
  63. package/dist/types/components/Radio.d.ts +67 -0
  64. package/dist/types/components/Rate.d.ts +17 -0
  65. package/dist/types/components/Result.d.ts +11 -0
  66. package/dist/types/components/SectionHeader.d.ts +11 -0
  67. package/dist/types/components/Segmented.d.ts +41 -0
  68. package/dist/types/components/SegmentedTabs.d.ts +42 -0
  69. package/dist/types/components/SelectInput.d.ts +33 -0
  70. package/dist/types/components/Skeleton.d.ts +54 -0
  71. package/dist/types/components/Slider.d.ts +48 -0
  72. package/dist/types/components/Spin.d.ts +21 -0
  73. package/dist/types/components/Splitter.d.ts +7 -0
  74. package/dist/types/components/StatCard.d.ts +10 -0
  75. package/dist/types/components/Statistic.d.ts +48 -0
  76. package/dist/types/components/StatusItem.d.ts +12 -0
  77. package/dist/types/components/Steps.d.ts +40 -0
  78. package/dist/types/components/Switch.d.ts +41 -0
  79. package/dist/types/components/Table.d.ts +61 -0
  80. package/dist/types/components/Tabs.d.ts +50 -0
  81. package/dist/types/components/Tag.d.ts +52 -0
  82. package/dist/types/components/TagPill.d.ts +7 -0
  83. package/dist/types/components/Tooltip.d.ts +64 -0
  84. package/dist/types/components/Typography.d.ts +374 -0
  85. package/dist/types/components/affix/utils.d.ts +10 -0
  86. package/dist/types/components/feedback/FloatButton.d.ts +51 -0
  87. package/dist/types/components/feedback/Watermark.d.ts +33 -0
  88. package/dist/types/components/feedback/globalHolder.d.ts +17 -0
  89. package/dist/types/components/form/statusContext.d.ts +18 -0
  90. package/dist/types/components/form/statusContext.type-smoke.d.ts +24 -0
  91. package/dist/types/components/splitter/Panel.d.ts +6 -0
  92. package/dist/types/components/splitter/SplitBar.d.ts +32 -0
  93. package/dist/types/components/splitter/interface.d.ts +89 -0
  94. package/dist/types/components/splitter/sizeUtil.d.ts +5 -0
  95. package/dist/types/components/splitter/useItems.d.ts +3 -0
  96. package/dist/types/components/splitter/useResizable.d.ts +9 -0
  97. package/dist/types/components/splitter/useResize.d.ts +9 -0
  98. package/dist/types/components/splitter/useSizes.d.ts +11 -0
  99. package/dist/types/components/table/columnState.d.ts +36 -0
  100. package/dist/types/components/table/pagination.d.ts +34 -0
  101. package/dist/types/components/table/selection.d.ts +23 -0
  102. package/dist/types/components/table/types.d.ts +163 -0
  103. package/dist/types/hooks/useReducedMotion.d.ts +1 -0
  104. package/dist/types/index.d.ts +44 -0
  105. package/dist/types/legacy-index.d.ts +136 -0
  106. package/dist/types/pro/index.d.ts +17 -0
  107. package/dist/types/tokens.d.ts +266 -0
  108. package/dist/types/utils/cn.d.ts +3 -0
  109. package/dist/types/utils/slots.d.ts +5 -0
  110. package/package.json +126 -0
@@ -0,0 +1,195 @@
1
+ import type { CSSProperties, FC, ReactNode } from "react";
2
+ export type UiSurface = "web" | "admin";
3
+ export type AntdSize = "small" | "medium" | "middle" | "large";
4
+ export type UiSize = AntdSize | "xs" | "sm" | "md" | "lg";
5
+ export type UiVisualSize = "sm" | "md" | "lg";
6
+ export type UiMotionConfig = boolean | {
7
+ readonly disabled?: boolean;
8
+ };
9
+ export type DirectionType = "ltr" | "rtl";
10
+ export declare const Variants: readonly ["outlined", "borderless", "filled", "underlined"];
11
+ export type Variant = (typeof Variants)[number];
12
+ export declare const defaultPrefixCls = "hj";
13
+ export declare const defaultIconPrefixCls = "hjicon";
14
+ export type PopupContainer = HTMLElement;
15
+ export type TargetContainer = HTMLElement | Window | ShadowRoot;
16
+ export type GetPrefixCls = (suffixCls?: string, customizePrefixCls?: string) => string;
17
+ export type GetPopupContainer = (triggerNode?: HTMLElement) => PopupContainer;
18
+ export type GetTargetContainer = () => TargetContainer;
19
+ export type RenderEmptyHandler = (componentName?: string) => ReactNode;
20
+ export type Locale = Readonly<Record<string, unknown>>;
21
+ export interface ThemeCssVarConfig {
22
+ readonly key?: string;
23
+ readonly prefix?: string;
24
+ }
25
+ export type ThemeToken = Readonly<Record<string, unknown>>;
26
+ export type ThemeComponentTokens = Readonly<Record<string, ThemeToken>>;
27
+ export interface ThemeConfig {
28
+ readonly algorithm?: unknown;
29
+ readonly components?: ThemeComponentTokens;
30
+ readonly cssVar?: boolean | ThemeCssVarConfig;
31
+ readonly hashed?: boolean;
32
+ readonly inherit?: boolean;
33
+ readonly token?: ThemeToken;
34
+ readonly zeroRuntime?: boolean;
35
+ }
36
+ export interface ComponentDefaults {
37
+ readonly [componentName: string]: object | undefined;
38
+ readonly Button?: {
39
+ readonly size?: UiSize;
40
+ readonly disabled?: boolean;
41
+ readonly motion?: UiMotionConfig;
42
+ };
43
+ readonly Input?: {
44
+ readonly size?: Exclude<UiSize, "xs">;
45
+ readonly disabled?: boolean;
46
+ };
47
+ readonly SelectInput?: {
48
+ readonly size?: Exclude<UiSize, "xs">;
49
+ readonly disabled?: boolean;
50
+ readonly popupOffset?: number;
51
+ };
52
+ readonly Select?: {
53
+ readonly size?: Exclude<UiSize, "xs">;
54
+ readonly disabled?: boolean;
55
+ };
56
+ readonly AutoComplete?: {
57
+ readonly size?: Exclude<UiSize, "xs">;
58
+ readonly disabled?: boolean;
59
+ };
60
+ readonly Cascader?: {
61
+ readonly size?: Exclude<UiSize, "xs">;
62
+ readonly disabled?: boolean;
63
+ };
64
+ readonly TreeSelect?: {
65
+ readonly size?: Exclude<UiSize, "xs">;
66
+ readonly disabled?: boolean;
67
+ };
68
+ readonly Mentions?: {
69
+ readonly size?: Exclude<UiSize, "xs">;
70
+ readonly disabled?: boolean;
71
+ };
72
+ readonly MenuList?: {
73
+ readonly disabled?: boolean;
74
+ readonly variant?: "menu" | "user" | "dropdown";
75
+ };
76
+ readonly SegmentedTabs?: {
77
+ readonly size?: UiSize;
78
+ readonly disabled?: boolean;
79
+ readonly motion?: UiMotionConfig;
80
+ };
81
+ readonly Segmented?: {
82
+ readonly size?: UiSize;
83
+ readonly disabled?: boolean;
84
+ };
85
+ readonly Modal?: {
86
+ readonly motion?: UiMotionConfig;
87
+ readonly width?: number | string;
88
+ };
89
+ readonly Tooltip?: {
90
+ readonly arrow?: boolean;
91
+ readonly disabled?: boolean;
92
+ readonly placement?: "topLeft" | "top" | "topRight" | "bottomLeft" | "bottom" | "bottomRight" | "leftTop" | "left" | "leftBottom" | "rightTop" | "right" | "rightBottom";
93
+ readonly trigger?: "hover" | "focus" | "click" | readonly ("hover" | "focus" | "click")[];
94
+ readonly variant?: "dark" | "light";
95
+ };
96
+ readonly MessageToast?: {
97
+ readonly showIcon?: boolean;
98
+ readonly variant?: "dark" | "light";
99
+ };
100
+ readonly Checkbox?: {
101
+ readonly disabled?: boolean;
102
+ };
103
+ readonly Switch?: {
104
+ readonly disabled?: boolean;
105
+ };
106
+ readonly AdminButton?: {
107
+ readonly size?: Exclude<UiSize, "xs">;
108
+ readonly disabled?: boolean;
109
+ readonly motion?: UiMotionConfig;
110
+ };
111
+ readonly AdminInput?: {
112
+ readonly disabled?: boolean;
113
+ };
114
+ readonly DataTable?: {
115
+ readonly pageSize?: number;
116
+ };
117
+ }
118
+ export interface UiConfig {
119
+ readonly componentDisabled: boolean;
120
+ readonly componentSize: AntdSize;
121
+ readonly components: ComponentDefaults;
122
+ readonly direction?: DirectionType;
123
+ readonly disabled: boolean;
124
+ readonly getPopupContainer?: GetPopupContainer;
125
+ readonly getPrefixCls: GetPrefixCls;
126
+ readonly getTargetContainer?: GetTargetContainer;
127
+ readonly iconPrefixCls: string;
128
+ readonly locale?: Locale;
129
+ readonly motion: UiMotionConfig;
130
+ readonly popupMatchSelectWidth?: boolean | number;
131
+ readonly prefixCls: string;
132
+ readonly renderEmpty?: RenderEmptyHandler;
133
+ readonly rootPrefixCls: string;
134
+ readonly size: UiVisualSize;
135
+ readonly surface: UiSurface;
136
+ readonly theme?: ThemeConfig;
137
+ readonly variant?: Variant;
138
+ readonly virtual?: boolean;
139
+ }
140
+ export type ConfigConsumerProps = UiConfig;
141
+ export interface ConfigProviderProps {
142
+ readonly children?: ReactNode;
143
+ readonly className?: string;
144
+ readonly componentDisabled?: boolean;
145
+ readonly componentSize?: AntdSize;
146
+ readonly components?: ComponentDefaults;
147
+ readonly direction?: DirectionType;
148
+ readonly disabled?: boolean;
149
+ /** @deprecated Use `popupMatchSelectWidth`. */
150
+ readonly dropdownMatchSelectWidth?: boolean | number;
151
+ readonly getPopupContainer?: GetPopupContainer;
152
+ readonly getTargetContainer?: GetTargetContainer;
153
+ readonly iconPrefixCls?: string;
154
+ readonly locale?: Locale;
155
+ readonly motion?: UiMotionConfig;
156
+ readonly popupMatchSelectWidth?: boolean | number;
157
+ readonly prefixCls?: string;
158
+ readonly renderEmpty?: RenderEmptyHandler;
159
+ readonly size?: Exclude<UiSize, "xs">;
160
+ readonly style?: CSSProperties;
161
+ readonly surface?: UiSurface;
162
+ readonly theme?: ThemeConfig;
163
+ readonly variant?: Variant;
164
+ readonly virtual?: boolean;
165
+ }
166
+ export type HolderRender = (children: ReactNode) => ReactNode;
167
+ export interface GlobalConfigProps {
168
+ readonly holderRender?: HolderRender;
169
+ readonly iconPrefixCls?: string;
170
+ readonly prefixCls?: string;
171
+ readonly theme?: ThemeConfig;
172
+ }
173
+ export interface GlobalConfig {
174
+ readonly getIconPrefixCls: () => string;
175
+ readonly getPrefixCls: GetPrefixCls;
176
+ readonly getRootPrefixCls: () => string;
177
+ readonly getTheme: () => ThemeConfig | undefined;
178
+ readonly holderRender?: HolderRender;
179
+ }
180
+ export declare const defaultConfig: UiConfig;
181
+ export declare const ConfigContext: import("react").Context<UiConfig>;
182
+ export declare const ConfigConsumer: import("react").Consumer<UiConfig>;
183
+ declare function setGlobalConfig(props: GlobalConfigProps): void;
184
+ export declare function globalConfig(): GlobalConfig;
185
+ export declare function isMotionDisabled(motion: UiMotionConfig | undefined): boolean;
186
+ export declare function normalizeUiSize(size: Exclude<UiSize, "xs"> | undefined, fallback?: UiVisualSize): UiVisualSize;
187
+ export declare function useConfig(): UiConfig;
188
+ export interface ConfigProviderType extends FC<ConfigProviderProps> {
189
+ readonly ConfigConsumer: typeof ConfigConsumer;
190
+ readonly ConfigContext: typeof ConfigContext;
191
+ readonly config: typeof setGlobalConfig;
192
+ readonly useConfig: typeof useConfig;
193
+ }
194
+ export declare const ConfigProvider: ConfigProviderType;
195
+ export default ConfigProvider;
@@ -0,0 +1,12 @@
1
+ import { type ThemeConfig } from "@996-design/996-antd";
2
+ export type Antd996ColorScheme = "dark" | "light";
3
+ /**
4
+ * 996UX changes AntD's visual tokens only. Component state machines, event
5
+ * ordering, keyboard behavior and imperative refs remain owned by the exact
6
+ * AntD 6.5.1 source mirror.
7
+ */
8
+ export declare const antd996DarkTheme: ThemeConfig;
9
+ export declare const antd996LightTheme: ThemeConfig;
10
+ export declare function getAntd996Theme(colorScheme: Antd996ColorScheme): ThemeConfig;
11
+ /** @deprecated Use `antd996DarkTheme` when the color scheme should be explicit. */
12
+ export declare const antd996Theme: ThemeConfig;
@@ -0,0 +1,51 @@
1
+ import type { AriaAttributes, ErrorInfo, HTMLAttributes, MouseEventHandler, ReactNode } from "react";
2
+ import { PureComponent } from "react";
3
+ export type AlertType = "success" | "info" | "warning" | "error";
4
+ export type AlertVariant = "outlined" | "filled";
5
+ export interface AlertClosableConfig extends AriaAttributes {
6
+ readonly afterClose?: () => void;
7
+ readonly closeIcon?: ReactNode;
8
+ readonly disabled?: boolean;
9
+ readonly onClose?: MouseEventHandler<HTMLButtonElement>;
10
+ }
11
+ export interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, "onClose" | "title"> {
12
+ readonly action?: ReactNode;
13
+ readonly afterClose?: () => void;
14
+ readonly banner?: boolean;
15
+ readonly closable?: boolean | AlertClosableConfig;
16
+ readonly closeIcon?: ReactNode;
17
+ readonly closeText?: ReactNode;
18
+ readonly description?: ReactNode;
19
+ readonly icon?: ReactNode;
20
+ /** @deprecated Use `title` instead. */
21
+ readonly message?: ReactNode;
22
+ readonly rootClassName?: string;
23
+ readonly showIcon?: boolean;
24
+ readonly title?: ReactNode;
25
+ readonly type?: AlertType;
26
+ readonly variant?: AlertVariant;
27
+ /** @deprecated Use `closable.onClose` instead. */
28
+ readonly onClose?: MouseEventHandler<HTMLButtonElement>;
29
+ }
30
+ export interface AlertErrorBoundaryProps {
31
+ readonly children?: ReactNode;
32
+ readonly description?: ReactNode;
33
+ readonly id?: string;
34
+ /** @deprecated Use `title` instead. */
35
+ readonly message?: ReactNode;
36
+ readonly title?: ReactNode;
37
+ }
38
+ interface AlertErrorBoundaryState {
39
+ readonly error?: Error;
40
+ readonly info?: ErrorInfo;
41
+ }
42
+ declare function AlertRoot({ action, afterClose, banner, className, closable, closeIcon, closeText, description, icon, message, onClose, rootClassName, showIcon, style, title, type: customType, variant, ...props }: AlertProps): import("react").JSX.Element;
43
+ declare class AlertErrorBoundary extends PureComponent<AlertErrorBoundaryProps, AlertErrorBoundaryState> {
44
+ state: AlertErrorBoundaryState;
45
+ componentDidCatch(error: Error, info: ErrorInfo): void;
46
+ render(): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
47
+ }
48
+ export declare const Alert: typeof AlertRoot & {
49
+ ErrorBoundary: typeof AlertErrorBoundary;
50
+ };
51
+ export {};
@@ -0,0 +1,44 @@
1
+ import type { CSSProperties, HTMLAttributes, ReactNode } from "react";
2
+ import { type PopoverProps } from "./Popover";
3
+ export type AvatarShape = "circle" | "square";
4
+ export type AvatarNamedSize = "small" | "medium" | "middle" | "default" | "large";
5
+ export type AvatarResponsiveSize = Partial<Record<"xs" | "sm" | "md" | "lg" | "xl" | "xxl", number>>;
6
+ export type AvatarSize = AvatarNamedSize | AvatarResponsiveSize | number;
7
+ export interface AvatarProps extends Omit<HTMLAttributes<HTMLSpanElement>, "onError"> {
8
+ readonly alt?: string;
9
+ readonly crossOrigin?: "" | "anonymous" | "use-credentials";
10
+ readonly draggable?: boolean | "true" | "false";
11
+ readonly gap?: number;
12
+ readonly icon?: ReactNode;
13
+ readonly rootClassName?: string;
14
+ readonly shape?: AvatarShape;
15
+ readonly size?: AvatarSize;
16
+ readonly src?: ReactNode;
17
+ readonly srcSet?: string;
18
+ readonly onError?: () => boolean | undefined;
19
+ }
20
+ export interface AvatarGroupMaxConfig {
21
+ readonly count?: number;
22
+ readonly popover?: Omit<PopoverProps, "children" | "content">;
23
+ readonly style?: CSSProperties;
24
+ }
25
+ export interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {
26
+ readonly max?: AvatarGroupMaxConfig;
27
+ /** @deprecated Use `max.count` instead. */
28
+ readonly maxCount?: number;
29
+ /** @deprecated Use `max.popover.placement` instead. */
30
+ readonly maxPopoverPlacement?: PopoverProps["placement"];
31
+ /** @deprecated Use `max.popover.trigger` instead. */
32
+ readonly maxPopoverTrigger?: PopoverProps["trigger"];
33
+ /** @deprecated Use `max.style` instead. */
34
+ readonly maxStyle?: CSSProperties;
35
+ readonly rootClassName?: string;
36
+ readonly shape?: AvatarShape;
37
+ readonly size?: AvatarSize;
38
+ }
39
+ declare function AvatarRoot({ alt, children, className, crossOrigin, draggable, gap, icon, onError, rootClassName, shape, size, src, srcSet, style, ...props }: AvatarProps): import("react").JSX.Element;
40
+ declare function AvatarGroup({ children, className, max, maxCount, maxPopoverPlacement, maxPopoverTrigger, maxStyle, rootClassName, shape, size, ...props }: AvatarGroupProps): import("react").JSX.Element;
41
+ export declare const Avatar: typeof AvatarRoot & {
42
+ Group: typeof AvatarGroup;
43
+ };
44
+ export {};
@@ -0,0 +1,31 @@
1
+ import type { CSSProperties, HTMLAttributes, ReactNode } from "react";
2
+ export type BadgeStatus = "success" | "processing" | "default" | "error" | "warning";
3
+ export type BadgeSize = "small" | "medium" | "middle" | "default";
4
+ export interface BadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, "title"> {
5
+ readonly color?: string;
6
+ readonly count?: ReactNode;
7
+ readonly dot?: boolean;
8
+ readonly offset?: readonly [number | string, number | string];
9
+ readonly overflowCount?: number;
10
+ readonly rootClassName?: string;
11
+ readonly showZero?: boolean;
12
+ readonly size?: BadgeSize;
13
+ readonly status?: BadgeStatus;
14
+ readonly text?: ReactNode;
15
+ readonly title?: string | null | false;
16
+ }
17
+ export interface BadgeRibbonProps {
18
+ readonly children?: ReactNode;
19
+ readonly className?: string;
20
+ readonly color?: string;
21
+ readonly placement?: "start" | "end";
22
+ readonly rootClassName?: string;
23
+ readonly style?: CSSProperties;
24
+ readonly text?: ReactNode;
25
+ }
26
+ declare function BadgeRoot({ children, className, color, count, dot, offset, overflowCount, rootClassName, showZero, size, status, text, title, style, ...props }: BadgeProps): import("react").JSX.Element;
27
+ declare function Ribbon({ children, className, color, placement, rootClassName, style, text, }: BadgeRibbonProps): import("react").JSX.Element;
28
+ export declare const Badge: typeof BadgeRoot & {
29
+ Ribbon: typeof Ribbon;
30
+ };
31
+ export {};
@@ -0,0 +1,45 @@
1
+ import type { AriaAttributes, CSSProperties, HTMLAttributes, MouseEventHandler, ReactNode } from "react";
2
+ import { type DropdownProps } from "./Dropdown";
3
+ export interface BreadcrumbItem extends AriaAttributes {
4
+ readonly breadcrumbName?: string;
5
+ readonly className?: string;
6
+ readonly dropdownProps?: Omit<DropdownProps, "children" | "menu">;
7
+ readonly href?: string;
8
+ readonly key?: string | number;
9
+ readonly menu?: DropdownProps["menu"];
10
+ readonly path?: string;
11
+ readonly separator?: ReactNode;
12
+ readonly style?: CSSProperties;
13
+ readonly title?: ReactNode;
14
+ readonly type?: "separator";
15
+ readonly onClick?: MouseEventHandler<HTMLAnchorElement | HTMLSpanElement>;
16
+ }
17
+ export interface BreadcrumbProps<T extends Record<string, unknown> = Record<string, unknown>> extends Omit<HTMLAttributes<HTMLElement>, "children"> {
18
+ readonly children?: ReactNode;
19
+ readonly dropdownIcon?: ReactNode;
20
+ readonly itemRender?: (route: BreadcrumbItem, params: T, routes: readonly BreadcrumbItem[], paths: string[]) => ReactNode;
21
+ readonly items?: readonly BreadcrumbItem[];
22
+ readonly params?: T;
23
+ readonly rootClassName?: string;
24
+ /** @deprecated Use `items` instead. */
25
+ readonly routes?: readonly BreadcrumbItem[];
26
+ readonly separator?: ReactNode;
27
+ }
28
+ export interface BreadcrumbItemProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
29
+ readonly dropdownIcon?: ReactNode;
30
+ readonly dropdownProps?: Omit<DropdownProps, "children" | "menu">;
31
+ readonly href?: string;
32
+ readonly menu?: DropdownProps["menu"];
33
+ readonly separator?: ReactNode;
34
+ }
35
+ export interface BreadcrumbSeparatorProps extends HTMLAttributes<HTMLLIElement> {
36
+ readonly children?: ReactNode;
37
+ }
38
+ declare function BreadcrumbSeparator({ children, className, ...props }: BreadcrumbSeparatorProps): import("react").JSX.Element;
39
+ declare function BreadcrumbItemComponent({ children, className, dropdownIcon, dropdownProps, href, menu, onClick, separator: _separator, style, ...props }: BreadcrumbItemProps): import("react").JSX.Element;
40
+ declare function BreadcrumbRoot<T extends Record<string, unknown> = Record<string, unknown>>({ children, className, dropdownIcon, itemRender, items, params, rootClassName, routes, separator, ...props }: BreadcrumbProps<T>): import("react").JSX.Element;
41
+ export declare const Breadcrumb: typeof BreadcrumbRoot & {
42
+ Item: typeof BreadcrumbItemComponent;
43
+ Separator: typeof BreadcrumbSeparator;
44
+ };
45
+ export {};
@@ -0,0 +1,42 @@
1
+ import type { AnchorHTMLAttributes, ButtonHTMLAttributes, HTMLAttributes, ReactNode } from "react";
2
+ import type { SlotClassNames, SlotStyles } from "../utils/slots";
3
+ export type ButtonType = "default" | "primary" | "dashed" | "link" | "text";
4
+ export type ButtonColor = "default" | "primary" | "danger" | "blue" | "purple" | "cyan" | "green" | "magenta" | "pink" | "red" | "orange" | "yellow" | "volcano" | "geekblue" | "lime" | "gold" | "success" | "info" | "purchase" | "download";
5
+ export type ButtonShape = "default" | "circle" | "round" | "square";
6
+ export type ButtonTone = "primary" | "default" | "secondary" | "ghost" | "danger" | "success" | "info" | "light" | "purchase" | "download";
7
+ export type AntdButtonVariant = "outlined" | "dashed" | "solid" | "filled" | "text" | "link";
8
+ export type ButtonVariant = AntdButtonVariant | "secondary" | "translucent" | "toggle" | "icon";
9
+ export type AntdButtonSize = "small" | "medium" | "middle" | "large";
10
+ export type ButtonSize = AntdButtonSize | "xs" | "sm" | "md" | "lg";
11
+ export type ButtonStatus = "default" | "hover" | "active";
12
+ export type ButtonWidth = "default" | "narrow" | "auto";
13
+ type ButtonSlot = "root" | "icon" | "content" | "loadingIcon";
14
+ type MergedButtonHtmlAttributes = Omit<HTMLAttributes<HTMLElement> & ButtonHTMLAttributes<HTMLElement> & AnchorHTMLAttributes<HTMLElement>, "color" | "type">;
15
+ export interface ButtonProps extends MergedButtonHtmlAttributes {
16
+ readonly autoInsertSpace?: boolean;
17
+ readonly block?: boolean;
18
+ readonly classNames?: SlotClassNames<ButtonSlot>;
19
+ readonly color?: ButtonColor;
20
+ readonly danger?: boolean;
21
+ readonly ghost?: boolean;
22
+ readonly href?: string;
23
+ readonly htmlType?: ButtonHTMLAttributes<HTMLButtonElement>["type"];
24
+ readonly icon?: ReactNode;
25
+ readonly iconPosition?: "start" | "end";
26
+ readonly iconPlacement?: "start" | "end";
27
+ readonly loading?: boolean | {
28
+ readonly delay?: number;
29
+ readonly icon?: ReactNode;
30
+ };
31
+ readonly rootClassName?: string;
32
+ readonly shape?: ButtonShape;
33
+ readonly styles?: SlotStyles<ButtonSlot>;
34
+ readonly status?: ButtonStatus;
35
+ readonly tone?: ButtonTone;
36
+ readonly size?: ButtonSize;
37
+ readonly type?: ButtonType;
38
+ readonly variant?: ButtonVariant;
39
+ readonly width?: ButtonWidth;
40
+ }
41
+ export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
42
+ export {};
@@ -0,0 +1,13 @@
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ import type { SlotClassNames, SlotStyles } from "../utils/slots";
3
+ type ButtonGroupSlot = "root";
4
+ export interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement> {
5
+ readonly attached?: boolean;
6
+ readonly block?: boolean;
7
+ readonly children: ReactNode;
8
+ readonly classNames?: SlotClassNames<ButtonGroupSlot>;
9
+ readonly separated?: boolean;
10
+ readonly styles?: SlotStyles<ButtonGroupSlot>;
11
+ }
12
+ export declare function ButtonGroup({ attached, block, children, className, classNames, separated, style, styles, ...props }: ButtonGroupProps): import("react").JSX.Element;
13
+ export {};
@@ -0,0 +1,55 @@
1
+ import type { CSSProperties, HTMLAttributes, ReactElement, ReactNode } from "react";
2
+ import { type TabsProps } from "./Tabs";
3
+ export type CardSize = "small" | "medium" | "middle" | "default";
4
+ export type CardVariant = "borderless" | "outlined";
5
+ export interface CardTabListType {
6
+ readonly disabled?: boolean;
7
+ readonly key: string;
8
+ readonly label?: ReactNode;
9
+ /** @deprecated Use `label` instead. */
10
+ readonly tab?: ReactNode;
11
+ }
12
+ export interface CardProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
13
+ readonly actions?: readonly ReactNode[];
14
+ readonly activeTabKey?: string;
15
+ readonly as?: "article" | "section" | "div" | "button";
16
+ /** @deprecated Use `styles.body` instead. */
17
+ readonly bodyStyle?: CSSProperties;
18
+ /** @deprecated Use `variant` instead. */
19
+ readonly bordered?: boolean;
20
+ readonly cover?: ReactNode;
21
+ readonly defaultActiveTabKey?: string;
22
+ readonly extra?: ReactNode;
23
+ /** @deprecated Use `styles.header` instead. */
24
+ readonly headStyle?: CSSProperties;
25
+ readonly hoverable?: boolean;
26
+ readonly interactive?: boolean;
27
+ readonly loading?: boolean;
28
+ readonly rootClassName?: string;
29
+ readonly selected?: boolean;
30
+ readonly size?: CardSize;
31
+ readonly styles?: Partial<Record<"actions" | "body" | "cover" | "extra" | "header" | "root" | "title", CSSProperties>>;
32
+ readonly tabBarExtraContent?: ReactNode;
33
+ readonly tabList?: readonly CardTabListType[];
34
+ readonly tabProps?: Omit<TabsProps, "items">;
35
+ readonly title?: ReactNode;
36
+ readonly type?: "inner" | "button";
37
+ readonly variant?: CardVariant;
38
+ readonly onTabChange?: (key: string) => void;
39
+ }
40
+ export interface CardMetaProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
41
+ readonly avatar?: ReactNode;
42
+ readonly description?: ReactNode;
43
+ readonly title?: ReactNode;
44
+ }
45
+ export interface CardGridProps extends HTMLAttributes<HTMLDivElement> {
46
+ readonly hoverable?: boolean;
47
+ }
48
+ declare function CardMeta({ avatar, children, className, description, title, ...props }: CardMetaProps): import("react").JSX.Element;
49
+ declare function CardGrid({ children, className, hoverable, ...props }: CardGridProps): import("react").JSX.Element;
50
+ declare function CardRoot({ actions, activeTabKey, as: Component, bodyStyle, bordered, children, className, cover, defaultActiveTabKey, extra, headStyle, hoverable, interactive, loading, onTabChange, rootClassName, selected, size, style, styles, tabBarExtraContent, tabList, tabProps, title, type, variant, ...props }: CardProps): ReactElement;
51
+ export declare const Card: typeof CardRoot & {
52
+ Grid: typeof CardGrid;
53
+ Meta: typeof CardMeta;
54
+ };
55
+ export {};
@@ -0,0 +1,70 @@
1
+ import Slider, { type Settings as SlickSettings } from "@996-design/996-slick";
2
+ import { type CSSProperties, type ReactNode } from "react";
3
+ import type { SlotClassNames, SlotStyles } from "../utils/slots";
4
+ export type Settings = SlickSettings;
5
+ export type CarouselEffect = "scrollx" | "fade";
6
+ export type DotPlacement = "top" | "bottom" | "start" | "end";
7
+ export type CarouselAutoPlayType = "update" | "leave" | "blur";
8
+ type SliderRef = InstanceType<typeof Slider>;
9
+ type SlickInnerSlider = NonNullable<SliderRef["innerSlider"]> & {
10
+ autoPlay: (playType?: CarouselAutoPlayType) => void;
11
+ };
12
+ export interface CarouselRef {
13
+ autoPlay: (playType?: CarouselAutoPlayType) => void;
14
+ goTo: (slide: number, dontAnimate?: boolean) => void;
15
+ innerSlider: SlickInnerSlider | null;
16
+ next: () => void;
17
+ prev: () => void;
18
+ }
19
+ export interface CarouselItem {
20
+ readonly alt?: string;
21
+ readonly content?: ReactNode;
22
+ readonly id: string;
23
+ readonly imageUrl?: string;
24
+ }
25
+ /** @deprecated Use the AntD-compatible `dots` prop instead. */
26
+ export type CarouselIndicator = "dots" | "none";
27
+ type CarouselSlot = "root" | "viewport" | "track" | "slide" | "image" | "placeholder" | "arrow" | "prev" | "next" | "indicators" | "indicator";
28
+ export interface CarouselProps extends Omit<SlickSettings, "autoplay" | "dots" | "dotsClass"> {
29
+ readonly autoplay?: boolean | {
30
+ readonly dotDuration?: boolean;
31
+ };
32
+ readonly children?: ReactNode;
33
+ readonly classNames?: SlotClassNames<CarouselSlot>;
34
+ readonly dotPlacement?: DotPlacement;
35
+ /** @deprecated Use `dotPlacement` instead. */
36
+ readonly dotPosition?: DotPlacement | "left" | "right";
37
+ readonly dots?: boolean | {
38
+ readonly className?: string;
39
+ };
40
+ readonly effect?: CarouselEffect;
41
+ readonly id?: string;
42
+ readonly prefixCls?: string;
43
+ readonly rootClassName?: string;
44
+ readonly slickGoTo?: number;
45
+ readonly style?: CSSProperties;
46
+ readonly styles?: SlotStyles<CarouselSlot>;
47
+ readonly waitForAnimate?: boolean;
48
+ /** @deprecated Additive adapter for the former 996 Carousel API. Use `initialSlide` and the ref API. */
49
+ readonly activeIndex?: number;
50
+ /** @deprecated Additive adapter for the former 996 Carousel API. */
51
+ readonly ariaLabel?: string;
52
+ /** @deprecated Additive adapter for the former 996 Carousel API. Use `dots`. */
53
+ readonly indicator?: CarouselIndicator;
54
+ /** @deprecated Additive adapter for the former 996 Carousel API. Render slides as children. */
55
+ readonly items?: readonly CarouselItem[];
56
+ /** @deprecated Additive adapter for the former 996 Carousel API. Use `nextArrow`. */
57
+ readonly nextAriaLabel?: string;
58
+ /** @deprecated Additive adapter for the former 996 Carousel API. Use `afterChange`. */
59
+ readonly onChange?: (index: number) => void;
60
+ /** @deprecated Additive adapter for the former 996 Carousel API. Put the handler on slide children. */
61
+ readonly onItemClick?: () => void;
62
+ /** @deprecated Additive adapter for the former 996 Carousel API. */
63
+ readonly placeholder?: ReactNode;
64
+ /** @deprecated Additive adapter for the former 996 Carousel API. Use `prevArrow`. */
65
+ readonly prevAriaLabel?: string;
66
+ /** @deprecated Additive adapter for the former 996 Carousel API. Use `arrows`. */
67
+ readonly showArrows?: boolean;
68
+ }
69
+ export declare const Carousel: import("react").ForwardRefExoticComponent<CarouselProps & import("react").RefAttributes<CarouselRef>>;
70
+ export {};
@@ -0,0 +1,43 @@
1
+ import type { CheckboxChangeEvent, CheckboxRef, CheckboxProps as RcCheckboxProps } from "@rc-component/checkbox";
2
+ import type { CSSProperties, HTMLAttributes, ReactElement, ReactNode, RefAttributes } from "react";
3
+ import type { SlotClassNames, SlotStyles } from "../utils/slots";
4
+ export type CheckboxStatus = "default" | "hover" | "active";
5
+ export type CheckboxValueType = string | number | boolean;
6
+ export type { CheckboxChangeEvent, CheckboxRef };
7
+ type CheckboxSlot = "root" | "input" | "control" | "icon" | "label";
8
+ export interface CheckboxProps<ValueType = CheckboxValueType> extends Omit<RcCheckboxProps, "children" | "className" | "onChange" | "prefixCls" | "style" | "value"> {
9
+ readonly children?: ReactNode;
10
+ readonly className?: string;
11
+ readonly classNames?: SlotClassNames<CheckboxSlot>;
12
+ readonly indeterminate?: boolean;
13
+ readonly label?: ReactNode;
14
+ readonly rootClassName?: string;
15
+ readonly skipGroup?: boolean;
16
+ readonly status?: CheckboxStatus;
17
+ readonly style?: CSSProperties;
18
+ readonly styles?: SlotStyles<CheckboxSlot>;
19
+ readonly value?: ValueType;
20
+ readonly onChange?: (event: CheckboxChangeEvent) => void;
21
+ }
22
+ export interface CheckboxOptionType<ValueType = CheckboxValueType> extends Omit<CheckboxProps<ValueType>, "checked" | "children" | "defaultChecked" | "label" | "skipGroup"> {
23
+ readonly label: ReactNode;
24
+ readonly value: ValueType;
25
+ }
26
+ export interface CheckboxGroupProps<ValueType = CheckboxValueType> extends Omit<HTMLAttributes<HTMLDivElement>, "children" | "defaultValue" | "onChange"> {
27
+ readonly children?: ReactNode;
28
+ readonly defaultValue?: readonly ValueType[];
29
+ readonly disabled?: boolean;
30
+ readonly name?: string;
31
+ readonly options?: readonly (CheckboxOptionType<ValueType> | string | number)[];
32
+ readonly orientation?: "horizontal" | "vertical";
33
+ readonly rootClassName?: string;
34
+ readonly value?: readonly ValueType[];
35
+ readonly vertical?: boolean;
36
+ readonly onChange?: (checkedValue: ValueType[]) => void;
37
+ }
38
+ type CheckboxStandaloneComponent = <ValueType = CheckboxValueType>(props: CheckboxProps<ValueType> & RefAttributes<CheckboxRef>) => ReactElement;
39
+ type CheckboxGroupComponent = <ValueType = CheckboxValueType>(props: CheckboxGroupProps<ValueType> & RefAttributes<HTMLDivElement>) => ReactElement;
40
+ type CheckboxCompoundComponent = CheckboxStandaloneComponent & {
41
+ readonly Group: CheckboxGroupComponent;
42
+ };
43
+ export declare const Checkbox: CheckboxCompoundComponent;
@@ -0,0 +1,23 @@
1
+ import type { CollapsePanelProps as RcCollapsePanelProps, CollapseProps as RcCollapseProps } from "@rc-component/collapse";
2
+ import type { ItemType as RcCollapseItem } from "@rc-component/collapse/es/interface";
3
+ import type { CSSProperties } from "react";
4
+ export type CollapseItem = RcCollapseItem;
5
+ export type CollapseSize = "small" | "medium" | "middle" | "large";
6
+ export type CollapseExpandIconPosition = "start" | "end";
7
+ export type CollapsePanelProps = Omit<RcCollapsePanelProps, "prefixCls">;
8
+ export interface CollapseProps extends Omit<RcCollapseProps, "items" | "onChange" | "prefixCls" | "style"> {
9
+ readonly bordered?: boolean;
10
+ readonly destroyInactivePanel?: boolean;
11
+ readonly expandIconPlacement?: CollapseExpandIconPosition;
12
+ readonly expandIconPosition?: CollapseExpandIconPosition;
13
+ readonly ghost?: boolean;
14
+ readonly items?: readonly CollapseItem[];
15
+ readonly rootClassName?: string;
16
+ readonly size?: CollapseSize;
17
+ readonly style?: CSSProperties;
18
+ readonly onActiveKeyChange?: (key: string | string[]) => void;
19
+ readonly onChange?: (key: string[]) => void;
20
+ }
21
+ export declare const Collapse: import("react").ForwardRefExoticComponent<CollapseProps & import("react").RefAttributes<HTMLDivElement>> & {
22
+ Panel: import("react").ForwardRefExoticComponent<CollapsePanelProps & import("react").RefAttributes<HTMLDivElement>>;
23
+ };