@ptcwebops/ptcw-design 0.8.2 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/dropdown-item.cjs.entry.js +10 -10
  3. package/dist/cjs/icon-asset.cjs.entry.js +42 -42
  4. package/dist/cjs/list-item.cjs.entry.js +19 -19
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/lottie-player.cjs.entry.js +354 -354
  7. package/dist/cjs/my-component.cjs.entry.js +15 -15
  8. package/dist/cjs/ptc-accordion-item.cjs.entry.js +83 -83
  9. package/dist/cjs/ptc-accordion.cjs.entry.js +35 -35
  10. package/dist/cjs/ptc-announcement.cjs.entry.js +51 -51
  11. package/dist/cjs/ptc-breadcrumb.cjs.entry.js +12 -12
  12. package/dist/cjs/ptc-button.cjs.entry.js +34 -34
  13. package/dist/cjs/ptc-card-bottom.cjs.entry.js +35 -35
  14. package/dist/cjs/ptc-card-content.cjs.entry.js +39 -39
  15. package/dist/cjs/ptc-card-wrapper.cjs.entry.js +35 -35
  16. package/dist/cjs/ptc-card_6.cjs.entry.js +454 -439
  17. package/dist/cjs/ptc-checkbox.cjs.entry.js +33 -33
  18. package/dist/cjs/ptc-collapse-list.cjs.entry.js +346 -346
  19. package/dist/cjs/ptc-container.cjs.entry.js +32 -32
  20. package/dist/cjs/ptc-dropdown.cjs.entry.js +65 -65
  21. package/dist/cjs/ptc-dynamic-card.cjs.entry.js +47 -47
  22. package/dist/cjs/ptc-ellipsis-dropdown.cjs.entry.js +38 -38
  23. package/dist/cjs/ptc-filter-tag.cjs.entry.js +58 -58
  24. package/dist/cjs/ptc-hero-footer-cta.cjs.entry.js +11 -11
  25. package/dist/cjs/ptc-hero.cjs.entry.js +18 -18
  26. package/dist/cjs/ptc-icon-list.cjs.entry.js +21 -21
  27. package/dist/cjs/ptc-icon-minimize.cjs.entry.js +36 -36
  28. package/dist/cjs/ptc-link.cjs.entry.js +28 -28
  29. package/dist/cjs/ptc-list.cjs.entry.js +50 -50
  30. package/dist/cjs/ptc-lottie.cjs.entry.js +10 -10
  31. package/dist/cjs/ptc-minimized-footer.cjs.entry.js +8 -8
  32. package/dist/cjs/ptc-minimized-header.cjs.entry.js +11 -11
  33. package/dist/cjs/ptc-mobile-select.cjs.entry.js +53 -53
  34. package/dist/cjs/ptc-modal.cjs.entry.js +143 -143
  35. package/dist/cjs/ptc-overlay.cjs.entry.js +20 -20
  36. package/dist/cjs/ptc-pagenation.cjs.entry.js +105 -105
  37. package/dist/cjs/ptc-previous-url.cjs.entry.js +10 -10
  38. package/dist/cjs/ptc-pricing-block.cjs.entry.js +16 -16
  39. package/dist/cjs/ptc-quote.cjs.entry.js +23 -23
  40. package/dist/cjs/ptc-readmore_2.cjs.entry.js +59 -59
  41. package/dist/cjs/ptc-responsive-wrapper.cjs.entry.js +54 -54
  42. package/dist/cjs/ptc-shopping-cart.cjs.entry.js +50 -50
  43. package/dist/cjs/ptc-social-share.cjs.entry.js +59 -59
  44. package/dist/cjs/ptc-span.cjs.entry.js +18 -18
  45. package/dist/cjs/ptc-sticky-icons.cjs.entry.js +32 -32
  46. package/dist/cjs/ptc-svg-btn.cjs.entry.js +73 -73
  47. package/dist/cjs/ptc-tab-list.cjs.entry.js +124 -124
  48. package/dist/cjs/ptc-text-copy-with-background.cjs.entry.js +20 -20
  49. package/dist/cjs/ptc-title.cjs.entry.js +66 -66
  50. package/dist/cjs/ptc-two-column-media.cjs.entry.js +15 -15
  51. package/dist/cjs/ptcw-design.cjs.js +1 -1
  52. package/dist/cjs/tab-content.cjs.entry.js +27 -27
  53. package/dist/cjs/tab-header.cjs.entry.js +45 -45
  54. package/dist/cjs/{utils-5245e89c.js → utils-2ac2a528.js} +79 -79
  55. package/dist/collection/components/dropdown-item/dropdown-item.js +61 -61
  56. package/dist/collection/components/icon-asset/icon-asset.css +4 -4
  57. package/dist/collection/components/icon-asset/icon-asset.js +199 -199
  58. package/dist/collection/components/icon-asset/media/brands.svg +1381 -1381
  59. package/dist/collection/components/icon-asset/media/designer.svg +379 -379
  60. package/dist/collection/components/icon-asset/media/regular.svg +463 -463
  61. package/dist/collection/components/icon-asset/media/solid.svg +3013 -3013
  62. package/dist/collection/components/icon-asset/media/svg-with-js.min.css +4 -4
  63. package/dist/collection/components/list-item/list-item.js +107 -107
  64. package/dist/collection/components/my-component/my-component.css +3 -3
  65. package/dist/collection/components/my-component/my-component.js +82 -82
  66. package/dist/collection/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.js +287 -287
  67. package/dist/collection/components/ptc-accordion/ptc-accordion.js +78 -78
  68. package/dist/collection/components/ptc-announcement/ptc-announcement.js +239 -239
  69. package/dist/collection/components/ptc-breadcrumb/ptc-breadcrumb.js +22 -22
  70. package/dist/collection/components/ptc-button/ptc-button.js +264 -264
  71. package/dist/collection/components/ptc-card/ptc-card.css +14 -3
  72. package/dist/collection/components/ptc-card/ptc-card.js +344 -312
  73. package/dist/collection/components/ptc-card-bottom/ptc-card-bottom.js +116 -116
  74. package/dist/collection/components/ptc-card-content/ptc-card-content.js +137 -137
  75. package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.js +151 -151
  76. package/dist/collection/components/ptc-checkbox/ptc-checkbox.js +118 -118
  77. package/dist/collection/components/ptc-collapse-list/ptc-collapse-list.js +586 -586
  78. package/dist/collection/components/ptc-container/ptc-container.js +120 -120
  79. package/dist/collection/components/ptc-date/ptc-date.js +190 -190
  80. package/dist/collection/components/ptc-dropdown/ptc-dropdown.css +1 -0
  81. package/dist/collection/components/ptc-dropdown/ptc-dropdown.js +162 -162
  82. package/dist/collection/components/ptc-dynamic-card/media/nav-active-dotslick.svg +15 -15
  83. package/dist/collection/components/ptc-dynamic-card/ptc-dynamic-card.js +183 -183
  84. package/dist/collection/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.js +122 -122
  85. package/dist/collection/components/ptc-filter-tag/ptc-filter-tag.css +1 -0
  86. package/dist/collection/components/ptc-filter-tag/ptc-filter-tag.js +113 -113
  87. package/dist/collection/components/ptc-hero/ptc-hero.js +86 -86
  88. package/dist/collection/components/ptc-hero-footer-cta/ptc-hero-footer-cta.js +78 -78
  89. package/dist/collection/components/ptc-icon-list/ptc-icon-list.js +127 -127
  90. package/dist/collection/components/ptc-icon-minimize/ptc-icon-minimize.js +87 -87
  91. package/dist/collection/components/ptc-img/ptc-img.js +296 -296
  92. package/dist/collection/components/ptc-link/ptc-link.js +203 -203
  93. package/dist/collection/components/ptc-list/ptc-list.js +100 -100
  94. package/dist/collection/components/ptc-lottie/ptc-lottie.css +5 -5
  95. package/dist/collection/components/ptc-lottie/ptc-lottie.js +62 -62
  96. package/dist/collection/components/ptc-minimized-footer/ptc-minimized-footer.js +18 -18
  97. package/dist/collection/components/ptc-minimized-header/ptc-minimized-header.js +81 -81
  98. package/dist/collection/components/ptc-mobile-select/ptc-mobile-select.js +190 -190
  99. package/dist/collection/components/ptc-modal/ptc-modal.js +347 -347
  100. package/dist/collection/components/ptc-overlay/ptc-overlay.js +105 -105
  101. package/dist/collection/components/ptc-pagenation/ptc-pagenation.js +322 -322
  102. package/dist/collection/components/ptc-para/ptc-para.js +232 -232
  103. package/dist/collection/components/ptc-picture/ptc-picture.js +452 -452
  104. package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +60 -60
  105. package/dist/collection/components/ptc-pricing-block/ptc-pricing-block.js +49 -49
  106. package/dist/collection/components/ptc-quote/ptc-quote.js +144 -144
  107. package/dist/collection/components/ptc-readmore/ptc-readmore.js +129 -129
  108. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.css +3 -3
  109. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.js +65 -65
  110. package/dist/collection/components/ptc-shopping-cart/ptc-shopping-cart.js +97 -97
  111. package/dist/collection/components/ptc-social-share/ptc-social-share.js +239 -239
  112. package/dist/collection/components/ptc-spacer/ptc-spacer.css +322 -322
  113. package/dist/collection/components/ptc-spacer/ptc-spacer.js +96 -96
  114. package/dist/collection/components/ptc-span/ptc-span.js +87 -87
  115. package/dist/collection/components/ptc-sticky-icons/ptc-sticky-icons.js +51 -51
  116. package/dist/collection/components/ptc-svg-btn/ptc-svg-btn.js +72 -72
  117. package/dist/collection/components/ptc-tab-list/ptc-tab-list.js +155 -155
  118. package/dist/collection/components/ptc-text-copy-with-background/ptc-text-copy-with-background.js +123 -123
  119. package/dist/collection/components/ptc-title/ptc-title.css +1 -0
  120. package/dist/collection/components/ptc-title/ptc-title.js +291 -291
  121. package/dist/collection/components/ptc-tooltip/ptc-tooltip.js +153 -153
  122. package/dist/collection/components/ptc-two-column-media/ptc-two-column-media.js +48 -48
  123. package/dist/collection/components/tab-content/tab-content.js +84 -84
  124. package/dist/collection/components/tab-header/tab-header.js +136 -136
  125. package/dist/collection/index.js +1 -1
  126. package/dist/collection/media/svg-imgs/Back-arrow.svg +11 -11
  127. package/dist/collection/media/svg-imgs/close.svg +10 -10
  128. package/dist/collection/media/svg-imgs/ptc-shopping-cart-black.svg +3 -3
  129. package/dist/collection/media/svg-imgs/ptc-shopping-cart-white.svg +3 -3
  130. package/dist/collection/media/svg-imgs/slider-arrow-left.svg +18 -18
  131. package/dist/collection/media/svg-imgs/slider-arrow-right.svg +18 -18
  132. package/dist/collection/media/svg-imgs/union.svg +3 -3
  133. package/dist/collection/utils/component.js +3 -3
  134. package/dist/collection/utils/interfaces.js +11 -11
  135. package/dist/collection/utils/utils.js +81 -81
  136. package/dist/custom-elements/index.js +3227 -3212
  137. package/dist/esm/dropdown-item.entry.js +10 -10
  138. package/dist/esm/icon-asset.entry.js +42 -42
  139. package/dist/esm/list-item.entry.js +19 -19
  140. package/dist/esm/loader.js +1 -1
  141. package/dist/esm/lottie-player.entry.js +354 -354
  142. package/dist/esm/my-component.entry.js +15 -15
  143. package/dist/esm/polyfills/core-js.js +0 -0
  144. package/dist/esm/polyfills/dom.js +0 -0
  145. package/dist/esm/polyfills/es5-html-element.js +0 -0
  146. package/dist/esm/polyfills/index.js +0 -0
  147. package/dist/esm/polyfills/system.js +0 -0
  148. package/dist/esm/ptc-accordion-item.entry.js +83 -83
  149. package/dist/esm/ptc-accordion.entry.js +35 -35
  150. package/dist/esm/ptc-announcement.entry.js +51 -51
  151. package/dist/esm/ptc-breadcrumb.entry.js +12 -12
  152. package/dist/esm/ptc-button.entry.js +34 -34
  153. package/dist/esm/ptc-card-bottom.entry.js +35 -35
  154. package/dist/esm/ptc-card-content.entry.js +39 -39
  155. package/dist/esm/ptc-card-wrapper.entry.js +35 -35
  156. package/dist/esm/ptc-card_6.entry.js +454 -439
  157. package/dist/esm/ptc-checkbox.entry.js +33 -33
  158. package/dist/esm/ptc-collapse-list.entry.js +346 -346
  159. package/dist/esm/ptc-container.entry.js +32 -32
  160. package/dist/esm/ptc-dropdown.entry.js +65 -65
  161. package/dist/esm/ptc-dynamic-card.entry.js +47 -47
  162. package/dist/esm/ptc-ellipsis-dropdown.entry.js +38 -38
  163. package/dist/esm/ptc-filter-tag.entry.js +58 -58
  164. package/dist/esm/ptc-hero-footer-cta.entry.js +11 -11
  165. package/dist/esm/ptc-hero.entry.js +18 -18
  166. package/dist/esm/ptc-icon-list.entry.js +21 -21
  167. package/dist/esm/ptc-icon-minimize.entry.js +36 -36
  168. package/dist/esm/ptc-link.entry.js +28 -28
  169. package/dist/esm/ptc-list.entry.js +50 -50
  170. package/dist/esm/ptc-lottie.entry.js +10 -10
  171. package/dist/esm/ptc-minimized-footer.entry.js +8 -8
  172. package/dist/esm/ptc-minimized-header.entry.js +11 -11
  173. package/dist/esm/ptc-mobile-select.entry.js +53 -53
  174. package/dist/esm/ptc-modal.entry.js +143 -143
  175. package/dist/esm/ptc-overlay.entry.js +20 -20
  176. package/dist/esm/ptc-pagenation.entry.js +105 -105
  177. package/dist/esm/ptc-previous-url.entry.js +10 -10
  178. package/dist/esm/ptc-pricing-block.entry.js +16 -16
  179. package/dist/esm/ptc-quote.entry.js +23 -23
  180. package/dist/esm/ptc-readmore_2.entry.js +59 -59
  181. package/dist/esm/ptc-responsive-wrapper.entry.js +54 -54
  182. package/dist/esm/ptc-shopping-cart.entry.js +50 -50
  183. package/dist/esm/ptc-social-share.entry.js +59 -59
  184. package/dist/esm/ptc-span.entry.js +18 -18
  185. package/dist/esm/ptc-sticky-icons.entry.js +32 -32
  186. package/dist/esm/ptc-svg-btn.entry.js +73 -73
  187. package/dist/esm/ptc-tab-list.entry.js +124 -124
  188. package/dist/esm/ptc-text-copy-with-background.entry.js +20 -20
  189. package/dist/esm/ptc-title.entry.js +66 -66
  190. package/dist/esm/ptc-two-column-media.entry.js +15 -15
  191. package/dist/esm/ptcw-design.js +1 -1
  192. package/dist/esm/tab-content.entry.js +27 -27
  193. package/dist/esm/tab-header.entry.js +45 -45
  194. package/dist/esm/{utils-646cc62f.js → utils-2dbb41dc.js} +79 -79
  195. package/dist/ptcw-design/media/brands.svg +1381 -1381
  196. package/dist/ptcw-design/media/designer.svg +379 -379
  197. package/dist/ptcw-design/media/nav-active-dotslick.svg +15 -15
  198. package/dist/ptcw-design/media/regular.svg +463 -463
  199. package/dist/ptcw-design/media/solid.svg +3013 -3013
  200. package/dist/ptcw-design/media/svg-with-js.min.css +4 -4
  201. package/dist/ptcw-design/{p-79c9547c.entry.js → p-1aa4d596.entry.js} +1 -1
  202. package/dist/ptcw-design/p-1c589f8f.entry.js +1 -0
  203. package/dist/ptcw-design/{p-482a8bc9.entry.js → p-5005c698.entry.js} +1 -1
  204. package/dist/ptcw-design/{p-b420e81a.entry.js → p-b5366d41.entry.js} +1 -1
  205. package/dist/ptcw-design/{p-f9694131.entry.js → p-e38a57ce.entry.js} +1 -1
  206. package/dist/ptcw-design/p-e75dc9f4.entry.js +1 -0
  207. package/dist/ptcw-design/ptcw-design.css +1 -1
  208. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  209. package/dist/types/components/dropdown-item/dropdown-item.d.ts +5 -5
  210. package/dist/types/components/icon-asset/icon-asset.d.ts +40 -40
  211. package/dist/types/components/list-item/list-item.d.ts +8 -8
  212. package/dist/types/components/my-component/my-component.d.ts +16 -16
  213. package/dist/types/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.d.ts +59 -59
  214. package/dist/types/components/ptc-accordion/ptc-accordion.d.ts +13 -13
  215. package/dist/types/components/ptc-announcement/ptc-announcement.d.ts +51 -51
  216. package/dist/types/components/ptc-breadcrumb/ptc-breadcrumb.d.ts +4 -4
  217. package/dist/types/components/ptc-button/ptc-button.d.ts +56 -56
  218. package/dist/types/components/ptc-card/ptc-card.d.ts +67 -62
  219. package/dist/types/components/ptc-card-bottom/ptc-card-bottom.d.ts +15 -15
  220. package/dist/types/components/ptc-card-content/ptc-card-content.d.ts +16 -16
  221. package/dist/types/components/ptc-card-wrapper/ptc-card-wrapper.d.ts +18 -18
  222. package/dist/types/components/ptc-checkbox/ptc-checkbox.d.ts +11 -11
  223. package/dist/types/components/ptc-collapse-list/ptc-collapse-list.d.ts +56 -56
  224. package/dist/types/components/ptc-container/ptc-container.d.ts +12 -12
  225. package/dist/types/components/ptc-date/ptc-date.d.ts +41 -41
  226. package/dist/types/components/ptc-dropdown/ptc-dropdown.d.ts +19 -19
  227. package/dist/types/components/ptc-dynamic-card/ptc-dynamic-card.d.ts +24 -24
  228. package/dist/types/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.d.ts +12 -12
  229. package/dist/types/components/ptc-filter-tag/ptc-filter-tag.d.ts +17 -17
  230. package/dist/types/components/ptc-hero/ptc-hero.d.ts +16 -16
  231. package/dist/types/components/ptc-hero-footer-cta/ptc-hero-footer-cta.d.ts +6 -6
  232. package/dist/types/components/ptc-icon-list/ptc-icon-list.d.ts +21 -21
  233. package/dist/types/components/ptc-icon-minimize/ptc-icon-minimize.d.ts +9 -9
  234. package/dist/types/components/ptc-img/ptc-img.d.ts +51 -51
  235. package/dist/types/components/ptc-link/ptc-link.d.ts +40 -40
  236. package/dist/types/components/ptc-list/ptc-list.d.ts +8 -8
  237. package/dist/types/components/ptc-lottie/ptc-lottie.d.ts +12 -12
  238. package/dist/types/components/ptc-minimized-footer/ptc-minimized-footer.d.ts +3 -3
  239. package/dist/types/components/ptc-minimized-header/ptc-minimized-header.d.ts +6 -6
  240. package/dist/types/components/ptc-mobile-select/ptc-mobile-select.d.ts +36 -36
  241. package/dist/types/components/ptc-modal/ptc-modal.d.ts +59 -59
  242. package/dist/types/components/ptc-overlay/ptc-overlay.d.ts +20 -20
  243. package/dist/types/components/ptc-pagenation/ptc-pagenation.d.ts +27 -27
  244. package/dist/types/components/ptc-para/ptc-para.d.ts +43 -43
  245. package/dist/types/components/ptc-picture/ptc-picture.d.ts +93 -93
  246. package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +5 -5
  247. package/dist/types/components/ptc-pricing-block/ptc-pricing-block.d.ts +5 -5
  248. package/dist/types/components/ptc-quote/ptc-quote.d.ts +29 -29
  249. package/dist/types/components/ptc-readmore/ptc-readmore.d.ts +27 -27
  250. package/dist/types/components/ptc-responsive-wrapper/ptc-responsive-wrapper.d.ts +8 -8
  251. package/dist/types/components/ptc-shopping-cart/ptc-shopping-cart.d.ts +6 -6
  252. package/dist/types/components/ptc-social-share/ptc-social-share.d.ts +33 -33
  253. package/dist/types/components/ptc-spacer/ptc-spacer.d.ts +16 -16
  254. package/dist/types/components/ptc-span/ptc-span.d.ts +16 -16
  255. package/dist/types/components/ptc-sticky-icons/ptc-sticky-icons.d.ts +7 -7
  256. package/dist/types/components/ptc-svg-btn/ptc-svg-btn.d.ts +12 -12
  257. package/dist/types/components/ptc-tab-list/ptc-tab-list.d.ts +15 -15
  258. package/dist/types/components/ptc-text-copy-with-background/ptc-text-copy-with-background.d.ts +25 -25
  259. package/dist/types/components/ptc-title/ptc-title.d.ts +50 -50
  260. package/dist/types/components/ptc-tooltip/ptc-tooltip.d.ts +34 -34
  261. package/dist/types/components/ptc-two-column-media/ptc-two-column-media.d.ts +9 -9
  262. package/dist/types/components/tab-content/tab-content.d.ts +12 -12
  263. package/dist/types/components/tab-header/tab-header.d.ts +14 -14
  264. package/dist/types/components.d.ts +86 -78
  265. package/dist/types/global.d.ts +1072 -1072
  266. package/dist/types/index.d.ts +1 -1
  267. package/dist/types/utils/component.d.ts +1 -1
  268. package/dist/types/utils/interfaces.d.ts +31 -31
  269. package/dist/types/utils/utils.d.ts +4 -4
  270. package/package.json +61 -61
  271. package/readme.md +10 -10
  272. package/dist/ptcw-design/p-26fc6151.entry.js +0 -1
  273. package/dist/ptcw-design/p-2f7adf9a.entry.js +0 -1
  274. /package/dist/ptcw-design/{p-e121ff2a.js → p-5e98555a.js} +0 -0
