@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
@@ -28,6 +28,7 @@ nav:has(iam-nav) {
28
28
 
29
29
  min-height: #{rem(96)};
30
30
  display: block;
31
+ position: relative;
31
32
 
32
33
  iam-nav {
33
34
  position: absolute;
@@ -554,7 +555,7 @@ iam-nav details {
554
555
 
555
556
  &.search-open {
556
557
 
557
- > *:not([slot="logo"]):not([slot="secondary"]) {
558
+ > *:not([slot="logo"]):not([slot="secondary"]):not([slot="search"]) {
558
559
  display: none!important;
559
560
  }
560
561
  }
@@ -121,7 +121,6 @@
121
121
  display: inline-block;
122
122
  font-size: 1.2rem;
123
123
  margin-right: 1rem!important;
124
- line-height: 1em;
125
124
  }
126
125
 
127
126
  i[class*=fa-] + i[class*=fa-] {
@@ -615,6 +614,13 @@
615
614
  }
616
615
  }
617
616
 
617
+ ::slotted(.nav--menu[data-open-title]){
618
+
619
+ &:before {
620
+ content: attr(data-open-title);
621
+ }
622
+ }
623
+
618
624
  ::slotted(.nav--menu.open) {
619
625
  left: calc(100% - (#{rem(375)} - var(--scrollbar-width)) );
620
626
  -webkit-box-shadow: 0 6px 12px 0px rgba(0,0,0,0.2);
@@ -0,0 +1,41 @@
1
+ @use "../_func" as *;
2
+
3
+ .container.notification__holder {
4
+
5
+ position: fixed;
6
+ top: var(--nav-height);
7
+ left: 50%;
8
+ transform: translate(-50%,0);
9
+ bottom: 0;
10
+ z-index: 999999;
11
+ pointer-events: none;
12
+ padding-top: 1rem;
13
+ padding-bottom: 1rem;
14
+ display: flex;
15
+ margin: 0;
16
+ width: 100%;
17
+ flex-wrap: wrap;
18
+ align-content: flex-start;
19
+ flex-direction: column;
20
+ align-content: flex-end;
21
+ align-items: flex-end;
22
+
23
+ :is(.iam-notification, iam-notification) {
24
+ pointer-events: all;
25
+ margin: 0.5rem 0 0.5rem 0;
26
+ }
27
+
28
+ &.bottom {
29
+ flex-direction: column-reverse;
30
+ }
31
+
32
+ &.left {
33
+ align-content: flex-start;
34
+ align-items: flex-start;
35
+ }
36
+
37
+ &.middle {
38
+ align-content: space-around;
39
+ align-items: center;
40
+ }
41
+ }
@@ -41,6 +41,10 @@
41
41
  padding-left: rem(16);
42
42
  font-weight: bold;
43
43
  }
44
+
45
+ div:has(> select){
46
+ margin-bottom: 0;
47
+ }
44
48
  }
45
49
 
46
50
  .page-jump {
@@ -0,0 +1,121 @@
1
+ @use "../_func" as *;
2
+
3
+ .row {
4
+ align-items: center;
5
+ }
6
+
7
+ :is(.min, .max) {
8
+
9
+ max-width: fit-content;
10
+ line-height: 2rem;
11
+ }
12
+
13
+ .sliders {
14
+ position: relative;
15
+ padding: 0;
16
+ }
17
+
18
+ :host {
19
+ max-width: $input-max-width;
20
+ display: block;
21
+ }
22
+
23
+ // Track
24
+ input[type="range"]::-webkit-slider-runnable-track {
25
+
26
+ background: linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) var(--percent, 0%), var(--track-colour) var(--percent, 0%));
27
+ }
28
+
29
+ input[type="range"]::-moz-range-track {
30
+
31
+ background: linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) var(--percent, 0%), var(--track-colour) var(--percent, 0%));
32
+ }
33
+
34
+
35
+ // Two input fields
36
+ input[type="range"] + input[type="range"] {
37
+ position: absolute;
38
+ top: 0;
39
+ left: 50%;
40
+ width: 50%;
41
+ }
42
+
43
+ input[type="range"] + input[type="range"]::-webkit-slider-runnable-track {
44
+
45
+ background: transparent;
46
+ pointer-events: none;
47
+ width: 200%;
48
+ margin-left: -100%;
49
+ }
50
+
51
+ @supports (-moz-appearance:none) {
52
+ input[type="range"] + input[type="range"] {
53
+ left: 0;
54
+ width: 100%;
55
+
56
+
57
+ pointer-events: none;
58
+ }
59
+
60
+ }
61
+
62
+ input[type="range"] + input[type="range"]::-moz-range-track {
63
+ background: transparent;
64
+ pointer-events: none;
65
+ }
66
+
67
+
68
+ .input__wrapper {
69
+ display: flex;
70
+
71
+ justify-content: flex-end;
72
+ --max-width: #{rem(100)};
73
+ --padding-top: 0.75rem;
74
+
75
+
76
+ > span {
77
+ display: none;
78
+ }
79
+
80
+ &[data-elements="2"]{
81
+
82
+ justify-content: space-between;
83
+ --max-width: calc(50% - #{rem(48)});
84
+ --padding-top: 2rem;
85
+ position: relative;
86
+
87
+ &:before {
88
+ content: "";
89
+ position: absolute;
90
+ width: rem(64);
91
+ height: 2px;
92
+ top: calc(50% - 1px);
93
+ left: calc(50% - #{rem(32)});
94
+ background-color: var(--colour-border);
95
+ }
96
+
97
+ span {
98
+ display: block;
99
+ position: absolute;
100
+ top: 0.5rem;
101
+ left: 1rem;
102
+ color: #9D9D9D;
103
+ font-size: 1rem;
104
+ }
105
+
106
+ span + span {
107
+ left: calc(50% + #{rem(64)});
108
+ }
109
+
110
+ }
111
+ }
112
+
113
+ ::slotted(input){
114
+ margin-top: 0!important;
115
+ padding-top: var(--padding-top)!important;
116
+ max-width: var(--max-width)!important;
117
+ -webkit-appearance: none!important;
118
+ appearance: none!important;
119
+ min-height: auto!important;
120
+ max-height: none!important;
121
+ }
@@ -513,6 +513,10 @@ iam-table.table--fullwidth:not([data-expandable]) {
513
513
  }
514
514
  }
515
515
 
516
+ tr:not(:has(p)) [data-expand-button] {
517
+ display: none;
518
+ }
519
+
516
520
  tr:not([data-view="full"]) td p {
517
521
  display: -webkit-box;
518
522
  -webkit-box-orient: vertical;
@@ -566,7 +570,7 @@ iam-table.table--fullwidth:not([data-expandable]) {
566
570
  left: auto;
567
571
  top: auto;
568
572
  z-index: 3;
569
- padding: 0;
573
+ padding: rem(4) 0 0 0;
570
574
  min-width: rem(48 + 24);
571
575
  height: calc(var(--row-height) - 2px);
572
576
  text-align: left;
@@ -9,7 +9,7 @@
9
9
  background: white;
10
10
  padding: var(--wrapper-padding);
11
11
  box-shadow: 0px 6px 12px rgba(0,0,0,0.11);
12
- border-radius: rem(8);
12
+ border-radius: rem(10);
13
13
  margin-bottom: rem(32);
14
14
  overflow: hidden;
15
15
 
@@ -107,15 +107,12 @@
107
107
  }
108
108
 
109
109
  &:not(.disabled) {
110
- &[aria-pressed="true"]:after,
111
- &:active:after,
112
- &.active:after {
110
+ &:is([aria-pressed="true"],:active,.current):after {
113
111
  transform: translate(-50%, 0) scale(1, 1);
114
112
  }
115
113
  }
116
114
 
117
- &[aria-pressed="true"],
118
- &.active {
115
+ &:is([aria-pressed="true"],.current) {
119
116
  pointer-events: none;
120
117
  outline: var(--contrast-outline-width, 0px) solid var(--colour-primary-theme)!important;
121
118
  }
@@ -1,6 +1,5 @@
1
1
  @charset "UTF-8";
2
2
 
3
3
  @use "_fonts";
4
- @use "_corefiles";
5
- @use '../../assets/sass/components/nav-global.scss';
4
+ @use "_corefiles.scss";
6
5
  @use "_print";
@@ -4,6 +4,11 @@
4
4
  --padding-x: #{rem(32)};
5
5
  --padding-top: #{rem(16)};
6
6
  --padding-bottom: #{rem(24)};
7
+ --mh-modifier: #{rem(56 + 16)};
8
+
9
+ --mh-padding-inline: var(--padding-x);
10
+
11
+
7
12
  display: block;
8
13
  padding: var(--padding-top) var(--padding-x) var(--padding-bottom) var(--padding-x);
9
14
  box-shadow: 0px 6px 12px rgba(0,0,0,0.11);
@@ -65,23 +70,20 @@
65
70
  padding-bottom: rem(24);
66
71
  }
67
72
 
68
- > :is(.mh-sm,.mh-md,.mh-lg){
73
+ > :is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg){
69
74
  overflow: auto;
70
-
71
- padding: 0 var(--padding-x);
72
- margin: 0 calc(var(--padding-x) * -1) rem(24) calc(var(--padding-x) * -1);
73
75
 
74
76
  &:before {
75
77
  top: 100% !important;
76
78
  }
77
79
  }
78
80
 
79
- > :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):first-child + :is(.mh-sm,.mh-md,.mh-lg){
81
+ > :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):first-child + :is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg){
80
82
  padding-top: var(--padding-top);
81
83
  margin-top: calc(var(--padding-top) * -1);
82
84
  }
83
85
 
84
- > :is(.mh-sm,.mh-md,.mh-lg):last-child{
86
+ > :is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg):last-child{
85
87
  padding-bottom: var(--padding-bottom);
86
88
  margin-bottom: calc(var(--padding-bottom) * -1)!important;
87
89
 
@@ -99,7 +101,7 @@
99
101
  }
100
102
  }
101
103
 
102
- [class*="col"] .admin-panel:first-child:last-child:not(:has(.mh-sm,.mh-md,.mh-lg)) {
104
+ [class*="col"] .admin-panel:first-child:last-child:not(:has(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg)) {
103
105
 
104
106
  min-height: calc(100% - #{rem(24)});
105
107
  }
@@ -0,0 +1,29 @@
1
+ @use "../_func" as *;
2
+
3
+ .badge {
4
+
5
+ font-size: rem(12);
6
+ line-height: rem(26);
7
+ outline: 1px solid var(--colour-canvas);
8
+ outline-offset: -1px;
9
+ padding: 0 rem(10);
10
+ margin: 0;
11
+ display: inline-block;
12
+ text-align: center;
13
+ white-space: nowrap;
14
+
15
+ & + .badge {
16
+ margin-left: rem(6);
17
+ }
18
+ border-radius: 0.25rem;
19
+
20
+ &:empty {
21
+ display: none;
22
+ }
23
+ }
24
+
25
+ // Quick fix for badges in buttons
26
+ .btn .badge {
27
+ position: relative;
28
+ top: -1px;
29
+ }
@@ -57,6 +57,23 @@
57
57
  }
58
58
  }
59
59
  }
