procode-vs-theme 1.0.5 → 1.0.7

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 (70) hide show
  1. package/dist/components.esm.js +4 -1
  2. package/dist/components.esm.js.map +1 -1
  3. package/dist/components.js +4 -0
  4. package/dist/components.js.map +1 -1
  5. package/dist/index.esm.js +5 -1
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.js +5 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/src/base/_border.scss +1 -0
  10. package/dist/src/base/_color.scss +6 -2
  11. package/dist/src/base/_custom-properties.scss +6 -0
  12. package/dist/src/base/_size.scss +13 -3
  13. package/dist/src/base/_space.scss +2 -0
  14. package/dist/src/base/mixins/_meta-class.scss +26 -0
  15. package/dist/src/components/_disabled.scss +8 -0
  16. package/dist/src/components/_placeholder.scss +46 -0
  17. package/dist/src/components.ts +23 -20
  18. package/dist/src/index.scss +2 -2
  19. package/dist/src/utilities/_cursor.scss +3 -3
  20. package/dist/src/utilities/_display.scss +3 -6
  21. package/dist/src/utilities/_flex.scss +60 -59
  22. package/dist/src/utilities/_opacity.scss +3 -3
  23. package/dist/src/utilities/_overflow.scss +5 -3
  24. package/dist/src/utilities/_position.scss +14 -18
  25. package/dist/src/utilities/_sizing.scss +21 -10
  26. package/dist/src/utilities/_text.scss +24 -30
  27. package/dist/src/utilities/_visibility.scss +4 -2
  28. package/dist/src/utilities/background-color/index.scss +16 -37
  29. package/dist/src/utilities/border/_border-color.scss +11 -33
  30. package/dist/src/utilities/border/_border-radius.scss +9 -28
  31. package/dist/src/utilities/border/_border-size.scss +8 -10
  32. package/dist/src/utilities/box-shadow/index.scss +6 -15
  33. package/dist/src/utilities/spaces/_gap.scss +4 -11
  34. package/dist/src/utilities/spaces/_margin.scss +14 -22
  35. package/dist/src/utilities/spaces/_padding.scss +7 -15
  36. package/dist/src/utilities/typography/_color.scss +12 -30
  37. package/dist/src/utilities/typography/_font.scss +35 -63
  38. package/dist/types/components.d.ts +2 -0
  39. package/package.json +1 -1
  40. package/src/base/_border.scss +1 -0
  41. package/src/base/_color.scss +6 -2
  42. package/src/base/_custom-properties.scss +6 -0
  43. package/src/base/_size.scss +13 -3
  44. package/src/base/_space.scss +2 -0
  45. package/src/base/mixins/_meta-class.scss +26 -0
  46. package/src/components/_disabled.scss +8 -0
  47. package/src/components/_placeholder.scss +46 -0
  48. package/src/components.ts +23 -20
  49. package/src/index.scss +2 -2
  50. package/src/utilities/_cursor.scss +3 -3
  51. package/src/utilities/_display.scss +3 -6
  52. package/src/utilities/_flex.scss +60 -59
  53. package/src/utilities/_opacity.scss +3 -3
  54. package/src/utilities/_overflow.scss +5 -3
  55. package/src/utilities/_position.scss +14 -18
  56. package/src/utilities/_sizing.scss +21 -10
  57. package/src/utilities/_text.scss +24 -30
  58. package/src/utilities/_visibility.scss +4 -2
  59. package/src/utilities/background-color/index.scss +16 -37
  60. package/src/utilities/border/_border-color.scss +11 -33
  61. package/src/utilities/border/_border-radius.scss +9 -28
  62. package/src/utilities/border/_border-size.scss +8 -10
  63. package/src/utilities/box-shadow/index.scss +6 -15
  64. package/src/utilities/spaces/_gap.scss +4 -11
  65. package/src/utilities/spaces/_margin.scss +14 -22
  66. package/src/utilities/spaces/_padding.scss +7 -15
  67. package/src/utilities/typography/_color.scss +12 -30
  68. package/src/utilities/typography/_font.scss +35 -63
  69. package/dist/src/utilities/size/index.scss +0 -9
  70. package/src/utilities/size/index.scss +0 -9
