@coreui/angular-pro 4.7.2 → 5.0.0-alpha.1

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 (308) hide show
  1. package/esm2022/lib/accordion/accordion/accordion.component.mjs +3 -3
  2. package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +3 -3
  3. package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +3 -3
  4. package/esm2022/lib/accordion/accordion.module.mjs +4 -4
  5. package/esm2022/lib/accordion/accordion.service.mjs +3 -3
  6. package/esm2022/lib/alert/alert-heading.directive.mjs +3 -3
  7. package/esm2022/lib/alert/alert-link.directive.mjs +3 -3
  8. package/esm2022/lib/alert/alert.component.mjs +3 -3
  9. package/esm2022/lib/alert/alert.module.mjs +4 -4
  10. package/esm2022/lib/avatar/avatar.component.mjs +10 -7
  11. package/esm2022/lib/avatar/avatar.module.mjs +4 -4
  12. package/esm2022/lib/backdrop/backdrop.service.mjs +55 -31
  13. package/esm2022/lib/backdrop/index.mjs +2 -0
  14. package/esm2022/lib/backdrop/public_api.mjs +2 -0
  15. package/esm2022/lib/badge/badge.component.mjs +10 -6
  16. package/esm2022/lib/badge/badge.module.mjs +4 -4
  17. package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +3 -3
  18. package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
  19. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +3 -3
  20. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +9 -9
  21. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +4 -4
  22. package/esm2022/lib/button/button-close.directive.mjs +11 -5
  23. package/esm2022/lib/button/button.directive.mjs +3 -3
  24. package/esm2022/lib/button/button.module.mjs +4 -4
  25. package/esm2022/lib/button-group/button-group/button-group.component.mjs +3 -3
  26. package/esm2022/lib/button-group/button-group.module.mjs +4 -4
  27. package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +3 -3
  28. package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +3 -3
  29. package/esm2022/lib/calendar/calendar/calendar.component.mjs +150 -71
  30. package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +5 -4
  31. package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +5 -5
  32. package/esm2022/lib/calendar/calendar-month/calendar-class-row.pipe.mjs +26 -0
  33. package/esm2022/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +3 -3
  34. package/esm2022/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +3 -3
  35. package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +102 -59
  36. package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +3 -3
  37. package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +255 -92
  38. package/esm2022/lib/calendar/calendar-month/calendar-row.directive.mjs +117 -0
  39. package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +3 -3
  40. package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +28 -24
  41. package/esm2022/lib/calendar/calendar.module.mjs +10 -7
  42. package/esm2022/lib/calendar/calendar.service.mjs +8 -5
  43. package/esm2022/lib/calendar/calendar.utils.mjs +100 -17
  44. package/esm2022/lib/callout/callout.component.mjs +3 -3
  45. package/esm2022/lib/callout/callout.module.mjs +4 -4
  46. package/esm2022/lib/card/card-body.component.mjs +3 -3
  47. package/esm2022/lib/card/card-footer.component.mjs +3 -3
  48. package/esm2022/lib/card/card-group.component.mjs +3 -3
  49. package/esm2022/lib/card/card-header-actions.component.mjs +3 -3
  50. package/esm2022/lib/card/card-header.component.mjs +3 -3
  51. package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +3 -3
  52. package/esm2022/lib/card/card-img.directive.mjs +3 -3
  53. package/esm2022/lib/card/card-link.directive.mjs +3 -3
  54. package/esm2022/lib/card/card-subtitle.directive.mjs +3 -3
  55. package/esm2022/lib/card/card-text.directive.mjs +3 -3
  56. package/esm2022/lib/card/card-title.directive.mjs +3 -3
  57. package/esm2022/lib/card/card.component.mjs +12 -8
  58. package/esm2022/lib/card/card.module.mjs +4 -4
  59. package/esm2022/lib/carousel/carousel/carousel.component.mjs +37 -36
  60. package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +3 -3
  61. package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +3 -3
  62. package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +3 -3
  63. package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +3 -3
  64. package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +3 -3
  65. package/esm2022/lib/carousel/carousel-state.mjs +3 -3
  66. package/esm2022/lib/carousel/carousel.config.mjs +3 -3
  67. package/esm2022/lib/carousel/carousel.module.mjs +4 -4
  68. package/esm2022/lib/carousel/carousel.service.mjs +3 -3
  69. package/esm2022/lib/collapse/collapse.directive.mjs +3 -3
  70. package/esm2022/lib/collapse/collapse.module.mjs +4 -4
  71. package/esm2022/lib/coreui.types.mjs +1 -1
  72. package/esm2022/lib/date-picker/date-picker.component.mjs +8 -12
  73. package/esm2022/lib/date-picker/date-picker.module.mjs +4 -4
  74. package/esm2022/lib/date-range-picker/date-range-picker/custom-range-key.pipe.mjs +3 -3
  75. package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +168 -163
  76. package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +4 -4
  77. package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +10 -23
  78. package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +3 -3
  79. package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +3 -3
  80. package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +3 -3
  81. package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +3 -3
  82. package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +13 -5
  83. package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +77 -41
  84. package/esm2022/lib/dropdown/dropdown.module.mjs +4 -4
  85. package/esm2022/lib/dropdown/dropdown.service.mjs +5 -5
  86. package/esm2022/lib/element-cover/element-cover.component.mjs +3 -3
  87. package/esm2022/lib/element-cover/element-cover.module.mjs +4 -4
  88. package/esm2022/lib/footer/footer.component.mjs +3 -3
  89. package/esm2022/lib/footer/footer.module.mjs +4 -4
  90. package/esm2022/lib/form/form/form.directive.mjs +3 -3
  91. package/esm2022/lib/form/form-check/form-check-input.directive.mjs +3 -3
  92. package/esm2022/lib/form/form-check/form-check-label.directive.mjs +3 -3
  93. package/esm2022/lib/form/form-check/form-check.component.mjs +3 -3
  94. package/esm2022/lib/form/form-control/form-control.directive.mjs +3 -3
  95. package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +3 -3
  96. package/esm2022/lib/form/form-floating/form-floating.directive.mjs +3 -3
  97. package/esm2022/lib/form/form-label/form-label.directive.mjs +3 -3
  98. package/esm2022/lib/form/form-select/form-select.directive.mjs +3 -3
  99. package/esm2022/lib/form/form-text/form-text.directive.mjs +3 -3
  100. package/esm2022/lib/form/form.module.mjs +4 -4
  101. package/esm2022/lib/form/input-group/input-group.component.mjs +3 -3
  102. package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +3 -3
  103. package/esm2022/lib/grid/col.component.mjs +3 -3
  104. package/esm2022/lib/grid/col.directive.mjs +3 -3
  105. package/esm2022/lib/grid/container.component.mjs +3 -3
  106. package/esm2022/lib/grid/grid.module.mjs +4 -4
  107. package/esm2022/lib/grid/gutter.directive.mjs +3 -3
  108. package/esm2022/lib/grid/row.component.mjs +3 -3
  109. package/esm2022/lib/grid/row.directive.mjs +3 -3
  110. package/esm2022/lib/header/header/header.component.mjs +3 -3
  111. package/esm2022/lib/header/header-brand/header-brand.component.mjs +3 -3
  112. package/esm2022/lib/header/header-divider/header-divider.component.mjs +3 -3
  113. package/esm2022/lib/header/header-nav/header-nav.component.mjs +3 -3
  114. package/esm2022/lib/header/header-text/header-text.component.mjs +3 -3
  115. package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +3 -3
  116. package/esm2022/lib/header/header.module.mjs +4 -4
  117. package/esm2022/lib/image/img.directive.mjs +3 -3
  118. package/esm2022/lib/image/img.module.mjs +4 -4
  119. package/esm2022/lib/list-group/list-group-item.directive.mjs +3 -3
  120. package/esm2022/lib/list-group/list-group.directive.mjs +3 -3
  121. package/esm2022/lib/list-group/list-group.module.mjs +4 -4
  122. package/esm2022/lib/loading-button/loading-button.component.mjs +3 -3
  123. package/esm2022/lib/loading-button/loading-button.module.mjs +4 -4
  124. package/esm2022/lib/modal/modal/modal.component.mjs +88 -59
  125. package/esm2022/lib/modal/modal-body/modal-body.component.mjs +3 -3
  126. package/esm2022/lib/modal/modal-content/modal-content.component.mjs +3 -3
  127. package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +3 -3
  128. package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +3 -3
  129. package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +3 -3
  130. package/esm2022/lib/modal/modal-header/modal-header.component.mjs +3 -3
  131. package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +3 -3
  132. package/esm2022/lib/modal/modal.module.mjs +4 -4
  133. package/esm2022/lib/modal/modal.service.mjs +3 -3
  134. package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +3 -3
  135. package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +16 -13
  136. package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +3 -3
  137. package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +3 -3
  138. package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +3 -3
  139. package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +37 -36
  140. package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +5 -5
  141. package/esm2022/lib/multi-select/multi-select.module.mjs +4 -4
  142. package/esm2022/lib/multi-select/multi-select.service.mjs +3 -3
  143. package/esm2022/lib/nav/nav-item.component.mjs +3 -3
  144. package/esm2022/lib/nav/nav-link.directive.mjs +3 -3
  145. package/esm2022/lib/nav/nav.component.mjs +5 -5
  146. package/esm2022/lib/nav/nav.module.mjs +4 -4
  147. package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +3 -3
  148. package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
  149. package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +3 -3
  150. package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +3 -3
  151. package/esm2022/lib/navbar/navbar.component.mjs +9 -13
  152. package/esm2022/lib/navbar/navbar.module.mjs +4 -4
  153. package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +56 -61
  154. package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +3 -3
  155. package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +3 -3
  156. package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +3 -3
  157. package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +3 -3
  158. package/esm2022/lib/offcanvas/offcanvas.module.mjs +4 -4
  159. package/esm2022/lib/offcanvas/offcanvas.service.mjs +3 -3
  160. package/esm2022/lib/pagination/page-item/page-item.component.mjs +3 -3
  161. package/esm2022/lib/pagination/page-item/page-item.directive.mjs +3 -3
  162. package/esm2022/lib/pagination/page-link/page-link.directive.mjs +3 -3
  163. package/esm2022/lib/pagination/pagination/pagination.component.mjs +3 -3
  164. package/esm2022/lib/pagination/pagination.module.mjs +4 -4
  165. package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +3 -3
  166. package/esm2022/lib/placeholder/placeholder.directive.mjs +3 -3
  167. package/esm2022/lib/placeholder/placeholder.module.mjs +4 -4
  168. package/esm2022/lib/popover/popover/popover.component.mjs +3 -3
  169. package/esm2022/lib/popover/popover.directive.mjs +5 -5
  170. package/esm2022/lib/popover/popover.module.mjs +4 -4
  171. package/esm2022/lib/progress/progress-bar.component.mjs +3 -3
  172. package/esm2022/lib/progress/progress.component.mjs +3 -3
  173. package/esm2022/lib/progress/progress.module.mjs +4 -4
  174. package/esm2022/lib/services/class-toggle.service.mjs +3 -3
  175. package/esm2022/lib/services/intersection.service.mjs +3 -3
  176. package/esm2022/lib/services/listeners.service.mjs +3 -3
  177. package/esm2022/lib/shared/html-attr.directive.mjs +3 -3
  178. package/esm2022/lib/shared/public_api.mjs +2 -1
  179. package/esm2022/lib/shared/shared.module.mjs +8 -15
  180. package/esm2022/lib/shared/template-id.directive.mjs +3 -3
  181. package/esm2022/lib/shared/theme.directive.mjs +44 -0
  182. package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +6 -5
  183. package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +3 -3
  184. package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +3 -3
  185. package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
  186. package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  187. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +3 -3
  188. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +3 -3
  189. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +3 -3
  190. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +3 -3
  191. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +3 -3
  192. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +3 -3
  193. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +8 -8
  194. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +3 -3
  195. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +3 -3
  196. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +23 -19
  197. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +6 -6
  198. package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +3 -3
  199. package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +13 -4
  200. package/esm2022/lib/sidebar/sidebar.module.mjs +4 -4
  201. package/esm2022/lib/sidebar/sidebar.service.mjs +3 -3
  202. package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +3 -3
  203. package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +4 -4
  204. package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +90 -125
  205. package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +3 -3
  206. package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +3 -3
  207. package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +3 -3
  208. package/esm2022/lib/smart-table/smart-table-head/smart-table-column-label.pipe.mjs +6 -14
  209. package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +48 -37
  210. package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +3 -3
  211. package/esm2022/lib/smart-table/smart-table.module.mjs +4 -4
  212. package/esm2022/lib/smart-table/smart-table.type.mjs +1 -1
  213. package/esm2022/lib/smart-table/smart-table.utils.mjs +181 -0
  214. package/esm2022/lib/spinner/spinner.component.mjs +3 -3
  215. package/esm2022/lib/spinner/spinner.module.mjs +4 -4
  216. package/esm2022/lib/table/table-active.directive.mjs +3 -3
  217. package/esm2022/lib/table/table-color.directive.mjs +3 -3
  218. package/esm2022/lib/table/table.directive.mjs +3 -3
  219. package/esm2022/lib/table/table.module.mjs +4 -4
  220. package/esm2022/lib/table/table.type.mjs +1 -1
  221. package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +3 -3
  222. package/esm2022/lib/tabs/tab-content-ref.directive.mjs +3 -3
  223. package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +5 -7
  224. package/esm2022/lib/tabs/tab.service.mjs +3 -3
  225. package/esm2022/lib/tabs/tabs.module.mjs +4 -4
  226. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +16 -10
  227. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +22 -15
  228. package/esm2022/lib/time-picker/time-picker.component.mjs +89 -115
  229. package/esm2022/lib/time-picker/time-picker.module.mjs +4 -4
  230. package/esm2022/lib/toast/toast/toast.component.mjs +3 -3
  231. package/esm2022/lib/toast/toast-body/toast-body.component.mjs +3 -3
  232. package/esm2022/lib/toast/toast-close.directive.mjs +3 -3
  233. package/esm2022/lib/toast/toast-header/toast-header.component.mjs +3 -3
  234. package/esm2022/lib/toast/toast.module.mjs +4 -4
  235. package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +3 -3
  236. package/esm2022/lib/toast/toaster/toaster.component.mjs +3 -3
  237. package/esm2022/lib/toast/toaster/toaster.service.mjs +3 -3
  238. package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +3 -3
  239. package/esm2022/lib/tooltip/tooltip.directive.mjs +5 -5
  240. package/esm2022/lib/tooltip/tooltip.module.mjs +4 -4
  241. package/esm2022/lib/utilities/align.directive.mjs +3 -3
  242. package/esm2022/lib/utilities/bg-color.directive.mjs +3 -3
  243. package/esm2022/lib/utilities/border.directive.mjs +3 -3
  244. package/esm2022/lib/utilities/rounded.directive.mjs +3 -3
  245. package/esm2022/lib/utilities/text-color.directive.mjs +3 -3
  246. package/esm2022/lib/utilities/utilities.module.mjs +4 -4
  247. package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +5 -5
  248. package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +6 -6
  249. package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +17 -19
  250. package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +5 -5
  251. package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +5 -5
  252. package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +5 -5
  253. package/esm2022/lib/widget/widget.module.mjs +4 -4
  254. package/esm2022/public-api.mjs +2 -1
  255. package/fesm2022/coreui-angular-pro.mjs +12446 -11687
  256. package/fesm2022/coreui-angular-pro.mjs.map +1 -1
  257. package/lib/avatar/avatar.component.d.ts +4 -3
  258. package/lib/backdrop/backdrop.service.d.ts +7 -10
  259. package/lib/backdrop/index.d.ts +1 -0
  260. package/lib/backdrop/public_api.d.ts +1 -0
  261. package/lib/badge/badge.component.d.ts +5 -3
  262. package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.d.ts +1 -1
  263. package/lib/button/button-close.directive.d.ts +3 -1
  264. package/lib/calendar/calendar/calendar.component.d.ts +46 -19
  265. package/lib/calendar/calendar-month/calendar-class-row.pipe.d.ts +23 -0
  266. package/lib/calendar/calendar-month/calendar-day.directive.d.ts +16 -26
  267. package/lib/calendar/calendar-month/calendar-month.component.d.ts +45 -27
  268. package/lib/calendar/calendar-month/calendar-row.directive.d.ts +44 -0
  269. package/lib/calendar/calendar-navigation/calendar-navigation.component.d.ts +7 -6
  270. package/lib/calendar/calendar.module.d.ts +2 -1
  271. package/lib/calendar/calendar.service.d.ts +5 -1
  272. package/lib/calendar/calendar.utils.d.ts +25 -6
  273. package/lib/card/card.component.d.ts +3 -1
  274. package/lib/carousel/carousel/carousel.component.d.ts +10 -14
  275. package/lib/coreui.types.d.ts +4 -1
  276. package/lib/date-picker/date-picker.component.d.ts +2 -2
  277. package/lib/date-range-picker/date-range-picker/date-range-picker.component.d.ts +75 -41
  278. package/lib/dropdown/dropdown/dropdown.component.d.ts +2 -9
  279. package/lib/dropdown/dropdown-item/dropdown-item.directive.d.ts +5 -1
  280. package/lib/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +13 -16
  281. package/lib/dropdown/dropdown.service.d.ts +0 -1
  282. package/lib/modal/modal/modal.component.d.ts +13 -13
  283. package/lib/multi-select/multi-select/multi-select.component.d.ts +1 -2
  284. package/lib/multi-select/multi-select-option/multi-select-option.component.d.ts +8 -10
  285. package/lib/nav/nav.component.d.ts +2 -2
  286. package/lib/navbar/navbar.component.d.ts +2 -5
  287. package/lib/offcanvas/offcanvas/offcanvas.component.d.ts +14 -11
  288. package/lib/shared/public_api.d.ts +1 -0
  289. package/lib/shared/shared.module.d.ts +2 -1
  290. package/lib/shared/theme.directive.d.ts +19 -0
  291. package/lib/sidebar/sidebar-nav/sidebar-nav.component.d.ts +5 -2
  292. package/lib/sidebar/sidebar-toggler/sidebar-toggler.component.d.ts +1 -0
  293. package/lib/smart-table/smart-table/smart-table.component.d.ts +36 -51
  294. package/lib/smart-table/smart-table-head/smart-table-column-label.pipe.d.ts +0 -1
  295. package/lib/smart-table/smart-table-head/smart-table-head.component.d.ts +21 -11
  296. package/lib/smart-table/smart-table.type.d.ts +49 -34
  297. package/lib/smart-table/smart-table.utils.d.ts +29 -0
  298. package/lib/table/table.type.d.ts +5 -6
  299. package/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.d.ts +2 -1
  300. package/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.d.ts +3 -2
  301. package/lib/time-picker/time-picker.component.d.ts +17 -28
  302. package/lib/widget/widget-stat-a/widget-stat-a.component.d.ts +1 -1
  303. package/lib/widget/widget-stat-b/widget-stat-b.component.d.ts +3 -3
  304. package/lib/widget/widget-stat-c/widget-stat-c.component.d.ts +15 -13
  305. package/lib/widget/widget-stat-e/widget-stat-e.component.d.ts +1 -1
  306. package/lib/widget/widget-stat-f/widget-stat-f.component.d.ts +1 -1
  307. package/package.json +3 -2
  308. package/public-api.d.ts +1 -0
