@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
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { trackComponent, trackComponentRegistered } from '../_global';
|
|
2
|
+
import milestone from '../../modules/milestone';
|
|
3
|
+
|
|
4
|
+
trackComponentRegistered('iam-milestone');
|
|
5
|
+
|
|
6
|
+
class iamMilestone extends HTMLElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.attachShadow({ mode: 'open' });
|
|
10
|
+
|
|
11
|
+
const assetLocation = document.body.hasAttribute('data-assets-location')
|
|
12
|
+
? document.body.getAttribute('data-assets-location')
|
|
13
|
+
: '/assets';
|
|
14
|
+
const coreCSS = document.body.hasAttribute('data-core-css')
|
|
15
|
+
? document.body.getAttribute('data-core-css')
|
|
16
|
+
: `${assetLocation}/css/core.min.css`;
|
|
17
|
+
|
|
18
|
+
const template = document.createElement('template');
|
|
19
|
+
template.innerHTML = `
|
|
20
|
+
<style>
|
|
21
|
+
@import "${coreCSS}";
|
|
22
|
+
</style>
|
|
23
|
+
<div class="milestone-wrap" part="milestone-wrap">
|
|
24
|
+
<slot name="milestone-intro" class="milestone-intro" part="milestone-intro"></slot>
|
|
25
|
+
<slot>
|
|
26
|
+
<div class="task-wrap" part="milestone-task-wrap"></div>
|
|
27
|
+
</slot>
|
|
28
|
+
</div>
|
|
29
|
+
`;
|
|
30
|
+
this.shadowRoot?.appendChild(template.content.cloneNode(true));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
connectedCallback(): void {
|
|
34
|
+
const milestoneComponent = this;
|
|
35
|
+
|
|
36
|
+
trackComponent(milestoneComponent, 'iam-milestone', [
|
|
37
|
+
'milestone-item-closed',
|
|
38
|
+
'milestone-item-opened',
|
|
39
|
+
]);
|
|
40
|
+
|
|
41
|
+
milestone(this);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export default iamMilestone;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { trackComponent, trackComponentRegistered } from '../_global';
|
|
2
|
+
import milestoneGroup from '../../modules/milestone-group';
|
|
3
|
+
|
|
4
|
+
trackComponentRegistered('iam-milestone-group');
|
|
5
|
+
|
|
6
|
+
class iamMilestoneGroup extends HTMLElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
const assetLocation = document.body.hasAttribute('data-assets-location')
|
|
10
|
+
? document.body.getAttribute('data-assets-location')
|
|
11
|
+
: '/assets';
|
|
12
|
+
const coreCSS = document.body.hasAttribute('data-core-css')
|
|
13
|
+
? document.body.getAttribute('data-core-css')
|
|
14
|
+
: `${assetLocation}/css/core.min.css`;
|
|
15
|
+
|
|
16
|
+
const template = document.createElement('template');
|
|
17
|
+
template.innerHTML = `
|
|
18
|
+
<style>
|
|
19
|
+
@import "${coreCSS}";
|
|
20
|
+
</style>
|
|
21
|
+
<div class="milestone-group" part="milestone-group">
|
|
22
|
+
<slot>
|
|
23
|
+
</slot>
|
|
24
|
+
</div>
|
|
25
|
+
`;
|
|
26
|
+
this.shadowRoot?.appendChild(template.content.cloneNode(true));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
connectedCallback(): void {
|
|
30
|
+
const milestoneGroupComponent = this;
|
|
31
|
+
|
|
32
|
+
trackComponent(milestoneGroupComponent, 'iam-milestone-group', [
|
|
33
|
+
'hide-future-items',
|
|
34
|
+
'show-future-items'
|
|
35
|
+
]);
|
|
36
|
+
|
|
37
|
+
milestoneGroup(this);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export default iamMilestoneGroup;
|
|
@@ -67,8 +67,6 @@ class iamMultiselect extends HTMLElement {
|
|
|
67
67
|
mutations.forEach(function (mutationRecord) {
|
|
68
68
|
const targetElement = mutationRecord.target as HTMLElement;
|
|
69
69
|
|
|
70
|
-
console.log(targetElement);
|
|
71
|
-
|
|
72
70
|
if (targetElement.classList.contains('was-validated')) {
|
|
73
71
|
wrapper.classList.add('was-validated');
|
|
74
72
|
} else {
|
|
@@ -149,9 +147,30 @@ class iamMultiselect extends HTMLElement {
|
|
|
149
147
|
clearTimeout(hoverTimeout);
|
|
150
148
|
});
|
|
151
149
|
|
|
152
|
-
search.addEventListener('blur', () => {
|
|
150
|
+
search.addEventListener('blur', (event) => {
|
|
151
|
+
|
|
152
|
+
setTimeout(function () {
|
|
153
|
+
const activeElement = document.activeElement;
|
|
154
|
+
|
|
155
|
+
if(activeElement.getAttribute('type') != 'checkbox'){
|
|
156
|
+
|
|
157
|
+
if(multiselect.querySelector(`input[type="checkbox"][value="${search.value}" i]`)){
|
|
158
|
+
|
|
159
|
+
multiselect.querySelector(`input[type="checkbox"][value="${search.value}" i]`).checked = true;
|
|
160
|
+
setItem(multiselect.querySelector(`input[type="checkbox"][value="${search.value}" i]`));
|
|
161
|
+
}
|
|
162
|
+
search.value = "";
|
|
163
|
+
|
|
164
|
+
Array.from(multiselect.querySelectorAll(`label input[type="checkbox"]`)).forEach((checkbox) => {
|
|
165
|
+
setItem(checkbox);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
}, 200);
|
|
170
|
+
|
|
153
171
|
clearTimeout(hoverTimeout);
|
|
154
172
|
hoverTimeout = setTimeout(function () {
|
|
173
|
+
|
|
155
174
|
multiselect.classList.remove('hover');
|
|
156
175
|
}, 1000);
|
|
157
176
|
});
|
|
@@ -163,6 +182,7 @@ class iamMultiselect extends HTMLElement {
|
|
|
163
182
|
|
|
164
183
|
setItem(checkbox);
|
|
165
184
|
|
|
185
|
+
search.value = "";
|
|
166
186
|
search.focus();
|
|
167
187
|
clearTimeout(hoverTimeout);
|
|
168
188
|
multiselect.classList.add('hover');
|
|
@@ -190,6 +210,43 @@ class iamMultiselect extends HTMLElement {
|
|
|
190
210
|
switch (
|
|
191
211
|
event.key // change to event.key to key to use the above variable
|
|
192
212
|
) {
|
|
213
|
+
case 'ArrowLeft':
|
|
214
|
+
// Up pressed
|
|
215
|
+
event.preventDefault();
|
|
216
|
+
|
|
217
|
+
if (activeElement.hasAttribute('type') && activeElement.getAttribute('type') == 'checkbox') {
|
|
218
|
+
const arrCheckboxes = multiselect.querySelectorAll(`label[slot="checked"][slot="checked"]`);
|
|
219
|
+
|
|
220
|
+
const activeIndex = Array.from(arrCheckboxes).indexOf(activeElement.closest('label'));
|
|
221
|
+
const prevCheckbox = Array.from(arrCheckboxes)[activeIndex - 1];
|
|
222
|
+
|
|
223
|
+
if (prevCheckbox) prevCheckbox.focus();
|
|
224
|
+
else search.focus();
|
|
225
|
+
}
|
|
226
|
+
else if (activeElement == multiselect){
|
|
227
|
+
|
|
228
|
+
const options = Array.from(multiselect.querySelectorAll('label[slot="checked"]')).sort(function(a, b) {
|
|
229
|
+
return +a.dataset.order - +b.dataset.order;
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
options.pop().focus();
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
break;
|
|
236
|
+
case 'ArrowRight':
|
|
237
|
+
// Up pressed
|
|
238
|
+
event.preventDefault();
|
|
239
|
+
|
|
240
|
+
if (activeElement.hasAttribute('type') && activeElement.getAttribute('type') == 'checkbox') {
|
|
241
|
+
const arrCheckboxes = multiselect.querySelectorAll(`label[slot="checked"][slot="checked"]`);
|
|
242
|
+
|
|
243
|
+
const activeIndex = Array.from(arrCheckboxes).indexOf(activeElement.closest('label'));
|
|
244
|
+
const nextCheckbox = Array.from(arrCheckboxes)[activeIndex + 1];
|
|
245
|
+
|
|
246
|
+
if (nextCheckbox) nextCheckbox.focus();
|
|
247
|
+
else search.focus();
|
|
248
|
+
}
|
|
249
|
+
break;
|
|
193
250
|
case 'ArrowUp':
|
|
194
251
|
// Up pressed
|
|
195
252
|
event.preventDefault();
|
|
@@ -234,6 +291,14 @@ class iamMultiselect extends HTMLElement {
|
|
|
234
291
|
setItem(activeElement);
|
|
235
292
|
search.focus();
|
|
236
293
|
|
|
294
|
+
break;
|
|
295
|
+
case 'Backspace':
|
|
296
|
+
if (activeElement.hasAttribute('type') && activeElement.getAttribute('type') == 'checkbox') {
|
|
297
|
+
|
|
298
|
+
activeElement.checked = false;
|
|
299
|
+
setItem(activeElement);
|
|
300
|
+
search.focus();
|
|
301
|
+
}
|
|
237
302
|
break;
|
|
238
303
|
}
|
|
239
304
|
});
|
|
@@ -250,6 +315,7 @@ class iamMultiselect extends HTMLElement {
|
|
|
250
315
|
return lastTag;
|
|
251
316
|
}
|
|
252
317
|
|
|
318
|
+
|
|
253
319
|
search.addEventListener('keydown', function (event) {
|
|
254
320
|
switch (
|
|
255
321
|
event.key // change to event.key to key to use the above variable
|
|
@@ -347,6 +347,31 @@ class iamNav extends HTMLElement {
|
|
|
347
347
|
searchButton.removeAttribute('aria-expanded');
|
|
348
348
|
});
|
|
349
349
|
}
|
|
350
|
+
|
|
351
|
+
if(this.classList.contains('nav--sticky')){
|
|
352
|
+
|
|
353
|
+
console.log('hey');
|
|
354
|
+
|
|
355
|
+
let oldScrollY = window.scrollY;
|
|
356
|
+
window.onscroll = function(e) {
|
|
357
|
+
if(oldScrollY < window.scrollY){
|
|
358
|
+
document.body.setAttribute('data-direction', "down");
|
|
359
|
+
} else {
|
|
360
|
+
document.body.setAttribute('data-direction', "up");
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
if(window.scrollY > 100){
|
|
364
|
+
document.body.classList.add('past100');
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
|
|
368
|
+
document.body.classList.remove('past100');
|
|
369
|
+
}
|
|
370
|
+
oldScrollY = window.scrollY;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
}
|
|
374
|
+
|
|
350
375
|
}
|
|
351
376
|
}
|
|
352
377
|
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import setupNotification, { closeNotification } from '../../modules/notification';
|
|
2
|
+
import { trackComponent, trackComponentRegistered } from '../_global';
|
|
3
|
+
|
|
4
|
+
trackComponentRegistered('iam-notification');
|
|
2
5
|
|
|
3
|
-
// Data layer Web component created
|
|
4
|
-
window.dataLayer = window.dataLayer || [];
|
|
5
|
-
window.dataLayer.push({
|
|
6
|
-
event: 'customElementRegistered',
|
|
7
|
-
element: 'Notification',
|
|
8
|
-
});
|
|
9
6
|
|
|
10
7
|
class iamNotification extends HTMLElement {
|
|
11
8
|
constructor() {
|
|
@@ -44,7 +41,8 @@ class iamNotification extends HTMLElement {
|
|
|
44
41
|
connectedCallback(): void {
|
|
45
42
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
46
43
|
const wrapper = this;
|
|
47
|
-
const
|
|
44
|
+
const defaultStatusBG = this.hasAttribute('data-type') ? 'white' : 'info';
|
|
45
|
+
const statusBG = this.hasAttribute('data-status') ? this.getAttribute('data-status') : defaultStatusBG;
|
|
48
46
|
|
|
49
47
|
if (this.hasAttribute('data-type')) this.classList.add(`bg-${statusBG}`);
|
|
50
48
|
else {
|
|
@@ -54,16 +52,28 @@ class iamNotification extends HTMLElement {
|
|
|
54
52
|
if (!this.querySelector('i')) {
|
|
55
53
|
switch (statusBG) {
|
|
56
54
|
case 'danger':
|
|
57
|
-
this.
|
|
55
|
+
this.insertAdjacentHTML(
|
|
56
|
+
'beforeend',
|
|
57
|
+
'<i class="fa-solid fa-circle-exclamation" aria-hidden="true" slot="icon"></i>'
|
|
58
|
+
);
|
|
58
59
|
break;
|
|
59
60
|
case 'warning':
|
|
60
|
-
this.
|
|
61
|
+
this.insertAdjacentHTML(
|
|
62
|
+
'beforeend',
|
|
63
|
+
'<i class="fa-solid fa-triangle-exclamation" aria-hidden="true" slot="icon"></i>'
|
|
64
|
+
);
|
|
61
65
|
break;
|
|
62
66
|
case 'success':
|
|
63
|
-
this.
|
|
67
|
+
this.insertAdjacentHTML(
|
|
68
|
+
'beforeend',
|
|
69
|
+
'<i class="fa-solid fa-check-circle" aria-hidden="true" slot="icon"></i>'
|
|
70
|
+
);
|
|
64
71
|
break;
|
|
65
72
|
default:
|
|
66
|
-
this.
|
|
73
|
+
this.insertAdjacentHTML(
|
|
74
|
+
'beforeend',
|
|
75
|
+
'<i class="fa-solid fa-circle-info" aria-hidden="true" slot="icon"></i>'
|
|
76
|
+
);
|
|
67
77
|
}
|
|
68
78
|
}
|
|
69
79
|
|
|
@@ -92,12 +102,25 @@ class iamNotification extends HTMLElement {
|
|
|
92
102
|
'click',
|
|
93
103
|
function () {
|
|
94
104
|
closeNotification(wrapper);
|
|
105
|
+
|
|
106
|
+
const customEvent = new CustomEvent('dismiss', {
|
|
107
|
+
detail: {
|
|
108
|
+
class: this.classList,
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
this.dispatchEvent(customEvent);
|
|
113
|
+
|
|
95
114
|
},
|
|
96
115
|
false
|
|
97
116
|
);
|
|
98
117
|
}
|
|
99
118
|
|
|
100
119
|
setupNotification(this);
|
|
120
|
+
|
|
121
|
+
trackComponent(this, 'iam-notification', [
|
|
122
|
+
'dismiss'
|
|
123
|
+
]);
|
|
101
124
|
}
|
|
102
125
|
}
|
|
103
126
|
|