@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1020 → 1.5.1118-a

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 (439) hide show
  1. package/assets/images/gif/mitecLogoIntroMobile.gif +0 -0
  2. package/assets/images/gif/mitecLogoIntroWeb.gif +0 -0
  3. package/assets/images/lang-flags/mx.svg +392 -0
  4. package/assets/images/lang-flags/us.svg +13 -0
  5. package/assets/styles/main.min.css +1 -1
  6. package/assets/styles/main.min.css.map +1 -1
  7. package/assets/svg/neutral_fill.svg +1 -0
  8. package/assets/svg/primary_fill.svg +1 -0
  9. package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +87 -0
  10. package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +159 -0
  11. package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +150 -0
  12. package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +49 -0
  13. package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +31 -0
  14. package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +35 -0
  15. package/esm2022/lib/components/bmb-advertisement-card/types.mjs +2 -0
  16. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +40 -0
  17. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +18 -0
  18. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +148 -0
  19. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +52 -0
  20. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +196 -0
  21. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +62 -0
  22. package/esm2022/lib/components/bmb-alert-center/types.mjs +2 -0
  23. package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +26 -0
  24. package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +26 -0
  25. package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +27 -0
  26. package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +42 -0
  27. package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +55 -0
  28. package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +30 -0
  29. package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +262 -0
  30. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +96 -0
  31. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +40 -0
  32. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +68 -0
  33. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +41 -0
  34. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.mjs +63 -0
  35. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +95 -0
  36. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +45 -0
  37. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +54 -0
  38. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +24 -0
  39. package/esm2022/lib/components/bmb-calendar/types.mjs +2 -0
  40. package/esm2022/lib/components/bmb-calendar/utils.mjs +96 -0
  41. package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +154 -0
  42. package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +76 -0
  43. package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +80 -0
  44. package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +175 -0
  45. package/esm2022/lib/components/bmb-chat-bar/bot_list.mjs +57 -0
  46. package/esm2022/lib/components/bmb-chat-bar/types.mjs +2 -0
  47. package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +56 -0
  48. package/esm2022/lib/components/bmb-chat-bubbles/types.mjs +2 -0
  49. package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +46 -0
  50. package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +80 -0
  51. package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +36 -0
  52. package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +27 -0
  53. package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +96 -0
  54. package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +69 -0
  55. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +211 -0
  56. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +123 -0
  57. package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +54 -0
  58. package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +25 -0
  59. package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +34 -0
  60. package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +54 -0
  61. package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +200 -0
  62. package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +28 -0
  63. package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +175 -0
  64. package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +76 -0
  65. package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +78 -0
  66. package/esm2022/lib/components/bmb-fab/bmb-fab-.interface.mjs +9 -0
  67. package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +37 -0
  68. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +154 -0
  69. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.interface.mjs +2 -0
  70. package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +36 -0
  71. package/esm2022/lib/components/bmb-form-validation/bmb-form-validation.component.mjs +159 -0
  72. package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +159 -0
  73. package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +29 -0
  74. package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +22 -0
  75. package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +181 -0
  76. package/esm2022/lib/components/bmb-grades/types.mjs +2 -0
  77. package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +55 -0
  78. package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +49 -0
  79. package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +77 -0
  80. package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +59 -0
  81. package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +76 -0
  82. package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +41 -0
  83. package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +39 -0
  84. package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +20 -0
  85. package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +49 -0
  86. package/esm2022/lib/components/bmb-icon/types.mjs +2 -0
  87. package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +23 -0
  88. package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +24 -0
  89. package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +19 -0
  90. package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +21 -0
  91. package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +33 -0
  92. package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +77 -0
  93. package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +147 -0
  94. package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.mjs +162 -0
  95. package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.mjs +116 -0
  96. package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +178 -0
  97. package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +85 -0
  98. package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +219 -0
  99. package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +191 -0
  100. package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +54 -0
  101. package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +34 -0
  102. package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +28 -0
  103. package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +23 -0
  104. package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +83 -0
  105. package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +60 -0
  106. package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +55 -0
  107. package/esm2022/lib/components/bmb-list-group/types.mjs +2 -0
  108. package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +83 -0
  109. package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +77 -0
  110. package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +55 -0
  111. package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +66 -0
  112. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +40 -0
  113. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +20 -0
  114. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +33 -0
  115. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +87 -0
  116. 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
  117. 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
  118. 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
  119. 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
  120. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +44 -0
  121. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +52 -0
  122. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +70 -0
  123. package/esm2022/lib/components/bmb-login-onboarding/types.mjs +2 -0
  124. package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +43 -0
  125. package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +64 -0
  126. package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +14 -0
  127. package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +88 -0
  128. package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +139 -0
  129. package/esm2022/lib/components/bmb-modal/bmb-modal.interface.mjs +2 -0
  130. package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +113 -0
  131. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +15 -0
  132. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +59 -0
  133. package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +30 -0
  134. package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +43 -0
  135. package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +86 -0
  136. package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +22 -0
  137. package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +52 -0
  138. package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +55 -0
  139. package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +129 -0
  140. package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +153 -0
  141. package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +39 -0
  142. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +196 -0
  143. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.mjs +2 -0
  144. package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +88 -0
  145. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +75 -0
  146. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +24 -0
  147. package/esm2022/lib/components/bmb-push-notification/types.mjs +2 -0
  148. package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +78 -0
  149. package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +117 -0
  150. package/esm2022/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.mjs +16 -0
  151. package/esm2022/lib/components/bmb-select/bmb-select.component.mjs +55 -0
  152. package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +82 -0
  153. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +103 -0
  154. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.interface.mjs +2 -0
  155. package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +64 -0
  156. package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +16 -0
  157. package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +64 -0
  158. package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +32 -0
  159. package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +41 -0
  160. package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +53 -0
  161. package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +27 -0
  162. package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +88 -0
  163. package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +545 -0
  164. package/esm2022/lib/components/bmb-tables/bmb-tables.interface.mjs +2 -0
  165. package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +127 -0
  166. package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +65 -0
  167. package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +135 -0
  168. package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +43 -0
  169. package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +65 -0
  170. package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +30 -0
  171. package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +74 -0
  172. package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +13 -0
  173. package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +238 -0
  174. package/esm2022/lib/components/bmb-timestream/types.mjs +2 -0
  175. package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +139 -0
  176. package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +61 -0
  177. package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +47 -0
  178. package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +26 -0
  179. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +31 -0
  180. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +56 -0
  181. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +80 -0
  182. package/esm2022/lib/components/bmb-top-bar/types.mjs +2 -0
  183. package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +139 -0
  184. package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +44 -0
  185. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +19 -0
  186. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +71 -0
  187. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +51 -0
  188. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +28 -0
  189. package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +23 -0
  190. package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +85 -0
  191. package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +128 -0
  192. package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +55 -0
  193. package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +88 -0
  194. package/esm2022/lib/directives/bmb-button/button.directive.mjs +84 -0
  195. package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +29 -0
  196. package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +51 -0
  197. package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +36 -0
  198. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +34 -0
  199. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +37 -0
  200. package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +89 -0
  201. package/esm2022/lib/directives/utils/clickoutside.directive.mjs +41 -0
  202. package/esm2022/lib/ds-ng.component.mjs +11 -0
  203. package/esm2022/lib/ds-ng.service.mjs +14 -0
  204. package/esm2022/lib/services/calendar.service.mjs +51 -0
  205. package/esm2022/lib/services/index.mjs +3 -0
  206. package/esm2022/lib/services/native-modal.service.mjs +60 -0
  207. package/esm2022/lib/services/notification.service.mjs +77 -0
  208. package/esm2022/lib/services/projection.service.mjs +49 -0
  209. package/esm2022/lib/services/tabs.service.mjs +30 -0
  210. package/esm2022/lib/services/theme.service.mjs +30 -0
  211. package/esm2022/lib/services/toast.service.mjs +24 -0
  212. package/esm2022/lib/services/user/profile.service.mjs +26 -0
  213. package/esm2022/lib/types/colors.mjs +2 -0
  214. package/esm2022/lib/types/index.mjs +11 -0
  215. package/esm2022/lib/utils/countryCodes.mjs +1089 -0
  216. package/esm2022/lib/utils/currencyFormat.mjs +7 -0
  217. package/esm2022/lib/utils/dropdown.mjs +85 -0
  218. package/esm2022/lib/utils/formControl.mjs +25 -0
  219. package/esm2022/lib/utils/timestreamFilters.mjs +32 -0
  220. package/esm2022/lib/utils/utils.mjs +66 -0
  221. package/esm2022/public-api.mjs +152 -0
  222. package/esm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +5 -0
  223. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +3888 -3183
  224. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
  225. package/index.d.ts +5 -3573
  226. package/lib/components/bmb-academic-progress/bmb-academic-progress.component.d.ts +21 -0
  227. package/lib/components/bmb-accordion/bmb-accordion.component.d.ts +37 -0
  228. package/lib/components/bmb-account-statement/bmb-account-statement.component.d.ts +54 -0
  229. package/lib/components/bmb-action-icon/bmb-action-icon.component.d.ts +23 -0
  230. package/lib/components/bmb-action-menu/bmb-action-menu.component.d.ts +17 -0
  231. package/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.d.ts +13 -0
  232. package/lib/components/bmb-advertisement-card/types.d.ts +21 -0
  233. package/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.d.ts +10 -0
  234. package/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.d.ts +7 -0
  235. package/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.d.ts +31 -0
  236. package/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.d.ts +20 -0
  237. package/lib/components/bmb-alert-center/bmb-alert-center.component.d.ts +46 -0
  238. package/lib/components/bmb-alert-center/bmb-alert-center.service.d.ts +20 -0
  239. package/lib/components/bmb-alert-center/types.d.ts +64 -0
  240. package/lib/components/bmb-badge/bmb-badge.component.d.ts +11 -0
  241. package/lib/components/bmb-balance-overview/bmb-balance-overview.component.d.ts +15 -0
  242. package/lib/components/bmb-bookmark/bmb-bookmark.component.d.ts +8 -0
  243. package/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.d.ts +25 -0
  244. package/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.d.ts +27 -0
  245. package/lib/components/bmb-button-icon/bmb-button-icon.component.d.ts +16 -0
  246. package/lib/components/bmb-calendar/bmb-calendar.component.d.ts +65 -0
  247. package/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.d.ts +20 -0
  248. package/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.d.ts +13 -0
  249. package/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.d.ts +16 -0
  250. package/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.d.ts +18 -0
  251. package/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.d.ts +17 -0
  252. package/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.d.ts +31 -0
  253. package/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.d.ts +18 -0
  254. package/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.d.ts +23 -0
  255. package/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.d.ts +9 -0
  256. package/lib/components/bmb-calendar/types.d.ts +43 -0
  257. package/lib/components/bmb-calendar/utils.d.ts +12 -0
  258. package/lib/components/bmb-card/bmb-card.component.d.ts +42 -0
  259. package/lib/components/bmb-card-button/bmb-card-button.component.d.ts +50 -0
  260. package/lib/components/bmb-carousel/bmb-carousel.component.d.ts +20 -0
  261. package/lib/components/bmb-chat-bar/bmb-chat-bar.component.d.ts +62 -0
  262. package/lib/components/bmb-chat-bar/bot_list.d.ts +6 -0
  263. package/lib/components/bmb-chat-bar/types.d.ts +9 -0
  264. package/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.d.ts +23 -0
  265. package/lib/components/bmb-chat-bubbles/types.d.ts +23 -0
  266. package/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.d.ts +21 -0
  267. package/lib/components/bmb-checkbox/bmb-checkbox.component.d.ts +33 -0
  268. package/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.d.ts +17 -0
  269. package/lib/components/bmb-container/bmb-container.component.d.ts +9 -0
  270. package/lib/components/bmb-container-button/bmb-container-button.component.d.ts +39 -0
  271. package/lib/components/bmb-date-range/bmb-date-range.component.d.ts +35 -0
  272. package/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.d.ts +40 -0
  273. package/lib/components/bmb-datepicker/bmb-datepicker.component.d.ts +44 -0
  274. package/lib/components/bmb-digital-id/bmb-digital-id.component.d.ts +26 -0
  275. package/lib/components/bmb-divider/bmb-divider.component.d.ts +8 -0
  276. package/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.d.ts +17 -0
  277. package/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.d.ts +24 -0
  278. package/lib/components/bmb-dropdown/bmb-dropdown.component.d.ts +61 -0
  279. package/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.d.ts +10 -0
  280. package/lib/components/bmb-dropzone/bmb-dropzone.component.d.ts +49 -0
  281. package/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.d.ts +45 -0
  282. package/lib/components/bmb-external-link/bmb-external-link.component.d.ts +22 -0
  283. package/lib/components/bmb-fab/bmb-fab-.interface.d.ts +10 -0
  284. package/lib/components/bmb-fab/bmb-fab.component.d.ts +15 -0
  285. package/lib/components/bmb-filter-card/bmb-filter-card.component.d.ts +33 -0
  286. package/lib/components/bmb-filter-card/bmb-filter-card.interface.d.ts +10 -0
  287. package/lib/components/bmb-focus-element/bmb-focus-element.component.d.ts +14 -0
  288. package/lib/components/bmb-form-validation/bmb-form-validation.component.d.ts +34 -0
  289. package/lib/components/bmb-form-validator/bmb-form-validator.component.d.ts +34 -0
  290. package/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.d.ts +13 -0
  291. package/lib/components/bmb-grade-value/bmb-grade-value.component.d.ts +11 -0
  292. package/lib/components/bmb-grades/bmb-grades.component.d.ts +43 -0
  293. package/lib/components/bmb-grades/types.d.ts +25 -0
  294. package/lib/components/bmb-header-mitec/bmb-header-mitec.component.d.ts +17 -0
  295. package/lib/components/bmb-header-mobile/bmb-header-mobile.component.d.ts +23 -0
  296. package/lib/components/bmb-hito-card/bmb-hito-card.component.d.ts +23 -0
  297. package/lib/components/bmb-hito-list/bmb-hito-list.component.d.ts +24 -0
  298. package/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.d.ts +28 -0
  299. package/lib/components/bmb-home-card/bmb-home-card.component.d.ts +27 -0
  300. package/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.d.ts +25 -0
  301. package/lib/components/bmb-home-section/bmb-home-section.component.d.ts +9 -0
  302. package/lib/components/bmb-icon/bmb-icon.component.d.ts +23 -0
  303. package/lib/components/bmb-icon/types.d.ts +1 -0
  304. package/lib/components/bmb-icon-item/bmb-icon-item.component.d.ts +13 -0
  305. package/lib/components/bmb-icon-status/bmb-icon-status.component.d.ts +10 -0
  306. package/lib/components/bmb-iframe/bmb-iframe.component.d.ts +11 -0
  307. package/lib/components/bmb-iframe/bmb-iframe.pipe.d.ts +10 -0
  308. package/lib/components/bmb-image/bmb-image.component.d.ts +19 -0
  309. package/lib/components/bmb-inner-header/bmb-inner-header.component.d.ts +29 -0
  310. package/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.d.ts +53 -0
  311. package/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.d.ts +46 -0
  312. package/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.d.ts +16 -0
  313. package/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.d.ts +45 -0
  314. package/lib/components/bmb-input/bmb-input.component.d.ts +68 -0
  315. package/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.d.ts +52 -0
  316. package/lib/components/bmb-input-tags/bmb-input-tags.component.d.ts +55 -0
  317. package/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.d.ts +23 -0
  318. package/lib/components/bmb-invoice/bmb-invoice.component.d.ts +31 -0
  319. package/lib/components/bmb-item/bmb-item.component.d.ts +16 -0
  320. package/lib/components/bmb-legend/bmb-legend.component.d.ts +9 -0
  321. package/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.d.ts +33 -0
  322. package/lib/components/bmb-list-group/bmb-list-group.component.d.ts +27 -0
  323. package/lib/components/bmb-list-group/bmb-list-group.service.d.ts +18 -0
  324. package/lib/components/bmb-list-group/types.d.ts +1 -0
  325. package/lib/components/bmb-list-items/bmb-list-items.component.d.ts +33 -0
  326. package/lib/components/bmb-loader/bmb-loader.component.d.ts +31 -0
  327. package/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.d.ts +27 -0
  328. package/lib/components/bmb-login/bmb-login.component.d.ts +33 -0
  329. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.d.ts +14 -0
  330. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.d.ts +8 -0
  331. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.d.ts +12 -0
  332. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.d.ts +18 -0
  333. 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
  334. 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
  335. 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
  336. 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
  337. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.d.ts +15 -0
  338. package/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.d.ts +20 -0
  339. package/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.d.ts +25 -0
  340. package/lib/components/bmb-login-onboarding/types.d.ts +15 -0
  341. package/lib/components/bmb-logo/bmb-logo.component.d.ts +19 -0
  342. package/lib/components/bmb-media-card/bmb-media-card.component.d.ts +34 -0
  343. package/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.d.ts +6 -0
  344. package/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.d.ts +47 -0
  345. package/lib/components/bmb-modal/bmb-modal.component.d.ts +31 -0
  346. package/lib/components/bmb-modal/bmb-modal.interface.d.ts +41 -0
  347. package/lib/components/bmb-modal/bmb-native-modal.component.d.ts +44 -0
  348. package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.d.ts +7 -0
  349. package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.d.ts +15 -0
  350. package/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.d.ts +13 -0
  351. package/lib/components/bmb-notice-card/bmb-notice-card.component.d.ts +21 -0
  352. package/lib/components/bmb-notification-card/bmb-notification-card.component.d.ts +27 -0
  353. package/lib/components/bmb-overlay/bmb-overlay.component.d.ts +9 -0
  354. package/lib/components/bmb-paginator/bmb-paginator.component.d.ts +14 -0
  355. package/lib/components/bmb-portal/bmb-portal.component.d.ts +22 -0
  356. package/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.d.ts +42 -0
  357. package/lib/components/bmb-profile/bmb-profile.component.d.ts +34 -0
  358. package/lib/components/bmb-progress-bar/bmb-progress-bar.component.d.ts +19 -0
  359. package/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.d.ts +51 -0
  360. package/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.d.ts +12 -0
  361. package/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.d.ts +23 -0
  362. package/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.d.ts +18 -0
  363. package/lib/components/bmb-push-notification/bmb-push-notification.component.d.ts +11 -0
  364. package/lib/components/bmb-push-notification/types.d.ts +46 -0
  365. package/lib/components/bmb-radial/bmb-radial.component.d.ts +33 -0
  366. package/lib/components/bmb-search-input/bmb-search-input.component.d.ts +33 -0
  367. package/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.d.ts +6 -0
  368. package/lib/components/bmb-select/bmb-select.component.d.ts +17 -0
  369. package/lib/components/bmb-server-table/bmb-server-table.component.d.ts +26 -0
  370. package/lib/components/bmb-sidebar/bmb-sidebar.component.d.ts +27 -0
  371. package/lib/components/bmb-sidebar/bmb-sidebar.interface.d.ts +10 -0
  372. package/lib/components/bmb-simple-header/bmb-simple-header.component.d.ts +10 -0
  373. package/lib/components/bmb-skeleton/bmb-skeleton.component.d.ts +7 -0
  374. package/lib/components/bmb-sounds-card/bmb-sounds-card.component.d.ts +24 -0
  375. package/lib/components/bmb-stat-counter/bmb-stat-counter.component.d.ts +11 -0
  376. package/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.d.ts +20 -0
  377. package/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.d.ts +23 -0
  378. package/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.d.ts +10 -0
  379. package/lib/components/bmb-switch/bmb-switch.component.d.ts +25 -0
  380. package/lib/components/bmb-tables/bmb-tables.component.d.ts +104 -0
  381. package/lib/components/bmb-tables/bmb-tables.interface.d.ts +21 -0
  382. package/lib/components/bmb-tabs/bmb-tabs.component.d.ts +41 -0
  383. package/lib/components/bmb-tags/bmb-tags.component.d.ts +25 -0
  384. package/lib/components/bmb-text-editor/bmb-text-editor.component.d.ts +34 -0
  385. package/lib/components/bmb-text-link/bmb-text-link.component.d.ts +17 -0
  386. package/lib/components/bmb-theme/bmb-theme.component.d.ts +19 -0
  387. package/lib/components/bmb-three-cols/bmb-three-cols.component.d.ts +15 -0
  388. package/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.d.ts +25 -0
  389. package/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.d.ts +5 -0
  390. package/lib/components/bmb-timestream/bmb-timestream.component.d.ts +67 -0
  391. package/lib/components/bmb-timestream/types.d.ts +54 -0
  392. package/lib/components/bmb-timestream-card/bmb-timestream-card.component.d.ts +29 -0
  393. package/lib/components/bmb-title-content/bmb-title-content.component.d.ts +26 -0
  394. package/lib/components/bmb-toast/bmb-toast.component.d.ts +16 -0
  395. package/lib/components/bmb-tooltip/bmb-tooltip.component.d.ts +15 -0
  396. package/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.d.ts +7 -0
  397. package/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.d.ts +30 -0
  398. package/lib/components/bmb-top-bar/bmb-top-bar.component.d.ts +44 -0
  399. package/lib/components/bmb-top-bar/types.d.ts +6 -0
  400. package/lib/components/bmb-totp/bmb-totp.component.d.ts +31 -0
  401. package/lib/components/bmb-user-image/bmb-user-image.component.d.ts +19 -0
  402. package/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.d.ts +10 -0
  403. package/lib/components/bmb-user-profile/bmb-user-profile.component.d.ts +19 -0
  404. package/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.d.ts +24 -0
  405. package/lib/components/bmb-user-summary/bmb-user-summary.component.d.ts +14 -0
  406. package/lib/components/bmb-value-counter/bmb-value-counter.component.d.ts +8 -0
  407. package/lib/components/bmb-web-templates/bmb-web-templates.component.d.ts +42 -0
  408. package/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.d.ts +40 -0
  409. package/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.d.ts +16 -0
  410. package/lib/directives/bmb-accordion/bmb-accordion-control.directive.d.ts +22 -0
  411. package/lib/directives/bmb-button/button.directive.d.ts +29 -0
  412. package/lib/directives/bmb-button-group/bmb-button-group.directive.d.ts +10 -0
  413. package/lib/directives/bmb-layout/bmb-layout-item.directive.d.ts +20 -0
  414. package/lib/directives/bmb-layout/bmb-layout.directive.d.ts +15 -0
  415. package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.d.ts +9 -0
  416. package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.d.ts +14 -0
  417. package/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.d.ts +29 -0
  418. package/lib/directives/utils/clickoutside.directive.d.ts +15 -0
  419. package/lib/ds-ng.component.d.ts +5 -0
  420. package/lib/ds-ng.service.d.ts +6 -0
  421. package/lib/services/calendar.service.d.ts +15 -0
  422. package/lib/services/index.d.ts +2 -0
  423. package/lib/services/native-modal.service.d.ts +18 -0
  424. package/lib/services/notification.service.d.ts +20 -0
  425. package/lib/services/projection.service.d.ts +30 -0
  426. package/lib/services/tabs.service.d.ts +13 -0
  427. package/lib/services/theme.service.d.ts +11 -0
  428. package/lib/services/toast.service.d.ts +9 -0
  429. package/lib/services/user/profile.service.d.ts +9 -0
  430. package/lib/types/colors.d.ts +2 -0
  431. package/lib/types/index.d.ts +127 -0
  432. package/lib/utils/countryCodes.d.ts +7 -0
  433. package/lib/utils/currencyFormat.d.ts +1 -0
  434. package/lib/utils/dropdown.d.ts +6 -0
  435. package/lib/utils/formControl.d.ts +7 -0
  436. package/lib/utils/timestreamFilters.d.ts +2 -0
  437. package/lib/utils/utils.d.ts +12 -0
  438. package/package.json +4 -2
  439. package/public-api.d.ts +143 -0
