@iamproperty/components 7.6.4--beta6 → 7.6.4--beta8

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 (164) 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/actionbar.global.css +1 -1
  4. package/assets/css/components/actionbar.global.css.map +1 -1
  5. package/assets/css/components/address-lookup.component.css +1 -1
  6. package/assets/css/components/address-lookup.component.css.map +1 -1
  7. package/assets/css/components/barchart.component.css +1 -1
  8. package/assets/css/components/barchart.component.css.map +1 -1
  9. package/assets/css/components/calendar.component.css +1 -1
  10. package/assets/css/components/calendar.component.css.map +1 -1
  11. package/assets/css/components/card.component.css +1 -1
  12. package/assets/css/components/card.component.css.map +1 -1
  13. package/assets/css/components/carousel.component.css +1 -1
  14. package/assets/css/components/carousel.component.css.map +1 -1
  15. package/assets/css/components/collapsible-side.css +1 -1
  16. package/assets/css/components/collapsible-side.css.map +1 -1
  17. package/assets/css/components/config.component.css +1 -0
  18. package/assets/css/components/config.component.css.map +1 -0
  19. package/assets/css/components/content.component.css +1 -1
  20. package/assets/css/components/content.component.css.map +1 -1
  21. package/assets/css/components/doughnutchart.component.css +1 -1
  22. package/assets/css/components/doughnutchart.component.css.map +1 -1
  23. package/assets/css/components/fileupload.css +1 -1
  24. package/assets/css/components/fileupload.css.map +1 -1
  25. package/assets/css/components/modal.component.css +1 -1
  26. package/assets/css/components/modal.component.css.map +1 -1
  27. package/assets/css/components/multi-step-modal.component.css +1 -1
  28. package/assets/css/components/multi-step-modal.component.css.map +1 -1
  29. package/assets/css/components/multiselect.css +1 -1
  30. package/assets/css/components/multiselect.css.map +1 -1
  31. package/assets/css/components/nav.component.css +1 -1
  32. package/assets/css/components/nav.component.css.map +1 -1
  33. package/assets/css/components/nav.global.css +1 -1
  34. package/assets/css/components/nav.global.css.map +1 -1
  35. package/assets/css/components/notification.css +1 -1
  36. package/assets/css/components/notification.css.map +1 -1
  37. package/assets/css/components/pagination.css +1 -1
  38. package/assets/css/components/pagination.css.map +1 -1
  39. package/assets/css/components/slider.css +1 -1
  40. package/assets/css/components/slider.css.map +1 -1
  41. package/assets/css/components/split-button.component.css +1 -1
  42. package/assets/css/components/split-button.component.css.map +1 -1
  43. package/assets/css/components/table-basic.component.css +1 -1
  44. package/assets/css/components/table-basic.component.css.map +1 -1
  45. package/assets/css/components/table-basic.global.css +1 -1
  46. package/assets/css/components/table-basic.global.css.map +1 -1
  47. package/assets/css/components/table.component.css +1 -1
  48. package/assets/css/components/table.component.css.map +1 -1
  49. package/assets/css/components/table.global.css +1 -1
  50. package/assets/css/components/table.global.css.map +1 -1
  51. package/assets/css/components/tabs.component.css +1 -1
  52. package/assets/css/components/tabs.component.css.map +1 -1
  53. package/assets/css/components/tag.component.css +1 -1
  54. package/assets/css/components/tag.component.css.map +1 -1
  55. package/assets/css/components/video-modal.component.css +1 -1
  56. package/assets/css/components/video-modal.component.css.map +1 -1
  57. package/assets/css/core.min.css +1 -1
  58. package/assets/css/core.min.css.map +1 -1
  59. package/assets/css/style.min.css +1 -1
  60. package/assets/css/style.min.css.map +1 -1
  61. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  62. package/assets/js/components/actionbar/actionbar.component.js +7 -6
  63. package/assets/js/components/actionbar/actionbar.component.min.js +5 -5
  64. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  65. package/assets/js/components/address-lookup/address-lookup.component.js +11 -1
  66. package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
  67. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  68. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  69. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  70. package/assets/js/components/barchart/barchart.component.min.js +2 -2
  71. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  72. package/assets/js/components/calendar/calendar.component.min.js +2 -2
  73. package/assets/js/components/card/card.component.min.js +2 -2
  74. package/assets/js/components/carousel/carousel.component.min.js +3 -3
  75. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +2 -2
  76. package/assets/js/components/config/config.component.js +532 -0
  77. package/assets/js/components/config/config.component.min.js +59 -0
  78. package/assets/js/components/config/config.component.min.js.map +1 -0
  79. package/assets/js/components/content/content.component.min.js +4 -4
  80. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  81. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
  82. package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
  83. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  84. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  85. package/assets/js/components/form/form.component.min.js +1 -1
  86. package/assets/js/components/header/header.component.min.js +1 -1
  87. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  88. package/assets/js/components/input/input.component.min.js +1 -1
  89. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  90. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  91. package/assets/js/components/menu/menu.component.min.js +1 -1
  92. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  93. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  94. package/assets/js/components/modal/modal.component.min.js +4 -4
  95. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  96. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +4 -4
  97. package/assets/js/components/multiselect/multiselect.component.min.js +2 -2
  98. package/assets/js/components/nav/nav.component.min.js +3 -3
  99. package/assets/js/components/notification/notification.component.js +69 -30
  100. package/assets/js/components/notification/notification.component.min.js +5 -5
  101. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  102. package/assets/js/components/pagination/pagination.component.min.js +2 -2
  103. package/assets/js/components/password/password.component.min.js +1 -1
  104. package/assets/js/components/popover/popover.component.min.js +1 -1
  105. package/assets/js/components/rank/rank.component.min.js +1 -1
  106. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  107. package/assets/js/components/rating/rating.component.min.js +1 -1
  108. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  109. package/assets/js/components/search/search.component.min.js +1 -1
  110. package/assets/js/components/slider/slider.component.min.js +2 -2
  111. package/assets/js/components/split-button/split-button.component.min.js +5 -5
  112. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +5 -5
  113. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  114. package/assets/js/components/table/table.component.min.js +8 -6
  115. package/assets/js/components/table/table.component.min.js.map +1 -1
  116. package/assets/js/components/table-ajax/table-ajax.component.min.js +8 -6
  117. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  118. package/assets/js/components/table-basic/table-basic.component.min.js +7 -5
  119. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  120. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +8 -6
  121. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  122. package/assets/js/components/table-submit/table-submit.component.min.js +8 -6
  123. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  124. package/assets/js/components/tabs/tabs.component.min.js +3 -3
  125. package/assets/js/components/tag/tag.component.min.js +2 -2
  126. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  127. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  128. package/assets/js/components/video-modal/video-modal.component.min.js +2 -2
  129. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  130. package/assets/js/modules/integration-tests.js +402 -0
  131. package/assets/js/modules/table.js +17 -1
  132. package/assets/js/scripts.bundle.js +5 -2
  133. package/assets/js/scripts.bundle.js.map +1 -1
  134. package/assets/js/scripts.bundle.min.js +2 -2
  135. package/assets/js/scripts.bundle.min.js.map +1 -1
  136. package/assets/js/scripts.js +11 -0
  137. package/assets/sass/components/actionbar.component.scss +13 -4
  138. package/assets/sass/components/actionbar.global.scss +8 -0
  139. package/assets/sass/components/config.component.scss +235 -0
  140. package/assets/sass/components/modal.component.scss +1 -0
  141. package/assets/sass/components/nav.global.scss +9 -5
  142. package/assets/sass/components/notification.scss +4 -14
  143. package/assets/sass/components/table-basic.component.scss +3 -0
  144. package/assets/sass/components/table-basic.global.scss +128 -6
  145. package/assets/sass/components/table.global.scss +153 -0
  146. package/assets/sass/elements/button__group.css +57 -16
  147. package/assets/sass/elements/buttons--compact.scss +2 -2
  148. package/assets/sass/elements/buttons--special.scss +1 -1
  149. package/assets/sass/elements/label.scss +4 -0
  150. package/assets/sass/elements/progress.scss +2 -2
  151. package/assets/sass/foundations/root.scss +0 -4
  152. package/assets/ts/components/actionbar/actionbar.component.ts +7 -6
  153. package/assets/ts/components/address-lookup/address-lookup.component.ts +16 -1
  154. package/assets/ts/components/config/config.component.ts +699 -0
  155. package/assets/ts/components/notification/notification.component.ts +98 -47
  156. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +1 -0
  157. package/assets/ts/modules/integration-tests.ts +526 -0
  158. package/assets/ts/modules/table.ts +22 -1
  159. package/assets/ts/scripts.ts +14 -0
  160. package/dist/components.es.js +29 -29
  161. package/dist/components.umd.js +281 -214
  162. package/package.json +2 -2
  163. package/src/components/Config/Config.vue +23 -0
  164. package/src/components/Header/Header.vue +1 -1
