@igniteui/angular-templates 17.0.1302 → 17.0.1310-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1094) hide show
  1. package/IgniteUIForAngularTemplate.d.ts +1 -0
  2. package/IgniteUIForAngularTemplate.js +32 -2
  3. package/constants.d.ts +1 -0
  4. package/constants.js +4 -0
  5. package/igx-ts/accordion/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  6. package/igx-ts/accordion/default/files/src/app/__path__/__filePrefix__.component.ts +21 -1
  7. package/igx-ts/accordion/default/index.js +2 -4
  8. package/igx-ts/autocomplete/autocomplete-custom/files/src/app/__path__/__filePrefix__.component.spec.ts +2 -2
  9. package/igx-ts/autocomplete/autocomplete-custom/files/src/app/__path__/__filePrefix__.component.ts +26 -3
  10. package/igx-ts/autocomplete/autocomplete-custom/index.js +2 -10
  11. package/igx-ts/autocomplete/autocomplete-extended/files/src/app/__path__/__filePrefix__.component.ts +36 -5
  12. package/igx-ts/autocomplete/autocomplete-extended/index.js +2 -13
  13. package/igx-ts/bullet-graph/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  14. package/igx-ts/bullet-graph/default/files/src/app/__path__/__filePrefix__.component.ts +15 -4
  15. package/igx-ts/bullet-graph/default/index.js +2 -5
  16. package/igx-ts/calendar/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  17. package/igx-ts/calendar/default/files/src/app/__path__/__filePrefix__.component.ts +4 -1
  18. package/igx-ts/calendar/default/index.js +2 -3
  19. package/igx-ts/carousel/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  20. package/igx-ts/carousel/default/files/src/app/__path__/__filePrefix__.component.ts +5 -2
  21. package/igx-ts/carousel/default/index.js +2 -4
  22. package/igx-ts/category-chart/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  23. package/igx-ts/category-chart/default/files/src/app/__path__/__filePrefix__.component.ts +6 -3
  24. package/igx-ts/category-chart/default/index.js +0 -4
  25. package/igx-ts/chip/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  26. package/igx-ts/chip/default/files/src/app/__path__/__filePrefix__.component.ts +19 -4
  27. package/igx-ts/chip/default/index.js +2 -4
  28. package/igx-ts/combo/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  29. package/igx-ts/combo/default/files/src/app/__path__/__filePrefix__.component.ts +14 -2
  30. package/igx-ts/combo/default/index.js +2 -4
  31. package/igx-ts/custom-templates/awesome-grid/files/src/app/__path__/__filePrefix__.component.spec.ts +3 -2
  32. package/igx-ts/custom-templates/awesome-grid/files/src/app/__path__/__filePrefix__.component.ts +39 -6
  33. package/igx-ts/custom-templates/awesome-grid/index.js +0 -23
  34. package/igx-ts/custom-templates/crm-grid/files/src/app/__path__/__filePrefix__.component.spec.ts +2 -2
  35. package/igx-ts/custom-templates/crm-grid/files/src/app/__path__/__filePrefix__.component.ts +49 -4
  36. package/igx-ts/custom-templates/crm-grid/index.js +0 -33
  37. package/igx-ts/custom-templates/fintech-grid/files/src/app/__path__/__filePrefix__.component.spec.ts +12 -4
  38. package/igx-ts/custom-templates/fintech-grid/files/src/app/__path__/__filePrefix__.component.ts +63 -4
  39. package/igx-ts/custom-templates/fintech-grid/index.js +0 -20
  40. package/igx-ts/custom-templates/fintech-tree-grid/files/src/app/__path__/__filePrefix__.component.spec.ts +4 -2
  41. package/igx-ts/custom-templates/fintech-tree-grid/files/src/app/__path__/__filePrefix__.component.ts +40 -4
  42. package/igx-ts/custom-templates/fintech-tree-grid/files/src/app/__path__/tree-grid-grouping.pipe.ts +2 -1
  43. package/igx-ts/custom-templates/fintech-tree-grid/index.js +0 -16
  44. package/igx-ts/custom-templates/login/files/src/app/__path__/__filePrefix__.component.spec.ts +16 -2
  45. package/igx-ts/custom-templates/login/files/src/app/__path__/__filePrefix__.component.ts +31 -5
  46. package/igx-ts/custom-templates/login/index.js +0 -7
  47. package/igx-ts/custom-templates/weather-forecast/files/src/app/__path__/__filePrefix__.component.spec.ts +2 -2
  48. package/igx-ts/custom-templates/weather-forecast/files/src/app/__path__/__filePrefix__.component.ts +26 -3
  49. package/igx-ts/custom-templates/weather-forecast/index.js +0 -11
  50. package/igx-ts/date-picker/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  51. package/igx-ts/date-picker/default/files/src/app/__path__/__filePrefix__.component.ts +3 -0
  52. package/igx-ts/date-picker/default/index.js +2 -3
  53. package/igx-ts/dialog/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  54. package/igx-ts/dialog/default/files/src/app/__path__/__filePrefix__.component.ts +4 -3
  55. package/igx-ts/dialog/default/index.js +2 -4
  56. package/igx-ts/dock-manager/default/files/src/app/__path__/__filePrefix__.component.spec.ts +2 -3
  57. package/igx-ts/dock-manager/default/files/src/app/__path__/__filePrefix__.component.ts +7 -3
  58. package/igx-ts/dock-manager/default/index.js +0 -3
  59. package/igx-ts/dropdown/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  60. package/igx-ts/dropdown/default/files/src/app/__path__/__filePrefix__.component.ts +20 -1
  61. package/igx-ts/dropdown/default/index.js +2 -4
  62. package/igx-ts/financial-chart/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  63. package/igx-ts/financial-chart/default/files/src/app/__path__/__filePrefix__.component.ts +4 -1
  64. package/igx-ts/financial-chart/default/index.js +0 -3
  65. package/igx-ts/generate/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  66. package/igx-ts/generate/files/src/app/__path__/__filePrefix__.component.ts +1 -0
  67. package/igx-ts/grid/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  68. package/igx-ts/grid/default/files/src/app/__path__/__filePrefix__.component.ts +4 -2
  69. package/igx-ts/grid/default/index.js +2 -3
  70. package/igx-ts/grid/grid-batch-editing/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  71. package/igx-ts/grid/grid-batch-editing/files/src/app/__path__/__filePrefix__.component.ts +28 -2
  72. package/igx-ts/grid/grid-batch-editing/index.js +2 -13
  73. package/igx-ts/grid/grid-custom/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  74. package/igx-ts/grid/grid-custom/files/src/app/__path__/__filePrefix__.component.ts +2 -1
  75. package/igx-ts/grid/grid-custom/index.js +56 -3
  76. package/igx-ts/grid/grid-summaries/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  77. package/igx-ts/grid/grid-summaries/files/src/app/__path__/__filePrefix__.component.ts +18 -2
  78. package/igx-ts/grid/grid-summaries/index.js +2 -4
  79. package/igx-ts/grid/multi-column-headers/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  80. package/igx-ts/grid/multi-column-headers/files/src/app/__path__/__filePrefix__.component.ts +4 -1
  81. package/igx-ts/grid/multi-column-headers/index.js +2 -5
  82. package/igx-ts/hierarchical-grid/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  83. package/igx-ts/hierarchical-grid/default/files/src/app/__path__/__filePrefix__.component.ts +4 -1
  84. package/igx-ts/hierarchical-grid/default/index.js +2 -3
  85. package/igx-ts/hierarchical-grid/hierarchical-grid-batch-editing/files/src/app/__path__/__filePrefix__.component.spec.ts +10 -10
  86. package/igx-ts/hierarchical-grid/hierarchical-grid-batch-editing/files/src/app/__path__/__filePrefix__.component.ts +36 -3
  87. package/igx-ts/hierarchical-grid/hierarchical-grid-batch-editing/index.js +2 -6
  88. package/igx-ts/hierarchical-grid/hierarchical-grid-custom/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  89. package/igx-ts/hierarchical-grid/hierarchical-grid-custom/files/src/app/__path__/__filePrefix__.component.ts +2 -1
  90. package/igx-ts/hierarchical-grid/hierarchical-grid-custom/index.js +47 -1
  91. package/igx-ts/hierarchical-grid/hierarchical-grid-summaries/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  92. package/igx-ts/hierarchical-grid/hierarchical-grid-summaries/files/src/app/__path__/__filePrefix__.component.ts +4 -1
  93. package/igx-ts/hierarchical-grid/hierarchical-grid-summaries/files/src/app/__path__/custom-summary.ts +1 -1
  94. package/igx-ts/hierarchical-grid/hierarchical-grid-summaries/index.js +2 -3
  95. package/igx-ts/index.js +0 -3
  96. package/igx-ts/input-group/default/files/src/app/__path__/__filePrefix__.component.spec.ts +14 -14
  97. package/igx-ts/input-group/default/files/src/app/__path__/__filePrefix__.component.ts +44 -2
  98. package/igx-ts/input-group/default/index.js +2 -15
  99. package/igx-ts/linear-gauge/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  100. package/igx-ts/linear-gauge/default/files/src/app/__path__/__filePrefix__.component.ts +6 -2
  101. package/igx-ts/linear-gauge/default/index.js +2 -7
  102. package/igx-ts/list/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  103. package/igx-ts/list/default/files/src/app/__path__/__filePrefix__.component.ts +32 -2
  104. package/igx-ts/list/default/index.js +2 -10
  105. package/igx-ts/map/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  106. package/igx-ts/map/default/files/src/app/__path__/__filePrefix__.component.ts +4 -2
  107. package/igx-ts/map/default/index.js +0 -10
  108. package/igx-ts/pivot-grid/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -3
  109. package/igx-ts/pivot-grid/default/files/src/app/__path__/__filePrefix__.component.ts +4 -2
  110. package/igx-ts/pivot-grid/default/index.js +2 -3
  111. package/igx-ts/projects/_base/files/__dot__eslintrc.json +32 -32
  112. package/igx-ts/projects/_base/files/angular.json +105 -130
  113. package/igx-ts/projects/_base/files/package.json +12 -13
  114. package/igx-ts/projects/_base/files/src/app/app.component.ts +4 -0
  115. package/igx-ts/projects/_base/files/src/app/app.config.ts +17 -0
  116. package/igx-ts/projects/_base/files/src/app/app.routes.ts +9 -0
  117. package/igx-ts/projects/_base/files/src/app/error-routing/not-found/not-found.component.ts +2 -1
  118. package/igx-ts/projects/_base/files/src/favicon.ico +0 -0
  119. package/igx-ts/projects/_base/files/src/main.ts +5 -4
  120. package/igx-ts/projects/_base/files/tsconfig.app.json +1 -2
  121. package/igx-ts/projects/_base/files/tsconfig.json +5 -2
  122. package/igx-ts/projects/_base/files/tsconfig.spec.json +0 -4
  123. package/igx-ts/projects/_base/index.js +1 -1
  124. package/igx-ts/projects/_base_with_home/files/__dot__github/workflows/node.js.yml +2 -2
  125. package/igx-ts/projects/_base_with_home/files/src/app/app.config.ts +8 -0
  126. package/igx-ts/projects/_base_with_home/files/src/app/app.routes.ts +12 -0
  127. package/igx-ts/projects/_base_with_home/files/src/app/home/home.component.ts +1 -0
  128. package/igx-ts/projects/empty/files/src/app/app.component.ts +4 -1
  129. package/igx-ts/projects/empty/files/src/app/app.config.ts +8 -0
  130. package/igx-ts/projects/empty/files/src/app/app.routes.ts +8 -0
  131. package/igx-ts/projects/empty/files/src/app/home/home.component.ts +1 -0
  132. package/igx-ts/projects/side-nav/files/src/app/app.component.spec.ts +2 -4
  133. package/igx-ts/projects/side-nav/files/src/app/app.component.ts +28 -5
  134. package/igx-ts/projects/side-nav/files/src/app/app.config.ts +24 -0
  135. package/igx-ts/projects/side-nav-auth/files/package.json +1 -1
  136. package/igx-ts/projects/side-nav-auth/files/src/app/app.component.spec.ts +2 -4
  137. package/igx-ts/projects/side-nav-auth/files/src/app/app.component.ts +69 -0
  138. package/igx-ts/projects/side-nav-auth/files/src/app/app.config.ts +27 -0
  139. package/igx-ts/projects/side-nav-auth/files/src/app/app.routes.ts +3 -0
  140. package/igx-ts/projects/side-nav-auth/files/src/app/authentication/login/login.component.spec.ts +1 -2
  141. package/igx-ts/projects/side-nav-auth/files/src/app/authentication/login/login.component.ts +9 -2
  142. package/igx-ts/projects/side-nav-auth/files/src/app/authentication/login-bar/login-bar.component.spec.ts +14 -4
  143. package/igx-ts/projects/side-nav-auth/files/src/app/authentication/login-bar/login-bar.component.ts +7 -2
  144. package/igx-ts/projects/side-nav-auth/files/src/app/authentication/login-dialog/login-dialog.component.spec.ts +4 -3
  145. package/igx-ts/projects/side-nav-auth/files/src/app/authentication/login-dialog/login-dialog.component.ts +7 -1
  146. package/igx-ts/projects/side-nav-auth/files/src/app/authentication/profile/profile.component.spec.ts +1 -1
  147. package/igx-ts/projects/side-nav-auth/files/src/app/authentication/profile/profile.component.ts +2 -1
  148. package/igx-ts/projects/side-nav-auth/files/src/app/authentication/redirect/redirect.component.spec.ts +1 -2
  149. package/igx-ts/projects/side-nav-auth/files/src/app/authentication/redirect/redirect.component.ts +2 -1
  150. package/igx-ts/projects/side-nav-auth/files/src/app/authentication/register/register.component.spec.ts +2 -2
  151. package/igx-ts/projects/side-nav-auth/files/src/app/authentication/register/register.component.ts +7 -2
  152. package/igx-ts/radial-gauge/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  153. package/igx-ts/radial-gauge/default/files/src/app/__path__/__filePrefix__.component.ts +6 -2
  154. package/igx-ts/radial-gauge/default/index.js +2 -7
  155. package/igx-ts/select/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  156. package/igx-ts/select/default/files/src/app/__path__/__filePrefix__.component.ts +5 -1
  157. package/igx-ts/select/default/index.js +2 -8
  158. package/igx-ts/select/select-groups/files/src/app/__path__/__filePrefix__.comonent.spec.ts +1 -2
  159. package/igx-ts/select/select-groups/files/src/app/__path__/__filePrefix__.component.ts +6 -1
  160. package/igx-ts/select/select-groups/index.js +2 -8
  161. package/igx-ts/select/select-in-form/files/src/app/__path__/__filePrefix__.component.spec.ts +9 -9
  162. package/igx-ts/select/select-in-form/files/src/app/__path__/__filePrefix__.component.ts +26 -2
  163. package/igx-ts/select/select-in-form/index.js +2 -12
  164. package/igx-ts/stepper/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  165. package/igx-ts/stepper/default/files/src/app/__path__/__filePrefix__.component.ts +20 -2
  166. package/igx-ts/stepper/default/index.js +2 -4
  167. package/igx-ts/tabbar/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  168. package/igx-ts/tabbar/default/files/src/app/__path__/__filePrefix__.component.ts +16 -1
  169. package/igx-ts/tabbar/default/index.js +2 -7
  170. package/igx-ts/tabs/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  171. package/igx-ts/tabs/default/files/src/app/__path__/__filePrefix__.component.ts +20 -1
  172. package/igx-ts/tabs/default/index.js +2 -4
  173. package/igx-ts/time-picker/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  174. package/igx-ts/time-picker/default/files/src/app/__path__/__filePrefix__.component.ts +4 -1
  175. package/igx-ts/time-picker/default/index.js +2 -3
  176. package/igx-ts/tooltip/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  177. package/igx-ts/tooltip/default/files/src/app/__path__/__filePrefix__.component.ts +17 -1
  178. package/igx-ts/tooltip/default/index.js +2 -7
  179. package/igx-ts/tree/default/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  180. package/igx-ts/tree/default/files/src/app/__path__/__filePrefix__.component.ts +20 -2
  181. package/igx-ts/tree/default/index.js +2 -4
  182. package/igx-ts/tree-grid/tree-grid-custom/files/src/app/__path__/__filePrefix__.component.spec.ts +1 -2
  183. package/igx-ts/tree-grid/tree-grid-custom/files/src/app/__path__/__filePrefix__.component.ts +2 -1
  184. package/igx-ts/tree-grid/tree-grid-custom/index.js +45 -1
  185. package/igx-ts-legacy/accordion/default/files/src/app/__path__/__filePrefix__.component.html +86 -0
  186. package/igx-ts-legacy/accordion/default/files/src/app/__path__/__filePrefix__.component.scss +17 -0
  187. package/igx-ts-legacy/accordion/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  188. package/igx-ts-legacy/accordion/default/files/src/app/__path__/__filePrefix__.component.ts +10 -0
  189. package/igx-ts-legacy/accordion/default/index.d.ts +1 -0
  190. package/igx-ts-legacy/accordion/default/index.js +20 -0
  191. package/igx-ts-legacy/accordion/index.d.ts +1 -0
  192. package/igx-ts-legacy/accordion/index.js +15 -0
  193. package/igx-ts-legacy/autocomplete/autocomplete-custom/files/src/app/__path__/__filePrefix__.component.html +20 -0
  194. package/igx-ts-legacy/autocomplete/autocomplete-custom/files/src/app/__path__/__filePrefix__.component.scss +7 -0
  195. package/igx-ts-legacy/autocomplete/autocomplete-custom/files/src/app/__path__/__filePrefix__.component.spec.ts +28 -0
  196. package/igx-ts-legacy/autocomplete/autocomplete-custom/files/src/app/__path__/__filePrefix__.component.ts +23 -0
  197. package/igx-ts-legacy/autocomplete/autocomplete-custom/files/src/app/__path__/towns-data.ts +27 -0
  198. package/igx-ts-legacy/autocomplete/autocomplete-custom/index.d.ts +1 -0
  199. package/igx-ts-legacy/autocomplete/autocomplete-custom/index.js +26 -0
  200. package/igx-ts-legacy/autocomplete/autocomplete-extended/files/src/app/__path__/__filePrefix__.component.html +37 -0
  201. package/igx-ts-legacy/autocomplete/autocomplete-extended/files/src/app/__path__/__filePrefix__.component.scss +9 -0
  202. package/igx-ts-legacy/autocomplete/autocomplete-extended/files/src/app/__path__/__filePrefix__.component.spec.ts +32 -0
  203. package/igx-ts-legacy/autocomplete/autocomplete-extended/files/src/app/__path__/__filePrefix__.component.ts +58 -0
  204. package/igx-ts-legacy/autocomplete/autocomplete-extended/files/src/app/__path__/towns-data-extended.ts +948 -0
  205. package/igx-ts-legacy/autocomplete/autocomplete-extended/index.d.ts +1 -0
  206. package/igx-ts-legacy/autocomplete/autocomplete-extended/index.js +29 -0
  207. package/igx-ts-legacy/autocomplete/index.d.ts +1 -0
  208. package/igx-ts-legacy/autocomplete/index.js +12 -0
  209. package/igx-ts-legacy/bullet-graph/default/files/src/app/__path__/__filePrefix__.component.html +50 -0
  210. package/igx-ts-legacy/bullet-graph/default/files/src/app/__path__/__filePrefix__.component.scss +26 -0
  211. package/igx-ts-legacy/bullet-graph/default/files/src/app/__path__/__filePrefix__.component.spec.ts +29 -0
  212. package/igx-ts-legacy/bullet-graph/default/files/src/app/__path__/__filePrefix__.component.ts +228 -0
  213. package/igx-ts-legacy/bullet-graph/default/index.d.ts +1 -0
  214. package/igx-ts-legacy/bullet-graph/default/index.js +21 -0
  215. package/igx-ts-legacy/bullet-graph/index.d.ts +1 -0
  216. package/igx-ts-legacy/bullet-graph/index.js +15 -0
  217. package/igx-ts-legacy/calendar/default/files/src/app/__path__/__filePrefix__.component.html +7 -0
  218. package/igx-ts-legacy/calendar/default/files/src/app/__path__/__filePrefix__.component.scss +0 -0
  219. package/igx-ts-legacy/calendar/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  220. package/igx-ts-legacy/calendar/default/files/src/app/__path__/__filePrefix__.component.ts +9 -0
  221. package/igx-ts-legacy/calendar/default/index.d.ts +1 -0
  222. package/igx-ts-legacy/calendar/default/index.js +57 -0
  223. package/igx-ts-legacy/calendar/index.d.ts +1 -0
  224. package/igx-ts-legacy/calendar/index.js +11 -0
  225. package/igx-ts-legacy/carousel/default/files/src/app/__path__/__filePrefix__.component.html +11 -0
  226. package/igx-ts-legacy/carousel/default/files/src/app/__path__/__filePrefix__.component.scss +21 -0
  227. package/igx-ts-legacy/carousel/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  228. package/igx-ts-legacy/carousel/default/files/src/app/__path__/__filePrefix__.component.ts +33 -0
  229. package/igx-ts-legacy/carousel/default/files/src/assets/slide1@x2.jpg +0 -0
  230. package/igx-ts-legacy/carousel/default/files/src/assets/slide2@x2.jpg +0 -0
  231. package/igx-ts-legacy/carousel/default/files/src/assets/slide3@x2.jpg +0 -0
  232. package/igx-ts-legacy/carousel/default/files/src/assets/slide4@x2.jpg +0 -0
  233. package/igx-ts-legacy/carousel/default/index.d.ts +1 -0
  234. package/igx-ts-legacy/carousel/default/index.js +20 -0
  235. package/igx-ts-legacy/carousel/index.d.ts +1 -0
  236. package/igx-ts-legacy/carousel/index.js +16 -0
  237. package/igx-ts-legacy/category-chart/default/files/src/app/__path__/__filePrefix__.component.html +21 -0
  238. package/igx-ts-legacy/category-chart/default/files/src/app/__path__/__filePrefix__.component.scss +3 -0
  239. package/igx-ts-legacy/category-chart/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  240. package/igx-ts-legacy/category-chart/default/files/src/app/__path__/__filePrefix__.component.ts +19 -0
  241. package/igx-ts-legacy/category-chart/default/index.d.ts +1 -0
  242. package/igx-ts-legacy/category-chart/default/index.js +21 -0
  243. package/igx-ts-legacy/category-chart/index.d.ts +1 -0
  244. package/igx-ts-legacy/category-chart/index.js +16 -0
  245. package/igx-ts-legacy/chip/default/files/src/app/__path__/__filePrefix__.component.html +26 -0
  246. package/igx-ts-legacy/chip/default/files/src/app/__path__/__filePrefix__.component.scss +22 -0
  247. package/igx-ts-legacy/chip/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  248. package/igx-ts-legacy/chip/default/files/src/app/__path__/__filePrefix__.component.ts +109 -0
  249. package/igx-ts-legacy/chip/default/index.d.ts +1 -0
  250. package/igx-ts-legacy/chip/default/index.js +20 -0
  251. package/igx-ts-legacy/chip/index.d.ts +1 -0
  252. package/igx-ts-legacy/chip/index.js +15 -0
  253. package/igx-ts-legacy/combo/default/files/src/app/__path__/__filePrefix__.component.html +31 -0
  254. package/igx-ts-legacy/combo/default/files/src/app/__path__/__filePrefix__.component.scss +18 -0
  255. package/igx-ts-legacy/combo/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  256. package/igx-ts-legacy/combo/default/files/src/app/__path__/__filePrefix__.component.ts +12 -0
  257. package/igx-ts-legacy/combo/default/files/src/app/__path__/local-data.ts +38 -0
  258. package/igx-ts-legacy/combo/default/index.d.ts +1 -0
  259. package/igx-ts-legacy/combo/default/index.js +20 -0
  260. package/igx-ts-legacy/combo/index.d.ts +1 -0
  261. package/igx-ts-legacy/combo/index.js +16 -0
  262. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/app/__path__/__filePrefix__.component.html +134 -0
  263. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/app/__path__/__filePrefix__.component.scss +242 -0
  264. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/app/__path__/__filePrefix__.component.spec.ts +49 -0
  265. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/app/__path__/__filePrefix__.component.ts +335 -0
  266. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/app/__path__/services/data.ts +2244 -0
  267. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ad.png +0 -0
  268. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ae.png +0 -0
  269. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/af.png +0 -0
  270. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ag.png +0 -0
  271. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/al.png +0 -0
  272. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/am.png +0 -0
  273. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ao.png +0 -0
  274. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ar.png +0 -0
  275. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/at.png +0 -0
  276. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/au.png +0 -0
  277. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/az.png +0 -0
  278. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ba.png +0 -0
  279. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bb.png +0 -0
  280. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bd.png +0 -0
  281. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/be.png +0 -0
  282. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bf.png +0 -0
  283. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bg.png +0 -0
  284. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bh.png +0 -0
  285. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bi.png +0 -0
  286. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bj.png +0 -0
  287. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bn.png +0 -0
  288. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bo.png +0 -0
  289. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/br.png +0 -0
  290. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bs.png +0 -0
  291. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bt.png +0 -0
  292. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bw.png +0 -0
  293. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/by.png +0 -0
  294. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/bz.png +0 -0
  295. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ca.png +0 -0
  296. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/cd.png +0 -0
  297. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/cf.png +0 -0
  298. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/cg.png +0 -0
  299. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ch.png +0 -0
  300. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ci.png +0 -0
  301. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ck.png +0 -0
  302. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/cl.png +0 -0
  303. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/cm.png +0 -0
  304. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/cn.png +0 -0
  305. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/co.png +0 -0
  306. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/cr.png +0 -0
  307. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/cu.png +0 -0
  308. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/cv.png +0 -0
  309. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/cy.png +0 -0
  310. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/cz.png +0 -0
  311. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/de.png +0 -0
  312. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/dj.png +0 -0
  313. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/dk.png +0 -0
  314. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/dm.png +0 -0
  315. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/do.png +0 -0
  316. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/dz.png +0 -0
  317. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ec.png +0 -0
  318. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ee.png +0 -0
  319. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/eg.png +0 -0
  320. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/eh.png +0 -0
  321. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/er.png +0 -0
  322. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/es.png +0 -0
  323. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/et.png +0 -0
  324. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/fi.png +0 -0
  325. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/fj.png +0 -0
  326. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/fm.png +0 -0
  327. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/fr.png +0 -0
  328. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ga.png +0 -0
  329. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/gb.png +0 -0
  330. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/gd.png +0 -0
  331. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ge.png +0 -0
  332. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/gh.png +0 -0
  333. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/gm.png +0 -0
  334. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/gn.png +0 -0
  335. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/gq.png +0 -0
  336. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/gr.png +0 -0
  337. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/gt.png +0 -0
  338. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/gw.png +0 -0
  339. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/gy.png +0 -0
  340. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/hn.png +0 -0
  341. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/hr.png +0 -0
  342. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ht.png +0 -0
  343. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/hu.png +0 -0
  344. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/id.png +0 -0
  345. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ie.png +0 -0
  346. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/il.png +0 -0
  347. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/in.png +0 -0
  348. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/iq.png +0 -0
  349. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ir.png +0 -0
  350. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/is.png +0 -0
  351. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/it.png +0 -0
  352. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/jm.png +0 -0
  353. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/jo.png +0 -0
  354. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/jp.png +0 -0
  355. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ke.png +0 -0
  356. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/kg.png +0 -0
  357. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/kh.png +0 -0
  358. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ki.png +0 -0
  359. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/km.png +0 -0
  360. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/kn.png +0 -0
  361. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/kp.png +0 -0
  362. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/kr.png +0 -0
  363. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ks.png +0 -0
  364. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/kw.png +0 -0
  365. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/kz.png +0 -0
  366. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/la.png +0 -0
  367. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/lb.png +0 -0
  368. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/lc.png +0 -0
  369. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/li.png +0 -0
  370. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/lk.png +0 -0
  371. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/lr.png +0 -0
  372. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ls.png +0 -0
  373. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/lt.png +0 -0
  374. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/lu.png +0 -0
  375. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/lv.png +0 -0
  376. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ly.png +0 -0
  377. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ma.png +0 -0
  378. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mc.png +0 -0
  379. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/md.png +0 -0
  380. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/me.png +0 -0
  381. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mg.png +0 -0
  382. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mh.png +0 -0
  383. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mk.png +0 -0
  384. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ml.png +0 -0
  385. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mm.png +0 -0
  386. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mn.png +0 -0
  387. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mr.png +0 -0
  388. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mt.png +0 -0
  389. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mu.png +0 -0
  390. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mv.png +0 -0
  391. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mw.png +0 -0
  392. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mx.png +0 -0
  393. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/my.png +0 -0
  394. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/mz.png +0 -0
  395. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/na.png +0 -0
  396. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ne.png +0 -0
  397. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ng.png +0 -0
  398. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ni.png +0 -0
  399. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/nl.png +0 -0
  400. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/no.png +0 -0
  401. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/np.png +0 -0
  402. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/nr.png +0 -0
  403. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/nu.png +0 -0
  404. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/nz.png +0 -0
  405. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/om.png +0 -0
  406. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/pa.png +0 -0
  407. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/pe.png +0 -0
  408. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/pg.png +0 -0
  409. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ph.png +0 -0
  410. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/pk.png +0 -0
  411. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/pl.png +0 -0
  412. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/pt.png +0 -0
  413. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/pw.png +0 -0
  414. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/py.png +0 -0
  415. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/qa.png +0 -0
  416. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ro.png +0 -0
  417. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/rs.png +0 -0
  418. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ru.png +0 -0
  419. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/rw.png +0 -0
  420. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sa.png +0 -0
  421. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sb.png +0 -0
  422. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sc.png +0 -0
  423. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sd.png +0 -0
  424. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/se.png +0 -0
  425. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sg.png +0 -0
  426. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/si.png +0 -0
  427. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sk.png +0 -0
  428. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sl.png +0 -0
  429. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sm.png +0 -0
  430. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sn.png +0 -0
  431. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/so.png +0 -0
  432. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sr.png +0 -0
  433. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/st.png +0 -0
  434. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sv.png +0 -0
  435. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sy.png +0 -0
  436. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/sz.png +0 -0
  437. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/td.png +0 -0
  438. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/tg.png +0 -0
  439. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/th.png +0 -0
  440. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/tj.png +0 -0
  441. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/tl.png +0 -0
  442. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/tm.png +0 -0
  443. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/tn.png +0 -0
  444. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/to.png +0 -0
  445. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/tr.png +0 -0
  446. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/tt.png +0 -0
  447. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/tv.png +0 -0
  448. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/tw.png +0 -0
  449. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/tz.png +0 -0
  450. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ua.png +0 -0
  451. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ug.png +0 -0
  452. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/us.png +0 -0
  453. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/uy.png +0 -0
  454. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/uz.png +0 -0
  455. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/va.png +0 -0
  456. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/vc.png +0 -0
  457. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ve.png +0 -0
  458. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/vn.png +0 -0
  459. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/vu.png +0 -0
  460. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ws.png +0 -0
  461. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/ye.png +0 -0
  462. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/za.png +0 -0
  463. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/zm.png +0 -0
  464. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/flags/zw.png +0 -0
  465. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/trophy_bronze.svg +13 -0
  466. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/trophy_gold.svg +13 -0
  467. package/igx-ts-legacy/custom-templates/awesome-grid/files/src/assets/images/trophy_silver.svg +13 -0
  468. package/igx-ts-legacy/custom-templates/awesome-grid/index.d.ts +1 -0
  469. package/igx-ts-legacy/custom-templates/awesome-grid/index.js +39 -0
  470. package/igx-ts-legacy/custom-templates/crm-grid/files/src/app/__path__/__filePrefix__.component.html +184 -0
  471. package/igx-ts-legacy/custom-templates/crm-grid/files/src/app/__path__/__filePrefix__.component.scss +391 -0
  472. package/igx-ts-legacy/custom-templates/crm-grid/files/src/app/__path__/__filePrefix__.component.spec.ts +60 -0
  473. package/igx-ts-legacy/custom-templates/crm-grid/files/src/app/__path__/__filePrefix__.component.ts +239 -0
  474. package/igx-ts-legacy/custom-templates/crm-grid/files/src/app/__path__/data.ts +490 -0
  475. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/0.jpg +0 -0
  476. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/1.jpg +0 -0
  477. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/10.jpg +0 -0
  478. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/100.jpg +0 -0
  479. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/11.jpg +0 -0
  480. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/12.jpg +0 -0
  481. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/13.jpg +0 -0
  482. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/14.jpg +0 -0
  483. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/15.jpg +0 -0
  484. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/16.jpg +0 -0
  485. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/17.jpg +0 -0
  486. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/18.jpg +0 -0
  487. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/19.jpg +0 -0
  488. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/2.jpg +0 -0
  489. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/20.jpg +0 -0
  490. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/21.jpg +0 -0
  491. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/22.jpg +0 -0
  492. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/23.jpg +0 -0
  493. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/24.jpg +0 -0
  494. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/25.jpg +0 -0
  495. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/26.jpg +0 -0
  496. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/27.jpg +0 -0
  497. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/28.jpg +0 -0
  498. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/29.jpg +0 -0
  499. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/3.jpg +0 -0
  500. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/30.jpg +0 -0
  501. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/31.jpg +0 -0
  502. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/32.jpg +0 -0
  503. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/33.jpg +0 -0
  504. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/34.jpg +0 -0
  505. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/35.jpg +0 -0
  506. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/36.jpg +0 -0
  507. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/37.jpg +0 -0
  508. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/38.jpg +0 -0
  509. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/39.jpg +0 -0
  510. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/4.jpg +0 -0
  511. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/40.jpg +0 -0
  512. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/41.jpg +0 -0
  513. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/42.jpg +0 -0
  514. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/43.jpg +0 -0
  515. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/44.jpg +0 -0
  516. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/45.jpg +0 -0
  517. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/46.jpg +0 -0
  518. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/47.jpg +0 -0
  519. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/48.jpg +0 -0
  520. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/49.jpg +0 -0
  521. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/5.jpg +0 -0
  522. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/50.jpg +0 -0
  523. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/51.jpg +0 -0
  524. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/52.jpg +0 -0
  525. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/53.jpg +0 -0
  526. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/54.jpg +0 -0
  527. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/55.jpg +0 -0
  528. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/56.jpg +0 -0
  529. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/57 (1).jpg +0 -0
  530. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/57.jpg +0 -0
  531. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/58.jpg +0 -0
  532. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/59.jpg +0 -0
  533. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/6.jpg +0 -0
  534. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/60.jpg +0 -0
  535. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/61.jpg +0 -0
  536. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/62.jpg +0 -0
  537. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/63.jpg +0 -0
  538. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/64.jpg +0 -0
  539. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/65.jpg +0 -0
  540. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/66.jpg +0 -0
  541. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/67.jpg +0 -0
  542. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/68.jpg +0 -0
  543. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/69.jpg +0 -0
  544. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/7.jpg +0 -0
  545. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/70.jpg +0 -0
  546. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/71.jpg +0 -0
  547. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/72.jpg +0 -0
  548. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/73.jpg +0 -0
  549. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/74.jpg +0 -0
  550. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/75.jpg +0 -0
  551. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/76.jpg +0 -0
  552. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/77.jpg +0 -0
  553. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/78.jpg +0 -0
  554. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/79.jpg +0 -0
  555. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/8.jpg +0 -0
  556. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/80.jpg +0 -0
  557. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/81.jpg +0 -0
  558. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/82.jpg +0 -0
  559. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/83.jpg +0 -0
  560. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/84.jpg +0 -0
  561. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/85.jpg +0 -0
  562. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/86.jpg +0 -0
  563. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/87.jpg +0 -0
  564. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/88.jpg +0 -0
  565. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/89.jpg +0 -0
  566. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/9.jpg +0 -0
  567. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/90.jpg +0 -0
  568. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/91.jpg +0 -0
  569. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/92.jpg +0 -0
  570. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/93.jpg +0 -0
  571. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/94.jpg +0 -0
  572. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/95.jpg +0 -0
  573. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/96.jpg +0 -0
  574. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/97.jpg +0 -0
  575. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/98.jpg +0 -0
  576. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/men/99.jpg +0 -0
  577. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/propeller-logo.svg +13 -0
  578. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/0.jpg +0 -0
  579. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/1.jpg +0 -0
  580. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/10.jpg +0 -0
  581. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/100.jpg +0 -0
  582. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/11.jpg +0 -0
  583. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/12.jpg +0 -0
  584. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/13.jpg +0 -0
  585. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/14.jpg +0 -0
  586. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/15.jpg +0 -0
  587. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/16.jpg +0 -0
  588. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/17.jpg +0 -0
  589. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/18.jpg +0 -0
  590. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/19.jpg +0 -0
  591. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/2.jpg +0 -0
  592. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/20.jpg +0 -0
  593. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/21.jpg +0 -0
  594. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/22.jpg +0 -0
  595. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/23.jpg +0 -0
  596. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/24.jpg +0 -0
  597. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/25.jpg +0 -0
  598. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/26.jpg +0 -0
  599. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/27.jpg +0 -0
  600. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/28.jpg +0 -0
  601. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/29.jpg +0 -0
  602. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/3.jpg +0 -0
  603. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/30.jpg +0 -0
  604. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/31.jpg +0 -0
  605. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/32.jpg +0 -0
  606. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/33.jpg +0 -0
  607. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/34.jpg +0 -0
  608. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/35.jpg +0 -0
  609. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/36.jpg +0 -0
  610. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/37.jpg +0 -0
  611. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/38.jpg +0 -0
  612. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/39.jpg +0 -0
  613. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/4.jpg +0 -0
  614. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/40.jpg +0 -0
  615. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/41.jpg +0 -0
  616. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/42.jpg +0 -0
  617. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/43.jpg +0 -0
  618. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/44.jpg +0 -0
  619. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/45.jpg +0 -0
  620. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/46.jpg +0 -0
  621. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/47.jpg +0 -0
  622. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/48.jpg +0 -0
  623. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/49.jpg +0 -0
  624. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/5.jpg +0 -0
  625. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/50.jpg +0 -0
  626. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/51.jpg +0 -0
  627. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/52.jpg +0 -0
  628. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/53.jpg +0 -0
  629. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/54.jpg +0 -0
  630. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/55.jpg +0 -0
  631. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/56.jpg +0 -0
  632. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/57.jpg +0 -0
  633. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/58.jpg +0 -0
  634. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/59.jpg +0 -0
  635. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/6.jpg +0 -0
  636. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/60.jpg +0 -0
  637. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/61.jpg +0 -0
  638. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/62.jpg +0 -0
  639. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/63.jpg +0 -0
  640. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/64.jpg +0 -0
  641. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/65.jpg +0 -0
  642. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/66.jpg +0 -0
  643. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/67.jpg +0 -0
  644. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/68.jpg +0 -0
  645. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/69.jpg +0 -0
  646. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/7.jpg +0 -0
  647. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/70.jpg +0 -0
  648. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/71.jpg +0 -0
  649. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/72.jpg +0 -0
  650. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/73.jpg +0 -0
  651. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/74.jpg +0 -0
  652. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/75.jpg +0 -0
  653. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/76.jpg +0 -0
  654. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/77.jpg +0 -0
  655. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/78.jpg +0 -0
  656. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/79.jpg +0 -0
  657. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/8.jpg +0 -0
  658. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/80.jpg +0 -0
  659. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/81.jpg +0 -0
  660. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/82.jpg +0 -0
  661. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/83.jpg +0 -0
  662. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/84.jpg +0 -0
  663. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/85.jpg +0 -0
  664. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/86.jpg +0 -0
  665. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/87.jpg +0 -0
  666. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/88.jpg +0 -0
  667. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/89.jpg +0 -0
  668. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/9.jpg +0 -0
  669. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/90.jpg +0 -0
  670. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/91.jpg +0 -0
  671. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/92.jpg +0 -0
  672. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/93.jpg +0 -0
  673. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/94.jpg +0 -0
  674. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/95.jpg +0 -0
  675. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/96.jpg +0 -0
  676. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/97.jpg +0 -0
  677. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/98.jpg +0 -0
  678. package/igx-ts-legacy/custom-templates/crm-grid/files/src/assets/images/women/99.jpg +0 -0
  679. package/igx-ts-legacy/custom-templates/crm-grid/index.d.ts +1 -0
  680. package/igx-ts-legacy/custom-templates/crm-grid/index.js +49 -0
  681. package/igx-ts-legacy/custom-templates/fintech-grid/files/src/app/__path__/__filePrefix__.component.html +233 -0
  682. package/igx-ts-legacy/custom-templates/fintech-grid/files/src/app/__path__/__filePrefix__.component.scss +254 -0
  683. package/igx-ts-legacy/custom-templates/fintech-grid/files/src/app/__path__/__filePrefix__.component.spec.ts +31 -0
  684. package/igx-ts-legacy/custom-templates/fintech-grid/files/src/app/__path__/__filePrefix__.component.ts +470 -0
  685. package/igx-ts-legacy/custom-templates/fintech-grid/files/src/app/__path__/localData/financialData.ts +1013 -0
  686. package/igx-ts-legacy/custom-templates/fintech-grid/files/src/app/__path__/localData.service.ts +19 -0
  687. package/igx-ts-legacy/custom-templates/fintech-grid/index.d.ts +1 -0
  688. package/igx-ts-legacy/custom-templates/fintech-grid/index.js +36 -0
  689. package/igx-ts-legacy/custom-templates/fintech-tree-grid/files/src/app/__path__/__filePrefix__.component.html +78 -0
  690. package/igx-ts-legacy/custom-templates/fintech-tree-grid/files/src/app/__path__/__filePrefix__.component.scss +229 -0
  691. package/igx-ts-legacy/custom-templates/fintech-tree-grid/files/src/app/__path__/__filePrefix__.component.spec.ts +36 -0
  692. package/igx-ts-legacy/custom-templates/fintech-tree-grid/files/src/app/__path__/__filePrefix__.component.ts +317 -0
  693. package/igx-ts-legacy/custom-templates/fintech-tree-grid/files/src/app/__path__/assets/financialData.ts +1013 -0
  694. package/igx-ts-legacy/custom-templates/fintech-tree-grid/files/src/app/__path__/localData.service.ts +19 -0
  695. package/igx-ts-legacy/custom-templates/fintech-tree-grid/files/src/app/__path__/tree-grid-grouping.pipe.ts +98 -0
  696. package/igx-ts-legacy/custom-templates/fintech-tree-grid/index.d.ts +1 -0
  697. package/igx-ts-legacy/custom-templates/fintech-tree-grid/index.js +31 -0
  698. package/igx-ts-legacy/custom-templates/login/files/src/app/__path__/__filePrefix__.component.html +45 -0
  699. package/igx-ts-legacy/custom-templates/login/files/src/app/__path__/__filePrefix__.component.scss +25 -0
  700. package/igx-ts-legacy/custom-templates/login/files/src/app/__path__/__filePrefix__.component.spec.ts +55 -0
  701. package/igx-ts-legacy/custom-templates/login/files/src/app/__path__/__filePrefix__.component.ts +54 -0
  702. package/igx-ts-legacy/custom-templates/login/index.d.ts +1 -0
  703. package/igx-ts-legacy/custom-templates/login/index.js +22 -0
  704. package/igx-ts-legacy/custom-templates/weather-forecast/files/src/app/__path__/__filePrefix__.component.html +34 -0
  705. package/igx-ts-legacy/custom-templates/weather-forecast/files/src/app/__path__/__filePrefix__.component.scss +59 -0
  706. package/igx-ts-legacy/custom-templates/weather-forecast/files/src/app/__path__/__filePrefix__.component.spec.ts +37 -0
  707. package/igx-ts-legacy/custom-templates/weather-forecast/files/src/app/__path__/__filePrefix__.component.ts +19 -0
  708. package/igx-ts-legacy/custom-templates/weather-forecast/files/src/app/__path__/weather-data.ts +58 -0
  709. package/igx-ts-legacy/custom-templates/weather-forecast/index.d.ts +1 -0
  710. package/igx-ts-legacy/custom-templates/weather-forecast/index.js +26 -0
  711. package/igx-ts-legacy/date-picker/default/files/src/app/__path__/__filePrefix__.component.html +7 -0
  712. package/igx-ts-legacy/date-picker/default/files/src/app/__path__/__filePrefix__.component.scss +3 -0
  713. package/igx-ts-legacy/date-picker/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  714. package/igx-ts-legacy/date-picker/default/files/src/app/__path__/__filePrefix__.component.ts +11 -0
  715. package/igx-ts-legacy/date-picker/default/index.d.ts +1 -0
  716. package/igx-ts-legacy/date-picker/default/index.js +19 -0
  717. package/igx-ts-legacy/date-picker/index.d.ts +1 -0
  718. package/igx-ts-legacy/date-picker/index.js +15 -0
  719. package/igx-ts-legacy/dialog/default/files/src/app/__path__/__filePrefix__.component.html +9 -0
  720. package/igx-ts-legacy/dialog/default/files/src/app/__path__/__filePrefix__.component.scss +6 -0
  721. package/igx-ts-legacy/dialog/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  722. package/igx-ts-legacy/dialog/default/files/src/app/__path__/__filePrefix__.component.ts +14 -0
  723. package/igx-ts-legacy/dialog/default/index.d.ts +1 -0
  724. package/igx-ts-legacy/dialog/default/index.js +20 -0
  725. package/igx-ts-legacy/dialog/index.d.ts +1 -0
  726. package/igx-ts-legacy/dialog/index.js +14 -0
  727. package/igx-ts-legacy/dock-manager/default/files/src/app/__path__/__filePrefix__.component.html +16 -0
  728. package/igx-ts-legacy/dock-manager/default/files/src/app/__path__/__filePrefix__.component.scss +8 -0
  729. package/igx-ts-legacy/dock-manager/default/files/src/app/__path__/__filePrefix__.component.spec.ts +32 -0
  730. package/igx-ts-legacy/dock-manager/default/files/src/app/__path__/__filePrefix__.component.ts +121 -0
  731. package/igx-ts-legacy/dock-manager/default/index.d.ts +1 -0
  732. package/igx-ts-legacy/dock-manager/default/index.js +25 -0
  733. package/igx-ts-legacy/dock-manager/index.d.ts +1 -0
  734. package/igx-ts-legacy/dock-manager/index.js +15 -0
  735. package/igx-ts-legacy/dropdown/default/files/src/app/__path__/__filePrefix__.component.html +13 -0
  736. package/igx-ts-legacy/dropdown/default/files/src/app/__path__/__filePrefix__.component.scss +14 -0
  737. package/igx-ts-legacy/dropdown/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  738. package/igx-ts-legacy/dropdown/default/files/src/app/__path__/__filePrefix__.component.ts +12 -0
  739. package/igx-ts-legacy/dropdown/default/files/src/app/__path__/local-data.ts +21 -0
  740. package/igx-ts-legacy/dropdown/default/index.d.ts +1 -0
  741. package/igx-ts-legacy/dropdown/default/index.js +20 -0
  742. package/igx-ts-legacy/dropdown/index.d.ts +1 -0
  743. package/igx-ts-legacy/dropdown/index.js +14 -0
  744. package/igx-ts-legacy/financial-chart/default/files/src/app/__path__/__filePrefix__.component.html +7 -0
  745. package/igx-ts-legacy/financial-chart/default/files/src/app/__path__/__filePrefix__.component.scss +3 -0
  746. package/igx-ts-legacy/financial-chart/default/files/src/app/__path__/__filePrefix__.component.spec.ts +26 -0
  747. package/igx-ts-legacy/financial-chart/default/files/src/app/__path__/__filePrefix__.component.ts +11 -0
  748. package/igx-ts-legacy/financial-chart/default/files/src/app/__path__/data.ts +1270 -0
  749. package/igx-ts-legacy/financial-chart/default/index.d.ts +1 -0
  750. package/igx-ts-legacy/financial-chart/default/index.js +19 -0
  751. package/igx-ts-legacy/financial-chart/index.d.ts +1 -0
  752. package/igx-ts-legacy/financial-chart/index.js +14 -0
  753. package/igx-ts-legacy/generate/files/src/app/__path__/__filePrefix__.component.html +4 -0
  754. package/igx-ts-legacy/generate/files/src/app/__path__/__filePrefix__.component.scss +0 -0
  755. package/igx-ts-legacy/generate/files/src/app/__path__/__filePrefix__.component.spec.ts +25 -0
  756. package/igx-ts-legacy/generate/files/src/app/__path__/__filePrefix__.component.ts +11 -0
  757. package/igx-ts-legacy/generate/template.json +13 -0
  758. package/igx-ts-legacy/grid/default/files/src/app/__path__/__filePrefix__.component.html +8 -0
  759. package/igx-ts-legacy/grid/default/files/src/app/__path__/__filePrefix__.component.scss +0 -0
  760. package/igx-ts-legacy/grid/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  761. package/igx-ts-legacy/grid/default/files/src/app/__path__/__filePrefix__.component.ts +23 -0
  762. package/igx-ts-legacy/grid/default/files/src/app/__path__/localData.ts +354 -0
  763. package/igx-ts-legacy/grid/default/index.d.ts +1 -0
  764. package/igx-ts-legacy/grid/default/index.js +19 -0
  765. package/igx-ts-legacy/grid/grid-batch-editing/files/src/app/__path__/__filePrefix__.component.html +54 -0
  766. package/igx-ts-legacy/grid/grid-batch-editing/files/src/app/__path__/__filePrefix__.component.scss +34 -0
  767. package/igx-ts-legacy/grid/grid-batch-editing/files/src/app/__path__/__filePrefix__.component.spec.ts +34 -0
  768. package/igx-ts-legacy/grid/grid-batch-editing/files/src/app/__path__/__filePrefix__.component.ts +95 -0
  769. package/igx-ts-legacy/grid/grid-batch-editing/files/src/app/__path__/data.ts +137 -0
  770. package/igx-ts-legacy/grid/grid-batch-editing/index.d.ts +1 -0
  771. package/igx-ts-legacy/grid/grid-batch-editing/index.js +29 -0
  772. package/igx-ts-legacy/grid/grid-custom/files/src/app/__path__/__filePrefix__.component.html +25 -0
  773. package/igx-ts-legacy/grid/grid-custom/files/src/app/__path__/__filePrefix__.component.scss +0 -0
  774. package/igx-ts-legacy/grid/grid-custom/files/src/app/__path__/__filePrefix__.component.spec.ts +28 -0
  775. package/igx-ts-legacy/grid/grid-custom/files/src/app/__path__/__filePrefix__.component.ts +16 -0
  776. package/igx-ts-legacy/grid/grid-custom/files/src/app/__path__/localData.ts +355 -0
  777. package/igx-ts-legacy/grid/grid-custom/index.d.ts +1 -0
  778. package/igx-ts-legacy/grid/grid-custom/index.js +177 -0
  779. package/igx-ts-legacy/grid/grid-summaries/files/src/app/__path__/__filePrefix__.component.html +46 -0
  780. package/igx-ts-legacy/grid/grid-summaries/files/src/app/__path__/__filePrefix__.component.scss +17 -0
  781. package/igx-ts-legacy/grid/grid-summaries/files/src/app/__path__/__filePrefix__.component.spec.ts +26 -0
  782. package/igx-ts-legacy/grid/grid-summaries/files/src/app/__path__/__filePrefix__.component.ts +58 -0
  783. package/igx-ts-legacy/grid/grid-summaries/files/src/app/__path__/localData.ts +354 -0
  784. package/igx-ts-legacy/grid/grid-summaries/index.d.ts +1 -0
  785. package/igx-ts-legacy/grid/grid-summaries/index.js +20 -0
  786. package/igx-ts-legacy/grid/index.d.ts +1 -0
  787. package/igx-ts-legacy/grid/index.js +13 -0
  788. package/igx-ts-legacy/grid/multi-column-headers/files/src/app/__path__/__filePrefix__.component.html +30 -0
  789. package/igx-ts-legacy/grid/multi-column-headers/files/src/app/__path__/__filePrefix__.component.scss +0 -0
  790. package/igx-ts-legacy/grid/multi-column-headers/files/src/app/__path__/__filePrefix__.component.spec.ts +28 -0
  791. package/igx-ts-legacy/grid/multi-column-headers/files/src/app/__path__/__filePrefix__.component.ts +16 -0
  792. package/igx-ts-legacy/grid/multi-column-headers/files/src/app/__path__/localData.ts +367 -0
  793. package/igx-ts-legacy/grid/multi-column-headers/index.d.ts +1 -0
  794. package/igx-ts-legacy/grid/multi-column-headers/index.js +78 -0
  795. package/igx-ts-legacy/groups.json +10 -0
  796. package/igx-ts-legacy/hierarchical-grid/default/files/src/app/__path__/__filePrefix__.component.html +25 -0
  797. package/igx-ts-legacy/hierarchical-grid/default/files/src/app/__path__/__filePrefix__.component.scss +0 -0
  798. package/igx-ts-legacy/hierarchical-grid/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  799. package/igx-ts-legacy/hierarchical-grid/default/files/src/app/__path__/__filePrefix__.component.ts +11 -0
  800. package/igx-ts-legacy/hierarchical-grid/default/files/src/app/__path__/data.ts +1038 -0
  801. package/igx-ts-legacy/hierarchical-grid/default/index.d.ts +1 -0
  802. package/igx-ts-legacy/hierarchical-grid/default/index.js +19 -0
  803. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-batch-editing/files/src/app/__path__/__filePrefix__.component.html +94 -0
  804. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-batch-editing/files/src/app/__path__/__filePrefix__.component.scss +56 -0
  805. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-batch-editing/files/src/app/__path__/__filePrefix__.component.spec.ts +38 -0
  806. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-batch-editing/files/src/app/__path__/__filePrefix__.component.ts +132 -0
  807. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-batch-editing/files/src/app/__path__/data.ts +37123 -0
  808. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-batch-editing/files/src/app/__path__/singer.ts +35 -0
  809. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-batch-editing/index.d.ts +1 -0
  810. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-batch-editing/index.js +22 -0
  811. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-custom/files/src/app/__path__/__filePrefix__.component.html +41 -0
  812. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-custom/files/src/app/__path__/__filePrefix__.component.scss +31 -0
  813. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-custom/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  814. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-custom/files/src/app/__path__/__filePrefix__.component.ts +17 -0
  815. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-custom/files/src/app/__path__/data.ts +1038 -0
  816. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-custom/index.d.ts +1 -0
  817. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-custom/index.js +162 -0
  818. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-summaries/files/src/app/__path__/__filePrefix__.component.html +29 -0
  819. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-summaries/files/src/app/__path__/__filePrefix__.component.scss +0 -0
  820. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-summaries/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  821. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-summaries/files/src/app/__path__/__filePrefix__.component.ts +13 -0
  822. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-summaries/files/src/app/__path__/custom-summary.ts +31 -0
  823. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-summaries/files/src/app/__path__/data.ts +1038 -0
  824. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-summaries/index.d.ts +1 -0
  825. package/igx-ts-legacy/hierarchical-grid/hierarchical-grid-summaries/index.js +19 -0
  826. package/igx-ts-legacy/hierarchical-grid/index.d.ts +1 -0
  827. package/igx-ts-legacy/hierarchical-grid/index.js +13 -0
  828. package/igx-ts-legacy/index.d.ts +1 -0
  829. package/igx-ts-legacy/index.js +17 -0
  830. package/igx-ts-legacy/input-group/default/files/src/app/__path__/__filePrefix__.component.html +97 -0
  831. package/igx-ts-legacy/input-group/default/files/src/app/__path__/__filePrefix__.component.scss +29 -0
  832. package/igx-ts-legacy/input-group/default/files/src/app/__path__/__filePrefix__.component.spec.ts +49 -0
  833. package/igx-ts-legacy/input-group/default/files/src/app/__path__/__filePrefix__.component.ts +54 -0
  834. package/igx-ts-legacy/input-group/default/index.d.ts +1 -0
  835. package/igx-ts-legacy/input-group/default/index.js +31 -0
  836. package/igx-ts-legacy/input-group/index.d.ts +1 -0
  837. package/igx-ts-legacy/input-group/index.js +14 -0
  838. package/igx-ts-legacy/linear-gauge/default/files/src/app/__path__/__filePrefix__.component.html +32 -0
  839. package/igx-ts-legacy/linear-gauge/default/files/src/app/__path__/__filePrefix__.component.scss +26 -0
  840. package/igx-ts-legacy/linear-gauge/default/files/src/app/__path__/__filePrefix__.component.spec.ts +29 -0
  841. package/igx-ts-legacy/linear-gauge/default/files/src/app/__path__/__filePrefix__.component.ts +239 -0
  842. package/igx-ts-legacy/linear-gauge/default/index.d.ts +1 -0
  843. package/igx-ts-legacy/linear-gauge/default/index.js +23 -0
  844. package/igx-ts-legacy/linear-gauge/index.d.ts +1 -0
  845. package/igx-ts-legacy/linear-gauge/index.js +15 -0
  846. package/igx-ts-legacy/list/default/files/src/app/__path__/__filePrefix__.component.html +32 -0
  847. package/igx-ts-legacy/list/default/files/src/app/__path__/__filePrefix__.component.scss +42 -0
  848. package/igx-ts-legacy/list/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  849. package/igx-ts-legacy/list/default/files/src/app/__path__/__filePrefix__.component.ts +63 -0
  850. package/igx-ts-legacy/list/default/index.d.ts +1 -0
  851. package/igx-ts-legacy/list/default/index.js +26 -0
  852. package/igx-ts-legacy/list/index.d.ts +1 -0
  853. package/igx-ts-legacy/list/index.js +16 -0
  854. package/igx-ts-legacy/map/default/files/src/app/__path__/__filePrefix__.component.html +11 -0
  855. package/igx-ts-legacy/map/default/files/src/app/__path__/__filePrefix__.component.scss +7 -0
  856. package/igx-ts-legacy/map/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  857. package/igx-ts-legacy/map/default/files/src/app/__path__/__filePrefix__.component.ts +17 -0
  858. package/igx-ts-legacy/map/default/index.d.ts +1 -0
  859. package/igx-ts-legacy/map/default/index.js +27 -0
  860. package/igx-ts-legacy/map/index.d.ts +1 -0
  861. package/igx-ts-legacy/map/index.js +15 -0
  862. package/igx-ts-legacy/pivot-grid/default/files/src/app/__path__/__filePrefix__.component.html +7 -0
  863. package/igx-ts-legacy/pivot-grid/default/files/src/app/__path__/__filePrefix__.component.scss +3 -0
  864. package/igx-ts-legacy/pivot-grid/default/files/src/app/__path__/__filePrefix__.component.spec.ts +28 -0
  865. package/igx-ts-legacy/pivot-grid/default/files/src/app/__path__/__filePrefix__.component.ts +44 -0
  866. package/igx-ts-legacy/pivot-grid/default/files/src/app/__path__/data.ts +6502 -0
  867. package/igx-ts-legacy/pivot-grid/default/index.d.ts +1 -0
  868. package/igx-ts-legacy/pivot-grid/default/index.js +18 -0
  869. package/igx-ts-legacy/pivot-grid/index.d.ts +1 -0
  870. package/igx-ts-legacy/pivot-grid/index.js +15 -0
  871. package/igx-ts-legacy/projects/_base/files/README.md +46 -0
  872. package/igx-ts-legacy/projects/_base/files/__dot__editorconfig +16 -0
  873. package/igx-ts-legacy/projects/_base/files/__dot__eslintrc.json +50 -0
  874. package/igx-ts-legacy/projects/_base/files/__dot__github/workflows/node.js.yml +35 -0
  875. package/igx-ts-legacy/projects/_base/files/__dot__gitignore +42 -0
  876. package/igx-ts-legacy/projects/_base/files/angular.json +132 -0
  877. package/igx-ts-legacy/projects/_base/files/ignite-ui-cli.json +19 -0
  878. package/igx-ts-legacy/projects/_base/files/karma.conf.js +44 -0
  879. package/igx-ts-legacy/projects/_base/files/package.json +51 -0
  880. package/igx-ts-legacy/projects/_base/files/src/app/app.component.html +3 -0
  881. package/igx-ts-legacy/projects/_base/files/src/app/app.component.scss +5 -0
  882. package/igx-ts-legacy/projects/_base/files/src/app/app.component.ts +10 -0
  883. package/igx-ts-legacy/projects/_base/files/src/app/error-routing/error/global-error-handler.service.ts +23 -0
  884. package/igx-ts-legacy/projects/_base/files/src/app/error-routing/error/uncaught-error.component.ts +6 -0
  885. package/igx-ts-legacy/projects/_base/files/src/app/error-routing/not-found/not-found.component.ts +6 -0
  886. package/igx-ts-legacy/projects/_base/files/src/assets/__dot__gitkeep +0 -0
  887. package/igx-ts-legacy/projects/_base/files/src/environments/environment.prod.ts +3 -0
  888. package/igx-ts-legacy/projects/_base/files/src/environments/environment.ts +16 -0
  889. package/igx-ts-legacy/projects/_base/files/src/favicon.ico +0 -0
  890. package/igx-ts-legacy/projects/_base/files/src/index.html +17 -0
  891. package/igx-ts-legacy/projects/_base/files/src/main.ts +12 -0
  892. package/igx-ts-legacy/projects/_base/files/src/styles.scss +8 -0
  893. package/igx-ts-legacy/projects/_base/files/tsconfig.app.json +15 -0
  894. package/igx-ts-legacy/projects/_base/files/tsconfig.json +29 -0
  895. package/igx-ts-legacy/projects/_base/files/tsconfig.spec.json +18 -0
  896. package/igx-ts-legacy/projects/_base/index.d.ts +30 -0
  897. package/igx-ts-legacy/projects/_base/index.js +95 -0
  898. package/igx-ts-legacy/projects/_base_with_home/files/__dot__github/workflows/node.js.yml +35 -0
  899. package/igx-ts-legacy/projects/_base_with_home/files/src/app/home/home.component.html +9 -0
  900. package/igx-ts-legacy/projects/_base_with_home/files/src/app/home/home.component.scss +35 -0
  901. package/igx-ts-legacy/projects/_base_with_home/files/src/app/home/home.component.spec.ts +26 -0
  902. package/igx-ts-legacy/projects/_base_with_home/files/src/app/home/home.component.ts +11 -0
  903. package/igx-ts-legacy/projects/_base_with_home/files/src/assets/responsive.gif +0 -0
  904. package/igx-ts-legacy/projects/_base_with_home/index.d.ts +14 -0
  905. package/igx-ts-legacy/projects/_base_with_home/index.js +22 -0
  906. package/igx-ts-legacy/projects/base/index.d.ts +14 -0
  907. package/igx-ts-legacy/projects/base/index.js +22 -0
  908. package/igx-ts-legacy/projects/empty/files/src/app/app.component.html +3 -0
  909. package/igx-ts-legacy/projects/empty/files/src/app/app.component.scss +5 -0
  910. package/igx-ts-legacy/projects/empty/files/src/app/app.component.ts +10 -0
  911. package/igx-ts-legacy/projects/empty/files/src/app/home/home.component.html +25 -0
  912. package/igx-ts-legacy/projects/empty/files/src/app/home/home.component.scss +67 -0
  913. package/igx-ts-legacy/projects/empty/files/src/app/home/home.component.ts +9 -0
  914. package/igx-ts-legacy/projects/empty/files/src/assets/.gitkeep +0 -0
  915. package/igx-ts-legacy/projects/empty/files/src/assets/GitHub/github.svg +1 -0
  916. package/igx-ts-legacy/projects/empty/files/src/assets/indigo-design.svg +183 -0
  917. package/igx-ts-legacy/projects/empty/index.d.ts +14 -0
  918. package/igx-ts-legacy/projects/empty/index.js +22 -0
  919. package/igx-ts-legacy/projects/side-nav/files/src/app/app.component.html +14 -0
  920. package/igx-ts-legacy/projects/side-nav/files/src/app/app.component.scss +30 -0
  921. package/igx-ts-legacy/projects/side-nav/files/src/app/app.component.spec.ts +25 -0
  922. package/igx-ts-legacy/projects/side-nav/files/src/app/app.component.ts +44 -0
  923. package/igx-ts-legacy/projects/side-nav/index.d.ts +14 -0
  924. package/igx-ts-legacy/projects/side-nav/index.js +22 -0
  925. package/igx-ts-legacy/projects/side-nav-auth/files/README.md +50 -0
  926. package/igx-ts-legacy/projects/side-nav-auth/files/package.json +55 -0
  927. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/app.component.html +16 -0
  928. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/app.component.spec.ts +29 -0
  929. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/app.module.ts +48 -0
  930. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/auth.guard.spec.ts +34 -0
  931. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/auth.guard.ts +18 -0
  932. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/authentication-routing.module.ts +24 -0
  933. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/authentication.module.spec.ts +13 -0
  934. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/authentication.module.ts +67 -0
  935. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/index.ts +9 -0
  936. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/login/login.component.html +29 -0
  937. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/login/login.component.scss +32 -0
  938. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/login/login.component.spec.ts +115 -0
  939. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/login/login.component.ts +63 -0
  940. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/login-bar/login-bar.component.html +17 -0
  941. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/login-bar/login-bar.component.scss +8 -0
  942. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/login-bar/login-bar.component.spec.ts +133 -0
  943. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/login-bar/login-bar.component.ts +48 -0
  944. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/login-dialog/login-dialog.component.html +6 -0
  945. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/login-dialog/login-dialog.component.scss +3 -0
  946. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/login-dialog/login-dialog.component.spec.ts +83 -0
  947. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/login-dialog/login-dialog.component.ts +30 -0
  948. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/models/login.ts +16 -0
  949. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/models/register.ts +6 -0
  950. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/models/user.ts +20 -0
  951. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/profile/profile.component.html +3 -0
  952. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/profile/profile.component.scss +0 -0
  953. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/profile/profile.component.spec.ts +28 -0
  954. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/profile/profile.component.ts +11 -0
  955. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/providers/auth-provider.ts +8 -0
  956. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/providers/base-oidc-provider.ts +71 -0
  957. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/providers/facebook-provider.ts +56 -0
  958. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/providers/google-provider.ts +23 -0
  959. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/providers/microsoft-provider.ts +44 -0
  960. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/providers/providers.spec.ts +305 -0
  961. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/redirect/redirect.component.spec.ts +60 -0
  962. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/redirect/redirect.component.ts +36 -0
  963. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/register/register.component.html +34 -0
  964. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/register/register.component.scss +18 -0
  965. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/register/register.component.spec.ts +92 -0
  966. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/register/register.component.ts +48 -0
  967. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/services/authentication.service.ts +42 -0
  968. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/services/external-auth-configs.ts +18 -0
  969. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/services/external-auth.service.ts +128 -0
  970. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/services/fake-backend.service.ts +154 -0
  971. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/services/jwt-util.ts +56 -0
  972. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/services/jwt.interceptor.ts +23 -0
  973. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/services/jwt.spec.ts +74 -0
  974. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/services/local-storage.ts +53 -0
  975. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/services/microsoft-keys.ts +5 -0
  976. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/services/services.spec.ts +548 -0
  977. package/igx-ts-legacy/projects/side-nav-auth/files/src/app/authentication/services/user.service.ts +54 -0
  978. package/igx-ts-legacy/projects/side-nav-auth/files/src/index.html +22 -0
  979. package/igx-ts-legacy/projects/side-nav-auth/files/tsconfig.app.json +21 -0
  980. package/igx-ts-legacy/projects/side-nav-auth/files/tsconfig.spec.json +21 -0
  981. package/igx-ts-legacy/projects/side-nav-auth/index.d.ts +14 -0
  982. package/igx-ts-legacy/projects/side-nav-auth/index.js +22 -0
  983. package/igx-ts-legacy/radial-gauge/default/files/src/app/__path__/__filePrefix__.component.html +65 -0
  984. package/igx-ts-legacy/radial-gauge/default/files/src/app/__path__/__filePrefix__.component.scss +26 -0
  985. package/igx-ts-legacy/radial-gauge/default/files/src/app/__path__/__filePrefix__.component.spec.ts +29 -0
  986. package/igx-ts-legacy/radial-gauge/default/files/src/app/__path__/__filePrefix__.component.ts +289 -0
  987. package/igx-ts-legacy/radial-gauge/default/index.d.ts +1 -0
  988. package/igx-ts-legacy/radial-gauge/default/index.js +23 -0
  989. package/igx-ts-legacy/radial-gauge/index.d.ts +1 -0
  990. package/igx-ts-legacy/radial-gauge/index.js +16 -0
  991. package/igx-ts-legacy/select/default/files/src/app/__path__/__filePrefix__.component.html +16 -0
  992. package/igx-ts-legacy/select/default/files/src/app/__path__/__filePrefix__.component.scss +3 -0
  993. package/igx-ts-legacy/select/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  994. package/igx-ts-legacy/select/default/files/src/app/__path__/__filePrefix__.component.ts +10 -0
  995. package/igx-ts-legacy/select/default/index.d.ts +1 -0
  996. package/igx-ts-legacy/select/default/index.js +24 -0
  997. package/igx-ts-legacy/select/index.d.ts +1 -0
  998. package/igx-ts-legacy/select/index.js +12 -0
  999. package/igx-ts-legacy/select/select-groups/files/src/app/__path__/__filePrefix__.comonent.spec.ts +27 -0
  1000. package/igx-ts-legacy/select/select-groups/files/src/app/__path__/__filePrefix__.component.html +22 -0
  1001. package/igx-ts-legacy/select/select-groups/files/src/app/__path__/__filePrefix__.component.scss +4 -0
  1002. package/igx-ts-legacy/select/select-groups/files/src/app/__path__/__filePrefix__.component.ts +12 -0
  1003. package/igx-ts-legacy/select/select-groups/index.d.ts +1 -0
  1004. package/igx-ts-legacy/select/select-groups/index.js +24 -0
  1005. package/igx-ts-legacy/select/select-in-form/files/src/app/__path__/__filePrefix__.component.html +28 -0
  1006. package/igx-ts-legacy/select/select-in-form/files/src/app/__path__/__filePrefix__.component.scss +17 -0
  1007. package/igx-ts-legacy/select/select-in-form/files/src/app/__path__/__filePrefix__.component.spec.ts +40 -0
  1008. package/igx-ts-legacy/select/select-in-form/files/src/app/__path__/__filePrefix__.component.ts +26 -0
  1009. package/igx-ts-legacy/select/select-in-form/index.d.ts +1 -0
  1010. package/igx-ts-legacy/select/select-in-form/index.js +28 -0
  1011. package/igx-ts-legacy/stepper/default/files/src/app/__path__/__filePrefix__.component.html +39 -0
  1012. package/igx-ts-legacy/stepper/default/files/src/app/__path__/__filePrefix__.component.scss +21 -0
  1013. package/igx-ts-legacy/stepper/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  1014. package/igx-ts-legacy/stepper/default/files/src/app/__path__/__filePrefix__.component.ts +25 -0
  1015. package/igx-ts-legacy/stepper/default/index.d.ts +1 -0
  1016. package/igx-ts-legacy/stepper/default/index.js +20 -0
  1017. package/igx-ts-legacy/stepper/index.d.ts +1 -0
  1018. package/igx-ts-legacy/stepper/index.js +15 -0
  1019. package/igx-ts-legacy/tabbar/default/files/src/app/__path__/__filePrefix__.component.html +29 -0
  1020. package/igx-ts-legacy/tabbar/default/files/src/app/__path__/__filePrefix__.component.scss +6 -0
  1021. package/igx-ts-legacy/tabbar/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  1022. package/igx-ts-legacy/tabbar/default/files/src/app/__path__/__filePrefix__.component.ts +10 -0
  1023. package/igx-ts-legacy/tabbar/default/files/src/assets/1.jpg +0 -0
  1024. package/igx-ts-legacy/tabbar/default/files/src/assets/12.jpg +0 -0
  1025. package/igx-ts-legacy/tabbar/default/files/src/assets/13.jpg +0 -0
  1026. package/igx-ts-legacy/tabbar/default/files/src/assets/14.jpg +0 -0
  1027. package/igx-ts-legacy/tabbar/default/files/src/assets/15.jpg +0 -0
  1028. package/igx-ts-legacy/tabbar/default/files/src/assets/16.jpg +0 -0
  1029. package/igx-ts-legacy/tabbar/default/files/src/assets/17.jpg +0 -0
  1030. package/igx-ts-legacy/tabbar/default/files/src/assets/2.jpg +0 -0
  1031. package/igx-ts-legacy/tabbar/default/files/src/assets/3.jpg +0 -0
  1032. package/igx-ts-legacy/tabbar/default/files/src/assets/4.jpg +0 -0
  1033. package/igx-ts-legacy/tabbar/default/index.d.ts +1 -0
  1034. package/igx-ts-legacy/tabbar/default/index.js +23 -0
  1035. package/igx-ts-legacy/tabbar/index.d.ts +1 -0
  1036. package/igx-ts-legacy/tabbar/index.js +15 -0
  1037. package/igx-ts-legacy/tabs/default/files/src/app/__path__/__filePrefix__.component.html +36 -0
  1038. package/igx-ts-legacy/tabs/default/files/src/app/__path__/__filePrefix__.component.scss +9 -0
  1039. package/igx-ts-legacy/tabs/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  1040. package/igx-ts-legacy/tabs/default/files/src/app/__path__/__filePrefix__.component.ts +9 -0
  1041. package/igx-ts-legacy/tabs/default/index.d.ts +1 -0
  1042. package/igx-ts-legacy/tabs/default/index.js +20 -0
  1043. package/igx-ts-legacy/tabs/index.d.ts +1 -0
  1044. package/igx-ts-legacy/tabs/index.js +14 -0
  1045. package/igx-ts-legacy/time-picker/default/files/src/app/__path__/__filePrefix__.component.html +10 -0
  1046. package/igx-ts-legacy/time-picker/default/files/src/app/__path__/__filePrefix__.component.scss +0 -0
  1047. package/igx-ts-legacy/time-picker/default/files/src/app/__path__/__filePrefix__.component.spec.ts +31 -0
  1048. package/igx-ts-legacy/time-picker/default/files/src/app/__path__/__filePrefix__.component.ts +11 -0
  1049. package/igx-ts-legacy/time-picker/default/index.d.ts +1 -0
  1050. package/igx-ts-legacy/time-picker/default/index.js +19 -0
  1051. package/igx-ts-legacy/time-picker/index.d.ts +1 -0
  1052. package/igx-ts-legacy/time-picker/index.js +15 -0
  1053. package/igx-ts-legacy/tooltip/default/files/src/app/__path__/__filePrefix__.component.html +30 -0
  1054. package/igx-ts-legacy/tooltip/default/files/src/app/__path__/__filePrefix__.component.scss +23 -0
  1055. package/igx-ts-legacy/tooltip/default/files/src/app/__path__/__filePrefix__.component.spec.ts +28 -0
  1056. package/igx-ts-legacy/tooltip/default/files/src/app/__path__/__filePrefix__.component.ts +10 -0
  1057. package/igx-ts-legacy/tooltip/default/files/src/assets/1.jpg +0 -0
  1058. package/igx-ts-legacy/tooltip/default/files/src/assets/2.png +0 -0
  1059. package/igx-ts-legacy/tooltip/default/index.d.ts +1 -0
  1060. package/igx-ts-legacy/tooltip/default/index.js +23 -0
  1061. package/igx-ts-legacy/tooltip/index.d.ts +1 -0
  1062. package/igx-ts-legacy/tooltip/index.js +14 -0
  1063. package/igx-ts-legacy/tree/default/files/src/app/__path__/__filePrefix__.component.html +43 -0
  1064. package/igx-ts-legacy/tree/default/files/src/app/__path__/__filePrefix__.component.scss +31 -0
  1065. package/igx-ts-legacy/tree/default/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  1066. package/igx-ts-legacy/tree/default/files/src/app/__path__/__filePrefix__.component.ts +65 -0
  1067. package/igx-ts-legacy/tree/default/files/src/app/__path__/local-data.ts +75 -0
  1068. package/igx-ts-legacy/tree/default/files/src/app/__path__/services/data.service.ts +51 -0
  1069. package/igx-ts-legacy/tree/default/index.d.ts +1 -0
  1070. package/igx-ts-legacy/tree/default/index.js +20 -0
  1071. package/igx-ts-legacy/tree/index.d.ts +1 -0
  1072. package/igx-ts-legacy/tree/index.js +15 -0
  1073. package/igx-ts-legacy/tree-grid/index.d.ts +1 -0
  1074. package/igx-ts-legacy/tree-grid/index.js +16 -0
  1075. package/igx-ts-legacy/tree-grid/tree-grid-custom/files/src/app/__path__/__filePrefix__.component.html +17 -0
  1076. package/igx-ts-legacy/tree-grid/tree-grid-custom/files/src/app/__path__/__filePrefix__.component.scss +0 -0
  1077. package/igx-ts-legacy/tree-grid/tree-grid-custom/files/src/app/__path__/__filePrefix__.component.spec.ts +27 -0
  1078. package/igx-ts-legacy/tree-grid/tree-grid-custom/files/src/app/__path__/__filePrefix__.component.ts +16 -0
  1079. package/igx-ts-legacy/tree-grid/tree-grid-custom/files/src/app/__path__/localData.ts +155 -0
  1080. package/igx-ts-legacy/tree-grid/tree-grid-custom/index.d.ts +1 -0
  1081. package/igx-ts-legacy/tree-grid/tree-grid-custom/index.js +159 -0
  1082. package/index.d.ts +3 -2
  1083. package/index.js +3 -2
  1084. package/package.json +2 -2
  1085. /package/{igx-ts → igx-ts-legacy}/dock-manager/default/files/src/app/__path__/__filePrefix__.module.ts +0 -0
  1086. /package/{igx-ts → igx-ts-legacy}/projects/_base/files/src/app/app-routing.module.ts +0 -0
  1087. /package/{igx-ts → igx-ts-legacy}/projects/_base/files/src/app/app.module.ts +0 -0
  1088. /package/{igx-ts → igx-ts-legacy}/projects/_base/files/src/app/error-routing/error-routing.module.ts +0 -0
  1089. /package/{igx-ts → igx-ts-legacy}/projects/_base/files/src/polyfills.ts +0 -0
  1090. /package/{igx-ts → igx-ts-legacy}/projects/_base/files/src/test.ts +0 -0
  1091. /package/{igx-ts → igx-ts-legacy}/projects/_base_with_home/files/src/app/app-routing.module.ts +0 -0
  1092. /package/{igx-ts → igx-ts-legacy}/projects/empty/files/src/app/app-routing.module.ts +0 -0
  1093. /package/{igx-ts → igx-ts-legacy}/projects/empty/files/src/app/app.module.ts +0 -0
  1094. /package/{igx-ts → igx-ts-legacy}/projects/side-nav/files/src/app/app.module.ts +0 -0
