clever-onboarding
Version:
Framework agnostic onboarding widget for your web apps.
199 lines (168 loc) • 4.74 kB
CSS
:root {
--inactive-color:#cacaca;
--active-color:#49ace2;
--arrow-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNzFweCIgaGVpZ2h0PSI2M3B4IiB2aWV3Qm94PSIwIDAgNzEgNjMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQzLjIgKDM5MDY5KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5Hcm91cCAyPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj4KICAgICAgICA8ZyBpZD0iM18xX0ZJTFRSWSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTc5MC4wMDAwMDAsIC03Ni4wMDAwMDApIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMyI+CiAgICAgICAgICAgIDxnIGlkPSJJTkZPIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MzEuNTEzNzY1LCA3OC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNTkuNDg2MjM1LCAwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLjQ4NjIzNTI1LDU5IEM0LjI2OTE5MTY5LDIwLjI5MzE0OCAyNC42Nzk1NDEyLDYuMDEyNzE4NjEgNjAsNi4wMTI3MTg2MSIgaWQ9IlBhdGgtMiIgc3Ryb2tlLWRhc2hhcnJheT0iMSw3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIGlkPSJQYXRoLTMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHBvaW50cz0iNjIgMS40MjEwODU0N2UtMTQgNjguNDg5MTgyNyA1Ljg3MDc3NzgyIDYyLjM0ODc4ODMgMTEuODUyNTczNSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+');
}
.svg {
position:absolute;
top:0;
left:0;
display: none;
z-index:10;
}
.bg {
}
.mask {
}
.window {
display: none;
position:absolute;
z-index:11;
padding-bottom:90px;
border-radius: 5px;
background-color: #ffffff;
box-shadow: 0 15px 20px 0 rgba(0, 0, 0, 0.2);
font-family: Roboto;
overflow: hidden;
}
.window-next-btn {
display: block;
position: absolute;
right:30px;
text-align: left;
bottom:30px;
padding:6px 15px 6px 15px;
text-transform: uppercase;
cursor: pointer;
box-sizing: border-box;
border-radius: 5px;
font-size: 10px;
background-color:white;
font-weight: bold;
letter-spacing: 1px;
user-select: none;
color: var(--active-color);
border: solid 2px var(--active-color);
& span {
font-weight:bold;
}
& .window-btn-icon {
font-size:19px;
position:absolute;
display: none;
right:15px;
top:5px;
}
}
.window-next-btn-hover {
color:white;
background-color: var(--active-color);
}
.window-button-has-next {
padding: 6px 50px 6px 15px;
& .window-btn-icon {
display: block;
}
}
.window-prev-btn {
display: none;
position: absolute;
left:30px;
bottom:30px;
text-transform: uppercase;
padding:5px 0px;
color: var(--inactive-color);
pointer-events: none;
cursor: default;
& >.window-btn-icon {
font-size:19px;
}
}
.window-title {
position:relative;
margin-top:25px;
margin-left:30px;
font-size: 16px;
font-weight: bold;
}
.window-body {
position:relative;
margin-top:19px;
margin-left:30px;
margin-right: 30px;
font-size: 12px;
line-height: 1.5;
}
.window-button-has-prev {
color: var(--inactive-color);
display: block;
pointer-events: all;
cursor: pointer;
}
.window-button-has-prev:hover {
color: var(--active-color);
}
.arrow {
position: absolute;
z-index:11;
visibility: hidden;
width:71px;
top:0px;
left:0px;
height: 63px;
background-image:var(--arrow-image);
}
.constrained + .arrow {
display: none ;
}
.arrow-right-top {
transform: rotate(0deg);
margin-left: -20px;
margin-top: -8px;
}
.arrow-right-bottom {
transform: scaleY(-1);
margin-left: -20px;
margin-top: 8px;
}
.arrow-left-top {
transform: rotate(-90deg);
margin-left: -8px;
margin-top: 20px;
}
.arrow-left-bottom {
margin-left: -8px;
margin-top: -20px;
transform: scaleY(-1) rotate(-90deg);
}
.window-right-top {
}
.window-close {
position:absolute;
right:30px;
top:25px;
font-size: 18px;
width:15px;
height:15px;
color:var(--inactive-color);
cursor: pointer;
}
.window-close:hover {
color:black;
}
.window-progress-ct {
background-color: var(--active-color);
height: 5px;
left: 0px;
top: 0px;
overflow: hidden;
width:0px;
position: absolute;
}
.window-progress-step {
position: relative;
height:5px;
border-right:2px solid white;
background-color: transparent;
float:left;
}