@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
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "../../styles/vars-v2.css";
|
|
2
1
|
import { LitElement, html, css } from "lit";
|
|
3
2
|
import { customElement, property } from "lit/decorators.js";
|
|
4
3
|
|
|
@@ -11,7 +10,7 @@ export class RelBadge extends LitElement {
|
|
|
11
10
|
@property({ type: String }) suffix: string = "notifications";
|
|
12
11
|
|
|
13
12
|
@property({ type: String, reflect: true })
|
|
14
|
-
size: "sm" | "md" | "lg" = "md";
|
|
13
|
+
size: "sm" | "md" | "lg" | "xl" = "md";
|
|
15
14
|
|
|
16
15
|
@property({ type: String, reflect: true })
|
|
17
16
|
variant: "dot" | "number" = "number";
|
|
@@ -36,18 +35,22 @@ export class RelBadge extends LitElement {
|
|
|
36
35
|
|
|
37
36
|
static styles = css`
|
|
38
37
|
:host {
|
|
38
|
+
color: var(--rel-text-default);
|
|
39
39
|
display: inline-flex;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
.badge {
|
|
43
|
+
font-weight: var(--rel-body-sm-semibold-font-weight);
|
|
44
|
+
font-size: var(--rel-body-sm-semibold-font-size);
|
|
45
|
+
line-height: var(--rel-body-sm-semibold-line-height);
|
|
46
|
+
letter-spacing: var(--rel-body-sm-semibold-letter-spacing);
|
|
43
47
|
display: inline-flex;
|
|
44
48
|
align-items: center;
|
|
45
49
|
justify-content: center;
|
|
46
50
|
box-sizing: border-box;
|
|
47
|
-
font-family: var(--rel-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
color: var(--rel-badge-color, #ffffff);
|
|
51
|
+
font-family: var(--rel-fonts-font-family, sans-serif);
|
|
52
|
+
background-color: var(--rel-badge-bg, var(--rel-bg-danger));
|
|
53
|
+
color: var(--rel-badge-color, var(--rel-text-static-light));
|
|
51
54
|
/* Large fixed radius (not 50%) — stays a perfect circle for 1-2 digits,
|
|
52
55
|
but becomes a pill instead of clipping when content like "999+"
|
|
53
56
|
is wider than the minimum circle. */
|
|
@@ -61,21 +64,46 @@ export class RelBadge extends LitElement {
|
|
|
61
64
|
min-width: 20px;
|
|
62
65
|
height: 20px;
|
|
63
66
|
padding: 0 4px;
|
|
64
|
-
font-
|
|
67
|
+
font-family: var(--rel-body-xs-regular-font-family);
|
|
68
|
+
font-weight: var(--rel-body-xs-semibold-font-weight);
|
|
69
|
+
font-size: var(--rel-body-xs-semibold-font-size);
|
|
70
|
+
line-height: var(--rel-body-xs-semibold-line-height);
|
|
71
|
+
letter-spacing: var(--rel-body-xs-semibold-letter-spacing);
|
|
65
72
|
}
|
|
66
73
|
|
|
74
|
+
/* Size tiers follow Figma Badge S/M/L/XL (20/24/28/40px).
|
|
75
|
+
Figma binds a *-regular family with *-semibold metrics on S/M/L. */
|
|
67
76
|
.badge-md {
|
|
77
|
+
min-width: 24px;
|
|
78
|
+
height: 24px;
|
|
79
|
+
padding: 0 6px;
|
|
80
|
+
font-family: var(--rel-body-sm-regular-font-family);
|
|
81
|
+
font-weight: var(--rel-body-sm-semibold-font-weight);
|
|
82
|
+
font-size: var(--rel-body-sm-semibold-font-size);
|
|
83
|
+
line-height: var(--rel-body-sm-semibold-line-height);
|
|
84
|
+
letter-spacing: var(--rel-body-sm-semibold-letter-spacing);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.badge-lg {
|
|
68
88
|
min-width: 28px;
|
|
69
89
|
height: 28px;
|
|
70
90
|
padding: 0 6px;
|
|
71
|
-
font-
|
|
91
|
+
font-family: var(--rel-body-md-regular-font-family);
|
|
92
|
+
font-weight: var(--rel-body-md-semibold-font-weight);
|
|
93
|
+
font-size: var(--rel-body-md-regular-font-size);
|
|
94
|
+
line-height: var(--rel-body-md-regular-line-height);
|
|
95
|
+
letter-spacing: var(--rel-body-md-regular-letter-spacing);
|
|
72
96
|
}
|
|
73
97
|
|
|
74
|
-
.badge-
|
|
98
|
+
.badge-xl {
|
|
75
99
|
min-width: 40px;
|
|
76
100
|
height: 40px;
|
|
77
101
|
padding: 0 8px;
|
|
78
|
-
font-
|
|
102
|
+
font-family: var(--rel-body-xl-semibold-font-family);
|
|
103
|
+
font-weight: var(--rel-body-xl-semibold-font-weight);
|
|
104
|
+
font-size: var(--rel-body-xl-semibold-font-size);
|
|
105
|
+
line-height: var(--rel-body-xl-semibold-line-height);
|
|
106
|
+
letter-spacing: var(--rel-body-xl-semibold-letter-spacing);
|
|
79
107
|
}
|
|
80
108
|
|
|
81
109
|
/* DOT BADGES — explicitly reset min-width/padding inherited from the
|
|
@@ -101,6 +129,13 @@ export class RelBadge extends LitElement {
|
|
|
101
129
|
min-width: 0;
|
|
102
130
|
padding: 0;
|
|
103
131
|
}
|
|
132
|
+
|
|
133
|
+
.badge-dot.badge-xl {
|
|
134
|
+
width: 12px;
|
|
135
|
+
height: 12px;
|
|
136
|
+
min-width: 0;
|
|
137
|
+
padding: 0;
|
|
138
|
+
}
|
|
104
139
|
`;
|
|
105
140
|
|
|
106
141
|
private get classes() {
|
|
@@ -127,7 +162,7 @@ export class RelBadge extends LitElement {
|
|
|
127
162
|
|
|
128
163
|
render() {
|
|
129
164
|
return html`
|
|
130
|
-
<span class="${this.classes}" aria-label=${this.ariaLabel || `${this.number} ${this.suffix}`}>
|
|
165
|
+
<span part="base" class="${this.classes}" aria-label=${this.ariaLabel || `${this.number} ${this.suffix}`}>
|
|
131
166
|
${this.variant === "number" ? this.number : null}
|
|
132
167
|
</span>
|
|
133
168
|
`;
|
|
@@ -65,15 +65,15 @@ None exposed.
|
|
|
65
65
|
## Tokens / CSS Variables
|
|
66
66
|
|
|
67
67
|
### Semantic Tokens
|
|
68
|
-
- `--rel-
|
|
69
|
-
- `--rel-
|
|
70
|
-
- `--rel-
|
|
71
|
-
- `--rel-
|
|
68
|
+
- `--rel-fonts-font-family` - Font family
|
|
69
|
+
- `--rel-body-md-regular-font-size` - Font size
|
|
70
|
+
- `--rel-fonts-weight-body-medium` - Font weight for links
|
|
71
|
+
- `--rel-fonts-weight-body-semibold` - Font weight for current page
|
|
72
72
|
|
|
73
73
|
### Color Tokens
|
|
74
|
-
- `--rel-text-
|
|
75
|
-
- `--rel-text-
|
|
76
|
-
- `--rel-
|
|
74
|
+
- `--rel-text-default` - Base text color
|
|
75
|
+
- `--rel-text-label` - Link and current page text color
|
|
76
|
+
- `--rel-bg-info` - Link hover color and focus outline
|
|
77
77
|
|
|
78
78
|
## Accessibility
|
|
79
79
|
- Uses semantic `<nav>` with `aria-label="Breadcrumb"`
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "../../styles/vars-v2.css";
|
|
2
1
|
import { LitElement, html, css } from "lit";
|
|
3
2
|
import { customElement, property } from "lit/decorators.js";
|
|
4
3
|
|
|
@@ -14,10 +13,13 @@ export class RelBreadcrumbs extends LitElement {
|
|
|
14
13
|
|
|
15
14
|
static styles = css`
|
|
16
15
|
:host {
|
|
17
|
-
display: block;
|
|
18
|
-
|
|
19
|
-
font-
|
|
20
|
-
|
|
16
|
+
display: block;
|
|
17
|
+
color: var(--rel-text-default);
|
|
18
|
+
font-family: var(--rel-body-md-regular-font-family);
|
|
19
|
+
font-weight: var(--rel-body-md-regular-font-weight);
|
|
20
|
+
font-size: var(--rel-body-md-regular-font-size);
|
|
21
|
+
line-height: var(--rel-body-md-regular-line-height);
|
|
22
|
+
letter-spacing: var(--rel-body-md-regular-letter-spacing);
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
nav {
|
|
@@ -33,30 +35,31 @@ export class RelBreadcrumbs extends LitElement {
|
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
li {
|
|
38
|
+
gap: var(--rel-spacing-xs);
|
|
36
39
|
display: flex;
|
|
37
40
|
align-items: center;
|
|
38
41
|
}
|
|
39
42
|
|
|
40
43
|
a {
|
|
41
44
|
text-decoration: none;
|
|
42
|
-
font-weight: var(--rel-
|
|
43
|
-
color: var(--rel-
|
|
45
|
+
font-weight: var(--rel-body-md-regular-font-weight);
|
|
46
|
+
color: var(--rel-text-body);
|
|
44
47
|
}
|
|
45
48
|
|
|
46
49
|
a:hover {
|
|
47
50
|
text-decoration: underline;
|
|
48
|
-
color: var(--rel-
|
|
51
|
+
color: var(--rel-text-default);
|
|
49
52
|
}
|
|
50
53
|
|
|
51
54
|
a:focus-visible {
|
|
52
|
-
outline: 2px solid var(--rel-
|
|
55
|
+
outline: 2px solid var(--rel-border-focus);
|
|
53
56
|
outline-offset: 2px;
|
|
54
57
|
border-radius: 2px;
|
|
55
58
|
}
|
|
56
59
|
|
|
57
60
|
.current {
|
|
58
|
-
font-weight: var(--rel-
|
|
59
|
-
color: var(--rel-
|
|
61
|
+
font-weight: var(--rel-body-md-semibold-font-weight);
|
|
62
|
+
color: var(--rel-text-default);
|
|
60
63
|
cursor: default;
|
|
61
64
|
}
|
|
62
65
|
|
|
@@ -70,7 +73,7 @@ export class RelBreadcrumbs extends LitElement {
|
|
|
70
73
|
|
|
71
74
|
render() {
|
|
72
75
|
return html`
|
|
73
|
-
<nav aria-label="Breadcrumb">
|
|
76
|
+
<nav part="base" aria-label="Breadcrumb">
|
|
74
77
|
<ol>
|
|
75
78
|
${this.items.map((item, index) => {
|
|
76
79
|
const isLast = index === this.items.length - 1;
|
|
@@ -79,7 +82,7 @@ export class RelBreadcrumbs extends LitElement {
|
|
|
79
82
|
<li>
|
|
80
83
|
${item.url && !isLast
|
|
81
84
|
? html`<a href=${item.url}>${item.label}</a>`
|
|
82
|
-
: html`<span class="current" aria-current="page">${item.label}</span>`}
|
|
85
|
+
: html`<span part="label" class="current" aria-current="page">${item.label}</span>`}
|
|
83
86
|
${!isLast
|
|
84
87
|
? html`
|
|
85
88
|
<svg viewBox="0 0 24 24" aria-hidden="true">
|
|
@@ -75,31 +75,31 @@ None exposed.
|
|
|
75
75
|
## Tokens / CSS Variables
|
|
76
76
|
|
|
77
77
|
### Semantic Tokens
|
|
78
|
-
- `--rel-
|
|
79
|
-
- `--rel-
|
|
80
|
-
- `--rel-
|
|
78
|
+
- `--rel-fonts-font-family` - Font family
|
|
79
|
+
- `--rel-fonts-weight-body-semibold` - Font weight
|
|
80
|
+
- `--rel-body-sm-regular-font-size`, `--rel-body-md-regular-font-size`, `--rel-body-xl-regular-font-size` - Font sizes for sizes
|
|
81
81
|
|
|
82
82
|
### Spacing Tokens
|
|
83
|
-
- `--rel-spacing-
|
|
84
|
-
- `--rel-spacing-
|
|
83
|
+
- `--rel-spacing-2xs` - Internal gap between elements
|
|
84
|
+
- `--rel-spacing-md`, `--rel-spacing-lg`, `--rel-spacing-xl` - Horizontal padding by size
|
|
85
85
|
|
|
86
86
|
### Color Tokens (by variant/tone)
|
|
87
|
-
- **default + default tone**: `--rel-
|
|
88
|
-
- **default + critical tone**: `--rel-
|
|
89
|
-
- **default + success tone**: `--rel-
|
|
90
|
-
- **primary + default tone**: `--rel-
|
|
91
|
-
- **primary + critical tone**: `--rel-
|
|
92
|
-
- **primary + success tone**: `--rel-
|
|
93
|
-
- **secondary**: `--rel-
|
|
94
|
-
- **text**: transparent (bg), `--rel-
|
|
95
|
-
- **link**: transparent (bg), `--rel-
|
|
96
|
-
- **icon**: `--rel-
|
|
97
|
-
- **disabled**: `--rel-
|
|
87
|
+
- **default + default tone**: `--rel-text-default` (bg), `--rel-bg-surface` (text)
|
|
88
|
+
- **default + critical tone**: `--rel-bg-danger` (bg), `--rel-bg-surface` (text)
|
|
89
|
+
- **default + success tone**: `--rel-text-success` (bg), `--rel-bg-surface` (text)
|
|
90
|
+
- **primary + default tone**: `--rel-bg-brand` (bg), `--rel-text-default` (text)
|
|
91
|
+
- **primary + critical tone**: `--rel-bg-danger` (bg), `--rel-bg-surface` (text)
|
|
92
|
+
- **primary + success tone**: `--rel-text-success` (bg), `--rel-bg-surface` (text)
|
|
93
|
+
- **secondary**: `--rel-bg-surface` (bg), `--rel-text-default` (text + border)
|
|
94
|
+
- **text**: transparent (bg), `--rel-text-default` (text)
|
|
95
|
+
- **link**: transparent (bg), `--rel-bg-info` (text), underlined
|
|
96
|
+
- **icon**: `--rel-bg-surface-elevated` (bg), `--rel-text-default` (text), circular (40px × 40px)
|
|
97
|
+
- **disabled**: `--rel-border-default` (bg), `--rel-text-disabled` (text)
|
|
98
98
|
|
|
99
99
|
### Border Tokens
|
|
100
|
-
- `--rel-
|
|
101
|
-
- `--rel-
|
|
102
|
-
- `--rel-
|
|
100
|
+
- `--rel-border-radius-full-rounded` - Large corner radius
|
|
101
|
+
- `--rel-border-radius-sm` - Small corner radius
|
|
102
|
+
- `--rel-border-radius-square` - No corner radius
|
|
103
103
|
|
|
104
104
|
## Accessibility
|
|
105
105
|
- Uses native `<button>` element for proper semantics
|
|
@@ -126,5 +126,5 @@ None exposed.
|
|
|
126
126
|
- Clicking a disabled button prevents default and stops propagation
|
|
127
127
|
- Size variants affect height (32px/40px/48px) and horizontal padding
|
|
128
128
|
- The button has `display: inline-flex` with `align-items: center` and `justify-content: center`
|
|
129
|
-
- Internal gap of `var(--rel-spacing-
|
|
129
|
+
- Internal gap of `var(--rel-spacing-2xs)` allows icons + text combinations
|
|
130
130
|
- Transitions are `0.15s ease` for all visual changes
|