@iamproperty/components 5.5.0 → 5.5.1-beta-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 (96) hide show
  1. package/assets/css/components/actionbar.css +1 -1
  2. package/assets/css/components/actionbar.css.map +1 -1
  3. package/assets/css/components/applied-filters.css +1 -1
  4. package/assets/css/components/applied-filters.css.map +1 -1
  5. package/assets/css/components/card.css +1 -1
  6. package/assets/css/components/card.css.map +1 -1
  7. package/assets/css/components/card.global.css +1 -1
  8. package/assets/css/components/card.global.css.map +1 -1
  9. package/assets/css/components/charts.css +1 -1
  10. package/assets/css/components/charts.css.map +1 -1
  11. package/assets/css/components/fileupload.css.map +1 -1
  12. package/assets/css/components/header.css +1 -1
  13. package/assets/css/components/header.css.map +1 -1
  14. package/assets/css/components/nav.css.map +1 -1
  15. package/assets/css/components/slider.css.map +1 -1
  16. package/assets/css/components/tabs.css +1 -1
  17. package/assets/css/components/tabs.css.map +1 -1
  18. package/assets/css/core.min.css +1 -1
  19. package/assets/css/core.min.css.map +1 -1
  20. package/assets/css/style.min.css +1 -1
  21. package/assets/css/style.min.css.map +1 -1
  22. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  23. package/assets/js/components/actionbar/actionbar.component.js +12 -3
  24. package/assets/js/components/actionbar/actionbar.component.min.js +6 -6
  25. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  26. package/assets/js/components/address-lookup/address-lookup.component.js +7 -0
  27. package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
  28. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  29. package/assets/js/components/applied-filters/applied-filters.component.min.js +6 -6
  30. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  31. package/assets/js/components/card/card.component.min.js +3 -3
  32. package/assets/js/components/chart/chart.component.js +71 -0
  33. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  34. package/assets/js/components/fileupload/fileupload.component.js +1 -1
  35. package/assets/js/components/fileupload/fileupload.component.min.js +5 -5
  36. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  37. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  38. package/assets/js/components/header/header.component.min.js +2 -2
  39. package/assets/js/components/nav/nav.component.min.js +1 -1
  40. package/assets/js/components/notification/notification.component.min.js +1 -1
  41. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  42. package/assets/js/components/search/search.component.min.js +1 -1
  43. package/assets/js/components/search/search.component.min.js.map +1 -1
  44. package/assets/js/components/table/table.component.js +2 -2
  45. package/assets/js/components/table/table.component.min.js +6 -6
  46. package/assets/js/components/table/table.component.min.js.map +1 -1
  47. package/assets/js/components/tabs/tabs.component.min.js +2 -2
  48. package/assets/js/dynamic.min.js +1 -1
  49. package/assets/js/dynamic.min.js.map +1 -1
  50. package/assets/js/modules/applied-filters.js +39 -7
  51. package/assets/js/modules/chart.js +613 -111
  52. package/assets/js/modules/fileupload.js +11 -0
  53. package/assets/js/modules/helpers.js +16 -0
  54. package/assets/js/modules/table.js +62 -11
  55. package/assets/js/scripts.bundle.js +31 -31
  56. package/assets/js/scripts.bundle.js.map +1 -1
  57. package/assets/js/scripts.bundle.min.js +2 -2
  58. package/assets/js/scripts.bundle.min.js.map +1 -1
  59. package/assets/sass/_elements.scss +1 -1
  60. package/assets/sass/_functions/variables.scss +80 -0
  61. package/assets/sass/_utilities.scss +1 -0
  62. package/assets/sass/components/actionbar.scss +16 -0
  63. package/assets/sass/components/applied-filters.scss +6 -48
  64. package/assets/sass/components/card.global.scss +4 -0
  65. package/assets/sass/components/card.scss +1 -1
  66. package/assets/sass/components/charts.scss +981 -234
  67. package/assets/sass/components/header.scss +8 -1
  68. package/assets/sass/components/tabs.scss +10 -1
  69. package/assets/sass/elements/badge-tag.scss +82 -0
  70. package/assets/sass/elements/buttons.scss +13 -1
  71. package/assets/sass/elements/details.scss +94 -5
  72. package/assets/sass/elements/dialog.scss +2 -0
  73. package/assets/sass/elements/forms.scss +26 -22
  74. package/assets/sass/elements/tooltips.scss +4 -3
  75. package/assets/sass/foundations/root.scss +11 -0
  76. package/assets/sass/helpers/wider-colours.scss +11 -0
  77. package/assets/ts/components/actionbar/actionbar.component.ts +14 -3
  78. package/assets/ts/components/address-lookup/address-lookup.component.ts +9 -0
  79. package/assets/ts/components/chart/README.md +37 -0
  80. package/assets/ts/components/chart/chart.component.ts +98 -0
  81. package/assets/ts/components/fileupload/fileupload.component.ts +1 -1
  82. package/assets/ts/components/table/table.component.ts +2 -2
  83. package/assets/ts/modules/applied-filters.ts +61 -7
  84. package/assets/ts/modules/chart.ts +808 -119
  85. package/assets/ts/modules/fileupload.ts +19 -0
  86. package/assets/ts/modules/helpers.ts +23 -1
  87. package/assets/ts/modules/table.ts +86 -12
  88. package/dist/components.es.js +397 -381
  89. package/dist/components.umd.js +60 -78
  90. package/dist/style.css +1 -1
  91. package/package.json +1 -1
  92. package/src/components/AppliedFilters/AppliedFilters.vue +1 -1
  93. package/src/components/Chart/Chart.vue +26 -96
  94. package/src/components/Header/Header.vue +1 -1
  95. package/src/components/Table/Table.vue +2 -2
  96. package/assets/sass/elements/badge.scss +0 -29
