@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1120 → 1.5.1217

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 (427) hide show
  1. package/assets/images/placeholders/credential.svg +69 -69
  2. package/assets/images/placeholders/user-icon-test.svg +9 -9
  3. package/assets/styles/main.min.css +1 -1
  4. package/assets/styles/main.min.css.map +1 -1
  5. package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +87 -0
  6. package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +159 -0
  7. package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +172 -0
  8. package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +49 -0
  9. package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +31 -0
  10. package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +35 -0
  11. package/esm2022/lib/components/bmb-advertisement-card/types.mjs +2 -0
  12. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +40 -0
  13. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +18 -0
  14. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +148 -0
  15. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +52 -0
  16. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +203 -0
  17. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +62 -0
  18. package/esm2022/lib/components/bmb-alert-center/types.mjs +2 -0
  19. package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +26 -0
  20. package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +26 -0
  21. package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +27 -0
  22. package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +42 -0
  23. package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +55 -0
  24. package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +30 -0
  25. package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +285 -0
  26. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +95 -0
  27. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +40 -0
  28. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +68 -0
  29. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +41 -0
  30. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +95 -0
  31. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +45 -0
  32. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +54 -0
  33. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +24 -0
  34. package/esm2022/lib/components/bmb-calendar/types.mjs +2 -0
  35. package/esm2022/lib/components/bmb-calendar/utils.mjs +96 -0
  36. package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +159 -0
  37. package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +76 -0
  38. package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +80 -0
  39. package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +199 -0
  40. package/esm2022/lib/components/bmb-chat-bar/bot_list.mjs +57 -0
  41. package/esm2022/lib/components/bmb-chat-bar/types.mjs +2 -0
  42. package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +56 -0
  43. package/esm2022/lib/components/bmb-chat-bubbles/types.mjs +2 -0
  44. package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +46 -0
  45. package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +80 -0
  46. package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +36 -0
  47. package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +27 -0
  48. package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +96 -0
  49. package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +69 -0
  50. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +206 -0
  51. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +144 -0
  52. package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +54 -0
  53. package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +25 -0
  54. package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +34 -0
  55. package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +65 -0
  56. package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +177 -0
  57. package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +31 -0
  58. package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +175 -0
  59. package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +76 -0
  60. package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +80 -0
  61. package/esm2022/lib/components/bmb-fab/bmb-fab-.interface.mjs +9 -0
  62. package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +37 -0
  63. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +166 -0
  64. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.interface.mjs +2 -0
  65. package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +36 -0
  66. package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +159 -0
  67. package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +29 -0
  68. package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +22 -0
  69. package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +178 -0
  70. package/esm2022/lib/components/bmb-grades/types.mjs +2 -0
  71. package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +55 -0
  72. package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +49 -0
  73. package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +86 -0
  74. package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +59 -0
  75. package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +76 -0
  76. package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +41 -0
  77. package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +39 -0
  78. package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +20 -0
  79. package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +50 -0
  80. package/esm2022/lib/components/bmb-icon/types.mjs +2 -0
  81. package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +23 -0
  82. package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +24 -0
  83. package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +19 -0
  84. package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +21 -0
  85. package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +33 -0
  86. package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +77 -0
  87. package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +146 -0
  88. package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +178 -0
  89. package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +85 -0
  90. package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +219 -0
  91. package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +191 -0
  92. package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +54 -0
  93. package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +34 -0
  94. package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +28 -0
  95. package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +23 -0
  96. package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +83 -0
  97. package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +60 -0
  98. package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +55 -0
  99. package/esm2022/lib/components/bmb-list-group/types.mjs +2 -0
  100. package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +83 -0
  101. package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +77 -0
  102. package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +55 -0
  103. package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +66 -0
  104. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +40 -0
  105. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +20 -0
  106. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +33 -0
  107. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +91 -0
  108. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.mjs +88 -0
  109. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.mjs +57 -0
  110. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.mjs +99 -0
  111. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.mjs +39 -0
  112. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +44 -0
  113. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +52 -0
  114. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +70 -0
  115. package/esm2022/lib/components/bmb-login-onboarding/types.mjs +2 -0
  116. package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +43 -0
  117. package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +64 -0
  118. package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +14 -0
  119. package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +88 -0
  120. package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +139 -0
  121. package/esm2022/lib/components/bmb-modal/bmb-modal.interface.mjs +2 -0
  122. package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +121 -0
  123. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +15 -0
  124. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +59 -0
  125. package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +30 -0
  126. package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +43 -0
  127. package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +86 -0
  128. package/esm2022/lib/components/bmb-notification-counter/bmb-notification-counter.component.mjs +23 -0
  129. package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +22 -0
  130. package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +52 -0
  131. package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +58 -0
  132. package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +120 -0
  133. package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +153 -0
  134. package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +39 -0
  135. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +196 -0
  136. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.mjs +2 -0
  137. package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +88 -0
  138. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +75 -0
  139. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +24 -0
  140. package/esm2022/lib/components/bmb-push-notification/types.mjs +2 -0
  141. package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +78 -0
  142. package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +122 -0
  143. package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +82 -0
  144. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +97 -0
  145. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.interface.mjs +2 -0
  146. package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +64 -0
  147. package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +16 -0
  148. package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +64 -0
  149. package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +32 -0
  150. package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +55 -0
  151. package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +53 -0
  152. package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +27 -0
  153. package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +88 -0
  154. package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +541 -0
  155. package/esm2022/lib/components/bmb-tables/bmb-tables.interface.mjs +2 -0
  156. package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +132 -0
  157. package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +65 -0
  158. package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +135 -0
  159. package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +43 -0
  160. package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +65 -0
  161. package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +30 -0
  162. package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +74 -0
  163. package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +13 -0
  164. package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +236 -0
  165. package/esm2022/lib/components/bmb-timestream/types.mjs +2 -0
  166. package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +139 -0
  167. package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +61 -0
  168. package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +47 -0
  169. package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +26 -0
  170. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +31 -0
  171. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +94 -0
  172. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +86 -0
  173. package/esm2022/lib/components/bmb-top-bar/types.mjs +2 -0
  174. package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +139 -0
  175. package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +44 -0
  176. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +19 -0
  177. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +71 -0
  178. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +61 -0
  179. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +28 -0
  180. package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +23 -0
  181. package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +85 -0
  182. package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +128 -0
  183. package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +51 -0
  184. package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +88 -0
  185. package/esm2022/lib/directives/bmb-button/button.directive.mjs +84 -0
  186. package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +29 -0
  187. package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +51 -0
  188. package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +36 -0
  189. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +34 -0
  190. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +37 -0
  191. package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +89 -0
  192. package/esm2022/lib/directives/utils/clickoutside.directive.mjs +41 -0
  193. package/esm2022/lib/ds-ng.component.mjs +11 -0
  194. package/esm2022/lib/ds-ng.service.mjs +14 -0
  195. package/esm2022/lib/services/calendar.service.mjs +51 -0
  196. package/esm2022/lib/services/index.mjs +3 -0
  197. package/esm2022/lib/services/native-modal.service.mjs +60 -0
  198. package/esm2022/lib/services/notification.service.mjs +84 -0
  199. package/esm2022/lib/services/projection.service.mjs +49 -0
  200. package/esm2022/lib/services/tabs.service.mjs +30 -0
  201. package/esm2022/lib/services/theme.service.mjs +30 -0
  202. package/esm2022/lib/services/toast.service.mjs +24 -0
  203. package/esm2022/lib/services/user/profile.service.mjs +26 -0
  204. package/esm2022/lib/types/colors.mjs +2 -0
  205. package/esm2022/lib/types/index.mjs +11 -0
  206. package/esm2022/lib/utils/countryCodes.mjs +1089 -0
  207. package/esm2022/lib/utils/currencyFormat.mjs +7 -0
  208. package/esm2022/lib/utils/dropdown.mjs +85 -0
  209. package/esm2022/lib/utils/formControl.mjs +25 -0
  210. package/esm2022/lib/utils/timestreamFilters.mjs +32 -0
  211. package/esm2022/lib/utils/utils.mjs +71 -0
  212. package/esm2022/public-api.mjs +152 -0
  213. package/esm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +5 -0
  214. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +2714 -2377
  215. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
  216. package/index.d.ts +5 -3744
  217. package/lib/components/bmb-academic-progress/bmb-academic-progress.component.d.ts +21 -0
  218. package/lib/components/bmb-accordion/bmb-accordion.component.d.ts +37 -0
  219. package/lib/components/bmb-account-statement/bmb-account-statement.component.d.ts +56 -0
  220. package/lib/components/bmb-action-icon/bmb-action-icon.component.d.ts +23 -0
  221. package/lib/components/bmb-action-menu/bmb-action-menu.component.d.ts +17 -0
  222. package/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.d.ts +13 -0
  223. package/lib/components/bmb-advertisement-card/types.d.ts +21 -0
  224. package/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.d.ts +10 -0
  225. package/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.d.ts +7 -0
  226. package/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.d.ts +31 -0
  227. package/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.d.ts +20 -0
  228. package/lib/components/bmb-alert-center/bmb-alert-center.component.d.ts +46 -0
  229. package/lib/components/bmb-alert-center/bmb-alert-center.service.d.ts +20 -0
  230. package/lib/components/bmb-alert-center/types.d.ts +64 -0
  231. package/lib/components/bmb-badge/bmb-badge.component.d.ts +11 -0
  232. package/lib/components/bmb-balance-overview/bmb-balance-overview.component.d.ts +15 -0
  233. package/lib/components/bmb-bookmark/bmb-bookmark.component.d.ts +8 -0
  234. package/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.d.ts +25 -0
  235. package/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.d.ts +27 -0
  236. package/lib/components/bmb-button-icon/bmb-button-icon.component.d.ts +16 -0
  237. package/lib/components/bmb-calendar/bmb-calendar.component.d.ts +67 -0
  238. package/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.d.ts +20 -0
  239. package/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.d.ts +13 -0
  240. package/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.d.ts +16 -0
  241. package/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.d.ts +18 -0
  242. package/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.d.ts +31 -0
  243. package/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.d.ts +18 -0
  244. package/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.d.ts +23 -0
  245. package/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.d.ts +9 -0
  246. package/lib/components/bmb-calendar/types.d.ts +43 -0
  247. package/lib/components/bmb-calendar/utils.d.ts +12 -0
  248. package/lib/components/bmb-card/bmb-card.component.d.ts +43 -0
  249. package/lib/components/bmb-card-button/bmb-card-button.component.d.ts +50 -0
  250. package/lib/components/bmb-carousel/bmb-carousel.component.d.ts +20 -0
  251. package/lib/components/bmb-chat-bar/bmb-chat-bar.component.d.ts +63 -0
  252. package/lib/components/bmb-chat-bar/bot_list.d.ts +6 -0
  253. package/lib/components/bmb-chat-bar/types.d.ts +9 -0
  254. package/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.d.ts +23 -0
  255. package/lib/components/bmb-chat-bubbles/types.d.ts +23 -0
  256. package/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.d.ts +21 -0
  257. package/lib/components/bmb-checkbox/bmb-checkbox.component.d.ts +33 -0
  258. package/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.d.ts +17 -0
  259. package/lib/components/bmb-container/bmb-container.component.d.ts +9 -0
  260. package/lib/components/bmb-container-button/bmb-container-button.component.d.ts +39 -0
  261. package/lib/components/bmb-date-range/bmb-date-range.component.d.ts +35 -0
  262. package/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.d.ts +39 -0
  263. package/lib/components/bmb-datepicker/bmb-datepicker.component.d.ts +52 -0
  264. package/lib/components/bmb-digital-id/bmb-digital-id.component.d.ts +26 -0
  265. package/lib/components/bmb-divider/bmb-divider.component.d.ts +8 -0
  266. package/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.d.ts +17 -0
  267. package/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.d.ts +26 -0
  268. package/lib/components/bmb-dropdown/bmb-dropdown.component.d.ts +62 -0
  269. package/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.d.ts +13 -0
  270. package/lib/components/bmb-dropzone/bmb-dropzone.component.d.ts +49 -0
  271. package/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.d.ts +45 -0
  272. package/lib/components/bmb-external-link/bmb-external-link.component.d.ts +25 -0
  273. package/lib/components/bmb-fab/bmb-fab-.interface.d.ts +10 -0
  274. package/lib/components/bmb-fab/bmb-fab.component.d.ts +15 -0
  275. package/lib/components/bmb-filter-card/bmb-filter-card.component.d.ts +34 -0
  276. package/lib/components/bmb-filter-card/bmb-filter-card.interface.d.ts +12 -0
  277. package/lib/components/bmb-focus-element/bmb-focus-element.component.d.ts +14 -0
  278. package/lib/components/bmb-form-validator/bmb-form-validator.component.d.ts +34 -0
  279. package/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.d.ts +13 -0
  280. package/lib/components/bmb-grade-value/bmb-grade-value.component.d.ts +11 -0
  281. package/lib/components/bmb-grades/bmb-grades.component.d.ts +43 -0
  282. package/lib/components/bmb-grades/types.d.ts +25 -0
  283. package/lib/components/bmb-header-mitec/bmb-header-mitec.component.d.ts +17 -0
  284. package/lib/components/bmb-header-mobile/bmb-header-mobile.component.d.ts +23 -0
  285. package/lib/components/bmb-hito-card/bmb-hito-card.component.d.ts +30 -0
  286. package/lib/components/bmb-hito-list/bmb-hito-list.component.d.ts +24 -0
  287. package/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.d.ts +28 -0
  288. package/lib/components/bmb-home-card/bmb-home-card.component.d.ts +27 -0
  289. package/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.d.ts +25 -0
  290. package/lib/components/bmb-home-section/bmb-home-section.component.d.ts +9 -0
  291. package/lib/components/bmb-icon/bmb-icon.component.d.ts +23 -0
  292. package/lib/components/bmb-icon/types.d.ts +1 -0
  293. package/lib/components/bmb-icon-item/bmb-icon-item.component.d.ts +13 -0
  294. package/lib/components/bmb-icon-status/bmb-icon-status.component.d.ts +10 -0
  295. package/lib/components/bmb-iframe/bmb-iframe.component.d.ts +11 -0
  296. package/lib/components/bmb-iframe/bmb-iframe.pipe.d.ts +10 -0
  297. package/lib/components/bmb-image/bmb-image.component.d.ts +19 -0
  298. package/lib/components/bmb-inner-header/bmb-inner-header.component.d.ts +29 -0
  299. package/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.d.ts +52 -0
  300. package/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.d.ts +45 -0
  301. package/lib/components/bmb-input/bmb-input.component.d.ts +68 -0
  302. package/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.d.ts +52 -0
  303. package/lib/components/bmb-input-tags/bmb-input-tags.component.d.ts +55 -0
  304. package/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.d.ts +23 -0
  305. package/lib/components/bmb-invoice/bmb-invoice.component.d.ts +31 -0
  306. package/lib/components/bmb-item/bmb-item.component.d.ts +16 -0
  307. package/lib/components/bmb-legend/bmb-legend.component.d.ts +9 -0
  308. package/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.d.ts +33 -0
  309. package/lib/components/bmb-list-group/bmb-list-group.component.d.ts +27 -0
  310. package/lib/components/bmb-list-group/bmb-list-group.service.d.ts +18 -0
  311. package/lib/components/bmb-list-group/types.d.ts +1 -0
  312. package/lib/components/bmb-list-items/bmb-list-items.component.d.ts +33 -0
  313. package/lib/components/bmb-loader/bmb-loader.component.d.ts +31 -0
  314. package/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.d.ts +27 -0
  315. package/lib/components/bmb-login/bmb-login.component.d.ts +33 -0
  316. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.d.ts +14 -0
  317. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.d.ts +8 -0
  318. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.d.ts +12 -0
  319. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.d.ts +19 -0
  320. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.d.ts +17 -0
  321. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.d.ts +11 -0
  322. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.d.ts +19 -0
  323. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.d.ts +19 -0
  324. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.d.ts +15 -0
  325. package/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.d.ts +20 -0
  326. package/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.d.ts +25 -0
  327. package/lib/components/bmb-login-onboarding/types.d.ts +15 -0
  328. package/lib/components/bmb-logo/bmb-logo.component.d.ts +19 -0
  329. package/lib/components/bmb-media-card/bmb-media-card.component.d.ts +34 -0
  330. package/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.d.ts +6 -0
  331. package/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.d.ts +47 -0
  332. package/lib/components/bmb-modal/bmb-modal.component.d.ts +31 -0
  333. package/lib/components/bmb-modal/bmb-modal.interface.d.ts +44 -0
  334. package/lib/components/bmb-modal/bmb-native-modal.component.d.ts +45 -0
  335. package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.d.ts +7 -0
  336. package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.d.ts +15 -0
  337. package/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.d.ts +13 -0
  338. package/lib/components/bmb-notice-card/bmb-notice-card.component.d.ts +21 -0
  339. package/lib/components/bmb-notification-card/bmb-notification-card.component.d.ts +27 -0
  340. package/lib/components/bmb-notification-counter/bmb-notification-counter.component.d.ts +9 -0
  341. package/lib/components/bmb-overlay/bmb-overlay.component.d.ts +9 -0
  342. package/lib/components/bmb-paginator/bmb-paginator.component.d.ts +14 -0
  343. package/lib/components/bmb-portal/bmb-portal.component.d.ts +23 -0
  344. package/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.d.ts +34 -0
  345. package/lib/components/bmb-profile/bmb-profile.component.d.ts +34 -0
  346. package/lib/components/bmb-progress-bar/bmb-progress-bar.component.d.ts +19 -0
  347. package/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.d.ts +51 -0
  348. package/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.d.ts +12 -0
  349. package/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.d.ts +23 -0
  350. package/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.d.ts +18 -0
  351. package/lib/components/bmb-push-notification/bmb-push-notification.component.d.ts +11 -0
  352. package/lib/components/bmb-push-notification/types.d.ts +46 -0
  353. package/lib/components/bmb-radial/bmb-radial.component.d.ts +33 -0
  354. package/lib/components/bmb-search-input/bmb-search-input.component.d.ts +33 -0
  355. package/lib/components/bmb-server-table/bmb-server-table.component.d.ts +26 -0
  356. package/lib/components/bmb-sidebar/bmb-sidebar.component.d.ts +27 -0
  357. package/lib/components/bmb-sidebar/bmb-sidebar.interface.d.ts +10 -0
  358. package/lib/components/bmb-simple-header/bmb-simple-header.component.d.ts +10 -0
  359. package/lib/components/bmb-skeleton/bmb-skeleton.component.d.ts +7 -0
  360. package/lib/components/bmb-sounds-card/bmb-sounds-card.component.d.ts +24 -0
  361. package/lib/components/bmb-stat-counter/bmb-stat-counter.component.d.ts +11 -0
  362. package/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.d.ts +30 -0
  363. package/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.d.ts +23 -0
  364. package/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.d.ts +10 -0
  365. package/lib/components/bmb-switch/bmb-switch.component.d.ts +25 -0
  366. package/lib/components/bmb-tables/bmb-tables.component.d.ts +104 -0
  367. package/lib/components/bmb-tables/bmb-tables.interface.d.ts +21 -0
  368. package/lib/components/bmb-tabs/bmb-tabs.component.d.ts +41 -0
  369. package/lib/components/bmb-tags/bmb-tags.component.d.ts +25 -0
  370. package/lib/components/bmb-text-editor/bmb-text-editor.component.d.ts +34 -0
  371. package/lib/components/bmb-text-link/bmb-text-link.component.d.ts +17 -0
  372. package/lib/components/bmb-theme/bmb-theme.component.d.ts +19 -0
  373. package/lib/components/bmb-three-cols/bmb-three-cols.component.d.ts +15 -0
  374. package/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.d.ts +25 -0
  375. package/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.d.ts +5 -0
  376. package/lib/components/bmb-timestream/bmb-timestream.component.d.ts +67 -0
  377. package/lib/components/bmb-timestream/types.d.ts +54 -0
  378. package/lib/components/bmb-timestream-card/bmb-timestream-card.component.d.ts +29 -0
  379. package/lib/components/bmb-title-content/bmb-title-content.component.d.ts +26 -0
  380. package/lib/components/bmb-toast/bmb-toast.component.d.ts +16 -0
  381. package/lib/components/bmb-tooltip/bmb-tooltip.component.d.ts +15 -0
  382. package/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.d.ts +7 -0
  383. package/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.d.ts +32 -0
  384. package/lib/components/bmb-top-bar/bmb-top-bar.component.d.ts +47 -0
  385. package/lib/components/bmb-top-bar/types.d.ts +6 -0
  386. package/lib/components/bmb-totp/bmb-totp.component.d.ts +31 -0
  387. package/lib/components/bmb-user-image/bmb-user-image.component.d.ts +19 -0
  388. package/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.d.ts +10 -0
  389. package/lib/components/bmb-user-profile/bmb-user-profile.component.d.ts +19 -0
  390. package/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.d.ts +26 -0
  391. package/lib/components/bmb-user-summary/bmb-user-summary.component.d.ts +14 -0
  392. package/lib/components/bmb-value-counter/bmb-value-counter.component.d.ts +8 -0
  393. package/lib/components/bmb-web-templates/bmb-web-templates.component.d.ts +42 -0
  394. package/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.d.ts +40 -0
  395. package/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.d.ts +16 -0
  396. package/lib/directives/bmb-accordion/bmb-accordion-control.directive.d.ts +22 -0
  397. package/lib/directives/bmb-button/button.directive.d.ts +29 -0
  398. package/lib/directives/bmb-button-group/bmb-button-group.directive.d.ts +10 -0
  399. package/lib/directives/bmb-layout/bmb-layout-item.directive.d.ts +20 -0
  400. package/lib/directives/bmb-layout/bmb-layout.directive.d.ts +15 -0
  401. package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.d.ts +9 -0
  402. package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.d.ts +14 -0
  403. package/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.d.ts +29 -0
  404. package/lib/directives/utils/clickoutside.directive.d.ts +15 -0
  405. package/lib/ds-ng.component.d.ts +5 -0
  406. package/lib/ds-ng.service.d.ts +6 -0
  407. package/lib/services/calendar.service.d.ts +15 -0
  408. package/lib/services/index.d.ts +2 -0
  409. package/lib/services/native-modal.service.d.ts +18 -0
  410. package/lib/services/notification.service.d.ts +20 -0
  411. package/lib/services/projection.service.d.ts +31 -0
  412. package/lib/services/tabs.service.d.ts +13 -0
  413. package/lib/services/theme.service.d.ts +11 -0
  414. package/lib/services/toast.service.d.ts +9 -0
  415. package/lib/services/user/profile.service.d.ts +9 -0
  416. package/lib/types/colors.d.ts +2 -0
  417. package/lib/types/index.d.ts +128 -0
  418. package/lib/utils/countryCodes.d.ts +7 -0
  419. package/lib/utils/currencyFormat.d.ts +1 -0
  420. package/lib/utils/dropdown.d.ts +6 -0
  421. package/lib/utils/formControl.d.ts +7 -0
  422. package/lib/utils/timestreamFilters.d.ts +2 -0
  423. package/lib/utils/utils.d.ts +13 -0
  424. package/package.json +6 -4
  425. package/public-api.d.ts +143 -0
  426. package/assets/svg/info_fill.svg +0 -1
  427. package/assets/svg/info_fill_primary.svg +0 -1
