ngx-sfc-components 0.0.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 (232) hide show
  1. package/README.md +685 -0
  2. package/esm2020/lib/components/avatar/avatar.component.mjs +83 -0
  3. package/esm2020/lib/components/avatar/avatar.constants.mjs +9 -0
  4. package/esm2020/lib/components/avatar/models/avatar-data.model.mjs +2 -0
  5. package/esm2020/lib/components/avatar/models/avatar-image.model.mjs +14 -0
  6. package/esm2020/lib/components/avatar/models/avatar-progress.model.mjs +2 -0
  7. package/esm2020/lib/components/avatar/parts/badge/avatar-badge-position.enum.mjs +12 -0
  8. package/esm2020/lib/components/avatar/parts/badge/avatar-badge.component.mjs +88 -0
  9. package/esm2020/lib/components/avatar/parts/badge/avatar-badge.constants.mjs +5 -0
  10. package/esm2020/lib/components/carousel/carousel.component.mjs +230 -0
  11. package/esm2020/lib/components/carousel/carousel.enum.mjs +33 -0
  12. package/esm2020/lib/components/carousel/directive/carousel-slide.directive.mjs +31 -0
  13. package/esm2020/lib/components/carousel/models/dom.model.mjs +2 -0
  14. package/esm2020/lib/components/carousel/models/navigation.model.mjs +2 -0
  15. package/esm2020/lib/components/carousel/models/options.model.mjs +2 -0
  16. package/esm2020/lib/components/carousel/models/slide.model.mjs +3 -0
  17. package/esm2020/lib/components/carousel/parts/stage/carousel-stage.component.mjs +83 -0
  18. package/esm2020/lib/components/carousel/parts/stage/carousel-stage.model.mjs +2 -0
  19. package/esm2020/lib/components/carousel/service/animate/carousel-animate.service.mjs +86 -0
  20. package/esm2020/lib/components/carousel/service/autoplay/carousel-autoplay.service.mjs +129 -0
  21. package/esm2020/lib/components/carousel/service/carousel/carousel-service.constants.mjs +44 -0
  22. package/esm2020/lib/components/carousel/service/carousel/carousel-service.enum.mjs +14 -0
  23. package/esm2020/lib/components/carousel/service/carousel/carousel-service.model.mjs +2 -0
  24. package/esm2020/lib/components/carousel/service/carousel/carousel.service.mjs +697 -0
  25. package/esm2020/lib/components/carousel/service/lazy/carousel-lazy-load.service.mjs +59 -0
  26. package/esm2020/lib/components/carousel/service/navigation/carousel-navigation.service.mjs +211 -0
  27. package/esm2020/lib/components/chart/chart-option.model.mjs +2 -0
  28. package/esm2020/lib/components/chart/chart.component.mjs +124 -0
  29. package/esm2020/lib/components/chart/chart.constants.mjs +95 -0
  30. package/esm2020/lib/components/chart/service/settings/chart-settings.service.mjs +87 -0
  31. package/esm2020/lib/components/chart/service/theme/chart-theme.model.mjs +2 -0
  32. package/esm2020/lib/components/chart/service/theme/chart-theme.service.mjs +25 -0
  33. package/esm2020/lib/components/index.mjs +40 -0
  34. package/esm2020/lib/components/menu/dropdown/dropdown-menu.component.mjs +86 -0
  35. package/esm2020/lib/components/menu/dropdown/parts/item/dropdown-menu-item.component.mjs +26 -0
  36. package/esm2020/lib/components/menu/dropdown/parts/item/dropdown-menu-item.model.mjs +2 -0
  37. package/esm2020/lib/components/menu/navigation/navigation-menu.component.mjs +26 -0
  38. package/esm2020/lib/components/menu/navigation/parts/item/navigation-menu-item.component.mjs +31 -0
  39. package/esm2020/lib/components/menu/navigation/parts/item/navigation-menu-item.model.mjs +2 -0
  40. package/esm2020/lib/components/menu/side/parts/header/side-menu-header.component.mjs +31 -0
  41. package/esm2020/lib/components/menu/side/parts/item/content/side-menu-item-content.component.mjs +56 -0
  42. package/esm2020/lib/components/menu/side/parts/item/side-menu-item.component.mjs +81 -0
  43. package/esm2020/lib/components/menu/side/parts/title/side-menu-title.component.mjs +24 -0
  44. package/esm2020/lib/components/menu/side/side-menu.component.mjs +47 -0
  45. package/esm2020/lib/components/menu/side/side-menu.model.mjs +6 -0
  46. package/esm2020/lib/components/no-export-index.mjs +15 -0
  47. package/esm2020/lib/components/notification/enums/notification-template.enum.mjs +5 -0
  48. package/esm2020/lib/components/notification/enums/notification-type.enum.mjs +7 -0
  49. package/esm2020/lib/components/notification/notification-auto-close.model.mjs +2 -0
  50. package/esm2020/lib/components/notification/notification.component.mjs +67 -0
  51. package/esm2020/lib/components/notification/parts/content/notification-content.component.mjs +33 -0
  52. package/esm2020/lib/components/notification/parts/content/notification-content.model.mjs +2 -0
  53. package/esm2020/lib/components/progress/circle/progress-circle.component.mjs +23 -0
  54. package/esm2020/lib/components/progress/line/progress-line.component.mjs +40 -0
  55. package/esm2020/lib/components/progress/progress-color.enum.mjs +13 -0
  56. package/esm2020/lib/components/progress/progress.component.mjs +50 -0
  57. package/esm2020/lib/components/progress/semi-circle/progress-semi-circle.component.mjs +42 -0
  58. package/esm2020/lib/components/slider/parts/button/slider-button-type.enum.mjs +6 -0
  59. package/esm2020/lib/components/slider/parts/button/slider-button.component.mjs +34 -0
  60. package/esm2020/lib/components/slider/parts/item/slider-item.component.mjs +17 -0
  61. package/esm2020/lib/components/slider/parts/item/slider-item.model.mjs +2 -0
  62. package/esm2020/lib/components/slider/parts/pagination/slider-pagination.component.mjs +29 -0
  63. package/esm2020/lib/components/slider/service/automatic/slider-automatic.service.mjs +35 -0
  64. package/esm2020/lib/components/slider/service/slider/slider-move-type.enum.mjs +7 -0
  65. package/esm2020/lib/components/slider/service/slider/slider-move.event.mjs +2 -0
  66. package/esm2020/lib/components/slider/service/slider/slider-move.model.mjs +2 -0
  67. package/esm2020/lib/components/slider/service/slider/slider.service.mjs +40 -0
  68. package/esm2020/lib/components/slider/slider-type.enum.mjs +6 -0
  69. package/esm2020/lib/components/slider/slider.component.mjs +116 -0
  70. package/esm2020/lib/components/stars/star-type.enum.mjs +9 -0
  71. package/esm2020/lib/components/stars/stars.component.mjs +42 -0
  72. package/esm2020/lib/components/table/enums/table-data-type.enum.mjs +6 -0
  73. package/esm2020/lib/components/table/enums/table-template.enum.mjs +7 -0
  74. package/esm2020/lib/components/table/models/table-pagination.model.mjs +2 -0
  75. package/esm2020/lib/components/table/models/table.model.mjs +2 -0
  76. package/esm2020/lib/components/table/parts/columns/default/default-table-column.component.mjs +24 -0
  77. package/esm2020/lib/components/table/parts/columns/selectable/selectable-table-column.component.mjs +30 -0
  78. package/esm2020/lib/components/table/parts/columns/table-column-type.enum.mjs +8 -0
  79. package/esm2020/lib/components/table/parts/columns/table-column.model.mjs +2 -0
  80. package/esm2020/lib/components/table/parts/content/base-default-table-content.component.mjs +74 -0
  81. package/esm2020/lib/components/table/parts/content/cards/default/default-table-card.component.mjs +14 -0
  82. package/esm2020/lib/components/table/parts/content/rows/default/default-table-row.component.mjs +28 -0
  83. package/esm2020/lib/components/table/parts/content/rows/expanded/expanded-table-row-template.enum.mjs +6 -0
  84. package/esm2020/lib/components/table/parts/content/rows/expanded/expanded-table-row.component.mjs +42 -0
  85. package/esm2020/lib/components/table/parts/content/rows/expanded/expanded-table-row.model.mjs +2 -0
  86. package/esm2020/lib/components/table/parts/toggle/columns-toggle.component.mjs +33 -0
  87. package/esm2020/lib/components/table/parts/toggle/columns-toggle.constants.mjs +11 -0
  88. package/esm2020/lib/components/table/parts/toggle/service/columns-toggle.service.mjs +34 -0
  89. package/esm2020/lib/components/table/service/select/table-select.event.mjs +2 -0
  90. package/esm2020/lib/components/table/service/select/table-select.service.mjs +24 -0
  91. package/esm2020/lib/components/table/table.component.mjs +250 -0
  92. package/esm2020/lib/components/table/table.constants.mjs +11 -0
  93. package/esm2020/lib/components/tabs/models/tab.model.mjs +2 -0
  94. package/esm2020/lib/components/tabs/models/tabs-view.model.mjs +2 -0
  95. package/esm2020/lib/components/tabs/parts/labels/tab-label-content-base.component.mjs +29 -0
  96. package/esm2020/lib/components/tabs/parts/labels/tab-label-icon/tab-label-icon.component.mjs +20 -0
  97. package/esm2020/lib/components/tabs/parts/labels/tab-label-line/tab-label-line.component.mjs +13 -0
  98. package/esm2020/lib/components/tabs/parts/sliders/tab-label-icon/tab-label-icon-slider.component.mjs +20 -0
  99. package/esm2020/lib/components/tabs/parts/sliders/tab-label-line/tab-label-line-slider.component.mjs +20 -0
  100. package/esm2020/lib/components/tabs/parts/sliders/tab-slider-base.component.mjs +18 -0
  101. package/esm2020/lib/components/tabs/parts/sliders/tab-slider-context.model.mjs +2 -0
  102. package/esm2020/lib/components/tabs/service/tab.service.mjs +11 -0
  103. package/esm2020/lib/components/tabs/tabs-template.enum.mjs +7 -0
  104. package/esm2020/lib/components/tabs/tabs.component.mjs +69 -0
  105. package/esm2020/lib/components/tags/parts/tag/tag.component.mjs +18 -0
  106. package/esm2020/lib/components/tags/parts/tag/tag.model.mjs +2 -0
  107. package/esm2020/lib/components/tags/tags.component.mjs +18 -0
  108. package/esm2020/lib/components/timeline/parts/item/timeline-item-position.enum.mjs +6 -0
  109. package/esm2020/lib/components/timeline/parts/item/timeline-item.component.mjs +34 -0
  110. package/esm2020/lib/components/timeline/parts/item/timeline-item.model.mjs +2 -0
  111. package/esm2020/lib/components/timeline/timeline.component.mjs +18 -0
  112. package/esm2020/lib/ngx-sfc-components.module.mjs +208 -0
  113. package/esm2020/ngx-sfc-components.mjs +5 -0
  114. package/esm2020/public-api.mjs +6 -0
  115. package/fesm2015/ngx-sfc-components.mjs +4006 -0
  116. package/fesm2015/ngx-sfc-components.mjs.map +1 -0
  117. package/fesm2020/ngx-sfc-components.mjs +3989 -0
  118. package/fesm2020/ngx-sfc-components.mjs.map +1 -0
  119. package/lib/components/avatar/avatar.component.d.ts +42 -0
  120. package/lib/components/avatar/avatar.constants.d.ts +8 -0
  121. package/lib/components/avatar/models/avatar-data.model.d.ts +6 -0
  122. package/lib/components/avatar/models/avatar-image.model.d.ts +12 -0
  123. package/lib/components/avatar/models/avatar-progress.model.d.ts +4 -0
  124. package/lib/components/avatar/parts/badge/avatar-badge-position.enum.d.ts +10 -0
  125. package/lib/components/avatar/parts/badge/avatar-badge.component.d.ts +14 -0
  126. package/lib/components/avatar/parts/badge/avatar-badge.constants.d.ts +4 -0
  127. package/lib/components/carousel/carousel.component.d.ts +62 -0
  128. package/lib/components/carousel/carousel.enum.d.ts +26 -0
  129. package/lib/components/carousel/directive/carousel-slide.directive.d.ts +13 -0
  130. package/lib/components/carousel/models/dom.model.d.ts +7 -0
  131. package/lib/components/carousel/models/navigation.model.d.ts +17 -0
  132. package/lib/components/carousel/models/options.model.d.ts +40 -0
  133. package/lib/components/carousel/models/slide.model.d.ts +28 -0
  134. package/lib/components/carousel/parts/stage/carousel-stage.component.d.ts +30 -0
  135. package/lib/components/carousel/parts/stage/carousel-stage.model.d.ts +7 -0
  136. package/lib/components/carousel/service/animate/carousel-animate.service.d.ts +17 -0
  137. package/lib/components/carousel/service/autoplay/carousel-autoplay.service.d.ts +29 -0
  138. package/lib/components/carousel/service/carousel/carousel-service.constants.d.ts +5 -0
  139. package/lib/components/carousel/service/carousel/carousel-service.enum.d.ts +9 -0
  140. package/lib/components/carousel/service/carousel/carousel-service.model.d.ts +21 -0
  141. package/lib/components/carousel/service/carousel/carousel.service.d.ts +92 -0
  142. package/lib/components/carousel/service/lazy/carousel-lazy-load.service.d.ts +14 -0
  143. package/lib/components/carousel/service/navigation/carousel-navigation.service.d.ts +28 -0
  144. package/lib/components/chart/chart-option.model.d.ts +9 -0
  145. package/lib/components/chart/chart.component.d.ts +38 -0
  146. package/lib/components/chart/chart.constants.d.ts +100 -0
  147. package/lib/components/chart/service/settings/chart-settings.service.d.ts +14 -0
  148. package/lib/components/chart/service/theme/chart-theme.model.d.ts +15 -0
  149. package/lib/components/chart/service/theme/chart-theme.service.d.ts +11 -0
  150. package/lib/components/index.d.ts +56 -0
  151. package/lib/components/menu/dropdown/dropdown-menu.component.d.ts +28 -0
  152. package/lib/components/menu/dropdown/parts/item/dropdown-menu-item.component.d.ts +8 -0
  153. package/lib/components/menu/dropdown/parts/item/dropdown-menu-item.model.d.ts +6 -0
  154. package/lib/components/menu/navigation/navigation-menu.component.d.ts +10 -0
  155. package/lib/components/menu/navigation/parts/item/navigation-menu-item.component.d.ts +9 -0
  156. package/lib/components/menu/navigation/parts/item/navigation-menu-item.model.d.ts +6 -0
  157. package/lib/components/menu/side/parts/header/side-menu-header.component.d.ts +11 -0
  158. package/lib/components/menu/side/parts/item/content/side-menu-item-content.component.d.ts +17 -0
  159. package/lib/components/menu/side/parts/item/side-menu-item.component.d.ts +17 -0
  160. package/lib/components/menu/side/parts/title/side-menu-title.component.d.ts +7 -0
  161. package/lib/components/menu/side/side-menu.component.d.ts +13 -0
  162. package/lib/components/menu/side/side-menu.model.d.ts +15 -0
  163. package/lib/components/no-export-index.d.ts +14 -0
  164. package/lib/components/notification/enums/notification-template.enum.d.ts +3 -0
  165. package/lib/components/notification/enums/notification-type.enum.d.ts +5 -0
  166. package/lib/components/notification/notification-auto-close.model.d.ts +4 -0
  167. package/lib/components/notification/notification.component.d.ts +26 -0
  168. package/lib/components/notification/parts/content/notification-content.component.d.ts +14 -0
  169. package/lib/components/notification/parts/content/notification-content.model.d.ts +8 -0
  170. package/lib/components/progress/circle/progress-circle.component.d.ts +8 -0
  171. package/lib/components/progress/line/progress-line.component.d.ts +17 -0
  172. package/lib/components/progress/progress-color.enum.d.ts +11 -0
  173. package/lib/components/progress/progress.component.d.ts +9 -0
  174. package/lib/components/progress/semi-circle/progress-semi-circle.component.d.ts +16 -0
  175. package/lib/components/slider/parts/button/slider-button-type.enum.d.ts +4 -0
  176. package/lib/components/slider/parts/button/slider-button.component.d.ts +11 -0
  177. package/lib/components/slider/parts/item/slider-item.component.d.ts +7 -0
  178. package/lib/components/slider/parts/item/slider-item.model.d.ts +5 -0
  179. package/lib/components/slider/parts/pagination/slider-pagination.component.d.ts +11 -0
  180. package/lib/components/slider/service/automatic/slider-automatic.service.d.ts +17 -0
  181. package/lib/components/slider/service/slider/slider-move-type.enum.d.ts +5 -0
  182. package/lib/components/slider/service/slider/slider-move.event.d.ts +5 -0
  183. package/lib/components/slider/service/slider/slider-move.model.d.ts +4 -0
  184. package/lib/components/slider/service/slider/slider.service.d.ts +12 -0
  185. package/lib/components/slider/slider-type.enum.d.ts +4 -0
  186. package/lib/components/slider/slider.component.d.ts +45 -0
  187. package/lib/components/stars/star-type.enum.d.ts +7 -0
  188. package/lib/components/stars/stars.component.d.ts +11 -0
  189. package/lib/components/table/enums/table-data-type.enum.d.ts +4 -0
  190. package/lib/components/table/enums/table-template.enum.d.ts +5 -0
  191. package/lib/components/table/models/table-pagination.model.d.ts +5 -0
  192. package/lib/components/table/models/table.model.d.ts +9 -0
  193. package/lib/components/table/parts/columns/default/default-table-column.component.d.ts +8 -0
  194. package/lib/components/table/parts/columns/selectable/selectable-table-column.component.d.ts +10 -0
  195. package/lib/components/table/parts/columns/table-column-type.enum.d.ts +6 -0
  196. package/lib/components/table/parts/columns/table-column.model.d.ts +11 -0
  197. package/lib/components/table/parts/content/base-default-table-content.component.d.ts +27 -0
  198. package/lib/components/table/parts/content/cards/default/default-table-card.component.d.ts +6 -0
  199. package/lib/components/table/parts/content/rows/default/default-table-row.component.d.ts +10 -0
  200. package/lib/components/table/parts/content/rows/expanded/expanded-table-row-template.enum.d.ts +4 -0
  201. package/lib/components/table/parts/content/rows/expanded/expanded-table-row.component.d.ts +16 -0
  202. package/lib/components/table/parts/content/rows/expanded/expanded-table-row.model.d.ts +11 -0
  203. package/lib/components/table/parts/toggle/columns-toggle.component.d.ts +13 -0
  204. package/lib/components/table/parts/toggle/columns-toggle.constants.d.ts +10 -0
  205. package/lib/components/table/parts/toggle/service/columns-toggle.service.d.ts +15 -0
  206. package/lib/components/table/service/select/table-select.event.d.ts +4 -0
  207. package/lib/components/table/service/select/table-select.service.d.ts +11 -0
  208. package/lib/components/table/table.component.d.ts +74 -0
  209. package/lib/components/table/table.constants.d.ts +11 -0
  210. package/lib/components/tabs/models/tab.model.d.ts +7 -0
  211. package/lib/components/tabs/models/tabs-view.model.d.ts +8 -0
  212. package/lib/components/tabs/parts/labels/tab-label-content-base.component.d.ts +9 -0
  213. package/lib/components/tabs/parts/labels/tab-label-icon/tab-label-icon.component.d.ts +9 -0
  214. package/lib/components/tabs/parts/labels/tab-label-line/tab-label-line.component.d.ts +6 -0
  215. package/lib/components/tabs/parts/sliders/tab-label-icon/tab-label-icon-slider.component.d.ts +7 -0
  216. package/lib/components/tabs/parts/sliders/tab-label-line/tab-label-line-slider.component.d.ts +10 -0
  217. package/lib/components/tabs/parts/sliders/tab-slider-base.component.d.ts +8 -0
  218. package/lib/components/tabs/parts/sliders/tab-slider-context.model.d.ts +4 -0
  219. package/lib/components/tabs/service/tab.service.d.ts +6 -0
  220. package/lib/components/tabs/tabs-template.enum.d.ts +5 -0
  221. package/lib/components/tabs/tabs.component.d.ts +26 -0
  222. package/lib/components/tags/parts/tag/tag.component.d.ts +7 -0
  223. package/lib/components/tags/parts/tag/tag.model.d.ts +4 -0
  224. package/lib/components/tags/tags.component.d.ts +7 -0
  225. package/lib/components/timeline/parts/item/timeline-item-position.enum.d.ts +4 -0
  226. package/lib/components/timeline/parts/item/timeline-item.component.d.ts +11 -0
  227. package/lib/components/timeline/parts/item/timeline-item.model.d.ts +10 -0
  228. package/lib/components/timeline/timeline.component.d.ts +7 -0
  229. package/lib/ngx-sfc-components.module.d.ts +49 -0
  230. package/ngx-sfc-components.d.ts +5 -0
  231. package/package.json +50 -0
  232. package/public-api.d.ts +2 -0
