@reliability-design/web 1.3.0 → 1.4.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/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 +161 -159
- 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 +69 -17
- 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 +327 -105
- package/dist/components/rel-calendar/README.md +5 -5
- package/dist/components/rel-calendar/rel-calendar.ts +61 -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 +257 -83
- 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 +56 -28
- 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 +73 -23
- 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 +718 -397
- 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 +5 -2
- package/dist/components/rel-topbar/rel-topbar-brand.ts +12 -5
- package/dist/components/rel-topbar/rel-topbar-dropdown-item.ts +14 -8
- package/dist/components/rel-topbar/rel-topbar-dropdown.ts +8 -5
- package/dist/components/rel-topbar/rel-topbar-item.ts +27 -22
- package/dist/components/rel-topbar/rel-topbar-mobile-panel.ts +4 -1
- package/dist/components/rel-topbar/rel-topbar-profile.ts +71 -50
- package/dist/components/rel-topbar/rel-topbar-utilities.ts +5 -2
- package/dist/components/rel-topbar/rel-topbar.ts +37 -29
- package/dist/index.d.mts +227 -40
- package/dist/index.d.ts +227 -40
- package/dist/index.js +3930 -2247
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4311 -2629
- package/dist/index.mjs.map +1 -1
- package/dist/styles/vars.css +653 -346
- package/dist/vars-WY2XCF5G.css +653 -0
- package/package.json +3 -2
- package/dist/components/rel-range-picker/rel-range-picker.css +0 -349
- package/dist/styles/vars-v2.css +0 -525
- package/dist/vars-I2PC74XD.css +0 -346
- package/dist/vars-v2-VMGWTFJZ.css +0 -525
|
@@ -110,24 +110,24 @@ None exposed.
|
|
|
110
110
|
### Component-Level Custom Properties
|
|
111
111
|
The component defines CSS custom properties on `:host`:
|
|
112
112
|
|
|
113
|
-
- `--tab-active-color` - Active tab underline color (default: `--rel-
|
|
114
|
-
- `--tab-text-default` - Default tab text color (default: `--rel-text-
|
|
113
|
+
- `--tab-active-color` - Active tab underline color (default: `--rel-bg-brand`)
|
|
114
|
+
- `--tab-text-default` - Default tab text color (default: `--rel-text-default`)
|
|
115
115
|
- `--tab-text-disabled` - Disabled tab text color (default: `--rel-text-disabled`)
|
|
116
|
-
- `--tab-text-hover` - Hover tab text color (default: `--rel-text-
|
|
116
|
+
- `--tab-text-hover` - Hover tab text color (default: `--rel-text-label`)
|
|
117
117
|
- `--tab-underline-height` - Height of active underline (default: `3px`)
|
|
118
|
-
- `--tab-hover-color` - Background color on hover (default: `--rel-
|
|
118
|
+
- `--tab-hover-color` - Background color on hover (default: `--rel-bg-neutral-elevated-1`)
|
|
119
119
|
|
|
120
120
|
### Design Token References
|
|
121
|
-
- `--rel-
|
|
122
|
-
- `--rel-
|
|
123
|
-
- `--rel-
|
|
124
|
-
- `--rel-spacing-
|
|
125
|
-
- `--rel-spacing-
|
|
126
|
-
- `--rel-border-
|
|
121
|
+
- `--rel-fonts-font-family` - Font family
|
|
122
|
+
- `--rel-body-md-regular-font-size` - Font size
|
|
123
|
+
- `--rel-fonts-weight-body-medium` - Font weight
|
|
124
|
+
- `--rel-spacing-sm`, `--rel-spacing-md` - Tab padding
|
|
125
|
+
- `--rel-spacing-2xs` - Gap between label and badge
|
|
126
|
+
- `--rel-border-accent` - Bottom border color (default: `#c4c4c4`)
|
|
127
127
|
- `--rel-border-info` - Focus outline color
|
|
128
|
-
- `--rel-
|
|
129
|
-
- `--rel-
|
|
130
|
-
- `--rel-
|
|
128
|
+
- `--rel-border-radius-xs` - Focus outline border radius
|
|
129
|
+
- `--rel-bg-danger` - Badge background color
|
|
130
|
+
- `--rel-bg-surface` - Badge text color
|
|
131
131
|
|
|
132
132
|
## Accessibility
|
|
133
133
|
- Uses `role="tablist"` on container and `role="tab"` on each tab
|
|
@@ -1,11 +1,11 @@
|
|
|
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
3
|
import "../rel-badge/rel-badge";
|
|
5
4
|
|
|
6
5
|
export interface TabItem {
|
|
7
6
|
label: string;
|
|
8
7
|
badge?: number;
|
|
8
|
+
badgeDot?: boolean;
|
|
9
9
|
disabled?: boolean;
|
|
10
10
|
}
|
|
11
11
|
|
|
@@ -14,6 +14,8 @@ export class RelTabItem extends LitElement {
|
|
|
14
14
|
@property({ type: String }) label: string = "";
|
|
15
15
|
@property({ type: String }) value: string = "";
|
|
16
16
|
@property({ type: Number }) badge: number = 0;
|
|
17
|
+
/** Shows a small dot instead of a numbered badge — takes precedence over `badge`. */
|
|
18
|
+
@property({ type: Boolean, attribute: "badge-dot" }) badgeDot: boolean = false;
|
|
17
19
|
@property({ type: Boolean }) disabled: boolean = false;
|
|
18
20
|
|
|
19
21
|
render() {
|
|
@@ -25,44 +27,89 @@ export class RelTabItem extends LitElement {
|
|
|
25
27
|
export class RelTab extends LitElement {
|
|
26
28
|
@property({ type: Array }) tabs: TabItem[] = [];
|
|
27
29
|
@property({ type: Number, reflect: true }) activeIndex = 0;
|
|
30
|
+
|
|
31
|
+
/** Tab size — styled via :host([size]) rules. */
|
|
32
|
+
@property({ type: String, reflect: true })
|
|
33
|
+
size: "sm" | "md" | "lg" = "md";
|
|
28
34
|
@state() private _tabItems: RelTabItem[] = [];
|
|
29
35
|
|
|
30
36
|
static styles = css`
|
|
31
37
|
:host {
|
|
32
|
-
|
|
33
|
-
--tab-
|
|
34
|
-
--tab-text-
|
|
35
|
-
--tab-text-
|
|
38
|
+
color: var(--rel-text-default);
|
|
39
|
+
--tab-active-color: var(--rel-bg-brand);
|
|
40
|
+
--tab-text-default: var(--rel-text-default);
|
|
41
|
+
--tab-text-disabled: var(--rel-text-disabled);
|
|
42
|
+
--tab-text-hover: var(--rel-text-label);
|
|
36
43
|
--tab-underline-height: 3px;
|
|
37
|
-
--tab-hover-color: var(--rel-
|
|
44
|
+
--tab-hover-color: var(--rel-bg-neutral-elevated-1);
|
|
38
45
|
display: block;
|
|
39
|
-
font-family: var(--rel-
|
|
46
|
+
font-family: var(--rel-fonts-font-family);
|
|
40
47
|
}
|
|
41
48
|
|
|
42
49
|
.tabs-wrapper {
|
|
43
50
|
display: flex;
|
|
44
|
-
border-bottom: 1px solid var(--rel-border-
|
|
45
|
-
font-family: var(--rel-
|
|
51
|
+
border-bottom: 1px solid var(--rel-border-accent);
|
|
52
|
+
font-family: var(--rel-fonts-font-family);
|
|
46
53
|
user-select: none;
|
|
47
54
|
}
|
|
48
55
|
|
|
49
56
|
.tab {
|
|
50
57
|
position: relative;
|
|
51
|
-
padding: var(--rel-spacing-
|
|
58
|
+
padding: var(--rel-spacing-sm) var(--rel-spacing-md);
|
|
52
59
|
cursor: pointer;
|
|
53
|
-
color: var(--
|
|
54
|
-
font-size: var(--rel-fontSizes-md);
|
|
55
|
-
font-weight: var(--rel-fontWeights-medium);
|
|
60
|
+
color: var(--rel-text-body);
|
|
56
61
|
transition: color 0.2s ease;
|
|
57
62
|
display: flex;
|
|
58
63
|
align-items: center;
|
|
59
|
-
gap: var(--rel-spacing-
|
|
64
|
+
gap: var(--rel-spacing-xs);
|
|
65
|
+
font-family: var(--rel-body-md-regular-font-family);
|
|
66
|
+
font-weight: var(--rel-body-md-regular-font-weight);
|
|
67
|
+
font-size: var(--rel-body-md-regular-font-size);
|
|
68
|
+
line-height: var(--rel-body-md-regular-line-height);
|
|
69
|
+
letter-spacing: var(--rel-body-md-regular-letter-spacing);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.tab.active {
|
|
73
|
+
color: var(--tab-text-default);
|
|
74
|
+
font-weight: var(--rel-body-md-medium-font-weight);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/* Size variants (CSS-only, Figma tab sizes) */
|
|
78
|
+
:host([size="lg"]) .tab {
|
|
79
|
+
font-family: var(--rel-body-lg-regular-font-family);
|
|
80
|
+
font-weight: var(--rel-body-lg-regular-font-weight);
|
|
81
|
+
font-size: var(--rel-body-lg-regular-font-size);
|
|
82
|
+
line-height: var(--rel-body-lg-regular-line-height);
|
|
83
|
+
letter-spacing: var(--rel-body-lg-regular-letter-spacing);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
:host([size="lg"]) .tab.active {
|
|
87
|
+
font-weight: var(--rel-body-lg-medium-font-weight);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
:host([size="sm"]) .tab {
|
|
91
|
+
font-family: var(--rel-body-sm-regular-font-family);
|
|
92
|
+
font-weight: var(--rel-body-xs-medium-font-weight);
|
|
93
|
+
font-size: var(--rel-body-sm-medium-font-size);
|
|
94
|
+
line-height: var(--rel-body-sm-medium-line-height);
|
|
95
|
+
letter-spacing: var(--rel-body-sm-medium-letter-spacing);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/* Badge tones — pass through rel-badge custom-prop API */
|
|
99
|
+
.tab rel-badge {
|
|
100
|
+
--rel-badge-bg: var(--rel-bg-danger);
|
|
101
|
+
--rel-badge-color: var(--rel-text-static-light);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.tab.disabled rel-badge {
|
|
105
|
+
--rel-badge-bg: var(--rel-bg-neutral-inverse-2);
|
|
106
|
+
--rel-badge-color: var(--rel-text-inverse);
|
|
60
107
|
}
|
|
61
108
|
|
|
62
109
|
.tab:focus-visible {
|
|
63
|
-
outline: 2px solid var(--rel-
|
|
110
|
+
outline: 2px solid var(--rel-border-focus);
|
|
64
111
|
outline-offset: -2px;
|
|
65
|
-
border-radius: var(--rel-
|
|
112
|
+
border-radius: var(--rel-border-radius-xs);
|
|
66
113
|
}
|
|
67
114
|
|
|
68
115
|
.tab:hover:not(.disabled) .tab-label {
|
|
@@ -106,11 +153,12 @@ export class RelTab extends LitElement {
|
|
|
106
153
|
.filter((el): el is RelTabItem => el instanceof RelTabItem);
|
|
107
154
|
}
|
|
108
155
|
|
|
109
|
-
private get _effectiveTabs(): Array<{ label: string; badge?: number; disabled?: boolean }> {
|
|
156
|
+
private get _effectiveTabs(): Array<{ label: string; badge?: number; badgeDot?: boolean; disabled?: boolean }> {
|
|
110
157
|
if (this._tabItems.length > 0) {
|
|
111
158
|
return this._tabItems.map((item) => ({
|
|
112
159
|
label: item.label,
|
|
113
160
|
badge: item.badge || 0,
|
|
161
|
+
badgeDot: item.badgeDot,
|
|
114
162
|
disabled: item.disabled,
|
|
115
163
|
}));
|
|
116
164
|
}
|
|
@@ -158,11 +206,11 @@ export class RelTab extends LitElement {
|
|
|
158
206
|
const tabs = this._effectiveTabs;
|
|
159
207
|
return html`
|
|
160
208
|
<slot name="items" style="display:none;" @slotchange="${this._onSlotChange}"></slot>
|
|
161
|
-
<div class="tabs-wrapper" role="tablist">
|
|
209
|
+
<div part="list" class="tabs-wrapper" role="tablist">
|
|
162
210
|
${tabs.map(
|
|
163
211
|
(tab, i) => html`
|
|
164
212
|
<div
|
|
165
|
-
class="tab ${i === this.activeIndex
|
|
213
|
+
part="item" class="tab ${i === this.activeIndex
|
|
166
214
|
? "active"
|
|
167
215
|
: ""} ${tab.disabled ? "disabled" : ""}"
|
|
168
216
|
role="tab"
|
|
@@ -172,10 +220,12 @@ export class RelTab extends LitElement {
|
|
|
172
220
|
@click="${() => this.selectTab(i)}"
|
|
173
221
|
@keydown="${(e: KeyboardEvent) => this.onKeyDown(e, i)}"
|
|
174
222
|
>
|
|
175
|
-
<span class="tab-label">${tab.label}</span>
|
|
176
|
-
${tab.
|
|
177
|
-
? html`<rel-badge
|
|
178
|
-
:
|
|
223
|
+
<span part="label" class="tab-label">${tab.label}</span>
|
|
224
|
+
${tab.badgeDot
|
|
225
|
+
? html`<rel-badge variant="dot" size="sm"></rel-badge>`
|
|
226
|
+
: tab.badge
|
|
227
|
+
? html`<rel-badge number="${tab.badge}" variant="number" size="sm"></rel-badge>`
|
|
228
|
+
: ""}
|
|
179
229
|
<span class="tab-underline"></span>
|
|
180
230
|
</div>
|
|
181
231
|
`
|
|
@@ -142,16 +142,16 @@ None exposed.
|
|
|
142
142
|
## Tokens / CSS Variables
|
|
143
143
|
|
|
144
144
|
### Semantic Tokens
|
|
145
|
-
- `--rel-
|
|
146
|
-
- `--rel-
|
|
145
|
+
- `--rel-fonts-font-family` - Font family
|
|
146
|
+
- `--rel-body-md-regular-font-size` - Table font size
|
|
147
147
|
|
|
148
148
|
### Color Tokens
|
|
149
|
-
- `--rel-
|
|
150
|
-
- `--rel-
|
|
149
|
+
- `--rel-text-default` - Table text color
|
|
150
|
+
- `--rel-border-default` - Border color (when bordered is true)
|
|
151
151
|
|
|
152
152
|
### Border Tokens
|
|
153
|
-
- `--rel-
|
|
154
|
-
- `--rel-
|
|
153
|
+
- `--rel-stroke-sm` - Border width
|
|
154
|
+
- `--rel-border-radius-sm` - Table wrapper border radius
|
|
155
155
|
|
|
156
156
|
## Accessibility
|
|
157
157
|
- Uses semantic native `<table>` element for proper screen reader support
|
|
@@ -168,7 +168,7 @@ None exposed.
|
|
|
168
168
|
## Notes / Edge Cases
|
|
169
169
|
- The component wraps the table in a `.table-wrapper` div with `overflow-x: auto` for horizontal scrolling
|
|
170
170
|
- The inner `<table>` element uses `border-collapse: collapse` for standard table rendering
|
|
171
|
-
- **bordered mode**: Applies a border with `--rel-
|
|
171
|
+
- **bordered mode**: Applies a border with `--rel-stroke-sm` and rounded corners to the wrapper
|
|
172
172
|
- The `bordered` and `compact` attributes are reflected in HTML (appear as actual attributes when set)
|
|
173
173
|
- **compact mode**: Currently reflected but no styling is applied in the component (may be intended for future use or external styling)
|
|
174
174
|
- The table is `width: 100%` by default
|
|
@@ -5,8 +5,9 @@ import { customElement } from "lit/decorators.js";
|
|
|
5
5
|
export class RelTableBody extends LitElement {
|
|
6
6
|
static styles = css`
|
|
7
7
|
:host {
|
|
8
|
+
color: var(--rel-text-default);
|
|
8
9
|
display: table-row-group;
|
|
9
|
-
font-family: var(--rel-
|
|
10
|
+
font-family: var(--rel-fonts-font-family);
|
|
10
11
|
}
|
|
11
12
|
`;
|
|
12
13
|
|
|
@@ -6,13 +6,16 @@ export class RelTableCaption extends LitElement {
|
|
|
6
6
|
static styles = css`
|
|
7
7
|
:host {
|
|
8
8
|
display: table-caption;
|
|
9
|
-
caption-side: bottom;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
caption-side: bottom;
|
|
10
|
+
margin-top: var(--rel-spacing-md);
|
|
11
|
+
padding-top: var(--rel-spacing-sm);
|
|
12
|
+
color: var(--rel-text-placeholder);
|
|
13
|
+
text-align: left;
|
|
14
|
+
font-family: var(--rel-body-sm-regular-font-family);
|
|
15
|
+
font-weight: var(--rel-body-sm-regular-font-weight);
|
|
16
|
+
font-size: var(--rel-body-sm-regular-font-size);
|
|
17
|
+
line-height: var(--rel-body-sm-regular-line-height);
|
|
18
|
+
letter-spacing: var(--rel-body-sm-regular-letter-spacing);
|
|
16
19
|
}
|
|
17
20
|
`;
|
|
18
21
|
|
|
@@ -8,11 +8,12 @@ export class RelTableCell extends LitElement {
|
|
|
8
8
|
|
|
9
9
|
static styles = css`
|
|
10
10
|
:host {
|
|
11
|
+
color: var(--rel-text-default);
|
|
11
12
|
display: contents;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
td {
|
|
15
|
-
border-right: 1px solid var(--rel-
|
|
16
|
+
border-right: 1px solid var(--rel-border-default);
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
:host(:last-child) td {
|
|
@@ -27,12 +28,12 @@ export class RelTableCell extends LitElement {
|
|
|
27
28
|
colspan="${this.colspan ?? 1}"
|
|
28
29
|
style="
|
|
29
30
|
text-align: ${this.align};
|
|
30
|
-
font-family: var(--rel-
|
|
31
|
-
padding: var(--rel-spacing-
|
|
32
|
-
font-size: var(--rel-
|
|
33
|
-
color: var(--rel-
|
|
31
|
+
font-family: var(--rel-fonts-font-family);
|
|
32
|
+
padding: var(--rel-spacing-sm) var(--rel-spacing-md);
|
|
33
|
+
font-size: var(--rel-body-md-regular-font-size);
|
|
34
|
+
color: var(--rel-text-default);
|
|
34
35
|
vertical-align: middle;
|
|
35
|
-
border-bottom: 1px solid var(--rel-
|
|
36
|
+
border-bottom: 1px solid var(--rel-border-default);
|
|
36
37
|
"
|
|
37
38
|
>
|
|
38
39
|
<slot></slot>
|
|
@@ -5,10 +5,11 @@ import { customElement } from "lit/decorators.js";
|
|
|
5
5
|
export class RelTableFooter extends LitElement {
|
|
6
6
|
static styles = css`
|
|
7
7
|
:host {
|
|
8
|
+
color: var(--rel-text-default);
|
|
8
9
|
display: table-footer-group;
|
|
9
|
-
font-family: var(--rel-
|
|
10
|
-
font-weight: var(--rel-
|
|
11
|
-
background-color: var(--rel-
|
|
10
|
+
font-family: var(--rel-fonts-font-family);
|
|
11
|
+
font-weight: var(--rel-fonts-weight-body-medium, 500);
|
|
12
|
+
background-color: var(--rel-bg-surface-elevated);
|
|
12
13
|
}
|
|
13
14
|
`;
|
|
14
15
|
|
|
@@ -7,17 +7,19 @@ export class RelTableHead extends LitElement {
|
|
|
7
7
|
|
|
8
8
|
static styles = css`
|
|
9
9
|
:host {
|
|
10
|
-
display: table-cell;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
text-
|
|
14
|
-
font-weight: var(--rel-fontWeights-medium, 500);
|
|
15
|
-
font-size: var(--rel-fontSizes-sm);
|
|
16
|
-
color: var(--rel-colors-gray-placeholder);
|
|
10
|
+
display: table-cell;
|
|
11
|
+
padding: var(--rel-spacing-sm) var(--rel-spacing-md);
|
|
12
|
+
text-align: left;
|
|
13
|
+
color: var(--rel-text-placeholder);
|
|
17
14
|
vertical-align: middle;
|
|
18
15
|
height: var(--rel-table-head-height, 48px);
|
|
19
|
-
border-bottom: 1px solid var(--rel-
|
|
20
|
-
border-right: 1px solid var(--rel-
|
|
16
|
+
border-bottom: 1px solid var(--rel-border-default);
|
|
17
|
+
border-right: 1px solid var(--rel-border-default);
|
|
18
|
+
font-family: var(--rel-body-sm-medium-font-family);
|
|
19
|
+
font-weight: var(--rel-body-sm-medium-font-weight);
|
|
20
|
+
font-size: var(--rel-body-sm-medium-font-size);
|
|
21
|
+
line-height: var(--rel-body-sm-medium-line-height);
|
|
22
|
+
letter-spacing: var(--rel-body-sm-medium-letter-spacing);
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
:host(:last-child) {
|
|
@@ -5,8 +5,9 @@ import { customElement } from "lit/decorators.js";
|
|
|
5
5
|
export class RelTableHeader extends LitElement {
|
|
6
6
|
static styles = css`
|
|
7
7
|
:host {
|
|
8
|
+
color: var(--rel-text-default);
|
|
8
9
|
display: table-header-group;
|
|
9
|
-
font-family: var(--rel-
|
|
10
|
+
font-family: var(--rel-fonts-font-family);
|
|
10
11
|
}
|
|
11
12
|
`;
|
|
12
13
|
|
|
@@ -7,21 +7,22 @@ export class RelTableRow extends LitElement {
|
|
|
7
7
|
|
|
8
8
|
static styles = css`
|
|
9
9
|
:host {
|
|
10
|
+
color: var(--rel-text-default);
|
|
10
11
|
display: table-row;
|
|
11
|
-
font-family: var(--rel-
|
|
12
|
+
font-family: var(--rel-fonts-font-family);
|
|
12
13
|
transition: background-color 0.15s ease;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
:host(:hover) {
|
|
16
|
-
background-color: var(--rel-
|
|
17
|
+
background-color: var(--rel-bg-surface-elevated);
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
:host([selected]) {
|
|
20
|
-
background-color: var(--rel-
|
|
21
|
+
background-color: var(--rel-bg-neutral-elevated-2);
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
:host([selected]:hover) {
|
|
24
|
-
background-color: var(--rel-
|
|
25
|
+
background-color: var(--rel-action-overlay-hover);
|
|
25
26
|
}
|
|
26
27
|
`;
|
|
27
28
|
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { LitElement, html, css } from "lit";
|
|
2
2
|
import { customElement, property } from "lit/decorators.js";
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated rel-table has no Figma design in RelDS 2.0 and is excluded from
|
|
6
|
+
* the parity contract. It remains exported for compatibility but will be
|
|
7
|
+
* removed in a future major version.
|
|
8
|
+
*/
|
|
4
9
|
@customElement("rel-table")
|
|
5
10
|
export class RelTable extends LitElement {
|
|
6
11
|
@property({ type: Boolean, reflect: true }) bordered = false;
|
|
@@ -8,8 +13,9 @@ export class RelTable extends LitElement {
|
|
|
8
13
|
|
|
9
14
|
static styles = css`
|
|
10
15
|
:host {
|
|
16
|
+
color: var(--rel-text-default);
|
|
11
17
|
display: block;
|
|
12
|
-
font-family: var(--rel-
|
|
18
|
+
font-family: var(--rel-fonts-font-family);
|
|
13
19
|
position: relative;
|
|
14
20
|
width: 100%;
|
|
15
21
|
}
|
|
@@ -21,18 +27,21 @@ export class RelTable extends LitElement {
|
|
|
21
27
|
}
|
|
22
28
|
|
|
23
29
|
:host([bordered]) {
|
|
24
|
-
border: var(--rel-
|
|
25
|
-
border-radius: var(--rel-
|
|
30
|
+
border: var(--rel-stroke-sm) solid var(--rel-border-default);
|
|
31
|
+
border-radius: var(--rel-border-radius-sm);
|
|
26
32
|
overflow: hidden;
|
|
27
33
|
}
|
|
28
34
|
|
|
29
35
|
table {
|
|
30
36
|
width: 100%;
|
|
31
37
|
caption-side: bottom;
|
|
32
|
-
border-collapse: collapse;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
font-
|
|
38
|
+
border-collapse: collapse;
|
|
39
|
+
color: var(--rel-text-default);
|
|
40
|
+
font-family: var(--rel-body-md-regular-font-family);
|
|
41
|
+
font-weight: var(--rel-body-md-regular-font-weight);
|
|
42
|
+
font-size: var(--rel-body-md-regular-font-size);
|
|
43
|
+
line-height: var(--rel-body-md-regular-line-height);
|
|
44
|
+
letter-spacing: var(--rel-body-md-regular-letter-spacing);
|
|
36
45
|
}
|
|
37
46
|
`;
|
|
38
47
|
|
|
@@ -58,20 +58,20 @@ None exposed.
|
|
|
58
58
|
|
|
59
59
|
## Tokens / CSS Variables
|
|
60
60
|
|
|
61
|
-
- `--rel-
|
|
62
|
-
- `--rel-
|
|
63
|
-
- `--rel-
|
|
64
|
-
- `--rel-text-
|
|
65
|
-
- `--rel-text-
|
|
61
|
+
- `--rel-fonts-font-family`: Font family
|
|
62
|
+
- `--rel-body-sm-regular-font-size`, `--rel-body-md-regular-font-size`: Font sizes
|
|
63
|
+
- `--rel-fonts-weight-body-medium`: Font weight for label
|
|
64
|
+
- `--rel-text-label`: Label color
|
|
65
|
+
- `--rel-text-default`: Input text color
|
|
66
66
|
- `--rel-text-placeholder`: Placeholder and icon color
|
|
67
67
|
- `--rel-text-disabled`: Disabled text color
|
|
68
68
|
- `--rel-border-default`: Default border color
|
|
69
|
-
- `--rel-
|
|
70
|
-
- `--rel-border-
|
|
71
|
-
- `--rel-
|
|
72
|
-
- `--rel-
|
|
73
|
-
- `--rel-spacing
|
|
74
|
-
- `--rel-
|
|
69
|
+
- `--rel-bg-info`: Focus border color
|
|
70
|
+
- `--rel-border-danger`: Error state border color
|
|
71
|
+
- `--rel-bg-surface`: Input background (light mode)
|
|
72
|
+
- `--rel-bg-neutral-elevated-1`: Disabled background
|
|
73
|
+
- `--rel-spacing-*`: Spacing tokens
|
|
74
|
+
- `--rel-border-radius-sm`: Border radius
|
|
75
75
|
|
|
76
76
|
## Accessibility
|
|
77
77
|
|