@repobit/dex-system-design 0.23.8 → 0.23.9

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.
@@ -1,94 +1,124 @@
1
- import { css } from 'lit';
1
+ import { css } from "lit";
2
2
 
3
+ /** Orbit Awards — desktop: Figma 1882:9342 (Frame 14); mobile: 1882:9346 (Frame 15, 360) */
3
4
  export const awardsCSS = css`
4
5
  :host {
5
6
  display: block;
6
- font-family: 'Segoe UI', Arial, sans-serif;
7
- background: #EDF9FF;
8
- color: var(--color-neutral-1000);
9
- padding-bottom: var(--spacing-32);
7
+ font-family: var(--typography-fontFamily-sans);
8
+ background: var(--layout-awards-section-background);
9
+ box-sizing: border-box;
10
+ // padding-bottom: var(--spacing-32);
11
+ }
12
+
13
+ .bd-awards-root {
14
+ display: flex;
15
+ flex-direction: column;
16
+ align-items: center;
17
+ gap: var(--spacing-48);
18
+ padding: var(--spacing-48) var(--layout-ensemble-inline-padding);
19
+ box-sizing: border-box;
20
+ max-width: 100%;
10
21
  }
11
22
 
23
+ /* Frame 12 — trust cluster 793px, gap 24px intro → badges */
12
24
  .bd-awards-trust-banner {
13
- border-radius: 8px;
14
- margin: var(--spacing-16) auto;
15
- max-width: 600px;
25
+ display: flex;
26
+ flex-direction: column;
27
+ align-items: center;
28
+ gap: var(--spacing-24);
29
+ width: 100%;
30
+ max-width: var(--layout-awards-cluster-max-width);
31
+ margin: 0 auto;
16
32
  text-align: center;
17
- padding-top: var(--spacing-24);
33
+ box-sizing: border-box;
18
34
  }
19
35
 
20
- @media (min-width: 481px) {
21
- .bd-awards-trust-banner {
22
- padding: var(--spacing-28) var(--spacing-32) var(--spacing-0);
23
- margin: var(--spacing-20) auto;
24
- }
36
+ .bd-awards-tagline {
37
+ color: var(--color-blue-500);
38
+ font-size: var(--typography-fontSize-lg, 1.125rem);
39
+ font-weight: 600;
40
+ letter-spacing: 0.02em;
25
41
  }
26
42
 
27
- @media (min-width: 769px) {
28
- .bd-awards-trust-banner {
29
- padding: var(--spacing-32) var(--spacing-40) var(--spacing-0);
30
- margin: var(--spacing-24) auto;
31
- margin-bottom: var(--spacing-16);
32
- }
43
+ .bd-awards-section-title {
44
+ color: var(--color-blue-500);
45
+ font-size: var(--typography-fontSize-xl);
46
+ font-weight: 700;
47
+ margin: var(--spacing-0) var(--spacing-0) var(--spacing-14);
33
48
  }
34
49
 
35
- .bd-awards-laurel-icon {
36
- color: #1565c0;
37
- font-size: var(--typography-fontSize-4xl, 2.25rem);
38
- margin-bottom: var(--spacing-8);
39
- display: block;
50
+ .bd-awards-feature-title {
51
+ color: var(--color-blue-500);
52
+ font-size: var(--typography-fontSize-xl);
53
+ font-weight: 700;
54
+ margin: var(--spacing-0) var(--spacing-0) var(--spacing-14);
40
55
  }
41
56
 
42
- .bd-awards-tagline {
57
+ /* Frame 1 — laurel + copy, gap 16px, max 631px */
58
+ .bd-awards-trust-intro {
59
+ display: flex;
60
+ flex-direction: column;
61
+ align-items: center;
62
+ gap: var(--spacing-16);
63
+ width: 100%;
64
+ max-width: var(--layout-awards-intro-max-width);
65
+ box-sizing: border-box;
66
+ }
67
+
68
+ .bd-awards-laurel-icon {
43
69
  color: var(--color-blue-500);
44
- font-size: var(--typography-fontSize-lg, 1.125rem);
45
- font-weight: 600;
46
- letter-spacing: 0.02em;
70
+ display: flex;
71
+ align-items: center;
72
+ justify-content: center;
73
+ width: var(--spacing-80);
74
+ height: var(--spacing-80);
75
+ flex-shrink: 0;
47
76
  }
48
77
 
49
- .bd-awards-headline {
50
- font-size: var(--typography-fontSize-2xl) !important;
51
- font-weight: 800;
52
- line-height: 1.3;
53
- color: var(--color-neutral-1000);
54
- margin: var(--spacing-0) var(--spacing-0) var(--spacing-12);
78
+ .bd-awards-laurel-icon bd-icon {
79
+ --bd-icon-w: var(--spacing-80);
80
+ --bd-icon-h: var(--spacing-80);
55
81
  }
56
82
 
57
- @media (min-width: 481px) {
58
- .bd-awards-headline {
59
- font-size: var(--typography-fontSize-2xl) !important;
60
- }
83
+ .bd-awards-laurel-icon svg {
84
+ width: 100%;
85
+ height: 100%;
61
86
  }
62
87
 
63
- @media (min-width: 769px) {
64
- .bd-awards-headline {
65
- font-size: var(--typography-fontSize-3xl) !important;
66
- }
88
+ .bd-awards-headline-line {
89
+ display: block;
90
+ width: 100%;
91
+ white-space: normal;
92
+ word-break: break-word;
67
93
  }
68
94
 
69
- .bd-awards-subtext {
70
- font-size: var(--typography-fontSize-sm);
71
- color: var(--color-neutral-1000);
72
- line-height: 1.55;
73
- margin: var(--spacing-0) var(--spacing-0) var(--spacing-24);
74
- padding: var(--spacing-8) var(--spacing-40);
95
+ .bd-awards-trust-intro .bd-awards-subtext {
96
+ width: 100%;
97
+ max-width: 100%;
98
+ padding: 0 var(--spacing-8);
99
+ box-sizing: border-box;
75
100
  }
76
101
 
77
- @media (min-width: 481px) {
78
- .bd-awards-subtext {
79
- font-size: var(--typography-fontSize-base);
80
- padding: var(--spacing-8) var(--spacing-16);
102
+ @media (min-width: 576px) {
103
+ .bd-awards-trust-intro .bd-awards-subtext {
104
+ padding: 0 var(--spacing-16);
81
105
  }
82
106
  }
83
107
 
84
- /* Awards Bar */
108
+ .bd-awards-secret-section .bd-awards-section-title {
109
+ display: block;
110
+ margin: 0 0 var(--spacing-16);
111
+ }
112
+
113
+ /* Single badge strip */
85
114
  .bd-awards-bar {
86
115
  display: flex;
87
116
  flex-wrap: wrap;
88
117
  justify-content: center;
89
- gap: var(--spacing-8);
90
- border-radius: var(--radius-none) var(--radius-none) var(--radius-md) var(--radius-md);
91
- padding: var(--spacing-10) var(--spacing-8);
118
+ align-items: center;
119
+ gap: var(--spacing-32);
120
+ width: 100%;
121
+ box-sizing: border-box;
92
122
  }
93
123
 
94
124
  .bd-awards-badge {
@@ -100,196 +130,99 @@ export const awardsCSS = css`
100
130
  padding: var(--spacing-0);
