@waysnx/ui-core 0.1.1

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.
@@ -0,0 +1,68 @@
1
+ .wx-datetimepicker-wrapper {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 4px;
5
+ }
6
+
7
+ .wx-datetimepicker-label {
8
+ font-size: 14px;
9
+ font-weight: 500;
10
+ }
11
+
12
+ .wx-datetimepicker-input-wrapper {
13
+ position: relative;
14
+ display: inline-block;
15
+ width: 100%;
16
+ }
17
+
18
+ .wx-datetimepicker-react-wrapper {
19
+ display: block;
20
+ width: 100%;
21
+ }
22
+
23
+ .wx-datetimepicker-input {
24
+ width: 100%;
25
+ padding: 10px 36px 10px 10px;
26
+ border: 1px solid #ccc;
27
+ border-radius: 6px;
28
+ outline: none;
29
+ height: 40px;
30
+ box-sizing: border-box;
31
+ font-size: 14px;
32
+ }
33
+
34
+ .wx-datetimepicker-icon {
35
+ position: absolute;
36
+ right: 10px;
37
+ top: 50%;
38
+ transform: translateY(-50%);
39
+ width: 18px;
40
+ height: 18px;
41
+ color: #6b7280;
42
+ pointer-events: none;
43
+ z-index: 1;
44
+ }
45
+
46
+ .wx-datetimepicker-input:focus {
47
+ border-color: var(--wx-color-primary, #f19924);
48
+ }
49
+
50
+ .wx-datetimepicker-input:disabled {
51
+ opacity: 0.6;
52
+ cursor: not-allowed;
53
+ }
54
+
55
+ .wx-datetimepicker-input-error {
56
+ border-color: var(--wx-color-error, #dc2626);
57
+ }
58
+
59
+ .wx-datetimepicker-hint {
60
+ font-size: 12px;
61
+ color: #6b7280;
62
+ }
63
+
64
+ .wx-datetimepicker-error-text {
65
+ font-size: 12px;
66
+ color: #dc2626;
67
+ }
68
+
@@ -0,0 +1 @@
1
+ .wx-divider{height:1px;background:#e5e7eb;margin:16px 0}.wx-divider-vertical{width:1px;height:auto;margin:0 16px}
@@ -0,0 +1,164 @@
1
+ .wx-fileupload-wrapper {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 8px;
5
+ }
6
+
7
+ .wx-fileupload-label {
8
+ font-size: 14px;
9
+ font-weight: 500;
10
+ color: #333;
11
+ margin-bottom: 4px;
12
+ }
13
+
14
+ .wx-fileupload-dropzone {
15
+ border: 2px dashed #d1d5db;
16
+ border-radius: 8px;
17
+ padding: 24px;
18
+ text-align: center;
19
+ cursor: pointer;
20
+ transition: all 0.2s ease;
21
+ background-color: #fafafa;
22
+ }
23
+
24
+ .wx-fileupload-dropzone:hover {
25
+ border-color: var(--wx-color-primary);
26
+ background-color: #fff5eb;
27
+ }
28
+
29
+ .wx-fileupload-dropzone-dragging {
30
+ border-color: var(--wx-color-primary);
31
+ background-color: #fff5eb;
32
+ transform: scale(1.01);
33
+ }
34
+
35
+ .wx-fileupload-dropzone-error {
36
+ border-color: #ef4444;
37
+ background-color: #fef2f2;
38
+ }
39
+
40
+ .wx-fileupload-dropzone-disabled {
41
+ cursor: not-allowed;
42
+ opacity: 0.6;
43
+ background-color: #f5f5f5;
44
+ }
45
+
46
+ .wx-fileupload-dropzone-disabled:hover {
47
+ border-color: #d1d5db;
48
+ background-color: #f5f5f5;
49
+ transform: none;
50
+ }
51
+
52
+ .wx-fileupload-input {
53
+ display: none;
54
+ }
55
+
56
+ .wx-fileupload-icon {
57
+ width: 40px;
58
+ height: 40px;
59
+ margin: 0 auto 12px;
60
+ color: #9ca3af;
61
+ }
62
+
63
+ .wx-fileupload-dropzone:hover .wx-fileupload-icon {
64
+ color: var(--wx-color-primary);
65
+ }
66
+
67
+ .wx-fileupload-dropzone-dragging .wx-fileupload-icon {
68
+ color: var(--wx-color-primary);
69
+ }
70
+
71
+ .wx-fileupload-text {
72
+ display: flex;
73
+ flex-direction: column;
74
+ gap: 4px;
75
+ }
76
+
77
+ .wx-fileupload-text-primary {
78
+ font-size: 14px;
79
+ font-weight: 500;
80
+ color: #333;
81
+ }
82
+
83
+ .wx-fileupload-text-secondary {
84
+ font-size: 12px;
85
+ color: #6b7280;
86
+ }
87
+
88
+ .wx-fileupload-list {
89
+ display: flex;
90
+ flex-direction: column;
91
+ gap: 8px;
92
+ margin-top: 8px;
93
+ }
94
+
95
+ .wx-fileupload-item {
96
+ display: flex;
97
+ align-items: center;
98
+ justify-content: space-between;
99
+ padding: 12px;
100
+ background-color: #f9fafb;
101
+ border: 1px solid #e5e7eb;
102
+ border-radius: 6px;
103
+ transition: background-color 0.2s ease;
104
+ }
105
+
106
+ .wx-fileupload-item:hover {
107
+ background-color: #f3f4f6;
108
+ }
109
+
110
+ .wx-fileupload-item-info {
111
+ display: flex;
112
+ flex-direction: column;
113
+ gap: 2px;
114
+ flex: 1;
115
+ min-width: 0;
116
+ }
117
+
118
+ .wx-fileupload-item-name {
119
+ font-size: 14px;
120
+ font-weight: 500;
121
+ color: #333;
122
+ overflow: hidden;
123
+ text-overflow: ellipsis;
124
+ white-space: nowrap;
125
+ }
126
+
127
+ .wx-fileupload-item-size {
128
+ font-size: 12px;
129
+ color: #6b7280;
130
+ }
131
+
132
+ .wx-fileupload-item-remove {
133
+ width: 24px;
134
+ height: 24px;
135
+ border: none;
136
+ background-color: transparent;
137
+ color: #6b7280;
138
+ font-size: 24px;
139
+ line-height: 1;
140
+ cursor: pointer;
141
+ border-radius: 4px;
142
+ transition: all 0.2s ease;
143
+ display: flex;
144
+ align-items: center;
145
+ justify-content: center;
146
+ flex-shrink: 0;
147
+ }
148
+
149
+ .wx-fileupload-item-remove:hover {
150
+ background-color: #fee2e2;
151
+ color: #ef4444;
152
+ }
153
+
154
+ .wx-fileupload-hint {
155
+ font-size: 12px;
156
+ color: #6b7280;
157
+ margin-top: 4px;
158
+ }
159
+
160
+ .wx-fileupload-error-text {
161
+ font-size: 12px;
162
+ color: #ef4444;
163
+ margin-top: 4px;
164
+ }
@@ -0,0 +1,115 @@
1
+ .wx-html-content {
2
+ font-size: 14px;
3
+ line-height: 1.6;
4
+ color: #333;
5
+ }
6
+
7
+ .wx-html-content h1 {
8
+ font-size: 24px;
9
+ font-weight: 600;
10
+ margin: 16px 0 12px;
11
+ }
12
+
13
+ .wx-html-content h2 {
14
+ font-size: 20px;
15
+ font-weight: 600;
16
+ margin: 14px 0 10px;
17
+ }
18
+
19
+ .wx-html-content h3 {
20
+ font-size: 18px;
21
+ font-weight: 600;
22
+ margin: 12px 0 8px;
23
+ }
24
+
25
+ .wx-html-content p {
26
+ margin: 8px 0;
27
+ }
28
+
29
+ .wx-html-content ul,
30
+ .wx-html-content ol {
31
+ margin: 8px 0;
32
+ padding-left: 24px;
33
+ }
34
+
35
+ .wx-html-content li {
36
+ margin: 4px 0;
37
+ }
38
+
39
+ .wx-html-content a {
40
+ color: var(--wx-color-primary);
41
+ text-decoration: underline;
42
+ }
43
+
44
+ .wx-html-content a:hover {
45
+ text-decoration: none;
46
+ }
47
+
48
+ .wx-html-content strong,
49
+ .wx-html-content b {
50
+ font-weight: 600;
51
+ }
52
+
53
+ .wx-html-content em,
54
+ .wx-html-content i {
55
+ font-style: italic;
56
+ }
57
+
58
+ .wx-html-content code {
59
+ background-color: #f3f4f6;
60
+ padding: 2px 6px;
61
+ border-radius: 4px;
62
+ font-family: monospace;
63
+ font-size: 13px;
64
+ }
65
+
66
+ .wx-html-content pre {
67
+ background-color: #f3f4f6;
68
+ padding: 12px;
69
+ border-radius: 6px;
70
+ overflow-x: auto;
71
+ margin: 12px 0;
72
+ }
73
+
74
+ .wx-html-content pre code {
75
+ background-color: transparent;
76
+ padding: 0;
77
+ }
78
+
79
+ .wx-html-content blockquote {
80
+ border-left: 4px solid var(--wx-color-primary);
81
+ padding-left: 16px;
82
+ margin: 12px 0;
83
+ color: #6b7280;
84
+ }
85
+
86
+ .wx-html-content img {
87
+ max-width: 100%;
88
+ height: auto;
89
+ border-radius: 6px;
90
+ margin: 12px 0;
91
+ }
92
+
93
+ .wx-html-content table {
94
+ width: 100%;
95
+ border-collapse: collapse;
96
+ margin: 12px 0;
97
+ }
98
+
99
+ .wx-html-content table th,
100
+ .wx-html-content table td {
101
+ border: 1px solid #e5e7eb;
102
+ padding: 8px 12px;
103
+ text-align: left;
104
+ }
105
+
106
+ .wx-html-content table th {
107
+ background-color: #f9fafb;
108
+ font-weight: 600;
109
+ }
110
+
111
+ .wx-html-content hr {
112
+ border: none;
113
+ border-top: 1px solid #e5e7eb;
114
+ margin: 16px 0;
115
+ }
@@ -0,0 +1,133 @@
1
+ .wx-htmleditor-wrapper {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 8px;
5
+ }
6
+
7
+ .wx-htmleditor-label {
8
+ font-size: 14px;
9
+ font-weight: 500;
10
+ color: #333;
11
+ margin-bottom: 4px;
12
+ }
13
+
14
+ .wx-htmleditor-container {
15
+ border: 1px solid #d1d5db;
16
+ border-radius: 8px;
17
+ overflow: hidden;
18
+ background-color: #fff;
19
+ transition: all 0.2s ease;
20
+ }
21
+
22
+ .wx-htmleditor-container-focused {
23
+ border-color: var(--wx-color-primary);
24
+ box-shadow: 0 0 0 3px rgba(241, 153, 36, 0.1);
25
+ }
26
+
27
+ .wx-htmleditor-container-error {
28
+ border-color: #ef4444;
29
+ }
30
+
31
+ .wx-htmleditor-container-disabled {
32
+ background-color: #f5f5f5;
33
+ opacity: 0.6;
34
+ cursor: not-allowed;
35
+ }
36
+
37
+ .wx-htmleditor-toolbar {
38
+ display: flex;
39
+ align-items: center;
40
+ gap: 4px;
41
+ padding: 8px;
42
+ background-color: #f9fafb;
43
+ border-bottom: 1px solid #e5e7eb;
44
+ flex-wrap: wrap;
45
+ }
46
+
47
+ .wx-htmleditor-toolbar-btn {
48
+ padding: 6px 10px;
49
+ border: 1px solid #e5e7eb;
50
+ background-color: #fff;
51
+ border-radius: 4px;
52
+ font-size: 13px;
53
+ color: #333;
54
+ cursor: pointer;
55
+ transition: all 0.2s ease;
56
+ min-width: 32px;
57
+ height: 32px;
58
+ display: flex;
59
+ align-items: center;
60
+ justify-content: center;
61
+ }
62
+
63
+ .wx-htmleditor-toolbar-btn:hover:not(:disabled) {
64
+ background-color: #f3f4f6;
65
+ border-color: var(--wx-color-primary);
66
+ }
67
+
68
+ .wx-htmleditor-toolbar-btn:active:not(:disabled) {
69
+ background-color: #e5e7eb;
70
+ }
71
+
72
+ .wx-htmleditor-toolbar-btn:disabled {
73
+ cursor: not-allowed;
74
+ opacity: 0.5;
75
+ }
76
+
77
+ .wx-htmleditor-content {
78
+ padding: 12px;
79
+ outline: none;
80
+ font-size: 14px;
81
+ line-height: 1.6;
82
+ color: #333;
83
+ overflow-y: auto;
84
+ }
85
+
86
+ .wx-htmleditor-content:empty:before {
87
+ content: attr(data-placeholder);
88
+ color: #9ca3af;
89
+ pointer-events: none;
90
+ }
91
+
92
+ .wx-htmleditor-content h1 {
93
+ font-size: 24px;
94
+ font-weight: 600;
95
+ margin: 12px 0;
96
+ }
97
+
98
+ .wx-htmleditor-content h2 {
99
+ font-size: 20px;
100
+ font-weight: 600;
101
+ margin: 10px 0;
102
+ }
103
+
104
+ .wx-htmleditor-content ul,
105
+ .wx-htmleditor-content ol {
106
+ margin: 8px 0;
107
+ padding-left: 24px;
108
+ }
109
+
110
+ .wx-htmleditor-content li {
111
+ margin: 4px 0;
112
+ }
113
+
114
+ .wx-htmleditor-content a {
115
+ color: var(--wx-color-primary);
116
+ text-decoration: underline;
117
+ }
118
+
119
+ .wx-htmleditor-content p {
120
+ margin: 8px 0;
121
+ }
122
+
123
+ .wx-htmleditor-hint {
124
+ font-size: 12px;
125
+ color: #6b7280;
126
+ margin-top: 4px;
127
+ }
128
+
129
+ .wx-htmleditor-error-text {
130
+ font-size: 12px;
131
+ color: #ef4444;
132
+ margin-top: 4px;
133
+ }
@@ -0,0 +1,33 @@
1
+ .wx-input-wrapper {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 4px;
5
+ }
6
+
7
+ .wx-input-container{position:relative;display:flex;align-items:center}
8
+
9
+ .wx-input {
10
+ padding: 10px;
11
+ border: 1px solid #ccc;
12
+ border-radius: 6px;
13
+ height: 40px;
14
+ box-sizing: border-box;
15
+ font-size: 14px;
16
+ flex:1;
17
+ }
18
+
19
+ .wx-input-icon{position:absolute;right:10px;background:none;border:none;cursor:pointer;font-size:18px;padding:4px}
20
+
21
+ .wx-input-error {
22
+ border-color: red;
23
+ }
24
+
25
+ .wx-input-hint {
26
+ font-size: 12px;
27
+ color: #6b7280;
28
+ }
29
+
30
+ .wx-input-error-text {
31
+ font-size: 12px;
32
+ color: red;
33
+ }
@@ -0,0 +1,30 @@
1
+ .wx-link-wrapper {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ gap: 8px;
5
+ }
6
+
7
+ .wx-link {
8
+ color: var(--wx-color-primary);
9
+ text-decoration: none;
10
+ font-size: 14px;
11
+ cursor: pointer;
12
+ transition: all 0.2s ease;
13
+ }
14
+
15
+ .wx-link:hover {
16
+ text-decoration: underline;
17
+ opacity: 0.8;
18
+ }
19
+
20
+ .wx-link-disabled {
21
+ color: #9ca3af;
22
+ cursor: not-allowed;
23
+ pointer-events: none;
24
+ }
25
+
26
+ .wx-link-prepend,
27
+ .wx-link-append {
28
+ font-size: 14px;
29
+ color: #6b7280;
30
+ }
@@ -0,0 +1 @@
1
+ .wx-radio-wrapper{display:flex;gap:8px;align-items:center}.wx-radio{width:16px;height:16px}
@@ -0,0 +1,31 @@
1
+ .wx-select-wrapper {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 4px;
5
+ position:relative;
6
+ }
7
+
8
+ .wx-select {
9
+ padding: 10px;
10
+ border: 1px solid #ccc;
11
+ border-radius: 6px;
12
+ height: 40px;
13
+ box-sizing: border-box;
14
+ font-size: 14px;
15
+ }
16
+
17
+ .wx-select-multi{padding:10px;border:1px solid #ccc;border-radius:6px;height:40px;box-sizing:border-box;font-size:14px;background:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
18
+ .wx-select-multi:hover{border-color:#999}
19
+
20
+ .wx-select-arrow{font-size:10px;color:#666}
21
+
22
+ .wx-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #ccc;border-radius:6px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 6px rgba(0,0,0,0.1)}
23
+
24
+ .wx-select-option{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:14px}
25
+ .wx-select-option:hover{background:var(--wx-color-bg-subtle,#f5f5f5)}
26
+
27
+ .wx-select-all-option{background:var(--wx-color-primary,#f19924);color:#fff;font-weight:500}
28
+ .wx-select-all-option:hover{background:var(--wx-color-primary-hover,#e08916)}
29
+
30
+ .wx-select-option input[type="checkbox"]{cursor:pointer}
31
+ .wx-select-option span{flex:1}
@@ -0,0 +1,10 @@
1
+ .wx-slider-container{display:flex;flex-direction:column;gap:8px}
2
+ .wx-slider-label{font-size:14px;font-weight:500;color:var(--wx-color-text,#333)}
3
+ .wx-slider-wrapper{display:flex;align-items:center;gap:12px}
4
+ .wx-slider{flex:1;height:6px;border-radius:3px;background:var(--wx-color-border,#ddd);outline:none;-webkit-appearance:none;appearance:none}
5
+ .wx-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--wx-color-primary,#f19924);cursor:pointer;transition:transform 0.15s ease}
6
+ .wx-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}
7
+ .wx-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--wx-color-primary,#f19924);cursor:pointer;border:none;transition:transform 0.15s ease}
8
+ .wx-slider::-moz-range-thumb:hover{transform:scale(1.1)}
9
+ .wx-slider-value{min-width:60px;text-align:right;font-weight:600;color:var(--wx-color-primary,#f19924)}
10
+ .wx-slider-hint{font-size:12px;color:var(--wx-color-text-muted,#666)}
@@ -0,0 +1 @@
1
+ .wx-spinner{border:3px solid #e5e7eb;border-top-color:var(--wx-color-primary);border-radius:50%;animation:wx-spin 1s linear infinite}@keyframes wx-spin{to{transform:rotate(360deg)}}
@@ -0,0 +1 @@
1
+ .wx-switch-wrapper{display:inline-flex;align-items:center;gap:8px}.wx-switch{display:none}.wx-switch-slider{width:36px;height:20px;background:#d1d5db;border-radius:999px;position:relative}.wx-switch-slider:after{content:'';width:16px;height:16px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s}.wx-switch:checked+.wx-switch-slider{background:var(--wx-color-primary)}.wx-switch:checked+.wx-switch-slider:after{transform:translateX(16px)}
@@ -0,0 +1 @@
1
+ .wx-textarea-wrapper{display:flex;flex-direction:column;gap:4px}.wx-textarea{padding:10px;border:1px solid #ccc;border-radius:6px;resize:vertical}.wx-textarea-error{border-color:red}.wx-textarea-error-text{font-size:12px;color:red}
@@ -0,0 +1,68 @@
1
+ .wx-timepicker-wrapper {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 4px;
5
+ }
6
+
7
+ .wx-timepicker-label {
8
+ font-size: 14px;
9
+ font-weight: 500;
10
+ }
11
+
12
+ .wx-timepicker-input-wrapper {
13
+ position: relative;
14
+ display: inline-block;
15
+ width: 100%;
16
+ }
17
+
18
+ .wx-timepicker-react-wrapper {
19
+ display: block;
20
+ width: 100%;
21
+ }
22
+
23
+ .wx-timepicker-input {
24
+ width: 100%;
25
+ padding: 10px 36px 10px 10px;
26
+ border: 1px solid #ccc;
27
+ border-radius: 6px;
28
+ outline: none;
29
+ height: 40px;
30
+ box-sizing: border-box;
31
+ font-size: 14px;
32
+ }
33
+
34
+ .wx-timepicker-icon {
35
+ position: absolute;
36
+ right: 10px;
37
+ top: 50%;
38
+ transform: translateY(-50%);
39
+ width: 18px;
40
+ height: 18px;
41
+ color: #6b7280;
42
+ pointer-events: none;
43
+ z-index: 1;
44
+ }
45
+
46
+ .wx-timepicker-input:focus {
47
+ border-color: var(--wx-color-primary, #f19924);
48
+ }
49
+
50
+ .wx-timepicker-input:disabled {
51
+ opacity: 0.6;
52
+ cursor: not-allowed;
53
+ }
54
+
55
+ .wx-timepicker-input-error {
56
+ border-color: var(--wx-color-error, #dc2626);
57
+ }
58
+
59
+ .wx-timepicker-hint {
60
+ font-size: 12px;
61
+ color: #6b7280;
62
+ }
63
+
64
+ .wx-timepicker-error-text {
65
+ font-size: 12px;
66
+ color: #dc2626;
67
+ }
68
+