procode-vs-theme 1.0.4 → 1.0.6

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 (59) hide show
  1. package/dist/src/base/_border.scss +1 -0
  2. package/dist/src/base/_color.scss +5 -2
  3. package/dist/src/base/_custom-properties.scss +5 -0
  4. package/dist/src/base/_size.scss +13 -3
  5. package/dist/src/base/_space.scss +2 -0
  6. package/dist/src/base/mixins/_meta-class.scss +26 -0
  7. package/dist/src/components/_buttons.scss +16 -10
  8. package/dist/src/components/_disabled.scss +8 -0
  9. package/dist/src/index.scss +1 -2
  10. package/dist/src/utilities/_cursor.scss +3 -3
  11. package/dist/src/utilities/_display.scss +3 -6
  12. package/dist/src/utilities/_flex.scss +60 -59
  13. package/dist/src/utilities/_opacity.scss +3 -3
  14. package/dist/src/utilities/_overflow.scss +5 -3
  15. package/dist/src/utilities/_position.scss +14 -18
  16. package/dist/src/utilities/_sizing.scss +21 -10
  17. package/dist/src/utilities/_text.scss +24 -30
  18. package/dist/src/utilities/_visibility.scss +4 -2
  19. package/dist/src/utilities/background-color/index.scss +16 -37
  20. package/dist/src/utilities/border/_border-color.scss +11 -33
  21. package/dist/src/utilities/border/_border-radius.scss +9 -28
  22. package/dist/src/utilities/border/_border-size.scss +8 -10
  23. package/dist/src/utilities/box-shadow/index.scss +6 -15
  24. package/dist/src/utilities/spaces/_gap.scss +4 -11
  25. package/dist/src/utilities/spaces/_margin.scss +14 -22
  26. package/dist/src/utilities/spaces/_padding.scss +7 -15
  27. package/dist/src/utilities/typography/_color.scss +12 -30
  28. package/dist/src/utilities/typography/_font.scss +35 -63
  29. package/package.json +2 -2
  30. package/src/base/_border.scss +1 -0
  31. package/src/base/_color.scss +5 -2
  32. package/src/base/_custom-properties.scss +5 -0
  33. package/src/base/_size.scss +13 -3
  34. package/src/base/_space.scss +2 -0
  35. package/src/base/mixins/_meta-class.scss +26 -0
  36. package/src/components/_buttons.scss +16 -10
  37. package/src/components/_disabled.scss +8 -0
  38. package/src/index.scss +1 -2
  39. package/src/utilities/_cursor.scss +3 -3
  40. package/src/utilities/_display.scss +3 -6
  41. package/src/utilities/_flex.scss +60 -59
  42. package/src/utilities/_opacity.scss +3 -3
  43. package/src/utilities/_overflow.scss +5 -3
  44. package/src/utilities/_position.scss +14 -18
  45. package/src/utilities/_sizing.scss +21 -10
  46. package/src/utilities/_text.scss +24 -30
  47. package/src/utilities/_visibility.scss +4 -2
  48. package/src/utilities/background-color/index.scss +16 -37
  49. package/src/utilities/border/_border-color.scss +11 -33
  50. package/src/utilities/border/_border-radius.scss +9 -28
  51. package/src/utilities/border/_border-size.scss +8 -10
  52. package/src/utilities/box-shadow/index.scss +6 -15
  53. package/src/utilities/spaces/_gap.scss +4 -11
  54. package/src/utilities/spaces/_margin.scss +14 -22
  55. package/src/utilities/spaces/_padding.scss +7 -15
  56. package/src/utilities/typography/_color.scss +12 -30
  57. package/src/utilities/typography/_font.scss +35 -63
  58. package/dist/src/utilities/size/index.scss +0 -9
  59. package/src/utilities/size/index.scss +0 -9
@@ -6,6 +6,7 @@ $border-radius-xl: 1rem !default;
6
6
  $border-radius-pill: 50rem !default;
7
7
  $border-radius-full: 50% !default;
8
8
 
9
+ $border-width-none: 0 !default;
9
10
  $border-width-sm: 1px !default;
10
11
  $border-width-md: 2px !default;
11
12
  $border-width-lg: 4px !default;
@@ -21,13 +21,16 @@ $background-warning: #f97d0b !default;
21
21
  $background-danger: #e74c3c !default;
22
22
  $background-info: #17baff !default;