@@ -19,6 +19,159 @@ $selector: 'iam-table, iam-table-basic, iam-table-no-submit, iam-table-submit, i
19
19
  }
20
20
 
21
21
 
22
+ :is(#{$selector}) iam-actionbar {
23
+ margin: 0 1.5rem 1rem 1.5rem;
24
+
25
+ @container (width < 23.4375em) {
26
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
27
+ border-radius: 0.5rem;
28
+ }
29
+ }
30
+ :is(#{$selector}).table--fullwidth:has(iam-actionbar) {
31
+ padding-top: 0;
32
+ }
33
+ :is(#{$selector}).table--fullwidth iam-actionbar {
34
+ margin: -2rem -2rem 2rem -2rem;
35
+ box-shadow: none;
36
+ border-radius: 0;
37
+ }
38
+
39
+ :is(#{$selector}).table--fullwidth iam-actionbar:has(+ table input:checked) {
40
+ margin: -2rem -2rem 2rem -2rem;
41
+ box-shadow: none;
42
+ border-radius: 0;
43
+ }
44
+
45
+ // Actionbar
46
+ .actionbar__sticky-wrapper {
47
+ container-type: inline-size;
48
+
49
+ @container (width < 23.4375em) {
50
+ padding: 0 !important;
51
+ }
52
+ }
53
+
54
+ @container (width < 23.4375em) {
55
+ :is(#{$selector}):is(.actionbar__sticky-wrapper) > .actionbar__sticky {
56
+ display: block;
57
+ position: sticky;
58
+ left: 0;
59
+ top: calc(var(--sticky-padding) + #{rem(16)});
60
+ z-index: var(--index-menu);
61
+ pointer-events: none;
62
+
63
+ &:after {
64
+ content: '';
65
+ display: block;
66
+ width: 100%;
67
+ height: calc(100vh - #{rem(68 + 24 + 16)});
68
+ pointer-events: none;
69
+ }
70
+
71
+ & + * {
72
+ margin-top: calc(-100vh - -6.75rem);
73
+ }
74
+ }
75
+
76
+ :is(#{$selector}):is(.actionbar__sticky) > iam-actionbar {
77
+ pointer-events: all !important;
78
+ display: block;
79
+ border: none;
80
+ background: var(--colour-canvas-2);
81
+ //box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
82
+ border-radius: 0.5rem;
83
+ margin-bottom: rem(24);
84
+ }
85
+ }
86
+
87
+ @container (width < 23.4375em) {
88
+ :is(#{$selector}).table--fullwidth iam-actionbar,
89
+ :is(#{$selector}) iam-actionbar {
90
+ margin-left: -2rem;
91
+ margin-right: -2rem;
92
+ margin-top: -2rem;
93
+ margin-bottom: 2rem;
94
+ }
95
+ }
96
+ // #endregion
97
+
98
+ // #region Table with actionbar
99
+
100
+ :is(#{$selector}) {
101
+ input:is([type='radio'], [type='checkbox']) + label:not(.radio--tick) {
102
+ padding-left: 0 !important;
103
+ margin: 0 !important;
104
+
105
+ &:before,
106
+ &:after {
107
+ top: 0.75rem !important;
108
+ left: 0.25rem !important;
109
+ --border-radius: 0.25rem;
110
+ }
111
+ }
112
+
113
+ &:has([type='checkbox']:checked) tr:has([type='checkbox']) {
114
+ .td--fixed [type='checkbox'] {
115
+ width: 100vw;
116
+ height: 100%;
117
+ max-height: var(--row-height);
118
+ max-width: 100vw;
119
+ cursor: pointer;
120
+ pointer-events: all;
121
+ top: auto;
122
+ margin: 0;
123
+ margin-top: 0rem;
124
+ }
125
+ }
126
+
127
+ @container (width > 23.4375em) {
128
+ tr:has([type='checkbox']:checked) {
129
+ height: calc(4.625rem - 2px);
130
+ }
131
+ }
132
+
133
+ tr:has([type='checkbox']:hover, [type='checkbox']:focus) {
134
+ --row-bg: #eeeeee;
135
+ }
136
+ tr:has([type='checkbox']:hover:checked, [type='checkbox']:focus:checked, [type='checkbox']:checked) {
137
+ --row-bg: #e0e0e0;
138
+ }
139
+ }
140
+
141
+ @container (width < 23.4375em) {
142
+ :is(#{$selector}) {
143
+ iam-actionbar {
144
+
145
+ }
146
+ .actionbar__sticky + * {
147
+ margin-top: 0 !important;
148
+ }
149
+ }
150
+
151
+ :is(#{$selector}) {
152
+ input:is([type='radio'], [type='checkbox']) + label:not(.radio--tick) {
153
+ padding-left: 0 !important;
154
+ margin: 0 !important;
155
+ min-height: 2rem;
156
+
157
+ &:before,
158
+ &:after {
159
+ top: 0.25rem !important;
160
+ left: 0 !important;
161
+ }
162
+ }
163
+
164
+ &:has([type='checkbox']:checked) tr:has([type='checkbox']) {
165
+ [type='checkbox'] {
166
+ width: 100%;
167
+ height: 100%;
168
+ max-height: 100%;
169
+ max-width: 100%;
170
+ margin-top: -2rem;
171
+ }
172
+ }
173
+ }
174
+ }
22
175
  // #endregion
23
176
 
24
177
  // #region Expandable tables
@@ -8,6 +8,17 @@
8
8
  reading-flow: source-order;
9
9
  margin-bottom: 1.5rem;
10
10
 
11
+ .btn-compact {
12
+
13
+ max-width: fit-content;
14
+ margin-inline: auto;
15
+ }
16
+
17
+ }
18
+ :where(.btn__group, iam-modal) {
19
+
20
+ reading-flow: source-order;
21
+
11
22
  .btn {
12
23
  margin-inline-end: 0;
13
24
  width: 100%;
@@ -15,6 +26,10 @@
15
26
  text-align: center;
16
27
  white-space: normal;
17
28
  margin: 0;
29
+
30
+ &:not(:last-child) {
31
+ margin-right: 0;
32
+ }
18
33
  }
19
34
 
20
35
  .btn-tertiary {
@@ -30,14 +45,15 @@
30
45
  .btn-primary {
31
46
  order: 1;
32
47
  reading-order: 1;
33
- }
34
-
35
- .btn-compact {
48
+ margin: 0;
36
49
 
37
- max-width: fit-content;
38
- margin-inline: auto;
50
+ &:not(:last-child) {
51
+
52
+ margin: 0;
53
+ }
39
54
  }
40
55
  }
56
+
41
57
  :is(iam-form,form) .btn__group{
42
58
  padding-top: 1rem;
43
59
  }
@@ -48,35 +64,60 @@
48
64
  gap: var(--gap);
49
65
  flex-wrap: wrap;
50
66
 
51
- .btn {
52
-
53
- max-width: fit-content;
54
- white-space: nowrap;
55
- margin-block: auto;
56
- }
57
-
58
-
59
67
  .btn-tertiary {
60
68
  max-width: fit-content;
61
69
  margin-inline: 0;
62
70
  margin-block: auto;
63
71
  order: 1;
64
- reading-order: 1;
65
72
  }
66
73
  .btn-secondary {
67
74
  order: 2;
68
- reading-order: 2;
69
75
  }
70
76
  .btn-primary {
71
77
  order: 3;
72
- reading-order: 3;
73
78
  }
79
+
74
80
  .btn-compact {
75
81
 
76
82
  margin-inline: 0;
77
83
  margin-block: auto;
78
84
  }
79
85
  }
86
+ :where(iam-modal, .btn__group) {
87
+
88
+ .btn {
89
+ max-width: fit-content;
90
+ white-space: nowrap;
91
+ margin-block: auto;
92
+ }
93
+ }
94
+ .btn__group {
95
+
96
+ .btn-tertiary {
97
+ reading-order: 1;
98
+ }
99
+ .btn-secondary {
100
+ reading-order: 2;
101
+ }
102
+ .btn-primary {
103
+ reading-order: 3;
104
+ }
105
+ }
106
+ iam-modal {
107
+
108
+ .btn-tertiary {
109
+ reading-order: 3;
110
+ order: 1;
111
+ }
112
+ .btn-secondary {
113
+ order: 2;
114
+ reading-order: 2;
115
+ }
116
+ .btn-primary {
117
+ order: 3;
118
+ reading-order: 1;
119
+ }
120
+ }
80
121
  .btn__group.text-end {
81
122
  justify-content: flex-end;
82
123
  }
@@ -21,8 +21,8 @@
21
21
  min-height: var(--compact-size) !important;
22
22
  max-height: var(--compact-size) !important;
23
23
 
24
- align-content: center;
25
- line-height: 1 !important;
24
+ align-content: center;
25
+ line-height: 1 !important;
26
26
 
27
27
  text-indent: -500px;
28
28
  overflow: hidden;
@@ -15,7 +15,7 @@
15
15
  content: '';
16
16
 
17
17
  display: inline-block;
18
- margin-right: -0.5em;
18
+ margin-right: 0.25em;
19
19
  margin-left: 1em;
20
20
 
21
21
  height: 0.8em;
@@ -13,5 +13,9 @@
13
13
 
14
14
  margin-top: 0.25rem!important;
15
15
  }
16
+
17
+ &.label--sm {
18
+ --input-max-width: 15rem;
19
+ }
16
20
  }
