procode-vs-theme 2.2.0 → 2.4.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 (66) hide show
  1. package/CHANGELOG.md +214 -45
  2. package/dist/components.esm.js +28 -4
  3. package/dist/components.esm.js.map +1 -1
  4. package/dist/components.js +35 -3
  5. package/dist/components.js.map +1 -1
  6. package/dist/index.esm.js +41 -5
  7. package/dist/index.esm.js.map +1 -1
  8. package/dist/index.js +41 -5
  9. package/dist/index.js.map +1 -1
  10. package/dist/src/base/_border.scss +21 -12
  11. package/dist/src/base/_color.scss +106 -47
  12. package/dist/src/base/_custom-properties.scss +166 -111
  13. package/dist/src/base/_font.scss +61 -37
  14. package/dist/src/base/_size.scss +30 -17
  15. package/dist/src/base/_space.scss +53 -33
  16. package/dist/src/base/_variants.scss +128 -0
  17. package/dist/src/components/_alert.scss +83 -0
  18. package/dist/src/components/_badge.scss +100 -0
  19. package/dist/src/components/_buttons.scss +189 -420
  20. package/dist/src/components/_cards.scss +130 -0
  21. package/dist/src/components/_input.scss +186 -32
  22. package/dist/src/components/_link.scss +34 -0
  23. package/dist/src/components/_page.scss +87 -0
  24. package/dist/src/components/_pagination.scss +71 -0
  25. package/dist/src/components/_table.scss +171 -0
  26. package/dist/src/components/_tabs.scss +77 -0
  27. package/dist/src/components.ts +47 -23
  28. package/dist/src/index.scss +82 -71
  29. package/dist/src/utilities/_interaction.scss +72 -0
  30. package/dist/src/utilities/background-color/index.scss +13 -0
  31. package/dist/src/utilities/border/_border-color.scss +2 -0
  32. package/dist/src/utilities/box-shadow/index.scss +8 -8
  33. package/dist/src/utilities/typography/_color.scss +38 -34
  34. package/dist/src/variables.ts +38 -35
  35. package/dist/types/components.d.ts +18 -2
  36. package/dist/types/variables.d.ts +2 -0
  37. package/dist/variables.esm.js +4 -1
  38. package/dist/variables.esm.js.map +1 -1
  39. package/dist/variables.js +4 -0
  40. package/dist/variables.js.map +1 -1
  41. package/package.json +84 -84
  42. package/src/base/_border.scss +21 -12
  43. package/src/base/_color.scss +106 -47
  44. package/src/base/_custom-properties.scss +166 -111
  45. package/src/base/_font.scss +61 -37
  46. package/src/base/_size.scss +30 -17
  47. package/src/base/_space.scss +53 -33
  48. package/src/base/_variants.scss +128 -0
  49. package/src/components/_alert.scss +83 -0
  50. package/src/components/_badge.scss +100 -0
  51. package/src/components/_buttons.scss +189 -420
  52. package/src/components/_cards.scss +130 -0
  53. package/src/components/_input.scss +186 -32
  54. package/src/components/_link.scss +34 -0
  55. package/src/components/_page.scss +87 -0
  56. package/src/components/_pagination.scss +71 -0
  57. package/src/components/_table.scss +171 -0
  58. package/src/components/_tabs.scss +77 -0
  59. package/src/components.ts +47 -23
  60. package/src/index.scss +82 -71
  61. package/src/utilities/_interaction.scss +72 -0
  62. package/src/utilities/background-color/index.scss +13 -0
  63. package/src/utilities/border/_border-color.scss +2 -0
  64. package/src/utilities/box-shadow/index.scss +8 -8
  65. package/src/utilities/typography/_color.scss +38 -34
  66. package/src/variables.ts +38 -35
