@mlut/core 1.0.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.
Files changed (84) hide show
  1. package/README.md +24 -0
  2. package/_index.scss +1 -0
  3. package/_tools.scss +1 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.js +2 -0
  6. package/dist/jit/JitEngine.d.ts +19 -0
  7. package/dist/jit/JitEngine.js +124 -0
  8. package/dist/jit/index.d.ts +1 -0
  9. package/dist/jit/index.js +1 -0
  10. package/dist/sass/addons/demo-theme.scss +112 -0
  11. package/dist/sass/css/_base-setup.scss +3 -0
  12. package/dist/sass/css/_index.scss +2 -0
  13. package/dist/sass/css/helpers/_index.scss +3 -0
  14. package/dist/sass/css/helpers/btn.scss +28 -0
  15. package/dist/sass/css/helpers/gs-debug.scss +28 -0
  16. package/dist/sass/css/helpers/ratio-box.scss +47 -0
  17. package/dist/sass/css/helpers/row.scss +98 -0
  18. package/dist/sass/css/helpers/wrapper.scss +21 -0
  19. package/dist/sass/css/styles/_index.scss +2 -0
  20. package/dist/sass/css/styles/generic.scss +296 -0
  21. package/dist/sass/css/styles/variables.scss +32 -0
  22. package/dist/sass/css/utils/_bg-bd.scss +27 -0
  23. package/dist/sass/css/utils/_grid.scss +37 -0
  24. package/dist/sass/css/utils/_index.scss +2 -0
  25. package/dist/sass/css/utils/_load.scss +9 -0
  26. package/dist/sass/css/utils/_transition.scss +16 -0
  27. package/dist/sass/css/utils/box-alignment.scss +29 -0
  28. package/dist/sass/css/utils/box-model.scss +48 -0
  29. package/dist/sass/css/utils/grid-system.scss +17 -0
  30. package/dist/sass/css/utils/init.scss +107 -0
  31. package/dist/sass/css/utils/other.scss +35 -0
  32. package/dist/sass/css/utils/text.scss +33 -0
  33. package/dist/sass/css/utils/visual.scss +32 -0
  34. package/dist/sass/index.scss +4 -0
  35. package/dist/sass/tools/_index.scss +4 -0
  36. package/dist/sass/tools/functions/_index.import.scss +3 -0
  37. package/dist/sass/tools/functions/_index.scss +9 -0
  38. package/dist/sass/tools/functions/base/_error.scss +9 -0
  39. package/dist/sass/tools/functions/base/_getters.scss +124 -0
  40. package/dist/sass/tools/functions/base/_index.scss +11 -0
  41. package/dist/sass/tools/functions/base/_list.scss +56 -0
  42. package/dist/sass/tools/functions/base/_math.scss +149 -0
  43. package/dist/sass/tools/functions/base/_string.scss +300 -0
  44. package/dist/sass/tools/functions/common/_custom-units.scss +231 -0
  45. package/dist/sass/tools/functions/common/_forward-tools.scss +2 -0
  46. package/dist/sass/tools/functions/common/_helpers.scss +57 -0
  47. package/dist/sass/tools/functions/common/_index.scss +9 -0
  48. package/dist/sass/tools/functions/common/_utils.scss +211 -0
  49. package/dist/sass/tools/functions/high/_at-rules.scss +296 -0
  50. package/dist/sass/tools/functions/high/_forward-tools.scss +3 -0
  51. package/dist/sass/tools/functions/high/_index.scss +8 -0
  52. package/dist/sass/tools/functions/high/utils/_index.scss +288 -0
  53. package/dist/sass/tools/functions/high/utils/_parse-util.scss +107 -0
  54. package/dist/sass/tools/functions/high/utils/_range-generators.scss +355 -0
  55. package/dist/sass/tools/functions/high/utils/_util-apply-selector.scss +134 -0
  56. package/dist/sass/tools/functions/high/utils/_value-converters.scss +294 -0
  57. package/dist/sass/tools/functions/high/utils/_value-transformers.scss +65 -0
  58. package/dist/sass/tools/mixins/_index.import.scss +2 -0
  59. package/dist/sass/tools/mixins/_index.scss +8 -0
  60. package/dist/sass/tools/mixins/base/_forward-tools.scss +2 -0
  61. package/dist/sass/tools/mixins/base/_index.scss +93 -0
  62. package/dist/sass/tools/mixins/base/_mk-ar.scss +96 -0
  63. package/dist/sass/tools/mixins/base/_mk-state.scss +175 -0
  64. package/dist/sass/tools/mixins/high/_forward-tools.scss +3 -0
  65. package/dist/sass/tools/mixins/high/_index.scss +1 -0
  66. package/dist/sass/tools/mixins/high/utils/_index.scss +188 -0
  67. package/dist/sass/tools/mixins/high/utils/_mk-util.scss +366 -0
  68. package/dist/sass/tools/settings/_index.import.scss +3 -0
  69. package/dist/sass/tools/settings/_index.scss +3 -0
  70. package/dist/sass/tools/settings/base/_general.scss +175 -0
  71. package/dist/sass/tools/settings/base/_index.scss +2 -0
  72. package/dist/sass/tools/settings/base/_utils.scss +578 -0
  73. package/dist/sass/tools/settings/common/_at-rules.scss +213 -0
  74. package/dist/sass/tools/settings/common/_index.scss +2 -0
  75. package/dist/sass/tools/settings/common/_utils.scss +1926 -0
  76. package/dist/sass/tools/settings/high/_forward-tools.scss +2 -0
  77. package/dist/sass/tools/settings/high/_grid.scss +55 -0
  78. package/dist/sass/tools/settings/high/_index.scss +2 -0
  79. package/dist/sass/tools/settings/high/_utils.scss +104 -0
  80. package/dist/utils/index.d.ts +1 -0
  81. package/dist/utils/index.js +1 -0
  82. package/dist/utils/logger.d.ts +7 -0
  83. package/dist/utils/logger.js +13 -0
  84. package/package.json +48 -0
