@ptcwebops/ptcw-design 3.1.8 → 3.2.1

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 (588) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/author-listing-example.cjs.entry.js +232 -232
  3. package/dist/cjs/bundle-example.cjs.entry.js +43 -43
  4. package/dist/cjs/bundle-jumbotron-example.cjs.entry.js +39 -39
  5. package/dist/cjs/dropdown-item.cjs.entry.js +10 -10
  6. package/dist/cjs/dynamic-box-bundle.cjs.entry.js +25 -25
  7. package/dist/cjs/embedded-form_9.cjs.entry.js +1465 -1454
  8. package/dist/cjs/featured-list.cjs.entry.js +90 -90
  9. package/dist/cjs/fl-tab-content_3.cjs.entry.js +44 -44
  10. package/dist/cjs/footer-form.cjs.entry.js +55 -55
  11. package/dist/cjs/icon-asset.cjs.entry.js +42 -42
  12. package/dist/cjs/innovator-toggle-container.cjs.entry.js +21 -21
  13. package/dist/cjs/{interfaces-574e6df7.js → interfaces-0ecd8027.js} +9 -9
  14. package/dist/cjs/list-item.cjs.entry.js +23 -23
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/my-component.cjs.entry.js +15 -15
  17. package/dist/cjs/ptc-accordion-item.cjs.entry.js +84 -84
  18. package/dist/cjs/ptc-accordion.cjs.entry.js +39 -39
  19. package/dist/cjs/ptc-announcement.cjs.entry.js +52 -52
  20. package/dist/cjs/ptc-back-to-top.cjs.entry.js +71 -71
  21. package/dist/cjs/ptc-background-video.cjs.entry.js +57 -57
  22. package/dist/cjs/ptc-bio-card.cjs.entry.js +24 -24
  23. package/dist/cjs/ptc-breadcrumb_2.cjs.entry.js +132 -132
  24. package/dist/cjs/ptc-brightcov-video.cjs.entry.js +46 -46
  25. package/dist/cjs/ptc-card-bottom_3.cjs.entry.js +130 -130
  26. package/dist/cjs/ptc-card-content.cjs.entry.js +57 -57
  27. package/dist/cjs/ptc-card.cjs.entry.js +74 -74
  28. package/dist/cjs/ptc-case-studies-slider.cjs.entry.js +77 -77
  29. package/dist/cjs/ptc-checkbox.cjs.entry.js +50 -50
  30. package/dist/cjs/ptc-collapse-list.cjs.entry.js +397 -397
  31. package/dist/cjs/ptc-container.cjs.entry.js +33 -33
  32. package/dist/cjs/ptc-date.cjs.entry.js +50 -50
  33. package/dist/cjs/ptc-dropdown.cjs.entry.js +64 -64
  34. package/dist/cjs/ptc-dynamic-card.cjs.entry.js +48 -48
  35. package/dist/cjs/ptc-ellipsis-dropdown.cjs.entry.js +46 -46
  36. package/dist/cjs/ptc-embedded-quiz.cjs.entry.js +89 -89
  37. package/dist/cjs/ptc-featured-list.cjs.entry.js +95 -95
  38. package/dist/cjs/ptc-filter-dropdown_4.cjs.entry.js +277 -277
  39. package/dist/cjs/ptc-filter-level-theater.cjs.entry.js +66 -66
  40. package/dist/cjs/ptc-filter-tag.cjs.entry.js +57 -57
  41. package/dist/cjs/ptc-form.cjs.entry.js +78 -78
  42. package/dist/cjs/ptc-hero-footer-cta.cjs.entry.js +11 -11
  43. package/dist/cjs/ptc-hero.cjs.entry.js +18 -18
  44. package/dist/cjs/ptc-icon-component.cjs.entry.js +60 -60
  45. package/dist/cjs/ptc-icon-list.cjs.entry.js +21 -21
  46. package/dist/cjs/ptc-icon-minimize.cjs.entry.js +43 -43
  47. package/dist/cjs/ptc-image-download-strip.cjs.entry.js +18 -18
  48. package/dist/cjs/ptc-img.cjs.entry.js +122 -122
  49. package/dist/cjs/ptc-link.cjs.entry.js +48 -48
  50. package/dist/cjs/ptc-list.cjs.entry.js +49 -49
  51. package/dist/cjs/ptc-media-card.cjs.entry.js +58 -58
  52. package/dist/cjs/ptc-minimized-nav.cjs.entry.js +12 -12
  53. package/dist/cjs/ptc-mobile-select.cjs.entry.js +62 -62
  54. package/dist/cjs/ptc-modal-quiz.cjs.entry.js +115 -115
  55. package/dist/cjs/ptc-modal.cjs.entry.js +158 -158
  56. package/dist/cjs/ptc-nav-card.cjs.entry.js +36 -36
  57. package/dist/cjs/ptc-nav-link.cjs.entry.js +36 -36
  58. package/dist/cjs/ptc-nav-pills.cjs.entry.js +8 -8
  59. package/dist/cjs/ptc-nav-slider.cjs.entry.js +90 -90
  60. package/dist/cjs/ptc-nav-submenu.cjs.entry.js +37 -37
  61. package/dist/cjs/ptc-news.cjs.entry.js +24 -24
  62. package/dist/cjs/ptc-overlay.cjs.entry.js +23 -23
  63. package/dist/cjs/ptc-pagenation.cjs.entry.js +306 -306
  64. package/dist/cjs/ptc-para.cjs.entry.js +51 -51
  65. package/dist/cjs/ptc-picture.cjs.entry.js +152 -152
  66. package/dist/cjs/ptc-podcast-card.cjs.entry.js +11 -11
  67. package/dist/cjs/ptc-previous-url.cjs.entry.js +11 -11
  68. package/dist/cjs/ptc-pricing-add-on-card.cjs.entry.js +17 -17
  69. package/dist/cjs/ptc-pricing-add-on-section.cjs.entry.js +38 -38
  70. package/dist/cjs/ptc-pricing-block.cjs.entry.js +20 -20
  71. package/dist/cjs/ptc-pricing-packaging-table.cjs.entry.js +359 -359
  72. package/dist/cjs/ptc-pricing-tabs.cjs.entry.js +124 -124
  73. package/dist/cjs/ptc-product-card.cjs.entry.js +22 -22
  74. package/dist/cjs/ptc-product-category.cjs.entry.js +10 -10
  75. package/dist/cjs/ptc-product-dropdown.cjs.entry.js +69 -69
  76. package/dist/cjs/ptc-product-highlight-card.cjs.entry.js +12 -12
  77. package/dist/cjs/ptc-product-list.cjs.entry.js +140 -140
  78. package/dist/cjs/ptc-product-sidebar.cjs.entry.js +128 -128
  79. package/dist/cjs/ptc-progress-bar.cjs.entry.js +16 -16
  80. package/dist/cjs/ptc-quote.cjs.entry.js +24 -24
  81. package/dist/cjs/ptc-readmore-char.cjs.entry.js +24 -24
  82. package/dist/cjs/ptc-readmore.cjs.entry.js +82 -82
  83. package/dist/cjs/ptc-related-card-rail.cjs.entry.js +149 -149
  84. package/dist/cjs/ptc-responsive-wrapper.cjs.entry.js +54 -54
  85. package/dist/cjs/ptc-search-field.cjs.entry.js +71 -71
  86. package/dist/cjs/ptc-shopping-cart.cjs.entry.js +50 -50
  87. package/dist/cjs/ptc-slit-card.cjs.entry.js +25 -25
  88. package/dist/cjs/ptc-span.cjs.entry.js +20 -20
  89. package/dist/cjs/ptc-square-card.cjs.entry.js +10 -10
  90. package/dist/cjs/ptc-sticky-icons.cjs.entry.js +32 -32
  91. package/dist/cjs/ptc-sticky-section.cjs.entry.js +30 -30
  92. package/dist/cjs/ptc-sticky-title.cjs.entry.js +23 -23
  93. package/dist/cjs/ptc-subnav-card.cjs.entry.js +16 -16
  94. package/dist/cjs/ptc-subnav.cjs.entry.js +24 -24
  95. package/dist/cjs/ptc-svg-btn.cjs.entry.js +95 -95
  96. package/dist/cjs/ptc-tab-list.cjs.entry.js +143 -143
  97. package/dist/cjs/ptc-tab.cjs.entry.js +20 -20
  98. package/dist/cjs/ptc-tabs.cjs.entry.js +47 -47
  99. package/dist/cjs/ptc-text-copy-with-background.cjs.entry.js +44 -44
  100. package/dist/cjs/ptc-theater-video-modal.cjs.entry.js +81 -81
  101. package/dist/cjs/ptc-tooltip.cjs.entry.js +96 -96
  102. package/dist/cjs/ptc-two-column-media.cjs.entry.js +15 -15
  103. package/dist/cjs/ptc-value-led-card.cjs.entry.js +10 -10
  104. package/dist/cjs/ptc-value-led-content-highlight.cjs.entry.js +8 -8
  105. package/dist/cjs/ptc-value-led-content.cjs.entry.js +8 -8
  106. package/dist/cjs/ptc-value-led-intro.cjs.entry.js +9 -9
  107. package/dist/cjs/ptc-value-led-layout.cjs.entry.js +103 -103
  108. package/dist/cjs/ptc-value-led-speed-bump.cjs.entry.js +21 -21
  109. package/dist/cjs/ptc-value-prop-card.cjs.entry.js +13 -13
  110. package/dist/cjs/ptcw-design.cjs.js +1 -1
  111. package/dist/cjs/sequential-bundle-example.cjs.entry.js +108 -108
  112. package/dist/cjs/sequential-bundle.cjs.entry.js +88 -88
  113. package/dist/cjs/tab-content.cjs.entry.js +27 -27
  114. package/dist/cjs/tab-header.cjs.entry.js +65 -65
  115. package/dist/cjs/{utils-3e282dbb.js → utils-4e734752.js} +93 -93
  116. package/dist/collection/components/dropdown-item/dropdown-item.js +61 -61
  117. package/dist/collection/components/dynamic-box-bundle/dynamic-box-bundle.js +114 -114
  118. package/dist/collection/components/icon-asset/icon-asset.css +4 -4
  119. package/dist/collection/components/icon-asset/icon-asset.js +199 -199
  120. package/dist/collection/components/icon-asset/media/brands.svg +1381 -1381
  121. package/dist/collection/components/icon-asset/media/designer.svg +489 -489
  122. package/dist/collection/components/icon-asset/media/regular.svg +463 -463
  123. package/dist/collection/components/icon-asset/media/solid.svg +3016 -3016
  124. package/dist/collection/components/icon-asset/media/svg-with-js.min.css +4 -4
  125. package/dist/collection/components/innovator-toggle-container/innovator-toggle-container.js +89 -89
  126. package/dist/collection/components/list-item/list-item.js +163 -163
  127. package/dist/collection/components/max-width-container/max-width-container.css +11 -11
  128. package/dist/collection/components/max-width-container/max-width-container.js +146 -146
  129. package/dist/collection/components/my-component/my-component.css +3 -3
  130. package/dist/collection/components/my-component/my-component.js +82 -82
  131. package/dist/collection/components/organism-bundles/author-listing-example/author-listing-example.css +69 -69
  132. package/dist/collection/components/organism-bundles/author-listing-example/author-listing-example.js +282 -282
  133. package/dist/collection/components/organism-bundles/bundle-example/bundle-example.css +25 -25
  134. package/dist/collection/components/organism-bundles/bundle-example/bundle-example.js +79 -79
  135. package/dist/collection/components/organism-bundles/bundle-featured-list/featured-list.css +219 -219
  136. package/dist/collection/components/organism-bundles/bundle-featured-list/featured-list.js +122 -122
  137. package/dist/collection/components/organism-bundles/bundle-jumbotron-example/bundle-jumbotron-example.css +3 -3
  138. package/dist/collection/components/organism-bundles/bundle-jumbotron-example/bundle-jumbotron-example.js +91 -91
  139. package/dist/collection/components/organism-bundles/form/embedded-form/embedded-form.js +120 -120
  140. package/dist/collection/components/organism-bundles/form/footer-form/footer-form.js +72 -72
  141. package/dist/collection/components/organism-bundles/form/ptc-form/ptc-form.css +13 -13
  142. package/dist/collection/components/organism-bundles/form/ptc-form/ptc-form.js +94 -94
  143. package/dist/collection/components/organism-bundles/sequential-bundle/sequential-bundle.js +116 -116
  144. package/dist/collection/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.css +90 -90
  145. package/dist/collection/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.js +160 -160
  146. package/dist/collection/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.js +306 -306
  147. package/dist/collection/components/ptc-accordion/ptc-accordion.js +100 -100
  148. package/dist/collection/components/ptc-announcement/ptc-announcement.js +274 -274
  149. package/dist/collection/components/ptc-back-to-top/ptc-back-to-top.js +97 -97
  150. package/dist/collection/components/ptc-background-video/ptc-background-video.js +200 -200
  151. package/dist/collection/components/ptc-bio-card/ptc-bio-card.js +130 -130
  152. package/dist/collection/components/ptc-breadcrumb/ptc-breadcrumb.js +105 -105
  153. package/dist/collection/components/ptc-brightcov-video/ptc-brightcov-video.js +79 -79
  154. package/dist/collection/components/ptc-button/ptc-button.js +323 -323
  155. package/dist/collection/components/ptc-card/ptc-card.js +439 -439
  156. package/dist/collection/components/ptc-card-bottom/ptc-card-bottom.js +116 -116
  157. package/dist/collection/components/ptc-card-content/ptc-card-content.js +212 -212
  158. package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.js +253 -253
  159. package/dist/collection/components/ptc-case-studies-slider/ptc-case-studies-slider.js +91 -91
  160. package/dist/collection/components/ptc-checkbox/ptc-checkbox.js +152 -152
  161. package/dist/collection/components/ptc-collapse-list/ptc-collapse-list.js +639 -639
  162. package/dist/collection/components/ptc-container/ptc-container.js +138 -138
  163. package/dist/collection/components/ptc-data-lookup/ptc-data-lookup.js +379 -382
  164. package/dist/collection/components/ptc-date/ptc-date.js +224 -224
  165. package/dist/collection/components/ptc-dropdown/ptc-dropdown.js +162 -162
  166. package/dist/collection/components/ptc-dynamic-card/media/nav-active-dotslick.svg +15 -15
  167. package/dist/collection/components/ptc-dynamic-card/ptc-dynamic-card.js +192 -192
  168. package/dist/collection/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.js +137 -137
  169. package/dist/collection/components/ptc-embedded-quiz/ptc-embedded-quiz.js +146 -146
  170. package/dist/collection/components/ptc-featured-list/fl-tab-content/fl-tab-content.js +61 -61
  171. package/dist/collection/components/ptc-featured-list/fl-tab-header/fl-tab-header.js +114 -114
  172. package/dist/collection/components/ptc-featured-list/fl-tab-image/fl-tab-image.js +61 -61
  173. package/dist/collection/components/ptc-featured-list/ptc-featured-list.js +128 -128
  174. package/dist/collection/components/ptc-filter-dropdown/ptc-filter-dropdown.js +143 -143
  175. package/dist/collection/components/ptc-filter-level-theater/ptc-filter-level-theater.js +124 -124
  176. package/dist/collection/components/ptc-filter-tag/ptc-filter-tag.js +113 -113
  177. package/dist/collection/components/ptc-form-checkbox/ptc-form-checkbox.js +266 -242
  178. package/dist/collection/components/ptc-hero/ptc-hero.js +86 -86
  179. package/dist/collection/components/ptc-hero-footer-cta/ptc-hero-footer-cta.js +78 -78
  180. package/dist/collection/components/ptc-icon-component/ptc-icon-component.js +87 -87
  181. package/dist/collection/components/ptc-icon-list/ptc-icon-list.js +127 -127
  182. package/dist/collection/components/ptc-icon-minimize/ptc-icon-minimize.js +119 -119
  183. package/dist/collection/components/ptc-image-download-strip/ptc-image-download-strip.js +51 -51
  184. package/dist/collection/components/ptc-img/ptc-img.js +311 -311
  185. package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.js +355 -355
  186. package/dist/collection/components/ptc-link/ptc-link.js +239 -239
  187. package/dist/collection/components/ptc-list/ptc-list.js +99 -99
  188. package/dist/collection/components/ptc-media-card/ptc-media-card.js +240 -240
  189. package/dist/collection/components/ptc-minimized-nav/ptc-minimized-nav.js +100 -100
  190. package/dist/collection/components/ptc-mobile-select/ptc-mobile-select.js +199 -199
  191. package/dist/collection/components/ptc-modal/ptc-modal.js +433 -433
  192. package/dist/collection/components/ptc-modal-quiz/ptc-modal-quiz.js +191 -191
  193. package/dist/collection/components/ptc-nav-card/ptc-nav-card.js +224 -224
  194. package/dist/collection/components/ptc-nav-pills/ptc-nav-pills.js +18 -18
  195. package/dist/collection/components/ptc-news/ptc-news.js +176 -176
  196. package/dist/collection/components/ptc-overlay/ptc-overlay.js +131 -131
  197. package/dist/collection/components/ptc-pagenation/ptc-pagenation.js +573 -573
  198. package/dist/collection/components/ptc-para/ptc-para.js +242 -242
  199. package/dist/collection/components/ptc-picture/ptc-picture.js +500 -500
  200. package/dist/collection/components/ptc-podcast-card/ptc-podcast-card.js +78 -78
  201. package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +78 -78
  202. package/dist/collection/components/ptc-pricing-add-on-card/ptc-pricing-add-on-card.js +139 -139
  203. package/dist/collection/components/ptc-pricing-add-on-section/ptc-pricing-add-on-section.js +75 -75
  204. package/dist/collection/components/ptc-pricing-block/ptc-pricing-block.js +70 -70
  205. package/dist/collection/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.js +501 -501
  206. package/dist/collection/components/ptc-pricing-tabs/ptc-pricing-tabs.js +272 -272
  207. package/dist/collection/components/ptc-product-card/ptc-product-card.js +162 -162
  208. package/dist/collection/components/ptc-product-category/ptc-product-category.js +60 -60
  209. package/dist/collection/components/ptc-product-dropdown/ptc-product-dropdown.js +185 -185
  210. package/dist/collection/components/ptc-product-highlight-card/ptc-product-highlight-card.js +96 -96
  211. package/dist/collection/components/ptc-product-list/ptc-product-list.js +194 -194
  212. package/dist/collection/components/ptc-product-sidebar/ptc-product-sidebar.js +252 -252
  213. package/dist/collection/components/ptc-progress-bar/ptc-progress-bar.js +42 -42
  214. package/dist/collection/components/ptc-quote/ptc-quote.js +145 -145
  215. package/dist/collection/components/ptc-readmore/ptc-readmore.js +326 -326
  216. package/dist/collection/components/ptc-readmore-char/ptc-readmore-char.js +133 -133
  217. package/dist/collection/components/ptc-related-card-rail/ptc-related-card-rail.js +190 -190
  218. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.css +3 -3
  219. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.js +65 -65
  220. package/dist/collection/components/ptc-search-field/ptc-search-field.js +247 -247
  221. package/dist/collection/components/ptc-select/ptc-select.js +555 -555
  222. package/dist/collection/components/ptc-shopping-cart/ptc-shopping-cart.js +97 -97
  223. package/dist/collection/components/ptc-skeleton/ptc-skeleton.js +139 -139
  224. package/dist/collection/components/ptc-slit-card/ptc-slit-card.js +181 -181
  225. package/dist/collection/components/ptc-social-share/ptc-social-share.js +267 -267
  226. package/dist/collection/components/ptc-spacer/ptc-spacer.css +332 -332
  227. package/dist/collection/components/ptc-spacer/ptc-spacer.js +97 -97
  228. package/dist/collection/components/ptc-span/ptc-span.js +107 -107
  229. package/dist/collection/components/ptc-square-card/ptc-square-card.js +60 -60
  230. package/dist/collection/components/ptc-sticky-icons/ptc-sticky-icons.js +51 -51
  231. package/dist/collection/components/ptc-sticky-section/ptc-sticky-section.js +49 -49
  232. package/dist/collection/components/ptc-sticky-title/ptc-sticky-title.js +89 -89
  233. package/dist/collection/components/ptc-svg-btn/ptc-svg-btn.js +109 -109
  234. package/dist/collection/components/ptc-tab-list/ptc-tab-list.js +214 -214
  235. package/dist/collection/components/ptc-tabs/ptc-tab.js +121 -121
  236. package/dist/collection/components/ptc-tabs/ptc-tabs.js +104 -104
  237. package/dist/collection/components/ptc-text-copy-with-background/ptc-text-copy-with-background.js +218 -218
  238. package/dist/collection/components/ptc-textfield/ptc-textfield.js +489 -489
  239. package/dist/collection/components/ptc-theater-video/ptc-theater-video.js +181 -181
  240. package/dist/collection/components/ptc-theater-video-modal/ptc-theater-video-modal.js +128 -128
  241. package/dist/collection/components/ptc-theater-video-playlist/ptc-theater-video-playlist.js +165 -165
  242. package/dist/collection/components/ptc-title/ptc-title.js +310 -310
  243. package/dist/collection/components/ptc-tooltip/ptc-tooltip.js +361 -361
  244. package/dist/collection/components/ptc-two-column-media/ptc-two-column-media.js +48 -48
  245. package/dist/collection/components/ptc-value-led-card/ptc-value-led-card.js +60 -60
  246. package/dist/collection/components/ptc-value-led-content/ptc-value-led-content.js +18 -18
  247. package/dist/collection/components/ptc-value-led-content-highlight/ptc-value-led-content-highlight.js +18 -18
  248. package/dist/collection/components/ptc-value-led-intro/ptc-value-led-intro.js +42 -42
  249. package/dist/collection/components/ptc-value-led-layout/ptc-value-led-layout.js +156 -156
  250. package/dist/collection/components/ptc-value-led-speed-bump/ptc-value-led-speed-bump.js +97 -97
  251. package/dist/collection/components/ptc-value-prop-card/ptc-value-prop-card.js +117 -117
  252. package/dist/collection/components/subnav/ptc-nav-link/ptc-nav-link.js +131 -131
  253. package/dist/collection/components/subnav/ptc-nav-slider/ptc-nav-slider.js +133 -133
  254. package/dist/collection/components/subnav/ptc-nav-submenu/ptc-nav-submenu.js +121 -121
  255. package/dist/collection/components/subnav/ptc-subnav/ptc-subnav.js +78 -78
  256. package/dist/collection/components/subnav/ptc-subnav-card/ptc-subnav-card.js +151 -151
  257. package/dist/collection/components/tab-content/tab-content.js +84 -84
  258. package/dist/collection/components/tab-header/tab-header.js +183 -183
  259. package/dist/collection/index.js +1 -1
  260. package/dist/collection/media/svg-imgs/Back-arrow.svg +11 -11
  261. package/dist/collection/media/svg-imgs/close.svg +10 -10
  262. package/dist/collection/media/svg-imgs/nav-active-dotslick.svg +16 -16
  263. package/dist/collection/media/svg-imgs/play-button-dark.svg +20 -20
  264. package/dist/collection/media/svg-imgs/ptc-shopping-cart-black.svg +3 -3
  265. package/dist/collection/media/svg-imgs/ptc-shopping-cart-white.svg +3 -3
  266. package/dist/collection/media/svg-imgs/slider-arrow-left.svg +18 -18
  267. package/dist/collection/media/svg-imgs/slider-arrow-right.svg +18 -18
  268. package/dist/collection/media/svg-imgs/union.svg +3 -3
  269. package/dist/collection/stories/Accordian.stories.js +205 -205
  270. package/dist/collection/stories/Announcement.stories.js +64 -64
  271. package/dist/collection/stories/BackgroundImage.stories.js +81 -81
  272. package/dist/collection/stories/Breadcrumb.stories.js +50 -50
  273. package/dist/collection/stories/Button.stories.js +119 -119
  274. package/dist/collection/stories/Card.stories.js +234 -234
  275. package/dist/collection/stories/CardWrapper.stories.js +270 -270
  276. package/dist/collection/stories/Checkbox.stories.js +52 -52
  277. package/dist/collection/stories/Date.stories.js +81 -81
  278. package/dist/collection/stories/Dropdown.stories.js +48 -48
  279. package/dist/collection/stories/DynamicCard.stories.js +68 -68
  280. package/dist/collection/stories/FilterTag.stories.js +73 -73
  281. package/dist/collection/stories/FormCheckbox.stories.js +57 -57
  282. package/dist/collection/stories/Hero.stories.js +119 -119
  283. package/dist/collection/stories/Icon.stories.js +71 -71
  284. package/dist/collection/stories/IconList.stories.js +114 -114
  285. package/dist/collection/stories/IconMinimize.stories.js +40 -40
  286. package/dist/collection/stories/Link.stories.js +107 -107
  287. package/dist/collection/stories/ListItem.stories.js +59 -59
  288. package/dist/collection/stories/MaxWidthContainer.stories.js +45 -45
  289. package/dist/collection/stories/MinimizedHeader.stories.js +37 -37
  290. package/dist/collection/stories/MobileSelect.stories.js +79 -79
  291. package/dist/collection/stories/Modal.stories.js +105 -105
  292. package/dist/collection/stories/Overlay.stories.js +48 -48
  293. package/dist/collection/stories/Pagination.stories.js +101 -101
  294. package/dist/collection/stories/Paragraph.stories.js +95 -95
  295. package/dist/collection/stories/Picture.stories.js +139 -139
  296. package/dist/collection/stories/Quote.stories.js +107 -107
  297. package/dist/collection/stories/ReadMore.stories.js +100 -100
  298. package/dist/collection/stories/Select.stories.js +81 -81
  299. package/dist/collection/stories/SocialShare.stories.js +66 -66
  300. package/dist/collection/stories/Spacer.stories.js +48 -48
  301. package/dist/collection/stories/Span.stories.js +57 -57
  302. package/dist/collection/stories/SvgButton.stories.js +34 -34
  303. package/dist/collection/stories/Tabs.stories.js +213 -213
  304. package/dist/collection/stories/TextCopyWithBackground.stories.js +237 -237
  305. package/dist/collection/stories/Textfield.stories.js +81 -81
  306. package/dist/collection/stories/Title.stories.js +115 -115
  307. package/dist/collection/stories/Tooltip.stories.js +112 -112
  308. package/dist/collection/utils/component.js +3 -3
  309. package/dist/collection/utils/elq-lib.js +415 -407
  310. package/dist/collection/utils/interfaces.js +11 -11
  311. package/dist/collection/utils/utils.js +94 -94
  312. package/dist/collection/utils/validation-messages.js +102 -102
  313. package/dist/custom-elements/index.js +8824 -8813
  314. package/dist/esm/author-listing-example.entry.js +232 -232
  315. package/dist/esm/bundle-example.entry.js +43 -43
  316. package/dist/esm/bundle-jumbotron-example.entry.js +39 -39
  317. package/dist/esm/dropdown-item.entry.js +10 -10
  318. package/dist/esm/dynamic-box-bundle.entry.js +25 -25
  319. package/dist/esm/embedded-form_9.entry.js +1465 -1454
  320. package/dist/esm/featured-list.entry.js +90 -90
  321. package/dist/esm/fl-tab-content_3.entry.js +44 -44
  322. package/dist/esm/footer-form.entry.js +55 -55
  323. package/dist/esm/icon-asset.entry.js +42 -42
  324. package/dist/esm/innovator-toggle-container.entry.js +21 -21
  325. package/dist/esm/{interfaces-4caedd26.js → interfaces-3cb94654.js} +9 -9
  326. package/dist/esm/list-item.entry.js +23 -23
  327. package/dist/esm/loader.js +1 -1
  328. package/dist/esm/my-component.entry.js +15 -15
  329. package/dist/esm/polyfills/core-js.js +0 -0
  330. package/dist/esm/polyfills/dom.js +0 -0
  331. package/dist/esm/polyfills/es5-html-element.js +0 -0
  332. package/dist/esm/polyfills/index.js +0 -0
  333. package/dist/esm/polyfills/system.js +0 -0
  334. package/dist/esm/ptc-accordion-item.entry.js +84 -84
  335. package/dist/esm/ptc-accordion.entry.js +39 -39
  336. package/dist/esm/ptc-announcement.entry.js +52 -52
  337. package/dist/esm/ptc-back-to-top.entry.js +71 -71
  338. package/dist/esm/ptc-background-video.entry.js +57 -57
  339. package/dist/esm/ptc-bio-card.entry.js +24 -24
  340. package/dist/esm/ptc-breadcrumb_2.entry.js +132 -132
  341. package/dist/esm/ptc-brightcov-video.entry.js +46 -46
  342. package/dist/esm/ptc-card-bottom_3.entry.js +130 -130
  343. package/dist/esm/ptc-card-content.entry.js +57 -57
  344. package/dist/esm/ptc-card.entry.js +74 -74
  345. package/dist/esm/ptc-case-studies-slider.entry.js +77 -77
  346. package/dist/esm/ptc-checkbox.entry.js +50 -50
  347. package/dist/esm/ptc-collapse-list.entry.js +397 -397
  348. package/dist/esm/ptc-container.entry.js +33 -33
  349. package/dist/esm/ptc-date.entry.js +50 -50
  350. package/dist/esm/ptc-dropdown.entry.js +64 -64
  351. package/dist/esm/ptc-dynamic-card.entry.js +48 -48
  352. package/dist/esm/ptc-ellipsis-dropdown.entry.js +46 -46
  353. package/dist/esm/ptc-embedded-quiz.entry.js +89 -89
  354. package/dist/esm/ptc-featured-list.entry.js +95 -95
  355. package/dist/esm/ptc-filter-dropdown_4.entry.js +277 -277
  356. package/dist/esm/ptc-filter-level-theater.entry.js +66 -66
  357. package/dist/esm/ptc-filter-tag.entry.js +57 -57
  358. package/dist/esm/ptc-form.entry.js +78 -78
  359. package/dist/esm/ptc-hero-footer-cta.entry.js +11 -11
  360. package/dist/esm/ptc-hero.entry.js +18 -18
  361. package/dist/esm/ptc-icon-component.entry.js +60 -60
  362. package/dist/esm/ptc-icon-list.entry.js +21 -21
  363. package/dist/esm/ptc-icon-minimize.entry.js +43 -43
  364. package/dist/esm/ptc-image-download-strip.entry.js +18 -18
  365. package/dist/esm/ptc-img.entry.js +122 -122
  366. package/dist/esm/ptc-link.entry.js +48 -48
  367. package/dist/esm/ptc-list.entry.js +49 -49
  368. package/dist/esm/ptc-media-card.entry.js +58 -58
  369. package/dist/esm/ptc-minimized-nav.entry.js +12 -12
  370. package/dist/esm/ptc-mobile-select.entry.js +62 -62
  371. package/dist/esm/ptc-modal-quiz.entry.js +115 -115
  372. package/dist/esm/ptc-modal.entry.js +158 -158
  373. package/dist/esm/ptc-nav-card.entry.js +36 -36
  374. package/dist/esm/ptc-nav-link.entry.js +36 -36
  375. package/dist/esm/ptc-nav-pills.entry.js +8 -8
  376. package/dist/esm/ptc-nav-slider.entry.js +90 -90
  377. package/dist/esm/ptc-nav-submenu.entry.js +37 -37
  378. package/dist/esm/ptc-news.entry.js +24 -24
  379. package/dist/esm/ptc-overlay.entry.js +23 -23
  380. package/dist/esm/ptc-pagenation.entry.js +306 -306
  381. package/dist/esm/ptc-para.entry.js +51 -51
  382. package/dist/esm/ptc-picture.entry.js +152 -152
  383. package/dist/esm/ptc-podcast-card.entry.js +11 -11
  384. package/dist/esm/ptc-previous-url.entry.js +11 -11
  385. package/dist/esm/ptc-pricing-add-on-card.entry.js +17 -17
  386. package/dist/esm/ptc-pricing-add-on-section.entry.js +38 -38
  387. package/dist/esm/ptc-pricing-block.entry.js +20 -20
  388. package/dist/esm/ptc-pricing-packaging-table.entry.js +359 -359
  389. package/dist/esm/ptc-pricing-tabs.entry.js +124 -124
  390. package/dist/esm/ptc-product-card.entry.js +22 -22
  391. package/dist/esm/ptc-product-category.entry.js +10 -10
  392. package/dist/esm/ptc-product-dropdown.entry.js +69 -69
  393. package/dist/esm/ptc-product-highlight-card.entry.js +12 -12
  394. package/dist/esm/ptc-product-list.entry.js +140 -140
  395. package/dist/esm/ptc-product-sidebar.entry.js +128 -128
  396. package/dist/esm/ptc-progress-bar.entry.js +16 -16
  397. package/dist/esm/ptc-quote.entry.js +24 -24
  398. package/dist/esm/ptc-readmore-char.entry.js +24 -24
  399. package/dist/esm/ptc-readmore.entry.js +82 -82
  400. package/dist/esm/ptc-related-card-rail.entry.js +149 -149
  401. package/dist/esm/ptc-responsive-wrapper.entry.js +54 -54
  402. package/dist/esm/ptc-search-field.entry.js +71 -71
  403. package/dist/esm/ptc-shopping-cart.entry.js +50 -50
  404. package/dist/esm/ptc-slit-card.entry.js +25 -25
  405. package/dist/esm/ptc-span.entry.js +20 -20
  406. package/dist/esm/ptc-square-card.entry.js +10 -10
  407. package/dist/esm/ptc-sticky-icons.entry.js +32 -32
  408. package/dist/esm/ptc-sticky-section.entry.js +30 -30
  409. package/dist/esm/ptc-sticky-title.entry.js +23 -23
  410. package/dist/esm/ptc-subnav-card.entry.js +16 -16
  411. package/dist/esm/ptc-subnav.entry.js +24 -24
  412. package/dist/esm/ptc-svg-btn.entry.js +95 -95
  413. package/dist/esm/ptc-tab-list.entry.js +143 -143
  414. package/dist/esm/ptc-tab.entry.js +20 -20
  415. package/dist/esm/ptc-tabs.entry.js +47 -47
  416. package/dist/esm/ptc-text-copy-with-background.entry.js +44 -44
  417. package/dist/esm/ptc-theater-video-modal.entry.js +81 -81
  418. package/dist/esm/ptc-tooltip.entry.js +96 -96
  419. package/dist/esm/ptc-two-column-media.entry.js +15 -15
  420. package/dist/esm/ptc-value-led-card.entry.js +10 -10
  421. package/dist/esm/ptc-value-led-content-highlight.entry.js +8 -8
  422. package/dist/esm/ptc-value-led-content.entry.js +8 -8
  423. package/dist/esm/ptc-value-led-intro.entry.js +9 -9
  424. package/dist/esm/ptc-value-led-layout.entry.js +103 -103
  425. package/dist/esm/ptc-value-led-speed-bump.entry.js +21 -21
  426. package/dist/esm/ptc-value-prop-card.entry.js +13 -13
  427. package/dist/esm/ptcw-design.js +1 -1
  428. package/dist/esm/sequential-bundle-example.entry.js +108 -108
  429. package/dist/esm/sequential-bundle.entry.js +88 -88
  430. package/dist/esm/tab-content.entry.js +27 -27
  431. package/dist/esm/tab-header.entry.js +65 -65
  432. package/dist/esm/{utils-ff66a908.js → utils-4cafa40c.js} +93 -93
  433. package/dist/ptcw-design/media/brands.svg +1381 -1381
  434. package/dist/ptcw-design/media/designer.svg +489 -489
  435. package/dist/ptcw-design/media/nav-active-dotslick.svg +15 -15
  436. package/dist/ptcw-design/media/regular.svg +463 -463
  437. package/dist/ptcw-design/media/solid.svg +3016 -3016
  438. package/dist/ptcw-design/media/svg-with-js.min.css +4 -4
  439. package/dist/ptcw-design/{p-57f91d23.entry.js → p-028f77a5.entry.js} +1 -1
  440. package/dist/ptcw-design/{p-9415f40e.entry.js → p-64052394.entry.js} +1 -1
  441. package/dist/ptcw-design/{p-d2a8372d.entry.js → p-6c32ca0e.entry.js} +1 -1
  442. package/dist/ptcw-design/{p-46e3abad.entry.js → p-6ec80150.entry.js} +1 -1
  443. package/dist/ptcw-design/p-73366443.entry.js +1 -0
  444. package/dist/ptcw-design/{p-31859f44.entry.js → p-88033df5.entry.js} +2 -2
  445. package/dist/ptcw-design/{p-2c6cce6c.entry.js → p-a5716559.entry.js} +1 -1
  446. package/dist/ptcw-design/{p-7a8726da.entry.js → p-af91e74f.entry.js} +1 -1
  447. package/dist/ptcw-design/{p-ab16b22b.entry.js → p-d82dc830.entry.js} +1 -1
  448. package/dist/ptcw-design/ptcw-design.css +1 -1
  449. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  450. package/dist/types/components/dropdown-item/dropdown-item.d.ts +5 -5
  451. package/dist/types/components/dynamic-box-bundle/dynamic-box-bundle.d.ts +10 -10
  452. package/dist/types/components/icon-asset/icon-asset.d.ts +40 -40
  453. package/dist/types/components/innovator-toggle-container/innovator-toggle-container.d.ts +17 -17
  454. package/dist/types/components/list-item/list-item.d.ts +17 -17
  455. package/dist/types/components/max-width-container/max-width-container.d.ts +16 -16
  456. package/dist/types/components/my-component/my-component.d.ts +16 -16
  457. package/dist/types/components/organism-bundles/author-listing-example/author-listing-example.d.ts +12 -12
  458. package/dist/types/components/organism-bundles/bundle-example/bundle-example.d.ts +14 -14
  459. package/dist/types/components/organism-bundles/bundle-featured-list/featured-list.d.ts +12 -12
  460. package/dist/types/components/organism-bundles/bundle-jumbotron-example/bundle-jumbotron-example.d.ts +5 -5
  461. package/dist/types/components/organism-bundles/form/embedded-form/embedded-form.d.ts +31 -31
  462. package/dist/types/components/organism-bundles/form/footer-form/footer-form.d.ts +14 -14
  463. package/dist/types/components/organism-bundles/form/ptc-form/ptc-form.d.ts +25 -25
  464. package/dist/types/components/organism-bundles/sequential-bundle/sequential-bundle.d.ts +12 -12
  465. package/dist/types/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.d.ts +16 -16
  466. package/dist/types/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.d.ts +63 -63
  467. package/dist/types/components/ptc-accordion/ptc-accordion.d.ts +17 -17
  468. package/dist/types/components/ptc-announcement/ptc-announcement.d.ts +59 -59
  469. package/dist/types/components/ptc-back-to-top/ptc-back-to-top.d.ts +10 -10
  470. package/dist/types/components/ptc-background-video/ptc-background-video.d.ts +45 -45
  471. package/dist/types/components/ptc-bio-card/ptc-bio-card.d.ts +27 -27
  472. package/dist/types/components/ptc-breadcrumb/ptc-breadcrumb.d.ts +20 -20
  473. package/dist/types/components/ptc-brightcov-video/ptc-brightcov-video.d.ts +6 -6
  474. package/dist/types/components/ptc-button/ptc-button.d.ts +68 -68
  475. package/dist/types/components/ptc-card/ptc-card.d.ts +84 -84
  476. package/dist/types/components/ptc-card-bottom/ptc-card-bottom.d.ts +15 -15
  477. package/dist/types/components/ptc-card-content/ptc-card-content.d.ts +19 -19
  478. package/dist/types/components/ptc-card-wrapper/ptc-card-wrapper.d.ts +30 -30
  479. package/dist/types/components/ptc-case-studies-slider/ptc-case-studies-slider.d.ts +14 -14
  480. package/dist/types/components/ptc-checkbox/ptc-checkbox.d.ts +14 -14
  481. package/dist/types/components/ptc-collapse-list/ptc-collapse-list.d.ts +60 -60
  482. package/dist/types/components/ptc-container/ptc-container.d.ts +13 -13
  483. package/dist/types/components/ptc-data-lookup/ptc-data-lookup.d.ts +27 -27
  484. package/dist/types/components/ptc-date/ptc-date.d.ts +46 -46
  485. package/dist/types/components/ptc-dropdown/ptc-dropdown.d.ts +19 -19
  486. package/dist/types/components/ptc-dynamic-card/ptc-dynamic-card.d.ts +27 -27
  487. package/dist/types/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.d.ts +15 -15
  488. package/dist/types/components/ptc-embedded-quiz/ptc-embedded-quiz.d.ts +21 -21
  489. package/dist/types/components/ptc-featured-list/fl-tab-content/fl-tab-content.d.ts +5 -5
  490. package/dist/types/components/ptc-featured-list/fl-tab-header/fl-tab-header.d.ts +12 -12
  491. package/dist/types/components/ptc-featured-list/fl-tab-image/fl-tab-image.d.ts +5 -5
  492. package/dist/types/components/ptc-featured-list/ptc-featured-list.d.ts +12 -12
  493. package/dist/types/components/ptc-filter-dropdown/ptc-filter-dropdown.d.ts +26 -26
  494. package/dist/types/components/ptc-filter-level-theater/ptc-filter-level-theater.d.ts +17 -17
  495. package/dist/types/components/ptc-filter-tag/ptc-filter-tag.d.ts +17 -17
  496. package/dist/types/components/ptc-form-checkbox/ptc-form-checkbox.d.ts +25 -24
  497. package/dist/types/components/ptc-hero/ptc-hero.d.ts +16 -16
  498. package/dist/types/components/ptc-hero-footer-cta/ptc-hero-footer-cta.d.ts +6 -6
  499. package/dist/types/components/ptc-icon-component/ptc-icon-component.d.ts +17 -17
  500. package/dist/types/components/ptc-icon-list/ptc-icon-list.d.ts +21 -21
  501. package/dist/types/components/ptc-icon-minimize/ptc-icon-minimize.d.ts +12 -12
  502. package/dist/types/components/ptc-image-download-strip/ptc-image-download-strip.d.ts +9 -9
  503. package/dist/types/components/ptc-img/ptc-img.d.ts +55 -55
  504. package/dist/types/components/ptc-jumbotron/ptc-jumbotron.d.ts +26 -26
  505. package/dist/types/components/ptc-link/ptc-link.d.ts +44 -44
  506. package/dist/types/components/ptc-list/ptc-list.d.ts +8 -8
  507. package/dist/types/components/ptc-media-card/ptc-media-card.d.ts +52 -52
  508. package/dist/types/components/ptc-minimized-nav/ptc-minimized-nav.d.ts +7 -7
  509. package/dist/types/components/ptc-mobile-select/ptc-mobile-select.d.ts +36 -36
  510. package/dist/types/components/ptc-modal/ptc-modal.d.ts +76 -76
  511. package/dist/types/components/ptc-modal-quiz/ptc-modal-quiz.d.ts +36 -36
  512. package/dist/types/components/ptc-nav-card/ptc-nav-card.d.ts +46 -46
  513. package/dist/types/components/ptc-nav-pills/ptc-nav-pills.d.ts +3 -3
  514. package/dist/types/components/ptc-news/ptc-news.d.ts +36 -36
  515. package/dist/types/components/ptc-overlay/ptc-overlay.d.ts +21 -21
  516. package/dist/types/components/ptc-pagenation/ptc-pagenation.d.ts +40 -40
  517. package/dist/types/components/ptc-para/ptc-para.d.ts +47 -47
  518. package/dist/types/components/ptc-picture/ptc-picture.d.ts +102 -102
  519. package/dist/types/components/ptc-podcast-card/ptc-podcast-card.d.ts +15 -15
  520. package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +9 -9
  521. package/dist/types/components/ptc-pricing-add-on-card/ptc-pricing-add-on-card.d.ts +31 -31
  522. package/dist/types/components/ptc-pricing-add-on-section/ptc-pricing-add-on-section.d.ts +22 -22
  523. package/dist/types/components/ptc-pricing-block/ptc-pricing-block.d.ts +7 -7
  524. package/dist/types/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.d.ts +87 -87
  525. package/dist/types/components/ptc-pricing-tabs/ptc-pricing-tabs.d.ts +52 -52
  526. package/dist/types/components/ptc-product-card/ptc-product-card.d.ts +37 -37
  527. package/dist/types/components/ptc-product-category/ptc-product-category.d.ts +5 -5
  528. package/dist/types/components/ptc-product-dropdown/ptc-product-dropdown.d.ts +18 -18
  529. package/dist/types/components/ptc-product-highlight-card/ptc-product-highlight-card.d.ts +23 -23
  530. package/dist/types/components/ptc-product-list/ptc-product-list.d.ts +18 -18
  531. package/dist/types/components/ptc-product-sidebar/ptc-product-sidebar.d.ts +31 -31
  532. package/dist/types/components/ptc-progress-bar/ptc-progress-bar.d.ts +5 -5
  533. package/dist/types/components/ptc-quote/ptc-quote.d.ts +29 -29
  534. package/dist/types/components/ptc-readmore/ptc-readmore.d.ts +58 -58
  535. package/dist/types/components/ptc-readmore-char/ptc-readmore-char.d.ts +30 -30
  536. package/dist/types/components/ptc-related-card-rail/ptc-related-card-rail.d.ts +30 -30
  537. package/dist/types/components/ptc-responsive-wrapper/ptc-responsive-wrapper.d.ts +8 -8
  538. package/dist/types/components/ptc-search-field/ptc-search-field.d.ts +23 -23
  539. package/dist/types/components/ptc-select/ptc-select.d.ts +29 -29
  540. package/dist/types/components/ptc-shopping-cart/ptc-shopping-cart.d.ts +6 -6
  541. package/dist/types/components/ptc-skeleton/ptc-skeleton.d.ts +10 -10
  542. package/dist/types/components/ptc-slit-card/ptc-slit-card.d.ts +36 -36
  543. package/dist/types/components/ptc-social-share/ptc-social-share.d.ts +37 -37
  544. package/dist/types/components/ptc-spacer/ptc-spacer.d.ts +16 -16
  545. package/dist/types/components/ptc-span/ptc-span.d.ts +20 -20
  546. package/dist/types/components/ptc-square-card/ptc-square-card.d.ts +11 -11
  547. package/dist/types/components/ptc-sticky-icons/ptc-sticky-icons.d.ts +7 -7
  548. package/dist/types/components/ptc-sticky-section/ptc-sticky-section.d.ts +9 -9
  549. package/dist/types/components/ptc-sticky-title/ptc-sticky-title.d.ts +8 -8
  550. package/dist/types/components/ptc-svg-btn/ptc-svg-btn.d.ts +20 -20
  551. package/dist/types/components/ptc-tab-list/ptc-tab-list.d.ts +23 -23
  552. package/dist/types/components/ptc-tabs/ptc-tab.d.ts +9 -9
  553. package/dist/types/components/ptc-tabs/ptc-tabs.d.ts +10 -10
  554. package/dist/types/components/ptc-text-copy-with-background/ptc-text-copy-with-background.d.ts +42 -42
  555. package/dist/types/components/ptc-textfield/ptc-textfield.d.ts +35 -35
  556. package/dist/types/components/ptc-theater-video/ptc-theater-video.d.ts +14 -14
  557. package/dist/types/components/ptc-theater-video-modal/ptc-theater-video-modal.d.ts +16 -16
  558. package/dist/types/components/ptc-theater-video-playlist/ptc-theater-video-playlist.d.ts +26 -26
  559. package/dist/types/components/ptc-title/ptc-title.d.ts +54 -54
  560. package/dist/types/components/ptc-tooltip/ptc-tooltip.d.ts +63 -63
  561. package/dist/types/components/ptc-two-column-media/ptc-two-column-media.d.ts +9 -9
  562. package/dist/types/components/ptc-value-led-card/ptc-value-led-card.d.ts +5 -5
  563. package/dist/types/components/ptc-value-led-content/ptc-value-led-content.d.ts +3 -3
  564. package/dist/types/components/ptc-value-led-content-highlight/ptc-value-led-content-highlight.d.ts +3 -3
  565. package/dist/types/components/ptc-value-led-intro/ptc-value-led-intro.d.ts +4 -4
  566. package/dist/types/components/ptc-value-led-layout/ptc-value-led-layout.d.ts +16 -16
  567. package/dist/types/components/ptc-value-led-speed-bump/ptc-value-led-speed-bump.d.ts +10 -10
  568. package/dist/types/components/ptc-value-prop-card/ptc-value-prop-card.d.ts +23 -23
  569. package/dist/types/components/subnav/ptc-nav-link/ptc-nav-link.d.ts +26 -26
  570. package/dist/types/components/subnav/ptc-nav-slider/ptc-nav-slider.d.ts +11 -11
  571. package/dist/types/components/subnav/ptc-nav-submenu/ptc-nav-submenu.d.ts +23 -23
  572. package/dist/types/components/subnav/ptc-subnav/ptc-subnav.d.ts +11 -11
  573. package/dist/types/components/subnav/ptc-subnav-card/ptc-subnav-card.d.ts +31 -31
  574. package/dist/types/components/tab-content/tab-content.d.ts +12 -12
  575. package/dist/types/components/tab-header/tab-header.d.ts +22 -22
  576. package/dist/types/components.d.ts +188 -186
  577. package/dist/types/index.d.ts +1 -1
  578. package/dist/types/utils/component.d.ts +1 -1
  579. package/dist/types/utils/eloqua.d.ts +8 -8
  580. package/dist/types/utils/elq-lib.d.ts +55 -55
  581. package/dist/types/utils/interfaces.d.ts +32 -32
  582. package/dist/types/utils/utils.d.ts +6 -6
  583. package/dist/types/utils/validation-messages.d.ts +102 -102
  584. package/package.json +89 -89
  585. package/readme.md +19 -19
  586. package/dist/ptcw-design/p-a433dbbe.entry.js +0 -1
  587. /package/dist/ptcw-design/{p-711bcdad.js → p-240733ce.js} +0 -0
  588. /package/dist/ptcw-design/{p-ff83c1c4.js → p-5c1c23ad.js} +0 -0
