@iamproperty/components 7.0.0 → 7.1.0--beta2
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.css.map +1 -1
- package/assets/css/components/actionbar.global.css.map +1 -1
- package/assets/css/components/address-lookup.css.map +1 -1
- package/assets/css/components/applied-filters.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/card.component.css +1 -1
- package/assets/css/components/card.component.css.map +1 -1
- package/assets/css/components/card.module.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.map +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.map +1 -1
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/filter-card.component.css.map +1 -1
- package/assets/css/components/header.css.map +1 -1
- package/assets/css/components/inline-edit.css.map +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/multi-step.component.css.map +1 -1
- package/assets/css/components/multiselect.css +1 -1
- package/assets/css/components/multiselect.css.map +1 -1
- package/assets/css/components/multiselect.preload.css.map +1 -1
- package/assets/css/components/nav.css +1 -1
- package/assets/css/components/nav.css.map +1 -1
- package/assets/css/components/nav.docs.css.map +1 -1
- package/assets/css/components/nav.global.css +1 -1
- package/assets/css/components/nav.global.css.map +1 -1
- package/assets/css/components/nav.old.css +1 -1
- package/assets/css/components/nav.old.css.map +1 -1
- package/assets/css/components/nav.preload.css.map +1 -1
- package/assets/css/components/notification.css.map +1 -1
- package/assets/css/components/notification.global.css.map +1 -1
- package/assets/css/components/pagination.css.map +1 -1
- package/assets/css/components/property-searchbar.css +1 -1
- package/assets/css/components/property-searchbar.css.map +1 -1
- package/assets/css/components/record-card.component.css.map +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 +1 -1
- package/assets/css/components/table.css.map +1 -1
- package/assets/css/components/table.global.css +1 -1
- package/assets/css/components/table.global.css.map +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 +1 -1
- package/assets/css/components/timeline.css.map +1 -1
- package/assets/css/components/video-card.component.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/_global.js +8 -8
- package/assets/js/components/accordion/accordion.component.js +13 -10
- package/assets/js/components/accordion/accordion.component.min.js +4 -4
- package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +97 -83
- package/assets/js/components/actionbar/actionbar.component.min.js +5 -5
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.js +30 -26
- package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.js +10 -6
- package/assets/js/components/applied-filters/applied-filters.component.min.js +3 -3
- package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
- package/assets/js/components/barchart/barchart.component.js +8 -7
- package/assets/js/components/barchart/barchart.component.min.js +4 -4
- package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
- package/assets/js/components/card/card.component.js +27 -12
- package/assets/js/components/card/card.component.min.js +3 -3
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/carousel/carousel.component.js +18 -12
- 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 +9 -8
- package/assets/js/components/collapsible-side/collapsible-side.component.js +20 -8
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
- package/assets/js/components/fileupload/fileupload.component.js +11 -7
- package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
- package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
- package/assets/js/components/filter-card/filter-card.component.js +19 -9
- package/assets/js/components/filter-card/filter-card.component.min.js +2 -2
- package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
- package/assets/js/components/filterlist/filterlist.component.js +10 -6
- 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 +8 -4
- 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 +43 -23
- 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 +11 -5
- 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/multi-step/multi-step.component.js +22 -19
- package/assets/js/components/multiselect/multiselect.component.js +62 -45
- package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
- package/assets/js/components/nav/nav.component.js +57 -38
- package/assets/js/components/nav/nav.component.min.js +5 -5
- package/assets/js/components/nav/nav.component.min.js.map +1 -1
- package/assets/js/components/notification/notification.component.js +9 -5
- package/assets/js/components/notification/notification.component.min.js +5 -5
- package/assets/js/components/notification/notification.component.min.js.map +1 -1
- package/assets/js/components/pagination/pagination.component.js +18 -14
- package/assets/js/components/pagination/pagination.component.min.js +2 -2
- package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
- package/assets/js/components/record-card/record-card.component.js +10 -8
- package/assets/js/components/record-card/record-card.component.min.js +2 -2
- package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
- package/assets/js/components/search/search.component.js +22 -17
- package/assets/js/components/search/search.component.min.js +4 -4
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/slider/slider.component.js +25 -21
- package/assets/js/components/slider/slider.component.min.js +3 -3
- package/assets/js/components/slider/slider.component.min.js.map +1 -1
- package/assets/js/components/table/table.component.js +30 -24
- 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 +10 -6
- package/assets/js/components/tabs/tabs.component.min.js +3 -3
- package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
- package/assets/js/components/video-card/video-card.component.js +45 -33
- 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/components.bundle.js +1 -1
- package/assets/js/components.bundle.js.map +1 -1
- package/assets/js/components.js +35 -8
- package/assets/js/modules/applied-filters.js +20 -20
- package/assets/js/modules/carousel.js +65 -60
- package/assets/js/modules/chart.js +184 -134
- package/assets/js/modules/chart.module.js +74 -63
- package/assets/js/modules/data-layer.js +17 -17
- package/assets/js/modules/dialogs.js +47 -38
- package/assets/js/modules/drawer.js +1 -1
- package/assets/js/modules/dynamicEvents.js +24 -24
- package/assets/js/modules/file-upload.js +8 -9
- package/assets/js/modules/fileupload.js +5 -5
- package/assets/js/modules/filterlist.js +4 -4
- package/assets/js/modules/form.js +22 -18
- package/assets/js/modules/helpers.js +54 -44
- package/assets/js/modules/inputs.js +25 -21
- package/assets/js/modules/nav.js +3 -1
- package/assets/js/modules/notification.js +6 -6
- package/assets/js/modules/orderablelist.js +12 -12
- package/assets/js/modules/pagination.js +5 -5
- package/assets/js/modules/table.js +242 -181
- package/assets/js/modules/tabs.js +71 -60
- package/assets/js/modules/testimonial.js +11 -12
- package/assets/js/scripts.bundle.js +1 -1
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +1 -1
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/js/scripts.js +1 -1
- package/assets/js/tests/chart.spec.js +5 -5
- package/assets/js/tests/filterlist.spec.js +2 -2
- package/assets/js/tests/slider.spec.js +2 -2
- package/assets/js/tests/table.spec.js +2 -2
- package/assets/js/vendor/hibp.js +4 -4
- package/assets/sass/_components.scss +28 -40
- package/assets/sass/_corefiles.scss +22 -29
- package/assets/sass/_elements.scss +19 -19
- package/assets/sass/_fonts.scss +10 -7
- package/assets/sass/_func.scss +14 -14
- package/assets/sass/_functions/functions.scss +115 -90
- package/assets/sass/_functions/mixins.scss +72 -112
- package/assets/sass/_functions/utilities.scss +447 -393
- package/assets/sass/_functions/variables.scss +1357 -1371
- package/assets/sass/_print.scss +18 -16
- package/assets/sass/_tests/colours.spec.scss +15 -14
- package/assets/sass/_tests/func.spec.scss +1 -2
- package/assets/sass/_tests/mixins.spec.scss +9 -14
- package/assets/sass/_tests/typography.spec.scss +1 -2
- package/assets/sass/_utilities.scss +8 -12
- package/assets/sass/components/actionbar.global.scss +45 -64
- package/assets/sass/components/actionbar.scss +58 -84
- package/assets/sass/components/address-lookup.scss +9 -11
- package/assets/sass/components/applied-filters.scss +3 -7
- package/assets/sass/components/barchart.component.scss +68 -99
- package/assets/sass/components/card.component.scss +35 -50
- package/assets/sass/components/card.module.scss +34 -37
- package/assets/sass/components/carousel.component.scss +198 -177
- package/assets/sass/components/carousel.config.scss +13 -19
- package/assets/sass/components/charts.config.scss +16 -23
- package/assets/sass/components/charts.module.scss +139 -178
- package/assets/sass/components/charts.scss +173 -232
- package/assets/sass/components/collapsible-side.scss +65 -98
- package/assets/sass/components/fileupload.scss +17 -23
- package/assets/sass/components/filter-card.component.scss +21 -28
- package/assets/sass/components/header.scss +24 -37
- package/assets/sass/components/inline-edit.preload.scss +24 -45
- package/assets/sass/components/inline-edit.scss +4 -5
- package/assets/sass/components/marketing.scss +19 -14
- package/assets/sass/components/multi-step.component.scss +36 -42
- package/assets/sass/components/multiselect.preload.scss +9 -12
- package/assets/sass/components/multiselect.scss +20 -24
- package/assets/sass/components/nav.docs.scss +7 -15
- package/assets/sass/components/nav.global.scss +123 -177
- package/assets/sass/components/nav.old.scss +64 -135
- package/assets/sass/components/nav.preload.scss +11 -12
- package/assets/sass/components/nav.scss +126 -173
- package/assets/sass/components/notification.global.scss +2 -3
- package/assets/sass/components/notification.scss +17 -32
- package/assets/sass/components/pagination.scss +32 -44
- package/assets/sass/components/property-searchbar.scss +2 -6
- package/assets/sass/components/record-card.component.scss +42 -55
- package/assets/sass/components/slider.scss +38 -35
- package/assets/sass/components/snapshot.scss +4 -10
- package/assets/sass/components/stepper.scss +14 -22
- package/assets/sass/components/table.global.scss +130 -171
- package/assets/sass/components/table.scss +17 -27
- package/assets/sass/components/tabs.scss +23 -32
- package/assets/sass/components/testimonial.scss +6 -14
- package/assets/sass/components/timeline.scss +8 -12
- package/assets/sass/components/video-card.component.scss +9 -14
- package/assets/sass/components.reset.scss +5 -5
- package/assets/sass/core.scss +3 -3
- package/assets/sass/elements/admin-panel.scss +41 -45
- package/assets/sass/elements/badge-tag.scss +16 -26
- package/assets/sass/elements/brand.scss +13 -16
- package/assets/sass/elements/buttons.scss +80 -106
- package/assets/sass/elements/container.scss +24 -133
- package/assets/sass/elements/details.scss +30 -50
- package/assets/sass/elements/dialog.scss +4 -6
- package/assets/sass/elements/forms.scss +421 -437
- package/assets/sass/elements/icons.scss +3 -4
- package/assets/sass/elements/links.scss +17 -25
- package/assets/sass/elements/lists.scss +30 -47
- package/assets/sass/elements/media.scss +1 -4
- package/assets/sass/elements/modal.scss +54 -80
- package/assets/sass/elements/popover.scss +28 -45
- package/assets/sass/elements/progress.scss +30 -40
- package/assets/sass/elements/table.element.scss +10 -15
- package/assets/sass/elements/tooltips.scss +27 -49
- package/assets/sass/elements/type.scss +47 -53
- package/assets/sass/email.scss +7 -9
- package/assets/sass/error.scss +23 -20
- package/assets/sass/foundations/bs_grid.scss +0 -1
- package/assets/sass/foundations/grid.scss +120 -122
- package/assets/sass/foundations/reboot.scss +27 -35
- package/assets/sass/foundations/root.scss +21 -31
- package/assets/sass/helpers/dynamic.scss +5 -5
- package/assets/sass/helpers/line-clamp.scss +1 -2
- package/assets/sass/helpers/max-height.scss +28 -36
- package/assets/sass/helpers/wider-colours.scss +2 -5
- package/assets/sass/main.scss +4 -4
- package/assets/sass/templates/auth.scss +11 -18
- package/assets/sass/templates/form.scss +16 -29
- package/assets/ts/components/_global.ts +14 -17
- package/assets/ts/components/accordion/accordion.component.ts +23 -19
- package/assets/ts/components/actionbar/README.md +8 -7
- package/assets/ts/components/actionbar/actionbar.component.ts +170 -220
- package/assets/ts/components/address-lookup/address-lookup.component.ts +94 -130
- package/assets/ts/components/applied-filters/README.md +1 -1
- package/assets/ts/components/applied-filters/applied-filters.component.ts +16 -15
- package/assets/ts/components/barchart/barchart.component.ts +29 -26
- package/assets/ts/components/card/card.component.ts +56 -57
- package/assets/ts/components/carousel/README.md +8 -9
- package/assets/ts/components/carousel/carousel.component.ts +30 -33
- package/assets/ts/components/chart/README.md +1 -3
- package/assets/ts/components/chart/chart.component.ts +24 -36
- package/assets/ts/components/collapsible-side/README.md +1 -1
- package/assets/ts/components/collapsible-side/collapsible-side.component.ts +44 -57
- package/assets/ts/components/fileupload/README.md +3 -3
- package/assets/ts/components/fileupload/fileupload.component.ts +23 -28
- package/assets/ts/components/filter-card/filter-card.component.ts +32 -33
- package/assets/ts/components/filterlist/README.md +3 -3
- package/assets/ts/components/filterlist/filterlist.component.ts +18 -16
- package/assets/ts/components/header/README.md +8 -9
- package/assets/ts/components/header/header.component.ts +15 -16
- package/assets/ts/components/inline-edit/README.md +1 -0
- package/assets/ts/components/inline-edit/inline-edit.component.ts +71 -71
- package/assets/ts/components/marketing/marketing.component.ts +17 -16
- package/assets/ts/components/multi-step/multi-step.component.ts +114 -156
- package/assets/ts/components/multiselect/README.md +5 -5
- package/assets/ts/components/multiselect/multiselect.component.ts +116 -133
- package/assets/ts/components/nav/README.md +13 -13
- package/assets/ts/components/nav/nav.component.ts +171 -167
- package/assets/ts/components/notification/README.md +9 -9
- package/assets/ts/components/notification/notification.component.ts +33 -32
- package/assets/ts/components/pagination/README.md +12 -12
- package/assets/ts/components/pagination/pagination.component.ts +51 -69
- package/assets/ts/components/record-card/record-card.component.ts +24 -34
- package/assets/ts/components/search/README.md +6 -7
- package/assets/ts/components/search/search.component.ts +75 -91
- package/assets/ts/components/slider/slider.component.ts +62 -77
- package/assets/ts/components/table/README.md +8 -8
- package/assets/ts/components/table/table.component.ts +97 -134
- package/assets/ts/components/tabs/README.md +4 -4
- package/assets/ts/components/tabs/tabs.component.ts +16 -14
- package/assets/ts/components/video-card/video-card.component.ts +89 -93
- package/assets/ts/components.ts +44 -20
- package/assets/ts/html.d.ts +1 -7
- package/assets/ts/modules/applied-filters.ts +104 -135
- package/assets/ts/modules/card.module.ts +13 -18
- package/assets/ts/modules/carousel.ts +194 -195
- package/assets/ts/modules/chart.module.ts +201 -246
- package/assets/ts/modules/chart.ts +454 -472
- package/assets/ts/modules/data-layer.md +35 -31
- package/assets/ts/modules/data-layer.ts +18 -18
- package/assets/ts/modules/dialogs.ts +113 -117
- package/assets/ts/modules/drawer.ts +7 -9
- package/assets/ts/modules/dynamicEvents.ts +67 -100
- package/assets/ts/modules/file-upload.ts +43 -40
- package/assets/ts/modules/fileupload.ts +38 -60
- package/assets/ts/modules/filterlist.ts +14 -20
- package/assets/ts/modules/form.ts +126 -128
- package/assets/ts/modules/helpers.ts +114 -120
- package/assets/ts/modules/inputs.ts +88 -120
- package/assets/ts/modules/nav.ts +19 -18
- package/assets/ts/modules/notification.ts +28 -32
- package/assets/ts/modules/orderablelist.ts +90 -82
- package/assets/ts/modules/pagination.ts +14 -19
- package/assets/ts/modules/table.ts +516 -599
- package/assets/ts/modules/tabs.ts +120 -145
- package/assets/ts/modules/testimonial.ts +59 -64
- package/assets/ts/scripts.ts +7 -9
- package/assets/ts/tests/chart.spec.ts +11 -20
- package/assets/ts/tests/data-layer.spec.js +3 -4
- package/assets/ts/tests/filterlist.spec.ts +3 -6
- package/assets/ts/tests/slider.spec.ts +9 -15
- package/assets/ts/tests/table.spec.ts +7 -24
- package/assets/ts/vendor/hibp.ts +43 -43
- package/dist/components.es.js +280 -270
- package/dist/components.umd.js +67 -67
- package/dist/style.css +1 -1
- package/package.json +14 -4
- package/src/components/Accordion/Accordion.spec.js +25 -31
- package/src/components/Accordion/Accordion.vue +16 -19
- package/src/components/Accordion/AccordionItem.vue +39 -37
- package/src/components/Accordion/README.md +10 -12
- package/src/components/Actionbar/Actionbar.vue +15 -18
- package/src/components/Actionbar/README.md +8 -7
- package/src/components/AddressLookup/AddressLookup.vue +14 -16
- package/src/components/AppliedFilters/AppliedFilters.vue +14 -16
- package/src/components/Banner/Banner.spec.js +13 -15
- package/src/components/Banner/Banner.vue +19 -19
- package/src/components/Banner/README.md +8 -10
- package/src/components/BarChart/BarChart.vue +14 -16
- package/src/components/Card/Card.vue +13 -16
- package/src/components/Card/README.md +8 -8
- package/src/components/Carousel/Carousel.vue +15 -18
- package/src/components/Carousel/README.md +7 -7
- package/src/components/Chart/Chart.spec.js +64 -87
- package/src/components/Chart/Chart.vue +41 -40
- package/src/components/Chart/README.md +8 -9
- package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +8 -10
- package/src/components/CollapsibleSideMenu/README.md +1 -1
- package/src/components/FileUpload/FileUpload.vue +35 -40
- package/src/components/FileUpload/README.md +3 -3
- package/src/components/FilterCard/FilterCard.vue +14 -16
- package/src/components/Filterlist/Filterlist.vue +7 -9
- package/src/components/Filterlist/README.md +3 -3
- package/src/components/Header/Header.vue +23 -26
- package/src/components/Header/README.md +8 -9
- package/src/components/InlineEdit/InlineEdit.vue +26 -32
- package/src/components/Input/Input.vue +323 -233
- package/src/components/Input/README.md +11 -11
- package/src/components/Marketing/Marketing.vue +24 -27
- package/src/components/Marketing/README.md +7 -7
- package/src/components/MultiStep/MultiStep.vue +13 -15
- package/src/components/Multiselect/Multiselect.vue +14 -17
- package/src/components/Nav/Nav.vue +15 -29
- package/src/components/Nav/README.md +12 -12
- package/src/components/Nav-old/Nav.vue +88 -93
- package/src/components/Nav-old/README.md +11 -12
- package/src/components/NoteFeed/NoteFeed.vue +59 -56
- package/src/components/NoteFeed/README.md +6 -6
- package/src/components/Notification/Notification.vue +11 -15
- package/src/components/Notification/README.md +9 -9
- package/src/components/Pagination/Pagination.vue +14 -24
- package/src/components/Pagination/README.md +12 -12
- package/src/components/PropertySearchbar/PropertySearchbar.vue +191 -160
- package/src/components/PropertySearchbar/README.md +14 -15
- package/src/components/RecordCard/RecordCard.vue +14 -16
- package/src/components/Search/README.md +1 -1
- package/src/components/Search/Search.vue +13 -16
- package/src/components/Slider/Slider.vue +13 -16
- package/src/components/Snapshot/README.md +9 -10
- package/src/components/Snapshot/Snapshot.vue +15 -17
- package/src/components/Stepper/README.md +12 -13
- package/src/components/Stepper/Step.vue +22 -18
- package/src/components/Stepper/Stepper.spec.js +41 -46
- package/src/components/Stepper/Stepper.vue +17 -18
- package/src/components/Table/README.md +12 -11
- package/src/components/Table/Table.spec.js +17 -28
- package/src/components/Table/Table.vue +49 -48
- package/src/components/Tabs/README.md +8 -8
- package/src/components/Tabs/Tab.vue +21 -21
- package/src/components/Tabs/Tabs.vue +14 -17
- package/src/components/Testimonial/README.md +11 -12
- package/src/components/Testimonial/Testimonial.spec.js +22 -26
- package/src/components/Testimonial/Testimonial.vue +31 -25
- package/src/components/Timeline/README.md +3 -3
- package/src/components/Timeline/Timeline.spec.js +9 -11
- package/src/components/Timeline/Timeline.vue +10 -10
- package/src/components/VideoCard/VideoCard.vue +14 -16
- package/src/foundations/Logo/Logo.spec.js +30 -30
- package/src/foundations/Logo/Logo.vue +28 -28
- package/src/foundations/Logo/README.md +5 -4
- package/src/helpers/strings.js +11 -8
- package/src/index.js +27 -28
- package/src/vue-shim.d.ts +4 -4
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
import extendDialogs from "../../modules/dialogs";
|
|
1
|
+
import extendDialogs from '../../modules/dialogs';
|
|
3
2
|
|
|
4
3
|
// Data layer Web component created
|
|
4
|
+
declare global {
|
|
5
|
+
interface Window {
|
|
6
|
+
dataLayer: Array<object>;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
5
9
|
window.dataLayer = window.dataLayer || [];
|
|
6
10
|
window.dataLayer.push({
|
|
7
|
-
|
|
8
|
-
|
|
11
|
+
event: 'customElementRegistered',
|
|
12
|
+
element: 'action bar',
|
|
9
13
|
});
|
|
10
14
|
|
|
11
|
-
function setSelectAllInput(element, value){
|
|
12
|
-
|
|
13
|
-
if(element && value == "all"){
|
|
14
|
-
|
|
15
|
+
function setSelectAllInput(element, value): void {
|
|
16
|
+
if (element && value == 'all') {
|
|
15
17
|
element.querySelector('input').indeterminate = false;
|
|
16
18
|
element.querySelector('input').checked = true;
|
|
17
19
|
element.querySelector('label').textContent = `Select all`;
|
|
18
|
-
}
|
|
19
|
-
else if(element && value == 0){
|
|
20
|
-
|
|
20
|
+
} else if (element && value == 0) {
|
|
21
21
|
element.querySelector('input').indeterminate = false;
|
|
22
22
|
element.querySelector('input').checked = false;
|
|
23
23
|
element.querySelector('label').textContent = `Select all`;
|
|
24
|
-
}
|
|
25
|
-
else if(element && value){
|
|
26
|
-
|
|
24
|
+
} else if (element && value) {
|
|
27
25
|
element.querySelector('input').indeterminate = true;
|
|
28
26
|
element.querySelector('input').checked = false;
|
|
29
27
|
element.querySelector('label').textContent = `${value} item${value > 1 ? 's' : ''} selected`;
|
|
30
|
-
}
|
|
31
|
-
else if(element){
|
|
32
|
-
|
|
28
|
+
} else if (element) {
|
|
33
29
|
element.querySelector('input').checked = false;
|
|
34
30
|
element.querySelector('input').indeterminate = false;
|
|
35
31
|
element.querySelector('label').textContent = `Select all`;
|
|
@@ -37,13 +33,16 @@ function setSelectAllInput(element, value){
|
|
|
37
33
|
}
|
|
38
34
|
|
|
39
35
|
class iamActionbar extends HTMLElement {
|
|
40
|
-
|
|
41
|
-
constructor(){
|
|
36
|
+
constructor() {
|
|
42
37
|
super();
|
|
43
|
-
this.attachShadow({ mode: 'open'});
|
|
44
|
-
|
|
45
|
-
const assetLocation = document.body.hasAttribute('data-assets-location')
|
|
46
|
-
|
|
38
|
+
this.attachShadow({ mode: 'open' });
|
|
39
|
+
|
|
40
|
+
const assetLocation = document.body.hasAttribute('data-assets-location')
|
|
41
|
+
? document.body.getAttribute('data-assets-location')
|
|
42
|
+
: '/assets';
|
|
43
|
+
const coreCSS = document.body.hasAttribute('data-core-css')
|
|
44
|
+
? document.body.getAttribute('data-core-css')
|
|
45
|
+
: `${assetLocation}/css/core.min.css`;
|
|
47
46
|
const loadCSS = `@import "${assetLocation}/css/components/actionbar.css";`;
|
|
48
47
|
const loadExtraCSS = `@import "${assetLocation}/css/components/actionbar.global.css";`;
|
|
49
48
|
|
|
@@ -101,113 +100,91 @@ class iamActionbar extends HTMLElement {
|
|
|
101
100
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
102
101
|
|
|
103
102
|
// insert extra CSS
|
|
104
|
-
if(!document.getElementById('actionbarGlobal'))
|
|
105
|
-
document.head.insertAdjacentHTML('beforeend'
|
|
103
|
+
if (!document.getElementById('actionbarGlobal'))
|
|
104
|
+
document.head.insertAdjacentHTML('beforeend', `<style id="actionbarGlobal">${loadExtraCSS}</style>`);
|
|
106
105
|
}
|
|
107
106
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
let that = this;
|
|
111
|
-
const actionbarWrapper = this.shadowRoot.querySelector('.actionbar__wrapper');
|
|
107
|
+
connectedCallback(): void {
|
|
108
|
+
const actionbarWrapper = this.shadowRoot?.querySelector('.actionbar__wrapper');
|
|
112
109
|
|
|
113
110
|
// #region select all
|
|
114
|
-
if(this.hasAttribute('data-selectall')){
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
111
|
+
if (this.hasAttribute('data-selectall')) {
|
|
112
|
+
actionbarWrapper?.insertAdjacentHTML(
|
|
113
|
+
'afterbegin',
|
|
114
|
+
`<div class="selectall pb-0"><input type="checkbox" name="selectall" id="selectall"><label for="selectall" class="m-0">Select all</label></div>`
|
|
115
|
+
);
|
|
116
|
+
const selectAll = this.shadowRoot?.querySelector('.selectall');
|
|
117
|
+
|
|
118
|
+
if (this.hasAttribute('data-selected')) {
|
|
120
119
|
setSelectAllInput(selectAll, this.getAttribute('data-selected'));
|
|
121
120
|
}
|
|
122
121
|
|
|
123
|
-
selectAll
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if(event.target.closest('input').checked)
|
|
128
|
-
this.setAttribute('data-selected','all');
|
|
129
|
-
else
|
|
130
|
-
this.setAttribute('data-selected',0);
|
|
122
|
+
selectAll?.addEventListener('change', (event) => {
|
|
123
|
+
if (event && event.target instanceof HTMLElement && event.target.closest('input')) {
|
|
124
|
+
if (event.target.closest('input')?.checked) this.setAttribute('data-selected', 'all');
|
|
125
|
+
else this.setAttribute('data-selected', '0');
|
|
131
126
|
}
|
|
132
127
|
});
|
|
133
128
|
|
|
134
|
-
|
|
135
|
-
if(cancelButton){
|
|
136
|
-
cancelButton.addEventListener('click', (
|
|
137
|
-
|
|
138
|
-
this.setAttribute('data-selected',0);
|
|
129
|
+
const cancelButton = this.querySelector('button[data-cancel]');
|
|
130
|
+
if (cancelButton) {
|
|
131
|
+
cancelButton.addEventListener('click', () => {
|
|
132
|
+
this.setAttribute('data-selected', '0');
|
|
139
133
|
});
|
|
140
134
|
}
|
|
141
135
|
}
|
|
142
136
|
|
|
143
137
|
// Wtach div for the select inputs
|
|
144
|
-
if(this.hasAttribute('data-select-watch')){
|
|
145
|
-
|
|
138
|
+
if (this.hasAttribute('data-select-watch')) {
|
|
146
139
|
const element = document.getElementById(this.getAttribute('data-select-watch'));
|
|
147
|
-
element
|
|
148
|
-
Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input
|
|
149
|
-
input.parentElement
|
|
140
|
+
element?.setAttribute('data-select-container', 'true');
|
|
141
|
+
Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input) => {
|
|
142
|
+
input.parentElement?.setAttribute('slot', 'checkbox');
|
|
150
143
|
});
|
|
151
|
-
element
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
if(countChecked){
|
|
162
|
-
Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input,index) => {
|
|
163
|
-
|
|
164
|
-
if(input.closest('iam-card'))
|
|
165
|
-
input.closest('iam-card').setAttribute('data-selected','true');
|
|
144
|
+
element?.addEventListener('change', (event) => {
|
|
145
|
+
if (event && event.target instanceof HTMLElement && event.target.closest('[type="checkbox"]')) {
|
|
146
|
+
const count = element.querySelectorAll('input[type="checkbox"]').length;
|
|
147
|
+
const countChecked = element.querySelectorAll('input[type="checkbox"]:checked').length;
|
|
148
|
+
this.setAttribute('data-selected', count == countChecked ? 'all' : String(countChecked));
|
|
149
|
+
|
|
150
|
+
if (countChecked) {
|
|
151
|
+
Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input) => {
|
|
152
|
+
if (input.closest('iam-card')) input.closest('iam-card')?.setAttribute('data-selected', 'true');
|
|
166
153
|
});
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
if(input.closest('iam-card'))
|
|
172
|
-
input.closest('iam-card').removeAttribute('data-selected');
|
|
154
|
+
} else {
|
|
155
|
+
Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input) => {
|
|
156
|
+
if (input.closest('iam-card')) input.closest('iam-card')?.removeAttribute('data-selected');
|
|
173
157
|
});
|
|
174
158
|
}
|
|
175
|
-
|
|
176
|
-
};
|
|
159
|
+
}
|
|
177
160
|
});
|
|
178
161
|
}
|
|
179
162
|
// #endregion
|
|
180
163
|
|
|
181
164
|
// #region switchviews
|
|
182
|
-
if(this.hasAttribute('data-switchviews')){
|
|
183
|
-
|
|
165
|
+
if (this.hasAttribute('data-switchviews')) {
|
|
184
166
|
let btns = '';
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
viewList.forEach((view,index) => {
|
|
167
|
+
const viewList = this.getAttribute('data-switchviews')?.split(',');
|
|
188
168
|
|
|
169
|
+
viewList?.forEach((view) => {
|
|
189
170
|
let icon = 'fa-grid-2';
|
|
190
171
|
|
|
191
|
-
if(view ==
|
|
192
|
-
|
|
193
|
-
else if(view == "small")
|
|
194
|
-
icon = 'fa-bars';
|
|
172
|
+
if (view == 'list') icon = 'fa-grip-lines';
|
|
173
|
+
else if (view == 'small') icon = 'fa-bars';
|
|
195
174
|
|
|
196
175
|
btns += `<button class="btn btn-action btn-compact mb-0 fa-regular ${icon}">${view}</button>`;
|
|
197
176
|
});
|
|
198
177
|
|
|
199
|
-
actionbarWrapper
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
views.addEventListener('click', (event) => {
|
|
178
|
+
actionbarWrapper?.insertAdjacentHTML('afterbegin', `<div class="views m-0">${btns}</div>`);
|
|
179
|
+
const views = this.shadowRoot?.querySelector('.views');
|
|
203
180
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
181
|
+
views?.addEventListener('click', (event) => {
|
|
182
|
+
if (event && event.target instanceof HTMLElement && event.target.closest('.btn-action')) {
|
|
183
|
+
const btn = event.target.closest('.btn-action');
|
|
207
184
|
|
|
208
|
-
this.setAttribute('data-view',btn.textContent);
|
|
185
|
+
this.setAttribute('data-view', btn.textContent);
|
|
209
186
|
|
|
210
|
-
const switchEvent = new CustomEvent(
|
|
187
|
+
const switchEvent = new CustomEvent('switch-view', { detail: { view: btn.textContent } });
|
|
211
188
|
this.dispatchEvent(switchEvent);
|
|
212
189
|
}
|
|
213
190
|
});
|
|
@@ -215,63 +192,63 @@ class iamActionbar extends HTMLElement {
|
|
|
215
192
|
// #endregion
|
|
216
193
|
|
|
217
194
|
// #region search
|
|
218
|
-
const searchBar = this.shadowRoot
|
|
219
|
-
if(this.hasAttribute('data-search-value')){
|
|
220
|
-
this.shadowRoot
|
|
195
|
+
const searchBar = this.shadowRoot?.querySelector('.actionbar--search');
|
|
196
|
+
if (this.hasAttribute('data-search-value')) {
|
|
197
|
+
(this.shadowRoot?.querySelector('#search') as HTMLInputElement).value = String(
|
|
198
|
+
this.getAttribute('data-search-value')
|
|
199
|
+
);
|
|
221
200
|
}
|
|
222
201
|
|
|
223
|
-
if(this.hasAttribute('data-search') && this.getAttribute('data-search') == 'show')
|
|
224
|
-
searchBar
|
|
202
|
+
if (this.hasAttribute('data-search') && this.getAttribute('data-search') == 'show')
|
|
203
|
+
searchBar?.classList.add('show');
|
|
225
204
|
|
|
226
|
-
|
|
205
|
+
const searchBtn = this.shadowRoot.querySelector('button[data-search]');
|
|
227
206
|
|
|
228
207
|
this.shadowRoot.addEventListener('click', (event) => {
|
|
229
|
-
|
|
230
|
-
if (event && event.target instanceof HTMLElement && event.target.closest('button[data-search]')){
|
|
208
|
+
if (event && event.target instanceof HTMLElement && event.target.closest('button[data-search]')) {
|
|
231
209
|
searchBar.classList.toggle('show');
|
|
232
210
|
searchBtn.toggleAttribute('aria-expanded');
|
|
233
211
|
}
|
|
234
212
|
});
|
|
235
213
|
|
|
236
|
-
searchBar.addEventListener('keyup', (
|
|
237
|
-
|
|
238
|
-
|
|
214
|
+
searchBar.addEventListener('keyup', () => {
|
|
215
|
+
const keyupEvent = new CustomEvent('search-keyup', {
|
|
216
|
+
detail: { search: searchBar.querySelector('input').value },
|
|
217
|
+
});
|
|
239
218
|
this.dispatchEvent(keyupEvent);
|
|
240
219
|
});
|
|
241
220
|
|
|
242
|
-
searchBar.addEventListener('change', (
|
|
243
|
-
|
|
244
|
-
|
|
221
|
+
searchBar.addEventListener('change', () => {
|
|
222
|
+
const changeEvent = new CustomEvent('search-change', {
|
|
223
|
+
detail: { search: searchBar.querySelector('input').value },
|
|
224
|
+
});
|
|
245
225
|
this.dispatchEvent(changeEvent);
|
|
246
226
|
});
|
|
247
227
|
searchBar.addEventListener('click', (event) => {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
228
|
+
if (event && event.target instanceof HTMLElement && event.target.closest('button.suffix')) {
|
|
229
|
+
const submitEvent = new CustomEvent('search-submit', {
|
|
230
|
+
detail: { search: searchBar.querySelector('input').value },
|
|
231
|
+
});
|
|
252
232
|
this.dispatchEvent(submitEvent);
|
|
253
233
|
}
|
|
254
234
|
});
|
|
255
235
|
// #endregion
|
|
256
236
|
|
|
257
237
|
// Make sure dialogs created in the shadow dom work
|
|
258
|
-
Array.from(this.shadowRoot.querySelectorAll('.body')).forEach((element,index) => {
|
|
259
|
-
|
|
238
|
+
Array.from(this.shadowRoot.querySelectorAll('.body')).forEach((element, index) => {
|
|
260
239
|
extendDialogs(element);
|
|
261
240
|
});
|
|
262
241
|
|
|
263
242
|
// #region Reponsive safe area
|
|
264
|
-
|
|
265
|
-
|
|
243
|
+
const hideButtons = (): void => {
|
|
266
244
|
const wrapperWidth = actionbarWrapper.scrollWidth;
|
|
267
245
|
const screenWidth = document.documentElement.scrollWidth;
|
|
268
246
|
let safeAreaWidth = 750;
|
|
269
247
|
let elementMargin = 16;
|
|
270
248
|
let tabletSafeWidth = 450;
|
|
271
|
-
let mobileSafeWidth =
|
|
272
|
-
|
|
273
|
-
if(that.hasAttribute('data-large-safe-area')){
|
|
249
|
+
let mobileSafeWidth = this?.hasAttribute('data-switchviews') ? 144 : 210;
|
|
274
250
|
|
|
251
|
+
if (this.hasAttribute('data-large-safe-area')) {
|
|
275
252
|
safeAreaWidth = 1048;
|
|
276
253
|
tabletSafeWidth = 620;
|
|
277
254
|
mobileSafeWidth = 260;
|
|
@@ -279,87 +256,79 @@ class iamActionbar extends HTMLElement {
|
|
|
279
256
|
|
|
280
257
|
// We need to modify the widths to mimic the CSS's scaling functionality
|
|
281
258
|
let modifier = 1;
|
|
282
|
-
if (screenWidth >= 992 && screenWidth <= 1280){
|
|
283
|
-
modifier = screenWidth/1280;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
else if (screenWidth < 576) {
|
|
289
|
-
modifier = screenWidth/375;
|
|
259
|
+
if (screenWidth >= 992 && screenWidth <= 1280) {
|
|
260
|
+
modifier = screenWidth / 1280;
|
|
261
|
+
} else if (screenWidth >= 576 && screenWidth < 992) {
|
|
262
|
+
modifier = screenWidth / 768;
|
|
263
|
+
} else if (screenWidth < 576) {
|
|
264
|
+
modifier = screenWidth / 375;
|
|
290
265
|
}
|
|
291
266
|
|
|
292
267
|
// Work out the safe sapce width depending upon the wrappers width and modifier comp
|
|
293
|
-
if (wrapperWidth >= 992 && wrapperWidth <= 1280){
|
|
294
|
-
safeAreaWidth = safeAreaWidth*modifier;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
else if (wrapperWidth < 576) {
|
|
300
|
-
safeAreaWidth = mobileSafeWidth*modifier;
|
|
268
|
+
if (wrapperWidth >= 992 && wrapperWidth <= 1280) {
|
|
269
|
+
safeAreaWidth = safeAreaWidth * modifier;
|
|
270
|
+
} else if (wrapperWidth >= 576 && wrapperWidth < 992) {
|
|
271
|
+
safeAreaWidth = tabletSafeWidth * modifier;
|
|
272
|
+
} else if (wrapperWidth < 576) {
|
|
273
|
+
safeAreaWidth = mobileSafeWidth * modifier;
|
|
301
274
|
}
|
|
302
275
|
|
|
303
276
|
// Margin in between elements
|
|
304
|
-
elementMargin = elementMargin*modifier;
|
|
277
|
+
elementMargin = elementMargin * modifier;
|
|
305
278
|
|
|
306
279
|
// If the wrapper width is small we want to reduce the btn sizes by adding or removing btn-compact classes
|
|
307
280
|
if (wrapperWidth < 576) {
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
281
|
+
Array.from(
|
|
282
|
+
this.querySelectorAll(
|
|
283
|
+
':scope > .btn:not(.js-updated), :scope > .dialog__wrapper > .btn[class*="fa-"]:first-child:not(.js-updated)'
|
|
284
|
+
)
|
|
285
|
+
).forEach((element: HTMLElement) => {
|
|
286
|
+
element.className = element.className.replace(' btn-compact', ' _btn-compact');
|
|
312
287
|
element.classList.add('btn-compact');
|
|
313
288
|
element.classList.add('js-updated');
|
|
314
289
|
});
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
290
|
+
} else {
|
|
291
|
+
Array.from(
|
|
292
|
+
this.querySelectorAll(':scope > .btn.js-updated, :scope > .dialog__wrapper > .btn.js-updated:first-child')
|
|
293
|
+
).forEach((element: HTMLElement) => {
|
|
320
294
|
element.classList.remove('btn-compact');
|
|
321
295
|
element.classList.remove('js-updated');
|
|
322
|
-
element.className = element.className.replace(' _btn-compact',' btn-compact');
|
|
296
|
+
element.className = element.className.replace(' _btn-compact', ' btn-compact');
|
|
323
297
|
});
|
|
324
298
|
}
|
|
325
299
|
|
|
326
300
|
// Reset the elements before we decide what elements become slotted into the overflow
|
|
327
|
-
Array.from(
|
|
328
|
-
|
|
329
|
-
if(element.getAttribute("slot") == "overflow")
|
|
330
|
-
element.removeAttribute('slot');
|
|
301
|
+
Array.from(this.querySelectorAll('[slot]')).forEach((element: HTMLElement) => {
|
|
302
|
+
if (element.getAttribute('slot') == 'overflow') element.removeAttribute('slot');
|
|
331
303
|
|
|
332
|
-
if(element.getAttribute(
|
|
333
|
-
element.setAttribute('slot','selected');
|
|
304
|
+
if (element.getAttribute('slot') == 'selected-overflow') element.setAttribute('slot', 'selected');
|
|
334
305
|
});
|
|
335
306
|
|
|
336
|
-
Array.from(
|
|
337
|
-
|
|
338
|
-
element.classList.remove('show');
|
|
307
|
+
Array.from(this.querySelectorAll('.show')).forEach((element: HTMLElement) => {
|
|
308
|
+
element.classList.remove('show');
|
|
339
309
|
});
|
|
340
310
|
|
|
341
311
|
// Foreach safe area lets check what elements are slotted in them and if they need an overflow
|
|
342
|
-
Array.from(
|
|
343
|
-
|
|
312
|
+
Array.from(this.shadowRoot.querySelectorAll('.safe-area')).forEach((element: HTMLElement) => {
|
|
344
313
|
// Decide on which overflow slot to use
|
|
345
|
-
let overflowSlot =
|
|
314
|
+
let overflowSlot = 'overflow';
|
|
346
315
|
|
|
347
|
-
if
|
|
348
|
-
|
|
316
|
+
if (
|
|
317
|
+
element.querySelector('slot')?.hasAttribute('name') &&
|
|
318
|
+
element.querySelector('slot')?.getAttribute('name') == 'selected'
|
|
319
|
+
)
|
|
320
|
+
overflowSlot = 'selected-overflow';
|
|
349
321
|
|
|
350
322
|
// Get the slotted elements, remember they aren't children of the safe area
|
|
351
|
-
|
|
352
|
-
let tempWidth = 44*modifier; // Allow space for the overflow button
|
|
323
|
+
const elements = element.querySelector('slot')?.assignedElements() as Array<HTMLElement>;
|
|
324
|
+
let tempWidth = 44 * modifier; // Allow space for the overflow button
|
|
353
325
|
|
|
354
326
|
// If search then allow for the search button width
|
|
355
|
-
if(
|
|
356
|
-
tempWidth += 44*modifier;
|
|
357
|
-
|
|
358
|
-
// Foreach element that isn't an action button or dialog wrapper add to the width, these will not be moved into the overflow slot
|
|
359
|
-
for (let i = 0; i < elements.length; i++) {
|
|
327
|
+
if (this.hasAttribute('data-search')) tempWidth += 44 * modifier;
|
|
360
328
|
|
|
361
|
-
|
|
362
|
-
|
|
329
|
+
// Foreach element this isn't an action button or dialog wrapper add to the width, these will not be moved into the overflow slot
|
|
330
|
+
for (let i = 0; i < elements.length; i++) {
|
|
331
|
+
if (!elements[i].classList.contains('btn-action') && !elements[i].classList.contains('dialog__wrapper')) {
|
|
363
332
|
tempWidth += elements[i].offsetWidth;
|
|
364
333
|
tempWidth += elementMargin;
|
|
365
334
|
}
|
|
@@ -367,62 +336,52 @@ class iamActionbar extends HTMLElement {
|
|
|
367
336
|
|
|
368
337
|
// Foreach dialog wrapper decide if safe in safe area or move into the overflow slot, dialog wrappers have priority over the action buttons
|
|
369
338
|
for (let i = 0; i < elements.length; i++) {
|
|
370
|
-
|
|
371
|
-
if(elements[i].classList.contains('dialog__wrapper')){
|
|
372
|
-
|
|
339
|
+
if (elements[i].classList.contains('dialog__wrapper')) {
|
|
373
340
|
elements[i].classList.add('show');
|
|
374
341
|
tempWidth += elements[i].offsetWidth;
|
|
375
|
-
tempWidth +=
|
|
376
|
-
|
|
342
|
+
tempWidth += elementMargin / 2;
|
|
343
|
+
|
|
377
344
|
// If we have exceeded the safe area then lets break the loop
|
|
378
|
-
if(tempWidth -
|
|
379
|
-
|
|
345
|
+
if (tempWidth - elementMargin / 2 > safeAreaWidth) {
|
|
380
346
|
elements[i].classList.remove('show');
|
|
381
347
|
break;
|
|
382
348
|
}
|
|
383
349
|
}
|
|
384
350
|
}
|
|
385
351
|
|
|
386
|
-
// Foreach action button
|
|
352
|
+
// Foreach action button
|
|
387
353
|
for (let i = 0; i < elements.length; i++) {
|
|
388
|
-
|
|
389
|
-
if(elements[i].classList.contains('btn-action')){
|
|
390
|
-
|
|
354
|
+
if (elements[i].classList.contains('btn-action')) {
|
|
391
355
|
elements[i].classList.add('show');
|
|
392
356
|
tempWidth += elements[i].offsetWidth;
|
|
393
|
-
tempWidth +=
|
|
394
|
-
|
|
357
|
+
tempWidth += elementMargin / 2;
|
|
358
|
+
|
|
395
359
|
// If we have exceeded the safe area then lets break the loop
|
|
396
|
-
if(tempWidth -
|
|
397
|
-
|
|
360
|
+
if (tempWidth - elementMargin / 2 > safeAreaWidth) {
|
|
398
361
|
elements[i].classList.remove('show');
|
|
399
362
|
break;
|
|
400
363
|
}
|
|
401
364
|
}
|
|
402
365
|
}
|
|
403
366
|
|
|
404
|
-
|
|
367
|
+
const overflowDialog = element.querySelector('.dialog-overflow');
|
|
405
368
|
|
|
406
|
-
if(overflowDialog)
|
|
407
|
-
overflowDialog.classList.add('d-none');
|
|
369
|
+
if (overflowDialog) overflowDialog.classList.add('d-none');
|
|
408
370
|
|
|
409
371
|
// Decide which elements go into the overflow slot
|
|
410
372
|
for (let i = 0; i < elements.length; i++) {
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
if (!elements[i].classList.contains('show')){
|
|
414
|
-
|
|
373
|
+
if (elements[i].classList.contains('btn-action') || elements[i].classList.contains('dialog__wrapper')) {
|
|
374
|
+
if (!elements[i].classList.contains('show')) {
|
|
415
375
|
// Move to the slot by changing the attribute
|
|
416
|
-
elements[i].setAttribute('slot',overflowSlot);
|
|
376
|
+
elements[i].setAttribute('slot', overflowSlot);
|
|
417
377
|
|
|
418
378
|
// if an element has been added to overflow slot then make sure we show the overflow menu button
|
|
419
|
-
if(overflowDialog)
|
|
420
|
-
overflowDialog.classList.remove('d-none');
|
|
379
|
+
if (overflowDialog) overflowDialog.classList.remove('d-none');
|
|
421
380
|
}
|
|
422
381
|
}
|
|
423
382
|
}
|
|
424
383
|
});
|
|
425
|
-
}
|
|
384
|
+
};
|
|
426
385
|
|
|
427
386
|
// Check buttons on load and when the wrapper element gets resized.
|
|
428
387
|
hideButtons();
|
|
@@ -430,46 +389,37 @@ class iamActionbar extends HTMLElement {
|
|
|
430
389
|
// #endregion
|
|
431
390
|
}
|
|
432
391
|
|
|
433
|
-
static get observedAttributes() {
|
|
434
|
-
return [
|
|
392
|
+
static get observedAttributes(): Array<string> {
|
|
393
|
+
return ['data-selected'];
|
|
435
394
|
}
|
|
436
|
-
|
|
437
|
-
attributeChangedCallback(attrName, oldVal, newVal) {
|
|
438
395
|
|
|
396
|
+
attributeChangedCallback(attrName, oldVal, newVal): void {
|
|
439
397
|
switch (attrName) {
|
|
440
|
-
case
|
|
398
|
+
case 'data-selected': {
|
|
399
|
+
const selectAll = this.shadowRoot.querySelector('.selectall');
|
|
441
400
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
if(selectAll)
|
|
445
|
-
setSelectAllInput(selectAll, newVal);
|
|
401
|
+
if (selectAll) setSelectAllInput(selectAll, newVal);
|
|
446
402
|
|
|
447
|
-
const event = new CustomEvent(
|
|
403
|
+
const event = new CustomEvent('selected', { detail: { selected: newVal } });
|
|
448
404
|
this.dispatchEvent(event);
|
|
449
405
|
|
|
450
|
-
if(newVal ==
|
|
451
|
-
|
|
452
|
-
const element = document.getElementById(this.getAttribute('data-select-watch'));
|
|
406
|
+
if (newVal == 'all' && this.hasAttribute('data-select-watch')) {
|
|
407
|
+
const element = document.getElementById(String(this.getAttribute('data-select-watch'))) as HTMLElement;
|
|
453
408
|
|
|
454
|
-
Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input
|
|
455
|
-
|
|
409
|
+
Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input: HTMLInputElement) => {
|
|
456
410
|
input.checked = true;
|
|
457
411
|
|
|
458
|
-
if(input.closest('iam-card'))
|
|
459
|
-
input.closest('iam-card').setAttribute('data-selected','true');
|
|
412
|
+
if (input.closest('iam-card')) input.closest('iam-card')?.setAttribute('data-selected', 'true');
|
|
460
413
|
});
|
|
461
414
|
}
|
|
462
415
|
|
|
463
|
-
if(newVal ==
|
|
464
|
-
|
|
465
|
-
const element = document.getElementById(this.getAttribute('data-select-watch'));
|
|
416
|
+
if (newVal == '0' && this.hasAttribute('data-select-watch')) {
|
|
417
|
+
const element = document.getElementById(String(this.getAttribute('data-select-watch'))) as HTMLElement;
|
|
466
418
|
|
|
467
|
-
Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input
|
|
468
|
-
|
|
419
|
+
Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input: HTMLInputElement) => {
|
|
469
420
|
input.checked = false;
|
|
470
421
|
|
|
471
|
-
if(input.closest('iam-card'))
|
|
472
|
-
input.closest('iam-card').removeAttribute('data-selected','true');
|
|
422
|
+
if (input.closest('iam-card')) input.closest('iam-card')?.removeAttribute('data-selected');
|
|
473
423
|
});
|
|
474
424
|
}
|
|
475
425
|
|
|
@@ -479,4 +429,4 @@ class iamActionbar extends HTMLElement {
|
|
|
479
429
|
}
|
|
480
430
|
}
|
|
481
431
|
|
|
482
|
-
export default iamActionbar;
|
|
432
|
+
export default iamActionbar;
|