@ptcwebops/ptcw-design 1.5.2 → 1.5.5

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 (391) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/bundle-example.cjs.entry.js +30 -30
  3. package/dist/cjs/bundle-jumbotron-example.cjs.entry.js +50 -0
  4. package/dist/cjs/dropdown-item.cjs.entry.js +10 -10
  5. package/dist/cjs/dynamic-box-bundle.cjs.entry.js +25 -25
  6. package/dist/cjs/{bundle-jumbotron-example_14.cjs.entry.js → icon-asset_16.cjs.entry.js} +927 -916
  7. package/dist/cjs/innovator-toggle-container.cjs.entry.js +21 -21
  8. package/dist/cjs/interfaces-0ecd8027.js +15 -0
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/lottie-player.cjs.entry.js +354 -354
  11. package/dist/cjs/max-width-container_3.cjs.entry.js +236 -0
  12. package/dist/cjs/my-component.cjs.entry.js +15 -15
  13. package/dist/cjs/ptc-accordion-item.cjs.entry.js +83 -83
  14. package/dist/cjs/ptc-accordion.cjs.entry.js +35 -35
  15. package/dist/cjs/ptc-announcement.cjs.entry.js +50 -50
  16. package/dist/cjs/ptc-bio-card.cjs.entry.js +24 -24
  17. package/dist/cjs/ptc-card-bottom_3.cjs.entry.js +122 -122
  18. package/dist/cjs/ptc-card-content.cjs.entry.js +57 -57
  19. package/dist/cjs/ptc-card.cjs.entry.js +66 -66
  20. package/dist/cjs/ptc-checkbox.cjs.entry.js +50 -50
  21. package/dist/cjs/ptc-collapse-list.cjs.entry.js +353 -346
  22. package/dist/cjs/ptc-container.cjs.entry.js +33 -33
  23. package/dist/cjs/ptc-date.cjs.entry.js +50 -50
  24. package/dist/cjs/ptc-dropdown.cjs.entry.js +64 -64
  25. package/dist/cjs/ptc-dynamic-card.cjs.entry.js +47 -47
  26. package/dist/cjs/ptc-ellipsis-dropdown.cjs.entry.js +38 -38
  27. package/dist/cjs/ptc-filter-tag.cjs.entry.js +57 -57
  28. package/dist/cjs/ptc-hero-footer-cta.cjs.entry.js +11 -11
  29. package/dist/cjs/ptc-hero.cjs.entry.js +18 -18
  30. package/dist/cjs/ptc-icon-list.cjs.entry.js +21 -21
  31. package/dist/cjs/ptc-icon-minimize.cjs.entry.js +43 -43
  32. package/dist/cjs/ptc-jumbotron.cjs.entry.js +135 -0
  33. package/dist/cjs/ptc-link.cjs.entry.js +35 -35
  34. package/dist/cjs/ptc-list.cjs.entry.js +49 -49
  35. package/dist/cjs/ptc-lottie.cjs.entry.js +10 -10
  36. package/dist/cjs/ptc-media-card.cjs.entry.js +58 -58
  37. package/dist/cjs/ptc-minimized-footer.cjs.entry.js +8 -8
  38. package/dist/cjs/ptc-minimized-header.cjs.entry.js +11 -11
  39. package/dist/cjs/ptc-mobile-select.cjs.entry.js +53 -53
  40. package/dist/cjs/ptc-modal.cjs.entry.js +149 -149
  41. package/dist/cjs/ptc-nav-card.cjs.entry.js +36 -36
  42. package/dist/cjs/ptc-nav-link.cjs.entry.js +36 -36
  43. package/dist/cjs/ptc-nav-slider.cjs.entry.js +83 -83
  44. package/dist/cjs/ptc-nav-submenu.cjs.entry.js +18 -18
  45. package/dist/cjs/ptc-overlay.cjs.entry.js +23 -23
  46. package/dist/cjs/ptc-pagenation.cjs.entry.js +306 -306
  47. package/dist/cjs/ptc-previous-url.cjs.entry.js +11 -11
  48. package/dist/cjs/ptc-pricing-block.cjs.entry.js +20 -20
  49. package/dist/cjs/ptc-pricing-tabs.cjs.entry.js +125 -125
  50. package/dist/cjs/ptc-quote.cjs.entry.js +23 -23
  51. package/dist/cjs/ptc-readmore.cjs.entry.js +73 -73
  52. package/dist/cjs/ptc-responsive-wrapper.cjs.entry.js +54 -54
  53. package/dist/cjs/ptc-search-field.cjs.entry.js +71 -71
  54. package/dist/cjs/ptc-shopping-cart.cjs.entry.js +50 -50
  55. package/dist/cjs/ptc-social-share.cjs.entry.js +59 -59
  56. package/dist/cjs/ptc-span.cjs.entry.js +18 -18
  57. package/dist/cjs/ptc-sticky-icons.cjs.entry.js +32 -32
  58. package/dist/cjs/ptc-sticky-section.cjs.entry.js +27 -27
  59. package/dist/cjs/ptc-subnav-card.cjs.entry.js +15 -15
  60. package/dist/cjs/ptc-subnav.cjs.entry.js +21 -21
  61. package/dist/cjs/ptc-svg-btn.cjs.entry.js +95 -95
  62. package/dist/cjs/ptc-tab-list.cjs.entry.js +125 -125
  63. package/dist/cjs/ptc-tab.cjs.entry.js +20 -20
  64. package/dist/cjs/ptc-tabs.cjs.entry.js +47 -47
  65. package/dist/cjs/ptc-text-copy-with-background.cjs.entry.js +42 -41
  66. package/dist/cjs/ptc-two-column-media.cjs.entry.js +15 -15
  67. package/dist/cjs/ptcw-design.cjs.js +1 -1
  68. package/dist/cjs/sequential-bundle-example.cjs.entry.js +100 -100
  69. package/dist/cjs/sequential-bundle.cjs.entry.js +88 -88
  70. package/dist/cjs/tab-content.cjs.entry.js +27 -27
  71. package/dist/cjs/tab-header.cjs.entry.js +64 -64
  72. package/dist/cjs/{utils-9eb22041.js → utils-416c94fe.js} +90 -90
  73. package/dist/collection/collection-manifest.json +7 -0
  74. package/dist/collection/components/dropdown-item/dropdown-item.js +61 -61
  75. package/dist/collection/components/dynamic-box-bundle/dynamic-box-bundle.js +114 -114
  76. package/dist/collection/components/icon-asset/icon-asset.css +4 -4
  77. package/dist/collection/components/icon-asset/icon-asset.js +199 -199
  78. package/dist/collection/components/icon-asset/media/brands.svg +1381 -1381
  79. package/dist/collection/components/icon-asset/media/designer.svg +397 -397
  80. package/dist/collection/components/icon-asset/media/regular.svg +463 -463
  81. package/dist/collection/components/icon-asset/media/solid.svg +3013 -3013
  82. package/dist/collection/components/icon-asset/media/svg-with-js.min.css +4 -4
  83. package/dist/collection/components/innovator-toggle-container/innovator-toggle-container.js +89 -89
  84. package/dist/collection/components/list-item/list-item.css +15 -0
  85. package/dist/collection/components/list-item/list-item.js +144 -144
  86. package/dist/collection/components/max-width-container/max-width-container.css +11 -11
  87. package/dist/collection/components/max-width-container/max-width-container.js +105 -105
  88. package/dist/collection/components/my-component/my-component.css +3 -3
  89. package/dist/collection/components/my-component/my-component.js +82 -82
  90. package/dist/collection/components/organism-bundles/bundle-example/bundle-example.css +25 -25
  91. package/dist/collection/components/organism-bundles/bundle-example/bundle-example.js +58 -58
  92. package/dist/collection/components/organism-bundles/bundle-jumbotron-example/bundle-jumbotron-example.css +3 -3
  93. package/dist/collection/components/organism-bundles/bundle-jumbotron-example/bundle-jumbotron-example.js +91 -91
  94. package/dist/collection/components/organism-bundles/sequential-bundle/sequential-bundle.js +116 -116
  95. package/dist/collection/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.css +89 -89
  96. package/dist/collection/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.js +152 -152
  97. package/dist/collection/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.js +287 -287
  98. package/dist/collection/components/ptc-accordion/ptc-accordion.js +78 -78
  99. package/dist/collection/components/ptc-announcement/ptc-announcement.js +237 -237
  100. package/dist/collection/components/ptc-back-to-top/ptc-back-to-top.css +30 -0
  101. package/dist/collection/components/ptc-back-to-top/ptc-back-to-top.js +61 -0
  102. package/dist/collection/components/ptc-background-video/ptc-background-video.js +200 -200
  103. package/dist/collection/components/ptc-bio-card/ptc-bio-card.js +130 -130
  104. package/dist/collection/components/ptc-breadcrumb/ptc-breadcrumb.js +105 -105
  105. package/dist/collection/components/ptc-button/ptc-button.js +283 -283
  106. package/dist/collection/components/ptc-card/ptc-card.js +362 -362
  107. package/dist/collection/components/ptc-card-bottom/ptc-card-bottom.js +116 -116
  108. package/dist/collection/components/ptc-card-content/ptc-card-content.js +212 -212
  109. package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.js +214 -214
  110. package/dist/collection/components/ptc-checkbox/ptc-checkbox.js +152 -152
  111. package/dist/collection/components/ptc-collapse-list/ptc-collapse-list.js +593 -586
  112. package/dist/collection/components/ptc-container/ptc-container.js +138 -138
  113. package/dist/collection/components/ptc-date/ptc-date.js +224 -224
  114. package/dist/collection/components/ptc-dropdown/ptc-dropdown.js +162 -162
  115. package/dist/collection/components/ptc-dynamic-card/media/nav-active-dotslick.svg +15 -15
  116. package/dist/collection/components/ptc-dynamic-card/ptc-dynamic-card.js +174 -174
  117. package/dist/collection/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.js +122 -122
  118. package/dist/collection/components/ptc-filter-tag/ptc-filter-tag.js +113 -113
  119. package/dist/collection/components/ptc-hero/ptc-hero.js +86 -86
  120. package/dist/collection/components/ptc-hero-footer-cta/ptc-hero-footer-cta.js +78 -78
  121. package/dist/collection/components/ptc-icon-list/ptc-icon-list.js +127 -127
  122. package/dist/collection/components/ptc-icon-minimize/ptc-icon-minimize.js +119 -119
  123. package/dist/collection/components/ptc-img/ptc-img.js +311 -311
  124. package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.css +33 -12
  125. package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.js +349 -349
  126. package/dist/collection/components/ptc-link/ptc-link.js +209 -209
  127. package/dist/collection/components/ptc-list/ptc-list.js +99 -99
  128. package/dist/collection/components/ptc-lottie/ptc-lottie.css +5 -5
  129. package/dist/collection/components/ptc-lottie/ptc-lottie.js +62 -62
  130. package/dist/collection/components/ptc-media-card/ptc-media-card.js +240 -240
  131. package/dist/collection/components/ptc-minimized-footer/ptc-minimized-footer.js +18 -18
  132. package/dist/collection/components/ptc-minimized-header/ptc-minimized-header.js +81 -81
  133. package/dist/collection/components/ptc-mobile-select/ptc-mobile-select.js +190 -190
  134. package/dist/collection/components/ptc-modal/ptc-modal.js +389 -389
  135. package/dist/collection/components/ptc-nav-card/ptc-nav-card.js +224 -224
  136. package/dist/collection/components/ptc-overlay/ptc-overlay.js +131 -131
  137. package/dist/collection/components/ptc-pagenation/ptc-pagenation.js +573 -573
  138. package/dist/collection/components/ptc-para/ptc-para.js +242 -242
  139. package/dist/collection/components/ptc-picture/ptc-picture.css +7 -1
  140. package/dist/collection/components/ptc-picture/ptc-picture.js +473 -453
  141. package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +78 -78
  142. package/dist/collection/components/ptc-pricing-block/ptc-pricing-block.js +70 -70
  143. package/dist/collection/components/ptc-pricing-tabs/ptc-pricing-tabs.css +33 -12
  144. package/dist/collection/components/ptc-pricing-tabs/ptc-pricing-tabs.js +272 -272
  145. package/dist/collection/components/ptc-product-card/ptc-product-card.css +61 -0
  146. package/dist/collection/components/ptc-product-card/ptc-product-card.js +179 -0
  147. package/dist/collection/components/ptc-product-category/ptc-product-category.css +4 -0
  148. package/dist/collection/components/ptc-product-category/ptc-product-category.js +60 -0
  149. package/dist/collection/components/ptc-product-dropdown/ptc-product-dropdown.css +79 -0
  150. package/dist/collection/components/ptc-product-dropdown/ptc-product-dropdown.js +185 -0
  151. package/dist/collection/components/ptc-product-highlight-card/ptc-product-highlight-card.css +11 -0
  152. package/dist/collection/components/ptc-product-highlight-card/ptc-product-highlight-card.js +96 -0
  153. package/dist/collection/components/ptc-product-list/ptc-product-list.css +23 -0
  154. package/dist/collection/components/ptc-product-list/ptc-product-list.js +171 -0
  155. package/dist/collection/components/ptc-product-sidebar/ptc-product-sidebar.css +150 -0
  156. package/dist/collection/components/ptc-product-sidebar/ptc-product-sidebar.js +237 -0
  157. package/dist/collection/components/ptc-quote/ptc-quote.js +144 -144
  158. package/dist/collection/components/ptc-readmore/ptc-readmore.js +298 -298
  159. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.css +3 -3
  160. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.js +65 -65
  161. package/dist/collection/components/ptc-search-field/ptc-search-field.js +247 -247
  162. package/dist/collection/components/ptc-shopping-cart/ptc-shopping-cart.js +97 -97
  163. package/dist/collection/components/ptc-skeleton/ptc-skeleton.js +139 -139
  164. package/dist/collection/components/ptc-social-share/ptc-social-share.js +239 -239
  165. package/dist/collection/components/ptc-spacer/ptc-spacer.css +332 -332
  166. package/dist/collection/components/ptc-spacer/ptc-spacer.js +97 -97
  167. package/dist/collection/components/ptc-span/ptc-span.js +87 -87
  168. package/dist/collection/components/ptc-sticky-icons/ptc-sticky-icons.js +51 -51
  169. package/dist/collection/components/ptc-sticky-section/ptc-sticky-section.js +46 -46
  170. package/dist/collection/components/ptc-svg-btn/ptc-svg-btn.js +109 -109
  171. package/dist/collection/components/ptc-tab-list/ptc-tab-list.js +177 -177
  172. package/dist/collection/components/ptc-tabs/ptc-tab.js +121 -121
  173. package/dist/collection/components/ptc-tabs/ptc-tabs.js +104 -104
  174. package/dist/collection/components/ptc-text-copy-with-background/ptc-text-copy-with-background.js +181 -180
  175. package/dist/collection/components/ptc-title/ptc-title.css +8 -0
  176. package/dist/collection/components/ptc-title/ptc-title.js +310 -310
  177. package/dist/collection/components/ptc-tooltip/ptc-tooltip.css +9 -0
  178. package/dist/collection/components/ptc-tooltip/ptc-tooltip.js +342 -322
  179. package/dist/collection/components/ptc-two-column-media/ptc-two-column-media.js +48 -48
  180. package/dist/collection/components/subnav/ptc-nav-link/ptc-nav-link.js +114 -114
  181. package/dist/collection/components/subnav/ptc-nav-slider/ptc-nav-slider.js +126 -126
  182. package/dist/collection/components/subnav/ptc-nav-submenu/ptc-nav-submenu.js +85 -85
  183. package/dist/collection/components/subnav/ptc-subnav/ptc-subnav.js +47 -47
  184. package/dist/collection/components/subnav/ptc-subnav-card/ptc-subnav-card.js +133 -133
  185. package/dist/collection/components/tab-content/tab-content.js +84 -84
  186. package/dist/collection/components/tab-header/tab-header.js +182 -182
  187. package/dist/collection/index.js +1 -1
  188. package/dist/collection/media/svg-imgs/Back-arrow.svg +11 -11
  189. package/dist/collection/media/svg-imgs/close.svg +10 -10
  190. package/dist/collection/media/svg-imgs/play-button-dark.svg +20 -20
  191. package/dist/collection/media/svg-imgs/ptc-shopping-cart-black.svg +3 -3
  192. package/dist/collection/media/svg-imgs/ptc-shopping-cart-white.svg +3 -3
  193. package/dist/collection/media/svg-imgs/slider-arrow-left.svg +18 -18
  194. package/dist/collection/media/svg-imgs/slider-arrow-right.svg +18 -18
  195. package/dist/collection/media/svg-imgs/union.svg +3 -3
  196. package/dist/collection/utils/component.js +3 -3
  197. package/dist/collection/utils/interfaces.js +11 -11
  198. package/dist/collection/utils/utils.js +92 -92
  199. package/dist/custom-elements/index.d.ts +42 -0
  200. package/dist/custom-elements/index.js +5355 -4903
  201. package/dist/esm/bundle-example.entry.js +30 -30
  202. package/dist/esm/bundle-jumbotron-example.entry.js +46 -0
  203. package/dist/esm/dropdown-item.entry.js +10 -10
  204. package/dist/esm/dynamic-box-bundle.entry.js +25 -25
  205. package/dist/esm/{bundle-jumbotron-example_14.entry.js → icon-asset_16.entry.js} +922 -913
  206. package/dist/esm/innovator-toggle-container.entry.js +21 -21
  207. package/dist/esm/interfaces-c1c73092.js +12 -0
  208. package/dist/esm/loader.js +1 -1
  209. package/dist/esm/lottie-player.entry.js +354 -354
  210. package/dist/esm/max-width-container_3.entry.js +230 -0
  211. package/dist/esm/my-component.entry.js +15 -15
  212. package/dist/esm/polyfills/core-js.js +0 -0
  213. package/dist/esm/polyfills/dom.js +0 -0
  214. package/dist/esm/polyfills/es5-html-element.js +0 -0
  215. package/dist/esm/polyfills/index.js +0 -0
  216. package/dist/esm/polyfills/system.js +0 -0
  217. package/dist/esm/ptc-accordion-item.entry.js +83 -83
  218. package/dist/esm/ptc-accordion.entry.js +35 -35
  219. package/dist/esm/ptc-announcement.entry.js +50 -50
  220. package/dist/esm/ptc-bio-card.entry.js +24 -24
  221. package/dist/esm/ptc-card-bottom_3.entry.js +122 -122
  222. package/dist/esm/ptc-card-content.entry.js +57 -57
  223. package/dist/esm/ptc-card.entry.js +66 -66
  224. package/dist/esm/ptc-checkbox.entry.js +50 -50
  225. package/dist/esm/ptc-collapse-list.entry.js +353 -346
  226. package/dist/esm/ptc-container.entry.js +33 -33
  227. package/dist/esm/ptc-date.entry.js +50 -50
  228. package/dist/esm/ptc-dropdown.entry.js +64 -64
  229. package/dist/esm/ptc-dynamic-card.entry.js +47 -47
  230. package/dist/esm/ptc-ellipsis-dropdown.entry.js +38 -38
  231. package/dist/esm/ptc-filter-tag.entry.js +57 -57
  232. package/dist/esm/ptc-hero-footer-cta.entry.js +11 -11
  233. package/dist/esm/ptc-hero.entry.js +18 -18
  234. package/dist/esm/ptc-icon-list.entry.js +21 -21
  235. package/dist/esm/ptc-icon-minimize.entry.js +43 -43
  236. package/dist/esm/ptc-jumbotron.entry.js +131 -0
  237. package/dist/esm/ptc-link.entry.js +35 -35
  238. package/dist/esm/ptc-list.entry.js +49 -49
  239. package/dist/esm/ptc-lottie.entry.js +10 -10
  240. package/dist/esm/ptc-media-card.entry.js +58 -58
  241. package/dist/esm/ptc-minimized-footer.entry.js +8 -8
  242. package/dist/esm/ptc-minimized-header.entry.js +11 -11
  243. package/dist/esm/ptc-mobile-select.entry.js +53 -53
  244. package/dist/esm/ptc-modal.entry.js +149 -149
  245. package/dist/esm/ptc-nav-card.entry.js +36 -36
  246. package/dist/esm/ptc-nav-link.entry.js +36 -36
  247. package/dist/esm/ptc-nav-slider.entry.js +83 -83
  248. package/dist/esm/ptc-nav-submenu.entry.js +18 -18
  249. package/dist/esm/ptc-overlay.entry.js +23 -23
  250. package/dist/esm/ptc-pagenation.entry.js +306 -306
  251. package/dist/esm/ptc-previous-url.entry.js +11 -11
  252. package/dist/esm/ptc-pricing-block.entry.js +20 -20
  253. package/dist/esm/ptc-pricing-tabs.entry.js +125 -125
  254. package/dist/esm/ptc-quote.entry.js +23 -23
  255. package/dist/esm/ptc-readmore.entry.js +73 -73
  256. package/dist/esm/ptc-responsive-wrapper.entry.js +54 -54
  257. package/dist/esm/ptc-search-field.entry.js +71 -71
  258. package/dist/esm/ptc-shopping-cart.entry.js +50 -50
  259. package/dist/esm/ptc-social-share.entry.js +59 -59
  260. package/dist/esm/ptc-span.entry.js +18 -18
  261. package/dist/esm/ptc-sticky-icons.entry.js +32 -32
  262. package/dist/esm/ptc-sticky-section.entry.js +27 -27
  263. package/dist/esm/ptc-subnav-card.entry.js +15 -15
  264. package/dist/esm/ptc-subnav.entry.js +21 -21
  265. package/dist/esm/ptc-svg-btn.entry.js +95 -95
  266. package/dist/esm/ptc-tab-list.entry.js +125 -125
  267. package/dist/esm/ptc-tab.entry.js +20 -20
  268. package/dist/esm/ptc-tabs.entry.js +47 -47
  269. package/dist/esm/ptc-text-copy-with-background.entry.js +42 -41
  270. package/dist/esm/ptc-two-column-media.entry.js +15 -15
  271. package/dist/esm/ptcw-design.js +1 -1
  272. package/dist/esm/sequential-bundle-example.entry.js +100 -100
  273. package/dist/esm/sequential-bundle.entry.js +88 -88
  274. package/dist/esm/tab-content.entry.js +27 -27
  275. package/dist/esm/tab-header.entry.js +64 -64
  276. package/dist/esm/{utils-38decc43.js → utils-f937097d.js} +90 -90
  277. package/dist/ptcw-design/media/brands.svg +1381 -1381
  278. package/dist/ptcw-design/media/designer.svg +397 -397
  279. package/dist/ptcw-design/media/nav-active-dotslick.svg +15 -15
  280. package/dist/ptcw-design/media/regular.svg +463 -463
  281. package/dist/ptcw-design/media/solid.svg +3013 -3013
  282. package/dist/ptcw-design/media/svg-with-js.min.css +4 -4
  283. package/dist/ptcw-design/p-2414dc2a.entry.js +1 -0
  284. package/dist/ptcw-design/p-50e52c88.js +1 -0
  285. package/dist/ptcw-design/p-6927c111.entry.js +1 -0
  286. package/dist/ptcw-design/p-73ea7065.entry.js +1 -0
  287. package/dist/ptcw-design/{p-4702f4e4.entry.js → p-8a6acf0d.entry.js} +1 -1
  288. package/dist/ptcw-design/p-9379f3b6.entry.js +1 -0
  289. package/dist/ptcw-design/p-a0ead888.entry.js +1 -0
  290. package/dist/ptcw-design/{p-c9bd6b20.entry.js → p-e2c96087.entry.js} +1 -1
  291. package/dist/ptcw-design/{p-469482ba.entry.js → p-ed0c7f10.entry.js} +1 -1
  292. package/dist/ptcw-design/p-f9129612.entry.js +1 -0
  293. package/dist/ptcw-design/ptcw-design.css +2 -2
  294. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  295. package/dist/types/components/dropdown-item/dropdown-item.d.ts +5 -5
  296. package/dist/types/components/dynamic-box-bundle/dynamic-box-bundle.d.ts +10 -10
  297. package/dist/types/components/icon-asset/icon-asset.d.ts +40 -40
  298. package/dist/types/components/innovator-toggle-container/innovator-toggle-container.d.ts +17 -17
  299. package/dist/types/components/list-item/list-item.d.ts +16 -16
  300. package/dist/types/components/max-width-container/max-width-container.d.ts +11 -11
  301. package/dist/types/components/my-component/my-component.d.ts +16 -16
  302. package/dist/types/components/organism-bundles/bundle-example/bundle-example.d.ts +10 -10
  303. package/dist/types/components/organism-bundles/bundle-jumbotron-example/bundle-jumbotron-example.d.ts +5 -5
  304. package/dist/types/components/organism-bundles/sequential-bundle/sequential-bundle.d.ts +12 -12
  305. package/dist/types/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.d.ts +16 -16
  306. package/dist/types/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.d.ts +59 -59
  307. package/dist/types/components/ptc-accordion/ptc-accordion.d.ts +13 -13
  308. package/dist/types/components/ptc-announcement/ptc-announcement.d.ts +51 -51
  309. package/dist/types/components/ptc-back-to-top/ptc-back-to-top.d.ts +9 -0
  310. package/dist/types/components/ptc-background-video/ptc-background-video.d.ts +45 -45
  311. package/dist/types/components/ptc-bio-card/ptc-bio-card.d.ts +27 -27
  312. package/dist/types/components/ptc-breadcrumb/ptc-breadcrumb.d.ts +20 -20
  313. package/dist/types/components/ptc-button/ptc-button.d.ts +60 -60
  314. package/dist/types/components/ptc-card/ptc-card.d.ts +71 -71
  315. package/dist/types/components/ptc-card-bottom/ptc-card-bottom.d.ts +15 -15
  316. package/dist/types/components/ptc-card-content/ptc-card-content.d.ts +19 -19
  317. package/dist/types/components/ptc-card-wrapper/ptc-card-wrapper.d.ts +24 -24
  318. package/dist/types/components/ptc-checkbox/ptc-checkbox.d.ts +14 -14
  319. package/dist/types/components/ptc-collapse-list/ptc-collapse-list.d.ts +56 -56
  320. package/dist/types/components/ptc-container/ptc-container.d.ts +13 -13
  321. package/dist/types/components/ptc-date/ptc-date.d.ts +46 -46
  322. package/dist/types/components/ptc-dropdown/ptc-dropdown.d.ts +19 -19
  323. package/dist/types/components/ptc-dynamic-card/ptc-dynamic-card.d.ts +23 -23
  324. package/dist/types/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.d.ts +12 -12
  325. package/dist/types/components/ptc-filter-tag/ptc-filter-tag.d.ts +17 -17
  326. package/dist/types/components/ptc-hero/ptc-hero.d.ts +16 -16
  327. package/dist/types/components/ptc-hero-footer-cta/ptc-hero-footer-cta.d.ts +6 -6
  328. package/dist/types/components/ptc-icon-list/ptc-icon-list.d.ts +21 -21
  329. package/dist/types/components/ptc-icon-minimize/ptc-icon-minimize.d.ts +12 -12
  330. package/dist/types/components/ptc-img/ptc-img.d.ts +55 -55
  331. package/dist/types/components/ptc-jumbotron/ptc-jumbotron.d.ts +25 -25
  332. package/dist/types/components/ptc-link/ptc-link.d.ts +40 -40
  333. package/dist/types/components/ptc-list/ptc-list.d.ts +8 -8
  334. package/dist/types/components/ptc-lottie/ptc-lottie.d.ts +12 -12
  335. package/dist/types/components/ptc-media-card/ptc-media-card.d.ts +52 -52
  336. package/dist/types/components/ptc-minimized-footer/ptc-minimized-footer.d.ts +3 -3
  337. package/dist/types/components/ptc-minimized-header/ptc-minimized-header.d.ts +6 -6
  338. package/dist/types/components/ptc-mobile-select/ptc-mobile-select.d.ts +36 -36
  339. package/dist/types/components/ptc-modal/ptc-modal.d.ts +67 -67
  340. package/dist/types/components/ptc-nav-card/ptc-nav-card.d.ts +46 -46
  341. package/dist/types/components/ptc-overlay/ptc-overlay.d.ts +21 -21
  342. package/dist/types/components/ptc-pagenation/ptc-pagenation.d.ts +40 -40
  343. package/dist/types/components/ptc-para/ptc-para.d.ts +47 -47
  344. package/dist/types/components/ptc-picture/ptc-picture.d.ts +97 -93
  345. package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +9 -9
  346. package/dist/types/components/ptc-pricing-block/ptc-pricing-block.d.ts +7 -7
  347. package/dist/types/components/ptc-pricing-tabs/ptc-pricing-tabs.d.ts +52 -52
  348. package/dist/types/components/ptc-product-card/ptc-product-card.d.ts +39 -0
  349. package/dist/types/components/ptc-product-category/ptc-product-category.d.ts +5 -0
  350. package/dist/types/components/ptc-product-dropdown/ptc-product-dropdown.d.ts +18 -0
  351. package/dist/types/components/ptc-product-highlight-card/ptc-product-highlight-card.d.ts +23 -0
  352. package/dist/types/components/ptc-product-list/ptc-product-list.d.ts +17 -0
  353. package/dist/types/components/ptc-product-sidebar/ptc-product-sidebar.d.ts +30 -0
  354. package/dist/types/components/ptc-quote/ptc-quote.d.ts +29 -29
  355. package/dist/types/components/ptc-readmore/ptc-readmore.d.ts +57 -57
  356. package/dist/types/components/ptc-responsive-wrapper/ptc-responsive-wrapper.d.ts +8 -8
  357. package/dist/types/components/ptc-search-field/ptc-search-field.d.ts +23 -23
  358. package/dist/types/components/ptc-shopping-cart/ptc-shopping-cart.d.ts +6 -6
  359. package/dist/types/components/ptc-skeleton/ptc-skeleton.d.ts +10 -10
  360. package/dist/types/components/ptc-social-share/ptc-social-share.d.ts +33 -33
  361. package/dist/types/components/ptc-spacer/ptc-spacer.d.ts +16 -16
  362. package/dist/types/components/ptc-span/ptc-span.d.ts +16 -16
  363. package/dist/types/components/ptc-sticky-icons/ptc-sticky-icons.d.ts +7 -7
  364. package/dist/types/components/ptc-sticky-section/ptc-sticky-section.d.ts +9 -9
  365. package/dist/types/components/ptc-svg-btn/ptc-svg-btn.d.ts +20 -20
  366. package/dist/types/components/ptc-tab-list/ptc-tab-list.d.ts +19 -19
  367. package/dist/types/components/ptc-tabs/ptc-tab.d.ts +9 -9
  368. package/dist/types/components/ptc-tabs/ptc-tabs.d.ts +10 -10
  369. package/dist/types/components/ptc-text-copy-with-background/ptc-text-copy-with-background.d.ts +34 -34
  370. package/dist/types/components/ptc-title/ptc-title.d.ts +54 -54
  371. package/dist/types/components/ptc-tooltip/ptc-tooltip.d.ts +59 -55
  372. package/dist/types/components/ptc-two-column-media/ptc-two-column-media.d.ts +9 -9
  373. package/dist/types/components/subnav/ptc-nav-link/ptc-nav-link.d.ts +21 -21
  374. package/dist/types/components/subnav/ptc-nav-slider/ptc-nav-slider.d.ts +11 -11
  375. package/dist/types/components/subnav/ptc-nav-submenu/ptc-nav-submenu.d.ts +18 -18
  376. package/dist/types/components/subnav/ptc-subnav/ptc-subnav.d.ts +7 -7
  377. package/dist/types/components/subnav/ptc-subnav-card/ptc-subnav-card.d.ts +27 -27
  378. package/dist/types/components/tab-content/tab-content.d.ts +12 -12
  379. package/dist/types/components/tab-header/tab-header.d.ts +22 -22
  380. package/dist/types/components.d.ts +359 -134
  381. package/dist/types/global.d.ts +1072 -1072
  382. package/dist/types/index.d.ts +1 -1
  383. package/dist/types/utils/component.d.ts +1 -1
  384. package/dist/types/utils/interfaces.d.ts +31 -31
  385. package/dist/types/utils/utils.d.ts +5 -5
  386. package/package.json +63 -63
  387. package/readme.md +18 -18
  388. package/dist/ptcw-design/p-1bd6ad59.entry.js +0 -1
  389. package/dist/ptcw-design/p-81bd0113.entry.js +0 -1
  390. package/dist/ptcw-design/p-df275994.entry.js +0 -1
  391. /package/dist/ptcw-design/{p-36665caa.js → p-ea875d9e.js} +0 -0
