@ptcwebops/ptcw-design 5.9.1 → 5.9.2

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 (43) hide show
  1. package/dist/cjs/blog-detail-content_21.cjs.entry.js +4 -4
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/ptc-card_2.cjs.entry.js +1 -1
  4. package/dist/cjs/ptc-case-studies-slider.cjs.entry.js +181 -43
  5. package/dist/cjs/ptc-filter-tag_2.cjs.entry.js +1 -1
  6. package/dist/cjs/ptc-form-checkbox_2.cjs.entry.js +185 -76
  7. package/dist/cjs/ptc-pricing-tabs.cjs.entry.js +1 -1
  8. package/dist/cjs/ptcw-design.cjs.js +1 -1
  9. package/dist/collection/components/icon-asset/icon-asset.css +2 -2
  10. package/dist/collection/components/organism-bundles/blog-detail-content/blog-detail-content.css +1 -1
  11. package/dist/collection/components/organism-bundles/blog-detail-layout/blog-detail-layout.css +1 -1
  12. package/dist/collection/components/ptc-card/ptc-card.css +1 -1
  13. package/dist/collection/components/ptc-case-studies-slider/ptc-case-studies-slider.css +9 -2
  14. package/dist/collection/components/ptc-case-studies-slider/ptc-case-studies-slider.js +191 -42
  15. package/dist/collection/components/ptc-form-checkbox/ptc-form-checkbox.css +7 -7
  16. package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.css +2 -2
  17. package/dist/collection/components/ptc-pagenation/ptc-pagenation.css +1 -1
  18. package/dist/collection/components/ptc-pricing-tabs/ptc-pricing-tabs.css +2 -2
  19. package/dist/collection/components/ptc-textfield/ptc-textfield.css +51 -34
  20. package/dist/custom-elements/index.js +375 -128
  21. package/dist/esm/blog-detail-content_21.entry.js +4 -4
  22. package/dist/esm/loader.js +1 -1
  23. package/dist/esm/ptc-card_2.entry.js +1 -1
  24. package/dist/esm/ptc-case-studies-slider.entry.js +181 -43
  25. package/dist/esm/ptc-filter-tag_2.entry.js +1 -1
  26. package/dist/esm/ptc-form-checkbox_2.entry.js +185 -76
  27. package/dist/esm/ptc-pricing-tabs.entry.js +1 -1
  28. package/dist/esm/ptcw-design.js +1 -1
  29. package/dist/ptcw-design/{p-20c01caa.entry.js → p-00980d4d.entry.js} +1 -1
  30. package/dist/ptcw-design/p-0eb16aec.entry.js +1 -0
  31. package/dist/ptcw-design/p-3dae22b8.entry.js +1 -0
  32. package/dist/ptcw-design/p-592d99fd.entry.js +1 -0
  33. package/dist/ptcw-design/p-cfd07b95.entry.js +68 -0
  34. package/dist/ptcw-design/{p-657ecf13.entry.js → p-fc51fc29.entry.js} +1 -1
  35. package/dist/ptcw-design/ptcw-design.css +1 -1
  36. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  37. package/dist/types/components/ptc-case-studies-slider/ptc-case-studies-slider.d.ts +12 -0
  38. package/package.json +1 -1
  39. package/readme.md +1 -1
  40. package/dist/ptcw-design/p-1ed632b2.entry.js +0 -1
  41. package/dist/ptcw-design/p-3784738e.entry.js +0 -68
  42. package/dist/ptcw-design/p-5441b0b9.entry.js +0 -1
  43. package/dist/ptcw-design/p-c0f223bb.entry.js +0 -1
@@ -5,57 +5,194 @@ export class PtcCaseStudiesSlider {
5
5
  // SLider List
6
6
  this.caseStudiesThumbs = null;
7
7
  this.caseStudiesSlides = null;
8
+ this.tabs = [];
9
+ this.tabPanels = [];
10
+ this.activeTabIndex = 0;
11
+ this.firstTab = null;
12
+ this.lastTab = null;
8
13
  }
