@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
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
bind:value
|
|
56
56
|
class={[
|
|
57
57
|
'form-textarea',
|
|
58
|
+
'spi-text-regular-2',
|
|
58
59
|
props.disabled && 'form-textarea-disabled',
|
|
59
60
|
props.readonly && 'form-textarea-readonly',
|
|
60
61
|
!resize && 'form-textarea-no-resize'
|
|
@@ -67,18 +68,18 @@
|
|
|
67
68
|
<div class="form-footer">
|
|
68
69
|
<div class="form-messages">
|
|
69
70
|
{#if description}
|
|
70
|
-
<p class="form-message form-message-description">
|
|
71
|
+
<p class="form-message form-message-description spi-text-regular-1">
|
|
71
72
|
{description}
|
|
72
73
|
</p>
|
|
73
74
|
{/if}
|
|
74
75
|
{#if errorMessage}
|
|
75
|
-
<p class="form-message form-message-error">
|
|
76
|
+
<p class="form-message form-message-error spi-text-regular-1">
|
|
76
77
|
{Array.isArray(errorMessage) ? errorMessage[0] : errorMessage}
|
|
77
78
|
</p>
|
|
78
79
|
{/if}
|
|
79
80
|
</div>
|
|
80
81
|
{#if maximumCharactersAllowed}
|
|
81
|
-
<div class={['form-character-count', isOverLimit && 'error']}>
|
|
82
|
+
<div class={['form-character-count', 'spi-text-regular-1', isOverLimit && 'error']}>
|
|
82
83
|
{currentTextLength} / {maximumCharactersAllowed}
|
|
83
84
|
</div>
|
|
84
85
|
{/if}
|
|
@@ -90,23 +91,17 @@
|
|
|
90
91
|
.form-container {
|
|
91
92
|
display: flex;
|
|
92
93
|
flex-direction: column;
|
|
93
|
-
gap:
|
|
94
|
-
font-size: 14px;
|
|
95
|
-
line-height: 20px;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.form-message {
|
|
99
|
-
font-size: 12px;
|
|
94
|
+
gap: var(--spi-size-2);
|
|
100
95
|
}
|
|
101
96
|
|
|
102
97
|
.form-textarea-wrapper {
|
|
103
98
|
position: relative;
|
|
104
99
|
display: flex;
|
|
105
100
|
width: 100%;
|
|
106
|
-
border-radius:
|
|
107
|
-
border:
|
|
108
|
-
background:
|
|
109
|
-
transition: all
|
|
101
|
+
border-radius: var(--spi-rounded-lg);
|
|
102
|
+
border: var(--spi-border-1) solid var(--spi-color-border-strong);
|
|
103
|
+
background: var(--spi-color-surface-default);
|
|
104
|
+
transition: all var(--spi-duration-normal) var(--spi-ease-in-out);
|
|
110
105
|
overflow: hidden;
|
|
111
106
|
}
|
|
112
107
|
|
|
@@ -114,24 +109,22 @@
|
|
|
114
109
|
:has(.form-textarea:read-only)
|
|
115
110
|
),
|
|
116
111
|
.form-textarea-wrapper:focus-within {
|
|
117
|
-
border-color:
|
|
112
|
+
border-color: var(--spi-color-border-focus);
|
|
118
113
|
}
|
|
119
114
|
|
|
120
115
|
.form-textarea-wrapper:focus-within {
|
|
121
|
-
box-shadow:
|
|
116
|
+
box-shadow: var(--spi-shadow-focus-primary);
|
|
122
117
|
}
|
|
123
118
|
|
|
124
119
|
.form-textarea {
|
|
125
|
-
font-size: 14px;
|
|
126
|
-
line-height: 20px;
|
|
127
120
|
display: flex;
|
|
128
121
|
width: 100%;
|
|
129
|
-
min-height:
|
|
130
|
-
padding:
|
|
122
|
+
min-height: var(--spi-size-20);
|
|
123
|
+
padding: var(--spi-size-2) var(--spi-size-4);
|
|
131
124
|
border: none;
|
|
132
|
-
border-radius:
|
|
133
|
-
color:
|
|
134
|
-
transition: all
|
|
125
|
+
border-radius: var(--spi-rounded-lg);
|
|
126
|
+
color: var(--spi-color-text-primary);
|
|
127
|
+
transition: all var(--spi-duration-normal) var(--spi-ease-in-out);
|
|
135
128
|
font-family: inherit;
|
|
136
129
|
}
|
|
137
130
|
|
|
@@ -140,15 +133,14 @@
|
|
|
140
133
|
}
|
|
141
134
|
|
|
142
135
|
.form-textarea-disabled {
|
|
143
|
-
background-color:
|
|
144
|
-
border-color:
|
|
145
|
-
color: #6b7180;
|
|
136
|
+
background-color: var(--spi-color-disabled-bg);
|
|
137
|
+
border-color: var(--spi-color-disabled-border);
|
|
146
138
|
cursor: not-allowed;
|
|
147
139
|
}
|
|
148
140
|
|
|
149
141
|
.form-textarea-readonly {
|
|
150
|
-
background-color:
|
|
151
|
-
border-color:
|
|
142
|
+
background-color: var(--spi-color-surface-subtle);
|
|
143
|
+
border-color: var(--spi-color-border-default);
|
|
152
144
|
cursor: default;
|
|
153
145
|
}
|
|
154
146
|
|
|
@@ -158,41 +150,40 @@
|
|
|
158
150
|
|
|
159
151
|
.form-textarea::placeholder,
|
|
160
152
|
.form-textarea:disabled::placeholder {
|
|
161
|
-
color:
|
|
162
|
-
opacity:
|
|
153
|
+
color: var(--spi-color-text-placeholder);
|
|
154
|
+
opacity: var(--spi-opacity-100);
|
|
163
155
|
}
|
|
164
156
|
|
|
165
157
|
.form-footer {
|
|
166
158
|
display: flex;
|
|
167
159
|
justify-content: space-between;
|
|
168
160
|
align-items: flex-start;
|
|
169
|
-
gap:
|
|
161
|
+
gap: var(--spi-size-2);
|
|
170
162
|
}
|
|
171
163
|
|
|
172
164
|
.form-messages {
|
|
173
165
|
display: flex;
|
|
174
166
|
flex-direction: column;
|
|
175
|
-
gap:
|
|
167
|
+
gap: var(--spi-size-1);
|
|
176
168
|
flex: 1;
|
|
177
169
|
}
|
|
178
170
|
|
|
179
171
|
.form-message-error {
|
|
180
|
-
color:
|
|
172
|
+
color: var(--spi-color-text-danger);
|
|
181
173
|
}
|
|
182
174
|
|
|
183
175
|
.form-message-description {
|
|
184
|
-
color:
|
|
176
|
+
color: var(--spi-color-text-muted);
|
|
185
177
|
}
|
|
186
178
|
|
|
187
179
|
.form-character-count {
|
|
188
|
-
font-size: 12px;
|
|
189
|
-
color: #6b7180;
|
|
190
180
|
white-space: nowrap;
|
|
181
|
+
color: var(--spi-color-text-muted);
|
|
191
182
|
flex-shrink: 0;
|
|
192
183
|
}
|
|
193
184
|
|
|
194
185
|
.form-character-count.error {
|
|
195
|
-
color:
|
|
186
|
+
color: var(--spi-color-text-danger);
|
|
196
187
|
}
|
|
197
188
|
|
|
198
189
|
.form-textarea-wrapper.error,
|
|
@@ -200,11 +191,11 @@
|
|
|
200
191
|
:has(.form-textarea:read-only)
|
|
201
192
|
),
|
|
202
193
|
.form-textarea-wrapper.error:focus-within {
|
|
203
|
-
border-color:
|
|
194
|
+
border-color: var(--spi-color-border-danger);
|
|
204
195
|
}
|
|
205
196
|
|
|
206
197
|
.form-textarea-wrapper.error:focus-within {
|
|
207
|
-
box-shadow:
|
|
198
|
+
box-shadow: var(--spi-shadow-focus-danger);
|
|
208
199
|
}
|
|
209
200
|
|
|
210
201
|
.form-textarea-wrapper.success,
|
|
@@ -212,27 +203,27 @@
|
|
|
212
203
|
:has(.form-textarea:read-only)
|
|
213
204
|
),
|
|
214
205
|
.form-textarea-wrapper.success:focus-within {
|
|
215
|
-
border-color:
|
|
206
|
+
border-color: var(--spi-color-border-success);
|
|
216
207
|
}
|
|
217
208
|
|
|
218
209
|
.form-textarea-wrapper.success:focus-within {
|
|
219
|
-
box-shadow:
|
|
210
|
+
box-shadow: var(--spi-shadow-focus-success);
|
|
220
211
|
}
|
|
221
212
|
|
|
222
213
|
.form-textarea-wrapper:has(.form-textarea:disabled),
|
|
223
214
|
.form-textarea-wrapper:has(.form-textarea:read-only) {
|
|
224
|
-
border-color:
|
|
215
|
+
border-color: var(--spi-color-disabled-border) !important;
|
|
225
216
|
box-shadow: none !important;
|
|
226
217
|
}
|
|
227
218
|
|
|
228
219
|
@media (prefers-contrast: high) {
|
|
229
220
|
.form-textarea {
|
|
230
|
-
border-width:
|
|
221
|
+
border-width: var(--spi-border-2);
|
|
231
222
|
}
|
|
232
223
|
|
|
233
224
|
.form-textarea:focus {
|
|
234
|
-
outline:
|
|
235
|
-
outline-offset:
|
|
225
|
+
outline: var(--spi-border-2) solid;
|
|
226
|
+
outline-offset: var(--spi-border-2);
|
|
236
227
|
}
|
|
237
228
|
}
|
|
238
229
|
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
role="switch"
|
|
33
33
|
/>
|
|
34
34
|
<div class={['toggle-slider', checked && 'checked', disabled && 'disabled']}>
|
|
35
|
-
<span class="material-icons-outlined toggle-icon">
|
|
35
|
+
<span class="material-icons-outlined toggle-icon spi-text-regular-1">
|
|
36
36
|
{#if checked}
|
|
37
37
|
done
|
|
38
38
|
{:else}
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
display: flex;
|
|
50
50
|
flex-direction: row;
|
|
51
51
|
align-items: center;
|
|
52
|
-
gap:
|
|
52
|
+
gap: var(--spi-size-2);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
.container.vertical {
|
|
@@ -64,90 +64,88 @@
|
|
|
64
64
|
.container.vertical label {
|
|
65
65
|
order: 1;
|
|
66
66
|
}
|
|
67
|
+
|
|
67
68
|
.toggle-container {
|
|
68
69
|
position: relative;
|
|
69
70
|
}
|
|
70
71
|
|
|
71
72
|
.toggle-input {
|
|
72
73
|
position: absolute;
|
|
73
|
-
opacity: 0;
|
|
74
|
+
opacity: var(--spi-opacity-0);
|
|
74
75
|
width: 0;
|
|
75
76
|
height: 0;
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
.toggle-slider {
|
|
79
80
|
display: flex;
|
|
80
|
-
width:
|
|
81
|
+
width: var(--spi-size-10);
|
|
81
82
|
padding: 2px;
|
|
82
83
|
align-items: center;
|
|
83
|
-
border-radius:
|
|
84
|
-
border:
|
|
85
|
-
background:
|
|
86
|
-
transition: all
|
|
84
|
+
border-radius: var(--spi-rounded-xl);
|
|
85
|
+
border: var(--spi-border-2) solid var(--spi-color-neutral-dark);
|
|
86
|
+
background: var(--spi-color-surface-default);
|
|
87
|
+
transition: all var(--spi-duration-slow) var(--spi-ease-default);
|
|
87
88
|
cursor: pointer;
|
|
88
89
|
}
|
|
89
90
|
|
|
90
91
|
.toggle-slider.checked {
|
|
91
92
|
justify-content: flex-end;
|
|
92
|
-
border:
|
|
93
|
-
background:
|
|
93
|
+
border: var(--spi-border-2) solid var(--spi-color-primary-base);
|
|
94
|
+
background: var(--spi-color-primary-base);
|
|
94
95
|
}
|
|
95
96
|
|
|
96
97
|
.toggle-slider.disabled {
|
|
97
98
|
cursor: not-allowed;
|
|
98
|
-
border:
|
|
99
|
-
background:
|
|
99
|
+
border: var(--spi-border-2) solid var(--spi-color-neutral-dark);
|
|
100
|
+
background: var(--spi-color-surface-muted);
|
|
100
101
|
}
|
|
101
102
|
|
|
102
103
|
.toggle-slider.disabled.checked {
|
|
103
|
-
border:
|
|
104
|
-
background:
|
|
104
|
+
border: var(--spi-border-2) solid var(--spi-color-neutral-dark);
|
|
105
|
+
background: var(--spi-color-neutral-dark);
|
|
105
106
|
}
|
|
106
107
|
|
|
107
108
|
.toggle-icon {
|
|
108
109
|
display: flex;
|
|
109
|
-
font-size: 12px;
|
|
110
|
-
flex-direction: column;
|
|
111
110
|
align-items: center;
|
|
112
|
-
|
|
113
|
-
border-radius:
|
|
114
|
-
border:
|
|
115
|
-
background:
|
|
116
|
-
color:
|
|
117
|
-
transition: all
|
|
118
|
-
cursor: pointer;
|
|
111
|
+
line-height: normal;
|
|
112
|
+
border-radius: var(--spi-rounded-2xl);
|
|
113
|
+
border: var(--spi-border-2) solid var(--spi-color-neutral-dark);
|
|
114
|
+
background: var(--spi-color-neutral-dark);
|
|
115
|
+
color: var(--spi-color-text-inverse);
|
|
116
|
+
transition: all var(--spi-duration-slow) var(--spi-ease-default);
|
|
119
117
|
}
|
|
120
118
|
|
|
121
119
|
.toggle-slider.checked .toggle-icon {
|
|
122
|
-
border:
|
|
123
|
-
background:
|
|
124
|
-
color:
|
|
120
|
+
border: var(--spi-border-2) solid var(--spi-color-surface-default);
|
|
121
|
+
background: var(--spi-color-surface-default);
|
|
122
|
+
color: var(--spi-color-primary-base);
|
|
125
123
|
}
|
|
126
124
|
|
|
127
125
|
.toggle-slider.disabled .toggle-icon {
|
|
128
126
|
cursor: not-allowed;
|
|
129
|
-
border:
|
|
130
|
-
background:
|
|
131
|
-
color:
|
|
127
|
+
border: var(--spi-border-2) solid var(--spi-color-neutral-dark);
|
|
128
|
+
background: var(--spi-color-neutral-dark);
|
|
129
|
+
color: var(--spi-color-text-inverse);
|
|
132
130
|
}
|
|
133
131
|
|
|
134
132
|
.toggle-slider.disabled.checked .toggle-icon {
|
|
135
|
-
border:
|
|
136
|
-
background:
|
|
137
|
-
color:
|
|
133
|
+
border: var(--spi-border-2) solid var(--spi-color-surface-default);
|
|
134
|
+
background: var(--spi-color-surface-default);
|
|
135
|
+
color: var(--spi-color-neutral-dark);
|
|
138
136
|
}
|
|
139
137
|
|
|
140
138
|
.toggle-container:hover .toggle-slider:not(.disabled).checked {
|
|
141
|
-
background:
|
|
142
|
-
border:
|
|
139
|
+
background: var(--spi-color-primary-dark);
|
|
140
|
+
border: var(--spi-border-2) solid var(--spi-color-primary-dark);
|
|
143
141
|
}
|
|
144
142
|
|
|
145
143
|
.toggle-container:hover .toggle-slider:not(.disabled):not(.checked) {
|
|
146
|
-
border:
|
|
144
|
+
border: var(--spi-border-2) solid var(--spi-color-neutral-darker);
|
|
147
145
|
}
|
|
148
146
|
|
|
149
147
|
.toggle-container:hover .toggle-slider:not(.disabled):not(.checked) .toggle-icon {
|
|
150
|
-
border:
|
|
151
|
-
background:
|
|
148
|
+
border: var(--spi-border-2) solid var(--spi-color-neutral-darker);
|
|
149
|
+
background: var(--spi-color-neutral-darker);
|
|
152
150
|
}
|
|
153
151
|
</style>
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
};
|
|
20
20
|
</script>
|
|
21
21
|
|
|
22
|
-
<section class="feedback-container">
|
|
22
|
+
<section class="feedback-container spi-text-regular-2">
|
|
23
23
|
<img src={FeedbackIcon} class="feedback-icon" alt="Feedback icon" />
|
|
24
24
|
|
|
25
25
|
<div class="feedback-detail">
|
|
26
|
-
<h1>{title || errorTitle[status]}</h1>
|
|
26
|
+
<h1 class="spi-text-bold-6">{title || errorTitle[status]}</h1>
|
|
27
27
|
{#if status === 404}
|
|
28
28
|
<div>
|
|
29
29
|
<p>We couldn’t find the page:</p>
|
|
@@ -53,17 +53,13 @@
|
|
|
53
53
|
margin-left: auto;
|
|
54
54
|
margin-right: auto;
|
|
55
55
|
width: 350px;
|
|
56
|
-
padding:
|
|
57
|
-
gap:
|
|
58
|
-
border-radius:
|
|
59
|
-
background-color:
|
|
60
|
-
box-shadow:
|
|
61
|
-
0px 1px 16px rgba(107, 113, 128, 0.1),
|
|
62
|
-
0px 1px 3px rgba(107, 113, 128, 0.2);
|
|
56
|
+
padding: var(--spi-size-6);
|
|
57
|
+
gap: var(--spi-size-8);
|
|
58
|
+
border-radius: var(--spi-rounded-2xl);
|
|
59
|
+
background-color: var(--spi-color-surface-default);
|
|
60
|
+
box-shadow: var(--spi-shadow-card);
|
|
63
61
|
align-items: center;
|
|
64
62
|
text-align: center;
|
|
65
|
-
font-size: 14px;
|
|
66
|
-
line-height: 20px;
|
|
67
63
|
}
|
|
68
64
|
|
|
69
65
|
.feedback-icon {
|
|
@@ -74,12 +70,7 @@
|
|
|
74
70
|
.feedback-detail {
|
|
75
71
|
display: flex;
|
|
76
72
|
flex-direction: column;
|
|
77
|
-
gap:
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.feedback-detail > h1 {
|
|
81
|
-
font-size: 24px;
|
|
82
|
-
font-weight: bold;
|
|
73
|
+
gap: var(--spi-size-2);
|
|
83
74
|
}
|
|
84
75
|
|
|
85
76
|
.feedback-detail .link {
|
|
@@ -94,6 +85,6 @@
|
|
|
94
85
|
}
|
|
95
86
|
|
|
96
87
|
.link {
|
|
97
|
-
color:
|
|
88
|
+
color: var(--spi-color-text-link);
|
|
98
89
|
}
|
|
99
90
|
</style>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
}: Props = $props();
|
|
13
13
|
</script>
|
|
14
14
|
|
|
15
|
-
<footer class="footer-section">
|
|
15
|
+
<footer class="footer-section spi-text-regular-2">
|
|
16
16
|
<a href={homeUrl} title="Home">
|
|
17
17
|
<FooterLogo />
|
|
18
18
|
</a>
|
|
@@ -39,21 +39,20 @@
|
|
|
39
39
|
|
|
40
40
|
<style>
|
|
41
41
|
.footer-section {
|
|
42
|
-
background-color:
|
|
42
|
+
background-color: var(--spi-color-neutral-darkest);
|
|
43
43
|
display: flex;
|
|
44
|
-
gap:
|
|
44
|
+
gap: var(--spi-size-12);
|
|
45
45
|
align-items: center;
|
|
46
46
|
justify-content: center;
|
|
47
|
-
padding:
|
|
48
|
-
color:
|
|
47
|
+
padding: var(--spi-size-3);
|
|
48
|
+
color: var(--spi-color-text-inverse);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
.footer-section .links,
|
|
52
52
|
.footer-section .legal {
|
|
53
53
|
display: flex;
|
|
54
54
|
flex-direction: column;
|
|
55
|
-
gap:
|
|
56
|
-
font-size: 14px;
|
|
55
|
+
gap: var(--spi-size-1);
|
|
57
56
|
}
|
|
58
57
|
|
|
59
58
|
.footer-section a:hover {
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
import { addToast, Spinner } from '../../index.js';
|
|
14
14
|
import { getFormContext } from './context.js';
|
|
15
|
-
import { isEqual } from './utils.js';
|
|
16
15
|
import type { FormError } from './types.js';
|
|
16
|
+
import { isEqual } from './utils.js';
|
|
17
17
|
|
|
18
18
|
type Schema = z.infer<typeof schema>;
|
|
19
19
|
type FormEncodingType = 'application/x-www-form-urlencoded' | 'multipart/form-data';
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
aria-label="Waffle Component"
|
|
93
93
|
aria-expanded={showWaffle}
|
|
94
94
|
>
|
|
95
|
-
<span class="material-icons icon-span">apps</span>
|
|
95
|
+
<span class="material-icons icon-span spi-text-regular-6">apps</span>
|
|
96
96
|
</button>
|
|
97
97
|
<Waffle items={waffleItems} bind:showWaffle />
|
|
98
98
|
{/if}
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
aria-label="menu button"
|
|
105
105
|
aria-expanded={showMenu}
|
|
106
106
|
>
|
|
107
|
-
<span class="material-icons icon-span menu-icon">menu</span>
|
|
107
|
+
<span class="material-icons icon-span menu-icon spi-text-regular-6">menu</span>
|
|
108
108
|
</button>
|
|
109
109
|
<Menu {menuItems} bind:showMenu />
|
|
110
110
|
{/if}
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
<HeaderLogo />
|
|
113
113
|
</a>
|
|
114
114
|
</div>
|
|
115
|
-
<h2 class="header-title">
|
|
115
|
+
<h2 class="header-title spi-text-medium-6">
|
|
116
116
|
{title}
|
|
117
117
|
</h2>
|
|
118
118
|
</nav>
|
|
@@ -126,10 +126,12 @@
|
|
|
126
126
|
aria-label="Announcement"
|
|
127
127
|
aria-expanded={showAnnouncement}
|
|
128
128
|
>
|
|
129
|
-
<span class="material-icons-outlined icon-span menu-icon"
|
|
129
|
+
<span class="material-icons-outlined icon-span menu-icon spi-text-regular-6"
|
|
130
|
+
>notifications</span
|
|
131
|
+
>
|
|
130
132
|
{#if unreadCount > 0}
|
|
131
133
|
<div class="notification-badge">
|
|
132
|
-
<span class="badge-count">{unreadCount}</span>
|
|
134
|
+
<span class="badge-count spi-text-medium-1">{unreadCount}</span>
|
|
133
135
|
</div>
|
|
134
136
|
{/if}
|
|
135
137
|
</button>
|
|
@@ -144,66 +146,61 @@
|
|
|
144
146
|
</header>
|
|
145
147
|
|
|
146
148
|
<style>
|
|
149
|
+
.header-container {
|
|
150
|
+
display: flex;
|
|
151
|
+
gap: var(--spi-size-6);
|
|
152
|
+
justify-content: space-between;
|
|
153
|
+
align-items: center;
|
|
154
|
+
padding: var(--spi-size-5) var(--spi-size-4);
|
|
155
|
+
background: var(--spi-color-surface-default);
|
|
156
|
+
box-shadow: var(--spi-shadow-card);
|
|
157
|
+
position: relative;
|
|
158
|
+
z-index: 50;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.header-section {
|
|
162
|
+
display: flex;
|
|
163
|
+
align-items: center;
|
|
164
|
+
gap: var(--spi-size-8);
|
|
165
|
+
}
|
|
166
|
+
|
|
147
167
|
.header-button {
|
|
148
168
|
position: relative;
|
|
149
169
|
display: flex;
|
|
150
170
|
justify-content: center;
|
|
151
171
|
align-items: center;
|
|
152
|
-
border-radius:
|
|
172
|
+
border-radius: var(--spi-rounded-full);
|
|
153
173
|
background: transparent;
|
|
154
174
|
z-index: 40;
|
|
155
175
|
cursor: pointer;
|
|
156
176
|
border: none;
|
|
157
|
-
width:
|
|
158
|
-
height:
|
|
159
|
-
transition: background-color
|
|
160
|
-
padding:
|
|
177
|
+
width: var(--spi-size-10);
|
|
178
|
+
height: var(--spi-size-10);
|
|
179
|
+
transition: background-color var(--spi-duration-normal) var(--spi-ease-in-out);
|
|
180
|
+
padding: var(--spi-size-2);
|
|
161
181
|
}
|
|
162
182
|
|
|
163
183
|
.header-button:hover {
|
|
164
|
-
background:
|
|
184
|
+
background: var(--spi-color-surface-muted);
|
|
165
185
|
}
|
|
166
186
|
|
|
167
187
|
.header-button.active {
|
|
168
|
-
background:
|
|
169
|
-
color:
|
|
188
|
+
background: var(--spi-color-surface-default);
|
|
189
|
+
color: var(--spi-color-text-secondary);
|
|
170
190
|
}
|
|
171
191
|
|
|
172
192
|
.icon-span {
|
|
173
|
-
|
|
174
|
-
color: #6b7180;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
.header-container {
|
|
178
|
-
display: flex;
|
|
179
|
-
gap: 24px;
|
|
180
|
-
justify-content: space-between;
|
|
181
|
-
align-items: center;
|
|
182
|
-
padding: 20px 16px;
|
|
183
|
-
background: #fff;
|
|
184
|
-
box-shadow:
|
|
185
|
-
0 1px 3px 0 rgba(107, 113, 128, 0.2),
|
|
186
|
-
0 1px 16px 0 rgba(107, 113, 128, 0.1);
|
|
187
|
-
position: relative;
|
|
188
|
-
z-index: 50;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
.header-section {
|
|
192
|
-
display: flex;
|
|
193
|
-
align-items: center;
|
|
194
|
-
gap: 32px;
|
|
193
|
+
color: var(--spi-color-text-muted);
|
|
195
194
|
}
|
|
196
195
|
|
|
197
196
|
.header-buttons-container {
|
|
198
197
|
display: flex;
|
|
199
198
|
align-items: center;
|
|
200
|
-
gap:
|
|
199
|
+
gap: var(--spi-size-3);
|
|
201
200
|
}
|
|
202
201
|
|
|
203
202
|
.header-title {
|
|
204
|
-
color:
|
|
205
|
-
font-size: 24px;
|
|
206
|
-
font-weight: 500;
|
|
203
|
+
color: var(--spi-color-text-primary);
|
|
207
204
|
cursor: default;
|
|
208
205
|
}
|
|
209
206
|
|
|
@@ -214,16 +211,13 @@
|
|
|
214
211
|
transform: translate(5px, 2px);
|
|
215
212
|
display: flex;
|
|
216
213
|
justify-content: center;
|
|
217
|
-
background-color:
|
|
218
|
-
border-radius:
|
|
214
|
+
background-color: var(--spi-color-primary-base);
|
|
215
|
+
border-radius: var(--spi-rounded-sm);
|
|
219
216
|
min-width: 19px;
|
|
220
217
|
padding: 0 3px;
|
|
221
218
|
}
|
|
222
219
|
|
|
223
220
|
.badge-count {
|
|
224
|
-
color:
|
|
225
|
-
font-weight: 500;
|
|
226
|
-
font-size: 12px;
|
|
227
|
-
line-height: 16px;
|
|
221
|
+
color: var(--spi-color-text-inverse);
|
|
228
222
|
}
|
|
229
223
|
</style>
|