@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.
Files changed (535) hide show
  1. package/dist/cjs/blogs-search-section.cjs.entry.js +4 -1
  2. package/dist/cjs/buying-option-card.cjs.entry.js +1 -1
  3. package/dist/cjs/buying-option-cards-slider.cjs.entry.js +15 -8
  4. package/dist/cjs/{component-35540bfb.js → component-6a178a16.js} +2643 -832
  5. package/dist/cjs/dynamic-box-bundle.cjs.entry.js +3 -1
  6. package/dist/cjs/featured-list.cjs.entry.js +1 -1
  7. package/dist/cjs/homepage-toggled-content.cjs.entry.js +3 -1
  8. package/dist/cjs/{icon-asset_2.cjs.entry.js → icon-asset.cjs.entry.js} +0 -89
  9. package/dist/cjs/innovator-toggle-container.cjs.entry.js +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/modal-form-example.cjs.entry.js +109 -0
  12. package/dist/cjs/ptc-announcement.cjs.entry.js +2 -1
  13. package/dist/cjs/ptc-bio-card.cjs.entry.js +1 -1
  14. package/dist/cjs/ptc-button_5.cjs.entry.js +597 -0
  15. package/dist/cjs/ptc-card-bottom_2.cjs.entry.js +3 -17
  16. package/dist/cjs/ptc-card-content.cjs.entry.js +1 -7
  17. package/dist/cjs/ptc-card_2.cjs.entry.js +6 -5
  18. package/dist/cjs/ptc-case-studies-slider.cjs.entry.js +1 -1
  19. package/dist/cjs/ptc-close-icon_2.cjs.entry.js +24 -24
  20. package/dist/cjs/ptc-data-lookup.cjs.entry.js +1 -2
  21. package/dist/cjs/ptc-featured-list.cjs.entry.js +1 -1
  22. package/dist/cjs/ptc-filter-dropdown_4.cjs.entry.js +1 -1
  23. package/dist/cjs/ptc-filter-level-theater.cjs.entry.js +1 -1
  24. package/dist/cjs/{ptc-form-checkbox_2.cjs.entry.js → ptc-form-checkbox_4.cjs.entry.js} +724 -6
  25. package/dist/cjs/ptc-homepage-video-background.cjs.entry.js +1 -1
  26. package/dist/cjs/ptc-image-download-strip.cjs.entry.js +1 -1
  27. package/dist/cjs/ptc-img.cjs.entry.js +87 -7
  28. package/dist/cjs/ptc-jumbotron.cjs.entry.js +11 -5
  29. package/dist/cjs/ptc-modal-quiz.cjs.entry.js +4 -1
  30. package/dist/cjs/ptc-nav-card.cjs.entry.js +1 -1
  31. package/dist/cjs/ptc-podcast-card.cjs.entry.js +1 -1
  32. package/dist/cjs/ptc-preloader.cjs.entry.js +1 -1
  33. package/dist/cjs/ptc-previous-url.cjs.entry.js +11 -2
  34. package/dist/cjs/ptc-pricing-packaging-table.cjs.entry.js +37 -21
  35. package/dist/cjs/ptc-pricing-tabs.cjs.entry.js +1 -1
  36. package/dist/cjs/ptc-product-card.cjs.entry.js +1 -1
  37. package/dist/cjs/ptc-product-category.cjs.entry.js +1 -1
  38. package/dist/cjs/ptc-product-highlight-card.cjs.entry.js +1 -1
  39. package/dist/cjs/ptc-readmore-char.cjs.entry.js +1 -1
  40. package/dist/cjs/ptc-readmore-v3.cjs.entry.js +1 -1
  41. package/dist/cjs/ptc-search-field.cjs.entry.js +95 -0
  42. package/dist/cjs/ptc-subnav-v2.cjs.entry.js +147 -247
  43. package/dist/cjs/ptc-tooltip-v2.cjs.entry.js +1 -1
  44. package/dist/cjs/ptc-value-led-speed-bump.cjs.entry.js +1 -1
  45. package/dist/cjs/ptc-value-prop-card.cjs.entry.js +1 -1
  46. package/dist/cjs/ptc-white-paper.cjs.entry.js +19 -9
  47. package/dist/cjs/ptcw-design.cjs.js +1 -1
  48. package/dist/collection/collection-manifest.json +1 -0
  49. package/dist/collection/components/buying-option-card/buying-option-card.css +2 -0
  50. package/dist/collection/components/buying-option-cards-slider/buying-option-cards-slider.css +9 -35
  51. package/dist/collection/components/buying-option-cards-slider/buying-option-cards-slider.js +14 -7
  52. package/dist/collection/components/dynamic-box-bundle/dynamic-box-bundle.js +3 -1
  53. package/dist/collection/components/icon-asset/media/designer-v6.0.7.svg +30 -2
  54. package/dist/collection/components/innovator-toggle-container/innovator-toggle-container.css +28 -2
  55. package/dist/collection/components/organism-bundles/blogs-search-section/blogs-search-section.js +4 -1
  56. package/dist/collection/components/organism-bundles/bundle-featured-list/featured-list.css +24 -0
  57. package/dist/collection/components/organism-bundles/form/modal-from-example/modal-form-example.css +26 -0
  58. package/dist/collection/components/organism-bundles/form/modal-from-example/modal-form-example.js +114 -0
  59. package/dist/collection/components/organism-bundles/homepage-toggled-content/homepage-toggled-content.js +3 -1
  60. package/dist/collection/components/ptc-announcement/ptc-announcement.js +2 -1
  61. package/dist/collection/components/ptc-bio-card/ptc-bio-card.css +24 -0
  62. package/dist/collection/components/ptc-button/ptc-button.css +0 -2
  63. package/dist/collection/components/ptc-card/ptc-card.css +15 -1
  64. package/dist/collection/components/ptc-card-content/ptc-card-content.css +3 -45
  65. package/dist/collection/components/ptc-card-content/ptc-card-content.js +2 -26
  66. package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.js +3 -17
  67. package/dist/collection/components/ptc-case-studies-slider/ptc-case-studies-slider.css +24 -0
  68. package/dist/collection/components/ptc-featured-list/ptc-featured-list.css +24 -0
  69. package/dist/collection/components/ptc-filter-dropdown/ptc-filter-dropdown.css +1 -0
  70. package/dist/collection/components/ptc-filter-level-theater/ptc-filter-level-theater.css +24 -0
  71. package/dist/collection/components/ptc-homepage-video-background/ptc-homepage-video-background.css +2 -1
  72. package/dist/collection/components/ptc-image-download-strip/ptc-image-download-strip.css +2 -1
  73. package/dist/collection/components/ptc-img/ptc-img.css +76 -0
  74. package/dist/collection/components/ptc-img/ptc-img.js +132 -7
  75. package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.css +26 -3
  76. package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.js +28 -4
  77. package/dist/collection/components/ptc-modal/ptc-modal.css +5 -0
  78. package/dist/collection/components/ptc-modal/ptc-modal.js +25 -25
  79. package/dist/collection/components/ptc-modal-quiz/ptc-modal-quiz.js +4 -1
  80. package/dist/collection/components/ptc-nav-card/ptc-nav-card.css +5 -2
  81. package/dist/collection/components/ptc-para/ptc-para.css +3 -0
  82. package/dist/collection/components/ptc-para/ptc-para.js +2 -2
  83. package/dist/collection/components/ptc-picture/ptc-picture.js +0 -40
  84. package/dist/collection/components/ptc-podcast-card/ptc-podcast-card.css +24 -0
  85. package/dist/collection/components/ptc-preloader/ptc-preloader.css +147 -111
  86. package/dist/collection/components/ptc-preloader/ptc-preloader.js +1 -1
  87. package/dist/collection/components/ptc-preloader-section/ptc-preloader-section.css +1 -2
  88. package/dist/collection/components/ptc-preloader-section/ptc-preloader-section.js +4 -3
  89. package/dist/collection/components/ptc-previous-url/ptc-previous-url.css +16 -0
  90. package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +28 -1
  91. package/dist/collection/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.js +37 -21
  92. package/dist/collection/components/ptc-pricing-tabs/ptc-pricing-tabs.js +1 -1
  93. package/dist/collection/components/ptc-product-card/ptc-product-card.css +24 -0
  94. package/dist/collection/components/ptc-product-category/ptc-product-category.css +24 -0
  95. package/dist/collection/components/ptc-product-highlight-card/ptc-product-highlight-card.css +24 -0
  96. package/dist/collection/components/ptc-readmore-char/ptc-readmore-char.css +24 -0
  97. package/dist/collection/components/ptc-readmore-v3/ptc-readmore-v3.css +24 -0
  98. package/dist/collection/components/ptc-subnav-v2/ptc-subnav-v2.css +110 -115
  99. package/dist/collection/components/ptc-subnav-v2/ptc-subnav-v2.js +150 -248
  100. package/dist/collection/components/ptc-textfield/ptc-textfield.css +1 -1
  101. package/dist/collection/components/ptc-textfield/ptc-textfield.js +3 -5
  102. package/dist/collection/components/ptc-tooltip-v2/ptc-tooltip-v2.css +24 -0
  103. package/dist/collection/components/ptc-value-led-speed-bump/ptc-value-led-speed-bump.css +24 -0
  104. package/dist/collection/components/ptc-value-prop-card/ptc-value-prop-card.css +2 -1
  105. package/dist/collection/components/ptc-white-paper/ptc-white-paper.css +29 -4
  106. package/dist/collection/components/ptc-white-paper/ptc-white-paper.js +18 -8
  107. package/dist/collection/stories/organisms/eSupport/CaseTracker/preview.stories.js +45 -0
  108. package/dist/collection/stories/organisms/eSupport/SupportArticle/preview.stories.js +47 -0
  109. package/dist/collection/stories/organisms/eSupport/SupportPage/preview.stories.js +157 -0
  110. package/dist/collection/stories/organisms/ptc/Subanv New/preview.stories.js +338 -0
  111. package/dist/collection/stories/ptc-subnav-v2/ptc-subnav-v2.stories.js +0 -0
  112. package/dist/custom-elements/index.d.ts +6 -0
  113. package/dist/custom-elements/index.js +515 -409
  114. package/dist/esm/academic-form-test.entry.js +1 -1
  115. package/dist/esm/author-listing-example.entry.js +1 -1
  116. package/dist/esm/blog-detail-content_2.entry.js +2 -2
  117. package/dist/esm/blog-detail-layout.entry.js +2 -2
  118. package/dist/esm/blogs-search-section.entry.js +6 -3
  119. package/dist/esm/bundle-example.entry.js +1 -1
  120. package/dist/esm/bundle-jumbotron-example.entry.js +1 -1
  121. package/dist/esm/buying-option-card.entry.js +2 -2
  122. package/dist/esm/buying-option-cards-slider.entry.js +16 -9
  123. package/dist/esm/{component-8c53e377.js → component-80f298b4.js} +2592 -793
  124. package/dist/esm/dropdown-item.entry.js +1 -1
  125. package/dist/esm/dynamic-box-bundle.entry.js +4 -2
  126. package/dist/esm/embedded-form.entry.js +1 -1
  127. package/dist/esm/event-jumbotron-example.entry.js +1 -1
  128. package/dist/esm/event-podcast-slider-example.entry.js +1 -1
  129. package/dist/esm/featured-events-slider-example.entry.js +1 -1
  130. package/dist/esm/featured-list.entry.js +2 -2
  131. package/dist/esm/fl-tab-content_3.entry.js +1 -1
  132. package/dist/esm/footer-form.entry.js +1 -1
  133. package/dist/esm/homepage-clickable-tab.entry.js +1 -1
  134. package/dist/esm/homepage-jumbotron.entry.js +2 -2
  135. package/dist/esm/homepage-toggled-content.entry.js +5 -3
  136. package/dist/esm/{icon-asset_2.entry.js → icon-asset.entry.js} +2 -90
  137. package/dist/esm/{index-0bf594c4.js → index-c83db688.js} +1 -1
  138. package/dist/esm/innovator-toggle-container.entry.js +3 -3
  139. package/dist/esm/{interfaces-4caedd26.js → interfaces-7c0243be.js} +1 -1
  140. package/dist/esm/jumbotron-sub-menu.entry.js +1 -1
  141. package/dist/esm/jumbotron-sub-mune.entry.js +1 -1
  142. package/dist/esm/list-item.entry.js +1 -1
  143. package/dist/esm/loader.js +3 -3
  144. package/dist/esm/max-width-container.entry.js +1 -1
  145. package/dist/esm/modal-form-example.entry.js +105 -0
  146. package/dist/esm/most-popular-news.entry.js +2 -2
  147. package/dist/esm/my-component.entry.js +2 -2
  148. package/dist/esm/news-search-result.entry.js +1 -1
  149. package/dist/esm/ptc-accordion-item.entry.js +2 -2
  150. package/dist/esm/ptc-accordion.entry.js +1 -1
  151. package/dist/esm/ptc-announcement.entry.js +3 -2
  152. package/dist/esm/ptc-back-to-top.entry.js +1 -1
  153. package/dist/esm/ptc-background-video.entry.js +2 -2
  154. package/dist/esm/ptc-badge.entry.js +1 -1
  155. package/dist/esm/ptc-bio-card.entry.js +2 -2
  156. package/dist/esm/ptc-breadcrumb.entry.js +1 -1
  157. package/dist/esm/ptc-brightcov-video.entry.js +1 -1
  158. package/dist/esm/ptc-button_5.entry.js +589 -0
  159. package/dist/esm/ptc-card-bottom_2.entry.js +4 -18
  160. package/dist/esm/ptc-card-content.entry.js +2 -8
  161. package/dist/esm/ptc-card_2.entry.js +7 -6
  162. package/dist/esm/ptc-case-studies-slider.entry.js +2 -2
  163. package/dist/esm/ptc-checkbox-group.entry.js +1 -1
  164. package/dist/esm/ptc-checkbox.entry.js +1 -1
  165. package/dist/esm/ptc-close-icon_2.entry.js +25 -25
  166. package/dist/esm/ptc-collapse-list.entry.js +2 -2
  167. package/dist/esm/ptc-container.entry.js +1 -1
  168. package/dist/esm/ptc-countdown.entry.js +1 -1
  169. package/dist/esm/ptc-data-lookup.entry.js +2 -3
  170. package/dist/esm/ptc-date.entry.js +1 -1
  171. package/dist/esm/ptc-dropdown.entry.js +1 -1
  172. package/dist/esm/ptc-dynamic-card.entry.js +1 -1
  173. package/dist/esm/ptc-ellipsis-dropdown.entry.js +1 -1
  174. package/dist/esm/ptc-embedded-quiz.entry.js +1 -1
  175. package/dist/esm/ptc-enhanced-product-listing-card.entry.js +1 -1
  176. package/dist/esm/ptc-featured-list.entry.js +2 -2
  177. package/dist/esm/ptc-filter-dropdown_4.entry.js +2 -2
  178. package/dist/esm/ptc-filter-level-theater.entry.js +2 -2
  179. package/dist/esm/ptc-filter-tag_2.entry.js +1 -1
  180. package/dist/esm/ptc-footer.entry.js +1 -1
  181. package/dist/esm/{ptc-form-checkbox_2.entry.js → ptc-form-checkbox_4.entry.js} +725 -9
  182. package/dist/esm/ptc-form-radio-button.entry.js +1 -1
  183. package/dist/esm/ptc-form-radio-group.entry.js +1 -1
  184. package/dist/esm/ptc-form.entry.js +1 -1
  185. package/dist/esm/ptc-hero-footer-cta.entry.js +1 -1
  186. package/dist/esm/ptc-hero.entry.js +1 -1
  187. package/dist/esm/ptc-homepage-image-feature.entry.js +2 -2
  188. package/dist/esm/ptc-homepage-video-background.entry.js +3 -3
  189. package/dist/esm/ptc-icon-card-slider-example.entry.js +1 -1
  190. package/dist/esm/ptc-icon-card.entry.js +2 -2
  191. package/dist/esm/ptc-icon-component.entry.js +1 -1
  192. package/dist/esm/ptc-icon-list.entry.js +1 -1
  193. package/dist/esm/ptc-icon-minimize.entry.js +1 -1
  194. package/dist/esm/ptc-image-download-strip.entry.js +2 -2
  195. package/dist/esm/ptc-img.entry.js +89 -9
  196. package/dist/esm/ptc-info-tile.entry.js +1 -1
  197. package/dist/esm/ptc-inline-cta.entry.js +1 -1
  198. package/dist/esm/ptc-jumbotron.entry.js +12 -6
  199. package/dist/esm/ptc-link.entry.js +2 -2
  200. package/dist/esm/ptc-list.entry.js +1 -1
  201. package/dist/esm/ptc-media-card.entry.js +2 -2
  202. package/dist/esm/ptc-minimized-nav.entry.js +1 -1
  203. package/dist/esm/ptc-mobile-select.entry.js +1 -1
  204. package/dist/esm/ptc-modal-quiz.entry.js +5 -2
  205. package/dist/esm/ptc-nav-card.entry.js +2 -2
  206. package/dist/esm/ptc-nav-link.entry.js +1 -1
  207. package/dist/esm/ptc-nav-pills.entry.js +1 -1
  208. package/dist/esm/ptc-nav-skip-to-content.entry.js +1 -1
  209. package/dist/esm/ptc-nav-slider.entry.js +1 -1
  210. package/dist/esm/ptc-nav-submenu.entry.js +1 -1
  211. package/dist/esm/ptc-nav-tile.entry.js +1 -1
  212. package/dist/esm/ptc-news.entry.js +1 -1
  213. package/dist/esm/ptc-office-location-card.entry.js +1 -1
  214. package/dist/esm/ptc-office-locations.entry.js +1 -1
  215. package/dist/esm/ptc-overlay.entry.js +1 -1
  216. package/dist/esm/ptc-podcast-card.entry.js +2 -2
  217. package/dist/esm/ptc-preferance-center-form.entry.js +1 -1
  218. package/dist/esm/ptc-preloader.entry.js +2 -2
  219. package/dist/esm/ptc-previous-url.entry.js +12 -3
  220. package/dist/esm/ptc-pricing-add-on-card.entry.js +1 -1
  221. package/dist/esm/ptc-pricing-add-on-section.entry.js +1 -1
  222. package/dist/esm/ptc-pricing-block.entry.js +1 -1
  223. package/dist/esm/ptc-pricing-packaging-table.entry.js +39 -23
  224. package/dist/esm/ptc-pricing-tabs.entry.js +3 -3
  225. package/dist/esm/ptc-product-card.entry.js +2 -2
  226. package/dist/esm/ptc-product-category.entry.js +2 -2
  227. package/dist/esm/ptc-product-dropdown.entry.js +1 -1
  228. package/dist/esm/ptc-product-highlight-card.entry.js +2 -2
  229. package/dist/esm/ptc-product-list.entry.js +1 -1
  230. package/dist/esm/ptc-product-sidebar.entry.js +1 -1
  231. package/dist/esm/ptc-progress-bar.entry.js +1 -1
  232. package/dist/esm/ptc-quantity-counter.entry.js +1 -1
  233. package/dist/esm/ptc-quote.entry.js +1 -1
  234. package/dist/esm/ptc-readmore-char.entry.js +2 -2
  235. package/dist/esm/ptc-readmore-new.entry.js +1 -1
  236. package/dist/esm/ptc-readmore-v3.entry.js +2 -2
  237. package/dist/esm/ptc-readmore.entry.js +1 -1
  238. package/dist/esm/ptc-related-card-rail.entry.js +1 -1
  239. package/dist/esm/ptc-responsive-wrapper.entry.js +1 -1
  240. package/dist/esm/ptc-scroll-button.entry.js +1 -1
  241. package/dist/esm/ptc-search-field.entry.js +91 -0
  242. package/dist/esm/ptc-seo-title.entry.js +1 -1
  243. package/dist/esm/ptc-shopping-cart.entry.js +1 -1
  244. package/dist/esm/ptc-showcase-card.entry.js +1 -1
  245. package/dist/esm/ptc-skeleton.entry.js +1 -1
  246. package/dist/esm/ptc-slit-card.entry.js +1 -1
  247. package/dist/esm/ptc-social-icons-footer.entry.js +2 -2
  248. package/dist/esm/ptc-social-icons.entry.js +1 -1
  249. package/dist/esm/ptc-span.entry.js +1 -1
  250. package/dist/esm/ptc-square-card.entry.js +1 -1
  251. package/dist/esm/ptc-sticky-icons.entry.js +1 -1
  252. package/dist/esm/ptc-sticky-section.entry.js +1 -1
  253. package/dist/esm/ptc-sticky-title.entry.js +1 -1
  254. package/dist/esm/ptc-subnav-card.entry.js +1 -1
  255. package/dist/esm/ptc-subnav-v2.entry.js +148 -248
  256. package/dist/esm/ptc-subnav.entry.js +1 -1
  257. package/dist/esm/ptc-svg-btn.entry.js +1 -1
  258. package/dist/esm/ptc-tab-list.entry.js +1 -1
  259. package/dist/esm/ptc-tab.entry.js +1 -1
  260. package/dist/esm/ptc-tabs.entry.js +1 -1
  261. package/dist/esm/ptc-text-copy-with-background.entry.js +1 -1
  262. package/dist/esm/ptc-theater-video-modal.entry.js +1 -1
  263. package/dist/esm/ptc-tooltip-v2.entry.js +2 -2
  264. package/dist/esm/ptc-tooltip-v3.entry.js +1 -1
  265. package/dist/esm/ptc-tooltip.entry.js +1 -1
  266. package/dist/esm/ptc-two-column-media.entry.js +1 -1
  267. package/dist/esm/ptc-value-led-card.entry.js +1 -1
  268. package/dist/esm/ptc-value-led-content-highlight.entry.js +1 -1
  269. package/dist/esm/ptc-value-led-content.entry.js +1 -1
  270. package/dist/esm/ptc-value-led-intro.entry.js +1 -1
  271. package/dist/esm/ptc-value-led-layout.entry.js +1 -1
  272. package/dist/esm/ptc-value-led-speed-bump.entry.js +2 -2
  273. package/dist/esm/ptc-value-prop-card.entry.js +2 -2
  274. package/dist/esm/ptc-video-embed.entry.js +1 -1
  275. package/dist/esm/ptc-white-paper.entry.js +20 -10
  276. package/dist/esm/ptcw-design.js +3 -3
  277. package/dist/esm/sequential-bundle-example.entry.js +1 -1
  278. package/dist/esm/sequential-bundle.entry.js +1 -1
  279. package/dist/esm/storefront-enhanced-product-list-alt-example.entry.js +1 -1
  280. package/dist/esm/storefront-enhanced-product-list-example.entry.js +1 -1
  281. package/dist/esm/tab-content.entry.js +1 -1
  282. package/dist/esm/tab-header.entry.js +1 -1
  283. package/dist/esm/{utils-bdd0cc16.js → utils-a64ba942.js} +1 -1
  284. package/dist/ptcw-design/media/designer-v6.0.7.svg +30 -2
  285. package/dist/ptcw-design/{p-8b6d2c59.entry.js → p-02622aa7.entry.js} +1 -1
  286. package/dist/ptcw-design/{p-a0d6fc14.entry.js → p-0451b768.entry.js} +1 -1
  287. package/dist/ptcw-design/p-04891836.entry.js +1 -0
  288. package/dist/ptcw-design/{p-74a845fd.entry.js → p-04aae3f5.entry.js} +1 -1
  289. package/dist/ptcw-design/{p-c9a73ad1.entry.js → p-04f0b1ba.entry.js} +1 -1
  290. package/dist/ptcw-design/p-086ab73a.entry.js +1 -0
  291. package/dist/ptcw-design/p-0a86d91a.entry.js +1 -0
  292. package/dist/ptcw-design/{p-e8b51e7d.entry.js → p-0a9ee6c2.entry.js} +1 -1
  293. package/dist/ptcw-design/{p-c80265d9.entry.js → p-0c914932.entry.js} +1 -1
  294. package/dist/ptcw-design/{p-f004e5de.entry.js → p-0ddf2a09.entry.js} +1 -1
  295. package/dist/ptcw-design/{p-804dac0c.entry.js → p-0df868d2.entry.js} +1 -1
  296. package/dist/ptcw-design/{p-36d6e662.entry.js → p-13e338a5.entry.js} +1 -1
  297. package/dist/ptcw-design/p-1519b36f.entry.js +1 -0
  298. package/dist/ptcw-design/{p-8cdcfb51.entry.js → p-15e36f30.entry.js} +1 -1
  299. package/dist/ptcw-design/p-17b8281a.entry.js +1 -0
  300. package/dist/ptcw-design/{p-f418ef26.entry.js → p-18d699f0.entry.js} +1 -1
  301. package/dist/ptcw-design/{p-7815e38b.entry.js → p-1bffeaed.entry.js} +1 -1
  302. package/dist/ptcw-design/{p-908ad455.entry.js → p-1c26f390.entry.js} +1 -1
  303. package/dist/ptcw-design/{p-850e6e8c.entry.js → p-1e32a493.entry.js} +1 -1
  304. package/dist/ptcw-design/{p-d428ba40.entry.js → p-1f0daed2.entry.js} +1 -1
  305. package/dist/ptcw-design/{p-2fd01953.entry.js → p-21fa5abe.entry.js} +1 -1
  306. package/dist/ptcw-design/{p-c7e948b2.js → p-22cf00e7.js} +1 -1
  307. package/dist/ptcw-design/{p-c9762c88.entry.js → p-23cb5b5b.entry.js} +1 -1
  308. package/dist/ptcw-design/{p-a22d7ae8.entry.js → p-257a68df.entry.js} +1 -1
  309. package/dist/ptcw-design/{p-d9ec506c.entry.js → p-260ecfef.entry.js} +1 -1
  310. package/dist/ptcw-design/p-2670ac97.entry.js +1 -0
  311. package/dist/ptcw-design/{p-14c77b5e.entry.js → p-27e47c25.entry.js} +1 -1
  312. package/dist/ptcw-design/{p-f20e4230.entry.js → p-2a22123e.entry.js} +1 -1
  313. package/dist/ptcw-design/{p-f4ae5a99.entry.js → p-2b08a37d.entry.js} +1 -1
  314. package/dist/ptcw-design/{p-315b7885.entry.js → p-2c287230.entry.js} +1 -1
  315. package/dist/ptcw-design/{p-54891548.entry.js → p-2c2f895a.entry.js} +1 -1
  316. package/dist/ptcw-design/p-2c8faf9a.entry.js +1 -0
  317. package/dist/ptcw-design/p-2d00fefd.entry.js +1 -0
  318. package/dist/ptcw-design/p-32bec5ef.entry.js +1 -0
  319. package/dist/ptcw-design/p-349f43d5.entry.js +1 -0
  320. package/dist/ptcw-design/p-3572eccc.entry.js +1 -0
  321. package/dist/ptcw-design/p-36a3eb03.entry.js +68 -0
  322. package/dist/ptcw-design/p-37f92bb4.entry.js +1 -0
  323. package/dist/ptcw-design/{p-a2710bbf.entry.js → p-3872fce7.entry.js} +1 -1
  324. package/dist/ptcw-design/p-390c0dee.entry.js +1 -0
  325. package/dist/ptcw-design/p-3ddb6c50.entry.js +1 -0
  326. package/dist/ptcw-design/p-456c5cbb.entry.js +1 -0
  327. package/dist/ptcw-design/{p-9df3c31f.entry.js → p-46b47ed7.entry.js} +1 -1
  328. package/dist/ptcw-design/{p-068b64a1.entry.js → p-46c518c8.entry.js} +1 -1
  329. package/dist/ptcw-design/{p-1e9f25fc.entry.js → p-46f67bec.entry.js} +1 -1
  330. package/dist/ptcw-design/{p-a1dc7ae5.entry.js → p-4f3dea53.entry.js} +1 -1
  331. package/dist/ptcw-design/{p-ed5a467e.entry.js → p-4f4f97a6.entry.js} +1 -1
  332. package/dist/ptcw-design/{p-2f82de8f.entry.js → p-50569afd.entry.js} +1 -1
  333. package/dist/ptcw-design/{p-91e5c8d4.entry.js → p-506dac1f.entry.js} +1 -1
  334. package/dist/ptcw-design/p-53a96796.entry.js +1 -0
  335. package/dist/ptcw-design/{p-bca81995.entry.js → p-560b05a5.entry.js} +1 -1
  336. package/dist/ptcw-design/{p-674c828e.entry.js → p-567535fb.entry.js} +1 -1
  337. package/dist/ptcw-design/{p-c8de7309.entry.js → p-575861b3.entry.js} +1 -1
  338. package/dist/ptcw-design/{p-ec395ae9.entry.js → p-5877f093.entry.js} +1 -1
  339. package/dist/ptcw-design/{p-07b46e6e.entry.js → p-58909b95.entry.js} +1 -1
  340. package/dist/ptcw-design/{p-cab0274c.entry.js → p-5946d7c9.entry.js} +1 -1
  341. package/dist/ptcw-design/{p-807ad5c4.entry.js → p-5980d65d.entry.js} +1 -1
  342. package/dist/ptcw-design/p-5cf5b9f8.entry.js +1 -0
  343. package/dist/ptcw-design/{p-7c6d6a5e.entry.js → p-5dd538c4.entry.js} +1 -1
  344. package/dist/ptcw-design/p-5e4c1edf.entry.js +1 -0
  345. package/dist/ptcw-design/p-5ec17b43.entry.js +1 -0
  346. package/dist/ptcw-design/p-60d001c8.entry.js +1 -0
  347. package/dist/ptcw-design/{p-5fb671ee.entry.js → p-61d28206.entry.js} +1 -1
  348. package/dist/ptcw-design/{p-5b00a563.entry.js → p-62e3cd51.entry.js} +1 -1
  349. package/dist/ptcw-design/{p-3e13f29c.entry.js → p-66ecd7b9.entry.js} +1 -1
  350. package/dist/ptcw-design/p-672a349f.js +336 -0
  351. package/dist/ptcw-design/{p-575c7fc0.entry.js → p-6aa9ed95.entry.js} +1 -1
  352. package/dist/ptcw-design/p-6ac4cfab.entry.js +1 -0
  353. package/dist/ptcw-design/p-6b9d075f.entry.js +1 -0
  354. package/dist/ptcw-design/{p-7a9288d1.entry.js → p-7235425a.entry.js} +1 -1
  355. package/dist/ptcw-design/p-74097f89.entry.js +1 -0
  356. package/dist/ptcw-design/{p-522cb451.entry.js → p-757954b2.entry.js} +1 -1
  357. package/dist/ptcw-design/{p-3e13b735.entry.js → p-76d98c5a.entry.js} +1 -1
  358. package/dist/ptcw-design/{p-2fdd81d4.entry.js → p-7714bbaf.entry.js} +1 -1
  359. package/dist/ptcw-design/p-7834cfee.entry.js +1 -0
  360. package/dist/ptcw-design/p-799afee5.entry.js +1 -0
  361. package/dist/ptcw-design/{p-ecfc8211.entry.js → p-7a1db471.entry.js} +1 -1
  362. package/dist/ptcw-design/{p-183ba1ca.entry.js → p-7d29a418.entry.js} +1 -1
  363. package/dist/ptcw-design/p-7fe4d383.entry.js +1 -0
  364. package/dist/ptcw-design/{p-a974f98f.entry.js → p-8191928d.entry.js} +1 -1
  365. package/dist/ptcw-design/p-82f766d2.entry.js +1 -0
  366. package/dist/ptcw-design/{p-ff369ed7.entry.js → p-84c15835.entry.js} +1 -1
  367. package/dist/ptcw-design/{p-3c52fabe.entry.js → p-8533988f.entry.js} +1 -1
  368. package/dist/ptcw-design/{p-1ab6201b.entry.js → p-85f32bf5.entry.js} +1 -1
  369. package/dist/ptcw-design/{p-bf2f9183.entry.js → p-89ba3dfd.entry.js} +1 -1
  370. package/dist/ptcw-design/{p-d0013567.entry.js → p-8b480abd.entry.js} +1 -1
  371. package/dist/ptcw-design/p-8fb48953.entry.js +1 -0
  372. package/dist/ptcw-design/p-9063956c.entry.js +1 -0
  373. package/dist/ptcw-design/p-90f1a7af.entry.js +1 -0
  374. package/dist/ptcw-design/{p-cf0f6559.entry.js → p-927373d4.entry.js} +1 -1
  375. package/dist/ptcw-design/{p-a318a793.entry.js → p-92ad78c5.entry.js} +1 -1
  376. package/dist/ptcw-design/{p-e1bd2c43.entry.js → p-92e76318.entry.js} +1 -1
  377. package/dist/ptcw-design/{p-80c56c81.entry.js → p-931650bb.entry.js} +1 -1
  378. package/dist/ptcw-design/{p-2ba77e9d.entry.js → p-9354b7fd.entry.js} +1 -1
  379. package/dist/ptcw-design/p-96f346c4.entry.js +1 -0
  380. package/dist/ptcw-design/p-97eb1025.entry.js +1 -0
  381. package/dist/ptcw-design/{p-ce125ef2.entry.js → p-98610430.entry.js} +1 -1
  382. package/dist/ptcw-design/{p-1acd3617.entry.js → p-99daf693.entry.js} +1 -1
  383. package/dist/ptcw-design/{p-8eb36507.entry.js → p-9a335b5b.entry.js} +1 -1
  384. package/dist/ptcw-design/{p-0abb6e77.entry.js → p-9ac99185.entry.js} +1 -1
  385. package/dist/ptcw-design/{p-290012e3.entry.js → p-9b26ea67.entry.js} +1 -1
  386. package/dist/ptcw-design/{p-2f7b6437.entry.js → p-9ca635fa.entry.js} +1 -1
  387. package/dist/ptcw-design/{p-6d628113.entry.js → p-9de963f8.entry.js} +1 -1
  388. package/dist/ptcw-design/{p-6251a6d6.entry.js → p-9e4e21a4.entry.js} +1 -1
  389. package/dist/ptcw-design/{p-0ed4609e.entry.js → p-9ef2b1e7.entry.js} +1 -1
  390. package/dist/ptcw-design/{p-b154bbdb.entry.js → p-9fb21bdf.entry.js} +1 -1
  391. package/dist/ptcw-design/{p-afb5bdb9.entry.js → p-a04bedc2.entry.js} +1 -1
  392. package/dist/ptcw-design/{p-dadbab48.entry.js → p-a0bf3dd2.entry.js} +1 -1
  393. package/dist/ptcw-design/{p-e2e33ddb.entry.js → p-a37c5209.entry.js} +1 -1
  394. package/dist/ptcw-design/{p-b6cc4c2a.entry.js → p-a41c7e39.entry.js} +1 -1
  395. package/dist/ptcw-design/{p-dabb1b70.entry.js → p-a54c6da5.entry.js} +1 -1
  396. package/dist/ptcw-design/{p-be00fb74.entry.js → p-a7cb3851.entry.js} +1 -1
  397. package/dist/ptcw-design/{p-ed53cb3a.entry.js → p-a8304a3e.entry.js} +1 -1
  398. package/dist/ptcw-design/{p-de663192.entry.js → p-a8504f11.entry.js} +1 -1
  399. package/dist/ptcw-design/p-a993c0a6.entry.js +1 -0
  400. package/dist/ptcw-design/{p-c5417010.entry.js → p-aac082cf.entry.js} +1 -1
  401. package/dist/ptcw-design/{p-6f1cc5e5.entry.js → p-ab4906a7.entry.js} +1 -1
  402. package/dist/ptcw-design/{p-944c5be8.js → p-ac75c7ad.js} +1 -1
  403. package/dist/ptcw-design/{p-e249cd90.entry.js → p-ac7b2779.entry.js} +1 -1
  404. package/dist/ptcw-design/{p-b293a0b1.entry.js → p-aea09a70.entry.js} +1 -1
  405. package/dist/ptcw-design/p-b06bc0a1.entry.js +1 -0
  406. package/dist/ptcw-design/{p-b82dd7f9.entry.js → p-b19cda95.entry.js} +1 -1
  407. package/dist/ptcw-design/{p-79762cf6.entry.js → p-b436f56d.entry.js} +1 -1
  408. package/dist/ptcw-design/p-b684ca9d.entry.js +1 -0
  409. package/dist/ptcw-design/{p-07b1afd5.entry.js → p-b8ee8699.entry.js} +1 -1
  410. package/dist/ptcw-design/{p-ca039722.entry.js → p-baeee2b4.entry.js} +1 -1
  411. package/dist/ptcw-design/p-bb9a879f.entry.js +1 -0
  412. package/dist/ptcw-design/{p-e1373325.entry.js → p-bd3d71f1.entry.js} +1 -1
  413. package/dist/ptcw-design/{p-73293d32.entry.js → p-bf84ecc0.entry.js} +1 -1
  414. package/dist/ptcw-design/{p-9a28ded2.entry.js → p-bfacfe67.entry.js} +1 -1
  415. package/dist/ptcw-design/{p-fb0c3eeb.entry.js → p-c061b32d.entry.js} +1 -1
  416. package/dist/ptcw-design/p-c09a8288.entry.js +1 -0
  417. package/dist/ptcw-design/{p-d3c11c68.entry.js → p-c160bda4.entry.js} +1 -1
  418. package/dist/ptcw-design/{p-5344a1f4.entry.js → p-c4674bc8.entry.js} +1 -1
  419. package/dist/ptcw-design/{p-dd38bf84.entry.js → p-c5f42895.entry.js} +1 -1
  420. package/dist/ptcw-design/{p-61a5012d.entry.js → p-c631608f.entry.js} +1 -1
  421. package/dist/ptcw-design/{p-e87a4ff8.entry.js → p-c68d31c6.entry.js} +1 -1
  422. package/dist/ptcw-design/{p-43756439.entry.js → p-c6a0dd99.entry.js} +1 -1
  423. package/dist/ptcw-design/p-c89030e4.entry.js +1 -0
  424. package/dist/ptcw-design/p-cb0e3ec2.entry.js +1 -0
  425. package/dist/ptcw-design/{p-384548ef.entry.js → p-cc652ebe.entry.js} +1 -1
  426. package/dist/ptcw-design/{p-03a1e1a5.entry.js → p-cc7d5eb7.entry.js} +1 -1
  427. package/dist/ptcw-design/{p-89da867f.entry.js → p-d391c01b.entry.js} +1 -1
  428. package/dist/ptcw-design/{p-75d8b6ec.entry.js → p-d74ccb19.entry.js} +1 -1
  429. package/dist/ptcw-design/{p-81736d6a.entry.js → p-d77531c8.entry.js} +1 -1
  430. package/dist/ptcw-design/{p-f5665cfe.entry.js → p-d8b2466d.entry.js} +1 -1
  431. package/dist/ptcw-design/{p-e880b556.entry.js → p-db0fc94d.entry.js} +1 -1
  432. package/dist/ptcw-design/p-de960790.entry.js +1 -0
  433. package/dist/ptcw-design/p-df66407c.entry.js +1 -0
  434. package/dist/ptcw-design/p-e01173ca.entry.js +1 -0
  435. package/dist/ptcw-design/p-e0e87d61.entry.js +1 -0
  436. package/dist/ptcw-design/{p-0bb3ea9a.entry.js → p-e235bf27.entry.js} +1 -1
  437. package/dist/ptcw-design/{p-53d2547b.entry.js → p-e3867512.entry.js} +1 -1
  438. package/dist/ptcw-design/{p-d1f57070.entry.js → p-e3bf092e.entry.js} +1 -1
  439. package/dist/ptcw-design/p-e7220c36.entry.js +1 -0
  440. package/dist/ptcw-design/{p-b1053240.entry.js → p-e73a1a0b.entry.js} +1 -1
  441. package/dist/ptcw-design/{p-1b3394a7.entry.js → p-e7c00e48.entry.js} +1 -1
  442. package/dist/ptcw-design/{p-711bcdad.js → p-ee1183b2.js} +1 -1
  443. package/dist/ptcw-design/{p-fe56e336.entry.js → p-ee91170c.entry.js} +1 -1
  444. package/dist/ptcw-design/{p-03e33d4a.entry.js → p-f010c07f.entry.js} +1 -1
  445. package/dist/ptcw-design/{p-83dabf2e.entry.js → p-f2675bb0.entry.js} +1 -1
  446. package/dist/ptcw-design/{p-f2006b03.entry.js → p-f5c97ab2.entry.js} +1 -1
  447. package/dist/ptcw-design/{p-d6271974.entry.js → p-f5d8a3b1.entry.js} +1 -1
  448. package/dist/ptcw-design/p-f6b70f68.entry.js +1 -0
  449. package/dist/ptcw-design/{p-973c69d8.entry.js → p-fbd9c8fc.entry.js} +1 -1
  450. package/dist/ptcw-design/p-fd7e5935.entry.js +1 -0
  451. package/dist/ptcw-design/{p-e6ebc832.entry.js → p-fdee2cdc.entry.js} +1 -1
  452. package/dist/ptcw-design/p-ff66587b.entry.js +1 -0
  453. package/dist/ptcw-design/ptcw-design.css +4 -3
  454. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  455. package/dist/types/components/organism-bundles/form/modal-from-example/modal-form-example.d.ts +25 -0
  456. package/dist/types/components/ptc-card-content/ptc-card-content.d.ts +1 -2
  457. package/dist/types/components/ptc-img/ptc-img.d.ts +29 -1
  458. package/dist/types/components/ptc-jumbotron/ptc-jumbotron.d.ts +4 -0
  459. package/dist/types/components/ptc-modal/ptc-modal.d.ts +1 -1
  460. package/dist/types/components/ptc-para/ptc-para.d.ts +1 -1
  461. package/dist/types/components/ptc-picture/ptc-picture.d.ts +0 -2
  462. package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +2 -0
  463. package/dist/types/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.d.ts +0 -1
  464. package/dist/types/components/ptc-subnav-v2/ptc-subnav-v2.d.ts +6 -32
  465. package/dist/types/components.d.ts +53 -11
  466. package/package.json +1 -1
  467. package/readme.md +5 -1
  468. package/dist/cjs/component-1b8ad4d2.js +0 -1819
  469. package/dist/cjs/ptc-button.cjs.entry.js +0 -117
  470. package/dist/cjs/ptc-multi-select_2.cjs.entry.js +0 -730
  471. package/dist/cjs/ptc-para.cjs.entry.js +0 -139
  472. package/dist/cjs/ptc-picture.cjs.entry.js +0 -185
  473. package/dist/cjs/ptc-spacer.cjs.entry.js +0 -38
  474. package/dist/cjs/ptc-title.cjs.entry.js +0 -161
  475. package/dist/collection/stories/organisms/ptc/Subnav New/preview.stories.js +0 -360
  476. package/dist/esm/component-9beac35b.js +0 -1802
  477. package/dist/esm/ptc-button.entry.js +0 -113
  478. package/dist/esm/ptc-multi-select_2.entry.js +0 -725
  479. package/dist/esm/ptc-para.entry.js +0 -135
  480. package/dist/esm/ptc-picture.entry.js +0 -181
  481. package/dist/esm/ptc-spacer.entry.js +0 -34
  482. package/dist/esm/ptc-title.entry.js +0 -157
  483. package/dist/ptcw-design/p-023bfe37.entry.js +0 -1
  484. package/dist/ptcw-design/p-0ec2a26d.entry.js +0 -1
  485. package/dist/ptcw-design/p-11e86045.entry.js +0 -1
  486. package/dist/ptcw-design/p-167380fc.entry.js +0 -1
  487. package/dist/ptcw-design/p-19832538.entry.js +0 -68
  488. package/dist/ptcw-design/p-212cdacd.entry.js +0 -1
  489. package/dist/ptcw-design/p-2bc4bf65.entry.js +0 -1
  490. package/dist/ptcw-design/p-2e288e60.entry.js +0 -1
  491. package/dist/ptcw-design/p-2efd18d8.entry.js +0 -1
  492. package/dist/ptcw-design/p-33ead201.entry.js +0 -1
  493. package/dist/ptcw-design/p-39255f59.entry.js +0 -1
  494. package/dist/ptcw-design/p-3b481342.entry.js +0 -1
  495. package/dist/ptcw-design/p-3c941935.entry.js +0 -1
  496. package/dist/ptcw-design/p-4313edfb.entry.js +0 -1
  497. package/dist/ptcw-design/p-46e31e30.entry.js +0 -1
  498. package/dist/ptcw-design/p-474a9967.entry.js +0 -1
  499. package/dist/ptcw-design/p-47aa1583.entry.js +0 -1
  500. package/dist/ptcw-design/p-561a622f.entry.js +0 -1
  501. package/dist/ptcw-design/p-5bbfd7b3.entry.js +0 -1
  502. package/dist/ptcw-design/p-60688db7.entry.js +0 -1
  503. package/dist/ptcw-design/p-60b45ae0.entry.js +0 -1
  504. package/dist/ptcw-design/p-63fc38cb.entry.js +0 -1
  505. package/dist/ptcw-design/p-6785dc81.entry.js +0 -1
  506. package/dist/ptcw-design/p-6f0dc158.entry.js +0 -1
  507. package/dist/ptcw-design/p-709cc1f0.entry.js +0 -1
  508. package/dist/ptcw-design/p-7226670f.entry.js +0 -1
  509. package/dist/ptcw-design/p-752159e2.entry.js +0 -1
  510. package/dist/ptcw-design/p-75c8fceb.entry.js +0 -1
  511. package/dist/ptcw-design/p-7777753a.entry.js +0 -1
  512. package/dist/ptcw-design/p-79a6e764.entry.js +0 -1
  513. package/dist/ptcw-design/p-7b89a8e1.entry.js +0 -1
  514. package/dist/ptcw-design/p-8234aa2a.entry.js +0 -1
  515. package/dist/ptcw-design/p-83c3d6c9.entry.js +0 -1
  516. package/dist/ptcw-design/p-87215e3a.entry.js +0 -1
  517. package/dist/ptcw-design/p-87e4c337.entry.js +0 -1
  518. package/dist/ptcw-design/p-92ef47ef.entry.js +0 -1
  519. package/dist/ptcw-design/p-933ddad2.entry.js +0 -1
  520. package/dist/ptcw-design/p-973b06d1.entry.js +0 -1
  521. package/dist/ptcw-design/p-98426799.js +0 -203
  522. package/dist/ptcw-design/p-98844b50.js +0 -134
  523. package/dist/ptcw-design/p-98e2b403.entry.js +0 -1
  524. package/dist/ptcw-design/p-9d8a9a72.entry.js +0 -1
  525. package/dist/ptcw-design/p-a28ff90b.entry.js +0 -1
  526. package/dist/ptcw-design/p-a81833cd.entry.js +0 -1
  527. package/dist/ptcw-design/p-ad4f4f33.entry.js +0 -1
  528. package/dist/ptcw-design/p-b3cd2410.entry.js +0 -1
  529. package/dist/ptcw-design/p-bb86265c.entry.js +0 -1
  530. package/dist/ptcw-design/p-c101aeb5.entry.js +0 -1
  531. package/dist/ptcw-design/p-c7a2088b.entry.js +0 -1
  532. package/dist/ptcw-design/p-e65cbdb9.entry.js +0 -1
  533. package/dist/ptcw-design/p-ec22d0b8.entry.js +0 -1
  534. package/dist/ptcw-design/p-ed16b8c9.entry.js +0 -1
  535. 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
