@sc-360-v2/storefront-cms-library 0.4.59 → 0.4.61

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/dist/filters.scss CHANGED
@@ -898,6 +898,17 @@ $resizeActive: '[data-cms-element-resizer="true"]';
898
898
  }
899
899
  }
900
900
  }
901
+ .no__results__found {
902
+ padding: 12px;
903
+ color: var(--_gray-600);
904
+ display: flex;
905
+ justify-content: center;
906
+ background: var(--_gray-100);
907
+ padding: 12px;
908
+ border-radius: 4px;
909
+ font-weight: 600;
910
+ color: var(--_gray-600);
911
+ }
901
912
  }
902
913
  }
903
914
 
@@ -2114,7 +2125,7 @@ $resizeActive: '[data-cms-element-resizer="true"]';
2114
2125
  // padding: 20px;
2115
2126
  width: 100%;
2116
2127
  max-width: 300px;
2117
- padding-inline: 4px;
2128
+ padding-inline: 8px;
2118
2129
  // margin: auto;
2119
2130
  }
2120
2131
 
@@ -2314,6 +2325,10 @@ $resizeActive: '[data-cms-element-resizer="true"]';
2314
2325
  }
2315
2326
  }
2316
2327
  }
2328
+ &:focus-within {
2329
+ outline: 2px solid var(--_gray-200);
2330
+ border: 1px solid var(--_gray-300);
2331
+ }
2317
2332
  }
2318
2333
 