60
+
61
+
62
+ // replicate container padding-bottom
63
+ main > .row {
64
+
65
+ padding-bottom: #{rem(16)};
66
+
67
+ &[class*="bg-"] {
68
+ padding-top: #{rem(48)};
69
+ padding-bottom: #{rem(32)};
70
+ }
71
+
72
+ &[class*="bg-"] + :is(.row, .container):not([class*="bg-"]) {
73
+
74
+ padding-top: #{rem(32)};
75
+ }
76
+ }
60
77
  // #endregion
61
78
 
62
79
  // #region Circles
@@ -178,7 +178,7 @@ dialog::backdrop {
178
178
  // #endregion
179
179
 
180
180
  // #region Transactional
181
- *:not(.dialog__wrapper) > dialog[open]:not(.dialog--multi):is(:has(button:last-child),:has(form:last-child > button:last-child)) {
181
+ *:not(.dialog__wrapper) > dialog[open]:not(.dialog--multi):is(:has(:is(button,a):last-child),:has(form:last-child > :is(button,a):last-child)) {
182
182
 
183
183
  text-align: center;
184
184
 
@@ -252,14 +252,14 @@ dialog::backdrop {
252
252
  }
253
253
  }
254
254
 
255
- button {
255
+ form > :is(button,a) {
256
256
  margin-bottom: 0;
257
257
  }
258
258
 
259
259
  @include media-breakpoint-up(sm) {
260
260
 
261
- button:has( + button:last-child),
262
- button:last-child {
261
+ :is(button, .btn):has(~ :is(button, .btn):last-child),
262
+ :is(button, .btn):last-child {
263
263
  min-width: calc(50% - 1rem);
264
264
  text-align: center;
265
265
  }
@@ -20,7 +20,7 @@ $icon-tick: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' view
20
20
  // #endregion
21
21
 
22
22
  // #region input field
23
- :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,output,select:not(.select--minimal)) {
23
+ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),textarea,output,select:not(.select--minimal)) {
24
24
  display: block;
25
25
  width: 100%;
26
26
  display: block;
@@ -61,7 +61,7 @@ $icon-tick: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' view
61
61
  }
62
62
  }
63
63
 
64
- :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])){
64
+ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"])){
65
65
 
66
66
  max-width: $input-max-width;
67
67
  }
