@volverjs/style 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +139 -0
- package/package.json +158 -0
- package/src/_config.scss +32 -0
- package/src/_context.scss +11 -0
- package/src/assets/24consulting.svg +63 -0
- package/src/assets/volverjs.svg +15 -0
- package/src/components/index.scss +17 -0
- package/src/components/vv-badge.scss +12 -0
- package/src/components/vv-button-group.scss +115 -0
- package/src/components/vv-button.scss +57 -0
- package/src/components/vv-card.scss +12 -0
- package/src/components/vv-collapse.scss +12 -0
- package/src/components/vv-dialog.scss +12 -0
- package/src/components/vv-dropdown.scss +12 -0
- package/src/components/vv-input-checkbox-group.scss +12 -0
- package/src/components/vv-input-checkbox.scss +28 -0
- package/src/components/vv-input-radio-group.scss +12 -0
- package/src/components/vv-input-radio.scss +20 -0
- package/src/components/vv-input-text.scss +49 -0
- package/src/components/vv-progress.scss +12 -0
- package/src/components/vv-select.scss +49 -0
- package/src/components/vv-table.scss +12 -0
- package/src/components/vv-text.scss +12 -0
- package/src/components/vv-textarea.scss +49 -0
- package/src/export.scss +411 -0
- package/src/preflight.scss +281 -0
- package/src/props/animation.scss +80 -0
- package/src/props/background.scss +5 -0
- package/src/props/borders.scss +6 -0
- package/src/props/colors.scss +5 -0
- package/src/props/effects.scss +5 -0
- package/src/props/filters.scss +6 -0
- package/src/props/index.scss +12 -0
- package/src/props/input.scss +5 -0
- package/src/props/layout.scss +6 -0
- package/src/props/media.scss +49 -0
- package/src/props/sizing.scss +6 -0
- package/src/props/spacing.scss +27 -0
- package/src/props/typography.scss +38 -0
- package/src/reset.scss +88 -0
- package/src/settings/_animation.scss +9 -0
- package/src/settings/_background.scss +56 -0
- package/src/settings/_borders.scss +24 -0
- package/src/settings/_breakpoints.scss +13 -0
- package/src/settings/_colors.scss +39 -0
- package/src/settings/_effects.scss +39 -0
- package/src/settings/_filters.scss +26 -0
- package/src/settings/_flexbox.scss +66 -0
- package/src/settings/_grid.scss +104 -0
- package/src/settings/_index.scss +34 -0
- package/src/settings/_input.scss +51 -0
- package/src/settings/_layout.scss +109 -0
- package/src/settings/_sizing.scss +99 -0
- package/src/settings/_spacing.scss +77 -0
- package/src/settings/_typography.scss +179 -0
- package/src/settings/components/_vv-badge.scss +43 -0
- package/src/settings/components/_vv-button-group.scss +20 -0
- package/src/settings/components/_vv-button.scss +214 -0
- package/src/settings/components/_vv-card.scss +74 -0
- package/src/settings/components/_vv-collapse.scss +111 -0
- package/src/settings/components/_vv-dialog.scss +183 -0
- package/src/settings/components/_vv-dropdown.scss +37 -0
- package/src/settings/components/_vv-input-checkbox-group.scss +60 -0
- package/src/settings/components/_vv-input-checkbox.scss +92 -0
- package/src/settings/components/_vv-input-radio-group.scss +1 -0
- package/src/settings/components/_vv-input-radio.scss +60 -0
- package/src/settings/components/_vv-input-text.scss +327 -0
- package/src/settings/components/_vv-progress.scss +45 -0
- package/src/settings/components/_vv-select.scss +216 -0
- package/src/settings/components/_vv-table.scss +29 -0
- package/src/settings/components/_vv-text.scss +42 -0
- package/src/settings/components/_vv-textarea.scss +275 -0
- package/src/style.scss +14 -0
- package/src/themes/dark/_context.scss +8 -0
- package/src/themes/dark/components/_vv-button.scss +24 -0
- package/src/themes/dark/components/_vv-input-checkbox.scss +24 -0
- package/src/themes/dark/components/index.scss +2 -0
- package/src/themes/dark/props/_background.scss +15 -0
- package/src/themes/dark/props/_colors.scss +15 -0
- package/src/themes/dark/props/index.scss +2 -0
- package/src/themes/dark/settings/_background.scss +12 -0
- package/src/themes/dark/settings/_colors.scss +15 -0
- package/src/themes/dark/settings/_index.scss +5 -0
- package/src/themes/dark/settings/components/_vv-button.scss +58 -0
- package/src/themes/dark/settings/components/_vv-input-checkbox.scss +26 -0
- package/src/themes/dark/style.scss +5 -0
- package/src/tools/_breakpoints.scss +126 -0
- package/src/tools/_functions.scss +138 -0
- package/src/tools/_index.scss +3 -0
- package/src/tools/_mixins.scss +902 -0
- package/src/utilities/animation.scss +8 -0
- package/src/utilities/backgrounds.scss +50 -0
- package/src/utilities/borders.scss +79 -0
- package/src/utilities/colors.scss +33 -0
- package/src/utilities/effects.scss +15 -0
- package/src/utilities/filters.scss +22 -0
- package/src/utilities/flexbox.scss +113 -0
- package/src/utilities/grid.scss +68 -0
- package/src/utilities/index.scss +12 -0
- package/src/utilities/layout.scss +188 -0
- package/src/utilities/sizing.scss +80 -0
- package/src/utilities/spacing.scss +109 -0
- package/src/utilities/typography.scss +226 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
@import '../context';
|
|
2
|
+
|
|
3
|
+
:where(:host, :root, .theme) {
|
|
4
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
5
|
+
@include spread-map-into-props($animate, $prefix: animate);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@keyframes indeterminate {
|
|
10
|
+
0% {
|
|
11
|
+
transform: scaleX(0);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
50% {
|
|
15
|
+
transform: scaleX(1);
|
|
16
|
+
transform-origin: left;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
51% {
|
|
20
|
+
transform: scaleX(1);
|
|
21
|
+
transform-origin: center right;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
100% {
|
|
25
|
+
transform: scaleX(0);
|
|
26
|
+
transform-origin: center right;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@keyframes spin {
|
|
31
|
+
from {
|
|
32
|
+
transform: rotate(0deg);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
to {
|
|
36
|
+
transform: rotate(360deg);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@keyframes ping {
|
|
41
|
+
75%,
|
|
42
|
+
100% {
|
|
43
|
+
transform: scale(2);
|
|
44
|
+
opacity: 0;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@keyframes pulse {
|
|
49
|
+
0%,
|
|
50
|
+
100% {
|
|
51
|
+
opacity: 1;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
50% {
|
|
55
|
+
opacity: 0.5;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@keyframes bounce {
|
|
60
|
+
0%,
|
|
61
|
+
100% {
|
|
62
|
+
transform: translateY(-25%);
|
|
63
|
+
animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
50% {
|
|
67
|
+
transform: translateY(0);
|
|
68
|
+
animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@keyframes progress-indeterminate {
|
|
73
|
+
0% {
|
|
74
|
+
background-position: 200% 0;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
100% {
|
|
78
|
+
background-position: -200% 0;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
@import '../context';
|
|
2
|
+
|
|
3
|
+
// motion
|
|
4
|
+
@custom-media --motion-ok (prefers-reduced-motion: no-preference);
|
|
5
|
+
@custom-media --motion-not-ok (prefers-reduced-motion: reduce);
|
|
6
|
+
|
|
7
|
+
// opacity
|
|
8
|
+
@custom-media --opacity-ok (prefers-reduced-transparency: no-preference);
|
|
9
|
+
@custom-media --opacity-not-ok (prefers-reduced-transparency: reduce);
|
|
10
|
+
|
|
11
|
+
// data
|
|
12
|
+
@custom-media --use-data-ok (prefers-reduced-data: no-preference);
|
|
13
|
+
@custom-media --use-data-not-ok (prefers-reduced-data: reduce);
|
|
14
|
+
|
|
15
|
+
// color scheme
|
|
16
|
+
@custom-media --os-dark (prefers-color-scheme: dark);
|
|
17
|
+
@custom-media --os-light (prefers-color-scheme: light);
|
|
18
|
+
|
|
19
|
+
// constrast
|
|
20
|
+
@custom-media --high-contrast (prefers-contrast: more);
|
|
21
|
+
@custom-media --low-contrast (prefers-contrast: less);
|
|
22
|
+
|
|
23
|
+
// orientation
|
|
24
|
+
@custom-media --portrait (orientation: portrait);
|
|
25
|
+
@custom-media --landscape (orientation: landscape);
|
|
26
|
+
|
|
27
|
+
// dynamic range
|
|
28
|
+
@custom-media --hd-color (dynamic-range: high);
|
|
29
|
+
|
|
30
|
+
// pointer
|
|
31
|
+
@custom-media --touch (hover: none) and (pointer: coarse);
|
|
32
|
+
@custom-media --stylus (hover: none) and (pointer: fine);
|
|
33
|
+
@custom-media --pointer (hover) and (pointer: coarse);
|
|
34
|
+
@custom-media --mouse (hover) and (pointer: fine);
|
|
35
|
+
|
|
36
|
+
// breakpoints
|
|
37
|
+
/* stylelint-disable */
|
|
38
|
+
$old-breakpoint: null;
|
|
39
|
+
$old-breakpoint-value: null;
|
|
40
|
+
@each $breakpoint, $breakpoint-value in $breakpoints {
|
|
41
|
+
@if $old-breakpoint {
|
|
42
|
+
@custom-media --#{$old-breakpoint}-only (#{$old-breakpoint-value} <= width <= #{$breakpoint-value});
|
|
43
|
+
@custom-media --#{$old-breakpoint}-n-above (width >= #{$breakpoint-value});
|
|
44
|
+
@custom-media --#{$old-breakpoint}-n-below (width <= #{$breakpoint-value});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
$old-breakpoint: $breakpoint;
|
|
48
|
+
$old-breakpoint-value: $breakpoint-value;
|
|
49
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@import '../context';
|
|
3
|
+
|
|
4
|
+
:where(:host, :root, .theme) {
|
|
5
|
+
// static
|
|
6
|
+
@each $size, $value in $spacing {
|
|
7
|
+
--spacing-#{$size}: #{$value};
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// dynamic
|
|
11
|
+
@each $name, $sizes in $spacing-dynamic {
|
|
12
|
+
@each $breakpoint, $size in $sizes {
|
|
13
|
+
@if map-has-key($breakpoints, $breakpoint) {
|
|
14
|
+
@include media-breakpoint-up($breakpoint) {
|
|
15
|
+
$var: $size;
|
|
16
|
+
|
|
17
|
+
// if is a static spacing
|
|
18
|
+
@if map-has-key($spacing, $size) {
|
|
19
|
+
$var: var(--spacing-#{$size});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
--spacing-#{$name}: #{$var};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
@import '../context';
|
|
2
|
+
|
|
3
|
+
:where(:host, :root, .theme) {
|
|
4
|
+
// font-family
|
|
5
|
+
@include spread-map-into-props($font-family, $prefix: font);
|
|
6
|
+
|
|
7
|
+
// font-weight
|
|
8
|
+
@include spread-map-into-props($font-weight, $prefix: font);
|
|
9
|
+
|
|
10
|
+
// line-height
|
|
11
|
+
@include spread-map-into-props($line-height, $prefix: leading);
|
|
12
|
+
|
|
13
|
+
// letter-spacing
|
|
14
|
+
@include spread-map-into-props($letter-spacing, $prefix: tracking);
|
|
15
|
+
|
|
16
|
+
// font-size
|
|
17
|
+
@each $size, $value in $font-size {
|
|
18
|
+
--text-#{$size}: #{$value};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// font-size dynamic
|
|
22
|
+
@each $name, $sizes in $font-size-dynamic {
|
|
23
|
+
@each $breakpoint, $size in $sizes {
|
|
24
|
+
@if map-has-key($breakpoints, $breakpoint) {
|
|
25
|
+
@include media-breakpoint-up($breakpoint) {
|
|
26
|
+
$var: $size;
|
|
27
|
+
|
|
28
|
+
// if is a static font-size
|
|
29
|
+
@if map-has-key($font-size, $size) {
|
|
30
|
+
$var: var(--text-#{$size});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
--text-#{$name}: #{$var};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
package/src/reset.scss
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
|
|
3
|
+
- The "symbol *" part is to solve Firefox SVG sprite bug
|
|
4
|
+
*/
|
|
5
|
+
*:where(:not(html, iframe, canvas, img, svg, video, details, summary, svg
|
|
6
|
+
*, symbol *)) {
|
|
7
|
+
all: unset;
|
|
8
|
+
display: revert;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/* Preferred box-sizing value */
|
|
12
|
+
:where(*, *::before, *::after) {
|
|
13
|
+
box-sizing: border-box;
|
|
14
|
+
border: 0px solid transparent;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Reapply the pointer cursor for anchor tags */
|
|
18
|
+
:where(a, button) {
|
|
19
|
+
cursor: revert;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* Remove list styles (bullets/numbers) */
|
|
23
|
+
:where(ol, ul, menu) {
|
|
24
|
+
list-style: none;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/* For images to not be able to exceed their container */
|
|
28
|
+
:where(img) {
|
|
29
|
+
max-width: 100%;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* removes spacing between cells in tables */
|
|
33
|
+
:where(table) {
|
|
34
|
+
border-collapse: collapse;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
|
|
38
|
+
:where(input, textarea) {
|
|
39
|
+
-webkit-user-select: auto;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* revert the 'white-space' property for textarea elements on Safari */
|
|
43
|
+
:where(textarea) {
|
|
44
|
+
white-space: revert;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* minimum style to allow to style meter element */
|
|
48
|
+
:where(meter) {
|
|
49
|
+
-webkit-appearance: revert;
|
|
50
|
+
appearance: revert;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* reset default text opacity of input placeholder */
|
|
54
|
+
::placeholder {
|
|
55
|
+
color: unset;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* fix the feature of 'hidden' attribute.
|
|
59
|
+
display:revert; revert to element instead of attribute */
|
|
60
|
+
:where([hidden]) {
|
|
61
|
+
display: none;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* revert for bug in Chromium browsers
|
|
65
|
+
- fix for the content editable attribute will work properly.
|
|
66
|
+
- webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element */
|
|
67
|
+
:where([contenteditable]:not([contenteditable='false'])) {
|
|
68
|
+
-moz-user-modify: read-write;
|
|
69
|
+
-webkit-user-modify: read-write;
|
|
70
|
+
overflow-wrap: break-word;
|
|
71
|
+
-webkit-line-break: after-white-space;
|
|
72
|
+
-webkit-user-select: auto;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* apply back the draggable feature - exist only in Chromium and Safari */
|
|
76
|
+
:where([draggable='true']) {
|
|
77
|
+
-webkit-user-drag: element;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
:where(.revert *) {
|
|
81
|
+
all: revert;
|
|
82
|
+
accent-color: initial;
|
|
83
|
+
background-color: initial;
|
|
84
|
+
caret-color: initial;
|
|
85
|
+
color: initial;
|
|
86
|
+
scrollbar-color: initial;
|
|
87
|
+
font-family: initial;
|
|
88
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
$animate: (
|
|
2
|
+
none: none,
|
|
3
|
+
indeterminate: indeterminate 2s infinite,
|
|
4
|
+
progress-indeterminate: progress-indeterminate 1.5s linear infinite,
|
|
5
|
+
spin: spin 1s infinite,
|
|
6
|
+
ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite,
|
|
7
|
+
pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite,
|
|
8
|
+
bounce: bounce 1s infinite,
|
|
9
|
+
) !default;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// background-attachment
|
|
2
|
+
$background-attachment: (fixed, local, scroll) !default;
|
|
3
|
+
|
|
4
|
+
// background-clip
|
|
5
|
+
$background-clip: (
|
|
6
|
+
border: border-box,
|
|
7
|
+
padding: padding-box,
|
|
8
|
+
content: content-box,
|
|
9
|
+
text: text,
|
|
10
|
+
) !default;
|
|
11
|
+
|
|
12
|
+
// background-origin
|
|
13
|
+
$background-origin: (
|
|
14
|
+
border: border-box,
|
|
15
|
+
padding: padding-box,
|
|
16
|
+
content: content-box,
|
|
17
|
+
) !default;
|
|
18
|
+
|
|
19
|
+
// background-position
|
|
20
|
+
$background-position: (
|
|
21
|
+
bottom: bottom,
|
|
22
|
+
center: center,
|
|
23
|
+
left: left,
|
|
24
|
+
left-bottom: left bottom,
|
|
25
|
+
left-top: left top,
|
|
26
|
+
right: right,
|
|
27
|
+
right-bottom: right bottom,
|
|
28
|
+
right-top: right top,
|
|
29
|
+
top: top,
|
|
30
|
+
) !default;
|
|
31
|
+
|
|
32
|
+
// background-repeat
|
|
33
|
+
$background-repeat: (
|
|
34
|
+
repeat: repeat,
|
|
35
|
+
no-repeat: no-repeat,
|
|
36
|
+
repeat-x: repeat-x,
|
|
37
|
+
repeat-y: repeat-y,
|
|
38
|
+
repeat-round: round,
|
|
39
|
+
repeat-space: space,
|
|
40
|
+
) !default;
|
|
41
|
+
|
|
42
|
+
// background-size
|
|
43
|
+
$background-size: (auto, cover, contain) !default;
|
|
44
|
+
|
|
45
|
+
// background-image
|
|
46
|
+
$background-image: (
|
|
47
|
+
none: none,
|
|
48
|
+
chevron:
|
|
49
|
+
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(#{hex-to-rgb($color-word)})' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"),
|
|
50
|
+
grid:
|
|
51
|
+
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='32' height='32' fill='none' stroke='rgb(51 65 85 / 0.25)'%3E%3Cpath d='M0 .5H31.5V32'/%3E%3C/svg%3E"),
|
|
52
|
+
check:
|
|
53
|
+
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(#{hex-to-rgb($color-word)})' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"),
|
|
54
|
+
minus:
|
|
55
|
+
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(#{hex-to-rgb($color-word)})' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"),
|
|
56
|
+
) !default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// border-radius
|
|
2
|
+
$border-radius: (
|
|
3
|
+
none: 0px,
|
|
4
|
+
sm: 0.125rem,
|
|
5
|
+
rounded: 0.25rem,
|
|
6
|
+
md: 0.375rem,
|
|
7
|
+
lg: 0.5rem,
|
|
8
|
+
xl: 0.75rem,
|
|
9
|
+
xxl: 1rem,
|
|
10
|
+
xxxl: 1.5rem,
|
|
11
|
+
full: 9999px,
|
|
12
|
+
) !default;
|
|
13
|
+
|
|
14
|
+
// border-width
|
|
15
|
+
$border-width: (
|
|
16
|
+
0: 0px,
|
|
17
|
+
border: 1px,
|
|
18
|
+
2: 2px,
|
|
19
|
+
4: 4px,
|
|
20
|
+
8: 8px,
|
|
21
|
+
) !default;
|
|
22
|
+
|
|
23
|
+
// border-style
|
|
24
|
+
$border-style: (solid, dashed, dotted, double, hidden, none) !default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
$breakpoints: (
|
|
2
|
+
xxs: 0,
|
|
3
|
+
xs: 360px,
|
|
4
|
+
sm: 576px,
|
|
5
|
+
md: 992px,
|
|
6
|
+
lg: 1024px,
|
|
7
|
+
xl: 1280px,
|
|
8
|
+
xxl: 1440px,
|
|
9
|
+
xxxl: 1536px,
|
|
10
|
+
) !default;
|
|
11
|
+
|
|
12
|
+
@include assert-ascending($breakpoints, '$breakpoints');
|
|
13
|
+
@include assert-starts-at-zero($breakpoints, '$breakpoints');
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@use 'sass:color';
|
|
2
|
+
|
|
3
|
+
// color variables
|
|
4
|
+
$color-scheme: light !default;
|
|
5
|
+
$color-transparent: transparent !default;
|
|
6
|
+
$color-black: #000 !default;
|
|
7
|
+
$color-white: #fff !default;
|
|
8
|
+
$color-brand: #1976d2 !default;
|
|
9
|
+
$color-accent: #9c27b0 !default;
|
|
10
|
+
$color-success: #21ba45 !default;
|
|
11
|
+
$color-danger: #c10015 !default;
|
|
12
|
+
$color-info: #31ccec !default;
|
|
13
|
+
$color-warning: #f2c037 !default;
|
|
14
|
+
$color-gray: hsl(color.hue($color-brand) 15% 50%) !default;
|
|
15
|
+
$color-word: hsl(color.hue($color-brand) 15% 10%) !default;
|
|
16
|
+
$color-surface: hsl(color.hue($color-brand) 10% 98%) !default;
|
|
17
|
+
$color-shadow: hsl(color.hue($color-brand) 50% 20%) !default;
|
|
18
|
+
$color-backdrop: hsla(color.hue($color-brand) 50% 20% / 20%) !default;
|
|
19
|
+
$color-alpha: hsla(0deg 0% 0% / 0%) !default;
|
|
20
|
+
|
|
21
|
+
// colors map
|
|
22
|
+
$colors: (
|
|
23
|
+
scheme: $color-scheme,
|
|
24
|
+
transparent: $color-transparent,
|
|
25
|
+
black: hsla-map($color-black, 'black'),
|
|
26
|
+
white: hsla-map($color-white, 'white'),
|
|
27
|
+
brand: color-shades-map($color-brand, 'brand'),
|
|
28
|
+
accent: color-shades-map($color-accent, 'accent'),
|
|
29
|
+
success: color-shades-map($color-success, 'success'),
|
|
30
|
+
danger: color-shades-map($color-danger, 'danger'),
|
|
31
|
+
info: color-shades-map($color-info, 'info'),
|
|
32
|
+
warning: color-shades-map($color-warning, 'warning'),
|
|
33
|
+
gray: color-shades-map($color-gray, 'gray', $scale: 15%),
|
|
34
|
+
word: color-lighten-map($color-word, 'word', $scale: 15%),
|
|
35
|
+
surface: color-darken-map($color-surface, 'surface', $scale: 2%),
|
|
36
|
+
shadow: hsla-map($color-shadow, 'shadow'),
|
|
37
|
+
backdrop: hsla-map($color-backdrop, 'backdrop'),
|
|
38
|
+
alpha: color-alpha-map($color-alpha, 'alpha', $steps: 5, $scale: 5%),
|
|
39
|
+
) !default;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// box-shadow
|
|
2
|
+
$box-shadow: (
|
|
3
|
+
sm:
|
|
4
|
+
'0 1px 2px 0 hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 5%)',
|
|
5
|
+
shadow:
|
|
6
|
+
'0 1px 3px 0 hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%), 0 1px 2px -1px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%)',
|
|
7
|
+
md:
|
|
8
|
+
'0 4px 6px -1px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%), 0 2px 4px -2px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%)',
|
|
9
|
+
lg:
|
|
10
|
+
'0 10px 15px -3px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%), 0 4px 6px -4px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%)',
|
|
11
|
+
xl:
|
|
12
|
+
'0 20px 25px -5px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%), 0 8px 10px -6px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%)',
|
|
13
|
+
2xl:
|
|
14
|
+
'0 25px 50px -12px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 25%)',
|
|
15
|
+
inner:
|
|
16
|
+
'inset 0 2px 4px 0 hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 5%)',
|
|
17
|
+
none: '0 0 #0000',
|
|
18
|
+
) !default;
|
|
19
|
+
|
|
20
|
+
// blend-mode
|
|
21
|
+
$blend-mode: (
|
|
22
|
+
normal,
|
|
23
|
+
multiply,
|
|
24
|
+
screen,
|
|
25
|
+
overlay,
|
|
26
|
+
darken,
|
|
27
|
+
lighten,
|
|
28
|
+
color-dodge,
|
|
29
|
+
color-burn,
|
|
30
|
+
hard-light,
|
|
31
|
+
soft-light,
|
|
32
|
+
difference,
|
|
33
|
+
exclusion,
|
|
34
|
+
hue,
|
|
35
|
+
saturation,
|
|
36
|
+
color,
|
|
37
|
+
luminosity,
|
|
38
|
+
plus-lighter
|
|
39
|
+
) !default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// blur
|
|
2
|
+
$blur: (
|
|
3
|
+
none: blur(0),
|
|
4
|
+
sm: blur(4px),
|
|
5
|
+
blur: blur(8px),
|
|
6
|
+
md: blur(12px),
|
|
7
|
+
lg: blur(16px),
|
|
8
|
+
xl: blur(24px),
|
|
9
|
+
xxl: blur(40px),
|
|
10
|
+
xxxl: blur(64px),
|
|
11
|
+
) !default;
|
|
12
|
+
|
|
13
|
+
// brightness
|
|
14
|
+
$brightness: (
|
|
15
|
+
0: brightness(0),
|
|
16
|
+
50: brightness(0.5),
|
|
17
|
+
75: brightness(0.75),
|
|
18
|
+
90: brightness(0.9),
|
|
19
|
+
95: brightness(0.95),
|
|
20
|
+
100: brightness(1),
|
|
21
|
+
105: brightness(1.05),
|
|
22
|
+
110: brightness(1.1),
|
|
23
|
+
125: brightness(1.25),
|
|
24
|
+
150: brightness(1.5),
|
|
25
|
+
200: brightness(2),
|
|
26
|
+
) !default;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// flex-direction
|
|
2
|
+
$flex-direction: (
|
|
3
|
+
row: row,
|
|
4
|
+
row-reverse: row-reverse,
|
|
5
|
+
col: column,
|
|
6
|
+
col-reverse: column-reverse,
|
|
7
|
+
) !default;
|
|
8
|
+
|
|
9
|
+
// flex-wrap
|
|
10
|
+
$flex-wrap: (wrap, wrap-reverse, nowrap) !default;
|
|
11
|
+
|
|
12
|
+
// flex
|
|
13
|
+
$flex: (
|
|
14
|
+
1: 1 1 0%,
|
|
15
|
+
auto: 1 1 auto,
|
|
16
|
+
initial: 0 1 auto,
|
|
17
|
+
none: none,
|
|
18
|
+
) !default;
|
|
19
|
+
|
|
20
|
+
// order
|
|
21
|
+
$order: (
|
|
22
|
+
1: 1,
|
|
23
|
+
2: 2,
|
|
24
|
+
3: 3,
|
|
25
|
+
4: 4,
|
|
26
|
+
5: 5,
|
|
27
|
+
6: 6,
|
|
28
|
+
7: 7,
|
|
29
|
+
8: 8,
|
|
30
|
+
9: 9,
|
|
31
|
+
10: 10,
|
|
32
|
+
11: 11,
|
|
33
|
+
12: 12,
|
|
34
|
+
first: -9999,
|
|
35
|
+
last: 9999,
|
|
36
|
+
none: 0,
|
|
37
|
+
) !default;
|
|
38
|
+
|
|
39
|
+
// justify and align content
|
|
40
|
+
$justify-align-content: (
|
|
41
|
+
start: flex-start,
|
|
42
|
+
end: flex-end,
|
|
43
|
+
center: center,
|
|
44
|
+
between: space-between,
|
|
45
|
+
around: space-around,
|
|
46
|
+
evenly: space-evenly,
|
|
47
|
+
) !default;
|
|
48
|
+
|
|
49
|
+
// justify and align items
|
|
50
|
+
$justify-align-items: (
|
|
51
|
+
start: flex-start,
|
|
52
|
+
end: flex-end,
|
|
53
|
+
center: center,
|
|
54
|
+
baseline: baseline,
|
|
55
|
+
stretch: stretch,
|
|
56
|
+
) !default;
|
|
57
|
+
|
|
58
|
+
// justify and align self
|
|
59
|
+
$justify-align-self: (
|
|
60
|
+
auto: auto,
|
|
61
|
+
start: flex-start,
|
|
62
|
+
end: flex-end,
|
|
63
|
+
center: center,
|
|
64
|
+
baseline: baseline,
|
|
65
|
+
stretch: stretch,
|
|
66
|
+
) !default;
|