@@ -3,355 +3,362 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-88135a6b.js');
6
- const utils = require('./utils-9eb22041.js');
6
+ const utils = require('./utils-416c94fe.js');
7
7
 
8
8
  const ptcCollapseListCss = ":host{display:block;height:100%}.container{border-right:1px solid rgba(112, 112, 112, 0.25);position:relative;height:100%}.container>ul{overflow:visible}a{transition:color ease-out 250ms}ul{transition:max-height ease-out 250ms, padding ease-out 250ms;overflow:hidden;list-style:none;padding:0;margin:0}li{cursor:pointer}.level-1>ul{max-height:0}.level-1>ul>li{margin:12px 0}.level-1>ul>li:first-child{margin-top:20px}.level-1>ul>li:last-child{margin-bottom:10px}.level-2>ul,.level-3>ul,.level-4>ul,.level-5>ul{max-height:0}.level-2>ul>li,.level-3>ul>li,.level-4>ul>li,.level-5>ul>li{margin:8px 0}.level-2>ul{padding-left:2.25rem}.level-3>ul{padding-left:3rem}.level-4>ul{padding-left:3.75rem}.level-5>ul{padding-left:4.5rem}.level-1{position:relative}.level-1>a{position:relative;padding:16px 20px 17.5px 0;display:block;font-size:18px;letter-spacing:0.45px;font-weight:800;color:var(--color-gray-08);text-decoration:none;border-bottom:1px solid rgba(112, 112, 112, 0.25)}.level-1>a:hover,.level-1>a:active,.level-1>a:focus{text-decoration:none}.level-1>a>icon-asset{transition:transform var(--ptc-ease-out) var(--ptc-transition-medium), padding var(--ptc-ease-out) var(--ptc-transition-medium);position:absolute;right:20px;padding-top:2px}.level-1>a:after{content:\"\";display:block;position:absolute;bottom:-2px;left:0;height:3px;width:40px;background-color:var(--color-green-07);transition:background-color var(--ptc-ease-out) var(--ptc-transition-medium)}.level-1.expanded a>icon-asset{transform:rotate(-180deg);padding-top:0}.level-1.expanded a>ul{padding-top:14px}.level-1.expanded a:after{background-color:var(--color-gray-11)}.level-1>ul{padding-top:0}.level-1:first-child>a{padding-top:20px}.level-2,.level-3,.level-4,.level-5{position:relative}.level-2>a,.level-3>a,.level-4>a,.level-5>a{font-size:15px;font-weight:500;letter-spacing:0.4px;color:var(--color-gray-10);text-decoration:none;display:inline-block;margin-left:20px}.level-2>a:hover,.level-2>a:active,.level-3>a:hover,.level-3>a:active,.level-4>a:hover,.level-4>a:active,.level-5>a:hover,.level-5>a:active{font-weight:800;color:var(--color-green-07);text-decoration:none}.level-2 .expander-icon,.level-3 .expander-icon,.level-4 .expander-icon,.level-5 .expander-icon{position:absolute;left:-18px;top:2px}.level-3:before,.level-4:before,.level-5:before{position:absolute;content:\"\";width:2rem;height:1px;display:block;left:0;top:9px;background-color:var(--color-gray-02)}.level-3:before{width:2rem;left:-2.25rem}.level-4:before{width:2.75rem;left:-3rem}.level-5:before{width:3.5rem;left:-3.75rem}.search-box{display:flex;width:100%}.search-box input[type=text]{font-family:var(--ptc-font-latin);padding:8px 45px 8px 18px;font-size:1rem;font-weight:400;color:var(--color-gray-12);box-shadow:var(--ptc-shadow-x-small);border:solid 1px var(--color-gray-06);transition:border var(--ptc-transition-medium) var(--ptc-ease-out), box-shadow var(--ptc-transition-medium) var(--ptc-ease-out);background-color:var(--color-white);width:100%;margin-right:2rem}.search-box input[type=text]::-ms-clear{display:none}.search-box input[type=text]:focus{outline:none;box-shadow:var(--ptc-shadow-small);border:solid 1px var(--color-gray-12)}.search-box input[type=text]::placeholder{color:var(--color-gray-07)}";
