build(deps): update src/components/Checkbox/index.js, src/components/Checkbox/index.scss and yarn.lock

master
mahdi 3 years ago
parent c8f37c1bf8
commit 2783de1eb2
  1. 11
      src/components/Checkbox/index.js
  2. 159
      src/components/Checkbox/index.scss
  3. 21849
      yarn.lock

@ -1,10 +1,10 @@
import React from "react"; import React from "react";
import './index.scss'; import "./index.scss";
export default function Checkbox(props) { export default function Checkbox(props) {
return ( return (
<div> <div>
<svg className="checkbox-symbol"> <svg className="checkbox-symbol w-0 h-0 absolute">
<symbol id="check" viewBox="0 0 12 10"> <symbol id="check" viewBox="0 0 12 10">
<polyline <polyline
points="1.5 6 4.5 9 10.5 1" points="1.5 6 4.5 9 10.5 1"
@ -16,7 +16,12 @@ export default function Checkbox(props) {
</svg> </svg>
<div className="checkbox-container"> <div className="checkbox-container">
<input className="checkbox-input" id="apples" type="checkbox" checked={props.checked} /> <input
className="checkbox-input"
id="apples"
type="checkbox"
checked={props.checked}
/>
<label className="checkbox" htmlFor="apples"> <label className="checkbox" htmlFor="apples">
<span> <span>
<svg width="12px" height="10px"> <svg width="12px" height="10px">

@ -1,97 +1,94 @@
.checkbox-symbol { .checkbox-symbol {
position: absolute; pointer-events: none;
width: 0; user-select: none;
height: 0; }
pointer-events: none;
user-select: none;
}
.checkbox-container { .checkbox-container {
box-sizing: border-box; box-sizing: border-box;
color: #222; color: #222;
height: 30px; height: 30px;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
flex-flow: row wrap; flex-flow: row wrap;
} }
.checkbox-container * { .checkbox-container * {
box-sizing: border-box; box-sizing: border-box;
} }
.checkbox-input { .checkbox-input {
position: absolute; position: absolute;
visibility: hidden; visibility: hidden;
} }
.checkbox { .checkbox {
user-select: none; user-select: none;
cursor: pointer; cursor: pointer;
padding: 6px 8px; padding: 6px 8px;
border-radius: 6px; border-radius: 6px;
overflow: hidden; overflow: hidden;
transition: all 0.3s ease; transition: all 0.3s ease;
display: flex; display: flex;
} }
.checkbox:not(:last-child) { .checkbox:not(:last-child) {
margin-right: 6px; margin-right: 6px;
} }
.checkbox:hover { .checkbox:hover {
background: inherit; background: inherit;
} }
.checkbox span { .checkbox span {
vertical-align: middle; vertical-align: middle;
transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);
} }
.checkbox span:first-child { .checkbox span:first-child {
position: relative; position: relative;
flex: 0 0 18px; flex: 0 0 18px;
width: 18px; width: 18px;
height: 18px; height: 18px;
border-radius: 4px; border-radius: 4px;
transform: scale(1); transform: scale(1);
border: 1px solid #cccfdb; border: 1px solid #cccfdb;
transition: all 0.3s ease; transition: all 0.3s ease;
} }
.checkbox span:first-child svg { .checkbox span:first-child svg {
position: absolute; position: absolute;
top: 3px; top: 3px;
left: 2px; left: 2px;
fill: none; fill: none;
stroke: #fff; stroke: #fff;
stroke-dasharray: 16px; stroke-dasharray: 16px;
stroke-dashoffset: 16px; stroke-dashoffset: 16px;
transition: all 0.3s ease; transition: all 0.3s ease;
transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);
} }
.checkbox span:last-child { .checkbox span:last-child {
padding-left: 8px; padding-left: 8px;
line-height: 18px; line-height: 18px;
} }
.checkbox:hover span:first-child { .checkbox:hover span:first-child {
border-color: #0077ff; border-color: #0077ff;
} }
.checkbox-input:checked + .checkbox span:first-child { .checkbox-input:checked + .checkbox span:first-child {
background: #0077ff; background: #0077ff;
border-color: #0077ff; border-color: #0077ff;
animation: zoom-in-out 0.3s ease; animation: zoom-in-out 0.3s ease;
} }
.checkbox-input:checked + .checkbox span:first-child svg { .checkbox-input:checked + .checkbox span:first-child svg {
stroke-dashoffset: 0; stroke-dashoffset: 0;
} }
@keyframes zoom-in-out { @keyframes zoom-in-out {
50% { 50% {
transform: scale(0.9); transform: scale(0.9);
}
} }
}

21849
yarn.lock

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save