x-ui-design 0.1.3 → 0.1.5

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 (70) hide show
  1. package/dist/index.d.ts +24 -0
  2. package/dist/index.js +25 -0
  3. package/dist/index.js.map +1 -0
  4. package/package.json +17 -4
  5. package/eslint.config.mjs +0 -16
  6. package/next.config.ts +0 -7
  7. package/src/app/favicon.ico +0 -0
  8. package/src/app/globals.css +0 -44
  9. package/src/app/layout.tsx +0 -16
  10. package/src/app/page.tsx +0 -150
  11. package/src/xUiDesign/components/Button/index.tsx +0 -114
  12. package/src/xUiDesign/components/Button/style.css +0 -197
  13. package/src/xUiDesign/components/Checkbox/index.tsx +0 -115
  14. package/src/xUiDesign/components/Checkbox/style.css +0 -91
  15. package/src/xUiDesign/components/DatePicker/RangePicker/index.tsx +0 -390
  16. package/src/xUiDesign/components/DatePicker/RangePicker/style.css +0 -427
  17. package/src/xUiDesign/components/DatePicker/TimePicker/index.tsx +0 -461
  18. package/src/xUiDesign/components/DatePicker/TimePicker/style.css +0 -188
  19. package/src/xUiDesign/components/DatePicker/index.tsx +0 -487
  20. package/src/xUiDesign/components/DatePicker/style.css +0 -327
  21. package/src/xUiDesign/components/Empty/index.tsx +0 -43
  22. package/src/xUiDesign/components/Empty/style.css +0 -13
  23. package/src/xUiDesign/components/Form/Item/index.tsx +0 -226
  24. package/src/xUiDesign/components/Form/Item/style.css +0 -62
  25. package/src/xUiDesign/components/Form/index.tsx +0 -96
  26. package/src/xUiDesign/components/Input/Textarea/index.tsx +0 -115
  27. package/src/xUiDesign/components/Input/Textarea/style.css +0 -104
  28. package/src/xUiDesign/components/Input/index.tsx +0 -155
  29. package/src/xUiDesign/components/Input/style.css +0 -135
  30. package/src/xUiDesign/components/Radio/Button/index.tsx +0 -47
  31. package/src/xUiDesign/components/Radio/Button/style.css +0 -43
  32. package/src/xUiDesign/components/Radio/Group/index.tsx +0 -101
  33. package/src/xUiDesign/components/Radio/Group/style.css +0 -53
  34. package/src/xUiDesign/components/Radio/index.tsx +0 -89
  35. package/src/xUiDesign/components/Radio/style.css +0 -69
  36. package/src/xUiDesign/components/Select/Option/index.tsx +0 -45
  37. package/src/xUiDesign/components/Select/Option/style.css +0 -44
  38. package/src/xUiDesign/components/Select/Tag/index.tsx +0 -42
  39. package/src/xUiDesign/components/Select/Tag/style.css +0 -82
  40. package/src/xUiDesign/components/Select/index.tsx +0 -682
  41. package/src/xUiDesign/components/Select/style.css +0 -182
  42. package/src/xUiDesign/components/Skeleton/Avatar/index.tsx +0 -59
  43. package/src/xUiDesign/components/Skeleton/Avatar/style.css +0 -27
  44. package/src/xUiDesign/components/Skeleton/Button/index.tsx +0 -42
  45. package/src/xUiDesign/components/Skeleton/Button/style.css +0 -50
  46. package/src/xUiDesign/components/Skeleton/Image/index.tsx +0 -43
  47. package/src/xUiDesign/components/Skeleton/Image/style.css +0 -21
  48. package/src/xUiDesign/components/Skeleton/Input/index.tsx +0 -40
  49. package/src/xUiDesign/components/Skeleton/Input/style.css +0 -56
  50. package/src/xUiDesign/components/Skeleton/index.tsx +0 -92
  51. package/src/xUiDesign/components/Skeleton/style.css +0 -84
  52. package/src/xUiDesign/components/Upload/index.tsx +0 -289
  53. package/src/xUiDesign/components/Upload/style.css +0 -151
  54. package/src/xUiDesign/components/icons/index.tsx +0 -207
  55. package/src/xUiDesign/helpers/index.ts +0 -52
  56. package/src/xUiDesign/hooks/useForm.ts +0 -327
  57. package/src/xUiDesign/hooks/useWatch.ts +0 -41
  58. package/src/xUiDesign/types/button.ts +0 -81
  59. package/src/xUiDesign/types/checkbox.ts +0 -28
  60. package/src/xUiDesign/types/datepicker.ts +0 -162
  61. package/src/xUiDesign/types/empty.ts +0 -8
  62. package/src/xUiDesign/types/form.ts +0 -144
  63. package/src/xUiDesign/types/index.ts +0 -27
  64. package/src/xUiDesign/types/input.ts +0 -65
  65. package/src/xUiDesign/types/radio.ts +0 -61
  66. package/src/xUiDesign/types/select.ts +0 -116
  67. package/src/xUiDesign/types/skeleton.ts +0 -62
  68. package/src/xUiDesign/types/upload.ts +0 -67
  69. package/src/xUiDesign/utils/index.ts +0 -14
  70. package/tsconfig.json +0 -40