@@ -102,7 +102,7 @@ div:has(> label:first-child):has(> input) {
102
102
  margin-bottom: rem(24);
103
103
 
104
104
 
105
- input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), output, .prefix, .suffix {
105
+ input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]), output, .prefix, .suffix {
106
106
  margin-bottom: 0!important;
107
107
  }
108
108
 
@@ -111,12 +111,12 @@ div:has(> label:first-child):has(> input) {
111
111
  align-items: center;
112
112
 
113
113
 
114
- > *:not(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])):not(output):not(.prefix):not(.suffix) {
114
+ > *:not(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"])):not(output):not(.prefix):not(.suffix) {
115
115
  flex-shrink: 0;
116
116
  width: 100%;
117
117
  }
118
118
 
119
- :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,output) {
119
+ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),textarea,output) {
120
120
  flex-shrink: 1;
121
121
  flex-grow: 1;
122
122
  width: 0;
@@ -310,14 +310,14 @@ div:has(> label:first-child):has(> input):has(> :is(.form-control-inline,.input-
310
310
  }
311
311
  }
312
312
 
313
- .prefix ~ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,output) {
313
+ .prefix ~ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),textarea,output) {
314
314
 
315
315
  border-end-start-radius: 0!important;
316
316
  border-start-start-radius: 0!important;
317
317
  }