@@ -16,6 +16,7 @@
16
16
  --qo-text-dark: #{cl.$text-dark};
17
17
  --qo-text-light: #{cl.$text-light};
18
18
  --qo-text-tertiary: #{cl.$text-tertiary};
19
+ --qo-text-placeholder: #{cl.$text-placeholder};
19
20
 
20
21
  // Background colors
21
22
  --qo-bg-primary: #{cl.$background-primary};
@@ -26,8 +27,11 @@
26
27
  --qo-bg-info: #{cl.$background-info};
27
28
  --qo-bg-default: #{cl.$background-default};
28
29
  --qo-bg-dark: #{cl.$background-dark};
30
+ --qo-bg-dark-a: #{cl.$background-dark-a};
31
+ --qo-bg-medium: #{cl.$background-medium};
29
32
  --qo-bg-light: #{cl.$background-light};
30
33
  --qo-bg-tertiary: #{cl.$background-tertiary};
34
+ --qo-bg-disabled: #{cl.$background-disabled};
31
35
 
32
36
  // Border colors
33
37
  --qo-border-primary: #{cl.$border-primary};
@@ -89,6 +93,7 @@
89
93
  --qo-border-radius-full: #{bo.$border-radius-full};
90
94
 
91
95
  // Border widths
96
+ --qo-border-width-none: #{bo.$border-width-none};
92
97
  --qo-border-width-sm: #{bo.$border-width-sm};
93
98
  --qo-border-width-md: #{bo.$border-width-md};
94
99
  --qo-border-width-lg: #{bo.$border-width-lg};
@@ -99,4 +104,5 @@
99
104
  --qo-size-md: #{sz.$size-md};
100
105
  --qo-size-lg: #{sz.$size-lg};
101
106
  --qo-size-xl: #{sz.$size-xl};
107
+ --qo-size-xxl: #{sz.$size-xxl};
102
108
  }
@@ -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
+ }
@@ -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
+ }
@@ -0,0 +1,46 @@
1
+ @use "../base/color" as cl;
2
+ @use "../base/font" as ft;
3
+ @use "../base/mixins/font_size-mx" as mx;
4
+
5
+ ::placeholder {
6
+ color: cl.$text-placeholder;
7
+ opacity: 1;
8
+ @include mx.font-size(ft.$font-size-sm, ft.$line-height-sm);
9
+ }
10
+
11
+ ::-webkit-input-placeholder {
12
+ color: cl.$text-placeholder;
13
+ @include mx.font-size(ft.$font-size-sm, ft.$line-height-sm);
14
+ }
15
+
16
+ :-ms-input-placeholder {
17
+ color: cl.$text-placeholder;
18
+ @include mx.font-size(ft.$font-size-sm, ft.$line-height-sm);
19
+ }
20
+
21
+ .qo-placeholder-xs::placeholder {
22
+ @include mx.font-size(ft.$font-size-xs, ft.$line-height-xs);
23
+ }
24
+
25
+ .qo-placeholder-sm::placeholder {
26
+ @include mx.font-size(ft.$font-size-sm, ft.$line-height-sm);
27
+ }
28
+
29
+ .qo-placeholder-md::placeholder {
30
+ @include mx.font-size(ft.$font-size-md, ft.$line-height-md);
31
+ }
32
+
33
+ .qo-placeholder-italic::placeholder {
34
+ font-style: italic;
35
+ }
36
+
37
+ .qo-placeholder-primary::placeholder { color: cl.$text-primary; }
38
+ .qo-placeholder-secondary::placeholder { color: cl.$text-secondary; }
39
+ .qo-placeholder-success::placeholder { color: cl.$text-success; }
40
+ .qo-placeholder-warning::placeholder { color: cl.$text-warning; }
41
+ .qo-placeholder-danger::placeholder { color: cl.$text-danger; }
42
+ .qo-placeholder-info::placeholder { color: cl.$text-info; }
43
+ .qo-placeholder-default::placeholder { color: cl.$text-default; }
44
+ .qo-placeholder-dark::placeholder { color: cl.$text-dark; }
45
+ .qo-placeholder-light::placeholder { color: cl.$text-light; }
46
+ .qo-placeholder-tertiary::placeholder { color: cl.$text-tertiary; }
package/src/components.ts CHANGED
@@ -1,20 +1,23 @@
1
- // VS Theme Components Export
2
- // Provides access to all component styles
3
-
4
- export const buttons = './components/_buttons.scss';
5
- export const input = './components/_input.scss';
6
- export const cards = './components/_cards.scss';
7
-
8
- // All components combined
9
- export const allComponents = [
10
- buttons,
11
- input,
12
- cards
13
- ];
14
-
15
- export default {
16
- buttons,
17
- input,
18
- cards,
19
- all: allComponents
20
- };
1
+ // VS Theme Components Export
2
+ // Provides access to all component styles
3
+
4
+ export const buttons = './components/_buttons.scss';
5
+ export const input = './components/_input.scss';
6
+ export const placeholder = './components/_placeholder.scss';
7
+ export const cards = './components/_cards.scss';
8
+
9
+ // All components combined
10
+ export const allComponents = [
11
+ buttons,
12
+ input,
13
+ placeholder,
14
+ cards
15
+ ];
16
+
17
+ export default {
18
+ buttons,
19
+ input,
20
+ placeholder,
21
+ cards,
22
+ all: allComponents
23
+ };
package/src/index.scss CHANGED
@@ -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,8 @@
66
64
  // Components