@@ -0,0 +1,24 @@
1
+ export { Form } from '@/components/Form';
2
+ export { FormItem } from '@/components/Form/Item';
3
+ export { Checkbox } from '@/components/Checkbox';
4
+ export { DatePicker } from '@/components/DatePicker';
5
+ export { TimePicker } from '@/components/DatePicker/TimePicker';
6
+ export { RangePicker } from '@/components/DatePicker/RangePicker';
7
+ export { ButtonComponent } from '@/components/Button';
8
+ export { EmptyContent } from '@/components/Empty';
9
+ export { Input } from '@/components/Input';
10
+ export { Textarea } from '@/components/Input/Textarea';
11
+ export { Radio } from '@/components/Radio';
12
+ export { RadioGroup } from '@/components/Radio/Group';
13
+ export { RadioButton } from '@/components/Radio/Button';
14
+ export { Select } from '@/components/Select';
15
+ export { Option } from '@/components/Select/Option';
16
+ export { Tag } from '@/components/Select/Tag';
17
+ export { Skeleton } from '@/components/Skeleton';
18
+ export { SkeletonAvatar } from '@/components/Skeleton/Avatar';
19
+ export { SkeletonButton } from '@/components/Skeleton/Button';
20
+ export { SkeletonImage } from '@/components/Skeleton/Image';
21
+ export { SkeletonInput } from '@/components/Skeleton/Input';
22
+ export { Upload } from '@/components/Upload';
23
+ export { useForm } from '@/hooks/useForm';
24
+ export { useWatch } from '@/hooks/useWatch';
package/dist/index.js ADDED
@@ -0,0 +1,25 @@
1
+ export { Form } from '@/components/Form';
2
+ export { FormItem } from '@/components/Form/Item';
3
+ export { Checkbox } from '@/components/Checkbox';
4
+ export { DatePicker } from '@/components/DatePicker';
5
+ export { TimePicker } from '@/components/DatePicker/TimePicker';
6
+ export { RangePicker } from '@/components/DatePicker/RangePicker';
7
+ export { ButtonComponent } from '@/components/Button';
8
+ export { EmptyContent } from '@/components/Empty';
9
+ export { Input } from '@/components/Input';
10
+ export { Textarea } from '@/components/Input/Textarea';
11
+ export { Radio } from '@/components/Radio';
12
+ export { RadioGroup } from '@/components/Radio/Group';
13
+ export { RadioButton } from '@/components/Radio/Button';
14
+ export { Select } from '@/components/Select';
15
+ export { Option } from '@/components/Select/Option';
16
+ export { Tag } from '@/components/Select/Tag';
17
+ export { Skeleton } from '@/components/Skeleton';
18
+ export { SkeletonAvatar } from '@/components/Skeleton/Avatar';
19
+ export { SkeletonButton } from '@/components/Skeleton/Button';
20
+ export { SkeletonImage } from '@/components/Skeleton/Image';
21
+ export { SkeletonInput } from '@/components/Skeleton/Input';
22
+ export { Upload } from '@/components/Upload';
23
+ export { useForm } from '@/hooks/useForm';
24
+ export { useWatch } from '@/hooks/useWatch';
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,26 +1,39 @@
1
1
  {
2
2
  "name": "x-ui-design",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "license": "ISC",
5
5
  "author": "Gabriel Boyajyan",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
6
11
  "scripts": {
7
12
  "dev": "next dev --turbopack",
8
13
  "build": "next build",
14
+ "rollup-build": "rollup -c --bundleConfigAsCjs",
9
15
  "start": "next start",
10
16
  "lint": "next lint"
11
17
  },
12
18
  "dependencies": {
13
19
  "next": "15.2.0",
14
- "react": "^19.0.0",
15
- "react-dom": "^19.0.0"
20
+ "react": "^18.0.0",
21
+ "react-dom": "^18.0.0"
16
22
  },
17
23
  "devDependencies": {
18
24
  "@eslint/eslintrc": "^3",
25
+ "@rollup/plugin-commonjs": "^28.0.3",
26
+ "@rollup/plugin-node-resolve": "^16.0.1",
27
+ "@rollup/plugin-typescript": "^12.1.2",
19
28
  "@types/node": "^20",
20
29
  "@types/react": "^19",
21
30
  "@types/react-dom": "^19",
22
31
  "eslint": "^9",
23
32
  "eslint-config-next": "15.2.0",
24
- "typescript": "^5"
33
+ "rollup": "^4.40.2",
34
+ "rollup-plugin-dts": "^6.2.1",
35
+ "rollup-plugin-peer-deps-external": "^2.2.4",
36
+ "rollup-plugin-postcss": "^4.0.2",
37
+ "typescript": "^5.8.3"
25
38
  }
26
39
  }