2319
2334
  .min-tooltip {
@@ -1,168 +1,172 @@
1
- @use "sass:map";
2
- @use "sass:list";
3
-
4
- @use "./functions.scss" as *;
5
- $resizerOn: "[data-cms-element-resizer='true']";
6
- $dndOn: "[data-cms-new-element-dragging-v2='true']";
7
- $fullViewOn: '[data-view-state="full"]';
8
- $isFlexboxElementChild: ".flx > .wrapper > *";
9
-
10
- [data-div-type="element"] {
11
- &[data-element-type="image"],
12
- &[data-element-type="brandImage"],
13
- &[data-element-type="categoryImage"],
14
- &[data-element-type="productBrandImage"] {
15
- cursor: pointer;
16
- // width: var(--_lt-wh);
17
- // height: var(--_lt-ht);
18
- // margin: var(--_lt-mn);
19
- // padding: var(--_lt-pg);
20
- // width: var(--_ctm-lt-wh, var(--_tst-lt-wh));s
21
- // width: var(--_sf-nw-wh, var(--_tst-lt-wh));
22
- // width: var(--_sf-el-wh-st-mx, calc(1% * var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh))));
23
- // margin: var(--_ctm-lt-mn, --_tst-lt-mn);
24
- // height: var(--_ctm-lt-ht, var(--_tst-lt-ht));
25
- // height: ;
26
- // aspect-ratio: 1 / var(--_sf-aspect-ratio);
27
-
28
- &:has([class*="crop__main"]) {
29
- // overflow: clip;
30
- overflow: visible;
31
-
32
- & > .wrapper {
33
- visibility: hidden;
34
- opacity: 0;
35
- }
36
- }
37
- // width: prepareMediaVariable(--_ctm-lt-wh);
38
- &:not(#{$resizerOn}, #{$dndOn}, #{$fullViewOn}) {
39
- height: prepareMediaVariable(--_ctm-lt-ht) !important;
40
- }
41
- // &:not([data-element-type="image"]) {
42
- // }
43
-
44
- --_aspect-ratio: calc(
45
- 1 *
46
- (
47
- var(--_ctm-mob-lt-ht, var(--_ctm-tab-lt-ht, var(--_ctm-lt-ht))) /
48
- var(--_ctm-mob-lt-wh, var(--_ctm-tab-lt-wh, var(--_ctm-lt-wh)))
49
- )
50
- );
51
-
52
- &#{$fullViewOn} {
53
- &:not(#{$isFlexboxElementChild}) {
54
- aspect-ratio: 1/0.01;
55
- }
56
- & > .wrapper {
57
- & > div {
58
- height: 100%;
59
- }
60
- }
61
- img {
62
- height: 100%;
63
- object-fit: cover;
64
- }
65
- }
66
-
67
- &[data-cms-element-resizer="true"] {
68
- // height: var(--_ctm-lt-ht);
69
- width: auto;
70
- img {
71
- // width: 100%;
72
- height: 100%;
73
- }
74
- }
75
-
76
- :is(:not([data-iframe-body="true"] *)) {
77
- & > .wrapper {
78
- overflow: clip;
79
- }
80
- }
81
-
82
- & > .wrapper {
83
- width: 100%;
84
- // overflow: clip;
85
- rotate: calc(var(--_ctm-dn-re) * 1deg);
86
-
87
- // height: 100%;
88
- &:is(:not(:has([class*="crop__main"]) *)) {
89
- padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
90
- background-color: var(--_ctm-mob-dn-bd-cr, var(--_ctm-tab-dn-bd-cr, var(--_ctm-dn-bd-cr)));
91
- border-color: var(--_ctm-mob-dn-br-cr, var(--_ctm-tab-dn-br-cr, var(--_ctm-dn-br-cr)));
92
- border-style: var(--_ctm-mob-dn-br-se, var(--_ctm-tab-dn-br-se, var(--_ctm-dn-br-se)));
93
- border-width: var(--_ctm-mob-dn-br-wh, var(--_ctm-tab-dn-br-wh, var(--_ctm-dn-br-wh)));
94
- border-radius: var(--_ctm-mob-dn-br-rs, var(--_ctm-tab-dn-br-rs, var(--_ctm-dn-br-rs)));
95
- &[data-show-shadow] {
96
- box-shadow: var(
97
- --_show-shadow,
98
- var(--_ctm-mob-dn-sw-ae, var(--_ctm-tab-dn-sw-ae, var(--_ctm-dn-sw-ae)))
99
- var(--_ctm-mob-dn-sw-br, var(--_ctm-tab-dn-sw-br, var(--_ctm-dn-sw-br)))
100
- var(--_ctm-mob-dn-sw-sd, var(--_ctm-tab-dn-sw-sd, var(--_ctm-dn-sw-sd)))
101
- var(--_ctm-mob-dn-sw-cr, var(--_ctm-tab-dn-sw-cr, var(--_ctm-dn-sw-cr)))
102
- );
103
- }
104
-
105
- // transform: scale(var(--_ctm-dn-zm-ie));
106
- scale: var(--_ctm-mob-dn-zm-ie, var(--_ctm-tab-dn-zm-ie, var(--_ctm-dn-zm-ie)));
107
- rotate: calc(var(--_ctm-dn-re) * 1deg);
108
- }
109
- }
110
- &[data-show-shadow="false"] {
111
- --_show-shadow: none;
112
- }
113
- // .text-element {
114
- // // background: #6d96e4;
115
- // // padding: 10px;
116
- // // font-weight: 600;
117
- // // color: rgba(75, 69, 70, 1);
118
- // width: 100%;
119
- // height: 100%;
120
- // }
121
- .image-element,
122
- .text-element {
123
- display: flex;
124
- flex-direction: column;
125
- --_sf-gp: 16px;
126
- --_sf-cd-gp: calc(var(--_sf-gp) * 0.5);
127
- row-gap: var(--_sf-gp);
128
- width: 100%;
129
- height: prepareMediaVariable(--_ctm-lt-ht);
130
- border-radius: var(--_ctm-mob-dn-br-rs, var(--_ctm-tab-dn-br-rs, var(--_ctm-dn-br-rs)));
131
- // height: 100%;
132
- // &:is(:not(:has([class*="crop__main"]) *)) {
133
- // padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
134
- // background-color: var(--_ctm-mob-dn-bd-cr, var(--_ctm-tab-dn-bd-cr, var(--_ctm-dn-bd-cr)));
135
- // border-color: var(--_ctm-mob-dn-br-cr, var(--_ctm-tab-dn-br-cr, var(--_ctm-dn-br-cr)));
136
- // border-style: var(--_ctm-mob-dn-br-se, var(--_ctm-tab-dn-br-se, var(--_ctm-dn-br-se)));
137
- // border-width: var(--_ctm-mob-dn-br-wh, var(--_ctm-tab-dn-br-wh, var(--_ctm-dn-br-wh)));
138
- // border-radius: var(--_ctm-mob-dn-br-rs, var(--_ctm-tab-dn-br-rs, var(--_ctm-dn-br-rs)));
139
- // &[data-show-shadow] {
140
- // box-shadow: var(
141
- // --_show-shadow,
142
- // var(--_ctm-mob-dn-sw-ae, var(--_ctm-tab-dn-sw-ae, var(--_ctm-dn-sw-ae)))
143
- // var(--_ctm-mob-dn-sw-br, var(--_ctm-tab-dn-sw-br, var(--_ctm-dn-sw-br)))
144
- // var(--_ctm-mob-dn-sw-sd, var(--_ctm-tab-dn-sw-sd, var(--_ctm-dn-sw-sd)))
145
- // var(--_ctm-mob-dn-sw-cr, var(--_ctm-tab-dn-sw-cr, var(--_ctm-dn-sw-cr)))
146
- // );
147
- // }
148
-
149
- // // transform: scale(var(--_ctm-dn-zm-ie));
150
- // scale: var(--_ctm-mob-dn-zm-ie, var(--_ctm-tab-dn-zm-ie, var(--_ctm-dn-zm-ie)));
151
- // rotate: calc(var(--_ctm-dn-re) * 1deg);
152
- // }
153
- transition: transform 0.3s ease-in-out;
154
-
155
- &:hover {
156
- &[data-on-hover="Zoom Out"] {
157
- transform: scale(0.9998);
158
- }
159
- &[data-on-hover="Zoom In"] {
160
- transform: scale(1.08);
161
- }
162
- }
163
- }
164
- // .image-element:hover {
165
- // padding: 30px;
166
- // }
167
- }
168
- }
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+
4
+ @use "./functions.scss" as *;
5
+ $resizerOn: "[data-cms-element-resizer='true']";
6
+ $dndOn: "[data-cms-new-element-dragging-v2='true']";
7
+ $fullViewOn: '[data-view-state="full"]';
8
+ $isFlexboxElementChild: ".flx > .wrapper > *";
9
+
10
+ [data-div-type="element"] {
11
+ &[data-element-type="image"],
12
+ &[data-element-type="brandImage"],
13
+ &[data-element-type="categoryImage"],
14
+ &[data-element-type="productBrandImage"] {
15
+ cursor: pointer;
16
+ // width: var(--_lt-wh);
17
+ // height: var(--_lt-ht);
18
+ // margin: var(--_lt-mn);
19
+ // padding: var(--_lt-pg);
20
+ // width: var(--_ctm-lt-wh, var(--_tst-lt-wh));s
21
+ // width: var(--_sf-nw-wh, var(--_tst-lt-wh));
22
+ // width: var(--_sf-el-wh-st-mx, calc(1% * var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh))));
23
+ // margin: var(--_ctm-lt-mn, --_tst-lt-mn);
24
+ // height: var(--_ctm-lt-ht, var(--_tst-lt-ht));
25
+ // height: ;
26
+ // aspect-ratio: 1 / var(--_sf-aspect-ratio);
27
+
28
+ &:has([class*="crop__main"]) {
29
+ // overflow: clip;
30
+ overflow: visible;
31
+
32
+ & > .wrapper {
33
+ visibility: hidden;
34
+ opacity: 0;
35
+ }
36
+ }
37
+ // width: prepareMediaVariable(--_ctm-lt-wh);
38
+ &:not(#{$resizerOn}, #{$dndOn}, #{$fullViewOn}) {
39
+ height: prepareMediaVariable(--_ctm-lt-ht) !important;
40
+ }
41
+ // &:not([data-element-type="image"]) {
42
+ // }
43
+
44
+ --_aspect-ratio: calc(
45
+ 1 *
46
+ (
47
+ var(--_ctm-mob-lt-ht, var(--_ctm-tab-lt-ht, var(--_ctm-lt-ht))) /
48
+ var(--_ctm-mob-lt-wh, var(--_ctm-tab-lt-wh, var(--_ctm-lt-wh)))
49
+ )
50
+ );
51
+
52
+ &#{$fullViewOn} {
53
+ &:not(#{$isFlexboxElementChild}) {
54
+ aspect-ratio: 1/0.01;
55
+ }
56
+ & > .wrapper {
57
+ & > div {
58
+ height: 100%;
59
+ }
60
+ }
61
+ img {
62
+ height: 100%;
63
+ object-fit: cover;
64
+ }
65
+ }
66
+
67
+ &[data-cms-element-resizer="true"] {
68
+ // height: var(--_ctm-lt-ht);
69
+ width: auto;
70
+ img {
71
+ // width: 100%;
72
+ height: 100%;
73
+ }
74
+ }
75
+
76
+ :is(:not([data-iframe-body="true"] *)) {
77
+ & > .wrapper {
78
+ overflow: clip;
79
+ }
80
+ }
81
+
82
+ & > .wrapper {
83
+ width: 100%;
84
+ // overflow: clip;
85
+ rotate: calc(var(--_ctm-dn-re) * 1deg);
86
+
87
+ // height: 100%;
88
+ &:is(:not(:has([class*="crop__main"]) *)) {
89
+ padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
90
+ background-color: var(--_ctm-mob-dn-bd-cr, var(--_ctm-tab-dn-bd-cr, var(--_ctm-dn-bd-cr)));
91
+ border-color: var(--_ctm-mob-dn-br-cr, var(--_ctm-tab-dn-br-cr, var(--_ctm-dn-br-cr)));
92
+ border-style: var(--_ctm-mob-dn-br-se, var(--_ctm-tab-dn-br-se, var(--_ctm-dn-br-se)));
93
+ border-width: var(--_ctm-mob-dn-br-wh, var(--_ctm-tab-dn-br-wh, var(--_ctm-dn-br-wh)));
94
+ border-radius: var(--_ctm-mob-dn-br-rs, var(--_ctm-tab-dn-br-rs, var(--_ctm-dn-br-rs)));
95
+ &[data-show-shadow] {
96
+ box-shadow: var(
97
+ --_show-shadow,
98
+ var(--_ctm-mob-dn-sw-ae, var(--_ctm-tab-dn-sw-ae, var(--_ctm-dn-sw-ae)))
99
+ var(--_ctm-mob-dn-sw-br, var(--_ctm-tab-dn-sw-br, var(--_ctm-dn-sw-br)))
100
+ var(--_ctm-mob-dn-sw-sd, var(--_ctm-tab-dn-sw-sd, var(--_ctm-dn-sw-sd)))
101
+ var(--_ctm-mob-dn-sw-cr, var(--_ctm-tab-dn-sw-cr, var(--_ctm-dn-sw-cr)))
102
+ );
103
+ }
104
+
105
+ // transform: scale(var(--_ctm-dn-zm-ie));
106
+ scale: var(--_ctm-mob-dn-zm-ie, var(--_ctm-tab-dn-zm-ie, var(--_ctm-dn-zm-ie)));
107
+ rotate: calc(var(--_ctm-dn-re) * 1deg);
108
+ }
109
+ }
110
+ &[data-show-shadow="false"] {
111
+ --_show-shadow: none;
112
+ }
113
+ // .text-element {
114
+ // // background: #6d96e4;
115
+ // // padding: 10px;
116
+ // // font-weight: 600;
117
+ // // color: rgba(75, 69, 70, 1);
118
+ // width: 100%;
119
+ // height: 100%;
120
+ // }
121
+ .image-element,
122
+ .text-element {
123
+ display: flex;
124
+ flex-direction: column;
125
+ --_sf-gp: 16px;
126
+ --_sf-cd-gp: calc(var(--_sf-gp) * 0.5);
127
+ row-gap: var(--_sf-gp);
128
+ width: 100%;
129
+ height: prepareMediaVariable(--_ctm-lt-ht);
130
+ border-radius: var(--_ctm-mob-dn-br-rs, var(--_ctm-tab-dn-br-rs, var(--_ctm-dn-br-rs)));
131
+ // height: 100%;
132
+ // &:is(:not(:has([class*="crop__main"]) *)) {
133
+ // padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
134
+ // background-color: var(--_ctm-mob-dn-bd-cr, var(--_ctm-tab-dn-bd-cr, var(--_ctm-dn-bd-cr)));
135
+ // border-color: var(--_ctm-mob-dn-br-cr, var(--_ctm-tab-dn-br-cr, var(--_ctm-dn-br-cr)));
136
+ // border-style: var(--_ctm-mob-dn-br-se, var(--_ctm-tab-dn-br-se, var(--_ctm-dn-br-se)));
137
+ // border-width: var(--_ctm-mob-dn-br-wh, var(--_ctm-tab-dn-br-wh, var(--_ctm-dn-br-wh)));
138
+ // border-radius: var(--_ctm-mob-dn-br-rs, var(--_ctm-tab-dn-br-rs, var(--_ctm-dn-br-rs)));
139
+ // &[data-show-shadow] {
140
+ // box-shadow: var(
141
+ // --_show-shadow,
142
+ // var(--_ctm-mob-dn-sw-ae, var(--_ctm-tab-dn-sw-ae, var(--_ctm-dn-sw-ae)))
143
+ // var(--_ctm-mob-dn-sw-br, var(--_ctm-tab-dn-sw-br, var(--_ctm-dn-sw-br)))
144
+ // var(--_ctm-mob-dn-sw-sd, var(--_ctm-tab-dn-sw-sd, var(--_ctm-dn-sw-sd)))
145
+ // var(--_ctm-mob-dn-sw-cr, var(--_ctm-tab-dn-sw-cr, var(--_ctm-dn-sw-cr)))
146
+ // );
147
+ // }
148
+
149
+ // // transform: scale(var(--_ctm-dn-zm-ie));
150
+ // scale: var(--_ctm-mob-dn-zm-ie, var(--_ctm-tab-dn-zm-ie, var(--_ctm-dn-zm-ie)));
151
+ // rotate: calc(var(--_ctm-dn-re) * 1deg);
152
+ // }
153
+ transition: transform 0.3s ease-in-out;
154
+
155
+ &:hover {
156
+ &[data-on-hover="Zoom Out"] {
157
+ transform: scale(0.9998);
158
+ }
159
+ &[data-on-hover="Zoom In"] {
160
+ transform: scale(1.08);
161
+ }
162
+ }
163
+ }
164
+
165
+ .image__fallback__contain {
166
+ object-fit: contain !important;
167
+ }
168
+ // .image-element:hover {
169
+ // padding: 30px;
170
+ // }
171
+ }
172
+ }
@@ -0,0 +1,619 @@
1
+ // ============================================
2
+ // MFA Component Styles
3
+ // ============================================
4
+ @use "./functions.scss" as *;
5
+
6
+ // Common flex center helper
7
+ .mfa-flex-center {
8
+ display: flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+ }
12
+
13
+ // Container styles
14
+ .mfa-container,
15
+ .backup-codes-container,
16
+ .account-locked-container {
17
+ display: flex;
18
+ flex-direction: column;
19
+ align-items: center;
20
+ width: 100%;
21
+ max-width: 400px;
22
+ margin: 16px auto;
23
+ }
24
+
25
+ // Header section
26
+ .mfa-header {
27
+ text-align: center;
28
+ margin-bottom: 12px;
29
+ width: 100%;
30
+
31
+ h2 {
32
+ font-size: 24px;
33
+ font-weight: 600;
34
+ color: var(--_gray-900);
35
+ margin-bottom: 8px;
36
+ }
37
+
38
+ p {
39
+ font-size: 14px;
40
+ color: var(--_gray-500);
41
+ margin: 0;
42
+ line-height: 1.4;
43
+ }
44
+ }
45
+
46
+ // Icon styles - matches login page rounded icon style
47
+ .mfa-icon {
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ width: 60px;
52
+ height: 60px;
53
+ background-color: var(--_gray-100);
54
+ border-radius: 50%;
55
+ margin: 0 auto 24px;
56
+
57
+ span {
58
+ display: flex;
59
+ align-items: center;
60
+ justify-content: center;
61
+ }
62
+
63
+ svg {
64
+ width: 26px;
65
+ height: 26px;
66
+
67
+ path {
68
+ stroke: var(--_gray-600);
69
+ }
70
+ }
71
+
72
+ &.mfa-icon-success {
73
+ background-color: var(--_success-50);
74
+
75
+ svg path {
76
+ stroke: var(--_success-600);
77
+ }
78
+ }
79
+
80
+ &.mfa-icon-error,
81
+ &.mfa-icon-warning {
82
+ background-color: var(--_error-50);
83
+
84
+ svg path {
85
+ stroke: var(--_error-600);
86
+ }
87
+ }
88
+ }
89
+
90
+ // Email display
91
+ .mfa-email-display {
92
+ font-size: 14px;
93
+ color: var(--_gray-900);
94
+ margin-top: 4px !important;
95
+
96
+ strong {
97
+ font-weight: 600;
98
+ }
99
+ }
100
+
101
+ // Success banner for OTP sent
102
+ .mfa-success-banner {
103
+ display: flex;
104
+ align-items: center;
105
+ justify-content: center;
106
+ gap: 8px;
107
+ width: 100%;
108
+ padding: 10px 16px;
109
+ background-color: var(--_success-50);
110
+ border: 1px solid var(--_success-200);
111
+ border-radius: 8px;
112
+ margin-bottom: 16px;
113
+ color: var(--_success-700);
114
+ font-size: 14px;
115
+ font-weight: 500;
116
+
117
+ span {
118
+ display: flex;
119
+ align-items: center;
120
+ }
121
+
122
+ svg {
123
+ width: 16px;
124
+ height: 16px;
125
+
126
+ path {
127
+ stroke: var(--_success-600);
128
+ }
129
+ }
130
+ }
131
+
132
+ // Inline loading state for Setting up MFA
133
+ .mfa-inline-loading {
134
+ display: flex;
135
+ align-items: center;
136
+ justify-content: center;
137
+ gap: 8px;
138
+ width: 100%;
139
+ padding: 10px 16px;
140
+ background-color: var(--_gray-50);
141
+ border: 1px solid var(--_gray-200);
142
+ border-radius: 8px;
143
+ margin-bottom: 16px;
144
+ color: var(--_gray-600);
145
+ font-size: 14px;
146
+ font-weight: 500;
147
+
148
+ span {
149
+ display: flex;
150
+ align-items: center;
151
+ }
152
+
153
+ svg {
154
+ width: 16px;
155
+ height: 16px;
156
+ animation: spin 1s linear infinite;
157
+
158
+ path {
159
+ stroke: var(--_gray-500);
160
+ }
161
+ }
162
+ }
163
+
164
+ @keyframes spin {
165
+ from {
166
+ transform: rotate(0deg);
167
+ }
168
+ to {
169
+ transform: rotate(360deg);
170
+ }
171
+ }
172
+
173
+ // OTP container
174
+ .mfa-otp-container {
175
+ width: 100%;
176
+ margin-bottom: 12px;
177
+ }
178
+
179
+ // OTP Input Styles
180
+ .otp-input-container {
181
+ display: flex;
182
+ justify-content: center;
183
+ gap: 8px;
184
+ margin-bottom: 8px;
185
+ }
186
+
187
+ .otp-input-field {
188
+ width: 48px;
189
+ height: 56px;
190
+ text-align: center;
191
+ font-size: 24px;
192
+ font-weight: 600;
193
+ border: 1px solid var(--_gray-300);
194
+ border-radius: 6px;
195
+ background-color: var(--_base-white);
196
+ transition:
197
+ background-color 0.2s,
198
+ color 0.2s,
199
+ border-color 0.2s,
200
+ box-shadow 0.2s;
201
+
202
+ &:focus {
203
+ outline: none;
204
+ border-color: var(--_primary-300);
205
+ box-shadow:
206
+ 0px 1px 2px rgba(16, 24, 40, 0.02),
207
+ 0px 0px 0px 2px var(--_primary-100);
208
+ }
209
+
210
+ &.otp-field-error {
211
+ border-color: var(--_error-300);
212
+ outline: 2px solid var(--_error-100);
213
+
214
+ &:focus {
215
+ box-shadow: none;
216
+ }
217
+ }
218
+
219
+ &.otp-field-disabled {
220
+ background-color: var(--_gray-50);
221
+ cursor: not-allowed;
222
+ }
223
+ }
224
+
225
+ // Error display
226
+ .mfa-error {
227
+ display: flex;
228
+ align-items: center;
229
+ justify-content: center;
230
+ gap: 6px;
231
+ color: var(--_error-600);
232
+ font-size: 14px;
233
+ margin-top: 12px;
234
+
235
+ span {
236
+ display: flex;
237
+ align-items: center;
238
+ }
239
+
240
+ svg {
241
+ width: 16px;
242
+ height: 16px;
243
+
244
+ path {
245
+ stroke: var(--_error-600);
246
+ }
247
+ }
248
+ }
249
+
250
+ // Attempts warning
251
+ .mfa-attempts-warning {
252
+ color: var(--_warning-600);
253
+ font-size: 13px;
254
+ text-align: center;
255
+ margin-top: 8px;
256
+ }
257
+
258
+ // Resend section
259
+ .mfa-resend {
260
+ text-align: center;
261
+ margin-top: 12px;
262
+
263
+ p {
264
+ font-size: 14px;
265
+ color: var(--_gray-500);
266
+ }
267
+
268
+ button {
269
+ padding: 4px 8px;
270
+ }
271
+ }
272
+
273
+ // Actions container
274
+ .mfa-actions {
275
+ display: flex;
276
+ flex-direction: column;
277
+ gap: 12px;
278
+ width: 100%;
279
+ }
280
+
281
+ // Primary button - uses CMS theme variables from login button
282
+ .mfa-btn-primary {
283
+ width: 100%;
284
+ padding: 12px 16px;
285
+ height: 48px;
286
+ font-size: 16px;
287
+ font-weight: 600;
288
+ color: prepareMediaVariable(--_ctm-dn-fm-bn-dt-se-cr, var(--_base-white)) !important;
289
+ background-color: prepareMediaVariable(
290
+ --_ctm-dn-fm-bn-dt-se-bd-cr,
291
+ var(--_primary-500)
292
+ ) !important;
293
+ border: none !important;
294
+ border-radius: prepareMediaVariable(--_ctm-dn-fm-bn-dt-se-br-rs, 6px);
295
+ cursor: pointer;
296
+ display: flex;
297
+ align-items: center;
298
+ justify-content: center;
299
+ gap: 8px;
300
+ transition: background-color 0.2s ease;
301
+
302
+ &:hover:not(:disabled) {
303
+ background-color: prepareMediaVariable(
304
+ --_ctm-dn-fm-bn-hr-se-bd-cr,
305
+ var(--_primary-600)
306
+ ) !important;
307
+ }
308
+
309
+ &:disabled {
310
+ background-color: var(--_primary-100) !important;
311
+ cursor: not-allowed;
312
+ }
313
+
314
+ span {
315
+ display: flex;
316
+ }
317
+
318
+ svg path {
319
+ stroke: prepareMediaVariable(--_ctm-dn-fm-bn-dt-se-cr, var(--_base-white));
320
+ }
321
+ }
322
+
323
+ // Secondary button
324
+ .mfa-btn-secondary {
325
+ width: 100%;
326
+ padding: 12px 16px;
327
+ font-size: 16px;
328
+ font-weight: 600;
329
+ color: #344054 !important;
330
+ background-color: #ffffff !important;
331
+ border: 1px solid #d0d5dd !important;
332
+ border-radius: 6px;
333
+ cursor: pointer;
334
+ display: flex;
335
+ align-items: center;
336
+ justify-content: center;
337
+ gap: 8px;
338
+ transition: all 0.2s ease;
339
+
340
+ &:hover:not(:disabled) {
341
+ background-color: #f9fafb !important;
342
+ }
343
+
344
+ &:disabled {
345
+ color: #98a2b3;
346
+ cursor: not-allowed;
347
+ }
348
+ }
349
+
350
+ // Link button - uses CMS theme color
351
+ .mfa-btn-link {
352
+ background: none !important;
353
+ border: none !important;
354
+ color: prepareMediaVariable(--_ctm-dn-fm-bn-dt-se-bd-cr, var(--_primary-400)) !important;
355
+ font-size: 14px;
356
+ font-weight: 600;
357
+ cursor: pointer;
358
+ padding: 8px;
359
+
360
+ &:hover:not(:disabled) {
361
+ color: prepareMediaVariable(--_ctm-dn-fm-bn-hr-se-bd-cr, var(--_primary-700)) !important;
362
+ background-color: var(--_primary-25) !important;
363
+ border-radius: 6px;
364
+ }
365
+
366
+ &:disabled {
367
+ color: #98a2b3 !important;
368
+ cursor: not-allowed;
369
+ }
370
+ }
371
+
372
+ // Back to login link - matches login page style
373
+ .mfa-back-link {
374
+ display: flex !important;
375
+ align-items: center;
376
+ justify-content: center;
377
+ gap: 8px;
378
+ // margin-top: 8px;
379
+
380
+ svg {
381
+ width: 16px;
382
+ height: 16px;
383
+
384
+ path {
385
+ stroke: currentColor;
386
+ }
387
+ }
388
+ }
389
+
390
+ // QR Code Styles
391
+ .mfa-qr-container {
392
+ display: flex;
393
+ justify-content: center;
394
+ margin-bottom: 16px;
395
+ }
396
+
397
+ .mfa-qr-image {
398
+ width: 200px;
399
+ height: 200px;
400
+ border: 1px solid var(--_gray-200);
401
+ border-radius: 8px;
402
+ }
403
+
404
+ .mfa-qr-loading {
405
+ display: flex;
406
+ align-items: center;
407
+ justify-content: center;
408
+ width: 200px;
409
+ height: 200px;
410
+ background-color: var(--_gray-50);
411
+ border-radius: 8px;
412
+ }
413
+
414
+ // Manual entry section
415
+ .mfa-manual-entry {
416
+ text-align: center;
417
+ margin-bottom: 16px;
418
+
419
+ p {
420
+ font-size: 14px;
421
+ color: var(--_gray-500);
422
+ margin-bottom: 8px;
423
+ }
424
+ }
425
+
426
+ .mfa-manual-key {
427
+ display: inline-block;
428
+ padding: 8px 16px;
429
+ background-color: var(--_gray-100);
430
+ border-radius: 6px;
431
+ font-family: monospace;
432
+ font-size: 14px;
433
+ font-weight: 600;
434
+ color: var(--_gray-800);
435
+ letter-spacing: 1px;
436
+ }
437
+
438
+ // Backup Codes Styles
439
+ .backup-codes-grid {
440
+ display: grid;
441
+ grid-template-columns: repeat(2, 1fr);
442
+ gap: 8px;
443
+ margin-bottom: 16px;
444
+ width: 100%;
445
+ }
446
+
447
+ .backup-code-item {
448
+ display: flex;
449
+ align-items: center;
450
+ gap: 8px;
451
+ padding: 10px 12px;
452
+ background-color: var(--_gray-50);
453
+ border-radius: 6px;
454
+ }
455
+
456
+ .backup-code-number {
457
+ font-size: 12px;
458
+ color: var(--_gray-500);
459
+ min-width: 20px;
460
+ }
461
+
462
+ .backup-code-value {
463
+ font-family: monospace;
464
+ font-size: 13px;
465
+ font-weight: 500;
466
+ color: var(--_gray-800);
467
+ }
468
+
469
+ .backup-codes-actions-row {
470
+ display: flex;
471
+ justify-content: center;
472
+ gap: 16px;
473
+ margin-bottom: 16px;
474
+ }
475
+
476
+ // Icon button
477
+ .mfa-btn-icon {
478
+ display: flex;
479
+ align-items: center;
480
+ gap: 6px;
481
+ padding: 8px 16px;
482
+ background: none;
483
+ border: 1px solid var(--_gray-300);
484
+ border-radius: 6px;
485
+ color: var(--_gray-700);
486
+ font-size: 14px;
487
+ cursor: pointer;
488
+ transition: all 0.2s ease;
489
+
490
+ &:hover {
491
+ background-color: var(--_gray-50);
492
+ }
493
+
494
+ span {
495
+ display: flex;
496
+ }
497
+
498
+ svg {
499
+ width: 16px;
500
+ height: 16px;
501
+
502
+ path {
503
+ stroke: var(--_gray-600);
504
+ }
505
+ }
506
+ }
507
+
508
+ // Backup codes confirmation
509
+ .backup-codes-confirm {
510
+ margin-bottom: 16px;
511
+ width: 100%;
512
+ }
513
+
514
+ .backup-codes-checkbox {
515
+ display: flex;
516
+ align-items: flex-start;
517
+ gap: 10px;
518
+ cursor: pointer;
519
+
520
+ input[type="checkbox"] {
521
+ width: 18px;
522
+ height: 18px;
523
+ margin-top: 2px;
524
+ cursor: pointer;
525
+ }
526
+
527
+ span {
528
+ font-size: 14px;
529
+ color: var(--_gray-700);
530
+ }
531
+ }
532
+
533
+ // Text input container
534
+ .mfa-input-container {
535
+ width: 100%;
536
+ margin-bottom: 16px;
537
+ }
538
+
539
+ .mfa-text-input {
540
+ width: 100%;
541
+ padding: 12px 16px;
542
+ font-size: 16px;
543
+ font-family: monospace;
544
+ text-align: center;
545
+ letter-spacing: 2px;
546
+ border: 1px solid var(--_gray-300);
547
+ border-radius: 8px;
548
+ transition: all 0.2s ease;
549
+
550
+ &:focus {
551
+ outline: none;
552
+ border-color: var(--_primary-300);
553
+ box-shadow: 0 0 0 3px var(--_primary-100);
554
+ }
555
+
556
+ &.mfa-input-error {
557
+ border-color: var(--_error-300);
558
+
559
+ &:focus {
560
+ box-shadow: 0 0 0 3px var(--_error-100);
561
+ }
562
+ }
563
+
564
+ &::placeholder {
565
+ letter-spacing: normal;
566
+ color: var(--_gray-400);
567
+ }
568
+ }
569
+
570
+ // Account locked info
571
+ .account-locked-info {
572
+ text-align: center;
573
+ margin-bottom: 16px;
574
+
575
+ p {
576
+ font-size: 14px;
577
+ color: var(--_gray-500);
578
+ line-height: 1.6;
579
+ }
580
+ }
581
+
582
+ // Loading state
583
+ .mfa-loading {
584
+ display: flex;
585
+ flex-direction: column;
586
+ align-items: center;
587
+ gap: 16px;
588
+ padding: 48px;
589
+
590
+ span {
591
+ display: flex;
592
+ }
593
+
594
+ p {
595
+ font-size: 14px;
596
+ color: var(--_gray-500);
597
+ }
598
+ }
599
+
600
+ .mfa-spinner {
601
+ display: flex;
602
+ align-items: center;
603
+ justify-content: center;
604
+ }
605
+
606
+ // Sub-screens
607
+ .mfa-enrollment-qr,
608
+ .mfa-otp-input,
609
+ .mfa-email-otp,
610
+ .mfa-success,
611
+ .mfa-error-screen,
612
+ .backup-codes-otp,
613
+ .backup-codes-display,
614
+ .backup-codes-enter,
615
+ .backup-codes-exhausted,
616
+ .backup-codes-success,
617
+ .backup-codes-error {
618
+ width: 100%;
619
+ }
package/dist/profile.scss CHANGED
@@ -586,6 +586,9 @@
586
586
  display: flex;
