@iamproperty/components 7.6.4--beta2 → 7.6.4--beta3

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 (110) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/address-lookup.component.css +1 -1
  4. package/assets/css/components/address-lookup.component.css.map +1 -1
  5. package/assets/css/components/calendar.component.css +1 -1
  6. package/assets/css/components/calendar.component.css.map +1 -1
  7. package/assets/css/components/fileupload.css +1 -1
  8. package/assets/css/components/fileupload.css.map +1 -1
  9. package/assets/css/components/multiselect.css +1 -1
  10. package/assets/css/components/multiselect.css.map +1 -1
  11. package/assets/css/components/multiselect.preload.css +1 -1
  12. package/assets/css/components/multiselect.preload.css.map +1 -1
  13. package/assets/css/components/nav.component.css +1 -1
  14. package/assets/css/components/nav.component.css.map +1 -1
  15. package/assets/css/components/pagination.css +1 -1
  16. package/assets/css/components/pagination.css.map +1 -1
  17. package/assets/css/components/slider.css +1 -1
  18. package/assets/css/components/slider.css.map +1 -1
  19. package/assets/css/components/tag.component.css +1 -1
  20. package/assets/css/components/tag.component.css.map +1 -1
  21. package/assets/css/components/tag.preload.css +1 -1
  22. package/assets/css/components/tag.preload.css.map +1 -1
  23. package/assets/css/core.min.css +1 -1
  24. package/assets/css/core.min.css.map +1 -1
  25. package/assets/css/style.min.css +1 -1
  26. package/assets/css/style.min.css.map +1 -1
  27. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  28. package/assets/js/components/actionbar/actionbar.component.min.js +2 -2
  29. package/assets/js/components/address-lookup/address-lookup.component.js +11 -5
  30. package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
  31. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  32. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  33. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  34. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  35. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  36. package/assets/js/components/calendar/calendar.component.min.js +2 -2
  37. package/assets/js/components/card/card.component.min.js +1 -1
  38. package/assets/js/components/carousel/carousel.component.min.js +1 -1
  39. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  40. package/assets/js/components/content/content.component.min.js +1 -1
  41. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  42. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  43. package/assets/js/components/fileupload/fileupload.component.min.js +4 -4
  44. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  45. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  46. package/assets/js/components/form/form.component.min.js +1 -1
  47. package/assets/js/components/header/header.component.min.js +1 -1
  48. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  49. package/assets/js/components/input/input.component.min.js +1 -1
  50. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  51. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  52. package/assets/js/components/menu/menu.component.min.js +1 -1
  53. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  54. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  55. package/assets/js/components/modal/modal.component.js +1 -1
  56. package/assets/js/components/modal/modal.component.min.js +2 -2
  57. package/assets/js/components/modal/modal.component.min.js.map +1 -1
  58. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  59. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +1 -1
  60. package/assets/js/components/multiselect/multiselect.component.js +9 -76
  61. package/assets/js/components/multiselect/multiselect.component.min.js +4 -4
  62. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  63. package/assets/js/components/nav/nav.component.min.js +2 -2
  64. package/assets/js/components/notification/notification.component.min.js +1 -1
  65. package/assets/js/components/pagination/pagination.component.min.js +2 -2
  66. package/assets/js/components/password/password.component.min.js +1 -1
  67. package/assets/js/components/popover/popover.component.min.js +1 -1
  68. package/assets/js/components/rank/rank.component.min.js +1 -1
  69. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  70. package/assets/js/components/rating/rating.component.min.js +1 -1
  71. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  72. package/assets/js/components/search/search.component.min.js +1 -1
  73. package/assets/js/components/slider/slider.component.min.js +2 -2
  74. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  75. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +39 -2
  76. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +10 -9
  77. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  78. package/assets/js/components/table/table.component.min.js +1 -1
  79. package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
  80. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  81. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  82. package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
  83. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  84. package/assets/js/components/tag/tag.component.js +6 -1
  85. package/assets/js/components/tag/tag.component.min.js +4 -4
  86. package/assets/js/components/tag/tag.component.min.js.map +1 -1
  87. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  88. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  89. package/assets/js/components/video-modal/video-modal.component.min.js +1 -1
  90. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  91. package/assets/js/modules/dropdown.js +97 -4
  92. package/assets/js/scripts.bundle.js +1 -1
  93. package/assets/js/scripts.bundle.min.js +1 -1
  94. package/assets/sass/_components.scss +0 -2
  95. package/assets/sass/_elements.scss +1 -0
  96. package/assets/sass/components/multiselect.preload.scss +0 -55
  97. package/assets/sass/components/multiselect.scss +172 -174
  98. package/assets/sass/components/tag.component.scss +38 -57
  99. package/assets/sass/components/tag.preload.scss +1 -26
  100. package/assets/sass/elements/dropdown.scss +87 -0
  101. package/assets/sass/elements/forms.scss +6 -0
  102. package/assets/ts/components/address-lookup/address-lookup.component.ts +12 -5
  103. package/assets/ts/components/modal/modal.component.ts +1 -1
  104. package/assets/ts/components/multiselect/multiselect.component.ts +10 -78
  105. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +51 -2
  106. package/assets/ts/components/tag/tag.component.ts +8 -11
  107. package/assets/ts/modules/dropdown.ts +117 -5
  108. package/dist/components.es.js +28 -28
  109. package/dist/components.umd.js +219 -212
  110. package/package.json +2 -2
