@iamproperty/components 7.1.0--beta6 → 7.2.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 -0
- package/assets/css/components/actionbar.component.css.map +1 -0
- package/assets/css/components/actionbar.global.css +1 -1
- package/assets/css/components/actionbar.global.css.map +1 -1
- package/assets/css/components/address-lookup.css +1 -1
- package/assets/css/components/address-lookup.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.component.css +1 -0
- package/assets/css/components/bento-grid.component.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/carousel.config.css +1 -1
- package/assets/css/components/carousel.config.css.map +1 -1
- package/assets/css/components/charts.config.css +1 -1
- package/assets/css/components/charts.config.css.map +1 -1
- package/assets/css/components/charts.css +1 -1
- package/assets/css/components/charts.css.map +1 -1
- package/assets/css/components/charts.module.css +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/doughnutchart.component.css +1 -0
- package/assets/css/components/doughnutchart.component.css.map +1 -0
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/header.css.map +1 -1
- package/assets/css/components/inline-edit.preload.css +1 -1
- package/assets/css/components/inline-edit.preload.css.map +1 -1
- package/assets/css/components/marketing.css.map +1 -1
- package/assets/css/components/menu.component.css +1 -0
- package/assets/css/components/menu.component.css.map +1 -0
- package/assets/css/components/menu.css +1 -0
- package/assets/css/components/menu.css.map +1 -0
- package/assets/css/components/multi-step.component.css.map +1 -1
- package/assets/css/components/multiselect.preload.css +1 -1
- package/assets/css/components/multiselect.preload.css.map +1 -1
- package/assets/css/components/nav.component.css +1 -0
- package/assets/css/components/nav.component.css.map +1 -0
- package/assets/css/components/nav.docs.css.map +1 -1
- package/assets/css/components/nav.global.css.map +1 -1
- package/assets/css/components/nav.old.css +1 -1
- package/assets/css/components/nav.old.css.map +1 -1
- package/assets/css/components/nav.preload.css +1 -1
- package/assets/css/components/nav.preload.css.map +1 -1
- package/assets/css/components/notification.css +1 -1
- package/assets/css/components/notification.css.map +1 -1
- package/assets/css/components/pagination.css +1 -1
- package/assets/css/components/pagination.css.map +1 -1
- package/assets/css/components/property-searchbar.css.map +1 -1
- package/assets/css/components/slider.css +1 -1
- package/assets/css/components/slider.css.map +1 -1
- package/assets/css/components/snapshot.css.map +1 -1
- package/assets/css/components/stepper.css.map +1 -1
- package/assets/css/components/{table.css → table.component.css} +1 -1
- package/assets/css/components/table.component.css.map +1 -0
- package/assets/css/components/table.global.css +1 -1
- package/assets/css/components/table.global.css.map +1 -1
- package/assets/css/components/tabs.component.css +1 -0
- package/assets/css/components/tabs.component.css.map +1 -0
- package/assets/css/components/tabs.css +1 -1
- package/assets/css/components/tabs.css.map +1 -1
- package/assets/css/components/testimonial.css.map +1 -1
- package/assets/css/components/timeline.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 -0
- package/assets/css/mobile-core.min.css.map +1 -0
- package/assets/css/mobile.min.css +1 -0
- package/assets/css/mobile.min.css.map +1 -0
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/_global.js +0 -1
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +86 -8
- package/assets/js/components/actionbar/actionbar.component.min.js +19 -6
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.js +17 -18
- package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.js +0 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
- package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
- package/assets/js/components/barchart/barchart.component.js +2 -3
- package/assets/js/components/barchart/barchart.component.min.js +8 -4
- package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
- package/assets/js/components/bento-grid/bento-grid.component.js +50 -0
- package/assets/js/components/bento-grid/bento-grid.component.min.js +15 -0
- package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -0
- package/assets/js/components/card/card.component.js +10 -13
- package/assets/js/components/card/card.component.min.js +7 -7
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/carousel/carousel.component.js +4 -5
- package/assets/js/components/carousel/carousel.component.min.js +4 -4
- package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
- package/assets/js/components/chart/chart.component.js +1 -5
- package/assets/js/components/collapsible-side/collapsible-side.component.js +4 -5
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -4
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
- package/assets/js/components/doughnutchart/doughnutchart.component.js +70 -0
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +25 -0
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -0
- package/assets/js/components/fileupload/fileupload.component.js +2 -3
- package/assets/js/components/fileupload/fileupload.component.min.js +6 -6
- package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
- package/assets/js/components/filter-card/filter-card.component.js +3 -4
- package/assets/js/components/filter-card/filter-card.component.min.js +4 -4
- package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
- package/assets/js/components/filterlist/filterlist.component.js +0 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +3 -3
- package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
- package/assets/js/components/header/header.component.js +0 -1
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js.map +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.js +7 -8
- package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
- package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
- package/assets/js/components/marketing/marketing.component.js +0 -1
- package/assets/js/components/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
- package/assets/js/components/menu/menu.component.js +200 -0
- package/assets/js/components/menu/menu.component.min.js +77 -0
- package/assets/js/components/menu/menu.component.min.js.map +1 -0
- package/assets/js/components/multi-step/multi-step.component.js +10 -10
- package/assets/js/components/multi-step/multi-step.component.min.js +13 -0
- package/assets/js/components/multi-step/multi-step.component.min.js.map +1 -0
- package/assets/js/components/multiselect/multiselect.component.js +10 -10
- package/assets/js/components/multiselect/multiselect.component.min.js +3 -3
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
- package/assets/js/components/nav/nav.component.js +7 -7
- package/assets/js/components/nav/nav.component.min.js +7 -7
- package/assets/js/components/nav/nav.component.min.js.map +1 -1
- package/assets/js/components/notification/notification.component.js +3 -3
- 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.js +3 -4
- package/assets/js/components/pagination/pagination.component.min.js +4 -4
- package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
- package/assets/js/components/record-card/record-card.component.js +6 -8
- package/assets/js/components/record-card/record-card.component.min.js +4 -4
- package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
- package/assets/js/components/search/search.component.js +9 -6
- package/assets/js/components/search/search.component.min.js +8 -5
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/slider/slider.component.js +8 -8
- package/assets/js/components/slider/slider.component.min.js +5 -5
- package/assets/js/components/slider/slider.component.min.js.map +1 -1
- package/assets/js/components/table/table.component.js +12 -11
- package/assets/js/components/table/table.component.min.js +7 -7
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.js +1 -2
- package/assets/js/components/tabs/tabs.component.min.js +4 -4
- package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
- package/assets/js/components/video-card/video-card.component.js +4 -3
- package/assets/js/components/video-card/video-card.component.min.js +3 -3
- package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
- package/assets/js/modules/applied-filters.js +8 -9
- package/assets/js/modules/carousel.js +9 -10
- package/assets/js/modules/chart.js +5 -3
- package/assets/js/modules/chart.module.js +127 -6
- package/assets/js/modules/dialogs.js +6 -7
- package/assets/js/modules/drawer.js +1 -2
- package/assets/js/modules/dynamicEvents.js +7 -8
- package/assets/js/modules/fileupload.js +7 -7
- package/assets/js/modules/filterlist.js +3 -4
- package/assets/js/modules/form.js +12 -13
- package/assets/js/modules/helpers.js +3 -5
- package/assets/js/modules/inputs.js +6 -9
- package/assets/js/modules/nav.js +3 -4
- package/assets/js/modules/notification.js +2 -3
- package/assets/js/modules/orderablelist.js +0 -1
- package/assets/js/modules/table.js +80 -42
- package/assets/js/modules/tabs.js +3 -6
- 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 +64 -6
- package/assets/js/tests/card.spec.js +14 -0
- package/assets/js/tests/carousel.spec.js +60 -0
- package/assets/js/tests/chart.spec.js +7 -5
- package/assets/js/tests/fileupload.spec.js +22 -0
- package/assets/js/tests/multistep.spec.js +68 -0
- package/assets/sass/_bs_grid.scss +39 -0
- package/assets/sass/_components.scss +323 -100
- package/assets/sass/_corefiles.scss +46 -39
- package/assets/sass/_elements.scss +98 -18
- package/assets/sass/_example.scss +61 -0
- package/assets/sass/_func.scss +4 -14
- package/assets/sass/_functions/{utilities.scss → bs_utilities.scss} +43 -39
- package/assets/sass/_functions/functions.scss +66 -52
- package/assets/sass/_functions/mixins.scss +82 -137
- package/assets/sass/_functions/utility-mixins.scss +1445 -0
- package/assets/sass/_functions/variables.scss +90 -1659
- package/assets/sass/_functions/variables_old.scss +1701 -0
- package/assets/sass/{foundations/grid.scss → _grid.scss} +96 -82
- package/assets/sass/_tests/func.spec.scss +1 -37
- package/assets/sass/_tests/mixins.spec.scss +1 -77
- package/assets/sass/_tests/typography.spec.scss +1 -1
- package/assets/sass/_utilities.scss +35 -117
- package/assets/sass/_utility-mixins.scss +37 -0
- package/assets/sass/components/{actionbar.scss → actionbar.component.scss} +82 -16
- package/assets/sass/components/actionbar.global.scss +28 -14
- package/assets/sass/components/address-lookup.scss +6 -0
- package/assets/sass/components/barchart.component.scss +8 -19
- package/assets/sass/components/bento-grid.component.scss +91 -0
- package/assets/sass/components/carousel.config.scss +64 -58
- package/assets/sass/components/charts.config.scss +73 -67
- package/assets/sass/components/charts.module.scss +131 -73
- package/assets/sass/components/charts.scss +43 -42
- package/assets/sass/components/collapsible-side.scss +29 -27
- package/assets/sass/components/doughnutchart.component.scss +205 -0
- package/assets/sass/components/fileupload.scss +4 -3
- package/assets/sass/components/header.scss +5 -5
- package/assets/sass/components/inline-edit.preload.scss +108 -102
- package/assets/sass/components/menu.component.scss +101 -0
- package/assets/sass/components/menu.scss +21 -0
- package/assets/sass/components/multi-step.component.scss +5 -3
- package/assets/sass/components/multiselect.preload.scss +36 -30
- package/assets/sass/components/{nav.scss → nav.component.scss} +41 -21
- package/assets/sass/components/nav.docs.scss +1 -1
- package/assets/sass/components/nav.global.scss +13 -11
- package/assets/sass/components/nav.old.scss +21 -24
- package/assets/sass/components/nav.preload.scss +40 -34
- package/assets/sass/components/notification.scss +9 -5
- package/assets/sass/components/pagination.scss +6 -0
- package/assets/sass/components/property-searchbar.scss +7 -7
- package/assets/sass/components/slider.scss +2 -0
- package/assets/sass/components/snapshot.scss +2 -2
- package/assets/sass/components/stepper.scss +7 -7
- package/assets/sass/components/table.global.scss +57 -1
- package/assets/sass/components/tabs.component.scss +5 -0
- package/assets/sass/components/tabs.scss +9 -6
- package/assets/sass/components/testimonial.scss +7 -7
- package/assets/sass/components/timeline.scss +1 -1
- package/assets/sass/core.scss +13 -2
- package/assets/sass/elements/admin-panel.scss +201 -134
- package/assets/sass/elements/badge-tag.scss +87 -81
- package/assets/sass/elements/brand.scss +67 -61
- package/assets/sass/elements/buttons--action.scss +55 -0
- package/assets/sass/elements/buttons--compact.scss +135 -0
- package/assets/sass/elements/buttons--global.scss +322 -0
- package/assets/sass/elements/buttons--secondary.scss +24 -0
- package/assets/sass/elements/buttons--tertiary.scss +57 -0
- package/assets/sass/elements/buttons.scss +29 -503
- package/assets/sass/elements/container.scss +160 -121
- package/assets/sass/elements/details.scss +147 -138
- package/assets/sass/elements/dialog.scss +36 -30
- package/assets/sass/elements/forms.scss +1061 -1047
- package/assets/sass/elements/icons.scss +23 -17
- package/assets/sass/elements/links.scss +131 -116
- package/assets/sass/elements/lists.scss +270 -264
- package/assets/sass/elements/media.scss +19 -13
- package/assets/sass/elements/modal.scss +336 -330
- package/assets/sass/elements/popover.scss +163 -152
- package/assets/sass/elements/progress.scss +173 -162
- package/assets/sass/elements/table.element.scss +115 -109
- package/assets/sass/elements/tooltips.scss +87 -80
- package/assets/sass/elements/type.scss +172 -160
- package/assets/sass/email.scss +4 -1
- package/assets/sass/error.scss +15 -9
- package/assets/sass/foundations/reboot.scss +176 -170
- package/assets/sass/foundations/root.scss +136 -125
- package/assets/sass/helpers/line-clamp.scss +0 -23
- package/assets/sass/helpers/max-height.scss +2 -2
- package/assets/sass/main.scss +14 -3
- package/assets/sass/mobile-core.scss +14 -0
- package/assets/sass/mobile.scss +16 -0
- package/assets/sass/templates/auth.scss +88 -83
- package/assets/sass/templates/form.scss +68 -59
- package/assets/ts/components/_global.ts +2 -3
- package/assets/ts/components/actionbar/actionbar.component.ts +94 -2
- package/assets/ts/components/address-lookup/address-lookup.component.ts +21 -22
- package/assets/ts/components/applied-filters/applied-filters.component.ts +1 -2
- package/assets/ts/components/barchart/barchart.component.ts +3 -5
- package/assets/ts/components/bento-grid/README.md +31 -0
- package/assets/ts/components/bento-grid/bento-grid.component.ts +67 -0
- package/assets/ts/components/card/card.component.ts +13 -16
- package/assets/ts/components/carousel/carousel.component.ts +5 -7
- package/assets/ts/components/chart/chart.component.ts +4 -9
- package/assets/ts/components/collapsible-side/collapsible-side.component.ts +5 -6
- package/assets/ts/components/doughnutchart/doughnutchart.component.ts +85 -0
- package/assets/ts/components/fileupload/fileupload.component.ts +5 -6
- package/assets/ts/components/filter-card/filter-card.component.ts +4 -5
- package/assets/ts/components/filterlist/filterlist.component.ts +1 -2
- package/assets/ts/components/header/header.component.ts +1 -3
- package/assets/ts/components/inline-edit/inline-edit.component.ts +8 -11
- package/assets/ts/components/marketing/marketing.component.ts +1 -3
- package/assets/ts/components/menu/menu.component.ts +222 -0
- package/assets/ts/components/multi-step/multi-step.component.ts +19 -23
- package/assets/ts/components/multiselect/multiselect.component.ts +13 -14
- package/assets/ts/components/nav/nav.component.ts +8 -9
- package/assets/ts/components/notification/notification.component.ts +3 -3
- package/assets/ts/components/pagination/pagination.component.ts +7 -8
- package/assets/ts/components/record-card/record-card.component.ts +9 -11
- package/assets/ts/components/search/search.component.ts +12 -9
- package/assets/ts/components/slider/slider.component.ts +9 -10
- package/assets/ts/components/table/table.component.ts +19 -18
- package/assets/ts/components/tabs/tabs.component.ts +2 -3
- package/assets/ts/components/video-card/video-card.component.ts +13 -12
- package/assets/ts/modules/applied-filters.ts +10 -11
- package/assets/ts/modules/card.module.ts +1 -1
- package/assets/ts/modules/carousel.ts +13 -15
- package/assets/ts/modules/chart.module.ts +176 -24
- package/assets/ts/modules/chart.ts +26 -24
- package/assets/ts/modules/dialogs.ts +10 -13
- package/assets/ts/modules/drawer.ts +1 -2
- package/assets/ts/modules/dynamicEvents.ts +12 -14
- package/assets/ts/modules/fileupload.ts +10 -10
- package/assets/ts/modules/filterlist.ts +6 -7
- package/assets/ts/modules/form.ts +16 -17
- package/assets/ts/modules/helpers.ts +18 -21
- package/assets/ts/modules/inputs.ts +15 -18
- package/assets/ts/modules/nav.ts +4 -5
- package/assets/ts/modules/notification.ts +7 -8
- package/assets/ts/modules/orderablelist.ts +3 -4
- package/assets/ts/modules/pagination.ts +1 -1
- package/assets/ts/modules/table.ts +103 -60
- package/assets/ts/modules/tabs.ts +6 -14
- package/assets/ts/scripts.ts +70 -6
- package/assets/ts/tests/card.spec.ts +19 -0
- package/assets/ts/tests/carousel.spec.ts +66 -0
- package/assets/ts/tests/chart.spec.ts +9 -6
- package/assets/ts/tests/fileupload.spec.ts +30 -0
- package/assets/ts/tests/multistep.spec.ts +78 -0
- package/dist/components.es.js +1258 -1063
- package/dist/components.umd.js +473 -195
- package/package.json +44 -49
- package/src/components/BentoGrid/BentoGrid.vue +20 -0
- package/src/components/DoughnutChart/DoughnutChart.vue +23 -0
- package/src/components/FileUpload/FileUpload.vue +4 -1
- package/src/components/Menu/Menu.vue +22 -0
- package/src/components/Tabs/Tabs.vue +0 -4
- package/src/index.js +25 -19
- package/assets/css/components/actionbar.css +0 -1
- package/assets/css/components/actionbar.css.map +0 -1
- package/assets/css/components/nav.css +0 -1
- package/assets/css/components/nav.css.map +0 -1
- package/assets/css/components/table.css.map +0 -1
- package/assets/js/components.bundle.js +0 -5
- package/assets/js/components.bundle.js.map +0 -1
- package/assets/js/components.js +0 -57
- package/assets/js/modules/file-upload.js +0 -32
- package/assets/sass/components.reset.scss +0 -8
- package/assets/sass/foundations/bs_grid.scss +0 -32
- package/assets/ts/components.ts +0 -62
- package/assets/ts/modules/file-upload.ts +0 -52
- package/dist/style.css +0 -1
- /package/assets/sass/components/{table.scss → table.component.scss} +0 -0
|
@@ -7,13 +7,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
// @ts-nocheck
|
|
11
10
|
import { zeroPad, isNumeric, ucfirst, resolvePath } from './helpers.js';
|
|
12
11
|
// Basic functionality needed
|
|
13
12
|
export const addDataAttributes = (table) => {
|
|
14
13
|
const colHeadings = Array.from(table.querySelectorAll('thead th'));
|
|
15
14
|
const colRows = Array.from(table.querySelectorAll('tbody tr'));
|
|
16
|
-
colRows.forEach((row
|
|
15
|
+
colRows.forEach((row) => {
|
|
17
16
|
const cells = Array.from(row.querySelectorAll('th, td'));
|
|
18
17
|
const statuses = [
|
|
19
18
|
'0',
|
|
@@ -60,7 +59,7 @@ export const addDataAttributes = (table) => {
|
|
|
60
59
|
};
|
|
61
60
|
export const getLargestLastColWidth = (table) => {
|
|
62
61
|
let largestWidth = 0;
|
|
63
|
-
Array.from(table.querySelectorAll('tbody tr')).forEach((row
|
|
62
|
+
Array.from(table.querySelectorAll('tbody tr')).forEach((row) => {
|
|
64
63
|
const htmlStyles = window.getComputedStyle(document.querySelector('html'));
|
|
65
64
|
const lastColChild = row.querySelector(':scope > *:last-child > *:first-child');
|
|
66
65
|
if (lastColChild) {
|
|
@@ -78,17 +77,17 @@ export const createMobileButton = (table, wrapper) => {
|
|
|
78
77
|
if (table.querySelectorAll('thead tr th').length < 4 && !wrapper.hasAttribute('data-expandable'))
|
|
79
78
|
return false;
|
|
80
79
|
//If the expand column already exists we don't need to add a new one.
|
|
81
|
-
Array.from(table.querySelectorAll('thead tr')).forEach((row
|
|
80
|
+
Array.from(table.querySelectorAll('thead tr')).forEach((row) => {
|
|
82
81
|
if (!table.querySelectorAll('thead tr th.expand-button-heading').length) {
|
|
83
82
|
row.insertAdjacentHTML('afterbegin', `<th class="th--fixed expand-button-heading"></th>`);
|
|
84
83
|
}
|
|
85
84
|
});
|
|
86
|
-
Array.from(table.querySelectorAll('tbody tr')).forEach((row
|
|
85
|
+
Array.from(table.querySelectorAll('tbody tr')).forEach((row) => {
|
|
87
86
|
const preExpanded = row.getAttribute('data-view') === 'full' ? 'aria-expanded' : '';
|
|
88
87
|
row.insertAdjacentHTML('afterbegin', `<td class="td--fixed td--expand"><button class="btn btn-compact btn-secondary" data-expand-button ${preExpanded}>Expand</button></td>`);
|
|
89
88
|
});
|
|
90
89
|
};
|
|
91
|
-
export const addTableEventListeners = (table) => {
|
|
90
|
+
export const addTableEventListeners = (table, wrapper) => {
|
|
92
91
|
table.addEventListener('click', (event) => {
|
|
93
92
|
if (event && event.target instanceof HTMLElement && event.target.closest('[data-expand-button]')) {
|
|
94
93
|
const button = event.target.closest('[data-expand-button]');
|
|
@@ -100,6 +99,41 @@ export const addTableEventListeners = (table) => {
|
|
|
100
99
|
tableRow.setAttribute('data-view', 'full');
|
|
101
100
|
button.blur();
|
|
102
101
|
}
|
|
102
|
+
else if (event && event.target instanceof HTMLElement && event.target.closest('[data-sort]')) {
|
|
103
|
+
const heading = event.target.closest('[data-sort]');
|
|
104
|
+
heading.setAttribute('data-sort', 'true');
|
|
105
|
+
// Turn other headings off
|
|
106
|
+
Array.from(table.querySelectorAll('th[data-sort]')).forEach((element) => {
|
|
107
|
+
if (element != heading) {
|
|
108
|
+
element.setAttribute('data-sort', '');
|
|
109
|
+
element.removeAttribute('data-order-by');
|
|
110
|
+
heading.setAttribute('title', 'Click to sort ascending');
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
if (heading.hasAttribute('data-order-by') && heading.getAttribute('data-order-by') == 'asc') {
|
|
114
|
+
heading.setAttribute('data-order-by', 'desc');
|
|
115
|
+
heading.setAttribute('title', 'Click to sort ascending');
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
heading.setAttribute('data-order-by', 'asc');
|
|
119
|
+
heading.setAttribute('title', 'Click to sort descending');
|
|
120
|
+
}
|
|
121
|
+
// dispath event
|
|
122
|
+
const dispatchedEvent = new CustomEvent('sort-by-heading', {
|
|
123
|
+
detail: {
|
|
124
|
+
heading: heading.textContent,
|
|
125
|
+
sortBy: heading.getAttribute('data-order-by'),
|
|
126
|
+
ref: heading.getAttribute('data-ref'),
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
const component = heading.closest('iam-table');
|
|
130
|
+
component.dispatchEvent(dispatchedEvent);
|
|
131
|
+
const sortBy = heading.textContent.trim();
|
|
132
|
+
const order = heading.getAttribute('data-order-by');
|
|
133
|
+
if (!wrapper.hasAttribute('data-submit')) {
|
|
134
|
+
sortTableByValues(table, sortBy, order);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
103
137
|
});
|
|
104
138
|
};
|
|
105
139
|
// Filters
|
|
@@ -111,8 +145,8 @@ export const createSearchDataList = (table, form) => {
|
|
|
111
145
|
const searchableColumns = searchInput.getAttribute('data-search').split(',');
|
|
112
146
|
const inputWrapper = searchInput.parentNode;
|
|
113
147
|
const searchableTerms = {};
|
|
114
|
-
searchableColumns.forEach((columnHeading
|
|
115
|
-
Array.from(table.querySelectorAll('td[data-label="' + columnHeading.trim() + '"]')).forEach((td
|
|
148
|
+
searchableColumns.forEach((columnHeading) => {
|
|
149
|
+
Array.from(table.querySelectorAll('td[data-label="' + columnHeading.trim() + '"]')).forEach((td) => {
|
|
116
150
|
if (td.querySelector('.td__content'))
|
|
117
151
|
searchableTerms[td.querySelector('.td__content').textContent] = td.querySelector('.td__content').textContent;
|
|
118
152
|
else
|
|
@@ -136,14 +170,14 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
|
|
|
136
170
|
}
|
|
137
171
|
if (form.classList.contains('processing'))
|
|
138
172
|
return false;
|
|
139
|
-
Array.from(form.querySelectorAll('iam-applied-filters')).forEach((element
|
|
173
|
+
Array.from(form.querySelectorAll('iam-applied-filters')).forEach((element) => {
|
|
140
174
|
const event = new Event('tags-set');
|
|
141
175
|
element.dispatchEvent(event);
|
|
142
176
|
});
|
|
143
177
|
// Before submitting check if any duplicate checkboxes within the filters dialog needs to upset the original input
|
|
144
178
|
if (event.type == 'submit') {
|
|
145
179
|
form.classList.add('processing');
|
|
146
|
-
Array.from(form.querySelectorAll('[data-duplicate]')).forEach((element
|
|
180
|
+
Array.from(form.querySelectorAll('[data-duplicate]')).forEach((element) => {
|
|
147
181
|
const id = element.getAttribute('data-duplicate');
|
|
148
182
|
const input = document.getElementById(id);
|
|
149
183
|
const card = document.querySelector(`[for="${id}"] iam-card`);
|
|
@@ -260,7 +294,7 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
|
|
|
260
294
|
if (event && event.target instanceof HTMLElement && event.target.closest('[data-clear]')) {
|
|
261
295
|
form.classList.add('processing');
|
|
262
296
|
// Make sure any applied filters have been removed
|
|
263
|
-
Array.from(form.querySelectorAll('.applied-filters')).forEach((filters
|
|
297
|
+
Array.from(form.querySelectorAll('.applied-filters')).forEach((filters) => {
|
|
264
298
|
filters.innerHTML = '';
|
|
265
299
|
});
|
|
266
300
|
// Make sure cards are unlicked
|
|
@@ -320,9 +354,9 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
|
|
|
320
354
|
const forms = [];
|
|
321
355
|
const fields = [];
|
|
322
356
|
// Collect the forms that we need to add an event listener for.
|
|
323
|
-
Array.from(form.querySelectorAll('[data-mimic]')).forEach((input
|
|
357
|
+
Array.from(form.querySelectorAll('[data-mimic]')).forEach((input) => {
|
|
324
358
|
const mimicField = input.getAttribute('data-mimic');
|
|
325
|
-
Array.from(document.querySelectorAll(`[name="${mimicField}"]`)).forEach((mimicInput
|
|
359
|
+
Array.from(document.querySelectorAll(`[name="${mimicField}"]`)).forEach((mimicInput) => {
|
|
326
360
|
const parentForm = mimicInput.closest('form');
|
|
327
361
|
if (!forms.includes(parentForm)) {
|
|
328
362
|
forms.push(parentForm);
|
|
@@ -333,7 +367,7 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
|
|
|
333
367
|
});
|
|
334
368
|
});
|
|
335
369
|
// For each form add change listener
|
|
336
|
-
forms.forEach((parentForm
|
|
370
|
+
forms.forEach((parentForm) => {
|
|
337
371
|
const updateMimicInput = function () {
|
|
338
372
|
const mimickedAlready = [];
|
|
339
373
|
const formData = new FormData(parentForm);
|
|
@@ -360,10 +394,10 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
|
|
|
360
394
|
}
|
|
361
395
|
}
|
|
362
396
|
};
|
|
363
|
-
parentForm.addEventListener('force', (
|
|
397
|
+
parentForm.addEventListener('force', () => {
|
|
364
398
|
updateMimicInput();
|
|
365
399
|
});
|
|
366
|
-
parentForm.addEventListener('change', (
|
|
400
|
+
parentForm.addEventListener('change', () => {
|
|
367
401
|
updateMimicInput();
|
|
368
402
|
});
|
|
369
403
|
});
|
|
@@ -386,13 +420,17 @@ export const sortTable = (table, form, savedTableBody) => {
|
|
|
386
420
|
addDataAttributes(table);
|
|
387
421
|
return false;
|
|
388
422
|
}
|
|
423
|
+
sortTableByValues(table, sortBy, order, format);
|
|
424
|
+
};
|
|
425
|
+
export const sortTableByValues = (table, sortBy, order, format = '') => {
|
|
426
|
+
const tbody = table.querySelector('tbody');
|
|
389
427
|
let orderArray = [];
|
|
390
428
|
if (!['asc', 'desc', 'descending'].includes(order)) {
|
|
391
429
|
orderArray = order.split(',');
|
|
392
430
|
}
|
|
393
431
|
// Create an array from the table rows, the index created is then used to sort the array
|
|
394
432
|
let tableArr = [];
|
|
395
|
-
Array.from(tbody.querySelectorAll('tr')).forEach((tableRow
|
|
433
|
+
Array.from(tbody.querySelectorAll('tr')).forEach((tableRow) => {
|
|
396
434
|
let rowIndex = tableRow
|
|
397
435
|
.querySelector('td[data-label="' + sortBy + '"], th[data-label="' + sortBy + '"]')
|
|
398
436
|
.textContent.trim();
|
|
@@ -424,7 +462,7 @@ export const sortTable = (table, form, savedTableBody) => {
|
|
|
424
462
|
}
|
|
425
463
|
// Create a string to return and populate the tbody
|
|
426
464
|
let strTbody = '';
|
|
427
|
-
tableArr.forEach((tableRow
|
|
465
|
+
tableArr.forEach((tableRow) => {
|
|
428
466
|
strTbody += tableRow.row.outerHTML;
|
|
429
467
|
});
|
|
430
468
|
tbody.innerHTML = strTbody;
|
|
@@ -437,7 +475,7 @@ export const filterTable = (table, form, wrapper) => {
|
|
|
437
475
|
const page = form.querySelector('[data-pagination]') ? parseInt(form.querySelector('[data-pagination]').value) : 1;
|
|
438
476
|
const showRows = form.querySelector('[data-show]') ? parseInt(form.querySelector('[data-show]').value) : 15;
|
|
439
477
|
// Reset
|
|
440
|
-
Array.from(table.querySelectorAll('tbody tr')).forEach((row
|
|
478
|
+
Array.from(table.querySelectorAll('tbody tr')).forEach((row) => {
|
|
441
479
|
row.classList.remove('filtered');
|
|
442
480
|
row.classList.remove('filtered--matched');
|
|
443
481
|
row.classList.remove('filtered--show');
|
|
@@ -447,17 +485,17 @@ export const filterTable = (table, form, wrapper) => {
|
|
|
447
485
|
if (form.querySelector('input[data-search]')) {
|
|
448
486
|
const searchInput = form.querySelector('input[data-search]');
|
|
449
487
|
const searchColumns = form.querySelector('input[data-search]').getAttribute('data-search').split(',');
|
|
450
|
-
searchColumns.forEach((column
|
|
488
|
+
searchColumns.forEach((column) => {
|
|
451
489
|
searches.push({ column: `${column.trim()}`, value: `${searchInput.value}` });
|
|
452
490
|
});
|
|
453
491
|
}
|
|
454
492
|
//Display the filter count
|
|
455
|
-
Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element
|
|
493
|
+
Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element) => {
|
|
456
494
|
element.innerHTML = '';
|
|
457
495
|
element.parentNode.classList.remove('hover');
|
|
458
496
|
});
|
|
459
497
|
let filterCount = 0;
|
|
460
|
-
Object.values(filters).forEach((filter
|
|
498
|
+
Object.values(filters).forEach((filter) => {
|
|
461
499
|
if (typeof filter == 'object' && Object.values(filter).length) {
|
|
462
500
|
filterCount += Object.values(filter).length;
|
|
463
501
|
}
|
|
@@ -466,7 +504,7 @@ export const filterTable = (table, form, wrapper) => {
|
|
|
466
504
|
}
|
|
467
505
|
});
|
|
468
506
|
if (filterCount) {
|
|
469
|
-
Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element
|
|
507
|
+
Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element) => {
|
|
470
508
|
element.innerHTML += `(${filterCount})`;
|
|
471
509
|
element.parentNode.classList.add('hover');
|
|
472
510
|
});
|
|
@@ -474,9 +512,9 @@ export const filterTable = (table, form, wrapper) => {
|
|
|
474
512
|
// Filter the table
|
|
475
513
|
table.classList.add('table--filtered');
|
|
476
514
|
for (const [key, filterValue] of Object.entries(filters)) {
|
|
477
|
-
Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row
|
|
515
|
+
Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row) => {
|
|
478
516
|
let isMatched = false;
|
|
479
|
-
filterValue.forEach((filter
|
|
517
|
+
filterValue.forEach((filter) => {
|
|
480
518
|
const filterTd = row.querySelector(`[data-label="${key}"]`);
|
|
481
519
|
if (filter.includes('-date-from')) {
|
|
482
520
|
const fromDate = new Date(filter.replace('-date-from', ''));
|
|
@@ -566,9 +604,9 @@ export const filterTable = (table, form, wrapper) => {
|
|
|
566
604
|
});
|
|
567
605
|
}
|
|
568
606
|
// Search whats left of the table after filtering
|
|
569
|
-
Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row
|
|
607
|
+
Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row) => {
|
|
570
608
|
let isSearched = searches.length > 0 && searches[0].value.length >= 3 ? false : true;
|
|
571
|
-
searches.forEach((search
|
|
609
|
+
searches.forEach((search) => {
|
|
572
610
|
const searchTd = row.querySelector(`[data-label="${search.column}"]`);
|
|
573
611
|
if (searchTd &&
|
|
574
612
|
search.value.length >= 3 &&
|
|
@@ -581,7 +619,7 @@ export const filterTable = (table, form, wrapper) => {
|
|
|
581
619
|
}
|
|
582
620
|
});
|
|
583
621
|
// Work out what to display after pagination
|
|
584
|
-
Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row
|
|
622
|
+
Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row) => {
|
|
585
623
|
matched++;
|
|
586
624
|
row.classList.add('filtered--matched');
|
|
587
625
|
// pagination bit
|
|
@@ -598,7 +636,7 @@ export const filterTable = (table, form, wrapper) => {
|
|
|
598
636
|
};
|
|
599
637
|
export const populateDataQueries = (table, form, wrapper) => {
|
|
600
638
|
const dataQueries = Array.from(form.querySelectorAll('[data-query]'));
|
|
601
|
-
dataQueries.forEach((queryElement
|
|
639
|
+
dataQueries.forEach((queryElement) => {
|
|
602
640
|
const query = queryElement.getAttribute('data-query');
|
|
603
641
|
let numberOfMatchedRows = 0;
|
|
604
642
|
if (query == 'total') {
|
|
@@ -624,7 +662,7 @@ export const populateDataQueries = (table, form, wrapper) => {
|
|
|
624
662
|
const queries = query.split(' && ');
|
|
625
663
|
numberOfMatchedRows = Array.from(table.querySelectorAll(`tbody tr:not(.filtered)`)).filter(function (row) {
|
|
626
664
|
let matched = true;
|
|
627
|
-
for (const
|
|
665
|
+
for (const value of Object.entries(queries)) {
|
|
628
666
|
const queryParts = value.split(' == ');
|
|
629
667
|
if (!row.querySelector(`td[data-label="${queryParts[0]}"]`) ||
|
|
630
668
|
row.querySelector(`td[data-label="${queryParts[0]}"]`).textContent != `${queryParts[1]}`)
|
|
@@ -685,7 +723,7 @@ export const addExportEventListeners = (button, table) => {
|
|
|
685
723
|
if (!button) {
|
|
686
724
|
return false;
|
|
687
725
|
}
|
|
688
|
-
button.addEventListener('click', (
|
|
726
|
+
button.addEventListener('click', () => {
|
|
689
727
|
exportAsCSV(table);
|
|
690
728
|
});
|
|
691
729
|
};
|
|
@@ -733,7 +771,7 @@ export const makeTableFunctional = function (table, form, pagination, wrapper) {
|
|
|
733
771
|
const largestWidth = getLargestLastColWidth(table);
|
|
734
772
|
wrapper.style.setProperty('--cta-width', `${largestWidth}rem`);
|
|
735
773
|
function outputsize() {
|
|
736
|
-
Array.from(table.querySelectorAll('tr')).forEach((row
|
|
774
|
+
Array.from(table.querySelectorAll('tr')).forEach((row) => {
|
|
737
775
|
const rowHeight = row.offsetHeight;
|
|
738
776
|
row.style.setProperty('--row-height', `${rowHeight}px`);
|
|
739
777
|
});
|
|
@@ -745,7 +783,7 @@ const filterFilters = function (form) {
|
|
|
745
783
|
const filters = new Object();
|
|
746
784
|
// Filter
|
|
747
785
|
const filterInputs = Array.from(form.querySelectorAll('[data-filter]'));
|
|
748
|
-
filterInputs.forEach((filterInput
|
|
786
|
+
filterInputs.forEach((filterInput) => {
|
|
749
787
|
// Ignore uncked radio inputs
|
|
750
788
|
if (filterInput.type == 'radio' && !filterInput.checked) {
|
|
751
789
|
return;
|
|
@@ -777,19 +815,19 @@ export const loadAjaxTable = function (table, form, pagination, wrapper) {
|
|
|
777
815
|
wrapper.classList.add('table--loading');
|
|
778
816
|
// Display the filter count
|
|
779
817
|
const filters = filterFilters(form);
|
|
780
|
-
Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element
|
|
818
|
+
Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element) => {
|
|
781
819
|
element.innerHTML = '';
|
|
782
820
|
element.parentNode.classList.remove('hover');
|
|
783
821
|
});
|
|
784
822
|
let filterCount = 0;
|
|
785
|
-
Object.values(filters).forEach((filter
|
|
823
|
+
Object.values(filters).forEach((filter) => {
|
|
786
824
|
if (typeof filter == 'object' && Object.values(filter).length)
|
|
787
825
|
filterCount += Object.values(filter).length;
|
|
788
826
|
else
|
|
789
827
|
filterCount++;
|
|
790
828
|
});
|
|
791
829
|
if (filterCount) {
|
|
792
|
-
Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element
|
|
830
|
+
Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element) => {
|
|
793
831
|
element.innerHTML += `(${filterCount})`;
|
|
794
832
|
element.parentNode.classList.add('hover');
|
|
795
833
|
});
|
|
@@ -834,15 +872,15 @@ export const loadAjaxTable = function (table, form, pagination, wrapper) {
|
|
|
834
872
|
: 'No results found';
|
|
835
873
|
if (data) {
|
|
836
874
|
tbody.innerHTML = '';
|
|
837
|
-
data.forEach((row
|
|
875
|
+
data.forEach((row) => {
|
|
838
876
|
const table_row = document.createElement('tr');
|
|
839
|
-
columns.forEach((col
|
|
877
|
+
columns.forEach((col) => {
|
|
840
878
|
let cellOutput = '';
|
|
841
879
|
const table_cell = document.createElement('td');
|
|
842
880
|
// Add some data to help with the mobile layout design
|
|
843
881
|
table_cell.setAttribute('data-label', col.innerText);
|
|
844
882
|
if (col.getAttribute('data-output')) {
|
|
845
|
-
|
|
883
|
+
const cellTemplate = col.getAttribute('data-output');
|
|
846
884
|
// Use a regex to replace {var} with actual values from the json data
|
|
847
885
|
cellOutput = cellTemplate.replace(new RegExp(/{(.*?)}/, 'gm'), function (matched) {
|
|
848
886
|
return resolvePath(row, matched.replace('{', '').replace('}', ''));
|
|
@@ -850,10 +888,10 @@ export const loadAjaxTable = function (table, form, pagination, wrapper) {
|
|
|
850
888
|
}
|
|
851
889
|
// If an output array is defined then the content is going to made of of multiple values from an array
|
|
852
890
|
if (col.hasAttribute('data-output-array')) {
|
|
853
|
-
|
|
891
|
+
const cellTemplate = col.getAttribute('data-output');
|
|
854
892
|
const arrValue = resolvePath(row, cellTemplate.replace('{', '').replace('}', ''));
|
|
855
893
|
cellOutput = '';
|
|
856
|
-
arrValue.forEach((rowValue
|
|
894
|
+
arrValue.forEach((rowValue) => {
|
|
857
895
|
const cellTemplateValue = col.getAttribute('data-output-array');
|
|
858
896
|
let cellOutputValue = '';
|
|
859
897
|
// If we need to transform some of the data
|
|
@@ -886,7 +924,7 @@ export const loadAjaxTable = function (table, form, pagination, wrapper) {
|
|
|
886
924
|
wrapper.setAttribute('data-total', parseInt(totalNumber));
|
|
887
925
|
wrapper.setAttribute('data-page', parseInt(currentPage));
|
|
888
926
|
makeTableFunctional(table, form, pagination, wrapper);
|
|
889
|
-
Array.from(form.querySelectorAll('[data-ajax-query]')).forEach((queryElement
|
|
927
|
+
Array.from(form.querySelectorAll('[data-ajax-query]')).forEach((queryElement) => {
|
|
890
928
|
const totalNumber = resolvePath(response, queryElement.getAttribute('data-ajax-query'), '');
|
|
891
929
|
if (queryElement.hasAttribute('data-total'))
|
|
892
930
|
queryElement.setAttribute('data-total', totalNumber);
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
import { getSwipeDirection } from './helpers.js';
|
|
3
2
|
export const createTabsLinks = function (tabsElement) {
|
|
4
|
-
const details = tabsElement.querySelectorAll(':scope > details');
|
|
5
3
|
const detailsORLinks = tabsElement.querySelectorAll(':scope > details, :scope > a');
|
|
6
|
-
const summaries = tabsElement.querySelectorAll(':scope > details > summary');
|
|
7
4
|
let tabLinks = tabsElement.querySelector(':scope > .tabs__links');
|
|
8
5
|
if (tabsElement.shadowRoot && tabsElement.shadowRoot.querySelector('.tabs__links'))
|
|
9
6
|
tabLinks = tabsElement.shadowRoot.querySelector('.tabs__links');
|
|
@@ -17,7 +14,7 @@ export const createTabsLinks = function (tabsElement) {
|
|
|
17
14
|
}
|
|
18
15
|
// Create the tab buttons from the summary titles
|
|
19
16
|
let tabindex = 0;
|
|
20
|
-
detailsORLinks.forEach((element
|
|
17
|
+
detailsORLinks.forEach((element) => {
|
|
21
18
|
let button = document.createElement('button');
|
|
22
19
|
if (element.matches('details')) {
|
|
23
20
|
const summary = element.querySelector(':scope > summary');
|
|
@@ -51,7 +48,7 @@ export const setTabsEventHandlers = function (tabsElement) {
|
|
|
51
48
|
let buttonWrapper = tabsElement.querySelector(':scope .tabs__links');
|
|
52
49
|
let buttons = tabsElement.querySelectorAll(':scope .tabs__links > button');
|
|
53
50
|
let nextButton = tabsElement.querySelector(':scope .tabs__next');
|
|
54
|
-
|
|
51
|
+
let scrollTimeout;
|
|
55
52
|
window.isClicked = false;
|
|
56
53
|
window.isScrolling = false;
|
|
57
54
|
if (tabsElement.shadowRoot) {
|
|
@@ -96,7 +93,7 @@ export const setTabsEventHandlers = function (tabsElement) {
|
|
|
96
93
|
});
|
|
97
94
|
});
|
|
98
95
|
});
|
|
99
|
-
buttonWrapper.addEventListener('scrollend', (
|
|
96
|
+
buttonWrapper.addEventListener('scrollend', () => {
|
|
100
97
|
clearTimeout(scrollTimeout);
|
|
101
98
|
scrollTimeout = setTimeout(function () {
|
|
102
99
|
let buttonToClick = buttons[0];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.
|
|
2
|
+
* iamKey v7.2.0
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
|
-
*/(function(
|
|
5
|
-
`),c=a.slice(5).toUpperCase(),s=!1;for(var
|
|
4
|
+
*/(function(y){typeof define=="function"&&define.amd?define(y):y()})(function(){"use strict";var y=r=>{r.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&r.classList.add("ie")},M=r=>{var t=function(e){var o=document.querySelector('label[for="'.concat(e.replace("#",""),'"]')),c=document.querySelector(e+" summary"),s=document.querySelector("dialog".concat(e)),i=document.querySelector("detail".concat(e));o instanceof HTMLElement?o.click():c instanceof HTMLElement?c.click():s instanceof HTMLElement?s.showModal():i instanceof HTMLElement&&i.addAttribute("open")};location.hash&&t(location.hash),window.addEventListener("hashchange",function(){t(location.hash)},!1),addEventListener("popstate",a=>{if(a&&a.state&&a.state.type&&a.state.type=="pagination"){var e=document.querySelector("#".concat(a.state.form)),o=document.querySelector("#".concat(a.state.form," [data-pagination]"));o?o.value=a.state.page:e.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(a.state.page,'" />'),e.dispatchEvent(new Event("submit"))}}),document.addEventListener("submit",a=>{if(a&&a.target instanceof HTMLElement&&a.target.matches("form")){var e=a.target;Array.from(e.querySelectorAll("[data-password-type]")).forEach(o=>{o.setAttribute("type","password")}),(e.querySelector(":invalid")||e.querySelector('.pwd-checker[data-strength="1"]')||e.querySelector('.pwd-checker[data-strength="2"]'))&&(e.classList.add("was-validated"),a.preventDefault()),e.querySelector("iam-multiselect[data-is-required][data-error]")&&(e.classList.add("was-validated"),a.preventDefault())}}),document.addEventListener("keydown",a=>{a.key==="Escape"&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(a.preventDefault(),a.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(a=>{var e=a.closest("label");e.setAttribute("data-percent",a.getAttribute("value"))})},T=r=>(Array.from(r.querySelectorAll("dialog[open]")).forEach(t=>{var a=t.closest(".dialog__wrapper");a||(t.removeAttribute("open"),t.showModal(),t.focus(),v(t))}),r.addEventListener("click",t=>{if(t.target.tagName=="IAM-ACTIONBAR")return!1;if(t&&t.target instanceof HTMLElement&&t.target.closest("[data-modal]")){var a=t.target.closest("[data-modal]"),e=a.hasAttribute("data-modal")?a.getAttribute("data-modal"):a.getAttribute("data-filter"),o=document.querySelector("dialog#".concat(e));if(v(o),o.showModal(),o.focus(),!o.querySelector("iam-multi-step")){var c=o.offsetWidth;o.setAttribute("style","max-width: ".concat(c,"px;"))}Array.from(o.querySelectorAll("[data-duplicate]")).forEach(u=>{var W=u.getAttribute("data-duplicate"),x=document.getElementById(W);if(u.checked!=x.checked){u.checked=x.checked;var J=new Event("change");u.dispatchEvent(J)}}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:e})}if(t&&t.target instanceof HTMLElement&&t.target.closest("button.dialog__close")){var s=t.target.closest("dialog[open]");t.preventDefault(),s.close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(u=>{u.classList.remove("active")});var i=new CustomEvent("dialog-closed",{bubbles:!0,cancelable:!0,detail:{modalId:s.id}});t.target.dispatchEvent(i),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:s.getAttribute("id")})}if(t&&t.target instanceof HTMLElement&&t.target.closest('button[formmethod="dialog"]')){var n=t.target.closest("dialog[open]");Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(u=>{u.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:n.getAttribute("id")})}if(t&&t.target instanceof HTMLElement&&t.target.closest("dialog[open]")){var l=t.target.closest("dialog[open]"),h=window.getComputedStyle(l);if(h.display==="contents"&&(l=l.parentNode.closest("dialog[open]")),!l.classList.contains("dialog--transactional")&&!l.classList.contains("dialog--acknowledgement")){var g=l.getBoundingClientRect();(t.clientX<g.left||t.clientX>g.right||t.clientY<g.top||t.clientY>g.bottom)&&(t.target.closest("dialog *")||l.close(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:l.getAttribute("id")}))}}if(t&&t.target instanceof HTMLElement&&t.target.closest(".dialog__wrapper > button")){t.stopPropagation();var f=t.target.closest(".dialog__wrapper > button"),O=f.parentNode,E="openPopover",d=O.querySelector(":scope > dialog");if(document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]")!=d&&f.closest("dialog[open]")!=document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(u=>{u.removeAttribute("aria-expanded")}),d.hasAttribute("open"))d.close(),E="closePopover",d.removeAttribute("style"),f.removeAttribute("aria-expanded");else{d.show(),f.setAttribute("aria-expanded",!0);var S=f.getBoundingClientRect(),L=S.top,q=S.left;if(f.closest("iam-table")){var k=f.closest("iam-table").parentNode.getBoundingClientRect();L-=k.top,q-=k.left}d.classList.contains("dialog--fix")&&d.setAttribute("style","position:fixed;top: ".concat(L,"px; left: ").concat(q,"px; margin: 3rem 0 0 0;"))}var A=d.getBoundingClientRect(),V=A.bottom-window.scrollY,R=window.innerHeight-window.scrollY;if(V>R){var Y=d.hasAttribute("style")?d.getAttribute("style")+" ":"";d.setAttribute("style",Y+"transform: translate(0, calc(-100% - 4rem))"),A=d.getBoundingClientRect();var F=A.top-window.scrollY;F<100&&d.removeAttribute("style")}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:E,id:f.textContent})}t&&t.target instanceof HTMLElement&&!t.target.closest("dialog[open]")&&!t.target.closest(".dialog__wrapper > button")&&(document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]")&&document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper:not([data-keep-open]) > button")).forEach(u=>{u.removeAttribute("aria-expanded")}))}),null),v=r=>{if(!r.querySelector(":scope .mh-lg")&&!r.querySelector("iam-multi-step")){r.innerHTML='<div class="mh-lg">'.concat(r.innerHTML,"</div>");var t=r.querySelector(".mh-lg"),a=r.querySelector(".mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)");if(a){var e=a.previousSibling;t.before(a),e&&a.before(e)}}r.querySelector(":scope > button:first-child")||r.insertAdjacentHTML("afterbegin",'<button class="dialog__close">Close</button>')};function C(){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",r=>{var t=r.target.closest("[open] summary");if(t)window.dataLayer.push({event:"closeDetails",detailsTitle:t.textContent||""});else{var a=r.target.closest("summary"),e=r.target.closest("a"),o=r.target.closest("button");a&&window.dataLayer.push({event:"openDetails",detailsTitle:a.textContent||""}),e&&window.dataLayer.push({event:"linkClicked",linkText:e.hasAttribute("title")?e.getAttribute("title")||"":e.textContent||"",class:e.hasAttribute("class")&&e.getAttribute("class")||"",href:e.getAttribute("href")||""}),o&&window.dataLayer.push({event:"buttonClicked",buttonText:o.textContent||"",class:o.hasAttribute("class")&&o.getAttribute("class")||""})}})}function H(r){var t=new TextEncoder("utf-8").encode(r);return crypto.subtle.digest("SHA-1",t).then(function(a){for(var e=[],o=new DataView(a),c=0;c<o.byteLength;c+=4){var s=o.getUint32(c),i=s.toString(16),n="00000000",l=(n+i).slice(-n.length);e.push(l)}return e.join("")})}var D=(r,t)=>{H(r).then(function(a){var e=new XMLHttpRequest;e.addEventListener("load",function(){var o=this.responseText.split(`
|
|
5
|
+
`),c=a.slice(5).toUpperCase(),s=!1;for(var i in o)if(o[i].substring(0,35)==c){s=!0;break}var n=new CustomEvent("hibpCheck",{detail:s});t.dispatchEvent(n)}),e.open("GET","https://api.pwnedpasswords.com/range/"+a.substr(0,5)),e.send()})},B=r=>{function t(){if(Array.from(document.querySelectorAll("input[maxlength],textarea[maxlength]")).forEach(e=>{e.parentElement,_(e)}),Array.from(document.querySelectorAll("label input")).forEach(e=>{!e.closest("label").querySelector(".optional-text")&&!e.hasAttribute("required")&&(e.parentNode.tagName.toLowerCase()=="span"?e.parentElement.insertAdjacentHTML("beforebegin",'<span class="optional-text"></span>'):e.insertAdjacentHTML("beforebegin",'<span class="optional-text"></span>'))}),document.querySelector('input[type="date"]')){let e=function(o){var c=o.getFullYear(),s=String(o.getMonth()+1).padStart(2,"0"),i=String(o.getDate()).padStart(2,"0");return"".concat(c,"-").concat(s,"-").concat(i)};var a=new Date;Array.from(document.querySelectorAll('input[type="date"]')).forEach(o=>{var c=a;if(o.hasAttribute("data-start")&&(c.setDate(c.getDate()+parseInt(o.getAttribute("data-start"))),o.setAttribute("min",e(c))),o.hasAttribute("data-period")){var s=parseInt(o.getAttribute("data-period")),i=new Date;i.setDate(c.getDate()+s),o.setAttribute("max",e(i))}if(o.hasAttribute("data-allowed-days")){var n=JSON.parse("[".concat(o.getAttribute("data-allowed-days"),"]"));o.addEventListener("input",function(){var l=new Date(this.value).getUTCDay();n.includes(l)?o.setCustomValidity(""):o.setCustomValidity("That day of the week is not allowed")})}})}}document.readyState==="complete"&&t(),document.onreadystatechange=()=>{document.readyState==="complete"&&t()},r.addEventListener("input",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("input,textarea,select")){var e=a.target.closest("input,textarea,select");e.hasAttribute("type")&&e.getAttribute("type")=="color"&&(e.nextElementSibling.value=e.value),e.hasAttribute("maxlength")&&e.nextElementSibling&&e.nextElementSibling.setAttribute("data-count",e.value.length),e.hasAttribute("data-strength-checker")&&p(e)}}),r.addEventListener("change",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("select")){var e=a.target.closest("select");if(e.hasAttribute("data-change-type")&&e.hasAttribute("data-input")){var o=document.getElementById(e.getAttribute("data-input")),c=e.value;w(o,c)}}if(a&&a.target instanceof HTMLElement&&a.target.closest('dialog [type="radio"]')){var s=a.target.closest("dialog");Array.from(s.querySelectorAll('[type="radio"][autofocus]')).forEach(i=>{i.removeAttribute("autofocus")}),Array.from(s.querySelectorAll('[type="radio"]:checked')).forEach(i=>{i.setAttribute("autofocus",!0)})}}),r.addEventListener("click",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-type][data-input]:not(select)")){var e=a.target.closest("[data-change-type]"),o=document.getElementById(e.getAttribute("data-input")),c=e.getAttribute("data-change-type");if(e.setAttribute("data-change-type",o.getAttribute("type")),w(o,c),e.hasAttribute("data-alt-class")){var s=e.getAttribute("data-alt-class");e.setAttribute("data-alt-class",e.getAttribute("class")),e.setAttribute("class",s)}}})},_=r=>{var t=r.parentElement,a=r.getAttribute("maxlength");t.style.setProperty("--maxlength",a);var e=r.nextElementSibling;(!e||e&&e.classList.contains("invalid-feedback"))&&(e=document.createElement("span"),t.insertBefore(e,r.nextSibling)),e.setAttribute("data-count",r.value.length)},w=(r,t)=>{r.hasAttribute("type")&&r.getAttribute("type")=="password"&&r.setAttribute("data-password-type",!0),r.setAttribute("type",t)},p=function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"no",e=document.getElementById(t.getAttribute("data-strength-checker")),o=t.value,c=t.hasAttribute("minlength")?t.getAttribute("minlength"):12,s=1,i=["Very weak","Weak","Average","Strong","Very strong"],n="";if(o.match(/(?=.*[0-9])/)&&(s+=1),o.match(/(?=.*[!,%,&,#,$,^,*,?,_,~,<,>,])/)&&(s+=1),o.match(/(?=.*[a-z])/)&&(s+=1),o.match(/(?=.*[A-Z])/)&&(s+=1),o.length<c&&(s=1,n="(must be at least ".concat(c," characters.)")),s>=3&&a=="no"){let l=function(h,g){h.detail?p(g,"danger"):p(g,"success"),g.removeEventListener("hibpCheck",l)};D(o,t),t.addEventListener("hibpCheck",function(h){l(h,t)})}else s>=3&&a=="danger"&&(s=3,n="(this password is very common)");e&&(s<=3?e.classList.add("invalid-feedback"):e.classList.remove("invalid-feedback"),e.setAttribute("data-strength",s),e.innerHTML="Password strength: ".concat(i[s-1]," ").concat(n))},N=()=>{document.addEventListener("change",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-change-events]")&&b(r.target,r.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-change-events]")&&b(r.target,r.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-click-events]")&&b(r.target,r.target.closest("[data-click-events]").getAttribute("data-click-events"))})},b=(r,t)=>{if(t||(t=r.parentNode.getAttribute("data-change-events")),!t)return!1;Array.from(JSON.parse(t)).forEach(a=>{I(r,a)})},I=(r,t)=>{if("matches"in t)return t.matches=="any"||r.value==t.matches?m(r,t,"if"):m(r,t,"else"),!1;if("in-list"in t){var a=document.querySelector("".concat(t["in-list"],' option[value="').concat(r.value,'"]'));return document.querySelector("".concat(t["in-list"],' option[value="').concat(r.value,'"]'))?m(a,t,"if"):m(a,t,"else"),!1}else"event"in t&&m(r,t,"event")},m=(r,t,a)=>{if(!(a in t))return!1;switch(t[a]){case"hide":if(document.querySelector(t.target)){var e=document.querySelector(t.target);e.classList.add("js-hide"),Array.from(e.querySelectorAll("[data-required]")).forEach(i=>{i.removeAttribute("required")})}break;case"show":if(document.querySelector(t.target)){var o=document.querySelector(t.target);o.classList.remove("js-hide"),Array.from(o.querySelectorAll("[data-required]")).forEach(i=>{i.closest(".js-hide")||i.setAttribute("required","true")})}break;case"populate-form":j(r,t);break;case"dispatchEvent":var c=new Event(t.value);document.querySelector("".concat(t.target)).dispatchEvent(c);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(i){i.setAttribute(t.attribute,t.value)});break;case"focus":document.querySelector("".concat(t.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(i){i.removeAttribute(t.attribute)});break;case"updateValue":document.querySelector("".concat(t.target)).value=t.value?t.value:"";var s=new Event("change");document.querySelector("".concat(t.target)).dispatchEvent(s);break;case"submitForm":document.querySelector("".concat(t.target)).submit();break;case"openLink":document.querySelector("".concat(t.target)).value&&(window.location.href=document.querySelector("".concat(t.target)).value);break}},j=function(t,a){var e=JSON.parse(t.getAttribute("data-values")),o=document.querySelector(a.target);if(!e)return!1;Object.keys(e).forEach(c=>{document.getElementById(c)&&document.getElementById(c).tagName=="SPAN"&&(document.getElementById(c).innerHTML=e[c]),o.querySelector('select[name="'.concat(c,'"] [value="').concat(e[c],'"]'))?(o.querySelector('select[name="'.concat(c,'"]')).value=e[c],t.hasAttribute("data-lock-fields")&&(o.querySelector('select[name="'.concat(c,'"]')).disabled=!0)):o.querySelector('input[name="'.concat(c,'"][type="radio"][value="').concat(e[c],'"]'))?(Array.from(o.querySelectorAll('input[name="'.concat(c,'"][type="radio"]'))).forEach(function(s){s.disabled=!0}),o.querySelector('input[name="'.concat(c,'"][type="radio"][value="').concat(e[c],'"]')).checked=!0,o.querySelector('input[name="'.concat(c,'"][type="radio"][value="').concat(e[c],'"]')).disabled=!1):o.querySelector('input[name="'.concat(c,'"]'))&&(o.querySelector('input[name="'.concat(c,'"]')).value=e[c],t.hasAttribute("data-lock-fields")&&o.querySelector('input[name="'.concat(c,'"]')).setAttribute("readonly","true"))})},P=["accordion","header","table","tabs","card","filter-card","video-card","record-card","filterlist","applied-filters","pagination","notification","actionbar","nav","collapsible-side","address-lookup","fileupload","search","inline-edit","multiselect","multi-step","menu","slider","carousel","marketing","barchart","doughnutchart","bento-grid"];document.addEventListener("DOMContentLoaded",function(){C(),N(),y(document.body),M(),T(document.body),B(document.body);var r="iam",t={rootMargin:"50px",threshold:.1},a=".component.min.js";P.forEach(e=>{if(document.getElementsByTagName("".concat(r,"-").concat(e)).length!==0){var o=s=>{s.forEach(i=>{i.intersectionRatio>0&&(console.log(e),import("../js/components/".concat(e,"/").concat(e).concat(a)).then(n=>{window.customElements.get("".concat(r,"-").concat(e))||window.customElements.define("".concat(r,"-").concat(e),n.default)}).catch(n=>{console.log(n.message)}),c.unobserve(i.target))})},c=new IntersectionObserver(o,t);c.observe(document.getElementsByTagName("".concat(r,"-").concat(e))[0])}})})});
|
|
6
6
|
//# sourceMappingURL=scripts.bundle.js.map
|