@ptcwebops/ptcw-design 1.3.0 → 1.3.2

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