@ptcwebops/ptcw-design 0.8.3 → 0.8.6

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 (360) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/dropdown-item.cjs.entry.js +11 -11
  3. package/dist/cjs/icon-asset.cjs.entry.js +44 -44
  4. package/dist/cjs/{index-8745a0a3.js → index-c27e52b2.js} +39 -1
  5. package/dist/cjs/list-item.cjs.entry.js +20 -20
  6. package/dist/cjs/loader.cjs.js +4 -3
  7. package/dist/cjs/lottie-player.cjs.entry.js +16724 -13413
  8. package/dist/cjs/max-width-container.cjs.entry.js +40 -0
  9. package/dist/cjs/my-component.cjs.entry.js +16 -16
  10. package/dist/cjs/ptc-accordion-item.cjs.entry.js +84 -84
  11. package/dist/cjs/ptc-accordion.cjs.entry.js +36 -36
  12. package/dist/cjs/ptc-announcement.cjs.entry.js +51 -52
  13. package/dist/cjs/ptc-breadcrumb.cjs.entry.js +13 -13
  14. package/dist/cjs/ptc-button.cjs.entry.js +34 -35
  15. package/dist/cjs/ptc-card-bottom.cjs.entry.js +37 -37
  16. package/dist/cjs/ptc-card-content.cjs.entry.js +51 -41
  17. package/dist/cjs/ptc-card-wrapper.cjs.entry.js +69 -36
  18. package/dist/cjs/ptc-card_6.cjs.entry.js +444 -456
  19. package/dist/cjs/ptc-checkbox.cjs.entry.js +34 -34
  20. package/dist/cjs/ptc-collapse-list.cjs.entry.js +347 -347
  21. package/dist/cjs/ptc-container.cjs.entry.js +33 -33
  22. package/dist/cjs/ptc-dropdown.cjs.entry.js +65 -65
  23. package/dist/cjs/ptc-dynamic-card.cjs.entry.js +47 -48
  24. package/dist/cjs/ptc-ellipsis-dropdown.cjs.entry.js +39 -39
  25. package/dist/cjs/ptc-filter-tag.cjs.entry.js +58 -58
  26. package/dist/cjs/ptc-hero-footer-cta.cjs.entry.js +12 -12
  27. package/dist/cjs/ptc-hero.cjs.entry.js +19 -19
  28. package/dist/cjs/ptc-icon-list.cjs.entry.js +22 -22
  29. package/dist/cjs/ptc-icon-minimize.cjs.entry.js +37 -37
  30. package/dist/cjs/ptc-link.cjs.entry.js +30 -30
  31. package/dist/cjs/ptc-list.cjs.entry.js +50 -51
  32. package/dist/cjs/ptc-lottie.cjs.entry.js +11 -11
  33. package/dist/cjs/ptc-media-card.cjs.entry.js +32 -0
  34. package/dist/cjs/ptc-minimized-footer.cjs.entry.js +9 -9
  35. package/dist/cjs/ptc-minimized-header.cjs.entry.js +12 -12
  36. package/dist/cjs/ptc-mobile-select.cjs.entry.js +472 -767
  37. package/dist/cjs/ptc-modal.cjs.entry.js +144 -144
  38. package/dist/cjs/ptc-overlay.cjs.entry.js +25 -22
  39. package/dist/cjs/ptc-pagenation.cjs.entry.js +106 -106
  40. package/dist/cjs/ptc-previous-url.cjs.entry.js +11 -11
  41. package/dist/cjs/ptc-pricing-block.cjs.entry.js +17 -17
  42. package/dist/cjs/ptc-quote.cjs.entry.js +24 -24
  43. package/dist/cjs/ptc-readmore_2.cjs.entry.js +106 -62
  44. package/dist/cjs/ptc-responsive-wrapper.cjs.entry.js +55 -55
  45. package/dist/cjs/ptc-shopping-cart.cjs.entry.js +51 -51
  46. package/dist/cjs/ptc-social-share.cjs.entry.js +60 -60
  47. package/dist/cjs/ptc-span.cjs.entry.js +20 -20
  48. package/dist/cjs/ptc-sticky-icons.cjs.entry.js +33 -33
  49. package/dist/cjs/ptc-svg-btn.cjs.entry.js +74 -74
  50. package/dist/cjs/ptc-tab-list.cjs.entry.js +125 -125
  51. package/dist/cjs/ptc-text-copy-with-background.cjs.entry.js +27 -22
  52. package/dist/cjs/ptc-title.cjs.entry.js +69 -67
  53. package/dist/cjs/ptc-two-column-media.cjs.entry.js +16 -16
  54. package/dist/cjs/ptcw-design.cjs.js +7 -3
  55. package/dist/cjs/tab-content.cjs.entry.js +28 -28
  56. package/dist/cjs/tab-header.cjs.entry.js +46 -46
  57. package/dist/cjs/{utils-2ac2a528.js → utils-5245e89c.js} +79 -79
  58. package/dist/collection/collection-manifest.json +4 -2
  59. package/dist/collection/components/dropdown-item/dropdown-item.js +61 -61
  60. package/dist/collection/components/icon-asset/icon-asset.css +6 -6
  61. package/dist/collection/components/icon-asset/icon-asset.js +199 -199
  62. package/dist/collection/components/icon-asset/media/brands.svg +1381 -1381
  63. package/dist/collection/components/icon-asset/media/designer.svg +379 -379
  64. package/dist/collection/components/icon-asset/media/regular.svg +463 -463
  65. package/dist/collection/components/icon-asset/media/solid.svg +3013 -3013
  66. package/dist/collection/components/icon-asset/media/svg-with-js.min.css +4 -4
  67. package/dist/collection/components/list-item/list-item.js +107 -107
  68. package/dist/collection/components/max-width-container/max-width-container.css +7 -0
  69. package/dist/collection/components/max-width-container/max-width-container.js +80 -0
  70. package/dist/collection/components/my-component/my-component.css +3 -3
  71. package/dist/collection/components/my-component/my-component.js +82 -82
  72. package/dist/collection/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.js +287 -287
  73. package/dist/collection/components/ptc-accordion/ptc-accordion.js +78 -78
  74. package/dist/collection/components/ptc-announcement/ptc-announcement.js +238 -239
  75. package/dist/collection/components/ptc-breadcrumb/ptc-breadcrumb.js +22 -22
  76. package/dist/collection/components/ptc-button/ptc-button.js +263 -264
  77. package/dist/collection/components/ptc-card/ptc-card.css +1 -1
  78. package/dist/collection/components/ptc-card/ptc-card.js +344 -344
  79. package/dist/collection/components/ptc-card-bottom/ptc-card-bottom.css +27 -4
  80. package/dist/collection/components/ptc-card-bottom/ptc-card-bottom.js +116 -116
  81. package/dist/collection/components/ptc-card-content/ptc-card-content.css +11 -2
  82. package/dist/collection/components/ptc-card-content/ptc-card-content.js +186 -137
  83. package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.js +193 -151
  84. package/dist/collection/components/ptc-checkbox/ptc-checkbox.js +118 -118
  85. package/dist/collection/components/ptc-collapse-list/ptc-collapse-list.js +586 -586
  86. package/dist/collection/components/ptc-container/ptc-container.js +120 -120
  87. package/dist/collection/components/ptc-date/ptc-date.js +190 -190
  88. package/dist/collection/components/ptc-dropdown/ptc-dropdown.js +162 -162
  89. package/dist/collection/components/ptc-dynamic-card/media/nav-active-dotslick.svg +15 -15
  90. package/dist/collection/components/ptc-dynamic-card/ptc-dynamic-card.js +182 -183
  91. package/dist/collection/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.js +122 -122
  92. package/dist/collection/components/ptc-filter-tag/ptc-filter-tag.js +113 -113
  93. package/dist/collection/components/ptc-hero/ptc-hero.js +86 -86
  94. package/dist/collection/components/ptc-hero-footer-cta/ptc-hero-footer-cta.js +78 -78
  95. package/dist/collection/components/ptc-icon-list/ptc-icon-list.js +127 -127
  96. package/dist/collection/components/ptc-icon-minimize/ptc-icon-minimize.js +87 -87
  97. package/dist/collection/components/ptc-img/ptc-img.js +293 -296
  98. package/dist/collection/components/ptc-link/ptc-link.css +4 -0
  99. package/dist/collection/components/ptc-link/ptc-link.js +203 -203
  100. package/dist/collection/components/ptc-list/ptc-list.js +99 -100
  101. package/dist/collection/components/ptc-lottie/ptc-lottie.css +5 -5
  102. package/dist/collection/components/ptc-lottie/ptc-lottie.js +62 -62
  103. package/dist/collection/components/ptc-media-card/ptc-media-card.css +57 -0
  104. package/dist/collection/components/ptc-media-card/ptc-media-card.js +213 -0
  105. package/dist/collection/components/ptc-minimized-footer/ptc-minimized-footer.js +18 -18
  106. package/dist/collection/components/ptc-minimized-header/ptc-minimized-header.js +81 -81
  107. package/dist/collection/components/ptc-mobile-select/ptc-mobile-select.css +41 -32
  108. package/dist/collection/components/ptc-mobile-select/ptc-mobile-select.js +190 -190
  109. package/dist/collection/components/ptc-modal/ptc-modal.js +347 -347
  110. package/dist/collection/components/ptc-overlay/ptc-overlay.css +24 -0
  111. package/dist/collection/components/ptc-overlay/ptc-overlay.js +131 -105
  112. package/dist/collection/components/ptc-pagenation/ptc-pagenation.js +322 -322
  113. package/dist/collection/components/ptc-para/ptc-para.js +224 -232
  114. package/dist/collection/components/ptc-picture/ptc-picture.js +450 -452
  115. package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +60 -60
  116. package/dist/collection/components/ptc-pricing-block/ptc-pricing-block.js +49 -49
  117. package/dist/collection/components/ptc-quote/ptc-quote.js +144 -144
  118. package/dist/collection/components/ptc-readmore/ptc-readmore.css +58 -3
  119. package/dist/collection/components/ptc-readmore/ptc-readmore.js +277 -129
  120. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.css +3 -3
  121. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.js +65 -65
  122. package/dist/collection/components/ptc-shopping-cart/ptc-shopping-cart.js +97 -97
  123. package/dist/collection/components/ptc-social-share/ptc-social-share.js +239 -239
  124. package/dist/collection/components/ptc-spacer/ptc-spacer.css +332 -322
  125. package/dist/collection/components/ptc-spacer/ptc-spacer.js +97 -96
  126. package/dist/collection/components/ptc-span/ptc-span.css +7 -0
  127. package/dist/collection/components/ptc-span/ptc-span.js +87 -87
  128. package/dist/collection/components/ptc-sticky-icons/ptc-sticky-icons.js +51 -51
  129. package/dist/collection/components/ptc-svg-btn/ptc-svg-btn.js +72 -72
  130. package/dist/collection/components/ptc-tab-list/ptc-tab-list.js +155 -155
  131. package/dist/collection/components/ptc-text-copy-with-background/ptc-text-copy-with-background.css +153 -2
  132. package/dist/collection/components/ptc-text-copy-with-background/ptc-text-copy-with-background.js +164 -123
  133. package/dist/collection/components/ptc-title/ptc-title.css +20 -3
  134. package/dist/collection/components/ptc-title/ptc-title.js +310 -291
  135. package/dist/collection/components/ptc-tooltip/ptc-tooltip.css +10 -0
  136. package/dist/collection/components/ptc-tooltip/ptc-tooltip.js +204 -153
  137. package/dist/collection/components/ptc-two-column-media/ptc-two-column-media.js +48 -48
  138. package/dist/collection/components/tab-content/tab-content.js +84 -84
  139. package/dist/collection/components/tab-header/tab-header.js +136 -136
  140. package/dist/collection/index.js +1 -1
  141. package/dist/collection/media/svg-imgs/Back-arrow.svg +11 -11
  142. package/dist/collection/media/svg-imgs/close.svg +10 -10
  143. package/dist/collection/media/svg-imgs/ptc-shopping-cart-black.svg +3 -3
  144. package/dist/collection/media/svg-imgs/ptc-shopping-cart-white.svg +3 -3
  145. package/dist/collection/media/svg-imgs/slider-arrow-left.svg +18 -18
  146. package/dist/collection/media/svg-imgs/slider-arrow-right.svg +18 -18
  147. package/dist/collection/media/svg-imgs/union.svg +3 -3
  148. package/dist/collection/utils/component.js +3 -3
  149. package/dist/collection/utils/interfaces.js +11 -11
  150. package/dist/collection/utils/utils.js +81 -81
  151. package/dist/custom-elements/index.d.ts +12 -0
  152. package/dist/custom-elements/index.js +20160 -17009
  153. package/dist/esm/dropdown-item.entry.js +11 -11
  154. package/dist/esm/icon-asset.entry.js +44 -44
  155. package/dist/esm/{index-0c73b51e.js → index-40bc29fc.js} +39 -2
  156. package/dist/esm/list-item.entry.js +20 -20
  157. package/dist/esm/loader.js +4 -3
  158. package/dist/esm/lottie-player.entry.js +16724 -13413
  159. package/dist/esm/max-width-container.entry.js +36 -0
  160. package/dist/esm/my-component.entry.js +16 -16
  161. package/dist/esm/polyfills/core-js.js +0 -0
  162. package/dist/esm/polyfills/css-shim.js +1 -1
  163. package/dist/esm/polyfills/dom.js +0 -0
  164. package/dist/esm/polyfills/es5-html-element.js +0 -0
  165. package/dist/esm/polyfills/index.js +0 -0
  166. package/dist/esm/polyfills/system.js +0 -0
  167. package/dist/esm/ptc-accordion-item.entry.js +84 -84
  168. package/dist/esm/ptc-accordion.entry.js +36 -36
  169. package/dist/esm/ptc-announcement.entry.js +51 -52
  170. package/dist/esm/ptc-breadcrumb.entry.js +13 -13
  171. package/dist/esm/ptc-button.entry.js +34 -35
  172. package/dist/esm/ptc-card-bottom.entry.js +37 -37
  173. package/dist/esm/ptc-card-content.entry.js +51 -41
  174. package/dist/esm/ptc-card-wrapper.entry.js +69 -36
  175. package/dist/esm/ptc-card_6.entry.js +444 -456
  176. package/dist/esm/ptc-checkbox.entry.js +34 -34
  177. package/dist/esm/ptc-collapse-list.entry.js +347 -347
  178. package/dist/esm/ptc-container.entry.js +33 -33
  179. package/dist/esm/ptc-dropdown.entry.js +65 -65
  180. package/dist/esm/ptc-dynamic-card.entry.js +47 -48
  181. package/dist/esm/ptc-ellipsis-dropdown.entry.js +39 -39
  182. package/dist/esm/ptc-filter-tag.entry.js +58 -58
  183. package/dist/esm/ptc-hero-footer-cta.entry.js +12 -12
  184. package/dist/esm/ptc-hero.entry.js +19 -19
  185. package/dist/esm/ptc-icon-list.entry.js +22 -22
  186. package/dist/esm/ptc-icon-minimize.entry.js +37 -37
  187. package/dist/esm/ptc-link.entry.js +30 -30
  188. package/dist/esm/ptc-list.entry.js +50 -51
  189. package/dist/esm/ptc-lottie.entry.js +11 -11
  190. package/dist/esm/ptc-media-card.entry.js +28 -0
  191. package/dist/esm/ptc-minimized-footer.entry.js +9 -9
  192. package/dist/esm/ptc-minimized-header.entry.js +12 -12
  193. package/dist/esm/ptc-mobile-select.entry.js +472 -767
  194. package/dist/esm/ptc-modal.entry.js +144 -144
  195. package/dist/esm/ptc-overlay.entry.js +25 -22
  196. package/dist/esm/ptc-pagenation.entry.js +106 -106
  197. package/dist/esm/ptc-previous-url.entry.js +11 -11
  198. package/dist/esm/ptc-pricing-block.entry.js +17 -17
  199. package/dist/esm/ptc-quote.entry.js +24 -24
  200. package/dist/esm/ptc-readmore_2.entry.js +106 -62
  201. package/dist/esm/ptc-responsive-wrapper.entry.js +55 -55
  202. package/dist/esm/ptc-shopping-cart.entry.js +51 -51
  203. package/dist/esm/ptc-social-share.entry.js +60 -60
  204. package/dist/esm/ptc-span.entry.js +20 -20
  205. package/dist/esm/ptc-sticky-icons.entry.js +33 -33
  206. package/dist/esm/ptc-svg-btn.entry.js +74 -74
  207. package/dist/esm/ptc-tab-list.entry.js +125 -125
  208. package/dist/esm/ptc-text-copy-with-background.entry.js +27 -22
  209. package/dist/esm/ptc-title.entry.js +69 -67
  210. package/dist/esm/ptc-two-column-media.entry.js +16 -16
  211. package/dist/esm/ptcw-design.js +4 -3
  212. package/dist/esm/tab-content.entry.js +28 -28
  213. package/dist/esm/tab-header.entry.js +46 -46
  214. package/dist/esm/{utils-2dbb41dc.js → utils-646cc62f.js} +79 -79
  215. package/dist/ptcw-design/media/brands.svg +1381 -1381
  216. package/dist/ptcw-design/media/designer.svg +379 -379
  217. package/dist/ptcw-design/media/nav-active-dotslick.svg +15 -15
  218. package/dist/ptcw-design/media/regular.svg +463 -463
  219. package/dist/ptcw-design/media/solid.svg +3013 -3013
  220. package/dist/ptcw-design/media/svg-with-js.min.css +4 -4
  221. package/dist/ptcw-design/{p-1964f1f4.entry.js → p-001a0b9f.entry.js} +1 -1
  222. package/dist/ptcw-design/{p-14d6a40c.entry.js → p-0099616c.entry.js} +1 -1
  223. package/dist/ptcw-design/{p-5d585b54.entry.js → p-013f5355.entry.js} +1 -1
  224. package/dist/ptcw-design/p-048502c2.entry.js +1 -0
  225. package/dist/ptcw-design/{p-f2cb8bc4.entry.js → p-049964f4.entry.js} +1 -1
  226. package/dist/ptcw-design/{p-c4e20f99.entry.js → p-0f937cff.entry.js} +1 -1
  227. package/dist/ptcw-design/{p-8637cefc.entry.js → p-13b0d8c3.entry.js} +1 -1
  228. package/dist/ptcw-design/{p-e6ce8733.entry.js → p-159d9a80.entry.js} +1 -1
  229. package/dist/ptcw-design/{p-97e00dfa.entry.js → p-1def8f3c.entry.js} +1 -1
  230. package/dist/ptcw-design/p-1e92301d.entry.js +1 -0
  231. package/dist/ptcw-design/p-2ac518f1.entry.js +1 -0
  232. package/dist/ptcw-design/{p-8bb41e7c.entry.js → p-2cc97b88.entry.js} +1 -1
  233. package/dist/ptcw-design/{p-2aeb4687.entry.js → p-2de0f980.entry.js} +1 -1
  234. package/dist/ptcw-design/{p-d56b953e.entry.js → p-2eb5ef88.entry.js} +1 -1
  235. package/dist/ptcw-design/p-30007bf3.entry.js +1 -0
  236. package/dist/ptcw-design/{p-82472007.entry.js → p-31fbba12.entry.js} +1 -1
  237. package/dist/ptcw-design/{p-e75dc9f4.entry.js → p-31ffd030.entry.js} +1 -1
  238. package/dist/ptcw-design/{p-adcc9906.entry.js → p-329cc205.entry.js} +1 -1
  239. package/dist/ptcw-design/{p-4da43d5f.entry.js → p-34db9e46.entry.js} +1 -1
  240. package/dist/ptcw-design/p-446df289.entry.js +1 -0
  241. package/dist/ptcw-design/p-450e9eb0.entry.js +1 -0
  242. package/dist/ptcw-design/p-4fbef630.entry.js +1 -0
  243. package/dist/ptcw-design/{p-6131b9a1.entry.js → p-50c88717.entry.js} +1 -1
  244. package/dist/ptcw-design/{p-5bb7354a.entry.js → p-51db2e2e.entry.js} +1 -1
  245. package/dist/ptcw-design/{p-a749c353.entry.js → p-586d9c9d.entry.js} +1 -1
  246. package/dist/ptcw-design/{p-00c1343b.entry.js → p-5c295f08.entry.js} +1 -1
  247. package/dist/ptcw-design/{p-867c711f.entry.js → p-5dc89a74.entry.js} +1 -1
  248. package/dist/ptcw-design/{p-c3f73953.entry.js → p-62cabff9.entry.js} +1 -1
  249. package/dist/ptcw-design/{p-1b0d15aa.entry.js → p-63fab352.entry.js} +1 -1
  250. package/dist/ptcw-design/{p-6065a1d1.entry.js → p-673121e2.entry.js} +1 -1
  251. package/dist/ptcw-design/p-679be000.entry.js +1 -0
  252. package/dist/ptcw-design/p-67a9ed01.entry.js +1 -0
  253. package/dist/ptcw-design/p-8d48362b.entry.js +1 -0
  254. package/dist/ptcw-design/{p-0aa91ac2.entry.js → p-9024a899.entry.js} +1 -1
  255. package/dist/ptcw-design/p-91512aeb.entry.js +1 -0
  256. package/dist/ptcw-design/{p-3f85b469.entry.js → p-96883fd7.entry.js} +1 -1
  257. package/dist/ptcw-design/p-9fb2ab8c.js +2 -0
  258. package/dist/ptcw-design/p-b4d92914.entry.js +1 -0
  259. package/dist/ptcw-design/p-b721664f.entry.js +1 -0
  260. package/dist/ptcw-design/{p-88e1778e.entry.js → p-bc0181f3.entry.js} +1 -1
  261. package/dist/ptcw-design/p-c2275f57.entry.js +1 -0
  262. package/dist/ptcw-design/{p-a05fe3d0.entry.js → p-c325283e.entry.js} +1 -1
  263. package/dist/ptcw-design/{p-5005c698.entry.js → p-c3621686.entry.js} +1 -1
  264. package/dist/ptcw-design/p-c693e1c5.entry.js +1 -0
  265. package/dist/ptcw-design/{p-1aa4d596.entry.js → p-c7247cc9.entry.js} +1 -1
  266. package/dist/ptcw-design/{p-8808ecc8.entry.js → p-ce3627b8.entry.js} +1 -1
  267. package/dist/ptcw-design/{p-e87bc2cd.entry.js → p-d24446b2.entry.js} +1 -1
  268. package/dist/ptcw-design/{p-8bb7da0b.entry.js → p-d625bb90.entry.js} +1 -1
  269. package/dist/ptcw-design/{p-60843852.entry.js → p-dcf0d341.entry.js} +1 -1
  270. package/dist/ptcw-design/{p-c4107b5d.entry.js → p-de6b444f.entry.js} +1 -1
  271. package/dist/ptcw-design/{p-afea5c1f.entry.js → p-e353a8e8.entry.js} +1 -1
  272. package/dist/ptcw-design/{p-36a453d4.entry.js → p-e66a28aa.entry.js} +1 -1
  273. package/dist/ptcw-design/{p-21e27f2b.entry.js → p-fed5edd3.entry.js} +1 -1
  274. package/dist/ptcw-design/ptcw-design.css +1 -1
  275. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  276. package/dist/types/components/dropdown-item/dropdown-item.d.ts +5 -5
  277. package/dist/types/components/icon-asset/icon-asset.d.ts +40 -40
  278. package/dist/types/components/list-item/list-item.d.ts +8 -8
  279. package/dist/types/components/max-width-container/max-width-container.d.ts +9 -0
  280. package/dist/types/components/my-component/my-component.d.ts +16 -16
  281. package/dist/types/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.d.ts +59 -59
  282. package/dist/types/components/ptc-accordion/ptc-accordion.d.ts +13 -13
  283. package/dist/types/components/ptc-announcement/ptc-announcement.d.ts +51 -51
  284. package/dist/types/components/ptc-breadcrumb/ptc-breadcrumb.d.ts +4 -4
  285. package/dist/types/components/ptc-button/ptc-button.d.ts +56 -56
  286. package/dist/types/components/ptc-card/ptc-card.d.ts +67 -67
  287. package/dist/types/components/ptc-card-bottom/ptc-card-bottom.d.ts +15 -15
  288. package/dist/types/components/ptc-card-content/ptc-card-content.d.ts +18 -16
  289. package/dist/types/components/ptc-card-wrapper/ptc-card-wrapper.d.ts +23 -18
  290. package/dist/types/components/ptc-checkbox/ptc-checkbox.d.ts +11 -11
  291. package/dist/types/components/ptc-collapse-list/ptc-collapse-list.d.ts +56 -56
  292. package/dist/types/components/ptc-container/ptc-container.d.ts +12 -12
  293. package/dist/types/components/ptc-date/ptc-date.d.ts +41 -41
  294. package/dist/types/components/ptc-dropdown/ptc-dropdown.d.ts +19 -19
  295. package/dist/types/components/ptc-dynamic-card/ptc-dynamic-card.d.ts +24 -24
  296. package/dist/types/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.d.ts +12 -12
  297. package/dist/types/components/ptc-filter-tag/ptc-filter-tag.d.ts +17 -17
  298. package/dist/types/components/ptc-hero/ptc-hero.d.ts +16 -16
  299. package/dist/types/components/ptc-hero-footer-cta/ptc-hero-footer-cta.d.ts +6 -6
  300. package/dist/types/components/ptc-icon-list/ptc-icon-list.d.ts +21 -21
  301. package/dist/types/components/ptc-icon-minimize/ptc-icon-minimize.d.ts +9 -9
  302. package/dist/types/components/ptc-img/ptc-img.d.ts +51 -51
  303. package/dist/types/components/ptc-link/ptc-link.d.ts +40 -40
  304. package/dist/types/components/ptc-list/ptc-list.d.ts +8 -8
  305. package/dist/types/components/ptc-lottie/ptc-lottie.d.ts +12 -12
  306. package/dist/types/components/ptc-media-card/ptc-media-card.d.ts +45 -0
  307. package/dist/types/components/ptc-minimized-footer/ptc-minimized-footer.d.ts +3 -3
  308. package/dist/types/components/ptc-minimized-header/ptc-minimized-header.d.ts +6 -6
  309. package/dist/types/components/ptc-mobile-select/ptc-mobile-select.d.ts +36 -36
  310. package/dist/types/components/ptc-modal/ptc-modal.d.ts +59 -59
  311. package/dist/types/components/ptc-overlay/ptc-overlay.d.ts +21 -20
  312. package/dist/types/components/ptc-pagenation/ptc-pagenation.d.ts +27 -27
  313. package/dist/types/components/ptc-para/ptc-para.d.ts +43 -43
  314. package/dist/types/components/ptc-picture/ptc-picture.d.ts +93 -93
  315. package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +5 -5
  316. package/dist/types/components/ptc-pricing-block/ptc-pricing-block.d.ts +5 -5
  317. package/dist/types/components/ptc-quote/ptc-quote.d.ts +29 -29
  318. package/dist/types/components/ptc-readmore/ptc-readmore.d.ts +56 -27
  319. package/dist/types/components/ptc-responsive-wrapper/ptc-responsive-wrapper.d.ts +8 -8
  320. package/dist/types/components/ptc-shopping-cart/ptc-shopping-cart.d.ts +6 -6
  321. package/dist/types/components/ptc-social-share/ptc-social-share.d.ts +33 -33
  322. package/dist/types/components/ptc-spacer/ptc-spacer.d.ts +16 -16
  323. package/dist/types/components/ptc-span/ptc-span.d.ts +16 -16
  324. package/dist/types/components/ptc-sticky-icons/ptc-sticky-icons.d.ts +7 -7
  325. package/dist/types/components/ptc-svg-btn/ptc-svg-btn.d.ts +12 -12
  326. package/dist/types/components/ptc-tab-list/ptc-tab-list.d.ts +15 -15
  327. package/dist/types/components/ptc-text-copy-with-background/ptc-text-copy-with-background.d.ts +33 -25
  328. package/dist/types/components/ptc-title/ptc-title.d.ts +54 -50
  329. package/dist/types/components/ptc-tooltip/ptc-tooltip.d.ts +38 -34
  330. package/dist/types/components/ptc-two-column-media/ptc-two-column-media.d.ts +9 -9
  331. package/dist/types/components/tab-content/tab-content.d.ts +12 -12
  332. package/dist/types/components/tab-header/tab-header.d.ts +14 -14
  333. package/dist/types/components.d.ts +326 -93
  334. package/dist/types/global.d.ts +1072 -1072
  335. package/dist/types/index.d.ts +1 -1
  336. package/dist/types/stencil-public-runtime.d.ts +48 -3
  337. package/dist/types/utils/component.d.ts +1 -1
  338. package/dist/types/utils/interfaces.d.ts +31 -31
  339. package/dist/types/utils/utils.d.ts +4 -4
  340. package/loader/index.d.ts +9 -0
  341. package/package.json +61 -61
  342. package/readme.md +18 -10
  343. package/dist/cjs/_commonjsHelpers-119ffc74.js +0 -17
  344. package/dist/esm/_commonjsHelpers-8b28c6fa.js +0 -15
  345. package/dist/ptcw-design/p-009001dc.js +0 -2
  346. package/dist/ptcw-design/p-1c589f8f.entry.js +0 -1
  347. package/dist/ptcw-design/p-2ca0340b.entry.js +0 -1
  348. package/dist/ptcw-design/p-2dcea9db.entry.js +0 -1
  349. package/dist/ptcw-design/p-557e8e2a.entry.js +0 -1
  350. package/dist/ptcw-design/p-5f782173.entry.js +0 -1
  351. package/dist/ptcw-design/p-67af0abd.entry.js +0 -1
  352. package/dist/ptcw-design/p-88fc4011.entry.js +0 -1
  353. package/dist/ptcw-design/p-9b34acfa.entry.js +0 -1
  354. package/dist/ptcw-design/p-a14a99ce.entry.js +0 -1
  355. package/dist/ptcw-design/p-b5366d41.entry.js +0 -1
  356. package/dist/ptcw-design/p-b68038b5.js +0 -1
  357. package/dist/ptcw-design/p-c095d100.entry.js +0 -7
  358. package/dist/ptcw-design/p-ca9efc42.entry.js +0 -1
  359. package/dist/ptcw-design/p-e38a57ce.entry.js +0 -1
  360. /package/dist/ptcw-design/{p-5e98555a.js → p-e121ff2a.js} +0 -0
