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

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 (432) hide show
  1. package/assets/styles/main.min.css +1 -1
  2. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +1676 -1676
  3. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
  4. package/index.d.ts +3744 -5
  5. package/package.json +1 -3
  6. package/assets/images/gif/mitecLogoIntroMobile.gif +0 -0
  7. package/assets/images/gif/mitecLogoIntroWeb.gif +0 -0
  8. package/assets/images/lang-flags/mx.svg +0 -392
  9. package/assets/images/lang-flags/us.svg +0 -13
  10. package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +0 -87
  11. package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +0 -159
  12. package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +0 -150
  13. package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +0 -49
  14. package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +0 -31
  15. package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +0 -35
  16. package/esm2022/lib/components/bmb-advertisement-card/types.mjs +0 -2
  17. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +0 -40
  18. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +0 -18
  19. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +0 -148
  20. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +0 -52
  21. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +0 -196
  22. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +0 -62
  23. package/esm2022/lib/components/bmb-alert-center/types.mjs +0 -2
  24. package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +0 -26
  25. package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +0 -26
  26. package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +0 -27
  27. package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +0 -42
  28. package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +0 -55
  29. package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +0 -30
  30. package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +0 -262
  31. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +0 -95
  32. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +0 -40
  33. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +0 -68
  34. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +0 -41
  35. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.mjs +0 -63
  36. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +0 -95
  37. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +0 -45
  38. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +0 -54
  39. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +0 -24
  40. package/esm2022/lib/components/bmb-calendar/types.mjs +0 -2
  41. package/esm2022/lib/components/bmb-calendar/utils.mjs +0 -96
  42. package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +0 -154
  43. package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +0 -76
  44. package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +0 -80
  45. package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +0 -175
  46. package/esm2022/lib/components/bmb-chat-bar/bot_list.mjs +0 -57
  47. package/esm2022/lib/components/bmb-chat-bar/types.mjs +0 -2
  48. package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +0 -56
  49. package/esm2022/lib/components/bmb-chat-bubbles/types.mjs +0 -2
  50. package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +0 -46
  51. package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +0 -80
  52. package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +0 -36
  53. package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +0 -27
  54. package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +0 -83
  55. package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +0 -69
  56. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +0 -211
  57. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +0 -123
  58. package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +0 -54
  59. package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +0 -25
  60. package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +0 -34
  61. package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +0 -54
  62. package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +0 -200
  63. package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +0 -28
  64. package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +0 -175
  65. package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +0 -76
  66. package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +0 -78
  67. package/esm2022/lib/components/bmb-fab/bmb-fab-.interface.mjs +0 -9
  68. package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +0 -37
  69. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +0 -154
  70. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.interface.mjs +0 -2
  71. package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +0 -36
  72. package/esm2022/lib/components/bmb-form-validation/bmb-form-validation.component.mjs +0 -159
  73. package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +0 -159
  74. package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +0 -29
  75. package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +0 -22
  76. package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +0 -181
  77. package/esm2022/lib/components/bmb-grades/types.mjs +0 -2
  78. package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +0 -55
  79. package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +0 -49
  80. package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +0 -77
  81. package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +0 -59
  82. package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +0 -76
  83. package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +0 -41
  84. package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +0 -39
  85. package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +0 -20
  86. package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +0 -49
  87. package/esm2022/lib/components/bmb-icon/types.mjs +0 -2
  88. package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +0 -23
  89. package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +0 -24
  90. package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +0 -19
  91. package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +0 -21
  92. package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +0 -33
  93. package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +0 -77
  94. package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +0 -147
  95. package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.mjs +0 -162
  96. package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.mjs +0 -116
  97. package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +0 -178
  98. package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +0 -85
  99. package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +0 -219
  100. package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +0 -191
  101. package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +0 -54
  102. package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +0 -34
  103. package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +0 -28
  104. package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +0 -23
  105. package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +0 -83
  106. package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +0 -60
  107. package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +0 -55
  108. package/esm2022/lib/components/bmb-list-group/types.mjs +0 -2
  109. package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +0 -83
  110. package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +0 -77
  111. package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +0 -55
  112. package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +0 -66
  113. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +0 -40
  114. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +0 -20
  115. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +0 -33
  116. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +0 -87
  117. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.mjs +0 -88
  118. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.mjs +0 -57
  119. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.mjs +0 -99
  120. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.mjs +0 -39
  121. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +0 -44
  122. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +0 -52
  123. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +0 -70
  124. package/esm2022/lib/components/bmb-login-onboarding/types.mjs +0 -2
  125. package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +0 -43
  126. package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +0 -64
  127. package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +0 -14
  128. package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +0 -88
  129. package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +0 -139
  130. package/esm2022/lib/components/bmb-modal/bmb-modal.interface.mjs +0 -2
  131. package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +0 -84
  132. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +0 -15
  133. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +0 -59
  134. package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +0 -30
  135. package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +0 -43
  136. package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +0 -86
  137. package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +0 -22
  138. package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +0 -52
  139. package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +0 -52
  140. package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +0 -153
  141. package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +0 -39
  142. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +0 -196
  143. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.mjs +0 -2
  144. package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +0 -88
  145. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +0 -75
  146. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +0 -24
  147. package/esm2022/lib/components/bmb-push-notification/types.mjs +0 -2
  148. package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +0 -78
  149. package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +0 -117
  150. package/esm2022/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.mjs +0 -16
  151. package/esm2022/lib/components/bmb-select/bmb-select.component.mjs +0 -55
  152. package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +0 -82
  153. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +0 -103
  154. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.interface.mjs +0 -2
  155. package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +0 -64
  156. package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +0 -16
  157. package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +0 -64
  158. package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +0 -32
  159. package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +0 -53
  160. package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +0 -53
  161. package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +0 -27
  162. package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +0 -88
  163. package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +0 -545
  164. package/esm2022/lib/components/bmb-tables/bmb-tables.interface.mjs +0 -2
  165. package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +0 -127
  166. package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +0 -65
  167. package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +0 -135
  168. package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +0 -43
  169. package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +0 -65
  170. package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +0 -30
  171. package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +0 -74
  172. package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +0 -13
  173. package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +0 -238
  174. package/esm2022/lib/components/bmb-timestream/types.mjs +0 -2
  175. package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +0 -139
  176. package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +0 -61
  177. package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +0 -47
  178. package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +0 -26
  179. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +0 -31
  180. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +0 -70
  181. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +0 -122
  182. package/esm2022/lib/components/bmb-top-bar/types.mjs +0 -2
  183. package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +0 -138
  184. package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +0 -44
  185. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +0 -19
  186. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +0 -71
  187. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +0 -51
  188. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +0 -28
  189. package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +0 -23
  190. package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +0 -85
  191. package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +0 -128
  192. package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +0 -55
  193. package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +0 -88
  194. package/esm2022/lib/directives/bmb-button/button.directive.mjs +0 -84
  195. package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +0 -29
  196. package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +0 -51
  197. package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +0 -36
  198. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +0 -34
  199. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +0 -37
  200. package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +0 -89
  201. package/esm2022/lib/directives/utils/clickoutside.directive.mjs +0 -41
  202. package/esm2022/lib/ds-ng.component.mjs +0 -11
  203. package/esm2022/lib/ds-ng.service.mjs +0 -14
  204. package/esm2022/lib/services/calendar.service.mjs +0 -51
  205. package/esm2022/lib/services/index.mjs +0 -3
  206. package/esm2022/lib/services/native-modal.service.mjs +0 -69
  207. package/esm2022/lib/services/notification.service.mjs +0 -77
  208. package/esm2022/lib/services/tabs.service.mjs +0 -30
  209. package/esm2022/lib/services/theme.service.mjs +0 -30
  210. package/esm2022/lib/services/toast.service.mjs +0 -24
  211. package/esm2022/lib/services/user/profile.service.mjs +0 -26
  212. package/esm2022/lib/types/colors.mjs +0 -2
  213. package/esm2022/lib/types/index.mjs +0 -11
  214. package/esm2022/lib/utils/countryCodes.mjs +0 -1089
  215. package/esm2022/lib/utils/currencyFormat.mjs +0 -7
  216. package/esm2022/lib/utils/dropdown.mjs +0 -85
  217. package/esm2022/lib/utils/formControl.mjs +0 -25
  218. package/esm2022/lib/utils/timestreamFilters.mjs +0 -32
  219. package/esm2022/lib/utils/utils.mjs +0 -66
  220. package/esm2022/public-api.mjs +0 -151
  221. package/esm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +0 -5
  222. package/lib/components/bmb-academic-progress/bmb-academic-progress.component.d.ts +0 -21
  223. package/lib/components/bmb-accordion/bmb-accordion.component.d.ts +0 -37
  224. package/lib/components/bmb-account-statement/bmb-account-statement.component.d.ts +0 -54
  225. package/lib/components/bmb-action-icon/bmb-action-icon.component.d.ts +0 -23
  226. package/lib/components/bmb-action-menu/bmb-action-menu.component.d.ts +0 -17
  227. package/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.d.ts +0 -13
  228. package/lib/components/bmb-advertisement-card/types.d.ts +0 -21
  229. package/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.d.ts +0 -10
  230. package/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.d.ts +0 -7
  231. package/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.d.ts +0 -31
  232. package/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.d.ts +0 -20
  233. package/lib/components/bmb-alert-center/bmb-alert-center.component.d.ts +0 -46
  234. package/lib/components/bmb-alert-center/bmb-alert-center.service.d.ts +0 -20
  235. package/lib/components/bmb-alert-center/types.d.ts +0 -64
  236. package/lib/components/bmb-badge/bmb-badge.component.d.ts +0 -11
  237. package/lib/components/bmb-balance-overview/bmb-balance-overview.component.d.ts +0 -15
  238. package/lib/components/bmb-bookmark/bmb-bookmark.component.d.ts +0 -8
  239. package/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.d.ts +0 -25
  240. package/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.d.ts +0 -27
  241. package/lib/components/bmb-button-icon/bmb-button-icon.component.d.ts +0 -16
  242. package/lib/components/bmb-calendar/bmb-calendar.component.d.ts +0 -65
  243. package/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.d.ts +0 -20
  244. package/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.d.ts +0 -13
  245. package/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.d.ts +0 -16
  246. package/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.d.ts +0 -18
  247. package/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.d.ts +0 -17
  248. package/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.d.ts +0 -31
  249. package/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.d.ts +0 -18
  250. package/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.d.ts +0 -23
  251. package/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.d.ts +0 -9
  252. package/lib/components/bmb-calendar/types.d.ts +0 -43
  253. package/lib/components/bmb-calendar/utils.d.ts +0 -12
  254. package/lib/components/bmb-card/bmb-card.component.d.ts +0 -42
  255. package/lib/components/bmb-card-button/bmb-card-button.component.d.ts +0 -50
  256. package/lib/components/bmb-carousel/bmb-carousel.component.d.ts +0 -20
  257. package/lib/components/bmb-chat-bar/bmb-chat-bar.component.d.ts +0 -62
  258. package/lib/components/bmb-chat-bar/bot_list.d.ts +0 -6
  259. package/lib/components/bmb-chat-bar/types.d.ts +0 -9
  260. package/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.d.ts +0 -23
  261. package/lib/components/bmb-chat-bubbles/types.d.ts +0 -23
  262. package/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.d.ts +0 -21
  263. package/lib/components/bmb-checkbox/bmb-checkbox.component.d.ts +0 -33
  264. package/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.d.ts +0 -17
  265. package/lib/components/bmb-container/bmb-container.component.d.ts +0 -9
  266. package/lib/components/bmb-container-button/bmb-container-button.component.d.ts +0 -30
  267. package/lib/components/bmb-date-range/bmb-date-range.component.d.ts +0 -35
  268. package/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.d.ts +0 -40
  269. package/lib/components/bmb-datepicker/bmb-datepicker.component.d.ts +0 -44
  270. package/lib/components/bmb-digital-id/bmb-digital-id.component.d.ts +0 -26
  271. package/lib/components/bmb-divider/bmb-divider.component.d.ts +0 -8
  272. package/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.d.ts +0 -17
  273. package/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.d.ts +0 -24
  274. package/lib/components/bmb-dropdown/bmb-dropdown.component.d.ts +0 -61
  275. package/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.d.ts +0 -10
  276. package/lib/components/bmb-dropzone/bmb-dropzone.component.d.ts +0 -49
  277. package/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.d.ts +0 -45
  278. package/lib/components/bmb-external-link/bmb-external-link.component.d.ts +0 -22
  279. package/lib/components/bmb-fab/bmb-fab-.interface.d.ts +0 -10
  280. package/lib/components/bmb-fab/bmb-fab.component.d.ts +0 -15
  281. package/lib/components/bmb-filter-card/bmb-filter-card.component.d.ts +0 -33
  282. package/lib/components/bmb-filter-card/bmb-filter-card.interface.d.ts +0 -10
  283. package/lib/components/bmb-focus-element/bmb-focus-element.component.d.ts +0 -14
  284. package/lib/components/bmb-form-validation/bmb-form-validation.component.d.ts +0 -34
  285. package/lib/components/bmb-form-validator/bmb-form-validator.component.d.ts +0 -34
  286. package/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.d.ts +0 -13
  287. package/lib/components/bmb-grade-value/bmb-grade-value.component.d.ts +0 -11
  288. package/lib/components/bmb-grades/bmb-grades.component.d.ts +0 -43
  289. package/lib/components/bmb-grades/types.d.ts +0 -25
  290. package/lib/components/bmb-header-mitec/bmb-header-mitec.component.d.ts +0 -17
  291. package/lib/components/bmb-header-mobile/bmb-header-mobile.component.d.ts +0 -23
  292. package/lib/components/bmb-hito-card/bmb-hito-card.component.d.ts +0 -23
  293. package/lib/components/bmb-hito-list/bmb-hito-list.component.d.ts +0 -24
  294. package/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.d.ts +0 -28
  295. package/lib/components/bmb-home-card/bmb-home-card.component.d.ts +0 -27
  296. package/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.d.ts +0 -25
  297. package/lib/components/bmb-home-section/bmb-home-section.component.d.ts +0 -9
  298. package/lib/components/bmb-icon/bmb-icon.component.d.ts +0 -23
  299. package/lib/components/bmb-icon/types.d.ts +0 -1
  300. package/lib/components/bmb-icon-item/bmb-icon-item.component.d.ts +0 -13
  301. package/lib/components/bmb-icon-status/bmb-icon-status.component.d.ts +0 -10
  302. package/lib/components/bmb-iframe/bmb-iframe.component.d.ts +0 -11
  303. package/lib/components/bmb-iframe/bmb-iframe.pipe.d.ts +0 -10
  304. package/lib/components/bmb-image/bmb-image.component.d.ts +0 -19
  305. package/lib/components/bmb-inner-header/bmb-inner-header.component.d.ts +0 -29
  306. package/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.d.ts +0 -53
  307. package/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.d.ts +0 -46
  308. package/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.d.ts +0 -16
  309. package/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.d.ts +0 -45
  310. package/lib/components/bmb-input/bmb-input.component.d.ts +0 -68
  311. package/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.d.ts +0 -52
  312. package/lib/components/bmb-input-tags/bmb-input-tags.component.d.ts +0 -55
  313. package/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.d.ts +0 -23
  314. package/lib/components/bmb-invoice/bmb-invoice.component.d.ts +0 -31
  315. package/lib/components/bmb-item/bmb-item.component.d.ts +0 -16
  316. package/lib/components/bmb-legend/bmb-legend.component.d.ts +0 -9
  317. package/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.d.ts +0 -33
  318. package/lib/components/bmb-list-group/bmb-list-group.component.d.ts +0 -27
  319. package/lib/components/bmb-list-group/bmb-list-group.service.d.ts +0 -18
  320. package/lib/components/bmb-list-group/types.d.ts +0 -1
  321. package/lib/components/bmb-list-items/bmb-list-items.component.d.ts +0 -33
  322. package/lib/components/bmb-loader/bmb-loader.component.d.ts +0 -31
  323. package/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.d.ts +0 -27
  324. package/lib/components/bmb-login/bmb-login.component.d.ts +0 -33
  325. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.d.ts +0 -14
  326. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.d.ts +0 -8
  327. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.d.ts +0 -12
  328. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.d.ts +0 -18
  329. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.d.ts +0 -17
  330. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.d.ts +0 -11
  331. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.d.ts +0 -19
  332. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.d.ts +0 -19
  333. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.d.ts +0 -15
  334. package/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.d.ts +0 -20
  335. package/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.d.ts +0 -25
  336. package/lib/components/bmb-login-onboarding/types.d.ts +0 -15
  337. package/lib/components/bmb-logo/bmb-logo.component.d.ts +0 -19
  338. package/lib/components/bmb-media-card/bmb-media-card.component.d.ts +0 -34
  339. package/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.d.ts +0 -6
  340. package/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.d.ts +0 -47
  341. package/lib/components/bmb-modal/bmb-modal.component.d.ts +0 -31
  342. package/lib/components/bmb-modal/bmb-modal.interface.d.ts +0 -37
  343. package/lib/components/bmb-modal/bmb-native-modal.component.d.ts +0 -37
  344. package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.d.ts +0 -7
  345. package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.d.ts +0 -15
  346. package/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.d.ts +0 -13
  347. package/lib/components/bmb-notice-card/bmb-notice-card.component.d.ts +0 -21
  348. package/lib/components/bmb-notification-card/bmb-notification-card.component.d.ts +0 -27
  349. package/lib/components/bmb-overlay/bmb-overlay.component.d.ts +0 -9
  350. package/lib/components/bmb-paginator/bmb-paginator.component.d.ts +0 -14
  351. package/lib/components/bmb-portal/bmb-portal.component.d.ts +0 -18
  352. package/lib/components/bmb-profile/bmb-profile.component.d.ts +0 -34
  353. package/lib/components/bmb-progress-bar/bmb-progress-bar.component.d.ts +0 -19
  354. package/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.d.ts +0 -51
  355. package/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.d.ts +0 -12
  356. package/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.d.ts +0 -23
  357. package/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.d.ts +0 -18
  358. package/lib/components/bmb-push-notification/bmb-push-notification.component.d.ts +0 -11
  359. package/lib/components/bmb-push-notification/types.d.ts +0 -46
  360. package/lib/components/bmb-radial/bmb-radial.component.d.ts +0 -33
  361. package/lib/components/bmb-search-input/bmb-search-input.component.d.ts +0 -33
  362. package/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.d.ts +0 -6
  363. package/lib/components/bmb-select/bmb-select.component.d.ts +0 -17
  364. package/lib/components/bmb-server-table/bmb-server-table.component.d.ts +0 -26
  365. package/lib/components/bmb-sidebar/bmb-sidebar.component.d.ts +0 -27
  366. package/lib/components/bmb-sidebar/bmb-sidebar.interface.d.ts +0 -10
  367. package/lib/components/bmb-simple-header/bmb-simple-header.component.d.ts +0 -10
  368. package/lib/components/bmb-skeleton/bmb-skeleton.component.d.ts +0 -7
  369. package/lib/components/bmb-sounds-card/bmb-sounds-card.component.d.ts +0 -24
  370. package/lib/components/bmb-stat-counter/bmb-stat-counter.component.d.ts +0 -11
  371. package/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.d.ts +0 -26
  372. package/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.d.ts +0 -23
  373. package/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.d.ts +0 -10
  374. package/lib/components/bmb-switch/bmb-switch.component.d.ts +0 -25
  375. package/lib/components/bmb-tables/bmb-tables.component.d.ts +0 -104
  376. package/lib/components/bmb-tables/bmb-tables.interface.d.ts +0 -21
  377. package/lib/components/bmb-tabs/bmb-tabs.component.d.ts +0 -41
  378. package/lib/components/bmb-tags/bmb-tags.component.d.ts +0 -25
  379. package/lib/components/bmb-text-editor/bmb-text-editor.component.d.ts +0 -34
  380. package/lib/components/bmb-text-link/bmb-text-link.component.d.ts +0 -17
  381. package/lib/components/bmb-theme/bmb-theme.component.d.ts +0 -19
  382. package/lib/components/bmb-three-cols/bmb-three-cols.component.d.ts +0 -15
  383. package/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.d.ts +0 -25
  384. package/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.d.ts +0 -5
  385. package/lib/components/bmb-timestream/bmb-timestream.component.d.ts +0 -67
  386. package/lib/components/bmb-timestream/types.d.ts +0 -54
  387. package/lib/components/bmb-timestream-card/bmb-timestream-card.component.d.ts +0 -29
  388. package/lib/components/bmb-title-content/bmb-title-content.component.d.ts +0 -26
  389. package/lib/components/bmb-toast/bmb-toast.component.d.ts +0 -16
  390. package/lib/components/bmb-tooltip/bmb-tooltip.component.d.ts +0 -15
  391. package/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.d.ts +0 -7
  392. package/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.d.ts +0 -30
  393. package/lib/components/bmb-top-bar/bmb-top-bar.component.d.ts +0 -45
  394. package/lib/components/bmb-top-bar/types.d.ts +0 -6
  395. package/lib/components/bmb-totp/bmb-totp.component.d.ts +0 -30
  396. package/lib/components/bmb-user-image/bmb-user-image.component.d.ts +0 -19
  397. package/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.d.ts +0 -10
  398. package/lib/components/bmb-user-profile/bmb-user-profile.component.d.ts +0 -19
  399. package/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.d.ts +0 -24
  400. package/lib/components/bmb-user-summary/bmb-user-summary.component.d.ts +0 -14
  401. package/lib/components/bmb-value-counter/bmb-value-counter.component.d.ts +0 -8
  402. package/lib/components/bmb-web-templates/bmb-web-templates.component.d.ts +0 -42
  403. package/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.d.ts +0 -40
  404. package/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.d.ts +0 -16
  405. package/lib/directives/bmb-accordion/bmb-accordion-control.directive.d.ts +0 -22
  406. package/lib/directives/bmb-button/button.directive.d.ts +0 -29
  407. package/lib/directives/bmb-button-group/bmb-button-group.directive.d.ts +0 -10
  408. package/lib/directives/bmb-layout/bmb-layout-item.directive.d.ts +0 -20
  409. package/lib/directives/bmb-layout/bmb-layout.directive.d.ts +0 -15
  410. package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.d.ts +0 -9
  411. package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.d.ts +0 -14
  412. package/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.d.ts +0 -29
  413. package/lib/directives/utils/clickoutside.directive.d.ts +0 -15
  414. package/lib/ds-ng.component.d.ts +0 -5
  415. package/lib/ds-ng.service.d.ts +0 -6
  416. package/lib/services/calendar.service.d.ts +0 -15
  417. package/lib/services/index.d.ts +0 -2
  418. package/lib/services/native-modal.service.d.ts +0 -18
  419. package/lib/services/notification.service.d.ts +0 -20
  420. package/lib/services/tabs.service.d.ts +0 -13
  421. package/lib/services/theme.service.d.ts +0 -11
  422. package/lib/services/toast.service.d.ts +0 -9
  423. package/lib/services/user/profile.service.d.ts +0 -9
  424. package/lib/types/colors.d.ts +0 -2
  425. package/lib/types/index.d.ts +0 -127
  426. package/lib/utils/countryCodes.d.ts +0 -7
  427. package/lib/utils/currencyFormat.d.ts +0 -1
  428. package/lib/utils/dropdown.d.ts +0 -6
  429. package/lib/utils/formControl.d.ts +0 -7
  430. package/lib/utils/timestreamFilters.d.ts +0 -2
  431. package/lib/utils/utils.d.ts +0 -12
  432. package/public-api.d.ts +0 -142
