wp_back/wp-content/plugins/visual-portfolio/gutenberg/components/setup-wizard/style.scss
2024-05-20 15:37:46 +03:00

287 lines
4.9 KiB
SCSS

@use "sass:color";
$brand_color: #2540cc !default;
.vpf-setup-wizard {
--wp-admin-theme-color: #{$brand_color};
padding: 20px;
padding-top: 50px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
color: #000;
text-align: center;
background-color: #fff;
border: 1px solid #7e7e7e;
border-radius: 6px;
// Hide default Gutenberg outline and use our own.
.wp-block-visual-portfolio-block.is-selected:has(> &) {
&::after {
content: none !important;
}
.vpf-setup-wizard {
border-color: $brand_color;
}
}
> div {
max-width: 520px;
margin: 0 auto;
}
.vpf-setup-wizard-title {
margin-bottom: 15px;
font-size: 18px;
font-weight: 500;
}
.vpf-setup-wizard-description {
font-size: 14px;
opacity: 0.75;
}
.vpf-setup-wizard-panel {
margin-top: 25px;
}
// Pagination.
.vpf-setup-wizard-pagination {
display: flex;
align-items: center;
justify-content: space-between;
max-width: none;
margin-top: 40px;
}
.vpf-setup-wizard-pagination-progress {
width: 130px;
height: 2px;
background-color: #eaeaea;
> div {
height: 2px;
background-color: $brand_color;
transition: 0.3s width ease;
}
}
.vpf-setup-wizard-pagination-button {
display: flex;
justify-content: flex-start;
min-width: 100px;
.components-button {
height: 34px;
padding: 6px 20px;
&.is-link {
padding: 0;
font-weight: 400;
color: #b9b9b9;
text-decoration: none;
&:hover,
&:focus {
color: $brand_color;
}
}
}
.components-button.is-primary {
background-color: $brand_color;
&:disabled {
background-color: $brand_color;
border-color: $brand_color;
svg {
color: #fff;
opacity: 0.4;
}
}
&:hover:not(:disabled) {
background: color.adjust($brand_color, $lightness: -10%);
}
&:focus:not(:disabled) {
box-shadow: inset 0 0 0 1px #fff, 0 0 0 1.5px $brand_color;
}
}
}
.vpf-setup-wizard-pagination-button-end {
justify-content: flex-end;
}
// Icons Selector
.vpf-component-icon-selector {
display: flex;
justify-content: center;
.vpf-component-icon-selector-item {
padding: 15px 20px;
background: none !important;
border-color: #fff;
svg {
width: 44px;
max-width: 44px;
height: 44px;
color: #2b2b2b;
transition: 0.2s color;
}
span {
font-size: 0.95em;
font-weight: 500;
text-transform: initial;
transition: 0.2s color;
}
&:hover,
&:focus {
svg,
span {
color: #1e1e1e;
}
}
&.vpf-component-icon-selector-item-active {
border-color: $brand_color !important;
box-shadow: 0 0 0 1px $brand_color !important;
svg,
span {
color: $brand_color;
}
}
}
}
// Step 0: Content Source Selector
&-step-0 {
// Gallery Control
.vpf-component-gallery-control .vpf-component-gallery-control-items {
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
}
// Step 1: Items Style Selector
&-step-1 .vpf-component-icon-selector {
gap: 20px;
padding-bottom: 30px;
margin-top: 35px;
// Limit to 4 items.
> .vpf-component-icon-selector-item:nth-child(4) ~ * {
display: none;
}
.vpf-component-icon-selector-item {
position: relative;
flex: 1;
padding: 0;
background: #eee !important;
border: none !important;
border-radius: 6px;
&::before {
display: block;
width: 100%;
padding-top: 100%;
content: "";
}
img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: contain;
border-radius: 6px;
}
svg {
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
&:hover,
&:focus {
border-color: none !important;
box-shadow: 0 0 0 1.5px #fff, 0 0 0 3.5px #000 !important;
}
&.vpf-component-icon-selector-item-active {
border-color: none !important;
box-shadow: 0 0 0 1.5px #fff, 0 0 0 3.5px $brand_color !important;
}
> span {
position: absolute;
top: calc(100% + 5px);
opacity: 0;
transition: 0.2s ease;
transform: translateY(-4px);
}
&:hover,
&:focus,
&.vpf-component-icon-selector-item-active {
> span {
opacity: 1;
transform: translateY(0);
}
}
}
}
// Step 2: Layout Elements
&-step-2 {
.vpf-setup-wizard-layout-elements {
> div {
padding: 25px 0;
+ div {
border-top: 1px solid #ececec;
}
}
.components-toggle-control__label {
font-size: 16px;
font-weight: 500;
}
}
}
.spinner,
.components-base-control,
.components-base-control__field {
margin: 0;
}
}
// Steps Wizard.
.vpf-component-steps-wizard {
opacity: 1;
transition: 0.3s opacity, 0.3s transform, 0.3s height;
transform: translateX(0);
&-animate-right {
opacity: 0;
transition: 0.3s height;
transform: translateX(40px);
}
&-animate-left {
opacity: 0;
transition: 0.3s height;
transform: translateX(-40px);
}
}