@iamproperty/components 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -72,7 +72,7 @@ $utilities: map-merge(
72
72
  "float": null
73
73
  )
74
74
  );
75
- // #region
75
+ // #endregion
76
76
 
77
77
  // #region Remove the responsive classes for the spacing utilities
78
78
  /*
@@ -196,3 +196,43 @@ $utilities: map-merge(
196
196
  )
197
197
  );
198
198
  // #endregion
199
+
200
+ // #region Gradient colours
201
+
202
+ $utilities: map-merge(
203
+ $utilities,
204
+ (
205
+ "gradient-color": (
206
+ property: background-image,
207
+ class: gradient,
208
+ local-vars: (
209
+ "gradient-direction": 180deg
210
+ ),
211
+ values:
212
+ (
213
+ "secondary": linear-gradient(var(--bs-gradient-direction), var(--colour-secondary) 0, transparent 100%),
214
+ "primary": linear-gradient(var(--bs-gradient-direction), var(--colour-primary) 0, transparent 100%),
215
+ "info": linear-gradient(var(--bs-gradient-direction), var(--colour-info) 0, transparent 100%)
216
+ )
217
+ )
218
+ )
219
+ );
220
+ $utilities: map-merge(
221
+ $utilities,
222
+ (
223
+ "gradient-direction": (
224
+ css-var: true,
225
+ class: gradient-direction,
226
+ values:
227
+ (
228
+ "left": 90deg,
229
+ "right": -90deg,
230
+ "up": 360deg
231
+ )
232
+ )
233
+ )
234
+ );
235
+
236
+
237
+
238
+ // #endregion
@@ -1,7 +1,8 @@
1
1
  // Declare global vars variable
2
2
  $vars: ();
3
+ $varsMD: ();
3
4
 
4
- // #region Grid Breakpoints
5
+ // #region Grid Breakpoints, layouts
5
6
  $grid-breakpoints: (
6
7
  xs: 0,
7
8
  sm: 36em, /* 576 */