- if (!this.el.contains(event.target)) {
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
- var _a;
11
+ // Handle Escape key to close dropdowns
16
12
  if (event.key === "Escape" && this.showOverflowMenu) {
17
13
  this.showOverflowMenu = false;
18
- (_a = this.overflowButton) === null || _a === void 0 ? void 0 : _a.focus();
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
- this.scrollThrottleTimeout = null;
50
- }, 16); // ~60fps throttling
51
- };
52
- this.initializeStickyPosition = () => {
53
- // Store the original position of the subnav
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.stickyScrollTimeout = null;
55
+ this.scrollThrottleTimeout = null;
108
56
  }, 16); // ~60fps throttling
109
57
  };
110
58
  this.handleResize = () => {
111
- this.navContainer && setTimeout(() => this.calculateVisibleItems(), 10);
112
- // Recalculate original position on resize
113
- if (!this.isSticky) {
114
- this.initializeStickyPosition();
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 (!slotElement)
196
- return null;
197
- const links = slotElement.querySelectorAll("a");
198
- const items = Array.from(links)
199
- .map((link) => {
200
- var _a, _b;
201
- return ({
202
- id: ((_a = link.getAttribute("href")) === null || _a === void 0 ? void 0 : _a.substring(1)) || "",
203
- label: ((_b = link.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || "",
204
- title: link.getAttribute("title") || undefined,
205
- trackerId: link.getAttribute("tracker-id") || undefined,
206
- });
207
- })
208
- .filter((item) => Boolean(item.id && item.label));
209
- return items.length > 0 ? items : null;
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
- const propItems = this.parsePropNavItems();
224
- if (propItems) {
225
- this.cachedNavItems = propItems;
226
- return propItems;
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 or reuse measurement element
279
- if (!this.measurementElement) {
280
- this.measurementElement = document.createElement("div");
281
- this.measurementElement.style.position = "absolute";
282
- this.measurementElement.style.visibility = "hidden";
283
- this.measurementElement.style.whiteSpace = "nowrap";
284
- this.measurementElement.style.fontSize = "14px";
285
- this.measurementElement.style.fontWeight = "700";
286
- this.measurementElement.style.padding = "20px 0 20px 0";
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
- this.measurementElement.textContent = item.label;
292
- const itemWidth = this.measurementElement.offsetWidth + 32; // 32px for gap
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, accounting for sticky nav height
291
+ // Smooth scroll to section if it exists
348
292
  const targetElement = document.querySelector(`#${section}`);
349
293
  if (targetElement) {
350
- // Get the sticky nav height
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.overflowDropdownAlignLeft = false;
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
- this.bindEventHandlers();
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
- this.boundHandleStickyScroll = this.handleStickyScroll.bind(this);
390
- }
391
- addEventListeners() {
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
- window.removeEventListener("scroll", this.boundHandleStickyScroll);
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
- cleanupResizeObserver() {
432
- if (this.resizeObserver) {
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
- parsePropNavItems() {
447
- var _a;
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
- catch (error) {
460
- console.warn("Invalid navItems JSON provided to ptc-subnav-v2:", error);
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: `subnav-container ${!hasRightContent ? "full-width" : ""}` }, hasRightContent && (h("div", { class: "subnav-menu-right" }, h("slot", { name: "subnav-menu-right" }))))));
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: `subnav-container ${!hasRightContent ? "full-width" : ""}` }, h("nav", { class: `subnav-menu-left ${!hasRightContent ? "full-width" : ""}`, role: "navigation", "aria-label": "Sub navigation", ref: (el) => (this.navContainer = el) }, this.isMobile ? (
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 || selectedMobileItem === void 0 ? void 0 : selectedMobileItem.label) || "Select Section"} - Choose navigation section`, "tracker-id": "mobile-dropdown-button", ref: (el) => (this.overflowButton = el) }, h("span", { class: "mobile-selected-item" }, (selectedMobileItem === null || selectedMobileItem === void 0 ? void 0 : selectedMobileItem.label) ||
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" }, navItems.map((item) => (h("li", { key: item.id, class: "mf-listen", id: item.trackerId ||
485
- `mobile-nav-${item.id}` }, h("a", { href: `#${item.id}`, class: `mobile-dropdown-item ${this.currentActive ===
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.currentActive ===
387
+ : ""}`, role: "menuitem", "aria-current": this
388
+ .currentActive ===
489
389
  item.id
490
390
  ? "page"
491
- : undefined, title: item.title || "", onClick: (e) => {
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", ref: (el) => (this.overflowMenuContainer = el) }, h("button", { class: `overflow-button ${this.hasActiveOverflowItem() ? "selected-active" : ""}`, onClick: this.toggleOverflowMenu, onKeyDown: (e) => {
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: `overflow-dropdown ${this.overflowDropdownAlignLeft ? "align-left" : "align-right"}`, role: "menu", "aria-label": "Additional navigation sections", ref: (el) => (this.overflowDropdownEl =
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)))))))))), hasRightContent && (h("div", { class: "subnav-menu-right" }, h("slot", { name: "subnav-menu-right" }))))));
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
- "overflowDropdownAlignLeft": {},
479
+ "containerWidth": {},
580
480
  "isMobile": {},
581
- "isManualNavigation": {}
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,\r\n\t) => string",
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": {