17
21
  }
@@ -46,11 +46,11 @@
46
46
 
47
47
  progress::-webkit-progress-bar {
48
48
  background-color: var(--colour-light);
49
- border-radius: rem(5);
49
+ border-radius: var(--border-radius, #{rem(5)});
50
50
  }
51
51
  progress::-webkit-progress-value {
52
52
  background-color: var(--colour, var(--colour-info));
53
- border-radius: rem(5);
53
+ border-radius: var(--border-radius, #{rem(5)});
54
54
  }
55
55
 
56
56
  // #region inline progress
@@ -75,10 +75,6 @@
75
75
 
76
76
  --colour-inverted: #fcfcfc;
77
77
 
78
- --colour-notification-bg: light-dark(#e9f9fd,var(--colour-canvas-2));
79
- --colour-notification-warning-bg: light-dark(#fff6e6,var(--colour-canvas-2));
80
- --colour-notification-danger-bg: light-dark(#fcebec,var(--colour-canvas-2));
81
- --colour-notification-success-bg: light-dark(#f8fdf6,var(--colour-canvas-2));
82
78
  /* #endregion */
83
79
  /* #region Wider colours */
84
80
  --wider-colour-1: #EEEEEE;
@@ -208,20 +208,20 @@ class iamActionbar extends HTMLElement {
208
208
  const viewList = this.getAttribute('data-switchviews')?.split(',');
209
209
 
210
210
  viewList?.forEach((view) => {
211
- let icon = 'fa-grid-2';
211
+ let icon = 'fa-grid';
212
212
 
213
- if (view == 'list') icon = 'fa-grip-lines';
214
- else if (view == 'small') icon = 'fa-bars';
213
+ if (view == 'list') icon = 'fa-list';
214
+ else if (view == 'small') icon = 'fa-table';
215
215
 
216
- btns += `<button class="btn btn-action btn-compact btn-sm mb-0 fa-regular ${icon}">${view}</button>`;
216
+ btns += `<button class="tag tag--toggle mb-0" data-view="${view}"><i class="fa-regular ${icon} m-0"></i><span class="visually-hidden">${view}</span></button>`;
217
217
  });
218
218
 
219
219
  actionbarWrapper?.insertAdjacentHTML('afterbegin', `<div class="views m-0">${btns}</div>`);
220
220
  const views = this.shadowRoot?.querySelector('.views');
221
221
 
222
222
  views?.addEventListener('click', (event) => {
223
- if (event && event.target instanceof HTMLElement && event.target.closest('.btn-action')) {
224
- const btn = event.target.closest('.btn-action');
223
+ if (event && event.target instanceof HTMLElement && event.target.closest('.tag--toggle')) {
224
+ const btn = event.target.closest('.tag--toggle');
225
225
 
226
226
  this.setAttribute('data-view', btn.textContent);
227
227
 
@@ -249,6 +249,7 @@ class iamActionbar extends HTMLElement {
249
249
  if (event && event.target instanceof HTMLElement && event.target.closest('button[data-search]')) {
250
250
  searchBar.classList.toggle('show');
251
251
  searchBtn.toggleAttribute('aria-expanded');
252
+ searchInput.focus();
252
253
  }
253
254
  });
254
255
 
@@ -315,12 +315,27 @@ class iamAddressLookup extends HTMLElement {
315
315
  addresses.forEach((address) => {
316
316
  // Deal with agent platform response
317
317
  if (typeof address.attributes == 'object' && address.attributes.label) {
318
+ const attributes = {};
319
+
318
320
  if (address.id) address.attributes.id = address.id;
319
321
 
320
322
  if (address.relationships)
321
323
  address.attributes = Object.assign(address.attributes, address.relationships);
322
324
 
323
- const values = JSON.stringify(address.attributes);
325
+ Object.keys(address.attributes).forEach((key) => {
326
+
327
+ const attribute = address.attributes[key];
328
+
329
+ if(typeof attribute == 'object'){
330
+ attributes[key] = attribute?.id;
331
+ }
332
+ else {
333
+ attributes[key] = attribute;
334
+ }
335
+ });
336
+
337
+ const values = JSON.stringify(attributes);
338
+
324
339
  listString += `<option data-values='${values}' >${address.attributes.label}</option>`;
325
340
  } else if (typeof address.value == 'object') {
326
341
  if (address.id) address.attributes.id = address.id;