@@ -0,0 +1,171 @@
1
+ @use "../base/color" as cl;
2
+ @use "../base/border" as bo;
3
+ @use "../base/font" as ft;
4
+ @use "../base/space" as sp;
5
+ @use "../base/size" as sz;
6
+
7
+ // Data grid
8
+ //
9
+ // <div class="qo-grid-shell">
10
+ // <div class="qo-grid-scroll">
11
+ // <table class="qo-table">
12
+ // <thead><tr class="qo-table-header">…</tr>
13
+ // <tr class="qo-table-filter">…</tr></thead>
14
+ // <tbody>…</tbody>
15
+ // </table>
16
+ // </div>
17
+ // <div class="qo-grid-footer">…</div>
18
+ // </div>
19
+ //
20
+ // Row heights come from the component-height tokens, so a grid lines up with
21
+ // the toolbar above it without either side re-deciding.
22
+
23
+ .qo-grid-shell {
24
+ overflow: hidden;
25
+ background-color: cl.$background-default;
26
+ border: bo.$border-width-sm solid cl.$border-light;
27
+ border-radius: bo.$border-radius-md;
28
+ box-shadow: cl.$shadow-sm;
29
+ }
30
+
31
+ // Horizontal scroll rather than squeezing columns until text is unreadable.
32
+ .qo-grid-scroll {
33
+ width: 100%;
34
+ overflow-x: auto;
35
+ }
36
+
37
+ .qo-table {
38
+ width: 100%;
39
+ border-collapse: separate;
40
+ border-spacing: 0;
41
+ table-layout: fixed;
42
+ color: cl.$text-dark;
43
+ font-family: ft.$font-family-primary;
44
+ font-size: ft.$font-size-md;
45
+
46
+ th,
47
+ td {
48
+ border-right: bo.$border-width-sm solid cl.$border-light;
49
+ border-bottom: bo.$border-width-sm solid cl.$border-light;
50
+ }
51
+
52
+ tr > *:last-child { border-right: 0; }
53
+ tbody tr:last-child td { border-bottom: 0; }
54
+
55
+ tbody tr {
56
+ height: sz.$grid-row-height;
57
+ transition: background-color 0.15s ease;
58
+ }
59
+
60
+ tbody tr:hover { background-color: cl.$background-hover; }
61
+
62
+ tbody td {
63
+ padding: sp.$space-3;
64
+ background: inherit;
65
+ vertical-align: middle;
66
+ font-size: ft.$font-size-md;
67
+ font-weight: ft.$font-weight-regular;
68
+ line-height: 1.35;
69
+ overflow-wrap: anywhere;
70
+ }
71
+
72
+ // Variants
73
+ &.qo-table-auto { table-layout: auto; }
74
+ &.qo-table-borderless th,
75
+ &.qo-table-borderless td { border: 0; }
76
+ &.qo-table-striped tbody tr:nth-child(even) { background-color: cl.$background-light; }
77
+ &.qo-table-compact tbody tr { height: sz.$grid-filter-height; }
78
+ &.qo-table-compact tbody td { padding: sp.$space-2; }
79
+ &.qo-table-static tbody tr:hover { background-color: transparent; }
80
+ }
81
+
82
+ .qo-table-header th {
83
+ height: sz.$grid-header-height;
84
+ padding: 0 sp.$space-3;
85
+ background-color: cl.$background-header;
86
+ color: cl.$text-dark;
87
+ text-align: left;
88
+ vertical-align: middle;
89
+ font-size: ft.$font-size-sm;
90
+ font-weight: ft.$font-weight-semibold;
91
+ line-height: 1.2;
92
+ white-space: nowrap;
93
+ }
94
+
95
+ // A sortable header is a button in spirit — it needs hover and focus.
96
+ .qo-table-sort {
97
+ display: inline-flex;
98
+ align-items: center;
99
+ gap: sp.$space-1;
100
+ cursor: pointer;
101
+ user-select: none;
102
+
103
+ &:hover { color: cl.$text-primary; }
104
+ &:focus-visible { outline: 0; box-shadow: cl.$focus-ring; }
105
+ &.qo-table-sort-active { color: cl.$text-primary; }
106
+ }
107
+
108
+ .qo-table-filter th {
109
+ height: sz.$grid-filter-height;
110
+ padding: sp.$space-2;
111
+ background-color: cl.$background-default;
112
+ vertical-align: middle;
113
+ }
114
+
115
+ // Cell content helpers
116
+ .qo-table-link {
117
+ color: cl.$text-primary;
118
+ font-size: ft.$font-size-md;
119
+ font-weight: ft.$font-weight-medium;
120
+ text-decoration: none;
121
+
122
+ &:hover { text-decoration: underline; }
123
+ &:focus-visible { outline: 0; box-shadow: cl.$focus-ring; border-radius: bo.$border-radius-sm; }
124
+ }
125
+
126
+ .qo-table-meta {
127
+ display: block;
128
+ margin-top: 2px;
129
+ color: cl.$text-secondary;
130
+ font-size: ft.$font-size-xs;
131
+ font-weight: ft.$font-weight-regular;
132
+ }
133
+
134
+ .qo-table-cell-group {
135
+ display: inline-flex;
136
+ align-items: center;
137
+ gap: sp.$space-2;
138
+ }
139
+
140
+ // A row the user must not act on — protected/system records.
141
+ .qo-table-row-locked {
142
+ background-color: cl.$background-light;
143
+ &:hover { background-color: cl.$background-secondary; }
144
+ }
145
+
146
+ .qo-lock-icon {
147
+ color: cl.$text-default;
148
+ font-size: ft.$font-size-sm;
149
+ }
150
+
151
+ // Footer / results summary
152
+ .qo-grid-footer {
153
+ min-height: sz.$grid-filter-height;
154
+ padding: sp.$space-2 sp.$space-3;
155
+ display: flex;
156
+ align-items: center;
157
+ justify-content: space-between;
158
+ gap: sp.$space-3;
159
+ background-color: cl.$background-default;
160
+
161
+ @media (max-width: 768px) {
162
+ flex-direction: column;
163
+ align-items: flex-start;
164
+ }
165
+ }
166
+
167
+ .qo-grid-summary {
168
+ color: cl.$text-dark;
169
+ font-size: ft.$font-size-sm;
170
+ font-weight: ft.$font-weight-regular;
171
+ }
@@ -0,0 +1,77 @@
1
+ @use "../base/color" as cl;
2
+ @use "../base/border" as bo;
3
+ @use "../base/font" as ft;
4
+ @use "../base/space" as sp;
5
+
6
+ // Tabs
7
+ //
8
+ // <nav class="qo-tabs">
9
+ // <button class="qo-tab qo-tab-active">Users</button>
10
+ // <button class="qo-tab">User Roles</button>
11
+ // </nav>
12
+
13
+ .qo-tabs {
14
+ display: flex;
15
+ align-items: center;
16
+ gap: sp.$space-6;
17
+ height: 56px;
18
+
19
+ &.qo-tabs-sm { height: 40px; gap: sp.$space-4; }
20
+ &.qo-tabs-pill { gap: sp.$space-2; height: auto; }
21
+
22
+ @media (max-width: 768px) { height: 40px; }
23
+ }
24
+
25
+ .qo-tab {
26
+ position: relative;
27
+ height: 56px;
28
+ padding: 0 2px;
29
+ display: inline-flex;
30
+ align-items: center;
31
+ border: 0;
32
+ background: transparent;
33
+ color: cl.$text-darker;
34
+ font-family: ft.$font-family-primary;
35
+ font-size: ft.$font-size-lg;
36
+ font-weight: ft.$font-weight-medium;
37
+ cursor: pointer;
38
+ transition: color 0.2s ease;
39
+
40
+ &:hover { color: cl.$text-primary; }
41
+ &:focus-visible { outline: 0; box-shadow: cl.$focus-ring; border-radius: bo.$border-radius-sm; }
42
+
43
+ &:disabled { opacity: 0.48; cursor: not-allowed; }
44
+
45
+ // The 2px underline is drawn on a pseudo-element so the tab does not shift
46
+ // by 2px when it becomes active.
47
+ &.qo-tab-active {
48
+ color: cl.$text-primary;
49
+ font-weight: ft.$font-weight-semibold;
50
+
51
+ &::after {
52
+ content: "";
53
+ position: absolute;
54
+ left: 0;
55
+ right: 0;
56
+ bottom: 0;
57
+ height: bo.$border-width-md;
58
+ background-color: cl.$background-primary;
59
+ }
60
+ }
61
+
62
+ .qo-tabs-sm & { height: 40px; }
63
+
64
+ // Pill tabs: filled chip instead of an underline.
65
+ .qo-tabs-pill & {
66
+ height: auto;
67
+ padding: sp.$space-2 sp.$space-3;
68
+ border-radius: bo.$border-radius-pill;
69
+
70
+ &.qo-tab-active {
71
+ background-color: cl.$background-primary-soft;
72
+ &::after { content: none; }
73
+ }
74
+ }
75
+
76
+ @media (max-width: 768px) { height: 40px; }
77
+ }
@@ -1,23 +1,47 @@
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
- };
1
+ // VS Theme Components Export
2
+ // Provides access to all component styles
3
+
4
+ export const buttons = './components/_buttons.scss';
5
+ export const badge = './components/_badge.scss';
6
+ export const input = './components/_input.scss';
7
+ export const link = './components/_link.scss';
8
+ export const cards = './components/_cards.scss';
9
+ export const table = './components/_table.scss';
10
+ export const pagination = './components/_pagination.scss';
11
+ export const tabs = './components/_tabs.scss';
12
+ export const alert = './components/_alert.scss';
13
+ export const page = './components/_page.scss';
14
+ export const placeholder = './components/_placeholder.scss';
15
+ export const disabled = './components/_disabled.scss';
16
+
17
+ // All components combined
18
+ export const allComponents = [
19
+ buttons,
20
+ badge,
21
+ input,
22
+ link,
23
+ cards,
24
+ table,
25
+ pagination,
26
+ tabs,
27
+ alert,
28
+ page,
29
+ placeholder,
30
+ disabled
31
+ ];
32
+
33
+ export default {
34
+ buttons,
35
+ badge,
36
+ input,
37
+ link,
38
+ cards,
39
+ table,
40
+ pagination,
41
+ tabs,
42
+ alert,
43
+ page,
44
+ placeholder,
45
+ disabled,
46
+ all: allComponents
47
+ };
@@ -1,71 +1,82 @@
1
- // Reset
2
- @forward "./utilities/reset";
3
-
4
- // CSS Custom Properties
5
- @forward "./base/custom-properties";
6
-
7
- // Typography
8
- @forward "./utilities/typography/font";
9
- @forward "./utilities/typography/color";
10
-
11
- // Background
12
- @forward "./utilities/background-color/index.scss";
13
-
14
- // Border
15
- @forward "./utilities/border/border-color";
16
- @forward "./utilities/border/border-radius";
17
- @forward "./utilities/border/border-size";
18
-
19
- // Spacing
20
- @forward "./utilities/spaces/gap";
21
- @forward "./utilities/spaces/margin";
22
- @forward "./utilities/spaces/padding";
23
-
24
- // Box shadow
25
- @forward "./utilities/box-shadow/index.scss";
26
-
27
-
28
- // Display
29
- @forward "./utilities/display";
30
-
31
- // Flex
32
- @forward "./utilities/flex";
33
-
34
- // Text
35
- @forward "./utilities/text";
36
-
37
- // Position
38
- @forward "./utilities/position";
39
-
40
- // Overflow
41
- @forward "./utilities/overflow";
42
-
43
- // Opacity
44
- @forward "./utilities/opacity";
45
-
46
- // Cursor
47
- @forward "./utilities/cursor";
48
-
49
- // Sizing (width/height)
50
- @forward "./utilities/sizing";
51
-
52
- // Visibility
53
- @forward "./utilities/visibility";
54
-
55
- // Base variables & mixins
56
- @forward "./base/mixins/media-query-mx";
57
- @forward "./base/mixins/breakpoints";
58
- @forward "./base/border";
59
- @forward "./base/color";
60
- @forward "./base/font";
61
- @forward "./base/space";
62
- @forward "./base/size";
63
-
64
- // Components
65
- @forward "./components/buttons";
66
- @forward "./components/input";
67
- @forward "./components/placeholder";
68
- @forward "./components/disabled";
69
-
70
- // Layout
71
- @forward "./layout/drawer";
1
+ // Reset
2
+ @forward "./utilities/reset";
3
+
4
+ // CSS Custom Properties
5
+ @forward "./base/custom-properties";
6
+
7
+ // Typography
8
+ @forward "./utilities/typography/font";
9
+ @forward "./utilities/typography/color";
10
+
11
+ // Background
12
+ @forward "./utilities/background-color/index.scss";
13
+
14
+ // Border
15
+ @forward "./utilities/border/border-color";
16
+ @forward "./utilities/border/border-radius";
17
+ @forward "./utilities/border/border-size";
18
+
19
+ // Spacing
20
+ @forward "./utilities/spaces/gap";
21
+ @forward "./utilities/spaces/margin";
22
+ @forward "./utilities/spaces/padding";
23
+
24
+ // Box shadow
25
+ @forward "./utilities/box-shadow/index.scss";
26
+
27
+ // Interaction, elevation, component heights, focus
28
+ @forward "./utilities/interaction";
29
+
30
+ // Display
31
+ @forward "./utilities/display";
32
+
33
+ // Flex
34
+ @forward "./utilities/flex";
35
+
36
+ // Text
37
+ @forward "./utilities/text";
38
+
39
+ // Position
40
+ @forward "./utilities/position";
41
+
42
+ // Overflow
43
+ @forward "./utilities/overflow";
44
+
45
+ // Opacity
46
+ @forward "./utilities/opacity";
47
+
48
+ // Cursor
49
+ @forward "./utilities/cursor";
50
+
51
+ // Sizing (width/height)
52
+ @forward "./utilities/sizing";
53
+
54
+ // Visibility
55
+ @forward "./utilities/visibility";
56
+
57
+ // Base variables & mixins
58
+ @forward "./base/mixins/media-query-mx";
59
+ @forward "./base/mixins/breakpoints";
60
+ @forward "./base/border";
61
+ @forward "./base/color";
62
+ @forward "./base/font";
63
+ @forward "./base/space";
64
+ @forward "./base/size";
65
+ @forward "./base/variants";
66
+
67
+ // Components
68
+ @forward "./components/buttons";
69
+ @forward "./components/badge";
70
+ @forward "./components/input";
71
+ @forward "./components/link";
72
+ @forward "./components/cards";
73
+ @forward "./components/table";
74
+ @forward "./components/pagination";
75
+ @forward "./components/tabs";
76
+ @forward "./components/alert";
77
+ @forward "./components/page";
78
+ @forward "./components/placeholder";
79
+ @forward "./components/disabled";
80
+
81
+ // Layout
82
+ @forward "./layout/drawer";
@@ -0,0 +1,72 @@
1
+ @use "../base/color" as cl;
2
+ @use "../base/size" as sz;
3
+ @use "../base/mixins/meta-class" as mc;
4
+
5
+ // Interaction & elevation utilities
6
+ //
7
+ // These carry their own states, so there is no separate `qo-hover-*` family
8
+ // to remember — `qo-focusable` is the focus ring, `qo-clickable` is the whole
9
+ // pointer affordance.
10
+
11
+ @include mc.meta("qo-shadow-none", (box-shadow: none));
12
+ @include mc.meta("qo-shadow-sm", (box-shadow: cl.$shadow-sm));
13
+ @include mc.meta("qo-shadow-md", (box-shadow: cl.$shadow-md));
14
+ @include mc.meta("qo-shadow-lg", (box-shadow: cl.$shadow-lg));
15
+ @include mc.meta("qo-shadow-xl", (box-shadow: cl.$shadow-xl));
16
+
17
+ // Component heights, so a bare div can line up with a control.
18
+ @include mc.meta("qo-h-control", (height: sz.$control-height));
19
+ @include mc.meta("qo-h-control-sm", (height: sz.$control-height-sm));
20
+ @include mc.meta("qo-h-badge", (height: sz.$badge-height));
21
+ @include mc.meta("qo-h-grid-header", (height: sz.$grid-header-height));
22
+ @include mc.meta("qo-h-grid-filter", (height: sz.$grid-filter-height));
23
+ @include mc.meta("qo-h-grid-row", (height: sz.$grid-row-height));
24
+ @include mc.meta("qo-min-h-control", (min-height: sz.$control-height));
25
+
26
+ // Give anything the theme's single focus treatment.
27
+ .qo-focusable:focus-visible {
28
+ outline: 0;
29
+ box-shadow: cl.$focus-ring;
30
+ }
31
+ .qo-focus-ring { box-shadow: cl.$focus-ring; }
32
+
33
+ // The full interactive affordance for a non-button element.
34
+ .qo-clickable {
35
+ cursor: pointer;
36
+ transition: background-color 0.15s ease, color 0.15s ease;
37
+
38
+ &:hover { background-color: cl.$background-hover; }
39
+ &:focus-visible { outline: 0; box-shadow: cl.$focus-ring; }
40
+ }
41
+
42
+ // Hover feedback without a colour change — for cards and tiles.
43
+ .qo-hoverable {
44
+ transition: box-shadow 0.2s ease;
45
+ &:hover { box-shadow: cl.$shadow-md; }
46
+ }
47
+
48
+ .qo-no-hover:hover { background-color: transparent; }
49
+
50
+ // Screen-reader-only, for the icon-button labels the spec requires.
51
+ .qo-sr-only {
52
+ position: absolute !important;
53
+ width: 1px !important;
54
+ height: 1px !important;
55
+ padding: 0 !important;
56
+ margin: -1px !important;
57
+ overflow: hidden !important;
58
+ clip: rect(0, 0, 0, 0) !important;
59
+ white-space: nowrap !important;
60
+ border: 0 !important;
61
+ }
62
+
63
+ // Honour a reduced-motion preference across every transition above.
64
+ @media (prefers-reduced-motion: reduce) {
65
+ *,
66
+ *::before,
67
+ *::after {
68
+ scroll-behavior: auto !important;
69
+ transition: none !important;
70
+ animation: none !important;
71
+ }
72
+ }
@@ -14,3 +14,16 @@
14
14
  @include mc.meta("qo-bg-light", (background-color: cl.$background-light));
