@iamproperty/components 7.1.0--beta7 → 7.2.1--beta1
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-basic.component.css +1 -0
- package/assets/css/components/table-basic.component.css.map +1 -0
- package/assets/css/components/table-basic.global.css +1 -0
- package/assets/css/components/table-basic.global.css.map +1 -0
- package/assets/css/components/table.component.css +1 -0
- 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.config.css +1 -0
- package/assets/css/components/tabs.config.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 +14 -8
- package/assets/js/components/pagination/pagination.component.min.js +5 -5
- 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 +36 -200
- package/assets/js/components/table/table.component.min.js +13 -23
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/table-ajax/table-ajax.component.js +46 -0
- package/assets/js/components/table-ajax/table-ajax.component.min.js +22 -0
- package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -0
- package/assets/js/components/table-basic/table-basic.component.js +46 -0
- package/assets/js/components/table-basic/table-basic.component.min.js +22 -0
- package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -0
- package/assets/js/components/table-no-submit/table-no-submit.component.js +77 -0
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +22 -0
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -0
- package/assets/js/components/table-submit/table-submit.component.js +55 -0
- package/assets/js/components/table-submit/table-submit.component.min.js +22 -0
- package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -0
- package/assets/js/components/tabs/tabs.component.js +3 -2
- package/assets/js/components/tabs/tabs.component.min.js +6 -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 +108 -1
- 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 +7 -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 +604 -317
- package/assets/js/modules/tabs.js +46 -19
- 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 +71 -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/js/tests/table.spec.js +0 -31
- package/assets/sass/_bs_grid.scss +4 -1
- package/assets/sass/_components.scss +326 -100
- package/assets/sass/_corefiles.scss +42 -18
- package/assets/sass/_elements.scss +98 -18
- package/assets/sass/_example.scss +61 -0
- package/assets/sass/_func.scss +5 -13
- package/assets/sass/_functions/bs_utilities.scss +43 -39
- package/assets/sass/_functions/functions.scss +66 -52
- package/assets/sass/_functions/mixins.scss +84 -100
- package/assets/sass/_functions/utility-mixins.scss +56 -44
- package/assets/sass/_functions/variables.scss +90 -1659
- package/assets/sass/_functions/variables_old.scss +1701 -0
- package/assets/sass/_grid.scss +19 -5
- 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 +15 -5
- package/assets/sass/_utility-mixins.scss +6 -1
- package/assets/sass/components/{actionbar.scss → actionbar.component.scss} +83 -16
- package/assets/sass/components/actionbar.global.scss +12 -68
- package/assets/sass/components/address-lookup.scss +6 -0
- package/assets/sass/components/barchart.component.scss +7 -20
- 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 +128 -97
- 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 +7 -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.scss → table-basic.component.scss} +25 -68
- package/assets/sass/components/table-basic.global.scss +355 -0
- package/assets/sass/components/table.component.scss +40 -0
- package/assets/sass/components/table.global.scss +215 -418
- package/assets/sass/components/tabs.component.scss +5 -0
- package/assets/sass/components/tabs.config.scss +27 -0
- package/assets/sass/components/tabs.scss +40 -4
- package/assets/sass/components/testimonial.scss +7 -7
- package/assets/sass/components/timeline.scss +1 -1
- package/assets/sass/core.scss +13 -4
- package/assets/sass/elements/admin-panel.scss +199 -185
- 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 +323 -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 +157 -151
- 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 +116 -108
- package/assets/sass/elements/tooltips.scss +87 -80
- package/assets/sass/elements/type.scss +172 -160
- package/assets/sass/email.scss +0 -1
- package/assets/sass/error.scss +15 -13
- package/assets/sass/foundations/reboot.scss +176 -170
- package/assets/sass/foundations/root.scss +136 -125
- package/assets/sass/helpers/max-height.scss +2 -2
- package/assets/sass/main.scss +14 -6
- 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 +24 -12
- 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 +50 -247
- package/assets/ts/components/table-ajax/table-ajax.component.ts +64 -0
- package/assets/ts/components/table-basic/README.md +40 -0
- package/assets/ts/components/table-basic/table-basic.component.ts +56 -0
- package/assets/ts/components/table-no-submit/table-no-submit.component.ts +134 -0
- package/assets/ts/components/table-submit/table-submit.component.ts +64 -0
- package/assets/ts/components/tabs/tabs.component.ts +4 -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 +152 -19
- 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 +24 -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 +726 -356
- package/assets/ts/modules/tabs.ts +59 -20
- package/assets/ts/scripts.ts +72 -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/assets/ts/tests/table.spec.ts +0 -38
- package/dist/components.es.js +1260 -1063
- package/dist/components.umd.js +468 -198
- 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/Table/TableAjax.vue +34 -0
- package/src/components/Table/TableBasic.vue +34 -0
- package/src/components/Table/TableNoSubmit.vue +34 -0
- package/src/components/Table/TableSubmit.vue +34 -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 +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/ts/components.ts +0 -62
- package/assets/ts/modules/file-upload.ts +0 -52
- package/dist/style.css +0 -1
- package/src/components/Table/Table.spec.js +0 -47
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.1
|
|
2
|
+
* iamKey v7.2.1--beta1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
|
-
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Slider"});class
|
|
4
|
+
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Slider"});class w extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const o=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",d=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${o}/css/core.min.css`,n=document.createElement("template");n.innerHTML=`
|
|
5
5
|
<style>
|
|
6
|
-
@import "${
|
|
7
|
-
.row{align-items:center}:is(.min,.max){max-width:fit-content;line-height:2rem}.sliders{position:relative;padding:0}:host{max-width:var(--input-max-width, 50rem);display:block}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) var(--percent, 0%), var(--track-colour) var(--percent, 0%))}input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) var(--percent, 0%), var(--track-colour) var(--percent, 0%))}input[type=range]+input[type=range]{position:absolute;top:0;left:50%;width:50%}input[type=range]+input[type=range]::-webkit-slider-runnable-track{background:rgba(0,0,0,0);pointer-events:none;width:200%;margin-left:-100%}@supports(-moz-appearance: none){input[type=range]+input[type=range]{left:0;width:100%;pointer-events:none}}input[type=range]+input[type=range]::-moz-range-track{background:rgba(0,0,0,0);pointer-events:none}.input__wrapper{display:flex;justify-content:flex-end;--max-width: 6.25rem;--padding-top: 0.75rem}.input__wrapper>span{display:none}.input__wrapper[data-elements="2"]{justify-content:space-between;--max-width: calc(50% - 3rem);--padding-top: 2rem;position:relative}.input__wrapper[data-elements="2"]:before{content:"";position:absolute;width:4rem;height:2px;top:calc(50% - 1px);left:calc(50% - 2rem);background-color:var(--colour-border)}.input__wrapper[data-elements="2"] span{display:block;position:absolute;top:.5rem;left:1rem;color:#9d9d9d;font-size:1rem}.input__wrapper[data-elements="2"] span+span{left:calc(50% + 4rem)}::slotted(input){margin-top:0 !important;padding-top:var(--padding-top) !important;max-width:var(--max-width) !important;-webkit-appearance:none !important;appearance:none !important;min-height:auto !important;max-height:none !important}/*# sourceMappingURL=assets/css/components/slider.css.map */
|
|
6
|
+
@import "${d}";
|
|
7
|
+
@layer reset{.row{--gutter-x: 1rem;--gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--gutter-y));margin-right:calc(-0.5*var(--gutter-x));margin-left:calc(-0.5*var(--gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--gutter-x)*.5);padding-left:calc(var(--gutter-x)*.5);margin-top:var(--gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}.g-0,.gx-0{--gutter-x: 0}.g-0,.gy-0{--gutter-y: 0}.g-1,.gx-1{--gutter-x: 0.5rem}.g-1,.gy-1{--gutter-y: 0.5rem}.g-2,.gx-2{--gutter-x: 1rem}.g-2,.gy-2{--gutter-y: 1rem}.g-3,.gx-3{--gutter-x: 1.5rem}.g-3,.gy-3{--gutter-y: 1.5rem}.g-4,.gx-4{--gutter-x: 2rem}.g-4,.gy-4{--gutter-y: 2rem}.g-5,.gx-5{--gutter-x: 3rem}.g-5,.gy-5{--gutter-y: 3rem}@media screen and (min-width: 36em){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}.g-sm-0,.gx-sm-0{--gutter-x: 0}.g-sm-0,.gy-sm-0{--gutter-y: 0}.g-sm-1,.gx-sm-1{--gutter-x: 0.5rem}.g-sm-1,.gy-sm-1{--gutter-y: 0.5rem}.g-sm-2,.gx-sm-2{--gutter-x: 1rem}.g-sm-2,.gy-sm-2{--gutter-y: 1rem}.g-sm-3,.gx-sm-3{--gutter-x: 1.5rem}.g-sm-3,.gy-sm-3{--gutter-y: 1.5rem}.g-sm-4,.gx-sm-4{--gutter-x: 2rem}.g-sm-4,.gy-sm-4{--gutter-y: 2rem}.g-sm-5,.gx-sm-5{--gutter-x: 3rem}.g-sm-5,.gy-sm-5{--gutter-y: 3rem}}@media screen and (min-width: 62em){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}.g-md-0,.gx-md-0{--gutter-x: 0}.g-md-0,.gy-md-0{--gutter-y: 0}.g-md-1,.gx-md-1{--gutter-x: 0.5rem}.g-md-1,.gy-md-1{--gutter-y: 0.5rem}.g-md-2,.gx-md-2{--gutter-x: 1rem}.g-md-2,.gy-md-2{--gutter-y: 1rem}.g-md-3,.gx-md-3{--gutter-x: 1.5rem}.g-md-3,.gy-md-3{--gutter-y: 1.5rem}.g-md-4,.gx-md-4{--gutter-x: 2rem}.g-md-4,.gy-md-4{--gutter-y: 2rem}.g-md-5,.gx-md-5{--gutter-x: 3rem}.g-md-5,.gy-md-5{--gutter-y: 3rem}}}.row{align-items:center}:is(.min,.max){max-width:fit-content;line-height:2rem}.sliders{position:relative;padding:0}:host{max-width:var(--input-max-width, 50rem);display:block}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) var(--percent, 0%), var(--track-colour) var(--percent, 0%))}input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) var(--percent, 0%), var(--track-colour) var(--percent, 0%))}input[type=range]+input[type=range]{position:absolute;top:0;left:50%;width:50%}input[type=range]+input[type=range]::-webkit-slider-runnable-track{background:rgba(0,0,0,0);pointer-events:none;width:200%;margin-left:-100%}@supports(-moz-appearance: none){input[type=range]+input[type=range]{left:0;width:100%;pointer-events:none}}input[type=range]+input[type=range]::-moz-range-track{background:rgba(0,0,0,0);pointer-events:none}.input__wrapper{display:flex;justify-content:flex-end;--max-width: 6.25rem;--padding-top: 0.75rem}.input__wrapper>span{display:none}.input__wrapper[data-elements="2"]{justify-content:space-between;--max-width: calc(50% - 3rem);--padding-top: 2rem;position:relative}.input__wrapper[data-elements="2"]:before{content:"";position:absolute;width:4rem;height:2px;top:calc(50% - 1px);left:calc(50% - 2rem);background-color:var(--colour-border)}.input__wrapper[data-elements="2"] span{display:block;position:absolute;top:.5rem;left:1rem;color:#9d9d9d;font-size:1rem}.input__wrapper[data-elements="2"] span+span{left:calc(50% + 4rem)}::slotted(input){margin-top:0 !important;padding-top:var(--padding-top) !important;max-width:var(--max-width) !important;-webkit-appearance:none !important;appearance:none !important;min-height:auto !important;max-height:none !important}/*# sourceMappingURL=assets/css/components/slider.css.map */
|
|
8
8
|
|
|
9
9
|
</style>
|
|
10
10
|
<div class="row">
|
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
<div class="col max ps-2"></div>
|
|
16
16
|
</div>
|
|
17
17
|
<div class="input__wrapper"><slot></slot><span>Minimum</span><span>Maximum</span></div>
|
|
18
|
-
`,this.shadowRoot.appendChild(
|
|
18
|
+
`,this.shadowRoot.appendChild(n.content.cloneNode(!0))}connectedCallback(){const o=this,d=this.shadowRoot.querySelector(".min"),n=this.shadowRoot.querySelector(".max"),u=this.shadowRoot.querySelector(".sliders");let a=this.querySelectorAll("input");const p=this.shadowRoot.querySelector(".input__wrapper"),h=this.closest("label");let m,f="mouseup",g="mousedown";"ontouchstart"in document.documentElement&&(f="touchend",g="touchstart");const i=function(t){const e=t.value,r=o.shadowRoot.querySelector(".is-first").getAttribute("min"),c=o.shadowRoot.querySelector(".is-last").getAttribute("max");if(t.classList.contains("is-last")&&!t.classList.contains("is-first")){const l=e/(c-r)*100;o.style.setProperty("--percent",l+"%"),parseFloat(t.value)<=parseFloat(o.shadowRoot.querySelector(".is-first").value)&&(o.shadowRoot.querySelector(".is-first").value=t.value,o.querySelector(".is-first").value=t.value,o.style.setProperty("--start-percent",l+"%"))}else if(t.classList.contains("is-first")&&!t.classList.contains("is-last")){const l=e/(c-r)*100;o.style.setProperty("--start-percent",l+"%"),parseFloat(t.value)>=parseFloat(o.shadowRoot.querySelector(".is-last").value)&&(o.shadowRoot.querySelector(".is-last").value=t.value,o.querySelector(".is-last").value=t.value,o.style.setProperty("--percent",l+"%"))}else{const l=(e/(c-r)*100).toFixed(2);o.style.setProperty("--percent",l+"%")}};Array.from(a).forEach((t,e)=>{const r=t.cloneNode(!0);t.setAttribute("type","number"),r.setAttribute("type","range"),e==0&&(t.classList.add("is-first"),r.classList.add("is-first"),d.innerHTML=t.getAttribute("min"),n.innerHTML=t.getAttribute("max"),u.appendChild(r)),e==a.length-1&&(t.classList.add("is-last"),r.classList.add("is-last"),u.appendChild(r)),e>1&&t.remove()}),a=this.querySelectorAll("input"),p.setAttribute("data-elements",a.length);const s=this.shadowRoot.querySelectorAll("input");Array.from(a).forEach((t,e)=>{t.addEventListener("keyup",function(){s[e].value=t.value,i(s[e])}),t.addEventListener("keydown",function(){s[e].value=t.value,i(s[e])}),t.addEventListener("change",function(){s[e].value=t.value,i(s[e])})}),Array.from(s).forEach((t,e)=>{i(t),t.addEventListener(g,function(){clearInterval(m),m=setInterval(function(){i(t),a[e].value=t.value},10)}),t.addEventListener(f,function(){clearInterval(m)}),t.addEventListener("change",function(){clearInterval(m),i(t),a[e].value=t.value})}),h.addEventListener("click",function(t){if(t.preventDefault(),this===t.target)o.shadowRoot.querySelector("input").focus();else return t.stopPropagation(),!1})}}export{w as default};
|
|
19
19
|
//# sourceMappingURL=slider.component.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.component.min.js","sources":["slider.component.js"],"sourcesContent":["// @ts-nocheck\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Slider',\n});\nclass iamSlider extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const coreCSS = document.body.hasAttribute('data-core-css')\n ? document.body.getAttribute('data-core-css')\n : `${assetLocation}/css/core.min.css`;\n const loadCSS = `@import \"${assetLocation}/css/components/slider.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n ${loadCSS}\n </style>\n <div class=\"row\">\n <div class=\"col min pe-2\"></div>\n <div class=\"col sliders\">\n \n </div>\n <div class=\"col max ps-2\"></div>\n </div>\n <div class=\"input__wrapper\"><slot></slot><span>Minimum</span><span>Maximum</span></div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const slider = this;\n const minElement = this.shadowRoot.querySelector('.min');\n const maxElement = this.shadowRoot.querySelector('.max');\n const slidersHolder = this.shadowRoot.querySelector('.sliders');\n let inputs = this.querySelectorAll('input');\n const inputWrapper = this.shadowRoot.querySelector('.input__wrapper');\n const label = this.closest('label');\n let stepperInterval, stepperEvent = 'mouseup', stepperStart = 'mousedown';\n if ('ontouchstart' in document.documentElement) {\n stepperEvent = 'touchend';\n stepperStart = 'touchstart';\n }\n const stepperFunction = function (input, eventType) {\n const value = input.value;\n const min = slider.shadowRoot.querySelector('.is-first').getAttribute('min');\n const max = slider.shadowRoot.querySelector('.is-last').getAttribute('max');\n if (input.classList.contains('is-last') && !input.classList.contains('is-first')) {\n const percent = (value / (max - min)) * 100;\n slider.style.setProperty('--percent', percent + '%');\n if (parseFloat(input.value) <= parseFloat(slider.shadowRoot.querySelector('.is-first').value)) {\n slider.shadowRoot.querySelector('.is-first').value = input.value;\n slider.querySelector('.is-first').value = input.value;\n slider.style.setProperty('--start-percent', percent + '%');\n }\n }\n else if (input.classList.contains('is-first') && !input.classList.contains('is-last')) {\n const percent = (value / (max - min)) * 100;\n slider.style.setProperty('--start-percent', percent + '%');\n if (parseFloat(input.value) >= parseFloat(slider.shadowRoot.querySelector('.is-last').value)) {\n slider.shadowRoot.querySelector('.is-last').value = input.value;\n slider.querySelector('.is-last').value = input.value;\n slider.style.setProperty('--percent', percent + '%');\n }\n }\n else {\n const percent = ((value / (max - min)) * 100).toFixed(2);\n slider.style.setProperty('--percent', percent + '%');\n }\n };\n // Create sliders\n Array.from(inputs).forEach((input, index) => {\n const rangeInput = input.cloneNode(true);\n input.setAttribute('type', 'number');\n rangeInput.setAttribute('type', 'range');\n if (index == 0) {\n input.classList.add('is-first');\n rangeInput.classList.add('is-first');\n minElement.innerHTML = input.getAttribute('min');\n maxElement.innerHTML = input.getAttribute('max');\n slidersHolder.appendChild(rangeInput);\n }\n if (index == inputs.length - 1) {\n input.classList.add('is-last');\n rangeInput.classList.add('is-last');\n slidersHolder.appendChild(rangeInput);\n }\n if (index > 1) {\n input.remove();\n }\n });\n inputs = this.querySelectorAll('input');\n inputWrapper.setAttribute('data-elements', inputs.length);\n const sliders = this.shadowRoot.querySelectorAll('input');\n Array.from(inputs).forEach((input, index) => {\n input.addEventListener('keyup', function (event) {\n sliders[index].value = input.value;\n stepperFunction(sliders[index]);\n });\n input.addEventListener('keydown', function (event) {\n sliders[index].value = input.value;\n stepperFunction(sliders[index]);\n });\n input.addEventListener('change', function (event) {\n sliders[index].value = input.value;\n stepperFunction(sliders[index]);\n });\n });\n Array.from(sliders).forEach((input, index) => {\n stepperFunction(input, 'start');\n input.addEventListener(stepperStart, function (event) {\n clearInterval(stepperInterval);\n stepperInterval = setInterval(function () {\n stepperFunction(input, 'drag');\n inputs[index].value = input.value;\n }, 10);\n });\n input.addEventListener(stepperEvent, function (event) {\n clearInterval(stepperInterval);\n });\n input.addEventListener('change', function (event) {\n clearInterval(stepperInterval);\n stepperFunction(input, 'click');\n inputs[index].value = input.value;\n });\n });\n // Move focus to slider when clicking on label\n label.addEventListener('click', function (event) {\n event.preventDefault();\n if (this === event.target) {\n /* click was on label */\n slider.shadowRoot.querySelector('input').focus();\n }\n else {\n /* click was on input */\n event.stopPropagation();\n return false;\n }\n });\n } // Connected callback\n}\nexport default iamSlider;\n"],"names":["iamSlider","assetLocation","coreCSS","template","slider","minElement","maxElement","slidersHolder","inputs","inputWrapper","label","stepperInterval","stepperEvent","stepperStart","stepperFunction","input","eventType","value","min","max","percent","index","rangeInput","sliders","event"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slider.component.min.js","sources":["slider.component.js"],"sourcesContent":["// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Slider',\n});\nclass iamSlider extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const coreCSS = document.body.hasAttribute('data-core-css')\n ? document.body.getAttribute('data-core-css')\n : `${assetLocation}/css/core.min.css`;\n const loadCSS = `@import \"${assetLocation}/css/components/slider.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n ${loadCSS}\n </style>\n <div class=\"row\">\n <div class=\"col min pe-2\"></div>\n <div class=\"col sliders\">\n \n </div>\n <div class=\"col max ps-2\"></div>\n </div>\n <div class=\"input__wrapper\"><slot></slot><span>Minimum</span><span>Maximum</span></div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const slider = this;\n const minElement = this.shadowRoot.querySelector('.min');\n const maxElement = this.shadowRoot.querySelector('.max');\n const slidersHolder = this.shadowRoot.querySelector('.sliders');\n let inputs = this.querySelectorAll('input');\n const inputWrapper = this.shadowRoot.querySelector('.input__wrapper');\n const label = this.closest('label');\n let stepperInterval, stepperEvent = 'mouseup', stepperStart = 'mousedown';\n if ('ontouchstart' in document.documentElement) {\n stepperEvent = 'touchend';\n stepperStart = 'touchstart';\n }\n const stepperFunction = function (input) {\n const value = input.value;\n const min = slider.shadowRoot.querySelector('.is-first').getAttribute('min');\n const max = slider.shadowRoot.querySelector('.is-last').getAttribute('max');\n if (input.classList.contains('is-last') && !input.classList.contains('is-first')) {\n const percent = (value / (max - min)) * 100;\n slider.style.setProperty('--percent', percent + '%');\n if (parseFloat(input.value) <= parseFloat(slider.shadowRoot.querySelector('.is-first').value)) {\n slider.shadowRoot.querySelector('.is-first').value = input.value;\n slider.querySelector('.is-first').value = input.value;\n slider.style.setProperty('--start-percent', percent + '%');\n }\n }\n else if (input.classList.contains('is-first') && !input.classList.contains('is-last')) {\n const percent = (value / (max - min)) * 100;\n slider.style.setProperty('--start-percent', percent + '%');\n if (parseFloat(input.value) >= parseFloat(slider.shadowRoot.querySelector('.is-last').value)) {\n slider.shadowRoot.querySelector('.is-last').value = input.value;\n slider.querySelector('.is-last').value = input.value;\n slider.style.setProperty('--percent', percent + '%');\n }\n }\n else {\n const percent = ((value / (max - min)) * 100).toFixed(2);\n slider.style.setProperty('--percent', percent + '%');\n }\n };\n // Create sliders\n Array.from(inputs).forEach((input, index) => {\n const rangeInput = input.cloneNode(true);\n input.setAttribute('type', 'number');\n rangeInput.setAttribute('type', 'range');\n if (index == 0) {\n input.classList.add('is-first');\n rangeInput.classList.add('is-first');\n minElement.innerHTML = input.getAttribute('min');\n maxElement.innerHTML = input.getAttribute('max');\n slidersHolder.appendChild(rangeInput);\n }\n if (index == inputs.length - 1) {\n input.classList.add('is-last');\n rangeInput.classList.add('is-last');\n slidersHolder.appendChild(rangeInput);\n }\n if (index > 1) {\n input.remove();\n }\n });\n inputs = this.querySelectorAll('input');\n inputWrapper.setAttribute('data-elements', inputs.length);\n const sliders = this.shadowRoot.querySelectorAll('input');\n Array.from(inputs).forEach((input, index) => {\n input.addEventListener('keyup', function () {\n sliders[index].value = input.value;\n stepperFunction(sliders[index]);\n });\n input.addEventListener('keydown', function () {\n sliders[index].value = input.value;\n stepperFunction(sliders[index]);\n });\n input.addEventListener('change', function () {\n sliders[index].value = input.value;\n stepperFunction(sliders[index]);\n });\n });\n Array.from(sliders).forEach((input, index) => {\n stepperFunction(input, 'start');\n input.addEventListener(stepperStart, function () {\n clearInterval(stepperInterval);\n stepperInterval = setInterval(function () {\n stepperFunction(input, 'drag');\n inputs[index].value = input.value;\n }, 10);\n });\n input.addEventListener(stepperEvent, function () {\n clearInterval(stepperInterval);\n });\n input.addEventListener('change', function () {\n clearInterval(stepperInterval);\n stepperFunction(input, 'click');\n inputs[index].value = input.value;\n });\n });\n // Move focus to slider when clicking on label\n label.addEventListener('click', function (event) {\n event.preventDefault();\n if (this === event.target) {\n /* click was on label */\n slider.shadowRoot.querySelector('input').focus();\n }\n else {\n /* click was on input */\n event.stopPropagation();\n return false;\n }\n });\n } // Connected callback\n}\nexport default iamSlider;\n"],"names":["iamSlider","assetLocation","coreCSS","template","slider","minElement","maxElement","slidersHolder","inputs","inputWrapper","label","stepperInterval","stepperEvent","stepperStart","stepperFunction","input","value","min","max","percent","index","rangeInput","sliders","event"],"mappings":"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"}
|
|
@@ -1,42 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
class iamTable extends HTMLElement {
|
|
1
|
+
import { moveAttributesToComponents, findForm, setupBasicTable, setupAdvancedTable, paginateRows, setupNoSubmitTable, setupSubmitTable, setupAjaxTable, loadAjaxTable, paginateTable, } from '../../modules/table.js';
|
|
2
|
+
class iamTableBasic extends HTMLElement {
|
|
4
3
|
constructor() {
|
|
5
4
|
super();
|
|
6
5
|
this.attachShadow({ mode: 'open' });
|
|
7
6
|
const assetLocation = document.body.hasAttribute('data-assets-location')
|
|
8
7
|
? document.body.getAttribute('data-assets-location')
|
|
9
8
|
: '/assets';
|
|
10
|
-
const
|
|
11
|
-
? document.body.getAttribute('data-core-css')
|
|
12
|
-
: `${assetLocation}/css/core.min.css`;
|
|
13
|
-
const loadCSS = `@import "${assetLocation}/css/components/table.css";`;
|
|
9
|
+
const loadCSS = `@import "${assetLocation}/css/components/table.component.css";`;
|
|
14
10
|
const loadExtraCSS = `@import "${assetLocation}/css/components/table.global.css";`;
|
|
15
11
|
const template = document.createElement('template');
|
|
16
12
|
template.innerHTML = `
|
|
17
13
|
<style>
|
|
18
|
-
@import "${coreCSS}";
|
|
19
14
|
${loadCSS}
|
|
20
15
|
|
|
21
|
-
:host(.mh-sm){
|
|
22
|
-
max-height: none!important;
|
|
23
|
-
}
|
|
24
|
-
:host(.mh-md){
|
|
25
|
-
max-height: none!important;
|
|
26
|
-
}
|
|
27
|
-
:host(.mh-lg){
|
|
28
|
-
max-height: none!important;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
16
|
${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
|
|
32
17
|
</style>
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
18
|
+
<div class="table__container">
|
|
19
|
+
<slot name="before"></slot>
|
|
20
|
+
<div class="table--cta">
|
|
21
|
+
<div class="table__wrapper">
|
|
22
|
+
<slot></slot>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
<iam-pagination part="pagination" class="pagination--table" ></iam-pagination>
|
|
37
26
|
</div>
|
|
38
|
-
</div>
|
|
39
|
-
<iam-pagination part="pagination" class="pagination--table" ${this.hasAttribute('data-page') ? `data-page="${this.getAttribute('data-page')}"` : ''} ></iam-pagination>
|
|
40
27
|
`;
|
|
41
28
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
42
29
|
// insert extra CSS
|
|
@@ -45,187 +32,36 @@ class iamTable extends HTMLElement {
|
|
|
45
32
|
}
|
|
46
33
|
}
|
|
47
34
|
connectedCallback() {
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
this
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
this.setAttribute('data-increment', this.getAttribute('data-show'));
|
|
61
|
-
}
|
|
62
|
-
// Update table__wrapper class
|
|
63
|
-
let classList = this.classList.toString();
|
|
64
|
-
classList = classList.replace('table--cta', '');
|
|
65
|
-
classList = classList.replace('table--loading', '');
|
|
66
|
-
//classList = classList.replace('mh-md','');
|
|
67
|
-
this.shadowRoot.querySelector('.table__wrapper').className += ` ${classList}`;
|
|
68
|
-
// set actionbar class if needed
|
|
69
|
-
if (this.querySelector('.actionbar__sticky')) {
|
|
70
|
-
this.shadowRoot.querySelector('.table__wrapper').classList.add('has-actionbar');
|
|
71
|
-
}
|
|
72
|
-
this.table = this.querySelector('table');
|
|
73
|
-
this.savedTableBody = this.table.querySelector('tbody').cloneNode(true);
|
|
74
|
-
this.pagination = this.shadowRoot.querySelector('iam-pagination');
|
|
75
|
-
this.pagination.setAttribute('data-total', this.getAttribute('data-total'));
|
|
76
|
-
this.pagination.setAttribute('data-page', this.getAttribute('data-page'));
|
|
77
|
-
this.pagination.setAttribute('data-show', this.getAttribute('data-show'));
|
|
78
|
-
this.pagination.setAttribute('data-increment', this.getAttribute('data-show'));
|
|
79
|
-
if (this.hasAttribute('data-page-jump')) {
|
|
80
|
-
this.pagination.setAttribute('data-page-jump', 'true');
|
|
81
|
-
}
|
|
82
|
-
if (this.hasAttribute('data-per-page')) {
|
|
83
|
-
this.pagination.setAttribute('data-per-page', 'true');
|
|
84
|
-
}
|
|
85
|
-
if (this.hasAttribute('data-item-count')) {
|
|
86
|
-
this.pagination.setAttribute('data-item-count', 'true');
|
|
87
|
-
}
|
|
88
|
-
if (this.hasAttribute('data-loading')) {
|
|
89
|
-
this.pagination.setAttribute('data-loading', 'true');
|
|
90
|
-
}
|
|
91
|
-
if (this.classList.contains('table--fullwidth')) {
|
|
92
|
-
this.pagination.setAttribute('data-minimal', 'true');
|
|
93
|
-
}
|
|
94
|
-
// Remove table CTA
|
|
95
|
-
const isCTA = this.classList.contains('table--cta');
|
|
96
|
-
if (!isCTA)
|
|
97
|
-
this.shadowRoot.querySelector('.table--cta').classList.remove('table--cta');
|
|
98
|
-
// Set events on the filter table
|
|
99
|
-
this.form = document.createElement('form');
|
|
100
|
-
if (this.hasAttribute('data-filterby')) {
|
|
101
|
-
this.form = document.querySelector(`#${this.getAttribute('data-filterby')}`);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
this.table.parentNode.insertBefore(this.form, this.table.nextSibling);
|
|
105
|
-
}
|
|
106
|
-
// Set ajax class
|
|
107
|
-
if (this.form.hasAttribute('data-ajax')) {
|
|
108
|
-
this.table.classList.add('table--ajax');
|
|
109
|
-
}
|
|
110
|
-
// Create a data list if a search input is present
|
|
111
|
-
tableModule.createSearchDataList(this.table, this.form);
|
|
112
|
-
if (!this.form.querySelector('[data-pagination]')) {
|
|
113
|
-
this.form.insertAdjacentHTML('beforeend', `<input name="page" type="hidden" value="${this.getAttribute('data-page')}" data-pagination="true" />`);
|
|
35
|
+
const pagination = this.shadowRoot.querySelector('iam-pagination');
|
|
36
|
+
const table = this.querySelector('table');
|
|
37
|
+
const form = findForm(this, table);
|
|
38
|
+
const savedTableBody = table.querySelector('tbody').cloneNode(true);
|
|
39
|
+
moveAttributesToComponents(this);
|
|
40
|
+
setupBasicTable(this, table, form, pagination);
|
|
41
|
+
setupAdvancedTable(this, table, form, pagination);
|
|
42
|
+
if (this.hasAttribute('data-submit')) {
|
|
43
|
+
setupSubmitTable(this, table, form, pagination);
|
|
44
|
+
paginateTable(this, table, form, pagination, () => {
|
|
45
|
+
form.submit();
|
|
46
|
+
});
|
|
114
47
|
}
|
|
115
|
-
if (
|
|
116
|
-
this
|
|
48
|
+
else if (this.hasAttribute('data-no-submit')) {
|
|
49
|
+
setupNoSubmitTable(this, table, form, pagination, savedTableBody);
|
|
50
|
+
paginateTable(this, table, form, pagination, () => {
|
|
51
|
+
paginateRows(this);
|
|
52
|
+
});
|
|
117
53
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
if (this.form.getAttribute('data-ajax')) {
|
|
124
|
-
tableModule.loadAjaxTable(this.table, this.form, this.pagination, this);
|
|
54
|
+
else if (this.hasAttribute('data-ajax')) {
|
|
55
|
+
setupAjaxTable(this, table, form, pagination);
|
|
56
|
+
paginateTable(this, table, form, pagination, () => {
|
|
57
|
+
loadAjaxTable(this, table, form, pagination);
|
|
58
|
+
});
|
|
125
59
|
}
|
|
126
60
|
else {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return ID;
|
|
130
|
-
}
|
|
131
|
-
// Add in the checkboxes
|
|
132
|
-
if (this.querySelector('iam-actionbar[data-selectall]') ||
|
|
133
|
-
document.querySelector(`iam-actionbar[data-for='${this.getAttribute('id')}']`)) {
|
|
134
|
-
const actionbar = this.querySelector('iam-actionbar[data-selectall]')
|
|
135
|
-
? this.querySelector('iam-actionbar[data-selectall]')
|
|
136
|
-
: document.querySelector(`iam-actionbar[data-for='${this.getAttribute('id')}']`);
|
|
137
|
-
Array.from(this.table.querySelectorAll('thead tr')).forEach((row, index) => {
|
|
138
|
-
row.insertAdjacentHTML('afterbegin', `<th class="th--fixed"></th>`);
|
|
139
|
-
});
|
|
140
|
-
Array.from(this.table.querySelectorAll('tbody tr')).forEach((row, index) => {
|
|
141
|
-
if (!row.querySelector('.selectrow')) {
|
|
142
|
-
const rowID = `row${uniqueID(index)}`;
|
|
143
|
-
row.insertAdjacentHTML('afterbegin', `<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${rowID}" ${row.hasAttribute('data-selected') ? `checked="true"` : ''}/><label for="${rowID}"><span class="visually-hidden">Select row</span></label></td>`);
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
this.table.addEventListener('change', (event) => {
|
|
147
|
-
if (event && event.target instanceof HTMLElement && event.target.closest('.selectrow input')) {
|
|
148
|
-
const count = this.table.querySelectorAll('.selectrow input[type="checkbox"]').length;
|
|
149
|
-
const countChecked = this.table.querySelectorAll('.selectrow input[type="checkbox"]:checked').length;
|
|
150
|
-
actionbar.setAttribute('data-selected', count == countChecked ? 'all' : countChecked);
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
actionbar.addEventListener('selected', (event) => {
|
|
154
|
-
if (event.detail.selected == '0') {
|
|
155
|
-
Array.from(this.table.querySelectorAll('.selectrow input[type="checkbox"]')).forEach((input, index) => {
|
|
156
|
-
input.checked = false;
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
else if (event.detail.selected == 'all') {
|
|
160
|
-
Array.from(this.table.querySelectorAll('.selectrow input[type="checkbox"]')).forEach((input, index) => {
|
|
161
|
-
input.checked = true;
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
// Make the dialog menus columns fixed
|
|
167
|
-
let colIndex = -1;
|
|
168
|
-
Array.from(this.table.querySelectorAll('tbody tr')).forEach((row, index) => {
|
|
169
|
-
if (row.querySelector(':scope > td > .dialog__wrapper')) {
|
|
170
|
-
const columnn = row.querySelector(':scope > td > .dialog__wrapper').parentNode;
|
|
171
|
-
columnn.classList.add('td--fixed');
|
|
172
|
-
colIndex = Array.from(columnn.parentNode.children).indexOf(columnn);
|
|
173
|
-
}
|
|
61
|
+
paginateTable(this, table, form, pagination, () => {
|
|
62
|
+
paginateRows(this);
|
|
174
63
|
});
|
|
175
|
-
if (colIndex != -1) {
|
|
176
|
-
this.table.querySelector(`thead tr th:nth-child(${colIndex + 1})`).classList.add('th--fixed');
|
|
177
|
-
Array.from(this.table.querySelectorAll(`tbody tr td:nth-child(${colIndex + 1})`)).forEach((col, index) => {
|
|
178
|
-
col.classList.add('td--fixed');
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
tableModule.makeTableFunctional(this.table, this.form, this.pagination, this);
|
|
182
|
-
if (!this.hasAttribute('data-no-submit'))
|
|
183
|
-
tableModule.filterTable(this.table, this.form, this);
|
|
184
|
-
tableModule.populateDataQueries(this.table, this.form);
|
|
185
|
-
}
|
|
186
|
-
this.shadowRoot.querySelector('.table__wrapper').addEventListener('scroll', (event) => {
|
|
187
|
-
if (this.table.querySelector('dialog[open]')) {
|
|
188
|
-
this.table.querySelector('dialog[open]').close();
|
|
189
|
-
this.table.querySelector('.dialog__wrapper > button.active').classList.remove('active');
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
// Push up the pagination events
|
|
193
|
-
this.pagination.addEventListener('update-show', (event) => {
|
|
194
|
-
const show = event.detail.show;
|
|
195
|
-
const updateEvent = new CustomEvent('update-show', { detail: { show: show } });
|
|
196
|
-
this.dispatchEvent(updateEvent);
|
|
197
|
-
});
|
|
198
|
-
this.pagination.addEventListener('update-page', (event) => {
|
|
199
|
-
const page = event.detail.page;
|
|
200
|
-
const updateEvent = new CustomEvent('update-page', { detail: { page: page } });
|
|
201
|
-
this.dispatchEvent(updateEvent);
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
static get observedAttributes() {
|
|
205
|
-
return ['data-total', 'data-page', 'data-show'];
|
|
206
|
-
}
|
|
207
|
-
attributeChangedCallback(attrName, oldVal, newVal) {
|
|
208
|
-
this.pagination = this.shadowRoot.querySelector('iam-pagination');
|
|
209
|
-
switch (attrName) {
|
|
210
|
-
case 'data-total': {
|
|
211
|
-
if (oldVal != newVal) {
|
|
212
|
-
this.pagination.setAttribute('data-total', newVal);
|
|
213
|
-
}
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
216
|
-
case 'data-show': {
|
|
217
|
-
if (oldVal != newVal) {
|
|
218
|
-
this.pagination.setAttribute('data-show', newVal);
|
|
219
|
-
}
|
|
220
|
-
break;
|
|
221
|
-
}
|
|
222
|
-
case 'data-page': {
|
|
223
|
-
if (oldVal != newVal) {
|
|
224
|
-
this.pagination.setAttribute('data-page', newVal);
|
|
225
|
-
}
|
|
226
|
-
break;
|
|
227
|
-
}
|
|
228
64
|
}
|
|
229
65
|
}
|
|
230
66
|
}
|
|
231
|
-
export default
|
|
67
|
+
export default iamTableBasic;
|