@reliability-design/web 1.1.1 → 1.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/dist/components/rel-accordion/rel-accordion.ts +17 -32
- package/dist/components/rel-alert/rel-alert.ts +34 -34
- package/dist/components/rel-avatar/rel-avatar.ts +5 -3
- package/dist/components/rel-badge/rel-badge.ts +2 -1
- package/dist/components/rel-breadcrumb/rel-breadcrumb.ts +6 -6
- package/dist/components/rel-button/rel-button.ts +67 -21
- package/dist/components/rel-calendar/rel-calendar.ts +15 -8
- package/dist/components/rel-card/rel-card.ts +9 -17
- package/dist/components/rel-cardmedia/rel-cardmedia.ts +20 -23
- package/dist/components/rel-carousel/rel-carousel.ts +596 -468
- package/dist/components/rel-checkbox/rel-checkbox.ts +68 -16
- package/dist/components/rel-chip/rel-chip.ts +291 -244
- package/dist/components/rel-container/rel-container.ts +2 -2
- package/dist/components/rel-date-picker/rel-date-picker.ts +23 -19
- package/dist/components/rel-divider/rel-divider.ts +3 -3
- package/dist/components/rel-drawer/rel-drawer-footer.ts +0 -2
- package/dist/components/rel-drawer/rel-drawer.ts +41 -88
- package/dist/components/rel-kbd/rel-kbd.ts +94 -118
- package/dist/components/rel-layout/rel-layout.ts +49 -58
- package/dist/components/rel-menu/rel-menu.ts +359 -359
- package/dist/components/rel-menubar/rel-menubar-menu.css +3 -0
- package/dist/components/rel-menubar/rel-menubar-menu.ts +2 -1
- package/dist/components/rel-menubar/rel-menubar.ts +602 -605
- package/dist/components/rel-otp/rel-otp.ts +22 -25
- package/dist/components/rel-pagination/rel-pagination.ts +101 -57
- package/dist/components/rel-popover/rel-popover-content.ts +6 -5
- package/dist/components/rel-popover/rel-popover.ts +26 -7
- package/dist/components/rel-progress/rel-progress.ts +10 -9
- package/dist/components/rel-radio/rel-radio.ts +228 -172
- package/dist/components/rel-range-picker/rel-range-picker.css +349 -0
- package/dist/components/rel-range-picker/rel-range-picker.ts +1079 -0
- package/dist/components/rel-resizable/rel-resizable-handle.ts +8 -7
- package/dist/components/rel-segmented-button/rel-segmented-button.ts +41 -20
- package/dist/components/rel-select/rel-select.ts +103 -32
- package/dist/components/rel-sheet/rel-sheet.ts +362 -684
- package/dist/components/rel-slider/rel-slider.ts +49 -27
- package/dist/components/rel-snackbar/rel-snackbar.ts +28 -28
- package/dist/components/rel-stepper/rel-stepper.ts +11 -10
- package/dist/components/rel-switch/rel-switch.ts +7 -6
- package/dist/components/rel-tab/rel-tab.ts +15 -29
- package/dist/components/rel-textfield/rel-textfield.ts +144 -35
- package/dist/components/rel-toast/rel-toast.ts +25 -12
- package/dist/components/rel-tooltip/rel-tooltip.ts +123 -123
- package/dist/components/rel-topbar/rel-topbar-actions.ts +1 -0
- package/dist/components/rel-topbar/rel-topbar-brand.ts +1 -0
- package/dist/components/rel-topbar/rel-topbar-dropdown-item.ts +32 -2
- package/dist/components/rel-topbar/rel-topbar-dropdown.ts +1 -1
- package/dist/components/rel-topbar/rel-topbar-item.ts +15 -10
- package/dist/components/rel-topbar/rel-topbar-mobile-panel.ts +1 -0
- package/dist/components/rel-topbar/rel-topbar-profile.ts +30 -56
- package/dist/components/rel-topbar/rel-topbar-utilities.ts +1 -0
- package/dist/components/rel-topbar/rel-topbar.ts +137 -28
- package/dist/index.d.mts +153 -178
- package/dist/index.d.ts +153 -178
- package/dist/index.js +4711 -3875
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4047 -3202
- package/dist/index.mjs.map +1 -1
- package/dist/rel-menubar-menu-BEEQDAXW.css +3 -0
- package/dist/styles/vars-v2.css +525 -0
- package/dist/styles/vars.css +346 -346
- package/dist/{vars-TBB4BMSD.css → vars-I2PC74XD.css} +346 -346
- package/dist/vars-v2-VMGWTFJZ.css +525 -0
- package/package.json +2 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LitElement, html, css } from "lit";
|
|
2
2
|
import { customElement, property, state } from "lit/decorators.js";
|
|
3
|
+
import "../../styles/vars-v2.css";
|
|
3
4
|
|
|
4
5
|
export type SliderType = "continuous" | "discrete";
|
|
5
6
|
export type TrackStyle = "solid" | "dotted";
|
|
@@ -34,15 +35,15 @@ export class RelSlider extends LitElement {
|
|
|
34
35
|
--track-height: 5px;
|
|
35
36
|
--thumb-size: 10px;
|
|
36
37
|
--thumb-stroke: 7px;
|
|
37
|
-
--thumb-halo-color: var(--rel-border-default);
|
|
38
|
+
--thumb-halo-color: var(--rel-color-border-default);
|
|
38
39
|
--tick-size: 4px;
|
|
39
40
|
--shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
|
|
40
|
-
--halo: 0 2px 0 var(--rel-
|
|
41
|
+
--halo: 0 2px 0 var(--rel-color-bg-tertiary), 0 6px 10px rgba(0, 0, 0, 0.07);
|
|
41
42
|
--marker-width: 24px;
|
|
42
43
|
--marker-height: 28px;
|
|
43
44
|
|
|
44
45
|
display: block;
|
|
45
|
-
font-family: var(--rel-fontFamilies-primary
|
|
46
|
+
font-family: var(--rel-fontFamilies-primary);
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
.rel-slider {
|
|
@@ -59,7 +60,7 @@ export class RelSlider extends LitElement {
|
|
|
59
60
|
left: 0;
|
|
60
61
|
width: 100%;
|
|
61
62
|
height: var(--track-height);
|
|
62
|
-
background: var(--rel-
|
|
63
|
+
background: var(--rel-color-border-default);
|
|
63
64
|
border-radius: 2px;
|
|
64
65
|
transform: translateY(-50%);
|
|
65
66
|
pointer-events: none;
|
|
@@ -70,7 +71,7 @@ export class RelSlider extends LitElement {
|
|
|
70
71
|
top: 50%;
|
|
71
72
|
left: 0;
|
|
72
73
|
height: var(--track-height);
|
|
73
|
-
background: var(--rel-
|
|
74
|
+
background: var(--rel-color-text-primary);
|
|
74
75
|
border-radius: 2px;
|
|
75
76
|
transform: translateY(-50%);
|
|
76
77
|
pointer-events: none;
|
|
@@ -78,12 +79,10 @@ export class RelSlider extends LitElement {
|
|
|
78
79
|
|
|
79
80
|
.track-active.dotted {
|
|
80
81
|
background: radial-gradient(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
center/12px 4px repeat-x,
|
|
86
|
-
var(--rel-colors-black);
|
|
82
|
+
circle,
|
|
83
|
+
var(--rel-color-text-primary) 0 2px,
|
|
84
|
+
transparent 2px
|
|
85
|
+
) 0 50%/12px 5px repeat-x;
|
|
87
86
|
}
|
|
88
87
|
|
|
89
88
|
/* Input */
|
|
@@ -164,8 +163,8 @@ export class RelSlider extends LitElement {
|
|
|
164
163
|
.thumb-container {
|
|
165
164
|
position: absolute;
|
|
166
165
|
left: 0;
|
|
167
|
-
top:
|
|
168
|
-
transform: translate(-50%, -
|
|
166
|
+
top: 50%;
|
|
167
|
+
transform: translate(-50%, calc(-100% + var(--thumb-size) / 2));
|
|
169
168
|
pointer-events: none;
|
|
170
169
|
z-index: 5;
|
|
171
170
|
display: flex;
|
|
@@ -191,7 +190,7 @@ export class RelSlider extends LitElement {
|
|
|
191
190
|
.custom-thumb {
|
|
192
191
|
width: var(--thumb-size);
|
|
193
192
|
height: var(--thumb-size);
|
|
194
|
-
background: var(--rel-
|
|
193
|
+
background: var(--rel-color-text-primary);
|
|
195
194
|
border-radius: 50%;
|
|
196
195
|
transition: box-shadow 0.15s ease;
|
|
197
196
|
}
|
|
@@ -215,7 +214,7 @@ export class RelSlider extends LitElement {
|
|
|
215
214
|
position: absolute;
|
|
216
215
|
width: var(--tick-size);
|
|
217
216
|
height: var(--tick-size);
|
|
218
|
-
background: var(--rel-
|
|
217
|
+
background: var(--rel-color-text-primary);
|
|
219
218
|
border-radius: 50%;
|
|
220
219
|
transform: translate(-50%, -50%);
|
|
221
220
|
transition: background 0.2s;
|
|
@@ -223,7 +222,7 @@ export class RelSlider extends LitElement {
|
|
|
223
222
|
}
|
|
224
223
|
|
|
225
224
|
.tick.active {
|
|
226
|
-
background: var(--rel-
|
|
225
|
+
background: var(--rel-color-bg-primary);
|
|
227
226
|
}
|
|
228
227
|
|
|
229
228
|
/* Tick labels */
|
|
@@ -233,7 +232,7 @@ export class RelSlider extends LitElement {
|
|
|
233
232
|
left: 0;
|
|
234
233
|
width: 100%;
|
|
235
234
|
font-size: var(--rel-fontSizes-xs);
|
|
236
|
-
color: var(--rel-
|
|
235
|
+
color: var(--rel-color-text-heading);
|
|
237
236
|
pointer-events: none;
|
|
238
237
|
}
|
|
239
238
|
|
|
@@ -244,29 +243,29 @@ export class RelSlider extends LitElement {
|
|
|
244
243
|
|
|
245
244
|
/* Disabled State */
|
|
246
245
|
.rel-slider.disabled .track {
|
|
247
|
-
background: var(--rel-
|
|
246
|
+
background: var(--rel-color-border-default);
|
|
248
247
|
}
|
|
249
248
|
|
|
250
249
|
.rel-slider.disabled .track-active {
|
|
251
|
-
background: var(--rel-
|
|
250
|
+
background: var(--rel-color-text-placeholder);
|
|
252
251
|
}
|
|
253
252
|
|
|
254
253
|
.rel-slider.disabled .track-active.dotted {
|
|
255
254
|
background: radial-gradient(
|
|
256
255
|
circle,
|
|
257
|
-
var(--rel-
|
|
256
|
+
var(--rel-color-bg-tertiary) 0 1px,
|
|
258
257
|
transparent 1px
|
|
259
258
|
)
|
|
260
259
|
center/12px 4px repeat-x,
|
|
261
|
-
var(--rel-
|
|
260
|
+
var(--rel-color-text-placeholder);
|
|
262
261
|
}
|
|
263
262
|
|
|
264
263
|
.rel-slider.disabled .tick {
|
|
265
|
-
background: var(--rel-
|
|
264
|
+
background: var(--rel-color-text-placeholder);
|
|
266
265
|
}
|
|
267
266
|
|
|
268
267
|
.rel-slider.disabled .tick-label {
|
|
269
|
-
color: var(--rel-
|
|
268
|
+
color: var(--rel-color-text-placeholder);
|
|
270
269
|
}
|
|
271
270
|
|
|
272
271
|
.rel-slider.disabled .slider-input {
|
|
@@ -274,13 +273,36 @@ export class RelSlider extends LitElement {
|
|
|
274
273
|
}
|
|
275
274
|
|
|
276
275
|
.rel-slider.disabled .custom-thumb {
|
|
277
|
-
background: var(--rel-
|
|
278
|
-
box-shadow:
|
|
276
|
+
background: var(--rel-color-text-placeholder);
|
|
277
|
+
box-shadow: none;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
.rel-slider.disabled .slider-input:active ~ .thumb-container .custom-thumb,
|
|
281
|
+
.rel-slider.disabled .slider-input:focus-visible ~ .thumb-container .custom-thumb {
|
|
282
|
+
box-shadow: none;
|
|
279
283
|
}
|
|
280
284
|
|
|
281
285
|
.rel-slider.disabled .value-marker svg path {
|
|
282
286
|
fill: var(--rel-colors-gray-placeholder);
|
|
283
287
|
}
|
|
288
|
+
|
|
289
|
+
/* Dark mode overrides */
|
|
290
|
+
:host-context([data-theme="dark"]),
|
|
291
|
+
:host-context(.dark) {
|
|
292
|
+
--thumb-halo-color: var(--rel-color-border-default);
|
|
293
|
+
--halo: 0 2px 0 var(--rel-color-bg-selected),
|
|
294
|
+
0 6px 10px rgba(0, 0, 0, 0.3);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
:host-context([data-theme="dark"]) .value-marker svg path,
|
|
298
|
+
:host-context(.dark) .value-marker svg path {
|
|
299
|
+
fill: #2B2B2B;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
:host-context([data-theme="dark"]) .value-marker text,
|
|
303
|
+
:host-context(.dark) .value-marker text {
|
|
304
|
+
fill: #FFFFFF;
|
|
305
|
+
}
|
|
284
306
|
`;
|
|
285
307
|
|
|
286
308
|
connectedCallback() {
|
|
@@ -381,12 +403,12 @@ export class RelSlider extends LitElement {
|
|
|
381
403
|
<svg viewBox="0 0 24 32" xmlns="http://www.w3.org/2000/svg">
|
|
382
404
|
<path
|
|
383
405
|
d="M12 0C18.6274 0 24 5.37258 24 12C24 21 12 32 12 32C12 32 0 21 0 12C0 5.37258 5.37258 0 12 0Z"
|
|
384
|
-
fill="var(--rel-
|
|
406
|
+
fill="var(--rel-color-text-primary)" />
|
|
385
407
|
<text
|
|
386
408
|
x="12"
|
|
387
409
|
y="16"
|
|
388
410
|
text-anchor="middle"
|
|
389
|
-
fill="var(--rel-
|
|
411
|
+
fill="var(--rel-color-bg-primary)"
|
|
390
412
|
font-size="12"
|
|
391
413
|
font-family="Poppins"
|
|
392
414
|
font-weight="600">
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { LitElement, html, css } from "lit";
|
|
2
2
|
import { customElement, property, state } from "lit/decorators.js";
|
|
3
|
+
import "../../styles/vars-v2.css";
|
|
4
|
+
import "@reliability-design/icons/rel-icon";
|
|
3
5
|
|
|
4
6
|
export type SnackbarLines = "single" | "double";
|
|
5
7
|
export type SnackbarType = "default" | "success" | "error" | "warning";
|
|
@@ -38,10 +40,10 @@ export class RelSnackbar extends LitElement {
|
|
|
38
40
|
min-width: 280px;
|
|
39
41
|
max-width: 500px;
|
|
40
42
|
margin: 0;
|
|
41
|
-
padding: 12px 16px;
|
|
43
|
+
padding: 12px 16px 12px 10px;
|
|
42
44
|
border-radius: var(--rel-borders-radius-border-radius-200);
|
|
43
|
-
background-color: var(--rel-
|
|
44
|
-
color:
|
|
45
|
+
background-color: var(--rel-surface-toast);
|
|
46
|
+
color: #FFFFFF;
|
|
45
47
|
font-family: var(--rel-fontFamilies-primary);
|
|
46
48
|
box-shadow: var(--rel-shadows-shadow-300);
|
|
47
49
|
animation: slide-up 0.3s ease-out;
|
|
@@ -59,28 +61,28 @@ export class RelSnackbar extends LitElement {
|
|
|
59
61
|
|
|
60
62
|
/* Type variants — border accent using semantic DS tokens */
|
|
61
63
|
.snackbar.type-success {
|
|
62
|
-
border-left-color: var(--rel-colors-green-
|
|
64
|
+
border-left-color: var(--rel-colors-green-tertiary);
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
.snackbar.type-error {
|
|
66
|
-
border-left-color: var(--rel-colors-red-
|
|
68
|
+
border-left-color: var(--rel-colors-red-primary);
|
|
67
69
|
}
|
|
68
70
|
|
|
69
71
|
.snackbar.type-warning {
|
|
70
|
-
border-left-color: var(--rel-colors-
|
|
72
|
+
border-left-color: var(--rel-colors-orange-warning);
|
|
71
73
|
}
|
|
72
74
|
|
|
73
75
|
/* Icon color matches type accent */
|
|
74
76
|
.snackbar.type-success .snackbar-icon {
|
|
75
|
-
color: var(--rel-colors-green-
|
|
77
|
+
color: var(--rel-colors-green-primary);
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
.snackbar.type-error .snackbar-icon {
|
|
79
|
-
color: var(--rel-colors-red-
|
|
81
|
+
color: var(--rel-colors-red-secondary);
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
.snackbar.type-warning .snackbar-icon {
|
|
83
|
-
color: var(--rel-colors-
|
|
85
|
+
color: var(--rel-colors-yellow-pending);
|
|
84
86
|
}
|
|
85
87
|
|
|
86
88
|
.snackbar-icon {
|
|
@@ -88,7 +90,6 @@ export class RelSnackbar extends LitElement {
|
|
|
88
90
|
align-items: center;
|
|
89
91
|
margin-right: 10px;
|
|
90
92
|
flex-shrink: 0;
|
|
91
|
-
font-size: 14px;
|
|
92
93
|
}
|
|
93
94
|
|
|
94
95
|
.snackbar-body {
|
|
@@ -126,12 +127,14 @@ export class RelSnackbar extends LitElement {
|
|
|
126
127
|
.snackbar-action {
|
|
127
128
|
background: none;
|
|
128
129
|
border: none;
|
|
129
|
-
color: var(--rel-colors-green-
|
|
130
|
+
color: var(--rel-colors-green-primary);
|
|
130
131
|
font-weight: var(--rel-fontWeights-semibold);
|
|
131
132
|
font-size: var(--rel-fontSizes-sm);
|
|
132
133
|
font-family: var(--rel-fontFamilies-primary);
|
|
133
134
|
cursor: pointer;
|
|
134
135
|
padding: 0;
|
|
136
|
+
display: flex;
|
|
137
|
+
align-items: center;
|
|
135
138
|
transition: opacity 0.2s ease;
|
|
136
139
|
}
|
|
137
140
|
|
|
@@ -144,7 +147,7 @@ export class RelSnackbar extends LitElement {
|
|
|
144
147
|
}
|
|
145
148
|
|
|
146
149
|
.snackbar-action:focus-visible {
|
|
147
|
-
outline: 2px solid
|
|
150
|
+
outline: 2px solid #FFFFFF;
|
|
148
151
|
outline-offset: 2px;
|
|
149
152
|
border-radius: 2px;
|
|
150
153
|
}
|
|
@@ -152,12 +155,9 @@ export class RelSnackbar extends LitElement {
|
|
|
152
155
|
.snackbar-close {
|
|
153
156
|
background: none;
|
|
154
157
|
border: none;
|
|
155
|
-
color:
|
|
158
|
+
color: #FFFFFF;
|
|
156
159
|
cursor: pointer;
|
|
157
|
-
font-size: 16px;
|
|
158
160
|
padding: 0;
|
|
159
|
-
width: 20px;
|
|
160
|
-
height: 20px;
|
|
161
161
|
display: flex;
|
|
162
162
|
align-items: center;
|
|
163
163
|
justify-content: center;
|
|
@@ -173,7 +173,7 @@ export class RelSnackbar extends LitElement {
|
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
.snackbar-close:focus-visible {
|
|
176
|
-
outline: 2px solid
|
|
176
|
+
outline: 2px solid #FFFFFF;
|
|
177
177
|
outline-offset: 2px;
|
|
178
178
|
border-radius: 2px;
|
|
179
179
|
}
|
|
@@ -263,13 +263,15 @@ export class RelSnackbar extends LitElement {
|
|
|
263
263
|
);
|
|
264
264
|
}
|
|
265
265
|
|
|
266
|
-
private
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
266
|
+
private renderIcon() {
|
|
267
|
+
const iconMap: Record<string, string> = {
|
|
268
|
+
success: "check-circle",
|
|
269
|
+
error: "error",
|
|
270
|
+
warning: "warning",
|
|
271
|
+
};
|
|
272
|
+
const name = iconMap[this.type];
|
|
273
|
+
if (!name) return html``;
|
|
274
|
+
return html`<rel-icon name="${name}" size="lg" class="snackbar-icon"></rel-icon>`;
|
|
273
275
|
}
|
|
274
276
|
|
|
275
277
|
render() {
|
|
@@ -282,12 +284,10 @@ export class RelSnackbar extends LitElement {
|
|
|
282
284
|
.filter(Boolean)
|
|
283
285
|
.join(" ");
|
|
284
286
|
|
|
285
|
-
const icon = this.getIcon();
|
|
286
|
-
|
|
287
287
|
return html`
|
|
288
288
|
<div class="${snackbarClasses}">
|
|
289
289
|
<div class="snackbar-body">
|
|
290
|
-
${
|
|
290
|
+
${this.type !== "default" ? this.renderIcon() : ""}
|
|
291
291
|
<div class="snackbar-message">${this.message}</div>
|
|
292
292
|
</div>
|
|
293
293
|
|
|
@@ -302,7 +302,7 @@ export class RelSnackbar extends LitElement {
|
|
|
302
302
|
${this.iconClose
|
|
303
303
|
? html`
|
|
304
304
|
<button class="snackbar-close" @click="${this.dismiss}">
|
|
305
|
-
|
|
305
|
+
<rel-icon name="close" size="md"></rel-icon>
|
|
306
306
|
</button>
|
|
307
307
|
`
|
|
308
308
|
: ""}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LitElement, html, css } from "lit";
|
|
2
2
|
import { customElement, property } from "lit/decorators.js";
|
|
3
|
+
import "../../styles/vars-v2.css";
|
|
3
4
|
|
|
4
5
|
export type StepStatus = "done" | "progress" | "disabled";
|
|
5
6
|
export type TextAlign = "right" | "below";
|
|
@@ -128,14 +129,14 @@ export class RelStepper extends LitElement {
|
|
|
128
129
|
justify-content: center;
|
|
129
130
|
width: var(--rel-stepper-indicator-size, 22px);
|
|
130
131
|
height: var(--rel-stepper-indicator-size, 22px);
|
|
131
|
-
border: 2px solid var(--rel-
|
|
132
|
-
background: var(--rel-
|
|
132
|
+
border: 2px solid var(--rel-color-border-default);
|
|
133
|
+
background: var(--rel-color-bg-primary);
|
|
133
134
|
border-radius: 50%;
|
|
134
135
|
font-size: var(--rel-fontSizes-sm);
|
|
135
136
|
font-weight: var(--rel-fontWeights-medium);
|
|
136
137
|
position: relative;
|
|
137
138
|
z-index: 2;
|
|
138
|
-
transition:
|
|
139
|
+
transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
|
|
139
140
|
flex-shrink: 0;
|
|
140
141
|
}
|
|
141
142
|
|
|
@@ -151,7 +152,7 @@ export class RelStepper extends LitElement {
|
|
|
151
152
|
.step-label {
|
|
152
153
|
white-space: nowrap;
|
|
153
154
|
font-size: var(--rel-fontSizes-sm);
|
|
154
|
-
color: var(--rel-text-primary
|
|
155
|
+
color: var(--rel-color-text-primary);
|
|
155
156
|
}
|
|
156
157
|
|
|
157
158
|
/* Horizontal text-below specific */
|
|
@@ -187,7 +188,7 @@ export class RelStepper extends LitElement {
|
|
|
187
188
|
********************************************/
|
|
188
189
|
.connector {
|
|
189
190
|
position: absolute;
|
|
190
|
-
background: var(--rel-
|
|
191
|
+
background: var(--rel-color-border-default);
|
|
191
192
|
z-index: 1;
|
|
192
193
|
}
|
|
193
194
|
|
|
@@ -198,7 +199,7 @@ export class RelStepper extends LitElement {
|
|
|
198
199
|
transform: translateY(-50%);
|
|
199
200
|
height: 2px;
|
|
200
201
|
position: absolute;
|
|
201
|
-
background: var(--rel-
|
|
202
|
+
background: var(--rel-color-border-default);
|
|
202
203
|
}
|
|
203
204
|
|
|
204
205
|
.rel-stepper.horizontal .rel-step:last-child .connector {
|
|
@@ -249,9 +250,9 @@ export class RelStepper extends LitElement {
|
|
|
249
250
|
}
|
|
250
251
|
|
|
251
252
|
.rel-step.disabled .indicator {
|
|
252
|
-
background: var(--rel-
|
|
253
|
-
border-color: var(--rel-
|
|
254
|
-
color: var(--rel-text-disabled
|
|
253
|
+
background: var(--rel-color-bg-secondary);
|
|
254
|
+
border-color: var(--rel-color-border-default);
|
|
255
|
+
color: var(--rel-color-text-disabled);
|
|
255
256
|
}
|
|
256
257
|
|
|
257
258
|
.rel-step.done .connector {
|
|
@@ -273,7 +274,7 @@ export class RelStepper extends LitElement {
|
|
|
273
274
|
}
|
|
274
275
|
|
|
275
276
|
.rel-step.disabled .step-label {
|
|
276
|
-
color: var(--rel-text-disabled
|
|
277
|
+
color: var(--rel-color-text-disabled);
|
|
277
278
|
}
|
|
278
279
|
|
|
279
280
|
/* Dark mode: ensure progress/done indicator and labels stay readable */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LitElement, html, css } from "lit";
|
|
2
2
|
import { customElement, property, state } from "lit/decorators.js";
|
|
3
|
+
import "../../styles/vars-v2.css";
|
|
3
4
|
|
|
4
5
|
@customElement("rel-switch")
|
|
5
6
|
export class RelSwitch extends LitElement {
|
|
@@ -15,11 +16,11 @@ export class RelSwitch extends LitElement {
|
|
|
15
16
|
|
|
16
17
|
static styles = css`
|
|
17
18
|
:host {
|
|
18
|
-
--switch-track: var(--rel-text-placeholder);
|
|
19
|
-
--switch-knob-on: var(--rel-
|
|
20
|
-
--switch-knob-off: var(--rel-
|
|
21
|
-
--switch-halo: var(--rel-border-default);
|
|
22
|
-
--switch-disabled: var(--rel-text-disabled);
|
|
19
|
+
--switch-track: var(--rel-color-text-placeholder);
|
|
20
|
+
--switch-knob-on: var(--rel-color-text-primary);
|
|
21
|
+
--switch-knob-off: var(--rel-color-bg-primary);
|
|
22
|
+
--switch-halo: var(--rel-color-border-default);
|
|
23
|
+
--switch-disabled: var(--rel-color-text-disabled);
|
|
23
24
|
display: inline-block;
|
|
24
25
|
}
|
|
25
26
|
|
|
@@ -81,7 +82,7 @@ export class RelSwitch extends LitElement {
|
|
|
81
82
|
|
|
82
83
|
/* Hover */
|
|
83
84
|
.switch-wrapper:hover:not(.switch-disabled) .switch-slider {
|
|
84
|
-
background-color: var(--rel-text-
|
|
85
|
+
background-color: var(--rel-color-text-placeholder);
|
|
85
86
|
}
|
|
86
87
|
|
|
87
88
|
/* Focus halo */
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { LitElement, html, css } from "lit";
|
|
2
2
|
import { customElement, property, state } from "lit/decorators.js";
|
|
3
|
+
import "../../styles/vars-v2.css";
|
|
4
|
+
import "../rel-badge/rel-badge";
|
|
3
5
|
|
|
4
6
|
export interface TabItem {
|
|
5
7
|
label: string;
|
|
@@ -28,39 +30,39 @@ export class RelTab extends LitElement {
|
|
|
28
30
|
static styles = css`
|
|
29
31
|
:host {
|
|
30
32
|
--tab-active-color: var(--rel-colors-green-primary);
|
|
31
|
-
--tab-text-default: var(--rel-text-primary);
|
|
32
|
-
--tab-text-disabled: var(--rel-text-disabled);
|
|
33
|
-
--tab-text-hover: var(--rel-text-heading);
|
|
33
|
+
--tab-text-default: var(--rel-color-text-primary);
|
|
34
|
+
--tab-text-disabled: var(--rel-color-text-disabled);
|
|
35
|
+
--tab-text-hover: var(--rel-color-text-heading);
|
|
34
36
|
--tab-underline-height: 3px;
|
|
35
|
-
--tab-hover-color: var(--rel-
|
|
37
|
+
--tab-hover-color: var(--rel-color-bg-tertiary);
|
|
36
38
|
display: block;
|
|
37
39
|
font-family: var(--rel-fontFamilies-primary);
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
.tabs-wrapper {
|
|
41
43
|
display: flex;
|
|
42
|
-
border-bottom: 1px solid var(--rel-border-tab
|
|
43
|
-
font-family: var(--rel-fontFamilies-primary
|
|
44
|
+
border-bottom: 1px solid var(--rel-border-tab);
|
|
45
|
+
font-family: var(--rel-fontFamilies-primary);
|
|
44
46
|
user-select: none;
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
.tab {
|
|
48
50
|
position: relative;
|
|
49
|
-
padding: var(--rel-spacing-space-sm
|
|
51
|
+
padding: var(--rel-spacing-space-sm) var(--rel-spacing-space-md);
|
|
50
52
|
cursor: pointer;
|
|
51
53
|
color: var(--tab-text-default);
|
|
52
|
-
font-size: var(--rel-fontSizes-md
|
|
53
|
-
font-weight: var(--rel-fontWeights-medium
|
|
54
|
+
font-size: var(--rel-fontSizes-md);
|
|
55
|
+
font-weight: var(--rel-fontWeights-medium);
|
|
54
56
|
transition: color 0.2s ease;
|
|
55
57
|
display: flex;
|
|
56
58
|
align-items: center;
|
|
57
|
-
gap: var(--rel-spacing-space-2xs
|
|
59
|
+
gap: var(--rel-spacing-space-2xs);
|
|
58
60
|
}
|
|
59
61
|
|
|
60
62
|
.tab:focus-visible {
|
|
61
|
-
outline: 2px solid var(--rel-border-
|
|
63
|
+
outline: 2px solid var(--rel-color-border-focus);
|
|
62
64
|
outline-offset: -2px;
|
|
63
|
-
border-radius: var(--rel-borders-radius-border-radius-100
|
|
65
|
+
border-radius: var(--rel-borders-radius-border-radius-100);
|
|
64
66
|
}
|
|
65
67
|
|
|
66
68
|
.tab:hover:not(.disabled) .tab-label {
|
|
@@ -91,22 +93,6 @@ export class RelTab extends LitElement {
|
|
|
91
93
|
background-color: var(--tab-hover-color);
|
|
92
94
|
}
|
|
93
95
|
|
|
94
|
-
/* Badge */
|
|
95
|
-
.tab-badge {
|
|
96
|
-
display: inline-flex;
|
|
97
|
-
justify-content: center;
|
|
98
|
-
align-items: center;
|
|
99
|
-
background: var(--rel-color-brand);
|
|
100
|
-
color: #000000;
|
|
101
|
-
border-radius: var(--rel-tab-badge-radius, 50%);
|
|
102
|
-
font-size: var(--rel-fontSizes-xs);
|
|
103
|
-
font-weight: 600;
|
|
104
|
-
min-width: var(--rel-tab-badge-min-width, 16px);
|
|
105
|
-
text-align: center;
|
|
106
|
-
height: var(--rel-tab-badge-height, 16px);
|
|
107
|
-
padding: var(--rel-spacing-space-3xs, 2px);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
96
|
/* Tab content */
|
|
111
97
|
.tab-content {
|
|
112
98
|
padding: 1rem 0;
|
|
@@ -188,7 +174,7 @@ export class RelTab extends LitElement {
|
|
|
188
174
|
>
|
|
189
175
|
<span class="tab-label">${tab.label}</span>
|
|
190
176
|
${tab.badge
|
|
191
|
-
? html`<
|
|
177
|
+
? html`<rel-badge number="${tab.badge}" variant="number" size="sm"></rel-badge>`
|
|
192
178
|
: ""}
|
|
193
179
|
<span class="tab-underline"></span>
|
|
194
180
|
</div>
|