@fest-lib/veela 0.1.20 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/dist/veela.js +4 -33
  2. package/package.json +9 -2
  3. package/src/scss/_layers.scss +5 -34
  4. package/src/scss/basic/{misc/_core-layout.scss → _core-layout.scss} +1 -1
  5. package/src/scss/basic/_layers.scss +1 -0
  6. package/src/scss/basic/{misc/_layout.scss → _layout.scss} +15 -15
  7. package/src/scss/basic/{misc/_normalize.scss → _normalize.scss} +5 -103
  8. package/src/scss/basic/{misc/_states.scss → _states.scss} +2 -2
  9. package/src/scss/{core/misc → basic}/_utilities.scss +4 -4
  10. package/src/scss/basic/design/_keyframes.scss +1 -1
  11. package/src/scss/basic/design/_shapes.scss +1 -1
  12. package/src/scss/basic/index.scss +14 -16
  13. package/src/scss/chrome.scss +2 -0
  14. package/src/scss/core/_color-mod.scss +24 -0
  15. package/src/scss/core/{misc/_color-properties.scss → _color-properties.scss} +1 -1
  16. package/src/scss/core/{misc/_tokens.scss → _tokens.scss} +10 -93
  17. package/src/scss/core/index.scss +13 -1
  18. package/src/scss/index.scss +7 -2
  19. package/src/scss/index.ts +1 -1
  20. package/src/scss/{core/interact → interact}/_viewport.scss +1 -1
  21. package/src/scss/interact/index.scss +18 -0
  22. package/src/scss/theme/_effects.scss +60 -0
  23. package/src/scss/theme/index.scss +8 -0
  24. package/src/scss/{advanced/index.ts → theme/loader.ts} +3 -4
  25. package/src/scss/ui/_bar.scss +268 -0
  26. package/src/scss/ui/_buttons.scss +215 -0
  27. package/src/scss/ui/_chrome-mixins.scss +104 -0
  28. package/src/scss/ui/_color.scss +3 -0
  29. package/src/scss/ui/_colorize.scss +5 -0
  30. package/src/scss/{advanced/layout → ui}/_content.scss +0 -1
  31. package/src/scss/ui/_core-layout.scss +4 -0
  32. package/src/scss/ui/_essentials-options.scss +2 -0
  33. package/src/scss/ui/_essentials.scss +707 -0
  34. package/src/scss/ui/_explorer-content.scss +417 -0
  35. package/src/scss/ui/_explorer.scss +274 -0
  36. package/src/scss/ui/_forms-bare-host-elements.scss +25 -0
  37. package/src/scss/ui/_forms-options.scss +2 -0
  38. package/src/scss/ui/_forms.scss +279 -0
  39. package/src/scss/ui/_forms_misc.scss +201 -0
  40. package/src/scss/ui/_gridbox.scss +298 -0
  41. package/src/scss/ui/_home-host.scss +192 -0
  42. package/src/scss/ui/_index.scss +23 -0
  43. package/src/scss/ui/_launcher-typography.scss +31 -0
  44. package/src/scss/ui/_layers.scss +48 -0
  45. package/src/scss/ui/_layout.scss +3 -0
  46. package/src/scss/ui/_markdown.scss +1634 -0
  47. package/src/scss/ui/_modal.scss +309 -0
  48. package/src/scss/ui/_motion.scss +3 -0
  49. package/src/scss/ui/_native-host-button-chrome.scss +31 -0
  50. package/src/scss/ui/_normalize.scss +5 -0
  51. package/src/scss/ui/_orientation-functions.scss +273 -0
  52. package/src/scss/ui/_orientbox.scss +97 -0
  53. package/src/scss/ui/_scrollbar.scss +257 -0
  54. package/src/scss/ui/_shared-overlays.scss +16 -0
  55. package/src/scss/ui/_shared.scss +4 -0
  56. package/src/scss/ui/_sidebar.scss +478 -0
  57. package/src/scss/ui/_speed-dial.scss +47 -0
  58. package/src/scss/ui/_states.scss +4 -0
  59. package/src/scss/ui/_tables.scss +28 -0
  60. package/src/scss/ui/_tabs.scss +405 -0
  61. package/src/scss/ui/_taskbar.scss +215 -0
  62. package/src/scss/ui/_toolbars.scss +167 -0
  63. package/src/scss/ui/_typography.scss +11 -0
  64. package/src/scss/ui/_utils.scss +8 -0
  65. package/src/scss/ui/_viewport.scss +470 -0
  66. package/src/scss/ui/_window-frame.scss +658 -0
  67. package/src/scss/ui/components/app-menu.scss +817 -0
  68. package/src/scss/ui/components/appearance-desktop.scss +14 -0
  69. package/src/scss/ui/components/appearance-mobile.scss +14 -0
  70. package/src/scss/ui/components/calendar/flyout.scss +194 -0
  71. package/src/scss/ui/components/calendar/index.scss +627 -0
  72. package/src/scss/ui/components/explorer-settings.scss +232 -0
  73. package/src/scss/ui/components/file-manager-content.scss +2 -0
  74. package/src/scss/ui/components/file-manager.scss +2 -0
  75. package/src/scss/ui/components/launcher-icon-mask.scss +34 -0
  76. package/src/scss/ui/components/navbar.scss +133 -0
  77. package/src/scss/ui/components/quick-settings.scss +321 -0
  78. package/src/scss/ui/components/scrollframe.scss +58 -0
  79. package/src/scss/ui/components/slider.scss +188 -0
  80. package/src/scss/ui/components/speed-dial.scss +2288 -0
  81. package/src/scss/ui/components/statusbar.scss +255 -0
  82. package/src/scss/ui/components/task.scss +118 -0
  83. package/src/scss/ui/components/taskbar.scss +514 -0
  84. package/src/scss/ui/components/text.scss +241 -0
  85. package/src/scss/ui/components/window.scss +601 -0
  86. package/src/scss/ui/home-host-apply.scss +10 -0
  87. package/src/scss/ui/index.scss +7 -0
  88. package/src/scss/ui/native-controls.scss +17 -0
  89. package/src/scss/advanced/_index.scss +0 -0
  90. package/src/scss/advanced/animation/_motion.scss +0 -323
  91. package/src/scss/advanced/color/_color.scss +0 -328
  92. package/src/scss/advanced/color/_colorize.scss +0 -325
  93. package/src/scss/advanced/design/_design-tokens.scss +0 -118
  94. package/src/scss/advanced/design/_effects.scss +0 -275
  95. package/src/scss/advanced/design/_shadow.scss +0 -359
  96. package/src/scss/advanced/design/_surfaces.scss +0 -76
  97. package/src/scss/advanced/effects/_animations.scss +0 -124
  98. package/src/scss/advanced/effects/_shadows.scss +0 -50
  99. package/src/scss/advanced/font/_typography.scss +0 -601
  100. package/src/scss/advanced/index.scss +0 -11
  101. package/src/scss/advanced/layout/_index.scss +0 -5
  102. package/src/scss/advanced/layout/_normalize.scss +0 -543
  103. package/src/scss/advanced/layout/_shared-overlays.scss +0 -162
  104. package/src/scss/advanced/md3/_md3.scss +0 -506
  105. package/src/scss/advanced/md3/_utils.scss +0 -114
  106. package/src/scss/advanced/misc/_config.scss +0 -119
  107. package/src/scss/advanced/misc/_initials.scss +0 -298
  108. package/src/scss/advanced/misc/_mixins.scss +0 -179
  109. package/src/scss/advanced/misc/_rendering.scss +0 -82
  110. package/src/scss/advanced/misc/_tokens.scss +0 -74
  111. package/src/scss/advanced/theme/_shared.scss +0 -232
  112. package/src/scss/advanced/theme/_states.scss +0 -332
  113. package/src/scss/advanced/theme/_variants.scss +0 -354
  114. package/src/scss/advanced/tokens/_material-color.scss +0 -120
  115. package/src/scss/advanced/tokens/_variables.scss +0 -171
  116. package/src/scss/basic/misc/_index.scss +0 -18
  117. package/src/scss/basic/misc/_mixins.scss +0 -179
  118. package/src/scss/basic/misc/_queries.scss +0 -34
  119. package/src/scss/basic/misc/_tokens.scss +0 -78
  120. package/src/scss/basic/misc/_veela.scss +0 -12
  121. package/src/scss/core/misc/_index.scss +0 -6
  122. /package/src/scss/basic/{misc/_motion.scss → _motion.scss} +0 -0
  123. /package/src/scss/{advanced/misc → basic}/_queries.scss +0 -0
  124. /package/src/scss/basic/{misc/_shared.scss → _shared.scss} +0 -0
  125. /package/src/scss/core/{misc/_config.scss → _config.scss} +0 -0
  126. /package/src/scss/core/{misc/_functions.scss → _functions.scss} +0 -0
  127. /package/src/scss/core/{misc/_icons.scss → _icons.scss} +0 -0
  128. /package/src/scss/core/{misc/_layout.scss → _layout.scss} +0 -0
  129. /package/src/scss/core/{misc/_mixins.scss → _mixins.scss} +0 -0
  130. /package/src/scss/core/{misc/_properties.scss → _properties.scss} +0 -0
  131. /package/src/scss/core/{misc/_utils.scss → _utils.scss} +0 -0
  132. /package/src/scss/{core/interact → interact}/_draggable.scss +0 -0
  133. /package/src/scss/{core/interact → interact}/_position.scss +0 -0
  134. /package/src/scss/{core/interact → interact}/_ps-anchor.scss +0 -0
  135. /package/src/scss/{core/interact → interact}/_ps-centered.scss +0 -0
  136. /package/src/scss/{core/interact → interact}/_ps-cursor.scss +0 -0
  137. /package/src/scss/{core/interact → interact}/_ps-draggable.scss +0 -0
  138. /package/src/scss/{core/interact → interact}/_ps-mechanic.scss +0 -0
  139. /package/src/scss/{core/interact → interact}/_ps-properties.scss +0 -0
  140. /package/src/scss/{core/interact → interact}/_ps-resizable.scss +0 -0
  141. /package/src/scss/{core/interact → interact}/_resizable.scss +0 -0
