@ptcwebops/ptcw-design 6.4.7-beta → 6.4.7

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