@reliability-design/web 1.0.3 → 1.1.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.
Files changed (126) hide show
  1. package/dist/components/rel-accordion/README.md +132 -0
  2. package/dist/components/rel-accordion/rel-accordion.ts +47 -16
  3. package/dist/components/rel-alert/README.md +141 -0
  4. package/dist/components/rel-alert/rel-alert.ts +101 -20
  5. package/dist/components/rel-avatar/README.md +119 -0
  6. package/dist/components/rel-avatar/rel-avatar.ts +3 -2
  7. package/dist/components/rel-badge/README.md +86 -0
  8. package/dist/components/rel-badge/rel-badge.ts +11 -7
  9. package/dist/components/rel-breadcrumb/README.md +102 -0
  10. package/dist/components/rel-breadcrumb/rel-breadcrumb.ts +12 -6
  11. package/dist/components/rel-button/README.md +130 -0
  12. package/dist/components/rel-button/rel-button.ts +64 -8
  13. package/dist/components/rel-calendar/README.md +109 -0
  14. package/dist/components/rel-calendar/index.ts +1 -0
  15. package/dist/components/rel-calendar/rel-calendar.ts +467 -0
  16. package/dist/components/rel-card/README.md +94 -0
  17. package/dist/components/rel-card/rel-card.ts +12 -3
  18. package/dist/components/rel-cardmedia/README.md +127 -0
  19. package/dist/components/rel-cardmedia/rel-cardmedia.ts +14 -4
  20. package/dist/components/rel-carousel/README.md +166 -0
  21. package/dist/components/rel-carousel/index.ts +1 -0
  22. package/dist/components/rel-carousel/rel-carousel.ts +468 -0
  23. package/dist/components/rel-chart/README.md +286 -0
  24. package/dist/components/rel-chart/index.ts +1 -0
  25. package/dist/components/rel-chart/rel-chart.ts +736 -0
  26. package/dist/components/rel-checkbox/README.md +77 -0
  27. package/dist/components/rel-checkbox/rel-checkbox.ts +51 -12
  28. package/dist/components/rel-chip/README.md +114 -0
  29. package/dist/components/rel-chip/rel-chip.ts +83 -9
  30. package/dist/components/rel-container/README.md +99 -0
  31. package/dist/components/rel-date-picker/README.md +253 -0
  32. package/dist/components/rel-date-picker/index.ts +1 -0
  33. package/dist/components/rel-date-picker/rel-date-picker.ts +916 -0
  34. package/dist/components/rel-divider/README.md +100 -0
  35. package/dist/components/rel-divider/rel-divider.ts +9 -0
  36. package/dist/components/rel-drawer/README.md +200 -0
  37. package/dist/components/rel-drawer/index.ts +1 -0
  38. package/dist/components/rel-drawer/rel-drawer-footer.ts +29 -0
  39. package/dist/components/rel-drawer/rel-drawer.ts +612 -0
  40. package/dist/components/rel-kbd/README.md +151 -0
  41. package/dist/components/rel-kbd/rel-kbd.ts +118 -0
  42. package/dist/components/rel-layout/README.md +88 -0
  43. package/dist/components/rel-menu/README.md +151 -0
  44. package/dist/components/rel-menu/rel-menu.ts +64 -24
  45. package/dist/components/rel-menubar/README.md +329 -0
  46. package/dist/components/rel-menubar/index.ts +2 -0
  47. package/dist/components/rel-menubar/rel-menubar-menu.ts +16 -0
  48. package/dist/components/rel-menubar/rel-menubar.ts +605 -0
  49. package/dist/components/rel-nav-menu/README.md +289 -0
  50. package/dist/components/rel-nav-menu/index.ts +3 -0
  51. package/dist/components/rel-nav-menu/rel-nav-menu-item.ts +240 -0
  52. package/dist/components/rel-nav-menu/rel-nav-menu-panel.ts +53 -0
  53. package/dist/components/rel-nav-menu/rel-nav-menu.ts +227 -0
  54. package/dist/components/rel-navbar/README.md +126 -0
  55. package/dist/components/rel-navbar/rel-navbar.ts +104 -0
  56. package/dist/components/rel-otp/README.md +440 -0
  57. package/dist/components/rel-otp/index.ts +1 -0
  58. package/dist/components/rel-otp/rel-otp.ts +504 -0
  59. package/dist/components/rel-pagination/README.md +410 -0
  60. package/dist/components/rel-pagination/index.ts +1 -0
  61. package/dist/components/rel-pagination/rel-pagination.ts +381 -0
  62. package/dist/components/rel-popover/README.md +568 -0
  63. package/dist/components/rel-popover/index.ts +2 -0
  64. package/dist/components/rel-popover/rel-popover-content.ts +55 -0
  65. package/dist/components/rel-popover/rel-popover.ts +330 -0
  66. package/dist/components/rel-progress/README.md +110 -0
  67. package/dist/components/rel-progress/rel-progress.ts +32 -5
  68. package/dist/components/rel-radio/README.md +120 -0
  69. package/dist/components/rel-radio/rel-radio.ts +31 -6
  70. package/dist/components/rel-resizable/README.md +140 -0
  71. package/dist/components/rel-resizable/index.ts +3 -0
  72. package/dist/components/rel-resizable/rel-resizable-group.ts +374 -0
  73. package/dist/components/rel-resizable/rel-resizable-handle.ts +145 -0
  74. package/dist/components/rel-resizable/rel-resizable-panel.ts +47 -0
  75. package/dist/components/rel-segmented-button/README.md +141 -0
  76. package/dist/components/rel-segmented-button/rel-segmented-button.ts +18 -13
  77. package/dist/components/rel-select/README.md +107 -0
  78. package/dist/components/rel-select/rel-select.ts +28 -14
  79. package/dist/components/rel-sheet/README.md +224 -0
  80. package/dist/components/rel-sheet/rel-sheet.ts +684 -0
  81. package/dist/components/rel-sidebar/README.md +209 -0
  82. package/dist/components/rel-sidebar/rel-sidebar.ts +1166 -0
  83. package/dist/components/rel-slider/README.md +135 -0
  84. package/dist/components/rel-slider/rel-slider.ts +44 -9
  85. package/dist/components/rel-snackbar/README.md +134 -0
  86. package/dist/components/rel-snackbar/rel-snackbar.ts +109 -14
  87. package/dist/components/rel-stepper/README.md +160 -0
  88. package/dist/components/rel-stepper/rel-stepper.ts +38 -27
  89. package/dist/components/rel-switch/README.md +102 -0
  90. package/dist/components/rel-switch/rel-switch.ts +34 -12
  91. package/dist/components/rel-tab/README.md +163 -0
  92. package/dist/components/rel-tab/rel-tab.ts +79 -23
  93. package/dist/components/rel-table/README.md +178 -0
  94. package/dist/components/rel-table/rel-table-body.ts +21 -0
  95. package/dist/components/rel-table/rel-table-caption.ts +27 -0
  96. package/dist/components/rel-table/rel-table-cell.ts +42 -0
  97. package/dist/components/rel-table/rel-table-footer.ts +23 -0
  98. package/dist/components/rel-table/rel-table-head.ts +45 -0
  99. package/dist/components/rel-table/rel-table-header.ts +21 -0
  100. package/dist/components/rel-table/rel-table-row.ts +36 -0
  101. package/dist/components/rel-table/rel-table.ts +53 -0
  102. package/dist/components/rel-textfield/README.md +90 -0
  103. package/dist/components/rel-textfield/rel-textfield.ts +55 -39
  104. package/dist/components/rel-toast/README.md +148 -0
  105. package/dist/components/rel-toast/rel-toast.ts +63 -24
  106. package/dist/components/rel-tooltip/README.md +103 -0
  107. package/dist/components/rel-tooltip/rel-tooltip.ts +123 -80
  108. package/dist/components/rel-topbar/rel-topbar-actions.ts +23 -0
  109. package/dist/components/rel-topbar/rel-topbar-brand.ts +46 -0
  110. package/dist/components/rel-topbar/rel-topbar-dropdown-item.ts +33 -0
  111. package/dist/components/rel-topbar/rel-topbar-dropdown.ts +28 -0
  112. package/dist/components/rel-topbar/rel-topbar-item.ts +315 -0
  113. package/dist/components/rel-topbar/rel-topbar-mobile-panel.ts +23 -0
  114. package/dist/components/rel-topbar/rel-topbar-profile.ts +248 -0
  115. package/dist/components/rel-topbar/rel-topbar-utilities.ts +23 -0
  116. package/dist/components/rel-topbar/rel-topbar.ts +329 -0
  117. package/dist/index.d.mts +831 -7
  118. package/dist/index.d.ts +831 -7
  119. package/dist/index.js +9500 -1564
  120. package/dist/index.js.map +1 -1
  121. package/dist/index.mjs +9240 -1344
  122. package/dist/index.mjs.map +1 -1
  123. package/dist/styles/vars.css +187 -25
  124. package/dist/vars-TBB4BMSD.css +346 -0
  125. package/package.json +2 -1
  126. package/dist/vars-6ZIUPIU4.css +0 -184