587
587
  align-items: center;
588
588
  }
589
+ a {
590
+ display: block;
591
+ }
589
592
  }
590
593
 
591
594
  // .icon {
@@ -2448,7 +2448,7 @@ $resizeActive: '[data-cms-element-resizer="true"]';
2448
2448
  //Dropdown
2449
2449
  .value__selected__new {
2450
2450
  width: 100%;
2451
- padding: 8px 12px;
2451
+ // padding: 8px 12px;
2452
2452
  text-align: left;
2453
2453
  }
2454
2454
  .est__dropdown__main {
@@ -2547,9 +2547,20 @@ $resizeActive: '[data-cms-element-resizer="true"]';
2547
2547
  animation: slideDown 0.4s ease-in-out;
2548
2548
  pointer-events: none;
2549
2549
  }
2550
+ &:has(.no__records__found) {
2551
+ padding: 0px;
2552
+ }
2550
2553
  }
2551
2554
  }
2552
2555
  }
2556
+ .no__records__found {
2557
+ padding: 12px;
2558
+ color: var(--_gray-700);
2559
+ background-color: var(--_gray-100);
2560
+ font-size: 16px;
2561
+ text-align: center;
2562
+ cursor: auto;
2563
+ }
2553
2564
  }
2554
2565
  }
2555
2566
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sc-360-v2/storefront-cms-library",
3
- "version": "0.4.59",
3
+ "version": "0.4.61",
4
4
  "main": "/dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "exports": {