9
14
  componentDidLoad() {
10
- this.initSlider();
11
- this.slideChangeHandler();
12
15
  this.renderSlides('swiper-slide-thumb', 'swiper-wrapper-thumbs');
13
16
  this.renderSlides('swiper-slide-content', 'swiper-wrapper-content');
17
+ this.initializeTabs();
18
+ this.initSlider();
19
+ this.slideChangeHandler();
14
20
  //Added for preloader skeleton issue
15
21
  setTimeout(() => { this.initSlider(); }, 3100);
16
22
  }
17
- initSlider() {
18
- this.caseStudiesThumbs = new Swiper(this.caeStudiesThumbRef, {
19
- modules: [Navigation, Pagination, FreeMode, Grid],
20
- loop: false,
21
- slidesPerView: 'auto',
22
- freeMode: true,
23
- watchSlidesProgress: true,
24
- centerInsufficientSlides: true,
25
- breakpoints: {
26
- 992: {
27
- slidesPerView: 7,
28
- },
23
+ // Initialize Tabs
24
+ initializeTabs() {
25
+ var _a, _b;
26
+ const tablist = (_a = this.caeStudiesThumbRef) === null || _a === void 0 ? void 0 : _a.querySelector('.swiper-wrapper-thumbs');
27
+ if (!tablist)
28
+ return;
29
+ // Updated selector to match existing class names
30
+ this.tabs = Array.from(tablist.querySelectorAll('.swiper-slide-thumb'));
31
+ this.tabPanels = Array.from(((_b = this.caseStudiesSlidesRef) === null || _b === void 0 ? void 0 : _b.querySelectorAll('.swiper-slide-content')) || []);
32
+ this.tabs.forEach((tab, index) => {
33
+ tab.setAttribute('role', 'tab');
34
+ tab.setAttribute('aria-selected', 'false');
35
+ tab.setAttribute('aria-controls', `tabpanel-${index}`);
36
+ tab.setAttribute('tabindex', '-1');
37
+ tab.id = `tab-${index}`;
38
+ // Set first and last tab
39
+ if (index === 0) {
40
+ this.firstTab = tab;
29
41
  }
42
+ this.lastTab = tab;
30
43
  });
31
- this.caseStudiesSlides = new Swiper(this.caseStudiesSlidesRef, {
32
- modules: [Navigation, Pagination, Thumbs, Autoplay, EffectFade],
33
- loop: false,
34
- grabCursor: true,
35
- effect: 'fade',
36
- autoplay: {
37
- delay: 10000,
38
- disableOnInteraction: false,
39
- waitForTransition: true,
40
- },
41
- thumbs: {
42
- swiper: this.caseStudiesThumbs,
43
- },
44
- pagination: {
45
- el: this.paginationRef,
46
- clickable: true,
47
- },
44
+ const tablistContainer = this.caeStudiesThumbRef;
45
+ if (tablistContainer) {
46
+ tablistContainer.setAttribute('role', 'tablist');
47
+ tablistContainer.setAttribute('aria-label', 'Case Studies Tabs');
48
+ }
49
+ // Select the first tab by default
50
+ if (this.tabs.length > 0) {
51
+ this.setSelectedTab(0);
52
+ }
53
+ }
54
+ // Set the selected tab by index
55
+ setSelectedTab(index) {
56
+ this.tabs.forEach((tab, i) => {
57
+ var _a;
58
+ if (i === index) {
59
+ tab.setAttribute('aria-selected', 'true');
60
+ tab.setAttribute('tabindex', '0');
61
+ this.tabPanels[i].classList.remove('is-hidden');
62
+ (_a = this.caseStudiesSlides) === null || _a === void 0 ? void 0 : _a.slideTo(i);
63
+ this.activeTabIndex = i;
64
+ }
65
+ else {
66
+ tab.setAttribute('aria-selected', 'false');
67
+ tab.setAttribute('tabindex', '-1');
68
+ this.tabPanels[i].classList.add('is-hidden');
69
+ }
48
70
  });
49
71
  }
72
+ // Handle keyboard navigation
73
+ handleKeyDown(event) {
74
+ const tgt = event.currentTarget;
75
+ let flag = false;
76
+ switch (event.key) {
77
+ case 'ArrowRight':
78
+ this.moveFocusToNextTab(tgt);
79
+ flag = true;
80
+ break;
81
+ case 'ArrowLeft':
82
+ this.moveFocusToPreviousTab(tgt);
83
+ flag = true;
84
+ break;
85
+ case 'Enter':
86
+ case ' ':
87
+ const index = this.tabs.indexOf(tgt);
88
+ if (index !== -1) {
89
+ this.setSelectedTab(index);
90
+ flag = true;
91
+ }
92
+ break;
93
+ default:
94
+ break;
95
+ }
96
+ if (flag) {
97
+ event.stopPropagation();
98
+ event.preventDefault();
99
+ }
100
+ }
101
+ // Move focus to a specific tab
102
+ moveFocusToTab(currentTab) {
103
+ currentTab.focus();
104
+ }
105
+ // Move focus to the previous tab
106
+ moveFocusToPreviousTab(currentTab) {
107
+ if (currentTab === this.firstTab) {
108
+ if (this.lastTab) {
109
+ this.moveFocusToTab(this.lastTab);
110
+ }
111
+ }
112
+ else {
113
+ const index = this.tabs.indexOf(currentTab);
114
+ if (index > 0) {
115
+ this.moveFocusToTab(this.tabs[index - 1]);
116
+ }
117
+ }
118
+ }
119
+ // Move focus to the next tab
120
+ moveFocusToNextTab(currentTab) {
121
+ if (currentTab === this.lastTab) {
122
+ if (this.firstTab) {
123
+ this.moveFocusToTab(this.firstTab);
124
+ }
125
+ }
126
+ else {
127
+ const index = this.tabs.indexOf(currentTab);
128
+ if (index < this.tabs.length - 1) {
129
+ this.moveFocusToTab(this.tabs[index + 1]);
130
+ }
131
+ }
132
+ }
133
+ // Handle tab click
134
+ onClick(index) {
135
+ this.setSelectedTab(index);
136
+ this.tabs[index].focus();
137
+ }
138
+ initSlider() {
139
+ if (this.caeStudiesThumbRef && !this.caseStudiesThumbs) {
140
+ this.caseStudiesThumbs = new Swiper(this.caeStudiesThumbRef, {
141
+ modules: [Navigation, Pagination, FreeMode, Grid],
142
+ loop: false,
143
+ slidesPerView: 'auto',
144
+ freeMode: true,
145
+ watchSlidesProgress: true,
146
+ centerInsufficientSlides: true,
147
+ breakpoints: {
148
+ 992: {
149
+ slidesPerView: 7,
150
+ },
151
+ },
152
+ });
153
+ }
154
+ if (this.caseStudiesSlidesRef && !this.caseStudiesSlides) {
155
+ this.caseStudiesSlides = new Swiper(this.caseStudiesSlidesRef, {
156
+ modules: [Navigation, Pagination, Thumbs, Autoplay, EffectFade],
157
+ loop: false,
158
+ grabCursor: true,
159
+ effect: 'fade',
160
+ autoplay: {
161
+ delay: 10000,
162
+ disableOnInteraction: false,
163
+ waitForTransition: true,
164
+ },
165
+ thumbs: {
166
+ swiper: this.caseStudiesThumbs,
167
+ },
168
+ pagination: {
169
+ el: this.paginationRef,
170
+ clickable: true,
171
+ },
172
+ keyboard: {
173
+ enabled: false,
174
+ },
175
+ });
176
+ }
177
+ }
50
178
  slideChangeHandler() {
51
- this.caseStudiesSlides.on('slideChange', () => {
52
- const visibleSlide = this.caseStudiesSlides.slides[this.caseStudiesSlides.activeIndex];
53
- const tagName = visibleSlide.querySelector('ptc-text-copy-with-background').shadowRoot;
54
- const content = tagName.querySelector('.card-wrap');
55
- const parent = tagName.querySelector('.card-wrap').parentNode;
56
- parent.removeChild(content);
57
- parent.appendChild(content);
58
- });
179
+ if (this.caseStudiesSlides) {
180
+ this.caseStudiesSlides.on('slideChange', () => {
181
+ var _a;
182
+ const activeIndex = this.caseStudiesSlides.activeIndex;
183
+ this.setSelectedTab(activeIndex);
184
+ const visibleSlide = this.caseStudiesSlides.slides[activeIndex];
185
+ const tagName = (_a = visibleSlide.querySelector('ptc-text-copy-with-background')) === null || _a === void 0 ? void 0 : _a.shadowRoot;
186
+ if (tagName) {
187
+ const content = tagName.querySelector('.card-wrap');
188
+ const parent = content === null || content === void 0 ? void 0 : content.parentNode;
189
+ if (parent && content) {
190
+ parent.removeChild(content);
191
+ parent.appendChild(content);
192
+ }
193
+ }
194
+ });
195
+ }
59
196
  }
60
197
  renderSlides(slideName, wrapperName) {
61
198
  const slidesList = Array.from(this.hostElement.querySelectorAll('.' + slideName));
@@ -65,17 +202,20 @@ export class PtcCaseStudiesSlider {
65
202
  const cloneNode = node.cloneNode(true);
66
203
  swiperWrapper.appendChild(cloneNode);
67
204
  node.remove;
68
- const imageElement = node.querySelector('img');
205
+ cloneNode.addEventListener('keydown', (event) => this.handleKeyDown(event));
206
+ cloneNode.addEventListener('click', () => this.onClick(index));
207
+ const imageElement = cloneNode.querySelector('img');
69
208
  if (imageElement) {
70
209
  imageElement.addEventListener('click', () => {
71
- this.caseStudiesSlides.slideTo(index); // Change the slide to the corresponding index
210
+ var _a;
211
+ (_a = this.caseStudiesSlides) === null || _a === void 0 ? void 0 : _a.slideTo(index); // Change the slide to the corresponding index
72
212
  });
73
213
  }
74
214
  });
75
215
  }
76
216
  }
77
217
  render() {
78
- return (h(Host, null, h("div", { class: "ptc-container" }, h("div", { class: "case-studies-thumbs", ref: el => this.caeStudiesThumbRef = el }, h("span", { class: "hide" }, h("slot", { name: 'thumb-slides' })), h("div", { class: 'swiper-wrapper swiper-wrapper-thumbs' }))), h("div", { class: "case-studies-slides", ref: el => this.caseStudiesSlidesRef = el }, h("span", { class: "hide" }, h("slot", { name: 'content-slides' })), h("div", { class: 'swiper-wrapper swiper-wrapper-content' }), h("div", { class: "swiper-pagination", ref: el => this.paginationRef = el }))));
218
+ return (h(Host, null, h("div", { class: "ptc-container" }, h("div", { class: "case-studies-thumbs swiper", ref: el => this.caeStudiesThumbRef = el }, h("span", { class: "hide" }, h("slot", { name: 'thumb-slides' })), h("div", { class: 'swiper-wrapper swiper-wrapper-thumbs' }))), h("div", { class: "case-studies-slides swiper", ref: el => this.caseStudiesSlidesRef = el }, h("span", { class: "hide" }, h("slot", { name: 'content-slides' })), h("div", { class: 'swiper-wrapper swiper-wrapper-content' }), h("div", { class: "swiper-pagination", ref: el => this.paginationRef = el }))));
79
219
  }
80
220
  static get is() { return "ptc-case-studies-slider"; }
81
221
  static get encapsulation() { return "shadow"; }
@@ -89,5 +229,14 @@ export class PtcCaseStudiesSlider {
89
229
  "$": ["ptc-case-studies-slider.css"]
90
230
  };
91
231
  }
232
+ static get states() {
233
+ return {
234
+ "tabs": {},
235
+ "tabPanels": {},
236
+ "activeTabIndex": {},
237
+ "firstTab": {},
238
+ "lastTab": {}
239
+ };
240
+ }
92
241
  static get elementRef() { return "hostElement"; }
93
242
  }
@@ -1133,29 +1133,29 @@ ptc-link, ptc-square-card,
1133
1133
 
1134
1134
  .mdc-checkbox {
1135
1135
  transform: translateX(-8px);
1136
- padding: calc((34px - 18px) / 2);
1136
+ padding: 8px;
1137
1137
  /* @alternate */
1138
1138
  padding: calc((var(--mdc-checkbox-ripple-size, 34px) - 18px) / 2);
1139
- margin: calc((34px - 34px) / 2);
1139
+ margin: 0px;
1140
1140
  /* @alternate */
1141
1141
  margin: calc((var(--mdc-checkbox-touch-target-size, 34px) - 34px) / 2);
1142
1142
  }
1143
1143
  .mdc-checkbox .mdc-checkbox__background {
1144
- top: calc((34px - 18px) / 2);
1144
+ top: 8px;
1145
1145
  /* @alternate */
1146
1146
  top: calc((var(--mdc-checkbox-ripple-size, 34px) - 18px) / 2);
1147
- left: calc((34px - 18px) / 2);
1147
+ left: 8px;
1148
1148
  /* @alternate */
1149
1149
  left: calc((var(--mdc-checkbox-ripple-size, 34px) - 18px) / 2);
1150
1150
  }
1151
1151
  .mdc-checkbox .mdc-checkbox__native-control {
1152
- top: calc((34px - 34px) / 2);
1152
+ top: 0px;
1153
1153
  /* @alternate */
1154
1154
  top: calc((34px - var(--mdc-checkbox-touch-target-size, 34px)) / 2);
1155
- right: calc((34px - 34px) / 2);
1155
+ right: 0px;
1156
1156
  /* @alternate */
1157
1157
  right: calc((34px - var(--mdc-checkbox-touch-target-size, 34px)) / 2);
1158
- left: calc((34px - 34px) / 2);
1158
+ left: 0px;
1159
1159
  /* @alternate */
1160
1160
  left: calc((34px - var(--mdc-checkbox-touch-target-size, 34px)) / 2);
1161
1161
  width: 34px;
@@ -1101,7 +1101,7 @@ ptc-link, ptc-square-card,
1101
1101
  }
1102
1102
  @media only screen and (min-width: 992px) {
1103
1103
  .u-3-col-grid .u-3-col {
1104
- width: calc(33.333333333333% - 10.66666666px);
1104
+ width: calc(33.3333333333% - 10.66666666px);
1105
1105
  }
1106
1106
  }
1107
1107
  .u-3-col-grid.u-col-space-lg {
@@ -1118,7 +1118,7 @@ ptc-link, ptc-square-card,
1118
1118
  }
1119
1119
  @media only screen and (min-width: 992px) {
1120
1120
  .u-3-col-grid.u-col-space-lg .u-3-col {
1121
- width: calc(33.333333333333% - 21.3333333px);
1121
+ width: calc(33.3333333333% - 21.3333333px);
1122
1122
  }
1123
1123
  }
1124
1124
 
@@ -128,7 +128,7 @@ ptc-link, ptc-square-card,
128
128
  width: 1.125rem;
129
129
  height: 1.125rem;
130
130
  border: 1px solid var(--color-gray-10);
131
- border-radius: calc(var(--ptc-border-radius-standard)/2);
131
+ border-radius: calc(var(--ptc-border-radius-standard) / 2);
132
132
  transition: background-color var(--ptc-ease-out) var(--ptc-transition-medium), fill var(--ptc-ease-out) var(--ptc-transition-medium), border-color var(--ptc-ease-out) var(--ptc-transition-medium);
133
133
  }
134
134
  .standard-filter .next-button:hover, .standard-filter .previous-button:hover {
@@ -1046,7 +1046,7 @@ ptc-link, ptc-square-card,
1046
1046
  }
1047
1047
  @media only screen and (min-width: 992px) {
1048
1048
  .u-3-col-grid .u-3-col {
1049
- width: calc(33.333333333333% - 10.66666666px);
1049
+ width: calc(33.3333333333% - 10.66666666px);
1050
1050
  }
1051
1051
  }
1052
1052
  .u-3-col-grid.u-col-space-lg {
@@ -1063,7 +1063,7 @@ ptc-link, ptc-square-card,
1063
1063
  }
1064
1064
  @media only screen and (min-width: 992px) {
1065
1065
  .u-3-col-grid.u-col-space-lg .u-3-col {
1066
- width: calc(33.333333333333% - 21.3333333px);
1066
+ width: calc(33.3333333333% - 21.3333333px);
1067
1067
  }
1068
1068
  }
1069
1069
 
@@ -2215,9 +2215,9 @@
2215
2215
  .iti__v-hide {
2216
2216
  visibility: hidden;
2217
2217
  }
2218
- .iti input,
2219
- .iti input[type=text],
2220
- .iti input[type=tel] {
2218
+ .iti input.iti__tel-input,
2219
+ .iti input.iti__tel-input[type=text],
2220
+ .iti input.iti__tel-input[type=tel] {
2221
2221
  position: relative;
2222
2222
  z-index: 0;
2223
2223
  margin-top: 0 !important;
@@ -2256,26 +2256,35 @@
2256
2256
  border-top: none;
2257
2257
  border-bottom: 4px solid #555;
2258
2258
  }
2259
- .iti__country-list {
2259
+ .iti__dropdown-content {
2260
2260
  position: absolute;
2261
2261
  z-index: 2;
2262
- list-style: none;
2263
- padding: 0;
2264
- margin: 0 0 0 -1px;
2262
+ margin-left: -1px;
2265
2263
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
2266
2264
  background-color: white;
2267
2265
  border: 1px solid #ccc;
2268
- white-space: nowrap;
2269
2266
  max-height: 200px;
2270
2267
  overflow-y: scroll;
2271
2268
  -webkit-overflow-scrolling: touch;
2272
2269
  }
2273
- .iti__country-list--dropup {
2270
+ .iti__dropdown-content--dropup {
2274
2271
  bottom: 100%;
2275
2272
  margin-bottom: -1px;
2276
2273
  }
2274
+ .iti__search-input {
2275
+ width: 100%;
2276
+ border-width: 0;
2277
+ }
2278
+ .iti__country-list {
2279
+ list-style: none;
2280
+ padding: 0;
2281
+ margin: 0;
2282
+ }
2283
+ .iti--flexible-dropdown-width .iti__country-list {
2284
+ white-space: nowrap;
2285
+ }
2277
2286
  @media (max-width: 500px) {
2278
- .iti__country-list {
2287
+ .iti--flexible-dropdown-width .iti__country-list {
2279
2288
  white-space: normal;
2280
2289
  }
2281
2290
  }
@@ -2307,20 +2316,20 @@
2307
2316
  margin-right: 0;
2308
2317
  margin-left: 6px;
2309
2318
  }
2310
- .iti--allow-dropdown input,
2311
- .iti--allow-dropdown input[type=text],
2312
- .iti--allow-dropdown input[type=tel], .iti--separate-dial-code input,
2313
- .iti--separate-dial-code input[type=text],
2314
- .iti--separate-dial-code input[type=tel] {
2319
+ .iti--allow-dropdown input.iti__tel-input,
2320
+ .iti--allow-dropdown input.iti__tel-input[type=text],
2321
+ .iti--allow-dropdown input.iti__tel-input[type=tel], .iti--separate-dial-code input.iti__tel-input,
2322
+ .iti--separate-dial-code input.iti__tel-input[type=text],
2323
+ .iti--separate-dial-code input.iti__tel-input[type=tel] {
2315
2324
  padding-right: 6px;
2316
2325
  padding-left: 52px;
2317
2326
  margin-left: 0;
2318
2327
  }
2319
- [dir=rtl] .iti--allow-dropdown input,
2320
- [dir=rtl] .iti--allow-dropdown input[type=text],
2321
- [dir=rtl] .iti--allow-dropdown input[type=tel], [dir=rtl] .iti--separate-dial-code input,
2322
- [dir=rtl] .iti--separate-dial-code input[type=text],
2323
- [dir=rtl] .iti--separate-dial-code input[type=tel] {
2328
+ [dir=rtl] .iti--allow-dropdown input.iti__tel-input,
2329
+ [dir=rtl] .iti--allow-dropdown input.iti__tel-input[type=text],
2330
+ [dir=rtl] .iti--allow-dropdown input.iti__tel-input[type=tel], [dir=rtl] .iti--separate-dial-code input.iti__tel-input,
2331
+ [dir=rtl] .iti--separate-dial-code input.iti__tel-input[type=text],
2332
+ [dir=rtl] .iti--separate-dial-code input.iti__tel-input[type=tel] {
2324
2333
  padding-right: 52px;
2325
2334
  padding-left: 6px;
2326
2335
  margin-right: 0;
@@ -2339,12 +2348,12 @@
2339
2348
  .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
2340
2349
  background-color: rgba(0, 0, 0, 0.05);
2341
2350
  }
2342
- .iti--allow-dropdown input[disabled] + .iti__flag-container:hover,
2343
- .iti--allow-dropdown input[readonly] + .iti__flag-container:hover {
2351
+ .iti--allow-dropdown .iti__flag-container:has(+ input[disabled]):hover,
2352
+ .iti--allow-dropdown .iti__flag-container:has(+ input[readonly]):hover {
2344
2353
  cursor: default;
2345
2354
  }
2346
- .iti--allow-dropdown input[disabled] + .iti__flag-container:hover .iti__selected-flag,
2347
- .iti--allow-dropdown input[readonly] + .iti__flag-container:hover .iti__selected-flag {
2355
+ .iti--allow-dropdown .iti__flag-container:has(+ input[disabled]):hover .iti__selected-flag,
2356
+ .iti--allow-dropdown .iti__flag-container:has(+ input[readonly]):hover .iti__selected-flag {
2348
2357
  background-color: transparent;
2349
2358
  }
2350
2359
  .iti--separate-dial-code .iti__selected-flag {
@@ -2368,18 +2377,26 @@
2368
2377
  cursor: pointer;
2369
2378
  }
2370
2379
 
2371
- .iti-mobile .iti--container {
2372
- top: 30px;
2373
- bottom: 30px;
2374
- left: 30px;
2375
- right: 30px;
2380
+ .iti--fullscreen-popup.iti--container {
2381
+ background-color: rgba(0, 0, 0, 0.5);
2382
+ top: 0;
2383
+ bottom: 0;
2384
+ left: 0;
2385
+ right: 0;
2376
2386
  position: fixed;
2387
+ padding: 30px;
2388
+ display: flex;
2389
+ flex-direction: column;
2390
+ justify-content: center;
2391
+ }
2392
+ .iti--fullscreen-popup.iti--container.iti--country-search {
2393
+ justify-content: flex-start;
2377
2394
  }
2378
- .iti-mobile .iti__country-list {
2395
+ .iti--fullscreen-popup .iti__dropdown-content {
2379
2396
  max-height: 100%;
2380
- width: 100%;
2397
+ position: relative;
2381
2398
  }
2382
- .iti-mobile .iti__country {
2399
+ .iti--fullscreen-popup .iti__country {
2383
2400
  padding: 10px 10px;
2384
2401
  line-height: 1.5em;
2385
2402
  }
@@ -2405,7 +2422,7 @@
2405
2422
  .iti__flag.iti__va {
2406
2423
  width: 15px;
2407
2424
  }
2408
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
2425
+ @media (min-resolution: 2x) {
2409
2426
  .iti__flag {
2410
2427
  background-size: 5762px 15px;
2411
2428
  }
@@ -3471,7 +3488,7 @@
3471
3488
  background-color: #dbdbdb;
3472
3489
  background-position: 20px 0;
3473
3490
  }
3474
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
3491
+ @media (min-resolution: 2x) {
3475
3492
  .iti__flag {
3476
3493
  background-image: url("../img/flags@2x.png?1");
3477
3494
  }