@ptcwebops/ptcw-design 6.4.13 → 6.4.14-beta
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/blogs-search-section.cjs.entry.js +4 -1
- package/dist/cjs/buying-option-card.cjs.entry.js +1 -1
- package/dist/cjs/buying-option-cards-slider.cjs.entry.js +15 -8
- package/dist/cjs/{component-06dda623.js → component-6a178a16.js} +2643 -832
- package/dist/cjs/dynamic-box-bundle.cjs.entry.js +3 -1
- package/dist/cjs/featured-list.cjs.entry.js +1 -1
- package/dist/cjs/homepage-toggled-content.cjs.entry.js +3 -1
- package/dist/cjs/icon-asset.cjs.entry.js +65 -0
- package/dist/cjs/innovator-toggle-container.cjs.entry.js +1 -1
- package/dist/cjs/interfaces-574e6df7.js +15 -0
- package/dist/cjs/list-item.cjs.entry.js +52 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/max-width-container.cjs.entry.js +54 -0
- package/dist/cjs/modal-form-example.cjs.entry.js +109 -0
- package/dist/cjs/ptc-announcement.cjs.entry.js +2 -1
- package/dist/cjs/ptc-background-video.cjs.entry.js +152 -0
- package/dist/cjs/ptc-bio-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-breadcrumb.cjs.entry.js +53 -0
- package/dist/cjs/ptc-button_5.cjs.entry.js +597 -0
- package/dist/cjs/ptc-card-bottom_2.cjs.entry.js +3 -17
- package/dist/cjs/ptc-card-content.cjs.entry.js +1 -7
- package/dist/cjs/ptc-card_2.cjs.entry.js +6 -5
- package/dist/cjs/ptc-case-studies-slider.cjs.entry.js +1 -1
- package/dist/cjs/ptc-close-icon_2.cjs.entry.js +24 -24
- package/dist/cjs/ptc-data-lookup.cjs.entry.js +1 -2
- 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-form-checkbox_2.cjs.entry.js → ptc-form-checkbox_4.cjs.entry.js} +724 -6
- package/dist/cjs/ptc-homepage-video-background.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 +216 -0
- package/dist/cjs/ptc-jumbotron.cjs.entry.js +190 -0
- package/dist/cjs/ptc-modal-quiz.cjs.entry.js +4 -1
- package/dist/cjs/ptc-nav-card.cjs.entry.js +1 -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 +11 -2
- package/dist/cjs/ptc-pricing-packaging-table.cjs.entry.js +37 -21
- package/dist/cjs/ptc-pricing-tabs.cjs.entry.js +1 -1
- 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-readmore-char.cjs.entry.js +1 -1
- package/dist/cjs/ptc-readmore-v3.cjs.entry.js +1 -1
- package/dist/cjs/ptc-subnav-v2.cjs.entry.js +433 -0
- package/dist/cjs/ptc-tooltip-v2.cjs.entry.js +1 -1
- package/dist/cjs/ptc-tooltip.cjs.entry.js +113 -0
- package/dist/cjs/ptc-value-led-speed-bump.cjs.entry.js +1 -1
- package/dist/cjs/ptc-value-prop-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-white-paper.cjs.entry.js +19 -9
- package/dist/cjs/ptcw-design.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/buying-option-card/buying-option-card.css +2 -0
- package/dist/collection/components/buying-option-cards-slider/buying-option-cards-slider.css +9 -35
- package/dist/collection/components/buying-option-cards-slider/buying-option-cards-slider.js +14 -7
- package/dist/collection/components/dynamic-box-bundle/dynamic-box-bundle.js +3 -1
- package/dist/collection/components/icon-asset/media/designer-v6.0.7.svg +30 -2
- package/dist/collection/components/innovator-toggle-container/innovator-toggle-container.css +28 -2
- package/dist/collection/components/organism-bundles/blogs-search-section/blogs-search-section.js +4 -1
- package/dist/collection/components/organism-bundles/bundle-featured-list/featured-list.css +24 -0
- package/dist/collection/components/organism-bundles/form/modal-from-example/modal-form-example.css +26 -0
- package/dist/collection/components/organism-bundles/form/modal-from-example/modal-form-example.js +114 -0
- package/dist/collection/components/organism-bundles/homepage-toggled-content/homepage-toggled-content.js +3 -1
- package/dist/collection/components/ptc-announcement/ptc-announcement.js +2 -1
- package/dist/collection/components/ptc-bio-card/ptc-bio-card.css +24 -0
- package/dist/collection/components/ptc-button/ptc-button.css +0 -2
- package/dist/collection/components/ptc-card/ptc-card.css +15 -1
- package/dist/collection/components/ptc-card-content/ptc-card-content.css +3 -45
- package/dist/collection/components/ptc-card-content/ptc-card-content.js +2 -26
- package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.js +3 -17
- package/dist/collection/components/ptc-case-studies-slider/ptc-case-studies-slider.css +24 -0
- package/dist/collection/components/ptc-featured-list/ptc-featured-list.css +24 -0
- package/dist/collection/components/ptc-filter-dropdown/ptc-filter-dropdown.css +1 -0
- package/dist/collection/components/ptc-filter-level-theater/ptc-filter-level-theater.css +24 -0
- package/dist/collection/components/ptc-homepage-video-background/ptc-homepage-video-background.css +2 -1
- package/dist/collection/components/ptc-image-download-strip/ptc-image-download-strip.css +2 -1
- package/dist/collection/components/ptc-img/ptc-img.css +76 -0
- package/dist/collection/components/ptc-img/ptc-img.js +132 -7
- package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.css +26 -3
- package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.js +28 -4
- package/dist/collection/components/ptc-modal/ptc-modal.css +5 -0
- package/dist/collection/components/ptc-modal/ptc-modal.js +25 -25
- package/dist/collection/components/ptc-modal-quiz/ptc-modal-quiz.js +4 -1
- package/dist/collection/components/ptc-nav-card/ptc-nav-card.css +5 -2
- package/dist/collection/components/ptc-para/ptc-para.css +3 -0
- package/dist/collection/components/ptc-para/ptc-para.js +2 -2
- package/dist/collection/components/ptc-picture/ptc-picture.js +0 -40
- package/dist/collection/components/ptc-podcast-card/ptc-podcast-card.css +24 -0
- package/dist/collection/components/ptc-preloader/ptc-preloader.css +147 -111
- package/dist/collection/components/ptc-preloader/ptc-preloader.js +1 -1
- package/dist/collection/components/ptc-preloader-section/ptc-preloader-section.css +1 -2
- package/dist/collection/components/ptc-preloader-section/ptc-preloader-section.js +4 -3
- package/dist/collection/components/ptc-previous-url/ptc-previous-url.css +16 -0
- package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +28 -1
- package/dist/collection/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.js +37 -21
- package/dist/collection/components/ptc-pricing-tabs/ptc-pricing-tabs.js +1 -1
- package/dist/collection/components/ptc-product-card/ptc-product-card.css +24 -0
- package/dist/collection/components/ptc-product-category/ptc-product-category.css +24 -0
- package/dist/collection/components/ptc-product-highlight-card/ptc-product-highlight-card.css +24 -0
- package/dist/collection/components/ptc-readmore-char/ptc-readmore-char.css +24 -0
- package/dist/collection/components/ptc-readmore-v3/ptc-readmore-v3.css +24 -0
- package/dist/collection/components/ptc-subnav-v2/ptc-subnav-v2.css +110 -115
- package/dist/collection/components/ptc-subnav-v2/ptc-subnav-v2.js +150 -249
- package/dist/collection/components/ptc-textfield/ptc-textfield.css +1 -1
- package/dist/collection/components/ptc-textfield/ptc-textfield.js +3 -5
- package/dist/collection/components/ptc-tooltip-v2/ptc-tooltip-v2.css +24 -0
- package/dist/collection/components/ptc-value-led-speed-bump/ptc-value-led-speed-bump.css +24 -0
- package/dist/collection/components/ptc-value-prop-card/ptc-value-prop-card.css +2 -1
- package/dist/collection/components/ptc-white-paper/ptc-white-paper.css +29 -4
- package/dist/collection/components/ptc-white-paper/ptc-white-paper.js +18 -8
- package/dist/collection/stories/organisms/eSupport/CaseTracker/preview.stories.js +45 -0
- package/dist/collection/stories/organisms/eSupport/SupportArticle/preview.stories.js +47 -0
- package/dist/collection/stories/organisms/eSupport/SupportPage/preview.stories.js +157 -0
- package/dist/collection/stories/organisms/ptc/Subanv New/preview.stories.js +338 -0
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +516 -411
- package/dist/esm/academic-form-test.entry.js +1 -1
- package/dist/esm/author-listing-example.entry.js +1 -1
- package/dist/esm/blog-detail-content_2.entry.js +1 -1
- package/dist/esm/blog-detail-layout.entry.js +1 -1
- package/dist/esm/blogs-search-section.entry.js +5 -2
- package/dist/esm/bundle-example.entry.js +1 -1
- package/dist/esm/bundle-jumbotron-example.entry.js +1 -1
- package/dist/esm/buying-option-card.entry.js +2 -2
- package/dist/esm/buying-option-cards-slider.entry.js +16 -9
- package/dist/esm/{component-274da230.js → component-80f298b4.js} +2592 -793
- package/dist/esm/dropdown-item.entry.js +1 -1
- package/dist/esm/dynamic-box-bundle.entry.js +4 -2
- package/dist/esm/embedded-form.entry.js +1 -1
- package/dist/esm/event-jumbotron-example.entry.js +1 -1
- 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 +2 -2
- package/dist/esm/fl-tab-content_3.entry.js +1 -1
- package/dist/esm/footer-form.entry.js +1 -1
- package/dist/esm/homepage-clickable-tab.entry.js +1 -1
- package/dist/esm/homepage-jumbotron.entry.js +1 -1
- package/dist/esm/homepage-toggled-content.entry.js +4 -2
- package/dist/esm/icon-asset.entry.js +61 -0
- package/dist/esm/{index-0bf594c4.js → index-c83db688.js} +1 -1
- package/dist/esm/innovator-toggle-container.entry.js +2 -2
- package/dist/esm/interfaces-7c0243be.js +12 -0
- package/dist/esm/jumbotron-sub-menu.entry.js +1 -1
- package/dist/esm/jumbotron-sub-mune.entry.js +1 -1
- package/dist/esm/list-item.entry.js +48 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/max-width-container.entry.js +50 -0
- package/dist/esm/modal-form-example.entry.js +105 -0
- package/dist/esm/most-popular-news.entry.js +1 -1
- package/dist/esm/my-component.entry.js +1 -1
- package/dist/esm/news-search-result.entry.js +1 -1
- package/dist/esm/ptc-accordion-item.entry.js +1 -1
- package/dist/esm/ptc-accordion.entry.js +1 -1
- package/dist/esm/ptc-announcement.entry.js +3 -2
- package/dist/esm/ptc-back-to-top.entry.js +1 -1
- package/dist/esm/ptc-background-video.entry.js +148 -0
- package/dist/esm/ptc-badge.entry.js +1 -1
- package/dist/esm/ptc-bio-card.entry.js +2 -2
- package/dist/esm/ptc-breadcrumb.entry.js +49 -0
- package/dist/esm/ptc-brightcov-video.entry.js +1 -1
- package/dist/esm/ptc-button_5.entry.js +589 -0
- package/dist/esm/ptc-card-bottom_2.entry.js +4 -18
- package/dist/esm/ptc-card-content.entry.js +2 -8
- package/dist/esm/ptc-card_2.entry.js +7 -6
- package/dist/esm/ptc-case-studies-slider.entry.js +2 -2
- 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 +25 -25
- package/dist/esm/ptc-collapse-list.entry.js +1 -1
- package/dist/esm/ptc-container.entry.js +1 -1
- package/dist/esm/ptc-countdown.entry.js +1 -1
- package/dist/esm/ptc-data-lookup.entry.js +2 -3
- package/dist/esm/ptc-date.entry.js +1 -1
- package/dist/esm/ptc-dropdown.entry.js +1 -1
- package/dist/esm/ptc-dynamic-card.entry.js +1 -1
- package/dist/esm/ptc-ellipsis-dropdown.entry.js +1 -1
- package/dist/esm/ptc-embedded-quiz.entry.js +1 -1
- package/dist/esm/ptc-enhanced-product-listing-card.entry.js +1 -1
- package/dist/esm/ptc-featured-list.entry.js +2 -2
- package/dist/esm/ptc-filter-dropdown_4.entry.js +2 -2
- package/dist/esm/ptc-filter-level-theater.entry.js +2 -2
- package/dist/esm/ptc-filter-tag_2.entry.js +1 -1
- package/dist/esm/ptc-footer.entry.js +1 -1
- package/dist/esm/{ptc-form-checkbox_2.entry.js → ptc-form-checkbox_4.entry.js} +724 -8
- package/dist/esm/ptc-form-radio-button.entry.js +1 -1
- package/dist/esm/ptc-form-radio-group.entry.js +1 -1
- package/dist/esm/ptc-form.entry.js +1 -1
- package/dist/esm/ptc-hero-footer-cta.entry.js +1 -1
- package/dist/esm/ptc-hero.entry.js +1 -1
- package/dist/esm/ptc-homepage-image-feature.entry.js +1 -1
- package/dist/esm/ptc-homepage-video-background.entry.js +2 -2
- 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-icon-list.entry.js +1 -1
- package/dist/esm/ptc-icon-minimize.entry.js +1 -1
- package/dist/esm/ptc-image-download-strip.entry.js +2 -2
- package/dist/esm/ptc-img.entry.js +212 -0
- 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 +186 -0
- package/dist/esm/ptc-link.entry.js +1 -1
- package/dist/esm/ptc-list.entry.js +1 -1
- package/dist/esm/ptc-media-card.entry.js +1 -1
- package/dist/esm/ptc-minimized-nav.entry.js +1 -1
- package/dist/esm/ptc-mobile-select.entry.js +1 -1
- package/dist/esm/ptc-modal-quiz.entry.js +5 -2
- package/dist/esm/ptc-nav-card.entry.js +2 -2
- package/dist/esm/ptc-nav-link.entry.js +1 -1
- package/dist/esm/ptc-nav-pills.entry.js +1 -1
- package/dist/esm/ptc-nav-skip-to-content.entry.js +1 -1
- package/dist/esm/ptc-nav-slider.entry.js +1 -1
- package/dist/esm/ptc-nav-submenu.entry.js +1 -1
- package/dist/esm/ptc-nav-tile.entry.js +1 -1
- package/dist/esm/ptc-news.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-overlay.entry.js +1 -1
- package/dist/esm/ptc-podcast-card.entry.js +2 -2
- package/dist/esm/ptc-preferance-center-form.entry.js +1 -1
- package/dist/esm/ptc-preloader.entry.js +2 -2
- package/dist/esm/ptc-previous-url.entry.js +12 -3
- package/dist/esm/ptc-pricing-add-on-card.entry.js +1 -1
- package/dist/esm/ptc-pricing-add-on-section.entry.js +1 -1
- package/dist/esm/ptc-pricing-block.entry.js +1 -1
- package/dist/esm/ptc-pricing-packaging-table.entry.js +38 -22
- package/dist/esm/ptc-pricing-tabs.entry.js +2 -2
- package/dist/esm/ptc-product-card.entry.js +2 -2
- package/dist/esm/ptc-product-category.entry.js +2 -2
- package/dist/esm/ptc-product-dropdown.entry.js +1 -1
- package/dist/esm/ptc-product-highlight-card.entry.js +2 -2
- package/dist/esm/ptc-product-list.entry.js +1 -1
- package/dist/esm/ptc-product-sidebar.entry.js +1 -1
- package/dist/esm/ptc-progress-bar.entry.js +1 -1
- package/dist/esm/ptc-quantity-counter.entry.js +1 -1
- package/dist/esm/ptc-quote.entry.js +1 -1
- package/dist/esm/ptc-readmore-char.entry.js +2 -2
- package/dist/esm/ptc-readmore-new.entry.js +1 -1
- package/dist/esm/ptc-readmore-v3.entry.js +2 -2
- package/dist/esm/ptc-readmore.entry.js +1 -1
- package/dist/esm/ptc-related-card-rail.entry.js +1 -1
- package/dist/esm/ptc-responsive-wrapper.entry.js +1 -1
- package/dist/esm/ptc-scroll-button.entry.js +1 -1
- package/dist/esm/ptc-search-field.entry.js +1 -1
- package/dist/esm/ptc-seo-title.entry.js +1 -1
- package/dist/esm/ptc-shopping-cart.entry.js +1 -1
- package/dist/esm/ptc-showcase-card.entry.js +1 -1
- package/dist/esm/ptc-skeleton.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-span.entry.js +1 -1
- package/dist/esm/ptc-square-card.entry.js +1 -1
- package/dist/esm/ptc-sticky-icons.entry.js +1 -1
- package/dist/esm/ptc-sticky-section.entry.js +1 -1
- package/dist/esm/ptc-sticky-title.entry.js +1 -1
- package/dist/esm/ptc-subnav-card.entry.js +1 -1
- package/dist/esm/ptc-subnav-v2.entry.js +429 -0
- package/dist/esm/ptc-subnav.entry.js +1 -1
- package/dist/esm/ptc-svg-btn.entry.js +1 -1
- package/dist/esm/ptc-tab-list.entry.js +1 -1
- package/dist/esm/ptc-tab.entry.js +1 -1
- package/dist/esm/ptc-tabs.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-tooltip-v2.entry.js +2 -2
- package/dist/esm/ptc-tooltip-v3.entry.js +1 -1
- package/dist/esm/ptc-tooltip.entry.js +109 -0
- package/dist/esm/ptc-two-column-media.entry.js +1 -1
- package/dist/esm/ptc-value-led-card.entry.js +1 -1
- package/dist/esm/ptc-value-led-content-highlight.entry.js +1 -1
- package/dist/esm/ptc-value-led-content.entry.js +1 -1
- package/dist/esm/ptc-value-led-intro.entry.js +1 -1
- package/dist/esm/ptc-value-led-layout.entry.js +1 -1
- package/dist/esm/ptc-value-led-speed-bump.entry.js +2 -2
- package/dist/esm/ptc-value-prop-card.entry.js +2 -2
- package/dist/esm/ptc-video-embed.entry.js +1 -1
- package/dist/esm/ptc-white-paper.entry.js +20 -10
- package/dist/esm/ptcw-design.js +3 -3
- package/dist/esm/sequential-bundle-example.entry.js +1 -1
- package/dist/esm/sequential-bundle.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/tab-content.entry.js +1 -1
- package/dist/esm/tab-header.entry.js +1 -1
- package/dist/ptcw-design/media/designer-v6.0.7.svg +30 -2
- package/dist/ptcw-design/{p-8b6d2c59.entry.js → p-02622aa7.entry.js} +1 -1
- package/dist/ptcw-design/{p-a0d6fc14.entry.js → p-0451b768.entry.js} +1 -1
- package/dist/ptcw-design/p-04891836.entry.js +1 -0
- package/dist/ptcw-design/{p-74a845fd.entry.js → p-04aae3f5.entry.js} +1 -1
- package/dist/ptcw-design/{p-c9a73ad1.entry.js → p-04f0b1ba.entry.js} +1 -1
- package/dist/ptcw-design/p-086ab73a.entry.js +1 -0
- package/dist/ptcw-design/p-0a86d91a.entry.js +1 -0
- package/dist/ptcw-design/{p-e8b51e7d.entry.js → p-0a9ee6c2.entry.js} +1 -1
- package/dist/ptcw-design/{p-c80265d9.entry.js → p-0c914932.entry.js} +1 -1
- package/dist/ptcw-design/{p-f004e5de.entry.js → p-0ddf2a09.entry.js} +1 -1
- package/dist/ptcw-design/{p-a31f22a1.entry.js → p-0df868d2.entry.js} +1 -1
- package/dist/ptcw-design/{p-36d6e662.entry.js → p-13e338a5.entry.js} +1 -1
- package/dist/ptcw-design/p-1519b36f.entry.js +1 -0
- package/dist/ptcw-design/{p-8cdcfb51.entry.js → p-15e36f30.entry.js} +1 -1
- package/dist/ptcw-design/p-17b8281a.entry.js +1 -0
- package/dist/ptcw-design/{p-f418ef26.entry.js → p-18d699f0.entry.js} +1 -1
- package/dist/ptcw-design/{p-7815e38b.entry.js → p-1bffeaed.entry.js} +1 -1
- package/dist/ptcw-design/{p-908ad455.entry.js → p-1c26f390.entry.js} +1 -1
- package/dist/ptcw-design/{p-83632220.entry.js → p-1e32a493.entry.js} +1 -1
- package/dist/ptcw-design/{p-d428ba40.entry.js → p-1f0daed2.entry.js} +1 -1
- package/dist/ptcw-design/{p-2fd01953.entry.js → p-21fa5abe.entry.js} +1 -1
- package/dist/ptcw-design/{p-c9762c88.entry.js → p-23cb5b5b.entry.js} +1 -1
- package/dist/ptcw-design/{p-a22d7ae8.entry.js → p-257a68df.entry.js} +1 -1
- package/dist/ptcw-design/p-260ecfef.entry.js +1 -0
- package/dist/ptcw-design/p-2670ac97.entry.js +1 -0
- package/dist/ptcw-design/{p-14c77b5e.entry.js → p-27e47c25.entry.js} +1 -1
- package/dist/ptcw-design/{p-f20e4230.entry.js → p-2a22123e.entry.js} +1 -1
- package/dist/ptcw-design/{p-f4ae5a99.entry.js → p-2b08a37d.entry.js} +1 -1
- package/dist/ptcw-design/{p-315b7885.entry.js → p-2c287230.entry.js} +1 -1
- package/dist/ptcw-design/{p-54891548.entry.js → p-2c2f895a.entry.js} +1 -1
- package/dist/ptcw-design/p-2c8faf9a.entry.js +1 -0
- package/dist/ptcw-design/p-2d00fefd.entry.js +1 -0
- package/dist/ptcw-design/p-32bec5ef.entry.js +1 -0
- package/dist/ptcw-design/p-349f43d5.entry.js +1 -0
- package/dist/ptcw-design/p-3572eccc.entry.js +1 -0
- package/dist/ptcw-design/p-36a3eb03.entry.js +68 -0
- package/dist/ptcw-design/p-37f92bb4.entry.js +1 -0
- package/dist/ptcw-design/{p-a2710bbf.entry.js → p-3872fce7.entry.js} +1 -1
- package/dist/ptcw-design/p-390c0dee.entry.js +1 -0
- package/dist/ptcw-design/p-3ddb6c50.entry.js +1 -0
- package/dist/ptcw-design/p-456c5cbb.entry.js +1 -0
- package/dist/ptcw-design/p-46b47ed7.entry.js +1 -0
- package/dist/ptcw-design/{p-068b64a1.entry.js → p-46c518c8.entry.js} +1 -1
- package/dist/ptcw-design/{p-1e9f25fc.entry.js → p-46f67bec.entry.js} +1 -1
- package/dist/ptcw-design/{p-a1dc7ae5.entry.js → p-4f3dea53.entry.js} +1 -1
- package/dist/ptcw-design/{p-ed5a467e.entry.js → p-4f4f97a6.entry.js} +1 -1
- package/dist/ptcw-design/{p-2f82de8f.entry.js → p-50569afd.entry.js} +1 -1
- package/dist/ptcw-design/{p-91e5c8d4.entry.js → p-506dac1f.entry.js} +1 -1
- package/dist/ptcw-design/p-53a96796.entry.js +1 -0
- package/dist/ptcw-design/{p-bca81995.entry.js → p-560b05a5.entry.js} +1 -1
- package/dist/ptcw-design/p-567535fb.entry.js +1 -0
- package/dist/ptcw-design/{p-c8de7309.entry.js → p-575861b3.entry.js} +1 -1
- package/dist/ptcw-design/{p-ec395ae9.entry.js → p-5877f093.entry.js} +1 -1
- package/dist/ptcw-design/{p-07b46e6e.entry.js → p-58909b95.entry.js} +1 -1
- package/dist/ptcw-design/{p-cab0274c.entry.js → p-5946d7c9.entry.js} +1 -1
- package/dist/ptcw-design/{p-807ad5c4.entry.js → p-5980d65d.entry.js} +1 -1
- package/dist/ptcw-design/p-5cf5b9f8.entry.js +1 -0
- package/dist/ptcw-design/{p-7c6d6a5e.entry.js → p-5dd538c4.entry.js} +1 -1
- package/dist/ptcw-design/p-5e4c1edf.entry.js +1 -0
- package/dist/ptcw-design/p-5ec17b43.entry.js +1 -0
- package/dist/ptcw-design/p-60d001c8.entry.js +1 -0
- package/dist/ptcw-design/{p-5fb671ee.entry.js → p-61d28206.entry.js} +1 -1
- package/dist/ptcw-design/{p-fa045097.entry.js → p-62e3cd51.entry.js} +1 -1
- package/dist/ptcw-design/{p-3e13f29c.entry.js → p-66ecd7b9.entry.js} +1 -1
- package/dist/ptcw-design/p-672a349f.js +336 -0
- package/dist/ptcw-design/{p-575c7fc0.entry.js → p-6aa9ed95.entry.js} +1 -1
- package/dist/ptcw-design/{p-eabf87be.entry.js → p-6ac4cfab.entry.js} +1 -1
- package/dist/ptcw-design/p-6b9d075f.entry.js +1 -0
- package/dist/ptcw-design/{p-7a9288d1.entry.js → p-7235425a.entry.js} +1 -1
- package/dist/ptcw-design/p-74097f89.entry.js +1 -0
- package/dist/ptcw-design/{p-522cb451.entry.js → p-757954b2.entry.js} +1 -1
- package/dist/ptcw-design/{p-3e13b735.entry.js → p-76d98c5a.entry.js} +1 -1
- package/dist/ptcw-design/{p-2fdd81d4.entry.js → p-7714bbaf.entry.js} +1 -1
- package/dist/ptcw-design/p-7834cfee.entry.js +1 -0
- package/dist/ptcw-design/p-799afee5.entry.js +1 -0
- package/dist/ptcw-design/{p-ecfc8211.entry.js → p-7a1db471.entry.js} +1 -1
- package/dist/ptcw-design/{p-183ba1ca.entry.js → p-7d29a418.entry.js} +1 -1
- package/dist/ptcw-design/p-7fe4d383.entry.js +1 -0
- package/dist/ptcw-design/{p-a974f98f.entry.js → p-8191928d.entry.js} +1 -1
- package/dist/ptcw-design/p-82f766d2.entry.js +1 -0
- package/dist/ptcw-design/{p-ff369ed7.entry.js → p-84c15835.entry.js} +1 -1
- package/dist/ptcw-design/{p-3c52fabe.entry.js → p-8533988f.entry.js} +1 -1
- package/dist/ptcw-design/{p-1ab6201b.entry.js → p-85f32bf5.entry.js} +1 -1
- package/dist/ptcw-design/{p-bf2f9183.entry.js → p-89ba3dfd.entry.js} +1 -1
- package/dist/ptcw-design/{p-d0013567.entry.js → p-8b480abd.entry.js} +1 -1
- package/dist/ptcw-design/p-8fb48953.entry.js +1 -0
- package/dist/ptcw-design/p-9063956c.entry.js +1 -0
- package/dist/ptcw-design/p-90f1a7af.entry.js +1 -0
- package/dist/ptcw-design/{p-cf0f6559.entry.js → p-927373d4.entry.js} +1 -1
- package/dist/ptcw-design/{p-2fa5814b.entry.js → p-92ad78c5.entry.js} +1 -1
- package/dist/ptcw-design/{p-e1bd2c43.entry.js → p-92e76318.entry.js} +1 -1
- package/dist/ptcw-design/{p-80c56c81.entry.js → p-931650bb.entry.js} +1 -1
- package/dist/ptcw-design/{p-2ba77e9d.entry.js → p-9354b7fd.entry.js} +1 -1
- package/dist/ptcw-design/p-96f346c4.entry.js +1 -0
- package/dist/ptcw-design/p-97eb1025.entry.js +1 -0
- package/dist/ptcw-design/{p-ce125ef2.entry.js → p-98610430.entry.js} +1 -1
- package/dist/ptcw-design/p-99daf693.entry.js +1 -0
- package/dist/ptcw-design/{p-8eb36507.entry.js → p-9a335b5b.entry.js} +1 -1
- package/dist/ptcw-design/{p-0abb6e77.entry.js → p-9ac99185.entry.js} +1 -1
- package/dist/ptcw-design/{p-290012e3.entry.js → p-9b26ea67.entry.js} +1 -1
- package/dist/ptcw-design/{p-681d26ef.entry.js → p-9ca635fa.entry.js} +1 -1
- package/dist/ptcw-design/{p-6d628113.entry.js → p-9de963f8.entry.js} +1 -1
- package/dist/ptcw-design/{p-6251a6d6.entry.js → p-9e4e21a4.entry.js} +1 -1
- package/dist/ptcw-design/{p-0ed4609e.entry.js → p-9ef2b1e7.entry.js} +1 -1
- package/dist/ptcw-design/{p-3596ce5a.entry.js → p-9fb21bdf.entry.js} +1 -1
- package/dist/ptcw-design/{p-afb5bdb9.entry.js → p-a04bedc2.entry.js} +1 -1
- package/dist/ptcw-design/{p-dadbab48.entry.js → p-a0bf3dd2.entry.js} +1 -1
- package/dist/ptcw-design/{p-e2e33ddb.entry.js → p-a37c5209.entry.js} +1 -1
- package/dist/ptcw-design/{p-b6cc4c2a.entry.js → p-a41c7e39.entry.js} +1 -1
- package/dist/ptcw-design/{p-dabb1b70.entry.js → p-a54c6da5.entry.js} +1 -1
- package/dist/ptcw-design/{p-be00fb74.entry.js → p-a7cb3851.entry.js} +1 -1
- package/dist/ptcw-design/{p-ed53cb3a.entry.js → p-a8304a3e.entry.js} +1 -1
- package/dist/ptcw-design/{p-de663192.entry.js → p-a8504f11.entry.js} +1 -1
- package/dist/ptcw-design/{p-e50a5a46.entry.js → p-a993c0a6.entry.js} +1 -1
- package/dist/ptcw-design/{p-c5417010.entry.js → p-aac082cf.entry.js} +1 -1
- package/dist/ptcw-design/{p-6f1cc5e5.entry.js → p-ab4906a7.entry.js} +1 -1
- package/dist/ptcw-design/{p-944c5be8.js → p-ac75c7ad.js} +1 -1
- package/dist/ptcw-design/{p-e249cd90.entry.js → p-ac7b2779.entry.js} +1 -1
- package/dist/ptcw-design/{p-b293a0b1.entry.js → p-aea09a70.entry.js} +1 -1
- package/dist/ptcw-design/p-b06bc0a1.entry.js +1 -0
- package/dist/ptcw-design/{p-b82dd7f9.entry.js → p-b19cda95.entry.js} +1 -1
- package/dist/ptcw-design/{p-79762cf6.entry.js → p-b436f56d.entry.js} +1 -1
- package/dist/ptcw-design/p-b684ca9d.entry.js +1 -0
- package/dist/ptcw-design/p-b8ee8699.entry.js +1 -0
- package/dist/ptcw-design/{p-ca039722.entry.js → p-baeee2b4.entry.js} +1 -1
- package/dist/ptcw-design/p-bb9a879f.entry.js +1 -0
- package/dist/ptcw-design/{p-e1373325.entry.js → p-bd3d71f1.entry.js} +1 -1
- package/dist/ptcw-design/{p-73293d32.entry.js → p-bf84ecc0.entry.js} +1 -1
- package/dist/ptcw-design/{p-9a28ded2.entry.js → p-bfacfe67.entry.js} +1 -1
- package/dist/ptcw-design/{p-fb0c3eeb.entry.js → p-c061b32d.entry.js} +1 -1
- package/dist/ptcw-design/p-c09a8288.entry.js +1 -0
- package/dist/ptcw-design/{p-b9966f20.entry.js → p-c160bda4.entry.js} +1 -1
- package/dist/ptcw-design/{p-5344a1f4.entry.js → p-c4674bc8.entry.js} +1 -1
- package/dist/ptcw-design/{p-dd38bf84.entry.js → p-c5f42895.entry.js} +1 -1
- package/dist/ptcw-design/{p-61a5012d.entry.js → p-c631608f.entry.js} +1 -1
- package/dist/ptcw-design/{p-e87a4ff8.entry.js → p-c68d31c6.entry.js} +1 -1
- package/dist/ptcw-design/{p-43756439.entry.js → p-c6a0dd99.entry.js} +1 -1
- package/dist/ptcw-design/p-c89030e4.entry.js +1 -0
- package/dist/ptcw-design/p-cb0e3ec2.entry.js +1 -0
- package/dist/ptcw-design/{p-384548ef.entry.js → p-cc652ebe.entry.js} +1 -1
- package/dist/ptcw-design/{p-d8c1a14a.entry.js → p-cc7d5eb7.entry.js} +1 -1
- package/dist/ptcw-design/{p-89da867f.entry.js → p-d391c01b.entry.js} +1 -1
- package/dist/ptcw-design/{p-75d8b6ec.entry.js → p-d74ccb19.entry.js} +1 -1
- package/dist/ptcw-design/{p-81736d6a.entry.js → p-d77531c8.entry.js} +1 -1
- package/dist/ptcw-design/{p-f5665cfe.entry.js → p-d8b2466d.entry.js} +1 -1
- package/dist/ptcw-design/{p-e880b556.entry.js → p-db0fc94d.entry.js} +1 -1
- package/dist/ptcw-design/p-de960790.entry.js +1 -0
- package/dist/ptcw-design/p-df66407c.entry.js +1 -0
- package/dist/ptcw-design/p-e01173ca.entry.js +1 -0
- package/dist/ptcw-design/p-e0e87d61.entry.js +1 -0
- package/dist/ptcw-design/{p-0bb3ea9a.entry.js → p-e235bf27.entry.js} +1 -1
- package/dist/ptcw-design/{p-53d2547b.entry.js → p-e3867512.entry.js} +1 -1
- package/dist/ptcw-design/{p-d1f57070.entry.js → p-e3bf092e.entry.js} +1 -1
- package/dist/ptcw-design/p-e7220c36.entry.js +1 -0
- package/dist/ptcw-design/{p-b1053240.entry.js → p-e73a1a0b.entry.js} +1 -1
- package/dist/ptcw-design/{p-1b3394a7.entry.js → p-e7c00e48.entry.js} +1 -1
- package/dist/ptcw-design/p-ee1183b2.js +1 -0
- package/dist/ptcw-design/{p-fe56e336.entry.js → p-ee91170c.entry.js} +1 -1
- package/dist/ptcw-design/{p-03e33d4a.entry.js → p-f010c07f.entry.js} +1 -1
- package/dist/ptcw-design/{p-e2da8109.entry.js → p-f2675bb0.entry.js} +1 -1
- package/dist/ptcw-design/{p-f2006b03.entry.js → p-f5c97ab2.entry.js} +1 -1
- package/dist/ptcw-design/{p-d6271974.entry.js → p-f5d8a3b1.entry.js} +1 -1
- package/dist/ptcw-design/p-f6b70f68.entry.js +1 -0
- package/dist/ptcw-design/{p-973c69d8.entry.js → p-fbd9c8fc.entry.js} +1 -1
- package/dist/ptcw-design/p-fd7e5935.entry.js +1 -0
- package/dist/ptcw-design/{p-e6ebc832.entry.js → p-fdee2cdc.entry.js} +1 -1
- package/dist/ptcw-design/p-ff66587b.entry.js +1 -0
- package/dist/ptcw-design/ptcw-design.css +4 -3
- package/dist/ptcw-design/ptcw-design.esm.js +1 -1
- package/dist/types/components/organism-bundles/form/modal-from-example/modal-form-example.d.ts +25 -0
- package/dist/types/components/ptc-card-content/ptc-card-content.d.ts +1 -2
- package/dist/types/components/ptc-img/ptc-img.d.ts +29 -1
- package/dist/types/components/ptc-jumbotron/ptc-jumbotron.d.ts +4 -0
- 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 +0 -2
- package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +2 -0
- package/dist/types/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.d.ts +0 -1
- package/dist/types/components/ptc-subnav-v2/ptc-subnav-v2.d.ts +6 -32
- package/dist/types/components.d.ts +53 -11
- package/package.json +1 -1
- package/readme.md +5 -1
- package/dist/cjs/component-5b5b6a98.js +0 -1819
- package/dist/cjs/icon-asset_14.cjs.entry.js +0 -1911
- package/dist/cjs/ptc-multi-select_2.cjs.entry.js +0 -730
- package/dist/collection/stories/organisms/ptc/Subnav New/preview.stories.js +0 -360
- package/dist/esm/component-341e4eaa.js +0 -1802
- package/dist/esm/icon-asset_14.entry.js +0 -1894
- package/dist/esm/ptc-multi-select_2.entry.js +0 -725
- package/dist/ptcw-design/p-023bfe37.entry.js +0 -1
- package/dist/ptcw-design/p-0824f503.entry.js +0 -1
- package/dist/ptcw-design/p-0ec2a26d.entry.js +0 -1
- package/dist/ptcw-design/p-11e86045.entry.js +0 -1
- package/dist/ptcw-design/p-140c134e.entry.js +0 -1
- package/dist/ptcw-design/p-167380fc.entry.js +0 -1
- package/dist/ptcw-design/p-212cdacd.entry.js +0 -1
- package/dist/ptcw-design/p-2bc4bf65.entry.js +0 -1
- package/dist/ptcw-design/p-32bbcb5a.entry.js +0 -1
- package/dist/ptcw-design/p-33ead201.entry.js +0 -1
- package/dist/ptcw-design/p-39255f59.entry.js +0 -1
- package/dist/ptcw-design/p-3b481342.entry.js +0 -1
- package/dist/ptcw-design/p-3c941935.entry.js +0 -1
- package/dist/ptcw-design/p-46e31e30.entry.js +0 -1
- package/dist/ptcw-design/p-47aa1583.entry.js +0 -1
- package/dist/ptcw-design/p-5bbfd7b3.entry.js +0 -1
- package/dist/ptcw-design/p-60688db7.entry.js +0 -1
- package/dist/ptcw-design/p-60b45ae0.entry.js +0 -1
- package/dist/ptcw-design/p-63fc38cb.entry.js +0 -1
- package/dist/ptcw-design/p-6f0dc158.entry.js +0 -1
- package/dist/ptcw-design/p-752159e2.entry.js +0 -1
- package/dist/ptcw-design/p-7524411a.entry.js +0 -1
- package/dist/ptcw-design/p-79a6e764.entry.js +0 -1
- package/dist/ptcw-design/p-7b89a8e1.entry.js +0 -1
- package/dist/ptcw-design/p-809f3878.entry.js +0 -1
- package/dist/ptcw-design/p-83c3d6c9.entry.js +0 -1
- package/dist/ptcw-design/p-87a9a028.entry.js +0 -1
- package/dist/ptcw-design/p-87e4c337.entry.js +0 -1
- package/dist/ptcw-design/p-92ef47ef.entry.js +0 -1
- package/dist/ptcw-design/p-933ddad2.entry.js +0 -1
- package/dist/ptcw-design/p-9461c4eb.entry.js +0 -1
- package/dist/ptcw-design/p-973b06d1.entry.js +0 -1
- package/dist/ptcw-design/p-9d8a9a72.entry.js +0 -1
- package/dist/ptcw-design/p-ad4f4f33.entry.js +0 -1
- package/dist/ptcw-design/p-bdb2e42c.entry.js +0 -1
- package/dist/ptcw-design/p-be533f0d.js +0 -134
- package/dist/ptcw-design/p-bf15988f.entry.js +0 -68
- package/dist/ptcw-design/p-c1302aea.entry.js +0 -1
- package/dist/ptcw-design/p-c1513c3f.js +0 -203
- package/dist/ptcw-design/p-c7a2088b.entry.js +0 -1
- package/dist/ptcw-design/p-e51bb274.entry.js +0 -1
- package/dist/ptcw-design/p-ed16b8c9.entry.js +0 -1
- package/dist/ptcw-design/p-edaf241d.entry.js +0 -1
- package/dist/ptcw-design/p-fef688c2.entry.js +0 -1
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
2
|
export class PtcSubnavV2 {
|
|
3
3
|
constructor() {
|
|
4
|
-
this.cachedNavItems = null;
|
|
5
|
-
this.isSticky = false;
|
|
6
|
-
this.originalTop = 0;
|
|
7
|
-
this.placeholderElement = null;
|
|
8
|
-
this.measurementElement = null;
|
|
9
4
|
this.handleClickOutside = (event) => {
|
|
10
|
-
|
|
5
|
+
const target = event.target;
|
|
6
|
+
if (!this.el.contains(target)) {
|
|
11
7
|
this.showOverflowMenu = false;
|
|
12
8
|
}
|
|
13
9
|
};
|
|
14
10
|
this.handleKeyDown = (event) => {
|
|
15
|
-
|
|
11
|
+
// Handle Escape key to close dropdowns
|
|
16
12
|
if (event.key === "Escape" && this.showOverflowMenu) {
|
|
17
13
|
this.showOverflowMenu = false;
|
|
18
|
-
|
|
14
|
+
// Return focus to the button that opened the menu
|
|
15
|
+
if (this.overflowButton) {
|
|
16
|
+
this.overflowButton.focus();
|
|
17
|
+
}
|
|
19
18
|
}
|
|
20
19
|
};
|
|
21
20
|
this.handleScroll = () => {
|
|
@@ -45,81 +44,23 @@ export class PtcSubnavV2 {
|
|
|
45
44
|
// Only update if different from current active
|
|
46
45
|
if (activeSection !== this.currentActive) {
|
|
47
46
|
this.currentActive = activeSection;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const rect = this.el.getBoundingClientRect();
|
|
55
|
-
this.originalTop = rect.top + window.scrollY;
|
|
56
|
-
};
|
|
57
|
-
this.handleStickyScroll = () => {
|
|
58
|
-
// Throttle sticky scroll events for better performance
|
|
59
|
-
if (this.stickyScrollTimeout) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
this.stickyScrollTimeout = window.setTimeout(() => {
|
|
63
|
-
var _a;
|
|
64
|
-
const scrollY = window.scrollY;
|
|
65
|
-
// Check if we should make the subnav sticky
|
|
66
|
-
const shouldBeSticky = scrollY >= this.originalTop;
|
|
67
|
-
if (shouldBeSticky && !this.isSticky) {
|
|
68
|
-
// Store the original height before making it fixed
|
|
69
|
-
const originalHeight = this.el.offsetHeight;
|
|
70
|
-
// Create placeholder element to maintain space
|
|
71
|
-
this.placeholderElement = document.createElement("div");
|
|
72
|
-
this.placeholderElement.style.height = `${originalHeight}px`;
|
|
73
|
-
this.placeholderElement.style.width = "100%";
|
|
74
|
-
this.placeholderElement.style.pointerEvents = "none";
|
|
75
|
-
// Insert placeholder before the subnav
|
|
76
|
-
(_a = this.el.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(this.placeholderElement, this.el);
|
|
77
|
-
// Add transition class for smooth animation
|
|
78
|
-
this.el.classList.add("sticky-transition");
|
|
79
|
-
// Apply fixed positioning with smooth transition
|
|
80
|
-
this.el.style.position = "fixed";
|
|
81
|
-
this.el.style.top = "0";
|
|
82
|
-
this.el.style.left = "0";
|
|
83
|
-
this.el.style.right = "0";
|
|
84
|
-
this.el.style.width = "100%";
|
|
85
|
-
this.el.style.zIndex = "105";
|
|
86
|
-
this.el.style.transform = "translateY(0)";
|
|
87
|
-
this.isSticky = true;
|
|
88
|
-
}
|
|
89
|
-
else if (!shouldBeSticky && this.isSticky) {
|
|
90
|
-
// Remove transition class and reset transform
|
|
91
|
-
this.el.classList.remove("sticky-transition");
|
|
92
|
-
this.el.style.transform = "";
|
|
93
|
-
// Remove fixed positioning and restore original position
|
|
94
|
-
this.el.style.position = "";
|
|
95
|
-
this.el.style.top = "";
|
|
96
|
-
this.el.style.left = "";
|
|
97
|
-
this.el.style.right = "";
|
|
98
|
-
this.el.style.width = "";
|
|
99
|
-
this.el.style.zIndex = "";
|
|
100
|
-
this.isSticky = false;
|
|
101
|
-
// Remove placeholder element
|
|
102
|
-
if (this.placeholderElement) {
|
|
103
|
-
this.placeholderElement.remove();
|
|
104
|
-
this.placeholderElement = null;
|
|
47
|
+
// Update mobile selected item if in mobile mode
|
|
48
|
+
if (this.isMobile) {
|
|
49
|
+
const activeItem = navItems.find((item) => item.id === activeSection);
|
|
50
|
+
if (activeItem) {
|
|
51
|
+
this.selectedMobileItem = activeItem;
|
|
52
|
+
}
|
|
105
53
|
}
|
|
106
54
|
}
|
|
107
|
-
this.
|
|
55
|
+
this.scrollThrottleTimeout = null;
|
|
108
56
|
}, 16); // ~60fps throttling
|
|
109
57
|
};
|
|
110
58
|
this.handleResize = () => {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
else if (this.placeholderElement) {
|
|
117
|
-
// Update placeholder height if sticky and resized
|
|
118
|
-
const currentHeight = this.el.offsetHeight;
|
|
119
|
-
this.placeholderElement.style.height = `${currentHeight}px`;
|
|
120
|
-
// Update originalTop based on placeholder position (layout may have changed)
|
|
121
|
-
const placeholderRect = this.placeholderElement.getBoundingClientRect();
|
|
122
|
-
this.originalTop = placeholderRect.top + window.scrollY;
|
|
59
|
+
if (this.navContainer) {
|
|
60
|
+
// Add a small delay to ensure DOM has been updated
|
|
61
|
+
setTimeout(() => {
|
|
62
|
+
this.calculateVisibleItems();
|
|
63
|
+
}, 10);
|
|
123
64
|
}
|
|
124
65
|
};
|
|
125
66
|
this.setupIntersectionObserver = () => {
|
|
@@ -156,6 +97,13 @@ export class PtcSubnavV2 {
|
|
|
156
97
|
const sectionId = mostVisibleSection.target.id;
|
|
157
98
|
if (sectionId && sectionId !== this.currentActive) {
|
|
158
99
|
this.currentActive = sectionId;
|
|
100
|
+
// Update mobile selected item if in mobile mode
|
|
101
|
+
if (this.isMobile) {
|
|
102
|
+
const activeItem = navItems.find((item) => item.id === sectionId);
|
|
103
|
+
if (activeItem) {
|
|
104
|
+
this.selectedMobileItem = activeItem;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
159
107
|
}
|
|
160
108
|
}
|
|
161
109
|
}, 100); // Increased debounce time for better performance
|
|
@@ -172,76 +120,80 @@ export class PtcSubnavV2 {
|
|
|
172
120
|
}
|
|
173
121
|
});
|
|
174
122
|
};
|
|
175
|
-
this.setupResizeObserver = () => {
|
|
176
|
-
// Observe the parent element for layout changes
|
|
177
|
-
this.resizeObserver = new ResizeObserver(() => {
|
|
178
|
-
// Recalculate sticky position when parent layout changes
|
|
179
|
-
if (!this.isSticky) {
|
|
180
|
-
this.initializeStickyPosition();
|
|
181
|
-
}
|
|
182
|
-
else if (this.placeholderElement) {
|
|
183
|
-
// If sticky, update originalTop based on placeholder position
|
|
184
|
-
const placeholderRect = this.placeholderElement.getBoundingClientRect();
|
|
185
|
-
this.originalTop = placeholderRect.top + window.scrollY;
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
|
-
// Observe the element's parent or the element itself
|
|
189
|
-
if (this.el.parentElement) {
|
|
190
|
-
this.resizeObserver.observe(this.el.parentElement);
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
123
|
this.extractNavItemsFromSlots = () => {
|
|
124
|
+
// Look for slot content with nav-items in the light DOM
|
|
194
125
|
const slotElement = this.el.querySelector('[slot="nav-items"]');
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
})
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
126
|
+
if (slotElement) {
|
|
127
|
+
const links = slotElement.querySelectorAll("a");
|
|
128
|
+
const items = Array.from(links)
|
|
129
|
+
.map((link) => {
|
|
130
|
+
var _a, _b;
|
|
131
|
+
return ({
|
|
132
|
+
id: ((_a = link.getAttribute("href")) === null || _a === void 0 ? void 0 : _a.substring(1)) || "",
|
|
133
|
+
label: ((_b = link.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || "",
|
|
134
|
+
title: link.getAttribute("title") || "",
|
|
135
|
+
trackerId: link.getAttribute("tracker-id") || "",
|
|
136
|
+
});
|
|
137
|
+
})
|
|
138
|
+
.filter((item) => item.id && item.label);
|
|
139
|
+
if (items.length > 0) {
|
|
140
|
+
return items;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return null;
|
|
210
144
|
};
|
|
211
145
|
this.getNavItems = () => {
|
|
212
|
-
// Return cached items if available
|
|
213
|
-
if (this.cachedNavItems) {
|
|
214
|
-
return this.cachedNavItems;
|
|
215
|
-
}
|
|
216
146
|
// Extract navigation items from slots (SEO-friendly approach)
|
|
217
147
|
const slotItems = this.extractNavItemsFromSlots();
|
|
218
148
|
if (slotItems) {
|
|
219
|
-
this.cachedNavItems = slotItems;
|
|
220
149
|
return slotItems;
|
|
221
150
|
}
|
|
222
151
|
// If navItems prop is provided, parse and use it (fallback)
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
152
|
+
if (this.navItems && this.navItems.trim()) {
|
|
153
|
+
try {
|
|
154
|
+
const parsedItems = JSON.parse(this.navItems);
|
|
155
|
+
// Validate that it's an array with proper structure
|
|
156
|
+
if (Array.isArray(parsedItems) && parsedItems.length > 0) {
|
|
157
|
+
// Ensure each item has required properties
|
|
158
|
+
const validItems = parsedItems.filter((item) => item &&
|
|
159
|
+
typeof item.id === "string" &&
|
|
160
|
+
typeof item.label === "string");
|
|
161
|
+
if (validItems.length > 0) {
|
|
162
|
+
return validItems;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
console.warn("Invalid navItems JSON provided to ptc-subnav-v2:", error);
|
|
168
|
+
}
|
|
227
169
|
}
|
|
228
170
|
// Return empty array if no navigation items found
|
|
229
171
|
console.warn("No navigation items found in slots or props for ptc-subnav-v2");
|
|
230
172
|
return [];
|
|
231
173
|
};
|
|
174
|
+
this.calculateMobileDropdownItems = () => {
|
|
175
|
+
const navItems = this.getNavItems();
|
|
176
|
+
// Handle case where no navigation items are found
|
|
177
|
+
if (navItems.length === 0) {
|
|
178
|
+
this.mobileDropdownItems = [];
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
const currentItem = this.selectedMobileItem || {
|
|
182
|
+
id: this.currentActive,
|
|
183
|
+
};
|
|
184
|
+
// Filter out the currently selected item from all nav items
|
|
185
|
+
this.mobileDropdownItems = navItems.filter((item) => item.id !== currentItem.id);
|
|
186
|
+
};
|
|
232
187
|
this.hasActiveOverflowItem = () => {
|
|
233
188
|
return this.overflowItems.some((item) => item.id === this.currentActive);
|
|
234
189
|
};
|
|
235
|
-
this.hasSubnavMenuRightContent = () => {
|
|
236
|
-
const slotElement = this.el.querySelector('[slot="subnav-menu-right"]');
|
|
237
|
-
return Boolean(slotElement === null || slotElement === void 0 ? void 0 : slotElement.children.length);
|
|
238
|
-
};
|
|
239
190
|
this.calculateVisibleItems = () => {
|
|
240
191
|
const navItems = this.getNavItems();
|
|
241
192
|
// Handle case where no navigation items are found
|
|
242
193
|
if (navItems.length === 0) {
|
|
243
194
|
this.visibleItems = [];
|
|
244
195
|
this.overflowItems = [];
|
|
196
|
+
this.selectedMobileItem = null;
|
|
245
197
|
return;
|
|
246
198
|
}
|
|
247
199
|
// Check if we're in mobile mode (below 767px)
|
|
@@ -255,6 +207,7 @@ export class PtcSubnavV2 {
|
|
|
255
207
|
// On mobile, show only the current active item
|
|
256
208
|
const activeItem = navItems.find((item) => item.id === this.currentActive) ||
|
|
257
209
|
navItems[0];
|
|
210
|
+
this.selectedMobileItem = activeItem;
|
|
258
211
|
this.visibleItems = [activeItem];
|
|
259
212
|
this.overflowItems = navItems.filter((item) => item.id !== activeItem.id);
|
|
260
213
|
}
|
|
@@ -275,21 +228,19 @@ export class PtcSubnavV2 {
|
|
|
275
228
|
}
|
|
276
229
|
let visibleCount = 0;
|
|
277
230
|
let totalWidth = 0;
|
|
278
|
-
// Create
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
}
|
|
288
|
-
document.body.appendChild(this.measurementElement);
|
|
231
|
+
// Create temporary elements to measure width
|
|
232
|
+
const tempContainer = document.createElement("div");
|
|
233
|
+
tempContainer.style.position = "absolute";
|
|
234
|
+
tempContainer.style.visibility = "hidden";
|
|
235
|
+
tempContainer.style.whiteSpace = "nowrap";
|
|
236
|
+
tempContainer.style.fontSize = "14px";
|
|
237
|
+
tempContainer.style.fontWeight = "700";
|
|
238
|
+
tempContainer.style.padding = "20px 0 17px 0";
|
|
239
|
+
document.body.appendChild(tempContainer);
|
|
289
240
|
for (let i = 0; i < navItems.length; i++) {
|
|
290
241
|
const item = navItems[i];
|
|
291
|
-
|
|
292
|
-
const itemWidth =
|
|
242
|
+
tempContainer.textContent = item.label;
|
|
243
|
+
const itemWidth = tempContainer.offsetWidth + 32; // 32px for gap
|
|
293
244
|
if (totalWidth + itemWidth <= availableWidth) {
|
|
294
245
|
totalWidth += itemWidth;
|
|
295
246
|
visibleCount++;
|
|
@@ -298,7 +249,7 @@ export class PtcSubnavV2 {
|
|
|
298
249
|
break;
|
|
299
250
|
}
|
|
300
251
|
}
|
|
301
|
-
document.body.removeChild(
|
|
252
|
+
document.body.removeChild(tempContainer);
|
|
302
253
|
this.visibleItems = navItems.slice(0, visibleCount);
|
|
303
254
|
this.overflowItems = navItems.slice(visibleCount);
|
|
304
255
|
}
|
|
@@ -307,27 +258,19 @@ export class PtcSubnavV2 {
|
|
|
307
258
|
};
|
|
308
259
|
this.toggleOverflowMenu = () => {
|
|
309
260
|
this.showOverflowMenu = !this.showOverflowMenu;
|
|
310
|
-
// After opening, measure and decide alignment to avoid viewport overflow
|
|
311
|
-
if (!this.showOverflowMenu) {
|
|
312
|
-
return;
|
|
313
|
-
}
|
|
314
|
-
requestAnimationFrame(() => {
|
|
315
|
-
const container = this.overflowMenuContainer;
|
|
316
|
-
const dropdown = this.overflowDropdownEl;
|
|
317
|
-
if (!container || !dropdown)
|
|
318
|
-
return;
|
|
319
|
-
const containerRect = container.getBoundingClientRect();
|
|
320
|
-
// Default positioning is right: -2px inside container
|
|
321
|
-
const dropdownWidth = dropdown.offsetWidth || 0;
|
|
322
|
-
const rightEdge = containerRect.right + 2;
|
|
323
|
-
const leftEdge = rightEdge - dropdownWidth;
|
|
324
|
-
// If left edge would be off the viewport, flip to left aligned
|
|
325
|
-
this.overflowDropdownAlignLeft = leftEdge < 8; // keep a small gutter
|
|
326
|
-
});
|
|
327
261
|
};
|
|
328
262
|
this.handleNavClick = (event, section) => {
|
|
329
263
|
event.preventDefault();
|
|
330
264
|
this.currentActive = section;
|
|
265
|
+
// Update mobile selected item if in mobile mode
|
|
266
|
+
if (this.isMobile) {
|
|
267
|
+
const navItems = this.getNavItems();
|
|
268
|
+
const activeItem = navItems.find((item) => item.id === section);
|
|
269
|
+
if (activeItem) {
|
|
270
|
+
this.selectedMobileItem = activeItem;
|
|
271
|
+
this.calculateMobileDropdownItems();
|
|
272
|
+
}
|
|
273
|
+
}
|
|
331
274
|
// Set manual navigation flag to prevent intersection observer from overriding
|
|
332
275
|
this.isManualNavigation = true;
|
|
333
276
|
// Clear any existing manual navigation timeout
|
|
@@ -345,19 +288,12 @@ export class PtcSubnavV2 {
|
|
|
345
288
|
composed: true,
|
|
346
289
|
});
|
|
347
290
|
this.el.dispatchEvent(customEvent);
|
|
348
|
-
// Smooth scroll to section if it exists
|
|
291
|
+
// Smooth scroll to section if it exists
|
|
349
292
|
const targetElement = document.querySelector(`#${section}`);
|
|
350
293
|
if (targetElement) {
|
|
351
|
-
|
|
352
|
-
const navHeight = this.el.offsetHeight;
|
|
353
|
-
// Calculate the target position with offset
|
|
354
|
-
const targetPosition = targetElement.getBoundingClientRect().top +
|
|
355
|
-
window.scrollY -
|
|
356
|
-
navHeight;
|
|
357
|
-
// Smooth scroll to the adjusted position
|
|
358
|
-
window.scrollTo({
|
|
359
|
-
top: targetPosition,
|
|
294
|
+
targetElement.scrollIntoView({
|
|
360
295
|
behavior: "smooth",
|
|
296
|
+
block: "start",
|
|
361
297
|
});
|
|
362
298
|
}
|
|
363
299
|
};
|
|
@@ -367,113 +303,75 @@ export class PtcSubnavV2 {
|
|
|
367
303
|
this.visibleItems = [];
|
|
368
304
|
this.overflowItems = [];
|
|
369
305
|
this.showOverflowMenu = false;
|
|
370
|
-
this.
|
|
306
|
+
this.containerWidth = 0;
|
|
371
307
|
this.isMobile = false;
|
|
308
|
+
this.selectedMobileItem = null;
|
|
372
309
|
this.isManualNavigation = false;
|
|
310
|
+
this.mobileDropdownItems = [];
|
|
373
311
|
}
|
|
374
312
|
componentWillLoad() {
|
|
375
313
|
this.currentActive = this.activeSection;
|
|
314
|
+
// Initialize selected mobile item with the current active section
|
|
315
|
+
const navItems = this.getNavItems();
|
|
316
|
+
if (navItems.length > 0) {
|
|
317
|
+
this.selectedMobileItem =
|
|
318
|
+
navItems.find((item) => item.id === this.activeSection) ||
|
|
319
|
+
navItems[0];
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
this.selectedMobileItem = null;
|
|
323
|
+
}
|
|
324
|
+
this.calculateMobileDropdownItems();
|
|
376
325
|
}
|
|
377
326
|
componentDidLoad() {
|
|
378
|
-
|
|
379
|
-
this.handleResize();
|
|
380
|
-
this.addEventListeners();
|
|
381
|
-
this.setupIntersectionObserver();
|
|
382
|
-
this.setupResizeObserver();
|
|
383
|
-
this.initializeStickyPosition();
|
|
384
|
-
}
|
|
385
|
-
bindEventHandlers() {
|
|
327
|
+
// Bind the functions once
|
|
386
328
|
this.boundHandleResize = this.handleResize.bind(this);
|
|
387
329
|
this.boundHandleClickOutside = this.handleClickOutside.bind(this);
|
|
388
330
|
this.boundHandleScroll = this.handleScroll.bind(this);
|
|
389
331
|
this.boundHandleKeyDown = this.handleKeyDown.bind(this);
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
332
|
+
// Recalculate navigation items in case slots are used
|
|
333
|
+
this.calculateMobileDropdownItems();
|
|
334
|
+
this.handleResize();
|
|
393
335
|
window.addEventListener("resize", this.boundHandleResize);
|
|
394
336
|
document.addEventListener("click", this.boundHandleClickOutside);
|
|
395
337
|
document.addEventListener("keydown", this.boundHandleKeyDown);
|
|
338
|
+
// Setup intersection observer for scroll-based active state
|
|
339
|
+
this.setupIntersectionObserver();
|
|
340
|
+
// Add scroll listener as fallback
|
|
396
341
|
window.addEventListener("scroll", this.boundHandleScroll, {
|
|
397
342
|
passive: true,
|
|
398
343
|
});
|
|
399
|
-
window.addEventListener("scroll", this.boundHandleStickyScroll, {
|
|
400
|
-
passive: true,
|
|
401
|
-
});
|
|
402
344
|
}
|
|
403
345
|
disconnectedCallback() {
|
|
404
|
-
this.removeEventListeners();
|
|
405
|
-
this.cleanupTimeouts();
|
|
406
|
-
this.cleanupIntersectionObserver();
|
|
407
|
-
this.cleanupResizeObserver();
|
|
408
|
-
this.cleanupElements();
|
|
409
|
-
}
|
|
410
|
-
removeEventListeners() {
|
|
411
346
|
window.removeEventListener("resize", this.boundHandleResize);
|
|
412
347
|
document.removeEventListener("click", this.boundHandleClickOutside);
|
|
413
348
|
document.removeEventListener("keydown", this.boundHandleKeyDown);
|
|
414
349
|
window.removeEventListener("scroll", this.boundHandleScroll);
|
|
415
|
-
|
|
416
|
-
}
|
|
417
|
-
cleanupTimeouts() {
|
|
418
|
-
if (this.scrollTimeout)
|
|
419
|
-
clearTimeout(this.scrollTimeout);
|
|
420
|
-
if (this.scrollThrottleTimeout)
|
|
421
|
-
clearTimeout(this.scrollThrottleTimeout);
|
|
422
|
-
if (this.manualNavigationTimeout)
|
|
423
|
-
clearTimeout(this.manualNavigationTimeout);
|
|
424
|
-
if (this.stickyScrollTimeout)
|
|
425
|
-
clearTimeout(this.stickyScrollTimeout);
|
|
426
|
-
}
|
|
427
|
-
cleanupIntersectionObserver() {
|
|
350
|
+
// Clean up intersection observer
|
|
428
351
|
if (this.intersectionObserver) {
|
|
429
352
|
this.intersectionObserver.disconnect();
|
|
430
353
|
}
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
this.resizeObserver.disconnect();
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
cleanupElements() {
|
|
438
|
-
if (this.placeholderElement) {
|
|
439
|
-
this.placeholderElement.remove();
|
|
440
|
-
this.placeholderElement = null;
|
|
441
|
-
}
|
|
442
|
-
if (this.measurementElement) {
|
|
443
|
-
this.measurementElement.remove();
|
|
444
|
-
this.measurementElement = null;
|
|
354
|
+
// Clean up scroll timeout
|
|
355
|
+
if (this.scrollTimeout) {
|
|
356
|
+
clearTimeout(this.scrollTimeout);
|
|
445
357
|
}
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
if (!((_a = this.navItems) === null || _a === void 0 ? void 0 : _a.trim()))
|
|
450
|
-
return null;
|
|
451
|
-
try {
|
|
452
|
-
const parsedItems = JSON.parse(this.navItems);
|
|
453
|
-
if (Array.isArray(parsedItems) && parsedItems.length > 0) {
|
|
454
|
-
const validItems = parsedItems.filter((item) => Boolean(item &&
|
|
455
|
-
typeof item.id === "string" &&
|
|
456
|
-
typeof item.label === "string"));
|
|
457
|
-
return validItems.length > 0 ? validItems : null;
|
|
458
|
-
}
|
|
358
|
+
// Clean up scroll throttle timeout
|
|
359
|
+
if (this.scrollThrottleTimeout) {
|
|
360
|
+
clearTimeout(this.scrollThrottleTimeout);
|
|
459
361
|
}
|
|
460
|
-
|
|
461
|
-
|
|
362
|
+
// Clean up manual navigation timeout
|
|
363
|
+
if (this.manualNavigationTimeout) {
|
|
364
|
+
clearTimeout(this.manualNavigationTimeout);
|
|
462
365
|
}
|
|
463
|
-
return null;
|
|
464
366
|
}
|
|
465
367
|
render() {
|
|
368
|
+
var _a, _b;
|
|
466
369
|
const navItems = this.getNavItems();
|
|
467
|
-
const hasRightContent = this.hasSubnavMenuRightContent();
|
|
468
|
-
const selectedMobileItem = this.isMobile
|
|
469
|
-
? navItems.find((item) => item.id === this.currentActive) ||
|
|
470
|
-
navItems[0]
|
|
471
|
-
: null;
|
|
472
370
|
// If no navigation items, don't render the navigation
|
|
473
371
|
if (navItems.length === 0) {
|
|
474
|
-
return (h(Host, null, h("div", { class:
|
|
372
|
+
return (h(Host, null, h("div", { class: "subnav-container" }, h("div", { class: "subnav-menu-right" }, h("slot", { name: "subnav-menu-right" })))));
|
|
475
373
|
}
|
|
476
|
-
return (h(Host, null, h("div", { class:
|
|
374
|
+
return (h(Host, null, h("div", { class: "subnav-container" }, h("nav", { class: "subnav-menu-left", role: "navigation", "aria-label": "Sub navigation", ref: (el) => (this.navContainer = el) }, this.isMobile ? (
|
|
477
375
|
// Mobile layout - dropdown with arrows
|
|
478
376
|
h("div", { class: "mobile-dropdown-container" }, h("button", { class: "mobile-dropdown-button", onClick: this.toggleOverflowMenu, onKeyDown: (e) => {
|
|
479
377
|
if (e.key === "Enter" ||
|
|
@@ -481,31 +379,32 @@ export class PtcSubnavV2 {
|
|
|
481
379
|
e.preventDefault();
|
|
482
380
|
this.toggleOverflowMenu();
|
|
483
381
|
}
|
|
484
|
-
}, "aria-expanded": this.showOverflowMenu, "aria-haspopup": "true", "aria-label": `${(selectedMobileItem === null ||
|
|
485
|
-
"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" },
|
|
486
|
-
|
|
382
|
+
}, "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) ||
|
|
383
|
+
"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
|
|
384
|
+
.currentActive ===
|
|
487
385
|
item.id
|
|
488
386
|
? "active"
|
|
489
|
-
: ""}`, role: "menuitem", "aria-current": this
|
|
387
|
+
: ""}`, role: "menuitem", "aria-current": this
|
|
388
|
+
.currentActive ===
|
|
490
389
|
item.id
|
|
491
390
|
? "page"
|
|
492
|
-
: undefined,
|
|
391
|
+
: undefined, "tracker-id": item.trackerId ||
|
|
392
|
+
`mobile-nav-${item.id}`, title: item.title || "", onClick: (e) => {
|
|
493
393
|
this.handleNavClick(e, item.id);
|
|
494
394
|
this.showOverflowMenu = false;
|
|
495
395
|
} }, item.label)))))))) : (
|
|
496
396
|
// Desktop layout - original behavior
|
|
497
|
-
h("ul", { class: "desktop-menu" }, this.visibleItems.map((item) => (h("li", { key: item.id, class: "mf-listen", id: item.trackerId || `nav-${item.id}` }, h("a", { href: `#${item.id}`, class: this.currentActive === item.id
|
|
397
|
+
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
|
|
498
398
|
? "active"
|
|
499
399
|
: "", title: item.title || "", onClick: (e) => this.handleNavClick(e, item.id), "aria-current": this.currentActive === item.id
|
|
500
400
|
? "page"
|
|
501
|
-
: undefined }, item.label)))), this.overflowItems.length > 0 && (h("li", { class: "overflow-menu-container mf-listen", id: "overflow-menu"
|
|
401
|
+
: 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) => {
|
|
502
402
|
if (e.key === "Enter" ||
|
|
503
403
|
e.key === " ") {
|
|
504
404
|
e.preventDefault();
|
|
505
405
|
this.toggleOverflowMenu();
|
|
506
406
|
}
|
|
507
|
-
}, "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:
|
|
508
|
-
el) }, this.overflowItems.map((item) => (h("a", { key: item.id, href: `#${item.id}`, class: `mf-listen ${this
|
|
407
|
+
}, "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
|
|
509
408
|
.currentActive ===
|
|
510
409
|
item.id
|
|
511
410
|
? "active"
|
|
@@ -517,7 +416,7 @@ export class PtcSubnavV2 {
|
|
|
517
416
|
.currentActive ===
|
|
518
417
|
item.id
|
|
519
418
|
? "page"
|
|
520
|
-
: undefined }, item.label)))))))))),
|
|
419
|
+
: undefined }, item.label)))))))))), h("div", { class: "subnav-menu-right" }, h("slot", { name: "subnav-menu-right" })))));
|
|
521
420
|
}
|
|
522
421
|
static get is() { return "ptc-subnav-v2"; }
|
|
523
422
|
static get encapsulation() { return "shadow"; }
|
|
@@ -577,9 +476,11 @@ export class PtcSubnavV2 {
|
|
|
577
476
|
"visibleItems": {},
|
|
578
477
|
"overflowItems": {},
|
|
579
478
|
"showOverflowMenu": {},
|
|
580
|
-
"
|
|
479
|
+
"containerWidth": {},
|
|
581
480
|
"isMobile": {},
|
|
582
|
-
"
|
|
481
|
+
"selectedMobileItem": {},
|
|
482
|
+
"isManualNavigation": {},
|
|
483
|
+
"mobileDropdownItems": {}
|
|
583
484
|
};
|
|
584
485
|
}
|
|
585
486
|
static get elementRef() { return "el"; }
|
|
@@ -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 (min-resolution: 192dpi) {
|
|
3746
|
+
@media (-webkit-min-device-pixel-ratio: 2), (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
|
}
|
|
@@ -204,15 +204,13 @@ export class PtcTextfield {
|
|
|
204
204
|
this.helpertext = await this.getValidationMessage("tel");
|
|
205
205
|
}
|
|
206
206
|
else if (!this.iti.isValidNumber()) {
|
|
207
|
-
this.helpertext =
|
|
208
|
-
await this.getValidationMessage("validtel");
|
|
207
|
+
this.helpertext = await this.getValidationMessage("validtel");
|
|
209
208
|
}
|
|
210
209
|
}
|
|
211
210
|
}
|
|
212
211
|
else if (this.fieldId === "confirm-email") {
|
|
213
212
|
if (!this.matchStatus && !!this.customInput.value) {
|
|
214
|
-
this.helpertext =
|
|
215
|
-
await this.getValidationMessage("confirmemail");
|
|
213
|
+
this.helpertext = await this.getValidationMessage("confirmemail");
|
|
216
214
|
}
|
|
217
215
|
}
|
|
218
216
|
}
|
|
@@ -568,7 +566,7 @@ export class PtcTextfield {
|
|
|
568
566
|
"type": "unknown",
|
|
569
567
|
"mutable": false,
|
|
570
568
|
"complexType": {
|
|
571
|
-
"original": "(\r\n\t\tinput: HTMLInputElement | HTMLTextAreaElement
|
|
569
|
+
"original": "(\r\n\t\tinput: HTMLInputElement | HTMLTextAreaElement\r\n\t) => string",
|
|
572
570
|
"resolved": "(input: HTMLInputElement | HTMLTextAreaElement) => string",
|
|
573
571
|
"references": {
|
|
574
572
|
"HTMLInputElement": {
|