@biggive/components 202509250906.0.0 → 202510071215.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/biggive/biggive.esm.js +1 -1
- package/dist/biggive/biggive.esm.js.map +1 -1
- package/dist/biggive/{p-8dec4d4c.entry.js → p-0ad48957.entry.js} +2 -2
- package/dist/biggive/p-0ad48957.entry.js.map +1 -0
- package/dist/biggive/{p-a3144d26.entry.js → p-117dd49a.entry.js} +2 -2
- package/dist/biggive/p-117dd49a.entry.js.map +1 -0
- package/dist/biggive/{p-66ab4142.entry.js → p-18139f5b.entry.js} +2 -2
- package/dist/biggive/p-18139f5b.entry.js.map +1 -0
- package/dist/biggive/{p-b16d779d.entry.js → p-1a120921.entry.js} +2 -2
- package/dist/biggive/p-1a120921.entry.js.map +1 -0
- package/dist/biggive/{p-9a616be5.entry.js → p-1edc83be.entry.js} +2 -2
- package/dist/biggive/p-1edc83be.entry.js.map +1 -0
- package/dist/biggive/{p-7830b031.entry.js → p-30cd947d.entry.js} +2 -2
- package/dist/biggive/p-30cd947d.entry.js.map +1 -0
- package/dist/biggive/{p-b75ac678.entry.js → p-3730c93a.entry.js} +2 -2
- package/dist/biggive/p-3730c93a.entry.js.map +1 -0
- package/dist/biggive/{p-8aa5cd67.entry.js → p-3dbd9134.entry.js} +2 -2
- package/dist/biggive/p-3dbd9134.entry.js.map +1 -0
- package/dist/biggive/{p-a2870685.entry.js → p-439bcc0a.entry.js} +2 -2
- package/dist/biggive/p-439bcc0a.entry.js.map +1 -0
- package/dist/biggive/{p-f33df851.entry.js → p-45d6d77c.entry.js} +2 -2
- package/dist/biggive/p-45d6d77c.entry.js.map +1 -0
- package/dist/biggive/{p-cee6717b.entry.js → p-46ea0e58.entry.js} +2 -2
- package/dist/biggive/p-46ea0e58.entry.js.map +1 -0
- package/dist/biggive/{p-f01aefb9.entry.js → p-49676468.entry.js} +2 -2
- package/dist/biggive/p-49676468.entry.js.map +1 -0
- package/dist/biggive/{p-8423b699.entry.js → p-4adf954f.entry.js} +2 -2
- package/dist/biggive/p-4adf954f.entry.js.map +1 -0
- package/dist/biggive/{p-049a9e00.entry.js → p-4af7f004.entry.js} +2 -2
- package/dist/biggive/p-4af7f004.entry.js.map +1 -0
- package/dist/biggive/{p-b54b51fa.entry.js → p-54698ce1.entry.js} +2 -2
- package/dist/biggive/p-54698ce1.entry.js.map +1 -0
- package/dist/biggive/{p-cdbc0658.entry.js → p-5550b80a.entry.js} +2 -2
- package/dist/biggive/p-5550b80a.entry.js.map +1 -0
- package/dist/biggive/{p-01e3e032.entry.js → p-5691f35c.entry.js} +2 -2
- package/dist/biggive/p-5691f35c.entry.js.map +1 -0
- package/dist/biggive/{p-2a1acc21.entry.js → p-5b4f72a5.entry.js} +2 -2
- package/dist/biggive/p-5b4f72a5.entry.js.map +1 -0
- package/dist/biggive/{p-5dcfe9fe.entry.js → p-61040e5b.entry.js} +2 -2
- package/dist/biggive/p-61040e5b.entry.js.map +1 -0
- package/dist/biggive/{p-8ead1510.entry.js → p-64152a84.entry.js} +2 -2
- package/dist/biggive/p-64152a84.entry.js.map +1 -0
- package/dist/biggive/p-6c2090ec.entry.js +2 -0
- package/dist/biggive/p-6c2090ec.entry.js.map +1 -0
- package/dist/biggive/{p-a7d8778c.entry.js → p-6de1208d.entry.js} +2 -2
- package/dist/biggive/p-6de1208d.entry.js.map +1 -0
- package/dist/biggive/p-6e422408.entry.js +2 -0
- package/dist/biggive/p-6e422408.entry.js.map +1 -0
- package/dist/biggive/{p-f9fb0feb.entry.js → p-70dbf921.entry.js} +2 -2
- package/dist/biggive/p-70dbf921.entry.js.map +1 -0
- package/dist/biggive/{p-d70de323.entry.js → p-748ac552.entry.js} +2 -2
- package/dist/biggive/p-748ac552.entry.js.map +1 -0
- package/dist/biggive/{p-ccbe3342.entry.js → p-77563d74.entry.js} +2 -2
- package/dist/biggive/p-77563d74.entry.js.map +1 -0
- package/dist/biggive/{p-f18c6044.entry.js → p-84366b81.entry.js} +2 -2
- package/dist/biggive/p-84366b81.entry.js.map +1 -0
- package/dist/biggive/{p-630d329d.entry.js → p-85cef4a8.entry.js} +2 -2
- package/dist/biggive/p-85cef4a8.entry.js.map +1 -0
- package/dist/biggive/{p-4db2a4f5.entry.js → p-89357ab8.entry.js} +2 -2
- package/dist/biggive/p-89357ab8.entry.js.map +1 -0
- package/dist/biggive/{p-6be16fad.entry.js → p-9185da87.entry.js} +2 -2
- package/dist/biggive/p-9185da87.entry.js.map +1 -0
- package/dist/biggive/p-92a814c9.entry.js +2 -0
- package/dist/biggive/p-92a814c9.entry.js.map +1 -0
- package/dist/biggive/p-94e7f420.entry.js +2 -0
- package/dist/biggive/p-94e7f420.entry.js.map +1 -0
- package/dist/biggive/{p-8218058a.entry.js → p-9846a411.entry.js} +2 -2
- package/dist/biggive/p-9846a411.entry.js.map +1 -0
- package/dist/biggive/{p-17ead927.entry.js → p-99355819.entry.js} +2 -2
- package/dist/biggive/p-99355819.entry.js.map +1 -0
- package/dist/biggive/{p-0ba9c6b9.entry.js → p-9db993c3.entry.js} +2 -2
- package/dist/biggive/p-9db993c3.entry.js.map +1 -0
- package/dist/biggive/p-D977ETvr.js +3 -0
- package/dist/biggive/p-D977ETvr.js.map +1 -0
- package/dist/biggive/{p-feb1ca0a.entry.js → p-a158dbb6.entry.js} +2 -2
- package/dist/biggive/p-a158dbb6.entry.js.map +1 -0
- package/dist/biggive/{p-98355c54.entry.js → p-a8c92e59.entry.js} +2 -2
- package/dist/biggive/p-a8c92e59.entry.js.map +1 -0
- package/dist/biggive/{p-da5d01aa.entry.js → p-acb51be8.entry.js} +2 -2
- package/dist/biggive/p-acb51be8.entry.js.map +1 -0
- package/dist/biggive/{p-438cd97b.entry.js → p-b02f33ce.entry.js} +2 -2
- package/dist/biggive/p-b02f33ce.entry.js.map +1 -0
- package/dist/biggive/{p-d08191cb.entry.js → p-b475a9cc.entry.js} +2 -2
- package/dist/biggive/p-b475a9cc.entry.js.map +1 -0
- package/dist/biggive/{p-ba97e1a7.entry.js → p-bf8e4823.entry.js} +2 -2
- package/dist/biggive/p-bf8e4823.entry.js.map +1 -0
- package/dist/biggive/{p-a2edb531.entry.js → p-c864528e.entry.js} +2 -2
- package/dist/biggive/p-c864528e.entry.js.map +1 -0
- package/dist/biggive/{p-55e2c83a.entry.js → p-dc53ed01.entry.js} +2 -2
- package/dist/biggive/p-dc53ed01.entry.js.map +1 -0
- package/dist/biggive/{p-bee85aeb.entry.js → p-e087681b.entry.js} +2 -2
- package/dist/biggive/p-e087681b.entry.js.map +1 -0
- package/dist/biggive/{p-095433cc.entry.js → p-e3c36f38.entry.js} +2 -2
- package/dist/biggive/p-e3c36f38.entry.js.map +1 -0
- package/dist/biggive/{p-4be3ddac.entry.js → p-e6b9567a.entry.js} +2 -2
- package/dist/biggive/p-e6b9567a.entry.js.map +1 -0
- package/dist/biggive/{p-ec5fee3c.entry.js → p-e6c4653b.entry.js} +2 -2
- package/dist/biggive/p-e6c4653b.entry.js.map +1 -0
- package/dist/biggive/{p-5fa1e82a.entry.js → p-e6c4b911.entry.js} +2 -2
- package/dist/biggive/p-e6c4b911.entry.js.map +1 -0
- package/dist/biggive/{p-ecaf1225.entry.js → p-ecf38419.entry.js} +2 -2
- package/dist/biggive/p-ecf38419.entry.js.map +1 -0
- package/dist/biggive/{p-05be4737.entry.js → p-f7171576.entry.js} +2 -2
- package/dist/biggive/p-f7171576.entry.js.map +1 -0
- package/dist/biggive/{p-fa57b723.entry.js → p-fac022f5.entry.js} +2 -2
- package/dist/biggive/p-fac022f5.entry.js.map +1 -0
- package/dist/biggive/{p-7ea10d17.entry.js → p-ffe152e6.entry.js} +2 -2
- package/dist/biggive/p-ffe152e6.entry.js.map +1 -0
- package/dist/cjs/biggive-accordion-entry.cjs.entry.js +1 -3
- package/dist/cjs/biggive-accordion.cjs.entry.js +1 -3
- package/dist/cjs/biggive-article-card.cjs.entry.js +1 -3
- package/dist/cjs/biggive-back-to-top.cjs.entry.js +1 -3
- package/dist/cjs/biggive-basic-card.cjs.entry.js +1 -3
- package/dist/cjs/biggive-biography-card.cjs.entry.js +1 -3
- package/dist/cjs/biggive-boxed-content.cjs.entry.js +1 -3
- package/dist/cjs/biggive-branded-image.cjs.entry.js +1 -3
- package/dist/cjs/biggive-button.cjs.entry.js +1 -3
- package/dist/cjs/biggive-call-to-action.cjs.entry.js +1 -3
- package/dist/cjs/biggive-campaign-card-filter-grid.cjs.entry.js +1 -3
- package/dist/cjs/biggive-campaign-card.cjs.entry.js +1 -3
- package/dist/cjs/biggive-campaign-highlights.cjs.entry.js +1 -3
- package/dist/cjs/biggive-container-card.cjs.entry.js +1 -3
- package/dist/cjs/biggive-cookie-banner.cjs.entry.js +1 -3
- package/dist/cjs/biggive-footer.cjs.entry.js +1 -3
- package/dist/cjs/biggive-form-field-select.cjs.entry.js +1 -3
- package/dist/cjs/biggive-form.cjs.entry.js +1 -3
- package/dist/cjs/biggive-formatted-text.cjs.entry.js +1 -3
- package/dist/cjs/biggive-grid.cjs.entry.js +1 -3
- package/dist/cjs/biggive-heading-banner.cjs.entry.js +1 -3
- package/dist/cjs/biggive-heading.cjs.entry.js +1 -3
- package/dist/cjs/biggive-hero-image.cjs.entry.js +1 -3
- package/dist/cjs/biggive-icon-button.cjs.entry.js +1 -3
- package/dist/cjs/biggive-image-button.cjs.entry.js +1 -3
- package/dist/cjs/biggive-image-card.cjs.entry.js +1 -3
- package/dist/cjs/biggive-image-feature.cjs.entry.js +1 -3
- package/dist/cjs/biggive-image.cjs.entry.js +1 -3
- package/dist/cjs/biggive-main-menu.cjs.entry.js +1 -3
- package/dist/cjs/biggive-misc-icon.cjs.entry.js +1 -3
- package/dist/cjs/biggive-nav-group.cjs.entry.js +1 -3
- package/dist/cjs/biggive-nav-item.cjs.entry.js +1 -3
- package/dist/cjs/biggive-page-column.cjs.entry.js +1 -3
- package/dist/cjs/biggive-page-columns.cjs.entry.js +1 -3
- package/dist/cjs/biggive-page-section.cjs.entry.js +1 -3
- package/dist/cjs/biggive-popup.cjs.entry.js +1 -3
- package/dist/cjs/biggive-progress-bar.cjs.entry.js +1 -3
- package/dist/cjs/biggive-quote.cjs.entry.js +1 -3
- package/dist/cjs/biggive-sheet.cjs.entry.js +1 -3
- package/dist/cjs/biggive-social-icon.cjs.entry.js +1 -3
- package/dist/cjs/biggive-tab.cjs.entry.js +1 -3
- package/dist/cjs/biggive-tabbed-content.cjs.entry.js +1 -3
- package/dist/cjs/biggive-table.cjs.entry.js +1 -3
- package/dist/cjs/biggive-text-input.cjs.entry.js +1 -3
- package/dist/cjs/biggive-timeline-entry.cjs.entry.js +1 -3
- package/dist/cjs/biggive-timeline.cjs.entry.js +1 -3
- package/dist/cjs/biggive-totalizer-ticker-item.cjs.entry.js +1 -3
- package/dist/cjs/biggive-totalizer.cjs.entry.js +1 -3
- package/dist/cjs/biggive-video-feature.cjs.entry.js +1 -3
- package/dist/cjs/biggive-video.cjs.entry.js +1 -3
- package/dist/cjs/biggive.cjs.js +3 -5
- package/dist/cjs/biggive.cjs.js.map +1 -1
- package/dist/cjs/{index-BJwGe0SQ.js → index-CPmfbPkm.js} +44 -43
- package/dist/cjs/index-CPmfbPkm.js.map +1 -0
- package/dist/cjs/index.cjs.js +0 -2
- package/dist/cjs/loader.cjs.js +2 -4
- package/dist/cjs/philco-footer.cjs.entry.js +1 -3
- package/dist/cjs/philco-main-menu.cjs.entry.js +1 -3
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/biggive-accordion/biggive-accordion.js +3 -3
- package/dist/collection/components/biggive-accordion-entry/biggive-accordion-entry.js +1 -1
- package/dist/collection/components/biggive-article-card/biggive-article-card.js +34 -34
- package/dist/collection/components/biggive-basic-card/biggive-basic-card.js +29 -29
- package/dist/collection/components/biggive-biography-card/biggive-biography-card.js +14 -14
- package/dist/collection/components/biggive-boxed-content/biggive-boxed-content.js +5 -5
- package/dist/collection/components/biggive-branded-image/biggive-branded-image.js +13 -13
- package/dist/collection/components/biggive-button/biggive-button.js +13 -13
- package/dist/collection/components/biggive-call-to-action/biggive-call-to-action.js +28 -28
- package/dist/collection/components/biggive-campaign-card/biggive-campaign-card.js +31 -31
- package/dist/collection/components/biggive-campaign-card-filter-grid/biggive-campaign-card-filter-grid.js +16 -16
- package/dist/collection/components/biggive-campaign-highlights/biggive-campaign-highlights.js +26 -26
- package/dist/collection/components/biggive-container-card/biggive-container-card.js +8 -8
- package/dist/collection/components/biggive-cookie-banner/biggive-cookie-banner.js +3 -4
- package/dist/collection/components/biggive-cookie-banner/biggive-cookie-banner.js.map +1 -1
- package/dist/collection/components/biggive-footer/biggive-footer.js +9 -9
- package/dist/collection/components/biggive-form-field-select/biggive-form-field-select.js +17 -18
- package/dist/collection/components/biggive-form-field-select/biggive-form-field-select.js.map +1 -1
- package/dist/collection/components/biggive-formatted-text/biggive-formatted-text.js +5 -5
- package/dist/collection/components/biggive-grid/biggive-grid.js +4 -4
- package/dist/collection/components/biggive-heading/biggive-heading.js +10 -10
- package/dist/collection/components/biggive-heading-banner/biggive-heading-banner.js +22 -22
- package/dist/collection/components/biggive-hero-image/biggive-hero-image.js +26 -26
- package/dist/collection/components/biggive-icon-button/biggive-icon-button.js +19 -19
- package/dist/collection/components/biggive-image/biggive-image.js +7 -7
- package/dist/collection/components/biggive-image-button/biggive-image-button.js +20 -20
- package/dist/collection/components/biggive-image-card/biggive-image-card.js +20 -20
- package/dist/collection/components/biggive-image-feature/biggive-image-feature.js +18 -18
- package/dist/collection/components/biggive-main-menu/biggive-main-menu.js +6 -6
- package/dist/collection/components/biggive-misc-icon/biggive-misc-icon.js +6 -6
- package/dist/collection/components/biggive-nav-group/biggive-nav-group.js +1 -1
- package/dist/collection/components/biggive-nav-item/biggive-nav-item.js +6 -6
- package/dist/collection/components/biggive-page-columns/biggive-page-columns.js +1 -1
- package/dist/collection/components/biggive-page-section/biggive-page-section.js +7 -7
- package/dist/collection/components/biggive-popup/biggive-popup.js +0 -1
- package/dist/collection/components/biggive-popup/biggive-popup.js.map +1 -1
- package/dist/collection/components/biggive-progress-bar/biggive-progress-bar.js +3 -3
- package/dist/collection/components/biggive-quote/biggive-quote.js +6 -6
- package/dist/collection/components/biggive-sheet/biggive-sheet.js +3 -3
- package/dist/collection/components/biggive-social-icon/biggive-social-icon.js +7 -7
- package/dist/collection/components/biggive-tab/biggive-tab.js +1 -1
- package/dist/collection/components/biggive-tabbed-content/biggive-tabbed-content.js +7 -7
- package/dist/collection/components/biggive-table/biggive-table.js +5 -5
- package/dist/collection/components/biggive-text-input/biggive-text-input.js +5 -5
- package/dist/collection/components/biggive-timeline/biggive-timeline.js +12 -12
- package/dist/collection/components/biggive-timeline-entry/biggive-timeline-entry.js +4 -4
- package/dist/collection/components/biggive-totalizer/biggive-totalizer.js +7 -7
- package/dist/collection/components/biggive-totalizer-ticker-item/biggive-totalizer-ticker-item.js +4 -4
- package/dist/collection/components/biggive-video/biggive-video.js +3 -3
- package/dist/collection/components/biggive-video-feature/biggive-video-feature.js +18 -18
- package/dist/collection/components/philco-footer/philco-footer.js +2 -2
- package/dist/collection/components/philco-main-menu/philco-main-menu.js +2 -2
- package/dist/components/biggive-accordion-entry.js +4 -2
- package/dist/components/biggive-accordion-entry.js.map +1 -1
- package/dist/components/biggive-accordion.js +4 -2
- package/dist/components/biggive-accordion.js.map +1 -1
- package/dist/components/biggive-article-card.js +4 -2
- package/dist/components/biggive-article-card.js.map +1 -1
- package/dist/components/biggive-back-to-top.js +4 -2
- package/dist/components/biggive-back-to-top.js.map +1 -1
- package/dist/components/biggive-basic-card.js +4 -2
- package/dist/components/biggive-basic-card.js.map +1 -1
- package/dist/components/biggive-biography-card.js +4 -2
- package/dist/components/biggive-biography-card.js.map +1 -1
- package/dist/components/biggive-boxed-content.js +4 -2
- package/dist/components/biggive-boxed-content.js.map +1 -1
- package/dist/components/biggive-branded-image.js +4 -2
- package/dist/components/biggive-branded-image.js.map +1 -1
- package/dist/components/biggive-button2.js +4 -2
- package/dist/components/biggive-button2.js.map +1 -1
- package/dist/components/biggive-call-to-action.js +4 -2
- package/dist/components/biggive-call-to-action.js.map +1 -1
- package/dist/components/biggive-campaign-card-filter-grid.js +4 -2
- package/dist/components/biggive-campaign-card-filter-grid.js.map +1 -1
- package/dist/components/biggive-campaign-card.js +4 -2
- package/dist/components/biggive-campaign-card.js.map +1 -1
- package/dist/components/biggive-campaign-highlights.js +4 -2
- package/dist/components/biggive-campaign-highlights.js.map +1 -1
- package/dist/components/biggive-container-card.js +4 -2
- package/dist/components/biggive-container-card.js.map +1 -1
- package/dist/components/biggive-cookie-banner.js +5 -3
- package/dist/components/biggive-cookie-banner.js.map +1 -1
- package/dist/components/biggive-footer.js +4 -2
- package/dist/components/biggive-footer.js.map +1 -1
- package/dist/components/biggive-form-field-select2.js +5 -3
- package/dist/components/biggive-form-field-select2.js.map +1 -1
- package/dist/components/biggive-form.js +4 -2
- package/dist/components/biggive-form.js.map +1 -1
- package/dist/components/biggive-formatted-text.js +4 -2
- package/dist/components/biggive-formatted-text.js.map +1 -1
- package/dist/components/biggive-grid.js +4 -2
- package/dist/components/biggive-grid.js.map +1 -1
- package/dist/components/biggive-heading-banner.js +4 -2
- package/dist/components/biggive-heading-banner.js.map +1 -1
- package/dist/components/biggive-heading.js +4 -2
- package/dist/components/biggive-heading.js.map +1 -1
- package/dist/components/biggive-hero-image.js +4 -2
- package/dist/components/biggive-hero-image.js.map +1 -1
- package/dist/components/biggive-icon-button.js +4 -2
- package/dist/components/biggive-icon-button.js.map +1 -1
- package/dist/components/biggive-image-button.js +4 -2
- package/dist/components/biggive-image-button.js.map +1 -1
- package/dist/components/biggive-image-card.js +4 -2
- package/dist/components/biggive-image-card.js.map +1 -1
- package/dist/components/biggive-image-feature.js +4 -2
- package/dist/components/biggive-image-feature.js.map +1 -1
- package/dist/components/biggive-image.js +4 -2
- package/dist/components/biggive-image.js.map +1 -1
- package/dist/components/biggive-main-menu.js +4 -2
- package/dist/components/biggive-main-menu.js.map +1 -1
- package/dist/components/biggive-misc-icon2.js +4 -2
- package/dist/components/biggive-misc-icon2.js.map +1 -1
- package/dist/components/biggive-nav-group.js +4 -2
- package/dist/components/biggive-nav-group.js.map +1 -1
- package/dist/components/biggive-nav-item.js +4 -2
- package/dist/components/biggive-nav-item.js.map +1 -1
- package/dist/components/biggive-page-column.js +4 -2
- package/dist/components/biggive-page-column.js.map +1 -1
- package/dist/components/biggive-page-columns.js +4 -2
- package/dist/components/biggive-page-columns.js.map +1 -1
- package/dist/components/biggive-page-section.js +4 -2
- package/dist/components/biggive-page-section.js.map +1 -1
- package/dist/components/biggive-popup2.js +5 -3
- package/dist/components/biggive-popup2.js.map +1 -1
- package/dist/components/biggive-progress-bar2.js +4 -2
- package/dist/components/biggive-progress-bar2.js.map +1 -1
- package/dist/components/biggive-quote.js +4 -2
- package/dist/components/biggive-quote.js.map +1 -1
- package/dist/components/biggive-sheet.js +4 -2
- package/dist/components/biggive-sheet.js.map +1 -1
- package/dist/components/biggive-social-icon2.js +4 -2
- package/dist/components/biggive-social-icon2.js.map +1 -1
- package/dist/components/biggive-tab.js +4 -2
- package/dist/components/biggive-tab.js.map +1 -1
- package/dist/components/biggive-tabbed-content.js +4 -2
- package/dist/components/biggive-tabbed-content.js.map +1 -1
- package/dist/components/biggive-table.js +4 -2
- package/dist/components/biggive-table.js.map +1 -1
- package/dist/components/biggive-text-input.js +4 -2
- package/dist/components/biggive-text-input.js.map +1 -1
- package/dist/components/biggive-timeline-entry.js +4 -2
- package/dist/components/biggive-timeline-entry.js.map +1 -1
- package/dist/components/biggive-timeline.js +4 -2
- package/dist/components/biggive-timeline.js.map +1 -1
- package/dist/components/biggive-totalizer-ticker-item.js +4 -2
- package/dist/components/biggive-totalizer-ticker-item.js.map +1 -1
- package/dist/components/biggive-totalizer.js +4 -2
- package/dist/components/biggive-totalizer.js.map +1 -1
- package/dist/components/biggive-video-feature.js +4 -2
- package/dist/components/biggive-video-feature.js.map +1 -1
- package/dist/components/biggive-video.js +4 -2
- package/dist/components/biggive-video.js.map +1 -1
- package/dist/components/philco-footer.js +4 -2
- package/dist/components/philco-footer.js.map +1 -1
- package/dist/components/philco-main-menu.js +4 -2
- package/dist/components/philco-main-menu.js.map +1 -1
- package/dist/esm/biggive-accordion-entry.entry.js +1 -3
- package/dist/esm/biggive-accordion.entry.js +1 -3
- package/dist/esm/biggive-article-card.entry.js +1 -3
- package/dist/esm/biggive-back-to-top.entry.js +1 -3
- package/dist/esm/biggive-basic-card.entry.js +1 -3
- package/dist/esm/biggive-biography-card.entry.js +1 -3
- package/dist/esm/biggive-boxed-content.entry.js +1 -3
- package/dist/esm/biggive-branded-image.entry.js +1 -3
- package/dist/esm/biggive-button.entry.js +1 -3
- package/dist/esm/biggive-call-to-action.entry.js +1 -3
- package/dist/esm/biggive-campaign-card-filter-grid.entry.js +1 -3
- package/dist/esm/biggive-campaign-card.entry.js +1 -3
- package/dist/esm/biggive-campaign-highlights.entry.js +1 -3
- package/dist/esm/biggive-container-card.entry.js +1 -3
- package/dist/esm/biggive-cookie-banner.entry.js +1 -3
- package/dist/esm/biggive-footer.entry.js +1 -3
- package/dist/esm/biggive-form-field-select.entry.js +1 -3
- package/dist/esm/biggive-form.entry.js +1 -3
- package/dist/esm/biggive-formatted-text.entry.js +1 -3
- package/dist/esm/biggive-grid.entry.js +1 -3
- package/dist/esm/biggive-heading-banner.entry.js +1 -3
- package/dist/esm/biggive-heading.entry.js +1 -3
- package/dist/esm/biggive-hero-image.entry.js +1 -3
- package/dist/esm/biggive-icon-button.entry.js +1 -3
- package/dist/esm/biggive-image-button.entry.js +1 -3
- package/dist/esm/biggive-image-card.entry.js +1 -3
- package/dist/esm/biggive-image-feature.entry.js +1 -3
- package/dist/esm/biggive-image.entry.js +1 -3
- package/dist/esm/biggive-main-menu.entry.js +1 -3
- package/dist/esm/biggive-misc-icon.entry.js +1 -3
- package/dist/esm/biggive-nav-group.entry.js +1 -3
- package/dist/esm/biggive-nav-item.entry.js +1 -3
- package/dist/esm/biggive-page-column.entry.js +1 -3
- package/dist/esm/biggive-page-columns.entry.js +1 -3
- package/dist/esm/biggive-page-section.entry.js +1 -3
- package/dist/esm/biggive-popup.entry.js +1 -3
- package/dist/esm/biggive-progress-bar.entry.js +1 -3
- package/dist/esm/biggive-quote.entry.js +1 -3
- package/dist/esm/biggive-sheet.entry.js +1 -3
- package/dist/esm/biggive-social-icon.entry.js +1 -3
- package/dist/esm/biggive-tab.entry.js +1 -3
- package/dist/esm/biggive-tabbed-content.entry.js +1 -3
- package/dist/esm/biggive-table.entry.js +1 -3
- package/dist/esm/biggive-text-input.entry.js +1 -3
- package/dist/esm/biggive-timeline-entry.entry.js +1 -3
- package/dist/esm/biggive-timeline.entry.js +1 -3
- package/dist/esm/biggive-totalizer-ticker-item.entry.js +1 -3
- package/dist/esm/biggive-totalizer.entry.js +1 -3
- package/dist/esm/biggive-video-feature.entry.js +1 -3
- package/dist/esm/biggive-video.entry.js +1 -3
- package/dist/esm/biggive.js +4 -6
- package/dist/esm/biggive.js.map +1 -1
- package/dist/esm/{index-Bw8i6zSc.js → index-D977ETvr.js} +44 -43
- package/dist/esm/index-D977ETvr.js.map +1 -0
- package/dist/esm/index.js +0 -2
- package/dist/esm/loader.js +3 -5
- package/dist/esm/philco-footer.entry.js +1 -3
- package/dist/esm/philco-main-menu.entry.js +1 -3
- package/dist/types/stencil-public-runtime.d.ts +39 -2
- package/hydrate/index.d.ts +2 -0
- package/hydrate/index.js +57 -55
- package/hydrate/index.mjs +57 -55
- package/package.json +2 -2
- package/dist/biggive/p-01e3e032.entry.js.map +0 -1
- package/dist/biggive/p-049a9e00.entry.js.map +0 -1
- package/dist/biggive/p-05be4737.entry.js.map +0 -1
- package/dist/biggive/p-095433cc.entry.js.map +0 -1
- package/dist/biggive/p-0ba9c6b9.entry.js.map +0 -1
- package/dist/biggive/p-17ead927.entry.js.map +0 -1
- package/dist/biggive/p-2a1acc21.entry.js.map +0 -1
- package/dist/biggive/p-438cd97b.entry.js.map +0 -1
- package/dist/biggive/p-4a7c3666.entry.js +0 -2
- package/dist/biggive/p-4a7c3666.entry.js.map +0 -1
- package/dist/biggive/p-4be3ddac.entry.js.map +0 -1
- package/dist/biggive/p-4db2a4f5.entry.js.map +0 -1
- package/dist/biggive/p-55e2c83a.entry.js.map +0 -1
- package/dist/biggive/p-5dcfe9fe.entry.js.map +0 -1
- package/dist/biggive/p-5fa1e82a.entry.js.map +0 -1
- package/dist/biggive/p-60206f92.entry.js +0 -2
- package/dist/biggive/p-60206f92.entry.js.map +0 -1
- package/dist/biggive/p-630d329d.entry.js.map +0 -1
- package/dist/biggive/p-66ab4142.entry.js.map +0 -1
- package/dist/biggive/p-6be16fad.entry.js.map +0 -1
- package/dist/biggive/p-7830b031.entry.js.map +0 -1
- package/dist/biggive/p-7ea10d17.entry.js.map +0 -1
- package/dist/biggive/p-8218058a.entry.js.map +0 -1
- package/dist/biggive/p-8423b699.entry.js.map +0 -1
- package/dist/biggive/p-881b7f5a.entry.js +0 -2
- package/dist/biggive/p-881b7f5a.entry.js.map +0 -1
- package/dist/biggive/p-8aa5cd67.entry.js.map +0 -1
- package/dist/biggive/p-8dec4d4c.entry.js.map +0 -1
- package/dist/biggive/p-8ead1510.entry.js.map +0 -1
- package/dist/biggive/p-98355c54.entry.js.map +0 -1
- package/dist/biggive/p-9a616be5.entry.js.map +0 -1
- package/dist/biggive/p-Bw8i6zSc.js +0 -3
- package/dist/biggive/p-Bw8i6zSc.js.map +0 -1
- package/dist/biggive/p-a2870685.entry.js.map +0 -1
- package/dist/biggive/p-a2edb531.entry.js.map +0 -1
- package/dist/biggive/p-a3144d26.entry.js.map +0 -1
- package/dist/biggive/p-a7d8778c.entry.js.map +0 -1
- package/dist/biggive/p-b16d779d.entry.js.map +0 -1
- package/dist/biggive/p-b54b51fa.entry.js.map +0 -1
- package/dist/biggive/p-b75ac678.entry.js.map +0 -1
- package/dist/biggive/p-b8e3a0c3.entry.js +0 -2
- package/dist/biggive/p-b8e3a0c3.entry.js.map +0 -1
- package/dist/biggive/p-ba97e1a7.entry.js.map +0 -1
- package/dist/biggive/p-bee85aeb.entry.js.map +0 -1
- package/dist/biggive/p-ccbe3342.entry.js.map +0 -1
- package/dist/biggive/p-cdbc0658.entry.js.map +0 -1
- package/dist/biggive/p-cee6717b.entry.js.map +0 -1
- package/dist/biggive/p-d08191cb.entry.js.map +0 -1
- package/dist/biggive/p-d70de323.entry.js.map +0 -1
- package/dist/biggive/p-da5d01aa.entry.js.map +0 -1
- package/dist/biggive/p-ec5fee3c.entry.js.map +0 -1
- package/dist/biggive/p-ecaf1225.entry.js.map +0 -1
- package/dist/biggive/p-f01aefb9.entry.js.map +0 -1
- package/dist/biggive/p-f18c6044.entry.js.map +0 -1
- package/dist/biggive/p-f33df851.entry.js.map +0 -1
- package/dist/biggive/p-f9fb0feb.entry.js.map +0 -1
- package/dist/biggive/p-fa57b723.entry.js.map +0 -1
- package/dist/biggive/p-feb1ca0a.entry.js.map +0 -1
- package/dist/cjs/biggive-accordion-entry.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-accordion.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-article-card.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-back-to-top.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-basic-card.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-biography-card.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-boxed-content.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-branded-image.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-button.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-call-to-action.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-campaign-card-filter-grid.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-campaign-card.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-campaign-highlights.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-container-card.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-cookie-banner.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-footer.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-form-field-select.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-form.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-formatted-text.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-grid.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-heading-banner.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-heading.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-hero-image.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-icon-button.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-image-button.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-image-card.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-image-feature.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-image.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-main-menu.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-misc-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-nav-group.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-nav-item.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-page-column.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-page-columns.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-page-section.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-popup.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-progress-bar.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-quote.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-sheet.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-social-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-tab.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-tabbed-content.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-table.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-text-input.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-timeline-entry.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-timeline.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-totalizer-ticker-item.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-totalizer.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-video-feature.cjs.entry.js.map +0 -1
- package/dist/cjs/biggive-video.cjs.entry.js.map +0 -1
- package/dist/cjs/index-BJwGe0SQ.js.map +0 -1
- package/dist/cjs/philco-footer.cjs.entry.js.map +0 -1
- package/dist/cjs/philco-main-menu.cjs.entry.js.map +0 -1
- package/dist/esm/index-Bw8i6zSc.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveTotalizerCss","BiggiveTotalizer","constructor","hostRef","this","lastWrapperWidth","spaceBelow","primaryColour","primaryTextColour","secondaryColour","secondaryTextColour","setSpeed","itemsWidth","containerWidth","sleeves","ii","sleeve","_a","host","shadowRoot","querySelector","push","style","animationName","length","console","log","sleeveCount","setProperty","duration","Math","round","animationDuration","animationDelay","display","componentDidLoad","wrapper","tickerItemsInternalWrapper","sleeve1","_b","sleeve2","_c","sleeve3","_d","sleeve4","_e","setTimeout","appendChild","cloneNode","clientWidth","window","addEventListener","render","h","key","class","mainMessage","id","name"],"sources":["src/components/biggive-totalizer/biggive-totalizer.scss?tag=biggive-totalizer&encapsulation=shadow","src/components/biggive-totalizer/biggive-totalizer.tsx"],"sourcesContent":["@include backgrounds();\n@include spacers();\n@include text-colours();\n\n:host {\n display: contents;\n @include standard-font();\n\n --ticker-end-left: -200%;\n}\n\n@keyframes ticker {\n 0% {\n transform: translate3d(0, 0, 0);\n }\n\n 100% {\n transform: translate3d(var(--ticker-end-left), 0, 0);\n }\n}\n\n.container {\n position: absolute;\n left: 0;\n right: 0;\n z-index: 1;\n\n .main-message-wrap {\n position: absolute;\n z-index: 1;\n padding: $spacer-2 $spacer-4;\n left: 0;\n top: 0;\n @include font-size-large();\n font-weight: 600;\n max-width: 33.3%;\n }\n\n .ticker-wrap {\n @include font-size-medium();\n padding: calc($spacer-2 - 4px) $spacer-4 $spacer-2 0;\n min-height: 17px;\n overflow: hidden;\n position: relative;\n\n .sleeve {\n will-change: transform; // https://web.dev/stick-to-compositor-only-properties-and-manage-layer-count/\n display: inline-flex;\n position: absolute;\n top: 4px;\n height: 24px;\n min-width: 100%;\n left: 100%;\n white-space: nowrap;\n\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n animation-name: ticker;\n // TS overrides the specific timings once the width of ticker elements is known.\n animation-duration: 10s;\n\n @media (prefers-reduced-motion) {\n animation-name: none !important; // Turn off movement when needed for a11y.\n }\n }\n\n .sleeve-delayed-copy {\n // We set between 0 and 3 copies to `display: inline-flex` in TS, depending on the size\n // of the items and container.\n display: none;\n white-space: nowrap;\n max-height: 24px;\n }\n }\n}\n\n@media screen and (max-width: $screen-tablet-max) {\n .container {\n .main-message-wrap {\n @include font-size-medium();\n padding: $spacer-2;\n }\n }\n}\n","import { Component, Element, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'biggive-totalizer',\n styleUrl: 'biggive-totalizer.scss',\n shadow: true,\n})\nexport class BiggiveTotalizer {\n private lastWrapperWidth: number = 0;\n\n @Element() host: HTMLBiggiveTotalizerElement;\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 0;\n /**\n * Primary banner colour\n */\n @Prop() primaryColour: string = 'primary';\n\n /**\n * Primary text colour\n */\n @Prop() primaryTextColour: string = 'white';\n\n /**\n * Secondary banner colour\n */\n @Prop() secondaryColour: string = 'secondary';\n\n /**\n * Secondary text colour\n */\n @Prop() secondaryTextColour: string = 'black';\n\n /**\n * Primary message\n */\n @Prop() mainMessage: string;\n\n private setSpeed(itemsWidth: number, containerWidth: number) {\n if (containerWidth === this.lastWrapperWidth) {\n // Some browsers fire 'resize' overzealously on scroll; we don't want to cause extra paints if nothing\n // relevant changed.\n return;\n }\n\n let sleeves: HTMLDivElement[] = [];\n for (const ii in [1, 2, 3, 4]) {\n const sleeve = this.host.shadowRoot?.querySelector('.ticker-wrap #sleeve_' + ii) as HTMLDivElement | null;\n if (sleeve) {\n sleeves.push(sleeve);\n // Restart the animation(s) on window resize to reduce the chance of jankiness.\n // https://stackoverflow.com/a/45036752/2803757\n sleeve.style.animationName = 'none';\n }\n }\n\n this.lastWrapperWidth = containerWidth;\n\n if (sleeves.length === 0) {\n console.log('sleeves missing, skipping setSpeed()');\n return;\n }\n\n // We've seen the initial calculation exclude the ~30px per set of values end padding before,\n // and it's safe to err on the side of more copies to reduce the chance of abrupt early loop\n // ends, so we add a buffer of 40px to the calculation when deciding how many copies to use.\n // const sleeveCount = Math.max(1, Math.min(4, Math.ceil((2 * (40 + itemsWidth)) / containerWidth)));\n // TODO Ultimately we'd like to get multiple copies working, or simplify. This\n // has proven very hard to iterate on pending a fix for DON-867 because\n // there is Angular-specific behaviour breaking the contents of copies.\n const sleeveCount = 1;\n this.host.style.setProperty('--ticker-end-left', `-${(sleeveCount + 1) * 100}%`);\n\n const duration = Math.round((itemsWidth / 30) * sleeveCount);\n\n for (let ii = 1; ii <= sleeveCount; ii++) {\n const sleeve = sleeves[ii - 1];\n if (sleeve) {\n sleeve.style.animationDuration = duration + 's';\n // https://stackoverflow.com/a/45847760\n sleeve.style.animationDelay = (duration / (sleeveCount - 1)) * (ii - 1) + 's';\n sleeve.style.display = 'inline-flex';\n sleeve.style.animationName = 'ticker';\n }\n }\n }\n\n componentDidLoad() {\n const wrapper = this.host.shadowRoot?.querySelector('.ticker-wrap') as HTMLDivElement;\n\n const tickerItemsInternalWrapper: HTMLDivElement | null = this.host.querySelector(`[slot=\"ticker-items\"]`);\n const sleeve1: HTMLDivElement | null | undefined = this.host.shadowRoot?.querySelector('.ticker-wrap #sleeve_1');\n const sleeve2: HTMLDivElement | null | undefined = this.host.shadowRoot?.querySelector('.ticker-wrap #sleeve_2');\n const sleeve3: HTMLDivElement | null | undefined = this.host.shadowRoot?.querySelector('.ticker-wrap #sleeve_3');\n const sleeve4: HTMLDivElement | null | undefined = this.host.shadowRoot?.querySelector('.ticker-wrap #sleeve_4');\n\n if (!tickerItemsInternalWrapper || !sleeve1) {\n console.log('tickerItemsInternalWrapper or sleeve1 is missing, skipping totalizer animation setup');\n return;\n }\n\n // Deep clone [all children of] the ticker items internal wrapper and append them, so the ticker can show items without\n // a blank break. Sleeve 2 and up will animate on delays per https://stackoverflow.com/a/45847760.\n setTimeout(() => {\n sleeve2 && sleeve2.appendChild(tickerItemsInternalWrapper.cloneNode(true));\n sleeve3 && sleeve3.appendChild(tickerItemsInternalWrapper.cloneNode(true));\n sleeve4 && sleeve4.appendChild(tickerItemsInternalWrapper.cloneNode(true));\n }, 800);\n\n setTimeout(() => {\n // In Angular contexts, it seems like we need to leave a little time before the calculations work.\n // Not totally clear why yet.\n this.setSpeed(tickerItemsInternalWrapper.clientWidth, wrapper.clientWidth);\n }, 300);\n\n window.addEventListener('resize', () => {\n this.setSpeed(tickerItemsInternalWrapper.clientWidth, wrapper.clientWidth);\n });\n }\n\n render() {\n return (\n <div class={'container space-below-' + this.spaceBelow}>\n <div>\n <div class=\"banner\">\n <div class={'main-message-wrap background-colour-' + this.secondaryColour + ' text-colour-' + this.secondaryTextColour}>{this.mainMessage}</div>\n <div class={'ticker-wrap background-colour-' + this.primaryColour + ' text-colour-' + this.primaryTextColour}>\n <div id=\"sleeve_1\" class=\"sleeve\">\n <slot name=\"ticker-items\"></slot>\n </div>\n <div id=\"sleeve_2\" class=\"sleeve sleeve-delayed-copy\">\n {/* Contents for these 3 are copied in TS and copies shown or hidden based on available space */}\n </div>\n <div id=\"sleeve_3\" class=\"sleeve sleeve-delayed-copy\"></div>\n <div id=\"sleeve_4\" class=\"sleeve sleeve-delayed-copy\"></div>\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveCallToActionCss","BiggiveCallToAction","constructor","hostRef","this","spaceAbove","spaceBelow","defaultTextColour","slugSize","slugColour","mainTitleColour","mainTitleSize","subtitleSize","subtitleColour","teaserColour","primaryButtonColourScheme","secondaryButtonColourScheme","render","h","key","class","slug","mainTitle","subtitle","teaser","primaryButtonLabel","primaryButtonUrl","url","label","secondaryButtonLabel","secondaryButtonUrl"],"sources":["src/components/biggive-call-to-action/biggive-call-to-action.scss?tag=biggive-call-to-action&encapsulation=shadow","src/components/biggive-call-to-action/biggive-call-to-action.tsx"],"sourcesContent":["@include headings-biggive();\n@include spacers();\n@include text-colours();\n\n:host {\n display: contents;\n @include standard-font();\n}\n\n.container {\n @include section-container();\n position: relative;\n text-align: center;\n}\n\n\n.content-wrap {\n .slug {\n margin: 0;\n padding: 0;\n }\n h2 {\n margin: 0 0 $spacer-1 0;\n padding: 0;\n }\n .subtitle {\n margin: 0 0 $spacer-1 0;\n padding: 0;\n }\n .teaser {\n margin: $spacer-3 auto $spacer-3 auto;\n max-width: 400px;\n padding: 0;\n }\n}\n\n@media screen and (max-width: $screen-mobile-max) {\n .content-wrap {\n text-align: right\n }\n h2 {\n padding: 40px 0;\n }\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'biggive-call-to-action',\n styleUrl: 'biggive-call-to-action.scss',\n shadow: true,\n})\nexport class BiggiveCallToAction {\n /**\n * Space above component\n */\n @Prop() spaceAbove: number = 0;\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 0;\n /**\n * Default text colour\n */\n @Prop() defaultTextColour: string = 'primary';\n\n /**\n * Slug size\n */\n @Prop() slugSize: number = 4;\n /**\n * Slug colour\n */\n @Prop() slugColour: string = '';\n /**\n * Slug\n */\n @Prop() slug: string;\n\n /**\n * Main title colour\n */\n @Prop() mainTitleColour: string = '';\n /**\n * Main title size\n */\n @Prop() mainTitleSize: number = 2;\n /**\n * Main title\n */\n @Prop() mainTitle: string;\n\n /**\n * Main title size\n */\n @Prop() subtitleSize: number = 4;\n /**\n * Subtitle colour\n */\n @Prop() subtitleColour: string = '';\n\n /**\n * Subtitle\n */\n @Prop() subtitle: string;\n\n /**\n * Teaser colour\n */\n @Prop() teaserColour: string = '';\n\n /**\n * Teaser\n */\n @Prop() teaser: string;\n\n /**\n * Primary button Url\n */\n @Prop() primaryButtonUrl: string;\n\n /**\n * Primary button Label\n */\n @Prop() primaryButtonLabel: string;\n\n /**\n * Primary button Colour Scheme\n */\n @Prop() primaryButtonColourScheme: string = 'primary';\n\n /**\n * Secondary button Url\n */\n @Prop() secondaryButtonUrl: string;\n\n /**\n * Secondary button Label\n */\n @Prop() secondaryButtonLabel: string;\n\n /**\n * Secondary button Colour Scheme\n */\n @Prop() secondaryButtonColourScheme: string = 'primary';\n\n render() {\n return (\n <div class={'container text-colour-' + this.defaultTextColour + ' space-above-' + this.spaceAbove + ' space-below-' + this.spaceBelow}>\n <div class=\"sleeve\">\n <div class=\"content-wrap\">\n <div class={'slug heading-' + this.slugSize + ' text-colour-' + this.slugColour}>{this.slug}</div>\n <h2 class={'title heading-' + this.mainTitleSize + ' text-colour-' + this.mainTitleColour}>{this.mainTitle}</h2>\n <div class={'slug heading-' + this.subtitleSize + ' text-colour-' + this.subtitleColour}>{this.subtitle}</div>\n <div class={'teaser text-colour-' + this.teaserColour}>{this.teaser}</div>\n {this.primaryButtonLabel != null && this.primaryButtonUrl != null ? (\n <div class=\"button-wrap\">\n <biggive-button colour-scheme={this.primaryButtonColourScheme} url={this.primaryButtonUrl} label={this.primaryButtonLabel}></biggive-button>\n </div>\n ) : null}\n {this.secondaryButtonLabel != null && this.secondaryButtonUrl != null ? (\n <div class=\"button-wrap\">\n <biggive-button colour-scheme={this.secondaryButtonColourScheme} url={this.secondaryButtonUrl} label={this.secondaryButtonLabel}></biggive-button>\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAyB,usH,MCOlBC,EAAmB,MALhC,WAAAC,CAAAC,G,UASUC,KAAUC,WAAW,EAIrBD,KAAUE,WAAW,EAIrBF,KAAiBG,kBAAW,UAK5BH,KAAQI,SAAW,EAInBJ,KAAUK,WAAW,GASrBL,KAAeM,gBAAW,GAI1BN,KAAaO,cAAW,EASxBP,KAAYQ,aAAW,EAIvBR,KAAcS,eAAW,GAUzBT,KAAYU,aAAW,GAoBvBV,KAAyBW,0BAAW,UAepCX,KAA2BY,4BAAW,SA0B/C,CAxBC,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,yBAA2BhB,KAAKG,kBAAoB,gBAAkBH,KAAKC,WAAa,gBAAkBD,KAAKE,YACzHY,EAAK,OAAAC,IAAA,2CAAAC,MAAM,UACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,gBAAkBhB,KAAKI,SAAW,gBAAkBJ,KAAKK,YAAaL,KAAKiB,MACvFH,EAAA,MAAAC,IAAA,2CAAIC,MAAO,iBAAmBhB,KAAKO,cAAgB,gBAAkBP,KAAKM,iBAAkBN,KAAKkB,WACjGJ,EAAA,OAAAC,IAAA,2CAAKC,MAAO,gBAAkBhB,KAAKQ,aAAe,gBAAkBR,KAAKS,gBAAiBT,KAAKmB,UAC/FL,EAAK,OAAAC,IAAA,2CAAAC,MAAO,sBAAwBhB,KAAKU,cAAeV,KAAKoB,QAC5DpB,KAAKqB,oBAAsB,MAAQrB,KAAKsB,kBAAoB,KAC3DR,EAAK,OAAAE,MAAM,eACTF,EAA+B,kCAAAd,KAAKW,0BAA2BY,IAAKvB,KAAKsB,iBAAkBE,MAAOxB,KAAKqB,sBAEvG,KACHrB,KAAKyB,sBAAwB,MAAQzB,KAAK0B,oBAAsB,KAC/DZ,EAAK,OAAAE,MAAM,eACTF,EAA+B,kCAAAd,KAAKY,4BAA6BW,IAAKvB,KAAK0B,mBAAoBF,MAAOxB,KAAKyB,wBAE3G,O","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveCampaignCardFilterGridCss","sortOptionLabels","relevance","amountRaised","leastRaised","closeToTarget","matchFundsRemaining","BiggiveCampaignCardFilterGrid","constructor","hostRef","this","sortByPlaceholderText","beneficiariesPlaceHolderText","categoriesPlaceHolderText","locationsPlaceHolderText","newSelectedFilterCategory","newSelectedFilterBeneficiary","newSelectedFilterLocation","spaceBelow","intro","searchText","placeholderText","buttonText","selectedFilterCategory","selectedFilterBeneficiary","selectedFilterLocation","categoryFilterSelectionChanged","value","beneficiarySelectionChanged","locationSelectionChanged","sortBySelectionChanged","selectedSortByOption","doSearchAndFilterUpdate","emit","getSearchAndFilterObject","handleApplyFilterButtonClick","_a","_b","_c","searchAndFilterObj","filterPopup","_d","el","shadowRoot","getElementById","closeFromOutside","filtersApplied","filterBeneficiary","filterCategory","filterLocation","handleSearchButtonPressed","unfocusTextInput","hasSearchTerm","handleSearchTextChanged","event","target","handleEnterPressed","ev","key","handleFilterButtonClick","openFromOutside","handleClearAll","initialSortByOption","forEach","id","theEl","selectedValue","selectedLabel","selectedFilters","querySelector","querySelectorAll","button","remove","sortBy","unfocusInputs","removeFilter","filterKey","exhaustiveSwitch","console","error","selectEl","input","blur","componentWillRender","render","sortOptions","getSortOptions","h","class","xmlns","viewBox","d","faMagnifyingGlass","icon","toString","type","placeholder","onInput","onKeyDown","onClick","label","colourScheme","fullWidth","backgroundColour","prompt","options","optionsToArray","categoryOptions","selectionChanged","beneficiaryOptions","locationOptions","getSelectedValue","length","name","sortByOption","undefined","selected","filter","option","toLowerCase","sortOptionKeys","Object","getOwnPropertyNames","relevantOptionKeys","map","JSON","parse","Array","isArray","entries","entry"],"sources":["src/components/biggive-campaign-card-filter-grid/biggive-campaign-card-filter-grid.scss?tag=biggive-campaign-card-filter-grid&encapsulation=shadow","src/components/biggive-campaign-card-filter-grid/biggive-campaign-card-filter-grid.tsx"],"sourcesContent":["@include spacers();\n\n:host {\n display: content;\n}\n\n// Each select needs a higher z-index than the one below,\n// so that the drop-down part will occlude it.\n.select-wrapper-1, .select-wrapper-2, .select-wrapper-3, .select-wrapper-4 {\n position: relative;\n margin-top: 1em;\n}\n.select-wrapper-1 {\n z-index: 4;\n}\n.select-wrapper-2 {\n z-index: 3;\n}\n.select-wrapper-3 {\n z-index: 2;\n }\n.select-wrapper-4 {\n z-index: 1;\n}\n\n.container {\n @include standard-font();\n position: relative;\n .search-wrap {\n @include lower-shadow();\n background-color: $colour-white;\n padding: $spacer-3 $spacer-4;\n margin-bottom: $spacer-3;\n h4 {\n margin-bottom: $spacer-3;\n }\n .field-wrap {\n @include flex-container-row();\n\n .input-wrap {\n @include flex-container-row();\n padding-bottom: $spacer-1;\n border-bottom: 1px solid $colour-black;\n margin-right: $spacer-4;\n flex-grow: 1;\n input {\n border: 0;\n }\n }\n button {\n padding: 5px 30px;\n }\n }\n }\n}\n.selected-filter-wrap {\n display: flex;\n margin-bottom: 23px;\n padding: 0;\n .button {\n margin-bottom: 7px;\n display: inline-block;\n cursor: pointer;\n border-radius: 20px;\n padding: 5px 50px 5px 20px;\n margin-right: 15px;\n background-color: $colour-tertiary-coral;;\n color: $colour-black;\n border: 1px solid $colour-tertiary-coral;\n text-decoration: none;\n background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTguNCAxOC40IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOC40IDE4LjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7c3Ryb2tlOiMwMDAwMDA7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNOS4yLDguNUwxNywwLjdsMC43LDAuN0w5LjksOS4ybDcuOCw3LjhMMTcsMTcuN0w5LjIsOS45bC03LjgsNy44TDAuNywxN2w3LjgtNy44TDAuNywxLjRsMC43LTAuN0w5LjIsOC41eiIvPgo8L3N2Zz4K);\n background-repeat: no-repeat;\n background-position: right 20px center;\n background-size: 12px auto;\n &:hover {\n background-color: $colour-white;\n color: $colour-black;\n }\n }\n .clear-all {\n margin-left: auto;\n a {\n display: inline-block;\n cursor: pointer;\n border-radius: 20px;\n padding: 5px 20px;\n background-color: $colour-primary-blue;\n color: $colour-white;\n border: 1px solid $colour-primary-blue;\n text-decoration: none;\n &:hover {\n background-color: $colour-white;\n color: $colour-primary-blue;\n }\n }\n }\n}\n\n.sort-filter-wrap {\n display: flex;\n justify-content: flex-end;\n margin-bottom: $spacer-4;\n padding: 0;\n text-align: right;\n .clear-all {\n cursor: pointer;\n vertical-align: center;\n margin-top: auto;\n margin-bottom: auto;\n }\n\n display: flex;\n .sort-wrap {\n margin-left: 15px;\n }\n\n .filter-wrap {\n background-color: $colour-grey-background; // temp for testing dropdown\n\n margin-left: $spacer-3;\n\n .button.filter {\n padding-left: 60px;\n padding-right: 30px;\n\n .filter-icon {\n content: '';\n display: block;\n position: absolute;\n left: 25px;\n top: 17px;\n width: 13px;\n height: 13px;\n\n svg {\n width: 100%;\n height: auto;\n vertical-align: top;\n\n &:hover {\n fill: $colour-primary-blue;\n }\n }\n }\n }\n }\n}\n\n.icon {\n @include icon();\n margin: auto;\n\n > path {\n fill: $colour-primary-blue;\n }\n}\n\n.icon-clear-all {\n > path {\n fill: $colour-black;\n }\n}\n\n@media screen and (max-width: $screen-mobile-small) {\n .sort-filter-wrap {\n flex-direction: column-reverse;\n .sort-wrap {\n margin-top: 20px;\n margin-bottom: 20px;\n }\n }\n}\n\n@media screen and (max-width: $screen-mobile-x-small) {\n .sort-filter-wrap {\n justify-content: space-between;\n .sort-wrap {\n margin-left: 0px;\n }\n .filter-wrap {\n margin-left: 3px;\n }\n }\n}\n\n.align-right {\n text-align: right;\n}\n\n.input-text {\n @include input-text();\n}\n\n.text-colour-primary {\n color: $colour-primary-blue;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport { faMagnifyingGlass } from '@fortawesome/pro-solid-svg-icons';\n\nconst sortOptionLabels = {\n relevance: 'Relevance',\n amountRaised: 'Most raised',\n leastRaised: 'Least raised',\n closeToTarget: 'Nearest target',\n matchFundsRemaining: 'Most funds remaining',\n} as const;\n\nexport type sortOptionKey = keyof typeof sortOptionLabels;\nexport type sortOptionLabel = (typeof sortOptionLabels)[sortOptionKey];\n\n@Component({\n tag: 'biggive-campaign-card-filter-grid',\n styleUrl: 'biggive-campaign-card-filter-grid.scss',\n shadow: true,\n})\nexport class BiggiveCampaignCardFilterGrid {\n private sortByPlaceholderText = 'Sort by';\n private beneficiariesPlaceHolderText = 'Select beneficiary';\n private categoriesPlaceHolderText = 'Select category';\n private locationsPlaceHolderText = 'Select location';\n private initialSortByOption: sortOptionLabel;\n\n /**\n * This and similar properties represent selections made in the popup but not yet applied.\n */\n private newSelectedFilterCategory: string | null = null;\n private newSelectedFilterBeneficiary: string | null = null;\n private newSelectedFilterLocation: string | null = null;\n\n @Element() el: HTMLBiggiveCampaignCardFilterGridElement;\n\n /**\n * This event `doSearchAndFilterUpdate` event is emitted and propogates to the parent\n * component which handles it\n */\n @Event({\n eventName: 'doSearchAndFilterUpdate',\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n doSearchAndFilterUpdate: EventEmitter<{\n searchText: string | null;\n sortBy: string | null;\n filterCategory: string | null;\n filterBeneficiary: string | null;\n filterLocation: string | null;\n }>;\n\n /**\n * Typically on non-negligible scroll away from the search area.\n */\n @Method() async unfocusInputs() {\n this.unfocusTextInput();\n }\n\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 0;\n\n /**\n * Intro\n */\n @Prop() intro: string = 'Find a charity or project';\n\n /**\n * Optional search text prop. Useful for pre-populating the search field\n * when the page is loaded with a search term already existing in the URL.\n * This can happen when sharing links, or if a donor goes to a campaign page\n * after searching, and then returns to the search results. In such a case,\n * the search box text will clear, unless we use this prop to populate it on\n * rendering. DON-652.\n */\n @Prop() searchText: string | null = null;\n\n /**\n * Defines the text displayed as the placeholder in the input field\n * before the user types anything\n */\n @Prop() placeholderText: string = 'Search';\n\n /**\n * Defines the text on the search button\n */\n @Prop() buttonText: string = 'Search';\n\n /**\n * JSON array of category key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() categoryOptions: string | Record<string, string> | string[];\n\n /**\n * JSON array of beneficiary key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() beneficiaryOptions: string | Record<string, string> | string[];\n\n /**\n * JSON array of location key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() locationOptions: string | Record<string, string> | string[];\n\n /**\n * This helps us inject a pre-selected dropdown value from outside of this component.\n * This is especially helpful for the Meta campaign and Explore pages, where searching\n * by text wipes out previous sort options and re-uses Relevance, or where one of those\n * two pages is loaded directly with URL parameters - in such a scenario the dropdown\n * shows that it's pre-selected. DON-558.\n */\n @Prop({ mutable: true })\n selectedSortByOption: sortOptionLabel;\n\n /**\n * For injecting the chosen category to filter by, as per the comment above for `selectedSortByOption`.\n */\n @Prop({ mutable: true }) selectedFilterCategory: string | null = null;\n\n /**\n * For injecting the chosen beneficiary to filter by, as per the comment above for `selectedSortByOption`.\n */\n @Prop({ mutable: true }) selectedFilterBeneficiary: string | null = null;\n\n /**\n * For injecting the chosen location to filter by, as per the comment above for `selectedSortByOption`.\n */\n @Prop({ mutable: true }) selectedFilterLocation: string | null = null;\n\n /**\n * State variable - causes re-render on change\n */\n @State() filtersApplied: boolean;\n\n private categoryFilterSelectionChanged = (value: string) => {\n this.newSelectedFilterCategory = value;\n };\n\n private beneficiarySelectionChanged = (value: string) => {\n this.newSelectedFilterBeneficiary = value;\n };\n\n private locationSelectionChanged = (value: string) => {\n this.newSelectedFilterLocation = value;\n };\n\n private sortBySelectionChanged = (value: sortOptionLabel) => {\n this.selectedSortByOption = value;\n this.doSearchAndFilterUpdate.emit(this.getSearchAndFilterObject());\n };\n\n private getSearchAndFilterObject() {\n return {\n searchText: this.searchText,\n sortBy: this.selectedSortByOption,\n filterCategory: this.selectedFilterCategory,\n filterBeneficiary: this.selectedFilterBeneficiary,\n filterLocation: this.selectedFilterLocation,\n };\n }\n\n private handleApplyFilterButtonClick = () => {\n this.selectedFilterCategory = this.newSelectedFilterCategory ?? this.selectedFilterCategory;\n this.selectedFilterBeneficiary = this.newSelectedFilterBeneficiary ?? this.selectedFilterBeneficiary;\n this.selectedFilterLocation = this.newSelectedFilterLocation ?? this.selectedFilterLocation;\n\n const searchAndFilterObj = this.getSearchAndFilterObject();\n this.doSearchAndFilterUpdate.emit(searchAndFilterObj);\n\n const filterPopup = this.el.shadowRoot?.getElementById('filter-popup') as HTMLBiggivePopupElement | undefined;\n if (filterPopup) {\n filterPopup.closeFromOutside();\n }\n\n this.filtersApplied =\n typeof searchAndFilterObj.filterBeneficiary === 'string' || typeof searchAndFilterObj.filterCategory === 'string' || typeof searchAndFilterObj.filterLocation === 'string';\n };\n\n private removeFilter(filterKey: 'locations' | 'categories' | 'beneficiaries') {\n switch (filterKey) {\n case 'beneficiaries':\n this.selectedFilterBeneficiary = null;\n break;\n case 'categories':\n this.selectedFilterCategory = null;\n break;\n case 'locations':\n this.selectedFilterLocation = null;\n break;\n default:\n // This asks the compiler to check that we are in dead code, i.e. we covered all the possible filter keys\n // above. If we missed one we would get a compile error trying to assign a string to a never.\n const exhaustiveSwitch: never = filterKey;\n console.error(exhaustiveSwitch);\n }\n\n const selectEl = this.el.shadowRoot?.getElementById(filterKey) as HTMLBiggiveFormFieldSelectElement | undefined;\n if (!selectEl) {\n return;\n }\n\n selectEl.selectedLabel = null;\n selectEl.selectedValue = null;\n this.doSearchAndFilterUpdate.emit(this.getSearchAndFilterObject());\n }\n\n private handleSearchButtonPressed = () => {\n this.unfocusTextInput();\n this.doSearchAndFilterUpdate.emit(this.getSearchAndFilterObject());\n\n if (this.hasSearchTerm()) {\n this.selectedSortByOption = 'Relevance';\n }\n };\n\n private handleSearchTextChanged = (event: any) => {\n this.searchText = event.target.value;\n };\n\n private handleEnterPressed = (ev: KeyboardEvent) => {\n if (ev.key === 'Enter') {\n this.unfocusTextInput();\n this.doSearchAndFilterUpdate.emit(this.getSearchAndFilterObject());\n }\n };\n\n private handleFilterButtonClick = () => {\n this.newSelectedFilterBeneficiary = this.selectedFilterBeneficiary;\n this.newSelectedFilterCategory = this.selectedFilterCategory;\n this.newSelectedFilterLocation = this.selectedFilterLocation;\n\n const filterPopup = this.el.shadowRoot?.getElementById('filter-popup') as HTMLBiggivePopupElement | undefined;\n if (filterPopup) {\n filterPopup.openFromOutside();\n }\n };\n\n private handleClearAll = () => {\n this.unfocusTextInput();\n\n // Set the 'Filters' button back to the primary background colour\n this.filtersApplied = false;\n\n // Clear all\n this.searchText = null;\n this.selectedSortByOption = this.initialSortByOption;\n this.selectedFilterBeneficiary = null;\n this.selectedFilterCategory = null;\n this.selectedFilterLocation = null;\n\n // Clear <biggive-form-field-select> components' internal selectedValue and selectedLabel. DON-654.\n ['sort-by', 'categories', 'beneficiaries', 'locations', 'funding'].forEach(id => {\n const theEl = this.el.shadowRoot?.getElementById(id) as HTMLBiggiveFormFieldSelectElement | undefined;\n if (!theEl) {\n return;\n }\n\n theEl.selectedValue = null;\n theEl.selectedLabel = null;\n });\n\n const selectedFilters = this.el.shadowRoot?.querySelector('.selected-filters');\n if (selectedFilters) {\n selectedFilters.querySelectorAll('.button').forEach(button => {\n button.remove();\n });\n }\n\n // Emit the doSearchAndFilterUpdate event with null values. DON-654\n this.doSearchAndFilterUpdate.emit({\n searchText: null,\n sortBy: null,\n filterCategory: null,\n filterBeneficiary: null,\n filterLocation: null,\n });\n };\n\n /**\n * We've seen desktop Safari jump to this input when it's focused at times when that's\n * unhelpful, so on a few occasions we proactively blur it.\n */\n private unfocusTextInput() {\n const input = this.el.shadowRoot?.querySelector('.input-text') as HTMLInputElement | undefined;\n input?.blur();\n }\n\n componentWillRender() {\n this.filtersApplied = this.selectedFilterCategory !== null || this.selectedFilterBeneficiary !== null || this.selectedFilterLocation !== null;\n this.initialSortByOption = this.selectedSortByOption;\n }\n\n render() {\n const sortOptions = this.getSortOptions();\n\n return (\n <div class={'container space-below-' + this.spaceBelow}>\n <div class=\"sleeve\">\n <div class=\"search-wrap\">\n <h4>{this.intro}</h4>\n <div class=\"field-wrap\">\n <div class=\"input-wrap\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon\" viewBox=\"0 0 512 512\">\n <path d={faMagnifyingGlass.icon[4].toString()} />\n </svg>\n <input\n type=\"text\"\n value={this.searchText ?? ''}\n class=\"input-text\"\n placeholder={this.placeholderText}\n onInput={this.handleSearchTextChanged}\n onKeyDown={this.handleEnterPressed}\n />\n </div>\n <biggive-button onClick={this.handleSearchButtonPressed} label={this.buttonText} />\n </div>\n </div>\n <div class=\"sort-filter-wrap\">\n <div class=\"filter-wrap\">\n <biggive-button class=\"filter\" colourScheme=\"primary\" onClick={this.handleFilterButtonClick} label=\"Filter\" fullWidth={true} space-below=\"0\"></biggive-button>\n <biggive-popup id=\"filter-popup\">\n <h4 class=\"space-above-0 space-below-3 text-colour-primary\">Filters</h4>\n <div class=\"select-wrapper-1\">\n <biggive-form-field-select\n backgroundColour=\"white\"\n prompt=\"Category\"\n placeholder={this.categoriesPlaceHolderText}\n selectedLabel={this.selectedFilterCategory}\n selectedValue={this.selectedFilterCategory}\n options={this.optionsToArray(this.categoryOptions || [])}\n selectionChanged={this.categoryFilterSelectionChanged}\n id=\"categories\"\n space-below=\"2\"\n ></biggive-form-field-select>\n </div>\n\n <div class=\"select-wrapper-2\">\n <biggive-form-field-select\n backgroundColour=\"white\"\n prompt=\"Beneficiary\"\n placeholder={this.beneficiariesPlaceHolderText}\n selectedLabel={this.selectedFilterBeneficiary}\n selectedValue={this.selectedFilterBeneficiary}\n options={this.optionsToArray(this.beneficiaryOptions || [])}\n selectionChanged={this.beneficiarySelectionChanged}\n id=\"beneficiaries\"\n space-below=\"2\"\n ></biggive-form-field-select>\n </div>\n\n <div class=\"select-wrapper-3\">\n <biggive-form-field-select\n backgroundColour=\"white\"\n prompt=\"Location\"\n placeholder={this.locationsPlaceHolderText}\n selectedLabel={this.selectedFilterLocation}\n selectedValue={this.selectedFilterLocation}\n options={this.optionsToArray(this.locationOptions || [])}\n selectionChanged={this.locationSelectionChanged}\n id=\"locations\"\n space-below=\"2\"\n ></biggive-form-field-select>\n </div>\n\n <div class=\"align-right\">\n <biggive-button label=\"Apply filters\" onClick={this.handleApplyFilterButtonClick} />\n </div>\n </biggive-popup>\n </div>\n\n <div class=\"sort-wrap\">\n <biggive-form-field-select\n options={sortOptions}\n prompt={null}\n select-style=\"underlined\"\n placeholder={this.sortByPlaceholderText}\n selectedLabel={this.selectedSortByOption}\n selectedValue={this.getSelectedValue()}\n selectionChanged={this.sortBySelectionChanged}\n id=\"sort-by\"\n >\n <biggive-form-field-select-option value=\"amountRaised\" label=\"Most raised\"></biggive-form-field-select-option>\n <biggive-form-field-select-option value=\"leastRaised\" label=\"Least raised\"></biggive-form-field-select-option>\n <biggive-form-field-select-option value=\"matchFundsRemaining\" label=\"Most funds remaining\"></biggive-form-field-select-option>\n <biggive-form-field-select-option value=\"closeToTarget\" label=\"Nearest target\"></biggive-form-field-select-option>\n {(this.searchText || '').length > 0 ? <biggive-form-field-select-option value=\"Relevance\" label=\"Relevance\"></biggive-form-field-select-option> : null}\n </biggive-form-field-select>\n </div>\n </div>\n <div class=\"selected-filter-wrap\">\n <div class=\"selected-filters\">\n {this.selectedFilterCategory && (\n <span\n class=\"button\"\n onClick={() => {\n this.removeFilter('categories');\n }}\n >\n {this.selectedFilterCategory}\n </span>\n )}\n {this.selectedFilterBeneficiary && (\n <span\n class=\"button\"\n onClick={() => {\n this.removeFilter('beneficiaries');\n }}\n >\n {this.selectedFilterBeneficiary}\n </span>\n )}\n {this.selectedFilterLocation && (\n <span\n class=\"button\"\n onClick={() => {\n this.removeFilter('locations');\n }}\n >\n {this.selectedFilterLocation}\n </span>\n )}\n </div>\n <div class=\"clear-all\">\n <a onClick={this.handleClearAll}>Clear all</a>\n </div>\n </div>\n <div class=\"campaign-grid\">\n <slot name=\"campaign-grid\"></slot>\n </div>\n </div>\n </div>\n );\n }\n\n // I'm not sure if I understand the reasoning for own-methods-must-be-private. I made the method below public to unit\n // test it. Maybe the idea is that we should move anything with enough logic to test outside the component class? I\n // can do that if people think it's better.\n //\n // eslint-disable-next-line @stencil-community/own-methods-must-be-private\n public getSelectedValue(): undefined | string {\n const sortByOption = this.selectedSortByOption;\n if (sortByOption === undefined) {\n return undefined;\n }\n const sortOptions = this.getSortOptions();\n const selected = sortOptions.filter(option => {\n return option.label.toLowerCase() === sortByOption.toLowerCase();\n })[0];\n\n return selected?.value;\n }\n\n private getSortOptions(): {\n label: sortOptionLabel;\n value: sortOptionKey;\n }[] {\n // @ts-ignore - see https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208\n const sortOptionKeys: sortOptionKey[] = Object.getOwnPropertyNames(sortOptionLabels);\n const relevantOptionKeys = sortOptionKeys.filter(key => key !== 'relevance' || this.hasSearchTerm());\n\n return relevantOptionKeys.map((key: sortOptionKey) => ({ value: key, label: sortOptionLabels[key] }));\n }\n\n private hasSearchTerm() {\n return typeof this.searchText === 'string' && this.searchText.length > 0;\n }\n\n private optionsToArray(options: string | Record<string, string> | string[]): {\n label: string;\n value: string;\n }[] {\n if (typeof options === 'string') {\n options = JSON.parse(options);\n }\n if (Array.isArray(options)) {\n return options.map((option: string) => ({ value: option, label: option }));\n }\n\n return Object.entries(options).map(entry => ({ value: entry[0], label: entry[1] }));\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveNavItemCss","BiggiveNavItem","render","h","key","class","this","iconColour","href","url","label"],"sources":["src/components/biggive-nav-item/biggive-nav-item.scss?tag=biggive-nav-item&encapsulation=shadow","src/components/biggive-nav-item/biggive-nav-item.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n\nli {\n @include standard-font();\n list-style-type: none;\n padding: 0;\n margin: 0;\n display: inline-block;\n\n\n}\n\n::slotted(*) {\n display: none;\n}","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'biggive-nav-item',\n styleUrl: 'biggive-nav-item.scss',\n shadow: true,\n})\nexport class BiggiveNavItem {\n /**\n * URL\n */\n @Prop() url: string;\n /**\n * Label\n */\n @Prop() label: string;\n /**\n * URL\n */\n @Prop() iconColour: string;\n\n render() {\n return (\n <li class={'icon-' + this.iconColour}>\n <a href={this.url}>{this.label}</a>\n <slot></slot>\n </li>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAoB,qQ,MCObC,EAAc,M,yBAczB,MAAAC,GACE,OACEC,EAAA,MAAAC,IAAA,2CAAIC,MAAO,QAAUC,KAAKC,YACxBJ,EAAG,KAAAC,IAAA,2CAAAI,KAAMF,KAAKG,KAAMH,KAAKI,OACzBP,EAAa,QAAAC,IAAA,6C","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveImageCardCss","BiggiveImageCard","constructor","hostRef","this","spaceBelow","backgroundColour","textAlign","teaserColour","buttonAlign","buttonStyle","buttonColourScheme","clipBottomLeftCorner","clipTopRightCorner","addAnimation","render","h","key","class","href","buttonUrl","mainImageUrl","src","alt","mainImageAltText","title","teaser","buttonLabel","label"],"sources":["src/components/biggive-image-card/biggive-image-card.scss?tag=biggive-image-card&encapsulation=shadow","src/components/biggive-image-card/biggive-image-card.tsx"],"sourcesContent":["@include backgrounds();\n@include fills();\n@include spacers();\n@include text-colours();\n\n:host {\n display: contents;\n}\n\n.container {\n @include standard-font();\n position: relative;\n text-align: center;\n background-size: cover;\n background-position: center center;\n padding: $spacer-2;\n height: 100%;\n white-space: pre-wrap;\n box-shadow: 0px 0px 30px rgb(0 0 0 / 20%);\n a,\n a:hover {\n text-decoration: none;\n }\n .sleeve {\n padding: $spacer-2;\n height: 100%;\n box-sizing: border-box;\n transition: all 1s ease-in-out;\n }\n &.add-animation-true:hover .sleeve {\n margin: -30px;\n padding: 60px;\n height: calc(100% + 60px);\n }\n &.clip-bottom-left-corner-false.clip-top-right-corner-true {\n @include corner-clip-medium-top-right();\n }\n &.clip-bottom-left-corner-true.clip-top-right-corner-false {\n @include corner-clip-medium-bottom-left();\n }\n &.clip-bottom-left-corner-true.clip-top-right-corner-true {\n @include corner-clip-medium-bottom-left-top-right();\n }\n\n .icon {\n svg {\n width: 50px;\n height: auto;\n }\n }\n .title {\n // these have to be the heading level passed in based on order of headings, but in terms of design we want it look like H3.\n @include heading-3();\n margin-bottom: $spacer-3;\n }\n .teaser {\n margin-bottom: $spacer-3;\n }\n .main-image-container {\n margin-bottom: 15px;\n img {\n width: 100%;\n height: auto;\n }\n }\n .button-wrap {\n text-align: center;\n &.align-left {\n text-align: left;\n }\n &.align-right {\n text-align: right;\n }\n }\n\n .text-align-left {\n text-align: left;\n }\n .text-align-center {\n text-align: center;\n }\n .text-align-right {\n text-align: right;\n }\n\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport { brandColour } from '../../globals/brand-colour';\nimport { spacingOption } from '../../globals/spacing-option';\n\n@Component({\n tag: 'biggive-image-card',\n styleUrl: 'biggive-image-card.scss',\n shadow: true,\n})\nexport class BiggiveImageCard {\n @Prop() spaceBelow: spacingOption = 0;\n\n @Prop() backgroundColour: brandColour = 'primary';\n\n @Prop() mainImageUrl: string;\n\n @Prop() mainImageAltText: string;\n\n @Prop() textAlign: 'left' | 'center' | 'right' = 'center';\n\n @Prop() teaser: string;\n\n @Prop() teaserColour: brandColour = 'black';\n\n @Prop() buttonAlign: string = 'center';\n\n @Prop() buttonStyle: string = 'standard';\n\n @Prop() buttonLabel: string;\n\n @Prop() buttonUrl: string;\n\n @Prop() buttonColourScheme: string = 'clear-primary';\n\n @Prop() clipBottomLeftCorner: boolean = true;\n\n @Prop() clipTopRightCorner: boolean = true;\n\n @Prop() addAnimation: boolean = false;\n\n render() {\n return (\n <div\n class={\n 'container space-below-' +\n this.spaceBelow +\n ' background-colour-' +\n this.backgroundColour +\n ' clip-bottom-left-corner-' +\n this.clipBottomLeftCorner +\n ' clip-top-right-corner-' +\n this.clipTopRightCorner +\n ' add-animation-' +\n this.addAnimation\n }\n >\n <a href={this.buttonUrl}>\n <div class={'sleeve text-colour-' + this.teaserColour + ' text-align-' + this.textAlign}>\n <div class=\"content-wrap\">\n {this.mainImageUrl != '' ? (\n <div class=\"main-image-container\">\n <div class=\"image-wrap\">\n <img src={this.mainImageUrl} alt={this.mainImageAltText} title={this.mainImageAltText} />\n </div>\n </div>\n ) : null}\n <div class=\"teaser\">{this.teaser}</div>\n {this.buttonLabel != null && this.buttonUrl != null && this.buttonUrl != '' ? (\n <div class={'button-wrap align-' + this.buttonAlign}>\n <biggive-button colour-scheme={this.buttonColourScheme} label={this.buttonLabel}></biggive-button>\n </div>\n ) : null}\n </div>\n </div>\n </a>\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAsB,g+Q,MCSfC,EAAgB,MAL7B,WAAAC,CAAAC,G,UAMUC,KAAUC,WAAkB,EAE5BD,KAAgBE,iBAAgB,UAMhCF,KAASG,UAAgC,SAIzCH,KAAYI,aAAgB,QAE5BJ,KAAWK,YAAW,SAEtBL,KAAWM,YAAW,WAMtBN,KAAkBO,mBAAW,gBAE7BP,KAAoBQ,qBAAY,KAEhCR,KAAkBS,mBAAY,KAE9BT,KAAYU,aAAY,KAwCjC,CAtCC,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MACE,yBACAd,KAAKC,WACL,sBACAD,KAAKE,iBACL,4BACAF,KAAKQ,qBACL,0BACAR,KAAKS,mBACL,kBACAT,KAAKU,cAGPE,EAAA,KAAAC,IAAA,2CAAGE,KAAMf,KAAKgB,WACZJ,EAAA,OAAAC,IAAA,2CAAKC,MAAO,sBAAwBd,KAAKI,aAAe,eAAiBJ,KAAKG,WAC5ES,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACRd,KAAKiB,cAAgB,GACpBL,EAAA,OAAKE,MAAM,wBACTF,EAAK,OAAAE,MAAM,cACTF,EAAK,OAAAM,IAAKlB,KAAKiB,aAAcE,IAAKnB,KAAKoB,iBAAkBC,MAAOrB,KAAKoB,qBAGvE,KACJR,EAAA,OAAAC,IAAA,2CAAKC,MAAM,UAAUd,KAAKsB,QACzBtB,KAAKuB,aAAe,MAAQvB,KAAKgB,WAAa,MAAQhB,KAAKgB,WAAa,GACvEJ,EAAA,OAAKE,MAAO,qBAAuBd,KAAKK,aACtCO,EAA+B,kCAAAZ,KAAKO,mBAAoBiB,MAAOxB,KAAKuB,eAEpE,Q","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveProgressBarCss","BiggiveProgressBar","constructor","hostRef","this","spaceBelow","colourScheme","counter","render","visibility","h","key","style","class","width","Math","min","_a"],"sources":["src/components/biggive-progress-bar/biggive-progress-bar.scss?tag=biggive-progress-bar&encapsulation=shadow","src/components/biggive-progress-bar/biggive-progress-bar.tsx"],"sourcesContent":["@include spacers();\n\n:host {\n display: block;\n margin-bottom: $spacer-1;\n @include standard-font();\n}\n\n.progress-bar {\n @include progress-bar();\n}\n\n.progress-bar-primary {\n @include progress-bar-primary();\n}\n\n.progress-bar-secondary {\n @include progress-bar-secondary();\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'biggive-progress-bar',\n styleUrl: 'biggive-progress-bar.scss',\n shadow: true,\n})\nexport class BiggiveProgressBar {\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 0;\n /**\n * Colour Scheme\n */\n @Prop() colourScheme: string = 'primary';\n\n /**\n * Percentage to show + use for CSS width; round before input if desired\n */\n @Prop() counter?: number | null = null;\n\n render() {\n // important to use 'inherit' below rather than visible as the parent element may be hidden, in which case\n // this should not show up.\n const visibility = typeof this.counter === 'number' ? 'inherit' : 'hidden';\n\n return (\n <div style={{ visibility: visibility }} class={'progress-bar progress-bar-' + this.colourScheme + ' space-below-' + this.spaceBelow}>\n <div class=\"slider\">\n <div class=\"progress\" style={{ width: `${Math.min(this.counter ?? 0, 100)}%` }}></div>\n </div>\n <div class=\"counter\">{this.counter}%</div>\n </div>\n );\n }\n}\n"],"mappings":"sCAAA,MAAMA,EAAwB,8wC,MCOjBC,EAAkB,MAL/B,WAAAC,CAAAC,G,UASUC,KAAUC,WAAW,EAIrBD,KAAYE,aAAW,UAKvBF,KAAOG,QAAmB,IAgBnC,CAdC,MAAAC,G,MAGE,MAAMC,SAAoBL,KAAKG,UAAY,SAAW,UAAY,SAElE,OACEG,EAAA,OAAAC,IAAA,2CAAKC,MAAO,CAAEH,WAAYA,GAAcI,MAAO,6BAA+BT,KAAKE,aAAe,gBAAkBF,KAAKC,YACvHK,EAAK,OAAAC,IAAA,2CAAAE,MAAM,UACTH,EAAK,OAAAC,IAAA,2CAAAE,MAAM,WAAWD,MAAO,CAAEE,MAAO,GAAGC,KAAKC,KAAIC,EAAAb,KAAKG,WAAW,MAAAU,SAAA,EAAAA,EAAA,EAAG,YAEvEP,EAAK,OAAAC,IAAA,2CAAAE,MAAM,WAAWT,KAAKG,QAAe,K","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggivePageColumnsCss","BiggivePageColumns","constructor","hostRef","this","spaceBelow","render","h","key","class","name"],"sources":["src/components/biggive-page-columns/biggive-page-columns.scss?tag=biggive-page-columns&encapsulation=shadow","src/components/biggive-page-columns/biggive-page-columns.tsx"],"sourcesContent":["@include spacers();\n\n:host {\n display: contents;\n}\n\n.columns {\n @include section-container();\n display: flex;\n flex-flow: row wrap;\n justify-content: space-between; \n .column-primary {\n width: calc(66.6% - $spacer-3);\n box-sizing: border-box;\n }\n .column-secondary {\n width: calc(33.4% - $spacer-3);\n box-sizing: border-box;\n }\n}\n\n@media screen and (max-width: $screen-tablet-max) {\n .columns {\n .column-primary {\n width: 100%;\n margin-bottom: $spacer-3;\n }\n .column-secondary {\n width: 100%;\n }\n }\n}\n\n\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'biggive-page-columns',\n styleUrl: 'biggive-page-columns.scss',\n shadow: true,\n})\nexport class BiggivePageColumns {\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 0;\n\n render() {\n return (\n <div class={'container space-below-' + this.spaceBelow}>\n <div class=\"columns\">\n <div class=\"column-primary\">\n <slot name=\"column-primary\"></slot>\n </div>\n <div class=\"column-secondary\">\n <slot name=\"column-secondary\"></slot>\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAwB,q9B,MCOjBC,EAAkB,MAL/B,WAAAC,CAAAC,G,UASUC,KAAUC,WAAW,CAgB9B,CAdC,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,yBAA2BL,KAAKC,YAC1CE,EAAK,OAAAC,IAAA,2CAAAC,MAAM,WACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,kBACTF,EAAA,QAAAC,IAAA,2CAAME,KAAK,oBAEbH,EAAK,OAAAC,IAAA,2CAAAC,MAAM,oBACTF,EAAM,QAAAC,IAAA,2CAAAE,KAAK,uB","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,g as o}from"./p-Bw8i6zSc.js";const r="a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}:host{display:block}";const e=class{constructor(o){t(this,o);this.heading=""}render(){return null}get host(){return o(this)}};e.style=r;export{e as biggive_accordion_entry};
|
|
2
|
-
//# sourceMappingURL=p-b8e3a0c3.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveAccordionEntryCss","BiggiveAccordionEntry","constructor","hostRef","this","heading","render"],"sources":["src/components/biggive-accordion-entry/biggive-accordion-entry.scss?tag=biggive-accordion-entry&encapsulation=shadow","src/components/biggive-accordion-entry/biggive-accordion-entry.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Prop, Element } from '@stencil/core';\n\n@Component({\n tag: 'biggive-accordion-entry',\n styleUrl: 'biggive-accordion-entry.scss',\n shadow: true,\n})\nexport class BiggiveAccordionEntry {\n @Element() host: HTMLBiggiveAccordionEntryElement;\n\n @Prop() heading: string = '';\n\n render() {\n return null;\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAA2B,8F,MCOpBC,EAAqB,MALlC,WAAAC,CAAAC,G,UAQUC,KAAOC,QAAW,EAK3B,CAHC,MAAAC,GACE,OAAO,I","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveBackToTopCss","BiggiveBackToTop","render","h","key","class","href","src","getAssetPath"],"sources":["src/components/biggive-back-to-top/biggive-back-to-top.scss?tag=biggive-back-to-top&encapsulation=shadow","src/components/biggive-back-to-top/biggive-back-to-top.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n\n.container {\n @include standard-font();\n margin: $spacer-4 0;\n text-align: center;\n a {\n display: inline-block;\n .text {\n display: block;\n }\n }\n}","import { Component, getAssetPath, h } from '@stencil/core';\n\n@Component({\n tag: 'biggive-back-to-top',\n styleUrl: 'biggive-back-to-top.scss',\n shadow: true,\n})\nexport class BiggiveBackToTop {\n render() {\n return (\n <div class=\"container\">\n <a href=\"#\">\n <img src={getAssetPath('/assets/images/triangles-combined.svg')} />\n <span class=\"text\">Back to top</span>\n </a>\n </div>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAsB,yR,MCOfC,EAAgB,M,yBAC3B,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,aACTF,EAAG,KAAAC,IAAA,2CAAAE,KAAK,KACNH,EAAA,OAAAC,IAAA,2CAAKG,IAAKC,EAAa,2CACvBL,EAAA,QAAAC,IAAA,2CAAMC,MAAM,QAAM,gB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveVideoFeatureCss","BiggiveVideoFeature","constructor","hostRef","this","spaceAbove","spaceBelow","defaultTextColour","videoUrl","slugColour","mainTitleColour","teaserColour","buttonColourScheme","render","youtubeClass","includes","h","key","class","slug","mainTitle","teaser","buttonLabel","buttonUrl","url","label","undefined","innerHTML","VideoService","getEmbedHtml"],"sources":["src/components/biggive-video-feature/biggive-video-feature.scss?tag=biggive-video-feature&encapsulation=shadow","src/components/biggive-video-feature/biggive-video-feature.tsx"],"sourcesContent":["@include spacers();\n@include text-colours();\n\n:host {\n display: contents;\n}\n\n.video-wrap {\n @include video-wrap();\n}\n\n.video-wrap.youtube {\n padding-bottom: 56.25%;\n}\n\n.container {\n @include standard-font();\n position: relative;\n .sleeve {\n @include flex-container-row();\n .content-wrap {\n width: calc(40% - $spacer-3);\n position: relative;\n z-index: 1;\n .slug {\n @include heading-4;\n margin: 0;\n padding: 0;\n }\n h2 {\n @include heading-2;\n margin: 0 0 $spacer-3 0;\n padding: 0;\n }\n .teaser {\n margin: 0 0 $spacer-5 0;\n padding: 0;\n }\n }\n .graphic-wrap {\n width: calc(60% - $spacer-3);\n }\n }\n}\n\n@media screen and (max-width: $screen-mobile-max) {\n .container {\n .sleeve {\n flex-wrap: wrap;\n .content-wrap {\n width: 100%;\n }\n .graphic-wrap {\n padding-top: 20px;\n width: 100%;\n margin-bottom: $spacer-3;\n }\n }\n }\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport { VideoService } from '../../util/video';\n\n@Component({\n tag: 'biggive-video-feature',\n styleUrl: 'biggive-video-feature.scss',\n shadow: true,\n})\nexport class BiggiveVideoFeature {\n /**\n * Space above component\n */\n @Prop() spaceAbove: number = 0;\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 0;\n /**\n * Default text colour\n */\n @Prop() defaultTextColour: string = 'primary';\n\n /**\n * Full URL of a video.\n */\n @Prop() videoUrl: string = '';\n\n /**\n * Slug\n */\n @Prop() slug: string;\n\n /**\n * Slug colour\n */\n @Prop() slugColour: string = '';\n\n /**\n * Video title\n */\n @Prop() mainTitle: string;\n\n /**\n * Slug colour\n */\n @Prop() mainTitleColour: string = '';\n\n /**\n * Introductory teaser text\n */\n @Prop() teaser: string;\n\n /**\n * Teaser colour\n */\n @Prop() teaserColour: string = '';\n\n /**\n * Button Url\n */\n @Prop() buttonUrl: string;\n\n /**\n * Button Label\n */\n @Prop() buttonLabel: string;\n\n /**\n * Button Colour Scheme\n */\n @Prop() buttonColourScheme: string = 'primary';\n\n render() {\n const youtubeClass = this.videoUrl.includes('youtube.com') ? ' youtube' : '';\n\n return (\n <div class={'container text-colour-' + this.defaultTextColour + ' space-above-' + this.spaceAbove + ' space-below-' + this.spaceBelow}>\n <div class=\"sleeve\">\n <div class=\"content-wrap\">\n <div class={'slug text-colour-' + this.slugColour}>{this.slug}</div>\n <h2 class={'title text-colour-' + this.mainTitleColour}>{this.mainTitle}</h2>\n <div class={'teaser text-colour-' + this.teaserColour}>{this.teaser}</div>\n {this.buttonLabel != null && this.buttonUrl != null ? (\n <biggive-button colour-scheme={this.buttonColourScheme} url={this.buttonUrl} label={this.buttonLabel}></biggive-button>\n ) : null}\n </div>\n <div class=\"graphic-wrap\">\n {this.videoUrl !== null && this.videoUrl !== undefined ? (\n <div class={'video-wrap' + youtubeClass} innerHTML={VideoService.getEmbedHtml(this.videoUrl, this.mainTitle)}></div>\n ) : null}\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"+EAAA,MAAMA,EAAyB,m3H,MCQlBC,EAAmB,MALhC,WAAAC,CAAAC,G,UASUC,KAAUC,WAAW,EAIrBD,KAAUE,WAAW,EAIrBF,KAAiBG,kBAAW,UAK5BH,KAAQI,SAAW,GAUnBJ,KAAUK,WAAW,GAUrBL,KAAeM,gBAAW,GAU1BN,KAAYO,aAAW,GAevBP,KAAkBQ,mBAAW,SAyBtC,CAvBC,MAAAC,GACE,MAAMC,EAAeV,KAAKI,SAASO,SAAS,eAAiB,WAAa,GAE1E,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,yBAA2Bd,KAAKG,kBAAoB,gBAAkBH,KAAKC,WAAa,gBAAkBD,KAAKE,YACzHU,EAAK,OAAAC,IAAA,2CAAAC,MAAM,UACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBAAsBd,KAAKK,YAAaL,KAAKe,MACzDH,EAAI,MAAAC,IAAA,2CAAAC,MAAO,qBAAuBd,KAAKM,iBAAkBN,KAAKgB,WAC9DJ,EAAK,OAAAC,IAAA,2CAAAC,MAAO,sBAAwBd,KAAKO,cAAeP,KAAKiB,QAC5DjB,KAAKkB,aAAe,MAAQlB,KAAKmB,WAAa,KAC7CP,EAAA,kCAA+BZ,KAAKQ,mBAAoBY,IAAKpB,KAAKmB,UAAWE,MAAOrB,KAAKkB,cACvF,MAENN,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACRd,KAAKI,WAAa,MAAQJ,KAAKI,WAAakB,UAC3CV,EAAK,OAAAE,MAAO,aAAeJ,EAAca,UAAWC,EAAaC,aAAazB,KAAKI,SAAUJ,KAAKgB,aAChG,O","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveTotalizerTickerItemCss","BiggiveTotalizerTickerItem","render","h","key","class","this","figure","label"],"sources":["src/components/biggive-totalizer-ticker-item/biggive-totalizer-ticker-item.scss?tag=biggive-totalizer-ticker-item&encapsulation=shadow","src/components/biggive-totalizer-ticker-item/biggive-totalizer-ticker-item.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n}\n\n.ticker-item {\n margin-right: $spacer-4;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'biggive-totalizer-ticker-item',\n styleUrl: 'biggive-totalizer-ticker-item.scss',\n shadow: true,\n})\nexport class BiggiveTotalizerTickerItem {\n /**\n * Figure\n */\n @Prop() figure: string;\n\n /**\n * Figure\n */\n @Prop() label: string;\n\n render() {\n return (\n <div class=\"ticker-item\">\n <strong>{this.figure}</strong> {this.label}\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAgC,mI,MCOzBC,EAA0B,M,yBAWrC,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,eACTF,EAAS,UAAAC,IAAA,4CAAAE,KAAKC,QAAgB,IAAED,KAAKE,M","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveImageFeatureCss","BiggiveImageFeature","constructor","hostRef","this","spaceBelow","defaultTextColour","imageUrl","imageAltText","slugColour","mainTitleColour","teaserColour","buttonColourScheme","render","h","key","class","slug","mainTitle","teaser","buttonLabel","buttonUrl","url","label","undefined","src","alt"],"sources":["src/components/biggive-image-feature/biggive-image-feature.scss?tag=biggive-image-feature&encapsulation=shadow","src/components/biggive-image-feature/biggive-image-feature.tsx"],"sourcesContent":["@include image-alignment();\n@include text-colours();\n\n:host {\n display: contents;\n}\n\n.container {\n @include standard-font();\n position: relative;\n .sleeve {\n @include flex-container-row();\n .content-wrap {\n width: calc(40% - $spacer-3);\n position: relative;\n z-index: 1;\n .slug {\n @include heading-4;\n margin: 0;\n padding: 0;\n }\n h2 {\n @include heading-2;\n margin: 0 0 $spacer-3 0;\n padding: 0;\n }\n .teaser {\n margin: 0 0 $spacer-5 0;\n padding: 0;\n }\n }\n \n .graphic-wrap {\n width: calc(60% - $spacer-3);\n }\n }\n}\n\n\n@media screen and (max-width: $screen-mobile-max) {\n .container {\n .sleeve {\n flex-wrap: wrap;\n .content-wrap {\n width: 100%;\n }\n .graphic-wrap {\n width: 100%;\n margin-bottom: $spacer-3;\n order: -1;\n }\n }\n }\n}\n\n\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'biggive-image-feature',\n styleUrl: 'biggive-image-feature.scss',\n shadow: true,\n})\nexport class BiggiveImageFeature {\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 0;\n /**\n * Default text colour\n */\n @Prop() defaultTextColour: string = 'primary';\n\n /**\n * Full URL of a image.\n */\n @Prop() imageUrl: string = '';\n\n /**\n * Image alt text tag.\n */\n @Prop() imageAltText: string = '';\n\n /**\n * Slug\n */\n @Prop() slug: string;\n\n /**\n * Slug colour\n */\n @Prop() slugColour: string = '';\n\n /**\n * Video title\n */\n @Prop() mainTitle: string;\n\n /**\n * Slug colour\n */\n @Prop() mainTitleColour: string = '';\n\n /**\n * Introductory teaser text\n */\n @Prop() teaser: string;\n\n /**\n * Teaser colour\n */\n @Prop() teaserColour: string = '';\n\n /**\n * Button Url\n */\n @Prop() buttonUrl: string;\n\n /**\n * Button Label\n */\n @Prop() buttonLabel: string;\n\n /**\n * Button Colour Scheme\n */\n @Prop() buttonColourScheme: string = 'primary';\n\n render() {\n return (\n <div class={'container text-colour-' + this.defaultTextColour + ' space-below-' + this.spaceBelow}>\n <div class=\"sleeve\">\n <div class=\"content-wrap\">\n <div class={'slug text-colour-' + this.slugColour}>{this.slug}</div>\n <h2 class={'title text-colour-' + this.mainTitleColour}>{this.mainTitle}</h2>\n <div class={'teaser text-colour-' + this.teaserColour}>{this.teaser}</div>\n {this.buttonLabel != null && this.buttonUrl != null ? (\n <biggive-button colour-scheme={this.buttonColourScheme} url={this.buttonUrl} label={this.buttonLabel}></biggive-button>\n ) : null}\n </div>\n <div class=\"graphic-wrap\">\n {this.imageUrl !== null && this.imageUrl !== undefined ? (\n <div class=\"image-wrap\">\n <img src={this.imageUrl} alt={this.imageAltText} />\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAyB,wwG,MCOlBC,EAAmB,MALhC,WAAAC,CAAAC,G,UASUC,KAAUC,WAAW,EAIrBD,KAAiBE,kBAAW,UAK5BF,KAAQG,SAAW,GAKnBH,KAAYI,aAAW,GAUvBJ,KAAUK,WAAW,GAUrBL,KAAeM,gBAAW,GAU1BN,KAAYO,aAAW,GAevBP,KAAkBQ,mBAAW,SAyBtC,CAvBC,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,yBAA2BZ,KAAKE,kBAAoB,gBAAkBF,KAAKC,YACrFS,EAAK,OAAAC,IAAA,2CAAAC,MAAM,UACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBAAsBZ,KAAKK,YAAaL,KAAKa,MACzDH,EAAI,MAAAC,IAAA,2CAAAC,MAAO,qBAAuBZ,KAAKM,iBAAkBN,KAAKc,WAC9DJ,EAAK,OAAAC,IAAA,2CAAAC,MAAO,sBAAwBZ,KAAKO,cAAeP,KAAKe,QAC5Df,KAAKgB,aAAe,MAAQhB,KAAKiB,WAAa,KAC7CP,EAAA,kCAA+BV,KAAKQ,mBAAoBU,IAAKlB,KAAKiB,UAAWE,MAAOnB,KAAKgB,cACvF,MAENN,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACRZ,KAAKG,WAAa,MAAQH,KAAKG,WAAaiB,UAC3CV,EAAA,OAAKE,MAAM,cACTF,EAAK,OAAAW,IAAKrB,KAAKG,SAAUmB,IAAKtB,KAAKI,gBAEnC,O","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveCampaignCardCss","BiggiveCampaignCard","constructor","hostRef","this","spaceBelow","donateButtonLabel","donateButtonColourScheme","moreInfoButtonLabel","moreInfoButtonColourScheme","isFutureCampaign","isPastCampaign","handleCardGeneralClick","event","doCardGeneralClick","emit","url","moreInfoButtonUrl","isEmpty","value","undefined","render","h","key","class","toString","onClick","campaignType","banner","role","style","campaignTitle","organisationName","primaryFigureAmount","secondaryFigureAmount","primaryFigureLabel","secondaryFigureLabel","progressBarCounter","visibility","counter","icon","datetime","donateButtonUrl","label"],"sources":["src/components/biggive-campaign-card/biggive-campaign-card.scss?tag=biggive-campaign-card&encapsulation=shadow","src/components/biggive-campaign-card/biggive-campaign-card.tsx"],"sourcesContent":["@include image-alignment();\n@include spacers();\n\n:host {\n display: contents;\n}\n\n* {\n //outline: 1px dotted red;\n}\n\n.container {\n @include flex-container-column();\n @include standard-font();\n @include lower-shadow();\n margin-right: 10px;\n margin-left: 10px;\n\n cursor: pointer; // Fallback click behaviour is to go to info URL.\n\n position: relative;\n height: 100%;\n background-color: $colour-white;\n padding: $spacer-3;\n box-sizing: border-box;\n .sleeve {\n @include flex-container-column();\n height: 100%;\n .above-button-wrap {\n // we want all the height variation to be inside this element, so that the button is always at the same position\n // right at the bottom of the card.\n flex-grow: 1;\n @include flex-container-column();\n .title-wrap {\n // and specifically we want the spare height to go under the charity name.\n flex-grow: 1;\n }\n }\n }\n .campaign-type {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n text-align: center;\n font-weight: bold;\n span {\n background-color: $colour-secondary-green;\n color: $colour-black;\n padding: $spacer-1 $spacer-3;\n display: inline-block;\n }\n }\n .banner {\n top: 0;\n margin-top: 19px;\n padding-bottom: $aspect-ratio-banners;\n background-color: #F1F1F1;\n background-size: contain;\n background-repeat: no-repeat;\n img {\n display: none;\n }\n }\n h3 {\n @include heading-4();\n }\n .button {\n display: block;\n }\n .organisation-name {\n margin-bottom: $spacer-4;\n color: $colour-primary-blue;\n }\n .meta-wrap {\n @include flex-container-row();\n margin-top: auto;\n margin-bottom: $spacer-3;\n .meta-item {\n width: calc( 50% - $spacer-3 );\n .label {\n @include font-size-x-small();\n display: block;\n }\n .text {\n @include heading-3();\n display: block;\n }\n &:last-child {\n text-align: right;\n .text {\n color: $colour-primary-blue;\n }\n }\n }\n }\n .progress-bar-wrap {\n padding-bottom: $spacer-2;\n margin-bottom: $spacer-2;\n border-bottom: 1px solid $colour-grey-light;\n }\n\n .msg-wrapper {\n display: flex;\n justify-content: center;\n\n biggive-misc-icon {\n margin-top: auto;\n margin-bottom: auto;\n }\n\n p {\n text-align: center;\n\n @media screen and (max-width: $screen-desktop-max) {\n font-size: 15px;\n }\n }\n }\n}\n","import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'biggive-campaign-card',\n styleUrl: 'biggive-campaign-card.scss',\n shadow: true,\n})\nexport class BiggiveCampaignCard {\n @Event({\n eventName: 'doCardGeneralClick',\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n doCardGeneralClick: EventEmitter<{ event: object; url: string }>;\n\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 4;\n /**\n * e.g. \"Match Funded\".\n */\n @Prop() campaignType: string;\n\n /**\n * Full URL of a banner image.\n */\n @Prop() banner: string;\n\n /**\n * Display name of the charity's specific time-bound fundraising campaign.\n */\n @Prop() campaignTitle: string;\n\n /**\n * Display name of the charity or non-profit.\n */\n @Prop() organisationName: string;\n\n /**\n * Label for the primary figure – may be null or omitted for no label or if there's no figure.\n */\n @Prop() primaryFigureLabel: string | null;\n\n /**\n * Amount for the primary figure, formatted with currency symbol – null or omit to hide the figure & label.\n */\n @Prop() primaryFigureAmount: string | null;\n\n /**\n * Label for the secondary figure – may be null or omitted for no label or if there's no figure.\n */\n @Prop() secondaryFigureLabel: string | null;\n\n /**\n * Amount for the secondary figure, formatted with currency symbol – null or omit to hide the figure & label.\n */\n @Prop() secondaryFigureAmount: string | null;\n\n /**\n * Progress bar percentage – null or omit to hide the progress bar.\n */\n @Prop() progressBarCounter: number | null;\n\n /**\n * Donate button label\n */\n @Prop() donateButtonLabel: string = 'Donate now';\n\n /**\n * Donate button url\n */\n @Prop() donateButtonUrl: string;\n\n /**\n * Donate button colour scheme\n */\n @Prop() donateButtonColourScheme: string = 'primary';\n\n /**\n * More information button label\n */\n @Prop() moreInfoButtonLabel: string = 'Find out more';\n\n /**\n * More information button url\n */\n @Prop() moreInfoButtonUrl: string;\n\n /**\n * Donate button colour scheme\n */\n @Prop() moreInfoButtonColourScheme: string = 'clear-primary';\n\n /**\n * Boolean flag telling the component if the campaign is in the future (not open yet).\n */\n @Prop() isFutureCampaign: boolean = false;\n\n /**\n * Boolean flag telling the component if the campaign is in the future (not open yet).\n */\n @Prop() isPastCampaign: boolean = false;\n\n /**\n * To be used alongside isFutureCampaign = true or isPastCampaign = true.\n * If either is true, we render out: 'Launches: ' + datetime or 'Closed: ' + datetime.\n * Preferred format: DD/MM/YYYY, HH:MM\n * DON-661.\n */\n @Prop() datetime: string;\n\n private isEmpty(value?: number | string | null) {\n return value === undefined || value === null || value === '';\n }\n\n private handleCardGeneralClick = (event: any) => {\n this.doCardGeneralClick.emit({ event, url: this.moreInfoButtonUrl });\n };\n\n render() {\n return (\n <div class={'container space-below-' + this.spaceBelow.toString()}>\n <div class=\"sleeve\">\n <div onClick={this.handleCardGeneralClick} class=\"above-button-wrap\">\n {this.campaignType !== null ? (\n <div class=\"campaign-type\">\n <span>{this.campaignType}</span>\n </div>\n ) : null}\n\n {this.banner !== null && this.banner !== undefined ? (\n <div class=\"image-wrap banner\" role=\"presentation\" style={{ 'background-image': 'url(' + this.banner + ')' }}></div>\n ) : (\n <div class=\"image-wrap banner\"></div>\n )}\n\n <div class=\"title-wrap\">\n <h3>{this.campaignTitle}</h3>\n <div class=\"organisation-name\">By {this.organisationName}</div>\n </div>\n\n {this.isEmpty(this.primaryFigureAmount) && this.isEmpty(this.secondaryFigureAmount) ? null : (\n <div class=\"meta-wrap\">\n {this.isEmpty(this.primaryFigureAmount) ? null : (\n <div class=\"meta-item\">\n <span class=\"label\">{this.primaryFigureLabel}</span>\n <span class=\"text\">{this.primaryFigureAmount}</span>\n </div>\n )}\n {this.isEmpty(this.secondaryFigureAmount) ? null : (\n <div class=\"meta-item\">\n <span class=\"label\">{this.secondaryFigureLabel}</span>\n <span class=\"text\">{this.secondaryFigureAmount}</span>\n </div>\n )}\n </div>\n )}\n {this.isEmpty(this.progressBarCounter) ? (\n // We don't have a progress bar to show in this case, so the following is just functioning as a spacer to\n // keep layout consistent. Counter must be non-null to make bar display.\n <div class=\"progress-bar-wrap\" style={{ visibility: 'hidden' }}>\n <biggive-progress-bar counter={0} colour-scheme=\"primary\"></biggive-progress-bar>\n </div>\n ) : (\n <div class=\"progress-bar-wrap\">\n <biggive-progress-bar counter={this.progressBarCounter} colour-scheme=\"primary\"></biggive-progress-bar>\n </div>\n )}\n </div>\n <div class=\"button-wrap\">\n {this.isFutureCampaign || this.isPastCampaign ? (\n <div class=\"msg-wrapper\">\n <biggive-misc-icon background-colour=\"white\" icon-colour=\"black\" icon=\"Timer\"></biggive-misc-icon>\n {this.isFutureCampaign ? <p>Launches {this.datetime}</p> : <p>Closed {this.datetime}</p>}\n </div>\n ) : (\n <biggive-button full-width=\"true\" colour-scheme={this.donateButtonColourScheme} url={this.donateButtonUrl} label={this.donateButtonLabel}></biggive-button>\n )}\n <biggive-button full-width=\"true\" colour-scheme={this.moreInfoButtonColourScheme} url={this.moreInfoButtonUrl} label={this.moreInfoButtonLabel}></biggive-button>\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAyB,+3E,MCOlBC,EAAmB,MALhC,WAAAC,CAAAC,G,+DAiBUC,KAAUC,WAAW,EAiDrBD,KAAiBE,kBAAW,aAU5BF,KAAwBG,yBAAW,UAKnCH,KAAmBI,oBAAW,gBAU9BJ,KAA0BK,2BAAW,gBAKrCL,KAAgBM,iBAAY,MAK5BN,KAAcO,eAAY,MAc1BP,KAAAQ,uBAA0BC,IAChCT,KAAKU,mBAAmBC,KAAK,CAAEF,QAAOG,IAAKZ,KAAKa,mBAAoB,CAoEvE,CAzES,OAAAC,CAAQC,GACd,OAAOA,IAAUC,WAAaD,IAAU,MAAQA,IAAU,E,CAO5D,MAAAE,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,yBAA2BpB,KAAKC,WAAWoB,YACrDH,EAAK,OAAAC,IAAA,2CAAAC,MAAM,UACTF,EAAK,OAAAC,IAAA,2CAAAG,QAAStB,KAAKQ,uBAAwBY,MAAM,qBAC9CpB,KAAKuB,eAAiB,KACrBL,EAAA,OAAKE,MAAM,iBACTF,EAAO,YAAAlB,KAAKuB,eAEZ,KAEHvB,KAAKwB,SAAW,MAAQxB,KAAKwB,SAAWR,UACvCE,EAAK,OAAAE,MAAM,oBAAoBK,KAAK,eAAeC,MAAO,CAAE,mBAAoB,OAAS1B,KAAKwB,OAAS,OAEvGN,EAAA,OAAKE,MAAM,sBAGbF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,cACTF,EAAK,MAAAC,IAAA,4CAAAnB,KAAK2B,eACVT,EAAK,OAAAC,IAAA,2CAAAC,MAAM,qBAAmB,MAAKpB,KAAK4B,mBAGzC5B,KAAKc,QAAQd,KAAK6B,sBAAwB7B,KAAKc,QAAQd,KAAK8B,uBAAyB,KACpFZ,EAAA,OAAKE,MAAM,aACRpB,KAAKc,QAAQd,KAAK6B,qBAAuB,KACxCX,EAAK,OAAAE,MAAM,aACTF,EAAA,QAAME,MAAM,SAASpB,KAAK+B,oBAC1Bb,EAAM,QAAAE,MAAM,QAAQpB,KAAK6B,sBAG5B7B,KAAKc,QAAQd,KAAK8B,uBAAyB,KAC1CZ,EAAK,OAAAE,MAAM,aACTF,EAAA,QAAME,MAAM,SAASpB,KAAKgC,sBAC1Bd,EAAM,QAAAE,MAAM,QAAQpB,KAAK8B,yBAKhC9B,KAAKc,QAAQd,KAAKiC,oBAGjBf,EAAK,OAAAE,MAAM,oBAAoBM,MAAO,CAAEQ,WAAY,WAClDhB,EAAA,wBAAsBiB,QAAS,EAAC,gBAAgB,aAGlDjB,EAAK,OAAAE,MAAM,qBACTF,EAAsB,wBAAAiB,QAASnC,KAAKiC,mBAAkB,gBAAgB,cAI5Ef,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACRpB,KAAKM,kBAAoBN,KAAKO,eAC7BW,EAAK,OAAAE,MAAM,eACTF,EAAA,yCAAqC,QAAoB,sBAAQkB,KAAK,UACrEpC,KAAKM,iBAAmBY,EAAA,qBAAalB,KAAKqC,UAAgBnB,EAAA,mBAAWlB,KAAKqC,WAG7EnB,EAAA,+BAA2B,OAAM,gBAAgBlB,KAAKG,yBAA0BS,IAAKZ,KAAKsC,gBAAiBC,MAAOvC,KAAKE,oBAEzHgB,EAA2B,kBAAAC,IAAA,+DAAM,gBAAgBnB,KAAKK,2BAA4BO,IAAKZ,KAAKa,kBAAmB0B,MAAOvC,KAAKI,wB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveTabbedContentCss","BiggiveTabbedContent","constructor","hostRef","this","spaceBelow","textColour","selectedTextColour","navigationHighlightColour","selectedNavigationHighlightColour","buttonBackgroundColour","buttonIconColour","scrollOffset","children","clickTabHandler","e","i","parent","target","parentElement","el","Array","from","showTab","clickPrevHandler","scrollTab","clickNextHandler","componentWillLoad","host","componentDidRender","scrollContextTab","_a","shadowRoot","querySelector","sleeveElement","_b","scrollWidth","offsetWidth","_c","querySelectorAll","forEach","button","style","display","_d","tabs","length","j","tab","classList","add","remove","direction","sleeve","max","previousElementSibling","nextElementSibling","li","transitionDuration","transitionTimingFunction","transform","render","h","key","class","onClick","title","width","height","viewBox","fill","xmlns","d","stroke","map","child","tabTitle"],"sources":["src/components/biggive-tabbed-content/biggive-tabbed-content.scss?tag=biggive-tabbed-content&encapsulation=shadow","src/components/biggive-tabbed-content/biggive-tabbed-content.tsx"],"sourcesContent":["@include spacers();\n@include text-colours();\n\n:host {\n display: contents;\n}\n\n::slotted(*) {\n display: none;\n}\n\n.container {\n @include standard-font();\n position: relative;\n\n .navigation {\n padding: 0 40px;\n .button {\n position: absolute;\n top: 5px;\n display: block;\n width: 30px;\n height: 30px;\n padding: 2.5px 10px;\n box-sizing: border-box;\n background-color: #FFFFFF;\n box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);\n border-radius: 50%;\n cursor: pointer;\n text-align: center;\n &.prev {\n left: 0;\n }\n &.next {\n right: 0;\n }\n svg {\n width: 10px;\n height: 10px;\n }\n }\n .sleeve {\n border-bottom: 1px solid $colour-grey-light;\n overflow: hidden;\n ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n li {\n flex-grow: 1;\n padding: 10px 20px;\n margin: 0;\n width: calc(33.3% - 20px);\n border-bottom: 3px solid transparent;\n text-align: center;\n white-space: nowrap;\n cursor: pointer;\n &.selected {\n font-weight: bold;\n }\n }\n }\n }\n }\n\n @each $key, $colour in $brandColours {\n &.text-colour-#{$key} .navigation li { color: $colour; }\n &.navigation-highlight-colour-#{$key} .navigation ul {border-color: $colour; }\n &.selected-text-colour-#{$key} .navigation li.selected { color: $colour; border-color: $colour; }\n &.selected-navigation-highlight-colour-#{$key} .navigation li.selected { border-color: $colour; }\n &.button-background-colour-#{$key} .navigation .button { background-color: $colour; }\n &.button-icon-colour-#{$key} .navigation .button svg path { stroke: $colour; }\n }\n\n}\n","import { Component, Prop, Element, h } from '@stencil/core';\nimport { brandColour } from '../../globals/brand-colour';\nimport { spacingOption } from '../../globals/spacing-option';\n\n@Component({\n tag: 'biggive-tabbed-content',\n styleUrl: 'biggive-tabbed-content.scss',\n shadow: true,\n})\nexport class BiggiveTabbedContent {\n @Element() host: HTMLBiggiveTabbedContentElement;\n\n @Prop() spaceBelow: spacingOption = 0;\n\n @Prop() textColour: brandColour = 'black';\n\n @Prop() selectedTextColour: brandColour = 'primary';\n\n @Prop() navigationHighlightColour: brandColour = 'grey-medium';\n\n @Prop() selectedNavigationHighlightColour: brandColour = 'primary';\n\n @Prop() buttonBackgroundColour: brandColour = 'white';\n\n @Prop() buttonIconColour: brandColour = 'primary';\n\n private scrollContextTab: HTMLElement | null;\n private scrollOffset: number = 0;\n private children: Array<HTMLBiggiveTabElement> = [];\n\n componentWillLoad() {\n this.children = Array.from(this.host.children) as Array<HTMLBiggiveTabElement>;\n }\n\n componentDidRender() {\n this.showTab(0);\n\n this.scrollContextTab = this.host.shadowRoot?.querySelector('.navigation .sleeve ul li')!;\n\n const sleeveElement: HTMLElement = this.host.shadowRoot?.querySelector('.navigation .sleeve')!;\n\n if (sleeveElement.scrollWidth > sleeveElement.offsetWidth) {\n this.host.shadowRoot?.querySelectorAll('.navigation .button').forEach(function (button: HTMLElement) {\n button.style.display = 'block';\n });\n } else {\n this.host.shadowRoot?.querySelectorAll('.navigation .button').forEach(function (button: HTMLElement) {\n button.style.display = 'none';\n });\n }\n }\n\n /*\n * Shows the i'th tab, counting from zero. Does nothing if i out of range.\n */\n private showTab(i: number) {\n const tabs = this.host.shadowRoot?.querySelectorAll('.navigation ul li')!;\n\n if (i >= 0 && i <= tabs?.length - 1) {\n let j = 0;\n tabs?.forEach(function (tab) {\n if (i == j) {\n tab.classList.add('selected');\n } else {\n tab.classList.remove('selected');\n }\n j++;\n });\n\n j = 0;\n this.host.querySelectorAll('biggive-tab').forEach(function (tab) {\n tab.style.display = i == j ? 'block' : 'none';\n j++;\n });\n }\n }\n\n private clickTabHandler = (e: MouseEvent) => {\n let i = 0;\n const parent = (e.target as Element).parentElement!;\n for (let el of Array.from(parent.children)) {\n if (el == e.target) {\n this.showTab(i);\n return;\n }\n i++;\n }\n };\n\n private scrollTab(direction: 'NEXT' | 'PREV') {\n if (!this.scrollContextTab) {\n return;\n }\n\n let sleeve: HTMLElement = this.scrollContextTab.parentElement!;\n let max = sleeve.scrollWidth - sleeve.parentElement?.offsetWidth!;\n\n if (direction == 'PREV') {\n if (this.scrollOffset + this.scrollContextTab.offsetWidth > 0) {\n return;\n }\n\n this.scrollOffset = this.scrollOffset + this.scrollContextTab.offsetWidth;\n if (this.scrollContextTab.previousElementSibling) {\n this.scrollContextTab = this.scrollContextTab.previousElementSibling as HTMLElement;\n }\n } else if (direction == 'NEXT') {\n if (0 - this.scrollOffset > max) {\n return;\n }\n\n this.scrollOffset = this.scrollOffset - this.scrollContextTab.offsetWidth;\n if (this.scrollContextTab.nextElementSibling) {\n this.scrollContextTab = this.scrollContextTab.nextElementSibling as HTMLElement;\n }\n }\n\n sleeve.querySelectorAll('li').forEach(li => {\n li.style.transitionDuration = '0.3s';\n li.style.transitionTimingFunction = 'ease-out';\n li.style.transform = 'translate3d(' + this.scrollOffset + 'px, 0, 0)';\n });\n }\n\n private clickPrevHandler = () => {\n this.scrollTab('PREV');\n };\n\n private clickNextHandler = () => {\n this.scrollTab('NEXT');\n };\n\n render() {\n return (\n <div\n class={\n 'container space-below-' +\n this.spaceBelow +\n ' text-colour-' +\n this.textColour +\n ' selected-text-colour-' +\n this.selectedTextColour +\n ' navigation-highlight-colour-' +\n this.navigationHighlightColour +\n ' selected-navigation-highlight-colour-' +\n this.selectedNavigationHighlightColour +\n ' button-background-colour-' +\n this.buttonBackgroundColour +\n ' button-icon-colour-' +\n this.buttonIconColour\n }\n >\n <div class=\"navigation\">\n <div class=\"button prev\" onClick={this.clickPrevHandler} title=\"Previous\">\n <svg width=\"9\" height=\"16\" viewBox=\"0 0 9 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.29311 14.5703L1.73926 8.01646L8.29311 1.46261\" stroke=\"#000000\" stroke-width=\"2\" />\n </svg>\n </div>\n <div class=\"sleeve\">\n <ul>\n {this.children.map(child => (\n <li onClick={this.clickTabHandler}>{child.tabTitle}</li>\n ))}\n </ul>\n </div>\n <div class=\"button next\" onClick={this.clickNextHandler} title=\"Next\">\n <svg width=\"9\" height=\"16\" viewBox=\"0 0 9 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0.739117 1.46094L7.29297 8.01479L0.739118 14.5686\" stroke=\"#000000\" stroke-width=\"2\" />\n </svg>\n </div>\n </div>\n <slot></slot>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveNavGroupCss","BiggiveNavGroup","constructor","hostRef","this","inline","render","h","key"],"sources":["src/components/biggive-nav-group/biggive-nav-group.scss?tag=biggive-nav-group&encapsulation=shadow","src/components/biggive-nav-group/biggive-nav-group.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n\nul {\n @include standard-font();\n list-style-type: none;\n padding: 0;\n margin: 0;\n}","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'biggive-nav-group',\n styleUrl: 'biggive-nav-group.scss',\n shadow: true,\n})\nexport class BiggiveNavGroup {\n /**\n * Inline\n */\n @Prop() inline: boolean = true;\n\n render() {\n return (\n <ul>\n <slot></slot>\n </ul>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAqB,sN,MCOdC,EAAe,MAL5B,WAAAC,CAAAC,G,UASUC,KAAMC,OAAY,IAS3B,CAPC,MAAAC,GACE,OACEC,EAAA,MAAAC,IAAA,4CACED,EAAa,QAAAC,IAAA,6C","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveCookieBannerCss","BiggiveCookieBanner","constructor","hostRef","this","autoOpenPreferences","previouslyAgreedCookiePreferences","undefined","handleChoosePrefencesClick","elementById","_a","el","shadowRoot","getElementById","openFromOutside","handleAcceptSelectedCookies","closeFromOutside","analyticsAndTestingRadio","_b","thirdPartyRadio","_c","cookieBannerSavePreferencesSelected","emit","analyticsAndTesting","checked","thirdParty","handleRejectAllClicked","handleAcceptAllClick","cookieBannerAcceptAllSelected","componentDidLoad","autoOpenPreferencesIfRequested","render","cookiesCurrentlyAllowed","h","key","class","id","modalClosedCallback","preferenceModalClosed","type","name","disabled","htmlFor","label","size","rounded","centered","onClick","href","blogUriPrefix","target"],"sources":["src/components/biggive-cookie-banner/biggive-cookie-banner.scss?tag=biggive-cookie-banner&encapsulation=shadow","src/components/biggive-cookie-banner/biggive-cookie-banner.tsx"],"sourcesContent":["@include backgrounds();\n@include fills();\n@include spacers();\n@include text-colours();\n\n:host {\n display: contents;\n}\n\nh2:first-child {\n // padding of the container is enough, a top margin would make the banner unsymmetrical.\n margin-top: 0;\n}\n\ndiv.cooke-consent-container {\n @include standard-font();\n @include font-size-small();\n border-radius: 10px;\n background: white;\n border: 1px solid black;\n max-width: 650px;\n padding: 1em;\n}\n\ndiv.button-group {\n margin-top: 1em;\n display: flex;\n justify-content: space-evenly;\n width: 100%;\n flex-direction: column;\n gap: 1em;\n\n @media screen and (min-width: $screen-mobile-medium) {\n flex-direction: row-reverse;\n }\n}\n\nbiggive-popup {\n @include font-size-medium();\n div.content {\n max-height: 95vh;\n overflow: auto;\n h5 {\n border-bottom: 2px solid black;\n max-width: 25em;\n margin-bottom: 5px;\n }\n\n p {\n margin-top: 5px;\n margin-bottom: 8px;\n }\n\n div.radio-group {\n margin-bottom: 30px;\n }\n }\n}\n","import { Component, Element, Prop, h, Event, EventEmitter, Watch } from '@stencil/core';\n\n@Component({\n tag: 'biggive-cookie-banner',\n styleUrl: 'biggive-cookie-banner.scss',\n shadow: true,\n})\nexport class BiggiveCookieBanner {\n /**\n * If true the Preferences modal will be auto-opened - for use when the user has requested to edit their cookie\n * preferences\n */\n @Prop() autoOpenPreferences: boolean = false;\n @Prop() blogUriPrefix!: string;\n\n /**\n * This type is similar to CookiePreferences from donate-frontend/src/app/cookiePreference.service.ts\n * but afaik there isn't a nice way to share a type.\n *\n * When updating please also update the copy in the type of cookieBannerSavePreferencesSelected - using a named type\n * there caused build problems.\n *\n * When updating please also update the type of cookieBannerSavePreferencesSelected - I didn't find a way\n * to avoid the duplication.\n */\n @Prop() previouslyAgreedCookiePreferences:\n | {\n analyticsAndTesting: boolean;\n thirdParty: boolean;\n }\n | undefined = undefined;\n @Element() el: HTMLBiggiveCookieBannerElement;\n\n @Event({\n eventName: 'preferenceModalClosed',\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n preferenceModalClosed: EventEmitter<void>;\n\n /**\n * Indicates that the user accepts cookies for any purpose, without discrimination.\n */\n @Event({\n eventName: 'cookieBannerAcceptAllSelected',\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n cookieBannerAcceptAllSelected: EventEmitter<void>;\n\n /**\n * Indicates that the user has made a selection of cookies purpose to accept.\n *\n * Event data is an object with boolean properties to say whether the user accepts or refuses each category of optional cookie.\n *\n * When updating this type please also update the type of previouslyAgreedCookiePreferences.\n */\n @Event({\n eventName: 'cookieBannerSavePreferencesSelected',\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n cookieBannerSavePreferencesSelected: EventEmitter<{\n analyticsAndTesting: boolean;\n thirdParty: boolean;\n }>;\n\n componentDidLoad() {\n this.autoOpenPreferencesIfRequested();\n }\n\n @Watch('autoOpenPreferences')\n private autoOpenPreferencesIfRequested() {\n if (this.autoOpenPreferences) {\n this.handleChoosePrefencesClick();\n }\n }\n\n private handleChoosePrefencesClick = () => {\n const elementById = this.el.shadowRoot?.getElementById('cookie-preferences-popup') as HTMLBiggivePopupElement;\n elementById.openFromOutside();\n };\n\n private handleAcceptSelectedCookies = () => {\n const elementById = this.el.shadowRoot?.getElementById('cookie-preferences-popup') as HTMLBiggivePopupElement;\n elementById.closeFromOutside();\n\n const analyticsAndTestingRadio = this.el.shadowRoot?.getElementById('a-and-t-on') as HTMLInputElement;\n const thirdPartyRadio = this.el.shadowRoot?.getElementById('third-party-on') as HTMLInputElement;\n\n this.cookieBannerSavePreferencesSelected.emit({ analyticsAndTesting: analyticsAndTestingRadio.checked, thirdParty: thirdPartyRadio.checked });\n\n elementById.closeFromOutside();\n };\n\n /**\n * Emits the same event as if the user had gone into preferences and said no to every option.\n */\n private handleRejectAllClicked = () => {\n this.cookieBannerSavePreferencesSelected.emit({ analyticsAndTesting: false, thirdParty: false });\n\n const elementById = this.el.shadowRoot?.getElementById('cookie-preferences-popup') as HTMLBiggivePopupElement;\n elementById.closeFromOutside();\n };\n\n private handleAcceptAllClick = () => {\n // We just emit the event - it will be up to the application, e.g. wp or frontend to listen for the event, record the acceptence, and make\n // and make this component disappear.\n\n this.cookieBannerAcceptAllSelected.emit();\n };\n\n render() {\n // Using Partial type to give more flexibility for updates - if the list of preferences available here grows\n // then the app may only pass a partial set of them in for a time. Any preference not passed will be treated as\n // declined.\n const cookiesCurrentlyAllowed: Partial<typeof this.previouslyAgreedCookiePreferences> = this.previouslyAgreedCookiePreferences || {};\n\n return (\n <div class=\"cooke-consent-container\">\n <biggive-popup id=\"cookie-preferences-popup\" modalClosedCallback={this.preferenceModalClosed.emit}>\n <div class=\"content\">\n <h4 class=\"space-above-0 space-below-3 text-colour-primary\">Manage your cookie preferences</h4>\n <form>\n <div class=\"radio-group\">\n <h5>Essential Cookies</h5>\n <p>These cookies are necessary to ensure our website functions correctly and include required cookies from third parties.</p>\n <input type=\"radio\" name=\"necassary\" id=\"necassary-off\" disabled={true} />\n <label htmlFor=\"necassary-on\">Off</label>\n\n <input type=\"radio\" name=\"necassary\" id=\"necassary-on\" disabled={true} checked={true} />\n <label htmlFor=\"necassary-on\">On</label>\n </div>\n\n <div class=\"radio-group\">\n <h5>Analytics & Testing Cookies</h5>\n <p>\n We use analytics cookies to track activity on our website. For example, the pages you’ve visited, the content you’ve engaged with and the search terms you’ve\n used. This allows us to personalise and improve our content.\n </p>\n\n <p>\n We use testing cookies to collect data on how you interact with website features. These insights allow us to update our website and build features that enhance\n your user experience.\n </p>\n <input type=\"radio\" name=\"a-and-t\" id=\"a-and-t-off\" checked={!cookiesCurrentlyAllowed.analyticsAndTesting} />\n <label htmlFor=\"a-and-t-off\">Off</label>\n\n <input type=\"radio\" name=\"a-and-t\" id=\"a-and-t-on\" checked={!!cookiesCurrentlyAllowed.analyticsAndTesting} />\n <label htmlFor=\"a-and-t-on\">On</label>\n </div>\n\n <div class=\"radio-group\">\n <h5>Third-party Cookies </h5>\n <p>\n These cookies are used to track activity, which can help to provide a better experience and improve functionality across various applications. For example, our\n donation experience survey.\n </p>\n <input type=\"radio\" name=\"third-party\" id=\"third-party-off\" checked={!cookiesCurrentlyAllowed.thirdParty} />\n <label htmlFor=\"third-party-off\">Off</label>\n\n <input type=\"radio\" name=\"third-party\" id=\"third-party-on\" checked={!!cookiesCurrentlyAllowed.thirdParty} />\n <label htmlFor=\"third-party-on\">On</label>\n </div>\n\n <biggive-button\n space-below=\"0\"\n space-above=\"2\"\n colour-scheme=\"secondary\"\n is-past-campaign=\"false\"\n is-future-campaign=\"false\"\n label=\"Accept Selected Cookies\"\n open-in-new-tab=\"false\"\n full-width=\"false\"\n size=\"small\"\n rounded={false}\n centered={false}\n button-id=\"accept-selected-button\"\n onClick={this.handleAcceptSelectedCookies}\n ></biggive-button>\n </form>\n\n <p>You can change the above settings for this browser at any time by clicking the privacy settings link in the footer of the page.</p>\n </div>\n </biggive-popup>\n\n <h2>Our website uses cookies</h2>\n\n <p>\n We use some essential cookies to make our website work. We'd also like to share data with our analytics platform and use analytics cookies to understand how you use the\n website and make improvements.\n </p>\n\n <p>\n <a href={this.blogUriPrefix + '/privacy#cookies'} target=\"_blank\">\n Find out more in our Cookies Statement\n </a>\n </p>\n\n <div class=\"button-group\">\n <biggive-button\n onClick={this.handleAcceptAllClick}\n space-below=\"0\"\n colour-scheme=\"secondary\"\n is-past-campaign=\"false\"\n is-future-campaign=\"false\"\n label=\"Accept All\"\n open-in-new-tab=\"false\"\n full-width=\"true\"\n size=\"medium\"\n rounded={false}\n centered={false}\n button-id=\"accept-all-button\"\n ></biggive-button>\n\n <biggive-button\n onClick={this.handleRejectAllClicked}\n space-below=\"0\"\n colour-scheme=\"grey-light\"\n is-past-campaign=\"false\"\n is-future-campaign=\"false\"\n label=\"Essential Cookies Only\"\n open-in-new-tab=\"false\"\n full-width=\"true\"\n size=\"medium\"\n rounded={false}\n centered={false}\n button-id=\"choose-preferences-button\"\n ></biggive-button>\n\n <biggive-button\n onClick={this.handleChoosePrefencesClick}\n space-below=\"0\"\n colour-scheme=\"grey-light\"\n is-past-campaign=\"false\"\n is-future-campaign=\"false\"\n label=\"Choose Preferences\"\n open-in-new-tab=\"false\"\n full-width=\"true\"\n size=\"medium\"\n rounded={false}\n centered={false}\n button-id=\"choose-preferences-button\"\n ></biggive-button>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveImageButtonCss","BiggiveImageButton","constructor","hostRef","this","spaceBelow","backgroundColour","backgroundPadding","textColour","imageStyle","openInNewTab","size","arrow","arrowColour","circle","shadow","centered","rounded","buttonId","undefined","handleButtonClick","event","doButtonClick","emit","url","target","parentElement","href","render","h","key","class","id","onClick","toString","style","backgroundImage","imageUrl","text","width","height","viewBox","fill","xmlns","d","stroke"],"sources":["src/components/biggive-image-button/biggive-image-button.scss?tag=biggive-image-button&encapsulation=shadow","src/components/biggive-image-button/biggive-image-button.tsx"],"sourcesContent":["@include backgrounds();\n@include text-colours();\n@include spacers();\n\n:host {\n display: contents;\n}\n\n.container {\n @include standard-font();\n a {\n display: block;\n text-decoration: none;\n &.full-width-true {\n display: block;\n }\n }\n &.centered-true {\n text-align: center;\n }\n &.shadow-true {\n filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.25));\n }\n &.rounded-true {\n border-radius: 10px;\n }\n &.background-padding-1 { padding: $spacer-1; }\n &.background-padding-2 { padding: $spacer-2; }\n &.background-padding-3 { padding: $spacer-3; }\n &.background-padding-4 { padding: $spacer-4; }\n &.background-padding-5 { padding: $spacer-5; }\n &.background-padding-6 { padding: $spacer-6; }\n\n .sleeve {\n display: flex;\n .text-wrap {\n margin: auto 0;\n text-decoration: none;\n &.text-padding-1 { padding: 0 $spacer-1; }\n &.text-padding-2 { padding: 0 $spacer-2; }\n &.text-padding-3 { padding: 0 $spacer-3; }\n &.text-padding-4 { padding: 0 $spacer-4; }\n &.text-padding-5 { padding: 0 $spacer-5; }\n &.text-padding-6 { padding: 0 $spacer-6; }\n }\n\n .arrow-wrap {\n margin: auto 0 auto auto;\n @each $key, $colour in $brandColours {\n &.arrow-colour-#{$key} .arrow-wrap svg path { stroke: $colour; }\n }\n }\n }\n\n .image-wrap {\n background-position: center center;\n background-size: cover;\n\n &.image-style-contain {\n background-size: contain;\n }\n\n &.circle-true {\n border-radius: 50%;\n overflow: hidden;\n }\n\n &.size-small {\n width: 30px;\n height: 30px;\n }\n &.size-medium {\n width: 45px;\n height: 45px;\n }\n &.size-large {\n width: 60px;\n height: 60px;\n }\n &.size-x-large {\n width: 75px;\n height: 75px;\n }\n &.size-xx-large {\n width: 90px;\n height: 90px;\n }\n\n }\n\n\n\n\n\n}\n\n\n","import { Component, Event, EventEmitter, Prop, h } from '@stencil/core';\nimport { brandColour } from '../../globals/brand-colour';\nimport { spacingOption } from '../../globals/spacing-option';\n\n@Component({\n tag: 'biggive-image-button',\n styleUrl: 'biggive-image-button.scss',\n shadow: true,\n})\nexport class BiggiveImageButton {\n @Event({\n eventName: 'doButtonClick',\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n doButtonClick: EventEmitter<{ event: object; url: string }>;\n\n @Prop() spaceBelow: spacingOption = 1;\n\n @Prop() backgroundColour: brandColour = 'white';\n\n @Prop() backgroundPadding: spacingOption = 0;\n\n @Prop() text: string;\n\n @Prop() textColour: brandColour = 'black';\n\n @Prop() imageUrl: string;\n\n @Prop() imageStyle: string = 'cover';\n\n @Prop() url: string;\n\n @Prop() openInNewTab: boolean = false;\n\n @Prop() size: 'small' | 'medium' | 'large' | 'x-large' | 'xx-large' = 'medium';\n\n @Prop() arrow: boolean = false;\n\n @Prop() arrowColour: brandColour = 'black';\n\n @Prop() circle: boolean = false;\n\n @Prop() shadow: boolean = false;\n\n @Prop() centered: boolean = false;\n\n @Prop() rounded: boolean = false;\n\n @Prop() buttonId: undefined | string = undefined;\n\n private handleButtonClick = (event: any) => {\n this.doButtonClick.emit({ event: event, url: event.target.parentElement.href });\n };\n\n render() {\n return (\n <div\n class={\n 'container space-below-' +\n this.spaceBelow +\n ' background-colour-' +\n this.backgroundColour +\n ' background-padding-' +\n this.backgroundPadding +\n ' centered-' +\n this.centered +\n ' rounded-' +\n this.rounded +\n ' shadow-' +\n this.shadow\n }\n >\n <a href={this.url} target={this.openInNewTab ? '_blank' : '_self'} id={this.buttonId}>\n <div class=\"sleeve\" onClick={this.handleButtonClick}>\n <div\n class={'image-wrap ' + ' image-style-' + this.imageStyle + ' size-' + this.size + ' circle-' + this.circle.toString()}\n style={{ backgroundImage: 'url(' + this.imageUrl + ')' }}\n ></div>\n\n {this.text != '' ? <div class={'text-wrap text-colour-' + this.textColour + ' text-padding-' + this.backgroundPadding}>{this.text}</div> : null}\n\n {this.arrow ? (\n <div class={'arrow-wrap arrow-colour-' + this.arrowColour}>\n <svg width=\"8\" height=\"12\" viewBox=\"0 0 8 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0.76912 1.0791L5.73828 6.04826L0.769121 11.0174\" stroke=\"black\" stroke-width=\"2\" />\n </svg>\n </div>\n ) : null}\n </div>\n </a>\n </div>\n );\n }\n}\n"],"mappings":"6CAAA,MAAMA,EAAwB,2xU,MCSjBC,EAAkB,MAL/B,WAAAC,CAAAC,G,qDAcUC,KAAUC,WAAkB,EAE5BD,KAAgBE,iBAAgB,QAEhCF,KAAiBG,kBAAkB,EAInCH,KAAUI,WAAgB,QAI1BJ,KAAUK,WAAW,QAIrBL,KAAYM,aAAY,MAExBN,KAAIO,KAA0D,SAE9DP,KAAKQ,MAAY,MAEjBR,KAAWS,YAAgB,QAE3BT,KAAMU,OAAY,MAElBV,KAAMW,OAAY,MAElBX,KAAQY,SAAY,MAEpBZ,KAAOa,QAAY,MAEnBb,KAAQc,SAAuBC,UAE/Bf,KAAAgB,kBAAqBC,IAC3BjB,KAAKkB,cAAcC,KAAK,CAAEF,MAAOA,EAAOG,IAAKH,EAAMI,OAAOC,cAAcC,MAAO,CA0ClF,CAvCC,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MACE,yBACA3B,KAAKC,WACL,sBACAD,KAAKE,iBACL,uBACAF,KAAKG,kBACL,aACAH,KAAKY,SACL,YACAZ,KAAKa,QACL,WACAb,KAAKW,QAGPc,EAAG,KAAAC,IAAA,2CAAAH,KAAMvB,KAAKoB,IAAKC,OAAQrB,KAAKM,aAAe,SAAW,QAASsB,GAAI5B,KAAKc,UAC1EW,EAAK,OAAAC,IAAA,2CAAAC,MAAM,SAASE,QAAS7B,KAAKgB,mBAChCS,EAAA,OAAAC,IAAA,2CACEC,MAAO,cAAgB,gBAAkB3B,KAAKK,WAAa,SAAWL,KAAKO,KAAO,WAAaP,KAAKU,OAAOoB,WAC3GC,MAAO,CAAEC,gBAAiB,OAAShC,KAAKiC,SAAW,OAGpDjC,KAAKkC,MAAQ,GAAKT,EAAA,OAAKE,MAAO,yBAA2B3B,KAAKI,WAAa,iBAAmBJ,KAAKG,mBAAoBH,KAAKkC,MAAc,KAE1IlC,KAAKQ,MACJiB,EAAK,OAAAE,MAAO,2BAA6B3B,KAAKS,aAC5CgB,EAAA,OAAKU,MAAM,IAAIC,OAAO,KAAKC,QAAQ,WAAWC,KAAK,OAAOC,MAAM,8BAC9Dd,EAAM,QAAAe,EAAE,mDAAmDC,OAAO,QAAO,eAAc,QAGzF,O","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["philcoFooterCss","PhilcoFooter","constructor","hostRef","this","headingLevel","philcoUrlPrefix","year","Date","getFullYear","toString","render","HeadingTag","h","key","class","src","getAssetPath","alt","id","slot","href","makeURL","target"],"sources":["src/components/philco-footer/philco-footer.scss?tag=philco-footer&encapsulation=shadow","src/components/philco-footer/philco-footer.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n.footer {\n @include philco-body-font();\n line-height: $philco-standard-body-line-height;\n color: $colour-philco-gray-90;\n}\n\nnav {\n width: calc(33.3% - 20px);\n margin: 0;\n padding: 0;\n .heading {\n @include philco-heading-font();\n @include font-size-large();\n text-transform: uppercase;\n border-bottom: 1px solid $colour-philco-gray-90;\n padding-bottom: $spacer-2;\n margin-bottom: $spacer-2;\n }\n ul {\n margin: 0;\n padding: 0;\n li {\n margin: 0;\n padding: 0;\n list-style-type: none;\n margin-top: 15px;\n }\n }\n}\n\nnav ul li a {\n color: $colour-philco-gray-90;\n text-decoration: none;\n}\n\n.row-logo {\n background-color: $colour-philco-white;\n padding: 100px $spacer-6 0 $spacer-6;\n img {\n height: 34px;\n }\n}\n\n.row-top {\n background-color: $colour-philco-white;\n // $icon-size-large happens to be approx. the UA-default top heading margin that we relied upon last.\n padding: $icon-size-large $spacer-6 $spacer-6 $spacer-6;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n}\n\n.footer .row-bottom {\n background-color: $colour-black;\n color: $colour-philco-white;\n padding: $spacer-6 $spacer-6 $spacer-3 $spacer-6;\n border-top: 1px solid $colour-white;\n\n .postscript-wrap {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n\n @media screen and (max-width: $screen-tablet-max) {\n flex-direction: column;\n }\n }\n\n .nav.nav-postscript {\n text-align: right;\n flex-grow: 1;\n color: $colour-philco-white;\n\n @media screen and (max-width: $screen-tablet-max) {\n text-align: center;\n }\n }\n\n .nav-postscript li {\n display: inline-block;\n margin-left: 1rem;\n\n &:first-child {\n margin-left: 0;\n }\n\n @media screen and (max-width: $screen-tablet-max) {\n display: block;\n width: 100%;\n margin-left: 0;\n }\n\n a {\n color: $colour-philco-white;\n }\n }\n\n .social-icon-wrap {\n border-top: 1px solid $colour-white;\n padding-top: $spacer-4;\n margin-top: $spacer-4;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: $spacer-4;\n\n .social-icon-item {\n margin: 0 $spacer-3;\n }\n }\n\n p {\n text-align: center;\n }\n}\n\n@media screen and (max-width: $screen-tablet-max) {\n .row-logo {\n padding: $spacer-5 $spacer-3 $spacer-3 $spacer-3;\n }\n\n .row-top {\n padding: $spacer-4 $spacer-3 $spacer-3 $spacer-3;\n }\n\n nav {\n width: 100%;\n margin-right: 0;\n margin-bottom: $spacer-4;\n }\n}\n","import { Component, Element, getAssetPath, h, Prop } from '@stencil/core';\nimport { makeURL } from '../../util/helper-methods';\n\n/**\n * Should be contained in a `<footer/>` or similar so that the page has appropriate\n * landmarks.\n */\n@Component({\n tag: 'philco-footer',\n styleUrl: 'philco-footer.scss',\n shadow: true,\n})\nexport class PhilcoFooter {\n @Element() host: HTMLPhilcoFooterElement;\n\n @Prop() headingLevel: 1 | 2 | 3 | 4 | 5 | 6 = 5;\n\n @Prop() philcoUrlPrefix: string = 'https://philco.org.uk/';\n\n private year: string = new Date().getFullYear().toString();\n\n render() {\n const HeadingTag = `h${this.headingLevel}`;\n\n return (\n <div class=\"footer\">\n <div class=\"row row-logo\">\n <div class=\"logo\">\n <img src={getAssetPath('/assets/images/philco/Philcologo-black.png')} alt=\"PhilCo\" />\n </div>\n </div>\n\n <div class=\"row row-top\">\n <nav class=\"nav nav-primary\" aria-labelledby=\"footer-primary-heading\">\n <HeadingTag class=\"heading\" id=\"footer-primary-heading\">\n <div slot=\"nav-primary-title\">Contact</div>\n </HeadingTag>\n <ul slot=\"nav-primary\">\n <li>PhilCo@biggive.org</li>\n </ul>\n </nav>\n\n <nav class=\"nav nav-secondary\" aria-labelledby=\"footer-secondary-heading\">\n <HeadingTag class=\"heading\" id=\"footer-secondary-heading\">\n <div slot=\"nav-secondary-title\">Philco Site</div>\n </HeadingTag>\n <ul slot=\"nav-secondary\">\n <li>\n <a href={makeURL('Philco', this.philcoUrlPrefix, '/')}>Home</a>\n </li>\n <li>\n <a href={makeURL('Philco', this.philcoUrlPrefix, 'why-become-a-philco')}>Why become a Philco</a>\n </li>\n <li>\n <a href={makeURL('Philco', this.philcoUrlPrefix, 'sign-up')}>Sign Up</a>\n </li>\n </ul>\n </nav>\n\n <nav class=\"nav nav-tertiary\" aria-labelledby=\"footer-tertiary-heading\">\n <HeadingTag class=\"heading\" id=\"footer-tertiary-heading\">\n <div slot=\"nav-tertiary-title\">Guide</div>\n </HeadingTag>\n <ul slot=\"nav-tertiary\">\n <li>\n <a href=\"https://drive.google.com/file/d/1D1GnstpMKnnES1aYj05EVE9_lQtLZLwj/view\" target=\"_blank\">\n Download the guide\n </a>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"row row-bottom\">\n <div class=\"postscript-wrap\">\n <nav class=\"nav nav-postscript\" aria-label=\"Legal\">\n <ul slot=\"nav-postscript\">\n <li>\n <a href={makeURL('Philco', this.philcoUrlPrefix, 'terms-and-conditions')}>Terms and Conditions</a>\n </li>\n <li>\n <a href={makeURL('Philco', this.philcoUrlPrefix, 'privacy')}>Privacy Statement</a>\n </li>\n <li>\n <a href={makeURL('Philco', this.philcoUrlPrefix, 'privacy#cookies')}>Cookies Statement</a>\n </li>\n </ul>\n </nav>\n </div>\n <p>© 2007 – {this.year} The Big Give Trust (1136547) | Company number 07273065 | Dragon Court, 27-29 Macklin Street, London WC2B 5LX, United Kingdom</p>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAkB,4hE,MCYXC,EAAY,MALzB,WAAAC,CAAAC,G,UAQUC,KAAYC,aAA0B,EAEtCD,KAAeE,gBAAW,yBAE1BF,KAAIG,MAAW,IAAIC,MAAOC,cAAcC,UA2EjD,CAzEC,MAAAC,GACE,MAAMC,EAAa,IAAIR,KAAKC,eAE5B,OACEQ,EAAA,OAAAC,IAAA,2CAAKC,MAAM,UACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,QACTF,EAAA,OAAAC,IAAA,2CAAKE,IAAKC,EAAa,8CAA+CC,IAAI,aAI9EL,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAM,kBAAiB,kBAAiB,0BAC3CF,EAACD,EAAU,CAAAE,IAAA,2CAACC,MAAM,UAAUI,GAAG,0BAC7BN,EAAA,OAAAC,IAAA,2CAAKM,KAAK,qBAAmB,YAE/BP,EAAI,MAAAC,IAAA,2CAAAM,KAAK,eACPP,EAAA,MAAAC,IAAA,oEAIJD,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBAAmB,kBAAiB,4BAC7CF,EAACD,EAAU,CAAAE,IAAA,2CAACC,MAAM,UAAUI,GAAG,4BAC7BN,EAAA,OAAAC,IAAA,2CAAKM,KAAK,uBAAqB,gBAEjCP,EAAI,MAAAC,IAAA,2CAAAM,KAAK,iBACPP,EAAA,MAAAC,IAAA,4CACED,EAAA,KAAAC,IAAA,2CAAGO,KAAMC,EAAQ,SAAUlB,KAAKE,gBAAiB,MAAI,SAEvDO,EAAA,MAAAC,IAAA,4CACED,EAAA,KAAAC,IAAA,2CAAGO,KAAMC,EAAQ,SAAUlB,KAAKE,gBAAiB,wBAAsB,wBAEzEO,EAAA,MAAAC,IAAA,4CACED,EAAA,KAAAC,IAAA,2CAAGO,KAAMC,EAAQ,SAAUlB,KAAKE,gBAAiB,YAAuB,cAK9EO,EAAA,OAAAC,IAAA,2CAAKC,MAAM,mBAAkB,kBAAiB,2BAC5CF,EAACD,EAAU,CAAAE,IAAA,2CAACC,MAAM,UAAUI,GAAG,2BAC7BN,EAAA,OAAAC,IAAA,2CAAKM,KAAK,sBAAoB,UAEhCP,EAAI,MAAAC,IAAA,2CAAAM,KAAK,gBACPP,EAAA,MAAAC,IAAA,4CACED,EAAG,KAAAC,IAAA,2CAAAO,KAAK,yEAAyEE,OAAO,UAEpF,0BAMZV,EAAK,OAAAC,IAAA,2CAAAC,MAAM,kBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,mBACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAM,qBAAoB,aAAY,SACzCF,EAAI,MAAAC,IAAA,2CAAAM,KAAK,kBACPP,EAAA,MAAAC,IAAA,4CACED,EAAA,KAAAC,IAAA,2CAAGO,KAAMC,EAAQ,SAAUlB,KAAKE,gBAAiB,yBAAuB,yBAE1EO,EAAA,MAAAC,IAAA,4CACED,EAAA,KAAAC,IAAA,2CAAGO,KAAMC,EAAQ,SAAUlB,KAAKE,gBAAiB,YAAU,sBAE7DO,EAAA,MAAAC,IAAA,4CACED,EAAA,KAAAC,IAAA,2CAAGO,KAAMC,EAAQ,SAAUlB,KAAKE,gBAAiB,oBAAkB,yBAK3EO,EAAA,KAAAC,IAAA,wDAAkBV,KAAKG,KAAI,kI","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveCampaignHighlightsCss","BiggiveCampaignHighlights","constructor","hostRef","this","spaceBelow","progressBarCounter","undefined","render","h","key","class","campaignTitle","banner","style","src","primaryFigureLabel","primaryFigureAmount","secondaryFigureLabel","secondaryFigureAmount","counter","primaryStatIcon","icon","primaryStatText","secondaryStatIcon","secondaryStatText","championName","href","championUrl"],"sources":["src/components/biggive-campaign-highlights/biggive-campaign-highlights.scss?tag=biggive-campaign-highlights&encapsulation=shadow","src/components/biggive-campaign-highlights/biggive-campaign-highlights.tsx"],"sourcesContent":["@include image-alignment();\n@include spacers();\n\n:host {\n display: contents;\n}\n\n.container {\n @include standard-font();\n @include lower-shadow();\n background-color: $colour-white;\n padding: 25px;\n box-sizing: border-box;\n height: fit-content;\n\n .campaign-title {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n text-align: center;\n font-weight: bold;\n span {\n background-color: $colour-secondary-green;\n color: $colour-black;\n padding: $spacer-1 $spacer-3;\n display: inline-block;\n }\n }\n .banner {\n top: 0;\n margin-top: 19px;\n padding-bottom: $aspect-ratio-banners;\n background-color: #F1F1F1;\n background-size: contain;\n background-repeat: no-repeat;\n margin-bottom: $spacer-4;\n img {\n display: none;\n }\n }\n .meta-wrap {\n @include flex-container-row();\n margin-top: auto;\n margin-bottom: $spacer-3;\n .meta-item {\n width: calc( 50% - $spacer-3 );\n .label {\n @include font-size-small();\n display: block;\n }\n .text {\n @include heading-3();\n display: block;\n\n @media screen and (max-width: $screen-tablet-max) {\n font-size: 23px;\n }\n\n @media screen and (max-width: $screen-mobile-max) {\n font-size: 21px;;\n }\n\n @media screen and (max-width: $screen-mobile-small) {\n font-size: 17px;\n }\n }\n &:last-child {\n text-align: right;\n .text {\n color: $colour-primary-blue;\n }\n }\n }\n }\n .progress-bar-wrap {\n padding-bottom: $spacer-2;\n margin-bottom: $spacer-2;\n border-bottom: 1px solid $colour-grey-light;\n }\n .stat-wrap {\n @include flex-container-row();\n .stat-item {\n @include font-size-medium();\n font-weight: bold;\n width: calc( 50% - $spacer-3 );\n margin: auto 0 auto $spacer-3;\n\n .label {\n position: relative;\n bottom: 7px;\n }\n\n @media screen and (max-width: $screen-mobile-max) {\n @include font-size-small();\n margin: auto 0;\n text-align: center;\n\n .label {\n bottom: 5px;\n }\n }\n\n svg {\n fill: $colour-tertiary-coral;\n }\n }\n }\n\n .championed-by {\n text-align: left;\n margin-left: 20px;\n margin-top: 20px;\n color: $colour-black;\n\n font-size: 15px;\n\n @media screen and (max-width: $screen-tablet-max) {\n font-size: 14px;\n }\n\n @media screen and (max-width: $screen-mobile-max) {\n text-align: center;\n margin-left: 0;\n margin-bottom: 10px;\n font-size: 13px;\n }\n\n @media screen and (max-width: $screen-mobile-small) {\n font-size: 12px;\n }\n\n a {\n text-decoration: none;\n font-weight: bold;\n color: $colour-primary-blue;\n @media screen and (max-width: $screen-mobile-small) {\n // Show Champion Name on new line in smaller screens\n display: block;\n }\n }\n }\n\n @media screen and (max-width: $screen-mobile-max) {\n padding: 15px;\n }\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'biggive-campaign-highlights',\n styleUrl: 'biggive-campaign-highlights.scss',\n shadow: true,\n})\nexport class BiggiveCampaignHighlights {\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 0;\n\n /**\n * Full URL of a banner image.\n */\n @Prop() banner: string;\n\n /**\n * Display name of the charity's specific time-bound fundraising campaign.\n */\n @Prop() campaignTitle: string;\n\n /**\n * Label for the primary figure\n */\n @Prop() primaryFigureLabel: string;\n\n /**\n * Amount for the primary figure, formatted with currency symbol\n */\n @Prop() primaryFigureAmount: string;\n\n /**\n * Label for the secondary figure\n */\n @Prop() secondaryFigureLabel: string;\n\n /**\n * Amount for the secondary figure, formatted with currency symbol\n */\n @Prop() secondaryFigureAmount: string;\n\n /**\n * Progress bar percentage\n */\n @Prop() progressBarCounter: number | undefined = undefined;\n\n /**\n * Primary stat icon\n */\n @Prop() primaryStatIcon: string;\n\n /**\n * Primary stat text\n */\n @Prop() primaryStatText: string;\n\n /**\n * Secondary stat icon\n */\n @Prop() secondaryStatIcon: string;\n\n /**\n * Secondary stat text\n */\n @Prop() secondaryStatText: string;\n\n /**\n * Champion's name\n */\n @Prop() championName: string;\n\n /**\n * Link to all meta-campaigns funded by this champion.\n * For example: /christmas-challenge-2022/the-reed-foundation-22\n * In other words, it follows the following format:\n * '/' + campaign.parentRef + '/' + campaign.championRef\n */\n @Prop() championUrl: string;\n\n render() {\n return (\n <div class={'container space-below-' + this.spaceBelow}>\n <div class=\"sleeve\">\n {this.campaignTitle != null ? (\n <div class=\"campaign-title\">\n <span>{this.campaignTitle}</span>\n </div>\n ) : null}\n\n {this.banner !== null && this.banner !== undefined ? (\n <div class=\"image-wrap banner\" style={{ 'background-image': 'url(' + this.banner + ')' }}>\n <img src={this.banner} class=\"banner\" />\n </div>\n ) : null}\n\n <div class=\"meta-wrap\">\n <div class=\"meta-item\">\n <span class=\"label\">{this.primaryFigureLabel}</span>\n <span class=\"text\">{this.primaryFigureAmount}</span>\n </div>\n <div class=\"meta-item\">\n <span class=\"label\">{this.secondaryFigureLabel}</span>\n <span class=\"text\">{this.secondaryFigureAmount}</span>\n </div>\n </div>\n <div class=\"progress-bar-wrap\">\n <biggive-progress-bar counter={this.progressBarCounter} colour-scheme=\"primary\"></biggive-progress-bar>\n </div>\n <div class=\"stat-wrap\">\n {this.primaryStatIcon != null ? (\n <div class=\"stat-item\">\n <biggive-misc-icon icon={this.primaryStatIcon} background-colour=\"white\" icon-colour=\"tertiary\"></biggive-misc-icon>\n <span class=\"label\">{this.primaryStatText}</span>\n </div>\n ) : null}\n {this.secondaryStatIcon != null ? (\n <div class=\"stat-item\">\n <biggive-misc-icon icon={this.secondaryStatIcon} background-colour=\"white\" icon-colour=\"tertiary\"></biggive-misc-icon>\n <span class=\"label\">{this.secondaryStatText}</span>\n </div>\n ) : null}\n </div>\n {this.championName != null ? (\n <div class=\"championed-by\">\n Championed by <a href={this.championUrl}>{this.championName}</a>\n </div>\n ) : null}\n </div>\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAA+B,wiG,MCOxBC,EAAyB,MALtC,WAAAC,CAAAC,G,UASUC,KAAUC,WAAW,EAmCrBD,KAAkBE,mBAAuBC,SAuFlD,CApDC,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,yBAA2BP,KAAKC,YAC1CI,EAAK,OAAAC,IAAA,2CAAAC,MAAM,UACRP,KAAKQ,eAAiB,KACrBH,EAAA,OAAKE,MAAM,kBACTF,EAAO,YAAAL,KAAKQ,gBAEZ,KAEHR,KAAKS,SAAW,MAAQT,KAAKS,SAAWN,UACvCE,EAAA,OAAKE,MAAM,oBAAoBG,MAAO,CAAE,mBAAoB,OAASV,KAAKS,OAAS,MACjFJ,EAAA,OAAKM,IAAKX,KAAKS,OAAQF,MAAM,YAE7B,KAEJF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,aACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,aACTF,EAAA,QAAAC,IAAA,2CAAMC,MAAM,SAASP,KAAKY,oBAC1BP,EAAM,QAAAC,IAAA,2CAAAC,MAAM,QAAQP,KAAKa,sBAE3BR,EAAK,OAAAC,IAAA,2CAAAC,MAAM,aACTF,EAAA,QAAAC,IAAA,2CAAMC,MAAM,SAASP,KAAKc,sBAC1BT,EAAM,QAAAC,IAAA,2CAAAC,MAAM,QAAQP,KAAKe,yBAG7BV,EAAK,OAAAC,IAAA,2CAAAC,MAAM,qBACTF,EAAsB,wBAAAC,IAAA,2CAAAU,QAAShB,KAAKE,mBAAkC,6BAExEG,EAAK,OAAAC,IAAA,2CAAAC,MAAM,aACRP,KAAKiB,iBAAmB,KACvBZ,EAAA,OAAKE,MAAM,aACTF,EAAmB,qBAAAa,KAAMlB,KAAKiB,gBAAmC,4BAAoB,2BACrFZ,EAAA,QAAME,MAAM,SAASP,KAAKmB,kBAE1B,KACHnB,KAAKoB,mBAAqB,KACzBf,EAAA,OAAKE,MAAM,aACTF,EAAmB,qBAAAa,KAAMlB,KAAKoB,kBAAqC,4BAAoB,2BACvFf,EAAA,QAAME,MAAM,SAASP,KAAKqB,oBAE1B,MAELrB,KAAKsB,cAAgB,KACpBjB,EAAA,OAAKE,MAAM,iBAAe,iBACVF,EAAA,KAAGkB,KAAMvB,KAAKwB,aAAcxB,KAAKsB,eAE/C,M","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveBiographyCardCss","BiggiveBiographyCard","constructor","hostRef","this","spaceBelow","borderWidth","imageUrl","imageStyle","textColour","backgroundColour","fullName","jobTitle","textAlign","ratio","circle","circleColour","rounded","url","render","h","class","href","toString","style","src","alt","title","width","height","viewBox","xmlns","d"],"sources":["src/components/biggive-biography-card/biggive-biography-card.scss?tag=biggive-biography-card&encapsulation=shadow","src/components/biggive-biography-card/biggive-biography-card.tsx"],"sourcesContent":["@include image-alignment();\n@include spacers();\n@include backgrounds();\n@include text-colours();\n\n:host {\n display: block;\n}\n\n.container {\n\n @each $key, $colour in $brandColours {\n &.background-colour-#{$key} .image-wrap { background-color: $colour; }\n }\n\n text-align: left;\n &.text-align-center {\n text-align: center;\n }\n &.text-align-right {\n text-align: right;\n }\n\n a {\n text-decoration: none;\n }\n\n h3.full-name {\n font-size: font-size-medium();\n margin: 0;\n }\n\n div.job-title {\n font-size: font-size-small();\n margin: 0;\n }\n\n\n .sleeve {\n\n\n @each $key, $colour in $brandColours {\n\n &.border-width-1.border-colour-#{$key} { border: $spacer-1 solid $colour; }\n &.border-width-2.border-colour-#{$key} { border: $spacer-2 solid $colour; }\n &.border-width-3.border-colour-#{$key} { border: $spacer-3 solid $colour; }\n &.border-width-4.border-colour-#{$key} { border: $spacer-4 solid $colour; }\n &.border-width-5.border-colour-#{$key} { border: $spacer-5 solid $colour; }\n &.border-width-6.border-colour-#{$key} { border: $spacer-6 solid $colour; }\n }\n\n\n margin-bottom: $spacer-2;\n\n &.circle-true {\n overflow: hidden;\n border-radius: 50%;\n }\n\n\n .image-wrap {\n position: relative;\n background-position: center center;\n background-size: cover;\n background-repeat: no-repeat;\n\n &.image-style-cover {\n background-size: cover;\n }\n &.image-style-contain {\n background-size: contain;\n }\n\n &[data-ratio=\"1,1\"] { padding-bottom: 100%; }\n &[data-ratio=\"1,1\"].border-width-1 { padding-bottom: calc(100% - ( $spacer-1 * 2 )); }\n &[data-ratio=\"1,1\"].border-width-2 { padding-bottom: calc(100% - ( $spacer-2 * 2 )); }\n &[data-ratio=\"1,1\"].border-width-3 { padding-bottom: calc(100% - ( $spacer-3 * 2 )); }\n &[data-ratio=\"1,1\"].border-width-4 { padding-bottom: calc(100% - ( $spacer-4 * 2 )); }\n &[data-ratio=\"1,1\"].border-width-5 { padding-bottom: calc(100% - ( $spacer-5 * 2 )); }\n &[data-ratio=\"1,1\"].border-width-6 { padding-bottom: calc(100% - ( $spacer-6 * 2 )); }\n\n &[data-ratio=\"1,1.5\"] { padding-bottom: 150%; }\n &[data-ratio=\"1,1.5\"].border-width-1 { padding-bottom: calc(150% - ( $spacer-1 * 2 )); }\n &[data-ratio=\"1,1.5\"].border-width-2 { padding-bottom: calc(150% - ( $spacer-2 * 2 )); }\n &[data-ratio=\"1,1.5\"].border-width-3 { padding-bottom: calc(150% - ( $spacer-3 * 2 )); }\n &[data-ratio=\"1,1.5\"].border-width-4 { padding-bottom: calc(150% - ( $spacer-4 * 2 )); }\n &[data-ratio=\"1,1.5\"].border-width-5 { padding-bottom: calc(150% - ( $spacer-5 * 2 )); }\n &[data-ratio=\"1,1.5\"].border-width-6 { padding-bottom: calc(150% - ( $spacer-6 * 2 )); }\n\n &[data-ratio=\"1,2\"] { padding-bottom: 200%; }\n &[data-ratio=\"1,2\"].border-width-1 { padding-bottom: calc(200% - ( $spacer-1 * 2 )); }\n &[data-ratio=\"1,2\"].border-width-2 { padding-bottom: calc(200% - ( $spacer-2 * 2 )); }\n &[data-ratio=\"1,2\"].border-width-3 { padding-bottom: calc(200% - ( $spacer-3 * 2 )); }\n &[data-ratio=\"1,2\"].border-width-4 { padding-bottom: calc(200% - ( $spacer-4 * 2 )); }\n &[data-ratio=\"1,2\"].border-width-5 { padding-bottom: calc(200% - ( $spacer-5 * 2 )); }\n &[data-ratio=\"1,2\"].border-width-6 { padding-bottom: calc(200% - ( $spacer-6 * 2 )); }\n\n\n\n\n\n\n &.rounded-true {\n overflow: hidden;\n border-radius: 10px;\n }\n\n\n\n\n .circle {\n position: absolute;\n width: 30px;\n height: 30px;\n background-color: #FFFFFF;\n bottom: 15px;\n right: 15px;\n border-radius: 50%;\n text-align: center;\n padding: 6.5px;\n box-sizing: border-box;\n svg path {\n stroke: #000000;\n }\n &.dark {\n background-color: #000000;\n svg path {\n stroke: #FFFFFF;\n }\n }\n svg {\n position: relative;\n display: inline-block;\n top: -1px;\n height: 15px;\n width: 15px;\n }\n }\n\n\n\n img {\n display: none;\n }\n\n\n }\n\n\n\n }\n\n\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport { brandColour } from '../../globals/brand-colour';\nimport { spacingOption } from '../../globals/spacing-option';\n\n@Component({\n tag: 'biggive-biography-card',\n styleUrl: 'biggive-biography-card.scss',\n shadow: true,\n})\nexport class BiggiveBiographyCard {\n @Prop() spaceBelow: spacingOption = 0;\n\n @Prop() borderWidth: spacingOption = 0;\n\n @Prop() imageUrl: string = '';\n\n @Prop() imageStyle: 'cover' | 'contain' = 'cover';\n\n @Prop() textColour: brandColour = 'black';\n\n @Prop() backgroundColour: brandColour = 'white';\n\n @Prop() fullName: string = '';\n\n @Prop() jobTitle: string = '';\n\n @Prop() textAlign: 'center' | 'left' | 'right' = 'left';\n\n @Prop() ratio: '1,1' | '1,1.5' | '1,2' = '1,1.5';\n\n @Prop() circle: boolean = false;\n\n @Prop() circleColour: 'light' | 'dark' = 'light';\n\n @Prop() rounded: boolean = false;\n\n @Prop() url: string = '';\n\n render() {\n if (this.url != '') {\n return (\n <div class={'container space-below-' + this.spaceBelow + ' text-colour-' + this.textColour + ' text-align-' + this.textAlign}>\n <a href={this.url}>\n <div\n class={\n 'sleeve circle-' +\n this.circle.toString() +\n ' border-colour-' +\n this.backgroundColour +\n ' background-colour-' +\n this.backgroundColour +\n ' border-width-' +\n this.borderWidth\n }\n >\n {this.imageUrl != '' ? (\n <div\n data-ratio={this.ratio}\n class={'image-wrap image-style-' + this.imageStyle + ' rounded-' + this.rounded.toString()}\n style={{ 'background-image': \"url('\" + this.imageUrl + \"')\" }}\n >\n <img src={this.imageUrl} alt={this.fullName} title={this.fullName} />\n <div class={'circle ' + this.circleColour}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path stroke-color=\"1\" d=\"M11 11v-11h1v11h11v1h-11v11h-1v-11h-11v-1h11z\" />\n </svg>\n </div>\n </div>\n ) : null}\n </div>\n <h3 class=\"full-name\">{this.fullName}</h3>\n <div class=\"job-title\">{this.jobTitle}</div>\n </a>\n </div>\n );\n } else {\n return (\n <div class={'container space-below-' + this.spaceBelow + ' text-colour-' + this.textColour + ' text-align-' + this.textAlign}>\n <div\n class={\n 'sleeve circle-' +\n this.circle.toString() +\n ' border-colour-' +\n this.backgroundColour +\n ' background-colour-' +\n this.backgroundColour +\n ' border-width-' +\n this.borderWidth\n }\n >\n {this.imageUrl != '' ? (\n <div\n data-ratio={this.ratio}\n class={'image-wrap image-style-' + this.imageStyle + ' rounded-' + this.rounded.toString()}\n style={{ 'background-image': \"url('\" + this.imageUrl + \"')\" }}\n >\n <img src={this.imageUrl} alt={this.fullName} title={this.fullName} />\n </div>\n ) : null}\n </div>\n <h3 class=\"full-name\">{this.fullName}</h3>\n <div class=\"job-title\">{this.jobTitle}</div>\n </div>\n );\n }\n }\n}\n"],"mappings":"sCAAA,MAAMA,EAA0B,ig2B,MCSnBC,EAAoB,MALjC,WAAAC,CAAAC,G,UAMUC,KAAUC,WAAkB,EAE5BD,KAAWE,YAAkB,EAE7BF,KAAQG,SAAW,GAEnBH,KAAUI,WAAwB,QAElCJ,KAAUK,WAAgB,QAE1BL,KAAgBM,iBAAgB,QAEhCN,KAAQO,SAAW,GAEnBP,KAAQQ,SAAW,GAEnBR,KAASS,UAAgC,OAEzCT,KAAKU,MAA4B,QAEjCV,KAAMW,OAAY,MAElBX,KAAYY,aAAqB,QAEjCZ,KAAOa,QAAY,MAEnBb,KAAGc,IAAW,EAsEvB,CApEC,MAAAC,GACE,GAAIf,KAAKc,KAAO,GAAI,CAClB,OACEE,EAAA,OAAKC,MAAO,yBAA2BjB,KAAKC,WAAa,gBAAkBD,KAAKK,WAAa,eAAiBL,KAAKS,WACjHO,EAAA,KAAGE,KAAMlB,KAAKc,KACZE,EACE,OAAAC,MACE,iBACAjB,KAAKW,OAAOQ,WACZ,kBACAnB,KAAKM,iBACL,sBACAN,KAAKM,iBACL,iBACAN,KAAKE,aAGNF,KAAKG,UAAY,GAChBa,EAAA,oBACchB,KAAKU,MACjBO,MAAO,0BAA4BjB,KAAKI,WAAa,YAAcJ,KAAKa,QAAQM,WAChFC,MAAO,CAAE,mBAAoB,QAAUpB,KAAKG,SAAW,OAEvDa,EAAA,OAAKK,IAAKrB,KAAKG,SAAUmB,IAAKtB,KAAKO,SAAUgB,MAAOvB,KAAKO,WACzDS,EAAA,OAAKC,MAAO,UAAYjB,KAAKY,cAC3BI,EAAA,OAAKQ,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,MAAM,8BACpDX,EAAA,uBAAmB,IAAIY,EAAE,qDAI7B,MAENZ,EAAA,MAAIC,MAAM,aAAajB,KAAKO,UAC5BS,EAAK,OAAAC,MAAM,aAAajB,KAAKQ,W,KAI9B,CACL,OACEQ,EAAA,OAAKC,MAAO,yBAA2BjB,KAAKC,WAAa,gBAAkBD,KAAKK,WAAa,eAAiBL,KAAKS,WACjHO,EACE,OAAAC,MACE,iBACAjB,KAAKW,OAAOQ,WACZ,kBACAnB,KAAKM,iBACL,sBACAN,KAAKM,iBACL,iBACAN,KAAKE,aAGNF,KAAKG,UAAY,GAChBa,EAAA,oBACchB,KAAKU,MACjBO,MAAO,0BAA4BjB,KAAKI,WAAa,YAAcJ,KAAKa,QAAQM,WAChFC,MAAO,CAAE,mBAAoB,QAAUpB,KAAKG,SAAW,OAEvDa,EAAK,OAAAK,IAAKrB,KAAKG,SAAUmB,IAAKtB,KAAKO,SAAUgB,MAAOvB,KAAKO,YAEzD,MAENS,EAAA,MAAIC,MAAM,aAAajB,KAAKO,UAC5BS,EAAK,OAAAC,MAAM,aAAajB,KAAKQ,U","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveButtonCss","BiggiveButton","constructor","hostRef","this","spaceBelow","colourScheme","label","openInNewTab","fullWidth","size","rounded","centered","buttonId","undefined","siteDesign","disabled","handleButtonClick","event","doButtonClick","emit","url","target","parentElement","href","render","h","key","class","role","id","toString","onClick"],"sources":["src/components/biggive-button/biggive-button.scss?tag=biggive-button&encapsulation=shadow","src/components/biggive-button/biggive-button.tsx"],"sourcesContent":["@include spacers();\n\n:host {\n display: contents;\n}\n\n.container {\n font-family: inherit;\n a {\n display: inline-block;\n &.full-width-true {\n display: block;\n }\n }\n &.centered-true {\n text-align: center;\n }\n}\n\n.button {\n @include button();\n &.size-small {\n @include button-small();\n }\n\n &.button.rounded-true {\n @include button-rounded();\n }\n}\n\n@each $brand, $colour in $brandColours {\n .button-#{$brand} {\n color: $colour-white; // may be overridden by following rules. Later CSS rules have priority.\n background-color: $colour;\n border-color: $colour;\n &:hover {\n color: $colour;\n background-color: $colour-white; // may be overriden by following rules\n }\n }\n}\n\n.button-secondary {\n color: $colour-black;\n &:hover {\n color: $colour-black;\n background-color: $colour-white;\n border-color: $colour-black;\n }\n}\n\n.button-brand-grey {\n color: $colour-white;\n &:hover {\n background-color: $colour-black;\n }\n}\n\n.button-brand-mhf-turquoise {\n &:hover {\n background-color: $colour-black;\n }\n}\n\n.button-brand-afa-pink {\n &:hover {\n background-color: $colour-black;\n }\n}\n\n.button-white {\n color: $colour-primary-blue;\n &:hover {\n color: $colour-black;\n background-color: $colour-secondary-green;\n }\n}\n\n.button-philco-gray-90 {\n @include font-size-philco-medium();\n color: $colour-philco-white;\n &:hover {\n color: $colour-philco-gray-90;\n background-color: $colour-philco-orange;\n }\n}\n\n.button-philco-orange {\n @include font-size-philco-medium();\n color: $colour-philco-gray-90;\n &:hover {\n color: $colour-philco-white;\n background-color: $colour-philco-gray-90;\n }\n}\n\n.button-philco-white {\n @include font-size-philco-medium();\n color: $colour-philco-gray-90;\n &:hover {\n color: $colour-philco-gray-90 !important;\n background-color: $colour-philco-orange !important;\n }\n}\n\n.container.philco a {\n border-color: transparent;\n}\n\n.container.disabled.philco .button {\n cursor: not-allowed;\n background-color: $colour-philco-gray-30 !important;\n\n color: $colour-philco-white;\n &:hover {\n background-color: $colour-philco-gray-30;\n color: $colour-philco-white;\n }\n}\n\n.button-black {\n color: $colour-white;\n &:hover {\n background-color: $colour-white;\n }\n}\n\n.button-grey-extra-light {\n color: $colour-black;\n &:hover {\n background-color: $colour-black;\n }\n}\n\n.button-grey-light {\n color: $colour-black;\n &:hover {\n background-color: $colour-black;\n }}\n\n.button-grey-medium {\n color: $colour-white;\n &:hover {\n background-color: $colour-white;\n }\n}\n\n.button-grey-dark {\n color: $colour-white;\n &:hover {\n background-color: $colour-white;\n }\n}\n\n.button-rounded {\n @include button-rounded();\n }\n\n @each $brand, $colour in $brandColours {\n .button-clear-#{$brand} {\n color: $colour;\n background-color: transparent;\n text-decoration: underline;\n border: 0;\n padding-left: 0;\n padding-right: 0;\n &:hover {\n color: $colour;\n text-decoration: none;\n background-color: transparent;\n }\n }\n}\n","import { Component, Event, EventEmitter, Prop, h } from '@stencil/core';\nimport { brandColour } from '../../globals/brand-colour';\n\n@Component({\n tag: 'biggive-button',\n styleUrl: 'biggive-button.scss',\n shadow: true,\n})\nexport class BiggiveButton {\n @Event({\n eventName: 'doButtonClick',\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n doButtonClick: EventEmitter<{ event: object; url: string }>;\n\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 1;\n\n /**\n * Colour Scheme\n */\n @Prop() colourScheme: brandColour = 'primary';\n\n /**\n * Text\n */\n @Prop() label: string = 'Click me';\n\n /**\n * URL\n */\n @Prop() url: string | undefined;\n\n /**\n * New Tab\n */\n @Prop() openInNewTab: boolean = false;\n\n /**\n * Display full width\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * Size\n */\n @Prop() size: string = 'medium';\n\n /**\n * Rounded corners\n */\n @Prop() rounded: boolean = false;\n\n /**\n * Centered\n */\n @Prop() centered: boolean = false;\n\n @Prop() buttonId: undefined | string = undefined;\n\n @Prop() siteDesign: 'biggive' | 'philco' = 'biggive';\n\n /**\n * For use only in philco site - the Big Give site does not use disabled\n * buttons and does not have a design for such.\n */\n @Prop() disabled = false;\n\n private handleButtonClick = (event: any) => {\n this.doButtonClick.emit({ event: event, url: event.target.parentElement.href });\n };\n\n render() {\n // We always want to have a href so that browsers will see this as a link and allow clicking with keybard.\n // If there's no or an empty href then it isn't possible to click by keyboard and we would have to handle keyboard\n // interaction separately.\n const href = this.url || 'javascript:void(0);';\n\n return (\n <div class={'container space-below-' + this.spaceBelow + ' centered-' + this.centered + ' ' + this.siteDesign + (this.disabled ? ' disabled' : '')}>\n <a\n pointer-events={this.disabled ? 'none' : 'auto'}\n aria-disabled={this.disabled}\n role=\"button\"\n href={href}\n target={this.openInNewTab ? '_blank' : '_self'}\n id={this.buttonId}\n class={'button button-' + this.colourScheme + ' full-width-' + this.fullWidth.toString() + ' size-' + this.size + ' rounded-' + this.rounded.toString()}\n >\n <span onClick={this.disabled ? () => {} : this.handleButtonClick}>{this.label}</span>\n </a>\n </div>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAmB,s5b,MCQZC,EAAa,MAL1B,WAAAC,CAAAC,G,qDAiBUC,KAAUC,WAAW,EAKrBD,KAAYE,aAAgB,UAK5BF,KAAKG,MAAW,WAUhBH,KAAYI,aAAY,MAKxBJ,KAASK,UAAY,MAKrBL,KAAIM,KAAW,SAKfN,KAAOO,QAAY,MAKnBP,KAAQQ,SAAY,MAEpBR,KAAQS,SAAuBC,UAE/BV,KAAUW,WAAyB,UAMnCX,KAAQY,SAAG,MAEXZ,KAAAa,kBAAqBC,IAC3Bd,KAAKe,cAAcC,KAAK,CAAEF,MAAOA,EAAOG,IAAKH,EAAMI,OAAOC,cAAcC,MAAO,CAyBlF,CAtBC,MAAAC,GAIE,MAAMD,EAAOpB,KAAKiB,KAAO,sBAEzB,OACEK,EAAA,OAAAC,IAAA,2CAAKC,MAAO,yBAA2BxB,KAAKC,WAAa,aAAeD,KAAKQ,SAAW,IAAMR,KAAKW,YAAcX,KAAKY,SAAW,YAAc,KAC7IU,EAAA,KAAAC,IAAA,4DACkBvB,KAAKY,SAAW,OAAS,OAAM,gBAChCZ,KAAKY,SACpBa,KAAK,SACLL,KAAMA,EACNF,OAAQlB,KAAKI,aAAe,SAAW,QACvCsB,GAAI1B,KAAKS,SACTe,MAAO,iBAAmBxB,KAAKE,aAAe,eAAiBF,KAAKK,UAAUsB,WAAa,SAAW3B,KAAKM,KAAO,YAAcN,KAAKO,QAAQoB,YAE7IL,EAAM,QAAAC,IAAA,2CAAAK,QAAS5B,KAAKY,SAAW,OAAWZ,KAAKa,mBAAoBb,KAAKG,Q","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveArticleCardCss","BiggiveArticleCard","constructor","hostRef","this","spaceBelow","backgroundColour","backgroundImageUrl","slugColour","dateColour","mainTitleColour","imageLabelColour","buttonColour","clipBottomLeftCorner","clipTopRightCorner","isEmpty","value","undefined","render","h","key","class","style","Object","assign","length","slug","date","mainImageUrl","src","alt","mainImageAltText","href","buttonUrl","mainTitle","image1Url","image2Url","image1AltText","image2AltText","imageLabel","buttonLabel","url","label"],"sources":["src/components/biggive-article-card/biggive-article-card.scss?tag=biggive-article-card&encapsulation=shadow","src/components/biggive-article-card/biggive-article-card.tsx"],"sourcesContent":["@include backgrounds();\n@include image-alignment();\n@include spacers();\n@include text-colours();\n\n:host {\n display: contents;\n}\n\n.align-right {\n text-align: right;\n}\n\n.container {\n height: 100%;\n width: 100%;\n @include standard-font();\n position: relative;\n text-align: left;\n @include lower-shadow();\n .sleeve {\n height: 100%;\n box-sizing: border-box;\n background-size: cover;\n padding: $spacer-3 $spacer-3 $spacer-2 $spacer-3;\n .content-wrap {\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n }\n .meta {\n margin-bottom: $spacer-2;\n }\n .meta .slug {\n @include font-size-small();\n margin-bottom: $spacer-1;\n }\n .meta .date {\n @include font-size-small();\n margin-bottom: $spacer-1;\n }\n h3 {\n @include heading-4();\n padding-bottom: $spacer-3;\n margin-bottom: auto;\n a,\n a:hover {\n text-decoration: none;\n }\n }\n .main-image-container {\n img {\n width: 100%;\n height: auto;\n display: inline-block;\n }\n }\n .image-group {\n display: flex;\n margin-bottom: $spacer-3;\n .image-container {\n margin-right: 15px;\n .image-wrap {\n border-radius: 50%;\n width: 60px;\n height: 60px;\n background-size: cover;\n background-position: center center;\n margin-bottom: $spacer-1;\n img {\n display: none;\n }\n }\n }\n }\n .image-label {\n @include font-size-x-small();\n }\n\n\n .clip-bottom-left-corner-false.clip-top-right-corner-true {\n\n @include corner-clip-medium-top-right();\n\n }\n .clip-bottom-left-corner-true.clip-top-right-corner-false {\n @include corner-clip-medium-bottom-left();\n }\n\n .clip-bottom-left-corner-true.clip-top-right-corner-true {\n @include corner-clip-medium-bottom-left-top-right();\n\n }\n\n\n\n @each $key, $colour in $brandColours {\n .main-title-colour-#{$key} h3 { color: $colour; }\n .slug-colour-#{$key} .slug { color: $colour; }\n .date-colour-#{$key} .date { color: $colour; }\n .image-label-colour-#{$key} .image-label { color: $colour; }\n }\n\n\n\n\n\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport { brandColour } from '../../globals/brand-colour';\nimport { spacingOption } from '../../globals/spacing-option';\n\n@Component({\n tag: 'biggive-article-card',\n styleUrl: 'biggive-article-card.scss',\n shadow: true,\n})\nexport class BiggiveArticleCard {\n @Prop() spaceBelow: spacingOption = 0;\n\n @Prop() backgroundColour: brandColour = 'white';\n\n @Prop() backgroundImageUrl: string = '';\n\n @Prop() slug: string;\n\n @Prop() slugColour: brandColour = 'black';\n\n @Prop() date: string;\n\n @Prop() dateColour: brandColour = 'black';\n\n @Prop() mainTitle: string;\n\n @Prop() mainTitleColour: brandColour = 'black';\n\n @Prop() mainImageUrl: string;\n\n @Prop() mainImageAltText: string;\n\n @Prop() image1Url: string;\n\n @Prop() image1AltText: string;\n\n @Prop() image2Url: string;\n\n @Prop() image2AltText: string;\n\n @Prop() imageLabel: string;\n\n @Prop() imageLabelColour: brandColour = 'black';\n\n @Prop() buttonLabel: string;\n\n @Prop() buttonUrl: string;\n\n @Prop() buttonColour: brandColour = 'black';\n\n @Prop() clipBottomLeftCorner: boolean = true;\n\n @Prop() clipTopRightCorner: boolean = true;\n\n private isEmpty(value: string | undefined | null): boolean {\n return value === undefined || value === null || value === '';\n }\n\n render() {\n return (\n <div class={'container space-below-' + this.spaceBelow}>\n <div\n class={\n 'sleeve background-colour-' +\n this.backgroundColour +\n ' text-colour-black ' +\n ' slug-colour-' +\n this.slugColour +\n ' date-colour-' +\n this.dateColour +\n ' main-title-colour-' +\n this.mainTitleColour +\n ' image-label-colour-' +\n this.imageLabelColour +\n ' button-colour' +\n this.buttonColour +\n ' clip-bottom-left-corner-' +\n this.clipBottomLeftCorner +\n ' clip-top-right-corner-' +\n this.clipTopRightCorner\n }\n style={{\n ...(this.backgroundImageUrl.length > 0 ? { 'background-image': \"url('\" + this.backgroundImageUrl + \"')\" } : {}),\n }}\n >\n <div class=\"content-wrap\">\n <div class=\"meta\">\n {this.slug != '' ? <div class=\"slug text-colour-primary\">{this.slug}</div> : null}\n {this.date != '' ? <div class=\"date\">{this.date}</div> : null}\n </div>\n\n {this.isEmpty(this.mainImageUrl) ? null : (\n <div class=\"main-image-container\">\n <div class=\"image-wrap\">\n <img src={this.mainImageUrl} alt={this.mainImageAltText} />\n </div>\n </div>\n )}\n\n <h3 class=\"title\">\n <a href={this.buttonUrl}>{this.mainTitle}</a>\n </h3>\n {!this.isEmpty(this.image1Url) || !this.isEmpty(this.image2Url) ? (\n <div class=\"image-group\">\n {this.isEmpty(this.image1Url) ? null : (\n <div class=\"image-container\">\n <div class=\"image-wrap\" style={{ 'background-image': \"url('\" + this.image1Url + \"')\" }}>\n <img src={this.image1Url} alt={this.image1AltText} />\n </div>\n </div>\n )}\n\n {this.isEmpty(this.image2Url) ? null : (\n <div class=\"image-container\">\n <div class=\"image-wrap\" style={{ 'background-image': \"url('\" + this.image2Url + \"')\" }}>\n <img src={this.image2Url} alt={this.image2AltText} />\n </div>\n </div>\n )}\n </div>\n ) : null}\n\n {this.isEmpty(this.imageLabel) ? null : <div class=\"image-label\">{this.imageLabel}</div>}\n\n {!this.isEmpty(this.buttonLabel) && !this.isEmpty(this.buttonUrl) ? (\n <div class=\"button-wrap align-right\">\n <biggive-button colour-scheme={'clear-' + this.buttonColour} url={this.buttonUrl} label={this.buttonLabel}></biggive-button>\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAwB,u+d,MCSjBC,EAAkB,MAL/B,WAAAC,CAAAC,G,UAMUC,KAAUC,WAAkB,EAE5BD,KAAgBE,iBAAgB,QAEhCF,KAAkBG,mBAAW,GAI7BH,KAAUI,WAAgB,QAI1BJ,KAAUK,WAAgB,QAI1BL,KAAeM,gBAAgB,QAgB/BN,KAAgBO,iBAAgB,QAMhCP,KAAYQ,aAAgB,QAE5BR,KAAoBS,qBAAY,KAEhCT,KAAkBU,mBAAY,IAkFvC,CAhFS,OAAAC,CAAQC,GACd,OAAOA,IAAUC,WAAaD,IAAU,MAAQA,IAAU,E,CAG5D,MAAAE,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,yBAA2BjB,KAAKC,YAC1Cc,EACE,OAAAC,IAAA,2CAAAC,MACE,4BACAjB,KAAKE,iBACL,sBACA,gBACAF,KAAKI,WACL,gBACAJ,KAAKK,WACL,sBACAL,KAAKM,gBACL,uBACAN,KAAKO,iBACL,iBACAP,KAAKQ,aACL,4BACAR,KAAKS,qBACL,0BACAT,KAAKU,mBAEPQ,MACKC,OAAAC,OAAA,GAACpB,KAAKG,mBAAmBkB,OAAS,EAAI,CAAE,mBAAoB,QAAUrB,KAAKG,mBAAqB,MAAS,KAG9GY,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,QACRjB,KAAKsB,MAAQ,GAAKP,EAAK,OAAAE,MAAM,4BAA4BjB,KAAKsB,MAAc,KAC5EtB,KAAKuB,MAAQ,GAAKR,EAAA,OAAKE,MAAM,QAAQjB,KAAKuB,MAAc,MAG1DvB,KAAKW,QAAQX,KAAKwB,cAAgB,KACjCT,EAAK,OAAAE,MAAM,wBACTF,EAAK,OAAAE,MAAM,cACTF,EAAA,OAAKU,IAAKzB,KAAKwB,aAAcE,IAAK1B,KAAK2B,qBAK7CZ,EAAI,MAAAC,IAAA,2CAAAC,MAAM,SACRF,EAAG,KAAAC,IAAA,2CAAAY,KAAM5B,KAAK6B,WAAY7B,KAAK8B,aAE/B9B,KAAKW,QAAQX,KAAK+B,aAAe/B,KAAKW,QAAQX,KAAKgC,WACnDjB,EAAA,OAAKE,MAAM,eACRjB,KAAKW,QAAQX,KAAK+B,WAAa,KAC9BhB,EAAK,OAAAE,MAAM,mBACTF,EAAA,OAAKE,MAAM,aAAaC,MAAO,CAAE,mBAAoB,QAAUlB,KAAK+B,UAAY,OAC9EhB,EAAA,OAAKU,IAAKzB,KAAK+B,UAAWL,IAAK1B,KAAKiC,kBAKzCjC,KAAKW,QAAQX,KAAKgC,WAAa,KAC9BjB,EAAK,OAAAE,MAAM,mBACTF,EAAA,OAAKE,MAAM,aAAaC,MAAO,CAAE,mBAAoB,QAAUlB,KAAKgC,UAAY,OAC9EjB,EAAK,OAAAU,IAAKzB,KAAKgC,UAAWN,IAAK1B,KAAKkC,mBAK1C,KAEHlC,KAAKW,QAAQX,KAAKmC,YAAc,KAAOpB,EAAA,OAAKE,MAAM,eAAejB,KAAKmC,aAErEnC,KAAKW,QAAQX,KAAKoC,eAAiBpC,KAAKW,QAAQX,KAAK6B,WACrDd,EAAA,OAAKE,MAAM,2BACTF,EAAA,kCAA+B,SAAWf,KAAKQ,aAAc6B,IAAKrC,KAAK6B,UAAWS,MAAOtC,KAAKoC,eAE9F,O","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["biggiveTableCss","BiggiveTable","constructor","hostRef","this","spaceBelow","headerTextColour","headerBackgroundColour","bodyTextColour","bodyBackgroundColour","render","h","key","class"],"sources":["src/components/biggive-table/biggive-table.scss?tag=biggive-table&encapsulation=shadow","src/components/biggive-table/biggive-table.tsx"],"sourcesContent":["@include backgrounds();\n@include fills();\n\n:host {\n display: contents;\n @include standard-font();\n}\n\n\n.container {\n\n @each $key, $colour in $brandColours {\n &.header-text-colour-#{$key} thead { color: $colour; }\n &.header-background-colour-#{$key} thead { background-color: $colour; }\n &.body-text-colour-#{$key} tbody { color: $colour; }\n &.body-background-colour-#{$key} tbody { background-color: $colour; }\n }\n\n\n table {\n width: 100%;\n border-collapse: collapse;\n border: 0;\n\n td,th {\n padding: 10px 20px;\n border: 0;\n font-size: inherit;\n }\n\n thead {\n filter: drop-shadow(-1px 3px 12px rgba(0,0,0,0.15));\n td,th {\n font-weight: bold;\n }\n }\n\n tbody {\n tr.odd {\n background-color: rgba(255,255,255,0.3);\n }\n\n td,th {\n font-size: 80%;\n }\n }\n\n }\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport { brandColour } from '../../globals/brand-colour';\nimport { spacingOption } from '../../globals/spacing-option';\n\n@Component({\n tag: 'biggive-table',\n styleUrl: 'biggive-table.scss',\n shadow: true,\n})\nexport class BiggiveTable {\n @Prop() spaceBelow: spacingOption = 0;\n\n @Prop() headerTextColour: brandColour = 'primary';\n\n @Prop() headerBackgroundColour: brandColour = 'white';\n\n @Prop() bodyTextColour: brandColour = 'black';\n\n @Prop() bodyBackgroundColour: brandColour = 'grey-light';\n\n render() {\n return (\n <div\n class={\n 'container header-text-colour-' +\n this.headerTextColour +\n ' header-background-colour-' +\n this.headerBackgroundColour +\n ' body-text-colour-' +\n this.bodyTextColour +\n ' body-background-colour-' +\n this.bodyBackgroundColour +\n ' space-below-' +\n this.spaceBelow\n }\n >\n <slot></slot>\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAkB,6ga,MCSXC,EAAY,MALzB,WAAAC,CAAAC,G,UAMUC,KAAUC,WAAkB,EAE5BD,KAAgBE,iBAAgB,UAEhCF,KAAsBG,uBAAgB,QAEtCH,KAAcI,eAAgB,QAE9BJ,KAAoBK,qBAAgB,YAsB7C,CApBC,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MACE,gCACAT,KAAKE,iBACL,6BACAF,KAAKG,uBACL,qBACAH,KAAKI,eACL,2BACAJ,KAAKK,qBACL,gBACAL,KAAKC,YAGPM,EAAa,QAAAC,IAAA,6C","ignoreList":[]}
|