@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
@@ -0,0 +1,79 @@
1
+ import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as interact from 'interactjs';
3
+ import { Destroyable } from '@ts-core/common';
4
+ import { ViewUtil } from '../util/ViewUtil';
5
+ import * as _ from 'lodash';
6
+ import * as i0 from "@angular/core";
7
+ export class ResizeDirective extends Destroyable {
8
+ // --------------------------------------------------------------------------
9
+ //
10
+ // Constructor
11
+ //
12
+ // --------------------------------------------------------------------------
13
+ constructor(element) {
14
+ super();
15
+ // --------------------------------------------------------------------------
16
+ //
17
+ // Properties
18
+ //
19
+ // --------------------------------------------------------------------------
20
+ this.resize = new EventEmitter();
21
+ this.isTop = false;
22
+ this.isLeft = false;
23
+ this.isRight = false;
24
+ this.isBottom = false;
25
+ // --------------------------------------------------------------------------
26
+ //
27
+ // Event Handlers
28
+ //
29
+ // --------------------------------------------------------------------------
30
+ this.resizeHandler = (event) => {
31
+ if (event.dx !== 0 || event.dy !== 0) {
32
+ this.resize.emit(event);
33
+ }
34
+ };
35
+ this.interactable = interact.default(ViewUtil.parseElement(element));
36
+ // this.interactable.styleCursor(false);
37
+ let param = {};
38
+ param.top = this.isTop;
39
+ param.left = this.isLeft;
40
+ param.right = this.isRight;
41
+ param.bottom = this.isBottom;
42
+ this.interactable.resizable(param);
43
+ this.interactable.on('resizemove', this.resizeHandler);
44
+ }
45
+ // --------------------------------------------------------------------------
46
+ //
47
+ // Public Methods
48
+ //
49
+ // --------------------------------------------------------------------------
50
+ destroy() {
51
+ if (this.isDestroyed) {
52
+ return;
53
+ }
54
+ super.destroy();
55
+ if (!_.isNil(this.interactable)) {
56
+ this.interactable.unset();
57
+ this.interactable = null;
58
+ }
59
+ }
60
+ }
61
+ ResizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ResizeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
62
+ ResizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: ResizeDirective, selector: "[vi-resize]", inputs: { isTop: "isTop", isLeft: "isLeft", isRight: "isRight", isBottom: "isBottom" }, outputs: { resize: "resize" }, usesInheritance: true, ngImport: i0 });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ResizeDirective, decorators: [{
64
+ type: Directive,
65
+ args: [{
66
+ selector: '[vi-resize]'
67
+ }]
68
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { resize: [{
69
+ type: Output
70
+ }], isTop: [{
71
+ type: Input
72
+ }], isLeft: [{
73
+ type: Input
74
+ }], isRight: [{
75
+ type: Input
76
+ }], isBottom: [{
77
+ type: Input
78
+ }] } });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzaXplRGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZS9SZXNpemVEaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLEtBQUssUUFBUSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQUs1QixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBcUI1Qyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksT0FBbUI7UUFDM0IsS0FBSyxFQUFFLENBQUM7UUEzQlosNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixhQUFhO1FBQ2IsRUFBRTtRQUNGLDZFQUE2RTtRQUd0RSxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHL0MsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUV2QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQXlCakMsNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixrQkFBa0I7UUFDbEIsRUFBRTtRQUNGLDZFQUE2RTtRQUVyRSxrQkFBYSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0I7UUFDTCxDQUFDLENBQUM7UUF0QkUsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNyRSx3Q0FBd0M7UUFFeEMsSUFBSSxLQUFLLEdBQUcsRUFBUyxDQUFDO1FBQ3RCLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN2QixLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDekIsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzNCLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFjRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGlCQUFpQjtJQUNqQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhCLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzVCO0lBQ0wsQ0FBQzs7NEdBdEVRLGVBQWU7Z0dBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUgzQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO2lCQUMxQjtpR0FTVSxNQUFNO3NCQURaLE1BQU07Z0JBSUEsS0FBSztzQkFEWCxLQUFLO2dCQUdDLE1BQU07c0JBRFosS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVyYWN0YWJsZSB9IGZyb20gJ0BpbnRlcmFjdGpzL3R5cGVzJztcbmltcG9ydCAqIGFzIGludGVyYWN0IGZyb20gJ2ludGVyYWN0anMnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdmktcmVzaXplXSdcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXplRGlyZWN0aXZlIGV4dGVuZHMgRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZXNpemU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNUb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc0xlZnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc1JpZ2h0OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNCb3R0b206IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaW50ZXJhY3RhYmxlOiBJbnRlcmFjdGFibGU7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuaW50ZXJhY3RhYmxlID0gaW50ZXJhY3QuZGVmYXVsdChWaWV3VXRpbC5wYXJzZUVsZW1lbnQoZWxlbWVudCkpO1xuICAgICAgICAvLyB0aGlzLmludGVyYWN0YWJsZS5zdHlsZUN1cnNvcihmYWxzZSk7XG5cbiAgICAgICAgbGV0IHBhcmFtID0ge30gYXMgYW55O1xuICAgICAgICBwYXJhbS50b3AgPSB0aGlzLmlzVG9wO1xuICAgICAgICBwYXJhbS5sZWZ0ID0gdGhpcy5pc0xlZnQ7XG4gICAgICAgIHBhcmFtLnJpZ2h0ID0gdGhpcy5pc1JpZ2h0O1xuICAgICAgICBwYXJhbS5ib3R0b20gPSB0aGlzLmlzQm90dG9tO1xuICAgICAgICB0aGlzLmludGVyYWN0YWJsZS5yZXNpemFibGUocGFyYW0pO1xuICAgICAgICB0aGlzLmludGVyYWN0YWJsZS5vbigncmVzaXplbW92ZScsIHRoaXMucmVzaXplSGFuZGxlcik7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBFdmVudCBIYW5kbGVyc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgcmVzaXplSGFuZGxlciA9IChldmVudDogYW55KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5keCAhPT0gMCB8fCBldmVudC5keSAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5yZXNpemUuZW1pdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5pbnRlcmFjdGFibGUpKSB7XG4gICAgICAgICAgICB0aGlzLmludGVyYWN0YWJsZS51bnNldCgpO1xuICAgICAgICAgICAgdGhpcy5pbnRlcmFjdGFibGUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,128 @@
1
+ import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import * as _ from 'lodash';
3
+ import { Destroyable } from '@ts-core/common';
4
+ import { ViewUtil } from '../util/ViewUtil';
5
+ import * as i0 from "@angular/core";
6
+ export class ScrollDirective extends Destroyable {
7
+ // --------------------------------------------------------------------------
8
+ //
9
+ // Constructor
10
+ //
11
+ // --------------------------------------------------------------------------
12
+ constructor(element) {
13
+ super();
14
+ // --------------------------------------------------------------------------
15
+ //
16
+ // Properties
17
+ //
18
+ // --------------------------------------------------------------------------
19
+ this.scrolled = new EventEmitter();
20
+ this.delay = 100;
21
+ this.isInitialized = false;
22
+ this._scrollValue = 0;
23
+ this.scrollChanged = () => {
24
+ this.scrollChangedHandler();
25
+ };
26
+ this.initializeHandler = () => {
27
+ this.initialize();
28
+ };
29
+ this.element = ViewUtil.parseElement(element);
30
+ this.timer = setTimeout(this.initializeHandler, ScrollDirective.INITIALIZATION_DELAY);
31
+ }
32
+ // --------------------------------------------------------------------------
33
+ //
34
+ // Private Methods
35
+ //
36
+ // --------------------------------------------------------------------------
37
+ initialize() {
38
+ if (this.scrollValue) {
39
+ this.scrollTo(this.scrollValue);
40
+ }
41
+ this.isInitialized = true;
42
+ }
43
+ scrollTo(value) {
44
+ this._scrollValue = value;
45
+ this.element.scrollTop = value;
46
+ }
47
+ // --------------------------------------------------------------------------
48
+ //
49
+ // Event Handlers
50
+ //
51
+ // --------------------------------------------------------------------------
52
+ scrollHandler() {
53
+ if (!this.isInitialized) {
54
+ return;
55
+ }
56
+ clearTimeout(this.timer);
57
+ this.timer = setTimeout(this.scrollChanged, this.delay);
58
+ }
59
+ scrollChangedHandler() {
60
+ this._scrollValue = this.scrollTop;
61
+ this.scrolled.next(this._scrollValue);
62
+ }
63
+ // --------------------------------------------------------------------------
64
+ //
65
+ // Private Properties
66
+ //
67
+ // --------------------------------------------------------------------------
68
+ get scrollTop() {
69
+ return this.element.scrollTop;
70
+ }
71
+ // --------------------------------------------------------------------------
72
+ //
73
+ // Public Methods
74
+ //
75
+ // --------------------------------------------------------------------------
76
+ destroy() {
77
+ if (this.isDestroyed) {
78
+ return;
79
+ }
80
+ super.destroy();
81
+ this.element = null;
82
+ this.isInitialized = false;
83
+ clearTimeout(this.timer);
84
+ this.timer = null;
85
+ this._scrollValue = 0;
86
+ }
87
+ // --------------------------------------------------------------------------
88
+ //
89
+ // Public Properties
90
+ //
91
+ // --------------------------------------------------------------------------
92
+ set scrollValue(value) {
93
+ if (value === this._scrollValue || _.isNaN(value)) {
94
+ return;
95
+ }
96
+ this._scrollValue = value;
97
+ if (this.isInitialized) {
98
+ this.scrollTo(value);
99
+ }
100
+ }
101
+ get scrollValue() {
102
+ return this._scrollValue;
103
+ }
104
+ }
105
+ // --------------------------------------------------------------------------
106
+ //
107
+ // Static Properties
108
+ //
109
+ // --------------------------------------------------------------------------
110
+ ScrollDirective.INITIALIZATION_DELAY = 1;
111
+ ScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
112
+ ScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: ScrollDirective, selector: "[vi-scroll]", inputs: { delay: "delay", scrollValue: "scrollValue" }, outputs: { scrolled: "scrolled" }, host: { listeners: { "scroll": "scrollHandler()" } }, usesInheritance: true, ngImport: i0 });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ScrollDirective, decorators: [{
114
+ type: Directive,
115
+ args: [{
116
+ selector: '[vi-scroll]'
117
+ }]
118
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { scrolled: [{
119
+ type: Output
120
+ }], delay: [{
121
+ type: Input
122
+ }], scrollHandler: [{
123
+ type: HostListener,
124
+ args: ['scroll']
125
+ }], scrollValue: [{
126
+ type: Input
127
+ }] } });
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Nyb2xsRGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZS9TY3JvbGxEaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLNUMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsV0FBVztJQTBCNUMsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixjQUFjO0lBQ2QsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFZLE9BQW1CO1FBQzNCLEtBQUssRUFBRSxDQUFDO1FBeEJaLDZFQUE2RTtRQUM3RSxFQUFFO1FBQ0YsYUFBYTtRQUNiLEVBQUU7UUFDRiw2RUFBNkU7UUFHdEUsYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXBELFVBQUssR0FBVyxHQUFHLENBQUM7UUFJakIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBVyxDQUFDLENBQUM7UUErQzNCLGtCQUFhLEdBQUcsR0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2hDLENBQUMsQ0FBQztRQU9RLHNCQUFpQixHQUFHLEdBQVMsRUFBRTtZQUNyQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDO1FBaERFLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsVUFBVTtRQUNoQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGlCQUFpQjtJQUNqQixFQUFFO0lBQ0YsNkVBQTZFO0lBR3JFLGFBQWE7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckIsT0FBTztTQUNWO1FBQ0QsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBTVMsb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQU1ELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFBYyxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsaUJBQWlCO0lBQ2pCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixPQUFPO1NBQ1Y7UUFDRCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFFM0IsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUVsQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixvQkFBb0I7SUFDcEIsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxJQUNXLFdBQVcsQ0FBQyxLQUFhO1FBQ2hDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQyxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7O0FBcklELDZFQUE2RTtBQUM3RSxFQUFFO0FBQ0Ysb0JBQW9CO0FBQ3BCLEVBQUU7QUFDRiw2RUFBNkU7QUFFL0Qsb0NBQW9CLEdBQVcsQ0FBRSxDQUFBOzRHQVB0QyxlQUFlO2dHQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtpQkFDMUI7aUdBaUJVLFFBQVE7c0JBRGQsTUFBTTtnQkFHQSxLQUFLO3NCQURYLEtBQUs7Z0JBOENFLGFBQWE7c0JBRHBCLFlBQVk7dUJBQUMsUUFBUTtnQkE0RFgsV0FBVztzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3ZpLXNjcm9sbF0nXG59KVxuZXhwb3J0IGNsYXNzIFNjcm9sbERpcmVjdGl2ZSBleHRlbmRzIERlc3Ryb3lhYmxlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFN0YXRpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHN0YXRpYyBJTklUSUFMSVpBVElPTl9ERUxBWTogbnVtYmVyID0gMTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzY3JvbGxlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGVsYXk6IG51bWJlciA9IDEwMDtcblxuICAgIHByaXZhdGUgdGltZXI6IGFueTtcbiAgICBwcm90ZWN0ZWQgZWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgcHJvdGVjdGVkIGlzSW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBfc2Nyb2xsVmFsdWU6IG51bWJlciA9IDA7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSBWaWV3VXRpbC5wYXJzZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIHRoaXMudGltZXIgPSBzZXRUaW1lb3V0KHRoaXMuaW5pdGlhbGl6ZUhhbmRsZXIsIFNjcm9sbERpcmVjdGl2ZS5JTklUSUFMSVpBVElPTl9ERUxBWSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQcml2YXRlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2Nyb2xsVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG8odGhpcy5zY3JvbGxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2Nyb2xsVG8odmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zY3JvbGxWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmVsZW1lbnQuc2Nyb2xsVG9wID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRFdmVudCBIYW5kbGVyc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcpXG4gICAgcHJpdmF0ZSBzY3JvbGxIYW5kbGVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcbiAgICAgICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQodGhpcy5zY3JvbGxDaGFuZ2VkLCB0aGlzLmRlbGF5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbENoYW5nZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuc2Nyb2xsQ2hhbmdlZEhhbmRsZXIoKTtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHNjcm9sbENoYW5nZWRIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zY3JvbGxWYWx1ZSA9IHRoaXMuc2Nyb2xsVG9wO1xuICAgICAgICB0aGlzLnNjcm9sbGVkLm5leHQodGhpcy5fc2Nyb2xsVmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplSGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJpdmF0ZSBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGdldCBzY3JvbGxUb3AoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5zY3JvbGxUb3A7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLmVsZW1lbnQgPSBudWxsO1xuICAgICAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XG4gICAgICAgIHRoaXMudGltZXIgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX3Njcm9sbFZhbHVlID0gMDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHNjcm9sbFZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9zY3JvbGxWYWx1ZSB8fCBfLmlzTmFOKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3Njcm9sbFZhbHVlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG8odmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzY3JvbGxWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsVmFsdWU7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,47 @@
1
+ import { Directive, HostListener } from '@angular/core';
2
+ import { Destroyable } from '@ts-core/common';
3
+ import { ViewUtil } from '../util/ViewUtil';
4
+ import * as i0 from "@angular/core";
5
+ export class SelectOnFocusDirective extends Destroyable {
6
+ // --------------------------------------------------------------------------
7
+ //
8
+ // Constructor
9
+ //
10
+ // --------------------------------------------------------------------------
11
+ constructor(element) {
12
+ super();
13
+ this.element = element;
14
+ }
15
+ // --------------------------------------------------------------------------
16
+ //
17
+ // Event Handlers
18
+ //
19
+ // --------------------------------------------------------------------------
20
+ focusHandler() {
21
+ ViewUtil.selectContent(this.element.nativeElement);
22
+ }
23
+ // --------------------------------------------------------------------------
24
+ //
25
+ // Public Methods
26
+ //
27
+ // --------------------------------------------------------------------------
28
+ destroy() {
29
+ if (this.isDestroyed) {
30
+ return;
31
+ }
32
+ super.destroy();
33
+ this.element = null;
34
+ }
35
+ }
36
+ SelectOnFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectOnFocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
37
+ SelectOnFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: SelectOnFocusDirective, selector: "[vi-select-on-focus]", host: { listeners: { "focus": "focusHandler()" } }, usesInheritance: true, ngImport: i0 });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectOnFocusDirective, decorators: [{
39
+ type: Directive,
40
+ args: [{
41
+ selector: '[vi-select-on-focus]'
42
+ }]
43
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { focusHandler: [{
44
+ type: HostListener,
45
+ args: ['focus']
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0T25Gb2N1c0RpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvU2VsZWN0T25Gb2N1c0RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUs1QyxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FBVztJQUNuRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQW9CLE9BQW1CO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRFEsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUV2QyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixpQkFBaUI7SUFDakIsRUFBRTtJQUNGLDZFQUE2RTtJQUdyRSxZQUFZO1FBQ2hCLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixpQkFBaUI7SUFDakIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxPQUFPO1FBQ1YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLE9BQU87U0FDVjtRQUNELEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDOzttSEFsQ1Esc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNuQztpR0FtQlcsWUFBWTtzQkFEbkIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3ZpLXNlbGVjdC1vbi1mb2N1c10nXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE9uRm9jdXNEaXJlY3RpdmUgZXh0ZW5kcyBEZXN0cm95YWJsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0RXZlbnQgSGFuZGxlcnNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgcHJpdmF0ZSBmb2N1c0hhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIFZpZXdVdGlsLnNlbGVjdENvbnRlbnQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IG51bGw7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,69 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { message } from './validate';
3
+ import { ValueAccessor } from './ValueAccessor';
4
+ import * as i0 from "@angular/core";
5
+ export class FormElementSync extends ValueAccessor {
6
+ // --------------------------------------------------------------------------
7
+ //
8
+ // Constructor
9
+ //
10
+ // --------------------------------------------------------------------------
11
+ constructor(validators) {
12
+ super();
13
+ this.validators = validators;
14
+ this.validate = () => {
15
+ if (!this.validators || this.validators.length === 0) {
16
+ this._validationError = null;
17
+ return null;
18
+ }
19
+ let failure = null;
20
+ for (let item of this.validators) {
21
+ failure = typeof item === 'function' ? item(this.model.control) : item.validate(this.model.control);
22
+ if (failure) {
23
+ break;
24
+ }
25
+ }
26
+ this._validationError = failure ? message(failure, Object.keys(failure)[0]) : null;
27
+ return failure;
28
+ };
29
+ this.isErrorState = (control, form) => {
30
+ return this.invalid;
31
+ };
32
+ }
33
+ // --------------------------------------------------------------------------
34
+ //
35
+ // Protected Methods
36
+ //
37
+ // --------------------------------------------------------------------------
38
+ valueChanged() {
39
+ super.valueChanged();
40
+ setTimeout(this.validate);
41
+ }
42
+ get valid() {
43
+ return !this.invalid;
44
+ }
45
+ get invalid() {
46
+ return this._validationError != null;
47
+ }
48
+ get validationError() {
49
+ return this._validationError;
50
+ }
51
+ // --------------------------------------------------------------------------
52
+ //
53
+ // Public Methods
54
+ //
55
+ // --------------------------------------------------------------------------
56
+ ngAfterContentInit() {
57
+ this.validate();
58
+ }
59
+ ngOnDestroy() {
60
+ clearTimeout(this.timer);
61
+ this.timer = null;
62
+ }
63
+ }
64
+ FormElementSync.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormElementSync, deps: [{ token: Array }], target: i0.ɵɵFactoryTarget.Injectable });
65
+ FormElementSync.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormElementSync });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormElementSync, decorators: [{
67
+ type: Injectable
68
+ }], ctorParameters: function () { return [{ type: Array }]; } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybUVsZW1lbnRTeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zvcm0vRm9ybUVsZW1lbnRTeW5jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxPQUFPLEVBQW9CLE1BQU0sWUFBWSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHaEQsTUFBTSxPQUFnQixlQUFtQixTQUFRLGFBQWdCO0lBVzdELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBb0IsVUFBMEM7UUFDMUQsS0FBSyxFQUFFLENBQUM7UUFEUSxlQUFVLEdBQVYsVUFBVSxDQUFnQztRQWVwRCxhQUFRLEdBQUcsR0FBcUIsRUFBRTtZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7Z0JBQzdCLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFFRCxJQUFJLE9BQU8sR0FBcUIsSUFBSSxDQUFDO1lBQ3JDLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDOUIsT0FBTyxHQUFHLE9BQU8sSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDcEcsSUFBSSxPQUFPLEVBQUU7b0JBQ1QsTUFBTTtpQkFDVDthQUNKO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuRixPQUFPLE9BQU8sQ0FBQztRQUNuQixDQUFDLENBQUM7UUFjUSxpQkFBWSxHQUFHLENBQUMsT0FBMkIsRUFBRSxJQUF3QyxFQUFXLEVBQUU7WUFDeEcsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUMsQ0FBQztJQTVDRixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxZQUFZO1FBQ2xCLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQixVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFtQkQsSUFBVyxLQUFLO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFNRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLGtCQUFrQjtRQUNyQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLFdBQVc7UUFDZCxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7OzRHQTlFaUIsZUFBZSxrQkFpQkQsS0FBSztnSEFqQm5CLGVBQWU7MkZBQWYsZUFBZTtrQkFEcEMsVUFBVTswREFrQnlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nRm9ybSwgTmdNb2RlbCwgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1lc3NhZ2UsIFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICcuL3ZhbGlkYXRlJztcbmltcG9ydCB7IFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL1ZhbHVlQWNjZXNzb3InO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9ybUVsZW1lbnRTeW5jPFQ+IGV4dGVuZHMgVmFsdWVBY2Nlc3NvcjxUPiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IG1vZGVsOiBOZ01vZGVsO1xuICAgIHByb3RlY3RlZCBfdmFsaWRhdGlvbkVycm9yOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIHRpbWVyOiBhbnk7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2YWxpZGF0b3JzOiBBcnJheTxWYWxpZGF0b3IgfCBWYWxpZGF0b3JGbj4pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIudmFsdWVDaGFuZ2VkKCk7XG4gICAgICAgIHNldFRpbWVvdXQodGhpcy52YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlID0gKCk6IFZhbGlkYXRpb25SZXN1bHQgPT4ge1xuICAgICAgICBpZiAoIXRoaXMudmFsaWRhdG9ycyB8fCB0aGlzLnZhbGlkYXRvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLl92YWxpZGF0aW9uRXJyb3IgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZmFpbHVyZTogVmFsaWRhdGlvblJlc3VsdCA9IG51bGw7XG4gICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy52YWxpZGF0b3JzKSB7XG4gICAgICAgICAgICBmYWlsdXJlID0gdHlwZW9mIGl0ZW0gPT09ICdmdW5jdGlvbicgPyBpdGVtKHRoaXMubW9kZWwuY29udHJvbCkgOiBpdGVtLnZhbGlkYXRlKHRoaXMubW9kZWwuY29udHJvbCk7XG4gICAgICAgICAgICBpZiAoZmFpbHVyZSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25FcnJvciA9IGZhaWx1cmUgPyBtZXNzYWdlKGZhaWx1cmUsIE9iamVjdC5rZXlzKGZhaWx1cmUpWzBdKSA6IG51bGw7XG4gICAgICAgIHJldHVybiBmYWlsdXJlO1xuICAgIH07XG5cbiAgICBwdWJsaWMgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW52YWxpZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWxpZGF0aW9uRXJyb3IgIT0gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25FcnJvcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGlvbkVycm9yO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpc0Vycm9yU3RhdGUgPSAoY29udHJvbDogRm9ybUNvbnRyb2wgfCBudWxsLCBmb3JtOiBGb3JtR3JvdXBEaXJlY3RpdmUgfCBOZ0Zvcm0gfCBudWxsKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludmFsaWQ7XG4gICAgfTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XG4gICAgICAgIHRoaXMudGltZXIgPSBudWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { Validators } from '@angular/forms';
2
+ import * as _ from 'lodash';
3
+ import { of } from 'rxjs';
4
+ let normalizeValidator = (validator) => {
5
+ let func = validator.validate.bind(validator);
6
+ if (typeof func === 'function') {
7
+ return (control) => func(control);
8
+ }
9
+ else {
10
+ return validator;
11
+ }
12
+ };
13
+ export let composeValidators = (validators) => {
14
+ if (_.isEmpty(validators)) {
15
+ return null;
16
+ }
17
+ return Validators.compose(validators.map(normalizeValidator));
18
+ };
19
+ export let validate = (validators, asyncValidators) => {
20
+ return (control) => {
21
+ let synchronousValid = () => composeValidators(validators)(control);
22
+ if (asyncValidators) {
23
+ let asyncValidator = composeValidators(asyncValidators);
24
+ return asyncValidator(control).map(v => {
25
+ let secondary = synchronousValid();
26
+ if (secondary || v) {
27
+ return Object.assign({}, secondary, v);
28
+ }
29
+ });
30
+ }
31
+ if (validators) {
32
+ return of(synchronousValid());
33
+ }
34
+ return of(null);
35
+ };
36
+ };
37
+ export const message = (validator, key) => {
38
+ if (!key) {
39
+ return 'Validation failed: ' + validator.toString();
40
+ }
41
+ switch (key) {
42
+ case 'required':
43
+ return 'Please enter a value';
44
+ case 'pattern':
45
+ return 'Value does not match required pattern';
46
+ case 'minlength':
47
+ return 'Value must be N characters';
48
+ case 'maxlength':
49
+ return 'Value must be a maximum of N characters';
50
+ }
51
+ let value = validator[key];
52
+ switch (typeof value) {
53
+ case 'string':
54
+ return value;
55
+ default:
56
+ return 'Validation failed: ' + key;
57
+ }
58
+ };
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZm9ybS92YWxpZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTZELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZHLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFZMUIsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLFNBQWtDLEVBQWtDLEVBQUU7SUFDNUYsSUFBSSxJQUFJLEdBQUksU0FBdUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdELElBQUksT0FBTyxJQUFJLEtBQUssVUFBVSxFQUFFO1FBQzVCLE9BQU8sQ0FBQyxPQUF3QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDdEQ7U0FBTTtRQUNILE9BQXVDLFNBQVMsQ0FBQztLQUNwRDtBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFJLGlCQUFpQixHQUFHLENBQUMsVUFBMEIsRUFBa0MsRUFBRTtJQUMxRixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDdkIsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUNELE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxVQUEwQixFQUFFLGVBQW9DLEVBQUUsRUFBRTtJQUN2RixPQUFPLENBQUMsT0FBd0IsRUFBRSxFQUFFO1FBQ2hDLElBQUksZ0JBQWdCLEdBQUcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsSUFBSSxlQUFlLEVBQUU7WUFDakIsSUFBSSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDeEQsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLFNBQVMsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNuQyxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUU7b0JBQ2hCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUMxQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLFVBQVUsRUFBRTtZQUNaLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztTQUNqQztRQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQTJCLEVBQUUsR0FBVyxFQUFVLEVBQUU7SUFDeEUsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNOLE9BQU8scUJBQXFCLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3ZEO0lBRUQsUUFBUSxHQUFHLEVBQUU7UUFDVCxLQUFLLFVBQVU7WUFDWCxPQUFPLHNCQUFzQixDQUFDO1FBQ2xDLEtBQUssU0FBUztZQUNWLE9BQU8sdUNBQXVDLENBQUM7UUFDbkQsS0FBSyxXQUFXO1lBQ1osT0FBTyw0QkFBNEIsQ0FBQztRQUN4QyxLQUFLLFdBQVc7WUFDWixPQUFPLHlDQUF5QyxDQUFDO0tBQ3hEO0lBRUQsSUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLFFBQVEsT0FBTyxLQUFLLEVBQUU7UUFDbEIsS0FBSyxRQUFRO1lBQ1QsT0FBTyxLQUFlLENBQUM7UUFDM0I7WUFDSSxPQUFPLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztLQUMxQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQXN5bmNWYWxpZGF0b3JGbiwgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIEV4cG9ydCBQcm9wZXJ0aWVzXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZXhwb3J0IHR5cGUgVmFsaWRhdGlvblJlc3VsdCA9IHsgW3ZhbGlkYXRvcjogc3RyaW5nXTogc3RyaW5nIHwgYm9vbGVhbiB9O1xuZXhwb3J0IHR5cGUgVmFsaWRhdG9yQXJyYXkgPSBBcnJheTxWYWxpZGF0b3IgfCBWYWxpZGF0b3JGbj47XG5leHBvcnQgdHlwZSBBc3luY1ZhbGlkYXRvckFycmF5ID0gQXJyYXk8VmFsaWRhdG9yIHwgQXN5bmNWYWxpZGF0b3JGbj47XG5cbmxldCBub3JtYWxpemVWYWxpZGF0b3IgPSAodmFsaWRhdG9yOiBWYWxpZGF0b3IgfCBWYWxpZGF0b3JGbik6IFZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbiA9PiB7XG4gICAgbGV0IGZ1bmMgPSAodmFsaWRhdG9yIGFzIFZhbGlkYXRvcikudmFsaWRhdGUuYmluZCh2YWxpZGF0b3IpO1xuICAgIGlmICh0eXBlb2YgZnVuYyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gZnVuYyhjb250cm9sKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gPFZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbj52YWxpZGF0b3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGxldCBjb21wb3NlVmFsaWRhdG9ycyA9ICh2YWxpZGF0b3JzOiBWYWxpZGF0b3JBcnJheSk6IEFzeW5jVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbiA9PiB7XG4gICAgaWYgKF8uaXNFbXB0eSh2YWxpZGF0b3JzKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIFZhbGlkYXRvcnMuY29tcG9zZSh2YWxpZGF0b3JzLm1hcChub3JtYWxpemVWYWxpZGF0b3IpKTtcbn07XG5cbmV4cG9ydCBsZXQgdmFsaWRhdGUgPSAodmFsaWRhdG9yczogVmFsaWRhdG9yQXJyYXksIGFzeW5jVmFsaWRhdG9yczogQXN5bmNWYWxpZGF0b3JBcnJheSkgPT4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgICAgIGxldCBzeW5jaHJvbm91c1ZhbGlkID0gKCkgPT4gY29tcG9zZVZhbGlkYXRvcnModmFsaWRhdG9ycykoY29udHJvbCk7XG4gICAgICAgIGlmIChhc3luY1ZhbGlkYXRvcnMpIHtcbiAgICAgICAgICAgIGxldCBhc3luY1ZhbGlkYXRvciA9IGNvbXBvc2VWYWxpZGF0b3JzKGFzeW5jVmFsaWRhdG9ycyk7XG4gICAgICAgICAgICByZXR1cm4gYXN5bmNWYWxpZGF0b3IoY29udHJvbCkubWFwKHYgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBzZWNvbmRhcnkgPSBzeW5jaHJvbm91c1ZhbGlkKCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlY29uZGFyeSB8fCB2KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzZWNvbmRhcnksIHYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWxpZGF0b3JzKSB7XG4gICAgICAgICAgICByZXR1cm4gb2Yoc3luY2hyb25vdXNWYWxpZCgpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXNzYWdlID0gKHZhbGlkYXRvcjogVmFsaWRhdGlvblJlc3VsdCwga2V5OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGlmICgha2V5KSB7XG4gICAgICAgIHJldHVybiAnVmFsaWRhdGlvbiBmYWlsZWQ6ICcgKyB2YWxpZGF0b3IudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICBjYXNlICdyZXF1aXJlZCc6XG4gICAgICAgICAgICByZXR1cm4gJ1BsZWFzZSBlbnRlciBhIHZhbHVlJztcbiAgICAgICAgY2FzZSAncGF0dGVybic6XG4gICAgICAgICAgICByZXR1cm4gJ1ZhbHVlIGRvZXMgbm90IG1hdGNoIHJlcXVpcmVkIHBhdHRlcm4nO1xuICAgICAgICBjYXNlICdtaW5sZW5ndGgnOlxuICAgICAgICAgICAgcmV0dXJuICdWYWx1ZSBtdXN0IGJlIE4gY2hhcmFjdGVycyc7XG4gICAgICAgIGNhc2UgJ21heGxlbmd0aCc6XG4gICAgICAgICAgICByZXR1cm4gJ1ZhbHVlIG11c3QgYmUgYSBtYXhpbXVtIG9mIE4gY2hhcmFjdGVycyc7XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlID0gdmFsaWRhdG9yW2tleV07XG4gICAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSBhcyBzdHJpbmc7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gJ1ZhbGlkYXRpb24gZmFpbGVkOiAnICsga2V5O1xuICAgIH1cbn07XG4iXX0=
@@ -0,0 +1,92 @@
1
+ import { Directive, 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
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@ts-core/frontend/language";
8
+ export class LanguageDirective extends Destroyable {
9
+ // --------------------------------------------------------------------------
10
+ //
11
+ // Constructor
12
+ //
13
+ // --------------------------------------------------------------------------
14
+ constructor(element, language) {
15
+ super();
16
+ this.element = element;
17
+ this.language = language;
18
+ language.completed.pipe(takeUntil(this.destroyed)).subscribe(() => this.translate);
19
+ }
20
+ // --------------------------------------------------------------------------
21
+ //
22
+ // Protected Methods
23
+ //
24
+ // --------------------------------------------------------------------------
25
+ translate() {
26
+ if (_.isNil(this.key)) {
27
+ return;
28
+ }
29
+ let value = this.language.translate(this.key, this.params);
30
+ ViewUtil.setProperty(this.element, 'innerHTML', value);
31
+ if (this.isNeedTitle) {
32
+ ViewUtil.setProperty(this.element, 'title', value);
33
+ }
34
+ }
35
+ // --------------------------------------------------------------------------
36
+ //
37
+ // Public Methods
38
+ //
39
+ // --------------------------------------------------------------------------
40
+ destroy() {
41
+ if (this.isDestroyed) {
42
+ return;
43
+ }
44
+ super.destroy();
45
+ this.language = null;
46
+ this._key = null;
47
+ this._params = null;
48
+ }
49
+ // --------------------------------------------------------------------------
50
+ //
51
+ // Public Properties
52
+ //
53
+ // --------------------------------------------------------------------------
54
+ set key(value) {
55
+ if (value === this._key) {
56
+ return;
57
+ }
58
+ this._key = value;
59
+ if (!_.isNil(value)) {
60
+ this.translate();
61
+ }
62
+ }
63
+ get key() {
64
+ return this._key;
65
+ }
66
+ set params(value) {
67
+ if (value === this._params) {
68
+ return;
69
+ }
70
+ this._params = value;
71
+ this.translate();
72
+ }
73
+ get params() {
74
+ return this._params;
75
+ }
76
+ }
77
+ LanguageDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LanguageDirective, deps: [{ token: i0.ElementRef }, { token: i1.LanguageService }], target: i0.ɵɵFactoryTarget.Directive });
78
+ LanguageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: LanguageDirective, selector: "[vi-translate]", inputs: { isNeedTitle: "isNeedTitle", key: ["vi-translate", "key"], params: "params" }, usesInheritance: true, ngImport: i0 });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LanguageDirective, decorators: [{
80
+ type: Directive,
81
+ args: [{
82
+ selector: '[vi-translate]'
83
+ }]
84
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.LanguageService }]; }, propDecorators: { isNeedTitle: [{
85
+ type: Input
86
+ }], key: [{
87
+ type: Input,
88
+ args: ['vi-translate']
89
+ }], params: [{
90
+ type: Input
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGFuZ3VhZ2VEaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFuZ3VhZ2UvTGFuZ3VhZ2VEaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUs1QyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBVztJQWE5Qyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQXNCLE9BQW1CLEVBQVksUUFBeUI7UUFDMUUsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFFMUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysb0JBQW9CO0lBQ3BCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsU0FBUztRQUNmLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBRUQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN0RDtJQUNMLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGlCQUFpQjtJQUNqQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBRUQsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXJCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLG9CQUFvQjtJQUNwQixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLElBQ1csR0FBRyxDQUFDLEtBQWE7UUFDeEIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTtZQUNyQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7SUFDTCxDQUFDO0lBQ0QsSUFBVyxHQUFHO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUNXLE1BQU0sQ0FBQyxLQUFVO1FBQ3hCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDeEIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7OEdBMUZRLGlCQUFpQjtrR0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtpQkFDN0I7K0hBU1UsV0FBVztzQkFEakIsS0FBSztnQkE0REssR0FBRztzQkFEYixLQUFLO3VCQUFDLGNBQWM7Z0JBZVYsTUFBTTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL2xhbmd1YWdlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3ZpLXRyYW5zbGF0ZV0nXG59KVxuZXhwb3J0IGNsYXNzIExhbmd1YWdlRGlyZWN0aXZlIGV4dGVuZHMgRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzTmVlZFRpdGxlOiBib29sZWFuO1xuXG4gICAgcHJvdGVjdGVkIF9rZXk6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3BhcmFtczogYW55O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlbGVtZW50OiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgbGFuZ3VhZ2U6IExhbmd1YWdlU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBsYW5ndWFnZS5jb21wbGV0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50cmFuc2xhdGUpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAoXy5pc05pbCh0aGlzLmtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCB2YWx1ZSA9IHRoaXMubGFuZ3VhZ2UudHJhbnNsYXRlKHRoaXMua2V5LCB0aGlzLnBhcmFtcyk7XG4gICAgICAgIFZpZXdVdGlsLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudCwgJ2lubmVySFRNTCcsIHZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuaXNOZWVkVGl0bGUpIHtcbiAgICAgICAgICAgIFZpZXdVdGlsLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudCwgJ3RpdGxlJywgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbnVsbDtcblxuICAgICAgICB0aGlzLl9rZXkgPSBudWxsO1xuICAgICAgICB0aGlzLl9wYXJhbXMgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBASW5wdXQoJ3ZpLXRyYW5zbGF0ZScpXG4gICAgcHVibGljIHNldCBrZXkodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2tleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2tleSA9IHZhbHVlO1xuICAgICAgICBpZiAoIV8uaXNOaWwodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHB1YmxpYyBnZXQga2V5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9rZXk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHBhcmFtcyh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fcGFyYW1zKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcGFyYW1zID0gdmFsdWU7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcGFyYW1zKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJhbXM7XG4gICAgfVxufVxuIl19