@iamproperty/components 5.5.1-beta-1 → 5.5.1-beta-4

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 (124) 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/inline-edit.css +1 -0
  13. package/assets/css/components/inline-edit.css.map +1 -0
  14. package/assets/css/components/inline-edit.preload.css +1 -0
  15. package/assets/css/components/inline-edit.preload.css.map +1 -0
  16. package/assets/css/components/multiselect.css +1 -0
  17. package/assets/css/components/multiselect.css.map +1 -0
  18. package/assets/css/components/multiselect.preload.css +1 -0
  19. package/assets/css/components/multiselect.preload.css.map +1 -0
  20. package/assets/css/components/nav.css.map +1 -1
  21. package/assets/css/components/nav.global.css +1 -1
  22. package/assets/css/components/nav.global.css.map +1 -1
  23. package/assets/css/components/slider.css.map +1 -1
  24. package/assets/css/components/tabs.css +1 -1
  25. package/assets/css/components/tabs.css.map +1 -1
  26. package/assets/css/core.min.css +1 -1
  27. package/assets/css/core.min.css.map +1 -1
  28. package/assets/css/style.min.css +1 -1
  29. package/assets/css/style.min.css.map +1 -1
  30. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  31. package/assets/js/components/actionbar/actionbar.component.js +12 -3
  32. package/assets/js/components/actionbar/actionbar.component.min.js +6 -6
  33. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  34. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  35. package/assets/js/components/applied-filters/applied-filters.component.min.js +6 -6
  36. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  37. package/assets/js/components/card/card.component.min.js +3 -3
  38. package/assets/js/components/chart/chart.component.js +71 -0
  39. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  40. package/assets/js/components/fileupload/fileupload.component.js +1 -1
  41. package/assets/js/components/fileupload/fileupload.component.min.js +5 -5
  42. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  43. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  44. package/assets/js/components/header/header.component.min.js +1 -1
  45. package/assets/js/components/inline-edit/inline-edit.component.js +148 -0
  46. package/assets/js/components/inline-edit/inline-edit.component.min.js +22 -0
  47. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -0
  48. package/assets/js/components/multiselect/multiselect.component.js +221 -0
  49. package/assets/js/components/multiselect/multiselect.component.min.js +25 -0
  50. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -0
  51. package/assets/js/components/nav/nav.component.min.js +2 -2
  52. package/assets/js/components/notification/notification.component.min.js +1 -1
  53. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  54. package/assets/js/components/search/search.component.min.js +1 -1
  55. package/assets/js/components/search/search.component.min.js.map +1 -1
  56. package/assets/js/components/table/table.component.js +2 -2
  57. package/assets/js/components/table/table.component.min.js +6 -6
  58. package/assets/js/components/table/table.component.min.js.map +1 -1
  59. package/assets/js/components/tabs/tabs.component.min.js +2 -2
  60. package/assets/js/dynamic.min.js +5 -5
  61. package/assets/js/dynamic.min.js.map +1 -1
  62. package/assets/js/modules/applied-filters.js +39 -7
  63. package/assets/js/modules/chart.js +613 -111
  64. package/assets/js/modules/fileupload.js +11 -0
  65. package/assets/js/modules/helpers.js +20 -0
  66. package/assets/js/modules/inputs.js +6 -2
  67. package/assets/js/modules/table.js +62 -11
  68. package/assets/js/scripts.bundle.js +31 -31
  69. package/assets/js/scripts.bundle.js.map +1 -1
  70. package/assets/js/scripts.bundle.min.js +2 -2
  71. package/assets/js/scripts.bundle.min.js.map +1 -1
  72. package/assets/sass/_components.scss +5 -0
  73. package/assets/sass/_elements.scss +1 -1
  74. package/assets/sass/_functions/variables.scss +80 -0
  75. package/assets/sass/_utilities.scss +1 -0
  76. package/assets/sass/components/actionbar.scss +16 -0
  77. package/assets/sass/components/applied-filters.scss +6 -48
  78. package/assets/sass/components/card.global.scss +4 -0
  79. package/assets/sass/components/card.scss +1 -1
  80. package/assets/sass/components/charts.scss +981 -234
  81. package/assets/sass/components/inline-edit.preload.scss +98 -0
  82. package/assets/sass/components/inline-edit.scss +32 -0
  83. package/assets/sass/components/multiselect.preload.scss +37 -0
  84. package/assets/sass/components/multiselect.scss +186 -0
  85. package/assets/sass/components/nav.global.scss +2 -0
  86. package/assets/sass/components/tabs.scss +10 -1
  87. package/assets/sass/elements/admin-panel.scss +0 -3
  88. package/assets/sass/elements/badge-tag.scss +92 -0
  89. package/assets/sass/elements/buttons.scss +13 -1
  90. package/assets/sass/elements/details.scss +94 -5
  91. package/assets/sass/elements/dialog.scss +2 -0
  92. package/assets/sass/elements/forms.scss +42 -25
  93. package/assets/sass/elements/tooltips.scss +4 -3
  94. package/assets/sass/foundations/root.scss +11 -0
  95. package/assets/sass/helpers/wider-colours.scss +11 -0
  96. package/assets/ts/components/actionbar/actionbar.component.ts +14 -3
  97. package/assets/ts/components/chart/README.md +37 -0
  98. package/assets/ts/components/chart/chart.component.ts +98 -0
  99. package/assets/ts/components/fileupload/fileupload.component.ts +1 -1
  100. package/assets/ts/components/inline-edit/README.md +30 -0
  101. package/assets/ts/components/inline-edit/inline-edit.component.ts +211 -0
  102. package/assets/ts/components/multiselect/README.md +35 -0
  103. package/assets/ts/components/multiselect/multiselect.component.ts +304 -0
  104. package/assets/ts/components/search/README.md +36 -0
  105. package/assets/ts/components/table/table.component.ts +2 -2
  106. package/assets/ts/modules/applied-filters.ts +61 -7
  107. package/assets/ts/modules/chart.ts +808 -119
  108. package/assets/ts/modules/fileupload.ts +19 -0
  109. package/assets/ts/modules/helpers.ts +29 -1
  110. package/assets/ts/modules/inputs.ts +8 -2
  111. package/assets/ts/modules/table.ts +86 -12
  112. package/dist/components.es.js +348 -329
  113. package/dist/components.umd.js +59 -63
  114. package/dist/style.css +1 -1
  115. package/package.json +1 -1
  116. package/src/components/AppliedFilters/AppliedFilters.vue +1 -1
  117. package/src/components/Chart/Chart.vue +26 -96
  118. package/src/components/InlineEdit/InlineEdit.vue +45 -0
  119. package/src/components/InlineEdit/README.md +7 -0
  120. package/src/components/Multiselect/Multiselect.vue +24 -0
  121. package/src/components/Multiselect/README.md +12 -0
  122. package/src/components/Search/README.md +11 -0
  123. package/src/components/Search/Search.vue +1 -1
  124. package/assets/sass/elements/badge.scss +0 -29