@@ -1,162 +0,0 @@
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 BmbInputValidationComponent {
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.idDisabled = 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.isCustomError = model(false);
38
- this.showError = model(false);
39
- this.control = model();
40
- }
41
- ngOnInit() {
42
- this.addControlConfig(this.type(), this.value(), this.checked(), this.isRequired(), this.min(), this.max(), this.minLength(), this.pattern(), this.jsonFormat(), this.isCustomError(), this.customValidation());
43
- }
44
- addControlConfig(type, value, checked, isRequired, min, max, minLength, pattern, isJsonFormat, isCustomError, customValidation) {
45
- if (!this.control()?.value && (!!value || checked)) {
46
- this.addValue(this.control(), type, value, checked);
47
- }
48
- if (isRequired && !this.control()?.hasValidator(Validators.required)) {
49
- this.control()?.addValidators(Validators.required);
50
- }
51
- if (min) {
52
- this.control()?.addValidators(Validators.min(min));
53
- }
54
- if (max) {
55
- this.control()?.addValidators(Validators.max(max));
56
- }
57
- if (minLength) {
58
- this.control()?.addValidators(Validators.minLength(minLength));
59
- }
60
- if (pattern) {
61
- this.control()?.addValidators(Validators.pattern(pattern));
62
- }
63
- if (type === 'email' && !this.control()?.hasValidator(Validators.email)) {
64
- this.control()?.addValidators(Validators.email);
65
- }
66
- if (isJsonFormat) {
67
- this.control()?.addValidators(this.validatorError('jsonValidation'));
68
- }
69
- if (isCustomError) {
70
- this.control()?.addValidators(this.validatorError(customValidation));
71
- }
72
- if (this.idDisabled())
73
- this.control()?.disable();
74
- else
75
- this.control()?.enable();
76
- this.control()?.valueChanges.subscribe(() => {
77
- this.cdr.markForCheck();
78
- });
79
- }
80
- validatorError(errorType) {
81
- if (typeof errorType === 'string') {
82
- return (control) => {
83
- if (!control.value) {
84
- return null;
85
- }
86
- if (errorType === 'jsonValidation') {
87
- try {
88
- JSON.parse(control.value);
89
- return null;
90
- }
91
- catch (e) {
92
- return { invalidJson: true };
93
- }
94
- }
95
- return null;
96
- };
97
- }
98
- else {
99
- return errorType;
100
- }
101
- }
102
- addValue(control, type, value, checked) {
103
- if (type === 'radio') {
104
- if (checked)
105
- control.setValue(value);
106
- return;
107
- }
108
- if (type === 'checkbox' || type === 'switch') {
109
- if (checked)
110
- control.setValue(checked);
111
- return;
112
- }
113
- if (value) {
114
- control.setValue(value);
115
- return;
116
- }
117
- }
118
- getClasses(className) {
119
- if (this.type() === 'radio' || this.type() === 'checkbox') {
120
- return getPositionClass(`${className}-direction`, this.labelPosition());
121
- }
122
- return '';
123
- }
124
- getErrorType(errorMessages, type, alternativeMessage) {
125
- if (!!errorMessages && !!errorMessages[type])
126
- return errorMessages[type];
127
- return alternativeMessage;
128
- }
129
- isFieldRequired() {
130
- return (this.control()?.hasValidator(Validators.required) || this.isRequired());
131
- }
132
- getErrorMessage() {
133
- if (typeof this.errorMessage() === 'string' && !!this.errorMessage()) {
134
- return this.errorMessage().toString();
135
- }
136
- const errorMessages = this.errorMessage();
137
- if (this.control()?.hasError('pattern'))
138
- return this.getErrorType(errorMessages, 'pattern', 'Formato no válido');
139
- if (this.control()?.hasError('min'))
140
- return this.getErrorType(errorMessages, 'min', `El valor mínimo requerido es de ${this.min()}`);
141
- if (this.control()?.hasError('max'))
142
- return this.getErrorType(errorMessages, 'max', `El valor máximo requerido es de ${this.max()}`);
143
- if (this.control()?.hasError('minlength'))
144
- return this.getErrorType(errorMessages, 'minlength', `El mínimo de caracteres requerido es de ${this.minLength()}`);
145
- if (this.control()?.hasError('maxlength'))
146
- return this.getErrorType(errorMessages, 'maxlength', `El máximo de caracteres requerido es de ${this.maxLength()}`);
147
- if (this.control()?.hasError('required'))
148
- return this.getErrorType(errorMessages, 'required', 'Este campo es requerido');
149
- if (this.control()?.hasError('invalidJson'))
150
- return this.getErrorType(errorMessages, 'invalidJson', 'formato json no válido');
151
- if (this.control()?.hasError('customValidation'))
152
- return errorMessages?.customValidation || '';
153
- return '';
154
- }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbInputValidationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BmbInputValidationComponent, isStandalone: true, selector: "bmb-input-validation", 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 }, idDisabled: { classPropertyName: "idDisabled", publicName: "idDisabled", 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 }, isCustomError: { classPropertyName: "isCustomError", publicName: "isCustomError", 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: { isCustomError: "isCustomErrorChange", showError: "showErrorChange", control: "controlChange" }, ngImport: i0, template: "<section\n #inputValidation\n class=\"bmb_input-validation\"\n [ngClass]=\"{ disabled: idDisabled() }\"\n>\n <span\n class=\"bmb_input-validation-wrapper\"\n [ngClass]=\"getClasses('bmb_input-validation')\"\n >\n @if (\n !!label() ||\n isRequired() ||\n !!tooltip() ||\n (type() === \"text-area\" && showMaxTextLength())\n ) {\n <label class=\"bmb_input-validation-label\" [htmlFor]=\"inputId()\">\n {{ label() }}\n @if (isFieldRequired()) {\n <small class=\"bmb_input-validation-label-required\">*</small>\n }\n @if (!!tooltip()) {\n <bmb-tooltip\n class=\"bmb_input-validation-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-validation-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-validation-support\">\n @if (showError()) {\n <p class=\"bmb_input-validation-support-error\">\n {{ getErrorMessage() }}\n </p>\n } @else if (!!helperMessage()) {\n <p [class]=\"'bmb_input-validation-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-validation{-webkit-user-select:none;user-select:none}.bmb_input-validation-wrapper{display:block;position:relative}.bmb_input-validation-direction-before{display:inline-flex;flex-direction:row;cursor:pointer}.bmb_input-validation-direction-after{display:inline-flex;flex-direction:row-reverse;cursor:pointer}.bmb_input-validation-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-validation-label-required{color:var(--input-error)}.bmb_input-validation-label-tooltip{color:var(--general_contrasts-50)}.bmb_input-validation-label-max{margin-left:auto;padding-right:var(--bmb-spacing-s)}.bmb_input-validation-support{display:flex;padding:var(--bmb-spacing-s)}.bmb_input-validation-support-helper-normal{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-input-outline)}.bmb_input-validation-support-helper-simple{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-50)}.bmb_input-validation-support-error{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--input-error)}.bmb_input-validation.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 }); }
157
- }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbInputValidationComponent, decorators: [{
159
- type: Component,
160
- args: [{ selector: 'bmb-input-validation', standalone: true, imports: [CommonModule, ReactiveFormsModule, BmbTooltipComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n #inputValidation\n class=\"bmb_input-validation\"\n [ngClass]=\"{ disabled: idDisabled() }\"\n>\n <span\n class=\"bmb_input-validation-wrapper\"\n [ngClass]=\"getClasses('bmb_input-validation')\"\n >\n @if (\n !!label() ||\n isRequired() ||\n !!tooltip() ||\n (type() === \"text-area\" && showMaxTextLength())\n ) {\n <label class=\"bmb_input-validation-label\" [htmlFor]=\"inputId()\">\n {{ label() }}\n @if (isFieldRequired()) {\n <small class=\"bmb_input-validation-label-required\">*</small>\n }\n @if (!!tooltip()) {\n <bmb-tooltip\n class=\"bmb_input-validation-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-validation-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-validation-support\">\n @if (showError()) {\n <p class=\"bmb_input-validation-support-error\">\n {{ getErrorMessage() }}\n </p>\n } @else if (!!helperMessage()) {\n <p [class]=\"'bmb_input-validation-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-validation{-webkit-user-select:none;user-select:none}.bmb_input-validation-wrapper{display:block;position:relative}.bmb_input-validation-direction-before{display:inline-flex;flex-direction:row;cursor:pointer}.bmb_input-validation-direction-after{display:inline-flex;flex-direction:row-reverse;cursor:pointer}.bmb_input-validation-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-validation-label-required{color:var(--input-error)}.bmb_input-validation-label-tooltip{color:var(--general_contrasts-50)}.bmb_input-validation-label-max{margin-left:auto;padding-right:var(--bmb-spacing-s)}.bmb_input-validation-support{display:flex;padding:var(--bmb-spacing-s)}.bmb_input-validation-support-helper-normal{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-input-outline)}.bmb_input-validation-support-helper-simple{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--general_contrasts-50)}.bmb_input-validation-support-error{font-family:Poppins-Regular,sans-serif;font-size:.875rem;margin:0;color:var(--input-error)}.bmb_input-validation.disabled{pointer-events:none;opacity:.5}\n"] }]
161
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXZhbGlkYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1pbnB1dC9ibWItaW5wdXQtdmFsaWRhdGlvbi9ibWItaW5wdXQtdmFsaWRhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWlucHV0L2JtYi1pbnB1dC12YWxpZGF0aW9uL2JtYi1pbnB1dC12YWxpZGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFDTCxLQUFLLEVBRUwsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFHTCxtQkFBbUIsRUFFbkIsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFheEQsTUFBTSxPQUFPLDJCQUEyQjtJQWdDdEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUEvQjFDLFlBQU8sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDNUIsU0FBSSxHQUFHLEtBQUssQ0FBbUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsZUFBVSxHQUFHLEtBQUssQ0FBK0IsUUFBUSxDQUFDLENBQUM7UUFDM0QsVUFBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFHLEtBQUssRUFBMkIsQ0FBQztR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LENBQUM7UUFDSixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLENBQUMsa0JBQWtCLENBQUM7WUFDOUMsT0FBTyxhQUFhLEVBQUUsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1FBRS9DLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzsrR0FoT1UsMkJBQTJCO21HQUEzQiwyQkFBMkIsZ2lIQ3RDeEMsc21EQXFEQSxnbVBEckJZLFlBQVksNEhBQUUsbUJBQW1CLCtCQUFFLG1CQUFtQjs7NEZBTXJELDJCQUEyQjtrQkFUdkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLGlCQUdsRCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBJQm1iSW5wdXRBcHBlYXJhbmNlLFxuICBJQm1iSW5wdXRFcnJvcixcbiAgSUJtYklucHV0VG9vbHRpcFBvc2l0aW9uLFxuICBJQm1iSW5wdXRUeXBlLFxufSBmcm9tICcuLi9ibWItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUNvbnRyb2wsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvckZuLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQmJtU2lkZVBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJtYlRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9ibWItdG9vbHRpcC9ibWItdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0UG9zaXRpb25DbGFzcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgSUJtYklucHV0VmFsVHlwZSA9ICdjaGVja2JveCcgfCAnZW1haWwnIHwgJ3Bob25lJyB8ICdzd2l0Y2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItaW5wdXQtdmFsaWRhdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEJtYlRvb2x0aXBDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLWlucHV0LXZhbGlkYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm1iLWlucHV0LXZhbGlkYXRpb24uY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQm1iSW5wdXRWYWxpZGF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaW5wdXRJZCA9IGlucHV0PHN0cmluZz4oJycpO1xuICB0eXBlID0gaW5wdXQ8SUJtYklucHV0VHlwZSB8IElCbWJJbnB1dFZhbFR5cGU+KCd0ZXh0Jyk7XG4gIGFwcGVhcmFuY2UgPSBpbnB1dDxJQm1iSW5wdXRBcHBlYXJhbmNlIHwgc3RyaW5nPignbm9ybWFsJyk7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGxhYmVsUG9zaXRpb24gPSBpbnB1dDxJQmJtU2lkZVBvc2l0aW9uIHwgbnVsbD4oKTtcbiAgbmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICB2YWx1ZSA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPigpO1xuICBjaGVja2VkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBpc1JlcXVpcmVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBpZERpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBtYXggPSBpbnB1dDxudW1iZXI+KCk7XG4gIG1pbiA9IGlucHV0PG51bWJlcj4oKTtcbiAgbWF4TGVuZ3RoID0gaW5wdXQ8bnVtYmVyPigpO1xuICBtaW5MZW5ndGggPSBpbnB1dDxudW1iZXI+KCk7XG4gIHBhdHRlcm4gPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGpzb25Gb3JtYXQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcm93cyA9IGlucHV0PG51bWJlcj4oMyk7XG4gIHRvb2x0aXBQb3NpdGlvbiA9IGlucHV0PElCbWJJbnB1dFRvb2x0aXBQb3NpdGlvbj4oe1xuICAgIGFsaWduOiAnYWJvdmUnLFxuICAgIGp1c3RpZnk6ICdiZWZvcmUnLFxuICB9KTtcbiAgc2hvd01heFRleHRMZW5ndGggPSBpbnB1dDxib29sZWFuIHwgbnVsbD4odHJ1ZSk7XG4gIGhlbHBlck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgZXJyb3JNZXNzYWdlID0gaW5wdXQ8c3RyaW5nIHwgSUJtYklucHV0RXJyb3I+KCcnKTtcbiAgY3VzdG9tVmFsaWRhdGlvbiA9IGlucHV0PFZhbGlkYXRvckZuPigpO1xuXG4gIGlzQ3VzdG9tRXJyb3IgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIHNob3dFcnJvciA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29udHJvbCA9IG1vZGVsPEZvcm1Db250cm9sPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZENvbnRyb2xDb25maWcoXG4gICAgICB0aGlzLnR5cGUoKSxcbiAgICAgIHRoaXMudmFsdWUoKSxcbiAgICAgIHRoaXMuY2hlY2tlZCgpLFxuICAgICAgdGhpcy5pc1JlcXVpcmVkKCksXG4gICAgICB0aGlzLm1pbigpISxcbiAgICAgIHRoaXMubWF4KCkhLFxuICAgICAgdGhpcy5taW5MZW5ndGgoKSEsXG4gICAgICB0aGlzLnBhdHRlcm4oKSEsXG4gICAgICB0aGlzLmpzb25Gb3JtYXQoKSxcbiAgICAgIHRoaXMuaXNDdXN0b21FcnJvcigpLFxuICAgICAgdGhpcy5jdXN0b21WYWxpZGF0aW9uKCkhLFxuICAgICk7XG4gIH1cblxuICBhZGRDb250cm9sQ29uZmlnKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICB2YWx1ZTogdW5rbm93bixcbiAgICBjaGVja2VkOiBib29sZWFuLFxuICAgIGlzUmVxdWlyZWQ6IGJvb2xlYW4sXG4gICAgbWluOiBudW1iZXIsXG4gICAgbWF4OiBudW1iZXIsXG4gICAgbWluTGVuZ3RoOiBudW1iZXIsXG4gICAgcGF0dGVybjogc3RyaW5nLFxuICAgIGlzSnNvbkZvcm1hdDogYm9vbGVhbixcbiAgICBpc0N1c3RvbUVycm9yOiBib29sZWFuLFxuICAgIGN1c3RvbVZhbGlkYXRpb246IFZhbGlkYXRvckZuLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCgpPy52YWx1ZSAmJiAoISF2YWx1ZSB8fCBjaGVja2VkKSkge1xuICAgICAgdGhpcy5hZGRWYWx1ZSh0aGlzLmNvbnRyb2woKSEsIHR5cGUsIHZhbHVlLCBjaGVja2VkKTtcbiAgICB9XG5cbiAgICBpZiAoaXNSZXF1aXJlZCAmJiAhdGhpcy5jb250cm9sKCk/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxuXG4gICAgaWYgKG1pbikge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5taW4obWluKSk7XG4gICAgfVxuXG4gICAgaWYgKG1heCkge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5tYXgobWF4KSk7XG4gICAgfVxuXG4gICAgaWYgKG1pbkxlbmd0aCkge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5taW5MZW5ndGgobWluTGVuZ3RoKSk7XG4gICAgfVxuXG4gICAgaWYgKHBhdHRlcm4pIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucGF0dGVybihwYXR0ZXJuKSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdlbWFpbCcgJiYgIXRoaXMuY29udHJvbCgpPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5lbWFpbCkpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuZW1haWwpO1xuICAgIH1cblxuICAgIGlmIChpc0pzb25Gb3JtYXQpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5hZGRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9yRXJyb3IoJ2pzb25WYWxpZGF0aW9uJykpO1xuICAgIH1cblxuICAgIGlmIChpc0N1c3RvbUVycm9yKSB7XG4gICAgICB0aGlzLmNvbnRyb2woKT8uYWRkVmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvckVycm9yKGN1c3RvbVZhbGlkYXRpb24pKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pZERpc2FibGVkKCkpIHRoaXMuY29udHJvbCgpPy5kaXNhYmxlKCk7XG4gICAgZWxzZSB0aGlzLmNvbnRyb2woKT8uZW5hYmxlKCk7XG5cbiAgICB0aGlzLmNvbnRyb2woKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHZhbGlkYXRvckVycm9yKGVycm9yVHlwZTogc3RyaW5nIHwgVmFsaWRhdG9yRm4pOiBWYWxpZGF0b3JGbiB7XG4gICAgaWYgKHR5cGVvZiBlcnJvclR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+IHtcbiAgICAgICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3JUeXBlID09PSAnanNvblZhbGlkYXRpb24nKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIEpTT04ucGFyc2UoY29udHJvbC52YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4geyBpbnZhbGlkSnNvbjogdHJ1ZSB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlcnJvclR5cGU7XG4gICAgfVxuICB9XG5cbiAgYWRkVmFsdWUoXG4gICAgY29udHJvbDogRm9ybUNvbnRyb2wsXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIGNoZWNrZWQ6IGJvb2xlYW4sXG4gICk6IHZvaWQge1xuICAgIGlmICh0eXBlID09PSAncmFkaW8nKSB7XG4gICAgICBpZiAoY2hlY2tlZCkgY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdjaGVja2JveCcgfHwgdHlwZSA9PT0gJ3N3aXRjaCcpIHtcbiAgICAgIGlmIChjaGVja2VkKSBjb250cm9sLnNldFZhbHVlKGNoZWNrZWQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2xhc3NlcyhjbGFzc05hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMudHlwZSgpID09PSAncmFkaW8nIHx8IHRoaXMudHlwZSgpID09PSAnY2hlY2tib3gnKSB7XG4gICAgICByZXR1cm4gZ2V0UG9zaXRpb25DbGFzcyhgJHtjbGFzc05hbWV9LWRpcmVjdGlvbmAsIHRoaXMubGFiZWxQb3NpdGlvbigpISk7XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0RXJyb3JUeXBlKFxuICAgIGVycm9yTWVzc2FnZXM6IElCbWJJbnB1dEVycm9yLFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBhbHRlcm5hdGl2ZU1lc3NhZ2U6IHN0cmluZyxcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoISFlcnJvck1lc3NhZ2VzICYmICEhKGVycm9yTWVzc2FnZXMgYXMgYW55KVt0eXBlXSlcbiAgICAgIHJldHVybiAoZXJyb3JNZXNzYWdlcyBhcyBhbnkpW3R5cGVdO1xuICAgIHJldHVybiBhbHRlcm5hdGl2ZU1lc3NhZ2U7XG4gIH1cblxuICBpc0ZpZWxkUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29udHJvbCgpPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgfHwgdGhpcy5pc1JlcXVpcmVkKClcbiAgICApO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmVycm9yTWVzc2FnZSgpID09PSAnc3RyaW5nJyAmJiAhIXRoaXMuZXJyb3JNZXNzYWdlKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZSgpLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3JNZXNzYWdlcyA9IHRoaXMuZXJyb3JNZXNzYWdlKCkgYXMgSUJtYklucHV0RXJyb3I7XG5cbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdwYXR0ZXJuJykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFcnJvclR5cGUoZXJyb3JNZXNzYWdlcywgJ3BhdHRlcm4nLCAnRm9ybWF0byBubyB2w6FsaWRvJyk7XG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5oYXNFcnJvcignbWluJykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFcnJvclR5cGUoXG4gICAgICAgIGVycm9yTWVzc2FnZXMsXG4gICAgICAgICdtaW4nLFxuICAgICAgICBgRWwgdmFsb3IgbcOtbmltbyByZXF1ZXJpZG8gZXMgZGUgJHt0aGlzLm1pbigpfWAsXG4gICAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8uaGFzRXJyb3IoJ21heCcpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAnbWF4JyxcbiAgICAgICAgYEVsIHZhbG9yIG3DoXhpbW8gcmVxdWVyaWRvIGVzIGRlICR7dGhpcy5tYXgoKX1gLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdtaW5sZW5ndGgnKSlcbiAgICAgIHJldHVybiB0aGlzLmdldEVycm9yVHlwZShcbiAgICAgICAgZXJyb3JNZXNzYWdlcyxcbiAgICAgICAgJ21pbmxlbmd0aCcsXG4gICAgICAgIGBFbCBtw61uaW1vIGRlIGNhcmFjdGVyZXMgcmVxdWVyaWRvIGVzIGRlICR7dGhpcy5taW5MZW5ndGgoKX1gLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKSlcbiAgICAgIHJldHVybiB0aGlzLmdldEVycm9yVHlwZShcbiAgICAgICAgZXJyb3JNZXNzYWdlcyxcbiAgICAgICAgJ21heGxlbmd0aCcsXG4gICAgICAgIGBFbCBtw6F4aW1vIGRlIGNhcmFjdGVyZXMgcmVxdWVyaWRvIGVzIGRlICR7dGhpcy5tYXhMZW5ndGgoKX1gLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAncmVxdWlyZWQnLFxuICAgICAgICAnRXN0ZSBjYW1wbyBlcyByZXF1ZXJpZG8nLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdpbnZhbGlkSnNvbicpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JUeXBlKFxuICAgICAgICBlcnJvck1lc3NhZ2VzLFxuICAgICAgICAnaW52YWxpZEpzb24nLFxuICAgICAgICAnZm9ybWF0byBqc29uIG5vIHbDoWxpZG8nLFxuICAgICAgKTtcbiAgICBpZiAodGhpcy5jb250cm9sKCk/Lmhhc0Vycm9yKCdjdXN0b21WYWxpZGF0aW9uJykpXG4gICAgICByZXR1cm4gZXJyb3JNZXNzYWdlcz8uY3VzdG9tVmFsaWRhdGlvbiB8fCAnJztcblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIiwiPHNlY3Rpb25cbiAgI2lucHV0VmFsaWRhdGlvblxuICBjbGFzcz1cImJtYl9pbnB1dC12YWxpZGF0aW9uXCJcbiAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogaWREaXNhYmxlZCgpIH1cIlxuPlxuICA8c3BhblxuICAgIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRpb24td3JhcHBlclwiXG4gICAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3NlcygnYm1iX2lucHV0LXZhbGlkYXRpb24nKVwiXG4gID5cbiAgICBAaWYgKFxuICAgICAgISFsYWJlbCgpIHx8XG4gICAgICBpc1JlcXVpcmVkKCkgfHxcbiAgICAgICEhdG9vbHRpcCgpIHx8XG4gICAgICAodHlwZSgpID09PSBcInRleHQtYXJlYVwiICYmIHNob3dNYXhUZXh0TGVuZ3RoKCkpXG4gICAgKSB7XG4gICAgICA8bGFiZWwgY2xhc3M9XCJibWJfaW5wdXQtdmFsaWRhdGlvbi1sYWJlbFwiIFtodG1sRm9yXT1cImlucHV0SWQoKVwiPlxuICAgICAgICB7eyBsYWJlbCgpIH19XG4gICAgICAgIEBpZiAoaXNGaWVsZFJlcXVpcmVkKCkpIHtcbiAgICAgICAgICA8c21hbGwgY2xhc3M9XCJibWJfaW5wdXQtdmFsaWRhdGlvbi1sYWJlbC1yZXF1aXJlZFwiPio8L3NtYWxsPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoISF0b29sdGlwKCkpIHtcbiAgICAgICAgICA8Ym1iLXRvb2x0aXBcbiAgICAgICAgICAgIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRpb24tbGFiZWwtdG9vbHRpcFwiXG4gICAgICAgICAgICBbdGV4dF09XCJ0b29sdGlwKClcIlxuICAgICAgICAgICAgW2FsaWduXT1cInRvb2x0aXBQb3NpdGlvbigpLmFsaWduXCJcbiAgICAgICAgICAgIFtqdXN0aWZ5XT1cInRvb2x0aXBQb3NpdGlvbigpLmp1c3RpZnlcIlxuICAgICAgICAgICAgW2ljb25dPVwiJ2hlbHAnXCJcbiAgICAgICAgICAgIFtzaXplXT1cIjIwXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAodHlwZSgpID09PSBcInRleHQtYXJlYVwiICYmIHNob3dNYXhUZXh0TGVuZ3RoKCkpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJtYl9pbnB1dC12YWxpZGF0aW9uLWxhYmVsLW1heFwiPlxuICAgICAgICAgICAge3sgY29udHJvbCgpPy52YWx1ZT8udG9TdHJpbmcoKS5sZW5ndGggfX0ve3sgbWF4TGVuZ3RoKCkgfHwgXCItXCIgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvbGFiZWw+XG4gICAgfVxuICAgIDxuZy1jb250ZW50IC8+XG4gIDwvc3Bhbj5cbiAgQGlmICghIWhlbHBlck1lc3NhZ2UoKSB8fCBzaG93RXJyb3IoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJibWJfaW5wdXQtdmFsaWRhdGlvbi1zdXBwb3J0XCI+XG4gICAgICBAaWYgKHNob3dFcnJvcigpKSB7XG4gICAgICAgIDxwIGNsYXNzPVwiYm1iX2lucHV0LXZhbGlkYXRpb24tc3VwcG9ydC1lcnJvclwiPlxuICAgICAgICAgIHt7IGdldEVycm9yTWVzc2FnZSgpIH19XG4gICAgICAgIDwvcD5cbiAgICAgIH0gQGVsc2UgaWYgKCEhaGVscGVyTWVzc2FnZSgpKSB7XG4gICAgICAgIDxwIFtjbGFzc109XCInYm1iX2lucHV0LXZhbGlkYXRpb24tc3VwcG9ydC1oZWxwZXItJyArIGFwcGVhcmFuY2UoKVwiPlxuICAgICAgICAgIHt7IGhlbHBlck1lc3NhZ2UoKSB9fVxuICAgICAgICA8L3A+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -1,116 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { FormControl, Validators, } from '@angular/forms';
3
- import { showError } from '../../../utils/utils';
4
- import * as i0 from "@angular/core";
5
- export class BmbInputValidationService {
6
- constructor() {
7
- this.controls = {};
8
- }
9
- getFormControlByName(name) {
10
- return this.controls[name];
11
- }
12
- setFormControl(controlAdded, type, name) {
13
- if (!this.getFormControlByName(name)) {
14
- if (controlAdded) {
15
- this.controls[name] = controlAdded;
16
- return;
17
- }
18
- this.controls[name] = this.newFormControlByType(type);
19
- }
20
- }
21
- newFormControlByType(type) {
22
- if (type === 'radio' ||
23
- type === 'checkbox' ||
24
- type === 'phone' ||
25
- type === 'number' ||
26
- type === 'switch')
27
- return new FormControl(null);
28
- return new FormControl('');
29
- }
30
- addValue(control, type, value, checked) {
31
- if (type === 'radio') {
32
- if (checked)
33
- control.setValue(value);
34
- return;
35
- }
36
- if (type === 'checkbox' || type === 'switch') {
37
- if (checked)
38
- control.setValue(checked);
39
- return;
40
- }
41
- if (value) {
42
- control.setValue(value);
43
- return;
44
- }
45
- }
46
- addControlConfig(type, name, value, checked, isRequired, min, max, minLength, pattern, isJsonFormat, isCustomError, customValidation, cdr) {
47
- const formControl = this.getFormControlByName(name);
48
- if (!formControl.value && (!!value || checked)) {
49
- this.addValue(formControl, type, value, checked);
50
- }
51
- if (isRequired && !formControl.hasValidator(Validators.required)) {
52
- formControl.addValidators(Validators.required);
53
- }
54
- if (min) {
55
- formControl.addValidators(Validators.min(min));
56
- }
57
- if (max) {
58
- formControl.addValidators(Validators.max(max));
59
- }
60
- if (minLength) {
61
- formControl.addValidators(Validators.minLength(minLength));
62
- }
63
- if (pattern) {
64
- formControl.addValidators(Validators.pattern(pattern));
65
- }
66
- if (type === 'email' && !formControl.hasValidator(Validators.email)) {
67
- formControl.addValidators(Validators.email);
68
- }
69
- if (isJsonFormat) {
70
- formControl.addValidators(this.validatorError('jsonValidation'));
71
- }
72
- if (isCustomError) {
73
- formControl.addValidators(this.validatorError(customValidation));
74
- }
75
- formControl.valueChanges.subscribe(() => {
76
- cdr.markForCheck();
77
- });
78
- }
79
- validatorError(errorType) {
80
- if (typeof errorType === 'string') {
81
- return (control) => {
82
- if (!control.value) {
83
- return null;
84
- }
85
- if (errorType === 'jsonValidation') {
86
- try {
87
- JSON.parse(control.value);
88
- return null;
89
- }
90
- catch (e) {
91
- return { invalidJson: true };
92
- }
93
- }
94
- return null;
95
- };
96
- }
97
- else {
98
- return errorType;
99
- }
100
- }
101
- showError(name) {
102
- return showError(this.getFormControlByName(name));
103
- }
104
- handleValidity(name) {
105
- const control = this.getFormControlByName(name);
106
- control.updateValueAndValidity();
107
- control.markAsTouched();
108
- }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbInputValidationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
110
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbInputValidationService, providedIn: 'root' }); }
111
- }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbInputValidationService, decorators: [{
113
- type: Injectable,
114
- args: [{ providedIn: 'root' }]
115
- }] });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXZhbGlkYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQvYm1iLWlucHV0LXZhbGlkYXRpb24vYm1iLWlucHV0LXZhbGlkYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBRUwsV0FBVyxFQUNYLFVBQVUsR0FFWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHakQsTUFBTSxPQUFPLHlCQUF5QjtJQUR0QztRQUVVLGFBQVEsR0FBbUMsRUFBRSxDQUFDO0tBNkl2RDtJQTNJQyxvQkFBb0IsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQWdCLENBQUM7SUFDNUMsQ0FBQztJQUVELGNBQWMsQ0FBQyxZQUF5QixFQUFFLElBQVksRUFBRSxJQUFZO1FBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQztnQkFDbkMsT0FBTztZQUNULENBQUM7WUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQVM7UUFDNUIsSUFDRSxJQUFJLEtBQUssT0FBTztZQUNoQixJQUFJLEtBQUssVUFBVTtZQUNuQixJQUFJLEtBQUssT0FBTztZQUNoQixJ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QjtrQkFEckMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBGb3JtQ29udHJvbCxcclxuICBWYWxpZGF0b3JzLFxyXG4gIFZhbGlkYXRvckZuLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgc2hvd0Vycm9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbHMnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEJtYklucHV0VmFsaWRhdGlvblNlcnZpY2Uge1xyXG4gIHByaXZhdGUgY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogRm9ybUNvbnRyb2wgfSA9IHt9O1xyXG5cclxuICBnZXRGb3JtQ29udHJvbEJ5TmFtZShuYW1lOiBzdHJpbmcpOiBGb3JtQ29udHJvbCB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sc1tuYW1lXSBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIHNldEZvcm1Db250cm9sKGNvbnRyb2xBZGRlZDogRm9ybUNvbnRyb2wsIHR5cGU6IHN0cmluZywgbmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZ2V0Rm9ybUNvbnRyb2xCeU5hbWUobmFtZSkpIHtcclxuICAgICAgaWYgKGNvbnRyb2xBZGRlZCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbHNbbmFtZV0gPSBjb250cm9sQWRkZWQ7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRyb2xzW25hbWVdID0gdGhpcy5uZXdGb3JtQ29udHJvbEJ5VHlwZSh0eXBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5ld0Zvcm1Db250cm9sQnlUeXBlKHR5cGU6IGFueSk6IEZvcm1Db250cm9sIHtcclxuICAgIGlmIChcclxuICAgICAgdHlwZSA9PT0gJ3JhZGlvJyB8fFxyXG4gICAgICB0eXBlID09PSAnY2hlY2tib3gnIHx8XHJcbiAgICAgIHR5cGUgPT09ICdwaG9uZScgfHxcclxuICAgICAgdHlwZSA9PT0gJ251bWJlcicgfHxcclxuICAgICAgdHlwZSA9PT0gJ3N3aXRjaCdcclxuICAgIClcclxuICAgICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbChudWxsKTtcclxuXHJcbiAgICByZXR1cm4gbmV3IEZvcm1Db250cm9sKCcnKTtcclxuICB9XHJcblxyXG4gIGFkZFZhbHVlKFxyXG4gICAgY29udHJvbDogRm9ybUNvbnRyb2wsXHJcbiAgICB0eXBlOiBzdHJpbmcsXHJcbiAgICB2YWx1ZTogdW5rbm93bixcclxuICAgIGNoZWNrZWQ6IGJvb2xlYW4sXHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZSA9PT0gJ3JhZGlvJykge1xyXG4gICAgICBpZiAoY2hlY2tlZCkgY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZSA9PT0gJ2NoZWNrYm94JyB8fCB0eXBlID09PSAnc3dpdGNoJykge1xyXG4gICAgICBpZiAoY2hlY2tlZCkgY29udHJvbC5zZXRWYWx1ZShjaGVja2VkKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICBjb250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkQ29udHJvbENvbmZpZyhcclxuICAgIHR5cGU6IHN0cmluZyxcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIHZhbHVlOiB1bmtub3duLFxyXG4gICAgY2hlY2tlZDogYm9vbGVhbixcclxuICAgIGlzUmVxdWlyZWQ6IGJvb2xlYW4sXHJcbiAgICBtaW46IG51bWJlcixcclxuICAgIG1heDogbnVtYmVyLFxyXG4gICAgbWluTGVuZ3RoOiBudW1iZXIsXHJcbiAgICBwYXR0ZXJuOiBzdHJpbmcsXHJcbiAgICBpc0pzb25Gb3JtYXQ6IGJvb2xlYW4sXHJcbiAgICBpc0N1c3RvbUVycm9yOiBib29sZWFuLFxyXG4gICAgY3VzdG9tVmFsaWRhdGlvbjogVmFsaWRhdG9yRm4sXHJcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICk6IHZvaWQge1xyXG4gICAgY29uc3QgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gdGhpcy5nZXRGb3JtQ29udHJvbEJ5TmFtZShuYW1lKTtcclxuXHJcbiAgICBpZiAoIWZvcm1Db250cm9sLnZhbHVlICYmICghIXZhbHVlIHx8IGNoZWNrZWQpKSB7XHJcbiAgICAgIHRoaXMuYWRkVmFsdWUoZm9ybUNvbnRyb2wsIHR5cGUsIHZhbHVlLCBjaGVja2VkKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNSZXF1aXJlZCAmJiAhZm9ybUNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKSB7XHJcbiAgICAgIGZvcm1Db250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1pbikge1xyXG4gICAgICBmb3JtQ29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWluKG1pbikpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtYXgpIHtcclxuICAgICAgZm9ybUNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLm1heChtYXgpKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobWluTGVuZ3RoKSB7XHJcbiAgICAgIGZvcm1Db250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5taW5MZW5ndGgobWluTGVuZ3RoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBhdHRlcm4pIHtcclxuICAgICAgZm9ybUNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnBhdHRlcm4ocGF0dGVybikpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlID09PSAnZW1haWwnICYmICFmb3JtQ29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5lbWFpbCkpIHtcclxuICAgICAgZm9ybUNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLmVtYWlsKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNKc29uRm9ybWF0KSB7XHJcbiAgICAgIGZvcm1Db250cm9sLmFkZFZhbGlkYXRvcnModGhpcy52YWxpZGF0b3JFcnJvcignanNvblZhbGlkYXRpb24nKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGlzQ3VzdG9tRXJyb3IpIHtcclxuICAgICAgZm9ybUNvbnRyb2wuYWRkVmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvckVycm9yKGN1c3RvbVZhbGlkYXRpb24pKTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0b3JFcnJvcihlcnJvclR5cGU6IHN0cmluZyB8IFZhbGlkYXRvckZuKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgaWYgKHR5cGVvZiBlcnJvclR5cGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgPT4ge1xyXG4gICAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZXJyb3JUeXBlID09PSAnanNvblZhbGlkYXRpb24nKSB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBKU09OLnBhcnNlKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgaW52YWxpZEpzb246IHRydWUgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZXJyb3JUeXBlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd0Vycm9yKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHNob3dFcnJvcih0aGlzLmdldEZvcm1Db250cm9sQnlOYW1lKG5hbWUpKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVZhbGlkaXR5KG5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgY29udHJvbDogRm9ybUNvbnRyb2wgPSB0aGlzLmdldEZvcm1Db250cm9sQnlOYW1lKG5hbWUpO1xyXG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICB9XHJcbn1cclxuIl19