@ptcwebops/ptcw-design 1.2.6 → 1.2.8

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 (369) 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 +32 -32
  4. package/dist/cjs/dropdown-item.cjs.entry.js +10 -10
  5. package/dist/cjs/icon-asset.cjs.entry.js +42 -42
  6. package/dist/cjs/{interfaces-0ecd8027.js → interfaces-574e6df7.js} +9 -9
  7. package/dist/cjs/list-item.cjs.entry.js +22 -22
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/lottie-player.cjs.entry.js +354 -354
  10. package/dist/cjs/{max-width-container_5.cjs.entry.js → max-width-container_6.cjs.entry.js} +490 -418
  11. package/dist/cjs/my-component.cjs.entry.js +15 -15
  12. package/dist/cjs/ptc-accordion-item.cjs.entry.js +83 -83
  13. package/dist/cjs/ptc-accordion.cjs.entry.js +35 -35
  14. package/dist/cjs/ptc-announcement.cjs.entry.js +50 -50
  15. package/dist/cjs/ptc-bio-card.cjs.entry.js +24 -24
  16. package/dist/cjs/ptc-breadcrumb_2.cjs.entry.js +126 -126
  17. package/dist/cjs/ptc-button_8.cjs.entry.js +481 -481
  18. package/dist/cjs/ptc-card-bottom_3.cjs.entry.js +122 -122
  19. package/dist/cjs/ptc-card.cjs.entry.js +65 -65
  20. package/dist/cjs/ptc-checkbox.cjs.entry.js +50 -50
  21. package/dist/cjs/ptc-collapse-list.cjs.entry.js +346 -346
  22. package/dist/cjs/ptc-container.cjs.entry.js +32 -32
  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-ellipsis-dropdown.cjs.entry.js +38 -38
  26. package/dist/cjs/ptc-filter-tag.cjs.entry.js +57 -57
  27. package/dist/cjs/ptc-hero-footer-cta.cjs.entry.js +11 -11
  28. package/dist/cjs/ptc-hero.cjs.entry.js +18 -18
  29. package/dist/cjs/ptc-icon-list.cjs.entry.js +21 -21
  30. package/dist/cjs/ptc-icon-minimize.cjs.entry.js +43 -43
  31. package/dist/cjs/ptc-link.cjs.entry.js +30 -30
  32. package/dist/cjs/ptc-list.cjs.entry.js +49 -49
  33. package/dist/cjs/ptc-lottie.cjs.entry.js +10 -10
  34. package/dist/cjs/ptc-media-card.cjs.entry.js +24 -24
  35. package/dist/cjs/ptc-minimized-footer.cjs.entry.js +8 -8
  36. package/dist/cjs/ptc-minimized-header.cjs.entry.js +11 -11
  37. package/dist/cjs/ptc-mobile-select.cjs.entry.js +53 -53
  38. package/dist/cjs/ptc-nav-card.cjs.entry.js +40 -40
  39. package/dist/cjs/ptc-nav-link.cjs.entry.js +47 -0
  40. package/dist/cjs/ptc-nav-slider.cjs.entry.js +94 -0
  41. package/dist/cjs/ptc-nav-submenu.cjs.entry.js +29 -0
  42. package/dist/cjs/ptc-pagenation.cjs.entry.js +213 -213
  43. package/dist/cjs/ptc-previous-url.cjs.entry.js +11 -11
  44. package/dist/cjs/ptc-pricing-block.cjs.entry.js +21 -21
  45. package/dist/cjs/ptc-pricing-tabs.cjs.entry.js +125 -125
  46. package/dist/cjs/ptc-quote.cjs.entry.js +23 -23
  47. package/dist/cjs/ptc-readmore.cjs.entry.js +73 -73
  48. package/dist/cjs/ptc-responsive-wrapper.cjs.entry.js +54 -54
  49. package/dist/cjs/ptc-search-field.cjs.entry.js +66 -66
  50. package/dist/cjs/ptc-shopping-cart.cjs.entry.js +50 -50
  51. package/dist/cjs/ptc-social-share.cjs.entry.js +59 -59
  52. package/dist/cjs/ptc-span.cjs.entry.js +18 -18
  53. package/dist/cjs/ptc-sticky-icons.cjs.entry.js +32 -32
  54. package/dist/cjs/ptc-sticky-section.cjs.entry.js +38 -0
  55. package/dist/cjs/ptc-subnav-card.cjs.entry.js +26 -0
  56. package/dist/cjs/ptc-subnav.cjs.entry.js +32 -0
  57. package/dist/cjs/ptc-tab-list.cjs.entry.js +125 -125
  58. package/dist/cjs/ptc-tab.cjs.entry.js +20 -20
  59. package/dist/cjs/ptc-tabs.cjs.entry.js +47 -47
  60. package/dist/cjs/ptc-text-copy-with-background.cjs.entry.js +27 -27
  61. package/dist/cjs/ptc-tooltip.cjs.entry.js +79 -79
  62. package/dist/cjs/ptc-two-column-media.cjs.entry.js +15 -15
  63. package/dist/cjs/ptcw-design.cjs.js +1 -1
  64. package/dist/cjs/sequential-bundle.cjs.entry.js +88 -88
  65. package/dist/cjs/tab-content.cjs.entry.js +27 -27
  66. package/dist/cjs/tab-header.cjs.entry.js +64 -64
  67. package/dist/cjs/{utils-416c94fe.js → utils-9eb22041.js} +90 -90
  68. package/dist/collection/collection-manifest.json +6 -0
  69. package/dist/collection/components/dropdown-item/dropdown-item.js +61 -61
  70. package/dist/collection/components/icon-asset/icon-asset.css +4 -4
  71. package/dist/collection/components/icon-asset/icon-asset.js +199 -199
  72. package/dist/collection/components/icon-asset/media/brands.svg +1381 -1381
  73. package/dist/collection/components/icon-asset/media/designer.svg +397 -387
  74. package/dist/collection/components/icon-asset/media/regular.svg +463 -463
  75. package/dist/collection/components/icon-asset/media/solid.svg +3013 -3013
  76. package/dist/collection/components/icon-asset/media/svg-with-js.min.css +4 -4
  77. package/dist/collection/components/list-item/list-item.js +144 -144
  78. package/dist/collection/components/max-width-container/max-width-container.css +11 -11
  79. package/dist/collection/components/max-width-container/max-width-container.js +105 -105
  80. package/dist/collection/components/my-component/my-component.css +3 -3
  81. package/dist/collection/components/my-component/my-component.js +82 -82
  82. package/dist/collection/components/organism-bundles/bundle-example/bundle-example.css +25 -25
  83. package/dist/collection/components/organism-bundles/bundle-example/bundle-example.js +58 -58
  84. package/dist/collection/components/organism-bundles/bundle-jumbotron-example/bundle-jumbotron-example.css +3 -3
  85. package/dist/collection/components/organism-bundles/bundle-jumbotron-example/bundle-jumbotron-example.js +66 -66
  86. package/dist/collection/components/organism-bundles/sequential-bundle/sequential-bundle.js +116 -116
  87. package/dist/collection/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.css +89 -89
  88. package/dist/collection/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.js +152 -152
  89. package/dist/collection/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.js +287 -287
  90. package/dist/collection/components/ptc-accordion/ptc-accordion.js +78 -78
  91. package/dist/collection/components/ptc-announcement/ptc-announcement.js +237 -237
  92. package/dist/collection/components/ptc-background-video/ptc-background-video.js +102 -102
  93. package/dist/collection/components/ptc-bio-card/ptc-bio-card.js +130 -130
  94. package/dist/collection/components/ptc-breadcrumb/ptc-breadcrumb.js +105 -105
  95. package/dist/collection/components/ptc-button/ptc-button.js +283 -283
  96. package/dist/collection/components/ptc-card/ptc-card.js +344 -344
  97. package/dist/collection/components/ptc-card-bottom/ptc-card-bottom.js +116 -116
  98. package/dist/collection/components/ptc-card-content/ptc-card-content.js +212 -212
  99. package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.js +214 -214
  100. package/dist/collection/components/ptc-checkbox/ptc-checkbox.js +152 -152
  101. package/dist/collection/components/ptc-collapse-list/ptc-collapse-list.js +586 -586
  102. package/dist/collection/components/ptc-container/ptc-container.js +120 -120
  103. package/dist/collection/components/ptc-date/ptc-date.js +224 -224
  104. package/dist/collection/components/ptc-dropdown/ptc-dropdown.js +162 -162
  105. package/dist/collection/components/ptc-dynamic-card/media/nav-active-dotslick.svg +15 -15
  106. package/dist/collection/components/ptc-dynamic-card/ptc-dynamic-card.js +174 -174
  107. package/dist/collection/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.js +122 -122
  108. package/dist/collection/components/ptc-filter-tag/ptc-filter-tag.js +113 -113
  109. package/dist/collection/components/ptc-hero/ptc-hero.js +86 -86
  110. package/dist/collection/components/ptc-hero-footer-cta/ptc-hero-footer-cta.js +78 -78
  111. package/dist/collection/components/ptc-icon-list/ptc-icon-list.js +127 -127
  112. package/dist/collection/components/ptc-icon-minimize/ptc-icon-minimize.js +119 -119
  113. package/dist/collection/components/ptc-img/ptc-img.js +293 -293
  114. package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.css +21 -0
  115. package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.js +278 -278
  116. package/dist/collection/components/ptc-link/ptc-link.js +222 -222
  117. package/dist/collection/components/ptc-list/ptc-list.js +99 -99
  118. package/dist/collection/components/ptc-lottie/ptc-lottie.css +5 -5
  119. package/dist/collection/components/ptc-lottie/ptc-lottie.js +62 -62
  120. package/dist/collection/components/ptc-media-card/ptc-media-card.js +216 -216
  121. package/dist/collection/components/ptc-minimized-footer/ptc-minimized-footer.js +18 -18
  122. package/dist/collection/components/ptc-minimized-header/ptc-minimized-header.js +81 -81
  123. package/dist/collection/components/ptc-mobile-select/ptc-mobile-select.js +190 -190
  124. package/dist/collection/components/ptc-modal/ptc-modal.css +1 -1
  125. package/dist/collection/components/ptc-modal/ptc-modal.js +389 -389
  126. package/dist/collection/components/ptc-nav-card/ptc-nav-card.js +228 -228
  127. package/dist/collection/components/ptc-overlay/ptc-overlay.js +131 -131
  128. package/dist/collection/components/ptc-pagenation/ptc-pagenation.js +468 -468
  129. package/dist/collection/components/ptc-para/ptc-para.js +242 -242
  130. package/dist/collection/components/ptc-picture/ptc-picture.js +453 -453
  131. package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +78 -78
  132. package/dist/collection/components/ptc-pricing-block/ptc-pricing-block.css +16 -4
  133. package/dist/collection/components/ptc-pricing-block/ptc-pricing-block.js +70 -70
  134. package/dist/collection/components/ptc-pricing-tabs/ptc-pricing-tabs.css +23 -6
  135. package/dist/collection/components/ptc-pricing-tabs/ptc-pricing-tabs.js +272 -272
  136. package/dist/collection/components/ptc-quote/ptc-quote.js +144 -144
  137. package/dist/collection/components/ptc-readmore/ptc-readmore.js +298 -298
  138. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.css +3 -3
  139. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.js +65 -65
  140. package/dist/collection/components/ptc-search-field/ptc-search-field.css +1 -1
  141. package/dist/collection/components/ptc-search-field/ptc-search-field.js +239 -239
  142. package/dist/collection/components/ptc-shopping-cart/ptc-shopping-cart.js +97 -97
  143. package/dist/collection/components/ptc-skeleton/ptc-skeleton.js +139 -139
  144. package/dist/collection/components/ptc-social-share/ptc-social-share.js +239 -239
  145. package/dist/collection/components/ptc-spacer/ptc-spacer.css +332 -332
  146. package/dist/collection/components/ptc-spacer/ptc-spacer.js +97 -97
  147. package/dist/collection/components/ptc-span/ptc-span.js +87 -87
  148. package/dist/collection/components/ptc-sticky-icons/ptc-sticky-icons.js +51 -51
  149. package/dist/collection/components/ptc-sticky-section/ptc-sticky-section.css +10 -0
  150. package/dist/collection/components/ptc-sticky-section/ptc-sticky-section.js +46 -0
  151. package/dist/collection/components/ptc-svg-btn/ptc-svg-btn.js +109 -109
  152. package/dist/collection/components/ptc-tab-list/ptc-tab-list.js +177 -177
  153. package/dist/collection/components/ptc-tabs/ptc-tab.js +121 -121
  154. package/dist/collection/components/ptc-tabs/ptc-tabs.js +104 -104
  155. package/dist/collection/components/ptc-text-copy-with-background/ptc-text-copy-with-background.js +166 -166
  156. package/dist/collection/components/ptc-title/ptc-title.js +310 -310
  157. package/dist/collection/components/ptc-tooltip/ptc-tooltip.js +267 -267
  158. package/dist/collection/components/ptc-two-column-media/ptc-two-column-media.js +48 -48
  159. package/dist/collection/components/subnav/ptc-nav-link/ptc-nav-link.css +79 -0
  160. package/dist/collection/components/subnav/ptc-nav-link/ptc-nav-link.js +114 -0
  161. package/dist/collection/components/subnav/ptc-nav-slider/ptc-nav-slider.css +72 -0
  162. package/dist/collection/components/subnav/ptc-nav-slider/ptc-nav-slider.js +126 -0
  163. package/dist/collection/components/subnav/ptc-nav-submenu/ptc-nav-submenu.css +159 -0
  164. package/dist/collection/components/subnav/ptc-nav-submenu/ptc-nav-submenu.js +85 -0
  165. package/dist/collection/components/subnav/ptc-subnav/ptc-subnav.css +59 -0
  166. package/dist/collection/components/subnav/ptc-subnav/ptc-subnav.js +47 -0
  167. package/dist/collection/components/subnav/ptc-subnav-card/ptc-subnav-card.css +25 -0
  168. package/dist/collection/components/subnav/ptc-subnav-card/ptc-subnav-card.js +133 -0
  169. package/dist/collection/components/tab-content/tab-content.js +84 -84
  170. package/dist/collection/components/tab-header/tab-header.js +182 -182
  171. package/dist/collection/index.js +1 -1
  172. package/dist/collection/media/svg-imgs/Back-arrow.svg +11 -11
  173. package/dist/collection/media/svg-imgs/close.svg +10 -10
  174. package/dist/collection/media/svg-imgs/play-button-dark.svg +20 -20
  175. package/dist/collection/media/svg-imgs/ptc-shopping-cart-black.svg +3 -3
  176. package/dist/collection/media/svg-imgs/ptc-shopping-cart-white.svg +3 -3
  177. package/dist/collection/media/svg-imgs/slider-arrow-left.svg +18 -18
  178. package/dist/collection/media/svg-imgs/slider-arrow-right.svg +18 -18
  179. package/dist/collection/media/svg-imgs/union.svg +3 -3
  180. package/dist/collection/utils/component.js +3 -3
  181. package/dist/collection/utils/interfaces.js +11 -11
  182. package/dist/collection/utils/utils.js +92 -92
  183. package/dist/custom-elements/index.d.ts +36 -0
  184. package/dist/custom-elements/index.js +4654 -4406
  185. package/dist/esm/bundle-example.entry.js +30 -30
  186. package/dist/esm/bundle-jumbotron-example.entry.js +32 -32
  187. package/dist/esm/dropdown-item.entry.js +10 -10
  188. package/dist/esm/icon-asset.entry.js +42 -42
  189. package/dist/esm/{interfaces-c1c73092.js → interfaces-7c0243be.js} +9 -9
  190. package/dist/esm/list-item.entry.js +22 -22
  191. package/dist/esm/loader.js +1 -1
  192. package/dist/esm/lottie-player.entry.js +354 -354
  193. package/dist/esm/{max-width-container_5.entry.js → max-width-container_6.entry.js} +490 -419
  194. package/dist/esm/my-component.entry.js +15 -15
  195. package/dist/esm/polyfills/core-js.js +0 -0
  196. package/dist/esm/polyfills/dom.js +0 -0
  197. package/dist/esm/polyfills/es5-html-element.js +0 -0
  198. package/dist/esm/polyfills/index.js +0 -0
  199. package/dist/esm/polyfills/system.js +0 -0
  200. package/dist/esm/ptc-accordion-item.entry.js +83 -83
  201. package/dist/esm/ptc-accordion.entry.js +35 -35
  202. package/dist/esm/ptc-announcement.entry.js +50 -50
  203. package/dist/esm/ptc-bio-card.entry.js +24 -24
  204. package/dist/esm/ptc-breadcrumb_2.entry.js +126 -126
  205. package/dist/esm/ptc-button_8.entry.js +481 -481
  206. package/dist/esm/ptc-card-bottom_3.entry.js +122 -122
  207. package/dist/esm/ptc-card.entry.js +65 -65
  208. package/dist/esm/ptc-checkbox.entry.js +50 -50
  209. package/dist/esm/ptc-collapse-list.entry.js +346 -346
  210. package/dist/esm/ptc-container.entry.js +32 -32
  211. package/dist/esm/ptc-date.entry.js +50 -50
  212. package/dist/esm/ptc-dropdown.entry.js +64 -64
  213. package/dist/esm/ptc-ellipsis-dropdown.entry.js +38 -38
  214. package/dist/esm/ptc-filter-tag.entry.js +57 -57
  215. package/dist/esm/ptc-hero-footer-cta.entry.js +11 -11
  216. package/dist/esm/ptc-hero.entry.js +18 -18
  217. package/dist/esm/ptc-icon-list.entry.js +21 -21
  218. package/dist/esm/ptc-icon-minimize.entry.js +43 -43
  219. package/dist/esm/ptc-link.entry.js +30 -30
  220. package/dist/esm/ptc-list.entry.js +49 -49
  221. package/dist/esm/ptc-lottie.entry.js +10 -10
  222. package/dist/esm/ptc-media-card.entry.js +24 -24
  223. package/dist/esm/ptc-minimized-footer.entry.js +8 -8
  224. package/dist/esm/ptc-minimized-header.entry.js +11 -11
  225. package/dist/esm/ptc-mobile-select.entry.js +53 -53
  226. package/dist/esm/ptc-nav-card.entry.js +40 -40
  227. package/dist/esm/ptc-nav-link.entry.js +43 -0
  228. package/dist/esm/ptc-nav-slider.entry.js +90 -0
  229. package/dist/esm/ptc-nav-submenu.entry.js +25 -0
  230. package/dist/esm/ptc-pagenation.entry.js +213 -213
  231. package/dist/esm/ptc-previous-url.entry.js +11 -11
  232. package/dist/esm/ptc-pricing-block.entry.js +21 -21
  233. package/dist/esm/ptc-pricing-tabs.entry.js +125 -125
  234. package/dist/esm/ptc-quote.entry.js +23 -23
  235. package/dist/esm/ptc-readmore.entry.js +73 -73
  236. package/dist/esm/ptc-responsive-wrapper.entry.js +54 -54
  237. package/dist/esm/ptc-search-field.entry.js +66 -66
  238. package/dist/esm/ptc-shopping-cart.entry.js +50 -50
  239. package/dist/esm/ptc-social-share.entry.js +59 -59
  240. package/dist/esm/ptc-span.entry.js +18 -18
  241. package/dist/esm/ptc-sticky-icons.entry.js +32 -32
  242. package/dist/esm/ptc-sticky-section.entry.js +34 -0
  243. package/dist/esm/ptc-subnav-card.entry.js +22 -0
  244. package/dist/esm/ptc-subnav.entry.js +28 -0
  245. package/dist/esm/ptc-tab-list.entry.js +125 -125
  246. package/dist/esm/ptc-tab.entry.js +20 -20
  247. package/dist/esm/ptc-tabs.entry.js +47 -47
  248. package/dist/esm/ptc-text-copy-with-background.entry.js +27 -27
  249. package/dist/esm/ptc-tooltip.entry.js +79 -79
  250. package/dist/esm/ptc-two-column-media.entry.js +15 -15
  251. package/dist/esm/ptcw-design.js +1 -1
  252. package/dist/esm/sequential-bundle.entry.js +88 -88
  253. package/dist/esm/tab-content.entry.js +27 -27
  254. package/dist/esm/tab-header.entry.js +64 -64
  255. package/dist/esm/{utils-f937097d.js → utils-38decc43.js} +90 -90
  256. package/dist/ptcw-design/media/brands.svg +1381 -1381
  257. package/dist/ptcw-design/media/designer.svg +397 -387
  258. package/dist/ptcw-design/media/nav-active-dotslick.svg +15 -15
  259. package/dist/ptcw-design/media/regular.svg +463 -463
  260. package/dist/ptcw-design/media/solid.svg +3013 -3013
  261. package/dist/ptcw-design/media/svg-with-js.min.css +4 -4
  262. package/dist/ptcw-design/p-0a3918b9.entry.js +1 -0
  263. package/dist/ptcw-design/{p-a76bf4d6.entry.js → p-1a346da4.entry.js} +1 -1
  264. package/dist/ptcw-design/p-4947eb0a.entry.js +1 -0
  265. package/dist/ptcw-design/p-4a1d0d07.entry.js +1 -0
  266. package/dist/ptcw-design/p-51ee36a7.entry.js +1 -0
  267. package/dist/ptcw-design/p-6696c7e0.entry.js +1 -0
  268. package/dist/ptcw-design/{p-7f7594ee.entry.js → p-7c80b666.entry.js} +1 -1
  269. package/dist/ptcw-design/p-94c33d5d.entry.js +1 -0
  270. package/dist/ptcw-design/{p-da23d3d7.entry.js → p-9b57b462.entry.js} +1 -1
  271. package/dist/ptcw-design/p-d7e11aad.entry.js +1 -0
  272. package/dist/ptcw-design/{p-de336318.entry.js → p-d91ff88e.entry.js} +1 -1
  273. package/dist/ptcw-design/{p-c0b1c34c.entry.js → p-e3af3cc7.entry.js} +1 -1
  274. package/dist/ptcw-design/{p-ab9d5bb9.entry.js → p-e60eb5aa.entry.js} +1 -1
  275. package/dist/ptcw-design/{p-0eeebc10.entry.js → p-f498d4ab.entry.js} +1 -1
  276. package/dist/ptcw-design/p-fbf6f66c.entry.js +1 -0
  277. package/dist/ptcw-design/ptcw-design.css +1 -1
  278. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  279. package/dist/types/components/dropdown-item/dropdown-item.d.ts +5 -5
  280. package/dist/types/components/icon-asset/icon-asset.d.ts +40 -40
  281. package/dist/types/components/list-item/list-item.d.ts +16 -16
  282. package/dist/types/components/max-width-container/max-width-container.d.ts +11 -11
  283. package/dist/types/components/my-component/my-component.d.ts +16 -16
  284. package/dist/types/components/organism-bundles/bundle-example/bundle-example.d.ts +10 -10
  285. package/dist/types/components/organism-bundles/bundle-jumbotron-example/bundle-jumbotron-example.d.ts +4 -4
  286. package/dist/types/components/organism-bundles/sequential-bundle/sequential-bundle.d.ts +12 -12
  287. package/dist/types/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.d.ts +16 -16
  288. package/dist/types/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.d.ts +59 -59
  289. package/dist/types/components/ptc-accordion/ptc-accordion.d.ts +13 -13
  290. package/dist/types/components/ptc-announcement/ptc-announcement.d.ts +51 -51
  291. package/dist/types/components/ptc-background-video/ptc-background-video.d.ts +26 -26
  292. package/dist/types/components/ptc-bio-card/ptc-bio-card.d.ts +27 -27
  293. package/dist/types/components/ptc-breadcrumb/ptc-breadcrumb.d.ts +20 -20
  294. package/dist/types/components/ptc-button/ptc-button.d.ts +60 -60
  295. package/dist/types/components/ptc-card/ptc-card.d.ts +67 -67
  296. package/dist/types/components/ptc-card-bottom/ptc-card-bottom.d.ts +15 -15
  297. package/dist/types/components/ptc-card-content/ptc-card-content.d.ts +19 -19
  298. package/dist/types/components/ptc-card-wrapper/ptc-card-wrapper.d.ts +24 -24
  299. package/dist/types/components/ptc-checkbox/ptc-checkbox.d.ts +14 -14
  300. package/dist/types/components/ptc-collapse-list/ptc-collapse-list.d.ts +56 -56
  301. package/dist/types/components/ptc-container/ptc-container.d.ts +12 -12
  302. package/dist/types/components/ptc-date/ptc-date.d.ts +46 -46
  303. package/dist/types/components/ptc-dropdown/ptc-dropdown.d.ts +19 -19
  304. package/dist/types/components/ptc-dynamic-card/ptc-dynamic-card.d.ts +23 -23
  305. package/dist/types/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.d.ts +12 -12
  306. package/dist/types/components/ptc-filter-tag/ptc-filter-tag.d.ts +17 -17
  307. package/dist/types/components/ptc-hero/ptc-hero.d.ts +16 -16
  308. package/dist/types/components/ptc-hero-footer-cta/ptc-hero-footer-cta.d.ts +6 -6
  309. package/dist/types/components/ptc-icon-list/ptc-icon-list.d.ts +21 -21
  310. package/dist/types/components/ptc-icon-minimize/ptc-icon-minimize.d.ts +12 -12
  311. package/dist/types/components/ptc-img/ptc-img.d.ts +51 -51
  312. package/dist/types/components/ptc-jumbotron/ptc-jumbotron.d.ts +21 -21
  313. package/dist/types/components/ptc-link/ptc-link.d.ts +44 -44
  314. package/dist/types/components/ptc-list/ptc-list.d.ts +8 -8
  315. package/dist/types/components/ptc-lottie/ptc-lottie.d.ts +12 -12
  316. package/dist/types/components/ptc-media-card/ptc-media-card.d.ts +45 -45
  317. package/dist/types/components/ptc-minimized-footer/ptc-minimized-footer.d.ts +3 -3
  318. package/dist/types/components/ptc-minimized-header/ptc-minimized-header.d.ts +6 -6
  319. package/dist/types/components/ptc-mobile-select/ptc-mobile-select.d.ts +36 -36
  320. package/dist/types/components/ptc-modal/ptc-modal.d.ts +67 -67
  321. package/dist/types/components/ptc-nav-card/ptc-nav-card.d.ts +46 -46
  322. package/dist/types/components/ptc-overlay/ptc-overlay.d.ts +21 -21
  323. package/dist/types/components/ptc-pagenation/ptc-pagenation.d.ts +35 -35
  324. package/dist/types/components/ptc-para/ptc-para.d.ts +47 -47
  325. package/dist/types/components/ptc-picture/ptc-picture.d.ts +93 -93
  326. package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +9 -9
  327. package/dist/types/components/ptc-pricing-block/ptc-pricing-block.d.ts +7 -7
  328. package/dist/types/components/ptc-pricing-tabs/ptc-pricing-tabs.d.ts +52 -52
  329. package/dist/types/components/ptc-quote/ptc-quote.d.ts +29 -29
  330. package/dist/types/components/ptc-readmore/ptc-readmore.d.ts +57 -57
  331. package/dist/types/components/ptc-responsive-wrapper/ptc-responsive-wrapper.d.ts +8 -8
  332. package/dist/types/components/ptc-search-field/ptc-search-field.d.ts +22 -22
  333. package/dist/types/components/ptc-shopping-cart/ptc-shopping-cart.d.ts +6 -6
  334. package/dist/types/components/ptc-skeleton/ptc-skeleton.d.ts +10 -10
  335. package/dist/types/components/ptc-social-share/ptc-social-share.d.ts +33 -33
  336. package/dist/types/components/ptc-spacer/ptc-spacer.d.ts +16 -16
  337. package/dist/types/components/ptc-span/ptc-span.d.ts +16 -16
  338. package/dist/types/components/ptc-sticky-icons/ptc-sticky-icons.d.ts +7 -7
  339. package/dist/types/components/ptc-sticky-section/ptc-sticky-section.d.ts +9 -0
  340. package/dist/types/components/ptc-svg-btn/ptc-svg-btn.d.ts +20 -20
  341. package/dist/types/components/ptc-tab-list/ptc-tab-list.d.ts +19 -19
  342. package/dist/types/components/ptc-tabs/ptc-tab.d.ts +9 -9
  343. package/dist/types/components/ptc-tabs/ptc-tabs.d.ts +10 -10
  344. package/dist/types/components/ptc-text-copy-with-background/ptc-text-copy-with-background.d.ts +33 -33
  345. package/dist/types/components/ptc-title/ptc-title.d.ts +54 -54
  346. package/dist/types/components/ptc-tooltip/ptc-tooltip.d.ts +47 -47
  347. package/dist/types/components/ptc-two-column-media/ptc-two-column-media.d.ts +9 -9
  348. package/dist/types/components/subnav/ptc-nav-link/ptc-nav-link.d.ts +21 -0
  349. package/dist/types/components/subnav/ptc-nav-slider/ptc-nav-slider.d.ts +11 -0
  350. package/dist/types/components/subnav/ptc-nav-submenu/ptc-nav-submenu.d.ts +18 -0
  351. package/dist/types/components/subnav/ptc-subnav/ptc-subnav.d.ts +7 -0
  352. package/dist/types/components/subnav/ptc-subnav-card/ptc-subnav-card.d.ts +27 -0
  353. package/dist/types/components/tab-content/tab-content.d.ts +12 -12
  354. package/dist/types/components/tab-header/tab-header.d.ts +22 -22
  355. package/dist/types/components.d.ts +306 -130
  356. package/dist/types/global.d.ts +1072 -1072
  357. package/dist/types/index.d.ts +1 -1
  358. package/dist/types/utils/component.d.ts +1 -1
  359. package/dist/types/utils/interfaces.d.ts +31 -31
  360. package/dist/types/utils/utils.d.ts +5 -5
  361. package/package.json +60 -60
  362. package/readme.md +18 -18
  363. package/dist/cjs/ptc-title.cjs.entry.js +0 -78
  364. package/dist/esm/ptc-title.entry.js +0 -74
  365. package/dist/ptcw-design/p-7a83cae3.entry.js +0 -1
  366. package/dist/ptcw-design/p-c3dc0bdd.entry.js +0 -1
  367. package/dist/ptcw-design/p-e4c48b02.entry.js +0 -1
  368. /package/dist/ptcw-design/{p-ea875d9e.js → p-36665caa.js} +0 -0
  369. /package/dist/ptcw-design/{p-50e52c88.js → p-ee1183b2.js} +0 -0