101
131
  }
102
132
 
103
- /* Desktop Awards */
104
- .bd-awards-desktop {
105
- display: flex;
106
- flex-wrap: nowrap;
107
- justify-content: center;
108
- gap: 24px;
109
- align-items: center;
133
+ /* Desktop: rows are invisible wrappers */
134
+ .bd-awards-row {
135
+ display: contents;
110
136
  }
111
137
 
112
- /* Mobile Awards - hidden on desktop */
113
- .bd-awards-mobile {
138
+ /* Mobile rows hidden on desktop */
139
+ .bd-awards-row--mobile-only {
114
140
  display: none;
115
141
  }
116
142
 
117
- /* Mobile styles (max-width: 599px) */
118
- @media (max-width: 599px) {
119
- .bd-awards-desktop {
120
- display: none !important;
121
- }
122
-
123
- .bd-awards-mobile {
124
- display: flex;
125
- flex-direction: column;
126
- gap: var(--spacing-8);
127
- padding: var(--spacing-10) var(--spacing-4);
128
- }
129
-
130
- .bd-awards-mobile-row {
131
- display: flex;
132
- justify-content: center;
133
- align-items: center;
134
- width: 100%;
135
- gap: var(--spacing-18);
136
- }
137
-
138
- .bd-awards-mobile .bd-awards-badge svg,
139
- .bd-awards-mobile .bd-awards-badge svg * {
140
- stroke: none !important;
141
- stroke-width: 0 !important;
142
- outline: none !important;
143
- border: none !important;
144
- }
145
-
146
- .bd-awards-mobile .bd-awards-badge svg rect {
147
- stroke: none !important;
148
- stroke-width: 0 !important;
149
- }
150
-
151
- .bd-awards-mobile .bd-awards-badge svg [stroke] {
152
- stroke: none !important;
153
- }
154
-
155
- /* Bottom row - flexbox for tight centering, no empty gaps */
156
- .bd-awards-mobile-row--bottom {
157
- display: flex;
158
- flex-direction: row;
159
- justify-content: center;
160
- align-items: center;
161
- gap: 12px;
162
- padding-top: var(--spacing-8);
163
- }
143
+ /* All badges: uniform height from token, width from each SVG's natural aspect ratio */
144
+ .bd-awards-badge bd-icon {
145
+ --bd-icon-h: var(--spacing-64);
146
+ --bd-icon-w: auto;
147
+ }
164
148
 
165
- .bd-awards-mobile-row--bottom .bd-awards-badge {
166
- padding: var(--spacing-0);
167
- margin: var(--spacing-0);
168
- }
149
+ /* ── Lower block ── */
169
150
 
170
- .bd-awards-secret-section bd-p[kind="regular"] {
171
- font-size: var(--typography-fontSize-sm);
172
- line-height: 1.5;
173
- }
151
+ .bd-awards-lower {
152
+ display: flex;
153
+ flex-direction: column;
154
+ align-items: stretch;
155
+ gap: var(--spacing-32);
156
+ width: 100%;
157
+ max-width: 1228px;
158
+ margin: 0 auto;
159
+ padding: 0 var(--spacing-24);
160
+ box-sizing: border-box;
174
161
  }
175
162
 
176
- /* Secret Section */
177
163
  .bd-awards-secret-section {
178
164
  text-align: center;
179
- padding: var(--spacing-0) var(--spacing-16) var(--spacing-16);
180
- max-width: 849px;
181
- margin: var(--spacing-0) auto;
165
+ padding: 0 var(--spacing-16) var(--spacing-16);
166
+ width: 100%;
167
+ box-sizing: border-box;
182
168
  }
183
169
 
184
- @media (min-width: 481px) {
170
+ @media (min-width: 576px) {
185
171
  .bd-awards-secret-section {
186
172
  padding: var(--spacing-8) var(--spacing-20) var(--spacing-16);
187
173
  }
188
174
  }
189
175
 
190
- @media (min-width: 769px) {
176
+ @media (min-width: 768px) {
191
177
  .bd-awards-secret-section {
192
178
  padding: var(--spacing-8) var(--spacing-24) var(--spacing-16);
193
179
  }
194
180
  }
195
181
 
196
- .bd-awards-section-title {
197
- color: var(--color-blue-500);
198
- font-size: var(--typography-fontSize-xl);
199
- font-weight: 700;
200
- margin: var(--spacing-0) var(--spacing-0) var(--spacing-14);
201
- }
202
-
203
- @media (min-width: 481px) {
204
- .bd-awards-section-title {
205
- font-size: var(--typography-fontSize-2xl);
206
- }
207
- }
208
-
209
- @media (min-width: 769px) {
210
- .bd-awards-section-title {
211
- font-size: var(--typography-fontSize-2xl);
212
- }
213
- }
214
-
215
- .bd-awards-section-subtext {
216
- font-size: var(--typography-fontSize-sm);
217
- color: var(--color-neutral-1000);
218
- line-height: 1.6;
219
- margin: var(--spacing-0);
220
- }
182
+ /* ── Feature cards grid ── */
221
183
 
222
- /* Feature Cards */
223
184
  .bd-awards-features-grid {
224
185
  display: grid;
225
186
  grid-template-columns: 1fr;
226
- gap: var(--spacing-16);
227
- max-width: 849px;
228
- margin: var(--spacing-20) auto var(--spacing-32);
229
- padding: var(--spacing-0) var(--spacing-16);
230
- }
231
-
232
- @media (min-width: 481px) {
233
- .bd-awards-features-grid {
234
- padding: var(--spacing-0) var(--spacing-20);
235
- margin: var(--spacing-22) auto var(--spacing-36);
236
- }
187
+ gap: var(--spacing-32);
188
+ width: 100%;
189
+ margin: 0;
190
+ padding: 0;
191
+ box-sizing: border-box;
237
192
  }
238
193
 
239
- @media (min-width: 560px) {
194
+ @media (min-width: 768px) {
240
195
  .bd-awards-features-grid {
241
196
  grid-template-columns: 1fr 1fr;
242
- gap: var(--spacing-20);
243
- padding: var(--spacing-0) var(--spacing-24);
244
- margin: var(--spacing-24) auto var(--spacing-40);
197
+ gap: var(--spacing-32);
245
198
  }
246
199
  }
247
200
 
201
+ /* ── Feature card ── */
202
+
248
203
  .bd-awards-feature-card {
249
- background: var(--color-neutral-0);
204
+ background: var(--color-neutral-25, #fafafa);
250
205
  border-radius: var(--radius-3xl);
251
- padding: var(--spacing-24) var(--spacing-20);
252
- text-align: left;
253
- }
254
-
255
- @media (min-width: 481px) {
256
- .bd-awards-feature-card {
257
- padding: var(--spacing-24) var(--spacing-22);
258
- }
259
- }
260
-
261
- @media (min-width: 769px) {
262
- .bd-awards-feature-card {
263
- padding: var(--spacing-28) var(--spacing-24);
264
- }
265
- }
266
-
267
- .bd-awards-laurel-icon {
268
- width: 100px;
269
- height: 100px;
270
- margin: 0 auto 24px;
206
+ padding: var(--spacing-32);
271
207
  display: flex;
272
- align-items: center;
273
- justify-content: center;
274
- }
275
-
276
- .bd-awards-laurel-icon svg {
277
- width: 100%;
208
+ flex-direction: column;
209
+ gap: var(--spacing-8);
210
+ box-sizing: border-box;
278
211
  height: 100%;
212
+ text-align: left;
279
213
  }
280
214
 
281
- @media (max-width: 599px) {
282
- .bd-awards-laurel-icon {
283
- width: 80px;
284
- height: 80px;
285
- margin-bottom: 16px;
286
- }
215
+ .bd-awards-feature-text {
216
+ display: flex;
217
+ flex-direction: column;
218
+ gap: var(--spacing-8);
219
+ align-self: stretch;
287
220
  }
288
221
 
289
222
  .bd-awards-feature-icon {
290
- width: 48px;
291
- height: 48px;
292
- margin-bottom: 24px;
223
+ flex-shrink: 0;
224
+ width: var(--icon-2xl-size);
225
+ height: var(--icon-2xl-size);
293
226
  display: flex;
294
227
  align-items: center;
295
228
  justify-content: center;
@@ -307,22 +240,92 @@ export const awardsCSS = css`
307
240
  object-fit: contain;
308
241
  }
309
242
 
310
- @media (max-width: 599px) {
311
- .bd-awards-feature-icon {
312
- width: 32px;
313
- height: 32px;
314
- margin-bottom: 16px;
315
- }
316
- }
317
-
318
- .bd-awards-badge--dark bd-icon svg,
319
- .bd-awards-badge--dark bd-icon img {
320
- filter: brightness(0.9);
243
+ .bd-awards-feature-card .bd-awards-feature-title {
244
+ display: block;
245
+ margin: 0;
321
246
  }
322
247
 
323
- /* Badge img reset */
324
248
  .bd-awards-badge img {
325
249
  display: block;
326
250
  object-fit: contain;
327
251
  }
252
+
253
+ /* ── Mobile (≤ 599px) ── */
254
+
255
+ @media (max-width: 599px) {
256
+ .bd-awards-root {
257
+ padding: var(--spacing-24);
258
+ gap: var(--spacing-24);
259
+ }
260
+
261
+ .bd-awards-trust-banner {
262
+ align-items: stretch;
263
+ max-width: 100%;
264
+ }
265
+
266
+ .bd-awards-trust-intro {
267
+ gap: var(--spacing-8);
268
+ max-width: none;
269
+ padding: 0 var(--spacing-24);
270
+ box-sizing: border-box;
271
+ }
272
+
273
+ .bd-awards-laurel-icon {
274
+ width: var(--spacing-40);
275
+ height: var(--spacing-40);
276
+ }
277
+
278
+ .bd-awards-laurel-icon bd-icon {
279
+ --bd-icon-w: var(--spacing-40);
280
+ --bd-icon-h: var(--spacing-40);
281
+ }
282
+
283
+ .bd-awards-trust-intro .bd-awards-subtext {
284
+ padding: 0;
285
+ }
286
+
287
+ .bd-awards-bar {
288
+ // flex-direction: column;
289
+ align-items: center;
290
+ // gap: var(--spacing-16);
291
+ }
292
+
293
+ /* Hide desktop rows (3+3+1), show mobile rows (3+4) */
294
+ .bd-awards-row--desktop-only {
295
+ display: none;
296
+ }
297
+
298
+ .bd-awards-row--mobile-only {
299
+ display: flex;
300
+ flex-wrap: wrap;
301
+ justify-content: center;
302
+ align-items: center;
303
+ gap: var(--spacing-16);
304
+ width: 100%;
305
+ }
306
+
307
+ /* Mobile badge height — half of desktop */
308
+ .bd-awards-badge bd-icon {
309
+ --bd-icon-h: var(--spacing-32);
310
+ --bd-icon-w: auto;
311
+ }
312
+
313
+ .bd-awards-lower {
314
+ gap: var(--spacing-16);
315
+ padding: 0 var(--spacing-8);
316
+ }
317
+
318
+ .bd-awards-secret-section .bd-awards-section-title {
319
+ margin-bottom: var(--spacing-8);
320
+ }
321
+
322
+ .bd-awards-secret-section {
323
+ padding: 0 var(--spacing-24) var(--spacing-16);
324
+ }
325
+
326
+ .bd-awards-features-grid {
327
+ gap: var(--spacing-32);
328
+ padding: 0;
329
+ }
330
+ }
328
331
  `;