@latty-ds/web 0.8.1 → 0.10.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.
- package/custom-elements.json +103 -33
- package/dist/components/accordion/index.js +44 -8
- package/dist/components/alert/index.js +72 -8
- package/dist/components/avatar/index.js +1 -1
- package/dist/components/badge/index.js +1 -1
- package/dist/components/breadcrumb/index.js +1 -1
- package/dist/components/button/button.d.ts +6 -0
- package/dist/components/button/index.js +29 -1
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/checkbox/index.js +1 -1
- package/dist/components/chip/index.js +1 -1
- package/dist/components/color-input/index.js +44 -8
- package/dist/components/combobox/index.js +44 -8
- package/dist/components/date-input/index.js +45 -9
- package/dist/components/datepicker/index.js +44 -8
- package/dist/components/dialog/dialog.d.ts +11 -0
- package/dist/components/dialog/index.js +83 -10
- package/dist/components/divider/index.js +1 -1
- package/dist/components/dropdown/dropdown.d.ts +2 -0
- package/dist/components/dropdown/index.js +4 -3
- package/dist/components/icon-button/icon-button.d.ts +6 -0
- package/dist/components/icon-button/index.js +28 -0
- package/dist/components/list/index.js +1 -1
- package/dist/components/pagination/index.js +1 -1
- package/dist/components/radio/index.js +1 -1
- package/dist/components/radio-group/index.js +44 -8
- package/dist/components/select/index.js +54 -10
- package/dist/components/sidepanel/index.js +76 -11
- package/dist/components/sidepanel/sidepanel.d.ts +2 -0
- package/dist/components/slider/index.js +44 -8
- package/dist/components/snackbar/index.js +11 -3
- package/dist/components/snackbar/snackbar.d.ts +11 -0
- package/dist/components/surface/index.js +1 -1
- package/dist/components/switch/index.js +1 -1
- package/dist/components/tab/index.js +1 -1
- package/dist/components/tab-group/index.js +2 -2
- package/dist/components/table/index.js +1 -1
- package/dist/components/text/index.js +43 -7
- package/dist/components/text/text.d.ts +1 -0
- package/dist/components/textfield/index.js +44 -8
- package/dist/components/tooltip/index.js +43 -7
- package/dist/index.cjs +163 -44
- package/dist/index.js +163 -44
- package/dist/manifest.json +36 -0
- package/package.json +3 -3
|
@@ -36,6 +36,12 @@ export declare class IconButton extends ThemeableElement {
|
|
|
36
36
|
* @default 'ghost'
|
|
37
37
|
*/
|
|
38
38
|
appearance: IconButtonAppearance;
|
|
39
|
+
/**
|
|
40
|
+
* Adds a variant-colored border on top of the current appearance. A no-op on
|
|
41
|
+
* `outlined` (which already has one); adds a border to `filled`/`ghost`.
|
|
42
|
+
* @default false
|
|
43
|
+
*/
|
|
44
|
+
bordered: boolean;
|
|
39
45
|
/**
|
|
40
46
|
* Size of the button.
|
|
41
47
|
* @default 'md'
|
|
@@ -255,6 +255,30 @@ var iconButtonStyles = css`
|
|
|
255
255
|
--_active-bg: var(--lt-bg-info-subtle);
|
|
256
256
|
}
|
|
257
257
|
|
|
258
|
+
/* bordered — adds a border on top of whatever appearance is active; a no-op on
|
|
259
|
+
outlined, which already sets the same border color. */
|
|
260
|
+
:host([bordered][variant='primary']) {
|
|
261
|
+
--_border-color: var(--lt-border-primary-strong);
|
|
262
|
+
}
|
|
263
|
+
:host([bordered][variant='secondary']) {
|
|
264
|
+
--_border-color: var(--lt-border-secondary-strong);
|
|
265
|
+
}
|
|
266
|
+
:host([bordered][variant='neutral']) {
|
|
267
|
+
--_border-color: var(--lt-border-strong);
|
|
268
|
+
}
|
|
269
|
+
:host([bordered][variant='success']) {
|
|
270
|
+
--_border-color: var(--lt-border-success-strong);
|
|
271
|
+
}
|
|
272
|
+
:host([bordered][variant='warning']) {
|
|
273
|
+
--_border-color: var(--lt-border-warning-strong);
|
|
274
|
+
}
|
|
275
|
+
:host([bordered][variant='error']) {
|
|
276
|
+
--_border-color: var(--lt-border-error-strong);
|
|
277
|
+
}
|
|
278
|
+
:host([bordered][variant='info']) {
|
|
279
|
+
--_border-color: var(--lt-border-info-strong);
|
|
280
|
+
}
|
|
281
|
+
|
|
258
282
|
/* round shape */
|
|
259
283
|
:host([round]) [part='base'] {
|
|
260
284
|
border-radius: 50%;
|
|
@@ -304,6 +328,7 @@ var IconButton = class extends ThemeableElement {
|
|
|
304
328
|
this.label = "";
|
|
305
329
|
this.variant = "neutral";
|
|
306
330
|
this.appearance = "ghost";
|
|
331
|
+
this.bordered = false;
|
|
307
332
|
this.size = "md";
|
|
308
333
|
this.disabled = false;
|
|
309
334
|
this.href = "";
|
|
@@ -350,6 +375,9 @@ __decorateClass([
|
|
|
350
375
|
__decorateClass([
|
|
351
376
|
property2({ reflect: true })
|
|
352
377
|
], IconButton.prototype, "appearance", 2);
|
|
378
|
+
__decorateClass([
|
|
379
|
+
property2({ type: Boolean, reflect: true })
|
|
380
|
+
], IconButton.prototype, "bordered", 2);
|
|
353
381
|
__decorateClass([
|
|
354
382
|
property2({ reflect: true })
|
|
355
383
|
], IconButton.prototype, "size", 2);
|
|
@@ -43,7 +43,7 @@ import { css } from "lit";
|
|
|
43
43
|
var listStyles = css`
|
|
44
44
|
:host {
|
|
45
45
|
display: block;
|
|
46
|
-
font-family: var(--lt-typography-
|
|
46
|
+
font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif);
|
|
47
47
|
--list-marker-color: var(--lt-color-neutral-500);
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -42,7 +42,7 @@ import { css } from "lit";
|
|
|
42
42
|
var paginationStyles = css`
|
|
43
43
|
:host {
|
|
44
44
|
display: inline-flex;
|
|
45
|
-
font-family: var(--lt-typography-
|
|
45
|
+
font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
nav {
|
|
@@ -42,7 +42,7 @@ import { css } from "lit";
|
|
|
42
42
|
var radioStyles = css`
|
|
43
43
|
:host {
|
|
44
44
|
display: inline-block;
|
|
45
|
-
font-family: var(--lt-typography-
|
|
45
|
+
font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
.radio-wrapper {
|
|
@@ -42,7 +42,7 @@ import { css } from "lit";
|
|
|
42
42
|
var radioGroupStyles = css`
|
|
43
43
|
:host {
|
|
44
44
|
display: block;
|
|
45
|
-
font-family: var(--lt-typography-
|
|
45
|
+
font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
.radio-group {
|
|
@@ -111,67 +111,103 @@ var textStyles = css2`
|
|
|
111
111
|
[part='base'] {
|
|
112
112
|
margin: 0;
|
|
113
113
|
color: inherit;
|
|
114
|
-
font-family: var(--lt-typography-
|
|
114
|
+
font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif);
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
/* ── Display ─────────────────────────────────────────────────────────── */
|
|
118
118
|
|
|
119
119
|
:host([variant='display-2xl']) [part='base'] {
|
|
120
|
+
font-family: var(
|
|
121
|
+
--lt-typography-fontFamilyHeading,
|
|
122
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
123
|
+
);
|
|
120
124
|
font-size: clamp(2.5rem, 6vw, 4.5rem);
|
|
121
125
|
font-weight: var(--lt-text-weight, 200);
|
|
122
126
|
line-height: 1.1;
|
|
123
|
-
letter-spacing: -0.02em;
|
|
127
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
124
128
|
}
|
|
125
129
|
|
|
126
130
|
:host([variant='display-xl']) [part='base'] {
|
|
131
|
+
font-family: var(
|
|
132
|
+
--lt-typography-fontFamilyHeading,
|
|
133
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
134
|
+
);
|
|
127
135
|
font-size: clamp(2rem, 5vw, 3.75rem);
|
|
128
136
|
font-weight: var(--lt-text-weight, 200);
|
|
129
137
|
line-height: 1.1;
|
|
130
|
-
letter-spacing: -0.02em;
|
|
138
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
131
139
|
}
|
|
132
140
|
|
|
133
141
|
:host([variant='display-lg']) [part='base'] {
|
|
142
|
+
font-family: var(
|
|
143
|
+
--lt-typography-fontFamilyHeading,
|
|
144
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
145
|
+
);
|
|
134
146
|
font-size: clamp(2rem, 4vw, 3rem);
|
|
135
147
|
font-weight: var(--lt-text-weight, 200);
|
|
136
148
|
line-height: 1.15;
|
|
137
|
-
letter-spacing: -0.01em;
|
|
149
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
138
150
|
}
|
|
139
151
|
|
|
140
152
|
/* ── Headings ─────────────────────────────────────────────────────────── */
|
|
141
153
|
|
|
142
154
|
:host([variant='h1']) [part='base'] {
|
|
155
|
+
font-family: var(
|
|
156
|
+
--lt-typography-fontFamilyHeading,
|
|
157
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
158
|
+
);
|
|
143
159
|
font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
|
|
144
160
|
font-weight: var(--lt-text-weight, 600);
|
|
145
161
|
line-height: 1.2;
|
|
146
|
-
letter-spacing: -0.02em;
|
|
162
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
147
163
|
}
|
|
148
164
|
|
|
149
165
|
:host([variant='h2']) [part='base'] {
|
|
166
|
+
font-family: var(
|
|
167
|
+
--lt-typography-fontFamilyHeading,
|
|
168
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
169
|
+
);
|
|
150
170
|
font-size: clamp(1.5rem, 2vw + 0.5rem, 2rem);
|
|
151
171
|
font-weight: var(--lt-text-weight, 600);
|
|
152
172
|
line-height: 1.25;
|
|
153
|
-
letter-spacing: -0.01em;
|
|
173
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
154
174
|
}
|
|
155
175
|
|
|
156
176
|
:host([variant='h3']) [part='base'] {
|
|
177
|
+
font-family: var(
|
|
178
|
+
--lt-typography-fontFamilyHeading,
|
|
179
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
180
|
+
);
|
|
157
181
|
font-size: clamp(1.25rem, 1.5vw + 0.5rem, 1.5rem);
|
|
158
182
|
font-weight: var(--lt-text-weight, 600);
|
|
159
183
|
line-height: 1.3;
|
|
160
184
|
}
|
|
161
185
|
|
|
162
186
|
:host([variant='h4']) [part='base'] {
|
|
187
|
+
font-family: var(
|
|
188
|
+
--lt-typography-fontFamilyHeading,
|
|
189
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
190
|
+
);
|
|
163
191
|
font-size: 1.25rem;
|
|
164
192
|
font-weight: var(--lt-text-weight, 600);
|
|
165
193
|
line-height: 1.35;
|
|
166
194
|
}
|
|
167
195
|
|
|
168
196
|
:host([variant='h5']) [part='base'] {
|
|
197
|
+
font-family: var(
|
|
198
|
+
--lt-typography-fontFamilyHeading,
|
|
199
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
200
|
+
);
|
|
169
201
|
font-size: 1.125rem;
|
|
170
202
|
font-weight: var(--lt-text-weight, 600);
|
|
171
203
|
line-height: 1.4;
|
|
172
204
|
}
|
|
173
205
|
|
|
174
206
|
:host([variant='h6']) [part='base'] {
|
|
207
|
+
font-family: var(
|
|
208
|
+
--lt-typography-fontFamilyHeading,
|
|
209
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
210
|
+
);
|
|
175
211
|
font-size: 1rem;
|
|
176
212
|
font-weight: var(--lt-text-weight, 600);
|
|
177
213
|
line-height: 1.4;
|
|
@@ -210,7 +246,7 @@ var textStyles = css2`
|
|
|
210
246
|
font-size: 0.6875rem;
|
|
211
247
|
font-weight: var(--lt-text-weight, 600);
|
|
212
248
|
line-height: 1.2;
|
|
213
|
-
letter-spacing: 0.08em;
|
|
249
|
+
letter-spacing: var(--lt-text-tracking, 0.08em);
|
|
214
250
|
text-transform: uppercase;
|
|
215
251
|
}
|
|
216
252
|
|
|
@@ -1432,7 +1432,7 @@ var selectStyles = [
|
|
|
1432
1432
|
css2`
|
|
1433
1433
|
:host {
|
|
1434
1434
|
display: inline-block;
|
|
1435
|
-
font-family: var(--lt-typography-
|
|
1435
|
+
font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif);
|
|
1436
1436
|
position: relative;
|
|
1437
1437
|
width: 100%;
|
|
1438
1438
|
}
|
|
@@ -1657,7 +1657,7 @@ import { css as css3 } from "lit";
|
|
|
1657
1657
|
var surfaceStyles = css3`
|
|
1658
1658
|
:host {
|
|
1659
1659
|
display: block;
|
|
1660
|
-
font-family: var(--lt-typography-
|
|
1660
|
+
font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif);
|
|
1661
1661
|
}
|
|
1662
1662
|
|
|
1663
1663
|
.surface {
|
|
@@ -1757,67 +1757,103 @@ var textStyles = css4`
|
|
|
1757
1757
|
[part='base'] {
|
|
1758
1758
|
margin: 0;
|
|
1759
1759
|
color: inherit;
|
|
1760
|
-
font-family: var(--lt-typography-
|
|
1760
|
+
font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif);
|
|
1761
1761
|
}
|
|
1762
1762
|
|
|
1763
1763
|
/* ── Display ─────────────────────────────────────────────────────────── */
|
|
1764
1764
|
|
|
1765
1765
|
:host([variant='display-2xl']) [part='base'] {
|
|
1766
|
+
font-family: var(
|
|
1767
|
+
--lt-typography-fontFamilyHeading,
|
|
1768
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1769
|
+
);
|
|
1766
1770
|
font-size: clamp(2.5rem, 6vw, 4.5rem);
|
|
1767
1771
|
font-weight: var(--lt-text-weight, 200);
|
|
1768
1772
|
line-height: 1.1;
|
|
1769
|
-
letter-spacing: -0.02em;
|
|
1773
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
1770
1774
|
}
|
|
1771
1775
|
|
|
1772
1776
|
:host([variant='display-xl']) [part='base'] {
|
|
1777
|
+
font-family: var(
|
|
1778
|
+
--lt-typography-fontFamilyHeading,
|
|
1779
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1780
|
+
);
|
|
1773
1781
|
font-size: clamp(2rem, 5vw, 3.75rem);
|
|
1774
1782
|
font-weight: var(--lt-text-weight, 200);
|
|
1775
1783
|
line-height: 1.1;
|
|
1776
|
-
letter-spacing: -0.02em;
|
|
1784
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
1777
1785
|
}
|
|
1778
1786
|
|
|
1779
1787
|
:host([variant='display-lg']) [part='base'] {
|
|
1788
|
+
font-family: var(
|
|
1789
|
+
--lt-typography-fontFamilyHeading,
|
|
1790
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1791
|
+
);
|
|
1780
1792
|
font-size: clamp(2rem, 4vw, 3rem);
|
|
1781
1793
|
font-weight: var(--lt-text-weight, 200);
|
|
1782
1794
|
line-height: 1.15;
|
|
1783
|
-
letter-spacing: -0.01em;
|
|
1795
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
1784
1796
|
}
|
|
1785
1797
|
|
|
1786
1798
|
/* ── Headings ─────────────────────────────────────────────────────────── */
|
|
1787
1799
|
|
|
1788
1800
|
:host([variant='h1']) [part='base'] {
|
|
1801
|
+
font-family: var(
|
|
1802
|
+
--lt-typography-fontFamilyHeading,
|
|
1803
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1804
|
+
);
|
|
1789
1805
|
font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
|
|
1790
1806
|
font-weight: var(--lt-text-weight, 600);
|
|
1791
1807
|
line-height: 1.2;
|
|
1792
|
-
letter-spacing: -0.02em;
|
|
1808
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
1793
1809
|
}
|
|
1794
1810
|
|
|
1795
1811
|
:host([variant='h2']) [part='base'] {
|
|
1812
|
+
font-family: var(
|
|
1813
|
+
--lt-typography-fontFamilyHeading,
|
|
1814
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1815
|
+
);
|
|
1796
1816
|
font-size: clamp(1.5rem, 2vw + 0.5rem, 2rem);
|
|
1797
1817
|
font-weight: var(--lt-text-weight, 600);
|
|
1798
1818
|
line-height: 1.25;
|
|
1799
|
-
letter-spacing: -0.01em;
|
|
1819
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
1800
1820
|
}
|
|
1801
1821
|
|
|
1802
1822
|
:host([variant='h3']) [part='base'] {
|
|
1823
|
+
font-family: var(
|
|
1824
|
+
--lt-typography-fontFamilyHeading,
|
|
1825
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1826
|
+
);
|
|
1803
1827
|
font-size: clamp(1.25rem, 1.5vw + 0.5rem, 1.5rem);
|
|
1804
1828
|
font-weight: var(--lt-text-weight, 600);
|
|
1805
1829
|
line-height: 1.3;
|
|
1806
1830
|
}
|
|
1807
1831
|
|
|
1808
1832
|
:host([variant='h4']) [part='base'] {
|
|
1833
|
+
font-family: var(
|
|
1834
|
+
--lt-typography-fontFamilyHeading,
|
|
1835
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1836
|
+
);
|
|
1809
1837
|
font-size: 1.25rem;
|
|
1810
1838
|
font-weight: var(--lt-text-weight, 600);
|
|
1811
1839
|
line-height: 1.35;
|
|
1812
1840
|
}
|
|
1813
1841
|
|
|
1814
1842
|
:host([variant='h5']) [part='base'] {
|
|
1843
|
+
font-family: var(
|
|
1844
|
+
--lt-typography-fontFamilyHeading,
|
|
1845
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1846
|
+
);
|
|
1815
1847
|
font-size: 1.125rem;
|
|
1816
1848
|
font-weight: var(--lt-text-weight, 600);
|
|
1817
1849
|
line-height: 1.4;
|
|
1818
1850
|
}
|
|
1819
1851
|
|
|
1820
1852
|
:host([variant='h6']) [part='base'] {
|
|
1853
|
+
font-family: var(
|
|
1854
|
+
--lt-typography-fontFamilyHeading,
|
|
1855
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
1856
|
+
);
|
|
1821
1857
|
font-size: 1rem;
|
|
1822
1858
|
font-weight: var(--lt-text-weight, 600);
|
|
1823
1859
|
line-height: 1.4;
|
|
@@ -1856,7 +1892,7 @@ var textStyles = css4`
|
|
|
1856
1892
|
font-size: 0.6875rem;
|
|
1857
1893
|
font-weight: var(--lt-text-weight, 600);
|
|
1858
1894
|
line-height: 1.2;
|
|
1859
|
-
letter-spacing: 0.08em;
|
|
1895
|
+
letter-spacing: var(--lt-text-tracking, 0.08em);
|
|
1860
1896
|
text-transform: uppercase;
|
|
1861
1897
|
}
|
|
1862
1898
|
|
|
@@ -2071,7 +2107,15 @@ var Select = class extends ThemeableElement {
|
|
|
2071
2107
|
</span>
|
|
2072
2108
|
<lt-icon class="icon-end" name="caret-down"></lt-icon>
|
|
2073
2109
|
</div>
|
|
2074
|
-
<lt-surface
|
|
2110
|
+
<lt-surface
|
|
2111
|
+
class="dropdown"
|
|
2112
|
+
popover="manual"
|
|
2113
|
+
elevation="2"
|
|
2114
|
+
appearance="outlined"
|
|
2115
|
+
background="--lt-bg-default"
|
|
2116
|
+
role="listbox"
|
|
2117
|
+
part="listbox"
|
|
2118
|
+
>
|
|
2075
2119
|
<div class="options-container">
|
|
2076
2120
|
${this.options.map(
|
|
2077
2121
|
(option) => html3`
|
|
@@ -75,28 +75,28 @@ var sidepanelStyles = css`
|
|
|
75
75
|
inset-block: 0;
|
|
76
76
|
left: 0;
|
|
77
77
|
transform: translateX(-100%);
|
|
78
|
-
box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
|
|
78
|
+
box-shadow: var(--lt-sidepanel-shadow, 4px 0 24px rgba(0, 0, 0, 0.12));
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
:host([anchor='right']) [part='panel'] {
|
|
82
82
|
inset-block: 0;
|
|
83
83
|
right: 0;
|
|
84
84
|
transform: translateX(100%);
|
|
85
|
-
box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);
|
|
85
|
+
box-shadow: var(--lt-sidepanel-shadow, -4px 0 24px rgba(0, 0, 0, 0.12));
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
:host([anchor='top']) [part='panel'] {
|
|
89
89
|
inset-inline: 0;
|
|
90
90
|
top: 0;
|
|
91
91
|
transform: translateY(-100%);
|
|
92
|
-
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
|
|
92
|
+
box-shadow: var(--lt-sidepanel-shadow, 0 4px 24px rgba(0, 0, 0, 0.12));
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
:host([anchor='bottom']) [part='panel'] {
|
|
96
96
|
inset-inline: 0;
|
|
97
97
|
bottom: 0;
|
|
98
98
|
transform: translateY(100%);
|
|
99
|
-
box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.12);
|
|
99
|
+
box-shadow: var(--lt-sidepanel-shadow, 0 -4px 24px rgba(0, 0, 0, 0.12));
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
/* ── Open state — must come after anchors to win the cascade ────────────── */
|
|
@@ -137,6 +137,7 @@ var sidepanelStyles = css`
|
|
|
137
137
|
.body {
|
|
138
138
|
flex: 1;
|
|
139
139
|
overflow-y: auto;
|
|
140
|
+
padding: var(--lt-spacing-5);
|
|
140
141
|
}
|
|
141
142
|
|
|
142
143
|
/* ── Reduced motion ─────────────────────────────────────────────────────── */
|
|
@@ -386,6 +387,30 @@ var iconButtonStyles = css3`
|
|
|
386
387
|
--_active-bg: var(--lt-bg-info-subtle);
|
|
387
388
|
}
|
|
388
389
|
|
|
390
|
+
/* bordered — adds a border on top of whatever appearance is active; a no-op on
|
|
391
|
+
outlined, which already sets the same border color. */
|
|
392
|
+
:host([bordered][variant='primary']) {
|
|
393
|
+
--_border-color: var(--lt-border-primary-strong);
|
|
394
|
+
}
|
|
395
|
+
:host([bordered][variant='secondary']) {
|
|
396
|
+
--_border-color: var(--lt-border-secondary-strong);
|
|
397
|
+
}
|
|
398
|
+
:host([bordered][variant='neutral']) {
|
|
399
|
+
--_border-color: var(--lt-border-strong);
|
|
400
|
+
}
|
|
401
|
+
:host([bordered][variant='success']) {
|
|
402
|
+
--_border-color: var(--lt-border-success-strong);
|
|
403
|
+
}
|
|
404
|
+
:host([bordered][variant='warning']) {
|
|
405
|
+
--_border-color: var(--lt-border-warning-strong);
|
|
406
|
+
}
|
|
407
|
+
:host([bordered][variant='error']) {
|
|
408
|
+
--_border-color: var(--lt-border-error-strong);
|
|
409
|
+
}
|
|
410
|
+
:host([bordered][variant='info']) {
|
|
411
|
+
--_border-color: var(--lt-border-info-strong);
|
|
412
|
+
}
|
|
413
|
+
|
|
389
414
|
/* round shape */
|
|
390
415
|
:host([round]) [part='base'] {
|
|
391
416
|
border-radius: 50%;
|
|
@@ -435,6 +460,7 @@ var IconButton = class extends ThemeableElement {
|
|
|
435
460
|
this.label = "";
|
|
436
461
|
this.variant = "neutral";
|
|
437
462
|
this.appearance = "ghost";
|
|
463
|
+
this.bordered = false;
|
|
438
464
|
this.size = "md";
|
|
439
465
|
this.disabled = false;
|
|
440
466
|
this.href = "";
|
|
@@ -481,6 +507,9 @@ __decorateClass([
|
|
|
481
507
|
__decorateClass([
|
|
482
508
|
property2({ reflect: true })
|
|
483
509
|
], IconButton.prototype, "appearance", 2);
|
|
510
|
+
__decorateClass([
|
|
511
|
+
property2({ type: Boolean, reflect: true })
|
|
512
|
+
], IconButton.prototype, "bordered", 2);
|
|
484
513
|
__decorateClass([
|
|
485
514
|
property2({ reflect: true })
|
|
486
515
|
], IconButton.prototype, "size", 2);
|
|
@@ -525,67 +554,103 @@ var textStyles = css4`
|
|
|
525
554
|
[part='base'] {
|
|
526
555
|
margin: 0;
|
|
527
556
|
color: inherit;
|
|
528
|
-
font-family: var(--lt-typography-
|
|
557
|
+
font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif);
|
|
529
558
|
}
|
|
530
559
|
|
|
531
560
|
/* ── Display ─────────────────────────────────────────────────────────── */
|
|
532
561
|
|
|
533
562
|
:host([variant='display-2xl']) [part='base'] {
|
|
563
|
+
font-family: var(
|
|
564
|
+
--lt-typography-fontFamilyHeading,
|
|
565
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
566
|
+
);
|
|
534
567
|
font-size: clamp(2.5rem, 6vw, 4.5rem);
|
|
535
568
|
font-weight: var(--lt-text-weight, 200);
|
|
536
569
|
line-height: 1.1;
|
|
537
|
-
letter-spacing: -0.02em;
|
|
570
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
538
571
|
}
|
|
539
572
|
|
|
540
573
|
:host([variant='display-xl']) [part='base'] {
|
|
574
|
+
font-family: var(
|
|
575
|
+
--lt-typography-fontFamilyHeading,
|
|
576
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
577
|
+
);
|
|
541
578
|
font-size: clamp(2rem, 5vw, 3.75rem);
|
|
542
579
|
font-weight: var(--lt-text-weight, 200);
|
|
543
580
|
line-height: 1.1;
|
|
544
|
-
letter-spacing: -0.02em;
|
|
581
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
545
582
|
}
|
|
546
583
|
|
|
547
584
|
:host([variant='display-lg']) [part='base'] {
|
|
585
|
+
font-family: var(
|
|
586
|
+
--lt-typography-fontFamilyHeading,
|
|
587
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
588
|
+
);
|
|
548
589
|
font-size: clamp(2rem, 4vw, 3rem);
|
|
549
590
|
font-weight: var(--lt-text-weight, 200);
|
|
550
591
|
line-height: 1.15;
|
|
551
|
-
letter-spacing: -0.01em;
|
|
592
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
552
593
|
}
|
|
553
594
|
|
|
554
595
|
/* ── Headings ─────────────────────────────────────────────────────────── */
|
|
555
596
|
|
|
556
597
|
:host([variant='h1']) [part='base'] {
|
|
598
|
+
font-family: var(
|
|
599
|
+
--lt-typography-fontFamilyHeading,
|
|
600
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
601
|
+
);
|
|
557
602
|
font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.5rem);
|
|
558
603
|
font-weight: var(--lt-text-weight, 600);
|
|
559
604
|
line-height: 1.2;
|
|
560
|
-
letter-spacing: -0.02em;
|
|
605
|
+
letter-spacing: var(--lt-text-tracking, -0.02em);
|
|
561
606
|
}
|
|
562
607
|
|
|
563
608
|
:host([variant='h2']) [part='base'] {
|
|
609
|
+
font-family: var(
|
|
610
|
+
--lt-typography-fontFamilyHeading,
|
|
611
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
612
|
+
);
|
|
564
613
|
font-size: clamp(1.5rem, 2vw + 0.5rem, 2rem);
|
|
565
614
|
font-weight: var(--lt-text-weight, 600);
|
|
566
615
|
line-height: 1.25;
|
|
567
|
-
letter-spacing: -0.01em;
|
|
616
|
+
letter-spacing: var(--lt-text-tracking, -0.01em);
|
|
568
617
|
}
|
|
569
618
|
|
|
570
619
|
:host([variant='h3']) [part='base'] {
|
|
620
|
+
font-family: var(
|
|
621
|
+
--lt-typography-fontFamilyHeading,
|
|
622
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
623
|
+
);
|
|
571
624
|
font-size: clamp(1.25rem, 1.5vw + 0.5rem, 1.5rem);
|
|
572
625
|
font-weight: var(--lt-text-weight, 600);
|
|
573
626
|
line-height: 1.3;
|
|
574
627
|
}
|
|
575
628
|
|
|
576
629
|
:host([variant='h4']) [part='base'] {
|
|
630
|
+
font-family: var(
|
|
631
|
+
--lt-typography-fontFamilyHeading,
|
|
632
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
633
|
+
);
|
|
577
634
|
font-size: 1.25rem;
|
|
578
635
|
font-weight: var(--lt-text-weight, 600);
|
|
579
636
|
line-height: 1.35;
|
|
580
637
|
}
|
|
581
638
|
|
|
582
639
|
:host([variant='h5']) [part='base'] {
|
|
640
|
+
font-family: var(
|
|
641
|
+
--lt-typography-fontFamilyHeading,
|
|
642
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
643
|
+
);
|
|
583
644
|
font-size: 1.125rem;
|
|
584
645
|
font-weight: var(--lt-text-weight, 600);
|
|
585
646
|
line-height: 1.4;
|
|
586
647
|
}
|
|
587
648
|
|
|
588
649
|
:host([variant='h6']) [part='base'] {
|
|
650
|
+
font-family: var(
|
|
651
|
+
--lt-typography-fontFamilyHeading,
|
|
652
|
+
var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif)
|
|
653
|
+
);
|
|
589
654
|
font-size: 1rem;
|
|
590
655
|
font-weight: var(--lt-text-weight, 600);
|
|
591
656
|
line-height: 1.4;
|
|
@@ -624,7 +689,7 @@ var textStyles = css4`
|
|
|
624
689
|
font-size: 0.6875rem;
|
|
625
690
|
font-weight: var(--lt-text-weight, 600);
|
|
626
691
|
line-height: 1.2;
|
|
627
|
-
letter-spacing: 0.08em;
|
|
692
|
+
letter-spacing: var(--lt-text-tracking, 0.08em);
|
|
628
693
|
text-transform: uppercase;
|
|
629
694
|
}
|
|
630
695
|
|
|
@@ -14,6 +14,8 @@ import '../text/text';
|
|
|
14
14
|
* @part header - The header bar (contains label and close button)
|
|
15
15
|
* @part close-button - The close button inside the header
|
|
16
16
|
* @part body - The scrollable content area wrapping the default slot
|
|
17
|
+
*
|
|
18
|
+
* @cssprop [--lt-sidepanel-shadow] - Overrides the panel's box-shadow, for all anchor positions.
|
|
17
19
|
*/
|
|
18
20
|
export declare class SidePanel extends ThemeableElement {
|
|
19
21
|
static styles: import("lit").CSSResult[];
|