summaryrefslogtreecommitdiff
path: root/sass/components/_tapTarget.scss
diff options
context:
space:
mode:
Diffstat (limited to 'sass/components/_tapTarget.scss')
-rw-r--r--sass/components/_tapTarget.scss103
1 files changed, 103 insertions, 0 deletions
diff --git a/sass/components/_tapTarget.scss b/sass/components/_tapTarget.scss
new file mode 100644
index 0000000..49aecd5
--- /dev/null
+++ b/sass/components/_tapTarget.scss
@@ -0,0 +1,103 @@
+.tap-target-wrapper {
+ width: 800px;
+ height: 800px;
+ position: fixed;
+ z-index: 1000;
+ visibility: hidden;
+ transition: visibility 0s .3s;
+}
+
+.tap-target-wrapper.open {
+ visibility: visible;
+ transition: visibility 0s;
+
+ .tap-target {
+ transform: scale(1);
+ opacity: .95;
+ transition:
+ transform .3s cubic-bezier(.42,0,.58,1),
+ opacity .3s cubic-bezier(.42,0,.58,1);
+ }
+
+ .tap-target-wave::before {
+ transform: scale(1);
+ }
+ .tap-target-wave::after {
+ visibility: visible;
+ animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
+ transition:
+ opacity .3s,
+ transform .3s,
+ visibility 0s 1s;
+ }
+}
+
+.tap-target {
+ position: absolute;
+ font-size: 1rem;
+ border-radius: 50%;
+ background-color: $primary-color;
+ box-shadow: 0 20px 20px 0 rgba(0,0,0,0.14), 0 10px 50px 0 rgba(0,0,0,0.12), 0 30px 10px -20px rgba(0,0,0,0.2);
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ transform: scale(0);
+ transition:
+ transform .3s cubic-bezier(.42,0,.58,1),
+ opacity .3s cubic-bezier(.42,0,.58,1);
+}
+
+.tap-target-content {
+ position: relative;
+ display: table-cell;
+}
+
+.tap-target-wave {
+ &::before,
+ &::after {
+ content: '';
+ display: block;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+ background-color: #ffffff;
+ }
+ &::before {
+ transform: scale(0);
+ transition: transform .3s;
+ }
+ &::after {
+ visibility: hidden;
+ transition:
+ opacity .3s,
+ transform .3s,
+ visibility 0s;
+ z-index: -1;
+ }
+
+ position: absolute;
+ border-radius: 50%;
+ z-index: 10001;
+}
+
+.tap-target-origin {
+ &:not(.btn),
+ &:not(.btn):hover {
+ background: none;
+ }
+
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%,-50%);
+
+ z-index: 10002;
+ position: absolute !important;
+}
+
+@media only screen and (max-width: 600px) {
+ .tap-target, .tap-target-wrapper {
+ width: 600px;
+ height: 600px;
+ }
+}