@@ -62,7 +62,14 @@
62
62
  }
63
63
 
64
64
 
65
-
65
+ :host(.header--contain) {
66
+ .header-banner {
67
+ padding-bottom: 2rem;
68
+ }
69
+ .header-banner > picture {
70
+ max-height: 100%;
71
+ }
72
+ }
66
73
 
67
74
 
68
75
 
@@ -197,4 +197,13 @@
197
197
  pointer-events: none;
198
198
  }
199
199
  }
200
- // #endregion
200
+ // #endregion
201
+ @include media-breakpoint-up(sm) {
202
+ :host(.tabs--inline) .tabs__links {
203
+ margin: 0;
204
+ justify-content: center;
205
+ }
206
+ :host(.tabs--inline) .tabs__links__wrapper:after {
207
+ width: 100%;
208
+ }
209
+ }
@@ -0,0 +1,82 @@
1
+ @use "../_func" as *;
2
+
3
+ :is(.badge, .tag) {
4
+
5
+ font-size: rem(16);
6
+ line-height: rem(26);
7
+ border: none!important;
8
+ outline: 1px solid var(--colour-canvas);
9
+ outline-offset: -1px;
10
+ padding: 0 rem(16);
11
+ border-radius: rem(16);
12
+ margin: 0;
13
+ display: inline-block;
14
+ text-align: center;
15
+ white-space: nowrap;
16
+ max-width: fit-content;
17
+ color: #262626!important;
18
+ position: relative;
19
+ background: var(--wider-colour, var(--wider-colour-1));
20
+ margin-bottom: 1rem;
21
+
22
+ &:has(:is(.badge, .tag)) {
23
+ margin-right: rem(6);
24
+ }
25
+
26
+ &:empty {
27
+ display: none;
28
+ }
29
+ }
30
+
31
+ .tag {
32
+
33
+ &:after {
34
+ content: '\2715';
35
+ margin-left: 0.6em;
36
+ font-weight: bold;
37
+ }
38
+
39
+ &:is(:hover,:focus,.hover) {
40
+ background: var(--wider-colour-hover, var(--wider-colour-1-hover));
41
+ }
42
+
43
+ &:has(input:checked),
44
+ &:is(:active,.active) {
45
+ background: var(--wider-colour-active, var(--wider-colour-1-active));
46
+ }
47
+
48
+ &:has(input:disabled),
49
+ &:disabled {
50
+
51
+ background: var(--wider-colour-1)!important;
52
+ color: #99adb1!important;
53
+ }
54
+ }
55
+
56
+ .tag.tag--toggle,
57
+ .tag.tag--not-set {
58
+
59
+ background: var(--colour-canvas);
60
+ outline: 1px solid var(--colour-border);
61
+
62
+ }
63
+
64
+ .tag.tag--toggle {
65
+
66
+ &:after {
67
+ display: none;
68
+ }
69
+
70
+ &:has(input:checked),
71
+ &.selected {
72
+
73
+ background: #E9F9FD;
74
+ outline: 1px solid #1EBEE6;
75
+ }
76
+ }
77
+
78
+ // Quick fix for badges in buttons
79
+ .btn :is(.badge, .tag) {
80
+ position: relative;
81
+ top: -1px;
82
+ }
@@ -113,7 +113,6 @@ a:is(:hover, :focus, .hover, :active, .active):not([disabled]) .btn-secondary,
113
113
  margin-right: rem(6);
