PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.8
Booking for Appointments and Events Calendar – Amelia v2.4.8
2.4.8 2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / v3 / src / views / common / SbsFormConstruction / MainContent / MainContent.vue
ameliabooking / v3 / src / views / common / SbsFormConstruction / MainContent Last commit date
parts 2 days ago MainContent.vue 1 month ago
MainContent.vue
170 lines
1 <template>
2 <div class="am-fs__main" :style="cssVars" :class="responsiveClass" role="main">
3 <div class="am-fs__main-inner">
4 <slot name="header"></slot>
5 <slot name="step"></slot>
6 <slot name="footer"></slot>
7 </div>
8 </div>
9 </template>
10
11 <script setup>
12 // * import from Vue
13 import { ref, computed, inject } from 'vue'
14
15 // * Composables
16 import { useColorTransparency } from '../../../../assets/js/common/colorManipulation'
17 import { useResponsiveClass } from '../../../../assets/js/common/responsive'
18
19 let props = defineProps({
20 maxWidth: {
21 type: Number,
22 default: 520,
23 },
24 oldResponsive: {
25 type: Boolean,
26 default: true,
27 },
28 })
29
30 // * Container Width
31 let cWidth = inject('containerWidth', 0)
32 // am-fs__main-mobile
33 let checkScreen = computed(() => {
34 return cWidth.value < 560 || (cWidth.value > 560 && cWidth.value < 640)
35 ? 'am-fs__main-mobile'
36 : ''
37 })
38
39 let responsiveClass = computed(() => {
40 return props.oldResponsive ? checkScreen.value : useResponsiveClass(cWidth.value)
41 })
42
43 // * Color Vars
44 let amColors = inject(
45 'amColors',
46 ref({
47 colorPrimary: '#1246D6',
48 colorSuccess: '#019719',
49 colorError: '#B4190F',
50 colorWarning: '#CCA20C',
51 colorMainBgr: '#FFFFFF',
52 colorMainHeadingText: '#33434C',
53 colorMainText: '#1A2C37',
54 colorSbBgr: '#17295A',
55 colorSbText: '#FFFFFF',
56 colorInpBgr: '#FFFFFF',
57 colorInpBorder: '#D1D5D7',
58 colorInpText: '#1A2C37',
59 colorInpPlaceHolder: '#1A2C37',
60 colorDropBgr: '#FFFFFF',
61 colorDropBorder: '#D1D5D7',
62 colorDropText: '#0E1920',
63 colorBtnPrim: '#265CF2',
64 colorBtnPrimText: '#FFFFFF',
65 colorBtnSec: '#1A2C37',
66 colorBtnSecText: '#FFFFFF',
67 }),
68 )
69
70 // * Css Variables
71 let cssVars = computed(() => {
72 return {
73 // am - amelia
74 // mw - max width
75 // fsm - form step main
76 '--am-mw-fsm': `${props.maxWidth}px`,
77 '--am-c-scroll-op30': useColorTransparency(amColors.value.colorPrimary, 0.3),
78 '--am-c-scroll-op10': useColorTransparency(amColors.value.colorPrimary, 0.1),
79 }
80 })
81 </script>
82
83 <style lang="scss">
84 @mixin step-main-container {
85 // am -- amelia
86 // fs -- form steps
87 // cap -- cabinet panel
88 // Amelia Form Steps
89 .am-fs {
90 // Main Container
91 &__main {
92 --am-brad-main-default: 0 0.5rem 0.5rem 0;
93 max-width: var(--am-mw-fsm);
94 width: 100%;
95 background-color: var(--am-c-main-bgr);
96 border-radius: var(--am-brad-main, var(--am-brad-main-default));
97 overflow: hidden;
98
99 &-inner {
100 position: relative;
101 height: 100%;
102 }
103
104 &-content {
105 display: block;
106 overflow-x: hidden;
107 height: 444px;
108 padding: 16px 32px;
109
110 &.am-cap {
111 height: calc(100% - 72px);
112 }
113
114 &.am-capi,
115 &.am-caep {
116 padding: 0;
117 height: calc(100% - 136px);
118 }
119
120 // Main Scroll styles
121 &::-webkit-scrollbar {
122 width: 6px;
123 }
124
125 &::-webkit-scrollbar-thumb {
126 border-radius: 6px;
127 background: var(--am-c-scroll-op30);
128 }
129
130 &::-webkit-scrollbar-track {
131 border-radius: 6px;
132 background: var(--am-c-scroll-op10);
133 }
134 }
135
136 // Mobile
137 &-mobile {
138 --am-brad-main-default: 0.5rem;
139 .am-fs__main-content {
140 padding: 16px;
141 }
142 }
143
144 &.am-rw-480 {
145 --am-brad-main: 0.5rem;
146 --am-brad-main-default: 0.5rem;
147 .am-fs__main-content {
148 padding: 16px;
149
150 &.am-capi,
151 &.am-caep {
152 padding: 0;
153 }
154 }
155 }
156 }
157 }
158 }
159
160 // Public
161 .amelia-v2-booking #amelia-container {
162 @include step-main-container;
163 }
164
165 // Admin
166 #amelia-app-backend-new {
167 @include step-main-container;
168 }
169 </style>
170