@ptcwebops/ptcw-design 6.4.12 → 6.4.13-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-35540bfb.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_2.cjs.entry.js → icon-asset.cjs.entry.js} +0 -89
- package/dist/cjs/innovator-toggle-container.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- 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-bio-card.cjs.entry.js +1 -1
- 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 +87 -7
- package/dist/cjs/ptc-jumbotron.cjs.entry.js +11 -5
- 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-search-field.cjs.entry.js +95 -0
- package/dist/cjs/ptc-subnav-v2.cjs.entry.js +147 -247
- 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-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 -248
- 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/collection/stories/ptc-subnav-v2/ptc-subnav-v2.stories.js +0 -0
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +515 -409
- 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 +2 -2
- package/dist/esm/blog-detail-layout.entry.js +2 -2
- package/dist/esm/blogs-search-section.entry.js +6 -3
- 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-8c53e377.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 +2 -2
- package/dist/esm/homepage-toggled-content.entry.js +5 -3
- package/dist/esm/{icon-asset_2.entry.js → icon-asset.entry.js} +2 -90
- package/dist/esm/{index-0bf594c4.js → index-c83db688.js} +1 -1
- package/dist/esm/innovator-toggle-container.entry.js +3 -3
- package/dist/esm/{interfaces-4caedd26.js → interfaces-7c0243be.js} +1 -1
- 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 +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/max-width-container.entry.js +1 -1
- package/dist/esm/modal-form-example.entry.js +105 -0
- package/dist/esm/most-popular-news.entry.js +2 -2
- package/dist/esm/my-component.entry.js +2 -2
- package/dist/esm/news-search-result.entry.js +1 -1
- package/dist/esm/ptc-accordion-item.entry.js +2 -2
- 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 +2 -2
- 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 +1 -1
- 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 +2 -2
- 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} +725 -9
- 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 +2 -2
- package/dist/esm/ptc-homepage-video-background.entry.js +3 -3
- package/dist/esm/ptc-icon-card-slider-example.entry.js +1 -1
- package/dist/esm/ptc-icon-card.entry.js +2 -2
- 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 +89 -9
- 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 +12 -6
- package/dist/esm/ptc-link.entry.js +2 -2
- package/dist/esm/ptc-list.entry.js +1 -1
- package/dist/esm/ptc-media-card.entry.js +2 -2
- 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 +39 -23
- package/dist/esm/ptc-pricing-tabs.entry.js +3 -3
- 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 +91 -0
- 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 +2 -2
- 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 +148 -248
- 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 +1 -1
- 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/esm/{utils-bdd0cc16.js → utils-a64ba942.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-804dac0c.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-850e6e8c.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-c7e948b2.js → p-22cf00e7.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-d9ec506c.entry.js → p-260ecfef.entry.js} +1 -1
- 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-9df3c31f.entry.js → p-46b47ed7.entry.js} +1 -1
- 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-674c828e.entry.js → p-567535fb.entry.js} +1 -1
- 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-5b00a563.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-6ac4cfab.entry.js +1 -0
- 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-a318a793.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-1acd3617.entry.js → p-99daf693.entry.js} +1 -1
- 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-2f7b6437.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-b154bbdb.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-a993c0a6.entry.js +1 -0
- 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-07b1afd5.entry.js → p-b8ee8699.entry.js} +1 -1
- 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-d3c11c68.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-03a1e1a5.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-711bcdad.js → p-ee1183b2.js} +1 -1
- 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-83dabf2e.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-1b8ad4d2.js +0 -1819
- package/dist/cjs/ptc-button.cjs.entry.js +0 -117
- package/dist/cjs/ptc-multi-select_2.cjs.entry.js +0 -730
- package/dist/cjs/ptc-para.cjs.entry.js +0 -139
- package/dist/cjs/ptc-picture.cjs.entry.js +0 -185
- package/dist/cjs/ptc-spacer.cjs.entry.js +0 -38
- package/dist/cjs/ptc-title.cjs.entry.js +0 -161
- package/dist/collection/stories/organisms/ptc/Subnav New/preview.stories.js +0 -360
- package/dist/esm/component-9beac35b.js +0 -1802
- package/dist/esm/ptc-button.entry.js +0 -113
- package/dist/esm/ptc-multi-select_2.entry.js +0 -725
- package/dist/esm/ptc-para.entry.js +0 -135
- package/dist/esm/ptc-picture.entry.js +0 -181
- package/dist/esm/ptc-spacer.entry.js +0 -34
- package/dist/esm/ptc-title.entry.js +0 -157
- package/dist/ptcw-design/p-023bfe37.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-167380fc.entry.js +0 -1
- package/dist/ptcw-design/p-19832538.entry.js +0 -68
- 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-2e288e60.entry.js +0 -1
- package/dist/ptcw-design/p-2efd18d8.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-4313edfb.entry.js +0 -1
- package/dist/ptcw-design/p-46e31e30.entry.js +0 -1
- package/dist/ptcw-design/p-474a9967.entry.js +0 -1
- package/dist/ptcw-design/p-47aa1583.entry.js +0 -1
- package/dist/ptcw-design/p-561a622f.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-6785dc81.entry.js +0 -1
- package/dist/ptcw-design/p-6f0dc158.entry.js +0 -1
- package/dist/ptcw-design/p-709cc1f0.entry.js +0 -1
- package/dist/ptcw-design/p-7226670f.entry.js +0 -1
- package/dist/ptcw-design/p-752159e2.entry.js +0 -1
- package/dist/ptcw-design/p-75c8fceb.entry.js +0 -1
- package/dist/ptcw-design/p-7777753a.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-8234aa2a.entry.js +0 -1
- package/dist/ptcw-design/p-83c3d6c9.entry.js +0 -1
- package/dist/ptcw-design/p-87215e3a.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-973b06d1.entry.js +0 -1
- package/dist/ptcw-design/p-98426799.js +0 -203
- package/dist/ptcw-design/p-98844b50.js +0 -134
- package/dist/ptcw-design/p-98e2b403.entry.js +0 -1
- package/dist/ptcw-design/p-9d8a9a72.entry.js +0 -1
- package/dist/ptcw-design/p-a28ff90b.entry.js +0 -1
- package/dist/ptcw-design/p-a81833cd.entry.js +0 -1
- package/dist/ptcw-design/p-ad4f4f33.entry.js +0 -1
- package/dist/ptcw-design/p-b3cd2410.entry.js +0 -1
- package/dist/ptcw-design/p-bb86265c.entry.js +0 -1
- package/dist/ptcw-design/p-c101aeb5.entry.js +0 -1
- package/dist/ptcw-design/p-c7a2088b.entry.js +0 -1
- package/dist/ptcw-design/p-e65cbdb9.entry.js +0 -1
- package/dist/ptcw-design/p-ec22d0b8.entry.js +0 -1
- package/dist/ptcw-design/p-ed16b8c9.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
|
-
document.body.appendChild(this.measurementElement);
|
|
288
|
-
}
|
|
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,6 +249,7 @@ export class PtcSubnavV2 {
|
|
|
298
249
|
break;
|
|
299
250
|
}
|
|
300
251
|
}
|
|
252
|
+
document.body.removeChild(tempContainer);
|
|
301
253
|
this.visibleItems = navItems.slice(0, visibleCount);
|
|
302
254
|
this.overflowItems = navItems.slice(visibleCount);
|
|
303
255
|
}
|
|
@@ -306,27 +258,19 @@ export class PtcSubnavV2 {
|
|
|
306
258
|
};
|
|
307
259
|
this.toggleOverflowMenu = () => {
|
|
308
260
|
this.showOverflowMenu = !this.showOverflowMenu;
|
|
309
|
-
// After opening, measure and decide alignment to avoid viewport overflow
|
|
310
|
-
if (!this.showOverflowMenu) {
|
|
311
|
-
return;
|
|
312
|
-
}
|
|
313
|
-
requestAnimationFrame(() => {
|
|
314
|
-
const container = this.overflowMenuContainer;
|
|
315
|
-
const dropdown = this.overflowDropdownEl;
|
|
316
|
-
if (!container || !dropdown)
|
|
317
|
-
return;
|
|
318
|
-
const containerRect = container.getBoundingClientRect();
|
|
319
|
-
// Default positioning is right: -2px inside container
|
|
320
|
-
const dropdownWidth = dropdown.offsetWidth || 0;
|
|
321
|
-
const rightEdge = containerRect.right + 2;
|
|
322
|
-
const leftEdge = rightEdge - dropdownWidth;
|
|
323
|
-
// If left edge would be off the viewport, flip to left aligned
|
|
324
|
-
this.overflowDropdownAlignLeft = leftEdge < 8; // keep a small gutter
|
|
325
|
-
});
|
|
326
261
|
};
|
|
327
262
|
this.handleNavClick = (event, section) => {
|
|
328
263
|
event.preventDefault();
|
|
329
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
|
+
}
|
|
330
274
|
// Set manual navigation flag to prevent intersection observer from overriding
|
|
331
275
|
this.isManualNavigation = true;
|
|
332
276
|
// Clear any existing manual navigation timeout
|
|
@@ -344,19 +288,12 @@ export class PtcSubnavV2 {
|
|
|
344
288
|
composed: true,
|
|
345
289
|
});
|
|
346
290
|
this.el.dispatchEvent(customEvent);
|
|
347
|
-
// Smooth scroll to section if it exists
|
|
291
|
+
// Smooth scroll to section if it exists
|
|
348
292
|
const targetElement = document.querySelector(`#${section}`);
|
|
349
293
|
if (targetElement) {
|
|
350
|
-
|
|
351
|
-
const navHeight = this.el.offsetHeight;
|
|
352
|
-
// Calculate the target position with offset
|
|
353
|
-
const targetPosition = targetElement.getBoundingClientRect().top +
|
|
354
|
-
window.scrollY -
|
|
355
|
-
navHeight;
|
|
356
|
-
// Smooth scroll to the adjusted position
|
|
357
|
-
window.scrollTo({
|
|
358
|
-
top: targetPosition,
|
|
294
|
+
targetElement.scrollIntoView({
|
|
359
295
|
behavior: "smooth",
|
|
296
|
+
block: "start",
|
|
360
297
|
});
|
|
361
298
|
}
|
|
362
299
|
};
|
|
@@ -366,113 +303,75 @@ export class PtcSubnavV2 {
|
|
|
366
303
|
this.visibleItems = [];
|
|
367
304
|
this.overflowItems = [];
|
|
368
305
|
this.showOverflowMenu = false;
|
|
369
|
-
this.
|
|
306
|
+
this.containerWidth = 0;
|
|
370
307
|
this.isMobile = false;
|
|
308
|
+
this.selectedMobileItem = null;
|
|
371
309
|
this.isManualNavigation = false;
|
|
310
|
+
this.mobileDropdownItems = [];
|
|
372
311
|
}
|
|
373
312
|
componentWillLoad() {
|
|
374
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();
|
|
375
325
|
}
|
|
376
326
|
componentDidLoad() {
|
|
377
|
-
|
|
378
|
-
this.handleResize();
|
|
379
|
-
this.addEventListeners();
|
|
380
|
-
this.setupIntersectionObserver();
|
|
381
|
-
this.setupResizeObserver();
|
|
382
|
-
this.initializeStickyPosition();
|
|
383
|
-
}
|
|
384
|
-
bindEventHandlers() {
|
|
327
|
+
// Bind the functions once
|
|
385
328
|
this.boundHandleResize = this.handleResize.bind(this);
|
|
386
329
|
this.boundHandleClickOutside = this.handleClickOutside.bind(this);
|
|
387
330
|
this.boundHandleScroll = this.handleScroll.bind(this);
|
|
388
331
|
this.boundHandleKeyDown = this.handleKeyDown.bind(this);
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
332
|
+
// Recalculate navigation items in case slots are used
|
|
333
|
+
this.calculateMobileDropdownItems();
|
|
334
|
+
this.handleResize();
|
|
392
335
|
window.addEventListener("resize", this.boundHandleResize);
|
|
393
336
|
document.addEventListener("click", this.boundHandleClickOutside);
|
|
394
337
|
document.addEventListener("keydown", this.boundHandleKeyDown);
|
|
338
|
+
// Setup intersection observer for scroll-based active state
|
|
339
|
+
this.setupIntersectionObserver();
|
|
340
|
+
// Add scroll listener as fallback
|
|
395
341
|
window.addEventListener("scroll", this.boundHandleScroll, {
|
|
396
342
|
passive: true,
|
|
397
343
|
});
|
|
398
|
-
window.addEventListener("scroll", this.boundHandleStickyScroll, {
|
|
399
|
-
passive: true,
|
|
400
|
-
});
|
|
401
344
|
}
|
|
402
345
|
disconnectedCallback() {
|
|
403
|
-
this.removeEventListeners();
|
|
404
|
-
this.cleanupTimeouts();
|
|
405
|
-
this.cleanupIntersectionObserver();
|
|
406
|
-
this.cleanupResizeObserver();
|
|
407
|
-
this.cleanupElements();
|
|
408
|
-
}
|
|
409
|
-
removeEventListeners() {
|
|
410
346
|
window.removeEventListener("resize", this.boundHandleResize);
|
|
411
347
|
document.removeEventListener("click", this.boundHandleClickOutside);
|
|
412
348
|
document.removeEventListener("keydown", this.boundHandleKeyDown);
|
|
413
349
|
window.removeEventListener("scroll", this.boundHandleScroll);
|
|
414
|
-
|
|
415
|
-
}
|
|
416
|
-
cleanupTimeouts() {
|
|
417
|
-
if (this.scrollTimeout)
|
|
418
|
-
clearTimeout(this.scrollTimeout);
|
|
419
|
-
if (this.scrollThrottleTimeout)
|
|
420
|
-
clearTimeout(this.scrollThrottleTimeout);
|
|
421
|
-
if (this.manualNavigationTimeout)
|
|
422
|
-
clearTimeout(this.manualNavigationTimeout);
|
|
423
|
-
if (this.stickyScrollTimeout)
|
|
424
|
-
clearTimeout(this.stickyScrollTimeout);
|
|
425
|
-
}
|
|
426
|
-
cleanupIntersectionObserver() {
|
|
350
|
+
// Clean up intersection observer
|
|
427
351
|
if (this.intersectionObserver) {
|
|
428
352
|
this.intersectionObserver.disconnect();
|
|
429
353
|
}
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
this.resizeObserver.disconnect();
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
cleanupElements() {
|
|
437
|
-
if (this.placeholderElement) {
|
|
438
|
-
this.placeholderElement.remove();
|
|
439
|
-
this.placeholderElement = null;
|
|
440
|
-
}
|
|
441
|
-
if (this.measurementElement) {
|
|
442
|
-
this.measurementElement.remove();
|
|
443
|
-
this.measurementElement = null;
|
|
354
|
+
// Clean up scroll timeout
|
|
355
|
+
if (this.scrollTimeout) {
|
|
356
|
+
clearTimeout(this.scrollTimeout);
|
|
444
357
|
}
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
if (!((_a = this.navItems) === null || _a === void 0 ? void 0 : _a.trim()))
|
|
449
|
-
return null;
|
|
450
|
-
try {
|
|
451
|
-
const parsedItems = JSON.parse(this.navItems);
|
|
452
|
-
if (Array.isArray(parsedItems) && parsedItems.length > 0) {
|
|
453
|
-
const validItems = parsedItems.filter((item) => Boolean(item &&
|
|
454
|
-
typeof item.id === "string" &&
|
|
455
|
-
typeof item.label === "string"));
|
|
456
|
-
return validItems.length > 0 ? validItems : null;
|
|
457
|
-
}
|
|
358
|
+
// Clean up scroll throttle timeout
|
|
359
|
+
if (this.scrollThrottleTimeout) {
|
|
360
|
+
clearTimeout(this.scrollThrottleTimeout);
|
|
458
361
|
}
|
|
459
|
-
|
|
460
|
-
|
|
362
|
+
// Clean up manual navigation timeout
|
|
363
|
+
if (this.manualNavigationTimeout) {
|
|
364
|
+
clearTimeout(this.manualNavigationTimeout);
|
|
461
365
|
}
|
|
462
|
-
return null;
|
|
463
366
|
}
|
|
464
367
|
render() {
|
|
368
|
+
var _a, _b;
|
|
465
369
|
const navItems = this.getNavItems();
|
|
466
|
-
const hasRightContent = this.hasSubnavMenuRightContent();
|
|
467
|
-
const selectedMobileItem = this.isMobile
|
|
468
|
-
? navItems.find((item) => item.id === this.currentActive) ||
|
|
469
|
-
navItems[0]
|
|
470
|
-
: null;
|
|
471
370
|
// If no navigation items, don't render the navigation
|
|
472
371
|
if (navItems.length === 0) {
|
|
473
|
-
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" })))));
|
|
474
373
|
}
|
|
475
|
-
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 ? (
|
|
476
375
|
// Mobile layout - dropdown with arrows
|
|
477
376
|
h("div", { class: "mobile-dropdown-container" }, h("button", { class: "mobile-dropdown-button", onClick: this.toggleOverflowMenu, onKeyDown: (e) => {
|
|
478
377
|
if (e.key === "Enter" ||
|
|
@@ -480,31 +379,32 @@ export class PtcSubnavV2 {
|
|
|
480
379
|
e.preventDefault();
|
|
481
380
|
this.toggleOverflowMenu();
|
|
482
381
|
}
|
|
483
|
-
}, "aria-expanded": this.showOverflowMenu, "aria-haspopup": "true", "aria-label": `${(selectedMobileItem === null ||
|
|
484
|
-
"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" },
|
|
485
|
-
|
|
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 ===
|
|
486
385
|
item.id
|
|
487
386
|
? "active"
|
|
488
|
-
: ""}`, role: "menuitem", "aria-current": this
|
|
387
|
+
: ""}`, role: "menuitem", "aria-current": this
|
|
388
|
+
.currentActive ===
|
|
489
389
|
item.id
|
|
490
390
|
? "page"
|
|
491
|
-
: undefined,
|
|
391
|
+
: undefined, "tracker-id": item.trackerId ||
|
|
392
|
+
`mobile-nav-${item.id}`, title: item.title || "", onClick: (e) => {
|
|
492
393
|
this.handleNavClick(e, item.id);
|
|
493
394
|
this.showOverflowMenu = false;
|
|
494
395
|
} }, item.label)))))))) : (
|
|
495
396
|
// Desktop layout - original behavior
|
|
496
|
-
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
|
|
497
398
|
? "active"
|
|
498
399
|
: "", title: item.title || "", onClick: (e) => this.handleNavClick(e, item.id), "aria-current": this.currentActive === item.id
|
|
499
400
|
? "page"
|
|
500
|
-
: 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) => {
|
|
501
402
|
if (e.key === "Enter" ||
|
|
502
403
|
e.key === " ") {
|
|
503
404
|
e.preventDefault();
|
|
504
405
|
this.toggleOverflowMenu();
|
|
505
406
|
}
|
|
506
|
-
}, "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:
|
|
507
|
-
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
|
|
508
408
|
.currentActive ===
|
|
509
409
|
item.id
|
|
510
410
|
? "active"
|
|
@@ -516,7 +416,7 @@ export class PtcSubnavV2 {
|
|
|
516
416
|
.currentActive ===
|
|
517
417
|
item.id
|
|
518
418
|
? "page"
|
|
519
|
-
: undefined }, item.label)))))))))),
|
|
419
|
+
: undefined }, item.label)))))))))), h("div", { class: "subnav-menu-right" }, h("slot", { name: "subnav-menu-right" })))));
|
|
520
420
|
}
|
|
521
421
|
static get is() { return "ptc-subnav-v2"; }
|
|
522
422
|
static get encapsulation() { return "shadow"; }
|
|
@@ -576,9 +476,11 @@ export class PtcSubnavV2 {
|
|
|
576
476
|
"visibleItems": {},
|
|
577
477
|
"overflowItems": {},
|
|
578
478
|
"showOverflowMenu": {},
|
|
579
|
-
"
|
|
479
|
+
"containerWidth": {},
|
|
580
480
|
"isMobile": {},
|
|
581
|
-
"
|
|
481
|
+
"selectedMobileItem": {},
|
|
482
|
+
"isManualNavigation": {},
|
|
483
|
+
"mobileDropdownItems": {}
|
|
582
484
|
};
|
|
583
485
|
}
|
|
584
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": {
|