@tet/tet-components 1.4.71-testing → 1.4.72-production
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/cjs/{address-656e77f6.js → address-951109ee.js} +1 -1
- package/dist/cjs/{assets-f64f0e16.js → assets-c00a24d2.js} +1 -1
- package/dist/cjs/{async-request-fcf33aba.js → async-request-13036d6f.js} +1 -1
- package/dist/cjs/{http-codes-40da1e61.js → http-codes-16564d25.js} +1 -1
- package/dist/cjs/{index-3242ff3f.js → index-162b4cbc.js} +17 -9
- package/dist/cjs/{index-4b423f33.js → index-a59cbcb0.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{phone-055efd07.js → phone-39f20542.js} +2 -2
- package/dist/cjs/{product-comparison-88a89820.js → product-comparison-5535cd9e.js} +1 -1
- package/dist/cjs/tet-accordion.cjs.entry.js +1 -1
- package/dist/cjs/tet-address-offers-filters-products_2.cjs.entry.js +4 -4
- package/dist/cjs/tet-address-offers-view.cjs.entry.js +3 -3
- package/dist/cjs/tet-address-offers_4.cjs.entry.js +7 -7
- package/dist/cjs/tet-address-search.cjs.entry.js +4 -4
- package/dist/cjs/tet-asset-addresses.cjs.entry.js +3 -3
- package/dist/cjs/tet-autocomplete-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/tet-autocomplete.cjs.entry.js +1 -1
- package/dist/cjs/tet-b2b-check-out-form_5.cjs.entry.js +3 -3
- package/dist/cjs/tet-b2b-configurator.cjs.entry.js +4 -4
- package/dist/cjs/tet-b2b-service-calculator.cjs.entry.js +3 -3
- package/dist/cjs/tet-banner-nav.cjs.entry.js +3 -3
- package/dist/cjs/tet-bar-graph.cjs.entry.js +1 -1
- package/dist/cjs/tet-border-radius.cjs.entry.js +1 -1
- package/dist/cjs/tet-business-card.cjs.entry.js +1 -1
- package/dist/cjs/tet-business-compare-card.cjs.entry.js +1 -1
- package/dist/cjs/tet-business-lines.cjs.entry.js +4 -4
- package/dist/cjs/tet-business-round-stepper.cjs.entry.js +1 -1
- package/dist/cjs/tet-button.cjs.entry.js +1 -1
- package/dist/cjs/tet-card-list.cjs.entry.js +1 -1
- package/dist/cjs/tet-carousel.cjs.entry.js +3 -3
- package/dist/cjs/{tet-checkbox_3.cjs.entry.js → tet-checkbox_2.cjs.entry.js} +1 -375
- package/dist/cjs/tet-cloud-application-form-dialog.cjs.entry.js +3 -3
- package/dist/cjs/tet-cloud-configurator.cjs.entry.js +3 -3
- package/dist/cjs/tet-colors.cjs.entry.js +1 -1
- package/dist/cjs/tet-compare-card-v2.cjs.entry.js +4 -4
- package/dist/cjs/tet-compare-card-v3.cjs.entry.js +360 -0
- package/dist/cjs/tet-compare-cards-tab.cjs.entry.js +3 -3
- package/dist/cjs/tet-compare-cards_2.cjs.entry.js +3 -3
- package/dist/cjs/tet-components.cjs.js +2 -2
- package/dist/cjs/tet-contact-form.cjs.entry.js +5 -5
- package/dist/cjs/tet-contact-info.cjs.entry.js +1 -1
- package/dist/cjs/tet-container_2.cjs.entry.js +1 -1
- package/dist/cjs/tet-countdown.cjs.entry.js +1 -1
- package/dist/cjs/tet-counter.cjs.entry.js +1 -1
- package/dist/cjs/tet-customer-assets.cjs.entry.js +3 -3
- package/dist/cjs/tet-datepicker-header_4.cjs.entry.js +1 -1
- package/dist/cjs/tet-datepicker.cjs.entry.js +1 -1
- package/dist/cjs/tet-dialog.cjs.entry.js +3 -3
- package/dist/cjs/tet-display.cjs.entry.js +1 -1
- package/dist/cjs/tet-divider.cjs.entry.js +1 -1
- package/dist/cjs/tet-dynamic-card.cjs.entry.js +1 -1
- package/dist/cjs/tet-expandable-input.cjs.entry.js +2 -2
- package/dist/cjs/tet-expansion-panel.cjs.entry.js +1 -1
- package/dist/cjs/tet-feedback-form.cjs.entry.js +3 -3
- package/dist/cjs/tet-filter.cjs.entry.js +1 -1
- package/dist/cjs/tet-floating-block.cjs.entry.js +1 -1
- package/dist/cjs/tet-font-weight.cjs.entry.js +1 -1
- package/dist/cjs/tet-fonts.cjs.entry.js +1 -1
- package/dist/cjs/tet-grid.cjs.entry.js +1 -1
- package/dist/cjs/tet-icon.cjs.entry.js +2 -2
- package/dist/cjs/tet-inline-message.cjs.entry.js +1 -1
- package/dist/cjs/tet-input.cjs.entry.js +3 -3
- package/dist/cjs/tet-label.cjs.entry.js +3 -3
- package/dist/cjs/tet-layout.cjs.entry.js +1 -1
- package/dist/cjs/tet-link-card-list.cjs.entry.js +1 -1
- package/dist/cjs/tet-link.cjs.entry.js +1 -1
- package/dist/cjs/tet-loader.cjs.entry.js +1 -1
- package/dist/cjs/tet-macd-view.cjs.entry.js +6 -6
- package/dist/cjs/tet-menu-mobile.cjs.entry.js +7 -5
- package/dist/cjs/tet-menu.cjs.entry.js +397 -92
- package/dist/cjs/tet-mini-compare-card.cjs.entry.js +1 -1
- package/dist/cjs/tet-multi-step-dialog.cjs.entry.js +3 -3
- package/dist/cjs/tet-navigation-mobile.cjs.entry.js +2 -2
- package/dist/cjs/tet-news-card-list.cjs.entry.js +1 -1
- package/dist/cjs/tet-notification.cjs.entry.js +1 -1
- package/dist/cjs/tet-number-input.cjs.entry.js +1 -1
- package/dist/cjs/tet-placeholder.cjs.entry.js +1 -1
- package/dist/cjs/tet-position.cjs.entry.js +1 -1
- package/dist/cjs/tet-price-view.cjs.entry.js +1 -1
- package/dist/cjs/tet-radio.cjs.entry.js +13 -11
- package/dist/cjs/tet-range-slider.cjs.entry.js +1 -1
- package/dist/cjs/tet-referral.cjs.entry.js +5 -5
- package/dist/cjs/tet-round-stepper.cjs.entry.js +1 -1
- package/dist/cjs/tet-snicker-card-badge.cjs.entry.js +1 -1
- package/dist/cjs/tet-snicker-card-group.cjs.entry.js +1 -1
- package/dist/cjs/tet-snicker-card.cjs.entry.js +3 -3
- package/dist/cjs/tet-spacing.cjs.entry.js +1 -1
- package/dist/cjs/tet-spinner.cjs.entry.js +1 -1
- package/dist/cjs/tet-stepper-input.cjs.entry.js +3 -3
- package/dist/cjs/tet-stepper-v2.cjs.entry.js +1 -1
- package/dist/cjs/tet-stepper-v3.cjs.entry.js +1 -1
- package/dist/cjs/tet-stepper.cjs.entry.js +1 -1
- package/dist/cjs/tet-support-search.cjs.entry.js +1 -1
- package/dist/cjs/tet-switch.cjs.entry.js +2 -2
- package/dist/cjs/tet-tab-header.cjs.entry.js +1 -1
- package/dist/cjs/tet-table.cjs.entry.js +1 -1
- package/dist/cjs/tet-tag_2.cjs.entry.js +3 -3
- package/dist/cjs/tet-text-list.cjs.entry.js +2 -2
- package/dist/cjs/tet-text.cjs.entry.js +1 -1
- package/dist/cjs/tet-textarea.cjs.entry.js +1 -1
- package/dist/cjs/tet-thank-you-view-v2.cjs.entry.js +3 -3
- package/dist/cjs/tet-thank-you-view-v3.cjs.entry.js +3 -3
- package/dist/cjs/tet-thank-you-view.cjs.entry.js +1 -1
- package/dist/cjs/tet-tooltip.cjs.entry.js +380 -0
- package/dist/cjs/tet-tv-gift-block.cjs.entry.js +1 -1
- package/dist/cjs/tet-tv-gift-list.cjs.entry.js +1 -1
- package/dist/cjs/{theme-wrapper-66880718.js → theme-wrapper-cde3168f.js} +2 -2
- package/dist/cjs/{translations-03c9de64.js → translations-ca556860.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/advanced/cards/tet-compare-card/tet-compare-card.css +34 -0
- package/dist/collection/components/advanced/cards/tet-compare-card-v2/tet-compare-card-v2.css +34 -0
- package/dist/collection/components/advanced/cards/tet-compare-card-v3/test/comparison-response.mock.js +463 -0
- package/dist/collection/components/advanced/cards/tet-compare-card-v3/tet-compare-card-v3.css +868 -0
- package/dist/collection/components/advanced/cards/tet-compare-card-v3/tet-compare-card-v3.js +699 -0
- package/dist/collection/components/basic/buttons/tet-radio/tet-radio.css +3 -0
- package/dist/collection/components/basic/buttons/tet-radio/tet-radio.js +11 -9
- package/dist/collection/components/basic/buttons/tet-switch/tet-switch.css +3 -0
- package/dist/collection/components/simple/inputs/tet-expandable-input/tet-expandable-input.css +23 -7
- package/dist/collection/components/simple/lists/tet-text-list/tet-text-list.css +34 -0
- package/dist/collection/components/simple/menu/tet-menu/tet-menu.css +819 -39
- package/dist/collection/components/simple/menu/tet-menu/tet-menu.js +464 -95
- package/dist/collection/components/simple/menu/tet-menu-mobile/tet-menu-mobile.css +56 -36
- package/dist/collection/components/simple/menu/tet-menu-mobile/tet-menu-mobile.js +23 -3
- package/dist/collection/components/simple/menu/tet-navigation-mobile/tet-navigation-mobile.css +17 -3
- package/dist/components/index.js +3 -1
- package/dist/components/{p-8f9ff447.js → p-0c6b7ee4.js} +2 -2
- package/dist/components/{p-1a84e464.js → p-0cd72467.js} +6 -6
- package/dist/components/{p-cd88c18e.js → p-0d7a13c4.js} +7 -7
- package/dist/components/{p-d840d114.js → p-0fb58488.js} +1 -1
- package/dist/components/{p-789bee5f.js → p-14371fc9.js} +1 -1
- package/dist/components/{p-b63a7833.js → p-16a058a6.js} +3 -3
- package/dist/components/{p-d2906f29.js → p-17f7575a.js} +3 -3
- package/dist/components/{p-ecb62209.js → p-19b3a55c.js} +2 -2
- package/dist/components/{p-de671173.js → p-1ab3676a.js} +1 -1
- package/dist/components/{p-734f67c5.js → p-1ad085d5.js} +1 -1
- package/dist/components/{p-b51591ec.js → p-1d8bc79a.js} +1 -1
- package/dist/components/{p-05a4a88a.js → p-1e920550.js} +2 -2
- package/dist/components/{p-4d181fc9.js → p-2297d3a8.js} +5 -5
- package/dist/components/{p-411270c6.js → p-2523029a.js} +2 -2
- package/dist/components/{p-6e273f47.js → p-2b8d8b77.js} +1 -1
- package/dist/components/{p-8cd5cc24.js → p-2e4ca0ab.js} +2 -2
- package/dist/components/{p-b7eb822d.js → p-358dc559.js} +1 -1
- package/dist/components/{p-d6c8d210.js → p-3ef3a3e7.js} +10 -10
- package/dist/components/{p-5a41a155.js → p-4092e01d.js} +4 -4
- package/dist/components/{p-3c404244.js → p-429235d1.js} +1 -1
- package/dist/components/{p-a46ed058.js → p-47657122.js} +1 -1
- package/dist/components/{p-e8595e06.js → p-50d97c82.js} +14 -12
- package/dist/components/{p-8f3097ac.js → p-600c6af2.js} +10 -10
- package/dist/components/{p-69ddd50b.js → p-67f81125.js} +6 -6
- package/dist/components/{p-25ea4db6.js → p-6b814793.js} +1 -1
- package/dist/components/{p-6b6e4f80.js → p-6c7cd629.js} +1 -1
- package/dist/components/{p-42d78188.js → p-6ee658e2.js} +7 -7
- package/dist/components/{p-22b05881.js → p-6f9d915f.js} +3 -3
- package/dist/components/{p-1942f0f5.js → p-71cd1694.js} +3 -3
- package/dist/components/{p-2f7b2d35.js → p-75549c13.js} +1 -1
- package/dist/components/{p-a57638be.js → p-75c001fd.js} +1 -1
- package/dist/components/{p-70507bfc.js → p-78567cb4.js} +1 -1
- package/dist/components/{p-a004fba4.js → p-78acba3f.js} +2 -2
- package/dist/components/{p-23f7b264.js → p-7dad0edc.js} +7 -7
- package/dist/components/{p-d659d0dc.js → p-7dd4f8c0.js} +1 -1
- package/dist/components/{p-efa3ec10.js → p-80b1df35.js} +2 -2
- package/dist/components/{p-d5d6ad18.js → p-84775fd7.js} +2 -2
- package/dist/components/{p-4468c9e9.js → p-8792ebce.js} +1 -1
- package/dist/components/{p-25b93e8f.js → p-8b6ad07d.js} +1 -1
- package/dist/components/{p-f6e855a8.js → p-8fe68dae.js} +7 -7
- package/dist/components/{p-a6c51126.js → p-936f84b7.js} +2 -2
- package/dist/components/{p-2be031c9.js → p-a0601962.js} +9 -9
- package/dist/components/{p-61ba5ba1.js → p-a60d01a4.js} +1 -1
- package/dist/components/{p-189a37d2.js → p-ac0cadcb.js} +5 -5
- package/dist/components/{p-c7f783f8.js → p-ad96b57a.js} +7 -7
- package/dist/components/{p-454eccfc.js → p-adc7c3dd.js} +3 -3
- package/dist/components/{p-eabd73fc.js → p-b8ad4f15.js} +3 -3
- package/dist/components/{p-1281b61e.js → p-bc02b9e7.js} +2 -2
- package/dist/components/{p-f6c678ae.js → p-c1cdf2d3.js} +2 -2
- package/dist/components/{p-809b2c68.js → p-d0886e4e.js} +3 -3
- package/dist/components/{p-79e64e7a.js → p-d096569b.js} +3 -3
- package/dist/components/{p-72215a89.js → p-d0f08803.js} +2 -2
- package/dist/components/{p-68c6a6d2.js → p-df8f8a8f.js} +1 -1
- package/dist/components/{p-70a6ba6c.js → p-f74e2b37.js} +14 -14
- package/dist/components/{p-e72337be.js → p-f92e8f2d.js} +1 -1
- package/dist/components/{p-8803338b.js → p-f99f28c0.js} +1 -1
- package/dist/components/{p-7cd73a11.js → p-fa6601a7.js} +3 -3
- package/dist/components/{p-dab4d025.js → p-fb3d7fdc.js} +1 -1
- package/dist/components/{p-806583bf.js → p-fe16cabd.js} +4 -4
- package/dist/components/tet-accordion.js +1 -1
- package/dist/components/tet-address-offers-filters-products.js +1 -1
- package/dist/components/tet-address-offers-filters.js +1 -1
- package/dist/components/tet-address-offers-view.js +24 -24
- package/dist/components/tet-address-offers.js +1 -1
- package/dist/components/tet-address-search.js +1 -1
- package/dist/components/tet-asset-addresses.js +13 -13
- package/dist/components/tet-asset-availability-addresses.js +1 -1
- package/dist/components/tet-autocomplete-dropdown.js +5 -5
- package/dist/components/tet-autocomplete.js +1 -1
- package/dist/components/tet-availability-contact-form.js +1 -1
- package/dist/components/tet-b2b-check-out-form.js +1 -1
- package/dist/components/tet-b2b-compare-card.js +1 -1
- package/dist/components/tet-b2b-configurator-cart.js +1 -1
- package/dist/components/tet-b2b-configurator.js +20 -20
- package/dist/components/tet-b2b-service-calculator.js +8 -8
- package/dist/components/tet-banner-nav.js +3 -3
- package/dist/components/tet-bar-graph.js +1 -1
- package/dist/components/tet-border-radius.js +1 -1
- package/dist/components/tet-business-card.js +1 -1
- package/dist/components/tet-business-compare-card.js +3 -3
- package/dist/components/tet-business-lines.js +5 -5
- package/dist/components/tet-business-navigation.js +1 -1
- package/dist/components/tet-business-round-stepper.js +2 -2
- package/dist/components/tet-business-summary-card.js +1 -1
- package/dist/components/tet-button.js +1 -1
- package/dist/components/tet-card-list.js +1 -1
- package/dist/components/tet-carousel.js +4 -4
- package/dist/components/tet-checkbox.js +1 -1
- package/dist/components/tet-cloud-application-form-dialog.js +8 -8
- package/dist/components/tet-cloud-configurator.js +12 -12
- package/dist/components/tet-colors.js +1 -1
- package/dist/components/tet-compare-card-v2.js +10 -10
- package/dist/components/tet-compare-card-v3.d.ts +11 -0
- package/dist/components/tet-compare-card-v3.js +440 -0
- package/dist/components/tet-compare-card.js +1 -1
- package/dist/components/tet-compare-cards-tab.js +16 -16
- package/dist/components/tet-compare-cards.js +1 -1
- package/dist/components/tet-contact-form.js +9 -9
- package/dist/components/tet-contact-info.js +1 -1
- package/dist/components/tet-container.js +1 -1
- package/dist/components/tet-countdown.js +1 -1
- package/dist/components/tet-counter.js +1 -1
- package/dist/components/tet-customer-assets.js +9 -9
- package/dist/components/tet-datepicker-header.js +1 -1
- package/dist/components/tet-datepicker-month-view.js +1 -1
- package/dist/components/tet-datepicker-multi-year-view.js +1 -1
- package/dist/components/tet-datepicker-year-view.js +1 -1
- package/dist/components/tet-datepicker.js +6 -6
- package/dist/components/tet-dialog.js +1 -1
- package/dist/components/tet-display.js +8 -8
- package/dist/components/tet-divider.js +7 -7
- package/dist/components/tet-dropdown.js +1 -1
- package/dist/components/tet-dynamic-card.js +4 -4
- package/dist/components/tet-expandable-input.js +4 -4
- package/dist/components/tet-expansion-panel.js +1 -1
- package/dist/components/tet-feedback-form.js +7 -7
- package/dist/components/tet-filter.js +4 -4
- package/dist/components/tet-floating-block.js +3 -3
- package/dist/components/tet-font-weight.js +1 -1
- package/dist/components/tet-fonts.js +1 -1
- package/dist/components/tet-grid.js +1 -1
- package/dist/components/tet-icon.js +1 -1
- package/dist/components/tet-inline-message.js +1 -1
- package/dist/components/tet-input.js +1 -1
- package/dist/components/tet-label.js +3 -3
- package/dist/components/tet-layout.js +1 -1
- package/dist/components/tet-link-card-list.js +3 -3
- package/dist/components/tet-link.js +1 -1
- package/dist/components/tet-loader.js +1 -1
- package/dist/components/tet-macd-view.js +10 -10
- package/dist/components/tet-menu-mobile.js +9 -6
- package/dist/components/tet-menu.js +405 -95
- package/dist/components/tet-mini-compare-card.js +3 -3
- package/dist/components/tet-multi-step-dialog.js +5 -5
- package/dist/components/tet-navigation-mobile.js +3 -3
- package/dist/components/tet-news-card-list.js +4 -4
- package/dist/components/tet-notification.js +1 -1
- package/dist/components/tet-number-input.js +1 -1
- package/dist/components/tet-placeholder.js +1 -1
- package/dist/components/tet-position.js +7 -7
- package/dist/components/tet-price-view.js +1 -1
- package/dist/components/tet-radio.js +1 -1
- package/dist/components/tet-range-slider.js +1 -1
- package/dist/components/tet-referral.js +6 -6
- package/dist/components/tet-round-stepper.js +2 -2
- package/dist/components/tet-selection-list.js +1 -1
- package/dist/components/tet-snicker-card-badge.js +1 -1
- package/dist/components/tet-snicker-card-group.js +1 -1
- package/dist/components/tet-snicker-card.js +11 -11
- package/dist/components/tet-spacing.js +1 -1
- package/dist/components/tet-spinner.js +1 -1
- package/dist/components/tet-stepper-input.js +1 -1
- package/dist/components/tet-stepper-v2.js +1 -1
- package/dist/components/tet-stepper-v3.js +1 -1
- package/dist/components/tet-stepper.js +1 -1
- package/dist/components/tet-support-search.js +7 -7
- package/dist/components/tet-switch.js +1 -1
- package/dist/components/tet-tab-content.js +1 -1
- package/dist/components/tet-tab-header.js +1 -1
- package/dist/components/tet-table.js +3 -3
- package/dist/components/tet-tag-group.js +1 -1
- package/dist/components/tet-tag.js +1 -1
- package/dist/components/tet-text-list.js +1 -1
- package/dist/components/tet-text.js +7 -7
- package/dist/components/tet-textarea.js +1 -1
- package/dist/components/tet-thank-you-view-v2.js +5 -5
- package/dist/components/tet-thank-you-view-v3.js +5 -5
- package/dist/components/tet-thank-you-view.js +4 -4
- package/dist/components/tet-tooltip.js +1 -1
- package/dist/components/tet-tv-gift-block.js +1 -1
- package/dist/components/tet-tv-gift-list.js +2 -2
- package/dist/esm/{address-1e0810e7.js → address-24e316f2.js} +1 -1
- package/dist/esm/{assets-e1349520.js → assets-343a0b59.js} +1 -1
- package/dist/esm/{async-request-4c945e13.js → async-request-a5159336.js} +1 -1
- package/dist/esm/{http-codes-1927ea00.js → http-codes-98d3e25c.js} +1 -1
- package/dist/esm/{index-aac31bd2.js → index-0da0d682.js} +17 -9
- package/dist/esm/{index-412df137.js → index-6c5bc6fc.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{phone-1a920c5c.js → phone-ea11e1d0.js} +2 -2
- package/dist/esm/{product-comparison-dd90c721.js → product-comparison-21980b84.js} +1 -1
- package/dist/esm/tet-accordion.entry.js +1 -1
- package/dist/esm/tet-address-offers-filters-products_2.entry.js +4 -4
- package/dist/esm/tet-address-offers-view.entry.js +3 -3
- package/dist/esm/tet-address-offers_4.entry.js +7 -7
- package/dist/esm/tet-address-search.entry.js +4 -4
- package/dist/esm/tet-asset-addresses.entry.js +3 -3
- package/dist/esm/tet-autocomplete-dropdown.entry.js +1 -1
- package/dist/esm/tet-autocomplete.entry.js +1 -1
- package/dist/esm/tet-b2b-check-out-form_5.entry.js +3 -3
- package/dist/esm/tet-b2b-configurator.entry.js +4 -4
- package/dist/esm/tet-b2b-service-calculator.entry.js +3 -3
- package/dist/esm/tet-banner-nav.entry.js +3 -3
- package/dist/esm/tet-bar-graph.entry.js +1 -1
- package/dist/esm/tet-border-radius.entry.js +1 -1
- package/dist/esm/tet-business-card.entry.js +1 -1
- package/dist/esm/tet-business-compare-card.entry.js +1 -1
- package/dist/esm/tet-business-lines.entry.js +4 -4
- package/dist/esm/tet-business-round-stepper.entry.js +1 -1
- package/dist/esm/tet-button.entry.js +1 -1
- package/dist/esm/tet-card-list.entry.js +1 -1
- package/dist/esm/tet-carousel.entry.js +3 -3
- package/dist/esm/{tet-checkbox_3.entry.js → tet-checkbox_2.entry.js} +2 -375
- package/dist/esm/tet-cloud-application-form-dialog.entry.js +3 -3
- package/dist/esm/tet-cloud-configurator.entry.js +3 -3
- package/dist/esm/tet-colors.entry.js +1 -1
- package/dist/esm/tet-compare-card-v2.entry.js +4 -4
- package/dist/esm/tet-compare-card-v3.entry.js +356 -0
- package/dist/esm/tet-compare-cards-tab.entry.js +3 -3
- package/dist/esm/tet-compare-cards_2.entry.js +3 -3
- package/dist/esm/tet-components.js +3 -3
- package/dist/esm/tet-contact-form.entry.js +5 -5
- package/dist/esm/tet-contact-info.entry.js +1 -1
- package/dist/esm/tet-container_2.entry.js +1 -1
- package/dist/esm/tet-countdown.entry.js +1 -1
- package/dist/esm/tet-counter.entry.js +1 -1
- package/dist/esm/tet-customer-assets.entry.js +3 -3
- package/dist/esm/tet-datepicker-header_4.entry.js +1 -1
- package/dist/esm/tet-datepicker.entry.js +1 -1
- package/dist/esm/tet-dialog.entry.js +3 -3
- package/dist/esm/tet-display.entry.js +1 -1
- package/dist/esm/tet-divider.entry.js +1 -1
- package/dist/esm/tet-dynamic-card.entry.js +1 -1
- package/dist/esm/tet-expandable-input.entry.js +2 -2
- package/dist/esm/tet-expansion-panel.entry.js +1 -1
- package/dist/esm/tet-feedback-form.entry.js +3 -3
- package/dist/esm/tet-filter.entry.js +1 -1
- package/dist/esm/tet-floating-block.entry.js +1 -1
- package/dist/esm/tet-font-weight.entry.js +1 -1
- package/dist/esm/tet-fonts.entry.js +1 -1
- package/dist/esm/tet-grid.entry.js +1 -1
- package/dist/esm/tet-icon.entry.js +2 -2
- package/dist/esm/tet-inline-message.entry.js +1 -1
- package/dist/esm/tet-input.entry.js +3 -3
- package/dist/esm/tet-label.entry.js +3 -3
- package/dist/esm/tet-layout.entry.js +1 -1
- package/dist/esm/tet-link-card-list.entry.js +1 -1
- package/dist/esm/tet-link.entry.js +1 -1
- package/dist/esm/tet-loader.entry.js +1 -1
- package/dist/esm/tet-macd-view.entry.js +6 -6
- package/dist/esm/tet-menu-mobile.entry.js +7 -5
- package/dist/esm/tet-menu.entry.js +397 -92
- package/dist/esm/tet-mini-compare-card.entry.js +1 -1
- package/dist/esm/tet-multi-step-dialog.entry.js +3 -3
- package/dist/esm/tet-navigation-mobile.entry.js +2 -2
- package/dist/esm/tet-news-card-list.entry.js +1 -1
- package/dist/esm/tet-notification.entry.js +1 -1
- package/dist/esm/tet-number-input.entry.js +1 -1
- package/dist/esm/tet-placeholder.entry.js +1 -1
- package/dist/esm/tet-position.entry.js +1 -1
- package/dist/esm/tet-price-view.entry.js +1 -1
- package/dist/esm/tet-radio.entry.js +13 -11
- package/dist/esm/tet-range-slider.entry.js +1 -1
- package/dist/esm/tet-referral.entry.js +5 -5
- package/dist/esm/tet-round-stepper.entry.js +1 -1
- package/dist/esm/tet-snicker-card-badge.entry.js +1 -1
- package/dist/esm/tet-snicker-card-group.entry.js +1 -1
- package/dist/esm/tet-snicker-card.entry.js +3 -3
- package/dist/esm/tet-spacing.entry.js +1 -1
- package/dist/esm/tet-spinner.entry.js +1 -1
- package/dist/esm/tet-stepper-input.entry.js +3 -3
- package/dist/esm/tet-stepper-v2.entry.js +1 -1
- package/dist/esm/tet-stepper-v3.entry.js +1 -1
- package/dist/esm/tet-stepper.entry.js +1 -1
- package/dist/esm/tet-support-search.entry.js +1 -1
- package/dist/esm/tet-switch.entry.js +2 -2
- package/dist/esm/tet-tab-header.entry.js +1 -1
- package/dist/esm/tet-table.entry.js +1 -1
- package/dist/esm/tet-tag_2.entry.js +3 -3
- package/dist/esm/tet-text-list.entry.js +2 -2
- package/dist/esm/tet-text.entry.js +1 -1
- package/dist/esm/tet-textarea.entry.js +1 -1
- package/dist/esm/tet-thank-you-view-v2.entry.js +3 -3
- package/dist/esm/tet-thank-you-view-v3.entry.js +3 -3
- package/dist/esm/tet-thank-you-view.entry.js +1 -1
- package/dist/esm/tet-tooltip.entry.js +376 -0
- package/dist/esm/tet-tv-gift-block.entry.js +1 -1
- package/dist/esm/tet-tv-gift-list.entry.js +1 -1
- package/dist/esm/{theme-wrapper-72d0b9da.js → theme-wrapper-37dd9692.js} +2 -2
- package/dist/esm/{translations-4712c45f.js → translations-9a0d9386.js} +1 -1
- package/dist/tet-components/{p-f6916bfc.entry.js → p-01a44fa7.entry.js} +1 -1
- package/dist/tet-components/{p-e6aab016.entry.js → p-01e5830a.entry.js} +1 -1
- package/dist/tet-components/{p-0c6b6730.js → p-0255120e.js} +1 -1
- package/dist/tet-components/{p-3324b31a.entry.js → p-038230dc.entry.js} +1 -1
- package/dist/tet-components/{p-b44083d7.entry.js → p-08be0a0c.entry.js} +1 -1
- package/dist/tet-components/{p-e290c65d.entry.js → p-096705a4.entry.js} +1 -1
- package/dist/tet-components/{p-ff291490.entry.js → p-0993a390.entry.js} +1 -1
- package/dist/tet-components/p-0e2df2d9.entry.js +1 -0
- package/dist/tet-components/p-102119d0.entry.js +1 -0
- package/dist/tet-components/{p-4c6a379b.entry.js → p-1537fc09.entry.js} +1 -1
- package/dist/tet-components/{p-46b3fc7f.entry.js → p-18ef5232.entry.js} +1 -1
- package/dist/tet-components/{p-7544dfd7.js → p-19c6a28c.js} +1 -1
- package/dist/tet-components/{p-724189c2.entry.js → p-1ad37ab3.entry.js} +1 -1
- package/dist/tet-components/{p-b01405f8.entry.js → p-1be60596.entry.js} +1 -1
- package/dist/tet-components/{p-ba8c6a1c.entry.js → p-1ca03991.entry.js} +1 -1
- package/dist/tet-components/{p-697d23d7.entry.js → p-1e00c707.entry.js} +1 -1
- package/dist/tet-components/{p-1fd2adaf.js → p-1e9db0cc.js} +1 -1
- package/dist/tet-components/{p-d8518d4b.js → p-21acfb7d.js} +1 -1
- package/dist/tet-components/{p-003e17a0.entry.js → p-23ba99b6.entry.js} +1 -1
- package/dist/tet-components/{p-38be49a6.entry.js → p-249d52da.entry.js} +1 -1
- package/dist/tet-components/{p-25e48d9f.entry.js → p-25fa66d3.entry.js} +1 -1
- package/dist/tet-components/{p-e13c62c8.entry.js → p-2725e612.entry.js} +1 -1
- package/dist/tet-components/{p-25bb7d4f.entry.js → p-27ef835b.entry.js} +1 -1
- package/dist/tet-components/{p-c711cd66.entry.js → p-2c577b6b.entry.js} +1 -1
- package/dist/tet-components/{p-e93ab3e8.entry.js → p-35250549.entry.js} +1 -1
- package/dist/tet-components/p-3649ee82.entry.js +1 -0
- package/dist/tet-components/{p-689e9d36.entry.js → p-3e4a1fea.entry.js} +1 -1
- package/dist/tet-components/{p-2c92d701.entry.js → p-403b7e52.entry.js} +1 -1
- package/dist/tet-components/{p-be3cb49b.entry.js → p-42b40e30.entry.js} +1 -1
- package/dist/tet-components/{p-cde8057a.entry.js → p-48d13280.entry.js} +1 -1
- package/dist/tet-components/{p-4b84438a.entry.js → p-4ef61eca.entry.js} +1 -1
- package/dist/tet-components/{p-1ff1f044.entry.js → p-51b6c13e.entry.js} +1 -1
- package/dist/tet-components/{p-b5315830.entry.js → p-5974d9e0.entry.js} +1 -1
- package/dist/tet-components/{p-0ebbf5ef.js → p-59ffdcd3.js} +1 -1
- package/dist/tet-components/{p-6be0549b.entry.js → p-5afa5243.entry.js} +1 -1
- package/dist/tet-components/{p-6693715e.entry.js → p-5c469b6d.entry.js} +1 -1
- package/dist/tet-components/{p-b10165d6.entry.js → p-60a85942.entry.js} +1 -1
- package/dist/tet-components/{p-7f18c74c.entry.js → p-674c34fe.entry.js} +1 -1
- package/dist/tet-components/{p-805fb580.entry.js → p-6b01ed30.entry.js} +1 -1
- package/dist/tet-components/{p-93820289.entry.js → p-6c01686a.entry.js} +1 -1
- package/dist/tet-components/{p-97cff839.entry.js → p-6c1fe6e2.entry.js} +1 -1
- package/dist/tet-components/{p-480ca12a.entry.js → p-6ce50129.entry.js} +1 -1
- package/dist/tet-components/{p-5c821eef.entry.js → p-6f456e0a.entry.js} +1 -1
- package/dist/tet-components/{p-64e277c1.entry.js → p-725a4439.entry.js} +1 -1
- package/dist/tet-components/{p-52949a88.entry.js → p-76662132.entry.js} +1 -1
- package/dist/tet-components/{p-d1035694.entry.js → p-779c00c2.entry.js} +1 -1
- package/dist/tet-components/p-7c868b40.js +2 -0
- package/dist/tet-components/p-81456c37.js +1 -0
- package/dist/tet-components/{p-778c46a6.js → p-81586378.js} +1 -1
- package/dist/tet-components/{p-d5b36540.entry.js → p-8318b6ce.entry.js} +1 -1
- package/dist/tet-components/{p-84322a3d.entry.js → p-85dbfd0e.entry.js} +1 -1
- package/dist/tet-components/{p-fa259a3d.entry.js → p-86732da3.entry.js} +1 -1
- package/dist/tet-components/{p-b0c62997.entry.js → p-8763c126.entry.js} +1 -1
- package/dist/tet-components/{p-949d0eaf.entry.js → p-8d03a36d.entry.js} +1 -1
- package/dist/tet-components/{p-9a75ed39.entry.js → p-93a7b0e4.entry.js} +1 -1
- package/dist/tet-components/{p-83e4ae9f.entry.js → p-9595c23f.entry.js} +1 -1
- package/dist/tet-components/{p-8fa0be45.entry.js → p-95a1dd7c.entry.js} +1 -1
- package/dist/tet-components/p-962240a1.entry.js +1 -0
- package/dist/tet-components/{p-ddce536f.entry.js → p-96df0d8f.entry.js} +1 -1
- package/dist/tet-components/{p-6b088283.entry.js → p-9d45496b.entry.js} +1 -1
- package/dist/tet-components/{p-bd9f9dea.entry.js → p-9e507839.entry.js} +1 -1
- package/dist/tet-components/{p-f81b3bb0.js → p-a0b08ff1.js} +1 -1
- package/dist/tet-components/{p-c9f21fde.entry.js → p-a193f723.entry.js} +1 -1
- package/dist/tet-components/{p-1393ed60.entry.js → p-a2ab4213.entry.js} +1 -1
- package/dist/tet-components/{p-122f3d3c.entry.js → p-a31f3a9a.entry.js} +1 -1
- package/dist/tet-components/{p-cf3456e2.entry.js → p-ada4d25e.entry.js} +1 -1
- package/dist/tet-components/{p-401e736e.entry.js → p-b2e718fd.entry.js} +1 -1
- package/dist/tet-components/{p-331e7bf2.entry.js → p-b7af088e.entry.js} +1 -1
- package/dist/tet-components/{p-cd86d0b1.entry.js → p-b8dc6b8f.entry.js} +1 -1
- package/dist/tet-components/{p-fc88ce77.entry.js → p-b9005e25.entry.js} +1 -1
- package/dist/tet-components/{p-f9c69d39.entry.js → p-bb1691e9.entry.js} +1 -1
- package/dist/tet-components/{p-a0baf31a.entry.js → p-bc83880b.entry.js} +1 -1
- package/dist/tet-components/{p-6babde37.entry.js → p-bcac4284.entry.js} +1 -1
- package/dist/tet-components/{p-46f6a051.entry.js → p-bcbb0768.entry.js} +1 -1
- package/dist/tet-components/{p-2b5b2c71.entry.js → p-be5be172.entry.js} +1 -1
- package/dist/tet-components/{p-5b5001cf.entry.js → p-bf65a1c5.entry.js} +1 -1
- package/dist/tet-components/{p-f93ab9f3.entry.js → p-bfaa6230.entry.js} +1 -1
- package/dist/tet-components/{p-900bd4e1.entry.js → p-c0f90a8e.entry.js} +1 -1
- package/dist/tet-components/{p-876009b7.entry.js → p-c2aa35fe.entry.js} +1 -1
- package/dist/tet-components/{p-d778c1fe.entry.js → p-c51611c6.entry.js} +1 -1
- package/dist/tet-components/{p-85f3f726.entry.js → p-c65639c0.entry.js} +1 -1
- package/dist/tet-components/{p-39ae25f5.entry.js → p-c735bfbc.entry.js} +1 -1
- package/dist/tet-components/{p-7fc933fe.entry.js → p-c855d22d.entry.js} +1 -1
- package/dist/tet-components/{p-9c837569.entry.js → p-c95500c7.entry.js} +1 -1
- package/dist/tet-components/{p-1080e977.entry.js → p-ca61e250.entry.js} +1 -1
- package/dist/tet-components/{p-b31168fc.entry.js → p-cb311987.entry.js} +1 -1
- package/dist/tet-components/{p-c4de9e32.entry.js → p-ccbe2f2a.entry.js} +1 -1
- package/dist/tet-components/{p-e17d0862.entry.js → p-cd87b2ca.entry.js} +1 -1
- package/dist/tet-components/p-ce264566.entry.js +1 -0
- package/dist/tet-components/{p-d06f8b4e.entry.js → p-d2127f71.entry.js} +1 -1
- package/dist/tet-components/{p-69c58fc4.entry.js → p-d83369f0.entry.js} +1 -1
- package/dist/tet-components/{p-f58bb61e.entry.js → p-dd8ba61f.entry.js} +1 -1
- package/dist/tet-components/p-e15c11c7.entry.js +1 -0
- package/dist/tet-components/{p-ed07c65a.entry.js → p-e39dc6d0.entry.js} +1 -1
- package/dist/tet-components/{p-7e7068af.entry.js → p-e3a61004.entry.js} +1 -1
- package/dist/tet-components/{p-75bbc14a.entry.js → p-e3ccb120.entry.js} +1 -1
- package/dist/tet-components/{p-255cd889.entry.js → p-ea7f687c.entry.js} +1 -1
- package/dist/tet-components/{p-78d6f52c.entry.js → p-ee6331bf.entry.js} +1 -1
- package/dist/tet-components/{p-edd42275.entry.js → p-f05d8d8d.entry.js} +1 -1
- package/dist/tet-components/{p-5fb62a1b.entry.js → p-f272a0ce.entry.js} +1 -1
- package/dist/tet-components/{p-87221449.entry.js → p-f3cd9c56.entry.js} +1 -1
- package/dist/tet-components/{p-a8051a99.js → p-f9e5405c.js} +1 -1
- package/dist/tet-components/{p-8bfd498e.entry.js → p-fa69d1cf.entry.js} +1 -1
- package/dist/tet-components/{p-ccfa9f31.entry.js → p-fc8d6963.entry.js} +1 -1
- package/dist/tet-components/{p-b98f7254.entry.js → p-fd5460fc.entry.js} +1 -1
- package/dist/tet-components/{p-2fb8ea65.entry.js → p-fda6a584.entry.js} +1 -1
- package/dist/tet-components/tet-components.css +2 -2
- package/dist/tet-components/tet-components.esm.js +1 -1
- package/dist/types/components/advanced/cards/tet-compare-card-v3/tet-compare-card-v3.d.ts +169 -0
- package/dist/types/components/simple/menu/tet-menu/tet-menu.d.ts +111 -1
- package/dist/types/components/simple/menu/tet-menu-mobile/tet-menu-mobile.d.ts +4 -0
- package/dist/types/components.d.ts +186 -3
- package/dist/types/services/api/services/catalog/product-comparison.d.ts +3 -3
- package/package.json +1 -1
- package/dist/tet-components/p-1fbb7d96.entry.js +0 -1
- package/dist/tet-components/p-83f43fdd.js +0 -2
- package/dist/tet-components/p-b0688983.entry.js +0 -1
- package/dist/tet-components/p-cac7dbf9.entry.js +0 -1
- package/dist/tet-components/p-d091fa60.entry.js +0 -1
- package/dist/tet-components/p-f81d95ae.js +0 -1
|
@@ -0,0 +1,699 @@
|
|
|
1
|
+
import { h, Fragment } from "@stencil/core";
|
|
2
|
+
import { productComparison } from "../../../../services/api/index";
|
|
3
|
+
export class TetCompareCardV3 {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.cardType = 'static';
|
|
6
|
+
this.theme = 'light';
|
|
7
|
+
this.bestChoice = false;
|
|
8
|
+
this.language = 'lv';
|
|
9
|
+
this.options = [];
|
|
10
|
+
this.bonuses = [];
|
|
11
|
+
this.benefits = [];
|
|
12
|
+
this.contractTerm = 0;
|
|
13
|
+
this.bestChoiceText = '';
|
|
14
|
+
this.currency = '€/mēn.';
|
|
15
|
+
this.secondaryLink = '';
|
|
16
|
+
this.secondaryLinkText = '';
|
|
17
|
+
this.secondaryLinkOpenBlank = false;
|
|
18
|
+
this.buttonTitle = '';
|
|
19
|
+
this.linkOpenBlank = false;
|
|
20
|
+
this.showLoader = true;
|
|
21
|
+
this.selectedProductCode = '';
|
|
22
|
+
this.selectedSwitchKeys = [];
|
|
23
|
+
this.preselectedKeys = [];
|
|
24
|
+
this.preselectedProductCode = '';
|
|
25
|
+
this.allProductData = {};
|
|
26
|
+
this.preselectedRemountId = 0;
|
|
27
|
+
this.buttonSize = 'large';
|
|
28
|
+
}
|
|
29
|
+
buttonSizeBreakpoint = 1280;
|
|
30
|
+
/**
|
|
31
|
+
* WeakMap to store unique IDs for bonuses.
|
|
32
|
+
*/
|
|
33
|
+
bonusWeakMap = new WeakMap();
|
|
34
|
+
/**
|
|
35
|
+
* Counter for unique bonus IDs.
|
|
36
|
+
*/
|
|
37
|
+
bonusCounter = 0;
|
|
38
|
+
/**
|
|
39
|
+
* Emitted when the card has loaded.
|
|
40
|
+
*/
|
|
41
|
+
cardLoaded;
|
|
42
|
+
/**
|
|
43
|
+
* Emitted when the selected product has changed.
|
|
44
|
+
*/
|
|
45
|
+
productChanged;
|
|
46
|
+
/**
|
|
47
|
+
* @param event
|
|
48
|
+
*/
|
|
49
|
+
onOptionSelected(event) {
|
|
50
|
+
const productCode = event.detail.value;
|
|
51
|
+
this.selectedProductCode = productCode;
|
|
52
|
+
this.productChanged.emit();
|
|
53
|
+
}
|
|
54
|
+
async componentWillLoad() {
|
|
55
|
+
this.syncButtonSize();
|
|
56
|
+
this.fetchProductComparison();
|
|
57
|
+
switch (this.cardType) {
|
|
58
|
+
case 'dropdown':
|
|
59
|
+
case 'radio': {
|
|
60
|
+
const selectedOption = this.options.find(option => option.preselected) ?? this.options[0];
|
|
61
|
+
if (selectedOption) {
|
|
62
|
+
this.selectedProductCode = selectedOption.productCode;
|
|
63
|
+
this.productChanged.emit();
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
case 'switcher': {
|
|
68
|
+
const preselected = this.options.find(option => option.preselected);
|
|
69
|
+
if (preselected) {
|
|
70
|
+
this.preselectedKeys = [...preselected.keys ?? []];
|
|
71
|
+
this.preselectedProductCode = preselected.productCode;
|
|
72
|
+
this.selectedSwitchKeys = [...preselected.keys ?? []];
|
|
73
|
+
this.selectedProductCode = preselected.productCode;
|
|
74
|
+
this.productChanged.emit();
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
case 'static':
|
|
79
|
+
this.selectedProductCode = this.options.find(option => option.productCode)?.productCode || '';
|
|
80
|
+
this.productChanged.emit();
|
|
81
|
+
break;
|
|
82
|
+
default:
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
onResize() {
|
|
87
|
+
this.syncButtonSize();
|
|
88
|
+
}
|
|
89
|
+
syncButtonSize() {
|
|
90
|
+
if (globalThis.window === undefined) {
|
|
91
|
+
this.buttonSize = 'large';
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const nextButtonSize = globalThis.window.innerWidth < this.buttonSizeBreakpoint
|
|
95
|
+
? 'medium'
|
|
96
|
+
: 'large';
|
|
97
|
+
if (this.buttonSize !== nextButtonSize) {
|
|
98
|
+
this.buttonSize = nextButtonSize;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
getSelectionOptions() {
|
|
102
|
+
return this.options.map((option) => ({
|
|
103
|
+
label: option.label || '',
|
|
104
|
+
value: option.productCode || '',
|
|
105
|
+
preselected: option.preselected || false
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Resolves product code by matching an exact toggle-key combination.
|
|
110
|
+
*/
|
|
111
|
+
getToggledProductCode(keys) {
|
|
112
|
+
const sortedKeys = [...keys].sort((a, b) => a.localeCompare(b)).join(',');
|
|
113
|
+
const found = this.options.find(option => [...option.keys ?? []].sort((a, b) => a.localeCompare(b)).join(',') === sortedKeys);
|
|
114
|
+
return found ? found.productCode : null;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Handles switch interactions and keeps selection in a valid state.
|
|
118
|
+
*/
|
|
119
|
+
handleSwitchToggle(key, checked) {
|
|
120
|
+
const benefit = this.benefits.find(benefit => benefit.toggleKey === key);
|
|
121
|
+
let activeKeys = [...this.selectedSwitchKeys];
|
|
122
|
+
if (checked) {
|
|
123
|
+
if (benefit?.selectAll) {
|
|
124
|
+
const fullCombo = this.getFullComboToggleOption();
|
|
125
|
+
if (fullCombo) {
|
|
126
|
+
this.selectedSwitchKeys = [...fullCombo.keys ?? []];
|
|
127
|
+
this.selectedProductCode = fullCombo.productCode;
|
|
128
|
+
this.productChanged.emit();
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (!activeKeys.includes(key))
|
|
133
|
+
activeKeys.push(key);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
const newActiveKeys = activeKeys.filter(k => k !== key);
|
|
137
|
+
if (newActiveKeys.length === 0) {
|
|
138
|
+
this.selectedSwitchKeys = [...this.preselectedKeys];
|
|
139
|
+
this.selectedProductCode = this.preselectedProductCode;
|
|
140
|
+
this.preselectedRemountId++;
|
|
141
|
+
this.productChanged.emit();
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const validProductCode = this.getToggledProductCode(newActiveKeys);
|
|
145
|
+
if (validProductCode) {
|
|
146
|
+
this.selectedSwitchKeys = newActiveKeys;
|
|
147
|
+
this.selectedProductCode = validProductCode;
|
|
148
|
+
this.productChanged.emit();
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
this.selectedSwitchKeys = [...this.preselectedKeys];
|
|
152
|
+
this.selectedProductCode = this.preselectedProductCode;
|
|
153
|
+
this.preselectedRemountId++;
|
|
154
|
+
this.productChanged.emit();
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
activeKeys = activeKeys.sort((a, b) => a.localeCompare(b));
|
|
158
|
+
const productCode = this.getToggledProductCode(activeKeys);
|
|
159
|
+
this.selectedSwitchKeys = activeKeys;
|
|
160
|
+
if (productCode) {
|
|
161
|
+
this.selectedProductCode = productCode;
|
|
162
|
+
this.productChanged.emit();
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
this.selectedProductCode = this.preselectedProductCode;
|
|
166
|
+
this.selectedSwitchKeys = [...this.preselectedKeys];
|
|
167
|
+
this.preselectedRemountId++;
|
|
168
|
+
this.productChanged.emit();
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Returns option with the most keys (used by select-all switch behavior).
|
|
173
|
+
*/
|
|
174
|
+
getFullComboToggleOption() {
|
|
175
|
+
if (!this.options.length) {
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
return this.options.reduce((max, curr) => (curr.keys ?? []).length > (max.keys ?? []).length ? curr : max, this.options[0]);
|
|
179
|
+
}
|
|
180
|
+
async fetchProductComparison() {
|
|
181
|
+
const productCodes = this.options.map(option => option.productCode).filter(Boolean);
|
|
182
|
+
if (productCodes.length) {
|
|
183
|
+
try {
|
|
184
|
+
const response = await productComparison(productCodes.join(','));
|
|
185
|
+
this.allProductData = response['products'] || {};
|
|
186
|
+
}
|
|
187
|
+
catch (e) {
|
|
188
|
+
this.allProductData = {};
|
|
189
|
+
console.error(e);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
this.allProductData = {};
|
|
194
|
+
}
|
|
195
|
+
this.showLoader = false;
|
|
196
|
+
this.cardLoaded.emit();
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Returns contract term data matching current `contractTerm` prop.
|
|
200
|
+
*/
|
|
201
|
+
selectedContractTerm() {
|
|
202
|
+
const contractTerms = this.allProductData[this.selectedProductCode]?.contractTerms;
|
|
203
|
+
if (!contractTerms?.length) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
return contractTerms.find((contractTerm) => contractTerm.term === this.contractTerm);
|
|
207
|
+
}
|
|
208
|
+
currentBonuses() {
|
|
209
|
+
const option = this.options.find(option => option.productCode === this.selectedProductCode);
|
|
210
|
+
return option?.bonuses ?? [];
|
|
211
|
+
}
|
|
212
|
+
allBonuses() {
|
|
213
|
+
return this.options.flatMap(option => option.bonuses || []);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Returns a stable ID for each bonus object across renders.
|
|
217
|
+
*/
|
|
218
|
+
getUniqueBonusId(bonus) {
|
|
219
|
+
const existingId = this.bonusWeakMap.get(bonus);
|
|
220
|
+
if (existingId) {
|
|
221
|
+
return existingId;
|
|
222
|
+
}
|
|
223
|
+
const nextId = `bonus-${this.bonusCounter++}`;
|
|
224
|
+
this.bonusWeakMap.set(bonus, nextId);
|
|
225
|
+
return nextId;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Chooses semantic element tag from provided data attributes.
|
|
229
|
+
*/
|
|
230
|
+
getElementTag(attributes) {
|
|
231
|
+
if (attributes?.href?.trim()) {
|
|
232
|
+
return 'a';
|
|
233
|
+
}
|
|
234
|
+
const modalKey = attributes?.['data-modal-screen-key']?.trim();
|
|
235
|
+
const role = attributes?.role?.trim().toLowerCase();
|
|
236
|
+
if (modalKey || role === 'button') {
|
|
237
|
+
return 'button';
|
|
238
|
+
}
|
|
239
|
+
return 'div';
|
|
240
|
+
}
|
|
241
|
+
renderBenefit(benefit) {
|
|
242
|
+
const attributes = Array.isArray(benefit.dataAttributes) ? undefined : benefit.dataAttributes;
|
|
243
|
+
const isInteractive = Boolean(attributes && Object.keys(attributes).length > 0);
|
|
244
|
+
const ElementTag = this.getElementTag(attributes);
|
|
245
|
+
const hasTitle = !!benefit.title;
|
|
246
|
+
const hasBenefit = !!benefit.icon && !!benefit.name;
|
|
247
|
+
return (h(Fragment, null, hasTitle && (h("div", { class: "benefits__title" }, benefit.title)), hasBenefit && (h(ElementTag, { class: {
|
|
248
|
+
'benefit': true,
|
|
249
|
+
'benefit--interactive': isInteractive,
|
|
250
|
+
}, key: benefit.toggleKey, ...(attributes || {}) }, h("tet-icon", { theme: this.theme, class: "benefit__icon", name: benefit.icon }), h("span", { class: "benefit__text" }, benefit.name), isInteractive && (h("div", { class: "benefit__chevron-icon-container" }, h("tet-icon", { class: "benefit__icon benefit__icon--chevron", name: "tc-chevron-right-small" })))))));
|
|
251
|
+
}
|
|
252
|
+
renderSwitch(benefit) {
|
|
253
|
+
const { toggleKey } = benefit;
|
|
254
|
+
if (!toggleKey) {
|
|
255
|
+
return null;
|
|
256
|
+
}
|
|
257
|
+
const isPreselected = this.preselectedKeys.includes(toggleKey);
|
|
258
|
+
const switchKey = isPreselected
|
|
259
|
+
? `${toggleKey}-${this.preselectedRemountId}`
|
|
260
|
+
: toggleKey;
|
|
261
|
+
const hasTitle = !!benefit.title;
|
|
262
|
+
return (h(Fragment, null, hasTitle && (h("div", { class: "benefits__title" }, benefit.title)), h("div", { class: "switch-wrapper" }, h("tet-switch", { class: "switch", theme: this.theme, key: switchKey, name: toggleKey, checked: this.selectedSwitchKeys.includes(toggleKey), onCheck: (e) => this.handleSwitchToggle(toggleKey, e.detail.checked), labelPosition: "left", focusStyleOnContainer: true }, h("div", { class: "switch-label" }, h("tet-icon", { theme: this.theme, class: "benefit__icon", name: benefit.icon }), benefit.name)))));
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Renders bonuses and marks bonuses outside current product as inactive.
|
|
266
|
+
*/
|
|
267
|
+
renderBonuses() {
|
|
268
|
+
const currentBonusIds = new Set(this.currentBonuses().map(this.getUniqueBonusId.bind(this)));
|
|
269
|
+
const allBonuses = this.allBonuses();
|
|
270
|
+
const bonusTitle = this.options.find(option => option.productCode === this.selectedProductCode)?.bonusTitle;
|
|
271
|
+
if (allBonuses.length < 1) {
|
|
272
|
+
return null;
|
|
273
|
+
}
|
|
274
|
+
return (h("div", { class: "bonuses" }, !!bonusTitle && (h("div", { class: "bonuses__title" }, bonusTitle)), h("div", { class: "bonuses__bonus-container" }, allBonuses.map((bonus) => {
|
|
275
|
+
const id = this.getUniqueBonusId(bonus);
|
|
276
|
+
const isActive = currentBonusIds.has(id);
|
|
277
|
+
const attributes = Array.isArray(bonus.dataAttributes) ? undefined : bonus.dataAttributes;
|
|
278
|
+
const isInteractive = Boolean(attributes && Object.keys(attributes).length > 0);
|
|
279
|
+
const ElementTag = this.getElementTag(attributes);
|
|
280
|
+
return (h(ElementTag, { key: id, type: isInteractive ? 'button' : undefined, class: {
|
|
281
|
+
'bonus': true,
|
|
282
|
+
'bonus--inactive': !isActive,
|
|
283
|
+
'bonus--interactive': isInteractive,
|
|
284
|
+
}, ...(attributes || {}) }, h("tet-icon", { theme: this.theme, class: "bonus__icon", name: bonus.iconName }), h("span", { class: "bonus__text" }, bonus.name), isInteractive && (h("div", { class: "bonus__chevron-icon-container" }, h("tet-icon", { class: "bonus__icon bonus__icon--chevron", name: "tc-chevron-right-small" })))));
|
|
285
|
+
}))));
|
|
286
|
+
}
|
|
287
|
+
renderRadioOptions() {
|
|
288
|
+
const selectionOptions = this.getSelectionOptions();
|
|
289
|
+
return (h("div", { class: "radio-container" }, selectionOptions.map((option) => (h("div", { class: "radio-wrapper" }, h("tet-radio", { class: "radio", theme: this.theme, name: "radio-card-options", label: option.label, value: option.value, checked: this.selectedProductCode === option.value, focusStyleOnContainer: true, onCheck: (event) => this.onOptionSelected(event) }))))));
|
|
290
|
+
}
|
|
291
|
+
renderPrice(price, parsedPrice, priceDescription) {
|
|
292
|
+
if (!price || Number.isNaN(parsedPrice)) {
|
|
293
|
+
return null;
|
|
294
|
+
}
|
|
295
|
+
return (h("div", { class: "price-wrapper" }, h("div", { class: "price-container" }, h("div", { class: "price-container__price translation-none" }, parsedPrice.toFixed(2).replace('.', ',')), h("div", { class: "price-container__currency" }, h("span", null, this.currency))), priceDescription && h("span", { class: "price-container__description" }, priceDescription)));
|
|
296
|
+
}
|
|
297
|
+
renderBenefitsSection() {
|
|
298
|
+
const selectionOptions = this.getSelectionOptions();
|
|
299
|
+
if (this.cardType === 'switcher') {
|
|
300
|
+
return (h("div", { class: "benefits" }, h("div", null, this.benefits.map((benefit) => this.renderSwitch(benefit)))));
|
|
301
|
+
}
|
|
302
|
+
const renderedBenefits = this.benefits.map((benefit) => this.renderBenefit(benefit));
|
|
303
|
+
return (h("div", { class: "benefits" }, h("div", { class: "benefits__benefit-container" }, renderedBenefits, this.cardType === 'dropdown' && (h("tet-dropdown", { id: "dropdown", class: "dropdown", theme: this.theme, "button-label": "", "close-on-selection": "true", "flex-layout": "true", options: selectionOptions })), this.cardType === 'radio' && this.renderRadioOptions())));
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Renders the card body.
|
|
307
|
+
* @returns rendered card body.
|
|
308
|
+
*/
|
|
309
|
+
renderCard() {
|
|
310
|
+
const comparisonData = this.allProductData[this.selectedProductCode];
|
|
311
|
+
const contractTermData = this.selectedContractTerm();
|
|
312
|
+
const overrideProductName = comparisonData?.attributes?.find(attr => attr.key === 'overrideProductName')?.value;
|
|
313
|
+
const mainTitle = overrideProductName ?? comparisonData?.name?.[this.language];
|
|
314
|
+
const price = contractTermData?.amount.toString() ?? '';
|
|
315
|
+
const parsedPrice = Number.parseFloat(price.replace(',', '.'));
|
|
316
|
+
const promotionCode = contractTermData?.promotionCode ?? '';
|
|
317
|
+
const term = contractTermData?.term ?? '';
|
|
318
|
+
const priceDescription = contractTermData?.priceDescription?.[this.language] ?? '';
|
|
319
|
+
const secondaryLink = this.secondaryLink || contractTermData?.contract || '';
|
|
320
|
+
const shouldRenderSecondaryLink = !!secondaryLink && !!this.secondaryLinkText;
|
|
321
|
+
const secondaryLinkTarget = this.secondaryLinkOpenBlank ? '_blank' : undefined;
|
|
322
|
+
const secondaryLinkRel = this.secondaryLinkOpenBlank ? 'noopener noreferrer' : undefined;
|
|
323
|
+
const baseUrl = comparisonData?.formUrl?.[this.language] || '';
|
|
324
|
+
const params = new URLSearchParams({
|
|
325
|
+
contractTerm: term?.toString() ?? '',
|
|
326
|
+
product: this.selectedProductCode,
|
|
327
|
+
promotion: promotionCode ?? '',
|
|
328
|
+
lang: this.language ?? '',
|
|
329
|
+
from: 'tet.lv'
|
|
330
|
+
});
|
|
331
|
+
const link = `${baseUrl}${baseUrl.includes('?') ? '&' : '?'}${params.toString()}`;
|
|
332
|
+
const isBestChoice = !!this.options.find(option => option.productCode === this.selectedProductCode)?.bestChoice;
|
|
333
|
+
return (h("div", { class: { 'card': true, 'best-choice': isBestChoice } }, this.bestChoiceText && (h("div", { class: { 'best-choice-title': true, 'active': isBestChoice } }, this.bestChoiceText)), h("div", { class: "content content__top" }, mainTitle && h("h3", { class: "title" }, mainTitle), this.renderPrice(price, parsedPrice, priceDescription), h("tet-button", { class: "button", type: "primary", theme: "light", size: this.buttonSize, url: link, urlTarget: this.linkOpenBlank ? '_blank' : '_self' }, this.buttonTitle), shouldRenderSecondaryLink && (h("div", { class: "secondary-link" }, h("a", { class: "tet-link", href: secondaryLink, target: secondaryLinkTarget, rel: secondaryLinkRel }, this.secondaryLinkText)))), h("div", { class: "content content__bottom" }, this.renderBonuses(), this.renderBenefitsSection())));
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Renders the loader.
|
|
337
|
+
*/
|
|
338
|
+
renderLoader() {
|
|
339
|
+
return (h("tet-placeholder", { class: "card__placeholder", height: "37rem", width: "100%", darkTheme: this.theme === 'dark' }));
|
|
340
|
+
}
|
|
341
|
+
render() {
|
|
342
|
+
if (this.showLoader) {
|
|
343
|
+
return this.renderLoader();
|
|
344
|
+
}
|
|
345
|
+
return this.renderCard();
|
|
346
|
+
}
|
|
347
|
+
static get is() { return "tet-compare-card-v3"; }
|
|
348
|
+
static get encapsulation() { return "shadow"; }
|
|
349
|
+
static get originalStyleUrls() {
|
|
350
|
+
return {
|
|
351
|
+
"$": ["tet-compare-card-v3.scss"]
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
static get styleUrls() {
|
|
355
|
+
return {
|
|
356
|
+
"$": ["tet-compare-card-v3.css"]
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
static get properties() {
|
|
360
|
+
return {
|
|
361
|
+
"cardType": {
|
|
362
|
+
"type": "string",
|
|
363
|
+
"mutable": false,
|
|
364
|
+
"complexType": {
|
|
365
|
+
"original": "'dropdown' | 'switcher' | 'static' | 'radio'",
|
|
366
|
+
"resolved": "\"dropdown\" | \"radio\" | \"static\" | \"switcher\"",
|
|
367
|
+
"references": {}
|
|
368
|
+
},
|
|
369
|
+
"required": false,
|
|
370
|
+
"optional": false,
|
|
371
|
+
"docs": {
|
|
372
|
+
"tags": [],
|
|
373
|
+
"text": "The size of the button."
|
|
374
|
+
},
|
|
375
|
+
"attribute": "card-type",
|
|
376
|
+
"reflect": false,
|
|
377
|
+
"defaultValue": "'static'"
|
|
378
|
+
},
|
|
379
|
+
"theme": {
|
|
380
|
+
"type": "string",
|
|
381
|
+
"mutable": false,
|
|
382
|
+
"complexType": {
|
|
383
|
+
"original": "'light' | 'dark'",
|
|
384
|
+
"resolved": "\"dark\" | \"light\"",
|
|
385
|
+
"references": {}
|
|
386
|
+
},
|
|
387
|
+
"required": false,
|
|
388
|
+
"optional": false,
|
|
389
|
+
"docs": {
|
|
390
|
+
"tags": [],
|
|
391
|
+
"text": "The theme of the card."
|
|
392
|
+
},
|
|
393
|
+
"attribute": "theme",
|
|
394
|
+
"reflect": false,
|
|
395
|
+
"defaultValue": "'light'"
|
|
396
|
+
},
|
|
397
|
+
"bestChoice": {
|
|
398
|
+
"type": "boolean",
|
|
399
|
+
"mutable": false,
|
|
400
|
+
"complexType": {
|
|
401
|
+
"original": "boolean",
|
|
402
|
+
"resolved": "boolean",
|
|
403
|
+
"references": {}
|
|
404
|
+
},
|
|
405
|
+
"required": false,
|
|
406
|
+
"optional": false,
|
|
407
|
+
"docs": {
|
|
408
|
+
"tags": [],
|
|
409
|
+
"text": "The disabled state of the bestChoice card."
|
|
410
|
+
},
|
|
411
|
+
"attribute": "best-choice",
|
|
412
|
+
"reflect": false,
|
|
413
|
+
"defaultValue": "false"
|
|
414
|
+
},
|
|
415
|
+
"language": {
|
|
416
|
+
"type": "string",
|
|
417
|
+
"mutable": false,
|
|
418
|
+
"complexType": {
|
|
419
|
+
"original": "string",
|
|
420
|
+
"resolved": "string",
|
|
421
|
+
"references": {}
|
|
422
|
+
},
|
|
423
|
+
"required": false,
|
|
424
|
+
"optional": false,
|
|
425
|
+
"docs": {
|
|
426
|
+
"tags": [],
|
|
427
|
+
"text": "The language of the component."
|
|
428
|
+
},
|
|
429
|
+
"attribute": "language",
|
|
430
|
+
"reflect": false,
|
|
431
|
+
"defaultValue": "'lv'"
|
|
432
|
+
},
|
|
433
|
+
"options": {
|
|
434
|
+
"type": "unknown",
|
|
435
|
+
"mutable": false,
|
|
436
|
+
"complexType": {
|
|
437
|
+
"original": "CompareCardInterfaceV3[]",
|
|
438
|
+
"resolved": "CompareCardInterfaceV3[]",
|
|
439
|
+
"references": {
|
|
440
|
+
"CompareCardInterfaceV3": {
|
|
441
|
+
"location": "local",
|
|
442
|
+
"path": "/__w/internal-tet-web-components-tet-components/internal-tet-web-components-tet-components/src/src/components/advanced/cards/tet-compare-card-v3/tet-compare-card-v3.tsx",
|
|
443
|
+
"id": "src/components/advanced/cards/tet-compare-card-v3/tet-compare-card-v3.tsx::CompareCardInterfaceV3"
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
},
|
|
447
|
+
"required": false,
|
|
448
|
+
"optional": false,
|
|
449
|
+
"docs": {
|
|
450
|
+
"tags": [],
|
|
451
|
+
"text": "Product variants available in this card.\nUsed as the source for dropdown/radio/switcher selection and to resolve\nthe active variant data (productCode, keys, labels, bonuses, etc.)."
|
|
452
|
+
},
|
|
453
|
+
"defaultValue": "[]"
|
|
454
|
+
},
|
|
455
|
+
"bonuses": {
|
|
456
|
+
"type": "unknown",
|
|
457
|
+
"mutable": false,
|
|
458
|
+
"complexType": {
|
|
459
|
+
"original": "string[]",
|
|
460
|
+
"resolved": "string[]",
|
|
461
|
+
"references": {}
|
|
462
|
+
},
|
|
463
|
+
"required": false,
|
|
464
|
+
"optional": false,
|
|
465
|
+
"docs": {
|
|
466
|
+
"tags": [],
|
|
467
|
+
"text": "Additional bonuses shown on the card.\nBonuses are product-specific."
|
|
468
|
+
},
|
|
469
|
+
"defaultValue": "[]"
|
|
470
|
+
},
|
|
471
|
+
"benefits": {
|
|
472
|
+
"type": "unknown",
|
|
473
|
+
"mutable": false,
|
|
474
|
+
"complexType": {
|
|
475
|
+
"original": "BenefitInterfaceV3[]",
|
|
476
|
+
"resolved": "BenefitInterfaceV3[]",
|
|
477
|
+
"references": {
|
|
478
|
+
"BenefitInterfaceV3": {
|
|
479
|
+
"location": "local",
|
|
480
|
+
"path": "/__w/internal-tet-web-components-tet-components/internal-tet-web-components-tet-components/src/src/components/advanced/cards/tet-compare-card-v3/tet-compare-card-v3.tsx",
|
|
481
|
+
"id": "src/components/advanced/cards/tet-compare-card-v3/tet-compare-card-v3.tsx::BenefitInterfaceV3"
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
},
|
|
485
|
+
"required": false,
|
|
486
|
+
"optional": false,
|
|
487
|
+
"docs": {
|
|
488
|
+
"tags": [],
|
|
489
|
+
"text": "Additional benefits shown on the card.\nBenefits are shared across all products."
|
|
490
|
+
},
|
|
491
|
+
"defaultValue": "[]"
|
|
492
|
+
},
|
|
493
|
+
"contractTerm": {
|
|
494
|
+
"type": "number",
|
|
495
|
+
"mutable": false,
|
|
496
|
+
"complexType": {
|
|
497
|
+
"original": "number",
|
|
498
|
+
"resolved": "number",
|
|
499
|
+
"references": {}
|
|
500
|
+
},
|
|
501
|
+
"required": false,
|
|
502
|
+
"optional": false,
|
|
503
|
+
"docs": {
|
|
504
|
+
"tags": [],
|
|
505
|
+
"text": "This prop defines selected contract term for the card."
|
|
506
|
+
},
|
|
507
|
+
"attribute": "contract-term",
|
|
508
|
+
"reflect": false,
|
|
509
|
+
"defaultValue": "0"
|
|
510
|
+
},
|
|
511
|
+
"bestChoiceText": {
|
|
512
|
+
"type": "string",
|
|
513
|
+
"mutable": false,
|
|
514
|
+
"complexType": {
|
|
515
|
+
"original": "string",
|
|
516
|
+
"resolved": "string",
|
|
517
|
+
"references": {}
|
|
518
|
+
},
|
|
519
|
+
"required": false,
|
|
520
|
+
"optional": false,
|
|
521
|
+
"docs": {
|
|
522
|
+
"tags": [],
|
|
523
|
+
"text": "This prop defines best choice text for the card."
|
|
524
|
+
},
|
|
525
|
+
"attribute": "best-choice-text",
|
|
526
|
+
"reflect": false,
|
|
527
|
+
"defaultValue": "''"
|
|
528
|
+
},
|
|
529
|
+
"currency": {
|
|
530
|
+
"type": "string",
|
|
531
|
+
"mutable": false,
|
|
532
|
+
"complexType": {
|
|
533
|
+
"original": "string",
|
|
534
|
+
"resolved": "string",
|
|
535
|
+
"references": {}
|
|
536
|
+
},
|
|
537
|
+
"required": false,
|
|
538
|
+
"optional": false,
|
|
539
|
+
"docs": {
|
|
540
|
+
"tags": [],
|
|
541
|
+
"text": "This prop defines currency for the card."
|
|
542
|
+
},
|
|
543
|
+
"attribute": "currency",
|
|
544
|
+
"reflect": false,
|
|
545
|
+
"defaultValue": "'\u20AC/m\u0113n.'"
|
|
546
|
+
},
|
|
547
|
+
"secondaryLink": {
|
|
548
|
+
"type": "string",
|
|
549
|
+
"mutable": false,
|
|
550
|
+
"complexType": {
|
|
551
|
+
"original": "string",
|
|
552
|
+
"resolved": "string",
|
|
553
|
+
"references": {}
|
|
554
|
+
},
|
|
555
|
+
"required": false,
|
|
556
|
+
"optional": false,
|
|
557
|
+
"docs": {
|
|
558
|
+
"tags": [],
|
|
559
|
+
"text": "This prop defines secondary link for the card."
|
|
560
|
+
},
|
|
561
|
+
"attribute": "secondary-link",
|
|
562
|
+
"reflect": false,
|
|
563
|
+
"defaultValue": "''"
|
|
564
|
+
},
|
|
565
|
+
"secondaryLinkText": {
|
|
566
|
+
"type": "string",
|
|
567
|
+
"mutable": false,
|
|
568
|
+
"complexType": {
|
|
569
|
+
"original": "string",
|
|
570
|
+
"resolved": "string",
|
|
571
|
+
"references": {}
|
|
572
|
+
},
|
|
573
|
+
"required": false,
|
|
574
|
+
"optional": false,
|
|
575
|
+
"docs": {
|
|
576
|
+
"tags": [],
|
|
577
|
+
"text": "This prop defines secondary link text for the card."
|
|
578
|
+
},
|
|
579
|
+
"attribute": "secondary-link-text",
|
|
580
|
+
"reflect": false,
|
|
581
|
+
"defaultValue": "''"
|
|
582
|
+
},
|
|
583
|
+
"secondaryLinkOpenBlank": {
|
|
584
|
+
"type": "boolean",
|
|
585
|
+
"mutable": false,
|
|
586
|
+
"complexType": {
|
|
587
|
+
"original": "boolean",
|
|
588
|
+
"resolved": "boolean",
|
|
589
|
+
"references": {}
|
|
590
|
+
},
|
|
591
|
+
"required": false,
|
|
592
|
+
"optional": false,
|
|
593
|
+
"docs": {
|
|
594
|
+
"tags": [],
|
|
595
|
+
"text": "This prop defines whether the secondary link opens in a new tab."
|
|
596
|
+
},
|
|
597
|
+
"attribute": "secondary-link-open-blank",
|
|
598
|
+
"reflect": false,
|
|
599
|
+
"defaultValue": "false"
|
|
600
|
+
},
|
|
601
|
+
"buttonTitle": {
|
|
602
|
+
"type": "string",
|
|
603
|
+
"mutable": false,
|
|
604
|
+
"complexType": {
|
|
605
|
+
"original": "string",
|
|
606
|
+
"resolved": "string",
|
|
607
|
+
"references": {}
|
|
608
|
+
},
|
|
609
|
+
"required": false,
|
|
610
|
+
"optional": false,
|
|
611
|
+
"docs": {
|
|
612
|
+
"tags": [],
|
|
613
|
+
"text": "This prop defines button title for the card."
|
|
614
|
+
},
|
|
615
|
+
"attribute": "button-title",
|
|
616
|
+
"reflect": false,
|
|
617
|
+
"defaultValue": "''"
|
|
618
|
+
},
|
|
619
|
+
"linkOpenBlank": {
|
|
620
|
+
"type": "boolean",
|
|
621
|
+
"mutable": false,
|
|
622
|
+
"complexType": {
|
|
623
|
+
"original": "boolean",
|
|
624
|
+
"resolved": "boolean",
|
|
625
|
+
"references": {}
|
|
626
|
+
},
|
|
627
|
+
"required": false,
|
|
628
|
+
"optional": false,
|
|
629
|
+
"docs": {
|
|
630
|
+
"tags": [],
|
|
631
|
+
"text": "This prop defines whether the main link (button) opens in a new tab."
|
|
632
|
+
},
|
|
633
|
+
"attribute": "link-open-blank",
|
|
634
|
+
"reflect": false,
|
|
635
|
+
"defaultValue": "false"
|
|
636
|
+
}
|
|
637
|
+
};
|
|
638
|
+
}
|
|
639
|
+
static get states() {
|
|
640
|
+
return {
|
|
641
|
+
"showLoader": {},
|
|
642
|
+
"selectedProductCode": {},
|
|
643
|
+
"selectedSwitchKeys": {},
|
|
644
|
+
"preselectedKeys": {},
|
|
645
|
+
"preselectedProductCode": {},
|
|
646
|
+
"allProductData": {},
|
|
647
|
+
"preselectedRemountId": {},
|
|
648
|
+
"buttonSize": {}
|
|
649
|
+
};
|
|
650
|
+
}
|
|
651
|
+
static get events() {
|
|
652
|
+
return [{
|
|
653
|
+
"method": "cardLoaded",
|
|
654
|
+
"name": "cardLoaded",
|
|
655
|
+
"bubbles": true,
|
|
656
|
+
"cancelable": true,
|
|
657
|
+
"composed": true,
|
|
658
|
+
"docs": {
|
|
659
|
+
"tags": [],
|
|
660
|
+
"text": "Emitted when the card has loaded."
|
|
661
|
+
},
|
|
662
|
+
"complexType": {
|
|
663
|
+
"original": "void",
|
|
664
|
+
"resolved": "void",
|
|
665
|
+
"references": {}
|
|
666
|
+
}
|
|
667
|
+
}, {
|
|
668
|
+
"method": "productChanged",
|
|
669
|
+
"name": "productChanged",
|
|
670
|
+
"bubbles": true,
|
|
671
|
+
"cancelable": true,
|
|
672
|
+
"composed": true,
|
|
673
|
+
"docs": {
|
|
674
|
+
"tags": [],
|
|
675
|
+
"text": "Emitted when the selected product has changed."
|
|
676
|
+
},
|
|
677
|
+
"complexType": {
|
|
678
|
+
"original": "void",
|
|
679
|
+
"resolved": "void",
|
|
680
|
+
"references": {}
|
|
681
|
+
}
|
|
682
|
+
}];
|
|
683
|
+
}
|
|
684
|
+
static get listeners() {
|
|
685
|
+
return [{
|
|
686
|
+
"name": "optionSelected",
|
|
687
|
+
"method": "onOptionSelected",
|
|
688
|
+
"target": undefined,
|
|
689
|
+
"capture": false,
|
|
690
|
+
"passive": false
|
|
691
|
+
}, {
|
|
692
|
+
"name": "resize",
|
|
693
|
+
"method": "onResize",
|
|
694
|
+
"target": "window",
|
|
695
|
+
"capture": false,
|
|
696
|
+
"passive": true
|
|
697
|
+
}];
|
|
698
|
+
}
|
|
699
|
+
}
|