@ptcwebops/ptcw-design 6.4.7-beta → 6.4.7
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/blog-detail-content_2.cjs.entry.js +1 -1
- package/dist/cjs/blogs-search-section.cjs.entry.js +1 -4
- package/dist/cjs/bundle-example.cjs.entry.js +1 -1
- package/dist/cjs/buying-option-card.cjs.entry.js +1 -1
- package/dist/cjs/buying-option-cards-slider.cjs.entry.js +43 -1
- package/dist/cjs/{component-6a178a16.js → component-06dda623.js} +1494 -3305
- package/dist/cjs/component-5b5b6a98.js +1819 -0
- package/dist/cjs/dynamic-box-bundle.cjs.entry.js +1 -3
- package/dist/cjs/event-podcast-slider-example.cjs.entry.js +1 -1
- package/dist/cjs/featured-events-slider-example.cjs.entry.js +1 -1
- package/dist/cjs/featured-list.cjs.entry.js +1 -1
- package/dist/cjs/homepage-jumbotron.cjs.entry.js +1 -1
- package/dist/cjs/homepage-toggled-content.cjs.entry.js +2 -4
- package/dist/cjs/innovator-toggle-container.cjs.entry.js +1 -1
- package/dist/cjs/jumbotron-sub-menu.cjs.entry.js +1 -1
- package/dist/cjs/list-item.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/ptc-announcement.cjs.entry.js +2 -3
- package/dist/cjs/ptc-back-to-top.cjs.entry.js +1 -1
- package/dist/cjs/ptc-background-video.cjs.entry.js +1 -1
- package/dist/cjs/ptc-bio-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-card-bottom_2.cjs.entry.js +1 -3
- package/dist/cjs/ptc-card_2.cjs.entry.js +5 -6
- package/dist/cjs/ptc-case-studies-slider.cjs.entry.js +1 -1
- package/dist/cjs/ptc-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/ptc-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/ptc-close-icon_2.cjs.entry.js +24 -24
- package/dist/cjs/ptc-collapse-list.cjs.entry.js +1 -1
- package/dist/cjs/ptc-data-lookup.cjs.entry.js +2 -1
- package/dist/cjs/ptc-ellipsis-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/ptc-featured-list.cjs.entry.js +1 -1
- package/dist/cjs/ptc-filter-dropdown_4.cjs.entry.js +1 -1
- package/dist/cjs/ptc-filter-level-theater.cjs.entry.js +1 -1
- package/dist/cjs/ptc-footer.cjs.entry.js +1 -1
- package/dist/cjs/{ptc-form-checkbox_4.cjs.entry.js → ptc-form-checkbox_2.cjs.entry.js} +6 -724
- package/dist/cjs/ptc-form-radio-button.cjs.entry.js +1 -1
- package/dist/cjs/ptc-homepage-image-feature.cjs.entry.js +1 -1
- package/dist/cjs/ptc-icon-card-slider-example.cjs.entry.js +1 -1
- package/dist/cjs/ptc-icon-component.cjs.entry.js +1 -1
- package/dist/cjs/ptc-image-download-strip.cjs.entry.js +1 -1
- package/dist/cjs/ptc-img.cjs.entry.js +7 -87
- package/dist/cjs/ptc-info-tile.cjs.entry.js +1 -1
- package/dist/cjs/ptc-inline-cta.cjs.entry.js +1 -1
- package/dist/cjs/ptc-jumbotron.cjs.entry.js +5 -11
- package/dist/cjs/ptc-link.cjs.entry.js +1 -1
- package/dist/cjs/ptc-media-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-minimized-nav.cjs.entry.js +1 -1
- package/dist/cjs/ptc-modal-quiz.cjs.entry.js +2 -5
- package/dist/cjs/ptc-multi-select_2.cjs.entry.js +730 -0
- package/dist/cjs/ptc-nav-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-nav-submenu.cjs.entry.js +1 -1
- package/dist/cjs/ptc-office-location-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-office-locations.cjs.entry.js +1 -1
- package/dist/cjs/ptc-para.cjs.entry.js +1 -1
- package/dist/cjs/ptc-picture.cjs.entry.js +18 -1
- package/dist/cjs/ptc-podcast-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-preloader.cjs.entry.js +1 -1
- package/dist/cjs/ptc-previous-url.cjs.entry.js +2 -11
- package/dist/cjs/ptc-pricing-packaging-table.cjs.entry.js +10 -26
- package/dist/cjs/ptc-pricing-tabs.cjs.entry.js +2 -2
- package/dist/cjs/ptc-product-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-product-category.cjs.entry.js +1 -1
- package/dist/cjs/ptc-product-highlight-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-quantity-counter.cjs.entry.js +1 -1
- package/dist/cjs/ptc-readmore-char.cjs.entry.js +1 -1
- package/dist/cjs/ptc-readmore-v3.cjs.entry.js +1 -1
- package/dist/cjs/ptc-related-card-rail.cjs.entry.js +1 -1
- package/dist/cjs/ptc-search-field.cjs.entry.js +1 -1
- package/dist/cjs/ptc-slit-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-social-icons.cjs.entry.js +1 -1
- package/dist/cjs/ptc-subnav-v2.cjs.entry.js +430 -0
- package/dist/cjs/ptc-svg-btn.cjs.entry.js +1 -1
- package/dist/cjs/ptc-text-copy-with-background.cjs.entry.js +1 -1
- package/dist/cjs/ptc-theater-video-modal.cjs.entry.js +1 -1
- package/dist/cjs/ptc-tooltip-v2.cjs.entry.js +1 -1
- package/dist/cjs/ptc-value-led-speed-bump.cjs.entry.js +1 -1
- package/dist/cjs/ptc-white-paper.cjs.entry.js +9 -19
- package/dist/cjs/ptcw-design.cjs.js +1 -1
- package/dist/cjs/sequential-bundle-example.cjs.entry.js +1 -1
- package/dist/cjs/storefront-enhanced-product-list-alt-example.cjs.entry.js +1 -1
- package/dist/cjs/storefront-enhanced-product-list-example.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/buying-option-card/buying-option-card.css +11 -10
- package/dist/collection/components/buying-option-cards-slider/buying-option-cards-slider.css +25 -19
- package/dist/collection/components/buying-option-cards-slider/buying-option-cards-slider.js +42 -0
- package/dist/collection/components/dynamic-box-bundle/dynamic-box-bundle.js +1 -3
- package/dist/collection/components/icon-asset/media/designer-v6.0.7.svg +2 -30
- package/dist/collection/components/innovator-toggle-container/innovator-toggle-container.css +2 -25
- package/dist/collection/components/jumbotron-sub-menu/jumbotron-sub-menu.css +1 -0
- package/dist/collection/components/list-item/list-item.css +2 -1
- package/dist/collection/components/organism-bundles/blog-detail-content/blog-detail-content.css +1 -0
- package/dist/collection/components/organism-bundles/blogs-search-section/blogs-search-section.js +1 -4
- package/dist/collection/components/organism-bundles/bundle-example/bundle-example.css +1 -1
- package/dist/collection/components/organism-bundles/bundle-featured-list/featured-list.css +383 -263
- package/dist/collection/components/organism-bundles/bundle-featured-list/featured-list.js +1 -1
- package/dist/collection/components/organism-bundles/event-podcast-slider-example/event-podcast-slider-example.css +13 -17
- package/dist/collection/components/organism-bundles/featured-events-slider-example/featured-events-slider-example.css +13 -17
- package/dist/collection/components/organism-bundles/homepage-jumbotron/homepage-jumbotron.css +11 -16
- package/dist/collection/components/organism-bundles/homepage-toggled-content/homepage-toggled-content.css +2 -1
- package/dist/collection/components/organism-bundles/homepage-toggled-content/homepage-toggled-content.js +1 -3
- package/dist/collection/components/organism-bundles/ptc-icon-card-slider-example/ptc-icon-card-slider-example.css +11 -16
- package/dist/collection/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.css +11 -16
- package/dist/collection/components/organism-bundles/storefront-enhanced-product-list-example/storefront-enhanced-product-list-example.css +12 -16
- package/dist/collection/components/ptc-announcement/ptc-announcement.css +0 -2
- package/dist/collection/components/ptc-announcement/ptc-announcement.js +1 -2
- package/dist/collection/components/ptc-back-to-top/ptc-back-to-top.css +1 -0
- package/dist/collection/components/ptc-background-video/ptc-background-video.css +8 -4
- package/dist/collection/components/ptc-bio-card/ptc-bio-card.css +4 -26
- package/dist/collection/components/ptc-card/ptc-card.css +4 -40
- package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.js +1 -3
- package/dist/collection/components/ptc-case-studies-slider/ptc-case-studies-slider.css +11 -40
- package/dist/collection/components/ptc-checkbox/ptc-checkbox.css +3 -1
- package/dist/collection/components/ptc-checkbox-group/ptc-checkbox-group.css +3 -1
- package/dist/collection/components/ptc-collapse-list/ptc-collapse-list.css +3 -0
- package/dist/collection/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.css +2 -0
- package/dist/collection/components/ptc-featured-list/ptc-featured-list.css +0 -24
- package/dist/collection/components/ptc-filter-dropdown/ptc-filter-dropdown.css +3 -4
- package/dist/collection/components/ptc-filter-level-theater/ptc-filter-level-theater.css +1 -29
- package/dist/collection/components/ptc-footer/ptc-footer-v2.css +3 -0
- package/dist/collection/components/ptc-form-radio-button/ptc-form-radio-button.css +2 -0
- package/dist/collection/components/ptc-homepage-image-feature/ptc-homepage-image-feature.css +1 -0
- package/dist/collection/components/ptc-icon-component/ptc-icon-component.css +11 -16
- package/dist/collection/components/ptc-image-download-strip/ptc-image-download-strip.css +0 -1
- package/dist/collection/components/ptc-img/ptc-img.css +0 -76
- package/dist/collection/components/ptc-img/ptc-img.js +7 -132
- package/dist/collection/components/ptc-info-tile/ptc-info-tile.css +2 -1
- package/dist/collection/components/ptc-inline-cta/ptc-inline-cta.css +3 -0
- package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.css +38 -38
- package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.js +4 -28
- package/dist/collection/components/ptc-link/ptc-link.css +2 -1
- package/dist/collection/components/ptc-media-card/ptc-media-card.css +4 -2
- package/dist/collection/components/ptc-minimized-nav/ptc-minimized-nav.css +0 -6
- package/dist/collection/components/ptc-modal/ptc-modal.css +2 -5
- package/dist/collection/components/ptc-modal/ptc-modal.js +25 -25
- package/dist/collection/components/ptc-modal-quiz/ptc-modal-quiz.css +2 -0
- package/dist/collection/components/ptc-modal-quiz/ptc-modal-quiz.js +1 -4
- package/dist/collection/components/ptc-multi-select/ptc-multi-select.css +4 -1
- package/dist/collection/components/ptc-nav-card/ptc-nav-card.css +0 -34
- package/dist/collection/components/ptc-office-location-card/ptc-office-location-card.css +2 -0
- package/dist/collection/components/ptc-office-locations/ptc-office-locations.css +3 -3
- package/dist/collection/components/ptc-para/ptc-para.css +0 -3
- package/dist/collection/components/ptc-para/ptc-para.js +2 -2
- package/dist/collection/components/ptc-picture/ptc-picture.css +14 -7
- package/dist/collection/components/ptc-picture/ptc-picture.js +40 -0
- package/dist/collection/components/ptc-podcast-card/ptc-podcast-card.css +0 -49
- package/dist/collection/components/ptc-preloader/ptc-preloader.css +111 -147
- package/dist/collection/components/ptc-preloader/ptc-preloader.js +1 -1
- package/dist/collection/components/ptc-preloader-section/ptc-preloader-section.css +21 -9
- package/dist/collection/components/ptc-preloader-section/ptc-preloader-section.js +3 -4
- package/dist/collection/components/ptc-previous-url/ptc-previous-url.css +0 -16
- package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +1 -28
- package/dist/collection/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.css +1 -0
- package/dist/collection/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.js +9 -25
- package/dist/collection/components/ptc-pricing-tabs/ptc-pricing-tabs.css +28 -12
- package/dist/collection/components/ptc-pricing-tabs/ptc-pricing-tabs.js +1 -1
- package/dist/collection/components/ptc-product-card/ptc-product-card.css +0 -24
- package/dist/collection/components/ptc-product-category/ptc-product-category.css +0 -24
- package/dist/collection/components/ptc-product-highlight-card/ptc-product-highlight-card.css +0 -24
- package/dist/collection/components/ptc-quantity-counter/ptc-quantity-counter.css +3 -1
- package/dist/collection/components/ptc-readmore-char/ptc-readmore-char.css +0 -24
- package/dist/collection/components/ptc-readmore-v3/ptc-readmore-v3.css +0 -24
- package/dist/collection/components/ptc-related-card-rail/ptc-related-card-rail.css +2 -1
- package/dist/collection/components/ptc-search-field/ptc-search-field.css +13 -0
- package/dist/collection/components/ptc-seo-title/ptc-seo-title.js +3 -3
- package/dist/collection/components/ptc-slit-card/ptc-slit-card.css +0 -8
- package/dist/collection/components/ptc-social-icons/ptc-social-icons.css +1 -0
- package/dist/collection/components/ptc-subnav-v2/ptc-subnav-v2.css +396 -0
- package/dist/collection/components/ptc-subnav-v2/ptc-subnav-v2.js +483 -0
- package/dist/collection/components/ptc-svg-btn/ptc-svg-btn.css +0 -16
- package/dist/collection/components/ptc-text-copy-with-background/ptc-text-copy-with-background.css +0 -2
- package/dist/collection/components/ptc-textfield/ptc-textfield.css +11 -1
- package/dist/collection/components/ptc-textfield/ptc-textfield.js +5 -3
- package/dist/collection/components/ptc-theater-video-modal/ptc-theater-video-modal.css +1 -25
- package/dist/collection/components/ptc-tooltip-v2/ptc-tooltip-v2.css +1 -24
- package/dist/collection/components/ptc-value-led-speed-bump/ptc-value-led-speed-bump.css +0 -24
- package/dist/collection/components/ptc-white-paper/ptc-white-paper.css +3 -54
- package/dist/collection/components/ptc-white-paper/ptc-white-paper.js +8 -18
- package/dist/collection/components/subnav/ptc-nav-submenu/ptc-nav-submenu.css +2 -1
- package/dist/collection/stories/organisms/ptc/Buying Options Cards Slider/preview.stories.js +7 -6
- package/dist/collection/stories/organisms/ptc/Subnav New/preview.stories.js +360 -0
- package/dist/custom-elements/index.d.ts +6 -6
- package/dist/custom-elements/index.js +629 -381
- package/dist/esm/blog-detail-content_2.entry.js +2 -2
- package/dist/esm/blog-detail-layout.entry.js +1 -1
- package/dist/esm/blogs-search-section.entry.js +2 -5
- package/dist/esm/bundle-example.entry.js +1 -1
- package/dist/esm/buying-option-card.entry.js +1 -1
- package/dist/esm/buying-option-cards-slider.entry.js +43 -1
- package/dist/esm/{component-80f298b4.js → component-274da230.js} +1482 -3281
- package/dist/esm/component-341e4eaa.js +1802 -0
- package/dist/esm/dynamic-box-bundle.entry.js +1 -3
- package/dist/esm/event-podcast-slider-example.entry.js +1 -1
- package/dist/esm/featured-events-slider-example.entry.js +1 -1
- package/dist/esm/featured-list.entry.js +1 -1
- package/dist/esm/homepage-jumbotron.entry.js +2 -2
- package/dist/esm/homepage-toggled-content.entry.js +3 -5
- package/dist/esm/innovator-toggle-container.entry.js +2 -2
- package/dist/esm/jumbotron-sub-menu.entry.js +1 -1
- package/dist/esm/list-item.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/most-popular-news.entry.js +1 -1
- package/dist/esm/my-component.entry.js +1 -1
- package/dist/esm/ptc-accordion-item.entry.js +1 -1
- package/dist/esm/ptc-announcement.entry.js +2 -3
- package/dist/esm/ptc-back-to-top.entry.js +1 -1
- package/dist/esm/ptc-background-video.entry.js +2 -2
- package/dist/esm/ptc-bio-card.entry.js +1 -1
- package/dist/esm/ptc-button.entry.js +1 -1
- package/dist/esm/ptc-card-bottom_2.entry.js +1 -3
- package/dist/esm/ptc-card_2.entry.js +5 -6
- package/dist/esm/ptc-case-studies-slider.entry.js +1 -1
- package/dist/esm/ptc-checkbox-group.entry.js +1 -1
- package/dist/esm/ptc-checkbox.entry.js +1 -1
- package/dist/esm/ptc-close-icon_2.entry.js +24 -24
- package/dist/esm/ptc-collapse-list.entry.js +2 -2
- package/dist/esm/ptc-data-lookup.entry.js +2 -1
- package/dist/esm/ptc-ellipsis-dropdown.entry.js +1 -1
- package/dist/esm/ptc-featured-list.entry.js +1 -1
- package/dist/esm/ptc-filter-dropdown_4.entry.js +1 -1
- package/dist/esm/ptc-filter-level-theater.entry.js +1 -1
- package/dist/esm/ptc-footer.entry.js +1 -1
- package/dist/esm/{ptc-form-checkbox_4.entry.js → ptc-form-checkbox_2.entry.js} +8 -724
- package/dist/esm/ptc-form-radio-button.entry.js +1 -1
- package/dist/esm/ptc-homepage-image-feature.entry.js +2 -2
- package/dist/esm/ptc-homepage-video-background.entry.js +1 -1
- package/dist/esm/ptc-icon-card-slider-example.entry.js +1 -1
- package/dist/esm/ptc-icon-card.entry.js +1 -1
- package/dist/esm/ptc-icon-component.entry.js +1 -1
- package/dist/esm/ptc-image-download-strip.entry.js +1 -1
- package/dist/esm/ptc-img.entry.js +7 -87
- package/dist/esm/ptc-info-tile.entry.js +1 -1
- package/dist/esm/ptc-inline-cta.entry.js +1 -1
- package/dist/esm/ptc-jumbotron.entry.js +5 -11
- package/dist/esm/ptc-link.entry.js +2 -2
- package/dist/esm/ptc-media-card.entry.js +2 -2
- package/dist/esm/ptc-minimized-nav.entry.js +1 -1
- package/dist/esm/ptc-modal-quiz.entry.js +2 -5
- package/dist/esm/ptc-multi-select_2.entry.js +725 -0
- package/dist/esm/ptc-nav-card.entry.js +1 -1
- package/dist/esm/ptc-nav-submenu.entry.js +1 -1
- package/dist/esm/ptc-office-location-card.entry.js +1 -1
- package/dist/esm/ptc-office-locations.entry.js +1 -1
- package/dist/esm/ptc-para.entry.js +2 -2
- package/dist/esm/ptc-picture.entry.js +18 -1
- package/dist/esm/ptc-podcast-card.entry.js +1 -1
- package/dist/esm/ptc-preloader.entry.js +1 -1
- package/dist/esm/ptc-previous-url.entry.js +2 -11
- package/dist/esm/ptc-pricing-packaging-table.entry.js +11 -27
- package/dist/esm/ptc-pricing-tabs.entry.js +3 -3
- package/dist/esm/ptc-product-card.entry.js +1 -1
- package/dist/esm/ptc-product-category.entry.js +1 -1
- package/dist/esm/ptc-product-highlight-card.entry.js +1 -1
- package/dist/esm/ptc-quantity-counter.entry.js +1 -1
- package/dist/esm/ptc-readmore-char.entry.js +1 -1
- package/dist/esm/ptc-readmore-v3.entry.js +1 -1
- package/dist/esm/ptc-related-card-rail.entry.js +1 -1
- package/dist/esm/ptc-search-field.entry.js +1 -1
- package/dist/esm/ptc-slit-card.entry.js +1 -1
- package/dist/esm/ptc-social-icons-footer.entry.js +1 -1
- package/dist/esm/ptc-social-icons.entry.js +1 -1
- package/dist/esm/ptc-subnav-v2.entry.js +426 -0
- package/dist/esm/ptc-svg-btn.entry.js +1 -1
- package/dist/esm/ptc-text-copy-with-background.entry.js +1 -1
- package/dist/esm/ptc-theater-video-modal.entry.js +1 -1
- package/dist/esm/ptc-title.entry.js +1 -1
- package/dist/esm/ptc-tooltip-v2.entry.js +1 -1
- package/dist/esm/ptc-value-led-speed-bump.entry.js +1 -1
- package/dist/esm/ptc-white-paper.entry.js +9 -19
- package/dist/esm/ptcw-design.js +1 -1
- package/dist/esm/sequential-bundle-example.entry.js +1 -1
- package/dist/esm/storefront-enhanced-product-list-alt-example.entry.js +1 -1
- package/dist/esm/storefront-enhanced-product-list-example.entry.js +1 -1
- package/dist/esm/{utils-bdd0cc16.js → utils-a64ba942.js} +1 -1
- package/dist/ptcw-design/media/designer-v6.0.7.svg +2 -30
- package/dist/ptcw-design/p-009fbf1f.entry.js +1 -0
- package/dist/ptcw-design/p-00e21489.entry.js +1 -0
- package/dist/ptcw-design/p-09be9b46.entry.js +1 -0
- package/dist/ptcw-design/p-0a86d91a.entry.js +1 -0
- package/dist/ptcw-design/{p-e5369c4d.entry.js → p-0c914932.entry.js} +1 -1
- package/dist/ptcw-design/{p-4c89d63d.entry.js → p-0df868d2.entry.js} +1 -1
- package/dist/ptcw-design/p-100a7cc8.entry.js +1 -0
- package/dist/ptcw-design/{p-bf8fbba7.entry.js → p-18d699f0.entry.js} +1 -1
- package/dist/ptcw-design/p-1a853854.entry.js +1 -0
- package/dist/ptcw-design/p-1c63c812.entry.js +1 -0
- package/dist/ptcw-design/p-1d789cd7.entry.js +1 -0
- package/dist/ptcw-design/{p-43a8ccc3.entry.js → p-1e32a493.entry.js} +1 -1
- package/dist/ptcw-design/p-1f0daed2.entry.js +1 -0
- package/dist/ptcw-design/p-1f15239e.entry.js +1 -0
- package/dist/ptcw-design/p-2270dbd2.entry.js +1 -0
- package/dist/ptcw-design/{p-c7e948b2.js → p-22cf00e7.js} +1 -1
- package/dist/ptcw-design/{p-db1dcce0.entry.js → p-23cb5b5b.entry.js} +1 -1
- package/dist/ptcw-design/{p-ddb898c7.entry.js → p-2a22123e.entry.js} +1 -1
- package/dist/ptcw-design/{p-7235425a.entry.js → p-2a3c8a30.entry.js} +1 -1
- package/dist/ptcw-design/{p-04ff81ef.entry.js → p-2b08a37d.entry.js} +1 -1
- package/dist/ptcw-design/p-2bfd8371.entry.js +1 -0
- package/dist/ptcw-design/p-2cd2a8bd.entry.js +1 -0
- package/dist/ptcw-design/p-2e6e2a9d.entry.js +1 -0
- package/dist/ptcw-design/{p-26b70120.entry.js → p-2f21b69b.entry.js} +1 -1
- package/dist/ptcw-design/p-2f4efddd.entry.js +68 -0
- package/dist/ptcw-design/{p-4703e417.entry.js → p-34374e4d.entry.js} +1 -1
- package/dist/ptcw-design/p-3e4861a2.entry.js +1 -0
- package/dist/ptcw-design/p-3ed4a7ed.entry.js +1 -0
- package/dist/ptcw-design/{p-9c6cad16.entry.js → p-456c5cbb.entry.js} +1 -1
- package/dist/ptcw-design/{p-0e63560d.entry.js → p-46b47ed7.entry.js} +1 -1
- package/dist/ptcw-design/p-46c518c8.entry.js +1 -0
- package/dist/ptcw-design/p-50569afd.entry.js +1 -0
- package/dist/ptcw-design/p-506dac1f.entry.js +1 -0
- package/dist/ptcw-design/{p-e3b1af2b.entry.js → p-567535fb.entry.js} +1 -1
- package/dist/ptcw-design/p-56a73429.entry.js +1 -0
- package/dist/ptcw-design/{p-4f0b8ca2.entry.js → p-575861b3.entry.js} +1 -1
- package/dist/ptcw-design/p-5af60742.entry.js +1 -0
- package/dist/ptcw-design/{p-c3b27836.entry.js → p-5cf5b9f8.entry.js} +1 -1
- package/dist/ptcw-design/{p-f61a3476.entry.js → p-5dd538c4.entry.js} +1 -1
- package/dist/ptcw-design/p-6115c067.entry.js +1 -0
- package/dist/ptcw-design/{p-3a40c41f.entry.js → p-614b66d8.entry.js} +1 -1
- package/dist/ptcw-design/{p-674acf91.entry.js → p-62e3cd51.entry.js} +1 -1
- package/dist/ptcw-design/p-6ac4cfab.entry.js +1 -0
- package/dist/ptcw-design/p-74f6bb23.entry.js +1 -0
- package/dist/ptcw-design/p-7714bbaf.entry.js +1 -0
- package/dist/ptcw-design/{p-fb790fa9.entry.js → p-7834cfee.entry.js} +1 -1
- package/dist/ptcw-design/{p-e5e1e8fb.entry.js → p-82f766d2.entry.js} +1 -1
- package/dist/ptcw-design/{p-4d11aafc.entry.js → p-84c15835.entry.js} +1 -1
- package/dist/ptcw-design/p-850a6205.entry.js +1 -0
- package/dist/ptcw-design/p-8aeb229a.entry.js +1 -0
- package/dist/ptcw-design/{p-769b5691.entry.js → p-9063956c.entry.js} +1 -1
- package/dist/ptcw-design/{p-9e2fd13c.entry.js → p-927373d4.entry.js} +1 -1
- package/dist/ptcw-design/{p-3cb011c9.entry.js → p-92ad78c5.entry.js} +1 -1
- package/dist/ptcw-design/{p-89177041.entry.js → p-92e76318.entry.js} +1 -1
- package/dist/ptcw-design/p-9493dfa0.entry.js +1 -0
- package/dist/ptcw-design/p-95efe7ee.entry.js +1 -0
- package/dist/ptcw-design/{p-5793ca02.entry.js → p-9ca635fa.entry.js} +1 -1
- package/dist/ptcw-design/{p-0a214a22.entry.js → p-9efa8199.entry.js} +1 -1
- package/dist/ptcw-design/{p-3ca1b46e.entry.js → p-9fb21bdf.entry.js} +1 -1
- package/dist/ptcw-design/p-a8304a3e.entry.js +1 -0
- package/dist/ptcw-design/p-a993c0a6.entry.js +1 -0
- package/dist/ptcw-design/p-ab4906a7.entry.js +1 -0
- package/dist/ptcw-design/{p-77cad16c.entry.js → p-ac7b2779.entry.js} +1 -1
- package/dist/ptcw-design/p-b19cda95.entry.js +1 -0
- package/dist/ptcw-design/p-b44f4fb1.entry.js +1 -0
- package/dist/ptcw-design/p-b89136c6.entry.js +1 -0
- package/dist/ptcw-design/{p-9da57f76.entry.js → p-bc31938f.entry.js} +1 -1
- package/dist/ptcw-design/p-bd3d71f1.entry.js +1 -0
- package/dist/ptcw-design/p-be533f0d.js +134 -0
- package/dist/ptcw-design/{p-b209c116.entry.js → p-c061b32d.entry.js} +1 -1
- package/dist/ptcw-design/p-c1513c3f.js +203 -0
- package/dist/ptcw-design/{p-3cfe0126.entry.js → p-c160bda4.entry.js} +1 -1
- package/dist/ptcw-design/{p-f731fc96.entry.js → p-c4674bc8.entry.js} +1 -1
- package/dist/ptcw-design/p-cc652ebe.entry.js +1 -0
- package/dist/ptcw-design/p-cc7d5eb7.entry.js +1 -0
- package/dist/ptcw-design/p-d391c01b.entry.js +1 -0
- package/dist/ptcw-design/{p-8c49d736.entry.js → p-d8b2466d.entry.js} +1 -1
- package/dist/ptcw-design/{p-4cee12b8.entry.js → p-e0e87d61.entry.js} +1 -1
- package/dist/ptcw-design/p-e7220c36.entry.js +1 -0
- package/dist/ptcw-design/p-e73a1a0b.entry.js +1 -0
- package/dist/ptcw-design/p-e7c00e48.entry.js +1 -0
- package/dist/ptcw-design/p-ec70069f.entry.js +1 -0
- package/dist/ptcw-design/p-ef897c5a.entry.js +1 -0
- package/dist/ptcw-design/p-f0958536.entry.js +1 -0
- package/dist/ptcw-design/{p-5a2ed8fb.entry.js → p-f2675bb0.entry.js} +1 -1
- package/dist/ptcw-design/p-f3d3c161.entry.js +1 -0
- package/dist/ptcw-design/{p-258963da.entry.js → p-ff66587b.entry.js} +1 -1
- package/dist/ptcw-design/ptcw-design.css +3 -4
- package/dist/ptcw-design/ptcw-design.esm.js +1 -1
- package/dist/types/components/buying-option-cards-slider/buying-option-cards-slider.d.ts +1 -0
- package/dist/types/components/ptc-img/ptc-img.d.ts +1 -29
- package/dist/types/components/ptc-jumbotron/ptc-jumbotron.d.ts +0 -4
- package/dist/types/components/ptc-modal/ptc-modal.d.ts +1 -1
- package/dist/types/components/ptc-para/ptc-para.d.ts +1 -1
- package/dist/types/components/ptc-picture/ptc-picture.d.ts +2 -0
- package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +0 -2
- package/dist/types/components/ptc-subnav-v2/ptc-subnav-v2.d.ts +55 -0
- package/dist/types/components.d.ts +84 -113
- package/package.json +101 -98
- package/readme.md +19 -23
- package/dist/cjs/modal-form-example.cjs.entry.js +0 -109
- package/dist/collection/components/organism-bundles/form/modal-from-example/modal-form-example.css +0 -26
- package/dist/collection/components/organism-bundles/form/modal-from-example/modal-form-example.js +0 -114
- package/dist/collection/stories/organisms/eSupport/CaseTracker/preview.stories.js +0 -45
- package/dist/collection/stories/organisms/eSupport/SupportArticle/preview.stories.js +0 -47
- package/dist/collection/stories/organisms/eSupport/SupportPage/preview.stories.js +0 -157
- package/dist/esm/modal-form-example.entry.js +0 -105
- package/dist/ptcw-design/p-056748b3.entry.js +0 -1
- package/dist/ptcw-design/p-0a7cc9e4.entry.js +0 -1
- package/dist/ptcw-design/p-1c52250d.entry.js +0 -1
- package/dist/ptcw-design/p-1e3bf09c.entry.js +0 -1
- package/dist/ptcw-design/p-214d9da6.entry.js +0 -1
- package/dist/ptcw-design/p-2670ac97.entry.js +0 -1
- package/dist/ptcw-design/p-2afea59e.entry.js +0 -1
- package/dist/ptcw-design/p-312c41b8.entry.js +0 -1
- package/dist/ptcw-design/p-349f43d5.entry.js +0 -1
- package/dist/ptcw-design/p-36abe396.entry.js +0 -1
- package/dist/ptcw-design/p-36ee2e12.entry.js +0 -1
- package/dist/ptcw-design/p-390c0dee.entry.js +0 -1
- package/dist/ptcw-design/p-464d8e22.entry.js +0 -1
- package/dist/ptcw-design/p-50308f02.entry.js +0 -1
- package/dist/ptcw-design/p-5a8e7557.entry.js +0 -1
- package/dist/ptcw-design/p-5c81c755.entry.js +0 -1
- package/dist/ptcw-design/p-63b3bcbe.entry.js +0 -1
- package/dist/ptcw-design/p-656e8773.entry.js +0 -1
- package/dist/ptcw-design/p-672a349f.js +0 -336
- package/dist/ptcw-design/p-684ef1e5.entry.js +0 -1
- package/dist/ptcw-design/p-6e8ed2ee.entry.js +0 -1
- package/dist/ptcw-design/p-6f9f55b3.entry.js +0 -1
- package/dist/ptcw-design/p-7218fe2c.entry.js +0 -1
- package/dist/ptcw-design/p-74097f89.entry.js +0 -1
- package/dist/ptcw-design/p-761a31f8.entry.js +0 -1
- package/dist/ptcw-design/p-799afee5.entry.js +0 -1
- package/dist/ptcw-design/p-7a3e9ecd.entry.js +0 -1
- package/dist/ptcw-design/p-81bcde85.entry.js +0 -1
- package/dist/ptcw-design/p-8fb48953.entry.js +0 -1
- package/dist/ptcw-design/p-94a76216.entry.js +0 -68
- package/dist/ptcw-design/p-95187918.entry.js +0 -1
- package/dist/ptcw-design/p-ac766cb3.entry.js +0 -1
- package/dist/ptcw-design/p-af831c13.entry.js +0 -1
- package/dist/ptcw-design/p-b533cd17.entry.js +0 -1
- package/dist/ptcw-design/p-b684ca9d.entry.js +0 -1
- package/dist/ptcw-design/p-c09a8288.entry.js +0 -1
- package/dist/ptcw-design/p-cb0e3ec2.entry.js +0 -1
- package/dist/ptcw-design/p-ce121fb3.entry.js +0 -1
- package/dist/ptcw-design/p-d2cc0297.entry.js +0 -1
- package/dist/ptcw-design/p-d9df1a16.entry.js +0 -1
- package/dist/ptcw-design/p-da02913d.entry.js +0 -1
- package/dist/ptcw-design/p-dbf8da08.entry.js +0 -1
- package/dist/ptcw-design/p-de960790.entry.js +0 -1
- package/dist/ptcw-design/p-e03d7060.entry.js +0 -1
- package/dist/ptcw-design/p-e4eb925f.entry.js +0 -1
- package/dist/ptcw-design/p-e93714e9.entry.js +0 -1
- package/dist/ptcw-design/p-f57f32ee.entry.js +0 -1
- package/dist/types/components/organism-bundles/form/modal-from-example/modal-form-example.d.ts +0 -25
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
export class PtcSubnavV2 {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.cachedNavItems = null;
|
|
5
|
+
this.handleClickOutside = (event) => {
|
|
6
|
+
if (!this.el.contains(event.target)) {
|
|
7
|
+
this.showOverflowMenu = false;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
this.handleKeyDown = (event) => {
|
|
11
|
+
var _a;
|
|
12
|
+
if (event.key === "Escape" && this.showOverflowMenu) {
|
|
13
|
+
this.showOverflowMenu = false;
|
|
14
|
+
(_a = this.overflowButton) === null || _a === void 0 ? void 0 : _a.focus();
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
this.handleScroll = () => {
|
|
18
|
+
// Throttle scroll events for better performance
|
|
19
|
+
if (this.scrollThrottleTimeout) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
this.scrollThrottleTimeout = window.setTimeout(() => {
|
|
23
|
+
// Don't update active state if user just manually navigated
|
|
24
|
+
if (this.isManualNavigation) {
|
|
25
|
+
this.scrollThrottleTimeout = null;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
// Fallback scroll handler to ensure active state is updated
|
|
29
|
+
const navItems = this.getNavItems();
|
|
30
|
+
const subnavHeight = this.el.offsetHeight;
|
|
31
|
+
const scrollPosition = window.scrollY + subnavHeight + 100; // Offset for better detection
|
|
32
|
+
// Find the section that should be active based on scroll position
|
|
33
|
+
let activeSection = navItems[0].id; // Default to first section
|
|
34
|
+
for (let i = navItems.length - 1; i >= 0; i--) {
|
|
35
|
+
const section = document.getElementById(navItems[i].id);
|
|
36
|
+
if (section && section.offsetTop <= scrollPosition) {
|
|
37
|
+
activeSection = navItems[i].id;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Only update if different from current active
|
|
42
|
+
if (activeSection !== this.currentActive) {
|
|
43
|
+
this.currentActive = activeSection;
|
|
44
|
+
// Update mobile selected item if in mobile mode
|
|
45
|
+
if (this.isMobile) {
|
|
46
|
+
const activeItem = navItems.find((item) => item.id === activeSection);
|
|
47
|
+
if (activeItem) {
|
|
48
|
+
this.selectedMobileItem = activeItem;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
this.scrollThrottleTimeout = null;
|
|
53
|
+
}, 16); // ~60fps throttling
|
|
54
|
+
};
|
|
55
|
+
this.handleResize = () => {
|
|
56
|
+
this.navContainer && setTimeout(() => this.calculateVisibleItems(), 10);
|
|
57
|
+
};
|
|
58
|
+
this.setupIntersectionObserver = () => {
|
|
59
|
+
// Get all sections that correspond to our navigation items
|
|
60
|
+
const navItems = this.getNavItems();
|
|
61
|
+
// Create intersection observer
|
|
62
|
+
this.intersectionObserver = new IntersectionObserver((entries) => {
|
|
63
|
+
// Clear any existing timeout
|
|
64
|
+
if (this.scrollTimeout) {
|
|
65
|
+
clearTimeout(this.scrollTimeout);
|
|
66
|
+
}
|
|
67
|
+
// Debounce the intersection changes
|
|
68
|
+
this.scrollTimeout = window.setTimeout(() => {
|
|
69
|
+
// Don't update active state if user just manually navigated
|
|
70
|
+
if (this.isManualNavigation) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
// Find all intersecting sections
|
|
74
|
+
const intersectingSections = entries.filter((entry) => entry.isIntersecting);
|
|
75
|
+
if (intersectingSections.length > 0) {
|
|
76
|
+
// Sort by intersection ratio (how much of the section is visible)
|
|
77
|
+
// and then by position (top to bottom)
|
|
78
|
+
intersectingSections.sort((a, b) => {
|
|
79
|
+
// First sort by intersection ratio (higher = more visible)
|
|
80
|
+
if (b.intersectionRatio !== a.intersectionRatio) {
|
|
81
|
+
return (b.intersectionRatio - a.intersectionRatio);
|
|
82
|
+
}
|
|
83
|
+
// If intersection ratios are equal, sort by position
|
|
84
|
+
return (a.boundingClientRect.top -
|
|
85
|
+
b.boundingClientRect.top);
|
|
86
|
+
});
|
|
87
|
+
// Get the most visible section
|
|
88
|
+
const mostVisibleSection = intersectingSections[0];
|
|
89
|
+
const sectionId = mostVisibleSection.target.id;
|
|
90
|
+
if (sectionId && sectionId !== this.currentActive) {
|
|
91
|
+
this.currentActive = sectionId;
|
|
92
|
+
// Update mobile selected item if in mobile mode
|
|
93
|
+
if (this.isMobile) {
|
|
94
|
+
const activeItem = navItems.find((item) => item.id === sectionId);
|
|
95
|
+
if (activeItem) {
|
|
96
|
+
this.selectedMobileItem = activeItem;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}, 100); // Increased debounce time for better performance
|
|
102
|
+
}, {
|
|
103
|
+
root: null,
|
|
104
|
+
rootMargin: "-20% 0px -60% 0px",
|
|
105
|
+
threshold: [0, 0.1, 0.25, 0.5, 0.75, 1.0], // Multiple thresholds for better detection
|
|
106
|
+
});
|
|
107
|
+
// Observe all sections
|
|
108
|
+
navItems.forEach((item) => {
|
|
109
|
+
const section = document.getElementById(item.id);
|
|
110
|
+
if (section) {
|
|
111
|
+
this.intersectionObserver.observe(section);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
this.extractNavItemsFromSlots = () => {
|
|
116
|
+
const slotElement = this.el.querySelector('[slot="nav-items"]');
|
|
117
|
+
if (!slotElement)
|
|
118
|
+
return null;
|
|
119
|
+
const links = slotElement.querySelectorAll("a");
|
|
120
|
+
const items = Array.from(links)
|
|
121
|
+
.map((link) => {
|
|
122
|
+
var _a, _b;
|
|
123
|
+
return ({
|
|
124
|
+
id: ((_a = link.getAttribute("href")) === null || _a === void 0 ? void 0 : _a.substring(1)) || "",
|
|
125
|
+
label: ((_b = link.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || "",
|
|
126
|
+
title: link.getAttribute("title") || undefined,
|
|
127
|
+
trackerId: link.getAttribute("tracker-id") || undefined,
|
|
128
|
+
});
|
|
129
|
+
})
|
|
130
|
+
.filter((item) => Boolean(item.id && item.label));
|
|
131
|
+
return items.length > 0 ? items : null;
|
|
132
|
+
};
|
|
133
|
+
this.getNavItems = () => {
|
|
134
|
+
// Return cached items if available
|
|
135
|
+
if (this.cachedNavItems) {
|
|
136
|
+
return this.cachedNavItems;
|
|
137
|
+
}
|
|
138
|
+
// Extract navigation items from slots (SEO-friendly approach)
|
|
139
|
+
const slotItems = this.extractNavItemsFromSlots();
|
|
140
|
+
if (slotItems) {
|
|
141
|
+
this.cachedNavItems = slotItems;
|
|
142
|
+
return slotItems;
|
|
143
|
+
}
|
|
144
|
+
// If navItems prop is provided, parse and use it (fallback)
|
|
145
|
+
const propItems = this.parsePropNavItems();
|
|
146
|
+
if (propItems) {
|
|
147
|
+
this.cachedNavItems = propItems;
|
|
148
|
+
return propItems;
|
|
149
|
+
}
|
|
150
|
+
// Return empty array if no navigation items found
|
|
151
|
+
console.warn("No navigation items found in slots or props for ptc-subnav-v2");
|
|
152
|
+
return [];
|
|
153
|
+
};
|
|
154
|
+
this.calculateMobileDropdownItems = () => {
|
|
155
|
+
this.mobileDropdownItems = this.getNavItems();
|
|
156
|
+
};
|
|
157
|
+
this.hasActiveOverflowItem = () => {
|
|
158
|
+
return this.overflowItems.some((item) => item.id === this.currentActive);
|
|
159
|
+
};
|
|
160
|
+
this.hasSubnavMenuRightContent = () => {
|
|
161
|
+
const slotElement = this.el.querySelector('[slot="subnav-menu-right"]');
|
|
162
|
+
return Boolean(slotElement === null || slotElement === void 0 ? void 0 : slotElement.children.length);
|
|
163
|
+
};
|
|
164
|
+
this.calculateVisibleItems = () => {
|
|
165
|
+
const navItems = this.getNavItems();
|
|
166
|
+
// Handle case where no navigation items are found
|
|
167
|
+
if (navItems.length === 0) {
|
|
168
|
+
this.visibleItems = [];
|
|
169
|
+
this.overflowItems = [];
|
|
170
|
+
this.selectedMobileItem = null;
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
// Check if we're in mobile mode (below 767px)
|
|
174
|
+
const wasMobile = this.isMobile;
|
|
175
|
+
this.isMobile = window.innerWidth <= 767;
|
|
176
|
+
// Force re-render if mobile state changed
|
|
177
|
+
if (wasMobile !== this.isMobile) {
|
|
178
|
+
this.showOverflowMenu = false; // Close any open menus when switching modes
|
|
179
|
+
}
|
|
180
|
+
if (this.isMobile) {
|
|
181
|
+
// On mobile, show only the current active item
|
|
182
|
+
const activeItem = navItems.find((item) => item.id === this.currentActive) ||
|
|
183
|
+
navItems[0];
|
|
184
|
+
this.selectedMobileItem = activeItem;
|
|
185
|
+
this.visibleItems = [activeItem];
|
|
186
|
+
this.overflowItems = navItems.filter((item) => item.id !== activeItem.id);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
// Desktop behavior - calculate based on available width
|
|
190
|
+
const containerWidth = this.navContainer
|
|
191
|
+
? this.navContainer.offsetWidth
|
|
192
|
+
: 0;
|
|
193
|
+
const buttonWidth = this.overflowButton
|
|
194
|
+
? this.overflowButton.offsetWidth + 32
|
|
195
|
+
: 0; // 32px for gap
|
|
196
|
+
const availableWidth = containerWidth - buttonWidth - 48; // 48px for right margin
|
|
197
|
+
// Fallback if container width is not available yet
|
|
198
|
+
if (containerWidth === 0) {
|
|
199
|
+
this.visibleItems = navItems;
|
|
200
|
+
this.overflowItems = [];
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
let visibleCount = 0;
|
|
204
|
+
let totalWidth = 0;
|
|
205
|
+
// Create temporary elements to measure width
|
|
206
|
+
const tempContainer = document.createElement("div");
|
|
207
|
+
tempContainer.style.position = "absolute";
|
|
208
|
+
tempContainer.style.visibility = "hidden";
|
|
209
|
+
tempContainer.style.whiteSpace = "nowrap";
|
|
210
|
+
tempContainer.style.fontSize = "14px";
|
|
211
|
+
tempContainer.style.fontWeight = "700";
|
|
212
|
+
tempContainer.style.padding = "20px 0 20px 0";
|
|
213
|
+
document.body.appendChild(tempContainer);
|
|
214
|
+
for (let i = 0; i < navItems.length; i++) {
|
|
215
|
+
const item = navItems[i];
|
|
216
|
+
tempContainer.textContent = item.label;
|
|
217
|
+
const itemWidth = tempContainer.offsetWidth + 32; // 32px for gap
|
|
218
|
+
if (totalWidth + itemWidth <= availableWidth) {
|
|
219
|
+
totalWidth += itemWidth;
|
|
220
|
+
visibleCount++;
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
break;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
document.body.removeChild(tempContainer);
|
|
227
|
+
this.visibleItems = navItems.slice(0, visibleCount);
|
|
228
|
+
this.overflowItems = navItems.slice(visibleCount);
|
|
229
|
+
}
|
|
230
|
+
// Don't automatically show overflow menu - it should be closed by default
|
|
231
|
+
// this.showOverflowMenu = this.overflowItems.length > 0;
|
|
232
|
+
};
|
|
233
|
+
this.toggleOverflowMenu = () => {
|
|
234
|
+
this.showOverflowMenu = !this.showOverflowMenu;
|
|
235
|
+
};
|
|
236
|
+
this.handleNavClick = (event, section) => {
|
|
237
|
+
event.preventDefault();
|
|
238
|
+
this.currentActive = section;
|
|
239
|
+
// Update mobile selected item if in mobile mode
|
|
240
|
+
if (this.isMobile) {
|
|
241
|
+
const navItems = this.getNavItems();
|
|
242
|
+
const activeItem = navItems.find((item) => item.id === section);
|
|
243
|
+
if (activeItem) {
|
|
244
|
+
this.selectedMobileItem = activeItem;
|
|
245
|
+
this.calculateMobileDropdownItems();
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
// Set manual navigation flag to prevent intersection observer from overriding
|
|
249
|
+
this.isManualNavigation = true;
|
|
250
|
+
// Clear any existing manual navigation timeout
|
|
251
|
+
if (this.manualNavigationTimeout) {
|
|
252
|
+
clearTimeout(this.manualNavigationTimeout);
|
|
253
|
+
}
|
|
254
|
+
// Reset manual navigation flag after scroll animation completes
|
|
255
|
+
this.manualNavigationTimeout = window.setTimeout(() => {
|
|
256
|
+
this.isManualNavigation = false;
|
|
257
|
+
}, 1500); // Give enough time for smooth scroll to complete
|
|
258
|
+
// Emit custom event for parent components
|
|
259
|
+
const customEvent = new CustomEvent("sectionChange", {
|
|
260
|
+
detail: { section },
|
|
261
|
+
bubbles: true,
|
|
262
|
+
composed: true,
|
|
263
|
+
});
|
|
264
|
+
this.el.dispatchEvent(customEvent);
|
|
265
|
+
// Smooth scroll to section if it exists
|
|
266
|
+
const targetElement = document.querySelector(`#${section}`);
|
|
267
|
+
if (targetElement) {
|
|
268
|
+
targetElement.scrollIntoView({
|
|
269
|
+
behavior: "smooth",
|
|
270
|
+
block: "start",
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
this.activeSection = "overview";
|
|
275
|
+
this.navItems = "";
|
|
276
|
+
this.currentActive = "overview";
|
|
277
|
+
this.visibleItems = [];
|
|
278
|
+
this.overflowItems = [];
|
|
279
|
+
this.showOverflowMenu = false;
|
|
280
|
+
this.isMobile = false;
|
|
281
|
+
this.selectedMobileItem = null;
|
|
282
|
+
this.isManualNavigation = false;
|
|
283
|
+
this.mobileDropdownItems = [];
|
|
284
|
+
}
|
|
285
|
+
componentWillLoad() {
|
|
286
|
+
this.currentActive = this.activeSection;
|
|
287
|
+
this.initializeMobileItem();
|
|
288
|
+
this.calculateMobileDropdownItems();
|
|
289
|
+
}
|
|
290
|
+
initializeMobileItem() {
|
|
291
|
+
const navItems = this.getNavItems();
|
|
292
|
+
this.selectedMobileItem =
|
|
293
|
+
navItems.length > 0
|
|
294
|
+
? navItems.find((item) => item.id === this.activeSection) ||
|
|
295
|
+
navItems[0]
|
|
296
|
+
: null;
|
|
297
|
+
}
|
|
298
|
+
componentDidLoad() {
|
|
299
|
+
this.bindEventHandlers();
|
|
300
|
+
this.calculateMobileDropdownItems();
|
|
301
|
+
this.handleResize();
|
|
302
|
+
this.addEventListeners();
|
|
303
|
+
this.setupIntersectionObserver();
|
|
304
|
+
}
|
|
305
|
+
bindEventHandlers() {
|
|
306
|
+
this.boundHandleResize = this.handleResize.bind(this);
|
|
307
|
+
this.boundHandleClickOutside = this.handleClickOutside.bind(this);
|
|
308
|
+
this.boundHandleScroll = this.handleScroll.bind(this);
|
|
309
|
+
this.boundHandleKeyDown = this.handleKeyDown.bind(this);
|
|
310
|
+
}
|
|
311
|
+
addEventListeners() {
|
|
312
|
+
window.addEventListener("resize", this.boundHandleResize);
|
|
313
|
+
document.addEventListener("click", this.boundHandleClickOutside);
|
|
314
|
+
document.addEventListener("keydown", this.boundHandleKeyDown);
|
|
315
|
+
window.addEventListener("scroll", this.boundHandleScroll, {
|
|
316
|
+
passive: true,
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
disconnectedCallback() {
|
|
320
|
+
this.removeEventListeners();
|
|
321
|
+
this.cleanupTimeouts();
|
|
322
|
+
this.cleanupIntersectionObserver();
|
|
323
|
+
}
|
|
324
|
+
removeEventListeners() {
|
|
325
|
+
window.removeEventListener("resize", this.boundHandleResize);
|
|
326
|
+
document.removeEventListener("click", this.boundHandleClickOutside);
|
|
327
|
+
document.removeEventListener("keydown", this.boundHandleKeyDown);
|
|
328
|
+
window.removeEventListener("scroll", this.boundHandleScroll);
|
|
329
|
+
}
|
|
330
|
+
cleanupTimeouts() {
|
|
331
|
+
[
|
|
332
|
+
this.scrollTimeout,
|
|
333
|
+
this.scrollThrottleTimeout,
|
|
334
|
+
this.manualNavigationTimeout,
|
|
335
|
+
]
|
|
336
|
+
.filter(Boolean)
|
|
337
|
+
.forEach((timeout) => clearTimeout(timeout));
|
|
338
|
+
}
|
|
339
|
+
cleanupIntersectionObserver() {
|
|
340
|
+
if (this.intersectionObserver) {
|
|
341
|
+
this.intersectionObserver.disconnect();
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
parsePropNavItems() {
|
|
345
|
+
var _a;
|
|
346
|
+
if (!((_a = this.navItems) === null || _a === void 0 ? void 0 : _a.trim()))
|
|
347
|
+
return null;
|
|
348
|
+
try {
|
|
349
|
+
const parsedItems = JSON.parse(this.navItems);
|
|
350
|
+
if (Array.isArray(parsedItems) && parsedItems.length > 0) {
|
|
351
|
+
const validItems = parsedItems.filter((item) => Boolean(item &&
|
|
352
|
+
typeof item.id === "string" &&
|
|
353
|
+
typeof item.label === "string"));
|
|
354
|
+
return validItems.length > 0 ? validItems : null;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
catch (error) {
|
|
358
|
+
console.warn("Invalid navItems JSON provided to ptc-subnav-v2:", error);
|
|
359
|
+
}
|
|
360
|
+
return null;
|
|
361
|
+
}
|
|
362
|
+
render() {
|
|
363
|
+
var _a, _b;
|
|
364
|
+
const navItems = this.getNavItems();
|
|
365
|
+
// If no navigation items, don't render the navigation
|
|
366
|
+
if (navItems.length === 0) {
|
|
367
|
+
const hasRightContent = this.hasSubnavMenuRightContent();
|
|
368
|
+
return (h(Host, null, h("div", { class: `subnav-container ${!hasRightContent ? "full-width" : ""}` }, hasRightContent && (h("div", { class: "subnav-menu-right" }, h("slot", { name: "subnav-menu-right" }))))));
|
|
369
|
+
}
|
|
370
|
+
const hasRightContent = this.hasSubnavMenuRightContent();
|
|
371
|
+
return (h(Host, null, h("div", { class: `subnav-container ${!hasRightContent ? "full-width" : ""}` }, h("nav", { class: `subnav-menu-left ${!hasRightContent ? "full-width" : ""}`, role: "navigation", "aria-label": "Sub navigation", ref: (el) => (this.navContainer = el) }, this.isMobile ? (
|
|
372
|
+
// Mobile layout - dropdown with arrows
|
|
373
|
+
h("div", { class: "mobile-dropdown-container" }, h("button", { class: "mobile-dropdown-button", onClick: this.toggleOverflowMenu, onKeyDown: (e) => {
|
|
374
|
+
if (e.key === "Enter" ||
|
|
375
|
+
e.key === " ") {
|
|
376
|
+
e.preventDefault();
|
|
377
|
+
this.toggleOverflowMenu();
|
|
378
|
+
}
|
|
379
|
+
}, "aria-expanded": this.showOverflowMenu, "aria-haspopup": "true", "aria-label": `${((_a = this.selectedMobileItem) === null || _a === void 0 ? void 0 : _a.label) || "Select Section"} - Choose navigation section`, "tracker-id": "mobile-dropdown-button", ref: (el) => (this.overflowButton = el) }, h("span", { class: "mobile-selected-item" }, ((_b = this.selectedMobileItem) === null || _b === void 0 ? void 0 : _b.label) ||
|
|
380
|
+
"Select Section"), h("span", { class: `mobile-arrow ${this.showOverflowMenu ? "rotated" : ""}`, "aria-hidden": "true" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "8", viewBox: "0 0 12 8", fill: "none", "aria-hidden": "true" }, h("path", { d: "M1 1.5L5.94975 6.44975L10.8995 1.5", stroke: "#00890B", "stroke-width": "2", "stroke-linecap": "round" })))), this.showOverflowMenu && (h("ul", { class: "mobile-dropdown", role: "menu", "aria-label": "Navigation sections" }, this.mobileDropdownItems.map((item) => (h("li", { key: item.id }, h("a", { href: `#${item.id}`, class: `mobile-dropdown-item mf-listen ${this
|
|
381
|
+
.currentActive ===
|
|
382
|
+
item.id
|
|
383
|
+
? "active"
|
|
384
|
+
: ""}`, role: "menuitem", "aria-current": this
|
|
385
|
+
.currentActive ===
|
|
386
|
+
item.id
|
|
387
|
+
? "page"
|
|
388
|
+
: undefined, "tracker-id": item.trackerId ||
|
|
389
|
+
`mobile-nav-${item.id}`, title: item.title || "", onClick: (e) => {
|
|
390
|
+
this.handleNavClick(e, item.id);
|
|
391
|
+
this.showOverflowMenu = false;
|
|
392
|
+
} }, item.label)))))))) : (
|
|
393
|
+
// Desktop layout - original behavior
|
|
394
|
+
h("ul", { class: "desktop-menu" }, this.visibleItems.map((item) => (h("li", { key: item.id, class: "mf-listen", "tracker-id": item.trackerId || `nav-${item.id}` }, h("a", { href: `#${item.id}`, class: this.currentActive === item.id
|
|
395
|
+
? "active"
|
|
396
|
+
: "", title: item.title || "", onClick: (e) => this.handleNavClick(e, item.id), "aria-current": this.currentActive === item.id
|
|
397
|
+
? "page"
|
|
398
|
+
: undefined }, item.label)))), this.overflowItems.length > 0 && (h("li", { class: "overflow-menu-container mf-listen", "tracker-id": "overflow-menu" }, h("button", { class: `overflow-button ${this.hasActiveOverflowItem() ? "selected-active" : ""}`, onClick: this.toggleOverflowMenu, onKeyDown: (e) => {
|
|
399
|
+
if (e.key === "Enter" ||
|
|
400
|
+
e.key === " ") {
|
|
401
|
+
e.preventDefault();
|
|
402
|
+
this.toggleOverflowMenu();
|
|
403
|
+
}
|
|
404
|
+
}, "aria-expanded": this.showOverflowMenu, "aria-haspopup": "true", "aria-label": "Show more navigation items", "tracker-id": "overflow-button", ref: (el) => (this.overflowButton = el) }, h("span", { class: "overflow-dots", "aria-hidden": "true" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", "aria-hidden": "true" }, h("circle", { cx: "1.25", cy: "5", r: "1.25", fill: "#617480" }), h("circle", { cx: "5", cy: "5", r: "1.25", fill: "#617480" }), h("circle", { cx: "8.75", cy: "5", r: "1.25", fill: "#617480" })))), this.showOverflowMenu && (h("div", { class: "overflow-dropdown", role: "menu", "aria-label": "Additional navigation sections" }, this.overflowItems.map((item) => (h("a", { key: item.id, href: `#${item.id}`, class: `mf-listen ${this
|
|
405
|
+
.currentActive ===
|
|
406
|
+
item.id
|
|
407
|
+
? "active"
|
|
408
|
+
: ""}`, title: item.title || "", "tracker-id": item.trackerId ||
|
|
409
|
+
`overflow-link-${item.id}`, role: "menuitem", onClick: (e) => {
|
|
410
|
+
this.handleNavClick(e, item.id);
|
|
411
|
+
this.showOverflowMenu = false;
|
|
412
|
+
}, "aria-current": this
|
|
413
|
+
.currentActive ===
|
|
414
|
+
item.id
|
|
415
|
+
? "page"
|
|
416
|
+
: undefined }, item.label)))))))))), hasRightContent && (h("div", { class: "subnav-menu-right" }, h("slot", { name: "subnav-menu-right" }))))));
|
|
417
|
+
}
|
|
418
|
+
static get is() { return "ptc-subnav-v2"; }
|
|
419
|
+
static get encapsulation() { return "shadow"; }
|
|
420
|
+
static get originalStyleUrls() {
|
|
421
|
+
return {
|
|
422
|
+
"$": ["ptc-subnav-v2.scss"]
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
static get styleUrls() {
|
|
426
|
+
return {
|
|
427
|
+
"$": ["ptc-subnav-v2.css"]
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
static get properties() {
|
|
431
|
+
return {
|
|
432
|
+
"activeSection": {
|
|
433
|
+
"type": "string",
|
|
434
|
+
"mutable": false,
|
|
435
|
+
"complexType": {
|
|
436
|
+
"original": "string",
|
|
437
|
+
"resolved": "string",
|
|
438
|
+
"references": {}
|
|
439
|
+
},
|
|
440
|
+
"required": false,
|
|
441
|
+
"optional": false,
|
|
442
|
+
"docs": {
|
|
443
|
+
"tags": [],
|
|
444
|
+
"text": ""
|
|
445
|
+
},
|
|
446
|
+
"attribute": "active-section",
|
|
447
|
+
"reflect": false,
|
|
448
|
+
"defaultValue": "\"overview\""
|
|
449
|
+
},
|
|
450
|
+
"navItems": {
|
|
451
|
+
"type": "string",
|
|
452
|
+
"mutable": false,
|
|
453
|
+
"complexType": {
|
|
454
|
+
"original": "string",
|
|
455
|
+
"resolved": "string",
|
|
456
|
+
"references": {}
|
|
457
|
+
},
|
|
458
|
+
"required": false,
|
|
459
|
+
"optional": false,
|
|
460
|
+
"docs": {
|
|
461
|
+
"tags": [],
|
|
462
|
+
"text": ""
|
|
463
|
+
},
|
|
464
|
+
"attribute": "nav-items",
|
|
465
|
+
"reflect": false,
|
|
466
|
+
"defaultValue": "\"\""
|
|
467
|
+
}
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
static get states() {
|
|
471
|
+
return {
|
|
472
|
+
"currentActive": {},
|
|
473
|
+
"visibleItems": {},
|
|
474
|
+
"overflowItems": {},
|
|
475
|
+
"showOverflowMenu": {},
|
|
476
|
+
"isMobile": {},
|
|
477
|
+
"selectedMobileItem": {},
|
|
478
|
+
"isManualNavigation": {},
|
|
479
|
+
"mobileDropdownItems": {}
|
|
480
|
+
};
|
|
481
|
+
}
|
|
482
|
+
static get elementRef() { return "el"; }
|
|
483
|
+
}
|
|
@@ -110,50 +110,34 @@ ptc-footer {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
.svg-close svg .cls-1:first-child {
|
|
113
|
-
-webkit-transform: translate(175.5px, 135.5px);
|
|
114
|
-
-ms-transform: translate(175.5px, 135.5px);
|
|
115
113
|
transform: translate(175.5px, 135.5px);
|
|
116
114
|
}
|
|
117
115
|
|
|
118
116
|
.svg-close svg .cls-1:nth-child(2) {
|
|
119
|
-
-webkit-transform: translate(175.5px, 174.985px);
|
|
120
|
-
-ms-transform: translate(175.5px, 174.985px);
|
|
121
117
|
transform: translate(175.5px, 174.985px);
|
|
122
118
|
}
|
|
123
119
|
|
|
124
120
|
.svg-close svg .cls-1:nth-child(3) {
|
|
125
|
-
-webkit-transform: translate(215.5px, 141.393px);
|
|
126
|
-
-ms-transform: translate(215.5px, 141.393px);
|
|
127
121
|
transform: translate(215.5px, 141.393px);
|
|
128
122
|
}
|
|
129
123
|
|
|
130
124
|
.svg-close svg .cls-1:nth-child(4) {
|
|
131
|
-
-webkit-transform: translate(175.5px, 135.5px);
|
|
132
|
-
-ms-transform: translate(175.5px, 135.5px);
|
|
133
125
|
transform: translate(175.5px, 135.5px);
|
|
134
126
|
}
|
|
135
127
|
|
|
136
128
|
.svg-close:hover svg .cls-1:first-child {
|
|
137
|
-
-webkit-transform: translate(175.5px, 162px);
|
|
138
|
-
-ms-transform: translate(175.5px, 162px);
|
|
139
129
|
transform: translate(175.5px, 162px);
|
|
140
130
|
}
|
|
141
131
|
|
|
142
132
|
.svg-close:hover svg .cls-1:nth-child(2) {
|
|
143
|
-
-webkit-transform: translate(149px, 174.985px);
|
|
144
|
-
-ms-transform: translate(149px, 174.985px);
|
|
145
133
|
transform: translate(149px, 174.985px);
|
|
146
134
|
}
|
|
147
135
|
|
|
148
136
|
.svg-close:hover svg .cls-1:nth-child(3) {
|
|
149
|
-
-webkit-transform: translate(215.5px, 174px);
|
|
150
|
-
-ms-transform: translate(215.5px, 174px);
|
|
151
137
|
transform: translate(215.5px, 174px);
|
|
152
138
|
}
|
|
153
139
|
|
|
154
140
|
.svg-close:hover svg .cls-1:nth-child(4) {
|
|
155
|
-
-webkit-transform: translate(152.5px, 135.5px);
|
|
156
|
-
-ms-transform: translate(152.5px, 135.5px);
|
|
157
141
|
transform: translate(152.5px, 135.5px);
|
|
158
142
|
}
|
|
159
143
|
|
package/dist/collection/components/ptc-text-copy-with-background/ptc-text-copy-with-background.css
CHANGED
|
@@ -98,9 +98,7 @@ ptc-footer {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
:host .bg-img-filter {
|
|
101
|
-
-webkit-filter: url(#blur);
|
|
102
101
|
filter: url(#blur);
|
|
103
|
-
-webkit-mask: -webkit-gradient(linear, left top, right top, color-stop(30%, var(--color-black)), to(rgba(0, 0, 0, 0)));
|
|
104
102
|
-webkit-mask: linear-gradient(90deg, var(--color-black) 30%, rgba(0, 0, 0, 0));
|
|
105
103
|
-webkit-filter: blur(7px);
|
|
106
104
|
}
|
|
@@ -3743,7 +3743,7 @@ ptc-footer {
|
|
|
3743
3743
|
.ptc-text-field .iti__flag {
|
|
3744
3744
|
background-image: url("https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/18.2.1/img/flags.png");
|
|
3745
3745
|
}
|
|
3746
|
-
@media (
|
|
3746
|
+
@media (min-resolution: 192dpi) {
|
|
3747
3747
|
.ptc-text-field .iti__flag {
|
|
3748
3748
|
background-image: url("https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/18.2.1/img/flags@2x.png");
|
|
3749
3749
|
}
|
|
@@ -3766,6 +3766,12 @@ ptc-footer {
|
|
|
3766
3766
|
.ptc-text-field .mdc-text-field:not(.mdc-text-field--disabled) + .mdc-text-field-helper-line .mdc-text-field-helper-text {
|
|
3767
3767
|
color: var(--color-gray-13);
|
|
3768
3768
|
}
|
|
3769
|
+
.ptc-text-field .mdc-text-field__input::-moz-placeholder {
|
|
3770
|
+
font-family: "Open Sans", Arial, sans-serif;
|
|
3771
|
+
font-size: var(--ptc-font-size-xx-small);
|
|
3772
|
+
font-weight: var(--ptc-font-weight-regular);
|
|
3773
|
+
line-height: 24px;
|
|
3774
|
+
}
|
|
3769
3775
|
.ptc-text-field .mdc-text-field__input::placeholder {
|
|
3770
3776
|
font-family: "Open Sans", Arial, sans-serif;
|
|
3771
3777
|
font-size: var(--ptc-font-size-xx-small);
|
|
@@ -3806,6 +3812,7 @@ ptc-footer {
|
|
|
3806
3812
|
bottom: -37px;
|
|
3807
3813
|
width: auto;
|
|
3808
3814
|
left: -4px;
|
|
3815
|
+
width: -moz-max-content;
|
|
3809
3816
|
width: max-content;
|
|
3810
3817
|
}
|
|
3811
3818
|
.ptc-text-field.email-signup .mdc-text-field-helper-line .mdc-text-field-helper-text {
|
|
@@ -3820,6 +3827,9 @@ ptc-footer {
|
|
|
3820
3827
|
font-weight: var(--ptc-font-weight-regular);
|
|
3821
3828
|
color: var(--color-gray-10);
|
|
3822
3829
|
}
|
|
3830
|
+
.ptc-text-field.email-signup .mdc-text-field__input::-moz-placeholder {
|
|
3831
|
+
font-size: var(--ptc-font-size-small);
|
|
3832
|
+
}
|
|
3823
3833
|
.ptc-text-field.email-signup .mdc-text-field__input::placeholder {
|
|
3824
3834
|
font-size: var(--ptc-font-size-small);
|
|
3825
3835
|
}
|
|
@@ -204,13 +204,15 @@ export class PtcTextfield {
|
|
|
204
204
|
this.helpertext = await this.getValidationMessage("tel");
|
|
205
205
|
}
|
|
206
206
|
else if (!this.iti.isValidNumber()) {
|
|
207
|
-
this.helpertext =
|
|
207
|
+
this.helpertext =
|
|
208
|
+
await this.getValidationMessage("validtel");
|
|
208
209
|
}
|
|
209
210
|
}
|
|
210
211
|
}
|
|
211
212
|
else if (this.fieldId === "confirm-email") {
|
|
212
213
|
if (!this.matchStatus && !!this.customInput.value) {
|
|
213
|
-
this.helpertext =
|
|
214
|
+
this.helpertext =
|
|
215
|
+
await this.getValidationMessage("confirmemail");
|
|
214
216
|
}
|
|
215
217
|
}
|
|
216
218
|
}
|
|
@@ -566,7 +568,7 @@ export class PtcTextfield {
|
|
|
566
568
|
"type": "unknown",
|
|
567
569
|
"mutable": false,
|
|
568
570
|
"complexType": {
|
|
569
|
-
"original": "(\r\n\t\tinput: HTMLInputElement | HTMLTextAreaElement
|
|
571
|
+
"original": "(\r\n\t\tinput: HTMLInputElement | HTMLTextAreaElement,\r\n\t) => string",
|
|
570
572
|
"resolved": "(input: HTMLInputElement | HTMLTextAreaElement) => string",
|
|
571
573
|
"references": {
|
|
572
574
|
"HTMLInputElement": {
|