@reliability-design/web 1.3.1 → 1.4.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/CHANGELOG.md +22 -0
- package/dist/components/rel-accordion/README.md +13 -13
- package/dist/components/rel-accordion/rel-accordion.ts +80 -45
- package/dist/components/rel-alert/README.md +15 -15
- package/dist/components/rel-alert/rel-alert.ts +149 -158
- package/dist/components/rel-avatar/README.md +15 -15
- package/dist/components/rel-avatar/rel-avatar.ts +42 -38
- package/dist/components/rel-badge/README.md +5 -5
- package/dist/components/rel-badge/rel-badge.ts +46 -11
- package/dist/components/rel-breadcrumb/README.md +7 -7
- package/dist/components/rel-breadcrumb/rel-breadcrumb.ts +16 -13
- package/dist/components/rel-button/README.md +20 -20
- package/dist/components/rel-button/rel-button.ts +292 -105
- package/dist/components/rel-calendar/README.md +5 -5
- package/dist/components/rel-calendar/rel-calendar.ts +68 -45
- package/dist/components/rel-card/README.md +6 -6
- package/dist/components/rel-card/rel-card.ts +88 -35
- package/dist/components/rel-cardmedia/README.md +9 -9
- package/dist/components/rel-cardmedia/rel-cardmedia.ts +27 -20
- package/dist/components/rel-carousel/README.md +3 -3
- package/dist/components/rel-carousel/rel-carousel.ts +174 -90
- package/dist/components/rel-chart/README.md +8 -8
- package/dist/components/rel-chart/rel-chart.ts +59 -41
- package/dist/components/rel-checkbox/README.md +7 -7
- package/dist/components/rel-checkbox/rel-checkbox.ts +61 -61
- package/dist/components/rel-chip/README.md +16 -16
- package/dist/components/rel-chip/rel-chip.ts +143 -111
- package/dist/components/rel-container/README.md +11 -11
- package/dist/components/rel-container/rel-container.ts +35 -9
- package/dist/components/rel-date-picker/README.md +43 -7
- package/dist/components/rel-date-picker/date-format.test.ts +43 -0
- package/dist/components/rel-date-picker/date-format.ts +47 -0
- package/dist/components/rel-date-picker/rel-date-picker.ts +154 -82
- package/dist/components/rel-divider/README.md +9 -9
- package/dist/components/rel-divider/rel-divider.ts +10 -9
- package/dist/components/rel-drawer/README.md +1 -1
- package/dist/components/rel-drawer/rel-drawer-footer.ts +1 -1
- package/dist/components/rel-drawer/rel-drawer.ts +88 -25
- package/dist/components/rel-kbd/README.md +20 -20
- package/dist/components/rel-kbd/rel-kbd.ts +119 -25
- package/dist/components/rel-layout/README.md +1 -1
- package/dist/components/rel-layout/rel-layout.ts +2 -2
- package/dist/components/rel-menu/README.md +15 -15
- package/dist/components/rel-menu/rel-menu.ts +155 -88
- package/dist/components/rel-menubar/README.md +20 -20
- package/dist/components/rel-menubar/rel-menubar.ts +47 -31
- package/dist/components/rel-nav-menu/README.md +21 -21
- package/dist/components/rel-nav-menu/rel-nav-menu-item.ts +17 -14
- package/dist/components/rel-nav-menu/rel-nav-menu-panel.ts +33 -14
- package/dist/components/rel-nav-menu/rel-nav-menu.ts +14 -7
- package/dist/components/rel-navbar/README.md +7 -7
- package/dist/components/rel-navbar/rel-navbar.ts +12 -11
- package/dist/components/rel-otp/README.md +3 -3
- package/dist/components/rel-otp/rel-otp.ts +46 -30
- package/dist/components/rel-pagination/README.md +18 -18
- package/dist/components/rel-pagination/rel-pagination.ts +141 -90
- package/dist/components/rel-popover/README.md +13 -13
- package/dist/components/rel-popover/rel-popover-content.ts +39 -14
- package/dist/components/rel-popover/rel-popover.ts +18 -7
- package/dist/components/rel-progress/README.md +5 -5
- package/dist/components/rel-progress/rel-progress.ts +16 -12
- package/dist/components/rel-radio/README.md +9 -9
- package/dist/components/rel-radio/rel-radio.ts +64 -50
- package/dist/components/rel-range-picker/rel-range-picker.ts +120 -117
- package/dist/components/rel-resizable/README.md +4 -4
- package/dist/components/rel-resizable/rel-resizable-group.ts +15 -4
- package/dist/components/rel-resizable/rel-resizable-handle.ts +13 -9
- package/dist/components/rel-resizable/rel-resizable-panel.ts +11 -0
- package/dist/components/rel-segmented-button/README.md +10 -10
- package/dist/components/rel-segmented-button/rel-segmented-button.ts +39 -40
- package/dist/components/rel-select/README.md +14 -14
- package/dist/components/rel-select/rel-select.ts +120 -188
- package/dist/components/rel-sheet/README.md +10 -10
- package/dist/components/rel-sheet/rel-sheet.ts +82 -23
- package/dist/components/rel-sidebar/README.md +5 -5
- package/dist/components/rel-sidebar/rel-sidebar.ts +75 -60
- package/dist/components/rel-skeleton/rel-skeleton.ts +8 -13
- package/dist/components/rel-slider/README.md +10 -10
- package/dist/components/rel-slider/rel-slider.ts +230 -57
- package/dist/components/rel-snackbar/README.md +9 -9
- package/dist/components/rel-snackbar/rel-snackbar.ts +44 -32
- package/dist/components/rel-stepper/README.md +10 -10
- package/dist/components/rel-stepper/rel-stepper.ts +110 -46
- package/dist/components/rel-switch/README.md +5 -5
- package/dist/components/rel-switch/rel-switch.ts +23 -12
- package/dist/components/rel-tab/README.md +13 -13
- package/dist/components/rel-tab/rel-tab.ts +63 -19
- package/dist/components/rel-table/README.md +7 -7
- package/dist/components/rel-table/rel-table-body.ts +2 -1
- package/dist/components/rel-table/rel-table-caption.ts +10 -7
- package/dist/components/rel-table/rel-table-cell.ts +7 -6
- package/dist/components/rel-table/rel-table-footer.ts +4 -3
- package/dist/components/rel-table/rel-table-head.ts +11 -9
- package/dist/components/rel-table/rel-table-header.ts +2 -1
- package/dist/components/rel-table/rel-table-row.ts +5 -4
- package/dist/components/rel-table/rel-table.ts +16 -7
- package/dist/components/rel-textfield/README.md +11 -11
- package/dist/components/rel-textfield/rel-textfield.ts +218 -92
- package/dist/components/rel-toast/README.md +11 -11
- package/dist/components/rel-toast/rel-toast.ts +33 -30
- package/dist/components/rel-tooltip/README.md +7 -7
- package/dist/components/rel-tooltip/rel-tooltip.ts +160 -123
- package/dist/components/rel-topbar/rel-topbar-actions.ts +1 -2
- package/dist/components/rel-topbar/rel-topbar-brand.ts +8 -5
- package/dist/components/rel-topbar/rel-topbar-dropdown-item.ts +10 -8
- package/dist/components/rel-topbar/rel-topbar-dropdown.ts +4 -5
- package/dist/components/rel-topbar/rel-topbar-item.ts +23 -22
- package/dist/components/rel-topbar/rel-topbar-mobile-panel.ts +0 -1
- package/dist/components/rel-topbar/rel-topbar-profile.ts +68 -50
- package/dist/components/rel-topbar/rel-topbar-utilities.ts +1 -2
- package/dist/components/rel-topbar/rel-topbar.ts +31 -29
- package/dist/index.d.mts +159 -39
- package/dist/index.d.ts +159 -39
- package/dist/index.js +3600 -2269
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3930 -2600
- package/dist/index.mjs.map +1 -1
- package/dist/styles/vars.css +866 -363
- package/dist/vars-BYCEEKWJ.css +866 -0
- package/package.json +5 -3
- package/dist/components/rel-range-picker/rel-range-picker.css +0 -349
- package/dist/styles/vars-v2.css +0 -525
- package/dist/vars-F54UGCHM.css +0 -363
- package/dist/vars-v2-VMGWTFJZ.css +0 -525
|
@@ -77,21 +77,21 @@ None exposed.
|
|
|
77
77
|
## Tokens / CSS Variables
|
|
78
78
|
|
|
79
79
|
### Semantic Tokens
|
|
80
|
-
- `--rel-
|
|
81
|
-
- `--rel-
|
|
82
|
-
- `--rel-
|
|
80
|
+
- `--rel-fonts-font-family` - Font family
|
|
81
|
+
- `--rel-body-sm-regular-font-size`, `--rel-body-xs-regular-font-size` - Font sizes for label and supporting text
|
|
82
|
+
- `--rel-fonts-weight-body-medium` - Font weight for labels
|
|
83
83
|
|
|
84
84
|
### Spacing Tokens
|
|
85
|
-
- `--rel-spacing-
|
|
86
|
-
- `--rel-spacing-
|
|
87
|
-
- `--rel-spacing-
|
|
85
|
+
- `--rel-spacing-xs` - Gap between radio options
|
|
86
|
+
- `--rel-spacing-3xs` - Gap within each option (label and supporting text)
|
|
87
|
+
- `--rel-spacing-2xs` - Gap between radio circle and label
|
|
88
88
|
|
|
89
89
|
### Color Tokens
|
|
90
|
-
- `--rel-text-
|
|
91
|
-
- `--rel-text-
|
|
90
|
+
- `--rel-text-label` - Radio button border and checked dot color
|
|
91
|
+
- `--rel-text-default` - Label text color
|
|
92
92
|
- `--rel-text-placeholder` - Supporting text color
|
|
93
93
|
- `--rel-border-info` - Focus outline color
|
|
94
|
-
- `--rel-
|
|
94
|
+
- `--rel-text-danger` - Error state border and dot color
|
|
95
95
|
|
|
96
96
|
## Accessibility
|
|
97
97
|
- Uses visually hidden native radio inputs for proper screen reader support
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { LitElement, html, css } from "lit";
|
|
2
2
|
import { customElement, property } from "lit/decorators.js";
|
|
3
|
-
import "../../styles/vars-v2.css";
|
|
4
3
|
|
|
5
4
|
export interface RadioOption {
|
|
6
5
|
value: string;
|
|
@@ -34,50 +33,52 @@ export class RelRadio extends LitElement {
|
|
|
34
33
|
|
|
35
34
|
static styles = css`
|
|
36
35
|
:host {
|
|
36
|
+
color: var(--rel-text-default);
|
|
37
37
|
display: block;
|
|
38
|
-
font-family: var(--rel-
|
|
38
|
+
font-family: var(--rel-fonts-font-family);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
.rel-radio-group {
|
|
42
42
|
display: flex;
|
|
43
43
|
flex-direction: column;
|
|
44
44
|
align-items: flex-start;
|
|
45
|
-
gap: var(--rel-spacing-
|
|
45
|
+
gap: var(--rel-spacing-xs);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
.rel-radio-option {
|
|
49
49
|
display: inline-flex;
|
|
50
50
|
flex-direction: column;
|
|
51
|
-
gap: var(--rel-spacing-
|
|
51
|
+
gap: var(--rel-spacing-3xs);
|
|
52
52
|
cursor: pointer;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
.rel-radio-option.disabled {
|
|
56
56
|
opacity: 0.6;
|
|
57
|
+
color: var(--rel-text-disabled);
|
|
57
58
|
cursor: not-allowed !important;
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
.rel-radio-option:not(.disabled):hover .radio-custom {
|
|
61
|
-
border-color:
|
|
62
|
+
border-color: var(--rel-text-body);
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
.rel-radio-option:not(.disabled):hover .radio-label {
|
|
65
|
-
color:
|
|
66
|
+
color: var(--rel-text-body);
|
|
66
67
|
}
|
|
67
68
|
|
|
68
69
|
.rel-radio-option:not(.disabled):hover .radio-supporting {
|
|
69
|
-
color:
|
|
70
|
+
color: var(--rel-text-caption);
|
|
70
71
|
}
|
|
71
72
|
|
|
72
73
|
.rel-radio-option:focus-within:has(input:focus-visible) {
|
|
73
|
-
outline: 1.5px solid
|
|
74
|
+
outline: 1.5px solid var(--rel-border-focus);
|
|
74
75
|
outline-offset: 1px;
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
.radio-main {
|
|
78
79
|
display: flex;
|
|
79
80
|
align-items: center;
|
|
80
|
-
gap: var(--rel-spacing-
|
|
81
|
+
gap: var(--rel-spacing-2xs);
|
|
81
82
|
}
|
|
82
83
|
|
|
83
84
|
input {
|
|
@@ -89,7 +90,7 @@ export class RelRadio extends LitElement {
|
|
|
89
90
|
.radio-custom {
|
|
90
91
|
width: 20px;
|
|
91
92
|
height: 20px;
|
|
92
|
-
border: 2px solid var(--rel-
|
|
93
|
+
border: 2px solid var(--rel-text-label);
|
|
93
94
|
border-radius: 50%;
|
|
94
95
|
position: relative;
|
|
95
96
|
flex-shrink: 0;
|
|
@@ -99,62 +100,76 @@ export class RelRadio extends LitElement {
|
|
|
99
100
|
content: "";
|
|
100
101
|
position: absolute;
|
|
101
102
|
inset: 4px;
|
|
102
|
-
background: var(--rel-
|
|
103
|
+
background: var(--rel-text-label);
|
|
103
104
|
border-radius: 50%;
|
|
104
105
|
}
|
|
105
106
|
|
|
106
107
|
.radio-label {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
color: var(--rel-text-default);
|
|
109
|
+
|
|
110
|
+
font-family: var(--rel-body-lg-regular-font-family);
|
|
111
|
+
|
|
112
|
+
font-weight: var(--rel-body-lg-regular-font-weight);
|
|
113
|
+
|
|
114
|
+
font-size: var(--rel-body-lg-regular-font-size);
|
|
115
|
+
|
|
116
|
+
line-height: var(--rel-body-lg-regular-line-height);
|
|
117
|
+
|
|
118
|
+
letter-spacing: var(--rel-body-lg-regular-letter-spacing);
|
|
119
|
+
|
|
110
120
|
}
|
|
111
121
|
|
|
112
122
|
.radio-supporting {
|
|
113
|
-
font-size: var(--rel-fontSizes-sm, 12px);
|
|
114
123
|
margin-left: 28px;
|
|
115
|
-
color:
|
|
124
|
+
color: var(--rel-text-caption);
|
|
125
|
+
|
|
126
|
+
font-family: var(--rel-body-sm-regular-font-family);
|
|
127
|
+
|
|
128
|
+
font-weight: var(--rel-body-sm-regular-font-weight);
|
|
129
|
+
|
|
130
|
+
font-size: var(--rel-body-sm-regular-font-size);
|
|
131
|
+
|
|
132
|
+
line-height: var(--rel-body-sm-regular-line-height);
|
|
133
|
+
|
|
134
|
+
letter-spacing: var(--rel-body-sm-regular-letter-spacing);
|
|
135
|
+
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/* Error state (Figma State=Error, both Is Checked values) */
|
|
139
|
+
.rel-radio-option.error-unchecked .radio-custom,
|
|
140
|
+
.rel-radio-option.error-checked .radio-custom {
|
|
141
|
+
border-color: var(--rel-border-danger);
|
|
116
142
|
}
|
|
117
143
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
border-color: #CE3131;
|
|
144
|
+
.rel-radio-option.error-checked input:checked + .radio-custom::after {
|
|
145
|
+
background: var(--rel-text-danger);
|
|
121
146
|
}
|
|
122
147
|
|
|
123
|
-
.rel-radio-option.error-unchecked .radio-label
|
|
124
|
-
|
|
148
|
+
.rel-radio-option.error-unchecked .radio-label,
|
|
149
|
+
.rel-radio-option.error-checked .radio-label {
|
|
150
|
+
color: var(--rel-text-danger);
|
|
125
151
|
}
|
|
126
152
|
|
|
127
|
-
.rel-radio-option.error-unchecked .radio-supporting
|
|
128
|
-
|
|
153
|
+
.rel-radio-option.error-unchecked .radio-supporting,
|
|
154
|
+
.rel-radio-option.error-checked .radio-supporting {
|
|
155
|
+
color: var(--rel-text-danger);
|
|
129
156
|
}
|
|
130
157
|
|
|
131
158
|
/* Error message below group */
|
|
132
159
|
.error-message {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
margin-top: var(--rel-spacing-space-2xs, 4px);
|
|
136
|
-
}
|
|
160
|
+
color: var(--rel-text-danger);
|
|
161
|
+
margin-top: var(--rel-spacing-2xs, 4px);
|
|
137
162
|
|
|
138
|
-
|
|
139
|
-
:host-context([data-theme="dark"]) .rel-radio-option:not(.disabled):hover .radio-custom,
|
|
140
|
-
:host-context(.dark) .rel-radio-option:not(.disabled):hover .radio-custom {
|
|
141
|
-
border-color: var(--rel-color-text-secondary, #D4D4D4);
|
|
142
|
-
}
|
|
163
|
+
font-family: var(--rel-body-sm-regular-font-family);
|
|
143
164
|
|
|
144
|
-
|
|
145
|
-
:host-context(.dark) .rel-radio-option:not(.disabled):hover .radio-label {
|
|
146
|
-
color: var(--rel-color-text-secondary, #D4D4D4);
|
|
147
|
-
}
|
|
165
|
+
font-weight: var(--rel-body-sm-regular-font-weight);
|
|
148
166
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
167
|
+
font-size: var(--rel-body-sm-regular-font-size);
|
|
168
|
+
|
|
169
|
+
line-height: var(--rel-body-sm-regular-line-height);
|
|
170
|
+
|
|
171
|
+
letter-spacing: var(--rel-body-sm-regular-letter-spacing);
|
|
153
172
|
|
|
154
|
-
:host-context([data-theme="dark"]) .rel-radio-option:focus-within:has(input:focus-visible),
|
|
155
|
-
:host-context(.dark) .rel-radio-option:focus-within:has(input:focus-visible) {
|
|
156
|
-
outline: 1.5px solid var(--rel-color-text-primary, #F5F5F5);
|
|
157
|
-
outline-offset: 1px;
|
|
158
173
|
}
|
|
159
174
|
`;
|
|
160
175
|
|
|
@@ -183,12 +198,11 @@ export class RelRadio extends LitElement {
|
|
|
183
198
|
private renderOption(option: RadioOption) {
|
|
184
199
|
const isChecked = this.selectedValue === option.value;
|
|
185
200
|
const isDisabled = this.disabled || option.disabled;
|
|
186
|
-
const isErrorActive = this.error && !this.hasSelection;
|
|
187
|
-
|
|
188
201
|
const classes = [
|
|
189
202
|
"rel-radio-option",
|
|
190
203
|
isDisabled ? "disabled" : "",
|
|
191
|
-
|
|
204
|
+
this.error && !this.hasSelection ? "error-unchecked" : "",
|
|
205
|
+
this.error && isChecked ? "error-checked" : "",
|
|
192
206
|
]
|
|
193
207
|
.filter(Boolean)
|
|
194
208
|
.join(" ");
|
|
@@ -205,7 +219,7 @@ export class RelRadio extends LitElement {
|
|
|
205
219
|
@blur="${() => this._onTouched()}"
|
|
206
220
|
/>
|
|
207
221
|
<span class="radio-custom"></span>
|
|
208
|
-
<span class="radio-label">${option.label}</span>
|
|
222
|
+
<span part="label" class="radio-label">${option.label}</span>
|
|
209
223
|
</div>
|
|
210
224
|
|
|
211
225
|
${option.supportingText
|
|
@@ -217,10 +231,10 @@ export class RelRadio extends LitElement {
|
|
|
217
231
|
|
|
218
232
|
render() {
|
|
219
233
|
return html`
|
|
220
|
-
<div class="rel-radio-group">
|
|
234
|
+
<div part="base" class="rel-radio-group">
|
|
221
235
|
${this.options.map((o) => this.renderOption(o))}
|
|
222
236
|
</div>
|
|
223
|
-
${this.error && this.errorMessage
|
|
237
|
+
${this.error && this.errorMessage
|
|
224
238
|
? html`<div class="error-message">${this.errorMessage}</div>`
|
|
225
239
|
: ""}
|
|
226
240
|
`;
|