webcoreui 0.0.12 → 0.2.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.
- package/README.md +39 -6
- package/astro.d.ts +4 -0
- package/astro.js +4 -0
- package/components/Accordion/accordion.module.scss +20 -27
- package/components/Alert/alert.module.scss +19 -22
- package/components/Avatar/avatar.module.scss +9 -6
- package/components/Badge/badge.module.scss +31 -34
- package/components/Button/Button.astro +0 -2
- package/components/Button/Button.svelte +0 -2
- package/components/Button/Button.tsx +0 -2
- package/components/Button/button.module.scss +32 -39
- package/components/Button/button.ts +1 -2
- package/components/Card/card.module.scss +19 -15
- package/components/Checkbox/checkbox.module.scss +27 -41
- package/components/Icon/Icon.astro +2 -2
- package/components/Icon/map.ts +2 -0
- package/components/Input/input.module.scss +28 -36
- package/components/Menu/Menu.astro +7 -3
- package/components/Menu/Menu.svelte +11 -3
- package/components/Menu/Menu.tsx +7 -1
- package/components/Menu/menu.module.scss +144 -144
- package/components/Menu/menu.ts +1 -0
- package/components/Modal/Modal.astro +70 -0
- package/components/Modal/Modal.svelte +71 -0
- package/components/Modal/Modal.tsx +76 -0
- package/components/Modal/modal.module.scss +103 -0
- package/components/Modal/modal.ts +18 -0
- package/components/Progress/progress.module.scss +26 -22
- package/components/Radio/radio.module.scss +32 -41
- package/components/Rating/Rating.astro +2 -2
- package/components/Rating/Rating.svelte +2 -2
- package/components/Rating/Rating.tsx +2 -2
- package/components/Rating/rating.module.scss +15 -8
- package/components/Slider/Slider.astro +44 -0
- package/components/Slider/Slider.svelte +42 -0
- package/components/Slider/Slider.tsx +48 -0
- package/components/Slider/slider.module.scss +68 -0
- package/components/Slider/slider.ts +20 -0
- package/components/Spinner/spinner.module.scss +11 -2
- package/components/Switch/switch.module.scss +28 -30
- package/components/Table/Table.astro +6 -1
- package/components/Table/Table.svelte +3 -1
- package/components/Table/Table.tsx +7 -1
- package/components/Table/table.module.scss +23 -17
- package/components/Table/table.ts +1 -0
- package/components/Tabs/Tabs.astro +0 -1
- package/components/Tabs/tabs.module.scss +45 -48
- package/components/ThemeSwitcher/ThemeSwitcher.astro +1 -0
- package/components/ThemeSwitcher/ThemeSwitcher.svelte +2 -1
- package/components/ThemeSwitcher/ThemeSwitcher.tsx +2 -1
- package/components/ThemeSwitcher/themeswitcher.module.scss +28 -26
- package/components/Timeline/timeline.module.scss +28 -23
- package/components/TimelineItem/TimelineItem.tsx +1 -6
- package/components/TimelineItem/timelineitem.module.scss +14 -17
- package/components/TimelineItem/timelineitem.ts +5 -0
- package/components/Toast/toast.module.scss +10 -14
- package/components/Toast/toast.ts +6 -1
- package/icons/close.svg +3 -0
- package/icons.d.ts +12 -0
- package/icons.js +10 -0
- package/index.js +2 -0
- package/package.json +3 -1
- package/react.d.ts +6 -2
- package/react.js +4 -0
- package/scss/config/color-palette.scss +24 -0
- package/scss/config/css-values.scss +44 -0
- package/scss/config/layout.scss +41 -0
- package/scss/config/mixins.scss +392 -9
- package/scss/config/typography.scss +65 -0
- package/scss/config.scss +6 -1
- package/scss/global/elements.scss +21 -1
- package/scss/global/scrollbar.scss +12 -9
- package/scss/global/theme.scss +73 -40
- package/scss/global/tooltip.scss +42 -35
- package/scss/global/utility.scss +79 -61
- package/scss/global.scss +0 -1
- package/scss/resets.scss +67 -9
- package/scss/setup.scss +14 -41
- package/svelte.d.ts +4 -0
- package/svelte.js +4 -0
- package/utils/interpolate.ts +23 -0
- package/utils/modal.ts +59 -0
- package/utils/toast.ts +3 -2
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
$fontTypes: (
|
|
2
|
+
'regular': (Regular, sans-serif),
|
|
3
|
+
'bold': (Bold, sans-serif)
|
|
4
|
+
) !default;
|
|
5
|
+
|
|
6
|
+
$fontSizes: (
|
|
7
|
+
'xs': 10px,
|
|
8
|
+
'sm': 12px,
|
|
9
|
+
'md': 14px,
|
|
10
|
+
'default': 16px,
|
|
11
|
+
'lg': 18px,
|
|
12
|
+
'xl': 21px,
|
|
13
|
+
'2xl': 24px,
|
|
14
|
+
'3xl': 28px
|
|
15
|
+
) !default;
|
|
16
|
+
|
|
17
|
+
$lineHeights: (
|
|
18
|
+
'normal': normal,
|
|
19
|
+
'hmd': 1.5,
|
|
20
|
+
'hlg': 1.7
|
|
21
|
+
) !default;
|
|
22
|
+
|
|
23
|
+
$decorations: (
|
|
24
|
+
'none': none,
|
|
25
|
+
'underline': underline,
|
|
26
|
+
'overline': overline,
|
|
27
|
+
'line-through': line-through,
|
|
28
|
+
'dotted': underline dotted,
|
|
29
|
+
'dashed': underline dashed,
|
|
30
|
+
'double': underline double,
|
|
31
|
+
'wavy': underline wavy,
|
|
32
|
+
'overline-dotted': overline dotted,
|
|
33
|
+
'overline-dashed': overline dashed,
|
|
34
|
+
'overline-double': overline double,
|
|
35
|
+
'overline-wavy': overline wavy,
|
|
36
|
+
'line-through-dotted': line-through dotted,
|
|
37
|
+
'line-through-dashed': line-through dashed,
|
|
38
|
+
'line-through-double': line-through double,
|
|
39
|
+
'line-through-wavy': line-through wavy,
|
|
40
|
+
'line-through-underline': underline line-through,
|
|
41
|
+
'line-through-overline': overline line-through,
|
|
42
|
+
'overunder': underline overline,
|
|
43
|
+
'overunder-dotted': underline overline dotted,
|
|
44
|
+
'overunder-dashed': underline overline dashed,
|
|
45
|
+
'overunder-double': underline overline double,
|
|
46
|
+
'overunder-wavy': underline overline wavy,
|
|
47
|
+
'overunder-line-through': underline overline line-through,
|
|
48
|
+
) !default;
|
|
49
|
+
|
|
50
|
+
$textAlignValues: left,
|
|
51
|
+
right,
|
|
52
|
+
center,
|
|
53
|
+
justify !default;
|
|
54
|
+
|
|
55
|
+
$fontWeights: 100,
|
|
56
|
+
200,
|
|
57
|
+
300,
|
|
58
|
+
400,
|
|
59
|
+
500,
|
|
60
|
+
600,
|
|
61
|
+
700,
|
|
62
|
+
800,
|
|
63
|
+
900,
|
|
64
|
+
bolder,
|
|
65
|
+
lighter !default;
|
package/scss/config.scss
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@import '../config';
|
|
2
2
|
|
|
3
|
-
@mixin
|
|
3
|
+
@mixin elements() {
|
|
4
4
|
code {
|
|
5
5
|
display: inline-block;
|
|
6
6
|
padding: 2px 10px;
|
|
@@ -8,4 +8,24 @@
|
|
|
8
8
|
border: 1px solid var(--w-color-primary-50);
|
|
9
9
|
font-size: 14px;
|
|
10
10
|
}
|
|
11
|
+
|
|
12
|
+
figure {
|
|
13
|
+
margin: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
p {
|
|
17
|
+
font-size: 16px;
|
|
18
|
+
line-height: 1.7;
|
|
19
|
+
margin: 20px 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
ul, ol {
|
|
23
|
+
line-height: 1.7;
|
|
24
|
+
font-size: 16px;
|
|
25
|
+
margin: 20px 0;
|
|
26
|
+
|
|
27
|
+
li {
|
|
28
|
+
margin-bottom: 10px;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
11
31
|
}
|
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
@
|
|
1
|
+
@use '../config' as *;
|
|
2
|
+
|
|
3
|
+
@mixin scrollbar() {
|
|
4
|
+
body {
|
|
5
|
+
--w-scrollbar-bg: var(--w-color-primary-60);
|
|
6
|
+
--w-scrollbar-fg: var(--w-color-primary-50);
|
|
7
|
+
}
|
|
2
8
|
|
|
3
|
-
@mixin Scrollbar() {
|
|
4
9
|
::-webkit-scrollbar {
|
|
5
|
-
|
|
6
|
-
height: 10px;
|
|
10
|
+
@include size(10px);
|
|
7
11
|
}
|
|
8
12
|
|
|
9
13
|
::-webkit-scrollbar-track {
|
|
10
|
-
border-radius
|
|
11
|
-
background
|
|
14
|
+
@include border-radius(md);
|
|
15
|
+
@include background(var(--w-scrollbar-bg));
|
|
12
16
|
cursor: pointer;
|
|
13
17
|
}
|
|
14
18
|
|
|
15
19
|
::-webkit-scrollbar-thumb {
|
|
16
|
-
border-radius
|
|
17
|
-
background
|
|
20
|
+
@include border-radius(md);
|
|
21
|
+
@include background(var(--w-scrollbar-fg));
|
|
18
22
|
cursor: pointer;
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
|
-
|
package/scss/global/theme.scss
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
@
|
|
1
|
+
@use '../config' as *;
|
|
2
2
|
|
|
3
|
-
@mixin
|
|
3
|
+
@mixin theme($theme: 'dark', $selector: ':root') {
|
|
4
4
|
@if $theme == 'dark' {
|
|
5
5
|
#{$selector} {
|
|
6
6
|
--w-color-scheme: dark;
|
|
7
7
|
--w-color-primary: #FFF;
|
|
8
8
|
--w-color-primary-10: #DDD;
|
|
9
9
|
--w-color-primary-20: #BBB;
|
|
10
|
-
--w-color-primary-30: #
|
|
10
|
+
--w-color-primary-30: #757575;
|
|
11
11
|
--w-color-primary-40: #333;
|
|
12
12
|
--w-color-primary-50: #252525;
|
|
13
13
|
--w-color-primary-60: #111;
|
|
@@ -22,9 +22,10 @@
|
|
|
22
22
|
--w-color-warning: #FF9F43;
|
|
23
23
|
--w-color-warning-accent: #f7AA61;
|
|
24
24
|
--w-color-warning-fg: #000;
|
|
25
|
-
--w-color-alert: #
|
|
25
|
+
--w-color-alert: #de3233;
|
|
26
26
|
--w-color-alert-accent: #EE5253;
|
|
27
27
|
--w-color-alert-fg: #FFF;
|
|
28
|
+
--w-color-overlay: #0000009e;
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -49,9 +50,10 @@
|
|
|
49
50
|
--w-color-warning: #FF9F43;
|
|
50
51
|
--w-color-warning-accent: #f7AA61;
|
|
51
52
|
--w-color-warning-fg: #000;
|
|
52
|
-
--w-color-alert: #
|
|
53
|
+
--w-color-alert: #de3233;
|
|
53
54
|
--w-color-alert-accent: #EE5253;
|
|
54
55
|
--w-color-alert-fg: #FFF;
|
|
56
|
+
--w-color-overlay: #0000009e;
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
59
|
|
|
@@ -61,78 +63,109 @@
|
|
|
61
63
|
--w-color-primary: #FFF;
|
|
62
64
|
--w-color-primary-10: #EEE;
|
|
63
65
|
--w-color-primary-20: #a5b7cf;
|
|
64
|
-
--w-color-primary-30: #
|
|
66
|
+
--w-color-primary-30: #667f9e;
|
|
65
67
|
--w-color-primary-40: #2d4463;
|
|
66
68
|
--w-color-primary-50: #20344e;
|
|
67
69
|
--w-color-primary-60: #101a2d;
|
|
68
70
|
--w-color-primary-70: #061321;
|
|
69
71
|
|
|
70
|
-
--w-color-info: #
|
|
71
|
-
--w-color-info-accent: #
|
|
72
|
-
--w-color-info-fg: #
|
|
73
|
-
--w-color-success: #
|
|
72
|
+
--w-color-info: #57a0ff;
|
|
73
|
+
--w-color-info-accent: #71afff;
|
|
74
|
+
--w-color-info-fg: #000;
|
|
75
|
+
--w-color-success: #10b59c;
|
|
74
76
|
--w-color-success-accent: #1DD1A1;
|
|
75
77
|
--w-color-success-fg: #000;
|
|
76
78
|
--w-color-warning: #FF9F43;
|
|
77
|
-
--w-color-warning-accent: #
|
|
79
|
+
--w-color-warning-accent: #feb570;
|
|
78
80
|
--w-color-warning-fg: #000;
|
|
79
|
-
--w-color-alert: #
|
|
80
|
-
--w-color-alert-accent: #
|
|
81
|
+
--w-color-alert: #ed3b3c;
|
|
82
|
+
--w-color-alert-accent: #fb6161;
|
|
81
83
|
--w-color-alert-fg: #FFF;
|
|
84
|
+
--w-color-overlay: #0017239e;
|
|
82
85
|
}
|
|
83
86
|
}
|
|
84
87
|
|
|
85
|
-
@if $theme ==
|
|
88
|
+
@if $theme == 'vintage' {
|
|
86
89
|
#{$selector} {
|
|
87
90
|
--w-color-scheme: dark;
|
|
88
|
-
--w-color-primary: #
|
|
89
|
-
--w-color-primary-10: #
|
|
90
|
-
--w-color-primary-20: #
|
|
91
|
-
--w-color-primary-30: #
|
|
92
|
-
--w-color-primary-40: #
|
|
93
|
-
--w-color-primary-50: #
|
|
94
|
-
--w-color-primary-60: #
|
|
95
|
-
--w-color-primary-70: #
|
|
91
|
+
--w-color-primary: #000;
|
|
92
|
+
--w-color-primary-10: #111;
|
|
93
|
+
--w-color-primary-20: #6b4430;
|
|
94
|
+
--w-color-primary-30: #d6ccc2;
|
|
95
|
+
--w-color-primary-40: #cbb39a;
|
|
96
|
+
--w-color-primary-50: #e8d0b7;
|
|
97
|
+
--w-color-primary-60: #f5e6d5;
|
|
98
|
+
--w-color-primary-70: #f5ebe0;
|
|
96
99
|
|
|
97
|
-
--w-color-info: #
|
|
100
|
+
--w-color-info: #6d95d1;
|
|
98
101
|
--w-color-info-accent: #48DBFB;
|
|
99
102
|
--w-color-info-fg: #000;
|
|
100
|
-
--w-color-success: #
|
|
103
|
+
--w-color-success: #85c8ba;
|
|
101
104
|
--w-color-success-accent: #1DD1A1;
|
|
102
105
|
--w-color-success-fg: #000;
|
|
103
|
-
--w-color-warning: #
|
|
106
|
+
--w-color-warning: #e79d6b;
|
|
104
107
|
--w-color-warning-accent: #f7AA61;
|
|
105
108
|
--w-color-warning-fg: #000;
|
|
106
|
-
--w-color-alert: #
|
|
109
|
+
--w-color-alert: #bf6170;
|
|
107
110
|
--w-color-alert-accent: #EE5253;
|
|
108
111
|
--w-color-alert-fg: #FFF;
|
|
112
|
+
--w-color-overlay: #0000009e;
|
|
109
113
|
}
|
|
110
114
|
}
|
|
111
115
|
|
|
112
|
-
@if $theme ==
|
|
116
|
+
@if $theme == 'amber' {
|
|
113
117
|
#{$selector} {
|
|
114
118
|
--w-color-scheme: dark;
|
|
115
|
-
--w-color-primary: #
|
|
116
|
-
--w-color-primary-10: #
|
|
117
|
-
--w-color-primary-20: #
|
|
118
|
-
--w-color-primary-30: #
|
|
119
|
-
--w-color-primary-40: #
|
|
120
|
-
--w-color-primary-50: #
|
|
121
|
-
--w-color-primary-60: #
|
|
122
|
-
--w-color-primary-70: #
|
|
119
|
+
--w-color-primary: #FFF;
|
|
120
|
+
--w-color-primary-10: #DDD;
|
|
121
|
+
--w-color-primary-20: #FFF3DB;
|
|
122
|
+
--w-color-primary-30: #757575;
|
|
123
|
+
--w-color-primary-40: #232323;
|
|
124
|
+
--w-color-primary-50: #312e31;
|
|
125
|
+
--w-color-primary-60: #1b1b1b;
|
|
126
|
+
--w-color-primary-70: #111;
|
|
123
127
|
|
|
124
|
-
--w-color-info: #
|
|
128
|
+
--w-color-info: #78dcdc;
|
|
125
129
|
--w-color-info-accent: #48DBFB;
|
|
126
130
|
--w-color-info-fg: #000;
|
|
127
|
-
--w-color-success: #
|
|
128
|
-
--w-color-success-accent: #
|
|
131
|
+
--w-color-success: #a9dc62;
|
|
132
|
+
--w-color-success-accent: #97da3b;
|
|
129
133
|
--w-color-success-fg: #000;
|
|
130
|
-
--w-color-warning: #
|
|
134
|
+
--w-color-warning: #FCBA28;
|
|
131
135
|
--w-color-warning-accent: #f7AA61;
|
|
132
136
|
--w-color-warning-fg: #000;
|
|
133
|
-
--w-color-alert: #
|
|
137
|
+
--w-color-alert: #ff6188;
|
|
138
|
+
--w-color-alert-accent: #EE5253;
|
|
139
|
+
--w-color-alert-fg: #000;
|
|
140
|
+
--w-color-overlay: #0000009e;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
@if $theme == 'synthwave' {
|
|
145
|
+
#{$selector} {
|
|
146
|
+
--w-color-scheme: dark;
|
|
147
|
+
--w-color-primary: #FFF;
|
|
148
|
+
--w-color-primary-10: #EEE;
|
|
149
|
+
--w-color-primary-20: #fad5c0;
|
|
150
|
+
--w-color-primary-30: #eabfff;
|
|
151
|
+
--w-color-primary-40: #8212ba;
|
|
152
|
+
--w-color-primary-50: #9D2BD6;
|
|
153
|
+
--w-color-primary-60: #0f1b33;
|
|
154
|
+
--w-color-primary-70: #030d1e;
|
|
155
|
+
|
|
156
|
+
--w-color-info: #1c98ff;
|
|
157
|
+
--w-color-info-accent: #6be4ff;
|
|
158
|
+
--w-color-info-fg: #000;
|
|
159
|
+
--w-color-success: #83e300;
|
|
160
|
+
--w-color-success-accent: #b7ff51;
|
|
161
|
+
--w-color-success-fg: #000;
|
|
162
|
+
--w-color-warning: #FF9F43;
|
|
163
|
+
--w-color-warning-accent: #ffb672;
|
|
164
|
+
--w-color-warning-fg: #000;
|
|
165
|
+
--w-color-alert: #ff3333;
|
|
134
166
|
--w-color-alert-accent: #EE5253;
|
|
135
167
|
--w-color-alert-fg: #FFF;
|
|
168
|
+
--w-color-overlay: #13002cc2;
|
|
136
169
|
}
|
|
137
170
|
}
|
|
138
171
|
}
|
package/scss/global/tooltip.scss
CHANGED
|
@@ -1,48 +1,56 @@
|
|
|
1
|
-
@
|
|
1
|
+
@use '../config' as *;
|
|
2
|
+
|
|
3
|
+
@mixin tooltip() {
|
|
4
|
+
body {
|
|
5
|
+
--w-tooltip-background: var(--w-color-primary);
|
|
6
|
+
--w-tooltip-color: var(--w-color-primary-70);
|
|
7
|
+
}
|
|
2
8
|
|
|
3
|
-
@mixin Tooltip() {
|
|
4
9
|
[data-tooltip] {
|
|
10
|
+
@include position(relative);
|
|
11
|
+
@include typography(normal);
|
|
12
|
+
|
|
5
13
|
display: inline-block;
|
|
6
|
-
position: relative;
|
|
7
14
|
|
|
8
15
|
&::before,
|
|
9
16
|
&::after {
|
|
10
|
-
@include
|
|
11
|
-
|
|
17
|
+
@include transition();
|
|
18
|
+
@include visibility(0);
|
|
19
|
+
@include layer(header);
|
|
20
|
+
|
|
12
21
|
left: 50%;
|
|
13
22
|
transform: translate(-50%, 5px);
|
|
14
23
|
pointer-events: none;
|
|
15
|
-
z-index: 99;
|
|
16
24
|
}
|
|
17
25
|
|
|
18
26
|
&::before {
|
|
27
|
+
@include border-radius(md);
|
|
28
|
+
@include position(absolute);
|
|
29
|
+
@include typography(md, hlg);
|
|
30
|
+
@include background(var(--w-tooltip-background));
|
|
31
|
+
@include size(wmax-content);
|
|
32
|
+
@include spacing(px-xs);
|
|
33
|
+
|
|
19
34
|
content: attr(data-tooltip);
|
|
20
|
-
border-radius: 5px;
|
|
21
|
-
font-size: 14px;
|
|
22
|
-
position: absolute;
|
|
23
|
-
background: var(--w-tooltip-background);
|
|
24
35
|
color: var(--w-tooltip-color);
|
|
25
|
-
padding: 0 5px;
|
|
26
36
|
bottom: calc(100% + 5px);
|
|
27
|
-
width: max-content;
|
|
28
|
-
line-height: 1.8;
|
|
29
37
|
max-width: 300px;
|
|
30
38
|
}
|
|
31
39
|
|
|
32
40
|
&::after {
|
|
41
|
+
@include position(absolute, t-5px);
|
|
42
|
+
@include size(0);
|
|
43
|
+
@include border(5px, left, transparent);
|
|
44
|
+
@include border(5px, right, transparent);
|
|
45
|
+
|
|
33
46
|
content: '';
|
|
34
|
-
position: absolute;
|
|
35
|
-
width: 0;
|
|
36
|
-
height: 0;
|
|
37
|
-
border-left: 5px solid transparent;
|
|
38
|
-
border-right: 5px solid transparent;
|
|
39
47
|
border-top: 5px solid var(--w-tooltip-background);
|
|
40
|
-
top: -5px;
|
|
41
48
|
}
|
|
42
49
|
|
|
43
50
|
&:hover::before,
|
|
44
51
|
&:hover::after {
|
|
45
|
-
|
|
52
|
+
@include visibility(1);
|
|
53
|
+
|
|
46
54
|
pointer-events: all;
|
|
47
55
|
transform: translate(-50%, 0);
|
|
48
56
|
}
|
|
@@ -59,9 +67,8 @@
|
|
|
59
67
|
}
|
|
60
68
|
|
|
61
69
|
&::after {
|
|
62
|
-
border
|
|
63
|
-
|
|
64
|
-
border-top: 5px solid transparent;
|
|
70
|
+
@include border(5px, top, transparent);
|
|
71
|
+
|
|
65
72
|
border-bottom: 5px solid var(--w-tooltip-background);
|
|
66
73
|
top: auto;
|
|
67
74
|
bottom: -5px;
|
|
@@ -86,12 +93,12 @@
|
|
|
86
93
|
}
|
|
87
94
|
|
|
88
95
|
&::after {
|
|
96
|
+
@include border(5px, top, transparent);
|
|
97
|
+
@include border(5px, bottom, transparent);
|
|
98
|
+
|
|
99
|
+
top: calc(50%);
|
|
89
100
|
border-left: 5px solid var(--w-tooltip-background);
|
|
90
|
-
|
|
91
|
-
border-top: 5px solid transparent;
|
|
92
|
-
border-bottom: 5px solid transparent;
|
|
93
|
-
top: 50%;
|
|
94
|
-
transform: translate(10px, -40%);
|
|
101
|
+
transform: translate(10px, -50%);
|
|
95
102
|
}
|
|
96
103
|
|
|
97
104
|
&:hover::before {
|
|
@@ -99,7 +106,7 @@
|
|
|
99
106
|
}
|
|
100
107
|
|
|
101
108
|
&:hover::after {
|
|
102
|
-
transform: translate(5px, -
|
|
109
|
+
transform: translate(5px, -50%);
|
|
103
110
|
}
|
|
104
111
|
}
|
|
105
112
|
|
|
@@ -115,12 +122,12 @@
|
|
|
115
122
|
}
|
|
116
123
|
|
|
117
124
|
&::after {
|
|
118
|
-
border
|
|
125
|
+
@include border(5px, top, transparent);
|
|
126
|
+
@include border(5px, bottom, transparent);
|
|
127
|
+
|
|
128
|
+
top: calc(50%);
|
|
119
129
|
border-right: 5px solid var(--w-tooltip-background);
|
|
120
|
-
|
|
121
|
-
border-bottom: 5px solid transparent;
|
|
122
|
-
top: 50%;
|
|
123
|
-
transform: translate(-10px, -40%);
|
|
130
|
+
transform: translate(-10px, -50%);
|
|
124
131
|
}
|
|
125
132
|
|
|
126
133
|
&:hover::before {
|
|
@@ -128,7 +135,7 @@
|
|
|
128
135
|
}
|
|
129
136
|
|
|
130
137
|
&:hover::after {
|
|
131
|
-
transform: translate(-5px, -
|
|
138
|
+
transform: translate(-5px, -50%);
|
|
132
139
|
}
|
|
133
140
|
}
|
|
134
141
|
}
|
package/scss/global/utility.scss
CHANGED
|
@@ -1,88 +1,106 @@
|
|
|
1
|
-
@
|
|
2
|
-
|
|
3
|
-
@
|
|
1
|
+
@use 'sass:string';
|
|
2
|
+
@use 'sass:meta';
|
|
3
|
+
@use 'sass:list';
|
|
4
|
+
@use 'sass:map';
|
|
5
|
+
@use '../config' as *;
|
|
6
|
+
|
|
7
|
+
$breakpointMap: (
|
|
8
|
+
'xs': 3,
|
|
9
|
+
'sm': 4,
|
|
10
|
+
'md': 6,
|
|
11
|
+
'lg': 8
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
$alignments: (
|
|
15
|
+
'items-center': center,
|
|
16
|
+
'items-start': flex-start,
|
|
17
|
+
'items-end': flex-end,
|
|
18
|
+
'items-baseline': baseline,
|
|
19
|
+
'items-stretch': stretch,
|
|
20
|
+
|
|
21
|
+
'justify-center': center,
|
|
22
|
+
'justify-start': flex-start,
|
|
23
|
+
'justify-end': flex-end,
|
|
24
|
+
'justify-between': space-between,
|
|
25
|
+
'justify-around': space-around,
|
|
26
|
+
'justify-evenly': space-evenly,
|
|
27
|
+
'justify-stretch': stretch
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
@mixin utility() {
|
|
4
31
|
.container {
|
|
5
|
-
|
|
32
|
+
@include spacing(auto-none, px-default);
|
|
6
33
|
max-width: 1200px;
|
|
7
|
-
padding: 0 20px;
|
|
8
34
|
}
|
|
9
35
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
36
|
+
// Gaps
|
|
37
|
+
.flex, .grid {
|
|
38
|
+
@each $key, $value in $spacing {
|
|
39
|
+
$numberList: ('2', '3', '4', '5');
|
|
40
|
+
$firstLetter: string.slice($key, 1, 1);
|
|
41
|
+
$class: $key;
|
|
42
|
+
|
|
43
|
+
@if (list.index($numberList, $firstLetter)) {
|
|
44
|
+
$class: string.slice($key, 2, -1) + $firstLetter;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&.#{$class} { gap: $value; }
|
|
16
48
|
}
|
|
17
49
|
}
|
|
18
50
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
&.xs {
|
|
28
|
-
gap: 5px;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
&.sm {
|
|
32
|
-
gap: 10px;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
&.wrap {
|
|
36
|
-
flex-wrap: wrap;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
&.center {
|
|
40
|
-
justify-content: center;
|
|
41
|
-
align-items: center;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
&.justify-center {
|
|
45
|
-
justify-content: center;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
&.items-center {
|
|
49
|
-
align-items: center;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
&.items-start {
|
|
53
|
-
align-items: flex-start;
|
|
51
|
+
// Alignments
|
|
52
|
+
@each $key, $value in $alignments {
|
|
53
|
+
.#{$key} {
|
|
54
|
+
@if (string.index($key, 'items')) {
|
|
55
|
+
align-items: $value;
|
|
56
|
+
} @else {
|
|
57
|
+
justify-content: $value;
|
|
58
|
+
}
|
|
54
59
|
}
|
|
55
60
|
}
|
|
56
61
|
|
|
57
|
-
.
|
|
58
|
-
|
|
62
|
+
.flex.center,
|
|
63
|
+
.grid.center {
|
|
64
|
+
justify-content: center;
|
|
65
|
+
align-items: center;
|
|
59
66
|
}
|
|
60
67
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
64
|
-
}
|
|
68
|
+
.flex {
|
|
69
|
+
@include layout(flex, default);
|
|
65
70
|
|
|
66
|
-
|
|
67
|
-
|
|
71
|
+
@each $direction in $flexDirectionValues {
|
|
72
|
+
&.#{$direction} {
|
|
73
|
+
flex-direction: $direction;
|
|
74
|
+
}
|
|
68
75
|
}
|
|
69
76
|
|
|
70
|
-
|
|
71
|
-
|
|
77
|
+
@each $wrap in $flexWrapValues {
|
|
78
|
+
&.#{$wrap} {
|
|
79
|
+
flex-wrap: $wrap;
|
|
80
|
+
}
|
|
72
81
|
}
|
|
73
82
|
}
|
|
74
83
|
|
|
75
|
-
|
|
76
|
-
|
|
84
|
+
.grid {
|
|
85
|
+
@include layout(grid, default);
|
|
86
|
+
|
|
87
|
+
&.col-2 {
|
|
77
88
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
78
89
|
}
|
|
79
90
|
|
|
80
|
-
|
|
91
|
+
&.col-3 {
|
|
81
92
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
82
93
|
}
|
|
94
|
+
}
|
|
83
95
|
|
|
84
|
-
|
|
85
|
-
|
|
96
|
+
// Grid columns
|
|
97
|
+
@each $key, $value in $breakpoints {
|
|
98
|
+
@include media($key) {
|
|
99
|
+
@for $i from 2 to map.get($breakpointMap, $key) + 1 {
|
|
100
|
+
.grid.#{$key}-#{$i} {
|
|
101
|
+
grid-template-columns: repeat($i, minmax(0, 1fr));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
86
104
|
}
|
|
87
105
|
}
|
|
88
106
|
}
|
package/scss/global.scss
CHANGED