@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1118 → 1.5.1119-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 (229) hide show
  1. package/assets/styles/main.min.css +1 -1
  2. package/assets/styles/main.min.css.map +1 -1
  3. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +849 -711
  4. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
  5. package/lib/components/bmb-container-button/bmb-container-button.component.d.ts +9 -0
  6. package/lib/components/bmb-modal/bmb-modal.interface.d.ts +6 -2
  7. package/lib/components/bmb-modal/bmb-native-modal.component.d.ts +10 -3
  8. package/lib/components/bmb-portal/bmb-portal.component.d.ts +6 -2
  9. package/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.d.ts +42 -0
  10. package/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.d.ts +1 -7
  11. package/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.d.ts +8 -8
  12. package/lib/components/bmb-top-bar/bmb-top-bar.component.d.ts +16 -17
  13. package/lib/components/bmb-totp/bmb-totp.component.d.ts +1 -0
  14. package/lib/ds-ng.component.d.ts +1 -1
  15. package/lib/services/projection.service.d.ts +30 -0
  16. package/package.json +1 -3
  17. package/public-api.d.ts +1 -0
  18. package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +0 -87
  19. package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +0 -159
  20. package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +0 -150
  21. package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +0 -49
  22. package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +0 -31
  23. package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +0 -35
  24. package/esm2022/lib/components/bmb-advertisement-card/types.mjs +0 -2
  25. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +0 -40
  26. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +0 -18
  27. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +0 -148
  28. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +0 -52
  29. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +0 -196
  30. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +0 -62
  31. package/esm2022/lib/components/bmb-alert-center/types.mjs +0 -2
  32. package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +0 -26
  33. package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +0 -26
  34. package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +0 -27
  35. package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +0 -42
  36. package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +0 -55
  37. package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +0 -30
  38. package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +0 -262
  39. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +0 -95
  40. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +0 -40
  41. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +0 -68
  42. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +0 -41
  43. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.mjs +0 -63
  44. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +0 -95
  45. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +0 -45
  46. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +0 -54
  47. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +0 -24
  48. package/esm2022/lib/components/bmb-calendar/types.mjs +0 -2
  49. package/esm2022/lib/components/bmb-calendar/utils.mjs +0 -96
  50. package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +0 -154
  51. package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +0 -76
  52. package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +0 -80
  53. package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +0 -175
  54. package/esm2022/lib/components/bmb-chat-bar/bot_list.mjs +0 -57
  55. package/esm2022/lib/components/bmb-chat-bar/types.mjs +0 -2
  56. package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +0 -56
  57. package/esm2022/lib/components/bmb-chat-bubbles/types.mjs +0 -2
  58. package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +0 -46
  59. package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +0 -80
  60. package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +0 -36
  61. package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +0 -27
  62. package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +0 -83
  63. package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +0 -69
  64. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +0 -211
  65. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +0 -123
  66. package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +0 -54
  67. package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +0 -25
  68. package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +0 -34
  69. package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +0 -54
  70. package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +0 -200
  71. package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +0 -28
  72. package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +0 -175
  73. package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +0 -76
  74. package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +0 -78
  75. package/esm2022/lib/components/bmb-fab/bmb-fab-.interface.mjs +0 -9
  76. package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +0 -37
  77. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +0 -154
  78. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.interface.mjs +0 -2
  79. package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +0 -36
  80. package/esm2022/lib/components/bmb-form-validation/bmb-form-validation.component.mjs +0 -159
  81. package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +0 -159
  82. package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +0 -29
  83. package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +0 -22
  84. package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +0 -181
  85. package/esm2022/lib/components/bmb-grades/types.mjs +0 -2
  86. package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +0 -55
  87. package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +0 -49
  88. package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +0 -77
  89. package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +0 -59
  90. package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +0 -76
  91. package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +0 -41
  92. package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +0 -39
  93. package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +0 -20
  94. package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +0 -49
  95. package/esm2022/lib/components/bmb-icon/types.mjs +0 -2
  96. package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +0 -23
  97. package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +0 -24
  98. package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +0 -19
  99. package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +0 -21
  100. package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +0 -33
  101. package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +0 -77
  102. package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +0 -147
  103. package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.mjs +0 -162
  104. package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.mjs +0 -116
  105. package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +0 -178
  106. package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +0 -85
  107. package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +0 -219
  108. package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +0 -191
  109. package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +0 -54
  110. package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +0 -34
  111. package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +0 -28
  112. package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +0 -23
  113. package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +0 -83
  114. package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +0 -60
  115. package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +0 -55
  116. package/esm2022/lib/components/bmb-list-group/types.mjs +0 -2
  117. package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +0 -83
  118. package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +0 -77
  119. package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +0 -55
  120. package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +0 -66
  121. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +0 -40
  122. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +0 -20
  123. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +0 -33
  124. 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
  125. 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
  126. 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
  127. 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
  128. 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
  129. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +0 -44
  130. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +0 -52
  131. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +0 -70
  132. package/esm2022/lib/components/bmb-login-onboarding/types.mjs +0 -2
  133. package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +0 -43
  134. package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +0 -64
  135. package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +0 -14
  136. package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +0 -88
  137. package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +0 -139
  138. package/esm2022/lib/components/bmb-modal/bmb-modal.interface.mjs +0 -2
  139. package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +0 -84
  140. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +0 -15
  141. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +0 -59
  142. package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +0 -30
  143. package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +0 -43
  144. package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +0 -86
  145. package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +0 -22
  146. package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +0 -52
  147. package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +0 -52
  148. package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +0 -153
  149. package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +0 -39
  150. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +0 -196
  151. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.mjs +0 -2
  152. package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +0 -88
  153. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +0 -75
  154. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +0 -24
  155. package/esm2022/lib/components/bmb-push-notification/types.mjs +0 -2
  156. package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +0 -78
  157. package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +0 -117
  158. package/esm2022/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.mjs +0 -16
  159. package/esm2022/lib/components/bmb-select/bmb-select.component.mjs +0 -55
  160. package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +0 -82
  161. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +0 -103
  162. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.interface.mjs +0 -2
  163. package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +0 -64
  164. package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +0 -16
  165. package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +0 -64
  166. package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +0 -32
  167. package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +0 -53
  168. package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +0 -53
  169. package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +0 -27
  170. package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +0 -88
  171. package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +0 -545
  172. package/esm2022/lib/components/bmb-tables/bmb-tables.interface.mjs +0 -2
  173. package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +0 -127
  174. package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +0 -65
  175. package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +0 -135
  176. package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +0 -43
  177. package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +0 -65
  178. package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +0 -30
  179. package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +0 -74
  180. package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +0 -13
  181. package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +0 -238
  182. package/esm2022/lib/components/bmb-timestream/types.mjs +0 -2
  183. package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +0 -139
  184. package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +0 -61
  185. package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +0 -47
  186. package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +0 -26
  187. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +0 -31
  188. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +0 -70
  189. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +0 -122
  190. package/esm2022/lib/components/bmb-top-bar/types.mjs +0 -2
  191. package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +0 -138
  192. package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +0 -44
  193. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +0 -19
  194. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +0 -71
  195. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +0 -51
  196. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +0 -28
  197. package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +0 -23
  198. package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +0 -85
  199. package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +0 -128
  200. package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +0 -55
  201. package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +0 -88
  202. package/esm2022/lib/directives/bmb-button/button.directive.mjs +0 -84
  203. package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +0 -29
  204. package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +0 -51
  205. package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +0 -36
  206. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +0 -34
  207. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +0 -37
  208. package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +0 -89
  209. package/esm2022/lib/directives/utils/clickoutside.directive.mjs +0 -41
  210. package/esm2022/lib/ds-ng.component.mjs +0 -11
  211. package/esm2022/lib/ds-ng.service.mjs +0 -14
  212. package/esm2022/lib/services/calendar.service.mjs +0 -51
  213. package/esm2022/lib/services/index.mjs +0 -3
  214. package/esm2022/lib/services/native-modal.service.mjs +0 -69
  215. package/esm2022/lib/services/notification.service.mjs +0 -77
  216. package/esm2022/lib/services/tabs.service.mjs +0 -30
  217. package/esm2022/lib/services/theme.service.mjs +0 -30
  218. package/esm2022/lib/services/toast.service.mjs +0 -24
  219. package/esm2022/lib/services/user/profile.service.mjs +0 -26
  220. package/esm2022/lib/types/colors.mjs +0 -2
  221. package/esm2022/lib/types/index.mjs +0 -11
  222. package/esm2022/lib/utils/countryCodes.mjs +0 -1089
  223. package/esm2022/lib/utils/currencyFormat.mjs +0 -7
  224. package/esm2022/lib/utils/dropdown.mjs +0 -85
  225. package/esm2022/lib/utils/formControl.mjs +0 -25
  226. package/esm2022/lib/utils/timestreamFilters.mjs +0 -32
  227. package/esm2022/lib/utils/utils.mjs +0 -66
  228. package/esm2022/public-api.mjs +0 -151
  229. package/esm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +0 -5