23
23
  $background-default: #ffffff !default;
24
- $background-dark: #29466e !default;
24
+ $background-medium: #29466e !default;
25
+ $background-dark: #0f233d !default;
25
26
  $background-dark-a: #0f233d33 !default;
26
- $background-light: #F7F7F7 !default;
27
+ $background-light: #f7f7f7 !default;
27
28
  $background-tertiary: #ed5085 !default;
28
29
  $background-lime: #f3de1d !default;
29
30
  $background-transparent: color.change(#000000, $alpha: 0.1) !default;
30
31
 
32
+ $background-disabled: #d9d9d9 !default;
33
+
31
34
  $border-primary: #2666e3 !default;
32
35
  $border-secondary: #c6c6c6 !default;
33
36
  $border-success: #67b926 !default;
@@ -26,8 +26,11 @@
26
26
  --qo-bg-info: #{cl.$background-info};
27
27
  --qo-bg-default: #{cl.$background-default};
28
28
  --qo-bg-dark: #{cl.$background-dark};
29
+ --qo-bg-dark-a: #{cl.$background-dark-a};
30
+ --qo-bg-medium: #{cl.$background-medium};
29
31
  --qo-bg-light: #{cl.$background-light};
30
32
  --qo-bg-tertiary: #{cl.$background-tertiary};
33
+ --qo-bg-disabled: #{cl.$background-disabled};
31
34
 
32
35
  // Border colors
33
36
  --qo-border-primary: #{cl.$border-primary};
@@ -89,6 +92,7 @@
89
92
  --qo-border-radius-full: #{bo.$border-radius-full};
90
93
 
91
94
  // Border widths
95
+ --qo-border-width-none: #{bo.$border-width-none};
92
96
  --qo-border-width-sm: #{bo.$border-width-sm};
93
97
  --qo-border-width-md: #{bo.$border-width-md};
94
98
  --qo-border-width-lg: #{bo.$border-width-lg};
@@ -99,4 +103,5 @@
99
103
  --qo-size-md: #{sz.$size-md};
100
104
  --qo-size-lg: #{sz.$size-lg};
101
105
  --qo-size-xl: #{sz.$size-xl};
106
+ --qo-size-xxl: #{sz.$size-xxl};
102
107
  }
@@ -2,6 +2,16 @@ $menu-size: 32px !default;
2
2
 
3
3
  $size-xs: 8px !default;
4
4
  $size-sm: 16px !default;
5
- $size-md: 32px !default;
6
- $size-lg: 48px !default;
7
- $size-xl: 64px !default;
5
+ $size-md: 20px !default;
6
+ $size-lg: 32px !default;
7
+ $size-xl: 48px !default;
8
+ $size-xxl: 64px !default;
9
+
10
+ $sizing-values: (
11
+ xs: $size-xs,
12
+ sm: $size-sm,
13
+ md: $size-md,
14
+ lg: $size-lg,
15
+ xl: $size-xl,
16
+ xxl: $size-xxl,
17
+ ) !default;
@@ -7,6 +7,7 @@ $space-4: 1.5rem !default;
7
7
  $space-5: 3rem !default;
8
8
 
9
9
  // Legacy spacing aliases
10
+ $space-xs: 2.5px !default;
10
11
  $space-sm: 5px !default;
11
12
  $space-md: 12.5px !default;
12
13
  $space-lg: 16.5px !default;
@@ -20,6 +21,7 @@ $spacers: (
20
21
  3: $space-3,
21
22
  4: $space-4,
22
23
  5: $space-5,
24
+ xs: $space-xs,
23
25
  sm: $space-sm,
24
26
  md: $space-md,
25
27
  lg: $space-lg,
@@ -0,0 +1,26 @@
1
+ /// Generates two tiers for each utility class:
2
+ ///
3
+ /// 1. Regular class: .qo-x { ... } → specificity (0,1,0)
4
+ /// 2. Force-important: [data-prc-col-important~="qo-x"] { ... !important }
5
+ ///
6
+ /// @param {String} $class-name — CSS class name without the dot
7
+ /// @param {Map} $properties — map of (property: value) pairs
8
+ ///
9
+ /// Usage:
10
+ /// @include meta("qo-padding-sm", (padding: 8px));
11
+ /// @include meta("qo-text-truncate", (overflow: hidden, text-overflow: ellipsis, white-space: nowrap));
12
+ @mixin meta($class-name, $properties) {
13
+ // Normal — direct class usage
14
+ .#{$class-name} {
15
+ @each $prop, $val in $properties {
16
+ #{$prop}: $val;
17
+ }
18
+ }
19
+
20
+ // Force override — column metadata with important flag
21
+ [data-prc-col-important~="#{$class-name}"] {
22
+ @each $prop, $val in $properties {
23
+ #{$prop}: $val !important;
24
+ }
25
+ }
26
+ }
@@ -204,7 +204,8 @@ $btn-padding-xl: 16px !default;
204
204
  border: bo.$border-width-sm solid cl.$border-primary;