@@ -1,586 +1,586 @@
1
- import { Host, h } from '@stencil/core';
2
- import { debounce, generateUUID, MapDOM } from '../../utils/utils';
3
- class CollapseListItem {
4
- }
5
- export class PtcCollapseList {
6
- constructor() {
7
- this.data = undefined;
8
- this.searchText = undefined;
9
- this.header = undefined;
10
- this.selectedValue = undefined;
11
- this.selectedItems = undefined;
12
- this.hashMap = undefined;
13
- this.debouncedUpdatedEvent = undefined;
14
- this.refreshBuffer = undefined;
15
- this.listItems = undefined;
16
- this.placeholderText = undefined;
17
- this.debounceUpdateDelay = undefined;
18
- }
19
- componentWillLoad() {
20
- this.loadListItems();
21
- this.selectedItems = [];
22
- }
23
- componentDidLoad() {
24
- this.ready.emit({
25
- sender: this.el,
26
- tree: this.data,
27
- search: this.searchText
28
- });
29
- let event = () => {
30
- this.changed.emit({
31
- sender: this.el,
32
- selectedValue: this.selectedValue,
33
- selectedItems: this.selectedItems,
34
- search: this.searchText
35
- });
36
- };
37
- this.debouncedUpdatedEvent = debounce(event, this.debounceUpdateDelay, this);
38
- }
39
- componentDidUpdate() {
40
- this.viewUpdated.emit({
41
- sender: this.el,
42
- tree: this.data,
43
- search: this.searchText
44
- });
45
- }
46
- onItemSelectedHandler(event) {
47
- this.itemSelected.emit({
48
- event: event,
49
- sender: event ? event.target : this.el,
50
- selectedValue: this.selectedValue,
51
- selectedItems: this.selectedItems,
52
- tree: this.data
53
- });
54
- this.fireChangedEvent();
55
- }
56
- onInputUpdated(event) {
57
- let input = event.target;
58
- this.searchText = input.value;
59
- this.inputUpdated.emit({
60
- event: event,
61
- sender: input,
62
- selectedValue: this.selectedValue,
63
- selectedItems: this.selectedItems,
64
- tree: this.data,
65
- search: this.searchText
66
- });
67
- this.fireChangedEvent();
68
- }
69
- onItemExpandedHandler(event) {
70
- this.itemExpanded.emit({
71
- event: event,
72
- sender: event ? event.target : this.el,
73
- selectedValue: this.selectedValue,
74
- selectedItems: this.selectedItems,
75
- tree: this.data
76
- });
77
- }
78
- fireChangedEvent() {
79
- this.debouncedUpdatedEvent();
80
- }
81
- loadListItems() {
82
- this.hashMap = {};
83
- if (!this.data) {
84
- let dom = MapDOM(this.el);
85
- if (dom.collapseListItem) {
86
- this.data = new Array();
87
- let buildChildren = (arr, outArr) => {
88
- arr.map((z) => {
89
- var newItem = new CollapseListItem();
90
- newItem.isExternalLink = z.linkHref ? true : false;
91
- if (z.linkHref) {
92
- newItem.href = z.linkHref;
93
- newItem.target = z.linkTarget;
94
- newItem.title = z.linkTitle;
95
- }
96
- else {
97
- newItem.id = generateUUID();
98
- newItem.text = z.facetDisplay;
99
- newItem.name = z.facetName;
100
- newItem.value = z.facetValue;
101
- newItem.category = z.category;
102
- newItem.allowMultiSelect = z.allowMultiSelect != 'false';
103
- this.setUpCategory(newItem.category, newItem.allowMultiSelect);
104
- }
105
- if (z.collapseListItem) {
106
- newItem.children = new Array();
107
- buildChildren(z.collapseListItem, newItem.children);
108
- }
109
- this.hashMap[newItem.id] = newItem;
110
- outArr.push(newItem);
111
- });
112
- };
113
- this.setUpCategory('default', true);
114
- buildChildren(dom.collapseListItem, this.data);
115
- }
116
- }
117
- }
118
- setUpCategory(name, allowMultiSelect) {
119
- if (!this.selectedValue) {
120
- this.selectedValue = {};
121
- }
122
- if (name && !this.selectedValue[name]) {
123
- this.selectedValue[name] = {
124
- name: name,
125
- items: new Array(),
126
- allowMultiSelect: allowMultiSelect
127
- };
128
- }
129
- }
130
- collapseAllFirstLevelItems(exclude) {
131
- let items = this.el.shadowRoot.querySelectorAll('.level-1');
132
- items.forEach((z) => {
133
- if (z.classList.contains('expanded') && z != exclude) {
134
- z.classList.remove('expanded');
135
- }
136
- });
137
- }
138
- updateExpandedItems() {
139
- const redraw = (timestamp) => {
140
- if (!this.refreshBuffer) {
141
- this.refreshBuffer = timestamp;
142
- }
143
- const elapsed = timestamp - this.refreshBuffer;
144
- let items = this.el.shadowRoot.querySelectorAll('li');
145
- items.forEach((z) => {
146
- let ul = z.querySelector(':scope > ul');
147
- if (ul) {
148
- if (!z.classList.contains('expanded')) {
149
- ul.style.removeProperty('max-height');
150
- }
151
- else {
152
- ul.style.maxHeight = ul.scrollHeight + "px";
153
- }
154
- }
155
- });
156
- if (elapsed < 2500) {
157
- window.requestAnimationFrame(redraw);
158
- }
159
- else {
160
- this.refreshBuffer = undefined;
161
- }
162
- };
163
- if (!this.refreshBuffer) {
164
- window.requestAnimationFrame(redraw);
165
- }
166
- else {
167
- this.refreshBuffer = undefined;
168
- }
169
- }
170
- updateSelectedItemStatus(uuid) {
171
- var _a;
172
- let selectedItem = this.hashMap[uuid];
173
- if (selectedItem && selectedItem.value) {
174
- let categoryName = (_a = selectedItem.category) !== null && _a !== void 0 ? _a : 'default';
175
- if (!this.selectedValue[categoryName]) {
176
- this.setUpCategory(categoryName, selectedItem.allowMultiSelect == true);
177
- }
178
- let items = this.selectedValue[categoryName].items;
179
- if (items.indexOf(selectedItem.value) < 0) {
180
- if (this.selectedValue[categoryName].allowMultiSelect) {
181
- items.push(selectedItem.value);
182
- }
183
- else {
184
- this.selectedItems = this.selectedItems.filter((z) => { return z.value != items[0]; });
185
- items = [selectedItem.value];
186
- }
187
- this.selectedItems.push(selectedItem);
188
- }
189
- else {
190
- items = items.filter((z) => { return z != selectedItem.value; });
191
- this.selectedItems = this.selectedItems.filter((z) => { return z.value != selectedItem.value; });
192
- }
193
- this.selectedValue[categoryName].items = items;
194
- }
195
- }
196
- unSelectItem(uuid) {
197
- var _a;
198
- let selectedItem = this.hashMap[uuid];
199
- if (selectedItem && selectedItem.value) {
200
- let categoryName = (_a = selectedItem.category) !== null && _a !== void 0 ? _a : 'default';
201
- if (!this.selectedValue[categoryName]) {
202
- this.setUpCategory(categoryName, selectedItem.allowMultiSelect == true);
203
- }
204
- let items = this.selectedValue[categoryName].items;
205
- if (items.indexOf(selectedItem.value) > -1) {
206
- items = items.filter((z) => { return z != selectedItem.value; });
207
- this.selectedItems = this.selectedItems.filter((z) => { return z.value != selectedItem.value; });
208
- }
209
- this.selectedValue[categoryName].items = items;
210
- }
211
- }
212
- selectItem(uuid) {
213
- var _a;
214
- let selectedItem = this.hashMap[uuid];
215
- if (selectedItem && selectedItem.value) {
216
- let categoryName = (_a = selectedItem.category) !== null && _a !== void 0 ? _a : 'default';
217
- if (!this.selectedValue[categoryName]) {
218
- this.setUpCategory(categoryName, selectedItem.allowMultiSelect == true);
219
- }
220
- let items = this.selectedValue[categoryName].items;
221
- if (items.indexOf(selectedItem.value) < 0) {
222
- if (this.selectedValue[categoryName].allowMultiSelect) {
223
- items.push(selectedItem.value);
224
- }
225
- else {
226
- items = [selectedItem.value];
227
- }
228
- this.selectedItems.push(selectedItem);
229
- }
230
- this.selectedValue[categoryName].items = items;
231
- }
232
- }
233
- getItemByValue(value) {
234
- let result;
235
- if (this.hashMap) {
236
- for (const [_, v] of Object.entries(this.hashMap)) {
237
- let item = v;
238
- if (item.value == value) {
239
- result = item;
240
- break;
241
- }
242
- }
243
- }
244
- return result;
245
- }
246
- onItemLinkClick(event, uuid) {
247
- if (event) {
248
- event.preventDefault();
249
- }
250
- this.updateSelectedItemStatus(uuid);
251
- this.onItemSelectedHandler(event);
252
- }
253
- onExpandClick(event, collapseParents) {
254
- if (event) {
255
- event.preventDefault();
256
- let sender = event.currentTarget;
257
- let root = sender.closest('.level-1');
258
- let parent = sender.closest('li');
259
- if (collapseParents) {
260
- this.collapseAllFirstLevelItems(root);
261
- }
262
- if (parent) {
263
- parent.classList.toggle("expanded");
264
- }
265
- if (sender.classList.contains('expander-icon')) {
266
- let icon = parent.classList.contains('expanded') ? 'minus' : 'plus';
267
- sender.querySelector('icon-asset').setAttribute('name', icon);
268
- }
269
- this.updateExpandedItems();
270
- }
271
- this.onItemExpandedHandler(event);
272
- }
273
- render() {
274
- let renderLevel = (arr, level) => {
275
- let levelClass = `level-${level}`;
276
- return (h("ul", null, arr.map((z) => {
277
- let expandable = false;
278
- let selectable = false;
279
- let icon;
280
- if (level == 1) {
281
- if (z.children) {
282
- expandable = true;
283
- selectable = false;
284
- icon = (h("icon-asset", { type: "ptc", name: "chevron-down", color: "ptc-green", size: "medium" }));
285
- }
286
- else {
287
- expandable = false;
288
- selectable = true;
289
- icon = (h("icon-asset", { type: "ptc", name: "plus", color: "ptc-green", size: "medium" }));
290
- }
291
- }
292
- else if (level > 1) {
293
- selectable = true;
294
- if (z.children) {
295
- expandable = true;
296
- icon = (h("icon-asset", { type: "ptc", name: "plus", color: "gray", size: "xxx-small" }));
297
- }
298
- else {
299
- expandable = false;
300
- }
301
- }
302
- return (h("li", { class: levelClass }, getLink(z, icon, level, expandable, selectable), z.children ? renderLevel(z.children, level + 1) : ''));
303
- })));
304
- };
305
- let getLink = (item, icon, level, expandable, selectable) => {
306
- let clickEvent = (e) => {
307
- if (expandable) {
308
- this.onExpandClick(e, level == 1);
309
- }
310
- else {
311
- this.onItemLinkClick(e, item.id);
312
- }
313
- };
314
- if (item.isExternalLink) {
315
- return (h("a", { href: item.href, target: item.target, title: item.title }, icon, item.text));
316
- }
317
- else if ((!expandable && selectable) || (expandable && !selectable)) {
318
- return (h("a", { href: "#", title: item.text, onClick: clickEvent }, icon, item.text));
319
- }
320
- else {
321
- return [
322
- h("a", { class: "expander-icon", href: "#", onClick: (e) => { this.onExpandClick(e, false); } }, icon),
323
- h("a", { href: "#", title: item.text, onClick: (e) => { this.onItemLinkClick(e, item.id); } }, item.text)
324
- ];
325
- }
326
- };
327
- return (h(Host, null, h("div", { class: "container" }, h("ptc-title", { type: 'h2', "title-size": "medium", "title-weight": "w-6", "text-align": 'left', upperline: "no-upperline" }, this.header), h("div", { class: "search-box" }, h("input", { type: "text", placeholder: this.placeholderText, onKeyUp: (e) => { this.onInputUpdated(e); } })), renderLevel(this.data, 1))));
328
- }
329
- async removeSelectedItem(value) {
330
- let item = this.getItemByValue(value);
331
- this.unSelectItem(item.id);
332
- this.fireChangedEvent();
333
- }
334
- async addSelectedItem(value) {
335
- let item = this.getItemByValue(value);
336
- this.selectItem(item.id);
337
- }
338
- static get is() { return "ptc-collapse-list"; }
339
- static get encapsulation() { return "shadow"; }
340
- static get originalStyleUrls() {
341
- return {
342
- "$": ["ptc-collapse-list.scss"]
343
- };
344
- }
345
- static get styleUrls() {
346
- return {
347
- "$": ["ptc-collapse-list.css"]
348
- };
349
- }
350
- static get properties() {
351
- return {
352
- "header": {
353
- "type": "string",
354
- "mutable": false,
355
- "complexType": {
356
- "original": "string",
357
- "resolved": "string",
358
- "references": {}
359
- },
360
- "required": false,
361
- "optional": false,
362
- "docs": {
363
- "tags": [],
364
- "text": ""
365
- },
366
- "attribute": "header",
367
- "reflect": false
368
- },
369
- "listItems": {
370
- "type": "unknown",
371
- "mutable": true,
372
- "complexType": {
373
- "original": "Object",
374
- "resolved": "Object",
375
- "references": {
376
- "Object": {
377
- "location": "global"
378
- }
379
- }
380
- },
381
- "required": false,
382
- "optional": true,
383
- "docs": {
384
- "tags": [],
385
- "text": ""
386
- }
387
- },
388
- "placeholderText": {
389
- "type": "string",
390
- "mutable": true,
391
- "complexType": {
392
- "original": "string",
393
- "resolved": "string",
394
- "references": {}
395
- },
396
- "required": false,
397
- "optional": false,
398
- "docs": {
399
- "tags": [],
400
- "text": ""
401
- },
402
- "attribute": "placeholder-text",
403
- "reflect": false
404
- },
405
- "debounceUpdateDelay": {
406
- "type": "number",
407
- "mutable": true,
408
- "complexType": {
409
- "original": "500",
410
- "resolved": "500",
411
- "references": {}
412
- },
413
- "required": false,
414
- "optional": false,
415
- "docs": {
416
- "tags": [],
417
- "text": ""
418
- },
419
- "attribute": "debounce-update-delay",
420
- "reflect": false
421
- }
422
- };
423
- }
424
- static get states() {
425
- return {
426
- "data": {},
427
- "searchText": {},
428
- "selectedValue": {},
429
- "selectedItems": {},
430
- "hashMap": {},
431
- "debouncedUpdatedEvent": {},
432
- "refreshBuffer": {}
433
- };
434
- }
435
- static get events() {
436
- return [{
437
- "method": "itemSelected",
438
- "name": "itemSelected",
439
- "bubbles": true,
440
- "cancelable": true,
441
- "composed": true,
442
- "docs": {
443
- "tags": [],
444
- "text": ""
445
- },
446
- "complexType": {
447
- "original": "any",
448
- "resolved": "any",
449
- "references": {}
450
- }
451
- }, {
452
- "method": "itemExpanded",
453
- "name": "itemExpanded",
454
- "bubbles": true,
455
- "cancelable": true,
456
- "composed": true,
457
- "docs": {
458
- "tags": [],
459
- "text": ""
460
- },
461
- "complexType": {
462
- "original": "any",
463
- "resolved": "any",
464
- "references": {}
465
- }
466
- }, {
467
- "method": "textChanged",
468
- "name": "textChanged",
469
- "bubbles": true,
470
- "cancelable": true,
471
- "composed": true,
472
- "docs": {
473
- "tags": [],
474
- "text": ""
475
- },
476
- "complexType": {
477
- "original": "any",
478
- "resolved": "any",
479
- "references": {}
480
- }
481
- }, {
482
- "method": "inputUpdated",
483
- "name": "inputUpdated",
484
- "bubbles": true,
485
- "cancelable": true,
486
- "composed": true,
487
- "docs": {
488
- "tags": [],
489
- "text": ""
490
- },
491
- "complexType": {
492
- "original": "any",
493
- "resolved": "any",
494
- "references": {}
495
- }
496
- }, {
497
- "method": "ready",
498
- "name": "ready",
499
- "bubbles": true,
500
- "cancelable": true,
501
- "composed": true,
502
- "docs": {
503
- "tags": [],
504
- "text": ""
505
- },
506
- "complexType": {
507
- "original": "any",
508
- "resolved": "any",
509
- "references": {}
510
- }
511
- }, {
512
- "method": "viewUpdated",
513
- "name": "viewUpdated",
514
- "bubbles": true,
515
- "cancelable": true,
516
- "composed": true,
517
- "docs": {
518
- "tags": [],
519
- "text": ""
520
- },
521
- "complexType": {
522
- "original": "any",
523
- "resolved": "any",
524
- "references": {}
525
- }
526
- }, {
527
- "method": "changed",
528
- "name": "changed",
529
- "bubbles": true,
530
- "cancelable": true,
531
- "composed": true,
532
- "docs": {
533
- "tags": [],
534
- "text": ""
535
- },
536
- "complexType": {
537
- "original": "any",
538
- "resolved": "any",
539
- "references": {}
540
- }
541
- }];
542
- }
543
- static get methods() {
544
- return {
545
- "removeSelectedItem": {
546
- "complexType": {
547
- "signature": "(value: string) => Promise<void>",
548
- "parameters": [{
549
- "tags": [],
550
- "text": ""
551
- }],
552
- "references": {
553
- "Promise": {
554
- "location": "global"
555
- }
556
- },
557
- "return": "Promise<void>"
558
- },
559
- "docs": {
560
- "text": "",
561
- "tags": []
562
- }
563
- },
564
- "addSelectedItem": {
565
- "complexType": {
566
- "signature": "(value: string) => Promise<void>",
567
- "parameters": [{
568
- "tags": [],
569
- "text": ""
570
- }],
571
- "references": {
572
- "Promise": {
573
- "location": "global"
574
- }
575
- },
576
- "return": "Promise<void>"
577
- },
578
- "docs": {
579
- "text": "",
580
- "tags": []
581
- }
582
- }
583
- };
584
- }
585
- static get elementRef() { return "el"; }
586
- }
1
+ import { Host, h } from '@stencil/core';
2
+ import { debounce, generateUUID, MapDOM } from '../../utils/utils';
3
+ class CollapseListItem {
4
+ }
5
+ export class PtcCollapseList {
6
+ constructor() {
7
+ this.data = undefined;
8
+ this.searchText = undefined;
9
+ this.header = undefined;
10
+ this.selectedValue = undefined;
11
+ this.selectedItems = undefined;
12
+ this.hashMap = undefined;
13
+ this.debouncedUpdatedEvent = undefined;
14
+ this.refreshBuffer = undefined;
15
+ this.listItems = undefined;
16
+ this.placeholderText = undefined;
17
+ this.debounceUpdateDelay = undefined;
18
+ }
19
+ componentWillLoad() {
20
+ this.loadListItems();
21
+ this.selectedItems = [];
22
+ }
23
+ componentDidLoad() {
24
+ this.ready.emit({
25
+ sender: this.el,
26
+ tree: this.data,
27
+ search: this.searchText
28
+ });
29
+ let event = () => {
30
+ this.changed.emit({
31
+ sender: this.el,
32
+ selectedValue: this.selectedValue,
33
+ selectedItems: this.selectedItems,
34
+ search: this.searchText
35
+ });
36
+ };
37
+ this.debouncedUpdatedEvent = debounce(event, this.debounceUpdateDelay, this);
38
+ }
39
+ componentDidUpdate() {
40
+ this.viewUpdated.emit({
41
+ sender: this.el,
42
+ tree: this.data,
43
+ search: this.searchText
44
+ });
45
+ }
46
+ onItemSelectedHandler(event) {
47
+ this.itemSelected.emit({
48
+ event: event,
49
+ sender: event ? event.target : this.el,
50
+ selectedValue: this.selectedValue,
51
+ selectedItems: this.selectedItems,
52
+ tree: this.data
53
+ });
54
+ this.fireChangedEvent();
55
+ }
56
+ onInputUpdated(event) {
57
+ let input = event.target;
58
+ this.searchText = input.value;
59
+ this.inputUpdated.emit({
60
+ event: event,
61
+ sender: input,
62
+ selectedValue: this.selectedValue,
63
+ selectedItems: this.selectedItems,
64
+ tree: this.data,
65
+ search: this.searchText
66
+ });
67
+ this.fireChangedEvent();
68
+ }
69
+ onItemExpandedHandler(event) {
70
+ this.itemExpanded.emit({
71
+ event: event,
72
+ sender: event ? event.target : this.el,
73
+ selectedValue: this.selectedValue,
74
+ selectedItems: this.selectedItems,
75
+ tree: this.data
76
+ });
77
+ }
78
+ fireChangedEvent() {
79
+ this.debouncedUpdatedEvent();
80
+ }
81
+ loadListItems() {
82
+ this.hashMap = {};
83
+ if (!this.data) {
84
+ let dom = MapDOM(this.el);
85
+ if (dom.collapseListItem) {
86
+ this.data = new Array();
87
+ let buildChildren = (arr, outArr) => {
88
+ arr.map((z) => {
89
+ var newItem = new CollapseListItem();
90
+ newItem.isExternalLink = z.linkHref ? true : false;
91
+ if (z.linkHref) {
92
+ newItem.href = z.linkHref;
93
+ newItem.target = z.linkTarget;
94
+ newItem.title = z.linkTitle;
95
+ }
96
+ else {
97
+ newItem.id = generateUUID();
98
+ newItem.text = z.facetDisplay;
99
+ newItem.name = z.facetName;
100
+ newItem.value = z.facetValue;
101
+ newItem.category = z.category;
102
+ newItem.allowMultiSelect = z.allowMultiSelect != 'false';
103
+ this.setUpCategory(newItem.category, newItem.allowMultiSelect);
104
+ }
105
+ if (z.collapseListItem) {
106
+ newItem.children = new Array();
107
+ buildChildren(z.collapseListItem, newItem.children);
108
+ }
109
+ this.hashMap[newItem.id] = newItem;
110
+ outArr.push(newItem);
111
+ });
112
+ };
113
+ this.setUpCategory('default', true);
114
+ buildChildren(dom.collapseListItem, this.data);
115
+ }
116
+ }
117
+ }
118
+ setUpCategory(name, allowMultiSelect) {
119
+ if (!this.selectedValue) {
120
+ this.selectedValue = {};
121
+ }
122
+ if (name && !this.selectedValue[name]) {
123
+ this.selectedValue[name] = {
124
+ name: name,
125
+ items: new Array(),
126
+ allowMultiSelect: allowMultiSelect
127
+ };
128
+ }
129
+ }
130
+ collapseAllFirstLevelItems(exclude) {
131
+ let items = this.el.shadowRoot.querySelectorAll('.level-1');
132
+ items.forEach((z) => {
133
+ if (z.classList.contains('expanded') && z != exclude) {
134
+ z.classList.remove('expanded');
135
+ }
136
+ });
137
+ }
138
+ updateExpandedItems() {
139
+ const redraw = (timestamp) => {
140
+ if (!this.refreshBuffer) {
141
+ this.refreshBuffer = timestamp;
142
+ }
143
+ const elapsed = timestamp - this.refreshBuffer;
144
+ let items = this.el.shadowRoot.querySelectorAll('li');
145
+ items.forEach((z) => {
146
+ let ul = z.querySelector(':scope > ul');
147
+ if (ul) {
148
+ if (!z.classList.contains('expanded')) {
149
+ ul.style.removeProperty('max-height');
150
+ }
151
+ else {
152
+ ul.style.maxHeight = ul.scrollHeight + "px";
153
+ }
154
+ }
155
+ });
156
+ if (elapsed < 2500) {
157
+ window.requestAnimationFrame(redraw);
158
+ }
159
+ else {
160
+ this.refreshBuffer = undefined;
161
+ }
162
+ };
163
+ if (!this.refreshBuffer) {
164
+ window.requestAnimationFrame(redraw);
165
+ }
166
+ else {
167
+ this.refreshBuffer = undefined;
168
+ }
169
+ }
170
+ updateSelectedItemStatus(uuid) {
171
+ var _a;
172
+ let selectedItem = this.hashMap[uuid];
173
+ if (selectedItem && selectedItem.value) {
174
+ let categoryName = (_a = selectedItem.category) !== null && _a !== void 0 ? _a : 'default';
175
+ if (!this.selectedValue[categoryName]) {
176
+ this.setUpCategory(categoryName, selectedItem.allowMultiSelect == true);
177
+ }
178
+ let items = this.selectedValue[categoryName].items;
179
+ if (items.indexOf(selectedItem.value) < 0) {
180
+ if (this.selectedValue[categoryName].allowMultiSelect) {
181
+ items.push(selectedItem.value);
182
+ }
183
+ else {
184
+ this.selectedItems = this.selectedItems.filter((z) => { return z.value != items[0]; });
185
+ items = [selectedItem.value];
186
+ }
187
+ this.selectedItems.push(selectedItem);
188
+ }
189
+ else {
190
+ items = items.filter((z) => { return z != selectedItem.value; });
191
+ this.selectedItems = this.selectedItems.filter((z) => { return z.value != selectedItem.value; });
192
+ }
193
+ this.selectedValue[categoryName].items = items;
194
+ }
195
+ }
196
+ unSelectItem(uuid) {
197
+ var _a;
198
+ let selectedItem = this.hashMap[uuid];
199
+ if (selectedItem && selectedItem.value) {
200
+ let categoryName = (_a = selectedItem.category) !== null && _a !== void 0 ? _a : 'default';
201
+ if (!this.selectedValue[categoryName]) {
202
+ this.setUpCategory(categoryName, selectedItem.allowMultiSelect == true);
203
+ }
204
+ let items = this.selectedValue[categoryName].items;
205
+ if (items.indexOf(selectedItem.value) > -1) {
206
+ items = items.filter((z) => { return z != selectedItem.value; });
207
+ this.selectedItems = this.selectedItems.filter((z) => { return z.value != selectedItem.value; });
208
+ }
209
+ this.selectedValue[categoryName].items = items;
210
+ }
211
+ }
212
+ selectItem(uuid) {
213
+ var _a;
214
+ let selectedItem = this.hashMap[uuid];
215
+ if (selectedItem && selectedItem.value) {
216
+ let categoryName = (_a = selectedItem.category) !== null && _a !== void 0 ? _a : 'default';
217
+ if (!this.selectedValue[categoryName]) {
218
+ this.setUpCategory(categoryName, selectedItem.allowMultiSelect == true);
219
+ }
220
+ let items = this.selectedValue[categoryName].items;
221
+ if (items.indexOf(selectedItem.value) < 0) {
222
+ if (this.selectedValue[categoryName].allowMultiSelect) {
223
+ items.push(selectedItem.value);
224
+ }
225
+ else {
226
+ items = [selectedItem.value];
227
+ }
228
+ this.selectedItems.push(selectedItem);
229
+ }
230
+ this.selectedValue[categoryName].items = items;
231
+ }
232
+ }
233
+ getItemByValue(value) {
234
+ let result;
235
+ if (this.hashMap) {
236
+ for (const [_, v] of Object.entries(this.hashMap)) {
237
+ let item = v;
238
+ if (item.value == value) {
239
+ result = item;
240
+ break;
241
+ }
242
+ }
243
+ }
244
+ return result;
245
+ }
246
+ onItemLinkClick(event, uuid) {
247
+ if (event) {
248
+ event.preventDefault();
249
+ }
250
+ this.updateSelectedItemStatus(uuid);
251
+ this.onItemSelectedHandler(event);
252
+ }
253
+ onExpandClick(event, collapseParents) {
254
+ if (event) {
255
+ event.preventDefault();
256
+ let sender = event.currentTarget;
257
+ let root = sender.closest('.level-1');
258
+ let parent = sender.closest('li');
259
+ if (collapseParents) {
260
+ this.collapseAllFirstLevelItems(root);
261
+ }
262
+ if (parent) {
263
+ parent.classList.toggle("expanded");
264
+ }
265
+ if (sender.classList.contains('expander-icon')) {
266
+ let icon = parent.classList.contains('expanded') ? 'minus' : 'plus';
267
+ sender.querySelector('icon-asset').setAttribute('name', icon);
268
+ }
269
+ this.updateExpandedItems();
270
+ }
271
+ this.onItemExpandedHandler(event);
272
+ }
273
+ render() {
274
+ let renderLevel = (arr, level) => {
275
+ let levelClass = `level-${level}`;
276
+ return (h("ul", null, arr.map((z) => {
277
+ let expandable = false;
278
+ let selectable = false;
279
+ let icon;
280
+ if (level == 1) {
281
+ if (z.children) {
282
+ expandable = true;
283
+ selectable = false;
284
+ icon = (h("icon-asset", { type: "ptc", name: "chevron-down", color: "ptc-green", size: "medium" }));
285
+ }
286
+ else {
287
+ expandable = false;
288
+ selectable = true;
289
+ icon = (h("icon-asset", { type: "ptc", name: "plus", color: "ptc-green", size: "medium" }));
290
+ }
291
+ }
292
+ else if (level > 1) {
293
+ selectable = true;
294
+ if (z.children) {
295
+ expandable = true;
296
+ icon = (h("icon-asset", { type: "ptc", name: "plus", color: "gray", size: "xxx-small" }));
297
+ }
298
+ else {
299
+ expandable = false;
300
+ }
301
+ }
302
+ return (h("li", { class: levelClass }, getLink(z, icon, level, expandable, selectable), z.children ? renderLevel(z.children, level + 1) : ''));
303
+ })));
304
+ };
305
+ let getLink = (item, icon, level, expandable, selectable) => {
306
+ let clickEvent = (e) => {
307
+ if (expandable) {
308
+ this.onExpandClick(e, level == 1);
309
+ }
310
+ else {
311
+ this.onItemLinkClick(e, item.id);
312
+ }
313
+ };
314
+ if (item.isExternalLink) {
315
+ return (h("a", { href: item.href, target: item.target, title: item.title }, icon, item.text));
316
+ }
317
+ else if ((!expandable && selectable) || (expandable && !selectable)) {
318
+ return (h("a", { href: "#", title: item.text, onClick: clickEvent }, icon, item.text));
319
+ }
320
+ else {
321
+ return [
322
+ h("a", { class: "expander-icon", href: "#", onClick: (e) => { this.onExpandClick(e, false); } }, icon),
323
+ h("a", { href: "#", title: item.text, onClick: (e) => { this.onItemLinkClick(e, item.id); } }, item.text)
324
+ ];
325
+ }
326
+ };
327
+ return (h(Host, null, h("div", { class: "container" }, h("ptc-title", { type: 'h2', "title-size": "medium", "title-weight": "w-6", "text-align": 'left', upperline: "no-upperline" }, this.header), h("div", { class: "search-box" }, h("input", { type: "text", placeholder: this.placeholderText, onKeyUp: (e) => { this.onInputUpdated(e); } })), renderLevel(this.data, 1))));
328
+ }
329
+ async removeSelectedItem(value) {
330
+ let item = this.getItemByValue(value);
331
+ this.unSelectItem(item.id);
332
+ this.fireChangedEvent();
333
+ }
334
+ async addSelectedItem(value) {
335
+ let item = this.getItemByValue(value);
336
+ this.selectItem(item.id);
337
+ }
338
+ static get is() { return "ptc-collapse-list"; }
339
+ static get encapsulation() { return "shadow"; }
340
+ static get originalStyleUrls() {
341
+ return {
342
+ "$": ["ptc-collapse-list.scss"]
343
+ };
344
+ }
345
+ static get styleUrls() {
346
+ return {
347
+ "$": ["ptc-collapse-list.css"]
348
+ };
349
+ }
350
+ static get properties() {
351
+ return {
352
+ "header": {
353
+ "type": "string",
354
+ "mutable": false,
355
+ "complexType": {
356
+ "original": "string",
357
+ "resolved": "string",
358
+ "references": {}
359
+ },
360
+ "required": false,
361
+ "optional": false,
362
+ "docs": {
363
+ "tags": [],
364
+ "text": ""
365
+ },
366
+ "attribute": "header",
367
+ "reflect": false
368
+ },
369
+ "listItems": {
370
+ "type": "unknown",
371
+ "mutable": true,
372
+ "complexType": {
373
+ "original": "Object",
374
+ "resolved": "Object",
375
+ "references": {
376
+ "Object": {
377
+ "location": "global"
378
+ }
379
+ }
380
+ },
381
+ "required": false,
382
+ "optional": true,
383
+ "docs": {
384
+ "tags": [],
385
+ "text": ""
386
+ }
387
+ },
388
+ "placeholderText": {
389
+ "type": "string",
390
+ "mutable": true,
391
+ "complexType": {
392
+ "original": "string",
393
+ "resolved": "string",
394
+ "references": {}
395
+ },
396
+ "required": false,
397
+ "optional": false,
398
+ "docs": {
399
+ "tags": [],
400
+ "text": ""
401
+ },
402
+ "attribute": "placeholder-text",
403
+ "reflect": false
404
+ },
405
+ "debounceUpdateDelay": {
406
+ "type": "number",
407
+ "mutable": true,
408
+ "complexType": {
409
+ "original": "500",
410
+ "resolved": "500",
411
+ "references": {}
412
+ },
413
+ "required": false,
414
+ "optional": false,
415
+ "docs": {
416
+ "tags": [],
417
+ "text": ""
418
+ },
419
+ "attribute": "debounce-update-delay",
420
+ "reflect": false
421
+ }
422
+ };
423
+ }
424
+ static get states() {
425
+ return {
426
+ "data": {},
427
+ "searchText": {},
428
+ "selectedValue": {},
429
+ "selectedItems": {},
430
+ "hashMap": {},
431
+ "debouncedUpdatedEvent": {},
432
+ "refreshBuffer": {}
433
+ };
434
+ }
435
+ static get events() {
436
+ return [{
437
+ "method": "itemSelected",
438
+ "name": "itemSelected",
439
+ "bubbles": true,
440
+ "cancelable": true,
441
+ "composed": true,
442
+ "docs": {
443
+ "tags": [],
444
+ "text": ""
445
+ },
446
+ "complexType": {
447
+ "original": "any",
448
+ "resolved": "any",
449
+ "references": {}
450
+ }
451
+ }, {
452
+ "method": "itemExpanded",
453
+ "name": "itemExpanded",
454
+ "bubbles": true,
455
+ "cancelable": true,
456
+ "composed": true,
457
+ "docs": {
458
+ "tags": [],
459
+ "text": ""
460
+ },
461
+ "complexType": {
462
+ "original": "any",
463
+ "resolved": "any",
464
+ "references": {}
465
+ }
466
+ }, {
467
+ "method": "textChanged",
468
+ "name": "textChanged",
469
+ "bubbles": true,
470
+ "cancelable": true,
471
+ "composed": true,
472
+ "docs": {
473
+ "tags": [],
474
+ "text": ""
475
+ },
476
+ "complexType": {
477
+ "original": "any",
478
+ "resolved": "any",
479
+ "references": {}
480
+ }
481
+ }, {
482
+ "method": "inputUpdated",
483
+ "name": "inputUpdated",
484
+ "bubbles": true,
485
+ "cancelable": true,
486
+ "composed": true,
487
+ "docs": {
488
+ "tags": [],
489
+ "text": ""
490
+ },
491
+ "complexType": {
492
+ "original": "any",
493
+ "resolved": "any",
494
+ "references": {}
495
+ }
496
+ }, {
497
+ "method": "ready",
498
+ "name": "ready",
499
+ "bubbles": true,
500
+ "cancelable": true,
501
+ "composed": true,
502
+ "docs": {
503
+ "tags": [],
504
+ "text": ""
505
+ },
506
+ "complexType": {
507
+ "original": "any",
508
+ "resolved": "any",
509
+ "references": {}
510
+ }
511
+ }, {
512
+ "method": "viewUpdated",
513
+ "name": "viewUpdated",
514
+ "bubbles": true,
515
+ "cancelable": true,
516
+ "composed": true,
517
+ "docs": {
518
+ "tags": [],
519
+ "text": ""
520
+ },
521
+ "complexType": {
522
+ "original": "any",
523
+ "resolved": "any",
524
+ "references": {}
525
+ }
526
+ }, {
527
+ "method": "changed",
528
+ "name": "changed",
529
+ "bubbles": true,
530
+ "cancelable": true,
531
+ "composed": true,
532
+ "docs": {
533
+ "tags": [],
534
+ "text": ""
535
+ },
536
+ "complexType": {
537
+ "original": "any",
538
+ "resolved": "any",
539
+ "references": {}
540
+ }
541
+ }];
542
+ }
543
+ static get methods() {
544
+ return {
545
+ "removeSelectedItem": {
546
+ "complexType": {
547
+ "signature": "(value: string) => Promise<void>",
548
+ "parameters": [{
549
+ "tags": [],
550
+ "text": ""
551
+ }],
552
+ "references": {
553
+ "Promise": {
554
+ "location": "global"
555
+ }
556
+ },
557
+ "return": "Promise<void>"
558
+ },
559
+ "docs": {
560
+ "text": "",
561
+ "tags": []
562
+ }
563
+ },
564
+ "addSelectedItem": {
565
+ "complexType": {
566
+ "signature": "(value: string) => Promise<void>",
567
+ "parameters": [{
568
+ "tags": [],
569
+ "text": ""
570
+ }],
571
+ "references": {
572
+ "Promise": {
573
+ "location": "global"
574
+ }
575
+ },
576
+ "return": "Promise<void>"
577
+ },
578
+ "docs": {
579
+ "text": "",
580
+ "tags": []
581
+ }
582
+ }
583
+ };
584
+ }
585
+ static get elementRef() { return "el"; }
586
+ }