@@ -1,601 +0,0 @@
1
- @use "sass:list";
2
- @use "sass:map";
3
- @use "sass:math";
4
- @use "sass:meta";
5
- @use "sass:string";
6
-
7
- @use "../basic/position" as position;
8
-
9
- //
10
- @use "utils" as _;
11
-
12
- //
13
- $def-ff: "InterVariable", "Inter", "Open Sans", "Source Sans 3", "Gill Sans Nova", Ubuntu, "DejaVu Sans", Candara, Segoe, "Segoe UI", Optima, "Source Sans Pro", sans-serif;
14
-
15
- // Type scale
16
- $md3-type-scale: (
17
- "display-large": (
18
- size: clamp(3.5rem, 4cqi + 3rem, 5rem),
19
- line-height: 1.12,
20
- weight: 400,
21
- tracking: -0.025em,
22
- ),
23
- "display-medium": (
24
- size: clamp(2.8rem, 3cqi + 2.4rem, 4rem),
25
- line-height: 1.16,
26
- weight: 400,
27
- tracking: -0.02em,
28
- ),
29
- "display-small": (
30
- size: clamp(2.25rem, 2cqi + 2rem, 3rem),
31
- line-height: 1.22,
32
- weight: 400,
33
- tracking: -0.01em,
34
- ),
35
- "headline-large": (
36
- size: clamp(2rem, 1.5cqi + 1.8rem, 2.5rem),
37
- line-height: 1.2,
38
- weight: 400,
39
- tracking: 0,
40
- ),
41
- "headline-medium": (
42
- size: clamp(1.75rem, 1.2cqi + 1.6rem, 2.25rem),
43
- line-height: 1.24,
44
- weight: 400,
45
- tracking: 0,
46
- ),
47
- "headline-small": (
48
- size: clamp(1.5rem, 1cqi + 1.4rem, 1.75rem),
49
- line-height: 1.28,
50
- weight: 400,
51
- tracking: 0,
52
- ),
53
- "title-large": (
54
- size: clamp(1.375rem, 0.8cqi + 1.25rem, 1.6rem),
55
- line-height: 1.3,
56
- weight: 400,
57
- tracking: 0,
58
- ),
59
- "title-medium": (
60
- size: clamp(1rem, 0.6cqi + 0.95rem, 1.25rem),
61
- line-height: 1.35,
62
- weight: 500,
63
- tracking: 0.015em,
64
- ),
65
- "title-small": (
66
- size: clamp(0.875rem, 0.5cqi + 0.85rem, 1rem),
67
- line-height: 1.43,
68
- weight: 500,
69
- tracking: 0.01em,
70
- ),
71
- "label-large": (
72
- size: clamp(0.875rem, 0.4cqi + 0.85rem, 0.95rem),
73
- line-height: 1.43,
74
- weight: 500,
75
- tracking: 0.01em,
76
- ),
77
- "label-medium": (
78
- size: clamp(0.75rem, 0.4cqi + 0.7rem, 0.85rem),
79
- line-height: 1.33,
80
- weight: 500,
81
- tracking: 0.04em,
82
- ),
83
- "label-small": (
84
- size: clamp(0.6875rem, 0.4cqi + 0.65rem, 0.75rem),
85
- line-height: 1.45,
86
- weight: 500,
87
- tracking: 0.05em,
88
- ),
89
- "body-large": (
90
- size: clamp(1rem, 0.5cqi + 0.95rem, 1.125rem),
91
- line-height: 1.5,
92
- weight: 400,
93
- tracking: 0.015em,
94
- ),
95
- "body-medium": (
96
- size: clamp(0.875rem, 0.4cqi + 0.85rem, 1rem),
97
- line-height: 1.45,
98
- weight: 400,
99
- tracking: 0.01em,
100
- ),
101
- "body-small": (
102
- size: clamp(0.75rem, 0.35cqi + 0.72rem, 0.875rem),
103
- line-height: 1.4,
104
- weight: 400,
105
- tracking: 0.01em,
106
- ),
107
- );
108
-
109
- //
110
- // Type function
111
- @function md3-type($token, $prop: null) {
112
- $definition: _.md3-fetch($md3-type-scale, $token, "type token");
113
-
114
- @if $prop == null {
115
- @return $definition;
116
- }
117
-
118
- @if not map.has-key($definition, $prop) {
119
- @error "Unknown typography property `#{$prop}` for token `#{$token}`. Available: #{map.keys($definition)}";
120
- }
121
-
122
- @return map.get($definition, $prop);
123
- }
124
-
125
- //
126
- // Typography alias maps
127
- $md3-font-size-aliases: (
128
- "xs": (
129
- token: "label-small",
130
- value: clamp(calc(0.7rem * var(--font-scale)), 0.3cqi + 0.6rem, calc(0.75rem * var(--font-scale)))
131
- ),
132
- "sm": (
133
- token: "body-small",
134
- value: clamp(calc(0.75rem * var(--font-scale)), 0.4cqi + 0.65rem, calc(0.85rem * var(--font-scale)))
135
- ),
136
- "body-sm": (
137
- token: "body-small",
138
- value: md3-type("body-small", size)
139
- ),
140
- "base": (
141
- token: "body-medium",
142
- value: clamp(calc(0.8rem * var(--font-scale)), 0.5cqi + 0.7rem, calc(0.95rem * var(--font-scale)))
143
- ),
144
- "body-md": (
145
- token: "body-medium",
146
- value: md3-type("body-medium", size)
147
- ),
148
- "md": (
149
- token: "body-large",
150
- value: clamp(0.92rem, 0.6cqi + 0.82rem, 1.05rem)
151
- ),
152
- "body-lg": (
153
- token: "body-large",
154
- value: md3-type("body-large", size)
155
- ),
156
- "lg": (
157
- token: "title-medium",
158
- value: clamp(calc(0.9rem * var(--font-scale)), 0.6cqi + 0.8rem, calc(1.1rem * var(--font-scale)))
159
- ),
160
- "xl": (
161
- token: "title-large",
162
- value: clamp(calc(1rem * var(--font-scale)), 0.8cqi + 0.9rem, calc(1.3rem * var(--font-scale)))
163
- ),
164
- "2xl": (
165
- token: "headline-small",
166
- value: clamp(1.35rem, 1.3cqi + 1.1rem, 1.75rem)
167
- ),
168
- "3xl": (
169
- token: "headline-medium",
170
- value: md3-type("headline-medium", size)
171
- ),
172
- "4xl": (
173
- token: "display-small",
174
- value: md3-type("display-small", size)
175
- ),
176
- "5xl": (
177
- token: "display-medium",
178
- value: md3-type("display-medium", size)
179
- ),
180
- "6xl": (
181
- token: "display-large",
182
- value: md3-type("display-large", size)
183
- ),
184
- );
185
-
186
- $md3-font-weight-aliases: (
187
- "normal": (token: "body-large"),
188
- "medium": (token: "title-medium"),
189
- "semibold": 600,
190
- "bold": 700,
191
- "extrabold": 800,
192
- );
193
-
194
- $md3-font-family-stacks: (
195
- "base": ("InterVariable", "Inter", "Open Sans", "Source Sans 3", "Gill Sans Nova", Ubuntu, "DejaVu Sans", Candara, Segoe, "Segoe UI", Optima, "Source Sans Pro", sans-serif),
196
- "mono": ("Fragment Mono", "Fira Code", "Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace),
197
- );
198
-
199
- $md3-line-height-scale: (
200
- "tight": 1.2,
201
- "normal": 1.5,
202
- "relaxed": 1.8,
203
- );
204
-
205
- //
206
- // Internal helpers
207
- @function md3-map-merge($base, $override) {
208
- @if $override == null {
209
- @return $base;
210
- }
211
-
212
- @if meta.type-of($override) != "map" {
213
- @error "Expected map override, received #{meta.type-of($override)}.";
214
- }
215
-
216
- @return map.merge($base, $override);
217
- }
218
-
219
- @function md3-resolve-type-value($definition, $prop) {
220
- @if $definition == null {
221
- @return null;
222
- }
223
-
224
- @if meta.type-of($definition) == "string" and map.has-key($md3-type-scale, $definition) {
225
- @return md3-type($definition, $prop);
226
- }
227
-
228
- @if meta.type-of($definition) == "map" {
229
- @if map.has-key($definition, $prop) {
230
- @return map.get($definition, $prop);
231
- }
232
-
233
- @if map.has-key($definition, "token") {
234
- @return md3-type(map.get($definition, "token"), $prop);
235
- }
236
-
237
- @if map.has-key($definition, "value") {
238
- @return map.get($definition, "value");
239
- }
240
- }
241
-
242
- @return $definition;
243
- }
244
-
245
- @function md3-font-size-token($alias, $aliases: $md3-font-size-aliases) {
246
- @if map.has-key($aliases, $alias) {
247
- $definition: map.get($aliases, $alias);
248
-
249
- @if meta.type-of($definition) == "map" and map.has-key($definition, "token") {
250
- @return map.get($definition, "token");
251
- }
252
-
253
- @if meta.type-of($definition) == "string" and map.has-key($md3-type-scale, $definition) {
254
- @return $definition;
255
- }
256
- }
257
-
258
- @if map.has-key($md3-type-scale, $alias) {
259
- @return $alias;
260
- }
261
-
262
- @return null;
263
- }
264
-
265
- @function md3-font-size($alias, $aliases: $md3-font-size-aliases) {
266
- @if map.has-key($aliases, $alias) {
267
- @return md3-resolve-type-value(map.get($aliases, $alias), size);
268
- }
269
-
270
- @if map.has-key($md3-type-scale, $alias) {
271
- @return md3-type($alias, size);
272
- }
273
-
274
- @error "Unknown font size alias `#{$alias}`. Available: #{map.keys($aliases)}";
275
- }
276
-
277
- @function md3-font-size-var($alias, $aliases: $md3-font-size-aliases) {
278
- $token: md3-font-size-token($alias, $aliases);
279
- $source: sass(if(sass(map.has-key($aliases, $alias)): map.get($aliases, $alias); else: $token));
280
- $fallback: md3-resolve-type-value($source, size);
281
-
282
- @if $token != null {
283
- @return var(--font-size-#{$alias}, var(--text-#{$alias}, #{$fallback}));
284
- }
285
-
286
- @return var(--font-size-#{$alias}, var(--text-#{$alias}, #{$fallback}));
287
- }
288
-
289
- @function md3-font-weight-value($input) {
290
- @if $input == null {
291
- @return md3-font-weight-value(map.get($md3-font-weight-aliases, "normal"));
292
- }
293
-
294
- @if meta.type-of($input) == "number" {
295
- @return $input;
296
- }
297
-
298
- @if meta.type-of($input) == "string" and map.has-key($md3-font-weight-aliases, $input) {
299
- @return md3-font-weight-value(map.get($md3-font-weight-aliases, $input));
300
- }
301
-
302
- @if meta.type-of($input) == "string" and map.has-key($md3-type-scale, $input) {
303
- @return md3-type($input, weight);
304
- }
305
-
306
- @if meta.type-of($input) == "map" {
307
- @if map.has-key($input, "weight") {
308
- @return map.get($input, "weight");
309
- }
310
-
311
- @if map.has-key($input, "token") {
312
- @return md3-type(map.get($input, "token"), weight);
313
- }
314
-
315
- @if map.has-key($input, "value") {
316
- @return map.get($input, "value");
317
- }
318
- }
319
-
320
- @return $input;
321
- }
322
-
323
- @function md3-font-family-value($input) {
324
- @if $input == null {
325
- @return map.get($md3-font-family-stacks, "base");
326
- }
327
-
328
- @if $input == inherit or $input == "inherit" {
329
- @return inherit;
330
- }
331
-
332
- @if meta.type-of($input) == "string" and map.has-key($md3-font-family-stacks, $input) {
333
- @return map.get($md3-font-family-stacks, $input);
334
- }
335
-
336
- @if meta.type-of($input) == "map" and map.has-key($input, "value") {
337
- @return map.get($input, "value");
338
- }
339
-
340
- @return $input;
341
- }
342
-
343
-
344
-
345
-
346
- //
347
- $font-family-base: md3-font-family-value("base");
348
- $font-family-mono: md3-font-family-value("mono");
349
- $font-size-xs: md3-font-size("xs");
350
- $font-size-sm: md3-font-size("body-md");
351
- $font-size-base: md3-font-size("body-lg");
352
- $font-size-lg: md3-font-size("lg");
353
- $font-size-xl: md3-font-size("xl");
354
- $font-size-2xl: md3-font-size("2xl");
355
- $font-size-3xl: md3-font-size("3xl");
356
- $font-size-4xl: md3-font-size("4xl");
357
- $font-size-5xl: md3-font-size("5xl");
358
- $font-size-6xl: md3-font-size("6xl");
359
-
360
- //
361
- $font-weight-normal: md3-font-weight-value("normal");
362
- $font-weight-medium: md3-font-weight-value("medium");
363
- $font-weight-semibold: md3-font-weight-value("semibold");
364
- $font-weight-bold: md3-font-weight-value("bold");
365
- $font-weight-extrabold: md3-font-weight-value("extrabold");
366
-
367
-
368
-
369
- //
370
- // Typography configuration helpers
371
- @function md3-typography-config($token, $overrides: ()) {
372
- $configuration: md3-type($token);
373
- $normalized-overrides: sass(if(sass(meta.type-of($overrides) == "map"): $overrides; else: ()));
374
-
375
- @if $normalized-overrides != () {
376
- $configuration: map.merge($configuration, $normalized-overrides);
377
- }
378
-
379
- @return $configuration;
380
- }
381
-
382
- @mixin md3-apply-typography($configuration, $ensure-family: false, $family-fallback: "base") {
383
- $size: map.get($configuration, size);
384
- $line-height: map.get($configuration, line-height);
385
- $weight: map.get($configuration, weight);
386
- $tracking: map.get($configuration, tracking);
387
- $family: map.get($configuration, family);
388
-
389
- @if $size != null { font-size: $size; }
390
- @if $line-height != null { line-height: $line-height; }
391
- @if $weight != null { font-weight: $weight; }
392
- @if $tracking != null { letter-spacing: $tracking; }
393
-
394
- @if $weight != null {
395
- font-optical-sizing: auto;
396
- font-variation-settings: "wght" $weight;
397
- }
398
-
399
- $should-apply-family: $family != null or $ensure-family;
400
-
401
- @if $should-apply-family {
402
- $resolved-family: sass(if(sass($family != null): md3-font-family-value($family); else: md3-font-family-value($family-fallback)));
403
-
404
- @include font-family($resolved-family);
405
- }
406
- }
407
-
408
- //
409
- // Typography mixin
410
- @mixin md3-typography($token, $overrides: ()) {
411
- $configuration: md3-typography-config($token, $overrides);
412
- @include md3-apply-typography($configuration);
413
- }
414
-
415
- //
416
- // Export typography vars mixin
417
- @mixin md3-export-typography-vars($overrides: ()) {
418
- $size-overrides: map.get($overrides, "sizes");
419
- $weight-overrides: map.get($overrides, "weights");
420
- $family-overrides: map.get($overrides, "families");
421
- $leading-overrides: map.get($overrides, "line-heights");
422
- $extra-overrides: map.get($overrides, "extra");
423
-
424
- $sizes: md3-map-merge($md3-font-size-aliases, $size-overrides);
425
- $weights: md3-map-merge($md3-font-weight-aliases, $weight-overrides);
426
- $families: md3-map-merge($md3-font-family-stacks, $family-overrides);
427
- $leadings: md3-map-merge($md3-line-height-scale, $leading-overrides);
428
-
429
- @each $alias, $definition in $sizes {
430
- $value: md3-resolve-type-value($definition, size);
431
- --md3-font-size-#{$alias}: #{$value};
432
- @if $alias != xs and $alias != sm and $alias != base and $alias != md and $alias != lg and $alias != xl and $alias != 2xl {
433
- --font-size-#{$alias}: #{$value};
434
- --font-#{$alias}: var(--font-size-#{$alias});
435
- }
436
- }
437
-
438
- @each $alias, $definition in $weights {
439
- $value: md3-font-weight-value($definition);
440
- @if $alias != normal and $alias != medium and $alias != semibold and $alias != bold {
441
- --font-weight-#{$alias}: #{$value};
442
- }
443
- }
444
-
445
- --font-weight: var(--font-weight-normal);
446
-
447
- @each $alias, $stack in $families {
448
- --md3-font-family-#{$alias}: #{md3-font-family-value($stack)};
449
- @if $alias != base and $alias != sans and $alias != mono {
450
- --font-family-#{$alias}: #{md3-font-family-value($stack)};
451
- }
452
- }
453
-
454
- @each $alias, $value in $leadings {
455
- @if $alias != tight and $alias != normal and $alias != relaxed {
456
- --leading-#{$alias}: #{$value};
457
- }
458
- }
459
-
460
- @if meta.type-of($extra-overrides) == "map" {
461
- @each $name, $value in $extra-overrides {
462
- --#{$name}: #{$value};
463
- }
464
- }
465
- }
466
-
467
-
468
-
469
- //
470
- @mixin typography($size, $family: "inherit", $weight: 400) {
471
- & {
472
- font-size: $size;
473
- font-weight: $weight;
474
- @include font-family($family);
475
- }
476
- }
477
-
478
- //
479
- @mixin font-style($selector: "&", $options: ()) {
480
- $size-key: sass(if(sass(map.has-key($options, "size")): map.get($options, "size"); else: "base"));
481
- $token-option: map.get($options, "token");
482
- $family-option: sass(if(sass(map.has-key($options, "family")): map.get($options, "family"); else: "inherit"));
483
- $line-height-option: map.get($options, "line-height");
484
- $tracking-option: map.get($options, "tracking");
485
- $weight-has-key: map.has-key($options, "weight");
486
- $weight-option: sass(if(sass($weight-has-key): map.get($options, "weight"); else: null));
487
-
488
- $token: sass(if(sass($token-option != null): $token-option; else: md3-font-size-token($size-key)));
489
- @if $token == null {
490
- $token: "body-medium";
491
- }
492
-
493
- $overrides: ();
494
-
495
- @if $weight-has-key {
496
- @if $weight-option != null and $weight-option != false {
497
- $resolved-weight: md3-font-weight-value($weight-option);
498
- $overrides: map.merge($overrides, (weight: $resolved-weight));
499
- }
500
- } @else {
501
- $overrides: map.merge($overrides, (weight: md3-font-weight-value(400)));
502
- }
503
-
504
- @if $line-height-option != null {
505
- $overrides: map.merge($overrides, (line-height: $line-height-option));
506
- }
507
-
508
- @if $tracking-option != null {
509
- $overrides: map.merge($overrides, (tracking: $tracking-option));
510
- }
511
-
512
- #{$selector} {
513
- @include type(
514
- $token,
515
- $overrides,
516
- $family-option
517
- );
518
-
519
- //
520
- font-size: md3-font-size-var($size-key);
521
- }
522
- }
523
-
524
- //
525
- @mixin font-family($stack: $def-ff) {
526
- $resolved-stack: md3-font-family-value($stack);
527
-
528
- font-family: $resolved-stack;
529
- font-synthesis: none;
530
- font-kerning: normal;
531
- font-optical-sizing: auto;
532
- }
533
-
534
- //
535
- @mixin type($token: "body-medium", $overrides: (), $family: null) {
536
- $normalized-overrides: sass(if(sass(meta.type-of($overrides) == "map"): $overrides; else: ()));
537
- $configuration: md3-typography-config($token, $normalized-overrides);
538
- $apply-family: $family != false;
539
-
540
- @if $family != null and $family != false {
541
- $configuration: map.merge($configuration, (family: $family));
542
- }
543
-
544
- @include md3-apply-typography(
545
- $configuration,
546
- $apply-family,
547
- sass(if(sass($family != null and $family != false): $family; else: "base"))
548
- );
549
- }
550
-
551
- //
552
- @mixin text-wrap {
553
- flex-wrap: wrap;
554
- overflow-wrap: anywhere;
555
- word-break: break-word;
556
- word-wrap: break-word;
557
- white-space: normal;
558
- hyphens: auto;
559
- text-wrap: pretty;
560
-
561
- @supports (text-wrap: balance) {
562
- text-wrap: balance;
563
- }
564
- }
565
-
566
- //
567
- @mixin text-truncate {
568
- white-space: nowrap;
569
- overflow: hidden;
570
- text-overflow: ellipsis;
571
- max-inline-size: 100%;
572
- }
573
-
574
- //
575
- @mixin text-clamp($lines: 2) {
576
- overflow: hidden;
577
- display: -webkit-box;
578
- -webkit-line-clamp: $lines;
579
- -webkit-box-orient: vertical;
580
-
581
- @supports (line-clamp: #{$lines}) {
582
- display: block;
583
- line-clamp: $lines;
584
- max-lines: $lines;
585
- }
586
- }
587
-
588
- //
589
- @mixin visually-hidden {
590
- @include position.visually-hidden;
591
- }
592
-
593
- //
594
- @mixin no-wrap {
595
- white-space: nowrap;
596
- overflow: hidden;
597
- text-overflow: ellipsis;
598
- word-break: keep-all;
599
- word-wrap: normal;
600
- flex-wrap: nowrap;
601
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * Veela CSS - Advanced Runtime (Minimal)
3
- *
4
- * Temporarily reduced to fix build issues.
5
- * Full advanced features require fixing lib/advanced structure.
6
- *
7
- * Preconditions: callers should adopt `runtime/basic/index.scss` first (see loadVeelaVariant).
8
- */
9
-
10
- // Effects and animations (depends on upstream tokens/normalize from basic runtime)
11
- @use "./effects/animations" as *;
@@ -1,5 +0,0 @@
1
- @use "./normalize" as *;
2
- @use "./core-layout" as *;
3
- @use "./orientbox" as *;
4
- @use "./gridbox" as *;
5
- @use "./layout" as *;