205
205
  color: cl.$text-primary;
206
206
  cursor: pointer;
207
- transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
207
+ transition: background-color 0.2s ease, border-color 0.2s ease,
208
+ color 0.2s ease;
208
209
 
209
210
  &:hover {
210
211
  background-color: cl.$background-primary;
@@ -233,20 +234,21 @@ $btn-padding-xl: 16px !default;
233
234
  &.qo-btn-outline-default {
234
235
  background-color: transparent;
235
236
  border: bo.$border-width-sm solid cl.$border-default;
236
- color: cl.$text-dark;
237
+ color: cl.$text-light;
237
238
  cursor: pointer;
238
- transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
239
+ transition: background-color 0.2s ease, border-color 0.2s ease,
240
+ color 0.2s ease;
239
241
 
240
242
  &:hover {
241
243
  background-color: cl.$background-secondary;
242
244
  border-color: cl.$border-secondary;
243
- color: cl.$text-dark;
245
+ color: color.adjust(cl.$text-dark, $lightness: 20%);
244
246
  }
245
247
 
246
248
  &:active {
247
249
  background-color: color.adjust(cl.$background-secondary, $lightness: -4%);
248
250
  border-color: cl.$border-secondary;
249
- color: cl.$text-dark;
251
+ color: cl.$text-light;
250
252
  }
251
253
 
252
254
  &:disabled {
@@ -256,7 +258,7 @@ $btn-padding-xl: 16px !default;
256
258
  &:hover {
257
259
  background-color: transparent;
258
260
  border-color: cl.$border-default;
259
- color: cl.$text-dark;
261
+ color: cl.$text-light;
260
262
  }
261
263
  }
262
264
  }
@@ -266,7 +268,8 @@ $btn-padding-xl: 16px !default;
266
268
  border: bo.$border-width-sm solid cl.$border-danger;
267
269
  color: cl.$text-danger;
268
270
  cursor: pointer;
269
- transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
271
+ transition: background-color 0.2s ease, border-color 0.2s ease,
272
+ color 0.2s ease;
270
273
 
271
274
  &:hover {
272
275
  background-color: cl.$background-danger;
@@ -297,7 +300,8 @@ $btn-padding-xl: 16px !default;
297
300
  border: bo.$border-width-sm solid cl.$border-success;
298
301
  color: cl.$text-success;
299
302
  cursor: pointer;
300
- transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
303
+ transition: background-color 0.2s ease, border-color 0.2s ease,
304
+ color 0.2s ease;
301
305
 
302
306
  &:hover {
303
307
  background-color: cl.$background-success;
@@ -328,7 +332,8 @@ $btn-padding-xl: 16px !default;
328
332
  border: bo.$border-width-sm solid cl.$border-warning;
329
333
  color: cl.$text-warning;
330
334
  cursor: pointer;
331
- transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
335
+ transition: background-color 0.2s ease, border-color 0.2s ease,
336
+ color 0.2s ease;
332
337
 
333
338
  &:hover {
334
339
  background-color: cl.$background-warning;
@@ -359,7 +364,8 @@ $btn-padding-xl: 16px !default;
359
364
  border: bo.$border-width-sm solid cl.$border-info;
360
365
  color: cl.$text-info;
361
366
  cursor: pointer;
362
- transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
367
+ transition: background-color 0.2s ease, border-color 0.2s ease,
368
+ color 0.2s ease;
363
369
 
364
370
  &:hover {
365
371
  background-color: cl.$background-info;
@@ -0,0 +1,8 @@
1
+ @use "../base/color" as cl;
2
+
3
+ *:disabled,
4
+ *[disabled],
5
+ *.k-disabled {
6
+ background-color: cl.$background-disabled !important;
7
+ cursor: not-allowed !important;
8
+ }
@@ -24,8 +24,6 @@
24
24
  // Box shadow
25
25
  @forward "./utilities/box-shadow/index.scss";
26
26
 
27
- // Size
28
- @forward "./utilities/size/index.scss";
29
27
 
30
28
  // Display
31
29
  @forward "./utilities/display";
@@ -66,6 +64,7 @@
66
64
  // Components
67
65
  @forward "./components/buttons";
68
66
  @forward "./components/input";
67
+ @forward "./components/disabled";
69
68
 
70
69
  // Layout
71
70
  @forward "./layout/drawer";
@@ -1,7 +1,7 @@
1
+ @use "../base/mixins/meta-class" as mc;
2
+
1
3
  $_cursors: auto, default, pointer, wait, text, move, not-allowed, grab, grabbing;
2
4
 
3
5
  @each $cursor in $_cursors {
4
- .qo-cursor-#{$cursor} {
5
- cursor: $cursor;
6
- }
6
+ @include mc.meta("qo-cursor-#{$cursor}", (cursor: $cursor));
7
7
  }
@@ -1,20 +1,17 @@
1
1
  @use "../base/mixins/breakpoints" as bp;
2
+ @use "../base/mixins/meta-class" as mc;
2
3
 
3
4
  $_displays: none, inline, inline-block, block, flex, inline-flex, grid, inline-grid, table, table-row, table-cell;
4
5
 
5
6
  @each $display in $_displays {
6
- .qo-d-#{$display} {
7
- display: $display;
8
- }
7
+ @include mc.meta("qo-d-#{$display}", (display: $display));
9
8
  }
10
9
 
11
10
  // Responsive variants
12
11
  @each $bp-name, $bp-value in bp.$breakpoints {
13
12
  @media (min-width: $bp-value) {
14
13
  @each $display in $_displays {
15
- .qo-d-#{$bp-name}-#{$display} {
16
- display: $display;
17
- }
14
+ @include mc.meta("qo-d-#{$bp-name}-#{$display}", (display: $display));
18
15
  }
19
16
  }
20
17
  }
@@ -1,82 +1,83 @@
1
1
  @use "../base/mixins/breakpoints" as bp;
2
+ @use "../base/mixins/meta-class" as mc;
2
3
 
3
4
  // Direction
4
- .qo-flex-row { flex-direction: row; }
5
- .qo-flex-column { flex-direction: column; }
6
- .qo-flex-row-reverse { flex-direction: row-reverse; }
7
- .qo-flex-column-reverse { flex-direction: column-reverse; }
5
+ @include mc.meta("qo-flex-row", (flex-direction: row));
6
+ @include mc.meta("qo-flex-column", (flex-direction: column));
7
+ @include mc.meta("qo-flex-row-reverse", (flex-direction: row-reverse));
8
+ @include mc.meta("qo-flex-column-reverse", (flex-direction: column-reverse));
8
9
 
9
10
  // Wrap
10
- .qo-flex-wrap { flex-wrap: wrap; }
11
- .qo-flex-nowrap { flex-wrap: nowrap; }
12
- .qo-flex-wrap-reverse { flex-wrap: wrap-reverse; }
11
+ @include mc.meta("qo-flex-wrap", (flex-wrap: wrap));
12
+ @include mc.meta("qo-flex-nowrap", (flex-wrap: nowrap));
13
+ @include mc.meta("qo-flex-wrap-reverse", (flex-wrap: wrap-reverse));
13
14
 
14
15
  // Justify content
15
- .qo-justify-content-start { justify-content: flex-start; }
16
- .qo-justify-content-end { justify-content: flex-end; }
17
- .qo-justify-content-center { justify-content: center; }
18
- .qo-justify-content-between { justify-content: space-between; }
19
- .qo-justify-content-around { justify-content: space-around; }
20
- .qo-justify-content-evenly { justify-content: space-evenly; }
16
+ @include mc.meta("qo-justify-content-start", (justify-content: flex-start));
17
+ @include mc.meta("qo-justify-content-end", (justify-content: flex-end));
18
+ @include mc.meta("qo-justify-content-center", (justify-content: center));
19
+ @include mc.meta("qo-justify-content-between", (justify-content: space-between));
20
+ @include mc.meta("qo-justify-content-around", (justify-content: space-around));
21
+ @include mc.meta("qo-justify-content-evenly", (justify-content: space-evenly));
21
22
 
22
23
  // Align items
23
- .qo-align-items-start { align-items: flex-start; }
24
- .qo-align-items-end { align-items: flex-end; }
25
- .qo-align-items-center { align-items: center; }
26
- .qo-align-items-baseline { align-items: baseline; }
27
- .qo-align-items-stretch { align-items: stretch; }
24
+ @include mc.meta("qo-align-items-start", (align-items: flex-start));
25
+ @include mc.meta("qo-align-items-end", (align-items: flex-end));
26
+ @include mc.meta("qo-align-items-center", (align-items: center));
27
+ @include mc.meta("qo-align-items-baseline", (align-items: baseline));
28
+ @include mc.meta("qo-align-items-stretch", (align-items: stretch));
28
29
 
29
30
  // Align self
30
- .qo-align-self-start { align-self: flex-start; }
31
- .qo-align-self-end { align-self: flex-end; }
32
- .qo-align-self-center { align-self: center; }
33
- .qo-align-self-baseline { align-self: baseline; }
34
- .qo-align-self-stretch { align-self: stretch; }
31
+ @include mc.meta("qo-align-self-start", (align-self: flex-start));
32
+ @include mc.meta("qo-align-self-end", (align-self: flex-end));
33
+ @include mc.meta("qo-align-self-center", (align-self: center));
34
+ @include mc.meta("qo-align-self-baseline", (align-self: baseline));
35
+ @include mc.meta("qo-align-self-stretch", (align-self: stretch));
35
36
 
36
37
  // Align content
37
- .qo-align-content-start { align-content: flex-start; }
38
- .qo-align-content-end { align-content: flex-end; }
39
- .qo-align-content-center { align-content: center; }
40
- .qo-align-content-between { align-content: space-between; }
41
- .qo-align-content-around { align-content: space-around; }
42
- .qo-align-content-stretch { align-content: stretch; }
38
+ @include mc.meta("qo-align-content-start", (align-content: flex-start));
39
+ @include mc.meta("qo-align-content-end", (align-content: flex-end));
40
+ @include mc.meta("qo-align-content-center", (align-content: center));
41
+ @include mc.meta("qo-align-content-between", (align-content: space-between));
42
+ @include mc.meta("qo-align-content-around", (align-content: space-around));
43
+ @include mc.meta("qo-align-content-stretch", (align-content: stretch));
43
44
 
44
45
  // Flex grow/shrink/fill
45
- .qo-flex-fill { flex: 1 1 auto; }
46
- .qo-flex-grow-0 { flex-grow: 0; }
47
- .qo-flex-grow-1 { flex-grow: 1; }
48
- .qo-flex-shrink-0 { flex-shrink: 0; }
49
- .qo-flex-shrink-1 { flex-shrink: 1; }
46
+ @include mc.meta("qo-flex-fill", (flex: 1 1 auto));
47
+ @include mc.meta("qo-flex-grow-0", (flex-grow: 0));
48
+ @include mc.meta("qo-flex-grow-1", (flex-grow: 1));
49
+ @include mc.meta("qo-flex-shrink-0", (flex-shrink: 0));
50
+ @include mc.meta("qo-flex-shrink-1", (flex-shrink: 1));
50
51
 
51
52
  // Order
52
- .qo-order-first { order: -1; }
53
- .qo-order-0 { order: 0; }
54
- .qo-order-1 { order: 1; }
55
- .qo-order-2 { order: 2; }
56
- .qo-order-3 { order: 3; }
57
- .qo-order-4 { order: 4; }
58
- .qo-order-5 { order: 5; }
59
- .qo-order-last { order: 6; }
53
+ @include mc.meta("qo-order-first", (order: -1));
54
+ @include mc.meta("qo-order-0", (order: 0));
55
+ @include mc.meta("qo-order-1", (order: 1));
56
+ @include mc.meta("qo-order-2", (order: 2));
57
+ @include mc.meta("qo-order-3", (order: 3));
58
+ @include mc.meta("qo-order-4", (order: 4));
59
+ @include mc.meta("qo-order-5", (order: 5));
60
+ @include mc.meta("qo-order-last", (order: 6));
60
61
 
61
62
  // Responsive variants
62
63
  @each $bp-name, $bp-value in bp.$breakpoints {
63
64
  @media (min-width: $bp-value) {
64
- .qo-flex-#{$bp-name}-row { flex-direction: row; }
65
- .qo-flex-#{$bp-name}-column { flex-direction: column; }
66
- .qo-flex-#{$bp-name}-row-reverse { flex-direction: row-reverse; }
67
- .qo-flex-#{$bp-name}-column-reverse { flex-direction: column-reverse; }
68
- .qo-flex-#{$bp-name}-wrap { flex-wrap: wrap; }
69
- .qo-flex-#{$bp-name}-nowrap { flex-wrap: nowrap; }
70
- .qo-justify-content-#{$bp-name}-start { justify-content: flex-start; }
71
- .qo-justify-content-#{$bp-name}-end { justify-content: flex-end; }
72
- .qo-justify-content-#{$bp-name}-center { justify-content: center; }
73
- .qo-justify-content-#{$bp-name}-between { justify-content: space-between; }
74
- .qo-justify-content-#{$bp-name}-around { justify-content: space-around; }
75
- .qo-justify-content-#{$bp-name}-evenly { justify-content: space-evenly; }
76
- .qo-align-items-#{$bp-name}-start { align-items: flex-start; }
77
- .qo-align-items-#{$bp-name}-end { align-items: flex-end; }
78
- .qo-align-items-#{$bp-name}-center { align-items: center; }
79
- .qo-align-items-#{$bp-name}-baseline { align-items: baseline; }
80
- .qo-align-items-#{$bp-name}-stretch { align-items: stretch; }
65
+ @include mc.meta("qo-flex-#{$bp-name}-row", (flex-direction: row));
66
+ @include mc.meta("qo-flex-#{$bp-name}-column", (flex-direction: column));
67
+ @include mc.meta("qo-flex-#{$bp-name}-row-reverse", (flex-direction: row-reverse));
68
+ @include mc.meta("qo-flex-#{$bp-name}-column-reverse", (flex-direction: column-reverse));
69
+ @include mc.meta("qo-flex-#{$bp-name}-wrap", (flex-wrap: wrap));
70
+ @include mc.meta("qo-flex-#{$bp-name}-nowrap", (flex-wrap: nowrap));
71
+ @include mc.meta("qo-justify-content-#{$bp-name}-start", (justify-content: flex-start));
72
+ @include mc.meta("qo-justify-content-#{$bp-name}-end", (justify-content: flex-end));
73
+ @include mc.meta("qo-justify-content-#{$bp-name}-center", (justify-content: center));
74
+ @include mc.meta("qo-justify-content-#{$bp-name}-between", (justify-content: space-between));
75
+ @include mc.meta("qo-justify-content-#{$bp-name}-around", (justify-content: space-around));
76
+ @include mc.meta("qo-justify-content-#{$bp-name}-evenly", (justify-content: space-evenly));
77
+ @include mc.meta("qo-align-items-#{$bp-name}-start", (align-items: flex-start));
78
+ @include mc.meta("qo-align-items-#{$bp-name}-end", (align-items: flex-end));
79
+ @include mc.meta("qo-align-items-#{$bp-name}-center", (align-items: center));
80
+ @include mc.meta("qo-align-items-#{$bp-name}-baseline", (align-items: baseline));
81
+ @include mc.meta("qo-align-items-#{$bp-name}-stretch", (align-items: stretch));
81
82
  }
82
83
  }
@@ -1,7 +1,7 @@
1
+ @use "../base/mixins/meta-class" as mc;
2
+
1
3
  $_opacities: (0: 0, 25: 0.25, 50: 0.5, 75: 0.75, 100: 1);
2
4
 
3
5
  @each $key, $value in $_opacities {
4
- .qo-opacity-#{$key} {
5
- opacity: $value;
6
- }
6
+ @include mc.meta("qo-opacity-#{$key}", (opacity: $value));
7
7
  }
@@ -1,7 +1,9 @@
1
+ @use "../base/mixins/meta-class" as mc;
2
+
1
3
  $_overflow-values: auto, hidden, visible, scroll;
2
4
 
3
5
  @each $value in $_overflow-values {
4
- .qo-overflow-#{$value} { overflow: $value; }
5
- .qo-overflow-x-#{$value} { overflow-x: $value; }
6
- .qo-overflow-y-#{$value} { overflow-y: $value; }
6
+ @include mc.meta("qo-overflow-#{$value}", (overflow: $value));
7
+ @include mc.meta("qo-overflow-x-#{$value}", (overflow-x: $value));
8
+ @include mc.meta("qo-overflow-y-#{$value}", (overflow-y: $value));
7
9
  }
@@ -1,26 +1,22 @@
1
- .qo-position-static { position: static; }
2
- .qo-position-relative { position: relative; }
3
- .qo-position-absolute { position: absolute; }
4
- .qo-position-fixed { position: fixed; }
5
- .qo-position-sticky { position: sticky; }
1
+ @use "../base/mixins/meta-class" as mc;
2
+
3
+ @include mc.meta("qo-position-static", (position: static));
4
+ @include mc.meta("qo-position-relative", (position: relative));
5
+ @include mc.meta("qo-position-absolute", (position: absolute));
6
+ @include mc.meta("qo-position-fixed", (position: fixed));
7
+ @include mc.meta("qo-position-sticky", (position: sticky));
6
8
 
7
9
  // Edge positioning
8
10
  $_positions: (0: 0, 50: 50%, 100: 100%);
9
11
 
10
12
  @each $key, $value in $_positions {
11
- .qo-top-#{$key} { top: $value; }
12
- .qo-bottom-#{$key} { bottom: $value; }
13
- .qo-start-#{$key} { left: $value; }
14
- .qo-end-#{$key} { right: $value; }
13
+ @include mc.meta("qo-top-#{$key}", (top: $value));
14
+ @include mc.meta("qo-bottom-#{$key}", (bottom: $value));
15
+ @include mc.meta("qo-start-#{$key}", (left: $value));
16
+ @include mc.meta("qo-end-#{$key}", (right: $value));
15
17
  }
16
18
 
17
19
  // Center transform helpers
18
- .qo-translate-middle {
19
- transform: translate(-50%, -50%);
20
- }
21
- .qo-translate-middle-x {
22
- transform: translateX(-50%);
23
- }
24
- .qo-translate-middle-y {
25
- transform: translateY(-50%);
26
- }
20
+ @include mc.meta("qo-translate-middle", (transform: translate(-50%, -50%)));
21
+ @include mc.meta("qo-translate-middle-x", (transform: translateX(-50%)));
22
+ @include mc.meta("qo-translate-middle-y", (transform: translateY(-50%)));
@@ -1,13 +1,24 @@
1
- $_sizing-values: (25: 25%, 50: 50%, 75: 75%, 100: 100%, auto: auto);
1
+ @use "../base/size" as sz;
2
+ @use "../base/mixins/meta-class" as mc;
2
3
 
3
- @each $key, $value in $_sizing-values {
4
- .qo-w-#{$key} { width: $value; }
5
- .qo-h-#{$key} { height: $value; }
4
+ @each $key, $value in sz.$sizing-values {
5
+ @include mc.meta("qo-w-#{$key}", (width: $value));
6
+ @include mc.meta("qo-h-#{$key}", (height: $value));
6
7
  }
7
8
 
8
- .qo-mw-100 { max-width: 100%; }
9
- .qo-mh-100 { max-height: 100%; }
10
- .qo-min-vw-100 { min-width: 100vw; }
11
- .qo-min-vh-100 { min-height: 100vh; }
12
- .qo-vw-100 { width: 100vw; }
13
- .qo-vh-100 { height: 100vh; }
9
+ @each $key, $value in sz.$sizing-values {
10
+ @include mc.meta("qo-min-w-#{$key}", (min-width: $value));
11
+ @include mc.meta("qo-min-h-#{$key}", (min-height: $value));
12
+ }
13
+
14
+ @each $key, $value in sz.$sizing-values {
15
+ @include mc.meta("qo-max-w-#{$key}", (max-width: $value));
16
+ @include mc.meta("qo-max-h-#{$key}", (max-height: $value));
17
+ }
18
+
19
+ @include mc.meta("qo-mw-100", (max-width: 100%));
20
+ @include mc.meta("qo-mh-100", (max-height: 100%));
21
+ @include mc.meta("qo-min-vw-100", (min-width: 100vw));
22
+ @include mc.meta("qo-min-vh-100", (min-height: 100vh));
23
+ @include mc.meta("qo-vw-100", (width: 100vw));
24
+ @include mc.meta("qo-vh-100", (height: 100vh));
@@ -1,49 +1,43 @@
1
1
  @use "../base/mixins/breakpoints" as bp;
2
+ @use "../base/mixins/meta-class" as mc;
2
3
 
3
4
  // Text alignment
4
- .qo-text-start { text-align: left; }
5
- .qo-text-end { text-align: right; }
6
- .qo-text-center { text-align: center; }
7
- .qo-text-justify { text-align: justify; }
5
+ @include mc.meta("qo-text-start", (text-align: left));
6
+ @include mc.meta("qo-text-end", (text-align: right));
7
+ @include mc.meta("qo-text-center", (text-align: center));
8
+ @include mc.meta("qo-text-justify", (text-align: justify));
8
9
 
9
10
  // Text wrapping
10
- .qo-text-nowrap { white-space: nowrap; }
11
- .qo-text-wrap { white-space: normal; }
12
- .qo-text-truncate {
13
- overflow: hidden;
14
- text-overflow: ellipsis;
15
- white-space: nowrap;
16
- }
17
- .qo-text-break {
18
- word-wrap: break-word;
19
- word-break: break-word;
20
- }
11
+ @include mc.meta("qo-text-nowrap", (white-space: nowrap));
12
+ @include mc.meta("qo-text-wrap", (white-space: normal));
13
+ @include mc.meta("qo-text-truncate", (overflow: hidden, text-overflow: ellipsis, white-space: nowrap));
14
+ @include mc.meta("qo-text-break", (word-wrap: break-word, word-break: break-word));
21
15
 
22
16
  // Text transform
23
- .qo-text-uppercase { text-transform: uppercase; }
24
- .qo-text-lowercase { text-transform: lowercase; }
25
- .qo-text-capitalize { text-transform: capitalize; }
17
+ @include mc.meta("qo-text-uppercase", (text-transform: uppercase));
18
+ @include mc.meta("qo-text-lowercase", (text-transform: lowercase));
19
+ @include mc.meta("qo-text-capitalize", (text-transform: capitalize));
26
20
 
27
21
  // Text decoration
28
- .qo-text-decoration-none { text-decoration: none; }
29
- .qo-text-decoration-underline { text-decoration: underline; }
30
- .qo-text-decoration-line-through { text-decoration: line-through; }
22
+ @include mc.meta("qo-text-decoration-none", (text-decoration: none));
23
+ @include mc.meta("qo-text-decoration-underline", (text-decoration: underline));
24
+ @include mc.meta("qo-text-decoration-line-through", (text-decoration: line-through));
31
25
 
32
26
  // Font style
33
- .qo-fst-italic { font-style: italic; }
34
- .qo-fst-normal { font-style: normal; }
27
+ @include mc.meta("qo-fst-italic", (font-style: italic));
28
+ @include mc.meta("qo-fst-normal", (font-style: normal));
35
29
 
36
30
  // Line height
37
- .qo-lh-1 { line-height: 1; }
38
- .qo-lh-sm { line-height: 1.25; }
39
- .qo-lh-base { line-height: 1.5; }
40
- .qo-lh-lg { line-height: 2; }
31
+ @include mc.meta("qo-lh-1", (line-height: 1));
32
+ @include mc.meta("qo-lh-sm", (line-height: 1.25));
33
+ @include mc.meta("qo-lh-base", (line-height: 1.5));
34
+ @include mc.meta("qo-lh-lg", (line-height: 2));
41
35
 
42
36
  // Responsive text alignment
43
37
  @each $bp-name, $bp-value in bp.$breakpoints {
44
38
  @media (min-width: $bp-value) {
45
- .qo-text-#{$bp-name}-start { text-align: left; }
46
- .qo-text-#{$bp-name}-end { text-align: right; }
47
- .qo-text-#{$bp-name}-center { text-align: center; }
39
+ @include mc.meta("qo-text-#{$bp-name}-start", (text-align: left));
40
+ @include mc.meta("qo-text-#{$bp-name}-end", (text-align: right));
41
+ @include mc.meta("qo-text-#{$bp-name}-center", (text-align: center));
48
42
  }
49
43
  }
@@ -1,2 +1,4 @@
1
- .qo-visible { visibility: visible; }
2
- .qo-invisible { visibility: hidden; }
1
+ @use "../base/mixins/meta-class" as mc;
2
+
3
+ @include mc.meta("qo-visible", (visibility: visible));
4
+ @include mc.meta("qo-invisible", (visibility: hidden));