67
65
  @forward "./components/buttons";
68
66
  @forward "./components/input";
67
+ @forward "./components/placeholder";
68
+ @forward "./components/disabled";
69
69
 
70
70
  // Layout
71
71
  @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));
@@ -1,37 +1,16 @@
1
- @use "../../base/color" as cl;
2
- .qo-bg-primary {
3
- background-color: cl.$background-primary;
4
- }
5
- .qo-bg-secondary {
6
- background-color: cl.$background-secondary;
7
- }
8
- .qo-bg-success {
9
- background-color: cl.$background-success;
10
- }
11
- .qo-bg-warning {
12
- background-color: cl.$background-warning;
13
- }
14
- .qo-bg-danger {
15
- background-color: cl.$background-danger;
16
- }
17
- .qo-bg-info {
18
- background-color: cl.$background-info;
19
- }
20
- .qo-bg-default {
21
- background-color: cl.$background-default;
22
- }
23
- .qo-bg-dark {
24
- background-color: cl.$background-dark;
25
- }
26
- .qo-bg-dark-alt {
27
- background-color: cl.$background-dark-a;
28
- }
29
- .qo-bg-light {
30
- background-color: cl.$background-light;
31
- }
32
- .qo-bg-tertiary {
33
- background-color: cl.$background-tertiary;
34
- }
35
- .qo-bg-lime {
36
- background-color: cl.$background-lime;
37
- }
1
+ @use "../../base/color" as cl;
2
+ @use "../../base/mixins/meta-class" as mc;
3
+
4
+ @include mc.meta("qo-bg-primary", (background-color: cl.$background-primary));
5
+ @include mc.meta("qo-bg-secondary", (background-color: cl.$background-secondary));
6
+ @include mc.meta("qo-bg-success", (background-color: cl.$background-success));
7
+ @include mc.meta("qo-bg-warning", (background-color: cl.$background-warning));
8
+ @include mc.meta("qo-bg-danger", (background-color: cl.$background-danger));
9
+ @include mc.meta("qo-bg-info", (background-color: cl.$background-info));
10
+ @include mc.meta("qo-bg-default", (background-color: cl.$background-default));
11
+ @include mc.meta("qo-bg-dark", (background-color: cl.$background-dark));
12
+ @include mc.meta("qo-bg-dark-alt", (background-color: cl.$background-dark-a));
13
+ @include mc.meta("qo-bg-medium", (background-color: cl.$background-medium));
14
+ @include mc.meta("qo-bg-light", (background-color: cl.$background-light));
15
+ @include mc.meta("qo-bg-tertiary", (background-color: cl.$background-tertiary));
16
+ @include mc.meta("qo-bg-lime", (background-color: cl.$background-lime));