@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.
Files changed (123) hide show
  1. package/dist/components/rel-accordion/README.md +13 -13
  2. package/dist/components/rel-accordion/rel-accordion.ts +80 -45
  3. package/dist/components/rel-alert/README.md +15 -15
  4. package/dist/components/rel-alert/rel-alert.ts +161 -159
  5. package/dist/components/rel-avatar/README.md +15 -15
  6. package/dist/components/rel-avatar/rel-avatar.ts +42 -38
  7. package/dist/components/rel-badge/README.md +5 -5
  8. package/dist/components/rel-badge/rel-badge.ts +69 -17
  9. package/dist/components/rel-breadcrumb/README.md +7 -7
  10. package/dist/components/rel-breadcrumb/rel-breadcrumb.ts +16 -13
  11. package/dist/components/rel-button/README.md +20 -20
  12. package/dist/components/rel-button/rel-button.ts +327 -105
  13. package/dist/components/rel-calendar/README.md +5 -5
  14. package/dist/components/rel-calendar/rel-calendar.ts +61 -45
  15. package/dist/components/rel-card/README.md +6 -6
  16. package/dist/components/rel-card/rel-card.ts +88 -35
  17. package/dist/components/rel-cardmedia/README.md +9 -9
  18. package/dist/components/rel-cardmedia/rel-cardmedia.ts +27 -20
  19. package/dist/components/rel-carousel/README.md +3 -3
  20. package/dist/components/rel-carousel/rel-carousel.ts +174 -90
  21. package/dist/components/rel-chart/README.md +8 -8
  22. package/dist/components/rel-chart/rel-chart.ts +59 -41
  23. package/dist/components/rel-checkbox/README.md +7 -7
  24. package/dist/components/rel-checkbox/rel-checkbox.ts +61 -61
  25. package/dist/components/rel-chip/README.md +16 -16
  26. package/dist/components/rel-chip/rel-chip.ts +143 -111
  27. package/dist/components/rel-container/README.md +11 -11
  28. package/dist/components/rel-container/rel-container.ts +35 -9
  29. package/dist/components/rel-date-picker/README.md +43 -7
  30. package/dist/components/rel-date-picker/date-format.test.ts +43 -0
  31. package/dist/components/rel-date-picker/date-format.ts +47 -0
  32. package/dist/components/rel-date-picker/rel-date-picker.ts +257 -83
  33. package/dist/components/rel-divider/README.md +9 -9
  34. package/dist/components/rel-divider/rel-divider.ts +10 -9
  35. package/dist/components/rel-drawer/README.md +1 -1
  36. package/dist/components/rel-drawer/rel-drawer-footer.ts +1 -1
  37. package/dist/components/rel-drawer/rel-drawer.ts +56 -28
  38. package/dist/components/rel-kbd/README.md +20 -20
  39. package/dist/components/rel-kbd/rel-kbd.ts +119 -25
  40. package/dist/components/rel-layout/README.md +1 -1
  41. package/dist/components/rel-layout/rel-layout.ts +2 -2
  42. package/dist/components/rel-menu/README.md +15 -15
  43. package/dist/components/rel-menu/rel-menu.ts +155 -88
  44. package/dist/components/rel-menubar/README.md +20 -20
  45. package/dist/components/rel-menubar/rel-menubar.ts +47 -31
  46. package/dist/components/rel-nav-menu/README.md +21 -21
  47. package/dist/components/rel-nav-menu/rel-nav-menu-item.ts +17 -14
  48. package/dist/components/rel-nav-menu/rel-nav-menu-panel.ts +33 -14
  49. package/dist/components/rel-nav-menu/rel-nav-menu.ts +14 -7
  50. package/dist/components/rel-navbar/README.md +7 -7
  51. package/dist/components/rel-navbar/rel-navbar.ts +12 -11
  52. package/dist/components/rel-otp/README.md +3 -3
  53. package/dist/components/rel-otp/rel-otp.ts +46 -30
  54. package/dist/components/rel-pagination/README.md +18 -18
  55. package/dist/components/rel-pagination/rel-pagination.ts +141 -90
  56. package/dist/components/rel-popover/README.md +13 -13
  57. package/dist/components/rel-popover/rel-popover-content.ts +39 -14
  58. package/dist/components/rel-popover/rel-popover.ts +18 -7
  59. package/dist/components/rel-progress/README.md +5 -5
  60. package/dist/components/rel-progress/rel-progress.ts +16 -12
  61. package/dist/components/rel-radio/README.md +9 -9
  62. package/dist/components/rel-radio/rel-radio.ts +64 -50
  63. package/dist/components/rel-range-picker/rel-range-picker.ts +120 -117
  64. package/dist/components/rel-resizable/README.md +4 -4
  65. package/dist/components/rel-resizable/rel-resizable-group.ts +15 -4
  66. package/dist/components/rel-resizable/rel-resizable-handle.ts +13 -9
  67. package/dist/components/rel-resizable/rel-resizable-panel.ts +11 -0
  68. package/dist/components/rel-segmented-button/README.md +10 -10
  69. package/dist/components/rel-segmented-button/rel-segmented-button.ts +39 -40
  70. package/dist/components/rel-select/README.md +14 -14
  71. package/dist/components/rel-select/rel-select.ts +120 -188
  72. package/dist/components/rel-sheet/README.md +10 -10
  73. package/dist/components/rel-sheet/rel-sheet.ts +82 -23
  74. package/dist/components/rel-sidebar/README.md +5 -5
  75. package/dist/components/rel-sidebar/rel-sidebar.ts +75 -60
  76. package/dist/components/rel-skeleton/rel-skeleton.ts +8 -13
  77. package/dist/components/rel-slider/README.md +10 -10
  78. package/dist/components/rel-slider/rel-slider.ts +230 -57
  79. package/dist/components/rel-snackbar/README.md +9 -9
  80. package/dist/components/rel-snackbar/rel-snackbar.ts +44 -32
  81. package/dist/components/rel-stepper/README.md +10 -10
  82. package/dist/components/rel-stepper/rel-stepper.ts +110 -46
  83. package/dist/components/rel-switch/README.md +5 -5
  84. package/dist/components/rel-switch/rel-switch.ts +23 -12
  85. package/dist/components/rel-tab/README.md +13 -13
  86. package/dist/components/rel-tab/rel-tab.ts +73 -23
  87. package/dist/components/rel-table/README.md +7 -7
  88. package/dist/components/rel-table/rel-table-body.ts +2 -1
  89. package/dist/components/rel-table/rel-table-caption.ts +10 -7
  90. package/dist/components/rel-table/rel-table-cell.ts +7 -6
  91. package/dist/components/rel-table/rel-table-footer.ts +4 -3
  92. package/dist/components/rel-table/rel-table-head.ts +11 -9
  93. package/dist/components/rel-table/rel-table-header.ts +2 -1
  94. package/dist/components/rel-table/rel-table-row.ts +5 -4
  95. package/dist/components/rel-table/rel-table.ts +16 -7
  96. package/dist/components/rel-textfield/README.md +11 -11
  97. package/dist/components/rel-textfield/rel-textfield.ts +718 -397
  98. package/dist/components/rel-toast/README.md +11 -11
  99. package/dist/components/rel-toast/rel-toast.ts +33 -30
  100. package/dist/components/rel-tooltip/README.md +7 -7
  101. package/dist/components/rel-tooltip/rel-tooltip.ts +160 -123
  102. package/dist/components/rel-topbar/rel-topbar-actions.ts +5 -2
  103. package/dist/components/rel-topbar/rel-topbar-brand.ts +12 -5
  104. package/dist/components/rel-topbar/rel-topbar-dropdown-item.ts +14 -8
  105. package/dist/components/rel-topbar/rel-topbar-dropdown.ts +8 -5
  106. package/dist/components/rel-topbar/rel-topbar-item.ts +27 -22
  107. package/dist/components/rel-topbar/rel-topbar-mobile-panel.ts +4 -1
  108. package/dist/components/rel-topbar/rel-topbar-profile.ts +71 -50
  109. package/dist/components/rel-topbar/rel-topbar-utilities.ts +5 -2
  110. package/dist/components/rel-topbar/rel-topbar.ts +37 -29
  111. package/dist/index.d.mts +227 -40
  112. package/dist/index.d.ts +227 -40
  113. package/dist/index.js +3930 -2247
  114. package/dist/index.js.map +1 -1
  115. package/dist/index.mjs +4311 -2629
  116. package/dist/index.mjs.map +1 -1
  117. package/dist/styles/vars.css +653 -346
  118. package/dist/vars-WY2XCF5G.css +653 -0
  119. package/package.json +3 -2
  120. package/dist/components/rel-range-picker/rel-range-picker.css +0 -349
  121. package/dist/styles/vars-v2.css +0 -525
  122. package/dist/vars-I2PC74XD.css +0 -346
  123. package/dist/vars-v2-VMGWTFJZ.css +0 -525