114
114
  }
115
115
 
116
-
117
116
  a:is(:hover, :focus, .hover, :focus-within):not([disabled],:active, .active) &,
118
117
  &:is(:hover, :focus, .hover, :focus-within):not([disabled],:active, .active) {
119
118
  background: var(--colour-btn-action-hover-bg);
@@ -137,6 +136,19 @@ a:is(:hover, :focus, .hover, :active, .active):not([disabled]) .btn-secondary,
137
136
  line-height: 1em;
138
137
  }
139
138
 
139
+ &.btn[class*='fa-after'] {
140
+ padding-right: 4rem;
141
+ }
142
+ &.btn[class*='fa-after']:before {
143
+
144
+ margin-right: 0;
145
+ margin-right: rem(6);
146
+ position: absolute;
147
+ right: 1.5rem;
148
+ top: 50%;
149
+ transform: translate(0, -50%);
150
+ }
151
+
140
152
  &:not(.btn-compact):before{
141
153
  margin-right: 1rem;
142
154
  }
@@ -1,10 +1,46 @@
1
- details:not(.details--revert) {
1
+
2
+ details {
3
+
4
+ &:not([open]){
5
+
6
+ padding-bottom: rem(32);
7
+ }
8
+
9
+ summary {
10
+
11
+ font-size: rem(18);
12
+ line-height: rem(21);
13
+ font-weight: normal;
14
+ color: var(--colour-heading);
15
+ display: block;
16
+
17
+ &:after {
18
+ content: "\f055";
19
+ display: inline-block;
20
+ margin-left: 0.5em;
21
+ line-height: 1em;
22
+ font-size: 1em;
23
+ font-family: "Font Awesome 6 Pro";
24
+ }
25
+ }
26
+
27
+ &[open] summary {
28
+
29
+ margin-bottom: rem(16);
30
+ }
31
+
32
+ }
33
+
34
+
35
+
36
+ iam-accordion details {
2
37
 
3
38
  --inline-padding: #{rem(2)};
4
39
  --border-radius: #{rem(8)} #{rem(8)} 0 0;
5
40
  --icon-top: #{rem(14)};
6
41
  --line-height: #{rem(24)};
7
42
 
43
+
8
44
  *:not(iam-tabs) > &:not([open]){
9
45
 
10
46
  padding-bottom: rem(42);
@@ -19,7 +55,7 @@ details:not(.details--revert) {
19
55
 
20
56
  summary {
21
57
 
22
- border-bottom: 1px solid var(--colour-border);
58
+ border-bottom: 1px solid var(--colour-border);
23
59
  padding-left: var(--inline-padding);
24
60
  padding-right: calc(var(--inline-padding) + #{rem(24)} + #{rem(24)});
25
61
  padding-block: rem(14)!important;
@@ -36,7 +72,11 @@ details:not(.details--revert) {
36
72
  all: unset!important;
37
73
  }
38
74
 
39
- *:is(h1,h2,h4,h5,h6,.h1,.h2,.h4,.h5,.h6){
75
+ &::after {
76
+ display: none;
77
+ }
78
+
79
+ *:is(h1,h2,h4,h5,h6,.h1,.h2,.h4,.h5,.h6,.label){
40
80
  max-width: 100%;
41
81
  padding: 0;
42
82
  margin: 0;
@@ -60,7 +100,7 @@ details:not(.details--revert) {
60
100
  margin-bottom: 2rem;
61
101
  }
62
102
 
63
- &[open] summary :is(h1,h2,h4,h5,h6,.h1,.h2,.h4,.h5,.h6) {
103
+ &[open] summary :is(h1,h2,h4,h5,h6,.h1,.h2,.h4,.h5,.h6, .label) {
64
104
 
65
105
  &:after {
66
106
  content: "\f056";
@@ -68,7 +108,7 @@ details:not(.details--revert) {
68
108
  }
69
109
  }
70
110
 
71
- summary:not(:has(h1,h2,h4,h5,h6,.h1,.h2,.h4,.h5,.h6)) { // h3 purposelessly missed out
111
+ summary:not(:has(h1,h2,h4,h5,h6,.h1,.h2,.h4,.h5,.h6,.label)) { // h3 purposelessly missed out
72
112
 
73
113
  font-family: $headings-font-family;
74
114
  font-style: $headings-font-style;
@@ -88,12 +128,14 @@ details:not(.details--revert) {
88
128
 
89
129
  &:after {
90
130
  content: "\f055";
131
+ display: block;
91
132
  position: absolute;
92
133
  font-size: rem(24);
93
134
  top: calc((#{var(--line-height)} / 2) - #{rem(12)} + #{rem(14)});
94
135
  right: var(--inline-padding);
95
136
  width: rem(24);
96
137
  height: rem(24);
138
+ margin: 0;
97
139
  line-height: rem(24);
98
140
  font-weight: 300;
99
141
  font-family: "Font Awesome 6 Pro";
@@ -115,4 +157,51 @@ details:not(.details--revert) {
115
157
  font-weight: 900;
116
158
  }
117
159
  }
160
+ }
161
+
162
+
163
+ dialog iam-accordion details {
164
+
165
+ --inline-padding: var(--dialog-padding);
166
+
167
+ margin-inline: calc(var(--dialog-padding) * -1);
168
+ width: calc(100% + var(--dialog-padding) + var(--dialog-padding));
169
+
170
+
171
+ &:has(summary:is(:hover, :focus-visible)),
172
+ &[open] {
173
+ background: var(--colour-light);
174
+ overflow: hidden;
175
+ }
176
+
177
+ // Fix the border bottom issue
178
+ &:has(+ details[open]),
179
+ &:has(summary:is(:hover, :focus-visible)),
180
+ &:has(+ details summary:is(:hover, :focus-visible)),
181
+ &[open] {
182
+ border-bottom: 1px solid var(--colour-border);
183
+ }
184
+
185
+ &:has(+ details[open]) summary,
186
+ &:has(summary:is(:hover, :focus-visible)) summary,
187
+ &:has(+ details summary:is(:hover, :focus-visible)) summary,
188
+ &[open] summary {
189
+ border-bottom: 0;
190
+ }
191
+
192
+ &[open] summary {
193
+
194
+ margin-bottom: 1rem;
195
+ }
196
+
197
+ summary {
198
+ --inline-padding: 0;
199
+ }
200
+
201
+ padding-inline: var(--dialog-padding);
202
+
203
+ &::before {
204
+ content: "";
205
+
206
+ }
118
207
  }
@@ -11,6 +11,8 @@ dialog[open] {
11
11
 
12
12
  --dialog-padding: #{rem(24)};
13
13
 
14
+ --mh-padding-inline: var(--dialog-padding);
15
+
14
16
  width: fit-content;
15
17
  height: fit-content;
16
18
  border: none;
@@ -5,7 +5,7 @@ $icon-error: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' vie
5
5
  $icon-tick: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d='M441 103c9.4 9.4 9.4 24.6 0 33.9L177 401c-9.4 9.4-24.6 9.4-33.9 0L7 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l119 119L407 103c9.4-9.4 24.6-9.4 33.9 0z' fill='#0f9d58' /></svg>");
6
6
 
7
7
  // #region Form label
8
- :is(label,.label) {
8
+ :is(label:not(.tag),.label) {
9
9
  font-size: rem(18);
10
10
  line-height: rem(21);
11
11
  margin-bottom: rem(8);
@@ -16,7 +16,7 @@ $icon-tick: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' view
16
16
  // #endregion
17
17
 
18
18
  // #region Optional text
19
- :is(label,.label) {
19
+ :is(label:not(.tag),.label) {
20
20
 
21
21
  @if $optionalText == "true" {
22
22
  &:has(+ input:not(:disabled):not([readonly]):not(:required):not([type='radio']):not([type='checkbox']):not([type='file'])):after {
@@ -328,8 +328,8 @@ div:has(> label:first-child):has(> input):has(> :is(.form-control-inline,.input-
328
328
  border-start-start-radius: 0!important;
329
329
  }
330
330
 
331
- .suffix ~ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),textarea,output),
332
- :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),textarea,output):has(~ .suffix) {
331
+ .suffix ~ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="date"]),textarea,output),
332
+ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="date"]),textarea,output):has(~ .suffix) {
333
333
  order: 1;
334
334
 
335
335
  border-start-end-radius: 0!important;
@@ -457,25 +457,25 @@ input:is([type="radio"],[type="checkbox"]) {
457
457
  pointer-events: none;
458
458
  }
459
459
 
460
- :is(div,fieldset,label):has(> input:is([type="radio"],[type="checkbox"])):not(:has(label input)) {
460
+ :is(div,fieldset,label:not(.tag)):has(> input:is([type="radio"],[type="checkbox"])):not(:has(label input)) {
461
461
  position: relative;
462
462
  margin-bottom: rem(24);
463
463
  }
464
464
 
465
- :is(div,fieldset,label):has( > input[type="radio"]){
465
+ :is(div,fieldset,label:not(.tag)):has( > input[type="radio"]){
466
466
 
467
467
  --border-radius: 50%;
468
468
  --outline-width: #{rem(8)};
469
469
  }
470
470
 
471
- :is(div,fieldset,label):has( > input[type="checkbox"]) {
471
+ :is(div,fieldset,label:not(.tag)):has( > input[type="checkbox"]) {
472
472
 
473
473
  --border-radius: #{rem(4)};
474
474
  --outline-width: #{rem(4)};
475
475
  }
476
476
 
477
477
  input:is([type="radio"],[type="checkbox"]) + label:not(:has(> iam-card)),
478
- label:has(input:is([type="radio"],[type="checkbox"])):not(:has(> iam-card)){
478
+ label:not(.tag):has(input:is([type="radio"],[type="checkbox"])):not(:has(> iam-card)){
479
479
 
480
480
  --tick-colour: transparent;
481
481
 
@@ -523,7 +523,7 @@ label:has(input:is([type="radio"],[type="checkbox"])):not(:has(> iam-card)){
523
523
 
524
524
 
525
525
  input[type="radio"] + label:not(:has(> iam-card)),
526
- label:has(input[type="radio"]):not(:has(> iam-card)) {
526
+ label:not(.tag):has(input[type="radio"]):not(:has(> iam-card)) {
527
527
 
528
528
  &:after {
529
529
  content: ""!important;
@@ -572,13 +572,13 @@ label:has(input[type="radio"]):not(:has(> iam-card)) {
572
572
 
573
573
  // multiple radio's together
574
574
  :is(div,fieldset):has(> :is(input[type="radio"],input[type="checkbox"]):nth-of-type(2)) {
575
- label:not(:has(> iam-card)) {
575
+ label:not(.tag):not(:has(> iam-card)) {
576
576
  margin-bottom: 0rem;
577
577
  }
578
578
  }
579
579
 
580
580
  input:is([type="radio"],[type="checkbox"]):checked + label,
581
- label:has(input:is([type="radio"],[type="checkbox"]):checked) {
581
+ label:not(.tag):has(input:is([type="radio"],[type="checkbox"]):checked) {
582
582
 
583
583
  --tick-colour: var(--colour-info);
584
584
 
@@ -596,7 +596,7 @@ label:has(input:is([type="radio"],[type="checkbox"]):checked) {
596
596
  }
597
597
 
598
598
  input[type="checkbox"]:not([disabled]):checked + label,
599
- label:has(input[type="checkbox"]:not([disabled]):checked) {
599
+ label:not(.tag):has(input[type="checkbox"]:not([disabled]):checked) {
600
600
 
601
601
  &:before {
602
602
  background: var(--colour-info)!important;
@@ -604,7 +604,7 @@ label:has(input[type="checkbox"]:not([disabled]):checked) {
604
604
  }
605
605
 
606
606
  input[type="checkbox"]:checked + label,
607
- label:has(input[type="checkbox"]:checked) {
607
+ label:not(.tag):has(input[type="checkbox"]:checked) {
608
608
 
609
609
  &:after {
610
610
  content: "\f00c";
@@ -627,7 +627,7 @@ label:has(input[type="checkbox"]:checked) {
627
627
  }
628
628
 
629
629
  input[type="checkbox"]:indeterminate + label,
630
- label:has(input[type="checkbox"]:indeterminate) {
630
+ label:not(.tag):has(input[type="checkbox"]:indeterminate) {
631
631
 
632
632
  &:before {
633
633
  background: var(--colour-info) !important;
@@ -656,13 +656,13 @@ label:has(input[type="checkbox"]:indeterminate) {
656
656
 
657
657
 
658
658
  input:is([type="radio"],[type="checkbox"]):checked:is(:focus,:hover,.focus) + label,
659
- label:has(input:is([type="radio"],[type="checkbox"]):checked:is(:focus,:hover,.focus)) {
659
+ label:not(.tag):has(input:is([type="radio"],[type="checkbox"]):checked:is(:focus,:hover,.focus)) {
660
660
 
661
661
  --tick-colour: var(--colour-info);
662
662
  }
663
663
 
664
664
  input:is([type="radio"],[type="checkbox"]):is(:focus,:hover,.focus) + label,
665
- label:has(input:is([type="radio"],[type="checkbox"]):is(:focus,:hover,.focus)) {
665
+ label:not(.tag):has(input:is([type="radio"],[type="checkbox"]):is(:focus,:hover,.focus)) {
666
666
 
667
667
  --tick-colour: var(--colour-muted);
668
668
 
@@ -672,7 +672,7 @@ label:has(input:is([type="radio"],[type="checkbox"]):is(:focus,:hover,.focus)) {
672
672
  }
673
673
  }
674
674
  input:is([type="radio"],[type="checkbox"]):is(:active,.active) + label,
675
- label:has(input:is([type="radio"],[type="checkbox"]):is(:active,.active)) {
675
+ label:not(.tag):has(input:is([type="radio"],[type="checkbox"]):is(:active,.active)) {
676
676
 
677
677
  --tick-colour: var(--colour-light);
678
678
 
@@ -684,7 +684,7 @@ label:has(input:is([type="radio"],[type="checkbox"]):is(:active,.active)) {
684
684
 
685
685
  // Disabled
686
686
  input:is([type="radio"],[type="checkbox"]):disabled + label,
687
- label:has(input:is([type="radio"],[type="checkbox"]):disabled) {
687
+ label:not(.tag):has(input:is([type="radio"],[type="checkbox"]):disabled) {
688
688
 
689
689
  opacity: 0.4;
690
690
  cursor: not-allowed;
@@ -701,7 +701,7 @@ label:has(input:is([type="radio"],[type="checkbox"]):disabled) {
701
701
  }
702
702
 
703
703
  input[type="radio"][disabled]:checked + label,
704
- label:has(input[type="radio"][disabled]:checked) {
704
+ label:not(.tag):has(input[type="radio"][disabled]:checked) {
705
705
 
706
706
  &:after {
707
707
  background-color: var(--colour-primary)!important;
@@ -709,7 +709,7 @@ label:has(input[type="radio"][disabled]:checked) {
709
709
  }
710
710
 
711
711
  input[type="checkbox"][disabled]:checked + label,
712
- label:has(input[type="checkbox"][disabled]:checked) {
712
+ label:not(.tag):has(input[type="checkbox"][disabled]:checked) {
713
713
 
714
714
  &:before {
715
715
  background: #E0E0E0!important;
@@ -814,7 +814,7 @@ div:has(> select){
814
814
  border: none;
815
815
  display: inline-block;
816
816
  margin: 0;
817
- padding: 0 calc(1.25em + 0.8ch) 0 0.25em;
817
+ padding: 0 calc(1.25em + 0.8ch) 0 0.25em!important;
818
818
  height: auto;
819
819
  cursor: pointer;
820
820
 
@@ -858,7 +858,7 @@ iam-fileupload {
858
858
 
859
859
 
860
860
  // #region label with input field in
861
- :is(label, .label):has(:is(input,select)){
861
+ :is(label:not(.tag), .label):has(:is(input,select)){
862
862
 
863
863
  display: block;
864
864
  margin-bottom: rem(24);
@@ -1030,6 +1030,10 @@ iam-slider input::-webkit-inner-spin-button {
1030
1030
  // #region Date and time fields
1031
1031
  :is(input[type="date"],input[type="time"]) {
1032
1032
  position: relative;
1033
+ margin-right: -3rem;
1034
+ padding-right: 3rem !important;
1035
+ background-position: right 4rem center;
1036
+ border-radius: 0.5rem !important;
1033
1037
  }
1034
1038
  :is(input[type="date"],input[type="time"])::-webkit-calendar-picker-indicator {
1035
1039
  background: transparent;
@@ -46,10 +46,11 @@
46
46
 
47
47
  }
48
48
 
49
+ abbr[title] {
50
+ text-underline-offset: 0.2em;
51
+ }
49
52
 
50
-
51
- :is(abbr[title], .tooltip) {
52
-
53
+ .tooltip {
53
54
  text-decoration: none;
54
55
  position: relative;
55
56
 
@@ -26,6 +26,17 @@ $root: ':root'!default;
26
26
  }
27
27
  }
28
28
 
29
+ // Wider colours
30
+ @each $colour, $value in $wider-colours {
31
+ --wider-colour-#{$colour}: #{$value};
32
+ }
33
+ @each $colour, $value in $wider-colours-hover {
34
+ --wider-colour-#{$colour}-hover: #{$value};
35
+ }
36
+ @each $colour, $value in $wider-colours-active {
37
+ --wider-colour-#{$colour}-active: #{$value};
38
+ }
39
+
29
40
  // Extra vars needed
30
41
  --content-max-width: #{$content-max-width};
31
42
  --colour-brand: var(--colour-primary);
@@ -0,0 +1,11 @@
1
+
2
+
3
+ @each $colour, $value in $wider-colours {
4
+
5
+ .wider-colour-#{$colour} {
6
+ --wider-colour: var(--wider-colour-#{$colour});
7
+ --wider-colour-hover: var(--wider-colour-#{$colour}-hover);
8
+ --wider-colour-active: var(--wider-colour-#{$colour}-active);
9
+ color: #262626!important;
10
+ }
11
+ }
@@ -214,6 +214,9 @@ class iamActionbar extends HTMLElement {
214
214
 
215
215
  // #region search
216
216
  const searchBar = this.shadowRoot.querySelector('.actionbar--search');
217
+ if(this.hasAttribute('data-search-value')){
218
+ this.shadowRoot.querySelector('#search').value = this.getAttribute('data-search-value');
219
+ }
217
220
 
218
221
  if(this.hasAttribute('data-search') && this.getAttribute('data-search') == 'show')
219
222
  searchBar.classList.add('show');
@@ -262,14 +265,22 @@ class iamActionbar extends HTMLElement {
262
265
  const screenWidth = document.documentElement.scrollWidth;
263
266
  let safeAreaWidth = 750;
264
267
  let elementMargin = 16;
268
+ let tabletSafeWidth = 450;
265
269
  let mobileSafeWidth = that.hasAttribute('data-switchviews') ? 144 : 210;
266
270
 
271
+ if(that.hasAttribute('data-large-safe-area')){
272
+
273
+ safeAreaWidth = 1048;
274
+ tabletSafeWidth = 620;
275
+ mobileSafeWidth = 260;
276
+ }
277
+
267
278
  // We need to modify the widths to mimic the CSS's scaling functionality
268
279
  let modifier = 1;
269
280
  if (screenWidth >= 992 && screenWidth <= 1280){
270
281
  modifier = screenWidth/1280;
271
282
  }
272
- else if (screenWidth >= 576 && screenWidth <= 1280) {
283
+ else if (screenWidth >= 576 && screenWidth < 992) {
273
284
  modifier = screenWidth/768;
274
285
  }
275
286
  else if (screenWidth < 576) {
@@ -280,8 +291,8 @@ class iamActionbar extends HTMLElement {
280
291
  if (wrapperWidth >= 992 && wrapperWidth <= 1280){
281
292
  safeAreaWidth = safeAreaWidth*modifier;
282
293
  }
283
- else if (wrapperWidth >= 576 && wrapperWidth <= 1280) {
284
- safeAreaWidth = 450*modifier;
294
+ else if (wrapperWidth >= 576 && wrapperWidth < 992) {
295
+ safeAreaWidth = tabletSafeWidth*modifier;
285
296
  }
286
297
  else if (wrapperWidth < 576) {
287
298
  safeAreaWidth = mobileSafeWidth*modifier;
@@ -141,6 +141,15 @@ class iamAddressLookup extends HTMLElement {
141
141
  });
142
142
  }
143
143
 
144
+ if(this.hasAttribute('data-manual')){
145
+ lookupWrapper.classList.add('js-hide');
146
+ manualWrapper.classList.remove('js-hide');
147
+
148
+ Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input, index) => {
149
+ input.setAttribute('required','true');
150
+ });
151
+ }
152
+
144
153
  function openManualWrapper (){
145
154
  lookupWrapper.classList.add('js-hide');
146
155
  manualWrapper.classList.remove('js-hide');
@@ -0,0 +1,37 @@
1
+ ```
2
+ <iam-chart>
3
+ <table>
4
+ <thead>
5
+ <tr>
6
+ <th>Issue</th>
7
+ <th>Democrat</th>
8
+ <th>Republican</th>
9
+ </tr>
10
+ </thead>
11
+ <tbody>
12
+ <tr><td>Inflation</td><td>45%</td><td>18%</td></tr><tr><td>Abortion</td><td>12%</td><td>43%</td></tr>
13
+ <tr><td>Gun policy</td><td>8%</td><td>14%</td></tr><tr><td>Immigration</td><td>15%</td><td>5%</td></tr>
14
+ <tr><td>Crime</td><td>13%</td><td>10%</td></tr>
15
+ </tbody>
16
+ </table>
17
+ </iam-chart>
18
+ ```
19
+
20
+ **To do**
21
+
22
+ - Animation
23
+ - Add more chart types
24
+ - optimise code
25
+ - change key
26
+ - Fill in readme with class and attributes
27
+ - flout
28
+
29
+ **Note**
30
+
31
+
32
+ **Properties**
33
+
34
+
35
+ **Class modifiers**
36
+
37
+ - .chart--no-animate turns of the animation