@tet/tet-components 1.3.93-testing → 1.3.94-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-d2b7628d.js → address-7fde1462.js} +1 -1
- package/dist/cjs/{assets-cf19c33d.js → assets-81eb2ab8.js} +1 -1
- package/dist/cjs/{async-request-433f54e5.js → async-request-f7162bb5.js} +1 -1
- package/dist/cjs/{http-codes-c2a24ff3.js → http-codes-5b982e01.js} +1 -1
- package/dist/cjs/{index-84ede372.js → index-457201e1.js} +1 -1
- package/dist/cjs/{index-f559cb2e.js → index-66913c99.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{old-utils-1a20fe25.js → old-utils-4ba8b736.js} +1 -1
- package/dist/cjs/{phone-c264803a.js → phone-54eba6d6.js} +2 -2
- package/dist/cjs/tet-accordion.cjs.entry.js +1 -1
- package/dist/cjs/tet-address-offers-filters-products_3.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_2.cjs.entry.js +1 -1
- package/dist/cjs/tet-b2b-compare-card.cjs.entry.js +3 -3
- 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 +1 -1
- package/dist/cjs/tet-checkbox.cjs.entry.js +1 -1
- 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-cards-tab.cjs.entry.js +3 -3
- package/dist/cjs/tet-compare-cards_2.cjs.entry.js +51 -6
- 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-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 +9 -5
- package/dist/cjs/tet-dynamic-card.cjs.entry.js +1 -1
- package/dist/cjs/tet-expandable-input.cjs.entry.js +79 -48
- package/dist/cjs/tet-expansion-panel.cjs.entry.js +1 -1
- package/dist/cjs/tet-filter.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.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 +1 -1
- package/dist/cjs/tet-menu.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 +1 -1
- 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-price-view.cjs.entry.js +1 -1
- package/dist/cjs/tet-radio.cjs.entry.js +1 -1
- package/dist/cjs/tet-range-slider_2.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-spacing.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-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-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 +1 -1
- 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-a5bbadf6.js → theme-wrapper-d753e207.js} +2 -2
- package/dist/cjs/{translations-571bba05.js → translations-bb8512bf.js} +1 -1
- package/dist/collection/components/advanced/cards/tet-compare-card/tet-compare-card.css +1 -1
- package/dist/collection/components/basic/buttons/tet-tabs/tet-tab-content/tet-tab-content.js +9 -3
- package/dist/collection/components/simple/inputs/tet-expandable-input/tet-expandable-input.css +85 -169
- package/dist/collection/components/simple/inputs/tet-expandable-input/tet-expandable-input.js +104 -124
- package/dist/collection/components/simple/lists/tet-text-list/tet-text-list.css +1 -1
- package/dist/collection/components/simple/text-blocks/tet-dialog/test/tet-dialog.spec.js +2 -2
- package/dist/collection/components/simple/text-blocks/tet-dialog/tet-dialog.css +7 -3
- package/dist/collection/components/simple/text-blocks/tet-dialog/tet-dialog.js +5 -1
- package/dist/collection/services/utils/index.js +2 -1
- package/dist/collection/services/utils/isFocusableElementOrChild.js +40 -0
- package/dist/collection/services/utils/isFocusableElementOrChild.spec.js +67 -0
- package/dist/components/index.js +1 -1
- package/dist/components/{p-ba276825.js → p-0cafd6c9.js} +4 -4
- package/dist/components/{p-56631f78.js → p-13cab4be.js} +3 -3
- package/dist/components/{p-75bb88f5.js → p-255fc5ee.js} +2 -2
- package/dist/components/{p-50893136.js → p-2ab9846b.js} +9 -9
- package/dist/components/{p-c4f3dcb1.js → p-2d12d3cc.js} +1 -1
- package/dist/components/{p-7efce874.js → p-2eac3a65.js} +1 -1
- package/dist/components/{p-7829fdd1.js → p-366653d9.js} +9 -9
- package/dist/components/{p-21fc4393.js → p-36cfdf61.js} +1 -1
- package/dist/components/{p-93914ad4.js → p-385192ea.js} +3 -3
- package/dist/components/{p-718290ba.js → p-3e987c51.js} +1 -1
- package/dist/components/{p-e8c74cb8.js → p-41a66b0c.js} +2 -2
- package/dist/components/{p-13754c04.js → p-431c02f3.js} +3 -3
- package/dist/components/{p-8b4db334.js → p-44946a5f.js} +49 -4
- package/dist/components/{p-31dd2c51.js → p-45abf86e.js} +1 -1
- package/dist/components/{p-a0d406ca.js → p-4d00761a.js} +1 -1
- package/dist/components/{p-24688e4b.js → p-4df6d5ee.js} +1 -1
- package/dist/components/{p-4399957c.js → p-4e5b1257.js} +7 -7
- package/dist/components/{p-889c77bd.js → p-4ec5e03c.js} +3 -3
- package/dist/components/{p-5ca99b42.js → p-5260200a.js} +1 -1
- package/dist/components/{p-b0d85010.js → p-536895de.js} +7 -7
- package/dist/components/{p-d3236077.js → p-5841617c.js} +1 -1
- package/dist/components/{p-37ed3ebb.js → p-599035b8.js} +1 -1
- package/dist/components/{p-a9272586.js → p-5ce2385a.js} +1 -1
- package/dist/components/{p-659824f8.js → p-642d5f4a.js} +1 -1
- package/dist/components/{p-db42ce50.js → p-65be4e9b.js} +4 -4
- package/dist/components/{p-c5705423.js → p-6e0f6f88.js} +2 -2
- package/dist/components/{p-195cefb5.js → p-798cf5b6.js} +2 -2
- package/dist/components/{p-ef961ffc.js → p-82525b58.js} +1 -1
- package/dist/components/{p-8de02db3.js → p-84b6941e.js} +1 -1
- package/dist/components/{p-7fa6669b.js → p-85a9ba6e.js} +2 -2
- package/dist/components/{p-35148843.js → p-8fd398c3.js} +2 -2
- package/dist/components/{p-0df11ded.js → p-990cf90e.js} +2 -2
- package/dist/components/{p-c48187ff.js → p-9d513435.js} +7 -7
- package/dist/components/{p-ee7208a6.js → p-9f069343.js} +2 -2
- package/dist/components/{p-fc516487.js → p-ba7350c8.js} +2 -2
- package/dist/components/{p-88b42c67.js → p-bd781cf7.js} +1 -1
- package/dist/components/{p-d1a1cdb3.js → p-be1b81f2.js} +10 -10
- package/dist/components/{p-cae8540e.js → p-ce2de88e.js} +3 -3
- package/dist/components/{p-705296ed.js → p-cffd5888.js} +1 -1
- package/dist/components/{p-737146a8.js → p-d59a77a5.js} +9 -5
- package/dist/components/{p-0fc4d4dd.js → p-d7ea99c6.js} +6 -6
- package/dist/components/{p-ed036e6a.js → p-dc191741.js} +1 -1
- package/dist/components/{p-1654e596.js → p-de6627f6.js} +2 -2
- package/dist/components/{p-23e1b8e9.js → p-e24e0c12.js} +3 -3
- package/dist/components/{p-aa90e33b.js → p-e2f0e8da.js} +1 -1
- package/dist/components/{p-c3ff392e.js → p-e56905f5.js} +14 -14
- package/dist/components/{p-1252b711.js → p-ec5a5e12.js} +1 -1
- package/dist/components/{p-0fcf1e16.js → p-eeadf41e.js} +3 -3
- package/dist/components/{p-98a1769b.js → p-f402991e.js} +3 -3
- package/dist/components/{p-cc60fdfc.js → p-f9083a6b.js} +1 -1
- package/dist/components/{p-127d50c3.js → p-fb593a61.js} +1 -1
- package/dist/components/tet-accordion.js +2 -2
- 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 +25 -25
- 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-compare-card.js +6 -6
- 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-round-stepper.js +2 -2
- package/dist/components/tet-button.js +1 -1
- package/dist/components/tet-card-list.js +1 -1
- package/dist/components/tet-carousel.js +3 -3
- 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 +11 -11
- package/dist/components/tet-colors.js +1 -1
- package/dist/components/tet-compare-card.js +1 -1
- package/dist/components/tet-compare-cards-tab.js +15 -15
- 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-customer-assets.js +8 -8
- 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-dropdown.js +1 -1
- package/dist/components/tet-dynamic-card.js +4 -4
- package/dist/components/tet-expandable-input.js +85 -56
- package/dist/components/tet-expansion-panel.js +1 -1
- package/dist/components/tet-filter.js +4 -4
- 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 +2 -2
- 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.js +1 -1
- package/dist/components/tet-loader.js +1 -1
- package/dist/components/tet-macd-view.js +11 -11
- package/dist/components/tet-menu-mobile.js +2 -2
- package/dist/components/tet-menu.js +2 -2
- package/dist/components/tet-multi-step-dialog.js +5 -5
- package/dist/components/tet-navigation-mobile.js +2 -2
- 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-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 +7 -7
- package/dist/components/tet-round-stepper.js +2 -2
- package/dist/components/tet-selection-list.js +1 -1
- 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-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-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-6bae95f7.js → address-446e44d1.js} +1 -1
- package/dist/esm/{assets-9f343e6e.js → assets-fba60496.js} +1 -1
- package/dist/esm/{async-request-5b1897cb.js → async-request-3be8369e.js} +1 -1
- package/dist/esm/{http-codes-03b4e7fe.js → http-codes-94d247ea.js} +1 -1
- package/dist/esm/{index-7f1e2a22.js → index-ce62f11b.js} +1 -1
- package/dist/esm/{index-1bf36cb9.js → index-d502e34e.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{old-utils-13592797.js → old-utils-bb8e99c5.js} +1 -1
- package/dist/esm/{phone-36ef7090.js → phone-3dfebff1.js} +2 -2
- package/dist/esm/tet-accordion.entry.js +1 -1
- package/dist/esm/tet-address-offers-filters-products_3.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_2.entry.js +1 -1
- package/dist/esm/tet-b2b-compare-card.entry.js +3 -3
- 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 +1 -1
- package/dist/esm/tet-checkbox.entry.js +1 -1
- 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-cards-tab.entry.js +3 -3
- package/dist/esm/tet-compare-cards_2.entry.js +51 -6
- 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-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 +9 -5
- package/dist/esm/tet-dynamic-card.entry.js +1 -1
- package/dist/esm/tet-expandable-input.entry.js +79 -48
- package/dist/esm/tet-expansion-panel.entry.js +1 -1
- package/dist/esm/tet-filter.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.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 +1 -1
- package/dist/esm/tet-menu.entry.js +1 -1
- package/dist/esm/tet-multi-step-dialog.entry.js +3 -3
- package/dist/esm/tet-navigation-mobile.entry.js +1 -1
- 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-price-view.entry.js +1 -1
- package/dist/esm/tet-radio.entry.js +1 -1
- package/dist/esm/tet-range-slider_2.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-spacing.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-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-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 +1 -1
- 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-6e6b2089.js → theme-wrapper-bf063190.js} +2 -2
- package/dist/esm/{translations-11287bda.js → translations-1d29b21f.js} +1 -1
- package/dist/tet-components/{p-51a13ab5.entry.js → p-09fc163f.entry.js} +1 -1
- package/dist/tet-components/{p-8fc703e5.entry.js → p-0a02dd45.entry.js} +1 -1
- package/dist/tet-components/{p-316ae4e2.entry.js → p-0a57bda8.entry.js} +1 -1
- package/dist/tet-components/{p-8703f9fe.entry.js → p-0af1220b.entry.js} +1 -1
- package/dist/tet-components/{p-ef909de3.js → p-0d1e7cd6.js} +1 -1
- package/dist/tet-components/{p-de79e69a.entry.js → p-17edd514.entry.js} +1 -1
- package/dist/tet-components/p-1d14c865.js +2 -0
- package/dist/tet-components/{p-c0cf1cb5.entry.js → p-1d23bd5d.entry.js} +1 -1
- package/dist/tet-components/{p-ba0640f6.entry.js → p-225905e2.entry.js} +1 -1
- package/dist/tet-components/{p-a89a8dca.entry.js → p-292d2657.entry.js} +1 -1
- package/dist/tet-components/{p-e670e73e.entry.js → p-2eadb689.entry.js} +1 -1
- package/dist/tet-components/{p-118bad7e.entry.js → p-317c3cf0.entry.js} +1 -1
- package/dist/tet-components/{p-d583f423.entry.js → p-31e56eec.entry.js} +1 -1
- package/dist/tet-components/{p-370989ca.entry.js → p-34931190.entry.js} +1 -1
- package/dist/tet-components/p-3905ac21.entry.js +1 -0
- package/dist/tet-components/{p-f76f171b.entry.js → p-3e8c7e1f.entry.js} +1 -1
- package/dist/tet-components/{p-e8411d46.entry.js → p-44b573ce.entry.js} +1 -1
- package/dist/tet-components/{p-7a89815d.entry.js → p-476faca5.entry.js} +1 -1
- package/dist/tet-components/{p-4f47b1ba.entry.js → p-4b3c3deb.entry.js} +1 -1
- package/dist/tet-components/{p-a21e2695.entry.js → p-4cbb177a.entry.js} +1 -1
- package/dist/tet-components/{p-d7eeb065.entry.js → p-4cc698f8.entry.js} +1 -1
- package/dist/tet-components/{p-60cca146.entry.js → p-4cf1b597.entry.js} +1 -1
- package/dist/tet-components/{p-5ea8b1ab.entry.js → p-4cfb3007.entry.js} +1 -1
- package/dist/tet-components/{p-11b71828.entry.js → p-4d77696a.entry.js} +1 -1
- package/dist/tet-components/{p-e2610d44.entry.js → p-4f5c9f04.entry.js} +1 -1
- package/dist/tet-components/{p-fd4d1ca5.js → p-513c1986.js} +1 -1
- package/dist/tet-components/{p-55eeb0cb.entry.js → p-52930f30.entry.js} +1 -1
- package/dist/tet-components/{p-759be092.entry.js → p-52d88a30.entry.js} +1 -1
- package/dist/tet-components/{p-48fe9ea7.entry.js → p-5336166d.entry.js} +1 -1
- package/dist/tet-components/{p-beeb3cae.entry.js → p-536ebeaa.entry.js} +1 -1
- package/dist/tet-components/{p-e0c5ac14.entry.js → p-54434393.entry.js} +1 -1
- package/dist/tet-components/{p-00945e73.entry.js → p-56489c3a.entry.js} +1 -1
- package/dist/tet-components/{p-fde880c6.entry.js → p-5eeee2cd.entry.js} +1 -1
- package/dist/tet-components/{p-66eaa633.js → p-5f102998.js} +1 -1
- package/dist/tet-components/{p-7bb74d44.entry.js → p-66fd59dc.entry.js} +1 -1
- package/dist/tet-components/{p-e5bc2402.entry.js → p-68b557f3.entry.js} +1 -1
- package/dist/tet-components/{p-dfe87119.entry.js → p-6bd2bd28.entry.js} +1 -1
- package/dist/tet-components/{p-d1608c63.js → p-6e6dafb1.js} +1 -1
- package/dist/tet-components/{p-254089f0.entry.js → p-6f60a621.entry.js} +1 -1
- package/dist/tet-components/{p-583a5b04.entry.js → p-717204a3.entry.js} +1 -1
- package/dist/tet-components/{p-2807e999.entry.js → p-818e9c23.entry.js} +1 -1
- package/dist/tet-components/{p-464edbed.entry.js → p-826de04c.entry.js} +1 -1
- package/dist/tet-components/{p-96b88c24.entry.js → p-82ba6285.entry.js} +1 -1
- package/dist/tet-components/{p-3019fe9e.entry.js → p-8336e612.entry.js} +1 -1
- package/dist/tet-components/{p-f8288c41.entry.js → p-835a790e.entry.js} +1 -1
- package/dist/tet-components/{p-93fcdf8f.entry.js → p-8848f88f.entry.js} +1 -1
- package/dist/tet-components/{p-f685921a.entry.js → p-886aae2a.entry.js} +1 -1
- package/dist/tet-components/{p-a4108dbe.entry.js → p-88cac288.entry.js} +1 -1
- package/dist/tet-components/{p-a7c0fd47.entry.js → p-8962c2d3.entry.js} +1 -1
- package/dist/tet-components/p-8b9f2ed6.js +1 -0
- package/dist/tet-components/{p-4c5d861d.entry.js → p-914e15d5.entry.js} +1 -1
- package/dist/tet-components/{p-0f747af0.entry.js → p-921a45b7.entry.js} +1 -1
- package/dist/tet-components/{p-8fe3ebf2.entry.js → p-926a876b.entry.js} +1 -1
- package/dist/tet-components/{p-6f165fa0.entry.js → p-9965314d.entry.js} +1 -1
- package/dist/tet-components/{p-e896f57c.entry.js → p-9ddfb98e.entry.js} +1 -1
- package/dist/tet-components/{p-cce48666.entry.js → p-a0339ce4.entry.js} +1 -1
- package/dist/tet-components/{p-5c542afa.entry.js → p-a0356db6.entry.js} +1 -1
- package/dist/tet-components/{p-04a794db.entry.js → p-a0a53bfe.entry.js} +1 -1
- package/dist/tet-components/{p-5b360a66.entry.js → p-a4a01207.entry.js} +1 -1
- package/dist/tet-components/{p-44bd9249.js → p-a9820b87.js} +1 -1
- package/dist/tet-components/{p-e106f5a0.entry.js → p-aae98e69.entry.js} +1 -1
- package/dist/tet-components/{p-77372984.js → p-aba811f3.js} +1 -1
- package/dist/tet-components/{p-3f391ac2.entry.js → p-b12f78b7.entry.js} +1 -1
- package/dist/tet-components/{p-75693c62.js → p-b3d49c78.js} +1 -1
- package/dist/tet-components/{p-e5f94188.entry.js → p-b41dc415.entry.js} +1 -1
- package/dist/tet-components/{p-ea2b3ea1.js → p-b66cbe8a.js} +1 -1
- package/dist/tet-components/{p-ebf22ac0.entry.js → p-b9203ea5.entry.js} +1 -1
- package/dist/tet-components/{p-091e774d.entry.js → p-c47543e1.entry.js} +1 -1
- package/dist/tet-components/{p-cbec683e.entry.js → p-c520fd76.entry.js} +1 -1
- package/dist/tet-components/{p-46e9c541.entry.js → p-c6717000.entry.js} +1 -1
- package/dist/tet-components/{p-3ea5e48b.entry.js → p-c9b8d9e5.entry.js} +1 -1
- package/dist/tet-components/{p-8c31df70.entry.js → p-ccf1d7f1.entry.js} +1 -1
- package/dist/tet-components/{p-7935b460.entry.js → p-cdd36b02.entry.js} +1 -1
- package/dist/tet-components/{p-59db86cf.entry.js → p-ce8db103.entry.js} +1 -1
- package/dist/tet-components/{p-25d2bb66.entry.js → p-cf94d18c.entry.js} +1 -1
- package/dist/tet-components/{p-a4d2861e.entry.js → p-d0e9c2d9.entry.js} +1 -1
- package/dist/tet-components/{p-a7f3696d.entry.js → p-d2bcb315.entry.js} +1 -1
- package/dist/tet-components/p-d5fd61ce.entry.js +1 -0
- package/dist/tet-components/p-dbfa14f3.entry.js +1 -0
- package/dist/tet-components/{p-c79f337e.entry.js → p-dd71cf2d.entry.js} +1 -1
- package/dist/tet-components/{p-36c1f441.entry.js → p-df570014.entry.js} +1 -1
- package/dist/tet-components/{p-b80782f2.entry.js → p-e06d84f2.entry.js} +1 -1
- package/dist/tet-components/{p-406551c3.entry.js → p-e62ddf2e.entry.js} +1 -1
- package/dist/tet-components/{p-0d4242c6.entry.js → p-ec92e5b7.entry.js} +1 -1
- package/dist/tet-components/{p-2c575863.entry.js → p-f2b8b227.entry.js} +1 -1
- package/dist/tet-components/{p-7e9c8900.entry.js → p-f7b95248.entry.js} +1 -1
- package/dist/tet-components/{p-082109df.entry.js → p-f9888c49.entry.js} +1 -1
- package/dist/tet-components/tet-components.css +1 -1
- package/dist/tet-components/tet-components.esm.js +1 -1
- package/dist/types/components/simple/inputs/tet-expandable-input/tet-expandable-input.d.ts +32 -26
- package/dist/types/components.d.ts +12 -42
- package/dist/types/services/utils/index.d.ts +2 -1
- package/dist/types/services/utils/isFocusableElementOrChild.d.ts +6 -0
- package/package.json +1 -1
- package/dist/tet-components/p-03e95132.entry.js +0 -1
- package/dist/tet-components/p-1e5392b3.entry.js +0 -1
- package/dist/tet-components/p-1ec7f341.js +0 -2
- package/dist/tet-components/p-9a86ca1e.entry.js +0 -1
- package/dist/tet-components/p-b2b384d2.js +0 -1
package/dist/collection/components/simple/inputs/tet-expandable-input/tet-expandable-input.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
2
|
import { getConvertedPixels } from "../../../../services/utils/index";
|
|
3
|
+
/* The height of the component in pixels for each size */
|
|
4
|
+
const componentSizes = {
|
|
5
|
+
default: 44,
|
|
6
|
+
small: 36,
|
|
7
|
+
};
|
|
3
8
|
/**
|
|
4
9
|
* The expandable input uses the default input functionality with addition of extended state on focus.
|
|
5
10
|
* It supports left and right icons as well as fully closed state with round icon for small containers or screens.
|
|
@@ -10,23 +15,35 @@ export class TetExpandableInput {
|
|
|
10
15
|
* The currently running animation
|
|
11
16
|
*/
|
|
12
17
|
this.animation = null;
|
|
18
|
+
this.setupInput = () => {
|
|
19
|
+
this.handleInputEventListeners();
|
|
20
|
+
this.setupInputWidth();
|
|
21
|
+
};
|
|
13
22
|
/**
|
|
14
|
-
* The
|
|
23
|
+
* The method to handle hasInputValue state.
|
|
15
24
|
*/
|
|
16
|
-
this.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
this.
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
this.handleHasInputValueState = (event) => {
|
|
26
|
+
const { target } = event;
|
|
27
|
+
if (target instanceof HTMLInputElement) {
|
|
28
|
+
this.hasInputValue = target.value.length > 0;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Handles closing the input when the Escape key is pressed and the input is expanded.
|
|
33
|
+
*/
|
|
34
|
+
this.handleCloseInputOnEsc = (event) => {
|
|
35
|
+
if (this.expanded && event.key === 'Escape') {
|
|
36
|
+
this.host.blur();
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Handles closing the input when the close button element is activated.
|
|
41
|
+
*/
|
|
42
|
+
this.handleCloseButtonAction = (event) => {
|
|
43
|
+
if (event.type === 'click' ||
|
|
44
|
+
(event.type === 'keydown' && 'key' in event && (event.key === 'Enter' || event.key === ' '))) {
|
|
45
|
+
this.host.blur();
|
|
46
|
+
}
|
|
30
47
|
};
|
|
31
48
|
/**
|
|
32
49
|
* Handles the animation of the input.
|
|
@@ -62,9 +79,9 @@ export class TetExpandableInput {
|
|
|
62
79
|
}
|
|
63
80
|
};
|
|
64
81
|
this.expanded = false;
|
|
82
|
+
this.hasInputValue = false;
|
|
65
83
|
this.class = '';
|
|
66
84
|
this.placeholder = '';
|
|
67
|
-
this.type = 'text';
|
|
68
85
|
this.value = '';
|
|
69
86
|
this.disabled = false;
|
|
70
87
|
this.accessibilityLabel = '';
|
|
@@ -72,15 +89,12 @@ export class TetExpandableInput {
|
|
|
72
89
|
this.closedWidth = '18.375rem';
|
|
73
90
|
this.animationDuration = 300;
|
|
74
91
|
this.error = false;
|
|
75
|
-
this.label = '';
|
|
76
92
|
this.iconLeft = '';
|
|
77
93
|
this.iconRight = '';
|
|
78
|
-
this.iconClosed = '';
|
|
79
|
-
this.iconLeftClickCallback = undefined;
|
|
80
94
|
this.iconRightClickCallback = undefined;
|
|
81
95
|
this.validators = [];
|
|
82
96
|
this.manualValidation = false;
|
|
83
|
-
this.theme = '
|
|
97
|
+
this.theme = 'light';
|
|
84
98
|
this.size = 'default';
|
|
85
99
|
this.closeInputText = '';
|
|
86
100
|
this.darkMode = false;
|
|
@@ -88,6 +102,9 @@ export class TetExpandableInput {
|
|
|
88
102
|
onModeChange() {
|
|
89
103
|
this.setState(this.expanded);
|
|
90
104
|
}
|
|
105
|
+
onSizeChange() {
|
|
106
|
+
this.setupInputWidth();
|
|
107
|
+
}
|
|
91
108
|
/**
|
|
92
109
|
* Returns the HTML input element.
|
|
93
110
|
*/
|
|
@@ -112,14 +129,17 @@ export class TetExpandableInput {
|
|
|
112
129
|
* @param changeState Determines whether the `expanded` state should be changed with animation. Optional parameter.
|
|
113
130
|
*/
|
|
114
131
|
async setState(expanded) {
|
|
115
|
-
var _a;
|
|
132
|
+
var _a, _b;
|
|
133
|
+
if (this.disabled) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
116
136
|
if (expanded) {
|
|
117
137
|
this.expand();
|
|
118
|
-
this.
|
|
138
|
+
(_a = this.closeInputHtmlElement) === null || _a === void 0 ? void 0 : _a.classList.remove('hide');
|
|
119
139
|
}
|
|
120
140
|
else {
|
|
121
141
|
this.shrink();
|
|
122
|
-
(
|
|
142
|
+
(_b = this.closeInputHtmlElement) === null || _b === void 0 ? void 0 : _b.classList.add('hide');
|
|
123
143
|
}
|
|
124
144
|
}
|
|
125
145
|
/**
|
|
@@ -128,29 +148,35 @@ export class TetExpandableInput {
|
|
|
128
148
|
onBlur() {
|
|
129
149
|
this.setState(false);
|
|
130
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* The handler method for the focus event.
|
|
153
|
+
*/
|
|
154
|
+
onFocus() {
|
|
155
|
+
this.setState(true);
|
|
156
|
+
}
|
|
131
157
|
/**
|
|
132
158
|
* Event called once after component is fully loaded
|
|
133
159
|
*/
|
|
134
160
|
componentDidLoad() {
|
|
135
161
|
this.setupInput();
|
|
136
162
|
}
|
|
163
|
+
disconnectedCallback() {
|
|
164
|
+
this.inputHtmlElement.removeEventListener('keydown', this.handleCloseInputOnEsc);
|
|
165
|
+
this.inputHtmlElement.removeEventListener('input', this.handleHasInputValueState);
|
|
166
|
+
}
|
|
137
167
|
/**
|
|
138
|
-
* The method to handle input
|
|
168
|
+
* The method to handle input width.
|
|
139
169
|
*/
|
|
140
|
-
|
|
141
|
-
var _a
|
|
142
|
-
|
|
143
|
-
(
|
|
144
|
-
|
|
145
|
-
this.
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
if (['Enter', ' '].includes(e.key)) {
|
|
151
|
-
(_a = this.closeInputHtmlElement) === null || _a === void 0 ? void 0 : _a.classList.add('hide');
|
|
152
|
-
}
|
|
153
|
-
});
|
|
170
|
+
setupInputWidth() {
|
|
171
|
+
var _a;
|
|
172
|
+
const minWidth = componentSizes[this.size] / 16 + 'rem';
|
|
173
|
+
(_a = this.animation) === null || _a === void 0 ? void 0 : _a.cancel();
|
|
174
|
+
this.inputWrapper.style.width =
|
|
175
|
+
this.mode !== 'desktop-expanded' ? `${minWidth}` : `${getConvertedPixels(this.closedWidth) / 16}rem`;
|
|
176
|
+
}
|
|
177
|
+
handleInputEventListeners() {
|
|
178
|
+
this.inputHtmlElement.addEventListener('keydown', this.handleCloseInputOnEsc);
|
|
179
|
+
this.inputHtmlElement.addEventListener('input', this.handleHasInputValueState);
|
|
154
180
|
}
|
|
155
181
|
/**
|
|
156
182
|
* Expands the input to the width of the host element's width
|
|
@@ -186,8 +212,10 @@ export class TetExpandableInput {
|
|
|
186
212
|
// Await dom changes before animation.
|
|
187
213
|
setTimeout(async () => {
|
|
188
214
|
this.expanded = false;
|
|
215
|
+
this.clear();
|
|
216
|
+
const closedSize = componentSizes[this.size];
|
|
189
217
|
const animationStartWidth = this.inputWrapper.offsetWidth;
|
|
190
|
-
const animationEndWidth = this.mode
|
|
218
|
+
const animationEndWidth = this.mode !== 'desktop-expanded' ? closedSize : getConvertedPixels(this.closedWidth);
|
|
191
219
|
await this.animateWidth(animationStartWidth, animationEndWidth);
|
|
192
220
|
// Emit `expanded` state after animation.
|
|
193
221
|
this.afterStateChange.emit({
|
|
@@ -208,13 +236,14 @@ export class TetExpandableInput {
|
|
|
208
236
|
* Determines if the placeholder text and the action icon (right) must be rendered
|
|
209
237
|
*/
|
|
210
238
|
get renderInputContent() {
|
|
211
|
-
return this.expanded || this.mode === 'desktop';
|
|
239
|
+
return this.expanded || this.mode === 'desktop-expanded';
|
|
212
240
|
}
|
|
213
241
|
/**
|
|
214
242
|
* Clears input value.
|
|
215
243
|
*/
|
|
216
244
|
async clear() {
|
|
217
245
|
this.inputHtmlElement.querySelector('input').value = '';
|
|
246
|
+
this.hasInputValue = false;
|
|
218
247
|
}
|
|
219
248
|
/**
|
|
220
249
|
* Render close input button.
|
|
@@ -224,18 +253,19 @@ export class TetExpandableInput {
|
|
|
224
253
|
return (h("span", { class: {
|
|
225
254
|
'input-close': true,
|
|
226
255
|
'hide': true,
|
|
227
|
-
[this.theme]: true,
|
|
228
|
-
}, ref: (closeInputElement) => (this.closeInputHtmlElement = closeInputElement), tabindex: 0 }, this.closeInputText));
|
|
256
|
+
[this.darkMode ? 'dark' : this.theme]: true,
|
|
257
|
+
}, ref: (closeInputElement) => (this.closeInputHtmlElement = closeInputElement), tabindex: 0, role: "button", onClick: this.handleCloseButtonAction, onKeyDown: this.handleCloseButtonAction }, this.closeInputText));
|
|
229
258
|
}
|
|
230
259
|
return '';
|
|
231
260
|
}
|
|
232
261
|
render() {
|
|
233
|
-
return (h(Host, { key: '
|
|
262
|
+
return (h(Host, { key: '1a2dd7822beebbb1af6585649eca59de9d7f5ebd' }, h("div", { key: '0315f3cdf0c4201fdbbe1a2f8f0a3e1e0cbe8f50', class: {
|
|
234
263
|
container: true,
|
|
235
264
|
expanded: this.expanded,
|
|
236
265
|
[this.mode]: true,
|
|
237
|
-
dark: this.
|
|
238
|
-
|
|
266
|
+
[this.darkMode ? 'dark' : this.theme]: true,
|
|
267
|
+
[this.size]: true,
|
|
268
|
+
}, tabIndex: -1 }, h("div", { key: '7140d2a79ee3158c52fd5296e2a1d51ca04c8a82', class: "input-wrapper", ref: (element) => (this.inputWrapper = element), tabIndex: -1 }, h("tet-input", { key: '956656db0ac78f3c4b22913d35d75366fc6c2f09', class: "tet-input expandable", "input-class": this.class, "input-placeholder": this.renderInputContent ? this.placeholder : '', "accessibility-label": this.accessibilityLabel, "input-value": this.value, "input-disabled": this.disabled, error: this.error, "icon-left": this.iconLeft, "icon-right": this.hasInputValue && this.expanded ? this.iconRight : '', iconRightClickCallback: this.iconRightClickCallback, theme: this.darkMode ? 'dark' : this.theme, ref: (inputElement) => (this.inputHtmlElement = inputElement) }), this.closeButton))));
|
|
239
269
|
}
|
|
240
270
|
static get is() { return "tet-expandable-input"; }
|
|
241
271
|
static get encapsulation() { return "shadow"; }
|
|
@@ -287,24 +317,6 @@ export class TetExpandableInput {
|
|
|
287
317
|
"reflect": false,
|
|
288
318
|
"defaultValue": "''"
|
|
289
319
|
},
|
|
290
|
-
"type": {
|
|
291
|
-
"type": "string",
|
|
292
|
-
"mutable": false,
|
|
293
|
-
"complexType": {
|
|
294
|
-
"original": "string",
|
|
295
|
-
"resolved": "string",
|
|
296
|
-
"references": {}
|
|
297
|
-
},
|
|
298
|
-
"required": false,
|
|
299
|
-
"optional": false,
|
|
300
|
-
"docs": {
|
|
301
|
-
"tags": [],
|
|
302
|
-
"text": "The type of the input."
|
|
303
|
-
},
|
|
304
|
-
"attribute": "input-type",
|
|
305
|
-
"reflect": false,
|
|
306
|
-
"defaultValue": "'text'"
|
|
307
|
-
},
|
|
308
320
|
"value": {
|
|
309
321
|
"type": "string",
|
|
310
322
|
"mutable": false,
|
|
@@ -363,15 +375,15 @@ export class TetExpandableInput {
|
|
|
363
375
|
"type": "string",
|
|
364
376
|
"mutable": false,
|
|
365
377
|
"complexType": {
|
|
366
|
-
"original": "'mobile' | 'desktop'",
|
|
367
|
-
"resolved": "\"desktop\" | \"mobile\"",
|
|
378
|
+
"original": "'mobile' | 'desktop' | 'desktop-expanded'",
|
|
379
|
+
"resolved": "\"desktop\" | \"desktop-expanded\" | \"mobile\"",
|
|
368
380
|
"references": {}
|
|
369
381
|
},
|
|
370
382
|
"required": false,
|
|
371
383
|
"optional": false,
|
|
372
384
|
"docs": {
|
|
373
385
|
"tags": [],
|
|
374
|
-
"text": "The mode to render the component in.
|
|
386
|
+
"text": "The mode to render the component in. Affects the closed state and component height."
|
|
375
387
|
},
|
|
376
388
|
"attribute": "mode",
|
|
377
389
|
"reflect": false,
|
|
@@ -431,24 +443,6 @@ export class TetExpandableInput {
|
|
|
431
443
|
"reflect": false,
|
|
432
444
|
"defaultValue": "false"
|
|
433
445
|
},
|
|
434
|
-
"label": {
|
|
435
|
-
"type": "string",
|
|
436
|
-
"mutable": false,
|
|
437
|
-
"complexType": {
|
|
438
|
-
"original": "string",
|
|
439
|
-
"resolved": "string",
|
|
440
|
-
"references": {}
|
|
441
|
-
},
|
|
442
|
-
"required": false,
|
|
443
|
-
"optional": false,
|
|
444
|
-
"docs": {
|
|
445
|
-
"tags": [],
|
|
446
|
-
"text": "The value of the input label."
|
|
447
|
-
},
|
|
448
|
-
"attribute": "label",
|
|
449
|
-
"reflect": false,
|
|
450
|
-
"defaultValue": "''"
|
|
451
|
-
},
|
|
452
446
|
"iconLeft": {
|
|
453
447
|
"type": "string",
|
|
454
448
|
"mutable": false,
|
|
@@ -485,39 +479,6 @@ export class TetExpandableInput {
|
|
|
485
479
|
"reflect": false,
|
|
486
480
|
"defaultValue": "''"
|
|
487
481
|
},
|
|
488
|
-
"iconClosed": {
|
|
489
|
-
"type": "string",
|
|
490
|
-
"mutable": false,
|
|
491
|
-
"complexType": {
|
|
492
|
-
"original": "string",
|
|
493
|
-
"resolved": "string",
|
|
494
|
-
"references": {}
|
|
495
|
-
},
|
|
496
|
-
"required": false,
|
|
497
|
-
"optional": false,
|
|
498
|
-
"docs": {
|
|
499
|
-
"tags": [],
|
|
500
|
-
"text": "The name of the icon to show in case of closed state of the small mode"
|
|
501
|
-
},
|
|
502
|
-
"attribute": "icon-closed",
|
|
503
|
-
"reflect": false,
|
|
504
|
-
"defaultValue": "''"
|
|
505
|
-
},
|
|
506
|
-
"iconLeftClickCallback": {
|
|
507
|
-
"type": "unknown",
|
|
508
|
-
"mutable": false,
|
|
509
|
-
"complexType": {
|
|
510
|
-
"original": "() => void",
|
|
511
|
-
"resolved": "() => void",
|
|
512
|
-
"references": {}
|
|
513
|
-
},
|
|
514
|
-
"required": false,
|
|
515
|
-
"optional": true,
|
|
516
|
-
"docs": {
|
|
517
|
-
"tags": [],
|
|
518
|
-
"text": "The callback function of the click event for the left icon."
|
|
519
|
-
}
|
|
520
|
-
},
|
|
521
482
|
"iconRightClickCallback": {
|
|
522
483
|
"type": "unknown",
|
|
523
484
|
"mutable": false,
|
|
@@ -577,8 +538,8 @@ export class TetExpandableInput {
|
|
|
577
538
|
"type": "string",
|
|
578
539
|
"mutable": false,
|
|
579
540
|
"complexType": {
|
|
580
|
-
"original": "'
|
|
581
|
-
"resolved": "\"
|
|
541
|
+
"original": "'light' | 'dark'",
|
|
542
|
+
"resolved": "\"dark\" | \"light\"",
|
|
582
543
|
"references": {}
|
|
583
544
|
},
|
|
584
545
|
"required": false,
|
|
@@ -589,15 +550,21 @@ export class TetExpandableInput {
|
|
|
589
550
|
},
|
|
590
551
|
"attribute": "theme",
|
|
591
552
|
"reflect": false,
|
|
592
|
-
"defaultValue": "'
|
|
553
|
+
"defaultValue": "'light'"
|
|
593
554
|
},
|
|
594
555
|
"size": {
|
|
595
556
|
"type": "string",
|
|
596
557
|
"mutable": false,
|
|
597
558
|
"complexType": {
|
|
598
|
-
"original": "
|
|
559
|
+
"original": "TetExpandableInputSize",
|
|
599
560
|
"resolved": "\"default\" | \"small\"",
|
|
600
|
-
"references": {
|
|
561
|
+
"references": {
|
|
562
|
+
"TetExpandableInputSize": {
|
|
563
|
+
"location": "local",
|
|
564
|
+
"path": "/__w/internal-tet-web-components-tet-components/internal-tet-web-components-tet-components/src/src/components/simple/inputs/tet-expandable-input/tet-expandable-input.tsx",
|
|
565
|
+
"id": "src/components/simple/inputs/tet-expandable-input/tet-expandable-input.tsx::TetExpandableInputSize"
|
|
566
|
+
}
|
|
567
|
+
}
|
|
601
568
|
},
|
|
602
569
|
"required": false,
|
|
603
570
|
"optional": false,
|
|
@@ -638,7 +605,10 @@ export class TetExpandableInput {
|
|
|
638
605
|
"required": false,
|
|
639
606
|
"optional": false,
|
|
640
607
|
"docs": {
|
|
641
|
-
"tags": [
|
|
608
|
+
"tags": [{
|
|
609
|
+
"name": "deprecated",
|
|
610
|
+
"text": "Use `theme = \"dark\"` instead."
|
|
611
|
+
}],
|
|
642
612
|
"text": "The prop for dark mode."
|
|
643
613
|
},
|
|
644
614
|
"attribute": "dark-mode",
|
|
@@ -649,7 +619,8 @@ export class TetExpandableInput {
|
|
|
649
619
|
}
|
|
650
620
|
static get states() {
|
|
651
621
|
return {
|
|
652
|
-
"expanded": {}
|
|
622
|
+
"expanded": {},
|
|
623
|
+
"hasInputValue": {}
|
|
653
624
|
};
|
|
654
625
|
}
|
|
655
626
|
static get events() {
|
|
@@ -805,6 +776,9 @@ export class TetExpandableInput {
|
|
|
805
776
|
return [{
|
|
806
777
|
"propName": "mode",
|
|
807
778
|
"methodName": "onModeChange"
|
|
779
|
+
}, {
|
|
780
|
+
"propName": "size",
|
|
781
|
+
"methodName": "onSizeChange"
|
|
808
782
|
}];
|
|
809
783
|
}
|
|
810
784
|
static get listeners() {
|
|
@@ -814,6 +788,12 @@ export class TetExpandableInput {
|
|
|
814
788
|
"target": undefined,
|
|
815
789
|
"capture": false,
|
|
816
790
|
"passive": false
|
|
791
|
+
}, {
|
|
792
|
+
"name": "focus",
|
|
793
|
+
"method": "onFocus",
|
|
794
|
+
"target": undefined,
|
|
795
|
+
"capture": false,
|
|
796
|
+
"passive": false
|
|
817
797
|
}];
|
|
818
798
|
}
|
|
819
799
|
}
|
|
@@ -7146,7 +7146,7 @@
|
|
|
7146
7146
|
--tc-alert-colorwave-warning-dark: var(--tc-yellow-10-dark);
|
|
7147
7147
|
--tc-alert-colorwave-error-dark: var(--tc-red-10-dark);
|
|
7148
7148
|
--tc-alert-colorwave-neutral-dark: var(--tc-violet-10-dark);
|
|
7149
|
-
--tc-modal-primary-dark: var(--tc-grey-
|
|
7149
|
+
--tc-modal-primary-dark: var(--tc-grey-minus-10-dark);
|
|
7150
7150
|
--tc-gradient-green-lin1-dark: rgba(32, 60, 46, 1);
|
|
7151
7151
|
--tc-gradient-green-lin2-dark: rgba(19, 41, 10, 1);
|
|
7152
7152
|
--tc-gradient-green-accent-dark: rgba(19, 41, 10, 1);
|
|
@@ -23,7 +23,7 @@ describe('tet-dialog', () => {
|
|
|
23
23
|
<tet-dialog is-open="">
|
|
24
24
|
<mock:shadow-root>
|
|
25
25
|
<dialog>
|
|
26
|
-
<div part="overlay" class="dialog__overlay dialog__overlay--visible">
|
|
26
|
+
<div part="overlay" class="dialog--theme-classic dialog__overlay dialog__overlay--visible">
|
|
27
27
|
<div part="dialog" class="dialog dialog--theme-classic" aria-labelledby="dialog-title" >
|
|
28
28
|
<div part="header" class="dialog__header">
|
|
29
29
|
<slot name="header">
|
|
@@ -55,7 +55,7 @@ describe('tet-dialog', () => {
|
|
|
55
55
|
<tet-dialog is-open="">
|
|
56
56
|
<mock:shadow-root>
|
|
57
57
|
<dialog>
|
|
58
|
-
<div part="overlay" class="dialog__overlay dialog__overlay--visible">
|
|
58
|
+
<div part="overlay" class="dialog--theme-classic dialog__overlay dialog__overlay--visible">
|
|
59
59
|
<div part="dialog" class="dialog dialog--theme-classic" aria-labelledby="dialog-title" >
|
|
60
60
|
<div part="header" class="dialog__header">
|
|
61
61
|
<slot name="header">
|
|
@@ -360,6 +360,7 @@
|
|
|
360
360
|
* @prop --dialog-title-font-size: The font size of the modal title.
|
|
361
361
|
* @prop --dialog-text-color: The text color of the modal.
|
|
362
362
|
* @prop --dialog-background-color: The background color of the modal.
|
|
363
|
+
* @prop --dialog-overlay-color: The overlay color of the modal.
|
|
363
364
|
* @prop --dialog-footer-border-color: The top border color of the modal footer.
|
|
364
365
|
*
|
|
365
366
|
* @prop --dialog-close-icon-color: The color of the dialog close icon.
|
|
@@ -375,7 +376,8 @@
|
|
|
375
376
|
--dialog-align-items: flex-start;
|
|
376
377
|
--dialog-title-font-size: 1.25rem;
|
|
377
378
|
--dialog-text-color: var(--tc-text-primary);
|
|
378
|
-
--dialog-background-color: var(--tc-
|
|
379
|
+
--dialog-background-color: var(--tc-modal-primary);
|
|
380
|
+
--dialog-overlay-color: rgba(18, 19, 21, 0.40);
|
|
379
381
|
--dialog-footer-border-color: var(--tc-border-quaternary);
|
|
380
382
|
--dialog-close-icon-color: var(--tc-icon-primary);
|
|
381
383
|
--dialog-close-icon-background-hover-color: var(--tc-menu-item-hover);
|
|
@@ -410,7 +412,8 @@ dialog .dialog:focus-visible {
|
|
|
410
412
|
}
|
|
411
413
|
dialog .dialog--theme-dark {
|
|
412
414
|
--dialog-text-color: var(--tc-text-primary-dark);
|
|
413
|
-
--dialog-background-color: var(--tc-
|
|
415
|
+
--dialog-background-color: var(--tc-modal-primary-dark);
|
|
416
|
+
--dialog-overlay-color: rgba(38, 41, 44, 0.40);
|
|
414
417
|
--dialog-footer-border-color: var(--tc-border-quaternary-dark);
|
|
415
418
|
--dialog-close-icon-color: var(--tc-icon-primary-dark);
|
|
416
419
|
--dialog-close-icon-background-hover-color: var(--tc-menu-item-hover-dark);
|
|
@@ -425,6 +428,7 @@ dialog .dialog--theme-dark .dialog__close-button:focus-visible {
|
|
|
425
428
|
dialog .dialog--theme-dark-secondary {
|
|
426
429
|
--dialog-text-color: rgb(255, 255, 255);
|
|
427
430
|
--dialog-background-color: rgb(35, 40, 46);
|
|
431
|
+
--dialog-overlay-color: rgba(38, 41, 44, 0.40);
|
|
428
432
|
--dialog-footer-border-color: rgb(67, 75, 86);
|
|
429
433
|
--dialog-close-icon-color: var(--dialog-text-color);
|
|
430
434
|
--dialog-close-icon-background-hover-color: var(--tc-menu-item-hover-dark);
|
|
@@ -441,7 +445,7 @@ dialog .dialog__overlay {
|
|
|
441
445
|
align-items: center;
|
|
442
446
|
justify-content: center;
|
|
443
447
|
padding: var(--dialog-overlay-padding);
|
|
444
|
-
background:
|
|
448
|
+
background: var(--dialog-overlay-color);
|
|
445
449
|
opacity: 0;
|
|
446
450
|
visibility: hidden;
|
|
447
451
|
}
|
|
@@ -117,7 +117,11 @@ export class TetDialog {
|
|
|
117
117
|
}
|
|
118
118
|
render() {
|
|
119
119
|
const { isOpen, theme, footerDisplay, handleClickOverlay } = this;
|
|
120
|
-
return (h(Host, { key: 'c86d9fb6b40169952c74ba86183ac3b305c95a46' }, h("dialog", { key: '6f58cb89c2d97ed7c4712683a5afab118f19a0f8', ref: (el) => (this.dialogContainer = el) }, h("div", { key: '
|
|
120
|
+
return (h(Host, { key: 'c86d9fb6b40169952c74ba86183ac3b305c95a46' }, h("dialog", { key: '6f58cb89c2d97ed7c4712683a5afab118f19a0f8', ref: (el) => (this.dialogContainer = el) }, h("div", { key: 'dcbbcd9b24325531a2f9307ee286df93e6698183', part: "overlay", class: {
|
|
121
|
+
'dialog__overlay': true,
|
|
122
|
+
'dialog__overlay--visible': isOpen,
|
|
123
|
+
[`dialog--theme-${theme}`]: true
|
|
124
|
+
}, onClick: handleClickOverlay }, h("div", { key: 'ff1b6bb76336de706f4cefd7b120bdee6a673591', part: "dialog", class: { dialog: true, [`dialog--theme-${theme}`]: true }, "aria-labelledby": this.hideHeader ? null : this.titleId }, this.renderHeader(), h("div", { key: 'b3afc812bd78aff2051cc9eba008b2d018325ea5', part: "body", class: "dialog__body" }, h("slot", { key: 'c76ee1d333f984e16cc18944a370db676e4ace99' })), h("div", { key: 'b11f8656508c10fb42010367e0fa52a3a777c195', part: "footer", class: { dialog__footer: true, [`dialog__footer--${footerDisplay}`]: true } }, h("slot", { key: 'd82c8d1d5942c27cdcad791197e4f6c6a424ef7b', name: "footer" })))))));
|
|
121
125
|
}
|
|
122
126
|
static get is() { return "tet-dialog"; }
|
|
123
127
|
static get encapsulation() { return "shadow"; }
|
|
@@ -11,10 +11,11 @@ import { throttle } from "./throttle";
|
|
|
11
11
|
import { executeUntil } from "./execute-until";
|
|
12
12
|
import { intersection } from "./array";
|
|
13
13
|
import { waitForElement } from "./wait-for-element";
|
|
14
|
+
import { isFocusableElementOrChild } from "./isFocusableElementOrChild";
|
|
14
15
|
// Utility classes
|
|
15
16
|
import { InertiaScroll } from "./inertia-scroll";
|
|
16
17
|
export {
|
|
17
18
|
// Utility functions
|
|
18
|
-
debounce, debounceAsync, throttle, normalize, capitalize, reactive, isPromise, isObject, isFunction, isEmpty, isUndefinedOrNull, flatten, randomString, convertRemToPx, getRemSize, getConvertedPixels, formatPrice, executeUntil, intersection, waitForElement,
|
|
19
|
+
debounce, debounceAsync, throttle, normalize, capitalize, reactive, isPromise, isObject, isFunction, isEmpty, isUndefinedOrNull, flatten, randomString, convertRemToPx, getRemSize, getConvertedPixels, formatPrice, executeUntil, intersection, waitForElement, isFocusableElementOrChild,
|
|
19
20
|
// Utility classes
|
|
20
21
|
InertiaScroll, };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines if the given element or any of its descendants (including shadow DOM) is focusable.
|
|
3
|
+
* Used to decide whether a tabpanel should receive a tabindex for keyboard navigation.
|
|
4
|
+
*/
|
|
5
|
+
const focusableSelectors = [
|
|
6
|
+
'a[href]',
|
|
7
|
+
'button:not([disabled])',
|
|
8
|
+
'input:not([disabled])',
|
|
9
|
+
'select:not([disabled])',
|
|
10
|
+
'textarea:not([disabled])',
|
|
11
|
+
'iframe',
|
|
12
|
+
'[tabindex]:not([tabindex="-1"])',
|
|
13
|
+
'audio[controls]',
|
|
14
|
+
'video[controls]',
|
|
15
|
+
'[contenteditable]'
|
|
16
|
+
];
|
|
17
|
+
const isFocusable = (element) => {
|
|
18
|
+
return element.matches(focusableSelectors.join(','));
|
|
19
|
+
};
|
|
20
|
+
const isFocusableElementOrChild = (element) => {
|
|
21
|
+
if (!element)
|
|
22
|
+
return false;
|
|
23
|
+
// If element itself is focusable
|
|
24
|
+
if (isFocusable(element))
|
|
25
|
+
return true;
|
|
26
|
+
// If element has shadow root, check inside it
|
|
27
|
+
if (element instanceof HTMLElement && element.shadowRoot) {
|
|
28
|
+
const focusableElements = element.shadowRoot.querySelectorAll(focusableSelectors.join(','));
|
|
29
|
+
if (focusableElements.length > 0)
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
// Check children recursively
|
|
33
|
+
for (const child of Array.from(element.children)) {
|
|
34
|
+
if (isFocusableElementOrChild(child)) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
};
|
|
40
|
+
export { isFocusableElementOrChild };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { newSpecPage } from "@stencil/core/testing";
|
|
2
|
+
import { isFocusableElementOrChild } from "./isFocusableElementOrChild";
|
|
3
|
+
import { TetButton } from "../../components/basic/buttons/tet-button/tet-button";
|
|
4
|
+
import { TetContainer } from "../../components/basic/container/tet-container/tet-container";
|
|
5
|
+
fdescribe('isFocusableElementOrChild', () => {
|
|
6
|
+
it('returns false for null', () => {
|
|
7
|
+
expect(isFocusableElementOrChild(null)).toBe(false);
|
|
8
|
+
});
|
|
9
|
+
it('returns true for a focusable element (button)', () => {
|
|
10
|
+
const btn = document.createElement('button');
|
|
11
|
+
expect(isFocusableElementOrChild(btn)).toBe(true);
|
|
12
|
+
});
|
|
13
|
+
it('returns true for a focusable element (input)', () => {
|
|
14
|
+
const input = document.createElement('input');
|
|
15
|
+
expect(isFocusableElementOrChild(input)).toBe(true);
|
|
16
|
+
});
|
|
17
|
+
it('returns false for a non-focusable element (div)', () => {
|
|
18
|
+
const div = document.createElement('div');
|
|
19
|
+
expect(isFocusableElementOrChild(div)).toBe(false);
|
|
20
|
+
});
|
|
21
|
+
it('returns true for a non-focusable parent with a focusable child', () => {
|
|
22
|
+
const div = document.createElement('div');
|
|
23
|
+
const btn = document.createElement('button');
|
|
24
|
+
div.appendChild(btn);
|
|
25
|
+
expect(isFocusableElementOrChild(div)).toBe(true);
|
|
26
|
+
});
|
|
27
|
+
it('returns false for a disabled button', () => {
|
|
28
|
+
const btn = document.createElement('button');
|
|
29
|
+
btn.setAttribute('disabled', '');
|
|
30
|
+
expect(isFocusableElementOrChild(btn)).toBe(false);
|
|
31
|
+
});
|
|
32
|
+
it('returns true for an element with tabindex="0"', () => {
|
|
33
|
+
const div = document.createElement('div');
|
|
34
|
+
div.setAttribute('tabindex', '0');
|
|
35
|
+
expect(isFocusableElementOrChild(div)).toBe(true);
|
|
36
|
+
});
|
|
37
|
+
it('returns false for an element with tabindex="-1"', () => {
|
|
38
|
+
const div = document.createElement('div');
|
|
39
|
+
div.setAttribute('tabindex', '-1');
|
|
40
|
+
expect(isFocusableElementOrChild(div)).toBe(false);
|
|
41
|
+
});
|
|
42
|
+
it('returns true for a focusable element inside shadow DOM', async () => {
|
|
43
|
+
const page = await newSpecPage({
|
|
44
|
+
components: [TetButton],
|
|
45
|
+
html: `<tet-button></tet-button>`
|
|
46
|
+
});
|
|
47
|
+
expect(isFocusableElementOrChild(page.root)).toBe(true);
|
|
48
|
+
});
|
|
49
|
+
it('returns false for a non-focusable element inside shadow DOM', async () => {
|
|
50
|
+
const page = await newSpecPage({
|
|
51
|
+
components: [TetContainer],
|
|
52
|
+
html: `<tet-container></tet-container>`
|
|
53
|
+
});
|
|
54
|
+
expect(isFocusableElementOrChild(page.root)).toBe(false);
|
|
55
|
+
});
|
|
56
|
+
it('returns false for a non-focusable element with non-focusable children', () => {
|
|
57
|
+
const div = document.createElement('div');
|
|
58
|
+
const span = document.createElement('span');
|
|
59
|
+
div.appendChild(span);
|
|
60
|
+
expect(isFocusableElementOrChild(div)).toBe(false);
|
|
61
|
+
});
|
|
62
|
+
it('returns true for a contenteditable element', () => {
|
|
63
|
+
const div = document.createElement('div');
|
|
64
|
+
div.setAttribute('contenteditable', 'true');
|
|
65
|
+
expect(isFocusableElementOrChild(div)).toBe(true);
|
|
66
|
+
});
|
|
67
|
+
});
|
package/dist/components/index.js
CHANGED
|
@@ -88,7 +88,7 @@ import { TetThankYouViewV3 } from './tet-thank-you-view-v3.js';
|
|
|
88
88
|
import { TetTooltip } from './tet-tooltip.js';
|
|
89
89
|
import { TetTvGiftBlock } from './tet-tv-gift-block.js';
|
|
90
90
|
import { TetTvGiftList } from './tet-tv-gift-list.js';
|
|
91
|
-
export { g as getAssetPath, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-
|
|
91
|
+
export { g as getAssetPath, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-599035b8.js';
|
|
92
92
|
|
|
93
93
|
const defineCustomElements = (opts) => {
|
|
94
94
|
if (typeof customElements !== 'undefined') {
|