@@ -0,0 +1,1926 @@
1
+ @use 'sass:map';
2
+ @use 'sass:list';
3
+ @use 'sass:string';
4
+ @use 'sass:meta';
5
+
6
+ @use '../base' as ml;
7
+
8
+ // Data
9
+ //
10
+ // The database of utilities is divided into 3 sections:
11
+ // - utils \- all utils that can be used to stylize
12
+ // - media \- [@media](https://developer.mozilla.org/en-US/docs/Web/CSS/@media) features
13
+ // - common \- common utils for both section
14
+ //
15
+ // Media features are here, because to work with them, the same code is used as for ordinary utilities.
16
+ //
17
+ // The sections have a similar structure and consist of subsections such as *registry* and *keywords*.
18
+ //
19
+ // Styleguide: settings.utils.data
20
+
21
+ // Registry
22
+ //
23
+ // The registry stores data of all utilities. You can get these data with the following path:
24
+ // ```scss
25
+ // @use 'mlut/tools' as ml;
26
+ // map.get(ml.$utils-db, 'utils', 'registry', '<utility-name>');
27
+ // ```
28
+ // The registry is a map, the keys in which are the names of the utility, and the value can be, both a string with 1 property and a map with options. Below will be examined in detail the utility options. You can familiarize yourself with the utility registry on [this](section-utils-reference.html) page, and the registry of media features is available [here](section-general_reference.html#kssref-general_reference-media).
29
+ //
30
+ // Weight: 0
31
+ //
32
+ // Styleguide: settings.utils.data.registry
33
+
34
+ // Keywords
35
+ //
36
+ // In this subsection, keywords that are used in several utilities are stored. To use a set of keywords from here, specify the corresponding map key, in the `keywords` setting of utility.
37
+ // ```scss
38
+ // @use 'mlut/tools' as ml with (
39
+ // $utils-data: (
40
+ // 'utils': (
41
+ // 'registry': (
42
+ // 'Mxw': (
43
+ // 'keywords': ('sizing', 'my-sizing'),
44
+ // ),
45
+ // 'Flb': (
46
+ // 'keywords': ('sizing', 'my-sizing'),
47
+ // ),
48
+ // ),
49
+ // 'keywords': (
50
+ // // adds new keywords to the existing set
51
+ // 'box-alignment': (
52
+ // 'sf': safe,
53
+ // 'u': unsafe,
54
+ // ),
55
+ // 'my-sizing': (
56
+ // 'sm': 22rem,
57
+ // 'md': 44rem,
58
+ // ),
59
+ // ),
60
+ // ),
61
+ // ),
62
+ // );
63
+ //
64
+ // @debug ml.uv('Mxw-sm'); // 22rem
65
+ // @debug ml.uv('Flb-md'); // 44rem
66
+ // @debug ml.uv('Jc-c;sf'); // center safe
67
+ // ```
68
+ // See the full list of keywords [here](section-general_reference.html#kssref-general_reference-kw).
69
+ //
70
+ // Weight: 1
71
+ //
72
+ // Styleguide: settings.utils.data.kw
73
+
74
+ // Utilities options
75
+ //
76
+ // These options control how the utility works. You can find example of usage in the [reference](section-utils-reference.html). Later more examples will be added.
77
+ //
78
+ // properties - `string | list` <div>The list of CSS properties controlled by the utility. Properties are specified as strings without quotes. If you do not specify this option, then the name of the utility will be used as a property</div>
79
+ // preset-properties - <div class="Mt3u"> `map` </div> Map with CSS properties and values that will be substituted for any utility value. As a value, you can specify the Sass function in which the following arguments will be passed: the name of the utility, value, CSS-value and `important` boolean flag
80
+ // keywords - <div class="Mt3u"> `string | list | map` </div>Abbreviations that will expand in CSS-values during conversion. You can clearly specify map in format `('abbr': value)`. You can also specify one or more links to the existing set. Link - the key in map `keywords`, which is located in the same database. In this map there are already sets of frequently used CSS keywords. Please note that the keyword is an empty line `''` - the meaning of the default utility value
81
+ // conversion = 'default' - <div class="Mt3u">`string` </div> Type of conversion. It determines how the value of the utility in CSS value will convert. This means that for the `Txt-l` utility, CSS value will be `lowercase`, and for `Wlc-l` - `left`. See more details about the type of conversion in the description of the configure of utilities.
82
+ // repeat-prop-values = true - <div class="Mt3u"> `boolean` </div> The flag is relevant for utils that control several properties. If it is turned on and less values are specified for the utility than the properties, then the values will be repeated for incomplete properties. For example, a utility with the flag on will work approximately like `margin: 1px;`, and a utility without a flag, like `background: red`. *Please note* that an algorithm for repeating values differs from the repetition algorithm in CSS
83
+ // range-generator = 'number' - <div class="Mt3u"> `string` </div> [range syntax](section-how_to.html#kssref-how_to-mk_utils-range) processing method
84
+ // selector - <div class="Mt3u"> `string` </div> The modifier that will be added to the utility selector with any value and condition. It is a string-template in which the utility selector is indicated by `&`. For example: `&::after`
85
+ // components - <div class="Mt3u"> `string` </div> Here you can specify the components with which all utility values ​​will be generated. The components from this option will have a priority over those that are specified when creating a utility using [Generation Syntax](section-concepts.html#kssref-concepts-util-components-syntax). This syntax is also used here. *Please note* that along with the components, you need to specify the name of the utility and here it can be changed. If you need to change only the name, write it without components. The name can be left empty, then the value of the utility will be used instead. This can be relevant only for utilities, in which the values ​​are keywords. Also note that even when the name changes in the options, inside mlut, the utility will still be identified on the initial key in `$utils-db`
86
+ // multi-list-separator - <div class="Mt3u"> `string` </div> The separator of the nested lists in the value of the utility. The option is relevant for utilities, in the property of which, CSS-value can be a list of a list. For example, `border-radius: 2px 3px / 8px;`. It is important to clearly specify this separator so that the conversion of the values works correctly. Usually in CSS such a separator will be `,` or `/`.
87
+ // transformer - <div class="Mt3u"> `string` </div> A function that will process CSS value after conversion
88
+ //
89
+ // Weight: 2
90
+ //
91
+ // Styleguide: settings.utils.data.options
92
+
93
+ $uv-css-var-prefix: ml.$css-var-prefix !default;
94
+ $cv-pref: '--' + ml.$css-var-prefix;
95
+
96
+ $utils-data: () !default;
97
+ $utils-data-ext: () !default;
98
+ $colors: () !default;
99
+ $utils-map: ();
100
+
101
+ $-css-wide-kw: (
102
+ 'ih': inherit,
103
+ 'ini': initial,
104
+ 'rvr': revert,
105
+ 'rvrl': revert-layer,
106
+ 'ust': unset,
107
+ );
108
+ $-sizing-kw: (
109
+ 'fc': fit-content,
110
+ 'mc': max-content,
111
+ 'mnc': min-content,
112
+ );
113
+
114
+ $-bd-kw-links: ('border', 'line-style', 'line-width');
115
+
116
+ //stylelint-disable
117
+ $utils-db: (
118
+ 'utils': (
119
+ 'registry': (
120
+ '-Gscc': (
121
+ 'properties': ml.$var-gscc,
122
+ 'conversion': 'num-length',
123
+ ),
124
+ '-Gsfd': ml.$var-gsfd,
125
+ '-Gg': ml.$var-gg,
126
+ '-Gsf': (
127
+ 'properties': (
128
+ $cv-pref + 'gscf',
129
+ $cv-pref + 'gsof',
130
+ ),
131
+ 'keywords': (
132
+ '': (
133
+ calc(var(#{$cv-pref}gsc) / var(ml.$var-gscc) * 100% - var(ml.$var-gsfd, var(ml.$var-gg)) * 2),
134
+ calc(var(#{$cv-pref}gso) / var(ml.$var-gscc) * 100% + var(ml.$var-gsfd, var(ml.$var-gg))),
135
+ ),
136
+ ),
137
+ ),
138
+
139
+ // POSITION
140
+ 'Ps': (
141
+ 'properties': position,
142
+ 'keywords': (
143
+ '': relative,
144
+ 'a': absolute,
145
+ 'f': fixed,
146
+ 'r': relative,
147
+ 's': static,
148
+ 'sk': sticky,
149
+ ),
150
+ ),
151
+ 'T': top,
152
+ 'R': right,
153
+ 'B': bottom,
154
+ 'L': left,
155
+ '-X': (
156
+ 'properties': (
157
+ right, left,
158
+ ),
159
+ ),
160
+ '-Y': (
161
+ 'properties': (
162
+ top, bottom,
163
+ ),
164
+ ),
165
+ '-I': (
166
+ 'properties': (
167
+ top, right, bottom, left
168
+ ),
169
+ ),
170
+ 'Zi': (
171
+ 'properties': z-index,
172
+ 'conversion': 'num-length',
173
+ ),
174
+
175
+ // BOX-MODEL
176
+ 'D': (
177
+ 'properties': display,
178
+ 'keywords': (
179
+ '': block,
180
+ 'b': block,
181
+ 'i': inline,
182
+ 'ib': inline-block,
183
+ 'f': flex,
184
+ 'if': inline-flex,
185
+ 'g': grid,
186
+ 'ig': inline-grid,
187
+ 'li': list-item,
188
+ 'ri': run-in,
189
+ 'flr': flow-root,
190
+ 'c': contents,
191
+ 't': table,
192
+ 'it': inline-table,
193
+ 'tr': table-row,
194
+ 'tc': table-cell,
195
+ 'tcl': table-column,
196
+ 'tclg': table-column-group,
197
+ 'thg': table-header-group,
198
+ 'tfg': table-footer-group,
199
+ 'trg': table-row-group,
200
+ ),
201
+ ),
202
+ '-D': (
203
+ 'properties': (
204
+ display, flex-wrap, position, width, height,
205
+ margin, padding, overflow, white-space, border, clip,
206
+ ),
207
+ 'repeat-prop-values': false,
208
+ 'keywords': (
209
+ 'mf': (flex, wrap),
210
+ 'mif': (inline-flex, wrap),
211
+ 'vh': (
212
+ null, null, absolute, 1px, 1px, -1px, 0, hidden, nowrap, 0, rect(0 0 0 0)
213
+ ),
214
+ 'v': (
215
+ null, null, static, auto, auto, 0, null, visible, normal, null, auto
216
+ ),
217
+ ),
218
+ ),
219
+
220
+ 'Fl': (
221
+ 'properties': flex,
222
+ 'conversion': 'kw-num-length',
223
+ 'keywords': 'sizing',
224
+ ),
225
+ 'Fld': (
226
+ 'properties': flex-direction,
227
+ 'keywords': (
228
+ 'c': column,
229
+ 'cr': column-reverse,
230
+ 'r': row,
231
+ 'rr': row-reverse,
232
+ ),
233
+ ),
234
+ 'Flw': (
235
+ 'properties': flex-wrap,
236
+ 'keywords': (
237
+ '': wrap,
238
+ 'n': nowrap,
239
+ 'w': wrap,
240
+ 'wr': wrap-reverse,
241
+ ),
242
+ ),
243
+ 'Flg': (
244
+ 'properties': flex-grow,
245
+ 'conversion': 'num-length',
246
+ ),
247
+ 'Fls': (
248
+ 'properties': flex-shrink,
249
+ 'conversion': 'num-length',
250
+ ),
251
+ 'Flb': (
252
+ 'properties': flex-basis,
253
+ 'keywords': 'sizing',
254
+ ),
255
+
256
+ 'Ac': (
257
+ 'properties': align-content,
258
+ 'keywords': 'box-alignment',
259
+ ),
260
+ 'As': (
261
+ 'properties': align-self,
262
+ 'keywords': 'box-alignment',
263
+ ),
264
+ 'Ai': (
265
+ 'properties': align-items,
266
+ 'keywords': 'box-alignment',
267
+ ),
268
+ 'Jc': (
269
+ 'properties': justify-content,
270
+ 'keywords': 'box-alignment',
271
+ ),
272
+ 'Ji': (
273
+ 'properties': justify-items,
274
+ 'keywords': 'box-alignment',
275
+ ),
276
+ 'Js': (
277
+ 'properties': justify-self,
278
+ 'keywords': 'box-alignment',
279
+ ),
280
+ 'Plcc': (
281
+ 'properties': place-content,
282
+ 'keywords': 'box-alignment',
283
+ ),
284
+ 'Plci': (
285
+ 'properties': place-items,
286
+ 'keywords': 'box-alignment',
287
+ ),
288
+ 'Plcs': (
289
+ 'properties': place-self,
290
+ 'keywords': 'box-alignment',
291
+ ),
292
+ 'Od': (
293
+ 'properties': order,
294
+ 'conversion': 'num-length',
295
+ ),
296
+
297
+ 'G': (
298
+ 'properties': grid,
299
+ 'conversion': 'grid-tpl',
300
+ 'multi-list-separator': ml.$tULs2,
301
+ 'keywords': ('grid', 'sizing', 'grid-type'),
302
+ ),
303
+ 'Gt': (
304
+ 'properties': grid-template,
305
+ 'conversion': 'grid-tpl',
306
+ 'keywords': ('sizing', 'grid-type'),
307
+ ),
308
+ 'Gtc': (
309
+ 'properties': grid-template-columns,
310
+ 'conversion': 'grid-tpl',
311
+ 'keywords': ('sizing', 'grid-type'),
312
+ ),
313
+ 'Gc': (
314
+ 'properties': grid-column,
315
+ 'conversion': 'grid-span',
316
+ 'multi-list-separator': ml.$tULs2,
317
+ 'keywords': 'grid-area',
318
+ ),
319
+ 'Gcs': (
320
+ 'properties': grid-column-start,
321
+ 'conversion': 'kw-num-length',
322
+ 'keywords': 'grid-area',
323
+ ),
324
+ 'Gce': (
325
+ 'properties': grid-column-end,
326
+ 'conversion': 'kw-num-length',
327
+ 'keywords': 'grid-area',
328
+ ),
329
+ 'Gtr': (
330
+ 'properties': grid-template-rows,
331
+ 'conversion': 'grid-tpl',
332
+ 'keywords': ('sizing', 'grid-type'),
333
+ ),
334
+ 'Gr': (
335
+ 'properties': grid-row,
336
+ 'conversion': 'grid-span',
337
+ 'multi-list-separator': ml.$tULs2,
338
+ 'keywords': 'grid-area',
339
+ ),
340
+ 'Grs': (
341
+ 'properties': grid-row-start,
342
+ 'conversion': 'kw-num-length',
343
+ 'keywords': 'grid-area',
344
+ ),
345
+ 'Gre': (
346
+ 'properties': grid-row-end,
347
+ 'conversion': 'kw-num-length',
348
+ 'keywords': 'grid-area',
349
+ ),
350
+ 'Ga': (
351
+ 'properties': grid-area,
352
+ 'conversion': 'grid-span',
353
+ 'multi-list-separator': ml.$tULs2,
354
+ 'keywords': 'grid-area',
355
+ ),
356
+ 'Gatc': (
357
+ 'properties': grid-auto-columns,
358
+ 'keywords': ('grid-auto-track', 'sizing'),
359
+ ),
360
+ 'Gatr': (
361
+ 'properties': grid-auto-rows,
362
+ 'keywords': ('grid-auto-track', 'sizing'),
363
+ ),
364
+ 'Gatf': (
365
+ 'properties': grid-auto-flow,
366
+ 'keywords': (
367
+ 'c': column,
368
+ 'd': dense,
369
+ 'r': row,
370
+ ),
371
+ ),
372
+ 'Gap': gap,
373
+ 'Rwg': row-gap,
374
+ 'Clmg': column-gap,
375
+
376
+ 'F': (
377
+ 'properties': float,
378
+ 'keywords': (
379
+ '': left,
380
+ 'l': left,
381
+ 'r': right,
382
+ ),
383
+ ),
384
+ 'Cl': (
385
+ 'properties': clear,
386
+ 'keywords': (
387
+ '': both,
388
+ 'b': both,
389
+ 'l': left,
390
+ 'r': right,
391
+ ),
392
+ ),
393
+ '-Cl': (
394
+ 'preset-properties': (
395
+ 'display': table,
396
+ 'content': '',
397
+ ),
398
+ 'properties': clear,
399
+ 'selector': '&::after',
400
+ 'keywords': (
401
+ '': both,
402
+ ),
403
+ ),
404
+ 'Bxs': (
405
+ 'properties': box-sizing,
406
+ 'keywords': (
407
+ '': border-box,
408
+ 'bb': border-box,
409
+ 'cb': content-box,
410
+ ),
411
+ ),
412
+ 'Mnw': (
413
+ 'properties': min-width,
414
+ 'keywords': 'sizing',
415
+ ),
416
+ 'Mxw': (
417
+ 'properties': max-width,
418
+ 'keywords': 'sizing',
419
+ ),
420
+ 'Mnh': (
421
+ 'properties': min-height,
422
+ 'keywords': 'sizing',
423
+ ),
424
+ 'Mxh': (
425
+ 'properties': max-height,
426
+ 'keywords': 'sizing',
427
+ ),
428
+ '-Sz': (
429
+ 'properties': (width, height),
430
+ 'keywords': 'sizing',
431
+ ),
432
+ 'Tbl': (
433
+ 'properties': table-layout,
434
+ 'keywords': (
435
+ 'f': fixed,
436
+ ),
437
+ ),
438
+
439
+ 'M': margin,
440
+ 'Mt': margin-top,
441
+ 'Mr': margin-right,
442
+ 'Mb': margin-bottom,
443
+ 'Ml': margin-left,
444
+ '-Mx': (
445
+ 'properties': (
446
+ margin-right, margin-left
447
+ ),
448
+ ),
449
+ '-My': (
450
+ 'properties': (
451
+ margin-top, margin-bottom
452
+ ),
453
+ ),
454
+
455
+ 'P': padding,
456
+ 'Pt': padding-top,
457
+ 'Pr': padding-right,
458
+ 'Pb': padding-bottom,
459
+ 'Pl': padding-left,
460
+ '-Px': (
461
+ 'properties': (
462
+ padding-right, padding-left
463
+ ),
464
+ ),
465
+ '-Py': (
466
+ 'properties': (
467
+ padding-top, padding-bottom
468
+ ),
469
+ ),
470
+
471
+ 'Ov': (
472
+ 'properties': overflow,
473
+ 'keywords': 'overflow',
474
+ ),
475
+ 'Ovx': (
476
+ 'properties': overflow-x,
477
+ 'keywords': 'overflow',
478
+ ),
479
+ 'Ovy': (
480
+ 'properties': overflow-y,
481
+ 'keywords': 'overflow',
482
+ ),
483
+
484
+ // TYPOGRAPHY
485
+ 'C': (
486
+ 'properties': color,
487
+ 'range-generator': 'color',
488
+ 'conversion': 'color',
489
+ ),
490
+ 'Fn': font,
491
+ 'Fnw': (
492
+ 'properties': font-weight,
493
+ 'conversion': 'kw-num-length',
494
+ 'keywords': (
495
+ 'b': bold,
496
+ 'bd': bolder,
497
+ 'l': lighter,
498
+ 'n': normal,
499
+ ),
500
+ ),
501
+ 'Fns': (
502
+ 'properties': font-size,
503
+ 'keywords': 'font-size',
504
+ ),
505
+ '-Fns': (
506
+ 'properties': (
507
+ font-size,
508
+ line-height,
509
+ letter-spacing,
510
+ ),
511
+ 'repeat-prop-values': false,
512
+ 'keywords': 'font-size',
513
+ ),
514
+ 'Fnf': (
515
+ 'properties': font-family,
516
+ 'keywords': (
517
+ 'mUss': (ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'),
518
+ 'mUsr': (ui-serif, Georgia, Cambria, Times, 'Times New Roman', serif),
519
+ 'mUm': (ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace),
520
+ ),
521
+ ),
522
+ 'Fnst': (
523
+ 'properties': font-style,
524
+ 'keywords': (
525
+ '': italic,
526
+ 'i': italic,
527
+ 'n': normal,
528
+ 'o': oblique,
529
+ ),
530
+ ),
531
+ 'Lnh': (
532
+ 'properties': line-height,
533
+ 'conversion': 'kw-num-length',
534
+ 'keywords': (
535
+ 'n': normal,
536
+ ),
537
+ ),
538
+ 'Lts': (
539
+ 'properties': letter-spacing,
540
+ 'keywords': (
541
+ 'n': normal,
542
+ ),
543
+ ),
544
+ 'Whs': (
545
+ 'properties': white-space,
546
+ 'keywords': (
547
+ '': nowrap,
548
+ 'n': nowrap,
549
+ 'nm': normal,
550
+ 'p': pre,
551
+ 'pw': pre-wrap,
552
+ 'pl': pre-line,
553
+ ),
554
+ ),
555
+ 'Txa': (
556
+ 'properties': text-align,
557
+ 'keywords': (
558
+ '': center,
559
+ 'c': center,
560
+ 'e': end,
561
+ 'j': justify,
562
+ 'l': left,
563
+ 'mp': match-parent,
564
+ 'r': right,
565
+ 's': start,
566
+ ),
567
+ ),
568
+ 'Txt': (
569
+ 'properties': text-transform,
570
+ 'keywords': (
571
+ '': uppercase,
572
+ 'c': capitalize,
573
+ 'l': lowercase,
574
+ 'u': uppercase,
575
+ ),
576
+ ),
577
+ 'Txuo': text-underline-offset,
578
+ 'Txi': (
579
+ 'properties': text-indent,
580
+ 'keywords': (
581
+ 'h': hanging,
582
+ 'el': each-line,
583
+ ),
584
+ ),
585
+ 'Txor': (
586
+ 'properties': text-orientation,
587
+ 'keywords': (
588
+ 'm': mixed,
589
+ 'u': upright,
590
+ 's': sideways,
591
+ ),
592
+ ),
593
+ 'Wrb': (
594
+ 'properties': word-break,
595
+ 'keywords': (
596
+ 'ba': break-all,
597
+ 'ka': keep-all,
598
+ 'n': normal,
599
+ ),
600
+ ),
601
+ 'Ovw': (
602
+ 'properties': overflow-wrap,
603
+ 'keywords': (
604
+ 'a': anywhere,
605
+ 'bw': break-word,
606
+ 'n': normal,
607
+ ),
608
+ ),
609
+ 'Wtm': (
610
+ 'properties': writing-mode,
611
+ 'keywords': (
612
+ 'ht': horizontal-tb,
613
+ 'vr': vertical-rl,
614
+ 'vl': vertical-lr,
615
+ ),
616
+ ),
617
+
618
+ 'Txd': (
619
+ 'properties': text-decoration,
620
+ 'keywords': ('text-decoration', 'line-style'),
621
+ 'conversion': 'outline',
622
+ ),
623
+ 'Txdc': (
624
+ 'properties': text-decoration-color,
625
+ 'range-generator': 'color',
626
+ 'conversion': 'color',
627
+ ),
628
+ 'Txdl': (
629
+ 'properties': text-decoration-line,
630
+ 'keywords': 'text-decoration',
631
+ ),
632
+ 'Txdst': (
633
+ 'properties': text-decoration-style,
634
+ 'keywords': 'line-style',
635
+ ),
636
+ 'Txdt': (
637
+ 'properties': text-decoration-thickness,
638
+ 'keywords': 'text-decoration',
639
+ ),
640
+
641
+ 'Txs': (
642
+ 'properties': text-shadow,
643
+ 'conversion': 'outline',
644
+ 'multi-list-separator': ml.$tULs1,
645
+ ),
646
+ 'Va': (
647
+ 'properties': vertical-align,
648
+ 'keywords': (
649
+ '': middle,
650
+ 'b': bottom,
651
+ 'bl': baseline,
652
+ 'm': middle,
653
+ 'sb': sub,
654
+ 'sp': super,
655
+ 't': top,
656
+ 'txb': text-bottom,
657
+ 'txt': text-top,
658
+ ),
659
+ ),
660
+ 'Txo': (
661
+ 'properties': text-overflow,
662
+ 'keywords': (
663
+ '': ellipsis,
664
+ 'c': clip,
665
+ 'e': ellipsis,
666
+ ),
667
+ ),
668
+ '-Txo': (
669
+ 'properties': (
670
+ text-overflow, overflow, white-space,
671
+ ),
672
+ 'repeat-prop-values': false,
673
+ 'keywords': (
674
+ '': (ellipsis, hidden, nowrap),
675
+ ),
676
+ ),
677
+ 'Hp': (
678
+ 'properties': hyphens,
679
+ 'keywords': (
680
+ 'm': manual,
681
+ ),
682
+ ),
683
+ 'Tas': (
684
+ 'properties': tab-size,
685
+ 'conversion': 'num-length',
686
+ ),
687
+ 'Lss': (
688
+ 'properties': list-style,
689
+ 'keywords': (Lsst, Lssp),
690
+ ),
691
+ 'Lsst': (
692
+ 'properties': list-style-type,
693
+ 'keywords': (
694
+ 'd': disc,
695
+ 'c': circle,
696
+ 's': square,
697
+ 'dc': decimal,
698
+ 'dclz': decimal-leading-zero,
699
+ 'la': lower-alpha,
700
+ 'lr': lower-roman,
701
+ 'lg': lower-greek,
702
+ 'll': lower-latin,
703
+ 'ua': upper-alpha,
704
+ 'ul': upper-latin,
705
+ 'ur': upper-roman,
706
+ ),
707
+ ),
708
+ 'Lssp': (
709
+ 'properties': list-style-position,
710
+ 'keywords': (
711
+ 'i': inside,
712
+ 'o': outside,
713
+ ),
714
+ ),
715
+
716
+ // BACKGROUND
717
+ 'Bg': (
718
+ 'properties': background,
719
+ 'conversion': 'outline',
720
+ 'multi-list-separator': ml.$tULs1,
721
+ ),
722
+ 'Bgc': (
723
+ 'properties': background-color,
724
+ 'range-generator': 'color',
725
+ 'conversion': 'color',
726
+ ),
727
+ 'Bgr': (
728
+ 'properties': background-repeat,
729
+ 'keywords': (
730
+ '': no-repeat,
731
+ 'nr': no-repeat,
732
+ 'rx': repeat-x,
733
+ 'ry': repeat-y,
734
+ 'r': repeat,
735
+ 's': space,
736
+ 'rn': round,
737
+ )
738
+ ),
739
+ 'Bgp': (
740
+ 'properties': background-position,
741
+ 'keywords': 'position'
742
+ ),
743
+ 'Bgs': (
744
+ 'properties': background-size,
745
+ 'keywords': (
746
+ 'ct': contain,
747
+ 'cv': cover,
748
+ ),
749
+ ),
750
+ 'Bga': (
751
+ 'properties': background-attachment,
752
+ 'keywords': (
753
+ 'f': fixed,
754
+ 'l': local,
755
+ 's': scroll,
756
+ ),
757
+ ),
758
+ 'Bgcl': (
759
+ 'properties': background-clip,
760
+ 'keywords': 'box-ext',
761
+ ),
762
+ 'Bgo': (
763
+ 'properties': background-origin,
764
+ 'keywords': 'box-ext',
765
+ ),
766
+ 'Bgi': (
767
+ 'properties': background-image,
768
+ ),
769
+ '-Gdl': (
770
+ 'properties': background-image,
771
+ 'transformer': 'gradient',
772
+ 'css-function': 'linear-gradient',
773
+ 'conversion': 'gradient',
774
+ 'multi-list-separator': ml.$tULs1,
775
+ 'keywords': ('position', 'gradients'),
776
+ ),
777
+ '-Gdrl': (
778
+ 'properties': background-image,
779
+ 'transformer': 'gradient',
780
+ 'conversion': 'gradient',
781
+ 'css-function': 'repeating-linear-gradient',
782
+ 'multi-list-separator': ml.$tULs1,
783
+ 'keywords': ('position', 'gradients'),
784
+ ),
785
+
786
+ // TRANSFORM
787
+ 'Tf': (
788
+ 'properties': (
789
+ transform,
790
+ $cv-pref + 'trx',
791
+ $cv-pref + 'try',
792
+ $cv-pref + 'sx',
793
+ $cv-pref + 'sy',
794
+ $cv-pref + 'rt',
795
+ $cv-pref + 'skx',
796
+ $cv-pref + 'sky',
797
+ ),
798
+ 'repeat-prop-values': false,
799
+ 'keywords': (
800
+ '': (
801
+ (
802
+ translateX(var(#{$cv-pref}trx))
803
+ translateY(var(#{$cv-pref}try))
804
+ scaleX(var(#{$cv-pref}sx))
805
+ scaleY(var(#{$cv-pref}sy))
806
+ rotate(var(#{$cv-pref}rt))
807
+ skewX(var(#{$cv-pref}skx))
808
+ skewY(var(#{$cv-pref}sky))
809
+ ),
810
+ 0, 0, 1, 1, 0, 0, 0,
811
+ ),
812
+ 'mGpu': (
813
+ (
814
+ translate3d(var(#{$cv-pref}trx), var(#{$cv-pref}try), 0)
815
+ scaleX(var(#{$cv-pref}sx))
816
+ scaleY(var(#{$cv-pref}sy))
817
+ rotate(var(#{$cv-pref}rt))
818
+ skewX(var(#{$cv-pref}skx))
819
+ skewY(var(#{$cv-pref}sky))
820
+ ),
821
+ 0, 0, 1, 1, 0, 0, 0,
822
+ ),
823
+ ),
824
+ ),
825
+ 'Tfo': (
826
+ 'properties': transform-origin,
827
+ 'keywords': 'position'
828
+ ),
829
+ '-Tr': (
830
+ 'properties': (
831
+ $cv-pref + 'trx',
832
+ $cv-pref + 'try',
833
+ ),
834
+ ),
835
+ '-Trx': $cv-pref + 'trx',
836
+ '-S': (
837
+ 'properties': (
838
+ $cv-pref + 'sx',
839
+ $cv-pref + 'sy',
840
+ ),
841
+ 'conversion': 'num-percent',
842
+ ),
843
+ '-Sx': (
844
+ 'conversion': 'num-percent',
845
+ ),
846
+ '-Sy': (
847
+ 'conversion': 'num-percent',
848
+ ),
849
+ '-Sk': (
850
+ 'properties': (
851
+ $cv-pref + 'skx',
852
+ $cv-pref + 'sky',
853
+ ),
854
+ 'conversion': 'angle',
855
+ ),
856
+ '-Skx': (
857
+ 'conversion': 'angle',
858
+ ),
859
+ '-Sky': (
860
+ 'conversion': 'angle',
861
+ ),
862
+ '-Rt': (
863
+ 'conversion': 'angle',
864
+ ),
865
+
866
+ // VISUAL
867
+ 'Ol': (
868
+ 'properties': outline,
869
+ 'conversion': 'outline',
870
+ 'keywords': ('line-style', 'line-width'),
871
+ ),
872
+ 'Olw': (
873
+ 'properties': outline-width,
874
+ 'keywords': 'line-width',
875
+ ),
876
+ 'Olc': (
877
+ 'properties': outline-color,
878
+ 'conversion': 'color',
879
+ ),
880
+ 'Ols': (
881
+ 'properties': outline-style,
882
+ 'keywords': 'line-style',
883
+ ),
884
+ 'Olo': outline-offset,
885
+
886
+ 'Bxsd': (
887
+ 'properties': box-shadow,
888
+ 'conversion': 'outline',
889
+ 'multi-list-separator': ml.$tULs1,
890
+ 'keywords': (
891
+ 'i': inset,
892
+ ),
893
+ ),
894
+ 'Bxdb': (
895
+ 'properties': box-decoration-break,
896
+ 'keywords': (
897
+ 's': slice,
898
+ 'c': clone,
899
+ ),
900
+ ),
901
+ 'Vs': (
902
+ 'properties': visibility,
903
+ 'keywords': 'visibility',
904
+ ),
905
+ 'Cs': (
906
+ 'properties': cursor,
907
+ 'keywords': (
908
+ '': pointer,
909
+ 'c': cell,
910
+ 'clr': col-resize,
911
+ 'cp': copy,
912
+ 'ch': crosshair,
913
+ 'd': default,
914
+ 'er': e-resize,
915
+ 'ewr': ew-resize,
916
+ 'g': grab,
917
+ 'gb': grabbing,
918
+ 'h': help,
919
+ 'm': move,
920
+ 'nr': n-resize,
921
+ 'nta': not-allowed,
922
+ 'ner': ne-resize,
923
+ 'neswr': nesw-resize,
924
+ 'nwser': nwse-resize,
925
+ 'nsr': ns-resize,
926
+ 'nwr': nw-resize,
927
+ 'p': pointer,
928
+ 'pr': progress,
929
+ 'rr': row-resize,
930
+ 'sr': s-resize,
931
+ 'ser': se-resize,
932
+ 'swr': sw-resize,
933
+ 't': text,
934
+ 'vt': vertical-text,
935
+ 'wr': w-resize,
936
+ 'wt': wait,
937
+ 'zi': zoom-in,
938
+ 'zo': zoom-out,
939
+ ),
940
+ ),
941
+ 'O': (
942
+ 'properties': opacity,
943
+ 'conversion': 'num-percent',
944
+ ),
945
+ 'Bfv': (
946
+ 'properties': backface-visibility,
947
+ 'keywords': 'visibility',
948
+ ),
949
+ 'Ojf': (
950
+ 'properties': object-fit,
951
+ 'keywords': (
952
+ '': cover,
953
+ 'ct': contain,
954
+ 'cv': cover,
955
+ 'f': fill,
956
+ 'sd': scale-down,
957
+ ),
958
+ ),
959
+ 'Ojp': (
960
+ 'properties': object-position,
961
+ 'keywords': 'position'
962
+ ),
963
+ 'Is': (
964
+ 'properties': isolation,
965
+ 'keywords': (
966
+ 'i': isolate,
967
+ ),
968
+ ),
969
+ 'Ft': (
970
+ 'properties': (
971
+ filter,
972
+ $cv-pref + 'blr',
973
+ $cv-pref + 'bn',
974
+ $cv-pref + 'ctr',
975
+ $cv-pref + 'drps',
976
+ $cv-pref + 'gra',
977
+ $cv-pref + 'hur',
978
+ $cv-pref + 'iv',
979
+ $cv-pref + 'sa',
980
+ $cv-pref + 'sp',
981
+ ),
982
+ 'repeat-prop-values': false,
983
+ 'keywords': (
984
+ '': (
985
+ (
986
+ var(#{$cv-pref}blr)
987
+ var(#{$cv-pref}bn)
988
+ var(#{$cv-pref}ctr)
989
+ var(#{$cv-pref}drps)
990
+ var(#{$cv-pref}gra)
991
+ var(#{$cv-pref}hur)
992
+ var(#{$cv-pref}iv)
993
+ var(#{$cv-pref}sa)
994
+ var(#{$cv-pref}sp)
995
+ ),
996
+ var(--ml-, string.unquote('/*!*/ ')),
997
+ var(--ml-, string.unquote('/*!*/ ')),
998
+ var(--ml-, string.unquote('/*!*/ ')),
999
+ var(--ml-, string.unquote('/*!*/ ')),
1000
+ var(--ml-, string.unquote('/*!*/ ')),
1001
+ var(--ml-, string.unquote('/*!*/ ')),
1002
+ var(--ml-, string.unquote('/*!*/ ')),
1003
+ var(--ml-, string.unquote('/*!*/ ')),
1004
+ var(--ml-, string.unquote('/*!*/ ')),
1005
+ ),
1006
+ ),
1007
+ ),
1008
+ '-Blr': (
1009
+ 'css-function': 'blur',
1010
+ 'transformer': 'to-css-fn',
1011
+ ),
1012
+ '-Bn': (
1013
+ 'css-function': 'brightness',
1014
+ 'transformer': 'to-css-fn',
1015
+ 'conversion': 'num-percent',
1016
+ ),
1017
+ '-Ctr': (
1018
+ 'css-function': 'contrast',
1019
+ 'transformer': 'to-css-fn',
1020
+ 'conversion': 'num-percent',
1021
+ ),
1022
+ '-Drps': (
1023
+ 'css-function': 'drop-shadow',
1024
+ 'transformer': 'to-css-fn',
1025
+ 'multi-list-separator': ml.$tULs1,
1026
+ 'conversion': 'outline',
1027
+ ),
1028
+ '-Gra': (
1029
+ 'css-function': 'grayscale',
1030
+ 'transformer': 'to-css-fn',
1031
+ 'conversion': 'num-percent',
1032
+ ),
1033
+ '-Hur': (
1034
+ 'css-function': 'hue-rotate',
1035
+ 'transformer': 'to-css-fn',
1036
+ 'conversion': 'angle',
1037
+ ),
1038
+ '-Iv': (
1039
+ 'css-function': 'invert',
1040
+ 'transformer': 'to-css-fn',
1041
+ 'conversion': 'num-percent',
1042
+ ),
1043
+ '-O': (
1044
+ 'css-function': 'opacity',
1045
+ 'transformer': 'to-css-fn',
1046
+ 'conversion': 'num-percent',
1047
+ ),
1048
+ '-Sa': (
1049
+ 'css-function': 'saturate',
1050
+ 'transformer': 'to-css-fn',
1051
+ 'conversion': 'num-percent',
1052
+ ),
1053
+ '-Sp': (
1054
+ 'css-function': 'sepia',
1055
+ 'transformer': 'to-css-fn',
1056
+ 'conversion': 'num-percent',
1057
+ ),
1058
+ 'Bcf': (
1059
+ 'properties': (
1060
+ backdrop-filter,
1061
+ $cv-pref + 'blr',
1062
+ $cv-pref + 'bn',
1063
+ $cv-pref + 'ctr',
1064
+ $cv-pref + 'gra',
1065
+ $cv-pref + 'hur',
1066
+ $cv-pref + 'iv',
1067
+ $cv-pref + 'o',
1068
+ $cv-pref + 'sa',
1069
+ $cv-pref + 'sp',
1070
+ ),
1071
+ 'repeat-prop-values': false,
1072
+ 'keywords': (
1073
+ '': (
1074
+ (
1075
+ var(#{$cv-pref}blr)
1076
+ var(#{$cv-pref}bn)
1077
+ var(#{$cv-pref}ctr)
1078
+ var(#{$cv-pref}gra)
1079
+ var(#{$cv-pref}hur)
1080
+ var(#{$cv-pref}iv)
1081
+ var(#{$cv-pref}o)
1082
+ var(#{$cv-pref}sa)
1083
+ var(#{$cv-pref}sp)
1084
+ ),
1085
+ var(--ml-, string.unquote('/*!*/ ')),
1086
+ var(--ml-, string.unquote('/*!*/ ')),
1087
+ var(--ml-, string.unquote('/*!*/ ')),
1088
+ var(--ml-, string.unquote('/*!*/ ')),
1089
+ var(--ml-, string.unquote('/*!*/ ')),
1090
+ var(--ml-, string.unquote('/*!*/ ')),
1091
+ var(--ml-, string.unquote('/*!*/ ')),
1092
+ var(--ml-, string.unquote('/*!*/ ')),
1093
+ var(--ml-, string.unquote('/*!*/ ')),
1094
+ ),
1095
+ ),
1096
+ ),
1097
+ '-Bcf': (
1098
+ 'properties': (
1099
+ backdrop-filter,
1100
+ $cv-pref + 'bcfb',
1101
+ $cv-pref + 'bcfbn',
1102
+ $cv-pref + 'bcfc',
1103
+ $cv-pref + 'bcfg',
1104
+ $cv-pref + 'bcfhr',
1105
+ $cv-pref + 'bcfi',
1106
+ $cv-pref + 'bcfo',
1107
+ $cv-pref + 'bcfs',
1108
+ $cv-pref + 'bcfsp',
1109
+ ),
1110
+ 'repeat-prop-values': false,
1111
+ 'keywords': (
1112
+ '': (
1113
+ (
1114
+ var(#{$cv-pref}bcfb)
1115
+ var(#{$cv-pref}bcfbn)
1116
+ var(#{$cv-pref}bcfc)
1117
+ var(#{$cv-pref}bcfg)
1118
+ var(#{$cv-pref}bcfhr)
1119
+ var(#{$cv-pref}bcfi)
1120
+ var(#{$cv-pref}bcfo)
1121
+ var(#{$cv-pref}bcfs)
1122
+ var(#{$cv-pref}bcfsp)
1123
+ ),
1124
+ var(--ml-, string.unquote('/*!*/ ')),
1125
+ var(--ml-, string.unquote('/*!*/ ')),
1126
+ var(--ml-, string.unquote('/*!*/ ')),
1127
+ var(--ml-, string.unquote('/*!*/ ')),
1128
+ var(--ml-, string.unquote('/*!*/ ')),
1129
+ var(--ml-, string.unquote('/*!*/ ')),
1130
+ var(--ml-, string.unquote('/*!*/ ')),
1131
+ var(--ml-, string.unquote('/*!*/ ')),
1132
+ var(--ml-, string.unquote('/*!*/ ')),
1133
+ ),
1134
+ ),
1135
+ ),
1136
+ '-Bcfb': (
1137
+ 'css-function': 'blur',
1138
+ 'transformer': 'to-css-fn',
1139
+ ),
1140
+ '-Bcfbn': (
1141
+ 'css-function': 'brightness',
1142
+ 'transformer': 'to-css-fn',
1143
+ 'conversion': 'num-percent',
1144
+ ),
1145
+ '-Bcfc': (
1146
+ 'css-function': 'contrast',
1147
+ 'transformer': 'to-css-fn',
1148
+ 'conversion': 'num-percent',
1149
+ ),
1150
+ '-Bcfg': (
1151
+ 'css-function': 'grayscale',
1152
+ 'transformer': 'to-css-fn',
1153
+ 'conversion': 'num-percent',
1154
+ ),
1155
+ '-Bcfhr': (
1156
+ 'css-function': 'hue-rotate',
1157
+ 'transformer': 'to-css-fn',
1158
+ 'conversion': 'angle',
1159
+ ),
1160
+ '-Bcfi': (
1161
+ 'css-function': 'invert',
1162
+ 'transformer': 'to-css-fn',
1163
+ 'conversion': 'num-percent',
1164
+ ),
1165
+ '-Bcfo': (
1166
+ 'css-function': 'opacity',
1167
+ 'transformer': 'to-css-fn',
1168
+ 'conversion': 'num-percent',
1169
+ ),
1170
+ '-Bcfs': (
1171
+ 'css-function': 'saturate',
1172
+ 'transformer': 'to-css-fn',
1173
+ 'conversion': 'num-percent',
1174
+ ),
1175
+ '-Bcfsp': (
1176
+ 'css-function': 'sepia',
1177
+ 'transformer': 'to-css-fn',
1178
+ 'conversion': 'num-percent',
1179
+ ),
1180
+
1181
+ // BORDER
1182
+ 'Bd': (
1183
+ 'properties': border,
1184
+ 'conversion': 'outline',
1185
+ 'keywords': $-bd-kw-links,
1186
+ ),
1187
+ 'Bdt': (
1188
+ 'properties': border-top,
1189
+ 'conversion': 'outline',
1190
+ 'keywords': $-bd-kw-links,
1191
+ ),
1192
+ 'Bdr': (
1193
+ 'properties': border-right,
1194
+ 'conversion': 'outline',
1195
+ 'keywords': $-bd-kw-links,
1196
+ ),
1197
+ 'Bdb': (
1198
+ 'properties': border-bottom,
1199
+ 'conversion': 'outline',
1200
+ 'keywords': $-bd-kw-links,
1201
+ ),
1202
+ 'Bdl': (
1203
+ 'properties': border-left,
1204
+ 'conversion': 'outline',
1205
+ 'keywords': $-bd-kw-links,
1206
+ ),
1207
+ '-Bdx': (
1208
+ 'properties': (
1209
+ border-right, border-left,
1210
+ ),
1211
+ 'conversion': 'outline',
1212
+ 'keywords': $-bd-kw-links,
1213
+ ),
1214
+ '-Bdy': (
1215
+ 'properties': (
1216
+ border-top, border-bottom,
1217
+ ),
1218
+ 'conversion': 'outline',
1219
+ 'keywords': $-bd-kw-links,
1220
+ ),
1221
+
1222
+ 'Bdc': (
1223
+ 'properties': border-color,
1224
+ 'range-generator': 'color',
1225
+ 'conversion': 'color',
1226
+ ),
1227
+ 'Bdtc': (
1228
+ 'properties': border-top-color,
1229
+ 'conversion': 'color',
1230
+ ),
1231
+ 'Bdrc': (
1232
+ 'properties': border-right-color,
1233
+ 'conversion': 'color',
1234
+ ),
1235
+ 'Bdbc': (
1236
+ 'properties': border-bottom-color,
1237
+ 'conversion': 'color',
1238
+ ),
1239
+ 'Bdlc': (
1240
+ 'properties': border-left-color,
1241
+ 'conversion': 'color',
1242
+ ),
1243
+ '-Bdxc': (
1244
+ 'properties': (
1245
+ border-right-color, border-left-color
1246
+ ),
1247
+ 'conversion': 'color',
1248
+ ),
1249
+ '-Bdyc': (
1250
+ 'properties': (
1251
+ border-top-color, border-bottom-color
1252
+ ),
1253
+ 'conversion': 'color',
1254
+ ),
1255
+
1256
+ 'Bds': (
1257
+ 'properties': border-style,
1258
+ 'keywords': 'line-style',
1259
+ ),
1260
+ 'Bdts': (
1261
+ 'properties': border-top-style,
1262
+ 'keywords': 'line-style',
1263
+ ),
1264
+ 'Bdrs': (
1265
+ 'properties': border-right-style,
1266
+ 'keywords': 'line-style',
1267
+ ),
1268
+ 'Bdbs': (
1269
+ 'properties': border-bottom-style,
1270
+ 'keywords': 'line-style',
1271
+ ),
1272
+ 'Bdls': (
1273
+ 'properties': border-left-style,
1274
+ 'keywords': 'line-style',
1275
+ ),
1276
+ '-Bdxs': (
1277
+ 'properties': (
1278
+ border-right-style,
1279
+ border-left-style,
1280
+ ),
1281
+ 'keywords': 'line-style',
1282
+ ),
1283
+ '-Bdys': (
1284
+ 'properties': (
1285
+ border-top-style,
1286
+ border-bottom-style,
1287
+ ),
1288
+ 'keywords': 'line-style',
1289
+ ),
1290
+
1291
+ 'Bdw': (
1292
+ 'properties': border-width,
1293
+ 'keywords': 'line-width',
1294
+ ),
1295
+ 'Bdtw': (
1296
+ 'properties': border-top-width,
1297
+ 'keywords': 'line-width',
1298
+ ),
1299
+ 'Bdrw': (
1300
+ 'properties': border-right-width,
1301
+ 'keywords': 'line-width',
1302
+ ),
1303
+ 'Bdbw': (
1304
+ 'properties': border-bottom-width,
1305
+ 'keywords': 'line-width',
1306
+ ),
1307
+ 'Bdlw': (
1308
+ 'properties': border-left-width,
1309
+ 'keywords': 'line-width',
1310
+ ),
1311
+ '-Bdxw': (
1312
+ 'properties': (
1313
+ border-right-width,
1314
+ border-left-width,
1315
+ ),
1316
+ 'keywords': 'line-width',
1317
+ ),
1318
+ '-Bdyw': (
1319
+ 'properties': (
1320
+ border-top-width,
1321
+ border-bottom-width,
1322
+ ),
1323
+ 'keywords': 'line-width',
1324
+ ),
1325
+
1326
+ 'Bdcl': (
1327
+ 'properties': border-collapse,
1328
+ 'keywords': (
1329
+ '': collapse,
1330
+ 'c': collapse,
1331
+ 's': separate,
1332
+ ),
1333
+ ),
1334
+ 'Bdrd': (
1335
+ 'properties': border-radius,
1336
+ 'multi-list-separator': ml.$tULs2,
1337
+ ),
1338
+ 'Bdtrr': border-top-right-radius,
1339
+ 'Bdtlr': border-top-left-radius,
1340
+ 'Bdbrr': border-bottom-right-radius,
1341
+ 'Bdblr': border-bottom-left-radius,
1342
+ '-Bdtrd': (
1343
+ 'properties': (
1344
+ border-top-right-radius,
1345
+ border-top-left-radius,
1346
+ ),
1347
+ ),
1348
+ '-Bdbrd': (
1349
+ 'properties': (
1350
+ border-bottom-right-radius,
1351
+ border-bottom-left-radius,
1352
+ ),
1353
+ ),
1354
+
1355
+ // TRANSITION AND ANIMATION
1356
+ 'Ts': (
1357
+ 'properties': transition,
1358
+ 'conversion': 'abbr-kw',
1359
+ 'multi-list-separator': ml.$tULs1,
1360
+ ),
1361
+ '-Ts': (
1362
+ 'preset-properties': (
1363
+ 'transition-duration': ml.$css-transition-time,
1364
+ ),
1365
+ 'properties': transition-property,
1366
+ 'conversion': 'abbr-kw',
1367
+ 'multi-list-separator': ml.$tULs1,
1368
+ 'keywords': 'transition-props'
1369
+ ),
1370
+ 'Tsp': (
1371
+ 'properties': transition-property,
1372
+ 'conversion': 'abbr-kw',
1373
+ 'multi-list-separator': ml.$tULs1,
1374
+ 'keywords': 'transition-props'
1375
+ ),
1376
+ 'Tsd': (
1377
+ 'properties': transition-duration,
1378
+ 'multi-list-separator': ml.$tULs1,
1379
+ ),
1380
+ 'Tsdl': (
1381
+ 'properties': transition-delay,
1382
+ 'multi-list-separator': ml.$tULs1,
1383
+ ),
1384
+ 'Tstf': (
1385
+ 'properties': transition-timing-function,
1386
+ 'multi-list-separator': ml.$tULs1,
1387
+ 'keywords': 'easing-function'
1388
+ ),
1389
+
1390
+ 'An': (
1391
+ 'properties': animation,
1392
+ 'conversion': 'kw-num-length',
1393
+ 'multi-list-separator': ml.$tULs1,
1394
+ 'keywords': (
1395
+ // TODO: maybe try to optimize it and combine a part of keywords to one map
1396
+ 'animation', 'easing-function', 'infinite', Andr, Anfm, Anps,
1397
+ ),
1398
+ ),
1399
+ 'Ann': (
1400
+ 'properties': animation-name,
1401
+ 'multi-list-separator': ml.$tULs1,
1402
+ 'keywords': 'animation',
1403
+ ),
1404
+ 'And': (
1405
+ 'properties': animation-duration,
1406
+ 'multi-list-separator': ml.$tULs1,
1407
+ ),
1408
+ 'Andl': (
1409
+ 'properties': animation-delay,
1410
+ 'multi-list-separator': ml.$tULs1,
1411
+ ),
1412
+ 'Antf': (
1413
+ 'properties': animation-timing-function,
1414
+ 'multi-list-separator': ml.$tULs1,
1415
+ 'keywords': 'easing-function'
1416
+ ),
1417
+ 'Anic': (
1418
+ 'properties': animation-iteration-count,
1419
+ 'conversion': 'kw-num-length',
1420
+ 'multi-list-separator': ml.$tULs1,
1421
+ 'keywords': 'infinite',
1422
+ ),
1423
+ 'Andr': (
1424
+ 'properties': animation-direction,
1425
+ 'multi-list-separator': ml.$tULs1,
1426
+ 'keywords': (
1427
+ 'a': alternate,
1428
+ 'ar': alternate-reverse,
1429
+ 'nm': normal,
1430
+ 'r': reverse,
1431
+ ),
1432
+ ),
1433
+ 'Anfm': (
1434
+ 'properties': animation-fill-mode,
1435
+ 'multi-list-separator': ml.$tULs1,
1436
+ 'keywords': (
1437
+ 'b': backwards,
1438
+ 'bt': both,
1439
+ 'f': forwards,
1440
+ ),
1441
+ ),
1442
+ 'Anps': (
1443
+ 'properties': animation-play-state,
1444
+ 'multi-list-separator': ml.$tULs1,
1445
+ 'keywords': (
1446
+ 'p': paused,
1447
+ 'r': running,
1448
+ 'rn': running,
1449
+ ),
1450
+ ),
1451
+
1452
+ // OTHER
1453
+ 'Ap': (
1454
+ 'properties': appearance,
1455
+ 'keywords': (
1456
+ '': none,
1457
+ ),
1458
+ ),
1459
+ 'Acnc': (
1460
+ 'properties': accent-color,
1461
+ 'conversion': 'color',
1462
+ ),
1463
+ 'Crc': (
1464
+ 'properties': caret-color,
1465
+ 'conversion': 'color',
1466
+ ),
1467
+ 'Pne': (
1468
+ 'properties': pointer-events,
1469
+ 'keywords': (
1470
+ '': none,
1471
+ ),
1472
+ ),
1473
+ 'Us': (
1474
+ 'properties': user-select,
1475
+ 'keywords': (
1476
+ '': none,
1477
+ 't': text,
1478
+ 'c': contain,
1479
+ )
1480
+ ),
1481
+ 'Scb': (
1482
+ 'properties': scroll-behavior,
1483
+ 'keywords': (
1484
+ 's': smooth,
1485
+ ),
1486
+ ),
1487
+ 'Ovsb': (
1488
+ 'properties': overscroll-behavior,
1489
+ 'keywords': 'overscroll',
1490
+ ),
1491
+ 'Ovsbx': (
1492
+ 'properties': overscroll-behavior-x,
1493
+ 'keywords': 'overscroll',
1494
+ ),
1495
+ 'Ovsby': (
1496
+ 'properties': overscroll-behavior-y,
1497
+ 'keywords': 'overscroll',
1498
+ ),
1499
+ 'Rs': (
1500
+ 'properties': resize,
1501
+ 'keywords': (
1502
+ '': none,
1503
+ 'b': both,
1504
+ 'h': horizontal,
1505
+ 'v': vertical,
1506
+ ),
1507
+ ),
1508
+ 'Ct': (
1509
+ 'properties': content,
1510
+ 'keywords': (
1511
+ '': string.unquote("''"),
1512
+ 'nm': normal,
1513
+ 'oq': open-quote,
1514
+ 'cq': close-quote,
1515
+ 'noq': no-open-quote,
1516
+ 'ncq': no-close-quote,
1517
+ 'ct': contents,
1518
+ 'mAtt': attr(data-#{ml.$css-var-prefix}ct),
1519
+ ),
1520
+ ),
1521
+ '-All': (
1522
+ 'properties': (
1523
+ margin, padding, font, list-style, border,
1524
+ ),
1525
+ 'repeat-prop-values': false,
1526
+ 'keywords': (
1527
+ 'sr': (0, 0, inherit, none, 0),
1528
+ ),
1529
+ ),
1530
+ 'All': (
1531
+ 'properties': all,
1532
+ 'keywords': 'css',
1533
+ ),
1534
+ 'Ec': (
1535
+ 'properties': empty-cells,
1536
+ 'keywords': (
1537
+ 's': show,
1538
+ 'h': hide,
1539
+ ),
1540
+ ),
1541
+ 'Cps': (
1542
+ 'properties': caption-side,
1543
+ 'keywords': 'position'
1544
+ ),
1545
+ 'Wlc': (
1546
+ 'properties': will-change,
1547
+ 'conversion': 'abbr-kw',
1548
+ 'keywords': (
1549
+ 'sps': scroll-position,
1550
+ 'ctn': contents,
1551
+ ),
1552
+ ),
1553
+ 'Ctv': (
1554
+ 'properties': content-visibility,
1555
+ 'keywords': ('ct-visibility', 'visibility')
1556
+ ),
1557
+ 'Tca': (
1558
+ 'properties': touch-action,
1559
+ 'keywords': (
1560
+ 'm': manipulation,
1561
+ 'pl': pan-left,
1562
+ 'pr': pan-right,
1563
+ 'pu': pan-up,
1564
+ 'pd': pan-down,
1565
+ 'px': pan-x,
1566
+ 'py': pan-y,
1567
+ 'pnz': pinch-zoom,
1568
+ ),
1569
+ ),
1570
+ 'Ctnt': (
1571
+ 'properties': container-type,
1572
+ 'keywords': (
1573
+ 'is': inline-size,
1574
+ 's': size,
1575
+ 'n': normal,
1576
+ ),
1577
+ ),
1578
+ 'Ctnn': (
1579
+ 'properties': container-name,
1580
+ 'keywords': (
1581
+ 'n': none,
1582
+ ),
1583
+ ),
1584
+ 'Ctn': (
1585
+ 'properties': container,
1586
+ 'multi-list-separator': ml.$tULs2,
1587
+ 'keywords': (
1588
+ 'is': inline-size,
1589
+ 's': size,
1590
+ 'n': normal,
1591
+ 'nn': none,
1592
+ ),
1593
+ ),
1594
+
1595
+ // SVG
1596
+ 'Fi': (
1597
+ 'properties': fill,
1598
+ 'range-generator': 'color',
1599
+ 'conversion': 'color',
1600
+ ),
1601
+ 'Fio': (
1602
+ 'properties': fill-opacity,
1603
+ 'conversion': 'num-percent',
1604
+ ),
1605
+
1606
+ 'St': (
1607
+ 'properties': stroke,
1608
+ 'range-generator': 'color',
1609
+ 'conversion': 'color',
1610
+ ),
1611
+ 'Sto': (
1612
+ 'properties': stroke-opacity,
1613
+ 'conversion': 'num-percent',
1614
+ ),
1615
+ 'Stda': (
1616
+ 'properties': stroke-dasharray,
1617
+ 'conversion': 'num-length',
1618
+ ),
1619
+ 'Stdo': (
1620
+ 'properties': stroke-dashoffset,
1621
+ 'conversion': 'num-length',
1622
+ ),
1623
+ 'Stlc': (
1624
+ 'properties': stroke-linecap,
1625
+ 'keywords': (
1626
+ 'b': butt,
1627
+ 'r': round,
1628
+ 's': square,
1629
+ ),
1630
+ ),
1631
+ 'Stlj': (
1632
+ 'properties': stroke-linejoin,
1633
+ 'keywords': (
1634
+ 'a': arcs,
1635
+ 'b': bevel,
1636
+ 'r': round,
1637
+ 'm': miter,
1638
+ 'mc': miter-clip,
1639
+ ),
1640
+ ),
1641
+ 'Stw': (
1642
+ 'properties': stroke-width,
1643
+ 'conversion': 'num-length',
1644
+ ),
1645
+ ),
1646
+ 'keywords': (
1647
+ 'border': (
1648
+ '': (1px solid,),
1649
+ ),
1650
+ 'position': map.set(
1651
+ ml.$main-directions, 'c', center
1652
+ ),
1653
+ 'line-style': (
1654
+ '': none,
1655
+ 'd': dotted,
1656
+ 'dh': dashed,
1657
+ 'db': double,
1658
+ 'g': groove,
1659
+ 'h': hidden,
1660
+ 'i': inset,
1661
+ 'o': outset,
1662
+ 'r': ridge,
1663
+ 's': solid,
1664
+ 'w': wavy,
1665
+ ),
1666
+ 'text-decoration': (
1667
+ 'ff': from-font,
1668
+ 'lt': line-through,
1669
+ 'o': overline,
1670
+ 'u': underline,
1671
+ ),
1672
+ 'line-width': (
1673
+ 'm': medium,
1674
+ 't': thick,
1675
+ 'th': thin,
1676
+ ),
1677
+ 'overflow': (
1678
+ '': hidden,
1679
+ 'a': auto,
1680
+ 'h': hidden,
1681
+ 's': scroll,
1682
+ 'v': visible
1683
+ ),
1684
+ 'box-alignment': (
1685
+ 'b': baseline,
1686
+ 'c': center,
1687
+ 'e': end,
1688
+ 'fs': flex-start,
1689
+ 'fe': flex-end,
1690
+ 'n': normal,
1691
+ 'st': start,
1692
+ 'str': stretch,
1693
+ 'sb': space-between,
1694
+ 'sa': space-around,
1695
+ 'se': space-evenly,
1696
+ ),
1697
+ 'box-ext': (
1698
+ 'bb': border-box,
1699
+ 'cb': content-box,
1700
+ 'pb': padding-box,
1701
+ 't': text,
1702
+ ),
1703
+ 'grid-area': (
1704
+ 's': span,
1705
+ ),
1706
+ 'grid-type': (
1707
+ 'sg': subgrid,
1708
+ ),
1709
+ 'grid': (
1710
+ 'af': auto-flow,
1711
+ 'd': dense,
1712
+ ),
1713
+ 'grid-auto-track': (
1714
+ 't1': minmax(0, 1fr),
1715
+ ),
1716
+ 'easing-function': (
1717
+ 'e': ease,
1718
+ 'ei': ease-in,
1719
+ 'eo': ease-out,
1720
+ 'eio': ease-in-out,
1721
+ 'l': linear,
1722
+ 'se': step-end,
1723
+ 'ss': step-start,
1724
+ ),
1725
+ 'infinite': (
1726
+ 'i': infinite,
1727
+ ),
1728
+ 'font-size': (
1729
+ 'sl': smaller,
1730
+ // so as not to occupy `lg`
1731
+ 'lr': larger,
1732
+ ),
1733
+ 'overscroll': (
1734
+ 'c': contain,
1735
+ ),
1736
+ 'visibility': (
1737
+ '': hidden,
1738
+ 'c': collapse,
1739
+ 'h': hidden,
1740
+ 'v': visible,
1741
+ ),
1742
+ 'ct-visibility': (
1743
+ '': auto,
1744
+ ),
1745
+ 'transition-props': (
1746
+ '': (
1747
+ background-color, border-color, color,
1748
+ fill, stroke, backdrop-filter, box-shadow,
1749
+ filter, opacity, transform,
1750
+ ),
1751
+ 'mClr': (
1752
+ background-color, border-color, color,
1753
+ fill, outline-color, stroke,
1754
+ ),
1755
+ ),
1756
+ 'sizing': $-sizing-kw,
1757
+ ),
1758
+ ),
1759
+
1760
+ 'common': (
1761
+ 'registry': (
1762
+ 'H': (
1763
+ 'properties': height,
1764
+ 'keywords': 'sizing',
1765
+ ),
1766
+ 'W': (
1767
+ 'properties': width,
1768
+ 'keywords': 'sizing',
1769
+ ),
1770
+ 'Apcr': (
1771
+ 'properties': aspect-ratio,
1772
+ 'conversion': 'num-length',
1773
+ ),
1774
+ 'Bls': (
1775
+ 'properties': block-size,
1776
+ 'keywords': 'sizing',
1777
+ ),
1778
+ 'Ils': (
1779
+ 'properties': inline-size,
1780
+ 'keywords': 'sizing',
1781
+ ),
1782
+ ),
1783
+ 'keywords': (
1784
+ 'css': $-css-wide-kw,
1785
+ 'css-oft': map.merge(
1786
+ $-css-wide-kw,
1787
+ (
1788
+ 'a': auto,
1789
+ 'n': none,
1790
+ )
1791
+ ),
1792
+ 'colors': (
1793
+ 'tp': transparent,
1794
+ 'cc': currentColor,
1795
+ ),
1796
+ 'sizing': $-sizing-kw,
1797
+ ),
1798
+ ),
1799
+ ) !default;
1800
+
1801
+ $-common-registry: ();
1802
+
1803
+ @each $key, $value in map.get($utils-db, 'common', 'registry') {
1804
+ $-common-registry: map.set(
1805
+ $-common-registry,
1806
+ string.to-lower-case($key),
1807
+ $value
1808
+ );
1809
+ }
1810
+
1811
+ $utils-db: map.set(
1812
+ $utils-db,
1813
+ 'media',
1814
+ (
1815
+ 'registry': map.deep-merge(
1816
+ $-common-registry,
1817
+ (
1818
+ 'ah': any-hover,
1819
+ 'ap': (
1820
+ 'properties': any-pointer,
1821
+ 'keywords': (
1822
+ 'c': coarse,
1823
+ 'f': fine,
1824
+ )
1825
+ ),
1826
+ 'hv': hover,
1827
+ 'p': (
1828
+ 'properties': pointer,
1829
+ 'keywords': (
1830
+ 'c': coarse,
1831
+ 'f': fine,
1832
+ ),
1833
+ ),
1834
+ 'dm': (
1835
+ 'properties': display-mode,
1836
+ 'keywords': (
1837
+ '': fullscreen,
1838
+ 'f': fullscreen,
1839
+ 's': standalone,
1840
+ 'mu': minimal-ui,
1841
+ 'b': browser,
1842
+ ),
1843
+ ),
1844
+ 'fc': forced-colors,
1845
+ 'o': (
1846
+ 'properties': orientation,
1847
+ 'keywords': (
1848
+ '': landscape,
1849
+ 'l': landscape,
1850
+ 'p': portrait,
1851
+ ),
1852
+ ),
1853
+ 'pfcs': (
1854
+ 'properties': prefers-color-scheme,
1855
+ 'keywords': (
1856
+ '': dark,
1857
+ 'd': dark,
1858
+ 'l': light,
1859
+ ),
1860
+ ),
1861
+ 'pfrm': prefers-reduced-motion,
1862
+ 'm': (
1863
+ 'properties': monochrome,
1864
+ 'conversion': 'num-length',
1865
+ ),
1866
+ 'g': (
1867
+ 'properties': grid,
1868
+ 'conversion': 'num-length',
1869
+ ),
1870
+ 'c': (
1871
+ 'properties': color,
1872
+ 'conversion': 'num-length',
1873
+ ),
1874
+ 'cg': (
1875
+ 'properties': color-gamut,
1876
+ 'keywords': (
1877
+ 'p': p3,
1878
+ 's': 'srgb',
1879
+ 'r': rec2020,
1880
+ ),
1881
+ ),
1882
+ 'ci': (
1883
+ 'properties': color-index,
1884
+ 'conversion': 'num-length',
1885
+ ),
1886
+ 'r': (
1887
+ 'properties': resolution,
1888
+ 'conversion': 'resolution',
1889
+ 'keywords': (
1890
+ 'i': infinite,
1891
+ ),
1892
+ ),
1893
+ ),
1894
+ ),
1895
+ ),
1896
+ );
1897
+
1898
+ $utils-db: map.set(
1899
+ $utils-db,
1900
+ 'container',
1901
+ (
1902
+ 'registry': map.deep-merge(
1903
+ $-common-registry,
1904
+ (
1905
+ 'o': (
1906
+ 'properties': orientation,
1907
+ 'keywords': (
1908
+ '': landscape,
1909
+ 'l': landscape,
1910
+ 'p': portrait,
1911
+ ),
1912
+ ),
1913
+ ),
1914
+ ),
1915
+ ),
1916
+ );
1917
+
1918
+ $utils-db: map.deep-merge($utils-db, $utils-data);
1919
+ $utils-db: map.deep-merge($utils-db, $utils-data-ext);
1920
+ $utils-db: map.merge($utils-db, 'common', 'keywords', 'colors', $colors);
1921
+ $utils-db: map.merge(
1922
+ $utils-db,
1923
+ 'utils',
1924
+ 'registry',
1925
+ map.get($utils-db, 'common', 'registry')
1926
+ );