spuit 0.1.2 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/.npmignore +1 -2
  3. data/Makefile +12 -0
  4. data/README.md +2 -1
  5. data/lib/spuit/version.rb +1 -1
  6. data/package.json +2 -25
  7. data/scss/components/_button.scss +28 -27
  8. data/scss/components/_group.scss +50 -0
  9. data/scss/components/_switch.scss +40 -24
  10. data/scss/components/_triangle.scss +4 -4
  11. data/scss/elements/{_custom-checkbox.scss → _custom-radio.scss} +31 -22
  12. data/scss/elements/_fieldset.scss +21 -49
  13. data/scss/elements/_input.scss +26 -11
  14. data/scss/elements/_radio.scss +39 -0
  15. data/scss/elements/_select.scss +7 -3
  16. data/scss/elements/_table.scss +4 -11
  17. data/scss/includes/_spacers.scss +1 -1
  18. data/scss/modules/_reset.scss +32 -0
  19. data/scss/spuit.scss +5 -1
  20. data/scss/variables/_defaults.scss +1 -0
  21. data/scss/variables/_fonts.scss +45 -0
  22. data/scss/variables/_media-queries.scss +2 -2
  23. data/site/.gitignore +117 -0
  24. data/site/README.md +12 -0
  25. data/site/archetypes/default.md +6 -0
  26. data/site/config.toml +24 -0
  27. data/site/content/posts/components.html +445 -0
  28. data/site/content/posts/example.md +66 -0
  29. data/site/content/posts/layouts.md +11 -0
  30. data/site/content/posts/layouts/2col.html +27 -0
  31. data/site/content/posts/layouts/holygrail.html +40 -0
  32. data/site/content/posts/layouts/stickyfooter.html +23 -0
  33. data/site/content/search.adoc +5 -0
  34. data/site/themes/spuit/.gitignore +68 -0
  35. data/site/themes/spuit/LICENSE.md +20 -0
  36. data/site/themes/spuit/README.md +66 -0
  37. data/site/themes/spuit/archetypes/default.md +7 -0
  38. data/{assets/javascripts/spuit → site/themes/spuit/assets/javascripts/_}/Common.js +0 -0
  39. data/{assets/javascripts/spuit → site/themes/spuit/assets/javascripts/_}/extend.js +0 -0
  40. data/site/themes/spuit/assets/javascripts/classes/HugoSearch.js +115 -0
  41. data/site/themes/spuit/assets/javascripts/classes/onof.js +107 -0
  42. data/site/themes/spuit/assets/javascripts/scripts.js +26 -0
  43. data/site/themes/spuit/assets/stylesheets/styles.scss +790 -0
  44. data/site/themes/spuit/assets/stylesheets/styles/components/_card.scss +160 -0
  45. data/site/themes/spuit/assets/stylesheets/styles/components/_syntax.scss +59 -0
  46. data/site/themes/spuit/assets/stylesheets/styles/config/_mixins.scss +8 -0
  47. data/site/themes/spuit/assets/stylesheets/styles/config/_variables.scss +6 -0
  48. data/site/themes/spuit/design/badge.sketch +0 -0
  49. data/site/themes/spuit/layouts/404.html +9 -0
  50. data/site/themes/spuit/layouts/_default/baseof.html +27 -0
  51. data/site/themes/spuit/layouts/_default/list.html +22 -0
  52. data/site/themes/spuit/layouts/_default/rss.xml +26 -0
  53. data/site/themes/spuit/layouts/_default/single.html +14 -0
  54. data/site/themes/spuit/layouts/_default/temp.html +5 -0
  55. data/site/themes/spuit/layouts/index.html +2 -0
  56. data/site/themes/spuit/layouts/json/single.html +28 -0
  57. data/site/themes/spuit/layouts/partials/foot.html +26 -0
  58. data/site/themes/spuit/layouts/partials/footer.html +5 -0
  59. data/site/themes/spuit/layouts/partials/head.html +52 -0
  60. data/site/themes/spuit/layouts/partials/header.html +4 -0
  61. data/site/themes/spuit/layouts/partials/parts/breadcrumbs.html +36 -0
  62. data/site/themes/spuit/layouts/partials/parts/info.html +19 -0
  63. data/site/themes/spuit/layouts/partials/parts/nextback.html +9 -0
  64. data/site/themes/spuit/layouts/partials/parts/pagenator.html +31 -0
  65. data/site/themes/spuit/layouts/partials/parts/pager.html +23 -0
  66. data/site/themes/spuit/layouts/partials/sidebar.html +52 -0
  67. data/site/themes/spuit/layouts/partials/widgets/archive.html +14 -0
  68. data/site/themes/spuit/layouts/partials/widgets/categories.html +12 -0
  69. data/site/themes/spuit/layouts/partials/widgets/recents.html +14 -0
  70. data/site/themes/spuit/layouts/partials/widgets/related.html +13 -0
  71. data/site/themes/spuit/layouts/partials/widgets/search-modal.html +19 -0
  72. data/site/themes/spuit/layouts/partials/widgets/search.html +10 -0
  73. data/site/themes/spuit/layouts/partials/widgets/tags.html +12 -0
  74. data/site/themes/spuit/layouts/shortcodes/blockquote.html +70 -0
  75. data/site/themes/spuit/layouts/shortcodes/card-amazon.html +28 -0
  76. data/site/themes/spuit/layouts/shortcodes/card-site.html +22 -0
  77. data/site/themes/spuit/layouts/shortcodes/card-store.html +28 -0
  78. data/site/themes/spuit/layouts/shortcodes/card-youtube.html +27 -0
  79. data/site/themes/spuit/layouts/shortcodes/previews.html +18 -0
  80. data/site/themes/spuit/package-lock.json +7959 -0
  81. data/site/themes/spuit/package.json +46 -0
  82. data/{dist → site/themes/spuit/static}/favicon.ico +0 -0
  83. data/site/themes/spuit/static/fonts/FontAwesome.otf +0 -0
  84. data/site/themes/spuit/static/fonts/fontawesome-webfont.eot +0 -0
  85. data/site/themes/spuit/static/fonts/fontawesome-webfont.svg +2671 -0
  86. data/site/themes/spuit/static/fonts/fontawesome-webfont.ttf +0 -0
  87. data/site/themes/spuit/static/fonts/fontawesome-webfont.woff +0 -0
  88. data/site/themes/spuit/static/fonts/fontawesome-webfont.woff2 +0 -0
  89. data/site/themes/spuit/static/images/appstore-badge.png +0 -0
  90. data/site/themes/spuit/static/images/appstore-badge_en.png +0 -0
  91. data/{dist → site/themes/spuit/static/images}/favicon.png +0 -0
  92. data/site/themes/spuit/static/images/google-play-badge.png +0 -0
  93. data/site/themes/spuit/static/images/google-play-badge_en.png +0 -0
  94. data/site/themes/spuit/static/javascripts/scripts.js +120 -0
  95. data/site/themes/spuit/static/stylesheets/styles.css +9763 -0
  96. data/site/themes/spuit/theme.toml +9 -0
  97. data/site/themes/spuit/webpack.config.js +10 -0
  98. data/site/themes/spuit/webpack/css.webpack.config.js +42 -0
  99. data/site/themes/spuit/webpack/js.webpack.config.js +21 -0
  100. data/site/themes/spuit/yarn.lock +6815 -0
  101. data/yarn.lock +337 -4942
  102. metadata +84 -16
  103. data/assets/html/index.ejs +0 -331
  104. data/assets/javascripts/scripts.js +0 -4
  105. data/assets/stylesheets/styles.scss +0 -191
  106. data/assets/stylesheets/styles/config/_mixins.scss +0 -26
  107. data/assets/stylesheets/styles/config/_variables.scss +0 -4
  108. data/dist/index.html +0 -1
  109. data/dist/javascripts/scripts.js +0 -1
  110. data/dist/stylesheets/styles.css +0 -3
  111. data/scss/_/_form.sass +0 -44
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d5d0ae0eb74464233d67d5e50880957780f3c5152ca1ea22169d9584b657e6a
4
- data.tar.gz: 4875ecdea8fa1c5397ecea9af959e0d5c2c26fdf01d2384ba934c223e59c2549
3
+ metadata.gz: 40622a9217f5eb011f58aa8a744256ab833745569421c8785874e3b738035078
4
+ data.tar.gz: ff82cbf43f6be4a519e06889416952b5255d9af6f13b089de1ed4881a51c8a5f
5
5
  SHA512:
