@ptcwebops/ptcw-design 1.5.0 → 1.5.3

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