@iamproperty/components 7.2.2--beta3 → 7.4.0
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.
- package/assets/css/components/actionbar.component.css +1 -1
- package/assets/css/components/actionbar.component.css.map +1 -1
- package/assets/css/components/actionbar.global.css +1 -1
- package/assets/css/components/actionbar.global.css.map +1 -1
- package/assets/css/components/barchart.component.css +1 -1
- package/assets/css/components/barchart.component.css.map +1 -1
- package/assets/css/components/bento-grid.global.css.map +1 -1
- package/assets/css/components/calendar.component.css +1 -0
- package/assets/css/components/calendar.component.css.map +1 -0
- package/assets/css/components/calendar.config.css +1 -0
- package/assets/css/components/calendar.config.css.map +1 -0
- package/assets/css/components/card.component.css +1 -1
- package/assets/css/components/card.component.css.map +1 -1
- package/assets/css/components/carousel.component.css +1 -1
- package/assets/css/components/carousel.component.css.map +1 -1
- package/assets/css/components/charts.module.css.map +1 -1
- package/assets/css/components/collapsible-side.css +1 -1
- package/assets/css/components/collapsible-side.css.map +1 -1
- package/assets/css/components/content.component.css +1 -0
- package/assets/css/components/content.component.css.map +1 -0
- package/assets/css/components/doughnutchart.component.css +1 -1
- package/assets/css/components/doughnutchart.component.css.map +1 -1
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/inline-edit.css +1 -1
- package/assets/css/components/inline-edit.css.map +1 -1
- package/assets/css/components/marketing.component.css +1 -0
- package/assets/css/components/marketing.component.css.map +1 -0
- package/assets/css/components/menu.component.css +1 -1
- package/assets/css/components/menu.component.css.map +1 -1
- package/assets/css/components/menu.css +1 -1
- package/assets/css/components/menu.css.map +1 -1
- package/assets/css/components/milestone.css +1 -0
- package/assets/css/components/milestone.css.map +1 -0
- package/assets/css/components/multiselect.css +1 -1
- package/assets/css/components/multiselect.css.map +1 -1
- package/assets/css/components/nav.component.css +1 -1
- package/assets/css/components/nav.component.css.map +1 -1
- package/assets/css/components/nav.global.css +1 -1
- package/assets/css/components/nav.global.css.map +1 -1
- package/assets/css/components/pagination.css.map +1 -1
- package/assets/css/components/rank.component.css +1 -1
- package/assets/css/components/rank.component.css.map +1 -1
- package/assets/css/components/rankings.component.css +1 -1
- package/assets/css/components/rankings.component.css.map +1 -1
- package/assets/css/components/rankings.global.css +1 -1
- package/assets/css/components/rankings.global.css.map +1 -1
- package/assets/css/components/slider.css.map +1 -1
- package/assets/css/components/split-button.component.css +1 -0
- package/assets/css/components/split-button.component.css.map +1 -0
- package/assets/css/components/table-basic.global.css.map +1 -1
- package/assets/css/components/table.global.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/mobile-core.min.css +1 -1
- package/assets/css/mobile-core.min.css.map +1 -1
- package/assets/css/mobile.min.css +1 -1
- package/assets/css/mobile.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +51 -31
- package/assets/js/components/actionbar/actionbar.component.min.js +17 -17
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
- package/assets/js/components/advanced-select/advanced-select.component.js +63 -0
- package/assets/js/components/advanced-select/advanced-select.component.min.js +23 -0
- package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -0
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/barchart/barchart.component.min.js +2 -2
- package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
- package/assets/js/components/calendar/calendar.component.js +1083 -0
- package/assets/js/components/calendar/calendar.component.min.js +170 -0
- package/assets/js/components/calendar/calendar.component.min.js.map +1 -0
- package/assets/js/components/card/card.component.js +20 -8
- package/assets/js/components/card/card.component.min.js +10 -10
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/carousel/carousel.component.min.js +2 -2
- package/assets/js/components/collapsible-side/collapsible-side.component.js +47 -12
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +6 -5
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
- package/assets/js/components/content/content.component.js +66 -0
- package/assets/js/components/content/content.component.min.js +15 -0
- package/assets/js/components/content/content.component.min.js.map +1 -0
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
- package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
- package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.min.js +5 -5
- package/assets/js/components/marketing/marketing.component.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js +2 -2
- package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
- package/assets/js/components/menu/menu.component.js +148 -161
- package/assets/js/components/menu/menu.component.min.js +4 -69
- package/assets/js/components/menu/menu.component.min.js.map +1 -1
- package/assets/js/components/milestone/milestone.component.js +38 -0
- package/assets/js/components/milestone/milestone.component.min.js +15 -0
- package/assets/js/components/milestone/milestone.component.min.js.map +1 -0
- package/assets/js/components/milestone-group/milestone-group.component.js +35 -0
- package/assets/js/components/milestone-group/milestone-group.component.min.js +13 -0
- package/assets/js/components/milestone-group/milestone-group.component.min.js.map +1 -0
- package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
- package/assets/js/components/multiselect/multiselect.component.js +54 -2
- package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
- package/assets/js/components/nav/nav.component.js +19 -0
- package/assets/js/components/nav/nav.component.min.js +6 -6
- package/assets/js/components/nav/nav.component.min.js.map +1 -1
- package/assets/js/components/notification/notification.component.js +17 -11
- package/assets/js/components/notification/notification.component.min.js +4 -4
- package/assets/js/components/notification/notification.component.min.js.map +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +1 -1
- package/assets/js/components/rank/rank.component.js +346 -210
- package/assets/js/components/rank/rank.component.min.js +346 -211
- package/assets/js/components/rank/rank.component.min.js.map +1 -1
- package/assets/js/components/rankings/rankings.component.js +17 -8
- package/assets/js/components/rankings/rankings.component.min.js +14 -8
- package/assets/js/components/rankings/rankings.component.min.js.map +1 -1
- package/assets/js/components/record-card/record-card.component.min.js +1 -1
- package/assets/js/components/search/search.component.js +5 -3
- package/assets/js/components/search/search.component.min.js +6 -6
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/slider/slider.component.min.js +1 -1
- package/assets/js/components/split-button/split-button.component.js +60 -0
- package/assets/js/components/split-button/split-button.component.min.js +34 -0
- package/assets/js/components/split-button/split-button.component.min.js.map +1 -0
- package/assets/js/components/table/table.component.js +12 -0
- package/assets/js/components/table/table.component.min.js +3 -3
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/table-ajax/table-ajax.component.js +12 -0
- package/assets/js/components/table-ajax/table-ajax.component.min.js +3 -3
- package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
- package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
- package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
- package/assets/js/components/table-no-submit/table-no-submit.component.js +12 -0
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +3 -3
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
- package/assets/js/components/table-submit/table-submit.component.js +12 -0
- package/assets/js/components/table-submit/table-submit.component.min.js +3 -3
- package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +1 -1
- package/assets/js/components/video-card/video-card.component.min.js +1 -1
- package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
- package/assets/js/components.js +58 -0
- package/assets/js/modules/advanced-select.js +106 -0
- package/assets/js/modules/dialogs.js +53 -51
- package/assets/js/modules/dynamicEvents.js +7 -0
- package/assets/js/modules/milestone-group.js +30 -0
- package/assets/js/modules/milestone.js +89 -0
- package/assets/js/modules/table.js +11 -1
- package/assets/js/modules/videos.js +1 -1
- package/assets/js/scripts.bundle.js +3 -3
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +2 -2
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/js/scripts.js +4 -0
- package/assets/sass/_components.scss +11 -0
- package/assets/sass/_functions/utility-mixins.scss +41 -0
- package/assets/sass/_functions/variables.scss +11 -8
- package/assets/sass/components/actionbar.component.scss +3 -4
- package/assets/sass/components/actionbar.global.scss +4 -4
- package/assets/sass/components/bento-grid.global.scss +0 -1
- package/assets/sass/components/calendar.component.scss +1380 -0
- package/assets/sass/components/calendar.config.scss +476 -0
- package/assets/sass/components/card.component.scss +4 -34
- package/assets/sass/components/carousel.component.scss +5 -0
- package/assets/sass/components/charts.module.scss +0 -2
- package/assets/sass/components/collapsible-side.scss +91 -95
- package/assets/sass/components/content.component.scss +18 -0
- package/assets/sass/components/inline-edit.scss +2 -0
- package/assets/sass/components/{marketing.scss → marketing.component.scss} +2 -6
- package/assets/sass/components/menu.component.scss +118 -31
- package/assets/sass/components/menu.scss +68 -7
- package/assets/sass/components/milestone.scss +207 -0
- package/assets/sass/components/multiselect.scss +3 -0
- package/assets/sass/components/nav.component.scss +1 -0
- package/assets/sass/components/nav.global.scss +30 -0
- package/assets/sass/components/rank.component.scss +197 -33
- package/assets/sass/components/rankings.component.scss +39 -35
- package/assets/sass/components/rankings.global.scss +66 -10
- package/assets/sass/components/split-button.component.scss +77 -0
- package/assets/sass/components/table-basic.global.scss +2 -4
- package/assets/sass/components/table.global.scss +4 -4
- package/assets/sass/elements/badge-tag.scss +5 -1
- package/assets/sass/elements/buttons--compact.scss +4 -0
- package/assets/sass/elements/buttons--global.scss +1 -1
- package/assets/sass/elements/details.scss +0 -1
- package/assets/sass/elements/dialog.scss +1 -3
- package/assets/sass/elements/forms.scss +148 -22
- package/assets/sass/elements/links.scss +132 -4
- package/assets/sass/elements/lists.scss +61 -0
- package/assets/sass/elements/popover.scss +64 -10
- package/assets/sass/elements/toggle-button.scss +7 -8
- package/assets/sass/elements/type.scss +7 -10
- package/assets/sass/foundations/reboot.scss +3 -3
- package/assets/sass/templates/form.scss +0 -2
- package/assets/ts/components/actionbar/actionbar.component.ts +49 -23
- package/assets/ts/components/advanced-select/advanced-select.component.ts +74 -0
- package/assets/ts/components/calendar/calendar.component.ts +1460 -0
- package/assets/ts/components/card/card.component.ts +22 -14
- package/assets/ts/components/collapsible-side/collapsible-side.component.ts +53 -12
- package/assets/ts/components/content/content.component.ts +78 -0
- package/assets/ts/components/marketing/marketing.component.ts +1 -1
- package/assets/ts/components/menu/menu.component.ts +162 -173
- package/assets/ts/components/milestone/milestone.component.ts +45 -0
- package/assets/ts/components/milestone-group/milestone-group.component.ts +41 -0
- package/assets/ts/components/multiselect/multiselect.component.ts +69 -3
- package/assets/ts/components/nav/nav.component.ts +25 -0
- package/assets/ts/components/notification/notification.component.ts +34 -11
- package/assets/ts/components/rank/rank.component.ts +345 -214
- package/assets/ts/components/rankings/rankings.component.ts +28 -15
- package/assets/ts/components/search/search.component.ts +6 -4
- package/assets/ts/components/split-button/split-button.component.ts +69 -0
- package/assets/ts/components/table/table.component.ts +14 -0
- package/assets/ts/components/table-ajax/table-ajax.component.ts +14 -0
- package/assets/ts/components/table-no-submit/table-no-submit.component.ts +14 -0
- package/assets/ts/components/table-submit/table-submit.component.ts +14 -0
- package/assets/ts/components/video-card/video-card.component.ts +2 -3
- package/assets/ts/components.ts +63 -0
- package/assets/ts/modules/advanced-select.ts +125 -0
- package/assets/ts/modules/dialogs.ts +64 -61
- package/assets/ts/modules/dynamicEvents.ts +12 -1
- package/assets/ts/modules/milestone-group.ts +42 -0
- package/assets/ts/modules/milestone.ts +122 -0
- package/assets/ts/modules/table.ts +15 -1
- package/assets/ts/modules/videos.ts +19 -37
- package/assets/ts/scripts.ts +5 -3
- package/dist/components.es.js +41 -1923
- package/dist/components.umd.js +127 -171
- package/package.json +1 -1
- package/src/components/AdvancedSelect/AdvancedSelect.vue +23 -0
- package/src/components/Calendar/Calendar.vue +26 -0
- package/src/components/Card/Card.vue +1 -1
- package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +7 -13
- package/src/components/Content/Content.vue +23 -0
- package/src/components/Milestones/Milestone.vue +27 -0
- package/src/components/Milestones/MilestoneGroup.vue +27 -0
- package/src/components/Rank/Rank.vue +1 -2
- package/src/components/Rankings/Rankings.vue +9 -10
- package/src/components/SplitButton/README.md +19 -0
- package/src/components/SplitButton/SplitButton.vue +26 -0
- package/src/index.js +44 -41
- package/assets/css/components/marketing.css +0 -1
- package/assets/css/components/marketing.css.map +0 -1
- package/assets/css/components/nav.old.css +0 -1
- package/assets/css/components/nav.old.css.map +0 -1
- package/assets/sass/components/nav.old.scss +0 -891
|
@@ -58,7 +58,7 @@ $darkMode: 'true' !default;
|
|
|
58
58
|
position: relative;
|
|
59
59
|
font-weight: bold;
|
|
60
60
|
|
|
61
|
-
&:not(.text-decoration-none)
|
|
61
|
+
&:not(.text-decoration-none) {
|
|
62
62
|
&:after {
|
|
63
63
|
position: absolute;
|
|
64
64
|
content: '';
|
|
@@ -160,8 +160,7 @@ $darkMode: 'true' !default;
|
|
|
160
160
|
// #endregion
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
:is(.youtube-link[data-youtube], .vimeo-link[data-vimeo]){
|
|
164
|
-
|
|
163
|
+
:is(.youtube-link[data-youtube], .vimeo-link[data-vimeo]) {
|
|
165
164
|
position: relative;
|
|
166
165
|
|
|
167
166
|
&:before {
|
|
@@ -206,4 +205,133 @@ $darkMode: 'true' !default;
|
|
|
206
205
|
&:is(:active) {
|
|
207
206
|
--video-btn-colour: color-mix(in oklab, var(--colour-success), #000000 20%) !important;
|
|
208
207
|
}
|
|
209
|
-
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// #region Sidebar link styling including parent group styling
|
|
211
|
+
iam-collapsible-side {
|
|
212
|
+
> * {
|
|
213
|
+
padding-left: rem(24);
|
|
214
|
+
|
|
215
|
+
@include media-breakpoint-up(sm) {
|
|
216
|
+
padding-left: rem(40);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
@include media-breakpoint-up(md) {
|
|
220
|
+
padding-left: var(--container-padding-x-md);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
hr {
|
|
225
|
+
border-bottom: 2px solid var(--colour-border) !important;
|
|
226
|
+
margin-right: rem(-40) !important;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.vertical-tabs [class*='link'],
|
|
231
|
+
iam-collapsible-side [class*='link'] {
|
|
232
|
+
display: block !important;
|
|
233
|
+
line-height: rem(20) !important;
|
|
234
|
+
padding: rem(16) rem(24) rem(16) rem(24) !important;
|
|
235
|
+
margin: 0 !important;
|
|
236
|
+
flex-shrink: 0;
|
|
237
|
+
font-size: 1rem !important;
|
|
238
|
+
font-weight: normal !important;
|
|
239
|
+
text-decoration: none !important;
|
|
240
|
+
border-bottom: 2px solid var(--colour-border) !important;
|
|
241
|
+
border-right: 2px solid var(--colour-border) !important;
|
|
242
|
+
margin-right: rem(-40) !important;
|
|
243
|
+
z-index: 2;
|
|
244
|
+
|
|
245
|
+
&::after {
|
|
246
|
+
display: none !important;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
i {
|
|
250
|
+
// icon
|
|
251
|
+
margin-right: rem(8) !important;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
@include media-breakpoint-up(sm) {
|
|
255
|
+
padding-left: rem(24) !important;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
@include media-breakpoint-up(md) {
|
|
259
|
+
padding-left: var(--container-padding-x-md) !important;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.vertical-tabs a,
|
|
264
|
+
iam-collapsible-side a {
|
|
265
|
+
&:hover,
|
|
266
|
+
&:focus,
|
|
267
|
+
&[aria-expanded] {
|
|
268
|
+
background-color: var(--colour-activeLink) !important;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.vertical-tabs [class*='active'],
|
|
273
|
+
iam-collapsible-side [class*='active'] {
|
|
274
|
+
background-color: var(--colour-activeLink) !important;
|
|
275
|
+
border-right-color: var(--colour-activeLinkBorder) !important;
|
|
276
|
+
border-right-width: 3px !important;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// Parent links
|
|
280
|
+
.vertical-tabs,
|
|
281
|
+
iam-collapsible-side {
|
|
282
|
+
.parent {
|
|
283
|
+
margin: 0 !important;
|
|
284
|
+
padding: 0 !important;
|
|
285
|
+
list-style: none;
|
|
286
|
+
|
|
287
|
+
li:first-of-type {
|
|
288
|
+
cursor: pointer;
|
|
289
|
+
|
|
290
|
+
a {
|
|
291
|
+
padding-right: rem(40) !important;
|
|
292
|
+
|
|
293
|
+
&::before {
|
|
294
|
+
position: absolute;
|
|
295
|
+
display: block;
|
|
296
|
+
content: '\f055';
|
|
297
|
+
font-family: 'Font Awesome 6 Pro';
|
|
298
|
+
right: 20px;
|
|
299
|
+
font-weight: 300;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
li:not(:first-of-type) {
|
|
305
|
+
display: none;
|
|
306
|
+
|
|
307
|
+
a {
|
|
308
|
+
background-color: var(--colour-light) !important;
|
|
309
|
+
padding-left: rem(90) !important;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
&.reveal {
|
|
314
|
+
li:first-of-type {
|
|
315
|
+
a::before {
|
|
316
|
+
content: '\f056';
|
|
317
|
+
font-weight: bold;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
li:not(:first-of-type) {
|
|
322
|
+
display: block;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
@include media-breakpoint-up(sm) {
|
|
328
|
+
.parent {
|
|
329
|
+
li:not(:first-of-type) {
|
|
330
|
+
a {
|
|
331
|
+
padding-left: rem(90) !important;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
// #endregion
|
|
@@ -231,6 +231,7 @@ $darkMode: 'true' !default;
|
|
|
231
231
|
color: var(--colour-heading);
|
|
232
232
|
position: relative;
|
|
233
233
|
margin-bottom: rem(6);
|
|
234
|
+
text-align: center;
|
|
234
235
|
|
|
235
236
|
li {
|
|
236
237
|
position: relative;
|
|
@@ -325,5 +326,65 @@ $darkMode: 'true' !default;
|
|
|
325
326
|
}
|
|
326
327
|
}
|
|
327
328
|
}
|
|
329
|
+
|
|
330
|
+
.list--steps-vertical {
|
|
331
|
+
@extend .list--steps;
|
|
332
|
+
|
|
333
|
+
flex-direction: column;
|
|
334
|
+
align-items: flex-start;
|
|
335
|
+
padding: 0 0 0 rem(32);
|
|
336
|
+
gap: rem(40);
|
|
337
|
+
text-align: left;
|
|
338
|
+
|
|
339
|
+
li {
|
|
340
|
+
padding-top: 0;
|
|
341
|
+
padding-left: rem(32);
|
|
342
|
+
width: 100%;
|
|
343
|
+
text-indent: 0;
|
|
344
|
+
overflow: visible;
|
|
345
|
+
margin-bottom: rem(18);
|
|
346
|
+
margin-top: rem(8);
|
|
347
|
+
display: flex;
|
|
348
|
+
align-items: center;
|
|
349
|
+
min-height: rem(24);
|
|
350
|
+
|
|
351
|
+
&:before {
|
|
352
|
+
top: 50%;
|
|
353
|
+
left: 0;
|
|
354
|
+
margin-left: 0;
|
|
355
|
+
margin-top: rem(-12);
|
|
356
|
+
flex-shrink: 0;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
&:not(:last-child):after {
|
|
360
|
+
left: rem(11);
|
|
361
|
+
top: rem(36);
|
|
362
|
+
width: 2px;
|
|
363
|
+
height: calc(100% + rem(16));
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
@include container-up(sm) {
|
|
368
|
+
padding-left: rem(40);
|
|
369
|
+
|
|
370
|
+
li {
|
|
371
|
+
padding-left: rem(36);
|
|
372
|
+
|
|
373
|
+
&:not(:last-child):after {
|
|
374
|
+
left: rem(12);
|
|
375
|
+
top: rem(36);
|
|
376
|
+
width: 2px;
|
|
377
|
+
height: calc(100% + rem(16));
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
@include container-up(md) {
|
|
383
|
+
li {
|
|
384
|
+
max-width: none;
|
|
385
|
+
margin-bottom: rem(20);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}
|
|
328
389
|
// #endregion
|
|
329
390
|
}
|
|
@@ -60,6 +60,32 @@ $darkMode: 'true' !default;
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
> [popover] {
|
|
64
|
+
display: var(--menu-display, none);
|
|
65
|
+
position: fixed;
|
|
66
|
+
top: anchor(bottom) !important;
|
|
67
|
+
|
|
68
|
+
left: anchor(left) !important;
|
|
69
|
+
|
|
70
|
+
position-try-fallbacks: flip-block, flip-inline !important;
|
|
71
|
+
|
|
72
|
+
//right: auto;
|
|
73
|
+
margin: 0 0 0 #{rem(4)};
|
|
74
|
+
padding: rem(16);
|
|
75
|
+
|
|
76
|
+
&::backdrop {
|
|
77
|
+
display: none;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
> [popover]:popover-open {
|
|
82
|
+
display: block !important;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&:has([popover]:popover-open) > button {
|
|
86
|
+
background-color: var(--colour);
|
|
87
|
+
}
|
|
88
|
+
|
|
63
89
|
> :is(dialog[open], dialog:popover-open) {
|
|
64
90
|
left: 0;
|
|
65
91
|
margin-top: -1rem;
|
|
@@ -79,22 +105,27 @@ $darkMode: 'true' !default;
|
|
|
79
105
|
|
|
80
106
|
&.dialog--list {
|
|
81
107
|
width: fit-content !important;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
padding: rem(16);
|
|
108
|
+
min-width: rem(160) !important;
|
|
109
|
+
max-width: rem(240) !important;
|
|
110
|
+
padding: var(--menu-padding, 0.5rem);
|
|
86
111
|
margin: 0;
|
|
112
|
+
background: var(--menu-bg, canvas);
|
|
113
|
+
border: var(--menu-border, 2px solid grey);
|
|
114
|
+
overflow: auto;
|
|
115
|
+
border: none !important;
|
|
116
|
+
border-radius: 0.5rem;
|
|
117
|
+
box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.1);
|
|
87
118
|
|
|
88
119
|
@include media-breakpoint-up(sm, $mobileOnly) {
|
|
89
120
|
width: max-content !important;
|
|
90
121
|
}
|
|
91
122
|
|
|
92
123
|
hr {
|
|
93
|
-
height:
|
|
94
|
-
background: var(--
|
|
95
|
-
|
|
96
|
-
margin
|
|
97
|
-
|
|
124
|
+
height: 1px !important;
|
|
125
|
+
background-color: var(--menu-hr-border-color, var(--border-color, grey)) !important;
|
|
126
|
+
width: 100%;
|
|
127
|
+
margin: var(--menu-item-margin, 0 0 0.25rem 0) !important;
|
|
128
|
+
padding: 0 !important;
|
|
98
129
|
}
|
|
99
130
|
|
|
100
131
|
.radio--tick {
|
|
@@ -123,10 +154,33 @@ $darkMode: 'true' !default;
|
|
|
123
154
|
}
|
|
124
155
|
|
|
125
156
|
.btn-action {
|
|
157
|
+
background: unset;
|
|
158
|
+
border: unset;
|
|
159
|
+
color: var(--colour-primary);
|
|
160
|
+
font-weight: inherit;
|
|
161
|
+
font-family: inherit;
|
|
162
|
+
font-size: 1rem;
|
|
163
|
+
line-height: rem(19);
|
|
164
|
+
display: block;
|
|
165
|
+
margin: var(--menu-item-margin, 0 0 0.25rem 0);
|
|
166
|
+
padding-block: var(--menu-item-padding, 0.5rem);
|
|
167
|
+
width: var(--menu-item-width, 100%);
|
|
168
|
+
max-width: var(--menu-item-width, 100%);
|
|
169
|
+
text-align: var(--menu-item-text-align, left);
|
|
170
|
+
|
|
126
171
|
&:not(:hover, :focus, :active) {
|
|
127
172
|
border-color: transparent;
|
|
128
173
|
}
|
|
129
|
-
|
|
174
|
+
|
|
175
|
+
&:is(:hover, :focus) {
|
|
176
|
+
background: var(--colour-light) !important;
|
|
177
|
+
border-radius: 0.25rem !important;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
&:is(:active) {
|
|
181
|
+
background: rgba(224, 224, 224, 1) !important;
|
|
182
|
+
border-radius: 0.25rem !important;
|
|
183
|
+
}
|
|
130
184
|
}
|
|
131
185
|
}
|
|
132
186
|
|
|
@@ -5,10 +5,9 @@ $mobileOnly: 'false' !default;
|
|
|
5
5
|
$darkMode: 'true' !default;
|
|
6
6
|
|
|
7
7
|
@include layer('elements', $layers) {
|
|
8
|
-
|
|
9
|
-
// #region toggle
|
|
8
|
+
// #region toggle
|
|
10
9
|
.toggle {
|
|
11
|
-
--outline-width: 0.25rem!important;
|
|
10
|
+
--outline-width: 0.25rem !important;
|
|
12
11
|
padding-left: 3.25rem !important;
|
|
13
12
|
}
|
|
14
13
|
|
|
@@ -21,14 +20,14 @@ $darkMode: 'true' !default;
|
|
|
21
20
|
left: 0.25rem !important;
|
|
22
21
|
}
|
|
23
22
|
|
|
24
|
-
label.toggle:has(:is(input[type='checkbox'],input[type=
|
|
23
|
+
label.toggle:has(:is(input[type='checkbox'], input[type='radio']):not([disabled]):checked):before {
|
|
25
24
|
background: var(--colour-primary-theme) !important;
|
|
26
25
|
}
|
|
27
26
|
|
|
28
27
|
.toggle:after {
|
|
29
28
|
position: absolute !important;
|
|
30
29
|
content: '' !important;
|
|
31
|
-
display: block!important;
|
|
30
|
+
display: block !important;
|
|
32
31
|
top: 0.5rem !important;
|
|
33
32
|
height: 1em !important;
|
|
34
33
|
width: 1em !important;
|
|
@@ -40,7 +39,7 @@ $darkMode: 'true' !default;
|
|
|
40
39
|
border-radius: 0.5em;
|
|
41
40
|
}
|
|
42
41
|
|
|
43
|
-
label.toggle:has(:is(input[type='checkbox'],input[type='radio']):not([disabled]):not([disabled]):checked):after {
|
|
42
|
+
label.toggle:has(:is(input[type='checkbox'], input[type='radio']):not([disabled]):not([disabled]):checked):after {
|
|
44
43
|
background: var(--colour-primary-theme) !important;
|
|
45
44
|
background-color: white !important;
|
|
46
45
|
-webkit-transform: translateX(1rem) !important;
|
|
@@ -50,6 +49,6 @@ $darkMode: 'true' !default;
|
|
|
50
49
|
// #endregion
|
|
51
50
|
|
|
52
51
|
label.toggle:has(+ label.toggle) {
|
|
53
|
-
margin-bottom: 0!important;
|
|
52
|
+
margin-bottom: 0 !important;
|
|
54
53
|
}
|
|
55
|
-
}
|
|
54
|
+
}
|
|
@@ -17,15 +17,14 @@ $darkMode: 'true' !default;
|
|
|
17
17
|
// #region headings
|
|
18
18
|
|
|
19
19
|
%heading {
|
|
20
|
-
|
|
21
20
|
margin-top: 0; // 1
|
|
22
21
|
margin-bottom: 0;
|
|
23
22
|
font-family: $headings-font-family;
|
|
24
23
|
font-style: $headings-font-style;
|
|
25
24
|
font-weight: bold;
|
|
26
25
|
|
|
27
|
-
line-height: round(calc(1em * var(--type-scale)),0.25rem);
|
|
28
|
-
padding-bottom: round(calc(1em * var(--type-scale)),0.25rem);
|
|
26
|
+
line-height: round(calc(1em * var(--type-scale)), 0.25rem);
|
|
27
|
+
padding-bottom: round(calc(1em * var(--type-scale)), 0.25rem);
|
|
29
28
|
color: $headings-color;
|
|
30
29
|
clear: both;
|
|
31
30
|
display: block;
|
|
@@ -40,12 +39,10 @@ $darkMode: 'true' !default;
|
|
|
40
39
|
}
|
|
41
40
|
|
|
42
41
|
:is(.h1, h1) {
|
|
43
|
-
|
|
44
42
|
font-size: map.get($heading-sizes, 'h1_fs');
|
|
45
43
|
font-weight: 900;
|
|
46
44
|
}
|
|
47
45
|
|
|
48
|
-
|
|
49
46
|
:is(h2, .h2) {
|
|
50
47
|
font-size: map.get($heading-sizes, 'h2_fs');
|
|
51
48
|
font-weight: 900;
|
|
@@ -55,16 +52,16 @@ $darkMode: 'true' !default;
|
|
|
55
52
|
font-size: map.get($heading-sizes, 'h3_fs');
|
|
56
53
|
max-width: var(--content-max-width);
|
|
57
54
|
|
|
58
|
-
line-height: round(calc(1em * var(--type-scale)),0.25rem);
|
|
59
|
-
padding-bottom: round(calc(1em * var(--type-scale)),0.25rem);
|
|
55
|
+
line-height: round(calc(1em * var(--type-scale)), 0.25rem);
|
|
56
|
+
padding-bottom: round(calc(1em * var(--type-scale)), 0.25rem);
|
|
60
57
|
}
|
|
61
58
|
|
|
62
59
|
:is(.h4, h4, .h5, h5, .h6, h6) {
|
|
63
60
|
font-size: map.get($heading-sizes, 'h4_fs');
|
|
64
61
|
max-width: var(--content-max-width);
|
|
65
|
-
|
|
66
|
-
line-height: round(calc(1em * var(--type-scale)),0.25rem);
|
|
67
|
-
padding-bottom: round(calc(1em * var(--type-scale)),0.25rem);
|
|
62
|
+
|
|
63
|
+
line-height: round(calc(1em * var(--type-scale)), 0.25rem);
|
|
64
|
+
padding-bottom: round(calc(1em * var(--type-scale)), 0.25rem);
|
|
68
65
|
}
|
|
69
66
|
// #endregion
|
|
70
67
|
|
|
@@ -126,18 +126,18 @@ $darkMode: 'true' !default;
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
// #region scrollbars
|
|
129
|
-
:is(div, form, fieldset, textarea, details)::-webkit-scrollbar {
|
|
129
|
+
:is(div, form, fieldset, textarea, details, iam-menu)::-webkit-scrollbar {
|
|
130
130
|
width: 10px;
|
|
131
131
|
height: 10px;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
:is(div, form, fieldset, textarea, details)::-webkit-scrollbar-track {
|
|
134
|
+
:is(div, form, fieldset, textarea, details, iam-menu)::-webkit-scrollbar-track {
|
|
135
135
|
background-color: #f1f1f1;
|
|
136
136
|
border-top: 4px solid var(--colour-canvas-2);
|
|
137
137
|
border-left: 4px solid var(--colour-canvas-2);
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
:is(div, form, fieldset, textarea, details)::-webkit-scrollbar-thumb {
|
|
140
|
+
:is(div, form, fieldset, textarea, details, iam-menu)::-webkit-scrollbar-thumb {
|
|
141
141
|
background-color: #c1c1c1;
|
|
142
142
|
width: 6px;
|
|
143
143
|
border-top: 4px solid var(--colour-canvas-2);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { uniqueID } from '../../modules/helpers';
|
|
2
2
|
|
|
3
3
|
// Data layer Web component created
|
|
4
4
|
declare global {
|
|
@@ -58,23 +58,23 @@ class iamActionbar extends HTMLElement {
|
|
|
58
58
|
<div class="safe-area">
|
|
59
59
|
<slot></slot>
|
|
60
60
|
<div class="body">
|
|
61
|
-
<div class="
|
|
62
|
-
<button class="btn btn-secondary btn-compact btn-sm fa-ellipsis-vertical m-0">More actions</button>
|
|
63
|
-
<
|
|
61
|
+
<div class="menu__wrapper menu__wrapper --right dialog-overflow d-none show">
|
|
62
|
+
<button class="btn btn-secondary btn-compact btn-sm fa-ellipsis-vertical m-0" popovertarget="overflow" style="anchor-name: --anchor-overflow;">More actions</button>
|
|
63
|
+
<iam-menu class="dialog--list" part="overflow" id="overflow" style="position-anchor: --anchor-overflow;" popover>
|
|
64
64
|
<slot name="overflow"></slot>
|
|
65
65
|
<slot name="menu"></slot>
|
|
66
|
-
</
|
|
66
|
+
</iam-menu>
|
|
67
67
|
</div>
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
<div class="
|
|
71
|
-
<button class="btn btn-secondary btn-compact btn-sm mb-0 me-0 fa-regular fa-table-columns" title="Select colums">Filter</button>
|
|
72
|
-
<
|
|
70
|
+
<div class="menu__wrapper menu__wrapper --right filter-columns">
|
|
71
|
+
<button class="btn btn-secondary btn-compact btn-sm mb-0 me-0 fa-regular fa-table-columns" title="Select colums" popovertarget="filter" style="anchor-name: --anchor-filter;">Filter</button>
|
|
72
|
+
<iam-menu class="dialog--list" id="filter" style="position-anchor: --anchor-filter;" popover>
|
|
73
73
|
<div class="pb-0 mb-0 checklists">
|
|
74
74
|
|
|
75
75
|
</div>
|
|
76
76
|
<div class="text-right checklist-btns"><button id="cancelColumns" class="btn btn-action">Cancel</button><button id="saveColumns" class="btn btn-action btn-secondary">Save</button></div>
|
|
77
|
-
</
|
|
77
|
+
</iam-menu>
|
|
78
78
|
</div>
|
|
79
79
|
|
|
80
80
|
<button class="btn btn-secondary btn-compact btn-sm fa-search" data-search="" part="search-btn">Search</button>
|
|
@@ -85,11 +85,11 @@ class iamActionbar extends HTMLElement {
|
|
|
85
85
|
<div class="safe-area">
|
|
86
86
|
<slot name="selected"></slot>
|
|
87
87
|
<div class="body">
|
|
88
|
-
<div class="
|
|
89
|
-
<button class="btn btn-secondary btn-compact btn-sm fa-ellipsis-vertical m-0">More actions</button>
|
|
90
|
-
<
|
|
88
|
+
<div class="menu__wrapper menu__wrapper --right dialog-overflow d-none show">
|
|
89
|
+
<button class="btn btn-secondary btn-compact btn-sm fa-ellipsis-vertical m-0" popovertarget="selected-overflow" style="anchor-name: --anchor-selected-overflow;">More actions</button>
|
|
90
|
+
<iam-menu class="dialog--list" part="selected-overflow" id="selected-overflow" style="position-anchor: --anchor-selected-overflow;" popover>
|
|
91
91
|
<slot name="selected-overflow"></slot>
|
|
92
|
-
</
|
|
92
|
+
</iam-menu>
|
|
93
93
|
</div>
|
|
94
94
|
</div>
|
|
95
95
|
</div>
|
|
@@ -121,6 +121,37 @@ class iamActionbar extends HTMLElement {
|
|
|
121
121
|
const actionbarWrapper = this.shadowRoot?.querySelector('.actionbar__wrapper');
|
|
122
122
|
const checklistHolder = this.shadowRoot?.querySelector('.checklists');
|
|
123
123
|
|
|
124
|
+
const assetLocation = document.body.hasAttribute('data-assets-location')
|
|
125
|
+
? document.body.getAttribute('data-assets-location')
|
|
126
|
+
: '/assets';
|
|
127
|
+
|
|
128
|
+
if (!window.customElements.get(`iam-menu`)) {
|
|
129
|
+
import(/* @vite-ignore */ `${assetLocation}/js/components/menu/menu.component.js`)
|
|
130
|
+
.then((module) => {
|
|
131
|
+
window.customElements.define(`iam-menu`, module.default);
|
|
132
|
+
})
|
|
133
|
+
.catch((err) => {
|
|
134
|
+
console.log(err.message);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
const dialog = this.querySelector('.dialog__wrapper dialog');
|
|
139
|
+
|
|
140
|
+
// Transform dialog into a menu custom element
|
|
141
|
+
if (dialog) {
|
|
142
|
+
const btn = dialog.parentElement.querySelector('.btn');
|
|
143
|
+
const id = `menu${uniqueID(1)}`;
|
|
144
|
+
|
|
145
|
+
dialog.setAttribute('id', id);
|
|
146
|
+
dialog.setAttribute('popover', 'auto');
|
|
147
|
+
btn.setAttribute('popovertarget', id);
|
|
148
|
+
|
|
149
|
+
dialog.outerHTML = dialog.outerHTML.replace(/<dialog/g, '<iam-menu').replace(/<\/dialog>/g, '</iam-menu>');
|
|
150
|
+
|
|
151
|
+
dialog.parentElement?.classList.add('menu__wrapper');
|
|
152
|
+
dialog.parentElement?.classList.remove('dialog__wrapper');
|
|
153
|
+
}
|
|
154
|
+
|
|
124
155
|
// #region select all
|
|
125
156
|
if (this.hasAttribute('data-selectall')) {
|
|
126
157
|
actionbarWrapper?.insertAdjacentHTML(
|
|
@@ -248,11 +279,6 @@ class iamActionbar extends HTMLElement {
|
|
|
248
279
|
});
|
|
249
280
|
// #endregion
|
|
250
281
|
|
|
251
|
-
// Make sure dialogs created in the shadow dom work
|
|
252
|
-
Array.from(this.shadowRoot.querySelectorAll('.body')).forEach((element) => {
|
|
253
|
-
extendDialogs(element);
|
|
254
|
-
});
|
|
255
|
-
|
|
256
282
|
// #region Reponsive safe area
|
|
257
283
|
const hideButtons = (): void => {
|
|
258
284
|
const wrapperWidth = actionbarWrapper.scrollWidth;
|
|
@@ -294,7 +320,7 @@ class iamActionbar extends HTMLElement {
|
|
|
294
320
|
if (wrapperWidth < 576) {
|
|
295
321
|
Array.from(
|
|
296
322
|
this.querySelectorAll(
|
|
297
|
-
':scope > .btn:not(.js-updated), :scope > .
|
|
323
|
+
':scope > .btn:not(.js-updated), :scope > .menu__wrapper > .btn[class*="fa-"]:first-child:not(.js-updated)'
|
|
298
324
|
)
|
|
299
325
|
).forEach((element: HTMLElement) => {
|
|
300
326
|
element.className = element.className.replace(' btn-compact', ' _btn-compact');
|
|
@@ -303,7 +329,7 @@ class iamActionbar extends HTMLElement {
|
|
|
303
329
|
});
|
|
304
330
|
} else {
|
|
305
331
|
Array.from(
|
|
306
|
-
this.querySelectorAll(':scope > .btn.js-updated, :scope > .
|
|
332
|
+
this.querySelectorAll(':scope > .btn.js-updated, :scope > .menu__wrapper > .btn.js-updated:first-child')
|
|
307
333
|
).forEach((element: HTMLElement) => {
|
|
308
334
|
element.classList.remove('btn-compact');
|
|
309
335
|
element.classList.remove('js-updated');
|
|
@@ -342,7 +368,7 @@ class iamActionbar extends HTMLElement {
|
|
|
342
368
|
|
|
343
369
|
// Foreach element this isn't an action button or dialog wrapper add to the width, these will not be moved into the overflow slot
|
|
344
370
|
for (let i = 0; i < elements.length; i++) {
|
|
345
|
-
if (!elements[i].classList.contains('btn-action') && !elements[i].classList.contains('
|
|
371
|
+
if (!elements[i].classList.contains('btn-action') && !elements[i].classList.contains('menu__wrapper ')) {
|
|
346
372
|
tempWidth += elements[i].offsetWidth;
|
|
347
373
|
tempWidth += elementMargin;
|
|
348
374
|
}
|
|
@@ -350,7 +376,7 @@ class iamActionbar extends HTMLElement {
|
|
|
350
376
|
|
|
351
377
|
// Foreach dialog wrapper decide if safe in safe area or move into the overflow slot, dialog wrappers have priority over the action buttons
|
|
352
378
|
for (let i = 0; i < elements.length; i++) {
|
|
353
|
-
if (elements[i].classList.contains('
|
|
379
|
+
if (elements[i].classList.contains('menu__wrapper ')) {
|
|
354
380
|
elements[i].classList.add('show');
|
|
355
381
|
tempWidth += elements[i].offsetWidth;
|
|
356
382
|
tempWidth += elementMargin / 2;
|
|
@@ -384,7 +410,7 @@ class iamActionbar extends HTMLElement {
|
|
|
384
410
|
|
|
385
411
|
// Decide which elements go into the overflow slot
|
|
386
412
|
for (let i = 0; i < elements.length; i++) {
|
|
387
|
-
if (elements[i].classList.contains('btn-action') || elements[i].classList.contains('
|
|
413
|
+
if (elements[i].classList.contains('btn-action') || elements[i].classList.contains('menu__wrapper ')) {
|
|
388
414
|
if (!elements[i].classList.contains('show')) {
|
|
389
415
|
// Move to the slot by changing the attribute
|
|
390
416
|
elements[i].setAttribute('slot', overflowSlot);
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import advancedSelect from '../../modules/advanced-select';
|
|
2
|
+
import { safeID, resolvePath, isTraversable } from '../../modules/helpers';
|
|
3
|
+
|
|
4
|
+
// Data layer Web component created
|
|
5
|
+
window.dataLayer = window.dataLayer || [];
|
|
6
|
+
window.dataLayer.push({
|
|
7
|
+
event: 'customElementRegistered',
|
|
8
|
+
element: 'Advanced select',
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
class iamAdvancedSelect extends HTMLElement {
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
this.attachShadow({ mode: 'open' });
|
|
15
|
+
|
|
16
|
+
const assetLocation = document.body.hasAttribute('data-assets-location')
|
|
17
|
+
? document.body.getAttribute('data-assets-location')
|
|
18
|
+
: '/assets';
|
|
19
|
+
const coreCSS = document.body.hasAttribute('data-core-css')
|
|
20
|
+
? document.body.getAttribute('data-core-css')
|
|
21
|
+
: `${assetLocation}/css/core.min.css`;
|
|
22
|
+
|
|
23
|
+
const template = document.createElement('template');
|
|
24
|
+
template.innerHTML = `
|
|
25
|
+
<style>
|
|
26
|
+
@import "${coreCSS}";
|
|
27
|
+
input {
|
|
28
|
+
background: red;
|
|
29
|
+
}
|
|
30
|
+
input:not(.is-invalid):not(:invalid) {
|
|
31
|
+
background: none!important;
|
|
32
|
+
}
|
|
33
|
+
.optional-text {
|
|
34
|
+
display: none;
|
|
35
|
+
}
|
|
36
|
+
.js-hide {
|
|
37
|
+
display: none !important;
|
|
38
|
+
}
|
|
39
|
+
</style>
|
|
40
|
+
<link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous" />
|
|
41
|
+
<slot></slot>
|
|
42
|
+
`;
|
|
43
|
+
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
connectedCallback(): void {
|
|
47
|
+
// Clone original input field, re-name and use for display purposes
|
|
48
|
+
const inputField = this.querySelector('input');
|
|
49
|
+
const displayInputField = inputField.cloneNode();
|
|
50
|
+
displayInputField.setAttribute('name', `${inputField.getAttribute('name')}Alt`);
|
|
51
|
+
inputField.removeAttribute('data-change-events');
|
|
52
|
+
displayInputField.removeAttribute('id');
|
|
53
|
+
let datalist = this.querySelector('datalist');
|
|
54
|
+
|
|
55
|
+
inputField.after(displayInputField);
|
|
56
|
+
|
|
57
|
+
// Hide original input field
|
|
58
|
+
inputField.setAttribute('type', 'hidden');
|
|
59
|
+
|
|
60
|
+
// if data list does not exist then create one and append
|
|
61
|
+
if (!datalist) {
|
|
62
|
+
datalist = document.createElement('datalist');
|
|
63
|
+
const listID = safeID('list');
|
|
64
|
+
datalist.setAttribute('id', listID);
|
|
65
|
+
searchWrapper.appendChild(datalist);
|
|
66
|
+
|
|
67
|
+
displayInputField.setAttribute('list', listID);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
advancedSelect(this, displayInputField, datalist);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export default iamAdvancedSelect;
|