@robert-stackflow/oneui 0.1.0 → 0.2.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.
- package/CHANGELOG.md +18 -0
- package/README.md +28 -1
- package/components/AppShell.module.css +3 -3
- package/components/AppearanceSettings.js +1 -1
- package/components/Button.d.ts +9 -2
- package/components/Button.js +30 -7
- package/components/Button.module.css +16 -7
- package/components/Card.d.ts +2 -1
- package/components/Card.js +13 -3
- package/components/Card.module.css +19 -0
- package/components/Checkbox.module.css +3 -3
- package/components/Combobox.d.ts +4 -2
- package/components/Combobox.js +162 -76
- package/components/Combobox.module.css +5 -7
- package/components/Control.module.css +18 -5
- package/components/Dialog.d.ts +6 -1
- package/components/Dialog.js +19 -6
- package/components/Dialog.module.css +17 -0
- package/components/DialogVariants.d.ts +27 -0
- package/components/DialogVariants.js +161 -0
- package/components/DialogVariants.module.css +29 -0
- package/components/HierarchyPicker.module.css +35 -0
- package/components/IconButton.module.css +5 -2
- package/components/Indicator.module.css +1 -1
- package/components/Input.d.ts +2 -1
- package/components/Input.js +12 -4
- package/components/Input.module.css +18 -1
- package/components/LoadingState.d.ts +3 -1
- package/components/LoadingState.js +26 -15
- package/components/LoadingState.module.css +3 -0
- package/components/MenuItem.d.ts +2 -1
- package/components/MenuItem.js +2 -0
- package/components/MenuItem.module.css +9 -0
- package/components/MultiSelect.d.ts +2 -1
- package/components/MultiSelect.js +66 -2
- package/components/MultiSelect.module.css +38 -0
- package/components/NumberInput.js +1 -0
- package/components/OptionList.module.css +12 -0
- package/components/PasswordField.js +1 -0
- package/components/PinInput.js +1 -0
- package/components/Popover.d.ts +4 -1
- package/components/Popover.js +11 -5
- package/components/Popover.module.css +3 -0
- package/components/RadioGroup.module.css +2 -2
- package/components/SearchField.js +1 -0
- package/components/Select.js +1 -0
- package/components/Select.module.css +3 -0
- package/components/SelectionTag.d.ts +8 -0
- package/components/SelectionTag.js +39 -0
- package/components/SettingsLayout.d.ts +3 -1
- package/components/SettingsLayout.js +19 -3
- package/components/SettingsLayout.module.css +20 -0
- package/components/Switch.module.css +8 -5
- package/components/Table.d.ts +6 -2
- package/components/Table.js +14 -4
- package/components/TagInput.js +11 -23
- package/components/TagInput.module.css +1 -1
- package/components/ThemeProvider.js +17 -3
- package/components/TreeGuides.d.ts +9 -0
- package/components/TreeGuides.js +39 -0
- package/components/TreeGuides.module.css +45 -0
- package/components/TreeSelect.d.ts +3 -0
- package/components/TreeSelect.js +49 -21
- package/components/TreeTable.d.ts +15 -0
- package/components/TreeTable.js +151 -0
- package/components/TreeTable.module.css +53 -0
- package/components/VirtualPickerList.module.css +4 -0
- package/components/appearance.d.ts +1 -0
- package/components/appearance.js +15 -6
- package/components/hierarchy.d.ts +1 -0
- package/components/index.d.ts +3 -1
- package/components/index.js +6 -0
- package/components/usePopover.d.ts +2 -2
- package/package.json +30 -3
- package/styles/base.css +20 -3
- package/styles/blue.css +49 -35
- package/styles/minimal.css +1 -1
package/styles/base.css
CHANGED
|
@@ -143,7 +143,11 @@
|
|
|
143
143
|
|
|
144
144
|
:where(:root[data-ui-theme] *) {
|
|
145
145
|
scrollbar-width: thin;
|
|
146
|
-
scrollbar-color:
|
|
146
|
+
scrollbar-color: var(
|
|
147
|
+
--scrollbar-thumb,
|
|
148
|
+
color-mix(in srgb, var(--muted) 35%, transparent)
|
|
149
|
+
)
|
|
150
|
+
transparent;
|
|
147
151
|
}
|
|
148
152
|
|
|
149
153
|
@supports selector(::-webkit-scrollbar) {
|
|
@@ -169,14 +173,20 @@
|
|
|
169
173
|
)::-webkit-scrollbar-thumb {
|
|
170
174
|
border: 2px solid transparent;
|
|
171
175
|
border-radius: 999px;
|
|
172
|
-
background:
|
|
176
|
+
background: var(
|
|
177
|
+
--scrollbar-thumb,
|
|
178
|
+
color-mix(in srgb, var(--muted) 42%, transparent)
|
|
179
|
+
);
|
|
173
180
|
background-clip: padding-box;
|
|
174
181
|
}
|
|
175
182
|
:where(
|
|
176
183
|
:root[data-ui-theme],
|
|
177
184
|
:root[data-ui-theme] *
|
|
178
185
|
)::-webkit-scrollbar-thumb:hover {
|
|
179
|
-
background-color:
|
|
186
|
+
background-color: var(
|
|
187
|
+
--scrollbar-hover,
|
|
188
|
+
color-mix(in srgb, var(--muted) 65%, transparent)
|
|
189
|
+
);
|
|
180
190
|
}
|
|
181
191
|
:where(
|
|
182
192
|
:root[data-ui-theme],
|
|
@@ -187,3 +197,10 @@
|
|
|
187
197
|
height: 0;
|
|
188
198
|
}
|
|
189
199
|
}
|
|
200
|
+
|
|
201
|
+
:root[data-ui-theme] {
|
|
202
|
+
--on-danger: #fff;
|
|
203
|
+
}
|
|
204
|
+
:root[data-ui-theme][data-theme="dark"] {
|
|
205
|
+
--on-danger: #141414;
|
|
206
|
+
}
|
package/styles/blue.css
CHANGED
|
@@ -1,19 +1,28 @@
|
|
|
1
1
|
:root[data-ui-theme="blue"] {
|
|
2
2
|
color-scheme: light;
|
|
3
|
-
--canvas: #
|
|
3
|
+
--canvas: #f5f7fb;
|
|
4
4
|
--surface: #fff;
|
|
5
5
|
--elevated: #fff;
|
|
6
|
-
--sidebar:
|
|
7
|
-
--input: #
|
|
8
|
-
--hover: #
|
|
9
|
-
--text: #
|
|
10
|
-
--muted: #
|
|
11
|
-
--placeholder:
|
|
12
|
-
--border: #
|
|
13
|
-
--border-strong:
|
|
14
|
-
--accent: #
|
|
15
|
-
--accent-hover: #
|
|
16
|
-
--accent-soft: #
|
|
6
|
+
--sidebar: var(--surface);
|
|
7
|
+
--input: #f9fafc;
|
|
8
|
+
--hover: #edf1f8;
|
|
9
|
+
--text: #25324a;
|
|
10
|
+
--muted: #8592a8;
|
|
11
|
+
--placeholder: color-mix(in srgb, var(--muted) 85%, transparent);
|
|
12
|
+
--border: #e3e8f1;
|
|
13
|
+
--border-strong: var(--border);
|
|
14
|
+
--accent: #5067b8;
|
|
15
|
+
--accent-hover: #4059aa;
|
|
16
|
+
--accent-soft: #ebeffb;
|
|
17
|
+
--accent-fill: #4059aa;
|
|
18
|
+
--accent-fill-hover: #354b91;
|
|
19
|
+
--on-accent-fill: #fff;
|
|
20
|
+
--switch-on: #526edb;
|
|
21
|
+
--switch-on-hover: #526edb;
|
|
22
|
+
--switch-thumb-on: #fff;
|
|
23
|
+
--navigation-active-color: var(--accent);
|
|
24
|
+
--scrollbar-thumb: #c1cada;
|
|
25
|
+
--scrollbar-hover: #97a7be;
|
|
17
26
|
--on-accent: #fff;
|
|
18
27
|
--success: #348769;
|
|
19
28
|
--success-soft: #edf7f1;
|
|
@@ -25,28 +34,31 @@
|
|
|
25
34
|
--radius-lg: 14px;
|
|
26
35
|
--control-height: 40px;
|
|
27
36
|
--space: 24px;
|
|
28
|
-
--shadow: 0
|
|
29
|
-
--shadow-lg: 0
|
|
37
|
+
--shadow: 0 12px 36px rgb(29 44 75 / 4.5%);
|
|
38
|
+
--shadow-lg: 0 12px 40px #17244315, 0 2px 8px #17244308;
|
|
30
39
|
--ease: cubic-bezier(0.2, 0.7, 0.2, 1);
|
|
31
40
|
--fast: 160ms var(--ease);
|
|
32
41
|
--sidebar-width: 228px;
|
|
33
42
|
}
|
|
34
43
|
:root[data-ui-theme="blue"][data-theme="dark"] {
|
|
35
44
|
color-scheme: dark;
|
|
36
|
-
--canvas: #
|
|
37
|
-
--surface: #
|
|
38
|
-
--elevated: #
|
|
39
|
-
--sidebar:
|
|
40
|
-
--input: #
|
|
41
|
-
--hover: #
|
|
42
|
-
--text: #
|
|
43
|
-
--muted: #
|
|
44
|
-
--
|
|
45
|
-
--border:
|
|
46
|
-
--
|
|
47
|
-
--accent: #
|
|
48
|
-
--accent-
|
|
49
|
-
--accent-
|
|
45
|
+
--canvas: #10151f;
|
|
46
|
+
--surface: #19212f;
|
|
47
|
+
--elevated: #202a3b;
|
|
48
|
+
--sidebar: var(--surface);
|
|
49
|
+
--input: #131c29;
|
|
50
|
+
--hover: #253147;
|
|
51
|
+
--text: #e1e8f4;
|
|
52
|
+
--muted: #95a4bd;
|
|
53
|
+
--border: #2c384d;
|
|
54
|
+
--border-strong: var(--border);
|
|
55
|
+
--accent: #afc1ff;
|
|
56
|
+
--accent-hover: #bdcbee;
|
|
57
|
+
--accent-soft: #263451;
|
|
58
|
+
--accent-fill: #2c3f78;
|
|
59
|
+
--accent-fill-hover: #25355f;
|
|
60
|
+
--scrollbar-thumb: #43516a;
|
|
61
|
+
--scrollbar-hover: #657794;
|
|
50
62
|
--on-accent: #192540;
|
|
51
63
|
--success: #87c7a8;
|
|
52
64
|
--success-soft: #1d362e;
|
|
@@ -54,8 +66,8 @@
|
|
|
54
66
|
--warning-soft: #383021;
|
|
55
67
|
--danger: #ee9ba6;
|
|
56
68
|
--danger-soft: #3e2632;
|
|
57
|
-
--shadow: 0
|
|
58
|
-
--shadow-lg: 0
|
|
69
|
+
--shadow: 0 8px 30px #03081214;
|
|
70
|
+
--shadow-lg: 0 14px 44px #050a1455, 0 2px 8px #050a1430;
|
|
59
71
|
}
|
|
60
72
|
:root[data-ui-theme="blue"][data-accent="neutral"] {
|
|
61
73
|
--accent: #343a46;
|
|
@@ -108,7 +120,7 @@
|
|
|
108
120
|
--selected: var(--accent-soft);
|
|
109
121
|
--navigation: var(--sidebar);
|
|
110
122
|
--disabled: var(--placeholder);
|
|
111
|
-
--control-border: var(--border
|
|
123
|
+
--control-border: var(--border);
|
|
112
124
|
--separator-width: 1px;
|
|
113
125
|
--separator-style: solid;
|
|
114
126
|
--separator-color: var(--border);
|
|
@@ -119,7 +131,7 @@
|
|
|
119
131
|
--menu-item-line-height: 20px;
|
|
120
132
|
--menu-item-padding-x: 11px;
|
|
121
133
|
--menu-item-gap: 10px;
|
|
122
|
-
--menu-item-spacing:
|
|
134
|
+
--menu-item-spacing: 1px;
|
|
123
135
|
--menu-item-icon-size: 16px;
|
|
124
136
|
--menu-item-font-size: 13px;
|
|
125
137
|
--menu-shortcut-font-size: 11px;
|
|
@@ -152,7 +164,7 @@
|
|
|
152
164
|
--shadow-edge: #0004;
|
|
153
165
|
--shadow-modal: #0008;
|
|
154
166
|
--overlay: #050a1466;
|
|
155
|
-
--control-border:
|
|
167
|
+
--control-border: var(--border);
|
|
156
168
|
}
|
|
157
169
|
:root[data-ui-theme="blue"][data-density="compact"] {
|
|
158
170
|
--control-small: 28px;
|
|
@@ -186,10 +198,12 @@
|
|
|
186
198
|
--field-radius: var(--radius);
|
|
187
199
|
--field-font-size: 13px;
|
|
188
200
|
--field-line-height: 1.4;
|
|
201
|
+
/* Keep the previous token valid for consumers with older composed styles. */
|
|
189
202
|
--field-hover-strength: 38%;
|
|
203
|
+
--field-hover-border: color-mix(in srgb, var(--accent) 35%, var(--border));
|
|
190
204
|
--field-focus-border: var(--accent);
|
|
191
205
|
--field-focus-width: 3px;
|
|
192
|
-
--field-focus-strength:
|
|
206
|
+
--field-focus-strength: 12%;
|
|
193
207
|
--field-disabled-opacity: 0.55;
|
|
194
208
|
--field-readonly: var(--canvas);
|
|
195
209
|
--field-gap: 8px;
|
|
@@ -198,7 +212,7 @@
|
|
|
198
212
|
--field-message-size: 12px;
|
|
199
213
|
--select-width: 168px;
|
|
200
214
|
--popup-background: var(--elevated);
|
|
201
|
-
--popup-border: var(--border
|
|
215
|
+
--popup-border: var(--border);
|
|
202
216
|
--popup-radius: calc(var(--radius) + 2px);
|
|
203
217
|
--popup-shadow: var(--shadow-lg);
|
|
204
218
|
--dialog-width: 520px;
|
package/styles/minimal.css
CHANGED