@ptcwebops/ptcw-design 0.6.5 → 0.6.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 (253) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/dropdown-item.cjs.entry.js +10 -10
  3. package/dist/cjs/icon-asset_13.cjs.entry.js +691 -691
  4. package/dist/cjs/{interfaces-574e6df7.js → interfaces-0ecd8027.js} +9 -9
  5. package/dist/cjs/list-item.cjs.entry.js +20 -20
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/lottie-player.cjs.entry.js +354 -354
  8. package/dist/cjs/my-component.cjs.entry.js +12 -12
  9. package/dist/cjs/ptc-accordion-item.cjs.entry.js +97 -97
  10. package/dist/cjs/ptc-accordion.cjs.entry.js +38 -38
  11. package/dist/cjs/ptc-announcement.cjs.entry.js +37 -37
  12. package/dist/cjs/ptc-breadcrumb.cjs.entry.js +12 -12
  13. package/dist/cjs/ptc-card-bottom.cjs.entry.js +31 -31
  14. package/dist/cjs/ptc-card-content_2.cjs.entry.js +204 -204
  15. package/dist/cjs/ptc-card-plm.cjs.entry.js +16 -16
  16. package/dist/cjs/ptc-card.cjs.entry.js +68 -68
  17. package/dist/cjs/ptc-collapse-list.cjs.entry.js +191 -191
  18. package/dist/cjs/ptc-date.cjs.entry.js +48 -48
  19. package/dist/cjs/ptc-dynamic-card.cjs.entry.js +40 -40
  20. package/dist/cjs/ptc-ellipsis-dropdown.cjs.entry.js +37 -37
  21. package/dist/cjs/ptc-hero-footer-cta.cjs.entry.js +8 -8
  22. package/dist/cjs/ptc-hero.cjs.entry.js +18 -18
  23. package/dist/cjs/ptc-icon-list.cjs.entry.js +32 -32
  24. package/dist/cjs/ptc-img.cjs.entry.js +149 -149
  25. package/dist/cjs/ptc-list.cjs.entry.js +50 -50
  26. package/dist/cjs/ptc-lottie.cjs.entry.js +12 -12
  27. package/dist/cjs/ptc-minimized-footer.cjs.entry.js +8 -8
  28. package/dist/cjs/ptc-minimized-header.cjs.entry.js +11 -11
  29. package/dist/cjs/ptc-mobile-select.cjs.entry.js +69 -69
  30. package/dist/cjs/ptc-nav-item.cjs.entry.js +83 -83
  31. package/dist/cjs/ptc-nav.cjs.entry.js +8 -8
  32. package/dist/cjs/ptc-overlay.cjs.entry.js +20 -20
  33. package/dist/cjs/ptc-pagenation.cjs.entry.js +104 -104
  34. package/dist/cjs/ptc-previous-url.cjs.entry.js +8 -8
  35. package/dist/cjs/ptc-pricing-block.cjs.entry.js +16 -15
  36. package/dist/cjs/ptc-quote.cjs.entry.js +25 -25
  37. package/dist/cjs/ptc-responsive-wrapper.cjs.entry.js +54 -54
  38. package/dist/cjs/ptc-social-share.cjs.entry.js +64 -64
  39. package/dist/cjs/ptc-span.cjs.entry.js +23 -23
  40. package/dist/cjs/ptc-svg-btn.cjs.entry.js +75 -75
  41. package/dist/cjs/ptc-tab-list.cjs.entry.js +119 -119
  42. package/dist/cjs/ptc-two-column-media.cjs.entry.js +14 -14
  43. package/dist/cjs/ptcw-design.cjs.js +1 -1
  44. package/dist/cjs/tab-content.cjs.entry.js +27 -27
  45. package/dist/cjs/tab-header.cjs.entry.js +44 -44
  46. package/dist/cjs/{utils-1c17977e.js → utils-dc2c222f.js} +64 -64
  47. package/dist/collection/components/dropdown-item/dropdown-item.js +56 -56
  48. package/dist/collection/components/icon-asset/icon-asset.css +4 -4
  49. package/dist/collection/components/icon-asset/icon-asset.js +217 -217
  50. package/dist/collection/components/icon-asset/media/brands.svg +1381 -1381
  51. package/dist/collection/components/icon-asset/media/designer.svg +365 -365
  52. package/dist/collection/components/icon-asset/media/regular.svg +463 -463
  53. package/dist/collection/components/icon-asset/media/solid.svg +3013 -3013
  54. package/dist/collection/components/icon-asset/media/svg-with-js.min.css +4 -4
  55. package/dist/collection/components/list-item/list-item.js +104 -104
  56. package/dist/collection/components/my-component/my-component.css +3 -3
  57. package/dist/collection/components/my-component/my-component.js +73 -73
  58. package/dist/collection/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.js +296 -296
  59. package/dist/collection/components/ptc-accordion/ptc-accordion.js +74 -74
  60. package/dist/collection/components/ptc-announcement/ptc-announcement.js +210 -210
  61. package/dist/collection/components/ptc-breadcrumb/ptc-breadcrumb.js +21 -21
  62. package/dist/collection/components/ptc-button/ptc-button.js +293 -293
  63. package/dist/collection/components/ptc-card/ptc-card.js +301 -301
  64. package/dist/collection/components/ptc-card-bottom/ptc-card-bottom.js +105 -105
  65. package/dist/collection/components/ptc-card-content/ptc-card-content.js +109 -109
  66. package/dist/collection/components/ptc-card-plm/ptc-card-plm.js +97 -97
  67. package/dist/collection/components/ptc-checkbox/ptc-checkbox.js +114 -114
  68. package/dist/collection/components/ptc-collapse-list/ptc-collapse-list.js +288 -288
  69. package/dist/collection/components/ptc-container/ptc-container.js +119 -119
  70. package/dist/collection/components/ptc-date/ptc-date.js +201 -201
  71. package/dist/collection/components/ptc-dropdown/ptc-dropdown.js +156 -156
  72. package/dist/collection/components/ptc-dynamic-card/ptc-dynamic-card.js +156 -156
  73. package/dist/collection/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.js +115 -115
  74. package/dist/collection/components/ptc-filter-tag/ptc-filter-tag.js +70 -70
  75. package/dist/collection/components/ptc-hero/ptc-hero.js +67 -67
  76. package/dist/collection/components/ptc-hero-footer-cta/ptc-hero-footer-cta.js +77 -77
  77. package/dist/collection/components/ptc-icon-list/ptc-icon-list.js +145 -145
  78. package/dist/collection/components/ptc-icon-minimize/ptc-icon-minimize.js +86 -86
  79. package/dist/collection/components/ptc-img/ptc-img.js +314 -314
  80. package/dist/collection/components/ptc-link/ptc-link.js +198 -198
  81. package/dist/collection/components/ptc-list/ptc-list.js +95 -95
  82. package/dist/collection/components/ptc-lottie/ptc-lottie.css +5 -5
  83. package/dist/collection/components/ptc-lottie/ptc-lottie.js +58 -58
  84. package/dist/collection/components/ptc-minimized-footer/ptc-minimized-footer.js +17 -17
  85. package/dist/collection/components/ptc-minimized-header/ptc-minimized-header.js +80 -80
  86. package/dist/collection/components/ptc-mobile-select/ptc-mobile-select.js +221 -221
  87. package/dist/collection/components/ptc-modal/ptc-modal.js +337 -337
  88. package/dist/collection/components/ptc-nav/ptc-nav.js +21 -21
  89. package/dist/collection/components/ptc-nav-item/ptc-nav-item.js +252 -252
  90. package/dist/collection/components/ptc-overlay/ptc-overlay.js +99 -99
  91. package/dist/collection/components/ptc-pagenation/ptc-pagenation.js +317 -317
  92. package/dist/collection/components/ptc-para/ptc-para.js +167 -167
  93. package/dist/collection/components/ptc-picture/ptc-picture.js +474 -474
  94. package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +54 -54
  95. package/dist/collection/components/ptc-pricing-block/ptc-pricing-block.css +6 -1
  96. package/dist/collection/components/ptc-pricing-block/ptc-pricing-block.js +45 -25
  97. package/dist/collection/components/ptc-quote/ptc-quote.js +154 -154
  98. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.css +3 -3
  99. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.js +62 -62
  100. package/dist/collection/components/ptc-shopping-cart/ptc-shopping-cart.js +91 -91
  101. package/dist/collection/components/ptc-social-share/ptc-social-share.js +206 -206
  102. package/dist/collection/components/ptc-spacer/ptc-spacer.css +322 -322
  103. package/dist/collection/components/ptc-spacer/ptc-spacer.js +99 -99
  104. package/dist/collection/components/ptc-span/ptc-span.js +89 -89
  105. package/dist/collection/components/ptc-svg-btn/ptc-svg-btn.js +71 -71
  106. package/dist/collection/components/ptc-tab-list/ptc-tab-list.css +1 -1
  107. package/dist/collection/components/ptc-tab-list/ptc-tab-list.js +145 -145
  108. package/dist/collection/components/ptc-title/ptc-title.js +245 -245
  109. package/dist/collection/components/ptc-two-column-media/ptc-two-column-media.js +40 -40
  110. package/dist/collection/components/tab-content/tab-content.css +10 -0
  111. package/dist/collection/components/tab-content/tab-content.js +74 -74
  112. package/dist/collection/components/tab-header/tab-header.css +1 -1
  113. package/dist/collection/components/tab-header/tab-header.js +107 -107
  114. package/dist/collection/index.js +1 -1
  115. package/dist/collection/media/svg-imgs/Back-arrow.svg +11 -11
  116. package/dist/collection/media/svg-imgs/close.svg +10 -10
  117. package/dist/collection/media/svg-imgs/ptc-shopping-cart-black.svg +3 -3
  118. package/dist/collection/media/svg-imgs/ptc-shopping-cart-white.svg +3 -3
  119. package/dist/collection/media/svg-imgs/slider-arrow-left.svg +18 -18
  120. package/dist/collection/media/svg-imgs/slider-arrow-right.svg +18 -18
  121. package/dist/collection/media/svg-imgs/union.svg +3 -3
  122. package/dist/collection/utils/component.js +3 -3
  123. package/dist/collection/utils/interfaces.js +11 -11
  124. package/dist/collection/utils/utils.js +65 -65
  125. package/dist/custom-elements/index.js +3129 -3128
  126. package/dist/esm/dropdown-item.entry.js +10 -10
  127. package/dist/esm/icon-asset_13.entry.js +691 -691
  128. package/dist/esm/{interfaces-7c0243be.js → interfaces-c1c73092.js} +9 -9
  129. package/dist/esm/list-item.entry.js +20 -20
  130. package/dist/esm/loader.js +1 -1
  131. package/dist/esm/lottie-player.entry.js +354 -354
  132. package/dist/esm/my-component.entry.js +12 -12
  133. package/dist/esm/polyfills/core-js.js +0 -0
  134. package/dist/esm/polyfills/dom.js +0 -0
  135. package/dist/esm/polyfills/es5-html-element.js +0 -0
  136. package/dist/esm/polyfills/index.js +0 -0
  137. package/dist/esm/polyfills/system.js +0 -0
  138. package/dist/esm/ptc-accordion-item.entry.js +97 -97
  139. package/dist/esm/ptc-accordion.entry.js +38 -38
  140. package/dist/esm/ptc-announcement.entry.js +37 -37
  141. package/dist/esm/ptc-breadcrumb.entry.js +12 -12
  142. package/dist/esm/ptc-card-bottom.entry.js +31 -31
  143. package/dist/esm/ptc-card-content_2.entry.js +204 -204
  144. package/dist/esm/ptc-card-plm.entry.js +16 -16
  145. package/dist/esm/ptc-card.entry.js +68 -68
  146. package/dist/esm/ptc-collapse-list.entry.js +191 -191
  147. package/dist/esm/ptc-date.entry.js +48 -48
  148. package/dist/esm/ptc-dynamic-card.entry.js +40 -40
  149. package/dist/esm/ptc-ellipsis-dropdown.entry.js +37 -37
  150. package/dist/esm/ptc-hero-footer-cta.entry.js +8 -8
  151. package/dist/esm/ptc-hero.entry.js +18 -18
  152. package/dist/esm/ptc-icon-list.entry.js +32 -32
  153. package/dist/esm/ptc-img.entry.js +149 -149
  154. package/dist/esm/ptc-list.entry.js +50 -50
  155. package/dist/esm/ptc-lottie.entry.js +12 -12
  156. package/dist/esm/ptc-minimized-footer.entry.js +8 -8
  157. package/dist/esm/ptc-minimized-header.entry.js +11 -11
  158. package/dist/esm/ptc-mobile-select.entry.js +69 -69
  159. package/dist/esm/ptc-nav-item.entry.js +83 -83
  160. package/dist/esm/ptc-nav.entry.js +8 -8
  161. package/dist/esm/ptc-overlay.entry.js +20 -20
  162. package/dist/esm/ptc-pagenation.entry.js +104 -104
  163. package/dist/esm/ptc-previous-url.entry.js +8 -8
  164. package/dist/esm/ptc-pricing-block.entry.js +16 -15
  165. package/dist/esm/ptc-quote.entry.js +25 -25
  166. package/dist/esm/ptc-responsive-wrapper.entry.js +54 -54
  167. package/dist/esm/ptc-social-share.entry.js +64 -64
  168. package/dist/esm/ptc-span.entry.js +23 -23
  169. package/dist/esm/ptc-svg-btn.entry.js +75 -75
  170. package/dist/esm/ptc-tab-list.entry.js +119 -119
  171. package/dist/esm/ptc-two-column-media.entry.js +14 -14
  172. package/dist/esm/ptcw-design.js +1 -1
  173. package/dist/esm/tab-content.entry.js +27 -27
  174. package/dist/esm/tab-header.entry.js +44 -44
  175. package/dist/esm/{utils-4b79ffaf.js → utils-334d53bc.js} +64 -64
  176. package/dist/ptcw-design/media/brands.svg +1381 -1381
  177. package/dist/ptcw-design/media/designer.svg +365 -365
  178. package/dist/ptcw-design/media/regular.svg +463 -463
  179. package/dist/ptcw-design/media/solid.svg +3013 -3013
  180. package/dist/ptcw-design/media/svg-with-js.min.css +4 -4
  181. package/dist/ptcw-design/{p-e6558b61.entry.js → p-0b1a9208.entry.js} +1 -1
  182. package/dist/ptcw-design/{p-a53873e9.entry.js → p-2469a843.entry.js} +1 -1
  183. package/dist/ptcw-design/{p-df43f569.entry.js → p-2bec91cd.entry.js} +1 -1
  184. package/dist/ptcw-design/{p-b8dff289.entry.js → p-6956e9cf.entry.js} +1 -1
  185. package/dist/ptcw-design/p-ab716377.entry.js +1 -0
  186. package/dist/ptcw-design/{p-c4372a9e.entry.js → p-b2527cde.entry.js} +1 -1
  187. package/dist/ptcw-design/{p-7c112bdc.entry.js → p-cc5e59ce.entry.js} +1 -1
  188. package/dist/ptcw-design/{p-1783481c.entry.js → p-dac5d058.entry.js} +1 -1
  189. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  190. package/dist/types/components/dropdown-item/dropdown-item.d.ts +5 -5
  191. package/dist/types/components/icon-asset/icon-asset.d.ts +40 -40
  192. package/dist/types/components/list-item/list-item.d.ts +8 -8
  193. package/dist/types/components/my-component/my-component.d.ts +16 -16
  194. package/dist/types/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.d.ts +59 -59
  195. package/dist/types/components/ptc-accordion/ptc-accordion.d.ts +13 -13
  196. package/dist/types/components/ptc-announcement/ptc-announcement.d.ts +43 -43
  197. package/dist/types/components/ptc-breadcrumb/ptc-breadcrumb.d.ts +4 -4
  198. package/dist/types/components/ptc-button/ptc-button.d.ts +56 -56
  199. package/dist/types/components/ptc-card/ptc-card.d.ts +54 -54
  200. package/dist/types/components/ptc-card-bottom/ptc-card-bottom.d.ts +15 -15
  201. package/dist/types/components/ptc-card-content/ptc-card-content.d.ts +15 -15
  202. package/dist/types/components/ptc-card-plm/ptc-card-plm.d.ts +8 -8
  203. package/dist/types/components/ptc-checkbox/ptc-checkbox.d.ts +11 -11
  204. package/dist/types/components/ptc-collapse-list/ptc-collapse-list.d.ts +39 -39
  205. package/dist/types/components/ptc-container/ptc-container.d.ts +12 -12
  206. package/dist/types/components/ptc-date/ptc-date.d.ts +41 -41
  207. package/dist/types/components/ptc-dropdown/ptc-dropdown.d.ts +19 -19
  208. package/dist/types/components/ptc-dynamic-card/ptc-dynamic-card.d.ts +16 -16
  209. package/dist/types/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.d.ts +12 -12
  210. package/dist/types/components/ptc-filter-tag/ptc-filter-tag.d.ts +11 -11
  211. package/dist/types/components/ptc-hero/ptc-hero.d.ts +12 -12
  212. package/dist/types/components/ptc-hero-footer-cta/ptc-hero-footer-cta.d.ts +6 -6
  213. package/dist/types/components/ptc-icon-list/ptc-icon-list.d.ts +21 -21
  214. package/dist/types/components/ptc-icon-minimize/ptc-icon-minimize.d.ts +9 -9
  215. package/dist/types/components/ptc-img/ptc-img.d.ts +51 -51
  216. package/dist/types/components/ptc-link/ptc-link.d.ts +36 -36
  217. package/dist/types/components/ptc-list/ptc-list.d.ts +8 -8
  218. package/dist/types/components/ptc-lottie/ptc-lottie.d.ts +12 -12
  219. package/dist/types/components/ptc-minimized-footer/ptc-minimized-footer.d.ts +3 -3
  220. package/dist/types/components/ptc-minimized-header/ptc-minimized-header.d.ts +6 -6
  221. package/dist/types/components/ptc-mobile-select/ptc-mobile-select.d.ts +40 -40
  222. package/dist/types/components/ptc-modal/ptc-modal.d.ts +55 -55
  223. package/dist/types/components/ptc-nav/ptc-nav.d.ts +3 -3
  224. package/dist/types/components/ptc-nav-item/ptc-nav-item.d.ts +53 -53
  225. package/dist/types/components/ptc-overlay/ptc-overlay.d.ts +20 -20
  226. package/dist/types/components/ptc-pagenation/ptc-pagenation.d.ts +27 -27
  227. package/dist/types/components/ptc-para/ptc-para.d.ts +29 -29
  228. package/dist/types/components/ptc-picture/ptc-picture.d.ts +93 -93
  229. package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +5 -5
  230. package/dist/types/components/ptc-pricing-block/ptc-pricing-block.d.ts +5 -4
  231. package/dist/types/components/ptc-quote/ptc-quote.d.ts +29 -29
  232. package/dist/types/components/ptc-responsive-wrapper/ptc-responsive-wrapper.d.ts +8 -8
  233. package/dist/types/components/ptc-shopping-cart/ptc-shopping-cart.d.ts +6 -6
  234. package/dist/types/components/ptc-social-share/ptc-social-share.d.ts +25 -25
  235. package/dist/types/components/ptc-spacer/ptc-spacer.d.ts +16 -16
  236. package/dist/types/components/ptc-span/ptc-span.d.ts +16 -16
  237. package/dist/types/components/ptc-svg-btn/ptc-svg-btn.d.ts +12 -12
  238. package/dist/types/components/ptc-tab-list/ptc-tab-list.d.ts +15 -15
  239. package/dist/types/components/ptc-title/ptc-title.d.ts +41 -41
  240. package/dist/types/components/ptc-two-column-media/ptc-two-column-media.d.ts +9 -9
  241. package/dist/types/components/tab-content/tab-content.d.ts +12 -12
  242. package/dist/types/components/tab-header/tab-header.d.ts +13 -13
  243. package/dist/types/components.d.ts +26 -24
  244. package/dist/types/global.d.ts +1072 -1072
  245. package/dist/types/index.d.ts +1 -1
  246. package/dist/types/utils/component.d.ts +1 -1
  247. package/dist/types/utils/interfaces.d.ts +28 -28
  248. package/dist/types/utils/utils.d.ts +3 -3
  249. package/package.json +59 -59
  250. package/readme.md +11 -11
  251. package/dist/ptcw-design/p-2173493c.entry.js +0 -1
  252. /package/dist/ptcw-design/{p-62f4a655.js → p-2e496d31.js} +0 -0
  253. /package/dist/ptcw-design/{p-ee1183b2.js → p-50e52c88.js} +0 -0