@@ -0,0 +1,178 @@
1
+ import { ChangeDetectionStrategy, Component, input, model, ViewEncapsulation, } from '@angular/core';
2
+ import { ReactiveFormsModule, Validators, } from '@angular/forms';
3
+ import { CommonModule } from '@angular/common';
4
+ import { BmbTooltipComponent } from '../../bmb-tooltip/bmb-tooltip.component';
5
+ import { getPositionClass } from '../../../utils/utils';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ export class BmbInputValidatorComponent {
9
+ constructor(cdr) {
10
+ this.cdr = cdr;
11
+ this.inputId = input('');
12
+ this.type = input('text');
13
+ this.appearance = input('normal');
14
+ this.label = input('');
15
+ this.labelPosition = input();
16
+ this.name = input('');
17
+ this.value = input();
18
+ this.checked = input(false);
19
+ this.isRequired = input(false);
20
+ this.isDisabled = input(false);
21
+ this.max = input();
22
+ this.min = input();
23
+ this.maxLength = input();
24
+ this.minLength = input();
25
+ this.pattern = input();
26
+ this.jsonFormat = input(false);
27
+ this.tooltip = input('');
28
+ this.rows = input(3);
29
+ this.tooltipPosition = input({
30
+ align: 'above',
31
+ justify: 'before',
32
+ });
33
+ this.showMaxTextLength = input(true);
34
+ this.helperMessage = input('');
35
+ this.errorMessage = input('');
36
+ this.customValidation = input();
37
+ this.showError = model(false);
38
+ this.control = model();
39
+ }
40
+ ngOnInit() {
41
+ if (!!this.min() && !!this.max() && this.max() < this.min()) {
42
+ throw new Error(`
43
+ [${this.name()}]: Please enter a value greater or equal than min.
44
+ The values ​​entered are:
45
+ -min: ${this.min()}
46
+ -max: ${this.max()}
47
+ `);
48
+ }
49
+ this.addControlConfig(this.type(), this.value(), this.checked(), this.isRequired(), this.min(), this.max(), this.minLength(), this.pattern(), this.jsonFormat(), this.customValidation());
50
+ }
51
+ addControlConfig(type, value, checked, isRequired, min, max, minLength, pattern, isJsonFormat, customValidation) {
52
+ if (!this.control()?.value && (!!value || checked)) {
53
+ this.addValue(this.control(), type, value, checked);
54
+ }
55
+ if (isRequired && !this.control()?.hasValidator(Validators.required)) {
56
+ this.control()?.addValidators(Validators.required);
57
+ }
58
+ if (min) {
59
+ this.control()?.addValidators(Validators.min(min));
60
+ }
61
+ if (max) {
62
+ this.control()?.addValidators(Validators.max(max));
63
+ }
64
+ if (minLength) {
65
+ this.control()?.addValidators(Validators.minLength(minLength));
66
+ }
67
+ if (pattern) {
68
+ this.control()?.addValidators(Validators.pattern(pattern));
69
+ }
70
+ if (type === 'email' && !this.control()?.hasValidator(Validators.email)) {
71
+ this.control()?.addValidators(Validators.email);
72
+ }
73
+ if (isJsonFormat) {
74
+ this.control()?.addValidators(this.validatorError('jsonValidation'));
75
+ }
76
+ if (!!customValidation) {
77
+ if (Array.isArray(customValidation)) {
78
+ customValidation.forEach((currentValidation) => this.control()?.addValidators(this.validatorError(currentValidation)));
79
+ }
80
+ else {
81
+ this.control()?.addValidators(this.validatorError(customValidation));
82
+ }
83
+ }
84
+ if (this.isDisabled())
85
+ this.control()?.disable();
86
+ else
87
+ this.control()?.enable();
88
+ this.control()?.valueChanges.subscribe(() => {
89
+ this.cdr.markForCheck();
90
+ });
91
+ }
92
+ validatorError(errorType) {
93
+ if (typeof errorType === 'string') {
94
+ return (control) => {
95
+ if (!control.value) {
96
+ return null;
97
+ }
98
+ if (errorType === 'jsonValidation') {
99
+ try {
100
+ JSON.parse(control.value);
101
+ return null;
102
+ }
103
+ catch (e) {
104
+ return { invalidJson: true };
105
+ }
106
+ }
107
+ return null;
108
+ };
109
+ }
110
+ else {
111
+ return errorType;
112
+ }
113
+ }
114
+ addValue(control, type, value, checked) {
115
+ if (type === 'checkbox' || type === 'radio') {
116
+ if (checked) {
117
+ if (!!value)
118
+ control.setValue(value);
119
+ else
120
+ control.setValue(checked);
121
+ }
122
+ return;
123
+ }
124
+ if (type === 'switch') {
125
+ if (checked)
126
+ control.setValue(checked);
127
+ return;
128
+ }
129
+ if (value) {
130
+ control.setValue(value);
131
+ return;
132
+ }
133
+ }
134
+ getClasses(className) {
135
+ if (this.type() === 'radio' || this.type() === 'checkbox') {
136
+ return getPositionClass(`${className}-direction`, this.labelPosition());
137
+ }
138
+ return '';
139
+ }
140
+ getErrorType(errorMessages, type, alternativeMessage) {
141
+ if (!!errorMessages && !!errorMessages[type])
142
+ return errorMessages[type];
143
+ return alternativeMessage;
144
+ }
145
+ isFieldRequired() {
146
+ return (this.control()?.hasValidator(Validators.required) || this.isRequired());
147
+ }
148
+ getErrorMessage() {
149
+ if (typeof this.errorMessage() === 'string' && !!this.errorMessage()) {
150
+ return this.errorMessage().toString();
151
+ }
152
+ const errorMessages = this.errorMessage();
153
+ if (this.control()?.hasError('pattern'))
154
+ return this.getErrorType(errorMessages, 'pattern', `Por favor ingresa el formato permitido ${this.pattern()}`);
155
+ if (this.control()?.hasError('min'))
156
+ return this.getErrorType(errorMessages, 'min', `Por favor ingresa un valor mayor o igual que ${this.min()}`);
157
+ if (this.control()?.hasError('max'))
158
+ return this.getErrorType(errorMessages, 'max', `Por favor ingresa un valor menor o igual que ${this.max()}`);
159
+ if (this.control()?.hasError('minlength'))
160
+ return this.getErrorType(errorMessages, 'minLength', `Por favor ingresa al menos ${this.minLength()} carácteres`);
161
+ if (this.control()?.hasError('maxlength'))
162
+ return this.getErrorType(errorMessages, 'maxLength', `Por favor ingresa máximo ${this.maxLength()} carácteres`);
163
+ if (this.control()?.hasError('required'))
164
+ return this.getErrorType(errorMessages, 'required', `Por favor ingresa el dato de ${this.label()}`);
165
+ if (this.control()?.hasError('invalidJson'))
166
+ return this.getErrorType(errorMessages, 'jsonFormat', 'Por favor ingresa el contenido en formato JSON válido');
167
+ if (this.control()?.hasError('customValidation'))
168
+ return errorMessages?.customValidation || '';
169
+ return '';
170
+ }
171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbInputValidatorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
172
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BmbInputValidatorComponent, isStandalone: true, selector: "bmb-input-validator", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, jsonFormat: { classPropertyName: "jsonFormat", publicName: "jsonFormat", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, showMaxTextLength: { classPropertyName: "showMaxTextLength", publicName: "showMaxTextLength", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { showError: "showErrorChange", control: "controlChange" }, ngImport: i0, template: "<section\n #inputValidation\n class=\"bmb_input-validator\"\n [ngClass]=\"{ disabled: isDisabled() }\"\n>\n <span\n class=\"bmb_input-validator-wrapper\"\n [ngClass]=\"getClasses('bmb_input-validator')\"\n >\n @if (\n !!label() ||\n isRequired() ||\n !!tooltip() ||\n (type() === \"text-area\" && showMaxTextLength())\n ) {\n <label class=\"bmb_input-validator-label\" [htmlFor]=\"inputId()\">\n {{ label() }}\n @if (isFieldRequired()) {\n <small class=\"bmb_input-validator-label-required\">*</small>\n }\n @if (!!tooltip()) {\n <bmb-tooltip\n class=\"bmb_input-validator-label-tooltip\"\n [text]=\"tooltip()\"\n [align]=\"tooltipPosition().align\"\n [justify]=\"tooltipPosition().justify\"\n [icon]=\"'help'\"\n [size]=\"20\"\n />\n }\n @if (type() === \"text-area\" && showMaxTextLength()) {\n <span class=\"bmb_input-validator-label-max\">\n {{ control()?.value?.toString().length }}/{{ maxLength() || \"-\" }}\n </span>\n }\n </label>\n }\n <ng-content />\n </span>\n @if (!!helperMessage() || showError()) {\n <div class=\"bmb_input-validator-support\">\n @if (showError()) {\n <p class=\"bmb_input-validator-support-error\">\n {{ getErrorMessage() }}\n </p>\n } @else if (!!helperMessage()) {\n <p [class]=\"'bmb_input-validator-support-helper-' + appearance()\">\n {{ helperMessage() }}\n </p>\n }\n </div>\n }\n</section>\n", styles: ["@font-face{font-family:Poppins-Thin;font-style:normal;font-weight:100;src:url(/assets/fonts/Poppins/Poppins-Thin.ttf) format(\"truetype\")}@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-Medium;font-style:normal;font-weight:500;src:url(/assets/fonts/Poppins/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Semibold;font-style:normal;font-weight:600;src:url(/assets/fonts/Poppins/Poppins-SemiBold.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_input-validator{-webkit-user-select:none;user-select:none}.bmb_input-validator-wrapper{display:block;position:relative}.bmb_input-validator-direction-before{display:inline-flex;flex-direction:row;cursor:pointer}.bmb_input-validator-direction-after{display:inline-flex;flex-direction:row-reverse;cursor:pointer}.bmb_input-validator-label{display:flex;position:relative;padding:var(--bmb-spacing-s);gap:var(--bmb-spacing-s);font-family:Poppins-Regular,sans-serif;font-size:.875rem;color:var(--general_contrasts-100)}.bmb_input-validator-label-required{color:var(--input-error)}.bmb_input-validator-label-tooltip{color:var(--general_contrasts-50)}.bmb_input-validator-label-max{margin-left:auto;padding-right:var(--bmb-spacing-s)}.bmb_input-validator-support{display:flex;padding:var(--bmb-spacing-s)}.bmb_input-validator-support-helper-normal{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-input-outline)}.bmb_input-validator-support-helper-simple{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-50)}.bmb_input-validator-support-error{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--input-error)}.bmb_input-validator.disabled{pointer-events:none;opacity:.5}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: BmbTooltipComponent, selector: "bmb-tooltip", inputs: ["text", "title", "icon", "size", "align", "justify", "isFill"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
173
+ }
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbInputValidatorComponent, decorators: [{
175
+ type: Component,
176
+ args: [{ selector: 'bmb-input-validator', standalone: true, imports: [CommonModule, ReactiveFormsModule, BmbTooltipComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n #inputValidation\n class=\"bmb_input-validator\"\n [ngClass]=\"{ disabled: isDisabled() }\"\n>\n <span\n class=\"bmb_input-validator-wrapper\"\n [ngClass]=\"getClasses('bmb_input-validator')\"\n >\n @if (\n !!label() ||\n isRequired() ||\n !!tooltip() ||\n (type() === \"text-area\" && showMaxTextLength())\n ) {\n <label class=\"bmb_input-validator-label\" [htmlFor]=\"inputId()\">\n {{ label() }}\n @if (isFieldRequired()) {\n <small class=\"bmb_input-validator-label-required\">*</small>\n }\n @if (!!tooltip()) {\n <bmb-tooltip\n class=\"bmb_input-validator-label-tooltip\"\n [text]=\"tooltip()\"\n [align]=\"tooltipPosition().align\"\n [justify]=\"tooltipPosition().justify\"\n [icon]=\"'help'\"\n [size]=\"20\"\n />\n }\n @if (type() === \"text-area\" && showMaxTextLength()) {\n <span class=\"bmb_input-validator-label-max\">\n {{ control()?.value?.toString().length }}/{{ maxLength() || \"-\" }}\n </span>\n }\n </label>\n }\n <ng-content />\n </span>\n @if (!!helperMessage() || showError()) {\n <div class=\"bmb_input-validator-support\">\n @if (showError()) {\n <p class=\"bmb_input-validator-support-error\">\n {{ getErrorMessage() }}\n </p>\n } @else if (!!helperMessage()) {\n <p [class]=\"'bmb_input-validator-support-helper-' + appearance()\">\n {{ helperMessage() }}\n </p>\n }\n </div>\n }\n</section>\n", styles: ["@font-face{font-family:Poppins-Thin;font-style:normal;font-weight:100;src:url(/assets/fonts/Poppins/Poppins-Thin.ttf) format(\"truetype\")}@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-Medium;font-style:normal;font-weight:500;src:url(/assets/fonts/Poppins/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Semibold;font-style:normal;font-weight:600;src:url(/assets/fonts/Poppins/Poppins-SemiBold.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_input-validator{-webkit-user-select:none;user-select:none}.bmb_input-validator-wrapper{display:block;position:relative}.bmb_input-validator-direction-before{display:inline-flex;flex-direction:row;cursor:pointer}.bmb_input-validator-direction-after{display:inline-flex;flex-direction:row-reverse;cursor:pointer}.bmb_input-validator-label{display:flex;position:relative;padding:var(--bmb-spacing-s);gap:var(--bmb-spacing-s);font-family:Poppins-Regular,sans-serif;font-size:.875rem;color:var(--general_contrasts-100)}.bmb_input-validator-label-required{color:var(--input-error)}.bmb_input-validator-label-tooltip{color:var(--general_contrasts-50)}.bmb_input-validator-label-max{margin-left:auto;padding-right:var(--bmb-spacing-s)}.bmb_input-validator-support{display:flex;padding:var(--bmb-spacing-s)}.bmb_input-validator-support-helper-normal{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-input-outline)}.bmb_input-validator-support-helper-simple{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-50)}.bmb_input-validator-support-error{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--input-error)}.bmb_input-validator.disabled{pointer-events:none;opacity:.5}\n"] }]
177
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXZhbGlkYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWlucHV0L2JtYi1pbnB1dC12YWxpZGF0b3IvYm1iLWlucHV0LXZhbGlkYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWlucHV0L2JtYi1pbnB1dC12YWxpZGF0b3IvYm1iLWlucHV0LXZhbGlkYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQU92QixPQUFPLEVBR0wsbUJBQW1CLEVBRW5CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBa0J4RCxNQUFNLE9BQU8sMEJBQTBCO0lBK0JyQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTlCMUMsWUFBTyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1QixTQUFJLEdBQUcsS0FBSyxDQUFtQyxNQUFNLENBQUMsQ0FBQztRQUN2RCxlQUFVLEdBQUcsS0FBSyxDQUErQixRQUFRLENBQUMsQ0FBQztRQUMzRCxVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxFQUEyQixDQUFDO1FBQ2pELFNBQUksR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDekIsVUFBSyxHQUFHLEtBQUssRUFBcUIsQ0FBQztRQUNuQyxZQUFPLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkMsZUFBVSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuQyxRQUFHLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDdEIsUUFBRyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUM1QixjQUFTLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDNUIsWUFBTyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzFCLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkMsWUFBTyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1QixTQUFJLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLG9CQUFlLEdBQUcsS0FBSyxDQUEyQjtZQUNoRCxLQUFLLEVBQUUsT0FBTztZQUNkLE9BQU8sRUFBRSxRQUFRO1NBQ2xCLENBQUMsQ0FBQztRQUNILHNCQUFpQixHQUFHLEtBQUssQ0FBaUIsSUFBSSxDQUFDLENBQUM7UUFDaEQsa0JBQWEsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDbEMsaUJBQVksR0FBRyxLQUFLLENBQTBCLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELHFCQUFnQixHQUFHLEtBQUssRUFBK0IsQ0FBQztRQUV4RCxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLFlBQU8sR0FBRyxLQUFLLEVBQWUsQ0FBQztJQUVjLENBQUM7SUFFOUMsUUFBUTtRQUNOLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFHLEVBQUUsQ0FBQztZQUM5RCxNQUFNLElBQUksS0FBSyxDQUNiO2FBQ0ssSUFBSSxDQUFDLElBQUksRUFBRTs7a0JBRU4sSUFBSSxDQUFDLEdBQUcsRUFBRTtrQkFDVixJQUFJLENBQUMsR0FBRyxFQUFFO1dBQ2pCLENBQ0osQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFDWCxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQ1osSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUNkLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFDakIsSUFBSSxDQUFDLEdBQUcsRUFBRyxFQUNYLElBQUksQ0FBQyxHQUFHLEVBQUcsRUFDWCxJQUFJLENBQUMsU0FBUyxFQUFHLEVBQ2pCLElBQUksQ0FBQyxPQUFPLEVBQUcsRUFDZixJQUFJLENBQUMsVUFBVSxFQUFFLEVBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRyxDQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUNkLElBQVksRUFDWixLQUFjLEVBQ2QsT0FBZ0IsRUFDaEIsVUFBbUIsRUFDbkIsR0FBVyxFQUNYLEdBQVcsRUFDWCxTQUFpQixFQUNqQixPQUFlLEVBQ2YsWUFBcUIsRUFDckIsZ0JBQTZDO1FBRTdDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELElBQUksVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNyRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBRUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUVELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxJQUFJLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztnQkFDcEMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsaUJBQThCLEVBQUUsRUFBRSxDQUMxRCxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUN0RSxDQUFDO1lBQ0osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDdkUsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUM7O1lBQzVDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUU5QixJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDMUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBK0I7UUFDNUMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNsQyxPQUFPLENBQUMsT0FBd0IsRUFBaUMsRUFBRTtnQkFDakUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDbkIsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztnQkFFRCxJQUFJLFNBQVMsS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO29CQUNuQyxJQUFJLENBQUM7d0JBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzFCLE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7b0JBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQzt3QkFDWCxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO29CQUMvQixDQUFDO2dCQUNILENBQUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUNOLE9BQW9CLEVBQ3BCLElBQVksRUFDWixLQUFjLEVBQ2QsT0FBZ0I7UUFFaEIsSUFBSSxJQUFJLEtBQUssVUFBVSxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUM1QyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxDQUFDLEtBQUs7b0JBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7b0JBQ2hDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEIsSUFBSSxPQUFPO2dCQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixPQUFPO1FBQ1QsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsU0FBaUI7UUFDMUIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMxRCxPQUFPLGdCQUFnQixDQUFDLEdBQUcsU0FBUyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRyxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELFlBQVksQ0FDVixhQUE2QixFQUM3QixJQUFZLEVBQ1osa0JBQTBCO1FBRTFCLElBQUksQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUUsYUFBcUIsQ0FBQyxJQUFJLENBQUM7WUFDbkQsT0FBUSxhQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLENBQ0wsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDckUsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQW9CLENBQUM7UUFFNUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixTQUFTLEVBQ1QsMENBQTBDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUMzRCxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixLQUFLLEVBQ0wsZ0RBQWdELElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUM3RCxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixLQUFLLEVBQ0wsZ0RBQWdELElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUM3RCxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztZQUN2QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixXQUFXLEVBQ1gsOEJBQThCLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUM1RCxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztZQUN2QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixXQUFXLEVBQ1gsNEJBQTRCLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUMxRCxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixVQUFVLEVBQ1YsZ0NBQWdDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUMvQyxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQ3RCLGFBQWEsRUFDYixZQUFZLEVBQ1osdURBQXVELENBQ3hELENBQUM7UUFDSixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLENBQUMsa0JBQWtCLENBQUM7WUFDOUMsT0FBTyxhQUFhLEVBQUUsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1FBRS9DLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzsrR0FyUFUsMEJBQTBCO21HQUExQiwwQkFBMEIseTJHQzNDdkMsNGxEQXFEQSxtbFBEaEJZLFlBQVksNEhBQUUsbUJBQW1CLCtCQUFFLG1CQUFtQjs7NEZBTXJELDBCQUEwQjtrQkFUdEMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLGlCQUdsRCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBJQm1iSW5wdXRBcHBlYXJhbmNlLFxuICBJQm1iSW5wdXRFcnJvcixcbiAgSUJtYklucHV0VG9vbHRpcFBvc2l0aW9uLFxuICBJQm1iSW5wdXRUeXBlLFxufSBmcm9tICcuLi9ibWItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUNvbnRyb2wsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvckZuLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQmJtU2lkZVBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJtYlRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9ibWItdG9vbHRpcC9ibWItdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0UG9zaXRpb25DbGFzcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgSUJtYklucHV0VmFsVHlwZSA9XG4gIHwgJ3JhZGlvJ1xuICB8ICdjaGVja2JveCdcbiAgfCAnZW1haWwnXG4gIHwgJ3Bob25lJ1xuICB8ICdzd2l0Y2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItaW5wdXQtdmFsaWRhdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQm1iVG9vbHRpcENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItaW5wdXQtdmFsaWRhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1pbnB1dC12YWxpZGF0b3IuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQm1iSW5wdXRWYWxpZGF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpbnB1dElkID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHR5cGUgPSBpbnB1dDxJQm1iSW5wdXRUeXBlIHwgSUJtYklucHV0VmFsVHlwZT4oJ3RleHQnKTtcbiAgYXBwZWFyYW5jZSA9IGlucHV0PElCbWJJbnB1dEFwcGVhcmFuY2UgfCBzdHJpbmc+KCdub3JtYWwnKTtcbiAgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgbGFiZWxQb3NpdGlvbiA9IGlucHV0PElCYm1TaWRlUG9zaXRpb24gfCBudWxsPigpO1xuICBuYW1lID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHZhbHVlID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCk7XG4gIGNoZWNrZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGlzUmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGlzRGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG1heCA9IGlucHV0PG51bWJlcj4oKTtcbiAgbWluID0gaW5wdXQ8bnVtYmVyPigpO1xuICBtYXhMZW5ndGggPSBpbnB1dDxudW1iZXI+KCk7XG4gIG1pbkxlbmd0aCA9IGlucHV0PG51bWJlcj4oKTtcbiAgcGF0dGVybiA9IGlucHV0PHN0cmluZz4oKTtcbiAganNvbkZvcm1hdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgdG9vbHRpcCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByb3dzID0gaW5wdXQ8bnVtYmVyPigzKTtcbiAgdG9vbHRpcFBvc2l0aW9uID0gaW5wdXQ8SUJtYklucHV0VG9vbHRpcFBvc2l0aW9uPih7XG4gICAgYWxpZ246ICdhYm92ZScsXG4gICAganVzdGlmeTogJ2JlZm9yZScsXG4gIH0pO1xuICBzaG93TWF4VGV4dExlbmd0aCA9IGlucHV0PGJvb2xlYW4gfCBudWxsPih0cnVlKTtcbiAgaGVscGVyTWVzc2FnZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBlcnJvck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmcgfCBJQm1iSW5wdXRFcnJvcj4oJycpO1xuICBjdXN0b21WYWxpZGF0aW9uID0gaW5wdXQ8VmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdPigpO1xuXG4gIHNob3dFcnJvciA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29udHJvbCA9IG1vZGVsPEZvcm1Db250cm9sPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLm1pbigpICYmICEhdGhpcy5tYXgoKSAmJiB0aGlzLm1heCgpISA8IHRoaXMubWluKCkhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBcbiAgICAgICAgICBbJHt0aGlzLm5hbWUoKX1dOiBQbGVhc2UgZW50ZXIgYSB2YWx1ZSBncmVhdGVyIG9yIGVxdWFsIHRoYW4gbWluLlxuICAgICAgICAgIFRoZSB2YWx1ZXMg4oCL4oCLZW50ZXJlZCBhcmU6XG4gICAgICAgICAgLW1pbjogJHt0aGlzLm1pbigpfVxuICAgICAgICAgIC1tYXg6ICR7dGhpcy5tYXgoKX1cbiAgICAgICAgICBgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZENvbnRyb2xDb25maWcoXG4gICAgICB0aGlzLnR5cGUoKSxcbiAgICAgIHRoaXMudmFsdWUoKSxcbiAgICAgIHRoaXMuY2hlY2tlZCgpLFxuICAgICAgdGhpcy5pc1JlcXVpcmVkKCksXG4gICAgICB0aGlzLm1pbigpISxcbiAgICAgIHRoaXMubWF4KCkhLFxuICAgICAgdGhpcy5taW5MZW5ndGgoKSEsXG4gICAgICB0aGlzLnBhdHRlcm4oKSEsXG4gICAgICB0aGlzLmpzb25Gb3JtYXQoKSxcbiAgICAgIHRoaXMuY3VzdG9tVmFsaWRhdGlvbigpISxcbiAgICApO1xuICB9XG5cbiAgYWRkQ29udHJvbENvbmZpZyhcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgdmFsdWU6IHVua25vd24sXG4gICAgY2hlY2tlZDogYm9vbGVhbixcbiAgICBpc1JlcXVpcmVkOiBib29sZWFuLFxuICAgIG1pbjogbnVtYmVyLFxuICAgIG1heDogbnVtYmVyLFxuICAgIG1pbkxlbmd0aDogbnVtYmVyLFxuICAgIHBhdHRlcm46IHN0cmluZyxcbiAgICBpc0pzb25Gb3JtYXQ6IGJvb2xlYW4sXG4gICAgY3VzdG9tVmFsaWRhdGlvbjogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCgpPy52YWx1ZSAmJiAoISF2YWx1ZSB8fCBjaGVja2VkKSkge1xuICAgICAgdGhpcy5hZGRWYWx1ZSh0aGlzLmNvbnRyb2woKSEsIHR5cGUsIHZhbHVlLCBjaGVja2VkKTtcbiAgICB9XG5cbiAgICBpZiAoaXNSZXF1aXJlZCAmJiAhdGhpcy5jb250cm9sKCk/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxuXG4gICAgaWYgKG1pbikge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5taW4obWluKSk7XG4gICAgfVxuXG4gICAgaWYgKG1heCkge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5tYXgobWF4KSk7XG4gICAgfVxuXG4gICAgaWYgKG1pbkxlbmd0aCkge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5taW5MZW5ndGgobWluTGVuZ3RoKSk7XG4gICAgfVxuXG4gICAgaWYgKHBhdHRlcm4pIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucGF0dGVybihwYXR0ZXJuKSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdlbWFpbCcgJiYgIXRoaXMuY29udHJvbCgpPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5lbWFpbCkpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuZW1haWwpO1xuICAgIH1cblxuICAgIGlmIChpc0pzb25Gb3JtYXQpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9yRXJyb3IoJ2pzb25WYWxpZGF0aW9uJykpO1xuICAgIH1cblxuICAgIGlmICghIWN1c3RvbVZhbGlkYXRpb24pIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGN1c3RvbVZhbGlkYXRpb24pKSB7XG4gICAgICAgIGN1c3RvbVZhbGlkYXRpb24uZm9yRWFjaCgoY3VycmVudFZhbGlkYXRpb246IFZhbGlkYXRvckZuKSA9PlxuICAgICAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9yRXJyb3IoY3VycmVudFZhbGlkYXRpb24pKSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9yRXJyb3IoY3VzdG9tVmFsaWRhdGlvbikpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQoKSkgdGhpcy5jb250cm9sKCk/LmRpc2FibGUoKTtcbiAgICBlbHNlIHRoaXMuY29udHJvbCgpPy5lbmFibGUoKTtcblxuICAgIHRoaXMuY29udHJvbCgpPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgdmFsaWRhdG9yRXJyb3IoZXJyb3JUeXBlOiBzdHJpbmcgfCBWYWxpZGF0b3JGbik6IFZhbGlkYXRvckZuIHtcbiAgICBpZiAodHlwZW9mIGVycm9yVHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgPT4ge1xuICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvclR5cGUgPT09ICdqc29uVmFsaWRhdGlvbicpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgSlNPTi5wYXJzZShjb250cm9sLnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGludmFsaWRKc29uOiB0cnVlIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVycm9yVHlwZTtcbiAgICB9XG4gIH1cblxuICBhZGRWYWx1ZShcbiAgICBjb250cm9sOiBGb3JtQ29udHJvbCxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgdmFsdWU6IHVua25vd24sXG4gICAgY2hlY2tlZDogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKHR5cGUgPT09ICdjaGVja2JveCcgfHwgdHlwZSA9PT0gJ3JhZGlvJykge1xuICAgICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgaWYgKCEhdmFsdWUpIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICBlbHNlIGNvbnRyb2wuc2V0VmFsdWUoY2hlY2tlZCk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdzd2l0Y2gnKSB7XG4gICAgICBpZiAoY2hlY2tlZCkgY29udHJvbC5zZXRWYWx1ZShjaGVja2VkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGdldENsYXNzZXMoY2xhc3NOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnR5cGUoKSA9PT0gJ3JhZGlvJyB8fCB0aGlzLnR5cGUoKSA9PT0gJ2NoZWNrYm94Jykge1xuICAgICAgcmV0dXJuIGdldFBvc2l0aW9uQ2xhc3MoYCR7Y2xhc3NOYW1lfS1kaXJlY3Rpb25gLCB0aGlzLmxhYmVsUG9zaXRpb24oKSEpO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldEVycm9yVHlwZShcbiAgICBlcnJvck1lc3NhZ2VzOiBJQm1iSW5wdXRFcnJvcixcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgYWx0ZXJuYXRpdmVNZXNzYWdlOiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCEhZXJyb3JNZXNzYWdlcyAmJiAhIShlcnJvck1lc3NhZ2VzIGFzIGFueSlbdHlwZV0pXG4gICAgICByZXR1cm4gKGVycm9yTWVzc2FnZXMgYXMgYW55KVt0eXBlXTtcbiAgICByZXR1cm4gYWx0ZXJuYXRpdmVNZXNzYWdlO1xuICB9XG5cbiAgaXNGaWVsZFJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNvbnRyb2woKT8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpIHx8IHRoaXMuaXNSZXF1aXJlZCgpXG4gICAgKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdGhpcy5lcnJvck1lc3NhZ2UoKSA9PT0gJ3N0cmluZycgJiYgISF0aGlzLmVycm9yTWVzc2FnZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2UoKS50b1N0cmluZygpO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yTWVzc2FnZXMgPSB0aGlzLmVycm9yTWVzc2FnZSgpIGFzIElCbWJJbnB1dEVycm9yO1xuXG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5oYXNFcnJvcigncGF0dGVybicpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAncGF0dGVybicsXG4gICAgICAgIGBQb3IgZmF2b3IgaW5ncmVzYSBlbCBmb3JtYXRvIHBlcm1pdGlkbyAke3RoaXMucGF0dGVybigpfWAsXG4gICAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ21pbicpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAnbWluJyxcbiAgICAgICAgYFBvciBmYXZvciBpbmdyZXNhIHVuIHZhbG9yIG1heW9yIG8gaWd1YWwgcXVlICR7dGhpcy5taW4oKX1gLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdtYXgnKSlcbiAgICAgIHJldHVybiB0aGlzLmdldEVycm9yVHlwZShcbiAgICAgICAgZXJyb3JNZXNzYWdlcyxcbiAgICAgICAgJ21heCcsXG4gICAgICAgIGBQb3IgZmF2b3IgaW5ncmVzYSB1biB2YWxvciBtZW5vciBvIGlndWFsIHF1ZSAke3RoaXMubWF4KCl9YCxcbiAgICAgICk7XG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5oYXNFcnJvcignbWlubGVuZ3RoJykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFcnJvclR5cGUoXG4gICAgICAgIGVycm9yTWVzc2FnZXMsXG4gICAgICAgICdtaW5MZW5ndGgnLFxuICAgICAgICBgUG9yIGZhdm9yIGluZ3Jlc2EgYWwgbWVub3MgJHt0aGlzLm1pbkxlbmd0aCgpfSBjYXLDoWN0ZXJlc2AsXG4gICAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ21heGxlbmd0aCcpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAnbWF4TGVuZ3RoJyxcbiAgICAgICAgYFBvciBmYXZvciBpbmdyZXNhIG3DoXhpbW8gJHt0aGlzLm1heExlbmd0aCgpfSBjYXLDoWN0ZXJlc2AsXG4gICAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFcnJvclR5cGUoXG4gICAgICAgIGVycm9yTWVzc2FnZXMsXG4gICAgICAgICdyZXF1aXJlZCcsXG4gICAgICAgIGBQb3IgZmF2b3IgaW5ncmVzYSBlbCBkYXRvIGRlICR7dGhpcy5sYWJlbCgpfWAsXG4gICAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ2ludmFsaWRKc29uJykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFcnJvclR5cGUoXG4gICAgICAgIGVycm9yTWVzc2FnZXMsXG4gICAgICAgICdqc29uRm9ybWF0JyxcbiAgICAgICAgJ1BvciBmYXZvciBpbmdyZXNhIGVsIGNvbnRlbmlkbyBlbiBmb3JtYXRvIEpTT04gdsOhbGlkbycsXG4gICAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ2N1c3RvbVZhbGlkYXRpb24nKSlcbiAgICAgIHJldHVybiBlcnJvck1lc3NhZ2VzPy5jdXN0b21WYWxpZGF0aW9uIHx8ICcnO1xuXG4gICAgcmV0dXJuICcnO1xuICB9XG59XG4iLCI8c2VjdGlvblxuICAjaW5wdXRWYWxpZGF0aW9uXG4gIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRvclwiXG4gIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGlzRGlzYWJsZWQoKSB9XCJcbj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cImJtYl9pbnB1dC12YWxpZGF0b3Itd3JhcHBlclwiXG4gICAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3NlcygnYm1iX2lucHV0LXZhbGlkYXRvcicpXCJcbiAgPlxuICAgIEBpZiAoXG4gICAgICAhIWxhYmVsKCkgfHxcbiAgICAgIGlzUmVxdWlyZWQoKSB8fFxuICAgICAgISF0b29sdGlwKCkgfHxcbiAgICAgICh0eXBlKCkgPT09IFwidGV4dC1hcmVhXCIgJiYgc2hvd01heFRleHRMZW5ndGgoKSlcbiAgICApIHtcbiAgICAgIDxsYWJlbCBjbGFzcz1cImJtYl9pbnB1dC12YWxpZGF0b3ItbGFiZWxcIiBbaHRtbEZvcl09XCJpbnB1dElkKClcIj5cbiAgICAgICAge3sgbGFiZWwoKSB9fVxuICAgICAgICBAaWYgKGlzRmllbGRSZXF1aXJlZCgpKSB7XG4gICAgICAgICAgPHNtYWxsIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRvci1sYWJlbC1yZXF1aXJlZFwiPio8L3NtYWxsPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoISF0b29sdGlwKCkpIHtcbiAgICAgICAgICA8Ym1iLXRvb2x0aXBcbiAgICAgICAgICAgIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRvci1sYWJlbC10b29sdGlwXCJcbiAgICAgICAgICAgIFt0ZXh0XT1cInRvb2x0aXAoKVwiXG4gICAgICAgICAgICBbYWxpZ25dPVwidG9vbHRpcFBvc2l0aW9uKCkuYWxpZ25cIlxuICAgICAgICAgICAgW2p1c3RpZnldPVwidG9vbHRpcFBvc2l0aW9uKCkuanVzdGlmeVwiXG4gICAgICAgICAgICBbaWNvbl09XCInaGVscCdcIlxuICAgICAgICAgICAgW3NpemVdPVwiMjBcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICh0eXBlKCkgPT09IFwidGV4dC1hcmVhXCIgJiYgc2hvd01heFRleHRMZW5ndGgoKSkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRvci1sYWJlbC1tYXhcIj5cbiAgICAgICAgICAgIHt7IGNvbnRyb2woKT8udmFsdWU/LnRvU3RyaW5nKCkubGVuZ3RoIH19L3t7IG1heExlbmd0aCgpIHx8IFwiLVwiIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2xhYmVsPlxuICAgIH1cbiAgICA8bmctY29udGVudCAvPlxuICA8L3NwYW4+XG4gIEBpZiAoISFoZWxwZXJNZXNzYWdlKCkgfHwgc2hvd0Vycm9yKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRvci1zdXBwb3J0XCI+XG4gICAgICBAaWYgKHNob3dFcnJvcigpKSB7XG4gICAgICAgIDxwIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRvci1zdXBwb3J0LWVycm9yXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCkgfX1cbiAgICAgICAgPC9wPlxuICAgICAgfSBAZWxzZSBpZiAoISFoZWxwZXJNZXNzYWdlKCkpIHtcbiAgICAgICAgPHAgW2NsYXNzXT1cIidibWJfaW5wdXQtdmFsaWRhdG9yLXN1cHBvcnQtaGVscGVyLScgKyBhcHBlYXJhbmNlKClcIj5cbiAgICAgICAgICB7eyBoZWxwZXJNZXNzYWdlKCkgfX1cbiAgICAgICAgPC9wPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L3NlY3Rpb24+XG4iXX0=
@@ -0,0 +1,85 @@
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, input, output, model, ContentChild, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { BmbInputValidatorComponent } from './bmb-input-validator/bmb-input-validator.component';
4
+ import { getUUID } from '../../utils/utils';
5
+ import { BmbInputContentComponent } from './bmb-input-content/bmb-input-content.component';
6
+ import { assignNewFormControl, newFormControlByType, showError, } from '../../utils/formControl';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ export class BmbInputComponent {
10
+ constructor() {
11
+ this.label = input('');
12
+ this.type = input('text');
13
+ this.placeholder = input('');
14
+ this.icon = input('');
15
+ this.appearance = input('normal');
16
+ this.errorMessage = input('');
17
+ this.helperMessage = input('');
18
+ this.disabled = input(false);
19
+ this.isRequired = input(false);
20
+ this.name = input(getUUID());
21
+ this.spellcheck = input(false);
22
+ this.jsonFormat = input(false);
23
+ this.heightTextArea = input();
24
+ this.maxlength = input();
25
+ this.minlength = input();
26
+ this.pattern = input();
27
+ this.size = input(); //Deprecated
28
+ this.max = input();
29
+ this.min = input();
30
+ this.id = input(this.name());
31
+ this.value = input();
32
+ this.autocomplete = input('off');
33
+ this.tooltip = input('');
34
+ this.rows = input(3);
35
+ this.showMaxTextLength = input(true);
36
+ this.additionalAction = input('none');
37
+ this.tooltipPosition = input({
38
+ align: 'above',
39
+ justify: 'before',
40
+ });
41
+ this.isClearable = input(false);
42
+ this.customValidation = input();
43
+ this.showError = model(false);
44
+ this.control = model(newFormControlByType(this.type()));
45
+ this.isFocus = output();
46
+ this.isBlur = output();
47
+ this.onChange = output();
48
+ this.onKeyDown = output();
49
+ this.isControlNull = false;
50
+ }
51
+ ngOnInit() {
52
+ if (!this.control()) {
53
+ this.control.set(assignNewFormControl(this.name(), this.control(), this.type()));
54
+ this.isControlNull = true;
55
+ }
56
+ }
57
+ onFocus(value) {
58
+ this.isFocus.emit(value);
59
+ }
60
+ onBlur(value) {
61
+ this.isBlur.emit(value);
62
+ }
63
+ get shouldShowError() {
64
+ return showError(this.control());
65
+ }
66
+ handleKeyPress(event) {
67
+ const target = event.target;
68
+ if (target) {
69
+ this.onKeyDown.emit(event);
70
+ }
71
+ }
72
+ handleChange(value) {
73
+ this.onChange.emit(value);
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: BmbInputComponent, isStandalone: true, selector: "bmb-input", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, spellcheck: { classPropertyName: "spellcheck", publicName: "spellcheck", isSignal: true, isRequired: false, transformFunction: null }, jsonFormat: { classPropertyName: "jsonFormat", publicName: "jsonFormat", isSignal: true, isRequired: false, transformFunction: null }, heightTextArea: { classPropertyName: "heightTextArea", publicName: "heightTextArea", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "minlength", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, showMaxTextLength: { classPropertyName: "showMaxTextLength", publicName: "showMaxTextLength", isSignal: true, isRequired: false, transformFunction: null }, additionalAction: { classPropertyName: "additionalAction", publicName: "additionalAction", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, isClearable: { classPropertyName: "isClearable", publicName: "isClearable", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { showError: "showErrorChange", control: "controlChange", isFocus: "isFocus", isBlur: "isBlur", onChange: "onChange", onKeyDown: "onKeyDown" }, queries: [{ propertyName: "customInputContent", first: true, predicate: ["customInputContent"], descendants: true }], ngImport: i0, template: "<bmb-input-validator\n [type]=\"type()\"\n [name]=\"name()\"\n [label]=\"label()\"\n [value]=\"value()\"\n [errorMessage]=\"errorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [pattern]=\"pattern()\"\n [jsonFormat]=\"jsonFormat()\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [appearance]=\"appearance()\"\n [maxLength]=\"maxlength()\"\n [minLength]=\"minlength()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [showMaxTextLength]=\"showMaxTextLength()\"\n [customValidation]=\"customValidation()\"\n [inputId]=\"id()\"\n>\n <bmb-input-content\n [inputId]=\"id()\"\n [type]=\"type()\"\n [name]=\"name()\"\n [placeholder]=\"placeholder()\"\n [icon]=\"icon()\"\n [appearance]=\"appearance()\"\n [isDisabled]=\"disabled()\"\n [isRequired]=\"isRequired()\"\n [spellcheck]=\"spellcheck()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [maxLength]=\"maxlength()\"\n [minLength]=\"minlength()\"\n [pattern]=\"pattern()\"\n [additionalAction]=\"additionalAction()\"\n [heightTextArea]=\"heightTextArea()\"\n [rows]=\"rows()\"\n [isClearable]=\"isClearable()\"\n [isError]=\"shouldShowError\"\n [control]=\"control()\"\n (onFocus)=\"onFocus($event)\"\n (onBlur)=\"onBlur($event)\"\n (onKeyDown)=\"handleKeyPress($event)\"\n (onChange)=\"handleChange($event)\"\n >\n <ng-template #customContent>\n <ng-container [ngTemplateOutlet]=\"customInputContent\" />\n </ng-template>\n </bmb-input-content>\n</bmb-input-validator>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BmbInputValidatorComponent, selector: "bmb-input-validator", inputs: ["inputId", "type", "appearance", "label", "labelPosition", "name", "value", "checked", "isRequired", "isDisabled", "max", "min", "maxLength", "minLength", "pattern", "jsonFormat", "tooltip", "rows", "tooltipPosition", "showMaxTextLength", "helperMessage", "errorMessage", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange"] }, { kind: "component", type: BmbInputContentComponent, selector: "bmb-input-content", inputs: ["type", "placeholder", "icon", "appearance", "isDisabled", "isRequired", "name", "spellcheck", "heightTextArea", "maxLength", "minLength", "pattern", "max", "min", "inputId", "autoComplete", "rows", "isReadOnly", "additionalAction", "isClearable", "isError", "isHidden", "showStates", "control"], outputs: ["controlChange", "onFocus", "onBlur", "onChange", "onKeyDown", "onKeyUp"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbInputComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'bmb-input', standalone: true, imports: [CommonModule, BmbInputValidatorComponent, BmbInputContentComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<bmb-input-validator\n [type]=\"type()\"\n [name]=\"name()\"\n [label]=\"label()\"\n [value]=\"value()\"\n [errorMessage]=\"errorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [pattern]=\"pattern()\"\n [jsonFormat]=\"jsonFormat()\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [appearance]=\"appearance()\"\n [maxLength]=\"maxlength()\"\n [minLength]=\"minlength()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [showMaxTextLength]=\"showMaxTextLength()\"\n [customValidation]=\"customValidation()\"\n [inputId]=\"id()\"\n>\n <bmb-input-content\n [inputId]=\"id()\"\n [type]=\"type()\"\n [name]=\"name()\"\n [placeholder]=\"placeholder()\"\n [icon]=\"icon()\"\n [appearance]=\"appearance()\"\n [isDisabled]=\"disabled()\"\n [isRequired]=\"isRequired()\"\n [spellcheck]=\"spellcheck()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [maxLength]=\"maxlength()\"\n [minLength]=\"minlength()\"\n [pattern]=\"pattern()\"\n [additionalAction]=\"additionalAction()\"\n [heightTextArea]=\"heightTextArea()\"\n [rows]=\"rows()\"\n [isClearable]=\"isClearable()\"\n [isError]=\"shouldShowError\"\n [control]=\"control()\"\n (onFocus)=\"onFocus($event)\"\n (onBlur)=\"onBlur($event)\"\n (onKeyDown)=\"handleKeyPress($event)\"\n (onChange)=\"handleChange($event)\"\n >\n <ng-template #customContent>\n <ng-container [ngTemplateOutlet]=\"customInputContent\" />\n </ng-template>\n </bmb-input-content>\n</bmb-input-validator>\n" }]
81
+ }], propDecorators: { customInputContent: [{
82
+ type: ContentChild,
83
+ args: ['customInputContent']
84
+ }] } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQvYm1iLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQvYm1iLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFFTCxZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTS9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBK0JqQyxNQUFNLE9BQU8saUJBQWlCO0lBVDlCO1FBVUUsVUFBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxQixTQUFJLEdBQUcsS0FBSyxDQUFnQixNQUFNLENBQUMsQ0FBQztRQUNwQyxnQkFBVyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoQyxTQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxLQUFLLENBQStCLFFBQVEsQ0FBQyxDQUFDO1FBQzNELGlCQUFZLEdBQUcsS0FBSyxDQUEwQixFQUFFLENBQUMs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SSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsS0FBdUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzsrR0EzRVUsaUJBQWlCO21HQUFqQixpQkFBaUIsbzBJQ3ZEOUIsNm5EQXVEQSx5RERKWSxZQUFZLHNNQUFFLDBCQUEwQixxYkFBRSx3QkFBd0I7OzRGQUlqRSxpQkFBaUI7a0JBVDdCLFNBQVM7K0JBQ0UsV0FBVyxjQUdULElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSwwQkFBMEIsRUFBRSx3QkFBd0IsQ0FBQyxtQkFDNUQsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkE0Q0Qsa0JBQWtCO3NCQUFyRCxZQUFZO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBtb2RlbCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJQm1iQWxpZ25Ub29sdGlwLFxuICBJQm1iSnVzdGlmeVRvb2x0aXAsXG59IGZyb20gJy4uL2JtYi10b29sdGlwL2JtYi10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJJbnB1dFZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYm1iLWlucHV0LXZhbGlkYXRvci9ibWItaW5wdXQtdmFsaWRhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRVVUlEIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuaW1wb3J0IHsgQm1iSW5wdXRDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9ibWItaW5wdXQtY29udGVudC9ibWItaW5wdXQtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgYXNzaWduTmV3Rm9ybUNvbnRyb2wsXG4gIG5ld0Zvcm1Db250cm9sQnlUeXBlLFxuICBzaG93RXJyb3IsXG59IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1Db250cm9sJztcblxuZXhwb3J0IHR5cGUgSUJtYklucHV0VHlwZSA9ICd0ZXh0JyB8ICdwYXNzd29yZCcgfCAnbnVtYmVyJyB8ICd0ZXh0LWFyZWEnO1xuZXhwb3J0IHR5cGUgSUJtYklucHV0QXBwZWFyYW5jZSA9ICdtYWluJyB8ICdub3JtYWwnIHwgJ3NpbXBsZSc7XG5leHBvcnQgdHlwZSBJQm1iQWRkaXRpb25hbEFjdGlvbiA9ICdjb3B5JyB8ICdzaG93SGlkZScgfCAnbm9uZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJtYklucHV0RXJyb3Ige1xuICByZXF1aXJlZD86IHN0cmluZztcbiAgbWluPzogc3RyaW5nO1xuICBtYXg/OiBzdHJpbmc7XG4gIG1pbkxlbmd0aD86IHN0cmluZztcbiAgbWF4TGVuZ3RoPzogc3RyaW5nO1xuICBwYXR0ZXJuPzogc3RyaW5nO1xuICBqc29uRm9ybWF0Pzogc3RyaW5nO1xuICBjdXN0b21WYWxpZGF0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCbWJJbnB1dFRvb2x0aXBQb3NpdGlvbiB7XG4gIGFsaWduOiBJQm1iQWxpZ25Ub29sdGlwO1xuICBqdXN0aWZ5OiBJQm1iSnVzdGlmeVRvb2x0aXA7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1pbnB1dCcsXG4gIHN0eWxlVXJsOiAnLi9ibWItaW5wdXQuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQm1iSW5wdXRWYWxpZGF0b3JDb21wb25lbnQsIEJtYklucHV0Q29udGVudENvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHR5cGUgPSBpbnB1dDxJQm1iSW5wdXRUeXBlPigndGV4dCcpO1xuICBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4oJycpO1xuICBpY29uID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGFwcGVhcmFuY2UgPSBpbnB1dDxJQm1iSW5wdXRBcHBlYXJhbmNlIHwgc3RyaW5nPignbm9ybWFsJyk7XG4gIGVycm9yTWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IElCbWJJbnB1dEVycm9yPignJyk7XG4gIGhlbHBlck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGlzUmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG5hbWUgPSBpbnB1dDxzdHJpbmc+KGdldFVVSUQoKSk7XG4gIHNwZWxsY2hlY2sgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGpzb25Gb3JtYXQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGhlaWdodFRleHRBcmVhID0gaW5wdXQ8bnVtYmVyPigpO1xuICBtYXhsZW5ndGggPSBpbnB1dDxudW1iZXI+KCk7XG4gIG1pbmxlbmd0aCA9IGlucHV0PG51bWJlcj4oKTtcbiAgcGF0dGVybiA9IGlucHV0PHN0cmluZz4oKTtcbiAgc2l6ZSA9IGlucHV0PG51bWJlcj4oKTsgLy9EZXByZWNhdGVkXG4gIG1heCA9IGlucHV0PG51bWJlcj4oKTtcbiAgbWluID0gaW5wdXQ8bnVtYmVyPigpO1xuICBpZCA9IGlucHV0PHN0cmluZz4odGhpcy5uYW1lKCkpO1xuICB2YWx1ZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgYXV0b2NvbXBsZXRlID0gaW5wdXQ8c3RyaW5nPignb2ZmJyk7XG4gIHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcm93cyA9IGlucHV0PG51bWJlcj4oMyk7XG4gIHNob3dNYXhUZXh0TGVuZ3RoID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIGFkZGl0aW9uYWxBY3Rpb24gPSBpbnB1dDxJQm1iQWRkaXRpb25hbEFjdGlvbj4oJ25vbmUnKTtcbiAgdG9vbHRpcFBvc2l0aW9uID0gaW5wdXQ8SUJtYklucHV0VG9vbHRpcFBvc2l0aW9uPih7XG4gICAgYWxpZ246ICdhYm92ZScsXG4gICAganVzdGlmeTogJ2JlZm9yZScsXG4gIH0pO1xuICBpc0NsZWFyYWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgY3VzdG9tVmFsaWRhdGlvbiA9IGlucHV0PFZhbGlkYXRvckZuPigpO1xuXG4gIHNob3dFcnJvciA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29udHJvbCA9IG1vZGVsPEZvcm1Db250cm9sPihuZXdGb3JtQ29udHJvbEJ5VHlwZSh0aGlzLnR5cGUoKSkpO1xuXG4gIGlzRm9jdXMgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcbiAgaXNCbHVyID0gb3V0cHV0PGJvb2xlYW4+KCk7XG4gIG9uQ2hhbmdlID0gb3V0cHV0PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gIG9uS2V5RG93biA9IG91dHB1dDxLZXlib2FyZEV2ZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2N1c3RvbUlucHV0Q29udGVudCcpIGN1c3RvbUlucHV0Q29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGlzQ29udHJvbE51bGw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCgpKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0KFxuICAgICAgICBhc3NpZ25OZXdGb3JtQ29udHJvbCh0aGlzLm5hbWUoKSwgdGhpcy5jb250cm9sKCksIHRoaXMudHlwZSgpKSEsXG4gICAgICApO1xuICAgICAgdGhpcy5pc0NvbnRyb2xOdWxsID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkZvY3VzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0ZvY3VzLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgb25CbHVyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0JsdXIuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBnZXQgc2hvdWxkU2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzaG93RXJyb3IodGhpcy5jb250cm9sKCkpO1xuICB9XG5cbiAgaGFuZGxlS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCB8IG51bGw7XG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgdGhpcy5vbktleURvd24uZW1pdChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2hhbmdlKHZhbHVlOiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIiwiPGJtYi1pbnB1dC12YWxpZGF0b3JcbiAgW3R5cGVdPVwidHlwZSgpXCJcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW2xhYmVsXT1cImxhYmVsKClcIlxuICBbdmFsdWVdPVwidmFsdWUoKVwiXG4gIFtlcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlKClcIlxuICBbaGVscGVyTWVzc2FnZV09XCJoZWxwZXJNZXNzYWdlKClcIlxuICBbaXNSZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxuICBbaXNEaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgW2NvbnRyb2xdPVwiY29udHJvbCgpXCJcbiAgW3Nob3dFcnJvcl09XCJzaG91bGRTaG93RXJyb3JcIlxuICBbcGF0dGVybl09XCJwYXR0ZXJuKClcIlxuICBbanNvbkZvcm1hdF09XCJqc29uRm9ybWF0KClcIlxuICBbdG9vbHRpcF09XCJ0b29sdGlwKClcIlxuICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvbigpXCJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgW21heExlbmd0aF09XCJtYXhsZW5ndGgoKVwiXG4gIFttaW5MZW5ndGhdPVwibWlubGVuZ3RoKClcIlxuICBbbWluXT1cIm1pbigpXCJcbiAgW21heF09XCJtYXgoKVwiXG4gIFtzaG93TWF4VGV4dExlbmd0aF09XCJzaG93TWF4VGV4dExlbmd0aCgpXCJcbiAgW2N1c3RvbVZhbGlkYXRpb25dPVwiY3VzdG9tVmFsaWRhdGlvbigpXCJcbiAgW2lucHV0SWRdPVwiaWQoKVwiXG4+XG4gIDxibWItaW5wdXQtY29udGVudFxuICAgIFtpbnB1dElkXT1cImlkKClcIlxuICAgIFt0eXBlXT1cInR5cGUoKVwiXG4gICAgW25hbWVdPVwibmFtZSgpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXG4gICAgW2ljb25dPVwiaWNvbigpXCJcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgIFtpc0Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgIFtpc1JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXG4gICAgW3NwZWxsY2hlY2tdPVwic3BlbGxjaGVjaygpXCJcbiAgICBbbWF4XT1cIm1heCgpXCJcbiAgICBbbWluXT1cIm1pbigpXCJcbiAgICBbbWF4TGVuZ3RoXT1cIm1heGxlbmd0aCgpXCJcbiAgICBbbWluTGVuZ3RoXT1cIm1pbmxlbmd0aCgpXCJcbiAgICBbcGF0dGVybl09XCJwYXR0ZXJuKClcIlxuICAgIFthZGRpdGlvbmFsQWN0aW9uXT1cImFkZGl0aW9uYWxBY3Rpb24oKVwiXG4gICAgW2hlaWdodFRleHRBcmVhXT1cImhlaWdodFRleHRBcmVhKClcIlxuICAgIFtyb3dzXT1cInJvd3MoKVwiXG4gICAgW2lzQ2xlYXJhYmxlXT1cImlzQ2xlYXJhYmxlKClcIlxuICAgIFtpc0Vycm9yXT1cInNob3VsZFNob3dFcnJvclwiXG4gICAgW2NvbnRyb2xdPVwiY29udHJvbCgpXCJcbiAgICAob25Gb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgIChvbkJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgIChvbktleURvd24pPVwiaGFuZGxlS2V5UHJlc3MoJGV2ZW50KVwiXG4gICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tQ29udGVudD5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSW5wdXRDb250ZW50XCIgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2JtYi1pbnB1dC1jb250ZW50PlxuPC9ibWItaW5wdXQtdmFsaWRhdG9yPlxuIl19