@@ -0,0 +1,250 @@
1
+ import { Component, ContentChildren, HostBinding, Inject, Input } from '@angular/core';
2
+ import { all, firstOrDefault, getCalcValue, hasItemBy, isDefined, MediaLimits, PaginationService, Position, ResizeService, sortByPath, SortingDirection, SortingService, TemplateReferenceDirective, WINDOW } from 'ngx-sfc-common';
3
+ import { BehaviorSubject, combineLatest, map, startWith } from 'rxjs';
4
+ import { TableColumnType } from './parts/columns/table-column-type.enum';
5
+ import { ColumnsToggleService } from './parts/toggle/service/columns-toggle.service';
6
+ import { TableSelectService } from './service/select/table-select.service';
7
+ import { TableDataType } from './enums/table-data-type.enum';
8
+ import { TableConstants } from './table.constants';
9
+ import { TableTemplate } from './enums/table-template.enum';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "ngx-sfc-common";
12
+ import * as i2 from "./service/select/table-select.service";
13
+ import * as i3 from "./parts/toggle/service/columns-toggle.service";
14
+ import * as i4 from "./parts/toggle/columns-toggle.component";
15
+ import * as i5 from "./parts/columns/selectable/selectable-table-column.component";
16
+ import * as i6 from "./parts/columns/default/default-table-column.component";
17
+ import * as i7 from "./parts/content/rows/default/default-table-row.component";
18
+ import * as i8 from "./parts/content/cards/default/default-table-card.component";
19
+ import * as i9 from "@angular/common";
20
+ export class TableComponent {
21
+ constructor(window, paginationService, selectedService, sortingService, changeDetector, resizeService, columnsToggleService, iterableDiffers) {
22
+ this.window = window;
23
+ this.paginationService = paginationService;
24
+ this.selectedService = selectedService;
25
+ this.sortingService = sortingService;
26
+ this.changeDetector = changeDetector;
27
+ this.resizeService = resizeService;
28
+ this.columnsToggleService = columnsToggleService;
29
+ this.iterableDiffers = iterableDiffers;
30
+ this.TableDataType = TableDataType;
31
+ this.TableColumnType = TableColumnType;
32
+ this.TableTemplate = TableTemplate;
33
+ this.Constants = TableConstants;
34
+ this.position = Position.Center;
35
+ this.delimeter = false;
36
+ this.dataType = TableDataType.Rows;
37
+ this.dataToggle = true;
38
+ this.showColumns = true;
39
+ this.pagination = { enabled: true, page: TableConstants.DEFAULT_PAGE, size: TableConstants.DEFAULT_PAGE_SIZE };
40
+ this.sequence = false;
41
+ this.expanded = false;
42
+ this.selectable = false;
43
+ this.selectOnClick = false;
44
+ // End Template references
45
+ //Data
46
+ this.data = [];
47
+ // End Data
48
+ // Columns
49
+ this.columns = [];
50
+ this.columnsSubject = new BehaviorSubject(this.columns);
51
+ // End Columns
52
+ this.allRowsSelected = false;
53
+ this.dataDiffer = iterableDiffers.find([]).create(undefined);
54
+ this.columnsDiffer = iterableDiffers.find([]).create(undefined);
55
+ }
56
+ set data$(value) {
57
+ this._data$ = value;
58
+ this.paginationService.init(this._data$, this.pagination.page, this.pagination.size);
59
+ }
60
+ get data$() {
61
+ return this._data$;
62
+ }
63
+ ngOnInit() {
64
+ // if data is static, make it observable
65
+ if (!isDefined(this.data$)) {
66
+ this.dataSubject = new BehaviorSubject(this.data);
67
+ this.data$ = this.dataSubject.asObservable();
68
+ }
69
+ // set up data models with indexes
70
+ const dataIndexed$ = this.data$.pipe(map((data) => data.map((dataModel, index) => { return { index, dataModel }; }))),
71
+ // set up sorting observable
72
+ sorting$ = this.getSortingObservable(),
73
+ // set up selection observable
74
+ selection$ = this.selectedService.select$.pipe(startWith(null));
75
+ // set up columns (conditionally add sequence or selectable columns)
76
+ this.columns$ = this.columnsSubject.asObservable().pipe(map(columns => {
77
+ let tableColumns = columns.slice(0);
78
+ if (this.sequence)
79
+ tableColumns.unshift(TableConstants.SEQUENCE_COLUMN);
80
+ if (this.selectable)
81
+ tableColumns.unshift(TableConstants.SELECTABLE_COLUMN);
82
+ if (this.expanded)
83
+ tableColumns.push(TableConstants.EXPANDED_COLUMN);
84
+ return tableColumns;
85
+ }));
86
+ this.columnsSorting$ = combineLatest([this.columns$, sorting$]).pipe(map(([columns, event]) => {
87
+ columns.forEach(column => {
88
+ if (column.sorting?.enabled) {
89
+ column.sorting.active = column.field == event?.id || false;
90
+ if (!column.sorting.active)
91
+ column.sorting.direction = SortingDirection.Ascending;
92
+ }
93
+ });
94
+ return columns;
95
+ }));
96
+ // set up main data observable
97
+ this.dataValue$ = combineLatest([
98
+ dataIndexed$,
99
+ this.paginationService.pagination$,
100
+ sorting$,
101
+ selection$
102
+ ]).pipe(map(([data, paginationEvent, sortingEvent, selectionEvent]) => {
103
+ // handle selection
104
+ this.handleSelectionEvent(data, selectionEvent);
105
+ // handle pagination and sorting
106
+ let sortedData = this.sortData(data, sortingEvent), paginatedData = this.paginateData(sortedData, paginationEvent);
107
+ // handle data sequence
108
+ if (this.sequence) {
109
+ this.updateRowSequenceValues(paginationEvent.page, paginatedData);
110
+ }
111
+ return paginatedData;
112
+ }));
113
+ }
114
+ ngAfterViewInit() {
115
+ // combine all observable to view model
116
+ this.vm$ = combineLatest([
117
+ this.columnsSorting$,
118
+ this.dataValue$,
119
+ this.columnsToggleService.showColumns$,
120
+ this.columnWidth$
121
+ ]).pipe(map(([columns, data, showColumns, columnWidth]) => {
122
+ return {
123
+ columns,
124
+ data,
125
+ columnWidth,
126
+ showColumns: this.showColumns && showColumns,
127
+ columnStyle: { width: getCalcValue(columnWidth), justifyContent: this.position }
128
+ };
129
+ }));
130
+ }
131
+ ngAfterViewChecked() {
132
+ this.changeDetector.detectChanges();
133
+ }
134
+ ngDoCheck() {
135
+ if (this.dataDiffer.diff(this.data)) {
136
+ this.dataSubject.next(this.data);
137
+ }
138
+ if (this.columnsDiffer.diff(this.columns)) {
139
+ this.columnsSubject.next(this.columns);
140
+ }
141
+ }
142
+ ngAfterContentChecked() {
143
+ this.changeDetector.detectChanges();
144
+ }
145
+ ngAfterContentInit() {
146
+ this.columnWidth$ = combineLatest([
147
+ this.resizeService.onResize$.pipe(startWith({})),
148
+ this.columns$
149
+ ]).pipe(map(([_, columns]) => this.getColumnWidth(this.window.innerWidth, columns.length)));
150
+ }
151
+ onDataTypeToggle() {
152
+ this.dataType = this.dataType == TableDataType.Rows ? TableDataType.Cards : TableDataType.Rows;
153
+ }
154
+ selectRow(model) {
155
+ this.selectedService.select(model.index, model.selected);
156
+ }
157
+ getSortingObservable() {
158
+ const firstSortingColumn = firstOrDefault(this.columns, column => column?.sorting?.enabled || false);
159
+ return this.sortingService.sorting$.pipe(startWith(firstSortingColumn ? { id: firstSortingColumn.field, direction: firstSortingColumn.sorting?.direction || SortingDirection.Ascending } : null));
160
+ }
161
+ getColumnWidth(windowWidth, columnsLength) {
162
+ if (windowWidth <= MediaLimits.Phone)
163
+ return 1;
164
+ if (windowWidth <= MediaLimits.Tablet)
165
+ return Math.ceil(columnsLength / 2);
166
+ return columnsLength;
167
+ }
168
+ handleSelectionEvent(data, selectionEvent) {
169
+ if (selectionEvent != null) {
170
+ if (selectionEvent.index == null) {
171
+ data.forEach(item => item.dataModel.selected = selectionEvent.selected);
172
+ }
173
+ else {
174
+ data.forEach(item => {
175
+ if (selectionEvent.index === item.index) {
176
+ item.dataModel.selected = selectionEvent.selected;
177
+ }
178
+ });
179
+ }
180
+ }
181
+ this.allRowsSelected = all(data, item => Boolean(item.dataModel.selected));
182
+ }
183
+ paginateData(data, paginationEvent) {
184
+ let pagedData = this.pagination.enabled
185
+ ? data.slice((paginationEvent.page - 1) * this.pagination.size, paginationEvent.page * this.pagination.size)
186
+ : data;
187
+ return pagedData;
188
+ }
189
+ sortData(data, sortingEvent) {
190
+ const sortedData = sortingEvent && hasItemBy(this.columns, col => col.field == sortingEvent.id)
191
+ ? sortByPath(data, `dataModel.data.${sortingEvent.id}`, sortingEvent.direction)
192
+ : data;
193
+ return sortedData;
194
+ }
195
+ updateRowSequenceValues(page, data) {
196
+ let from = (page - 1) * this.pagination.size;
197
+ data.forEach(item => {
198
+ item.sequence = from + 1;
199
+ from++;
200
+ });
201
+ }
202
+ }
203
+ TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TableComponent, deps: [{ token: WINDOW }, { token: i1.PaginationService }, { token: i2.TableSelectService }, { token: i1.SortingService }, { token: i0.ChangeDetectorRef }, { token: i1.ResizeService }, { token: i3.ColumnsToggleService }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
204
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: TableComponent, selector: "sfc-table", inputs: { position: "position", delimeter: "delimeter", dataType: "dataType", dataToggle: "dataToggle", showColumns: "showColumns", pagination: "pagination", sequence: "sequence", expanded: "expanded", selectable: "selectable", selectOnClick: "selectOnClick", columnContent: "columnContent", rowContent: "rowContent", cardContent: "cardContent", data: "data", data$: "data$", columns: "columns" }, host: { properties: { "class": "this.dataType" } }, providers: [PaginationService, SortingService, TableSelectService, ColumnsToggleService, ResizeService], queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"container\" *ngIf=\"vm$ | async as vm\">\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <sfc-columns-toggle *ngIf=\"showColumns\"></sfc-columns-toggle>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"Constants.TOGGLE_SWITCHER_LEFT_MODEL\" [rightModel]=\"Constants.TOGGLE_SWITCHER_RIGHT_MODEL\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n\r\n <div *ngIf=\"vm.showColumns\" class=\"columns\">\r\n <div class=\"column\" [ngStyle]=\"vm.columnStyle\" *ngFor=\"let column of vm.columns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n\r\n <sfc-sorting *ngSwitchDefault [model]=\"column.sorting\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <div class=\"row\" *ngFor=\"let item of vm.data\">\r\n\r\n <ng-container [ngSwitch]=\"dataType\">\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Rows\" [referenceContent]=\"rowContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Row\" [defaultContent]=\"defaultRow\"\r\n [contextData]=\"{model: item, columns: vm.columns, columnWidth: vm.columnWidth, position: position}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultRow>\r\n <sfc-default-table-row [columns]=\"vm.columns\" [model]=\"item\" [position]=\"position\"\r\n [columnWidth]=\"vm.columnWidth\" [selectOnClick]=\"selectOnClick\" (selected)=\"selectRow($event)\">\r\n </sfc-default-table-row>\r\n </ng-template>\r\n\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Cards\" [referenceContent]=\"cardContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Card\" [defaultContent]=\"defaultCard\"\r\n [contextData]=\"{model: item, columns: vm.columns}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultCard>\r\n <sfc-default-table-card [columns]=\"vm.columns\" [model]=\"item\" [selectOnClick]=\"selectOnClick\"\r\n (selected)=\"selectRow($event)\">\r\n </sfc-default-table-card>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"pagination-container\">\r\n <sfc-pagination *ngIf=\"pagination.enabled\" [limits]=\"false\" [full]=\"false\" [data$]=\"data$\"></sfc-pagination>\r\n </div>\r\n</div>", styles: [":host .container{display:block;margin:2em auto;width:90%}:host .container .columns-container{display:flex;flex-flow:row wrap;transition:.5s;justify-content:space-between}:host .container .columns-container .columns-actions{display:flex;align-items:center;width:100%}:host .container .columns-container .columns-actions sfc-toggle-switcher{margin-left:auto}:host .container .columns-container .columns{text-align:center;padding:.5em;width:100%;display:flex;flex-flow:row wrap}:host .container .columns-container .columns .column{text-align:center;padding:.5em;display:flex;align-items:center;justify-content:center;box-sizing:border-box}:host .container .rows-container{display:flex;flex-wrap:wrap;justify-content:center;transition:.5s;gap:1em;margin-block:1em 2em}:host .container .rows-container .row{display:contents}\n"], components: [{ type: i4.ColumnsToggleComponent, selector: "sfc-columns-toggle" }, { type: i1.ToggleSwitcherComponent, selector: "sfc-toggle-switcher", inputs: ["active", "leftModel", "rightModel"] }, { type: i5.SelectableTableColumnComponent, selector: "sfc-selectable-table-column", inputs: ["selected"] }, { type: i1.SortingComponent, selector: "sfc-sorting", inputs: ["id", "model"] }, { type: i1.TemplateContentComponent, selector: "sfc-template-content", inputs: ["contextData", "referenceContent", "templateType", "templatesContent", "defaultContent"] }, { type: i6.DefaultTableColumnComponent, selector: "sfc-default-table-column", inputs: ["model"] }, { type: i1.DelimeterComponent, selector: "sfc-delimeter" }, { type: i7.DefaultTableRowComponent, selector: "sfc-default-table-row" }, { type: i8.DefaultTableCardComponent, selector: "sfc-default-table-card" }, { type: i1.PaginationComponent, selector: "sfc-pagination", inputs: ["count", "full", "limits", "data$"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "async": i9.AsyncPipe } });
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TableComponent, decorators: [{
206
+ type: Component,
207
+ args: [{ selector: 'sfc-table', providers: [PaginationService, SortingService, TableSelectService, ColumnsToggleService, ResizeService], template: "<div class=\"container\" *ngIf=\"vm$ | async as vm\">\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <sfc-columns-toggle *ngIf=\"showColumns\"></sfc-columns-toggle>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"Constants.TOGGLE_SWITCHER_LEFT_MODEL\" [rightModel]=\"Constants.TOGGLE_SWITCHER_RIGHT_MODEL\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n\r\n <div *ngIf=\"vm.showColumns\" class=\"columns\">\r\n <div class=\"column\" [ngStyle]=\"vm.columnStyle\" *ngFor=\"let column of vm.columns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n\r\n <sfc-sorting *ngSwitchDefault [model]=\"column.sorting\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <div class=\"row\" *ngFor=\"let item of vm.data\">\r\n\r\n <ng-container [ngSwitch]=\"dataType\">\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Rows\" [referenceContent]=\"rowContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Row\" [defaultContent]=\"defaultRow\"\r\n [contextData]=\"{model: item, columns: vm.columns, columnWidth: vm.columnWidth, position: position}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultRow>\r\n <sfc-default-table-row [columns]=\"vm.columns\" [model]=\"item\" [position]=\"position\"\r\n [columnWidth]=\"vm.columnWidth\" [selectOnClick]=\"selectOnClick\" (selected)=\"selectRow($event)\">\r\n </sfc-default-table-row>\r\n </ng-template>\r\n\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Cards\" [referenceContent]=\"cardContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Card\" [defaultContent]=\"defaultCard\"\r\n [contextData]=\"{model: item, columns: vm.columns}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultCard>\r\n <sfc-default-table-card [columns]=\"vm.columns\" [model]=\"item\" [selectOnClick]=\"selectOnClick\"\r\n (selected)=\"selectRow($event)\">\r\n </sfc-default-table-card>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"pagination-container\">\r\n <sfc-pagination *ngIf=\"pagination.enabled\" [limits]=\"false\" [full]=\"false\" [data$]=\"data$\"></sfc-pagination>\r\n </div>\r\n</div>", styles: [":host .container{display:block;margin:2em auto;width:90%}:host .container .columns-container{display:flex;flex-flow:row wrap;transition:.5s;justify-content:space-between}:host .container .columns-container .columns-actions{display:flex;align-items:center;width:100%}:host .container .columns-container .columns-actions sfc-toggle-switcher{margin-left:auto}:host .container .columns-container .columns{text-align:center;padding:.5em;width:100%;display:flex;flex-flow:row wrap}:host .container .columns-container .columns .column{text-align:center;padding:.5em;display:flex;align-items:center;justify-content:center;box-sizing:border-box}:host .container .rows-container{display:flex;flex-wrap:wrap;justify-content:center;transition:.5s;gap:1em;margin-block:1em 2em}:host .container .rows-container .row{display:contents}\n"] }]
208
+ }], ctorParameters: function () { return [{ type: Window, decorators: [{
209
+ type: Inject,
210
+ args: [WINDOW]
211
+ }] }, { type: i1.PaginationService }, { type: i2.TableSelectService }, { type: i1.SortingService }, { type: i0.ChangeDetectorRef }, { type: i1.ResizeService }, { type: i3.ColumnsToggleService }, { type: i0.IterableDiffers }]; }, propDecorators: { position: [{
212
+ type: Input
213
+ }], delimeter: [{
214
+ type: Input
215
+ }], dataType: [{
216
+ type: Input
217
+ }, {
218
+ type: HostBinding,
219
+ args: ['class']
220
+ }], dataToggle: [{
221
+ type: Input
222
+ }], showColumns: [{
223
+ type: Input
224
+ }], pagination: [{
225
+ type: Input
226
+ }], sequence: [{
227
+ type: Input
228
+ }], expanded: [{
229
+ type: Input
230
+ }], selectable: [{
231
+ type: Input
232
+ }], selectOnClick: [{
233
+ type: Input
234
+ }], columnContent: [{
235
+ type: Input
236
+ }], rowContent: [{
237
+ type: Input
238
+ }], cardContent: [{
239
+ type: Input
240
+ }], data: [{
241
+ type: Input
242
+ }], data$: [{
243
+ type: Input
244
+ }], columns: [{
245
+ type: Input
246
+ }], templates: [{
247
+ type: ContentChildren,
248
+ args: [TemplateReferenceDirective, { read: TemplateReferenceDirective }]
249
+ }] } });
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkYsU0FBUyxFQUFFLGVBQWUsRUFBVyxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBbUUsTUFBTSxlQUFlLENBQUM7QUFDNVAsT0FBTyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwTyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUVyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7QUFTNUQsTUFBTSxPQUFPLGNB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TUFBTTsyQkFBQyxNQUFNO3VRQTVGaEIsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsT0FBTztnQkFJcEIsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQU1OLGFBQWE7c0JBRFosS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQVFOLElBQUk7c0JBREgsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUs7Z0JBc0JOLE9BQU87c0JBRE4sS0FBSztnQkFvQk4sU0FBUztzQkFEUixlQUFlO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBEb0NoZWNrLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgSXRlcmFibGVEaWZmZXIsIEl0ZXJhYmxlRGlmZmVycywgT25Jbml0LCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGFsbCwgZmlyc3RPckRlZmF1bHQsIGdldENhbGNWYWx1ZSwgaGFzSXRlbUJ5LCBpc0RlZmluZWQsIE1lZGlhTGltaXRzLCBQYWdpbmF0aW9uU2VydmljZSwgUG9zaXRpb24sIFJlc2l6ZVNlcnZpY2UsIHNvcnRCeVBhdGgsIFNvcnRpbmdEaXJlY3Rpb24sIFNvcnRpbmdTZXJ2aWNlLCBUZW1wbGF0ZVJlZmVyZW5jZURpcmVjdGl2ZSwgV0lORE9XIH0gZnJvbSAnbmd4LXNmYy1jb21tb24nO1xyXG5pbXBvcnQgeyBJUGFnaW5hdGlvbkV2ZW50IH0gZnJvbSAnbmd4LXNmYy1jb21tb24nO1xyXG5pbXBvcnQgeyBJU29ydGluZ0V2ZW50IH0gZnJvbSAnbmd4LXNmYy1jb21tb24nO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRhYmxlQ29sdW1uVHlwZSB9IGZyb20gJy4vcGFydHMvY29sdW1ucy90YWJsZS1jb2x1bW4tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgSURlZmF1bHRUYWJsZUNvbHVtbklubmVyTW9kZWwsIElEZWZhdWx0VGFibGVDb2x1bW5Nb2RlbCB9IGZyb20gJy4vcGFydHMvY29sdW1ucy90YWJsZS1jb2x1bW4ubW9kZWwnO1xyXG5pbXBvcnQgeyBDb2x1bW5zVG9nZ2xlU2VydmljZSB9IGZyb20gJy4vcGFydHMvdG9nZ2xlL3NlcnZpY2UvY29sdW1ucy10b2dnbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IElUYWJsZVNlbGVjdEV2ZW50IH0gZnJvbSAnLi9zZXJ2aWNlL3NlbGVjdC90YWJsZS1zZWxlY3QuZXZlbnQnO1xyXG5pbXBvcnQgeyBUYWJsZVNlbGVjdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2Uvc2VsZWN0L3RhYmxlLXNlbGVjdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGFibGVEYXRhVHlwZSB9IGZyb20gJy4vZW51bXMvdGFibGUtZGF0YS10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBJVGFibGVQYWdpbmF0aW9uTW9kZWwgfSBmcm9tICcuL21vZGVscy90YWJsZS1wYWdpbmF0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgVGFibGVDb25zdGFudHMgfSBmcm9tICcuL3RhYmxlLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IFRhYmxlVGVtcGxhdGUgfSBmcm9tICcuL2VudW1zL3RhYmxlLXRlbXBsYXRlLmVudW0nO1xyXG5pbXBvcnQgeyBJVGFibGVEYXRhTW9kZWwsIElUYWJsZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvdGFibGUubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZmMtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtQYWdpbmF0aW9uU2VydmljZSwgU29ydGluZ1NlcnZpY2UsIFRhYmxlU2VsZWN0U2VydmljZSwgQ29sdW1uc1RvZ2dsZVNlcnZpY2UsIFJlc2l6ZVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgRG9DaGVjayB7XHJcblxyXG4gIFRhYmxlRGF0YVR5cGUgPSBUYWJsZURhdGFUeXBlO1xyXG4gIFRhYmxlQ29sdW1uVHlwZSA9IFRhYmxlQ29sdW1uVHlwZTtcclxuICBUYWJsZVRlbXBsYXRlID0gVGFibGVUZW1wbGF0ZTtcclxuICBDb25zdGFudHMgPSBUYWJsZUNvbnN0YW50cztcclxuXHJcbiAgQElucHV0KClcclxuICBwb3NpdGlvbjogUG9zaXRpb24gPSBQb3NpdGlvbi5DZW50ZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGVsaW1ldGVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgZGF0YVR5cGU6IFRhYmxlRGF0YVR5cGUgPSBUYWJsZURhdGFUeXBlLlJvd3M7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YVRvZ2dsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0NvbHVtbnM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBhZ2luYXRpb246IElUYWJsZVBhZ2luYXRpb25Nb2RlbCA9IHsgZW5hYmxlZDogdHJ1ZSwgcGFnZTogVGFibGVDb25zdGFudHMuREVGQVVMVF9QQUdFLCBzaXplOiBUYWJsZUNvbnN0YW50cy5ERUZBVUxUX1BBR0VfU0laRSB9O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNlcXVlbmNlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZWxlY3RhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0T25DbGljazogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBUZW1wbGF0ZSByZWZlcmVuY2VzIFxyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvbHVtbkNvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJvd0NvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNhcmRDb250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLy8gRW5kIFRlbXBsYXRlIHJlZmVyZW5jZXNcclxuXHJcbiAgLy9EYXRhXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YTogSVRhYmxlRGF0YU1vZGVsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgZGF0YSQodmFsdWU6IE9ic2VydmFibGU8SVRhYmxlRGF0YU1vZGVsW10+KSB7XHJcbiAgICB0aGlzLl9kYXRhJCA9IHZhbHVlO1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uU2VydmljZS5pbml0KHRoaXMuX2RhdGEkLCB0aGlzLnBhZ2luYXRpb24ucGFnZSwgdGhpcy5wYWdpbmF0aW9uLnNpemUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRhdGEkKCk6IE9ic2VydmFibGU8SVRhYmxlRGF0YU1vZGVsW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhJDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGF0YSQhOiBPYnNlcnZhYmxlPElUYWJsZURhdGFNb2RlbFtdPlxyXG5cclxuICBwcml2YXRlIGRhdGFEaWZmZXIhOiBJdGVyYWJsZURpZmZlcjxhbnk+O1xyXG5cclxuICBwcml2YXRlIGRhdGFTdWJqZWN0ITogQmVoYXZpb3JTdWJqZWN0PElUYWJsZURhdGFNb2RlbFtdPjtcclxuXHJcbiAgcHJpdmF0ZSBkYXRhVmFsdWUkITogT2JzZXJ2YWJsZTxJVGFibGVNb2RlbFtdPjtcclxuXHJcbiAgLy8gRW5kIERhdGFcclxuXHJcbiAgLy8gQ29sdW1uc1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvbHVtbnM6IElEZWZhdWx0VGFibGVDb2x1bW5Nb2RlbFtdID0gW107XHJcblxyXG4gIHByaXZhdGUgY29sdW1uc0RpZmZlciE6IEl0ZXJhYmxlRGlmZmVyPElEZWZhdWx0VGFibGVDb2x1bW5Nb2RlbD47XHJcblxyXG4gIHByaXZhdGUgY29sdW1uc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxJRGVmYXVsdFRhYmxlQ29sdW1uTW9kZWxbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElEZWZhdWx0VGFibGVDb2x1bW5Nb2RlbFtdPih0aGlzLmNvbHVtbnMpO1xyXG5cclxuICBwcml2YXRlIGNvbHVtbnMkITogT2JzZXJ2YWJsZTxJRGVmYXVsdFRhYmxlQ29sdW1uSW5uZXJNb2RlbFtdPjtcclxuXHJcbiAgcHJpdmF0ZSBjb2x1bW5zU29ydGluZyQhOiBPYnNlcnZhYmxlPElEZWZhdWx0VGFibGVDb2x1bW5Jbm5lck1vZGVsW10+O1xyXG5cclxuICBwcml2YXRlIGNvbHVtbldpZHRoJCE6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuXHJcbiAgLy8gRW5kIENvbHVtbnMgIFxyXG5cclxuICBwdWJsaWMgYWxsUm93c1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyB2bSQhOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVSZWZlcmVuY2VEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWZlcmVuY2VEaXJlY3RpdmUgfSlcclxuICB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZmVyZW5jZURpcmVjdGl2ZT4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgd2luZG93OiBXaW5kb3csXHJcbiAgICBwcml2YXRlIHBhZ2luYXRpb25TZXJ2aWNlOiBQYWdpbmF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgc2VsZWN0ZWRTZXJ2aWNlOiBUYWJsZVNlbGVjdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNvcnRpbmdTZXJ2aWNlOiBTb3J0aW5nU2VydmljZSxcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByZXNpemVTZXJ2aWNlOiBSZXNpemVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb2x1bW5zVG9nZ2xlU2VydmljZTogQ29sdW1uc1RvZ2dsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGl0ZXJhYmxlRGlmZmVyczogSXRlcmFibGVEaWZmZXJzKSB7XHJcbiAgICB0aGlzLmRhdGFEaWZmZXIgPSBpdGVyYWJsZURpZmZlcnMuZmluZChbXSkuY3JlYXRlPEl0ZXJhYmxlRGlmZmVyPElUYWJsZURhdGFNb2RlbD4+KHVuZGVmaW5lZCk7XHJcbiAgICB0aGlzLmNvbHVtbnNEaWZmZXIgPSBpdGVyYWJsZURpZmZlcnMuZmluZChbXSkuY3JlYXRlPElEZWZhdWx0VGFibGVDb2x1bW5Nb2RlbD4odW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gaWYgZGF0YSBpcyBzdGF0aWMsIG1ha2UgaXQgb2JzZXJ2YWJsZVxyXG4gICAgaWYgKCFpc0RlZmluZWQodGhpcy5kYXRhJCkpIHtcclxuICAgICAgdGhpcy5kYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5kYXRhKTtcclxuICAgICAgdGhpcy5kYXRhJCA9IHRoaXMuZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2V0IHVwIGRhdGEgbW9kZWxzIHdpdGggaW5kZXhlc1xyXG4gICAgY29uc3QgZGF0YUluZGV4ZWQkOiBPYnNlcnZhYmxlPElUYWJsZU1vZGVsW10+ID0gdGhpcy5kYXRhJC5waXBlKG1hcCgoZGF0YSkgPT4gZGF0YS5tYXAoKGRhdGFNb2RlbCwgaW5kZXgpID0+IHsgcmV0dXJuIHsgaW5kZXgsIGRhdGFNb2RlbCB9IH0pKSksXHJcbiAgICAgIC8vIHNldCB1cCBzb3J0aW5nIG9ic2VydmFibGVcclxuICAgICAgc29ydGluZyQ6IE9ic2VydmFibGU8SVNvcnRpbmdFdmVudCB8IG51bGw+ID0gdGhpcy5nZXRTb3J0aW5nT2JzZXJ2YWJsZSgpLFxyXG4gICAgICAvLyBzZXQgdXAgc2VsZWN0aW9uIG9ic2VydmFibGVcclxuICAgICAgc2VsZWN0aW9uJDogT2JzZXJ2YWJsZTxJVGFibGVTZWxlY3RFdmVudCB8IG51bGw+ID0gdGhpcy5zZWxlY3RlZFNlcnZpY2Uuc2VsZWN0JC5waXBlKFxyXG4gICAgICAgIHN0YXJ0V2l0aChudWxsKVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIHNldCB1cCBjb2x1bW5zIChjb25kaXRpb25hbGx5IGFkZCBzZXF1ZW5jZSBvciBzZWxlY3RhYmxlIGNvbHVtbnMpXHJcbiAgICB0aGlzLmNvbHVtbnMkID0gdGhpcy5jb2x1bW5zU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKFxyXG4gICAgICBtYXAoY29sdW1ucyA9PiB7XHJcbiAgICAgICAgbGV0IHRhYmxlQ29sdW1ucyA9IGNvbHVtbnMuc2xpY2UoMCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNlcXVlbmNlKVxyXG4gICAgICAgICAgdGFibGVDb2x1bW5zLnVuc2hpZnQoVGFibGVDb25zdGFudHMuU0VRVUVOQ0VfQ09MVU1OKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0YWJsZSlcclxuICAgICAgICAgIHRhYmxlQ29sdW1ucy51bnNoaWZ0KFRhYmxlQ29uc3RhbnRzLlNFTEVDVEFCTEVfQ09MVU1OKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQpXHJcbiAgICAgICAgICB0YWJsZUNvbHVtbnMucHVzaChUYWJsZUNvbnN0YW50cy5FWFBBTkRFRF9DT0xVTU4pO1xyXG5cclxuICAgICAgICByZXR1cm4gdGFibGVDb2x1bW5zO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbnNTb3J0aW5nJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuY29sdW1ucyQsIHNvcnRpbmckXSkucGlwZShcclxuICAgICAgbWFwKChbY29sdW1ucywgZXZlbnRdKSA9PiB7XHJcbiAgICAgICAgY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XHJcbiAgICAgICAgICBpZiAoY29sdW1uLnNvcnRpbmc/LmVuYWJsZWQpIHtcclxuICAgICAgICAgICAgY29sdW1uLnNvcnRpbmcuYWN0aXZlID0gY29sdW1uLmZpZWxkID09IGV2ZW50Py5pZCB8fCBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgIGlmICghY29sdW1uLnNvcnRpbmcuYWN0aXZlKVxyXG4gICAgICAgICAgICAgIGNvbHVtbi5zb3J0aW5nLmRpcmVjdGlvbiA9IFNvcnRpbmdEaXJlY3Rpb24uQXNjZW5kaW5nO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gY29sdW1ucztcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gc2V0IHVwIG1haW4gZGF0YSBvYnNlcnZhYmxlXHJcbiAgICB0aGlzLmRhdGFWYWx1ZSQgPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgZGF0YUluZGV4ZWQkLFxyXG4gICAgICB0aGlzLnBhZ2luYXRpb25TZXJ2aWNlLnBhZ2luYXRpb24kLFxyXG4gICAgICBzb3J0aW5nJCxcclxuICAgICAgc2VsZWN0aW9uJFxyXG4gICAgXSkucGlwZShcclxuICAgICAgbWFwKChbZGF0YSwgcGFnaW5hdGlvbkV2ZW50LCBzb3J0aW5nRXZlbnQsIHNlbGVjdGlvbkV2ZW50XSkgPT4ge1xyXG4gICAgICAgIC8vIGhhbmRsZSBzZWxlY3Rpb25cclxuICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdGlvbkV2ZW50KGRhdGEsIHNlbGVjdGlvbkV2ZW50KTtcclxuXHJcbiAgICAgICAgLy8gaGFuZGxlIHBhZ2luYXRpb24gYW5kIHNvcnRpbmdcclxuICAgICAgICBsZXQgc29ydGVkRGF0YSA9IHRoaXMuc29ydERhdGEoZGF0YSwgc29ydGluZ0V2ZW50KSxcclxuICAgICAgICAgIHBhZ2luYXRlZERhdGEgPSB0aGlzLnBhZ2luYXRlRGF0YShzb3J0ZWREYXRhLCBwYWdpbmF0aW9uRXZlbnQpO1xyXG5cclxuICAgICAgICAvLyBoYW5kbGUgZGF0YSBzZXF1ZW5jZSAgXHJcbiAgICAgICAgaWYgKHRoaXMuc2VxdWVuY2UpIHtcclxuICAgICAgICAgIHRoaXMudXBkYXRlUm93U2VxdWVuY2VWYWx1ZXMocGFnaW5hdGlvbkV2ZW50LnBhZ2UsIHBhZ2luYXRlZERhdGEpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcGFnaW5hdGVkRGF0YTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAvLyBjb21iaW5lIGFsbCBvYnNlcnZhYmxlIHRvIHZpZXcgbW9kZWxcclxuICAgIHRoaXMudm0kID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgIHRoaXMuY29sdW1uc1NvcnRpbmckLFxyXG4gICAgICB0aGlzLmRhdGFWYWx1ZSQsXHJcbiAgICAgIHRoaXMuY29sdW1uc1RvZ2dsZVNlcnZpY2Uuc2hvd0NvbHVtbnMkLFxyXG4gICAgICB0aGlzLmNvbHVtbldpZHRoJFxyXG4gICAgXSkucGlwZShcclxuICAgICAgbWFwKChbY29sdW1ucywgZGF0YSwgc2hvd0NvbHVtbnMsIGNvbHVtbldpZHRoXSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBjb2x1bW5zLFxyXG4gICAgICAgICAgZGF0YSxcclxuICAgICAgICAgIGNvbHVtbldpZHRoLFxyXG4gICAgICAgICAgc2hvd0NvbHVtbnM6IHRoaXMuc2hvd0NvbHVtbnMgJiYgc2hvd0NvbHVtbnMsXHJcbiAgICAgICAgICBjb2x1bW5TdHlsZTogeyB3aWR0aDogZ2V0Q2FsY1ZhbHVlKGNvbHVtbldpZHRoKSwganVzdGlmeUNvbnRlbnQ6IHRoaXMucG9zaXRpb24gfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICApKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdEb0NoZWNrKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YURpZmZlci5kaWZmKHRoaXMuZGF0YSkpIHtcclxuICAgICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KHRoaXMuZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29sdW1uc0RpZmZlci5kaWZmKHRoaXMuY29sdW1ucykpIHtcclxuICAgICAgdGhpcy5jb2x1bW5zU3ViamVjdC5uZXh0KHRoaXMuY29sdW1ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29sdW1uV2lkdGgkID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgIHRoaXMucmVzaXplU2VydmljZS5vblJlc2l6ZSQucGlwZShzdGFydFdpdGgoe30pKSxcclxuICAgICAgdGhpcy5jb2x1bW5zJFxyXG4gICAgXSkucGlwZShtYXAoKFtfLCBjb2x1bW5zXSkgPT4gdGhpcy5nZXRDb2x1bW5XaWR0aCh0aGlzLndpbmRvdy5pbm5lcldpZHRoLCBjb2x1bW5zLmxlbmd0aCkpKTtcclxuICB9XHJcblxyXG4gIG9uRGF0YVR5cGVUb2dnbGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGFUeXBlID0gdGhpcy5kYXRhVHlwZSA9PSBUYWJsZURhdGFUeXBlLlJvd3MgPyBUYWJsZURhdGFUeXBlLkNhcmRzIDogVGFibGVEYXRhVHlwZS5Sb3dzO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Um93KG1vZGVsOiBJVGFibGVTZWxlY3RFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFNlcnZpY2Uuc2VsZWN0KG1vZGVsLmluZGV4LCBtb2RlbC5zZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNvcnRpbmdPYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8SVNvcnRpbmdFdmVudCB8IG51bGw+IHtcclxuICAgIGNvbnN0IGZpcnN0U29ydGluZ0NvbHVtbjogSURlZmF1bHRUYWJsZUNvbHVtbk1vZGVsIHwgdW5kZWZpbmVkID0gZmlyc3RPckRlZmF1bHQodGhpcy5jb2x1bW5zLCBjb2x1bW4gPT4gY29sdW1uPy5zb3J0aW5nPy5lbmFibGVkIHx8IGZhbHNlKTtcclxuICAgIHJldHVybiB0aGlzLnNvcnRpbmdTZXJ2aWNlLnNvcnRpbmckLnBpcGUoXHJcbiAgICAgIHN0YXJ0V2l0aChmaXJzdFNvcnRpbmdDb2x1bW4gPyB7IGlkOiBmaXJzdFNvcnRpbmdDb2x1bW4uZmllbGQsIGRpcmVjdGlvbjogZmlyc3RTb3J0aW5nQ29sdW1uLnNvcnRpbmc/LmRpcmVjdGlvbiB8fCBTb3J0aW5nRGlyZWN0aW9uLkFzY2VuZGluZyB9IDogbnVsbClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvbHVtbldpZHRoKHdpbmRvd1dpZHRoOiBudW1iZXIsIGNvbHVtbnNMZW5ndGg6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBpZiAod2luZG93V2lkdGggPD0gTWVkaWFMaW1pdHMuUGhvbmUpXHJcbiAgICAgIHJldHVybiAxO1xyXG5cclxuICAgIGlmICh3aW5kb3dXaWR0aCA8PSBNZWRpYUxpbWl0cy5UYWJsZXQpXHJcbiAgICAgIHJldHVybiBNYXRoLmNlaWwoY29sdW1uc0xlbmd0aCAvIDIpO1xyXG5cclxuICAgIHJldHVybiBjb2x1bW5zTGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVTZWxlY3Rpb25FdmVudChkYXRhOiBJVGFibGVNb2RlbFtdLCBzZWxlY3Rpb25FdmVudDogSVRhYmxlU2VsZWN0RXZlbnQgfCBudWxsKTogdm9pZCB7XHJcbiAgICBpZiAoc2VsZWN0aW9uRXZlbnQgIT0gbnVsbCkge1xyXG4gICAgICBpZiAoc2VsZWN0aW9uRXZlbnQuaW5kZXggPT0gbnVsbCkge1xyXG4gICAgICAgIGRhdGEuZm9yRWFjaChpdGVtID0+IGl0ZW0uZGF0YU1vZGVsLnNlbGVjdGVkID0gc2VsZWN0aW9uRXZlbnQuc2VsZWN0ZWQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRhdGEuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICAgIGlmIChzZWxlY3Rpb25FdmVudC5pbmRleCA9PT0gaXRlbS5pbmRleCkge1xyXG4gICAgICAgICAgICBpdGVtLmRhdGFNb2RlbC5zZWxlY3RlZCA9IHNlbGVjdGlvbkV2ZW50LnNlbGVjdGVkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hbGxSb3dzU2VsZWN0ZWQgPSBhbGwoZGF0YSwgaXRlbSA9PiBCb29sZWFuKGl0ZW0uZGF0YU1vZGVsLnNlbGVjdGVkKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhZ2luYXRlRGF0YShkYXRhOiBJVGFibGVNb2RlbFtdLCBwYWdpbmF0aW9uRXZlbnQ6IElQYWdpbmF0aW9uRXZlbnQpOiBJVGFibGVNb2RlbFtdIHtcclxuICAgIGxldCBwYWdlZERhdGEgPSB0aGlzLnBhZ2luYXRpb24uZW5hYmxlZFxyXG4gICAgICA/IGRhdGEuc2xpY2UoKHBhZ2luYXRpb25FdmVudC5wYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb24uc2l6ZSwgcGFnaW5hdGlvbkV2ZW50LnBhZ2UgKiB0aGlzLnBhZ2luYXRpb24uc2l6ZSlcclxuICAgICAgOiBkYXRhO1xyXG5cclxuICAgIHJldHVybiBwYWdlZERhdGE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNvcnREYXRhKGRhdGE6IElUYWJsZU1vZGVsW10sIHNvcnRpbmdFdmVudDogSVNvcnRpbmdFdmVudCB8IG51bGwpOiBJVGFibGVNb2RlbFtdIHtcclxuICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0aW5nRXZlbnQgJiYgaGFzSXRlbUJ5KHRoaXMuY29sdW1ucywgY29sID0+IGNvbC5maWVsZCA9PSBzb3J0aW5nRXZlbnQuaWQpXHJcbiAgICAgID8gc29ydEJ5UGF0aChkYXRhLCBgZGF0YU1vZGVsLmRhdGEuJHtzb3J0aW5nRXZlbnQuaWR9YCwgc29ydGluZ0V2ZW50LmRpcmVjdGlvbilcclxuICAgICAgOiBkYXRhO1xyXG5cclxuICAgIHJldHVybiBzb3J0ZWREYXRhO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVSb3dTZXF1ZW5jZVZhbHVlcyhwYWdlOiBudW1iZXIsIGRhdGE6IGFueVtdKSB7XHJcbiAgICBsZXQgZnJvbSA9IChwYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb24uc2l6ZTtcclxuICAgIGRhdGEuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgaXRlbS5zZXF1ZW5jZSA9IGZyb20gKyAxO1xyXG4gICAgICBmcm9tKys7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiICpuZ0lmPVwidm0kIHwgYXN5bmMgYXMgdm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zLWFjdGlvbnNcIj5cclxuICAgICAgICAgICAgPHNmYy1jb2x1bW5zLXRvZ2dsZSAqbmdJZj1cInNob3dDb2x1bW5zXCI+PC9zZmMtY29sdW1ucy10b2dnbGU+XHJcbiAgICAgICAgICAgIDxzZmMtdG9nZ2xlLXN3aXRjaGVyICpuZ0lmPVwiZGF0YVRvZ2dsZVwiIFthY3RpdmVdPVwiZGF0YVR5cGUgPT09IFRhYmxlRGF0YVR5cGUuQ2FyZHNcIlxyXG4gICAgICAgICAgICAgICAgW2xlZnRNb2RlbF09XCJDb25zdGFudHMuVE9HR0xFX1NXSVRDSEVSX0xFRlRfTU9ERUxcIiBbcmlnaHRNb2RlbF09XCJDb25zdGFudHMuVE9HR0xFX1NXSVRDSEVSX1JJR0hUX01PREVMXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRhdGFUeXBlVG9nZ2xlKClcIj5cclxuICAgICAgICAgICAgPC9zZmMtdG9nZ2xlLXN3aXRjaGVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidm0uc2hvd0NvbHVtbnNcIiBjbGFzcz1cImNvbHVtbnNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiIFtuZ1N0eWxlXT1cInZtLmNvbHVtblN0eWxlXCIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiB2bS5jb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjb2x1bW4udHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzZmMtc2VsZWN0YWJsZS10YWJsZS1jb2x1bW4gKm5nU3dpdGNoQ2FzZT1cIlRhYmxlQ29sdW1uVHlwZS5TZWxlY3RhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cImFsbFJvd3NTZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2ZjLXNlbGVjdGFibGUtdGFibGUtY29sdW1uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8c2ZjLXNvcnRpbmcgKm5nU3dpdGNoRGVmYXVsdCBbbW9kZWxdPVwiY29sdW1uLnNvcnRpbmdcIiBbaWRdPVwiY29sdW1uLmZpZWxkXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2ZjLXRlbXBsYXRlLWNvbnRlbnQgW3JlZmVyZW5jZUNvbnRlbnRdPVwiY29sdW1uQ29udGVudFwiIFt0ZW1wbGF0ZXNDb250ZW50XT1cInRlbXBsYXRlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVUeXBlXT1cIlRhYmxlVGVtcGxhdGUuQ29sdW1uXCIgW2RlZmF1bHRDb250ZW50XT1cImRlZmF1bHRDb2x1bW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHREYXRhXT1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NmYy10ZW1wbGF0ZS1jb250ZW50PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29sdW1uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNmYy1kZWZhdWx0LXRhYmxlLWNvbHVtbiBbbW9kZWxdPVwiY29sdW1uXCI+PC9zZmMtZGVmYXVsdC10YWJsZS1jb2x1bW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2ZjLXNvcnRpbmc+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8c2ZjLWRlbGltZXRlciAqbmdJZj1cImRlbGltZXRlclwiPjwvc2ZjLWRlbGltZXRlcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicm93cy1jb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygdm0uZGF0YVwiPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGF0YVR5cGVcIj5cclxuICAgICAgICAgICAgICAgIDxzZmMtdGVtcGxhdGUtY29udGVudCAqbmdTd2l0Y2hDYXNlPVwiVGFibGVEYXRhVHlwZS5Sb3dzXCIgW3JlZmVyZW5jZUNvbnRlbnRdPVwicm93Q29udGVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlc0NvbnRlbnRdPVwidGVtcGxhdGVzXCIgW3RlbXBsYXRlVHlwZV09XCJUYWJsZVRlbXBsYXRlLlJvd1wiIFtkZWZhdWx0Q29udGVudF09XCJkZWZhdWx0Um93XCJcclxuICAgICAgICAgICAgICAgICAgICBbY29udGV4dERhdGFdPVwie21vZGVsOiBpdGVtLCBjb2x1bW5zOiB2bS5jb2x1bW5zLCBjb2x1bW5XaWR0aDogdm0uY29sdW1uV2lkdGgsIHBvc2l0aW9uOiBwb3NpdGlvbn1cIj5cclxuICAgICAgICAgICAgICAgIDwvc2ZjLXRlbXBsYXRlLWNvbnRlbnQ+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Um93PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzZmMtZGVmYXVsdC10YWJsZS1yb3cgW2NvbHVtbnNdPVwidm0uY29sdW1uc1wiIFttb2RlbF09XCJpdGVtXCIgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbldpZHRoXT1cInZtLmNvbHVtbldpZHRoXCIgW3NlbGVjdE9uQ2xpY2tdPVwic2VsZWN0T25DbGlja1wiIChzZWxlY3RlZCk9XCJzZWxlY3RSb3coJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2ZjLWRlZmF1bHQtdGFibGUtcm93PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICA8c2ZjLXRlbXBsYXRlLWNvbnRlbnQgKm5nU3dpdGNoQ2FzZT1cIlRhYmxlRGF0YVR5cGUuQ2FyZHNcIiBbcmVmZXJlbmNlQ29udGVudF09XCJjYXJkQ29udGVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlc0NvbnRlbnRdPVwidGVtcGxhdGVzXCIgW3RlbXBsYXRlVHlwZV09XCJUYWJsZVRlbXBsYXRlLkNhcmRcIiBbZGVmYXVsdENvbnRlbnRdPVwiZGVmYXVsdENhcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb250ZXh0RGF0YV09XCJ7bW9kZWw6IGl0ZW0sIGNvbHVtbnM6IHZtLmNvbHVtbnN9XCI+XHJcbiAgICAgICAgICAgICAgICA8L3NmYy10ZW1wbGF0ZS1jb250ZW50PlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNmYy1kZWZhdWx0LXRhYmxlLWNhcmQgW2NvbHVtbnNdPVwidm0uY29sdW1uc1wiIFttb2RlbF09XCJpdGVtXCIgW3NlbGVjdE9uQ2xpY2tdPVwic2VsZWN0T25DbGlja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJzZWxlY3RSb3coJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2ZjLWRlZmF1bHQtdGFibGUtY2FyZD5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInBhZ2luYXRpb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgPHNmYy1wYWdpbmF0aW9uICpuZ0lmPVwicGFnaW5hdGlvbi5lbmFibGVkXCIgW2xpbWl0c109XCJmYWxzZVwiIFtmdWxsXT1cImZhbHNlXCIgW2RhdGEkXT1cImRhdGEkXCI+PC9zZmMtcGFnaW5hdGlvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,11 @@
1
+ import { TableColumnType } from "./parts/columns/table-column-type.enum";
2
+ export class TableConstants {
3
+ }
4
+ TableConstants.SEQUENCE_COLUMN = { name: '№', field: '', type: TableColumnType.Sequence };
5
+ TableConstants.SELECTABLE_COLUMN = { name: '', field: '', type: TableColumnType.Selectable };
6
+ TableConstants.EXPANDED_COLUMN = { name: '', field: '', type: TableColumnType.Expanded };
7
+ TableConstants.TOGGLE_SWITCHER_LEFT_MODEL = { label: 'List', icon: 'fa fa-table-list' };
8
+ TableConstants.TOGGLE_SWITCHER_RIGHT_MODEL = { label: 'Cards', icon: 'fa fa-border-all' };
9
+ TableConstants.DEFAULT_PAGE = 1;
10
+ TableConstants.DEFAULT_PAGE_SIZE = 5;
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3pFLE1BQU0sT0FBTyxjQUFjOztBQUNoQiw4QkFBZSxHQUFrQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzFHLGdDQUFpQixHQUFrQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQzdHLDhCQUFlLEdBQWtDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDekcseUNBQTBCLEdBQXlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztBQUMvRiwwQ0FBMkIsR0FBeUIsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0FBQ2pHLDJCQUFZLEdBQVcsQ0FBQyxDQUFDO0FBQ3pCLGdDQUFpQixHQUFXLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEZWZhdWx0VGFibGVDb2x1bW5Jbm5lck1vZGVsIH0gZnJvbSBcIi4vcGFydHMvY29sdW1ucy90YWJsZS1jb2x1bW4ubW9kZWxcIjtcclxuaW1wb3J0IHsgVGFibGVDb2x1bW5UeXBlIH0gZnJvbSBcIi4vcGFydHMvY29sdW1ucy90YWJsZS1jb2x1bW4tdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7IElUb2dnbGVTd2l0Y2hlck1vZGVsIH0gZnJvbSBcIm5neC1zZmMtY29tbW9uXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVDb25zdGFudHMge1xyXG4gICAgc3RhdGljIFNFUVVFTkNFX0NPTFVNTjogSURlZmF1bHRUYWJsZUNvbHVtbklubmVyTW9kZWwgPSB7IG5hbWU6ICfihJYnLCBmaWVsZDogJycsIHR5cGU6IFRhYmxlQ29sdW1uVHlwZS5TZXF1ZW5jZSB9O1xyXG4gICAgc3RhdGljIFNFTEVDVEFCTEVfQ09MVU1OOiBJRGVmYXVsdFRhYmxlQ29sdW1uSW5uZXJNb2RlbCA9IHsgbmFtZTogJycsIGZpZWxkOiAnJywgdHlwZTogVGFibGVDb2x1bW5UeXBlLlNlbGVjdGFibGUgfTtcclxuICAgIHN0YXRpYyBFWFBBTkRFRF9DT0xVTU46IElEZWZhdWx0VGFibGVDb2x1bW5Jbm5lck1vZGVsID0geyBuYW1lOiAnJywgZmllbGQ6ICcnLCB0eXBlOiBUYWJsZUNvbHVtblR5cGUuRXhwYW5kZWQgfTtcclxuICAgIHN0YXRpYyBUT0dHTEVfU1dJVENIRVJfTEVGVF9NT0RFTDogSVRvZ2dsZVN3aXRjaGVyTW9kZWwgPSB7IGxhYmVsOiAnTGlzdCcsIGljb246ICdmYSBmYS10YWJsZS1saXN0JyB9O1xyXG4gICAgc3RhdGljIFRPR0dMRV9TV0lUQ0hFUl9SSUdIVF9NT0RFTDogSVRvZ2dsZVN3aXRjaGVyTW9kZWwgPSB7IGxhYmVsOiAnQ2FyZHMnLCBpY29uOiAnZmEgZmEtYm9yZGVyLWFsbCcgfTtcclxuICAgIHN0YXRpYyBERUZBVUxUX1BBR0U6IG51bWJlciA9IDE7XHJcbiAgICBzdGF0aWMgREVGQVVMVF9QQUdFX1NJWkU6IG51bWJlciA9IDU7XHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJzL21vZGVscy90YWIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVRhYk1vZGVsIHtcclxuICAgIGxhYmVsPzogc3RyaW5nO1xyXG4gICAgaWNvbj86IHN0cmluZztcclxuICAgIHNlbGVjdGVkOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBkYXRhOiBhbnk7XHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy12aWV3Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJzL21vZGVscy90YWJzLXZpZXcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUYWJTbGlkZXJDb250ZXh0TW9kZWwgfSBmcm9tIFwiLi4vcGFydHMvc2xpZGVycy90YWItc2xpZGVyLWNvbnRleHQubW9kZWxcIjtcclxuaW1wb3J0IHsgSVRhYk1vZGVsIH0gZnJvbSBcIi4vdGFiLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUYWJzVmlld01vZGVsIHtcclxuICAgIHRhYnM6IElUYWJNb2RlbFtdO1xyXG4gICAgc2VsZWN0ZWRUYWI6IElUYWJNb2RlbCB8IG51bGw7XHJcbiAgICBzbGlkZXJDb250ZXh0RGF0YTogSVRhYlNsaWRlckNvbnRleHRNb2RlbDtcclxuICAgIHRhYldpZHRoOiBudW1iZXI7XHJcbn0iXX0=
@@ -0,0 +1,29 @@
1
+ import { Directive, HostBinding, Input } from "@angular/core";
2
+ import { UIClass } from "ngx-sfc-common";
3
+ import * as i0 from "@angular/core";
4
+ export class TabLabelContentBase {
5
+ constructor() {
6
+ this.disabled = false;
7
+ this.selected = false;
8
+ }
9
+ }
10
+ TabLabelContentBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TabLabelContentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
+ TabLabelContentBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: TabLabelContentBase, inputs: { label: "label", icon: "icon", disabled: "disabled", selected: "selected" }, host: { properties: { "class.disabled": "this.disabled", "class.selected": "this.selected" } }, ngImport: i0 });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TabLabelContentBase, decorators: [{
13
+ type: Directive
14
+ }], propDecorators: { label: [{
15
+ type: Input
16
+ }], icon: [{
17
+ type: Input
18
+ }], disabled: [{
19
+ type: Input
20
+ }, {
21
+ type: HostBinding,
22
+ args: ['class.' + UIClass.Disabled]
23
+ }], selected: [{
24
+ type: Input
25
+ }, {
26
+ type: HostBinding,
27
+ args: ['class.' + UIClass.Selected]
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLWNvbnRlbnQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvcGFydHMvbGFiZWxzL3RhYi1sYWJlbC1jb250ZW50LWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFDaEMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUd6QyxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBV0ksYUFBUSxHQUFZLEtBQUssQ0FBQztRQUkxQixhQUFRLEdBQUcsS0FBSyxDQUFDO0tBQ3BCOztnSEFmWSxtQkFBbUI7b0dBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTOzhCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBS04sUUFBUTtzQkFGUCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUTtnQkFLeEMsUUFBUTtzQkFGUCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFVJQ2xhc3MgfSBmcm9tIFwibmd4LXNmYy1jb21tb25cIjtcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgVGFiTGFiZWxDb250ZW50QmFzZSB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGxhYmVsPzogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBpY29uPzogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLicgKyBVSUNsYXNzLkRpc2FibGVkKVxyXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy4nICsgVUlDbGFzcy5TZWxlY3RlZClcclxuICAgIHNlbGVjdGVkID0gZmFsc2U7XHJcbn1cclxuIl19
@@ -0,0 +1,20 @@
1
+ import { Component } from '@angular/core';
2
+ import { isNullOrEmptyString } from 'ngx-sfc-common';
3
+ import { TabLabelContentBase } from '../tab-label-content-base.component';
4
+ import * as i0 from "@angular/core";
5
+ export class TabLabelIconComponent extends TabLabelContentBase {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.TAB_DEFAULT_ICON = 'fa fa-circle';
9
+ }
10
+ ngOnInit() {
11
+ this.icon = !isNullOrEmptyString(this.icon) ? this.icon : this.TAB_DEFAULT_ICON;
12
+ }
13
+ }
14
+ TabLabelIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TabLabelIconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
15
+ TabLabelIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: TabLabelIconComponent, selector: "sfc-tab-label-icon", usesInheritance: true, ngImport: i0, template: "<div class=\"container\">\r\n <i class=\"{{icon}}\"></i>\r\n <span>{{label}}</span>\r\n</div>", styles: [":host{width:100%;cursor:pointer;font-weight:700;-webkit-user-select:none;user-select:none;padding-bottom:1.25em;display:inline-block;transition:all .2s ease-in-out}:host-context(.sfc-default-theme) :host{color:#545e61}:host-context(.sfc-dark-theme) :host{color:#ccd1d9}:host.selected:not(.disabled),:host:hover:not(.disabled){color:#2bbbad}:host.disabled{cursor:default;pointer-events:none}:host-context(.sfc-default-theme) :host.disabled{color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled{color:#656d78}:host .container{display:inline-flex;align-items:center;flex-flow:column wrap;justify-content:center;text-align:center;overflow:hidden;text-overflow:ellipsis}:host .container i{height:1.2em;margin-bottom:.2em}:host .container span{font-size:.8em}@media (max-width: 430px){:host{padding-bottom:.6em}:host .container{padding:.8em;border-radius:.3em;text-overflow:initial}:host .container i{height:auto;margin-bottom:0}:host .container span{display:none}:host-context(.sfc-default-theme) :host.selected .container{background:#e6e9ed}:host-context(.sfc-dark-theme) :host.selected .container{background:#f5f7fa}}\n"] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TabLabelIconComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'sfc-tab-label-icon', template: "<div class=\"container\">\r\n <i class=\"{{icon}}\"></i>\r\n <span>{{label}}</span>\r\n</div>", styles: [":host{width:100%;cursor:pointer;font-weight:700;-webkit-user-select:none;user-select:none;padding-bottom:1.25em;display:inline-block;transition:all .2s ease-in-out}:host-context(.sfc-default-theme) :host{color:#545e61}:host-context(.sfc-dark-theme) :host{color:#ccd1d9}:host.selected:not(.disabled),:host:hover:not(.disabled){color:#2bbbad}:host.disabled{cursor:default;pointer-events:none}:host-context(.sfc-default-theme) :host.disabled{color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled{color:#656d78}:host .container{display:inline-flex;align-items:center;flex-flow:column wrap;justify-content:center;text-align:center;overflow:hidden;text-overflow:ellipsis}:host .container i{height:1.2em;margin-bottom:.2em}:host .container span{font-size:.8em}@media (max-width: 430px){:host{padding-bottom:.6em}:host .container{padding:.8em;border-radius:.3em;text-overflow:initial}:host .container i{height:auto;margin-bottom:0}:host .container span{display:none}:host-context(.sfc-default-theme) :host.selected .container{background:#e6e9ed}:host-context(.sfc-dark-theme) :host.selected .container{background:#f5f7fa}}\n"] }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJzL3BhcnRzL2xhYmVscy90YWItbGFiZWwtaWNvbi90YWItbGFiZWwtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvcGFydHMvbGFiZWxzL3RhYi1sYWJlbC1pY29uL3RhYi1sYWJlbC1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBTzFFLE1BQU0sT0FBTyxxQkFDWCxTQUFRLG1CQUFtQjtJQU43Qjs7UUFTbUIscUJBQWdCLEdBQUcsY0FBYyxDQUFDO0tBS3BEO0lBSEMsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNsRixDQUFDOztrSEFSVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixpRkNUbEMsaUdBR007MkZETU8scUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzTnVsbE9yRW1wdHlTdHJpbmcgfSBmcm9tICduZ3gtc2ZjLWNvbW1vbic7XHJcbmltcG9ydCB7IFRhYkxhYmVsQ29udGVudEJhc2UgfSBmcm9tICcuLi90YWItbGFiZWwtY29udGVudC1iYXNlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NmYy10YWItbGFiZWwtaWNvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1sYWJlbC1pY29uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWItbGFiZWwtaWNvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJMYWJlbEljb25Db21wb25lbnRcclxuICBleHRlbmRzIFRhYkxhYmVsQ29udGVudEJhc2VcclxuICBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgVEFCX0RFRkFVTFRfSUNPTiA9ICdmYSBmYS1jaXJjbGUnO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaWNvbiA9ICFpc051bGxPckVtcHR5U3RyaW5nKHRoaXMuaWNvbikgPyB0aGlzLmljb24gOiB0aGlzLlRBQl9ERUZBVUxUX0lDT047XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICA8aSBjbGFzcz1cInt7aWNvbn19XCI+PC9pPlxyXG4gIDxzcGFuPnt7bGFiZWx9fTwvc3Bhbj5cclxuPC9kaXY+Il19
@@ -0,0 +1,13 @@
1
+ import { Component } from '@angular/core';
2
+ import { TabLabelContentBase } from '../tab-label-content-base.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class TabLabelLineComponent extends TabLabelContentBase {
6
+ }
7
+ TabLabelLineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TabLabelLineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8
+ TabLabelLineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: TabLabelLineComponent, selector: "sfc-tab-label-line", usesInheritance: true, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <i *ngIf=\"icon\" class=\"{{icon}}\"></i>\r\n <span>{{label}}</span>\r\n </div>\r\n</div>", styles: [":host{width:100%;cursor:pointer;font-weight:700;-webkit-user-select:none;user-select:none}:host-context(.sfc-default-theme) :host{color:#545e61}:host-context(.sfc-dark-theme) :host{color:#ccd1d9}:host.disabled{cursor:default;pointer-events:none}:host-context(.sfc-default-theme) :host.disabled{color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled{color:#656d78}:host.selected:not(.disabled),:host:hover:not(.disabled){color:#2bbbad}:host .container{width:100%;display:flex;justify-content:center;align-items:center;transition:color .2s ease;border-bottom:1px solid #e6e9ed}:host .container .content{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center;padding:1.25em 0}:host .container .content i{margin-right:.18em}@media (max-width: 430px){:host .container .content i{display:none}}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TabLabelLineComponent, decorators: [{
10
+ type: Component,
11
+ args: [{ selector: 'sfc-tab-label-line', template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <i *ngIf=\"icon\" class=\"{{icon}}\"></i>\r\n <span>{{label}}</span>\r\n </div>\r\n</div>", styles: [":host{width:100%;cursor:pointer;font-weight:700;-webkit-user-select:none;user-select:none}:host-context(.sfc-default-theme) :host{color:#545e61}:host-context(.sfc-dark-theme) :host{color:#ccd1d9}:host.disabled{cursor:default;pointer-events:none}:host-context(.sfc-default-theme) :host.disabled{color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled{color:#656d78}:host.selected:not(.disabled),:host:hover:not(.disabled){color:#2bbbad}:host .container{width:100%;display:flex;justify-content:center;align-items:center;transition:color .2s ease;border-bottom:1px solid #e6e9ed}:host .container .content{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center;padding:1.25em 0}:host .container .content i{margin-right:.18em}@media (max-width: 430px){:host .container .content i{display:none}}\n"] }]
12
+ }] });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJzL3BhcnRzL2xhYmVscy90YWItbGFiZWwtbGluZS90YWItbGFiZWwtbGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvcGFydHMvbGFiZWxzL3RhYi1sYWJlbC1saW5lL3RhYi1sYWJlbC1saW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQU8xRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW1COztrSEFBakQscUJBQXFCO3NHQUFyQixxQkFBcUIsaUZDUmxDLDZKQUtNOzJGREdPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGFiTGFiZWxDb250ZW50QmFzZSB9IGZyb20gJy4uL3RhYi1sYWJlbC1jb250ZW50LWJhc2UuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLXRhYi1sYWJlbC1saW5lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWxhYmVsLWxpbmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYi1sYWJlbC1saW5lLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYkxhYmVsTGluZUNvbXBvbmVudCBleHRlbmRzIFRhYkxhYmVsQ29udGVudEJhc2Uge1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgPGkgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJ7e2ljb259fVwiPjwvaT5cclxuICAgIDxzcGFuPnt7bGFiZWx9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -0,0 +1,20 @@
1
+ import { Component } from '@angular/core';
2
+ import { getCalcValue, UIConstants } from 'ngx-sfc-common';
3
+ import { TabSliderBase } from '../tab-slider-base.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class TabLabelIconSliderComponent extends TabSliderBase {
7
+ get style() {
8
+ return {
9
+ width: getCalcValue(this.count),
10
+ transform: `translateX(${100 * this.index}${UIConstants.CSS_PERCENTAGE})`
11
+ };
12
+ }
13
+ }
14
+ TabLabelIconSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TabLabelIconSliderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
15
+ TabLabelIconSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: TabLabelIconSliderComponent, selector: "sfc-tab-label-icon-slider", usesInheritance: true, ngImport: i0, template: "<div class=\"slider\" [ngStyle]=\"style\">\r\n <div class=\"indicator\"></div>\r\n</div>", styles: [".slider{transition:all .33s cubic-bezier(.38,.8,.32,1.07)}.slider .indicator{width:50%;margin:0 auto;height:.25em;background:#2bbbad;border-radius:.0625em}@media (max-width: 430px){.slider{display:none}}\n"], directives: [{ type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TabLabelIconSliderComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'sfc-tab-label-icon-slider', template: "<div class=\"slider\" [ngStyle]=\"style\">\r\n <div class=\"indicator\"></div>\r\n</div>", styles: [".slider{transition:all .33s cubic-bezier(.38,.8,.32,1.07)}.slider .indicator{width:50%;margin:0 auto;height:.25em;background:#2bbbad;border-radius:.0625em}@media (max-width: 430px){.slider{display:none}}\n"] }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLWljb24tc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9wYXJ0cy9zbGlkZXJzL3RhYi1sYWJlbC1pY29uL3RhYi1sYWJlbC1pY29uLXNsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvcGFydHMvc2xpZGVycy90YWItbGFiZWwtaWNvbi90YWItbGFiZWwtaWNvbi1zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBTzdELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxhQUFhO0lBRTVELElBQUksS0FBSztRQUNQLE9BQU87WUFDTCxLQUFLLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDL0IsU0FBUyxFQUFFLGNBQWMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLGNBQWMsR0FBRztTQUMxRSxDQUFBO0lBQ0gsQ0FBQzs7d0hBUFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsd0ZDVHhDLDZGQUVNOzJGRE9PLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2V0Q2FsY1ZhbHVlLCBVSUNvbnN0YW50cyB9IGZyb20gJ25neC1zZmMtY29tbW9uJztcclxuaW1wb3J0IHsgVGFiU2xpZGVyQmFzZSB9IGZyb20gJy4uL3RhYi1zbGlkZXItYmFzZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZmMtdGFiLWxhYmVsLWljb24tc2xpZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWxhYmVsLWljb24tc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWItbGFiZWwtaWNvbi1zbGlkZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFiTGFiZWxJY29uU2xpZGVyQ29tcG9uZW50IGV4dGVuZHMgVGFiU2xpZGVyQmFzZSB7XHJcblxyXG4gIGdldCBzdHlsZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgd2lkdGg6IGdldENhbGNWYWx1ZSh0aGlzLmNvdW50KSxcclxuICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgkezEwMCAqIHRoaXMuaW5kZXh9JHtVSUNvbnN0YW50cy5DU1NfUEVSQ0VOVEFHRX0pYFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2xpZGVyXCIgW25nU3R5bGVdPVwic3R5bGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbmRpY2F0b3JcIj48L2Rpdj5cclxuPC9kaXY+Il19
@@ -0,0 +1,20 @@
1
+ import { Component } from '@angular/core';
2
+ import { getCalcValue } from 'ngx-sfc-common';
3
+ import { TabSliderBase } from '../tab-slider-base.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class TabLabelLineSliderComponent extends TabSliderBase {
7
+ get style() {
8
+ return {
9
+ width: getCalcValue(this.count),
10
+ left: getCalcValue((this.count / this.index))
11
+ };
12
+ }
13
+ }
14
+ TabLabelLineSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TabLabelLineSliderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
15
+ TabLabelLineSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: TabLabelLineSliderComponent, selector: "sfc-tab-label-line-slider", usesInheritance: true, ngImport: i0, template: "<div class=\"slider\" [ngStyle]=\"style\"></div>", styles: [":host{position:relative;display:flex}:host .slider{background:#2bbbad;height:.125em;position:absolute;left:0;top:calc(100% - .1em);transition:left .3s ease-out}\n"], directives: [{ type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TabLabelLineSliderComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'sfc-tab-label-line-slider', template: "<div class=\"slider\" [ngStyle]=\"style\"></div>", styles: [":host{position:relative;display:flex}:host .slider{background:#2bbbad;height:.125em;position:absolute;left:0;top:calc(100% - .1em);transition:left .3s ease-out}\n"] }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLWxpbmUtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9wYXJ0cy9zbGlkZXJzL3RhYi1sYWJlbC1saW5lL3RhYi1sYWJlbC1saW5lLXNsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvcGFydHMvc2xpZGVycy90YWItbGFiZWwtbGluZS90YWItbGFiZWwtbGluZS1zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFPN0QsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGFBQWE7SUFFNUQsSUFBSSxLQUFLO1FBQ1AsT0FBTztZQUNMLEtBQUssRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUMvQixJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUMsQ0FBQTtJQUNILENBQUM7O3dIQVBVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHdGQ1R4QyxrREFBNEM7MkZEUy9CLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2V0Q2FsY1ZhbHVlIH0gZnJvbSAnbmd4LXNmYy1jb21tb24nO1xyXG5pbXBvcnQgeyBUYWJTbGlkZXJCYXNlIH0gZnJvbSAnLi4vdGFiLXNsaWRlci1iYXNlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NmYy10YWItbGFiZWwtbGluZS1zbGlkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItbGFiZWwtbGluZS1zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYi1sYWJlbC1saW5lLXNsaWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJMYWJlbExpbmVTbGlkZXJDb21wb25lbnQgZXh0ZW5kcyBUYWJTbGlkZXJCYXNlIHtcclxuXHJcbiAgZ2V0IHN0eWxlKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgd2lkdGg6IGdldENhbGNWYWx1ZSh0aGlzLmNvdW50KSxcclxuICAgICAgbGVmdDogZ2V0Q2FsY1ZhbHVlKCh0aGlzLmNvdW50IC8gdGhpcy5pbmRleCkpXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbGlkZXJcIiBbbmdTdHlsZV09XCJzdHlsZVwiPjwvZGl2PiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Directive, Input } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class TabSliderBase {
4
+ constructor() {
5
+ this.count = 1;
6
+ this.index = 0;
7
+ }
8
+ }
9
+ TabSliderBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TabSliderBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
+ TabSliderBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: TabSliderBase, inputs: { count: "count", index: "index" }, ngImport: i0 });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TabSliderBase, decorators: [{
12
+ type: Directive
13
+ }], propDecorators: { count: [{
14
+ type: Input
15
+ }], index: [{
16
+ type: Input
17
+ }] } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXNsaWRlci1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9wYXJ0cy9zbGlkZXJzL3RhYi1zbGlkZXItYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFBRSxLQUFLLEVBQ25CLE1BQU0sZUFBZSxDQUFDOztBQUd2QixNQUFNLE9BQWdCLGFBQWE7SUFEbkM7UUFHSSxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBR2xCLFVBQUssR0FBVyxDQUFDLENBQUM7S0FHckI7OzBHQVJxQixhQUFhOzhGQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEbEMsU0FBUzs4QkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIERpcmVjdGl2ZSwgSW5wdXRcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUYWJTbGlkZXJCYXNlIHtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBjb3VudDogbnVtYmVyID0gMTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgaW5kZXg6IG51bWJlciA9IDA7XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0IHN0eWxlKCk6IGFueTtcclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXNsaWRlci1jb250ZXh0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJzL3BhcnRzL3NsaWRlcnMvdGFiLXNsaWRlci1jb250ZXh0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElUYWJTbGlkZXJDb250ZXh0TW9kZWwge1xyXG4gICAgY291bnQ6IG51bWJlcjtcclxuICAgIGluZGV4OiBudW1iZXI7XHJcbn0iXX0=
@@ -0,0 +1,11 @@
1
+ import { Subject } from 'rxjs';
2
+ export class TabService {
3
+ constructor() {
4
+ this.selectSubject = new Subject();
5
+ this.selected$ = this.selectSubject.asObservable();
6
+ }
7
+ select(index) {
8
+ this.selectSubject.next(index);
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvc2VydmljZS90YWIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE1BQU0sT0FBTyxVQUFVO0lBQXZCO1FBRVksa0JBQWEsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUV4RCxjQUFTLEdBQXVCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFLN0UsQ0FBQztJQUhHLE1BQU0sQ0FBQyxLQUFhO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIHNlbGVjdFN1YmplY3Q6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcclxuXHJcbiAgICBwdWJsaWMgc2VsZWN0ZWQkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLnNlbGVjdFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgc2VsZWN0KGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdFN1YmplY3QubmV4dChpbmRleCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,7 @@
1
+ export var TabsTemplate;
2
+ (function (TabsTemplate) {
3
+ TabsTemplate["Label"] = "label";
4
+ TabsTemplate["Slider"] = "slider";
5
+ TabsTemplate["Body"] = "body";
6
+ })(TabsTemplate || (TabsTemplate = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy10ZW1wbGF0ZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJzL3RhYnMtdGVtcGxhdGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3BCLCtCQUFlLENBQUE7SUFDZixpQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxZQUFZLEtBQVosWUFBWSxRQUl2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFRhYnNUZW1wbGF0ZSB7XHJcbiAgICBMYWJlbCA9ICdsYWJlbCcsXHJcbiAgICBTbGlkZXIgPSAnc2xpZGVyJyxcclxuICAgIEJvZHkgPSAnYm9keSdcclxufSJdfQ==