@@ -1,474 +1,474 @@
1
- import { Component, Prop, h, Element, Listen, State, Host } from '@stencil/core';
2
- import { ResponsivePictureVariables } from '../../utils/interfaces';
3
- export class PtcPicture {
4
- constructor() {
5
- /**
6
- * Image alt
7
- */
8
- this.alt = "image";
9
- /**
10
- * Image size for smallest screen
11
- * <=767px
12
- */
13
- this.sizeXs = '510x340';
14
- /**
15
- * Image size for small screen
16
- * >=768px and <=991px
17
- */
18
- this.sizeSm = '1240x496';
19
- /**
20
- * Image size for medium screen
21
- * >=992px and <=1199px
22
- */
23
- this.sizeMd = '1366x500';
24
- /**
25
- * Image solution for large screen
26
- * >=1200px
27
- */
28
- this.sizeLg = '1920x1080';
29
- /**
30
- * Image Position
31
- */
32
- this.imagePosition = 'static';
33
- /**
34
- * Object Fit
35
- * Default: cover
36
- */
37
- this.objectFit = 'cover';
38
- /**
39
- * Stretch height to 100%?
40
- */
41
- this.isFullHeight = false;
42
- /**
43
- * Stretch width to 100%?
44
- */
45
- this.isFullWidth = false;
46
- /**
47
- * (optional) Image alignment
48
- **/
49
- this.imageAlignment = 'left';
50
- }
51
- WindowResize() {
52
- this.addIntersectionObserver();
53
- }
54
- componentDidLoad() {
55
- this.addIntersectionObserver();
56
- }
57
- componentWillUpdate() {
58
- if (this.src !== this.oldSrc) {
59
- this.addIntersectionObserver();
60
- }
61
- this.oldSrc = this.src;
62
- }
63
- //lazy-loading
64
- addIntersectionObserver() {
65
- if (!this.src) {
66
- return;
67
- }
68
- if ('IntersectionObserver' in window) {
69
- let lazyLoadImages = new IntersectionObserver(entries => {
70
- entries.forEach(entry => {
71
- if (entry.isIntersecting) {
72
- const image = this.el.shadowRoot.querySelector('img');
73
- image.src = this.setResponsiveBg();
74
- console.log('loaded');
75
- lazyLoadImages.unobserve(image);
76
- }
77
- });
78
- });
79
- lazyLoadImages.observe(this.el.shadowRoot.querySelector('img'));
80
- }
81
- else {
82
- // fall back to setTimeout for Safari and IE
83
- setTimeout(() => {
84
- const image = this.el.shadowRoot.querySelector('img');
85
- image.src = this.setResponsiveBg();
86
- image.onload = () => {
87
- image.removeAttribute('data-src');
88
- console.log('loaded fallback');
89
- };
90
- }, 5000);
91
- }
92
- }
93
- //responsive image
94
- setResponsiveBg() {
95
- // Define local variables
96
- let backgrounds = (this.el.shadowRoot || document).querySelectorAll('img'), el, elData, currentBreakpoint = this.getCurrentBreakPoints();
97
- for (var i = 0, len = backgrounds.length; i < len; i++) {
98
- // Set current variables
99
- el = backgrounds[i];
100
- elData = el.getAttribute('data-' + currentBreakpoint);
101
- if (elData !== null) {
102
- // console.log('img src= ' + elData);
103
- return elData;
104
- }
105
- else {
106
- if (typeof console == 'object') {
107
- console.warn('Data attribute: data-' + currentBreakpoint + ' not found on element:\n\n' + el.outerHTML + '\n\n\n');
108
- }
109
- }
110
- }
111
- }
112
- render() {
113
- const classMap = this.getCssClassMap();
114
- const classMapHost = this.getCssClassMapHost();
115
- return (h(Host, { class: classMapHost },
116
- this.styles && h("style", null, this.styles),
117
- h("img", Object.assign({ class: classMap, "data-xs": !!this.sizeXs ? `${this.src}:${this.sizeXs}` : `${this.src}`, "data-sm": !!this.sizeSm ? `${this.src}:${this.sizeSm}` : `${this.src}`, "data-md": !!this.sizeMd ? `${this.src}:${this.sizeMd}` : `${this.src}`, "data-lg": !!this.sizeLg ? `${this.src}:${this.sizeLg}` : `${this.src}` }, (!!this.width ? { width: this.width } : {}), (!!this.height ? { height: this.height } : {}), { alt: this.alt, style: Object.assign({}, (!!this.maxWidth ? { maxWidth: this.maxWidth + 'px' } : {})) })),
118
- h("slot", null)));
119
- }
120
- getCurrentBreakPoints() {
121
- // Define local variables
122
- let doc = window.document, temp = doc.createElement('div'), env;
123
- // Append test node
124
- doc.body.appendChild(temp);
125
- // Loop through breakpoints
126
- for (let i = ResponsivePictureVariables.envs.length - 1; i >= 0; i--) {
127
- env = ResponsivePictureVariables.envs[i];
128
- // Add classes
129
- temp.className = 'hidden-' + env;
130
- // Found breakpoint
131
- if (temp.offsetParent === null) {
132
- // Remove our test node
133
- doc.body.removeChild(temp);
134
- console.log('remove test node');
135
- // Return current breakpoint
136
- return env;
137
- }
138
- }
139
- // Breakpoint not found, try fallback
140
- doc.body.removeChild(temp);
141
- return this.getFallbackBreakpoint();
142
- }
143
- getFallbackBreakpoint() {
144
- if (window.matchMedia('(min-width: 992px)').matches) {
145
- return 'lg';
146
- }
147
- else if (window.matchMedia('(min-width: 768px)').matches) {
148
- return 'md';
149
- }
150
- else if (window.matchMedia('(min-width: 576px)').matches) {
151
- return 'sm';
152
- }
153
- else {
154
- return 'xs';
155
- }
156
- }
157
- getCssClassMap() {
158
- return {
159
- [this.borderRadius]: this.borderRadius ? true : false,
160
- [this.objectFit]: true,
161
- [this.isFullHeight ? 'is-full-height' : 'is-normal-height']: true,
162
- [this.isFullWidth ? 'is-full-width' : 'is-normal-width']: true
163
- };
164
- }
165
- getCssClassMapHost() {
166
- return {
167
- [this.imagePosition]: true,
168
- [this.imageAlignment]: true
169
- };
170
- }
171
- static get is() { return "ptc-picture"; }
172
- static get encapsulation() { return "shadow"; }
173
- static get originalStyleUrls() { return {
174
- "$": ["ptc-picture.scss"]
175
- }; }
176
- static get styleUrls() { return {
177
- "$": ["ptc-picture.css"]
178
- }; }
179
- static get properties() { return {
180
- "src": {
181
- "type": "string",
182
- "mutable": false,
183
- "complexType": {
184
- "original": "string",
185
- "resolved": "string",
186
- "references": {}
187
- },
188
- "required": false,
189
- "optional": false,
190
- "docs": {
191
- "tags": [],
192
- "text": "Image Render Src"
193
- },
194
- "attribute": "src",
195
- "reflect": false
196
- },
197
- "alt": {
198
- "type": "string",
199
- "mutable": false,
200
- "complexType": {
201
- "original": "string",
202
- "resolved": "string",
203
- "references": {}
204
- },
205
- "required": false,
206
- "optional": false,
207
- "docs": {
208
- "tags": [],
209
- "text": "Image alt"
210
- },
211
- "attribute": "alt",
212
- "reflect": false,
213
- "defaultValue": "\"image\""
214
- },
215
- "sizeXs": {
216
- "type": "string",
217
- "mutable": true,
218
- "complexType": {
219
- "original": "string",
220
- "resolved": "string",
221
- "references": {}
222
- },
223
- "required": false,
224
- "optional": false,
225
- "docs": {
226
- "tags": [],
227
- "text": "Image size for smallest screen\r\n<=767px"
228
- },
229
- "attribute": "size-xs",
230
- "reflect": false,
231
- "defaultValue": "'510x340'"
232
- },
233
- "sizeSm": {
234
- "type": "string",
235
- "mutable": true,
236
- "complexType": {
237
- "original": "string",
238
- "resolved": "string",
239
- "references": {}
240
- },
241
- "required": false,
242
- "optional": false,
243
- "docs": {
244
- "tags": [],
245
- "text": "Image size for small screen\r\n>=768px and <=991px"
246
- },
247
- "attribute": "size-sm",
248
- "reflect": false,
249
- "defaultValue": "'1240x496'"
250
- },
251
- "sizeMd": {
252
- "type": "string",
253
- "mutable": true,
254
- "complexType": {
255
- "original": "string",
256
- "resolved": "string",
257
- "references": {}
258
- },
259
- "required": false,
260
- "optional": false,
261
- "docs": {
262
- "tags": [],
263
- "text": "Image size for medium screen\r\n>=992px and <=1199px"
264
- },
265
- "attribute": "size-md",
266
- "reflect": false,
267
- "defaultValue": "'1366x500'"
268
- },
269
- "sizeLg": {
270
- "type": "string",
271
- "mutable": true,
272
- "complexType": {
273
- "original": "string",
274
- "resolved": "string",
275
- "references": {}
276
- },
277
- "required": false,
278
- "optional": false,
279
- "docs": {
280
- "tags": [],
281
- "text": "Image solution for large screen\r\n>=1200px"
282
- },
283
- "attribute": "size-lg",
284
- "reflect": false,
285
- "defaultValue": "'1920x1080'"
286
- },
287
- "imagePosition": {
288
- "type": "string",
289
- "mutable": false,
290
- "complexType": {
291
- "original": "'relative' | 'absolute' | 'static'",
292
- "resolved": "\"absolute\" | \"relative\" | \"static\"",
293
- "references": {}
294
- },
295
- "required": false,
296
- "optional": false,
297
- "docs": {
298
- "tags": [],
299
- "text": "Image Position"
300
- },
301
- "attribute": "image-position",
302
- "reflect": false,
303
- "defaultValue": "'static'"
304
- },
305
- "borderRadius": {
306
- "type": "string",
307
- "mutable": false,
308
- "complexType": {
309
- "original": "'radius-standard' | 'radius-large'",
310
- "resolved": "\"radius-large\" | \"radius-standard\"",
311
- "references": {}
312
- },
313
- "required": false,
314
- "optional": false,
315
- "docs": {
316
- "tags": [],
317
- "text": "Image border shape"
318
- },
319
- "attribute": "border-radius",
320
- "reflect": false
321
- },
322
- "height": {
323
- "type": "string",
324
- "mutable": false,
325
- "complexType": {
326
- "original": "string",
327
- "resolved": "string",
328
- "references": {}
329
- },
330
- "required": false,
331
- "optional": true,
332
- "docs": {
333
- "tags": [],
334
- "text": "Set height\r\nValue unit: pixles\r\nJust put numbers without unit"
335
- },
336
- "attribute": "height",
337
- "reflect": false
338
- },
339
- "width": {
340
- "type": "string",
341
- "mutable": false,
342
- "complexType": {
343
- "original": "string",
344
- "resolved": "string",
345
- "references": {}
346
- },
347
- "required": false,
348
- "optional": true,
349
- "docs": {
350
- "tags": [],
351
- "text": "Set Width\r\nvalue unit: pixles\r\nJust put numbers without unit"
352
- },
353
- "attribute": "width",
354
- "reflect": false
355
- },
356
- "objectFit": {
357
- "type": "string",
358
- "mutable": false,
359
- "complexType": {
360
- "original": "'cover' | 'fill' | 'contain' | 'scale-down' | 'none' | 'initial' | 'inherit'",
361
- "resolved": "\"contain\" | \"cover\" | \"fill\" | \"inherit\" | \"initial\" | \"none\" | \"scale-down\"",
362
- "references": {}
363
- },
364
- "required": false,
365
- "optional": false,
366
- "docs": {
367
- "tags": [],
368
- "text": "Object Fit\r\nDefault: cover"
369
- },
370
- "attribute": "object-fit",
371
- "reflect": false,
372
- "defaultValue": "'cover'"
373
- },
374
- "isFullHeight": {
375
- "type": "boolean",
376
- "mutable": false,
377
- "complexType": {
378
- "original": "boolean",
379
- "resolved": "boolean",
380
- "references": {}
381
- },
382
- "required": false,
383
- "optional": false,
384
- "docs": {
385
- "tags": [],
386
- "text": "Stretch height to 100%?"
387
- },
388
- "attribute": "is-full-height",
389
- "reflect": false,
390
- "defaultValue": "false"
391
- },
392
- "isFullWidth": {
393
- "type": "boolean",
394
- "mutable": false,
395
- "complexType": {
396
- "original": "boolean",
397
- "resolved": "boolean",
398
- "references": {}
399
- },
400
- "required": false,
401
- "optional": false,
402
- "docs": {
403
- "tags": [],
404
- "text": "Stretch width to 100%?"
405
- },
406
- "attribute": "is-full-width",
407
- "reflect": false,
408
- "defaultValue": "false"
409
- },
410
- "styles": {
411
- "type": "string",
412
- "mutable": false,
413
- "complexType": {
414
- "original": "string",
415
- "resolved": "string",
416
- "references": {}
417
- },
418
- "required": false,
419
- "optional": true,
420
- "docs": {
421
- "tags": [],
422
- "text": "(optional) Injected CSS styles"
423
- },
424
- "attribute": "styles",
425
- "reflect": false
426
- },
427
- "imageAlignment": {
428
- "type": "string",
429
- "mutable": false,
430
- "complexType": {
431
- "original": "'left' | 'right' | 'center'",
432
- "resolved": "\"center\" | \"left\" | \"right\"",
433
- "references": {}
434
- },
435
- "required": false,
436
- "optional": true,
437
- "docs": {
438
- "tags": [],
439
- "text": "(optional) Image alignment"
440
- },
441
- "attribute": "image-alignment",
442
- "reflect": false,
443
- "defaultValue": "'left'"
444
- },
445
- "maxWidth": {
446
- "type": "string",
447
- "mutable": false,
448
- "complexType": {
449
- "original": "string",
450
- "resolved": "string",
451
- "references": {}
452
- },
453
- "required": false,
454
- "optional": true,
455
- "docs": {
456
- "tags": [],
457
- "text": "(optional) Set max-width\r\nvalue unit: pixles\r\nJust put numbers without unit"
458
- },
459
- "attribute": "max-width",
460
- "reflect": false
461
- }
462
- }; }
463
- static get states() { return {
464
- "oldSrc": {}
465
- }; }
466
- static get elementRef() { return "el"; }
467
- static get listeners() { return [{
468
- "name": "resize",
469
- "method": "WindowResize",
470
- "target": "window",
471
- "capture": false,
472
- "passive": true
473
- }]; }
474
- }
1
+ import { Component, Prop, h, Element, Listen, State, Host } from '@stencil/core';
2
+ import { ResponsivePictureVariables } from '../../utils/interfaces';
3
+ export class PtcPicture {
4
+ constructor() {
5
+ /**
6
+ * Image alt
7
+ */
8
+ this.alt = "image";
9
+ /**
10
+ * Image size for smallest screen
11
+ * <=767px
12
+ */
13
+ this.sizeXs = '510x340';
14
+ /**
15
+ * Image size for small screen
16
+ * >=768px and <=991px
17
+ */
18
+ this.sizeSm = '1240x496';
19
+ /**
20
+ * Image size for medium screen
21
+ * >=992px and <=1199px
22
+ */
23
+ this.sizeMd = '1366x500';
24
+ /**
25
+ * Image solution for large screen
26
+ * >=1200px
27
+ */
28
+ this.sizeLg = '1920x1080';
29
+ /**
30
+ * Image Position
31
+ */
32
+ this.imagePosition = 'static';
33
+ /**
34
+ * Object Fit
35
+ * Default: cover
36
+ */
37
+ this.objectFit = 'cover';
38
+ /**
39
+ * Stretch height to 100%?
40
+ */
41
+ this.isFullHeight = false;
42
+ /**
43
+ * Stretch width to 100%?
44
+ */
45
+ this.isFullWidth = false;
46
+ /**
47
+ * (optional) Image alignment
48
+ **/
49
+ this.imageAlignment = 'left';
50
+ }
51
+ WindowResize() {
52
+ this.addIntersectionObserver();
53
+ }
54
+ componentDidLoad() {
55
+ this.addIntersectionObserver();
56
+ }
57
+ componentWillUpdate() {
58
+ if (this.src !== this.oldSrc) {
59
+ this.addIntersectionObserver();
60
+ }
61
+ this.oldSrc = this.src;
62
+ }
63
+ //lazy-loading
64
+ addIntersectionObserver() {
65
+ if (!this.src) {
66
+ return;
67
+ }
68
+ if ('IntersectionObserver' in window) {
69
+ let lazyLoadImages = new IntersectionObserver(entries => {
70
+ entries.forEach(entry => {
71
+ if (entry.isIntersecting) {
72
+ const image = this.el.shadowRoot.querySelector('img');
73
+ image.src = this.setResponsiveBg();
74
+ console.log('loaded');
75
+ lazyLoadImages.unobserve(image);
76
+ }
77
+ });
78
+ });
79
+ lazyLoadImages.observe(this.el.shadowRoot.querySelector('img'));
80
+ }
81
+ else {
82
+ // fall back to setTimeout for Safari and IE
83
+ setTimeout(() => {
84
+ const image = this.el.shadowRoot.querySelector('img');
85
+ image.src = this.setResponsiveBg();
86
+ image.onload = () => {
87
+ image.removeAttribute('data-src');
88
+ console.log('loaded fallback');
89
+ };
90
+ }, 5000);
91
+ }
92
+ }
93
+ //responsive image
94
+ setResponsiveBg() {
95
+ // Define local variables
96
+ let backgrounds = (this.el.shadowRoot || document).querySelectorAll('img'), el, elData, currentBreakpoint = this.getCurrentBreakPoints();
97
+ for (var i = 0, len = backgrounds.length; i < len; i++) {
98
+ // Set current variables
99
+ el = backgrounds[i];
100
+ elData = el.getAttribute('data-' + currentBreakpoint);
101
+ if (elData !== null) {
102
+ // console.log('img src= ' + elData);
103
+ return elData;
104
+ }
105
+ else {
106
+ if (typeof console == 'object') {
107
+ console.warn('Data attribute: data-' + currentBreakpoint + ' not found on element:\n\n' + el.outerHTML + '\n\n\n');
108
+ }
109
+ }
110
+ }
111
+ }
112
+ render() {
113
+ const classMap = this.getCssClassMap();
114
+ const classMapHost = this.getCssClassMapHost();
115
+ return (h(Host, { class: classMapHost },
116
+ this.styles && h("style", null, this.styles),
117
+ h("img", Object.assign({ class: classMap, "data-xs": !!this.sizeXs ? `${this.src}:${this.sizeXs}` : `${this.src}`, "data-sm": !!this.sizeSm ? `${this.src}:${this.sizeSm}` : `${this.src}`, "data-md": !!this.sizeMd ? `${this.src}:${this.sizeMd}` : `${this.src}`, "data-lg": !!this.sizeLg ? `${this.src}:${this.sizeLg}` : `${this.src}` }, (!!this.width ? { width: this.width } : {}), (!!this.height ? { height: this.height } : {}), { alt: this.alt, style: Object.assign({}, (!!this.maxWidth ? { maxWidth: this.maxWidth + 'px' } : {})) })),
118
+ h("slot", null)));
119
+ }
120
+ getCurrentBreakPoints() {
121
+ // Define local variables
122
+ let doc = window.document, temp = doc.createElement('div'), env;
123
+ // Append test node
124
+ doc.body.appendChild(temp);
125
+ // Loop through breakpoints
126
+ for (let i = ResponsivePictureVariables.envs.length - 1; i >= 0; i--) {
127
+ env = ResponsivePictureVariables.envs[i];
128
+ // Add classes
129
+ temp.className = 'hidden-' + env;
130
+ // Found breakpoint
131
+ if (temp.offsetParent === null) {
132
+ // Remove our test node
133
+ doc.body.removeChild(temp);
134
+ console.log('remove test node');
135
+ // Return current breakpoint
136
+ return env;
137
+ }
138
+ }
139
+ // Breakpoint not found, try fallback
140
+ doc.body.removeChild(temp);
141
+ return this.getFallbackBreakpoint();
142
+ }
143
+ getFallbackBreakpoint() {
144
+ if (window.matchMedia('(min-width: 992px)').matches) {
145
+ return 'lg';
146
+ }
147
+ else if (window.matchMedia('(min-width: 768px)').matches) {
148
+ return 'md';
149
+ }
150
+ else if (window.matchMedia('(min-width: 576px)').matches) {
151
+ return 'sm';
152
+ }
153
+ else {
154
+ return 'xs';
155
+ }
156
+ }
157
+ getCssClassMap() {
158
+ return {
159
+ [this.borderRadius]: this.borderRadius ? true : false,
160
+ [this.objectFit]: true,
161
+ [this.isFullHeight ? 'is-full-height' : 'is-normal-height']: true,
162
+ [this.isFullWidth ? 'is-full-width' : 'is-normal-width']: true
163
+ };
164
+ }
165
+ getCssClassMapHost() {
166
+ return {
167
+ [this.imagePosition]: true,
168
+ [this.imageAlignment]: true
169
+ };
170
+ }
171
+ static get is() { return "ptc-picture"; }
172
+ static get encapsulation() { return "shadow"; }
173
+ static get originalStyleUrls() { return {
174
+ "$": ["ptc-picture.scss"]
175
+ }; }
176
+ static get styleUrls() { return {
177
+ "$": ["ptc-picture.css"]
178
+ }; }
179
+ static get properties() { return {
180
+ "src": {
181
+ "type": "string",
182
+ "mutable": false,
183
+ "complexType": {
184
+ "original": "string",
185
+ "resolved": "string",
186
+ "references": {}
187
+ },
188
+ "required": false,
189
+ "optional": false,
190
+ "docs": {
191
+ "tags": [],
192
+ "text": "Image Render Src"
193
+ },
194
+ "attribute": "src",
195
+ "reflect": false
196
+ },
197
+ "alt": {
198
+ "type": "string",
199
+ "mutable": false,
200
+ "complexType": {
201
+ "original": "string",
202
+ "resolved": "string",
203
+ "references": {}
204
+ },
205
+ "required": false,
206
+ "optional": false,
207
+ "docs": {
208
+ "tags": [],
209
+ "text": "Image alt"
210
+ },
211
+ "attribute": "alt",
212
+ "reflect": false,
213
+ "defaultValue": "\"image\""
214
+ },
215
+ "sizeXs": {
216
+ "type": "string",
217
+ "mutable": true,
218
+ "complexType": {
219
+ "original": "string",
220
+ "resolved": "string",
221
+ "references": {}
222
+ },
223
+ "required": false,
224
+ "optional": false,
225
+ "docs": {
226
+ "tags": [],
227
+ "text": "Image size for smallest screen\n<=767px"
228
+ },
229
+ "attribute": "size-xs",
230
+ "reflect": false,
231
+ "defaultValue": "'510x340'"
232
+ },
233
+ "sizeSm": {
234
+ "type": "string",
235
+ "mutable": true,
236
+ "complexType": {
237
+ "original": "string",
238
+ "resolved": "string",
239
+ "references": {}
240
+ },
241
+ "required": false,
242
+ "optional": false,
243
+ "docs": {
244
+ "tags": [],
245
+ "text": "Image size for small screen\n>=768px and <=991px"
246
+ },
247
+ "attribute": "size-sm",
248
+ "reflect": false,
249
+ "defaultValue": "'1240x496'"
250
+ },
251
+ "sizeMd": {
252
+ "type": "string",
253
+ "mutable": true,
254
+ "complexType": {
255
+ "original": "string",
256
+ "resolved": "string",
257
+ "references": {}
258
+ },
259
+ "required": false,
260
+ "optional": false,
261
+ "docs": {
262
+ "tags": [],
263
+ "text": "Image size for medium screen\n>=992px and <=1199px"
264
+ },
265
+ "attribute": "size-md",
266
+ "reflect": false,
267
+ "defaultValue": "'1366x500'"
268
+ },
269
+ "sizeLg": {
270
+ "type": "string",
271
+ "mutable": true,
272
+ "complexType": {
273
+ "original": "string",
274
+ "resolved": "string",
275
+ "references": {}
276
+ },
277
+ "required": false,
278
+ "optional": false,
279
+ "docs": {
280
+ "tags": [],
281
+ "text": "Image solution for large screen\n>=1200px"
282
+ },
283
+ "attribute": "size-lg",
284
+ "reflect": false,
285
+ "defaultValue": "'1920x1080'"
286
+ },
287
+ "imagePosition": {
288
+ "type": "string",
289
+ "mutable": false,
290
+ "complexType": {
291
+ "original": "'relative' | 'absolute' | 'static'",
292
+ "resolved": "\"absolute\" | \"relative\" | \"static\"",
293
+ "references": {}
294
+ },
295
+ "required": false,
296
+ "optional": false,
297
+ "docs": {
298
+ "tags": [],
299
+ "text": "Image Position"
300
+ },
301
+ "attribute": "image-position",
302
+ "reflect": false,
303
+ "defaultValue": "'static'"
304
+ },
305
+ "borderRadius": {
306
+ "type": "string",
307
+ "mutable": false,
308
+ "complexType": {
309
+ "original": "'radius-standard' | 'radius-large'",
310
+ "resolved": "\"radius-large\" | \"radius-standard\"",
311
+ "references": {}
312
+ },
313
+ "required": false,
314
+ "optional": false,
315
+ "docs": {
316
+ "tags": [],
317
+ "text": "Image border shape"
318
+ },
319
+ "attribute": "border-radius",
320
+ "reflect": false
321
+ },
322
+ "height": {
323
+ "type": "string",
324
+ "mutable": false,
325
+ "complexType": {
326
+ "original": "string",
327
+ "resolved": "string",
328
+ "references": {}
329
+ },
330
+ "required": false,
331
+ "optional": true,
332
+ "docs": {
333
+ "tags": [],
334
+ "text": "Set height\nValue unit: pixles\nJust put numbers without unit"
335
+ },
336
+ "attribute": "height",
337
+ "reflect": false
338
+ },
339
+ "width": {
340
+ "type": "string",
341
+ "mutable": false,
342
+ "complexType": {
343
+ "original": "string",
344
+ "resolved": "string",
345
+ "references": {}
346
+ },
347
+ "required": false,
348
+ "optional": true,
349
+ "docs": {
350
+ "tags": [],
351
+ "text": "Set Width\nvalue unit: pixles\nJust put numbers without unit"
352
+ },
353
+ "attribute": "width",
354
+ "reflect": false
355
+ },
356
+ "objectFit": {
357
+ "type": "string",
358
+ "mutable": false,
359
+ "complexType": {
360
+ "original": "'cover' | 'fill' | 'contain' | 'scale-down' | 'none' | 'initial' | 'inherit'",
361
+ "resolved": "\"contain\" | \"cover\" | \"fill\" | \"inherit\" | \"initial\" | \"none\" | \"scale-down\"",
362
+ "references": {}
363
+ },
364
+ "required": false,
365
+ "optional": false,
366
+ "docs": {
367
+ "tags": [],
368
+ "text": "Object Fit\nDefault: cover"
369
+ },
370
+ "attribute": "object-fit",
371
+ "reflect": false,
372
+ "defaultValue": "'cover'"
373
+ },
374
+ "isFullHeight": {
375
+ "type": "boolean",
376
+ "mutable": false,
377
+ "complexType": {
378
+ "original": "boolean",
379
+ "resolved": "boolean",
380
+ "references": {}
381
+ },
382
+ "required": false,
383
+ "optional": false,
384
+ "docs": {
385
+ "tags": [],
386
+ "text": "Stretch height to 100%?"
387
+ },
388
+ "attribute": "is-full-height",
389
+ "reflect": false,
390
+ "defaultValue": "false"
391
+ },
392
+ "isFullWidth": {
393
+ "type": "boolean",
394
+ "mutable": false,
395
+ "complexType": {
396
+ "original": "boolean",
397
+ "resolved": "boolean",
398
+ "references": {}
399
+ },
400
+ "required": false,
401
+ "optional": false,
402
+ "docs": {
403
+ "tags": [],
404
+ "text": "Stretch width to 100%?"
405
+ },
406
+ "attribute": "is-full-width",
407
+ "reflect": false,
408
+ "defaultValue": "false"
409
+ },
410
+ "styles": {
411
+ "type": "string",
412
+ "mutable": false,
413
+ "complexType": {
414
+ "original": "string",
415
+ "resolved": "string",
416
+ "references": {}
417
+ },
418
+ "required": false,
419
+ "optional": true,
420
+ "docs": {
421
+ "tags": [],
422
+ "text": "(optional) Injected CSS styles"
423
+ },
424
+ "attribute": "styles",
425
+ "reflect": false
426
+ },
427
+ "imageAlignment": {
428
+ "type": "string",
429
+ "mutable": false,
430
+ "complexType": {
431
+ "original": "'left' | 'right' | 'center'",
432
+ "resolved": "\"center\" | \"left\" | \"right\"",
433
+ "references": {}
434
+ },
435
+ "required": false,
436
+ "optional": true,
437
+ "docs": {
438
+ "tags": [],
439
+ "text": "(optional) Image alignment"
440
+ },
441
+ "attribute": "image-alignment",
442
+ "reflect": false,
443
+ "defaultValue": "'left'"
444
+ },
445
+ "maxWidth": {
446
+ "type": "string",
447
+ "mutable": false,
448
+ "complexType": {
449
+ "original": "string",
450
+ "resolved": "string",
451
+ "references": {}
452
+ },
453
+ "required": false,
454
+ "optional": true,
455
+ "docs": {
456
+ "tags": [],
457
+ "text": "(optional) Set max-width\nvalue unit: pixles\nJust put numbers without unit"
458
+ },
459
+ "attribute": "max-width",
460
+ "reflect": false
461
+ }
462
+ }; }
463
+ static get states() { return {
464
+ "oldSrc": {}
465
+ }; }
466
+ static get elementRef() { return "el"; }
467
+ static get listeners() { return [{
468
+ "name": "resize",
469
+ "method": "WindowResize",
470
+ "target": "window",
471
+ "capture": false,
472
+ "passive": true
473
+ }]; }
474
+ }