@globalbrain/sefirot 4.38.0 → 4.39.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/lib/components/SAvatar.vue +7 -2
- package/lib/components/SAvatarStack.vue +5 -4
- package/lib/components/SButton.vue +3 -1
- package/lib/components/SCard.vue +35 -64
- package/lib/components/SCardBlock.vue +5 -12
- package/lib/components/SCardClose.vue +20 -0
- package/lib/components/SCardFooter.vue +15 -0
- package/lib/components/SContent.vue +25 -13
- package/lib/components/SInputCheckbox.vue +1 -0
- package/lib/components/SInputDate.vue +3 -2
- package/lib/components/SInputDropdown.vue +2 -1
- package/lib/components/SInputFile.vue +5 -4
- package/lib/components/SInputFileUpload.vue +1 -1
- package/lib/components/SInputHMS.vue +2 -1
- package/lib/components/SInputRadio.vue +1 -0
- package/lib/components/SInputSelect.vue +2 -1
- package/lib/components/SInputText.vue +3 -2
- package/lib/components/SInputTextarea.vue +2 -1
- package/lib/components/SInputYMD.vue +2 -1
- package/lib/components/SModal.vue +60 -1
- package/lib/components/SPagination.vue +0 -4
- package/lib/components/STable.vue +5 -5
- package/lib/components/STableCell.vue +4 -4
- package/lib/components/STableColumn.vue +4 -4
- package/lib/components/STableFooter.vue +3 -3
- package/lib/components/STableHeader.vue +1 -1
- package/lib/components/STableItem.vue +2 -2
- package/lib/http/Http.ts +3 -40
- package/lib/styles/utilities.css +10 -0
- package/lib/styles/variables.css +115 -95
- package/lib/support/Http.ts +42 -0
- package/package.json +21 -20
|
@@ -132,20 +132,20 @@ const valueIsImagePath = computed(() => {
|
|
|
132
132
|
|
|
133
133
|
<style scoped lang="postcss">
|
|
134
134
|
.STableCell {
|
|
135
|
-
background-color: var(--c-bg-
|
|
135
|
+
background-color: var(--c-bg-1);
|
|
136
136
|
transition: background-color 0.1s;
|
|
137
137
|
overflow: hidden;
|
|
138
138
|
|
|
139
139
|
:where(.row:has(.input.on)) & {
|
|
140
|
-
background-color: var(--c-bg-
|
|
140
|
+
background-color: var(--c-bg-2);
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
.row:hover & {
|
|
144
|
-
background-color: var(--c-bg-
|
|
144
|
+
background-color: var(--c-bg-2);
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
.summary & {
|
|
148
|
-
background-color: var(--c-bg-
|
|
148
|
+
background-color: var(--c-bg-2);
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
.STableItem:first-child & {
|
|
@@ -168,10 +168,10 @@ function stopDialogPositionListener() {
|
|
|
168
168
|
|
|
169
169
|
<style scoped lang="postcss">
|
|
170
170
|
.STableColumn {
|
|
171
|
-
background-color: var(--c-bg-
|
|
171
|
+
background-color: var(--c-bg-1);
|
|
172
172
|
|
|
173
173
|
&.has-header {
|
|
174
|
-
border-top: 1px solid var(--c-
|
|
174
|
+
border-top: 1px solid var(--c-divider);
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
.STableItem:first-child & {
|
|
@@ -197,7 +197,7 @@ function stopDialogPositionListener() {
|
|
|
197
197
|
line-height: 40px;
|
|
198
198
|
text-align: left;
|
|
199
199
|
font-size: 12px;
|
|
200
|
-
font-weight:
|
|
200
|
+
font-weight: 500;
|
|
201
201
|
color: var(--c-text-2);
|
|
202
202
|
white-space: nowrap;
|
|
203
203
|
overflow: hidden;
|
|
@@ -228,7 +228,7 @@ function stopDialogPositionListener() {
|
|
|
228
228
|
|
|
229
229
|
&:hover {
|
|
230
230
|
color: var(--c-text-1);
|
|
231
|
-
background-color: var(--
|
|
231
|
+
background-color: var(--button-fill-default-hover-bg-color);
|
|
232
232
|
}
|
|
233
233
|
|
|
234
234
|
&.active {
|
|
@@ -63,11 +63,11 @@ const hasNext = computed(() => {
|
|
|
63
63
|
|
|
64
64
|
<style scoped lang="postcss">
|
|
65
65
|
.STableFooter {
|
|
66
|
-
border-top: 1px solid var(--c-
|
|
66
|
+
border-top: 1px solid var(--c-divider);
|
|
67
67
|
border-radius: 0 0 calc(var(--table-border-radius) - 1px) calc(var(--table-border-radius) - 1px);
|
|
68
68
|
padding-right: var(--table-padding-right);
|
|
69
69
|
padding-left: var(--table-padding-left);
|
|
70
|
-
background-color: var(--c-bg-
|
|
70
|
+
background-color: var(--c-bg-1);
|
|
71
71
|
|
|
72
72
|
&.borderless {
|
|
73
73
|
border-radius: 0;
|
|
@@ -117,7 +117,7 @@ const hasNext = computed(() => {
|
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
&.active:hover {
|
|
120
|
-
background-color: var(--c-bg-
|
|
120
|
+
background-color: var(--c-bg-1);
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
|
|
@@ -42,7 +42,7 @@ const stats = computed(() => {
|
|
|
42
42
|
border-radius: calc(var(--table-border-radius) - 1px) calc(var(--table-border-radius) - 1px) 0 0;
|
|
43
43
|
padding-right: var(--table-padding-right);
|
|
44
44
|
padding-left: var(--table-padding-left);
|
|
45
|
-
background-color: var(--c-bg-
|
|
45
|
+
background-color: var(--c-bg-1);
|
|
46
46
|
|
|
47
47
|
&.borderless {
|
|
48
48
|
border-radius: 0;
|
|
@@ -30,8 +30,8 @@ const classes = computed(() => [
|
|
|
30
30
|
z-index: var(--table-col-z-index, auto);
|
|
31
31
|
flex-shrink: 0;
|
|
32
32
|
flex-grow: 1;
|
|
33
|
-
border-left: var(--table-col-border-left, 0px) solid var(--c-
|
|
34
|
-
border-right: 1px solid var(--c-
|
|
33
|
+
border-left: var(--table-col-border-left, 0px) solid var(--c-divider);
|
|
34
|
+
border-right: 1px solid var(--c-divider);
|
|
35
35
|
margin-left: calc(var(--table-col-border-left, 0px) * -1);
|
|
36
36
|
min-width: var(--table-col-width);
|
|
37
37
|
max-width: var(--table-col-width);
|
package/lib/http/Http.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { parse as parseCookie } from '@tinyhttp/cookie'
|
|
|
3
3
|
import FileSaver from 'file-saver'
|
|
4
4
|
import { FetchError, type FetchOptions, type FetchResponse } from 'ofetch'
|
|
5
5
|
import { stringify } from 'qs'
|
|
6
|
+
import { objectToFormData } from '../support/Http'
|
|
6
7
|
|
|
7
8
|
type Config = ReturnType<typeof import('../stores/HttpConfig').useHttpConfig>
|
|
8
9
|
|
|
@@ -87,7 +88,7 @@ export class Http {
|
|
|
87
88
|
})
|
|
88
89
|
|
|
89
90
|
if (hasFile) {
|
|
90
|
-
const formData =
|
|
91
|
+
const formData = objectToFormData(body, undefined, undefined, true)
|
|
91
92
|
formData.append(this.config.payloadKey, payload)
|
|
92
93
|
body = formData
|
|
93
94
|
} else {
|
|
@@ -111,7 +112,7 @@ export class Http {
|
|
|
111
112
|
}
|
|
112
113
|
|
|
113
114
|
async upload<T = any>(url: string, body?: any, options?: FetchOptions): Promise<T> {
|
|
114
|
-
return this.post<T>(url,
|
|
115
|
+
return this.post<T>(url, objectToFormData(body), options)
|
|
115
116
|
}
|
|
116
117
|
|
|
117
118
|
async download(url: string, options?: FetchOptions): Promise<void> {
|
|
@@ -130,44 +131,6 @@ export class Http {
|
|
|
130
131
|
|
|
131
132
|
FileSaver.saveAs(blob, filename as string)
|
|
132
133
|
}
|
|
133
|
-
|
|
134
|
-
private objectToFormData(
|
|
135
|
-
obj: any,
|
|
136
|
-
form?: FormData,
|
|
137
|
-
namespace?: string,
|
|
138
|
-
onlyFiles = false
|
|
139
|
-
): FormData {
|
|
140
|
-
const fd = form || new FormData()
|
|
141
|
-
let formKey: string
|
|
142
|
-
|
|
143
|
-
Object.keys(obj).forEach((property) => {
|
|
144
|
-
if (namespace) {
|
|
145
|
-
formKey = `${namespace}[${property}]`
|
|
146
|
-
} else {
|
|
147
|
-
formKey = property
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
if (obj[property] === undefined) {
|
|
151
|
-
return
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
if (
|
|
155
|
-
typeof obj[property] === 'object'
|
|
156
|
-
&& !(obj[property] instanceof Blob)
|
|
157
|
-
&& obj[property] !== null
|
|
158
|
-
) {
|
|
159
|
-
this.objectToFormData(obj[property], fd, property, onlyFiles)
|
|
160
|
-
} else {
|
|
161
|
-
const value = obj[property] === null ? '' : obj[property]
|
|
162
|
-
if (onlyFiles && !(value instanceof Blob)) {
|
|
163
|
-
return
|
|
164
|
-
}
|
|
165
|
-
fd.append(formKey, value)
|
|
166
|
-
}
|
|
167
|
-
})
|
|
168
|
-
|
|
169
|
-
return fd
|
|
170
|
-
}
|
|
171
134
|
}
|
|
172
135
|
|
|
173
136
|
export function isFetchError(e: unknown): e is FetchError {
|
package/lib/styles/utilities.css
CHANGED
|
@@ -85,6 +85,7 @@
|
|
|
85
85
|
.s-py-8 { padding-top: 8px; padding-bottom: 8px; }
|
|
86
86
|
.s-py-12 { padding-top: 12px; padding-bottom: 12px; }
|
|
87
87
|
.s-py-16 { padding-top: 16px; padding-bottom: 16px; }
|
|
88
|
+
.s-py-20 { padding-top: 20px; padding-bottom: 20px; }
|
|
88
89
|
.s-py-24 { padding-top: 24px; padding-bottom: 24px; }
|
|
89
90
|
.s-py-32 { padding-top: 32px; padding-bottom: 32px; }
|
|
90
91
|
.s-py-48 { padding-top: 48px; padding-bottom: 48px; }
|
|
@@ -94,6 +95,7 @@
|
|
|
94
95
|
.s-px-8 { padding-right: 8px; padding-left: 8px; }
|
|
95
96
|
.s-px-12 { padding-right: 12px; padding-left: 12px; }
|
|
96
97
|
.s-px-16 { padding-right: 16px; padding-left: 16px; }
|
|
98
|
+
.s-px-20 { padding-right: 20px; padding-left: 20px; }
|
|
97
99
|
.s-px-24 { padding-right: 24px; padding-left: 24px; }
|
|
98
100
|
.s-px-32 { padding-right: 32px; padding-left: 32px; }
|
|
99
101
|
.s-px-48 { padding-right: 48px; padding-left: 48px; }
|
|
@@ -103,6 +105,7 @@
|
|
|
103
105
|
.s-pt-8 { padding-top: 8px; }
|
|
104
106
|
.s-pt-12 { padding-top: 12px; }
|
|
105
107
|
.s-pt-16 { padding-top: 16px; }
|
|
108
|
+
.s-pt-20 { padding-top: 20px; }
|
|
106
109
|
.s-pt-24 { padding-top: 24px; }
|
|
107
110
|
.s-pt-32 { padding-top: 32px; }
|
|
108
111
|
.s-pt-48 { padding-top: 48px; }
|
|
@@ -112,6 +115,7 @@
|
|
|
112
115
|
.s-pr-8 { padding-right: 8px; }
|
|
113
116
|
.s-pr-12 { padding-right: 12px; }
|
|
114
117
|
.s-pr-16 { padding-right: 16px; }
|
|
118
|
+
.s-pr-20 { padding-right: 20px; }
|
|
115
119
|
.s-pr-24 { padding-right: 24px; }
|
|
116
120
|
.s-pr-32 { padding-right: 32px; }
|
|
117
121
|
.s-pr-48 { padding-right: 48px; }
|
|
@@ -121,6 +125,7 @@
|
|
|
121
125
|
.s-pb-8 { padding-bottom: 8px; }
|
|
122
126
|
.s-pb-12 { padding-bottom: 12px; }
|
|
123
127
|
.s-pb-16 { padding-bottom: 16px; }
|
|
128
|
+
.s-pb-20 { padding-bottom: 20px; }
|
|
124
129
|
.s-pb-24 { padding-bottom: 24px; }
|
|
125
130
|
.s-pb-32 { padding-bottom: 32px; }
|
|
126
131
|
.s-pb-48 { padding-bottom: 48px; }
|
|
@@ -130,6 +135,7 @@
|
|
|
130
135
|
.s-pl-8 { padding-left: 8px; }
|
|
131
136
|
.s-pl-12 { padding-left: 12px; }
|
|
132
137
|
.s-pl-16 { padding-left: 16px; }
|
|
138
|
+
.s-pl-20 { padding-left: 20px; }
|
|
133
139
|
.s-pl-24 { padding-left: 24px; }
|
|
134
140
|
.s-pl-32 { padding-left: 32px; }
|
|
135
141
|
.s-pl-48 { padding-left: 48px; }
|
|
@@ -210,6 +216,10 @@
|
|
|
210
216
|
* Backgrounds
|
|
211
217
|
* -------------------------------------------------------------------------- */
|
|
212
218
|
|
|
219
|
+
.s-bg-1 { background-color: var(--c-bg-1); }
|
|
220
|
+
.s-bg-2 { background-color: var(--c-bg-2); }
|
|
221
|
+
.s-bg-3 { background-color: var(--c-bg-3); }
|
|
222
|
+
|
|
213
223
|
.s-bg-elv-1 { background-color: var(--c-bg-elv-1); }
|
|
214
224
|
.s-bg-elv-2 { background-color: var(--c-bg-elv-2); }
|
|
215
225
|
.s-bg-elv-3 { background-color: var(--c-bg-elv-3); }
|
package/lib/styles/variables.css
CHANGED
|
@@ -51,14 +51,14 @@
|
|
|
51
51
|
* -------------------------------------------------------------------------- */
|
|
52
52
|
|
|
53
53
|
:root {
|
|
54
|
-
--c-gray-1: #
|
|
55
|
-
--c-gray-2: #
|
|
56
|
-
--c-gray-3: #
|
|
57
|
-
--c-gray-4: #
|
|
58
|
-
--c-gray-5: #
|
|
59
|
-
--c-gray-6: #
|
|
60
|
-
--c-gray-7: #
|
|
61
|
-
--c-gray-8: #
|
|
54
|
+
--c-gray-1: #f9f9fb;
|
|
55
|
+
--c-gray-2: #f2f2f5;
|
|
56
|
+
--c-gray-3: #ebebef;
|
|
57
|
+
--c-gray-4: #e4e4e9;
|
|
58
|
+
--c-gray-5: #dddde3;
|
|
59
|
+
--c-gray-6: #d3d4db;
|
|
60
|
+
--c-gray-7: #b9bbc6;
|
|
61
|
+
--c-gray-8: #989ba6;
|
|
62
62
|
--c-gray-9: #8b8d98;
|
|
63
63
|
--c-gray-10: #7e808a;
|
|
64
64
|
--c-gray-11: #60646c;
|
|
@@ -151,17 +151,19 @@
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
/**
|
|
154
|
-
* Color: Divider and Gutter
|
|
154
|
+
* Color: Base Border, Divider, and Gutter
|
|
155
155
|
* -------------------------------------------------------------------------- */
|
|
156
156
|
|
|
157
157
|
:root {
|
|
158
|
-
--c-
|
|
159
|
-
--c-
|
|
158
|
+
--c-border: #dddddd;
|
|
159
|
+
--c-divider: #dddddd;
|
|
160
|
+
--c-gutter: #dddddd;
|
|
160
161
|
}
|
|
161
162
|
|
|
162
163
|
.dark {
|
|
163
|
-
--c-
|
|
164
|
-
--c-
|
|
164
|
+
--c-border: #262626;
|
|
165
|
+
--c-divider: #262626;
|
|
166
|
+
--c-gutter: #262626;
|
|
165
167
|
}
|
|
166
168
|
|
|
167
169
|
/**
|
|
@@ -230,8 +232,8 @@
|
|
|
230
232
|
|
|
231
233
|
:root {
|
|
232
234
|
--c-bg-1: var(--c-white);
|
|
233
|
-
--c-bg-2:
|
|
234
|
-
--c-bg-3:
|
|
235
|
+
--c-bg-2: oklch(0.98 0 0);
|
|
236
|
+
--c-bg-3: oklch(0.97 0 0);
|
|
235
237
|
|
|
236
238
|
--c-bg-elv-1: #ffffff;
|
|
237
239
|
--c-bg-elv-2: #f5f5f7;
|
|
@@ -268,9 +270,9 @@
|
|
|
268
270
|
}
|
|
269
271
|
|
|
270
272
|
.dark {
|
|
271
|
-
--c-bg-1:
|
|
272
|
-
--c-bg-2:
|
|
273
|
-
--c-bg-3:
|
|
273
|
+
--c-bg-1: oklch(0.145 0 0);
|
|
274
|
+
--c-bg-2: oklch(0.205 0 0);
|
|
275
|
+
--c-bg-3: oklch(0.269 0 0);
|
|
274
276
|
|
|
275
277
|
--c-bg-elv-1: #000000;
|
|
276
278
|
--c-bg-elv-2: #151517;
|
|
@@ -419,45 +421,45 @@
|
|
|
419
421
|
|
|
420
422
|
:root {
|
|
421
423
|
--button-mini-font-size: 12px;
|
|
422
|
-
--button-small-font-size:
|
|
424
|
+
--button-small-font-size: 14px;
|
|
423
425
|
--button-medium-font-size: 14px;
|
|
424
426
|
--button-large-font-size: 14px;
|
|
425
427
|
--button-jumbo-font-size: 16px;
|
|
426
428
|
|
|
427
|
-
--button-fill-default-border-color: var(--
|
|
429
|
+
--button-fill-default-border-color: var(--input-border-color);
|
|
428
430
|
--button-fill-default-text-color: var(--c-text-1);
|
|
429
431
|
--button-fill-default-content-color: var(--c-text-1);
|
|
430
|
-
--button-fill-default-bg-color: var(--c-bg-
|
|
432
|
+
--button-fill-default-bg-color: var(--c-bg-1);
|
|
431
433
|
--button-fill-default-count-bg-color: var(--c-gray-7);
|
|
432
434
|
--button-fill-default-loader-color: var(--c-neutral-1);
|
|
433
|
-
--button-fill-default-
|
|
435
|
+
--button-fill-default-box-shadow: var(--shadow-depth-1);
|
|
436
|
+
--button-fill-default-hover-border-color: var(--button-fill-default-border-color);
|
|
434
437
|
--button-fill-default-hover-text-color: var(--c-text-1);
|
|
435
|
-
--button-fill-default-hover-bg-color: var(--
|
|
436
|
-
--button-fill-default-active-border-color: var(--
|
|
438
|
+
--button-fill-default-hover-bg-color: color-mix(in oklab, var(--button-fill-default-border-color) 40%, transparent);
|
|
439
|
+
--button-fill-default-active-border-color: var(--button-fill-default-border-color);
|
|
437
440
|
--button-fill-default-active-text-color: var(--c-text-1);
|
|
438
|
-
--button-fill-default-active-bg-color: var(--
|
|
439
|
-
--button-fill-default-disabled-border-color: var(--
|
|
441
|
+
--button-fill-default-active-bg-color: color-mix(in oklab, var(--button-fill-default-border-color) 60%, transparent);
|
|
442
|
+
--button-fill-default-disabled-border-color: var(--input-border-color);
|
|
440
443
|
--button-fill-default-disabled-text-color: var(--c-text-3);
|
|
441
444
|
--button-fill-default-disabled-content-color: var(--c-text-3);
|
|
442
|
-
--button-fill-default-disabled-bg-color: var(--
|
|
445
|
+
--button-fill-default-disabled-bg-color: var(--button-fill-default-bg-color);
|
|
443
446
|
|
|
444
|
-
--button-fill-mute-border-color: var(--
|
|
447
|
+
--button-fill-mute-border-color: var(--input-border-color);
|
|
445
448
|
--button-fill-mute-text-color: var(--c-text-2);
|
|
446
449
|
--button-fill-mute-content-color: var(--c-text-2);
|
|
447
|
-
--button-fill-mute-bg-color: var(--
|
|
450
|
+
--button-fill-mute-bg-color: var(--button-fill-default-bg-color);
|
|
448
451
|
--button-fill-mute-count-bg-color: var(--c-gray-6);
|
|
449
|
-
--button-fill-
|
|
450
|
-
--button-fill-mute-
|
|
451
|
-
--button-fill-mute-hover-border-color: var(--c-border-mute-2);
|
|
452
|
+
--button-fill-mute-loader-color: var(--c-text-2);
|
|
453
|
+
--button-fill-mute-hover-border-color: var(--input-border-color);
|
|
452
454
|
--button-fill-mute-hover-text-color: var(--c-text-2);
|
|
453
|
-
--button-fill-mute-hover-bg-color: var(--
|
|
454
|
-
--button-fill-mute-active-border-color: var(--
|
|
455
|
+
--button-fill-mute-hover-bg-color: var(--button-fill-default-hover-bg-color);
|
|
456
|
+
--button-fill-mute-active-border-color: var(--input-border-color);
|
|
455
457
|
--button-fill-mute-active-text-color: var(--c-text-2);
|
|
456
|
-
--button-fill-mute-active-bg-color: var(--
|
|
457
|
-
--button-fill-mute-disabled-border-color: var(--
|
|
458
|
+
--button-fill-mute-active-bg-color: var(--button-fill-default-active-bg-color);
|
|
459
|
+
--button-fill-mute-disabled-border-color: var(--button-fill-default-disabled-border-color);
|
|
458
460
|
--button-fill-mute-disabled-text-color: var(--c-text-3);
|
|
459
461
|
--button-fill-mute-disabled-content-color: var(--c-text-3);
|
|
460
|
-
--button-fill-mute-disabled-bg-color: var(--
|
|
462
|
+
--button-fill-mute-disabled-bg-color: var(--button-fill-default-disabled-bg-color);
|
|
461
463
|
|
|
462
464
|
--button-fill-neutral-border-color: transparent;
|
|
463
465
|
--button-fill-neutral-text-color: var(--c-text-inverse-1);
|
|
@@ -544,59 +546,59 @@
|
|
|
544
546
|
--button-fill-success-disabled-content-color: var(--c-white-a2);
|
|
545
547
|
--button-fill-success-disabled-bg-color: var(--c-green-8);
|
|
546
548
|
|
|
547
|
-
--button-fill-warning-border-color: var(--c-border-
|
|
548
|
-
--button-fill-warning-text-color: var(--c-
|
|
549
|
-
--button-fill-warning-content-color: var(--c-
|
|
550
|
-
--button-fill-warning-bg-color: var(--c-bg-
|
|
551
|
-
--button-fill-warning-loader-color: var(--c-
|
|
552
|
-
--button-fill-warning-count-bg-color: var(--c-
|
|
553
|
-
--button-fill-warning-hover-border-color: var(--c-border-warning-
|
|
554
|
-
--button-fill-warning-hover-text-color: var(--c-white);
|
|
555
|
-
--button-fill-warning-hover-bg-color: var(--c-bg-warning-
|
|
556
|
-
--button-fill-warning-active-border-color: var(--c-border-warning-
|
|
557
|
-
--button-fill-warning-active-text-color: var(--c-white);
|
|
558
|
-
--button-fill-warning-active-bg-color: var(--c-bg-warning-
|
|
559
|
-
--button-fill-warning-disabled-border-color: var(--c-
|
|
560
|
-
--button-fill-warning-disabled-text-color: var(--c-
|
|
561
|
-
--button-fill-warning-disabled-content-color: var(--c-
|
|
562
|
-
--button-fill-warning-disabled-bg-color: var(--c-
|
|
563
|
-
|
|
564
|
-
--button-fill-danger-border-color: var(--c-border-
|
|
565
|
-
--button-fill-danger-text-color: var(--c-
|
|
566
|
-
--button-fill-danger-content-color: var(--c-
|
|
567
|
-
--button-fill-danger-bg-color: var(--c-bg-
|
|
568
|
-
--button-fill-danger-loader-color: var(--c-
|
|
569
|
-
--button-fill-danger-count-bg-color: var(--c-
|
|
570
|
-
--button-fill-danger-hover-border-color: var(--c-border-danger-
|
|
571
|
-
--button-fill-danger-hover-text-color: var(--c-white);
|
|
572
|
-
--button-fill-danger-hover-bg-color: var(--c-bg-danger-
|
|
573
|
-
--button-fill-danger-active-border-color: var(--c-border-danger-
|
|
574
|
-
--button-fill-danger-active-text-color: var(--c-white);
|
|
575
|
-
--button-fill-danger-active-bg-color: var(--c-bg-danger-
|
|
576
|
-
--button-fill-danger-disabled-border-color: var(--c-
|
|
577
|
-
--button-fill-danger-disabled-text-color: var(--c-
|
|
578
|
-
--button-fill-danger-disabled-content-color: var(--c-
|
|
579
|
-
--button-fill-danger-disabled-bg-color: var(--c-
|
|
580
|
-
|
|
581
|
-
--button-outline-default-border-color: var(--
|
|
549
|
+
--button-fill-warning-border-color: var(--c-border-warning-1);
|
|
550
|
+
--button-fill-warning-text-color: var(--c-white-1);
|
|
551
|
+
--button-fill-warning-content-color: var(--c-white-1);
|
|
552
|
+
--button-fill-warning-bg-color: var(--c-bg-warning-1);
|
|
553
|
+
--button-fill-warning-loader-color: var(--c-white-1);
|
|
554
|
+
--button-fill-warning-count-bg-color: var(--c-yellow-8);
|
|
555
|
+
--button-fill-warning-hover-border-color: var(--c-border-warning-2);
|
|
556
|
+
--button-fill-warning-hover-text-color: var(--c-white-1);
|
|
557
|
+
--button-fill-warning-hover-bg-color: var(--c-bg-warning-2);
|
|
558
|
+
--button-fill-warning-active-border-color: var(--c-border-warning-3);
|
|
559
|
+
--button-fill-warning-active-text-color: var(--c-white-1);
|
|
560
|
+
--button-fill-warning-active-bg-color: var(--c-bg-warning-3);
|
|
561
|
+
--button-fill-warning-disabled-border-color: var(--c-yellow-9);
|
|
562
|
+
--button-fill-warning-disabled-text-color: var(--c-white-a2);
|
|
563
|
+
--button-fill-warning-disabled-content-color: var(--c-white-a2);
|
|
564
|
+
--button-fill-warning-disabled-bg-color: var(--c-yellow-8);
|
|
565
|
+
|
|
566
|
+
--button-fill-danger-border-color: var(--c-border-danger-1);
|
|
567
|
+
--button-fill-danger-text-color: var(--c-white-1);
|
|
568
|
+
--button-fill-danger-content-color: var(--c-white-1);
|
|
569
|
+
--button-fill-danger-bg-color: var(--c-bg-danger-1);
|
|
570
|
+
--button-fill-danger-loader-color: var(--c-white-1);
|
|
571
|
+
--button-fill-danger-count-bg-color: var(--c-red-8);
|
|
572
|
+
--button-fill-danger-hover-border-color: var(--c-border-danger-2);
|
|
573
|
+
--button-fill-danger-hover-text-color: var(--c-white-1);
|
|
574
|
+
--button-fill-danger-hover-bg-color: var(--c-bg-danger-2);
|
|
575
|
+
--button-fill-danger-active-border-color: var(--c-border-danger-3);
|
|
576
|
+
--button-fill-danger-active-text-color: var(--c-white-1);
|
|
577
|
+
--button-fill-danger-active-bg-color: var(--c-bg-danger-3);
|
|
578
|
+
--button-fill-danger-disabled-border-color: var(--c-red-9);
|
|
579
|
+
--button-fill-danger-disabled-text-color: var(--c-white-a2);
|
|
580
|
+
--button-fill-danger-disabled-content-color: var(--c-white-a2);
|
|
581
|
+
--button-fill-danger-disabled-bg-color: var(--c-red-8);
|
|
582
|
+
|
|
583
|
+
--button-outline-default-border-color: var(--input-border-color);
|
|
582
584
|
--button-outline-default-text-color: var(--c-text-1);
|
|
583
585
|
--button-outline-default-content-color: var(--c-text-1);
|
|
584
586
|
--button-outline-default-loader-color: var(--c-neutral-1);
|
|
585
587
|
--button-outline-default-count-bg-color: var(--c-bg-mute-1);
|
|
586
|
-
--button-outline-default-hover-bg-color: var(--
|
|
587
|
-
--button-outline-default-active-bg-color: var(--
|
|
588
|
-
--button-outline-default-disabled-border-color: var(--
|
|
588
|
+
--button-outline-default-hover-bg-color: var(--button-fill-default-hover-bg-color);
|
|
589
|
+
--button-outline-default-active-bg-color: var(--button-fill-default-active-bg-color);
|
|
590
|
+
--button-outline-default-disabled-border-color: var(--input-border-color);
|
|
589
591
|
--button-outline-default-disabled-text-color: var(--c-text-3);
|
|
590
592
|
--button-outline-default-disabled-content-color: var(--c-text-3);
|
|
591
593
|
|
|
592
|
-
--button-outline-mute-border-color: var(--
|
|
594
|
+
--button-outline-mute-border-color: var(--input-border-color);
|
|
593
595
|
--button-outline-mute-text-color: var(--c-text-2);
|
|
594
596
|
--button-outline-mute-content-color: var(--c-text-2);
|
|
595
597
|
--button-outline-mute-loader-color: var(--c-neutral-1);
|
|
596
598
|
--button-outline-mute-count-bg-color: var(--c-bg-mute-1);
|
|
597
|
-
--button-outline-mute-hover-bg-color: var(--
|
|
598
|
-
--button-outline-mute-active-bg-color: var(--
|
|
599
|
-
--button-outline-mute-disabled-border-color: var(--
|
|
599
|
+
--button-outline-mute-hover-bg-color: var(--button-fill-default-hover-bg-color);
|
|
600
|
+
--button-outline-mute-active-bg-color: var(--button-fill-default-active-bg-color);
|
|
601
|
+
--button-outline-mute-disabled-border-color: var(--input-border-color);
|
|
600
602
|
--button-outline-mute-disabled-text-color: var(--c-text-3);
|
|
601
603
|
--button-outline-mute-disabled-content-color: var(--c-text-3);
|
|
602
604
|
|
|
@@ -605,9 +607,9 @@
|
|
|
605
607
|
--button-outline-neutral-content-color: var(--c-text-1);
|
|
606
608
|
--button-outline-neutral-loader-color: var(--c-neutral-1);
|
|
607
609
|
--button-outline-neutral-count-bg-color: var(--c-bg-mute-1);
|
|
608
|
-
--button-outline-neutral-hover-bg-color: var(--
|
|
609
|
-
--button-outline-neutral-active-bg-color: var(--
|
|
610
|
-
--button-outline-neutral-disabled-border-color: var(--
|
|
610
|
+
--button-outline-neutral-hover-bg-color: var(--button-fill-default-hover-bg-color);
|
|
611
|
+
--button-outline-neutral-active-bg-color: var(--button-fill-default-active-bg-color);
|
|
612
|
+
--button-outline-neutral-disabled-border-color: var(--button-fill-default-disabled-border-color);
|
|
611
613
|
--button-outline-neutral-disabled-text-color: var(--c-text-3);
|
|
612
614
|
--button-outline-neutral-disabled-content-color: var(--c-text-3);
|
|
613
615
|
|
|
@@ -680,24 +682,24 @@
|
|
|
680
682
|
--button-text-default-text-color: var(--c-text-1);
|
|
681
683
|
--button-text-default-content-color: var(--c-text-1);
|
|
682
684
|
--button-text-default-count-bg-color: var(--c-bg-mute-1);
|
|
683
|
-
--button-text-default-hover-bg-color: var(--
|
|
684
|
-
--button-text-default-active-bg-color: var(--
|
|
685
|
+
--button-text-default-hover-bg-color: var(--button-fill-default-hover-bg-color);
|
|
686
|
+
--button-text-default-active-bg-color: var(--button-fill-default-active-bg-color);
|
|
685
687
|
--button-text-default-disabled-text-color: var(--c-text-3);
|
|
686
688
|
--button-text-default-disabled-content-color: var(--c-text-3);
|
|
687
689
|
|
|
688
690
|
--button-text-mute-text-color: var(--c-text-2);
|
|
689
691
|
--button-text-mute-content-color: var(--c-text-2);
|
|
690
692
|
--button-text-mute-count-bg-color: var(--c-bg-mute-1);
|
|
691
|
-
--button-text-mute-hover-bg-color: var(--
|
|
692
|
-
--button-text-mute-active-bg-color: var(--
|
|
693
|
+
--button-text-mute-hover-bg-color: var(--button-fill-default-hover-bg-color);
|
|
694
|
+
--button-text-mute-active-bg-color: var(--button-fill-default-active-bg-color);
|
|
693
695
|
--button-text-mute-disabled-text-color: var(--c-text-3);
|
|
694
696
|
--button-text-mute-disabled-content-color: var(--c-text-3);
|
|
695
697
|
|
|
696
698
|
--button-text-neutral-text-color: var(--c-text-1);
|
|
697
699
|
--button-text-neutral-content-color: var(--c-text-1);
|
|
698
700
|
--button-text-neutral-count-bg-color: var(--c-bg-mute-1);
|
|
699
|
-
--button-text-neutral-hover-bg-color: var(--
|
|
700
|
-
--button-text-neutral-active-bg-color: var(--
|
|
701
|
+
--button-text-neutral-hover-bg-color: var(--button-fill-default-hover-bg-color);
|
|
702
|
+
--button-text-neutral-active-bg-color: var(--button-fill-default-active-bg-color);
|
|
701
703
|
--button-text-neutral-disabled-text-color: var(--c-text-3);
|
|
702
704
|
--button-text-neutral-disabled-content-color: var(--c-text-3);
|
|
703
705
|
|
|
@@ -750,18 +752,27 @@
|
|
|
750
752
|
--button-text-danger-disabled-content-color: var(--c-text-danger-3);
|
|
751
753
|
}
|
|
752
754
|
|
|
755
|
+
.dark {
|
|
756
|
+
--button-fill-default-bg-color: color-mix(in oklab, var(--button-fill-default-border-color) 30%, transparent);
|
|
757
|
+
--button-fill-default-box-shadow: none;
|
|
758
|
+
--button-fill-default-hover-bg-color: color-mix(in oklab, var(--button-fill-default-border-color) 50%, transparent);
|
|
759
|
+
--button-fill-default-active-bg-color: color-mix(in oklab, var(--button-fill-default-border-color) 70%, transparent);
|
|
760
|
+
--button-fill-default-disabled-border-color: var(--c-border);
|
|
761
|
+
--button-fill-default-disabled-bg-color: var(--button-fill-default-bg-color);
|
|
762
|
+
}
|
|
763
|
+
|
|
753
764
|
/**
|
|
754
765
|
* Component: Pill
|
|
755
766
|
* -------------------------------------------------------------------------- */
|
|
756
767
|
|
|
757
768
|
:root {
|
|
758
|
-
--pill-dimm-default-border-color: var(--c-
|
|
769
|
+
--pill-dimm-default-border-color: var(--c-border);
|
|
759
770
|
--pill-dimm-default-text-color: var(--c-text-1);
|
|
760
771
|
--pill-dimm-default-bg-color: transparent;
|
|
761
772
|
--pill-dimm-default-hover-bg-color: var(--c-bg-2);
|
|
762
773
|
--pill-dimm-default-active-bg-color: var(--c-bg-3);
|
|
763
774
|
|
|
764
|
-
--pill-dimm-mute-border-color: var(--c-
|
|
775
|
+
--pill-dimm-mute-border-color: var(--c-border);
|
|
765
776
|
--pill-dimm-mute-text-color: var(--c-text-2);
|
|
766
777
|
--pill-dimm-mute-bg-color: transparent;
|
|
767
778
|
--pill-dimm-mute-hover-bg-color: var(--c-bg-2);
|
|
@@ -885,20 +896,21 @@
|
|
|
885
896
|
* -------------------------------------------------------------------------- */
|
|
886
897
|
|
|
887
898
|
:root {
|
|
899
|
+
--input-border-color: oklch(0.922 0 0);
|
|
888
900
|
--input-label-color: var(--c-text-1);
|
|
889
|
-
--input-border-color: var(--c-border-mute-1);
|
|
890
901
|
--input-value-color: var(--c-text-1);
|
|
891
902
|
--input-placeholder-color: var(--c-text-3);
|
|
892
|
-
--input-bg-color: var(--c-bg-
|
|
893
|
-
--input-
|
|
903
|
+
--input-bg-color: var(--c-bg-1);
|
|
904
|
+
--input-box-shadow: var(--shadow-depth-1);
|
|
905
|
+
--input-hover-border-color: oklch(0.708 0 0);
|
|
894
906
|
--input-focus-border-color: var(--c-border-info-1);
|
|
895
907
|
--input-error-text-color: var(--c-text-danger-1);
|
|
896
908
|
--input-error-border-color: var(--c-border-danger-1);
|
|
897
909
|
--input-warning-text-color: var(--c-text-warning-1);
|
|
898
910
|
--input-warning-border-color: var(--c-border-warning-1);
|
|
899
|
-
--input-disabled-border-color: var(--
|
|
911
|
+
--input-disabled-border-color: var(--input-border-color);
|
|
900
912
|
--input-disabled-value-color: var(--c-text-1);
|
|
901
|
-
--input-disabled-bg-color: var(--
|
|
913
|
+
--input-disabled-bg-color: color-mix(in oklab, var(--input-disabled-border-color) 50%, transparent);
|
|
902
914
|
|
|
903
915
|
--input-mini-font-size: 14px;
|
|
904
916
|
--input-mini-label-font-size: 12px;
|
|
@@ -914,3 +926,11 @@
|
|
|
914
926
|
--input-switch-disabled-toggle-color: var(--c-fg-gray-1);
|
|
915
927
|
--input-switch-disabled-bg-color: var(--c-bg-mute-1);
|
|
916
928
|
}
|
|
929
|
+
|
|
930
|
+
.dark {
|
|
931
|
+
--input-border-color: oklch(1 0 0 / 15%);
|
|
932
|
+
--input-bg-color: color-mix(in oklab, var(--input-border-color) 30%, transparent);
|
|
933
|
+
--input-hover-border-color: oklch(0.556 0 0);
|
|
934
|
+
--input-disabled-border-color: var(--c-border);
|
|
935
|
+
--input-disabled-bg-color: color-mix(in oklab, var(--input-disabled-border-color) 80%, transparent);
|
|
936
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export function objectToFormData(
|
|
2
|
+
obj: any,
|
|
3
|
+
form?: FormData,
|
|
4
|
+
namespace?: string,
|
|
5
|
+
onlyFiles = false
|
|
6
|
+
): FormData {
|
|
7
|
+
const fd = form || new FormData()
|
|
8
|
+
|
|
9
|
+
if (obj == null) {
|
|
10
|
+
return fd
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
let formKey: string
|
|
14
|
+
|
|
15
|
+
Object.keys(obj).forEach((property) => {
|
|
16
|
+
if (namespace) {
|
|
17
|
+
formKey = `${namespace}[${property}]`
|
|
18
|
+
} else {
|
|
19
|
+
formKey = property
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (obj[property] === undefined) {
|
|
23
|
+
return
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (
|
|
27
|
+
typeof obj[property] === 'object'
|
|
28
|
+
&& !(obj[property] instanceof Blob)
|
|
29
|
+
&& obj[property] !== null
|
|
30
|
+
) {
|
|
31
|
+
objectToFormData(obj[property], fd, formKey, onlyFiles)
|
|
32
|
+
} else {
|
|
33
|
+
const value = obj[property] === null ? '' : obj[property]
|
|
34
|
+
if (onlyFiles && !(value instanceof Blob)) {
|
|
35
|
+
return
|
|
36
|
+
}
|
|
37
|
+
fd.append(formKey, value)
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
return fd
|
|
42
|
+
}
|