@@ -0,0 +1,98 @@
1
+ @use "../_func" as *;
2
+
3
+ iam-inline-edit {
4
+
5
+ .optional-text {
6
+ display: none;
7
+ }
8
+
9
+ label,
10
+ textarea {
11
+ margin: 0;;
12
+ }
13
+ }
14
+
15
+
16
+ iam-inline-edit:focus-within {
17
+
18
+
19
+ --display-status: none;
20
+ }
21
+
22
+
23
+
24
+
25
+
26
+
27
+ // Inactive state
28
+ iam-inline-edit:defined:not(:focus-within):not([data-saving]):not(.was-validated:has(:invalid)) {
29
+
30
+ --display-btns: none;
31
+
32
+ input,
33
+ textarea,
34
+ select {
35
+ border: none;
36
+ background: none;
37
+ margin-left: -1rem;
38
+ width: calc(100% + 1rem);
39
+ max-width: calc(100% + 1rem);
40
+ box-shadow: none;
41
+ }
42
+ }
43
+
44
+ iam-inline-edit:defined:focus-within:has(select),
45
+ iam-inline-edit:defined[data-saving]:has(select) {
46
+
47
+ --display-btns: none;
48
+ }
49
+
50
+ // Hover state
51
+ iam-inline-edit:defined:not(:focus-within):not([data-saving]):not(.was-validated:has(:invalid)):hover {
52
+
53
+ input,
54
+ textarea,
55
+ select {
56
+ border: none;
57
+ background: var(--colour-light);
58
+ }
59
+ }
60
+
61
+
62
+ // Multi select
63
+
64
+ iam-inline-edit:has(iam-multiselect label[slot=checked]) {
65
+ --display-btns: none;
66
+ }
67
+
68
+ iam-inline-edit:not(:focus-within) iam-multiselect:has(label[slot=checked]) {
69
+ --display-button: none;
70
+ }
71
+
72
+ iam-inline-edit iam-multiselect .tag[slot="checked"]{
73
+
74
+ outline: none;
75
+ }
76
+
77
+
78
+ // Error message
79
+
80
+ iam-inline-edit.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]), select)):has(:is(:invalid, .is-invalid)):after {
81
+
82
+ position: absolute;
83
+ right: 0;
84
+ bottom: 100%;
85
+ padding: 0.85rem;
86
+ width: min-content;
87
+ white-space: nowrap;
88
+
89
+
90
+ color: var(--colour-heading);
91
+
92
+ display: block;
93
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
94
+ background: var(--colour-canvas-2);
95
+ border-radius: 0.5rem;
96
+ margin: 0 0 -1rem 0;
97
+ outline: var(--contrast-outline-width, 0px) solid var(--colour-primary);
98
+ }
@@ -0,0 +1,32 @@
1
+ @use "../_func" as *;
2
+
3
+ :host {
4
+
5
+ max-width: var(--input-max-width, 50rem);
6
+ display: block;
7
+ font-weight: normal;
8
+ margin-bottom: 2rem;
9
+ position: relative;
10
+ }
11
+
12
+ .btns, .status {
13
+ justify-content: flex-end;
14
+ gap: 0.5rem;
15
+ position: absolute;
16
+ top: calc(100% + 0.5rem);
17
+ right: 0;
18
+ }
19
+
20
+ .btns {
21
+
22
+ display: var(--display-btns, flex);
23
+ justify-content: flex-end;
24
+ }
25
+
26
+ .status {
27
+ display: var(--display-status, flex);
28
+ }
29
+
30
+ .btn-action {
31
+ margin: 0;
32
+ }
@@ -0,0 +1,37 @@
1
+ @use "../_func" as *;
2
+
3
+ iam-multiselect .tag[slot="checked"]{
4
+ margin-bottom: rem(8);
5
+ order: var(--order, 1);
6
+ margin-inline: rem(3);
7
+ }
8
+
9
+ iam-multiselect .tag:not([slot="checked"]){
10
+ display: block;
11
+ width: 100%;
12
+ max-width: 100%;
13
+ margin: 0;
14
+ text-align: left;
15
+ border-radius: 0;
16
+ padding-inline: 1rem;
17
+ outline: none;
18
+ padding-block: 0.5rem;
19
+
20
+ &:not(:hover,:focus,:active,:focus-within){
21
+ background: none!important;
22
+ }
23
+
24
+ &::after {
25
+ display: none;
26
+ }
27
+ }
28
+
29
+ iam-multiselect:has(label:not([slot="checked"]):not([slot="notmatched"])) {
30
+
31
+ --display-panel: block;
32
+ }
33
+
34
+ iam-multiselect:has(label[slot="checked"]) {
35
+
36
+ --display-button: block;
37
+ }
@@ -0,0 +1,186 @@
1
+ @use "../_func" as *;
2
+
3
+ .outer {
4
+
5
+ position: relative;
6
+ max-width: var(--input-max-width, 50rem);
7
+ display: block;
8
+ }
9
+
10
+ label {
11
+ margin-bottom: 0;
12
+ padding-bottom: 0.5rem;
13
+ }
14
+
15
+ .wrapper {
16
+
17
+ margin-bottom: rem(24);
18
+ max-width: var(--input-max-width, 50rem);
19
+
20
+ &:after {
21
+ content: "";
22
+ display: block;
23
+ position: absolute;
24
+ top: 100%;
25
+ left: 0;
26
+ width: 100%;
27
+ height: 1rem;
28
+ }
29
+
30
+ input {
31
+
32
+ margin-bottom: rem(8);
33
+ }
34
+
35
+ .feedback {
36
+ position: absolute;
37
+ right: 0;
38
+ bottom: 100%;
39
+ padding: 0.85rem;
40
+ width: min-content;
41
+ white-space: nowrap;
42
+ margin-bottom: 0.5rem;
43
+ display: none;
44
+ }
45
+
46
+ &.was-validated .feedback{
47
+ display: block;
48
+ }
49
+ }
50
+
51
+ .wrapper.filled {
52
+
53
+ display: flex;
54
+ flex-direction: row;
55
+ flex-wrap: wrap;
56
+ align-items: flex-start;
57
+ min-height: calc(0.75rem + 0.75rem + 1.25rem + 4px);
58
+ padding: #{rem(8)} #{rem(32)} #{rem(0)} #{rem(13)};
59
+ font-size: var(--input-fs, #{rem(16)});
60
+ line-height: var(--input-lh, #{rem(20)});
61
+ color: var(--colour-body);
62
+ background-color: var(--colour-canvas-2);
63
+ border: 2px solid var(--colour-primary);
64
+ border-radius: rem(8);
65
+
66
+ &:is(:focus-within,.focus-within):not(:disabled) {
67
+ border-color: var(--colour-info);
68
+ outline: 0;
69
+ box-shadow: 0 0 0 0.1rem rgba(30, 190, 230, 0.25);
70
+ }
71
+
72
+ input {
73
+ all: unset;
74
+ font-size: rem(16);
75
+ line-height: rem(26);
76
+ display: inline-block;
77
+ width: 0;
78
+ flex-grow: 1;
79
+ padding: 0 rem(8) 0 0!important;
80
+ margin-inline: rem(3);
81
+ order: 999;
82
+ margin-bottom: rem(8);
83
+ }
84
+
85
+ .feedback {
86
+ display: none!important;
87
+ }
88
+
89
+ &:is(:focus,.focus):not(:disabled) {
90
+ border-color: var(--colour-info);
91
+ outline: 0;
92
+ box-shadow: 0 0 0 0.1rem rgba(30, 190, 230, 0.25);
93
+ }
94
+ }
95
+
96
+ button {
97
+
98
+ position: absolute;
99
+ top: 0.75rem;
100
+ right: 0.5rem;
101
+ border: none;
102
+ background: none;
103
+ padding-inline: 0.5rem;
104
+ display: var(--display-button, none);
105
+
106
+ &:after {
107
+ content: '\2715';
108
+ font-weight: bold;
109
+ }
110
+ }
111
+
112
+ .dropdown {
113
+ position: absolute;
114
+ top: calc(100% + 0.5rem);
115
+ padding: 0;
116
+ left: 0;
117
+ width: 100%;
118
+ margin: 0;
119
+ z-index: 99;
120
+ display: none;
121
+ max-height: rem(244) !important;
122
+ overflow: auto;
123
+
124
+ &:before {
125
+ display: none;
126
+ }
127
+ }
128
+
129
+
130
+
131
+ .wrapper:is(:hover, :focus-within) .dropdown {
132
+
133
+ display: var(--display-panel, none);
134
+ }
135
+
136
+
137
+ // Inline edit
138
+ :host-context(:focus-within) {
139
+ input {
140
+ background-color: none!important;
141
+ }
142
+ }
143
+ :host-context(iam-inline-edit) {
144
+
145
+ display: block;
146
+ --display-btns: none;
147
+
148
+ label:hover + .outer:not(:focus-within) .wrapper:not([data-mousedown]),
149
+ .outer:not(:focus-within) .wrapper:not([data-mousedown]):hover{
150
+
151
+ background-color: var(--colour-light);
152
+
153
+ input {
154
+ background-color: var(--colour-light);
155
+ }
156
+
157
+ .dropdown {
158
+ display: none;
159
+ }
160
+ }
161
+
162
+ .wrapper {
163
+ margin-bottom: 0;
164
+ }
165
+
166
+ .wrapper:not(.filled):not(:focus-within):not([data-mousedown]){
167
+
168
+ input {
169
+ border: none;
170
+ background: none;
171
+ margin-left: -1rem;
172
+ width: calc(100% + 1rem);
173
+ max-width: calc(100% + 1rem);
174
+ box-shadow: none;
175
+ }
176
+
177
+ .dropdown {
178
+ display: none;
179
+ }
180
+ }
181
+ .wrapper.filled:not(:focus-within):not([data-mousedown]) {
182
+ background: none;
183
+ border: none;
184
+ padding-left: 0;
185
+ }
186
+ }
@@ -140,6 +140,8 @@ iam-nav {
140
140
 
141
141
 
142
142
  iam-nav details {
143
+
144
+ padding-bottom: 0;
143
145
 
144
146
  > summary {
145
147
 
@@ -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
+ }
@@ -5,10 +5,7 @@
5
5
  --padding-top: #{rem(16)};
6
6
  --padding-bottom: #{rem(24)};
7
7
  --mh-modifier: #{rem(56 + 16)};
8
-
9
8
  --mh-padding-inline: var(--padding-x);
10
-
11
-
12
9
  display: block;
13
10
  padding: var(--padding-top) var(--padding-x) var(--padding-bottom) var(--padding-x);
14
11
  box-shadow: 0px 6px 12px rgba(0,0,0,0.11);
@@ -0,0 +1,92 @@
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,:focus-within, :focus-visible) {
40
+ background: var(--wider-colour-hover, var(--wider-colour-1-hover));
41
+ }
42
+
43
+ &:is(:active,.active) {
44
+ background: var(--wider-colour-active, var(--wider-colour-1-active));
45
+ }
46
+
47
+ &:has(input:disabled),
48
+ &:disabled {
49
+
50
+ background: var(--wider-colour-1)!important;
51
+ color: #99adb1!important;
52
+ }
53
+ }
54
+
55
+ .tag.tag--not-set,
56
+ iam-multiselect:not(:defined) .tag,
57
+ .tag.tag--toggle {
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
+ &:is(:hover,:focus) {
71
+
72
+ background: #EEEEEE;
73
+ }
74
+
75
+ &:is(:active) {
76
+
77
+ background: #E0E0E0;
78
+ }
79
+
80
+ &:has(input:checked),
81
+ &.selected {
82
+
83
+ background: #E9F9FD;
84
+ outline: 1px solid #1EBEE6;
85
+ }
86
+ }
87
+
88
+ // Quick fix for badges in buttons
89
+ .btn :is(.badge, .tag) {
90
+ position: relative;
91
+ top: -1px;
92
+ }
@@ -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;