@@ -41,10 +41,10 @@ export class ImgDirective {
41
41
  'img-thumbnail': this.thumbnail
42
42
  };
43
43
  }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ImgDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.5", type: ImgDirective, isStandalone: true, selector: "[cImg]", inputs: { align: "align", fluid: ["fluid", "fluid", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute], thumbnail: ["thumbnail", "thumbnail", booleanAttribute], placeholderColor: "placeholderColor" }, host: { properties: { "style": "this.getStyles", "class": "this.hostClasses" } }, ngImport: i0 }); }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ImgDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.6", type: ImgDirective, isStandalone: true, selector: "[cImg]", inputs: { align: "align", fluid: ["fluid", "fluid", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute], thumbnail: ["thumbnail", "thumbnail", booleanAttribute], placeholderColor: "placeholderColor" }, host: { properties: { "style": "this.getStyles", "class": "this.hostClasses" } }, ngImport: i0 }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ImgDirective, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ImgDirective, decorators: [{
48
48
  type: Directive,
49
49
  args: [{
50
50
  selector: '[cImg]',
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { ImgDirective } from './img.directive';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ImgModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ImgModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: ImgModule, imports: [ImgDirective], exports: [ImgDirective] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ImgModule }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ImgModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: ImgModule, imports: [ImgDirective], exports: [ImgDirective] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ImgModule }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ImgModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ImgModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  imports: [ImgDirective],
@@ -32,10 +32,10 @@ export class ListGroupItemDirective {
32
32
  [`list-group-item-${this.color}`]: !!this.color
33
33
  };
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ListGroupItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
36
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.5", type: ListGroupItemDirective, isStandalone: true, selector: "[cListGroupItem], c-list-group-item", inputs: { active: "active", color: "color", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "attr.aria-disabled": "this.isDisabled", "attr.disabled": "this.attrDisabled", "attr.tabindex": "this.getTabindex", "attr.aria-current": "this.ariaCurrent", "class": "this.hostClasses" } }, exportAs: ["cListGroupItem"], ngImport: i0 }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ListGroupItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
36
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.6", type: ListGroupItemDirective, isStandalone: true, selector: "[cListGroupItem], c-list-group-item", inputs: { active: "active", color: "color", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "attr.aria-disabled": "this.isDisabled", "attr.disabled": "this.attrDisabled", "attr.tabindex": "this.getTabindex", "attr.aria-current": "this.ariaCurrent", "class": "this.hostClasses" } }, exportAs: ["cListGroupItem"], ngImport: i0 }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ListGroupItemDirective, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ListGroupItemDirective, decorators: [{
39
39
  type: Directive,
40
40
  args: [{
41
41
  selector: '[cListGroupItem], c-list-group-item',
@@ -16,10 +16,10 @@ export class ListGroupDirective {
16
16
  'list-group-flush': this.flush
17
17
  };
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ListGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.5", type: ListGroupDirective, isStandalone: true, selector: "[cListGroup]", inputs: { flush: ["flush", "flush", booleanAttribute], horizontal: "horizontal" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ListGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.6", type: ListGroupDirective, isStandalone: true, selector: "[cListGroup]", inputs: { flush: ["flush", "flush", booleanAttribute], horizontal: "horizontal" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ListGroupDirective, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ListGroupDirective, decorators: [{
23
23
  type: Directive,
24
24
  args: [{
25
25
  selector: '[cListGroup]',
@@ -3,11 +3,11 @@ import { ListGroupDirective } from './list-group.directive';
3
3
  import { ListGroupItemDirective } from './list-group-item.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class ListGroupModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ListGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: ListGroupModule, imports: [ListGroupDirective, ListGroupItemDirective], exports: [ListGroupDirective, ListGroupItemDirective] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ListGroupModule }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ListGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: ListGroupModule, imports: [ListGroupDirective, ListGroupItemDirective], exports: [ListGroupDirective, ListGroupItemDirective] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ListGroupModule }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ListGroupModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ListGroupModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  exports: [ListGroupDirective, ListGroupItemDirective],
@@ -65,10 +65,10 @@ export class LoadingButtonComponent extends ButtonDirective {
65
65
  this.disabled = this.disabledOnLoading && changes['loading'].currentValue;
66
66
  }
67
67
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: LoadingButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: LoadingButtonComponent, isStandalone: true, selector: "button[cLoadingButton], a[cLoadingButton]", inputs: { disabledOnLoading: "disabledOnLoading", loading: "loading", spinnerType: "spinnerType" }, outputs: { loadingChange: "loadingChange" }, host: { properties: { "class": "this.hostClasses" } }, exportAs: ["cLoadingButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<c-spinner [variant]=\"spinnerType\" size=\"sm\" class=\"btn-loading-spinner\" @loadingButton *ngIf=\"loading\" />\n<ng-content />\n", dependencies: [{ kind: "component", type: SpinnerComponent, selector: "c-spinner", inputs: ["color", "label", "size", "variant", "role"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [loadingButtonAnimation] }); }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LoadingButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: LoadingButtonComponent, isStandalone: true, selector: "button[cLoadingButton], a[cLoadingButton]", inputs: { disabledOnLoading: "disabledOnLoading", loading: "loading", spinnerType: "spinnerType" }, outputs: { loadingChange: "loadingChange" }, host: { properties: { "class": "this.hostClasses" } }, exportAs: ["cLoadingButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<c-spinner [variant]=\"spinnerType\" size=\"sm\" class=\"btn-loading-spinner\" @loadingButton *ngIf=\"loading\" />\n<ng-content />\n", dependencies: [{ kind: "component", type: SpinnerComponent, selector: "c-spinner", inputs: ["color", "label", "size", "variant", "role"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [loadingButtonAnimation] }); }
70
70
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: LoadingButtonComponent, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LoadingButtonComponent, decorators: [{
72
72
  type: Component,
73
73
  args: [{ selector: 'button[cLoadingButton], a[cLoadingButton]', exportAs: 'cLoadingButton', imports: [SpinnerComponent, NgIf], standalone: true, animations: [loadingButtonAnimation], template: "<c-spinner [variant]=\"spinnerType\" size=\"sm\" class=\"btn-loading-spinner\" @loadingButton *ngIf=\"loading\" />\n<ng-content />\n" }]
74
74
  }], ctorParameters: () => [], propDecorators: { disabledOnLoading: [{
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { LoadingButtonComponent } from './loading-button.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class LoadingButtonModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: LoadingButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: LoadingButtonModule, imports: [LoadingButtonComponent], exports: [LoadingButtonComponent] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: LoadingButtonModule }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LoadingButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: LoadingButtonModule, imports: [LoadingButtonComponent], exports: [LoadingButtonComponent] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LoadingButtonModule }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: LoadingButtonModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LoadingButtonModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  exports: [LoadingButtonComponent],
@@ -1,8 +1,8 @@
1
- import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Inject, Input, Output, ViewChild } from '@angular/core';
2
- import { DOCUMENT } from '@angular/common';
3
1
  import { animate, state, style, transition, trigger } from '@angular/animations';
4
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
5
- import { A11yModule } from '@angular/cdk/a11y';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { booleanAttribute, Component, DestroyRef, effect, ElementRef, EventEmitter, HostBinding, HostListener, inject, Inject, Input, Output, signal, ViewChild } from '@angular/core';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
+ import { A11yModule, FocusMonitor } from '@angular/cdk/a11y';
6
6
  import { ModalContentComponent } from '../modal-content/modal-content.component';
7
7
  import { ModalDialogComponent } from '../modal-dialog/modal-dialog.component';
8
8
  import * as i0 from "@angular/core";
@@ -10,12 +10,16 @@ import * as i1 from "../modal.service";
10
10
  import * as i2 from "../../backdrop/backdrop.service";
11
11
  import * as i3 from "@angular/cdk/a11y";
12
12
  export class ModalComponent {
13
+ #destroyRef;
14
+ #focusMonitor;
13
15
  constructor(document, renderer, hostElement, modalService, backdropService) {
14
16
  this.document = document;
15
17
  this.renderer = renderer;
16
18
  this.hostElement = hostElement;
17
19
  this.modalService = modalService;
18
20
  this.backdropService = backdropService;
21
+ this.#destroyRef = inject(DestroyRef);
22
+ this.#focusMonitor = inject(FocusMonitor);
19
23
  /**
20
24
  * Align the modal in the center or top of the screen.
21
25
  * @type {'top' | 'center'}
@@ -44,46 +48,72 @@ export class ModalComponent {
44
48
  * @default 'dialog'
45
49
  */
46
50
  this.role = 'dialog';
51
+ this.#ariaModal = null;
47
52
  /**
48
- * Set aria-modal html attr for modal. [docs]
53
+ * Create a scrollable modal that allows scrolling the modal body.
49
54
  * @type boolean
50
- * @default true
51
55
  */
52
- this.ariaModal = true;
53
- this._scrollable = false;
56
+ this.scrollable = false;
57
+ this.#visible = signal(false);
58
+ this.#activeElement = null;
59
+ this.#visibleEffect = effect(() => {
60
+ if (this.#visible() && this.#afterViewInit()) {
61
+ this.#activeElement = this.document.activeElement;
62
+ // this.#activeElement?.blur();
63
+ setTimeout(() => {
64
+ const focusable = this.modalContentRef.nativeElement.querySelectorAll('[tabindex]:not([tabindex="-1"]), button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled])');
65
+ this.#focusMonitor.focusVia(focusable[0], 'keyboard');
66
+ });
67
+ }
68
+ else {
69
+ if (this.document.contains(this.#activeElement)) {
70
+ setTimeout(() => {
71
+ this.#activeElement?.focus();
72
+ this.#activeElement = null;
73
+ });
74
+ }
75
+ }
76
+ });
54
77
  /**
55
78
  * Event triggered on modal dismiss.
56
79
  */
57
80
  this.visibleChange = new EventEmitter();
58
81
  this._show = true;
59
82
  this.mouseDownTarget = null;
83
+ this.#afterViewInit = signal(false);
60
84
  }
61
85
  /**
62
- * Create a scrollable modal that allows scrolling the modal body.
86
+ * Set aria-modal html attr for modal. [docs]
63
87
  * @type boolean
88
+ * @default null
64
89
  */
65
- set scrollable(value) {
66
- this._scrollable = coerceBooleanProperty(value);
90
+ set ariaModal(value) {
91
+ this.#ariaModal = value;
67
92
  }
68
- get scrollable() {
69
- return this._scrollable;
93
+ get ariaModal() {
94
+ return this.visible || this.#ariaModal ? true : null;
70
95
  }
96
+ ;
97
+ #ariaModal;
71
98
  /**
72
99
  * Toggle the visibility of modal component.
73
100
  * @type boolean
74
101
  */
75
102
  set visible(value) {
76
- const newValue = coerceBooleanProperty(value);
77
- if (this._visible !== newValue) {
78
- this._visible = newValue;
79
- this.setBackdrop(this.backdrop !== false && newValue);
80
- this.setBodyStyles(newValue);
81
- this.visibleChange.emit(newValue);
103
+ if (this.#visible() !== value) {
104
+ this.#visible.set(value);
105
+ this.setBackdrop(this.backdrop !== false && value);
106
+ this.setBodyStyles(value);
107
+ this.visibleChange.emit(value);
82
108
  }
83
109
  }
84
110
  get visible() {
85
- return this._visible;
111
+ return this.#visible();
86
112
  }
113
+ #visible;
114
+ #activeElement;
115
+ #visibleEffect;
116
+ #activeBackdrop;
87
117
  // private inBoundingClientRect!: boolean;
88
118
  get hostClasses() {
89
119
  return {
@@ -109,10 +139,8 @@ export class ModalComponent {
109
139
  this._show = value;
110
140
  }
111
141
  animateStart(event) {
112
- const scrollbarWidth = this.backdropService.scrollbarWidth;
113
142
  if (event.toState === 'visible') {
114
- this.renderer.setStyle(this.document.body, 'overflow', 'hidden');
115
- this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);
143
+ this.backdropService.hideScrollbar();
116
144
  this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'block');
117
145
  }
118
146
  else {
@@ -125,8 +153,6 @@ export class ModalComponent {
125
153
  setTimeout(() => {
126
154
  if (event.toState === 'hidden') {
127
155
  this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'none');
128
- this.renderer.removeStyle(this.document.body, 'overflow');
129
- this.renderer.removeStyle(this.document.body, 'padding-right');
130
156
  }
131
157
  });
132
158
  this.show = this.visible;
@@ -161,36 +187,32 @@ export class ModalComponent {
161
187
  ngOnInit() {
162
188
  this.stateToggleSubscribe();
163
189
  }
190
+ #afterViewInit;
191
+ ngAfterViewInit() {
192
+ this.#afterViewInit.set(true);
193
+ }
164
194
  ngOnDestroy() {
165
195
  this.modalService.toggle({ show: false, modal: this });
166
- this.stateToggleSubscribe(false);
196
+ this.#afterViewInit.set(false);
167
197
  }
168
- stateToggleSubscribe(subscribe = true) {
169
- if (subscribe) {
170
- this.stateToggleSubscription = this.modalService.modalState$.subscribe((action) => {
171
- if (this === action.modal || this.id === action.id) {
172
- if ('show' in action) {
173
- this.visible = action?.show === 'toggle' ? !this.visible : action.show;
174
- }
198
+ stateToggleSubscribe() {
199
+ this.modalService.modalState$
200
+ .pipe(takeUntilDestroyed(this.#destroyRef))
201
+ .subscribe((action) => {
202
+ if (this === action.modal || this.id === action.id) {
203
+ if ('show' in action) {
204
+ this.visible = action?.show === 'toggle' ? !this.visible : action.show;
175
205
  }
176
- else {
177
- if (this.visible) {
178
- this.visible = false;
179
- }
206
+ }
207
+ else {
208
+ if (this.visible) {
209
+ this.visible = false;
180
210
  }
181
- });
182
- }
183
- else {
184
- this.stateToggleSubscription?.unsubscribe();
185
- }
211
+ }
212
+ });
186
213
  }
187
214
  setBackdrop(setBackdrop) {
188
- if (setBackdrop) {
189
- this.activeBackdrop = this.backdropService.setBackdrop('modal');
190
- }
191
- else {
192
- this.activeBackdrop = this.backdropService.clearBackdrop(this.activeBackdrop);
193
- }
215
+ this.#activeBackdrop = setBackdrop ? this.backdropService.setBackdrop('modal') : this.backdropService.clearBackdrop(this.#activeBackdrop);
194
216
  }
195
217
  setBodyStyles(open) {
196
218
  if (open) {
@@ -212,8 +234,8 @@ export class ModalComponent {
212
234
  }, 300);
213
235
  }
214
236
  }
215
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ModalComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.ModalService }, { token: i2.BackdropService }], target: i0.ɵɵFactoryTarget.Component }); }
216
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: ModalComponent, isStandalone: true, selector: "c-modal", inputs: { alignment: "alignment", backdrop: "backdrop", fullscreen: "fullscreen", keyboard: "keyboard", id: "id", size: "size", transition: "transition", role: "role", ariaModal: "ariaModal", scrollable: "scrollable", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "@showHide.start": "animateStart($event)", "@showHide.done": "animateDone($event)", "document:keyup": "onKeyDownHandler($event)", "mousedown": "onMouseDownHandler($event)", "click": "onClickHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateTrigger" } }, viewQueries: [{ propertyName: "modalContent", first: true, predicate: ModalContentComponent, descendants: true, read: ElementRef }], exportAs: ["cModal"], ngImport: i0, template: "<c-modal-dialog\n [alignment]=\"alignment\"\n [fullscreen]=\"fullscreen\"\n [scrollable]=\"scrollable\"\n [size]=\"size\">\n <c-modal-content>\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\">\n <ng-content></ng-content>\n </div>\n </c-modal-content>\n</c-modal-dialog>\n", dependencies: [{ kind: "component", type: ModalDialogComponent, selector: "c-modal-dialog", inputs: ["alignment", "fullscreen", "scrollable", "size"] }, { kind: "component", type: ModalContentComponent, selector: "c-modal-content" }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
237
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModalComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.ModalService }, { token: i2.BackdropService }], target: i0.ɵɵFactoryTarget.Component }); }
238
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.6", type: ModalComponent, isStandalone: true, selector: "c-modal", inputs: { alignment: "alignment", backdrop: "backdrop", fullscreen: "fullscreen", keyboard: ["keyboard", "keyboard", booleanAttribute], id: "id", size: "size", transition: ["transition", "transition", booleanAttribute], role: "role", ariaModal: "ariaModal", scrollable: ["scrollable", "scrollable", booleanAttribute], visible: ["visible", "visible", booleanAttribute] }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "@showHide.start": "animateStart($event)", "@showHide.done": "animateDone($event)", "document:keyup": "onKeyDownHandler($event)", "mousedown": "onMouseDownHandler($event)", "click": "onClickHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateTrigger" } }, viewQueries: [{ propertyName: "modalContent", first: true, predicate: ModalContentComponent, descendants: true, read: ElementRef }, { propertyName: "modalContentRef", first: true, predicate: ["modalContentRef"], descendants: true, read: ElementRef }], exportAs: ["cModal"], ngImport: i0, template: "<c-modal-dialog\n [alignment]=\"alignment\"\n [fullscreen]=\"fullscreen\"\n [scrollable]=\"scrollable\"\n [size]=\"size\">\n <c-modal-content>\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\" #modalContentRef>\n <ng-content></ng-content>\n </div>\n </c-modal-content>\n</c-modal-dialog>\n", dependencies: [{ kind: "component", type: ModalDialogComponent, selector: "c-modal-dialog", inputs: ["alignment", "fullscreen", "scrollable", "size"] }, { kind: "component", type: ModalContentComponent, selector: "c-modal-content" }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
217
239
  trigger('showHide', [
218
240
  state('visible', style({
219
241
  // display: 'block'
@@ -221,11 +243,11 @@ export class ModalComponent {
221
243
  state('hidden', style({
222
244
  // display: 'none'
223
245
  })),
224
- transition('visible <=> *', [animate('300ms')])
246
+ transition('visible <=> *', [animate('150ms')])
225
247
  ])
226
248
  ] }); }
227
249
  }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ModalComponent, decorators: [{
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModalComponent, decorators: [{
229
251
  type: Component,
230
252
  args: [{ selector: 'c-modal', animations: [
231
253
  trigger('showHide', [
@@ -235,9 +257,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
235
257
  state('hidden', style({
236
258
  // display: 'none'
237
259
  })),
238
- transition('visible <=> *', [animate('300ms')])
260
+ transition('visible <=> *', [animate('150ms')])
239
261
  ])
240
- ], exportAs: 'cModal', standalone: true, imports: [ModalDialogComponent, ModalContentComponent, A11yModule], template: "<c-modal-dialog\n [alignment]=\"alignment\"\n [fullscreen]=\"fullscreen\"\n [scrollable]=\"scrollable\"\n [size]=\"size\">\n <c-modal-content>\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\">\n <ng-content></ng-content>\n </div>\n </c-modal-content>\n</c-modal-dialog>\n" }]
262
+ ], exportAs: 'cModal', standalone: true, imports: [ModalDialogComponent, ModalContentComponent, A11yModule], template: "<c-modal-dialog\n [alignment]=\"alignment\"\n [fullscreen]=\"fullscreen\"\n [scrollable]=\"scrollable\"\n [size]=\"size\">\n <c-modal-content>\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\" #modalContentRef>\n <ng-content></ng-content>\n </div>\n </c-modal-content>\n</c-modal-dialog>\n" }]
241
263
  }], ctorParameters: () => [{ type: Document, decorators: [{
242
264
  type: Inject,
243
265
  args: [DOCUMENT]
@@ -248,13 +270,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
248
270
  }], fullscreen: [{
249
271
  type: Input
250
272
  }], keyboard: [{
251
- type: Input
273
+ type: Input,
274
+ args: [{ transform: booleanAttribute }]
252
275
  }], id: [{
253
276
  type: Input
254
277
  }], size: [{
255
278
  type: Input
256
279
  }], transition: [{
257
- type: Input
280
+ type: Input,
281
+ args: [{ transform: booleanAttribute }]
258
282
  }], role: [{
259
283
  type: Input
260
284
  }, {
@@ -266,14 +290,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
266
290
  type: HostBinding,
267
291
  args: ['attr.aria-modal']
268
292
  }], scrollable: [{
269
- type: Input
293
+ type: Input,
294
+ args: [{ transform: booleanAttribute }]
270
295
  }], visible: [{
271
- type: Input
296
+ type: Input,
297
+ args: [{ transform: booleanAttribute }]
272
298
  }], visibleChange: [{
273
299
  type: Output
274
300
  }], modalContent: [{
275
301
  type: ViewChild,
276
302
  args: [ModalContentComponent, { read: ElementRef }]
303
+ }], modalContentRef: [{
304
+ type: ViewChild,
305
+ args: ['modalContentRef', { read: ElementRef }]
277
306
  }], hostClasses: [{
278
307
  type: HostBinding,
279
308
  args: ['class']
@@ -302,4 +331,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
302
331
  type: HostListener,
303
332
  args: ['click', ['$event']]
304
333
  }] } });
305
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBa0IsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakcsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUsvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7QUEwQjlFLE1BQU0sT0FBTyxjQUFjO0lBS3pCLFlBQzRCLFFBQWtCLEVBQ3BDLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLFlBQTBCLEVBQzFCLGVBQWdDO1FBSmQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYs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Z0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFhMUMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBY25DLGtCQUFrQjtzQkFEeEIsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTTlCLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uRXZlbnQsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi9tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhY2tkcm9wU2VydmljZSB9IGZyb20gJy4uLy4uL2JhY2tkcm9wL2JhY2tkcm9wLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsLWRpYWxvZy9tb2RhbC1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1tb2RhbCcsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzaG93SGlkZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICAndmlzaWJsZScsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAvLyBkaXNwbGF5OiAnYmxvY2snXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdoaWRkZW4nLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgLy8gZGlzcGxheTogJ25vbmUnXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbigndmlzaWJsZSA8PT4gKicsIFthbmltYXRlKCczMDBtcycpXSlcbiAgICBdKVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBleHBvcnRBczogJ2NNb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNb2RhbERpYWxvZ0NvbXBvbmVudCwgTW9kYWxDb250ZW50Q29tcG9uZW50LCBBMTF5TW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2Nyb2xsYWJsZTogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfdmlzaWJsZTogQm9vbGVhbklucHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZHJvcFNlcnZpY2U6IEJhY2tkcm9wU2VydmljZVxuICApIHsgfVxuXG4gIC8qKlxuICAgKiBBbGlnbiB0aGUgbW9kYWwgaW4gdGhlIGNlbnRlciBvciB0b3Agb2YgdGhlIHNjcmVlbi5cbiAgICogQHR5cGUgeyd0b3AnIHwgJ2NlbnRlcid9XG4gICAqIEBkZWZhdWx0ICd0b3AnXG4gICAqL1xuICBASW5wdXQoKSBhbGlnbm1lbnQ/OiAndG9wJyB8ICdjZW50ZXInID0gJ3RvcCc7XG4gIC8qKlxuICAgKiBBcHBseSBhIGJhY2tkcm9wIG9uIGJvZHkgd2hpbGUgbW9kYWwgaXMgb3Blbi5cbiAgICogQHR5cGUgYm9vbGVhbiB8ICdzdGF0aWMnXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpIGJhY2tkcm9wOiBib29sZWFuIHwgJ3N0YXRpYycgPSB0cnVlO1xuICAvKipcbiAgICogU2V0IG1vZGFsIHRvIGNvdmVyIHRoZSBlbnRpcmUgdXNlciB2aWV3cG9ydC5cbiAgICogQHR5cGUge2Jvb2xlYW4gfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCd9XG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KCkgZnVsbHNjcmVlbj86IGJvb2xlYW4gfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCc7XG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG1vZGFsIHdoZW4gZXNjYXBlIGtleSBpcyBwcmVzc2VkLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpIGtleWJvYXJkID0gdHJ1ZTtcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTaXplIHRoZSBjb21wb25lbnQgc21hbGwsIGxhcmdlLCBvciBleHRyYSBsYXJnZS5cbiAgICovXG4gIEBJbnB1dCgpIHNpemU/OiAnc20nIHwgJ2xnJyB8ICd4bCc7XG4gIC8qKlxuICAgKiBSZW1vdmUgYW5pbWF0aW9uIHRvIGNyZWF0ZSBtb2RhbCB0aGF0IHNpbXBseSBhcHBlYXIgcmF0aGVyIHRoYW4gZmFkZSBpbiB0byB2aWV3LlxuICAgKi9cbiAgQElucHV0KCkgdHJhbnNpdGlvbiA9IHRydWU7XG4gIC8qKlxuICAgKiBEZWZhdWx0IHJvbGUgZm9yIG1vZGFsLiBbZG9jc11cbiAgICogQHR5cGUgc3RyaW5nXG4gICAqIEBkZWZhdWx0ICdkaWFsb2cnXG4gICAqL1xuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnZGlhbG9nJztcbiAgLyoqXG4gICAqIFNldCBhcmlhLW1vZGFsIGh0bWwgYXR0ciBmb3IgbW9kYWwuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLW1vZGFsJykgYXJpYU1vZGFsID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgc2Nyb2xsYWJsZSBtb2RhbCB0aGF0IGFsbG93cyBzY3JvbGxpbmcgdGhlIG1vZGFsIGJvZHkuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzY3JvbGxhYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2Nyb2xsYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgc2Nyb2xsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsYWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgX3Njcm9sbGFibGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogVG9nZ2xlIHRoZSB2aXNpYmlsaXR5IG9mIG1vZGFsIGNvbXBvbmVudC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgaWYgKHRoaXMuX3Zpc2libGUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICB0aGlzLl92aXNpYmxlID0gbmV3VmFsdWU7XG4gICAgICB0aGlzLnNldEJhY2tkcm9wKHRoaXMuYmFja2Ryb3AgIT09IGZhbHNlICYmIG5ld1ZhbHVlKTtcbiAgICAgIHRoaXMuc2V0Qm9keVN0eWxlcyhuZXdWYWx1ZSk7XG4gICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBwcml2YXRlIF92aXNpYmxlITogYm9vbGVhbjtcblxuICAvKipcbiAgICogRXZlbnQgdHJpZ2dlcmVkIG9uIG1vZGFsIGRpc21pc3MuXG4gICAqL1xuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAVmlld0NoaWxkKE1vZGFsQ29udGVudENvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pIG1vZGFsQ29udGVudCE6IEVsZW1lbnRSZWY7XG4gIHByaXZhdGUgYWN0aXZlQmFja2Ryb3AhOiBhbnk7XG4gIHByaXZhdGUgc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgLy8gcHJpdmF0ZSBpbkJvdW5kaW5nQ2xpZW50UmVjdCE6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBtb2RhbDogdHJ1ZSxcbiAgICAgIGZhZGU6IHRoaXMudHJhbnNpdGlvbixcbiAgICAgIHNob3c6IHRoaXMuc2hvd1xuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICBnZXQgYXJpYUhpZGRlbigpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/IG51bGwgOiB0cnVlO1xuICB9O1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIGdldCB0YWJJbmRleCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gJy0xJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnQHNob3dIaWRlJylcbiAgZ2V0IGFuaW1hdGVUcmlnZ2VyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nO1xuICB9XG5cbiAgZ2V0IHNob3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSAmJiB0aGlzLl9zaG93O1xuICB9XG5cbiAgc2V0IHNob3codmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93ID0gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIF9zaG93ID0gdHJ1ZTtcblxuICBASG9zdExpc3RlbmVyKCdAc2hvd0hpZGUuc3RhcnQnLCBbJyRldmVudCddKVxuICBhbmltYXRlU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgY29uc3Qgc2Nyb2xsYmFyV2lkdGggPSB0aGlzLmJhY2tkcm9wU2VydmljZS5zY3JvbGxiYXJXaWR0aDtcbiAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdwYWRkaW5nLXJpZ2h0Jywgc2Nyb2xsYmFyV2lkdGgpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy50cmFuc2l0aW9uKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdub25lJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignQHNob3dIaWRlLmRvbmUnLCBbJyRldmVudCddKVxuICBhbmltYXRlRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmIChldmVudC50b1N0YXRlID09PSAnaGlkZGVuJykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAncGFkZGluZy1yaWdodCcpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc2hvdyA9IHRoaXMudmlzaWJsZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleXVwJywgWyckZXZlbnQnXSlcbiAgb25LZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnICYmIHRoaXMua2V5Ym9hcmQgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICBpZiAodGhpcy5iYWNrZHJvcCA9PT0gJ3N0YXRpYycpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0aWNCYWNrZHJvcCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIG1vZGFsOiB0aGlzIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbW91c2VEb3duVGFyZ2V0OiBFdmVudFRhcmdldCB8IG51bGwgPSBudWxsO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbk1vdXNlRG93bkhhbmRsZXIoJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5tb3VzZURvd25UYXJnZXQgPSAkZXZlbnQudGFyZ2V0O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25DbGlja0hhbmRsZXIoJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG5cbiAgICBpZiAodGhpcy5tb3VzZURvd25UYXJnZXQgIT09ICRldmVudC50YXJnZXQpIHtcbiAgICAgIHRoaXMubW91c2VEb3duVGFyZ2V0ID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gJGV2ZW50LnRhcmdldDtcbiAgICBpZiAodGFyZ2V0RWxlbWVudCA9PT0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XG5cbiAgICAgIGlmICh0aGlzLmJhY2tkcm9wID09PSAnc3RhdGljJykge1xuICAgICAgICB0aGlzLnNldFN0YXRpY0JhY2tkcm9wKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5tb2RhbFNlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIG1vZGFsOiB0aGlzIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLnRvZ2dsZSh7IHNob3c6IGZhbHNlLCBtb2RhbDogdGhpcyB9KTtcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGVUb2dnbGVTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24gPSB0aGlzLm1vZGFsU2VydmljZS5tb2RhbFN0YXRlJC5zdWJzY3JpYmUoXG4gICAgICAgIChhY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAodGhpcyA9PT0gYWN0aW9uLm1vZGFsIHx8IHRoaXMuaWQgPT09IGFjdGlvbi5pZCkge1xuICAgICAgICAgICAgaWYgKCdzaG93JyBpbiBhY3Rpb24pIHtcbiAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gYWN0aW9uPy5zaG93ID09PSAndG9nZ2xlJyA/ICF0aGlzLnZpc2libGUgOiBhY3Rpb24uc2hvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRCYWNrZHJvcChzZXRCYWNrZHJvcDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChzZXRCYWNrZHJvcCkge1xuICAgICAgdGhpcy5hY3RpdmVCYWNrZHJvcCA9IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLnNldEJhY2tkcm9wKCdtb2RhbCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjdGl2ZUJhY2tkcm9wID0gdGhpcy5iYWNrZHJvcFNlcnZpY2UuY2xlYXJCYWNrZHJvcCh0aGlzLmFjdGl2ZUJhY2tkcm9wKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEJvZHlTdHlsZXMob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChvcGVuKSB7XG4gICAgICBpZiAodGhpcy5iYWNrZHJvcCA9PT0gdHJ1ZSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ21vZGFsLW9wZW4nKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdtb2RhbC1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdGF0aWNCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmFuc2l0aW9uKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ21vZGFsLXN0YXRpYycpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdvdmVyZmxvdy15JywgJ2hpZGRlbicpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnbW9kYWwtc3RhdGljJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnb3ZlcmZsb3cteScpO1xuICAgICAgfSwgMzAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjLW1vZGFsLWRpYWxvZ1xuICBbYWxpZ25tZW50XT1cImFsaWdubWVudFwiXG4gIFtmdWxsc2NyZWVuXT1cImZ1bGxzY3JlZW5cIlxuICBbc2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlXCJcbiAgW3NpemVdPVwic2l6ZVwiPlxuICA8Yy1tb2RhbC1jb250ZW50PlxuICAgIDxkaXYgW2Nka1RyYXBGb2N1c109XCJ2aXNpYmxlXCIgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cInZpc2libGVcIiBzdHlsZT1cImRpc3BsYXk6IGNvbnRlbnRzO1wiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2MtbW9kYWwtY29udGVudD5cbjwvYy1tb2RhbC1kaWFsb2c+XG4iXX0=
334
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWtCLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQTBCOUUsTUFBTSxPQUFPLGNBQWM7SUFFekIsV0FBVyxDQUFzQjtJQUNqQyxhQUFhLENBQXdCO0lBRXJDLFlBQzRCLFFBQWtCLEVBQ3BDLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLFlBQTBCLEVBQzFCLGVBQWdDO1FBSmQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtR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QkFhM0MsV0FBVztzQkFEVixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVcxQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFjbkMsa0JBQWtCO3NCQUR4QixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNOUIsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBBbmltYXRpb25FdmVudCwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDb21wb25lbnQsXG4gIERlc3Ryb3lSZWYsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFdyaXRhYmxlU2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQTExeU1vZHVsZSwgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi9tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhY2tkcm9wU2VydmljZSB9IGZyb20gJy4uLy4uL2JhY2tkcm9wL2JhY2tkcm9wLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsLWRpYWxvZy9tb2RhbC1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1tb2RhbCcsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzaG93SGlkZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICAndmlzaWJsZScsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAvLyBkaXNwbGF5OiAnYmxvY2snXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdoaWRkZW4nLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgLy8gZGlzcGxheTogJ25vbmUnXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbigndmlzaWJsZSA8PT4gKicsIFthbmltYXRlKCcxNTBtcycpXSlcbiAgICBdKVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBleHBvcnRBczogJ2NNb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNb2RhbERpYWxvZ0NvbXBvbmVudCwgTW9kYWxDb250ZW50Q29tcG9uZW50LCBBMTF5TW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcblxuICAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgI2ZvY3VzTW9uaXRvciA9IGluamVjdChGb2N1c01vbml0b3IpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZHJvcFNlcnZpY2U6IEJhY2tkcm9wU2VydmljZVxuICApIHsgfVxuXG4gIC8qKlxuICAgKiBBbGlnbiB0aGUgbW9kYWwgaW4gdGhlIGNlbnRlciBvciB0b3Agb2YgdGhlIHNjcmVlbi5cbiAgICogQHR5cGUgeyd0b3AnIHwgJ2NlbnRlcid9XG4gICAqIEBkZWZhdWx0ICd0b3AnXG4gICAqL1xuICBASW5wdXQoKSBhbGlnbm1lbnQ/OiAndG9wJyB8ICdjZW50ZXInID0gJ3RvcCc7XG4gIC8qKlxuICAgKiBBcHBseSBhIGJhY2tkcm9wIG9uIGJvZHkgd2hpbGUgbW9kYWwgaXMgb3Blbi5cbiAgICogQHR5cGUgYm9vbGVhbiB8ICdzdGF0aWMnXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpIGJhY2tkcm9wOiBib29sZWFuIHwgJ3N0YXRpYycgPSB0cnVlO1xuICAvKipcbiAgICogU2V0IG1vZGFsIHRvIGNvdmVyIHRoZSBlbnRpcmUgdXNlciB2aWV3cG9ydC5cbiAgICogQHR5cGUge2Jvb2xlYW4gfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCd9XG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KCkgZnVsbHNjcmVlbj86IGJvb2xlYW4gfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCc7XG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG1vZGFsIHdoZW4gZXNjYXBlIGtleSBpcyBwcmVzc2VkLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBrZXlib2FyZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogU2l6ZSB0aGUgY29tcG9uZW50IHNtYWxsLCBsYXJnZSwgb3IgZXh0cmEgbGFyZ2UuXG4gICAqL1xuICBASW5wdXQoKSBzaXplPzogJ3NtJyB8ICdsZycgfCAneGwnO1xuICAvKipcbiAgICogUmVtb3ZlIGFuaW1hdGlvbiB0byBjcmVhdGUgbW9kYWwgdGhhdCBzaW1wbHkgYXBwZWFyIHJhdGhlciB0aGFuIGZhZGUgaW4gdG8gdmlldy5cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0cmFuc2l0aW9uID0gdHJ1ZTtcbiAgLyoqXG4gICAqIERlZmF1bHQgcm9sZSBmb3IgbW9kYWwuIFtkb2NzXVxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgJ2RpYWxvZydcbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZTogc3RyaW5nID0gJ2RpYWxvZyc7XG4gIC8qKlxuICAgKiBTZXQgYXJpYS1tb2RhbCBodG1sIGF0dHIgZm9yIG1vZGFsLiBbZG9jc11cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1tb2RhbCcpXG4gIHNldCBhcmlhTW9kYWwodmFsdWU6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgdGhpcy4jYXJpYU1vZGFsID0gdmFsdWU7XG4gIH1cblxuICBnZXQgYXJpYU1vZGFsKCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlIHx8IHRoaXMuI2FyaWFNb2RhbCA/IHRydWUgOiBudWxsO1xuICB9O1xuXG4gICNhcmlhTW9kYWw6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgc2Nyb2xsYWJsZSBtb2RhbCB0aGF0IGFsbG93cyBzY3JvbGxpbmcgdGhlIG1vZGFsIGJvZHkuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzY3JvbGxhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiBtb2RhbCBjb21wb25lbnQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLiN2aXNpYmxlKCkgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLiN2aXNpYmxlLnNldCh2YWx1ZSk7XG4gICAgICB0aGlzLnNldEJhY2tkcm9wKHRoaXMuYmFja2Ryb3AgIT09IGZhbHNlICYmIHZhbHVlKTtcbiAgICAgIHRoaXMuc2V0Qm9keVN0eWxlcyh2YWx1ZSk7XG4gICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3Zpc2libGUoKTtcbiAgfVxuXG4gICN2aXNpYmxlOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgI2FjdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgI3Zpc2libGVFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aGlzLiN2aXNpYmxlKCkgJiYgdGhpcy4jYWZ0ZXJWaWV3SW5pdCgpKSB7XG4gICAgICB0aGlzLiNhY3RpdmVFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgLy8gdGhpcy4jYWN0aXZlRWxlbWVudD8uYmx1cigpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZSA9IHRoaXMubW9kYWxDb250ZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pLCBidXR0b246bm90KFtkaXNhYmxlZF0pLCBbaHJlZl0sIGlucHV0Om5vdChbZGlzYWJsZWRdKSwgc2VsZWN0Om5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pJyk7XG4gICAgICAgIHRoaXMuI2ZvY3VzTW9uaXRvci5mb2N1c1ZpYShmb2N1c2FibGVbMF0sICdrZXlib2FyZCcpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmRvY3VtZW50LmNvbnRhaW5zKHRoaXMuI2FjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI2FjdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICAgICAgdGhpcy4jYWN0aXZlRWxlbWVudCA9IG51bGw7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IHRyaWdnZXJlZCBvbiBtb2RhbCBkaXNtaXNzLlxuICAgKi9cbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZChNb2RhbENvbnRlbnRDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBtb2RhbENvbnRlbnQhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnRSZWYnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbW9kYWxDb250ZW50UmVmITogRWxlbWVudFJlZjtcblxuICAjYWN0aXZlQmFja2Ryb3AhOiBhbnk7XG5cbiAgLy8gcHJpdmF0ZSBpbkJvdW5kaW5nQ2xpZW50UmVjdCE6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBtb2RhbDogdHJ1ZSxcbiAgICAgIGZhZGU6IHRoaXMudHJhbnNpdGlvbixcbiAgICAgIHNob3c6IHRoaXMuc2hvd1xuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICBnZXQgYXJpYUhpZGRlbigpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/IG51bGwgOiB0cnVlO1xuICB9O1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIGdldCB0YWJJbmRleCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gJy0xJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnQHNob3dIaWRlJylcbiAgZ2V0IGFuaW1hdGVUcmlnZ2VyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nO1xuICB9XG5cbiAgZ2V0IHNob3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSAmJiB0aGlzLl9zaG93O1xuICB9XG5cbiAgc2V0IHNob3codmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93ID0gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIF9zaG93ID0gdHJ1ZTtcblxuICBASG9zdExpc3RlbmVyKCdAc2hvd0hpZGUuc3RhcnQnLCBbJyRldmVudCddKVxuICBhbmltYXRlU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgdGhpcy5iYWNrZHJvcFNlcnZpY2UuaGlkZVNjcm9sbGJhcigpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy50cmFuc2l0aW9uKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdub25lJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignQHNob3dIaWRlLmRvbmUnLCBbJyRldmVudCddKVxuICBhbmltYXRlRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmIChldmVudC50b1N0YXRlID09PSAnaGlkZGVuJykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc2hvdyA9IHRoaXMudmlzaWJsZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleXVwJywgWyckZXZlbnQnXSlcbiAgb25LZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnICYmIHRoaXMua2V5Ym9hcmQgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICBpZiAodGhpcy5iYWNrZHJvcCA9PT0gJ3N0YXRpYycpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0aWNCYWNrZHJvcCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIG1vZGFsOiB0aGlzIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbW91c2VEb3duVGFyZ2V0OiBFdmVudFRhcmdldCB8IG51bGwgPSBudWxsO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbk1vdXNlRG93bkhhbmRsZXIoJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5tb3VzZURvd25UYXJnZXQgPSAkZXZlbnQudGFyZ2V0O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25DbGlja0hhbmRsZXIoJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG5cbiAgICBpZiAodGhpcy5tb3VzZURvd25UYXJnZXQgIT09ICRldmVudC50YXJnZXQpIHtcbiAgICAgIHRoaXMubW91c2VEb3duVGFyZ2V0ID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gJGV2ZW50LnRhcmdldDtcbiAgICBpZiAodGFyZ2V0RWxlbWVudCA9PT0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XG5cbiAgICAgIGlmICh0aGlzLmJhY2tkcm9wID09PSAnc3RhdGljJykge1xuICAgICAgICB0aGlzLnNldFN0YXRpY0JhY2tkcm9wKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5tb2RhbFNlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIG1vZGFsOiB0aGlzIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpYmUoKTtcbiAgfVxuXG4gICNhZnRlclZpZXdJbml0ID0gc2lnbmFsKGZhbHNlKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jYWZ0ZXJWaWV3SW5pdC5zZXQodHJ1ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsU2VydmljZS50b2dnbGUoeyBzaG93OiBmYWxzZSwgbW9kYWw6IHRoaXMgfSk7XG4gICAgdGhpcy4jYWZ0ZXJWaWV3SW5pdC5zZXQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0ZVRvZ2dsZVN1YnNjcmliZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5tb2RhbFN0YXRlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKGFjdGlvbikgPT4ge1xuICAgICAgICAgIGlmICh0aGlzID09PSBhY3Rpb24ubW9kYWwgfHwgdGhpcy5pZCA9PT0gYWN0aW9uLmlkKSB7XG4gICAgICAgICAgICBpZiAoJ3Nob3cnIGluIGFjdGlvbikge1xuICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSBhY3Rpb24/LnNob3cgPT09ICd0b2dnbGUnID8gIXRoaXMudmlzaWJsZSA6IGFjdGlvbi5zaG93O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QmFja2Ryb3Aoc2V0QmFja2Ryb3A6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLiNhY3RpdmVCYWNrZHJvcCA9IHNldEJhY2tkcm9wID8gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2V0QmFja2Ryb3AoJ21vZGFsJykgOiB0aGlzLmJhY2tkcm9wU2VydmljZS5jbGVhckJhY2tkcm9wKHRoaXMuI2FjdGl2ZUJhY2tkcm9wKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Qm9keVN0eWxlcyhvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKG9wZW4pIHtcbiAgICAgIGlmICh0aGlzLmJhY2tkcm9wID09PSB0cnVlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCAnbW9kYWwtb3BlbicpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ21vZGFsLW9wZW4nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFN0YXRpY0JhY2tkcm9wKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyYW5zaXRpb24pIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnbW9kYWwtc3RhdGljJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ292ZXJmbG93LXknLCAnaGlkZGVuJyk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdtb2RhbC1zdGF0aWMnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdvdmVyZmxvdy15Jyk7XG4gICAgICB9LCAzMDApO1xuICAgIH1cbiAgfVxufVxuIiwiPGMtbW9kYWwtZGlhbG9nXG4gIFthbGlnbm1lbnRdPVwiYWxpZ25tZW50XCJcbiAgW2Z1bGxzY3JlZW5dPVwiZnVsbHNjcmVlblwiXG4gIFtzY3JvbGxhYmxlXT1cInNjcm9sbGFibGVcIlxuICBbc2l6ZV09XCJzaXplXCI+XG4gIDxjLW1vZGFsLWNvbnRlbnQ+XG4gICAgPGRpdiBbY2RrVHJhcEZvY3VzXT1cInZpc2libGVcIiBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwidmlzaWJsZVwiIHN0eWxlPVwiZGlzcGxheTogY29udGVudHM7XCIgI21vZGFsQ29udGVudFJlZj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9jLW1vZGFsLWNvbnRlbnQ+XG48L2MtbW9kYWwtZGlhbG9nPlxuIl19
@@ -6,10 +6,10 @@ export class ModalBodyComponent {
6
6
  'modal-body': true,
7
7
  };
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ModalBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: ModalBodyComponent, isStandalone: true, selector: "c-modal-body", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModalBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ModalBodyComponent, isStandalone: true, selector: "c-modal-body", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ModalBodyComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModalBodyComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'c-modal-body', template: '<ng-content></ng-content>', standalone: true, styles: [":host{display:block}\n"] }]
15
15
  }], propDecorators: { hostClasses: [{
@@ -6,10 +6,10 @@ export class ModalContentComponent {
6
6
  'modal-content': true
7
7
  };
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: ModalContentComponent, isStandalone: true, selector: "c-modal-content", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ModalContentComponent, isStandalone: true, selector: "c-modal-content", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ModalContentComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModalContentComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{
15
15
  selector: 'c-modal-content',
@@ -11,10 +11,10 @@ export class ModalDialogComponent {
11
11
  [`modal-${this.size}`]: this.size
12
12
  };
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ModalDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: ModalDialogComponent, isStandalone: true, selector: "c-modal-dialog", inputs: { alignment: "alignment", fullscreen: "fullscreen", scrollable: "scrollable", size: "size" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}:host.modal-dialog-centered{display:flex}\n"] }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModalDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ModalDialogComponent, isStandalone: true, selector: "c-modal-dialog", inputs: { alignment: "alignment", fullscreen: "fullscreen", scrollable: "scrollable", size: "size" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}:host.modal-dialog-centered{display:flex}\n"] }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ModalDialogComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModalDialogComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'c-modal-dialog', template: '<ng-content></ng-content>', standalone: true, styles: [":host{display:block}:host.modal-dialog-centered{display:flex}\n"] }]
20
20
  }], propDecorators: { alignment: [{
@@ -9,10 +9,10 @@ export class ModalToggleDirective {
9
9
  $event.preventDefault();
10
10
  this.modalService.toggle({ show: 'toggle', id: this.id });
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ModalToggleDirective, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Directive }); }
13
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.5", type: ModalToggleDirective, isStandalone: true, selector: "[cModalToggle]", inputs: { id: ["cModalToggle", "id"] }, host: { listeners: { "click": "dismiss($event)" } }, ngImport: i0 }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModalToggleDirective, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Directive }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: ModalToggleDirective, isStandalone: true, selector: "[cModalToggle]", inputs: { id: ["cModalToggle", "id"] }, host: { listeners: { "click": "dismiss($event)" } }, ngImport: i0 }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ModalToggleDirective, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModalToggleDirective, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
18
18
  selector: '[cModalToggle]',
@@ -6,10 +6,10 @@ export class ModalFooterComponent {
6
6
  'modal-footer': true,
7
7
  };
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: ModalFooterComponent, isStandalone: true, selector: "c-modal-footer", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ModalFooterComponent, isStandalone: true, selector: "c-modal-footer", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: ModalFooterComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModalFooterComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{
15
15
  selector: 'c-modal-footer',