@ts-core/angular 11.0.87 → 13.0.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 (362) hide show
  1. package/VICommonModule.d.ts +34 -2
  2. package/application/ApplicationBaseComponent.d.ts +9 -5
  3. package/application/ApplicationComponent.d.ts +2 -6
  4. package/asset/AssetBackgroundDirective.d.ts +3 -0
  5. package/asset/AssetBackgroundPipe.d.ts +3 -0
  6. package/asset/AssetFilePipe.d.ts +3 -0
  7. package/asset/AssetIconPipe.d.ts +3 -0
  8. package/asset/AssetImagePipe.d.ts +3 -0
  9. package/asset/AssetModule.d.ts +12 -0
  10. package/asset/AssetSoundPipe.d.ts +3 -0
  11. package/asset/AssetVideoPipe.d.ts +3 -0
  12. package/bottomSheet/BottomSheetModule.d.ts +10 -0
  13. package/bottomSheet/BottomSheetService.d.ts +3 -0
  14. package/bottomSheet/component/bottom-sheet-close-element/bottom-sheet-close-element.component.d.ts +3 -0
  15. package/component/VIComponentModule.d.ts +28 -0
  16. package/component/cdk-table/CdkTableBaseComponent.d.ts +6 -3
  17. package/component/cdk-table/CdkTableFilterableMapCollection.d.ts +5 -5
  18. package/component/cdk-table/CdkTablePaginableBookmarkMapCollection.d.ts +2 -2
  19. package/component/cdk-table/CdkTablePaginableMapCollection.d.ts +2 -6
  20. package/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.d.ts +3 -0
  21. package/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.d.ts +3 -0
  22. package/component/cdk-table/column/CdkTableCellClassNamePipe.d.ts +3 -0
  23. package/component/cdk-table/column/CdkTableColumnClassNamePipe.d.ts +3 -0
  24. package/component/cdk-table/column/CdkTableColumnStyleNamePipe.d.ts +3 -0
  25. package/component/cdk-table/column/CdkTableColumnValuePipe.d.ts +3 -0
  26. package/component/cdk-table/column/ICdkTableColumn.d.ts +1 -1
  27. package/component/cdk-table/row/CdkTableRowClassNamePipe.d.ts +3 -0
  28. package/component/cdk-table/row/CdkTableRowStyleNamePipe.d.ts +3 -0
  29. package/component/language/language-selector/language-selector.component.d.ts +3 -0
  30. package/component/menu-list/menu-list.component.d.ts +3 -0
  31. package/component/select-list/select-list.component.d.ts +3 -0
  32. package/component/tab-group/tab-group.component.d.ts +3 -0
  33. package/cookie/CookieModule.d.ts +4 -0
  34. package/directive/AspectRatioResizeDirective.d.ts +3 -0
  35. package/directive/AutoScrollBottomDirective.d.ts +3 -0
  36. package/directive/ClickToCopyDirective.d.ts +3 -0
  37. package/directive/ClickToSelectDirective.d.ts +3 -0
  38. package/directive/FocusDirective.d.ts +3 -0
  39. package/directive/HTMLContentTitleDirective.d.ts +3 -0
  40. package/directive/InfiniteScrollDirective.d.ts +3 -0
  41. package/directive/ResizeDirective.d.ts +3 -0
  42. package/directive/ScrollDirective.d.ts +3 -0
  43. package/directive/SelectOnFocusDirective.d.ts +3 -0
  44. package/{esm2015/ApplicationInjector.js → esm2020/ApplicationInjector.mjs} +0 -0
  45. package/esm2020/VICommonModule.mjs +145 -0
  46. package/esm2020/application/ApplicationBaseComponent.mjs +87 -0
  47. package/esm2020/application/ApplicationComponent.mjs +53 -0
  48. package/{esm2015/application/MessageBaseComponent.js → esm2020/application/MessageBaseComponent.mjs} +0 -0
  49. package/{esm2015/application/ShellBaseComponent.js → esm2020/application/ShellBaseComponent.mjs} +0 -0
  50. package/esm2020/asset/AssetBackgroundDirective.mjs +150 -0
  51. package/esm2020/asset/AssetBackgroundPipe.mjs +22 -0
  52. package/esm2020/asset/AssetFilePipe.mjs +22 -0
  53. package/esm2020/asset/AssetIconPipe.mjs +22 -0
  54. package/esm2020/asset/AssetImagePipe.mjs +22 -0
  55. package/esm2020/asset/AssetModule.mjs +24 -0
  56. package/esm2020/asset/AssetSoundPipe.mjs +22 -0
  57. package/esm2020/asset/AssetVideoPipe.mjs +22 -0
  58. package/esm2020/bottomSheet/BottomSheetImpl.mjs +230 -0
  59. package/esm2020/bottomSheet/BottomSheetModule.mjs +45 -0
  60. package/esm2020/bottomSheet/BottomSheetService.mjs +99 -0
  61. package/{esm2015/bottomSheet/component/BottomSheetBaseComponent.js → esm2020/bottomSheet/component/BottomSheetBaseComponent.mjs} +0 -0
  62. package/esm2020/bottomSheet/component/bottom-sheet-close-element/bottom-sheet-close-element.component.mjs +60 -0
  63. package/esm2020/component/VIComponentModule.mjs +105 -0
  64. package/esm2020/component/cdk-table/CdkTableBaseComponent.mjs +188 -0
  65. package/{esm2015/component/cdk-table/CdkTableDataSource.js → esm2020/component/cdk-table/CdkTableDataSource.mjs} +0 -0
  66. package/esm2020/component/cdk-table/CdkTableFilterableMapCollection.mjs +94 -0
  67. package/esm2020/component/cdk-table/CdkTablePaginableBookmarkMapCollection.mjs +49 -0
  68. package/esm2020/component/cdk-table/CdkTablePaginableMapCollection.mjs +57 -0
  69. package/esm2020/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.mjs +35 -0
  70. package/esm2020/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.mjs +63 -0
  71. package/esm2020/component/cdk-table/column/CdkTableCellClassNamePipe.mjs +21 -0
  72. package/esm2020/component/cdk-table/column/CdkTableColumnClassNamePipe.mjs +22 -0
  73. package/esm2020/component/cdk-table/column/CdkTableColumnStyleNamePipe.mjs +22 -0
  74. package/esm2020/component/cdk-table/column/CdkTableColumnValuePipe.mjs +22 -0
  75. package/esm2020/component/cdk-table/column/ICdkTableColumn.mjs +2 -0
  76. package/esm2020/component/cdk-table/row/CdkTableRowClassNamePipe.mjs +22 -0
  77. package/esm2020/component/cdk-table/row/CdkTableRowStyleNamePipe.mjs +22 -0
  78. package/{esm2015/component/cdk-table/row/ICdkTableRow.js → esm2020/component/cdk-table/row/ICdkTableRow.mjs} +0 -0
  79. package/esm2020/component/language/language-selector/language-selector.component.mjs +79 -0
  80. package/esm2020/component/menu-list/menu-list.component.mjs +16 -0
  81. package/esm2020/component/select-list/select-list.component.mjs +17 -0
  82. package/esm2020/component/tab-group/tab-group.component.mjs +71 -0
  83. package/esm2020/cookie/CookieModule.mjs +37 -0
  84. package/{esm2015/cookie/CookieOptions.js → esm2020/cookie/CookieOptions.mjs} +0 -0
  85. package/{esm2015/cookie/CookieService.js → esm2020/cookie/CookieService.mjs} +1 -1
  86. package/esm2020/directive/AspectRatioResizeDirective.mjs +127 -0
  87. package/esm2020/directive/AutoScrollBottomDirective.mjs +115 -0
  88. package/esm2020/directive/ClickToCopyDirective.mjs +49 -0
  89. package/esm2020/directive/ClickToSelectDirective.mjs +49 -0
  90. package/esm2020/directive/FocusDirective.mjs +54 -0
  91. package/esm2020/directive/HTMLContentTitleDirective.mjs +71 -0
  92. package/esm2020/directive/InfiniteScrollDirective.mjs +74 -0
  93. package/esm2020/directive/ResizeDirective.mjs +79 -0
  94. package/esm2020/directive/ScrollDirective.mjs +128 -0
  95. package/esm2020/directive/SelectOnFocusDirective.mjs +47 -0
  96. package/{esm2015/form/FormElementAsync.js → esm2020/form/FormElementAsync.mjs} +0 -0
  97. package/esm2020/form/FormElementSync.mjs +69 -0
  98. package/{esm2015/form/ValueAccessor.js → esm2020/form/ValueAccessor.mjs} +0 -0
  99. package/esm2020/form/validate.mjs +59 -0
  100. package/esm2020/language/LanguageDirective.mjs +92 -0
  101. package/esm2020/language/LanguageHasDirective.mjs +93 -0
  102. package/esm2020/language/LanguageMatPaginatorIntl.mjs +62 -0
  103. package/esm2020/language/LanguageModule.mjs +67 -0
  104. package/{esm2015/language/LanguageMomentDateAdapter.js → esm2020/language/LanguageMomentDateAdapter.mjs} +2 -4
  105. package/esm2020/language/LanguagePipe.mjs +58 -0
  106. package/esm2020/language/LanguagePipeHas.mjs +56 -0
  107. package/esm2020/language/LanguagePipeHasPure.mjs +40 -0
  108. package/esm2020/language/LanguagePipePure.mjs +39 -0
  109. package/{esm2015/language/LanguageRequireResolver.js → esm2020/language/LanguageRequireResolver.mjs} +0 -0
  110. package/esm2020/language/LanguageResolver.mjs +21 -0
  111. package/{esm2015/list/IListItem.js → esm2020/list/IListItem.mjs} +0 -0
  112. package/{esm2015/list/ListItem.js → esm2020/list/ListItem.mjs} +0 -0
  113. package/{esm2015/list/ListItems.js → esm2020/list/ListItems.mjs} +0 -0
  114. package/{esm2015/list/select/ISelectListItem.js → esm2020/list/select/ISelectListItem.mjs} +0 -0
  115. package/{esm2015/list/select/SelectListItem.js → esm2020/list/select/SelectListItem.mjs} +0 -0
  116. package/{esm2015/list/select/SelectListItems.js → esm2020/list/select/SelectListItems.mjs} +0 -0
  117. package/esm2020/login/LoginBaseService.mjs +187 -0
  118. package/esm2020/login/LoginGuard.mjs +29 -0
  119. package/esm2020/login/LoginRedirectResolver.mjs +21 -0
  120. package/esm2020/login/LoginRequireResolver.mjs +36 -0
  121. package/esm2020/login/LoginResolver.mjs +28 -0
  122. package/{esm2015/manager/FocusManager.js → esm2020/manager/FocusManager.mjs} +0 -0
  123. package/{esm2015/manager/ResizeManager.js → esm2020/manager/ResizeManager.mjs} +0 -0
  124. package/{esm2015/menu/MenuItem.js → esm2020/menu/MenuItem.mjs} +0 -0
  125. package/{esm2015/menu/MenuItemBase.js → esm2020/menu/MenuItemBase.mjs} +0 -0
  126. package/{esm2015/menu/MenuItems.js → esm2020/menu/MenuItems.mjs} +0 -0
  127. package/{esm2015/menu/NavigationMenuItem.js → esm2020/menu/NavigationMenuItem.mjs} +0 -0
  128. package/esm2020/module/LazyModuleLoader.mjs +89 -0
  129. package/{esm2015/notification/INotification.js → esm2020/notification/INotification.mjs} +0 -0
  130. package/esm2020/notification/INotificationContent.mjs +131 -0
  131. package/{esm2015/notification/NotificationConfig.js → esm2020/notification/NotificationConfig.mjs} +0 -0
  132. package/{esm2015/notification/NotificationFactory.js → esm2020/notification/NotificationFactory.mjs} +0 -0
  133. package/esm2020/notification/NotificationImpl.mjs +139 -0
  134. package/esm2020/notification/NotificationModule.mjs +53 -0
  135. package/{esm2015/notification/NotificationProperties.js → esm2020/notification/NotificationProperties.mjs} +0 -0
  136. package/esm2020/notification/NotificationService.mjs +239 -0
  137. package/{esm2015/notification/component/NotificationBaseComponent.js → esm2020/notification/component/NotificationBaseComponent.mjs} +0 -0
  138. package/esm2020/notification/component/NotificationQuestionBaseComponent.mjs +49 -0
  139. package/esm2020/notification/component/notification/notification.component.mjs +61 -0
  140. package/esm2020/pipe/CamelCasePipe.mjs +31 -0
  141. package/esm2020/pipe/FinancePipe.mjs +53 -0
  142. package/esm2020/pipe/MomentDateAdaptivePipe.mjs +51 -0
  143. package/esm2020/pipe/MomentDateFromNowPipe.mjs +22 -0
  144. package/esm2020/pipe/MomentDatePipe.mjs +71 -0
  145. package/esm2020/pipe/MomentTimePipe.mjs +35 -0
  146. package/esm2020/pipe/NgModelErrorPipe.mjs +42 -0
  147. package/esm2020/pipe/PrettifyPipe.mjs +38 -0
  148. package/esm2020/pipe/SanitizePipe.mjs +47 -0
  149. package/esm2020/pipe/StartCasePipe.mjs +24 -0
  150. package/esm2020/pipe/TimePipe.mjs +37 -0
  151. package/esm2020/pipe/TruncatePipe.mjs +25 -0
  152. package/esm2020/public-api.mjs +160 -0
  153. package/{esm2015/question/IQuestion.js → esm2020/question/IQuestion.mjs} +0 -0
  154. package/{esm2015/question/QuestionManager.js → esm2020/question/QuestionManager.mjs} +0 -0
  155. package/esm2020/service/BootstrapBreakpointService.mjs +116 -0
  156. package/{esm2015/service/PipeBaseService.js → esm2020/service/PipeBaseService.mjs} +0 -0
  157. package/esm2020/service/RouterBaseService.mjs +214 -0
  158. package/{esm2015/service/route/CanDeactivateGuard.js → esm2020/service/route/CanDeactivateGuard.mjs} +0 -0
  159. package/{esm2015/service/route/IRouterDeactivatable.js → esm2020/service/route/IRouterDeactivatable.mjs} +0 -0
  160. package/esm2020/theme/ThemeAssetBackgroundDirective.mjs +36 -0
  161. package/esm2020/theme/ThemeAssetDirective.mjs +219 -0
  162. package/esm2020/theme/ThemeAssetImageDirective.mjs +34 -0
  163. package/esm2020/theme/ThemeModule.mjs +62 -0
  164. package/esm2020/theme/ThemeStyleDirective.mjs +115 -0
  165. package/esm2020/theme/ThemeStyleHoverDirective.mjs +107 -0
  166. package/esm2020/theme/ThemeToggleDirective.mjs +62 -0
  167. package/esm2020/transport/TransportLazy.mjs +91 -0
  168. package/esm2020/transport/TransportLazyModule.mjs +28 -0
  169. package/esm2020/transport/TransportLazyModuleLoadedEvent.mjs +18 -0
  170. package/esm2020/ts-core-angular.mjs +5 -0
  171. package/{esm2015/user/IUser.js → esm2020/user/IUser.mjs} +0 -0
  172. package/esm2020/user/UserBaseService.mjs +105 -0
  173. package/{esm2015/util/ViewUtil.js → esm2020/util/ViewUtil.mjs} +0 -0
  174. package/{esm2015/window/IWindow.js → esm2020/window/IWindow.mjs} +0 -0
  175. package/esm2020/window/IWindowContent.mjs +124 -0
  176. package/{esm2015/window/WindowBase.js → esm2020/window/WindowBase.mjs} +0 -0
  177. package/{esm2015/window/WindowConfig.js → esm2020/window/WindowConfig.mjs} +0 -0
  178. package/{esm2015/window/WindowFactory.js → esm2020/window/WindowFactory.mjs} +0 -0
  179. package/esm2020/window/WindowImpl.mjs +319 -0
  180. package/esm2020/window/WindowModule.mjs +59 -0
  181. package/{esm2015/window/WindowProperties.js → esm2020/window/WindowProperties.mjs} +0 -0
  182. package/esm2020/window/WindowService.mjs +338 -0
  183. package/{esm2015/window/component/WindowBaseComponent.js → esm2020/window/component/WindowBaseComponent.mjs} +0 -0
  184. package/esm2020/window/component/WindowDragAreaDirective.mjs +97 -0
  185. package/{esm2015/window/component/WindowDragable.js → esm2020/window/component/WindowDragable.mjs} +1 -1
  186. package/esm2020/window/component/WindowElement.mjs +85 -0
  187. package/{esm2015/window/component/WindowQuestionBaseComponent.js → esm2020/window/component/WindowQuestionBaseComponent.mjs} +0 -0
  188. package/{esm2015/window/component/WindowResizeable.js → esm2020/window/component/WindowResizeable.mjs} +1 -1
  189. package/esm2020/window/component/window-close-element/window-close-element.component.mjs +60 -0
  190. package/esm2020/window/component/window-minimize-element/window-minimize-element.component.mjs +80 -0
  191. package/esm2020/window/component/window-question/window-question.component.mjs +50 -0
  192. package/esm2020/window/component/window-resize-element/window-resize-element.component.mjs +59 -0
  193. package/fesm2015/{ts-core-angular.js → ts-core-angular.mjs} +5106 -4696
  194. package/fesm2015/ts-core-angular.mjs.map +1 -0
  195. package/fesm2020/ts-core-angular.mjs +9510 -0
  196. package/fesm2020/ts-core-angular.mjs.map +1 -0
  197. package/form/FormElementSync.d.ts +3 -0
  198. package/language/LanguageDirective.d.ts +3 -0
  199. package/language/LanguageHasDirective.d.ts +3 -0
  200. package/language/LanguageMatPaginatorIntl.d.ts +3 -0
  201. package/language/LanguageModule.d.ts +11 -0
  202. package/language/LanguagePipe.d.ts +3 -0
  203. package/language/LanguagePipeHas.d.ts +3 -0
  204. package/language/LanguagePipeHasPure.d.ts +3 -0
  205. package/language/LanguagePipePure.d.ts +3 -0
  206. package/language/LanguageResolver.d.ts +3 -0
  207. package/login/LoginGuard.d.ts +5 -2
  208. package/login/LoginRedirectResolver.d.ts +3 -0
  209. package/login/LoginRequireResolver.d.ts +2 -2
  210. package/login/LoginResolver.d.ts +3 -0
  211. package/module/LazyModuleLoader.d.ts +24 -0
  212. package/notification/INotificationContent.d.ts +3 -0
  213. package/notification/NotificationModule.d.ts +14 -0
  214. package/notification/NotificationService.d.ts +3 -0
  215. package/notification/component/NotificationQuestionBaseComponent.d.ts +3 -0
  216. package/notification/component/notification/notification.component.d.ts +3 -0
  217. package/package.json +44 -30
  218. package/pipe/CamelCasePipe.d.ts +3 -0
  219. package/pipe/FinancePipe.d.ts +3 -0
  220. package/pipe/MomentDateAdaptivePipe.d.ts +3 -0
  221. package/pipe/MomentDateFromNowPipe.d.ts +3 -0
  222. package/pipe/MomentDatePipe.d.ts +3 -0
  223. package/pipe/MomentTimePipe.d.ts +3 -0
  224. package/pipe/NgModelErrorPipe.d.ts +3 -0
  225. package/pipe/PrettifyPipe.d.ts +3 -0
  226. package/pipe/SanitizePipe.d.ts +3 -0
  227. package/pipe/StartCasePipe.d.ts +3 -0
  228. package/pipe/TimePipe.d.ts +3 -0
  229. package/pipe/TruncatePipe.d.ts +3 -0
  230. package/public-api.d.ts +29 -9
  231. package/service/BootstrapBreakpointService.d.ts +3 -0
  232. package/theme/ThemeAssetBackgroundDirective.d.ts +3 -0
  233. package/theme/ThemeAssetDirective.d.ts +3 -0
  234. package/theme/ThemeAssetImageDirective.d.ts +3 -0
  235. package/theme/ThemeModule.d.ts +10 -0
  236. package/theme/ThemeStyleDirective.d.ts +3 -0
  237. package/theme/ThemeStyleHoverDirective.d.ts +3 -0
  238. package/theme/ThemeToggleDirective.d.ts +3 -0
  239. package/transport/TransportLazy.d.ts +15 -0
  240. package/transport/TransportLazyModule.d.ts +16 -0
  241. package/transport/TransportLazyModuleLoadedEvent.d.ts +6 -0
  242. package/ts-core-angular.d.ts +1 -24
  243. package/user/UserBaseService.d.ts +1 -1
  244. package/window/IWindowContent.d.ts +3 -0
  245. package/window/WindowModule.d.ts +20 -0
  246. package/window/WindowService.d.ts +3 -0
  247. package/window/component/WindowDragAreaDirective.d.ts +3 -0
  248. package/window/component/WindowDragable.d.ts +1 -1
  249. package/window/component/WindowElement.d.ts +3 -0
  250. package/window/component/WindowResizeable.d.ts +1 -1
  251. package/window/component/window-close-element/window-close-element.component.d.ts +3 -0
  252. package/window/component/window-minimize-element/window-minimize-element.component.d.ts +3 -0
  253. package/window/component/window-question/window-question.component.d.ts +3 -0
  254. package/window/component/window-resize-element/window-resize-element.component.d.ts +3 -0
  255. package/application/ApplicationComponent2.d.ts +0 -19
  256. package/bundles/ts-core-angular.umd.js +0 -10984
  257. package/bundles/ts-core-angular.umd.js.map +0 -1
  258. package/bundles/ts-core-angular.umd.min.js +0 -2
  259. package/bundles/ts-core-angular.umd.min.js.map +0 -1
  260. package/esm2015/VICommonModule.js +0 -98
  261. package/esm2015/application/ApplicationBaseComponent.js +0 -80
  262. package/esm2015/application/ApplicationComponent.js +0 -57
  263. package/esm2015/application/ApplicationComponent2.js +0 -53
  264. package/esm2015/asset/AssetBackgroundDirective.js +0 -144
  265. package/esm2015/asset/AssetBackgroundPipe.js +0 -18
  266. package/esm2015/asset/AssetFilePipe.js +0 -18
  267. package/esm2015/asset/AssetIconPipe.js +0 -18
  268. package/esm2015/asset/AssetImagePipe.js +0 -18
  269. package/esm2015/asset/AssetModule.js +0 -19
  270. package/esm2015/asset/AssetSoundPipe.js +0 -18
  271. package/esm2015/asset/AssetVideoPipe.js +0 -18
  272. package/esm2015/bottomSheet/BottomSheetImpl.js +0 -231
  273. package/esm2015/bottomSheet/BottomSheetModule.js +0 -40
  274. package/esm2015/bottomSheet/BottomSheetService.js +0 -103
  275. package/esm2015/bottomSheet/component/bottom-sheet-close-element/bottom-sheet-close-element.component.js +0 -63
  276. package/esm2015/component/VIComponentModule.js +0 -67
  277. package/esm2015/component/cdk-table/CdkTableBaseComponent.js +0 -176
  278. package/esm2015/component/cdk-table/CdkTableFilterableMapCollection.js +0 -94
  279. package/esm2015/component/cdk-table/CdkTablePaginableBookmarkMapCollection.js +0 -49
  280. package/esm2015/component/cdk-table/CdkTablePaginableMapCollection.js +0 -57
  281. package/esm2015/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.js +0 -24
  282. package/esm2015/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.js +0 -52
  283. package/esm2015/component/cdk-table/column/CdkTableCellClassNamePipe.js +0 -17
  284. package/esm2015/component/cdk-table/column/CdkTableColumnClassNamePipe.js +0 -18
  285. package/esm2015/component/cdk-table/column/CdkTableColumnStyleNamePipe.js +0 -18
  286. package/esm2015/component/cdk-table/column/CdkTableColumnValuePipe.js +0 -18
  287. package/esm2015/component/cdk-table/column/ICdkTableColumn.js +0 -2
  288. package/esm2015/component/cdk-table/row/CdkTableRowClassNamePipe.js +0 -18
  289. package/esm2015/component/cdk-table/row/CdkTableRowStyleNamePipe.js +0 -18
  290. package/esm2015/component/language/language-selector/language-selector.component.js +0 -75
  291. package/esm2015/component/menu-list/menu-list.component.js +0 -14
  292. package/esm2015/component/select-list/select-list.component.js +0 -14
  293. package/esm2015/component/tab-group/tab-group.component.js +0 -68
  294. package/esm2015/cookie/CookieModule.js +0 -33
  295. package/esm2015/directive/AspectRatioResizeDirective.js +0 -125
  296. package/esm2015/directive/AutoScrollBottomDirective.js +0 -107
  297. package/esm2015/directive/ClickToCopyDirective.js +0 -48
  298. package/esm2015/directive/ClickToSelectDirective.js +0 -48
  299. package/esm2015/directive/FocusDirective.js +0 -53
  300. package/esm2015/directive/HTMLContentTitleDirective.js +0 -70
  301. package/esm2015/directive/InfiniteScrollDirective.js +0 -69
  302. package/esm2015/directive/ResizeDirective.js +0 -75
  303. package/esm2015/directive/ScrollDirective.js +0 -124
  304. package/esm2015/directive/SelectOnFocusDirective.js +0 -46
  305. package/esm2015/form/FormElementSync.js +0 -62
  306. package/esm2015/form/validate.js +0 -61
  307. package/esm2015/language/LanguageDirective.js +0 -90
  308. package/esm2015/language/LanguageHasDirective.js +0 -93
  309. package/esm2015/language/LanguageMatPaginatorIntl.js +0 -54
  310. package/esm2015/language/LanguageModule.js +0 -62
  311. package/esm2015/language/LanguagePipe.js +0 -57
  312. package/esm2015/language/LanguagePipeHas.js +0 -55
  313. package/esm2015/language/LanguagePipeHasPure.js +0 -39
  314. package/esm2015/language/LanguagePipePure.js +0 -38
  315. package/esm2015/language/LanguageResolver.js +0 -23
  316. package/esm2015/login/LoginBaseService.js +0 -197
  317. package/esm2015/login/LoginGuard.js +0 -31
  318. package/esm2015/login/LoginRedirectResolver.js +0 -19
  319. package/esm2015/login/LoginRequireResolver.js +0 -36
  320. package/esm2015/login/LoginResolver.js +0 -30
  321. package/esm2015/notification/INotificationContent.js +0 -126
  322. package/esm2015/notification/NotificationImpl.js +0 -140
  323. package/esm2015/notification/NotificationModule.js +0 -40
  324. package/esm2015/notification/NotificationService.js +0 -248
  325. package/esm2015/notification/component/NotificationQuestionBaseComponent.js +0 -43
  326. package/esm2015/notification/component/notification/notification.component.js +0 -64
  327. package/esm2015/pipe/CamelCasePipe.js +0 -28
  328. package/esm2015/pipe/FinancePipe.js +0 -49
  329. package/esm2015/pipe/MomentDateAdaptivePipe.js +0 -47
  330. package/esm2015/pipe/MomentDateFromNowPipe.js +0 -18
  331. package/esm2015/pipe/MomentDatePipe.js +0 -67
  332. package/esm2015/pipe/MomentTimePipe.js +0 -31
  333. package/esm2015/pipe/NgModelErrorPipe.js +0 -41
  334. package/esm2015/pipe/PrettifyPipe.js +0 -35
  335. package/esm2015/pipe/SanitizePipe.js +0 -46
  336. package/esm2015/pipe/StartCasePipe.js +0 -20
  337. package/esm2015/pipe/TimePipe.js +0 -33
  338. package/esm2015/pipe/TruncatePipe.js +0 -21
  339. package/esm2015/public-api.js +0 -155
  340. package/esm2015/service/BootstrapBreakpointService.js +0 -118
  341. package/esm2015/service/RouterBaseService.js +0 -223
  342. package/esm2015/theme/ThemeAssetBackgroundDirective.js +0 -37
  343. package/esm2015/theme/ThemeAssetDirective.js +0 -204
  344. package/esm2015/theme/ThemeAssetImageDirective.js +0 -35
  345. package/esm2015/theme/ThemeModule.js +0 -57
  346. package/esm2015/theme/ThemeStyleDirective.js +0 -113
  347. package/esm2015/theme/ThemeStyleHoverDirective.js +0 -105
  348. package/esm2015/theme/ThemeToggleDirective.js +0 -61
  349. package/esm2015/ts-core-angular.js +0 -28
  350. package/esm2015/user/UserBaseService.js +0 -105
  351. package/esm2015/window/IWindowContent.js +0 -115
  352. package/esm2015/window/WindowImpl.js +0 -320
  353. package/esm2015/window/WindowModule.js +0 -46
  354. package/esm2015/window/WindowService.js +0 -349
  355. package/esm2015/window/component/WindowDragAreaDirective.js +0 -96
  356. package/esm2015/window/component/WindowElement.js +0 -78
  357. package/esm2015/window/component/window-close-element/window-close-element.component.js +0 -63
  358. package/esm2015/window/component/window-minimize-element/window-minimize-element.component.js +0 -83
  359. package/esm2015/window/component/window-question/window-question.component.js +0 -50
  360. package/esm2015/window/component/window-resize-element/window-resize-element.component.js +0 -62
  361. package/fesm2015/ts-core-angular.js.map +0 -1
  362. package/ts-core-angular.metadata.json +0 -1
