x-ui-design 0.1.2 → 0.1.4

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 (56) 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 -43
  9. package/src/app/layout.tsx +0 -16
  10. package/src/app/page.tsx +0 -18
  11. package/src/xUiDesign/components/Checkbox/index.tsx +0 -110
  12. package/src/xUiDesign/components/Checkbox/style.css +0 -91
  13. package/src/xUiDesign/components/DatePicker/RangePicker/index.tsx +0 -387
  14. package/src/xUiDesign/components/DatePicker/RangePicker/style.css +0 -427
  15. package/src/xUiDesign/components/DatePicker/TimePicker/index.tsx +0 -462
  16. package/src/xUiDesign/components/DatePicker/TimePicker/style.css +0 -188
  17. package/src/xUiDesign/components/DatePicker/index.tsx +0 -487
  18. package/src/xUiDesign/components/DatePicker/style.css +0 -332
  19. package/src/xUiDesign/components/Empty/index.tsx +0 -43
  20. package/src/xUiDesign/components/Empty/style.css +0 -13
  21. package/src/xUiDesign/components/Form/Item/index.tsx +0 -226
  22. package/src/xUiDesign/components/Form/Item/style.css +0 -62
  23. package/src/xUiDesign/components/Form/index.tsx +0 -96
  24. package/src/xUiDesign/components/Input/Textarea/index.tsx +0 -115
  25. package/src/xUiDesign/components/Input/Textarea/style.css +0 -104
  26. package/src/xUiDesign/components/Input/index.tsx +0 -155
  27. package/src/xUiDesign/components/Input/style.css +0 -135
  28. package/src/xUiDesign/components/Radio/Button/index.tsx +0 -47
  29. package/src/xUiDesign/components/Radio/Button/style.css +0 -43
  30. package/src/xUiDesign/components/Radio/Group/index.tsx +0 -101
  31. package/src/xUiDesign/components/Radio/Group/style.css +0 -53
  32. package/src/xUiDesign/components/Radio/index.tsx +0 -89
  33. package/src/xUiDesign/components/Radio/style.css +0 -69
  34. package/src/xUiDesign/components/Select/Option/index.tsx +0 -43
  35. package/src/xUiDesign/components/Select/Option/style.css +0 -44
  36. package/src/xUiDesign/components/Select/Tag/index.tsx +0 -42
  37. package/src/xUiDesign/components/Select/Tag/style.css +0 -82
  38. package/src/xUiDesign/components/Select/index.tsx +0 -659
  39. package/src/xUiDesign/components/Select/style.css +0 -182
  40. package/src/xUiDesign/components/Upload/index.tsx +0 -289
  41. package/src/xUiDesign/components/Upload/style.css +0 -151
  42. package/src/xUiDesign/components/icons/index.tsx +0 -207
  43. package/src/xUiDesign/helpers/index.ts +0 -48
  44. package/src/xUiDesign/hooks/useForm.ts +0 -322
  45. package/src/xUiDesign/hooks/useWatch.ts +0 -41
  46. package/src/xUiDesign/types/checkbox.ts +0 -28
  47. package/src/xUiDesign/types/datepicker.ts +0 -162
  48. package/src/xUiDesign/types/empty.ts +0 -8
  49. package/src/xUiDesign/types/form.ts +0 -145
  50. package/src/xUiDesign/types/index.ts +0 -27
  51. package/src/xUiDesign/types/input.ts +0 -61
  52. package/src/xUiDesign/types/radio.ts +0 -61
  53. package/src/xUiDesign/types/select.ts +0 -112
  54. package/src/xUiDesign/types/upload.ts +0 -67
  55. package/src/xUiDesign/utils/index.ts +0 -12
  56. package/tsconfig.json +0 -40