6
- metadata.gz: 0c276fb77296b3e8b03accca9acab129185c15cad883528043fcd7d2e51523243c4839788ef59f2ec10e522bcd85c88c450ef3a694f1918352c048e6b7fb05fa
7
- data.tar.gz: 477eb76eb340839eb03136a776f671ccb31547c34e4f559f6e8cab8ee99c4306d22c069b30e0813354649b3dde692d703cfc2365cc385d109e8dedda920358ff
6
+ metadata.gz: 2e846a2e5c9ac0649e7e4656ea438ea31ba14acae58473718709055291f81c34994f9310dc06352b3bb813851d80f35f69bc2da9795e8318fb2a6fce91f10ceb
7
+ data.tar.gz: 394eaa555f711887e083ece3f9bb064fa0f058a8344bb16bb90ed8e0413ee921e867a8088713cccacb1e85fe3e68ecdc1c1d480058c0663ff89b66010fc83ad7
data/.npmignore CHANGED
@@ -1,9 +1,8 @@
1
1
  .sass-cache
2
2
  .DS_Store
3
- assets
4
3
  bin
5
4
  design
6
- dist
5
+ site
7
6
  lib
8
7
  node_modules
9
8
  pkg
@@ -0,0 +1,12 @@
1
+ # hotwo:
2
+ # $ make up
3
+
4
+ up:
5
+ cd site;\
6
+ open http://localhost:1313 \
7
+ && hugo server -D --watch
8
+
9
+ dev:
10
+ cd site/themes/spuit;\
11
+ yarn install \
12
+ && yarn run dev
data/README.md CHANGED
@@ -17,7 +17,8 @@ import:
17
17
  ``` styles.scss
18
18
  @import "node_modules/spuit/spuit";
19
19
  ```