@@ -2,12 +2,15 @@ import { LitElement, html, css } from "lit";
2
2
  import { customElement, property, state } from "lit/decorators.js";
3
3
  import "./rel-topbar-dropdown";
4
4
  import "./rel-topbar-dropdown-item";
5
- import "../../styles/vars-v2.css";
6
5
  import "@reliability-design/icons/rel-icon";
7
6
 
8
7
  /**
9
8
  * `rel-topbar-item` — A navigation item within rel-topbar.
10
9
  *
10
+ * @deprecated Part of the deprecated rel-topbar family. Use the "App
11
+ * Topbar" recipe at /docs/recipes/app-topbar, which composes nav links and
12
+ * `rel-menu`/`rel-popover` dropdowns directly instead of a dedicated item component.
13
+ *
11
14
  * Renders as an `<a>` when `href` is supplied, otherwise a `<button>`.
12
15
  *
13
16
  * Slots:
@@ -49,14 +52,15 @@ export class RelTopbarItem extends LitElement {
49
52
  static styles = css`
50
53
  /* ─── Component tokens ──────────────────────────────────────────── */
51
54
  :host {
52
- --_item-color: var(--rel-topbar-item-color, var(--rel-text-primary, #333));
53
- --_item-active-color: var(--rel-topbar-item-active-color, var(--rel-colors-green-tertiary, #00a86b));
54
- --_item-active-indicator: var(--rel-topbar-item-active-indicator, var(--rel-colors-green-primary, #00f49c));
55
- --_item-hover-bg: var(--rel-topbar-item-hover-bg, var(--rel-surface-secondary, #fafafa));
55
+ color: var(--rel-text-default);
56
+ --_item-color: var(--rel-topbar-item-color, var(--rel-text-default));
57
+ --_item-active-color: var(--rel-topbar-item-active-color, var(--rel-text-success));
58
+ --_item-active-indicator: var(--rel-topbar-item-active-indicator, var(--rel-bg-brand));
59
+ --_item-hover-bg: var(--rel-topbar-item-hover-bg, var(--rel-bg-surface-elevated));
56
60
 
57
61
  display: inline-block;
58
62
  position: relative;
59
- font-family: var(--rel-fontFamilies-primary, Poppins, sans-serif);
63
+ font-family: var(--rel-fonts-font-family, Poppins, sans-serif);
60
64
  }
61
65
 
62
66
  :host([hidden]) {
@@ -67,30 +71,31 @@ export class RelTopbarItem extends LitElement {
67
71
  .trigger {
68
72
  display: inline-flex;
69
73
  align-items: center;
70
- gap: var(--rel-spacing-space-2xs, 4px);
71
- padding: var(--rel-spacing-space-xs, 8px) var(--rel-spacing-space-sm, 12px);
74
+ gap: var(--rel-spacing-2xs, 4px);
75
+ padding: var(--rel-spacing-xs, 8px) var(--rel-spacing-sm, 12px);
72
76
  border: none;
73
77
  background: transparent;
74
- border-radius: var(--rel-borders-radius-border-radius-200, 8px);
78
+ border-radius: var(--rel-border-radius-sm, 8px);
75
79
  cursor: pointer;
76
- color: var(--_item-color);
77
- font-family: inherit;
78
- font-size: var(--rel-fontSizes-md, 14px);
79
- font-weight: var(--rel-fontWeights-medium, 500);
80
- line-height: var(--rel-lineHeights-md, 20px);
80
+ color: var(--_item-color);
81
81
  text-decoration: none;
82
82
  white-space: nowrap;
83
83
  position: relative;
84
84
  transition: background 0.15s ease, color 0.15s ease;
85
- box-sizing: border-box;
85
+ box-sizing: border-box;
86
+ font-family: var(--rel-body-md-medium-font-family);
87
+ font-weight: var(--rel-body-md-medium-font-weight);
88
+ font-size: var(--rel-body-md-medium-font-size);
89
+ line-height: var(--rel-body-md-medium-line-height);
90
+ letter-spacing: var(--rel-body-md-medium-letter-spacing);
86
91
  }
87
92
 
88
93
  .trigger::after {
89
94
  content: "";
90
95
  position: absolute;
91
96
  bottom: -2px;
92
- left: var(--rel-spacing-space-sm, 12px);
93
- right: var(--rel-spacing-space-sm, 12px);
97
+ left: var(--rel-spacing-sm, 12px);
98
+ right: var(--rel-spacing-sm, 12px);
94
99
  height: 2px;
95
100
  border-radius: 1px;
96
101
  background: transparent;
@@ -100,7 +105,7 @@ export class RelTopbarItem extends LitElement {
100
105
  /* Active state */
101
106
  :host([active]) .trigger {
102
107
  color: var(--_item-active-color);
103
- font-weight: var(--rel-fontWeights-semibold, 600);
108
+ font-weight: var(--rel-fonts-weight-body-semibold, 600);
104
109
  }
105
110
 
106
111
  :host([active]) .trigger::after {
@@ -159,11 +164,11 @@ export class RelTopbarItem extends LitElement {
159
164
  top: calc(100% + 6px);
160
165
  left: 0;
161
166
  min-width: 200px;
162
- background: var(--rel-color-bg-primary);
163
- border: var(--rel-borders-width-stroke-100, 1px) solid var(--rel-color-border-default);
164
- border-radius: var(--rel-borders-radius-border-radius-200, 8px);
167
+ background: var(--rel-bg-surface);
168
+ border: var(--rel-stroke-sm, 1px) solid var(--rel-border-default);
169
+ border-radius: var(--rel-border-radius-sm, 8px);
165
170
  box-shadow: var(--rel-shadows-shadow-300);
166
- padding: var(--rel-spacing-space-2xs, 4px);
171
+ padding: var(--rel-spacing-2xs, 4px);
167
172
  z-index: 200;
168
173
  display: none;
169
174
  }
@@ -1,7 +1,10 @@
1
1
  import { LitElement, html, css } from "lit";
2
2
  import { customElement } from "lit/decorators.js";
3
- import "../../styles/vars-v2.css";
4
3
 
4
+ /**
5
+ * @deprecated Part of the deprecated rel-topbar family. Use `rel-drawer`
6
+ * for the mobile nav panel in the "App Topbar" recipe at /docs/recipes/app-topbar.
7
+ */
5
8
  @customElement("rel-topbar-mobile-panel")
6
9
  export class RelTopbarMobilePanel extends LitElement {
7
10
  static styles = css`
@@ -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
  import "../rel-avatar/rel-avatar.js";
5
4
 
6
5
  export type TopbarProfileType = "avatar" | "carrier";
@@ -9,6 +8,9 @@ export type TopbarRewardTier = "gold" | "silver" | "platinum" | "bronze" | "regu
9
8
  /**
10
9
  * `rel-topbar-profile` — Profile / user tile for the topbar right region.
11
10
  *
11
+ * @deprecated Part of the deprecated rel-topbar family. Compose `rel-avatar`
12
+ * directly inside the "App Topbar" recipe at /docs/recipes/app-topbar.
13
+ *
12
14
  * type="avatar" Customer avatar with initials circle + optional name/subtitle.
13
15
  * type="carrier" Carrier reward tile with reward-tier badge + name/subtitle.
14
16
  */
@@ -35,28 +37,29 @@ export class RelTopbarProfile extends LitElement {
35
37
  static styles = css`
36
38
  /* ─── Component tokens (reward tier palette) ────────────────────── */
37
39
  :host {
38
- --_profile-radius: var(--rel-borders-radius-border-radius-500, 1000px);
40
+ color: var(--rel-text-default);
41
+ --_profile-radius: var(--rel-border-radius-full-rounded, 1000px);
39
42
  --_avatar-size: 36px;
40
43
  --_avatar-size-sm: 28px;
41
- --_avatar-bg: var(--rel-colors-green-primary, #00f49c);
42
- --_avatar-color: var(--rel-color-text-primary);
44
+ --_avatar-bg: var(--rel-bg-brand);
45
+ --_avatar-color: var(--rel-text-default);
43
46
 
44
47
  /* Reward tier colours (reference existing token palette) */
45
- --rel-topbar-reward-gold: var(--rel-colors-gold, #d6ba00);
46
- --rel-topbar-reward-gold-bg: var(--rel-colors-gold-light, #f6efd7);
47
- --rel-topbar-reward-silver: var(--rel-colors-silver, #bababa);
48
- --rel-topbar-reward-silver-bg: var(--rel-colors-silver-secondary, #f0f0f0);
49
- --rel-topbar-reward-platinum: var(--rel-colors-platinum, #8392c9);
50
- --rel-topbar-reward-platinum-bg: var(--rel-colors-platinum-secondary, #e4e6f2);
51
- --rel-topbar-reward-bronze: var(--rel-colors-bronze, #7d5300);
52
- --rel-topbar-reward-bronze-bg: var(--rel-colors-bronze-secondary, #e2dac7);
53
- --rel-topbar-reward-regular: var(--rel-colors-gray-divider, #bdbdbd);
54
- --rel-topbar-reward-regular-bg: var(--rel-color-bg-secondary);
48
+ --rel-topbar-reward-gold: var(--rel-bg-warning);
49
+ --rel-topbar-reward-gold-bg: var(--rel-bg-warning-light);
50
+ --rel-topbar-reward-silver: var(--rel-text-caption);
51
+ --rel-topbar-reward-silver-bg: var(--rel-bg-neutral-elevated-1);
52
+ --rel-topbar-reward-platinum: var(--rel-text-info);
53
+ --rel-topbar-reward-platinum-bg: var(--rel-bg-info-light);
54
+ --rel-topbar-reward-bronze: var(--rel-text-warning);
55
+ --rel-topbar-reward-bronze-bg: var(--rel-bg-warning-light);
56
+ --rel-topbar-reward-regular: var(--rel-border-default);
57
+ --rel-topbar-reward-regular-bg: var(--rel-bg-surface-elevated);
55
58
 
56
59
  display: inline-flex;
57
60
  align-items: center;
58
- gap: var(--rel-spacing-space-xs, 8px);
59
- font-family: var(--rel-fontFamilies-primary, Poppins, sans-serif);
61
+ gap: var(--rel-spacing-xs, 8px);
62
+ font-family: var(--rel-fonts-font-family, Poppins, sans-serif);
60
63
  cursor: pointer;
61
64
  }
62
65
 
@@ -72,38 +75,56 @@ export class RelTopbarProfile extends LitElement {
72
75
  display: none;
73
76
  }
74
77
 
75
- .name {
76
- font-size: var(--rel-fontSizes-md, 14px);
77
- font-weight: var(--rel-fontWeights-medium, 500);
78
- color: var(--rel-color-text-primary);
79
- line-height: var(--rel-lineHeights-md, 20px);
78
+ .name {
79
+ color: var(--rel-text-default);
80
80
  white-space: nowrap;
81
81
  overflow: hidden;
82
- text-overflow: ellipsis;
82
+ text-overflow: ellipsis;
83
+
84
+ font-family: var(--rel-body-md-medium-font-family);
85
+
86
+ font-weight: var(--rel-body-md-medium-font-weight);
87
+
88
+ font-size: var(--rel-body-md-medium-font-size);
89
+
90
+ line-height: var(--rel-body-md-medium-line-height);
91
+
92
+ letter-spacing: var(--rel-body-md-medium-letter-spacing);
93
+
83
94
  }
84
95
 
85
- .subtitle {
86
- font-size: var(--rel-fontSizes-sm, 12px);
87
- font-weight: var(--rel-fontWeights-regular, 400);
88
- color: var(--rel-color-text-placeholder);
89
- line-height: var(--rel-lineHeights-sm, 18px);
96
+ .subtitle {
97
+ color: var(--rel-text-placeholder);
90
98
  white-space: nowrap;
91
99
  overflow: hidden;
92
- text-overflow: ellipsis;
100
+ text-overflow: ellipsis;
101
+
102
+ font-family: var(--rel-body-sm-regular-font-family);
103
+
104
+ font-weight: var(--rel-body-sm-regular-font-weight);
105
+
106
+ font-size: var(--rel-body-sm-regular-font-size);
107
+
108
+ line-height: var(--rel-body-sm-regular-line-height);
109
+
110
+ letter-spacing: var(--rel-body-sm-regular-letter-spacing);
111
+
93
112
  }
94
113
 
95
114
  /* ─── Carrier reward badge ──────────────────────────────────────── */
96
115
  .reward-badge {
97
116
  display: inline-flex;
98
117
  align-items: center;
99
- gap: var(--rel-spacing-space-3xs, 2px);
100
- padding: 2px var(--rel-spacing-space-2xs, 4px);
101
- border-radius: var(--rel-borders-radius-border-radius-100, 2px);
102
- font-size: var(--rel-fontSizes-xs, 10px);
103
- font-weight: var(--rel-fontWeights-bold, 700);
104
- text-transform: uppercase;
105
- letter-spacing: 0.4px;
106
- flex-shrink: 0;
118
+ gap: var(--rel-spacing-3xs, 2px);
119
+ padding: 2px var(--rel-spacing-2xs, 4px);
120
+ border-radius: var(--rel-border-radius-xs, 2px);
121
+ text-transform: uppercase;
122
+ flex-shrink: 0;
123
+ font-family: var(--rel-body-xs-semibold-font-family);
124
+ font-weight: var(--rel-body-xs-semibold-font-weight);
125
+ font-size: var(--rel-body-xs-semibold-font-size);
126
+ line-height: var(--rel-body-xs-semibold-line-height);
127
+ letter-spacing: var(--rel-body-xs-semibold-letter-spacing);
107
128
  }
108
129
 
109
130
  /* Gold */
@@ -115,7 +136,7 @@ export class RelTopbarProfile extends LitElement {
115
136
  /* Silver */
116
137
  :host([reward="silver"]) .reward-badge {
117
138
  background: var(--rel-topbar-reward-silver-bg);
118
- color: var(--rel-colors-gray-primary, #333);
139
+ color: var(--rel-text-default);
119
140
  }
120
141
 
121
142
  /* Platinum */
@@ -133,22 +154,22 @@ export class RelTopbarProfile extends LitElement {
133
154
  /* Regular */
134
155
  :host([reward="regular"]) .reward-badge {
135
156
  background: var(--rel-topbar-reward-regular-bg);
136
- color: var(--rel-colors-gray-primary, #333);
157
+ color: var(--rel-text-default);
137
158
  }
138
159
 
139
160
  /* ─── Carrier tile shell ────────────────────────────────────────── */
140
161
  .carrier-tile {
141
162
  display: flex;
142
163
  align-items: center;
143
- gap: var(--rel-spacing-space-xs, 8px);
144
- padding: var(--rel-spacing-space-2xs, 4px) var(--rel-spacing-space-xs, 8px);
145
- border-radius: var(--rel-borders-radius-border-radius-200, 8px);
146
- background: var(--rel-surface-secondary, #fafafa);
147
- border: var(--rel-borders-width-stroke-100, 1px) solid var(--rel-color-border-default);
164
+ gap: var(--rel-spacing-xs, 8px);
165
+ padding: var(--rel-spacing-2xs, 4px) var(--rel-spacing-xs, 8px);
166
+ border-radius: var(--rel-border-radius-sm, 8px);
167
+ background: var(--rel-bg-surface-elevated);
168
+ border: var(--rel-stroke-sm, 1px) solid var(--rel-border-default);
148
169
  }
149
170
 
150
171
  :host([compact]) .carrier-tile {
151
- padding: var(--rel-spacing-space-2xs, 4px);
172
+ padding: var(--rel-spacing-2xs, 4px);
152
173
  }
153
174
 
154
175
  .carrier-meta {
@@ -191,13 +212,13 @@ export class RelTopbarProfile extends LitElement {
191
212
 
192
213
  private _avatarBg(): string {
193
214
  const map: Record<string, string> = {
194
- gold: "var(--rel-colors-gold)",
195
- platinum: "var(--rel-colors-platinum)",
196
- silver: "var(--rel-colors-silver)",
197
- bronze: "var(--rel-colors-bronze)",
198
- regular: "var(--rel-colors-green-primary)",
215
+ gold: "var(--rel-bg-warning)",
216
+ platinum: "var(--rel-text-info)",
217
+ silver: "var(--rel-text-caption)",
218
+ bronze: "var(--rel-text-warning)",
219
+ regular: "var(--rel-bg-brand)",
199
220
  };
200
- return map[this.reward] ?? "var(--rel-colors-green-primary)";
221
+ return map[this.reward] ?? "var(--rel-bg-brand)";
201
222
  }
202
223
 
203
224
  private _renderCarrier() {
@@ -1,14 +1,17 @@
1
1
  import { LitElement, html, css } from "lit";
2
2
  import { customElement } from "lit/decorators.js";
3
- import "../../styles/vars-v2.css";
4
3
 
4
+ /**
5
+ * @deprecated Part of the deprecated rel-topbar family. Use plain
6
+ * `rel-button` (icon variant) elements inside the "App Topbar" recipe at /docs/recipes/app-topbar.
7
+ */
5
8
  @customElement("rel-topbar-utilities")
6
9
  export class RelTopbarUtilities extends LitElement {
7
10
  static styles = css`
8
11
  .utilities {
9
12
  display: inline-flex;
10
13
  align-items: center;
11
- gap: var(--rel-spacing-space-xs, 8px);
14
+ gap: var(--rel-spacing-xs, 8px);
12
15
  }
13
16
  `;
14
17
 
@@ -1,6 +1,5 @@
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 "@reliability-design/icons/rel-icon";
5
4
  import "./rel-topbar-brand";
6
5
  import "./rel-topbar-actions";
@@ -15,6 +14,12 @@ export type TopbarForceLayout = "auto" | "desktop" | "tablet" | "mobile";
15
14
  /**
16
15
  * `rel-topbar` — Application-level top navigation / header shell.
17
16
  *
17
+ * @deprecated This component's fixed slot structure, hardcoded breakpoint,
18
+ * and built-in overflow logic are too rigid for most real layouts. Use the
19
+ * "App Topbar" recipe at /docs/recipes/app-topbar instead, composed from
20
+ * rel-menu/rel-popover, rel-drawer, and rel-button. Still supported, but
21
+ * will be removed in a future major version.
22
+ *
18
23
  * Slots:
19
24
  * brand — Logo / wordmark region (left)
20
25
  * (default) — Primary nav items (rel-topbar-item elements)
@@ -62,22 +67,23 @@ export class RelTopbar extends LitElement {
62
67
  static styles = css`
63
68
  /* ─── Component tokens ─────────────────────────────────────────── */
64
69
  :host {
70
+ color: var(--rel-text-default);
65
71
  --rel-topbar-height: 64px;
66
72
  --rel-topbar-height-compact: 48px;
67
- --rel-topbar-bg: var(--rel-color-bg-primary);
68
- --rel-topbar-border-color: var(--rel-border-default, #ddd);
69
- --rel-topbar-item-color: var(--rel-color-text-primary);
70
- --rel-topbar-item-active-color: var(--rel-colors-green-tertiary, #00a86b);
71
- --rel-topbar-item-active-indicator: var(--rel-colors-green-primary, #00f49c);
72
- --rel-topbar-item-hover-bg: var(--rel-color-bg-secondary);
73
- --rel-topbar-divider-color: var(--rel-border-divider, #bdbdbd);
74
- --rel-topbar-carrier-action-bg: var(--rel-color-text-primary);
75
- --rel-topbar-carrier-action-color: var(--rel-color-bg-primary);
73
+ --rel-topbar-bg: var(--rel-bg-surface);
74
+ --rel-topbar-border-color: var(--rel-border-default);
75
+ --rel-topbar-item-color: var(--rel-text-default);
76
+ --rel-topbar-item-active-color: var(--rel-text-success);
77
+ --rel-topbar-item-active-indicator: var(--rel-bg-brand);
78
+ --rel-topbar-item-hover-bg: var(--rel-bg-surface-elevated);
79
+ --rel-topbar-divider-color: var(--rel-border-default);
80
+ --rel-topbar-carrier-action-bg: var(--rel-text-default);
81
+ --rel-topbar-carrier-action-color: var(--rel-bg-surface);
76
82
  --rel-topbar-z: 100;
77
83
 
78
84
  display: block;
79
85
  width: 100%;
80
- font-family: var(--rel-fontFamilies-primary, Poppins, sans-serif);
86
+ font-family: var(--rel-fonts-font-family, Poppins, sans-serif);
81
87
  }
82
88
 
83
89
  /* ─── Sticky host ───────────────────────────────────────────────── */
@@ -93,10 +99,10 @@ export class RelTopbar extends LitElement {
93
99
  align-items: center;
94
100
  height: var(--rel-topbar-height);
95
101
  background: var(--rel-topbar-bg);
96
- border-bottom: var(--rel-borders-width-stroke-100, 1px) solid var(--rel-topbar-border-color);
97
- padding: 0 var(--rel-spacing-space-xl, 24px);
102
+ border-bottom: var(--rel-stroke-sm, 1px) solid var(--rel-topbar-border-color);
103
+ padding: 0 var(--rel-spacing-xl, 24px);
98
104
  box-sizing: border-box;
99
- gap: var(--rel-spacing-space-md, 16px);
105
+ gap: var(--rel-spacing-md, 16px);
100
106
  }
101
107
 
102
108
  :host([compact]) .topbar {
@@ -115,7 +121,7 @@ export class RelTopbar extends LitElement {
115
121
  display: flex;
116
122
  align-items: center;
117
123
  flex: 1 1 0;
118
- gap: var(--rel-spacing-space-2xs, 4px);
124
+ gap: var(--rel-spacing-2xs, 4px);
119
125
  min-width: 0;
120
126
  }
121
127
 
@@ -125,7 +131,7 @@ export class RelTopbar extends LitElement {
125
131
  align-items: center;
126
132
  flex-shrink: 0;
127
133
  margin-left: auto;
128
- gap: var(--rel-spacing-space-xs, 8px);
134
+ gap: var(--rel-spacing-xs, 8px);
129
135
  }
130
136
 
131
137
  .actions-region,
@@ -136,7 +142,7 @@ export class RelTopbar extends LitElement {
136
142
 
137
143
  /* Vertical divider between util/profile when both are populated */
138
144
  .divider {
139
- width: var(--rel-borders-width-stroke-100, 1px);
145
+ width: var(--rel-stroke-sm, 1px);
140
146
  height: 24px;
141
147
  background: var(--rel-topbar-divider-color);
142
148
  flex-shrink: 0;
@@ -146,11 +152,11 @@ export class RelTopbar extends LitElement {
146
152
  :host([variant="carrier"]) .actions-region ::slotted(*) {
147
153
  display: flex;
148
154
  align-items: center;
149
- gap: var(--rel-spacing-space-xs, 8px);
155
+ gap: var(--rel-spacing-xs, 8px);
150
156
  background: var(--rel-topbar-carrier-action-bg);
151
157
  color: var(--rel-topbar-carrier-action-color);
152
- padding: var(--rel-spacing-space-2xs, 4px) var(--rel-spacing-space-sm, 12px);
153
- border-radius: var(--rel-borders-radius-border-radius-500, 1000px);
158
+ padding: var(--rel-spacing-2xs, 4px) var(--rel-spacing-sm, 12px);
159
+ border-radius: var(--rel-border-radius-full-rounded, 1000px);
154
160
  }
155
161
 
156
162
  /* ─── Mobile toggle button ──────────────────────────────────────── */
@@ -163,7 +169,7 @@ export class RelTopbar extends LitElement {
163
169
  padding: 0;
164
170
  border: none;
165
171
  background: transparent;
166
- border-radius: var(--rel-borders-radius-border-radius-200, 8px);
172
+ border-radius: var(--rel-border-radius-sm, 8px);
167
173
  cursor: pointer;
168
174
  color: var(--rel-topbar-item-color);
169
175
  flex-shrink: 0;
@@ -186,7 +192,7 @@ export class RelTopbar extends LitElement {
186
192
  .mobile-panel {
187
193
  display: none;
188
194
  background: var(--rel-topbar-bg);
189
- border-bottom: var(--rel-borders-width-stroke-100, 1px) solid var(--rel-topbar-border-color);
195
+ border-bottom: var(--rel-stroke-sm, 1px) solid var(--rel-topbar-border-color);
190
196
  }
191
197
 
192
198
  .mobile-panel.open {
@@ -196,18 +202,20 @@ export class RelTopbar extends LitElement {
196
202
  .mobile-overflow-nav {
197
203
  display: flex;
198
204
  flex-direction: column;
199
- padding: var(--rel-spacing-space-xs, 8px) 0;
205
+ padding: var(--rel-spacing-xs, 8px) 0;
200
206
  border-top: 1px solid var(--rel-topbar-border-color);
201
207
  }
202
208
 
203
209
  .mobile-overflow-item {
204
210
  display: block;
205
- padding: var(--rel-spacing-space-xs, 8px) var(--rel-spacing-space-xl, 24px);
206
- color: var(--rel-topbar-item-color);
207
- font-family: var(--rel-fontFamilies-primary, Poppins, sans-serif);
208
- font-size: var(--rel-fontSizes-md, 14px);
209
- font-weight: var(--rel-fontWeights-medium, 500);
210
- text-decoration: none;
211
+ padding: var(--rel-spacing-xs, 8px) var(--rel-spacing-xl, 24px);
212
+ color: var(--rel-topbar-item-color);
213
+ text-decoration: none;
214
+ font-family: var(--rel-body-md-medium-font-family);
215
+ font-weight: var(--rel-body-md-medium-font-weight);
216
+ font-size: var(--rel-body-md-medium-font-size);
217
+ line-height: var(--rel-body-md-medium-line-height);
218
+ letter-spacing: var(--rel-body-md-medium-letter-spacing);
211
219
  }
212
220
 
213
221
  .mobile-overflow-item:hover {