@@ -0,0 +1,199 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input, model, output, signal, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { defaultBotList } from './bot_list';
3
+ import { BmbIconComponent } from '../bmb-icon/bmb-icon.component';
4
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
5
+ import { CommonModule } from '@angular/common';
6
+ import { BmbDotPaginatorComponent } from '../bmb-dot-paginator/bmb-dot-paginator.component';
7
+ import { BmbActionIconComponent } from '../bmb-action-icon/bmb-action-icon.component';
8
+ import { ClickOutsideDirective } from '../../directives/utils/clickoutside.directive';
9
+ import { BmbActionMenuComponent } from '../bmb-action-menu/bmb-action-menu.component';
10
+ import { BmbItemComponent } from '../bmb-item/bmb-item.component';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../../services/projection.service";
13
+ import * as i2 from "../../services/native-modal.service";
14
+ import * as i3 from "@angular/forms";
15
+ import * as i4 from "@angular/common";
16
+ export { defaultBotList, defaultActionList } from './bot_list';
17
+ export class BmbChatBarComponent {
18
+ constructor(contentProjected, nativeModalService) {
19
+ this.contentProjected = contentProjected;
20
+ this.nativeModalService = nativeModalService;
21
+ this.placeholder = input('');
22
+ this.botList = input(defaultBotList);
23
+ this.actionsList = input([]);
24
+ this.showEmoji = input(false);
25
+ this.enableMicInput = input(false);
26
+ this.currentBot = model();
27
+ this.isLoading = model(false);
28
+ this.onSendMessage = output();
29
+ this.onSendFiles = output();
30
+ this.onRecord = output();
31
+ this.onEmoji = output();
32
+ this.files = [];
33
+ this.control = new FormControl();
34
+ this.isDialogOpen = signal(false);
35
+ this.defaultPlaceholder = computed(() => this.placeholder() ?? '¿Qué deseas encontrar hoy?');
36
+ this.showMicControls = false;
37
+ this.onDragFiles = false;
38
+ this.arrayThumbnail = [];
39
+ this.botChunks = computed(() => {
40
+ const chunks = [];
41
+ for (let i = 0; i < (this.botList()?.length ?? 0); i += 6) {
42
+ chunks.push(this.botList()?.slice(i, i + 6) ?? []);
43
+ }
44
+ return chunks;
45
+ });
46
+ this.totalDots = computed(() => this.botChunks()?.length ?? 0);
47
+ this.activeDot = 0;
48
+ this.actionListPagination = [];
49
+ this.modalID = signal(null);
50
+ this.windowWidth = window.innerWidth;
51
+ this.windowHeight = window.innerHeight;
52
+ }
53
+ ngOnInit() {
54
+ this.currentBot.update((bot = {
55
+ name: 'TecBot',
56
+ icon: '/assets/images/bot-icons/bot_tecStandar.svg',
57
+ }) => bot);
58
+ }
59
+ handleSend() {
60
+ this.onSendMessage.emit(this.control.value);
61
+ if (this.files.length > 0) {
62
+ this.onSendFiles.emit(this.files);
63
+ }
64
+ this.isLoading.update((value) => !value);
65
+ this.control.reset();
66
+ this.files = [];
67
+ this.textareaRef.nativeElement.style.height = 'calc(1lh + 2rem)';
68
+ }
69
+ handleChangeBot(bot) {
70
+ this.isDialogOpen.set(false);
71
+ this.currentBot.set(bot);
72
+ }
73
+ handleMobileChangeBot(bot) {
74
+ this.nativeModalService.closeModal(this.modalID());
75
+ this.modalID.set(null);
76
+ this.currentBot.set(bot);
77
+ }
78
+ handleDialog() {
79
+ if ((this.botList()?.length ?? 0) > 0) {
80
+ if (window.innerWidth > 1000) {
81
+ this.isDialogOpen.update((value) => !value);
82
+ }
83
+ else {
84
+ const data = {
85
+ content: this.mobileBotSelectorTemplate,
86
+ size: 'small',
87
+ title: 'Selecciona un bot',
88
+ };
89
+ this.modalID.set(this.nativeModalService.openModal(data));
90
+ }
91
+ }
92
+ }
93
+ handleMic() {
94
+ this.showMicControls = !this.showMicControls;
95
+ this.onRecord.emit(true);
96
+ }
97
+ handleStopMic() {
98
+ this.showMicControls = !this.showMicControls;
99
+ this.onRecord.emit(false);
100
+ }
101
+ handleAddDialog(event) {
102
+ const data = {
103
+ content: this.chatBarTemplate,
104
+ targetRef: event.target,
105
+ };
106
+ this.contentProjected.openContent(data);
107
+ }
108
+ onDrop(event) {
109
+ event.preventDefault();
110
+ const droppedFiles = event.dataTransfer.files;
111
+ for (let i = 0; i < droppedFiles.length; i++) {
112
+ if (droppedFiles[i].type.startsWith('image/')) {
113
+ this.createImageThumbnail(droppedFiles[i]);
114
+ }
115
+ else {
116
+ this.arrayThumbnail?.push('');
117
+ }
118
+ this.files.push(droppedFiles[i]);
119
+ }
120
+ this.onDragFiles = false;
121
+ }
122
+ onFileSelect(event) {
123
+ const selectedFiles = event.target.files;
124
+ for (let i = 0; i < selectedFiles.length; i++) {
125
+ if (selectedFiles[i].type.startsWith('image/')) {
126
+ this.createImageThumbnail(selectedFiles[i]);
127
+ }
128
+ else {
129
+ this.arrayThumbnail?.push('');
130
+ }
131
+ this.files.push(selectedFiles[i]);
132
+ }
133
+ this.contentProjected.closeContent();
134
+ }
135
+ onDragOver(event) {
136
+ event.preventDefault();
137
+ this.onDragFiles = true;
138
+ }
139
+ onDragLeave(event) {
140
+ event.preventDefault();
141
+ this.onDragFiles = false;
142
+ }
143
+ createImageThumbnail(file) {
144
+ const reader = new FileReader();
145
+ this.arrayThumbnail?.push(URL.createObjectURL(file));
146
+ reader.readAsDataURL(file);
147
+ }
148
+ deleteFile(index) {
149
+ this.files.splice(index, 1);
150
+ this.arrayThumbnail.splice(index, 1);
151
+ }
152
+ handleDotPress(index) {
153
+ this.activeDot = index;
154
+ }
155
+ handleEmoji() {
156
+ this.onEmoji.emit(true);
157
+ }
158
+ handleRecord() {
159
+ this.onRecord.emit(true);
160
+ }
161
+ handleClickOutside() {
162
+ this.isDialogOpen.set(false);
163
+ }
164
+ handleKeyDown(event) {
165
+ if (event.key === 'Enter' && !event.shiftKey) {
166
+ event.preventDefault();
167
+ this.handleSend();
168
+ }
169
+ }
170
+ autoResize() {
171
+ const textarea = this.textareaRef.nativeElement;
172
+ textarea.style.height = textarea.scrollHeight + 'px';
173
+ }
174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbChatBarComponent, deps: [{ token: i1.BmbProjectionContentService }, { token: i2.BmbNativeModalService }], target: i0.ɵɵFactoryTarget.Component }); }
175
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbChatBarComponent, isStandalone: true, selector: "bmb-chat-bar", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, botList: { classPropertyName: "botList", publicName: "botList", isSignal: true, isRequired: false, transformFunction: null }, actionsList: { classPropertyName: "actionsList", publicName: "actionsList", isSignal: true, isRequired: false, transformFunction: null }, showEmoji: { classPropertyName: "showEmoji", publicName: "showEmoji", isSignal: true, isRequired: false, transformFunction: null }, enableMicInput: { classPropertyName: "enableMicInput", publicName: "enableMicInput", isSignal: true, isRequired: false, transformFunction: null }, currentBot: { classPropertyName: "currentBot", publicName: "currentBot", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { currentBot: "currentBotChange", isLoading: "isLoadingChange", onSendMessage: "onSendMessage", onSendFiles: "onSendFiles", onRecord: "onRecord", onEmoji: "onEmoji" }, viewQueries: [{ propertyName: "textareaRef", first: true, predicate: ["textareaRef"], descendants: true }, { propertyName: "chatBarTemplate", first: true, predicate: ["chatBarTemplate"], descendants: true }, { propertyName: "mobileBotSelectorTemplate", first: true, predicate: ["mobileBotSelectorTemplate"], descendants: true }], ngImport: i0, template: "<section\n class=\"bmb_chat-bar\"\n clickOutside\n (clickOutside)=\"handleClickOutside()\"\n>\n <div\n class=\"bmb_chat-bar-container\"\n (drop)=\"onDrop($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [ngClass]=\"{\n 'bmb_chat-bar-container-files': files.length > 0,\n 'bmb_chat-bar-drag': onDragFiles\n }\"\n tabindex=\"0\"\n >\n <div\n class=\"bmb_chat-bar-files-list\"\n [ngClass]=\"{ 'bmb_chat-bar-files-list-active': files.length > 0 }\"\n >\n @for (file of files; track $index) {\n <div class=\"bmb_chat-bar-files-list-option\">\n <bmb-icon\n class=\"bmb_chat-bar-files-list-option-icon\"\n icon=\"upload_file\"\n [size]=\"24\"\n />\n <span class=\"bmb_chat-bar-files-list-option-text\">\n {{ file.name }}\n </span>\n <bmb-action-icon\n class=\"bmb_chat-bar-files-list-option-delete\"\n icon=\"close\"\n [iconSize]=\"24\"\n (buttonClick)=\"deleteFile($index)\"\n />\n </div>\n }\n </div>\n <div class=\"bmb_chat-bar-main\" #containerRef>\n <bmb-action-icon\n class=\"bmb_chat-bar-bot\"\n [icon]=\"currentBot()?.icon!\"\n [alt]=\"currentBot()?.name!\"\n [iconSize]=\"40\"\n (buttonClick)=\"handleDialog()\"\n />\n @if (!onDragFiles) {\n <textarea\n rows=\"2\"\n (input)=\"autoResize()\"\n #textareaRef\n id=\"bmbChatBarBot\"\n name=\"bmbChatBarBot\"\n class=\"bmb_chat-bar-input\"\n [placeholder]=\"defaultPlaceholder()\"\n [formControl]=\"control\"\n (keydown)=\"handleKeyDown($event)\"\n autocomplete=\"off\"\n ></textarea>\n @if (showMicControls) {\n <bmb-action-icon\n class=\"bmb_chat-bar-pause\"\n icon=\"pause\"\n [iconSize]=\"40\"\n (buttonClick)=\"handleStopMic()\"\n />\n <bmb-action-icon\n class=\"bmb_chat-bar-record bmb_chat-bar-record-animated\"\n icon=\"graphic_eq\"\n [iconSize]=\"40\"\n (buttonClick)=\"handleRecord()\"\n />\n } @else {\n @if (showEmoji()) {\n <bmb-action-icon\n class=\"bmb_chat-bar-emoji\"\n icon=\"mood\"\n [iconSize]=\"32\"\n (buttonClick)=\"handleEmoji()\"\n />\n }\n @if (actionsList().length) {\n <bmb-action-icon\n class=\"bmb_chat-bar-add\"\n icon=\"add\"\n [iconSize]=\"32\"\n (buttonClick)=\"handleAddDialog($event)\"\n />\n }\n @if (enableMicInput()) {\n <bmb-action-icon\n class=\"bmb_chat-bar-mic\"\n icon=\"mic\"\n [iconSize]=\"32\"\n (buttonClick)=\"handleMic()\"\n />\n }\n }\n <bmb-action-icon\n class=\"bmb_chat-bar-send\"\n [ngClass]=\"{ 'bmb_chat-bar-send-animated': isLoading() }\"\n [icon]=\"isLoading() ? 'progress_activity' : 'send'\"\n [iconSize]=\"32\"\n [disabled]=\"\n (this.files.length == 0 && this.control.value == null) ||\n this.isLoading()!\n \"\n (buttonClick)=\"handleSend()\"\n />\n } @else {\n <div class=\"bmb_chat-bar-container-drag\">\n <p class=\"bmb_chat-bar-container-drag-text\">\n Arrastra tus archivos aqu\u00ED\n </p>\n </div>\n }\n </div>\n </div>\n <div\n class=\"bmb_chat-bar-dialog\"\n [ngClass]=\"{ 'bmb_chat-bar-dialog-active': isDialogOpen() }\"\n [ngStyle]=\"{ bottom: files.length > 0 ? '70%' : '50%' }\"\n >\n <ul class=\"bmb_chat-bar-dialog-list\">\n @for (bot of botList(); track $index) {\n <li class=\"bmb_chat-bar-dialog-option\">\n <bmb-action-icon\n class=\"bmb_chat-bar-dialog-button\"\n [ngClass]=\"{\n 'bmb_chat-bar-dialog-button-active':\n bot.name === currentBot()?.name\n }\"\n [icon]=\"bot.icon\"\n [alt]=\"bot.name\"\n [iconSize]=\"40\"\n (buttonClick)=\"handleChangeBot(bot)\"\n />\n </li>\n }\n </ul>\n </div>\n <input\n multiple\n type=\"file\"\n id=\"inputFile\"\n (change)=\"onFileSelect($event)\"\n style=\"display: none\"\n />\n</section>\n\n<ng-template #chatBarTemplate>\n <section class=\"bmb_chat-bar-add-dialog\">\n <bmb-action-menu [showHeader]=\"false\" title=\"Selecciona una opci\u00F3n\">\n @for (bot of actionsList(); track $index) {\n <ng-template>\n <bmb-item\n [icon]=\"bot.icon\"\n [label]=\"bot.name\"\n [isButton]=\"true\"\n (action)=\"bot.action()\"\n />\n </ng-template>\n }\n </bmb-action-menu>\n </section>\n</ng-template>\n\n<ng-template #mobileBotSelectorTemplate>\n <div class=\"bmb_chat-bar-mobile-bot-dialog\">\n <ul class=\"bmb_chat-bar-mobile-bot-dialog-body\">\n @for (bot of botChunks()[activeDot]; track $index) {\n <li class=\"bmb_chat-bar-mobile-bot-dialog-option\">\n <bmb-action-icon\n class=\"bmb_chat-bar-dialog-button\"\n [ngClass]=\"{\n 'bmb_chat-bar-dialog-button-active':\n bot.name === currentBot()?.name\n }\"\n [icon]=\"bot.icon\"\n [alt]=\"bot.name\"\n [iconSize]=\"40\"\n (buttonClick)=\"handleMobileChangeBot(bot)\"\n />\n <span class=\"bmb_chat-bar-mobile-bot-dialog-button-text\">\n {{ bot.name }}\n </span>\n </li>\n }\n </ul>\n\n <bmb-dot-paginator\n [activeDotIndex]=\"activeDot\"\n [totalDots]=\"totalDots()\"\n (onDotPress)=\"handleDotPress($event)\"\n />\n </div>\n</ng-template>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_chat-bar{position:relative}.bmb_chat-bar-dialog{background-color:var(--containers-modal);border-radius:var(--bmb-radius-s) var(--bmb-radius-s) 0 0;bottom:100%;height:0;left:0;overflow:hidden;position:absolute;width:calc(100% - 2.5rem);z-index:1}.bmb_chat-bar-dialog-active{border-color:var(--buttons-inactive-step);border-style:solid;border-width:.0625rem .0625rem 0 .0625rem;bottom:50%;height:8.75rem;overflow:auto;transition:height .3s ease}.bmb_chat-bar-dialog-list{display:flex;gap:var(--bmb-spacing-m);list-style:none;margin:0;overflow:auto;padding:var(--bmb-spacing-m)}.bmb_chat-bar-dialog-button{align-items:center;background-color:var(--general_contrasts-50);border-radius:50%;box-shadow:var(--bmb-box-shadow-3);display:inline-flex;line-height:0;min-height:3.75rem;padding:10px}.bmb_chat-bar-dialog-button-active{background-color:var(--general_contrasts-100)}.bmb_chat-bar-container{background-color:var(--containers-main);border:.0625rem solid var(--general_contrasts-container-outline);border-radius:2.75rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;overflow:hidden}.bmb_chat-bar-container-btns{align-items:center;display:flex;gap:var(--bmb-spacing-xs);padding-right:.25rem}.bmb_chat-bar-container-drag{align-items:center;color:var(--general_contrasts-50);display:flex;justify-content:center;flex:1}.bmb_chat-bar-container-drag-text{margin:0}.bmb_chat-bar-drag{border:.125rem dashed;border-color:var(--general_contrasts-50)}.bmb_chat-bar-main{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;width:100%;position:relative;padding:.625rem 1rem}@media (min-width: 1001px){.bmb_chat-bar-main{padding:1rem}}.bmb_chat-bar-bot{border:0 none;padding:0}.bmb_chat-bar-bot .bmb_icon-figure{align-items:center;background-color:var(--general_contrasts-50);border-radius:50%;display:flex;line-height:0;margin:0;padding:.625rem}.bmb_chat-bar-bot .bmb_icon-figure-image{width:100%}.bmb_chat-bar-input{background-color:transparent;border:none;color:var(--general_contrasts-50);flex:1;font-size:1rem;height:calc(1lh + 2rem);max-height:12lh;outline:none;overflow-y:auto;padding:1rem 0;resize:none;margin:0;field-sizing:content}.bmb_chat-bar-add-dialog{width:max-content;max-width:21.875rem}@media screen and (max-width: 560px){.bmb_chat-bar-mic{display:none}}.bmb_chat-bar-pause bmb-icon{color:var(--red-primary)!important}.bmb_chat-bar-record-animated .material-symbols-rounded{animation-duration:3s;animation-iteration-count:infinite;animation-name:recordColor}.bmb_chat-bar-send-animated .material-symbols-rounded{animation:loading 1.5s ease infinite}.bmb_chat-bar-files-list{display:none;gap:var(--bmb-spacing-m)}.bmb_chat-bar-files-list-thumbnail{aspect-ratio:1/1;border-radius:.625rem;object-fit:cover;width:100%}.bmb_chat-bar-files-list-active{align-items:center;display:flex;flex-direction:column;padding:.625rem 2.25rem 0;max-height:12.5rem;overflow:auto}@media (min-width: 1001px){.bmb_chat-bar-files-list-active{flex-direction:row}}.bmb_chat-bar-files-list-option{align-items:center;background-color:var(--containers-modal);border:.0625rem solid var(--general_contrasts-25);border-radius:.3125rem;display:flex;padding:1rem;width:100%}@media (min-width: 1001px){.bmb_chat-bar-files-list-option{width:max-content}}.bmb_chat-bar-files-list-option-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}@media (min-width: 1001px){.bmb_chat-bar-files-list-option-text{max-width:12.5rem}}.bmb_chat-bar-files-list-option-icon .material-symbols-rounded{color:RGBA(var(--color-mariner-500));padding-right:.3125rem}.bmb_chat-bar bmb-icon{color:var(--general_contrasts-50)}.bmb_chat-bar-mobile-bot-dialog-body{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--bmb-spacing-m);justify-content:center}.bmb_chat-bar-mobile-bot-dialog-option{width:calc(50% - var(--bmb-spacing-s));display:flex;justify-content:center;flex-flow:column;align-items:center}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@keyframes recordColor{0%{color:var(--green-primary)}25%{color:var(--general_contrasts-50)}50%{color:var(--green-primary)}75%{color:var(--general_contrasts-50)}to{color:var(--green-primary)}}\n"], dependencies: [{ kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: BmbDotPaginatorComponent, selector: "bmb-dot-paginator", inputs: ["activeDotIndex", "totalDots", "targets", "appearance"], outputs: ["activeDotIndexChange", "onDotPress"] }, { kind: "component", type: BmbActionIconComponent, selector: "bmb-action-icon", inputs: ["idElement", "icon", "alt", "iconSize", "isFill", "toggleIconActive", "isToggleActive", "isAccentColor", "dotNotification", "target", "link", "disabled"], outputs: ["isToggleActiveChange", "isAccentColorChange", "buttonPress", "buttonClick"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "component", type: BmbActionMenuComponent, selector: "bmb-action-menu", inputs: ["title", "subtitle", "icon", "iconSize", "bgIconAppearance", "showHeader", "isAList"] }, { kind: "component", type: BmbItemComponent, selector: "bmb-item", inputs: ["icon", "iconSize", "label", "value", "valueLink", "valueTarget", "supportText", "isButton"], outputs: ["action"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
176
+ }
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbChatBarComponent, decorators: [{
178
+ type: Component,
179
+ args: [{ selector: 'bmb-chat-bar', standalone: true, imports: [
180
+ BmbIconComponent,
181
+ ReactiveFormsModule,
182
+ CommonModule,
183
+ BmbDotPaginatorComponent,
184
+ BmbActionIconComponent,
185
+ ClickOutsideDirective,
186
+ BmbActionMenuComponent,
187
+ BmbItemComponent,
188
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"bmb_chat-bar\"\n clickOutside\n (clickOutside)=\"handleClickOutside()\"\n>\n <div\n class=\"bmb_chat-bar-container\"\n (drop)=\"onDrop($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [ngClass]=\"{\n 'bmb_chat-bar-container-files': files.length > 0,\n 'bmb_chat-bar-drag': onDragFiles\n }\"\n tabindex=\"0\"\n >\n <div\n class=\"bmb_chat-bar-files-list\"\n [ngClass]=\"{ 'bmb_chat-bar-files-list-active': files.length > 0 }\"\n >\n @for (file of files; track $index) {\n <div class=\"bmb_chat-bar-files-list-option\">\n <bmb-icon\n class=\"bmb_chat-bar-files-list-option-icon\"\n icon=\"upload_file\"\n [size]=\"24\"\n />\n <span class=\"bmb_chat-bar-files-list-option-text\">\n {{ file.name }}\n </span>\n <bmb-action-icon\n class=\"bmb_chat-bar-files-list-option-delete\"\n icon=\"close\"\n [iconSize]=\"24\"\n (buttonClick)=\"deleteFile($index)\"\n />\n </div>\n }\n </div>\n <div class=\"bmb_chat-bar-main\" #containerRef>\n <bmb-action-icon\n class=\"bmb_chat-bar-bot\"\n [icon]=\"currentBot()?.icon!\"\n [alt]=\"currentBot()?.name!\"\n [iconSize]=\"40\"\n (buttonClick)=\"handleDialog()\"\n />\n @if (!onDragFiles) {\n <textarea\n rows=\"2\"\n (input)=\"autoResize()\"\n #textareaRef\n id=\"bmbChatBarBot\"\n name=\"bmbChatBarBot\"\n class=\"bmb_chat-bar-input\"\n [placeholder]=\"defaultPlaceholder()\"\n [formControl]=\"control\"\n (keydown)=\"handleKeyDown($event)\"\n autocomplete=\"off\"\n ></textarea>\n @if (showMicControls) {\n <bmb-action-icon\n class=\"bmb_chat-bar-pause\"\n icon=\"pause\"\n [iconSize]=\"40\"\n (buttonClick)=\"handleStopMic()\"\n />\n <bmb-action-icon\n class=\"bmb_chat-bar-record bmb_chat-bar-record-animated\"\n icon=\"graphic_eq\"\n [iconSize]=\"40\"\n (buttonClick)=\"handleRecord()\"\n />\n } @else {\n @if (showEmoji()) {\n <bmb-action-icon\n class=\"bmb_chat-bar-emoji\"\n icon=\"mood\"\n [iconSize]=\"32\"\n (buttonClick)=\"handleEmoji()\"\n />\n }\n @if (actionsList().length) {\n <bmb-action-icon\n class=\"bmb_chat-bar-add\"\n icon=\"add\"\n [iconSize]=\"32\"\n (buttonClick)=\"handleAddDialog($event)\"\n />\n }\n @if (enableMicInput()) {\n <bmb-action-icon\n class=\"bmb_chat-bar-mic\"\n icon=\"mic\"\n [iconSize]=\"32\"\n (buttonClick)=\"handleMic()\"\n />\n }\n }\n <bmb-action-icon\n class=\"bmb_chat-bar-send\"\n [ngClass]=\"{ 'bmb_chat-bar-send-animated': isLoading() }\"\n [icon]=\"isLoading() ? 'progress_activity' : 'send'\"\n [iconSize]=\"32\"\n [disabled]=\"\n (this.files.length == 0 && this.control.value == null) ||\n this.isLoading()!\n \"\n (buttonClick)=\"handleSend()\"\n />\n } @else {\n <div class=\"bmb_chat-bar-container-drag\">\n <p class=\"bmb_chat-bar-container-drag-text\">\n Arrastra tus archivos aqu\u00ED\n </p>\n </div>\n }\n </div>\n </div>\n <div\n class=\"bmb_chat-bar-dialog\"\n [ngClass]=\"{ 'bmb_chat-bar-dialog-active': isDialogOpen() }\"\n [ngStyle]=\"{ bottom: files.length > 0 ? '70%' : '50%' }\"\n >\n <ul class=\"bmb_chat-bar-dialog-list\">\n @for (bot of botList(); track $index) {\n <li class=\"bmb_chat-bar-dialog-option\">\n <bmb-action-icon\n class=\"bmb_chat-bar-dialog-button\"\n [ngClass]=\"{\n 'bmb_chat-bar-dialog-button-active':\n bot.name === currentBot()?.name\n }\"\n [icon]=\"bot.icon\"\n [alt]=\"bot.name\"\n [iconSize]=\"40\"\n (buttonClick)=\"handleChangeBot(bot)\"\n />\n </li>\n }\n </ul>\n </div>\n <input\n multiple\n type=\"file\"\n id=\"inputFile\"\n (change)=\"onFileSelect($event)\"\n style=\"display: none\"\n />\n</section>\n\n<ng-template #chatBarTemplate>\n <section class=\"bmb_chat-bar-add-dialog\">\n <bmb-action-menu [showHeader]=\"false\" title=\"Selecciona una opci\u00F3n\">\n @for (bot of actionsList(); track $index) {\n <ng-template>\n <bmb-item\n [icon]=\"bot.icon\"\n [label]=\"bot.name\"\n [isButton]=\"true\"\n (action)=\"bot.action()\"\n />\n </ng-template>\n }\n </bmb-action-menu>\n </section>\n</ng-template>\n\n<ng-template #mobileBotSelectorTemplate>\n <div class=\"bmb_chat-bar-mobile-bot-dialog\">\n <ul class=\"bmb_chat-bar-mobile-bot-dialog-body\">\n @for (bot of botChunks()[activeDot]; track $index) {\n <li class=\"bmb_chat-bar-mobile-bot-dialog-option\">\n <bmb-action-icon\n class=\"bmb_chat-bar-dialog-button\"\n [ngClass]=\"{\n 'bmb_chat-bar-dialog-button-active':\n bot.name === currentBot()?.name\n }\"\n [icon]=\"bot.icon\"\n [alt]=\"bot.name\"\n [iconSize]=\"40\"\n (buttonClick)=\"handleMobileChangeBot(bot)\"\n />\n <span class=\"bmb_chat-bar-mobile-bot-dialog-button-text\">\n {{ bot.name }}\n </span>\n </li>\n }\n </ul>\n\n <bmb-dot-paginator\n [activeDotIndex]=\"activeDot\"\n [totalDots]=\"totalDots()\"\n (onDotPress)=\"handleDotPress($event)\"\n />\n </div>\n</ng-template>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_chat-bar{position:relative}.bmb_chat-bar-dialog{background-color:var(--containers-modal);border-radius:var(--bmb-radius-s) var(--bmb-radius-s) 0 0;bottom:100%;height:0;left:0;overflow:hidden;position:absolute;width:calc(100% - 2.5rem);z-index:1}.bmb_chat-bar-dialog-active{border-color:var(--buttons-inactive-step);border-style:solid;border-width:.0625rem .0625rem 0 .0625rem;bottom:50%;height:8.75rem;overflow:auto;transition:height .3s ease}.bmb_chat-bar-dialog-list{display:flex;gap:var(--bmb-spacing-m);list-style:none;margin:0;overflow:auto;padding:var(--bmb-spacing-m)}.bmb_chat-bar-dialog-button{align-items:center;background-color:var(--general_contrasts-50);border-radius:50%;box-shadow:var(--bmb-box-shadow-3);display:inline-flex;line-height:0;min-height:3.75rem;padding:10px}.bmb_chat-bar-dialog-button-active{background-color:var(--general_contrasts-100)}.bmb_chat-bar-container{background-color:var(--containers-main);border:.0625rem solid var(--general_contrasts-container-outline);border-radius:2.75rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;overflow:hidden}.bmb_chat-bar-container-btns{align-items:center;display:flex;gap:var(--bmb-spacing-xs);padding-right:.25rem}.bmb_chat-bar-container-drag{align-items:center;color:var(--general_contrasts-50);display:flex;justify-content:center;flex:1}.bmb_chat-bar-container-drag-text{margin:0}.bmb_chat-bar-drag{border:.125rem dashed;border-color:var(--general_contrasts-50)}.bmb_chat-bar-main{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;width:100%;position:relative;padding:.625rem 1rem}@media (min-width: 1001px){.bmb_chat-bar-main{padding:1rem}}.bmb_chat-bar-bot{border:0 none;padding:0}.bmb_chat-bar-bot .bmb_icon-figure{align-items:center;background-color:var(--general_contrasts-50);border-radius:50%;display:flex;line-height:0;margin:0;padding:.625rem}.bmb_chat-bar-bot .bmb_icon-figure-image{width:100%}.bmb_chat-bar-input{background-color:transparent;border:none;color:var(--general_contrasts-50);flex:1;font-size:1rem;height:calc(1lh + 2rem);max-height:12lh;outline:none;overflow-y:auto;padding:1rem 0;resize:none;margin:0;field-sizing:content}.bmb_chat-bar-add-dialog{width:max-content;max-width:21.875rem}@media screen and (max-width: 560px){.bmb_chat-bar-mic{display:none}}.bmb_chat-bar-pause bmb-icon{color:var(--red-primary)!important}.bmb_chat-bar-record-animated .material-symbols-rounded{animation-duration:3s;animation-iteration-count:infinite;animation-name:recordColor}.bmb_chat-bar-send-animated .material-symbols-rounded{animation:loading 1.5s ease infinite}.bmb_chat-bar-files-list{display:none;gap:var(--bmb-spacing-m)}.bmb_chat-bar-files-list-thumbnail{aspect-ratio:1/1;border-radius:.625rem;object-fit:cover;width:100%}.bmb_chat-bar-files-list-active{align-items:center;display:flex;flex-direction:column;padding:.625rem 2.25rem 0;max-height:12.5rem;overflow:auto}@media (min-width: 1001px){.bmb_chat-bar-files-list-active{flex-direction:row}}.bmb_chat-bar-files-list-option{align-items:center;background-color:var(--containers-modal);border:.0625rem solid var(--general_contrasts-25);border-radius:.3125rem;display:flex;padding:1rem;width:100%}@media (min-width: 1001px){.bmb_chat-bar-files-list-option{width:max-content}}.bmb_chat-bar-files-list-option-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}@media (min-width: 1001px){.bmb_chat-bar-files-list-option-text{max-width:12.5rem}}.bmb_chat-bar-files-list-option-icon .material-symbols-rounded{color:RGBA(var(--color-mariner-500));padding-right:.3125rem}.bmb_chat-bar bmb-icon{color:var(--general_contrasts-50)}.bmb_chat-bar-mobile-bot-dialog-body{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--bmb-spacing-m);justify-content:center}.bmb_chat-bar-mobile-bot-dialog-option{width:calc(50% - var(--bmb-spacing-s));display:flex;justify-content:center;flex-flow:column;align-items:center}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@keyframes recordColor{0%{color:var(--green-primary)}25%{color:var(--general_contrasts-50)}50%{color:var(--green-primary)}75%{color:var(--general_contrasts-50)}to{color:var(--green-primary)}}\n"] }]
189
+ }], ctorParameters: () => [{ type: i1.BmbProjectionContentService }, { type: i2.BmbNativeModalService }], propDecorators: { textareaRef: [{
190
+ type: ViewChild,
191
+ args: ['textareaRef']
192
+ }], chatBarTemplate: [{
193
+ type: ViewChild,
194
+ args: ['chatBarTemplate']
195
+ }], mobileBotSelectorTemplate: [{
196
+ type: ViewChild,
197
+ args: ['mobileBotSelectorTemplate']
198
+ }] } });
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWNoYXQtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2hhdC1iYXIvYm1iLWNoYXQtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2hhdC1iYXIvYm1iLWNoYXQtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFHUixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQXFCLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7QUFRbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQXFCL0QsTUFBTSxPQUFPLG1C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cUJBQXFCLHNGQUNyQixzQkFBc0IsNEpBQ3RCLGdCQUFnQjs7NEZBT1AsbUJBQW1CO2tCQWxCL0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQO3dCQUNQLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3FCQUNqQixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO29JQXlDckIsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUNNLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUU1Qix5QkFBeUI7c0JBRHhCLFNBQVM7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUJvdFR5cGUsIElDaGF0QmFyQWN0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgZGVmYXVsdEFjdGlvbkxpc3QsIGRlZmF1bHRCb3RMaXN0IH0gZnJvbSAnLi9ib3RfbGlzdCc7XG5pbXBvcnQgeyBCbWJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWljb24vYm1iLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJtYkRvdFBhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1kb3QtcGFnaW5hdG9yL2JtYi1kb3QtcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJBY3Rpb25JY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWFjdGlvbi1pY29uL2JtYi1hY3Rpb24taWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy91dGlscy9jbGlja291dHNpZGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJtYkFjdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9ibWItYWN0aW9uLW1lbnUvYm1iLWFjdGlvbi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWl0ZW0vYm1iLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEJtYk5hdGl2ZU1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25hdGl2ZS1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEJtYlByb2plY3Rpb25Db250ZW50U2VydmljZSxcbiAgSUJtYlByb2plY3Rpb25Db250ZW50LFxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9qZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUJtYk5hdGl2ZU1vZGFsIH0gZnJvbSAnLi4vYm1iLW1vZGFsL2JtYi1tb2RhbC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgeyBkZWZhdWx0Qm90TGlzdCwgZGVmYXVsdEFjdGlvbkxpc3QgfSBmcm9tICcuL2JvdF9saXN0JztcbmV4cG9ydCB7IElCb3RUeXBlLCBJQ2hhdEJhckFjdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYm1iLWNoYXQtYmFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEJtYkljb25Db21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQm1iRG90UGFnaW5hdG9yQ29tcG9uZW50LFxuICAgIEJtYkFjdGlvbkljb25Db21wb25lbnQsXG4gICAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxuICAgIEJtYkFjdGlvbk1lbnVDb21wb25lbnQsXG4gICAgQm1iSXRlbUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1jaGF0LWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9ibWItY2hhdC1iYXIuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQm1iQ2hhdEJhckNvbXBvbmVudCB7XG4gIHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGJvdExpc3QgPSBpbnB1dDxJQm90VHlwZVtdPihkZWZhdWx0Qm90TGlzdCk7XG4gIGFjdGlvbnNMaXN0ID0gaW5wdXQ8SUNoYXRCYXJBY3Rpb25zW10+KFtdKTtcbiAgc2hvd0Vtb2ppID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBlbmFibGVNaWNJbnB1dCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjdXJyZW50Qm90ID0gbW9kZWw8SUJvdFR5cGU+KCk7XG4gIGlzTG9hZGluZyA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcblxuICBvblNlbmRNZXNzYWdlID0gb3V0cHV0PHN0cmluZz4oKTtcbiAgb25TZW5kRmlsZXMgPSBvdXRwdXQ8RmlsZVtdPigpO1xuICBvblJlY29yZCA9IG91dHB1dDxib29sZWFuPigpO1xuICBvbkVtb2ppID0gb3V0cHV0PGJvb2xlYW4+KCk7XG5cbiAgZmlsZXM6IEZpbGVbXSA9IFtdO1xuICBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIGlzRGlhbG9nT3BlbiA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGRlZmF1bHRQbGFjZWhvbGRlciA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMucGxhY2Vob2xkZXIoKSA/PyAnwr9RdcOpIGRlc2VhcyBlbmNvbnRyYXIgaG95PycsXG4gICk7XG4gIHNob3dNaWNDb250cm9sczogYm9vbGVhbiA9IGZhbHNlO1xuICBvbkRyYWdGaWxlczogYm9vbGVhbiA9IGZhbHNlO1xuICBhcnJheVRodW1ibmFpbDogc3RyaW5nW10gPSBbXTtcbiAgYm90Q2h1bmtzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNodW5rczogSUJvdFR5cGVbXVtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAodGhpcy5ib3RMaXN0KCk/Lmxlbmd0aCA/PyAwKTsgaSArPSA2KSB7XG4gICAgICBjaHVua3MucHVzaCh0aGlzLmJvdExpc3QoKT8uc2xpY2UoaSwgaSArIDYpID8/IFtdKTtcbiAgICB9XG4gICAgcmV0dXJuIGNodW5rcztcbiAgfSk7XG4gIHRvdGFsRG90cyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYm90Q2h1bmtzKCk/Lmxlbmd0aCA/PyAwKTtcbiAgYWN0aXZlRG90OiBudW1iZXIgPSAwO1xuICBhY3Rpb25MaXN0UGFnaW5hdGlvbjogYW55W10gPSBbXTtcbiAgbW9kYWxJRCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICB3aW5kb3dXaWR0aDogbnVtYmVyID0gd2luZG93LmlubmVyV2lkdGg7XG4gIHdpbmRvd0hlaWdodDogbnVtYmVyID0gd2luZG93LmlubmVySGVpZ2h0O1xuXG4gIEBWaWV3Q2hpbGQoJ3RleHRhcmVhUmVmJykgdGV4dGFyZWFSZWYhOiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdjaGF0QmFyVGVtcGxhdGUnKSBjaGF0QmFyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQFZpZXdDaGlsZCgnbW9iaWxlQm90U2VsZWN0b3JUZW1wbGF0ZScpXG4gIG1vYmlsZUJvdFNlbGVjdG9yVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRlbnRQcm9qZWN0ZWQ6IEJtYlByb2plY3Rpb25Db250ZW50U2VydmljZSxcbiAgICBwcml2YXRlIG5hdGl2ZU1vZGFsU2VydmljZTogQm1iTmF0aXZlTW9kYWxTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50Qm90LnVwZGF0ZShcbiAgICAgIChcbiAgICAgICAgYm90OiBJQm90VHlwZSA9IHtcbiAgICAgICAgICBuYW1lOiAnVGVjQm90JyxcbiAgICAgICAgICBpY29uOiAnL2Fzc2V0cy9pbWFnZXMvYm90LWljb25zL2JvdF90ZWNTdGFuZGFyLnN2ZycsXG4gICAgICAgIH0sXG4gICAgICApOiBJQm90VHlwZSA9PiBib3QsXG4gICAgKTtcbiAgfVxuXG4gIGhhbmRsZVNlbmQoKTogdm9pZCB7XG4gICAgdGhpcy5vblNlbmRNZXNzYWdlLmVtaXQodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICBpZiAodGhpcy5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLm9uU2VuZEZpbGVzLmVtaXQodGhpcy5maWxlcyk7XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nLnVwZGF0ZSgodmFsdWUpID0+ICF2YWx1ZSk7XG4gICAgdGhpcy5jb250cm9sLnJlc2V0KCk7XG4gICAgdGhpcy5maWxlcyA9IFtdO1xuICAgIHRoaXMudGV4dGFyZWFSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnY2FsYygxbGggKyAycmVtKSc7XG4gIH1cblxuICBoYW5kbGVDaGFuZ2VCb3QoYm90OiBJQm90VHlwZSk6IHZvaWQge1xuICAgIHRoaXMuaXNEaWFsb2dPcGVuLnNldChmYWxzZSk7XG4gICAgdGhpcy5jdXJyZW50Qm90LnNldChib3QpO1xuICB9XG5cbiAgaGFuZGxlTW9iaWxlQ2hhbmdlQm90KGJvdDogSUJvdFR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLm5hdGl2ZU1vZGFsU2VydmljZS5jbG9zZU1vZGFsKHRoaXMubW9kYWxJRCgpIGFzIHN0cmluZyk7XG4gICAgdGhpcy5tb2RhbElELnNldChudWxsKTtcbiAgICB0aGlzLmN1cnJlbnRCb3Quc2V0KGJvdCk7XG4gIH1cblxuICBoYW5kbGVEaWFsb2coKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLmJvdExpc3QoKT8ubGVuZ3RoID8/IDApID4gMCkge1xuICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoID4gMTAwMCkge1xuICAgICAgICB0aGlzLmlzRGlhbG9nT3Blbi51cGRhdGUoKHZhbHVlKSA9PiAhdmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZGF0YTogSUJtYk5hdGl2ZU1vZGFsID0ge1xuICAgICAgICAgIGNvbnRlbnQ6IHRoaXMubW9iaWxlQm90U2VsZWN0b3JUZW1wbGF0ZSxcbiAgICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICAgIHRpdGxlOiAnU2VsZWNjaW9uYSB1biBib3QnLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMubW9kYWxJRC5zZXQodGhpcy5uYXRpdmVNb2RhbFNlcnZpY2Uub3Blbk1vZGFsKGRhdGEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYW5kbGVNaWMoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93TWljQ29udHJvbHMgPSAhdGhpcy5zaG93TWljQ29udHJvbHM7XG4gICAgdGhpcy5vblJlY29yZC5lbWl0KHRydWUpO1xuICB9XG5cbiAgaGFuZGxlU3RvcE1pYygpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dNaWNDb250cm9scyA9ICF0aGlzLnNob3dNaWNDb250cm9scztcbiAgICB0aGlzLm9uUmVjb3JkLmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgaGFuZGxlQWRkRGlhbG9nKGV2ZW50OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGE6IElCbWJQcm9qZWN0aW9uQ29udGVudCA9IHtcbiAgICAgIGNvbnRlbnQ6IHRoaXMuY2hhdEJhclRlbXBsYXRlLFxuICAgICAgdGFyZ2V0UmVmOiBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgfTtcblxuICAgIHRoaXMuY29udGVudFByb2plY3RlZC5vcGVuQ29udGVudChkYXRhKTtcbiAgfVxuXG4gIG9uRHJvcChldmVudDogYW55KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCBkcm9wcGVkRmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRyb3BwZWRGaWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGRyb3BwZWRGaWxlc1tpXS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlSW1hZ2VUaHVtYm5haWwoZHJvcHBlZEZpbGVzW2ldKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYXJyYXlUaHVtYm5haWw/LnB1c2goJycpO1xuICAgICAgfVxuICAgICAgdGhpcy5maWxlcy5wdXNoKGRyb3BwZWRGaWxlc1tpXSk7XG4gICAgfVxuICAgIHRoaXMub25EcmFnRmlsZXMgPSBmYWxzZTtcbiAgfVxuXG4gIG9uRmlsZVNlbGVjdChldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRGaWxlcyA9IGV2ZW50LnRhcmdldC5maWxlcztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlbGVjdGVkRmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChzZWxlY3RlZEZpbGVzW2ldLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVJbWFnZVRodW1ibmFpbChzZWxlY3RlZEZpbGVzW2ldKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYXJyYXlUaHVtYm5haWw/LnB1c2goJycpO1xuICAgICAgfVxuICAgICAgdGhpcy5maWxlcy5wdXNoKHNlbGVjdGVkRmlsZXNbaV0pO1xuICAgIH1cbiAgICB0aGlzLmNvbnRlbnRQcm9qZWN0ZWQuY2xvc2VDb250ZW50KCk7XG4gIH1cblxuICBvbkRyYWdPdmVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMub25EcmFnRmlsZXMgPSB0cnVlO1xuICB9XG5cbiAgb25EcmFnTGVhdmUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5vbkRyYWdGaWxlcyA9IGZhbHNlO1xuICB9XG5cbiAgY3JlYXRlSW1hZ2VUaHVtYm5haWwoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgdGhpcy5hcnJheVRodW1ibmFpbD8ucHVzaChVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpKTtcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgfVxuXG4gIGRlbGV0ZUZpbGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuZmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLmFycmF5VGh1bWJuYWlsLnNwbGljZShpbmRleCwgMSk7XG4gIH1cblxuICBoYW5kbGVEb3RQcmVzcyhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVEb3QgPSBpbmRleDtcbiAgfVxuXG4gIGhhbmRsZUVtb2ppKCk6IHZvaWQge1xuICAgIHRoaXMub25FbW9qaS5lbWl0KHRydWUpO1xuICB9XG5cbiAgaGFuZGxlUmVjb3JkKCk6IHZvaWQge1xuICAgIHRoaXMub25SZWNvcmQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrT3V0c2lkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzRGlhbG9nT3Blbi5zZXQoZmFsc2UpO1xuICB9XG5cbiAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgJiYgIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5oYW5kbGVTZW5kKCk7XG4gICAgfVxuICB9XG5cbiAgYXV0b1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICBjb25zdCB0ZXh0YXJlYSA9IHRoaXMudGV4dGFyZWFSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSB0ZXh0YXJlYS5zY3JvbGxIZWlnaHQgKyAncHgnO1xuICB9XG59XG4iLCI8c2VjdGlvblxuICBjbGFzcz1cImJtYl9jaGF0LWJhclwiXG4gIGNsaWNrT3V0c2lkZVxuICAoY2xpY2tPdXRzaWRlKT1cImhhbmRsZUNsaWNrT3V0c2lkZSgpXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYm1iX2NoYXQtYmFyLWNvbnRhaW5lclwiXG4gICAgKGRyb3ApPVwib25Ecm9wKCRldmVudClcIlxuICAgIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyKCRldmVudClcIlxuICAgIChkcmFnbGVhdmUpPVwib25EcmFnTGVhdmUoJGV2ZW50KVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2JtYl9jaGF0LWJhci1jb250YWluZXItZmlsZXMnOiBmaWxlcy5sZW5ndGggPiAwLFxuICAgICAgJ2JtYl9jaGF0LWJhci1kcmFnJzogb25EcmFnRmlsZXNcbiAgICB9XCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJibWJfY2hhdC1iYXItZmlsZXMtbGlzdFwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdibWJfY2hhdC1iYXItZmlsZXMtbGlzdC1hY3RpdmUnOiBmaWxlcy5sZW5ndGggPiAwIH1cIlxuICAgID5cbiAgICAgIEBmb3IgKGZpbGUgb2YgZmlsZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYm1iX2NoYXQtYmFyLWZpbGVzLWxpc3Qtb3B0aW9uXCI+XG4gICAgICAgICAgPGJtYi1pY29uXG4gICAgICAgICAgICBjbGFzcz1cImJtYl9jaGF0LWJhci1maWxlcy1saXN0LW9wdGlvbi1pY29uXCJcbiAgICAgICAgICAgIGljb249XCJ1cGxvYWRfZmlsZVwiXG4gICAgICAgICAgICBbc2l6ZV09XCIyNFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJtYl9jaGF0LWJhci1maWxlcy1saXN0LW9wdGlvbi10ZXh0XCI+XG4gICAgICAgICAgICB7eyBmaWxlLm5hbWUgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGJtYi1hY3Rpb24taWNvblxuICAgICAgICAgICAgY2xhc3M9XCJibWJfY2hhdC1iYXItZmlsZXMtbGlzdC1vcHRpb24tZGVsZXRlXCJcbiAgICAgICAgICAgIGljb249XCJjbG9zZVwiXG4gICAgICAgICAgICBbaWNvblNpemVdPVwiMjRcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cImRlbGV0ZUZpbGUoJGluZGV4KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJtYl9jaGF0LWJhci1tYWluXCIgI2NvbnRhaW5lclJlZj5cbiAgICAgIDxibWItYWN0aW9uLWljb25cbiAgICAgICAgY2xhc3M9XCJibWJfY2hhdC1iYXItYm90XCJcbiAgICAgICAgW2ljb25dPVwiY3VycmVudEJvdCgpPy5pY29uIVwiXG4gICAgICAgIFthbHRdPVwiY3VycmVudEJvdCgpPy5uYW1lIVwiXG4gICAgICAgIFtpY29uU2l6ZV09XCI0MFwiXG4gICAgICAgIChidXR0b25DbGljayk9XCJoYW5kbGVEaWFsb2coKVwiXG4gICAgICAvPlxuICAgICAgQGlmICghb25EcmFnRmlsZXMpIHtcbiAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgcm93cz1cIjJcIlxuICAgICAgICAgIChpbnB1dCk9XCJhdXRvUmVzaXplKClcIlxuICAgICAgICAgICN0ZXh0YXJlYVJlZlxuICAgICAgICAgIGlkPVwiYm1iQ2hhdEJhckJvdFwiXG4gICAgICAgICAgbmFtZT1cImJtYkNoYXRCYXJCb3RcIlxuICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYmFyLWlucHV0XCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGVmYXVsdFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICBAaWYgKHNob3dNaWNDb250cm9scykge1xuICAgICAgICAgIDxibWItYWN0aW9uLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYmFyLXBhdXNlXCJcbiAgICAgICAgICAgIGljb249XCJwYXVzZVwiXG4gICAgICAgICAgICBbaWNvblNpemVdPVwiNDBcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cImhhbmRsZVN0b3BNaWMoKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8Ym1iLWFjdGlvbi1pY29uXG4gICAgICAgICAgICBjbGFzcz1cImJtYl9jaGF0LWJhci1yZWNvcmQgYm1iX2NoYXQtYmFyLXJlY29yZC1hbmltYXRlZFwiXG4gICAgICAgICAgICBpY29uPVwiZ3JhcGhpY19lcVwiXG4gICAgICAgICAgICBbaWNvblNpemVdPVwiNDBcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cImhhbmRsZVJlY29yZCgpXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAaWYgKHNob3dFbW9qaSgpKSB7XG4gICAgICAgICAgICA8Ym1iLWFjdGlvbi1pY29uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYmFyLWVtb2ppXCJcbiAgICAgICAgICAgICAgaWNvbj1cIm1vb2RcIlxuICAgICAgICAgICAgICBbaWNvblNpemVdPVwiMzJcIlxuICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwiaGFuZGxlRW1vamkoKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKGFjdGlvbnNMaXN0KCkubGVuZ3RoKSB7XG4gICAgICAgICAgICA8Ym1iLWFjdGlvbi1pY29uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYmFyLWFkZFwiXG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBbaWNvblNpemVdPVwiMzJcIlxuICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwiaGFuZGxlQWRkRGlhbG9nKCRldmVudClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChlbmFibGVNaWNJbnB1dCgpKSB7XG4gICAgICAgICAgICA8Ym1iLWFjdGlvbi1pY29uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYmFyLW1pY1wiXG4gICAgICAgICAgICAgIGljb249XCJtaWNcIlxuICAgICAgICAgICAgICBbaWNvblNpemVdPVwiMzJcIlxuICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwiaGFuZGxlTWljKClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPGJtYi1hY3Rpb24taWNvblxuICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYmFyLXNlbmRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2JtYl9jaGF0LWJhci1zZW5kLWFuaW1hdGVkJzogaXNMb2FkaW5nKCkgfVwiXG4gICAgICAgICAgW2ljb25dPVwiaXNMb2FkaW5nKCkgPyAncHJvZ3Jlc3NfYWN0aXZpdHknIDogJ3NlbmQnXCJcbiAgICAgICAgICBbaWNvblNpemVdPVwiMzJcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICh0aGlzLmZpbGVzLmxlbmd0aCA9PSAwICYmIHRoaXMuY29udHJvbC52YWx1ZSA9PSBudWxsKSB8fFxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcoKSFcbiAgICAgICAgICBcIlxuICAgICAgICAgIChidXR0b25DbGljayk9XCJoYW5kbGVTZW5kKClcIlxuICAgICAgICAvPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJibWJfY2hhdC1iYXItY29udGFpbmVyLWRyYWdcIj5cbiAgICAgICAgICA8cCBjbGFzcz1cImJtYl9jaGF0LWJhci1jb250YWluZXItZHJhZy10ZXh0XCI+XG4gICAgICAgICAgICBBcnJhc3RyYSB0dXMgYXJjaGl2b3MgYXF1w61cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYm1iX2NoYXQtYmFyLWRpYWxvZ1wiXG4gICAgW25nQ2xhc3NdPVwieyAnYm1iX2NoYXQtYmFyLWRpYWxvZy1hY3RpdmUnOiBpc0RpYWxvZ09wZW4oKSB9XCJcbiAgICBbbmdTdHlsZV09XCJ7IGJvdHRvbTogZmlsZXMubGVuZ3RoID4gMCA/ICc3MCUnIDogJzUwJScgfVwiXG4gID5cbiAgICA8dWwgY2xhc3M9XCJibWJfY2hhdC1iYXItZGlhbG9nLWxpc3RcIj5cbiAgICAgIEBmb3IgKGJvdCBvZiBib3RMaXN0KCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8bGkgY2xhc3M9XCJibWJfY2hhdC1iYXItZGlhbG9nLW9wdGlvblwiPlxuICAgICAgICAgIDxibWItYWN0aW9uLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYmFyLWRpYWxvZy1idXR0b25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnYm1iX2NoYXQtYmFyLWRpYWxvZy1idXR0b24tYWN0aXZlJzpcbiAgICAgICAgICAgICAgICBib3QubmFtZSA9PT0gY3VycmVudEJvdCgpPy5uYW1lXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIFtpY29uXT1cImJvdC5pY29uXCJcbiAgICAgICAgICAgIFthbHRdPVwiYm90Lm5hbWVcIlxuICAgICAgICAgICAgW2ljb25TaXplXT1cIjQwXCJcbiAgICAgICAgICAgIChidXR0b25DbGljayk9XCJoYW5kbGVDaGFuZ2VCb3QoYm90KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9saT5cbiAgICAgIH1cbiAgICA8L3VsPlxuICA8L2Rpdj5cbiAgPGlucHV0XG4gICAgbXVsdGlwbGVcbiAgICB0eXBlPVwiZmlsZVwiXG4gICAgaWQ9XCJpbnB1dEZpbGVcIlxuICAgIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0KCRldmVudClcIlxuICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXG4gIC8+XG48L3NlY3Rpb24+XG5cbjxuZy10ZW1wbGF0ZSAjY2hhdEJhclRlbXBsYXRlPlxuICA8c2VjdGlvbiBjbGFzcz1cImJtYl9jaGF0LWJhci1hZGQtZGlhbG9nXCI+XG4gICAgPGJtYi1hY3Rpb24tbWVudSBbc2hvd0hlYWRlcl09XCJmYWxzZVwiIHRpdGxlPVwiU2VsZWNjaW9uYSB1bmEgb3BjacOzblwiPlxuICAgICAgQGZvciAoYm90IG9mIGFjdGlvbnNMaXN0KCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgPGJtYi1pdGVtXG4gICAgICAgICAgICBbaWNvbl09XCJib3QuaWNvblwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiYm90Lm5hbWVcIlxuICAgICAgICAgICAgW2lzQnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgICAgKGFjdGlvbik9XCJib3QuYWN0aW9uKClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICB9XG4gICAgPC9ibWItYWN0aW9uLW1lbnU+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbW9iaWxlQm90U2VsZWN0b3JUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImJtYl9jaGF0LWJhci1tb2JpbGUtYm90LWRpYWxvZ1wiPlxuICAgIDx1bCBjbGFzcz1cImJtYl9jaGF0LWJhci1tb2JpbGUtYm90LWRpYWxvZy1ib2R5XCI+XG4gICAgICBAZm9yIChib3Qgb2YgYm90Q2h1bmtzKClbYWN0aXZlRG90XTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxsaSBjbGFzcz1cImJtYl9jaGF0LWJhci1tb2JpbGUtYm90LWRpYWxvZy1vcHRpb25cIj5cbiAgICAgICAgICA8Ym1iLWFjdGlvbi1pY29uXG4gICAgICAgICAgICBjbGFzcz1cImJtYl9jaGF0LWJhci1kaWFsb2ctYnV0dG9uXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2JtYl9jaGF0LWJhci1kaWFsb2ctYnV0dG9uLWFjdGl2ZSc6XG4gICAgICAgICAgICAgICAgYm90Lm5hbWUgPT09IGN1cnJlbnRCb3QoKT8ubmFtZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbaWNvbl09XCJib3QuaWNvblwiXG4gICAgICAgICAgICBbYWx0XT1cImJvdC5uYW1lXCJcbiAgICAgICAgICAgIFtpY29uU2l6ZV09XCI0MFwiXG4gICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwiaGFuZGxlTW9iaWxlQ2hhbmdlQm90KGJvdClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJibWJfY2hhdC1iYXItbW9iaWxlLWJvdC1kaWFsb2ctYnV0dG9uLXRleHRcIj5cbiAgICAgICAgICAgIHt7IGJvdC5uYW1lIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xpPlxuICAgICAgfVxuICAgIDwvdWw+XG5cbiAgICA8Ym1iLWRvdC1wYWdpbmF0b3JcbiAgICAgIFthY3RpdmVEb3RJbmRleF09XCJhY3RpdmVEb3RcIlxuICAgICAgW3RvdGFsRG90c109XCJ0b3RhbERvdHMoKVwiXG4gICAgICAob25Eb3RQcmVzcyk9XCJoYW5kbGVEb3RQcmVzcygkZXZlbnQpXCJcbiAgICAvPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,57 @@
1
+ export const defaultBotList = [
2
+ {
3
+ name: 'TecBot',
4
+ icon: '/assets/images/bot-icons/bot_tecStandar.svg',
5
+ },
6
+ {
7
+ name: 'ChatGPT',
8
+ icon: '/assets/images/bot-icons/bot_tecGPT.svg',
9
+ },
10
+ {
11
+ name: 'Comment',
12
+ icon: '/assets/images/bot-icons/comment.svg',
13
+ },
14
+ {
15
+ name: 'New',
16
+ icon: '/assets/images/bot-icons/new.svg',
17
+ },
18
+ {
19
+ name: 'BotSchool',
20
+ icon: '/assets/images/bot-icons/bot_tecSchool.svg',
21
+ },
22
+ {
23
+ name: 'BotTech',
24
+ icon: '/assets/images/bot-icons/bot_tecTech.svg',
25
+ },
26
+ {
27
+ name: 'BotSport',
28
+ icon: '/assets/images/bot-icons/bot_tecSport.svg',
29
+ },
30
+ {
31
+ name: 'BotPhone',
32
+ icon: '/assets/images/bot-icons/bot_tecPhone.svg',
33
+ },
34
+ {
35
+ name: 'BotMedic',
36
+ icon: '/assets/images/bot-icons/bot_health.svg',
37
+ },
38
+ {
39
+ name: 'BotScience',
40
+ icon: '/assets/images/bot-icons/bot_tecScience.svg',
41
+ },
42
+ {
43
+ name: 'Backup',
44
+ icon: '/assets/images/bot-icons/backup.svg',
45
+ },
46
+ ];
47
+ export const defaultActionList = [
48
+ {
49
+ name: 'Adjuntar Archivo',
50
+ icon: 'upload_file',
51
+ action: () => {
52
+ const input = document.getElementById('inputFile');
53
+ input?.click();
54
+ },
55
+ },
56
+ ];
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90X2xpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWNoYXQtYmFyL2JvdF9saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QjtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsSUFBSSxFQUFFLDZDQUE2QztLQUNwRDtJQUNEO1FBQ0UsSUFBSSxFQUFFLFNBQVM7UUFDZixJQUFJLEVBQUUseUNBQXlDO0tBQ2hEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsU0FBUztRQUNmLElBQUksRUFBRSxzQ0FBc0M7S0FDN0M7SUFDRDtRQUNFLElBQUksRUFBRSxLQUFLO1FBQ1gsSUFBSSxFQUFFLGtDQUFrQztLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsSUFBSSxFQUFFLDRDQUE0QztLQUNuRDtJQUNEO1FBQ0UsSUFBSSxFQUFFLFNBQVM7UUFDZixJQUFJLEVBQUUsMENBQTBDO0tBQ2pEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsMkNBQTJDO0tBQ2xEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsMkNBQTJDO0tBQ2xEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUseUNBQXlDO0tBQ2hEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsWUFBWTtRQUNsQixJQUFJLEVBQUUsNkNBQTZDO0tBQ3BEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLElBQUksRUFBRSxxQ0FBcUM7S0FDNUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXNCO0lBQ2xEO1FBQ0UsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixJQUFJLEVBQUUsYUFBYTtRQUNuQixNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ1gsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQXFCLENBQUM7WUFDdkUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ2pCLENBQUM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2hhdEJhckFjdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRCb3RMaXN0ID0gW1xuICB7XG4gICAgbmFtZTogJ1RlY0JvdCcsXG4gICAgaWNvbjogJy9hc3NldHMvaW1hZ2VzL2JvdC1pY29ucy9ib3RfdGVjU3RhbmRhci5zdmcnLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ0NoYXRHUFQnLFxuICAgIGljb246ICcvYXNzZXRzL2ltYWdlcy9ib3QtaWNvbnMvYm90X3RlY0dQVC5zdmcnLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ0NvbW1lbnQnLFxuICAgIGljb246ICcvYXNzZXRzL2ltYWdlcy9ib3QtaWNvbnMvY29tbWVudC5zdmcnLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ05ldycsXG4gICAgaWNvbjogJy9hc3NldHMvaW1hZ2VzL2JvdC1pY29ucy9uZXcuc3ZnJyxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdCb3RTY2hvb2wnLFxuICAgIGljb246ICcvYXNzZXRzL2ltYWdlcy9ib3QtaWNvbnMvYm90X3RlY1NjaG9vbC5zdmcnLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ0JvdFRlY2gnLFxuICAgIGljb246ICcvYXNzZXRzL2ltYWdlcy9ib3QtaWNvbnMvYm90X3RlY1RlY2guc3ZnJyxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdCb3RTcG9ydCcsXG4gICAgaWNvbjogJy9hc3NldHMvaW1hZ2VzL2JvdC1pY29ucy9ib3RfdGVjU3BvcnQuc3ZnJyxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdCb3RQaG9uZScsXG4gICAgaWNvbjogJy9hc3NldHMvaW1hZ2VzL2JvdC1pY29ucy9ib3RfdGVjUGhvbmUuc3ZnJyxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdCb3RNZWRpYycsXG4gICAgaWNvbjogJy9hc3NldHMvaW1hZ2VzL2JvdC1pY29ucy9ib3RfaGVhbHRoLnN2ZycsXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnQm90U2NpZW5jZScsXG4gICAgaWNvbjogJy9hc3NldHMvaW1hZ2VzL2JvdC1pY29ucy9ib3RfdGVjU2NpZW5jZS5zdmcnLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ0JhY2t1cCcsXG4gICAgaWNvbjogJy9hc3NldHMvaW1hZ2VzL2JvdC1pY29ucy9iYWNrdXAuc3ZnJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0QWN0aW9uTGlzdDogSUNoYXRCYXJBY3Rpb25zW10gPSBbXG4gIHtcbiAgICBuYW1lOiAnQWRqdW50YXIgQXJjaGl2bycsXG4gICAgaWNvbjogJ3VwbG9hZF9maWxlJyxcbiAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0RmlsZScpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICBpbnB1dD8uY2xpY2soKTtcbiAgICB9LFxuICB9LFxuXTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWNoYXQtYmFyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElCb3RUeXBlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRCYXJBY3Rpb25zIHtcbiAgbmFtZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGFjdGlvbjogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input, output, ViewEncapsulation, } from '@angular/core';
2
+ import { BmbUserImageComponent } from '../bmb-user-image/bmb-user-image.component';
3
+ import { CommonModule } from '@angular/common';
4
+ import { BmbIconComponent } from '../bmb-icon/bmb-icon.component';
5
+ import { BmbTextLinkComponent } from '../bmb-text-link/bmb-text-link.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ export class BmbChatBubblesComponent {
9
+ constructor() {
10
+ this.iconBot = input('/assets/images/bot-icons/bot_tecStandar.svg');
11
+ this.message = input.required();
12
+ this.gptBot = input(false);
13
+ this.gptIcons = input(false);
14
+ this.isThinking = input(false);
15
+ this.iconBotDefault = computed(() => this.gptBot() ? '/assets/images/bot-icons/chat_gpt.svg' : this.iconBot());
16
+ this.gptActiveIcons = input({
17
+ repeat: true,
18
+ voice: true,
19
+ copy: true,
20
+ like: true,
21
+ dislike: true,
22
+ });
23
+ this.onRepeatRequest = output();
24
+ this.onVoice = output();
25
+ this.onCopy = output();
26
+ this.onLike = output();
27
+ this.onDislike = output();
28
+ }
29
+ handleRepeat(event) {
30
+ this.onRepeatRequest.emit(event);
31
+ }
32
+ handleVoice(event) {
33
+ this.onVoice.emit(event);
34
+ }
35
+ handleCopyContent(event) {
36
+ this.onCopy.emit(event);
37
+ }
38
+ handleLike(event) {
39
+ this.onLike.emit(event);
40
+ }
41
+ handleDislike(event) {
42
+ this.onDislike.emit(event);
43
+ }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbChatBubblesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbChatBubblesComponent, isStandalone: true, selector: "bmb-chat-bubble", inputs: { iconBot: { classPropertyName: "iconBot", publicName: "iconBot", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, gptBot: { classPropertyName: "gptBot", publicName: "gptBot", isSignal: true, isRequired: false, transformFunction: null }, gptIcons: { classPropertyName: "gptIcons", publicName: "gptIcons", isSignal: true, isRequired: false, transformFunction: null }, isThinking: { classPropertyName: "isThinking", publicName: "isThinking", isSignal: true, isRequired: false, transformFunction: null }, gptActiveIcons: { classPropertyName: "gptActiveIcons", publicName: "gptActiveIcons", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onRepeatRequest: "onRepeatRequest", onVoice: "onVoice", onCopy: "onCopy", onLike: "onLike", onDislike: "onDislike" }, ngImport: i0, template: "<section class=\"bmb_chat-bubble\">\n <section class=\"bmb_chat-bubble-main\">\n <div\n class=\"bmb_chat-bubble-main-info\"\n [ngClass]=\"{\n 'bmb_chat-bubble-user': message().isUserMessage\n }\"\n >\n <div\n class=\"bmb_chat-bubble-profile\"\n [ngClass]=\"{\n 'bmb_chat-bubble-profile-top': !message().isUserMessage,\n 'bmb_chat-bubble-profile-bottom': message().isUserMessage\n }\"\n >\n @if (message().isUserMessage) {\n <bmb-user-image\n [size]=\"'mobile-small'\"\n [image]=\"message().userProfile!\"\n [altImage]=\"'Alt image description'\"\n [bordered]=\"false\"\n ></bmb-user-image>\n } @else {\n <span class=\"bmb_chat-bubble-profile-bot\">\n <img\n class=\"bmb_chat-bubble-profile-bot-image\"\n [src]=\"iconBotDefault()\"\n [alt]=\"'Bot'\"\n />\n </span>\n }\n </div>\n <div class=\"bmb_chat-bubble-msg-container\">\n <div\n class=\"bmb_chat-bubble-msg\"\n [ngClass]=\"{\n 'bmb_chat-bubble-msg-userProfile-bottom': message().isUserMessage,\n 'bmb_chat-bubble-msg-top': !message().isUserMessage\n }\"\n >\n @if (isThinking()) {\n <div class=\"bmb_chat-bubble-msg-thinking-dots\">\n <span class=\"bmb_chat-bubble-msg-thinking-dot\"></span>\n <span class=\"bmb_chat-bubble-msg-thinking-dot\"></span>\n <span class=\"bmb_chat-bubble-msg-thinking-dot\"></span>\n </div>\n } @else {\n @if (message().type === 'mixed') {\n <p>{{ message().content.text }}</p>\n <img\n class=\"bmb_chat-bubble-msg-image\"\n [src]=\"message().content.imageUrl\"\n alt=\"Message Img\"\n />\n }\n\n @if (message().type === 'text') {\n <p>{{ message().content.text }}</p>\n }\n\n @if (message().type === 'link') {\n <bmb-text-link\n [textLink]=\"message().content.text!\"\n [textLinkStyle]=\"'underlined'\"\n [target]=\"'_blank'\"\n [link]=\"message().content.link!\"\n [disabled]=\"false\"\n ></bmb-text-link>\n }\n\n @if (message().type === 'template') {\n <ng-container\n *ngTemplateOutlet=\"message().content.template!\"\n ></ng-container>\n }\n }\n </div>\n <div\n class=\"bmb_chat-bubble-extra\"\n [ngClass]=\"{\n 'bmb_chat-bubble-extra-user': message().isUserMessage\n }\"\n >\n @if (message().isUserMessage) {\n <p class=\"bmb_chat-bubble-extra-time\">\n {{ message().time | date: 'hh:mm a' }}\n </p>\n } @else {\n <div class=\"bmb_chat-bubble-extra-container\">\n @if (gptIcons()) {\n <bmb-icon\n class=\"bmb_chat-bubble-extra-icon\"\n icon=\"repeat\"\n [isFill]=\"true\"\n [size]=\"24\"\n (click)=\"handleRepeat($event)\"\n ></bmb-icon>\n <bmb-icon\n class=\"bmb_chat-bubble-extra-icon\"\n icon=\"record_voice_over\"\n [isFill]=\"true\"\n [size]=\"24\"\n (click)=\"handleVoice($event)\"\n ></bmb-icon>\n <bmb-icon\n class=\"bmb_chat-bubble-extra-icon\"\n icon=\"content_copy\"\n [isFill]=\"true\"\n [size]=\"24\"\n (click)=\"handleCopyContent($event)\"\n ></bmb-icon>\n <bmb-icon\n class=\"bmb_chat-bubble-extra-icon\"\n icon=\"thumb_up\"\n [isFill]=\"true\"\n [size]=\"24\"\n (click)=\"handleLike($event)\"\n ></bmb-icon>\n <bmb-icon\n class=\"bmb_chat-bubble-extra-icon\"\n icon=\"thumb_down\"\n [isFill]=\"true\"\n [size]=\"24\"\n (click)=\"handleDislike($event)\"\n ></bmb-icon>\n }\n </div>\n <p class=\"bmb_chat-bubble-extra-time\">\n {{ message().time | date: 'hh:mm a' }}\n </p>\n }\n </div>\n </div>\n </div>\n </section>\n</section>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_chat-bubble{margin:.625rem 0;width:100%}.bmb_chat-bubble-main{display:flex;flex-direction:column}.bmb_chat-bubble-main-info{display:flex;gap:.5rem;padding-bottom:.625rem}.bmb_chat-bubble-user{justify-content:flex-end}.bmb_chat-bubble-user>.bmb_chat-bubble-profile{order:3}.bmb_chat-bubble-profile{display:flex}.bmb_chat-bubble-profile-top{align-items:flex-start}.bmb_chat-bubble-profile-bottom{align-items:flex-end;margin-bottom:1.125rem}.bmb_chat-bubble-profile-bot{display:flex;align-items:center;justify-content:center;border-radius:50%;width:2.1875rem;height:2.1875rem;background-color:RGBA(var(--color-charade-500))}.bmb_chat-bubble-profile-bot-image{width:70%;height:70%}.bmb_chat-bubble-msg{font-family:Poppins-Regular,sans-serif;font-size:.875rem;min-height:2.8125rem;width:fit-content;border-radius:1rem 1rem 1rem 0;padding:var(--bmb-radius-m);box-shadow:0 .125rem .3125rem #0000001a}.bmb_chat-bubble-msg-container{max-width:70%}.bmb_chat-bubble-msg-top{border-radius:0 1rem 1rem;background-color:var(--general_contrasts-20)}.bmb_chat-bubble-msg p{margin:0}.bmb_chat-bubble-msg-image{border-radius:1rem;max-width:21.875rem;max-height:15.625rem;margin-top:.625rem}.bmb_chat-bubble-msg-userProfile-bottom{border-radius:1rem 1rem 0;background-color:var(--general_contrasts-5)}.bmb_chat-bubble-msg-userProfile-top{border-radius:1rem 0 1rem 1rem}.bmb_chat-bubble-msg-thinking-dots{display:flex;gap:.5rem}.bmb_chat-bubble-msg-thinking-dot{width:.75rem;height:.75rem;background-color:RGBA(var(--color-mariner-500));border-radius:50%;opacity:.3;animation:thinking 1.5s infinite ease-in-out}.bmb_chat-bubble-msg-thinking-dot:nth-child(1){animation-delay:0s}.bmb_chat-bubble-msg-thinking-dot:nth-child(2){animation-delay:.3s}.bmb_chat-bubble-msg-thinking-dot:nth-child(3){animation-delay:.6s}@keyframes thinking{0%,to{opacity:.3}50%{opacity:1}}.bmb_chat-bubble-extra{font-family:Poppins-Regular,sans-serif;font-size:.75rem;display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem;height:1.25rem}.bmb_chat-bubble-extra p{margin:0}.bmb_chat-bubble-extra-user{justify-content:flex-start;margin-right:2.8125rem}.bmb_chat-bubble-extra-icon{color:var(--general_contrasts-50);cursor:pointer}.bmb_chat-bubble-extra-container{display:flex;align-items:center;gap:.5rem;padding-top:.9375rem}.bmb_chat-bubble-extra-time{padding-top:.9375rem}\n"], dependencies: [{ kind: "component", type: BmbUserImageComponent, selector: "bmb-user-image", inputs: ["size", "image", "altImage", "link", "target", "bordered"], outputs: ["buttonPress", "buttonClick", "buttonKeyPress"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "component", type: BmbTextLinkComponent, selector: "bmb-text-link", inputs: ["textLink", "textLinkStyle", "target", "icon", "iconPosition", "link", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbChatBubblesComponent, decorators: [{
48
+ type: Component,
49
+ args: [{ selector: 'bmb-chat-bubble', standalone: true, imports: [
50
+ BmbUserImageComponent,
51
+ CommonModule,
52
+ BmbIconComponent,
53
+ BmbTextLinkComponent,
54
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"bmb_chat-bubble\">\n <section class=\"bmb_chat-bubble-main\">\n <div\n class=\"bmb_chat-bubble-main-info\"\n [ngClass]=\"{\n 'bmb_chat-bubble-user': message().isUserMessage\n }\"\n >\n <div\n class=\"bmb_chat-bubble-profile\"\n [ngClass]=\"{\n 'bmb_chat-bubble-profile-top': !message().isUserMessage,\n 'bmb_chat-bubble-profile-bottom': message().isUserMessage\n }\"\n >\n @if (message().isUserMessage) {\n <bmb-user-image\n [size]=\"'mobile-small'\"\n [image]=\"message().userProfile!\"\n [altImage]=\"'Alt image description'\"\n [bordered]=\"false\"\n ></bmb-user-image>\n } @else {\n <span class=\"bmb_chat-bubble-profile-bot\">\n <img\n class=\"bmb_chat-bubble-profile-bot-image\"\n [src]=\"iconBotDefault()\"\n [alt]=\"'Bot'\"\n />\n </span>\n }\n </div>\n <div class=\"bmb_chat-bubble-msg-container\">\n <div\n class=\"bmb_chat-bubble-msg\"\n [ngClass]=\"{\n 'bmb_chat-bubble-msg-userProfile-bottom': message().isUserMessage,\n 'bmb_chat-bubble-msg-top': !message().isUserMessage\n }\"\n >\n @if (isThinking()) {\n <div class=\"bmb_chat-bubble-msg-thinking-dots\">\n <span class=\"bmb_chat-bubble-msg-thinking-dot\"></span>\n <span class=\"bmb_chat-bubble-msg-thinking-dot\"></span>\n <span class=\"bmb_chat-bubble-msg-thinking-dot\"></span>\n </div>\n } @else {\n @if (message().type === 'mixed') {\n <p>{{ message().content.text }}</p>\n <img\n class=\"bmb_chat-bubble-msg-image\"\n [src]=\"message().content.imageUrl\"\n alt=\"Message Img\"\n />\n }\n\n @if (message().type === 'text') {\n <p>{{ message().content.text }}</p>\n }\n\n @if (message().type === 'link') {\n <bmb-text-link\n [textLink]=\"message().content.text!\"\n [textLinkStyle]=\"'underlined'\"\n [target]=\"'_blank'\"\n [link]=\"message().content.link!\"\n [disabled]=\"false\"\n ></bmb-text-link>\n }\n\n @if (message().type === 'template') {\n <ng-container\n *ngTemplateOutlet=\"message().content.template!\"\n ></ng-container>\n }\n }\n </div>\n <div\n class=\"bmb_chat-bubble-extra\"\n [ngClass]=\"{\n 'bmb_chat-bubble-extra-user': message().isUserMessage\n }\"\n >\n @if (message().isUserMessage) {\n <p class=\"bmb_chat-bubble-extra-time\">\n {{ message().time | date: 'hh:mm a' }}\n </p>\n } @else {\n <div class=\"bmb_chat-bubble-extra-container\">\n @if (gptIcons()) {\n <bmb-icon\n class=\"bmb_chat-bubble-extra-icon\"\n icon=\"repeat\"\n [isFill]=\"true\"\n [size]=\"24\"\n (click)=\"handleRepeat($event)\"\n ></bmb-icon>\n <bmb-icon\n class=\"bmb_chat-bubble-extra-icon\"\n icon=\"record_voice_over\"\n [isFill]=\"true\"\n [size]=\"24\"\n (click)=\"handleVoice($event)\"\n ></bmb-icon>\n <bmb-icon\n class=\"bmb_chat-bubble-extra-icon\"\n icon=\"content_copy\"\n [isFill]=\"true\"\n [size]=\"24\"\n (click)=\"handleCopyContent($event)\"\n ></bmb-icon>\n <bmb-icon\n class=\"bmb_chat-bubble-extra-icon\"\n icon=\"thumb_up\"\n [isFill]=\"true\"\n [size]=\"24\"\n (click)=\"handleLike($event)\"\n ></bmb-icon>\n <bmb-icon\n class=\"bmb_chat-bubble-extra-icon\"\n icon=\"thumb_down\"\n [isFill]=\"true\"\n [size]=\"24\"\n (click)=\"handleDislike($event)\"\n ></bmb-icon>\n }\n </div>\n <p class=\"bmb_chat-bubble-extra-time\">\n {{ message().time | date: 'hh:mm a' }}\n </p>\n }\n </div>\n </div>\n </div>\n </section>\n</section>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_chat-bubble{margin:.625rem 0;width:100%}.bmb_chat-bubble-main{display:flex;flex-direction:column}.bmb_chat-bubble-main-info{display:flex;gap:.5rem;padding-bottom:.625rem}.bmb_chat-bubble-user{justify-content:flex-end}.bmb_chat-bubble-user>.bmb_chat-bubble-profile{order:3}.bmb_chat-bubble-profile{display:flex}.bmb_chat-bubble-profile-top{align-items:flex-start}.bmb_chat-bubble-profile-bottom{align-items:flex-end;margin-bottom:1.125rem}.bmb_chat-bubble-profile-bot{display:flex;align-items:center;justify-content:center;border-radius:50%;width:2.1875rem;height:2.1875rem;background-color:RGBA(var(--color-charade-500))}.bmb_chat-bubble-profile-bot-image{width:70%;height:70%}.bmb_chat-bubble-msg{font-family:Poppins-Regular,sans-serif;font-size:.875rem;min-height:2.8125rem;width:fit-content;border-radius:1rem 1rem 1rem 0;padding:var(--bmb-radius-m);box-shadow:0 .125rem .3125rem #0000001a}.bmb_chat-bubble-msg-container{max-width:70%}.bmb_chat-bubble-msg-top{border-radius:0 1rem 1rem;background-color:var(--general_contrasts-20)}.bmb_chat-bubble-msg p{margin:0}.bmb_chat-bubble-msg-image{border-radius:1rem;max-width:21.875rem;max-height:15.625rem;margin-top:.625rem}.bmb_chat-bubble-msg-userProfile-bottom{border-radius:1rem 1rem 0;background-color:var(--general_contrasts-5)}.bmb_chat-bubble-msg-userProfile-top{border-radius:1rem 0 1rem 1rem}.bmb_chat-bubble-msg-thinking-dots{display:flex;gap:.5rem}.bmb_chat-bubble-msg-thinking-dot{width:.75rem;height:.75rem;background-color:RGBA(var(--color-mariner-500));border-radius:50%;opacity:.3;animation:thinking 1.5s infinite ease-in-out}.bmb_chat-bubble-msg-thinking-dot:nth-child(1){animation-delay:0s}.bmb_chat-bubble-msg-thinking-dot:nth-child(2){animation-delay:.3s}.bmb_chat-bubble-msg-thinking-dot:nth-child(3){animation-delay:.6s}@keyframes thinking{0%,to{opacity:.3}50%{opacity:1}}.bmb_chat-bubble-extra{font-family:Poppins-Regular,sans-serif;font-size:.75rem;display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem;height:1.25rem}.bmb_chat-bubble-extra p{margin:0}.bmb_chat-bubble-extra-user{justify-content:flex-start;margin-right:2.8125rem}.bmb_chat-bubble-extra-icon{color:var(--general_contrasts-50);cursor:pointer}.bmb_chat-bubble-extra-container{display:flex;align-items:center;gap:.5rem;padding-top:.9375rem}.bmb_chat-bubble-extra-time{padding-top:.9375rem}\n"] }]
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWNoYXQtYnViYmxlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWNoYXQtYnViYmxlcy9ibWItY2hhdC1idWJibGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItY2hhdC1idWJibGVzL2JtYi1jaGF0LWJ1YmJsZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBZ0JoRixNQUFNLE9BQU8sdUJBQXVCO0lBZHBDO1FBZUUsWUFBTyxHQUFHLEtBQUssQ0FBUyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ3ZFLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFtQixDQUFDO1FBQzVDLFdBQU0sR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDL0IsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqQyxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRW5DLG1CQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUM3QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLHVDQUF1QyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQ3pFLENBQUM7UUFFRixtQkFBYyxHQUFHLEtBQUssQ0FBbUI7WUFDdkMsTUFBTSxFQUFFLElBQUk7WUFDWixLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztRQUVILG9CQUFlLEdBQUcsTUFBTSxFQUFjLENBQUM7UUFDdkMsWUFBTyxHQUFHLE1BQU0sRUFBYyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUM5QixXQUFNLEdBQUcsTUFBTSxFQUFjLENBQUM7UUFDOUIsY0FBUyxHQUFHLE1BQU0sRUFBYyxDQUFDO0tBcUJsQztJQW5CQyxZQUFZLENBQUMsS0FBaUI7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQjtRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBaUI7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFpQjtRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWlCO1FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7K0dBM0NVLHVCQUF1QjttR0FBdkIsdUJBQXVCLHkrQkM1QnBDLHVwSkF3SUEsdXRRRHRISSxxQkFBcUIsMExBQ3JCLFlBQVksdVZBQ1osZ0JBQWdCLDhKQUNoQixvQkFBb0I7OzRGQU9YLHVCQUF1QjtrQkFkbkMsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1A7d0JBQ1AscUJBQXFCO3dCQUNyQixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3FCQUNyQixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElCbWJDaGF0TWVzc2FnZSwgSUJtYkNoYXRHcHRJY29ucyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQm1iVXNlckltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLXVzZXItaW1hZ2UvYm1iLXVzZXItaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCbWJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWljb24vYm1iLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJtYlRleHRMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLXRleHQtbGluay9ibWItdGV4dC1saW5rLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1jaGF0LWJ1YmJsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCbWJVc2VySW1hZ2VDb21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJtYkljb25Db21wb25lbnQsXG4gICAgQm1iVGV4dExpbmtDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItY2hhdC1idWJibGVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1jaGF0LWJ1YmJsZXMuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQm1iQ2hhdEJ1YmJsZXNDb21wb25lbnQge1xuICBpY29uQm90ID0gaW5wdXQ8c3RyaW5nPignL2Fzc2V0cy9pbWFnZXMvYm90LWljb25zL2JvdF90ZWNTdGFuZGFyLnN2ZycpO1xuICBtZXNzYWdlID0gaW5wdXQucmVxdWlyZWQ8SUJtYkNoYXRNZXNzYWdlPigpO1xuICBncHRCb3QgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGdwdEljb25zID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBpc1RoaW5raW5nID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGljb25Cb3REZWZhdWx0ID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLmdwdEJvdCgpID8gJy9hc3NldHMvaW1hZ2VzL2JvdC1pY29ucy9jaGF0X2dwdC5zdmcnIDogdGhpcy5pY29uQm90KCksXG4gICk7XG5cbiAgZ3B0QWN0aXZlSWNvbnMgPSBpbnB1dDxJQm1iQ2hhdEdwdEljb25zPih7XG4gICAgcmVwZWF0OiB0cnVlLFxuICAgIHZvaWNlOiB0cnVlLFxuICAgIGNvcHk6IHRydWUsXG4gICAgbGlrZTogdHJ1ZSxcbiAgICBkaXNsaWtlOiB0cnVlLFxuICB9KTtcblxuICBvblJlcGVhdFJlcXVlc3QgPSBvdXRwdXQ8TW91c2VFdmVudD4oKTtcbiAgb25Wb2ljZSA9IG91dHB1dDxNb3VzZUV2ZW50PigpO1xuICBvbkNvcHkgPSBvdXRwdXQ8TW91c2VFdmVudD4oKTtcbiAgb25MaWtlID0gb3V0cHV0PE1vdXNlRXZlbnQ+KCk7XG4gIG9uRGlzbGlrZSA9IG91dHB1dDxNb3VzZUV2ZW50PigpO1xuXG4gIGhhbmRsZVJlcGVhdChldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMub25SZXBlYXRSZXF1ZXN0LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlVm9pY2UoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLm9uVm9pY2UuZW1pdChldmVudCk7XG4gIH1cblxuICBoYW5kbGVDb3B5Q29udGVudChldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMub25Db3B5LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlTGlrZShldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMub25MaWtlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlRGlzbGlrZShldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMub25EaXNsaWtlLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImJtYl9jaGF0LWJ1YmJsZVwiPlxuICA8c2VjdGlvbiBjbGFzcz1cImJtYl9jaGF0LWJ1YmJsZS1tYWluXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJibWJfY2hhdC1idWJibGUtbWFpbi1pbmZvXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2JtYl9jaGF0LWJ1YmJsZS11c2VyJzogbWVzc2FnZSgpLmlzVXNlck1lc3NhZ2VcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJibWJfY2hhdC1idWJibGUtcHJvZmlsZVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnYm1iX2NoYXQtYnViYmxlLXByb2ZpbGUtdG9wJzogIW1lc3NhZ2UoKS5pc1VzZXJNZXNzYWdlLFxuICAgICAgICAgICdibWJfY2hhdC1idWJibGUtcHJvZmlsZS1ib3R0b20nOiBtZXNzYWdlKCkuaXNVc2VyTWVzc2FnZVxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgQGlmIChtZXNzYWdlKCkuaXNVc2VyTWVzc2FnZSkge1xuICAgICAgICAgIDxibWItdXNlci1pbWFnZVxuICAgICAgICAgICAgW3NpemVdPVwiJ21vYmlsZS1zbWFsbCdcIlxuICAgICAgICAgICAgW2ltYWdlXT1cIm1lc3NhZ2UoKS51c2VyUHJvZmlsZSFcIlxuICAgICAgICAgICAgW2FsdEltYWdlXT1cIidBbHQgaW1hZ2UgZGVzY3JpcHRpb24nXCJcbiAgICAgICAgICAgIFtib3JkZXJlZF09XCJmYWxzZVwiXG4gICAgICAgICAgPjwvYm1iLXVzZXItaW1hZ2U+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLXByb2ZpbGUtYm90XCI+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLXByb2ZpbGUtYm90LWltYWdlXCJcbiAgICAgICAgICAgICAgW3NyY109XCJpY29uQm90RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgW2FsdF09XCInQm90J1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLW1zZy1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLW1zZ1wiXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2JtYl9jaGF0LWJ1YmJsZS1tc2ctdXNlclByb2ZpbGUtYm90dG9tJzogbWVzc2FnZSgpLmlzVXNlck1lc3NhZ2UsXG4gICAgICAgICAgICAnYm1iX2NoYXQtYnViYmxlLW1zZy10b3AnOiAhbWVzc2FnZSgpLmlzVXNlck1lc3NhZ2VcbiAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIEBpZiAoaXNUaGlua2luZygpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLW1zZy10aGlua2luZy1kb3RzXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLW1zZy10aGlua2luZy1kb3RcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLW1zZy10aGlua2luZy1kb3RcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLW1zZy10aGlua2luZy1kb3RcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAobWVzc2FnZSgpLnR5cGUgPT09ICdtaXhlZCcpIHtcbiAgICAgICAgICAgICAgPHA+e3sgbWVzc2FnZSgpLmNvbnRlbnQudGV4dCB9fTwvcD5cbiAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLW1zZy1pbWFnZVwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJtZXNzYWdlKCkuY29udGVudC5pbWFnZVVybFwiXG4gICAgICAgICAgICAgICAgYWx0PVwiTWVzc2FnZSBJbWdcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKG1lc3NhZ2UoKS50eXBlID09PSAndGV4dCcpIHtcbiAgICAgICAgICAgICAgPHA+e3sgbWVzc2FnZSgpLmNvbnRlbnQudGV4dCB9fTwvcD5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChtZXNzYWdlKCkudHlwZSA9PT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICAgIDxibWItdGV4dC1saW5rXG4gICAgICAgICAgICAgICAgW3RleHRMaW5rXT1cIm1lc3NhZ2UoKS5jb250ZW50LnRleHQhXCJcbiAgICAgICAgICAgICAgICBbdGV4dExpbmtTdHlsZV09XCIndW5kZXJsaW5lZCdcIlxuICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiJ19ibGFuaydcIlxuICAgICAgICAgICAgICAgIFtsaW5rXT1cIm1lc3NhZ2UoKS5jb250ZW50LmxpbmshXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICA+PC9ibWItdGV4dC1saW5rPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKG1lc3NhZ2UoKS50eXBlID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm1lc3NhZ2UoKS5jb250ZW50LnRlbXBsYXRlIVwiXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJibWJfY2hhdC1idWJibGUtZXh0cmFcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdibWJfY2hhdC1idWJibGUtZXh0cmEtdXNlcic6IG1lc3NhZ2UoKS5pc1VzZXJNZXNzYWdlXG4gICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICBAaWYgKG1lc3NhZ2UoKS5pc1VzZXJNZXNzYWdlKSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cImJtYl9jaGF0LWJ1YmJsZS1leHRyYS10aW1lXCI+XG4gICAgICAgICAgICAgIHt7IG1lc3NhZ2UoKS50aW1lIHwgZGF0ZTogJ2hoOm1tIGEnIH19XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLWV4dHJhLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICBAaWYgKGdwdEljb25zKCkpIHtcbiAgICAgICAgICAgICAgICA8Ym1iLWljb25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLWV4dHJhLWljb25cIlxuICAgICAgICAgICAgICAgICAgaWNvbj1cInJlcGVhdFwiXG4gICAgICAgICAgICAgICAgICBbaXNGaWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW3NpemVdPVwiMjRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVJlcGVhdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9ibWItaWNvbj5cbiAgICAgICAgICAgICAgICA8Ym1iLWljb25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLWV4dHJhLWljb25cIlxuICAgICAgICAgICAgICAgICAgaWNvbj1cInJlY29yZF92b2ljZV9vdmVyXCJcbiAgICAgICAgICAgICAgICAgIFtpc0ZpbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBbc2l6ZV09XCIyNFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlVm9pY2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvYm1iLWljb24+XG4gICAgICAgICAgICAgICAgPGJtYi1pY29uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImJtYl9jaGF0LWJ1YmJsZS1leHRyYS1pY29uXCJcbiAgICAgICAgICAgICAgICAgIGljb249XCJjb250ZW50X2NvcHlcIlxuICAgICAgICAgICAgICAgICAgW2lzRmlsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIFtzaXplXT1cIjI0XCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDb3B5Q29udGVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9ibWItaWNvbj5cbiAgICAgICAgICAgICAgICA8Ym1iLWljb25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLWV4dHJhLWljb25cIlxuICAgICAgICAgICAgICAgICAgaWNvbj1cInRodW1iX3VwXCJcbiAgICAgICAgICAgICAgICAgIFtpc0ZpbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBbc2l6ZV09XCIyNFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTGlrZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9ibWItaWNvbj5cbiAgICAgICAgICAgICAgICA8Ym1iLWljb25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLWV4dHJhLWljb25cIlxuICAgICAgICAgICAgICAgICAgaWNvbj1cInRodW1iX2Rvd25cIlxuICAgICAgICAgICAgICAgICAgW2lzRmlsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIFtzaXplXT1cIjI0XCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVEaXNsaWtlKCRldmVudClcIlxuICAgICAgICAgICAgICAgID48L2JtYi1pY29uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYm1iX2NoYXQtYnViYmxlLWV4dHJhLXRpbWVcIj5cbiAgICAgICAgICAgICAge3sgbWVzc2FnZSgpLnRpbWUgfCBkYXRlOiAnaGg6bW0gYScgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWNoYXQtYnViYmxlcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgVEJtYk1lc3NhZ2VUeXBlID0gJ3RleHQnIHwgJ21peGVkJyB8ICdpbWFnZScgfCAnbGluaycgfCAndGVtcGxhdGUnO1xuZXhwb3J0IHR5cGUgSUJtYkJ1YmJsZVBvc2l0aW9uID0gJ3RvcCcgfCAnYm90dG9tJztcblxuZXhwb3J0IGludGVyZmFjZSBJQm1iQ2hhdE1lc3NhZ2Uge1xuICB1c2VyUHJvZmlsZT86IHN0cmluZztcbiAgaXNVc2VyTWVzc2FnZTogYm9vbGVhbjtcbiAgdHlwZTogVEJtYk1lc3NhZ2VUeXBlO1xuICBjb250ZW50OiBNZXNzYWdlQ29udGVudDtcbiAgdGltZTogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlQ29udGVudCB7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGltYWdlVXJsPzogc3RyaW5nO1xuICBsaW5rPzogc3RyaW5nO1xuICB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJtYkNoYXRHcHRJY29ucyB7XG4gIHJlcGVhdDogYm9vbGVhbjtcbiAgdm9pY2U6IGJvb2xlYW47XG4gIGNvcHk6IGJvb2xlYW47XG4gIGxpa2U6IGJvb2xlYW47XG4gIGRpc2xpa2U6IGJvb2xlYW47XG59XG4iXX0=