@coreui/angular-pro 4.7.3 → 5.0.0-alpha.2

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 (301) 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 +3 -3
  13. package/esm2022/lib/badge/badge.component.mjs +10 -6
  14. package/esm2022/lib/badge/badge.module.mjs +4 -4
  15. package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +3 -3
  16. package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
  17. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +3 -3
  18. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +9 -9
  19. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +4 -4
  20. package/esm2022/lib/button/button-close.directive.mjs +11 -5
  21. package/esm2022/lib/button/button.directive.mjs +3 -3
  22. package/esm2022/lib/button/button.module.mjs +4 -4
  23. package/esm2022/lib/button-group/button-group/button-group.component.mjs +3 -3
  24. package/esm2022/lib/button-group/button-group.module.mjs +4 -4
  25. package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +3 -3
  26. package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +3 -3
  27. package/esm2022/lib/calendar/calendar/calendar.component.mjs +150 -71
  28. package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +5 -4
  29. package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +5 -5
  30. package/esm2022/lib/calendar/calendar-month/calendar-class-row.pipe.mjs +26 -0
  31. package/esm2022/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +3 -3
  32. package/esm2022/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +3 -3
  33. package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +102 -59
  34. package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +3 -3
  35. package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +255 -92
  36. package/esm2022/lib/calendar/calendar-month/calendar-row.directive.mjs +117 -0
  37. package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +3 -3
  38. package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +28 -24
  39. package/esm2022/lib/calendar/calendar.module.mjs +10 -7
  40. package/esm2022/lib/calendar/calendar.service.mjs +8 -5
  41. package/esm2022/lib/calendar/calendar.utils.mjs +100 -17
  42. package/esm2022/lib/callout/callout.component.mjs +3 -3
  43. package/esm2022/lib/callout/callout.module.mjs +4 -4
  44. package/esm2022/lib/card/card-body.component.mjs +3 -3
  45. package/esm2022/lib/card/card-footer.component.mjs +3 -3
  46. package/esm2022/lib/card/card-group.component.mjs +3 -3
  47. package/esm2022/lib/card/card-header-actions.component.mjs +3 -3
  48. package/esm2022/lib/card/card-header.component.mjs +3 -3
  49. package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +3 -3
  50. package/esm2022/lib/card/card-img.directive.mjs +3 -3
  51. package/esm2022/lib/card/card-link.directive.mjs +3 -3
  52. package/esm2022/lib/card/card-subtitle.directive.mjs +3 -3
  53. package/esm2022/lib/card/card-text.directive.mjs +3 -3
  54. package/esm2022/lib/card/card-title.directive.mjs +3 -3
  55. package/esm2022/lib/card/card.component.mjs +12 -8
  56. package/esm2022/lib/card/card.module.mjs +4 -4
  57. package/esm2022/lib/carousel/carousel/carousel.component.mjs +37 -36
  58. package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +3 -3
  59. package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +3 -3
  60. package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +3 -3
  61. package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +3 -3
  62. package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +3 -3
  63. package/esm2022/lib/carousel/carousel-state.mjs +3 -3
  64. package/esm2022/lib/carousel/carousel.config.mjs +3 -3
  65. package/esm2022/lib/carousel/carousel.module.mjs +4 -4
  66. package/esm2022/lib/carousel/carousel.service.mjs +3 -3
  67. package/esm2022/lib/collapse/collapse.directive.mjs +3 -3
  68. package/esm2022/lib/collapse/collapse.module.mjs +4 -4
  69. package/esm2022/lib/coreui.types.mjs +1 -1
  70. package/esm2022/lib/date-picker/date-picker.component.mjs +8 -12
  71. package/esm2022/lib/date-picker/date-picker.module.mjs +4 -4
  72. package/esm2022/lib/date-range-picker/date-range-picker/custom-range-key.pipe.mjs +3 -3
  73. package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +168 -163
  74. package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +4 -4
  75. package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +10 -23
  76. package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +3 -3
  77. package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +3 -3
  78. package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +3 -3
  79. package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +3 -3
  80. package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +13 -5
  81. package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +77 -41
  82. package/esm2022/lib/dropdown/dropdown.module.mjs +4 -4
  83. package/esm2022/lib/dropdown/dropdown.service.mjs +5 -5
  84. package/esm2022/lib/element-cover/element-cover.component.mjs +3 -3
  85. package/esm2022/lib/element-cover/element-cover.module.mjs +4 -4
  86. package/esm2022/lib/footer/footer.component.mjs +3 -3
  87. package/esm2022/lib/footer/footer.module.mjs +4 -4
  88. package/esm2022/lib/form/form/form.directive.mjs +3 -3
  89. package/esm2022/lib/form/form-check/form-check-input.directive.mjs +3 -3
  90. package/esm2022/lib/form/form-check/form-check-label.directive.mjs +3 -3
  91. package/esm2022/lib/form/form-check/form-check.component.mjs +3 -3
  92. package/esm2022/lib/form/form-control/form-control.directive.mjs +3 -3
  93. package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +3 -3
  94. package/esm2022/lib/form/form-floating/form-floating.directive.mjs +3 -3
  95. package/esm2022/lib/form/form-label/form-label.directive.mjs +3 -3
  96. package/esm2022/lib/form/form-select/form-select.directive.mjs +3 -3
  97. package/esm2022/lib/form/form-text/form-text.directive.mjs +3 -3
  98. package/esm2022/lib/form/form.module.mjs +4 -4
  99. package/esm2022/lib/form/input-group/input-group.component.mjs +3 -3
  100. package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +3 -3
  101. package/esm2022/lib/grid/col.component.mjs +3 -3
  102. package/esm2022/lib/grid/col.directive.mjs +3 -3
  103. package/esm2022/lib/grid/container.component.mjs +3 -3
  104. package/esm2022/lib/grid/grid.module.mjs +4 -4
  105. package/esm2022/lib/grid/gutter.directive.mjs +3 -3
  106. package/esm2022/lib/grid/row.component.mjs +3 -3
  107. package/esm2022/lib/grid/row.directive.mjs +3 -3
  108. package/esm2022/lib/header/header/header.component.mjs +3 -3
  109. package/esm2022/lib/header/header-brand/header-brand.component.mjs +3 -3
  110. package/esm2022/lib/header/header-divider/header-divider.component.mjs +3 -3
  111. package/esm2022/lib/header/header-nav/header-nav.component.mjs +3 -3
  112. package/esm2022/lib/header/header-text/header-text.component.mjs +3 -3
  113. package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +3 -3
  114. package/esm2022/lib/header/header.module.mjs +4 -4
  115. package/esm2022/lib/image/img.directive.mjs +3 -3
  116. package/esm2022/lib/image/img.module.mjs +4 -4
  117. package/esm2022/lib/list-group/list-group-item.directive.mjs +3 -3
  118. package/esm2022/lib/list-group/list-group.directive.mjs +3 -3
  119. package/esm2022/lib/list-group/list-group.module.mjs +4 -4
  120. package/esm2022/lib/loading-button/loading-button.component.mjs +3 -3
  121. package/esm2022/lib/loading-button/loading-button.module.mjs +4 -4
  122. package/esm2022/lib/modal/modal/modal.component.mjs +4 -4
  123. package/esm2022/lib/modal/modal-body/modal-body.component.mjs +3 -3
  124. package/esm2022/lib/modal/modal-content/modal-content.component.mjs +3 -3
  125. package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +3 -3
  126. package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +3 -3
  127. package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +3 -3
  128. package/esm2022/lib/modal/modal-header/modal-header.component.mjs +3 -3
  129. package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +3 -3
  130. package/esm2022/lib/modal/modal.module.mjs +4 -4
  131. package/esm2022/lib/modal/modal.service.mjs +3 -3
  132. package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +3 -3
  133. package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +111 -85
  134. package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +3 -3
  135. package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +3 -3
  136. package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +3 -3
  137. package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +3 -3
  138. package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +5 -5
  139. package/esm2022/lib/multi-select/multi-select.module.mjs +4 -4
  140. package/esm2022/lib/multi-select/multi-select.service.mjs +3 -3
  141. package/esm2022/lib/multi-select/multi-select.type.mjs +1 -1
  142. package/esm2022/lib/nav/nav-item.component.mjs +3 -3
  143. package/esm2022/lib/nav/nav-link.directive.mjs +3 -3
  144. package/esm2022/lib/nav/nav.component.mjs +5 -5
  145. package/esm2022/lib/nav/nav.module.mjs +4 -4
  146. package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +3 -3
  147. package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
  148. package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +3 -3
  149. package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +3 -3
  150. package/esm2022/lib/navbar/navbar.component.mjs +9 -13
  151. package/esm2022/lib/navbar/navbar.module.mjs +4 -4
  152. package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +10 -6
  153. package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +3 -3
  154. package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +3 -3
  155. package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +3 -3
  156. package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +3 -3
  157. package/esm2022/lib/offcanvas/offcanvas.module.mjs +4 -4
  158. package/esm2022/lib/offcanvas/offcanvas.service.mjs +3 -3
  159. package/esm2022/lib/pagination/page-item/page-item.component.mjs +3 -3
  160. package/esm2022/lib/pagination/page-item/page-item.directive.mjs +3 -3
  161. package/esm2022/lib/pagination/page-link/page-link.directive.mjs +3 -3
  162. package/esm2022/lib/pagination/pagination/pagination.component.mjs +3 -3
  163. package/esm2022/lib/pagination/pagination.module.mjs +4 -4
  164. package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +3 -3
  165. package/esm2022/lib/placeholder/placeholder.directive.mjs +3 -3
  166. package/esm2022/lib/placeholder/placeholder.module.mjs +4 -4
  167. package/esm2022/lib/popover/popover/popover.component.mjs +3 -3
  168. package/esm2022/lib/popover/popover.directive.mjs +5 -5
  169. package/esm2022/lib/popover/popover.module.mjs +4 -4
  170. package/esm2022/lib/progress/progress-bar.component.mjs +3 -3
  171. package/esm2022/lib/progress/progress.component.mjs +3 -3
  172. package/esm2022/lib/progress/progress.module.mjs +4 -4
  173. package/esm2022/lib/services/class-toggle.service.mjs +3 -3
  174. package/esm2022/lib/services/intersection.service.mjs +3 -3
  175. package/esm2022/lib/services/listeners.service.mjs +3 -3
  176. package/esm2022/lib/shared/html-attr.directive.mjs +3 -3
  177. package/esm2022/lib/shared/public_api.mjs +2 -1
  178. package/esm2022/lib/shared/shared.module.mjs +8 -15
  179. package/esm2022/lib/shared/template-id.directive.mjs +3 -3
  180. package/esm2022/lib/shared/theme.directive.mjs +44 -0
  181. package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +6 -5
  182. package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +3 -3
  183. package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +3 -3
  184. package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
  185. package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  186. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +3 -3
  187. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +3 -3
  188. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +3 -3
  189. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +3 -3
  190. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +3 -3
  191. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +3 -3
  192. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +8 -8
  193. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +3 -3
  194. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +3 -3
  195. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +23 -19
  196. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +6 -6
  197. package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +3 -3
  198. package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +13 -4
  199. package/esm2022/lib/sidebar/sidebar.module.mjs +4 -4
  200. package/esm2022/lib/sidebar/sidebar.service.mjs +3 -3
  201. package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +3 -3
  202. package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +4 -4
  203. package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +90 -125
  204. package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +3 -3
  205. package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +3 -3
  206. package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +3 -3
  207. package/esm2022/lib/smart-table/smart-table-head/smart-table-column-label.pipe.mjs +6 -14
  208. package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +48 -37
  209. package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +3 -3
  210. package/esm2022/lib/smart-table/smart-table.module.mjs +4 -4
  211. package/esm2022/lib/smart-table/smart-table.type.mjs +1 -1
  212. package/esm2022/lib/smart-table/smart-table.utils.mjs +181 -0
  213. package/esm2022/lib/spinner/spinner.component.mjs +3 -3
  214. package/esm2022/lib/spinner/spinner.module.mjs +4 -4
  215. package/esm2022/lib/table/table-active.directive.mjs +3 -3
  216. package/esm2022/lib/table/table-color.directive.mjs +3 -3
  217. package/esm2022/lib/table/table.directive.mjs +3 -3
  218. package/esm2022/lib/table/table.module.mjs +4 -4
  219. package/esm2022/lib/table/table.type.mjs +1 -1
  220. package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +3 -3
  221. package/esm2022/lib/tabs/tab-content-ref.directive.mjs +3 -3
  222. package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +5 -7
  223. package/esm2022/lib/tabs/tab.service.mjs +3 -3
  224. package/esm2022/lib/tabs/tabs.module.mjs +4 -4
  225. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +16 -10
  226. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +22 -15
  227. package/esm2022/lib/time-picker/time-picker.component.mjs +89 -115
  228. package/esm2022/lib/time-picker/time-picker.module.mjs +4 -4
  229. package/esm2022/lib/toast/toast/toast.component.mjs +3 -3
  230. package/esm2022/lib/toast/toast-body/toast-body.component.mjs +3 -3
  231. package/esm2022/lib/toast/toast-close.directive.mjs +3 -3
  232. package/esm2022/lib/toast/toast-header/toast-header.component.mjs +3 -3
  233. package/esm2022/lib/toast/toast.module.mjs +4 -4
  234. package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +3 -3
  235. package/esm2022/lib/toast/toaster/toaster.component.mjs +3 -3
  236. package/esm2022/lib/toast/toaster/toaster.service.mjs +3 -3
  237. package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +3 -3
  238. package/esm2022/lib/tooltip/tooltip.directive.mjs +5 -5
  239. package/esm2022/lib/tooltip/tooltip.module.mjs +4 -4
  240. package/esm2022/lib/utilities/align.directive.mjs +3 -3
  241. package/esm2022/lib/utilities/bg-color.directive.mjs +3 -3
  242. package/esm2022/lib/utilities/border.directive.mjs +3 -3
  243. package/esm2022/lib/utilities/rounded.directive.mjs +3 -3
  244. package/esm2022/lib/utilities/text-color.directive.mjs +3 -3
  245. package/esm2022/lib/utilities/utilities.module.mjs +4 -4
  246. package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +5 -5
  247. package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +6 -6
  248. package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +17 -19
  249. package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +5 -5
  250. package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +5 -5
  251. package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +5 -5
  252. package/esm2022/lib/widget/widget.module.mjs +4 -4
  253. package/fesm2022/coreui-angular-pro.mjs +2904 -2167
  254. package/fesm2022/coreui-angular-pro.mjs.map +1 -1
  255. package/lib/avatar/avatar.component.d.ts +4 -3
  256. package/lib/badge/badge.component.d.ts +5 -3
  257. package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.d.ts +1 -1
  258. package/lib/button/button-close.directive.d.ts +3 -1
  259. package/lib/calendar/calendar/calendar.component.d.ts +46 -19
  260. package/lib/calendar/calendar-month/calendar-class-row.pipe.d.ts +23 -0
  261. package/lib/calendar/calendar-month/calendar-day.directive.d.ts +16 -26
  262. package/lib/calendar/calendar-month/calendar-month.component.d.ts +45 -27
  263. package/lib/calendar/calendar-month/calendar-row.directive.d.ts +44 -0
  264. package/lib/calendar/calendar-navigation/calendar-navigation.component.d.ts +7 -6
  265. package/lib/calendar/calendar.module.d.ts +2 -1
  266. package/lib/calendar/calendar.service.d.ts +5 -1
  267. package/lib/calendar/calendar.utils.d.ts +25 -6
  268. package/lib/card/card.component.d.ts +3 -1
  269. package/lib/carousel/carousel/carousel.component.d.ts +10 -14
  270. package/lib/coreui.types.d.ts +4 -1
  271. package/lib/date-picker/date-picker.component.d.ts +2 -2
  272. package/lib/date-range-picker/date-range-picker/date-range-picker.component.d.ts +75 -41
  273. package/lib/dropdown/dropdown/dropdown.component.d.ts +2 -9
  274. package/lib/dropdown/dropdown-item/dropdown-item.directive.d.ts +5 -1
  275. package/lib/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +13 -16
  276. package/lib/dropdown/dropdown.service.d.ts +0 -1
  277. package/lib/multi-select/multi-select/multi-select.component.d.ts +14 -16
  278. package/lib/multi-select/multi-select.type.d.ts +1 -1
  279. package/lib/nav/nav.component.d.ts +2 -2
  280. package/lib/navbar/navbar.component.d.ts +2 -5
  281. package/lib/offcanvas/offcanvas/offcanvas.component.d.ts +2 -1
  282. package/lib/shared/public_api.d.ts +1 -0
  283. package/lib/shared/shared.module.d.ts +2 -1
  284. package/lib/shared/theme.directive.d.ts +19 -0
  285. package/lib/sidebar/sidebar-nav/sidebar-nav.component.d.ts +5 -2
  286. package/lib/sidebar/sidebar-toggler/sidebar-toggler.component.d.ts +1 -0
  287. package/lib/smart-table/smart-table/smart-table.component.d.ts +36 -51
  288. package/lib/smart-table/smart-table-head/smart-table-column-label.pipe.d.ts +0 -1
  289. package/lib/smart-table/smart-table-head/smart-table-head.component.d.ts +21 -11
  290. package/lib/smart-table/smart-table.type.d.ts +49 -34
  291. package/lib/smart-table/smart-table.utils.d.ts +29 -0
  292. package/lib/table/table.type.d.ts +5 -6
  293. package/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.d.ts +2 -1
  294. package/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.d.ts +3 -2
  295. package/lib/time-picker/time-picker.component.d.ts +17 -28
  296. package/lib/widget/widget-stat-a/widget-stat-a.component.d.ts +1 -1
  297. package/lib/widget/widget-stat-b/widget-stat-b.component.d.ts +3 -3
  298. package/lib/widget/widget-stat-c/widget-stat-c.component.d.ts +15 -13
  299. package/lib/widget/widget-stat-e/widget-stat-e.component.d.ts +1 -1
  300. package/lib/widget/widget-stat-f/widget-stat-f.component.d.ts +1 -1
  301. package/package.json +3 -2
