@softwareone/spi-sv5-library 1.14.4 → 1.15.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.
- package/dist/components/accordion/Accordion.svelte +14 -23
- package/dist/components/announcement/Announcement.svelte +53 -61
- package/dist/components/avatar/Avatar.svelte +30 -12
- package/dist/components/avatar/Avatar.svelte.d.ts +2 -2
- package/dist/components/button/Button.svelte +43 -46
- package/dist/components/card/Card.svelte +4 -6
- package/dist/components/chips/Chips.svelte +37 -36
- package/dist/components/chips/Chips.svelte.d.ts +1 -1
- package/dist/components/confirmation/Confirmation.svelte +1 -1
- package/dist/components/controls/attach-file/AttachFile.svelte +18 -41
- package/dist/components/controls/attach-file/FileManager.svelte +16 -30
- package/dist/components/controls/attach-file/Warnings.svelte +13 -15
- package/dist/components/controls/input/Input.svelte +46 -72
- package/dist/components/controls/input/InputIcon.svelte +13 -13
- package/dist/components/controls/label/Label.svelte +5 -9
- package/dist/components/controls/radio-group/RadioGroup.svelte +25 -39
- package/dist/components/controls/select/Select.svelte +49 -71
- package/dist/components/controls/textarea/TextArea.svelte +36 -45
- package/dist/components/controls/toggle/Toggle.svelte +35 -37
- package/dist/components/delete-confirmation/DeleteConfirmation.svelte +1 -1
- package/dist/components/error-page/ErrorPage.svelte +9 -18
- package/dist/components/footer/Footer.svelte +6 -7
- package/dist/components/form/Form.svelte +1 -1
- package/dist/components/header/Header.svelte +39 -45
- package/dist/components/header/HeaderAccount.svelte +21 -33
- package/dist/components/header/HeaderLoader.svelte +13 -8
- package/dist/components/highlight-panel/HighlightPanel.svelte +29 -34
- package/dist/components/home/Home.svelte +18 -36
- package/dist/components/link/Link.svelte +1 -1
- package/dist/components/menu/Menu.svelte +12 -12
- package/dist/components/menu/MenuItem.svelte +25 -29
- package/dist/components/menu/Sidebar.svelte +32 -40
- package/dist/components/modal/Modal.svelte +8 -12
- package/dist/components/modal/ModalContent.svelte +3 -3
- package/dist/components/modal/ModalFooter.svelte +5 -5
- package/dist/components/modal/ModalHeader.svelte +6 -11
- package/dist/components/notification/Notification.svelte +20 -27
- package/dist/components/processing/Processing.svelte +9 -16
- package/dist/components/progress-page/ProgressPage.svelte +13 -18
- package/dist/components/progress-wizard/ProgressWizard.svelte +43 -54
- package/dist/components/search/Search.svelte +24 -29
- package/dist/components/spinner/Spinner.svelte +1 -1
- package/dist/components/switcher/Switcher.svelte +14 -23
- package/dist/components/table/ActionsColumn.svelte +13 -33
- package/dist/components/table/AdvancedFilter.svelte +39 -74
- package/dist/components/table/Body.svelte +9 -18
- package/dist/components/table/ColumnVisibilityDropdown.svelte +24 -55
- package/dist/components/table/Footer.svelte +2 -4
- package/dist/components/table/Header.svelte +23 -44
- package/dist/components/table/PageSize.svelte +24 -36
- package/dist/components/table/Pagination.svelte +49 -35
- package/dist/components/table/RowCheckBox.svelte +5 -12
- package/dist/components/table/Skeleton.svelte +16 -25
- package/dist/components/table/Table.svelte +50 -38
- package/dist/components/table/Table.svelte.d.ts +5 -1
- package/dist/components/table/types.d.ts +9 -1
- package/dist/components/table/utils.d.ts +5 -1
- package/dist/components/table/utils.js +8 -8
- package/dist/components/tabs/Tabs.svelte +16 -20
- package/dist/components/toast/Toast.svelte +27 -30
- package/dist/components/tooltip/Tooltip.svelte +15 -19
- package/dist/components/waffle/Waffle.svelte +9 -13
- package/dist/components/waffle/WaffleItems.svelte +10 -13
- package/dist/styles/index.css +3 -0
- package/dist/styles/reset.css +19 -0
- package/dist/styles/tokens/index.css +2 -0
- package/dist/styles/tokens/primitives/borders.css +17 -0
- package/dist/styles/tokens/primitives/colors.css +41 -0
- package/dist/styles/tokens/primitives/index.css +7 -0
- package/dist/styles/tokens/primitives/motion.css +11 -0
- package/dist/styles/tokens/primitives/opacity.css +6 -0
- package/dist/styles/tokens/primitives/shadows.css +11 -0
- package/dist/styles/tokens/primitives/sizing.css +19 -0
- package/dist/styles/tokens/primitives/typography.css +13 -0
- package/dist/styles/tokens/semantic/colors.css +78 -0
- package/dist/styles/tokens/semantic/index.css +2 -0
- package/dist/styles/tokens/semantic/shadows.css +9 -0
- package/dist/styles/utilities.css +73 -0
- package/package.json +3 -2
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<aside class="accordion-container" class:border={!disableBorder}>
|
|
19
|
-
<div class="accordion-content">
|
|
19
|
+
<div class="accordion-content spi-text-regular-2">
|
|
20
20
|
<section class="header" class:is-open={isOpen}>
|
|
21
21
|
<button
|
|
22
22
|
type="button"
|
|
@@ -24,12 +24,15 @@
|
|
|
24
24
|
onclick={toggleAccordion}
|
|
25
25
|
aria-label={isOpen ? 'Collapse accordion' : 'Expand accordion'}
|
|
26
26
|
>
|
|
27
|
-
<span
|
|
27
|
+
<span
|
|
28
|
+
class="material-icons-outlined icon-span spi-text-regular-5"
|
|
29
|
+
class:rotate={isOpen}
|
|
30
|
+
>
|
|
28
31
|
keyboard_arrow_right
|
|
29
32
|
</span>
|
|
30
33
|
</button>
|
|
31
34
|
|
|
32
|
-
<h2 class="header-title">{title}</h2>
|
|
35
|
+
<h2 class="header-title spi-text-semibold-2">{title}</h2>
|
|
33
36
|
</section>
|
|
34
37
|
|
|
35
38
|
{#if isOpen}
|
|
@@ -44,18 +47,10 @@
|
|
|
44
47
|
.accordion-container {
|
|
45
48
|
width: 100%;
|
|
46
49
|
height: 100%;
|
|
47
|
-
|
|
48
|
-
--border-color: #e0e5e8;
|
|
49
|
-
--color: #472aff;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.accordion-content {
|
|
53
|
-
font-size: 14px;
|
|
54
|
-
line-height: 20px;
|
|
55
50
|
}
|
|
56
51
|
|
|
57
52
|
.content {
|
|
58
|
-
padding: 10px 10px 0
|
|
53
|
+
padding: 10px 10px 0 var(--spi-size-7);
|
|
59
54
|
}
|
|
60
55
|
|
|
61
56
|
.is-open {
|
|
@@ -63,18 +58,14 @@
|
|
|
63
58
|
}
|
|
64
59
|
|
|
65
60
|
.header {
|
|
66
|
-
gap:
|
|
61
|
+
gap: var(--spi-size-4);
|
|
67
62
|
display: inline-flex;
|
|
68
63
|
}
|
|
69
64
|
|
|
70
|
-
.header-title {
|
|
71
|
-
font-weight: 600;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
65
|
.border {
|
|
75
|
-
border:
|
|
76
|
-
border-radius:
|
|
77
|
-
padding:
|
|
66
|
+
border: var(--spi-border-1) solid var(--spi-color-border-default);
|
|
67
|
+
border-radius: var(--spi-rounded-lg);
|
|
68
|
+
padding: var(--spi-size-8);
|
|
78
69
|
}
|
|
79
70
|
|
|
80
71
|
.button {
|
|
@@ -88,9 +79,9 @@
|
|
|
88
79
|
}
|
|
89
80
|
|
|
90
81
|
.icon-span {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
transition: transform
|
|
82
|
+
line-height: normal;
|
|
83
|
+
color: var(--spi-color-primary-base);
|
|
84
|
+
transition: transform var(--spi-duration-normal) var(--spi-ease-in-out);
|
|
94
85
|
}
|
|
95
86
|
|
|
96
87
|
.icon-span.rotate {
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
></div>
|
|
26
26
|
<section class="announcement-panel" transition:fade={{ duration: 250 }}>
|
|
27
27
|
<header class="panel-header">
|
|
28
|
-
<h1 class="panel-title">Announcements</h1>
|
|
28
|
+
<h1 class="panel-title spi-text-medium-4">Announcements</h1>
|
|
29
29
|
<button
|
|
30
30
|
class="close-button"
|
|
31
31
|
onclick={toggleAnnouncement}
|
|
32
32
|
aria-label="Close announcements"
|
|
33
33
|
type="button"
|
|
34
34
|
>
|
|
35
|
-
<span class="material-icons close-icon">close</span>
|
|
35
|
+
<span class="material-icons close-icon spi-text-regular-6">close</span>
|
|
36
36
|
</button>
|
|
37
37
|
</header>
|
|
38
38
|
|
|
@@ -45,16 +45,21 @@
|
|
|
45
45
|
{#if !announcement.isRead}
|
|
46
46
|
<div class="unread-indicator"></div>
|
|
47
47
|
{/if}
|
|
48
|
-
<span
|
|
48
|
+
<span
|
|
49
|
+
class="material-icons-outlined announcement-icon spi-text-regular-6"
|
|
49
50
|
>notifications_active</span
|
|
50
51
|
>
|
|
51
52
|
</div>
|
|
52
53
|
<div class="item-info">
|
|
53
|
-
<h2 class="item-title">
|
|
54
|
-
|
|
54
|
+
<h2 class="item-title spi-text-medium-2">
|
|
55
|
+
{announcement.title}
|
|
56
|
+
</h2>
|
|
57
|
+
<time class="item-date spi-text-regular-1"
|
|
58
|
+
>{announcement.createdAt}</time
|
|
59
|
+
>
|
|
55
60
|
</div>
|
|
56
61
|
</div>
|
|
57
|
-
<p class="item-message">{announcement.message}</p>
|
|
62
|
+
<p class="item-message spi-text-regular-2">{announcement.message}</p>
|
|
58
63
|
</article>
|
|
59
64
|
<hr class="item-divider" />
|
|
60
65
|
{/each}
|
|
@@ -64,8 +69,10 @@
|
|
|
64
69
|
<span class="material-icons-outlined empty-icon icon-gradient">hide_source</span
|
|
65
70
|
>
|
|
66
71
|
<div class="empty-content">
|
|
67
|
-
<p class="empty-title">No announcements yet</p>
|
|
68
|
-
<p class="empty-description">
|
|
72
|
+
<p class="empty-title spi-text-bold-4">No announcements yet</p>
|
|
73
|
+
<p class="empty-description spi-text-regular-2">
|
|
74
|
+
Check back later for updates
|
|
75
|
+
</p>
|
|
69
76
|
</div>
|
|
70
77
|
</div>
|
|
71
78
|
{/if}
|
|
@@ -75,17 +82,13 @@
|
|
|
75
82
|
|
|
76
83
|
<style>
|
|
77
84
|
.announcement-wrapper {
|
|
78
|
-
--color-primary: #472aff;
|
|
79
|
-
--color-gray-100: #e0e5e8;
|
|
80
|
-
--color-gray-200: #6b7180;
|
|
81
|
-
|
|
82
85
|
position: relative;
|
|
83
86
|
}
|
|
84
87
|
|
|
85
88
|
.announcement-backdrop {
|
|
86
89
|
position: fixed;
|
|
87
90
|
inset: 0;
|
|
88
|
-
background-color:
|
|
91
|
+
background-color: var(--spi-color-backdrop);
|
|
89
92
|
cursor: pointer;
|
|
90
93
|
z-index: 30;
|
|
91
94
|
border: none;
|
|
@@ -96,16 +99,16 @@
|
|
|
96
99
|
z-index: 40;
|
|
97
100
|
right: -260px;
|
|
98
101
|
top: 30px;
|
|
99
|
-
background:
|
|
100
|
-
border-radius:
|
|
102
|
+
background: var(--spi-color-surface-default);
|
|
103
|
+
border-radius: var(--spi-rounded-lg);
|
|
101
104
|
display: flex;
|
|
102
105
|
width: 500px;
|
|
103
106
|
max-height: 800px;
|
|
104
|
-
padding:
|
|
107
|
+
padding: var(--spi-size-6);
|
|
105
108
|
flex-direction: column;
|
|
106
109
|
align-items: flex-start;
|
|
107
|
-
gap:
|
|
108
|
-
box-shadow:
|
|
110
|
+
gap: var(--spi-size-4);
|
|
111
|
+
box-shadow: var(--spi-shadow-dropdown);
|
|
109
112
|
}
|
|
110
113
|
|
|
111
114
|
.panel-header {
|
|
@@ -113,14 +116,11 @@
|
|
|
113
116
|
justify-content: space-between;
|
|
114
117
|
align-items: center;
|
|
115
118
|
width: 100%;
|
|
116
|
-
border-bottom:
|
|
117
|
-
padding-bottom:
|
|
119
|
+
border-bottom: var(--spi-border-1) solid var(--spi-color-border-default);
|
|
120
|
+
padding-bottom: var(--spi-size-6);
|
|
118
121
|
}
|
|
119
122
|
|
|
120
123
|
.panel-title {
|
|
121
|
-
font-weight: 500;
|
|
122
|
-
font-size: 18px;
|
|
123
|
-
line-height: 28px;
|
|
124
124
|
margin: 0;
|
|
125
125
|
}
|
|
126
126
|
|
|
@@ -134,8 +134,7 @@
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
.close-icon {
|
|
137
|
-
|
|
138
|
-
color: #000000;
|
|
137
|
+
color: var(--spi-color-text-primary);
|
|
139
138
|
}
|
|
140
139
|
|
|
141
140
|
.announcements-list {
|
|
@@ -147,48 +146,47 @@
|
|
|
147
146
|
display: flex;
|
|
148
147
|
flex-direction: column;
|
|
149
148
|
align-items: flex-start;
|
|
150
|
-
padding:
|
|
151
|
-
gap:
|
|
149
|
+
padding: var(--spi-size-4);
|
|
150
|
+
gap: var(--spi-size-4);
|
|
152
151
|
}
|
|
153
152
|
|
|
154
153
|
.announcement-item.unread {
|
|
155
|
-
background-color:
|
|
156
|
-
border-radius:
|
|
154
|
+
background-color: var(--spi-color-primary-lighter);
|
|
155
|
+
border-radius: var(--spi-rounded-2xl);
|
|
157
156
|
}
|
|
158
157
|
|
|
159
158
|
.item-header {
|
|
160
159
|
display: flex;
|
|
161
160
|
align-items: center;
|
|
162
|
-
gap:
|
|
161
|
+
gap: var(--spi-size-4);
|
|
163
162
|
width: 100%;
|
|
164
163
|
}
|
|
165
164
|
|
|
166
165
|
.icon-container {
|
|
167
166
|
position: relative;
|
|
168
167
|
display: flex;
|
|
169
|
-
width:
|
|
170
|
-
height:
|
|
171
|
-
padding:
|
|
168
|
+
width: var(--spi-size-10);
|
|
169
|
+
height: var(--spi-size-10);
|
|
170
|
+
padding: var(--spi-size-2);
|
|
172
171
|
align-items: center;
|
|
173
172
|
justify-content: center;
|
|
174
|
-
border-radius:
|
|
175
|
-
border:
|
|
176
|
-
background:
|
|
173
|
+
border-radius: var(--spi-rounded-full);
|
|
174
|
+
border: var(--spi-border-1) solid var(--spi-color-border-default);
|
|
175
|
+
background: var(--spi-color-surface-default);
|
|
177
176
|
}
|
|
178
177
|
|
|
179
178
|
.unread-indicator {
|
|
180
179
|
position: absolute;
|
|
181
180
|
left: -5px;
|
|
182
181
|
top: 40%;
|
|
183
|
-
width:
|
|
184
|
-
height:
|
|
185
|
-
background-color: var(--color-primary);
|
|
186
|
-
border-radius:
|
|
182
|
+
width: var(--spi-size-2);
|
|
183
|
+
height: var(--spi-size-2);
|
|
184
|
+
background-color: var(--spi-color-primary-base);
|
|
185
|
+
border-radius: var(--spi-rounded-full);
|
|
187
186
|
}
|
|
188
187
|
|
|
189
188
|
.announcement-icon {
|
|
190
|
-
color:
|
|
191
|
-
font-size: 24px;
|
|
189
|
+
color: var(--spi-color-text-primary);
|
|
192
190
|
}
|
|
193
191
|
|
|
194
192
|
.item-info {
|
|
@@ -197,38 +195,31 @@
|
|
|
197
195
|
}
|
|
198
196
|
|
|
199
197
|
.item-title {
|
|
200
|
-
font-weight: 500;
|
|
201
|
-
font-size: 14px;
|
|
202
|
-
line-height: 20px;
|
|
203
198
|
margin: 0;
|
|
204
199
|
}
|
|
205
200
|
|
|
206
201
|
.item-date {
|
|
207
|
-
|
|
208
|
-
line-height: 16px;
|
|
209
|
-
color: var(--color-gray-200);
|
|
202
|
+
color: var(--spi-color-text-muted);
|
|
210
203
|
text-align: left;
|
|
211
204
|
}
|
|
212
205
|
|
|
213
206
|
.item-message {
|
|
214
|
-
font-size: 14px;
|
|
215
|
-
line-height: 20px;
|
|
216
207
|
margin: 0;
|
|
217
208
|
}
|
|
218
209
|
|
|
219
210
|
.item-divider {
|
|
220
211
|
width: 100%;
|
|
221
212
|
border: 0;
|
|
222
|
-
border-top:
|
|
223
|
-
margin:
|
|
213
|
+
border-top: var(--spi-border-1) solid var(--spi-color-border-default);
|
|
214
|
+
margin: var(--spi-size-4) 0;
|
|
224
215
|
}
|
|
225
216
|
|
|
226
217
|
.empty-state {
|
|
227
218
|
display: flex;
|
|
228
219
|
flex-direction: column;
|
|
229
|
-
padding:
|
|
220
|
+
padding: var(--spi-size-6);
|
|
230
221
|
align-items: center;
|
|
231
|
-
gap:
|
|
222
|
+
gap: var(--spi-size-6);
|
|
232
223
|
width: 100%;
|
|
233
224
|
}
|
|
234
225
|
|
|
@@ -241,28 +232,29 @@
|
|
|
241
232
|
flex-direction: column;
|
|
242
233
|
justify-content: center;
|
|
243
234
|
align-items: center;
|
|
244
|
-
gap:
|
|
235
|
+
gap: var(--spi-size-2);
|
|
245
236
|
width: 100%;
|
|
246
237
|
}
|
|
247
238
|
|
|
248
239
|
.empty-title {
|
|
249
|
-
font-size: 18px;
|
|
250
|
-
line-height: 28px;
|
|
251
|
-
font-weight: 700;
|
|
252
240
|
word-break: break-word;
|
|
253
241
|
margin: 0;
|
|
254
242
|
}
|
|
255
243
|
|
|
256
244
|
.empty-description {
|
|
257
|
-
font-size: 14px;
|
|
258
|
-
line-height: 20px;
|
|
259
245
|
word-break: break-word;
|
|
260
246
|
text-align: center;
|
|
261
247
|
margin: 0;
|
|
262
248
|
}
|
|
263
249
|
|
|
264
250
|
.icon-gradient {
|
|
265
|
-
background: linear-gradient(
|
|
251
|
+
background: linear-gradient(
|
|
252
|
+
226deg,
|
|
253
|
+
#00c9cd 0%,
|
|
254
|
+
var(--spi-color-primary-base) 33%,
|
|
255
|
+
var(--spi-color-primary-dark) 67%,
|
|
256
|
+
black 100%
|
|
257
|
+
);
|
|
266
258
|
-webkit-background-clip: text;
|
|
267
259
|
-webkit-text-fill-color: transparent;
|
|
268
260
|
background-clip: text;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
type BackgroundColor = '
|
|
3
|
-
type TextColor = '
|
|
2
|
+
type BackgroundColor = 'primary' | 'dark';
|
|
3
|
+
type TextColor = 'dark' | 'white';
|
|
4
4
|
|
|
5
5
|
interface Props {
|
|
6
6
|
text: string;
|
|
@@ -9,12 +9,17 @@
|
|
|
9
9
|
keepOrder?: boolean;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
let {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
12
|
+
let { text, backgroundColor, textColor, keepOrder = false }: Props = $props();
|
|
13
|
+
|
|
14
|
+
const avatarBackgroundColor: Record<BackgroundColor, string> = {
|
|
15
|
+
primary: '--spi-color-primary-base',
|
|
16
|
+
dark: '--spi-color-neutral-darkest'
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const avatarTextColor: Record<TextColor, string> = {
|
|
20
|
+
dark: '--spi-color-neutral-darkest',
|
|
21
|
+
white: '--spi-color-text-inverse'
|
|
22
|
+
};
|
|
18
23
|
|
|
19
24
|
const avatarSrc = (text: string): string => {
|
|
20
25
|
const defaultValue = 'SO';
|
|
@@ -33,15 +38,28 @@
|
|
|
33
38
|
</script>
|
|
34
39
|
|
|
35
40
|
<svg class="avatar" width="40" height="40" viewBox="0 0 40 40">
|
|
36
|
-
<circle
|
|
37
|
-
|
|
41
|
+
<circle
|
|
42
|
+
cx="20"
|
|
43
|
+
cy="20"
|
|
44
|
+
r="20"
|
|
45
|
+
fill={backgroundColor
|
|
46
|
+
? `var(${avatarBackgroundColor[backgroundColor]})`
|
|
47
|
+
: `var(${avatarBackgroundColor.dark})`}
|
|
48
|
+
/>
|
|
49
|
+
<text
|
|
50
|
+
x="20"
|
|
51
|
+
y="25"
|
|
52
|
+
text-anchor="middle"
|
|
53
|
+
class="spi-text-regular-2"
|
|
54
|
+
fill={textColor ? `var(${avatarTextColor[textColor]})` : `var(${avatarTextColor.white})`}
|
|
55
|
+
>
|
|
38
56
|
{avatarSrc(text)}
|
|
39
57
|
</text>
|
|
40
58
|
</svg>
|
|
41
59
|
|
|
42
60
|
<style>
|
|
43
61
|
.avatar {
|
|
44
|
-
min-width:
|
|
45
|
-
min-height:
|
|
62
|
+
min-width: var(--spi-size-10);
|
|
63
|
+
min-height: var(--spi-size-10);
|
|
46
64
|
}
|
|
47
65
|
</style>
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
|
|
30
30
|
<button
|
|
31
31
|
{@attach clearButtonFocus}
|
|
32
|
-
class={['btn', `btn-${variant}-${variantColor}`, loading && 'loading']}
|
|
32
|
+
class={['btn', 'spi-text-regular-2', `btn-${variant}-${variantColor}`, loading && 'loading']}
|
|
33
33
|
disabled={loading || disabled}
|
|
34
34
|
{...props}
|
|
35
35
|
>
|
|
@@ -55,27 +55,24 @@
|
|
|
55
55
|
</svg>
|
|
56
56
|
</span>
|
|
57
57
|
{/if}
|
|
58
|
-
<span class="content" class:
|
|
58
|
+
<span class="content" class:content--loading={loading}>
|
|
59
59
|
{@render children()}
|
|
60
60
|
</span>
|
|
61
61
|
</button>
|
|
62
62
|
|
|
63
63
|
<style>
|
|
64
64
|
.btn {
|
|
65
|
-
padding:
|
|
66
|
-
border-radius:
|
|
65
|
+
padding: var(--spi-size-2) var(--spi-size-4);
|
|
66
|
+
border-radius: var(--spi-rounded-lg);
|
|
67
67
|
border: none;
|
|
68
|
-
font-size: 14px;
|
|
69
68
|
font-style: normal;
|
|
70
|
-
font-weight: 400;
|
|
71
|
-
line-height: 20px;
|
|
72
69
|
display: inline-flex;
|
|
73
70
|
position: relative;
|
|
74
|
-
transition: all
|
|
71
|
+
transition: all var(--spi-duration-normal) var(--spi-ease-in-out);
|
|
75
72
|
}
|
|
76
73
|
|
|
77
|
-
.content.
|
|
78
|
-
opacity: 0;
|
|
74
|
+
.content.content--loading {
|
|
75
|
+
opacity: var(--spi-opacity-0);
|
|
79
76
|
}
|
|
80
77
|
|
|
81
78
|
.spinner-wrapper {
|
|
@@ -93,19 +90,19 @@
|
|
|
93
90
|
|
|
94
91
|
.btn-primary-primary .spinner,
|
|
95
92
|
.btn-primary-danger .spinner {
|
|
96
|
-
color:
|
|
93
|
+
color: var(--spi-color-text-inverse);
|
|
97
94
|
}
|
|
98
95
|
|
|
99
96
|
.btn-secondary-primary .spinner,
|
|
100
97
|
.btn-outline-primary .spinner,
|
|
101
98
|
.btn-outline-none-primary .spinner {
|
|
102
|
-
color:
|
|
99
|
+
color: var(--spi-color-primary-base);
|
|
103
100
|
}
|
|
104
101
|
|
|
105
102
|
.btn-secondary-danger .spinner,
|
|
106
103
|
.btn-outline-danger .spinner,
|
|
107
104
|
.btn-outline-none-danger .spinner {
|
|
108
|
-
color:
|
|
105
|
+
color: var(--spi-color-danger-base);
|
|
109
106
|
}
|
|
110
107
|
|
|
111
108
|
@keyframes spin {
|
|
@@ -124,105 +121,105 @@
|
|
|
124
121
|
|
|
125
122
|
.btn:focus:not(:disabled):not(.loading),
|
|
126
123
|
.btn:focus-visible:not(:disabled):not(.loading) {
|
|
127
|
-
box-shadow:
|
|
124
|
+
box-shadow: var(--spi-shadow-focus-primary);
|
|
128
125
|
outline: none;
|
|
129
126
|
}
|
|
130
127
|
|
|
131
128
|
.btn:disabled:not(.loading) {
|
|
132
|
-
background:
|
|
129
|
+
background: var(--spi-color-surface-muted);
|
|
133
130
|
border: none;
|
|
134
|
-
color:
|
|
131
|
+
color: var(--spi-color-text-muted);
|
|
135
132
|
cursor: not-allowed;
|
|
136
133
|
}
|
|
137
134
|
|
|
138
135
|
.btn-primary-primary {
|
|
139
|
-
background:
|
|
140
|
-
color:
|
|
136
|
+
background: var(--spi-color-primary-base);
|
|
137
|
+
color: var(--spi-color-text-inverse);
|
|
141
138
|
}
|
|
142
139
|
|
|
143
140
|
.btn-primary-primary:hover:not(:disabled),
|
|
144
141
|
.btn-primary-primary:focus:not(:disabled) {
|
|
145
|
-
background:
|
|
142
|
+
background: var(--spi-color-primary-dark);
|
|
146
143
|
}
|
|
147
144
|
|
|
148
145
|
.btn-secondary-primary {
|
|
149
|
-
background:
|
|
150
|
-
color:
|
|
146
|
+
background: var(--spi-color-primary-lighter);
|
|
147
|
+
color: var(--spi-color-primary-base);
|
|
151
148
|
}
|
|
152
149
|
|
|
153
150
|
.btn-secondary-primary:hover:not(:disabled),
|
|
154
151
|
.btn-secondary-primary:focus:not(:disabled) {
|
|
155
|
-
background:
|
|
156
|
-
color:
|
|
152
|
+
background: var(--spi-color-primary-base);
|
|
153
|
+
color: var(--spi-color-text-inverse);
|
|
157
154
|
}
|
|
158
155
|
|
|
159
156
|
.btn-outline-primary {
|
|
160
|
-
border:
|
|
161
|
-
background:
|
|
162
|
-
color:
|
|
157
|
+
border: var(--spi-border-1) solid var(--spi-color-primary-base);
|
|
158
|
+
background: var(--spi-color-surface-default);
|
|
159
|
+
color: var(--spi-color-primary-base);
|
|
163
160
|
}
|
|
164
161
|
|
|
165
162
|
.btn-outline-primary:hover:not(:disabled),
|
|
166
163
|
.btn-outline-primary:focus:not(:disabled) {
|
|
167
|
-
background:
|
|
164
|
+
background: var(--spi-color-primary-lighter);
|
|
168
165
|
}
|
|
169
166
|
|
|
170
167
|
.btn-outline-none-primary {
|
|
171
168
|
border: none;
|
|
172
|
-
background:
|
|
173
|
-
color:
|
|
174
|
-
padding:
|
|
169
|
+
background: var(--spi-color-surface-default);
|
|
170
|
+
color: var(--spi-color-primary-base);
|
|
171
|
+
padding: var(--spi-size-2);
|
|
175
172
|
}
|
|
176
173
|
|
|
177
174
|
.btn-outline-none-primary:hover:not(:disabled),
|
|
178
175
|
.btn-outline-none-primary:focus:not(:disabled) {
|
|
179
|
-
background:
|
|
176
|
+
background: var(--spi-color-surface-muted);
|
|
180
177
|
}
|
|
181
178
|
|
|
182
179
|
.btn-primary-danger {
|
|
183
|
-
background:
|
|
184
|
-
color:
|
|
180
|
+
background: var(--spi-color-danger-base);
|
|
181
|
+
color: var(--spi-color-text-inverse);
|
|
185
182
|
}
|
|
186
183
|
|
|
187
184
|
.btn-primary-danger:hover:not(:disabled),
|
|
188
185
|
.btn-primary-danger:focus:not(:disabled) {
|
|
189
|
-
background:
|
|
186
|
+
background: var(--spi-color-danger-dark);
|
|
190
187
|
}
|
|
191
188
|
|
|
192
189
|
.btn-secondary-danger {
|
|
193
|
-
background:
|
|
194
|
-
color:
|
|
190
|
+
background: var(--spi-color-danger-lighter);
|
|
191
|
+
color: var(--spi-color-danger-base);
|
|
195
192
|
}
|
|
196
193
|
|
|
197
194
|
.btn-secondary-danger:hover:not(:disabled),
|
|
198
195
|
.btn-secondary-danger:focus:not(:disabled) {
|
|
199
|
-
background:
|
|
200
|
-
color:
|
|
196
|
+
background: var(--spi-color-danger-base);
|
|
197
|
+
color: var(--spi-color-text-inverse);
|
|
201
198
|
}
|
|
202
199
|
|
|
203
200
|
.btn-outline-danger {
|
|
204
|
-
border:
|
|
205
|
-
background:
|
|
206
|
-
color:
|
|
201
|
+
border: var(--spi-border-1) solid var(--spi-color-danger-base);
|
|
202
|
+
background: var(--spi-color-surface-default);
|
|
203
|
+
color: var(--spi-color-danger-base);
|
|
207
204
|
}
|
|
208
205
|
|
|
209
206
|
.btn-outline-none-danger {
|
|
210
207
|
border: none;
|
|
211
|
-
background:
|
|
212
|
-
color:
|
|
213
|
-
padding:
|
|
208
|
+
background: var(--spi-color-surface-default);
|
|
209
|
+
color: var(--spi-color-danger-base);
|
|
210
|
+
padding: var(--spi-size-2);
|
|
214
211
|
}
|
|
215
212
|
|
|
216
213
|
.btn-outline-none-danger:hover:not(:disabled),
|
|
217
214
|
.btn-outline-none-danger:focus:not(:disabled),
|
|
218
215
|
.btn-outline-danger:hover:not(:disabled),
|
|
219
216
|
.btn-outline-danger:focus:not(:disabled) {
|
|
220
|
-
background:
|
|
217
|
+
background: var(--spi-color-danger-lighter);
|
|
221
218
|
}
|
|
222
219
|
|
|
223
220
|
.btn-outline-none-primary:disabled:not(.loading),
|
|
224
221
|
.btn-outline-none-danger:disabled:not(.loading) {
|
|
225
222
|
background: transparent;
|
|
226
|
-
color:
|
|
223
|
+
color: var(--spi-color-text-muted);
|
|
227
224
|
}
|
|
228
225
|
</style>
|
|
@@ -16,14 +16,12 @@
|
|
|
16
16
|
<style>
|
|
17
17
|
.card {
|
|
18
18
|
width: 100%;
|
|
19
|
-
background:
|
|
20
|
-
border-radius:
|
|
21
|
-
box-shadow:
|
|
22
|
-
0px 1px 16px rgba(107, 113, 128, 0.1),
|
|
23
|
-
0px 1px 3px rgba(107, 113, 128, 0.2);
|
|
19
|
+
background: var(--spi-color-surface-default);
|
|
20
|
+
border-radius: var(--spi-rounded-2xl);
|
|
21
|
+
box-shadow: var(--spi-shadow-card);
|
|
24
22
|
}
|
|
25
23
|
|
|
26
24
|
.padding {
|
|
27
|
-
padding:
|
|
25
|
+
padding: var(--spi-size-6);
|
|
28
26
|
}
|
|
29
27
|
</style>
|