@up_si_vale/sivale-design-styles 1.0.6 → 1.0.8

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 (112) hide show
  1. package/README.md +6 -13
  2. package/dist/assets/icons/chevron-down.svg +3 -3
  3. package/dist/assets/icons/city.svg +9 -9
  4. package/dist/assets/icons/community.svg +8 -0
  5. package/dist/assets/icons/credit-cards.svg +4 -4
  6. package/dist/assets/icons/dollar-circle.svg +4 -4
  7. package/dist/assets/icons/emoji-blink-right.svg +5 -5
  8. package/dist/assets/icons/error.svg +9 -0
  9. package/dist/assets/icons/gas-tank-droplet.svg +4 -4
  10. package/dist/assets/icons/gift.svg +7 -7
  11. package/dist/assets/icons/hand-card.svg +6 -6
  12. package/dist/assets/icons/laptop.svg +4 -0
  13. package/dist/assets/icons/layout.svg +3 -3
  14. package/dist/assets/icons/leaf.svg +4 -0
  15. package/dist/assets/icons/lock.svg +3 -3
  16. package/dist/assets/icons/pagination-button.svg +3 -0
  17. package/dist/assets/icons/piggy-bank.svg +7 -7
  18. package/dist/assets/icons/pizza-slice.svg +7 -7
  19. package/dist/assets/icons/quote-message.svg +5 -5
  20. package/dist/assets/icons/rocket.svg +7 -7
  21. package/dist/assets/icons/shirt.svg +5 -0
  22. package/dist/assets/icons/shop-four-tiles.svg +8 -8
  23. package/dist/assets/icons/shop.svg +7 -7
  24. package/dist/assets/icons/simple-cart.svg +5 -5
  25. package/dist/assets/icons/small-shop.svg +6 -6
  26. package/dist/assets/icons/star.svg +3 -3
  27. package/dist/assets/icons/suitcase.svg +3 -0
  28. package/dist/assets/icons/tag.svg +3 -3
  29. package/dist/index.css +2369 -378
  30. package/dist/index.css.map +1 -1
  31. package/dist/js/mega-menu-toggle.js +39 -39
  32. package/dist/scss/_alert.scss +15 -0
  33. package/dist/scss/_button.scss +419 -0
  34. package/dist/scss/_card-highlight.scss +34 -0
  35. package/dist/scss/_card-post.scss +76 -0
  36. package/dist/scss/_card-product.scss +71 -0
  37. package/dist/scss/_card.scss +148 -0
  38. package/dist/scss/_checkbox.scss +118 -0
  39. package/dist/scss/_collage.scss +44 -0
  40. package/dist/scss/_faq.scss +46 -0
  41. package/dist/scss/_form.scss +60 -0
  42. package/dist/scss/_icons.scss +211 -0
  43. package/dist/scss/_input.scss +327 -0
  44. package/dist/scss/_multiselect.scss +270 -0
  45. package/dist/scss/_navbar.scss +235 -0
  46. package/dist/scss/_order-list.scss +64 -0
  47. package/dist/scss/_palette.scss +86 -0
  48. package/dist/scss/_phone-input.scss +80 -0
  49. package/dist/scss/_product-slide.scss +52 -0
  50. package/dist/scss/_select-native.scss +102 -0
  51. package/dist/scss/_select.scss +282 -0
  52. package/dist/scss/_snackbar.scss +201 -0
  53. package/dist/scss/_typography.scss +73 -0
  54. package/dist/scss/_variables.dark.scss +19 -0
  55. package/dist/scss/_variables.scss +184 -0
  56. package/dist/scss/index.scss +21 -0
  57. package/dist/src/index.js +9 -9
  58. package/package.json +44 -41
  59. package/src/_alert.scss +15 -0
  60. package/src/_button.scss +419 -0
  61. package/src/_card-highlight.scss +34 -0
  62. package/src/_card-post.scss +76 -0
  63. package/src/_card-product.scss +71 -0
  64. package/src/_card.scss +148 -0
  65. package/src/_checkbox.scss +118 -0
  66. package/src/_collage.scss +44 -0
  67. package/src/_faq.scss +46 -0
  68. package/src/_form.scss +60 -0
  69. package/src/_icons.scss +211 -0
  70. package/src/_input.scss +327 -0
  71. package/src/_multiselect.scss +270 -0
  72. package/src/_navbar.scss +235 -0
  73. package/src/_order-list.scss +64 -0
  74. package/src/_palette.scss +86 -0
  75. package/src/_phone-input.scss +80 -0
  76. package/src/_product-slide.scss +52 -0
  77. package/src/_select-native.scss +102 -0
  78. package/src/_select.scss +282 -0
  79. package/src/_snackbar.scss +201 -0
  80. package/src/_typography.scss +73 -0
  81. package/src/_variables.dark.scss +19 -0
  82. package/src/_variables.scss +184 -0
  83. package/src/assets/icons/chevron-down.svg +3 -0
  84. package/src/assets/icons/city.svg +9 -0
  85. package/src/assets/icons/community.svg +8 -0
  86. package/src/assets/icons/credit-cards.svg +4 -0
  87. package/src/assets/icons/dollar-circle.svg +4 -0
  88. package/src/assets/icons/emoji-blink-right.svg +5 -0
  89. package/src/assets/icons/error.svg +9 -0
  90. package/src/assets/icons/gas-tank-droplet.svg +4 -0
  91. package/src/assets/icons/gift.svg +7 -0
  92. package/src/assets/icons/hand-card.svg +6 -0
  93. package/src/assets/icons/laptop.svg +4 -0
  94. package/src/assets/icons/layout.svg +3 -0
  95. package/src/assets/icons/leaf.svg +4 -0
  96. package/src/assets/icons/lock.svg +3 -0
  97. package/src/assets/icons/pagination-button.svg +3 -0
  98. package/src/assets/icons/piggy-bank.svg +7 -0
  99. package/src/assets/icons/pizza-slice.svg +7 -0
  100. package/src/assets/icons/quote-message.svg +5 -0
  101. package/src/assets/icons/rocket.svg +7 -0
  102. package/src/assets/icons/shirt.svg +5 -0
  103. package/src/assets/icons/shop-four-tiles.svg +8 -0
  104. package/src/assets/icons/shop.svg +7 -0
  105. package/src/assets/icons/simple-cart.svg +5 -0
  106. package/src/assets/icons/small-shop.svg +6 -0
  107. package/src/assets/icons/star.svg +3 -0
  108. package/src/assets/icons/suitcase.svg +3 -0
  109. package/src/assets/icons/tag.svg +3 -0
  110. package/src/index.js +9 -0
  111. package/src/index.scss +21 -0
  112. package/src/js/mega-menu-toggle.js +39 -0