@@ -6,10 +6,10 @@ export class TimeElementDirective {
6
6
  constructor(elementRef) {
7
7
  this.elementRef = elementRef;
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TimeElementDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: TimeElementDirective, isStandalone: true, selector: "[cTimeElement]", inputs: { cTimeElement: "cTimeElement" }, exportAs: ["cTimeElement"], ngImport: i0 }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: TimeElementDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: TimeElementDirective, isStandalone: true, selector: "[cTimeElement]", inputs: { cTimeElement: "cTimeElement" }, exportAs: ["cTimeElement"], ngImport: i0 }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TimeElementDirective, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: TimeElementDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[cTimeElement]',
@@ -22,11 +22,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
22
22
  export class TimePickerRollColComponent {
23
23
  constructor(elementRef) {
24
24
  this.elementRef = elementRef;
25
- this.init = true;
25
+ this.#init = true;
26
26
  this.disabled = false;
27
27
  this.elements = [];
28
28
  this.selectedChange = new EventEmitter();
29
29
  }
30
+ #init;
30
31
  get hostClasses() {
31
32
  return {
32
33
  'time-picker-roll-col': true,
@@ -50,22 +51,25 @@ export class TimePickerRollColComponent {
50
51
  const selectedElement = this.timeElements?.find(element => {
51
52
  return element.cTimeElement?.value === this.selected;
52
53
  });
53
- this.init = !selectedElement;
54
+ this.#init = !selectedElement;
54
55
  this.scrollToElement(selectedElement?.elementRef.nativeElement);
55
56
  }
56
57
  }
57
58
  scrollToElement(element) {
58
59
  setTimeout(() => {
59
- const elementSelected = element || this.elementRef.nativeElement.querySelector('.selected');
60
+ const elementSelected = element ?? this.elementRef.nativeElement.querySelector('.selected') ?? this.elementRef.nativeElement.firstElementChild;
60
61
  if (elementSelected) {
61
62
  this.elementRef.nativeElement.scrollTo({
62
63
  top: elementSelected?.offsetTop,
63
- behavior: this.init ? 'auto' : 'smooth'
64
+ behavior: this.#init ? 'auto' : 'smooth'
64
65
  });
65
- this.init = false;
66
+ this.#init = false;
66
67
  }
67
68
  });
68
69
  }
70
+ trackByElement(index, element) {
71
+ return element.value;
72
+ }
69
73
  handleElementClick($event, element) {
70
74
  if (element.disabled) {
71
75
  return;
@@ -75,15 +79,18 @@ export class TimePickerRollColComponent {
75
79
  this.onClick && this.onClick(element.value);
76
80
  this.selectedChange.emit(element.value);
77
81
  }
78
- trackByElement(index, element) {
79
- return element.value;
82
+ handleElementKeyDown($event, element) {
83
+ if ($event.code === 'Space' || $event.code === 'Enter') {
84
+ $event.preventDefault();
85
+ this.handleElementClick($event, element);
86
+ }
80
87
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TimePickerRollColComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: TimePickerRollColComponent, isStandalone: true, selector: "c-time-picker-roll-col", inputs: { disabled: "disabled", elements: "elements", onClick: "onClick", selected: "selected", refresh: "refresh" }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "timeElements", predicate: TimeElementDirective, descendants: true }], exportAs: ["cTimePickerRollCol"], usesOnChanges: true, ngImport: i0, template: "<div (click)=\"handleElementClick($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cTimeElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [ngStyle]=\"{'width': 'fit-content'}\"\n role=\"button\"\n>\n {{element.label}}\n</div>\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TimeElementDirective, selector: "[cTimeElement]", inputs: ["cTimeElement"], exportAs: ["cTimeElement"] }] }); }
88
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: TimePickerRollColComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: TimePickerRollColComponent, isStandalone: true, selector: "c-time-picker-roll-col", inputs: { disabled: "disabled", elements: "elements", onClick: "onClick", selected: "selected", refresh: "refresh" }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "timeElements", predicate: TimeElementDirective, descendants: true }], exportAs: ["cTimePickerRollCol"], usesOnChanges: true, ngImport: i0, template: "<div (click)=\"handleElementClick($event, element)\"\n (keydown)=\"handleElementKeyDown($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cTimeElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [tabindex]=\"element.disabled ? -1 : 0\"\n role=\"button\"\n>\n {{element.label}}\n</div>\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: TimeElementDirective, selector: "[cTimeElement]", inputs: ["cTimeElement"], exportAs: ["cTimeElement"] }] }); }
83
90
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TimePickerRollColComponent, decorators: [{
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: TimePickerRollColComponent, decorators: [{
85
92
  type: Component,
86
- args: [{ selector: 'c-time-picker-roll-col', exportAs: 'cTimePickerRollCol', standalone: true, imports: [CommonModule, TimeElementDirective], template: "<div (click)=\"handleElementClick($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cTimeElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [ngStyle]=\"{'width': 'fit-content'}\"\n role=\"button\"\n>\n {{element.label}}\n</div>\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"] }]
93
+ args: [{ selector: 'c-time-picker-roll-col', exportAs: 'cTimePickerRollCol', standalone: true, imports: [CommonModule, TimeElementDirective], template: "<div (click)=\"handleElementClick($event, element)\"\n (keydown)=\"handleElementKeyDown($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cTimeElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [tabindex]=\"element.disabled ? -1 : 0\"\n role=\"button\"\n>\n {{element.label}}\n</div>\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"] }]
87
94
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { disabled: [{
88
95
  type: Input
89
96
  }], elements: [{
@@ -103,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
103
110
  type: ViewChildren,
104
111
  args: [TimeElementDirective]
105
112
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXItcm9sbC1jb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci1yb2xsLWNvbC90aW1lLXBpY2tlci1yb2xsLWNvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLXJvbGwtY29sL3RpbWUtcGlja2VyLXJvbGwtY29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFHTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFlL0MsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUNTLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDM0IsQ0FBQzs4R0FKTSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytFQU9VLFlBQVk7c0JBQXBCLEtBQUs7O0FBV1IsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxZQUNTLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFHdkIsU0FBSSxHQUFHLElBQUksQ0FBQztRQUVYLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFpQixFQUFFLENBQUM7UUFLM0IsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVB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LENBQUMsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7OEdBMUVVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLCtVQXdCdkIsb0JBQW9CLHVHQ3RFcEMsbWJBVUEsbUhEa0NZLFlBQVksK1VBZlgsb0JBQW9COzsyRkFpQnBCLDBCQUEwQjtrQkFSdEMsU0FBUzsrQkFDRSx3QkFBd0IsWUFHeEIsb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQzsrRUFVcEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUdILFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVFnQixZQUFZO3NCQUEvQyxZQUFZO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgSVRpbWVWYWx1ZSB9IGZyb20gJy4uL3RpbWUudXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUaW1lUGlja2VyUm9sbENvbCB7XG4gIGVsZW1lbnRzOiBJVGltZVZhbHVlW107XG4gIG9uQ2xpY2s/OiAodmFsdWU6IG51bWJlciB8IHN0cmluZykgPT4gdm9pZDtcbiAgc2VsZWN0ZWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY1RpbWVFbGVtZW50XScsXG4gIGV4cG9ydEFzOiAnY1RpbWVFbGVtZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lRWxlbWVudERpcmVjdGl2ZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7IH1cblxuICBASW5wdXQoKSBjVGltZUVsZW1lbnQhOiBJVGltZVZhbHVlO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXRpbWUtcGlja2VyLXJvbGwtY29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWUtcGlja2VyLXJvbGwtY29sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZS1waWNrZXItcm9sbC1jb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjVGltZVBpY2tlclJvbGxDb2wnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUaW1lRWxlbWVudERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlclJvbGxDb2xDb21wb25lbnQgaW1wbGVtZW50cyBJVGltZVBpY2tlclJvbGxDb2wsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7IH1cblxuICBwcml2YXRlIGluaXQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVsZW1lbnRzOiBJVGltZVZhbHVlW10gPSBbXTtcbiAgQElucHV0KCkgb25DbGljaz86ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKSA9PiB2b2lkO1xuICBASW5wdXQoKSBzZWxlY3RlZD86IG51bWJlciB8IHN0cmluZyB8IG51bGw7XG4gIEBJbnB1dCgpIHJlZnJlc2g/OiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAndGltZS1waWNrZXItcm9sbC1jb2wnOiB0cnVlLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWRcbiAgICB9O1xuICB9XG5cbiAgQFZpZXdDaGlsZHJlbihUaW1lRWxlbWVudERpcmVjdGl2ZSkgdGltZUVsZW1lbnRzITogUXVlcnlMaXN0PFRpbWVFbGVtZW50RGlyZWN0aXZlPjtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lRWxlbWVudHM/LmNoYW5nZXMuc3Vic2NyaWJlKHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IHRoaXMudGltZUVsZW1lbnRzPy5maW5kKGVsZW1lbnQgPT4ge1xuICAgICAgICByZXR1cm4gZWxlbWVudC5jVGltZUVsZW1lbnQ/LnZhbHVlID09PSA8bnVtYmVyPnRoaXMuc2VsZWN0ZWQ7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KHNlbGVjdGVkRWxlbWVudD8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zZWxlY3RlZCcpO1xuICAgICAgdGhpcy5zY3JvbGxUb0VsZW1lbnQoc2VsZWN0ZWRFbGVtZW50KTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoKGNoYW5nZXNbJ3JlZnJlc2gnXSAmJiBjaGFuZ2VzWydyZWZyZXNoJ10uY3VycmVudFZhbHVlKSB8fCAoY2hhbmdlc1snc2VsZWN0ZWQnXSAmJiAhY2hhbmdlc1snc2VsZWN0ZWQnXS5maXJzdENoYW5nZSkpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IHRoaXMudGltZUVsZW1lbnRzPy5maW5kKGVsZW1lbnQgPT4ge1xuICAgICAgICByZXR1cm4gZWxlbWVudC5jVGltZUVsZW1lbnQ/LnZhbHVlID09PSA8bnVtYmVyPnRoaXMuc2VsZWN0ZWQ7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaW5pdCA9ICFzZWxlY3RlZEVsZW1lbnQ7XG4gICAgICB0aGlzLnNjcm9sbFRvRWxlbWVudChzZWxlY3RlZEVsZW1lbnQ/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsVG9FbGVtZW50KGVsZW1lbnQ6IGFueSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgZWxlbWVudFNlbGVjdGVkID0gZWxlbWVudCB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2VsZWN0ZWQnKTtcbiAgICAgIGlmIChlbGVtZW50U2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgIHRvcDogZWxlbWVudFNlbGVjdGVkPy5vZmZzZXRUb3AsXG4gICAgICAgICAgYmVoYXZpb3I6IHRoaXMuaW5pdCA/ICdhdXRvJyA6ICdzbW9vdGgnXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmluaXQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZUVsZW1lbnRDbGljaygkZXZlbnQ6IE1vdXNlRXZlbnQsIGVsZW1lbnQ6IGFueSkge1xuICAgIGlmIChlbGVtZW50LmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWQgPSBlbGVtZW50LnZhbHVlO1xuICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KCRldmVudC50YXJnZXQpO1xuICAgIHRoaXMub25DbGljayAmJiB0aGlzLm9uQ2xpY2soZWxlbWVudC52YWx1ZSk7XG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KGVsZW1lbnQudmFsdWUpO1xuICB9XG5cbiAgdHJhY2tCeUVsZW1lbnQoaW5kZXg6IG51bWJlciwgZWxlbWVudDogSVRpbWVWYWx1ZSkge1xuICAgIHJldHVybiBlbGVtZW50LnZhbHVlO1xuICB9XG5cbn1cbiIsIjxkaXYgKGNsaWNrKT1cImhhbmRsZUVsZW1lbnRDbGljaygkZXZlbnQsIGVsZW1lbnQpXCJcbiAgICAgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgZWxlbWVudHM7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlFbGVtZW50XCJcbiAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZWxlbWVudC5kaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgW2NUaW1lRWxlbWVudF09XCJlbGVtZW50XCJcbiAgICAgW25nQ2xhc3NdPVwieyd0aW1lLXBpY2tlci1yb2xsLWNlbGwnOiB0cnVlLCBzZWxlY3RlZDogZWxlbWVudC52YWx1ZSA9PT0gc2VsZWN0ZWQsIGRpc2FibGVkOiBlbGVtZW50LmRpc2FibGVkfVwiXG4gICAgIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiAnZml0LWNvbnRlbnQnfVwiXG4gICAgIHJvbGU9XCJidXR0b25cIlxuPlxuICB7e2VsZW1lbnQubGFiZWx9fVxuPC9kaXY+XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXItcm9sbC1jb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci1yb2xsLWNvbC90aW1lLXBpY2tlci1yb2xsLWNvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLXJvbGwtY29sL3RpbWUtcGlja2VyLXJvbGwtY29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFHTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFlL0MsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUNTLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDM0IsQ0FBQzs4R0FKTSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytFQU9VLFlBQVk7c0JBQXBCLEtBQUs7O0FBV1IsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxZQUNTLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFHL0IsVUFBSyxHQUFHLElBQUksQ0FBQztRQUVKLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFpQixFQUFFLENBQUM7UUFLM0IsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVB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SyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFxQixFQUFFLE9BQW1CO1FBQzdELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDdEQsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBc0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQzs4R0FqRlUsMEJBQTBCO2tHQUExQiwwQkFBMEIsK1VBd0J2QixvQkFBb0IsdUdDdEVwQywrZUFXQSxtSERpQ1ksWUFBWSwwUEFmWCxvQkFBb0I7OzJGQWlCcEIsMEJBQTBCO2tCQVJ0QyxTQUFTOytCQUNFLHdCQUF3QixZQUd4QixvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDOytFQVVwQyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBR0gsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBUWdCLFlBQVk7c0JBQS9DLFlBQVk7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBJVGltZVZhbHVlIH0gZnJvbSAnLi4vdGltZS51dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVQaWNrZXJSb2xsQ29sIHtcbiAgZWxlbWVudHM6IElUaW1lVmFsdWVbXTtcbiAgb25DbGljaz86ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKSA9PiB2b2lkO1xuICBzZWxlY3RlZD86IG51bWJlciB8IHN0cmluZyB8IG51bGw7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjVGltZUVsZW1lbnRdJyxcbiAgZXhwb3J0QXM6ICdjVGltZUVsZW1lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVFbGVtZW50RGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHsgfVxuXG4gIEBJbnB1dCgpIGNUaW1lRWxlbWVudCE6IElUaW1lVmFsdWU7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtdGltZS1waWNrZXItcm9sbC1jb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1waWNrZXItcm9sbC1jb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aW1lLXBpY2tlci1yb2xsLWNvbC5jb21wb25lbnQuc2NzcyddLFxuICBleHBvcnRBczogJ2NUaW1lUGlja2VyUm9sbENvbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRpbWVFbGVtZW50RGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyUm9sbENvbENvbXBvbmVudCBpbXBsZW1lbnRzIElUaW1lUGlja2VyUm9sbENvbCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHsgfVxuXG4gICNpbml0ID0gdHJ1ZTtcblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBlbGVtZW50czogSVRpbWVWYWx1ZVtdID0gW107XG4gIEBJbnB1dCgpIG9uQ2xpY2s/OiAodmFsdWU6IG51bWJlciB8IHN0cmluZykgPT4gdm9pZDtcbiAgQElucHV0KCkgc2VsZWN0ZWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSByZWZyZXNoPzogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3RpbWUtcGlja2VyLXJvbGwtY29sJzogdHJ1ZSxcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkXG4gICAgfTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGRyZW4oVGltZUVsZW1lbnREaXJlY3RpdmUpIHRpbWVFbGVtZW50cyE6IFF1ZXJ5TGlzdDxUaW1lRWxlbWVudERpcmVjdGl2ZT47XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGltZUVsZW1lbnRzPy5jaGFuZ2VzLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSB0aGlzLnRpbWVFbGVtZW50cz8uZmluZChlbGVtZW50ID0+IHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQuY1RpbWVFbGVtZW50Py52YWx1ZSA9PT0gPG51bWJlcj50aGlzLnNlbGVjdGVkO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNjcm9sbFRvRWxlbWVudChzZWxlY3RlZEVsZW1lbnQ/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2VsZWN0ZWQnKTtcbiAgICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KHNlbGVjdGVkRWxlbWVudCk7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKChjaGFuZ2VzWydyZWZyZXNoJ10gJiYgY2hhbmdlc1sncmVmcmVzaCddLmN1cnJlbnRWYWx1ZSkgfHwgKGNoYW5nZXNbJ3NlbGVjdGVkJ10gJiYgIWNoYW5nZXNbJ3NlbGVjdGVkJ10uZmlyc3RDaGFuZ2UpKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSB0aGlzLnRpbWVFbGVtZW50cz8uZmluZChlbGVtZW50ID0+IHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQuY1RpbWVFbGVtZW50Py52YWx1ZSA9PT0gPG51bWJlcj50aGlzLnNlbGVjdGVkO1xuICAgICAgfSk7XG4gICAgICB0aGlzLiNpbml0ID0gIXNlbGVjdGVkRWxlbWVudDtcbiAgICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KHNlbGVjdGVkRWxlbWVudD8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBzY3JvbGxUb0VsZW1lbnQoZWxlbWVudDogYW55KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBlbGVtZW50U2VsZWN0ZWQgPSBlbGVtZW50ID8/IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zZWxlY3RlZCcpID8/IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkO1xuICAgICAgaWYgKGVsZW1lbnRTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgdG9wOiBlbGVtZW50U2VsZWN0ZWQ/Lm9mZnNldFRvcCxcbiAgICAgICAgICBiZWhhdmlvcjogdGhpcy4jaW5pdCA/ICdhdXRvJyA6ICdzbW9vdGgnXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLiNpbml0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0cmFja0J5RWxlbWVudChpbmRleDogbnVtYmVyLCBlbGVtZW50OiBJVGltZVZhbHVlKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQudmFsdWU7XG4gIH1cblxuICBoYW5kbGVFbGVtZW50Q2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50LCBlbGVtZW50OiBhbnkpIHtcbiAgICBpZiAoZWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkID0gZWxlbWVudC52YWx1ZTtcbiAgICB0aGlzLnNjcm9sbFRvRWxlbWVudCgkZXZlbnQudGFyZ2V0KTtcbiAgICB0aGlzLm9uQ2xpY2sgJiYgdGhpcy5vbkNsaWNrKGVsZW1lbnQudmFsdWUpO1xuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChlbGVtZW50LnZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUVsZW1lbnRLZXlEb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCwgZWxlbWVudDogSVRpbWVWYWx1ZSkge1xuICAgIGlmICgkZXZlbnQuY29kZSA9PT0gJ1NwYWNlJyB8fCAkZXZlbnQuY29kZSA9PT0gJ0VudGVyJykge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmhhbmRsZUVsZW1lbnRDbGljayg8TW91c2VFdmVudD48dW5rbm93bj4kZXZlbnQsIGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IChjbGljayk9XCJoYW5kbGVFbGVtZW50Q2xpY2soJGV2ZW50LCBlbGVtZW50KVwiXG4gICAgIChrZXlkb3duKT1cImhhbmRsZUVsZW1lbnRLZXlEb3duKCRldmVudCwgZWxlbWVudClcIlxuICAgICAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBlbGVtZW50czsgaW5kZXggYXMgaTsgdHJhY2tCeTogdHJhY2tCeUVsZW1lbnRcIlxuICAgICBbYXR0ci5kaXNhYmxlZF09XCJlbGVtZW50LmRpc2FibGVkIHx8IG51bGxcIlxuICAgICBbY1RpbWVFbGVtZW50XT1cImVsZW1lbnRcIlxuICAgICBbbmdDbGFzc109XCJ7J3RpbWUtcGlja2VyLXJvbGwtY2VsbCc6IHRydWUsIHNlbGVjdGVkOiBlbGVtZW50LnZhbHVlID09PSBzZWxlY3RlZCwgZGlzYWJsZWQ6IGVsZW1lbnQuZGlzYWJsZWR9XCJcbiAgICAgW3RhYmluZGV4XT1cImVsZW1lbnQuZGlzYWJsZWQgPyAtMSA6IDBcIlxuICAgICByb2xlPVwiYnV0dG9uXCJcbj5cbiAge3tlbGVtZW50LmxhYmVsfX1cbjwvZGl2PlxuIl19