@@ -1,5 +1,24 @@
1
- /* AUTO-GENERATED — CLEANED — DO NOT EDIT */
1
+ /* AUTO-GENERATED from tokens/*.json — DO NOT EDIT */
2
+ /* To regenerate: npm run sync-tokens -w @reliability-design/figma-pipeline */
3
+
4
+ /* ------------------ THEME TRANSITIONS ------------------ */
5
+ /* Smooth transitions for theme switching (light/dark) */
6
+ * {
7
+ transition-property: color, background-color, border-color, box-shadow, fill, stroke;
8
+ transition-duration: 0.2s;
9
+ transition-timing-function: ease;
10
+ }
11
+
12
+ /* Disable theme transitions for reduced motion */
13
+ @media (prefers-reduced-motion: reduce) {
14
+ * {
15
+ transition-property: none;
16
+ transition-duration: 0s;
17
+ }
18
+ }
19
+
2
20
  :root {
21
+
3
22
  /* ------------------ BORDER RADII ------------------ */
4
23
  --rel-borders-radius-border-radius-0: 0px;
5
24
  --rel-borders-radius-border-radius-100: 2px;
@@ -20,12 +39,10 @@
20
39
  --rel-colors-green-primary: #00F49C;
21
40
  --rel-colors-green-secondary: #06D98C;
22
41
  --rel-colors-green-tertiary: #00A86B;
23
- --rel-colors-green-success: #00A86B;
42
+ --rel-colors-green-success: #22C55E;
24
43
  --rel-colors-green-credited: #4CAA47;
25
44
  --rel-colors-green-bg-light: #E8F5E8;
26
-
27
45
  --rel-colors-black: #000000;
28
-
29
46
  --rel-colors-gray-primary: #333333;
30
47
  --rel-colors-gray-heading: #2B2B2B;
31
48
  --rel-colors-gray-placeholder: #A9A9A9;
@@ -39,67 +56,52 @@
39
56
  --rel-colors-gray-tab-border: #C4C4C4;
40
57
  --rel-colors-gray-surface: #F5F5F5;
41
58
  --rel-colors-gray-screen-bg: #EEEEEE;
42
-
43
59
  --rel-colors-red-primary: #CC0000;
44
60
  --rel-colors-red-secondary: #D50000;
45
61
  --rel-colors-red-tertiary: #9C1E33;
46
62
  --rel-colors-red-bg-alert: #FFE8EB;
47
63
  --rel-colors-red-light: #FFDEDE;
48
-
49
64
  --rel-colors-white: #FFFFFF;
50
-
51
65
  --rel-colors-blue-primary: #0091EA;
52
66
  --rel-colors-blue-secondary: #4A90E2;
53
67
  --rel-colors-blue-tertiary: #0059F4;
54
68
  --rel-colors-blue-light: #80D8FF;
55
69
  --rel-colors-blue-bg: #E1F2FF;
56
-
57
70
  --rel-colors-orange-warning: #FF6D00;
58
71
  --rel-colors-orange-expired: #F2915C;
59
72
  --rel-colors-orange-bg-light: #FFE9D9;
60
73
  --rel-colors-orange-bg-counter: #FFF3E0;
61
-
62
74
  --rel-colors-yellow-pending: #FFBF43;
63
-
64
75
  --rel-colors-gold: #D6BA00;
65
76
  --rel-colors-gold-light: #F6EFD7;
66
77
  --rel-colors-gold-secondary: #F5F0D3;
67
-
68
78
  --rel-colors-platinum: #8392C9;
69
79
  --rel-colors-platinum-secondary: #E4E6F2;
70
-
71
80
  --rel-colors-silver: #BABABA;
72
81
  --rel-colors-silver-secondary: #F0F0F0;
73
-
74
82
  --rel-colors-bronze: #7D5300;
75
83
  --rel-colors-bronze-secondary: #E2DAC7;
76
84
 
77
85
  /* ------------------ SEMANTIC TEXT ------------------ */
78
86
  --rel-text-primary: var(--rel-colors-gray-primary);
79
87
  --rel-text-heading: var(--rel-colors-gray-heading);
80
-
81
88
  --rel-text-error: var(--rel-colors-red-primary);
82
89
  --rel-text-error-small: var(--rel-colors-red-secondary);
83
90
  --rel-text-error-medium: var(--rel-colors-red-tertiary);
84
91
  --rel-text-error-large: var(--rel-colors-red-tertiary);
85
-
86
92
  --rel-text-warning: var(--rel-colors-orange-warning);
87
93
  --rel-text-warning-small: var(--rel-colors-orange-expired);
88
94
  --rel-text-warning-medium: var(--rel-colors-yellow-pending);
89
95
  --rel-text-warning-large: var(--rel-colors-orange-warning);
90
-
91
96
  --rel-text-success: var(--rel-colors-green-success);
92
97
  --rel-text-success-small: var(--rel-colors-green-secondary);
93
98
  --rel-text-success-medium: var(--rel-colors-green-tertiary);
94
99
  --rel-text-success-large: var(--rel-colors-green-success);
95
-
96
100
  --rel-text-info: var(--rel-colors-blue-primary);
97
101
  --rel-text-info-secondary: var(--rel-colors-blue-secondary);
98
102
  --rel-text-info-hover: var(--rel-colors-blue-tertiary);
99
-
100
103
  --rel-text-placeholder: var(--rel-colors-gray-placeholder);
101
104
  --rel-text-dark-placeholder: var(--rel-colors-gray-dark-placeholder);
102
-
103
105
  --rel-text-disabled: var(--rel-colors-gray-disabled-text);
104
106
  --rel-text-credited: var(--rel-colors-green-credited);
105
107
 
@@ -135,11 +137,11 @@
135
137
  --rel-surface-toast: var(--rel-colors-gray-toast-bg);
136
138
 
137
139
  /* ------------------ SHADOWS ------------------ */
138
- --rel-shadows-shadow-100: 0px 1px 2px rgba(0, 0, 0, 0.3), 0px 1px 3px rgba(0, 0, 0, 0.15);
139
- --rel-shadows-shadow-200: 0px 1px 2px rgba(0, 0, 0, 0.3), 0px 2px 6px rgba(0, 0, 0, 0.15);
140
- --rel-shadows-shadow-300: 0px 1px 2px rgba(0, 0, 0, 0.3), 0px 4px 8px rgba(0, 0, 0, 0.15);
141
- --rel-shadows-shadow-400: 0px 2px 3px rgba(0, 0, 0, 0.3), 0px 6px 10px rgba(0, 0, 0, 0.15);
142
- --rel-shadows-shadow-500: 0px 4px 4px rgba(0, 0, 0, 0.3), 0px 8px 12px rgba(0, 0, 0, 0.15);
140
+ --rel-shadows-shadow-100: 0px 1px 2px 0px rgba(0,0,0,0.3), 0px 1px 3px 1px rgba(0,0,0,0.15);
141
+ --rel-shadows-shadow-200: 0px 1px 2px 0px rgba(0,0,0,0.3), 0px 2px 6px 2px rgba(0,0,0,0.15);
142
+ --rel-shadows-shadow-300: 0px 1px 2px 0px rgba(0,0,0,0.3), 0px 4px 8px 3px rgba(0,0,0,0.15);
143
+ --rel-shadows-shadow-400: 0px 2px 3px 0px rgba(0,0,0,0.3), 0px 6px 10px 4px rgba(0,0,0,0.15);
144
+ --rel-shadows-shadow-500: 0px 4px 4px 0px rgba(0,0,0,0.3), 0px 8px 12px 6px rgba(0,0,0,0.15);
143
145
 
144
146
  /* ------------------ SPACING ------------------ */
145
147
  --rel-spacing-space-3xs: 2px;
@@ -181,4 +183,164 @@
181
183
  --rel-letterSpacing-dense: -0.2px;
182
184
  --rel-letterSpacing-denser: -0.3px;
183
185
  --rel-letterSpacing-densest: -0.54px;
184
- }
186
+
187
+ /* ------------------ OVERLAYS ------------------ */
188
+ --rel-overlay-scrim: rgba(0, 0, 0, 0.5);
189
+
190
+ /* ------------------ NEW ADDITIONS / COMPAT TOKENS ------------------ */
191
+ /* Keep expected/legacy token names working across components */
192
+ --rel-colors-primary-500: var(--rel-colors-blue-primary);
193
+ --rel-colors-gray-body: var(--rel-text-primary);
194
+ }
195
+
196
+ /* !!MANUAL_START!! */
197
+
198
+ /* ------------------ SEMANTIC ALIAS LAYER — LIGHT MODE DEFAULTS ------------------
199
+ Components should reference these tokens. They automatically flip in dark mode.
200
+ Each must resolve to the same effective value as the primitive it wraps. */
201
+ :root {
202
+
203
+ /* Backgrounds */
204
+ --rel-color-bg-primary: var(--rel-colors-white); /* #FFFFFF — Main page/card surface */
205
+ --rel-color-bg-secondary: var(--rel-colors-gray-light); /* #FAFAFA — Subtle surface lift */
206
+ --rel-color-bg-tertiary: var(--rel-colors-gray-surface); /* #F5F5F5 — Input fill, code bg */
207
+ --rel-color-bg-hover: var(--rel-colors-gray-surface); /* #F5F5F5 — Hover state */
208
+ --rel-color-bg-selected: var(--rel-colors-gray-screen-bg); /* #EEEEEE — Selected/active bg */
209
+
210
+ /* Text */
211
+ --rel-color-text-primary: var(--rel-text-primary); /* #333333 — Body text */
212
+ --rel-color-text-secondary: var(--rel-colors-gray-disabled-text);/* #9E9E9E — Muted text */
213
+ --rel-color-text-heading: var(--rel-text-heading); /* #2B2B2B — Headings */
214
+ --rel-color-text-inverse: var(--rel-colors-white); /* #FFFFFF — Text on dark/colored fills — PINNED */
215
+ --rel-color-text-disabled: var(--rel-text-disabled); /* #9E9E9E — Disabled text */
216
+ --rel-color-text-placeholder: var(--rel-text-placeholder); /* #A9A9A9 — Input placeholder */
217
+
218
+ /* Borders */
219
+ --rel-color-border-default: var(--rel-border-default); /* #DDDDDD — Default border */
220
+ --rel-color-border-strong: var(--rel-colors-black); /* #000000 — High-contrast border (secondary buttons) */
221
+ --rel-color-border-focus: var(--rel-colors-blue-primary); /* #0091EA — Focus ring */
222
+ --rel-color-border-divider: var(--rel-border-divider); /* #BDBDBD — Divider line */
223
+
224
+ /* Icons */
225
+ --rel-color-icon-primary: var(--rel-colors-gray-placeholder);/* #A9A9A9 — Default icon */
226
+ --rel-color-icon-hover: var(--rel-colors-black); /* #000000 — Hovered icon */
227
+
228
+ /* Brand */
229
+ --rel-color-brand: var(--rel-colors-green-primary); /* #00F49C — Brand accent — pinned, never flips */
230
+ --rel-color-brand-hover: var(--rel-colors-green-secondary); /* #06D98C — Brand hover — pinned */
231
+ }
232
+
233
+ /* ------------------ DARK MODE ------------------ */
234
+ /* Enable by setting: <html data-theme="dark"> or adding class="dark" */
235
+ :root[data-theme="dark"], .dark {
236
+
237
+ /* ------------------ COLORS (OVERRIDES) ------------------ */
238
+ /* Inverted base colors for dark theme */
239
+ --rel-colors-white: #0f1115;
240
+ --rel-colors-black: #e6e8ee;
241
+
242
+ /* Text colors - refined for better readability */
243
+ --rel-colors-gray-primary: #e6e8ee;
244
+ --rel-colors-gray-heading: #f5f7ff;
245
+ --rel-colors-gray-placeholder: #8b95a7;
246
+ --rel-colors-gray-dark-placeholder: #707a8c;
247
+ --rel-colors-gray-disabled-text: #667085;
248
+
249
+ /* Border & divider colors - subtle but clear */
250
+ --rel-colors-gray-border: #2a3241;
251
+ --rel-colors-gray-divider: #2a3241;
252
+ --rel-colors-gray-tab-border: #323b4b;
253
+
254
+ /* Surface hierarchy - screen < surface < secondary, warm, toast */
255
+ --rel-colors-gray-screen-bg: #0f1115;
256
+ --rel-colors-gray-surface: #141821;
257
+ --rel-colors-gray-light: #1a1f2b;
258
+ --rel-colors-gray-warm: #161b22;
259
+ --rel-colors-gray-toast-bg: #1d2430;
260
+
261
+
262
+ /* ------------------ STATUS BACKGROUNDS (DARK TINTS) ------------------ */
263
+ --rel-colors-red-bg-alert: #2a1116;
264
+ --rel-colors-red-light: #3a151c;
265
+
266
+ --rel-colors-orange-bg-light: #2a1a10;
267
+ --rel-colors-orange-bg-counter: #241a10;
268
+
269
+ --rel-colors-green-bg-light: #0f231a;
270
+
271
+ --rel-colors-blue-bg: #0f1e2c;
272
+ --rel-colors-blue-light: #1b6ea8;
273
+
274
+ /* ------------------ SEMANTIC TEXT (EXPLICIT) ------------------ */
275
+ --rel-text-primary: var(--rel-colors-gray-primary);
276
+ --rel-text-heading: var(--rel-colors-gray-heading);
277
+
278
+ --rel-text-placeholder: var(--rel-colors-gray-placeholder);
279
+ --rel-text-dark-placeholder: var(--rel-colors-gray-dark-placeholder);
280
+
281
+ --rel-text-disabled: var(--rel-colors-gray-disabled-text);
282
+
283
+ /* ------------------ SEMANTIC BORDERS (EXPLICIT) ------------------ */
284
+ --rel-border-default: var(--rel-colors-gray-border);
285
+ --rel-border-divider: var(--rel-colors-gray-divider);
286
+ --rel-border-tab: var(--rel-colors-gray-tab-border);
287
+
288
+ /* ------------------ SEMANTIC BACKGROUNDS ------------------ */
289
+ --rel-background-error: var(--rel-colors-red-bg-alert);
290
+ --rel-background-error-light: var(--rel-colors-red-light);
291
+ --rel-background-warning: var(--rel-colors-orange-bg-light);
292
+ --rel-background-warning-counter: var(--rel-colors-orange-bg-counter);
293
+ --rel-background-success: var(--rel-colors-green-bg-light);
294
+ --rel-background-info: var(--rel-colors-blue-bg);
295
+ --rel-background-info-accent: var(--rel-colors-blue-light);
296
+
297
+ /* ------------------ SEMANTIC SURFACES (EXPLICIT) ------------------ */
298
+ --rel-surface-secondary: var(--rel-colors-gray-light);
299
+ --rel-surface-screen: var(--rel-colors-gray-screen-bg);
300
+ --rel-surface-surface: var(--rel-colors-gray-surface);
301
+ --rel-surface-warm: var(--rel-colors-gray-warm);
302
+ --rel-surface-toast: var(--rel-colors-gray-toast-bg);
303
+
304
+ /* ------------------ SHADOWS (DARK TUNED) ------------------ */
305
+ --rel-shadows-shadow-100: 0px 1px 2px rgba(0, 0, 0, 0.6);
306
+ --rel-shadows-shadow-200: 0px 2px 6px rgba(0, 0, 0, 0.6);
307
+ --rel-shadows-shadow-300: 0px 4px 10px rgba(0, 0, 0, 0.65);
308
+ --rel-shadows-shadow-400: 0px 6px 16px rgba(0, 0, 0, 0.7);
309
+ --rel-shadows-shadow-500: 0px 10px 24px rgba(0, 0, 0, 0.75);
310
+
311
+ /* ------------------ OVERLAYS ------------------ */
312
+ --rel-overlay-scrim: rgba(0, 0, 0, 0.6);
313
+
314
+ /* ------------------ NEW ADDITIONS / COMPAT TOKENS ------------------ */
315
+ /* Keep expected/legacy token names working across components */
316
+ --rel-colors-primary-500: var(--rel-colors-blue-primary);
317
+ --rel-colors-gray-body: var(--rel-text-primary);
318
+
319
+ /* ------------------ SEMANTIC ALIAS LAYER — DARK MODE OVERRIDES ------------------
320
+ Values sourced from tokens/semantic-colors.json § dark */
321
+
322
+ /* Backgrounds */
323
+ --rel-color-bg-primary: #1A1A1A; /* --color-dark-50 */
324
+ --rel-color-bg-secondary: #262626; /* --color-dark-100 */
325
+ --rel-color-bg-tertiary: #2E2E2E; /* --color-dark-200 */
326
+ --rel-color-bg-hover: #2E2E2E; /* --color-dark-200 */
327
+ --rel-color-bg-selected: #404040; /* --color-dark-300 */
328
+
329
+ /* Text */
330
+ --rel-color-text-primary: #F5F5F5; /* --color-dark-900 */
331
+ --rel-color-text-secondary: #D4D4D4; /* --color-dark-700 */
332
+ --rel-color-text-heading: #F5F5F5; /* --color-dark-900 */
333
+ --rel-color-text-inverse: #212121; /* --color-gray-900 */
334
+ --rel-color-text-disabled: #737373; /* --color-dark-500 */
335
+ --rel-color-text-placeholder: #737373; /* --color-dark-500 */
336
+
337
+ /* Borders */
338
+ --rel-color-border-default: #404040; /* --color-dark-300 */
339
+ --rel-color-border-strong: #D4D4D4; /* --color-dark-700 */
340
+ --rel-color-border-focus: #D4D4D4; /* --color-dark-700 */
341
+ --rel-color-border-divider: #404040; /* --color-dark-300 */
342
+
343
+ /* Icons */
344
+ --rel-color-icon-primary: #A3A3A3; /* --color-dark-600 */
345
+ --rel-color-icon-hover: #F5F5F5; /* --color-dark-900 */
346
+ }
@@ -0,0 +1,346 @@
1
+ /* AUTO-GENERATED from tokens/*.json — DO NOT EDIT */
2
+ /* To regenerate: npm run sync-tokens -w @reliability-design/figma-pipeline */
3
+
4
+ /* ------------------ THEME TRANSITIONS ------------------ */
5
+ /* Smooth transitions for theme switching (light/dark) */
6
+ * {
7
+ transition-property: color, background-color, border-color, box-shadow, fill, stroke;
8
+ transition-duration: 0.2s;
9
+ transition-timing-function: ease;
10
+ }
11
+
12
+ /* Disable theme transitions for reduced motion */
13
+ @media (prefers-reduced-motion: reduce) {
14
+ * {
15
+ transition-property: none;
16
+ transition-duration: 0s;
17
+ }
18
+ }
19
+
20
+ :root {
21
+
22
+ /* ------------------ BORDER RADII ------------------ */
23
+ --rel-borders-radius-border-radius-0: 0px;
24
+ --rel-borders-radius-border-radius-100: 2px;
25
+ --rel-borders-radius-border-radius-200: 8px;
26
+ --rel-borders-radius-border-radius-300: 16px;
27
+ --rel-borders-radius-border-radius-400: 24px;
28
+ --rel-borders-radius-border-radius-500: 1000px;
29
+
30
+ /* ------------------ BORDER WIDTHS ------------------ */
31
+ --rel-borders-width-stroke-050: 0.5px;
32
+ --rel-borders-width-stroke-100: 1px;
33
+ --rel-borders-width-stroke-150: 1.5px;
34
+ --rel-borders-width-stroke-200: 2px;
35
+ --rel-borders-width-stroke-300: 3px;
36
+ --rel-borders-width-stroke-400: 4px;
37
+
38
+ /* ------------------ COLORS ------------------ */
39
+ --rel-colors-green-primary: #00F49C;
40
+ --rel-colors-green-secondary: #06D98C;
41
+ --rel-colors-green-tertiary: #00A86B;
42
+ --rel-colors-green-success: #22C55E;
43
+ --rel-colors-green-credited: #4CAA47;
44
+ --rel-colors-green-bg-light: #E8F5E8;
45
+ --rel-colors-black: #000000;
46
+ --rel-colors-gray-primary: #333333;
47
+ --rel-colors-gray-heading: #2B2B2B;
48
+ --rel-colors-gray-placeholder: #A9A9A9;
49
+ --rel-colors-gray-dark-placeholder: #373737;
50
+ --rel-colors-gray-toast-bg: #404040;
51
+ --rel-colors-gray-light: #FAFAFA;
52
+ --rel-colors-gray-warm: #F5F5F4;
53
+ --rel-colors-gray-border: #DDDDDD;
54
+ --rel-colors-gray-disabled-text: #9E9E9E;
55
+ --rel-colors-gray-divider: #BDBDBD;
56
+ --rel-colors-gray-tab-border: #C4C4C4;
57
+ --rel-colors-gray-surface: #F5F5F5;
58
+ --rel-colors-gray-screen-bg: #EEEEEE;
59
+ --rel-colors-red-primary: #CC0000;
60
+ --rel-colors-red-secondary: #D50000;
61
+ --rel-colors-red-tertiary: #9C1E33;
62
+ --rel-colors-red-bg-alert: #FFE8EB;
63
+ --rel-colors-red-light: #FFDEDE;
64
+ --rel-colors-white: #FFFFFF;
65
+ --rel-colors-blue-primary: #0091EA;
66
+ --rel-colors-blue-secondary: #4A90E2;
67
+ --rel-colors-blue-tertiary: #0059F4;
68
+ --rel-colors-blue-light: #80D8FF;
69
+ --rel-colors-blue-bg: #E1F2FF;
70
+ --rel-colors-orange-warning: #FF6D00;
71
+ --rel-colors-orange-expired: #F2915C;
72
+ --rel-colors-orange-bg-light: #FFE9D9;
73
+ --rel-colors-orange-bg-counter: #FFF3E0;
74
+ --rel-colors-yellow-pending: #FFBF43;
75
+ --rel-colors-gold: #D6BA00;
76
+ --rel-colors-gold-light: #F6EFD7;
77
+ --rel-colors-gold-secondary: #F5F0D3;
78
+ --rel-colors-platinum: #8392C9;
79
+ --rel-colors-platinum-secondary: #E4E6F2;
80
+ --rel-colors-silver: #BABABA;
81
+ --rel-colors-silver-secondary: #F0F0F0;
82
+ --rel-colors-bronze: #7D5300;
83
+ --rel-colors-bronze-secondary: #E2DAC7;
84
+
85
+ /* ------------------ SEMANTIC TEXT ------------------ */
86
+ --rel-text-primary: var(--rel-colors-gray-primary);
87
+ --rel-text-heading: var(--rel-colors-gray-heading);
88
+ --rel-text-error: var(--rel-colors-red-primary);
89
+ --rel-text-error-small: var(--rel-colors-red-secondary);
90
+ --rel-text-error-medium: var(--rel-colors-red-tertiary);
91
+ --rel-text-error-large: var(--rel-colors-red-tertiary);
92
+ --rel-text-warning: var(--rel-colors-orange-warning);
93
+ --rel-text-warning-small: var(--rel-colors-orange-expired);
94
+ --rel-text-warning-medium: var(--rel-colors-yellow-pending);
95
+ --rel-text-warning-large: var(--rel-colors-orange-warning);
96
+ --rel-text-success: var(--rel-colors-green-success);
97
+ --rel-text-success-small: var(--rel-colors-green-secondary);
98
+ --rel-text-success-medium: var(--rel-colors-green-tertiary);
99
+ --rel-text-success-large: var(--rel-colors-green-success);
100
+ --rel-text-info: var(--rel-colors-blue-primary);
101
+ --rel-text-info-secondary: var(--rel-colors-blue-secondary);
102
+ --rel-text-info-hover: var(--rel-colors-blue-tertiary);
103
+ --rel-text-placeholder: var(--rel-colors-gray-placeholder);
104
+ --rel-text-dark-placeholder: var(--rel-colors-gray-dark-placeholder);
105
+ --rel-text-disabled: var(--rel-colors-gray-disabled-text);
106
+ --rel-text-credited: var(--rel-colors-green-credited);
107
+
108
+ /* ------------------ SEMANTIC ICONS ------------------ */
109
+ --rel-icon-info: var(--rel-colors-blue-primary);
110
+ --rel-icon-error: var(--rel-colors-red-primary);
111
+ --rel-icon-warning: var(--rel-colors-orange-warning);
112
+ --rel-icon-success: var(--rel-colors-green-success);
113
+
114
+ /* ------------------ SEMANTIC BORDERS ------------------ */
115
+ --rel-border-default: var(--rel-colors-gray-border);
116
+ --rel-border-error: var(--rel-colors-red-primary);
117
+ --rel-border-warning: var(--rel-colors-orange-warning);
118
+ --rel-border-success: var(--rel-colors-green-primary);
119
+ --rel-border-info: var(--rel-colors-blue-primary);
120
+ --rel-border-divider: var(--rel-colors-gray-divider);
121
+ --rel-border-tab: var(--rel-colors-gray-tab-border);
122
+
123
+ /* ------------------ SEMANTIC BACKGROUNDS ------------------ */
124
+ --rel-background-error: var(--rel-colors-red-bg-alert);
125
+ --rel-background-error-light: var(--rel-colors-red-light);
126
+ --rel-background-warning: var(--rel-colors-orange-bg-light);
127
+ --rel-background-warning-counter: var(--rel-colors-orange-bg-counter);
128
+ --rel-background-success: var(--rel-colors-green-bg-light);
129
+ --rel-background-info: var(--rel-colors-blue-bg);
130
+ --rel-background-info-accent: var(--rel-colors-blue-light);
131
+
132
+ /* ------------------ SEMANTIC SURFACES ------------------ */
133
+ --rel-surface-secondary: var(--rel-colors-gray-light);
134
+ --rel-surface-screen: var(--rel-colors-gray-screen-bg);
135
+ --rel-surface-surface: var(--rel-colors-gray-surface);
136
+ --rel-surface-warm: var(--rel-colors-gray-warm);
137
+ --rel-surface-toast: var(--rel-colors-gray-toast-bg);
138
+
139
+ /* ------------------ SHADOWS ------------------ */
140
+ --rel-shadows-shadow-100: 0px 1px 2px 0px rgba(0,0,0,0.3), 0px 1px 3px 1px rgba(0,0,0,0.15);
141
+ --rel-shadows-shadow-200: 0px 1px 2px 0px rgba(0,0,0,0.3), 0px 2px 6px 2px rgba(0,0,0,0.15);
142
+ --rel-shadows-shadow-300: 0px 1px 2px 0px rgba(0,0,0,0.3), 0px 4px 8px 3px rgba(0,0,0,0.15);
143
+ --rel-shadows-shadow-400: 0px 2px 3px 0px rgba(0,0,0,0.3), 0px 6px 10px 4px rgba(0,0,0,0.15);
144
+ --rel-shadows-shadow-500: 0px 4px 4px 0px rgba(0,0,0,0.3), 0px 8px 12px 6px rgba(0,0,0,0.15);
145
+
146
+ /* ------------------ SPACING ------------------ */
147
+ --rel-spacing-space-3xs: 2px;
148
+ --rel-spacing-space-2xs: 4px;
149
+ --rel-spacing-space-xs: 8px;
150
+ --rel-spacing-space-sm: 12px;
151
+ --rel-spacing-space-md: 16px;
152
+ --rel-spacing-space-lg: 20px;
153
+ --rel-spacing-space-xl: 24px;
154
+ --rel-spacing-space-2xl: 32px;
155
+ --rel-spacing-space-3xl: 48px;
156
+
157
+ /* ------------------ TYPOGRAPHY ------------------ */
158
+ --rel-fontFamilies-primary: Poppins, sans-serif;
159
+
160
+ --rel-fontWeights-regular: 400;
161
+ --rel-fontWeights-medium: 500;
162
+ --rel-fontWeights-semibold: 600;
163
+ --rel-fontWeights-bold: 700;
164
+
165
+ --rel-fontSizes-3xl: 36px;
166
+ --rel-fontSizes-2xl: 28px;
167
+ --rel-fontSizes-xl: 24px;
168
+ --rel-fontSizes-lg: 20px;
169
+ --rel-fontSizes-md: 14px;
170
+ --rel-fontSizes-sm: 12px;
171
+ --rel-fontSizes-xs: 10px;
172
+
173
+ --rel-lineHeights-3xl: 48px;
174
+ --rel-lineHeights-2xl: 42px;
175
+ --rel-lineHeights-xl: 36px;
176
+ --rel-lineHeights-lg: 28px;
177
+ --rel-lineHeights-md: 20px;
178
+ --rel-lineHeights-sm: 18px;
179
+ --rel-lineHeights-xs: 16px;
180
+ --rel-lineHeights-2xs: 12px;
181
+
182
+ --rel-letterSpacing-normal: 0px;
183
+ --rel-letterSpacing-dense: -0.2px;
184
+ --rel-letterSpacing-denser: -0.3px;
185
+ --rel-letterSpacing-densest: -0.54px;
186
+
187
+ /* ------------------ OVERLAYS ------------------ */
188
+ --rel-overlay-scrim: rgba(0, 0, 0, 0.5);
189
+
190
+ /* ------------------ NEW ADDITIONS / COMPAT TOKENS ------------------ */
191
+ /* Keep expected/legacy token names working across components */
192
+ --rel-colors-primary-500: var(--rel-colors-blue-primary);
193
+ --rel-colors-gray-body: var(--rel-text-primary);
194
+ }
195
+
196
+ /* !!MANUAL_START!! */
197
+
198
+ /* ------------------ SEMANTIC ALIAS LAYER — LIGHT MODE DEFAULTS ------------------
199
+ Components should reference these tokens. They automatically flip in dark mode.
200
+ Each must resolve to the same effective value as the primitive it wraps. */
201
+ :root {
202
+
203
+ /* Backgrounds */
204
+ --rel-color-bg-primary: var(--rel-colors-white); /* #FFFFFF — Main page/card surface */
205
+ --rel-color-bg-secondary: var(--rel-colors-gray-light); /* #FAFAFA — Subtle surface lift */
206
+ --rel-color-bg-tertiary: var(--rel-colors-gray-surface); /* #F5F5F5 — Input fill, code bg */
207
+ --rel-color-bg-hover: var(--rel-colors-gray-surface); /* #F5F5F5 — Hover state */
208
+ --rel-color-bg-selected: var(--rel-colors-gray-screen-bg); /* #EEEEEE — Selected/active bg */
209
+
210
+ /* Text */
211
+ --rel-color-text-primary: var(--rel-text-primary); /* #333333 — Body text */
212
+ --rel-color-text-secondary: var(--rel-colors-gray-disabled-text);/* #9E9E9E — Muted text */
213
+ --rel-color-text-heading: var(--rel-text-heading); /* #2B2B2B — Headings */
214
+ --rel-color-text-inverse: var(--rel-colors-white); /* #FFFFFF — Text on dark/colored fills — PINNED */
215
+ --rel-color-text-disabled: var(--rel-text-disabled); /* #9E9E9E — Disabled text */
216
+ --rel-color-text-placeholder: var(--rel-text-placeholder); /* #A9A9A9 — Input placeholder */
217
+
218
+ /* Borders */
219
+ --rel-color-border-default: var(--rel-border-default); /* #DDDDDD — Default border */
220
+ --rel-color-border-strong: var(--rel-colors-black); /* #000000 — High-contrast border (secondary buttons) */
221
+ --rel-color-border-focus: var(--rel-colors-blue-primary); /* #0091EA — Focus ring */
222
+ --rel-color-border-divider: var(--rel-border-divider); /* #BDBDBD — Divider line */
223
+
224
+ /* Icons */
225
+ --rel-color-icon-primary: var(--rel-colors-gray-placeholder);/* #A9A9A9 — Default icon */
226
+ --rel-color-icon-hover: var(--rel-colors-black); /* #000000 — Hovered icon */
227
+
228
+ /* Brand */
229
+ --rel-color-brand: var(--rel-colors-green-primary); /* #00F49C — Brand accent — pinned, never flips */
230
+ --rel-color-brand-hover: var(--rel-colors-green-secondary); /* #06D98C — Brand hover — pinned */
231
+ }
232
+
233
+ /* ------------------ DARK MODE ------------------ */
234
+ /* Enable by setting: <html data-theme="dark"> or adding class="dark" */
235
+ :root[data-theme="dark"], .dark {
236
+
237
+ /* ------------------ COLORS (OVERRIDES) ------------------ */
238
+ /* Inverted base colors for dark theme */
239
+ --rel-colors-white: #0f1115;
240
+ --rel-colors-black: #e6e8ee;
241
+
242
+ /* Text colors - refined for better readability */
243
+ --rel-colors-gray-primary: #e6e8ee;
244
+ --rel-colors-gray-heading: #f5f7ff;
245
+ --rel-colors-gray-placeholder: #8b95a7;
246
+ --rel-colors-gray-dark-placeholder: #707a8c;
247
+ --rel-colors-gray-disabled-text: #667085;
248
+
249
+ /* Border & divider colors - subtle but clear */
250
+ --rel-colors-gray-border: #2a3241;
251
+ --rel-colors-gray-divider: #2a3241;
252
+ --rel-colors-gray-tab-border: #323b4b;
253
+
254
+ /* Surface hierarchy - screen < surface < secondary, warm, toast */
255
+ --rel-colors-gray-screen-bg: #0f1115;
256
+ --rel-colors-gray-surface: #141821;
257
+ --rel-colors-gray-light: #1a1f2b;
258
+ --rel-colors-gray-warm: #161b22;
259
+ --rel-colors-gray-toast-bg: #1d2430;
260
+
261
+
262
+ /* ------------------ STATUS BACKGROUNDS (DARK TINTS) ------------------ */
263
+ --rel-colors-red-bg-alert: #2a1116;
264
+ --rel-colors-red-light: #3a151c;
265
+
266
+ --rel-colors-orange-bg-light: #2a1a10;
267
+ --rel-colors-orange-bg-counter: #241a10;
268
+
269
+ --rel-colors-green-bg-light: #0f231a;
270
+
271
+ --rel-colors-blue-bg: #0f1e2c;
272
+ --rel-colors-blue-light: #1b6ea8;
273
+
274
+ /* ------------------ SEMANTIC TEXT (EXPLICIT) ------------------ */
275
+ --rel-text-primary: var(--rel-colors-gray-primary);
276
+ --rel-text-heading: var(--rel-colors-gray-heading);
277
+
278
+ --rel-text-placeholder: var(--rel-colors-gray-placeholder);
279
+ --rel-text-dark-placeholder: var(--rel-colors-gray-dark-placeholder);
280
+
281
+ --rel-text-disabled: var(--rel-colors-gray-disabled-text);
282
+
283
+ /* ------------------ SEMANTIC BORDERS (EXPLICIT) ------------------ */
284
+ --rel-border-default: var(--rel-colors-gray-border);
285
+ --rel-border-divider: var(--rel-colors-gray-divider);
286
+ --rel-border-tab: var(--rel-colors-gray-tab-border);
287
+
288
+ /* ------------------ SEMANTIC BACKGROUNDS ------------------ */
289
+ --rel-background-error: var(--rel-colors-red-bg-alert);
290
+ --rel-background-error-light: var(--rel-colors-red-light);
291
+ --rel-background-warning: var(--rel-colors-orange-bg-light);
292
+ --rel-background-warning-counter: var(--rel-colors-orange-bg-counter);
293
+ --rel-background-success: var(--rel-colors-green-bg-light);
294
+ --rel-background-info: var(--rel-colors-blue-bg);
295
+ --rel-background-info-accent: var(--rel-colors-blue-light);
296
+
297
+ /* ------------------ SEMANTIC SURFACES (EXPLICIT) ------------------ */
298
+ --rel-surface-secondary: var(--rel-colors-gray-light);
299
+ --rel-surface-screen: var(--rel-colors-gray-screen-bg);
300
+ --rel-surface-surface: var(--rel-colors-gray-surface);
301
+ --rel-surface-warm: var(--rel-colors-gray-warm);
302
+ --rel-surface-toast: var(--rel-colors-gray-toast-bg);
303
+
304
+ /* ------------------ SHADOWS (DARK TUNED) ------------------ */
305
+ --rel-shadows-shadow-100: 0px 1px 2px rgba(0, 0, 0, 0.6);
306
+ --rel-shadows-shadow-200: 0px 2px 6px rgba(0, 0, 0, 0.6);
307
+ --rel-shadows-shadow-300: 0px 4px 10px rgba(0, 0, 0, 0.65);
308
+ --rel-shadows-shadow-400: 0px 6px 16px rgba(0, 0, 0, 0.7);
309
+ --rel-shadows-shadow-500: 0px 10px 24px rgba(0, 0, 0, 0.75);
310
+
311
+ /* ------------------ OVERLAYS ------------------ */
312
+ --rel-overlay-scrim: rgba(0, 0, 0, 0.6);
313
+
314
+ /* ------------------ NEW ADDITIONS / COMPAT TOKENS ------------------ */
315
+ /* Keep expected/legacy token names working across components */
316
+ --rel-colors-primary-500: var(--rel-colors-blue-primary);
317
+ --rel-colors-gray-body: var(--rel-text-primary);
318
+
319
+ /* ------------------ SEMANTIC ALIAS LAYER — DARK MODE OVERRIDES ------------------
320
+ Values sourced from tokens/semantic-colors.json § dark */
321
+
322
+ /* Backgrounds */
323
+ --rel-color-bg-primary: #1A1A1A; /* --color-dark-50 */
324
+ --rel-color-bg-secondary: #262626; /* --color-dark-100 */
325
+ --rel-color-bg-tertiary: #2E2E2E; /* --color-dark-200 */
326
+ --rel-color-bg-hover: #2E2E2E; /* --color-dark-200 */
327
+ --rel-color-bg-selected: #404040; /* --color-dark-300 */
328
+
329
+ /* Text */
330
+ --rel-color-text-primary: #F5F5F5; /* --color-dark-900 */
331
+ --rel-color-text-secondary: #D4D4D4; /* --color-dark-700 */
332
+ --rel-color-text-heading: #F5F5F5; /* --color-dark-900 */
333
+ --rel-color-text-inverse: #212121; /* --color-gray-900 */
334
+ --rel-color-text-disabled: #737373; /* --color-dark-500 */
335
+ --rel-color-text-placeholder: #737373; /* --color-dark-500 */
336
+
337
+ /* Borders */
338
+ --rel-color-border-default: #404040; /* --color-dark-300 */
339
+ --rel-color-border-strong: #D4D4D4; /* --color-dark-700 */
340
+ --rel-color-border-focus: #D4D4D4; /* --color-dark-700 */
341
+ --rel-color-border-divider: #404040; /* --color-dark-300 */
342
+
343
+ /* Icons */
344
+ --rel-color-icon-primary: #A3A3A3; /* --color-dark-600 */
345
+ --rel-color-icon-hover: #F5F5F5; /* --color-dark-900 */
346
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reliability-design/web",
3
- "version": "1.0.3",
3
+ "version": "1.1.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",
@@ -24,6 +24,7 @@
24
24
  "access": "public"
25
25
  },
26
26
  "dependencies": {
27
+ "@reliability-design/icons": "*",
27
28
  "lit": "^3.1.0"
28
29
  },
29
30
  "devDependencies": {