simpo-component-library 3.5.45 → 3.5.52

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 (226) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/components/delete-hover-element/delete-hover-element.component.mjs +5 -5
  3. package/esm2022/lib/components/document/document.component.mjs +5 -5
  4. package/esm2022/lib/components/hover-elements/hover-elements.component.mjs +4 -4
  5. package/esm2022/lib/components/image-loading/image-loading.component.mjs +5 -5
  6. package/esm2022/lib/components/index.mjs +5 -5
  7. package/esm2022/lib/components/input-fields/input-fields.component.mjs +4 -4
  8. package/esm2022/lib/components/payment-details/payment-details.component.mjs +103 -18
  9. package/esm2022/lib/components/trasport-availability/trasport-availability.component.mjs +36 -0
  10. package/esm2022/lib/constants/business.constant.mjs +1 -1
  11. package/esm2022/lib/directive/animation-directive.mjs +4 -4
  12. package/esm2022/lib/directive/background-directive.mjs +4 -4
  13. package/esm2022/lib/directive/banner-content-fit-directive.mjs +4 -4
  14. package/esm2022/lib/directive/blur-content.directive.mjs +4 -4
  15. package/esm2022/lib/directive/border-directive.mjs +4 -4
  16. package/esm2022/lib/directive/borderlessImage.directive.mjs +4 -4
  17. package/esm2022/lib/directive/button-directive.directive.mjs +4 -4
  18. package/esm2022/lib/directive/button-editor.directive.mjs +4 -4
  19. package/esm2022/lib/directive/color.directive.mjs +4 -4
  20. package/esm2022/lib/directive/column-directive.directive.mjs +4 -4
  21. package/esm2022/lib/directive/container-alignment.directive.mjs +4 -4
  22. package/esm2022/lib/directive/container-fir.directive.mjs +4 -4
  23. package/esm2022/lib/directive/content-alignment-directive.mjs +4 -4
  24. package/esm2022/lib/directive/content-fit-directive.mjs +4 -4
  25. package/esm2022/lib/directive/content-title-spacing.directive.mjs +4 -4
  26. package/esm2022/lib/directive/contenteditable.directive.mjs +4 -4
  27. package/esm2022/lib/directive/corner-directive.mjs +4 -4
  28. package/esm2022/lib/directive/footer-layout-directive.mjs +4 -4
  29. package/esm2022/lib/directive/hover-element-directive.mjs +4 -4
  30. package/esm2022/lib/directive/hoverborder.directive.mjs +4 -4
  31. package/esm2022/lib/directive/image-container.directive.mjs +4 -4
  32. package/esm2022/lib/directive/image-directive.directive.mjs +4 -4
  33. package/esm2022/lib/directive/image-editor.directive.mjs +4 -4
  34. package/esm2022/lib/directive/image-position.directive.mjs +4 -4
  35. package/esm2022/lib/directive/overlay-directive.mjs +4 -4
  36. package/esm2022/lib/directive/position-layout-directive.directive.mjs +4 -4
  37. package/esm2022/lib/directive/removeCarousel-directive.mjs +4 -4
  38. package/esm2022/lib/directive/spacing-around.directive.mjs +4 -4
  39. package/esm2022/lib/directive/spacing-horizontal.directive.mjs +4 -4
  40. package/esm2022/lib/directive/sticky-directive.mjs +4 -4
  41. package/esm2022/lib/directive/text-background-directive.directive.mjs +4 -4
  42. package/esm2022/lib/directive/text-size.directive.mjs +4 -4
  43. package/esm2022/lib/directive/wrap-containers.directive.mjs +4 -4
  44. package/esm2022/lib/ecommerce/sections/address/address.component.mjs +5 -5
  45. package/esm2022/lib/ecommerce/sections/authenticate-user/authenticate-user.component.mjs +5 -5
  46. package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.component.mjs +5 -5
  47. package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.model.mjs +1 -1
  48. package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +5 -7
  49. package/esm2022/lib/ecommerce/sections/cart/cart.modal.mjs +1 -1
  50. package/esm2022/lib/ecommerce/sections/category-product/category-product.component.mjs +5 -5
  51. package/esm2022/lib/ecommerce/sections/category-product/category-product.model.mjs +1 -1
  52. package/esm2022/lib/ecommerce/sections/checkout/checkout.component.mjs +5 -5
  53. package/esm2022/lib/ecommerce/sections/checkout/checkout.modal.mjs +1 -1
  54. package/esm2022/lib/ecommerce/sections/customer-review/customer-review.component.mjs +5 -5
  55. package/esm2022/lib/ecommerce/sections/customer-review/customer-review.model.mjs +1 -1
  56. package/esm2022/lib/ecommerce/sections/featured-category/featured-category.component.mjs +5 -5
  57. package/esm2022/lib/ecommerce/sections/featured-category/featured-category.modal.mjs +1 -1
  58. package/esm2022/lib/ecommerce/sections/featured-category/featured-collection.component.mjs +5 -5
  59. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +5 -5
  60. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.modal.mjs +1 -1
  61. package/esm2022/lib/ecommerce/sections/item-varient/item-varient.component.mjs +5 -5
  62. package/esm2022/lib/ecommerce/sections/order-details/order-details.component.mjs +5 -5
  63. package/esm2022/lib/ecommerce/sections/pagnination/pagnination.component.mjs +5 -5
  64. package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.component.mjs +5 -5
  65. package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.model.mjs +1 -1
  66. package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +10 -11
  67. package/esm2022/lib/ecommerce/sections/product-desc/product-desc.modal.mjs +1 -1
  68. package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +6 -6
  69. package/esm2022/lib/ecommerce/sections/product-list/product-list.modal.mjs +1 -1
  70. package/esm2022/lib/ecommerce/sections/small-product-listing/small-product-listing.component.mjs +5 -5
  71. package/esm2022/lib/ecommerce/sections/user-basic-info/user-basic-info.component.mjs +5 -5
  72. package/esm2022/lib/ecommerce/sections/user-profile/user-profile.component.mjs +5 -5
  73. package/esm2022/lib/ecommerce/sections/user-profile/user-profile.modal.mjs +1 -1
  74. package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +5 -5
  75. package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.model.mjs +1 -1
  76. package/esm2022/lib/ecommerce/sections/whislist/whislist.component.mjs +5 -5
  77. package/esm2022/lib/ecommerce/styles/BaseCollection.modal.mjs +1 -1
  78. package/esm2022/lib/ecommerce/styles/Collection.modal.mjs +1 -1
  79. package/esm2022/lib/ecommerce/styles/OrderedItems.modal.mjs +1 -1
  80. package/esm2022/lib/ecommerce/styles/PincodeLocation.model.mjs +1 -1
  81. package/esm2022/lib/ecommerce/styles/PincodeLocationInter.model.mjs +1 -1
  82. package/esm2022/lib/ecommerce/styles/cart.modal.mjs +1 -1
  83. package/esm2022/lib/ecommerce/styles/category.modal.mjs +1 -1
  84. package/esm2022/lib/ecommerce/styles/order.modal.mjs +1 -1
  85. package/esm2022/lib/ecommerce/styles/product.modal.mjs +1 -1
  86. package/esm2022/lib/ecommerce/styles/review.modal.mjs +1 -1
  87. package/esm2022/lib/ecommerce/styles/user.modal.mjs +1 -1
  88. package/esm2022/lib/elements/add-section/add-section.component.mjs +5 -5
  89. package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +5 -5
  90. package/esm2022/lib/elements/button/button.component.mjs +5 -5
  91. package/esm2022/lib/elements/button/button.model.mjs +1 -1
  92. package/esm2022/lib/elements/card-skeleton-loader/card-skeleton-loader.component.mjs +5 -5
  93. package/esm2022/lib/elements/covering-image-card/covering-image-card.component.mjs +5 -5
  94. package/esm2022/lib/elements/editor-service.service.mjs +18 -6
  95. package/esm2022/lib/elements/heading-element/heading-element.component.mjs +5 -5
  96. package/esm2022/lib/elements/image-editor/image-editor.component.mjs +5 -5
  97. package/esm2022/lib/elements/index.mjs +5 -5
  98. package/esm2022/lib/elements/link-editor/link-editor.component.mjs +5 -5
  99. package/esm2022/lib/elements/media-selector/media-selector.component.mjs +5 -5
  100. package/esm2022/lib/elements/navbar-button-element/navbar-button-element.component.mjs +4 -4
  101. package/esm2022/lib/elements/portfolio/portfolio.component.mjs +5 -5
  102. package/esm2022/lib/elements/property/property.component.mjs +5 -5
  103. package/esm2022/lib/elements/simpo-button/simpo-button.component.mjs +5 -5
  104. package/esm2022/lib/elements/socia-icons/socia-icons.component.mjs +4 -4
  105. package/esm2022/lib/elements/svg-divider/svg-divider.component.mjs +5 -5
  106. package/esm2022/lib/elements/text/text.component.mjs +5 -5
  107. package/esm2022/lib/elements/text-editor/text-editor.component.mjs +5 -5
  108. package/esm2022/lib/elements/top-of-image-card/top-of-image-card.component.mjs +5 -9
  109. package/esm2022/lib/pipes/amount.pipe.mjs +4 -4
  110. package/esm2022/lib/pipes/gender.pipe.mjs +4 -4
  111. package/esm2022/lib/sections/BaseSection.mjs +1 -1
  112. package/esm2022/lib/sections/add-new-section/add-new-section.component.mjs +5 -5
  113. package/esm2022/lib/sections/appointment-form/appointment-form.component.mjs +5 -5
  114. package/esm2022/lib/sections/appointment-form/appointment-form.model.mjs +1 -1
  115. package/esm2022/lib/sections/banner-carousel/banner-carousel.component.mjs +5 -5
  116. package/esm2022/lib/sections/banner-carousel/banner-carousel.model.mjs +1 -1
  117. package/esm2022/lib/sections/banner-grid-section/banner-grid-section.component.mjs +5 -5
  118. package/esm2022/lib/sections/banner-section/banner-section.component.mjs +4 -4
  119. package/esm2022/lib/sections/blog-list/blog-list.component.mjs +6 -6
  120. package/esm2022/lib/sections/blog-list/blog-list.model.mjs +1 -1
  121. package/esm2022/lib/sections/carousel-banner/carousel-banner.component.mjs +4 -4
  122. package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +5 -5
  123. package/esm2022/lib/sections/choose-us-section/choose-us-section.model.mjs +1 -1
  124. package/esm2022/lib/sections/contact-us/contact-us.component.mjs +4 -4
  125. package/esm2022/lib/sections/faq-section/faq-section.component.mjs +5 -5
  126. package/esm2022/lib/sections/faq-section/faq-section.modal.mjs +1 -1
  127. package/esm2022/lib/sections/features-section/features-section.component.mjs +5 -5
  128. package/esm2022/lib/sections/features-section/features-section.model.mjs +1 -1
  129. package/esm2022/lib/sections/footer/footer.component.mjs +5 -5
  130. package/esm2022/lib/sections/footer/footer.modal.mjs +1 -1
  131. package/esm2022/lib/sections/footer-section/footer-section.component.mjs +4 -4
  132. package/esm2022/lib/sections/header-section/header-section.component.mjs +6 -8
  133. package/esm2022/lib/sections/header-section/header-section.model.mjs +1 -1
  134. package/esm2022/lib/sections/header-text/header-text.component.mjs +5 -5
  135. package/esm2022/lib/sections/header-text/header-text.model.mjs +1 -1
  136. package/esm2022/lib/sections/image-carousel-section/image-carousel-section.component.mjs +5 -5
  137. package/esm2022/lib/sections/image-carousel-section/image-carousel.model.mjs +1 -1
  138. package/esm2022/lib/sections/image-grid-section/image-grid-section.component.mjs +5 -5
  139. package/esm2022/lib/sections/image-grid-section/image-grid-section.model.mjs +1 -1
  140. package/esm2022/lib/sections/image-section/image-section.component.mjs +5 -5
  141. package/esm2022/lib/sections/image-section/image-section.model.mjs +1 -1
  142. package/esm2022/lib/sections/location-section/location-section.component.mjs +5 -5
  143. package/esm2022/lib/sections/location-section/location-section.modal.mjs +1 -1
  144. package/esm2022/lib/sections/logo-gallery/logo-gallery.component.mjs +4 -4
  145. package/esm2022/lib/sections/logo-showcase/logo-showcase.component.mjs +5 -5
  146. package/esm2022/lib/sections/logo-showcase/logo-showcase.modal.mjs +1 -1
  147. package/esm2022/lib/sections/navbar-section/navbar-section.component.mjs +4 -4
  148. package/esm2022/lib/sections/new-services/new-services.component.mjs +5 -5
  149. package/esm2022/lib/sections/new-services/new-services.model.mjs +1 -1
  150. package/esm2022/lib/sections/new-testimonials/new-testimonials.component.mjs +5 -5
  151. package/esm2022/lib/sections/new-testimonials/new-testimonials.model.mjs +1 -1
  152. package/esm2022/lib/sections/pricing-section/pricing-section.component.mjs +5 -5
  153. package/esm2022/lib/sections/pricing-section/pricing-section.modal.mjs +1 -1
  154. package/esm2022/lib/sections/process-modern/process-modern.component.mjs +5 -5
  155. package/esm2022/lib/sections/process-modern/process-modern.model.mjs +1 -1
  156. package/esm2022/lib/sections/process-section/process-section.component.mjs +5 -5
  157. package/esm2022/lib/sections/process-section/process-section.modal.mjs +1 -1
  158. package/esm2022/lib/sections/property-component/property-component.component.mjs +5 -5
  159. package/esm2022/lib/sections/property-component/property-component.modal.mjs +1 -1
  160. package/esm2022/lib/sections/property-list/property-list.component.mjs +5 -5
  161. package/esm2022/lib/sections/property-list/property-list.modal.mjs +1 -1
  162. package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.component.mjs +5 -5
  163. package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.model.mjs +1 -1
  164. package/esm2022/lib/sections/registration-form/registration-form.component.mjs +21 -6
  165. package/esm2022/lib/sections/registration-form/registrationForm.model.mjs +1 -1
  166. package/esm2022/lib/sections/service-section/service-section.component.mjs +5 -5
  167. package/esm2022/lib/sections/service-section/service-section.model.mjs +1 -1
  168. package/esm2022/lib/sections/skeleton-loader-section/skeleton-loader-section.component.mjs +5 -5
  169. package/esm2022/lib/sections/team-member-section/team-member-section.component.mjs +5 -5
  170. package/esm2022/lib/sections/team-member-section/team-member-section.model.mjs +1 -1
  171. package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.mjs +5 -5
  172. package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.model.mjs +1 -1
  173. package/esm2022/lib/sections/testimonial-section/testimonial-section.component.mjs +5 -5
  174. package/esm2022/lib/sections/testimonial-section/testimonial-section.model.mjs +1 -1
  175. package/esm2022/lib/sections/testimonial-video/testimonial-video.component.mjs +5 -5
  176. package/esm2022/lib/sections/testimonial-video/testimonial-video.model.mjs +1 -1
  177. package/esm2022/lib/sections/text-image-section/text-image-section.component.mjs +4 -4
  178. package/esm2022/lib/sections/text-section/text-section.component.mjs +4 -4
  179. package/esm2022/lib/sections/text-section/text-section.model.mjs +1 -1
  180. package/esm2022/lib/sections/usp-video-section/usp-video-section.component.mjs +5 -5
  181. package/esm2022/lib/sections/usp-video-section/usp-video-section.model.mjs +1 -1
  182. package/esm2022/lib/sections/video-section/video-section.component.mjs +5 -5
  183. package/esm2022/lib/sections/video-section/video-section.model.mjs +1 -1
  184. package/esm2022/lib/sections/view-blog/view-blog.component.mjs +5 -5
  185. package/esm2022/lib/services/cart.service.mjs +4 -4
  186. package/esm2022/lib/services/endUser.service.mjs +4 -4
  187. package/esm2022/lib/services/events.service.mjs +4 -5
  188. package/esm2022/lib/services/image-upload-service.service.mjs +4 -4
  189. package/esm2022/lib/services/rest.service.mjs +4 -4
  190. package/esm2022/lib/services/sanitizeHtml.mjs +4 -4
  191. package/esm2022/lib/services/storage.service.mjs +4 -4
  192. package/esm2022/lib/styles/index.mjs +1 -7
  193. package/esm2022/lib/styles/style.model.mjs +1 -1
  194. package/esm2022/lib/styles/types.mjs +1 -1
  195. package/esm2022/lib/tokens/api-token.mjs +1 -1
  196. package/esm2022/public-api.mjs +2 -3
  197. package/fesm2022/simpo-component-library.mjs +692 -792
  198. package/fesm2022/simpo-component-library.mjs.map +1 -1
  199. package/lib/components/input-fields/input-fields.component.d.ts +1 -1
  200. package/lib/components/payment-details/payment-details.component.d.ts +6 -0
  201. package/lib/components/trasport-availability/trasport-availability.component.d.ts +14 -0
  202. package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +1 -1
  203. package/lib/elements/editor-service.service.d.ts +5 -1
  204. package/lib/elements/top-of-image-card/top-of-image-card.component.d.ts +0 -3
  205. package/lib/sections/banner-carousel/banner-carousel.component.d.ts +3 -3
  206. package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
  207. package/lib/sections/header-section/header-section.component.d.ts +0 -2
  208. package/lib/sections/header-section/header-section.model.d.ts +2 -10
  209. package/lib/sections/image-section/image-section.component.d.ts +2 -2
  210. package/lib/sections/logo-showcase/logo-showcase.component.d.ts +1 -1
  211. package/lib/sections/service-section/service-section.model.d.ts +1 -3
  212. package/lib/services/events.service.d.ts +0 -1
  213. package/lib/styles/index.d.ts +0 -5
  214. package/lib/styles/style.model.d.ts +1 -5
  215. package/lib/styles/types.d.ts +0 -1
  216. package/package.json +1 -1
  217. package/public-api.d.ts +0 -2
  218. package/simpo-component-library-3.5.52.tgz +0 -0
  219. package/src/lib/styles/global-styles.css +191 -191
  220. package/esm2022/lib/directive/hover-animation.directive.mjs +0 -133
  221. package/esm2022/lib/sections/moving-text/moving-text.component.mjs +0 -110
  222. package/esm2022/lib/sections/moving-text/moving-text.modal.mjs +0 -2
  223. package/lib/directive/hover-animation.directive.d.ts +0 -19
  224. package/lib/sections/moving-text/moving-text.component.d.ts +0 -26
  225. package/lib/sections/moving-text/moving-text.modal.d.ts +0 -19
  226. package/simpo-component-library-3.5.45.tgz +0 -0