@@ -1,407 +1,415 @@
1
- import './eloqua.d.ts';
2
- // Define the ElqLib class
3
- export class ElqLib {
4
- constructor(params) {
5
- this.params = params;
6
- this.url_vars = {};
7
- this.visitor_elq_id = null;
8
- this.field_mappings = [];
9
- this.callback_queue = [];
10
- this.fields_populated = false;
11
- this.user_elq_email = '';
12
- this.user_elq_firstname = '';
13
- this.user_elq_lastname = '';
14
- // Merge defaults with params
15
- const defaults = {
16
- elq_site_id: '',
17
- elq_visitor_lookup_key: '',
18
- elq_recipient_id_lookup_key: '',
19
- elq_contact_lookup_key: '',
20
- elq_field_email_rec_id: 'V_EmailRecipientID',
21
- elq_field_contact_email: 'C_EmailAddress',
22
- elq_field_visitor_email: 'V_Email_Address',
23
- elq_field_visitor_firstname: 'V_First_Name',
24
- elq_field_visitor_lastname: 'V_Last_Name',
25
- notme_link_id: 'not-me-link-id',
26
- notme_fields_class: null,
27
- notme_message: 'Not {name}? Click here.',
28
- notme_message_noname: 'Not your details below? Click here.',
29
- };
30
- this.params = Object.assign(Object.assign({}, defaults), this.params);
31
- this.init();
32
- }
33
- init() {
34
- // Merge defaults with user-provided params if not already done in the constructor
35
- // ...
36
- // Set Eloqua site ID
37
- this.setEloquaSiteId();
38
- // Load Eloqua scripts
39
- this.async_load();
40
- // Store URL variables
41
- this.store_url_vars();
42
- // Store visitor's Eloqua IDgit
43
- this.store_visitor_elq_id();
44
- // init noteme link;
45
- // this.init_notme();
46
- // Set the global Eloqua callback function
47
- window.SetElqContent = this.eloqua_callback.bind(this);
48
- }
49
- setEloquaSiteId() {
50
- if (this.params.elq_site_id) {
51
- ElqLib._elqQ.push(['elqSetSiteId', this.params.elq_site_id]);
52
- ElqLib._elqQ.push(['elqUseFirstPartyCookie', 'tracking.ptc.com']);
53
- ElqLib._elqQ.push(['elqTrackPageView', window.location.href]);
54
- }
55
- }
56
- fire_pageview(url) {
57
- try {
58
- if (typeof url === 'undefined') {
59
- ElqLib._elqQ.push(['elqTrackPageView']);
60
- }
61
- else {
62
- ElqLib._elqQ.push(['elqTrackPageView', url]);
63
- }
64
- console.log('TRACKING: Eloqua pageview fired for URL: ' + (url || 'current page'));
65
- }
66
- catch (e) {
67
- console.log('TRACKING: Could not fire Eloqua pageview: ', e);
68
- }
69
- }
70
- find_eloqua_contact() {
71
- console.log('CONTACT LOOKUP: Attempting to find Eloqua contact...');
72
- // Queue callback action for the return of lookup
73
- this.callback_queue.push(this.handle_visitor_lookup.bind(this));
74
- // Start with a recipient lookup if ID was supplied in URL
75
- if (this.visitor_elq_id !== null) {
76
- this.lookup_visitor_by_recipient_id();
77
- }
78
- else {
79
- // If no visitor ID, attempt to do a visitor lookup with an Eloqua cookie
80
- this.lookup_visitor_by_cookie(); //preference center
81
- this.lookup_contact_by_email();
82
- }
83
- }
84
- add_field_mapping(mapping) {
85
- this.field_mappings.push(mapping);
86
- }
87
- add_queue_action(action) {
88
- this.callback_queue.push(action);
89
- }
90
- store_url_vars() {
91
- // Clear the current url_vars
92
- this.url_vars = {};
93
- // Split the URL by the '?' to get the query string part
94
- const queryString = window.location.search.substring(1);
95
- // Split the query string by '&' to get each key-value pair
96
- queryString.split('&').forEach(paramString => {
97
- // Split the key-value pairs by '=' to separate keys and values
98
- let [key, value] = paramString.split('=');
99
- // Decode URI components to handle URL encoding
100
- key = decodeURIComponent(key);
101
- value = decodeURIComponent(value);
102
- // Store the key-value pair in the url_vars object
103
- this.url_vars[key] = value;
104
- });
105
- // Optionally, log the stored URL variables
106
- console.log('URL variables stored:', this.url_vars);
107
- }
108
- store_visitor_elq_id() {
109
- console.log("INIT: Looking for visitor's Eloqua ID in URL...");
110
- const elqIdParam = this.url_vars['elq'];
111
- if (elqIdParam) {
112
- const elqId = elqIdParam.toUpperCase().replace(/(.{8})(.{4})(.{4})(.{4})(.{12})/, '$1-$2-$3-$4-$5');
113
- this.visitor_elq_id = elqId;
114
- console.log(`INIT: ...visitor Eloqua ID found in URL: ${elqId}`);
115
- }
116
- else {
117
- this.visitor_elq_id = null;
118
- console.log('INIT: ...no visitor Eloqua ID found in URL');
119
- }
120
- }
121
- // private merge(root: any, ...sources: any[]): any {
122
- // sources.forEach(source => {
123
- // for (const key in source) {
124
- // if (source.hasOwnProperty(key)) {
125
- // root[key] = source[key];
126
- // }
127
- // }
128
- // });
129
- // return root;
130
- // }
131
- eloqua_callback() {
132
- console.log('LOOKUP: Eloqua lookup finished');
133
- // Process each action in the callback queue
134
- let actionSucceeded = true;
135
- while (actionSucceeded && this.callback_queue.length > 0) {
136
- const action = this.callback_queue.shift();
137
- if (action) {
138
- console.log(`QUEUE: Executing action`);
139
- actionSucceeded = action(); // Execute the action. It must return a boolean indicating success.
140
- if (actionSucceeded) {
141
- console.log('QUEUE: Action executed successfully, removed from queue');
142
- }
143
- else {
144
- console.log('QUEUE: Action failed, re-adding to queue');
145
- this.callback_queue.unshift(action); // Re-add the action to the front of the queue
146
- break; // Break out of the loop if an action fails
147
- }
148
- }
149
- }
150
- // After processing the queue, update user details or perform other operations
151
- if (actionSucceeded) {
152
- this.update_user_details();
153
- this.populate_mapped_fields();
154
- }
155
- // ...additional code to handle the aftermath of callback processing...
156
- }
157
- lookup_visitor_by_cookie() {
158
- if (this.params.elq_visitor_lookup_key != '') {
159
- ElqLib._elqQ.push(['elqDataLookup', escape(this.params.elq_visitor_lookup_key), '']);
160
- console.log('LOOKUP: Visitor lookup sent using Eloqua cookie');
161
- }
162
- else {
163
- console.log('LOOKUP: A visitor lookup cannot be performed as no lookup key was defined');
164
- }
165
- }
166
- lookup_visitor_by_recipient_id() {
167
- if (this.params.elq_recipient_id_lookup_key != '') {
168
- ElqLib._elqQ.push([
169
- 'elqDataLookup',
170
- escape(this.params.elq_recipient_id_lookup_key),
171
- '<' + this.params.elq_field_email_rec_id + '>' + this.visitor_elq_id + '</' + this.params.elq_field_email_rec_id + '>',
172
- ]);
173
- console.log('LOOKUP: Visitor lookup sent using email recipient id: ' + this.visitor_elq_id);
174
- }
175
- else {
176
- console.log('LOOKUP: A visitor lookup cannot be performed as no lookup key was defined');
177
- }
178
- }
179
- lookup_contact_by_email() {
180
- if (this.params.elq_contact_lookup_key != '') {
181
- ElqLib._elqQ.push([
182
- 'elqDataLookup',
183
- escape(this.params.elq_contact_lookup_key),
184
- '<' + this.params.elq_field_contact_email + '>' + this.user_elq_email + '</' + this.params.elq_field_contact_email + '>',
185
- ]);
186
- console.log('LOOKUP: Contact lookup sent using email address: ' + this.user_elq_email);
187
- }
188
- else {
189
- console.log('LOOKUP: A visitor lookup cannot be performed as no lookup key was defined');
190
- }
191
- }
192
- handle_visitor_lookup() {
193
- //console.log('Contact Email: ' + this.params.elq_field_contact_email)
194
- const email = window.GetElqContentPersonalizationValue(this.params.elq_field_contact_email); //it was elq_field_visitor_email ( V_Email_Address)
195
- if (email) {
196
- console.log(`LOOKUP: Found contact email address: ${email}`);
197
- this.user_elq_email = email.trim();
198
- this.lookup_contact_by_email();
199
- this.callback_queue.push(this.handle_contact_lookup.bind(this));
200
- return true;
201
- }
202
- else {
203
- return false;
204
- }
205
- }
206
- handle_contact_lookup() {
207
- if (window.GetElqContentPersonalizationValue(this.params.elq_field_contact_email) != '') {
208
- console.log('LOOKUP: Found contact email address: ' + window.GetElqContentPersonalizationValue(this.params.elq_field_contact_email));
209
- return true;
210
- }
211
- else {
212
- return false;
213
- }
214
- }
215
- populate_mapped_fields() {
216
- console.log('MAPPING: Starting field mapping');
217
- //debugger;
218
- this.field_mappings.forEach(({ elementId, elqFieldName }) => {
219
- const fieldValue = window.GetElqContentPersonalizationValue(elqFieldName);
220
- if (elementId !== 'contact-country') {
221
- const element = document.getElementById(elementId);
222
- console.log('element ID of field mappings: ' + elementId);
223
- console.log('fieldValue ID of field mappings: ' + fieldValue);
224
- if (element && fieldValue) {
225
- element.value = fieldValue;
226
- //element.style.display = 'none'; // Hide the field.
227
- if (element.closest('ptc-textfield')) {
228
- element.closest('ptc-textfield').style.display = 'none';
229
- element.closest('ptc-textfield').inputValue = fieldValue;
230
- }
231
- else if (element.closest('ptc-select')) {
232
- element.closest('ptc-select').style.display = 'none';
233
- element.closest("ptc-select").selectedValue = fieldValue;
234
- }
235
- this.fields_populated = true;
236
- }
237
- }
238
- else {
239
- const countryEle = document.getElementById(elementId);
240
- if (countryEle && fieldValue) {
241
- countryEle.textContent = fieldValue;
242
- countryEle.closest("ptc-select").selectedValue = fieldValue;
243
- }
244
- // debugger;
245
- if (countryEle.closest('ptc-select')) {
246
- countryEle.closest('ptc-select').style.display = 'none';
247
- }
248
- }
249
- });
250
- console.log('MAPPING: Finished ');
251
- if (this.fields_populated) {
252
- this.update_notme_link();
253
- }
254
- }
255
- update_user_details() {
256
- console.log('displaying user info...');
257
- if (window.GetElqContentPersonalizationValue(this.params.elq_field_contact_email) !== '') {
258
- document
259
- .querySelectorAll('input[type=text], input[type=tel], input[name="phonenumber"], input[name="phonenumbertwo"], input[type=email], select, textarea, span.mdc-select__selected-text')
260
- .forEach((element) => {
261
- if (element.tagName === 'SPAN') {
262
- const spanText = element;
263
- const spanEloquaName = spanText.getAttribute('data-eloqua-name');
264
- if (spanEloquaName !== null) {
265
- const spanElqValue = window.GetElqContentPersonalizationValue(spanEloquaName);
266
- if (spanElqValue !== '' && spanElqValue.length > 0) {
267
- spanText.textContent = spanElqValue;
268
- }
269
- }
270
- }
271
- else if (element.className.includes('intl-tel-input')) {
272
- const telInput = element;
273
- const eloquaName = telInput.getAttribute('data-eloqua-name');
274
- if (eloquaName !== null) {
275
- const elqValue = window.GetElqContentPersonalizationValue(eloquaName);
276
- if (elqValue !== '' && elqValue.length > 0) {
277
- setTimeout(() => {
278
- telInput.placeholder = elqValue;
279
- }, 1000);
280
- }
281
- }
282
- }
283
- else {
284
- const input = element;
285
- const eloquaName = input.getAttribute('data-eloqua-name');
286
- if (eloquaName !== null) {
287
- const elqValue = window.GetElqContentPersonalizationValue(eloquaName);
288
- if (elqValue !== '' && elqValue.length > 0) {
289
- input.value = elqValue;
290
- }
291
- }
292
- }
293
- });
294
- }
295
- if (this.user_elq_email == '' && window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_email) != '') {
296
- this.user_elq_email = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_email);
297
- }
298
- if (this.user_elq_firstname == '' && window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_firstname) != '') {
299
- this.user_elq_firstname = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_firstname);
300
- }
301
- if (this.user_elq_lastname == '' && window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_lastname) != '') {
302
- this.user_elq_lastname = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_lastname);
303
- }
304
- }
305
- update_notme_link() {
306
- // Assuming the user's first and last name are available from Eloqua fields
307
- const firstName = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_firstname);
308
- const lastName = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_lastname);
309
- const notMeLinkElement = document.getElementById(this.params.notme_link_id);
310
- const topAdditional = document.getElementById('not-me-additional-top');
311
- const bottomAdditional = document.getElementById('not-me-additional-bottom');
312
- if (notMeLinkElement) {
313
- let message = this.params.notme_message;
314
- console.log('first name: ' + firstName);
315
- if (firstName && lastName) {
316
- message = this.params.notme_message.replace('{name}', lastName + ' ' + firstName);
317
- }
318
- notMeLinkElement.innerHTML = `<a href="#">${message}</a>`;
319
- topAdditional.innerHTML = "Please fill out additional information.";
320
- bottomAdditional.innerHTML = "Click the button below to recieve email confirmation.";
321
- topAdditional.style.display = 'block';
322
- bottomAdditional.style.display = 'block';
323
- notMeLinkElement.style.display = 'block';
324
- notMeLinkElement.onclick = this.remove_user_details.bind(this);
325
- }
326
- }
327
- // private init_notme(): void{
328
- // const topAdditional = document.getElementById('not-me-additional-top');
329
- // const bottomAdditional = document.getElementById('not-me-additional-bottom');
330
- // console.log("top: " + topAdditional)
331
- // if(topAdditional) topAdditional.style.display = 'none';
332
- // if(bottomAdditional) bottomAdditional.style.display = 'none';
333
- // }
334
- remove_user_details(e) {
335
- e.preventDefault();
336
- this.user_elq_email = '';
337
- this.user_elq_firstname = '';
338
- this.user_elq_lastname = '';
339
- // $('.' + this.params.notme_fields_class).val('');
340
- const linkDiv = document.getElementById(this.params.notme_link_id);
341
- const topAdditional = document.getElementById('not-me-additional-top');
342
- const bottomAdditional = document.getElementById('not-me-additional-bottom');
343
- linkDiv.querySelector('a').remove();
344
- topAdditional.style.display = 'none';
345
- bottomAdditional.style.display = 'none';
346
- this.refreshForm();
347
- return false;
348
- }
349
- refreshForm() {
350
- this.field_mappings.forEach(({ elementId }) => {
351
- if (elementId !== 'contact-country') {
352
- const element = document.getElementById(elementId);
353
- if (element) {
354
- console.log('element: ' + element);
355
- element.value = ''; // Reset the value
356
- if (element.closest('ptc-textfield')) {
357
- element.closest('ptc-textfield').style.display = '';
358
- }
359
- else if (element.closest('ptc-select')) {
360
- element.closest('ptc-select').style.display = '';
361
- }
362
- }
363
- }
364
- else {
365
- const countryEle = document.getElementById(elementId);
366
- if (countryEle) {
367
- countryEle.textContent = '';
368
- }
369
- // debugger;
370
- if (countryEle.closest('ptc-select')) {
371
- countryEle.closest('ptc-select').style.display = '';
372
- }
373
- }
374
- });
375
- this.clearEloquaCookie('elq-uid'); // Optionally clear the Eloqua cookie
376
- this.fields_populated = false;
377
- //this.update_notme_link(); // Update the 'Not Me' link if necessary
378
- }
379
- clearEloquaCookie(name) {
380
- document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';
381
- console.log('cookie cleared');
382
- }
383
- // Private Method to load Eloqua Scripts
384
- async_load() {
385
- const scriptUrl = 'https://img.en25.com/i/elqCfg.min.js';
386
- const scriptElement = document.createElement('script');
387
- scriptElement.type = 'text/javascript';
388
- scriptElement.async = true;
389
- scriptElement.src = scriptUrl;
390
- // Error handling for script loading
391
- scriptElement.onerror = errorEvent => {
392
- console.log(`Error loading script: ${errorEvent}`);
393
- };
394
- // Append the script element to the head of the document, or before the first script tag found
395
- const firstScriptTag = document.getElementsByTagName('script')[0];
396
- if (firstScriptTag && firstScriptTag.parentNode) {
397
- firstScriptTag.parentNode.insertBefore(scriptElement, firstScriptTag);
398
- }
399
- else {
400
- document.head.appendChild(scriptElement);
401
- }
402
- console.log(`Async loading of script ${scriptUrl} initiated.`);
403
- }
404
- }
405
- ElqLib._elqQ = window['_elqQ'] || [];
406
- // Static member initialization
407
- //ElqLib._elqQ = window['_elqQ'] || [];
1
+ import './eloqua.d.ts';
2
+ // Define the ElqLib class
3
+ export class ElqLib {
4
+ constructor(params) {
5
+ this.params = params;
6
+ this.url_vars = {};
7
+ this.visitor_elq_id = null;
8
+ this.field_mappings = [];
9
+ this.callback_queue = [];
10
+ this.fields_populated = false;
11
+ this.user_elq_email = '';
12
+ this.user_elq_firstname = '';
13
+ this.user_elq_lastname = '';
14
+ // Merge defaults with params
15
+ const defaults = {
16
+ elq_site_id: '',
17
+ elq_visitor_lookup_key: '',
18
+ elq_recipient_id_lookup_key: '',
19
+ elq_contact_lookup_key: '',
20
+ elq_field_email_rec_id: 'V_EmailRecipientID',
21
+ elq_field_contact_email: 'C_EmailAddress',
22
+ elq_field_visitor_email: 'V_Email_Address',
23
+ elq_field_visitor_firstname: 'V_First_Name',
24
+ elq_field_visitor_lastname: 'V_Last_Name',
25
+ notme_link_id: 'not-me-link-id',
26
+ notme_fields_class: null,
27
+ notme_message: 'Not {name}? Click here.',
28
+ notme_message_noname: 'Not your details below? Click here.',
29
+ };
30
+ this.params = Object.assign(Object.assign({}, defaults), this.params);
31
+ this.init();
32
+ }
33
+ init() {
34
+ // Merge defaults with user-provided params if not already done in the constructor
35
+ // ...
36
+ // Set Eloqua site ID
37
+ this.setEloquaSiteId();
38
+ // Load Eloqua scripts
39
+ this.async_load();
40
+ // Store URL variables
41
+ this.store_url_vars();
42
+ // Store visitor's Eloqua IDgit
43
+ this.store_visitor_elq_id();
44
+ // init noteme link;
45
+ // this.init_notme();
46
+ // Set the global Eloqua callback function
47
+ window.SetElqContent = this.eloqua_callback.bind(this);
48
+ }
49
+ setEloquaSiteId() {
50
+ if (this.params.elq_site_id) {
51
+ ElqLib._elqQ.push(['elqSetSiteId', this.params.elq_site_id]);
52
+ ElqLib._elqQ.push(['elqUseFirstPartyCookie', 'tracking.ptc.com']);
53
+ ElqLib._elqQ.push(['elqTrackPageView', window.location.href]);
54
+ }
55
+ }
56
+ fire_pageview(url) {
57
+ try {
58
+ if (typeof url === 'undefined') {
59
+ ElqLib._elqQ.push(['elqTrackPageView']);
60
+ }
61
+ else {
62
+ ElqLib._elqQ.push(['elqTrackPageView', url]);
63
+ }
64
+ console.log('TRACKING: Eloqua pageview fired for URL: ' + (url || 'current page'));
65
+ }
66
+ catch (e) {
67
+ console.log('TRACKING: Could not fire Eloqua pageview: ', e);
68
+ }
69
+ }
70
+ find_eloqua_contact() {
71
+ console.log('CONTACT LOOKUP: Attempting to find Eloqua contact...');
72
+ // Queue callback action for the return of lookup
73
+ this.callback_queue.push(this.handle_visitor_lookup.bind(this));
74
+ // Start with a recipient lookup if ID was supplied in URL
75
+ if (this.visitor_elq_id !== null) {
76
+ this.lookup_visitor_by_recipient_id();
77
+ }
78
+ else {
79
+ // If no visitor ID, attempt to do a visitor lookup with an Eloqua cookie
80
+ this.lookup_visitor_by_cookie(); //preference center
81
+ this.lookup_contact_by_email();
82
+ }
83
+ }
84
+ add_field_mapping(mapping) {
85
+ this.field_mappings.push(mapping);
86
+ }
87
+ add_queue_action(action) {
88
+ this.callback_queue.push(action);
89
+ }
90
+ store_url_vars() {
91
+ // Clear the current url_vars
92
+ this.url_vars = {};
93
+ // Split the URL by the '?' to get the query string part
94
+ const queryString = window.location.search.substring(1);
95
+ // Split the query string by '&' to get each key-value pair
96
+ queryString.split('&').forEach(paramString => {
97
+ // Split the key-value pairs by '=' to separate keys and values
98
+ let [key, value] = paramString.split('=');
99
+ // Decode URI components to handle URL encoding
100
+ key = decodeURIComponent(key);
101
+ value = decodeURIComponent(value);
102
+ // Store the key-value pair in the url_vars object
103
+ this.url_vars[key] = value;
104
+ });
105
+ // Optionally, log the stored URL variables
106
+ console.log('URL variables stored:', this.url_vars);
107
+ }
108
+ store_visitor_elq_id() {
109
+ console.log("INIT: Looking for visitor's Eloqua ID in URL...");
110
+ const elqIdParam = this.url_vars['elq'];
111
+ if (elqIdParam) {
112
+ const elqId = elqIdParam.toUpperCase().replace(/(.{8})(.{4})(.{4})(.{4})(.{12})/, '$1-$2-$3-$4-$5');
113
+ this.visitor_elq_id = elqId;
114
+ console.log(`INIT: ...visitor Eloqua ID found in URL: ${elqId}`);
115
+ }
116
+ else {
117
+ this.visitor_elq_id = null;
118
+ console.log('INIT: ...no visitor Eloqua ID found in URL');
119
+ }
120
+ }
121
+ // private merge(root: any, ...sources: any[]): any {
122
+ // sources.forEach(source => {
123
+ // for (const key in source) {
124
+ // if (source.hasOwnProperty(key)) {
125
+ // root[key] = source[key];
126
+ // }
127
+ // }
128
+ // });
129
+ // return root;
130
+ // }
131
+ eloqua_callback() {
132
+ console.log('LOOKUP: Eloqua lookup finished');
133
+ // Process each action in the callback queue
134
+ let actionSucceeded = true;
135
+ while (actionSucceeded && this.callback_queue.length > 0) {
136
+ const action = this.callback_queue.shift();
137
+ if (action) {
138
+ console.log(`QUEUE: Executing action`);
139
+ actionSucceeded = action(); // Execute the action. It must return a boolean indicating success.
140
+ if (actionSucceeded) {
141
+ console.log('QUEUE: Action executed successfully, removed from queue');
142
+ }
143
+ else {
144
+ console.log('QUEUE: Action failed, re-adding to queue');
145
+ this.callback_queue.unshift(action); // Re-add the action to the front of the queue
146
+ break; // Break out of the loop if an action fails
147
+ }
148
+ }
149
+ }
150
+ // After processing the queue, update user details or perform other operations
151
+ if (actionSucceeded) {
152
+ this.update_user_details();
153
+ this.populate_mapped_fields();
154
+ }
155
+ // ...additional code to handle the aftermath of callback processing...
156
+ }
157
+ lookup_visitor_by_cookie() {
158
+ if (this.params.elq_visitor_lookup_key != '') {
159
+ ElqLib._elqQ.push(['elqDataLookup', escape(this.params.elq_visitor_lookup_key), '']);
160
+ console.log('LOOKUP: Visitor lookup sent using Eloqua cookie');
161
+ }
162
+ else {
163
+ console.log('LOOKUP: A visitor lookup cannot be performed as no lookup key was defined');
164
+ }
165
+ }
166
+ lookup_visitor_by_recipient_id() {
167
+ if (this.params.elq_recipient_id_lookup_key != '') {
168
+ ElqLib._elqQ.push([
169
+ 'elqDataLookup',
170
+ escape(this.params.elq_recipient_id_lookup_key),
171
+ '<' + this.params.elq_field_email_rec_id + '>' + this.visitor_elq_id + '</' + this.params.elq_field_email_rec_id + '>',
172
+ ]);
173
+ console.log('LOOKUP: Visitor lookup sent using email recipient id: ' + this.visitor_elq_id);
174
+ }
175
+ else {
176
+ console.log('LOOKUP: A visitor lookup cannot be performed as no lookup key was defined');
177
+ }
178
+ }
179
+ lookup_contact_by_email() {
180
+ if (this.params.elq_contact_lookup_key != '') {
181
+ ElqLib._elqQ.push([
182
+ 'elqDataLookup',
183
+ escape(this.params.elq_contact_lookup_key),
184
+ '<' + this.params.elq_field_contact_email + '>' + this.user_elq_email + '</' + this.params.elq_field_contact_email + '>',
185
+ ]);
186
+ console.log('LOOKUP: Contact lookup sent using email address: ' + this.user_elq_email);
187
+ }
188
+ else {
189
+ console.log('LOOKUP: A visitor lookup cannot be performed as no lookup key was defined');
190
+ }
191
+ }
192
+ handle_visitor_lookup() {
193
+ //console.log('Contact Email: ' + this.params.elq_field_contact_email)
194
+ const email = window.GetElqContentPersonalizationValue(this.params.elq_field_contact_email); //it was elq_field_visitor_email ( V_Email_Address)
195
+ if (email) {
196
+ console.log(`LOOKUP: Found contact email address: ${email}`);
197
+ this.user_elq_email = email.trim();
198
+ this.lookup_contact_by_email();
199
+ this.callback_queue.push(this.handle_contact_lookup.bind(this));
200
+ return true;
201
+ }
202
+ else {
203
+ return false;
204
+ }
205
+ }
206
+ handle_contact_lookup() {
207
+ if (window.GetElqContentPersonalizationValue(this.params.elq_field_contact_email) != '') {
208
+ console.log('LOOKUP: Found contact email address: ' + window.GetElqContentPersonalizationValue(this.params.elq_field_contact_email));
209
+ return true;
210
+ }
211
+ else {
212
+ return false;
213
+ }
214
+ }
215
+ populate_mapped_fields() {
216
+ console.log('MAPPING: Starting field mapping');
217
+ //debugger;
218
+ this.field_mappings.forEach(({ elementId, elqFieldName }) => {
219
+ const fieldValue = window.GetElqContentPersonalizationValue(elqFieldName);
220
+ if (elementId !== 'contact-country') {
221
+ const element = document.getElementById(elementId);
222
+ console.log('element ID of field mappings: ' + elementId);
223
+ console.log('fieldValue ID of field mappings: ' + fieldValue);
224
+ if (element && fieldValue) {
225
+ element.value = fieldValue;
226
+ //element.style.display = 'none'; // Hide the field.
227
+ if (element.closest('ptc-textfield')) {
228
+ element.closest('ptc-textfield').style.display = 'none';
229
+ element.closest('ptc-textfield').inputValue = fieldValue;
230
+ }
231
+ else if (element.closest('ptc-select')) {
232
+ element.closest('ptc-select').style.display = 'none';
233
+ element.closest("ptc-select").selectedValue = fieldValue;
234
+ }
235
+ this.fields_populated = true;
236
+ }
237
+ }
238
+ else {
239
+ const countryEle = document.getElementById(elementId);
240
+ if (countryEle && fieldValue) {
241
+ countryEle.textContent = fieldValue;
242
+ countryEle.closest("ptc-select").selectedValue = fieldValue;
243
+ }
244
+ // debugger;
245
+ if (countryEle.closest('ptc-select')) {
246
+ countryEle.closest('ptc-select').style.display = 'none';
247
+ }
248
+ }
249
+ });
250
+ console.log('MAPPING: Finished ');
251
+ if (this.fields_populated) {
252
+ this.update_notme_link();
253
+ }
254
+ }
255
+ update_user_details() {
256
+ console.log('displaying user info...');
257
+ if (window.GetElqContentPersonalizationValue(this.params.elq_field_contact_email) !== '') {
258
+ document
259
+ .querySelectorAll('input[type=text], input[type=tel], input[name="phonenumber"], input[name="phonenumbertwo"], input[type=email], select, textarea, span.mdc-select__selected-text')
260
+ .forEach((element) => {
261
+ if (element.tagName === 'SPAN') {
262
+ const spanText = element;
263
+ const spanEloquaName = spanText.getAttribute('data-eloqua-name');
264
+ if (spanEloquaName !== null) {
265
+ const spanElqValue = window.GetElqContentPersonalizationValue(spanEloquaName);
266
+ if (spanElqValue !== '' && spanElqValue.length > 0) {
267
+ spanText.textContent = spanElqValue;
268
+ spanText.closest('ptc-select').defaultValue = spanElqValue;
269
+ }
270
+ }
271
+ }
272
+ else if (element.className.includes('intl-tel-input')) {
273
+ const telInput = element;
274
+ const eloquaName = telInput.getAttribute('data-eloqua-name');
275
+ if (eloquaName !== null) {
276
+ const elqValue = window.GetElqContentPersonalizationValue(eloquaName);
277
+ if (elqValue !== '' && elqValue.length > 0) {
278
+ setTimeout(() => {
279
+ telInput.placeholder = elqValue;
280
+ telInput.value = elqValue;
281
+ }, 1000);
282
+ }
283
+ }
284
+ }
285
+ else {
286
+ const input = element;
287
+ const eloquaName = input.getAttribute('data-eloqua-name');
288
+ if (eloquaName !== null) {
289
+ const elqValue = window.GetElqContentPersonalizationValue(eloquaName);
290
+ if (elqValue !== '' && elqValue.length > 0) {
291
+ input.value = elqValue;
292
+ }
293
+ }
294
+ }
295
+ });
296
+ }
297
+ if (this.user_elq_email == '' && window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_email) != '') {
298
+ this.user_elq_email = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_email);
299
+ }
300
+ if (this.user_elq_firstname == '' && window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_firstname) != '') {
301
+ this.user_elq_firstname = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_firstname);
302
+ }
303
+ if (this.user_elq_lastname == '' && window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_lastname) != '') {
304
+ this.user_elq_lastname = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_lastname);
305
+ }
306
+ }
307
+ update_notme_link() {
308
+ // Assuming the user's first and last name are available from Eloqua fields
309
+ const firstName = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_firstname);
310
+ const lastName = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_lastname);
311
+ const topAdditional = document.getElementById('not-me-additional-top');
312
+ const bottomAdditional = document.getElementById('not-me-additional-bottom');
313
+ if (topAdditional) {
314
+ let message = topAdditional.innerHTML;
315
+ console.log('first name: ' + firstName);
316
+ if (firstName && lastName) {
317
+ message = message.replace('{name}', lastName + ' ' + firstName);
318
+ }
319
+ else {
320
+ message = this.params.notme_message_noname;
321
+ }
322
+ topAdditional.innerHTML = message;
323
+ topAdditional.style.display = 'block';
324
+ }
325
+ if (bottomAdditional) {
326
+ //bottomAdditional.innerHTML="Click the button below to recieve email confirmation.";
327
+ bottomAdditional.style.display = 'block';
328
+ }
329
+ const notMeLinkElement = document.getElementById(this.params.notme_link_id);
330
+ if (notMeLinkElement) {
331
+ notMeLinkElement.style.display = 'block';
332
+ notMeLinkElement.onclick = this.remove_user_details.bind(this);
333
+ }
334
+ }
335
+ // private init_notme(): void{
336
+ // const topAdditional = document.getElementById('not-me-additional-top');
337
+ // const bottomAdditional = document.getElementById('not-me-additional-bottom');
338
+ // console.log("top: " + topAdditional)
339
+ // if(topAdditional) topAdditional.style.display = 'none';
340
+ // if(bottomAdditional) bottomAdditional.style.display = 'none';
341
+ // }
342
+ remove_user_details(e) {
343
+ e.preventDefault();
344
+ this.user_elq_email = '';
345
+ this.user_elq_firstname = '';
346
+ this.user_elq_lastname = '';
347
+ // $('.' + this.params.notme_fields_class).val('');
348
+ //const linkDiv = document.getElementById(this.params.notme_link_id);
349
+ const topAdditional = document.getElementById('not-me-additional-top');
350
+ const bottomAdditional = document.getElementById('not-me-additional-bottom');
351
+ //linkDiv.querySelector('a').remove();
352
+ topAdditional.style.display = 'none';
353
+ bottomAdditional.style.display = 'none';
354
+ this.refreshForm();
355
+ return false;
356
+ }
357
+ refreshForm() {
358
+ this.field_mappings.forEach(({ elementId }) => {
359
+ if (elementId !== 'contact-country') {
360
+ const element = document.getElementById(elementId);
361
+ if (element) {
362
+ console.log('element: ' + element);
363
+ element.value = ''; // Reset the value
364
+ if (element.closest('ptc-textfield')) {
365
+ element.closest('ptc-textfield').style.display = '';
366
+ }
367
+ else if (element.closest('ptc-select')) {
368
+ element.closest('ptc-select').style.display = '';
369
+ }
370
+ }
371
+ }
372
+ else {
373
+ const countryEle = document.getElementById(elementId);
374
+ if (countryEle) {
375
+ countryEle.textContent = '';
376
+ }
377
+ // debugger;
378
+ if (countryEle.closest('ptc-select')) {
379
+ countryEle.closest('ptc-select').style.display = '';
380
+ }
381
+ }
382
+ });
383
+ this.clearEloquaCookie('elq-uid'); // Optionally clear the Eloqua cookie
384
+ this.fields_populated = false;
385
+ //this.update_notme_link(); // Update the 'Not Me' link if necessary
386
+ }
387
+ clearEloquaCookie(name) {
388
+ document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';
389
+ console.log('cookie cleared');
390
+ }
391
+ // Private Method to load Eloqua Scripts
392
+ async_load() {
393
+ const scriptUrl = 'https://img.en25.com/i/elqCfg.min.js';
394
+ const scriptElement = document.createElement('script');
395
+ scriptElement.type = 'text/javascript';
396
+ scriptElement.async = true;
397
+ scriptElement.src = scriptUrl;
398
+ // Error handling for script loading
399
+ scriptElement.onerror = errorEvent => {
400
+ console.log(`Error loading script: ${errorEvent}`);
401
+ };
402
+ // Append the script element to the head of the document, or before the first script tag found
403
+ const firstScriptTag = document.getElementsByTagName('script')[0];
404
+ if (firstScriptTag && firstScriptTag.parentNode) {
405
+ firstScriptTag.parentNode.insertBefore(scriptElement, firstScriptTag);
406
+ }
407
+ else {
408
+ document.head.appendChild(scriptElement);
409
+ }
410
+ console.log(`Async loading of script ${scriptUrl} initiated.`);
411
+ }
412
+ }
413
+ ElqLib._elqQ = window['_elqQ'] || [];
414
+ // Static member initialization
415
+ //ElqLib._elqQ = window['_elqQ'] || [];