@@ -0,0 +1,24 @@
1
+ export { Form } from '@/xUiDesign/components/Form';
2
+ export { FormItem } from '@/xUiDesign/components/Form/Item';
3
+ export { Checkbox } from '@/xUiDesign/components/Checkbox';
4
+ export { DatePicker } from '@/xUiDesign/components/DatePicker';
5
+ export { TimePicker } from '@/xUiDesign/components/DatePicker/TimePicker';
6
+ export { RangePicker } from '@/xUiDesign/components/DatePicker/RangePicker';
7
+ export { ButtonComponent } from '@/xUiDesign/components/Button';
8
+ export { EmptyContent } from '@/xUiDesign/components/Empty';
9
+ export { Input } from '@/xUiDesign/components/Input';
10
+ export { Textarea } from '@/xUiDesign/components/Input/Textarea';
11
+ export { Radio } from '@/xUiDesign/components/Radio';
12
+ export { RadioGroup } from '@/xUiDesign/components/Radio/Group';
13
+ export { RadioButton } from '@/xUiDesign/components/Radio/Button';
14
+ export { Select } from '@/xUiDesign/components/Select';
15
+ export { Option } from '@/xUiDesign/components/Select/Option';
16
+ export { Tag } from '@/xUiDesign/components/Select/Tag';
17
+ export { Skeleton } from '@/xUiDesign/components/Skeleton';
18
+ export { SkeletonAvatar } from '@/xUiDesign/components/Skeleton/Avatar';
19
+ export { SkeletonButton } from '@/xUiDesign/components/Skeleton/Button';
20
+ export { SkeletonImage } from '@/xUiDesign/components/Skeleton/Image';
21
+ export { SkeletonInput } from '@/xUiDesign/components/Skeleton/Input';
22
+ export { Upload } from '@/xUiDesign/components/Upload';
23
+ export { useForm } from '@/xUiDesign/hooks/useForm';
24
+ export { useWatch } from '@/xUiDesign/hooks/useWatch';
package/dist/index.js ADDED
@@ -0,0 +1,25 @@
1
+ export { Form } from '@/xUiDesign/components/Form';
2
+ export { FormItem } from '@/xUiDesign/components/Form/Item';
3
+ export { Checkbox } from '@/xUiDesign/components/Checkbox';
4
+ export { DatePicker } from '@/xUiDesign/components/DatePicker';
5
+ export { TimePicker } from '@/xUiDesign/components/DatePicker/TimePicker';
6
+ export { RangePicker } from '@/xUiDesign/components/DatePicker/RangePicker';
7
+ export { ButtonComponent } from '@/xUiDesign/components/Button';
8
+ export { EmptyContent } from '@/xUiDesign/components/Empty';
9
+ export { Input } from '@/xUiDesign/components/Input';
10
+ export { Textarea } from '@/xUiDesign/components/Input/Textarea';
11
+ export { Radio } from '@/xUiDesign/components/Radio';
12
+ export { RadioGroup } from '@/xUiDesign/components/Radio/Group';
13
+ export { RadioButton } from '@/xUiDesign/components/Radio/Button';
14
+ export { Select } from '@/xUiDesign/components/Select';
15
+ export { Option } from '@/xUiDesign/components/Select/Option';
16
+ export { Tag } from '@/xUiDesign/components/Select/Tag';
17
+ export { Skeleton } from '@/xUiDesign/components/Skeleton';
18
+ export { SkeletonAvatar } from '@/xUiDesign/components/Skeleton/Avatar';
19
+ export { SkeletonButton } from '@/xUiDesign/components/Skeleton/Button';
20
+ export { SkeletonImage } from '@/xUiDesign/components/Skeleton/Image';
21
+ export { SkeletonInput } from '@/xUiDesign/components/Skeleton/Input';
22
+ export { Upload } from '@/xUiDesign/components/Upload';
23
+ export { useForm } from '@/xUiDesign/hooks/useForm';
24
+ export { useWatch } from '@/xUiDesign/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.2",
3
+ "version": "0.1.4",
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,43 +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-success-color: #52c41a;
14
-
15
- --xui-background-color: #ffffff;
16
-
17
- /* FONTS */
18
- --xui-font-size-xs: 12px;
19
- --xui-font-size-sm: 14px;
20
- --xui-font-size-md: 14px;
21
- --xui-font-size-lg: 16px;
22
-
23
- /* BORDERS */
24
- --xui-border-radius-sm: 4px;
25
- --xui-border-radius-md: 4px;
26
- --xui-border-radius-lg: 6px;
27
-
28
- --xui-border-color: #d9d9d9;
29
-
30
- /* SELECT */
31
- --xui-select-primary-color: var(--xui-primary-color);
32
- --xui-select-background-color: var(--xui-background-color);
33
- }
34
-
35
- html {
36
- font-family: sans-serif;
37
- }
38
-
39
- .globalEllipsis {
40
- text-overflow: ellipsis;
41
- overflow: hidden;
42
- white-space: nowrap;
43
- }
@@ -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,18 +0,0 @@
1
- 'use client'
2
-
3
- import Upload from "@/xUiDesign/components/Upload";
4
-
5
- export default function Home() {
6
- return (
7
- <>
8
- <Upload
9
- action="https://660d2bd96ddfa2943b33731c.mockapi.io/api/upload"
10
- listType="picture"
11
- multiple
12
- onChange={(e) => console.log(e)}
13
- >
14
- <button>Select File</button>
15
- </Upload>
16
- </>
17
- )
18
- }
@@ -1,110 +0,0 @@
1
- "use client"
2
-
3
- import {
4
- ForwardedRef,
5
- forwardRef,
6
- MouseEvent,
7
- ReactElement,
8
- useEffect,
9
- useState
10
- } from 'react';
11
- import { SyntheticBaseEvent } from '@/xUiDesign/types';
12
- import { CheckboxProps } from '@/xUiDesign/types/checkbox';
13
- import { prefixClsCheckbox } from '@/xUiDesign/utils';
14
- import './style.css';
15
- import { clsx } from '@/xUiDesign/helpers';
16
-
17
- const Checkbox = forwardRef<HTMLDivElement, CheckboxProps>(({
18
- prefixCls = prefixClsCheckbox,
19
- className = '',
20
- defaultChecked = false,
21
- checked,
22
- style,
23
- disabled = false,
24
- onChange,
25
- onClick,
26
- onMouseEnter,
27
- onMouseLeave,
28
- onKeyPress,
29
- onKeyDown,
30
- tabIndex,
31
- name,
32
- children,
33
- id,
34
- autoFocus,
35
- type = 'checkbox',
36
- value = false,
37
- required = false,
38
- noStyle
39
- }, ref: ForwardedRef<HTMLDivElement>): ReactElement => {
40
- const isChecked = checked !== undefined ? checked : defaultChecked || value;
41
- const [internalChecked, setInternalChecked] = useState(isChecked);
42
-
43
- const handleClick = (
44
- e: MouseEvent<HTMLInputElement> & SyntheticBaseEvent
45
- ) => {
46
- e.stopPropagation();
47
-
48
- if (disabled) {
49
- return;
50
- }
51
-
52
- setInternalChecked(!internalChecked);
53
- e.target.value = !internalChecked;
54
-
55
- onClick?.(e);
56
- onChange?.(e);
57
- };
58
-
59
- useEffect(() => {
60
- if (checked !== undefined) {
61
- setInternalChecked(checked);
62
- }
63
- }, [checked]);
64
-
65
- return (
66
- <div className={`${prefixCls}-wrapper`}>
67
- <div
68
- ref={ref}
69
- style={style}
70
- onClick={handleClick}
71
- className={clsx([
72
- prefixCls,
73
- className,
74
- {
75
- 'noStyle': noStyle,
76
- [`${prefixCls}-disabled`]: disabled,
77
- [`${prefixCls}-checked`]: internalChecked
78
- }
79
- ])}
80
- >
81
- <input
82
- id={id}
83
- type={type}
84
- name={name}
85
- disabled={disabled}
86
- tabIndex={tabIndex}
87
- required={required}
88
- autoFocus={autoFocus}
89
- onKeyDown={onKeyDown}
90
- onKeyPress={onKeyPress}
91
- onMouseEnter={onMouseEnter}
92
- onMouseLeave={onMouseLeave}
93
- />
94
-
95
- <span className={`${prefixCls}-box`}>
96
- <span
97
- className={`${prefixCls}-check`}
98
- style={{ opacity: Number(internalChecked) }}
99
- />
100
- </span>
101
- </div>
102
-
103
- {children && <span className={`${prefixCls}-label`}>{children}</span>}
104
- </div>
105
- );
106
- });
107
-
108
- Checkbox.displayName = "Checkbox"
109
-
110
- export { Checkbox };
@@ -1,91 +0,0 @@
1
- .xUi-checkbox-wrapper {
2
- cursor: pointer;
3
- font-size: var(--xui-font-size-md);
4
- align-items: center;
5
- display: inline-flex;
6
- color: var(--xui-main-color);
7
- margin: 16px 0;
8
- }
9
-
10
- .xUi-checkbox {
11
- width: 14px;
12
- height: 14px;
13
- position: relative;
14
- border-radius: var(--xui-border-radius-sm);
15
- transition: all 0.3s;
16
- display: inline-block;
17
- background-color: transparent;
18
- border: 1px solid var(--xui-border-color);
19
- }
20
-
21
- .xUi-checkbox.xUi-checkbox-checked {
22
- border-color: var(--xui-primary-color);
23
- background-color: #f0f5ff;
24
- }
25
-
26
- .xUi-checkbox input {
27
- inset: 0;
28
- opacity: 0;
29
- cursor: pointer;
30
- position: absolute;
31
- }
32
-
33
- .xUi-checkbox-inner {
34
- top: 50%;
35
- left: 50%;
36
- width: 10px;
37
- height: 6px;
38
- border-top: 0;
39
- border-left: 0;
40
- position: absolute;
41
- border: 2px solid var(--xui-background-color);
42
- transform: rotate(45deg) scale(0);
43
- transition: transform 0.2s ease-in-out;
44
- }
45
-
46
- .xUi-checkbox-check {
47
- width: 100%;
48
- height: 100%;
49
- display: block;
50
- position: relative;
51
- transition: 0.1s ease;
52
- border-color: var(--xui-primary-color);
53
- background-color: var(--xui-primary-color);
54
- }
55
-
56
- .xUi-checkbox-check::after {
57
- top: 1px;
58
- left: 3px;
59
- width: 5px;
60
- height: 8px;
61
- content: "";
62
- position: absolute;
63
- border: solid white;
64
- transform: rotate(45deg);
65
- border-width: 0 2px 2px 0;
66
- }
67
-
68
- .xUi-checkbox-disabled,
69
- .xUi-checkbox-disabled .xUi-checkbox-check {
70
- opacity: 0.5;
71
- cursor: not-allowed;
72
- background-color: var(--xui-color-disabled);
73
- border-color: var(--xui-border-color) !important;
74
- }
75
-
76
- .xUi-checkbox-label {
77
- margin-left: 8px;
78
- user-select: none;
79
- font-size: 14px;
80
- }
81
-
82
- .xUi-checkbox:hover:not(.disabled),
83
- .xUi-checkbox:focus:not(.disabled) {
84
- border-color: var(--xui-primary-color);
85
- cursor: pointer;
86
- }
87
-
88
- .xUi-checkbox.disabled {
89
- opacity: 0.5;
90
- cursor: not-allowed;
91
- }