15
15
  @include mc.meta("qo-bg-tertiary", (background-color: cl.$background-tertiary));
16
16
  @include mc.meta("qo-bg-lime", (background-color: cl.$background-lime));
17
+ @include mc.meta("qo-bg-disabled", (background-color: cl.$background-disabled));
18
+ @include mc.meta("qo-bg-hover", (background-color: cl.$background-hover));
19
+ @include mc.meta("qo-bg-header", (background-color: cl.$background-header));
20
+
21
+ // Soft / tint fills — badges, banners, icon chips
22
+ @include mc.meta("qo-bg-primary-soft", (background-color: cl.$background-primary-soft));
23
+ @include mc.meta("qo-bg-success-soft", (background-color: cl.$background-success-soft));
24
+ @include mc.meta("qo-bg-warning-soft", (background-color: cl.$background-warning-soft));
25
+ @include mc.meta("qo-bg-danger-soft", (background-color: cl.$background-danger-soft));
26
+ @include mc.meta("qo-bg-info-soft", (background-color: cl.$background-info-soft));
27
+ @include mc.meta("qo-bg-lite-soft", (background-color: cl.$background-lite-soft));
28
+ @include mc.meta("qo-bg-system-soft", (background-color: cl.$background-system-soft));
29
+ @include mc.meta("qo-bg-custom-soft", (background-color: cl.$background-custom-soft));
@@ -9,3 +9,5 @@
9
9
  @include mc.meta("qo-border-info", (border-color: cl.$border-info));