318
318
 
319
- .suffix ~ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,output),
320
- :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,output):has(~ .suffix) {
319
+ .suffix ~ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),textarea,output),
320
+ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),textarea,output):has(~ .suffix) {
321
321
  order: 1;
322
322
 
323
323
  border-start-end-radius: 0!important;
@@ -367,7 +367,7 @@ input[maxlength] + span {
367
367
  background-repeat: no-repeat;
368
368
  background-position: right var(--input-padding-inline, #{rem(16)}) center;
369
369
  background-size: var(--input-lh, #{rem(20)}) var(--input-lh, #{rem(20)});;
370
- padding-right: calc(var(--input-lh, #{rem(20)}) + var(--input-padding-inline, #{rem(16)}) + var(--input-padding-inline, #{rem(16)}));
370
+ padding-right: calc(var(--input-lh, #{rem(20)}) + var(--input-padding-inline, #{rem(16)}) + var(--input-padding-inline, #{rem(16)}))!important;
371
371
  }
372
372
 
373
373
  .was-validated *:not(button):is(:valid, .is-valid):not(.is-invalid) {
@@ -381,7 +381,7 @@ input[maxlength] + span {
381
381
  background-repeat: no-repeat;
382
382
  background-position: right var(--input-padding-inline, #{rem(16)}) center;
383
383
  background-size: var(--input-lh, #{rem(20)}) var(--input-lh, #{rem(20)});;
384
- padding-right: calc(var(--input-lh, #{rem(20)}) + var(--input-padding-inline, #{rem(16)}) + var(--input-padding-inline, #{rem(16)}));
384
+ padding-right: calc(var(--input-lh, #{rem(20)}) + var(--input-padding-inline, #{rem(16)}) + var(--input-padding-inline, #{rem(16)}))!important;
385
385
  }
386
386
 
387
387
  .invalid-feedback {
@@ -484,8 +484,13 @@ label:has(input:is([type="radio"],[type="checkbox"])):not(:has(> iam-card)){
484
484
  top: rem(10 - 2);
485
485
  left: var(--outline-width);
486
486
  }
487
+
488
+ &.btn:before {
489
+ opacity: 0;
490
+ }
487
491
  }
488
492
 
493
+
489
494
  input[type="radio"] + label:not(:has(> iam-card)),
490
495
  label:has(input[type="radio"]):not(:has(> iam-card)) {
491
496
 
@@ -736,7 +741,7 @@ select {
736
741
  background: escape-svg($form-select-indicator-new) right var(--input-padding-block, 0.75rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat,
737
742
  linear-gradient(to left, var(--colour-primary-theme), var(--colour-primary-theme) 100%) right top/calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)) calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)) no-repeat;
738
743
 
739
- padding-right: calc(var(--input-padding-inline, #{rem(16)}) + var(--input-padding-inline, #{rem(16)}) + var(--input-lh, 1.25rem));
744
+ padding-right: calc(var(--input-padding-inline, #{rem(16)}) + var(--input-padding-inline, #{rem(16)}) + var(--input-lh, 1.25rem))!important;
740
745
  option {font-size: 1.2em;}
741
746
 
742
747
 
@@ -826,13 +831,15 @@ iam-fileupload {
826
831
 
827
832
  display: block;
828
833
  margin-bottom: rem(24);
834
+ max-width: $input-max-width;
829
835
 
830
- :is(input,select) {
836
+ :is(input:not([type="range"]),select) {
831
837
  margin-top: rem(8);
832
838
  margin-bottom: 0!important;
833
839
  }
834
840
 
835
- :is(input,select) ~ span:not(:is(.suffix,.prefix,.invalid-feedback)) {
841
+ :is(input,select) ~ span:not(:is(.suffix,.prefix,.invalid-feedback)),
842
+ span:has(> :is(input,select)) ~ span:not(:is(.suffix,.prefix,.invalid-feedback)) {
836
843
  all: initial;
837
844
  font-family: var(--font-body);
838
845
  color: var(--colour-body);
@@ -851,7 +858,7 @@ iam-fileupload {
851
858
  width: 100%;
852
859
  }
853
860
 
854
- :is(.suffix,.prefix) {
861
+ :is(.suffix,.prefix):not(.mt-0) {
855
862
  margin: rem(8) 0 0 0!important;
856
863
  }
857
864
  }
@@ -886,3 +893,124 @@ iam-fileupload {
886
893
  }
887
894
 
888
895
  // #endregion
896
+
897
+ // #region input range
898
+ input[type="range"] {
899
+
900
+ --track-size: #{rem(8)};
901
+ --track-colour: var(--colour-light);
902
+ --thumb-colour: var(--colour-info);
903
+ --thumb-size: #{rem(24)};
904
+ width: 100%;
905
+ background: transparent;
906
+ cursor: pointer;
907
+ margin-top: rem(32);
908
+ margin-bottom: rem(32);
909
+ height: rem(32);
910
+ border-radius: 50%;
911
+ accent-color: var(--thumb-colour);
912
+ -webkit-appearance: none;
913
+ appearance: none;
914
+ }
915
+
916
+ *:has(> input[type="range"]) {
917
+ position: relative;
918
+ padding-bottom: 6rem;
919
+ max-width: $input-max-width;
920
+ }
921
+
922
+ label input[type=range] {
923
+ position: absolute;
924
+ top: 1.5rem;
925
+ left: 0;
926
+ }
927
+
928
+
929
+ // Track Styles
930
+ input[type="range"]::-webkit-slider-runnable-track {
931
+
932
+ background: var(--track-colour);
933
+ height: var(--track-size);
934
+ border-radius: 0.5rem;
935
+ }
936
+
937
+ input[type="range"]::-moz-range-track {
938
+ background: var(--track-colour);
939
+ height: var(--track-size);
940
+ border-radius: 0.5rem;
941
+ }
942
+
943
+ // Thumb Styles
944
+ input[type="range"]::-webkit-slider-thumb {
945
+ -webkit-appearance: none; /* Override default look */
946
+ appearance: none;
947
+ margin-top: rem(-8); /* Centers thumb on the track */
948
+ background-color: var(--thumb-colour);
949
+ height: var(--thumb-size);
950
+ width: var(--thumb-size);
951
+ border-radius: 50%;
952
+ position: relative;
953
+ z-index: 99;
954
+ pointer-events: all;
955
+ }
956
+
957
+ input[type="range"]::-moz-range-thumb {
958
+ border: none; /*Removes extra border that FF applies*/
959
+ background-color: var(--thumb-colour); /*Removes default border-radius that FF applies*/
960
+ height: var(--thumb-size);
961
+ width: var(--thumb-size);
962
+ border-radius: 50%;
963
+ position: relative;
964
+ z-index: 99;
965
+ pointer-events: all;
966
+ }
967
+
968
+ // Focus Styles
969
+ input[type="range"]:focus {
970
+ outline: none;
971
+ }
972
+
973
+ input[type="range"]:hover::-webkit-slider-thumb,
974
+ input[type="range"]:focus::-webkit-slider-thumb {
975
+ outline: 0.5rem solid rgba(30, 190, 231, .2);
976
+ }
977
+
978
+ input[type="range"]:active::-webkit-slider-thumb {
979
+ outline: 0.5rem solid rgba(30, 190, 231, .4);
980
+ }
981
+
982
+ input[type="range"]:hover::-moz-range-thumb,
983
+ input[type="range"]:focus::-moz-range-thumb {
984
+ outline: 0.5rem solid rgba(30, 190, 231, .2);
985
+ }
986
+ input[type="range"]:focus::-moz-range-thumb {
987
+ outline: 0.5rem solid rgba(30, 190, 231, .4);
988
+ }
989
+
990
+
991
+ iam-slider input::-webkit-outer-spin-button,
992
+ iam-slider input::-webkit-inner-spin-button {
993
+ -webkit-appearance: none;
994
+ margin: 0;
995
+ }
996
+
997
+ // #endregion
998
+
999
+ // #region Date and time fields
1000
+ :is(input[type="date"],input[type="time"]) {
1001
+ position: relative;
1002
+ }
1003
+ :is(input[type="date"],input[type="time"])::-webkit-calendar-picker-indicator {
1004
+ background: transparent;
1005
+ bottom: 0;
1006
+ color: transparent;
1007
+ cursor: pointer;
1008
+ height: auto;
1009
+ left: 8em;
1010
+ position: absolute;
1011
+ right: 0;
1012
+ top: 0;
1013
+ width: auto;
1014
+ order: 3;
1015
+ }
1016
+ // #endregion
@@ -80,7 +80,8 @@ a:where(:not(.btn):not(.brand):not(:has(.card)):not(:has(iam-card))),
80
80
  text-decoration: underline;
81
81
  text-underline-offset: 0.2em;
82
82
  text-decoration-thickness: 2px;
83
-
83
+ font-size: inherit;
84
+
84
85
  &:is(:hover, :focus, .hover, :focus-within) {
85
86
 
86
87
  color: var(--colour-hover);
@@ -40,7 +40,6 @@ table {
40
40
  }
41
41
 
42
42
  th {
43
- padding-top: 0;
44
43
  font-weight: bold;
45
44
  @include var(color,--colour-heading);
46
45
  }
@@ -52,7 +51,7 @@ thead {
52
51
  @include var(border-color,--colour-primary);
53
52
  }
54
53
  th {
55
- font-weight: bold;
54
+ padding-top: 0;
56
55
  vertical-align: bottom;
57
56
  }
58
57
  }
@@ -3,4 +3,4 @@
3
3
  // Set mobile only variable so that the media query mixin doesn't print out non mobile rules
4
4
  @use "_func" as *;
5
5
  @import "_corefiles";
6
- @import '../../assets/sass/components/nav-global.scss';
6
+ @import '../../assets/sass/components/nav.global.scss';