react-ui-suite 0.1.0 → 1.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,227 @@
1
+ .rui-radio {
2
+ --rui-radio-accent-border: rgb(148 163 184 / 1);
3
+ --rui-radio-accent-dot: rgb(15 23 42 / 1);
4
+ --rui-radio-accent-focus: #94a3b8;
5
+ --rui-radio-checked-bg: rgb(241 245 249 / 1);
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: space-between;
9
+ gap: 0.75rem;
10
+ border-radius: 1rem;
11
+ border: 1px solid transparent;
12
+ padding: 0.5rem 0.75rem;
13
+ text-align: left;
14
+ transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1),
15
+ background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
16
+ border-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
17
+ text-decoration-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
18
+ fill 150ms cubic-bezier(0.4, 0, 0.2, 1),
19
+ stroke 150ms cubic-bezier(0.4, 0, 0.2, 1),
20
+ opacity 150ms cubic-bezier(0.4, 0, 0.2, 1),
21
+ box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1),
22
+ transform 150ms cubic-bezier(0.4, 0, 0.2, 1),
23
+ filter 150ms cubic-bezier(0.4, 0, 0.2, 1),
24
+ backdrop-filter 150ms cubic-bezier(0.4, 0, 0.2, 1);
25
+ }
26
+
27
+ .rui-radio:hover {
28
+ background-color: rgb(248 250 252 / 1);
29
+ }
30
+
31
+ .rui-radio:focus-within {
32
+ background-color: rgb(248 250 252 / 1);
33
+ }
34
+
35
+ .rui-radio:is([data-theme="dark"] *) {
36
+ --rui-radio-accent-border: rgb(161 161 170 / 1);
37
+ --rui-radio-accent-dot: rgb(244 244 245 / 1);
38
+ --rui-radio-accent-focus: rgb(100 116 139 / 1);
39
+ --rui-radio-checked-bg: rgb(24 24 27 / 1);
40
+ }
41
+
42
+ .rui-radio:hover:is([data-theme="dark"] *),
43
+ .rui-radio:focus-within:is([data-theme="dark"] *) {
44
+ background-color: rgb(24 24 27 / 0.6);
45
+ }
46
+
47
+ .rui-radio--color-blue {
48
+ --rui-radio-accent-border: rgb(59 130 246 / 1);
49
+ --rui-radio-accent-dot: rgb(59 130 246 / 1);
50
+ --rui-radio-accent-focus: rgb(59 130 246 / 1);
51
+ }
52
+
53
+ .rui-radio--color-green {
54
+ --rui-radio-accent-border: rgb(34 197 94 / 1);
55
+ --rui-radio-accent-dot: rgb(34 197 94 / 1);
56
+ --rui-radio-accent-focus: rgb(34 197 94 / 1);
57
+ }
58
+
59
+ .rui-radio--color-red {
60
+ --rui-radio-accent-border: rgb(239 68 68 / 1);
61
+ --rui-radio-accent-dot: rgb(239 68 68 / 1);
62
+ --rui-radio-accent-focus: rgb(239 68 68 / 1);
63
+ }
64
+
65
+ .rui-radio--color-blue:is([data-theme="dark"] *) {
66
+ --rui-radio-accent-border: rgb(147 197 253 / 1);
67
+ --rui-radio-accent-dot: rgb(147 197 253 / 1);
68
+ --rui-radio-accent-focus: rgb(147 197 253 / 1);
69
+ }
70
+
71
+ .rui-radio--color-green:is([data-theme="dark"] *) {
72
+ --rui-radio-accent-border: rgb(134 239 172 / 1);
73
+ --rui-radio-accent-dot: rgb(134 239 172 / 1);
74
+ --rui-radio-accent-focus: rgb(134 239 172 / 1);
75
+ }
76
+
77
+ .rui-radio--color-red:is([data-theme="dark"] *) {
78
+ --rui-radio-accent-border: rgb(252 165 165 / 1);
79
+ --rui-radio-accent-dot: rgb(252 165 165 / 1);
80
+ --rui-radio-accent-focus: rgb(252 165 165 / 1);
81
+ }
82
+
83
+
84
+ .rui-radio--disabled {
85
+ cursor: not-allowed;
86
+ opacity: 0.6;
87
+ }
88
+
89
+ .rui-radio__content {
90
+ display: flex;
91
+ flex: 1 1 0%;
92
+ min-width: 0;
93
+ align-items: center;
94
+ gap: 0.75rem;
95
+ }
96
+
97
+ .rui-radio__indicator {
98
+ display: flex;
99
+ align-items: center;
100
+ justify-content: center;
101
+ width: 1.5rem;
102
+ height: 1.5rem;
103
+ }
104
+
105
+ .rui-radio__input {
106
+ position: absolute;
107
+ width: 1px;
108
+ height: 1px;
109
+ padding: 0;
110
+ margin: -1px;
111
+ overflow: hidden;
112
+ clip: rect(0, 0, 0, 0);
113
+ white-space: nowrap;
114
+ border-width: 0;
115
+ }
116
+
117
+ .rui-radio__control {
118
+ position: relative;
119
+ display: grid;
120
+ width: 1.25rem;
121
+ height: 1.25rem;
122
+ place-items: center;
123
+ box-sizing: border-box;
124
+ border-radius: 9999px;
125
+ border: 1px solid rgb(203 213 225 / 1);
126
+ background-color: rgb(255 255 255 / 1);
127
+ color: rgb(71 85 105 / 1);
128
+ box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
129
+ transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1),
130
+ background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
131
+ border-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
132
+ text-decoration-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
133
+ fill 150ms cubic-bezier(0.4, 0, 0.2, 1),
134
+ stroke 150ms cubic-bezier(0.4, 0, 0.2, 1),
135
+ opacity 150ms cubic-bezier(0.4, 0, 0.2, 1),
136
+ box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1),
137
+ transform 150ms cubic-bezier(0.4, 0, 0.2, 1),
138
+ filter 150ms cubic-bezier(0.4, 0, 0.2, 1),
139
+ backdrop-filter 150ms cubic-bezier(0.4, 0, 0.2, 1);
140
+ }
141
+
142
+ .rui-radio__control:is([data-theme="dark"] *) {
143
+ border-color: rgb(82 82 91 / 1);
144
+ background-color: rgb(24 24 27 / 1);
145
+ color: rgb(228 228 231 / 1);
146
+ }
147
+
148
+ .rui-radio__input:checked + .rui-radio__control {
149
+ border-color: var(--rui-radio-accent-border);
150
+ background-color: var(--rui-radio-checked-bg);
151
+ }
152
+
153
+ .rui-radio__control::after {
154
+ content: "";
155
+ position: absolute;
156
+ top: 50%;
157
+ left: 50%;
158
+ width: 0.5rem;
159
+ height: 0.5rem;
160
+ border-radius: 9999px;
161
+ background-color: var(--rui-radio-accent-dot);
162
+ opacity: 0;
163
+ transform: translate(-50%, -50%) scale(0.6);
164
+ transition: opacity 150ms ease, transform 150ms ease;
165
+ }
166
+
167
+ .rui-radio__input:checked + .rui-radio__control::after {
168
+ opacity: 1;
169
+ transform: translate(-50%, -50%) scale(1);
170
+ }
171
+
172
+ .rui-radio__input:focus-visible + .rui-radio__control {
173
+ outline: 2px solid var(--rui-radio-accent-focus);
174
+ outline-offset: 2px;
175
+ }
176
+
177
+ .rui-radio:not(.rui-radio--disabled):hover .rui-radio__control {
178
+ border-color: var(--rui-radio-accent-border);
179
+ }
180
+
181
+ .rui-radio__meta {
182
+ display: flex;
183
+ flex: 1 1 0%;
184
+ min-width: 0;
185
+ flex-direction: column;
186
+ }
187
+
188
+ .radio-demo__density-card .rui-radio__meta {
189
+ align-items: center;
190
+ text-align: center;
191
+ }
192
+
193
+ .rui-radio__label {
194
+ font-size: 0.875rem;
195
+ line-height: 1.25rem;
196
+ font-weight: 600;
197
+ color: rgb(15 23 42 / 1);
198
+ }
199
+
200
+ .rui-radio__label:is([data-theme="dark"] *) {
201
+ color: rgb(244 244 245 / 1);
202
+ }
203
+
204
+ .rui-radio__description {
205
+ font-size: 0.75rem;
206
+ line-height: 1rem;
207
+ color: rgb(100 116 139 / 1);
208
+ }
209
+
210
+ .rui-radio__description:is([data-theme="dark"] *) {
211
+ color: rgb(161 161 170 / 1);
212
+ }
213
+
214
+ .rui-radio__extra {
215
+ align-self: center;
216
+ display: flex;
217
+ align-items: center;
218
+ gap: 0.5rem;
219
+ font-size: 0.75rem;
220
+ line-height: 1rem;
221
+ font-weight: 600;
222
+ color: rgb(71 85 105 / 1);
223
+ }
224
+
225
+ .rui-radio__extra:is([data-theme="dark"] *) {
226
+ color: rgb(228 228 231 / 1);
227
+ }
@@ -0,0 +1,165 @@
1
+ .rui-resizable {
2
+ --rui-resize-radius: 1rem;
3
+ --rui-resize-border: 1px solid var(--rui-color-border);
4
+ --rui-resize-bg: var(--rui-color-surface);
5
+ --rui-resize-shadow: var(--rui-shadow-button);
6
+ --rui-resize-handle-size: 1.5rem;
7
+ --rui-resize-handle-bg: transparent;
8
+ --rui-resize-handle-fg: var(--rui-color-text-muted);
9
+ --rui-resize-handle-inset: 0.5rem;
10
+ --rui-resize-handle-scrollbar-offset: 0.75rem;
11
+ --rui-resize-content-padding: 0.75rem;
12
+ position: relative;
13
+ box-sizing: border-box;
14
+ width: 100%;
15
+ max-width: 100%;
16
+ min-width: 0;
17
+ border-radius: var(--rui-resize-radius);
18
+ border: var(--rui-resize-border);
19
+ background: var(--rui-resize-bg);
20
+ box-shadow: var(--rui-resize-shadow);
21
+ transition:
22
+ border-color 150ms ease,
23
+ background-color 150ms ease,
24
+ box-shadow 150ms ease;
25
+ }
26
+
27
+ .rui-resizable[data-resizing="true"] {
28
+ border-color: var(--rui-color-border-strong);
29
+ }
30
+
31
+ .rui-resizable__content {
32
+ box-sizing: border-box;
33
+ width: 100%;
34
+ height: 100%;
35
+ min-width: 0;
36
+ min-height: 0;
37
+ overflow: auto;
38
+ padding: var(--rui-resize-content-padding);
39
+ color: var(--rui-color-text-strong);
40
+ scrollbar-width: none;
41
+ }
42
+
43
+ .rui-resizable__content::-webkit-scrollbar {
44
+ width: 0;
45
+ height: 0;
46
+ }
47
+
48
+ .rui-resizable__scrollbar {
49
+ position: absolute;
50
+ z-index: 10;
51
+ border-radius: 9999px;
52
+ background-color: rgb(255 255 255 / 0.8);
53
+ box-shadow: inset 0 2px 4px rgb(0 0 0 / 0.05);
54
+ pointer-events: auto;
55
+ }
56
+
57
+ .rui-resizable__scrollbar-track {
58
+ position: relative;
59
+ width: 100%;
60
+ height: 100%;
61
+ border-radius: 9999px;
62
+ background-color: rgb(15 23 42 / 0.05);
63
+ box-shadow: inset 0 2px 4px rgb(0 0 0 / 0.05);
64
+ }
65
+
66
+ .rui-resizable__scrollbar-thumb {
67
+ position: absolute;
68
+ border-radius: 9999px;
69
+ background-color: rgb(148 163 184 / 0.8);
70
+ box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);
71
+ transition: background-color 150ms ease;
72
+ }
73
+
74
+ .rui-resizable__scrollbar--vertical .rui-resizable__scrollbar-thumb {
75
+ left: 50%;
76
+ transform: translateX(-50%);
77
+ width: 100%;
78
+ }
79
+
80
+ .rui-resizable__scrollbar--horizontal .rui-resizable__scrollbar-thumb {
81
+ top: 50%;
82
+ transform: translateY(-50%);
83
+ height: 100%;
84
+ }
85
+
86
+ .rui-resizable:not([data-resizing="true"]) .rui-resizable__scrollbar-thumb:hover {
87
+ background-color: rgb(100 116 139 / 0.8);
88
+ }
89
+
90
+ .rui-resizable[data-resizing="true"] .rui-resizable__scrollbar-thumb {
91
+ background-color: rgb(100 116 139 / 0.9);
92
+ }
93
+
94
+ .rui-resizable__handle {
95
+ position: absolute;
96
+ right: var(--rui-resize-handle-inset);
97
+ bottom: var(--rui-resize-handle-inset);
98
+ display: inline-flex;
99
+ align-items: center;
100
+ justify-content: center;
101
+ width: var(--rui-resize-handle-size);
102
+ height: var(--rui-resize-handle-size);
103
+ border: var(--rui-resize-border);
104
+ border-radius: 0.35rem;
105
+ background: var(--rui-resize-handle-bg);
106
+ color: var(--rui-resize-handle-fg);
107
+ cursor: nwse-resize;
108
+ touch-action: none;
109
+ user-select: none;
110
+ transition:
111
+ background-color 150ms ease,
112
+ color 150ms ease,
113
+ box-shadow 150ms ease;
114
+ }
115
+
116
+ .rui-resizable[data-scrollbar-x="true"] .rui-resizable__handle {
117
+ bottom: calc(var(--rui-resize-handle-inset) + var(--rui-resize-handle-scrollbar-offset));
118
+ }
119
+
120
+ .rui-resizable[data-scrollbar-y="true"] .rui-resizable__handle {
121
+ right: calc(var(--rui-resize-handle-inset) + var(--rui-resize-handle-scrollbar-offset));
122
+ }
123
+
124
+ .rui-resizable[data-axis="x"] .rui-resizable__handle {
125
+ cursor: ew-resize;
126
+ }
127
+
128
+ .rui-resizable[data-axis="y"] .rui-resizable__handle {
129
+ cursor: ns-resize;
130
+ }
131
+
132
+ .rui-resizable__handle:hover {
133
+ color: var(--rui-color-text-strong);
134
+ }
135
+
136
+ .rui-resizable[data-resizing="true"] .rui-resizable__handle {
137
+ color: var(--rui-color-text-strong);
138
+ }
139
+
140
+ .rui-resizable__handle:focus-visible {
141
+ outline: none;
142
+ box-shadow: 0 0 0 2px var(--rui-color-focus-ring);
143
+ }
144
+
145
+ .rui-resizable__handle-icon {
146
+ width: 100%;
147
+ height: 100%;
148
+ display: block;
149
+ }
150
+
151
+ [data-theme="dark"] .rui-resizable__scrollbar {
152
+ background-color: rgb(24 24 27 / 0.7);
153
+ }
154
+
155
+ [data-theme="dark"] .rui-resizable__scrollbar-track {
156
+ background-color: rgb(255 255 255 / 0.1);
157
+ }
158
+
159
+ [data-theme="dark"] .rui-resizable__scrollbar-thumb {
160
+ background-color: rgb(113 113 122 / 0.7);
161
+ }
162
+
163
+ [data-theme="dark"] .rui-resizable__scrollbar-thumb:hover {
164
+ background-color: rgb(148 163 184 / 0.6);
165
+ }
@@ -0,0 +1,216 @@
1
+ .rui-select {
2
+ }
3
+
4
+ .rui-select > :not([hidden]) ~ :not([hidden]) {
5
+ margin-top: 0.375rem;
6
+ margin-bottom: 0;
7
+ }
8
+
9
+ .rui-select__label {
10
+ font-size: 0.75rem;
11
+ line-height: 1rem;
12
+ font-weight: 600;
13
+ text-transform: uppercase;
14
+ letter-spacing: 0.2em;
15
+ color: rgb(100 116 139 / 1);
16
+ }
17
+
18
+ .rui-select__label:is([data-theme="dark"] *) {
19
+ color: rgb(161 161 170 / 1);
20
+ }
21
+
22
+ .rui-select__dropdown {
23
+ width: 100%;
24
+ }
25
+
26
+ .rui-select__dropdown--error {
27
+ border-color: rgb(253 164 175 / 1);
28
+ }
29
+
30
+ .rui-select__dropdown--error:focus-within {
31
+ border-color: rgb(251 113 133 / 1);
32
+ box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.35);
33
+ }
34
+
35
+ .rui-select__dropdown--error:is([data-theme="dark"] *) {
36
+ border-color: rgb(244 63 94 / 0.6);
37
+ }
38
+
39
+ .rui-select__dropdown--error:focus-within:is([data-theme="dark"] *) {
40
+ border-color: rgb(251 113 133 / 1);
41
+ }
42
+
43
+ .rui-select__highlightBorder {
44
+ border-color: #94a3b8;
45
+ }
46
+
47
+ .rui-select__highlightBorder:is([data-theme="dark"] *) {
48
+ border-color: #64748b;
49
+ }
50
+
51
+ .rui-select__input {
52
+ font-weight: 600;
53
+ }
54
+
55
+ .rui-select__list {
56
+ margin: 0;
57
+ padding: 0rem 1rem 0rem 0.25rem;
58
+ list-style: none;
59
+ max-height: 16rem;
60
+ overflow: auto;
61
+ scrollbar-width: none;
62
+ }
63
+
64
+ .rui-select__list::-webkit-scrollbar {
65
+ width: 0;
66
+ height: 0;
67
+ }
68
+
69
+ .rui-select__option {
70
+ margin: 0;
71
+ padding: 0;
72
+ list-style: none;
73
+ }
74
+
75
+ .rui-select__option-button {
76
+ display: flex;
77
+ align-items: center;
78
+ gap: 0.75rem;
79
+ width: 100%;
80
+ border: none;
81
+ border-radius: 0.75rem;
82
+ background: transparent;
83
+ box-shadow: none;
84
+ padding: 0.5rem 0.75rem;
85
+ font: inherit;
86
+ font-size: 0.875rem;
87
+ line-height: 1.25rem;
88
+ font-weight: 500;
89
+ text-align: left;
90
+ color: rgb(51 65 85 / 1);
91
+ appearance: none;
92
+ cursor: pointer;
93
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
94
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
95
+ transition-duration: 150ms;
96
+ }
97
+
98
+ .rui-select__option-button:is([data-theme="dark"] *) {
99
+ color: rgb(228 228 231 / 1);
100
+ }
101
+
102
+ .rui-select__option-button:focus-visible {
103
+ outline: none;
104
+ box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.6);
105
+ }
106
+
107
+ .rui-select__option-button:not(:disabled):not(.rui-select__option-button--selected):hover {
108
+ background-color: rgb(241 245 249 / 1);
109
+ }
110
+
111
+ .rui-select__option-button:not(:disabled):not(.rui-select__option-button--selected):hover:is([data-theme="dark"] *) {
112
+ background-color: rgb(39 39 42 / 0.7);
113
+ }
114
+
115
+ .rui-select__option-button:disabled {
116
+ cursor: not-allowed;
117
+ opacity: 0.5;
118
+ }
119
+
120
+ .rui-select__option-button--active {
121
+ background-color: rgb(241 245 249 / 1);
122
+ color: rgb(15 23 42 / 1);
123
+ }
124
+
125
+ .rui-select__option-button--active:is([data-theme="dark"] *) {
126
+ background-color: rgb(39 39 42 / 0.7);
127
+ color: rgb(244 244 245 / 1);
128
+ }
129
+
130
+ .rui-select__option-button--selected {
131
+ font-weight: 600;
132
+ background-color: rgb(226 232 240 / 0.7);
133
+ }
134
+
135
+ .rui-select__option-button--selected:hover {
136
+ background-color: rgb(226 232 240 / 0.95);
137
+ }
138
+
139
+ .rui-select__option-button--selected:is([data-theme="dark"] *) {
140
+ background-color: rgb(24 24 27 / 0.9);
141
+ }
142
+
143
+ .rui-select__option-button--selected:hover:is([data-theme="dark"] *) {
144
+ background-color: rgb(39 39 42 / 0.9);
145
+ }
146
+
147
+ .rui-select__option-content {
148
+ flex: 1 1 0%;
149
+ min-width: 0;
150
+ text-align: left;
151
+ }
152
+
153
+ .rui-select__option-label {
154
+ display: block;
155
+ min-width: 0;
156
+ font-weight: inherit;
157
+ color: rgb(15 23 42 / 1);
158
+ }
159
+
160
+ .rui-select__option-label:is([data-theme="dark"] *) {
161
+ color: rgb(244 244 245 / 1);
162
+ }
163
+
164
+ .rui-select__option-description {
165
+ display: block;
166
+ min-width: 0;
167
+ font-size: 0.75rem;
168
+ line-height: 1rem;
169
+ font-weight: inherit;
170
+ color: rgb(100 116 139 / 1);
171
+ }
172
+
173
+ .rui-select__option-description:is([data-theme="dark"] *) {
174
+ color: rgb(161 161 170 / 1);
175
+ }
176
+
177
+ .rui-select__option-check,
178
+ .rui-select__option-check-placeholder {
179
+ margin-left: auto;
180
+ width: 0.875rem;
181
+ height: 0.875rem;
182
+ flex: 0 0 0.875rem;
183
+ }
184
+
185
+ .rui-select__option-check {
186
+ color: rgb(71 85 105 / 1);
187
+ }
188
+
189
+ .rui-select__option-check:is([data-theme="dark"] *) {
190
+ color: rgb(212 212 216 / 1);
191
+ }
192
+
193
+ .rui-select__option-check-placeholder {
194
+ display: inline-flex;
195
+ }
196
+
197
+ .rui-select__description {
198
+ font-size: 0.75rem;
199
+ line-height: 1rem;
200
+ color: rgb(100 116 139 / 1);
201
+ }
202
+
203
+ .rui-select__description:is([data-theme="dark"] *) {
204
+ color: rgb(161 161 170 / 1);
205
+ }
206
+
207
+ .rui-select__error {
208
+ font-size: 0.75rem;
209
+ line-height: 1rem;
210
+ font-weight: 500;
211
+ color: rgb(244 63 94 / 1);
212
+ }
213
+
214
+ .rui-select__error:is([data-theme="dark"] *) {
215
+ color: rgb(251 113 133 / 1);
216
+ }