10
10
  @include mc.meta("qo-border-light", (border-color: cl.$border-light));
11
11
  @include mc.meta("qo-border-dark", (border-color: cl.$border-dark));
12
+ @include mc.meta("qo-border-default", (border-color: cl.$border-default));
13
+ @include mc.meta("qo-border-primary-soft", (border-color: cl.$border-primary-soft));
@@ -1,8 +1,8 @@
1
- @use "../../base/color" as cl;
2
- @use "../../base/mixins/meta-class" as mc;
3
-
4
- @include mc.meta("qo-boxshadow-none", (box-shadow: none));
5
- @include mc.meta("qo-boxshadow-sm", (box-shadow: 0 1px 2px 0 cl.$boxshadow-primary));
6
- @include mc.meta("qo-boxshadow-md", (box-shadow: 0 4px 8px 0 cl.$boxshadow-primary));
7
- @include mc.meta("qo-boxshadow-lg", (box-shadow: 0 8px 16px 0 cl.$boxshadow-primary));
8
- @include mc.meta("qo-boxshadow-xl", (box-shadow: 0 12px 24px 0 cl.$boxshadow-primary));
1
+ @use "../../base/color" as cl;
2
+ @use "../../base/mixins/meta-class" as mc;
3
+
4
+ @include mc.meta("qo-boxshadow-none", (box-shadow: none));
5
+ @include mc.meta("qo-boxshadow-sm", (box-shadow: cl.$shadow-sm));
6
+ @include mc.meta("qo-boxshadow-md", (box-shadow: cl.$shadow-md));
7
+ @include mc.meta("qo-boxshadow-lg", (box-shadow: cl.$shadow-lg));
8
+ @include mc.meta("qo-boxshadow-xl", (box-shadow: cl.$shadow-xl));
@@ -1,34 +1,38 @@
1
- @use "sass:color";
2
- @use "../../base/color" as cl;
3
- @use "../../base/mixins/meta-class" as mc;
4
-
5
- @include mc.meta("qo-text-primary", (color: cl.$text-primary));
6
- @include mc.meta("qo-text-secondary", (color: cl.$text-secondary));
7
- @include mc.meta("qo-text-success", (color: cl.$text-success));
8
- @include mc.meta("qo-text-warning", (color: cl.$text-warning));
9
- @include mc.meta("qo-text-danger", (color: cl.$text-danger));
10
- @include mc.meta("qo-text-info", (color: cl.$text-info));
11
- @include mc.meta("qo-text-default", (color: cl.$text-default));
12
- @include mc.meta("qo-text-dark", (color: cl.$text-dark));
13
- @include mc.meta("qo-text-darker", (color: cl.$text-darker));
14
- @include mc.meta("qo-text-light", (color: cl.$text-light));
15
- @include mc.meta("qo-text-tertiary", (color: cl.$text-tertiary));
16
-
17
- // Higher specificity variants when used with .qo-btn (beats Kendo .k-button-* selectors)
18
- // Intentionally NOT wrapped in meta() button overrides must stay high specificity
19
- .qo-btn {
20
- &.qo-text-primary { color: cl.$text-primary; &:hover, &:focus, &:active { color: cl.$text-primary-hover; } }
21
- &.qo-text-secondary { color: cl.$text-secondary; &:hover, &:focus, &:active { color: cl.$text-dark; } }
22
- &.qo-text-success { color: cl.$text-success; &:hover, &:focus, &:active { color: color.adjust(cl.$text-success, $lightness: -10%); } }
23
- &.qo-text-warning { color: cl.$text-warning; &:hover, &:focus, &:active { color: color.adjust(cl.$text-warning, $lightness: -10%); } }
24
- &.qo-text-danger { color: cl.$text-danger; &:hover, &:focus, &:active { color: cl.$text-danger-hover; } }
25
- &.qo-text-info { color: cl.$text-info; &:hover, &:focus, &:active { color: color.adjust(cl.$text-info, $lightness: -10%); } }
26
- &.qo-text-default { color: cl.$text-default; &:hover, &:focus, &:active { color: cl.$text-dark; } }
27
- &.qo-text-dark { color: cl.$text-dark; &:hover, &:focus, &:active { color: color.adjust(cl.$text-dark, $lightness: -10%); } }
28
- &.qo-text-light { color: cl.$text-light; &:hover, &:focus, &:active { color: cl.$text-light; } }
29
- &.qo-text-tertiary { color: cl.$text-tertiary; &:hover, &:focus, &:active { color: color.adjust(cl.$text-tertiary, $lightness: -10%); } }
30
- }
31
-
32
- .qo-validation {
33
- color: cl.$text-danger;
34
- }
1
+ @use "sass:color";
2
+ @use "../../base/color" as cl;
3
+ @use "../../base/mixins/meta-class" as mc;
4
+
5
+ @include mc.meta("qo-text-primary", (color: cl.$text-primary));
6
+ @include mc.meta("qo-text-secondary", (color: cl.$text-secondary));
7
+ @include mc.meta("qo-text-success", (color: cl.$text-success));
8
+ @include mc.meta("qo-text-warning", (color: cl.$text-warning));
9
+ @include mc.meta("qo-text-danger", (color: cl.$text-danger));
10
+ @include mc.meta("qo-text-info", (color: cl.$text-info));
11
+ @include mc.meta("qo-text-default", (color: cl.$text-default));
12
+ @include mc.meta("qo-text-dark", (color: cl.$text-dark));
13
+ @include mc.meta("qo-text-darker", (color: cl.$text-darker));
14
+ @include mc.meta("qo-text-light", (color: cl.$text-light));
15
+ @include mc.meta("qo-text-tertiary", (color: cl.$text-tertiary));
16
+ @include mc.meta("qo-text-placeholder", (color: cl.$text-placeholder));
17
+ @include mc.meta("qo-text-lite", (color: cl.$text-lite));
18
+ @include mc.meta("qo-text-system", (color: cl.$text-system));
19
+ @include mc.meta("qo-text-custom", (color: cl.$text-custom));
20
+
21
+ // Higher specificity variants when used with .qo-btn (beats Kendo .k-button-* selectors)
22
+ // Intentionally NOT wrapped in meta() button overrides must stay high specificity
23
+ .qo-btn {
24
+ &.qo-text-primary { color: cl.$text-primary; &:hover, &:focus, &:active { color: cl.$text-primary-hover; } }
25
+ &.qo-text-secondary { color: cl.$text-secondary; &:hover, &:focus, &:active { color: cl.$text-dark; } }
26
+ &.qo-text-success { color: cl.$text-success; &:hover, &:focus, &:active { color: color.adjust(cl.$text-success, $lightness: -10%); } }
27
+ &.qo-text-warning { color: cl.$text-warning; &:hover, &:focus, &:active { color: color.adjust(cl.$text-warning, $lightness: -10%); } }
28
+ &.qo-text-danger { color: cl.$text-danger; &:hover, &:focus, &:active { color: cl.$text-danger-hover; } }
29
+ &.qo-text-info { color: cl.$text-info; &:hover, &:focus, &:active { color: color.adjust(cl.$text-info, $lightness: -10%); } }
30
+ &.qo-text-default { color: cl.$text-default; &:hover, &:focus, &:active { color: cl.$text-dark; } }
31
+ &.qo-text-dark { color: cl.$text-dark; &:hover, &:focus, &:active { color: color.adjust(cl.$text-dark, $lightness: -10%); } }
32
+ &.qo-text-light { color: cl.$text-light; &:hover, &:focus, &:active { color: cl.$text-light; } }
33
+ &.qo-text-tertiary { color: cl.$text-tertiary; &:hover, &:focus, &:active { color: color.adjust(cl.$text-tertiary, $lightness: -10%); } }
34
+ }
35
+
36
+ .qo-validation {
37
+ color: cl.$text-danger;
38
+ }