@@ -1,296 +1,296 @@
1
- import { Host, h } from '@stencil/core';
2
- import { ResponsiveBgVariables } from '../../utils/interfaces';
3
- export class PtcImg {
4
- constructor() {
5
- this.sizeXs = '510x340';
6
- this.sizeSm = '1240x496';
7
- this.sizeMd = '1366x500';
8
- this.sizeLg = '1920x1080';
9
- this.imgUrl = undefined;
10
- this.imageType = 'smart-bg';
11
- this.borderRadius = '';
12
- this.loadMode = 'lazy-bg';
13
- }
14
- /**
15
- * Image Z Index
16
- */
17
- // @Prop() imageZIndex: 'z-index-auto' | 'z-index-n-2' | 'z-index-n-1' | 'z-index-p-1' | 'z-index-p-2' = 'z-index-auto';
18
- WindowResize() {
19
- this.setResponsiveBg();
20
- }
21
- render() {
22
- const classMap = this.getCssClassMap();
23
- return (h(Host, null, h("div", { class: classMap, "data-xs": `${this.imgUrl}:${this.sizeXs}`, "data-sm": `${this.imgUrl}:${this.sizeSm}`, "data-md": `${this.imgUrl}:${this.sizeMd}`, "data-lg": `${this.imgUrl}:${this.sizeLg}` }, this.imageType == 'smart-bg' ? h("slot", null) : null)));
24
- }
25
- componentDidLoad() {
26
- this.addIntersectionObserver();
27
- this.setResponsiveBg();
28
- }
29
- componentWillUpdate() {
30
- // console.log('componentWillUpdate!');
31
- this.addIntersectionObserver();
32
- this.setResponsiveBg();
33
- }
34
- //responsive image
35
- setResponsiveBg() {
36
- // Define local variables
37
- let backgrounds = (this.el || document).querySelectorAll(ResponsiveBgVariables.selector), el, elData, currentBreakpoint = this.getCurrentBreakPoints();
38
- // console.log('current breakpoint: ' + currentBreakpoint);
39
- // Loop through all target elements
40
- for (var i = 0, len = backgrounds.length; i < len; i++) {
41
- // Set current variables
42
- el = backgrounds[i];
43
- elData = el.getAttribute('data-' + currentBreakpoint);
44
- // If the data attribute exists, set the background
45
- if (elData !== null) {
46
- el.style.backgroundImage = "url('" + elData + "')";
47
- }
48
- else {
49
- if (typeof console == 'object') {
50
- console.warn('Data attribute: data-' + currentBreakpoint + ' not found on element:\n\n' + el.outerHTML + '\n\n\n');
51
- }
52
- }
53
- }
54
- }
55
- //lazy loading
56
- addIntersectionObserver() {
57
- if (!this.imgUrl) {
58
- console.log('no image!');
59
- return;
60
- }
61
- if ('IntersectionObserver' in window) {
62
- let lazyLoadBgs = (this.el || document).querySelectorAll('.lazy-bg');
63
- let bgObserver = new IntersectionObserver(entries => {
64
- entries.forEach(entry => {
65
- if (entry.isIntersecting) {
66
- const image = entry.target;
67
- image.classList.remove('lazy-bg');
68
- // console.log('loaded');
69
- bgObserver.unobserve(image);
70
- }
71
- });
72
- });
73
- lazyLoadBgs.forEach(image => {
74
- bgObserver.observe(image);
75
- });
76
- }
77
- else {
78
- // fall back to setTimeout for Safari and IE
79
- // setTimeout(() => {};
80
- // }, 5000);
81
- }
82
- }
83
- getCssClassMap() {
84
- return {
85
- [this.imageType]: true,
86
- 'ptc-img': true,
87
- [this.borderRadius]: true,
88
- [this.loadMode]: true,
89
- // [this.imageZIndex] : true
90
- };
91
- }
92
- getCurrentBreakPoints() {
93
- // Define local variables
94
- let doc = window.document, temp = doc.createElement('div'), env;
95
- // Append test node
96
- doc.body.appendChild(temp);
97
- // Loop through breakpoints
98
- for (let i = ResponsiveBgVariables.envs.length - 1; i >= 0; i--) {
99
- env = ResponsiveBgVariables.envs[i];
100
- // Add classes
101
- temp.className = 'hidden-' + env;
102
- // Found breakpoint
103
- if (temp.offsetParent === null) {
104
- // Remove our test node
105
- doc.body.removeChild(temp);
106
- // Return current breakpoint
107
- return env;
108
- }
109
- }
110
- // Breakpoint not found, try fallback
111
- doc.body.removeChild(temp);
112
- return this.getFallbackBreakpoint();
113
- }
114
- getFallbackBreakpoint() {
115
- if (window.matchMedia('(min-width: 992px)').matches) {
116
- return 'lg';
117
- }
118
- else if (window.matchMedia('(min-width: 768px)').matches) {
119
- return 'md';
120
- }
121
- else if (window.matchMedia('(min-width: 576px)').matches) {
122
- return 'sm';
123
- }
124
- else {
125
- return 'xs';
126
- }
127
- }
128
- static get is() { return "ptc-img"; }
129
- static get originalStyleUrls() {
130
- return {
131
- "$": ["ptc-img.scss"]
132
- };
133
- }
134
- static get styleUrls() {
135
- return {
136
- "$": ["ptc-img.css"]
137
- };
138
- }
139
- static get properties() {
140
- return {
141
- "sizeXs": {
142
- "type": "string",
143
- "mutable": true,
144
- "complexType": {
145
- "original": "string",
146
- "resolved": "string",
147
- "references": {}
148
- },
149
- "required": false,
150
- "optional": false,
151
- "docs": {
152
- "tags": [],
153
- "text": "Image size for smallest screen\r\n<=767px"
154
- },
155
- "attribute": "size-xs",
156
- "reflect": false,
157
- "defaultValue": "'510x340'"
158
- },
159
- "sizeSm": {
160
- "type": "string",
161
- "mutable": true,
162
- "complexType": {
163
- "original": "string",
164
- "resolved": "string",
165
- "references": {}
166
- },
167
- "required": false,
168
- "optional": false,
169
- "docs": {
170
- "tags": [],
171
- "text": "Image size for small screen\r\n>=768px and <=991px"
172
- },
173
- "attribute": "size-sm",
174
- "reflect": false,
175
- "defaultValue": "'1240x496'"
176
- },
177
- "sizeMd": {
178
- "type": "string",
179
- "mutable": true,
180
- "complexType": {
181
- "original": "string",
182
- "resolved": "string",
183
- "references": {}
184
- },
185
- "required": false,
186
- "optional": false,
187
- "docs": {
188
- "tags": [],
189
- "text": "Image size for medium screen\r\n>=992px and <=1199px"
190
- },
191
- "attribute": "size-md",
192
- "reflect": false,
193
- "defaultValue": "'1366x500'"
194
- },
195
- "sizeLg": {
196
- "type": "string",
197
- "mutable": true,
198
- "complexType": {
199
- "original": "string",
200
- "resolved": "string",
201
- "references": {}
202
- },
203
- "required": false,
204
- "optional": false,
205
- "docs": {
206
- "tags": [],
207
- "text": "Image solution for large screen\r\n>=1200px"
208
- },
209
- "attribute": "size-lg",
210
- "reflect": false,
211
- "defaultValue": "'1920x1080'"
212
- },
213
- "imgUrl": {
214
- "type": "string",
215
- "mutable": false,
216
- "complexType": {
217
- "original": "string",
218
- "resolved": "string",
219
- "references": {}
220
- },
221
- "required": false,
222
- "optional": false,
223
- "docs": {
224
- "tags": [],
225
- "text": "Image Src"
226
- },
227
- "attribute": "img-url",
228
- "reflect": false
229
- },
230
- "imageType": {
231
- "type": "string",
232
- "mutable": false,
233
- "complexType": {
234
- "original": "'smart-bg' | 'smart-img'",
235
- "resolved": "\"smart-bg\" | \"smart-img\"",
236
- "references": {}
237
- },
238
- "required": false,
239
- "optional": false,
240
- "docs": {
241
- "tags": [],
242
- "text": "Image type"
243
- },
244
- "attribute": "image-type",
245
- "reflect": false,
246
- "defaultValue": "'smart-bg'"
247
- },
248
- "borderRadius": {
249
- "type": "string",
250
- "mutable": false,
251
- "complexType": {
252
- "original": "'radius-standard' | 'radius-large' | ''",
253
- "resolved": "\"\" | \"radius-large\" | \"radius-standard\"",
254
- "references": {}
255
- },
256
- "required": false,
257
- "optional": false,
258
- "docs": {
259
- "tags": [],
260
- "text": "Image border shape"
261
- },
262
- "attribute": "border-radius",
263
- "reflect": false,
264
- "defaultValue": "''"
265
- },
266
- "loadMode": {
267
- "type": "string",
268
- "mutable": false,
269
- "complexType": {
270
- "original": "'lazy-bg' | 'eager-bg'",
271
- "resolved": "\"eager-bg\" | \"lazy-bg\"",
272
- "references": {}
273
- },
274
- "required": false,
275
- "optional": false,
276
- "docs": {
277
- "tags": [],
278
- "text": "Lazy loading option"
279
- },
280
- "attribute": "load-mode",
281
- "reflect": false,
282
- "defaultValue": "'lazy-bg'"
283
- }
284
- };
285
- }
286
- static get elementRef() { return "el"; }
287
- static get listeners() {
288
- return [{
289
- "name": "resize",
290
- "method": "WindowResize",
291
- "target": "window",
292
- "capture": false,
293
- "passive": true
294
- }];
295
- }
296
- }
1
+ import { Host, h } from '@stencil/core';
2
+ import { ResponsiveBgVariables } from '../../utils/interfaces';
3
+ export class PtcImg {
4
+ constructor() {
5
+ this.sizeXs = '510x340';
6
+ this.sizeSm = '1240x496';
7
+ this.sizeMd = '1366x500';
8
+ this.sizeLg = '1920x1080';
9
+ this.imgUrl = undefined;
10
+ this.imageType = 'smart-bg';
11
+ this.borderRadius = '';
12
+ this.loadMode = 'lazy-bg';
13
+ }
14
+ /**
15
+ * Image Z Index
16
+ */
17
+ // @Prop() imageZIndex: 'z-index-auto' | 'z-index-n-2' | 'z-index-n-1' | 'z-index-p-1' | 'z-index-p-2' = 'z-index-auto';
18
+ WindowResize() {
19
+ this.setResponsiveBg();
20
+ }
21
+ render() {
22
+ const classMap = this.getCssClassMap();
23
+ return (h(Host, null, h("div", { class: classMap, "data-xs": `${this.imgUrl}:${this.sizeXs}`, "data-sm": `${this.imgUrl}:${this.sizeSm}`, "data-md": `${this.imgUrl}:${this.sizeMd}`, "data-lg": `${this.imgUrl}:${this.sizeLg}` }, this.imageType == 'smart-bg' ? h("slot", null) : null)));
24
+ }
25
+ componentDidLoad() {
26
+ this.addIntersectionObserver();
27
+ this.setResponsiveBg();
28
+ }
29
+ componentWillUpdate() {
30
+ // console.log('componentWillUpdate!');
31
+ this.addIntersectionObserver();
32
+ this.setResponsiveBg();
33
+ }
34
+ //responsive image
35
+ setResponsiveBg() {
36
+ // Define local variables
37
+ let backgrounds = (this.el || document).querySelectorAll(ResponsiveBgVariables.selector), el, elData, currentBreakpoint = this.getCurrentBreakPoints();
38
+ // console.log('current breakpoint: ' + currentBreakpoint);
39
+ // Loop through all target elements
40
+ for (var i = 0, len = backgrounds.length; i < len; i++) {
41
+ // Set current variables
42
+ el = backgrounds[i];
43
+ elData = el.getAttribute('data-' + currentBreakpoint);
44
+ // If the data attribute exists, set the background
45
+ if (elData !== null) {
46
+ el.style.backgroundImage = "url('" + elData + "')";
47
+ }
48
+ else {
49
+ if (typeof console == 'object') {
50
+ console.warn('Data attribute: data-' + currentBreakpoint + ' not found on element:\n\n' + el.outerHTML + '\n\n\n');
51
+ }
52
+ }
53
+ }
54
+ }
55
+ //lazy loading
56
+ addIntersectionObserver() {
57
+ if (!this.imgUrl) {
58
+ console.log('no image!');
59
+ return;
60
+ }
61
+ if ('IntersectionObserver' in window) {
62
+ let lazyLoadBgs = (this.el || document).querySelectorAll('.lazy-bg');
63
+ let bgObserver = new IntersectionObserver(entries => {
64
+ entries.forEach(entry => {
65
+ if (entry.isIntersecting) {
66
+ const image = entry.target;
67
+ image.classList.remove('lazy-bg');
68
+ // console.log('loaded');
69
+ bgObserver.unobserve(image);
70
+ }
71
+ });
72
+ });
73
+ lazyLoadBgs.forEach(image => {
74
+ bgObserver.observe(image);
75
+ });
76
+ }
77
+ else {
78
+ // fall back to setTimeout for Safari and IE
79
+ // setTimeout(() => {};
80
+ // }, 5000);
81
+ }
82
+ }
83
+ getCssClassMap() {
84
+ return {
85
+ [this.imageType]: true,
86
+ 'ptc-img': true,
87
+ [this.borderRadius]: true,
88
+ [this.loadMode]: true,
89
+ // [this.imageZIndex] : true
90
+ };
91
+ }
92
+ getCurrentBreakPoints() {
93
+ // Define local variables
94
+ let doc = window.document, temp = doc.createElement('div'), env;
95
+ // Append test node
96
+ doc.body.appendChild(temp);
97
+ // Loop through breakpoints
98
+ for (let i = ResponsiveBgVariables.envs.length - 1; i >= 0; i--) {
99
+ env = ResponsiveBgVariables.envs[i];
100
+ // Add classes
101
+ temp.className = 'hidden-' + env;
102
+ // Found breakpoint
103
+ if (temp.offsetParent === null) {
104
+ // Remove our test node
105
+ doc.body.removeChild(temp);
106
+ // Return current breakpoint
107
+ return env;
108
+ }
109
+ }
110
+ // Breakpoint not found, try fallback
111
+ doc.body.removeChild(temp);
112
+ return this.getFallbackBreakpoint();
113
+ }
114
+ getFallbackBreakpoint() {
115
+ if (window.matchMedia('(min-width: 992px)').matches) {
116
+ return 'lg';
117
+ }
118
+ else if (window.matchMedia('(min-width: 768px)').matches) {
119
+ return 'md';
120
+ }
121
+ else if (window.matchMedia('(min-width: 576px)').matches) {
122
+ return 'sm';
123
+ }
124
+ else {
125
+ return 'xs';
126
+ }
127
+ }
128
+ static get is() { return "ptc-img"; }
129
+ static get originalStyleUrls() {
130
+ return {
131
+ "$": ["ptc-img.scss"]
132
+ };
133
+ }
134
+ static get styleUrls() {
135
+ return {
136
+ "$": ["ptc-img.css"]
137
+ };
138
+ }
139
+ static get properties() {
140
+ return {
141
+ "sizeXs": {
142
+ "type": "string",
143
+ "mutable": true,
144
+ "complexType": {
145
+ "original": "string",
146
+ "resolved": "string",
147
+ "references": {}
148
+ },
149
+ "required": false,
150
+ "optional": false,
151
+ "docs": {
152
+ "tags": [],
153
+ "text": "Image size for smallest screen\n<=767px"
154
+ },
155
+ "attribute": "size-xs",
156
+ "reflect": false,
157
+ "defaultValue": "'510x340'"
158
+ },
159
+ "sizeSm": {
160
+ "type": "string",
161
+ "mutable": true,
162
+ "complexType": {
163
+ "original": "string",
164
+ "resolved": "string",
165
+ "references": {}
166
+ },
167
+ "required": false,
168
+ "optional": false,
169
+ "docs": {
170
+ "tags": [],
171
+ "text": "Image size for small screen\n>=768px and <=991px"
172
+ },
173
+ "attribute": "size-sm",
174
+ "reflect": false,
175
+ "defaultValue": "'1240x496'"
176
+ },
177
+ "sizeMd": {
178
+ "type": "string",
179
+ "mutable": true,
180
+ "complexType": {
181
+ "original": "string",
182
+ "resolved": "string",
183
+ "references": {}
184
+ },
185
+ "required": false,
186
+ "optional": false,
187
+ "docs": {
188
+ "tags": [],
189
+ "text": "Image size for medium screen\n>=992px and <=1199px"
190
+ },
191
+ "attribute": "size-md",
192
+ "reflect": false,
193
+ "defaultValue": "'1366x500'"
194
+ },
195
+ "sizeLg": {
196
+ "type": "string",
197
+ "mutable": true,
198
+ "complexType": {
199
+ "original": "string",
200
+ "resolved": "string",
201
+ "references": {}
202
+ },
203
+ "required": false,
204
+ "optional": false,
205
+ "docs": {
206
+ "tags": [],
207
+ "text": "Image solution for large screen\n>=1200px"
208
+ },
209
+ "attribute": "size-lg",
210
+ "reflect": false,
211
+ "defaultValue": "'1920x1080'"
212
+ },
213
+ "imgUrl": {
214
+ "type": "string",
215
+ "mutable": false,
216
+ "complexType": {
217
+ "original": "string",
218
+ "resolved": "string",
219
+ "references": {}
220
+ },
221
+ "required": false,
222
+ "optional": false,
223
+ "docs": {
224
+ "tags": [],
225
+ "text": "Image Src"
226
+ },
227
+ "attribute": "img-url",
228
+ "reflect": false
229
+ },
230
+ "imageType": {
231
+ "type": "string",
232
+ "mutable": false,
233
+ "complexType": {
234
+ "original": "'smart-bg' | 'smart-img'",
235
+ "resolved": "\"smart-bg\" | \"smart-img\"",
236
+ "references": {}
237
+ },
238
+ "required": false,
239
+ "optional": false,
240
+ "docs": {
241
+ "tags": [],
242
+ "text": "Image type"
243
+ },
244
+ "attribute": "image-type",
245
+ "reflect": false,
246
+ "defaultValue": "'smart-bg'"
247
+ },
248
+ "borderRadius": {
249
+ "type": "string",
250
+ "mutable": false,
251
+ "complexType": {
252
+ "original": "'radius-standard' | 'radius-large' | ''",
253
+ "resolved": "\"\" | \"radius-large\" | \"radius-standard\"",
254
+ "references": {}
255
+ },
256
+ "required": false,
257
+ "optional": false,
258
+ "docs": {
259
+ "tags": [],
260
+ "text": "Image border shape"
261
+ },
262
+ "attribute": "border-radius",
263
+ "reflect": false,
264
+ "defaultValue": "''"
265
+ },
266
+ "loadMode": {
267
+ "type": "string",
268
+ "mutable": false,
269
+ "complexType": {
270
+ "original": "'lazy-bg' | 'eager-bg'",
271
+ "resolved": "\"eager-bg\" | \"lazy-bg\"",
272
+ "references": {}
273
+ },
274
+ "required": false,
275
+ "optional": false,
276
+ "docs": {
277
+ "tags": [],
278
+ "text": "Lazy loading option"
279
+ },
280
+ "attribute": "load-mode",
281
+ "reflect": false,
282
+ "defaultValue": "'lazy-bg'"
283
+ }
284
+ };
285
+ }
286
+ static get elementRef() { return "el"; }
287
+ static get listeners() {
288
+ return [{
289
+ "name": "resize",
290
+ "method": "WindowResize",
291
+ "target": "window",
292
+ "capture": false,
293
+ "passive": true
294
+ }];
295
+ }
296
+ }