@iamproperty/components 5.0.0 → 5.1.0-beta10

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 (208) hide show
  1. package/assets/css/components/accordion.css +1 -1
  2. package/assets/css/components/accordion.css.map +1 -1
  3. package/assets/css/components/accordion.global.css +1 -0
  4. package/assets/css/components/accordion.global.css.map +1 -0
  5. package/assets/css/components/actionbar.css +1 -1
  6. package/assets/css/components/actionbar.css.map +1 -1
  7. package/assets/css/components/actionbar.global.css +1 -0
  8. package/assets/css/components/actionbar.global.css.map +1 -0
  9. package/assets/css/components/card.css +1 -1
  10. package/assets/css/components/card.css.map +1 -1
  11. package/assets/css/components/card.global.css +1 -0
  12. package/assets/css/components/card.global.css.map +1 -0
  13. package/assets/css/components/carousel.css +1 -1
  14. package/assets/css/components/carousel.css.map +1 -1
  15. package/assets/css/components/component.native.css +1 -0
  16. package/assets/css/components/component.native.css.map +1 -0
  17. package/assets/css/components/component.reset.css +1 -1
  18. package/assets/css/components/component.reset.css.map +1 -1
  19. package/assets/css/components/fileupload.css +1 -1
  20. package/assets/css/components/fileupload.css.map +1 -1
  21. package/assets/css/components/header.css +1 -1
  22. package/assets/css/components/header.css.map +1 -1
  23. package/assets/css/components/marketing.css +1 -0
  24. package/assets/css/components/marketing.css.map +1 -0
  25. package/assets/css/components/nav.css +1 -1
  26. package/assets/css/components/nav.css.map +1 -1
  27. package/assets/css/components/nav.global.css +1 -0
  28. package/assets/css/components/nav.global.css.map +1 -0
  29. package/assets/css/components/notification.global.css +1 -0
  30. package/assets/css/components/notification.global.css.map +1 -0
  31. package/assets/css/components/pagination.css +1 -1
  32. package/assets/css/components/pagination.css.map +1 -1
  33. package/assets/css/components/slider.css +1 -0
  34. package/assets/css/components/slider.css.map +1 -0
  35. package/assets/css/components/table.css +1 -1
  36. package/assets/css/components/table.css.map +1 -1
  37. package/assets/css/components/{table.extras.css → table.global.css} +1 -1
  38. package/assets/css/components/{table.extras.css.map → table.global.css.map} +1 -1
  39. package/assets/css/components/tabs.css +1 -1
  40. package/assets/css/components/tabs.css.map +1 -1
  41. package/assets/css/core.min.css +1 -1
  42. package/assets/css/core.min.css.map +1 -1
  43. package/assets/css/style.min.css +1 -1
  44. package/assets/css/style.min.css.map +1 -1
  45. package/assets/img/illustrations/add-new-property.png +0 -0
  46. package/assets/img/illustrations/auctioneer.png +0 -0
  47. package/assets/img/illustrations/branch.png +0 -0
  48. package/assets/img/illustrations/company-level.png +0 -0
  49. package/assets/img/illustrations/contractors.png +0 -0
  50. package/assets/img/illustrations/find-existing-property.png +0 -0
  51. package/assets/img/illustrations/green/add-new-property.png +0 -0
  52. package/assets/img/illustrations/green/auctioneer.png +0 -0
  53. package/assets/img/illustrations/green/branch.png +0 -0
  54. package/assets/img/illustrations/green/buyer.png +0 -0
  55. package/assets/img/illustrations/green/company-level.png +0 -0
  56. package/assets/img/illustrations/green/contractors.png +0 -0
  57. package/assets/img/illustrations/green/estate-agents.png +0 -0
  58. package/assets/img/illustrations/green/find-existing-property.png +0 -0
  59. package/assets/img/illustrations/green/landlords.png +0 -0
  60. package/assets/img/illustrations/green/seller.png +0 -0
  61. package/assets/img/illustrations/green/whats-new-2.png +0 -0
  62. package/assets/img/illustrations/green/whats-new.png +0 -0
  63. package/assets/img/illustrations/information-works.png +0 -0
  64. package/assets/img/illustrations/landlords.png +0 -0
  65. package/assets/img/illustrations/whats-new-2.png +0 -0
  66. package/assets/img/illustrations/whats-new.png +0 -0
  67. package/assets/img/signin-bg.png +0 -0
  68. package/assets/js/components/accordion/accordion.component.js +4 -0
  69. package/assets/js/components/accordion/accordion.component.min.js +6 -5
  70. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  71. package/assets/js/components/actionbar/actionbar.component.js +4 -0
  72. package/assets/js/components/actionbar/actionbar.component.min.js +5 -4
  73. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  74. package/assets/js/components/address-lookup/address-lookup.component.js +18 -4
  75. package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
  76. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  77. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  78. package/assets/js/components/card/card.component.js +6 -1
  79. package/assets/js/components/card/card.component.min.js +6 -4
  80. package/assets/js/components/card/card.component.min.js.map +1 -1
  81. package/assets/js/components/carousel/carousel.component.js +61 -0
  82. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  83. package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
  84. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  85. package/assets/js/components/header/header.component.js +6 -12
  86. package/assets/js/components/header/header.component.min.js +8 -14
  87. package/assets/js/components/header/header.component.min.js.map +1 -1
  88. package/assets/js/components/marketing/marketing.component.js +37 -0
  89. package/assets/js/components/nav/nav.component.js +8 -36
  90. package/assets/js/components/nav/nav.component.min.js +10 -12
  91. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  92. package/assets/js/components/notification/notification.component.js +4 -0
  93. package/assets/js/components/notification/notification.component.min.js +4 -3
  94. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  95. package/assets/js/components/pagination/pagination.component.min.js +2 -2
  96. package/assets/js/components/search/search.component.js +148 -0
  97. package/assets/js/components/search/search.component.min.js +14 -0
  98. package/assets/js/components/search/search.component.min.js.map +1 -0
  99. package/assets/js/components/slider/slider.component.js +143 -0
  100. package/assets/js/components/table/table.component.js +1 -1
  101. package/assets/js/components/table/table.component.min.js +6 -6
  102. package/assets/js/components/table/table.component.min.js.map +1 -1
  103. package/assets/js/components/tabs/tabs.component.js +2 -0
  104. package/assets/js/components/tabs/tabs.component.min.js +5 -3
  105. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  106. package/assets/js/dynamic.js +1 -1
  107. package/assets/js/dynamic.min.js +5 -5
  108. package/assets/js/dynamic.min.js.map +1 -1
  109. package/assets/js/modules/carousel.js +15 -23
  110. package/assets/js/modules/dynamicEvents.js +28 -13
  111. package/assets/js/modules/helpers.js +4 -1
  112. package/assets/js/modules/inputs.js +44 -3
  113. package/assets/js/modules/table.js +8 -6
  114. package/assets/js/modules/tabs.js +29 -31
  115. package/assets/js/scripts.bundle.js +31 -35
  116. package/assets/js/scripts.bundle.js.map +1 -1
  117. package/assets/js/scripts.bundle.min.js +2 -2
  118. package/assets/js/scripts.bundle.min.js.map +1 -1
  119. package/assets/js/tests/slider.spec.js +20 -0
  120. package/assets/sass/_components.scss +0 -6
  121. package/assets/sass/_corefiles.scss +9 -88
  122. package/assets/sass/_elements.scss +1 -2
  123. package/assets/sass/_functions/mixins.scss +16 -0
  124. package/assets/sass/_functions/utilities.scss +0 -17
  125. package/assets/sass/_functions/variables.scss +1 -0
  126. package/assets/sass/components/accordion.global.scss +135 -0
  127. package/assets/sass/components/accordion.scss +6 -192
  128. package/assets/sass/components/{actionbar-global.scss → actionbar.global.scss} +3 -1
  129. package/assets/sass/components/actionbar.scss +2 -2
  130. package/assets/sass/components/{card-global.scss → card.global.scss} +2 -23
  131. package/assets/sass/components/card.scss +44 -3
  132. package/assets/sass/components/carousel.scss +86 -159
  133. package/assets/sass/components/component.native.scss +120 -0
  134. package/assets/sass/components/component.reset.scss +1 -3
  135. package/assets/sass/components/fileupload.scss +1 -1
  136. package/assets/sass/components/header.scss +55 -52
  137. package/assets/sass/components/marketing.scss +64 -0
  138. package/assets/sass/components/{nav-global.scss → nav.global.scss} +2 -1
  139. package/assets/sass/components/nav.scss +7 -1
  140. package/assets/sass/components/notification.global.scss +41 -0
  141. package/assets/sass/components/pagination.scss +4 -0
  142. package/assets/sass/components/slider.scss +121 -0
  143. package/assets/sass/components/{table.extras.scss → table.global.scss} +5 -1
  144. package/assets/sass/components/table.scss +1 -1
  145. package/assets/sass/components/tabs.scss +2 -5
  146. package/assets/sass/core.scss +1 -2
  147. package/assets/sass/elements/admin-panel.scss +9 -7
  148. package/assets/sass/elements/badge.scss +29 -0
  149. package/assets/sass/elements/container.scss +17 -0
  150. package/assets/sass/elements/dialog.scss +4 -4
  151. package/assets/sass/elements/forms.scss +142 -14
  152. package/assets/sass/elements/links.scss +2 -1
  153. package/assets/sass/elements/table.element.scss +1 -2
  154. package/assets/sass/error.scss +1 -1
  155. package/assets/sass/foundations/reboot.scss +59 -12
  156. package/assets/sass/foundations/root.scss +11 -3
  157. package/assets/sass/helpers/max-height.scss +78 -4
  158. package/assets/sass/main.scss +0 -1
  159. package/assets/sass/templates/auth.scss +112 -0
  160. package/assets/sass/templates/form.scss +1 -0
  161. package/assets/ts/components/accordion/accordion.component.ts +5 -0
  162. package/assets/ts/components/actionbar/actionbar.component.ts +5 -0
  163. package/assets/ts/components/address-lookup/address-lookup.component.ts +24 -5
  164. package/assets/ts/components/card/card.component.ts +7 -1
  165. package/assets/ts/components/carousel/README.md +39 -0
  166. package/assets/ts/components/carousel/carousel.component.ts +75 -0
  167. package/assets/ts/components/header/header.component.ts +6 -12
  168. package/assets/ts/components/marketing/marketing.component.ts +49 -0
  169. package/assets/ts/components/nav/README.md +2 -13
  170. package/assets/ts/components/nav/nav.component.ts +9 -47
  171. package/assets/ts/components/notification/notification.component.ts +4 -0
  172. package/assets/ts/components/search/search.component.ts +177 -0
  173. package/assets/ts/components/slider/README.md +26 -0
  174. package/assets/ts/components/slider/slider.component.ts +189 -0
  175. package/assets/ts/components/table/table.component.ts +1 -1
  176. package/assets/ts/components/tabs/tabs.component.ts +2 -0
  177. package/assets/ts/dynamic.ts +1 -1
  178. package/assets/ts/modules/carousel.ts +21 -33
  179. package/assets/ts/modules/dynamicEvents.ts +44 -24
  180. package/assets/ts/modules/helpers.ts +8 -2
  181. package/assets/ts/modules/inputs.ts +61 -4
  182. package/assets/ts/modules/table.ts +11 -14
  183. package/assets/ts/modules/tabs.ts +38 -41
  184. package/assets/ts/tests/slider.spec.ts +33 -0
  185. package/dist/components.es.js +893 -1542
  186. package/dist/components.umd.js +328 -161
  187. package/dist/style.css +1 -1
  188. package/package.json +5 -4
  189. package/src/components/Accordion/Accordion.vue +12 -5
  190. package/src/components/Actionbar/Actionbar.vue +12 -5
  191. package/src/components/Card/Card.vue +1 -1
  192. package/src/components/Carousel/Carousel.vue +18 -103
  193. package/src/components/Header/Header.vue +10 -6
  194. package/src/components/Marketing/Marketing.vue +39 -0
  195. package/src/components/Marketing/README.md +20 -0
  196. package/src/components/Nav/Nav.vue +1 -1
  197. package/src/components/Nav/README.md +1 -12
  198. package/src/components/Search/Search.vue +25 -0
  199. package/src/components/Slider/README.md +11 -0
  200. package/src/components/Slider/Slider.vue +25 -0
  201. package/src/components/Tabs/Tabs.vue +14 -5
  202. package/assets/css/components/actionbar-global.css +0 -1
  203. package/assets/css/components/actionbar-global.css.map +0 -1
  204. package/assets/css/components/card-global.css +0 -1
  205. package/assets/css/components/card-global.css.map +0 -1
  206. package/assets/css/components/nav-global.css +0 -1
  207. package/assets/css/components/nav-global.css.map +0 -1
  208. package/src/components/Carousel/Carousel.spec.js +0 -45