@@ -0,0 +1,71 @@
1
+ .sv-container-product-card {
2
+ flex: 0 0 auto;
3
+ width: var(--card-width, 94%);
4
+ }
5
+
6
+ .sv-card__product {
7
+ height: 608px;
8
+ padding: 2rem;
9
+ }
10
+
11
+ .sv-card__product-images {
12
+ width: 100%;
13
+ position: relative;
14
+ height: 363px;
15
+ border-radius: 12px;
16
+ overflow: hidden;
17
+ }
18
+
19
+ .sv-card__product-image {
20
+ position: absolute;
21
+ top: 0;
22
+ left: 0;
23
+ height: 100%;
24
+ width: 100%;
25
+ object-fit: contain;
26
+ opacity: 0;
27
+ transition: opacity 0.3s ease-in-out;
28
+ }
29
+
30
+ .sv-card__product-images .sv-card__product-image:last-child {
31
+ opacity: 1;
32
+ z-index: 1;
33
+ }
34
+
35
+ .sv-card__product-images:hover .sv-card__product-image:first-child {
36
+ opacity: 1;
37
+ z-index: 2;
38
+ }
39
+
40
+ .sv-card__product-images:hover .sv-card__product-image:last-child {
41
+ opacity: 0;
42
+ }
43
+
44
+ .sv-card__product-title {
45
+ font-weight: 600;
46
+ font-style: SemiBold;
47
+ font-size: 1.25rem;
48
+ line-height: 30px;
49
+ text-align: center;
50
+ color: var(--text-color-title);
51
+ margin-bottom: 0.25rem;
52
+ }
53
+
54
+ .sv-card__product-description {
55
+ font-weight: 500;
56
+ font-style: Medium;
57
+ font-size: 1rem;
58
+ line-height: 1.5rem;
59
+ text-align: center;
60
+ color: var(--text-color-lp);
61
+ }
62
+
63
+ .sv-card__product-action {
64
+ width: 100%;
65
+ }
66
+
67
+ @media (min-width: 992px) {
68
+ .sv-container-product-card {
69
+ width: calc((100% - 170px) / 3); /* 3 cards, 48px de margen cada una */
70
+ }
71
+ }
@@ -0,0 +1,148 @@
1
+ @use "variables";
2
+ @use "palette" as *;
3
+
4
+ .sv-card {
5
+ position: relative;
6
+ background-color: var(--bg-card);
7
+ border-radius: variables.$border-radius;
8
+ // padding: 1rem;
9
+ box-shadow: var(--box-shadow-card);
10
+ color: var(--text-color-lp);
11
+ transition: background-color 0.3s;
12
+ border-color: var(--border-card);
13
+ overflow: hidden;
14
+ }
15
+
16
+ .sv-card--flexcol {
17
+ display: flex;
18
+ justify-content: center;
19
+ align-items: center;
20
+ flex-direction: column;
21
+ gap: 2rem;
22
+ }
23
+
24
+ .sv-card--flexrow {
25
+ display: flex;
26
+ justify-content: center;
27
+ align-items: center;
28
+ flex-direction: row;
29
+ gap: 1.5rem;
30
+ }
31
+
32
+ .sv-card-head {
33
+ position: relative;
34
+ width: 100%;
35
+ }
36
+
37
+ .sv-card-body {
38
+ position: relative;
39
+ width: 100%;
40
+ }
41
+
42
+ .sv-card-footer {
43
+ position: relative;
44
+ width: 100%;
45
+ }
46
+
47
+ .sv-card__interactive-svg {
48
+ position: relative;
49
+ width: 100%;
50
+ height: 600px;
51
+ background-color: currentColor;
52
+ mask-repeat: no-repeat;
53
+ mask-position: center;
54
+ mask-size: contain;
55
+ -webkit-mask-repeat: no-repeat;
56
+ -webkit-mask-position: center;
57
+ -webkit-mask-size: contain;
58
+ align-items: center;
59
+ }
60
+
61
+ .sv-card__interactive-svg--orange {
62
+ background-color: $orange-400;
63
+ }
64
+
65
+ .sv-card__interactive-svg--blue {
66
+ background-color: $blue-gray-700;
67
+ }
68
+
69
+ .sv-card__interactive-lottie {
70
+ width: 300px;
71
+ height: 300px;
72
+ }
73
+
74
+ .sv-card__bg-svg {
75
+ position: relative;
76
+ width: 100%;
77
+ height: 450px;
78
+ background-repeat: no-repeat;
79
+ background-position: center;
80
+ background-size: contain;
81
+ -webkit-background-repeat: no-repeat;
82
+ -webkit-background-position: center;
83
+ -webkit-background-size: contain;
84
+ align-items: center;
85
+ z-index: 1;
86
+ }
87
+
88
+ .sv-card__asset {
89
+ box-shadow: none !important;
90
+ border: none !important;
91
+ }
92
+
93
+ .sv-card__h {
94
+ padding: 1.5rem;
95
+ border: 1px solid var(--border-card-h);
96
+ height: 100%;
97
+ cursor: pointer;
98
+ transition: all 0.3s ease;
99
+ box-shadow: none !important;
100
+ }
101
+
102
+ .sv-card__h-image {
103
+ width: 200px;
104
+ height: 228px;
105
+ vertical-align: bottom;
106
+ }
107
+
108
+ .sv-card__h-title {
109
+ display: flex;
110
+ justify-content: start;
111
+ align-items: center;
112
+ gap: .5rem;
113
+ }
114
+
115
+ .sv-card__h-title--icon {
116
+ width: 24px;
117
+ height: 24px;
118
+ vertical-align: bottom;
119
+ }
120
+
121
+ .sv-card__h-title--text {
122
+ color: var(--text-color-title);
123
+ font-size: 30px;
124
+ line-height: 38px;
125
+ font-weight: 600;
126
+ margin-bottom: 0;
127
+ }
128
+
129
+ .radius-xs { border-radius: 0.25rem !important; } /* 4px */
130
+ .radius-sm { border-radius: 0.5rem !important; } /* 8px */
131
+ .radius-base { border-radius: 1rem !important; } /* 16px */
132
+ .radius-lg { border-radius: 1.25rem !important; } /* 20px */
133
+ .radius-xl { border-radius: 1.5rem !important; } /* 24px */
134
+
135
+ .boxshadow-side {
136
+ box-shadow: var(--boxshadow-side);
137
+ }
138
+
139
+
140
+ @media screen and (max-width: 992px) {
141
+ .sv-card--flexrow {
142
+ flex-direction: column !important;
143
+ }
144
+
145
+ .sv-card__h-title {
146
+ flex-direction: column !important;
147
+ }
148
+ }
@@ -0,0 +1,118 @@
1
+ .checkbox-wrapper {
2
+ width: 100%;
3
+ padding: 0 4px;
4
+
5
+ &.disabled {
6
+ opacity: 0.6;
7
+ cursor: not-allowed;
8
+ }
9
+ }
10
+
11
+ .checkbox-label {
12
+ display: flex;
13
+ align-items: flex-start;
14
+ gap: 0.75rem;
15
+ cursor: pointer;
16
+ position: relative;
17
+
18
+ input[type="checkbox"] {
19
+ position: absolute;
20
+ opacity: 0;
21
+ cursor: pointer;
22
+ width: 20px;
23
+ height: 20px;
24
+ margin: 0;
25
+ }
26
+
27
+ .checkbox-custom {
28
+ width: 22px;
29
+ height: 22px;
30
+ min-width: 22px;
31
+ border: 2.5px solid #D5D7D8;
32
+ border-radius: 6px;
33
+ display: flex;
34
+ align-items: center;
35
+ justify-content: center;
36
+ transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
37
+ background: white;
38
+ margin-top: 2px;
39
+ position: relative;
40
+
41
+ &::after {
42
+ content: '';
43
+ position: absolute;
44
+ width: 100%;
45
+ height: 100%;
46
+ border-radius: 4px;
47
+ background: #F59100;
48
+ opacity: 0;
49
+ transform: scale(0.5);
50
+ transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
51
+ }
52
+
53
+ &.checked {
54
+ background: white;
55
+ border-color: #F59100;
56
+ border-width: 2.5px;
57
+ box-shadow: 0 3px 8px rgba(242, 109, 0, 0.25), 0 1px 3px rgba(242, 109, 0, 0.15);
58
+ transform: scale(1.05);
59
+
60
+ &::after {
61
+ opacity: 0;
62
+ }
63
+ }
64
+
65
+ .check-icon {
66
+ position: relative;
67
+ z-index: 1;
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ animation: checkPop 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
72
+ }
73
+
74
+ }
75
+
76
+ .checkbox-text {
77
+ flex: 1;
78
+ font-family: 'Quicksand', sans-serif;
79
+ font-size: 14px;
80
+ font-weight: 500;
81
+ line-height: 1.7;
82
+
83
+ ::ng-deep a {
84
+ color: #364B9F;
85
+ font-family: 'Quicksand', sans-serif;
86
+ font-size: 14px;
87
+ font-weight: 500;
88
+ line-height: 1.7;
89
+ }
90
+ }
91
+
92
+ &:hover .checkbox-custom:not(.checked) {
93
+ border-color: #F26D00;
94
+ transform: scale(1.05);
95
+ }
96
+ }
97
+
98
+ @keyframes checkPop {
99
+ 0% {
100
+ transform: scale(0);
101
+ opacity: 0;
102
+ }
103
+ 50% {
104
+ transform: scale(1.2);
105
+ }
106
+ 100% {
107
+ transform: scale(1);
108
+ opacity: 1;
109
+ }
110
+ }
111
+
112
+ .field-error {
113
+ color: #F04438;
114
+ font-size: 0.875rem;
115
+ margin-top: 0.25rem;
116
+ margin-left: 28px;
117
+ font-family: 'Quicksand', sans-serif;
118
+ }
@@ -0,0 +1,44 @@
1
+ .sv-collage {
2
+ width: 100%;
3
+ display: grid;
4
+ gap: 0.5rem;
5
+ /* overflow: hidden; */
6
+ }
7
+
8
+ /* Para 3 columnas */
9
+ .sv-collage--cols-3 { grid-template-columns: 40% 30% 30%; }
10
+ /* Para 4 columnas */
11
+ .sv-collage--cols-4 { grid-template-columns: repeat(4, 1fr); }
12
+ .sv-collage--cols-4 { grid-template-columns: 30% 20% 30% 20%; }
13
+
14
+ .sv-collage__grid { display: grid; gap: 0.5rem; }
15
+
16
+ /* Variantes de grid-template-rows para collage 1 */
17
+ .sv-collage__grid--type-1-col-1 { grid-template-rows: 60% 40%; }
18
+ .sv-collage__grid--type-1-col-2 { grid-template-rows: 40% 60%; }
19
+ .sv-collage__grid--type-1-col-3 { grid-template-rows: 50% 50%; }
20
+
21
+ /* Variantes para collage 2 */
22
+ .sv-collage__grid--type-2-col-1 { grid-template-rows: 40% 60%; }
23
+ .sv-collage__grid--type-2-col-2 { grid-template-rows: 40% 60%; }
24
+ .sv-collage__grid--type-2-col-3 { grid-template-rows: 50% 50%; }
25
+
26
+ /* Variantes para collage 3 */
27
+ .sv-collage__grid--type-3-col-1 { grid-template-rows: 60% 40%; }
28
+ .sv-collage__grid--type-3-col-2 { grid-template-rows: 40% 60%; }
29
+ .sv-collage__grid--type-3-col-3 { grid-template-rows: 60% 40%; }
30
+ .sv-collage__grid--type-3-col-4 { grid-template-rows: 50% 50%; }
31
+
32
+ .sv-collage__img {
33
+ width: 100%;
34
+ height: 100%;
35
+ object-fit: cover;
36
+ border-radius: 0.5rem;
37
+ vertical-align: bottom;
38
+ opacity: 0;
39
+ transition: opacity 0.4s ease;
40
+ }
41
+
42
+ .sv-collage__img.sv-loaded {
43
+ opacity: 1;
44
+ }
@@ -0,0 +1,46 @@
1
+ .sv-faq {
2
+ position: relative;
3
+ display: grid;
4
+ gap: 1rem;
5
+ }
6
+
7
+ .sv-faq__item {
8
+ cursor: pointer;
9
+ transition: 0.3s;
10
+ background-color: var(--bg-card);
11
+ border: 1px solid var(-border-card);
12
+ display: flex;
13
+ justify-content: space-between;
14
+ flex-direction: column;
15
+ padding: 1rem;
16
+ border-radius: 1rem;
17
+ }
18
+
19
+ .sv-faq__head {
20
+ display: flex;
21
+ justify-content: space-between;
22
+ align-items: center;
23
+ }
24
+
25
+ .sv-faq__title {
26
+ font-size: 1rem;
27
+ font-weight: 700;
28
+ color: var(--text-color-lp);
29
+ margin-bottom: 0;
30
+ }
31
+
32
+ .sv-faq__icon {
33
+ object-fit: cover;
34
+ }
35
+
36
+ .sv-faq__body {
37
+ max-height: 0;
38
+ overflow: hidden;
39
+ transition: max-height 0.3s ease, opacity 0.3s ease;
40
+ opacity: 0;
41
+ }
42
+
43
+ .sv-faq__body--active {
44
+ max-height: 700px;
45
+ opacity: 1;
46
+ }
@@ -0,0 +1,60 @@
1
+ // ============================================================================
2
+ // FORM COMMON STYLES - Shared styles for form components
3
+ // ============================================================================
4
+
5
+ // ============================================================================
6
+ // FORM GROUP & FORM ROW
7
+ // ============================================================================
8
+
9
+ .form-group {
10
+ display: flex;
11
+ flex-direction: column;
12
+
13
+ label {
14
+ font-family: 'Quicksand', sans-serif;
15
+ font-weight: 500;
16
+ font-size: 14px;
17
+ color: #585D61;
18
+ margin-bottom: 0.5rem;
19
+ }
20
+ }
21
+
22
+ .form-row {
23
+ display: grid;
24
+ grid-template-columns: 1fr 1fr;
25
+ gap: 1rem;
26
+ margin-bottom: 1rem;
27
+
28
+ @media (max-width: 768px) {
29
+ grid-template-columns: 1fr;
30
+ }
31
+ }
32
+
33
+ // ============================================================================
34
+ // FIELD VALIDATION & ERROR MESSAGES
35
+ // ============================================================================
36
+
37
+ .field-error {
38
+ display: block;
39
+ margin-top: 0.25rem;
40
+ margin-bottom: 0.5rem;
41
+ font-size: 0.875rem;
42
+ font-family: 'Quicksand', sans-serif;
43
+ font-weight: 400;
44
+ color: #DC3545;
45
+ line-height: 1.4;
46
+
47
+ // Animation for error appearance
48
+ animation: fadeIn 0.2s ease-in;
49
+ }
50
+
51
+ @keyframes fadeIn {
52
+ from {
53
+ opacity: 0;
54
+ transform: translateY(-4px);
55
+ }
56
+ to {
57
+ opacity: 1;
58
+ transform: translateY(0);
59
+ }
60
+ }