@dropi/ui-components 1.0.12 → 1.0.13

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 (255) hide show
  1. package/README.md +55 -36
  2. package/dist/README.md +58 -38
  3. package/dist/components-source/accordion/accordion-item/accordion-item.component.d.ts +31 -0
  4. package/dist/components-source/accordion/accordion.component.d.ts +26 -0
  5. package/dist/components-source/alert/alert.component.d.ts +32 -0
  6. package/dist/components-source/alert-modal/alert-modal.component.d.ts +78 -0
  7. package/dist/components-source/alert-validation/alert-validation.component.d.ts +21 -0
  8. package/dist/components-source/badge/badge.component.d.ts +12 -0
  9. package/dist/components-source/beta-tag/beta-tag.component.d.ts +5 -0
  10. package/dist/components-source/breadcrumb/breadcrumb.component.d.ts +11 -0
  11. package/dist/components-source/card-product/card-product.component.d.ts +204 -0
  12. package/dist/components-source/card-section/card-section.component.d.ts +31 -0
  13. package/dist/components-source/checkbox-selection-list/checkbox-selection-list.component.d.ts +26 -0
  14. package/dist/components-source/city-selector/city-selector.component.d.ts +17 -0
  15. package/dist/components-source/color-picker/color-picker.component.d.ts +73 -0
  16. package/dist/components-source/confirm-dialog/confirm-dialog.component.d.ts +10 -0
  17. package/dist/components-source/country-flags/country-flags.component.d.ts +12 -0
  18. package/dist/components-source/date-picker/date-picker.component.d.ts +27 -0
  19. package/dist/components-source/date-picker-range/date-picker-range.component.d.ts +26 -0
  20. package/dist/components-source/dropi-avatars/dropi-avatars.component.d.ts +11 -0
  21. package/dist/components-source/dropi-badge/dropi-badge.component.d.ts +29 -0
  22. package/dist/components-source/dropi-banner-external/dropi-banner-external.component.d.ts +19 -0
  23. package/dist/components-source/dropi-breadcrumb/dropi-breadcrumb.component.d.ts +22 -0
  24. package/dist/components-source/dropi-card-checkbox/dropi-card-checkbox.component.d.ts +20 -0
  25. package/dist/components-source/dropi-carousel/dropi-carousel.component.d.ts +52 -0
  26. package/dist/components-source/dropi-checkbox/dropi-checkbox.component.d.ts +11 -0
  27. package/dist/components-source/dropi-chips/dropi-chips.component.d.ts +17 -0
  28. package/dist/components-source/dropi-country-selector/countries.data.d.ts +6 -0
  29. package/dist/components-source/dropi-country-selector/dropi-country-selector.component.d.ts +90 -0
  30. package/dist/components-source/dropi-drawer/dropi-drawer.component.d.ts +20 -0
  31. package/dist/components-source/dropi-dropdown/dropi-dropdown.component.d.ts +20 -0
  32. package/dist/components-source/dropi-favorite-button/dropi-favorite-button.component.d.ts +12 -0
  33. package/dist/components-source/dropi-file-upload/card-view/card-view.component.d.ts +19 -0
  34. package/dist/components-source/dropi-file-upload/drop-zone/drop-zone.component.d.ts +38 -0
  35. package/dist/components-source/dropi-file-upload/dropi-file-upload.component.d.ts +18 -0
  36. package/dist/components-source/dropi-file-upload/file-list/file-list.component.d.ts +39 -0
  37. package/dist/components-source/dropi-file-upload/grid-view/grid-view.component.d.ts +15 -0
  38. package/dist/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.d.ts +20 -0
  39. package/dist/components-source/dropi-image-overlay/dropi-image-overlay.component.d.ts +8 -0
  40. package/dist/components-source/dropi-languages-selector/dropi-languages-selector.component.d.ts +18 -0
  41. package/dist/components-source/dropi-logo/dropi-logo.component.d.ts +12 -0
  42. package/dist/components-source/dropi-modal/dropi-modal.component.d.ts +34 -0
  43. package/dist/components-source/dropi-modal/p-template.directive.d.ts +9 -0
  44. package/dist/components-source/dropi-navbar/dropi-navbar.component.d.ts +20 -0
  45. package/dist/components-source/dropi-paginator/dropi-paginator.component.d.ts +21 -0
  46. package/dist/components-source/dropi-phone-input/dropi-phone-input.component.d.ts +55 -0
  47. package/dist/components-source/dropi-radio-button/dropi-radio-button.component.d.ts +17 -0
  48. package/dist/components-source/dropi-search/dropi-search.component.d.ts +40 -0
  49. package/dist/components-source/dropi-select/dropi-select.component.d.ts +34 -0
  50. package/dist/components-source/dropi-skeleton/dropi-skeleton.component.d.ts +14 -0
  51. package/dist/components-source/dropi-steps/dropi-steps.component.d.ts +64 -0
  52. package/dist/components-source/dropi-switch/dropi-switch.component.d.ts +11 -0
  53. package/dist/components-source/dropi-table/dropi-table.component.d.ts +82 -0
  54. package/dist/components-source/dropi-tag/dropi-tag.component.d.ts +15 -0
  55. package/dist/components-source/dropi-text-area/dropi-text-area.component.d.ts +14 -0
  56. package/dist/components-source/dropi-tooltip/dropi-tooltip.component.d.ts +28 -0
  57. package/dist/components-source/dropi-youtube-lazy-video/dropi-youtube-lazy-video.component.d.ts +16 -0
  58. package/dist/components-source/empty/empty.component.d.ts +9 -0
  59. package/dist/components-source/empty-state/empty-state.component.d.ts +17 -0
  60. package/dist/components-source/file-upload-progress-bar/file-upload-progress-bar.component.d.ts +30 -0
  61. package/dist/components-source/index.d.ts +85 -0
  62. package/dist/components-source/input/input.component.d.ts +33 -0
  63. package/dist/components-source/lottie-loader/lottie-loader.component.d.ts +9 -0
  64. package/dist/components-source/otp-send-code/otp-send-code.component.d.ts +83 -0
  65. package/dist/components-source/radio-selection-list/radio-selection-list.component.d.ts +30 -0
  66. package/dist/components-source/read-more/read-more.component.d.ts +60 -0
  67. package/dist/components-source/sidebar/sidebar.component.d.ts +27 -0
  68. package/dist/components-source/simple-stepper/simple-stepper.component.d.ts +21 -0
  69. package/dist/components-source/spinner/spinner.component.d.ts +9 -0
  70. package/dist/components-source/tabs/tabs.component.d.ts +27 -0
  71. package/dist/components-source/tag-type-product/tag-type-product.component.d.ts +5 -0
  72. package/dist/components-source/toast/toast.component.d.ts +21 -0
  73. package/dist/components-source/toggle/input-toggle.component.d.ts +11 -0
  74. package/dist/components-source/tooltip/tooltip.component.d.ts +15 -0
  75. package/dist/components-source/vertical-steps/vertical-steps.component.d.ts +27 -0
  76. package/dist/esm2022/components-source/accordion/accordion-item/accordion-item.component.mjs +51 -0
  77. package/dist/esm2022/components-source/accordion/accordion.component.mjs +46 -0
  78. package/dist/esm2022/components-source/alert/alert.component.mjs +114 -0
  79. package/dist/esm2022/components-source/alert-modal/alert-modal.component.mjs +247 -0
  80. package/dist/esm2022/components-source/alert-validation/alert-validation.component.mjs +53 -0
  81. package/dist/esm2022/components-source/badge/badge.component.mjs +23 -0
  82. package/dist/esm2022/components-source/beta-tag/beta-tag.component.mjs +11 -0
  83. package/dist/esm2022/components-source/breadcrumb/breadcrumb.component.mjs +26 -0
  84. package/dist/esm2022/components-source/card-product/card-product.component.mjs +534 -0
  85. package/dist/esm2022/components-source/card-section/card-section.component.mjs +91 -0
  86. package/dist/esm2022/components-source/checkbox-selection-list/checkbox-selection-list.component.mjs +79 -0
  87. package/dist/esm2022/components-source/city-selector/city-selector.component.mjs +53 -0
  88. package/dist/esm2022/components-source/color-picker/color-picker.component.mjs +320 -0
  89. package/dist/esm2022/components-source/confirm-dialog/confirm-dialog.component.mjs +27 -0
  90. package/dist/esm2022/components-source/country-flags/country-flags.component.mjs +27 -0
  91. package/dist/esm2022/components-source/date-picker/date-picker.component.mjs +73 -0
  92. package/dist/esm2022/components-source/date-picker-range/date-picker-range.component.mjs +67 -0
  93. package/dist/esm2022/components-source/dropi-avatars/dropi-avatars.component.mjs +31 -0
  94. package/dist/esm2022/components-source/dropi-badge/dropi-badge.component.mjs +45 -0
  95. package/dist/esm2022/components-source/dropi-banner-external/dropi-banner-external.component.mjs +39 -0
  96. package/dist/esm2022/components-source/dropi-breadcrumb/dropi-breadcrumb.component.mjs +45 -0
  97. package/dist/esm2022/components-source/dropi-card-checkbox/dropi-card-checkbox.component.mjs +53 -0
  98. package/dist/esm2022/components-source/dropi-carousel/dropi-carousel.component.mjs +243 -0
  99. package/dist/esm2022/components-source/dropi-checkbox/dropi-checkbox.component.mjs +31 -0
  100. package/dist/esm2022/components-source/dropi-chips/dropi-chips.component.mjs +38 -0
  101. package/dist/esm2022/components-source/dropi-country-selector/countries.data.mjs +254 -0
  102. package/dist/esm2022/components-source/dropi-country-selector/dropi-country-selector.component.mjs +183 -0
  103. package/dist/esm2022/components-source/dropi-drawer/dropi-drawer.component.mjs +69 -0
  104. package/dist/esm2022/components-source/dropi-dropdown/dropi-dropdown.component.mjs +59 -0
  105. package/dist/esm2022/components-source/dropi-favorite-button/dropi-favorite-button.component.mjs +33 -0
  106. package/dist/esm2022/components-source/dropi-file-upload/card-view/card-view.component.mjs +47 -0
  107. package/dist/esm2022/components-source/dropi-file-upload/drop-zone/drop-zone.component.mjs +115 -0
  108. package/dist/esm2022/components-source/dropi-file-upload/dropi-file-upload.component.mjs +66 -0
  109. package/dist/esm2022/components-source/dropi-file-upload/file-list/file-list.component.mjs +95 -0
  110. package/dist/esm2022/components-source/dropi-file-upload/grid-view/grid-view.component.mjs +37 -0
  111. package/dist/esm2022/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.mjs +59 -0
  112. package/dist/esm2022/components-source/dropi-image-overlay/dropi-image-overlay.component.mjs +31 -0
  113. package/dist/esm2022/components-source/dropi-languages-selector/dropi-languages-selector.component.mjs +38 -0
  114. package/dist/esm2022/components-source/dropi-logo/dropi-logo.component.mjs +27 -0
  115. package/dist/esm2022/components-source/dropi-modal/dropi-modal.component.mjs +92 -0
  116. package/dist/esm2022/components-source/dropi-modal/p-template.directive.mjs +22 -0
  117. package/dist/esm2022/components-source/dropi-navbar/dropi-navbar.component.mjs +51 -0
  118. package/dist/esm2022/components-source/dropi-paginator/dropi-paginator.component.mjs +89 -0
  119. package/dist/esm2022/components-source/dropi-phone-input/dropi-phone-input.component.mjs +155 -0
  120. package/dist/esm2022/components-source/dropi-radio-button/dropi-radio-button.component.mjs +48 -0
  121. package/dist/esm2022/components-source/dropi-search/dropi-search.component.mjs +104 -0
  122. package/dist/esm2022/components-source/dropi-select/dropi-select.component.mjs +96 -0
  123. package/dist/esm2022/components-source/dropi-skeleton/dropi-skeleton.component.mjs +39 -0
  124. package/dist/esm2022/components-source/dropi-steps/dropi-steps.component.mjs +97 -0
  125. package/dist/esm2022/components-source/dropi-switch/dropi-switch.component.mjs +22 -0
  126. package/dist/esm2022/components-source/dropi-table/dropi-table.component.mjs +333 -0
  127. package/dist/esm2022/components-source/dropi-tag/dropi-tag.component.mjs +36 -0
  128. package/dist/esm2022/components-source/dropi-text-area/dropi-text-area.component.mjs +53 -0
  129. package/dist/esm2022/components-source/dropi-tooltip/dropi-tooltip.component.mjs +78 -0
  130. package/dist/esm2022/components-source/dropi-youtube-lazy-video/dropi-youtube-lazy-video.component.mjs +46 -0
  131. package/dist/esm2022/components-source/empty/empty.component.mjs +18 -0
  132. package/dist/esm2022/components-source/empty-state/empty-state.component.mjs +62 -0
  133. package/dist/esm2022/components-source/file-upload-progress-bar/file-upload-progress-bar.component.mjs +91 -0
  134. package/dist/esm2022/components-source/index.mjs +107 -0
  135. package/dist/esm2022/components-source/input/input.component.mjs +104 -0
  136. package/dist/esm2022/components-source/lottie-loader/lottie-loader.component.mjs +25 -0
  137. package/dist/esm2022/components-source/otp-send-code/otp-send-code.component.mjs +201 -0
  138. package/dist/esm2022/components-source/radio-selection-list/radio-selection-list.component.mjs +89 -0
  139. package/dist/esm2022/components-source/read-more/read-more.component.mjs +91 -0
  140. package/dist/esm2022/components-source/sidebar/sidebar.component.mjs +88 -0
  141. package/dist/esm2022/components-source/simple-stepper/simple-stepper.component.mjs +60 -0
  142. package/dist/esm2022/components-source/spinner/spinner.component.mjs +19 -0
  143. package/dist/esm2022/components-source/tabs/tabs.component.mjs +83 -0
  144. package/dist/esm2022/components-source/tag-type-product/tag-type-product.component.mjs +11 -0
  145. package/dist/esm2022/components-source/toast/toast.component.mjs +47 -0
  146. package/dist/esm2022/components-source/toggle/input-toggle.component.mjs +36 -0
  147. package/dist/esm2022/components-source/tooltip/tooltip.component.mjs +34 -0
  148. package/dist/esm2022/components-source/vertical-steps/vertical-steps.component.mjs +75 -0
  149. package/dist/esm2022/lib/elements-registry.mjs +343 -2
  150. package/dist/esm2022/utilities/interfaces/ui/dropi-table.interface.mjs +2 -0
  151. package/dist/esm2022/utilities/interfaces/ui/input-interface.mjs +2 -0
  152. package/dist/esm2022/utilities/interfaces/ui/select-interface.mjs +2 -0
  153. package/dist/esm2022/utilities/interfaces/ui/selection-list-interface.mjs +2 -0
  154. package/dist/esm2022/utilities/interfaces/ui/upload.model.mjs +5 -0
  155. package/dist/fesm2022/dropi-ui-components.mjs +5913 -2
  156. package/dist/fesm2022/dropi-ui-components.mjs.map +1 -1
  157. package/dist/utilities/interfaces/ui/dropi-table.interface.d.ts +45 -0
  158. package/dist/utilities/interfaces/ui/input-interface.d.ts +33 -0
  159. package/dist/utilities/interfaces/ui/select-interface.d.ts +8 -0
  160. package/dist/utilities/interfaces/ui/selection-list-interface.d.ts +24 -0
  161. package/dist/utilities/interfaces/ui/upload.model.d.ts +30 -0
  162. package/package.json +18 -6
  163. package/src/components-source/alert/alert.component.ts +12 -129
  164. package/src/components-source/alert-modal/alert-modal.component.ts +84 -114
  165. package/src/components-source/alert-validation/alert-validation.component.html +8 -0
  166. package/src/components-source/alert-validation/alert-validation.component.scss +225 -0
  167. package/src/components-source/alert-validation/alert-validation.component.ts +43 -0
  168. package/src/components-source/beta-tag/beta-tag.component.html +1 -0
  169. package/src/components-source/beta-tag/beta-tag.component.scss +26 -0
  170. package/src/components-source/beta-tag/beta-tag.component.ts +11 -0
  171. package/src/components-source/breadcrumb/breadcrumb.component.html +13 -5
  172. package/src/components-source/breadcrumb/breadcrumb.component.scss +8 -1
  173. package/src/components-source/breadcrumb/breadcrumb.component.spec.ts +26 -26
  174. package/src/components-source/breadcrumb/breadcrumb.component.ts +10 -12
  175. package/src/components-source/card-product/card-product.component.spec.ts +9 -9
  176. package/src/components-source/card-product/card-product.component.stories.ts +2 -2
  177. package/src/components-source/card-product/card-product.component.ts +294 -818
  178. package/src/components-source/card-section/card-section.component.html +7 -7
  179. package/src/components-source/card-section/card-section.component.ts +41 -15
  180. package/src/components-source/checkbox-selection-list/checkbox-selection-list.component.ts +42 -179
  181. package/src/components-source/city-selector/city-selector.component.ts +37 -137
  182. package/src/components-source/confirm-dialog/confirm-dialog.component.html +26 -0
  183. package/src/components-source/confirm-dialog/confirm-dialog.component.scss +55 -0
  184. package/src/components-source/confirm-dialog/confirm-dialog.component.ts +22 -0
  185. package/src/components-source/country-flags/country-flags.component.ts +20 -12
  186. package/src/components-source/date-picker/date-picker.component.ts +32 -292
  187. package/src/components-source/date-picker-range/date-picker-range.component.html +15 -7
  188. package/src/components-source/date-picker-range/date-picker-range.component.ts +42 -235
  189. package/src/components-source/dropi-banner-external/dropi-banner-external.component.ts +24 -185
  190. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.html +21 -21
  191. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.spec.ts +9 -9
  192. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.ts +41 -23
  193. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.stories.ts +12 -12
  194. package/src/components-source/dropi-chips/dropi-chips.component.ts +22 -87
  195. package/src/components-source/dropi-country-selector/countries.data.ts +256 -236
  196. package/src/components-source/dropi-country-selector/dropi-country-selector.component.ts +37 -25
  197. package/src/components-source/dropi-drawer/dropi-drawer.component.ts +91 -78
  198. package/src/components-source/dropi-dropdown/dropi-dropdown.component.ts +44 -47
  199. package/src/components-source/dropi-file-upload/card-view/card-view.component.ts +33 -53
  200. package/src/components-source/dropi-file-upload/drop-zone/drop-zone.component.ts +52 -123
  201. package/src/components-source/dropi-file-upload/dropi-file-upload.component.ts +38 -294
  202. package/src/components-source/dropi-file-upload/file-list/file-list.component.ts +62 -43
  203. package/src/components-source/dropi-file-upload/grid-view/grid-view.component.ts +23 -22
  204. package/src/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.scss +6 -2
  205. package/src/components-source/dropi-image-overlay/dropi-image-overlay.component.ts +16 -71
  206. package/src/components-source/dropi-modal/dropi-modal.component.ts +56 -372
  207. package/src/components-source/dropi-navbar/dropi-navbar.component.ts +17 -17
  208. package/src/components-source/dropi-paginator/dropi-paginator.component.html +18 -7
  209. package/src/components-source/dropi-paginator/dropi-paginator.component.ts +40 -32
  210. package/src/components-source/dropi-phone-input/dropi-phone-input.component.html +78 -79
  211. package/src/components-source/dropi-phone-input/dropi-phone-input.component.ts +29 -85
  212. package/src/components-source/dropi-search/dropi-search.component.ts +59 -222
  213. package/src/components-source/dropi-select/dropi-select.component.html +82 -131
  214. package/src/components-source/dropi-select/dropi-select.component.ts +60 -423
  215. package/src/components-source/dropi-table/dropi-table.component.html +40 -23
  216. package/src/components-source/dropi-table/dropi-table.component.ts +130 -374
  217. package/src/components-source/dropi-tag/dropi-tag.component.ts +20 -90
  218. package/src/components-source/dropi-text-area/dropi-text-area.component.ts +22 -48
  219. package/src/components-source/dropi-tooltip/dropi-tooltip.component.ts +40 -129
  220. package/src/components-source/empty/empty.component.html +3 -0
  221. package/src/components-source/empty/empty.component.scss +0 -0
  222. package/src/components-source/empty/empty.component.ts +16 -0
  223. package/src/components-source/empty-state/empty-state.component.ts +47 -19
  224. package/src/components-source/index.ts +82 -37
  225. package/src/components-source/input/input.component.html +79 -63
  226. package/src/components-source/input/input.component.ts +51 -97
  227. package/src/components-source/lottie-loader/lottie-loader.component.ts +13 -16
  228. package/src/components-source/otp-send-code/otp-send-code.component.ts +60 -528
  229. package/src/components-source/radio-selection-list/radio-selection-list.component.ts +36 -97
  230. package/src/components-source/sidebar/sidebar.component.spec.ts +11 -11
  231. package/src/components-source/sidebar/sidebar.component.stories.ts +3 -3
  232. package/src/components-source/sidebar/sidebar.component.ts +51 -47
  233. package/src/components-source/simple-stepper/simple-stepper.component.ts +20 -35
  234. package/src/components-source/spinner/spinner.component.html +6 -0
  235. package/src/components-source/spinner/spinner.component.scss +15 -0
  236. package/src/components-source/spinner/spinner.component.ts +17 -0
  237. package/src/components-source/tabs/tabs.component.spec.ts +8 -8
  238. package/src/components-source/tabs/tabs.component.stories.ts +5 -5
  239. package/src/components-source/tabs/tabs.component.ts +41 -83
  240. package/src/components-source/toast/toast.component.ts +40 -46
  241. package/src/components-source/toggle/input-toggle.component.html +34 -0
  242. package/src/components-source/toggle/input-toggle.component.scss +0 -0
  243. package/src/components-source/toggle/input-toggle.component.ts +27 -0
  244. package/src/components-source/toggle/inputToggleConfig.ts +11 -0
  245. package/src/components-source/tooltip/tooltip.component.html +22 -11
  246. package/src/components-source/tooltip/tooltip.component.ts +28 -13
  247. package/src/components-source/vertical-steps/vertical-steps.component.ts +16 -78
  248. package/src/lib/elements-registry.ts +413 -1
  249. package/src/lib/router-stub.ts +7 -0
  250. package/src/libreria work space.code-workspace +11 -8
  251. package/src/utilities/interfaces/ui/dropi-table.interface.ts +60 -0
  252. package/src/utilities/interfaces/ui/input-interface.ts +34 -0
  253. package/src/utilities/interfaces/ui/select-interface.ts +8 -0
  254. package/src/utilities/interfaces/ui/selection-list-interface.ts +15 -0
  255. package/src/utilities/interfaces/ui/upload.model.ts +41 -0