@@ -2,7 +2,6 @@
2
2
 
3
3
  // #region default carousel
4
4
  .carousel {
5
- padding-bottom: 3rem;
6
5
 
7
6
  .carousel__wrapper {
8
7
 
@@ -14,45 +13,31 @@
14
13
  --gutter-x: #{$grid-gutter-width};
15
14
  overflow: auto;
16
15
  scroll-snap-type: x mandatory;
17
- margin-right: calc(var(--gutter-x) * -.5);
18
- margin-left: calc(var(--gutter-x) * -.5);
19
-
20
- > .row {
21
- flex-wrap: nowrap;
22
- margin: 0;
23
-
24
- > .col {
25
- padding-top: rem(36);
26
- padding-bottom: rem(24);
27
- scroll-snap-align: start;
28
- scroll-padding: calc(var(--gutter-x) * -1);
29
- }
30
- }
31
16
  }
32
17
 
33
- .carousel__item > *:last-child {
18
+ .col > *:last-child {
34
19
  margin-bottom: 0;
35
20
  padding-bottom: 0;
36
21
  }
37
22
  }
23
+
24
+
38
25
  // #endregion
39
26
 
40
27
  // #region Remove the scrollbar
41
- body.js-enabled .carousel__inner {
28
+ .carousel__inner {
42
29
  // FireFox
43
30
  scrollbar-width: none;
44
31
  // IE10+
45
32
  -ms-overflow-style: none;
46
33
  }
47
34
 
48
- body.js-enabled .carousel__inner::-webkit-scrollbar {
35
+ .carousel__inner::-webkit-scrollbar {
49
36
  // Chrome, Safari, Edge
50
37
  display: none;
51
38
  }
52
39
  // #endregion
53
40
 
54
-
55
-
56
41
  // #region Direction button
57
42
  .btn-next,
58
43
  .btn-prev {
@@ -63,13 +48,8 @@ body.js-enabled .carousel__inner::-webkit-scrollbar {
63
48
  background: var(--marker-bg);
64
49
  border-radius: 100%;
65
50
  width: rem(36);
51
+ max-width: rem(36);
66
52
  height: rem(36);
67
-
68
- @include media-breakpoint-up(md) {
69
-
70
- width: rem(48);
71
- height: rem(48);
72
- }
73
53
  text-indent: -300rem;
74
54
  overflow: hidden;
75
55
  border: none;
@@ -77,6 +57,11 @@ body.js-enabled .carousel__inner::-webkit-scrollbar {
77
57
  margin: 0 rem(8);
78
58
  padding: 0;
79
59
 
60
+ position: absolute;
61
+ top: 50%;
62
+ left: 0rem;
63
+ transform: translate(0,-50%);
64
+
80
65
  &:disabled {
81
66
  opacity: 0.8;
82
67
  pointer-events: none;
@@ -114,194 +99,136 @@ body.js-enabled .carousel__inner::-webkit-scrollbar {
114
99
  }
115
100
  }
116
101
 
102
+ .btn-next {
103
+ left: auto;
104
+ right: 0;
105
+
106
+ @include media-breakpoint-up(md) {
107
+
108
+ margin-right: rem(-48);
109
+ }
110
+ }
111
+
117
112
  .btn-prev {
113
+
114
+ @include media-breakpoint-up(md) {
115
+
116
+ margin-left: rem(-48);
117
+ }
118
+
118
119
  &:after {
119
120
 
120
121
  transform: rotate(180deg);
121
122
  }
122
123
  }
123
- // #endregion
124
124
 
125
125
 
126
- // #region carousel controls/pips
127
- .carousel:not(.hide-controls) {
128
- padding-bottom: 4.5rem!important;
129
- }
130
126
 
131
- .carousel.hide-controls .carousel__controls {
132
- display: none;
133
- }
134
127
 
128
+
129
+ // #endregion
130
+
131
+ // #region carousel controls/pips
135
132
  .carousel .carousel__controls {
136
- position: absolute;
133
+
137
134
  text-align: center;
138
- width: auto;
139
- left: 0;
140
- width: calc(100% + 2rem);
141
- margin-left: -1rem;
142
- margin-right: -1rem;
143
- bottom: -3rem;
144
-
145
- a {
135
+ width: 10rem;
136
+ max-height: 1rem;
137
+ overflow: hidden;
138
+ margin-inline: auto;
139
+
140
+ @include media-breakpoint-up(sm) {
141
+ width: 100%;
142
+ }
143
+
144
+ button {
146
145
  width: 1rem;
147
146
  height: 1rem;
148
147
  min-height: 1rem;
149
148
  border-radius: 50%;
150
149
  text-indent: -50rem;
151
150
  overflow: hidden;
152
- background: currentColor;
151
+ background: var(--colour-primary-theme);
153
152
  padding: 0;
154
153
  margin: 0 0.5rem 0.5rem 0.5rem;
154
+ border: none;
155
155
 
156
156
  &:before {
157
157
  display: none;
158
158
  }
159
159
  }
160
160
 
161
- a:first-child:last-child {
161
+ button:first-child:last-child {
162
162
  display: none;
163
163
  }
164
164
  }
165
165
 
166
- .carousel .carousel__controls > a:nth-child(10) ~ a {
166
+ .carousel__controls > button[aria-current] {
167
167
 
168
- display: none;
168
+ background: var(--colour-success);
169
169
  }
170
+
170
171
  // #endregion
171
172
 
172
- // #region Carousel buttons
173
+ // #region Hide buttons and pips
173
174
  .carousel.hide-btns .carousel__wrapper > .btn {
174
175
  display: none;
175
176
  }
176
177
 
177
- .carousel:not(.hide-btns) .carousel__inner {
178
-
179
- margin-left: rem(28);
180
- margin-right: rem(28);
181
- }
182
-
183
- .carousel .carousel__wrapper > .btn {
184
- position: absolute;
185
- top: 50%;
186
- left: -1.25rem;
187
- transform: translate(0,-50%);
188
-
189
- &.btn-next {
190
- left: auto;
191
- right: -1.25rem;
192
- }
193
-
194
- @include media-breakpoint-up(md) {
195
-
196
- margin-left: -1rem;
197
- margin-right: -1rem;
198
- }
199
- }
200
-
201
-
202
- // #endregion
203
-
204
- .carousel .carousel__inner > .row > .col:first-child {
205
- margin-left: 0!important;
178
+ .carousel.hide-controls .carousel__controls {
179
+ display: none;
206
180
  }
207
181
 
208
182
  @include media-breakpoint-up(sm) {
209
183
 
210
- .carousel .carousel__controls > a:nth-child(10) ~ a {
211
-
212
- display: inline-block;
213
- }
214
-
215
- .carousel .carousel__inner > .row[class*="row-cols-sm-"] > .col{
216
- scroll-snap-align: unset;
217
- }
218
-
219
- .carousel .carousel__inner > .row-cols-sm-2 > .col:nth-child(odd),
220
- .carousel .carousel__inner > .row-cols-sm-3 > .col:nth-child(3n+1),
221
- .carousel .carousel__inner > .row-cols-sm-4 > .col:nth-child(4n+1),
222
- .carousel .carousel__inner > .row-cols-sm-5 > .col:nth-child(5n+1),
223
- .carousel .carousel__inner > .row-cols-sm-6 > .col:nth-child(6n+1) {
224
- scroll-snap-align: start;
225
-
226
- body:not(.js-enabled) & {
227
- margin-left: 4rem;
228
- }
229
- }
230
-
231
- .carousel .carousel__controls.cols-sm-2 > a:not(:nth-child(odd)),
232
- .carousel .carousel__controls.cols-sm-3 > a:not(:nth-child(3n+1)),
233
- .carousel .carousel__controls.cols-sm-4 > a:not(:nth-child(4n+1)),
234
- .carousel .carousel__controls.cols-sm-5 > a:not(:nth-child(5n+1)),
235
- .carousel .carousel__controls.cols-sm-6 > a:not(:nth-child(6n+1)) {
184
+ [data-row-class*="cols-sm-2"] .carousel__controls > button:not(:nth-child(odd)),
185
+ [data-row-class*="cols-sm-3"] .carousel__controls > button:not(:nth-child(3n+1)),
186
+ [data-row-class*="cols-sm-4"] .carousel__controls > button:not(:nth-child(4n+1)),
187
+ [data-row-class*="cols-sm-5"] .carousel__controls > button:not(:nth-child(5n+1)),
188
+ [data-row-class*="cols-sm-6"] .carousel__controls > button:not(:nth-child(6n+1)) {
236
189
  display: none;
237
190
  }
238
191
 
239
192
  // Make sure that we dont just have one pip showing
240
- .carousel .carousel__controls.cols-sm-2 > a:first-child:nth-last-child(2),
241
- .carousel .carousel__controls.cols-sm-3 > :is(a:first-child:nth-last-child(2), a:first-child:nth-last-child(3)),
242
- .carousel .carousel__controls.cols-sm-4 > :is(a:first-child:nth-last-child(2), a:first-child:nth-last-child(3), a:first-child:nth-last-child(4)),
243
- .carousel .carousel__controls.cols-sm-5 > :is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5)),
244
- .carousel .carousel__controls.cols-sm-6 > :is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5),a:first-child:nth-last-child(6)) {
245
- display: none;
246
- }
247
-
248
- // Hide buttons if not needed
249
- .carousel.hide-sm-btns .carousel__wrapper > .btn {
193
+ [data-row-class*="cols-sm-2"] .carousel__controls:has(button:first-child:nth-last-child(2)),
194
+ [data-row-class*="cols-sm-3"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3))),
195
+ [data-row-class*="cols-sm-4"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3), button:first-child:nth-last-child(4))),
196
+ [data-row-class*="cols-sm-5"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5))),
197
+ [data-row-class*="cols-sm-6"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5),button:first-child:nth-last-child(6))),
198
+ [data-row-class*="cols-sm-2"] .carousel__controls:has(button:first-child:nth-last-child(2)) ~ .btn,
199
+ [data-row-class*="cols-sm-3"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3))) ~ .btn,
200
+ [data-row-class*="cols-sm-4"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3), button:first-child:nth-last-child(4))) ~ .btn,
201
+ [data-row-class*="cols-sm-5"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5))) ~ .btn,
202
+ [data-row-class*="cols-sm-6"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5),button:first-child:nth-last-child(6))) ~ .btn {
250
203
  display: none;
251
204
  }