@@ -5,6 +5,7 @@
5
5
  @use '../elements/admin-panel.scss' as *;
6
6
  @use '../elements/buttons.scss' as *;
7
7
  @use '../elements/buttons--action.scss' as *;
8
+ @use '../elements/dropdown.scss' as *;
8
9
 
9
10
  @use '../utilities/visually-hidden' as *;
10
11
  @use '../utilities/display' as *;
@@ -15,227 +16,224 @@
15
16
  box-sizing: border-box;
16
17
  }
17
18
 
18
- :host {
19
+ @layer components {
20
+ :host {
19
21
 
20
- margin-bottom: 1.5rem;
21
- }
22
-
23
- .outer {
24
- position: relative;
25
- max-width: var(--input-max-width, 50rem);
26
- display: block;
27
- }
28
-
29
- label {
30
- margin-bottom: 0;
31
- padding-bottom: 0.5rem;
32
- }
33
-
34
- .inner-label:empty {
35
- display: none;
36
- }
37
-
38
- .wrapper {
39
- max-width: var(--input-max-width, 50rem);
22
+ margin-bottom: 1.5rem;
23
+ }
40
24
 
41
- &:after {
42
- content: '';
25
+ .outer {
26
+ position: relative;
27
+ max-width: var(--input-max-width, 50rem);
43
28
  display: block;
44
- position: absolute;
45
- top: 100%;
46
- left: 0;
47
- width: 100%;
48
- height: 1rem;
49
29
  }
50
30
 
51
- input {
52
- margin-bottom: 0.5rem;
31
+ label {
32
+ margin-bottom: 0;
33
+ padding-bottom: 0.5rem;
53
34
  }
54
35
 
55
- .feedback {
56
- position: absolute;
57
- right: 0;
58
- bottom: 100%;
59
- padding: 0.85rem;
60
- width: min-content;
61
- white-space: nowrap;
62
- margin-bottom: 0.5rem;
36
+ .inner-label:empty {
63
37
  display: none;
64
38
  }
65
39
 
66
- &.was-validated .feedback {
67
- display: block;
68
- }
69
- }
40
+ .wrapper {
41
+ max-width: var(--input-max-width, 50rem);
42
+
43
+ &:after {
44
+ content: '';
45
+ display: block;
46
+ position: absolute;
47
+ top: 100%;
48
+ left: 0;
49
+ width: 100%;
50
+ height: 1rem;
51
+ }
70
52
 
71
- .wrapper {
53
+ input {
54
+ margin-bottom: 0.5rem;
55
+ }
72
56
 
73
- input {
57
+ .feedback {
58
+ position: absolute;
59
+ right: 0;
60
+ bottom: 100%;
61
+ padding: 0.85rem;
62
+ width: min-content;
63
+ white-space: nowrap;
64
+ margin-bottom: 0.5rem;
65
+ display: none;
66
+ }
74
67
 
75
- margin-top: unset;
76
- }
77
- }
78
- .wrapper.filled {
79
- display: flex;
80
- flex-direction: row;
81
- flex-wrap: wrap;
82
- align-items: flex-start;
83
- min-height: calc(0.75rem + 0.75rem + 1.25rem + 4px);
84
- padding: 0.5rem 2rem 0 #{rem(13)};
85
- font-size: var(--input-fs, 1rem);
86
- line-height: var(--input-lh, 1.25rem);
87
- color: var(--colour-body);
88
- background-color: var(--colour-canvas-2);
89
- border: 2px solid var(--colour-primary);
90
- border-radius: 0.5rem;
91
-
92
- &:is(:focus-within, .focus-within):not(:disabled) {
93
- border-color: var(--colour-info);
94
- outline: 0;
95
- box-shadow: 0 0 0 0.1rem rgba(30, 190, 230, 0.25);
96
- }
97
-
98
- input {
99
- all: unset;
100
- font-size: 1rem;
101
- line-height: rem(26);
102
- display: var(--search-display,inline-block);
103
- width: 0;
104
- flex-grow: 1;
105
- padding: 0 0.5rem 0 0 !important;
106
- margin-inline: rem(3);
107
- order: 999;
108
- margin-bottom: 0.5rem;
68
+ &.was-validated .feedback {
69
+ display: block;
70
+ }
109
71
  }
110
72
 
111
- .feedback {
112
- display: none !important;
113
- }
73
+ .wrapper {
74
+
75
+ input {
114
76
 
115
- &:is(:focus, .focus):not(:disabled) {
116
- border-color: var(--colour-info);
117
- outline: 0;
118
- box-shadow: 0 0 0 0.1rem rgba(30, 190, 230, 0.25);
77
+ margin-top: unset;
78
+ }
119
79
  }
120
- }
80
+ .wrapper.filled {
81
+ display: flex;
82
+ flex-direction: row;
83
+ flex-wrap: wrap;
84
+ align-items: flex-start;
85
+ min-height: calc(0.75rem + 0.75rem + 1.25rem + 4px);
86
+ padding: 0.5rem 2rem 0 #{rem(13)};
87
+ font-size: var(--input-fs, 1rem);
88
+ line-height: var(--input-lh, 1.25rem);
89
+ color: var(--colour-body);
90
+ background-color: var(--colour-canvas-2);
91
+ border: 2px solid var(--colour-primary);
92
+ border-radius: 0.5rem;
93
+
94
+ &:is(:focus-within, .focus-within):not(:disabled) {
95
+ border-color: var(--colour-info);
96
+ outline: 0;
97
+ box-shadow: 0 0 0 0.1rem rgba(30, 190, 230, 0.25);
98
+ }
121
99
 
122
- button {
123
- position: absolute;
124
- right: 0.5rem;
125
- border: none;
126
- padding-inline: 0.5rem;
127
- display: var(--display-button, none);
100
+ input {
101
+ all: unset;
102
+ font-size: 1rem;
103
+ line-height: rem(26);
104
+ display: var(--search-display,inline-block);
105
+ width: 0;
106
+ flex-grow: 1;
107
+ padding: 0 0.5rem 0 0 !important;
108
+ margin-inline: rem(3);
109
+ order: 999;
110
+ margin-bottom: 0.5rem;
111
+ }
128
112
 
129
- &:after {
130
- content: '\2715';
131
- font-weight: bold;
132
- }
133
- }
113
+ .feedback {
114
+ display: none !important;
115
+ }
134
116
 
135
- .dropdown {
136
- position: absolute;
137
- top: calc(100% + 0.5rem);
138
- padding: 0;
139
- left: 0;
140
- width: 100%;
141
- margin: 0;
142
- z-index: 99;
143
- display: none;
144
- max-height: rem(244) !important;
145
- overflow: auto;
146
-
147
- &:before {
148
- display: none;
117
+ &:is(:focus, .focus):not(:disabled) {
118
+ border-color: var(--colour-info);
119
+ outline: 0;
120
+ box-shadow: 0 0 0 0.1rem rgba(30, 190, 230, 0.25);
121
+ }
149
122
  }
150
- }
151
123
 
152
- .wrapper:is(:focus-within) .dropdown {
153
- display: var(--display-panel, none);
154
- }
124
+ button {
125
+ position: absolute;
126
+ right: 0.5rem;
127
+ border: none;
128
+ padding-inline: 0.5rem;
129
+ display: var(--display-button, none);
155
130
 
156
- @media (hover: hover) {
157
- .wrapper .dropdown:hover {
158
- display: var(--display-panel, none);
131
+ &:after {
132
+ content: '\2715';
133
+ font-weight: bold;
134
+ }
159
135
  }
160
- }
161
136
 
162
- @media (hover: none) {
163
- :host(.hover) .wrapper .dropdown {
164
- display: block;
137
+ .wrapper:is(:focus-within) .dropdown {
138
+ display: var(--display-panel, none);
165
139
  }
166
- }
167
140
 
168
- // Inline edit
169
- :host-context(:focus-within) {
170
- input {
171
- background-color: none !important;
141
+ @media (hover: hover) {
142
+ .wrapper .dropdown:hover {
143
+ display: var(--display-panel, none);
144
+ }
172
145
  }
173
- }
174
- :host-context(iam-inline-edit) {
175
- display: block;
176
- --display-btns: none;
177
146
 
178
- label:hover + .outer:not(:focus-within) .wrapper:not([data-mousedown]),
179
- .outer:not(:focus-within) .wrapper:not([data-mousedown]):hover {
180
- background-color: var(--colour-light);
147
+ @media (hover: none) {
148
+ :host(.hover) .wrapper .dropdown {
149
+ display: block;
150
+ }
151
+ }
181
152
 
153
+ // Inline edit
154
+ :host-context(:focus-within) {
182
155
  input {
156
+ background-color: none !important;
157
+ }
158
+ }
159
+ :host-context(iam-inline-edit) {
160
+ display: block;
161
+ --display-btns: none;
162
+
163
+ label:hover + .outer:not(:focus-within) .wrapper:not([data-mousedown]),
164
+ .outer:not(:focus-within) .wrapper:not([data-mousedown]):hover {
183
165
  background-color: var(--colour-light);
166
+
167
+ input {
168
+ background-color: var(--colour-light);
169
+ }
170
+
171
+ .dropdown {
172
+ display: none;
173
+ }
184
174
  }
185
175
 
186
- .dropdown {
187
- display: none;
176
+ .wrapper {
177
+ margin-bottom: 0;
188
178
  }
189
- }
190
179
 
191
- .wrapper {
192
- margin-bottom: 0;
180
+ .wrapper:not(.filled):not(:focus-within):not([data-mousedown]) {
181
+ input {
182
+ border-color: transparent;
183
+ background: none;
184
+ margin-left: var(--input-ms,-1rem);
185
+ width: calc(100% + 1rem);
186
+ max-width: calc(100% + 1rem);
187
+ box-shadow: none;
188
+ }
189
+
190
+ .dropdown {
191
+ display: none;
192
+ }
193
+ }
194
+ .wrapper.filled:not(:focus-within):not([data-mousedown]) {
195
+ background: none;
196
+ border: none;
197
+ padding-left: 0;
198
+ }
193
199
  }
194
200
 
195
- .wrapper:not(.filled):not(:focus-within):not([data-mousedown]) {
196
- input {
197
- border-color: transparent;
198
- background: none;
199
- margin-left: var(--input-ms,-1rem);
200
- width: calc(100% + 1rem);
201
- max-width: calc(100% + 1rem);
202
- box-shadow: none;
201
+ :host([data-single]){
202
+
203
+ .wrapper.filled{
204
+
205
+ slot[name='checked'] {
206
+ pointer-events: none;
207
+ }
203
208
  }
204
209
 
205
- .dropdown {
210
+ #clear {
211
+ display: none;
212
+ }
213
+ ::slotted([slot='checked'])::after {
206
214
  display: none;
207
215
  }
208
216
  }
209
- .wrapper.filled:not(:focus-within):not([data-mousedown]) {
210
- background: none;
211
- border: none;
212
- padding-left: 0;
213
- }
214
- }
215
-
216
- :host([data-single]){
217
+ :host-context(td){
217
218
 
218
- .wrapper.filled{
219
-
220
- slot[name='checked'] {
221
- pointer-events: none;
222
- }
219
+ input,
220
+ textarea,
221
+ select {
222
+ margin-left: 0!important;
223
+ width: 100%!important;
224
+ max-width: 100%!important;
225
+ }
223
226
  }
224
227
 
225
- #clear {
226
- display: none;
228
+ ::slotted([slot='checked']) {
229
+ margin-bottom: 0.5rem;
230
+ order: var(--order, 1);
231
+ margin-inline: rem(3);
227
232
  }
233
+
228
234
  ::slotted([slot='checked'])::after {
229
- display: none;
235
+ content: '\2715';
236
+ margin-left: 0.6em;
237
+ font-weight: bold;
230
238
  }
231
- }
232
- :host-context(td){
233
-
234
- input,
235
- textarea,
236
- select {
237
- margin-left: 0!important;
238
- width: 100%!important;
239
- max-width: 100%!important;
240
- }
241
239
  }
@@ -1,78 +1,59 @@
1
1
  @use '../_func' as *;
2
2
  @use '../elements/forms';
3
-
4
3
  @use '../elements/admin-panel.scss' as *;
5
-
6
-
4
+ @use '../elements/dropdown.scss' as *;
7
5
  @use '../utilities/visually-hidden' as *;
8
6
  @use '../utilities/display' as *;
7
+
9
8
  *,
10
9
  *::before,
11
10
  *::after {
12
11
  box-sizing: border-box;
13
12
  }
14
13
 
15
-
16
- .wrapper {
17
-
18
- position: relative;
19
- display: inline-block;
20
- margin-bottom: 1rem;
21
-
22
- input {
23
- position: absolute;
24
- min-height: unset;
25
- top: 50%;
26
- left: 0;
27
- transform: translate(0,-50%);
28
- z-index: -99;
29
- opacity: 0;
14
+ @layer components {
15
+ .wrapper {
16
+
17
+ position: relative;
18
+ display: inline-block;
19
+ margin-bottom: 1rem;
20
+
21
+ input {
22
+ position: absolute;
23
+ min-height: unset;
24
+ top: 50%;
25
+ left: 0;
26
+ transform: translate(0,-50%);
27
+ z-index: -99;
28
+ opacity: 0;
29
+ }
30
30
  }
31
- }
32
-
33
- ::slotted(*) {
34
- margin-bottom: 0!important;
35
- }
36
-
37
-
38
-
39
-
40
- input:focus {
41
-
42
- opacity: 1;
43
- z-index: 99;
44
- }
45
31
 
32
+ ::slotted(*) {
33
+ margin-bottom: 0!important;
34
+ }
46
35
 
47
- .dropdown {
48
- position: absolute;
49
- top: calc(100% + 0.5rem);
50
- padding: 0;
51
- left: 0;
52
- width: 100%;
53
- margin: 0;
54
- z-index: 99;
55
- display: none;
56
- max-height: rem(244) !important;
57
- overflow: auto;
58
36
 
59
- &:before {
60
- display: none;
37
+ input:focus {
38
+
39
+ opacity: 1;
40
+ z-index: 99;
61
41
  }
62
- }
63
-
64
- .wrapper:is(:focus-within) .dropdown {
65
- display: var(--display-panel, none);
66
- }
67
42
 
68
- @media (hover: hover) {
69
- .wrapper .dropdown:hover {
43
+ .wrapper:is(:focus-within) .dropdown {
70
44
  display: var(--display-panel, none);
71
45
  }
72
- }
73
46
 
74
- @media (hover: none) {
75
- :host(.hover) .wrapper .dropdown {
76
- display: block;
47
+ @media (hover: hover) {
48
+ .wrapper .dropdown:hover {
49
+ display: var(--display-panel, none);
50
+ }
51
+ }
52
+
53
+ @media (hover: none) {
54
+ :host(.hover) .wrapper .dropdown {
55
+ display: block;
56
+ }
77
57
  }
78
- }
58
+
59
+ }
@@ -2,32 +2,7 @@
2
2
 
3
3
 
4
4
  @layer components {
5
- iam-tag .tag[slot='checked'] {
6
- //margin-bottom: 0.5rem;
7
- order: var(--order, 1);
8
- //margin-inline: rem(3);
9
- }
10
-
11
- iam-tag .tag:not([slot='checked']) {
12
- display: block;
13
- width: 100%;
14
- max-width: 100%;
15
- margin: 0;
16
- text-align: left;
17
- border-radius: 0;
18
- padding-inline: 1rem;
19
- outline: none;
20
- padding-block: 0.5rem;
21
-
22
- &:not(:hover, :focus, :active, :focus-within) {
23
- background: none !important;
24
- }
25
-
26
- &::after {
27
- display: none;
28
- }
29
- }
30
-
5
+
31
6
  iam-tag:has(label:not([slot='checked']):not([slot='notmatched'])) {
32
7
  --display-panel: block;
33
8
  }
@@ -0,0 +1,87 @@
1
+ @use '../_func' as *;
2
+
3
+ @layer elements {
4
+
5
+ // #region Dropdown
6
+ .dropdown {
7
+ position: absolute;
8
+ top: calc(100% + 0.5rem);
9
+ padding: 0;
10
+ left: 0;
11
+ width: 100%;
12
+ margin: 0;
13
+ z-index: 99;
14
+ display: none;
15
+ max-height: rem(244) !important;
16
+ overflow: auto;
17
+
18
+ &:before {
19
+ display: none;
20
+ }
21
+ }
22
+
23
+ // #endregion
24
+
25
+ // #region Needed for the component files
26
+ :is(iam-tag,iam-multiselect):has(label:not([slot='checked'])) {
27
+ --display-panel: block;
28
+ }
29
+
30
+ :is(iam-tag,iam-multiselect):has(label[slot='checked']) {
31
+ --display-button: block;
32
+ }
33
+
34
+ :is(iam-tag,iam-multiselect)[data-single] .tag[slot='checked'],
35
+ :is(iam-tag,iam-multiselect)[data-single] .tag[slot='checked'] * {
36
+ pointer-events: none!important;
37
+ }
38
+
39
+ @container style(--theme: dark) {
40
+ :host :is(.tag, .badge):not([slot='checked']) {
41
+ color: var(--colour-heading);
42
+ }
43
+ }
44
+ // #endregion
45
+
46
+ // #region Indivitual options
47
+ .dropdown__option[slot='checked'] {
48
+ order: var(--order, 1);
49
+ }
50
+
51
+ .dropdown__option:not([slot='checked']) {
52
+ display: block;
53
+ width: 100%;
54
+ max-width: 100%;
55
+ margin: 0;
56
+ text-align: left;
57
+ border-radius: 0;
58
+ padding-inline: 1rem;
59
+ outline: none;
60
+ padding-block: 0.5rem;
61
+
62
+ padding-bottom: 0.25em;
63
+ text-overflow: ellipsis;
64
+ overflow: hidden;
65
+
66
+ &:not(:hover, :focus, :active, :focus-within) {
67
+ background: none !important;
68
+ }
69
+
70
+ &::after {
71
+ display: none;
72
+ }
73
+
74
+ &[data-email] {
75
+
76
+ &::after {
77
+ content: attr(data-email);
78
+ display: block;
79
+ line-height: 1;
80
+ padding-bottom: 0.25em;
81
+ text-overflow: ellipsis;
82
+ overflow: hidden;
83
+ }
84
+ }
85
+ }
86
+ // #endregion
87
+ }
@@ -1029,6 +1029,7 @@ $icon-tick: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' view
1029
1029
  padding-right: 3rem;
1030
1030
  }
1031
1031
 
1032
+
1032
1033
  .empty {
1033
1034
  position: absolute;
1034
1035
  bottom: 0.5rem;
@@ -1051,6 +1052,11 @@ $icon-tick: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' view
1051
1052
  font-size: 1.5rem;
1052
1053
  }
1053
1054
  }
1055
+
1056
+ &:has([name="postcode"][disabled]) .empty{
1057
+
1058
+ display: none;
1059
+ }
1054
1060
 
1055
1061
  &:has(input:is([name$="Alt"]):not([data-value],[data-placeholder])) .empty {
1056
1062
  display: none;
@@ -617,19 +617,26 @@ class iamAddressLookup extends HTMLElement {
617
617
  // #endregion
618
618
 
619
619
  advancedSelect(this, lookup, list, true);
620
+
621
+ if (this.hasAttribute('data-disabled'))
622
+ lookup?.setAttribute('disabled','disabled');
620
623
  }
621
624
 
622
625
  static get observedAttributes(): any {
623
- return ['data-url'];
626
+ return ['data-disabled'];
624
627
  }
625
628
 
626
629
  attributeChangedCallback(attrName, oldVal, newVal): void {
627
- const addressComponent = this.querySelector('iam-address-lookup');
630
+ const lookup = this.shadowRoot.querySelector('[name="postcode"]');
628
631
 
629
632
  switch (attrName) {
630
- case 'data-url': {
631
- if (oldVal != newVal && addressComponent) {
632
- addressComponent.setAttribute('data-url', newVal + '?search_string=');
633
+ case 'data-disabled': {
634
+ console.log(newVal);
635
+ if (oldVal != newVal && newVal == 'disabled') {
636
+ lookup?.setAttribute('disabled','disabled');
637
+ }
638
+ else if (oldVal != newVal) {
639
+ lookup?.removeAttribute('disabled');
633
640
  }
634
641
  break;
635
642
  }
@@ -43,7 +43,7 @@ class iamModal extends HTMLElement {
43
43
  const originalDialog = this.querySelector('dialog');
44
44
 
45
45
  const id = this.hasAttribute('id') ? this.getAttribute('id') : originalDialog?.getAttribute('id');
46
- const dialog = this.shadowRoot?.querySelector('dialog');
46
+ let dialog = this.shadowRoot?.querySelector('dialog');
47
47
  const closeButton = this.shadowRoot?.querySelector('[data-close]');
48
48
  const cancelButton = this.shadowRoot?.querySelector('[data-cancel]');
49
49
  const agreedButton = this.querySelector('button[slot="agreed-button"]') ? this.querySelector('button[slot="agreed-button"]') : this.shadowRoot?.querySelector('[data-agreed]');