mirror of https://github.com/IoTcat/sakura2.git
parent
712dafb679
commit
50bbc4b71f
12 changed files with 3235 additions and 14 deletions
@ -0,0 +1,14 @@ |
|||||||
|
Sakura v2 |
||||||
|
==== |
||||||
|
|
||||||
|
I'll build the basical templates here, the stylesheets and scripts in `dist` folder should work on WordPress front end as well. |
||||||
|
|
||||||
|
```bash |
||||||
|
npm install |
||||||
|
# Run dev server |
||||||
|
npm start |
||||||
|
# Build |
||||||
|
npm run build |
||||||
|
``` |
||||||
|
|
||||||
|
Test server on <http://localhost:8080/> |
@ -0,0 +1,356 @@ |
|||||||
|
.mdc-button { |
||||||
|
font-family: Roboto, sans-serif; |
||||||
|
-moz-osx-font-smoothing: grayscale; |
||||||
|
-webkit-font-smoothing: antialiased; |
||||||
|
font-size: 0.875rem; |
||||||
|
line-height: 2.25rem; |
||||||
|
font-weight: 500; |
||||||
|
letter-spacing: 0.08929em; |
||||||
|
text-decoration: none; |
||||||
|
text-transform: uppercase; |
||||||
|
padding: 0 8px 0 8px; |
||||||
|
display: -webkit-inline-box; |
||||||
|
display: inline-flex; |
||||||
|
position: relative; |
||||||
|
-webkit-box-align: center; |
||||||
|
align-items: center; |
||||||
|
-webkit-box-pack: center; |
||||||
|
justify-content: center; |
||||||
|
box-sizing: border-box; |
||||||
|
min-width: 64px; |
||||||
|
height: 36px; |
||||||
|
border: none; |
||||||
|
outline: none; |
||||||
|
/* @alternate */ |
||||||
|
line-height: inherit; |
||||||
|
-webkit-user-select: none; |
||||||
|
-moz-user-select: none; |
||||||
|
-ms-user-select: none; |
||||||
|
user-select: none; |
||||||
|
-webkit-appearance: none; |
||||||
|
overflow: hidden; |
||||||
|
vertical-align: middle; |
||||||
|
border-radius: 4px; } |
||||||
|
.mdc-button::-moz-focus-inner { |
||||||
|
padding: 0; |
||||||
|
border: 0; } |
||||||
|
.mdc-button:active { |
||||||
|
outline: none; } |
||||||
|
.mdc-button:hover { |
||||||
|
cursor: pointer; } |
||||||
|
.mdc-button:disabled { |
||||||
|
background-color: transparent; |
||||||
|
color: rgba(0, 0, 0, 0.37); |
||||||
|
cursor: default; |
||||||
|
pointer-events: none; } |
||||||
|
.mdc-button.mdc-button--dense { |
||||||
|
border-radius: 4px; } |
||||||
|
.mdc-button:not(:disabled) { |
||||||
|
background-color: transparent; } |
||||||
|
.mdc-button .mdc-button__icon { |
||||||
|
/* @noflip */ |
||||||
|
margin-left: 0; |
||||||
|
/* @noflip */ |
||||||
|
margin-right: 8px; |
||||||
|
display: inline-block; |
||||||
|
width: 18px; |
||||||
|
height: 18px; |
||||||
|
font-size: 18px; |
||||||
|
vertical-align: top; } |
||||||
|
[dir="rtl"] .mdc-button .mdc-button__icon, .mdc-button .mdc-button__icon[dir="rtl"] { |
||||||
|
/* @noflip */ |
||||||
|
margin-left: 8px; |
||||||
|
/* @noflip */ |
||||||
|
margin-right: 0; } |
||||||
|
.mdc-button:not(:disabled) { |
||||||
|
color: #6200ee; |
||||||
|
/* @alternate */ |
||||||
|
color: var(--mdc-theme-primary, #6200ee); } |
||||||
|
|
||||||
|
.mdc-button__label + .mdc-button__icon { |
||||||
|
/* @noflip */ |
||||||
|
margin-left: 8px; |
||||||
|
/* @noflip */ |
||||||
|
margin-right: 0; } |
||||||
|
[dir="rtl"] .mdc-button__label + .mdc-button__icon, .mdc-button__label + .mdc-button__icon[dir="rtl"] { |
||||||
|
/* @noflip */ |
||||||
|
margin-left: 0; |
||||||
|
/* @noflip */ |
||||||
|
margin-right: 8px; } |
||||||
|
|
||||||
|
svg.mdc-button__icon { |
||||||
|
fill: currentColor; } |
||||||
|
|
||||||
|
.mdc-button--raised .mdc-button__icon, |
||||||
|
.mdc-button--unelevated .mdc-button__icon, |
||||||
|
.mdc-button--outlined .mdc-button__icon { |
||||||
|
/* @noflip */ |
||||||
|
margin-left: -4px; |
||||||
|
/* @noflip */ |
||||||
|
margin-right: 8px; } |
||||||
|
[dir="rtl"] .mdc-button--raised .mdc-button__icon, .mdc-button--raised .mdc-button__icon[dir="rtl"], [dir="rtl"] |
||||||
|
.mdc-button--unelevated .mdc-button__icon, |
||||||
|
.mdc-button--unelevated .mdc-button__icon[dir="rtl"], [dir="rtl"] |
||||||
|
.mdc-button--outlined .mdc-button__icon, |
||||||
|
.mdc-button--outlined .mdc-button__icon[dir="rtl"] { |
||||||
|
/* @noflip */ |
||||||
|
margin-left: 8px; |
||||||
|
/* @noflip */ |
||||||
|
margin-right: -4px; } |
||||||
|
|
||||||
|
.mdc-button--raised .mdc-button__label + .mdc-button__icon, |
||||||
|
.mdc-button--unelevated .mdc-button__label + .mdc-button__icon, |
||||||
|
.mdc-button--outlined .mdc-button__label + .mdc-button__icon { |
||||||
|
/* @noflip */ |
||||||
|
margin-left: 8px; |
||||||
|
/* @noflip */ |
||||||
|
margin-right: -4px; } |
||||||
|
[dir="rtl"] .mdc-button--raised .mdc-button__label + .mdc-button__icon, .mdc-button--raised .mdc-button__label + .mdc-button__icon[dir="rtl"], [dir="rtl"] |
||||||
|
.mdc-button--unelevated .mdc-button__label + .mdc-button__icon, |
||||||
|
.mdc-button--unelevated .mdc-button__label + .mdc-button__icon[dir="rtl"], [dir="rtl"] |
||||||
|
.mdc-button--outlined .mdc-button__label + .mdc-button__icon, |
||||||
|
.mdc-button--outlined .mdc-button__label + .mdc-button__icon[dir="rtl"] { |
||||||
|
/* @noflip */ |
||||||
|
margin-left: -4px; |
||||||
|
/* @noflip */ |
||||||
|
margin-right: 8px; } |
||||||
|
|
||||||
|
.mdc-button--raised, |
||||||
|
.mdc-button--unelevated { |
||||||
|
padding: 0 16px 0 16px; } |
||||||
|
.mdc-button--raised:disabled, |
||||||
|
.mdc-button--unelevated:disabled { |
||||||
|
background-color: rgba(0, 0, 0, 0.12); |
||||||
|
color: rgba(0, 0, 0, 0.37); } |
||||||
|
.mdc-button--raised:not(:disabled), |
||||||
|
.mdc-button--unelevated:not(:disabled) { |
||||||
|
background-color: #6200ee; } |
||||||
|
@supports not (-ms-ime-align: auto) { |
||||||
|
.mdc-button--raised:not(:disabled), |
||||||
|
.mdc-button--unelevated:not(:disabled) { |
||||||
|
/* @alternate */ |
||||||
|
background-color: var(--mdc-theme-primary, #6200ee); } } |
||||||
|
.mdc-button--raised:not(:disabled), |
||||||
|
.mdc-button--unelevated:not(:disabled) { |
||||||
|
color: #fff; |
||||||
|
/* @alternate */ |
||||||
|
color: var(--mdc-theme-on-primary, #fff); } |
||||||
|
|
||||||
|
.mdc-button--raised { |
||||||
|
box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); |
||||||
|
-webkit-transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); |
||||||
|
transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); } |
||||||
|
.mdc-button--raised:hover, .mdc-button--raised:focus { |
||||||
|
box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); } |
||||||
|
.mdc-button--raised:active { |
||||||
|
box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); } |
||||||
|
.mdc-button--raised:disabled { |
||||||
|
box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); } |
||||||
|
|
||||||
|
.mdc-button--outlined { |
||||||
|
border-style: solid; |
||||||
|
padding: 0 15px 0 15px; |
||||||
|
border-width: 1px; } |
||||||
|
.mdc-button--outlined:disabled { |
||||||
|
border-color: rgba(0, 0, 0, 0.37); } |
||||||
|
.mdc-button--outlined:not(:disabled) { |
||||||
|
border-color: #6200ee; |
||||||
|
/* @alternate */ |
||||||
|
border-color: var(--mdc-theme-primary, #6200ee); } |
||||||
|
|
||||||
|
.mdc-button--dense { |
||||||
|
height: 32px; |
||||||
|
font-size: .8125rem; } |
||||||
|
|
||||||
|
@-webkit-keyframes mdc-ripple-fg-radius-in { |
||||||
|
from { |
||||||
|
-webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); |
||||||
|
animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); |
||||||
|
-webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); |
||||||
|
transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); } |
||||||
|
to { |
||||||
|
-webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); |
||||||
|
transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } } |
||||||
|
|
||||||
|
@keyframes mdc-ripple-fg-radius-in { |
||||||
|
from { |
||||||
|
-webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); |
||||||
|
animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); |
||||||
|
-webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); |
||||||
|
transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); } |
||||||
|
to { |
||||||
|
-webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); |
||||||
|
transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } } |
||||||
|
|
||||||
|
@-webkit-keyframes mdc-ripple-fg-opacity-in { |
||||||
|
from { |
||||||
|
-webkit-animation-timing-function: linear; |
||||||
|
animation-timing-function: linear; |
||||||
|
opacity: 0; } |
||||||
|
to { |
||||||
|
opacity: var(--mdc-ripple-fg-opacity, 0); } } |
||||||
|
|
||||||
|
@keyframes mdc-ripple-fg-opacity-in { |
||||||
|
from { |
||||||
|
-webkit-animation-timing-function: linear; |
||||||
|
animation-timing-function: linear; |
||||||
|
opacity: 0; } |
||||||
|
to { |
||||||
|
opacity: var(--mdc-ripple-fg-opacity, 0); } } |
||||||
|
|
||||||
|
@-webkit-keyframes mdc-ripple-fg-opacity-out { |
||||||
|
from { |
||||||
|
-webkit-animation-timing-function: linear; |
||||||
|
animation-timing-function: linear; |
||||||
|
opacity: var(--mdc-ripple-fg-opacity, 0); } |
||||||
|
to { |
||||||
|
opacity: 0; } } |
||||||
|
|
||||||
|
@keyframes mdc-ripple-fg-opacity-out { |
||||||
|
from { |
||||||
|
-webkit-animation-timing-function: linear; |
||||||
|
animation-timing-function: linear; |
||||||
|
opacity: var(--mdc-ripple-fg-opacity, 0); } |
||||||
|
to { |
||||||
|
opacity: 0; } } |
||||||
|
|
||||||
|
.mdc-ripple-surface--test-edge-var-bug { |
||||||
|
--mdc-ripple-surface-test-edge-var: 1px solid #000; |
||||||
|
visibility: hidden; } |
||||||
|
.mdc-ripple-surface--test-edge-var-bug::before { |
||||||
|
border: var(--mdc-ripple-surface-test-edge-var); } |
||||||
|
|
||||||
|
.mdc-button { |
||||||
|
--mdc-ripple-fg-size: 0; |
||||||
|
--mdc-ripple-left: 0; |
||||||
|
--mdc-ripple-top: 0; |
||||||
|
--mdc-ripple-fg-scale: 1; |
||||||
|
--mdc-ripple-fg-translate-end: 0; |
||||||
|
--mdc-ripple-fg-translate-start: 0; |
||||||
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); } |
||||||
|
.mdc-button::before, .mdc-button::after { |
||||||
|
position: absolute; |
||||||
|
border-radius: 50%; |
||||||
|
opacity: 0; |
||||||
|
pointer-events: none; |
||||||
|
content: ""; } |
||||||
|
.mdc-button::before { |
||||||
|
-webkit-transition: opacity 15ms linear, background-color 15ms linear; |
||||||
|
transition: opacity 15ms linear, background-color 15ms linear; |
||||||
|
z-index: 1; } |
||||||
|
.mdc-button.mdc-ripple-upgraded::before { |
||||||
|
-webkit-transform: scale(var(--mdc-ripple-fg-scale, 1)); |
||||||
|
transform: scale(var(--mdc-ripple-fg-scale, 1)); } |
||||||
|
.mdc-button.mdc-ripple-upgraded::after { |
||||||
|
top: 0; |
||||||
|
/* @noflip */ |
||||||
|
left: 0; |
||||||
|
-webkit-transform: scale(0); |
||||||
|
transform: scale(0); |
||||||
|
-webkit-transform-origin: center center; |
||||||
|
transform-origin: center center; } |
||||||
|
.mdc-button.mdc-ripple-upgraded--unbounded::after { |
||||||
|
top: var(--mdc-ripple-top, 0); |
||||||
|
/* @noflip */ |
||||||
|
left: var(--mdc-ripple-left, 0); } |
||||||
|
.mdc-button.mdc-ripple-upgraded--foreground-activation::after { |
||||||
|
-webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; |
||||||
|
animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; } |
||||||
|
.mdc-button.mdc-ripple-upgraded--foreground-deactivation::after { |
||||||
|
-webkit-animation: mdc-ripple-fg-opacity-out 150ms; |
||||||
|
animation: mdc-ripple-fg-opacity-out 150ms; |
||||||
|
-webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); |
||||||
|
transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } |
||||||
|
.mdc-button::before, .mdc-button::after { |
||||||
|
top: calc(50% - 100%); |
||||||
|
/* @noflip */ |
||||||
|
left: calc(50% - 100%); |
||||||
|
width: 200%; |
||||||
|
height: 200%; } |
||||||
|
.mdc-button.mdc-ripple-upgraded::after { |
||||||
|
width: var(--mdc-ripple-fg-size, 100%); |
||||||
|
height: var(--mdc-ripple-fg-size, 100%); } |
||||||
|
.mdc-button::before, .mdc-button::after { |
||||||
|
background-color: #6200ee; } |
||||||
|
@supports not (-ms-ime-align: auto) { |
||||||
|
.mdc-button::before, .mdc-button::after { |
||||||
|
/* @alternate */ |
||||||
|
background-color: var(--mdc-theme-primary, #6200ee); } } |
||||||
|
.mdc-button:hover::before { |
||||||
|
opacity: 0.04; } |
||||||
|
.mdc-button:not(.mdc-ripple-upgraded):focus::before, .mdc-button.mdc-ripple-upgraded--background-focused::before { |
||||||
|
-webkit-transition-duration: 75ms; |
||||||
|
transition-duration: 75ms; |
||||||
|
opacity: 0.12; } |
||||||
|
.mdc-button:not(.mdc-ripple-upgraded)::after { |
||||||
|
-webkit-transition: opacity 150ms linear; |
||||||
|
transition: opacity 150ms linear; } |
||||||
|
.mdc-button:not(.mdc-ripple-upgraded):active::after { |
||||||
|
-webkit-transition-duration: 75ms; |
||||||
|
transition-duration: 75ms; |
||||||
|
opacity: 0.12; } |
||||||
|
.mdc-button.mdc-ripple-upgraded { |
||||||
|
--mdc-ripple-fg-opacity: 0.12; } |
||||||
|
|
||||||
|
.mdc-button--raised::before, .mdc-button--raised::after, |
||||||
|
.mdc-button--unelevated::before, |
||||||
|
.mdc-button--unelevated::after { |
||||||
|
background-color: #fff; } |
||||||
|
@supports not (-ms-ime-align: auto) { |
||||||
|
.mdc-button--raised::before, .mdc-button--raised::after, |
||||||
|
.mdc-button--unelevated::before, |
||||||
|
.mdc-button--unelevated::after { |
||||||
|
/* @alternate */ |
||||||
|
background-color: var(--mdc-theme-on-primary, #fff); } } |
||||||
|
|
||||||
|
.mdc-button--raised:hover::before, |
||||||
|
.mdc-button--unelevated:hover::before { |
||||||
|
opacity: 0.08; } |
||||||
|
|
||||||
|
.mdc-button--raised:not(.mdc-ripple-upgraded):focus::before, .mdc-button--raised.mdc-ripple-upgraded--background-focused::before, |
||||||
|
.mdc-button--unelevated:not(.mdc-ripple-upgraded):focus::before, |
||||||
|
.mdc-button--unelevated.mdc-ripple-upgraded--background-focused::before { |
||||||
|
-webkit-transition-duration: 75ms; |
||||||
|
transition-duration: 75ms; |
||||||
|
opacity: 0.24; } |
||||||
|
|
||||||
|
.mdc-button--raised:not(.mdc-ripple-upgraded)::after, |
||||||
|
.mdc-button--unelevated:not(.mdc-ripple-upgraded)::after { |
||||||
|
-webkit-transition: opacity 150ms linear; |
||||||
|
transition: opacity 150ms linear; } |
||||||
|
|
||||||
|
.mdc-button--raised:not(.mdc-ripple-upgraded):active::after, |
||||||
|
.mdc-button--unelevated:not(.mdc-ripple-upgraded):active::after { |
||||||
|
-webkit-transition-duration: 75ms; |
||||||
|
transition-duration: 75ms; |
||||||
|
opacity: 0.24; } |
||||||
|
|
||||||
|
.mdc-button--raised.mdc-ripple-upgraded, |
||||||
|
.mdc-button--unelevated.mdc-ripple-upgraded { |
||||||
|
--mdc-ripple-fg-opacity: 0.24; } |
||||||
|
|
||||||
|
.foo-button:not(:disabled) { |
||||||
|
color: teal; } |
||||||
|
|
||||||
|
.foo-button::before, .foo-button::after { |
||||||
|
background-color: teal; } |
||||||
|
|
||||||
|
.foo-button:hover::before { |
||||||
|
opacity: 0.04; } |
||||||
|
|
||||||
|
.foo-button:not(.mdc-ripple-upgraded):focus::before, .foo-button.mdc-ripple-upgraded--background-focused::before { |
||||||
|
-webkit-transition-duration: 75ms; |
||||||
|
transition-duration: 75ms; |
||||||
|
opacity: 0.12; } |
||||||
|
|
||||||
|
.foo-button:not(.mdc-ripple-upgraded)::after { |
||||||
|
-webkit-transition: opacity 150ms linear; |
||||||
|
transition: opacity 150ms linear; } |
||||||
|
|
||||||
|
.foo-button:not(.mdc-ripple-upgraded):active::after { |
||||||
|
-webkit-transition-duration: 75ms; |
||||||
|
transition-duration: 75ms; |
||||||
|
opacity: 0.12; } |
||||||
|
|
||||||
|
.foo-button.mdc-ripple-upgraded { |
||||||
|
--mdc-ripple-fg-opacity: 0.12; } |
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,9 @@ |
|||||||
|
@import "./scheme.scss"; |
||||||
|
@import "./size.scss"; |
||||||
|
|
||||||
|
@import "@material/button/mdc-button"; |
||||||
|
|
||||||
|
.foo-button { |
||||||
|
@include mdc-button-ink-color(teal); |
||||||
|
@include mdc-states(teal); |
||||||
|
} |
@ -0,0 +1,5 @@ |
|||||||
|
$orange: #fe9600; |
||||||
|
$white: #ffffff; |
||||||
|
$gray: #cfcfcf; |
||||||
|
$dark: #4f4f4f; |
||||||
|
$black: #000000; |
@ -0,0 +1,2 @@ |
|||||||
|
// Font size |
||||||
|
$base: 1em; |
@ -0,0 +1,2 @@ |
|||||||
|
import {MDCRipple} from '@material/ripple/index'; |
||||||
|
const ripple = new MDCRipple(document.querySelector('.foo-button')); |
Loading…
Reference in new issue