252
-
253
- .carousel.hide-sm-btns .carousel__inner {
254
-
255
- margin-left: 0;
256
- margin-right: 0;
257
- }
258
205
  }
259
206
 
260
207
  @include media-breakpoint-up(md) {
261
-
262
- .carousel .carousel__inner > .row[class*="row-cols-md-"] > .col{
263
- scroll-snap-align: unset;
264
- margin-left: 0;
208
+ .carousel__controls > button {
209
+ display: inline-block!important;
265
210
  }
266
-
267
- .carousel .carousel__inner > .row-cols-md-2 > .col:nth-child(odd),
268
- .carousel .carousel__inner > .row-cols-md-3 > .col:nth-child(3n+1),
269
- .carousel .carousel__inner > .row-cols-md-4 > .col:nth-child(4n+1),
270
- .carousel .carousel__inner > .row-cols-md-5 > .col:nth-child(5n+1),
271
- .carousel .carousel__inner > .row-cols-md-6 > .col:nth-child(6n+1) {
272
- scroll-snap-align: start;
273
-
274
- body:not(.js-enabled) & {
275
211
 
276
- margin-left: calc(50vw);
277
- }
278
- }
279
-
280
- .carousel .carousel__controls.cols-md-2 > a:not(:nth-child(odd)),
281
- .carousel .carousel__controls.cols-md-3 > a:not(:nth-child(3n+1)),
282
- .carousel .carousel__controls.cols-md-4 > a:not(:nth-child(4n+1)),
283
- .carousel .carousel__controls.cols-md-5 > a:not(:nth-child(5n+1)),
284
- .carousel .carousel__controls.cols-md-6 > a:not(:nth-child(6n+1)) {
285
- display: none;
212
+ [data-row-class*="cols-md-2"] .carousel__controls > button:not(:nth-child(odd)),
213
+ [data-row-class*="cols-md-3"] .carousel__controls > button:not(:nth-child(3n+1)),
214
+ [data-row-class*="cols-md-4"] .carousel__controls > button:not(:nth-child(4n+1)),
215
+ [data-row-class*="cols-md-5"] .carousel__controls > button:not(:nth-child(5n+1)),
216
+ [data-row-class*="cols-md-6"] .carousel__controls > button:not(:nth-child(6n+1)) {
217
+ display: none!important;
286
218
  }
287
219
 
288
220
  // Make sure that we dont just have one pip showing
289
- .carousel .carousel__controls.cols-md-2 > a:first-child:nth-last-child(2),
290
- .carousel .carousel__controls.cols-md-3 > :is(a:first-child:nth-last-child(2), a:first-child:nth-last-child(3)),
291
- .carousel .carousel__controls.cols-md-4 > :is(a:first-child:nth-last-child(2), a:first-child:nth-last-child(3), a:first-child:nth-last-child(4)),
292
- .carousel .carousel__controls.cols-md-5 > :is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5)),
293
- .carousel .carousel__controls.cols-md-6 > :is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5),a:first-child:nth-last-child(6)) {
294
- display: none;
295
- }
296
-
297
- // Hide buttons when not needed
298
- .carousel.hide-md-btns .carousel__wrapper > .btn {
221
+ [data-row-class*="cols-md-2"] .carousel__controls:has(button:first-child:nth-last-child(2)),
222
+ [data-row-class*="cols-md-3"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3))),
223
+ [data-row-class*="cols-md-4"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3), button:first-child:nth-last-child(4))),
224
+ [data-row-class*="cols-md-5"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5))),
225
+ [data-row-class*="cols-md-6"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5),button:first-child:nth-last-child(6))),
226
+ [data-row-class*="cols-md-2"] .carousel__controls:has(button:first-child:nth-last-child(2)) ~ .btn,
227
+ [data-row-class*="cols-md-3"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3))) ~ .btn,
228
+ [data-row-class*="cols-md-4"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3), button:first-child:nth-last-child(4))) ~ .btn,
229
+ [data-row-class*="cols-md-5"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5))) ~ .btn,
230
+ [data-row-class*="cols-md-6"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5),button:first-child:nth-last-child(6))) ~ .btn {
299
231
  display: none;
300
232
  }
