@crm-market/template-shared 1.0.0

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.
Files changed (160) hide show
  1. package/assets/css/custom.css +70 -0
  2. package/assets/css/remixicon.css +2782 -0
  3. package/assets/css/satoshi-font.css +31 -0
  4. package/assets/fonts/flaticon.css +463 -0
  5. package/assets/fonts/flaticon.eot +0 -0
  6. package/assets/fonts/flaticon.html +2153 -0
  7. package/assets/fonts/flaticon.svg +441 -0
  8. package/assets/fonts/flaticon.ttf +0 -0
  9. package/assets/fonts/flaticon.woff +0 -0
  10. package/assets/fonts/flaticon.woff2 +0 -0
  11. package/assets/fonts/remixicon.eot +0 -0
  12. package/assets/fonts/remixicon.svg +8230 -0
  13. package/assets/fonts/remixicon.ttf +0 -0
  14. package/assets/fonts/remixicon.woff +0 -0
  15. package/assets/fonts/remixicon.woff2 +0 -0
  16. package/assets/scss/_variables.scss +31 -0
  17. package/assets/scss/components/_about.scss +58 -0
  18. package/assets/scss/components/_authentication.scss +124 -0
  19. package/assets/scss/components/_backtoptop.scss +27 -0
  20. package/assets/scss/components/_banner.scss +396 -0
  21. package/assets/scss/components/_best-deals.scss +74 -0
  22. package/assets/scss/components/_blank.scss +40 -0
  23. package/assets/scss/components/_blog.scss +193 -0
  24. package/assets/scss/components/_cart.scss +108 -0
  25. package/assets/scss/components/_categories.scss +82 -0
  26. package/assets/scss/components/_checkout.scss +110 -0
  27. package/assets/scss/components/_dashboard.scss +388 -0
  28. package/assets/scss/components/_faq.scss +22 -0
  29. package/assets/scss/components/_filter-rang.scss +109 -0
  30. package/assets/scss/components/_footer.scss +270 -0
  31. package/assets/scss/components/_global.scss +550 -0
  32. package/assets/scss/components/_header.scss +587 -0
  33. package/assets/scss/components/_hurry.scss +52 -0
  34. package/assets/scss/components/_navbar.scss +1008 -0
  35. package/assets/scss/components/_offers.scss +689 -0
  36. package/assets/scss/components/_pagination.scss +71 -0
  37. package/assets/scss/components/_popup.scss +172 -0
  38. package/assets/scss/components/_preloader.scss +108 -0
  39. package/assets/scss/components/_products.scss +1147 -0
  40. package/assets/scss/components/_rtl.scss +806 -0
  41. package/assets/scss/components/_services.scss +16 -0
  42. package/assets/scss/components/_sidebar.scss +259 -0
  43. package/assets/scss/style.css +6676 -0
  44. package/assets/scss/style.css.map +1 -0
  45. package/assets/scss/style.scss +40 -0
  46. package/assets/webfonts/Satoshi-Bold.eot +0 -0
  47. package/assets/webfonts/Satoshi-Bold.woff +0 -0
  48. package/assets/webfonts/Satoshi-Bold.woff2 +0 -0
  49. package/assets/webfonts/Satoshi-Medium.eot +0 -0
  50. package/assets/webfonts/Satoshi-Medium.woff +0 -0
  51. package/assets/webfonts/Satoshi-Medium.woff2 +0 -0
  52. package/assets/webfonts/Satoshi-Regular.eot +0 -0
  53. package/assets/webfonts/Satoshi-Regular.woff +0 -0
  54. package/assets/webfonts/Satoshi-Regular.woff2 +0 -0
  55. package/components/AboutUs/AboutUsTuan.vue +25 -0
  56. package/components/AboutUs/Statistics.vue +42 -0
  57. package/components/AboutUs/SubscribeToTheNewsletter.vue +57 -0
  58. package/components/AddAddress/index.vue +70 -0
  59. package/components/BestSellers/Products.vue +1562 -0
  60. package/components/BestSellers/RecentlyViewed.vue +304 -0
  61. package/components/Cart/ProductQuantity.vue +29 -0
  62. package/components/Cart/index.vue +167 -0
  63. package/components/Categories/index.vue +305 -0
  64. package/components/ChangePassword/index.vue +71 -0
  65. package/components/Checkout/index.vue +192 -0
  66. package/components/Common/DashboardNavigation.vue +37 -0
  67. package/components/Common/PageBanner.vue +28 -0
  68. package/components/Common/ProductCard.vue +152 -0
  69. package/components/Common/Services.vue +58 -0
  70. package/components/Contact/ContactForm.vue +91 -0
  71. package/components/Contact/ContactInfo.vue +74 -0
  72. package/components/Dashboard/RecentOrder.vue +173 -0
  73. package/components/Dashboard/index.vue +79 -0
  74. package/components/EditAddress/index.vue +119 -0
  75. package/components/EditProfile/index.vue +97 -0
  76. package/components/FAQ/index.vue +121 -0
  77. package/components/FeaturedProduct/FeaturedProducts.vue +304 -0
  78. package/components/FeaturedProduct/Products.vue +1562 -0
  79. package/components/ForgotPassword/index.vue +51 -0
  80. package/components/Layout/BackToUp.vue +38 -0
  81. package/components/Layout/Copyright.vue +25 -0
  82. package/components/Layout/Footer.vue +183 -0
  83. package/components/Layout/FooterTwo.vue +165 -0
  84. package/components/Layout/LocationOption.vue +178 -0
  85. package/components/Layout/MiddleHeader.vue +229 -0
  86. package/components/Layout/MiddleHeaderThree.vue +204 -0
  87. package/components/Layout/MiddleHeaderTwo.vue +240 -0
  88. package/components/Layout/Navbar.vue +185 -0
  89. package/components/Layout/NavbarStyleFour.vue +334 -0
  90. package/components/Layout/NavbarStyleThree.vue +188 -0
  91. package/components/Layout/NavbarStyleTwo.vue +108 -0
  92. package/components/Layout/Preloader.vue +18 -0
  93. package/components/Layout/RTLSwitchBtn.vue +40 -0
  94. package/components/Layout/ResponsiveNavbar.vue +431 -0
  95. package/components/Layout/TopHeader.vue +130 -0
  96. package/components/Login/index.vue +94 -0
  97. package/components/MyAccount/index.vue +154 -0
  98. package/components/NewArrivals/Products.vue +1969 -0
  99. package/components/NewArrivals/RecentlyViewed.vue +304 -0
  100. package/components/OrderDetails/index.vue +77 -0
  101. package/components/OrderHistory/index.vue +197 -0
  102. package/components/PrivacyPolicy/index.vue +112 -0
  103. package/components/ProductDetails/ProductDetailsTab.vue +343 -0
  104. package/components/ProductDetails/ProductQuantity.vue +29 -0
  105. package/components/ProductDetails/RecentlyViewed.vue +304 -0
  106. package/components/ProductDetails/index.vue +268 -0
  107. package/components/Products/RecentlyViewed.vue +304 -0
  108. package/components/Products/index.vue +292 -0
  109. package/components/Register/index.vue +88 -0
  110. package/components/TermsConditions/index.vue +112 -0
  111. package/components/TrendingProducts/FeaturedProducts.vue +304 -0
  112. package/components/TrendingProducts/Products.vue +1564 -0
  113. package/components/Wishlist/ProductQuantity.vue +29 -0
  114. package/components/Wishlist/index.vue +128 -0
  115. package/composables/useCart.ts +149 -0
  116. package/composables/useCategories.ts +87 -0
  117. package/composables/useCheckout.ts +131 -0
  118. package/composables/useProducts.ts +162 -0
  119. package/composables/useSiteConfig.ts +236 -0
  120. package/composables/useTemplateSections.ts +74 -0
  121. package/e2e/cart.spec.ts +71 -0
  122. package/e2e/fixtures/mock-api.ts +166 -0
  123. package/e2e/homepage.spec.ts +65 -0
  124. package/e2e/layout.spec.ts +73 -0
  125. package/e2e/navigation.spec.ts +61 -0
  126. package/e2e/pages/cart.page.ts +44 -0
  127. package/e2e/pages/homepage.page.ts +46 -0
  128. package/e2e/playwright.config.ts +32 -0
  129. package/e2e/products.spec.ts +33 -0
  130. package/layouts/default.vue +94 -0
  131. package/layouts/inner.vue +70 -0
  132. package/nuxt.config.ts +86 -0
  133. package/package.json +38 -0
  134. package/pages/about-us.vue +12 -0
  135. package/pages/address.vue +10 -0
  136. package/pages/cart.vue +10 -0
  137. package/pages/categories.vue +10 -0
  138. package/pages/change-password.vue +10 -0
  139. package/pages/checkout.vue +10 -0
  140. package/pages/contact.vue +11 -0
  141. package/pages/dashboard.vue +10 -0
  142. package/pages/edit-address.vue +10 -0
  143. package/pages/edit-profile.vue +10 -0
  144. package/pages/faq.vue +10 -0
  145. package/pages/forgot-password.vue +10 -0
  146. package/pages/login.vue +10 -0
  147. package/pages/my-account.vue +10 -0
  148. package/pages/order-details.vue +10 -0
  149. package/pages/order-history.vue +10 -0
  150. package/pages/privacy-policy.vue +10 -0
  151. package/pages/product-details.vue +10 -0
  152. package/pages/products.vue +10 -0
  153. package/pages/register.vue +10 -0
  154. package/pages/terms-conditions.vue +10 -0
  155. package/pages/wishlist.vue +10 -0
  156. package/plugins/site-init.client.ts +24 -0
  157. package/plugins/vuetify.ts +18 -0
  158. package/types/index.ts +121 -0
  159. package/utils/image.ts +13 -0
  160. package/utils/store.ts +21 -0