@@ -1,69 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input, model, ViewEncapsulation, } from '@angular/core';
2
- import { BmbDatepickerComponent } from '../bmb-datepicker/bmb-datepicker.component';
3
- import { CommonModule } from '@angular/common';
4
- import { assignNewFormControl, newFormControlByType, } from '../../utils/formControl';
5
- import { getUUID } from '../../utils/utils';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- export class BmbDateRangeComponent {
9
- constructor() {
10
- this.inputId = input(getUUID());
11
- this.label = input(''); //Deprecated
12
- this.labelStartDate = input('');
13
- this.labelEndDate = input('');
14
- this.icon = input('calendar_month');
15
- this.invalidFormatErrorMessage = input();
16
- this.requiredFieldErrorMessage = input();
17
- this.appearance = input('normal'); //Deprecated
18
- this.disabled = input(false);
19
- this.isRequired = input(false);
20
- this.isClearable = input(false);
21
- this.controlStart = model(newFormControlByType());
22
- this.controlEnd = model(newFormControlByType());
23
- this.dateFormat = input('dd/MM/yyyy');
24
- this.placeholderStartDate = input(this.dateFormat());
25
- this.placeholderEndDate = input(this.dateFormat());
26
- this.stepYearPicker = input(12);
27
- this.name = input(getUUID());
28
- this.multipleRow = input(false);
29
- this.customValidation = input();
30
- this.errorMessage = input('');
31
- this.disableDatesBefore = '';
32
- this.disableDatesAfter = '';
33
- this.isControlStartNull = false;
34
- this.isControlEndNull = false;
35
- }
36
- ngOnInit() {
37
- if (!this.controlStart()) {
38
- this.controlStart.set(assignNewFormControl(this.name(), this.controlStart()));
39
- this.isControlStartNull = true;
40
- }
41
- if (!this.controlEnd()) {
42
- this.controlEnd.set(assignNewFormControl(this.name(), this.controlEnd()));
43
- this.isControlEndNull = true;
44
- }
45
- this.controlStart()?.valueChanges.subscribe((value) => {
46
- if (!!value) {
47
- this.disableDatesBefore = value;
48
- }
49
- });
50
- this.controlEnd()?.valueChanges.subscribe((value) => {
51
- if (!!value) {
52
- this.disableDatesAfter = value;
53
- }
54
- });
55
- }
56
- getClassList() {
57
- const classList = ['bmb_date-range'];
58
- if (!this.multipleRow())
59
- classList.push('bmb_date-range-column');
60
- return classList;
61
- }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbDateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: BmbDateRangeComponent, isStandalone: true, selector: "bmb-date-range", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelStartDate: { classPropertyName: "labelStartDate", publicName: "labelStartDate", isSignal: true, isRequired: false, transformFunction: null }, labelEndDate: { classPropertyName: "labelEndDate", publicName: "labelEndDate", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, invalidFormatErrorMessage: { classPropertyName: "invalidFormatErrorMessage", publicName: "invalidFormatErrorMessage", isSignal: true, isRequired: false, transformFunction: null }, requiredFieldErrorMessage: { classPropertyName: "requiredFieldErrorMessage", publicName: "requiredFieldErrorMessage", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", 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 }, isClearable: { classPropertyName: "isClearable", publicName: "isClearable", isSignal: true, isRequired: false, transformFunction: null }, controlStart: { classPropertyName: "controlStart", publicName: "controlStart", isSignal: true, isRequired: false, transformFunction: null }, controlEnd: { classPropertyName: "controlEnd", publicName: "controlEnd", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, placeholderStartDate: { classPropertyName: "placeholderStartDate", publicName: "placeholderStartDate", isSignal: true, isRequired: false, transformFunction: null }, placeholderEndDate: { classPropertyName: "placeholderEndDate", publicName: "placeholderEndDate", isSignal: true, isRequired: false, transformFunction: null }, stepYearPicker: { classPropertyName: "stepYearPicker", publicName: "stepYearPicker", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, multipleRow: { classPropertyName: "multipleRow", publicName: "multipleRow", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { controlStart: "controlStartChange", controlEnd: "controlEndChange" }, ngImport: i0, template: "<section [ngClass]=\"getClassList()\">\r\n <bmb-datepicker\r\n [label]=\"labelStartDate() || label()\"\r\n [placeholder]=\"placeholderStartDate()\"\r\n [name]=\"name() + '_start'\"\r\n [control]=\"controlStart()\"\r\n [dateFormat]=\"dateFormat()\"\r\n [disabled]=\"disabled()\"\r\n [icon]=\"icon()\"\r\n [isRequired]=\"isRequired()\"\r\n [isClearable]=\"isClearable()\"\r\n [invalidFormatErrorMessage]=\"invalidFormatErrorMessage()\"\r\n [requiredFieldErrorMessage]=\"requiredFieldErrorMessage()\"\r\n [disableDatesAfter]=\"disableDatesAfter\"\r\n helperMessage=\"\"\r\n [customValidation]=\"customValidation()\"\r\n [errorMessage]=\"errorMessage()\"\r\n />\r\n <bmb-datepicker\r\n [label]=\"labelEndDate() || label()\"\r\n [placeholder]=\"placeholderEndDate()\"\r\n [name]=\"name() + '_end'\"\r\n [control]=\"controlEnd()\"\r\n [dateFormat]=\"dateFormat()\"\r\n [disabled]=\"disabled()\"\r\n [icon]=\"icon()\"\r\n [isRequired]=\"isRequired()\"\r\n [isClearable]=\"isClearable()\"\r\n [invalidFormatErrorMessage]=\"invalidFormatErrorMessage()\"\r\n [requiredFieldErrorMessage]=\"requiredFieldErrorMessage()\"\r\n [disableDatesBefore]=\"disableDatesBefore\"\r\n helperMessage=\"\"\r\n [customValidation]=\"customValidation()\"\r\n [errorMessage]=\"errorMessage()\"\r\n />\r\n</section>\r\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_date-range{display:flex;flex-flow:column}.bmb_date-range>*{flex:1}.bmb_date-range-column{flex-flow:row}@media (max-width: 699px){.bmb_date-range-column{flex-flow:column}}.bmb_date-range-column bmb-datepicker:first-child .bmb_field-actions{right:2.5rem}.bmb_date-range-column bmb-datepicker:first-child .bmb_field-wrapper:after{content:\"\";width:1rem;height:0;border-top:.125rem solid;margin:0 .625rem;display:inline-block}@media (max-width: 699px){.bmb_date-range-column bmb-datepicker:first-child .bmb_field-wrapper:after{display:none}}\n"], dependencies: [{ kind: "component", type: BmbDatepickerComponent, selector: "bmb-datepicker", inputs: ["inputId", "label", "icon", "dateFormat", "invalidFormatErrorMessage", "requiredFieldErrorMessage", "appearance", "disabled", "isRequired", "isClearable", "placeholder", "stepYearPicker", "name", "disableDatesBefore", "disableDatesAfter", "lang", "helperMessage", "value", "customValidation", "errorMessage", "control"], outputs: ["controlChange", "onChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
64
- }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbDateRangeComponent, decorators: [{
66
- type: Component,
67
- args: [{ selector: 'bmb-date-range', standalone: true, imports: [BmbDatepickerComponent, CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section [ngClass]=\"getClassList()\">\r\n <bmb-datepicker\r\n [label]=\"labelStartDate() || label()\"\r\n [placeholder]=\"placeholderStartDate()\"\r\n [name]=\"name() + '_start'\"\r\n [control]=\"controlStart()\"\r\n [dateFormat]=\"dateFormat()\"\r\n [disabled]=\"disabled()\"\r\n [icon]=\"icon()\"\r\n [isRequired]=\"isRequired()\"\r\n [isClearable]=\"isClearable()\"\r\n [invalidFormatErrorMessage]=\"invalidFormatErrorMessage()\"\r\n [requiredFieldErrorMessage]=\"requiredFieldErrorMessage()\"\r\n [disableDatesAfter]=\"disableDatesAfter\"\r\n helperMessage=\"\"\r\n [customValidation]=\"customValidation()\"\r\n [errorMessage]=\"errorMessage()\"\r\n />\r\n <bmb-datepicker\r\n [label]=\"labelEndDate() || label()\"\r\n [placeholder]=\"placeholderEndDate()\"\r\n [name]=\"name() + '_end'\"\r\n [control]=\"controlEnd()\"\r\n [dateFormat]=\"dateFormat()\"\r\n [disabled]=\"disabled()\"\r\n [icon]=\"icon()\"\r\n [isRequired]=\"isRequired()\"\r\n [isClearable]=\"isClearable()\"\r\n [invalidFormatErrorMessage]=\"invalidFormatErrorMessage()\"\r\n [requiredFieldErrorMessage]=\"requiredFieldErrorMessage()\"\r\n [disableDatesBefore]=\"disableDatesBefore\"\r\n helperMessage=\"\"\r\n [customValidation]=\"customValidation()\"\r\n [errorMessage]=\"errorMessage()\"\r\n />\r\n</section>\r\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_date-range{display:flex;flex-flow:column}.bmb_date-range>*{flex:1}.bmb_date-range-column{flex-flow:row}@media (max-width: 699px){.bmb_date-range-column{flex-flow:column}}.bmb_date-range-column bmb-datepicker:first-child .bmb_field-actions{right:2.5rem}.bmb_date-range-column bmb-datepicker:first-child .bmb_field-wrapper:after{content:\"\";width:1rem;height:0;border-top:.125rem solid;margin:0 .625rem;display:inline-block}@media (max-width: 699px){.bmb_date-range-column bmb-datepicker:first-child .bmb_field-wrapper:after{display:none}}\n"] }]
68
- }] });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWRhdGUtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1kYXRlLXJhbmdlL2JtYi1kYXRlLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItZGF0ZS1yYW5nZS9ibWItZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLL0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixvQkFBb0IsR0FDckIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQVc1QyxNQUFNLE9BQU8scUJBQXFCO0lBVGxDO1FBVUUsWUFBTyxHQUFHLEtBQUssQ0FBUyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLFVBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZO1FBQ3ZDLG1CQUFjLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLGlCQUFZLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLFNBQUksR0FBRyxLQUFLLENBQVMsZ0JBQWdCLENBQUMsQ0FBQztRQUN2Qyw4QkFBeUIsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUM1Qyw4QkFBeUIsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUM1Qyxl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ZCxJQUFJLFdBQ1AsQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQUMsaUJBR2hDLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBpbnB1dCxcclxuICBtb2RlbCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQm1iRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1kYXRlcGlja2VyL2JtYi1kYXRlcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgSUJtYklucHV0QXBwZWFyYW5jZSxcclxuICBJQm1iSW5wdXRFcnJvcixcclxufSBmcm9tICcuLi9ibWItaW5wdXQvYm1iLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgYXNzaWduTmV3Rm9ybUNvbnRyb2wsXHJcbiAgbmV3Rm9ybUNvbnRyb2xCeVR5cGUsXHJcbn0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybUNvbnRyb2wnO1xyXG5pbXBvcnQgeyBnZXRVVUlEIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdibWItZGF0ZS1yYW5nZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQm1iRGF0ZXBpY2tlckNvbXBvbmVudCwgQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLWRhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9ibWItZGF0ZS1yYW5nZS5jb21wb25lbnQuc2NzcycsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJtYkRhdGVSYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaW5wdXRJZCA9IGlucHV0PHN0cmluZz4oZ2V0VVVJRCgpKTtcclxuICBsYWJlbCA9IGlucHV0PHN0cmluZz4oJycpOyAvL0RlcHJlY2F0ZWRcclxuICBsYWJlbFN0YXJ0RGF0ZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gIGxhYmVsRW5kRGF0ZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gIGljb24gPSBpbnB1dDxzdHJpbmc+KCdjYWxlbmRhcl9tb250aCcpO1xyXG4gIGludmFsaWRGb3JtYXRFcnJvck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgcmVxdWlyZWRGaWVsZEVycm9yTWVzc2FnZSA9IGlucHV0PHN0cmluZz4oKTtcclxuICBhcHBlYXJhbmNlID0gaW5wdXQ8SUJtYklucHV0QXBwZWFyYW5jZSB8IHN0cmluZz4oJ25vcm1hbCcpOyAvL0RlcHJlY2F0ZWRcclxuICBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBpc1JlcXVpcmVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGlzQ2xlYXJhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGNvbnRyb2xTdGFydCA9IG1vZGVsPEZvcm1Db250cm9sPihuZXdGb3JtQ29udHJvbEJ5VHlwZSgpKTtcclxuICBjb250cm9sRW5kID0gbW9kZWw8Rm9ybUNvbnRyb2w+KG5ld0Zvcm1Db250cm9sQnlUeXBlKCkpO1xyXG4gIGRhdGVGb3JtYXQgPSBpbnB1dDxzdHJpbmc+KCdkZC9NTS95eXl5Jyk7XHJcbiAgcGxhY2Vob2xkZXJTdGFydERhdGUgPSBpbnB1dDxzdHJpbmc+KHRoaXMuZGF0ZUZvcm1hdCgpKTtcclxuICBwbGFjZWhvbGRlckVuZERhdGUgPSBpbnB1dDxzdHJpbmc+KHRoaXMuZGF0ZUZvcm1hdCgpKTtcclxuICBzdGVwWWVhclBpY2tlciA9IGlucHV0PG51bWJlcj4oMTIpO1xyXG4gIG5hbWUgPSBpbnB1dDxzdHJpbmc+KGdldFVVSUQoKSk7XHJcbiAgbXVsdGlwbGVSb3cgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgY3VzdG9tVmFsaWRhdGlvbiA9IGlucHV0PFZhbGlkYXRvckZuPigpO1xyXG4gIGVycm9yTWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IElCbWJJbnB1dEVycm9yPignJyk7XHJcblxyXG4gIGRpc2FibGVEYXRlc0JlZm9yZTogc3RyaW5nID0gJyc7XHJcbiAgZGlzYWJsZURhdGVzQWZ0ZXI6IHN0cmluZyA9ICcnO1xyXG4gIGlzQ29udHJvbFN0YXJ0TnVsbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzQ29udHJvbEVuZE51bGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbFN0YXJ0KCkpIHtcclxuICAgICAgdGhpcy5jb250cm9sU3RhcnQuc2V0KFxyXG4gICAgICAgIGFzc2lnbk5ld0Zvcm1Db250cm9sKHRoaXMubmFtZSgpLCB0aGlzLmNvbnRyb2xTdGFydCgpKSEsXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuaXNDb250cm9sU3RhcnROdWxsID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuY29udHJvbEVuZCgpKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbEVuZC5zZXQoXHJcbiAgICAgICAgYXNzaWduTmV3Rm9ybUNvbnRyb2wodGhpcy5uYW1lKCksIHRoaXMuY29udHJvbEVuZCgpKSEsXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuaXNDb250cm9sRW5kTnVsbCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb250cm9sU3RhcnQoKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgaWYgKCEhdmFsdWUpIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVEYXRlc0JlZm9yZSA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmNvbnRyb2xFbmQoKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgaWYgKCEhdmFsdWUpIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVEYXRlc0FmdGVyID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2xhc3NMaXN0KCk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IGNsYXNzTGlzdCA9IFsnYm1iX2RhdGUtcmFuZ2UnXTtcclxuICAgIGlmICghdGhpcy5tdWx0aXBsZVJvdygpKSBjbGFzc0xpc3QucHVzaCgnYm1iX2RhdGUtcmFuZ2UtY29sdW1uJyk7XHJcbiAgICByZXR1cm4gY2xhc3NMaXN0O1xyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBbbmdDbGFzc109XCJnZXRDbGFzc0xpc3QoKVwiPlxyXG4gIDxibWItZGF0ZXBpY2tlclxyXG4gICAgW2xhYmVsXT1cImxhYmVsU3RhcnREYXRlKCkgfHwgbGFiZWwoKVwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJTdGFydERhdGUoKVwiXHJcbiAgICBbbmFtZV09XCJuYW1lKCkgKyAnX3N0YXJ0J1wiXHJcbiAgICBbY29udHJvbF09XCJjb250cm9sU3RhcnQoKVwiXHJcbiAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0KClcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxyXG4gICAgW2ljb25dPVwiaWNvbigpXCJcclxuICAgIFtpc1JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXHJcbiAgICBbaXNDbGVhcmFibGVdPVwiaXNDbGVhcmFibGUoKVwiXHJcbiAgICBbaW52YWxpZEZvcm1hdEVycm9yTWVzc2FnZV09XCJpbnZhbGlkRm9ybWF0RXJyb3JNZXNzYWdlKClcIlxyXG4gICAgW3JlcXVpcmVkRmllbGRFcnJvck1lc3NhZ2VdPVwicmVxdWlyZWRGaWVsZEVycm9yTWVzc2FnZSgpXCJcclxuICAgIFtkaXNhYmxlRGF0ZXNBZnRlcl09XCJkaXNhYmxlRGF0ZXNBZnRlclwiXHJcbiAgICBoZWxwZXJNZXNzYWdlPVwiXCJcclxuICAgIFtjdXN0b21WYWxpZGF0aW9uXT1cImN1c3RvbVZhbGlkYXRpb24oKVwiXHJcbiAgICBbZXJyb3JNZXNzYWdlXT1cImVycm9yTWVzc2FnZSgpXCJcclxuICAvPlxyXG4gIDxibWItZGF0ZXBpY2tlclxyXG4gICAgW2xhYmVsXT1cImxhYmVsRW5kRGF0ZSgpIHx8IGxhYmVsKClcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyRW5kRGF0ZSgpXCJcclxuICAgIFtuYW1lXT1cIm5hbWUoKSArICdfZW5kJ1wiXHJcbiAgICBbY29udHJvbF09XCJjb250cm9sRW5kKClcIlxyXG4gICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdCgpXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcclxuICAgIFtpY29uXT1cImljb24oKVwiXHJcbiAgICBbaXNSZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxyXG4gICAgW2lzQ2xlYXJhYmxlXT1cImlzQ2xlYXJhYmxlKClcIlxyXG4gICAgW2ludmFsaWRGb3JtYXRFcnJvck1lc3NhZ2VdPVwiaW52YWxpZEZvcm1hdEVycm9yTWVzc2FnZSgpXCJcclxuICAgIFtyZXF1aXJlZEZpZWxkRXJyb3JNZXNzYWdlXT1cInJlcXVpcmVkRmllbGRFcnJvck1lc3NhZ2UoKVwiXHJcbiAgICBbZGlzYWJsZURhdGVzQmVmb3JlXT1cImRpc2FibGVEYXRlc0JlZm9yZVwiXHJcbiAgICBoZWxwZXJNZXNzYWdlPVwiXCJcclxuICAgIFtjdXN0b21WYWxpZGF0aW9uXT1cImN1c3RvbVZhbGlkYXRpb24oKVwiXHJcbiAgICBbZXJyb3JNZXNzYWdlXT1cImVycm9yTWVzc2FnZSgpXCJcclxuICAvPlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
@@ -1,211 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input, output, ViewEncapsulation, } from '@angular/core';
2
- import { BmbLayoutDirective } from '../../../directives/bmb-layout/bmb-layout.directive';
3
- import { BmbLayoutItemDirective } from '../../../directives/bmb-layout/bmb-layout-item.directive';
4
- import { DateTime, Info } from 'luxon';
5
- import { weeksAndDays } from '../../bmb-calendar/utils';
6
- import { BmbButtonDirective } from '../../../directives/bmb-button/button.directive';
7
- import { CommonModule } from '@angular/common';
8
- import { orderDayNames } from '../../../utils/utils';
9
- import { BmbActionIconComponent } from '../../bmb-action-icon/bmb-action-icon.component';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/common";
12
- export class BmbDatepickerModalComponent {
13
- constructor() {
14
- this.isWindowOpen = input(false);
15
- this.now = input(DateTime.now());
16
- this.lang = input('es-MX');
17
- this.value = input('');
18
- this.dateFormat = input('dd/MM/yyyy');
19
- this.stepYearPicker = input(18);
20
- this.disableDatesBefore = input();
21
- this.disableDatesAfter = input();
22
- this.closeWindow = output();
23
- this.onValueChange = output();
24
- this.selectedMonth = 0;
25
- this.monthsNames = Info.months('long', { locale: this.lang() });
26
- this.month = '';
27
- this.year = this.now().year;
28
- this.defaultDayOrder = Info.weekdays('narrow', { locale: this.lang() });
29
- this.dayNames = orderDayNames(this.defaultDayOrder);
30
- this.selectedYear = 0;
31
- this.view = 'calendar';
32
- this.selectedDate = null;
33
- }
34
- ngOnInit() {
35
- if (!!this.value()) {
36
- const formattedDate = DateTime.fromFormat(this.value(), this.dateFormat());
37
- this.selectedDate = formattedDate;
38
- this.selectedYear = formattedDate.year;
39
- this.selectedMonth = formattedDate.month;
40
- this.month = this.monthsNames[formattedDate.month - 1];
41
- }
42
- else {
43
- this.selectedYear = this.now().year;
44
- this.selectedMonth = this.now().month;
45
- this.month =
46
- this.monthsNames[(this.selectedMonth || this.now().month) - 1];
47
- }
48
- }
49
- handleMonthChange(event) {
50
- this.selectedMonth = event + 1;
51
- this.month = this.monthsNames[event];
52
- this.view = 'calendar';
53
- }
54
- handleYearChange(event) {
55
- this.selectedYear = parseInt(event, 10);
56
- this.view = 'calendar';
57
- }
58
- getYears() {
59
- const yearsList = new Array(this.stepYearPicker()).fill(0);
60
- const currentYear = this.selectedYear;
61
- const yearsFinal = yearsList.map((_, index) => {
62
- return (currentYear - (this.stepYearPicker() / 2 - 1) + index).toString();
63
- });
64
- return yearsFinal;
65
- }
66
- handleDayChange(date) {
67
- const newValue = date.toFormat(this.dateFormat());
68
- this.onValueChange.emit(newValue);
69
- this.closeWindow.emit(false);
70
- }
71
- getWeeksAndDays() {
72
- const firstDayOfMonth = DateTime.fromObject({
73
- day: 1,
74
- month: this.selectedMonth ?? this.now().month,
75
- year: this.selectedYear ?? this.now().year,
76
- });
77
- const days = weeksAndDays(firstDayOfMonth);
78
- return [
79
- days.slice(0, 7),
80
- days.slice(7, 14),
81
- days.slice(14, 21),
82
- days.slice(21, 28),
83
- days.slice(28, 35),
84
- days.slice(35, 42),
85
- ];
86
- }
87
- isSelectedDay(date) {
88
- const classList = [];
89
- if (date.month === this.selectedMonth) {
90
- classList.push('bmb_datepicker-modal-button-current-month');
91
- }
92
- if (this.selectedDate && date.hasSame(this.selectedDate, 'day'))
93
- classList.push('bmb_datepicker-modal-button-selected');
94
- if (this.now().hasSame(date, 'day'))
95
- classList.push('bmb_datepicker-modal-button-today');
96
- return classList;
97
- }
98
- handleChangeView(view) {
99
- this.view = view;
100
- }
101
- handleChevronClick(event) {
102
- if (this.view === 'calendar') {
103
- this.handleChangeMonth(event);
104
- }
105
- else if (this.view === 'month') {
106
- this.handleChangeYear(event, 1);
107
- }
108
- else {
109
- this.handleChangeYear(event, this.stepYearPicker());
110
- }
111
- }
112
- handleChangeYear(event, yearsAmount = 0) {
113
- if (event === 'less') {
114
- this.selectedYear = this.selectedYear - yearsAmount;
115
- }
116
- else {
117
- this.selectedYear = this.selectedYear + yearsAmount;
118
- }
119
- }
120
- handleChangeMonth(event) {
121
- if (event === 'less') {
122
- if (this.selectedMonth === 1) {
123
- this.selectedMonth = 12;
124
- this.month = this.monthsNames[this.selectedMonth - 1];
125
- this.selectedYear = this.selectedYear - 1;
126
- }
127
- else {
128
- this.selectedMonth = this.selectedMonth - 1;
129
- this.month = this.monthsNames[this.selectedMonth - 1];
130
- }
131
- }
132
- else {
133
- if (this.selectedMonth === 12) {
134
- this.selectedMonth = 1;
135
- this.month = this.monthsNames[this.selectedMonth - 1];
136
- this.selectedYear = this.selectedYear + 1;
137
- }
138
- else {
139
- this.selectedMonth = this.selectedMonth + 1;
140
- this.month = this.monthsNames[this.selectedMonth - 1];
141
- }
142
- }
143
- }
144
- checkIfDisabled(date) {
145
- let isValid = this.disableDatesBefore()
146
- ? date.startOf('day') <= this.disableDatesBefore().startOf('day')
147
- : false;
148
- isValid =
149
- !isValid && this.disableDatesAfter()
150
- ? date.startOf('day') >= this.disableDatesAfter().startOf('day')
151
- : isValid;
152
- return isValid;
153
- }
154
- isSelectedYear(year) {
155
- return this.selectedYear === parseInt(year);
156
- }
157
- onDayKeydown(event, date) {
158
- if (event.key === 'ArrowRight' ||
159
- event.key === 'ArrowLeft' ||
160
- event.key === 'ArrowDown' ||
161
- event.key === 'ArrowUp' ||
162
- event.key === 'Tab') {
163
- if (date) {
164
- event.preventDefault();
165
- }
166
- const table = event.currentTarget.closest('table');
167
- if (!table)
168
- return;
169
- const buttons = Array.from(table.querySelectorAll('button:not(:disabled)'));
170
- const currentIndex = buttons.findIndex((btn) => btn === event.currentTarget);
171
- let nextIndex = currentIndex;
172
- if (event.key === 'ArrowRight' ||
173
- (event.key === 'Tab' && !event.shiftKey)) {
174
- nextIndex = (currentIndex + 1) % buttons.length;
175
- }
176
- else if (event.key === 'ArrowLeft' ||
177
- (event.key === 'Tab' && event.shiftKey)) {
178
- nextIndex = (currentIndex - 1 + buttons.length) % buttons.length;
179
- }
180
- else if (event.key === 'ArrowDown') {
181
- nextIndex =
182
- currentIndex + 7 < buttons.length ? currentIndex + 7 : currentIndex;
183
- }
184
- else if (event.key === 'ArrowUp') {
185
- nextIndex = currentIndex - 7 >= 0 ? currentIndex - 7 : currentIndex;
186
- }
187
- buttons[nextIndex]?.focus();
188
- }
189
- if (event.key === 'Enter' || event.key === ' ') {
190
- event.preventDefault();
191
- const newValue = date?.toFormat(this.dateFormat());
192
- this.onValueChange.emit(newValue || '');
193
- }
194
- else if (event.key === 'Escape') {
195
- this.closeWindow.emit(false);
196
- }
197
- }
198
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbDatepickerModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
199
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BmbDatepickerModalComponent, isStandalone: true, selector: "bmb-datepicker-modal", inputs: { isWindowOpen: { classPropertyName: "isWindowOpen", publicName: "isWindowOpen", isSignal: true, isRequired: false, transformFunction: null }, now: { classPropertyName: "now", publicName: "now", isSignal: true, isRequired: false, transformFunction: null }, lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, stepYearPicker: { classPropertyName: "stepYearPicker", publicName: "stepYearPicker", isSignal: true, isRequired: false, transformFunction: null }, disableDatesBefore: { classPropertyName: "disableDatesBefore", publicName: "disableDatesBefore", isSignal: true, isRequired: false, transformFunction: null }, disableDatesAfter: { classPropertyName: "disableDatesAfter", publicName: "disableDatesAfter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeWindow: "closeWindow", onValueChange: "onValueChange" }, ngImport: i0, template: "<section class=\"bmb_datepicker-modal\" (keydown)=\"onDayKeydown($event)\">\n <nav\n class=\"bmb_datepicker-modal-nav\"\n bmbLayout\n margin=\"none\"\n [dynamicCols]=\"true\"\n justify=\"center\"\n gapSize=\"s\"\n alignItems=\"center\"\n >\n <li bmbLayoutItem>\n <bmb-action-icon\n icon=\"keyboard_arrow_left\"\n [iconSize]=\"24\"\n (buttonClick)=\"handleChevronClick('less')\"\n />\n </li>\n <li\n bmbLayoutItem\n [isDynamicItem]=\"true\"\n [colGrow]=\"1\"\n [ngClass]=\"{ 'bmb_datepicker-modal-nav-item': view !== 'calendar' }\"\n >\n <button\n class=\"bmb_datepicker-modal-button bmb_field-input-normal bmb_datepicker-modal-nav-button\"\n type=\"button\"\n (click)=\"handleChangeView('month')\"\n bmbButton\n appearance=\"transparent\"\n icon=\"keyboard_arrow_down\"\n position=\"right\"\n [iconSize]=\"24\"\n [disabled]=\"view !== 'calendar'\"\n >\n {{ month }}\n </button>\n </li>\n <li bmbLayoutItem [isDynamicItem]=\"true\" [colGrow]=\"1\">\n <button\n class=\"bmb_datepicker-modal-button bmb_field-input-normal bmb_datepicker-modal-nav-button\"\n type=\"button\"\n (click)=\"handleChangeView('year')\"\n bmbButton\n appearance=\"transparent\"\n icon=\"keyboard_arrow_down\"\n position=\"right\"\n [iconSize]=\"24\"\n >\n {{ selectedYear }}\n </button>\n </li>\n <li bmbLayoutItem>\n <bmb-action-icon\n icon=\"keyboard_arrow_right\"\n [iconSize]=\"24\"\n (buttonClick)=\"handleChevronClick('plus')\"\n />\n </li>\n </nav>\n @switch (view) {\n @case (\"calendar\") {\n <div class=\"bmb_datepicker-modal-calendar\">\n <table class=\"bmb_datepicker-modal-calendar-table\">\n <thead>\n <tr>\n @for (day of dayNames; track $index) {\n <th class=\"bmb_datepicker-modal-calendar-table-header\">\n {{ day }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (week of getWeeksAndDays(); track $index) {\n <tr>\n @for (date of week; track $index) {\n <td class=\"bmb_datepicker-modal-calendar-table-item\">\n <button\n class=\"bmb_datepicker-modal-button\"\n type=\"button\"\n [ngClass]=\"isSelectedDay(date)\"\n (click)=\"handleDayChange(date)\"\n bmbButton\n appearance=\"transparent\"\n [disabled]=\"checkIfDisabled(date)\"\n tabindex=\"0\"\n (keydown)=\"onDayKeydown($event, date)\"\n >\n {{ date.day }}\n </button>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n @case (\"month\") {\n <ul\n class=\"bmb_datepicker-modal-calendar-list bmb_datepicker-modal-calendar-list-months bmb_datepicker-modal-calendar\"\n >\n @for (month of monthsNames; track $index) {\n <li class=\"bmb_datepicker-modal-calendar-item\">\n <button\n class=\"bmb_datepicker-modal-button bmb_datepicker-modal-calendar-list-item modal-persist\"\n type=\"button\"\n [ngClass]=\"{\n 'bmb_datepicker-modal-calendar-list-item-selected':\n selectedMonth - 1 === $index,\n }\"\n bmbButton\n appearance=\"transparent\"\n (click)=\"handleMonthChange($index)\"\n >\n {{ month }}\n </button>\n </li>\n }\n </ul>\n }\n @case (\"year\") {\n <ul\n class=\"bmb_datepicker-modal-calendar-list bmb_datepicker-modal-calendar-list-years bmb_datepicker-modal-calendar\"\n >\n @for (year of getYears(); track $index) {\n <li class=\"bmb_datepicker-modal-calendar-item\">\n <button\n class=\"bmb_datepicker-modal-button bmb_datepicker-modal-calendar-list-item modal-persist\"\n type=\"button\"\n [ngClass]=\"{\n 'bmb_datepicker-modal-calendar-list-item-selected':\n isSelectedYear(year),\n }\"\n bmbButton\n appearance=\"transparent\"\n (click)=\"handleYearChange(year)\"\n >\n {{ year }}\n </button>\n </li>\n }\n </ul>\n }\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_datepicker-modal{position:absolute;top:calc(100% + .5rem);width:100%;z-index:2;color:var(--general_contrasts-100);background-color:var(--containers-main);border-radius:var(--bmb-radius-m);max-width:25rem;left:0;box-shadow:var(--bmb-box-shadow-1);container-type:inline-size;min-width:15.9375rem}.bmb_datepicker-modal-nav{list-style:none;gap:.25rem;padding:var(--bmb-spacing-m);flex-wrap:nowrap}@container (min-width: 310px){.bmb_datepicker-modal-nav{gap:1.25rem}}.bmb_datepicker-modal-nav-space_none{padding:var(--bmb-spacing-none)}.bmb_datepicker-modal-nav-button.bmb_datepicker-modal-button{opacity:1}.bmb_datepicker-modal-nav-button.bmb_field-input-normal{justify-content:space-between;border-radius:none}.bmb_datepicker-modal-nav-item{display:none}.bmb_datepicker-modal-button:not(.bmb_field-input-normal){width:2rem;border-radius:50%;aspect-ratio:1/1;min-height:auto;opacity:.35;padding:0 .25rem;text-transform:capitalize;color:var(--general_contrasts-100)}.bmb_datepicker-modal-button.bmb_field-input-normal{height:2.25rem}.bmb_datepicker-modal-button.bmb_field-input-normal:disabled{display:none}.bmb_datepicker-modal-button-current-month:not(.bmb_field-input-normal){opacity:1}.bmb_datepicker-modal-button:hover:not(:disabled):not(.bmb-disabled),.bmb_datepicker-modal-button:focus:not(:disabled):not(.bmb-disabled),.bmb_datepicker-modal-button:focus-visible:not(:disabled):not(.bmb-disabled){background-color:var(--general_contrasts-25)}.bmb_datepicker-modal-button-selected:not(.bmb_field-input-normal){background-color:var(--general_contrasts-main-selection);color:RGBA(var(--color-white-primary));opacity:1!important}.bmb_datepicker-modal-button-selected:not(.bmb_field-input-normal):hover:not(:disabled):not(.bmb-disabled),.bmb_datepicker-modal-button-selected:not(.bmb_field-input-normal):focus:not(:disabled):not(.bmb-disabled),.bmb_datepicker-modal-button-selected:not(.bmb_field-input-normal):focus-visible:not(:disabled):not(.bmb-disabled){background-color:var(--general_contrasts-main-selection)}.bmb_datepicker-modal-calendar{padding:0 var(--bmb-spacing-m) var(--bmb-spacing-m);font-family:Poppins-Medium,sans-serif;font-size:.875rem}.bmb_datepicker-modal-calendar-table{width:100%}.bmb_datepicker-modal-calendar-table-header,.bmb_datepicker-modal-calendar-table-item{width:14.2857142857%;text-align:center}.bmb_datepicker-modal-calendar-table-item{padding:1rem 0 0}.bmb_datepicker-modal-calendar-item,.bmb_datepicker-modal-calendar-header{flex:0 0 calc(14.285% - .4285714286rem);text-align:center;box-sizing:border-box;position:relative}.bmb_datepicker-modal-calendar-list{border-top:var(--bmb-border-general_contrasts-50-1-solid);list-style:none;padding:var(--bmb-spacing-m);margin:0;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:space-between}.bmb_datepicker-modal-calendar-list .bmb_datepicker-modal-button{border:var(--bmb-border-inherit-1-solid);border-color:transparent}.bmb_datepicker-modal-calendar-list .bmb_datepicker-modal-button:hover:not(:disabled):not(.bmb-disabled):not(.bmb_datepicker-modal-calendar-list-item-selected){border-color:var(--general_contrasts-75);background-color:transparent}.bmb_datepicker-modal-calendar-list-months .bmb_datepicker-modal-calendar-item{flex:0 0 calc(50% - .25rem)}.bmb_datepicker-modal-calendar-list-years .bmb_datepicker-modal-calendar-item{flex:0 0 calc(33.3333% - .3333333333rem)}.bmb_datepicker-modal-calendar-list-item.bmb_datepicker-modal-button{width:100%;aspect-ratio:auto;border-radius:1rem;padding:.125rem;opacity:1;color:var(--general_contrasts-75)}.bmb_datepicker-modal-calendar-list-item-selected.bmb_datepicker-modal-button{background-color:var(--general_contrasts-input-outline);color:var(--containers-main)}.bmb_datepicker-modal-calendar-list-item-selected.bmb_datepicker-modal-button:hover:not(:disabled):not(.bmb-disabled){background-color:var(--general_contrasts-input-outline);color:var(--containers-main)}\n", ""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BmbLayoutDirective, selector: "[bmbLayout]", inputs: ["gapSize", "margin", "dynamicCols", "justify", "alignItems"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }, { kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbActionIconComponent, selector: "bmb-action-icon", inputs: ["idElement", "icon", "alt", "iconSize", "isFill", "toggleIconActive", "isToggleActive", "isAccentColor", "dotNotification", "target", "link", "disabled"], outputs: ["isToggleActiveChange", "isAccentColorChange", "buttonPress", "buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
200
- }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbDatepickerModalComponent, decorators: [{
202
- type: Component,
203
- args: [{ selector: 'bmb-datepicker-modal', standalone: true, imports: [
204
- CommonModule,
205
- BmbLayoutDirective,
206
- BmbLayoutItemDirective,
207
- BmbButtonDirective,
208
- BmbActionIconComponent,
209
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"bmb_datepicker-modal\" (keydown)=\"onDayKeydown($event)\">\n <nav\n class=\"bmb_datepicker-modal-nav\"\n bmbLayout\n margin=\"none\"\n [dynamicCols]=\"true\"\n justify=\"center\"\n gapSize=\"s\"\n alignItems=\"center\"\n >\n <li bmbLayoutItem>\n <bmb-action-icon\n icon=\"keyboard_arrow_left\"\n [iconSize]=\"24\"\n (buttonClick)=\"handleChevronClick('less')\"\n />\n </li>\n <li\n bmbLayoutItem\n [isDynamicItem]=\"true\"\n [colGrow]=\"1\"\n [ngClass]=\"{ 'bmb_datepicker-modal-nav-item': view !== 'calendar' }\"\n >\n <button\n class=\"bmb_datepicker-modal-button bmb_field-input-normal bmb_datepicker-modal-nav-button\"\n type=\"button\"\n (click)=\"handleChangeView('month')\"\n bmbButton\n appearance=\"transparent\"\n icon=\"keyboard_arrow_down\"\n position=\"right\"\n [iconSize]=\"24\"\n [disabled]=\"view !== 'calendar'\"\n >\n {{ month }}\n </button>\n </li>\n <li bmbLayoutItem [isDynamicItem]=\"true\" [colGrow]=\"1\">\n <button\n class=\"bmb_datepicker-modal-button bmb_field-input-normal bmb_datepicker-modal-nav-button\"\n type=\"button\"\n (click)=\"handleChangeView('year')\"\n bmbButton\n appearance=\"transparent\"\n icon=\"keyboard_arrow_down\"\n position=\"right\"\n [iconSize]=\"24\"\n >\n {{ selectedYear }}\n </button>\n </li>\n <li bmbLayoutItem>\n <bmb-action-icon\n icon=\"keyboard_arrow_right\"\n [iconSize]=\"24\"\n (buttonClick)=\"handleChevronClick('plus')\"\n />\n </li>\n </nav>\n @switch (view) {\n @case (\"calendar\") {\n <div class=\"bmb_datepicker-modal-calendar\">\n <table class=\"bmb_datepicker-modal-calendar-table\">\n <thead>\n <tr>\n @for (day of dayNames; track $index) {\n <th class=\"bmb_datepicker-modal-calendar-table-header\">\n {{ day }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (week of getWeeksAndDays(); track $index) {\n <tr>\n @for (date of week; track $index) {\n <td class=\"bmb_datepicker-modal-calendar-table-item\">\n <button\n class=\"bmb_datepicker-modal-button\"\n type=\"button\"\n [ngClass]=\"isSelectedDay(date)\"\n (click)=\"handleDayChange(date)\"\n bmbButton\n appearance=\"transparent\"\n [disabled]=\"checkIfDisabled(date)\"\n tabindex=\"0\"\n (keydown)=\"onDayKeydown($event, date)\"\n >\n {{ date.day }}\n </button>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n @case (\"month\") {\n <ul\n class=\"bmb_datepicker-modal-calendar-list bmb_datepicker-modal-calendar-list-months bmb_datepicker-modal-calendar\"\n >\n @for (month of monthsNames; track $index) {\n <li class=\"bmb_datepicker-modal-calendar-item\">\n <button\n class=\"bmb_datepicker-modal-button bmb_datepicker-modal-calendar-list-item modal-persist\"\n type=\"button\"\n [ngClass]=\"{\n 'bmb_datepicker-modal-calendar-list-item-selected':\n selectedMonth - 1 === $index,\n }\"\n bmbButton\n appearance=\"transparent\"\n (click)=\"handleMonthChange($index)\"\n >\n {{ month }}\n </button>\n </li>\n }\n </ul>\n }\n @case (\"year\") {\n <ul\n class=\"bmb_datepicker-modal-calendar-list bmb_datepicker-modal-calendar-list-years bmb_datepicker-modal-calendar\"\n >\n @for (year of getYears(); track $index) {\n <li class=\"bmb_datepicker-modal-calendar-item\">\n <button\n class=\"bmb_datepicker-modal-button bmb_datepicker-modal-calendar-list-item modal-persist\"\n type=\"button\"\n [ngClass]=\"{\n 'bmb_datepicker-modal-calendar-list-item-selected':\n isSelectedYear(year),\n }\"\n bmbButton\n appearance=\"transparent\"\n (click)=\"handleYearChange(year)\"\n >\n {{ year }}\n </button>\n </li>\n }\n </ul>\n }\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_datepicker-modal{position:absolute;top:calc(100% + .5rem);width:100%;z-index:2;color:var(--general_contrasts-100);background-color:var(--containers-main);border-radius:var(--bmb-radius-m);max-width:25rem;left:0;box-shadow:var(--bmb-box-shadow-1);container-type:inline-size;min-width:15.9375rem}.bmb_datepicker-modal-nav{list-style:none;gap:.25rem;padding:var(--bmb-spacing-m);flex-wrap:nowrap}@container (min-width: 310px){.bmb_datepicker-modal-nav{gap:1.25rem}}.bmb_datepicker-modal-nav-space_none{padding:var(--bmb-spacing-none)}.bmb_datepicker-modal-nav-button.bmb_datepicker-modal-button{opacity:1}.bmb_datepicker-modal-nav-button.bmb_field-input-normal{justify-content:space-between;border-radius:none}.bmb_datepicker-modal-nav-item{display:none}.bmb_datepicker-modal-button:not(.bmb_field-input-normal){width:2rem;border-radius:50%;aspect-ratio:1/1;min-height:auto;opacity:.35;padding:0 .25rem;text-transform:capitalize;color:var(--general_contrasts-100)}.bmb_datepicker-modal-button.bmb_field-input-normal{height:2.25rem}.bmb_datepicker-modal-button.bmb_field-input-normal:disabled{display:none}.bmb_datepicker-modal-button-current-month:not(.bmb_field-input-normal){opacity:1}.bmb_datepicker-modal-button:hover:not(:disabled):not(.bmb-disabled),.bmb_datepicker-modal-button:focus:not(:disabled):not(.bmb-disabled),.bmb_datepicker-modal-button:focus-visible:not(:disabled):not(.bmb-disabled){background-color:var(--general_contrasts-25)}.bmb_datepicker-modal-button-selected:not(.bmb_field-input-normal){background-color:var(--general_contrasts-main-selection);color:RGBA(var(--color-white-primary));opacity:1!important}.bmb_datepicker-modal-button-selected:not(.bmb_field-input-normal):hover:not(:disabled):not(.bmb-disabled),.bmb_datepicker-modal-button-selected:not(.bmb_field-input-normal):focus:not(:disabled):not(.bmb-disabled),.bmb_datepicker-modal-button-selected:not(.bmb_field-input-normal):focus-visible:not(:disabled):not(.bmb-disabled){background-color:var(--general_contrasts-main-selection)}.bmb_datepicker-modal-calendar{padding:0 var(--bmb-spacing-m) var(--bmb-spacing-m);font-family:Poppins-Medium,sans-serif;font-size:.875rem}.bmb_datepicker-modal-calendar-table{width:100%}.bmb_datepicker-modal-calendar-table-header,.bmb_datepicker-modal-calendar-table-item{width:14.2857142857%;text-align:center}.bmb_datepicker-modal-calendar-table-item{padding:1rem 0 0}.bmb_datepicker-modal-calendar-item,.bmb_datepicker-modal-calendar-header{flex:0 0 calc(14.285% - .4285714286rem);text-align:center;box-sizing:border-box;position:relative}.bmb_datepicker-modal-calendar-list{border-top:var(--bmb-border-general_contrasts-50-1-solid);list-style:none;padding:var(--bmb-spacing-m);margin:0;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:space-between}.bmb_datepicker-modal-calendar-list .bmb_datepicker-modal-button{border:var(--bmb-border-inherit-1-solid);border-color:transparent}.bmb_datepicker-modal-calendar-list .bmb_datepicker-modal-button:hover:not(:disabled):not(.bmb-disabled):not(.bmb_datepicker-modal-calendar-list-item-selected){border-color:var(--general_contrasts-75);background-color:transparent}.bmb_datepicker-modal-calendar-list-months .bmb_datepicker-modal-calendar-item{flex:0 0 calc(50% - .25rem)}.bmb_datepicker-modal-calendar-list-years .bmb_datepicker-modal-calendar-item{flex:0 0 calc(33.3333% - .3333333333rem)}.bmb_datepicker-modal-calendar-list-item.bmb_datepicker-modal-button{width:100%;aspect-ratio:auto;border-radius:1rem;padding:.125rem;opacity:1;color:var(--general_contrasts-75)}.bmb_datepicker-modal-calendar-list-item-selected.bmb_datepicker-modal-button{background-color:var(--general_contrasts-input-outline);color:var(--containers-main)}.bmb_datepicker-modal-calendar-list-item-selected.bmb_datepicker-modal-button:hover:not(:disabled):not(.bmb-disabled){background-color:var(--general_contrasts-input-outline);color:var(--containers-main)}\n"] }]
210
- }] });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWRhdGVwaWNrZXItbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1kYXRlcGlja2VyL2JtYi1kYXRlcGlja2VyLW1vZGFsL2JtYi1kYXRlcGlja2VyLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItZGF0ZXBpY2tlci9ibWItZGF0ZXBpY2tlci1tb2RhbC9ibWItZGF0ZXBpY2tlci1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7O0FBb0J6RixNQUFNLE9BQU8sMkJBQTJCO0lBbEJ4QztRQW1CRSxpQkFBWSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNyQyxRQUFHLEdBQUcs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WUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7cUJBQ3ZCLGlCQU1jLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBvdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJtYkxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvYm1iLWxheW91dC9ibWItbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCbWJMYXlvdXRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9ibWItbGF5b3V0L2JtYi1sYXlvdXQtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGF0ZVRpbWUsIEluZm8gfSBmcm9tICdsdXhvbic7XG5pbXBvcnQgeyB3ZWVrc0FuZERheXMgfSBmcm9tICcuLi8uLi9ibWItY2FsZW5kYXIvdXRpbHMnO1xuaW1wb3J0IHsgQm1iQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9ibWItYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IG9yZGVyRGF5TmFtZXMgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBCbWJBY3Rpb25JY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYm1iLWFjdGlvbi1pY29uL2JtYi1hY3Rpb24taWNvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItZGF0ZXBpY2tlci1tb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQm1iTGF5b3V0RGlyZWN0aXZlLFxuICAgIEJtYkxheW91dEl0ZW1EaXJlY3RpdmUsXG4gICAgQm1iQnV0dG9uRGlyZWN0aXZlLFxuICAgIEJtYkFjdGlvbkljb25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItZGF0ZXBpY2tlci1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuL2JtYi1kYXRlcGlja2VyLW1vZGFsLmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi4vLi4vYm1iLWlucHV0L2JtYi1pbnB1dC5jb21wb25lbnQuc2NzcycsXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJEYXRlcGlja2VyTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpc1dpbmRvd09wZW4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG5vdyA9IGlucHV0PERhdGVUaW1lPihEYXRlVGltZS5ub3coKSk7XG4gIGxhbmcgPSBpbnB1dDxzdHJpbmc+KCdlcy1NWCcpO1xuICB2YWx1ZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBkYXRlRm9ybWF0ID0gaW5wdXQ8c3RyaW5nPignZGQvTU0veXl5eScpO1xuICBzdGVwWWVhclBpY2tlciA9IGlucHV0PG51bWJlcj4oMTgpO1xuICBkaXNhYmxlRGF0ZXNCZWZvcmUgPSBpbnB1dDxEYXRlVGltZSB8IG51bGw+KCk7XG4gIGRpc2FibGVEYXRlc0FmdGVyID0gaW5wdXQ8RGF0ZVRpbWUgfCBudWxsPigpO1xuXG4gIGNsb3NlV2luZG93ID0gb3V0cHV0PGJvb2xlYW4+KCk7XG4gIG9uVmFsdWVDaGFuZ2UgPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG4gIHNlbGVjdGVkTW9udGggPSAwO1xuICBtb250aHNOYW1lcyA9IEluZm8ubW9udGhzKCdsb25nJywgeyBsb2NhbGU6IHRoaXMubGFuZygpIH0pO1xuICBtb250aCA9ICcnO1xuICB5ZWFyID0gdGhpcy5ub3coKS55ZWFyO1xuICBkZWZhdWx0RGF5T3JkZXIgPSBJbmZvLndlZWtkYXlzKCduYXJyb3cnLCB7IGxvY2FsZTogdGhpcy5sYW5nKCkgfSk7XG4gIGRheU5hbWVzID0gb3JkZXJEYXlOYW1lcyh0aGlzLmRlZmF1bHREYXlPcmRlcik7XG4gIHNlbGVjdGVkWWVhciA9IDA7XG4gIHZpZXcgPSAnY2FsZW5kYXInO1xuICBzZWxlY3RlZERhdGU6IERhdGVUaW1lIHwgbnVsbCA9IG51bGw7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCEhdGhpcy52YWx1ZSgpKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gRGF0ZVRpbWUuZnJvbUZvcm1hdChcbiAgICAgICAgdGhpcy52YWx1ZSgpLFxuICAgICAgICB0aGlzLmRhdGVGb3JtYXQoKSxcbiAgICAgICk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGZvcm1hdHRlZERhdGU7XG4gICAgICB0aGlzLnNlbGVjdGVkWWVhciA9IGZvcm1hdHRlZERhdGUueWVhcjtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IGZvcm1hdHRlZERhdGUubW9udGg7XG4gICAgICB0aGlzLm1vbnRoID0gdGhpcy5tb250aHNOYW1lc1tmb3JtYXR0ZWREYXRlLm1vbnRoIC0gMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyID0gdGhpcy5ub3coKS55ZWFyO1xuICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoID0gdGhpcy5ub3coKS5tb250aDtcbiAgICAgIHRoaXMubW9udGggPVxuICAgICAgICB0aGlzLm1vbnRoc05hbWVzWyh0aGlzLnNlbGVjdGVkTW9udGggfHwgdGhpcy5ub3coKS5tb250aCkgLSAxXTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVNb250aENoYW5nZShldmVudDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1vbnRoID0gZXZlbnQgKyAxO1xuICAgIHRoaXMubW9udGggPSB0aGlzLm1vbnRoc05hbWVzW2V2ZW50XTtcbiAgICB0aGlzLnZpZXcgPSAnY2FsZW5kYXInO1xuICB9XG5cbiAgaGFuZGxlWWVhckNoYW5nZShldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWxlY3RlZFllYXIgPSBwYXJzZUludChldmVudCwgMTApO1xuICAgIHRoaXMudmlldyA9ICdjYWxlbmRhcic7XG4gIH1cblxuICBnZXRZZWFycygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgeWVhcnNMaXN0ID0gbmV3IEFycmF5KHRoaXMuc3RlcFllYXJQaWNrZXIoKSkuZmlsbCgwKTtcbiAgICBjb25zdCBjdXJyZW50WWVhciA9IHRoaXMuc2VsZWN0ZWRZZWFyO1xuICAgIGNvbnN0IHllYXJzRmluYWwgPSB5ZWFyc0xpc3QubWFwKChfLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIChjdXJyZW50WWVhciAtICh0aGlzLnN0ZXBZZWFyUGlja2VyKCkgLyAyIC0gMSkgKyBpbmRleCkudG9TdHJpbmcoKTtcbiAgICB9KTtcbiAgICByZXR1cm4geWVhcnNGaW5hbDtcbiAgfVxuXG4gIGhhbmRsZURheUNoYW5nZShkYXRlOiBEYXRlVGltZSk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gZGF0ZS50b0Zvcm1hdCh0aGlzLmRhdGVGb3JtYXQoKSk7XG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuICAgIHRoaXMuY2xvc2VXaW5kb3cuZW1pdChmYWxzZSk7XG4gIH1cblxuICBnZXRXZWVrc0FuZERheXMoKTogRGF0ZVRpbWVbXVtdIHtcbiAgICBjb25zdCBmaXJzdERheU9mTW9udGggPSBEYXRlVGltZS5mcm9tT2JqZWN0KHtcbiAgICAgIGRheTogMSxcbiAgICAgIG1vbnRoOiB0aGlzLnNlbGVjdGVkTW9udGggPz8gdGhpcy5ub3coKS5tb250aCxcbiAgICAgIHllYXI6IHRoaXMuc2VsZWN0ZWRZZWFyID8/IHRoaXMubm93KCkueWVhcixcbiAgICB9KTtcbiAgICBjb25zdCBkYXlzID0gd2Vla3NBbmREYXlzKGZpcnN0RGF5T2ZNb250aCk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgZGF5cy5zbGljZSgwLCA3KSxcbiAgICAgIGRheXMuc2xpY2UoNywgMTQpLFxuICAgICAgZGF5cy5zbGljZSgxNCwgMjEpLFxuICAgICAgZGF5cy5zbGljZSgyMSwgMjgpLFxuICAgICAgZGF5cy5zbGljZSgyOCwgMzUpLFxuICAgICAgZGF5cy5zbGljZSgzNSwgNDIpLFxuICAgIF07XG4gIH1cblxuICBpc1NlbGVjdGVkRGF5KGRhdGU6IERhdGVUaW1lKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNsYXNzTGlzdCA9IFtdO1xuICAgIGlmIChkYXRlLm1vbnRoID09PSB0aGlzLnNlbGVjdGVkTW9udGgpIHtcbiAgICAgIGNsYXNzTGlzdC5wdXNoKCdibWJfZGF0ZXBpY2tlci1tb2RhbC1idXR0b24tY3VycmVudC1tb250aCcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZSAmJiBkYXRlLmhhc1NhbWUodGhpcy5zZWxlY3RlZERhdGUsICdkYXknKSlcbiAgICAgIGNsYXNzTGlzdC5wdXNoKCdibWJfZGF0ZXBpY2tlci1tb2RhbC1idXR0b24tc2VsZWN0ZWQnKTtcbiAgICBpZiAodGhpcy5ub3coKS5oYXNTYW1lKGRhdGUsICdkYXknKSlcbiAgICAgIGNsYXNzTGlzdC5wdXNoKCdibWJfZGF0ZXBpY2tlci1tb2RhbC1idXR0b24tdG9kYXknKTtcbiAgICByZXR1cm4gY2xhc3NMaXN0O1xuICB9XG5cbiAgaGFuZGxlQ2hhbmdlVmlldyh2aWV3OiBzdHJpbmcpIHtcbiAgICB0aGlzLnZpZXcgPSB2aWV3O1xuICB9XG5cbiAgaGFuZGxlQ2hldnJvbkNsaWNrKGV2ZW50OiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy52aWV3ID09PSAnY2FsZW5kYXInKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZU1vbnRoKGV2ZW50KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudmlldyA9PT0gJ21vbnRoJykge1xuICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VZZWFyKGV2ZW50LCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VZZWFyKGV2ZW50LCB0aGlzLnN0ZXBZZWFyUGlja2VyKCkpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNoYW5nZVllYXIoZXZlbnQ6IHN0cmluZywgeWVhcnNBbW91bnQ6IG51bWJlciA9IDApIHtcbiAgICBpZiAoZXZlbnQgPT09ICdsZXNzJykge1xuICAgICAgdGhpcy5zZWxlY3RlZFllYXIgPSB0aGlzLnNlbGVjdGVkWWVhciAtIHllYXJzQW1vdW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkWWVhciA9IHRoaXMuc2VsZWN0ZWRZZWFyICsgeWVhcnNBbW91bnQ7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2hhbmdlTW9udGgoZXZlbnQ6IHN0cmluZykge1xuICAgIGlmIChldmVudCA9PT0gJ2xlc3MnKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZE1vbnRoID09PSAxKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IDEyO1xuICAgICAgICB0aGlzLm1vbnRoID0gdGhpcy5tb250aHNOYW1lc1t0aGlzLnNlbGVjdGVkTW9udGggLSAxXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFllYXIgPSB0aGlzLnNlbGVjdGVkWWVhciAtIDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGggPSB0aGlzLnNlbGVjdGVkTW9udGggLSAxO1xuICAgICAgICB0aGlzLm1vbnRoID0gdGhpcy5tb250aHNOYW1lc1t0aGlzLnNlbGVjdGVkTW9udGggLSAxXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb250aCA9PT0gMTIpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoID0gMTtcbiAgICAgICAgdGhpcy5tb250aCA9IHRoaXMubW9udGhzTmFtZXNbdGhpcy5zZWxlY3RlZE1vbnRoIC0gMV07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyID0gdGhpcy5zZWxlY3RlZFllYXIgKyAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoID0gdGhpcy5zZWxlY3RlZE1vbnRoICsgMTtcbiAgICAgICAgdGhpcy5tb250aCA9IHRoaXMubW9udGhzTmFtZXNbdGhpcy5zZWxlY3RlZE1vbnRoIC0gMV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hlY2tJZkRpc2FibGVkKGRhdGU6IERhdGVUaW1lKTogYm9vbGVhbiB7XG4gICAgbGV0IGlzVmFsaWQ6IGJvb2xlYW4gPSB0aGlzLmRpc2FibGVEYXRlc0JlZm9yZSgpXG4gICAgICA/IGRhdGUuc3RhcnRPZignZGF5JykgPD0gdGhpcy5kaXNhYmxlRGF0ZXNCZWZvcmUoKSEuc3RhcnRPZignZGF5JylcbiAgICAgIDogZmFsc2U7XG5cbiAgICBpc1ZhbGlkID1cbiAgICAgICFpc1ZhbGlkICYmIHRoaXMuZGlzYWJsZURhdGVzQWZ0ZXIoKVxuICAgICAgICA/IGRhdGUuc3RhcnRPZignZGF5JykgPj0gdGhpcy5kaXNhYmxlRGF0ZXNBZnRlcigpIS5zdGFydE9mKCdkYXknKVxuICAgICAgICA6IGlzVmFsaWQ7XG5cbiAgICByZXR1cm4gaXNWYWxpZDtcbiAgfVxuXG4gIGlzU2VsZWN0ZWRZZWFyKHllYXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkWWVhciA9PT0gcGFyc2VJbnQoeWVhcik7XG4gIH1cblxuICBvbkRheUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGRhdGU/OiBEYXRlVGltZSkge1xuICAgIGlmIChcbiAgICAgIGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8XG4gICAgICBldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnIHx8XG4gICAgICBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nIHx8XG4gICAgICBldmVudC5rZXkgPT09ICdBcnJvd1VwJyB8fFxuICAgICAgZXZlbnQua2V5ID09PSAnVGFiJ1xuICAgICkge1xuICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRhYmxlID0gKGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJ3RhYmxlJyk7XG4gICAgICBpZiAoIXRhYmxlKSByZXR1cm47XG4gICAgICBjb25zdCBidXR0b25zID0gQXJyYXkuZnJvbShcbiAgICAgICAgdGFibGUucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oJ2J1dHRvbjpub3QoOmRpc2FibGVkKScpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IGJ1dHRvbnMuZmluZEluZGV4KFxuICAgICAgICAoYnRuKSA9PiBidG4gPT09IGV2ZW50LmN1cnJlbnRUYXJnZXQsXG4gICAgICApO1xuICAgICAgbGV0IG5leHRJbmRleCA9IGN1cnJlbnRJbmRleDtcbiAgICAgIGlmIChcbiAgICAgICAgZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcgfHxcbiAgICAgICAgKGV2ZW50LmtleSA9PT0gJ1RhYicgJiYgIWV2ZW50LnNoaWZ0S2V5KVxuICAgICAgKSB7XG4gICAgICAgIG5leHRJbmRleCA9IChjdXJyZW50SW5kZXggKyAxKSAlIGJ1dHRvbnMubGVuZ3RoO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fFxuICAgICAgICAoZXZlbnQua2V5ID09PSAnVGFiJyAmJiBldmVudC5zaGlmdEtleSlcbiAgICAgICkge1xuICAgICAgICBuZXh0SW5kZXggPSAoY3VycmVudEluZGV4IC0gMSArIGJ1dHRvbnMubGVuZ3RoKSAlIGJ1dHRvbnMubGVuZ3RoO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgIG5leHRJbmRleCA9XG4gICAgICAgICAgY3VycmVudEluZGV4ICsgNyA8IGJ1dHRvbnMubGVuZ3RoID8gY3VycmVudEluZGV4ICsgNyA6IGN1cnJlbnRJbmRleDtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgICAgbmV4dEluZGV4ID0gY3VycmVudEluZGV4IC0gNyA+PSAwID8gY3VycmVudEluZGV4IC0gNyA6IGN1cnJlbnRJbmRleDtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbnNbbmV4dEluZGV4XT8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSBkYXRlPy50b0Zvcm1hdCh0aGlzLmRhdGVGb3JtYXQoKSk7XG4gICAgICB0aGlzLm9uVmFsdWVDaGFuZ2UuZW1pdChuZXdWYWx1ZSB8fCAnJyk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlV2luZG93LmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJibWJfZGF0ZXBpY2tlci1tb2RhbFwiIChrZXlkb3duKT1cIm9uRGF5S2V5ZG93bigkZXZlbnQpXCI+XG4gIDxuYXZcbiAgICBjbGFzcz1cImJtYl9kYXRlcGlja2VyLW1vZGFsLW5hdlwiXG4gICAgYm1iTGF5b3V0XG4gICAgbWFyZ2luPVwibm9uZVwiXG4gICAgW2R5bmFtaWNDb2xzXT1cInRydWVcIlxuICAgIGp1c3RpZnk9XCJjZW50ZXJcIlxuICAgIGdhcFNpemU9XCJzXCJcbiAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgPlxuICAgIDxsaSBibWJMYXlvdXRJdGVtPlxuICAgICAgPGJtYi1hY3Rpb24taWNvblxuICAgICAgICBpY29uPVwia2V5Ym9hcmRfYXJyb3dfbGVmdFwiXG4gICAgICAgIFtpY29uU2l6ZV09XCIyNFwiXG4gICAgICAgIChidXR0b25DbGljayk9XCJoYW5kbGVDaGV2cm9uQ2xpY2soJ2xlc3MnKVwiXG4gICAgICAvPlxuICAgIDwvbGk+XG4gICAgPGxpXG4gICAgICBibWJMYXlvdXRJdGVtXG4gICAgICBbaXNEeW5hbWljSXRlbV09XCJ0cnVlXCJcbiAgICAgIFtjb2xHcm93XT1cIjFcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnYm1iX2RhdGVwaWNrZXItbW9kYWwtbmF2LWl0ZW0nOiB2aWV3ICE9PSAnY2FsZW5kYXInIH1cIlxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJibWJfZGF0ZXBpY2tlci1tb2RhbC1idXR0b24gYm1iX2ZpZWxkLWlucHV0LW5vcm1hbCBibWJfZGF0ZXBpY2tlci1tb2RhbC1uYXYtYnV0dG9uXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVDaGFuZ2VWaWV3KCdtb250aCcpXCJcbiAgICAgICAgYm1iQnV0dG9uXG4gICAgICAgIGFwcGVhcmFuY2U9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIGljb249XCJrZXlib2FyZF9hcnJvd19kb3duXCJcbiAgICAgICAgcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgIFtpY29uU2l6ZV09XCIyNFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJ2aWV3ICE9PSAnY2FsZW5kYXInXCJcbiAgICAgID5cbiAgICAgICAge3sgbW9udGggfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbGk+XG4gICAgPGxpIGJtYkxheW91dEl0ZW0gW2lzRHluYW1pY0l0ZW1dPVwidHJ1ZVwiIFtjb2xHcm93XT1cIjFcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJibWJfZGF0ZXBpY2tlci1tb2RhbC1idXR0b24gYm1iX2ZpZWxkLWlucHV0LW5vcm1hbCBibWJfZGF0ZXBpY2tlci1tb2RhbC1uYXYtYnV0dG9uXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVDaGFuZ2VWaWV3KCd5ZWFyJylcIlxuICAgICAgICBibWJCdXR0b25cbiAgICAgICAgYXBwZWFyYW5jZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgaWNvbj1cImtleWJvYXJkX2Fycm93X2Rvd25cIlxuICAgICAgICBwb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgW2ljb25TaXplXT1cIjI0XCJcbiAgICAgID5cbiAgICAgICAge3sgc2VsZWN0ZWRZZWFyIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2xpPlxuICAgIDxsaSBibWJMYXlvdXRJdGVtPlxuICAgICAgPGJtYi1hY3Rpb24taWNvblxuICAgICAgICBpY29uPVwia2V5Ym9hcmRfYXJyb3dfcmlnaHRcIlxuICAgICAgICBbaWNvblNpemVdPVwiMjRcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwiaGFuZGxlQ2hldnJvbkNsaWNrKCdwbHVzJylcIlxuICAgICAgLz5cbiAgICA8L2xpPlxuICA8L25hdj5cbiAgQHN3aXRjaCAodmlldykge1xuICAgIEBjYXNlIChcImNhbGVuZGFyXCIpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJibWJfZGF0ZXBpY2tlci1tb2RhbC1jYWxlbmRhclwiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJibWJfZGF0ZXBpY2tlci1tb2RhbC1jYWxlbmRhci10YWJsZVwiPlxuICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgQGZvciAoZGF5IG9mIGRheU5hbWVzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJibWJfZGF0ZXBpY2tlci1tb2RhbC1jYWxlbmRhci10YWJsZS1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGRheSB9fVxuICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICBAZm9yICh3ZWVrIG9mIGdldFdlZWtzQW5kRGF5cygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIEBmb3IgKGRhdGUgb2Ygd2VlazsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJibWJfZGF0ZXBpY2tlci1tb2RhbC1jYWxlbmRhci10YWJsZS1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJtYl9kYXRlcGlja2VyLW1vZGFsLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXNTZWxlY3RlZERheShkYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZURheUNoYW5nZShkYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgYm1iQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiY2hlY2tJZkRpc2FibGVkKGRhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uRGF5S2V5ZG93bigkZXZlbnQsIGRhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGRhdGUuZGF5IH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAY2FzZSAoXCJtb250aFwiKSB7XG4gICAgICA8dWxcbiAgICAgICAgY2xhc3M9XCJibWJfZGF0ZXBpY2tlci1tb2RhbC1jYWxlbmRhci1saXN0IGJtYl9kYXRlcGlja2VyLW1vZGFsLWNhbGVuZGFyLWxpc3QtbW9udGhzIGJtYl9kYXRlcGlja2VyLW1vZGFsLWNhbGVuZGFyXCJcbiAgICAgID5cbiAgICAgICAgQGZvciAobW9udGggb2YgbW9udGhzTmFtZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxsaSBjbGFzcz1cImJtYl9kYXRlcGlja2VyLW1vZGFsLWNhbGVuZGFyLWl0ZW1cIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJibWJfZGF0ZXBpY2tlci1tb2RhbC1idXR0b24gYm1iX2RhdGVwaWNrZXItbW9kYWwtY2FsZW5kYXItbGlzdC1pdGVtIG1vZGFsLXBlcnNpc3RcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICdibWJfZGF0ZXBpY2tlci1tb2RhbC1jYWxlbmRhci1saXN0LWl0ZW0tc2VsZWN0ZWQnOlxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRNb250aCAtIDEgPT09ICRpbmRleCxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIGJtYkJ1dHRvblxuICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTW9udGhDaGFuZ2UoJGluZGV4KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IG1vbnRoIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIH1cbiAgICBAY2FzZSAoXCJ5ZWFyXCIpIHtcbiAgICAgIDx1bFxuICAgICAgICBjbGFzcz1cImJtYl9kYXRlcGlja2VyLW1vZGFsLWNhbGVuZGFyLWxpc3QgYm1iX2RhdGVwaWNrZXItbW9kYWwtY2FsZW5kYXItbGlzdC15ZWFycyBibWJfZGF0ZXBpY2tlci1tb2RhbC1jYWxlbmRhclwiXG4gICAgICA+XG4gICAgICAgIEBmb3IgKHllYXIgb2YgZ2V0WWVhcnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGxpIGNsYXNzPVwiYm1iX2RhdGVwaWNrZXItbW9kYWwtY2FsZW5kYXItaXRlbVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImJtYl9kYXRlcGlja2VyLW1vZGFsLWJ1dHRvbiBibWJfZGF0ZXBpY2tlci1tb2RhbC1jYWxlbmRhci1saXN0LWl0ZW0gbW9kYWwtcGVyc2lzdFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ2JtYl9kYXRlcGlja2VyLW1vZGFsLWNhbGVuZGFyLWxpc3QtaXRlbS1zZWxlY3RlZCc6XG4gICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkWWVhcih5ZWFyKSxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIGJtYkJ1dHRvblxuICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlWWVhckNoYW5nZSh5ZWFyKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHllYXIgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgIDwvdWw+XG4gICAgfVxuICB9XG48L3NlY3Rpb24+XG4iXX0=