@@ -0,0 +1,548 @@
1
+ import { HttpHandler, HttpResponse } from '@angular/common/http';
2
+ import { PLATFORM_ID } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ import { take } from 'rxjs/operators';
5
+ import { FacebookProvider } from '../providers/facebook-provider';
6
+ import { GoogleProvider } from '../providers/google-provider';
7
+ import { MicrosoftProvider } from '../providers/microsoft-provider';
8
+ import { AuthenticationService } from './authentication.service';
9
+ import { ExternalAuthProvider } from './external-auth-configs';
10
+ import { ExternalAuthRedirectUrl, ExternalAuthService } from './external-auth.service';
11
+ import { BackendInterceptor } from './fake-backend.service';
12
+ import * as JWTUtil from './jwt-util';
13
+ import { LocalStorageService } from './local-storage';
14
+ import msKeys from './microsoft-keys';
15
+ import { UserService } from './user.service';
16
+
17
+ describe('Services', () => {
18
+
19
+ describe('Authentication Service', () => {
20
+ const MOCK_HTTP_CLIENT = {
21
+ post: () => { }
22
+ } as any;
23
+
24
+ const authServ = new AuthenticationService(MOCK_HTTP_CLIENT);
25
+ it('Should properly initialize', async () => {
26
+ expect(authServ).toBeDefined();
27
+ });
28
+ it(`Should properly call 'login'`, async () => {
29
+ const loginPostSpy = spyOn<any>(authServ, 'loginPost').and.returnValue(Promise.resolve());
30
+ const dummyData = { email: 'Dummy', password: 'Data' };
31
+ await authServ.login(dummyData);
32
+ expect(loginPostSpy).toHaveBeenCalled();
33
+ expect(loginPostSpy).toHaveBeenCalledWith('/login', dummyData);
34
+ });
35
+ it(`Should properly call 'register'`, async () => {
36
+ const loginPostSpy = spyOn<any>(authServ, 'loginPost').and.returnValue(Promise.resolve());
37
+ const dummyData = { given_name: 'Testy', family_name: 'Testington', email: 'Dummy', password: 'Data' };
38
+ await authServ.register(dummyData);
39
+ expect(loginPostSpy).toHaveBeenCalled();
40
+ expect(loginPostSpy).toHaveBeenCalledWith('/register', dummyData);
41
+ });
42
+ it(`Should properly call 'loginWith'`, async () => {
43
+ const loginPostSpy = spyOn<any>(authServ, 'loginPost').and.returnValue(Promise.resolve());
44
+ const dummyData = { id: 'Test', name: 'Testy', email: 'Dummy', externalToken: 'Data' };
45
+ await authServ.loginWith(dummyData);
46
+ expect(loginPostSpy).toHaveBeenCalled();
47
+ expect(loginPostSpy).toHaveBeenCalledWith('/extlogin', dummyData);
48
+ });
49
+ it(`Should properly call 'loginPost'`, async () => {
50
+ const loginPostSpy = spyOn<any>(authServ, 'loginPost').and.callThrough();
51
+ const dummyData = { email: 'Dummy', password: 'Data' };
52
+ const mockObs = { toPromise: () => { } };
53
+ spyOn(mockObs, 'toPromise').and.returnValue('TEST DATA' as any);
54
+ spyOn(MOCK_HTTP_CLIENT, 'post').and.returnValue(mockObs);
55
+ const parseSpy = spyOn(JWTUtil, 'parseUser').and.returnValue({ user: 'Test' } as any);
56
+ await authServ.login(dummyData);
57
+ expect(loginPostSpy).toHaveBeenCalledWith('/login', dummyData);
58
+ expect(MOCK_HTTP_CLIENT.post).toHaveBeenCalledWith('/login', dummyData);
59
+ expect(parseSpy).toHaveBeenCalledWith('TEST DATA');
60
+ });
61
+ it(`Should properly call 'loginPost' and throw error`, async () => {
62
+ const dummyData = { email: 'Dummy', password: 'Data' };
63
+ const mockObs = { toPromise: () => { } };
64
+ spyOn(mockObs, 'toPromise').and.callFake(() => {
65
+ throw new Error('Test Error');
66
+ });
67
+ spyOn(MOCK_HTTP_CLIENT, 'post').and.returnValue(mockObs);
68
+ expect(await (authServ as any).loginPost(dummyData)).toEqual({ error: 'Test Error' });
69
+ expect(MOCK_HTTP_CLIENT.post).toHaveBeenCalled();
70
+ });
71
+ });
72
+
73
+ describe('External Authentication Service', () => {
74
+ const MOCK_OIDC_SECURITY = {} as any;
75
+ const MOCK_OIDC_CONFIG = {} as any;
76
+ const MOCK_ROUTER = {} as any;
77
+ const MOCK_LOCATION = {
78
+ prepareExternalUrl: () => { }
79
+ } as any;
80
+
81
+ const localStorage = new LocalStorageService(PLATFORM_ID);
82
+ const extAuthServ = new ExternalAuthService(MOCK_ROUTER, MOCK_OIDC_SECURITY, MOCK_OIDC_CONFIG, MOCK_LOCATION, localStorage);
83
+ it(`Should properly initialize`, () => {
84
+ expect(extAuthServ).toBeDefined();
85
+ });
86
+ it(`Should properly get/set 'activeProvider'`, () => {
87
+ spyOn(localStorage, 'getItem').and.returnValue('test');
88
+ const testProvider = extAuthServ.activeProvider;
89
+ expect(localStorage.getItem).toHaveBeenCalled();
90
+ expect(localStorage.getItem).toHaveBeenCalledWith('extActiveProvider');
91
+ expect(testProvider).toEqual('test');
92
+ spyOn(localStorage, 'setItem');
93
+ extAuthServ.activeProvider = 'ccc' as any;
94
+ expect(localStorage.setItem).toHaveBeenCalled();
95
+ expect(localStorage.setItem).toHaveBeenCalledWith('extActiveProvider', 'ccc');
96
+ });
97
+
98
+ it(`Should properly call 'hasProvider'`, () => {
99
+ const providersMap = new Map<any, any>();
100
+ (extAuthServ as any).providers = providersMap;
101
+ expect(extAuthServ.hasProvider()).toEqual(false);
102
+ providersMap.set('0', '0');
103
+ expect(extAuthServ.hasProvider()).toEqual(true);
104
+ expect(extAuthServ.hasProvider('0' as any)).toEqual(true);
105
+ expect(extAuthServ.hasProvider('1' as any)).toEqual(false);
106
+ });
107
+
108
+ it(`Should properly call 'addGoogle'`, () => {
109
+ const providersSpy = spyOn<any>((extAuthServ as any).providers, 'set');
110
+ spyOn<any>(extAuthServ, 'getAbsoluteUrl').and.returnValue('testUrl');
111
+ const configParams = {
112
+ provider: ExternalAuthProvider.Google,
113
+ stsServer: 'https://accounts.google.com',
114
+ client_id: 'test',
115
+ scope: 'openid email profile',
116
+ redirect_url: 'testUrl',
117
+ response_type: 'id_token token',
118
+ post_logout_redirect_uri: '/',
119
+ post_login_route: 'redirect',
120
+ auto_userinfo: false,
121
+ max_id_token_iat_offset_allowed_in_seconds: 30
122
+ };
123
+ extAuthServ.addGoogle('test');
124
+ expect(providersSpy).toHaveBeenCalled();
125
+ expect(providersSpy).toHaveBeenCalledWith('Google',
126
+ new GoogleProvider(MOCK_OIDC_CONFIG, MOCK_OIDC_SECURITY, configParams));
127
+ });
128
+
129
+ it(`Should properly call 'addFacebook'`, () => {
130
+ const providersSpy = spyOn<any>((extAuthServ as any).providers, 'set');
131
+ const configParams = {
132
+ client_id: 'test',
133
+ redirect_url: ExternalAuthRedirectUrl.Facebook
134
+ } as any;
135
+ extAuthServ.addFacebook('test');
136
+ expect(providersSpy).toHaveBeenCalled();
137
+ expect(providersSpy).toHaveBeenCalledWith('Facebook',
138
+ new FacebookProvider(configParams, MOCK_ROUTER));
139
+ });
140
+
141
+ it(`Should properly call 'addMicrosoft'`, () => {
142
+ const providersSpy = spyOn<any>((extAuthServ as any).providers, 'set');
143
+ spyOn<any>(extAuthServ, 'getAbsoluteUrl').and.returnValue('testUrl');
144
+ const configParams = {
145
+ provider: ExternalAuthProvider.Microsoft,
146
+ stsServer: 'https://login.microsoftonline.com/consumers/v2.0/',
147
+ client_id: 'test',
148
+ scope: 'openid email profile',
149
+ redirect_url: 'testUrl',
150
+ response_type: 'id_token token',
151
+ post_logout_redirect_uri: '/',
152
+ post_login_route: '',
153
+ auto_userinfo: false,
154
+ max_id_token_iat_offset_allowed_in_seconds: 1000
155
+ } as any;
156
+ extAuthServ.addMicrosoft('test');
157
+ expect(providersSpy).toHaveBeenCalled();
158
+ expect(providersSpy).toHaveBeenCalledWith('Microsoft',
159
+ new MicrosoftProvider(MOCK_OIDC_CONFIG, MOCK_OIDC_SECURITY, configParams));
160
+ });
161
+
162
+ it(`Should properly call 'getUserInfo'`, async () => {
163
+ const providersMap = new Map<any, any>();
164
+ const mockObj = {
165
+ getUserInfo: () => {
166
+ return { name: 'test' };
167
+ }
168
+ };
169
+ spyOn(mockObj, 'getUserInfo').and.callThrough();
170
+ const providersGetSpy = spyOn(providersMap, 'get').and.returnValue(false);
171
+ providersMap.set(ExternalAuthProvider.Facebook, mockObj);
172
+ (extAuthServ as any).providers = providersMap;
173
+ spyOn(Promise, 'reject').and.returnValue(Promise.resolve(null));
174
+ expect(await extAuthServ.getUserInfo(ExternalAuthProvider.Facebook)).toBeNull();
175
+ expect(providersGetSpy).toHaveBeenCalledTimes(1);
176
+ providersGetSpy.and.returnValue(mockObj);
177
+ expect(await extAuthServ.getUserInfo(ExternalAuthProvider.Facebook)).toEqual({
178
+ name: 'test',
179
+ externalProvider: ExternalAuthProvider.Facebook
180
+ } as any);
181
+ expect(providersGetSpy).toHaveBeenCalledTimes(2);
182
+ });
183
+
184
+ it(`Should properly call 'login'`, () => {
185
+ const providersMap = new Map<any, any>();
186
+ const mockObj = {
187
+ login: () => { }
188
+ } as any;
189
+ spyOn(mockObj, 'login');
190
+ const providersGetSpy = spyOn(providersMap, 'get').and.returnValue(false);
191
+ providersMap.set(ExternalAuthProvider.Facebook, mockObj);
192
+ (extAuthServ as any).providers = providersMap;
193
+ const setActiveProvider = spyOnProperty(extAuthServ, 'activeProvider', 'set');
194
+ extAuthServ.login(ExternalAuthProvider.Facebook);
195
+ expect(mockObj.login).not.toHaveBeenCalled();
196
+ expect(setActiveProvider).not.toHaveBeenCalled();
197
+ providersGetSpy.and.returnValue(mockObj);
198
+ extAuthServ.login(ExternalAuthProvider.Facebook);
199
+ expect(mockObj.login).toHaveBeenCalled();
200
+ expect(setActiveProvider).toHaveBeenCalledWith(ExternalAuthProvider.Facebook);
201
+ });
202
+
203
+ it(`Should properly call 'logout'`, () => {
204
+ const providersMap = new Map<any, any>();
205
+ const mockObj = {
206
+ logout: () => { }
207
+ } as any;
208
+ spyOn(mockObj, 'logout');
209
+ providersMap.set(ExternalAuthProvider.Facebook, mockObj);
210
+ spyOn(providersMap, 'get').and.returnValue(mockObj);
211
+ (extAuthServ as any).providers = providersMap;
212
+ const setActiveProviderSpy = spyOnProperty(extAuthServ, 'activeProvider', 'get').and.returnValue(false);
213
+ extAuthServ.logout();
214
+ expect(mockObj.logout).not.toHaveBeenCalled();
215
+ expect(providersMap.get).not.toHaveBeenCalled();
216
+ expect(setActiveProviderSpy).toHaveBeenCalledTimes(1);
217
+ setActiveProviderSpy.and.returnValue('MOCK TOKEN');
218
+ extAuthServ.logout();
219
+ expect(mockObj.logout).toHaveBeenCalled();
220
+ expect(providersMap.get).toHaveBeenCalled();
221
+ expect(providersMap.get).toHaveBeenCalledWith('MOCK TOKEN');
222
+ expect(setActiveProviderSpy).toHaveBeenCalledTimes(3);
223
+ });
224
+
225
+ it(`Should properly call 'getAbsoluteUrl'`, () => {
226
+ const currentOrigin = window.location.origin;
227
+ spyOn(MOCK_LOCATION, 'prepareExternalUrl').and.returnValue('test_href_2');
228
+ expect((extAuthServ as any).getAbsoluteUrl('mock_path')).toEqual(`${currentOrigin}test_href_2`);
229
+ expect(MOCK_LOCATION.prepareExternalUrl).toHaveBeenCalledWith('mock_path');
230
+ });
231
+ });
232
+
233
+ describe(`MOCK Backend Service`, () => {
234
+ describe(`public`, () => {
235
+ it(`Should properly call 'intercept'`, () => {
236
+ const mockLocalStorage: LocalStorageService = new LocalStorageService({});
237
+ const provider = new BackendInterceptor(mockLocalStorage);
238
+ const mockRequest = {
239
+ method: 'POST',
240
+ url: '/login',
241
+ version: 'test'
242
+ } as any;
243
+ const mockUsers: any[] = [];
244
+ const mockNext = {
245
+ handle: () => new Observable<any>()
246
+ } as HttpHandler;
247
+ // endpoint /login
248
+
249
+ // mocked method in intercept still need to return observable, otherwise rxjs pipe throws
250
+ spyOn(provider, 'loginHandle').and.returnValue(new Observable());
251
+ spyOn(JSON, 'parse').and.returnValue(mockUsers);
252
+ spyOn(mockLocalStorage, 'getItem').and.returnValue('[]');
253
+ provider.intercept(mockRequest, mockNext).pipe(take(1)).subscribe(() => { });
254
+ expect(JSON.parse).toHaveBeenCalledWith('[]');
255
+ expect(JSON.parse).toHaveBeenCalledTimes(1);
256
+ expect(provider.loginHandle).toHaveBeenCalledWith(mockRequest);
257
+ expect(provider.loginHandle).toHaveBeenCalledTimes(1);
258
+ // endpoint /register
259
+ mockRequest.url = '/register';
260
+ const getStorageUserSpy = spyOn<any>(provider, 'getStorageUser').and.returnValue({ name: 'Mock user' });
261
+ spyOn(provider, 'registerHandle').and.returnValue(new Observable());
262
+ provider.intercept(mockRequest, mockNext).pipe(take(1)).subscribe(() => { });
263
+ expect(JSON.parse).toHaveBeenCalledTimes(2);
264
+ expect(getStorageUserSpy).toHaveBeenCalledWith(mockRequest);
265
+ expect(getStorageUserSpy).toHaveBeenCalledTimes(1);
266
+ expect(provider.registerHandle).toHaveBeenCalledWith({ name: 'Mock user' } as any);
267
+ expect(provider.registerHandle).toHaveBeenCalledTimes(1);
268
+ // endpoint /register
269
+ mockRequest.url = '/extlogin';
270
+ const getStorageExtUserSpy = spyOn<any>(provider, 'getStorageExtUser').and.returnValue({ name: 'Mock user' });
271
+ provider.intercept(mockRequest, mockNext).pipe(take(1)).subscribe(() => { });
272
+ expect(JSON.parse).toHaveBeenCalledTimes(3);
273
+ expect(getStorageExtUserSpy).toHaveBeenCalledWith(mockRequest);
274
+ expect(getStorageExtUserSpy).toHaveBeenCalledTimes(1);
275
+ expect(provider.registerHandle).toHaveBeenCalledWith({ name: 'Mock user' } as any, true);
276
+ expect(provider.registerHandle).toHaveBeenCalledTimes(2);
277
+ // microsoft keys
278
+ mockRequest.method = 'GET';
279
+ mockRequest.url = '/ms-discovery/keys';
280
+ const expectedOutput = new HttpResponse({ status: 200, body: msKeys });
281
+ let output: any;
282
+ provider.intercept(mockRequest, mockNext).pipe(take(1)).subscribe((e) => { output = e; });
283
+ expect(output).toEqual(expectedOutput);
284
+ expect(JSON.parse).toHaveBeenCalledTimes(4);
285
+ // no change in number of calls
286
+ expect(getStorageUserSpy).toHaveBeenCalledTimes(1);
287
+ expect(getStorageExtUserSpy).toHaveBeenCalledTimes(1);
288
+ expect(provider.registerHandle).toHaveBeenCalledTimes(2);
289
+ // no intercept scenario
290
+ mockRequest.method = 'POST';
291
+ mockRequest.url = '/test';
292
+ spyOn(mockNext, 'handle').and.callThrough();
293
+ provider.intercept(mockRequest, mockNext).pipe(take(1)).subscribe(() => { });
294
+ expect(mockNext.handle).toHaveBeenCalledWith(mockRequest);
295
+ expect(mockNext.handle).toHaveBeenCalledTimes(1);
296
+ // test invalid case combiantions
297
+ mockRequest.method = 'GET';
298
+ mockRequest.url = '/register';
299
+ provider.intercept(mockRequest, mockNext).pipe(take(1)).subscribe(() => { });
300
+ mockRequest.url = '/login';
301
+ provider.intercept(mockRequest, mockNext).pipe(take(1)).subscribe(() => { });
302
+ mockRequest.url = '/extlogin';
303
+ provider.intercept(mockRequest, mockNext).pipe(take(1)).subscribe(() => { });
304
+ mockRequest.method = 'POST';
305
+ mockRequest.url = '/ms-discovery/keys';
306
+ provider.intercept(mockRequest, mockNext).pipe(take(1)).subscribe(() => { });
307
+ expect(mockNext.handle).toHaveBeenCalledTimes(5);
308
+ // no change in number of calls
309
+ expect(getStorageUserSpy).toHaveBeenCalledTimes(1);
310
+ expect(getStorageExtUserSpy).toHaveBeenCalledTimes(1);
311
+ expect(provider.registerHandle).toHaveBeenCalledTimes(2);
312
+ });
313
+
314
+ it(`Should properly call 'registerHandle'`, () => {
315
+ const provider = new BackendInterceptor(new LocalStorageService({}));
316
+ const localStorage = (provider as any).localStorage;
317
+ const mockUser = {
318
+ email: 'test_user'
319
+ } as any;
320
+ provider.users = [mockUser];
321
+ let output;
322
+ let expectedOutput = { error: { message: 'Account with email "test_user" already exists' } } as any;
323
+ provider.registerHandle(mockUser, false).pipe(take(1)).subscribe(() => { }, (e) => { output = e; });
324
+ expect(output).toEqual(expectedOutput);
325
+
326
+ spyOn(localStorage, 'setItem');
327
+ spyOn(JSON, 'stringify').and.returnValue('MOCK OBJ');
328
+ const generateBodySpy = spyOn<any>(provider, 'getUserJWT').and.returnValue('MOCK BODY');
329
+ const tokenSpy = spyOn<any>(provider, 'generateToken').and.returnValue('MOCK TOKEN');
330
+ expectedOutput = new HttpResponse({ status: 200, body: 'MOCK TOKEN' });
331
+ provider.registerHandle({ email: 'test_user', customProp: 'very_custom ' } as any, true)
332
+ .pipe(take(1)).subscribe((e) => { output = e; });
333
+ expect(output).toEqual(expectedOutput);
334
+ expect(generateBodySpy).toHaveBeenCalledWith(mockUser);
335
+ expect(generateBodySpy).toHaveBeenCalledTimes(1);
336
+ expect(tokenSpy).toHaveBeenCalledWith('MOCK BODY');
337
+ expect(tokenSpy).toHaveBeenCalledTimes(1);
338
+ expect(localStorage.setItem).toHaveBeenCalledTimes(1);
339
+ expect(localStorage.setItem).toHaveBeenCalledWith('users', 'MOCK OBJ');
340
+ expect(JSON.stringify).toHaveBeenCalledTimes(1);
341
+ expect(JSON.stringify).toHaveBeenCalledWith([{ email: 'test_user', customProp: 'very_custom ' }]);
342
+ expect(provider.users).toEqual([{ email: 'test_user', customProp: 'very_custom ' }] as any);
343
+
344
+ output = '';
345
+ provider.registerHandle({ email: 'new_user', customProp: 'test' } as any)
346
+ .pipe(take(1)).subscribe((e) => { output = e; });
347
+ expect(output).toEqual(expectedOutput);
348
+ expect(generateBodySpy).toHaveBeenCalledWith({ email: 'new_user', customProp: 'test' });
349
+ expect(generateBodySpy).toHaveBeenCalledTimes(2);
350
+ expect(tokenSpy).toHaveBeenCalledWith('MOCK BODY');
351
+ expect(tokenSpy).toHaveBeenCalledTimes(2);
352
+ expect(localStorage.setItem).toHaveBeenCalledTimes(2);
353
+ expect(localStorage.setItem).toHaveBeenCalledWith('users', 'MOCK OBJ');
354
+ expect(JSON.stringify).toHaveBeenCalledTimes(2);
355
+ expect(JSON.stringify)
356
+ .toHaveBeenCalledWith([{ email: 'test_user', customProp: 'very_custom ' }, { email: 'new_user', customProp: 'test' }]);
357
+ expect(provider.users)
358
+ .toEqual([{ email: 'test_user', customProp: 'very_custom ' }, { email: 'new_user', customProp: 'test' }] as any);
359
+ });
360
+
361
+ it(`Should properly call 'loginHandle'`, () => {
362
+ const provider = new BackendInterceptor(new LocalStorageService({}));
363
+ const mockUser = {
364
+ email: 'test_email'
365
+ } as any;
366
+ provider.users = [mockUser];
367
+ const mockRequest = {
368
+ body: {
369
+ email: 'test_email'
370
+ }
371
+ } as any;
372
+ spyOn(Array.prototype, 'find').and.callThrough();
373
+ const jwtSpy = spyOn<any>(provider, 'getUserJWT').and.returnValue('MOCK BODY');
374
+ const tokenSpy = spyOn<any>(provider, 'generateToken').and.returnValue('MOCK TOKEN');
375
+ const expectedOutput = new HttpResponse({ status: 200, body: 'MOCK TOKEN' });
376
+ provider.loginHandle(mockRequest).pipe(take(1)).subscribe((e) => {
377
+ expect(e).toEqual(expectedOutput);
378
+ });
379
+ expect(jwtSpy).toHaveBeenCalledWith(mockUser);
380
+ expect(tokenSpy).toHaveBeenCalledWith('MOCK BODY');
381
+
382
+ const expectedError = { status: 401, error: { message: 'User does not exist!' } };
383
+ (provider.loginHandle({ body: { email: 'missing user' } } as any) as any).pipe(take(1))
384
+ .subscribe(() => { }, (e: any) => {
385
+ expect(e).toEqual(expectedError);
386
+ }, () => { });
387
+ });
388
+ });
389
+
390
+ describe(`private`, () => {
391
+ it(`Should properly call 'getStorageUser'`, () => {
392
+ const provider = new BackendInterceptor(new LocalStorageService({}));
393
+ const mockInput = {
394
+ body: {
395
+ name: 'test_name',
396
+ email: 'test_email',
397
+ given_name: 'test_giver_name',
398
+ family_name: 'test_family_name',
399
+ }
400
+ };
401
+ provider.users = [];
402
+ expect((provider as any).getStorageUser(mockInput)).toEqual({
403
+ id: `1`,
404
+ name: mockInput.body.given_name + ' ' + mockInput.body.family_name,
405
+ email: mockInput.body.email,
406
+ given_name: mockInput.body.given_name,
407
+ family_name: mockInput.body.family_name,
408
+ picture: '',
409
+ });
410
+ });
411
+
412
+ it(`Should properly call 'getStorageExtUser'`, () => {
413
+ const provider = new BackendInterceptor(new LocalStorageService({}));
414
+ const mockInput = {
415
+ body: {
416
+ id: 'test_id',
417
+ name: 'test_name',
418
+ email: 'test_email',
419
+ given_name: 'test_giver_name',
420
+ family_name: 'test_family_name',
421
+ picture: 'test_picture',
422
+ externalToken: 'test_externalToken',
423
+ externalProvider: 'test_externalProvider'
424
+ }
425
+ };
426
+ expect((provider as any).getStorageExtUser(mockInput)).toEqual({
427
+ id: mockInput.body.id,
428
+ name: mockInput.body.name,
429
+ email: mockInput.body.email,
430
+ given_name: mockInput.body.given_name,
431
+ family_name: mockInput.body.family_name,
432
+ picture: mockInput.body.picture,
433
+ externalToken: mockInput.body.externalToken,
434
+ externalProvider: mockInput.body.externalProvider
435
+ });
436
+ });
437
+
438
+ it(`Should properly call 'getUserJWT'`, () => {
439
+ const provider = new BackendInterceptor(new LocalStorageService({}));
440
+ const mockInput = {
441
+ name: 'test_name',
442
+ given_name: 'test_given_name',
443
+ family_name: 'test_family_name',
444
+ email: 'test_email',
445
+ picture: 'test_picture'
446
+ };
447
+ spyOn(Math, 'floor').and.returnValue(1000);
448
+ spyOn(Date.prototype, 'getTime').and.returnValue(1000);
449
+ const expectedExp = 1000 + (7 * 24 * 60 * 60);
450
+ expect((provider as any).getUserJWT(mockInput)).toEqual({
451
+ exp: expectedExp,
452
+ name: mockInput.name,
453
+ given_name: mockInput.given_name,
454
+ family_name: mockInput.family_name,
455
+ email: mockInput.email,
456
+ picture: mockInput.picture
457
+ });
458
+ expect(Date.prototype.getTime).toHaveBeenCalled();
459
+ expect(Math.floor).toHaveBeenCalledWith(1);
460
+ });
461
+
462
+ it(`Should properly call 'generateToken'`, () => {
463
+ const provider = new BackendInterceptor(new LocalStorageService({}));
464
+ const inputString = 'testString1';
465
+ const expectedOutput = 'g.g.mockSignature';
466
+ spyOn(JWTUtil, 'encodeBase64Url').and.returnValue('g');
467
+ expect((provider as any).generateToken(inputString)).toEqual(expectedOutput);
468
+ });
469
+ });
470
+ });
471
+
472
+ describe(`User Service`, () => {
473
+ const mockUser = {
474
+ exp: 111,
475
+ name: 'Testy Testington',
476
+ given_name: 'Testy',
477
+ family_name: 'Testington',
478
+ email: 't-testing@test.test',
479
+ picture: `testy-boy.png`,
480
+ token: `mock token`,
481
+ externalToken: `mock token`
482
+ };
483
+ const localStorage = new LocalStorageService(PLATFORM_ID);
484
+
485
+ beforeEach(() => {
486
+ spyOn(JSON, 'parse').and.returnValue(mockUser);
487
+ spyOn(localStorage, 'getItem').and.returnValue('MOCK JSON');
488
+ });
489
+
490
+ it(`Should properly initialize`, () => {
491
+ const userServ = new UserService(localStorage);
492
+ expect(userServ).toBeDefined();
493
+ expect(localStorage.getItem).toHaveBeenCalledWith('currentUser');
494
+ expect(JSON.parse).toHaveBeenCalledWith('MOCK JSON');
495
+ // get current user
496
+ expect(userServ.currentUser).toEqual(mockUser);
497
+ });
498
+
499
+ it(`Should properly get 'initials'`, () => {
500
+ const userServ = new UserService(localStorage);
501
+ const currentUserSpy = spyOnProperty(userServ, 'currentUser', 'get').and.returnValue(null);
502
+ expect(userServ.initials).toEqual(null);
503
+ currentUserSpy.and.returnValue({ given_name: '' });
504
+ expect(userServ.initials).toEqual('');
505
+ currentUserSpy.and.returnValue({ given_name: '', family_name: '' });
506
+ expect(userServ.initials).toEqual('');
507
+ currentUserSpy.and.returnValue({ given_name: '', family_name: 'g' });
508
+ expect(userServ.initials).toEqual('g');
509
+ currentUserSpy.and.returnValue({ given_name: 'h3ll0' });
510
+ expect(userServ.initials).toEqual('h');
511
+ currentUserSpy.and.returnValue({ given_name: 'h3ll0', family_name: 'g' });
512
+ expect(userServ.initials).toEqual('hg');
513
+ currentUserSpy.and.returnValue({ given_name: 'h3ll0', family_name: '' });
514
+ expect(userServ.initials).toEqual('h');
515
+ });
516
+
517
+ it(`Should properly 'setCurrentUser'`, () => {
518
+ const userServ = new UserService(localStorage);
519
+ const mockUser2 = {
520
+ exp: 111,
521
+ name: 'Qually T',
522
+ given_name: 'Qually',
523
+ family_name: 'Testington',
524
+ email: 'q-t@test.test',
525
+ picture: `qt-pie.png`,
526
+ token: `mock token`,
527
+ externalToken: `mock token 2`
528
+ };
529
+ spyOn(JSON, 'stringify').and.returnValue('MOCK STRING');
530
+ spyOn(localStorage, 'setItem');
531
+ userServ.setCurrentUser(mockUser2);
532
+ expect(userServ.currentUser).toEqual(mockUser2);
533
+ expect(JSON.stringify).toHaveBeenCalledWith(mockUser2);
534
+ expect(localStorage.setItem).toHaveBeenCalledWith('currentUser', 'MOCK STRING');
535
+ userServ.setCurrentUser(mockUser);
536
+ expect(userServ.currentUser).toEqual(mockUser);
537
+ });
538
+
539
+ it(`Should properly call 'clearCurrentUser'`, () => {
540
+ const userServ = new UserService(localStorage);
541
+ spyOn(localStorage, 'removeItem');
542
+ expect(userServ.currentUser).toBeTruthy();
543
+ userServ.clearCurrentUser();
544
+ expect(localStorage.removeItem).toHaveBeenCalledWith('currentUser');
545
+ expect(userServ.currentUser).toEqual(null);
546
+ });
547
+ });
548
+ });
@@ -0,0 +1,54 @@
1
+ import { Injectable, isDevMode } from '@angular/core';
2
+ import { User } from '../models/user';
3
+ import { LocalStorageService } from './local-storage';
4
+
5
+ const USER_TOKEN = 'currentUser';
6
+
7
+ /**
8
+ * Service used to store and provide the current logged in user in the app.
9
+ *
10
+ * **NOTE**: Keep in mind using local storage can be susceptible to XSS attacks.
11
+ * Consider not storing the User o the client storage if the app requirements allow,
12
+ * adding a fingerprint to the JWT claims that is sent with a secure cookie,
13
+ * or other security measures.
14
+ */
15
+ @Injectable({
16
+ providedIn: 'root'
17
+ })
18
+ export class UserService {
19
+ // tslint:disable-next-line:variable-name
20
+ private _currentUser: User | null;
21
+ /** Current logged in user, if any */
22
+ public get currentUser() { return this._currentUser; }
23
+
24
+ /** Initials of the current user, if any */
25
+ public get initials(): string | null {
26
+ if (!this.currentUser) {
27
+ return null;
28
+ }
29
+ let initials = this.currentUser.given_name.substr(0, 1);
30
+ if (this.currentUser.family_name) {
31
+ initials += this.currentUser.family_name.substr(0, 1);
32
+ }
33
+ return initials;
34
+ }
35
+
36
+ constructor(private localStorage: LocalStorageService) {
37
+ const storedUser = this.localStorage.getItem(USER_TOKEN);
38
+ this._currentUser = storedUser ? JSON.parse(storedUser) : null;
39
+ }
40
+
41
+ /** Save new login as current user */
42
+ public setCurrentUser(user: User) {
43
+ if (isDevMode()) {
44
+ this.localStorage.setItem(USER_TOKEN, JSON.stringify(user));
45
+ }
46
+ this._currentUser = user;
47
+ }
48
+
49
+ /** Clear current user */
50
+ public clearCurrentUser() {
51
+ this._currentUser = null;
52
+ this.localStorage.removeItem(USER_TOKEN);
53
+ }
54
+ }
@@ -0,0 +1,22 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <title>Ignite UI for Angular</title>
7
+ <base href="/" />
8
+
9
+ <meta name="viewport" content="width=device-width, initial-scale=1">
10
+ <link rel="icon" type="image/x-icon" href="favicon.ico">
11
+
12
+ <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
13
+ <link href="https://fonts.googleapis.com/css?family=Titillium+Web:300,400,600,700" rel="stylesheet">
14
+
15
+ <script src="https://connect.facebook.net/en_US/sdk.js"></script>
16
+ </head>
17
+
18
+ <body class="ig-typography ig-scrollbar">
19
+ <app-root></app-root>
20
+ </body>
21
+
22
+ </html>
@@ -0,0 +1,21 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.json",
4
+ "compilerOptions": {
5
+ "lib": [
6
+ "es2019",
7
+ "dom"
8
+ ],
9
+ "outDir": "./out-tsc/app",
10
+ "types": [
11
+ "facebook-js-sdk"
12
+ ]
13
+ },
14
+ "files": [
15
+ "src/main.ts",
16
+ "src/polyfills.ts"
17
+ ],
18
+ "include": [
19
+ "src/**/*.d.ts"
20
+ ]
21
+ }
@@ -0,0 +1,21 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "./out-tsc/spec",
6
+ "types": [
7
+ "jasmine",
8
+ "node",
9
+ "facebook-js-sdk"
10
+ ],
11
+ "module": "commonjs"
12
+ },
13
+ "files": [
14
+ "src/test.ts",
15
+ "src/polyfills.ts"
16
+ ],
17
+ "include": [
18
+ "src/**/*.spec.ts",
19
+ "src/**/*.d.ts"
20
+ ]
21
+ }