@eaera-com/eaera-widgets-v2 0.1.63 → 0.1.65
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/dist/design-system/components/_alert.scss +150 -0
- package/dist/design-system/components/_auto-complete.scss +165 -0
- package/dist/design-system/components/_avatar-group.scss +25 -0
- package/dist/design-system/components/_avatar.scss +40 -0
- package/dist/design-system/components/_badge.scss +80 -0
- package/dist/design-system/components/_breadcrumb.scss +91 -0
- package/dist/design-system/components/_button.scss +378 -0
- package/dist/design-system/components/_card.scss +27 -0
- package/dist/design-system/components/_carousel.scss +104 -0
- package/dist/design-system/components/_cascader.scss +705 -0
- package/dist/design-system/components/_checkbox-list.scss +18 -0
- package/dist/design-system/components/_checkbox.scss +117 -0
- package/dist/design-system/components/_collapse.scss +84 -0
- package/dist/design-system/components/_color-picker.scss +195 -0
- package/dist/design-system/components/_country-flag.scss +56 -0
- package/dist/design-system/components/_currency-icon.scss +19 -0
- package/dist/design-system/components/_date-picker.scss +748 -0
- package/dist/design-system/components/_dialog.scss +101 -0
- package/dist/design-system/components/_divider.scss +7 -0
- package/dist/design-system/components/_drawer.scss +41 -0
- package/dist/design-system/components/_dropdown.scss +69 -0
- package/dist/design-system/components/_empty.scss +101 -0
- package/dist/design-system/components/_form.scss +151 -0
- package/dist/design-system/components/_growth-balance-profit-widget.scss +95 -0
- package/dist/design-system/components/_input-code.scss +116 -0
- package/dist/design-system/components/_input-number.scss +233 -0
- package/dist/design-system/components/_input-tag.scss +212 -0
- package/dist/design-system/components/_input.scss +239 -0
- package/dist/design-system/components/_link.scss +64 -0
- package/dist/design-system/components/_loading.scss +89 -0
- package/dist/design-system/components/_menu.scss +578 -0
- package/dist/design-system/components/_message-box.scss +78 -0
- package/dist/design-system/components/_message.scss +187 -0
- package/dist/design-system/components/_monthly-gain-widget.scss +114 -0
- package/dist/design-system/components/_pagination.scss +356 -0
- package/dist/design-system/components/_pl-calendar-widget.scss +171 -0
- package/dist/design-system/components/_popconfirm.scss +57 -0
- package/dist/design-system/components/_popper.scss +267 -0
- package/dist/design-system/components/_progress.scss +153 -0
- package/dist/design-system/components/_radio.scss +68 -0
- package/dist/design-system/components/_segmented.scss +215 -0
- package/dist/design-system/components/_select-country.scss +182 -0
- package/dist/design-system/components/_select.scss +235 -0
- package/dist/design-system/components/_skeleton.scss +146 -0
- package/dist/design-system/components/_slider.scss +142 -0
- package/dist/design-system/components/_spinner.scss +73 -0
- package/dist/design-system/components/_steps.scss +292 -0
- package/dist/design-system/components/_switch.scss +89 -0
- package/dist/design-system/components/_switcher.scss +110 -0
- package/dist/design-system/components/_table.scss +580 -0
- package/dist/design-system/components/_tabs.scss +260 -0
- package/dist/design-system/components/_tag.scss +208 -0
- package/dist/design-system/components/_time-picker.scss +255 -0
- package/dist/design-system/components/_time-select.scss +167 -0
- package/dist/design-system/components/_timeline.scss +99 -0
- package/dist/design-system/components/_tooltip.scss +19 -0
- package/dist/design-system/components/_topbar-menu.scss +67 -0
- package/dist/design-system/components/_trade-volume-widget.scss +114 -0
- package/dist/design-system/components/_transfer.scss +241 -0
- package/dist/design-system/components/_tree-select.scss +198 -0
- package/dist/design-system/components/_tree.scss +108 -0
- package/dist/design-system/components/_upload.scss +226 -0
- package/dist/design-system/themes/aurora/bridges/_element-plus-bridge.scss +58 -0
- package/dist/design-system/themes/aurora/elevation/_elevation-tokens.scss +67 -0
- package/dist/design-system/themes/aurora/elevation/_elevation-utils.scss +94 -0
- package/dist/design-system/themes/aurora/index.scss +133 -0
- package/dist/design-system/themes/aurora/layers/_layer1-palettes.scss +289 -0
- package/dist/design-system/themes/aurora/layers/_layer2-alias.scss +250 -0
- package/dist/design-system/themes/aurora/layers/_layer3-tokens.scss +242 -0
- package/dist/design-system/themes/aurora/themes/_dark-mode.scss +177 -0
- package/dist/design-system/themes/aurora/themes/projects/base.scss +11 -0
- package/dist/design-system/themes/aurora/tokens/_border-radius.scss +28 -0
- package/dist/design-system/themes/aurora/tokens/_control-height.scss +18 -0
- package/dist/design-system/themes/aurora/tokens/_screen-size.scss +10 -0
- package/dist/design-system/themes/aurora/tokens/_spacing.scss +29 -0
- package/dist/design-system/themes/aurora/typography/_typography-primitives.scss +11 -0
- package/dist/design-system/themes/aurora/typography/_typography-semantic.scss +5 -0
- package/dist/design-system/themes/aurora/typography/_typography-tokens.scss +185 -0
- package/dist/design-system/themes/aurora/typography/_typography-utils.scss +375 -0
- package/dist/design-system/themes/core/bridges/_element-plus-bridge.scss +82 -0
- package/dist/design-system/themes/core/elevation/_elevation-tokens.scss +67 -0
- package/dist/design-system/themes/core/elevation/_elevation-utils.scss +94 -0
- package/dist/design-system/themes/core/index.scss +130 -0
- package/dist/design-system/themes/core/layers/_layer1-palettes.scss +289 -0
- package/dist/design-system/themes/core/layers/_layer2-alias.scss +242 -0
- package/dist/design-system/themes/core/layers/_layer3-tokens.scss +220 -0
- package/dist/design-system/themes/core/themes/_dark-mode.scss +165 -0
- package/dist/design-system/themes/core/themes/projects/base.scss +11 -0
- package/dist/design-system/themes/core/tokens/_border-radius.scss +28 -0
- package/dist/design-system/themes/core/tokens/_control-height.scss +18 -0
- package/dist/design-system/themes/core/tokens/_screen-size.scss +10 -0
- package/dist/design-system/themes/core/tokens/_spacing.scss +29 -0
- package/dist/design-system/themes/core/typography/_typography-primitives.scss +11 -0
- package/dist/design-system/themes/core/typography/_typography-semantic.scss +5 -0
- package/dist/design-system/themes/core/typography/_typography-tokens.scss +185 -0
- package/dist/design-system/themes/core/typography/_typography-utils.scss +375 -0
- package/package.json +4 -3
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
// NOTE: Google Fonts (Geist) are loaded via <link> tags in nuxt.config.ts app.head
|
|
2
|
+
// (preconnect + stylesheet) instead of a render-blocking CSS @import.
|
|
3
|
+
|
|
4
|
+
// ============================================================================
|
|
5
|
+
// TYPOGRAPHY TOKENS
|
|
6
|
+
// ============================================================================
|
|
7
|
+
// Typography system for clear, scalable, and consistent interfaces
|
|
8
|
+
// Source: Figma UI Kit Production - Typography v1.0.0
|
|
9
|
+
// File: https://www.figma.com/design/I9lA8XsNx4Tmn9d0dysJ2A/UI-KIT---PRODUCT
|
|
10
|
+
// Frame: Typography (36924:101)
|
|
11
|
+
//
|
|
12
|
+
// Font: Geist
|
|
13
|
+
// Naming: typo/{category}-{size}/{property}
|
|
14
|
+
// Categories: dis (Display), head (Headline), title (Title), label (Label), body (Body)
|
|
15
|
+
// Sizes: lg (Large), md (Medium), sm (Small)
|
|
16
|
+
// Properties: font, sz, line-hg, wg, tracking
|
|
17
|
+
// IMPORTANT: Variable names MUST match Figma exactly:
|
|
18
|
+
// - font (NOT family)
|
|
19
|
+
// - sz (NOT size)
|
|
20
|
+
// - line-hg (NOT line-height)
|
|
21
|
+
// - wg (NOT weight)
|
|
22
|
+
// - tracking (NOT letter-spacing)
|
|
23
|
+
// ============================================================================
|
|
24
|
+
|
|
25
|
+
:root {
|
|
26
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
27
|
+
// DISPLAY (Largest text: Hero sections, marketing pages)
|
|
28
|
+
// Frame 36924:291 onwards
|
|
29
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
30
|
+
|
|
31
|
+
// Display Large - 57/64 Regular (Frame 36924:292)
|
|
32
|
+
// typo/dis-lg/{property}
|
|
33
|
+
--er-typo-dis-lg-font: var(--er-font-brand);
|
|
34
|
+
--er-typo-dis-lg-sz: 57px;
|
|
35
|
+
--er-typo-dis-lg-line-hg: 64px;
|
|
36
|
+
--er-typo-dis-lg-wg: var(--er-wg-regular); // Regular
|
|
37
|
+
--er-typo-dis-lg-wg-em: var(--er-wg-semi); // Semi
|
|
38
|
+
--er-typo-dis-lg-tracking: -0.25px;
|
|
39
|
+
|
|
40
|
+
// Display Medium - 45/52 Regular (Frame 36924:299)
|
|
41
|
+
// typo/dis-md/{property}
|
|
42
|
+
--er-typo-dis-md-font: var(--er-font-brand);
|
|
43
|
+
--er-typo-dis-md-sz: 45px;
|
|
44
|
+
--er-typo-dis-md-line-hg: 52px;
|
|
45
|
+
--er-typo-dis-md-wg: var(--er-wg-regular); // Regular
|
|
46
|
+
--er-typo-dis-md-wg-em: var(--er-wg-semi); // Semi
|
|
47
|
+
--er-typo-dis-md-tracking: 0;
|
|
48
|
+
|
|
49
|
+
// Display Small - 36/44 Regular (Frame 36924:306)
|
|
50
|
+
// typo/dis-sm/{property}
|
|
51
|
+
--er-typo-dis-sm-font: var(--er-font-brand);
|
|
52
|
+
--er-typo-dis-sm-sz: 36px;
|
|
53
|
+
--er-typo-dis-sm-line-hg: 44px;
|
|
54
|
+
--er-typo-dis-sm-wg: var(--er-wg-regular); // Regular
|
|
55
|
+
--er-typo-dis-sm-wg-em: var(--er-wg-semi); // Semi
|
|
56
|
+
--er-typo-dis-sm-tracking: 0;
|
|
57
|
+
|
|
58
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
59
|
+
// HEADLINE (Page titles, section headers)
|
|
60
|
+
// Frame 36924:313 onwards
|
|
61
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
62
|
+
|
|
63
|
+
// Headline Large - 32/40 Regular (Frame 36924:313)
|
|
64
|
+
// typo/head-lg/{property}
|
|
65
|
+
--er-typo-head-lg-font: var(--er-font-brand);
|
|
66
|
+
--er-typo-head-lg-sz: 32px;
|
|
67
|
+
--er-typo-head-lg-line-hg: 40px;
|
|
68
|
+
--er-typo-head-lg-wg: var(--er-wg-regular); // Regular
|
|
69
|
+
--er-typo-head-lg-wg-em: var(--er-wg-semi); // Semi
|
|
70
|
+
--er-typo-head-lg-tracking: 0;
|
|
71
|
+
|
|
72
|
+
// Headline Medium - 28/36 Regular (Frame 36924:320)
|
|
73
|
+
// typo/head-md/{property}
|
|
74
|
+
--er-typo-head-md-font: var(--er-font-brand);
|
|
75
|
+
--er-typo-head-md-sz: 28px;
|
|
76
|
+
--er-typo-head-md-line-hg: 36px;
|
|
77
|
+
--er-typo-head-md-wg: var(--er-wg-regular); // Regular
|
|
78
|
+
--er-typo-head-md-wg-em: var(--er-wg-semi); // Semi
|
|
79
|
+
--er-typo-head-md-tracking: 0;
|
|
80
|
+
|
|
81
|
+
// Headline Small - 24/32 Regular (Frame 36924:327)
|
|
82
|
+
// typo/head-sm/{property}
|
|
83
|
+
--er-typo-head-sm-font: var(--er-font-brand);
|
|
84
|
+
--er-typo-head-sm-sz: 24px;
|
|
85
|
+
--er-typo-head-sm-line-hg: 32px;
|
|
86
|
+
--er-typo-head-sm-wg: var(--er-wg-regular); // Regular
|
|
87
|
+
--er-typo-head-sm-wg-em: var(--er-wg-semi); // Semi
|
|
88
|
+
--er-typo-head-sm-tracking: 0;
|
|
89
|
+
|
|
90
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
91
|
+
// TITLE (Card titles, dialog headers, component headings)
|
|
92
|
+
// Frame 36924:334 onwards
|
|
93
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
94
|
+
|
|
95
|
+
// Title Large - 20/28 Regular (Frame 36924:334)
|
|
96
|
+
// typo/title-lg/{property}
|
|
97
|
+
--er-typo-title-lg-font: var(--er-font-brand);
|
|
98
|
+
--er-typo-title-lg-sz: 20px;
|
|
99
|
+
--er-typo-title-lg-line-hg: 28px;
|
|
100
|
+
--er-typo-title-lg-wg: var(--er-wg-semi); // Semi
|
|
101
|
+
--er-typo-title-lg-wg-em: var(--er-wg-bold); // Bold
|
|
102
|
+
--er-typo-title-lg-tracking: 0;
|
|
103
|
+
|
|
104
|
+
// Title Medium - 16/24 Medium (Frame 36924:341)
|
|
105
|
+
// typo/title-md/{property}
|
|
106
|
+
--er-typo-title-md-font: var(--er-font-brand);
|
|
107
|
+
--er-typo-title-md-sz: 16px;
|
|
108
|
+
--er-typo-title-md-line-hg: 24px;
|
|
109
|
+
--er-typo-title-md-wg: var(--er-wg-semi); // Medium
|
|
110
|
+
--er-typo-title-md-wg-em: var(--er-wg-bold); // Semi Bold
|
|
111
|
+
--er-typo-title-md-tracking: 0.15px;
|
|
112
|
+
|
|
113
|
+
// Title Small - 14/20 Medium (Frame 36924:348)
|
|
114
|
+
// typo/title-sm/{property}
|
|
115
|
+
--er-typo-title-sm-font: var(--er-font-brand);
|
|
116
|
+
--er-typo-title-sm-sz: 14px;
|
|
117
|
+
--er-typo-title-sm-line-hg: 20px;
|
|
118
|
+
--er-typo-title-sm-wg: var(--er-wg-semi); // Medium
|
|
119
|
+
--er-typo-title-sm-wg-em: var(--er-wg-bold); // Semi Bold
|
|
120
|
+
--er-typo-title-sm-tracking: 0.1px;
|
|
121
|
+
|
|
122
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
123
|
+
// LABEL (Form labels, button text, badges, chips)
|
|
124
|
+
// Frame 36924:355 onwards
|
|
125
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
126
|
+
|
|
127
|
+
// Label Large - 14/20 Medium (Frame 36924:355)
|
|
128
|
+
// typo/label-lg/{property}
|
|
129
|
+
--er-typo-label-lg-font: var(--er-font-brand);
|
|
130
|
+
--er-typo-label-lg-sz: 14px;
|
|
131
|
+
--er-typo-label-lg-line-hg: 20px;
|
|
132
|
+
--er-typo-label-lg-wg: var(--er-wg-semi); // Medium
|
|
133
|
+
--er-typo-label-lg-wg-em: var(--er-wg-bold); // Semi Bold
|
|
134
|
+
--er-typo-label-lg-tracking: 0.1px;
|
|
135
|
+
|
|
136
|
+
// Label Medium - 12/16 Medium (Frame 36924:362)
|
|
137
|
+
// typo/label-md/{property}
|
|
138
|
+
--er-typo-label-md-font: var(--er-font-brand);
|
|
139
|
+
--er-typo-label-md-sz: 12px;
|
|
140
|
+
--er-typo-label-md-line-hg: 16px;
|
|
141
|
+
--er-typo-label-md-wg: var(--er-wg-semi); // Semi Bold
|
|
142
|
+
--er-typo-label-md-wg-em: var(--er-wg-bold); // Bold
|
|
143
|
+
--er-typo-label-md-tracking: 0.5px;
|
|
144
|
+
|
|
145
|
+
// Label Small - 11/16 Medium (Frame 36924:369)
|
|
146
|
+
// typo/label-sm/{property}
|
|
147
|
+
--er-typo-label-sm-font: var(--er-font-brand);
|
|
148
|
+
--er-typo-label-sm-sz: 11px;
|
|
149
|
+
--er-typo-label-sm-line-hg: 16px;
|
|
150
|
+
--er-typo-label-sm-wg: var(--er-wg-semi); // Medium
|
|
151
|
+
--er-typo-label-sm-wg-em: var(--er-wg-bold); // Semi Bold
|
|
152
|
+
--er-typo-label-sm-tracking: 0.5px;
|
|
153
|
+
|
|
154
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
155
|
+
// BODY (Paragraphs, descriptions, table content)
|
|
156
|
+
// Frame 36924:376 onwards
|
|
157
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
158
|
+
|
|
159
|
+
// Body Large - 16/24 Regular (Frame 36924:376)
|
|
160
|
+
// typo/body-lg/{property}
|
|
161
|
+
--er-typo-body-lg-font: var(--er-font-brand);
|
|
162
|
+
--er-typo-body-lg-sz: 16px;
|
|
163
|
+
--er-typo-body-lg-line-hg: 24px;
|
|
164
|
+
--er-typo-body-lg-wg: var(--er-wg-regular); // Regular
|
|
165
|
+
--er-typo-body-lg-wg-em: var(--er-wg-semi); // Semi
|
|
166
|
+
--er-typo-body-lg-tracking: 0.5px;
|
|
167
|
+
|
|
168
|
+
// Body Medium - 14/20 Regular (Frame 36924:383)
|
|
169
|
+
// typo/body-md/{property}
|
|
170
|
+
--er-typo-body-md-font: var(--er-font-brand);
|
|
171
|
+
--er-typo-body-md-sz: 14px;
|
|
172
|
+
--er-typo-body-md-line-hg: 20px;
|
|
173
|
+
--er-typo-body-md-wg: var(--er-wg-regular); // Regular
|
|
174
|
+
--er-typo-body-md-wg-em: var(--er-wg-semi); // Semi
|
|
175
|
+
--er-typo-body-md-tracking: 0.25px;
|
|
176
|
+
|
|
177
|
+
// Body Small - 12/16 Regular (Frame 36924:390)
|
|
178
|
+
// typo/body-sm/{property}
|
|
179
|
+
--er-typo-body-sm-font: var(--er-font-brand);
|
|
180
|
+
--er-typo-body-sm-sz: 12px;
|
|
181
|
+
--er-typo-body-sm-line-hg: 16px;
|
|
182
|
+
--er-typo-body-sm-wg: var(--er-wg-regular); // Regular
|
|
183
|
+
--er-typo-body-sm-wg-em: var(--er-wg-semi); // Semi
|
|
184
|
+
--er-typo-body-sm-tracking: 0.4px;
|
|
185
|
+
}
|
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// TYPOGRAPHY UTILITIES
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// Helper mixins and classes for applying typography tokens
|
|
5
|
+
// Usage:
|
|
6
|
+
// @use '../typography/typography-utils' as typo;
|
|
7
|
+
// .my-element { @include typo.display-lg; }
|
|
8
|
+
// Or use CSS classes directly: <h1 class="typo-dis-lg">
|
|
9
|
+
//
|
|
10
|
+
// IMPORTANT: Uses Figma naming convention:
|
|
11
|
+
// - font (NOT family)
|
|
12
|
+
// - sz (NOT size)
|
|
13
|
+
// - line-hg (NOT line-height)
|
|
14
|
+
// - wg (NOT weight)
|
|
15
|
+
// - tracking (NOT letter-spacing)
|
|
16
|
+
// ============================================================================
|
|
17
|
+
|
|
18
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
19
|
+
// MIXINS - Use in SCSS
|
|
20
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
21
|
+
|
|
22
|
+
// Display styles
|
|
23
|
+
@mixin display-lg {
|
|
24
|
+
font-family: var(--er-typo-dis-lg-font);
|
|
25
|
+
font-size: var(--er-typo-dis-lg-sz);
|
|
26
|
+
line-height: var(--er-typo-dis-lg-line-hg);
|
|
27
|
+
font-weight: var(--er-typo-dis-lg-wg);
|
|
28
|
+
letter-spacing: var(--er-typo-dis-lg-tracking);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@mixin display-lg-em {
|
|
32
|
+
font-family: var(--er-typo-dis-lg-font);
|
|
33
|
+
font-size: var(--er-typo-dis-lg-sz);
|
|
34
|
+
line-height: var(--er-typo-dis-lg-line-hg);
|
|
35
|
+
font-weight: var(--er-typo-dis-lg-wg-em);
|
|
36
|
+
letter-spacing: var(--er-typo-dis-lg-tracking);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@mixin display-md {
|
|
40
|
+
font-family: var(--er-typo-dis-md-font);
|
|
41
|
+
font-size: var(--er-typo-dis-md-sz);
|
|
42
|
+
line-height: var(--er-typo-dis-md-line-hg);
|
|
43
|
+
font-weight: var(--er-typo-dis-md-wg);
|
|
44
|
+
letter-spacing: var(--er-typo-dis-md-tracking);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@mixin display-md-em {
|
|
48
|
+
font-family: var(--er-typo-dis-md-font);
|
|
49
|
+
font-size: var(--er-typo-dis-md-sz);
|
|
50
|
+
line-height: var(--er-typo-dis-md-line-hg);
|
|
51
|
+
font-weight: var(--er-typo-dis-md-wg-em);
|
|
52
|
+
letter-spacing: var(--er-typo-dis-md-tracking);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@mixin display-sm {
|
|
56
|
+
font-family: var(--er-typo-dis-sm-font);
|
|
57
|
+
font-size: var(--er-typo-dis-sm-sz);
|
|
58
|
+
line-height: var(--er-typo-dis-sm-line-hg);
|
|
59
|
+
font-weight: var(--er-typo-dis-sm-wg);
|
|
60
|
+
letter-spacing: var(--er-typo-dis-sm-tracking);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@mixin display-sm-em {
|
|
64
|
+
font-family: var(--er-typo-dis-sm-font);
|
|
65
|
+
font-size: var(--er-typo-dis-sm-sz);
|
|
66
|
+
line-height: var(--er-typo-dis-sm-line-hg);
|
|
67
|
+
font-weight: var(--er-typo-dis-sm-wg-em);
|
|
68
|
+
letter-spacing: var(--er-typo-dis-sm-tracking);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Headline styles
|
|
72
|
+
@mixin headline-lg {
|
|
73
|
+
font-family: var(--er-typo-head-lg-font);
|
|
74
|
+
font-size: var(--er-typo-head-lg-sz);
|
|
75
|
+
line-height: var(--er-typo-head-lg-line-hg);
|
|
76
|
+
font-weight: var(--er-typo-head-lg-wg);
|
|
77
|
+
letter-spacing: var(--er-typo-head-lg-tracking);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@mixin headline-lg-em {
|
|
81
|
+
font-family: var(--er-typo-head-lg-font);
|
|
82
|
+
font-size: var(--er-typo-head-lg-sz);
|
|
83
|
+
line-height: var(--er-typo-head-lg-line-hg);
|
|
84
|
+
font-weight: var(--er-typo-head-lg-wg-em);
|
|
85
|
+
letter-spacing: var(--er-typo-head-lg-tracking);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@mixin headline-md {
|
|
89
|
+
font-family: var(--er-typo-head-md-font);
|
|
90
|
+
font-size: var(--er-typo-head-md-sz);
|
|
91
|
+
line-height: var(--er-typo-head-md-line-hg);
|
|
92
|
+
font-weight: var(--er-typo-head-md-wg);
|
|
93
|
+
letter-spacing: var(--er-typo-head-md-tracking);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
@mixin headline-md-em {
|
|
97
|
+
font-family: var(--er-typo-head-md-font);
|
|
98
|
+
font-size: var(--er-typo-head-md-sz);
|
|
99
|
+
line-height: var(--er-typo-head-md-line-hg);
|
|
100
|
+
font-weight: var(--er-typo-head-md-wg-em);
|
|
101
|
+
letter-spacing: var(--er-typo-head-md-tracking);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
@mixin headline-sm {
|
|
105
|
+
font-family: var(--er-typo-head-sm-font);
|
|
106
|
+
font-size: var(--er-typo-head-sm-sz);
|
|
107
|
+
line-height: var(--er-typo-head-sm-line-hg);
|
|
108
|
+
font-weight: var(--er-typo-head-sm-wg);
|
|
109
|
+
letter-spacing: var(--er-typo-head-sm-tracking);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
@mixin headline-sm-em {
|
|
113
|
+
font-family: var(--er-typo-head-sm-font);
|
|
114
|
+
font-size: var(--er-typo-head-sm-sz);
|
|
115
|
+
line-height: var(--er-typo-head-sm-line-hg);
|
|
116
|
+
font-weight: var(--er-typo-head-sm-wg-em);
|
|
117
|
+
letter-spacing: var(--er-typo-head-sm-tracking);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Title styles
|
|
121
|
+
@mixin title-lg {
|
|
122
|
+
font-family: var(--er-typo-title-lg-font);
|
|
123
|
+
font-size: var(--er-typo-title-lg-sz);
|
|
124
|
+
line-height: var(--er-typo-title-lg-line-hg);
|
|
125
|
+
font-weight: var(--er-typo-title-lg-wg);
|
|
126
|
+
letter-spacing: var(--er-typo-title-lg-tracking);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
@mixin title-lg-em {
|
|
130
|
+
font-family: var(--er-typo-title-lg-font);
|
|
131
|
+
font-size: var(--er-typo-title-lg-sz);
|
|
132
|
+
font-weight: var(--er-typo-title-lg-wg-em);
|
|
133
|
+
line-height: var(--er-typo-title-lg-line-hg);
|
|
134
|
+
letter-spacing: var(--er-typo-title-lg-tracking);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
@mixin title-md {
|
|
138
|
+
font-family: var(--er-typo-title-md-font);
|
|
139
|
+
font-size: var(--er-typo-title-md-sz);
|
|
140
|
+
line-height: var(--er-typo-title-md-line-hg);
|
|
141
|
+
font-weight: var(--er-typo-title-md-wg);
|
|
142
|
+
letter-spacing: var(--er-typo-title-md-tracking);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
@mixin title-md-em {
|
|
146
|
+
font-family: var(--er-typo-title-md-font);
|
|
147
|
+
font-size: var(--er-typo-title-md-sz);
|
|
148
|
+
line-height: var(--er-typo-title-md-line-hg);
|
|
149
|
+
font-weight: var(--er-typo-title-md-wg-em);
|
|
150
|
+
letter-spacing: var(--er-typo-title-md-tracking);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
@mixin title-sm {
|
|
154
|
+
font-family: var(--er-typo-title-sm-font);
|
|
155
|
+
font-size: var(--er-typo-title-sm-sz);
|
|
156
|
+
line-height: var(--er-typo-title-sm-line-hg);
|
|
157
|
+
font-weight: var(--er-typo-title-sm-wg);
|
|
158
|
+
letter-spacing: var(--er-typo-title-sm-tracking);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
@mixin title-sm-em {
|
|
162
|
+
font-family: var(--er-typo-title-sm-font);
|
|
163
|
+
font-size: var(--er-typo-title-sm-sz);
|
|
164
|
+
line-height: var(--er-typo-title-sm-line-hg);
|
|
165
|
+
font-weight: var(--er-typo-title-sm-wg-em);
|
|
166
|
+
letter-spacing: var(--er-typo-title-sm-tracking);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// Label styles
|
|
170
|
+
@mixin label-lg {
|
|
171
|
+
font-family: var(--er-typo-label-lg-font);
|
|
172
|
+
font-size: var(--er-typo-label-lg-sz);
|
|
173
|
+
line-height: var(--er-typo-label-lg-line-hg);
|
|
174
|
+
font-weight: var(--er-typo-label-lg-wg);
|
|
175
|
+
letter-spacing: var(--er-typo-label-lg-tracking);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
@mixin label-lg-em {
|
|
179
|
+
font-family: var(--er-typo-label-lg-font);
|
|
180
|
+
font-size: var(--er-typo-label-lg-sz);
|
|
181
|
+
line-height: var(--er-typo-label-lg-line-hg);
|
|
182
|
+
font-weight: var(--er-typo-label-lg-wg-em);
|
|
183
|
+
letter-spacing: var(--er-typo-label-lg-tracking);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
@mixin label-md {
|
|
187
|
+
font-family: var(--er-typo-label-md-font);
|
|
188
|
+
font-size: var(--er-typo-label-md-sz);
|
|
189
|
+
line-height: var(--er-typo-label-md-line-hg);
|
|
190
|
+
font-weight: var(--er-typo-label-md-wg);
|
|
191
|
+
letter-spacing: var(--er-typo-label-md-tracking);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
@mixin label-md-em {
|
|
195
|
+
font-family: var(--er-typo-label-md-font);
|
|
196
|
+
font-size: var(--er-typo-label-md-sz);
|
|
197
|
+
line-height: var(--er-typo-label-md-line-hg);
|
|
198
|
+
font-weight: var(--er-typo-label-md-wg-em);
|
|
199
|
+
letter-spacing: var(--er-typo-label-md-tracking);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
@mixin label-sm {
|
|
203
|
+
font-family: var(--er-typo-label-sm-font);
|
|
204
|
+
font-size: var(--er-typo-label-sm-sz);
|
|
205
|
+
line-height: var(--er-typo-label-sm-line-hg);
|
|
206
|
+
font-weight: var(--er-typo-label-sm-wg);
|
|
207
|
+
letter-spacing: var(--er-typo-label-sm-tracking);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
@mixin label-sm-em {
|
|
211
|
+
font-family: var(--er-typo-label-sm-font);
|
|
212
|
+
font-size: var(--er-typo-label-sm-sz);
|
|
213
|
+
line-height: var(--er-typo-label-sm-line-hg);
|
|
214
|
+
font-weight: var(--er-typo-label-sm-wg-em);
|
|
215
|
+
letter-spacing: var(--er-typo-label-sm-tracking);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// Body styles
|
|
219
|
+
@mixin body-lg {
|
|
220
|
+
font-family: var(--er-typo-body-lg-font);
|
|
221
|
+
font-size: var(--er-typo-body-lg-sz);
|
|
222
|
+
line-height: var(--er-typo-body-lg-line-hg);
|
|
223
|
+
font-weight: var(--er-typo-body-lg-wg);
|
|
224
|
+
letter-spacing: var(--er-typo-body-lg-tracking);
|
|
225
|
+
font-variant-numeric: lining-nums tabular-nums;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
@mixin body-lg-em {
|
|
229
|
+
font-family: var(--er-typo-body-lg-font);
|
|
230
|
+
font-size: var(--er-typo-body-lg-sz);
|
|
231
|
+
line-height: var(--er-typo-body-lg-line-hg);
|
|
232
|
+
font-weight: var(--er-typo-body-lg-wg-em);
|
|
233
|
+
letter-spacing: var(--er-typo-body-lg-tracking);
|
|
234
|
+
font-variant-numeric: lining-nums tabular-nums;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
@mixin body-md {
|
|
238
|
+
font-family: var(--er-typo-body-md-font);
|
|
239
|
+
font-size: var(--er-typo-body-md-sz);
|
|
240
|
+
line-height: var(--er-typo-body-md-line-hg);
|
|
241
|
+
font-weight: var(--er-typo-body-md-wg);
|
|
242
|
+
letter-spacing: var(--er-typo-body-md-tracking);
|
|
243
|
+
font-variant-numeric: lining-nums tabular-nums;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
@mixin body-md-em {
|
|
247
|
+
font-family: var(--er-typo-body-md-font);
|
|
248
|
+
font-size: var(--er-typo-body-md-sz);
|
|
249
|
+
line-height: var(--er-typo-body-md-line-hg);
|
|
250
|
+
font-weight: var(--er-typo-body-md-wg-em);
|
|
251
|
+
letter-spacing: var(--er-typo-body-md-tracking);
|
|
252
|
+
font-variant-numeric: lining-nums tabular-nums;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
@mixin body-sm {
|
|
256
|
+
font-family: var(--er-typo-body-sm-font);
|
|
257
|
+
font-size: var(--er-typo-body-sm-sz);
|
|
258
|
+
line-height: var(--er-typo-body-sm-line-hg);
|
|
259
|
+
font-weight: var(--er-typo-body-sm-wg);
|
|
260
|
+
letter-spacing: var(--er-typo-body-sm-tracking);
|
|
261
|
+
font-variant-numeric: lining-nums tabular-nums;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
@mixin body-sm-em {
|
|
265
|
+
font-family: var(--er-typo-body-sm-font);
|
|
266
|
+
font-size: var(--er-typo-body-sm-sz);
|
|
267
|
+
line-height: var(--er-typo-body-sm-line-hg);
|
|
268
|
+
font-weight: var(--er-typo-body-sm-wg-em);
|
|
269
|
+
letter-spacing: var(--er-typo-body-sm-tracking);
|
|
270
|
+
font-variant-numeric: lining-nums tabular-nums;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
274
|
+
// UTILITY CLASSES - Use in HTML
|
|
275
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
276
|
+
|
|
277
|
+
// Display classes
|
|
278
|
+
.typo-dis-lg {
|
|
279
|
+
@include display-lg;
|
|
280
|
+
}
|
|
281
|
+
.typo-dis-lg-em {
|
|
282
|
+
@include display-lg-em;
|
|
283
|
+
}
|
|
284
|
+
.typo-dis-md {
|
|
285
|
+
@include display-md;
|
|
286
|
+
}
|
|
287
|
+
.typo-dis-md-em {
|
|
288
|
+
@include display-md-em;
|
|
289
|
+
}
|
|
290
|
+
.typo-dis-sm {
|
|
291
|
+
@include display-sm;
|
|
292
|
+
}
|
|
293
|
+
.typo-dis-sm-em {
|
|
294
|
+
@include display-sm-em;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
// Headline classes
|
|
298
|
+
.typo-head-lg {
|
|
299
|
+
@include headline-lg;
|
|
300
|
+
}
|
|
301
|
+
.typo-head-lg-em {
|
|
302
|
+
@include headline-lg-em;
|
|
303
|
+
}
|
|
304
|
+
.typo-head-md {
|
|
305
|
+
@include headline-md;
|
|
306
|
+
}
|
|
307
|
+
.typo-head-md-em {
|
|
308
|
+
@include headline-md-em;
|
|
309
|
+
}
|
|
310
|
+
.typo-head-sm {
|
|
311
|
+
@include headline-sm;
|
|
312
|
+
}
|
|
313
|
+
.typo-head-sm-em {
|
|
314
|
+
@include headline-sm-em;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
// Title classes
|
|
318
|
+
.typo-title-lg {
|
|
319
|
+
@include title-lg;
|
|
320
|
+
}
|
|
321
|
+
.typo-title-lg-em {
|
|
322
|
+
@include title-lg-em;
|
|
323
|
+
}
|
|
324
|
+
.typo-title-md {
|
|
325
|
+
@include title-md;
|
|
326
|
+
}
|
|
327
|
+
.typo-title-md-em {
|
|
328
|
+
@include title-md-em;
|
|
329
|
+
}
|
|
330
|
+
.typo-title-sm {
|
|
331
|
+
@include title-sm;
|
|
332
|
+
}
|
|
333
|
+
.typo-title-sm-em {
|
|
334
|
+
@include title-sm-em;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
// Label classes
|
|
338
|
+
.typo-label-lg {
|
|
339
|
+
@include label-lg;
|
|
340
|
+
}
|
|
341
|
+
.typo-label-lg-em {
|
|
342
|
+
@include label-lg-em;
|
|
343
|
+
}
|
|
344
|
+
.typo-label-md {
|
|
345
|
+
@include label-md;
|
|
346
|
+
}
|
|
347
|
+
.typo-label-md-em {
|
|
348
|
+
@include label-md-em;
|
|
349
|
+
}
|
|
350
|
+
.typo-label-sm {
|
|
351
|
+
@include label-sm;
|
|
352
|
+
}
|
|
353
|
+
.typo-label-sm-em {
|
|
354
|
+
@include label-sm-em;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
// Body classes
|
|
358
|
+
.typo-body-lg {
|
|
359
|
+
@include body-lg;
|
|
360
|
+
}
|
|
361
|
+
.typo-body-lg-em {
|
|
362
|
+
@include body-lg-em;
|
|
363
|
+
}
|
|
364
|
+
.typo-body-md {
|
|
365
|
+
@include body-md;
|
|
366
|
+
}
|
|
367
|
+
.typo-body-md-em {
|
|
368
|
+
@include body-md-em;
|
|
369
|
+
}
|
|
370
|
+
.typo-body-sm {
|
|
371
|
+
@include body-sm;
|
|
372
|
+
}
|
|
373
|
+
.typo-body-sm-em {
|
|
374
|
+
@include body-sm-em;
|
|
375
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// ELEMENT PLUS BRIDGE
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// Maps EAERA Design System tokens (--er-*) to Element Plus CSS variables (--el-*)
|
|
5
|
+
// IMPORTANT: Only uses colors from Layer 3 Component Tokens
|
|
6
|
+
// ============================================================================
|
|
7
|
+
|
|
8
|
+
:root {
|
|
9
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
10
|
+
// GLOBAL COLORS (from Layer 3)
|
|
11
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
12
|
+
// Primary semantic colors
|
|
13
|
+
--el-color-primary: var(--er-action-primary-default); // #3B82F6 (primary-500)
|
|
14
|
+
--el-color-success: var(--er-text-success); // #10B981 (success-500)
|
|
15
|
+
--el-color-warning: var(--er-text-warning); // #F59E0B (warning-500)
|
|
16
|
+
--el-color-danger: var(--er-text-danger); // #EF4444 (danger-500)
|
|
17
|
+
--el-color-error: var(--er-text-danger); // #EF4444 (danger-500)
|
|
18
|
+
--el-color-info: var(--er-text-information); // #0EA5E9 (information-500)
|
|
19
|
+
|
|
20
|
+
// Background colors
|
|
21
|
+
--el-bg-color: var(--er-surface-page); // #FFFFFF (neutral-white)
|
|
22
|
+
--el-bg-color-page: var(--er-surface-page); // #FFFFFF (neutral-white)
|
|
23
|
+
|
|
24
|
+
// Fill colors — component canvas / quiet fills. EP defaults are fixed light
|
|
25
|
+
// values (#fff, #f5f7fa…); unmapped, every fill consumer (el-descriptions
|
|
26
|
+
// body & bordered labels, el-card, el-table body) stays white in dark mode.
|
|
27
|
+
// Mapped tokens flip under html.dark (surface/container = neutral-900) or
|
|
28
|
+
// are alpha-based, so both themes resolve.
|
|
29
|
+
--el-fill-color-blank: var(--er-surface-container); // el-descriptions body, el-card/table canvas
|
|
30
|
+
--el-fill-color: var(--er-surface-subtle); // hover fills
|
|
31
|
+
--el-fill-color-light: var(--er-surface-neutral-subtle); // el-descriptions bordered label bg
|
|
32
|
+
--el-fill-color-lighter: var(--er-surface-subtle);
|
|
33
|
+
--el-fill-color-extra-light: var(--er-surface-container);
|
|
34
|
+
--el-fill-color-dark: var(--er-surface-muted);
|
|
35
|
+
--el-fill-color-darker: var(--er-surface-muted);
|
|
36
|
+
|
|
37
|
+
// Border colors — same class of bug: EP ships fixed light greys
|
|
38
|
+
// (#dcdfe6…#ebeef5). Mapped er tokens are alpha-based (#11161C light /
|
|
39
|
+
// #F8F9FB dark at 8–24% opacity), visually equivalent in light mode and
|
|
40
|
+
// correct on dark surfaces.
|
|
41
|
+
--el-border-color: var(--er-border-default);
|
|
42
|
+
--el-border-color-light: var(--er-border-default);
|
|
43
|
+
--el-border-color-lighter: var(--er-border-subtle); // el-descriptions table borders
|
|
44
|
+
--el-border-color-extra-light: var(--er-border-subtle);
|
|
45
|
+
--el-border-color-dark: var(--er-border-strong);
|
|
46
|
+
--el-border-color-darker: var(--er-border-strong);
|
|
47
|
+
|
|
48
|
+
// Floating-panel background (dropdown menus, select poppers, popconfirm,
|
|
49
|
+
// tooltips). EP defaults this to #ffffff and it was never mapped, so every
|
|
50
|
+
// overlay panel washed out white in dark mode. surface/elevated resolves to
|
|
51
|
+
// #FFFFFF (light) / #18181B (dark).
|
|
52
|
+
--el-bg-color-overlay: var(--er-surface-elevated);
|
|
53
|
+
|
|
54
|
+
// Overlay / loading mask — white in light mode; overridden to neutral-950 in
|
|
55
|
+
// dark mode (themes/_dark-mode.scss). Fixes the white loading washout.
|
|
56
|
+
--el-mask-color: rgba(255, 255, 255, 0.9);
|
|
57
|
+
|
|
58
|
+
// Text colors — EP defaults these to light-mode values (#303133, #606266,
|
|
59
|
+
// #909399, #a8abb2). Without mapping, every overlay (dropdowns, selects,
|
|
60
|
+
// popconfirm) shows light grey/white text on the dark elevated surface.
|
|
61
|
+
--el-text-color-primary: var(--er-text-primary);
|
|
62
|
+
--el-text-color-regular: var(--er-text-secondary);
|
|
63
|
+
--el-text-color-secondary: var(--er-text-muted);
|
|
64
|
+
--el-text-color-placeholder: var(--er-text-muted);
|
|
65
|
+
--el-text-color-disabled: var(--er-text-muted);
|
|
66
|
+
|
|
67
|
+
// Disabled state
|
|
68
|
+
--el-disabled-bg-color: var(--er-surface-muted); // #A1A1AA (neutral-400)
|
|
69
|
+
--el-disabled-text-color: var(--er-text-muted); // #D4D4D8 (neutral-300)
|
|
70
|
+
|
|
71
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
72
|
+
// ELEVATION (from elevation tokens)
|
|
73
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
74
|
+
--el-box-shadow: var(--er-elevation-soft-down); // Default shadow
|
|
75
|
+
--el-box-shadow-light: var(--er-elevation-soft-down);
|
|
76
|
+
--el-box-shadow-dark: var(--er-elevation-strong-down);
|
|
77
|
+
|
|
78
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
79
|
+
// TYPOGRAPHY (font family only, from Layer 3)
|
|
80
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
81
|
+
--el-font-family: var(--er-font-brand);
|
|
82
|
+
}
|