@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,243 @@
1
+ import { Component, Input, Output, EventEmitter, TemplateRef, ContentChild, ChangeDetectionStrategy, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { IconComponent } from '../icon/icon.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class DropiCarouselComponent {
7
+ cdr;
8
+ value = [];
9
+ page = 0;
10
+ numVisible = 1;
11
+ numScroll = 1;
12
+ responsiveOptions;
13
+ orientation = 'horizontal';
14
+ verticalViewPortHeight = '300px';
15
+ contentClass = '';
16
+ indicatorsContentClass = '';
17
+ showIndicators = true;
18
+ showNavigators = true;
19
+ autoplayInterval = 0;
20
+ circular = false;
21
+ pageChange = new EventEmitter();
22
+ onPage = new EventEmitter();
23
+ itemTemplate; // ✅ Opcional, no obligatorio
24
+ currentPage = 0;
25
+ numVisibleItems = 1;
26
+ numScrollItems = 1;
27
+ isAnimating = true;
28
+ totalPagesArray = [];
29
+ transformValue = 'translateX(0%)';
30
+ itemFlexBasis = '0 0 100%';
31
+ autoplayTimer;
32
+ resizeListener;
33
+ constructor(cdr) {
34
+ this.cdr = cdr;
35
+ }
36
+ ngOnInit() {
37
+ this.currentPage = this.page;
38
+ this.updateResponsiveOptions();
39
+ this.updateTotalPages();
40
+ this.updateTransform();
41
+ // Listen to window resize
42
+ this.resizeListener = () => {
43
+ this.updateResponsiveOptions();
44
+ this.updateTransform();
45
+ this.cdr.markForCheck();
46
+ };
47
+ window.addEventListener('resize', this.resizeListener);
48
+ }
49
+ ngAfterViewInit() {
50
+ setTimeout(() => {
51
+ this.updateResponsiveOptions();
52
+ this.updateTotalPages();
53
+ this.updateTransform();
54
+ this.cdr.detectChanges();
55
+ this.startAutoplay();
56
+ }, 100);
57
+ }
58
+ ngOnDestroy() {
59
+ this.stopAutoplay();
60
+ if (this.resizeListener) {
61
+ window.removeEventListener('resize', this.resizeListener);
62
+ }
63
+ }
64
+ updateResponsiveOptions() {
65
+ this.numVisibleItems = this.numVisible;
66
+ this.numScrollItems = this.numScroll;
67
+ if (this.responsiveOptions && this.responsiveOptions.length > 0) {
68
+ const windowWidth = window.innerWidth;
69
+ // Ordenar de menor a mayor para aplicar desde el breakpoint más pequeño
70
+ const sorted = [...this.responsiveOptions].sort((a, b) => {
71
+ return parseInt(a.breakpoint) - parseInt(b.breakpoint);
72
+ });
73
+ // Aplicar la configuración correspondiente al tamaño de pantalla
74
+ for (let option of sorted) {
75
+ if (windowWidth <= parseInt(option.breakpoint)) {
76
+ this.numVisibleItems = option.numVisible || 1;
77
+ this.numScrollItems = option.numScroll || 1;
78
+ break; // Detener en el primer match
79
+ }
80
+ }
81
+ }
82
+ this.itemFlexBasis = `0 0 ${100 / this.numVisibleItems}%`;
83
+ this.updateTotalPages();
84
+ }
85
+ updateTransform() {
86
+ if (!this.value || this.value.length === 0) {
87
+ this.transformValue = this.orientation === 'vertical' ? 'translateY(0%)' : 'translateX(0%)';
88
+ return;
89
+ }
90
+ const itemsToShow = this.numVisibleItems;
91
+ const totalItems = this.value.length;
92
+ // Calcula el índice del primer item basado en la página actual y el scroll
93
+ // Para móvil con numVisible=1 y numScroll=1, cada página muestra 1 item
94
+ const itemsScrolled = this.currentPage * this.numScrollItems;
95
+ // Asegura que no se desborde más allá del último item visible completo
96
+ const maxScroll = Math.max(0, totalItems - itemsToShow);
97
+ const safeScroll = Math.min(itemsScrolled, maxScroll);
98
+ // Calcula el porcentaje de desplazamiento
99
+ // Cada item ocupa (100 / numVisibleItems)% del contenedor
100
+ // Por ejemplo: si numVisible=1, cada item es 100%
101
+ // Si numVisible=3, cada item es 33.33%
102
+ const itemWidth = 100 / this.numVisibleItems;
103
+ const translateValue = -(safeScroll * itemWidth);
104
+ this.transformValue =
105
+ this.orientation === 'vertical'
106
+ ? `translateY(${translateValue}%)`
107
+ : `translateX(${translateValue}%)`;
108
+ }
109
+ updateTotalPages() {
110
+ if (!this.value || this.value.length <= this.numVisibleItems) {
111
+ this.totalPagesArray = [0];
112
+ return;
113
+ }
114
+ const totalItems = this.value.length;
115
+ const itemsToShow = this.numVisibleItems;
116
+ const itemsPerScroll = this.numScrollItems;
117
+ // Calcula cuántas páginas son necesarias
118
+ // Para asegurar que todas las cards se muestren completas
119
+ const remainingItems = totalItems - itemsToShow;
120
+ const totalPages = Math.ceil(remainingItems / itemsPerScroll) + 1;
121
+ this.totalPagesArray = Array(totalPages).fill(0);
122
+ }
123
+ navForward(event) {
124
+ event.preventDefault();
125
+ this.stopAutoplay();
126
+ if (this.circular || !this.isLastPage()) {
127
+ this.isAnimating = true;
128
+ this.currentPage = this.circular && this.isLastPage() ? 0 : this.currentPage + 1;
129
+ this.updateTransform();
130
+ this.emitPageChange();
131
+ setTimeout(() => {
132
+ this.isAnimating = false;
133
+ this.cdr.markForCheck();
134
+ }, 500);
135
+ }
136
+ this.startAutoplay();
137
+ }
138
+ navBackward(event) {
139
+ event.preventDefault();
140
+ this.stopAutoplay();
141
+ if (this.circular || !this.isFirstPage()) {
142
+ this.isAnimating = true;
143
+ this.currentPage =
144
+ this.circular && this.isFirstPage()
145
+ ? this.totalPagesArray.length - 1
146
+ : this.currentPage - 1;
147
+ this.updateTransform();
148
+ this.emitPageChange();
149
+ setTimeout(() => {
150
+ this.isAnimating = false;
151
+ this.cdr.markForCheck();
152
+ }, 500);
153
+ }
154
+ this.startAutoplay();
155
+ }
156
+ onDotClick(index) {
157
+ this.stopAutoplay();
158
+ this.isAnimating = true;
159
+ this.currentPage = index;
160
+ this.updateTransform();
161
+ this.emitPageChange();
162
+ setTimeout(() => {
163
+ this.isAnimating = false;
164
+ this.cdr.markForCheck();
165
+ }, 500);
166
+ this.startAutoplay();
167
+ }
168
+ isFirstPage() {
169
+ return this.currentPage === 0;
170
+ }
171
+ isLastPage() {
172
+ return this.currentPage >= this.totalPagesArray.length - 1;
173
+ }
174
+ startAutoplay() {
175
+ if (this.autoplayInterval > 0) {
176
+ this.autoplayTimer = setInterval(() => {
177
+ if (this.circular || !this.isLastPage()) {
178
+ this.isAnimating = true;
179
+ this.currentPage = this.circular && this.isLastPage() ? 0 : this.currentPage + 1;
180
+ this.updateTransform();
181
+ this.emitPageChange();
182
+ setTimeout(() => {
183
+ this.isAnimating = false;
184
+ this.cdr.markForCheck();
185
+ }, 500);
186
+ }
187
+ }, this.autoplayInterval);
188
+ }
189
+ }
190
+ stopAutoplay() {
191
+ if (this.autoplayTimer) {
192
+ clearInterval(this.autoplayTimer);
193
+ this.autoplayTimer = null;
194
+ }
195
+ }
196
+ emitPageChange() {
197
+ this.pageChange.emit(this.currentPage);
198
+ this.onPage.emit({
199
+ page: this.currentPage,
200
+ });
201
+ this.cdr.markForCheck();
202
+ }
203
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiCarouselComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
204
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiCarouselComponent, isStandalone: true, selector: "dropi-carousel", inputs: { value: "value", page: "page", numVisible: "numVisible", numScroll: "numScroll", responsiveOptions: "responsiveOptions", orientation: "orientation", verticalViewPortHeight: "verticalViewPortHeight", contentClass: "contentClass", indicatorsContentClass: "indicatorsContentClass", showIndicators: "showIndicators", showNavigators: "showNavigators", autoplayInterval: "autoplayInterval", circular: "circular" }, outputs: { pageChange: "pageChange", onPage: "onPage" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"dropi-carousel-container\" [class.vertical]=\"orientation === 'vertical'\">\n <div class=\"dropi-carousel-content\">\n <button\n *ngIf=\"showNavigators\"\n class=\"dropi-carousel-nav dropi-carousel-prev\"\n [disabled]=\"!circular && isFirstPage()\"\n (click)=\"navBackward($event)\"\n [attr.aria-label]=\"'Anterior'\"\n >\n <app-icon name=\"Dropdown-left\" width=\"24px\" height=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </button>\n\n <div class=\"dropi-carousel-items-content\" #itemsContainer>\n <div\n class=\"dropi-carousel-items-container\"\n [style.transform]=\"transformValue\"\n [style.transition]=\"isAnimating ? 'transform 0.5s ease' : 'none'\"\n >\n <div\n *ngFor=\"let item of value; let i = index\"\n class=\"dropi-carousel-item\"\n [style.flex]=\"itemFlexBasis\"\n >\n <ng-container *ngIf=\"itemTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\">\n </ng-container>\n </ng-container>\n <ng-template #defaultTemplate>\n <div class=\"dropi-default-item\">\n {{ item | json }}\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavigators\"\n class=\"dropi-carousel-nav dropi-carousel-next\"\n [disabled]=\"!circular && isLastPage()\"\n (click)=\"navForward($event)\"\n [attr.aria-label]=\"'Siguiente'\"\n >\n <app-icon name=\"Dropdown-Right\" width=\"24px\" height=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </button>\n </div>\n\n <ul class=\"dropi-carousel-indicators\" *ngIf=\"showIndicators\">\n <li\n *ngFor=\"let page of totalPagesArray; let i = index\"\n [class.active]=\"i === currentPage\"\n (click)=\"onDotClick(i)\"\n >\n <button type=\"button\" [attr.aria-label]=\"'Ir a p\u00E1gina ' + (i + 1)\"></button>\n </li>\n </ul>\n</div>\n", styles: [".dropi-carousel-container{display:flex;flex-direction:column;position:relative;width:100%;max-width:100%;overflow:hidden}.dropi-carousel-header,.dropi-carousel-footer{padding:1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.dropi-carousel-footer{border-top:1px solid #dee2e6;border-bottom:none}.dropi-carousel-content{display:flex;align-items:center;position:relative;padding:1rem 0;width:100%}.dropi-carousel-items-content{overflow:hidden;flex:1;padding:0;width:100%;max-width:100%}.dropi-carousel-items-container{display:flex;transition:transform .5s ease;padding:0 .5rem var(--Size-3)}@media (max-width: 768px){.dropi-carousel-items-container{padding:0}}.dropi-carousel-item{flex:0 0 auto;padding:0 .5rem;box-sizing:border-box}.dropi-carousel-item>*{width:100%;box-sizing:border-box}@media (max-width: 768px){.dropi-carousel-item{padding:0}}.dropi-default-item{padding:1rem;background:#f8f9fa;border-radius:.25rem;text-align:center;color:#6c757d;font-size:.875rem}.dropi-carousel-nav{display:flex;width:40px;height:40px;padding:var(--Size-4);justify-content:center;align-items:center;cursor:pointer;transition:all .2s;flex-shrink:0;z-index:1;border-radius:var(--Border-5);background:var(--White, #fff);box-shadow:var(--Shadow-medium);border:none;appearance:none}button:focus:not(:focus-visible){outline:none;box-shadow:var(--Shadow-medium)!important}.dropi-carousel-nav:disabled{opacity:.4;cursor:not-allowed}.dropi-carousel-prev{margin-right:1rem}.dropi-carousel-next{margin-left:1rem}.dropi-carousel-indicators{display:flex;justify-content:center;gap:.5rem;list-style:none;padding:1rem 0 0;margin:0}.dropi-carousel-indicators li{cursor:pointer}.dropi-carousel-indicators li button{width:1rem;height:1rem;border-radius:50%;border:1px solid #dee2e6;background:#fff;cursor:pointer;transition:all .2s;padding:0}.dropi-carousel-indicators li.active button{background:var(--Primary-Primary-500);border-color:var(--Primary-Primary-500)}.dropi-carousel-indicators li:hover button{background:var(--Gray-Gray-200)}.vertical .dropi-carousel-content,.vertical .dropi-carousel-items-container{flex-direction:column}.vertical .dropi-carousel-prev{margin:0 0 1rem}.vertical .dropi-carousel-next{margin:1rem 0 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.JsonPipe, name: "json" }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
205
+ }
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiCarouselComponent, decorators: [{
207
+ type: Component,
208
+ args: [{ selector: 'dropi-carousel', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dropi-carousel-container\" [class.vertical]=\"orientation === 'vertical'\">\n <div class=\"dropi-carousel-content\">\n <button\n *ngIf=\"showNavigators\"\n class=\"dropi-carousel-nav dropi-carousel-prev\"\n [disabled]=\"!circular && isFirstPage()\"\n (click)=\"navBackward($event)\"\n [attr.aria-label]=\"'Anterior'\"\n >\n <app-icon name=\"Dropdown-left\" width=\"24px\" height=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </button>\n\n <div class=\"dropi-carousel-items-content\" #itemsContainer>\n <div\n class=\"dropi-carousel-items-container\"\n [style.transform]=\"transformValue\"\n [style.transition]=\"isAnimating ? 'transform 0.5s ease' : 'none'\"\n >\n <div\n *ngFor=\"let item of value; let i = index\"\n class=\"dropi-carousel-item\"\n [style.flex]=\"itemFlexBasis\"\n >\n <ng-container *ngIf=\"itemTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\">\n </ng-container>\n </ng-container>\n <ng-template #defaultTemplate>\n <div class=\"dropi-default-item\">\n {{ item | json }}\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavigators\"\n class=\"dropi-carousel-nav dropi-carousel-next\"\n [disabled]=\"!circular && isLastPage()\"\n (click)=\"navForward($event)\"\n [attr.aria-label]=\"'Siguiente'\"\n >\n <app-icon name=\"Dropdown-Right\" width=\"24px\" height=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </button>\n </div>\n\n <ul class=\"dropi-carousel-indicators\" *ngIf=\"showIndicators\">\n <li\n *ngFor=\"let page of totalPagesArray; let i = index\"\n [class.active]=\"i === currentPage\"\n (click)=\"onDotClick(i)\"\n >\n <button type=\"button\" [attr.aria-label]=\"'Ir a p\u00E1gina ' + (i + 1)\"></button>\n </li>\n </ul>\n</div>\n", styles: [".dropi-carousel-container{display:flex;flex-direction:column;position:relative;width:100%;max-width:100%;overflow:hidden}.dropi-carousel-header,.dropi-carousel-footer{padding:1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.dropi-carousel-footer{border-top:1px solid #dee2e6;border-bottom:none}.dropi-carousel-content{display:flex;align-items:center;position:relative;padding:1rem 0;width:100%}.dropi-carousel-items-content{overflow:hidden;flex:1;padding:0;width:100%;max-width:100%}.dropi-carousel-items-container{display:flex;transition:transform .5s ease;padding:0 .5rem var(--Size-3)}@media (max-width: 768px){.dropi-carousel-items-container{padding:0}}.dropi-carousel-item{flex:0 0 auto;padding:0 .5rem;box-sizing:border-box}.dropi-carousel-item>*{width:100%;box-sizing:border-box}@media (max-width: 768px){.dropi-carousel-item{padding:0}}.dropi-default-item{padding:1rem;background:#f8f9fa;border-radius:.25rem;text-align:center;color:#6c757d;font-size:.875rem}.dropi-carousel-nav{display:flex;width:40px;height:40px;padding:var(--Size-4);justify-content:center;align-items:center;cursor:pointer;transition:all .2s;flex-shrink:0;z-index:1;border-radius:var(--Border-5);background:var(--White, #fff);box-shadow:var(--Shadow-medium);border:none;appearance:none}button:focus:not(:focus-visible){outline:none;box-shadow:var(--Shadow-medium)!important}.dropi-carousel-nav:disabled{opacity:.4;cursor:not-allowed}.dropi-carousel-prev{margin-right:1rem}.dropi-carousel-next{margin-left:1rem}.dropi-carousel-indicators{display:flex;justify-content:center;gap:.5rem;list-style:none;padding:1rem 0 0;margin:0}.dropi-carousel-indicators li{cursor:pointer}.dropi-carousel-indicators li button{width:1rem;height:1rem;border-radius:50%;border:1px solid #dee2e6;background:#fff;cursor:pointer;transition:all .2s;padding:0}.dropi-carousel-indicators li.active button{background:var(--Primary-Primary-500);border-color:var(--Primary-Primary-500)}.dropi-carousel-indicators li:hover button{background:var(--Gray-Gray-200)}.vertical .dropi-carousel-content,.vertical .dropi-carousel-items-container{flex-direction:column}.vertical .dropi-carousel-prev{margin:0 0 1rem}.vertical .dropi-carousel-next{margin:1rem 0 0}\n"] }]
209
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { value: [{
210
+ type: Input
211
+ }], page: [{
212
+ type: Input
213
+ }], numVisible: [{
214
+ type: Input
215
+ }], numScroll: [{
216
+ type: Input
217
+ }], responsiveOptions: [{
218
+ type: Input
219
+ }], orientation: [{
220
+ type: Input
221
+ }], verticalViewPortHeight: [{
222
+ type: Input
223
+ }], contentClass: [{
224
+ type: Input
225
+ }], indicatorsContentClass: [{
226
+ type: Input
227
+ }], showIndicators: [{
228
+ type: Input
229
+ }], showNavigators: [{
230
+ type: Input
231
+ }], autoplayInterval: [{
232
+ type: Input
233
+ }], circular: [{
234
+ type: Input
235
+ }], pageChange: [{
236
+ type: Output
237
+ }], onPage: [{
238
+ type: Output
239
+ }], itemTemplate: [{
240
+ type: ContentChild,
241
+ args: ['item', { read: TemplateRef }]
242
+ }] } });
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2Ryb3BpLWNhcm91c2VsL2Ryb3BpLWNhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1jYXJvdXNlbC9kcm9waS1jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUlaLFdBQVcsRUFDWCxZQUFZLEVBQ1osdUJBQXVCLEdBRXhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQWdCdkQsTUFBTSxPQUFPLHNCQUFzQjtJQStCYjtJQTlCWCxLQUFLLEdBQVUsRUFBRSxDQUFDO0lBQ2xCLElBQUksR0FBVyxDQUFDLENBQUM7SUFDakIsVUFBVSxHQUFXLENBQUMsQ0FBQztJQUN2QixTQUFTLEdBQVcsQ0FBQyxDQUFDO0lBQ3RCLGlCQUFpQixDQUErQjtJQUNoRCxXQUFXLEdBQThCLFlBQVksQ0FBQztJQUN0RCxzQkFBc0IsR0FBVyxPQUFPLENBQUM7SUFDekMsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMxQixzQkFBc0IsR0FBVyxFQUFFLENBQUM7SUFDcEMsY0FBYyxHQUFZLElBQUksQ0FBQztJQUMvQixjQUFjLEdBQVksSUFBSSxDQUFDO0lBQy9CLGdCQUFnQixHQUFXLENBQUMsQ0FBQztJQUM3QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRXpCLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ3hDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRUUsWUFB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LHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBRXNDLFlBQVk7c0JBQXhELFlBQVk7dUJBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIE9uRGVzdHJveSxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2Fyb3VzZWxSZXNwb25zaXZlT3B0aW9ucyB7XG4gIGJyZWFrcG9pbnQ6IHN0cmluZztcbiAgbnVtVmlzaWJsZTogbnVtYmVyO1xuICBudW1TY3JvbGw6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZHJvcGktY2Fyb3VzZWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9waS1jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3BpLWNhcm91c2VsLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERyb3BpQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBwYWdlOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBudW1WaXNpYmxlOiBudW1iZXIgPSAxO1xuICBASW5wdXQoKSBudW1TY3JvbGw6IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIHJlc3BvbnNpdmVPcHRpb25zPzogQ2Fyb3VzZWxSZXNwb25zaXZlT3B0aW9uc1tdO1xuICBASW5wdXQoKSBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcbiAgQElucHV0KCkgdmVydGljYWxWaWV3UG9ydEhlaWdodDogc3RyaW5nID0gJzMwMHB4JztcbiAgQElucHV0KCkgY29udGVudENsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaW5kaWNhdG9yc0NvbnRlbnRDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNob3dJbmRpY2F0b3JzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd05hdmlnYXRvcnM6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBhdXRvcGxheUludGVydmFsOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBjaXJjdWxhcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBvblBhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAQ29udGVudENoaWxkKCdpdGVtJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBpdGVtVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+OyAvLyDinIUgT3BjaW9uYWwsIG5vIG9ibGlnYXRvcmlvXG5cbiAgY3VycmVudFBhZ2U6IG51bWJlciA9IDA7XG4gIG51bVZpc2libGVJdGVtczogbnVtYmVyID0gMTtcbiAgbnVtU2Nyb2xsSXRlbXM6IG51bWJlciA9IDE7XG4gIGlzQW5pbWF0aW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgdG90YWxQYWdlc0FycmF5OiBudW1iZXJbXSA9IFtdO1xuICB0cmFuc2Zvcm1WYWx1ZTogc3RyaW5nID0gJ3RyYW5zbGF0ZVgoMCUpJztcbiAgaXRlbUZsZXhCYXNpczogc3RyaW5nID0gJzAgMCAxMDAlJztcblxuICBwcml2YXRlIGF1dG9wbGF5VGltZXI/OiBhbnk7XG4gIHByaXZhdGUgcmVzaXplTGlzdGVuZXI/OiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLnBhZ2U7XG4gICAgdGhpcy51cGRhdGVSZXNwb25zaXZlT3B0aW9ucygpO1xuICAgIHRoaXMudXBkYXRlVG90YWxQYWdlcygpO1xuICAgIHRoaXMudXBkYXRlVHJhbnNmb3JtKCk7XG5cbiAgICAvLyBMaXN0ZW4gdG8gd2luZG93IHJlc2l6ZVxuICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSAoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVJlc3BvbnNpdmVPcHRpb25zKCk7XG4gICAgICB0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVMaXN0ZW5lcik7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVJlc3BvbnNpdmVPcHRpb25zKCk7XG4gICAgICB0aGlzLnVwZGF0ZVRvdGFsUGFnZXMoKTtcbiAgICAgIHRoaXMudXBkYXRlVHJhbnNmb3JtKCk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB0aGlzLnN0YXJ0QXV0b3BsYXkoKTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdG9wQXV0b3BsYXkoKTtcbiAgICBpZiAodGhpcy5yZXNpemVMaXN0ZW5lcikge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplTGlzdGVuZXIpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVJlc3BvbnNpdmVPcHRpb25zKCkge1xuICAgIHRoaXMubnVtVmlzaWJsZUl0ZW1zID0gdGhpcy5udW1WaXNpYmxlO1xuICAgIHRoaXMubnVtU2Nyb2xsSXRlbXMgPSB0aGlzLm51bVNjcm9sbDtcblxuICAgIGlmICh0aGlzLnJlc3BvbnNpdmVPcHRpb25zICYmIHRoaXMucmVzcG9uc2l2ZU9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgd2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcblxuICAgICAgLy8gT3JkZW5hciBkZSBtZW5vciBhIG1heW9yIHBhcmEgYXBsaWNhciBkZXNkZSBlbCBicmVha3BvaW50IG3DoXMgcGVxdWXDsW9cbiAgICAgIGNvbnN0IHNvcnRlZCA9IFsuLi50aGlzLnJlc3BvbnNpdmVPcHRpb25zXS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIHJldHVybiBwYXJzZUludChhLmJyZWFrcG9pbnQpIC0gcGFyc2VJbnQoYi5icmVha3BvaW50KTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBBcGxpY2FyIGxhIGNvbmZpZ3VyYWNpw7NuIGNvcnJlc3BvbmRpZW50ZSBhbCB0YW1hw7FvIGRlIHBhbnRhbGxhXG4gICAgICBmb3IgKGxldCBvcHRpb24gb2Ygc29ydGVkKSB7XG4gICAgICAgIGlmICh3aW5kb3dXaWR0aCA8PSBwYXJzZUludChvcHRpb24uYnJlYWtwb2ludCkpIHtcbiAgICAgICAgICB0aGlzLm51bVZpc2libGVJdGVtcyA9IG9wdGlvbi5udW1WaXNpYmxlIHx8IDE7XG4gICAgICAgICAgdGhpcy5udW1TY3JvbGxJdGVtcyA9IG9wdGlvbi5udW1TY3JvbGwgfHwgMTtcbiAgICAgICAgICBicmVhazsgLy8gRGV0ZW5lciBlbiBlbCBwcmltZXIgbWF0Y2hcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuaXRlbUZsZXhCYXNpcyA9IGAwIDAgJHsxMDAgLyB0aGlzLm51bVZpc2libGVJdGVtc30lYDtcbiAgICB0aGlzLnVwZGF0ZVRvdGFsUGFnZXMoKTtcbiAgfVxuXG4gIHVwZGF0ZVRyYW5zZm9ybSgpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtVmFsdWUgPSB0aGlzLm9yaWVudGF0aW9uID09PSAndmVydGljYWwnID8gJ3RyYW5zbGF0ZVkoMCUpJyA6ICd0cmFuc2xhdGVYKDAlKSc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbXNUb1Nob3cgPSB0aGlzLm51bVZpc2libGVJdGVtcztcbiAgICBjb25zdCB0b3RhbEl0ZW1zID0gdGhpcy52YWx1ZS5sZW5ndGg7XG5cbiAgICAvLyBDYWxjdWxhIGVsIMOtbmRpY2UgZGVsIHByaW1lciBpdGVtIGJhc2FkbyBlbiBsYSBww6FnaW5hIGFjdHVhbCB5IGVsIHNjcm9sbFxuICAgIC8vIFBhcmEgbcOzdmlsIGNvbiBudW1WaXNpYmxlPTEgeSBudW1TY3JvbGw9MSwgY2FkYSBww6FnaW5hIG11ZXN0cmEgMSBpdGVtXG4gICAgY29uc3QgaXRlbXNTY3JvbGxlZCA9IHRoaXMuY3VycmVudFBhZ2UgKiB0aGlzLm51bVNjcm9sbEl0ZW1zO1xuXG4gICAgLy8gQXNlZ3VyYSBxdWUgbm8gc2UgZGVzYm9yZGUgbcOhcyBhbGzDoSBkZWwgw7psdGltbyBpdGVtIHZpc2libGUgY29tcGxldG9cbiAgICBjb25zdCBtYXhTY3JvbGwgPSBNYXRoLm1heCgwLCB0b3RhbEl0ZW1zIC0gaXRlbXNUb1Nob3cpO1xuICAgIGNvbnN0IHNhZmVTY3JvbGwgPSBNYXRoLm1pbihpdGVtc1Njcm9sbGVkLCBtYXhTY3JvbGwpO1xuXG4gICAgLy8gQ2FsY3VsYSBlbCBwb3JjZW50YWplIGRlIGRlc3BsYXphbWllbnRvXG4gICAgLy8gQ2FkYSBpdGVtIG9jdXBhICgxMDAgLyBudW1WaXNpYmxlSXRlbXMpJSBkZWwgY29udGVuZWRvclxuICAgIC8vIFBvciBlamVtcGxvOiBzaSBudW1WaXNpYmxlPTEsIGNhZGEgaXRlbSBlcyAxMDAlXG4gICAgLy8gU2kgbnVtVmlzaWJsZT0zLCBjYWRhIGl0ZW0gZXMgMzMuMzMlXG4gICAgY29uc3QgaXRlbVdpZHRoID0gMTAwIC8gdGhpcy5udW1WaXNpYmxlSXRlbXM7XG4gICAgY29uc3QgdHJhbnNsYXRlVmFsdWUgPSAtKHNhZmVTY3JvbGwgKiBpdGVtV2lkdGgpO1xuXG4gICAgdGhpcy50cmFuc2Zvcm1WYWx1ZSA9XG4gICAgICB0aGlzLm9yaWVudGF0aW9uID09PSAndmVydGljYWwnXG4gICAgICAgID8gYHRyYW5zbGF0ZVkoJHt0cmFuc2xhdGVWYWx1ZX0lKWBcbiAgICAgICAgOiBgdHJhbnNsYXRlWCgke3RyYW5zbGF0ZVZhbHVlfSUpYDtcbiAgfVxuXG4gIHVwZGF0ZVRvdGFsUGFnZXMoKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlIHx8IHRoaXMudmFsdWUubGVuZ3RoIDw9IHRoaXMubnVtVmlzaWJsZUl0ZW1zKSB7XG4gICAgICB0aGlzLnRvdGFsUGFnZXNBcnJheSA9IFswXTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0b3RhbEl0ZW1zID0gdGhpcy52YWx1ZS5sZW5ndGg7XG4gICAgY29uc3QgaXRlbXNUb1Nob3cgPSB0aGlzLm51bVZpc2libGVJdGVtcztcbiAgICBjb25zdCBpdGVtc1BlclNjcm9sbCA9IHRoaXMubnVtU2Nyb2xsSXRlbXM7XG5cbiAgICAvLyBDYWxjdWxhIGN1w6FudGFzIHDDoWdpbmFzIHNvbiBuZWNlc2FyaWFzXG4gICAgLy8gUGFyYSBhc2VndXJhciBxdWUgdG9kYXMgbGFzIGNhcmRzIHNlIG11ZXN0cmVuIGNvbXBsZXRhc1xuICAgIGNvbnN0IHJlbWFpbmluZ0l0ZW1zID0gdG90YWxJdGVtcyAtIGl0ZW1zVG9TaG93O1xuICAgIGNvbnN0IHRvdGFsUGFnZXMgPSBNYXRoLmNlaWwocmVtYWluaW5nSXRlbXMgLyBpdGVtc1BlclNjcm9sbCkgKyAxO1xuXG4gICAgdGhpcy50b3RhbFBhZ2VzQXJyYXkgPSBBcnJheSh0b3RhbFBhZ2VzKS5maWxsKDApO1xuICB9XG5cbiAgbmF2Rm9yd2FyZChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3RvcEF1dG9wbGF5KCk7XG5cbiAgICBpZiAodGhpcy5jaXJjdWxhciB8fCAhdGhpcy5pc0xhc3RQYWdlKCkpIHtcbiAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuY2lyY3VsYXIgJiYgdGhpcy5pc0xhc3RQYWdlKCkgPyAwIDogdGhpcy5jdXJyZW50UGFnZSArIDE7XG4gICAgICB0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpO1xuICAgICAgdGhpcy5lbWl0UGFnZUNoYW5nZSgpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sIDUwMCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGFydEF1dG9wbGF5KCk7XG4gIH1cblxuICBuYXZCYWNrd2FyZChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3RvcEF1dG9wbGF5KCk7XG5cbiAgICBpZiAodGhpcy5jaXJjdWxhciB8fCAhdGhpcy5pc0ZpcnN0UGFnZSgpKSB7XG4gICAgICB0aGlzLmlzQW5pbWF0aW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPVxuICAgICAgICB0aGlzLmNpcmN1bGFyICYmIHRoaXMuaXNGaXJzdFBhZ2UoKVxuICAgICAgICAgID8gdGhpcy50b3RhbFBhZ2VzQXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICAgIDogdGhpcy5jdXJyZW50UGFnZSAtIDE7XG4gICAgICB0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpO1xuICAgICAgdGhpcy5lbWl0UGFnZUNoYW5nZSgpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sIDUwMCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGFydEF1dG9wbGF5KCk7XG4gIH1cblxuICBvbkRvdENsaWNrKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnN0b3BBdXRvcGxheSgpO1xuICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBpbmRleDtcbiAgICB0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpO1xuICAgIHRoaXMuZW1pdFBhZ2VDaGFuZ2UoKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSwgNTAwKTtcblxuICAgIHRoaXMuc3RhcnRBdXRvcGxheSgpO1xuICB9XG5cbiAgaXNGaXJzdFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgPT09IDA7XG4gIH1cblxuICBpc0xhc3RQYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYWdlID49IHRoaXMudG90YWxQYWdlc0FycmF5Lmxlbmd0aCAtIDE7XG4gIH1cblxuICBzdGFydEF1dG9wbGF5KCkge1xuICAgIGlmICh0aGlzLmF1dG9wbGF5SW50ZXJ2YWwgPiAwKSB7XG4gICAgICB0aGlzLmF1dG9wbGF5VGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNpcmN1bGFyIHx8ICF0aGlzLmlzTGFzdFBhZ2UoKSkge1xuICAgICAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLmNpcmN1bGFyICYmIHRoaXMuaXNMYXN0UGFnZSgpID8gMCA6IHRoaXMuY3VycmVudFBhZ2UgKyAxO1xuICAgICAgICAgIHRoaXMudXBkYXRlVHJhbnNmb3JtKCk7XG4gICAgICAgICAgdGhpcy5lbWl0UGFnZUNoYW5nZSgpO1xuXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzQW5pbWF0aW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9XG4gICAgICB9LCB0aGlzLmF1dG9wbGF5SW50ZXJ2YWwpO1xuICAgIH1cbiAgfVxuXG4gIHN0b3BBdXRvcGxheSgpIHtcbiAgICBpZiAodGhpcy5hdXRvcGxheVRpbWVyKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMuYXV0b3BsYXlUaW1lcik7XG4gICAgICB0aGlzLmF1dG9wbGF5VGltZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW1pdFBhZ2VDaGFuZ2UoKSB7XG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQodGhpcy5jdXJyZW50UGFnZSk7XG4gICAgdGhpcy5vblBhZ2UuZW1pdCh7XG4gICAgICBwYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgIH0pO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZHJvcGktY2Fyb3VzZWwtY29udGFpbmVyXCIgW2NsYXNzLnZlcnRpY2FsXT1cIm9yaWVudGF0aW9uID09PSAndmVydGljYWwnXCI+XG4gIDxkaXYgY2xhc3M9XCJkcm9waS1jYXJvdXNlbC1jb250ZW50XCI+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG93TmF2aWdhdG9yc1wiXG4gICAgICBjbGFzcz1cImRyb3BpLWNhcm91c2VsLW5hdiBkcm9waS1jYXJvdXNlbC1wcmV2XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhY2lyY3VsYXIgJiYgaXNGaXJzdFBhZ2UoKVwiXG4gICAgICAoY2xpY2spPVwibmF2QmFja3dhcmQoJGV2ZW50KVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBbnRlcmlvcidcIlxuICAgID5cbiAgICAgIDxhcHAtaWNvbiBuYW1lPVwiRHJvcGRvd24tbGVmdFwiIHdpZHRoPVwiMjRweFwiIGhlaWdodD1cIjI0cHhcIiBjb2xvcj1cIkdyYXktR3JheS01MDBcIj48L2FwcC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdiBjbGFzcz1cImRyb3BpLWNhcm91c2VsLWl0ZW1zLWNvbnRlbnRcIiAjaXRlbXNDb250YWluZXI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZHJvcGktY2Fyb3VzZWwtaXRlbXMtY29udGFpbmVyXCJcbiAgICAgICAgW3N0eWxlLnRyYW5zZm9ybV09XCJ0cmFuc2Zvcm1WYWx1ZVwiXG4gICAgICAgIFtzdHlsZS50cmFuc2l0aW9uXT1cImlzQW5pbWF0aW5nID8gJ3RyYW5zZm9ybSAwLjVzIGVhc2UnIDogJ25vbmUnXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHZhbHVlOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICBjbGFzcz1cImRyb3BpLWNhcm91c2VsLWl0ZW1cIlxuICAgICAgICAgIFtzdHlsZS5mbGV4XT1cIml0ZW1GbGV4QmFzaXNcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UZW1wbGF0ZTsgZWxzZSBkZWZhdWx0VGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBpbmRleDogaSB9XCI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9waS1kZWZhdWx0LWl0ZW1cIj5cbiAgICAgICAgICAgICAge3sgaXRlbSB8IGpzb24gfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cInNob3dOYXZpZ2F0b3JzXCJcbiAgICAgIGNsYXNzPVwiZHJvcGktY2Fyb3VzZWwtbmF2IGRyb3BpLWNhcm91c2VsLW5leHRcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFjaXJjdWxhciAmJiBpc0xhc3RQYWdlKClcIlxuICAgICAgKGNsaWNrKT1cIm5hdkZvcndhcmQoJGV2ZW50KVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTaWd1aWVudGUnXCJcbiAgICA+XG4gICAgICA8YXBwLWljb24gbmFtZT1cIkRyb3Bkb3duLVJpZ2h0XCIgd2lkdGg9XCIyNHB4XCIgaGVpZ2h0PVwiMjRweFwiIGNvbG9yPVwiR3JheS1HcmF5LTUwMFwiPjwvYXBwLWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDx1bCBjbGFzcz1cImRyb3BpLWNhcm91c2VsLWluZGljYXRvcnNcIiAqbmdJZj1cInNob3dJbmRpY2F0b3JzXCI+XG4gICAgPGxpXG4gICAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiB0b3RhbFBhZ2VzQXJyYXk7IGxldCBpID0gaW5kZXhcIlxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBjdXJyZW50UGFnZVwiXG4gICAgICAoY2xpY2spPVwib25Eb3RDbGljayhpKVwiXG4gICAgPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInSXIgYSBww6FnaW5hICcgKyAoaSArIDEpXCI+PC9idXR0b24+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuIl19
@@ -0,0 +1,31 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class DropiCheckboxComponent {
6
+ checked = false;
7
+ disabled = false;
8
+ onChange = new EventEmitter();
9
+ changeState() {
10
+ if (this.disabled)
11
+ return;
12
+ this.checked = !this.checked;
13
+ this.emitCheckStatus();
14
+ }
15
+ emitCheckStatus() {
16
+ this.onChange.emit(this.checked);
17
+ }
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiCheckboxComponent, isStandalone: true, selector: "app-dropi-checkbox", inputs: { checked: "checked", disabled: "disabled" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div class=\"container-dropi-checkbox\">\n <div id=\"check\" (click)=\"changeState()\">\n <div class=\"check\" [ngClass]=\"{ isCheck: checked, noCheck: !checked, disabled: disabled }\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n d=\"M20.5991 5.69251L9.08325 17.2075C9.00583 17.2852 8.91382 17.3469 8.8125 17.389C8.71118 17.4311 8.60255 17.4527 8.49283 17.4527C8.38312 17.4527 8.27449 17.4311 8.17317 17.389C8.07185 17.3469 7.97984 17.2852 7.90242 17.2075L3.44908 12.75C3.37166 12.6723 3.27965 12.6106 3.17833 12.5685C3.07701 12.5264 2.96838 12.5048 2.85867 12.5048C2.74896 12.5048 2.64032 12.5264 2.53901 12.5685C2.43769 12.6106 2.34568 12.6723 2.26825 12.75C2.19052 12.8274 2.12884 12.9194 2.08676 13.0208C2.04467 13.1221 2.02301 13.2307 2.02301 13.3404C2.02301 13.4501 2.04467 13.5588 2.08676 13.6601C2.12884 13.7614 2.19052 13.8534 2.26825 13.9308L6.72325 18.385C7.19321 18.8541 7.83008 19.1175 8.49408 19.1175C9.15809 19.1175 9.79496 18.8541 10.2649 18.385L21.7799 6.87251C21.8575 6.7951 21.9191 6.70314 21.9611 6.6019C22.0031 6.50065 22.0247 6.39212 22.0247 6.28251C22.0247 6.17289 22.0031 6.06436 21.9611 5.96312C21.9191 5.86188 21.8575 5.76992 21.7799 5.69251C21.7025 5.61478 21.6105 5.5531 21.5092 5.51101C21.4078 5.46893 21.2992 5.44727 21.1895 5.44727C21.0798 5.44727 20.9712 5.46893 20.8698 5.51101C20.7685 5.5531 20.6765 5.61478 20.5991 5.69251Z\"\n fill=\"#FFFFFF\"\n />\n </svg>\n </div>\n </div>\n</div>\n", styles: [".container-dropi-checkbox{display:inline-block!important}.check{width:20px;height:20px;border-radius:var(--Border-1);cursor:pointer;transition:background-color .3s ease-in-out,border-style .3s ease-in-out}.noCheck{border-style:solid;border-width:2px;border-color:var(--Gray-Gray-200);display:flex;justify-content:center;align-items:center}.disabled{background-color:var(--Gray-Gray-50);border-color:var(--Gray-Gray-100);cursor:not-allowed}.noCheck svg{visibility:hidden}.isCheck{display:flex;background-color:var(--Primary-Primary-500);justify-content:center;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiCheckboxComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'app-dropi-checkbox', standalone: true, imports: [CommonModule], template: "<div class=\"container-dropi-checkbox\">\n <div id=\"check\" (click)=\"changeState()\">\n <div class=\"check\" [ngClass]=\"{ isCheck: checked, noCheck: !checked, disabled: disabled }\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n d=\"M20.5991 5.69251L9.08325 17.2075C9.00583 17.2852 8.91382 17.3469 8.8125 17.389C8.71118 17.4311 8.60255 17.4527 8.49283 17.4527C8.38312 17.4527 8.27449 17.4311 8.17317 17.389C8.07185 17.3469 7.97984 17.2852 7.90242 17.2075L3.44908 12.75C3.37166 12.6723 3.27965 12.6106 3.17833 12.5685C3.07701 12.5264 2.96838 12.5048 2.85867 12.5048C2.74896 12.5048 2.64032 12.5264 2.53901 12.5685C2.43769 12.6106 2.34568 12.6723 2.26825 12.75C2.19052 12.8274 2.12884 12.9194 2.08676 13.0208C2.04467 13.1221 2.02301 13.2307 2.02301 13.3404C2.02301 13.4501 2.04467 13.5588 2.08676 13.6601C2.12884 13.7614 2.19052 13.8534 2.26825 13.9308L6.72325 18.385C7.19321 18.8541 7.83008 19.1175 8.49408 19.1175C9.15809 19.1175 9.79496 18.8541 10.2649 18.385L21.7799 6.87251C21.8575 6.7951 21.9191 6.70314 21.9611 6.6019C22.0031 6.50065 22.0247 6.39212 22.0247 6.28251C22.0247 6.17289 22.0031 6.06436 21.9611 5.96312C21.9191 5.86188 21.8575 5.76992 21.7799 5.69251C21.7025 5.61478 21.6105 5.5531 21.5092 5.51101C21.4078 5.46893 21.2992 5.44727 21.1895 5.44727C21.0798 5.44727 20.9712 5.46893 20.8698 5.51101C20.7685 5.5531 20.6765 5.61478 20.5991 5.69251Z\"\n fill=\"#FFFFFF\"\n />\n </svg>\n </div>\n </div>\n</div>\n", styles: [".container-dropi-checkbox{display:inline-block!important}.check{width:20px;height:20px;border-radius:var(--Border-1);cursor:pointer;transition:background-color .3s ease-in-out,border-style .3s ease-in-out}.noCheck{border-style:solid;border-width:2px;border-color:var(--Gray-Gray-200);display:flex;justify-content:center;align-items:center}.disabled{background-color:var(--Gray-Gray-50);border-color:var(--Gray-Gray-100);cursor:not-allowed}.noCheck svg{visibility:hidden}.isCheck{display:flex;background-color:var(--Primary-Primary-500);justify-content:center;align-items:center}\n"] }]
24
+ }], propDecorators: { checked: [{
25
+ type: Input
26
+ }], disabled: [{
27
+ type: Input
28
+ }], onChange: [{
29
+ type: Output
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2Ryb3BpLWNoZWNrYm94L2Ryb3BpLWNoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1jaGVja2JveC9kcm9waS1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBU3ZFLE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUN6QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBQ3pCLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRWpELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQzt3R0FiVSxzQkFBc0I7NEZBQXRCLHNCQUFzQix1S0NWbkMsZ2tEQWtCQSw2bkJEVlksWUFBWTs7NEZBRVgsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLG9CQUFvQixjQUdsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OEJBR2QsT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZHJvcGktY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGktY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9waS1jaGVja2JveC5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9waUNoZWNrYm94Q29tcG9uZW50IHtcbiAgQElucHV0KCkgY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY2hhbmdlU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgIHRoaXMuZW1pdENoZWNrU3RhdHVzKCk7XG4gIH1cblxuICBlbWl0Q2hlY2tTdGF0dXMoKSB7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMuY2hlY2tlZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZHJvcGktY2hlY2tib3hcIj5cbiAgPGRpdiBpZD1cImNoZWNrXCIgKGNsaWNrKT1cImNoYW5nZVN0YXRlKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hlY2tcIiBbbmdDbGFzc109XCJ7IGlzQ2hlY2s6IGNoZWNrZWQsIG5vQ2hlY2s6ICFjaGVja2VkLCBkaXNhYmxlZDogZGlzYWJsZWQgfVwiPlxuICAgICAgPHN2Z1xuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgd2lkdGg9XCIxMlwiXG4gICAgICAgIGhlaWdodD1cIjEyXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTIwLjU5OTEgNS42OTI1MUw5LjA4MzI1IDE3LjIwNzVDOS4wMDU4MyAxNy4yODUyIDguOTEzODIgMTcuMzQ2OSA4LjgxMjUgMTcuMzg5QzguNzExMTggMTcuNDMxMSA4LjYwMjU1IDE3LjQ1MjcgOC40OTI4MyAxNy40NTI3QzguMzgzMTIgMTcuNDUyNyA4LjI3NDQ5IDE3LjQzMTEgOC4xNzMxNyAxNy4zODlDOC4wNzE4NSAxNy4zNDY5IDcuOTc5ODQgMTcuMjg1MiA3LjkwMjQyIDE3LjIwNzVMMy40NDkwOCAxMi43NUMzLjM3MTY2IDEyLjY3MjMgMy4yNzk2NSAxMi42MTA2IDMuMTc4MzMgMTIuNTY4NUMzLjA3NzAxIDEyLjUyNjQgMi45NjgzOCAxMi41MDQ4IDIuODU4NjcgMTIuNTA0OEMyLjc0ODk2IDEyLjUwNDggMi42NDAzMiAxMi41MjY0IDIuNTM5MDEgMTIuNTY4NUMyLjQzNzY5IDEyLjYxMDYgMi4zNDU2OCAxMi42NzIzIDIuMjY4MjUgMTIuNzVDMi4xOTA1MiAxMi44Mjc0IDIuMTI4ODQgMTIuOTE5NCAyLjA4Njc2IDEzLjAyMDhDMi4wNDQ2NyAxMy4xMjIxIDIuMDIzMDEgMTMuMjMwNyAyLjAyMzAxIDEzLjM0MDRDMi4wMjMwMSAxMy40NTAxIDIuMDQ0NjcgMTMuNTU4OCAyLjA4Njc2IDEzLjY2MDFDMi4xMjg4NCAxMy43NjE0IDIuMTkwNTIgMTMuODUzNCAyLjI2ODI1IDEzLjkzMDhMNi43MjMyNSAxOC4zODVDNy4xOTMyMSAxOC44NTQxIDcuODMwMDggMTkuMTE3NSA4LjQ5NDA4IDE5LjExNzVDOS4xNTgwOSAxOS4xMTc1IDkuNzk0OTYgMTguODU0MSAxMC4yNjQ5IDE4LjM4NUwyMS43Nzk5IDYuODcyNTFDMjEuODU3NSA2Ljc5NTEgMjEuOTE5MSA2LjcwMzE0IDIxLjk2MTEgNi42MDE5QzIyLjAwMzEgNi41MDA2NSAyMi4wMjQ3IDYuMzkyMTIgMjIuMDI0NyA2LjI4MjUxQzIyLjAyNDcgNi4xNzI4OSAyMi4wMDMxIDYuMDY0MzYgMjEuOTYxMSA1Ljk2MzEyQzIxLjkxOTEgNS44NjE4OCAyMS44NTc1IDUuNzY5OTIgMjEuNzc5OSA1LjY5MjUxQzIxLjcwMjUgNS42MTQ3OCAyMS42MTA1IDUuNTUzMSAyMS41MDkyIDUuNTExMDFDMjEuNDA3OCA1LjQ2ODkzIDIxLjI5OTIgNS40NDcyNyAyMS4xODk1IDUuNDQ3MjdDMjEuMDc5OCA1LjQ0NzI3IDIwLjk3MTIgNS40Njg5MyAyMC44Njk4IDUuNTExMDFDMjAuNzY4NSA1LjU1MzEgMjAuNjc2NSA1LjYxNDc4IDIwLjU5OTEgNS42OTI1MVpcIlxuICAgICAgICAgIGZpbGw9XCIjRkZGRkZGXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,38 @@
1
+ import { Component, Input, CUSTOM_ELEMENTS_SCHEMA, } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class DropiChipsComponent {
6
+ value = [];
7
+ type = "default";
8
+ urlImg = "";
9
+ icon = "";
10
+ fontColor = "currentColor";
11
+ showIcon = false;
12
+ isVisible = true;
13
+ styleToApply = {};
14
+ constructor() { }
15
+ ngOnInit() { }
16
+ closeChips() {
17
+ this.isVisible = false;
18
+ }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiChipsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiChipsComponent, isStandalone: true, selector: "dropi-chips", inputs: { value: "value", type: "type", urlImg: "urlImg", icon: "icon", fontColor: "fontColor", showIcon: "showIcon" }, ngImport: i0, template: "<div class=\"container-chips\" *ngIf=\"isVisible\">\n <div class=\"chips Body-M-Regular\" [ngStyle]=\"styleToApply\">\n <img *ngIf=\"type == 'avatar'\" class=\"img-chips\" [src]=\"urlImg\" alt=\"\" />\n <app-icon class=\"file-icon\" *ngIf=\"type == 'icon' && icon\" [name]=\"icon\" width=\"16px\" height=\"16px\"\n [color]=\"fontColor\"></app-icon>\n <span class=\"chip-text\"><ng-content></ng-content></span>\n <app-icon (click)=\"closeChips()\" class=\"close-icon\" *ngIf=\"showIcon\" name=\"Cross-circle\" width=\"16px\" height=\"16px\"\n [color]=\"fontColor\"></app-icon>\n </div>\n</div>", styles: [".chips{padding:var(--Size-1) var(--Size-2);width:max-content;height:24px;display:flex;align-items:center;justify-content:center;background-color:var(--Gray-Gray-50);border-radius:var(--Border-2);border-style:solid;border-width:1px;border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-600);white-space:nowrap;overflow:hidden;max-width:100%}.container-chips{width:100%;display:flex}.container-chips app-icon{display:flex}.file-icon{margin-right:4px}.close-icon{margin-left:4px;cursor:pointer}.chips>p{margin:0}.img-chips{margin-right:4px;max-width:20px}.chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiChipsComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: "dropi-chips", standalone: true, imports: [CommonModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"container-chips\" *ngIf=\"isVisible\">\n <div class=\"chips Body-M-Regular\" [ngStyle]=\"styleToApply\">\n <img *ngIf=\"type == 'avatar'\" class=\"img-chips\" [src]=\"urlImg\" alt=\"\" />\n <app-icon class=\"file-icon\" *ngIf=\"type == 'icon' && icon\" [name]=\"icon\" width=\"16px\" height=\"16px\"\n [color]=\"fontColor\"></app-icon>\n <span class=\"chip-text\"><ng-content></ng-content></span>\n <app-icon (click)=\"closeChips()\" class=\"close-icon\" *ngIf=\"showIcon\" name=\"Cross-circle\" width=\"16px\" height=\"16px\"\n [color]=\"fontColor\"></app-icon>\n </div>\n</div>", styles: [".chips{padding:var(--Size-1) var(--Size-2);width:max-content;height:24px;display:flex;align-items:center;justify-content:center;background-color:var(--Gray-Gray-50);border-radius:var(--Border-2);border-style:solid;border-width:1px;border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-600);white-space:nowrap;overflow:hidden;max-width:100%}.container-chips{width:100%;display:flex}.container-chips app-icon{display:flex}.file-icon{margin-right:4px}.close-icon{margin-left:4px;cursor:pointer}.chips>p{margin:0}.img-chips{margin-right:4px;max-width:20px}.chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}\n"] }]
25
+ }], ctorParameters: () => [], propDecorators: { value: [{
26
+ type: Input
27
+ }], type: [{
28
+ type: Input
29
+ }], urlImg: [{
30
+ type: Input
31
+ }], icon: [{
32
+ type: Input
33
+ }], fontColor: [{
34
+ type: Input
35
+ }], showIcon: [{
36
+ type: Input
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2Ryb3BpLWNoaXBzL2Ryb3BpLWNoaXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1jaGlwcy9kcm9waS1jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFFTCxzQkFBc0IsR0FDdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFVL0MsTUFBTSxPQUFPLG1CQUFtQjtJQUNkLEtBQUssR0FBVSxFQUFFLENBQUM7SUFDbEIsSUFBSSxHQUFrQyxTQUFTLENBQUM7SUFDaEQsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUNwQixJQUFJLEdBQVcsRUFBRSxDQUFDO0lBQ2xCLFNBQVMsR0FBVyxjQUFjLENBQUM7SUFDbkMsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUVuQyxTQUFTLEdBQVksSUFBSSxDQUFDO0lBQzFCLFlBQVksR0FBUSxFQUFFLENBQUM7SUFFOUIsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQztJQUVaLFVBQVU7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO3dHQWpCVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiwrTENoQmhDLDBtQkFTTSw2ckJERU0sWUFBWTs7NEZBS1gsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsV0FDZCxDQUFDLHNCQUFzQixDQUFDO3dEQUtqQixLQUFLO3NCQUFwQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImRyb3BpLWNoaXBzXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHJvcGktY2hpcHMuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2Ryb3BpLWNoaXBzLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9waUNoaXBzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIHZhbHVlOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogXCJhdmF0YXJcIiB8IFwiaWNvblwiIHwgXCJkZWZhdWx0XCIgPSBcImRlZmF1bHRcIjtcbiAgQElucHV0KCkgcHVibGljIHVybEltZzogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgcHVibGljIGljb246IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb250Q29sb3I6IHN0cmluZyA9IFwiY3VycmVudENvbG9yXCI7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc1Zpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc3R5bGVUb0FwcGx5OiBhbnkgPSB7fTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHB1YmxpYyBjbG9zZUNoaXBzKCk6IHZvaWQge1xuICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItY2hpcHNcIiAqbmdJZj1cImlzVmlzaWJsZVwiPlxuICA8ZGl2IGNsYXNzPVwiY2hpcHMgQm9keS1NLVJlZ3VsYXJcIiBbbmdTdHlsZV09XCJzdHlsZVRvQXBwbHlcIj5cbiAgICA8aW1nICpuZ0lmPVwidHlwZSA9PSAnYXZhdGFyJ1wiIGNsYXNzPVwiaW1nLWNoaXBzXCIgW3NyY109XCJ1cmxJbWdcIiBhbHQ9XCJcIiAvPlxuICAgIDxhcHAtaWNvbiBjbGFzcz1cImZpbGUtaWNvblwiICpuZ0lmPVwidHlwZSA9PSAnaWNvbicgJiYgaWNvblwiIFtuYW1lXT1cImljb25cIiB3aWR0aD1cIjE2cHhcIiBoZWlnaHQ9XCIxNnB4XCJcbiAgICAgIFtjb2xvcl09XCJmb250Q29sb3JcIj48L2FwcC1pY29uPlxuICAgIDxzcGFuIGNsYXNzPVwiY2hpcC10ZXh0XCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbiAgICA8YXBwLWljb24gKGNsaWNrKT1cImNsb3NlQ2hpcHMoKVwiIGNsYXNzPVwiY2xvc2UtaWNvblwiICpuZ0lmPVwic2hvd0ljb25cIiBuYW1lPVwiQ3Jvc3MtY2lyY2xlXCIgd2lkdGg9XCIxNnB4XCIgaGVpZ2h0PVwiMTZweFwiXG4gICAgICBbY29sb3JdPVwiZm9udENvbG9yXCI+PC9hcHAtaWNvbj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=