@lancom/shared 0.0.457 → 0.0.459
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/products/products_aside/products-aside.vue +5 -5
- package/components/products/products_colors/products-colors.vue +10 -3
- package/components/quotes/quote_view/quote-view.scss +76 -22
- package/components/quotes/quote_view/quote-view.vue +79 -91
- package/components/quotes/quote_view/quote_option_view/quote-option-view.scss +103 -4
- package/components/quotes/quote_view/quote_option_view/quote-option-view.vue +202 -26
- package/components/quotes/quote_view/quote_view_accept/quote-view-accept.scss +33 -0
- package/components/quotes/quote_view/quote_view_accept/quote-view-accept.vue +85 -0
- package/components/quotes/quote_view/quote_view_address_form/quote-view-address-form.scss +17 -0
- package/components/quotes/quote_view/quote_view_address_form/quote-view-address-form.vue +259 -0
- package/components/quotes/quote_view/quote_view_banner/quote-view-banner.scss +67 -0
- package/components/quotes/quote_view/quote_view_banner/quote-view-banner.vue +69 -0
- package/components/quotes/quote_view/quote_view_billing_information/quote-view-billing-information.scss +5 -0
- package/components/quotes/quote_view/quote_view_billing_information/quote-view-billing-information.vue +108 -0
- package/components/quotes/quote_view/quote_view_header/quote-view-header.scss +65 -0
- package/components/quotes/quote_view/quote_view_header/quote-view-header.vue +69 -0
- package/components/quotes/quote_view/quote_view_info/quote-view-info.scss +36 -0
- package/components/quotes/quote_view/quote_view_info/quote-view-info.vue +42 -0
- package/components/quotes/quote_view/quote_view_invalid_stock_modal/quote-view-invalid-stock-modal.scss +17 -0
- package/components/quotes/quote_view/quote_view_invalid_stock_modal/quote-view-invalid-stock-modal.vue +29 -0
- package/components/quotes/quote_view/quote_view_menu/quote-view-menu.scss +74 -0
- package/components/quotes/quote_view/quote_view_menu/quote-view-menu.vue +102 -0
- package/components/quotes/quote_view/quote_view_message/quote-view-message.scss +53 -0
- package/components/quotes/quote_view/quote_view_message/quote-view-message.vue +40 -0
- package/components/quotes/quote_view/quote_view_mobile_menu/quote-view-mobile-menu.scss +1 -0
- package/components/quotes/quote_view/quote_view_mobile_menu/quote-view-mobile-menu.vue +23 -0
- package/components/quotes/quote_view/quote_view_payment/quote-view-payment.scss +58 -0
- package/components/quotes/quote_view/quote_view_payment/quote-view-payment.vue +191 -0
- package/components/quotes/quote_view/quote_view_payment/quote_payment_success/quote-payment-success.scss +40 -0
- package/components/quotes/quote_view/quote_view_payment/quote_payment_success/quote-payment-success.vue +50 -0
- package/components/quotes/quote_view/quote_view_payment_modal/quote-view-payment-modal.scss +10 -0
- package/components/quotes/quote_view/quote_view_payment_modal/quote-view-payment-modal.vue +49 -0
- package/components/quotes/quote_view/quote_view_print/quote-view-print.scss +54 -0
- package/components/quotes/quote_view/quote_view_print/quote-view-print.vue +74 -0
- package/components/quotes/quote_view/quote_view_question/quote-view-question.scss +84 -0
- package/components/quotes/quote_view/quote_view_question/quote-view-question.vue +203 -0
- package/components/quotes/quote_view/quote_view_questions/quote-view-questions.scss +39 -0
- package/components/quotes/quote_view/quote_view_questions/quote-view-questions.vue +50 -0
- package/components/quotes/quote_view_preview/quote-view.scss +29 -0
- package/components/quotes/quote_view_preview/quote-view.vue +121 -0
- package/components/quotes/quote_view_preview/quote_option_view/quote-option-view.scss +10 -0
- package/components/quotes/quote_view_preview/quote_option_view/quote-option-view.vue +73 -0
- package/package.json +1 -1
- package/pages/quotes/view/_id/option/_option.vue +1 -1
- package/plugins/crisp.js +13 -0
- package/store/products.js +4 -1
- /package/components/quotes/{quote_view → quote_view_preview}/quote-view.mixin.js +0 -0
- /package/components/quotes/{quote_view → quote_view_preview}/quote_product_color_simple_products/quote-product-color-simple-products.mixin.js +0 -0
- /package/components/quotes/{quote_view → quote_view_preview}/quote_product_color_simple_products/quote-product-color-simple-products.scss +0 -0
- /package/components/quotes/{quote_view → quote_view_preview}/quote_product_color_simple_products/quote-product-color-simple-products.vue +0 -0
- /package/components/quotes/{quote_view → quote_view_preview}/quote_product_color_simple_products/quote_product_color_simple_product/quote-product-color-simple-product.scss +0 -0
- /package/components/quotes/{quote_view → quote_view_preview}/quote_product_color_simple_products/quote_product_color_simple_product/quote-product-color-simple-product.vue +0 -0
- /package/components/quotes/{quote_view → quote_view_preview}/quote_product_prints/quote-product-prints.scss +0 -0
- /package/components/quotes/{quote_view → quote_view_preview}/quote_product_prints/quote-product-prints.vue +0 -0
- /package/components/quotes/{quote_view → quote_view_preview}/quote_product_prints/quote_product_print/quote-product-print.scss +0 -0
- /package/components/quotes/{quote_view → quote_view_preview}/quote_product_prints/quote_product_print/quote-product-print.vue +0 -0
- /package/components/quotes/{quote_view → quote_view_preview}/quote_view_product/quote-view-product.scss +0 -0
- /package/components/quotes/{quote_view → quote_view_preview}/quote_view_product/quote-view-product.vue +0 -0
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
:has-selected-icon="hasSelectedIcon"
|
|
38
38
|
:selected-icon-circle="selectedIconCircle" />
|
|
39
39
|
</div>
|
|
40
|
-
<!-- <div class="ProductsAside__item">
|
|
41
|
-
<products-colors />
|
|
42
|
-
</div> -->
|
|
43
40
|
<div class="ProductsAside__item">
|
|
44
41
|
<products-color-groups />
|
|
45
42
|
</div>
|
|
43
|
+
<div class="ProductsAside__item">
|
|
44
|
+
<products-colors />
|
|
45
|
+
</div>
|
|
46
46
|
<div class="ProductsAside__item">
|
|
47
47
|
<products-attributes
|
|
48
48
|
:has-selected-icon="hasSelectedIcon" />
|
|
@@ -60,7 +60,7 @@ import { mapGetters } from 'vuex';
|
|
|
60
60
|
import ProductsBrands from '@lancom/shared/components/products/products_brands/products-brands';
|
|
61
61
|
import ProductsTags from '@lancom/shared/components/products/products_tags/products-tags';
|
|
62
62
|
import ProductsAttributes from '@lancom/shared/components/products/products_attributes/products-attributes';
|
|
63
|
-
|
|
63
|
+
import ProductsColors from '@lancom/shared/components/products/products_colors/products-colors';
|
|
64
64
|
import ProductsColorGroups from '@lancom/shared/components/products/products_color_groups/products-color-groups';
|
|
65
65
|
import ProductsProductionTime from '@lancom/shared/components/products/products_production_time/products-production-time';
|
|
66
66
|
import ProductsMinimumQty from '@lancom/shared/components/products/products_minimum_qty/products-minimum-qty';
|
|
@@ -73,7 +73,7 @@ export default {
|
|
|
73
73
|
ProductsBrands,
|
|
74
74
|
ProductsTags,
|
|
75
75
|
ProductsAttributes,
|
|
76
|
-
|
|
76
|
+
ProductsColors,
|
|
77
77
|
ProductsColorGroups,
|
|
78
78
|
ProductsProductionTime,
|
|
79
79
|
ProductsMinimumQty
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div
|
|
3
|
+
v-if="visibleColors.length > 0"
|
|
4
|
+
class="ProductsColors__wrapper">
|
|
3
5
|
<toggle-content label="Colours">
|
|
4
6
|
<div class="ProductsColors__selected">
|
|
5
7
|
<div
|
|
@@ -68,7 +70,7 @@ export default {
|
|
|
68
70
|
};
|
|
69
71
|
},
|
|
70
72
|
computed: {
|
|
71
|
-
...mapGetters('products', ['colors']),
|
|
73
|
+
...mapGetters('products', ['colors', 'colorGroups']),
|
|
72
74
|
colorsCount() {
|
|
73
75
|
return this.colors.length;
|
|
74
76
|
},
|
|
@@ -76,8 +78,13 @@ export default {
|
|
|
76
78
|
const colors = (this.$route.query.colors || '').split(',');
|
|
77
79
|
return this.colors.filter(color => colors.includes(color.alias));
|
|
78
80
|
},
|
|
81
|
+
slectedGroupsColors() {
|
|
82
|
+
const colorGroupsAliases = (this.$route.query.colorGroups || '').split(',');
|
|
83
|
+
const colorGroups = this.colorGroups.filter(colorGroup => colorGroupsAliases.includes(colorGroup.alias));
|
|
84
|
+
return this.colors.filter(color => colorGroups.some(g => color.colorGroups?.includes(g._id)));
|
|
85
|
+
},
|
|
79
86
|
visibleColors() {
|
|
80
|
-
return this.displayAllColors ? this.
|
|
87
|
+
return this.displayAllColors ? this.slectedGroupsColors : this.slectedGroupsColors.slice(0, this.shortListColorsLimit);
|
|
81
88
|
}
|
|
82
89
|
},
|
|
83
90
|
mounted() {
|
|
@@ -1,29 +1,83 @@
|
|
|
1
|
+
@import "@/assets/scss/variables";
|
|
2
|
+
|
|
1
3
|
.QuoteView {
|
|
2
4
|
&__wrapper {
|
|
3
|
-
|
|
5
|
+
display: flex;
|
|
4
6
|
}
|
|
5
|
-
&
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
&__header {
|
|
8
|
+
position: sticky;
|
|
9
|
+
top: 0;
|
|
10
|
+
z-index: 2;
|
|
11
|
+
background-color: $white;
|
|
12
|
+
}
|
|
13
|
+
&__sidebar {
|
|
14
|
+
width: 250px;
|
|
15
|
+
flex-shrink: 0;
|
|
16
|
+
&-content {
|
|
17
|
+
position: sticky;
|
|
18
|
+
top: 30px;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
&__content {
|
|
22
|
+
border-left: 2px solid $gray;
|
|
23
|
+
position: relative;
|
|
24
|
+
flex-grow: 1;
|
|
25
|
+
@media (max-width: $bp-small-max) {
|
|
26
|
+
border-left: none;
|
|
27
|
+
width: 100%;
|
|
28
|
+
}
|
|
9
29
|
}
|
|
10
30
|
&__info {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
31
|
+
margin-top: 32px;
|
|
32
|
+
padding-left: 25px;
|
|
33
|
+
}
|
|
34
|
+
&__info-alert {
|
|
35
|
+
margin: 20px 0;
|
|
36
|
+
padding: 25px;
|
|
37
|
+
text-align: center;
|
|
38
|
+
border: 1px solid $orange;
|
|
39
|
+
color: $orange;
|
|
40
|
+
font-size: 18px;
|
|
41
|
+
line-height: 29px;
|
|
42
|
+
a {
|
|
43
|
+
color: $orange;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
&__text {
|
|
47
|
+
margin-top: 110px;
|
|
48
|
+
font-weight: 800;
|
|
49
|
+
font-size: 22px;
|
|
50
|
+
line-height: 35px;
|
|
51
|
+
@media (max-width: $bp-small-max) {
|
|
52
|
+
margin-top: 50px;
|
|
53
|
+
font-size: 17px;
|
|
54
|
+
line-height: 25px;
|
|
24
55
|
}
|
|
56
|
+
a {
|
|
57
|
+
color: $black;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
&__message {
|
|
61
|
+
margin-top: 120px;
|
|
62
|
+
@media (max-width: $bp-small-max) {
|
|
63
|
+
margin-top: 50px;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
&__element {
|
|
67
|
+
padding-left: 86px;
|
|
68
|
+
@media (max-width: $bp-small-max) {
|
|
69
|
+
padding-left: 0px;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
&__options {
|
|
73
|
+
margin-top: 40px;
|
|
74
|
+
}
|
|
75
|
+
&__option {
|
|
76
|
+
margin-bottom: 120px;
|
|
77
|
+
}
|
|
78
|
+
&__accept {
|
|
79
|
+
position: sticky;
|
|
80
|
+
bottom: 0px;
|
|
81
|
+
margin-top: 120px;
|
|
25
82
|
}
|
|
26
|
-
}
|
|
27
|
-
.uppercase {
|
|
28
|
-
text-transform: uppercase;
|
|
29
|
-
}
|
|
83
|
+
}
|
|
@@ -1,117 +1,105 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="QuoteView__wrapper">
|
|
3
3
|
<div
|
|
4
|
-
|
|
5
|
-
class="
|
|
6
|
-
<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<div>
|
|
10
|
-
<h2 class="lc_h2"> {{ quote.shop.name }} </h2>
|
|
11
|
-
<h4 v-if="shopContacts" class="lc_h4"> ABN: {{ shopContacts.abn }} </h4>
|
|
4
|
+
:data-aos="aosFadeLeft"
|
|
5
|
+
class="QuoteView__sidebar hidden-sm-and-down">
|
|
6
|
+
<div class="QuoteView__sidebar-content">
|
|
7
|
+
<quote-view-info class="QuoteView__info" />
|
|
8
|
+
<quote-view-menu />
|
|
12
9
|
</div>
|
|
13
|
-
<h1 class="text-secondary lc_h1">
|
|
14
|
-
QUOTE
|
|
15
|
-
</h1>
|
|
16
10
|
</div>
|
|
17
|
-
<div
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
<div
|
|
12
|
+
:data-aos="aosFadeRight"
|
|
13
|
+
class="QuoteView__content">
|
|
14
|
+
<quote-view-header class="QuoteView__element QuoteView__header" />
|
|
15
|
+
<quote-view-banner class="QuoteView__banner" />
|
|
16
|
+
<div v-if="checkPayment || (!isExpiredQuote && !isOrdered)">
|
|
17
|
+
<quote-view-message
|
|
18
|
+
id="quote-intro"
|
|
19
|
+
class="QuoteView__element QuoteView__message" />
|
|
20
|
+
<div class="QuoteView__element QuoteView__text">
|
|
21
|
+
As always, if you have any questions about this quote, please reach out to us on 02 8880 3731 or email <email-link :email="['team','workdepot.com.au']" />
|
|
21
22
|
</div>
|
|
22
|
-
<div class="
|
|
23
|
-
|
|
23
|
+
<div class="QuoteView__element QuoteView__options">
|
|
24
|
+
<div
|
|
25
|
+
v-for="o in options"
|
|
26
|
+
:key="o._id"
|
|
27
|
+
class="QuoteView__option">
|
|
28
|
+
<quote-option-view
|
|
29
|
+
:option="o"
|
|
30
|
+
:quote="quote" />
|
|
31
|
+
</div>
|
|
24
32
|
</div>
|
|
25
|
-
<div class="
|
|
26
|
-
|
|
33
|
+
<div class="QuoteView__element QuoteView__question">
|
|
34
|
+
<quote-view-question />
|
|
35
|
+
<quote-view-questions />
|
|
27
36
|
</div>
|
|
37
|
+
<quote-view-accept class="QuoteView__element QuoteView__accept" />
|
|
28
38
|
</div>
|
|
29
|
-
<div>
|
|
30
|
-
<div class="
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
39
|
+
<div v-else>
|
|
40
|
+
<div class="QuoteView__info-alert">
|
|
41
|
+
<p>
|
|
42
|
+
This proposal is already in progress, has been finalised or has expired
|
|
43
|
+
</p>
|
|
44
|
+
<p v-if="isGuestUser">
|
|
45
|
+
You can <a href="/customer/signin">login</a> to your account to see the progress of this order, or request a new quote
|
|
46
|
+
</p>
|
|
35
47
|
</div>
|
|
36
48
|
</div>
|
|
37
49
|
</div>
|
|
38
|
-
|
|
39
|
-
<table class="QuoteView__table mt-4 lc_table bordered">
|
|
40
|
-
<tr>
|
|
41
|
-
<td>
|
|
42
|
-
<div><b>QUOTE</b></div>
|
|
43
|
-
<div v-if="quote.address">
|
|
44
|
-
<div class="lc_regular16">
|
|
45
|
-
{{ quote.address.fullName }}
|
|
46
|
-
</div>
|
|
47
|
-
<div v-if="quote.address.company" class="lc_regular16">
|
|
48
|
-
{{ quote.address.company }}
|
|
49
|
-
</div>
|
|
50
|
-
<div v-if="quote.address.phone" class="lc_regular16">
|
|
51
|
-
{{ quote.address.phone }}
|
|
52
|
-
</div>
|
|
53
|
-
<div class="lc_regular16">
|
|
54
|
-
{{ quote.address.email }}
|
|
55
|
-
</div>
|
|
56
|
-
<div class="lc_regular16">
|
|
57
|
-
{{ quoteAddress }}
|
|
58
|
-
</div>
|
|
59
|
-
<div class="lc_regular16">
|
|
60
|
-
{{ quote.address.additionalInfo }}
|
|
61
|
-
</div>
|
|
62
|
-
</div>
|
|
63
|
-
</td>
|
|
64
|
-
<td class="w-50">
|
|
65
|
-
<div class="lc_regular16">
|
|
66
|
-
<b>{{ MESSAGES.DIRECT_DEPOSIT_DETAILS || 'DIRECT DEPOSIT DETAILS' }}</b>
|
|
67
|
-
</div>
|
|
68
|
-
<div class="lc_regular16">
|
|
69
|
-
Bank: {{ depositInfo.bank }}
|
|
70
|
-
</div>
|
|
71
|
-
<div class="lc_regular16">
|
|
72
|
-
Account name: {{ depositInfo.accountName }}
|
|
73
|
-
</div>
|
|
74
|
-
<div class="lc_regular16">
|
|
75
|
-
{{ bsbLabel }}: {{ depositInfo.BSB }}
|
|
76
|
-
</div>
|
|
77
|
-
<div class="lc_regular16">
|
|
78
|
-
Account: {{ depositInfo.account }}
|
|
79
|
-
</div>
|
|
80
|
-
</td>
|
|
81
|
-
</tr>
|
|
82
|
-
</table>
|
|
83
|
-
<div class="mt-3">
|
|
84
|
-
<quote-option-view
|
|
85
|
-
v-for="(optionItem, index) of options"
|
|
86
|
-
:key="`option-${index}`"
|
|
87
|
-
:option="optionItem"
|
|
88
|
-
:quote="quote"
|
|
89
|
-
class="QuoteView__option" />
|
|
90
|
-
</div>
|
|
91
|
-
<h6
|
|
92
|
-
v-if="quote.expiredAt"
|
|
93
|
-
class="mt-3 lc_title mb-5 lc_h3">
|
|
94
|
-
THIS QUOTE IS VALID UNTIL {{ quote.expiredAt | shortDate }}
|
|
95
|
-
</h6>
|
|
96
50
|
</div>
|
|
97
51
|
</template>
|
|
98
52
|
|
|
99
53
|
<script>
|
|
100
|
-
import { mapGetters } from 'vuex';
|
|
101
|
-
import
|
|
54
|
+
import { mapGetters, mapActions } from 'vuex';
|
|
55
|
+
import { saveViewedOptions } from '@lancom/shared/assets/js/utils/quote';
|
|
56
|
+
import QuoteViewMixin from '@lancom/shared/components/quotes/quote_view_preview/quote-view.mixin';
|
|
57
|
+
import EmailLink from '@lancom/shared/components/email_link/email-link';
|
|
58
|
+
import QuoteViewInfo from './quote_view_info/quote-view-info';
|
|
59
|
+
import QuoteViewMenu from './quote_view_menu/quote-view-menu';
|
|
60
|
+
import QuoteViewHeader from './quote_view_header/quote-view-header';
|
|
61
|
+
import QuoteViewBanner from './quote_view_banner/quote-view-banner';
|
|
62
|
+
import QuoteViewMessage from './quote_view_message/quote-view-message';
|
|
63
|
+
import QuoteViewQuestion from './quote_view_question/quote-view-question';
|
|
64
|
+
import QuoteViewQuestions from './quote_view_questions/quote-view-questions';
|
|
65
|
+
import QuoteViewAccept from './quote_view_accept/quote-view-accept';
|
|
102
66
|
import QuoteOptionView from './quote_option_view/quote-option-view';
|
|
103
67
|
|
|
104
68
|
export default {
|
|
105
|
-
name: '
|
|
69
|
+
name: 'QuoteView',
|
|
106
70
|
components: {
|
|
107
|
-
QuoteOptionView
|
|
71
|
+
QuoteOptionView,
|
|
72
|
+
QuoteViewInfo,
|
|
73
|
+
QuoteViewMenu,
|
|
74
|
+
QuoteViewHeader,
|
|
75
|
+
QuoteViewBanner,
|
|
76
|
+
QuoteViewMessage,
|
|
77
|
+
QuoteViewQuestion,
|
|
78
|
+
QuoteViewQuestions,
|
|
79
|
+
QuoteViewAccept,
|
|
80
|
+
EmailLink
|
|
81
|
+
},
|
|
82
|
+
data() {
|
|
83
|
+
return {
|
|
84
|
+
checkPayment: !!this.$route.query.checkPayment
|
|
85
|
+
};
|
|
108
86
|
},
|
|
109
87
|
mixins: [QuoteViewMixin],
|
|
110
88
|
computed: {
|
|
111
|
-
...mapGetters(['
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
89
|
+
...mapGetters(['contacts']),
|
|
90
|
+
...mapGetters('auth', ['isGuestUser']),
|
|
91
|
+
...mapGetters('quote', ['quote', 'options', 'isExpiredQuote', 'isOrdered'])
|
|
92
|
+
},
|
|
93
|
+
created() {
|
|
94
|
+
if (process.client) {
|
|
95
|
+
this.fetchViewedOptions({ quote: this.quote });
|
|
96
|
+
|
|
97
|
+
const options = this.options.map(({ _id }) => _id);
|
|
98
|
+
saveViewedOptions(this.quote, options);
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
methods: {
|
|
102
|
+
...mapActions('quote', ['fetchViewedOptions'])
|
|
115
103
|
}
|
|
116
104
|
};
|
|
117
105
|
</script>
|
|
@@ -1,10 +1,109 @@
|
|
|
1
|
+
@import "@/assets/scss/variables";
|
|
2
|
+
|
|
1
3
|
.QuoteOptionView {
|
|
2
|
-
&
|
|
3
|
-
|
|
4
|
+
&__wrapper {
|
|
5
|
+
&.light {
|
|
6
|
+
opacity: 0.3;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
&__header {
|
|
10
|
+
padding: 22px;
|
|
11
|
+
background-color: $black;
|
|
12
|
+
color: $white;
|
|
13
|
+
display: flex;
|
|
14
|
+
justify-content: space-between;
|
|
15
|
+
align-items: center;
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
@media (max-width: $bp-extra-small-max) {
|
|
18
|
+
flex-direction: column;
|
|
19
|
+
justify-content: flex-start;
|
|
20
|
+
align-items: flex-start;
|
|
21
|
+
}
|
|
22
|
+
&.disabled {
|
|
23
|
+
opacity: 0.7;
|
|
24
|
+
pointer-events: none !important;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
&__title {
|
|
28
|
+
font-weight: 800;
|
|
29
|
+
font-size: 18px;
|
|
30
|
+
line-height: 25px;
|
|
31
|
+
text-transform: uppercase;
|
|
32
|
+
span {
|
|
33
|
+
background: #F38320;
|
|
34
|
+
padding: 1px 7px;
|
|
35
|
+
font-weight: bold;
|
|
36
|
+
font-size: 16.25px;
|
|
37
|
+
line-height: 22px;
|
|
38
|
+
color: $white;
|
|
39
|
+
text-decoration: none;
|
|
40
|
+
display: inline-block;
|
|
41
|
+
margin-left: 9px;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
&__proceed {
|
|
45
|
+
position: relative;
|
|
46
|
+
display: flex;
|
|
47
|
+
@media (max-width: $bp-extra-small-max) {
|
|
48
|
+
margin-top: 20px;
|
|
49
|
+
}
|
|
50
|
+
&-message {
|
|
51
|
+
font-weight: bold;
|
|
52
|
+
font-size: 16px;
|
|
53
|
+
line-height: 22px;
|
|
54
|
+
text-transform: uppercase;
|
|
55
|
+
color: $white;
|
|
56
|
+
cursor: pointer;
|
|
57
|
+
margin-left: 10px;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
&__table {
|
|
61
|
+
border: 1px solid #dee2e6;
|
|
62
|
+
padding: 30px;
|
|
4
63
|
}
|
|
5
64
|
&__product {
|
|
6
|
-
padding-bottom:
|
|
7
|
-
margin-bottom:
|
|
65
|
+
padding-bottom: 20px;
|
|
66
|
+
margin-bottom: 20px;
|
|
8
67
|
border-bottom: 1px solid #dee2e6;
|
|
9
68
|
}
|
|
69
|
+
&__subtotal {
|
|
70
|
+
padding: 24px;
|
|
71
|
+
background-color: $gray;
|
|
72
|
+
display: flex;
|
|
73
|
+
justify-content: space-between;
|
|
74
|
+
font-weight: 800;
|
|
75
|
+
font-size: 16px;
|
|
76
|
+
line-height: 22px;
|
|
77
|
+
text-transform: uppercase;
|
|
78
|
+
@media (max-width: $bp-extra-small-max) {
|
|
79
|
+
flex-direction: column;
|
|
80
|
+
}
|
|
81
|
+
&-item {
|
|
82
|
+
@media (max-width: $bp-extra-small-max) {
|
|
83
|
+
display: flex;
|
|
84
|
+
margin: 5px 0;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
&-label {
|
|
88
|
+
color: $gray_main;
|
|
89
|
+
}
|
|
90
|
+
&-value {
|
|
91
|
+
color: $black;
|
|
92
|
+
margin-left: 10px;
|
|
93
|
+
}
|
|
94
|
+
&.selected {
|
|
95
|
+
background-color: $green;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
&__message {
|
|
99
|
+
margin-top: 30px;
|
|
100
|
+
font-weight: 600;
|
|
101
|
+
font-size: 20px;
|
|
102
|
+
line-height: 27px;
|
|
103
|
+
color: $gray_main;
|
|
104
|
+
@media (max-width: $bp-extra-small-max) {
|
|
105
|
+
font-size: 15px;
|
|
106
|
+
line-height: 19px;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
10
109
|
}
|