301
-
302
- .carousel.hide-md-btns .carousel__inner {
303
-
304
- margin-left: 0;
305
- margin-right: 0;
306
- }
307
- }
233
+ }
234
+ // #endregion
@@ -0,0 +1,120 @@
1
+ @use 'sass:math';
2
+ @use "../_func" as *;
3
+
4
+ // #region Undefined web components
5
+ :is(*):not(:defined):not(iam-nav):not(iam-pagination):not(iam-carousel) {
6
+ display: block;
7
+ padding: rem(24);
8
+ margin-bottom: rem(24);
9
+ border-radius: rem(8);
10
+ margin-left: auto;
11
+ margin-right: auto;
12
+ max-width: 80rem;
13
+ }
14
+
15
+ main > :is(*):not(:defined):not(iam-carousel) {
16
+
17
+ padding: var(--container-padding);
18
+ padding-top: 1rem;
19
+ }
20
+
21
+ @include media-breakpoint-up(md) {
22
+
23
+ main > :is(*):not(:defined):not(iam-carousel) {
24
+ max-width: 100%!important;
25
+ padding-inline: calc(50% - #{rem(math.div(1112,2))});
26
+ }
27
+
28
+ iam-header:not(:defined) {
29
+ min-height: rem(470);
30
+ }
31
+ }
32
+
33
+ :is(iam-notification,iam-card):not(:defined) {
34
+ box-shadow: var(--card-box-shadow);
35
+ border-radius: var(--card-border-radius);
36
+ padding: var(--card-top-padding) var(--card-right-padding) var(--card-bottom-padding) var(--card-left-padding);
37
+ }
38
+
39
+ // carousel
40
+ iam-carousel {
41
+
42
+ margin-inline: calc(var(--container-padding-x) * -1);
43
+ margin-bottom: 5rem;
44
+ overflow: auto;
45
+ display: block;
46
+
47
+ > .row {
48
+
49
+ flex-wrap: nowrap!important;
50
+ margin-inline-end: 0;
51
+ padding-inline-start: var(--container-padding-x);
52
+ padding-inline-end: var(--container-padding-x);
53
+
54
+ .col:last-child{
55
+ padding-inline-end: var(--container-padding-x);
56
+ }
57
+ }
58
+
59
+ @include media-breakpoint-up(md) {
60
+
61
+ margin-inline: calc(-0.5 * $grid-gutter-width);
62
+
63
+ > .row {
64
+
65
+ padding-inline: 0;
66
+ margin-inline: 0;
67
+
68
+ .col:last-child{
69
+ padding-inline-end: calc(0.5 * $grid-gutter-width);
70
+ }
71
+ }
72
+ }
73
+ }
74
+
75
+
76
+
77
+
78
+ // For extra file
79
+ iam-carousel:defined {
80
+
81
+ overflow: visible;
82
+ }
83
+ iam-carousel > .row .col {
84
+ scroll-snap-align: start;
85
+ scroll-margin-left: calc(var(--container-padding-x) - calc(0.5 * $grid-gutter-width));
86
+ }
87
+
88
+
89
+ @include media-breakpoint-up(sm) {
90
+
91
+ iam-carousel > .row[class*="row-cols-sm-"] > .col{
92
+ scroll-snap-align: unset;
93
+ }
94
+
95
+ iam-carousel > .row-cols-sm-2 > .col:nth-child(odd),
96
+ iam-carousel > .row-cols-sm-3 > .col:nth-child(3n+1),
97
+ iam-carousel > .row-cols-sm-4 > .col:nth-child(4n+1),
98
+ iam-carousel > .row-cols-sm-5 > .col:nth-child(5n+1),
99
+ iam-carousel > .row-cols-sm-6 > .col:nth-child(6n+1) {
100
+ scroll-snap-align: start;
101
+ }
102
+ }
103
+
104
+ @include media-breakpoint-up(md) {
105
+
106
+ iam-carousel > .row[class*="row-cols-md-"] > .col{
107
+ scroll-snap-align: unset;
108
+ margin-left: 0;
109
+ scroll-margin-left: 0;
110
+ }
111
+
112
+ iam-carousel > .row-cols-md-2 > .col:nth-child(odd),
113
+ iam-carousel > .row-cols-md-3 > .col:nth-child(3n+1),
114
+ iam-carousel > .row-cols-md-4 > .col:nth-child(4n+1),
115
+ iam-carousel > .row-cols-md-5 > .col:nth-child(5n+1),
116
+ iam-carousel > .row-cols-md-6 > .col:nth-child(6n+1) {
117
+ scroll-snap-align: start;
118
+
119
+ }
120
+ }
@@ -28,10 +28,8 @@ a:has(iam-card) {
28
28
  display: block;
29
29
  }
30
30
 
31
- @import "../components/card-global.scss";
32
- @import "../components/nav-global.scss";
33
31
 
34
- :is(iam-card,iam-nav, iam-table) {
32
+ :is(iam-card,iam-nav, iam-table, .iamkey) {
35
33
  @import "../_utilities.scss";
36
34
  }
37
35
 
@@ -57,7 +57,7 @@
57
57
 
58
58
  background: var(--colour-canvas-2);
59
59
  border-color: var(--colour-canvas-2);
60
- color: var(--colour-white);
60
+ color: var(--colour-body);
61
61
  }
62
62
 
63
63
 
@@ -1,74 +1,77 @@
1
1
  @use "../_func" as *;
2
2
 
3
- .header-banner {
4
- background: linear-gradient(180deg,var(--colour-secondary) 0, var(--colour-info) 100%);
3
+ :host{
4
+ padding-top: 0!important;
5
5
  margin-bottom: rem(32);
6
- position: relative;
7
- overflow: hidden;
8
- max-width: 100%!important;
6
+ background-color: transparent!important;
7
+ }
9
8
 
9
+ .header-banner {
10
+
11
+ padding-top: rem(44);
10
12
 
13
+ max-width: rem(1920);
14
+
15
+ min-height: rem(400);
16
+ margin-inline: auto;
17
+ display: block;
11
18
 
12
19
  @include media-breakpoint-up(md) {
13
- min-height: rem(470);
20
+ padding-top: rem(84);
14
21
  }
15
22
 
16
- > .container {
17
- padding-bottom: 0;
18
- position: relative;
19
- }
23
+ position: relative;
24
+ height: auto;
20
25
 
21
- .breadcrumb {
22
-
23
- margin-top: rem(24);
24
- margin-bottom: -0.5rem;
26
+ > picture {
27
+
28
+ display: block;
29
+ position: absolute;
30
+ top: 0;
31
+ left: 0;
32
+ height: 100%;
33
+ width: 100%;
34
+ pointer-events: none;
35
+ overflow: hidden;
36
+ min-height: rem(400);
37
+ max-height: rem(400);
25
38
 
26
- @include media-breakpoint-up(md) {
39
+ &:after {
40
+ content: "";
41
+ display: block;
27
42
  position: absolute;
28
- top: 0;
29
- left: rem(60);
43
+ z-index: -1;
44
+ inset: 0;
45
+ background: linear-gradient(300deg, rgba(30,190,230,1) 0%, rgba(0,49,60,1) 100%);
46
+ opacity: 0.85;
30
47
  }
31
- }
32
-
33
- &__inner {
34
-
35
- @include reset-colours();
36
-
37
- color: var(--colour-body);
38
- background: white;
39
- padding: rem(32);
40
- margin: rem(30) 0;
41
- position: relative;
42
- z-index: var(--index-above);
43
-
44
- @include media-breakpoint-up(md) {
45
- max-width: rem(600);
46
- margin: rem(112) 0 rem(80) 0;
47
- padding: rem(56) rem(64);
48
- }
49
-
50
- > *:last-child {
51
- padding-bottom: 0;
52
- margin-bottom: 0;
53
- }
54
- }
55
48
 
56
- picture img {
57
- display: none;
58
- @include media-breakpoint-up(md) {
59
- display: block;
60
- position: absolute;
61
- top: -0.5%;
62
- left: 40%;
63
- height: 101%;
64
- object-fit: cover;
65
- width: 60%;
66
- pointer-events: none;
49
+ img {
50
+ display: block;
51
+ position: absolute;
52
+ z-index: -2;
53
+ inset: 0;
54
+ object-fit: cover;
55
+ object-position: 50% 50%;
56
+ width: 100%;
57
+ height: 100%;
67
58
  }
68
59
  }
69
60
 
61
+
70
62
  }
71
63
 
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
72
75
  // Web component CSS
73
76
  ::slotted(.breadcrumb){
74
77
  margin-top: rem(24)!important;
@@ -0,0 +1,64 @@
1
+ @use "../_func.scss" as *;
2
+
3
+
4
+ $isComponent: "true"!default;
5
+
6
+
7
+ @mixin iamMarketing(){
8
+ display: flex;
9
+ position: relative;
10
+ overflow: hidden;
11
+ position: relative;
12
+ overflow: hidden;
13
+ margin-bottom: 2rem;
14
+ max-width: 40rem;
15
+ min-width: 100%;
16
+ padding: 2rem;
17
+ border-radius: 0.5rem;
18
+ text-align: center;
19
+ align-items: flex-end;
20
+ padding-top: 33%;
21
+ }
22
+
23
+ figure {
24
+ position: absolute;
25
+ height: 100%;
26
+ width: 100%;
27
+ top: 0;
28
+ left: 0;
29
+
30
+ &:after {
31
+ content: "";
32
+
33
+ inset: 0;
34
+ height: 100%;
35
+ width: 100%;
36
+ position: absolute;
37
+ background-image: linear-gradient(15deg, #00313c 0%, #03404f 28.7%, #03404f 31.5%, #044353 60.099999999999994%, #1bb1dc 83.2%, rgba(28, 182, 226, 0.486) 100%);
38
+ opacity: 0.85;
39
+ z-index: 1;
40
+ }
41
+ }
42
+
43
+ img {
44
+ pointer-events: none;
45
+ position: absolute;
46
+ inset: 0;
47
+ width: 100%;
48
+ max-height: auto;
49
+ z-index: 2;
50
+ -webkit-mask-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
51
+ mask-image: linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,0));
52
+ mix-blend-mode: multiply;
53
+ }
54
+
55
+ :host {
56
+ @include iamMarketing();
57
+ }
58
+
59
+ @include slotted('*',$isComponent) {
60
+ position: relative;
61
+ z-index: 2;
62
+ text-align: center;
63
+ }
64
+