package/eslint.config.mjs DELETED
@@ -1,16 +0,0 @@
1
- import { dirname } from "path";
2
- import { fileURLToPath } from "url";
3
- import { FlatCompat } from "@eslint/eslintrc";
4
-
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = dirname(__filename);
7
-
8
- const compat = new FlatCompat({
9
- baseDirectory: __dirname,
10
- });
11
-
12
- const eslintConfig = [
13
- ...compat.extends("next/core-web-vitals", "next/typescript"),
14
- ];
15
-
16
- export default eslintConfig;
package/next.config.ts DELETED
@@ -1,7 +0,0 @@
1
- import type { NextConfig } from "next";
2
-
3
- const nextConfig: NextConfig = {
4
- /* config options here */
5
- };
6
-
7
- export default nextConfig;
Binary file
@@ -1,44 +0,0 @@
1
- :root {
2
- /* MAIN */
3
- --xui-color-hover: #f5f5f5;
4
- --xui-color-disabled: #e6e6e6;
5
-
6
- --xui-primary-color: #1677ff;
7
- --xui-primary-color-light: #40a9ff;
8
-
9
- --xui-text-color: rgba(0, 0, 0, 0.88);
10
- --xui-text-color-light: rgba(0, 0, 0, 0.5);
11
-
12
- --xui-error-color: #ff4d4f;
13
- --xui-error-color-light: #ff6668;
14
- --xui-success-color: #52c41a;
15
-
16
- --xui-background-color: #ffffff;
17
-
18
- /* FONTS */
19
- --xui-font-size-xs: 12px;
20
- --xui-font-size-sm: 14px;
21
- --xui-font-size-md: 14px;
22
- --xui-font-size-lg: 16px;
23
-
24
- /* BORDERS */
25
- --xui-border-radius-sm: 4px;
26
- --xui-border-radius-md: 4px;
27
- --xui-border-radius-lg: 6px;
28
-
29
- --xui-border-color: #d9d9d9;
30
-
31
- /* SELECT */
32
- --xui-select-primary-color: var(--xui-primary-color);
33
- --xui-select-background-color: var(--xui-background-color);
34
- }
35
-
36
- html {
37
- font-family: sans-serif;
38
- }
39
-
40
- .globalEllipsis {
41
- text-overflow: ellipsis;
42
- overflow: hidden;
43
- white-space: nowrap;
44
- }
@@ -1,16 +0,0 @@
1
- import { ReactNode } from "react";
2
- import "./globals.css";
3
-
4
- export default function RootLayout({
5
- children,
6
- }: Readonly<{
7
- children: ReactNode;
8
- }>) {
9
- return (
10
- <html lang="en">
11
- <body>
12
- {children}
13
- </body>
14
- </html>
15
- );
16
- }
package/src/app/page.tsx DELETED
@@ -1,150 +0,0 @@
1
- 'use client'
2
-
3
- import Button from "@/xUiDesign/components/Button"
4
- import { Button as AntButton, Flex } from "antd"
5
-
6
- export default function Home() {
7
- return (
8
- <div style={{ display: 'flex', gap: '100px' }}>
9
- <div>
10
- <h2>xUiDesign Button</h2>
11
- <Flex gap="small" align="flex-start" vertical>
12
- <Flex gap="small">
13
- <Button type="primary">Primary</Button>
14
- <Button type="primary" disabled>
15
- Primary(disabled)
16
- </Button>
17
- </Flex>
18
- <Flex gap="small">
19
- <Button>Default</Button>
20
- <Button disabled>Default(disabled)</Button>
21
- </Flex>
22
- <Flex gap="small">
23
- <Button type="dashed">Dashed</Button>
24
- <Button type="dashed" disabled>
25
- Dashed(disabled)
26
- </Button>
27
- </Flex>
28
- <Flex gap="small">
29
- <Button type="text">Text</Button>
30
- <Button type="text" disabled>
31
- Text(disabled)
32
- </Button>
33
- </Flex>
34
- <Flex gap="small">
35
- <Button href="https://vran.am" type="link">Link</Button>
36
- <Button href="https://vran.am" type="link" disabled>
37
- Link(disabled)
38
- </Button>
39
- </Flex>
40
- <Flex gap="small">
41
- <Button type="primary" href="https://ant.design/index-cn">
42
- Href Primary
43
- </Button>
44
- <Button type="primary" href="https://ant.design/index-cn" disabled>
45
- Href Primary(disabled)
46
- </Button>
47
- </Flex>
48
- <Flex gap="small">
49
- <Button danger>Danger Default</Button>
50
- <Button danger disabled>
51
- Danger Default(disabled)
52
- </Button>
53
- </Flex>
54
- <Flex gap="small">
55
- <Button danger type="text">
56
- Danger Text
57
- </Button>
58
- <Button danger type="text" disabled>
59
- Danger Text(disabled)
60
- </Button>
61
- </Flex>
62
- <Flex gap="small">
63
- <Button href="https://vran.am" type="link" danger>
64
- Danger Link
65
- </Button>
66
- <Button href="https://vran.am" type="link" danger disabled>
67
- Danger Link(disabled)
68
- </Button>
69
- </Flex>
70
- <Flex gap="small" className="site-button-ghost-wrapper">
71
- <Button ghost>Ghost</Button>
72
- <Button ghost disabled>
73
- Ghost(disabled)
74
- </Button>
75
- </Flex>
76
- </Flex>
77
- </div>
78
-
79
- <div>
80
- <h2>Ant Design Button</h2>
81
- <Flex gap="small" align="flex-start" vertical>
82
- <Flex gap="small">
83
- <AntButton type="primary">Primary</AntButton>
84
- <AntButton type="primary" disabled>
85
- Primary(disabled)
86
- </AntButton>
87
- </Flex>
88
- <Flex gap="small">
89
- <AntButton>Default</AntButton>
90
- <AntButton disabled>Default(disabled)</AntButton>
91
- </Flex>
92
- <Flex gap="small">
93
- <AntButton type="dashed">Dashed</AntButton>
94
- <AntButton type="dashed" disabled>
95
- Dashed(disabled)
96
- </AntButton>
97
- </Flex>
98
- <Flex gap="small">
99
- <AntButton type="text">Text</AntButton>
100
- <AntButton type="text" disabled>
101
- Text(disabled)
102
- </AntButton>
103
- </Flex>
104
- <Flex gap="small">
105
- <AntButton href="https://vran.am" type="link">Link</AntButton>
106
- <AntButton href="https://vran.am" type="link" disabled>
107
- Link(disabled)
108
- </AntButton>
109
- </Flex>
110
- <Flex gap="small">
111
- <AntButton type="primary" href="https://ant.design/index-cn">
112
- Href Primary
113
- </AntButton>
114
- <AntButton type="primary" href="https://ant.design/index-cn" disabled>
115
- Href Primary(disabled)
116
- </AntButton>
117
- </Flex>
118
- <Flex gap="small">
119
- <AntButton danger>Danger Default</AntButton>
120
- <AntButton danger disabled>
121
- Danger Default(disabled)
122
- </AntButton>
123
- </Flex>
124
- <Flex gap="small">
125
- <AntButton danger type="text">
126
- Danger Text
127
- </AntButton>
128
- <AntButton danger type="text" disabled>
129
- Danger Text(disabled)
130
- </AntButton>
131
- </Flex>
132
- <Flex gap="small">
133
- <AntButton href="https://vran.am" type="link" danger>
134
- Danger Link
135
- </AntButton>
136
- <AntButton href="https://vran.am" type="link" danger disabled>
137
- Danger Link(disabled)
138
- </AntButton>
139
- </Flex>
140
- <Flex gap="small" className="site-Antbutton-ghost-wrapper">
141
- <AntButton ghost>Ghost</AntButton>
142
- <AntButton ghost disabled>
143
- Ghost(disabled)
144
- </AntButton>
145
- </Flex>
146
- </Flex>
147
- </div>
148
- </div>
149
- )
150
- }
@@ -1,114 +0,0 @@
1
- import { ReactElement, useEffect, useState } from 'react';
2
- import { clsx } from '@/xUiDesign/helpers';
3
- import { ButtonProps } from '@/xUiDesign/types/button';
4
- import { prefixClsButton } from '@/xUiDesign/utils';
5
- import './style.css';
6
-
7
- export const ButtonComponent = ({
8
- type = 'default',
9
- variant = 'solid',
10
- color = 'default',
11
- shape = 'default',
12
- size = 'middle',
13
- htmlType = 'button',
14
- className,
15
- rootClassName,
16
- classNames: customClassNames = {},
17
- styles = {},
18
- prefixCls = prefixClsButton,
19
- icon,
20
- iconPosition = 'start',
21
- loading = false,
22
- disabled = false,
23
- ghost = false,
24
- danger = false,
25
- block = false,
26
- children,
27
- href,
28
- ...restProps
29
- }: ButtonProps): ReactElement => {
30
- const [innerLoading, setInnerLoading] = useState(false);
31
-
32
- useEffect(() => {
33
- if (typeof loading === 'boolean') {
34
- setInnerLoading(loading);
35
- } else if (typeof loading === 'object' && loading.delay) {
36
- const timeout = setTimeout(() => setInnerLoading(true), loading.delay);
37
-
38
- return () => clearTimeout(timeout);
39
- } else {
40
- setInnerLoading(!!loading);
41
- }
42
- }, [loading]);
43
-
44
- const classes = clsx(
45
- prefixCls,
46
- rootClassName,
47
- `${prefixCls}-${type}`,
48
- `${prefixCls}-${variant}`,
49
- `${prefixCls}-${color}`,
50
- `${prefixCls}-${shape}`,
51
- `${prefixCls}-size-${size}`,
52
- {
53
- [`${prefixCls}-block`]: block,
54
- [`${prefixCls}-ghost`]: ghost,
55
- [`${prefixCls}-danger`]: danger,
56
- [`${prefixCls}-loading`]: innerLoading,
57
- [`${prefixCls}-disabled`]: disabled
58
- },
59
- className
60
- );
61
-
62
- const iconNode = innerLoading
63
- ? (typeof loading === 'object' && loading.icon) || (
64
- <span className={`${prefixCls}-spinner`} />
65
- )
66
- : icon;
67
-
68
- const content = (
69
- <>
70
- {iconNode && iconPosition === 'start' && (
71
- <span
72
- className={clsx(`${prefixCls}-icon`, customClassNames.icon)}
73
- style={styles.icon}
74
- >
75
- {iconNode}
76
- </span>
77
- )}
78
- <span className={`${prefixCls}-content`}>{children}</span>
79
- {iconNode && iconPosition === 'end' && (
80
- <span
81
- className={clsx(`${prefixCls}-icon`, customClassNames.icon)}
82
- style={styles.icon}
83
- >
84
- {iconNode}
85
- </span>
86
- )}
87
- </>
88
- );
89
-
90
- const mergedDisabled = disabled || innerLoading;
91
-
92
- if (href) {
93
- return (
94
- <a
95
- className={classes}
96
- href={mergedDisabled ? undefined : href}
97
- aria-disabled={mergedDisabled}
98
- >
99
- {content}
100
- </a>
101
- );
102
- }
103
-
104
- return (
105
- <button
106
- type={htmlType}
107
- className={classes}
108
- disabled={mergedDisabled}
109
- {...restProps}
110
- >
111
- {content}
112
- </button>
113
- );
114
- };
@@ -1,197 +0,0 @@
1
- .xUi-button {
2
- display: inline-flex;
3
- align-items: center;
4
- justify-content: center;
5
- font-weight: 400;
6
- white-space: nowrap;
7
- vertical-align: middle;
8
- user-select: none;
9
- border: 1px solid transparent;
10
- cursor: pointer;
11
- transition: all 0.3s ease;
12
- border-radius: 6px;
13
- line-height: 1.5715;
14
- }
15
-
16
- .xUi-button-content {
17
- display: inline-flex;
18
- align-items: center;
19
- justify-content: center;
20
- }
21
-
22
- .xUi-button-icon {
23
- display: inline-flex;
24
- align-items: center;
25
- justify-content: center;
26
- line-height: 0;
27
- margin-right: 0.5em;
28
- }
29
-
30
- .xUi-button-icon:last-child {
31
- margin-right: 0;
32
- margin-left: 0.5em;
33
- }
34
-
35
- .xUi-button-spinner {
36
- width: 1em;
37
- height: 1em;
38
- border: 1px solid transparent;
39
- border-top-color: var(--xui-text-color);
40
- border-radius: 50%;
41
- animation: xUi-spin 1s linear infinite;
42
- }
43
-
44
- @keyframes xUi-spin {
45
- 0% {
46
- transform: rotate(0deg);
47
- }
48
- 100% {
49
- transform: rotate(360deg);
50
- }
51
- }
52
-
53
- .xUi-button-size-small {
54
- padding: 4px 12px;
55
- font-size: 12px;
56
- height: 24px;
57
- }
58
-
59
- .xUi-button-size-middle {
60
- padding: 0 16px;
61
- font-size: 14px;
62
- height: 32px;
63
- }
64
-
65
- .xUi-button-size-large {
66
- padding: 8px 20px;
67
- font-size: 16px;
68
- height: 40px;
69
- }
70
-
71
- .xUi-button-circle {
72
- padding: 0;
73
- border-radius: 50%;
74
- justify-content: center;
75
- }
76
-
77
- .xUi-button-circle.xUi-button-size-small {
78
- width: 24px;
79
- height: 24px;
80
- }
81
-
82
- .xUi-button-circle.xUi-button-size-large {
83
- width: 40px;
84
- height: 40px;
85
- }
86
-
87
- .xUi-button-round {
88
- border-radius: 9999px;
89
- }
90
-
91
- .xUi-button-default {
92
- background-color: #fff;
93
- border-color: var(--xui-border-color);
94
- color: rgba(0, 0, 0, 0.85);
95
- }
96
-
97
- .xUi-button-default:hover {
98
- border-color: var(--xui-primary-color);
99
- color: var(--xui-primary-color);
100
- }
101
-
102
- .xUi-button-primary {
103
- background-color: var(--xui-primary-color);
104
- border-color: var(--xui-primary-color);
105
- color: #fff;
106
- }
107
-
108
- .xUi-button-primary:hover {
109
- background-color: var(--xui-primary-color-light);
110
- border-color: var(--xui-primary-color-light);
111
- color: #fff;
112
- }
113
-
114
- .xUi-button-dashed {
115
- border-style: dashed;
116
- background-color: #fff;
117
- color: rgba(0, 0, 0, 0.85);
118
- border-color: var(--xui-border-color);
119
- }
120
-
121
- .xUi-button-dashed:hover {
122
- border-color: var(--xui-primary-color);
123
- color: var(--xui-primary-color);
124
- }
125
-
126
- .xUi-button-text {
127
- background-color: transparent;
128
- border-color: transparent !important;
129
- color: rgba(0, 0, 0, 0.88);
130
- }
131
-
132
- .xUi-button-text:hover {
133
- color: rgba(0, 0, 0, 0.88);
134
- border-color: transparent;
135
- background-color: rgba(0, 0, 0, 0.04);
136
- }
137
-
138
- .xUi-button-link {
139
- background-color: transparent;
140
- border-color: transparent !important;
141
- color: var(--xui-primary-color);
142
- }
143
-
144
- .xUi-button-link:hover {
145
- border-color: transparent;
146
- color: var(--xui-primary-color-light);
147
- }
148
-
149
- .xUi-button-outlined {
150
- background-color: transparent;
151
- border-color: var(--xui-border-color);
152
- color: #fff;
153
- }
154
-
155
- .xUi-button-filled {
156
- background-color: transparent;
157
- color: var(--xui-text-color);
158
- border-color: var(--xui-border-color);
159
- }
160
-
161
- .xUi-button-danger {
162
- background-color: transparent;
163
- border-color: var(--xui-error-color);
164
- color: var(--xui-error-color);
165
- }
166
-
167
- .xUi-button-danger:hover {
168
- color: var(--xui-error-color-light);
169
- border-color: var(--xui-error-color-light);
170
- }
171
-
172
- .xUi-button-ghost {
173
- opacity: 0;
174
- }
175
-
176
- .xUi-button-ghost:hover {
177
- opacity: 1;
178
- }
179
-
180
- .xUi-button-block {
181
- display: flex;
182
- width: 100%;
183
- }
184
-
185
- .xUi-button-disabled,
186
- .xUi-button-loading {
187
- cursor: not-allowed;
188
- opacity: 0.5;
189
- color: var(--xui-text-color);
190
- border-color: var(--xui-border-color);
191
- background-color: var(--xui-color-disabled);
192
- pointer-events: none;
193
- }
194
-
195
- .xUi-button-loading {
196
- background-color: transparent
197
- }