@@ -26,6 +27,25 @@ $container-max-widths: (
26
27
 
27
28
  $grid-columns: 12;
28
29
  $grid-gutter-width: 1rem; // 15px
30
+
31
+ $container-padding-x: 20;
32
+ $container-padding-x-md: 60;
33
+ $container-padding: var(--container-padding-top) rem($container-padding-x) var(--container-padding-bottom) rem($container-padding-x);
34
+ $container-padding-md: var(--container-padding-top) rem($container-padding-x-md) var(--container-padding-bottom) rem($container-padding-x-md);
35
+
36
+ $vars: map-merge((
37
+ "--container-padding-top": 0,
38
+ "--container-padding-bottom": #{rem(16)},
39
+ "--container-padding-x": #{rem($container-padding-x)},
40
+ "--container-padding-x-md": #{rem($container-padding-x-md)},
41
+ "--container-padding": $container-padding,
42
+ "--container-padding-md": $container-padding-md
43
+ ), $vars);
44
+
45
+ $varsMD: map-merge((
46
+ "--container-padding": var(--container-padding-md),
47
+ "--container-padding-x": var(--container-padding-x-md)
48
+ ), $varsMD);
29
49
  // #endregion
30
50
 
31
51
  // #region Colours
@@ -154,23 +174,34 @@ $fonts: map-merge((
154
174
  // #endregion
155
175
 
156
176
  // #region Type
157
- $h1-font-size: $font-size-base * 2;
158
- $h2-font-size: $font-size-base * 1.5;
159
- $h3-font-size: $font-size-base * 1.5;
160
- $h4-font-size: $font-size-base * 1.25;
161
- $h5-font-size: $font-size-base * 1.125;
162
- $h6-font-size: $font-size-base * 1.125;
163
- // scss-docs-end font-variables
164
-
165
- // scss-docs-start font-sizes
177
+
178
+ $type-scale-1: #{rem(100)};
179
+ $type-scale-2: #{rem(60)};
180
+ $type-scale-3: #{rem(40)};
181
+ $type-scale-4: #{rem(32)};
182
+ $type-scale-5: #{rem(28)};
183
+ $type-scale-6: #{rem(16)};
184
+ $type-scale-7: #{rem(14)};
185
+
186
+
187
+ $h1-font-size: var(--fs-1);
188
+ $h2-font-size: var(--fs-2);
189
+ $h3-font-size: var(--fs-3);
190
+ $h4-font-size: var(--fs-4);
191
+ $h5-font-size: var(--fs-5);
192
+ $h6-font-size: var(--fs-6);
193
+
166
194
  $font-sizes: (
167
- 1: $h1-font-size,
168
- 2: $h2-font-size,
169
- 3: $h3-font-size,
170
- 4: $h4-font-size,
171
- 5: $h5-font-size,
172
- 6: $h6-font-size,
173
- 'badge': $badge-font-size
195
+ 'display': $type-scale-3,
196
+ 1: $type-scale-3,
197
+ 2: $type-scale-4,
198
+ 3: $type-scale-5,
199
+ 4: $type-scale-6,
200
+ 5: $type-scale-6,
201
+ 6: $type-scale-6,
202
+ 'badge': $badge-font-size,
203
+ 'small': $type-scale-7,
204
+ 'strapline': $type-scale-6
174
205
  );
175
206
 
176
207
  @each $size, $value in $font-sizes {
@@ -180,10 +211,10 @@ $font-sizes: (
180
211
  ), $vars);
181
212
  }
182
213
 
183
- $headings-margin-bottom: 0.5em;
214
+ $headings-margin-bottom: clamp(1rem,0.5em,0.5em);
184
215
  $headings-font-style: normal;
185
- $headings-line-height: 1.2;
186
-
216
+ $headings-line-height: clamp(1em,2.5rem,clamp(1.5em,1rem,1.2em));
217
+ $display-line-height: $headings-line-height;
187
218
 
188
219
  @if $compatible == 'true' {
189
220
  $headings-font-family: $font-heading;
@@ -196,6 +227,21 @@ $headings-line-height: 1.2;
196
227
  $headings-color: var(--colour-primary);
197
228
  }
198
229
 
230
+ $font-md-sizes: (
231
+ 'display': $type-scale-1,
232
+ 1: $type-scale-2,
233
+ 2: $type-scale-3,
234
+ 3: $type-scale-4,
235
+ 4: $type-scale-5,
236
+ 'strapline': $type-scale-5
237
+ );
238
+
239
+ @each $size, $value in $font-md-sizes {
240
+
241
+ $varsMD: map-merge((
242
+ --fs-#{$size}: #{$value}
243
+ ), $varsMD);
244
+ }
199
245
 
200
246
  $vars: map-merge((
201
247
  --heading-weight: 700
@@ -32,6 +32,7 @@
32
32
  vertical-align: bottom;
33
33
  margin-left: 0.5em;
34
34
  margin-right: 0.5em;
35
+ margin-bottom: 0.1em;
35
36
  }
36
37
 
37
38
 
@@ -1,4 +1,4 @@
1
- .header {
1
+ .header-banner {
2
2
  background: linear-gradient(180deg,var(--colour-secondary) 0, var(--colour-info) 100%);
3
3
  margin-bottom: rem(32);
4
4
  position: relative;
@@ -3,9 +3,12 @@
3
3
 
4
4
  margin-left: auto;
5
5
  margin-right: auto;
6
- padding: 0 rem(20) rem(16) rem(20);
6
+ padding: var(--container-padding-top) var(--container-padding-x) var(--container-padding-bottom) var(--container-padding-x);
7
7
  width: 100%;
8
- max-width: rem(1440);
8
+
9
+ &:not(.container-fluid) {
10
+ max-width: rem(1440);
11
+ }
9
12
 
10
13
  .container {
11
14
  padding-left: 0;
@@ -16,23 +19,15 @@
16
19
  }
17
20
 
18
21
  &[class*="bg-"] {
19
- padding-top: rem(48);
20
- padding-bottom: rem(32);
22
+ --container-padding-top: #{rem(48)};
23
+ --container-padding-bottom: #{rem(32)};
21
24
  }
22
25
 
23
26
  &[class*="bg-"] + .container:not([class*="bg-"]) {
24
27
 
25
- padding-top: rem(32);
28
+ --container-padding-top: #{rem(32)};
26
29
  }
27
30
 
28
- @include media-breakpoint-up(md) {
29
- padding: 0 rem(60) rem(16) rem(60);
30
-
31
- &[class*="bg-"] {
32
- padding-top: rem(48);
33
- padding-bottom: rem(32);
34
- }
35
- }
36
31
 
37
32
  // Fix the clearing for containers
38
33
  &:before {
@@ -54,8 +49,8 @@
54
49
  z-index: 1;
55
50
 
56
51
 
57
- &[class*="circle-pattern-"] {
58
- overflow: hidden;
52
+ &[class*="circle-pattern"] {
53
+ //overflow: hidden;
59
54
  }
60
55
 
61
56
  > .circle {
@@ -131,4 +126,97 @@
131
126
  }
132
127
  }
133
128
  }
134
- // #endregion
129
+ // #endregion
130
+
131
+
132
+ // #region Curve
133
+ @mixin curve($start: 10, $point-1: 20, $point-2: 95, $end: 70, $padding-top:16)
134
+ {
135
+ // Constant rules
136
+ position: relative;
137
+
138
+ // Let vars
139
+ $height: 100;
140
+ $width: 576;
141
+ $middle-x: $width/2;
142
+ $edge: 2;
143
+ $modify: 1;
144
+
145
+ // Rules that will change
146
+ width: #{$width}px;
147
+ padding-top: calc(#{($height*$modify)}px + #{$padding-top}px)!important;
148
+ margin-top: -#{($height*$modify)}px;
149
+ margin-left: calc(-#{($width/2)}px + 50vw);
150
+ clip-path: path('#{'M0,'+($start*$modify)+' L'+($edge)+','+($start*$modify)+' C'+$middle-x+','+($point-1*$modify)+' '+$middle-x+','+($point-2*$modify)+' '+($width - $edge)+','+($end*$modify)+' L'+($width + $edge)+','+($end * $modify)+' L'+$width+',5000 L0,5000 Z'}');
151
+
152
+ @include media-breakpoint-up(sm) {
153
+
154
+ // Tablet vars
155
+ $width: 992;
156
+ $middle-x: $width/2;
157
+ $modify: 1.5;
158
+
159
+ // Tablet CSS rules
160
+ width: #{$width}px;
161
+ padding-top: calc(#{($height*$modify)}px + #{$padding-top}px)!important;
162
+ margin-top: -#{($height*$modify)}px;
163
+ margin-left: calc(-#{($width/2)}px + 50vw);
164
+ clip-path: path('#{'M0,'+($start*$modify)+' L'+($edge)+','+($start*$modify)+' C'+$middle-x+','+($point-1*$modify)+' '+$middle-x+','+($point-2*$modify)+' '+($width - $edge)+','+($end*$modify)+' L'+($width + $edge)+','+($end*$modify)+' L'+$width+',5000 L0,5000 Z'}');
165
+ }
166
+
167
+ @include media-breakpoint-up(md) {
168
+
169
+ // Desktop vars
170
+ $width: 1440;
171
+ $middle-x: $width/2;
172
+ $modify: 2;
173
+
174
+ // Desktop CSS rules
175
+ width: #{$width}px;
176
+ max-width: #{$width}px!important;
177
+ padding-top: calc(#{($height*$modify)}px + #{$padding-top}px)!important;
178
+ margin-top: -#{($height*$modify)}px;
179
+ margin-left: calc(-#{($width/2)}px + 50vw);
180
+ clip-path: path('#{'M0,'+($start*$modify)+' L'+($edge)+','+($start*$modify)+' C'+$middle-x+','+($point-1*$modify)+' '+$middle-x+','+($point-2*$modify)+' '+($width - $edge)+','+($end*$modify)+' L'+($width + $edge)+','+($end*$modify)+' L'+$width+',5000 L0,5000 Z'}');
181
+ }
182
+ }
183
+
184
+ .container--curve-below {
185
+
186
+ padding-bottom: calc(100px + #{rem(16)});
187
+
188
+ @include media-breakpoint-up(sm) {
189
+ padding-bottom: calc(150px + #{rem(16)});
190
+ }
191
+ @include media-breakpoint-up(md) {
192
+ padding-bottom: calc(200px + #{rem(16)});
193
+ }
194
+ }
195
+
196
+
197
+ .container--curve {
198
+
199
+ @include curve();
200
+ }
201
+ .container--curve--right {
202
+
203
+ @include curve(70, 95, 20, 10);
204
+ }
205
+ .container--curve--up {
206
+
207
+ @include curve(90,0,0,90,-16);
208
+ }
209
+ .container--curve--down {
210
+
211
+ @include curve(0,90,90,0,16);
212
+ }
213
+
214
+ [class*="container--curve"] {
215
+
216
+ position: relative;
217
+
218
+ @media (min-width: #{em(1440)}) {
219
+ margin-left: auto;
220
+ }
221
+ }
222
+ // #endregion
@@ -1,3 +1,8 @@
1
+ ol li,
2
+ ul li{
3
+ max-width: $content-max-width;
4
+ }
5
+
1
6
  .breadcrumb {
2
7
 
3
8
  font-size: rem(14);
@@ -6,7 +6,10 @@
6
6
  @include var(color,--colour-heading);
7
7
  color: var(--colour-heading,var(--colour-primary));
8
8
  display: block;
9
- margin-bottom: 1rem;
9
+ //margin-bottom: clamp(1rem,0.5em,0.5em);
10
+ //line-height: clamp(2.5rem,1em,1.2em);
11
+ text-indent: -0.04em;
12
+ letter-spacing: -0.01em;
10
13
  }
11
14
 
12
15
  h1,
@@ -18,8 +21,6 @@ h2,
18
21
  h3,
19
22
  .h3 {
20
23
  @extend %heading;
21
- @include var(font-family, --font-body);
22
- font-weight: normal;
23
24
  }
24
25
  h4,
25
26
  .h4,
@@ -31,6 +32,15 @@ h6,
31
32
  @extend %heading;
32
33
  }
33
34
 
35
+ .display-1,
36
+ .display-2,
37
+ .display-3,
38
+ .display-4 {
39
+
40
+ @extend %heading;
41
+ font-size: var(--fs-display);
42
+ }
43
+
34
44
  // #endregion
35
45
 
36
46
  p {
@@ -42,10 +52,13 @@ p + p {
42
52
  }
43
53
 
44
54
  .strapline {
45
- @include var(font-size,--fs-4);
55
+ @include var(font-size,--fs-strapline);
46
56
  @include var(font-family, --font-heading);
47
57
  @include var(color,--colour-secondary);
48
- font-weight: 600;
58
+ line-height: 1.2;
59
+ font-weight: 700;
60
+ margin-bottom: clamp(1rem,0.5em,0.5em);
61
+ //text-shadow: ;
49
62
 
50
63
  h1 + &,
51
64
  .h1 + & {
@@ -55,7 +68,9 @@ p + p {
55
68
  }
56
69
 
57
70
  .lead {
58
- @include var(font-size,--fs-3);
71
+ @include var(font-size,--fs-strapline);
72
+ @include var(font-family, --font-heading);
73
+ font-weight: 700;
59
74
  line-height: 1.2;
60
75
  margin-bottom: 3rem;
61
76
  @include var(color,--colour-primary);
@@ -67,7 +82,7 @@ blockquote {
67
82
  margin-bottom: 1rem;
68
83
 
69
84
  p {
70
- @include var(font-size,--fs-3);
85
+ @include var(font-size,--fs-4);
71
86
  @include var(color,--colour-heading);
72
87
  margin-top: 0;
73
88
  margin-bottom: 1rem;
@@ -24,11 +24,21 @@
24
24
  flex-wrap: nowrap;
25
25
  align-items: center;
26
26
  padding-right: rem(16);
27
+ padding-bottom: rem(16);
27
28
  min-width: 100%;
28
29
  min-width: Min(100%, var(--svg-width));
29
30
  font-size: rem(64);
30
31
  @include var(color,--colour-primary);
31
32
 
33
+ /* Restrict the logo colours so that only text-secondary can be defined */
34
+ &[class*="text-"]:not(.text-secondary){
35
+ color: inherit!important;
36
+ }
37
+
38
+ &[class*="text-"].text-secondary{
39
+ color: var(--colour-secondary-theme)!important;
40
+ }
41
+
32
42
  svg {
33
43
  fill: currentColor;
34
44
  height: 1em;
@@ -1,6 +1,5 @@
1
1
  .circle {
2
2
  position: relative;
3
- border: 2px solid currentColor;
4
3
  border-radius: 50%;
5
4
  height: 1em;
6
5
  width: 1em;
@@ -9,12 +8,17 @@
9
8
  overflow: hidden;
10
9
  @include var(color,--colour-secondary);
11
10
 
11
+ &:not([class*="gradient-"]){
12
+
13
+ border: 2px solid currentColor;
14
+ }
15
+
12
16
  &:not([class*="border-"]):before{
13
17
 
14
18
  background-color: currentColor;
15
19
  }
16
20
 
17
- &:before {
21
+ &:not([class*="gradient-"]):before {
18
22
  content: "";
19
23
  display: block;
20
24
  position: absolute;
@@ -23,13 +27,13 @@
23
27
  width: 100%;
24
28
  height: 100%;
25
29
  mask-image: var(--icon-bg);
26
- mask-size: 17%;
30
+ mask-size: rem(34);
27
31
  mask-repeat: repeat;
28
32
  mask-position: 50% 50%;
29
33
  -webkit-mask-image: var(--icon-bg);
30
- -webkit-mask-size: 17%;
34
+ -webkit-mask-size: rem(34);
31
35
  -webkit-mask-repeat: repeat;
32
- -webkit-mask-position: 50% 50%;
36
+ -webkit-mask-position: 50% 51%;
33
37
  }
34
38
 
35
39
  &--cross:before,
@@ -41,7 +45,7 @@
41
45
 
42
46
  &--plus:before {
43
47
 
44
- transform: rotate(45deg);
48
+ transform: rotate(46deg);
45
49
  }
46
50
 
47
51
  &--stripe:before {
@@ -56,11 +60,4 @@
56
60
  background-color: currentColor;
57
61
  --icon-bg: url("data:image/svg+xml,%3Csvg width='34' height='34' viewBox='0 0 34 34' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='17' r='3' /%3E%3Ccircle cy='17' r='3' /%3E%3Ccircle cx='34' cy='17' r='3' /%3E%3Ccircle cx='17' cy='34' r='3' /%3E%3C/svg%3E");
58
62
  }
59
-
60
- &--gradient {
61
- border: none!important;
62
- }
63
- &--gradient:before {
64
- background: linear-gradient(180deg, var(--colour-secondary) 0, var(--colour-info) 100%);
65
- }
66
63
  }
@@ -2,11 +2,11 @@
2
2
  html {
3
3
 
4
4
  -webkit-font-smoothing: antialiased; // Fix for Safari/iOS
5
+ height: 100%;
6
+ width: 100%;
5
7
  overflow: hidden;
6
- overflow-x: hidden;
7
8
  overflow-y: scroll;
8
- height: 100%;
9
-
9
+ overflow-x: hidden;
10
10
  font-size: vw($device-xs-width);
11
11
 
12
12
  @include media-breakpoint-up(sm) {
@@ -38,7 +38,17 @@ body {
38
38
  @include var(color,--colour-body);
39
39
  width: 100%;
40
40
  line-height: 1.5;
41
- height: 100%;
41
+ //height: 100%;
42
+ //overflow-y: scroll;
43
+ //overflow-x: hidden;
44
+ }
45
+
46
+ @media (hover: none) {
47
+ body {
48
+ height: 100%;
49
+ overflow-y: scroll;
50
+ overflow-x: hidden;
51
+ }
42
52
  }
43
53
 
44
54
  #app {
@@ -5,7 +5,10 @@
5
5
  }
6
6
 
7
7
  @include media-breakpoint-up(md) {
8
- --fs-1: 2.5rem;
8
+
9
+ @each $var, $value in $varsMD {
10
+ #{$var}: #{$value};
11
+ }
9
12
  }
10
13
  --colour-underline: var(--colour-secondary);
11
14
  --colour-heading: var(--colour-primary);