@latty-ds/web 0.9.0 → 0.10.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/custom-elements.json +75 -5
- package/dist/components/accordion/index.js +42 -6
- package/dist/components/alert/index.js +70 -6
- package/dist/components/button/button.d.ts +6 -0
- package/dist/components/button/index.js +28 -0
- package/dist/components/color-input/index.js +42 -6
- package/dist/components/combobox/index.js +42 -6
- package/dist/components/date-input/index.js +42 -6
- package/dist/components/datepicker/index.js +42 -6
- package/dist/components/dialog/dialog.d.ts +11 -0
- package/dist/components/dialog/index.js +80 -7
- package/dist/components/dropdown/dropdown.d.ts +2 -0
- package/dist/components/dropdown/index.js +1 -0
- package/dist/components/icon-button/icon-button.d.ts +6 -0
- package/dist/components/icon-button/index.js +28 -0
- package/dist/components/radio-group/index.js +42 -6
- package/dist/components/select/index.js +51 -7
- package/dist/components/sidepanel/index.js +75 -10
- package/dist/components/sidepanel/sidepanel.d.ts +2 -0
- package/dist/components/slider/index.js +42 -6
- package/dist/components/snackbar/index.js +9 -1
- package/dist/components/snackbar/snackbar.d.ts +11 -0
- package/dist/components/text/index.js +42 -6
- package/dist/components/text/text.d.ts +1 -0
- package/dist/components/textfield/index.js +42 -6
- package/dist/components/tooltip/index.js +42 -6
- package/dist/css/latty.css +1 -1
- package/dist/index.cjs +132 -13
- package/dist/index.js +132 -13
- package/dist/manifest.json +36 -0
- package/package.json +3 -3
|
@@ -59,61 +59,97 @@ var textStyles = css`
|
|
|
59
59
|
/* ── Display ─────────────────────────────────────────────────────────── */
|
|
60
60
|
|
|
61
61
|
:host([variant='display-2xl']) [part='base'] {
|
|
62
|
+
font-family: var(
|
|
63
|
+
--lt-typography-fontFamilyHeading,
|
|
64
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
65
|
+
);
|
|
62
66
|
font-size: clamp(2.5rem, 6vw, 4.5rem);
|
|
63
67
|
font-weight: var(--lt-text-weight, 200);
|
|
64
68
|
line-height: 1.1;
|
|
65
|
-
letter-spacing: -0.02em;
|
|
69
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
66
70
|
}
|
|
67
71
|
|
|
68
72
|
:host([variant='display-xl']) [part='base'] {
|
|
73
|
+
font-family: var(
|
|
74
|
+
--lt-typography-fontFamilyHeading,
|
|
75
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
76
|
+
);
|
|
69
77
|
font-size: clamp(2rem, 5vw, 3.75rem);
|
|
70
78
|
font-weight: var(--lt-text-weight, 200);
|
|
71
79
|
line-height: 1.1;
|
|
72
|
-
letter-spacing: -0.02em;
|
|
80
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
73
81
|
}
|
|
74
82
|
|
|
75
83
|
:host([variant='display-lg']) [part='base'] {
|
|
84
|
+
font-family: var(
|
|
85
|
+
--lt-typography-fontFamilyHeading,
|
|
86
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
87
|
+
);
|
|
76
88
|
font-size: clamp(2rem, 4vw, 3rem);
|
|
77
89
|
font-weight: var(--lt-text-weight, 200);
|
|
78
90
|
line-height: 1.15;
|
|
79
|
-
letter-spacing: -0.01em;
|
|
91
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
80
92
|
}
|
|
81
93
|
|
|
82
94
|
/* ── Headings ─────────────────────────────────────────────────────────── */
|
|
83
95
|
|
|
84
96
|
:host([variant='h1']) [part='base'] {
|
|
97
|
+
font-family: var(
|
|
98
|
+
--lt-typography-fontFamilyHeading,
|
|
99
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
100
|
+
);
|
|
85
101
|
font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
|
|
86
102
|
font-weight: var(--lt-text-weight, 600);
|
|
87
103
|
line-height: 1.2;
|
|
88
|
-
letter-spacing: -0.02em;
|
|
104
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
89
105
|
}
|
|
90
106
|
|
|
91
107
|
:host([variant='h2']) [part='base'] {
|
|
108
|
+
font-family: var(
|
|
109
|
+
--lt-typography-fontFamilyHeading,
|
|
110
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
111
|
+
);
|
|
92
112
|
font-size: clamp(1.5rem, 2vw + 0.5rem, 2rem);
|
|
93
113
|
font-weight: var(--lt-text-weight, 600);
|
|
94
114
|
line-height: 1.25;
|
|
95
|
-
letter-spacing: -0.01em;
|
|
115
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
96
116
|
}
|
|
97
117
|
|
|
98
118
|
:host([variant='h3']) [part='base'] {
|
|
119
|
+
font-family: var(
|
|
120
|
+
--lt-typography-fontFamilyHeading,
|
|
121
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
122
|
+
);
|
|
99
123
|
font-size: clamp(1.25rem, 1.5vw + 0.5rem, 1.5rem);
|
|
100
124
|
font-weight: var(--lt-text-weight, 600);
|
|
101
125
|
line-height: 1.3;
|
|
102
126
|
}
|
|
103
127
|
|
|
104
128
|
:host([variant='h4']) [part='base'] {
|
|
129
|
+
font-family: var(
|
|
130
|
+
--lt-typography-fontFamilyHeading,
|
|
131
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
132
|
+
);
|
|
105
133
|
font-size: 1.25rem;
|
|
106
134
|
font-weight: var(--lt-text-weight, 600);
|
|
107
135
|
line-height: 1.35;
|
|
108
136
|
}
|
|
109
137
|
|
|
110
138
|
:host([variant='h5']) [part='base'] {
|
|
139
|
+
font-family: var(
|
|
140
|
+
--lt-typography-fontFamilyHeading,
|
|
141
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
142
|
+
);
|
|
111
143
|
font-size: 1.125rem;
|
|
112
144
|
font-weight: var(--lt-text-weight, 600);
|
|
113
145
|
line-height: 1.4;
|
|
114
146
|
}
|
|
115
147
|
|
|
116
148
|
:host([variant='h6']) [part='base'] {
|
|
149
|
+
font-family: var(
|
|
150
|
+
--lt-typography-fontFamilyHeading,
|
|
151
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
152
|
+
);
|
|
117
153
|
font-size: 1rem;
|
|
118
154
|
font-weight: var(--lt-text-weight, 600);
|
|
119
155
|
line-height: 1.4;
|
|
@@ -152,7 +188,7 @@ var textStyles = css`
|
|
|
152
188
|
font-size: 0.6875rem;
|
|
153
189
|
font-weight: var(--lt-text-weight, 600);
|
|
154
190
|
line-height: 1.2;
|
|
155
|
-
letter-spacing: 0.08em;
|
|
191
|
+
letter-spacing: var(--lt-text-tracking, 0.08em);
|
|
156
192
|
text-transform: uppercase;
|
|
157
193
|
}
|
|
158
194
|
|
|
@@ -13,6 +13,7 @@ import type { TextVariant, TextTag } from './text.types';
|
|
|
13
13
|
*
|
|
14
14
|
* @element lt-text
|
|
15
15
|
* @cssprop [--lt-text-weight] - Overrides the default font-weight for the variant.
|
|
16
|
+
* @cssprop [--lt-text-tracking] - Overrides the default letter-spacing for the variant.
|
|
16
17
|
*
|
|
17
18
|
* @example
|
|
18
19
|
* ```html
|
|
@@ -313,61 +313,97 @@ var textStyles = css2`
|
|
|
313
313
|
/* ── Display ─────────────────────────────────────────────────────────── */
|
|
314
314
|
|
|
315
315
|
:host([variant='display-2xl']) [part='base'] {
|
|
316
|
+
font-family: var(
|
|
317
|
+
--lt-typography-fontFamilyHeading,
|
|
318
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
319
|
+
);
|
|
316
320
|
font-size: clamp(2.5rem, 6vw, 4.5rem);
|
|
317
321
|
font-weight: var(--lt-text-weight, 200);
|
|
318
322
|
line-height: 1.1;
|
|
319
|
-
letter-spacing: -0.02em;
|
|
323
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
320
324
|
}
|
|
321
325
|
|
|
322
326
|
:host([variant='display-xl']) [part='base'] {
|
|
327
|
+
font-family: var(
|
|
328
|
+
--lt-typography-fontFamilyHeading,
|
|
329
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
330
|
+
);
|
|
323
331
|
font-size: clamp(2rem, 5vw, 3.75rem);
|
|
324
332
|
font-weight: var(--lt-text-weight, 200);
|
|
325
333
|
line-height: 1.1;
|
|
326
|
-
letter-spacing: -0.02em;
|
|
334
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
327
335
|
}
|
|
328
336
|
|
|
329
337
|
:host([variant='display-lg']) [part='base'] {
|
|
338
|
+
font-family: var(
|
|
339
|
+
--lt-typography-fontFamilyHeading,
|
|
340
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
341
|
+
);
|
|
330
342
|
font-size: clamp(2rem, 4vw, 3rem);
|
|
331
343
|
font-weight: var(--lt-text-weight, 200);
|
|
332
344
|
line-height: 1.15;
|
|
333
|
-
letter-spacing: -0.01em;
|
|
345
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
334
346
|
}
|
|
335
347
|
|
|
336
348
|
/* ── Headings ─────────────────────────────────────────────────────────── */
|
|
337
349
|
|
|
338
350
|
:host([variant='h1']) [part='base'] {
|
|
351
|
+
font-family: var(
|
|
352
|
+
--lt-typography-fontFamilyHeading,
|
|
353
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
354
|
+
);
|
|
339
355
|
font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
|
|
340
356
|
font-weight: var(--lt-text-weight, 600);
|
|
341
357
|
line-height: 1.2;
|
|
342
|
-
letter-spacing: -0.02em;
|
|
358
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
343
359
|
}
|
|
344
360
|
|
|
345
361
|
:host([variant='h2']) [part='base'] {
|
|
362
|
+
font-family: var(
|
|
363
|
+
--lt-typography-fontFamilyHeading,
|
|
364
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
365
|
+
);
|
|
346
366
|
font-size: clamp(1.5rem, 2vw + 0.5rem, 2rem);
|
|
347
367
|
font-weight: var(--lt-text-weight, 600);
|
|
348
368
|
line-height: 1.25;
|
|
349
|
-
letter-spacing: -0.01em;
|
|
369
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
350
370
|
}
|
|
351
371
|
|
|
352
372
|
:host([variant='h3']) [part='base'] {
|
|
373
|
+
font-family: var(
|
|
374
|
+
--lt-typography-fontFamilyHeading,
|
|
375
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
376
|
+
);
|
|
353
377
|
font-size: clamp(1.25rem, 1.5vw + 0.5rem, 1.5rem);
|
|
354
378
|
font-weight: var(--lt-text-weight, 600);
|
|
355
379
|
line-height: 1.3;
|
|
356
380
|
}
|
|
357
381
|
|
|
358
382
|
:host([variant='h4']) [part='base'] {
|
|
383
|
+
font-family: var(
|
|
384
|
+
--lt-typography-fontFamilyHeading,
|
|
385
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
386
|
+
);
|
|
359
387
|
font-size: 1.25rem;
|
|
360
388
|
font-weight: var(--lt-text-weight, 600);
|
|
361
389
|
line-height: 1.35;
|
|
362
390
|
}
|
|
363
391
|
|
|
364
392
|
:host([variant='h5']) [part='base'] {
|
|
393
|
+
font-family: var(
|
|
394
|
+
--lt-typography-fontFamilyHeading,
|
|
395
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
396
|
+
);
|
|
365
397
|
font-size: 1.125rem;
|
|
366
398
|
font-weight: var(--lt-text-weight, 600);
|
|
367
399
|
line-height: 1.4;
|
|
368
400
|
}
|
|
369
401
|
|
|
370
402
|
:host([variant='h6']) [part='base'] {
|
|
403
|
+
font-family: var(
|
|
404
|
+
--lt-typography-fontFamilyHeading,
|
|
405
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
406
|
+
);
|
|
371
407
|
font-size: 1rem;
|
|
372
408
|
font-weight: var(--lt-text-weight, 600);
|
|
373
409
|
line-height: 1.4;
|
|
@@ -406,7 +442,7 @@ var textStyles = css2`
|
|
|
406
442
|
font-size: 0.6875rem;
|
|
407
443
|
font-weight: var(--lt-text-weight, 600);
|
|
408
444
|
line-height: 1.2;
|
|
409
|
-
letter-spacing: 0.08em;
|
|
445
|
+
letter-spacing: var(--lt-text-tracking, 0.08em);
|
|
410
446
|
text-transform: uppercase;
|
|
411
447
|
}
|
|
412
448
|
|
|
@@ -176,61 +176,97 @@ var textStyles = css2`
|
|
|
176
176
|
/* ── Display ─────────────────────────────────────────────────────────── */
|
|
177
177
|
|
|
178
178
|
:host([variant='display-2xl']) [part='base'] {
|
|
179
|
+
font-family: var(
|
|
180
|
+
--lt-typography-fontFamilyHeading,
|
|
181
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
182
|
+
);
|
|
179
183
|
font-size: clamp(2.5rem, 6vw, 4.5rem);
|
|
180
184
|
font-weight: var(--lt-text-weight, 200);
|
|
181
185
|
line-height: 1.1;
|
|
182
|
-
letter-spacing: -0.02em;
|
|
186
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
183
187
|
}
|
|
184
188
|
|
|
185
189
|
:host([variant='display-xl']) [part='base'] {
|
|
190
|
+
font-family: var(
|
|
191
|
+
--lt-typography-fontFamilyHeading,
|
|
192
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
193
|
+
);
|
|
186
194
|
font-size: clamp(2rem, 5vw, 3.75rem);
|
|
187
195
|
font-weight: var(--lt-text-weight, 200);
|
|
188
196
|
line-height: 1.1;
|
|
189
|
-
letter-spacing: -0.02em;
|
|
197
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
190
198
|
}
|
|
191
199
|
|
|
192
200
|
:host([variant='display-lg']) [part='base'] {
|
|
201
|
+
font-family: var(
|
|
202
|
+
--lt-typography-fontFamilyHeading,
|
|
203
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
204
|
+
);
|
|
193
205
|
font-size: clamp(2rem, 4vw, 3rem);
|
|
194
206
|
font-weight: var(--lt-text-weight, 200);
|
|
195
207
|
line-height: 1.15;
|
|
196
|
-
letter-spacing: -0.01em;
|
|
208
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
197
209
|
}
|
|
198
210
|
|
|
199
211
|
/* ── Headings ─────────────────────────────────────────────────────────── */
|
|
200
212
|
|
|
201
213
|
:host([variant='h1']) [part='base'] {
|
|
214
|
+
font-family: var(
|
|
215
|
+
--lt-typography-fontFamilyHeading,
|
|
216
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
217
|
+
);
|
|
202
218
|
font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
|
|
203
219
|
font-weight: var(--lt-text-weight, 600);
|
|
204
220
|
line-height: 1.2;
|
|
205
|
-
letter-spacing: -0.02em;
|
|
221
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
206
222
|
}
|
|
207
223
|
|
|
208
224
|
:host([variant='h2']) [part='base'] {
|
|
225
|
+
font-family: var(
|
|
226
|
+
--lt-typography-fontFamilyHeading,
|
|
227
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
228
|
+
);
|
|
209
229
|
font-size: clamp(1.5rem, 2vw + 0.5rem, 2rem);
|
|
210
230
|
font-weight: var(--lt-text-weight, 600);
|
|
211
231
|
line-height: 1.25;
|
|
212
|
-
letter-spacing: -0.01em;
|
|
232
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
213
233
|
}
|
|
214
234
|
|
|
215
235
|
:host([variant='h3']) [part='base'] {
|
|
236
|
+
font-family: var(
|
|
237
|
+
--lt-typography-fontFamilyHeading,
|
|
238
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
239
|
+
);
|
|
216
240
|
font-size: clamp(1.25rem, 1.5vw + 0.5rem, 1.5rem);
|
|
217
241
|
font-weight: var(--lt-text-weight, 600);
|
|
218
242
|
line-height: 1.3;
|
|
219
243
|
}
|
|
220
244
|
|
|
221
245
|
:host([variant='h4']) [part='base'] {
|
|
246
|
+
font-family: var(
|
|
247
|
+
--lt-typography-fontFamilyHeading,
|
|
248
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
249
|
+
);
|
|
222
250
|
font-size: 1.25rem;
|
|
223
251
|
font-weight: var(--lt-text-weight, 600);
|
|
224
252
|
line-height: 1.35;
|
|
225
253
|
}
|
|
226
254
|
|
|
227
255
|
:host([variant='h5']) [part='base'] {
|
|
256
|
+
font-family: var(
|
|
257
|
+
--lt-typography-fontFamilyHeading,
|
|
258
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
259
|
+
);
|
|
228
260
|
font-size: 1.125rem;
|
|
229
261
|
font-weight: var(--lt-text-weight, 600);
|
|
230
262
|
line-height: 1.4;
|
|
231
263
|
}
|
|
232
264
|
|
|
233
265
|
:host([variant='h6']) [part='base'] {
|
|
266
|
+
font-family: var(
|
|
267
|
+
--lt-typography-fontFamilyHeading,
|
|
268
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
269
|
+
);
|
|
234
270
|
font-size: 1rem;
|
|
235
271
|
font-weight: var(--lt-text-weight, 600);
|
|
236
272
|
line-height: 1.4;
|
|
@@ -269,7 +305,7 @@ var textStyles = css2`
|
|
|
269
305
|
font-size: 0.6875rem;
|
|
270
306
|
font-weight: var(--lt-text-weight, 600);
|
|
271
307
|
line-height: 1.2;
|
|
272
|
-
letter-spacing: 0.08em;
|
|
308
|
+
letter-spacing: var(--lt-text-tracking, 0.08em);
|
|
273
309
|
text-transform: uppercase;
|
|
274
310
|
}
|
|
275
311
|
|
package/dist/css/latty.css
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1514,61 +1514,97 @@ var textStyles = i`
|
|
|
1514
1514
|
/* ── Display ─────────────────────────────────────────────────────────── */
|
|
1515
1515
|
|
|
1516
1516
|
:host([variant='display-2xl']) [part='base'] {
|
|
1517
|
+
font-family: var(
|
|
1518
|
+
--lt-typography-fontFamilyHeading,
|
|
1519
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1520
|
+
);
|
|
1517
1521
|
font-size: clamp(2.5rem, 6vw, 4.5rem);
|
|
1518
1522
|
font-weight: var(--lt-text-weight, 200);
|
|
1519
1523
|
line-height: 1.1;
|
|
1520
|
-
letter-spacing: -0.02em;
|
|
1524
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
1521
1525
|
}
|
|
1522
1526
|
|
|
1523
1527
|
:host([variant='display-xl']) [part='base'] {
|
|
1528
|
+
font-family: var(
|
|
1529
|
+
--lt-typography-fontFamilyHeading,
|
|
1530
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1531
|
+
);
|
|
1524
1532
|
font-size: clamp(2rem, 5vw, 3.75rem);
|
|
1525
1533
|
font-weight: var(--lt-text-weight, 200);
|
|
1526
1534
|
line-height: 1.1;
|
|
1527
|
-
letter-spacing: -0.02em;
|
|
1535
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
1528
1536
|
}
|
|
1529
1537
|
|
|
1530
1538
|
:host([variant='display-lg']) [part='base'] {
|
|
1539
|
+
font-family: var(
|
|
1540
|
+
--lt-typography-fontFamilyHeading,
|
|
1541
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1542
|
+
);
|
|
1531
1543
|
font-size: clamp(2rem, 4vw, 3rem);
|
|
1532
1544
|
font-weight: var(--lt-text-weight, 200);
|
|
1533
1545
|
line-height: 1.15;
|
|
1534
|
-
letter-spacing: -0.01em;
|
|
1546
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
1535
1547
|
}
|
|
1536
1548
|
|
|
1537
1549
|
/* ── Headings ─────────────────────────────────────────────────────────── */
|
|
1538
1550
|
|
|
1539
1551
|
:host([variant='h1']) [part='base'] {
|
|
1552
|
+
font-family: var(
|
|
1553
|
+
--lt-typography-fontFamilyHeading,
|
|
1554
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1555
|
+
);
|
|
1540
1556
|
font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
|
|
1541
1557
|
font-weight: var(--lt-text-weight, 600);
|
|
1542
1558
|
line-height: 1.2;
|
|
1543
|
-
letter-spacing: -0.02em;
|
|
1559
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
1544
1560
|
}
|
|
1545
1561
|
|
|
1546
1562
|
:host([variant='h2']) [part='base'] {
|
|
1563
|
+
font-family: var(
|
|
1564
|
+
--lt-typography-fontFamilyHeading,
|
|
1565
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1566
|
+
);
|
|
1547
1567
|
font-size: clamp(1.5rem, 2vw + 0.5rem, 2rem);
|
|
1548
1568
|
font-weight: var(--lt-text-weight, 600);
|
|
1549
1569
|
line-height: 1.25;
|
|
1550
|
-
letter-spacing: -0.01em;
|
|
1570
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
1551
1571
|
}
|
|
1552
1572
|
|
|
1553
1573
|
:host([variant='h3']) [part='base'] {
|
|
1574
|
+
font-family: var(
|
|
1575
|
+
--lt-typography-fontFamilyHeading,
|
|
1576
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1577
|
+
);
|
|
1554
1578
|
font-size: clamp(1.25rem, 1.5vw + 0.5rem, 1.5rem);
|
|
1555
1579
|
font-weight: var(--lt-text-weight, 600);
|
|
1556
1580
|
line-height: 1.3;
|
|
1557
1581
|
}
|
|
1558
1582
|
|
|
1559
1583
|
:host([variant='h4']) [part='base'] {
|
|
1584
|
+
font-family: var(
|
|
1585
|
+
--lt-typography-fontFamilyHeading,
|
|
1586
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1587
|
+
);
|
|
1560
1588
|
font-size: 1.25rem;
|
|
1561
1589
|
font-weight: var(--lt-text-weight, 600);
|
|
1562
1590
|
line-height: 1.35;
|
|
1563
1591
|
}
|
|
1564
1592
|
|
|
1565
1593
|
:host([variant='h5']) [part='base'] {
|
|
1594
|
+
font-family: var(
|
|
1595
|
+
--lt-typography-fontFamilyHeading,
|
|
1596
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1597
|
+
);
|
|
1566
1598
|
font-size: 1.125rem;
|
|
1567
1599
|
font-weight: var(--lt-text-weight, 600);
|
|
1568
1600
|
line-height: 1.4;
|
|
1569
1601
|
}
|
|
1570
1602
|
|
|
1571
1603
|
:host([variant='h6']) [part='base'] {
|
|
1604
|
+
font-family: var(
|
|
1605
|
+
--lt-typography-fontFamilyHeading,
|
|
1606
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1607
|
+
);
|
|
1572
1608
|
font-size: 1rem;
|
|
1573
1609
|
font-weight: var(--lt-text-weight, 600);
|
|
1574
1610
|
line-height: 1.4;
|
|
@@ -1607,7 +1643,7 @@ var textStyles = i`
|
|
|
1607
1643
|
font-size: 0.6875rem;
|
|
1608
1644
|
font-weight: var(--lt-text-weight, 600);
|
|
1609
1645
|
line-height: 1.2;
|
|
1610
|
-
letter-spacing: 0.08em;
|
|
1646
|
+
letter-spacing: var(--lt-text-tracking, 0.08em);
|
|
1611
1647
|
text-transform: uppercase;
|
|
1612
1648
|
}
|
|
1613
1649
|
|
|
@@ -2015,6 +2051,30 @@ var buttonStyles = i`
|
|
|
2015
2051
|
opacity: 0.8;
|
|
2016
2052
|
}
|
|
2017
2053
|
|
|
2054
|
+
/* bordered — adds a border on top of whatever appearance is active; a no-op on
|
|
2055
|
+
outlined, which already sets the same border color. */
|
|
2056
|
+
:host([bordered][variant='primary']) {
|
|
2057
|
+
--_border-color: var(--lt-border-primary-strong);
|
|
2058
|
+
}
|
|
2059
|
+
:host([bordered][variant='secondary']) {
|
|
2060
|
+
--_border-color: var(--lt-border-secondary-strong);
|
|
2061
|
+
}
|
|
2062
|
+
:host([bordered][variant='neutral']) {
|
|
2063
|
+
--_border-color: var(--lt-border-strong);
|
|
2064
|
+
}
|
|
2065
|
+
:host([bordered][variant='success']) {
|
|
2066
|
+
--_border-color: var(--lt-border-success-strong);
|
|
2067
|
+
}
|
|
2068
|
+
:host([bordered][variant='warning']) {
|
|
2069
|
+
--_border-color: var(--lt-border-warning-strong);
|
|
2070
|
+
}
|
|
2071
|
+
:host([bordered][variant='error']) {
|
|
2072
|
+
--_border-color: var(--lt-border-error-strong);
|
|
2073
|
+
}
|
|
2074
|
+
:host([bordered][variant='info']) {
|
|
2075
|
+
--_border-color: var(--lt-border-info-strong);
|
|
2076
|
+
}
|
|
2077
|
+
|
|
2018
2078
|
/* loading */
|
|
2019
2079
|
.spinner {
|
|
2020
2080
|
animation: spin 700ms linear infinite;
|
|
@@ -2175,6 +2235,7 @@ var Button = class extends ThemeableElement {
|
|
|
2175
2235
|
this._ariaForwarding = new AriaForwardingController(this, () => this.shadowRoot?.querySelector('[part="base"]'));
|
|
2176
2236
|
this.variant = "primary";
|
|
2177
2237
|
this.appearance = "filled";
|
|
2238
|
+
this.bordered = false;
|
|
2178
2239
|
this.size = "md";
|
|
2179
2240
|
this.disabled = false;
|
|
2180
2241
|
this.loading = false;
|
|
@@ -2237,6 +2298,9 @@ __decorateClass([
|
|
|
2237
2298
|
__decorateClass([
|
|
2238
2299
|
n4({ reflect: true })
|
|
2239
2300
|
], Button.prototype, "appearance", 2);
|
|
2301
|
+
__decorateClass([
|
|
2302
|
+
n4({ type: Boolean, reflect: true })
|
|
2303
|
+
], Button.prototype, "bordered", 2);
|
|
2240
2304
|
__decorateClass([
|
|
2241
2305
|
n4({ reflect: true })
|
|
2242
2306
|
], Button.prototype, "size", 2);
|
|
@@ -3224,6 +3288,30 @@ var iconButtonStyles = i`
|
|
|
3224
3288
|
--_active-bg: var(--lt-bg-info-subtle);
|
|
3225
3289
|
}
|
|
3226
3290
|
|
|
3291
|
+
/* bordered — adds a border on top of whatever appearance is active; a no-op on
|
|
3292
|
+
outlined, which already sets the same border color. */
|
|
3293
|
+
:host([bordered][variant='primary']) {
|
|
3294
|
+
--_border-color: var(--lt-border-primary-strong);
|
|
3295
|
+
}
|
|
3296
|
+
:host([bordered][variant='secondary']) {
|
|
3297
|
+
--_border-color: var(--lt-border-secondary-strong);
|
|
3298
|
+
}
|
|
3299
|
+
:host([bordered][variant='neutral']) {
|
|
3300
|
+
--_border-color: var(--lt-border-strong);
|
|
3301
|
+
}
|
|
3302
|
+
:host([bordered][variant='success']) {
|
|
3303
|
+
--_border-color: var(--lt-border-success-strong);
|
|
3304
|
+
}
|
|
3305
|
+
:host([bordered][variant='warning']) {
|
|
3306
|
+
--_border-color: var(--lt-border-warning-strong);
|
|
3307
|
+
}
|
|
3308
|
+
:host([bordered][variant='error']) {
|
|
3309
|
+
--_border-color: var(--lt-border-error-strong);
|
|
3310
|
+
}
|
|
3311
|
+
:host([bordered][variant='info']) {
|
|
3312
|
+
--_border-color: var(--lt-border-info-strong);
|
|
3313
|
+
}
|
|
3314
|
+
|
|
3227
3315
|
/* round shape */
|
|
3228
3316
|
:host([round]) [part='base'] {
|
|
3229
3317
|
border-radius: 50%;
|
|
@@ -3240,6 +3328,7 @@ var IconButton = class extends ThemeableElement {
|
|
|
3240
3328
|
this.label = "";
|
|
3241
3329
|
this.variant = "neutral";
|
|
3242
3330
|
this.appearance = "ghost";
|
|
3331
|
+
this.bordered = false;
|
|
3243
3332
|
this.size = "md";
|
|
3244
3333
|
this.disabled = false;
|
|
3245
3334
|
this.href = "";
|
|
@@ -3286,6 +3375,9 @@ __decorateClass([
|
|
|
3286
3375
|
__decorateClass([
|
|
3287
3376
|
n4({ reflect: true })
|
|
3288
3377
|
], IconButton.prototype, "appearance", 2);
|
|
3378
|
+
__decorateClass([
|
|
3379
|
+
n4({ type: Boolean, reflect: true })
|
|
3380
|
+
], IconButton.prototype, "bordered", 2);
|
|
3289
3381
|
__decorateClass([
|
|
3290
3382
|
n4({ reflect: true })
|
|
3291
3383
|
], IconButton.prototype, "size", 2);
|
|
@@ -3402,6 +3494,8 @@ var Dialog = class extends ThemeableElement {
|
|
|
3402
3494
|
this.closeOnEscape = true;
|
|
3403
3495
|
this.uppercase = false;
|
|
3404
3496
|
this.backdropBlur = false;
|
|
3497
|
+
this.elevation = "4";
|
|
3498
|
+
this.appearance = "filled";
|
|
3405
3499
|
this.handleKeydown = (event) => {
|
|
3406
3500
|
if (this.open && this.closeOnEscape && event.key === "Escape") {
|
|
3407
3501
|
event.preventDefault();
|
|
@@ -3479,7 +3573,8 @@ var Dialog = class extends ThemeableElement {
|
|
|
3479
3573
|
return T`
|
|
3480
3574
|
<div class="backdrop" ?inert=${!this.open} @click=${this.handleBackdropClick} part="backdrop">
|
|
3481
3575
|
<lt-surface
|
|
3482
|
-
elevation
|
|
3576
|
+
elevation=${this.elevation}
|
|
3577
|
+
appearance=${this.appearance}
|
|
3483
3578
|
role="dialog"
|
|
3484
3579
|
aria-modal="true"
|
|
3485
3580
|
aria-labelledby="dialog-title"
|
|
@@ -3546,6 +3641,12 @@ __decorateClass([
|
|
|
3546
3641
|
__decorateClass([
|
|
3547
3642
|
n4({ type: Boolean, reflect: true, attribute: "backdrop-blur" })
|
|
3548
3643
|
], Dialog.prototype, "backdropBlur", 2);
|
|
3644
|
+
__decorateClass([
|
|
3645
|
+
n4({ reflect: true })
|
|
3646
|
+
], Dialog.prototype, "elevation", 2);
|
|
3647
|
+
__decorateClass([
|
|
3648
|
+
n4({ reflect: true })
|
|
3649
|
+
], Dialog.prototype, "appearance", 2);
|
|
3549
3650
|
__decorateClass([
|
|
3550
3651
|
e4("lt-surface")
|
|
3551
3652
|
], Dialog.prototype, "dialogElement", 2);
|
|
@@ -6038,7 +6139,15 @@ var Select = class extends ThemeableElement {
|
|
|
6038
6139
|
</span>
|
|
6039
6140
|
<lt-icon class="icon-end" name="caret-down"></lt-icon>
|
|
6040
6141
|
</div>
|
|
6041
|
-
<lt-surface
|
|
6142
|
+
<lt-surface
|
|
6143
|
+
class="dropdown"
|
|
6144
|
+
popover="manual"
|
|
6145
|
+
elevation="2"
|
|
6146
|
+
appearance="outlined"
|
|
6147
|
+
background="--lt-bg-default"
|
|
6148
|
+
role="listbox"
|
|
6149
|
+
part="listbox"
|
|
6150
|
+
>
|
|
6042
6151
|
<div class="options-container">
|
|
6043
6152
|
${this.options.map(
|
|
6044
6153
|
(option) => T`
|
|
@@ -8638,6 +8747,8 @@ var Snackbar = class extends ThemeableElement {
|
|
|
8638
8747
|
this.closable = true;
|
|
8639
8748
|
this.actionLabel = "";
|
|
8640
8749
|
this.icon = "";
|
|
8750
|
+
this.elevation = "5";
|
|
8751
|
+
this.appearance = "filled";
|
|
8641
8752
|
}
|
|
8642
8753
|
/** Shows the snackbar and starts the auto-dismiss timer. */
|
|
8643
8754
|
show() {
|
|
@@ -8690,7 +8801,7 @@ var Snackbar = class extends ThemeableElement {
|
|
|
8690
8801
|
render() {
|
|
8691
8802
|
const iconName = this._resolvedIcon;
|
|
8692
8803
|
return T`
|
|
8693
|
-
<lt-surface elevation
|
|
8804
|
+
<lt-surface elevation=${this.elevation} appearance=${this.appearance} background=${Snackbar._bgMap[this.variant]}>
|
|
8694
8805
|
<div class="inner" role="status" aria-live="polite" part="base">
|
|
8695
8806
|
${iconName ? T`<lt-icon class="variant-icon" name=${iconName} part="icon"></lt-icon>` : ""}
|
|
8696
8807
|
<span class="message" part="message">
|
|
@@ -8737,6 +8848,12 @@ __decorateClass([
|
|
|
8737
8848
|
__decorateClass([
|
|
8738
8849
|
n4({ reflect: true })
|
|
8739
8850
|
], Snackbar.prototype, "icon", 2);
|
|
8851
|
+
__decorateClass([
|
|
8852
|
+
n4({ reflect: true })
|
|
8853
|
+
], Snackbar.prototype, "elevation", 2);
|
|
8854
|
+
__decorateClass([
|
|
8855
|
+
n4({ reflect: true })
|
|
8856
|
+
], Snackbar.prototype, "appearance", 2);
|
|
8740
8857
|
Snackbar = __decorateClass([
|
|
8741
8858
|
t3("lt-snackbar")
|
|
8742
8859
|
], Snackbar);
|
|
@@ -9244,6 +9361,7 @@ var dropdownStyles = [
|
|
|
9244
9361
|
|
|
9245
9362
|
lt-surface.menu::part(surface) {
|
|
9246
9363
|
overflow: hidden;
|
|
9364
|
+
padding-block: var(--lt-dropdown-menu-padding, var(--lt-spacing-2));
|
|
9247
9365
|
}
|
|
9248
9366
|
`
|
|
9249
9367
|
];
|
|
@@ -10396,28 +10514,28 @@ var sidepanelStyles = i`
|
|
|
10396
10514
|
inset-block: 0;
|
|
10397
10515
|
left: 0;
|
|
10398
10516
|
transform: translateX(-100%);
|
|
10399
|
-
box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
|
|
10517
|
+
box-shadow: var(--lt-sidepanel-shadow, 4px 0 24px rgba(0, 0, 0, 0.12));
|
|
10400
10518
|
}
|
|
10401
10519
|
|
|
10402
10520
|
:host([anchor='right']) [part='panel'] {
|
|
10403
10521
|
inset-block: 0;
|
|
10404
10522
|
right: 0;
|
|
10405
10523
|
transform: translateX(100%);
|
|
10406
|
-
box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);
|
|
10524
|
+
box-shadow: var(--lt-sidepanel-shadow, -4px 0 24px rgba(0, 0, 0, 0.12));
|
|
10407
10525
|
}
|
|
10408
10526
|
|
|
10409
10527
|
:host([anchor='top']) [part='panel'] {
|
|
10410
10528
|
inset-inline: 0;
|
|
10411
10529
|
top: 0;
|
|
10412
10530
|
transform: translateY(-100%);
|
|
10413
|
-
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
|
|
10531
|
+
box-shadow: var(--lt-sidepanel-shadow, 0 4px 24px rgba(0, 0, 0, 0.12));
|
|
10414
10532
|
}
|
|
10415
10533
|
|
|
10416
10534
|
:host([anchor='bottom']) [part='panel'] {
|
|
10417
10535
|
inset-inline: 0;
|
|
10418
10536
|
bottom: 0;
|
|
10419
10537
|
transform: translateY(100%);
|
|
10420
|
-
box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.12);
|
|
10538
|
+
box-shadow: var(--lt-sidepanel-shadow, 0 -4px 24px rgba(0, 0, 0, 0.12));
|
|
10421
10539
|
}
|
|
10422
10540
|
|
|
10423
10541
|
/* ── Open state — must come after anchors to win the cascade ────────────── */
|
|
@@ -10458,6 +10576,7 @@ var sidepanelStyles = i`
|
|
|
10458
10576
|
.body {
|
|
10459
10577
|
flex: 1;
|
|
10460
10578
|
overflow-y: auto;
|
|
10579
|
+
padding: var(--lt-spacing-5);
|
|
10461
10580
|
}
|
|
10462
10581
|
|
|
10463
10582
|
/* ── Reduced motion ─────────────────────────────────────────────────────── */
|