@@ -0,0 +1,51 @@
1
+ import { Component, ContentChild, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../accordion.component";
5
+ import * as i2 from "@angular/common";
6
+ /**
7
+ * Componente que renderiza un item de un acordeón.
8
+ *
9
+ * Un item del acordeón tiene un título y un contenido que se puede expandir o contraer.
10
+ *
11
+ * @example
12
+ * <app-accordion>
13
+ * <app-accordion-item title="Título 1">Contenido 1</app-accordion-item>
14
+ * <app-accordion-item title="Título 2">Contenido 2</app-accordion-item>
15
+ * </app-accordion>
16
+ */
17
+ export class AccordionItemComponent {
18
+ accordion;
19
+ /**
20
+ * The title of the item.
21
+ */
22
+ sectionTitle = '';
23
+ /**
24
+ * The index of the item in the accordion.
25
+ */
26
+ index;
27
+ content;
28
+ constructor(accordion) {
29
+ this.accordion = accordion;
30
+ }
31
+ toggle() {
32
+ this.accordion.toggle(this.index);
33
+ }
34
+ get isOpen() {
35
+ return this.accordion.isOpen(this.index);
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionItemComponent, deps: [{ token: i1.AccordionComponent }], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AccordionItemComponent, isStandalone: true, selector: "app-accordion-item", inputs: { sectionTitle: "sectionTitle", index: "index" }, queries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"accordion-item\">\n <div class=\"accordion-header\" (click)=\"toggle()\">\n <p>{{ sectionTitle }}</p>\n <div class=\"icon\">\n <i class=\"pi pi-chevron-down\" *ngIf=\"!isOpen\"></i>\n <i class=\"pi pi-chevron-up\" *ngIf=\"isOpen\"></i>\n </div>\n </div>\n <div class=\"accordion-content\" *ngIf=\"isOpen\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".accordion-item{border:none;border-radius:0;border-bottom:1px solid var(--Gray-100, #e6eaf2)}.accordion-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s}.accordion-header:hover{background:var(--Gray-50, #f7f8fa)}.accordion-header p{padding:var(--Size-5, 24px) var(--Size-4, 16px);cursor:pointer;color:var(--Gray-600, #475066);font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:700;line-height:110%;margin:0}.accordion-header .icon{padding:var(--Size-3, 12px) var(--Size-3, 12px);color:var(--Gray-500, #69738c)}.accordion-header .icon i{font-size:14px}.accordion-content{padding:16px;background:#fff;transition:max-height .3s ease-in-out,opacity .3s ease-in-out,padding .3s}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionItemComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'app-accordion-item', standalone: true, imports: [CommonModule], template: "<div class=\"accordion-item\">\n <div class=\"accordion-header\" (click)=\"toggle()\">\n <p>{{ sectionTitle }}</p>\n <div class=\"icon\">\n <i class=\"pi pi-chevron-down\" *ngIf=\"!isOpen\"></i>\n <i class=\"pi pi-chevron-up\" *ngIf=\"isOpen\"></i>\n </div>\n </div>\n <div class=\"accordion-content\" *ngIf=\"isOpen\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".accordion-item{border:none;border-radius:0;border-bottom:1px solid var(--Gray-100, #e6eaf2)}.accordion-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s}.accordion-header:hover{background:var(--Gray-50, #f7f8fa)}.accordion-header p{padding:var(--Size-5, 24px) var(--Size-4, 16px);cursor:pointer;color:var(--Gray-600, #475066);font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:700;line-height:110%;margin:0}.accordion-header .icon{padding:var(--Size-3, 12px) var(--Size-3, 12px);color:var(--Gray-500, #69738c)}.accordion-header .icon i{font-size:14px}.accordion-content{padding:16px;background:#fff;transition:max-height .3s ease-in-out,opacity .3s ease-in-out,padding .3s}\n"] }]
43
+ }], ctorParameters: () => [{ type: i1.AccordionComponent }], propDecorators: { sectionTitle: [{
44
+ type: Input
45
+ }], index: [{
46
+ type: Input
47
+ }], content: [{
48
+ type: ContentChild,
49
+ args: ['content', { static: true }]
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy1zb3VyY2UvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFHL0M7Ozs7Ozs7Ozs7R0FVRztBQVFILE1BQU0sT0FBTyxzQkFBc0I7SUFVZDtJQVRuQjs7T0FFRztJQUNNLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDbkM7O09BRUc7SUFDTSxLQUFLLENBQVU7SUFDbUIsT0FBTyxDQUFvQjtJQUN0RSxZQUFtQixTQUE2QjtRQUE3QixjQUFTLEdBQVQsU0FBUyxDQUFvQjtJQUFHLENBQUM7SUFFcEQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQzt3R0FsQlUsc0JBQXNCOzRGQUF0QixzQkFBc0Isc1BDdEJuQyx3WUFXTSxnekJET00sWUFBWTs7NEZBSVgsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7dUZBUWQsWUFBWTtzQkFBcEIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ3FDLE9BQU87c0JBQWpELFlBQVk7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBY2NvcmRpb25Db21wb25lbnQgfSBmcm9tICcuLi9hY2NvcmRpb24uY29tcG9uZW50JztcblxuLyoqXG4gKiBDb21wb25lbnRlIHF1ZSByZW5kZXJpemEgdW4gaXRlbSBkZSB1biBhY29yZGXDs24uXG4gKlxuICogVW4gaXRlbSBkZWwgYWNvcmRlw7NuIHRpZW5lIHVuIHTDrXR1bG8geSB1biBjb250ZW5pZG8gcXVlIHNlIHB1ZWRlIGV4cGFuZGlyIG8gY29udHJhZXIuXG4gKlxuICogQGV4YW1wbGVcbiAqIDxhcHAtYWNjb3JkaW9uPlxuICogICA8YXBwLWFjY29yZGlvbi1pdGVtIHRpdGxlPVwiVMOtdHVsbyAxXCI+Q29udGVuaWRvIDE8L2FwcC1hY2NvcmRpb24taXRlbT5cbiAqICAgPGFwcC1hY2NvcmRpb24taXRlbSB0aXRsZT1cIlTDrXR1bG8gMlwiPkNvbnRlbmlkbyAyPC9hcHAtYWNjb3JkaW9uLWl0ZW0+XG4gKiA8L2FwcC1hY2NvcmRpb24+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hY2NvcmRpb24taXRlbScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2NvcmRpb24taXRlbS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkl0ZW1Db21wb25lbnQge1xuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBpdGVtLlxuICAgKi9cbiAgQElucHV0KCkgc2VjdGlvblRpdGxlOiBzdHJpbmcgPSAnJztcbiAgLyoqXG4gICAqIFRoZSBpbmRleCBvZiB0aGUgaXRlbSBpbiB0aGUgYWNjb3JkaW9uLlxuICAgKi9cbiAgQElucHV0KCkgaW5kZXghOiBudW1iZXI7XG4gIEBDb250ZW50Q2hpbGQoJ2NvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50ITogVGVtcGxhdGVSZWY8YW55PjtcbiAgY29uc3RydWN0b3IocHVibGljIGFjY29yZGlvbjogQWNjb3JkaW9uQ29tcG9uZW50KSB7fVxuXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLmFjY29yZGlvbi50b2dnbGUodGhpcy5pbmRleCk7XG4gIH1cblxuICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjY29yZGlvbi5pc09wZW4odGhpcy5pbmRleCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhY2NvcmRpb24taXRlbVwiPlxuICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWhlYWRlclwiIChjbGljayk9XCJ0b2dnbGUoKVwiPlxuICAgIDxwPnt7IHNlY3Rpb25UaXRsZSB9fTwvcD5cbiAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxuICAgICAgPGkgY2xhc3M9XCJwaSBwaS1jaGV2cm9uLWRvd25cIiAqbmdJZj1cIiFpc09wZW5cIj48L2k+XG4gICAgICA8aSBjbGFzcz1cInBpIHBpLWNoZXZyb24tdXBcIiAqbmdJZj1cImlzT3BlblwiPjwvaT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tY29udGVudFwiICpuZ0lmPVwiaXNPcGVuXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Componente que renderiza un acordeón de secciones.
6
+ *
7
+ * Permite tener un acordeón con secciones que se pueden expandir o contraer.
8
+ * Cada sección se renderiza con el componente {@link AccordionItemComponent}.
9
+ *
10
+ * @example
11
+ * <app-accordion>
12
+ * <app-accordion-item title="Título 1">Contenido 1</app-accordion-item>
13
+ * <app-accordion-item title="Título 2">Contenido 2</app-accordion-item>
14
+ * </app-accordion>
15
+ */
16
+ export class AccordionComponent {
17
+ /**
18
+ * Allows multiple sections to be open at the same time. If false, only one section can be open.
19
+ * @default false
20
+ */
21
+ multiple = false;
22
+ activeIndex = null;
23
+ openSections = new Set();
24
+ toggle(index) {
25
+ if (this.multiple) {
26
+ if (this.openSections.has(index))
27
+ this.openSections.delete(index);
28
+ else
29
+ this.openSections.add(index);
30
+ }
31
+ else
32
+ this.activeIndex = this.activeIndex === index ? null : index;
33
+ }
34
+ isOpen(index) {
35
+ return this.multiple ? this.openSections.has(index) : this.activeIndex === index;
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AccordionComponent, isStandalone: true, selector: "app-accordion", inputs: { multiple: "multiple" }, ngImport: i0, template: "<div class=\"dropi-accordion\">\n <ng-content />\n</div>", styles: [".dropi-accordion{width:100%;border-top:1px solid var(--Gray-100, #E6EAF2);overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'app-accordion', standalone: true, imports: [CommonModule], template: "<div class=\"dropi-accordion\">\n <ng-content />\n</div>", styles: [".dropi-accordion{width:100%;border-top:1px solid var(--Gray-100, #E6EAF2);overflow:hidden}\n"] }]
43
+ }], propDecorators: { multiple: [{
44
+ type: Input
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFL0M7Ozs7Ozs7Ozs7O0dBV0c7QUFRSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7T0FHRztJQUNNLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDbkMsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDbEMsWUFBWSxHQUFnQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXRDLE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDOztnQkFDN0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQzs7WUFDSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRSxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUM7SUFDbkYsQ0FBQzt3R0FuQlUsa0JBQWtCOzRGQUFsQixrQkFBa0IsMkdDdEIvQiwyREFFTSxxSkRnQk0sWUFBWTs7NEZBSVgsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OEJBU2QsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogQ29tcG9uZW50ZSBxdWUgcmVuZGVyaXphIHVuIGFjb3JkZcOzbiBkZSBzZWNjaW9uZXMuXG4gKlxuICogUGVybWl0ZSB0ZW5lciB1biBhY29yZGXDs24gY29uIHNlY2Npb25lcyBxdWUgc2UgcHVlZGVuIGV4cGFuZGlyIG8gY29udHJhZXIuXG4gKiBDYWRhIHNlY2Npw7NuIHNlIHJlbmRlcml6YSBjb24gZWwgY29tcG9uZW50ZSB7QGxpbmsgQWNjb3JkaW9uSXRlbUNvbXBvbmVudH0uXG4gKlxuICogQGV4YW1wbGVcbiAqIDxhcHAtYWNjb3JkaW9uPlxuICogICA8YXBwLWFjY29yZGlvbi1pdGVtIHRpdGxlPVwiVMOtdHVsbyAxXCI+Q29udGVuaWRvIDE8L2FwcC1hY2NvcmRpb24taXRlbT5cbiAqICAgPGFwcC1hY2NvcmRpb24taXRlbSB0aXRsZT1cIlTDrXR1bG8gMlwiPkNvbnRlbmlkbyAyPC9hcHAtYWNjb3JkaW9uLWl0ZW0+XG4gKiA8L2FwcC1hY2NvcmRpb24+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hY2NvcmRpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBBbGxvd3MgbXVsdGlwbGUgc2VjdGlvbnMgdG8gYmUgb3BlbiBhdCB0aGUgc2FtZSB0aW1lLiBJZiBmYWxzZSwgb25seSBvbmUgc2VjdGlvbiBjYW4gYmUgb3Blbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIGFjdGl2ZUluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgb3BlblNlY3Rpb25zOiBTZXQ8bnVtYmVyPiA9IG5ldyBTZXQoKTtcblxuICB0b2dnbGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICBpZiAodGhpcy5vcGVuU2VjdGlvbnMuaGFzKGluZGV4KSkgdGhpcy5vcGVuU2VjdGlvbnMuZGVsZXRlKGluZGV4KTsgXG4gICAgICBlbHNlIHRoaXMub3BlblNlY3Rpb25zLmFkZChpbmRleCk7XG4gICAgfSBcbiAgICBlbHNlIHRoaXMuYWN0aXZlSW5kZXggPSB0aGlzLmFjdGl2ZUluZGV4ID09PSBpbmRleCA/IG51bGwgOiBpbmRleDtcbiAgfVxuXG4gIGlzT3BlbihpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgPyB0aGlzLm9wZW5TZWN0aW9ucy5oYXMoaW5kZXgpIDogdGhpcy5hY3RpdmVJbmRleCA9PT0gaW5kZXg7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkcm9waS1hY2NvcmRpb25cIj5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,114 @@
1
+ import { Component, EventEmitter, Input, Output, CUSTOM_ELEMENTS_SCHEMA, } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { IconComponent } from "../icon/icon.component";
4
+ import { ButtonComponent } from "../dropi-button/dropi-button.component";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/platform-browser";
7
+ import * as i2 from "@angular/common";
8
+ export class AlertComponent {
9
+ sanitizer;
10
+ message = "";
11
+ type = "default";
12
+ state = "success";
13
+ dismissable = true;
14
+ showButton = false;
15
+ buttonText = "Close";
16
+ anchorText = "none";
17
+ anchorUrl = "none";
18
+ showAlert = true;
19
+ textLink = "";
20
+ clickedText = "";
21
+ linkUrl = "";
22
+ onClose = new EventEmitter();
23
+ onButtonClick = new EventEmitter();
24
+ onClickLink = new EventEmitter();
25
+ sanitinezedMessage = "";
26
+ alertState = {
27
+ success: {
28
+ icon: "Check-circle",
29
+ color: "Success-Success-500",
30
+ anchorStyle: "color: var(--Success-Success-500);",
31
+ },
32
+ error: {
33
+ icon: "Cross-circle",
34
+ color: "Error-Error-500",
35
+ anchorStyle: "color: var(--Error-Error-500);",
36
+ },
37
+ warning: {
38
+ icon: "Warning-circle",
39
+ color: "Warning-Warning-500",
40
+ anchorStyle: "color: var(--Warning-Warning-500);",
41
+ },
42
+ info: {
43
+ icon: "Info",
44
+ color: "Info-Info-500",
45
+ anchorStyle: "color: var(--Info-Info-500);",
46
+ },
47
+ };
48
+ constructor(sanitizer) {
49
+ this.sanitizer = sanitizer;
50
+ }
51
+ ngOnInit() {
52
+ this.sanitizeMessage();
53
+ }
54
+ ngOnChanges(changes) {
55
+ if (changes["message"] || changes["textLink"] || changes["linkUrl"]) {
56
+ this.sanitizeMessage();
57
+ }
58
+ }
59
+ sanitizeMessage() {
60
+ if (!this.textLink || !this.linkUrl) {
61
+ this.sanitinezedMessage = this.sanitizer.bypassSecurityTrustHtml(this.message || "");
62
+ return;
63
+ }
64
+ const message = `${this.message || ""} <a style="${this.alertState[this.state].anchorStyle}" href="${this.linkUrl}" target="_blank"> ${this.textLink} </a>`;
65
+ this.sanitinezedMessage = this.sanitizer.bypassSecurityTrustHtml(message);
66
+ }
67
+ closeAlert() {
68
+ this.showAlert = false;
69
+ this.onClose.emit();
70
+ }
71
+ buttonClick() {
72
+ this.onButtonClick.emit();
73
+ }
74
+ emitClickLink(e) {
75
+ this.onClickLink.emit(e);
76
+ }
77
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
78
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertComponent, isStandalone: true, selector: "dropi-wc-alert", inputs: { message: "message", type: "type", state: "state", dismissable: "dismissable", showButton: "showButton", buttonText: "buttonText", anchorText: "anchorText", anchorUrl: "anchorUrl", showAlert: "showAlert", textLink: "textLink", clickedText: "clickedText", linkUrl: "linkUrl" }, outputs: { onClose: "onClose", onButtonClick: "onButtonClick", onClickLink: "onClickLink" }, usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"['alert-container', 'message-' + state, 'type-' + type]\" *ngIf=\"showAlert\" @fade>\n <div [ngClass]=\"['alert-body', 'type-' + type]\">\n <div class=\"alert-icon\" *ngIf=\"type !== 'flag'\">\n <app-icon\n [name]=\"alertState?.[state]?.icon\"\n [color]=\"alertState?.[state]?.color\"\n width=\"16px\"\n height=\"16px\"\n />\n </div>\n <p *ngIf=\"!clickedText\" class=\"alert-message\" [innerHTML]=\"sanitinezedMessage\"></p>\n <p *ngIf=\"clickedText\" class=\"alert-message\">\n {{ message }} <a (click)=\"emitClickLink($event)\">{{ clickedText }}</a>\n </p>\n </div>\n <div [ngClass]=\"['alert-right', 'color-' + state]\" class=\"alert-right\">\n <dropi-button\n *ngIf=\"showButton && type !== 'flag'\"\n (onClick)=\"buttonClick()\"\n [text]=\"buttonText\"\n [size]=\"'small'\"\n [type]=\"state\"\n ></dropi-button>\n <button (click)=\"closeAlert()\" *ngIf=\"dismissable\">\n <app-icon name=\"Close-small\" width=\"16px\" height=\"16px\" color=\"Gray-700\" />\n </button>\n </div>\n</div>\n", styles: [".alert-container{display:flex;flex-direction:row;width:100%;justify-content:space-between;align-items:center;gap:10px}.type-default{padding:var(--Size-3, 12px);border-radius:8px}.type-flag{padding:var(--Size-1, 4px) var(--Size-2, 8px);border-radius:var(--Border-1, 4px)}.type-flag .alert-message{width:100%;font-size:12px;font-weight:400}.alert-body{display:flex;flex-direction:row;align-items:flex-start;gap:8px}.alert-body.type-flag{width:100%;text-align:center;flex-grow:2}.alert-body.type-default{padding:0}.alert-message{color:var(--Gray-600, #475066);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:150%;text-wrap:break-word;margin-bottom:0!important}.alert-icon{display:flex;justify-content:center;align-items:center;padding-top:4px}.alert-right{display:flex;justify-content:center;align-items:center}.alert-right button{background:transparent;border:none}.message-warning{background:var(--Warning-Warning-50, #fef8ed)}.message-warning.type-default{border:1px solid var(--Warning-Warning-500, #f1b44c)}.message-info{background:var(--Info-Info-50, #eef6fe)}.message-info.type-default{border:1px solid var(--Info-Info-500, #50a5f1)}.message-error{background:var(--Error-Error-50, #fef0f0)}.message-error.type-default{border:1px solid var(--Error-Error-500, #f46a6b)}.message-success{background:var(--Success-Success-50, #e7f8f3)}.message-success.type-default{border:1px solid var(--Success-Success-500, #0abb87)}::ng-deep .alert-container app-icon{display:flex;justify-content:center;align-items:center}::ng-deep .alert-container .color-warning .btn-dropi button{background:var(--Warning-Warning-500, #f1b44c)!important}::ng-deep .alert-container .color-info .btn-dropi button{background:var(--Info-Info-500, #50a5f1)!important}::ng-deep .alert-container .color-error .btn-dropi button{background:var(--Error-Error-500, #f46a6b)!important}::ng-deep .alert-container .color-success .btn-dropi button{background:var(--Success-Success-500, #0abb87)!important}::ng-deep .alert-container .btn-dropi button{padding:var(--Size-2, 8px)!important;height:29px;color:var(--White, #fff);text-align:center;font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:700;line-height:110%}::ng-deep .alert-container .btn-dropi button span.p-button-label{font-size:var(--font-size-xs, 12px)}.alert-message>a{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }] });
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertComponent, decorators: [{
81
+ type: Component,
82
+ args: [{ selector: "dropi-wc-alert", standalone: true, imports: [CommonModule, IconComponent, ButtonComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div [ngClass]=\"['alert-container', 'message-' + state, 'type-' + type]\" *ngIf=\"showAlert\" @fade>\n <div [ngClass]=\"['alert-body', 'type-' + type]\">\n <div class=\"alert-icon\" *ngIf=\"type !== 'flag'\">\n <app-icon\n [name]=\"alertState?.[state]?.icon\"\n [color]=\"alertState?.[state]?.color\"\n width=\"16px\"\n height=\"16px\"\n />\n </div>\n <p *ngIf=\"!clickedText\" class=\"alert-message\" [innerHTML]=\"sanitinezedMessage\"></p>\n <p *ngIf=\"clickedText\" class=\"alert-message\">\n {{ message }} <a (click)=\"emitClickLink($event)\">{{ clickedText }}</a>\n </p>\n </div>\n <div [ngClass]=\"['alert-right', 'color-' + state]\" class=\"alert-right\">\n <dropi-button\n *ngIf=\"showButton && type !== 'flag'\"\n (onClick)=\"buttonClick()\"\n [text]=\"buttonText\"\n [size]=\"'small'\"\n [type]=\"state\"\n ></dropi-button>\n <button (click)=\"closeAlert()\" *ngIf=\"dismissable\">\n <app-icon name=\"Close-small\" width=\"16px\" height=\"16px\" color=\"Gray-700\" />\n </button>\n </div>\n</div>\n", styles: [".alert-container{display:flex;flex-direction:row;width:100%;justify-content:space-between;align-items:center;gap:10px}.type-default{padding:var(--Size-3, 12px);border-radius:8px}.type-flag{padding:var(--Size-1, 4px) var(--Size-2, 8px);border-radius:var(--Border-1, 4px)}.type-flag .alert-message{width:100%;font-size:12px;font-weight:400}.alert-body{display:flex;flex-direction:row;align-items:flex-start;gap:8px}.alert-body.type-flag{width:100%;text-align:center;flex-grow:2}.alert-body.type-default{padding:0}.alert-message{color:var(--Gray-600, #475066);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:150%;text-wrap:break-word;margin-bottom:0!important}.alert-icon{display:flex;justify-content:center;align-items:center;padding-top:4px}.alert-right{display:flex;justify-content:center;align-items:center}.alert-right button{background:transparent;border:none}.message-warning{background:var(--Warning-Warning-50, #fef8ed)}.message-warning.type-default{border:1px solid var(--Warning-Warning-500, #f1b44c)}.message-info{background:var(--Info-Info-50, #eef6fe)}.message-info.type-default{border:1px solid var(--Info-Info-500, #50a5f1)}.message-error{background:var(--Error-Error-50, #fef0f0)}.message-error.type-default{border:1px solid var(--Error-Error-500, #f46a6b)}.message-success{background:var(--Success-Success-50, #e7f8f3)}.message-success.type-default{border:1px solid var(--Success-Success-500, #0abb87)}::ng-deep .alert-container app-icon{display:flex;justify-content:center;align-items:center}::ng-deep .alert-container .color-warning .btn-dropi button{background:var(--Warning-Warning-500, #f1b44c)!important}::ng-deep .alert-container .color-info .btn-dropi button{background:var(--Info-Info-500, #50a5f1)!important}::ng-deep .alert-container .color-error .btn-dropi button{background:var(--Error-Error-500, #f46a6b)!important}::ng-deep .alert-container .color-success .btn-dropi button{background:var(--Success-Success-500, #0abb87)!important}::ng-deep .alert-container .btn-dropi button{padding:var(--Size-2, 8px)!important;height:29px;color:var(--White, #fff);text-align:center;font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:700;line-height:110%}::ng-deep .alert-container .btn-dropi button span.p-button-label{font-size:var(--font-size-xs, 12px)}.alert-message>a{cursor:pointer}\n"] }]
83
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { message: [{
84
+ type: Input
85
+ }], type: [{
86
+ type: Input
87
+ }], state: [{
88
+ type: Input
89
+ }], dismissable: [{
90
+ type: Input
91
+ }], showButton: [{
92
+ type: Input
93
+ }], buttonText: [{
94
+ type: Input
95
+ }], anchorText: [{
96
+ type: Input
97
+ }], anchorUrl: [{
98
+ type: Input
99
+ }], showAlert: [{
100
+ type: Input
101
+ }], textLink: [{
102
+ type: Input
103
+ }], clickedText: [{
104
+ type: Input
105
+ }], linkUrl: [{
106
+ type: Input
107
+ }], onClose: [{
108
+ type: Output
109
+ }], onButtonClick: [{
110
+ type: Output
111
+ }], onClickLink: [{
112
+ type: Output
113
+ }] } });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLHNCQUFzQixHQUN2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQVV6RSxNQUFNLE9BQU8sY0FBYztJQTBDSTtJQXpDcEIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixJQUFJLEdBQXVCLFNBQVMsQ0FBQztJQUNyQyxLQUFLLEdBQTZDLFNBQVMsQ0FBQztJQUM1RCxXQUFXLEdBQVksSUFBSSxDQUFDO0lBQzVCLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFDNUIsVUFBVSxHQUFXLE9BQU8sQ0FBQztJQUM3QixVQUFVLEdBQVcsTUFBTSxDQUFDO0lBQzVCLFNBQVMsR0FBVyxNQUFNLENBQUM7SUFDM0IsU0FBUyxHQUFHLElBQUksQ0FBQztJQUNqQixRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3RCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUVwQixPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUNuQyxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUN6QyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVqRCxrQkFBa0IsR0FBYSxF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RyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2Ryb3BpLWJ1dHRvbi9kcm9waS1idXR0b24uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJkcm9waS13Yy1hbGVydFwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnRdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIHRlbXBsYXRlVXJsOiBcIi4vYWxlcnQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2FsZXJ0LmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbWVzc2FnZTogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgdHlwZTogXCJkZWZhdWx0XCIgfCBcImZsYWdcIiA9IFwiZGVmYXVsdFwiO1xuICBASW5wdXQoKSBzdGF0ZTogXCJzdWNjZXNzXCIgfCBcImVycm9yXCIgfCBcIndhcm5pbmdcIiB8IFwiaW5mb1wiID0gXCJzdWNjZXNzXCI7XG4gIEBJbnB1dCgpIGRpc21pc3NhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0J1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBidXR0b25UZXh0OiBzdHJpbmcgPSBcIkNsb3NlXCI7XG4gIEBJbnB1dCgpIGFuY2hvclRleHQ6IHN0cmluZyA9IFwibm9uZVwiO1xuICBASW5wdXQoKSBhbmNob3JVcmw6IHN0cmluZyA9IFwibm9uZVwiO1xuICBASW5wdXQoKSBzaG93QWxlcnQgPSB0cnVlO1xuICBASW5wdXQoKSB0ZXh0TGluazogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgY2xpY2tlZFRleHQ6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGxpbmtVcmw6IHN0cmluZyA9IFwiXCI7XG5cbiAgQE91dHB1dCgpIG9uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBvbkJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgb25DbGlja0xpbmsgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgc2FuaXRpbmV6ZWRNZXNzYWdlOiBTYWZlSHRtbCA9IFwiXCI7XG4gIGFsZXJ0U3RhdGU6IGFueSA9IHtcbiAgICBzdWNjZXNzOiB7XG4gICAgICBpY29uOiBcIkNoZWNrLWNpcmNsZVwiLFxuICAgICAgY29sb3I6IFwiU3VjY2Vzcy1TdWNjZXNzLTUwMFwiLFxuICAgICAgYW5jaG9yU3R5bGU6IFwiY29sb3I6IHZhcigtLVN1Y2Nlc3MtU3VjY2Vzcy01MDApO1wiLFxuICAgIH0sXG4gICAgZXJyb3I6IHtcbiAgICAgIGljb246IFwiQ3Jvc3MtY2lyY2xlXCIsXG4gICAgICBjb2xvcjogXCJFcnJvci1FcnJvci01MDBcIixcbiAgICAgIGFuY2hvclN0eWxlOiBcImNvbG9yOiB2YXIoLS1FcnJvci1FcnJvci01MDApO1wiLFxuICAgIH0sXG4gICAgd2FybmluZzoge1xuICAgICAgaWNvbjogXCJXYXJuaW5nLWNpcmNsZVwiLFxuICAgICAgY29sb3I6IFwiV2FybmluZy1XYXJuaW5nLTUwMFwiLFxuICAgICAgYW5jaG9yU3R5bGU6IFwiY29sb3I6IHZhcigtLVdhcm5pbmctV2FybmluZy01MDApO1wiLFxuICAgIH0sXG4gICAgaW5mbzoge1xuICAgICAgaWNvbjogXCJJbmZvXCIsXG4gICAgICBjb2xvcjogXCJJbmZvLUluZm8tNTAwXCIsXG4gICAgICBhbmNob3JTdHlsZTogXCJjb2xvcjogdmFyKC0tSW5mby1JbmZvLTUwMCk7XCIsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2FuaXRpemVNZXNzYWdlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbXCJtZXNzYWdlXCJdIHx8IGNoYW5nZXNbXCJ0ZXh0TGlua1wiXSB8fCBjaGFuZ2VzW1wibGlua1VybFwiXSkge1xuICAgICAgdGhpcy5zYW5pdGl6ZU1lc3NhZ2UoKTtcbiAgICB9XG4gIH1cblxuICBzYW5pdGl6ZU1lc3NhZ2UoKSB7XG4gICAgaWYgKCF0aGlzLnRleHRMaW5rIHx8ICF0aGlzLmxpbmtVcmwpIHtcbiAgICAgIHRoaXMuc2FuaXRpbmV6ZWRNZXNzYWdlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXG4gICAgICAgIHRoaXMubWVzc2FnZSB8fCBcIlwiLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtZXNzYWdlID0gYCR7dGhpcy5tZXNzYWdlIHx8IFwiXCJ9IDxhIHN0eWxlPVwiJHt0aGlzLmFsZXJ0U3RhdGVbdGhpcy5zdGF0ZV0uYW5jaG9yU3R5bGV9XCIgaHJlZj1cIiR7dGhpcy5saW5rVXJsfVwiIHRhcmdldD1cIl9ibGFua1wiPiAke3RoaXMudGV4dExpbmt9IDwvYT5gO1xuICAgIHRoaXMuc2FuaXRpbmV6ZWRNZXNzYWdlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobWVzc2FnZSk7XG4gIH1cblxuICBjbG9zZUFsZXJ0KCkge1xuICAgIHRoaXMuc2hvd0FsZXJ0ID0gZmFsc2U7XG4gICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIGJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMub25CdXR0b25DbGljay5lbWl0KCk7XG4gIH1cblxuICBlbWl0Q2xpY2tMaW5rKGU6IGFueSkge1xuICAgIHRoaXMub25DbGlja0xpbmsuZW1pdChlKTtcbiAgfVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJbJ2FsZXJ0LWNvbnRhaW5lcicsICdtZXNzYWdlLScgKyBzdGF0ZSwgJ3R5cGUtJyArIHR5cGVdXCIgKm5nSWY9XCJzaG93QWxlcnRcIiBAZmFkZT5cbiAgPGRpdiBbbmdDbGFzc109XCJbJ2FsZXJ0LWJvZHknLCAndHlwZS0nICsgdHlwZV1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQtaWNvblwiICpuZ0lmPVwidHlwZSAhPT0gJ2ZsYWcnXCI+XG4gICAgICA8YXBwLWljb25cbiAgICAgICAgW25hbWVdPVwiYWxlcnRTdGF0ZT8uW3N0YXRlXT8uaWNvblwiXG4gICAgICAgIFtjb2xvcl09XCJhbGVydFN0YXRlPy5bc3RhdGVdPy5jb2xvclwiXG4gICAgICAgIHdpZHRoPVwiMTZweFwiXG4gICAgICAgIGhlaWdodD1cIjE2cHhcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8cCAqbmdJZj1cIiFjbGlja2VkVGV4dFwiIGNsYXNzPVwiYWxlcnQtbWVzc2FnZVwiIFtpbm5lckhUTUxdPVwic2FuaXRpbmV6ZWRNZXNzYWdlXCI+PC9wPlxuICAgIDxwICpuZ0lmPVwiY2xpY2tlZFRleHRcIiBjbGFzcz1cImFsZXJ0LW1lc3NhZ2VcIj5cbiAgICAgIHt7IG1lc3NhZ2UgfX0gPGEgKGNsaWNrKT1cImVtaXRDbGlja0xpbmsoJGV2ZW50KVwiPnt7IGNsaWNrZWRUZXh0IH19PC9hPlxuICAgIDwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgW25nQ2xhc3NdPVwiWydhbGVydC1yaWdodCcsICdjb2xvci0nICsgc3RhdGVdXCIgY2xhc3M9XCJhbGVydC1yaWdodFwiPlxuICAgIDxkcm9waS1idXR0b25cbiAgICAgICpuZ0lmPVwic2hvd0J1dHRvbiAmJiB0eXBlICE9PSAnZmxhZydcIlxuICAgICAgKG9uQ2xpY2spPVwiYnV0dG9uQ2xpY2soKVwiXG4gICAgICBbdGV4dF09XCJidXR0b25UZXh0XCJcbiAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgW3R5cGVdPVwic3RhdGVcIlxuICAgID48L2Ryb3BpLWJ1dHRvbj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZUFsZXJ0KClcIiAqbmdJZj1cImRpc21pc3NhYmxlXCI+XG4gICAgICA8YXBwLWljb24gbmFtZT1cIkNsb3NlLXNtYWxsXCIgd2lkdGg9XCIxNnB4XCIgaGVpZ2h0PVwiMTZweFwiIGNvbG9yPVwiR3JheS03MDBcIiAvPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,247 @@
1
+ import { Component, Input, EventEmitter, Output, NO_ERRORS_SCHEMA, ViewChild, ViewContainerRef, Inject, } from "@angular/core";
2
+ import { NgIf } from "@angular/common";
3
+ import { ProgressBarModule } from "primeng/progressbar";
4
+ import { DropiModalComponent } from "../dropi-modal/dropi-modal.component";
5
+ import { PTemplateDirective } from "../dropi-modal/p-template.directive";
6
+ import { TranslateModule, TranslateService } from "@ngx-translate/core";
7
+ import { Subject } from "rxjs";
8
+ import { takeUntil } from "rxjs/operators";
9
+ import { ButtonComponent } from "../dropi-button/dropi-button.component";
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@ngx-translate/core";
12
+ import * as i2 from "primeng/progressbar";
13
+ export var LoadingType;
14
+ (function (LoadingType) {
15
+ LoadingType["Bowling"] = "bowling";
16
+ LoadingType["Heart"] = "heart";
17
+ })(LoadingType || (LoadingType = {}));
18
+ export class AlertModalComponent {
19
+ templateService;
20
+ settingService;
21
+ translateService;
22
+ visible;
23
+ params;
24
+ loading;
25
+ isStep;
26
+ contentTemplate;
27
+ baseZIndex = 0;
28
+ modalOpenChange = new EventEmitter();
29
+ primaryButtonEvent = new EventEmitter();
30
+ modalContainer;
31
+ secondaryButtonEvent = new EventEmitter();
32
+ onHide = new EventEmitter();
33
+ alertTemplate = null;
34
+ contextTemplate = {};
35
+ destroy$ = new Subject();
36
+ tittle;
37
+ type;
38
+ message;
39
+ primaryButton;
40
+ displayButtons = true;
41
+ secondaryButton;
42
+ sourceAnimation;
43
+ loadingType = LoadingType.Bowling;
44
+ loadingTitle = "Cargando...";
45
+ loadingMessage = "Por favor, espere un momento";
46
+ withLoadingProgressBar = false;
47
+ loadingAnimation = {
48
+ path: "/assets/lottie-files/loading.json",
49
+ width: "300px",
50
+ height: "300px",
51
+ marginBottom: "0px",
52
+ };
53
+ brandName = "dropi";
54
+ imageWhiteBrand;
55
+ interval;
56
+ countRegresive = 0;
57
+ constructor(templateService, settingService, translateService) {
58
+ this.templateService = templateService;
59
+ this.settingService = settingService;
60
+ this.translateService = translateService;
61
+ this.brandName = this.settingService?.getBrandInfo()
62
+ ? this.settingService.getBrandInfo()?.name.toLowerCase()
63
+ : "dropi";
64
+ }
65
+ ngOnInit() {
66
+ this.updateParams();
67
+ this.decideAnimation();
68
+ this.decideLoadingAnimation();
69
+ this.templateService?.currentTemplate$
70
+ ?.pipe(takeUntil(this.destroy$))
71
+ ?.subscribe(({ template, context }) => {
72
+ this.alertTemplate = template;
73
+ this.contextTemplate = context;
74
+ });
75
+ }
76
+ ngOnChanges(changes) {
77
+ this.updateParams();
78
+ this.decideAnimation();
79
+ this.decideLoadingAnimation();
80
+ this.imageWhiteBrand = this.decideImgWhiteBrand();
81
+ }
82
+ updateParams() {
83
+ if (this.params) {
84
+ this.tittle = this.params.tittle;
85
+ this.type = this.params.type;
86
+ this.message = this.params.message;
87
+ this.primaryButton = this.params.primaryButton
88
+ ? this.params.primaryButton
89
+ : "Aceptar";
90
+ this.secondaryButton = this.params?.secondaryButton;
91
+ this.displayButtons = this.params?.displayButtons == false ? false : true;
92
+ this.loadingType = this.params.loadingType
93
+ ? this.params.loadingType
94
+ : LoadingType.Bowling;
95
+ this.loadingTitle = this.params.loadingTitle
96
+ ? this.params.loadingTitle
97
+ : "Cargando...";
98
+ this.loadingMessage = this.params.loadingMessage
99
+ ? this.params.loadingMessage
100
+ : "Por favor, espere un momento";
101
+ this.withLoadingProgressBar = this.params.withLoadingProgressBar
102
+ ? this.params.withLoadingProgressBar
103
+ : false;
104
+ if (this.params.applyCountRegresive === true && this.visible) {
105
+ this.startCountRegresive();
106
+ }
107
+ }
108
+ }
109
+ closeModal() {
110
+ this.visible = false;
111
+ }
112
+ primaryButtonAction() {
113
+ this.primaryButtonEvent.emit(true);
114
+ if (!this.isStep) {
115
+ this.closeModal();
116
+ }
117
+ }
118
+ secondaryButtonAction() {
119
+ this.secondaryButtonEvent.emit(true);
120
+ this.closeModal();
121
+ }
122
+ decideAnimation() {
123
+ switch (this.type) {
124
+ case "question":
125
+ this.sourceAnimation = "/assets/lottie-files/question.json";
126
+ break;
127
+ case "warning":
128
+ this.sourceAnimation = "/assets/lottie-files/warning.json";
129
+ break;
130
+ case "success":
131
+ this.sourceAnimation = "/assets/lottie-files/success.json";
132
+ break;
133
+ case "error":
134
+ this.sourceAnimation = "/assets/lottie-files/failure.json";
135
+ break;
136
+ default:
137
+ this.sourceAnimation = "";
138
+ break;
139
+ }
140
+ }
141
+ decideLoadingAnimation() {
142
+ switch (this.loadingType) {
143
+ case LoadingType.Bowling:
144
+ const path = this.brandName.toLowerCase() === "dropi"
145
+ ? "/assets/lottie-files/loading.json"
146
+ : "/assets/lottie-files/loading-mb.json";
147
+ this.loadingAnimation = {
148
+ path,
149
+ width: "300px",
150
+ height: "300px",
151
+ marginBottom: "0px",
152
+ };
153
+ break;
154
+ case LoadingType.Heart:
155
+ this.loadingAnimation = {
156
+ path: "/assets/lottie-files/heart.json",
157
+ width: "180px",
158
+ height: "180px",
159
+ marginBottom: "15px",
160
+ };
161
+ break;
162
+ }
163
+ }
164
+ decideImgWhiteBrand() {
165
+ switch (this.type) {
166
+ case "question":
167
+ return `/assets/img/white-brands-events/info.png`;
168
+ case "warning":
169
+ return `/assets/img/white-brands-events/warning.png`;
170
+ case "success":
171
+ return `/assets/img/white-brands-events/success.png`;
172
+ case "error":
173
+ return `/assets/img/white-brands-events/error.png`;
174
+ default:
175
+ return "";
176
+ }
177
+ }
178
+ startCountRegresive() {
179
+ if (this.interval) {
180
+ clearInterval(this.interval);
181
+ }
182
+ this.countRegresive = this.params.timer;
183
+ this.interval = setInterval(() => {
184
+ this.countRegresive--;
185
+ if (this.countRegresive <= 0) {
186
+ clearInterval(this.interval);
187
+ }
188
+ }, 1000);
189
+ }
190
+ ngOnDestroy() {
191
+ this.destroy$.next();
192
+ this.destroy$.complete();
193
+ }
194
+ onHideModal() {
195
+ this.modalOpenChange.emit(false);
196
+ this.onHide.emit();
197
+ }
198
+ isArray(value) {
199
+ return Array.isArray(value);
200
+ }
201
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertModalComponent, deps: [{ token: "TemplateAlertModalService" }, { token: "SettingsService" }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component });
202
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertModalComponent, isStandalone: true, selector: "app-alert-modal", inputs: { visible: "visible", params: "params", loading: "loading", isStep: "isStep", contentTemplate: "contentTemplate", baseZIndex: "baseZIndex" }, outputs: { modalOpenChange: "modalOpenChange", primaryButtonEvent: "primaryButtonEvent", secondaryButtonEvent: "secondaryButtonEvent", onHide: "onHide" }, viewQueries: [{ propertyName: "modalContainer", first: true, predicate: ["modalContainer"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<dropi-modal\n styleClass=\"dropi-alert-modal\"\n [(visible)]=\"visible\"\n [modal]=\"true\"\n [closable]=\"params?.closable ? true : false\"\n [dismissableMask]=\"false\"\n [closeOnEscape]=\"false\"\n [showHeader]=\"false\"\n transitionOptions=\"300ms\"\n [showHeader]=\"params?.closable ? true : false\"\n [autoZIndex]=\"true\"\n [baseZIndex]=\"baseZIndex\"\n (onHide)=\"onHideModal()\"\n>\n <ng-template pTemplate=\"content\">\n <div class=\"body-alert\" *ngIf=\"!loading\">\n <div class=\"header-alert\">\n <div class=\"lottie-img\" *ngIf=\"visible && brandName === 'dropi'\">\n <dotlottie-player\n [src]=\"sourceAnimation\"\n background=\"transparent\"\n speed=\"1\"\n style=\"width: 100%; height: auto\"\n loop\n autoplay\n ></dotlottie-player>\n </div>\n <div class=\"wb-img\" *ngIf=\"visible && brandName !== 'dropi'\">\n <img [src]=\"imageWhiteBrand\" alt=\"logo\" />\n </div>\n </div>\n <div class=\"content-alert\">\n <h2>{{ tittle | translate }}</h2>\n <ng-container *ngIf=\"isArray(message)\">\n <p *ngFor=\"let m of message\">{{ m | translate }}</p>\n </ng-container>\n\n <p *ngIf=\"!isArray(message)\">\n {{ message | translate }}\n </p>\n </div>\n\n <ng-container *ngIf=\"alertTemplate\">\n <ng-container\n *ngTemplateOutlet=\"alertTemplate; context: { $implicit: contextTemplate }\"\n ></ng-container>\n </ng-container>\n\n <div class=\"actions\" *ngIf=\"displayButtons\">\n <dropi-button\n *ngIf=\"secondaryButton\"\n [text]=\"secondaryButton | translate\"\n severity=\"secondary\"\n (onClick)=\"secondaryButtonAction()\"\n ></dropi-button>\n <dropi-button\n [text]=\"primaryButton | translate\"\n (onClick)=\"primaryButtonAction()\"\n ></dropi-button>\n </div>\n\n <!-- <div class=\"actions\" *ngIf=\"displayButtons\">\n <button\n *ngIf=\"secondaryButton\"\n class=\"btn btn-secondary\"\n (click)=\"secondaryButtonAction()\"\n data-cy=\"alert-modal-secondary-button\"\n >\n {{ secondaryButton | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n (click)=\"primaryButtonAction()\"\n data-cy=\"alert-modal-primary-button\"\n >\n {{ primaryButton | translate }}\n </button>\n </div> -->\n </div>\n\n <div class=\"body-alert-loading\" *ngIf=\"loading\">\n <div class=\"header-alert\" [style]=\"{ 'margin-bottom': loadingAnimation.marginBottom }\">\n <div class=\"lottie-img\" *ngIf=\"visible && loading\">\n <dotlottie-player\n *ngIf=\"loading && brandName === 'dropi'\"\n [src]=\"loadingAnimation.path\"\n background=\"transparent\"\n speed=\"1\"\n [style]=\"{\n width: loadingAnimation.width,\n height: loadingAnimation.height,\n }\"\n loop\n autoplay\n ></dotlottie-player>\n <dotlottie-player\n *ngIf=\"loading && brandName !== 'dropi' && params.type == 'loading'\"\n [src]=\"'/assets/lottie-files/loading-mb.json'\"\n background=\"transparent\"\n speed=\"1\"\n style=\"width: 300px; height: auto\"\n loop\n autoplay\n ></dotlottie-player>\n </div>\n <div class=\"wb-img\" *ngIf=\"visible && brandName !== 'dropi' && params.type !== 'loading'\">\n <img [src]=\"imageWhiteBrand\" alt=\"logo\" />\n </div>\n </div>\n <div class=\"content-alert\">\n <p-progressBar *ngIf=\"withLoadingProgressBar\" mode=\"indeterminate\" color=\"#F49A3D\" />\n <h2>\n {{ loadingTitle | translate }}\n </h2>\n <p>\n {{ loadingMessage | translate }}\n </p>\n <h5 *ngIf=\"params.applyCountRegresive\">\n {{ 'in' | translate }} {{ countRegresive }} {{ 'seconds' | translate }}\n </h5>\n </div>\n </div>\n </ng-template>\n</dropi-modal>\n", styles: ["@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--open .dropi-modal__panel.dropi-alert-modal{transform:translateY(0)!important}}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--closing .dropi-modal__panel.dropi-alert-modal{transform:translateY(100%)!important;opacity:1!important}}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--open.dropi-modal-root--closing .dropi-modal__panel.dropi-alert-modal{transform:translateY(100%)!important;opacity:1!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal{width:440px!important;min-height:280px!important;overflow:hidden!important}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal__content{overflow:hidden!important;display:flex;justify-content:center;align-items:center}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal{width:100%!important;max-width:100%!important;height:auto!important;padding-bottom:30px!important;position:absolute!important;bottom:0!important;border-radius:10px 10px 0 0!important;transform:translateY(100%)!important;transition:transform .3s cubic-bezier(0,0,.2,1)!important;opacity:1!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-container{width:460px;max-width:460px;height:auto!important}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-container{width:calc(100% - 32px);max-width:calc(100% - 32px);height:auto!important;margin:16px;top:50%!important;transform:translateY(-50%)!important}}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-content{max-height:calc(100vh - 32px);overflow-y:auto}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog{background-color:#fff!important;box-shadow:0 20px 25px #0000001a;border-radius:8px!important;max-width:460px;width:100%;box-sizing:border-box;padding:32px;margin:0 20px;transition:all .3s ease-in-out;height:auto}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog{padding:24px;margin:0;border-radius:12px!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog-content{padding:0;overflow:hidden}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog-header{position:absolute;right:-10px;top:-10px;background:transparent}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-progressbar{height:6px;border-radius:4px;margin-bottom:25px}.lottie-img{margin-top:-8px;margin-bottom:8px;min-height:100px}.wb-img{display:flex;justify-content:center;margin-top:4px!important}.body-alert{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;overflow:hidden}.header-alert{width:120px}.content-alert{text-align:center}.content-alert h2{color:var(--Gray-Gray-1, #1f2937);font-size:19px;font-weight:600}.content-alert p{color:var(--Gray-Gray-2, #74798d);font-size:14px;margin-bottom:8px;overflow-wrap:anywhere;max-height:100px;overflow:auto}.actions{display:flex;gap:10px;width:100%}.actions dropi-button{flex:1;display:flex;justify-content:center}.actions dropi-button ::ng-deep .btn{width:100%}@media (max-width: 768px){.actions{flex-direction:column}.actions dropi-button{width:100%}}.body-alert-loading .header-alert{width:100%;display:flex;align-items:center;justify-content:center;height:160px}button{flex:1;outline:none;border-radius:8px;display:flex;align-items:center;gap:8px;justify-content:center}button.btn-primary{background:var(--Primary-Naranja, #ff9333);border:navajowhite;height:40px;padding:8px 20px 8px 16px;font-weight:600}button.btn-secondary{background:#fff;color:var(--Primary-Naranja, #ff9333);border:1px solid;font-weight:500}\n"], dependencies: [{ kind: "component", type: DropiModalComponent, selector: "dropi-modal", inputs: ["visible", "modal", "dismissableMask", "closeOnEscape", "showCloseIcon", "showHeader", "header", "styleClass", "maxWidth", "position", "transitionOptions"], outputs: ["visibleChange", "onHide", "onShow", "onClose"] }, { kind: "directive", type: PTemplateDirective, selector: "ng-template[pTemplate]", inputs: ["pTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i2.ProgressBar, selector: "p-progressBar", inputs: ["value", "showValue", "styleClass", "style", "unit", "mode", "color"] }] });
203
+ }
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertModalComponent, decorators: [{
205
+ type: Component,
206
+ args: [{ selector: "app-alert-modal", standalone: true, imports: [
207
+ DropiModalComponent,
208
+ PTemplateDirective,
209
+ NgIf,
210
+ TranslateModule,
211
+ ProgressBarModule,
212
+ ButtonComponent,
213
+ ], schemas: [NO_ERRORS_SCHEMA], template: "<dropi-modal\n styleClass=\"dropi-alert-modal\"\n [(visible)]=\"visible\"\n [modal]=\"true\"\n [closable]=\"params?.closable ? true : false\"\n [dismissableMask]=\"false\"\n [closeOnEscape]=\"false\"\n [showHeader]=\"false\"\n transitionOptions=\"300ms\"\n [showHeader]=\"params?.closable ? true : false\"\n [autoZIndex]=\"true\"\n [baseZIndex]=\"baseZIndex\"\n (onHide)=\"onHideModal()\"\n>\n <ng-template pTemplate=\"content\">\n <div class=\"body-alert\" *ngIf=\"!loading\">\n <div class=\"header-alert\">\n <div class=\"lottie-img\" *ngIf=\"visible && brandName === 'dropi'\">\n <dotlottie-player\n [src]=\"sourceAnimation\"\n background=\"transparent\"\n speed=\"1\"\n style=\"width: 100%; height: auto\"\n loop\n autoplay\n ></dotlottie-player>\n </div>\n <div class=\"wb-img\" *ngIf=\"visible && brandName !== 'dropi'\">\n <img [src]=\"imageWhiteBrand\" alt=\"logo\" />\n </div>\n </div>\n <div class=\"content-alert\">\n <h2>{{ tittle | translate }}</h2>\n <ng-container *ngIf=\"isArray(message)\">\n <p *ngFor=\"let m of message\">{{ m | translate }}</p>\n </ng-container>\n\n <p *ngIf=\"!isArray(message)\">\n {{ message | translate }}\n </p>\n </div>\n\n <ng-container *ngIf=\"alertTemplate\">\n <ng-container\n *ngTemplateOutlet=\"alertTemplate; context: { $implicit: contextTemplate }\"\n ></ng-container>\n </ng-container>\n\n <div class=\"actions\" *ngIf=\"displayButtons\">\n <dropi-button\n *ngIf=\"secondaryButton\"\n [text]=\"secondaryButton | translate\"\n severity=\"secondary\"\n (onClick)=\"secondaryButtonAction()\"\n ></dropi-button>\n <dropi-button\n [text]=\"primaryButton | translate\"\n (onClick)=\"primaryButtonAction()\"\n ></dropi-button>\n </div>\n\n <!-- <div class=\"actions\" *ngIf=\"displayButtons\">\n <button\n *ngIf=\"secondaryButton\"\n class=\"btn btn-secondary\"\n (click)=\"secondaryButtonAction()\"\n data-cy=\"alert-modal-secondary-button\"\n >\n {{ secondaryButton | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n (click)=\"primaryButtonAction()\"\n data-cy=\"alert-modal-primary-button\"\n >\n {{ primaryButton | translate }}\n </button>\n </div> -->\n </div>\n\n <div class=\"body-alert-loading\" *ngIf=\"loading\">\n <div class=\"header-alert\" [style]=\"{ 'margin-bottom': loadingAnimation.marginBottom }\">\n <div class=\"lottie-img\" *ngIf=\"visible && loading\">\n <dotlottie-player\n *ngIf=\"loading && brandName === 'dropi'\"\n [src]=\"loadingAnimation.path\"\n background=\"transparent\"\n speed=\"1\"\n [style]=\"{\n width: loadingAnimation.width,\n height: loadingAnimation.height,\n }\"\n loop\n autoplay\n ></dotlottie-player>\n <dotlottie-player\n *ngIf=\"loading && brandName !== 'dropi' && params.type == 'loading'\"\n [src]=\"'/assets/lottie-files/loading-mb.json'\"\n background=\"transparent\"\n speed=\"1\"\n style=\"width: 300px; height: auto\"\n loop\n autoplay\n ></dotlottie-player>\n </div>\n <div class=\"wb-img\" *ngIf=\"visible && brandName !== 'dropi' && params.type !== 'loading'\">\n <img [src]=\"imageWhiteBrand\" alt=\"logo\" />\n </div>\n </div>\n <div class=\"content-alert\">\n <p-progressBar *ngIf=\"withLoadingProgressBar\" mode=\"indeterminate\" color=\"#F49A3D\" />\n <h2>\n {{ loadingTitle | translate }}\n </h2>\n <p>\n {{ loadingMessage | translate }}\n </p>\n <h5 *ngIf=\"params.applyCountRegresive\">\n {{ 'in' | translate }} {{ countRegresive }} {{ 'seconds' | translate }}\n </h5>\n </div>\n </div>\n </ng-template>\n</dropi-modal>\n", styles: ["@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--open .dropi-modal__panel.dropi-alert-modal{transform:translateY(0)!important}}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--closing .dropi-modal__panel.dropi-alert-modal{transform:translateY(100%)!important;opacity:1!important}}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--open.dropi-modal-root--closing .dropi-modal__panel.dropi-alert-modal{transform:translateY(100%)!important;opacity:1!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal{width:440px!important;min-height:280px!important;overflow:hidden!important}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal__content{overflow:hidden!important;display:flex;justify-content:center;align-items:center}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal{width:100%!important;max-width:100%!important;height:auto!important;padding-bottom:30px!important;position:absolute!important;bottom:0!important;border-radius:10px 10px 0 0!important;transform:translateY(100%)!important;transition:transform .3s cubic-bezier(0,0,.2,1)!important;opacity:1!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-container{width:460px;max-width:460px;height:auto!important}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-container{width:calc(100% - 32px);max-width:calc(100% - 32px);height:auto!important;margin:16px;top:50%!important;transform:translateY(-50%)!important}}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-content{max-height:calc(100vh - 32px);overflow-y:auto}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog{background-color:#fff!important;box-shadow:0 20px 25px #0000001a;border-radius:8px!important;max-width:460px;width:100%;box-sizing:border-box;padding:32px;margin:0 20px;transition:all .3s ease-in-out;height:auto}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog{padding:24px;margin:0;border-radius:12px!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog-content{padding:0;overflow:hidden}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog-header{position:absolute;right:-10px;top:-10px;background:transparent}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-progressbar{height:6px;border-radius:4px;margin-bottom:25px}.lottie-img{margin-top:-8px;margin-bottom:8px;min-height:100px}.wb-img{display:flex;justify-content:center;margin-top:4px!important}.body-alert{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;overflow:hidden}.header-alert{width:120px}.content-alert{text-align:center}.content-alert h2{color:var(--Gray-Gray-1, #1f2937);font-size:19px;font-weight:600}.content-alert p{color:var(--Gray-Gray-2, #74798d);font-size:14px;margin-bottom:8px;overflow-wrap:anywhere;max-height:100px;overflow:auto}.actions{display:flex;gap:10px;width:100%}.actions dropi-button{flex:1;display:flex;justify-content:center}.actions dropi-button ::ng-deep .btn{width:100%}@media (max-width: 768px){.actions{flex-direction:column}.actions dropi-button{width:100%}}.body-alert-loading .header-alert{width:100%;display:flex;align-items:center;justify-content:center;height:160px}button{flex:1;outline:none;border-radius:8px;display:flex;align-items:center;gap:8px;justify-content:center}button.btn-primary{background:var(--Primary-Naranja, #ff9333);border:navajowhite;height:40px;padding:8px 20px 8px 16px;font-weight:600}button.btn-secondary{background:#fff;color:var(--Primary-Naranja, #ff9333);border:1px solid;font-weight:500}\n"] }]
214
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
215
+ type: Inject,
216
+ args: ["TemplateAlertModalService"]
217
+ }] }, { type: undefined, decorators: [{
218
+ type: Inject,
219
+ args: ["SettingsService"]
220
+ }] }, { type: i1.TranslateService, decorators: [{
221
+ type: Inject,
222
+ args: [TranslateService]
223
+ }] }], propDecorators: { visible: [{
224
+ type: Input
225
+ }], params: [{
226
+ type: Input
227
+ }], loading: [{
228
+ type: Input
229
+ }], isStep: [{
230
+ type: Input
231
+ }], contentTemplate: [{
232
+ type: Input
233
+ }], baseZIndex: [{
234
+ type: Input
235
+ }], modalOpenChange: [{
236
+ type: Output
237
+ }], primaryButtonEvent: [{
238
+ type: Output
239
+ }], modalContainer: [{
240
+ type: ViewChild,
241
+ args: ["modalContainer", { read: ViewContainerRef, static: true }]
242
+ }], secondaryButtonEvent: [{
243
+ type: Output
244
+ }], onHide: [{
245
+ type: Output
246
+ }] } });
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2FsZXJ0LW1vZGFsL2FsZXJ0LW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9hbGVydC1tb2RhbC9hbGVydC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxZQUFZLEVBQ1osTUFBTSxFQUdOLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsZ0JBQWdCLEVBR2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQUV6RSxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLGtDQUFtQixDQUFBO0lBQ25CLDhCQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBaUNELE1BQU0sT0FBTyxtQkFBbUI7SUEwQ2lCO0lBQ1Y7SUFDRDtJQTNDM0IsT0FBTyxDQUFVO0lBQ2pC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QUF4QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFFUCxjQUFjO3NCQURiLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFM0Qsb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgTk9fRVJST1JTX1NDSEVNQSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBUZW1wbGF0ZVJlZixcbiAgT25EZXN0cm95LFxuICBJbmplY3QsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9wcm9ncmVzc2JhclwiO1xuaW1wb3J0IHsgRHJvcGlNb2RhbENvbXBvbmVudCB9IGZyb20gXCIuLi9kcm9waS1tb2RhbC9kcm9waS1tb2RhbC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gXCIuLi9kcm9waS1tb2RhbC9wLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi4vZHJvcGktYnV0dG9uL2Ryb3BpLWJ1dHRvbi5jb21wb25lbnRcIjtcblxuZXhwb3J0IGVudW0gTG9hZGluZ1R5cGUge1xuICBCb3dsaW5nID0gXCJib3dsaW5nXCIsXG4gIEhlYXJ0ID0gXCJoZWFydFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsUGFyYW1zIHtcbiAgdGl0dGxlOiBzdHJpbmc7XG4gIHR5cGU/OiBcInF1ZXN0aW9uXCIgfCBcIndhcm5pbmdcIiB8IFwic3VjY2Vzc1wiIHwgXCJlcnJvclwiIHwgXCJsb2FkaW5nXCI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgcHJpbWFyeUJ1dHRvbj86IHN0cmluZztcbiAgc2Vjb25kYXJ5QnV0dG9uPzogc3RyaW5nO1xuICBsb2FkaW5nVHlwZT86IExvYWRpbmdUeXBlO1xuICBsb2FkaW5nVGl0bGU/OiBzdHJpbmc7XG4gIGxvYWRpbmdNZXNzYWdlPzogc3RyaW5nO1xuICB3aXRoTG9hZGluZ1Byb2dyZXNzQmFyPzogYm9vbGVhbjtcbiAgY2xvc2FibGU/OiBib29sZWFuO1xuICBkaXNwbGF5QnV0dG9ucz86IGJvb2xlYW47XG4gIGFwcGx5Q291bnRSZWdyZXNpdmU/OiBib29sZWFuO1xuICB0aW1lcj86IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFwcC1hbGVydC1tb2RhbFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FsZXJ0LW1vZGFsLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9hbGVydC1tb2RhbC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIERyb3BpTW9kYWxDb21wb25lbnQsXG4gICAgUFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIE5nSWYsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbiAgc2NoZW1hczogW05PX0VSUk9SU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHZpc2libGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHBhcmFtczogTW9kYWxQYXJhbXM7XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlzU3RlcDogYm9vbGVhbjtcbiAgQElucHV0KCkgY29udGVudFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgYmFzZVpJbmRleDogbnVtYmVyID0gMDtcbiAgQE91dHB1dCgpIG1vZGFsT3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHByaW1hcnlCdXR0b25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQFZpZXdDaGlsZChcIm1vZGFsQ29udGFpbmVyXCIsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIG1vZGFsQ29udGFpbmVyITogVmlld0NvbnRhaW5lclJlZjtcbiAgQE91dHB1dCgpIHNlY29uZGFyeUJ1dHRvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgb25IaWRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGFsZXJ0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgY29udGV4dFRlbXBsYXRlOiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgdGl0dGxlOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBwcmltYXJ5QnV0dG9uOiBzdHJpbmc7XG4gIGRpc3BsYXlCdXR0b25zOiBib29sZWFuID0gdHJ1ZTtcbiAgc2Vjb25kYXJ5QnV0dG9uOiBzdHJpbmc7XG4gIHNvdXJjZUFuaW1hdGlvbjogc3RyaW5nO1xuICBsb2FkaW5nVHlwZTogTG9hZGluZ1R5cGUgPSBMb2FkaW5nVHlwZS5Cb3dsaW5nO1xuICBsb2FkaW5nVGl0bGU6IHN0cmluZyA9IFwiQ2FyZ2FuZG8uLi5cIjtcbiAgbG9hZGluZ01lc3NhZ2U6IHN0cmluZyA9IFwiUG9yIGZhdm9yLCBlc3BlcmUgdW4gbW9tZW50b1wiO1xuICB3aXRoTG9hZGluZ1Byb2dyZXNzQmFyOiBib29sZWFuID0gZmFsc2U7XG4gIGxvYWRpbmdBbmltYXRpb24gPSB7XG4gICAgcGF0aDogXCIvYXNzZXRzL2xvdHRpZS1maWxlcy9sb2FkaW5nLmpzb25cIixcbiAgICB3aWR0aDogXCIzMDBweFwiLFxuICAgIGhlaWdodDogXCIzMDBweFwiLFxuICAgIG1hcmdpbkJvdHRvbTogXCIwcHhcIixcbiAgfTtcblxuICBicmFuZE5hbWU6IHN0cmluZyA9IFwiZHJvcGlcIjtcbiAgaW1hZ2VXaGl0ZUJyYW5kOiBzdHJpbmc7XG4gIGludGVydmFsOiBhbnk7XG4gIGNvdW50UmVncmVzaXZlOiBudW1iZXIgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoXCJUZW1wbGF0ZUFsZXJ0TW9kYWxTZXJ2aWNlXCIpIHByaXZhdGUgdGVtcGxhdGVTZXJ2aWNlOiBhbnksXG4gICAgQEluamVjdChcIlNldHRpbmdzU2VydmljZVwiKSBwcml2YXRlIHNldHRpbmdTZXJ2aWNlOiBhbnksXG4gICAgQEluamVjdChUcmFuc2xhdGVTZXJ2aWNlKSBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuYnJhbmROYW1lID0gdGhpcy5zZXR0aW5nU2VydmljZT8uZ2V0QnJhbmRJbmZvKClcbiAgICAgID8gdGhpcy5zZXR0aW5nU2VydmljZS5nZXRCcmFuZEluZm8oKT8ubmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICA6IFwiZHJvcGlcIjtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlUGFyYW1zKCk7XG4gICAgdGhpcy5kZWNpZGVBbmltYXRpb24oKTtcbiAgICB0aGlzLmRlY2lkZUxvYWRpbmdBbmltYXRpb24oKTtcblxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlPy5jdXJyZW50VGVtcGxhdGUkXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgPy5zdWJzY3JpYmUoKHsgdGVtcGxhdGUsIGNvbnRleHQgfSkgPT4ge1xuICAgICAgICB0aGlzLmFsZXJ0VGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICAgICAgdGhpcy5jb250ZXh0VGVtcGxhdGUgPSBjb250ZXh0O1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVQYXJhbXMoKTtcbiAgICB0aGlzLmRlY2lkZUFuaW1hdGlvbigpO1xuICAgIHRoaXMuZGVjaWRlTG9hZGluZ0FuaW1hdGlvbigpO1xuICAgIHRoaXMuaW1hZ2VXaGl0ZUJyYW5kID0gdGhpcy5kZWNpZGVJbWdXaGl0ZUJyYW5kKCk7XG4gIH1cblxuICB1cGRhdGVQYXJhbXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFyYW1zKSB7XG4gICAgICB0aGlzLnRpdHRsZSA9IHRoaXMucGFyYW1zLnRpdHRsZTtcbiAgICAgIHRoaXMudHlwZSA9IHRoaXMucGFyYW1zLnR5cGU7XG4gICAgICB0aGlzLm1lc3NhZ2UgPSB0aGlzLnBhcmFtcy5tZXNzYWdlO1xuICAgICAgdGhpcy5wcmltYXJ5QnV0dG9uID0gdGhpcy5wYXJhbXMucHJpbWFyeUJ1dHRvblxuICAgICAgICA/IHRoaXMucGFyYW1zLnByaW1hcnlCdXR0b25cbiAgICAgICAgOiBcIkFjZXB0YXJcIjtcbiAgICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uID0gdGhpcy5wYXJhbXM/LnNlY29uZGFyeUJ1dHRvbjtcbiAgICAgIHRoaXMuZGlzcGxheUJ1dHRvbnMgPSB0aGlzLnBhcmFtcz8uZGlzcGxheUJ1dHRvbnMgPT0gZmFsc2UgPyBmYWxzZSA6IHRydWU7XG4gICAgICB0aGlzLmxvYWRpbmdUeXBlID0gdGhpcy5wYXJhbXMubG9hZGluZ1R5cGVcbiAgICAgICAgPyB0aGlzLnBhcmFtcy5sb2FkaW5nVHlwZVxuICAgICAgICA6IExvYWRpbmdUeXBlLkJvd2xpbmc7XG4gICAgICB0aGlzLmxvYWRpbmdUaXRsZSA9IHRoaXMucGFyYW1zLmxvYWRpbmdUaXRsZVxuICAgICAgICA/IHRoaXMucGFyYW1zLmxvYWRpbmdUaXRsZVxuICAgICAgICA6IFwiQ2FyZ2FuZG8uLi5cIjtcbiAgICAgIHRoaXMubG9hZGluZ01lc3NhZ2UgPSB0aGlzLnBhcmFtcy5sb2FkaW5nTWVzc2FnZVxuICAgICAgICA/IHRoaXMucGFyYW1zLmxvYWRpbmdNZXNzYWdlXG4gICAgICAgIDogXCJQb3IgZmF2b3IsIGVzcGVyZSB1biBtb21lbnRvXCI7XG4gICAgICB0aGlzLndpdGhMb2FkaW5nUHJvZ3Jlc3NCYXIgPSB0aGlzLnBhcmFtcy53aXRoTG9hZGluZ1Byb2dyZXNzQmFyXG4gICAgICAgID8gdGhpcy5wYXJhbXMud2l0aExvYWRpbmdQcm9ncmVzc0JhclxuICAgICAgICA6IGZhbHNlO1xuICAgICAgaWYgKHRoaXMucGFyYW1zLmFwcGx5Q291bnRSZWdyZXNpdmUgPT09IHRydWUgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICAgIHRoaXMuc3RhcnRDb3VudFJlZ3Jlc2l2ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNsb3NlTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICBwcmltYXJ5QnV0dG9uQWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMucHJpbWFyeUJ1dHRvbkV2ZW50LmVtaXQodHJ1ZSk7XG4gICAgaWYgKCF0aGlzLmlzU3RlcCkge1xuICAgICAgdGhpcy5jbG9zZU1vZGFsKCk7XG4gICAgfVxuICB9XG5cbiAgc2Vjb25kYXJ5QnV0dG9uQWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uRXZlbnQuZW1pdCh0cnVlKTtcbiAgICB0aGlzLmNsb3NlTW9kYWwoKTtcbiAgfVxuXG4gIGRlY2lkZUFuaW1hdGlvbigpIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBcInF1ZXN0aW9uXCI6XG4gICAgICAgIHRoaXMuc291cmNlQW5pbWF0aW9uID0gXCIvYXNzZXRzL2xvdHRpZS1maWxlcy9xdWVzdGlvbi5qc29uXCI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIndhcm5pbmdcIjpcbiAgICAgICAgdGhpcy5zb3VyY2VBbmltYXRpb24gPSBcIi9hc3NldHMvbG90dGllLWZpbGVzL3dhcm5pbmcuanNvblwiO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJzdWNjZXNzXCI6XG4gICAgICAgIHRoaXMuc291cmNlQW5pbWF0aW9uID0gXCIvYXNzZXRzL2xvdHRpZS1maWxlcy9zdWNjZXNzLmpzb25cIjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiZXJyb3JcIjpcbiAgICAgICAgdGhpcy5zb3VyY2VBbmltYXRpb24gPSBcIi9hc3NldHMvbG90dGllLWZpbGVzL2ZhaWx1cmUuanNvblwiO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuc291cmNlQW5pbWF0aW9uID0gXCJcIjtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgZGVjaWRlTG9hZGluZ0FuaW1hdGlvbigpIHtcbiAgICBzd2l0Y2ggKHRoaXMubG9hZGluZ1R5cGUpIHtcbiAgICAgIGNhc2UgTG9hZGluZ1R5cGUuQm93bGluZzpcbiAgICAgICAgY29uc3QgcGF0aCA9XG4gICAgICAgICAgdGhpcy5icmFuZE5hbWUudG9Mb3dlckNhc2UoKSA9PT0gXCJkcm9waVwiXG4gICAgICAgICAgICA/IFwiL2Fzc2V0cy9sb3R0aWUtZmlsZXMvbG9hZGluZy5qc29uXCJcbiAgICAgICAgICAgIDogXCIvYXNzZXRzL2xvdHRpZS1maWxlcy9sb2FkaW5nLW1iLmpzb25cIjtcbiAgICAgICAgdGhpcy5sb2FkaW5nQW5pbWF0aW9uID0ge1xuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgd2lkdGg6IFwiMzAwcHhcIixcbiAgICAgICAgICBoZWlnaHQ6IFwiMzAwcHhcIixcbiAgICAgICAgICBtYXJnaW5Cb3R0b206IFwiMHB4XCIsXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBMb2FkaW5nVHlwZS5IZWFydDpcbiAgICAgICAgdGhpcy5sb2FkaW5nQW5pbWF0aW9uID0ge1xuICAgICAgICAgIHBhdGg6IFwiL2Fzc2V0cy9sb3R0aWUtZmlsZXMvaGVhcnQuanNvblwiLFxuICAgICAgICAgIHdpZHRoOiBcIjE4MHB4XCIsXG4gICAgICAgICAgaGVpZ2h0OiBcIjE4MHB4XCIsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBcIjE1cHhcIixcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgZGVjaWRlSW1nV2hpdGVCcmFuZCgpIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBcInF1ZXN0aW9uXCI6XG4gICAgICAgIHJldHVybiBgL2Fzc2V0cy9pbWcvd2hpdGUtYnJhbmRzLWV2ZW50cy9pbmZvLnBuZ2A7XG4gICAgICBjYXNlIFwid2FybmluZ1wiOlxuICAgICAgICByZXR1cm4gYC9hc3NldHMvaW1nL3doaXRlLWJyYW5kcy1ldmVudHMvd2FybmluZy5wbmdgO1xuICAgICAgY2FzZSBcInN1Y2Nlc3NcIjpcbiAgICAgICAgcmV0dXJuIGAvYXNzZXRzL2ltZy93aGl0ZS1icmFuZHMtZXZlbnRzL3N1Y2Nlc3MucG5nYDtcbiAgICAgIGNhc2UgXCJlcnJvclwiOlxuICAgICAgICByZXR1cm4gYC9hc3NldHMvaW1nL3doaXRlLWJyYW5kcy1ldmVudHMvZXJyb3IucG5nYDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgfVxuXG4gIHN0YXJ0Q291bnRSZWdyZXNpdmUoKSB7XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWwpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG4gICAgfVxuXG4gICAgdGhpcy5jb3VudFJlZ3Jlc2l2ZSA9IHRoaXMucGFyYW1zLnRpbWVyO1xuXG4gICAgdGhpcy5pbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuY291bnRSZWdyZXNpdmUtLTtcbiAgICAgIGlmICh0aGlzLmNvdW50UmVncmVzaXZlIDw9IDApIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTtcbiAgICAgIH1cbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9uSGlkZU1vZGFsKCkge1xuICAgIHRoaXMubW9kYWxPcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIHRoaXMub25IaWRlLmVtaXQoKTtcbiAgfVxuXG4gIGlzQXJyYXkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKTtcbiAgfVxufVxuIiwiPGRyb3BpLW1vZGFsXG4gIHN0eWxlQ2xhc3M9XCJkcm9waS1hbGVydC1tb2RhbFwiXG4gIFsodmlzaWJsZSldPVwidmlzaWJsZVwiXG4gIFttb2RhbF09XCJ0cnVlXCJcbiAgW2Nsb3NhYmxlXT1cInBhcmFtcz8uY2xvc2FibGUgPyB0cnVlIDogZmFsc2VcIlxuICBbZGlzbWlzc2FibGVNYXNrXT1cImZhbHNlXCJcbiAgW2Nsb3NlT25Fc2NhcGVdPVwiZmFsc2VcIlxuICBbc2hvd0hlYWRlcl09XCJmYWxzZVwiXG4gIHRyYW5zaXRpb25PcHRpb25zPVwiMzAwbXNcIlxuICBbc2hvd0hlYWRlcl09XCJwYXJhbXM/LmNsb3NhYmxlID8gdHJ1ZSA6IGZhbHNlXCJcbiAgW2F1dG9aSW5kZXhdPVwidHJ1ZVwiXG4gIFtiYXNlWkluZGV4XT1cImJhc2VaSW5kZXhcIlxuICAob25IaWRlKT1cIm9uSGlkZU1vZGFsKClcIlxuPlxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJib2R5LWFsZXJ0XCIgKm5nSWY9XCIhbG9hZGluZ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1hbGVydFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibG90dGllLWltZ1wiICpuZ0lmPVwidmlzaWJsZSAmJiBicmFuZE5hbWUgPT09ICdkcm9waSdcIj5cbiAgICAgICAgICA8ZG90bG90dGllLXBsYXllclxuICAgICAgICAgICAgW3NyY109XCJzb3VyY2VBbmltYXRpb25cIlxuICAgICAgICAgICAgYmFja2dyb3VuZD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIHNwZWVkPVwiMVwiXG4gICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG9cIlxuICAgICAgICAgICAgbG9vcFxuICAgICAgICAgICAgYXV0b3BsYXlcbiAgICAgICAgICA+PC9kb3Rsb3R0aWUtcGxheWVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndiLWltZ1wiICpuZ0lmPVwidmlzaWJsZSAmJiBicmFuZE5hbWUgIT09ICdkcm9waSdcIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VXaGl0ZUJyYW5kXCIgYWx0PVwibG9nb1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1hbGVydFwiPlxuICAgICAgICA8aDI+e3sgdGl0dGxlIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQXJyYXkobWVzc2FnZSlcIj5cbiAgICAgICAgICA8cCAqbmdGb3I9XCJsZXQgbSBvZiBtZXNzYWdlXCI+e3sgbSB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPHAgKm5nSWY9XCIhaXNBcnJheShtZXNzYWdlKVwiPlxuICAgICAgICAgIHt7IG1lc3NhZ2UgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbGVydFRlbXBsYXRlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImFsZXJ0VGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjb250ZXh0VGVtcGxhdGUgfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiICpuZ0lmPVwiZGlzcGxheUJ1dHRvbnNcIj5cbiAgICAgICAgPGRyb3BpLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwic2Vjb25kYXJ5QnV0dG9uXCJcbiAgICAgICAgICBbdGV4dF09XCJzZWNvbmRhcnlCdXR0b24gfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIHNldmVyaXR5PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAob25DbGljayk9XCJzZWNvbmRhcnlCdXR0b25BY3Rpb24oKVwiXG4gICAgICAgID48L2Ryb3BpLWJ1dHRvbj5cbiAgICAgICAgPGRyb3BpLWJ1dHRvblxuICAgICAgICAgIFt0ZXh0XT1cInByaW1hcnlCdXR0b24gfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIChvbkNsaWNrKT1cInByaW1hcnlCdXR0b25BY3Rpb24oKVwiXG4gICAgICAgID48L2Ryb3BpLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCIgKm5nSWY9XCJkaXNwbGF5QnV0dG9uc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInNlY29uZGFyeUJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIlxuICAgICAgICAoY2xpY2spPVwic2Vjb25kYXJ5QnV0dG9uQWN0aW9uKClcIlxuICAgICAgICBkYXRhLWN5PVwiYWxlcnQtbW9kYWwtc2Vjb25kYXJ5LWJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIHt7IHNlY29uZGFyeUJ1dHRvbiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cInByaW1hcnlCdXR0b25BY3Rpb24oKVwiXG4gICAgICAgIGRhdGEtY3k9XCJhbGVydC1tb2RhbC1wcmltYXJ5LWJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIHt7IHByaW1hcnlCdXR0b24gfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PiAtLT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJib2R5LWFsZXJ0LWxvYWRpbmdcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItYWxlcnRcIiBbc3R5bGVdPVwieyAnbWFyZ2luLWJvdHRvbSc6IGxvYWRpbmdBbmltYXRpb24ubWFyZ2luQm90dG9tIH1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxvdHRpZS1pbWdcIiAqbmdJZj1cInZpc2libGUgJiYgbG9hZGluZ1wiPlxuICAgICAgICAgIDxkb3Rsb3R0aWUtcGxheWVyXG4gICAgICAgICAgICAqbmdJZj1cImxvYWRpbmcgJiYgYnJhbmROYW1lID09PSAnZHJvcGknXCJcbiAgICAgICAgICAgIFtzcmNdPVwibG9hZGluZ0FuaW1hdGlvbi5wYXRoXCJcbiAgICAgICAgICAgIGJhY2tncm91bmQ9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICBzcGVlZD1cIjFcIlxuICAgICAgICAgICAgW3N0eWxlXT1cIntcbiAgICAgICAgICAgICAgd2lkdGg6IGxvYWRpbmdBbmltYXRpb24ud2lkdGgsXG4gICAgICAgICAgICAgIGhlaWdodDogbG9hZGluZ0FuaW1hdGlvbi5oZWlnaHQsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIGxvb3BcbiAgICAgICAgICAgIGF1dG9wbGF5XG4gICAgICAgICAgPjwvZG90bG90dGllLXBsYXllcj5cbiAgICAgICAgICA8ZG90bG90dGllLXBsYXllclxuICAgICAgICAgICAgKm5nSWY9XCJsb2FkaW5nICYmIGJyYW5kTmFtZSAhPT0gJ2Ryb3BpJyAmJiBwYXJhbXMudHlwZSA9PSAnbG9hZGluZydcIlxuICAgICAgICAgICAgW3NyY109XCInL2Fzc2V0cy9sb3R0aWUtZmlsZXMvbG9hZGluZy1tYi5qc29uJ1wiXG4gICAgICAgICAgICBiYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgc3BlZWQ9XCIxXCJcbiAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDMwMHB4OyBoZWlnaHQ6IGF1dG9cIlxuICAgICAgICAgICAgbG9vcFxuICAgICAgICAgICAgYXV0b3BsYXlcbiAgICAgICAgICA+PC9kb3Rsb3R0aWUtcGxheWVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndiLWltZ1wiICpuZ0lmPVwidmlzaWJsZSAmJiBicmFuZE5hbWUgIT09ICdkcm9waScgJiYgcGFyYW1zLnR5cGUgIT09ICdsb2FkaW5nJ1wiPlxuICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVdoaXRlQnJhbmRcIiBhbHQ9XCJsb2dvXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWFsZXJ0XCI+XG4gICAgICAgIDxwLXByb2dyZXNzQmFyICpuZ0lmPVwid2l0aExvYWRpbmdQcm9ncmVzc0JhclwiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgY29sb3I9XCIjRjQ5QTNEXCIgLz5cbiAgICAgICAgPGgyPlxuICAgICAgICAgIHt7IGxvYWRpbmdUaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2gyPlxuICAgICAgICA8cD5cbiAgICAgICAgICB7eyBsb2FkaW5nTWVzc2FnZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxoNSAqbmdJZj1cInBhcmFtcy5hcHBseUNvdW50UmVncmVzaXZlXCI+XG4gICAgICAgICAge3sgJ2luJyB8IHRyYW5zbGF0ZSB9fSB7eyBjb3VudFJlZ3Jlc2l2ZSB9fSB7eyAnc2Vjb25kcycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9oNT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kcm9waS1tb2RhbD5cbiJdfQ==