20
- ore
20
+
21
+ or
21
22
 
22
23
  ``` styles.scss
23
24
  @import "~spuit";
@@ -1,3 +1,3 @@
1
1
  module Spuit
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spuit",
3
- "version": "0.1.2",
3
+ "version": "0.2.1",
4
4
  "description": "JS + Sass Mixin Library",
5
5
  "main": "spuit.scss",
6
6
  "repository": {
@@ -9,39 +9,16 @@
9
9
  },
10
10
  "keywords": [],
11
11
  "author": "Yu Ishihara",
12
- "license": "ISC",
12
+ "license": "MIT",
13
13
  "bugs": {
14
14
  "url": "https://github.com/is8r/spuit/issues"
15
15
  },
16
16
  "homepage": "https://github.com/is8r/spuit#readme",
17
17
  "devDependencies": {
18
- "autoprefixer": "^9.6.0",
19
- "bootstrap": "^4.3.1",
20
- "css-loader": "^3.0.0",
21
- "extract-text-webpack-plugin": "^4.0.0-beta.0",
22
- "html-loader": "^0.5.5",
23
- "html-webpack-plugin": "^3.2.0",
24
- "jquery": "^3.4.1",
25
- "node-sass": "^4.12.0",
26
- "optimize-css-assets-webpack-plugin": "^5.0.1",
27
- "popper.js": "^1.15.0",
28
- "postcss-loader": "^3.0.0",
29
- "sass-loader": "^7.1.0",
30
- "spuit": "0.0.13",
31
- "style-loader": "^0.23.1",
32
- "terser-webpack-plugin": "^1.3.0",
33
- "uglifyjs-webpack-plugin": "^2.1.3",
34
- "webpack": "^4.34.0",
35
- "webpack-cli": "^3.3.4",
36
- "webpack-dev-server": "^3.7.1",
37
- "webpack-manifest-plugin": "^2.0.4"
38
18
  },
39
19
  "dependencies": {
40
20
  "npm": "^6.9.0"
41
21
  },
42
22
  "scripts": {
43
- "dev": "open http://localhost:8080/ && webpack-dev-server --progress --mode development --config webpack/webpack.config.js",
44
- "watch": "webpack --watch --progress --mode development --config webpack/webpack.config.js",
45
- "build": "webpack --progress --mode production --config webpack/webpack.config.js"
46
23
  }
47
24
  }
@@ -1,31 +1,28 @@
1
1
  @mixin button-base($c: transparent) {
2
- box-sizing: border-box;
3
- box-shadow: none;
2
+ cursor: pointer;
4
3
  appearance: none;
4
+ box-sizing: border-box;
5
5
  display: inline-block;
6
- border-radius: 0;
7
- background-color: $c;
8
- background-image: linear-gradient(to top, $c, $c);
9
- position: relative;
10
- cursor: pointer;
11
- text-align: center;
12
- font-weight: normal;
6
+ background-color: transparent;
7
+ background-image: none;
8
+ border: 0;
9
+ outline: 0;
13
10
  margin: 0;
14
11
  padding: 0;
15
- border: none;
16
- outline: none;
12
+ color: initial;
13
+ text-align: center;
14
+
17
15
  &:link,
18
16
  &:visited,
19
17
  &:hover,
20
- &:active,
18
+ &:focus,
21
19
  &:active {
22
20
  text-decoration: none;
23
21
  }
24
- &:focus {
25
- outline: none;
22
+ &:active {
23
+ outline: 3px solid rgba(#529ef6, 0.2);
26
24
  }
27
- &:disabled,
28
- &.is-disabled {
25
+ &:disabled {
29
26
  @include button-disabled;
30
27
  opacity: 0.2;
31
28
  }
@@ -39,11 +36,15 @@
39
36
  @mixin button-loading {
40
37
  @include button-disabled;
41
38
  @include icon-loading;
42
- opacity: 0.6;
39
+ opacity: 0.2;
40
+
41
+ &::before {
42
+ margin-right: 0.6rem;
43
+ }
43
44
  }
44
45
 
45
- // @include button-normal(10px 10px, #529ef6, #fff, 2px);
46
- @mixin button-normal($p: 10px 10px, $c: #529ef6, $c-text: #fff, $r: 2px) {
46
+ // @include button-normal(0.6rem 1rem, #529ef6, #fff, 2px);
47
+ @mixin button-normal($p: 0.6rem 1rem, $c: #529ef6, $c-text: #fff, $r: 2px) {
47
48
  @include button-base;
48
49
  border-radius: $r;
49
50
  border: 1px solid $c;
@@ -59,14 +60,14 @@
59
60
  &:hover,
60
61
  &:active,
61
62
  &.is-current {
62
- background-color: darken($c, 10%);
63
63
  color: $c-text;
64
- border-color: $c;
64
+ background-color: darken($c, 10%);
65
+ border-color: darken($c, 10%);
65
66
  }
66
67
  }
67
68
 
68
- // @include button-semiflat(10px 10px, #529ef6, 10%, #fff, 2px);
69
- @mixin button-semiflat($p: 10px 10px, $c: #529ef6, $strangth: 5%, $c-text: #fff, $r: 4px) {
69
+ // @include button-semiflat(0.6rem 1rem, #529ef6, 10%, #fff, 2px);
70
+ @mixin button-semiflat($p: 0.6rem 1rem, $c: #529ef6, $strangth: 10%, $c-text: #fff, $r: 2px) {
70
71
  @include button-base;
71
72
  border-radius: $r;
72
73
  background-color: $c;
@@ -89,8 +90,8 @@
89
90
  }
90
91
  }
91
92
 
92
- // @include button-border(10px 10px, #529ef6, #fff);
93
- @mixin button-border($p: 10px 10px, $c: #529ef6, $c-text: #fff, $border: 1px, $r: 2px) {
93
+ // @include button-outline(0.6rem 1rem, #529ef6, #fff);
94
+ @mixin button-outline($p: 0.6rem 1rem, $c: #529ef6, $c-text: #fff, $border: 1px, $r: 2px) {
94
95
  @include button-base;
95
96
  border-radius: $r;
96
97
  background-color: transparent;
@@ -113,8 +114,8 @@
113
114
  }
114
115
  }
115
116
 
116
- // +button-emboss(10px 10px, #529ef6, #fff, 6px, 4px);
117
- @mixin button-emboss($p: 10px 10px, $c: #529ef6, $c-text: #fff, $thickness: 6px, $r: 4px) {
117
+ // +button-emboss(0.6rem 1rem, #529ef6, #fff, 6px, 4px);
118
+ @mixin button-emboss($p: 0.6rem 1rem, $c: #529ef6, $c-text: #fff, $thickness: 6px, $r: 4px) {
118
119
  @include button-base;
119
120
  transition: all 0.05s ease-out;
120
121
  transform: translateY(-$thickness);
@@ -0,0 +1,50 @@
1
+ @mixin group-stretch {
2
+ @include reset-ul;
3
+ display: flex;
4
+ justify-content: space-between;
5
+
6
+ > * {
7
+ flex-grow: 1;
8
+
9
+ + * {
10
+ margin-left: 0.5rem;
11
+ }
12
+ }
13
+ }
14
+
15
+ @mixin group-center {
16
+ @include reset-ul;
17
+ display: flex;
18
+ justify-content: center;
19
+
20
+ > * {
21
+ + * {
22
+ margin-left: 0.5rem;
23
+ }
24
+ }
25
+ }
26
+
27
+ @mixin group-vertical {
28
+ @include reset-ul;
29
+ display: flex;
30
+ flex-wrap: wrap;
31
+
32
+ > * {
33
+ flex-basis: 100%;
34
+ flex-grow: 1;
35
+
36
+ + * {
37
+ margin-top: 0.5rem;
38
+ }
39
+ }
40
+ }
41
+
42
+ @mixin group-lined {
43
+ @include reset-ul;
44
+ display: block;
45
+ margin: -0.5rem -0.25rem 0;
46
+
47
+ > * {
48
+ margin: 0.5rem 0.25rem 0;
49
+ }
50
+ }
@@ -1,40 +1,56 @@
1
- @mixin switch-base($w: 60px, $h: 30px, $c: green, $margin: 3px) {
2
- input[type=checkbox]{
3
- display: none;
1
+ @mixin switch-normal($w: 60px, $h: 30px, $c: #529ef6, $margin: 5px) {
2
+ $c-disabled: #777;
3
+
4
+ input[type="checkbox"] {
5
+ display: none;
4
6
  }
5
7
 
6
8
  label {
7
9
  cursor: pointer;
8
- text-indent: -9999px;
9
- width: $w;
10
- height: $h;
11
- background: grey;
12
- display: block;
13
- border-radius: $h;
14
- position: relative;
10
+ text-indent: -9999px;
11
+ width: $w;
12
+ height: $h;
13
+ background: $c-disabled;
14
+ display: block;
15
+ border-radius: $h;
16
+ position: relative;
15
17
 
16
18
  &:after {
17
- content: '';
18
- position: absolute;
19
- top: $margin;
20
- left: $margin;
21
- width: $h - ($margin*2);
22
- height: $h - ($margin*2);
23
- background: #fff;
24
- border-radius: $h - ($margin*2);
25
- transition: 0.3s;
19
+ content: "";
20
+ position: absolute;
21
+ top: $margin;
22
+ left: $margin;
23
+ width: $h - ($margin * 2);
24
+ height: $h - ($margin * 2);
25
+ background: #fff;
26
+ border-radius: $h - ($margin * 2);
27
+ transition: 0.3s;
28
+ }
29
+
30
+ &:hover {
31
+ background: darken($c-disabled, 5%);
32
+ }
33
+
34
+ &:active {
35
+ border-radius: $h - ($margin * 2);
36
+ outline: $outline-active;
26
37
  }
27
38
  }
28
39
 
29
- input:checked + label {
30
- background: $c;
40
+ input[type="checkbox"]:checked + label {
41
+ background: $c;
42
+
31
43
  &:after {
32
- left: calc(100% - #{$margin});
33
- transform: translateX(-100%);
44
+ left: calc(100% - #{$margin});
45
+ transform: translateX(-100%);
46
+ }
47
+
48
+ &:hover {
49
+ background: darken($c, 5%);
34
50
  }
35
51
  }
36
52
 
37
53
  label:active:after {
38
- width: $h;
54
+ width: $h;
39
55
  }
40
56
  }
@@ -1,7 +1,7 @@
1
1
  // Example:
2
- // @include triangle(#2dd, 15px, 10px, 50%, 0, "down", "after");
2
+ // @include triangle(#2dd, 15px, 10px, 50%, 0, "bottom", "after");
3
3
 
4
- @mixin triangle($c: #2dd, $w: 15px, $h: 10px, $l: 50%, $t: 0, $direction: "down", $element: "after") {
4
+ @mixin triangle($c: #2dd, $w: 15px, $h: 10px, $l: 50%, $t: 0, $direction: "bottom", $element: "after") {
5
5
  position: relative;
6
6
 
7
7
  &:#{$element} {
@@ -13,7 +13,7 @@
13
13
  width: 0;
14
14
  }
15
15
 
16
- @if $direction == "up" {
16
+ @if $direction == "top" {
17
17
  &:#{$element} {
18
18
  border-color: transparent transparent $c;
19
19
  border-width: 0 ($w / 2) $h;
@@ -27,7 +27,7 @@
27
27
  right: $l - $w;
28
28
  top: calc(#{$t} - #{$h/2});
29
29
  }
30
- } @else if $direction == "down" {
30
+ } @else if $direction == "bottom" {
31
31
  &:#{$element} {
32
32
  border-color: $c transparent transparent;
33
33
  border-width: $h ($w / 2) 0;
@@ -1,33 +1,33 @@
1
- @mixin selectable-default {
2
- display: inline-block;
3
- margin: 0;
4
-
5
- input[type=radio] {
1
+ @mixin custom-radio-base {
2
+ input[type="radio"],
3
+ input[type="checkbox"] {
6
4
  display: inline-block;
7
5
  margin: 0;
6
+ vertical-align: baseline;
8
7
  }
9
8
 
10
9
  label {
11
10
  cursor: pointer;
12
11
  margin: 0;
12
+ vertical-align: baseline;
13
13
  }
14
14
  }
15
15
 
16
- @mixin selectable-content($icon, $r) {
16
+ @mixin replace-custom-radio($icon, $r) {
17
17
  display: flex;
18
18
  align-items: center;
19
19
  align-content: center;
20
20
  justify-content: flex-start;
21
21
  margin: 0;
22
- padding: 0 1rem 0 0;
22
+ padding: 0;
23
23
  line-height: 1;
24
24
  cursor: pointer;
25
25
 
26
26
  &::before {
27
- content: '';
27
+ content: "";
28
28
  display: inline-block;
29
29
  position: relative;
30
- background-image: url('data:image/svg+xml;base64,#{$icon}');
30
+ background-image: url("data:image/svg+xml;base64,#{$icon}");
31
31
  background-repeat: no-repeat;
32
32
  background-position: center center;
33
33
  flex: 0 0 $r;
@@ -37,25 +37,30 @@
37
37
  line-height: 1;
38
38
  background-color: #fff;
39
39
  border: 1px solid #ddd;
40
- margin: 0 .4rem 0 0;
40
+ margin: 0 0.4rem 0 0;
41
41
  padding: 0;
42
42
  }
43
43
  }
44
44
 
45
- @mixin checkbox-base($tag: label, $r: 18px, $color-key: #529ef6) {
46
- @include selectable-default;
47
- $icon: 'DQo8c3ZnIHdpZHRoPSIxMXB4IiBoZWlnaHQ9IjExcHgiIHZpZXdCb3g9Ijg2IDIyNiAxMSAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQyICgzNjc4MSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+DQogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+DQogICAgPGRlZnM+PC9kZWZzPg0KICAgIDxwYXRoIGQ9Ik04OS4yOTI4OTMyLDIzMi43MDcxMDcgTDk1LjI5Mjg5MzIsMjMyLjcwNzEwNyBMOTUuMjkyODkzMiwyMzQuNzA3MTA3IEw4Ny4yOTI4OTMyLDIzNC43MDcxMDcgTDg3LjI5Mjg5MzIsMjMzLjcwNzEwNyBMODcuMjkyODkzMiwyMjguNzA3MTA3IEw4OS4yOTI4OTMyLDIyOC43MDcxMDcgTDg5LjI5Mjg5MzIsMjMyLjcwNzEwNyBaIiBpZD0iY2hlY2siIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5MS4yOTI4OTMsIDIzMS43MDcxMDcpIHJvdGF0ZSgtNDUuMDAwMDAwKSB0cmFuc2xhdGUoLTkxLjI5Mjg5MywgLTIzMS43MDcxMDcpICI+PC9wYXRoPg0KPC9zdmc+';
48
-
45
+ @mixin custom-checkbox-normal($tag: label, $r: 18px, $color-key: #529ef6) {
46
+ @include custom-radio-base;
47
+ $icon: "DQo8c3ZnIHdpZHRoPSIxMXB4IiBoZWlnaHQ9IjExcHgiIHZpZXdCb3g9Ijg2IDIyNiAxMSAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQyICgzNjc4MSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+DQogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+DQogICAgPGRlZnM+PC9kZWZzPg0KICAgIDxwYXRoIGQ9Ik04OS4yOTI4OTMyLDIzMi43MDcxMDcgTDk1LjI5Mjg5MzIsMjMyLjcwNzEwNyBMOTUuMjkyODkzMiwyMzQuNzA3MTA3IEw4Ny4yOTI4OTMyLDIzNC43MDcxMDcgTDg3LjI5Mjg5MzIsMjMzLjcwNzEwNyBMODcuMjkyODkzMiwyMjguNzA3MTA3IEw4OS4yOTI4OTMyLDIyOC43MDcxMDcgTDg5LjI5Mjg5MzIsMjMyLjcwNzEwNyBaIiBpZD0iY2hlY2siIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5MS4yOTI4OTMsIDIzMS43MDcxMDcpIHJvdGF0ZSgtNDUuMDAwMDAwKSB0cmFuc2xhdGUoLTkxLjI5Mjg5MywgLTIzMS43MDcxMDcpICI+PC9wYXRoPg0KPC9zdmc+";
48
+
49
49
  #{$tag} {
50
- @include selectable-content($icon, $r);
50
+ @include replace-custom-radio($icon, $r);
51
+
51
52
  &::before {
52
53
  background-size: 16px 14px;
53
54
  background-position: center 0;
54
- border-radius: .2rem;
55
+ border-radius: 0.2rem;
56
+ }
57
+
58
+ &:active {
59
+ outline: $outline-active;
55
60
  }
56
61
  }
57
62
 
58
- input[type=checkbox] {
63
+ input[type="checkbox"] {
59
64
  display: none;
60
65
 
61
66
  &:checked + #{$tag} {
@@ -67,20 +72,24 @@
67
72
  }
68
73
  }
69
74
 
70
- @mixin radio-base($tag: label, $r: 18px, $color-key: #529ef6) {
71
- @include selectable-default;
72
- $icon: 'DQo8c3ZnIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4IiB2aWV3Qm94PSIxMTEgMjMwIDYgNiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQyICgzNjc4MSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+DQogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+DQogICAgPGRlZnM+PC9kZWZzPg0KICAgIDxyZWN0IGlkPSJjaXJjbGUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJldmVub2RkIiB4PSIxMTEiIHk9IjIzMCIgd2lkdGg9IjYiIGhlaWdodD0iNiIgcng9IjMiPjwvcmVjdD4NCjwvc3ZnPg==';
75
+ @mixin custom-radio-normal($tag: label, $r: 18px, $color-key: #529ef6) {
76
+ @include custom-radio-base;
77
+ $icon: "DQo8c3ZnIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4IiB2aWV3Qm94PSIxMTEgMjMwIDYgNiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQyICgzNjc4MSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+DQogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+DQogICAgPGRlZnM+PC9kZWZzPg0KICAgIDxyZWN0IGlkPSJjaXJjbGUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJldmVub2RkIiB4PSIxMTEiIHk9IjIzMCIgd2lkdGg9IjYiIGhlaWdodD0iNiIgcng9IjMiPjwvcmVjdD4NCjwvc3ZnPg==";
73
78
 
74
79
  #{$tag} {
75
- @include selectable-content($icon, $r);
80
+ @include replace-custom-radio($icon, $r);
76
81
 
77
82
  &::before {
78
83
  background-size: 8px 8px;
79
84
  border-radius: $r;
80
85
  }
86
+
87
+ &:active {
88
+ outline: $outline-active;
89
+ }
81
90
  }
82
91
 
83
- input[type=radio] {
92
+ input[type="radio"] {
84
93
  display: none;
85
94
 
86
95
  &:checked + #{$tag} {