minolith 1.3.5 → 1.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minolith",
3
- "version": "1.3.5",
3
+ "version": "1.4.0",
4
4
  "description": "design system by minominolyly",
5
5
  "main": "src/minolith.scss",
6
6
  "scripts": {
@@ -0,0 +1,68 @@
1
+ @use "../variables/index.scss" as variables;
2
+
3
+ :where(:root) {
4
+ @if variables.$enable-smooth-scroll {
5
+ @media (prefers-reduced-motion: no-preference) {
6
+ scroll-behavior: smooth;
7
+ }
8
+ }
9
+ }
10
+
11
+ @media (prefers-reduced-motion: reduce) {
12
+ *,
13
+ ::before,
14
+ ::after,
15
+ ::backdrop {
16
+ background-attachment: scroll !important;
17
+ transition-delay: 0s !important;
18
+ transition-duration: 1ms !important;
19
+ animation-duration: 1ms !important;
20
+ animation-delay: 0s !important;
21
+ animation-iteration-count: 1 !important;
22
+ scroll-behavior: auto !important;
23
+ }
24
+ }
25
+
26
+
27
+ // [id],
28
+ // :focus {
29
+ // scroll-margin-block-start: var(--#{variables.$prefix}header-min-height);
30
+ // }
31
+
32
+ :where(button, [type="button"], [type="reset"], [type="submit"]) {
33
+ touch-action: manipulation;
34
+ }
35
+
36
+ :where(
37
+ :any-link,
38
+ button,
39
+ [type="button"],
40
+ [type="reset"],
41
+ [type="submit"],
42
+ label[for],
43
+ select,
44
+ summary,
45
+ [role="tab"],
46
+ [role="button"]
47
+ ) {
48
+ cursor: pointer;
49
+ }
50
+
51
+ :focus:not(:focus-visible) {
52
+ outline: none;
53
+ }
54
+
55
+ @media (prefers-reduced-motion: reduce) {
56
+ *,
57
+ ::before,
58
+ ::after,
59
+ ::backdrop {
60
+ background-attachment: scroll !important;
61
+ transition-delay: 0s !important;
62
+ transition-duration: 1ms !important;
63
+ animation-duration: 1ms !important;
64
+ animation-delay: 0s !important;
65
+ animation-iteration-count: 1 !important;
66
+ scroll-behavior: auto !important;
67
+ }
68
+ }
@@ -1,3 +1,5 @@
1
1
  @forward "./normalize.scss";
2
+ @forward "./root.scss";
3
+ @forward "./accessibility.scss";
2
4
  @forward "./tabula.scss";
3
5
  @forward "./element.scss";
@@ -1,14 +1,5 @@
1
1
  @use "../variables/index.scss" as variables;
2
2
 
3
- :where(:root) {
4
- scrollbar-gutter: stable;
5
- @if variables.$enable-smooth-scroll {
6
- @media (prefers-reduced-motion: no-preference) {
7
- scroll-behavior: smooth;
8
- }
9
- }
10
- }
11
-
12
3
  /*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
13
4
 
14
5
  /*
@@ -0,0 +1,25 @@
1
+ @use "../variables/index.scss" as variables;
2
+
3
+ // @supports not selector(::-webkit-scrollbar) {
4
+ // :where(:root) {
5
+ // scrollbar-color: var(--#{variables.$prefix}color-default-scrollbar-thumb)
6
+ // var(--#{variables.$prefix}color-default-scrollbar-track);
7
+ // }
8
+ // }
9
+ :where(:root) {
10
+ scrollbar-gutter: stable;
11
+
12
+ // ::-webkit-scrollbar {
13
+ // background-color: transparent;
14
+ // }
15
+
16
+ // ::-webkit-scrollbar-thumb {
17
+ // background-color: var(--#{variables.$prefix}color-default-scrollbar-thumb);
18
+ // background-clip: content-box;
19
+ // border-radius: 0.75rem;
20
+ // }
21
+
22
+ // ::-webkit-scrollbar-track {
23
+ // background-color: var(--#{variables.$prefix}color-default-scrollbar-track);
24
+ // }
25
+ }
@@ -7,6 +7,12 @@
7
7
  --#{variables.$prefix}tabula-color-back: var(
8
8
  --#{variables.$prefix}color-default-back
9
9
  );
10
+ --#{variables.$prefix}tabula-color-scrollbar-thumb: var(
11
+ --#{variables.$prefix}color-default-scrollbar-thumb
12
+ );
13
+ --#{variables.$prefix}tabula-color-scrollbar-track: var(
14
+ --#{variables.$prefix}color-default-scrollbar-track
15
+ );
10
16
  --#{variables.$prefix}tabula-color-selection-fore: var(
11
17
  --#{variables.$prefix}color-default-selection-fore
12
18
  );
@@ -23,6 +29,8 @@
23
29
  letter-spacing: 0.025rem;
24
30
  text-autospace: normal;
25
31
  text-spacing-trim: trim-start;
32
+ // scrollbar-color: var(--#{variables.$prefix}tabula-color-scrollbar-thumb)
33
+ // var(--#{variables.$prefix}tabula-color-scrollbar-track);
26
34
 
27
35
  &::selection {
28
36
  color: var(--#{variables.$prefix}tabula-color-selection-fore);
@@ -64,6 +64,7 @@
64
64
  max-width: 100%;
65
65
  color: var(--#{variables.$prefix}blockquote-color-fore);
66
66
  font-size: var(--#{variables.$prefix}blockquote-icon-font-size);
67
+ line-height: 1;
67
68
  }
68
69
  }
69
70
  &.has-quote,
@@ -82,6 +83,7 @@
82
83
  max-width: 100%;
83
84
  color: var(--#{variables.$prefix}blockquote-color-fore);
84
85
  font-size: var(--#{variables.$prefix}blockquote-icon-font-size);
86
+ line-height: 1;
85
87
  }
86
88
  }
87
89
 
@@ -67,6 +67,7 @@
67
67
  @include mixins.element();
68
68
  display: block;
69
69
  background-color: var(--#{variables.$prefix}card-color-back);
70
+ // backdrop-filter: blur(1rem);
70
71
  border-radius: calc(
71
72
  var(--#{variables.$prefix}card-border-radius) +
72
73
  var(--#{variables.$prefix}card-border-width)
@@ -21,6 +21,7 @@
21
21
  width: 100%;
22
22
  box-shadow: 0 0 0.5rem var(--#{variables.$prefix}header-color-shadow);
23
23
  backdrop-filter: var(--#{variables.$prefix}header-backdrop-filter);
24
+ min-height: var(--#{variables.$prefix}header-min-height);
24
25
 
25
26
  &.is-sticky {
26
27
  position: sticky;
@@ -14,28 +14,15 @@
14
14
  @if (string.length($p) == 1) {
15
15
  $p: "0" + $p;
16
16
  }
17
- $lightness: variables.$color-lightness-50;
18
- $chroma: variables.$color-chroma-colorful;
19
-
20
- @if ($i < 10) {
21
- $lightness-offset: (10 - $i) * variables.$color-lightness-offset-darker;
22
- $lightness: variables.$color-lightness-50 + $lightness-offset;
23
- $chroma-offset: (10 - $i) *
24
- variables.$color-chroma-colorful-offset-darker;
25
- $chroma: $chroma + $chroma-offset;
26
- } @else if ($i > 10) {
27
- $lightness-offset: ($i - 10) * variables.$color-lightness-offset-lighter;
28
- $lightness: variables.$color-lightness-50 + $lightness-offset;
29
- $chroma-offset: ($i - 10) *
30
- variables.$color-chroma-colorful-offset-lighter;
31
- $chroma: $chroma + $chroma-offset;
32
- }
17
+ $chroma: var(--#{variables.$prefix}color-chroma-colorful-#{$p});
33
18
 
34
19
  @if ($name == "default" or $name == "gray") {
35
- $chroma: variables.$color-chroma-gray;
20
+ $chroma: var(--#{variables.$prefix}color-chroma-gray);
36
21
  }
37
22
 
38
- $oklch: #{$lightness} #{$chroma} #{$hue};
23
+ $oklch: var(--#{variables.$prefix}color-lightness-#{$p})
24
+ #{$chroma}
25
+ var(--#{variables.$prefix}color-hue-#{$name});
39
26
 
40
27
  --#{variables.$prefix}color-#{$name}-#{$p}: oklch(#{$oklch});
41
28
  }
@@ -67,8 +54,12 @@
67
54
  $light: map.get($fore, "light");
68
55
  $dark: map.get($fore, "dark");
69
56
  @if ($light != null and $dark != null) {
70
- $lightStr: functions.colorLightnessNumberToString($light + $lightnessOffset);
71
- $darkStr: functions.colorLightnessNumberToString($dark + $lightnessOffset);
57
+ $lightStr: functions.colorLightnessNumberToString(
58
+ $light + $lightnessOffset
59
+ );
60
+ $darkStr: functions.colorLightnessNumberToString(
61
+ $dark + $lightnessOffset
62
+ );
72
63
  --#{variables.$prefix}color-#{$destColorName}#{$component}#{$pseudo}-fore: light-dark(
73
64
  var(--#{variables.$prefix}color-#{$srcColorName}-#{$lightStr}),
74
65
  var(--#{variables.$prefix}color-#{$srcColorName}-#{$darkStr})
@@ -81,8 +72,12 @@
81
72
  $light: map.get($back, "light");
82
73
  $dark: map.get($back, "dark");
83
74
  @if ($light != null and $dark != null) {
84
- $lightStr: functions.colorLightnessNumberToString($light + $lightnessOffset);
85
- $darkStr: functions.colorLightnessNumberToString($dark + $lightnessOffset);
75
+ $lightStr: functions.colorLightnessNumberToString(
76
+ $light + $lightnessOffset
77
+ );
78
+ $darkStr: functions.colorLightnessNumberToString(
79
+ $dark + $lightnessOffset
80
+ );
86
81
  --#{variables.$prefix}color-#{$destColorName}#{$component}#{$pseudo}-back: light-dark(
87
82
  var(--#{variables.$prefix}color-#{$srcColorName}-#{$lightStr}),
88
83
  var(--#{variables.$prefix}color-#{$srcColorName}-#{$darkStr})
@@ -95,8 +90,12 @@
95
90
  $light: map.get($border, "light");
96
91
  $dark: map.get($border, "dark");
97
92
  @if ($light != null and $dark != null) {
98
- $lightStr: functions.colorLightnessNumberToString($light + $lightnessOffset);
99
- $darkStr: functions.colorLightnessNumberToString($dark + $lightnessOffset);
93
+ $lightStr: functions.colorLightnessNumberToString(
94
+ $light + $lightnessOffset
95
+ );
96
+ $darkStr: functions.colorLightnessNumberToString(
97
+ $dark + $lightnessOffset
98
+ );
100
99
  --#{variables.$prefix}color-#{$destColorName}#{$component}#{$pseudo}-border: light-dark(
101
100
  var(--#{variables.$prefix}color-#{$srcColorName}-#{$lightStr}),
102
101
  var(--#{variables.$prefix}color-#{$srcColorName}-#{$darkStr})
@@ -109,8 +108,12 @@
109
108
  $light: map.get($placeholder, "light");
110
109
  $dark: map.get($placeholder, "dark");
111
110
  @if ($light != null and $dark != null) {
112
- $lightStr: functions.colorLightnessNumberToString($light + $lightnessOffset);
113
- $darkStr: functions.colorLightnessNumberToString($dark + $lightnessOffset);
111
+ $lightStr: functions.colorLightnessNumberToString(
112
+ $light + $lightnessOffset
113
+ );
114
+ $darkStr: functions.colorLightnessNumberToString(
115
+ $dark + $lightnessOffset
116
+ );
114
117
  --#{variables.$prefix}color-#{$destColorName}#{$component}#{$pseudo}-placeholder: light-dark(
115
118
  var(--#{variables.$prefix}color-#{$srcColorName}-#{$lightStr}),
116
119
  var(--#{variables.$prefix}color-#{$srcColorName}-#{$darkStr})
@@ -123,14 +126,57 @@
123
126
  $light: map.get($shadow, "light");
124
127
  $dark: map.get($shadow, "dark");
125
128
  @if ($light != null and $dark != null) {
126
- $lightStr: functions.colorLightnessNumberToString($light + $lightnessOffset);
127
- $darkStr: functions.colorLightnessNumberToString($dark + $lightnessOffset);
129
+ $lightStr: functions.colorLightnessNumberToString(
130
+ $light + $lightnessOffset
131
+ );
132
+ $darkStr: functions.colorLightnessNumberToString(
133
+ $dark + $lightnessOffset
134
+ );
128
135
  --#{variables.$prefix}color-#{$destColorName}#{$component}#{$pseudo}-shadow: light-dark(
129
136
  var(--#{variables.$prefix}color-#{$srcColorName}-#{$lightStr}),
130
137
  var(--#{variables.$prefix}color-#{$srcColorName}-#{$darkStr})
131
138
  );
132
139
  }
133
140
  }
141
+
142
+ $scrollbar: map.get($colorShade, "scrollbar");
143
+ @if ($scrollbar != null) {
144
+ $scrollbarThumb: map.get($scrollbar, "thumb");
145
+ @if ($scrollbarThumb != null) {
146
+ $light: map.get($scrollbarThumb, "light");
147
+ $dark: map.get($scrollbarThumb, "dark");
148
+ @if ($light != null and $dark != null) {
149
+ $lightStr: functions.colorLightnessNumberToString(
150
+ $light + $lightnessOffset
151
+ );
152
+ $darkStr: functions.colorLightnessNumberToString(
153
+ $dark + $lightnessOffset
154
+ );
155
+ --#{variables.$prefix}color-#{$destColorName}#{$component}#{$pseudo}-scrollbar-thumb: light-dark(
156
+ var(--#{variables.$prefix}color-#{$srcColorName}-#{$lightStr}),
157
+ var(--#{variables.$prefix}color-#{$srcColorName}-#{$darkStr})
158
+ );
159
+ }
160
+ }
161
+
162
+ $scrollbarTrack: map.get($scrollbar, "track");
163
+ @if ($scrollbarTrack != null) {
164
+ $light: map.get($scrollbarTrack, "light");
165
+ $dark: map.get($scrollbarTrack, "dark");
166
+ @if ($light != null and $dark != null) {
167
+ $lightStr: functions.colorLightnessNumberToString(
168
+ $light + $lightnessOffset
169
+ );
170
+ $darkStr: functions.colorLightnessNumberToString(
171
+ $dark + $lightnessOffset
172
+ );
173
+ --#{variables.$prefix}color-#{$destColorName}#{$component}#{$pseudo}-scrollbar-track: light-dark(
174
+ var(--#{variables.$prefix}color-#{$srcColorName}-#{$lightStr}),
175
+ var(--#{variables.$prefix}color-#{$srcColorName}-#{$darkStr})
176
+ );
177
+ }
178
+ }
179
+ }
134
180
  }
135
181
 
136
182
  @mixin setColorShade(
@@ -719,7 +765,10 @@
719
765
  @each $semanticColor in variables.$semanticColors {
720
766
  $semanticColorName: map.get($semanticColor, "name");
721
767
  $semanticColorColorName: map.get($semanticColor, "colorName");
722
- $semanticColorLightnessOffset: map.get($semanticColor, "lightnessOffset");
768
+ $semanticColorLightnessOffset: map.get(
769
+ $semanticColor,
770
+ "lightnessOffset"
771
+ );
723
772
  $color: functions.getColorFromColors(
724
773
  variables.$colors,
725
774
  $semanticColorColorName
@@ -738,8 +787,68 @@
738
787
  }
739
788
  }
740
789
 
790
+ @mixin setColorColorfulChromaCssVariables() {
791
+ $p: "0";
792
+ @for $i from 1 through 19 {
793
+ $p: "" + ($i * 5);
794
+ @if (string.length($p) == 1) {
795
+ $p: "0" + $p;
796
+ }
797
+ $chroma: variables.$color-chroma-colorful-50;
798
+
799
+ @if ($i < 10) {
800
+ $chroma-offset: (10 - $i) *
801
+ variables.$color-chroma-colorful-offset-darker;
802
+ $chroma: variables.$color-chroma-colorful-50 + $chroma-offset;
803
+ } @else if ($i > 10) {
804
+ $chroma-offset: (10 - $i) *
805
+ variables.$color-chroma-colorful-offset-lighter;
806
+ $chroma: variables.$color-chroma-colorful-50 + $chroma-offset;
807
+ }
808
+
809
+ --#{variables.$prefix}color-chroma-colorful-#{$p}: #{$chroma};
810
+ }
811
+ }
812
+
813
+ @mixin setColorLightnessCssVariables() {
814
+ $steps: 18;
815
+ $value-step: (variables.$color-lightness-95 - variables.$color-lightness-05) /
816
+ $steps;
817
+ @for $i from 0 through $steps {
818
+ $current-label: 5 + ($i * 5);
819
+
820
+ $formatted-label: if(
821
+ $current-label < 10,
822
+ "0#{$current-label}",
823
+ "#{$current-label}"
824
+ );
825
+
826
+ $current-value: variables.$color-lightness-05 + ($value-step * $i);
827
+
828
+ --#{variables.$prefix}color-lightness-#{$formatted-label}: #{$current-value};
829
+ }
830
+ }
831
+
741
832
  :where(:root) {
742
833
  color-scheme: light dark;
834
+
835
+ --#{variables.$prefix}color-hue-gray: #{variables.$color-hue-gray};
836
+ --#{variables.$prefix}color-hue-red: #{variables.$color-hue-red};
837
+ --#{variables.$prefix}color-hue-coral: #{variables.$color-hue-coral};
838
+ --#{variables.$prefix}color-hue-orange: #{variables.$color-hue-orange};
839
+ --#{variables.$prefix}color-hue-yellow: #{variables.$color-hue-yellow};
840
+ --#{variables.$prefix}color-hue-lime: #{variables.$color-hue-lime};
841
+ --#{variables.$prefix}color-hue-green: #{variables.$color-hue-green};
842
+ --#{variables.$prefix}color-hue-cyan: #{variables.$color-hue-cyan};
843
+ --#{variables.$prefix}color-hue-blue: #{variables.$color-hue-blue};
844
+ --#{variables.$prefix}color-hue-violet: #{variables.$color-hue-violet};
845
+ --#{variables.$prefix}color-hue-magenta: #{variables.$color-hue-magenta};
846
+
847
+ @include setColorLightnessCssVariables();
848
+
849
+ --#{variables.$prefix}color-chroma-gray: #{variables.$color-chroma-gray};
850
+ @include setColorColorfulChromaCssVariables();
851
+
743
852
  @each $color in variables.$colors {
744
853
  $name: map.get($color, "name");
745
854
  @if ($name == "gray") {
@@ -1,6 +1,7 @@
1
1
  @use "../../variables/index.scss" as variables;
2
2
 
3
3
  :root {
4
+ --#{variables.$prefix}header-min-height: #{variables.$header-min-height};
4
5
  --#{variables.$prefix}header-backdrop-filter: #{variables.$header-backdrop-filter};
5
6
  --#{variables.$prefix}header-z-index-is-sticky: #{variables.$header-z-index-is-sticky};
6
7
  --#{variables.$prefix}header-z-index-is-fixed: #{variables.$header-z-index-is-fixed};
@@ -2,7 +2,7 @@
2
2
 
3
3
  @mixin screen($size) {
4
4
  @if ($size == "xsmall") {
5
- $max-width: variables.$responsive-breakpoint-small -
5
+ $max-width: variables.$responsive-breakpoint-small +
6
6
  variables.$responsive-breakpoint-max-width-offset;
7
7
  @media screen and (max-width: $max-width) {
8
8
  @content;
@@ -17,15 +17,15 @@
17
17
  $max-width: 0;
18
18
  @if ($size == "small") {
19
19
  $min-width: variables.$responsive-breakpoint-small;
20
- $max-width: variables.$responsive-breakpoint-medium -
20
+ $max-width: variables.$responsive-breakpoint-medium +
21
21
  variables.$responsive-breakpoint-max-width-offset;
22
22
  } @else if ($size == "medium") {
23
23
  $min-width: variables.$responsive-breakpoint-medium;
24
- $max-width: variables.$responsive-breakpoint-large -
24
+ $max-width: variables.$responsive-breakpoint-large +
25
25
  variables.$responsive-breakpoint-max-width-offset;
26
26
  } @else if ($size == "large") {
27
27
  $min-width: variables.$responsive-breakpoint-large;
28
- $max-width: variables.$responsive-breakpoint-xlarge -
28
+ $max-width: variables.$responsive-breakpoint-xlarge +
29
29
  variables.$responsive-breakpoint-max-width-offset;
30
30
  } @else {
31
31
  @error "wrong size.";
@@ -5,6 +5,7 @@
5
5
  .border-#{$borderStyle} {
6
6
  border-style: #{$borderStyle};
7
7
  border-width: var(--#{variables.$prefix}border-width-medium);
8
+ border-color: var(--#{variables.$prefix}color-default-border);
8
9
  }
9
10
  @each $borderSide in variables.$borderSides {
10
11
  .border-#{$borderSide}-#{$borderStyle} {
@@ -12,6 +13,9 @@
12
13
  border-#{$borderSide}-width: var(
13
14
  --#{variables.$prefix}border-width-medium
14
15
  );
16
+ border-#{$borderSide}-color: var(
17
+ --#{variables.$prefix}color-default-border
18
+ );
15
19
  }
16
20
  }
17
21
  }