@hulkapps/app-manager-vue 3.1.2 → 3.1.4

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.
@@ -40,19 +40,19 @@ export default {
40
40
  <template>
41
41
  <div class="block">
42
42
  <svg width="81" height="81" viewBox="0 0 81 81" fill="none" xmlns="http://www.w3.org/2000/svg">
43
- <path d="M49.6768 9.31236V2.68228C49.6768 2.02914 49.146 1.5 48.4918 1.5H34.5281C33.8735 1.5 33.3431 2.02914 33.3431 2.68228V9.31236C33.3431 9.83518 32.9983 10.2952 32.4964 10.4449C30.426 11.0617 28.4454 11.8862 26.5784 12.8936C26.1188 13.1415 25.5508 13.0558 25.1816 12.6874L20.481 7.9978C20.0183 7.53618 19.2678 7.53618 18.8051 7.9978L8.93175 17.8481C8.46905 18.3098 8.46905 19.0585 8.93175 19.5201L13.6323 24.2097C14.0016 24.5781 14.0875 25.1452 13.8389 25.6032C12.8292 27.4659 12.0028 29.4423 11.3846 31.5075C11.2345 32.0086 10.7734 32.3522 10.2494 32.3522H3.60301C2.94835 32.3522 2.41797 32.8813 2.41797 33.5345V47.4655C2.41797 48.1187 2.94835 48.6478 3.60301 48.6478H10.2486C10.7726 48.6478 11.2338 48.9918 11.3838 49.4925C12.002 51.5581 12.8285 53.5341 13.8382 55.3968C14.0867 55.8552 14.0008 56.4219 13.6315 56.7903L8.93095 61.4799C8.46826 61.9415 8.46826 62.6902 8.93095 63.1519L18.8043 73.0022C19.267 73.4638 20.0175 73.4638 20.4802 73.0022L25.1808 68.3126C25.5501 67.9441 26.1184 67.8585 26.5776 68.1064C28.4446 69.1138 30.4256 69.9383 32.4957 70.5551C32.9979 70.7048 33.3423 71.1648 33.3423 71.6876V78.3177C33.3423 78.9709 33.8727 79.5 34.5273 79.5H48.491C49.1456 79.5 49.676 78.9705 49.676 78.3177V71.6876" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
44
- <path d="M37.2891 64.3588V32.7" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
45
- <path d="M37.2891 23.9823V18.4764" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
46
- <path d="M49.6777 64.3588V59.3118" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
47
- <path d="M49.6777 50.1353V18.4764" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
48
- <path d="M62.0645 64.3588V41.8765" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
49
- <path d="M62.0645 33.1588V18.4764" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
50
- <path d="M74.4531 64.3588V29.947" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
51
- <path d="M74.4531 21.6882V18.4764" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
52
- <path d="M41.4188 23.9824H32.7012V32.7001H41.4188V23.9824Z" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
53
- <path d="M53.8055 50.1353H45.0879V59.3117H53.8055V50.1353Z" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
54
- <path d="M66.1942 33.1588H57.4766V41.8765H66.1942V33.1588Z" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
55
- <path d="M78.5829 21.6882H69.8652V29.9471H78.5829V21.6882Z" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
43
+ <path d="M49.6768 9.31236V2.68228C49.6768 2.02914 49.146 1.5 48.4918 1.5H34.5281C33.8735 1.5 33.3431 2.02914 33.3431 2.68228V9.31236C33.3431 9.83518 32.9983 10.2952 32.4964 10.4449C30.426 11.0617 28.4454 11.8862 26.5784 12.8936C26.1188 13.1415 25.5508 13.0558 25.1816 12.6874L20.481 7.9978C20.0183 7.53618 19.2678 7.53618 18.8051 7.9978L8.93175 17.8481C8.46905 18.3098 8.46905 19.0585 8.93175 19.5201L13.6323 24.2097C14.0016 24.5781 14.0875 25.1452 13.8389 25.6032C12.8292 27.4659 12.0028 29.4423 11.3846 31.5075C11.2345 32.0086 10.7734 32.3522 10.2494 32.3522H3.60301C2.94835 32.3522 2.41797 32.8813 2.41797 33.5345V47.4655C2.41797 48.1187 2.94835 48.6478 3.60301 48.6478H10.2486C10.7726 48.6478 11.2338 48.9918 11.3838 49.4925C12.002 51.5581 12.8285 53.5341 13.8382 55.3968C14.0867 55.8552 14.0008 56.4219 13.6315 56.7903L8.93095 61.4799C8.46826 61.9415 8.46826 62.6902 8.93095 63.1519L18.8043 73.0022C19.267 73.4638 20.0175 73.4638 20.4802 73.0022L25.1808 68.3126C25.5501 67.9441 26.1184 67.8585 26.5776 68.1064C28.4446 69.1138 30.4256 69.9383 32.4957 70.5551C32.9979 70.7048 33.3423 71.1648 33.3423 71.6876V78.3177C33.3423 78.9709 33.8727 79.5 34.5273 79.5H48.491C49.1456 79.5 49.676 78.9705 49.676 78.3177V71.6876" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
44
+ <path d="M37.2891 64.3588V32.7" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
45
+ <path d="M37.2891 23.9823V18.4764" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
46
+ <path d="M49.6777 64.3588V59.3118" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
47
+ <path d="M49.6777 50.1353V18.4764" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
48
+ <path d="M62.0645 64.3588V41.8765" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
49
+ <path d="M62.0645 33.1588V18.4764" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
50
+ <path d="M74.4531 64.3588V29.947" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
51
+ <path d="M74.4531 21.6882V18.4764" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
52
+ <path d="M41.4188 23.9824H32.7012V32.7001H41.4188V23.9824Z" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
53
+ <path d="M53.8055 50.1353H45.0879V59.3117H53.8055V50.1353Z" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
54
+ <path d="M66.1942 33.1588H57.4766V41.8765H66.1942V33.1588Z" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
55
+ <path d="M78.5829 21.6882H69.8652V29.9471H78.5829V21.6882Z" stroke="#1A1A1A" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
56
56
  </svg>
57
57
  <h3>{{ title }}</h3>
58
58
  <h6>{{ description }}</h6>
@@ -83,12 +83,12 @@ export default {
83
83
  .block h3 {
84
84
  font-size: 16px;
85
85
  font-weight: 700;
86
- color: black;
86
+ color: #1A1A1A;
87
87
  }
88
88
  .block h6 {
89
89
  font-size: 13px;
90
90
  font-weight: 400;
91
- color: #00000080;
91
+ color: #1A1A1A80;
92
92
  max-width: 186px;
93
93
  text-align: center;
94
94
  }
@@ -284,12 +284,15 @@ export default {
284
284
  },
285
285
  });
