@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,296 @@
1
+ @use 'sass:map';
2
+
3
+ @use '../../tools/settings' as ml;
4
+
5
+ /*
6
+ Generic
7
+
8
+ Generic CSS that contains `box-sizing`, reset, browser bugs fixes etc. You can configure it with settings.
9
+
10
+ Styleguide: css_lib.styles.generic
11
+ */
12
+
13
+ //stylelint-disable
14
+
15
+ /*! purgecss start ignore */
16
+ @if map.get(ml.$general-cfg, 'generic-css') {
17
+ // Prevent adjustments of font size after orientation changes in iOS
18
+ html {
19
+ -webkit-text-size-adjust: 100%;
20
+ }
21
+
22
+ // Box-sizing should be border-box by default. (c) CSSWG
23
+ @if ml.$base-border-box {
24
+ html {
25
+ box-sizing: border-box;
26
+ }
27
+
28
+ *,
29
+ *::before,
30
+ *::after {
31
+ box-sizing: inherit;
32
+ }
33
+ }
34
+
35
+ // Add the ability to set border only with `Bd*w` utils
36
+ @if map.get(ml.$general-cfg, 'generic-css', 'reset-border') {
37
+ *,
38
+ *::before,
39
+ *::after {
40
+ border: 0 solid;
41
+ }
42
+ }
43
+
44
+ body {
45
+ margin: 0px;
46
+ }
47
+
48
+ // Render 'main' tag consistently in IE.
49
+ main {
50
+ display: block;
51
+ }
52
+
53
+ /*
54
+ 1. Add the correct height in Firefox.
55
+ 2. Show the overflow in IE
56
+ 3. Correct the inheritance of border color in Firefox
57
+ */
58
+ hr {
59
+ height: 0; // 1
60
+ overflow: visible; // 2
61
+ color: inherit; // 3
62
+ }
63
+
64
+ // Add the correct font weight in Edge and Safari.
65
+ b,
66
+ strong {
67
+ font-weight: bolder;
68
+ }
69
+
70
+ // Correct the inheritance and scaling of font size in all browsers
71
+ code,
72
+ kbd,
73
+ samp,
74
+ pre {
75
+ font-family: monospace, monospace;
76
+ }
77
+
78
+ // Add the correct text decoration in IE and Safari
79
+ abbr[title] {
80
+ text-decoration: underline dotted;
81
+ }
82
+
83
+ // Prevent 'sub' and 'sup' elements from affecting the line height in all browsers
84
+ @if map.get(ml.$general-cfg, 'generic-css', 'sup-sub-no-v-align') {
85
+ sub,
86
+ sup {
87
+ line-height: 0;
88
+ position: relative;
89
+ vertical-align: baseline;
90
+ top: -.4em;
91
+ }
92
+
93
+ sub {
94
+ top: .3em;
95
+ }
96
+ }
97
+
98
+ /**
99
+ 1. Remove text indentation from table contents in Chrome and Safari
100
+ 2. Correct table border color inheritance in all Chrome and Safari
101
+ */
102
+ table {
103
+ text-indent: 0; // 1
104
+ border-color: inherit; // 2
105
+ }
106
+
107
+ @if map.get(ml.$general-cfg, 'generic-css', 'embeds-v-align') {
108
+ img, svg, video, canvas, audio, iframe, embed, object {
109
+ vertical-align: bottom;
110
+
111
+ @if map.get(ml.$general-cfg, 'generic-css', 'embeds-block') {
112
+ display: block;
113
+ }
114
+ }
115
+ }
116
+
117
+ source {
118
+ display: none;
119
+ }
120
+
121
+ @if map.get(ml.$general-cfg, 'generic-css', 'embeds-aspect-ratio') {
122
+ img,
123
+ svg,
124
+ canvas,
125
+ video {
126
+ max-width: 100%;
127
+ height: auto;
128
+ }
129
+ }
130
+
131
+ @if map.get(ml.$general-cfg, 'generic-css', 'svg-fill-cur-color') {
132
+ svg:not([fill]) {
133
+ fill: currentColor;
134
+ }
135
+ }
136
+
137
+ // Add the correct display in IE
138
+ [hidden],
139
+ template {
140
+ display: none;
141
+ }
142
+
143
+ // Correct the text wrapping in IE.
144
+ legend {
145
+ display: table;
146
+ max-width: 100%;
147
+ white-space: normal;
148
+
149
+ @if not ml.$base-border-box {
150
+ box-sizing: border-box;
151
+ }
152
+ }
153
+
154
+ // Add the correct display in Chrome and Safari.
155
+ summary {
156
+ display: list-item;
157
+ }
158
+
159
+ // Add the correct vertical alignment in Chrome and Firefox
160
+ progress {
161
+ vertical-align: baseline;
162
+ }
163
+
164
+ /**
165
+ 1. Change the font styles in all browsers.
166
+ 2. Remove the margin in Firefox and Safari.
167
+ */
168
+ @if map.get(ml.$general-cfg, 'generic-css', 'forms-normalize') {
169
+ button,
170
+ input,
171
+ optgroup,
172
+ select,
173
+ textarea {
174
+ font-family: inherit; // 1
175
+ font-size: 100%; // 1
176
+ margin: 0; // 2
177
+
178
+ @if map.get(ml.$general-cfg, 'generic-css', 'reset') {
179
+ color: inherit;
180
+ line-height: inherit;
181
+ }
182
+ }
183
+ }
184
+
185
+ // Remove the inheritance of text transform in IE.
186
+ button {
187
+ text-transform: none;
188
+ }
189
+
190
+ // Correct the inability to style clickable types in iOS and Safari.
191
+ button,
192
+ [type='button'],
193
+ [type='reset'],
194
+ [type='submit'] {
195
+ -webkit-appearance: button;
196
+ }
197
+
198
+ /*
199
+ 1. Correct the odd appearance in Chrome and Safari.
200
+ 2. Correct the outline style in Safari.
201
+ */
202
+ [type='search'] {
203
+ -webkit-appearance: textfield; // 1
204
+ outline-offset: -2px; // 2
205
+ }
206
+
207
+ // Remove the default vertical scrollbar in IE
208
+ textarea {
209
+ overflow: auto;
210
+ }
211
+
212
+ // Remove the inner border and padding in Firefox.
213
+ ::-moz-focus-inner {
214
+ border: 0;
215
+ padding: 0;
216
+ }
217
+
218
+ // Remove the additional ':invalid' styles in Firefox
219
+ // TODO: remove it when a percent of the FF 78 ESR users will be below 0.1%
220
+ // because it was fixed in FF 86
221
+ :-moz-ui-invalid {
222
+ box-shadow: none;
223
+ }
224
+
225
+ // Correct the cursor style of increment and decrement buttons in Safari.
226
+ ::-webkit-inner-spin-button,
227
+ ::-webkit-outer-spin-button {
228
+ height: auto;
229
+ }
230
+
231
+ // Remove the inner padding in Chrome and Safari on macOS.
232
+ ::-webkit-search-decoration {
233
+ -webkit-appearance: none;
234
+ }
235
+
236
+ /**
237
+ 1. Correct the inability to style clickable types in iOS and Safari.
238
+ 2. Change font properties to 'inherit' in Safari.
239
+ */
240
+ ::-webkit-file-upload-button {
241
+ -webkit-appearance: button; // 1
242
+ font: inherit; // 2
243
+ }
244
+
245
+ @if map.get(ml.$general-cfg, 'generic-css', 'default-reduce-motion') {
246
+ @media (prefers-reduced-motion: reduce) {
247
+ *,
248
+ ::before,
249
+ ::after {
250
+ animation-delay: -1ms !important;
251
+ animation-duration: 1ms !important;
252
+ animation-iteration-count: 1 !important;
253
+ background-attachment: initial !important;
254
+ scroll-behavior: auto !important;
255
+ transition-delay: 0s !important;
256
+ transition-duration: 0s !important;
257
+ }
258
+ }
259
+ }
260
+
261
+ @if map.get(ml.$general-cfg, 'generic-css', 'reset') {
262
+ p, blockquote, iframe,
263
+ pre, figure, fieldset, hr,
264
+ button, input, optgroup,
265
+ select, legend, textarea,
266
+ ul, ol, li, dl, dt, dd, td, th
267
+ {
268
+ margin: 0;
269
+ padding: 0;
270
+ }
271
+
272
+ h1,
273
+ h2,
274
+ h3,
275
+ h4,
276
+ h5,
277
+ h6 {
278
+ font-size: inherit;
279
+ font-weight: inherit;
280
+ margin: 0;
281
+ }
282
+
283
+ ul, ol {
284
+ list-style: none;
285
+ }
286
+
287
+ table {
288
+ border-collapse: collapse;
289
+ }
290
+
291
+ address {
292
+ font-style: inherit;
293
+ }
294
+ }
295
+ }
296
+ /*! purgecss end ignore */
@@ -0,0 +1,32 @@
1
+ @use '../../tools' as ml;
2
+
3
+ /*
4
+ CSS variables
5
+
6
+ Global CSS custom properties which used in mlut.
7
+
8
+ --ml-gg = 0.75rem - [grid gutter](section-concepts.html#kssref-concepts-custom_unit-gg).
9
+ --ml-gscc = 12 - number of columns in the grid system. Sets by [$gs-columns](section-settings.html#kssref-settings-gs). Available only with `$legacy-grid-system` flag enabled
10
+
11
+ Styleguide: css_lib.styles.css_vars
12
+ */
13
+
14
+ :root {
15
+ $prev-value: ml.$gtr-first;
16
+
17
+ #{ml.$var-gg}: ml.$gtr-first;
18
+
19
+ @if ml.$legacy-grid-system {
20
+ #{ml.$var-gscc}: ml.$gs-columns;
21
+ }
22
+
23
+ @each $key, $value in ml.$gs-gutters {
24
+ @if $value != $prev-value {
25
+ @include ml.bp($key) {
26
+ #{ml.$var-gg}: $value;
27
+ }
28
+ }
29
+
30
+ $prev-value: $value;
31
+ }
32
+ }
@@ -0,0 +1,27 @@
1
+ @use 'sass:map';
2
+ @use '../../tools' as ml;
3
+
4
+ ml.$utils-map: map.merge(
5
+ ml.$utils-map,
6
+ ml.$kSsUMCS,
7
+ (
8
+ // background
9
+ ml.$cBpAllCp + 'Bg': 'n',
10
+ ml.$cBpAllCp + 'Bgc': 'tp',
11
+ 'Bgr': ml.$kUvKA,
12
+ ml.$cBpAllCp + 'Bgs': (100p, ml.$kUvKA),
13
+ 'Bga': ml.$kUvKA,
14
+ 'Bgcl': ml.$kUvKA,
15
+ 'Bgo': ('bb', 'cb', 'pb'),
16
+ ml.$cBpAllCp + 'Bgi': 'n',
17
+ 'Bgp': (ml.$kUvKA, 'r;t', 'r;b', 'l;b', 'l;t'),
18
+ // border
19
+ 'Bd': '0;s',
20
+ ml.$cBpAllCp + 'Borders': '',
21
+ ml.$cBpAllCp + 'BdWidth': (0, 2, 3),
22
+ 'BdStyle': ('d', 'h', 'dh', 'db', 's'),
23
+ ml.$cBpAllCp + 'Bdc': 'tp',
24
+ 'Bdcl': ml.$kUvKA,
25
+ 'Bdrd': (0, 50p),
26
+ )
27
+ );
@@ -0,0 +1,37 @@
1
+ @use 'sass:map';
2
+ @use 'sass:list';
3
+ @use '../../tools/settings' as ml;
4
+
5
+ $-templates: ('n');
6
+ $-spans: ('a', '1/-1', 's1');
7
+ $-col-lines: ('a', -1, 1);
8
+ $-row-lines: $-col-lines;
9
+ $-auto-tracks: ('mc', 'mnc', 'a', 't1', 1fr);
10
+
11
+ @for $i from 2 through ml.$gs-columns {
12
+ $-templates: list.append($-templates, 't' + $i);
13
+ $-spans: list.append($-spans, 's' + $i);
14
+ $-col-lines: list.append($-col-lines, $i);
15
+ }
16
+
17
+ ml.$utils-map: map.merge(
18
+ ml.$utils-map,
19
+ ml.$kSsUMCS,
20
+ (
21
+ // columns
22
+ ml.$cBpAllCp + 'Gtc': ($-templates),
23
+ ml.$cBpAllCp + 'Gc': ($-spans),
24
+ ml.$cBpAllCp + 'Gcs': ($-col-lines),
25
+ ml.$cBpAllCp + 'Gce': ($-col-lines),
26
+ ml.$cBpAllCp + 'Gatc': ($-auto-tracks),
27
+ // rows
28
+ ml.$cBpAllCp + 'Gtr': ('n'),
29
+ ml.$cBpAllCp + 'Gr': ('a', '1/-1'),
30
+ ml.$cBpAllCp + 'Grs': ($-row-lines),
31
+ ml.$cBpAllCp + 'Gre': ($-row-lines),
32
+ ml.$cBpAllCp + 'Gatr': ($-auto-tracks),
33
+ // other
34
+ ml.$cBpAllCp + 'Gatf': ('r', 'c', 'd', 'r;d', 'c;d'),
35
+ ml.$cBpAllCp + 'AllGaps': ([1gg, 4], [1u, 8]),
36
+ )
37
+ );
@@ -0,0 +1,2 @@
1
+ @forward 'load';
2
+ @forward 'init';
@@ -0,0 +1,9 @@
1
+ @use 'grid-system';
2
+ @use 'other';
3
+ @use 'transition';
4
+ @use 'box-alignment';
5
+ @use 'grid';
6
+ @use 'box-model';
7
+ @use 'text';
8
+ @use 'bg-bd';
9
+ @use 'visual';
@@ -0,0 +1,16 @@
1
+ @use 'sass:map';
2
+ @use '../../tools/settings' as ml;
3
+
4
+ ml.$utils-map: map.merge(
5
+ ml.$utils-map,
6
+ ml.$kSsUMCS,
7
+ (
8
+ ml.$cBpAllCp + 'Ts': ('n'),
9
+ '-Ts': (ml.$kUvKA),
10
+ 'Tsp': ('o', 'tf', 'bxsd'),
11
+ ml.$cBpAllCp + 'Tsd': (ml.$cArOlBp + ml.$css-transition-time, 1s, 0s),
12
+ 'Tsdl': (ml.$css-transition-time, 1s),
13
+ 'Tstf': (ml.$kUvKA),
14
+ ml.$cArOlBp + 'An': ('n'),
15
+ )
16
+ );
@@ -0,0 +1,29 @@
1
+ @use 'sass:map';
2
+ @use '../../tools/settings' as ml;
3
+
4
+ $-justify-list: ('st', 'e', 'c', 'str', 'a');
5
+
6
+ ml.$utils-map: map.merge(
7
+ ml.$utils-map,
8
+ ml.$kSsUMCS,
9
+ (
10
+ ml.$cBpAllCp + 'Fld': (ml.$kUvKA),
11
+ ml.$cBpAllCp + 'Flg': (1),
12
+ ml.$cBpAllCp + 'Fls': (0),
13
+ ml.$cBpAllCp + 'Flw': (ml.$kUvKA),
14
+ ml.$cBpAllCp + 'Ac': ('fs', 'fe', 'c', 'sa', 'sb', 'se'),
15
+ ml.$cBpAllCp + 'Ai': ('fs', 'fe', 'c', 'b', 'str'),
16
+ ml.$cBpAllCp + 'As': (
17
+ 'fs', 'fe', 'c', 'b', 'a', 'str'
18
+ ),
19
+ ml.$cBpAllCp + 'Jc': (
20
+ 'fs', 'fe', 'c', 'sa', 'sb', 'se'
21
+ ),
22
+ ml.$cBpAllCp + 'Ji': ($-justify-list),
23
+ ml.$cBpAllCp + 'Js': ($-justify-list),
24
+ ml.$cBpAllCp + 'Plcc': ('fs', 'fe', 'st', 'e', 'c', 'sa', 'sb', 'se', 'str'),
25
+ ml.$cBpAllCp + 'Plci': ($-justify-list),
26
+ ml.$cBpAllCp + 'Plcs': ($-justify-list),
27
+ ml.$cBpAllCp + 'Od': ([-1, 5],),
28
+ )
29
+ );
@@ -0,0 +1,48 @@
1
+ @use 'sass:list';
2
+ @use 'sass:map';
3
+ @use '../../tools' as ml;
4
+
5
+ $-W-list: ('a', ml.$kUvKA, [20p, 100, 20]);
6
+
7
+ @if not ml.$legacy-grid-system {
8
+ $-W-list: list.join(
9
+ $-W-list,
10
+ (25p, 50p, 75p, '1/12', '1/6', '1/3', '2/3', '5/12', '7/12', '5/6', '11/12',),
11
+ );
12
+ }
13
+
14
+ ml.$utils-map: map.merge(
15
+ ml.$utils-map,
16
+ ml.$kSsUMCS,
17
+ (
18
+ // display
19
+ 'D': (ml.$kUvKA, 'n'),
20
+ ml.$cArOlBp + 'D': (
21
+ '', 'b', 'i', 'ib', 'f', 'if', 'g', 'ig', 'n', 't', 'it', 'c', 'flr', 'tc', 'tr',
22
+ ),
23
+ ml.$cBpAllCp + '-D': (
24
+ 'mf', 'mif', 'vh', '#{ml.$kBpAll} #{ml.$kArSt} _v_ f fw'
25
+ ),
26
+ // sizes
27
+ ml.$cBpAllCp + 'Mnw': (100p, ml.$kUvKA),
28
+ ml.$cBpAllCp + 'Mxw': list.join((100p, ml.$kUvKA, 'n'), ml.$global-kw-bp),
29
+ ml.$cBpAllCp + 'W': $-W-list,
30
+ ml.$cBpAllCp + 'H': (100p, 100vh, 0, ml.$cArOlBp + 'a'),
31
+ ml.$cBpAllCp + 'Mnh': (100p, 100vh, 0),
32
+ ml.$cBpAllCp + 'Mxh': (100p, 100vh, 'n'),
33
+ // other
34
+ 'Bxs': (ml.$kUvKA),
35
+ ml.$cBpAllCp + 'F': (ml.$kUvKA, 'n'),
36
+ ml.$cBpAllCp + 'Cl': (ml.$kUvKA, 'n'),
37
+ '-Cl': '',
38
+ ml.$cBpAllCp + 'Tbl': ('f', 'n'),
39
+ ml.$cBpAllCp + 'Overflows': (ml.$kUvKA),
40
+ // spacing
41
+ ml.$cBpAllCp + '-Gg': ([1u, 8],),
42
+ ml.$cBpAllCp + 'Margins': (0, 1, 'a', [1u, 8]),
43
+ ml.$cBpAllCp + 'MarginsNoR': ([-8u, -1], [-2gg, -1], [1gg, 4]),
44
+ ml.$cBpAllCp + 'Paddings': (0, 1, [1u, 8], [1gg, 6]),
45
+ // for ratio-box
46
+ 'Pt_b StOl': (100p, 75p),
47
+ )
48
+ );
@@ -0,0 +1,17 @@
1
+ @use 'sass:map';
2
+ @use '../../tools/settings' as ml;
3
+
4
+ $enabled: false !default;
5
+
6
+ @if ml.$legacy-grid-system or $enabled {
7
+ ml.$utils-map: map.merge(
8
+ ml.$utils-map,
9
+ ml.$kSsUMCS,
10
+ (
11
+ ml.$cBpAllCp + '-Gsfd': (1gg, 0),
12
+ ml.$cBpAllCp + '-Gsf': (''),
13
+ ml.$kBpAll + ' _W': ([1gc, 12],),
14
+ ml.$cBpAllCp + 'Ml': ([1gc, 10],),
15
+ )
16
+ );
17
+ }
@@ -0,0 +1,107 @@
1
+ @use 'sass:map';
2
+ @use 'sass:list';
3
+ @use 'sass:meta';
4
+ @use 'sass:string';
5
+
6
+ @use '../../tools/functions/base' as bf;
7
+ @use '../../tools/' as ml;
8
+
9
+ $utils: () !default;
10
+ $filter-mod: null;
11
+ $-all-utils-map: ();
12
+
13
+ @function -list2map($list) {
14
+ $map: ();
15
+
16
+ @each $item in $list {
17
+ $map: map.set($map, $item, null);
18
+ }
19
+
20
+ @return $map;
21
+ }
22
+
23
+ @each $section, $map in ml.$utils-map {
24
+ @each $util in map.keys($map) {
25
+ @if map.has-key($-all-utils-map, $util) {
26
+ $exist-values: map.get($-all-utils-map, $util);
27
+ $new-values: map.get($map, $util);
28
+ $exist-val-type: meta.type-of($exist-values);
29
+ $new-val-type: meta.type-of($new-values);
30
+
31
+ @if $exist-val-type != 'map' and $new-val-type != 'map' {
32
+ $map: map.set($map, $util, list.join($exist-values, $new-values));
33
+ } @else if $exist-val-type == 'map' and $new-val-type == 'map' {
34
+ // Here should be a @break, but it is not yet implemented in Sass
35
+ } @else if $exist-val-type == 'map' and $new-val-type != 'map' {
36
+ $map: map.set($map, $util, map.merge($exist-values, -list2map($new-values)));
37
+ } @else {
38
+ $map: map.set($map, $util, map.merge(-list2map($exist-values), $new-values));
39
+ }
40
+ }
41
+ }
42
+
43
+ $-all-utils-map: map.deep-merge($-all-utils-map, $map);
44
+ }
45
+
46
+ ml.$utils-map: $-all-utils-map;
47
+
48
+ $-utils-list: map.keys(ml.$utils-map);
49
+ $-all-groups: map.keys(ml.$utils-groups-db);
50
+ $-override-map: map.get($utils, ml.$kCfOv);
51
+ $-filter-keys: ();
52
+
53
+ @if map.has-key($utils, ml.$kCfAl) {
54
+ $filter-mod: ml.$kCfAl;
55
+ } @else if map.has-key($utils, ml.$kCfBan) {
56
+ $filter-mod: ml.$kCfBan;
57
+ }
58
+
59
+ @if $filter-mod {
60
+ $utils-filtered: ();
61
+
62
+ // not used `ls-find`, because the utils can be repeated in the map
63
+ // and we need to go through almost all elements
64
+ // TODO: optimize the search to remove extra check
65
+ @each $util in map.get($utils, $filter-mod) {
66
+ @each $item in $-utils-list {
67
+ @if (
68
+ string.index($item, $util) and (
69
+ $item == $util or
70
+ list.index(bf.str-split($item, ml.$tUCm), $util)
71
+ )
72
+ ) {
73
+ $-filter-keys: list.append($-filter-keys, $item);
74
+ }
75
+ }
76
+ }
77
+
78
+ @if $filter-mod == ml.$kCfAl {
79
+ @each $item in $-filter-keys {
80
+ $utils-filtered: map.set(
81
+ $utils-filtered, $item, map.get(ml.$utils-map, $item)
82
+ );
83
+ }
84
+
85
+ ml.$utils-map: $utils-filtered;
86
+ } @else {
87
+ ml.$utils-map: map.remove(ml.$utils-map, $-filter-keys...);
88
+ }
89
+ }
90
+
91
+ @if $-override-map != null {
92
+ ml.$utils-map: map.merge(ml.$utils-map, $-override-map);
93
+ } @else if map.has-key($utils, ml.$kCfOv) {
94
+ ml.$utils-map: ();
95
+ }
96
+
97
+ @each $util, $values in list.join(
98
+ ml.$utils-map, map.remove($utils, ml.$kCfOv, ml.$kCfAl, ml.$kCfBan)
99
+ ) {
100
+ @if bf.ls-find(
101
+ $-all-groups, meta.get-function('str-contains-item', false, bf), $util
102
+ ) {
103
+ @include ml.mk-utils-group($util, $values);
104
+ } @else {
105
+ @include ml.mk-util($util, $values);
106
+ }
107
+ }
@@ -0,0 +1,35 @@
1
+ @use 'sass:map';
2
+ @use 'sass:list';
3
+ @use '../../tools/settings' as ml;
4
+
5
+ $-Ct-list: ('', 'n', 'mAtt');
6
+
7
+ ml.$utils-map: map.merge(
8
+ ml.$utils-map,
9
+ ml.$kSsUMCS,
10
+ (
11
+ // position
12
+ ml.$cBpAllCp + 'Ps': (ml.$kUvKA),
13
+ ml.$cBpAllCp + 'Offsets': ('a', 0, -1, 1, -50p, 50p, -100p, 100p),
14
+ '#{ml.$kBpAll} #{ml.$kArSt}_Zi_f fw': ('a', [-1, 5]),
15
+ // interactive
16
+ 'Overscrolls': ('c', 'a', 'n'),
17
+ 'Ap': (''),
18
+ ml.$cBpAllCp + 'Scb': ('s'),
19
+ ml.$cBpAllCp + 'Pne': ('', 'n', 'a'),
20
+ 'Rs': (ml.$kUvKA),
21
+ 'Us': (ml.$kUvKA),
22
+ ml.$cBpAllCp + 'Ctv': ('v', 'h', 'a'),
23
+ 'Tca': (ml.$kUvKA, 'n'),
24
+ // SVG
25
+ 'Stlc': (ml.$kUvKA),
26
+ 'Stlj': (ml.$kUvKA),
27
+ // misc
28
+ 'Ec': (ml.$kUvKA),
29
+ 'Cps': ('t', 'b'),
30
+ 'Wlc': ('sps', 'ctn', 'tf'),
31
+ 'Ct_b af ' + ml.$kStOl: $-Ct-list,
32
+ '#{ml.$kBpAll} #{ml.$kArSO}_Ct_b af': $-Ct-list,
33
+ '-All': ('sr'),
34
+ )
35
+ );
@@ -0,0 +1,33 @@
1
+ @use 'sass:map';
2
+ @use '../../tools/settings' as ml;
3
+
4
+ ml.$utils-map: map.merge(
5
+ ml.$utils-map,
6
+ ml.$kSsUMCS,
7
+ (
8
+ 'Fn': ('ih'),
9
+ 'Fnf': ml.$kUvKA,
10
+ 'Fnw': ([100, 900, 100], 'b', 'n'),
11
+ ml.$cArOlBp + 'Fnw': (400, 700),
12
+ 'Fnst': ml.$kUvKA,
13
+ 'Fns': ('ih'),
14
+ ml.$cBpAllCp + 'Txa': ('', 'l', 'r', 'j'),
15
+ '^:h_Txd_h f fw': ('', 'n', 'u', 'lt', 'o'),
16
+ 'Txdst': ('n', 'd', 'dh', 'db', 'w'),
17
+ ml.$cBpAllCp + 'Txt': ml.$kUvKA,
18
+ '-Txo': (''),
19
+ ml.$cBpAllCp + 'Txo': ml.$kUvKA,
20
+ ml.$cBpAllCp + 'Txs': ('n'),
21
+ ml.$cBpAllCp + 'Va': ml.$kUvKA,
22
+ 'C': ('ih', 'tp', 'cc'),
23
+ 'Hp': ('n', 'a', 'm'),
24
+ 'Lss': ('n'),
25
+ 'Lsst': ml.$kUvKA,
26
+ 'Lssp': ml.$kUvKA,
27
+ ml.$cBpAllCp + 'Lnh': ('n', '1'),
28
+ 'Tas': (2, 4),
29
+ 'Whs': ml.$kUvKA,
30
+ 'Wrb': ml.$kUvKA,
31
+ 'Ovw': ml.$kUvKA,
32
+ )
33
+ );