9
9
 
10
- class CollapseListItem {
11
- }
12
- const PtcCollapseList = class {
13
- constructor(hostRef) {
14
- index.registerInstance(this, hostRef);
15
- this.itemSelected = index.createEvent(this, "itemSelected", 7);
16
- this.itemExpanded = index.createEvent(this, "itemExpanded", 7);
17
- this.textChanged = index.createEvent(this, "textChanged", 7);
18
- this.inputUpdated = index.createEvent(this, "inputUpdated", 7);
19
- this.ready = index.createEvent(this, "ready", 7);
20
- this.viewUpdated = index.createEvent(this, "viewUpdated", 7);
21
- this.changed = index.createEvent(this, "changed", 7);
22
- this.data = undefined;
23
- this.searchText = undefined;
24
- this.header = undefined;
25
- this.selectedValue = undefined;
26
- this.selectedItems = undefined;
27
- this.hashMap = undefined;
28
- this.debouncedUpdatedEvent = undefined;
29
- this.refreshBuffer = undefined;
30
- this.listItems = undefined;
31
- this.placeholderText = undefined;
32
- this.debounceUpdateDelay = undefined;
33
- }
34
- componentWillLoad() {
35
- this.loadListItems();
36
- this.selectedItems = [];
37
- }
38
- componentDidLoad() {
39
- this.ready.emit({
40
- sender: this.el,
41
- tree: this.data,
42
- search: this.searchText
43
- });
44
- let event = () => {
45
- this.changed.emit({
46
- sender: this.el,
47
- selectedValue: this.selectedValue,
48
- selectedItems: this.selectedItems,
49
- search: this.searchText
50
- });
51
- };
52
- this.debouncedUpdatedEvent = utils.debounce(event, this.debounceUpdateDelay, this);
53
- }
54
- componentDidUpdate() {
55
- this.viewUpdated.emit({
56
- sender: this.el,
57
- tree: this.data,
58
- search: this.searchText
59
- });
60
- }
61
- onItemSelectedHandler(event) {
62
- this.itemSelected.emit({
63
- event: event,
64
- sender: event ? event.target : this.el,
65
- selectedValue: this.selectedValue,
66
- selectedItems: this.selectedItems,
67
- tree: this.data
68
- });
69
- this.fireChangedEvent();
70
- }
71
- onInputUpdated(event) {
72
- let input = event.target;
73
- this.searchText = input.value;
74
- this.inputUpdated.emit({
75
- event: event,
76
- sender: input,
77
- selectedValue: this.selectedValue,
78
- selectedItems: this.selectedItems,
79
- tree: this.data,
80
- search: this.searchText
81
- });
82
- this.fireChangedEvent();
83
- }
84
- onItemExpandedHandler(event) {
85
- this.itemExpanded.emit({
86
- event: event,
87
- sender: event ? event.target : this.el,
88
- selectedValue: this.selectedValue,
89
- selectedItems: this.selectedItems,
90
- tree: this.data
91
- });
92
- }
93
- fireChangedEvent() {
94
- this.debouncedUpdatedEvent();
95
- }
96
- loadListItems() {
97
- this.hashMap = {};
98
- if (!this.data) {
99
- let dom = utils.MapDOM(this.el);
100
- if (dom.collapseListItem) {
101
- this.data = new Array();
102
- let buildChildren = (arr, outArr) => {
103
- arr.map((z) => {
104
- var newItem = new CollapseListItem();
105
- newItem.isExternalLink = z.linkHref ? true : false;
106
- if (z.linkHref) {
107
- newItem.href = z.linkHref;
108
- newItem.target = z.linkTarget;
109
- newItem.title = z.linkTitle;
110
- }
111
- else {
112
- newItem.id = utils.generateUUID();
113
- newItem.text = z.facetDisplay;
114
- newItem.name = z.facetName;
115
- newItem.value = z.facetValue;
116
- newItem.category = z.category;
117
- newItem.allowMultiSelect = z.allowMultiSelect != 'false';
118
- this.setUpCategory(newItem.category, newItem.allowMultiSelect);
119
- }
120
- if (z.collapseListItem) {
121
- newItem.children = new Array();
122
- buildChildren(z.collapseListItem, newItem.children);
123
- }
124
- this.hashMap[newItem.id] = newItem;
125
- outArr.push(newItem);
126
- });
127
- };
128
- this.setUpCategory('default', true);
129
- buildChildren(dom.collapseListItem, this.data);
130
- }
131
- }
132
- }
133
- setUpCategory(name, allowMultiSelect) {
134
- if (!this.selectedValue) {
135
- this.selectedValue = {};
136
- }
137
- if (name && !this.selectedValue[name]) {
138
- this.selectedValue[name] = {
139
- name: name,
140
- items: new Array(),
141
- allowMultiSelect: allowMultiSelect
142
- };
143
- }
144
- }
145
- collapseAllFirstLevelItems(exclude) {
146
- let items = this.el.shadowRoot.querySelectorAll('.level-1');
147
- items.forEach((z) => {
148
- if (z.classList.contains('expanded') && z != exclude) {
149
- z.classList.remove('expanded');
150
- }
151
- });
152
- }
153
- updateExpandedItems() {
154
- const redraw = (timestamp) => {
155
- if (!this.refreshBuffer) {
156
- this.refreshBuffer = timestamp;
157
- }
158
- const elapsed = timestamp - this.refreshBuffer;
159
- let items = this.el.shadowRoot.querySelectorAll('li');
160
- items.forEach((z) => {
161
- let ul = z.querySelector(':scope > ul');
162
- if (ul) {
163
- if (!z.classList.contains('expanded')) {
164
- ul.style.removeProperty('max-height');
165
- }
166
- else {
167
- ul.style.maxHeight = ul.scrollHeight + "px";
168
- }
169
- }
170
- });
171
- if (elapsed < 2500) {
172
- window.requestAnimationFrame(redraw);
173
- }
174
- else {
175
- this.refreshBuffer = undefined;
176
- }
177
- };
178
- if (!this.refreshBuffer) {
179
- window.requestAnimationFrame(redraw);
180
- }
181
- else {
182
- this.refreshBuffer = undefined;
183
- }
184
- }
185
- updateSelectedItemStatus(uuid) {
186
- var _a;
187
- let selectedItem = this.hashMap[uuid];
188
- if (selectedItem && selectedItem.value) {
189
- let categoryName = (_a = selectedItem.category) !== null && _a !== void 0 ? _a : 'default';
190
- if (!this.selectedValue[categoryName]) {
191
- this.setUpCategory(categoryName, selectedItem.allowMultiSelect == true);
192
- }
193
- let items = this.selectedValue[categoryName].items;
194
- if (items.indexOf(selectedItem.value) < 0) {
195
- if (this.selectedValue[categoryName].allowMultiSelect) {
196
- items.push(selectedItem.value);
197
- }
198
- else {
199
- this.selectedItems = this.selectedItems.filter((z) => { return z.value != items[0]; });
200
- items = [selectedItem.value];
201
- }
202
- this.selectedItems.push(selectedItem);
203
- }
204
- else {
205
- items = items.filter((z) => { return z != selectedItem.value; });
206
- this.selectedItems = this.selectedItems.filter((z) => { return z.value != selectedItem.value; });
207
- }
208
- this.selectedValue[categoryName].items = items;
209
- }
210
- }
211
- unSelectItem(uuid) {
212
- var _a;
213
- let selectedItem = this.hashMap[uuid];
214
- if (selectedItem && selectedItem.value) {
215
- let categoryName = (_a = selectedItem.category) !== null && _a !== void 0 ? _a : 'default';
216
- if (!this.selectedValue[categoryName]) {
217
- this.setUpCategory(categoryName, selectedItem.allowMultiSelect == true);
218
- }
219
- let items = this.selectedValue[categoryName].items;
220
- if (items.indexOf(selectedItem.value) > -1) {
221
- items = items.filter((z) => { return z != selectedItem.value; });
222
- this.selectedItems = this.selectedItems.filter((z) => { return z.value != selectedItem.value; });
223
- }
224
- this.selectedValue[categoryName].items = items;
225
- }
226
- }
227
- selectItem(uuid) {
228
- var _a;
229
- let selectedItem = this.hashMap[uuid];
230
- if (selectedItem && selectedItem.value) {
231
- let categoryName = (_a = selectedItem.category) !== null && _a !== void 0 ? _a : 'default';
232
- if (!this.selectedValue[categoryName]) {
233
- this.setUpCategory(categoryName, selectedItem.allowMultiSelect == true);
234
- }
235
- let items = this.selectedValue[categoryName].items;
236
- if (items.indexOf(selectedItem.value) < 0) {
237
- if (this.selectedValue[categoryName].allowMultiSelect) {
238
- items.push(selectedItem.value);
239
- }
240
- else {
241
- items = [selectedItem.value];
242
- }
243
- this.selectedItems.push(selectedItem);
244
- }
245
- this.selectedValue[categoryName].items = items;
246
- }
247
- }
248
- getItemByValue(value) {
249
- let result;
250
- if (this.hashMap) {
251
- for (const [_, v] of Object.entries(this.hashMap)) {
252
- let item = v;
253
- if (item.value == value) {
254
- result = item;
255
- break;
256
- }
257
- }
258
- }
259
- return result;
260
- }
261
- onItemLinkClick(event, uuid) {
262
- if (event) {
263
- event.preventDefault();
264
- }
265
- this.updateSelectedItemStatus(uuid);
266
- this.onItemSelectedHandler(event);
267
- }
268
- onExpandClick(event, collapseParents) {
269
- if (event) {
270
- event.preventDefault();
271
- let sender = event.currentTarget;
272
- let root = sender.closest('.level-1');
273
- let parent = sender.closest('li');
274
- if (collapseParents) {
275
- this.collapseAllFirstLevelItems(root);
276
- }
277
- if (parent) {
278
- parent.classList.toggle("expanded");
279
- }
280
- if (sender.classList.contains('expander-icon')) {
281
- let icon = parent.classList.contains('expanded') ? 'minus' : 'plus';
282
- sender.querySelector('icon-asset').setAttribute('name', icon);
283
- }
284
- this.updateExpandedItems();
285
- }
286
- this.onItemExpandedHandler(event);
287
- }
288
- render() {
289
- let renderLevel = (arr, level) => {
290
- let levelClass = `level-${level}`;
291
- return (index.h("ul", null, arr.map((z) => {
292
- let expandable = false;
293
- let selectable = false;
294
- let icon;
295
- if (level == 1) {
296
- if (z.children) {
297
- expandable = true;
298
- selectable = false;
299
- icon = (index.h("icon-asset", { type: "ptc", name: "chevron-down", color: "ptc-green", size: "medium" }));
300
- }
301
- else {
302
- expandable = false;
303
- selectable = true;
304
- icon = (index.h("icon-asset", { type: "ptc", name: "plus", color: "ptc-green", size: "medium" }));
305
- }
306
- }
307
- else if (level > 1) {
308
- selectable = true;
309
- if (z.children) {
310
- expandable = true;
311
- icon = (index.h("icon-asset", { type: "ptc", name: "plus", color: "gray", size: "xxx-small" }));
312
- }
313
- else {
314
- expandable = false;
315
- }
316
- }
317
- return (index.h("li", { class: levelClass }, getLink(z, icon, level, expandable, selectable), z.children ? renderLevel(z.children, level + 1) : ''));
318
- })));
319
- };
320
- let getLink = (item, icon, level, expandable, selectable) => {
321
- let clickEvent = (e) => {
322
- if (expandable) {
323
- this.onExpandClick(e, level == 1);
324
- }
325
- else {
326
- this.onItemLinkClick(e, item.id);
327
- }
328
- };
329
- if (item.isExternalLink) {
330
- return (index.h("a", { href: item.href, target: item.target, title: item.title }, icon, item.text));
331
- }
332
- else if ((!expandable && selectable) || (expandable && !selectable)) {
333
- return (index.h("a", { href: "#", title: item.text, onClick: clickEvent }, icon, item.text));
334
- }
335
- else {
336
- return [
337
- index.h("a", { class: "expander-icon", href: "#", onClick: (e) => { this.onExpandClick(e, false); } }, icon),
338
- index.h("a", { href: "#", title: item.text, onClick: (e) => { this.onItemLinkClick(e, item.id); } }, item.text)
339
- ];
340
- }
341
- };
342
- return (index.h(index.Host, null, index.h("div", { class: "container" }, index.h("ptc-title", { type: 'h2', "title-size": "medium", "title-weight": "w-6", "text-align": 'left', upperline: "no-upperline" }, this.header), index.h("div", { class: "search-box" }, index.h("input", { type: "text", placeholder: this.placeholderText, onKeyUp: (e) => { this.onInputUpdated(e); } })), renderLevel(this.data, 1))));
343
- }
344
- async removeSelectedItem(value) {
345
- let item = this.getItemByValue(value);
346
- this.unSelectItem(item.id);
347
- this.fireChangedEvent();
348
- }
349
- async addSelectedItem(value) {
350
- let item = this.getItemByValue(value);
351
- this.selectItem(item.id);
352
- }
353
- get el() { return index.getElement(this); }
354
- };
10
+ class CollapseListItem {
11
+ }
12
+ const PtcCollapseList = class {
13
+ constructor(hostRef) {
14
+ index.registerInstance(this, hostRef);
15
+ this.itemSelected = index.createEvent(this, "itemSelected", 7);
16
+ this.itemExpanded = index.createEvent(this, "itemExpanded", 7);
17
+ this.textChanged = index.createEvent(this, "textChanged", 7);
18
+ this.inputUpdated = index.createEvent(this, "inputUpdated", 7);
19
+ this.ready = index.createEvent(this, "ready", 7);
20
+ this.viewUpdated = index.createEvent(this, "viewUpdated", 7);
21
+ this.changed = index.createEvent(this, "changed", 7);
22
+ this.data = undefined;
23
+ this.searchText = undefined;
24
+ this.header = undefined;
25
+ this.selectedValue = undefined;
26
+ this.selectedItems = undefined;
27
+ this.hashMap = undefined;
28
+ this.debouncedUpdatedEvent = undefined;
29
+ this.refreshBuffer = undefined;
30
+ this.listItems = undefined;
31
+ this.placeholderText = undefined;
32
+ this.debounceUpdateDelay = undefined;
33
+ }
34
+ componentWillLoad() {
35
+ this.loadListItems();
36
+ this.selectedItems = [];
37
+ }
38
+ componentDidLoad() {
39
+ this.ready.emit({
40
+ sender: this.el,
41
+ tree: this.data,
42
+ search: this.searchText
43
+ });
44
+ let event = () => {
45
+ this.changed.emit({
46
+ sender: this.el,
47
+ selectedValue: this.selectedValue,
48
+ selectedItems: this.selectedItems,
49
+ search: this.searchText
50
+ });
51
+ };
52
+ this.debouncedUpdatedEvent = utils.debounce(event, this.debounceUpdateDelay, this);
53
+ }
54
+ componentDidUpdate() {
55
+ this.viewUpdated.emit({
56
+ sender: this.el,
57
+ tree: this.data,
58
+ search: this.searchText
59
+ });
60
+ }
61
+ onItemSelectedHandler(event) {
62
+ this.itemSelected.emit({
63
+ event: event,
64
+ sender: event ? event.target : this.el,
65
+ selectedValue: this.selectedValue,
66
+ selectedItems: this.selectedItems,
67
+ tree: this.data
68
+ });
69
+ this.fireChangedEvent();
70
+ }
71
+ onInputUpdated(event) {
72
+ let input = event.target;
73
+ this.searchText = input.value;
74
+ this.inputUpdated.emit({
75
+ event: event,
76
+ sender: input,
77
+ selectedValue: this.selectedValue,
78
+ selectedItems: this.selectedItems,
79
+ tree: this.data,
80
+ search: this.searchText
81
+ });
82
+ this.fireChangedEvent();
83
+ }
84
+ onItemExpandedHandler(event) {
85
+ this.itemExpanded.emit({
86
+ event: event,
87
+ sender: event ? event.target : this.el,
88
+ selectedValue: this.selectedValue,
89
+ selectedItems: this.selectedItems,
90
+ tree: this.data
91
+ });
92
+ }
93
+ fireChangedEvent() {
94
+ this.debouncedUpdatedEvent();
95
+ }
96
+ loadListItems() {
97
+ this.hashMap = {};
98
+ if (!this.data) {
99
+ let dom = utils.MapDOM(this.el);
100
+ if (dom.collapseListItem) {
101
+ this.data = new Array();
102
+ let buildChildren = (arr, outArr) => {
103
+ arr.map((z) => {
104
+ var newItem = new CollapseListItem();
105
+ newItem.isExternalLink = z.linkHref ? true : false;
106
+ if (z.linkHref) {
107
+ newItem.href = z.linkHref;
108
+ newItem.target = z.linkTarget;
109
+ newItem.title = z.linkTitle;
110
+ }
111
+ else {
112
+ newItem.id = utils.generateUUID();
113
+ newItem.text = z.facetDisplay;
114
+ newItem.name = z.facetName;
115
+ newItem.value = z.facetValue;
116
+ newItem.category = z.category;
117
+ newItem.allowMultiSelect = z.allowMultiSelect != 'false';
118
+ this.setUpCategory(newItem.category, newItem.allowMultiSelect);
119
+ }
120
+ if (z.collapseListItem) {
121
+ newItem.children = new Array();
122
+ if (!Array.isArray(z.collapseListItem)) {
123
+ let tempArr = new Array();
124
+ tempArr.push(z.collapseListItem);
125
+ buildChildren(tempArr, newItem.children);
126
+ }
127
+ else {
128
+ buildChildren(z.collapseListItem, newItem.children);
129
+ }
130
+ }
131
+ this.hashMap[newItem.id] = newItem;
132
+ outArr.push(newItem);
133
+ });
134
+ };
135
+ this.setUpCategory('default', true);
136
+ buildChildren(dom.collapseListItem, this.data);
137
+ }
138
+ }
139
+ }
140
+ setUpCategory(name, allowMultiSelect) {
141
+ if (!this.selectedValue) {
142
+ this.selectedValue = {};
143
+ }
144
+ if (name && !this.selectedValue[name]) {
145
+ this.selectedValue[name] = {
146
+ name: name,
147
+ items: new Array(),
148
+ allowMultiSelect: allowMultiSelect
149
+ };
150
+ }
151
+ }
152
+ collapseAllFirstLevelItems(exclude) {
153
+ let items = this.el.shadowRoot.querySelectorAll('.level-1');
154
+ items.forEach((z) => {
155
+ if (z.classList.contains('expanded') && z != exclude) {
156
+ z.classList.remove('expanded');
157
+ }
158
+ });
159
+ }
160
+ updateExpandedItems() {
161
+ const redraw = (timestamp) => {
162
+ if (!this.refreshBuffer) {
163
+ this.refreshBuffer = timestamp;
164
+ }
165
+ const elapsed = timestamp - this.refreshBuffer;
166
+ let items = this.el.shadowRoot.querySelectorAll('li');
167
+ items.forEach((z) => {
168
+ let ul = z.querySelector(':scope > ul');
169
+ if (ul) {
170
+ if (!z.classList.contains('expanded')) {
171
+ ul.style.removeProperty('max-height');
172
+ }
173
+ else {
174
+ ul.style.maxHeight = ul.scrollHeight + "px";
175
+ }
176
+ }
177
+ });
178
+ if (elapsed < 2500) {
179
+ window.requestAnimationFrame(redraw);
180
+ }
181
+ else {
182
+ this.refreshBuffer = undefined;
183
+ }
184
+ };
185
+ if (!this.refreshBuffer) {
186
+ window.requestAnimationFrame(redraw);
187
+ }
188
+ else {
189
+ this.refreshBuffer = undefined;
190
+ }
191
+ }
192
+ updateSelectedItemStatus(uuid) {
193
+ var _a;
194
+ let selectedItem = this.hashMap[uuid];
195
+ if (selectedItem && selectedItem.value) {
196
+ let categoryName = (_a = selectedItem.category) !== null && _a !== void 0 ? _a : 'default';
197
+ if (!this.selectedValue[categoryName]) {
198
+ this.setUpCategory(categoryName, selectedItem.allowMultiSelect == true);
199
+ }
200
+ let items = this.selectedValue[categoryName].items;
201
+ if (items.indexOf(selectedItem.value) < 0) {
202
+ if (this.selectedValue[categoryName].allowMultiSelect) {
203
+ items.push(selectedItem.value);
204
+ }
205
+ else {
206
+ this.selectedItems = this.selectedItems.filter((z) => { return z.value != items[0]; });
207
+ items = [selectedItem.value];
208
+ }
209
+ this.selectedItems.push(selectedItem);
210
+ }
211
+ else {
212
+ items = items.filter((z) => { return z != selectedItem.value; });
213
+ this.selectedItems = this.selectedItems.filter((z) => { return z.value != selectedItem.value; });
214
+ }
215
+ this.selectedValue[categoryName].items = items;
216
+ }
217
+ }
218
+ unSelectItem(uuid) {
219
+ var _a;
220
+ let selectedItem = this.hashMap[uuid];
221
+ if (selectedItem && selectedItem.value) {
222
+ let categoryName = (_a = selectedItem.category) !== null && _a !== void 0 ? _a : 'default';
223
+ if (!this.selectedValue[categoryName]) {
224
+ this.setUpCategory(categoryName, selectedItem.allowMultiSelect == true);
225
+ }
226
+ let items = this.selectedValue[categoryName].items;
227
+ if (items.indexOf(selectedItem.value) > -1) {
228
+ items = items.filter((z) => { return z != selectedItem.value; });
229
+ this.selectedItems = this.selectedItems.filter((z) => { return z.value != selectedItem.value; });
230
+ }
231
+ this.selectedValue[categoryName].items = items;
232
+ }
233
+ }
234
+ selectItem(uuid) {
235
+ var _a;
236
+ let selectedItem = this.hashMap[uuid];
237
+ if (selectedItem && selectedItem.value) {
238
+ let categoryName = (_a = selectedItem.category) !== null && _a !== void 0 ? _a : 'default';
239
+ if (!this.selectedValue[categoryName]) {
240
+ this.setUpCategory(categoryName, selectedItem.allowMultiSelect == true);
241
+ }
242
+ let items = this.selectedValue[categoryName].items;
243
+ if (items.indexOf(selectedItem.value) < 0) {
244
+ if (this.selectedValue[categoryName].allowMultiSelect) {
245
+ items.push(selectedItem.value);
246
+ }
247
+ else {
248
+ items = [selectedItem.value];
249
+ }
250
+ this.selectedItems.push(selectedItem);
251
+ }
252
+ this.selectedValue[categoryName].items = items;
253
+ }
254
+ }
255
+ getItemByValue(value) {
256
+ let result;
257
+ if (this.hashMap) {
258
+ for (const [_, v] of Object.entries(this.hashMap)) {
259
+ let item = v;
260
+ if (item.value == value) {
261
+ result = item;
262
+ break;
263
+ }
264
+ }
265
+ }
266
+ return result;
267
+ }
268
+ onItemLinkClick(event, uuid) {
269
+ if (event) {
270
+ event.preventDefault();
271
+ }
272
+ this.updateSelectedItemStatus(uuid);
273
+ this.onItemSelectedHandler(event);
274
+ }
275
+ onExpandClick(event, collapseParents) {
276
+ if (event) {
277
+ event.preventDefault();
278
+ let sender = event.currentTarget;
279
+ let root = sender.closest('.level-1');
280
+ let parent = sender.closest('li');
281
+ if (collapseParents) {
282
+ this.collapseAllFirstLevelItems(root);
283
+ }
284
+ if (parent) {
285
+ parent.classList.toggle("expanded");
286
+ }
287
+ if (sender.classList.contains('expander-icon')) {
288
+ let icon = parent.classList.contains('expanded') ? 'minus' : 'plus';
289
+ sender.querySelector('icon-asset').setAttribute('name', icon);
290
+ }
291
+ this.updateExpandedItems();
292
+ }
293
+ this.onItemExpandedHandler(event);
294
+ }
295
+ render() {
296
+ let renderLevel = (arr, level) => {
297
+ let levelClass = `level-${level}`;
298
+ return (index.h("ul", null, arr.map((z) => {
299
+ let expandable = false;
300
+ let selectable = false;
301
+ let icon;
302
+ if (level == 1) {
303
+ if (z.children) {
304
+ expandable = true;
305
+ selectable = false;
306
+ icon = (index.h("icon-asset", { type: "ptc", name: "chevron-down", color: "ptc-green", size: "medium" }));
307
+ }
308
+ else {
309
+ expandable = false;
310
+ selectable = true;
311
+ icon = (index.h("icon-asset", { type: "ptc", name: "plus", color: "ptc-green", size: "medium" }));
312
+ }
313
+ }
314
+ else if (level > 1) {
315
+ selectable = true;
316
+ if (z.children) {
317
+ expandable = true;
318
+ icon = (index.h("icon-asset", { type: "ptc", name: "plus", color: "gray", size: "xxx-small" }));
319
+ }
320
+ else {
321
+ expandable = false;
322
+ }
323
+ }
324
+ return (index.h("li", { class: levelClass }, getLink(z, icon, level, expandable, selectable), z.children ? renderLevel(z.children, level + 1) : ''));
325
+ })));
326
+ };
327
+ let getLink = (item, icon, level, expandable, selectable) => {
328
+ let clickEvent = (e) => {
329
+ if (expandable) {
330
+ this.onExpandClick(e, level == 1);
331
+ }
332
+ else {
333
+ this.onItemLinkClick(e, item.id);
334
+ }
335
+ };
336
+ if (item.isExternalLink) {
337
+ return (index.h("a", { href: item.href, target: item.target, title: item.title }, icon, item.text));
338
+ }
339
+ else if ((!expandable && selectable) || (expandable && !selectable)) {
340
+ return (index.h("a", { href: "#", title: item.text, onClick: clickEvent }, icon, item.text));
341
+ }
342
+ else {
343
+ return [
344
+ index.h("a", { class: "expander-icon", href: "#", onClick: (e) => { this.onExpandClick(e, false); } }, icon),
345
+ index.h("a", { href: "#", title: item.text, onClick: (e) => { this.onItemLinkClick(e, item.id); } }, item.text)
346
+ ];
347
+ }
348
+ };
349
+ return (index.h(index.Host, null, index.h("div", { class: "container" }, index.h("ptc-title", { type: 'h2', "title-size": "medium", "title-weight": "w-6", "text-align": 'left', upperline: "no-upperline" }, this.header), index.h("div", { class: "search-box" }, index.h("input", { type: "text", placeholder: this.placeholderText, onKeyUp: (e) => { this.onInputUpdated(e); } })), renderLevel(this.data, 1))));
350
+ }
351
+ async removeSelectedItem(value) {
352
+ let item = this.getItemByValue(value);
353
+ this.unSelectItem(item.id);
354
+ this.fireChangedEvent();
355
+ }
356
+ async addSelectedItem(value) {
357
+ let item = this.getItemByValue(value);
358
+ this.selectItem(item.id);
359
+ }
360
+ get el() { return index.getElement(this); }
361
+ };
355
362
  PtcCollapseList.style = ptcCollapseListCss;
356
363
 
357
364
  exports.ptc_collapse_list = PtcCollapseList;