@@ -1,192 +1,192 @@
1
- :root {
2
- --primary-font-family: 'mulish';
3
- --primary-bg-color: linear-gradient(345deg, #230860 0%, #00b6ff 100%);
4
- --primary-color: white;
5
- }
6
-
7
- .add-section {
8
- position: absolute !important;
9
- width: 40%;
10
- top: 0;
11
- left: 0 !important;
12
- height: 100vh;
13
- background-color: transparent !important;
14
- box-shadow: none !important;
15
- animation: slideInLeft 0.5s ease-in-out forwards;
16
- }
17
-
18
- .add-section.closing {
19
- animation: slideOutLeft 0.5 s ease-in-out forwards;
20
- }
21
-
22
- @keyframes slideInLeft {
23
- from {
24
- transform: translateX(-100%);
25
- opacity: 0;
26
- }
27
-
28
- to {
29
- transform: translateX(0);
30
- opacity: 1;
31
- }
32
- }
33
-
34
- @keyframes slideOutLeft {
35
- from {
36
- transform: translateX(0);
37
- opacity: 1;
38
- }
39
-
40
- to {
41
- transform: translateX(-100%);
42
- /* Close to the left side */
43
- opacity: 0;
44
- }
45
- }
46
-
47
-
48
- @media screen and (min-width: 1280px) {
49
- .content-side {
50
- h1 {
51
- font-size: 72px !important;
52
- line-height: 80px !important;
53
- }
54
-
55
- h2 {
56
- font-size: 48px !important;
57
- line-height: 56px !important;
58
- }
59
-
60
- h3 {
61
- font-size: 32px !important;
62
- line-height: 40px !important;
63
- }
64
-
65
- h4 {
66
- font-size: 24px !important;
67
- line-height: 36px !important;
68
- }
69
-
70
- h5 {
71
- font-size: 18px !important;
72
- line-height: 28px !important;
73
- }
74
-
75
- p {
76
- font-size: 16px !important;
77
- line-height: 21px !important;
78
- }
79
- }
80
-
81
- }
82
-
83
- @media screen and (min-width: 768px) {
84
- .content-side {
85
- h1 {
86
- font-size: 46px;
87
- line-height: 54px;
88
- }
89
-
90
- h2 {
91
- font-size: 35px;
92
- line-height: 42px;
93
- }
94
-
95
- h3 {
96
- font-size: 28px;
97
- line-height: 36px;
98
- }
99
-
100
- h4 {
101
- font-size: 18px;
102
- line-height: 26px;
103
- }
104
-
105
- h5 {
106
- font-size: 16px;
107
- line-height: 24px;
108
- }
109
-
110
- p {
111
- font-size: 14px;
112
- line-height: 21px;
113
- }
114
- }
115
-
116
- }
117
-
118
- .content-side {
119
- h1 {
120
- font-size: 36px;
121
- line-height: 42px;
122
- }
123
-
124
- h2 {
125
- font-size: 30px;
126
- line-height: 36px;
127
- }
128
-
129
- h3 {
130
- font-size: 24px;
131
- line-height: 32px;
132
- }
133
-
134
- h4 {
135
- font-size: 18px;
136
- line-height: 26px;
137
- }
138
-
139
- h5 {
140
- font-size: 16px;
141
- line-height: 24px;
142
- }
143
-
144
- p {
145
- font-size: 14px;
146
- line-height: 21px;
147
- }
148
- }
149
-
150
- .link-editor {
151
- height: 100vh;
152
- width: 28vw;
153
- position: absolute !important;
154
- top: 0;
155
- left: 0 !important;
156
- animation: slideInLeft 0.5s ease-in-out forwards;
157
- }
158
-
159
- @media screen and (max-width : 475px) {
160
- .link-editor {
161
- width: 100% !important;
162
- }
163
-
164
- .link-editor {
165
- width: 100% !important;
166
- max-width: 100% !important;
167
- }
168
-
169
- .media-selector {
170
- width: 100% !important;
171
- max-width: 100% !important;
172
- }
173
-
174
- .add-section{
175
- width: 100% !important;
176
- max-width: 100% !important;
177
- }
178
-
179
- }
180
-
181
- .mat-mdc-form-field-subscript-wrapper {
182
- display: none;
183
- }
184
-
185
- .media-selector {
186
- position: absolute !important;
187
- top: 0 !important;
188
- left: 0 !important;
189
- width: 60%;
190
- height: 100vh;
191
- animation: slideInLeft 0.5s ease-in-out forwards;
1
+ :root {
2
+ --primary-font-family: 'mulish';
3
+ --primary-bg-color: linear-gradient(345deg, #230860 0%, #00b6ff 100%);
4
+ --primary-color: white;
5
+ }
6
+
7
+ .add-section {
8
+ position: absolute !important;
9
+ width: 40%;
10
+ top: 0;
11
+ left: 0 !important;
12
+ height: 100vh;
13
+ background-color: transparent !important;
14
+ box-shadow: none !important;
15
+ animation: slideInLeft 0.5s ease-in-out forwards;
16
+ }
17
+
18
+ .add-section.closing {
19
+ animation: slideOutLeft 0.5 s ease-in-out forwards;
20
+ }
21
+
22
+ @keyframes slideInLeft {
23
+ from {
24
+ transform: translateX(-100%);
25
+ opacity: 0;
26
+ }
27
+
28
+ to {
29
+ transform: translateX(0);
30
+ opacity: 1;
31
+ }
32
+ }
33
+
34
+ @keyframes slideOutLeft {
35
+ from {
36
+ transform: translateX(0);
37
+ opacity: 1;
38
+ }
39
+
40
+ to {
41
+ transform: translateX(-100%);
42
+ /* Close to the left side */
43
+ opacity: 0;
44
+ }
45
+ }
46
+
47
+
48
+ @media screen and (min-width: 1280px) {
49
+ .content-side {
50
+ h1 {
51
+ font-size: 72px !important;
52
+ line-height: 80px !important;
53
+ }
54
+
55
+ h2 {
56
+ font-size: 48px !important;
57
+ line-height: 56px !important;
58
+ }
59
+
60
+ h3 {
61
+ font-size: 32px !important;
62
+ line-height: 40px !important;
63
+ }
64
+
65
+ h4 {
66
+ font-size: 24px !important;
67
+ line-height: 36px !important;
68
+ }
69
+
70
+ h5 {
71
+ font-size: 18px !important;
72
+ line-height: 28px !important;
73
+ }
74
+
75
+ p {
76
+ font-size: 16px !important;
77
+ line-height: 21px !important;
78
+ }
79
+ }
80
+
81
+ }
82
+
83
+ @media screen and (min-width: 768px) {
84
+ .content-side {
85
+ h1 {
86
+ font-size: 46px;
87
+ line-height: 54px;
88
+ }
89
+
90
+ h2 {
91
+ font-size: 35px;
92
+ line-height: 42px;
93
+ }
94
+
95
+ h3 {
96
+ font-size: 28px;
97
+ line-height: 36px;
98
+ }
99
+
100
+ h4 {
101
+ font-size: 18px;
102
+ line-height: 26px;
103
+ }
104
+
105
+ h5 {
106
+ font-size: 16px;
107
+ line-height: 24px;
108
+ }
109
+
110
+ p {
111
+ font-size: 14px;
112
+ line-height: 21px;
113
+ }
114
+ }
115
+
116
+ }
117
+
118
+ .content-side {
119
+ h1 {
120
+ font-size: 36px;
121
+ line-height: 42px;
122
+ }
123
+
124
+ h2 {
125
+ font-size: 30px;
126
+ line-height: 36px;
127
+ }
128
+
129
+ h3 {
130
+ font-size: 24px;
131
+ line-height: 32px;
132
+ }
133
+
134
+ h4 {
135
+ font-size: 18px;
136
+ line-height: 26px;
137
+ }
138
+
139
+ h5 {
140
+ font-size: 16px;
141
+ line-height: 24px;
142
+ }
143
+
144
+ p {
145
+ font-size: 14px;
146
+ line-height: 21px;
147
+ }
148
+ }
149
+
150
+ .link-editor {
151
+ height: 100vh;
152
+ width: 28vw;
153
+ position: absolute !important;
154
+ top: 0;
155
+ left: 0 !important;
156
+ animation: slideInLeft 0.5s ease-in-out forwards;
157
+ }
158
+
159
+ @media screen and (max-width : 475px) {
160
+ .link-editor {
161
+ width: 100% !important;
162
+ }
163
+
164
+ .link-editor {
165
+ width: 100% !important;
166
+ max-width: 100% !important;
167
+ }
168
+
169
+ .media-selector {
170
+ width: 100% !important;
171
+ max-width: 100% !important;
172
+ }
173
+
174
+ .add-section{
175
+ width: 100% !important;
176
+ max-width: 100% !important;
177
+ }
178
+
179
+ }
180
+
181
+ .mat-mdc-form-field-subscript-wrapper {
182
+ display: none;
183
+ }
184
+
185
+ .media-selector {
186
+ position: absolute !important;
187
+ top: 0 !important;
188
+ left: 0 !important;
189
+ width: 60%;
190
+ height: 100vh;
191
+ animation: slideInLeft 0.5s ease-in-out forwards;
192
192
  }
@@ -1,133 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../services/events.service";
4
- export class HoverAnimationDirective {
5
- constructor(el, renderer, eventService) {
6
- this.el = el;
7
- this.renderer = renderer;
8
- this.eventService = eventService;
9
- this.eventServiceSubscription = this.eventService.contentAnimationChangeChecks.subscribe((res) => {
10
- this.animationData = res.data;
11
- this.setupAnimation();
12
- });
13
- }
14
- ngOnInit() {
15
- console.log(this.animationData?.contentAnimation);
16
- this.setupAnimation();
17
- }
18
- // setupAnimation() {
19
- // if (this.animationData?.contentAnimation === 'hover') {
20
- // // Initially hidden but still in the DOM (opacity 0 instead of display none)
21
- // this.renderer.setStyle(this.el.nativeElement, 'opacity', '0');
22
- // this.renderer.setStyle(this.el.nativeElement, 'transition', 'opacity 1s ease');
23
- // // Adjust the parent element to listen for hover events
24
- // const parentElement = this.el.nativeElement.parentElement;
25
- // if (parentElement) {
26
- // this.renderer.listen(parentElement, 'mouseenter', () => {
27
- // this.renderer.setStyle(this.el.nativeElement, 'opacity', '1');
28
- // });
29
- // this.renderer.listen(parentElement, 'mouseleave', () => {
30
- // this.renderer.setStyle(this.el.nativeElement, 'opacity', '0');
31
- // });
32
- // }
33
- // }
34
- // }
35
- setupAnimation() {
36
- this.mouseEnterListener?.();
37
- this.mouseLeaveListener?.();
38
- const animationType = this.animationData?.contentAnimation;
39
- const parentElement = this.el.nativeElement.parentElement;
40
- if (animationType === 'hover') {
41
- this.renderer.setStyle(this.el.nativeElement, 'opacity', '0');
42
- this.renderer.setStyle(this.el.nativeElement, 'transition', 'opacity 1s ease');
43
- if (parentElement) {
44
- this.mouseEnterListener = this.renderer.listen(parentElement, 'mouseenter', () => {
45
- this.renderer.setStyle(this.el.nativeElement, 'opacity', '1');
46
- });
47
- this.mouseLeaveListener = this.renderer.listen(parentElement, 'mouseleave', () => {
48
- this.renderer.setStyle(this.el.nativeElement, 'opacity', '0');
49
- });
50
- }
51
- }
52
- else if (animationType === 'grow-shadow') {
53
- this.renderer.setStyle(this.el.nativeElement, 'transition', 'box-shadow 0.3s ease');
54
- if (parentElement) {
55
- this.mouseEnterListener = this.renderer.listen(parentElement, 'mouseenter', () => {
56
- this.renderer.setStyle(this.el.nativeElement, 'box-shadow', '0 10px 20px rgba(0, 0, 0, 0.3)');
57
- });
58
- this.mouseLeaveListener = this.renderer.listen(parentElement, 'mouseleave', () => {
59
- this.renderer.setStyle(this.el.nativeElement, 'box-shadow', 'none');
60
- });
61
- }
62
- }
63
- else if (animationType === 'pop-bounce') {
64
- this.renderer.setStyle(this.el.nativeElement, 'transition', 'transform 0.3s ease');
65
- if (parentElement) {
66
- this.mouseEnterListener = this.renderer.listen(parentElement, 'mouseenter', () => {
67
- this.renderer.setStyle(this.el.nativeElement, 'transform', 'scale(1.1)');
68
- });
69
- this.mouseLeaveListener = this.renderer.listen(parentElement, 'mouseleave', () => {
70
- this.renderer.setStyle(this.el.nativeElement, 'transform', 'scale(1)');
71
- });
72
- }
73
- }
74
- else if (animationType === 'hover-pop') {
75
- this.renderer.setStyle(this.el.nativeElement, 'opacity', '0');
76
- this.renderer.setStyle(this.el.nativeElement, 'visibility', 'hidden');
77
- this.renderer.setStyle(this.el.nativeElement, 'transform', 'translateY(10px)');
78
- this.renderer.setStyle(this.el.nativeElement, 'transition', 'opacity 0.3s ease, transform 0.3s ease');
79
- if (parentElement) {
80
- this.mouseEnterListener = this.renderer.listen(parentElement, 'mouseenter', () => {
81
- this.renderer.setStyle(this.el.nativeElement, 'visibility', 'visible');
82
- this.renderer.setStyle(this.el.nativeElement, 'opacity', '1');
83
- this.renderer.setStyle(this.el.nativeElement, 'transform', 'translateY(0)');
84
- });
85
- this.mouseLeaveListener = this.renderer.listen(parentElement, 'mouseleave', () => {
86
- this.renderer.setStyle(this.el.nativeElement, 'opacity', '0');
87
- this.renderer.setStyle(this.el.nativeElement, 'transform', 'translateY(10px)');
88
- setTimeout(() => {
89
- this.renderer.setStyle(this.el.nativeElement, 'visibility', 'hidden');
90
- }, 300);
91
- });
92
- }
93
- }
94
- else if (animationType === 'slide-in-left') {
95
- this.renderer.setStyle(this.el.nativeElement, 'opacity', '0');
96
- this.renderer.setStyle(this.el.nativeElement, 'visibility', 'hidden');
97
- this.renderer.setStyle(this.el.nativeElement, 'transform', 'translateX(-10px)');
98
- this.renderer.setStyle(this.el.nativeElement, 'transition', 'opacity 0.3s ease, transform 0.3s ease');
99
- if (parentElement) {
100
- this.mouseEnterListener = this.renderer.listen(parentElement, 'mouseenter', () => {
101
- this.renderer.setStyle(this.el.nativeElement, 'visibility', 'visible');
102
- this.renderer.setStyle(this.el.nativeElement, 'opacity', '1');
103
- this.renderer.setStyle(this.el.nativeElement, 'transform', 'translateX(0)');
104
- });
105
- this.mouseLeaveListener = this.renderer.listen(parentElement, 'mouseleave', () => {
106
- this.renderer.setStyle(this.el.nativeElement, 'opacity', '0');
107
- this.renderer.setStyle(this.el.nativeElement, 'transform', 'translateX(-10px)');
108
- setTimeout(() => {
109
- this.renderer.setStyle(this.el.nativeElement, 'visibility', 'hidden');
110
- }, 300);
111
- });
112
- }
113
- }
114
- }
115
- ngOnDestroy() {
116
- if (this.eventServiceSubscription) {
117
- this.eventServiceSubscription.unsubscribe();
118
- }
119
- }
120
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: HoverAnimationDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.EventsService }], target: i0.ɵɵFactoryTarget.Directive }); }
121
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.4", type: HoverAnimationDirective, isStandalone: true, selector: "[simpoHoverAnimation]", inputs: { animationData: ["simpoHoverAnimation", "animationData"] }, ngImport: i0 }); }
122
- }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: HoverAnimationDirective, decorators: [{
124
- type: Directive,
125
- args: [{
126
- selector: '[simpoHoverAnimation]',
127
- standalone: true
128
- }]
129
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.EventsService }], propDecorators: { animationData: [{
130
- type: Input,
131
- args: ['simpoHoverAnimation']
132
- }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItYW5pbWF0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZGlyZWN0aXZlL2hvdmVyLWFuaW1hdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7OztBQVF4RSxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQ1UsRUFBYyxFQUNkLFFBQW1CLEVBQ25CLFlBQTJCO1FBRjNCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBRW5DLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLFNBQVMsQ0FDdEYsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBSUQscUJBQXFCO0lBQ3JCLDREQUE0RDtJQUM1RCxtRkFBbUY7SUFDbkYscUVBQXFFO0lBQ3JFLHNGQUFzRjtJQUV0Riw4REFBOEQ7SUFDOUQsaUVBQWlFO0lBQ2pFLDJCQUEyQjtJQUMzQixrRUFBa0U7SUFDbEUseUVBQXlFO0lBQ3pFLFlBQVk7SUFFWixrRUFBa0U7SUFDbEUseUVBQXlFO0lBQ3pFLFlBQVk7SUFDWixRQUFRO0lBQ1IsTUFBTTtJQUNOLElBQUk7SUFDSixj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QVEsQ0FBQyxDQUFDO29CQUN4RSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ1YsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztJQU1ILENBQUM7SUFHRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7OEdBakpVLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjttSUFFK0IsYUFBYTtzQkFBMUMsS0FBSzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY29udGVudEFuaW1hdGlvbk1vZGVsIH0gZnJvbSAnLi4vc3R5bGVzL3N0eWxlLm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NpbXBvSG92ZXJBbmltYXRpb25dJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIb3ZlckFuaW1hdGlvbkRpcmVjdGl2ZSB7XHJcbiAgQElucHV0KCdzaW1wb0hvdmVyQW5pbWF0aW9uJykgYW5pbWF0aW9uRGF0YT86IGNvbnRlbnRBbmltYXRpb25Nb2RlbDtcclxuICBldmVudFNlcnZpY2VTdWJzY3JpcHRpb246IGFueTtcclxuICBcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRzU2VydmljZVxyXG4gICkgeyBcclxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5ldmVudFNlcnZpY2UuY29udGVudEFuaW1hdGlvbkNoYW5nZUNoZWNrcy5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hbmltYXRpb25EYXRhID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICB0aGlzLnNldHVwQW5pbWF0aW9uKCk7XHJcbiAgICAgIH0gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmFuaW1hdGlvbkRhdGE/LmNvbnRlbnRBbmltYXRpb24pO1xyXG4gICAgdGhpcy5zZXR1cEFuaW1hdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgbW91c2VFbnRlckxpc3RlbmVyPzogKCkgPT4gdm9pZDtcclxuICBtb3VzZUxlYXZlTGlzdGVuZXI/OiAoKSA9PiB2b2lkO1xyXG4gIC8vIHNldHVwQW5pbWF0aW9uKCkge1xyXG4gIC8vICAgaWYgKHRoaXMuYW5pbWF0aW9uRGF0YT8uY29udGVudEFuaW1hdGlvbiA9PT0gJ2hvdmVyJykge1xyXG4gIC8vICAgICAvLyBJbml0aWFsbHkgaGlkZGVuIGJ1dCBzdGlsbCBpbiB0aGUgRE9NIChvcGFjaXR5IDAgaW5zdGVhZCBvZiBkaXNwbGF5IG5vbmUpXHJcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnb3BhY2l0eScsICcwJyk7XHJcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndHJhbnNpdGlvbicsICdvcGFjaXR5IDFzIGVhc2UnKTtcclxuICAgICAgXHJcbiAgLy8gICAgIC8vIEFkanVzdCB0aGUgcGFyZW50IGVsZW1lbnQgdG8gbGlzdGVuIGZvciBob3ZlciBldmVudHNcclxuICAvLyAgICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG4gIC8vICAgICBpZiAocGFyZW50RWxlbWVudCkge1xyXG4gIC8vICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHBhcmVudEVsZW1lbnQsICdtb3VzZWVudGVyJywgKCkgPT4ge1xyXG4gIC8vICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdvcGFjaXR5JywgJzEnKTtcclxuICAvLyAgICAgICB9KTtcclxuICAgICAgICBcclxuICAvLyAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3RlbihwYXJlbnRFbGVtZW50LCAnbW91c2VsZWF2ZScsICgpID0+IHtcclxuICAvLyAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnb3BhY2l0eScsICcwJyk7XHJcbiAgLy8gICAgICAgfSk7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH1cclxuICAvLyB9XHJcbiAgc2V0dXBBbmltYXRpb24oKSB7XHJcbiAgICB0aGlzLm1vdXNlRW50ZXJMaXN0ZW5lcj8uKCk7XHJcbiAgICB0aGlzLm1vdXNlTGVhdmVMaXN0ZW5lcj8uKCk7XHJcbiAgXHJcbiAgICBjb25zdCBhbmltYXRpb25UeXBlID0gdGhpcy5hbmltYXRpb25EYXRhPy5jb250ZW50QW5pbWF0aW9uO1xyXG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG4gIFxyXG4gICAgaWYgKGFuaW1hdGlvblR5cGUgPT09ICdob3ZlcicpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdvcGFjaXR5JywgJzAnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2l0aW9uJywgJ29wYWNpdHkgMXMgZWFzZScpO1xyXG4gIFxyXG4gICAgICBpZiAocGFyZW50RWxlbWVudCkge1xyXG4gICAgICAgIHRoaXMubW91c2VFbnRlckxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4ocGFyZW50RWxlbWVudCwgJ21vdXNlZW50ZXInLCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ29wYWNpdHknLCAnMScpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMubW91c2VMZWF2ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4ocGFyZW50RWxlbWVudCwgJ21vdXNlbGVhdmUnLCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ29wYWNpdHknLCAnMCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICB9IGVsc2UgaWYgKGFuaW1hdGlvblR5cGUgPT09ICdncm93LXNoYWRvdycpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2l0aW9uJywgJ2JveC1zaGFkb3cgMC4zcyBlYXNlJyk7XHJcbiAgXHJcbiAgICAgIGlmIChwYXJlbnRFbGVtZW50KSB7XHJcbiAgICAgICAgdGhpcy5tb3VzZUVudGVyTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihwYXJlbnRFbGVtZW50LCAnbW91c2VlbnRlcicsICgpID0+IHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnYm94LXNoYWRvdycsICcwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMyknKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1vdXNlTGVhdmVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHBhcmVudEVsZW1lbnQsICdtb3VzZWxlYXZlJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdib3gtc2hhZG93JywgJ25vbmUnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgfSBlbHNlIGlmIChhbmltYXRpb25UeXBlID09PSAncG9wLWJvdW5jZScpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2l0aW9uJywgJ3RyYW5zZm9ybSAwLjNzIGVhc2UnKTtcclxuICBcclxuICAgICAgaWYgKHBhcmVudEVsZW1lbnQpIHtcclxuICAgICAgICB0aGlzLm1vdXNlRW50ZXJMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHBhcmVudEVsZW1lbnQsICdtb3VzZWVudGVyJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2Zvcm0nLCAnc2NhbGUoMS4xKScpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMubW91c2VMZWF2ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4ocGFyZW50RWxlbWVudCwgJ21vdXNlbGVhdmUnLCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsICdzY2FsZSgxKScpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChhbmltYXRpb25UeXBlID09PSAnaG92ZXItcG9wJykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ29wYWNpdHknLCAnMCcpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3Zpc2liaWxpdHknLCAnaGlkZGVuJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZVkoMTBweCknKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2l0aW9uJywgJ29wYWNpdHkgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlJyk7XHJcbiAgICBcclxuICAgICAgaWYgKHBhcmVudEVsZW1lbnQpIHtcclxuICAgICAgICB0aGlzLm1vdXNlRW50ZXJMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHBhcmVudEVsZW1lbnQsICdtb3VzZWVudGVyJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd2aXNpYmlsaXR5JywgJ3Zpc2libGUnKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnb3BhY2l0eScsICcxJyk7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsICd0cmFuc2xhdGVZKDApJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICBcclxuICAgICAgICB0aGlzLm1vdXNlTGVhdmVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHBhcmVudEVsZW1lbnQsICdtb3VzZWxlYXZlJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdvcGFjaXR5JywgJzAnKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZVkoMTBweCknKTtcclxuICAgIFxyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcclxuICAgICAgICAgIH0sIDMwMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGFuaW1hdGlvblR5cGUgPT09ICdzbGlkZS1pbi1sZWZ0Jykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ29wYWNpdHknLCAnMCcpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3Zpc2liaWxpdHknLCAnaGlkZGVuJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZVgoLTEwcHgpJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndHJhbnNpdGlvbicsICdvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZScpO1xyXG4gICAgXHJcbiAgICAgIGlmIChwYXJlbnRFbGVtZW50KSB7XHJcbiAgICAgICAgdGhpcy5tb3VzZUVudGVyTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihwYXJlbnRFbGVtZW50LCAnbW91c2VlbnRlcicsICgpID0+IHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndmlzaWJpbGl0eScsICd2aXNpYmxlJyk7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ29wYWNpdHknLCAnMScpO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlWCgwKScpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgXHJcbiAgICAgICAgdGhpcy5tb3VzZUxlYXZlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihwYXJlbnRFbGVtZW50LCAnbW91c2VsZWF2ZScsICgpID0+IHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnb3BhY2l0eScsICcwJyk7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsICd0cmFuc2xhdGVYKC0xMHB4KScpO1xyXG4gICAgXHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd2aXNpYmlsaXR5JywgJ2hpZGRlbicpO1xyXG4gICAgICAgICAgfSwgMzAwKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxuICAgIFxyXG4gICAgXHJcbiAgICBcclxuICB9XHJcbiAgXHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuZXZlbnRTZXJ2aWNlU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59Il19