@@ -1,204 +0,0 @@
1
- import { HostListener, Input } from '@angular/core';
2
- import { Destroyable } from '@ts-core/common';
3
- import * as _ from 'lodash';
4
- import { takeUntil } from 'rxjs/operators';
5
- import { ViewUtil } from '../util/ViewUtil';
6
- export class ThemeAssetDirective extends Destroyable {
7
- // --------------------------------------------------------------------------
8
- //
9
- // Constructor
10
- //
11
- // --------------------------------------------------------------------------
12
- constructor(element, theme, themeAsset) {
13
- super();
14
- this.theme = theme;
15
- this.themeAsset = themeAsset;
16
- this._extension = 'png';
17
- this._isFile = false;
18
- this._isImage = false;
19
- this._isVideo = false;
20
- this._isSound = false;
21
- this._isBackground = false;
22
- this._isIgnoreTheme = true;
23
- this.element = ViewUtil.parseElement(element.nativeElement);
24
- this.theme.changed.pipe(takeUntil(this.destroyed)).subscribe(() => {
25
- this.isTriedThemeDefault = false;
26
- this.setSourceProperties();
27
- });
28
- }
29
- // --------------------------------------------------------------------------
30
- //
31
- // Private Methods
32
- //
33
- // --------------------------------------------------------------------------
34
- getSource(id) {
35
- if (_.isNil(id)) {
36
- return null;
37
- }
38
- if (this.isImage) {
39
- return this.themeAsset.getImage(id, this.extension, this.isIgnoreTheme);
40
- }
41
- if (this.isBackground) {
42
- return this.themeAsset.getBackground(id, this.extension, this.isIgnoreTheme);
43
- }
44
- if (this.isSound) {
45
- return this.themeAsset.getSound(id, this.extension, this.isIgnoreTheme);
46
- }
47
- if (this.isVideo) {
48
- return this.themeAsset.getVideo(id, this.extension, this.isIgnoreTheme);
49
- }
50
- if (this.isFile) {
51
- return this.themeAsset.getFile(id, this.extension, this.isIgnoreTheme);
52
- }
53
- return this.themeAsset.getIcon(id, this.extension, this.isIgnoreTheme);
54
- }
55
- // --------------------------------------------------------------------------
56
- //
57
- // Event Handlers
58
- //
59
- // --------------------------------------------------------------------------
60
- errorLoadingHandler(event) {
61
- this.errorHandler(event);
62
- }
63
- errorHandler(event) {
64
- if (this.isTriedThemeDefault) {
65
- return;
66
- }
67
- this.isTriedThemeDefault = true;
68
- this.source = this.getSource(this.getDefaultSourceId());
69
- this.commitSourceProperties();
70
- }
71
- // --------------------------------------------------------------------------
72
- //
73
- // Protected Methods
74
- //
75
- // --------------------------------------------------------------------------
76
- setSourceProperties() {
77
- this.source = this.getSource(this.getSourceId(this.theme.theme));
78
- this.commitSourceProperties();
79
- }
80
- getSourceId(theme) {
81
- return !_.isNil(theme) ? this.name + _.capitalize(theme.name) : null;
82
- }
83
- getDefaultSourceId() {
84
- return this.themeAsset.getName(this.name, this.isIgnoreTheme);
85
- }
86
- // --------------------------------------------------------------------------
87
- //
88
- // Public Methods
89
- //
90
- // --------------------------------------------------------------------------
91
- destroy() {
92
- if (this.isDestroyed) {
93
- return;
94
- }
95
- super.destroy();
96
- this.name = null;
97
- this.theme = null;
98
- this.element = null;
99
- }
100
- // --------------------------------------------------------------------------
101
- //
102
- // Public Properties
103
- //
104
- // --------------------------------------------------------------------------
105
- set isSound(value) {
106
- if (value === this._isSound) {
107
- return;
108
- }
109
- this._isSound = value;
110
- this.setSourceProperties();
111
- }
112
- get isSound() {
113
- return this._isSound;
114
- }
115
- set isVideo(value) {
116
- if (value === this._isVideo) {
117
- return;
118
- }
119
- this._isVideo = value;
120
- this.setSourceProperties();
121
- }
122
- get isVideo() {
123
- return this._isVideo;
124
- }
125
- set isFile(value) {
126
- if (value === this._isFile) {
127
- return;
128
- }
129
- this._isFile = value;
130
- this.setSourceProperties();
131
- }
132
- get isFile() {
133
- return this._isFile;
134
- }
135
- set isImage(value) {
136
- if (value === this._isImage) {
137
- return;
138
- }
139
- this._isImage = value;
140
- this.setSourceProperties();
141
- }
142
- get isImage() {
143
- return this._isImage;
144
- }
145
- set isBackground(value) {
146
- if (value === this._isBackground) {
147
- return;
148
- }
149
- this._isBackground = value;
150
- this.setSourceProperties();
151
- }
152
- get isBackground() {
153
- return this._isBackground;
154
- }
155
- set isIgnoreTheme(value) {
156
- if (value === this._isIgnoreTheme) {
157
- return;
158
- }
159
- this._isIgnoreTheme = value;
160
- this.setSourceProperties();
161
- }
162
- get isIgnoreTheme() {
163
- return this._isIgnoreTheme;
164
- }
165
- get name() {
166
- return this._name;
167
- }
168
- set name(value) {
169
- if (value === this._name) {
170
- return;
171
- }
172
- if (!_.isNil(this._name)) {
173
- this.removeSourceProperties();
174
- }
175
- this._name = value;
176
- if (!_.isNil(value)) {
177
- this.setSourceProperties();
178
- }
179
- }
180
- get extension() {
181
- return this._extension;
182
- }
183
- set extension(value) {
184
- if (value === this._extension) {
185
- return;
186
- }
187
- this._extension = value;
188
- if (!_.isNil(value)) {
189
- this.setSourceProperties();
190
- }
191
- }
192
- }
193
- ThemeAssetDirective.propDecorators = {
194
- errorLoadingHandler: [{ type: HostListener, args: ['error', ['$event'],] }],
195
- isSound: [{ type: Input }],
196
- isVideo: [{ type: Input }],
197
- isFile: [{ type: Input }],
198
- isImage: [{ type: Input }],
199
- isBackground: [{ type: Input }],
200
- isIgnoreTheme: [{ type: Input }],
201
- name: [{ type: Input }],
202
- extension: [{ type: Input }]
203
- };
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVBc3NldERpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90aGVtZS9UaGVtZUFzc2V0RGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVDLE1BQU0sT0FBZ0IsbUJBQXlELFNBQVEsV0FBVztJQXNCOUYsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixjQUFjO0lBQ2QsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFZLE9BQW1CLEVBQVksS0FBbUIsRUFBWSxVQUE2QjtRQUNuRyxLQUFLLEVBQUUsQ0FBQztRQUQrQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQVksZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFwQjdGLGVBQVUsR0FBVyxLQUFLLENBQUM7UUFFM0IsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFZLElBQUksQ0FBQztRQWVyQyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBTSxDQUFDO1FBRWpFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMs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SSxDQUFDLEtBQWE7UUFDekIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN0QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDakM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUNXLFNBQVMsQ0FBQyxLQUFhO1FBQzlCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0IsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDOUI7SUFDTCxDQUFDOzs7a0NBaktBLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7c0JBNERoQyxLQUFLO3NCQVlMLEtBQUs7cUJBWUwsS0FBSztzQkFZTCxLQUFLOzJCQVlMLEtBQUs7NEJBWUwsS0FBSzttQkFlTCxLQUFLO3dCQWlCTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgVGhlbWUsIFRoZW1lQXNzZXRTZXJ2aWNlLCBUaGVtZVNlcnZpY2UgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZC90aGVtZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBWaWV3VXRpbCB9IGZyb20gJy4uL3V0aWwvVmlld1V0aWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGhlbWVBc3NldERpcmVjdGl2ZTxUIGV4dGVuZHMgSFRNTEVsZW1lbnQgPSBIVE1MRWxlbWVudD4gZXh0ZW5kcyBEZXN0cm95YWJsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF9uYW1lOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9leHRlbnNpb246IHN0cmluZyA9ICdwbmcnO1xuXG4gICAgcHJvdGVjdGVkIF9pc0ZpbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX2lzSW1hZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX2lzVmlkZW86IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX2lzU291bmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX2lzQmFja2dyb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBfaXNJZ25vcmVUaGVtZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBwcm90ZWN0ZWQgc291cmNlOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIGVsZW1lbnQ6IFQ7XG5cbiAgICBwcml2YXRlIGlzVHJpZWRUaGVtZURlZmF1bHQ6IGJvb2xlYW47XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHRoZW1lOiBUaGVtZVNlcnZpY2UsIHByb3RlY3RlZCB0aGVtZUFzc2V0OiBUaGVtZUFzc2V0U2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSBWaWV3VXRpbC5wYXJzZUVsZW1lbnQoZWxlbWVudC5uYXRpdmVFbGVtZW50KSBhcyBUO1xuXG4gICAgICAgIHRoaXMudGhlbWUuY2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzVHJpZWRUaGVtZURlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2V0U291cmNlUHJvcGVydGllcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFByaXZhdGUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBnZXRTb3VyY2UoaWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChfLmlzTmlsKGlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNJbWFnZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGhlbWVBc3NldC5nZXRJbWFnZShpZCwgdGhpcy5leHRlbnNpb24sIHRoaXMuaXNJZ25vcmVUaGVtZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNCYWNrZ3JvdW5kKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aGVtZUFzc2V0LmdldEJhY2tncm91bmQoaWQsIHRoaXMuZXh0ZW5zaW9uLCB0aGlzLmlzSWdub3JlVGhlbWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzU291bmQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoZW1lQXNzZXQuZ2V0U291bmQoaWQsIHRoaXMuZXh0ZW5zaW9uLCB0aGlzLmlzSWdub3JlVGhlbWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzVmlkZW8pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoZW1lQXNzZXQuZ2V0VmlkZW8oaWQsIHRoaXMuZXh0ZW5zaW9uLCB0aGlzLmlzSWdub3JlVGhlbWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzRmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGhlbWVBc3NldC5nZXRGaWxlKGlkLCB0aGlzLmV4dGVuc2lvbiwgdGhpcy5pc0lnbm9yZVRoZW1lKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50aGVtZUFzc2V0LmdldEljb24oaWQsIHRoaXMuZXh0ZW5zaW9uLCB0aGlzLmlzSWdub3JlVGhlbWUpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0RXZlbnQgSGFuZGxlcnNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBASG9zdExpc3RlbmVyKCdlcnJvcicsIFsnJGV2ZW50J10pXG4gICAgcHJpdmF0ZSBlcnJvckxvYWRpbmdIYW5kbGVyKGV2ZW50OiBFcnJvckV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZXJyb3JIYW5kbGVyKGV2ZW50OiBFcnJvckV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzVHJpZWRUaGVtZURlZmF1bHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzVHJpZWRUaGVtZURlZmF1bHQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNvdXJjZSA9IHRoaXMuZ2V0U291cmNlKHRoaXMuZ2V0RGVmYXVsdFNvdXJjZUlkKCkpO1xuICAgICAgICB0aGlzLmNvbW1pdFNvdXJjZVByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIHNldFNvdXJjZVByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc291cmNlID0gdGhpcy5nZXRTb3VyY2UodGhpcy5nZXRTb3VyY2VJZCh0aGlzLnRoZW1lLnRoZW1lKSk7XG4gICAgICAgIHRoaXMuY29tbWl0U291cmNlUHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRTb3VyY2VJZCh0aGVtZTogVGhlbWUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gIV8uaXNOaWwodGhlbWUpID8gdGhpcy5uYW1lICsgXy5jYXBpdGFsaXplKHRoZW1lLm5hbWUpIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdFNvdXJjZUlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoZW1lQXNzZXQuZ2V0TmFtZSh0aGlzLm5hbWUsIHRoaXMuaXNJZ25vcmVUaGVtZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGNvbW1pdFNvdXJjZVByb3BlcnRpZXMoKTogdm9pZDtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZW1vdmVTb3VyY2VQcm9wZXJ0aWVzKCk6IHZvaWQ7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuXG4gICAgICAgIHRoaXMubmFtZSA9IG51bGw7XG4gICAgICAgIHRoaXMudGhlbWUgPSBudWxsO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgaXNTb3VuZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2lzU291bmQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc1NvdW5kID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U291cmNlUHJvcGVydGllcygpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGlzU291bmQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1NvdW5kO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBpc1ZpZGVvKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faXNWaWRlbykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzVmlkZW8gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRTb3VyY2VQcm9wZXJ0aWVzKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgaXNWaWRlbygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVmlkZW87XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlzRmlsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2lzRmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzRmlsZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNvdXJjZVByb3BlcnRpZXMoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBpc0ZpbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0ZpbGU7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlzSW1hZ2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc0ltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNJbWFnZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNvdXJjZVByb3BlcnRpZXMoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBpc0ltYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNJbWFnZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgaXNCYWNrZ3JvdW5kKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faXNCYWNrZ3JvdW5kKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNCYWNrZ3JvdW5kID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U291cmNlUHJvcGVydGllcygpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGlzQmFja2dyb3VuZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzQmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgaXNJZ25vcmVUaGVtZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2lzSWdub3JlVGhlbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc0lnbm9yZVRoZW1lID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U291cmNlUHJvcGVydGllcygpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGlzSWdub3JlVGhlbWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0lnbm9yZVRoZW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX25hbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5fbmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU291cmNlUHJvcGVydGllcygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX25hbWUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5zZXRTb3VyY2VQcm9wZXJ0aWVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGV4dGVuc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXh0ZW5zaW9uO1xuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgZXh0ZW5zaW9uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9leHRlbnNpb24pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9leHRlbnNpb24gPSB2YWx1ZTtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5zZXRTb3VyY2VQcm9wZXJ0aWVzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,35 +0,0 @@
1
- import { Directive, ElementRef } from '@angular/core';
2
- import { ThemeAssetService, ThemeService } from '@ts-core/frontend/theme';
3
- import { ThemeAssetDirective } from './ThemeAssetDirective';
4
- export class ThemeAssetImageDirective extends ThemeAssetDirective {
5
- // --------------------------------------------------------------------------
6
- //
7
- // Constructor
8
- //
9
- // --------------------------------------------------------------------------
10
- constructor(element, theme, themeAsset) {
11
- super(element, theme, themeAsset);
12
- }
13
- // --------------------------------------------------------------------------
14
- //
15
- // Private Methods
16
- //
17
- // --------------------------------------------------------------------------
18
- commitSourceProperties() {
19
- this.element.src = this.source;
20
- }
21
- removeSourceProperties() {
22
- this.element.src = null;
23
- }
24
- }
25
- ThemeAssetImageDirective.decorators = [
26
- { type: Directive, args: [{
27
- selector: '[vi-theme-image]'
28
- },] }
29
- ];
30
- ThemeAssetImageDirective.ctorParameters = () => [
31
- { type: ElementRef },
32
- { type: ThemeService },
33
- { type: ThemeAssetService }
34
- ];
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVBc3NldEltYWdlRGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RoZW1lL1RoZW1lQXNzZXRJbWFnZURpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFLNUQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG1CQUFxQztJQUMvRSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksT0FBbUIsRUFBRSxLQUFtQixFQUFFLFVBQTZCO1FBQy9FLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFDUyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7OztZQXpCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjthQUMvQjs7O1lBTm1CLFVBQVU7WUFDRixZQUFZO1lBQS9CLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVBc3NldFNlcnZpY2UsIFRoZW1lU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL3RoZW1lJztcbmltcG9ydCB7IFRoZW1lQXNzZXREaXJlY3RpdmUgfSBmcm9tICcuL1RoZW1lQXNzZXREaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t2aS10aGVtZS1pbWFnZV0nXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lQXNzZXRJbWFnZURpcmVjdGl2ZSBleHRlbmRzIFRoZW1lQXNzZXREaXJlY3RpdmU8SFRNTEltYWdlRWxlbWVudD4ge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmLCB0aGVtZTogVGhlbWVTZXJ2aWNlLCB0aGVtZUFzc2V0OiBUaGVtZUFzc2V0U2VydmljZSkge1xuICAgICAgICBzdXBlcihlbGVtZW50LCB0aGVtZSwgdGhlbWVBc3NldCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQcml2YXRlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0U291cmNlUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50LnNyYyA9IHRoaXMuc291cmNlO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgcmVtb3ZlU291cmNlUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50LnNyYyA9IG51bGw7XG4gICAgfVxufVxuIl19
@@ -1,57 +0,0 @@
1
- import { InjectionToken, NgModule } from '@angular/core';
2
- import { ThemeService, ThemeAssetService } from '@ts-core/frontend/theme';
3
- import { CookieModule } from '../cookie/CookieModule';
4
- import { CookieService } from '../cookie/CookieService';
5
- import { ThemeAssetBackgroundDirective } from './ThemeAssetBackgroundDirective';
6
- import { ThemeAssetImageDirective } from './ThemeAssetImageDirective';
7
- import { ThemeToggleDirective } from './ThemeToggleDirective';
8
- import { ThemeStyleDirective } from './ThemeStyleDirective';
9
- import { ThemeStyleHoverDirective } from './ThemeStyleHoverDirective';
10
- import * as _ from 'lodash';
11
- let declarations = [ThemeToggleDirective, ThemeAssetImageDirective, ThemeAssetBackgroundDirective, ThemeStyleDirective, ThemeStyleHoverDirective];
12
- export class ThemeModule {
13
- // --------------------------------------------------------------------------
14
- //
15
- // Static Methods
16
- //
17
- // --------------------------------------------------------------------------
18
- static forRoot(options) {
19
- return {
20
- ngModule: ThemeModule,
21
- providers: [
22
- {
23
- provide: THEME_OPTIONS,
24
- useValue: options || {}
25
- },
26
- {
27
- provide: ThemeService,
28
- deps: [CookieService, THEME_OPTIONS],
29
- useFactory: themeServiceFactory
30
- },
31
- {
32
- provide: ThemeAssetService,
33
- deps: [ThemeService],
34
- useFactory: themeAssetServiceFactory
35
- }
36
- ]
37
- };
38
- }
39
- }
40
- ThemeModule.decorators = [
41
- { type: NgModule, args: [{
42
- imports: [CookieModule],
43
- declarations,
44
- exports: declarations
45
- },] }
46
- ];
47
- export function themeServiceFactory(cookie, options) {
48
- if (!_.isNil(options) && _.isNil(options.service)) {
49
- options.service = cookie;
50
- }
51
- return new ThemeService(options);
52
- }
53
- export function themeAssetServiceFactory(theme) {
54
- return new ThemeAssetService(theme);
55
- }
56
- export const THEME_OPTIONS = new InjectionToken(`THEME_OPTIONS`);
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVNb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGhlbWUvVGhlbWVNb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlFLE9BQU8sRUFBd0IsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixJQUFJLFlBQVksR0FBRyxDQUFDLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLDZCQUE2QixFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFPbEosTUFBTSxPQUFPLFdBQVc7SUFDcEIsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQThCO1FBQ2hELE9BQU87WUFDSCxRQUFRLEVBQUUsV0FBVztZQUNyQixTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFFBQVEsRUFBRSxPQUFPLElBQUksRUFBRTtpQkFDMUI7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLElBQUksRUFBRSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUM7b0JBQ3BDLFVBQVUsRUFBRSxtQkFBbUI7aUJBQ2xDO2dCQUNEO29CQUNJLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDcEIsVUFBVSxFQUFFLHdCQUF3QjtpQkFDdkM7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOzs7WUFoQ0osUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDdkIsWUFBWTtnQkFDWixPQUFPLEVBQUUsWUFBWTthQUN4Qjs7QUErQkQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQXNCLEVBQUUsT0FBOEI7SUFDdEYsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDL0MsT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7S0FDNUI7SUFDRCxPQUFPLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBbUI7SUFDeEQsT0FBTyxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQXVCLGVBQWUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQ29va2llU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL2Nvb2tpZSc7XG5pbXBvcnQgeyBJVGhlbWVTZXJ2aWNlT3B0aW9ucywgVGhlbWVTZXJ2aWNlLCBUaGVtZUFzc2V0U2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL3RoZW1lJztcbmltcG9ydCB7IENvb2tpZU1vZHVsZSB9IGZyb20gJy4uL2Nvb2tpZS9Db29raWVNb2R1bGUnO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJy4uL2Nvb2tpZS9Db29raWVTZXJ2aWNlJztcbmltcG9ydCB7IFRoZW1lQXNzZXRCYWNrZ3JvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi9UaGVtZUFzc2V0QmFja2dyb3VuZERpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaGVtZUFzc2V0SW1hZ2VEaXJlY3RpdmUgfSBmcm9tICcuL1RoZW1lQXNzZXRJbWFnZURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaGVtZVRvZ2dsZURpcmVjdGl2ZSB9IGZyb20gJy4vVGhlbWVUb2dnbGVEaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGhlbWVTdHlsZURpcmVjdGl2ZSB9IGZyb20gJy4vVGhlbWVTdHlsZURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaGVtZVN0eWxlSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuL1RoZW1lU3R5bGVIb3ZlckRpcmVjdGl2ZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmxldCBkZWNsYXJhdGlvbnMgPSBbVGhlbWVUb2dnbGVEaXJlY3RpdmUsIFRoZW1lQXNzZXRJbWFnZURpcmVjdGl2ZSwgVGhlbWVBc3NldEJhY2tncm91bmREaXJlY3RpdmUsIFRoZW1lU3R5bGVEaXJlY3RpdmUsIFRoZW1lU3R5bGVIb3ZlckRpcmVjdGl2ZV07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0Nvb2tpZU1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zLFxuICAgIGV4cG9ydHM6IGRlY2xhcmF0aW9uc1xufSlcbmV4cG9ydCBjbGFzcyBUaGVtZU1vZHVsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0U3RhdGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3Qob3B0aW9ucz86IElUaGVtZVNlcnZpY2VPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxUaGVtZU1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IFRoZW1lTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBUSEVNRV9PUFRJT05TLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucyB8fCB7fVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBUaGVtZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtDb29raWVTZXJ2aWNlLCBUSEVNRV9PUFRJT05TXSxcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogdGhlbWVTZXJ2aWNlRmFjdG9yeVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBUaGVtZUFzc2V0U2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW1RoZW1lU2VydmljZV0sXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IHRoZW1lQXNzZXRTZXJ2aWNlRmFjdG9yeVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGVtZVNlcnZpY2VGYWN0b3J5KGNvb2tpZTogSUNvb2tpZVNlcnZpY2UsIG9wdGlvbnM/OiBJVGhlbWVTZXJ2aWNlT3B0aW9ucyk6IFRoZW1lU2VydmljZSB7XG4gICAgaWYgKCFfLmlzTmlsKG9wdGlvbnMpICYmIF8uaXNOaWwob3B0aW9ucy5zZXJ2aWNlKSkge1xuICAgICAgICBvcHRpb25zLnNlcnZpY2UgPSBjb29raWU7XG4gICAgfVxuICAgIHJldHVybiBuZXcgVGhlbWVTZXJ2aWNlKG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGhlbWVBc3NldFNlcnZpY2VGYWN0b3J5KHRoZW1lOiBUaGVtZVNlcnZpY2UpOiBUaGVtZUFzc2V0U2VydmljZSB7XG4gICAgcmV0dXJuIG5ldyBUaGVtZUFzc2V0U2VydmljZSh0aGVtZSk7XG59XG5cbmV4cG9ydCBjb25zdCBUSEVNRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPElUaGVtZVNlcnZpY2VPcHRpb25zPihgVEhFTUVfT1BUSU9OU2ApO1xuIl19
@@ -1,113 +0,0 @@
1
- import { Directive, ElementRef, Input } from '@angular/core';
2
- import { Destroyable } from '@ts-core/common';
3
- import { ThemeService } from '@ts-core/frontend/theme';
4
- import * as _ from 'lodash';
5
- import { takeUntil } from 'rxjs/operators';
6
- import { ViewUtil } from '../util/ViewUtil';
7
- export class ThemeStyleDirective extends Destroyable {
8
- // --------------------------------------------------------------------------
9
- //
10
- // Constructor
11
- //
12
- // --------------------------------------------------------------------------
13
- constructor(element, theme) {
14
- super();
15
- this.theme = theme;
16
- this.element = ViewUtil.parseElement(element.nativeElement);
17
- this.theme.changed.pipe(takeUntil(this.destroyed)).subscribe(() => this.stylePropertiesAdd());
18
- }
19
- // --------------------------------------------------------------------------
20
- //
21
- // Protected Methods
22
- //
23
- // --------------------------------------------------------------------------
24
- commitStyleProperties(name, value) {
25
- ViewUtil.setStyle(this.element, name, value, this.flags);
26
- }
27
- stylePropertiesCheck() {
28
- if (this.isNeedStyleAdd()) {
29
- this.stylePropertiesAdd();
30
- }
31
- else if (this.isNeedStyleRemove()) {
32
- this.stylePropertiesRemove();
33
- }
34
- }
35
- stylePropertiesRemove() {
36
- ViewUtil.removeStyle(this.element, this.styleName);
37
- }
38
- stylePropertiesAdd() {
39
- this.commitStyleProperties(this.styleName, this.theme.getStyle(this.key));
40
- }
41
- isNeedStyleAdd() {
42
- return !_.isNil(this.theme.theme) && !_.isNil(this.styleName);
43
- }
44
- isNeedStyleRemove() {
45
- return !_.isNil(this.styleName);
46
- }
47
- // --------------------------------------------------------------------------
48
- //
49
- // Public Methods
50
- //
51
- // --------------------------------------------------------------------------
52
- destroy() {
53
- if (this.isDestroyed) {
54
- return;
55
- }
56
- super.destroy();
57
- this.key = null;
58
- this.theme = null;
59
- this.element = null;
60
- }
61
- // --------------------------------------------------------------------------
62
- //
63
- // Public Properties
64
- //
65
- // --------------------------------------------------------------------------
66
- get flags() {
67
- return this._flags;
68
- }
69
- set flags(value) {
70
- if (value === this._flags) {
71
- return;
72
- }
73
- this._flags = value;
74
- this.stylePropertiesCheck();
75
- }
76
- get styleName() {
77
- return this._styleName;
78
- }
79
- set styleName(value) {
80
- if (value === this._styleName) {
81
- return;
82
- }
83
- this._styleName = value;
84
- this.stylePropertiesCheck();
85
- }
86
- get key() {
87
- return this._key;
88
- }
89
- set key(value) {
90
- if (value === this._key) {
91
- return;
92
- }
93
- this._key = value;
94
- if (!_.isNil(value)) {
95
- this.stylePropertiesCheck();
96
- }
97
- }
98
- }
99
- ThemeStyleDirective.decorators = [
100
- { type: Directive, args: [{
101
- selector: '[vi-theme-style]'
102
- },] }
103
- ];
104
- ThemeStyleDirective.ctorParameters = () => [
105
- { type: ElementRef },
106
- { type: ThemeService }
107
- ];
108
- ThemeStyleDirective.propDecorators = {
109
- flags: [{ type: Input }],
110
- styleName: [{ type: Input }],
111
- key: [{ type: Input, args: ['vi-theme-style',] }]
112
- };
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVTdHlsZURpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90aGVtZS9UaGVtZVN0eWxlRGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSzVDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUFXO0lBYWhELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsY0FBYztJQUNkLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxPQUFtQixFQUFZLEtBQW1CO1FBQzFELEtBQUssRUFBRSxDQUFDO1FBRCtCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFHMUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLG9CQUFvQjtJQUNwQixFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLHFCQUFxQixDQUFDLElBQVksRUFBRSxLQUFhO1FBQ3ZELFFBQVEs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QixVQUFVO1lBRXJCLFlBQVk7OztvQkE4RmhCLEtBQUs7d0JBWUwsS0FBSztrQkFZTCxLQUFLLFNBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXJTdHlsZUZsYWdzMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgVGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQvdGhlbWUnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdmktdGhlbWUtc3R5bGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVN0eWxlRGlyZWN0aXZlIGV4dGVuZHMgRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBfa2V5OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9mbGFnczogUmVuZGVyZXJTdHlsZUZsYWdzMjtcbiAgICBwcm90ZWN0ZWQgX3N0eWxlTmFtZTogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB0aGVtZTogVGhlbWVTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50ID0gVmlld1V0aWwucGFyc2VFbGVtZW50KGVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRoaXMudGhlbWUuY2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnN0eWxlUHJvcGVydGllc0FkZCgpKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGNvbW1pdFN0eWxlUHJvcGVydGllcyhuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgVmlld1V0aWwuc2V0U3R5bGUodGhpcy5lbGVtZW50LCBuYW1lLCB2YWx1ZSwgdGhpcy5mbGFncyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHN0eWxlUHJvcGVydGllc0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc05lZWRTdHlsZUFkZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlUHJvcGVydGllc0FkZCgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNOZWVkU3R5bGVSZW1vdmUoKSkge1xuICAgICAgICAgICAgdGhpcy5zdHlsZVByb3BlcnRpZXNSZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzdHlsZVByb3BlcnRpZXNSZW1vdmUoKTogdm9pZCB7XG4gICAgICAgIFZpZXdVdGlsLnJlbW92ZVN0eWxlKHRoaXMuZWxlbWVudCwgdGhpcy5zdHlsZU5hbWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzdHlsZVByb3BlcnRpZXNBZGQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tbWl0U3R5bGVQcm9wZXJ0aWVzKHRoaXMuc3R5bGVOYW1lLCB0aGlzLnRoZW1lLmdldFN0eWxlKHRoaXMua2V5KSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzTmVlZFN0eWxlQWRkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIV8uaXNOaWwodGhpcy50aGVtZS50aGVtZSkgJiYgIV8uaXNOaWwodGhpcy5zdHlsZU5hbWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpc05lZWRTdHlsZVJlbW92ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFfLmlzTmlsKHRoaXMuc3R5bGVOYW1lKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuXG4gICAgICAgIHRoaXMua2V5ID0gbnVsbDtcbiAgICAgICAgdGhpcy50aGVtZSA9IG51bGw7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgZmxhZ3MoKTogUmVuZGVyZXJTdHlsZUZsYWdzMiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mbGFncztcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGZsYWdzKHZhbHVlOiBSZW5kZXJlclN0eWxlRmxhZ3MyKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fZmxhZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9mbGFncyA9IHZhbHVlO1xuICAgICAgICB0aGlzLnN0eWxlUHJvcGVydGllc0NoZWNrKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzdHlsZU5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0eWxlTmFtZTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHN0eWxlTmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fc3R5bGVOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc3R5bGVOYW1lID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc3R5bGVQcm9wZXJ0aWVzQ2hlY2soKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGtleSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fa2V5O1xuICAgIH1cbiAgICBASW5wdXQoJ3ZpLXRoZW1lLXN0eWxlJylcbiAgICBwdWJsaWMgc2V0IGtleSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fa2V5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fa2V5ID0gdmFsdWU7XG4gICAgICAgIGlmICghXy5pc05pbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVQcm9wZXJ0aWVzQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,105 +0,0 @@
1
- import { Directive, ElementRef, Input, RendererStyleFlags2 } from '@angular/core';
2
- import { ThemeService } from '@ts-core/frontend/theme';
3
- import { ThemeStyleDirective } from './ThemeStyleDirective';
4
- export class ThemeStyleHoverDirective extends ThemeStyleDirective {
5
- // --------------------------------------------------------------------------
6
- //
7
- // Constructor
8
- //
9
- // --------------------------------------------------------------------------
10
- constructor(element, theme) {
11
- super(element, theme);
12
- // --------------------------------------------------------------------------
13
- //
14
- // Properties
15
- //
16
- // --------------------------------------------------------------------------
17
- this._isHover = false;
18
- // --------------------------------------------------------------------------
19
- //
20
- // Event Handlers
21
- //
22
- // --------------------------------------------------------------------------
23
- this.mouseEnter = (event) => {
24
- this.isHover = true;
25
- };
26
- this.mouseLeave = (event) => {
27
- this.isHover = false;
28
- };
29
- this.flags = RendererStyleFlags2.Important;
30
- this.element.addEventListener('mouseenter', this.mouseEnter, false);
31
- this.element.addEventListener('mouseleave', this.mouseLeave, false);
32
- }
33
- // --------------------------------------------------------------------------
34
- //
35
- // Protected Methods
36
- //
37
- // --------------------------------------------------------------------------
38
- isNeedStyleAdd() {
39
- return this.isHover && super.isNeedStyleAdd();
40
- }
41
- isNeedStyleRemove() {
42
- return !this.isHover || super.isNeedStyleRemove();
43
- }
44
- // --------------------------------------------------------------------------
45
- //
46
- // Public Methods
47
- //
48
- // --------------------------------------------------------------------------
49
- destroy() {
50
- if (this.isDestroyed) {
51
- return;
52
- }
53
- this.element.removeEventListener('mouseenter', this.mouseEnter, false);
54
- this.element.removeEventListener('mouseleave', this.mouseLeave, false);
55
- super.destroy();
56
- }
57
- // --------------------------------------------------------------------------
58
- //
59
- // Public Properties
60
- //
61
- // --------------------------------------------------------------------------
62
- get isHover() {
63
- return this._isHover;
64
- }
65
- set isHover(value) {
66
- if (value === this._isHover) {
67
- return;
68
- }
69
- this._isHover = value;
70
- this.stylePropertiesCheck();
71
- }
72
- get key() {
73
- return super.key;
74
- }
75
- set key(value) {
76
- super.key = value;
77
- }
78
- get styleName() {
79
- return super.styleName;
80
- }
81
- set styleName(value) {
82
- super.styleName = value;
83
- }
84
- get flags() {
85
- return super.flags;
86
- }
87
- set flags(value) {
88
- super.flags = value;
89
- }
90
- }
91
- ThemeStyleHoverDirective.decorators = [
92
- { type: Directive, args: [{
93
- selector: '[vi-theme-style-hover]'
94
- },] }
95
- ];
96
- ThemeStyleHoverDirective.ctorParameters = () => [
97
- { type: ElementRef },
98
- { type: ThemeService }
99
- ];
100
- ThemeStyleHoverDirective.propDecorators = {
101
- key: [{ type: Input, args: ['vi-theme-style-hover',] }],
102
- styleName: [{ type: Input }],
103
- flags: [{ type: Input }]
104
- };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVTdHlsZUhvdmVyRGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RoZW1lL1RoZW1lU3R5bGVIb3ZlckRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTTVELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxtQkFBbUI7SUFTN0QsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixjQUFjO0lBQ2QsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFZLE9BQW1CLEVBQUUsS0FBbUI7UUFDaEQsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQWYxQiw2RUFBNkU7UUFDN0UsRUFBRTtRQUNGLGFBQWE7UUFDYixFQUFFO1FBQ0YsNkVBQTZFO1FBRW5FLGFBQVEsR0FBWSxLQUFLLENBQUM7UUE4QnBDLDZFQUE2RTtRQUM3RSxFQUFFO1FBQ0YsaUJBQWlCO1FBQ2pCLEVBQUU7UUFDRiw2RUFBNkU7UUFFbkUsZUFBVSxHQUFHLENBQUMsS0FBaUIsRUFBUSxFQUFFO1lBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUMsQ0FBQztRQUVRLGVBQVUsR0FBRyxDQUFDLEtBQWlCLEVBQVEsRUFBRTtZQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUM7UUEvQkUsSUFBSSxDQUFDLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLG9CQUFvQjtJQUNwQixFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLGNBQWM7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRVMsaUJBQWlCO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFnQkQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixpQkFBaUI7SUFDakIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxPQUFPO1FBQ1YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysb0JBQW9CO0lBQ3BCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFXLE9BQU8sQ0FBQyxLQUFjO1FBQzdCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDekIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsR0FBRztRQUNWLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFDVyxHQUFHLENBQUMsS0FBYTtRQUN4QixLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFDVyxTQUFTLENBQUMsS0FBYTtRQUM5QixLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUNXLEtBQUssQ0FBQyxLQUEwQjtRQUN2QyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDOzs7WUE1R0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx3QkFBd0I7YUFDckM7OztZQVBtQixVQUFVO1lBQ3JCLFlBQVk7OztrQkE2RmhCLEtBQUssU0FBQyxzQkFBc0I7d0JBUTVCLEtBQUs7b0JBUUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyU3R5bGVGbGFnczIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL3RoZW1lJztcbmltcG9ydCB7IFRoZW1lU3R5bGVEaXJlY3RpdmUgfSBmcm9tICcuL1RoZW1lU3R5bGVEaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t2aS10aGVtZS1zdHlsZS1ob3Zlcl0nXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lU3R5bGVIb3ZlckRpcmVjdGl2ZSBleHRlbmRzIFRoZW1lU3R5bGVEaXJlY3RpdmUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBfaXNIb3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHRoZW1lOiBUaGVtZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudCwgdGhlbWUpO1xuXG4gICAgICAgIHRoaXMuZmxhZ3MgPSBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudDtcbiAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLm1vdXNlRW50ZXIsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCB0aGlzLm1vdXNlTGVhdmUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGlzTmVlZFN0eWxlQWRkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0hvdmVyICYmIHN1cGVyLmlzTmVlZFN0eWxlQWRkKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzTmVlZFN0eWxlUmVtb3ZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNIb3ZlciB8fCBzdXBlci5pc05lZWRTdHlsZVJlbW92ZSgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0RXZlbnQgSGFuZGxlcnNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgbW91c2VFbnRlciA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmlzSG92ZXIgPSB0cnVlO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgbW91c2VMZWF2ZSA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmlzSG92ZXIgPSBmYWxzZTtcbiAgICB9O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgdGhpcy5tb3VzZUVudGVyLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5tb3VzZUxlYXZlLCBmYWxzZSk7XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBpc0hvdmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNIb3ZlcjtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc0hvdmVyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faXNIb3Zlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzSG92ZXIgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zdHlsZVByb3BlcnRpZXNDaGVjaygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQga2V5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzdXBlci5rZXk7XG4gICAgfVxuICAgIEBJbnB1dCgndmktdGhlbWUtc3R5bGUtaG92ZXInKVxuICAgIHB1YmxpYyBzZXQga2V5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIua2V5ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzdHlsZU5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLnN0eWxlTmFtZTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHN0eWxlTmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyLnN0eWxlTmFtZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmxhZ3MoKTogUmVuZGVyZXJTdHlsZUZsYWdzMiB7XG4gICAgICAgIHJldHVybiBzdXBlci5mbGFncztcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGZsYWdzKHZhbHVlOiBSZW5kZXJlclN0eWxlRmxhZ3MyKSB7XG4gICAgICAgIHN1cGVyLmZsYWdzID0gdmFsdWU7XG4gICAgfVxufVxuIl19
@@ -1,61 +0,0 @@
1
- import { Directive, HostListener } from '@angular/core';
2
- import { Destroyable } from '@ts-core/common';
3
- import { ThemeService } from '@ts-core/frontend/theme';
4
- export class ThemeToggleDirective extends Destroyable {
5
- // --------------------------------------------------------------------------
6
- //
7
- // Constructor
8
- //
9
- // --------------------------------------------------------------------------
10
- constructor(theme) {
11
- super();
12
- this.theme = theme;
13
- }
14
- // --------------------------------------------------------------------------
15
- //
16
- // Event Handlers
17
- //
18
- // --------------------------------------------------------------------------
19
- clickHandler(event) {
20
- let themes = this.theme.themes.collection;
21
- let length = themes.length;
22
- if (length < 2) {
23
- return;
24
- }
25
- let index = 0;
26
- if (this.theme.theme) {
27
- index = themes.indexOf(this.theme.theme);
28
- if (index < length - 1) {
29
- index++;
30
- }
31
- else {
32
- index = 0;
33
- }
34
- }
35
- this.theme.theme = themes[index];
36
- }
37
- // --------------------------------------------------------------------------
38
- //
39
- // Public Methods
40
- //
41
- // --------------------------------------------------------------------------
42
- destroy() {
43
- if (this.isDestroyed) {
44
- return;
45
- }
46
- super.destroy();
47
- this.theme = null;
48
- }
49
- }
50
- ThemeToggleDirective.decorators = [
51
- { type: Directive, args: [{
52
- selector: '[vi-theme-toggle]'
53
- },] }
54
- ];
55
- ThemeToggleDirective.ctorParameters = () => [
56
- { type: ThemeService }
57
- ];
58
- ThemeToggleDirective.propDecorators = {
59
- clickHandler: [{ type: HostListener, args: ['click', ['$event'],] }]
60
- };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVUb2dnbGVEaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGhlbWUvVGhlbWVUb2dnbGVEaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUt2RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsV0FBVztJQUNqRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQW9CLEtBQW1CO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRFEsVUFBSyxHQUFMLEtBQUssQ0FBYztJQUV2QyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixpQkFBaUI7SUFDakIsRUFBRTtJQUNGLDZFQUE2RTtJQUdyRSxZQUFZLENBQUMsS0FBaUI7UUFDbEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQzFDLElBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ1osT0FBTztTQUNWO1FBRUQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUNsQixLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLElBQUksS0FBSyxHQUFHLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3BCLEtBQUssRUFBRSxDQUFDO2FBQ1g7aUJBQU07Z0JBQ0gsS0FBSyxHQUFHLENBQUMsQ0FBQzthQUNiO1NBQ0o7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsaUJBQWlCO0lBQ2pCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixPQUFPO1NBQ1Y7UUFDRCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQzs7O1lBckRKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2FBQ2hDOzs7WUFKUSxZQUFZOzs7MkJBc0JoQixZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IFRoZW1lU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL3RoZW1lJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdmktdGhlbWUtdG9nZ2xlXSdcbn0pXG5leHBvcnQgY2xhc3MgVGhlbWVUb2dnbGVEaXJlY3RpdmUgZXh0ZW5kcyBEZXN0cm95YWJsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGhlbWU6IFRoZW1lU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0RXZlbnQgSGFuZGxlcnNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgcHJpdmF0ZSBjbGlja0hhbmRsZXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgbGV0IHRoZW1lcyA9IHRoaXMudGhlbWUudGhlbWVzLmNvbGxlY3Rpb247XG4gICAgICAgIGxldCBsZW5ndGggPSB0aGVtZXMubGVuZ3RoO1xuICAgICAgICBpZiAobGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGluZGV4ID0gMDtcbiAgICAgICAgaWYgKHRoaXMudGhlbWUudGhlbWUpIHtcbiAgICAgICAgICAgIGluZGV4ID0gdGhlbWVzLmluZGV4T2YodGhpcy50aGVtZS50aGVtZSk7XG4gICAgICAgICAgICBpZiAoaW5kZXggPCBsZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgaW5kZXgrKztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaW5kZXggPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50aGVtZS50aGVtZSA9IHRoZW1lc1tpbmRleF07XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy50aGVtZSA9IG51bGw7XG4gICAgfVxufVxuIl19