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
package/README.md ADDED
@@ -0,0 +1,685 @@
1
+ # ngx-sfc-components
2
+
3
+ This library contains components for Street Football Club (SFC) project.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Get started](#get-started)
8
+ - [Components](#components)
9
+ - [Avatar](#avatar-sfc-avatar)
10
+ - [Chart](#chart-sfc-chart)
11
+ - [Menus](#menus)
12
+ - [Side](#side-sfc-side-menu)
13
+ - [Dropdown](#dropdown-sfc-dropdown-menu)
14
+ - [Navigation](#navigation-sfc-navigation-menu)
15
+ - [Notification](#notification-sfc-notification)
16
+ - [Progresses](#progresses)
17
+ - [Line](#line-sfc-progress-line)
18
+ - [Semi-circle](#semi-circle-sfc-progress-semi-circle)
19
+ - [Circle](#circle-sfc-progress-circle)
20
+ - [Slider](#slider-sfc-slider)
21
+ - [Stars](#stars-sfc-stars)
22
+ - [Table](#table-sfc-table)
23
+ - [Tabs](#tabs)
24
+ - [Line](#line-sfc-tabs)
25
+ - [Icon](#icon-sfc-tabs)
26
+ - [Tags](#tags-sfc-tags)
27
+ - [Timeline](#timeline-sfc-timeline)
28
+
29
+ ## Get started
30
+
31
+ 1. Run `npm install ngx-sfc-components` or `ng add ngx-sfc-components`.
32
+ 2. Import `NgxSfcCommonModule` into a module where you intend to use components and directives:
33
+
34
+ ```typescript
35
+ import { NgxSfcComponentsModule } from 'ngx-sfc-components';
36
+ @NgModule({
37
+ imports: [ NgxSfcComponentsModule ]
38
+ })
39
+ export class SomeModule { }
40
+ ```
41
+
42
+ ## Components
43
+
44
+ ## **Avatar `<sfc-avatar>`**
45
+
46
+ Component display player/user rounded photo image with progress bar and information. Allowed to add player rating as stars view and add badges for additional info.
47
+
48
+ ```html
49
+ <sfc-avatar [radius]="160" [stroke]="1" [progress]="50" [progressModel]="progressColor" [stars]="true" [starsValue]="2.15" [data]="dataImage">
50
+ <sfc-avatar-badge [position]="AvatarBadgePosition.Right" [background]="'#8CC152'">
51
+ <i class="fa fa-copyright"></i>
52
+ </sfc-avatar-badge>
53
+ </sfc-avatar>
54
+ ```
55
+
56
+ Parameters:
57
+ 1. `[radius]` - define avatar size (component size must be used with relevance to this value)
58
+ 2. `[stroke]` - size of avatar progress circle
59
+ 3. `[progress]` - set value for avatar's progress line
60
+ 4. `[progressModel]` - model that define color for progress line
61
+
62
+ ```typescript
63
+ export interface IAvatarProgressModel {
64
+ color?: string;
65
+ filledColor?: string;
66
+ }
67
+ ```
68
+
69
+ 5. `[data]` - provide information about player/user
70
+
71
+ ```typescript
72
+ export interface IAvatarDataModel {
73
+ firstName?: string;
74
+ lastName?: string;
75
+ image?: string;
76
+ title?: string;
77
+ }
78
+ ```
79
+ 6. `[stars]` - show/hide stars as player raiting
80
+ 7. `[starsValue]` - value for stars
81
+
82
+ Avatar's badge has two parameters:
83
+ 1. `[background]` - background color
84
+ 2. `[position]` - static position of badge
85
+
86
+ ```typescript
87
+ export enum AvatarBadgePosition {
88
+ Top = 'top',
89
+ RightTop = 'right-top',
90
+ Right = 'right',
91
+ RightBottom = 'right-bottom',
92
+ Bottom = 'bottom',
93
+ LeftTop = 'left-top',
94
+ Left = 'left',
95
+ LeftBottom = 'left-bottom',
96
+ }
97
+ ```
98
+
99
+ ## **Chart `<sfc-chart>`**
100
+
101
+ It's a component wrapper on chart.js library with extra logic for theming and displaying charts.
102
+
103
+ ```html
104
+ <sfc-chart [theme]="theme" [type]="chartType" [options]="verticalChartOptions" [chartOptions]="chartOptions" [data]="getData()"
105
+ [datasets]="datasets" [labels]="labels" [plugins]="plugins">
106
+ </sfc-chart>
107
+ ```
108
+
109
+ Parameters:
110
+ 1. `[type]` - chart type (line, bar, pie, doughnut, radar and polar)
111
+ 2. `[theme]` - support two themes (default and dark)
112
+
113
+ ```typescript
114
+ export enum Theme {
115
+ Default = 'sfc-default-theme',
116
+ Dark = 'sfc-dark-theme'
117
+ }
118
+ ```
119
+
120
+ 3. `[options]` - chart.js options
121
+ 4. `[chartOptions]` - options for setting frequently used chart.js options
122
+
123
+ ```typescript
124
+ export interface ChartOptionModel {
125
+ legend?: boolean;
126
+ gridLines?: boolean;
127
+ xAxe?:boolean;
128
+ yAxe?:boolean;
129
+ tooltip?: boolean;
130
+ ticks?: boolean;
131
+ defaultColors?: boolean;
132
+ }
133
+ ```
134
+
135
+ 5. `[data]` - chart.js data
136
+ 6. `[plugins]` - chart.js plugins
137
+ 7. `[datasets]` - chart.js datasets
138
+ 8. `[labels]` - chart.js labels
139
+
140
+ ## Menus
141
+
142
+ Several types of menus:
143
+
144
+ ## **Side `<sfc-side-menu>`**
145
+
146
+ Side menu that can be expanded to the right and can have sub-menus.
147
+
148
+ ```html
149
+ <sfc-side-menu [model]="MENU_MODEL_3" (selected)="onSelect($event)"></sfc-side-menu>
150
+ ```
151
+
152
+ Parameters:
153
+ 1. `[model]` - model for menu, contains info about constructed items of menu
154
+
155
+ ```typescript
156
+ export interface ISideMenuModel {
157
+ open: boolean; // expanded or not
158
+ items: ISideMenuItemModel[];
159
+ }
160
+
161
+ export interface ISideMenuItemModel {
162
+ active: boolean; // selected or not
163
+ label: string;
164
+ icon: string;
165
+ type: SideMenuItemType;
166
+ items?: ISideMenuItemModel[]; // if not empty - has sub-menu items
167
+ }
168
+
169
+ export enum SideMenuItemType {
170
+ Item = 'item',
171
+ Title = 'title' // not selected
172
+ }
173
+ ```
174
+
175
+ 2. `(selected)` - emit handler for selecting menu items
176
+
177
+ ## **Dropdown `<sfc-dropdown-menu>`**
178
+
179
+ Component allow to define context menu.
180
+
181
+ ```html
182
+ <sfc-dropdown-menu [items]="MODEL" icon="fa fa-star" label="Test label" [hideOnClick]="false"
183
+ [hideOnClickOutside]="false" [bordered]="true" [position]="Position.Right"
184
+ [open]="false">
185
+ </sfc-dropdown-menu>
186
+ ```
187
+
188
+ Parameters:
189
+ 1. `[items]` - menu items
190
+
191
+ ```typescript
192
+ export interface IDropdownMenuItemModel {
193
+ label: string;
194
+ icon?: string;
195
+ delimeter?: boolean; // add dlimeter after menu item
196
+ click?: (item: IDropdownMenuItemModel) => void; // click handler
197
+ }
198
+ ```
199
+ 2. `[icon]` - icon for menu item
200
+ 3. `[label]` - menu item label
201
+ 4. `[hideOnClick]` - if true, on item click - menu will be hidden
202
+ 5. `[hideOnClickOutside]` - if true, when click outside menu - hide menu
203
+ 6. `[bordered]` - add border to menu dots
204
+ 7. `[position]` - define where menu wil be appear
205
+
206
+ ```typescript
207
+ export enum Position {
208
+ Top = 'top',
209
+ Bottom = 'bottom',
210
+ Left = 'left',
211
+ Right = 'right',
212
+ Center = 'center'
213
+ }
214
+ ```
215
+
216
+ 8. `[open]` - define if menu will be open on init
217
+
218
+ ## **Navigation `<sfc-navigation-menu>`**
219
+
220
+ Simple responsive navigation menu.
221
+
222
+ ```html
223
+ <sfc-navigation-menu [items]="MODEL" (selected)="onSelect($event)"></sfc-navigation-menu>
224
+ ```
225
+
226
+ Parameters:
227
+ 1. `[items]` - menu items
228
+
229
+ ```typescript
230
+ export interface INavigationMenuItemModel {
231
+ label: string;
232
+ active: boolean; // define selected item
233
+ icon?: string;
234
+ click?: (item: INavigationMenuItemModel) => void;
235
+ }
236
+ ```
237
+ 2. `(selected)` - emit handler for selecting menu items
238
+
239
+ ## **Notification `<sfc-notification>`**
240
+
241
+ Component created for implementing user notification with details and actions.
242
+
243
+ ```html
244
+ <sfc-notification [model]="btnNotification" [showClose]="true" [autoCloseModel]="autoCloseModel" [type]="NotificationType.Info"
245
+ [content]="contentRef" (closed)="onClose()" (buttonClicked)="onButtonClick()">
246
+ </sfc-notification>
247
+ ```
248
+
249
+ Parameters:
250
+ 1. `[model]` - notification model
251
+
252
+ ```typescript
253
+ export interface INotificationContentModel {
254
+ title?: string;
255
+ subTitle?: string;
256
+ showButton?: boolean;
257
+ buttonText?: string;
258
+ icon?: string;
259
+ image?: string;
260
+ }
261
+ ```
262
+
263
+ 2. `[showClose]` - show/hide close icon
264
+ 3. `[autoCloseModel]` - auto close notification model
265
+
266
+ ```typescript
267
+ export interface INotificationAutoCloseModel {
268
+ enabled: boolean;
269
+ interval?: number; // after what time notification will be closed
270
+ }
271
+ ```
272
+
273
+ 4. `[type]` - UI type of notification
274
+
275
+ ```typescript
276
+ export enum NotificationType {
277
+ Info = 'info',
278
+ Success = 'success',
279
+ Failed = 'failed'
280
+ }
281
+ ```
282
+
283
+ 5. `[content]` - hold content reference for template, if it not provided and content template also missing, than default content will be created.
284
+ 6. `(closed)` - emit handler for closing notification
285
+ 7. `(buttonClicked)` - emit handler for default notification content button click
286
+
287
+
288
+ ## Progresses
289
+
290
+ Several types of progress components:
291
+
292
+ ## **Line `<sfc-progress-line>`**
293
+
294
+ Progress bar as line view
295
+
296
+ ```html
297
+ <sfc-progress-line labelStart="Dribbling" labelEnd="value:55" [progress]="55" background="red" [getColor]="getColor"
298
+ [total]="100" [hideEnd]="true">
299
+ </sfc-progress-line>
300
+ ```
301
+
302
+ Parameters:
303
+ 1. `labelStart` - text at the start of bar line
304
+ 2. `labelEnd` - text at the end of bar line
305
+ 3. `[progress]` - progress value
306
+ 4. `background` - color for background of line (not progressed part of line)
307
+ 5. `[getColor]` - custom function for defined colors for progress value
308
+ 6. `[total]` - max value for progress bar
309
+ 7. `[hideEnd]` - show/hide progress value text or labelEnd value at the end of bar
310
+
311
+ ## **Semi-circle `<sfc-progress-semi-circle>`**
312
+
313
+ Progress bar as semi-circle view
314
+
315
+ ```html
316
+ <sfc-progress-semi-circle background="green" [progress]="60" [getColor]="getColor" [limits]="true"
317
+ [max]="100" [min]="0">
318
+ </sfc-progress-semi-circle>
319
+ ```
320
+
321
+ Parameters:
322
+ 1. `[progress]` - progress value
323
+ 2. `background` - color for background of line (not progressed part of line)
324
+ 3. `[getColor]` - custom function for defined colors for progress value
325
+ 4. `[limits]` - show/hide min and max value text
326
+ 5. `[min]` - minimum value
327
+ 6. `[max]` - maximum value
328
+
329
+ ## **Circle `<sfc-progress-circle>`**
330
+
331
+ Progress bar as circle view
332
+
333
+ ```html
334
+ <sfc-progress-circle background="green" [progress]="60" [getColor]="getColor"></sfc-progress-circle>
335
+ ```
336
+
337
+ Parameters:
338
+ 1. `[progress]` - progress value
339
+ 2. `background` - color for background of line (not progressed part of line)
340
+ 3. `[getColor]` - custom function for defined colors for progress value
341
+
342
+ ## **Slider `<sfc-slider>`**
343
+
344
+ Image slider component with titles, pagination dots and buttons for slide.
345
+
346
+ ```html
347
+ <sfc-slider [items]="items" [pagination]="false" [showCount]="true" [type]="SliderType.Automatic"></sfc-slider>
348
+ ```
349
+
350
+ Parameters:
351
+ 1. `[items]` - items for slider
352
+
353
+ ```typescript
354
+ export interface ISliderItemModel {
355
+ imageSrc: string;
356
+ title?: string;
357
+ subTitle?: string;
358
+ }
359
+ ```
360
+
361
+ 2. `[pagination]` - show/hide dots pagination
362
+ 3. `[showCount]` - show/hide image count
363
+ 4. `[type]` - type of slider
364
+
365
+ ```typescript
366
+ export enum SliderType {
367
+ Default = 'default',
368
+ Automatic = 'automatic'
369
+ }
370
+ ```
371
+
372
+ ## **Stars `<sfc-stars>`**
373
+
374
+ Responsive component for visual displaying some value or progress as stars.
375
+
376
+ ```html
377
+ <sfc-stars [value]="1.5" [count]="3"></sfc-stars>
378
+ ```
379
+
380
+ Parameters:
381
+ 1. `[value]` - current value (e.x. if count=3 and value is 1.5 - half of all stars will be filled)
382
+ 2. `[count]` - stars count
383
+
384
+ ## **Table `<sfc-table>`**
385
+
386
+ Component for displaying data in the form of a table.
387
+ Has paginate data posibility and sorting by columns.
388
+ Each table item can be in two states: row and card.
389
+ Each row and card can be selected or selected all.
390
+ Table component can be modified by replacing row/cars by custom implementation.
391
+ Also implemented expanded row.
392
+ Table is a responsive component.
393
+
394
+ ```html
395
+ <sfc-table [columns]="columnsListItems" [data]="dataListItems" [position]="Position.Center"
396
+ [selectable]="true" [selectOnClick]="false" [delimeter]="false"
397
+ [dataType]="TableDataType.Rows" [dataToggle]="true" [showColumns]="true"
398
+ [pagination]="paginationModel" [sequence]="true" [expanded]="false" #listItemsTable>
399
+ <ng-template [sfcTemplateReference]="TableTemplate.Column" let-column>
400
+ <table-custom-column [label]="column.name" [active]="column.sorting.active">
401
+ </table-custom-column>
402
+ </ng-template>
403
+ <ng-template [sfcTemplateReference]="TableTemplate.Row" let-list>
404
+ <table-custom-row [data]="list.model" [columns]="list.columns" [position]="list.position"
405
+ [columnWidth]="list.columnWidth" (selected)="listItemsTable.selectRow($event)">
406
+ </table-custom-row>
407
+ </ng-template>
408
+ <ng-template [sfcTemplateReference]="TableTemplate.Card" let-list>
409
+ <table-custom-card [data]="list.model" [columns]="list.columns"></table-custom-card>
410
+ </ng-template>
411
+ </sfc-table>
412
+ ```
413
+ Parameters:
414
+ 1. `[position]` - position for columns and data in row
415
+
416
+ ```typescript
417
+ export enum Position {
418
+ Top = 'top',
419
+ Bottom = 'bottom',
420
+ Left = 'left',
421
+ Right = 'right',
422
+ Center = 'center'
423
+ }
424
+ ```
425
+
426
+ 2. `[delimeter]` - show/hide delimeter after columns
427
+ 3. `[dataType]` - type of data visualization
428
+
429
+ ```typescript
430
+ export enum TableDataType {
431
+ Rows = 'rows',
432
+ Cards = 'cards'
433
+ }
434
+ ```
435
+
436
+ 4. `[dataToggle]` - show/hide toggle for changing dataType
437
+ 5. `[showColumns]` - show/hide columns
438
+ 6. `[pagination]` - pagination configuration
439
+
440
+ ```typescript
441
+ export interface ITablePaginationModel {
442
+ enabled: boolean;
443
+ page: number; // current page
444
+ size: number; // how many items in one page
445
+ }
446
+ ```
447
+
448
+ 7. `[sequence]` - add/remove extra column at the start for row/card sequence number
449
+ 8. `[expanded]` - define if row expanded or not
450
+ 9. `[selectable]` - define if row/card expanded or not
451
+ 10. `[selectOnClick]` - if true, than on click on whole row/card it will be selected, otherwise - will be selected only on checkmark click
452
+ 11. `[columns]` - columns for table
453
+
454
+ ```typescript
455
+ export interface IDefaultTableColumnModel {
456
+ name: string;
457
+ field: string; // identificator for sorting
458
+ icon?: string;
459
+ sorting?: ISortingModel; // sorting configuration
460
+ }
461
+
462
+ export interface ISortingModel {
463
+ enabled: boolean;
464
+ active?: boolean;
465
+ direction: SortingDirection;
466
+ icons?: ISortingIcon[]; // icons for asc and desc
467
+ }
468
+
469
+ export interface ISortingIcon {
470
+ direction: SortingDirection;
471
+ icon: string
472
+ }
473
+
474
+ export enum SortingDirection {
475
+ Ascending = 'ascending',
476
+ Descending = 'descending'
477
+ }
478
+ ```
479
+
480
+ 12. `[data]` - plain array data
481
+ 13. `[data$]` - table data as observable
482
+ 14. `[columnContent]` - content reference for custom column
483
+ 15. `[rowContent]` - content reference for custom row
484
+ 16. `[cardContent]` - content reference for custom card
485
+
486
+ Default column:
487
+
488
+ ```html
489
+ <sfc-default-table-column [model]="column"></sfc-default-table-column>
490
+ ```
491
+
492
+ Default row:
493
+
494
+ ```html
495
+ <sfc-default-table-row [columns]="vm.columns" [model]="item" [position]="position"
496
+ [columnWidth]="vm.columnWidth" [selectOnClick]="selectOnClick" (selected)="selectRow($event)">
497
+ </sfc-default-table-row>
498
+ ```
499
+
500
+ Default card:
501
+
502
+ ```html
503
+ <sfc-default-table-row [columns]="vm.columns" [model]="item" [position]="position"
504
+ [columnWidth]="vm.columnWidth" [selectOnClick]="selectOnClick" (selected)="selectRow($event)">
505
+ </sfc-default-table-row>
506
+ ```
507
+
508
+ Expanded:
509
+
510
+ ```html
511
+ <sfc-expanded-table-row [model]="row.model" [columns]="row.columns" [position]="row.position"
512
+ [columnWidth]="row.columnWidth">
513
+ <ng-template [sfcTemplateReference]="ExpandedTableRowTemplate.Row" let-expandedRow>
514
+ <table-custom-expanded-row [model]="expandedRow.model.dataModel"
515
+ [position]="expandedRow.position" [columnWidth]="expandedRow.columnWidth"
516
+ [expanded]="expandedRow.expanded" [index]="expandedRow.model.index"
517
+ (selected)="expandedTemplateTable.selectRow($event)">
518
+ </table-custom-expanded-row>
519
+ </ng-template>
520
+
521
+ <ng-template [sfcTemplateReference]="ExpandedTableRowTemplate.Content" let-expandedContent>
522
+ <table-custom-expanded-row-content [data]="expandedContent.model.dataModel.data.items"
523
+ [position]="expandedContent.position" [columnWidth]="expandedContent.columnWidth">
524
+ </table-custom-expanded-row-content>
525
+ </ng-template>
526
+
527
+ </sfc-expanded-table-row>
528
+ ```
529
+
530
+ ## Tabs
531
+
532
+ Two possible tabs: line and icon.
533
+
534
+ ## **Line `<sfc-tabs>`**
535
+
536
+ Component for visual representation of line tabs
537
+
538
+ ```html
539
+ <sfc-tabs [tabs]="MODEL_SELECTED" [label]="labelRef" [slider]="sliderRef" [body]="bodyRef">
540
+ <ng-template [sfcTemplateReference]="TabsTemplate.Label" let-label>
541
+ <sfc-tab-label-line [selected]="label.selected" [disabled]="label.disabled" label="{{label.label}}"
542
+ icon="{{label.icon}}">
543
+ </sfc-tab-label-line>
544
+ </ng-template>
545
+
546
+ <ng-template [sfcTemplateReference]="TabsTemplate.Slider" let-data>
547
+ <sfc-tab-label-line-slider [count]="data.count" [index]="data.index">
548
+ </sfc-tab-label-line-slider>
549
+ </ng-template>
550
+
551
+ <ng-template [sfcTemplateReference]="TabsTemplate.Body" let-data>
552
+ {{data}}
553
+ </ng-template>
554
+ </sfc-tabs>
555
+ ```
556
+
557
+ Parameters:
558
+ 1. `[tabs]` - collection of data for tabs items
559
+
560
+ ```typescript
561
+ export interface ITabModel {
562
+ label?: string;
563
+ icon?: string;
564
+ selected: boolean;
565
+ disabled: boolean;
566
+ data: any; // data for tab body
567
+ }
568
+ ```
569
+
570
+ 2. `[label]` - content reference for label part of tab
571
+ 3. `[slider]` - content reference for slider part of tab
572
+ 4. `[body]` - content reference for body part of tab
573
+
574
+ There 3 pars of tabs that can be replaced:
575
+
576
+ ```typescript
577
+ export enum TabsTemplate {
578
+ Label = 'label',
579
+ Slider = 'slider',
580
+ Body = 'body'
581
+ }
582
+ ```
583
+
584
+ Line type of tabs use such components as parts:
585
+
586
+ 1. Label
587
+
588
+ ```html
589
+ <sfc-tab-label-line [selected]="label.selected" [disabled]="label.disabled" label="{{label.label}}"
590
+ icon="{{label.icon}}">
591
+ </sfc-tab-label-line>
592
+ ```
593
+
594
+ 2. Slider
595
+
596
+ ```html
597
+ <sfc-tab-label-line-slider [count]="data.count" [index]="data.index">
598
+ </sfc-tab-label-line-slider>
599
+ ```
600
+
601
+ ## **Icon `<sfc-tabs>`**
602
+
603
+ Component for visual representation of icon tabs
604
+
605
+ ```html
606
+ <sfc-tabs [tabs]="MODEL_SELECTED" [label]="labelRef" [slider]="sliderRef" [body]="bodyRef">
607
+ <ng-template [sfcTemplateReference]="TabsTemplate.Label" let-label>
608
+ <sfc-tab-label-icon [selected]="label.selected" [disabled]="label.disabled" label="{{label.label}}"
609
+ icon="{{label.icon}}">
610
+ </sfc-tab-label-icon>
611
+ </ng-template>
612
+
613
+ <ng-template [sfcTemplateReference]="TabsTemplate.Slider" let-data>
614
+ <sfc-tab-label-icon-slider [count]="data.count" [index]="data.index">
615
+ </sfc-tab-label-icon-slider>
616
+ </ng-template>
617
+
618
+ <ng-template [sfcTemplateReference]="TabsTemplate.Body" let-data>
619
+ {{data}}
620
+ </ng-template>
621
+ </sfc-tabs>
622
+ ```
623
+
624
+ Icon type of tabs use such components as parts:
625
+
626
+ 1. Label
627
+
628
+ ```html
629
+ <sfc-tab-label-icon [selected]="label.selected" [disabled]="label.disabled" label="{{label.label}}"
630
+ icon="{{label.icon}}">
631
+ </sfc-tab-label-icon>
632
+ ```
633
+
634
+ 2. Slider
635
+
636
+ ```html
637
+ <sfc-tab-label-icon-slider [count]="data.count" [index]="data.index">
638
+ </sfc-tab-label-icon-slider>
639
+ ```
640
+
641
+ ## **Tags `<sfc-tags>`**
642
+
643
+ Display collection of tags.
644
+
645
+ ```html
646
+ <sfc-tags [tags]="tags"></sfc-tags>
647
+ ```
648
+
649
+ Parameters:
650
+ 1. `[tags]` - collection of tags
651
+
652
+ ```typescript
653
+ export interface ITagModel {
654
+ label: string;
655
+ icon?: string;
656
+ }
657
+ ```
658
+
659
+ ## **Timeline `<sfc-timeline>`**
660
+
661
+ Component for represent some period of time as vertical time line with dates and info.
662
+
663
+ ```html
664
+ <sfc-timeline [items]="items"></sfc-timeline>
665
+ ```
666
+
667
+ Parameters:
668
+ 1. `[items]` - timeline period items
669
+
670
+ ```typescript
671
+ export interface ITimelineItemModel{
672
+ title: string; // period title
673
+ position?: TimelineItemPosition; // left or right side
674
+ dateTimeLabel?: string; // period time value (year, month or minutes)
675
+ description?: string;
676
+ period?: boolean; // if true, than mean it's a period title
677
+ icon?: string;
678
+ image?: string;
679
+ }
680
+
681
+ export enum TimelineItemPosition {
682
+ Left = 'left',
683
+ Right = 'right'
684
+ }
685
+ ```