@ptcwebops/ptcw-design 0.5.6 → 0.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/dropdown-item.cjs.entry.js +10 -10
  3. package/dist/cjs/icon-asset_13.cjs.entry.js +758 -0
  4. package/dist/cjs/{interfaces-0ecd8027.js → interfaces-574e6df7.js} +9 -9
  5. package/dist/cjs/list-item.cjs.entry.js +19 -19
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/lottie-player.cjs.entry.js +354 -354
  8. package/dist/cjs/my-component.cjs.entry.js +13 -13
  9. package/dist/cjs/ptc-accordion-item.cjs.entry.js +110 -0
  10. package/dist/cjs/ptc-accordion.cjs.entry.js +49 -0
  11. package/dist/cjs/ptc-announcement.cjs.entry.js +48 -0
  12. package/dist/cjs/ptc-breadcrumb.cjs.entry.js +12 -12
  13. package/dist/cjs/ptc-card-bottom.cjs.entry.js +31 -31
  14. package/dist/cjs/ptc-card-content.cjs.entry.js +32 -32
  15. package/dist/cjs/ptc-card-plm.cjs.entry.js +16 -16
  16. package/dist/cjs/ptc-card.cjs.entry.js +69 -69
  17. package/dist/cjs/ptc-date.cjs.entry.js +48 -48
  18. package/dist/cjs/ptc-ellipsis-dropdown.cjs.entry.js +23 -23
  19. package/dist/cjs/ptc-hero-footer-cta.cjs.entry.js +8 -8
  20. package/dist/cjs/ptc-hero.cjs.entry.js +18 -18
  21. package/dist/cjs/ptc-icon-list.cjs.entry.js +32 -32
  22. package/dist/cjs/ptc-img_2.cjs.entry.js +169 -169
  23. package/dist/cjs/ptc-list.cjs.entry.js +23 -23
  24. package/dist/cjs/ptc-lottie.cjs.entry.js +12 -12
  25. package/dist/cjs/ptc-minimized-footer.cjs.entry.js +8 -8
  26. package/dist/cjs/ptc-minimized-header.cjs.entry.js +11 -11
  27. package/dist/cjs/ptc-mobile-select.cjs.entry.js +69 -69
  28. package/dist/cjs/ptc-nav-item.cjs.entry.js +83 -83
  29. package/dist/cjs/ptc-nav.cjs.entry.js +8 -8
  30. package/dist/cjs/ptc-pagenation.cjs.entry.js +111 -0
  31. package/dist/cjs/ptc-picture.cjs.entry.js +169 -169
  32. package/dist/cjs/ptc-previous-url.cjs.entry.js +8 -8
  33. package/dist/cjs/ptc-pricing-block.cjs.entry.js +14 -14
  34. package/dist/cjs/ptc-quote.cjs.entry.js +25 -25
  35. package/dist/cjs/ptc-responsive-wrapper.cjs.entry.js +54 -54
  36. package/dist/cjs/ptc-social-share.cjs.entry.js +64 -64
  37. package/dist/cjs/ptc-span.cjs.entry.js +23 -23
  38. package/dist/cjs/{ptc-announcement_2.cjs.entry.js → ptc-svg-btn.cjs.entry.js} +75 -117
  39. package/dist/cjs/ptc-tab-list.cjs.entry.js +116 -116
  40. package/dist/cjs/ptc-two-column-media.cjs.entry.js +14 -14
  41. package/dist/cjs/ptcw-design.cjs.js +1 -1
  42. package/dist/cjs/tab-content.cjs.entry.js +26 -26
  43. package/dist/cjs/tab-header.cjs.entry.js +43 -43
  44. package/dist/collection/collection-manifest.json +5 -0
  45. package/dist/collection/components/dropdown-item/dropdown-item.js +56 -56
  46. package/dist/collection/components/icon-asset/icon-asset.css +4 -4
  47. package/dist/collection/components/icon-asset/icon-asset.js +199 -199
  48. package/dist/collection/components/icon-asset/media/brands.svg +1381 -1381
  49. package/dist/collection/components/icon-asset/media/designer.svg +338 -327
  50. package/dist/collection/components/icon-asset/media/regular.svg +463 -463
  51. package/dist/collection/components/icon-asset/media/solid.svg +3013 -3013
  52. package/dist/collection/components/icon-asset/media/svg-with-js.min.css +4 -4
  53. package/dist/collection/components/list-item/list-item.js +103 -103
  54. package/dist/collection/components/my-component/my-component.css +3 -3
  55. package/dist/collection/components/my-component/my-component.js +73 -73
  56. package/dist/collection/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.css +74 -0
  57. package/dist/collection/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.js +296 -0
  58. package/dist/collection/components/ptc-accordion/ptc-accordion.css +8 -0
  59. package/dist/collection/components/ptc-accordion/ptc-accordion.js +74 -0
  60. package/dist/collection/components/ptc-announcement/ptc-announcement.js +210 -210
  61. package/dist/collection/components/ptc-breadcrumb/ptc-breadcrumb.js +21 -21
  62. package/dist/collection/components/ptc-button/ptc-button.js +293 -293
  63. package/dist/collection/components/ptc-card/ptc-card.css +76 -0
  64. package/dist/collection/components/ptc-card/ptc-card.js +301 -282
  65. package/dist/collection/components/ptc-card-bottom/ptc-card-bottom.js +105 -105
  66. package/dist/collection/components/ptc-card-content/ptc-card-content.css +1 -1
  67. package/dist/collection/components/ptc-card-content/ptc-card-content.js +105 -105
  68. package/dist/collection/components/ptc-card-plm/ptc-card-plm.js +97 -97
  69. package/dist/collection/components/ptc-checkbox/ptc-checkbox.css +46 -13
  70. package/dist/collection/components/ptc-checkbox/ptc-checkbox.js +114 -76
  71. package/dist/collection/components/ptc-container/ptc-container.css +24 -1
  72. package/dist/collection/components/ptc-container/ptc-container.js +119 -98
  73. package/dist/collection/components/ptc-date/ptc-date.js +201 -201
  74. package/dist/collection/components/ptc-dropdown/ptc-dropdown.css +66 -0
  75. package/dist/collection/components/ptc-dropdown/ptc-dropdown.js +144 -0
  76. package/dist/collection/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.js +77 -77
  77. package/dist/collection/components/ptc-filter-tag/ptc-filter-tag.css +67 -14
  78. package/dist/collection/components/ptc-filter-tag/ptc-filter-tag.js +70 -96
  79. package/dist/collection/components/ptc-hero/ptc-hero.js +67 -67
  80. package/dist/collection/components/ptc-hero-footer-cta/ptc-hero-footer-cta.js +77 -77
  81. package/dist/collection/components/ptc-icon-list/ptc-icon-list.js +145 -145
  82. package/dist/collection/components/ptc-icon-minimize/ptc-icon-minimize.css +37 -0
  83. package/dist/collection/components/ptc-icon-minimize/ptc-icon-minimize.js +86 -0
  84. package/dist/collection/components/ptc-img/ptc-img.js +314 -314
  85. package/dist/collection/components/ptc-link/ptc-link.css +18 -0
  86. package/dist/collection/components/ptc-link/ptc-link.js +198 -198
  87. package/dist/collection/components/ptc-list/ptc-list.js +68 -68
  88. package/dist/collection/components/ptc-lottie/ptc-lottie.css +5 -5
  89. package/dist/collection/components/ptc-lottie/ptc-lottie.js +58 -58
  90. package/dist/collection/components/ptc-minimized-footer/ptc-minimized-footer.js +17 -17
  91. package/dist/collection/components/ptc-minimized-header/ptc-minimized-header.js +80 -80
  92. package/dist/collection/components/ptc-mobile-select/ptc-mobile-select.js +221 -221
  93. package/dist/collection/components/ptc-modal/ptc-modal.css +37 -0
  94. package/dist/collection/components/ptc-modal/ptc-modal.js +337 -255
  95. package/dist/collection/components/ptc-nav/ptc-nav.js +21 -21
  96. package/dist/collection/components/ptc-nav-item/ptc-nav-item.js +252 -252
  97. package/dist/collection/components/ptc-overlay/ptc-overlay.js +99 -99
  98. package/dist/collection/components/ptc-pagenation/ptc-pagenation.css +113 -0
  99. package/dist/collection/components/ptc-pagenation/ptc-pagenation.js +277 -0
  100. package/dist/collection/components/ptc-para/ptc-para.js +157 -157
  101. package/dist/collection/components/ptc-picture/ptc-picture.js +474 -474
  102. package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +54 -54
  103. package/dist/collection/components/ptc-pricing-block/ptc-pricing-block.js +25 -25
  104. package/dist/collection/components/ptc-quote/ptc-quote.js +154 -154
  105. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.css +3 -3
  106. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.js +62 -62
  107. package/dist/collection/components/ptc-shopping-cart/ptc-shopping-cart.css +10 -5
  108. package/dist/collection/components/ptc-shopping-cart/ptc-shopping-cart.js +91 -69
  109. package/dist/collection/components/ptc-social-share/ptc-social-share.js +206 -206
  110. package/dist/collection/components/ptc-spacer/ptc-spacer.css +322 -322
  111. package/dist/collection/components/ptc-spacer/ptc-spacer.js +99 -99
  112. package/dist/collection/components/ptc-span/ptc-span.js +89 -89
  113. package/dist/collection/components/ptc-svg-btn/ptc-svg-btn.js +71 -71
  114. package/dist/collection/components/ptc-tab-list/ptc-tab-list.js +140 -140
  115. package/dist/collection/components/ptc-title/ptc-title.css +67 -35
  116. package/dist/collection/components/ptc-title/ptc-title.js +245 -236
  117. package/dist/collection/components/ptc-two-column-media/ptc-two-column-media.js +40 -40
  118. package/dist/collection/components/tab-content/tab-content.js +74 -74
  119. package/dist/collection/components/tab-header/tab-header.js +107 -107
  120. package/dist/collection/index.js +1 -1
  121. package/dist/collection/media/svg-imgs/Back-arrow.svg +11 -11
  122. package/dist/collection/media/svg-imgs/check-mark.svg +3 -0
  123. package/dist/collection/media/svg-imgs/close.svg +10 -10
  124. package/dist/collection/media/svg-imgs/ptc-shopping-cart-black.svg +3 -3
  125. package/dist/collection/media/svg-imgs/ptc-shopping-cart-white.svg +3 -3
  126. package/dist/collection/media/svg-imgs/slider-arrow-left.svg +18 -18
  127. package/dist/collection/media/svg-imgs/slider-arrow-right.svg +18 -18
  128. package/dist/collection/media/svg-imgs/union.svg +3 -0
  129. package/dist/collection/utils/component.js +3 -0
  130. package/dist/collection/utils/interfaces.js +11 -11
  131. package/dist/collection/utils/utils.js +3 -3
  132. package/dist/custom-elements/index.d.ts +30 -0
  133. package/dist/custom-elements/index.js +2809 -2349
  134. package/dist/esm/dropdown-item.entry.js +11 -11
  135. package/dist/esm/icon-asset_13.entry.js +742 -0
  136. package/dist/esm/{index-f64012bd.js → index-357497dc.js} +1 -1
  137. package/dist/esm/{interfaces-c1c73092.js → interfaces-7c0243be.js} +9 -9
  138. package/dist/esm/list-item.entry.js +20 -20
  139. package/dist/esm/loader.js +2 -2
  140. package/dist/esm/lottie-player.entry.js +355 -355
  141. package/dist/esm/my-component.entry.js +14 -14
  142. package/dist/esm/polyfills/core-js.js +0 -0
  143. package/dist/esm/polyfills/dom.js +0 -0
  144. package/dist/esm/polyfills/es5-html-element.js +0 -0
  145. package/dist/esm/polyfills/index.js +0 -0
  146. package/dist/esm/polyfills/system.js +0 -0
  147. package/dist/esm/ptc-accordion-item.entry.js +106 -0
  148. package/dist/esm/ptc-accordion.entry.js +45 -0
  149. package/dist/esm/ptc-announcement.entry.js +44 -0
  150. package/dist/esm/ptc-breadcrumb.entry.js +13 -13
  151. package/dist/esm/ptc-card-bottom.entry.js +32 -32
  152. package/dist/esm/ptc-card-content.entry.js +33 -33
  153. package/dist/esm/ptc-card-plm.entry.js +17 -17
  154. package/dist/esm/ptc-card.entry.js +70 -70
  155. package/dist/esm/ptc-date.entry.js +49 -49
  156. package/dist/esm/ptc-ellipsis-dropdown.entry.js +24 -24
  157. package/dist/esm/ptc-hero-footer-cta.entry.js +9 -9
  158. package/dist/esm/ptc-hero.entry.js +19 -19
  159. package/dist/esm/ptc-icon-list.entry.js +33 -33
  160. package/dist/esm/ptc-img_2.entry.js +170 -170
  161. package/dist/esm/ptc-list.entry.js +24 -24
  162. package/dist/esm/ptc-lottie.entry.js +13 -13
  163. package/dist/esm/ptc-minimized-footer.entry.js +9 -9
  164. package/dist/esm/ptc-minimized-header.entry.js +12 -12
  165. package/dist/esm/ptc-mobile-select.entry.js +70 -70
  166. package/dist/esm/ptc-nav-item.entry.js +84 -84
  167. package/dist/esm/ptc-nav.entry.js +9 -9
  168. package/dist/esm/ptc-pagenation.entry.js +107 -0
  169. package/dist/esm/ptc-picture.entry.js +170 -170
  170. package/dist/esm/ptc-previous-url.entry.js +9 -9
  171. package/dist/esm/ptc-pricing-block.entry.js +15 -15
  172. package/dist/esm/ptc-quote.entry.js +26 -26
  173. package/dist/esm/ptc-responsive-wrapper.entry.js +55 -55
  174. package/dist/esm/ptc-social-share.entry.js +65 -65
  175. package/dist/esm/ptc-span.entry.js +24 -24
  176. package/dist/esm/{ptc-announcement_2.entry.js → ptc-svg-btn.entry.js} +77 -118
  177. package/dist/esm/ptc-tab-list.entry.js +117 -117
  178. package/dist/esm/ptc-two-column-media.entry.js +15 -15
  179. package/dist/esm/ptcw-design.js +2 -2
  180. package/dist/esm/tab-content.entry.js +27 -27
  181. package/dist/esm/tab-header.entry.js +44 -44
  182. package/dist/ptcw-design/media/brands.svg +1381 -1381
  183. package/dist/ptcw-design/media/designer.svg +338 -327
  184. package/dist/ptcw-design/media/regular.svg +463 -463
  185. package/dist/ptcw-design/media/solid.svg +3013 -3013
  186. package/dist/ptcw-design/media/svg-with-js.min.css +4 -4
  187. package/dist/ptcw-design/{p-7448f767.entry.js → p-00c1c3ec.entry.js} +1 -1
  188. package/dist/ptcw-design/{p-e8a60227.js → p-0e571387.js} +1 -1
  189. package/dist/ptcw-design/p-0f17a4f0.entry.js +1 -0
  190. package/dist/ptcw-design/p-1884f74a.entry.js +1 -0
  191. package/dist/ptcw-design/p-246057c5.entry.js +1 -0
  192. package/dist/ptcw-design/{p-c3e79e54.entry.js → p-316d8eae.entry.js} +1 -1
  193. package/dist/ptcw-design/p-32ec2097.entry.js +1 -0
  194. package/dist/ptcw-design/p-45528270.entry.js +1 -0
  195. package/dist/ptcw-design/{p-3a41081a.entry.js → p-4a80df00.entry.js} +1 -1
  196. package/dist/ptcw-design/{p-8c6b8bc9.entry.js → p-59fd3cd2.entry.js} +1 -1
  197. package/dist/ptcw-design/{p-679b99ad.entry.js → p-6106d579.entry.js} +1 -1
  198. package/dist/ptcw-design/{p-18d0d10a.entry.js → p-66740e2e.entry.js} +1 -1
  199. package/dist/ptcw-design/{p-28174fbe.entry.js → p-689d91a7.entry.js} +1 -1
  200. package/dist/ptcw-design/{p-2b3a38c3.entry.js → p-68bcb24d.entry.js} +1 -1
  201. package/dist/ptcw-design/{p-796b4a16.entry.js → p-69581273.entry.js} +1 -1
  202. package/dist/ptcw-design/p-695f82bc.entry.js +1 -0
  203. package/dist/ptcw-design/{p-204a78ce.entry.js → p-737796bc.entry.js} +1 -1
  204. package/dist/ptcw-design/{p-5069bb7d.entry.js → p-74a72a40.entry.js} +1 -1
  205. package/dist/ptcw-design/{p-72e6a3f1.entry.js → p-7966413a.entry.js} +1 -1
  206. package/dist/ptcw-design/{p-c5bfb13d.entry.js → p-870d7171.entry.js} +1 -1
  207. package/dist/ptcw-design/{p-ee61991d.entry.js → p-91456c49.entry.js} +1 -1
  208. package/dist/ptcw-design/p-95f7e520.entry.js +1 -0
  209. package/dist/ptcw-design/{p-c13f31f6.entry.js → p-9e1fe694.entry.js} +1 -1
  210. package/dist/ptcw-design/{p-fe957cbf.entry.js → p-9e693f5e.entry.js} +1 -1
  211. package/dist/ptcw-design/{p-c5951736.entry.js → p-9ed142ce.entry.js} +1 -1
  212. package/dist/ptcw-design/{p-781aacb7.entry.js → p-9fe3e385.entry.js} +1 -1
  213. package/dist/ptcw-design/{p-0c86ac1a.entry.js → p-aa4f80c6.entry.js} +1 -1
  214. package/dist/ptcw-design/{p-612f7224.entry.js → p-adcbd7e1.entry.js} +1 -1
  215. package/dist/ptcw-design/{p-1cfc77eb.entry.js → p-b61d821b.entry.js} +1 -1
  216. package/dist/ptcw-design/{p-fa53e5e5.entry.js → p-beb569e6.entry.js} +1 -1
  217. package/dist/ptcw-design/{p-ec10f846.entry.js → p-c23a6ee1.entry.js} +1 -1
  218. package/dist/ptcw-design/{p-7bcc42e1.entry.js → p-cbf56b5e.entry.js} +1 -1
  219. package/dist/ptcw-design/p-cc18f13a.entry.js +1 -0
  220. package/dist/ptcw-design/{p-2a1808f8.entry.js → p-d0709a7c.entry.js} +1 -1
  221. package/dist/ptcw-design/{p-dbf3779e.entry.js → p-e4359c5a.entry.js} +1 -1
  222. package/dist/ptcw-design/p-e5b8fc3d.entry.js +1 -0
  223. package/dist/ptcw-design/{p-cec492a8.entry.js → p-ea8fa57b.entry.js} +1 -1
  224. package/dist/ptcw-design/{p-d64c3892.entry.js → p-ef64b508.entry.js} +1 -1
  225. package/dist/ptcw-design/{p-8ea08e1d.entry.js → p-f72ef3fc.entry.js} +1 -1
  226. package/dist/ptcw-design/{p-dc18ae76.entry.js → p-ff08fa6c.entry.js} +1 -1
  227. package/dist/ptcw-design/ptcw-design.css +2 -2
  228. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  229. package/dist/types/components/dropdown-item/dropdown-item.d.ts +5 -5
  230. package/dist/types/components/icon-asset/icon-asset.d.ts +36 -36
  231. package/dist/types/components/list-item/list-item.d.ts +8 -8
  232. package/dist/types/components/my-component/my-component.d.ts +16 -16
  233. package/dist/types/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.d.ts +59 -0
  234. package/dist/types/components/ptc-accordion/ptc-accordion.d.ts +13 -0
  235. package/dist/types/components/ptc-announcement/ptc-announcement.d.ts +43 -43
  236. package/dist/types/components/ptc-breadcrumb/ptc-breadcrumb.d.ts +4 -4
  237. package/dist/types/components/ptc-button/ptc-button.d.ts +56 -56
  238. package/dist/types/components/ptc-card/ptc-card.d.ts +54 -50
  239. package/dist/types/components/ptc-card-bottom/ptc-card-bottom.d.ts +15 -15
  240. package/dist/types/components/ptc-card-content/ptc-card-content.d.ts +15 -15
  241. package/dist/types/components/ptc-card-plm/ptc-card-plm.d.ts +8 -8
  242. package/dist/types/components/ptc-checkbox/ptc-checkbox.d.ts +11 -9
  243. package/dist/types/components/ptc-container/ptc-container.d.ts +12 -11
  244. package/dist/types/components/ptc-date/ptc-date.d.ts +41 -41
  245. package/dist/types/components/ptc-dropdown/ptc-dropdown.d.ts +18 -0
  246. package/dist/types/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.d.ts +10 -10
  247. package/dist/types/components/ptc-filter-tag/ptc-filter-tag.d.ts +11 -16
  248. package/dist/types/components/ptc-hero/ptc-hero.d.ts +12 -12
  249. package/dist/types/components/ptc-hero-footer-cta/ptc-hero-footer-cta.d.ts +6 -6
  250. package/dist/types/components/ptc-icon-list/ptc-icon-list.d.ts +21 -21
  251. package/dist/types/components/ptc-icon-minimize/ptc-icon-minimize.d.ts +9 -0
  252. package/dist/types/components/ptc-img/ptc-img.d.ts +51 -51
  253. package/dist/types/components/ptc-link/ptc-link.d.ts +36 -36
  254. package/dist/types/components/ptc-list/ptc-list.d.ts +6 -6
  255. package/dist/types/components/ptc-lottie/ptc-lottie.d.ts +12 -12
  256. package/dist/types/components/ptc-minimized-footer/ptc-minimized-footer.d.ts +3 -3
  257. package/dist/types/components/ptc-minimized-header/ptc-minimized-header.d.ts +6 -6
  258. package/dist/types/components/ptc-mobile-select/ptc-mobile-select.d.ts +40 -40
  259. package/dist/types/components/ptc-modal/ptc-modal.d.ts +55 -46
  260. package/dist/types/components/ptc-nav/ptc-nav.d.ts +3 -3
  261. package/dist/types/components/ptc-nav-item/ptc-nav-item.d.ts +53 -53
  262. package/dist/types/components/ptc-overlay/ptc-overlay.d.ts +20 -20
  263. package/dist/types/components/ptc-pagenation/ptc-pagenation.d.ts +25 -0
  264. package/dist/types/components/ptc-para/ptc-para.d.ts +28 -28
  265. package/dist/types/components/ptc-picture/ptc-picture.d.ts +93 -93
  266. package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +5 -5
  267. package/dist/types/components/ptc-pricing-block/ptc-pricing-block.d.ts +4 -4
  268. package/dist/types/components/ptc-quote/ptc-quote.d.ts +29 -29
  269. package/dist/types/components/ptc-responsive-wrapper/ptc-responsive-wrapper.d.ts +8 -8
  270. package/dist/types/components/ptc-shopping-cart/ptc-shopping-cart.d.ts +6 -6
  271. package/dist/types/components/ptc-social-share/ptc-social-share.d.ts +25 -25
  272. package/dist/types/components/ptc-spacer/ptc-spacer.d.ts +16 -16
  273. package/dist/types/components/ptc-span/ptc-span.d.ts +16 -16
  274. package/dist/types/components/ptc-svg-btn/ptc-svg-btn.d.ts +12 -12
  275. package/dist/types/components/ptc-tab-list/ptc-tab-list.d.ts +14 -14
  276. package/dist/types/components/ptc-title/ptc-title.d.ts +41 -41
  277. package/dist/types/components/ptc-two-column-media/ptc-two-column-media.d.ts +9 -9
  278. package/dist/types/components/tab-content/tab-content.d.ts +12 -12
  279. package/dist/types/components/tab-header/tab-header.d.ts +13 -13
  280. package/dist/types/components.d.ts +231 -49
  281. package/dist/types/global.d.ts +1072 -1072
  282. package/dist/types/index.d.ts +1 -1
  283. package/dist/types/utils/component.d.ts +1 -0
  284. package/dist/types/utils/interfaces.d.ts +28 -28
  285. package/dist/types/utils/utils.d.ts +1 -1
  286. package/package.json +59 -59
  287. package/readme.md +11 -11
  288. package/dist/cjs/icon-asset.cjs.entry.js +0 -64
  289. package/dist/cjs/ptc-button.cjs.entry.js +0 -76
  290. package/dist/cjs/ptc-checkbox.cjs.entry.js +0 -36
  291. package/dist/cjs/ptc-container.cjs.entry.js +0 -43
  292. package/dist/cjs/ptc-filter-tag.cjs.entry.js +0 -40
  293. package/dist/cjs/ptc-link.cjs.entry.js +0 -53
  294. package/dist/cjs/ptc-modal.cjs.entry.js +0 -117
  295. package/dist/cjs/ptc-para.cjs.entry.js +0 -50
  296. package/dist/cjs/ptc-shopping-cart.cjs.entry.js +0 -41
  297. package/dist/cjs/ptc-spacer.cjs.entry.js +0 -46
  298. package/dist/cjs/ptc-title.cjs.entry.js +0 -59
  299. package/dist/esm/icon-asset.entry.js +0 -60
  300. package/dist/esm/ptc-button.entry.js +0 -72
  301. package/dist/esm/ptc-checkbox.entry.js +0 -32
  302. package/dist/esm/ptc-container.entry.js +0 -39
  303. package/dist/esm/ptc-filter-tag.entry.js +0 -36
  304. package/dist/esm/ptc-link.entry.js +0 -49
  305. package/dist/esm/ptc-modal.entry.js +0 -113
  306. package/dist/esm/ptc-para.entry.js +0 -46
  307. package/dist/esm/ptc-shopping-cart.entry.js +0 -37
  308. package/dist/esm/ptc-spacer.entry.js +0 -42
  309. package/dist/esm/ptc-title.entry.js +0 -55
  310. package/dist/ptcw-design/p-279609f3.entry.js +0 -1
  311. package/dist/ptcw-design/p-412ca190.entry.js +0 -1
  312. package/dist/ptcw-design/p-49d34cb8.entry.js +0 -1
  313. package/dist/ptcw-design/p-7133275c.entry.js +0 -1
  314. package/dist/ptcw-design/p-90423b6f.entry.js +0 -1
  315. package/dist/ptcw-design/p-969c178b.entry.js +0 -1
  316. package/dist/ptcw-design/p-a9e7cd3e.entry.js +0 -1
  317. package/dist/ptcw-design/p-ab27089f.entry.js +0 -1
  318. package/dist/ptcw-design/p-b238d684.entry.js +0 -1
  319. package/dist/ptcw-design/p-b79303ef.entry.js +0 -1
  320. package/dist/ptcw-design/p-c69933fe.entry.js +0 -1
  321. package/dist/ptcw-design/p-cd7119b8.entry.js +0 -1
  322. package/dist/ptcw-design/p-d2ef4221.entry.js +0 -1
  323. package/dist/ptcw-design/p-df80470b.entry.js +0 -1
  324. package/dist/ptcw-design/p-f32f9817.entry.js +0 -1
  325. /package/dist/ptcw-design/{p-50e52c88.js → p-ee1183b2.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-f64012bd.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-357497dc.js';
2
2
  import { c as createCommonjsModule } from './_commonjsHelpers-8b28c6fa.js';
3
3
 
4
4
  var lottie_svg = createCommonjsModule(function (module) {
@@ -13100,360 +13100,360 @@ var PlayMode;
13100
13100
 
13101
13101
  const lottiePlayerCss = ":host{--lottie-player-toolbar-height:35px;--lottie-player-toolbar-background-color:transparent;--lottie-player-toolbar-icon-color:#999;--lottie-player-toolbar-icon-hover-color:#222;--lottie-player-toolbar-icon-active-color:#555;--lottie-player-seeker-track-color:#CCC;--lottie-player-seeker-thumb-color:rgba(0, 107, 120, 0.8);display:block;width:100%;height:100%}.main{box-sizing:border-box;display:inline-grid;grid-auto-columns:auto;grid-template-rows:auto;position:relative;height:inherit;width:inherit}.main.controls{grid-template-rows:1fr var(--lottie-player-toolbar-height)}.animation{overflow:hidden;height:calc(1fr - var(--lottie-player-toolbar-height))}.toolbar{display:grid;grid-template-columns:32px 32px 1fr 32px 32px;align-items:center;justify-items:center;background-color:var(--lottie-player-toolbar-background-color)}.toolbar button{cursor:pointer;fill:var(--lottie-player-toolbar-icon-color);display:flex;background:none;border:0;padding:0;outline:none;height:100%}.toolbar button:hover{fill:var(--lottie-player-toolbar-icon-hover-color)}.toolbar button.active{fill:var(--lottie-player-toolbar-icon-active-color)}.toolbar button.disabled svg{display:none}.toolbar a{filter:grayscale(100%);display:flex;transition:filter .5s, opacity 0.5s;opacity:0.4;height:100%;align-items:center}.toolbar a:hover{filter:none;display:flex;opacity:1}.seeker{-webkit-appearance:none;width:95%;outline:none}.seeker::-webkit-slider-runnable-track{width:100%;height:5px;cursor:pointer;background:var(--lottie-player-seeker-track-color);border-radius:3px}.seeker::-webkit-slider-thumb{height:15px;width:15px;border-radius:50%;background:var(--lottie-player-seeker-thumb-color);cursor:pointer;-webkit-appearance:none;margin-top:-5px}.seeker:focus::-webkit-slider-runnable-track{background:#999}.seeker::-moz-range-track{width:100%;height:5px;cursor:pointer;background:var(--lottie-player-seeker-track-color);border-radius:3px}.seeker::-moz-range-thumb{height:15px;width:15px;border-radius:50%;background:var(--lottie-player-seeker-thumb-color);cursor:pointer}.seeker::-ms-track{width:100%;height:5px;cursor:pointer;background:transparent;border-color:transparent;color:transparent}.seeker::-ms-fill-lower{background:var(--lottie-player-seeker-track-color);border-radius:3px}.seeker::-ms-fill-upper{background:var(--lottie-player-seeker-track-color);border-radius:3px}.seeker::-ms-thumb{border:0;height:15px;width:15px;border-radius:50%;background:var(--lottie-player-seeker-thumb-color);cursor:pointer}.seeker:focus::-ms-fill-lower{background:var(--lottie-player-seeker-track-color)}.seeker:focus::-ms-fill-upper{background:var(--lottie-player-seeker-track-color)}.error{display:flex;justify-content:center;height:100%;align-items:center}";
13102
13102
 
13103
- let LottiePlayer = class {
13104
- constructor(hostRef) {
13105
- registerInstance(this, hostRef);
13106
- this.error = createEvent(this, "error", 7);
13107
- this.frame = createEvent(this, "frame", 7);
13108
- this.complete = createEvent(this, "complete", 7);
13109
- this.looped = createEvent(this, "looped", 7);
13110
- this.ready = createEvent(this, "ready", 7);
13111
- this.loaded = createEvent(this, "loaded", 7);
13112
- this.playing = createEvent(this, "playing", 7);
13113
- this.paused = createEvent(this, "paused", 7);
13114
- this.stopped = createEvent(this, "stopped", 7);
13115
- this.freezed = createEvent(this, "freezed", 7);
13116
- /**
13117
- * Play mode.
13118
- */
13119
- this.mode = PlayMode.Normal;
13120
- /**
13121
- * Autoplay animation on load
13122
- */
13123
- this.autoplay = false;
13124
- /**
13125
- * Background color.
13126
- */
13127
- this.background = 'transparent';
13128
- /**
13129
- * Show controls.
13130
- */
13131
- this.controls = false;
13132
- /**
13133
- * Direction of animation
13134
- */
13135
- this.direction = 1;
13136
- /**
13137
- * Whether to play on mouse hover
13138
- */
13139
- this.hover = false;
13140
- /**
13141
- * Whether to loop animation
13142
- */
13143
- this.loop = false;
13144
- /**
13145
- * Renderer to use.
13146
- */
13147
- this.renderer = 'svg';
13148
- /**
13149
- * Animation speed.
13150
- */
13151
- this.speed = 1;
13152
- /**
13153
- * Player state.
13154
- */
13155
- this.currentState = PlayerState.Loading;
13156
- this.intermission = 1;
13157
- this._counter = 0;
13158
- }
13159
- componentDidLoad() {
13160
- // Add intersection observer for detecting component being out-of-view.
13161
- if ('IntersectionObserver' in window) {
13162
- this._io = new IntersectionObserver((entries) => {
13163
- if (entries[0].isIntersecting) {
13164
- if (this.currentState === PlayerState.Frozen) {
13165
- this.play();
13166
- }
13167
- }
13168
- else if (this.currentState === PlayerState.Playing) {
13169
- this.freeze();
13170
- }
13171
- });
13172
- this._io.observe(this.container);
13173
- }
13174
- // Add listener for Visibility API's change event.
13175
- if (typeof document.hidden !== 'undefined') {
13176
- document.addEventListener('visibilitychange', () => this.onVisibilityChange());
13177
- }
13178
- // Setup lottie player
13179
- if (this.src) {
13180
- this.load(this.src);
13181
- }
13182
- }
13183
- load(src) {
13184
- const options = {
13185
- container: this.container,
13186
- loop: false,
13187
- autoplay: false,
13188
- renderer: this.renderer,
13189
- rendererSettings: {
13190
- scaleMode: 'noScale',
13191
- clearCanvas: false,
13192
- progressiveLoad: true,
13193
- hideOnTransparent: true,
13194
- },
13195
- };
13196
- try {
13197
- const srcParsed = parseSrc(src);
13198
- const srcAttrib = typeof srcParsed === 'string' ? 'path' : 'animationData';
13199
- // Clear previous animation, if any
13200
- if (this._lottie) {
13201
- this._lottie.destroy();
13202
- }
13203
- // Initialize lottie player and load animation
13204
- this._lottie = lottie_svg.loadAnimation(Object.assign(Object.assign({}, options), { [srcAttrib]: srcParsed }));
13205
- }
13206
- catch (err) {
13207
- this.currentState = PlayerState.Error;
13208
- this.error.emit();
13209
- return;
13210
- }
13211
- if (this._lottie) {
13212
- // Calculate and save the current progress of the animation
13213
- this._lottie.addEventListener('enterFrame', () => {
13214
- this.seeker = (this._lottie.currentFrame / this._lottie.totalFrames) * 100;
13215
- this.frame.emit({
13216
- frame: this._lottie.currentFrame,
13217
- seeker: this.seeker
13218
- });
13219
- });
13220
- // Handle animation play complete
13221
- this._lottie.addEventListener('complete', () => {
13222
- if (this.currentState !== PlayerState.Playing) {
13223
- this.complete.emit();
13224
- return;
13225
- }
13226
- if (!this.loop || (this.count && this._counter >= this.count)) {
13227
- this.complete.emit();
13228
- return;
13229
- }
13230
- if (this.mode === PlayMode.Bounce) {
13231
- if (this.count) {
13232
- this._counter += 0.5;
13233
- }
13234
- setTimeout(() => {
13235
- this.looped.emit();
13236
- if (this.currentState === PlayerState.Playing) {
13237
- this._lottie.setDirection(this._lottie.playDirection * -1);
13238
- this._lottie.play();
13239
- }
13240
- }, this.intermission);
13241
- }
13242
- else {
13243
- if (this.count) {
13244
- this._counter += 1;
13245
- }
13246
- window.setTimeout(() => {
13247
- this.looped.emit();
13248
- if (this.currentState === PlayerState.Playing) {
13249
- this._lottie.stop();
13250
- this._lottie.play();
13251
- }
13252
- }, this.intermission);
13253
- }
13254
- });
13255
- // Handle lottie-web ready event
13256
- this._lottie.addEventListener('DOMLoaded', () => {
13257
- this.ready.emit();
13258
- });
13259
- // Handle animation data load complete
13260
- this._lottie.addEventListener('data_ready', () => {
13261
- this.loaded.emit();
13262
- });
13263
- // Set error state when animation load fail event triggers
13264
- this._lottie.addEventListener('data_failed', () => {
13265
- this.currentState = PlayerState.Error;
13266
- this.error.emit();
13267
- });
13268
- // Set handlers to auto play animation on hover if enabled
13269
- this.container.addEventListener('mouseenter', () => {
13270
- if (this.hover && this.currentState !== PlayerState.Playing) {
13271
- this.play();
13272
- }
13273
- });
13274
- this.container.addEventListener('mouseleave', () => {
13275
- if (this.hover && this.currentState === PlayerState.Playing) {
13276
- this.stop();
13277
- }
13278
- });
13279
- // Set initial playback speed and direction
13280
- this.setSpeed(this.speed);
13281
- this.setDirection(this.direction);
13282
- // Start playing if autoplay is enabled
13283
- if (this.autoplay) {
13284
- this.play();
13285
- }
13286
- }
13287
- }
13288
- /**
13289
- * Start playing animation.
13290
- */
13291
- async play() {
13292
- if (!this._lottie) {
13293
- return;
13294
- }
13295
- this._lottie.play();
13296
- this.currentState = PlayerState.Playing;
13297
- this.playing.emit();
13298
- }
13299
- /**
13300
- * Stop playing animation.
13301
- */
13302
- async pause() {
13303
- if (!this._lottie) {
13304
- return;
13305
- }
13306
- this._lottie.pause();
13307
- this.currentState = PlayerState.Paused;
13308
- this.paused.emit();
13309
- }
13310
- /**
13311
- * Stops animation play.
13312
- */
13313
- async stop() {
13314
- if (!this._lottie) {
13315
- return;
13316
- }
13317
- this._counter = 0;
13318
- this._lottie.stop();
13319
- this.currentState = PlayerState.Stopped;
13320
- this.stopped.emit();
13321
- }
13322
- /**
13323
- * Seek to a given frame.
13324
- */
13325
- async seek(value) {
13326
- if (!this._lottie) {
13327
- return;
13328
- }
13329
- // Extract frame number from either number or percentage value
13330
- const matches = value.toString().match(/^([0-9]+)(%?)$/);
13331
- if (!matches) {
13332
- return;
13333
- }
13334
- // Calculate and set the frame number
13335
- const frame = matches[2] === '%'
13336
- ? this._lottie.totalFrames * Number(matches[1]) / 100
13337
- : matches[1];
13338
- // Set seeker to new frame number
13339
- this.seeker = frame;
13340
- // Send lottie player to the new frame
13341
- if (this.currentState === PlayerState.Playing) {
13342
- this._lottie.goToAndPlay(frame, true);
13343
- }
13344
- else {
13345
- this._lottie.goToAndStop(frame, true);
13346
- this._lottie.pause();
13347
- }
13348
- }
13349
- /**
13350
- * Freeze animation play.
13351
- * This internal state pauses animation and is used to differentiate between
13352
- * user requested pauses and component instigated pauses.
13353
- */
13354
- freeze() {
13355
- if (!this._lottie) {
13356
- return;
13357
- }
13358
- this.currentState = PlayerState.Frozen;
13359
- this.freezed.emit();
13360
- }
13361
- async getLottie() {
13362
- return this._lottie;
13363
- }
13364
- /**
13365
- * Sets animation play speed
13366
- * @param value Playback speed.
13367
- */
13368
- async setSpeed(value = 1) {
13369
- if (!this._lottie) {
13370
- return;
13371
- }
13372
- this._lottie.setSpeed(value);
13373
- }
13374
- /**
13375
- * Animation play direction.
13376
- * @param value Direction values.
13377
- */
13378
- async setDirection(value) {
13379
- if (!this._lottie) {
13380
- return;
13381
- }
13382
- this._lottie.setDirection(value);
13383
- }
13384
- /**
13385
- * Sets the looping of the animation.
13386
- *
13387
- * @param value Whether to enable looping. Boolean true enables looping.
13388
- */
13389
- async setLooping(value) {
13390
- if (this._lottie) {
13391
- this.loop = value;
13392
- this._lottie.loop = value;
13393
- }
13394
- }
13395
- /**
13396
- * Toggle playing state.
13397
- */
13398
- async togglePlay() {
13399
- return this.currentState === PlayerState.Playing
13400
- ? this.pause()
13401
- : this.play();
13402
- }
13403
- /**
13404
- * Toggles animation looping.
13405
- */
13406
- async toggleLooping() {
13407
- this.setLooping(!this.loop);
13408
- }
13409
- renderButtonIcon(isPlaying) {
13410
- if (isPlaying) {
13411
- return (h("svg", { width: "24", height: "24" }, h("path", { d: "M14.016 5.016H18v13.969h-3.984V5.016zM6 18.984V5.015h3.984v13.969H6z" })));
13412
- }
13413
- return (h("svg", { width: "24", height: "24" }, h("path", { d: "M8.016 5.016L18.985 12 8.016 18.984V5.015z" })));
13414
- }
13415
- renderControls() {
13416
- const isPlaying = this.currentState === PlayerState.Playing;
13417
- const isPaused = this.currentState === PlayerState.Paused;
13418
- const isStopped = this.currentState === PlayerState.Stopped;
13419
- return (h("div", { class: 'toolbar' }, h("button", { class: {
13420
- active: isPlaying || isPaused
13421
- }, onClick: () => this.togglePlay() }, this.renderButtonIcon(isPlaying)), h("button", { class: {
13422
- active: isStopped
13423
- }, onClick: () => this.stop() }, h("svg", { width: "24", height: "24" }, h("path", { d: "M6 6h12v12H6V6z" }))), h("input", { class: "seeker", type: "range", min: "0", step: "1", max: "100", value: this.seeker, onInput: e => this.handleSeekChange(e), onMouseDown: () => { this._prevState = this.currentState; this.freeze(); }, onMouseUp: () => { this._prevState === PlayerState.Playing && this.play(); } }), h("button", { class: {
13424
- 'active': this.loop
13425
- }, onClick: () => this.toggleLooping() }, h("svg", { width: "24", height: "24" }, h("path", { d: "M17.016 17.016v-4.031h1.969v6h-12v3l-3.984-3.984 3.984-3.984v3h10.031zM6.984 6.984v4.031H5.015v-6h12v-3l3.984 3.984-3.984 3.984v-3H6.984z" }))), h("a", { href: "https://www.lottiefiles.com/", target: "_blank" }, h("svg", { width: "24", height: "24", viewBox: "0 0 320 320", "fill-rule": "nonzero" }, h("rect", { fill: "#adadad", x: ".5", y: ".5", width: "100%", height: "100%", rx: "26.73" }), h("path", { d: "M251.304 65.44a16.55 16.55 0 0 1 13.927 18.789c-1.333 9.04-9.73 15.292-18.762 13.954-15.992-2.37-39.95 22.534-66.77 73.74-34.24 65.37-66.113 96.517-99.667 94.032-9.102-.674-15.93-8.612-15.258-17.723s8.592-15.96 17.695-15.286c16.57 1.227 40.908-24.737 67.97-76.4 34.46-65.79 66.764-96.157 100.866-91.105z", fill: "#fff" })))));
13426
- }
13427
- render() {
13428
- return (h("div", { class: {
13429
- main: true,
13430
- controls: this.controls
13431
- } }, h("div", { class: "animation", style: {
13432
- background: this.background
13433
- }, ref: ref => this.container = ref }, this.currentState === PlayerState.Error ? h("div", { class: "error" }, "\u26A0\uFE0F") : undefined), this.controls ? this.renderControls() : undefined));
13434
- }
13435
- /**
13436
- * Handle visibility change events.
13437
- */
13438
- onVisibilityChange() {
13439
- if (document.hidden === true && this.currentState === PlayerState.Playing) {
13440
- this.freeze();
13441
- }
13442
- else if (this.currentState === PlayerState.Frozen) {
13443
- this.play();
13444
- }
13445
- }
13446
- /**
13447
- * Handles click and drag actions on the progress track.
13448
- */
13449
- handleSeekChange(e) {
13450
- if (!this._lottie || isNaN(e.target.value)) {
13451
- return;
13452
- }
13453
- const frame = ((e.target.value / 100) * this._lottie.totalFrames);
13454
- this.seek(frame);
13455
- }
13456
- };
13103
+ let LottiePlayer = class {
13104
+ constructor(hostRef) {
13105
+ registerInstance(this, hostRef);
13106
+ this.error = createEvent(this, "error", 7);
13107
+ this.frame = createEvent(this, "frame", 7);
13108
+ this.complete = createEvent(this, "complete", 7);
13109
+ this.looped = createEvent(this, "looped", 7);
13110
+ this.ready = createEvent(this, "ready", 7);
13111
+ this.loaded = createEvent(this, "loaded", 7);
13112
+ this.playing = createEvent(this, "playing", 7);
13113
+ this.paused = createEvent(this, "paused", 7);
13114
+ this.stopped = createEvent(this, "stopped", 7);
13115
+ this.freezed = createEvent(this, "freezed", 7);
13116
+ /**
13117
+ * Play mode.
13118
+ */
13119
+ this.mode = PlayMode.Normal;
13120
+ /**
13121
+ * Autoplay animation on load
13122
+ */
13123
+ this.autoplay = false;
13124
+ /**
13125
+ * Background color.
13126
+ */
13127
+ this.background = 'transparent';
13128
+ /**
13129
+ * Show controls.
13130
+ */
13131
+ this.controls = false;
13132
+ /**
13133
+ * Direction of animation
13134
+ */
13135
+ this.direction = 1;
13136
+ /**
13137
+ * Whether to play on mouse hover
13138
+ */
13139
+ this.hover = false;
13140
+ /**
13141
+ * Whether to loop animation
13142
+ */
13143
+ this.loop = false;
13144
+ /**
13145
+ * Renderer to use.
13146
+ */
13147
+ this.renderer = 'svg';
13148
+ /**
13149
+ * Animation speed.
13150
+ */
13151
+ this.speed = 1;
13152
+ /**
13153
+ * Player state.
13154
+ */
13155
+ this.currentState = PlayerState.Loading;
13156
+ this.intermission = 1;
13157
+ this._counter = 0;
13158
+ }
13159
+ componentDidLoad() {
13160
+ // Add intersection observer for detecting component being out-of-view.
13161
+ if ('IntersectionObserver' in window) {
13162
+ this._io = new IntersectionObserver((entries) => {
13163
+ if (entries[0].isIntersecting) {
13164
+ if (this.currentState === PlayerState.Frozen) {
13165
+ this.play();
13166
+ }
13167
+ }
13168
+ else if (this.currentState === PlayerState.Playing) {
13169
+ this.freeze();
13170
+ }
13171
+ });
13172
+ this._io.observe(this.container);
13173
+ }
13174
+ // Add listener for Visibility API's change event.
13175
+ if (typeof document.hidden !== 'undefined') {
13176
+ document.addEventListener('visibilitychange', () => this.onVisibilityChange());
13177
+ }
13178
+ // Setup lottie player
13179
+ if (this.src) {
13180
+ this.load(this.src);
13181
+ }
13182
+ }
13183
+ load(src) {
13184
+ const options = {
13185
+ container: this.container,
13186
+ loop: false,
13187
+ autoplay: false,
13188
+ renderer: this.renderer,
13189
+ rendererSettings: {
13190
+ scaleMode: 'noScale',
13191
+ clearCanvas: false,
13192
+ progressiveLoad: true,
13193
+ hideOnTransparent: true,
13194
+ },
13195
+ };
13196
+ try {
13197
+ const srcParsed = parseSrc(src);
13198
+ const srcAttrib = typeof srcParsed === 'string' ? 'path' : 'animationData';
13199
+ // Clear previous animation, if any
13200
+ if (this._lottie) {
13201
+ this._lottie.destroy();
13202
+ }
13203
+ // Initialize lottie player and load animation
13204
+ this._lottie = lottie_svg.loadAnimation(Object.assign(Object.assign({}, options), { [srcAttrib]: srcParsed }));
13205
+ }
13206
+ catch (err) {
13207
+ this.currentState = PlayerState.Error;
13208
+ this.error.emit();
13209
+ return;
13210
+ }
13211
+ if (this._lottie) {
13212
+ // Calculate and save the current progress of the animation
13213
+ this._lottie.addEventListener('enterFrame', () => {
13214
+ this.seeker = (this._lottie.currentFrame / this._lottie.totalFrames) * 100;
13215
+ this.frame.emit({
13216
+ frame: this._lottie.currentFrame,
13217
+ seeker: this.seeker
13218
+ });
13219
+ });
13220
+ // Handle animation play complete
13221
+ this._lottie.addEventListener('complete', () => {
13222
+ if (this.currentState !== PlayerState.Playing) {
13223
+ this.complete.emit();
13224
+ return;
13225
+ }
13226
+ if (!this.loop || (this.count && this._counter >= this.count)) {
13227
+ this.complete.emit();
13228
+ return;
13229
+ }
13230
+ if (this.mode === PlayMode.Bounce) {
13231
+ if (this.count) {
13232
+ this._counter += 0.5;
13233
+ }
13234
+ setTimeout(() => {
13235
+ this.looped.emit();
13236
+ if (this.currentState === PlayerState.Playing) {
13237
+ this._lottie.setDirection(this._lottie.playDirection * -1);
13238
+ this._lottie.play();
13239
+ }
13240
+ }, this.intermission);
13241
+ }
13242
+ else {
13243
+ if (this.count) {
13244
+ this._counter += 1;
13245
+ }
13246
+ window.setTimeout(() => {
13247
+ this.looped.emit();
13248
+ if (this.currentState === PlayerState.Playing) {
13249
+ this._lottie.stop();
13250
+ this._lottie.play();
13251
+ }
13252
+ }, this.intermission);
13253
+ }
13254
+ });
13255
+ // Handle lottie-web ready event
13256
+ this._lottie.addEventListener('DOMLoaded', () => {
13257
+ this.ready.emit();
13258
+ });
13259
+ // Handle animation data load complete
13260
+ this._lottie.addEventListener('data_ready', () => {
13261
+ this.loaded.emit();
13262
+ });
13263
+ // Set error state when animation load fail event triggers
13264
+ this._lottie.addEventListener('data_failed', () => {
13265
+ this.currentState = PlayerState.Error;
13266
+ this.error.emit();
13267
+ });
13268
+ // Set handlers to auto play animation on hover if enabled
13269
+ this.container.addEventListener('mouseenter', () => {
13270
+ if (this.hover && this.currentState !== PlayerState.Playing) {
13271
+ this.play();
13272
+ }
13273
+ });
13274
+ this.container.addEventListener('mouseleave', () => {
13275
+ if (this.hover && this.currentState === PlayerState.Playing) {
13276
+ this.stop();
13277
+ }
13278
+ });
13279
+ // Set initial playback speed and direction
13280
+ this.setSpeed(this.speed);
13281
+ this.setDirection(this.direction);
13282
+ // Start playing if autoplay is enabled
13283
+ if (this.autoplay) {
13284
+ this.play();
13285
+ }
13286
+ }
13287
+ }
13288
+ /**
13289
+ * Start playing animation.
13290
+ */
13291
+ async play() {
13292
+ if (!this._lottie) {
13293
+ return;
13294
+ }
13295
+ this._lottie.play();
13296
+ this.currentState = PlayerState.Playing;
13297
+ this.playing.emit();
13298
+ }
13299
+ /**
13300
+ * Stop playing animation.
13301
+ */
13302
+ async pause() {
13303
+ if (!this._lottie) {
13304
+ return;
13305
+ }
13306
+ this._lottie.pause();
13307
+ this.currentState = PlayerState.Paused;
13308
+ this.paused.emit();
13309
+ }
13310
+ /**
13311
+ * Stops animation play.
13312
+ */
13313
+ async stop() {
13314
+ if (!this._lottie) {
13315
+ return;
13316
+ }
13317
+ this._counter = 0;
13318
+ this._lottie.stop();
13319
+ this.currentState = PlayerState.Stopped;
13320
+ this.stopped.emit();
13321
+ }
13322
+ /**
13323
+ * Seek to a given frame.
13324
+ */
13325
+ async seek(value) {
13326
+ if (!this._lottie) {
13327
+ return;
13328
+ }
13329
+ // Extract frame number from either number or percentage value
13330
+ const matches = value.toString().match(/^([0-9]+)(%?)$/);
13331
+ if (!matches) {
13332
+ return;
13333
+ }
13334
+ // Calculate and set the frame number
13335
+ const frame = matches[2] === '%'
13336
+ ? this._lottie.totalFrames * Number(matches[1]) / 100
13337
+ : matches[1];
13338
+ // Set seeker to new frame number
13339
+ this.seeker = frame;
13340
+ // Send lottie player to the new frame
13341
+ if (this.currentState === PlayerState.Playing) {
13342
+ this._lottie.goToAndPlay(frame, true);
13343
+ }
13344
+ else {
13345
+ this._lottie.goToAndStop(frame, true);
13346
+ this._lottie.pause();
13347
+ }
13348
+ }
13349
+ /**
13350
+ * Freeze animation play.
13351
+ * This internal state pauses animation and is used to differentiate between
13352
+ * user requested pauses and component instigated pauses.
13353
+ */
13354
+ freeze() {
13355
+ if (!this._lottie) {
13356
+ return;
13357
+ }
13358
+ this.currentState = PlayerState.Frozen;
13359
+ this.freezed.emit();
13360
+ }
13361
+ async getLottie() {
13362
+ return this._lottie;
13363
+ }
13364
+ /**
13365
+ * Sets animation play speed
13366
+ * @param value Playback speed.
13367
+ */
13368
+ async setSpeed(value = 1) {
13369
+ if (!this._lottie) {
13370
+ return;
13371
+ }
13372
+ this._lottie.setSpeed(value);
13373
+ }
13374
+ /**
13375
+ * Animation play direction.
13376
+ * @param value Direction values.
13377
+ */
13378
+ async setDirection(value) {
13379
+ if (!this._lottie) {
13380
+ return;
13381
+ }
13382
+ this._lottie.setDirection(value);
13383
+ }
13384
+ /**
13385
+ * Sets the looping of the animation.
13386
+ *
13387
+ * @param value Whether to enable looping. Boolean true enables looping.
13388
+ */
13389
+ async setLooping(value) {
13390
+ if (this._lottie) {
13391
+ this.loop = value;
13392
+ this._lottie.loop = value;
13393
+ }
13394
+ }
13395
+ /**
13396
+ * Toggle playing state.
13397
+ */
13398
+ async togglePlay() {
13399
+ return this.currentState === PlayerState.Playing
13400
+ ? this.pause()
13401
+ : this.play();
13402
+ }
13403
+ /**
13404
+ * Toggles animation looping.
13405
+ */
13406
+ async toggleLooping() {
13407
+ this.setLooping(!this.loop);
13408
+ }
13409
+ renderButtonIcon(isPlaying) {
13410
+ if (isPlaying) {
13411
+ return (h("svg", { width: "24", height: "24" }, h("path", { d: "M14.016 5.016H18v13.969h-3.984V5.016zM6 18.984V5.015h3.984v13.969H6z" })));
13412
+ }
13413
+ return (h("svg", { width: "24", height: "24" }, h("path", { d: "M8.016 5.016L18.985 12 8.016 18.984V5.015z" })));
13414
+ }
13415
+ renderControls() {
13416
+ const isPlaying = this.currentState === PlayerState.Playing;
13417
+ const isPaused = this.currentState === PlayerState.Paused;
13418
+ const isStopped = this.currentState === PlayerState.Stopped;
13419
+ return (h("div", { class: 'toolbar' }, h("button", { class: {
13420
+ active: isPlaying || isPaused
13421
+ }, onClick: () => this.togglePlay() }, this.renderButtonIcon(isPlaying)), h("button", { class: {
13422
+ active: isStopped
13423
+ }, onClick: () => this.stop() }, h("svg", { width: "24", height: "24" }, h("path", { d: "M6 6h12v12H6V6z" }))), h("input", { class: "seeker", type: "range", min: "0", step: "1", max: "100", value: this.seeker, onInput: e => this.handleSeekChange(e), onMouseDown: () => { this._prevState = this.currentState; this.freeze(); }, onMouseUp: () => { this._prevState === PlayerState.Playing && this.play(); } }), h("button", { class: {
13424
+ 'active': this.loop
13425
+ }, onClick: () => this.toggleLooping() }, h("svg", { width: "24", height: "24" }, h("path", { d: "M17.016 17.016v-4.031h1.969v6h-12v3l-3.984-3.984 3.984-3.984v3h10.031zM6.984 6.984v4.031H5.015v-6h12v-3l3.984 3.984-3.984 3.984v-3H6.984z" }))), h("a", { href: "https://www.lottiefiles.com/", target: "_blank" }, h("svg", { width: "24", height: "24", viewBox: "0 0 320 320", "fill-rule": "nonzero" }, h("rect", { fill: "#adadad", x: ".5", y: ".5", width: "100%", height: "100%", rx: "26.73" }), h("path", { d: "M251.304 65.44a16.55 16.55 0 0 1 13.927 18.789c-1.333 9.04-9.73 15.292-18.762 13.954-15.992-2.37-39.95 22.534-66.77 73.74-34.24 65.37-66.113 96.517-99.667 94.032-9.102-.674-15.93-8.612-15.258-17.723s8.592-15.96 17.695-15.286c16.57 1.227 40.908-24.737 67.97-76.4 34.46-65.79 66.764-96.157 100.866-91.105z", fill: "#fff" })))));
13426
+ }
13427
+ render() {
13428
+ return (h("div", { class: {
13429
+ main: true,
13430
+ controls: this.controls
13431
+ } }, h("div", { class: "animation", style: {
13432
+ background: this.background
13433
+ }, ref: ref => this.container = ref }, this.currentState === PlayerState.Error ? h("div", { class: "error" }, "\u26A0\uFE0F") : undefined), this.controls ? this.renderControls() : undefined));
13434
+ }
13435
+ /**
13436
+ * Handle visibility change events.
13437
+ */
13438
+ onVisibilityChange() {
13439
+ if (document.hidden === true && this.currentState === PlayerState.Playing) {
13440
+ this.freeze();
13441
+ }
13442
+ else if (this.currentState === PlayerState.Frozen) {
13443
+ this.play();
13444
+ }
13445
+ }
13446
+ /**
13447
+ * Handles click and drag actions on the progress track.
13448
+ */
13449
+ handleSeekChange(e) {
13450
+ if (!this._lottie || isNaN(e.target.value)) {
13451
+ return;
13452
+ }
13453
+ const frame = ((e.target.value / 100) * this._lottie.totalFrames);
13454
+ this.seek(frame);
13455
+ }
13456
+ };
13457
13457
  LottiePlayer.style = lottiePlayerCss;
13458
13458
 
13459
13459
  export { LottiePlayer as lottie_player };