@@ -1,775 +1,480 @@
1
- import { r as registerInstance, h } from './index-0c73b51e.js';
2
- import { c as createCommonjsModule } from './_commonjsHelpers-8b28c6fa.js';
1
+ import { r as registerInstance, h as h$1 } from './index-40bc29fc.js';
3
2
 
4
- var mobileSelect = createCommonjsModule(function (module, exports) {
5
- /*!
6
- * mobileSelect.js
7
- * (c) 2017-present onlyhom
8
- * Released under the MIT License.
9
- */
10
-
11
- (function() {
12
-
13
- function getClass(dom,string) {
14
- return dom.getElementsByClassName(string);
15
- }
16
- //构造器
17
- function MobileSelect(config) {
18
- this.wheelsData = config.wheels;
19
- this.jsonType = false;
20
- this.cascadeJsonData = [];
21
- this.displayJson = [];
22
- this.curValue = [];
23
- this.curIndexArr = [];
24
- this.cascade = false;
25
- this.offset = 0;
26
- this.offsetSum = 0;
27
- this.curDistance = [];
28
- this.clickStatus = false;
29
- this.isPC = true;
30
- this.init(config);
31
- }
32
- MobileSelect.prototype = {
33
- constructor: MobileSelect,
34
- init: function(config){
35
- var _this = this;
36
- if(config.wheels[0].data.length==0){
37
- console.error('mobileSelect has been successfully installed, but the data is empty and cannot be initialized.');
38
- return false;
39
- }
40
- _this.keyMap = config.keyMap ? config.keyMap : {id:'id', value:'value', childs:'childs'};
41
- _this.checkDataType();
42
- _this.renderWheels(_this.wheelsData, config.cancelBtnText, config.ensureBtnText);
43
- _this.trigger = document.querySelector(config.trigger);
44
- if(!_this.trigger){
45
- console.error('mobileSelect has been successfully installed, but no trigger found on your page.');
46
- return false;
47
- }
48
- _this.wheel = getClass(_this.mobileSelect,'wheel');
49
- _this.slider = getClass(_this.mobileSelect,'selectContainer');
50
- _this.wheels = _this.mobileSelect.querySelector('.wheels');
51
- _this.liHeight = _this.mobileSelect.querySelector('li').offsetHeight;
52
- _this.ensureBtn = _this.mobileSelect.querySelector('.ensure');
53
- _this.cancelBtn = _this.mobileSelect.querySelector('.cancel');
54
- _this.grayLayer = _this.mobileSelect.querySelector('.grayLayer');
55
- _this.popUp = _this.mobileSelect.querySelector('.content');
56
- _this.callback = config.callback || function(){};
57
- _this.cancel = config.cancel || function(){};
58
- _this.transitionEnd = config.transitionEnd || function(){};
59
- _this.onShow = config.onShow || function(){};
60
- _this.onHide = config.onHide || function(){};
61
- _this.initPosition = config.position || [];
62
- _this.titleText = config.title || '';
63
- _this.connector = config.connector || ' ';
64
- _this.triggerDisplayData = !(typeof(config.triggerDisplayData)=='undefined') ? config.triggerDisplayData : true;
65
- _this.trigger.style.cursor='pointer';
66
- _this.setStyle(config);
67
- _this.setTitle(_this.titleText);
68
- _this.checkIsPC();
69
- _this.checkCascade();
70
- _this.addListenerAll();
71
-
72
- if (_this.cascade) {
73
- _this.initCascade();
74
- }
75
- //定位 初始位置
76
- if(_this.initPosition.length < _this.slider.length){
77
- var diff = _this.slider.length - _this.initPosition.length;
78
- for(var i=0; i<diff; i++){
79
- _this.initPosition.push(0);
80
- }
81
- }
82
-
83
- _this.setCurDistance(_this.initPosition);
84
-
85
-
86
- //按钮监听
87
- _this.cancelBtn.addEventListener('click',function(){
88
- _this.hide();
89
- _this.cancel(_this.curIndexArr, _this.curValue);
90
- });
91
-
92
- _this.ensureBtn.addEventListener('click',function(){
93
- _this.hide();
94
- if(!_this.liHeight) {
95
- _this.liHeight = _this.mobileSelect.querySelector('li').offsetHeight;
96
- }
97
- var tempValue ='';
98
- for(var i=0; i<_this.wheel.length; i++){
99
- i==_this.wheel.length-1 ? tempValue += _this.getInnerHtml(i) : tempValue += _this.getInnerHtml(i) + _this.connector;
100
- }
101
- if(_this.triggerDisplayData){
102
- _this.trigger.innerHTML = tempValue;
103
- }
104
- _this.curIndexArr = _this.getIndexArr();
105
- _this.curValue = _this.getCurValue();
106
- _this.callback(_this.curIndexArr, _this.curValue);
107
- });
108
-
109
- _this.trigger.addEventListener('click',function(){
110
- _this.show();
111
- });
112
- _this.grayLayer.addEventListener('click',function(){
113
- _this.hide();
114
- _this.cancel(_this.curIndexArr, _this.curValue);
115
- });
116
- _this.popUp.addEventListener('click',function(){
117
- event.stopPropagation();
118
- });
119
-
120
- _this.fixRowStyle(); //修正列数
121
- },
122
-
123
- setTitle: function(string){
124
- var _this = this;
125
- _this.titleText = string;
126
- _this.mobileSelect.querySelector('.title').innerHTML = _this.titleText;
127
- },
128
-
129
- setStyle: function(config){
130
- var _this = this;
131
- if(config.ensureBtnColor){
132
- _this.ensureBtn.style.color = config.ensureBtnColor;
133
- }
134
- if(config.cancelBtnColor){
135
- _this.cancelBtn.style.color = config.cancelBtnColor;
136
- }
137
- if(config.titleColor){
138
- _this.title = _this.mobileSelect.querySelector('.title');
139
- _this.title.style.color = config.titleColor;
140
- }
141
- if(config.textColor){
142
- _this.panel = _this.mobileSelect.querySelector('.panel');
143
- _this.panel.style.color = config.textColor;
144
- }
145
- if(config.titleBgColor){
146
- _this.btnBar = _this.mobileSelect.querySelector('.btnBar');
147
- _this.btnBar.style.backgroundColor = config.titleBgColor;
148
- }
149
- if(config.bgColor){
150
- _this.panel = _this.mobileSelect.querySelector('.panel');
151
- _this.shadowMask = _this.mobileSelect.querySelector('.shadowMask');
152
- _this.panel.style.backgroundColor = config.bgColor;
153
- _this.shadowMask.style.background = 'linear-gradient(to bottom, '+ config.bgColor + ', rgba(255, 255, 255, 0), '+ config.bgColor + ')';
154
- }
155
- if(!isNaN(config.maskOpacity)){
156
- _this.grayMask = _this.mobileSelect.querySelector('.grayLayer');
157
- _this.grayMask.style.background = 'rgba(0, 0, 0, '+ config.maskOpacity +')';
158
- }
159
- },
160
-
161
- checkIsPC: function(){
162
- var _this = this;
163
- var sUserAgent = navigator.userAgent.toLowerCase();
164
- var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
165
- var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
166
- var bIsMidp = sUserAgent.match(/midp/i) == "midp";
167
- var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
168
- var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
169
- var bIsAndroid = sUserAgent.match(/android/i) == "android";
170
- var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
171
- var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
172
- if ((bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM)) {
173
- _this.isPC = false;
174
- }
175
- },
176
-
177
- show: function(){
178
- this.mobileSelect.classList.add('mobileSelect-show');
179
- if (typeof this.onShow === 'function') {
180
- this.onShow(this);
181
- }
182
- },
183
-
184
- hide: function() {
185
- this.mobileSelect.classList.remove('mobileSelect-show');
186
- if (typeof this.onHide === 'function') {
187
- this.onHide(this);
188
- }
189
- },
190
-
191
- renderWheels: function(wheelsData, cancelBtnText, ensureBtnText){
192
- var _this = this;
193
- var cancelText = cancelBtnText ? cancelBtnText : '取消';
194
- var ensureText = ensureBtnText ? ensureBtnText : '确认';
195
- _this.mobileSelect = document.createElement("div");
196
- _this.mobileSelect.className = "mobileSelect";
197
- _this.mobileSelect.innerHTML =
198
- '<div class="grayLayer"></div>'+
199
- '<div class="content">'+
200
- '<div class="btnBar">'+
201
- '<div class="fixWidth">'+
202
- '<div class="cancel">'+ cancelText +'</div>'+
203
- '<div class="title"></div>'+
204
- '<div class="ensure">'+ ensureText +'</div>'+
205
- '</div>'+
206
- '</div>'+
207
- '<div class="panel">'+
208
- '<div class="fixWidth">'+
209
- '<div class="wheels">'+
210
- '</div>'+
211
- '<div class="selectLine"></div>'+
212
- '<div class="shadowMask"></div>'+
213
- '</div>'+
214
- '</div>'+
215
- '</div>';
216
- document.body.appendChild(_this.mobileSelect);
217
-
218
- //根据数据长度来渲染
219
-
220
- var tempHTML='';
221
- for(var i=0; i<wheelsData.length; i++){
222
- //列
223
- tempHTML += '<div class="wheel"><ul class="selectContainer">';
224
- if(_this.jsonType){
225
- for(var j=0; j<wheelsData[i].data.length; j++){
226
- //行
227
- tempHTML += '<li data-id="'+wheelsData[i].data[j][_this.keyMap.id]+'">'+wheelsData[i].data[j][_this.keyMap.value]+'</li>';
228
- }
229
- }else {
230
- for(var j=0; j<wheelsData[i].data.length; j++){
231
- //行
232
- tempHTML += '<li>'+wheelsData[i].data[j]+'</li>';
233
- }
234
- }
235
- tempHTML += '</ul></div>';
236
- }
237
- _this.mobileSelect.querySelector('.wheels').innerHTML = tempHTML;
238
- },
239
-
240
- addListenerAll: function(){
241
- var _this = this;
242
- for(var i=0; i<_this.slider.length; i++){
243
- //手势监听
244
- (function (i) {
245
- _this.addListenerWheel(_this.wheel[i], i);
246
- })(i);
247
- }
248
- },
249
-
250
- addListenerWheel: function(theWheel, index){
251
- var _this = this;
252
- theWheel.addEventListener('touchstart', function () {
253
- _this.touch(event, this.firstChild, index);
254
- },false);
255
- theWheel.addEventListener('touchend', function () {
256
- _this.touch(event, this.firstChild, index);
257
- },false);
258
- theWheel.addEventListener('touchmove', function () {
259
- _this.touch(event, this.firstChild, index);
260
- },false);
261
-
262
- if(_this.isPC){
263
- //如果是PC端则再增加拖拽监听 方便调试
264
- theWheel.addEventListener('mousedown', function () {
265
- _this.dragClick(event, this.firstChild, index);
266
- },false);
267
- theWheel.addEventListener('mousemove', function () {
268
- _this.dragClick(event, this.firstChild, index);
269
- },false);
270
- theWheel.addEventListener('mouseup', function () {
271
- _this.dragClick(event, this.firstChild, index);
272
- },true);
273
- }
274
- },
275
-
276
- checkDataType: function(){
277
- var _this = this;
278
- if(typeof(_this.wheelsData[0].data[0])=='object'){
279
- _this.jsonType = true;
280
- }
281
- },
282
-
283
- checkCascade: function(){
284
- var _this = this;
285
- if(_this.jsonType){
286
- var node = _this.wheelsData[0].data;
287
- for(var i=0; i<node.length; i++){
288
- if(_this.keyMap.childs in node[i] && node[i][_this.keyMap.childs].length > 0){
289
- _this.cascade = true;
290
- _this.cascadeJsonData = _this.wheelsData[0].data;
291
- break;
292
- }
293
- }
294
- }else {
295
- _this.cascade = false;
296
- }
297
- },
298
-
299
- generateArrData: function (targetArr) {
300
- var tempArr = [];
301
- var keyMap_id = this.keyMap.id;
302
- var keyMap_value = this.keyMap.value;
303
- for(var i=0; i<targetArr.length; i++){
304
- var tempObj = {};
305
- tempObj[keyMap_id] = targetArr[i][this.keyMap.id];
306
- tempObj[keyMap_value] = targetArr[i][this.keyMap.value];
307
- tempArr.push(tempObj);
308
- }
309
- return tempArr;
310
- },
311
-
312
- initCascade: function(){
313
- var _this = this;
314
- _this.displayJson.push(_this.generateArrData(_this.cascadeJsonData));
315
- if(_this.initPosition.length>0){
316
- _this.initDeepCount = 0;
317
- _this.initCheckArrDeep(_this.cascadeJsonData[_this.initPosition[0]]);
318
- }else {
319
- _this.checkArrDeep(_this.cascadeJsonData[0]);
320
- }
321
- _this.reRenderWheels();
322
- },
323
-
324
- initCheckArrDeep: function (parent) {
325
- var _this = this;
326
- if(parent){
327
- if (_this.keyMap.childs in parent && parent[_this.keyMap.childs].length > 0) {
328
- _this.displayJson.push(_this.generateArrData(parent[_this.keyMap.childs]));
329
- _this.initDeepCount++;
330
- var nextNode = parent[_this.keyMap.childs][_this.initPosition[_this.initDeepCount]];
331
- if(nextNode){
332
- _this.initCheckArrDeep(nextNode);
333
- }else {
334
- _this.checkArrDeep(parent[_this.keyMap.childs][0]);
335
- }
336
- }
337
- }
338
- },
339
-
340
- checkArrDeep: function (parent) {
341
- //检测子节点深度 修改 displayJson
342
- var _this = this;
343
- if(parent){
344
- if (_this.keyMap.childs in parent && parent[_this.keyMap.childs].length > 0) {
345
- _this.displayJson.push(_this.generateArrData(parent[_this.keyMap.childs])); //生成子节点数组
346
- _this.checkArrDeep(parent[_this.keyMap.childs][0]);//检测下一个子节点
347
- }
348
- }
349
- },
350
-
351
- checkRange: function(index, posIndexArr){
352
- var _this = this;
353
- var deleteNum = _this.displayJson.length-1-index;
354
- for(var i=0; i<deleteNum; i++){
355
- _this.displayJson.pop(); //修改 displayJson
356
- }
357
- var resultNode;
358
- for (var i = 0; i <= index; i++){
359
- if (i == 0)
360
- resultNode = _this.cascadeJsonData[posIndexArr[0]];
361
- else {
362
- resultNode = resultNode[_this.keyMap.childs][posIndexArr[i]];
363
- }
364
- }
365
- _this.checkArrDeep(resultNode);
366
- //console.log(_this.displayJson);
367
- _this.reRenderWheels();
368
- _this.fixRowStyle();
369
- _this.setCurDistance(_this.resetPosition(index, posIndexArr));
370
- },
371
-
372
- resetPosition: function(index, posIndexArr){
373
- var _this = this;
374
- var tempPosArr = posIndexArr;
375
- var tempCount;
376
- if(_this.slider.length > posIndexArr.length){
377
- tempCount = _this.slider.length - posIndexArr.length;
378
- for(var i=0; i<tempCount; i++){
379
- tempPosArr.push(0);
380
- }
381
- }else if(_this.slider.length < posIndexArr.length){
382
- tempCount = posIndexArr.length - _this.slider.length;
383
- for(var i=0; i<tempCount; i++){
384
- tempPosArr.pop();
385
- }
386
- }
387
- for(var i=index+1; i< tempPosArr.length; i++){
388
- tempPosArr[i] = 0;
389
- }
390
- return tempPosArr;
391
- },
392
- reRenderWheels: function(){
393
- var _this = this;
394
- //删除多余的wheel
395
- if(_this.wheel.length > _this.displayJson.length){
396
- var count = _this.wheel.length - _this.displayJson.length;
397
- for(var i=0; i<count; i++){
398
- _this.wheels.removeChild(_this.wheel[_this.wheel.length-1]);
399
- }
400
- }
401
- for(var i=0; i<_this.displayJson.length; i++){
402
- //列
403
- (function (i) {
404
- var tempHTML='';
405
- if(_this.wheel[i]){
406
- //console.log('插入Li');
407
- for(var j=0; j<_this.displayJson[i].length; j++){
408
- //行
409
- tempHTML += '<li data-id="'+_this.displayJson[i][j][_this.keyMap.id]+'">'+_this.displayJson[i][j][_this.keyMap.value]+'</li>';
410
- }
411
- _this.slider[i].innerHTML = tempHTML;
412
-
413
- }else {
414
- var tempWheel = document.createElement("div");
415
- tempWheel.className = "wheel";
416
- tempHTML = '<ul class="selectContainer">';
417
- for(var j=0; j<_this.displayJson[i].length; j++){
418
- //行
419
- tempHTML += '<li data-id="'+_this.displayJson[i][j][_this.keyMap.id]+'">'+_this.displayJson[i][j][_this.keyMap.value]+'</li>';
420
- }
421
- tempHTML += '</ul>';
422
- tempWheel.innerHTML = tempHTML;
423
-
424
- _this.addListenerWheel(tempWheel, i);
425
- _this.wheels.appendChild(tempWheel);
426
- }
427
- //_this.·(i);
428
- })(i);
429
- }
430
- },
431
-
432
- updateWheels:function(data){
433
- var _this = this;
434
- if(_this.cascade){
435
- _this.cascadeJsonData = data;
436
- _this.displayJson = [];
437
- _this.initCascade();
438
- if(_this.initPosition.length < _this.slider.length){
439
- var diff = _this.slider.length - _this.initPosition.length;
440
- for(var i=0; i<diff; i++){
441
- _this.initPosition.push(0);
442
- }
443
- }
444
- _this.setCurDistance(_this.initPosition);
445
- _this.fixRowStyle();
446
- }
447
- },
448
-
449
- updateWheel: function(sliderIndex, data){
450
- var _this = this;
451
- var tempHTML='';
452
- if(_this.cascade){
453
- console.error('级联格式不支持updateWheel(),请使用updateWheels()更新整个数据源');
454
- return false;
455
- }
456
- else if(_this.jsonType){
457
- for(var j=0; j<data.length; j++){
458
- tempHTML += '<li data-id="'+data[j][_this.keyMap.id]+'">'+data[j][_this.keyMap.value]+'</li>';
459
- }
460
- _this.wheelsData[sliderIndex] = {data: data};
461
- }else {
462
- for(var j=0; j<data.length; j++){
463
- tempHTML += '<li>'+data[j]+'</li>';
464
- }
465
- _this.wheelsData[sliderIndex] = data;
466
- }
467
- _this.slider[sliderIndex].innerHTML = tempHTML;
468
- },
469
-
470
- fixRowStyle: function(){
471
- var _this = this;
472
- var width = (100/_this.wheel.length).toFixed(2);
473
- for(var i=0; i<_this.wheel.length; i++){
474
- _this.wheel[i].style.width = width+'%';
475
- }
476
- },
477
-
478
- getIndex: function(distance){
479
- return Math.round((2*this.liHeight-distance)/this.liHeight);
480
- },
481
-
482
- getIndexArr: function(){
483
- var _this = this;
484
- var temp = [];
485
- for(var i=0; i<_this.curDistance.length; i++){
486
- temp.push(_this.getIndex(_this.curDistance[i]));
487
- }
488
- return temp;
489
- },
490
-
491
- getCurValue: function(){
492
- var _this = this;
493
- var temp = [];
494
- var positionArr = _this.getIndexArr();
495
- if(_this.cascade){
496
- for(var i=0; i<_this.wheel.length; i++){
497
- temp.push(_this.displayJson[i][positionArr[i]]);
498
- }
499
- }
500
- else if(_this.jsonType){
501
- for(var i=0; i<_this.curDistance.length; i++){
502
- temp.push(_this.wheelsData[i].data[_this.getIndex(_this.curDistance[i])]);
503
- }
504
- }else {
505
- for(var i=0; i<_this.curDistance.length; i++){
506
- temp.push(_this.getInnerHtml(i));
507
- }
508
- }
509
- return temp;
510
- },
511
-
512
- getValue: function(){
513
- return this.curValue;
514
- },
515
-
516
- calcDistance: function(index){
517
- return 2*this.liHeight-index*this.liHeight;
518
- },
519
-
520
- setCurDistance: function(indexArr){
521
- var _this = this;
522
- var temp = [];
523
- for(var i=0; i<_this.slider.length; i++){
524
- temp.push(_this.calcDistance(indexArr[i]));
525
- _this.movePosition(_this.slider[i],temp[i]);
526
- }
527
- _this.curDistance = temp;
528
- },
529
-
530
- fixPosition: function(distance){
531
- return -(this.getIndex(distance)-2)*this.liHeight;
532
- },
533
-
534
- movePosition: function(theSlider, distance){
535
- theSlider.style.webkitTransform = 'translate3d(0,' + distance + 'px, 0)';
536
- theSlider.style.transform = 'translate3d(0,' + distance + 'px, 0)';
537
- },
538
-
539
- locatePosition: function(index, posIndex){
540
- var _this = this;
541
- this.curDistance[index] = this.calcDistance(posIndex);
542
- this.movePosition(this.slider[index],this.curDistance[index]);
543
- if(_this.cascade){
544
- _this.checkRange(index, _this.getIndexArr());
545
- }
546
- },
547
-
548
- updateCurDistance: function(theSlider, index){
549
- if(theSlider.style.transform){
550
- this.curDistance[index] = parseInt(theSlider.style.transform.split(',')[1]);
551
- }else {
552
- this.curDistance[index] = parseInt(theSlider.style.webkitTransform.split(',')[1]);
553
- }
554
- },
555
-
556
- getDistance:function(theSlider){
557
- if(theSlider.style.transform){
558
- return parseInt(theSlider.style.transform.split(',')[1]);
559
- }else {
560
- return parseInt(theSlider.style.webkitTransform.split(',')[1]);
561
- }
562
- },
563
-
564
- getInnerHtml: function(sliderIndex){
565
- var _this = this;
566
- var index = _this.getIndex(_this.curDistance[sliderIndex]);
567
- return _this.slider[sliderIndex].getElementsByTagName('li')[index].innerHTML;
568
- },
569
-
570
- touch: function(event, theSlider, index){
571
- var _this = this;
572
- event = event || window.event;
573
- switch(event.type){
574
- case "touchstart":
575
- _this.startY = event.touches[0].clientY;
576
- _this.startY = parseInt(_this.startY);
577
- _this.oldMoveY = _this.startY;
578
- break;
579
-
580
- case "touchend":
581
-
582
- _this.moveEndY = parseInt(event.changedTouches[0].clientY);
583
- _this.offsetSum = _this.moveEndY - _this.startY;
584
- _this.oversizeBorder = -(theSlider.getElementsByTagName('li').length-3)*_this.liHeight;
585
-
586
- if(_this.offsetSum == 0){
587
- //offsetSum为0,相当于点击事件
588
- // 0 1 [2] 3 4
589
- var clickOffetNum = parseInt((document.documentElement.clientHeight - _this.moveEndY)/40);
590
- if(clickOffetNum!=2){
591
- var offset = clickOffetNum - 2;
592
- var newDistance = _this.curDistance[index] + (offset*_this.liHeight);
593
- if((newDistance <= 2*_this.liHeight) && (newDistance >= _this.oversizeBorder) ){
594
- _this.curDistance[index] = newDistance;
595
- _this.movePosition(theSlider, _this.curDistance[index]);
596
- _this.transitionEnd(_this.getIndexArr(),_this.getCurValue());
597
- }
598
- }
599
- }else {
600
- //修正位置
601
- _this.updateCurDistance(theSlider, index);
602
- _this.curDistance[index] = _this.fixPosition(_this.curDistance[index]);
603
- _this.movePosition(theSlider, _this.curDistance[index]);
604
-
605
- //反弹
606
- if(_this.curDistance[index] + _this.offsetSum > 2*_this.liHeight){
607
- _this.curDistance[index] = 2*_this.liHeight;
608
- setTimeout(function(){
609
- _this.movePosition(theSlider, _this.curDistance[index]);
610
- }, 100);
611
-
612
- }else if(_this.curDistance[index] + _this.offsetSum < _this.oversizeBorder){
613
- _this.curDistance[index] = _this.oversizeBorder;
614
- setTimeout(function(){
615
- _this.movePosition(theSlider, _this.curDistance[index]);
616
- }, 100);
617
- }
618
- _this.transitionEnd(_this.getIndexArr(),_this.getCurValue());
619
- }
620
-
621
- if(_this.cascade){
622
- _this.checkRange(index, _this.getIndexArr());
623
- }
624
-
625
- break;
626
-
627
- case "touchmove":
628
- event.preventDefault();
629
- _this.moveY = event.touches[0].clientY;
630
- _this.offset = _this.moveY - _this.oldMoveY;
631
-
632
- _this.updateCurDistance(theSlider, index);
633
- _this.curDistance[index] = _this.curDistance[index] + _this.offset;
634
- _this.movePosition(theSlider, _this.curDistance[index]);
635
- _this.oldMoveY = _this.moveY;
636
- break;
637
- }
638
- },
639
-
640
- dragClick: function(event, theSlider, index){
641
- var _this = this;
642
- event = event || window.event;
643
- switch(event.type){
644
- case "mousedown":
645
- _this.startY = event.clientY;
646
- _this.oldMoveY = _this.startY;
647
- _this.clickStatus = true;
648
- break;
649
-
650
- case "mouseup":
651
-
652
- _this.moveEndY = event.clientY;
653
- _this.offsetSum = _this.moveEndY - _this.startY;
654
- _this.oversizeBorder = -(theSlider.getElementsByTagName('li').length-3)*_this.liHeight;
655
-
656
- if(_this.offsetSum == 0){
657
- var clickOffetNum = parseInt((document.documentElement.clientHeight - _this.moveEndY)/40);
658
- if(clickOffetNum!=2){
659
- var offset = clickOffetNum - 2;
660
- var newDistance = _this.curDistance[index] + (offset*_this.liHeight);
661
- if((newDistance <= 2*_this.liHeight) && (newDistance >= _this.oversizeBorder) ){
662
- _this.curDistance[index] = newDistance;
663
- _this.movePosition(theSlider, _this.curDistance[index]);
664
- _this.transitionEnd(_this.getIndexArr(),_this.getCurValue());
665
- }
666
- }
667
- }else {
668
- //修正位置
669
- _this.updateCurDistance(theSlider, index);
670
- _this.curDistance[index] = _this.fixPosition(_this.curDistance[index]);
671
- _this.movePosition(theSlider, _this.curDistance[index]);
672
-
673
- //反弹
674
- if(_this.curDistance[index] + _this.offsetSum > 2*_this.liHeight){
675
- _this.curDistance[index] = 2*_this.liHeight;
676
- setTimeout(function(){
677
- _this.movePosition(theSlider, _this.curDistance[index]);
678
- }, 100);
679
-
680
- }else if(_this.curDistance[index] + _this.offsetSum < _this.oversizeBorder){
681
- _this.curDistance[index] = _this.oversizeBorder;
682
- setTimeout(function(){
683
- _this.movePosition(theSlider, _this.curDistance[index]);
684
- }, 100);
685
- }
686
- _this.transitionEnd(_this.getIndexArr(),_this.getCurValue());
687
-
688
- }
689
-
690
- _this.clickStatus = false;
691
- if(_this.cascade){
692
- _this.checkRange(index, _this.getIndexArr());
693
- }
694
- break;
695
-
696
- case "mousemove":
697
- event.preventDefault();
698
- if(_this.clickStatus){
699
- _this.moveY = event.clientY;
700
- _this.offset = _this.moveY - _this.oldMoveY;
701
- _this.updateCurDistance(theSlider, index);
702
- _this.curDistance[index] = _this.curDistance[index] + _this.offset;
703
- _this.movePosition(theSlider, _this.curDistance[index]);
704
- _this.oldMoveY = _this.moveY;
705
- }
706
- break;
707
- }
708
- }
709
-
710
- };
711
-
712
- {
713
- module.exports = MobileSelect;
714
- }
715
- })();
716
- });
717
-
718
- const ptcMobileSelectCss = ".mobileSelect{position:relative;z-index:0;opacity:0;visibility:hidden;-webkit-transition:opacity 0.4s, z-index 0.4s;transition:opacity 0.4s, z-index 0.4s}.mobileSelect *{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.mobileSelect .grayLayer{position:fixed;top:0;left:0;bottom:0;right:0;background:#eee;background:rgba(0, 0, 0, 0.7);z-index:888;display:block}.mobileSelect .content{width:100%;display:block;position:fixed;z-index:889;color:black;-webkit-transition:all 0.4s;transition:all 0.4s;bottom:-350px;left:0;background:white}.mobileSelect .content .fixWidth{width:90%;margin:0 auto;position:relative}.mobileSelect .content .fixWidth:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}.mobileSelect .content .btnBar{border-bottom:1px solid #DCDCDC;font-size:15px;height:45px;position:relative;text-align:center;line-height:45px}.mobileSelect .content .btnBar .cancel,.mobileSelect .content .btnBar .ensure{height:45px;width:55px;cursor:pointer;position:absolute;top:0}.mobileSelect .content .btnBar .cancel{left:0;color:#666}.mobileSelect .content .btnBar .ensure{right:0;color:#1e83d3}.mobileSelect .content .btnBar .title{font-size:15px;padding:0 15%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mobileSelect .content .panel:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}.mobileSelect .content .panel .wheels{width:100%;height:200px;overflow:hidden}.mobileSelect .content .panel .wheel{position:relative;z-index:0;float:left;width:50%;height:200px;overflow:hidden;-webkit-transition:width 0.3s ease;transition:width 0.3s ease}.mobileSelect .content .panel .wheel .selectContainer{display:block;text-align:center;-webkit-transition:-webkit-transform 0.18s ease-out;transition:-webkit-transform 0.18s ease-out;transition:transform 0.18s ease-out;transition:transform 0.18s ease-out, -webkit-transform 0.18s ease-out}.mobileSelect .content .panel .wheel .selectContainer li{font-size:15px;display:block;height:40px;line-height:40px;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mobileSelect .content .panel .selectLine{height:40px;width:100%;position:absolute;top:80px;pointer-events:none;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #DCDCDC;border-bottom:1px solid #DCDCDC}.mobileSelect .content .panel .shadowMask{position:absolute;top:0;width:100%;height:200px;background:-webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(rgba(255, 255, 255, 0)), to(#ffffff));background:-webkit-linear-gradient(top, #ffffff, rgba(255, 255, 255, 0), #ffffff);background:linear-gradient(to bottom, #ffffff, rgba(255, 255, 255, 0), #ffffff);opacity:0.9;pointer-events:none}.mobileSelect-show{opacity:1;z-index:10000;visibility:visible}.mobileSelect-show .content{bottom:0}.mobile-select-wrapper{display:block}.mobile-select-wrapper div{display:inline;margin-right:var(--ptc-element-spacing-03);width:100%;font-family:var(--ptc-font-latin);font-weight:var(--ptc-font-weight-regular);font-size:var(--ptc-font-size-x-small);line-height:var(--ptc-line-height-densest);color:var(--color-white);height:18px}.mobileSelect .content{top:auto}.mobileSelect .content .btnBar{border-color:var(--color-gray-10)}.mobileSelect .content .btnBar .cancel,.mobileSelect .content .btnBar .ensure,.mobileSelect .content .btnBar .title{font-family:var(--ptc-font-latin);font-weight:var(--ptc-font-weight-semibold);font-size:var(--ptc-font-size-x-small);line-height:var(--ptc-line-height-densest)}.mobileSelect .content .btnBar .ensure,.mobileSelect .content .btnBar .cancel{transform:translateY(12.5px);width:125px}.mobileSelect .content .panel .wheel .selectContainer li{font-family:var(--ptc-font-latin);font-weight:var(--ptc-font-weight-semibold);font-size:var(--ptc-font-size-x-small);line-height:var(--ptc-line-height-densest);height:45px}ptc-responsive-wrapper.xsmall .mobile-select-wrapper,ptc-responsive-wrapper.small .mobile-select-wrapper{display:block}ptc-responsive-wrapper.medium .mobile-select-wrapper,ptc-responsive-wrapper.large .mobile-select-wrapper,ptc-responsive-wrapper.xlarge .mobile-select-wrapper,ptc-responsive-wrapper.xxlarge .mobile-select-wrapper,ptc-responsive-wrapper.large2k .mobile-select-wrapper,ptc-responsive-wrapper.large4k .mobile-select-wrapper{display:none}";
719
-
720
- const PtcMobileSelect = class {
721
- constructor(hostRef) {
722
- registerInstance(this, hostRef);
723
- this.triggerName = undefined;
724
- this.selectedText = undefined;
725
- this.wheelData = undefined;
726
- this.selectedId = '';
727
- this.ensureBtnText = 'Confirm';
728
- this.cancelBtnText = 'Cancel';
729
- this.listTitle = undefined;
730
- }
731
- render() {
732
- return (h("div", { class: "mobile-select-wrapper" }, h("div", { id: this.triggerName }, this.selectedText, h("icon-asset", { type: "ptc", size: "x-small", name: "chevron-down", color: "white", "is-mobile-select": "true", "injected-style": "svg.ismobileselect{transform:translateX(10px);}" }))));
733
- }
734
- componentDidRender() {
735
- let currentId = this.selectedId; //input current lang
736
- let storeIndex = 0;
737
- new mobileSelect({
738
- trigger: `#${this.triggerName}`,
739
- title: `${this.listTitle ? this.listTitle : ''}`,
740
- wheels: this.wheelData ? [{ data: this.wheelData }] : [{ data: ['test1', 'test2'] }],
741
- position: [0],
742
- ensureBtnText: this.ensureBtnText,
743
- cancelBtnText: this.cancelBtnText,
744
- ensureBtnColor: 'var(--color-gray-12)',
745
- cancelBtnColor: 'var(--color-gray-12)',
746
- titleColor: 'var(--color-gray-12)',
747
- onShow: function (e) {
748
- if (currentId) {
749
- let liEle = document.querySelectorAll('.selectContainer li');
750
- liEle.forEach((currentValue, currentIndex) => {
751
- if (currentValue.getAttribute('data-id') == currentId) {
752
- storeIndex = currentIndex;
753
- return;
754
- }
755
- });
756
- e.locatePosition(0, storeIndex);
757
- }
758
- else {
759
- return;
760
- }
761
- },
762
- callback: function (indexArr, data) {
763
- if (data[0].id) {
764
- window.location.href = data[0].id;
765
- }
766
- else {
767
- console.log('href: ' + data[0].id + '; indexArr: ' + indexArr);
3
+ /*
4
+ * mobile-select v1.3.2
5
+ * Homepage: https://github.com/onlyhom/mobile-select
6
+ * Released under the MIT License.
7
+ * (c) 2017-present
8
+ */
9
+ var D = Object.defineProperty;
10
+ var w = (g, t, e) => t in g ? D(g, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : g[t] = e;
11
+ var h = (g, t, e) => (w(g, typeof t != "symbol" ? t + "" : t, e), e);
12
+ const r = class {
13
+ constructor(t) {
14
+ h(this, "mobileSelect");
15
+ h(this, "trigger");
16
+ h(this, "wheelList");
17
+ h(this, "sliderList");
18
+ h(this, "wheelsContain");
19
+ h(this, "panel");
20
+ h(this, "ensureBtn");
21
+ h(this, "cancelBtn");
22
+ h(this, "grayLayer");
23
+ h(this, "popUp");
24
+ h(this, "initPosition");
25
+ h(this, "initColWidth");
26
+ h(this, "wheelsData");
27
+ h(this, "displayJson");
28
+ h(this, "curValue");
29
+ h(this, "curIndexArr");
30
+ h(this, "isCascade");
31
+ h(this, "isJsonType");
32
+ h(this, "startY");
33
+ h(this, "moveEndY");
34
+ h(this, "moveY");
35
+ h(this, "preMoveY");
36
+ h(this, "offsetY");
37
+ h(this, "offsetSum");
38
+ h(this, "oversizeBorder");
39
+ h(this, "enableClickStatus");
40
+ h(this, "isPC");
41
+ h(this, "optionHeight");
42
+ h(this, "curDistance");
43
+ h(this, "cascadeJsonData");
44
+ h(this, "eventHandleMap");
45
+ h(this, "initDeepCount");
46
+ h(this, "config");
47
+ !r.checkRequiredConfig(t) || (this.config = Object.assign({}, r.defaultConfig, t), this.wheelsData = t.wheels, this.isJsonType = !1, this.cascadeJsonData = [], this.displayJson = [], this.curValue = [], this.curIndexArr = [], this.isCascade = !1, this.offsetY = 0, this.offsetSum = 0, this.curDistance = [], this.enableClickStatus = !1, this.isPC = !0, this.optionHeight = 0, this.initPosition = t.position || [], this.initColWidth = t.colWidth || [], this.init());
48
+ }
49
+ init() {
50
+ const { config: t } = this;
51
+ if (this.isJsonType = r.checkDataType(this.wheelsData), this.renderComponent(this.wheelsData), !!this.checkTriggerAvailable()) {
52
+ if (this.wheelList = this.mobileSelect.getElementsByClassName("ms-wheel"), this.sliderList = this.mobileSelect.getElementsByClassName("ms-select-container"), this.panel = this.mobileSelect.querySelector(".ms-panel"), this.wheelsContain = this.mobileSelect.querySelector(".ms-wheels"), this.ensureBtn = this.mobileSelect.querySelector(".ms-ensure"), this.cancelBtn = this.mobileSelect.querySelector(".ms-cancel"), this.grayLayer = this.mobileSelect.querySelector(".ms-gray-layer"), this.popUp = this.mobileSelect.querySelector(".ms-content"), this.optionHeight = this.mobileSelect.querySelector("li").offsetHeight, t.initValue && t.triggerDisplayValue && (this.trigger.innerText = t.initValue), this.setStyle(t), this.isPC = r.checkIsPC(), this.isCascade = this.checkCascade(), this.isCascade && this.initCascade(), t.initValue && (this.initPosition = this.getPositionByValue()), this.initPosition.length < this.sliderList.length) {
53
+ const e = this.sliderList.length - this.initPosition.length;
54
+ for (let i = 0; i < e; i++)
55
+ this.initPosition.push(0);
56
+ }
57
+ this.isCascade ? this.initPosition.forEach((e, i) => {
58
+ this.checkRange(i, this.initPosition);
59
+ }) : this.setCurDistance(this.initPosition), this.eventHandleMap = {
60
+ cancelBtn: {
61
+ event: "click",
62
+ fn: () => {
63
+ var e, i, s, n;
64
+ this.hide(), (i = (e = this.config).cancel) == null || i.call(e, this.curIndexArr, this.curValue, this), (n = (s = this.config).onCancel) == null || n.call(s, this.curValue, this.curIndexArr, this);
65
+ }
66
+ },
67
+ ensureBtn: {
68
+ event: "click",
69
+ fn: () => {
70
+ var i, s, n, l;
71
+ this.hide(), this.optionHeight || (this.optionHeight = this.mobileSelect.querySelector("li").offsetHeight);
72
+ let e = "";
73
+ for (let o = 0; o < this.wheelList.length; o++)
74
+ o == this.wheelList.length - 1 ? e += this.getInnerText(o) : e += this.getInnerText(o) + this.config.connector;
75
+ t.triggerDisplayValue && (this.trigger.innerText = e), this.curIndexArr = this.getIndexArr(), this.curValue = this.getCurValue(), (s = (i = this.config).callback) == null || s.call(i, this.curIndexArr, this.curValue, this), (l = (n = this.config).onChange) == null || l.call(n, this.curValue, this.curIndexArr, this);
76
+ }
77
+ },
78
+ trigger: {
79
+ event: "click",
80
+ fn: () => {
81
+ this.show();
82
+ }
83
+ },
84
+ grayLayer: {
85
+ event: "click",
86
+ fn: () => this.hide()
87
+ },
88
+ popUp: {
89
+ event: "click",
90
+ fn: (e) => e.stopPropagation()
91
+ },
92
+ panel: {
93
+ event: ["touchstart", "touchend", "touchmove"],
94
+ fn: (e) => this.touch(e)
768
95
  }
769
- }.bind(this),
96
+ }, this.isPC && (this.eventHandleMap.panel.event = ["mousedown", "mousemove", "mouseup"]), this.registerEvents("add"), this.fixRowStyle(), t.autoFocus && this.show();
97
+ }
98
+ }
99
+ static checkIsPC() {
100
+ return !navigator.userAgent.toLowerCase().match(/ipad|iphone os|midp|rv:1.2.3.4|ucweb|android|windows ce|windows mobile/);
101
+ }
102
+ static checkDataType(t) {
103
+ var e, i;
104
+ return typeof ((i = (e = t[0]) == null ? void 0 : e.data) == null ? void 0 : i[0]) == "object";
105
+ }
106
+ static checkRequiredConfig(t) {
107
+ const e = r.REQUIRED_PARAMS;
108
+ if (!t) {
109
+ const i = e.map((s) => `'${s}'`);
110
+ return r.log("error", `missing required param ${i.join(" and ")}.`), !1;
111
+ }
112
+ for (let i = 0; i < e.length; i++) {
113
+ const s = e[i];
114
+ if (!t[s])
115
+ return r.log("error", `missing required param '${s}'.`), !1;
116
+ }
117
+ return !0;
118
+ }
119
+ static log(t, e) {
120
+ var i;
121
+ (i = console[t]) == null || i.call(console, `[mobile-select]: ${e}`);
122
+ }
123
+ checkTriggerAvailable() {
124
+ const { config: t } = this;
125
+ return this.trigger = t.trigger instanceof HTMLElement ? t.trigger : document.querySelector(t.trigger), this.trigger ? !0 : (r.log("error", "trigger HTMLElement does not found on your document."), !1);
126
+ }
127
+ getPositionByValue() {
128
+ var n;
129
+ const { keyMap: t, connector: e, initValue: i } = this.config, s = (i == null ? void 0 : i.split(e)) || [];
130
+ if (this.isJsonType) {
131
+ let l = (n = this.wheelsData[0]) == null ? void 0 : n.data;
132
+ return s.reduce((o, d) => {
133
+ var c;
134
+ const a = l == null ? void 0 : l.findIndex((u) => u[t.value] == d);
135
+ return o.push(a < 0 ? 0 : a), l = (c = l[a]) == null ? void 0 : c[t.childs], o;
136
+ }, []);
137
+ }
138
+ return s.reduce((l, o, d) => {
139
+ var c, u;
140
+ const a = (u = (c = this.wheelsData[d]) == null ? void 0 : c.data) == null ? void 0 : u.findIndex((f) => f == o);
141
+ return l.push(a < 0 ? 0 : a), l;
142
+ }, []);
143
+ }
144
+ setTitle(t) {
145
+ this.mobileSelect.querySelector(".ms-title").innerHTML = t;
146
+ }
147
+ setStyle(t) {
148
+ if (t.ensureBtnColor && (this.ensureBtn.style.color = t.ensureBtnColor), t.cancelBtnColor && (this.cancelBtn.style.color = t.cancelBtnColor), t.titleColor) {
149
+ const e = this.mobileSelect.querySelector(".ms-title");
150
+ e.style.color = t.titleColor;
151
+ }
152
+ if (t.textColor && (this.panel = this.mobileSelect.querySelector(".ms-panel"), this.panel.style.color = t.textColor), t.titleBgColor) {
153
+ const e = this.mobileSelect.querySelector(".ms-btn-bar");
154
+ e.style.backgroundColor = t.titleBgColor;
155
+ }
156
+ if (t.bgColor) {
157
+ this.panel = this.mobileSelect.querySelector(".ms-panel");
158
+ const e = this.mobileSelect.querySelector(".ms-shadow-mask");
159
+ this.panel.style.backgroundColor = t.bgColor, e.style.background = "linear-gradient(to bottom, " + t.bgColor + ", rgba(255, 255, 255, 0), " + t.bgColor + ")";
160
+ }
161
+ if (typeof t.maskOpacity == "number") {
162
+ const e = this.mobileSelect.querySelector(".ms-gray-layer");
163
+ e.style.background = "rgba(0, 0, 0, " + t.maskOpacity + ")";
164
+ }
165
+ }
166
+ show() {
167
+ var t, e, i;
168
+ this.mobileSelect.classList.add("ms-show"), (t = document.querySelector("body")) == null || t.classList.add("ms-show"), typeof this.config.onShow == "function" && ((i = (e = this.config).onShow) == null || i.call(e, this.curValue, this.curIndexArr, this));
169
+ }
170
+ hide() {
171
+ var t, e, i;
172
+ this.mobileSelect.classList.remove("ms-show"), (t = document.querySelector("body")) == null || t.classList.remove("ms-show"), typeof this.config.onHide == "function" && ((i = (e = this.config).onHide) == null || i.call(e, this.curValue, this.curIndexArr, this));
173
+ }
174
+ registerEvents(t) {
175
+ for (const [e, i] of Object.entries(this.eventHandleMap))
176
+ typeof i.event == "string" ? this[e][`${t}EventListener`](i.event, i.fn, { passive: !1 }) : i.event.forEach((s) => {
177
+ this[e][`${t}EventListener`](s, i.fn, { passive: !1 });
178
+ });
179
+ }
180
+ destroy() {
181
+ var t, e;
182
+ this.registerEvents("remove"), (e = (t = this.mobileSelect) == null ? void 0 : t.parentNode) == null || e.removeChild(this.mobileSelect);
183
+ }
184
+ getOptionsHtmlStr(t) {
185
+ const { keyMap: e } = this.config;
186
+ let i = "";
187
+ if (this.isJsonType)
188
+ for (let s = 0; s < t.length; s++) {
189
+ const n = t[s][e.id], l = t[s][e.value];
190
+ i += `<li data-id="${n}">${l}</li>`;
191
+ }
192
+ else
193
+ for (let s = 0; s < t.length; s++)
194
+ i += "<li>" + t[s] + "</li>";
195
+ return i;
196
+ }
197
+ renderComponent(t) {
198
+ this.mobileSelect = document.createElement("div"), this.mobileSelect.className = "ms-mobile-select", this.mobileSelect.innerHTML = `<div class="ms-gray-layer"></div>
199
+ <div class="ms-content">
200
+ <div class="ms-btn-bar">
201
+ <div class="ms-fix-width">
202
+ <div class="ms-cancel">${this.config.cancelBtnText}</div>
203
+ <div class="ms-title">${this.config.title || ""}</div>
204
+ <div class="ms-ensure">${this.config.ensureBtnText}</div>
205
+ </div>
206
+ </div>
207
+ <div class="ms-panel">
208
+ <div class="ms-fix-width">
209
+ <div class="ms-wheels"></div>
210
+ <div class="ms-select-line"></div>
211
+ <div class="ms-shadow-mask"></div>
212
+ </div>
213
+ </div>`, document.body.appendChild(this.mobileSelect);
214
+ let e = "";
215
+ for (let i = 0; i < t.length; i++)
216
+ e += `<div class="ms-wheel" data-index="${i}"><ul class="ms-select-container">`, e += this.getOptionsHtmlStr(t[i].data), e += "</ul></div>";
217
+ this.mobileSelect.querySelector(".ms-wheels").innerHTML = e;
218
+ }
219
+ reRenderWheels() {
220
+ const t = this.wheelList.length - this.displayJson.length;
221
+ if (t > 0)
222
+ for (let e = 0; e < t; e++)
223
+ this.wheelsContain.removeChild(this.wheelList[this.wheelList.length - 1]);
224
+ for (let e = 0; e < this.displayJson.length; e++)
225
+ if (this.wheelList[e])
226
+ this.sliderList[e].innerHTML = this.getOptionsHtmlStr(this.displayJson[e]);
227
+ else {
228
+ const i = document.createElement("div");
229
+ i.className = "ms-wheel", i.innerHTML = `<ul class="ms-select-container">${this.getOptionsHtmlStr(this.displayJson[e])}</ul>`, i.setAttribute("data-index", e.toString()), this.wheelsContain.appendChild(i);
230
+ }
231
+ }
232
+ checkCascade() {
233
+ var e;
234
+ const { keyMap: t } = this.config;
235
+ if (this.isJsonType) {
236
+ const i = this.wheelsData[0].data;
237
+ for (let s = 0; s < i.length; s++)
238
+ if (t.childs in i[s] && ((e = i[s][t.childs]) == null ? void 0 : e.length) > 0)
239
+ return this.cascadeJsonData = this.wheelsData[0].data, !0;
240
+ }
241
+ return !1;
242
+ }
243
+ initCascade() {
244
+ this.displayJson.push(this.cascadeJsonData), this.initPosition.length > 0 ? (this.initDeepCount = 0, this.initCheckArrDeep(this.cascadeJsonData[this.initPosition[0]])) : this.checkArrDeep(this.cascadeJsonData[0]), this.reRenderWheels();
245
+ }
246
+ initCheckArrDeep(t) {
247
+ if (t) {
248
+ const { keyMap: e } = this.config;
249
+ if (e.childs in t && t[e.childs].length > 0) {
250
+ this.displayJson.push(t[e.childs]), this.initDeepCount++;
251
+ const i = t[e.childs][this.initPosition[this.initDeepCount]];
252
+ i ? this.initCheckArrDeep(i) : this.checkArrDeep(t[e.childs][0]);
253
+ }
254
+ }
255
+ }
256
+ checkArrDeep(t) {
257
+ if (!t)
258
+ return;
259
+ const { keyMap: e } = this.config;
260
+ e.childs in t && t[e.childs].length > 0 && (this.displayJson.push(t[e.childs]), this.checkArrDeep(t[e.childs][0]));
261
+ }
262
+ checkRange(t, e) {
263
+ var l;
264
+ const i = this.displayJson.length - 1 - t, { keyMap: s } = this.config;
265
+ for (let o = 0; o < i; o++)
266
+ this.displayJson.pop();
267
+ let n;
268
+ for (let o = 0; o <= t; o++)
269
+ n = o == 0 ? this.cascadeJsonData[e[0]] : (l = n == null ? void 0 : n[s.childs]) == null ? void 0 : l[e[o]];
270
+ this.checkArrDeep(n), this.reRenderWheels(), this.fixRowStyle(), this.setCurDistance(this.resetPosition(t, e));
271
+ }
272
+ resetPosition(t, e) {
273
+ const i = [...e];
274
+ let s;
275
+ if (this.sliderList.length > e.length) {
276
+ s = this.sliderList.length - e.length;
277
+ for (let n = 0; n < s; n++)
278
+ i.push(0);
279
+ } else if (this.sliderList.length < e.length) {
280
+ s = e.length - this.sliderList.length;
281
+ for (let n = 0; n < s; n++)
282
+ i.pop();
283
+ }
284
+ for (let n = t + 1; n < i.length; n++)
285
+ i[n] = 0;
286
+ return i;
287
+ }
288
+ updateWheels(t) {
289
+ if (this.isCascade) {
290
+ if (this.cascadeJsonData = t, this.displayJson = [], this.initCascade(), this.initPosition.length < this.sliderList.length) {
291
+ const e = this.sliderList.length - this.initPosition.length;
292
+ for (let i = 0; i < e; i++)
293
+ this.initPosition.push(0);
294
+ }
295
+ this.setCurDistance(this.initPosition), this.fixRowStyle();
296
+ }
297
+ }
298
+ updateWheel(t, e) {
299
+ if (this.isCascade) {
300
+ r.log("error", "'updateWheel()' not support cascade json data, please use 'updateWheels()' instead to update the whole data source");
301
+ return;
302
+ }
303
+ let i = "";
304
+ i += this.getOptionsHtmlStr(e), this.wheelsData[t] = this.isJsonType ? { data: e } : e, this.sliderList[t].innerHTML = i;
305
+ }
306
+ fixRowStyle() {
307
+ if (this.initColWidth.length && this.initColWidth.length === this.wheelList.length) {
308
+ const e = this.initColWidth.reduce((i, s) => i + s, 0);
309
+ this.initColWidth.forEach((i, s) => {
310
+ this.wheelList[s].style.width = (i / e * 100).toFixed(2) + "%";
311
+ });
312
+ return;
313
+ }
314
+ const t = (100 / this.wheelList.length).toFixed(2);
315
+ for (let e = 0; e < this.wheelList.length; e++)
316
+ this.wheelList[e].style.width = t + "%";
317
+ }
318
+ getIndex(t) {
319
+ return Math.round((2 * this.optionHeight - t) / this.optionHeight);
320
+ }
321
+ getIndexArr() {
322
+ const t = [];
323
+ for (let e = 0; e < this.curDistance.length; e++)
324
+ t.push(this.getIndex(this.curDistance[e]));
325
+ return t;
326
+ }
327
+ getCurValue() {
328
+ const t = [], e = this.getIndexArr(), { keyMap: i } = this.config;
329
+ if (this.isCascade)
330
+ for (let s = 0; s < this.wheelList.length; s++) {
331
+ const n = this.displayJson[s][e[s]];
332
+ n && t.push({
333
+ [i.id]: n[i.id],
334
+ [i.value]: n[i.value]
335
+ });
336
+ }
337
+ else if (this.isJsonType)
338
+ for (let s = 0; s < this.curDistance.length; s++)
339
+ t.push(this.wheelsData[s].data[this.getIndex(this.curDistance[s])]);
340
+ else
341
+ for (let s = 0; s < this.curDistance.length; s++)
342
+ t.push(this.getInnerText(s));
343
+ return t;
344
+ }
345
+ getValue() {
346
+ return this.curValue;
347
+ }
348
+ calcDistance(t) {
349
+ return 2 * this.optionHeight - t * this.optionHeight;
350
+ }
351
+ setCurDistance(t) {
352
+ const e = [];
353
+ for (let i = 0; i < this.sliderList.length; i++)
354
+ e.push(this.calcDistance(t[i])), this.movePosition(this.sliderList[i], e[i]);
355
+ this.curDistance = e;
356
+ }
357
+ fixPosition(t) {
358
+ return -(this.getIndex(t) - 2) * this.optionHeight;
359
+ }
360
+ movePosition(t, e) {
361
+ t.style.transform = "translate3d(0," + e + "px, 0)";
362
+ }
363
+ locatePosition(t, e) {
364
+ this.curDistance[t] = this.calcDistance(e), this.movePosition(this.sliderList[t], this.curDistance[t]), this.isCascade && this.checkRange(t, this.getIndexArr());
365
+ }
366
+ updateCurDistance(t, e) {
367
+ this.curDistance[e] = parseInt(t.style.transform.split(",")[1]);
368
+ }
369
+ getInnerText(t) {
370
+ var s;
371
+ const e = this.sliderList[t].getElementsByTagName("li").length;
372
+ let i = this.getIndex(this.curDistance[t]);
373
+ return i >= e ? i = e - 1 : i < 0 && (i = 0), ((s = this.sliderList[t].getElementsByTagName("li")[i]) == null ? void 0 : s.innerText) || "";
374
+ }
375
+ touch(t) {
376
+ var l, o, d, a, c, u, f, v;
377
+ const i = (t.composedPath && t.composedPath()).find((m) => {
378
+ var p;
379
+ return (p = m.classList) == null ? void 0 : p.contains("ms-wheel");
770
380
  });
381
+ if (!i)
382
+ return;
383
+ const s = i.firstChild, n = parseInt(i.getAttribute("data-index") || "0");
384
+ switch (t.type) {
385
+ case "touchstart":
386
+ case "mousedown":
387
+ s.style.transition = "none 0s ease-out", this.startY = Math.floor(t instanceof TouchEvent ? t.touches[0].clientY : t.clientY), this.preMoveY = this.startY, t.type === "mousedown" && (this.enableClickStatus = !0);
388
+ break;
389
+ case "touchmove":
390
+ case "mousemove":
391
+ if (t.preventDefault(), t.type === "mousemove" && !this.enableClickStatus)
392
+ break;
393
+ this.moveY = Math.floor(t instanceof TouchEvent ? t.touches[0].clientY : t.clientY), this.offsetY = (this.moveY - this.preMoveY) * this.config.scrollSpeed, this.updateCurDistance(s, n), this.curDistance[n] = this.curDistance[n] + this.offsetY, this.movePosition(s, this.curDistance[n]), this.preMoveY = this.moveY;
394
+ break;
395
+ case "touchend":
396
+ case "mouseup":
397
+ if (s.style.transition = "transform 0.18s ease-out", this.moveEndY = Math.floor(t instanceof TouchEvent ? t.changedTouches[0].clientY : t.clientY), this.offsetSum = this.moveEndY - this.startY, this.oversizeBorder = -(s.getElementsByTagName("li").length - 3) * this.optionHeight, this.offsetSum == 0) {
398
+ const m = Math.floor((window.innerHeight - this.moveEndY) / 40);
399
+ if (m != 2) {
400
+ const p = m - 2, C = this.curDistance[n] + p * this.optionHeight;
401
+ C <= 2 * this.optionHeight && C >= this.oversizeBorder && (this.curDistance[n] = C, this.movePosition(s, this.curDistance[n]), (o = (l = this.config).transitionEnd) == null || o.call(l, this.getIndexArr(), this.getCurValue(), this), (a = (d = this.config).onTransitionEnd) == null || a.call(d, this.getCurValue(), this.getIndexArr(), this));
402
+ }
403
+ } else
404
+ this.updateCurDistance(s, n), this.curDistance[n] = this.fixPosition(this.curDistance[n]), this.curDistance[n] > 2 * this.optionHeight ? this.curDistance[n] = 2 * this.optionHeight : this.curDistance[n] < this.oversizeBorder && (this.curDistance[n] = this.oversizeBorder), this.movePosition(s, this.curDistance[n]), (u = (c = this.config).transitionEnd) == null || u.call(c, this.getIndexArr(), this.getCurValue(), this), (v = (f = this.config).onTransitionEnd) == null || v.call(f, this.getCurValue(), this.getIndexArr(), this);
405
+ t.type === "mouseup" && (this.enableClickStatus = !1), this.isCascade && this.checkRange(n, this.getIndexArr());
406
+ break;
407
+ }
771
408
  }
772
409
  };
410
+ let y = r;
411
+ h(y, "defaultConfig", {
412
+ keyMap: { id: "id", value: "value", childs: "childs" },
413
+ position: [],
414
+ colWidth: [],
415
+ title: "",
416
+ connector: " ",
417
+ ensureBtnText: "\u786E\u8BA4",
418
+ cancelBtnText: "\u53D6\u6D88",
419
+ triggerDisplayValue: !0,
420
+ scrollSpeed: 1
421
+ }), h(y, "REQUIRED_PARAMS", ["trigger", "wheels"]);
422
+
423
+ const ptcMobileSelectCss = ".ms-mobile-select{position:relative;z-index:0;opacity:0;visibility:hidden;-webkit-transition:opacity 0.4s, z-index 0.4s;transition:opacity 0.4s, z-index 0.4s}.ms-mobile-select *{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.ms-mobile-select .ms-gray-layer{position:fixed;top:0;left:0;bottom:0;right:0;background:rgba(0, 0, 0, 0.7);z-index:888;display:block}.ms-mobile-select .ms-content{width:100%;display:block;position:fixed;z-index:889;color:black;-webkit-transition:all 0.4s;transition:all 0.4s;bottom:-350px;left:0;background:white}.ms-mobile-select .ms-fix-width{width:90%;margin:0 auto;position:relative}.ms-mobile-select .ms-fix-width:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}.ms-mobile-select .ms-btn-bar{border-bottom:1px solid #dcdcdc;font-size:15px;height:45px;position:relative;text-align:center;line-height:45px}.ms-mobile-select .ms-cancel,.ms-mobile-select .ms-ensure{height:45px;width:55px;cursor:pointer;position:absolute;top:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.ms-mobile-select .ms-cancel{left:0;color:#666}.ms-mobile-select .ms-ensure{right:0;color:#1e83d3}.ms-mobile-select .ms-title{font-size:15px;padding:0 15%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ms-mobile-select .ms-panel:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}.ms-mobile-select .ms-wheels{width:100%;height:200px;overflow:hidden}.ms-mobile-select .ms-wheel{position:relative;z-index:0;float:left;width:50%;height:200px;overflow:hidden;-webkit-transition:width 0.3s ease;transition:width 0.3s ease}.ms-mobile-select .ms-select-container{display:block;text-align:center}.ms-mobile-select .ms-select-container li{font-size:15px;display:block;height:40px;line-height:40px;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.ms-mobile-select .ms-select-line{height:40px;width:100%;position:absolute;top:80px;pointer-events:none;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #dcdcdc;border-bottom:1px solid #dcdcdc}.ms-mobile-select .ms-shadow-mask{position:absolute;top:0;width:100%;height:200px;background:linear-gradient(to bottom, #fffffff5, #ffffffcc 25%, #ffffff00 49%, #ffffff00 51%, #ffffffcc 75%, #fffffff5);opacity:0.9;pointer-events:none}.ms-mobile-select.ms-show{opacity:1;z-index:10000;visibility:visible}.ms-mobile-select.ms-show .ms-content{bottom:0}.ms-default-trigger{min-height:1em;color:#888}body.ms-show{overflow-y:hidden}.mobile-select-wrapper{display:block}.mobile-select-wrapper div{display:inline;margin-right:var(--ptc-element-spacing-03);width:100%;font-family:var(--ptc-font-latin);font-weight:var(--ptc-font-weight-regular);font-size:var(--ptc-font-size-x-small);line-height:var(--ptc-line-height-densest);color:var(--color-white);height:18px}.mobileSelect .content{top:auto}.mobileSelect .content .btnBar{border-color:var(--color-gray-10)}.mobileSelect .content .btnBar .cancel,.mobileSelect .content .btnBar .ensure,.mobileSelect .content .btnBar .title{font-family:var(--ptc-font-latin);font-weight:var(--ptc-font-weight-semibold);font-size:var(--ptc-font-size-x-small);line-height:var(--ptc-line-height-densest)}.mobileSelect .content .btnBar .ensure,.mobileSelect .content .btnBar .cancel{transform:translateY(12.5px);width:125px}.mobileSelect .content .panel .wheel .selectContainer li{font-family:var(--ptc-font-latin);font-weight:var(--ptc-font-weight-semibold);font-size:var(--ptc-font-size-x-small);line-height:var(--ptc-line-height-densest);height:45px}ptc-responsive-wrapper.xsmall .mobile-select-wrapper,ptc-responsive-wrapper.small .mobile-select-wrapper{display:block}ptc-responsive-wrapper.medium .mobile-select-wrapper,ptc-responsive-wrapper.large .mobile-select-wrapper,ptc-responsive-wrapper.xlarge .mobile-select-wrapper,ptc-responsive-wrapper.xxlarge .mobile-select-wrapper,ptc-responsive-wrapper.large2k .mobile-select-wrapper,ptc-responsive-wrapper.large4k .mobile-select-wrapper{display:none}";
424
+
425
+ const PtcMobileSelect = class {
426
+ constructor(hostRef) {
427
+ registerInstance(this, hostRef);
428
+ this.triggerName = undefined;
429
+ this.selectedText = undefined;
430
+ this.wheelData = undefined;
431
+ this.selectedId = '';
432
+ this.ensureBtnText = 'Confirm';
433
+ this.cancelBtnText = 'Cancel';
434
+ this.listTitle = undefined;
435
+ }
436
+ render() {
437
+ return (h$1("div", { class: "mobile-select-wrapper" }, h$1("div", { id: this.triggerName }, this.selectedText, h$1("icon-asset", { type: "ptc", size: "x-small", name: "chevron-down", color: "white", "is-mobile-select": "true", "injected-style": "svg.ismobileselect{transform:translateX(10px);}" }))));
438
+ }
439
+ componentDidRender() {
440
+ let currentId = this.selectedId; //input current lang
441
+ let storeIndex = 0;
442
+ new y({
443
+ trigger: `#${this.triggerName}`,
444
+ title: `${this.listTitle ? this.listTitle : ''}`,
445
+ wheels: this.wheelData ? [{ data: this.wheelData }] : [{ data: ['test1', 'test2'] }],
446
+ position: [0],
447
+ ensureBtnText: this.ensureBtnText,
448
+ cancelBtnText: this.cancelBtnText,
449
+ ensureBtnColor: 'var(--color-gray-12)',
450
+ cancelBtnColor: 'var(--color-gray-12)',
451
+ titleColor: 'var(--color-gray-12)',
452
+ onShow: function (e) {
453
+ if (currentId) {
454
+ let liEle = document.querySelectorAll('.selectContainer li');
455
+ liEle.forEach((currentValue, currentIndex) => {
456
+ if (currentValue.getAttribute('data-id') == currentId) {
457
+ storeIndex = currentIndex;
458
+ return;
459
+ }
460
+ });
461
+ e.locatePosition(0, storeIndex);
462
+ }
463
+ else {
464
+ return;
465
+ }
466
+ },
467
+ callback: function (indexArr, data) {
468
+ if (data[0].id) {
469
+ window.location.href = data[0].id;
470
+ }
471
+ else {
472
+ console.log('href: ' + data[0].id + '; indexArr: ' + indexArr);
473
+ }
474
+ }.bind(this),
475
+ });
476
+ }
477
+ };
773
478
  PtcMobileSelect.style = ptcMobileSelectCss;
774
479
 
775
480
  export { PtcMobileSelect as ptc_mobile_select };