@@ -0,0 +1,550 @@
1
+ /* Global Area Style
2
+ ============================================*/
3
+ body {
4
+ font-family: var(--fontFamilyRegular);
5
+ }
6
+ a {
7
+ transition: var(--transition);
8
+ color: var(--bodyColor);
9
+ &:hover {
10
+ color: var(--primary);
11
+ }
12
+ }
13
+ .h1,
14
+ .h2,
15
+ .h3,
16
+ .h4,
17
+ .h5,
18
+ .h6,
19
+ h1,
20
+ h2,
21
+ h3,
22
+ h4,
23
+ h5,
24
+ h6 {
25
+ color: var(--secondary);
26
+ font-family: var(--fontFamilyBold);
27
+ }
28
+ .h4,
29
+ h4 {
30
+ font-family: var(--fontFamilyMedium);
31
+ }
32
+ p {
33
+ margin-bottom: 15px;
34
+ line-height: 1.7;
35
+
36
+ &:last-child {
37
+ margin-bottom: 0;
38
+ }
39
+ }
40
+ img {
41
+ max-width: 100%;
42
+ height: auto;
43
+ }
44
+
45
+ .fs-3 {
46
+ font-size: 1.4rem !important;
47
+ }
48
+ .bg-gray1 {
49
+ background-color: var(--gray1);
50
+ }
51
+ .bg-gray2 {
52
+ background-color: var(--gray2);
53
+ }
54
+ .bg-gray3 {
55
+ background-color: var(--gray3);
56
+ }
57
+ .bg-gray4 {
58
+ background-color: var(--gray4);
59
+ }
60
+ .bg-warningdiv1 {
61
+ background-color: var(--warningdiv1);
62
+ }
63
+ .btn-warning {
64
+ background-color: var(--warning);
65
+ border-color: var(--warning);
66
+ }
67
+ .btn-primary {
68
+ background-color: var(--primary);
69
+ border-color: var(--primary);
70
+ }
71
+ .btn-success {
72
+ background-color: var(--success);
73
+ border-color: var(--success);
74
+ }
75
+ .text-warning {
76
+ color: var(--warning) !important;
77
+ }
78
+
79
+ .label {
80
+ font-size: 14px;
81
+ font-family: var(--fontFamilyMedium);
82
+ color: var(--dark);
83
+ margin-bottom: 10px;
84
+ }
85
+ .form-control {
86
+ background-color: var(--white);
87
+ border: 1px solid #dddddd;
88
+ height: 48px;
89
+ color: var(--dark);
90
+ font-size: 16px;
91
+ padding: 8px 20px;
92
+ width: 100%;
93
+ transition: var(--transition);
94
+ border-radius: 4px;
95
+
96
+ &::placeholder {
97
+ color: #838383;
98
+ font-size: 14px;
99
+ }
100
+ &:focus {
101
+ background-color: var(--white);
102
+ box-shadow: unset;
103
+ outline: 0;
104
+ border: 1px solid var(--primary);
105
+ }
106
+ &.form-select {
107
+ cursor: pointer;
108
+ }
109
+ }
110
+ textarea {
111
+ &.form-control {
112
+ height: auto;
113
+ }
114
+ }
115
+ .ptb-60 {
116
+ padding: {
117
+ top: 60px;
118
+ bottom: 60px;
119
+ }
120
+ }
121
+ .pt-30 {
122
+ padding-top: 30px;
123
+ }
124
+ .pt-60 {
125
+ padding-top: 60px;
126
+ }
127
+ .pb-60 {
128
+ padding-bottom: 60px;
129
+ }
130
+ .pb-35 {
131
+ padding-bottom: 35px;
132
+ }
133
+ .mb-38 {
134
+ margin-bottom: 38px;
135
+ }
136
+ .mb-27 {
137
+ margin-bottom: 27px;
138
+ }
139
+ .mt-minus-6 {
140
+ margin-top: -6px;
141
+ }
142
+ .ms-70 {
143
+ margin-left: 70px;
144
+ }
145
+ .transition-y {
146
+ transition: var(--transition);
147
+ &:hover {
148
+ transform: translateY(-5px);
149
+ }
150
+ }
151
+
152
+ /* Font Size Area Style
153
+ ============================================*/
154
+ .fs-14 {
155
+ font-size: var(--fontSize14);
156
+ }
157
+ .fs-15 {
158
+ font-size: var(--fontSize15);
159
+ }
160
+
161
+ /* Shape Area Style
162
+ ============================================*/
163
+ .shape {
164
+ position: absolute;
165
+ }
166
+
167
+ /* Animation Style
168
+ ============================================*/
169
+ .transition {
170
+ transition: var(--transition);
171
+ }
172
+ .success-hover-text {
173
+ &:hover {
174
+ color: var(--success) !important;
175
+ }
176
+ }
177
+ .success-hover-bg {
178
+ &:hover {
179
+ background-color: var(--success) !important;
180
+ color: var(--white) !important;
181
+ i {
182
+ background-color: var(--success) !important;
183
+ color: var(--white) !important;
184
+ }
185
+ }
186
+ }
187
+
188
+ /* BG Image Area Style
189
+ ============================================*/
190
+ .bg-img {
191
+ background-position: center center;
192
+ background-repeat: no-repeat;
193
+ background-size: cover;
194
+ }
195
+
196
+ /* BG 50% Style
197
+ ============================================*/
198
+ .bg-50 {
199
+ &::before {
200
+ content: "";
201
+ position: absolute;
202
+ top: 0;
203
+ left: 0;
204
+ width: 100%;
205
+ height: 50%;
206
+ background-color: var(--success);
207
+ z-index: -1;
208
+ }
209
+ &.bottom {
210
+ &::before {
211
+ top: auto;
212
+ bottom: 0;
213
+ }
214
+ }
215
+ }
216
+
217
+ /* Position Style
218
+ ============================================*/
219
+ .tops-1 {
220
+ top: 1px !important;
221
+ }
222
+ .tops-2 {
223
+ top: 2px !important;
224
+ }
225
+ .tops-3 {
226
+ top: 3px !important;
227
+ }
228
+ .tops-4 {
229
+ top: 4px !important;
230
+ }
231
+ .tops-5 {
232
+ top: 5px !important;
233
+ }
234
+
235
+ /* Btn Style
236
+ ============================================*/
237
+ .btn {
238
+ font-family: var(--fontFamilyBold);
239
+ padding: 9px 23px;
240
+ font-size: var(--fontSize14);
241
+ }
242
+
243
+ /* Read More Style
244
+ ============================================*/
245
+ .read-more {
246
+ text-decoration: none;
247
+ font-size: var(--fontSize14);
248
+ font-family: var(--fontFamilyBold);
249
+ color: var(--primary);
250
+ position: relative;
251
+ padding-bottom: 2px;
252
+ &::before {
253
+ content: "";
254
+ position: absolute;
255
+ bottom: 0;
256
+ left: 0;
257
+ width: 82%;
258
+ height: 1px;
259
+ background-color: var(--primary);
260
+ transition: var(--transition);
261
+ }
262
+ i {
263
+ font-size: 18px;
264
+ position: relative;
265
+ top: 2.5px;
266
+ }
267
+ &:hover {
268
+ &::before {
269
+ width: 100%;
270
+ }
271
+ }
272
+ &.success {
273
+ color: var(--success);
274
+ &::before {
275
+ background-color: var(--success);
276
+ }
277
+ }
278
+ &.warning {
279
+ color: var(--warningdiv);
280
+ &::before {
281
+ background-color: var(--warningdiv);
282
+ }
283
+ }
284
+ }
285
+ .col-c-20 {
286
+ width: 20%;
287
+ }
288
+ .mx-minus-1 {
289
+ margin-right: -0.5px;
290
+ margin-left: -0.5px;
291
+ }
292
+
293
+ .location-option {
294
+ position: fixed;
295
+ top: 0;
296
+ left: 0;
297
+ z-index: 999;
298
+ display: none;
299
+ width: 100%;
300
+ height: 100%;
301
+ overflow-x: hidden;
302
+ overflow-y: auto;
303
+ outline: 0;
304
+ background-color: rgba(0, 0, 0, 55%);
305
+
306
+ &.show {
307
+ display: block;
308
+ }
309
+ .modal-dialog {
310
+ min-height: 100%;
311
+ margin: 30px auto;
312
+ }
313
+ .modal-content {
314
+ padding: 40px;
315
+ background-color: var(--white);
316
+ z-index: 9999;
317
+ border-radius: 10px;
318
+ .form-control {
319
+ padding-inline-start: 40px !important;
320
+ }
321
+ }
322
+ .modal-body {
323
+ padding: 10px 0;
324
+ }
325
+ h3 {
326
+ font-size: 20px;
327
+ }
328
+ h6 {
329
+ font-size: 14px;
330
+ margin-bottom: 10px;
331
+ }
332
+ .location-list {
333
+ li {
334
+ background-color: var(--gray1);
335
+ padding: 12px 22px;
336
+ padding-right: 15px;
337
+ border-radius: var(--borderRadius6);
338
+ margin-bottom: 3px;
339
+ border: 1px solid var(--borderColor);
340
+ transition: var(--transition);
341
+ &:last-child {
342
+ margin-bottom: 0;
343
+ }
344
+ .title1 {
345
+ margin-bottom: 0;
346
+ font-size: 16px;
347
+ font-family: var(--fontFamilyBold);
348
+ color: var(--secondary);
349
+ display: block;
350
+ }
351
+ .dec {
352
+ font-size: var(--fontSize14);
353
+ }
354
+ .form-check-input {
355
+ border: 1px solid #d9d9d9;
356
+ cursor: pointer;
357
+ position: absolute;
358
+ top: 14px;
359
+ right: 0;
360
+ }
361
+ label {
362
+ cursor: pointer;
363
+ }
364
+ .form-check-input:checked {
365
+ background-color: var(--warning);
366
+ border-color: var(--warning) !important;
367
+ }
368
+ .form-check-input:focus {
369
+ box-shadow: none;
370
+ }
371
+ &:hover {
372
+ border-color: var(--warning);
373
+ }
374
+ }
375
+ }
376
+ }
377
+
378
+ /*
379
+ Main Content Text Style
380
+ =====================================================*/
381
+ .main-content-text {
382
+ h1,
383
+ h2,
384
+ h3,
385
+ h4,
386
+ h5,
387
+ h6 {
388
+ margin-bottom: 15px;
389
+ }
390
+ h1 {
391
+ font-size: 30px;
392
+ }
393
+ h2 {
394
+ font-size: 26px;
395
+ }
396
+ h3 {
397
+ font-size: 20px;
398
+ }
399
+ h4 {
400
+ font-size: 22px;
401
+ }
402
+ h5 {
403
+ font-size: 20px;
404
+ }
405
+ h6 {
406
+ font-size: 18px;
407
+ }
408
+ .gap-20 {
409
+ margin-bottom: 30px;
410
+ }
411
+ p {
412
+ color: #687693;
413
+ }
414
+ ul {
415
+ padding: 0;
416
+ list-style-type: none;
417
+ margin-bottom: 0;
418
+ li {
419
+ position: relative;
420
+ margin-bottom: 10px;
421
+ padding-left: 35px;
422
+ &:last-child {
423
+ margin-bottom: 0;
424
+ }
425
+ i {
426
+ position: absolute;
427
+ top: -6px;
428
+ left: 0;
429
+ color: var(--primary);
430
+ font-size: 25px;
431
+ }
432
+ }
433
+ }
434
+ ol {
435
+ padding-left: 18px;
436
+ li {
437
+ margin-bottom: 20px;
438
+ &::marker {
439
+ color: var(--primary);
440
+ }
441
+ &:last-child {
442
+ margin-bottom: 0;
443
+ }
444
+ }
445
+ }
446
+ a {
447
+ color: var(--primary);
448
+ &:hover {
449
+ text-decoration: underline;
450
+ }
451
+ }
452
+ .content-gap-mb-20 {
453
+ margin-bottom: 20px;
454
+ }
455
+ .content-gap-mb-30 {
456
+ margin-bottom: 30px;
457
+ }
458
+ .update {
459
+ display: block;
460
+ margin-bottom: 30px;
461
+ }
462
+ }
463
+
464
+ /* Error Area Style
465
+ ============================================*/
466
+ .error-content {
467
+ h1 {
468
+ font-size: 100px;
469
+ line-height: 1;
470
+ margin-top: -40px;
471
+ color: var(--primary);
472
+ span {
473
+ color: rgba(252, 239, 150, 0.5);
474
+ -webkit-text-stroke: 1px #808cff;
475
+ user-select: none;
476
+ }
477
+ }
478
+ h3 {
479
+ font-size: 24px;
480
+ margin-bottom: 15px;
481
+ }
482
+ p {
483
+ margin-bottom: 30px;
484
+ }
485
+ }
486
+
487
+ /* Max width 767px */
488
+ @media only screen and (max-width: 767px) {
489
+ .ms-70 {
490
+ margin-left: 0;
491
+ }
492
+ .shape {
493
+ display: none;
494
+ }
495
+ .col-c-20 {
496
+ width: 100%;
497
+ }
498
+ .error-content {
499
+ h1 {
500
+ font-size: 70px;
501
+ }
502
+ }
503
+ }
504
+
505
+ @media only screen and (min-width: 576px) {
506
+ .modal-dialog {
507
+ max-width: 500px;
508
+ margin-right: auto;
509
+ margin-left: auto;
510
+ }
511
+ }
512
+
513
+ @media only screen and (min-width: 576px) and (max-width: 767px) {
514
+ .col-c-20 {
515
+ width: 50%;
516
+ }
517
+ }
518
+
519
+ /* Min width 768px to Max width 992px */
520
+ @media only screen and (min-width: 768px) and (max-width: 991px) {
521
+ .ms-70 {
522
+ margin-left: 0;
523
+ }
524
+ .shape {
525
+ display: none;
526
+ }
527
+ .col-c-20 {
528
+ width: 33.33%;
529
+ }
530
+ .error-content {
531
+ h1 {
532
+ font-size: 80px;
533
+ }
534
+ }
535
+ }
536
+
537
+ /* Min width 992px to Max width 1199px */
538
+ @media only screen and (min-width: 992px) and (max-width: 1199px) {
539
+ .col-c-20 {
540
+ width: 33.33%;
541
+ }
542
+ }
543
+
544
+ @media (min-width: 1399px) {
545
+ .container {
546
+ max-width: 1356px;
547
+ padding-left: 30px;
548
+ padding-right: 30px;
549
+ }
550
+ }