286
286
  this.syncNavigationWidth(); // Sync navigation width after mount
287
-
287
+ window.addEventListener('resize', this.syncNavigationWidth);
288
288
  // console.log('Plans:', this.plans);
289
289
  // console.log('Monthly Plans:', this.monthlyPlans);
290
290
  // console.log('Annually Plans:', this.annualPlans);
291
291
  // console.log('Features:', this.features);
292
292
  },
293
+ beforeUnmount() {
294
+ window.removeEventListener('resize', this.syncNavigationWidth);
295
+ },
293
296
  };
294
297
  </script>
295
298
 
@@ -298,7 +301,7 @@ export default {
298
301
  <div class="swiper-plan-h-navigation nav-monthly">
299
302
  <button class="swiper-plan-h-prev-monthly">
300
303
  <span class="plans-remaining" v-if="this.remainingPlansMonthly.before > 0">
301
- +{{ this.remainingPlansMonthly.before + " " + (this.remainingPlansMonthly.before === 1 ? translateMe("Plan") : translateMe("Plans")) }}
304
+ +{{ this.remainingPlansMonthly.before + " " + (this.remainingPlansMonthly.before === 1 ? translateMe("plan") : translateMe("plans")) }}
302
305
  </span>
303
306
  <svg width="24" height="24" viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg">
304
307
  <g clip-path="url(#clip0_859_9388)">
@@ -315,7 +318,7 @@ export default {
315
318
  </button>
316
319
  <button class="swiper-plan-h-next-monthly">
317
320
  <span class="plans-remaining" v-if="this.remainingPlansMonthly.after > 0">
318
- +{{ this.remainingPlansMonthly.after + " " + (this.remainingPlansMonthly.after === 1 ? translateMe("Plan") : translateMe("Plans")) }}</span>
321
+ +{{ this.remainingPlansMonthly.after + " " + (this.remainingPlansMonthly.after === 1 ? translateMe("plan") : translateMe("plans")) }}</span>
319
322
  <svg width="24" height="24" viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg">
320
323
  <g clip-path="url(#clip0_859_9381)">
321
324
  <path d="M19 12H5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
@@ -333,7 +336,7 @@ export default {
333
336
  <div class="swiper-plan-h-navigation nav-annually">
334
337
  <button class="swiper-plan-h-prev-annually">
335
338
  <span class="plans-remaining" v-if="this.remainingPlansAnnually.before > 0">
336
- +{{ this.remainingPlansAnnually.before + " " + (this.remainingPlansAnnually.before === 1 ? translateMe("Plan") : translateMe("Plans")) }}
339
+ +{{ this.remainingPlansAnnually.before + " " + (this.remainingPlansAnnually.before === 1 ? translateMe("plan") : translateMe("plans")) }}
337
340
  </span>
338
341
  <svg width="24" height="24" viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg">
339
342
  <g clip-path="url(#clip0_859_9388)">
@@ -350,7 +353,7 @@ export default {
350
353
  </button>
351
354
  <button class="swiper-plan-h-next-annually">
352
355
  <span class="plans-remaining" v-if="this.remainingPlansAnnually.after > 0">
353
- +{{ this.remainingPlansAnnually.after + " " + (this.remainingPlansAnnually.after === 1 ? translateMe("Plan") : translateMe("Plans")) }}
356
+ +{{ this.remainingPlansAnnually.after + " " + (this.remainingPlansAnnually.after === 1 ? translateMe("plan") : translateMe("plans")) }}
354
357
  </span>
355
358
  <svg width="24" height="24" viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg">
356
359
  <g clip-path="url(#clip0_859_9381)">
@@ -398,14 +401,14 @@ export default {
398
401
  >
399
402
  <template v-if="plan.strike_price">
400
403
  <h5 class="strike-price">
401
- <span style="text-decoration: line-through;">${{ plan.strike_price }}</span>
404
+ <span style="text-decoration: line-through;">${{ Number(plan.strike_price).toFixed(2) }}</span>
402
405
  <span v-if="plan.strike_price !== 0">
403
406
  /{{ translateMe("mo") }}
404
407
  </span>
405
408
  </h5>
406
409
  </template>
407
410
  <h2 class="price">
408
- {{ plan.price !== 0 ? "$" + plan.price : translateMe("Free") }}
411
+ {{ plan.price !== 0 ? "$" + Number(plan.price).toFixed(2) : translateMe("Free") }}
409
412
  <span v-if="plan.price !== 0">
410
413
  /{{ translateMe("mo") }}
411
414
  </span>
@@ -449,7 +452,7 @@ export default {
449
452
  fill-rule="evenodd"
450
453
  clip-rule="evenodd"
451
454
  d="M15.7803 5.96967C16.0732 6.26256 16.0732 6.73744 15.7803 7.03033L9.28033 13.5303C8.98744 13.8232 8.51256 13.8232 8.21967 13.5303L4.96967 10.2803C4.67678 9.98744 4.67678 9.51256 4.96967 9.21967C5.26256 8.92678 5.73744 8.92678 6.03033 9.21967L8.75 11.9393L14.7197 5.96967C15.0126 5.67678 15.4874 5.67678 15.7803 5.96967Z"
452
- fill="#303030"
455
+ fill="#1A1A1A"
453
456
  />
454
457
  </svg>
455
458
 
@@ -505,14 +508,14 @@ export default {
505
508
  >
506
509
  <template v-if="plan.strike_price">
507
510
  <h5 class="strike-price">
508
- <span style="text-decoration: line-through;">${{ plan.strike_price }}</span>
511
+ <span style="text-decoration: line-through;">${{ Number(plan.strike_price).toFixed(2) }}</span>
509
512
  <span v-if="plan.strike_price !== 0">
510
513
  /{{ translateMe("yr") }}
511
514
  </span>
512
515
  </h5>
513
516
  </template>
514
517
  <h2 class="price">
515
- {{ plan.price !== 0 ? "$" + plan.price : translateMe("Free") }}
518
+ {{ plan.price !== 0 ? "$" + Number(plan.price).toFixed(2) : translateMe("Free") }}
516
519
  <span v-if="plan.price !== 0">
517
520
  /{{ translateMe("yr") }}
518
521
  </span>
@@ -556,7 +559,7 @@ export default {
556
559
  fill-rule="evenodd"
557
560
  clip-rule="evenodd"
558
561
  d="M15.7803 5.96967C16.0732 6.26256 16.0732 6.73744 15.7803 7.03033L9.28033 13.5303C8.98744 13.8232 8.51256 13.8232 8.21967 13.5303L4.96967 10.2803C4.67678 9.98744 4.67678 9.51256 4.96967 9.21967C5.26256 8.92678 5.73744 8.92678 6.03033 9.21967L8.75 11.9393L14.7197 5.96967C15.0126 5.67678 15.4874 5.67678 15.7803 5.96967Z"
559
- fill="#303030"
562
+ fill="#1A1A1A"
560
563
  />
561
564
  </svg>
562
565
 
@@ -633,7 +636,7 @@ export default {
633
636
  .card .title {
634
637
  font-size: 16px;
635
638
  font-weight: 700;
636
- color: rgba(48, 48, 48, 1);
639
+ color: #1A1A1A;
637
640
  }
638
641
 
639
642
  .card .price-wrapper {
@@ -651,13 +654,13 @@ export default {
651
654
  .card .price {
652
655
  font-size: 30px;
653
656
  font-weight: 700;
654
- color: rgba(48, 48, 48, 1);
657
+ color: #4A4A4A;
655
658
  }
656
659
 
657
660
  .card .price span {
658
661
  font-size: 13px;
659
662
  font-weight: 400;
660
- color: rgba(97, 97, 97, 1);
663
+ color: #4A4A4A;
661
664
  margin-left: -6px;
662
665
  line-height: 0;
663
666
  }
@@ -665,7 +668,7 @@ export default {
665
668
  .card .description {
666
669
  font-size: 13px;
667
670
  font-weight: 400;
668
- color: rgba(97, 97, 97, 1);
671
+ color: #4A4A4A;
669
672
  }
670
673
 
671
674
  .button {
@@ -700,11 +703,11 @@ export default {
700
703
  .feature span {
701
704
  font-size: 13px;
702
705
  font-weight: 400;
703
- color: rgba(97, 97, 97, 1);
706
+ color: #4A4A4A;
704
707
  }
705
708
 
706
709
  .card .strike-price span {
707
- color: rgba(97, 97, 97, 1);
710
+ color: #4A4A4A;
708
711
  }
709
712
 
710
713
  .most-popular {
@@ -42,15 +42,11 @@ export default {
42
42
  required: false,
43
43
  default: false,
44
44
  },
45
- fullWidth: {
46
- type: Boolean,
47
- required: false,
48
- default: false,
49
- },
50
- narrowWidth: {
51
- type: Boolean,
45
+ width: {
46
+ type: String,
52
47
  required: false,
53
- default: false,
48
+ default: 'base',
49
+ validator: value => ['tight', 'base', 'loose'].includes(value)
54
50
  },
55
51
  bundleApps: {
56
52
  type: Number,
@@ -81,8 +77,9 @@ export default {
81
77
  <div
82
78
  :class="[
83
79
  'banner__inner',
84
- this.fullWidth ? 'full-width' : '',
85
- this.narrowWidth ? 'narrow-width' : '',
80
+ width === 'loose' ? 'loose-width' : '',
81
+ width === 'tight' ? 'tight-width' : '',
82
+ width === 'base' ? 'base-width' : '',
86
83
  ]"
87
84
  >
88
85
  <div v-if="showDescription" class="plan-left">
@@ -93,7 +90,7 @@ export default {
93
90
  {{ translateMe("Get") }}
94
91
  {{bundleApps}}
95
92
  {{ translateMe("Shopify apps and save more than") }}
96
- <strong>{{ translateMe("$1000") }}</strong>
93
+ <strong>{{ translateMe("$800") }}</strong>
97
94
  {{ translateMe("per month!") }}
98
95
  </p>
99
96
  </div>
@@ -123,7 +120,7 @@ export default {
123
120
  @click="handlePlanClick"
124
121
  variant="primary"
125
122
  >
126
- {{ translateMe("Current Plan") }}
123
+ {{ translateMe("Current plan") }}
127
124
  </VariantButton>
128
125
  </div>
129
126
  </div>
@@ -152,25 +149,25 @@ export default {
152
149
  display: flex;
153
150
  justify-content: space-between;
154
151
  align-items: center;
155
- max-width: 1200px !important;
152
+ max-width: 1190px !important;
156
153
  width: 100%;
157
154
  margin-left: auto;
158
155
  margin-right: auto;
159
156
  padding: 0 96px;
160
157
  }
161
158
 
162
- .banner__inner.full-width {
163
- max-width: none !important;
159
+ .banner__inner.loose-width {
160
+ max-width: 1600px !important;
164
161
  }
165
162
 
166
- .banner__inner.narrow-width {
163
+ .banner__inner.tight-width {
167
164
  max-width: 840px !important;
168
165
  }
169
166
 
170
167
  .plan-name {
171
168
  font-size: 14px;
172
169
  font-weight: 450;
173
- color: #303030;
170
+ color: #1A1A1A;
174
171
  }
175
172
 
176
173
  .plan-left {
@@ -199,18 +196,18 @@ export default {
199
196
  .bundle-desc-label {
200
197
  font-size: 14px;
201
198
  font-weight: 450;
202
- color: #303030;
199
+ color: #1A1A1A;
203
200
  }
204
201
 
205
202
  .discounted-amount {
206
203
  font-size: 30px;
207
204
  font-weight: bold;
208
- color: #303030;
205
+ color: #1A1A1A;
209
206
  }
210
207
 
211
208
  .original-amount {
212
209
  text-decoration: line-through;
213
- color: #616161;
210
+ color: #4A4A4A;
214
211
  font-size: 14px;
215
212
  font-weight: 650;
216
213
  }
@@ -243,7 +240,7 @@ export default {
243
240
 
244
241
  @media (max-width: 992px) {
245
242
 
246
- .banner__inner.full-width {
243
+ .banner__inner.loose-width {
247
244
  max-width: none !important;
248
245
  }
249
246
 
@@ -263,7 +260,7 @@ export default {
263
260
  .banner__inner {
264
261
  padding: 16px;
265
262
  }
266
- .banner__inner.full-width {
263
+ .banner__inner.loose-width {
267
264
  max-width: 100%;
268
265
  }
269
266
  .bundle-plan-showcase-banner {
@@ -2,6 +2,7 @@
2
2
  import Swiper, { Navigation, Pagination } from "swiper";
3
3
  import VariantButton from "./VariantButton";
4
4
  import {calculatePlanPriceWithDiscounts, formatFeature, getPlanButtonText, isPlanButtonDisabled} from "@/helpers";
5
+ import CustomTooltip from "./CustomTooltip.vue";
5
6
 
6
7
  export default {
7
8
  data() {
@@ -23,6 +24,7 @@ export default {
23
24
  name: "PlanTable",
24
25
  components: {
25
26
  VariantButton,
27
+ CustomTooltip,
26
28
  },
27
29
  props: {
28
30
  plans: {
@@ -50,7 +52,13 @@ export default {
50
52
  required: false,
51
53
  default: () => []
52
54
  },
53
- narrowWidth: {
55
+ width: {
56
+ type: String,
57
+ required: false,
58
+ default: 'base',
59
+ validator: value => ['tight', 'base', 'loose'].includes(value)
60
+ },
61
+ enableFeatureTooltip: {
54
62
  type: Boolean,
55
63
  required: false,
56
64
  default: false,
@@ -368,7 +376,7 @@ export default {
368
376
  slidesPerView: 2,
369
377
  },
370
378
  1024: {
371
- slidesPerView: Math.min(this.monthlyPlans.length, this.narrowWidth ? 2: 3),
379
+ slidesPerView: Math.min(this.monthlyPlans.length, this.width === 'tight' ? 2 : 3),
372
380
  },
373
381
  },
374
382
  on: {
@@ -399,7 +407,7 @@ export default {
399
407
  slidesPerView: 2,
400
408
  },
401
409
  1024: {
402
- slidesPerView: Math.min(this.annualPlans.length, this.narrowWidth ? 2 : 3),
410
+ slidesPerView: Math.min(this.annualPlans.length, this.width === 'tight' ? 2 : 3),
403
411
  },
404
412
  },
405
413
  on: {
@@ -416,8 +424,14 @@ export default {
416
424
 
417
425
  this.syncAllHeights(); // Run syncHeights once after mount
418
426
  this.syncNavigationWidth(); // Sync navigation width after mount
427
+ window.addEventListener('resize', this.syncNavigationWidth);
428
+ window.addEventListener('resize', this.syncAllHeights);
419
429
  this.setupScrollListeners();
420
430
  },
431
+ beforeUnmount() {
432
+ window.removeEventListener('resize', this.syncNavigationWidth);
433
+ window.removeEventListener('resize', this.syncAllHeights);
434
+ },
421
435
  };
422
436
  </script>
423
437
 
@@ -426,7 +440,7 @@ export default {
426
440
  <div class="swiper-plan-navigation nav-monthly-table">
427
441
  <button class="swiper-plan-monthly-prev">
428
442
  <span class="plans-remaining" v-if="this.remainingPlansMonthly.before > 0">
429
- +{{ this.remainingPlansMonthly.before + " " + (this.remainingPlansMonthly.before === 1 ? translateMe("Plan") : translateMe("Plans")) }}
443
+ +{{ this.remainingPlansMonthly.before + " " + (this.remainingPlansMonthly.before === 1 ? translateMe("plan") : translateMe("plans")) }}
430
444
  </span>
431
445
  <svg width="24" height="24" viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg">
432
446
  <g clip-path="url(#clip0_859_9388)">
@@ -443,7 +457,7 @@ export default {
443
457
  </button>
444
458
  <button class="swiper-plan-monthly-next">
445
459
  <span class="plans-remaining" v-if="this.remainingPlansMonthly.after > 0">
446
- +{{ this.remainingPlansMonthly.after + " " + (this.remainingPlansMonthly.after === 1 ? translateMe("Plan") : translateMe("Plans")) }}
460
+ +{{ this.remainingPlansMonthly.after + " " + (this.remainingPlansMonthly.after === 1 ? translateMe("plan") : translateMe("plans")) }}
447
461
  </span>
448
462
  <svg width="24" height="24" viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg">
449
463
  <g clip-path="url(#clip0_859_9381)">
@@ -462,7 +476,7 @@ export default {
462
476
  <div class="swiper-plan-navigation nav-annually-table">
463
477
  <button class="swiper-plan-annually-prev">
464
478
  <span class="plans-remaining" v-if="this.remainingPlansAnnually.before > 0">
465
- +{{ this.remainingPlansAnnually.before + " " + (this.remainingPlansAnnually.before === 1 ? translateMe("Plan") : translateMe("Plans")) }}
479
+ +{{ this.remainingPlansAnnually.before + " " + (this.remainingPlansAnnually.before === 1 ? translateMe("plan") : translateMe("plans")) }}
466
480
  </span>
467
481
  <svg width="24" height="24" viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg">
468
482
  <g clip-path="url(#clip0_859_9388)">
@@ -479,7 +493,7 @@ export default {
479
493
  </button>
480
494
  <button class="swiper-plan-annually-next">
481
495
  <span class="plans-remaining" v-if="this.remainingPlansAnnually.after > 0">
482
- +{{ this.remainingPlansAnnually.after + " " + (this.remainingPlansAnnually.after === 1 ? translateMe("Plan") : translateMe("Plans")) }}
496
+ +{{ this.remainingPlansAnnually.after + " " + (this.remainingPlansAnnually.after === 1 ? translateMe("plan") : translateMe("plans")) }}
483
497
  </span>
484
498
  <svg width="24" height="24" viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg">
485
499
  <g clip-path="url(#clip0_859_9381)">
@@ -500,7 +514,7 @@ export default {
500
514
  <div class="pricing-table-inner__left" id="table-left">
501
515
  <div class="table-header plans-available plans-available-monthly">
502
516
  <h3>
503
- {{ monthlyPlans.length }} {{ translateMe("Plans available") }}
517
+ {{ monthlyPlans.length }} {{ translateMe("plans available") }}
504
518
  </h3>
505
519
  </div>
506
520
  <template v-for="group in monthlyPlansFeatures">
@@ -512,7 +526,14 @@ export default {
512
526
  v-for="feature in group.features"
513
527
  :key="feature.uuid"
514
528
  >
515
- {{ translateMe(feature.name) }}
529
+ <template v-if="enableFeatureTooltip && feature.description">
530
+ <CustomTooltip :text="translateMe(feature.description)">
531
+ <span>{{ translateMe(feature.name) }}</span>
532
+ </CustomTooltip>
533
+ </template>
534
+ <template v-else>
535
+ <span>{{ translateMe(feature.name) }}</span>
536
+ </template>
516
537
  </div>
517
538
  </template>
518
539
  </div>
@@ -531,16 +552,17 @@ export default {
531
552
  anyMonthlyPlanHasDiscount ? 'has-discount' : ''
532
553
  ]"
533
554
  >
555
+ <h4 class="plan-name mobile-plan-name">{{ translateMe(plan.name) }}</h4>
534
556
  <template v-if="plan.strike_price">
535
557
  <h5>
536
- <span class="strike-price">${{ plan.strike_price }}</span>
558
+ <span class="strike-price">${{ Number(plan.strike_price).toFixed(2) }}</span>
537
559
  <span class="plan-interval" v-if="plan.strike_price !== 0">/{{ translateMe("mo") }}</span>
538
560
  </h5>
539
561
  </template>
540
562
  <div class="main-price">
541
- <h4 class="plan-name">{{ translateMe(plan.name) }}</h4>
563
+ <h4 class="plan-name desktop-plan-name">{{ translateMe(plan.name) }}</h4>
542
564
  <h4 v-if="plan.name !== 'free' && plan.name !== 'FREE'">
543
- <span class="plan-price">${{ plan.price }}</span>
565
+ <span class="plan-price">${{ Number(plan.price).toFixed(2) }}</span>
544
566
  <span class="plan-interval">/{{ translateMe("mo") }}</span>
545
567
  </h4>
546
568
  </div>
@@ -567,8 +589,8 @@ export default {
567
589
  <span class="plan-table-checkmark">
568
590
  <svg width="21" height="20" viewBox="0 0 21 20" fill="white" xmlns="http://www.w3.org/2000/svg">
569
591
  <g clip-path="url(#clip0_859_9134)">
570
- <path d="M3.25 10C3.25 10.9849 3.44399 11.9602 3.8209 12.8701C4.19781 13.7801 4.75026 14.6069 5.4467 15.3033C6.14314 15.9997 6.96993 16.5522 7.87987 16.9291C8.78982 17.306 9.76509 17.5 10.75 17.5C11.7349 17.5 12.7102 17.306 13.6201 16.9291C14.5301 16.5522 15.3569 15.9997 16.0533 15.3033C16.7497 14.6069 17.3022 13.7801 17.6791 12.8701C18.056 11.9602 18.25 10.9849 18.25 10C18.25 9.01509 18.056 8.03982 17.6791 7.12987C17.3022 6.21993 16.7497 5.39314 16.0533 4.6967C15.3569 4.00026 14.5301 3.44781 13.6201 3.0709C12.7102 2.69399 11.7349 2.5 10.75 2.5C9.76509 2.5 8.78982 2.69399 7.87987 3.0709C6.96993 3.44781 6.14314 4.00026 5.4467 4.6967C4.75026 5.39314 4.19781 6.21993 3.8209 7.12987C3.44399 8.03982 3.25 9.01509 3.25 10Z" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
571
- <path d="M8.25 9.99998L9.91667 11.6666L13.25 8.33331" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
592
+ <path d="M3.25 10C3.25 10.9849 3.44399 11.9602 3.8209 12.8701C4.19781 13.7801 4.75026 14.6069 5.4467 15.3033C6.14314 15.9997 6.96993 16.5522 7.87987 16.9291C8.78982 17.306 9.76509 17.5 10.75 17.5C11.7349 17.5 12.7102 17.306 13.6201 16.9291C14.5301 16.5522 15.3569 15.9997 16.0533 15.3033C16.7497 14.6069 17.3022 13.7801 17.6791 12.8701C18.056 11.9602 18.25 10.9849 18.25 10C18.25 9.01509 18.056 8.03982 17.6791 7.12987C17.3022 6.21993 16.7497 5.39314 16.0533 4.6967C15.3569 4.00026 14.5301 3.44781 13.6201 3.0709C12.7102 2.69399 11.7349 2.5 10.75 2.5C9.76509 2.5 8.78982 2.69399 7.87987 3.0709C6.96993 3.44781 6.14314 4.00026 5.4467 4.6967C4.75026 5.39314 4.19781 6.21993 3.8209 7.12987C3.44399 8.03982 3.25 9.01509 3.25 10Z" stroke="#1A1A1A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
593
+ <path d="M8.25 9.99998L9.91667 11.6666L13.25 8.33331" stroke="#1A1A1A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
572
594
  </g>
573
595
  <defs>
574
596
  <clipPath id="clip0_859_9134">
@@ -606,7 +628,7 @@ export default {
606
628
  <div class="pricing-table annually-table">
607
629
  <div class="pricing-table-inner__left" id="table-left">
608
630
  <div class="table-header plans-available plans-available-annually">
609
- <h3>{{ annualPlans.length }} {{ translateMe("Plans available") }}</h3>
631
+ <h3>{{ annualPlans.length }} {{ translateMe("plans available") }}</h3>
610
632
  </div>
611
633
  <template v-for="group in annualPlansFeatures">
612
634
  <div v-if="group.name" class="feature-group-header plan-feature-name plan-feature-name-annually">
@@ -617,7 +639,14 @@ export default {
617
639
  v-for="feature in group.features"
618
640
  :key="feature.uuid"
619
641
  >
620
- {{ translateMe(feature.name) }}
642
+ <template v-if="enableFeatureTooltip && feature.description">
643
+ <CustomTooltip :text="translateMe(feature.description)">
644
+ <span>{{ translateMe(feature.name) }}</span>
645
+ </CustomTooltip>
646
+ </template>
647
+ <template v-else>
648
+ <span>{{ translateMe(feature.name) }}</span>
649
+ </template>
621
650
  </div>
622
651
  </template>
623
652
  </div>
@@ -637,15 +666,16 @@ export default {
637
666
  ]"
638
667
  >
639
668
  <template v-if="plan.strike_price">
669
+ <h4 class="plan-name mobile-plan-name">{{ translateMe(plan.name) }}</h4>
640
670
  <h5>
641
- <span class="strike-price">${{ plan.strike_price }}</span>
671
+ <span class="strike-price">${{ Number(plan.strike_price).toFixed(2) }}</span>
642
672
  <span class="plan-interval" v-if="plan.strike_price !== 0">/{{ translateMe("yr") }}</span>
643
673
  </h5>
644
674
  </template>
645
675
  <div class="main-price">
646
- <h4 class="plan-name">{{ translateMe(plan.name) }}</h4>
676
+ <h4 class="plan-name desktop-plan-name">{{ translateMe(plan.name) }}</h4>
647
677
  <h4 v-if="plan.name !== 'free' && plan.name !== 'FREE'">
648
- <span class="plan-price">${{ plan.price }}</span>
678
+ <span class="plan-price">${{ Number(plan.price).toFixed(2) }}</span>
649
679
  <span class="plan-interval">/{{ translateMe("yr") }}</span>
650
680
  </h4>
651
681
  </div>
@@ -672,8 +702,8 @@ export default {
672
702
  <span class="plan-table-checkmark">
673
703
  <svg width="21" height="20" viewBox="0 0 21 20" fill="white" xmlns="http://www.w3.org/2000/svg">
674
704
  <g clip-path="url(#clip0_859_9134)">
675
- <path d="M3.25 10C3.25 10.9849 3.44399 11.9602 3.8209 12.8701C4.19781 13.7801 4.75026 14.6069 5.4467 15.3033C6.14314 15.9997 6.96993 16.5522 7.87987 16.9291C8.78982 17.306 9.76509 17.5 10.75 17.5C11.7349 17.5 12.7102 17.306 13.6201 16.9291C14.5301 16.5522 15.3569 15.9997 16.0533 15.3033C16.7497 14.6069 17.3022 13.7801 17.6791 12.8701C18.056 11.9602 18.25 10.9849 18.25 10C18.25 9.01509 18.056 8.03982 17.6791 7.12987C17.3022 6.21993 16.7497 5.39314 16.0533 4.6967C15.3569 4.00026 14.5301 3.44781 13.6201 3.0709C12.7102 2.69399 11.7349 2.5 10.75 2.5C9.76509 2.5 8.78982 2.69399 7.87987 3.0709C6.96993 3.44781 6.14314 4.00026 5.4467 4.6967C4.75026 5.39314 4.19781 6.21993 3.8209 7.12987C3.44399 8.03982 3.25 9.01509 3.25 10Z" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
676
- <path d="M8.25 9.99998L9.91667 11.6666L13.25 8.33331" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
705
+ <path d="M3.25 10C3.25 10.9849 3.44399 11.9602 3.8209 12.8701C4.19781 13.7801 4.75026 14.6069 5.4467 15.3033C6.14314 15.9997 6.96993 16.5522 7.87987 16.9291C8.78982 17.306 9.76509 17.5 10.75 17.5C11.7349 17.5 12.7102 17.306 13.6201 16.9291C14.5301 16.5522 15.3569 15.9997 16.0533 15.3033C16.7497 14.6069 17.3022 13.7801 17.6791 12.8701C18.056 11.9602 18.25 10.9849 18.25 10C18.25 9.01509 18.056 8.03982 17.6791 7.12987C17.3022 6.21993 16.7497 5.39314 16.0533 4.6967C15.3569 4.00026 14.5301 3.44781 13.6201 3.0709C12.7102 2.69399 11.7349 2.5 10.75 2.5C9.76509 2.5 8.78982 2.69399 7.87987 3.0709C6.96993 3.44781 6.14314 4.00026 5.4467 4.6967C4.75026 5.39314 4.19781 6.21993 3.8209 7.12987C3.44399 8.03982 3.25 9.01509 3.25 10Z" stroke="#1A1A1A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
706
+ <path d="M8.25 9.99998L9.91667 11.6666L13.25 8.33331" stroke="#1A1A1A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
677
707
  </g>
678
708
  <defs>
679
709
  <clipPath id="clip0_859_9134">
@@ -766,13 +796,14 @@ export default {
766
796
  border-bottom: 1px solid #e3e3e3;
767
797
  position: sticky;
768
798
  top: 0;
799
+ z-index: 10;
769
800
  }
770
801
 
771
802
  .table-header h3 {
772
803
  font-size: 13px;
773
804
  font-weight: 700;
774
805
  line-height: 20px;
775
- color: #303030;
806
+ color: #1A1A1A;
776
807
  }
777
808
 
778
809
  .plan-header-wrapper {
@@ -800,7 +831,8 @@ export default {
800
831
  border-left: 1px solid #e3e3e3;
801
832
  word-wrap: break-word;
802
833
  overflow-wrap: break-word;
803
- white-space: normal;
834
+ word-break: normal;
835
+ hyphens: none;
804
836
  }
805
837
  .plan-table-checkmark {
806
838
  width: 20px;
@@ -847,18 +879,27 @@ export default {
847
879
  }
848
880
 
849
881
  .plan-header-wrapper .price-wrapper .plan-interval {
850
- color: rgba(97, 97, 97, 1);
882
+ color: #4A4A4A;
851
883
  font-weight: normal;
852
884
  }
853
885
 
854
886
  .plan-header-wrapper .price-wrapper h4 {
855
- display: inline;
887
+ display: inline-flex;
888
+ text-align: center;
856
889
  font-size: 16px;
857
890
  font-weight: 700;
858
- color: #303030;
891
+ color: #1A1A1A;
859
892
  width: max-content;
860
893
  }
861
894
 
895
+ .plan-header-wrapper .price-wrapper h4.plan-name {
896
+ width: 100%;
897
+ }
898
+
899
+ .plan-header-wrapper .price-wrapper .mobile-plan-name {
900
+ display: none;
901
+ }
902
+
862
903
  .plan-header-wrapper .price-wrapper h4 h6 {
863
904
  display: inline;
864
905
  font-size: 13px;
@@ -957,7 +998,7 @@ export default {
957
998
  font-size: 14px;
958
999
  font-weight: 600;
959
1000
  background-color: #f5f5f5;
960
- color: #303030;
1001
+ color: #1A1A1A;
961
1002
  max-height: 30px;
962
1003
  padding: 5px !important;
963
1004
  border-bottom: 1px solid #e3e3e3;
@@ -973,6 +1014,20 @@ export default {
973
1014
  border-right: 1px solid #e3e3e3;
974
1015
  }
975
1016
 
1017
+ @media (max-width: 1024px) {
1018
+ .plan-header-wrapper .price-wrapper .mobile-plan-name {
1019
+ display: inline-block;
1020
+ }
1021
+
1022
+ .plan-header-wrapper .price-wrapper .desktop-plan-name {
1023
+ display: none;
1024
+ }
1025
+
1026
+ .plan-header-wrapper .price-wrapper .main-price {
1027
+ flex-direction: column;
1028
+ }
1029
+ }
1030
+
976
1031
  @media (max-width: 640px) {
977
1032
  .swiper-plan-navigation {
978
1033
  display: none !important;
@@ -982,10 +1037,4 @@ export default {
982
1037
  width: calc(100% + -2px);
983
1038
  }
984
1039
  }
985
-
986
- @media (max-width: 540px) {
987
- .plan-header-wrapper .price-wrapper .main-price {
988
- flex-direction: column;
989
- }
990
- }
991
1040
  </style>
@@ -61,7 +61,7 @@ export default {
61
61
  border-radius: 40px !important;
62
62
  }
63
63
  .button-secondary {
64
- color: black !important;
64
+ color: #1A1A1A !important;
65
65
  background-color: none;
66
66
  }
67
67
  .button-secondary:hover {
@@ -71,7 +71,7 @@ export default {
71
71
  }
72
72
  .additional-info-primary {
73
73
  background-color: rgba(0, 0, 0, 0.06) !important;
74
- color: #616161 !important;
74
+ color: #4A4A4A !important;
75
75
  padding: 0px 6px !important;
76
76
  border-radius: 8px !important;
77
77
  font-size: 13px !important;
@@ -79,7 +79,7 @@ export default {
79
79
  }
80
80
  .additional-info-secondary {
81
81
  background-color: rgba(0, 0, 0, 0.06) !important;
82
- color: #616161 !important;
82
+ color: #4A4A4A !important;
83
83
  padding: 0px 6px !important;
84
84
  border-radius: 8px !important;
85
85
  font-weight: 550 !important;