@gipisistemas/ng-core 1.0.68 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (782) hide show
  1. package/README.md +38 -0
  2. package/_ITSS-NG-CI-CD.yml +53 -0
  3. package/_ITSS-NG-CI-PR.yml +53 -0
  4. package/angular-cli.json +42 -0
  5. package/azure-pipelines.yml +35 -0
  6. package/package.json +83 -31
  7. package/projects/itss-ng/ng-package.json +7 -0
  8. package/projects/itss-ng/package.json +25 -0
  9. package/assets/styles/colors.scss +0 -261
  10. package/assets/styles/layout-grid.scss +0 -146
  11. package/assets/styles/styles.scss +0 -149
  12. package/assets/styles/theme.scss +0 -22
  13. package/assets/styles/typography.scss +0 -54
  14. package/assets/styles/variable.scss +0 -41
  15. package/bundles/gipisistemas-ng-core.umd.js +0 -28311
  16. package/bundles/gipisistemas-ng-core.umd.js.map +0 -1
  17. package/bundles/gipisistemas-ng-core.umd.min.js +0 -66
  18. package/bundles/gipisistemas-ng-core.umd.min.js.map +0 -1
  19. package/core/app-messages.d.ts +0 -9
  20. package/core/app.messages.d.ts +0 -4
  21. package/core/components/abstract-crud.component.d.ts +0 -27
  22. package/core/components/abstract-find.component.d.ts +0 -43
  23. package/core/components/abstract.component.d.ts +0 -23
  24. package/core/components/alert/alert.component.d.ts +0 -7
  25. package/core/core.module.d.ts +0 -17
  26. package/core/custom-breakpoints.d.ts +0 -7
  27. package/core/enums/local-time.enum.d.ts +0 -5
  28. package/core/extensions/string.extension.d.ts +0 -3
  29. package/core/gipi-components/components/abstract-crud.component.d.ts +0 -25
  30. package/core/gipi-components/components/abstract-find.component.d.ts +0 -73
  31. package/core/gipi-components/components/abstract.component.d.ts +0 -38
  32. package/core/gipi-components/decorators/autowired.decorator.d.ts +0 -7
  33. package/core/gipi-components/enums/sort-direction.enum.d.ts +0 -5
  34. package/core/gipi-components/interface/abstract-crud.interface.d.ts +0 -5
  35. package/core/gipi-components/interface/abstract-find.interface.d.ts +0 -12
  36. package/core/gipi-components/interface/abstract.interface.d.ts +0 -11
  37. package/core/gipi-components/interface/base-permission.interface.d.ts +0 -9
  38. package/core/gipi-components/models/abstract-filter.model.d.ts +0 -9
  39. package/core/gipi-components/models/abstract.model.d.ts +0 -7
  40. package/core/gipi-components/models/applied-filter.model.d.ts +0 -9
  41. package/core/gipi-components/models/dto/abstract.dto.d.ts +0 -7
  42. package/core/gipi-components/models/page-event.model.d.ts +0 -18
  43. package/core/gipi-components/models/page.model.d.ts +0 -7
  44. package/core/gipi-components/models/sort.model.d.ts +0 -6
  45. package/core/gipi-components/services/abstract-crud.service.d.ts +0 -83
  46. package/core/gipi-components/services/abstract.service.d.ts +0 -19
  47. package/core/gipi-components/services/base.service.d.ts +0 -35
  48. package/core/gipi-components/services/file.service.d.ts +0 -6
  49. package/core/gipi-components/services/session-storage.service.d.ts +0 -8
  50. package/core/gipi-components/types/generic.type.d.ts +0 -1
  51. package/core/gipi-components/types/uuid.type.d.ts +0 -1
  52. package/core/guards/auth.guard.d.ts +0 -11
  53. package/core/guards/permission.guard.d.ts +0 -14
  54. package/core/guards/public.guard.d.ts +0 -11
  55. package/core/interceptors/auth.interceptor.d.ts +0 -9
  56. package/core/interceptors/error.interceptor.d.ts +0 -11
  57. package/core/models/abstract.model.d.ts +0 -3
  58. package/core/models/archive.model.d.ts +0 -4
  59. package/core/models/authority.model.d.ts +0 -3
  60. package/core/models/base-user.model.d.ts +0 -12
  61. package/core/models/dto/abstract.dto.d.ts +0 -2
  62. package/core/models/dto/api-error.dto.d.ts +0 -9
  63. package/core/models/dto/api-sub-error.dto.d.ts +0 -7
  64. package/core/models/dto/chart.dto.d.ts +0 -5
  65. package/core/models/dto/confirmation.dto.d.ts +0 -10
  66. package/core/models/dto/dialog.dto.d.ts +0 -36
  67. package/core/models/dto/filter.dto.d.ts +0 -8
  68. package/core/models/dto/input-listbox.dto.d.ts +0 -6
  69. package/core/models/dto/menu.dto.d.ts +0 -15
  70. package/core/models/dto/message.dto.d.ts +0 -7
  71. package/core/models/dto/page.dto.d.ts +0 -8
  72. package/core/models/dto/sort.dto.d.ts +0 -7
  73. package/core/models/dto/tab.dto.d.ts +0 -12
  74. package/core/models/dto/table-column.dto.d.ts +0 -21
  75. package/core/models/dto/table-group-header.dto.d.ts +0 -7
  76. package/core/models/dto/table-page-event.dto.d.ts +0 -6
  77. package/core/models/dto/token.dto.d.ts +0 -8
  78. package/core/models/enums/criteria-operation.enum.d.ts +0 -13
  79. package/core/models/enums/criteria-sort-direction.enum.d.ts +0 -4
  80. package/core/models/enums/menu-type.enum.d.ts +0 -6
  81. package/core/models/enums/radio-button.enum.d.ts +0 -6
  82. package/core/models/enums/sort-direction.enum.d.ts +0 -4
  83. package/core/models/multitenant.model.d.ts +0 -4
  84. package/core/models/permission.model.d.ts +0 -8
  85. package/core/models/role.model.d.ts +0 -7
  86. package/core/pipes/local-time.pipe.d.ts +0 -6
  87. package/core/services/abstract-crud.service.d.ts +0 -15
  88. package/core/services/abstract-find.service.d.ts +0 -30
  89. package/core/services/abstract.service.d.ts +0 -13
  90. package/core/services/authentication.service.d.ts +0 -23
  91. package/core/services/breakpoint-observer.service.d.ts +0 -9
  92. package/core/services/confirmation.service.d.ts +0 -8
  93. package/core/services/dialog.service.d.ts +0 -8
  94. package/core/services/message.service.d.ts +0 -8
  95. package/core/services/nav.service.d.ts +0 -16
  96. package/core/services/svg-register.service.d.ts +0 -22
  97. package/core/types/local-time.type.d.ts +0 -5
  98. package/core/types/ng-class.type.d.ts +0 -10
  99. package/core/utils/array.util.d.ts +0 -14
  100. package/core/utils/browser.util.d.ts +0 -4
  101. package/core/utils/currency.util.d.ts +0 -6
  102. package/core/utils/date.util.d.ts +0 -39
  103. package/core/utils/document.util.d.ts +0 -11
  104. package/core/utils/email.util.d.ts +0 -4
  105. package/core/utils/number.util.d.ts +0 -8
  106. package/core/utils/object.util.d.ts +0 -20
  107. package/core/utils/password.util.d.ts +0 -11
  108. package/core/utils/phone.util.d.ts +0 -13
  109. package/core/utils/string.util.d.ts +0 -9
  110. package/core/utils/table-column-builder.d.ts +0 -40
  111. package/core/utils/time.util.d.ts +0 -9
  112. package/core/utils/url-params.util.d.ts +0 -7
  113. package/core/utils/uuid.util.d.ts +0 -5
  114. package/core/utils/zindex.util.d.ts +0 -7
  115. package/core.d.ts +0 -88
  116. package/esm2015/core/app-messages.js +0 -1
  117. package/esm2015/core/app.messages.js +0 -12
  118. package/esm2015/core/components/abstract-crud.component.js +0 -97
  119. package/esm2015/core/components/abstract-find.component.js +0 -189
  120. package/esm2015/core/components/abstract.component.js +0 -110
  121. package/esm2015/core/components/alert/alert.component.js +0 -24
  122. package/esm2015/core/core.module.js +0 -103
  123. package/esm2015/core/custom-breakpoints.js +0 -87
  124. package/esm2015/core/enums/local-time.enum.js +0 -6
  125. package/esm2015/core/extensions/string.extension.js +0 -37
  126. package/esm2015/core/gipi-components/components/abstract-crud.component.js +0 -110
  127. package/esm2015/core/gipi-components/components/abstract-find.component.js +0 -471
  128. package/esm2015/core/gipi-components/components/abstract.component.js +0 -140
  129. package/esm2015/core/gipi-components/decorators/autowired.decorator.js +0 -47
  130. package/esm2015/core/gipi-components/enums/sort-direction.enum.js +0 -6
  131. package/esm2015/core/gipi-components/interface/abstract-crud.interface.js +0 -1
  132. package/esm2015/core/gipi-components/interface/abstract-find.interface.js +0 -1
  133. package/esm2015/core/gipi-components/interface/abstract.interface.js +0 -1
  134. package/esm2015/core/gipi-components/interface/base-permission.interface.js +0 -1
  135. package/esm2015/core/gipi-components/models/abstract-filter.model.js +0 -3
  136. package/esm2015/core/gipi-components/models/abstract.model.js +0 -3
  137. package/esm2015/core/gipi-components/models/applied-filter.model.js +0 -19
  138. package/esm2015/core/gipi-components/models/dto/abstract.dto.js +0 -3
  139. package/esm2015/core/gipi-components/models/page-event.model.js +0 -35
  140. package/esm2015/core/gipi-components/models/page.model.js +0 -7
  141. package/esm2015/core/gipi-components/models/sort.model.js +0 -7
  142. package/esm2015/core/gipi-components/services/abstract-crud.service.js +0 -109
  143. package/esm2015/core/gipi-components/services/abstract.service.js +0 -47
  144. package/esm2015/core/gipi-components/services/base.service.js +0 -102
  145. package/esm2015/core/gipi-components/services/file.service.js +0 -51
  146. package/esm2015/core/gipi-components/services/session-storage.service.js +0 -44
  147. package/esm2015/core/gipi-components/types/generic.type.js +0 -1
  148. package/esm2015/core/gipi-components/types/uuid.type.js +0 -1
  149. package/esm2015/core/guards/auth.guard.js +0 -48
  150. package/esm2015/core/guards/permission.guard.js +0 -61
  151. package/esm2015/core/guards/public.guard.js +0 -45
  152. package/esm2015/core/interceptors/auth.interceptor.js +0 -28
  153. package/esm2015/core/interceptors/error.interceptor.js +0 -110
  154. package/esm2015/core/models/abstract.model.js +0 -3
  155. package/esm2015/core/models/archive.model.js +0 -3
  156. package/esm2015/core/models/authority.model.js +0 -3
  157. package/esm2015/core/models/base-user.model.js +0 -8
  158. package/esm2015/core/models/dto/abstract.dto.js +0 -3
  159. package/esm2015/core/models/dto/api-error.dto.js +0 -8
  160. package/esm2015/core/models/dto/api-sub-error.dto.js +0 -4
  161. package/esm2015/core/models/dto/chart.dto.js +0 -4
  162. package/esm2015/core/models/dto/confirmation.dto.js +0 -8
  163. package/esm2015/core/models/dto/dialog.dto.js +0 -4
  164. package/esm2015/core/models/dto/filter.dto.js +0 -4
  165. package/esm2015/core/models/dto/input-listbox.dto.js +0 -7
  166. package/esm2015/core/models/dto/menu.dto.js +0 -9
  167. package/esm2015/core/models/dto/message.dto.js +0 -4
  168. package/esm2015/core/models/dto/page.dto.js +0 -9
  169. package/esm2015/core/models/dto/sort.dto.js +0 -9
  170. package/esm2015/core/models/dto/tab.dto.js +0 -10
  171. package/esm2015/core/models/dto/table-column.dto.js +0 -24
  172. package/esm2015/core/models/dto/table-group-header.dto.js +0 -10
  173. package/esm2015/core/models/dto/table-page-event.dto.js +0 -7
  174. package/esm2015/core/models/dto/token.dto.js +0 -4
  175. package/esm2015/core/models/enums/criteria-operation.enum.js +0 -15
  176. package/esm2015/core/models/enums/criteria-sort-direction.enum.js +0 -6
  177. package/esm2015/core/models/enums/menu-type.enum.js +0 -7
  178. package/esm2015/core/models/enums/radio-button.enum.js +0 -8
  179. package/esm2015/core/models/enums/sort-direction.enum.js +0 -6
  180. package/esm2015/core/models/multitenant.model.js +0 -4
  181. package/esm2015/core/models/permission.model.js +0 -11
  182. package/esm2015/core/models/role.model.js +0 -8
  183. package/esm2015/core/pipes/local-time.pipe.js +0 -21
  184. package/esm2015/core/services/abstract-crud.service.js +0 -24
  185. package/esm2015/core/services/abstract-find.service.js +0 -65
  186. package/esm2015/core/services/abstract.service.js +0 -30
  187. package/esm2015/core/services/authentication.service.js +0 -100
  188. package/esm2015/core/services/breakpoint-observer.service.js +0 -42
  189. package/esm2015/core/services/confirmation.service.js +0 -55
  190. package/esm2015/core/services/dialog.service.js +0 -41
  191. package/esm2015/core/services/message.service.js +0 -33
  192. package/esm2015/core/services/nav.service.js +0 -48
  193. package/esm2015/core/services/svg-register.service.js +0 -55
  194. package/esm2015/core/types/local-time.type.js +0 -1
  195. package/esm2015/core/types/ng-class.type.js +0 -1
  196. package/esm2015/core/utils/array.util.js +0 -110
  197. package/esm2015/core/utils/browser.util.js +0 -13
  198. package/esm2015/core/utils/currency.util.js +0 -21
  199. package/esm2015/core/utils/date.util.js +0 -257
  200. package/esm2015/core/utils/document.util.js +0 -153
  201. package/esm2015/core/utils/email.util.js +0 -25
  202. package/esm2015/core/utils/number.util.js +0 -28
  203. package/esm2015/core/utils/object.util.js +0 -199
  204. package/esm2015/core/utils/password.util.js +0 -38
  205. package/esm2015/core/utils/phone.util.js +0 -125
  206. package/esm2015/core/utils/string.util.js +0 -40
  207. package/esm2015/core/utils/table-column-builder.js +0 -85
  208. package/esm2015/core/utils/time.util.js +0 -59
  209. package/esm2015/core/utils/url-params.util.js +0 -12
  210. package/esm2015/core/utils/uuid.util.js +0 -17
  211. package/esm2015/core/utils/zindex.util.js +0 -35
  212. package/esm2015/core.js +0 -89
  213. package/esm2015/gipi-components.js +0 -105
  214. package/esm2015/gipisistemas-ng-core.js +0 -21
  215. package/esm2015/public_api.js +0 -4
  216. package/esm2015/shared/api/generate-id-component.js +0 -12
  217. package/esm2015/shared/api/gipi-ng-config.js +0 -76
  218. package/esm2015/shared/api/overlay-message.js +0 -1
  219. package/esm2015/shared/api/throttle.js +0 -60
  220. package/esm2015/shared/api/translation.js +0 -1
  221. package/esm2015/shared/components/button/button.component.js +0 -110
  222. package/esm2015/shared/components/card/card.component.js +0 -44
  223. package/esm2015/shared/components/checkbox/checkbox.component.js +0 -79
  224. package/esm2015/shared/components/dom/connected-overlay-scroll-handler.js +0 -27
  225. package/esm2015/shared/components/dom/dom-handler.js +0 -538
  226. package/esm2015/shared/components/icon/icon.component.js +0 -35
  227. package/esm2015/shared/components/input/input.component.js +0 -235
  228. package/esm2015/shared/components/input-currency/input-currency.component.js +0 -115
  229. package/esm2015/shared/components/input-file/input-file.component.js +0 -161
  230. package/esm2015/shared/components/loading/loading.component.js +0 -15
  231. package/esm2015/shared/components/loading-overlay/loading-overlay.component.js +0 -21
  232. package/esm2015/shared/components/overlay-panel/overlay-panel.component.js +0 -361
  233. package/esm2015/shared/components/popover/popover-ref.js +0 -25
  234. package/esm2015/shared/components/popover/popover.component.js +0 -34
  235. package/esm2015/shared/components/popover/popover.service.js +0 -85
  236. package/esm2015/shared/components/radio-group-entity/radio-group-entity.component.js +0 -74
  237. package/esm2015/shared/components/radio-group-enum/radio-group-enum.component.js +0 -126
  238. package/esm2015/shared/components/select-button/select-button.component.js +0 -181
  239. package/esm2015/shared/components/select-entity/select-entity.component.js +0 -262
  240. package/esm2015/shared/components/select-entity-paged/select-entity-paged.component.js +0 -419
  241. package/esm2015/shared/components/select-entity-paged/shared/default-options.js +0 -35
  242. package/esm2015/shared/components/select-entity-paged/shared/select-button-add/select-button-add.component.js +0 -69
  243. package/esm2015/shared/components/select-entity-paged/shared/select-button-next-batch/select-button-next-batch.component.js +0 -59
  244. package/esm2015/shared/components/select-entity-paged/shared/select-no-entries-found.directive.js +0 -20
  245. package/esm2015/shared/components/select-entity-paged/shared/select-search/select-search.component.js +0 -547
  246. package/esm2015/shared/components/select-entity-paged/shared/select-search-clear.directive.js +0 -18
  247. package/esm2015/shared/components/select-enum/select-enum.component.js +0 -117
  248. package/esm2015/shared/components/select-month-period/select-month-period.component.js +0 -87
  249. package/esm2015/shared/components/slide-toggle/slide-toggle.component.js +0 -75
  250. package/esm2015/shared/components/stepper/stepper.component.js +0 -32
  251. package/esm2015/shared/components/tab/tab.component.js +0 -57
  252. package/esm2015/shared/components/tab-group/tab-group.component.js +0 -117
  253. package/esm2015/shared/components/table/table.component.js +0 -523
  254. package/esm2015/shared/components/table-scrolled/table-scrolled.component.js +0 -105
  255. package/esm2015/shared/components/textarea/textarea.component.js +0 -156
  256. package/esm2015/shared/directives/dynamic-tab.directive.js +0 -18
  257. package/esm2015/shared/directives/generic-template.directive.js +0 -30
  258. package/esm2015/shared/directives/input-select-infinite-scroll.directive.js +0 -109
  259. package/esm2015/shared/directives/lower-case.directive.js +0 -47
  260. package/esm2015/shared/directives/phone-mask.directive.js +0 -60
  261. package/esm2015/shared/directives/space-drop.directive.js +0 -47
  262. package/esm2015/shared/directives/upper-case.directive.js +0 -47
  263. package/esm2015/shared/gipi-components/abstract-form/abstract-form.component.js +0 -119
  264. package/esm2015/shared/gipi-components/action-row/action-row.component.js +0 -30
  265. package/esm2015/shared/gipi-components/badge/badge.component.js +0 -44
  266. package/esm2015/shared/gipi-components/button/button.component.js +0 -251
  267. package/esm2015/shared/gipi-components/chips/chips.component.js +0 -149
  268. package/esm2015/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +0 -44
  269. package/esm2015/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +0 -324
  270. package/esm2015/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy.js +0 -41
  271. package/esm2015/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive.js +0 -35
  272. package/esm2015/shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component.js +0 -259
  273. package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +0 -218
  274. package/esm2015/shared/gipi-components/datepicker/datepicker.module.js +0 -130
  275. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +0 -341
  276. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/calendar.js +0 -397
  277. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-input-parts.js +0 -325
  278. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +0 -329
  279. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-picker.js +0 -41
  280. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-selection-strategy.js +0 -61
  281. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-selection-model.js +0 -159
  282. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-animations.js +0 -35
  283. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-base.js +0 -555
  284. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-errors.js +0 -14
  285. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base.js +0 -303
  286. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-input.js +0 -179
  287. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-intl.js +0 -51
  288. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-toggle.js +0 -124
  289. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker.js +0 -29
  290. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/month-view.js +0 -365
  291. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/multi-year-view.js +0 -305
  292. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-adapter.js +0 -116
  293. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-formats.js +0 -10
  294. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-adapter.js +0 -294
  295. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-formats.js +0 -19
  296. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/platform.js +0 -81
  297. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/year-view.js +0 -294
  298. package/esm2015/shared/gipi-components/dom/connected-overlay-scroll-handler.js +0 -27
  299. package/esm2015/shared/gipi-components/dom/dom-handler.js +0 -645
  300. package/esm2015/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +0 -185
  301. package/esm2015/shared/gipi-components/expansion-panel/expansion-panel.component.js +0 -81
  302. package/esm2015/shared/gipi-components/file-drag-and-drop/file-drag-and-drop.component.js +0 -240
  303. package/esm2015/shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive.js +0 -92
  304. package/esm2015/shared/gipi-components/footer/footer.component.js +0 -29
  305. package/esm2015/shared/gipi-components/form-field/form-field.component.js +0 -262
  306. package/esm2015/shared/gipi-components/helpful-tip/helpful-tip.component.js +0 -62
  307. package/esm2015/shared/gipi-components/infinite-scroll/infinite-scroll.directive.js +0 -103
  308. package/esm2015/shared/gipi-components/input-checkbox/input-checkbox.component.js +0 -112
  309. package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +0 -197
  310. package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +0 -408
  311. package/esm2015/shared/gipi-components/input-select/input-select.component.js +0 -655
  312. package/esm2015/shared/gipi-components/input-select-enum/input-select-enum.component.js +0 -311
  313. package/esm2015/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +0 -422
  314. package/esm2015/shared/gipi-components/input-select-paged/input-search/input-search.component.js +0 -374
  315. package/esm2015/shared/gipi-components/input-select-paged/input-select-paged.component.js +0 -350
  316. package/esm2015/shared/gipi-components/input-select-radio/input-select-radio.component.js +0 -269
  317. package/esm2015/shared/gipi-components/layout-grid/col.directive.js +0 -161
  318. package/esm2015/shared/gipi-components/layout-grid/row.directive.js +0 -124
  319. package/esm2015/shared/gipi-components/layout-grid/services/breakpoint.service.js +0 -87
  320. package/esm2015/shared/gipi-components/layout-grid/services/resize.service.js +0 -64
  321. package/esm2015/shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component.js +0 -193
  322. package/esm2015/shared/gipi-components/month-year-picker/mont-year-picker.module.js +0 -47
  323. package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +0 -460
  324. package/esm2015/shared/gipi-components/notification/notification.component.js +0 -104
  325. package/esm2015/shared/gipi-components/novelties/novelties.component.js +0 -109
  326. package/esm2015/shared/gipi-components/overlay/overlay.component.js +0 -565
  327. package/esm2015/shared/gipi-components/overlay/shared/overlay-service.js +0 -21
  328. package/esm2015/shared/gipi-components/overlay/shared/overlay_options.js +0 -1
  329. package/esm2015/shared/gipi-components/password-requeriments/password-requeriments.component.js +0 -127
  330. package/esm2015/shared/gipi-components/popover/popover.component.js +0 -397
  331. package/esm2015/shared/gipi-components/popover/shared/popover-animations.js +0 -29
  332. package/esm2015/shared/gipi-components/popover/shared/popover-errors.js +0 -27
  333. package/esm2015/shared/gipi-components/popover/shared/popover-interfaces.js +0 -1
  334. package/esm2015/shared/gipi-components/popover/shared/popover-target.js +0 -19
  335. package/esm2015/shared/gipi-components/popover/shared/popover-trigger.js +0 -514
  336. package/esm2015/shared/gipi-components/popover/shared/popover-types.js +0 -1
  337. package/esm2015/shared/gipi-components/radio-group/radio-group.component.js +0 -143
  338. package/esm2015/shared/gipi-components/range-page/range-page.component.js +0 -254
  339. package/esm2015/shared/gipi-components/range-slider/range-slider.component.js +0 -345
  340. package/esm2015/shared/gipi-components/select/select.component.js +0 -211
  341. package/esm2015/shared/gipi-components/select-button/select-button.component.js +0 -187
  342. package/esm2015/shared/gipi-components/sidebar/container/container.component.js +0 -83
  343. package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +0 -240
  344. package/esm2015/shared/gipi-components/stepper/stepper.component.js +0 -37
  345. package/esm2015/shared/gipi-components/table/components/table-body/table-body.component.js +0 -203
  346. package/esm2015/shared/gipi-components/table/components/table-footer/table-footer.component.js +0 -30
  347. package/esm2015/shared/gipi-components/table/components/table-header/table-header.component.js +0 -152
  348. package/esm2015/shared/gipi-components/table/components/table-pagination/shared/paginate.pipe.js +0 -122
  349. package/esm2015/shared/gipi-components/table/components/table-pagination/shared/pagination-controls.directive.js +0 -225
  350. package/esm2015/shared/gipi-components/table/components/table-pagination/shared/pagination-instance.js +0 -1
  351. package/esm2015/shared/gipi-components/table/components/table-pagination/shared/pagination.service.js +0 -105
  352. package/esm2015/shared/gipi-components/table/components/table-pagination/table-pagination.component.js +0 -102
  353. package/esm2015/shared/gipi-components/table/components/table-progress-bar/table-progress-bar.component.js +0 -30
  354. package/esm2015/shared/gipi-components/table/models/pipe-transform.model.js +0 -1
  355. package/esm2015/shared/gipi-components/table/models/sort.model.js +0 -19
  356. package/esm2015/shared/gipi-components/table/models/sorted-column.model.js +0 -2
  357. package/esm2015/shared/gipi-components/table/models/table-column-builder.model.js +0 -104
  358. package/esm2015/shared/gipi-components/table/models/table-column.model.js +0 -162
  359. package/esm2015/shared/gipi-components/table/table.component.js +0 -159
  360. package/esm2015/shared/gipi-components/table/types/sort-direction.type.js +0 -1
  361. package/esm2015/shared/gipi-components/table/types/sort.type.js +0 -1
  362. package/esm2015/shared/gipi-components/template/template.directive.js +0 -33
  363. package/esm2015/shared/gipi-components/toolbar/toolbar.component.js +0 -53
  364. package/esm2015/shared/gipi-components/top-nav/top-nav.component.js +0 -38
  365. package/esm2015/shared/gipi-components/user-profile/user-profile.component.js +0 -109
  366. package/esm2015/shared/material.module.js +0 -102
  367. package/esm2015/shared/shared.module.js +0 -339
  368. package/esm2015/shared.js +0 -36
  369. package/esm5/core/app-messages.js +0 -1
  370. package/esm5/core/app.messages.js +0 -12
  371. package/esm5/core/components/abstract-crud.component.js +0 -108
  372. package/esm5/core/components/abstract-find.component.js +0 -201
  373. package/esm5/core/components/abstract.component.js +0 -112
  374. package/esm5/core/components/alert/alert.component.js +0 -25
  375. package/esm5/core/core.module.js +0 -107
  376. package/esm5/core/custom-breakpoints.js +0 -87
  377. package/esm5/core/enums/local-time.enum.js +0 -6
  378. package/esm5/core/extensions/string.extension.js +0 -37
  379. package/esm5/core/gipi-components/components/abstract-crud.component.js +0 -122
  380. package/esm5/core/gipi-components/components/abstract-find.component.js +0 -507
  381. package/esm5/core/gipi-components/components/abstract.component.js +0 -152
  382. package/esm5/core/gipi-components/decorators/autowired.decorator.js +0 -52
  383. package/esm5/core/gipi-components/enums/sort-direction.enum.js +0 -6
  384. package/esm5/core/gipi-components/interface/abstract-crud.interface.js +0 -1
  385. package/esm5/core/gipi-components/interface/abstract-find.interface.js +0 -1
  386. package/esm5/core/gipi-components/interface/abstract.interface.js +0 -1
  387. package/esm5/core/gipi-components/interface/base-permission.interface.js +0 -1
  388. package/esm5/core/gipi-components/models/abstract-filter.model.js +0 -7
  389. package/esm5/core/gipi-components/models/abstract.model.js +0 -7
  390. package/esm5/core/gipi-components/models/applied-filter.model.js +0 -29
  391. package/esm5/core/gipi-components/models/dto/abstract.dto.js +0 -7
  392. package/esm5/core/gipi-components/models/page-event.model.js +0 -49
  393. package/esm5/core/gipi-components/models/page.model.js +0 -9
  394. package/esm5/core/gipi-components/models/sort.model.js +0 -9
  395. package/esm5/core/gipi-components/services/abstract-crud.service.js +0 -114
  396. package/esm5/core/gipi-components/services/abstract.service.js +0 -49
  397. package/esm5/core/gipi-components/services/base.service.js +0 -143
  398. package/esm5/core/gipi-components/services/file.service.js +0 -53
  399. package/esm5/core/gipi-components/services/session-storage.service.js +0 -45
  400. package/esm5/core/gipi-components/types/generic.type.js +0 -1
  401. package/esm5/core/gipi-components/types/uuid.type.js +0 -1
  402. package/esm5/core/guards/auth.guard.js +0 -50
  403. package/esm5/core/guards/permission.guard.js +0 -74
  404. package/esm5/core/guards/public.guard.js +0 -47
  405. package/esm5/core/interceptors/auth.interceptor.js +0 -29
  406. package/esm5/core/interceptors/error.interceptor.js +0 -129
  407. package/esm5/core/models/abstract.model.js +0 -7
  408. package/esm5/core/models/archive.model.js +0 -7
  409. package/esm5/core/models/authority.model.js +0 -7
  410. package/esm5/core/models/base-user.model.js +0 -13
  411. package/esm5/core/models/dto/abstract.dto.js +0 -7
  412. package/esm5/core/models/dto/api-error.dto.js +0 -13
  413. package/esm5/core/models/dto/api-sub-error.dto.js +0 -11
  414. package/esm5/core/models/dto/chart.dto.js +0 -11
  415. package/esm5/core/models/dto/confirmation.dto.js +0 -13
  416. package/esm5/core/models/dto/dialog.dto.js +0 -11
  417. package/esm5/core/models/dto/filter.dto.js +0 -11
  418. package/esm5/core/models/dto/input-listbox.dto.js +0 -11
  419. package/esm5/core/models/dto/menu.dto.js +0 -14
  420. package/esm5/core/models/dto/message.dto.js +0 -11
  421. package/esm5/core/models/dto/page.dto.js +0 -14
  422. package/esm5/core/models/dto/sort.dto.js +0 -14
  423. package/esm5/core/models/dto/tab.dto.js +0 -15
  424. package/esm5/core/models/dto/table-column.dto.js +0 -29
  425. package/esm5/core/models/dto/table-group-header.dto.js +0 -15
  426. package/esm5/core/models/dto/table-page-event.dto.js +0 -11
  427. package/esm5/core/models/dto/token.dto.js +0 -11
  428. package/esm5/core/models/enums/criteria-operation.enum.js +0 -15
  429. package/esm5/core/models/enums/criteria-sort-direction.enum.js +0 -6
  430. package/esm5/core/models/enums/menu-type.enum.js +0 -7
  431. package/esm5/core/models/enums/radio-button.enum.js +0 -8
  432. package/esm5/core/models/enums/sort-direction.enum.js +0 -6
  433. package/esm5/core/models/multitenant.model.js +0 -11
  434. package/esm5/core/models/permission.model.js +0 -16
  435. package/esm5/core/models/role.model.js +0 -13
  436. package/esm5/core/pipes/local-time.pipe.js +0 -26
  437. package/esm5/core/services/abstract-crud.service.js +0 -30
  438. package/esm5/core/services/abstract-find.service.js +0 -71
  439. package/esm5/core/services/abstract.service.js +0 -32
  440. package/esm5/core/services/authentication.service.js +0 -121
  441. package/esm5/core/services/breakpoint-observer.service.js +0 -52
  442. package/esm5/core/services/confirmation.service.js +0 -66
  443. package/esm5/core/services/dialog.service.js +0 -44
  444. package/esm5/core/services/message.service.js +0 -36
  445. package/esm5/core/services/nav.service.js +0 -51
  446. package/esm5/core/services/svg-register.service.js +0 -67
  447. package/esm5/core/types/local-time.type.js +0 -1
  448. package/esm5/core/types/ng-class.type.js +0 -1
  449. package/esm5/core/utils/array.util.js +0 -120
  450. package/esm5/core/utils/browser.util.js +0 -17
  451. package/esm5/core/utils/currency.util.js +0 -26
  452. package/esm5/core/utils/date.util.js +0 -269
  453. package/esm5/core/utils/document.util.js +0 -157
  454. package/esm5/core/utils/email.util.js +0 -29
  455. package/esm5/core/utils/number.util.js +0 -32
  456. package/esm5/core/utils/object.util.js +0 -204
  457. package/esm5/core/utils/password.util.js +0 -42
  458. package/esm5/core/utils/phone.util.js +0 -135
  459. package/esm5/core/utils/string.util.js +0 -44
  460. package/esm5/core/utils/table-column-builder.js +0 -87
  461. package/esm5/core/utils/time.util.js +0 -65
  462. package/esm5/core/utils/url-params.util.js +0 -16
  463. package/esm5/core/utils/uuid.util.js +0 -21
  464. package/esm5/core/utils/zindex.util.js +0 -35
  465. package/esm5/core.js +0 -89
  466. package/esm5/gipi-components.js +0 -105
  467. package/esm5/gipisistemas-ng-core.js +0 -21
  468. package/esm5/public_api.js +0 -4
  469. package/esm5/shared/api/generate-id-component.js +0 -16
  470. package/esm5/shared/api/gipi-ng-config.js +0 -77
  471. package/esm5/shared/api/overlay-message.js +0 -1
  472. package/esm5/shared/api/throttle.js +0 -60
  473. package/esm5/shared/api/translation.js +0 -1
  474. package/esm5/shared/components/button/button.component.js +0 -111
  475. package/esm5/shared/components/card/card.component.js +0 -45
  476. package/esm5/shared/components/checkbox/checkbox.component.js +0 -85
  477. package/esm5/shared/components/dom/connected-overlay-scroll-handler.js +0 -30
  478. package/esm5/shared/components/dom/dom-handler.js +0 -573
  479. package/esm5/shared/components/icon/icon.component.js +0 -38
  480. package/esm5/shared/components/input/input.component.js +0 -242
  481. package/esm5/shared/components/input-currency/input-currency.component.js +0 -121
  482. package/esm5/shared/components/input-file/input-file.component.js +0 -165
  483. package/esm5/shared/components/loading/loading.component.js +0 -18
  484. package/esm5/shared/components/loading-overlay/loading-overlay.component.js +0 -23
  485. package/esm5/shared/components/overlay-panel/overlay-panel.component.js +0 -366
  486. package/esm5/shared/components/popover/popover-ref.js +0 -28
  487. package/esm5/shared/components/popover/popover.component.js +0 -35
  488. package/esm5/shared/components/popover/popover.service.js +0 -88
  489. package/esm5/shared/components/radio-group-entity/radio-group-entity.component.js +0 -80
  490. package/esm5/shared/components/radio-group-enum/radio-group-enum.component.js +0 -138
  491. package/esm5/shared/components/select-button/select-button.component.js +0 -195
  492. package/esm5/shared/components/select-entity/select-entity.component.js +0 -269
  493. package/esm5/shared/components/select-entity-paged/select-entity-paged.component.js +0 -453
  494. package/esm5/shared/components/select-entity-paged/shared/default-options.js +0 -35
  495. package/esm5/shared/components/select-entity-paged/shared/select-button-add/select-button-add.component.js +0 -72
  496. package/esm5/shared/components/select-entity-paged/shared/select-button-next-batch/select-button-next-batch.component.js +0 -62
  497. package/esm5/shared/components/select-entity-paged/shared/select-no-entries-found.directive.js +0 -23
  498. package/esm5/shared/components/select-entity-paged/shared/select-search/select-search.component.js +0 -590
  499. package/esm5/shared/components/select-entity-paged/shared/select-search-clear.directive.js +0 -21
  500. package/esm5/shared/components/select-enum/select-enum.component.js +0 -124
  501. package/esm5/shared/components/select-month-period/select-month-period.component.js +0 -91
  502. package/esm5/shared/components/slide-toggle/slide-toggle.component.js +0 -81
  503. package/esm5/shared/components/stepper/stepper.component.js +0 -36
  504. package/esm5/shared/components/tab/tab.component.js +0 -58
  505. package/esm5/shared/components/tab-group/tab-group.component.js +0 -125
  506. package/esm5/shared/components/table/table.component.js +0 -538
  507. package/esm5/shared/components/table-scrolled/table-scrolled.component.js +0 -107
  508. package/esm5/shared/components/textarea/textarea.component.js +0 -174
  509. package/esm5/shared/directives/dynamic-tab.directive.js +0 -19
  510. package/esm5/shared/directives/generic-template.directive.js +0 -31
  511. package/esm5/shared/directives/input-select-infinite-scroll.directive.js +0 -113
  512. package/esm5/shared/directives/lower-case.directive.js +0 -48
  513. package/esm5/shared/directives/phone-mask.directive.js +0 -61
  514. package/esm5/shared/directives/space-drop.directive.js +0 -48
  515. package/esm5/shared/directives/upper-case.directive.js +0 -48
  516. package/esm5/shared/gipi-components/abstract-form/abstract-form.component.js +0 -141
  517. package/esm5/shared/gipi-components/action-row/action-row.component.js +0 -33
  518. package/esm5/shared/gipi-components/badge/badge.component.js +0 -46
  519. package/esm5/shared/gipi-components/button/button.component.js +0 -257
  520. package/esm5/shared/gipi-components/chips/chips.component.js +0 -159
  521. package/esm5/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +0 -46
  522. package/esm5/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +0 -378
  523. package/esm5/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy.js +0 -42
  524. package/esm5/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive.js +0 -40
  525. package/esm5/shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component.js +0 -291
  526. package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +0 -252
  527. package/esm5/shared/gipi-components/datepicker/datepicker.module.js +0 -133
  528. package/esm5/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +0 -349
  529. package/esm5/shared/gipi-components/datepicker/mat-datepicker/calendar.js +0 -441
  530. package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-input-parts.js +0 -339
  531. package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +0 -376
  532. package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-picker.js +0 -46
  533. package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-selection-strategy.js +0 -62
  534. package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-selection-model.js +0 -167
  535. package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-animations.js +0 -35
  536. package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-base.js +0 -586
  537. package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-errors.js +0 -14
  538. package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base.js +0 -327
  539. package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-input.js +0 -199
  540. package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-intl.js +0 -52
  541. package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-toggle.js +0 -133
  542. package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker.js +0 -34
  543. package/esm5/shared/gipi-components/datepicker/mat-datepicker/month-view.js +0 -384
  544. package/esm5/shared/gipi-components/datepicker/mat-datepicker/multi-year-view.js +0 -324
  545. package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-adapter.js +0 -118
  546. package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-formats.js +0 -10
  547. package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-adapter.js +0 -300
  548. package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-formats.js +0 -19
  549. package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/platform.js +0 -82
  550. package/esm5/shared/gipi-components/datepicker/mat-datepicker/year-view.js +0 -313
  551. package/esm5/shared/gipi-components/dom/connected-overlay-scroll-handler.js +0 -30
  552. package/esm5/shared/gipi-components/dom/dom-handler.js +0 -681
  553. package/esm5/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +0 -191
  554. package/esm5/shared/gipi-components/expansion-panel/expansion-panel.component.js +0 -83
  555. package/esm5/shared/gipi-components/file-drag-and-drop/file-drag-and-drop.component.js +0 -255
  556. package/esm5/shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive.js +0 -93
  557. package/esm5/shared/gipi-components/footer/footer.component.js +0 -32
  558. package/esm5/shared/gipi-components/form-field/form-field.component.js +0 -276
  559. package/esm5/shared/gipi-components/helpful-tip/helpful-tip.component.js +0 -68
  560. package/esm5/shared/gipi-components/infinite-scroll/infinite-scroll.directive.js +0 -106
  561. package/esm5/shared/gipi-components/input-checkbox/input-checkbox.component.js +0 -118
  562. package/esm5/shared/gipi-components/input-currency/input-currency.component.js +0 -207
  563. package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +0 -426
  564. package/esm5/shared/gipi-components/input-select/input-select.component.js +0 -698
  565. package/esm5/shared/gipi-components/input-select-enum/input-select-enum.component.js +0 -351
  566. package/esm5/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +0 -437
  567. package/esm5/shared/gipi-components/input-select-paged/input-search/input-search.component.js +0 -397
  568. package/esm5/shared/gipi-components/input-select-paged/input-select-paged.component.js +0 -384
  569. package/esm5/shared/gipi-components/input-select-radio/input-select-radio.component.js +0 -286
  570. package/esm5/shared/gipi-components/layout-grid/col.directive.js +0 -164
  571. package/esm5/shared/gipi-components/layout-grid/row.directive.js +0 -127
  572. package/esm5/shared/gipi-components/layout-grid/services/breakpoint.service.js +0 -90
  573. package/esm5/shared/gipi-components/layout-grid/services/resize.service.js +0 -68
  574. package/esm5/shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component.js +0 -200
  575. package/esm5/shared/gipi-components/month-year-picker/mont-year-picker.module.js +0 -50
  576. package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +0 -505
  577. package/esm5/shared/gipi-components/notification/notification.component.js +0 -106
  578. package/esm5/shared/gipi-components/novelties/novelties.component.js +0 -111
  579. package/esm5/shared/gipi-components/overlay/overlay.component.js +0 -670
  580. package/esm5/shared/gipi-components/overlay/shared/overlay-service.js +0 -22
  581. package/esm5/shared/gipi-components/overlay/shared/overlay_options.js +0 -1
  582. package/esm5/shared/gipi-components/password-requeriments/password-requeriments.component.js +0 -157
  583. package/esm5/shared/gipi-components/popover/popover.component.js +0 -473
  584. package/esm5/shared/gipi-components/popover/shared/popover-animations.js +0 -29
  585. package/esm5/shared/gipi-components/popover/shared/popover-errors.js +0 -21
  586. package/esm5/shared/gipi-components/popover/shared/popover-interfaces.js +0 -1
  587. package/esm5/shared/gipi-components/popover/shared/popover-target.js +0 -20
  588. package/esm5/shared/gipi-components/popover/shared/popover-trigger.js +0 -529
  589. package/esm5/shared/gipi-components/popover/shared/popover-types.js +0 -1
  590. package/esm5/shared/gipi-components/radio-group/radio-group.component.js +0 -155
  591. package/esm5/shared/gipi-components/range-page/range-page.component.js +0 -283
  592. package/esm5/shared/gipi-components/range-slider/range-slider.component.js +0 -364
  593. package/esm5/shared/gipi-components/select/select.component.js +0 -222
  594. package/esm5/shared/gipi-components/select-button/select-button.component.js +0 -206
  595. package/esm5/shared/gipi-components/sidebar/container/container.component.js +0 -96
  596. package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +0 -267
  597. package/esm5/shared/gipi-components/stepper/stepper.component.js +0 -43
  598. package/esm5/shared/gipi-components/table/components/table-body/table-body.component.js +0 -209
  599. package/esm5/shared/gipi-components/table/components/table-footer/table-footer.component.js +0 -33
  600. package/esm5/shared/gipi-components/table/components/table-header/table-header.component.js +0 -155
  601. package/esm5/shared/gipi-components/table/components/table-pagination/shared/paginate.pipe.js +0 -123
  602. package/esm5/shared/gipi-components/table/components/table-pagination/shared/pagination-controls.directive.js +0 -228
  603. package/esm5/shared/gipi-components/table/components/table-pagination/shared/pagination-instance.js +0 -1
  604. package/esm5/shared/gipi-components/table/components/table-pagination/shared/pagination.service.js +0 -108
  605. package/esm5/shared/gipi-components/table/components/table-pagination/table-pagination.component.js +0 -116
  606. package/esm5/shared/gipi-components/table/components/table-progress-bar/table-progress-bar.component.js +0 -33
  607. package/esm5/shared/gipi-components/table/models/pipe-transform.model.js +0 -1
  608. package/esm5/shared/gipi-components/table/models/sort.model.js +0 -29
  609. package/esm5/shared/gipi-components/table/models/sorted-column.model.js +0 -2
  610. package/esm5/shared/gipi-components/table/models/table-column-builder.model.js +0 -106
  611. package/esm5/shared/gipi-components/table/models/table-column.model.js +0 -252
  612. package/esm5/shared/gipi-components/table/table.component.js +0 -161
  613. package/esm5/shared/gipi-components/table/types/sort-direction.type.js +0 -1
  614. package/esm5/shared/gipi-components/table/types/sort.type.js +0 -1
  615. package/esm5/shared/gipi-components/template/template.directive.js +0 -34
  616. package/esm5/shared/gipi-components/toolbar/toolbar.component.js +0 -56
  617. package/esm5/shared/gipi-components/top-nav/top-nav.component.js +0 -40
  618. package/esm5/shared/gipi-components/user-profile/user-profile.component.js +0 -115
  619. package/esm5/shared/material.module.js +0 -101
  620. package/esm5/shared/shared.module.js +0 -340
  621. package/esm5/shared.js +0 -36
  622. package/fesm2015/gipisistemas-ng-core.js +0 -25879
  623. package/fesm2015/gipisistemas-ng-core.js.map +0 -1
  624. package/fesm5/gipisistemas-ng-core.js +0 -27905
  625. package/fesm5/gipisistemas-ng-core.js.map +0 -1
  626. package/gipi-components.d.ts +0 -97
  627. package/gipisistemas-ng-core.d.ts +0 -20
  628. package/gipisistemas-ng-core.metadata.json +0 -1
  629. package/public_api.d.ts +0 -3
  630. package/shared/api/generate-id-component.d.ts +0 -3
  631. package/shared/api/gipi-ng-config.d.ts +0 -18
  632. package/shared/api/overlay-message.d.ts +0 -14
  633. package/shared/api/throttle.d.ts +0 -17
  634. package/shared/api/translation.d.ts +0 -45
  635. package/shared/components/button/button.component.d.ts +0 -26
  636. package/shared/components/card/card.component.d.ts +0 -10
  637. package/shared/components/checkbox/checkbox.component.d.ts +0 -20
  638. package/shared/components/dom/connected-overlay-scroll-handler.d.ts +0 -9
  639. package/shared/components/dom/dom-handler.d.ts +0 -74
  640. package/shared/components/icon/icon.component.d.ts +0 -9
  641. package/shared/components/input/input.component.d.ts +0 -52
  642. package/shared/components/input-currency/input-currency.component.d.ts +0 -29
  643. package/shared/components/input-file/input-file.component.d.ts +0 -28
  644. package/shared/components/loading/loading.component.d.ts +0 -4
  645. package/shared/components/loading-overlay/loading-overlay.component.d.ts +0 -6
  646. package/shared/components/overlay-panel/overlay-panel.component.d.ts +0 -67
  647. package/shared/components/popover/popover-ref.d.ts +0 -17
  648. package/shared/components/popover/popover.component.d.ts +0 -10
  649. package/shared/components/popover/popover.service.d.ts +0 -23
  650. package/shared/components/radio-group-entity/radio-group-entity.component.d.ts +0 -19
  651. package/shared/components/radio-group-enum/radio-group-enum.component.d.ts +0 -30
  652. package/shared/components/select-button/select-button.component.d.ts +0 -35
  653. package/shared/components/select-entity/select-entity.component.d.ts +0 -52
  654. package/shared/components/select-entity-paged/select-entity-paged.component.d.ts +0 -78
  655. package/shared/components/select-entity-paged/shared/default-options.d.ts +0 -25
  656. package/shared/components/select-entity-paged/shared/select-button-add/select-button-add.component.d.ts +0 -18
  657. package/shared/components/select-entity-paged/shared/select-button-next-batch/select-button-next-batch.component.d.ts +0 -16
  658. package/shared/components/select-entity-paged/shared/select-no-entries-found.directive.d.ts +0 -11
  659. package/shared/components/select-entity-paged/shared/select-search/select-search.component.d.ts +0 -119
  660. package/shared/components/select-entity-paged/shared/select-search-clear.directive.d.ts +0 -9
  661. package/shared/components/select-enum/select-enum.component.d.ts +0 -29
  662. package/shared/components/select-month-period/select-month-period.component.d.ts +0 -20
  663. package/shared/components/slide-toggle/slide-toggle.component.d.ts +0 -19
  664. package/shared/components/stepper/stepper.component.d.ts +0 -7
  665. package/shared/components/tab/tab.component.d.ts +0 -14
  666. package/shared/components/tab-group/tab-group.component.d.ts +0 -22
  667. package/shared/components/table/table.component.d.ts +0 -86
  668. package/shared/components/table-scrolled/table-scrolled.component.d.ts +0 -31
  669. package/shared/components/textarea/textarea.component.d.ts +0 -35
  670. package/shared/directives/dynamic-tab.directive.d.ts +0 -5
  671. package/shared/directives/generic-template.directive.d.ts +0 -8
  672. package/shared/directives/input-select-infinite-scroll.directive.d.ts +0 -35
  673. package/shared/directives/lower-case.directive.d.ts +0 -9
  674. package/shared/directives/phone-mask.directive.d.ts +0 -8
  675. package/shared/directives/space-drop.directive.d.ts +0 -9
  676. package/shared/directives/upper-case.directive.d.ts +0 -9
  677. package/shared/gipi-components/abstract-form/abstract-form.component.d.ts +0 -21
  678. package/shared/gipi-components/action-row/action-row.component.d.ts +0 -5
  679. package/shared/gipi-components/badge/badge.component.d.ts +0 -8
  680. package/shared/gipi-components/button/button.component.d.ts +0 -56
  681. package/shared/gipi-components/chips/chips.component.d.ts +0 -37
  682. package/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.d.ts +0 -11
  683. package/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.d.ts +0 -71
  684. package/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy.d.ts +0 -11
  685. package/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive.d.ts +0 -6
  686. package/shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component.d.ts +0 -40
  687. package/shared/gipi-components/datepicker/datepicker/datepicker.component.d.ts +0 -49
  688. package/shared/gipi-components/datepicker/datepicker.module.d.ts +0 -2
  689. package/shared/gipi-components/datepicker/mat-datepicker/calendar-body.d.ts +0 -143
  690. package/shared/gipi-components/datepicker/mat-datepicker/calendar.d.ts +0 -152
  691. package/shared/gipi-components/datepicker/mat-datepicker/date-range-input-parts.d.ts +0 -102
  692. package/shared/gipi-components/datepicker/mat-datepicker/date-range-input.d.ts +0 -124
  693. package/shared/gipi-components/datepicker/mat-datepicker/date-range-picker.d.ts +0 -21
  694. package/shared/gipi-components/datepicker/mat-datepicker/date-range-selection-strategy.d.ts +0 -45
  695. package/shared/gipi-components/datepicker/mat-datepicker/date-selection-model.d.ts +0 -106
  696. package/shared/gipi-components/datepicker/mat-datepicker/datepicker-animations.d.ts +0 -16
  697. package/shared/gipi-components/datepicker/mat-datepicker/datepicker-base.d.ts +0 -209
  698. package/shared/gipi-components/datepicker/mat-datepicker/datepicker-errors.d.ts +0 -9
  699. package/shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base.d.ts +0 -136
  700. package/shared/gipi-components/datepicker/mat-datepicker/datepicker-input.d.ts +0 -68
  701. package/shared/gipi-components/datepicker/mat-datepicker/datepicker-intl.d.ts +0 -38
  702. package/shared/gipi-components/datepicker/mat-datepicker/datepicker-toggle.d.ts +0 -39
  703. package/shared/gipi-components/datepicker/mat-datepicker/datepicker.d.ts +0 -11
  704. package/shared/gipi-components/datepicker/mat-datepicker/month-view.d.ts +0 -120
  705. package/shared/gipi-components/datepicker/mat-datepicker/multi-year-view.d.ts +0 -85
  706. package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-adapter.d.ts +0 -225
  707. package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-formats.d.ts +0 -20
  708. package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-adapter.d.ts +0 -76
  709. package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-formats.d.ts +0 -9
  710. package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/platform.d.ts +0 -33
  711. package/shared/gipi-components/datepicker/mat-datepicker/year-view.d.ts +0 -97
  712. package/shared/gipi-components/dom/connected-overlay-scroll-handler.d.ts +0 -9
  713. package/shared/gipi-components/dom/dom-handler.d.ts +0 -85
  714. package/shared/gipi-components/dropdown-menu/dropdown-menu.component.d.ts +0 -36
  715. package/shared/gipi-components/expansion-panel/expansion-panel.component.d.ts +0 -16
  716. package/shared/gipi-components/file-drag-and-drop/file-drag-and-drop.component.d.ts +0 -43
  717. package/shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive.d.ts +0 -13
  718. package/shared/gipi-components/footer/footer.component.d.ts +0 -5
  719. package/shared/gipi-components/form-field/form-field.component.d.ts +0 -61
  720. package/shared/gipi-components/helpful-tip/helpful-tip.component.d.ts +0 -13
  721. package/shared/gipi-components/infinite-scroll/infinite-scroll.directive.d.ts +0 -27
  722. package/shared/gipi-components/input-checkbox/input-checkbox.component.d.ts +0 -28
  723. package/shared/gipi-components/input-currency/input-currency.component.d.ts +0 -48
  724. package/shared/gipi-components/input-monthpicker/input-monthpicker.component.d.ts +0 -89
  725. package/shared/gipi-components/input-select/input-select.component.d.ts +0 -120
  726. package/shared/gipi-components/input-select-enum/input-select-enum.component.d.ts +0 -65
  727. package/shared/gipi-components/input-select-listbox/input-select-listbox.component.d.ts +0 -85
  728. package/shared/gipi-components/input-select-paged/input-search/input-search.component.d.ts +0 -77
  729. package/shared/gipi-components/input-select-paged/input-select-paged.component.d.ts +0 -66
  730. package/shared/gipi-components/input-select-radio/input-select-radio.component.d.ts +0 -53
  731. package/shared/gipi-components/layout-grid/col.directive.d.ts +0 -38
  732. package/shared/gipi-components/layout-grid/row.directive.d.ts +0 -28
  733. package/shared/gipi-components/layout-grid/services/breakpoint.service.d.ts +0 -30
  734. package/shared/gipi-components/layout-grid/services/resize.service.d.ts +0 -17
  735. package/shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component.d.ts +0 -37
  736. package/shared/gipi-components/month-year-picker/mont-year-picker.module.d.ts +0 -2
  737. package/shared/gipi-components/month-year-picker/month-year-picker.component.d.ts +0 -104
  738. package/shared/gipi-components/notification/notification.component.d.ts +0 -21
  739. package/shared/gipi-components/novelties/novelties.component.d.ts +0 -22
  740. package/shared/gipi-components/overlay/overlay.component.d.ts +0 -113
  741. package/shared/gipi-components/overlay/shared/overlay-service.d.ts +0 -6
  742. package/shared/gipi-components/overlay/shared/overlay_options.d.ts +0 -50
  743. package/shared/gipi-components/password-requeriments/password-requeriments.component.d.ts +0 -27
  744. package/shared/gipi-components/popover/popover.component.d.ts +0 -133
  745. package/shared/gipi-components/popover/shared/popover-animations.d.ts +0 -13
  746. package/shared/gipi-components/popover/shared/popover-errors.d.ts +0 -14
  747. package/shared/gipi-components/popover/shared/popover-interfaces.d.ts +0 -43
  748. package/shared/gipi-components/popover/shared/popover-target.d.ts +0 -5
  749. package/shared/gipi-components/popover/shared/popover-trigger.d.ts +0 -140
  750. package/shared/gipi-components/popover/shared/popover-types.d.ts +0 -4
  751. package/shared/gipi-components/radio-group/radio-group.component.d.ts +0 -33
  752. package/shared/gipi-components/range-page/range-page.component.d.ts +0 -55
  753. package/shared/gipi-components/range-slider/range-slider.component.d.ts +0 -57
  754. package/shared/gipi-components/select/select.component.d.ts +0 -45
  755. package/shared/gipi-components/select-button/select-button.component.d.ts +0 -39
  756. package/shared/gipi-components/sidebar/container/container.component.d.ts +0 -15
  757. package/shared/gipi-components/sidebar/sidenav/sidenav.component.d.ts +0 -40
  758. package/shared/gipi-components/stepper/stepper.component.d.ts +0 -8
  759. package/shared/gipi-components/table/components/table-body/table-body.component.d.ts +0 -36
  760. package/shared/gipi-components/table/components/table-footer/table-footer.component.d.ts +0 -5
  761. package/shared/gipi-components/table/components/table-header/table-header.component.d.ts +0 -28
  762. package/shared/gipi-components/table/components/table-pagination/shared/paginate.pipe.d.ts +0 -40
  763. package/shared/gipi-components/table/components/table-pagination/shared/pagination-controls.directive.d.ts +0 -81
  764. package/shared/gipi-components/table/components/table-pagination/shared/pagination-instance.d.ts +0 -24
  765. package/shared/gipi-components/table/components/table-pagination/shared/pagination.service.d.ts +0 -45
  766. package/shared/gipi-components/table/components/table-pagination/table-pagination.component.d.ts +0 -21
  767. package/shared/gipi-components/table/components/table-progress-bar/table-progress-bar.component.d.ts +0 -5
  768. package/shared/gipi-components/table/models/pipe-transform.model.d.ts +0 -3
  769. package/shared/gipi-components/table/models/sort.model.d.ts +0 -10
  770. package/shared/gipi-components/table/models/sorted-column.model.d.ts +0 -6
  771. package/shared/gipi-components/table/models/table-column-builder.model.d.ts +0 -52
  772. package/shared/gipi-components/table/models/table-column.model.d.ts +0 -74
  773. package/shared/gipi-components/table/table.component.d.ts +0 -37
  774. package/shared/gipi-components/table/types/sort-direction.type.d.ts +0 -1
  775. package/shared/gipi-components/table/types/sort.type.d.ts +0 -1
  776. package/shared/gipi-components/template/template.directive.d.ts +0 -8
  777. package/shared/gipi-components/toolbar/toolbar.component.d.ts +0 -11
  778. package/shared/gipi-components/top-nav/top-nav.component.d.ts +0 -8
  779. package/shared/gipi-components/user-profile/user-profile.component.d.ts +0 -24
  780. package/shared/material.module.d.ts +0 -2
  781. package/shared/shared.module.d.ts +0 -6
  782. package/shared.d.ts +0 -35
@@ -1,505 +0,0 @@
1
- import { __decorate, __metadata, __param } from "tslib";
2
- import { Directionality } from '@angular/cdk/bidi';
3
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
- import { ESCAPE, UP_ARROW } from '@angular/cdk/keycodes';
5
- import { FlexibleConnectedPositionStrategy, Overlay, OverlayConfig, OverlayRef, ScrollStrategy } from '@angular/cdk/overlay';
6
- import { ComponentPortal } from '@angular/cdk/portal';
7
- import { DOCUMENT } from '@angular/common';
8
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentRef, ElementRef, EventEmitter, forwardRef, Inject, InjectionToken, Input, NgZone, OnChanges, OnDestroy, OnInit, Optional, Output, SimpleChanges, ViewChild, ViewContainerRef } from '@angular/core';
9
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
10
- import { merge, Subject } from 'rxjs';
11
- import { filter, take } from 'rxjs/operators';
12
- import { ObjectUtil } from './../../../core/utils/object.util';
13
- import * as moment_ from 'moment';
14
- var moment = moment_;
15
- import { CalendarMonthYearComponent } from './calendar-month-year/calendar-month-year.component';
16
- export var GIPI_MONTH_YEAR_SCROLL_STRATEGY = new InjectionToken('gipi-month-year-scroll-strategy');
17
- /** @docs-private */
18
- export function GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY(overlay) {
19
- return function () { return overlay.scrollStrategies.reposition(); };
20
- }
21
- /** @docs-private */
22
- export var GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY_PROVIDER = {
23
- provide: GIPI_MONTH_YEAR_SCROLL_STRATEGY,
24
- deps: [Overlay],
25
- useFactory: GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY,
26
- };
27
- var MonthYear = /** @class */ (function () {
28
- function MonthYear(month, year) {
29
- this._month = month;
30
- this._year = year;
31
- }
32
- Object.defineProperty(MonthYear.prototype, "date", {
33
- get: function () {
34
- var date = moment().day(1).month(this.month).year(this.year).startOf('day').toDate();
35
- return date;
36
- },
37
- enumerable: false,
38
- configurable: true
39
- });
40
- Object.defineProperty(MonthYear.prototype, "month", {
41
- get: function () {
42
- return this._month;
43
- },
44
- enumerable: false,
45
- configurable: true
46
- });
47
- Object.defineProperty(MonthYear.prototype, "year", {
48
- get: function () {
49
- return this._year;
50
- },
51
- enumerable: false,
52
- configurable: true
53
- });
54
- return MonthYear;
55
- }());
56
- export { MonthYear };
57
- var MonthPickerModel = /** @class */ (function () {
58
- function MonthPickerModel() {
59
- this.months = [];
60
- this.selectedYearMoment = moment();
61
- this.updateYearText();
62
- this.selectedMonthMoment = moment();
63
- this.months = moment.monthsShort().map(function (month) { return month + "."; });
64
- this.selectedMonthIndex = this.selectedMonthMoment.month();
65
- this.selectedMonthYear = this.selectedYearMoment.year();
66
- }
67
- MonthPickerModel.prototype.updateYearText = function () {
68
- this.selectedYearText = !ObjectUtil.isNull(moment) ? moment(this.selectedYearMoment).format('YYYY') : '';
69
- };
70
- MonthPickerModel.prototype.selectMonth = function (index) {
71
- this.selectedMonthMoment = moment().month(index);
72
- this.selectedMonthIndex = this.selectedMonthMoment.month();
73
- this.selectedMonthYear = this.selectedYearMoment.year();
74
- };
75
- MonthPickerModel.prototype.incrementYear = function () {
76
- this.selectedYearMoment = this.selectedYearMoment.add(1, "year");
77
- this.updateYearText();
78
- };
79
- MonthPickerModel.prototype.decrementYear = function () {
80
- this.selectedYearMoment = this.selectedYearMoment.subtract(1, "year");
81
- this.updateYearText();
82
- };
83
- return MonthPickerModel;
84
- }());
85
- export { MonthPickerModel };
86
- var nextUniqueId = 0;
87
- var MonthYearPickerComponent = /** @class */ (function () {
88
- function MonthYearPickerComponent(elementRef, _changeDetectorRef, _overlay, _ngZone, _viewContainerRef, scrollStrategy, _dir, _document) {
89
- this.elementRef = elementRef;
90
- this._changeDetectorRef = _changeDetectorRef;
91
- this._overlay = _overlay;
92
- this._ngZone = _ngZone;
93
- this._viewContainerRef = _viewContainerRef;
94
- this._dir = _dir;
95
- this._document = _document;
96
- this._name = "gipi-date-range-" + nextUniqueId++;
97
- this._focusedElementBeforeOpen = null;
98
- this._backdropHarnessClass = this._name + "-backdrop";
99
- this._stateChanges = new Subject();
100
- this.valueLabel = '';
101
- this.id = this._name + "-date";
102
- this.name = this._name + "-date";
103
- this.label = '';
104
- this.placeholder = '';
105
- this.help = '';
106
- this.xPosition = 'start';
107
- this.yPosition = 'below';
108
- this.calendarView = 'both';
109
- this._opened = false;
110
- this._required = false;
111
- this._disabled = false;
112
- this._min = null;
113
- this._max = null;
114
- this.openedStream = new EventEmitter();
115
- this.closedStream = new EventEmitter();
116
- this.onChange = function () { };
117
- this.onTouched = function () { };
118
- this._scrollStrategy = scrollStrategy;
119
- }
120
- MonthYearPickerComponent_1 = MonthYearPickerComponent;
121
- Object.defineProperty(MonthYearPickerComponent.prototype, "opened", {
122
- get: function () {
123
- return this._opened;
124
- },
125
- set: function (value) {
126
- coerceBooleanProperty(value) ? this.open() : this.close();
127
- },
128
- enumerable: false,
129
- configurable: true
130
- });
131
- Object.defineProperty(MonthYearPickerComponent.prototype, "required", {
132
- get: function () {
133
- return this._required;
134
- },
135
- set: function (value) {
136
- this._required = coerceBooleanProperty(value);
137
- },
138
- enumerable: false,
139
- configurable: true
140
- });
141
- Object.defineProperty(MonthYearPickerComponent.prototype, "disabled", {
142
- get: function () {
143
- return this._disabled;
144
- },
145
- set: function (value) {
146
- this._disabled = coerceBooleanProperty(value);
147
- },
148
- enumerable: false,
149
- configurable: true
150
- });
151
- Object.defineProperty(MonthYearPickerComponent.prototype, "min", {
152
- get: function () {
153
- return this._min;
154
- },
155
- set: function (value) {
156
- this._min = value;
157
- },
158
- enumerable: false,
159
- configurable: true
160
- });
161
- Object.defineProperty(MonthYearPickerComponent.prototype, "max", {
162
- get: function () {
163
- return this._max;
164
- },
165
- set: function (value) {
166
- this._max = value;
167
- },
168
- enumerable: false,
169
- configurable: true
170
- });
171
- Object.defineProperty(MonthYearPickerComponent.prototype, "value", {
172
- get: function () {
173
- return this._value;
174
- },
175
- set: function (value) {
176
- var valueAux = value;
177
- if (!value) {
178
- valueAux = null;
179
- }
180
- if (valueAux) {
181
- switch (this.calendarView) {
182
- case 'both': {
183
- this.valueLabel = moment(valueAux.date).format('MM/YYYY');
184
- break;
185
- }
186
- case 'year': {
187
- this.valueLabel = moment(valueAux.date).format('YYYY');
188
- break;
189
- }
190
- default: {
191
- this.valueLabel = moment(valueAux.date).format('MM/YYYY');
192
- break;
193
- }
194
- }
195
- }
196
- this._value = valueAux;
197
- this.onChange(this._value);
198
- this.onTouched(this._value);
199
- },
200
- enumerable: false,
201
- configurable: true
202
- });
203
- MonthYearPickerComponent.prototype.ngOnInit = function () {
204
- this.model = new MonthPickerModel();
205
- if (this.year) {
206
- this.model.selectedYearMoment = moment().year(this.year);
207
- }
208
- if (this.month) {
209
- this.model.selectedMonthIndex = this.month;
210
- this.model.selectedMonthMoment = moment().month(this.month);
211
- if (this.year) {
212
- this.model.selectedMonthYear = this.year;
213
- }
214
- }
215
- this.model.updateYearText();
216
- if (ObjectUtil.isNull(this.month) && ObjectUtil.isNull(this.year)) {
217
- this.value = null;
218
- this._changeDetectorRef.detectChanges();
219
- }
220
- else {
221
- this.onValueChange(this.model.selectedMonthIndex, this.model.selectedMonthYear);
222
- }
223
- };
224
- MonthYearPickerComponent.prototype.ngOnChanges = function (changes) {
225
- var positionChange = changes['xPosition'] || changes['yPosition'];
226
- if (positionChange && !positionChange.firstChange && this._popupRef) {
227
- this._setConnectedPositions(this._popupRef.getConfig().positionStrategy);
228
- if (this.opened) {
229
- this._popupRef.updatePosition();
230
- }
231
- }
232
- this._stateChanges.next(undefined);
233
- };
234
- MonthYearPickerComponent.prototype.ngOnDestroy = function () {
235
- this._destroyPopup();
236
- this.close();
237
- this._stateChanges.complete();
238
- };
239
- MonthYearPickerComponent.prototype.writeValue = function (value) {
240
- this.value = value;
241
- this._changeDetectorRef.detectChanges();
242
- };
243
- MonthYearPickerComponent.prototype.registerOnChange = function (fn) {
244
- this.onChange = fn;
245
- };
246
- MonthYearPickerComponent.prototype.registerOnTouched = function (fn) {
247
- this.onTouched = fn;
248
- };
249
- MonthYearPickerComponent.prototype.setDisabledState = function (isDisabled) {
250
- this.disabled = isDisabled;
251
- this._changeDetectorRef.markForCheck();
252
- };
253
- MonthYearPickerComponent.prototype.onValueChange = function (month, year) {
254
- var monthYear = new MonthYear(month, year);
255
- this.value = monthYear;
256
- this._changeDetectorRef.detectChanges();
257
- };
258
- MonthYearPickerComponent.prototype.open = function () {
259
- if (this._opened || this.disabled) {
260
- return;
261
- }
262
- if (!this.inputMonthYearContentRef) {
263
- throw Error('Attempted to open an MonthYearPicker with no associated input.');
264
- }
265
- if (this._document) {
266
- this._focusedElementBeforeOpen = this._document.activeElement;
267
- }
268
- this._openAsPopup();
269
- this._opened = true;
270
- this.openedStream.emit();
271
- };
272
- MonthYearPickerComponent.prototype.close = function () {
273
- var _this = this;
274
- if (!this._opened) {
275
- return;
276
- }
277
- if (this._popupComponentRef && this._popupRef) {
278
- var instance = this._popupComponentRef.instance;
279
- instance._startExitAnimation();
280
- instance._animationDone.pipe(take(1)).subscribe(function () { return _this._destroyPopup(); });
281
- }
282
- var completeClose = function () {
283
- if (_this._opened) {
284
- _this._opened = false;
285
- _this.closedStream.emit();
286
- _this._focusedElementBeforeOpen = null;
287
- }
288
- };
289
- if (this._focusedElementBeforeOpen &&
290
- typeof this._focusedElementBeforeOpen.focus === 'function') {
291
- this._focusedElementBeforeOpen.focus();
292
- setTimeout(completeClose);
293
- }
294
- else {
295
- completeClose();
296
- }
297
- };
298
- MonthYearPickerComponent.prototype._openAsPopup = function () {
299
- var _this = this;
300
- var portal = new ComponentPortal(CalendarMonthYearComponent, this._viewContainerRef);
301
- this._destroyPopup();
302
- this._createPopup();
303
- this._popupComponentRef = this._popupRef.attach(portal);
304
- this._popupComponentRef.instance.monthYearPicker = this;
305
- this._ngZone.onStable.pipe(take(1)).subscribe(function () {
306
- _this._popupRef.updatePosition();
307
- });
308
- };
309
- MonthYearPickerComponent.prototype._getConnectedOverlayOrigin = function () {
310
- return this.inputMonthYearContentRef ? this.inputMonthYearContentRef : this.elementRef;
311
- };
312
- MonthYearPickerComponent.prototype._createPopup = function () {
313
- var _this = this;
314
- var positionStrategy = this._overlay.position()
315
- .flexibleConnectedTo(this._getConnectedOverlayOrigin())
316
- .withTransformOriginOn('.mat-datepicker-content')
317
- .withFlexibleDimensions(false)
318
- .withViewportMargin(8)
319
- .withLockedPosition();
320
- var overlayConfig = new OverlayConfig({
321
- positionStrategy: this._setConnectedPositions(positionStrategy),
322
- hasBackdrop: true,
323
- backdropClass: ['mat-overlay-transparent-backdrop', this._backdropHarnessClass],
324
- direction: this._dir || 'ltr',
325
- scrollStrategy: this._scrollStrategy(),
326
- panelClass: 'mat-month-year-picker-popup',
327
- });
328
- this._popupRef = this._overlay.create(overlayConfig);
329
- this._popupRef.overlayElement.setAttribute('role', 'dialog');
330
- merge(this._popupRef.backdropClick(), this._popupRef.detachments(), this._popupRef.keydownEvents().pipe(filter(function (event) { return event.keyCode === ESCAPE || (_this.inputMonthYearContentRef && event.altKey && event.keyCode === UP_ARROW); }))).subscribe(function (event) {
331
- if (event) {
332
- event.preventDefault();
333
- }
334
- _this.close();
335
- });
336
- };
337
- MonthYearPickerComponent.prototype._destroyPopup = function () {
338
- if (this._popupRef) {
339
- this._popupRef.dispose();
340
- this._popupRef = this._popupComponentRef = null;
341
- }
342
- };
343
- MonthYearPickerComponent.prototype._setConnectedPositions = function (strategy) {
344
- var primaryX = this.xPosition === 'end' ? 'end' : 'start';
345
- var secondaryX = primaryX === 'start' ? 'end' : 'start';
346
- var primaryY = this.yPosition === 'above' ? 'bottom' : 'top';
347
- var secondaryY = primaryY === 'top' ? 'bottom' : 'top';
348
- return strategy.withPositions([
349
- {
350
- originX: primaryX,
351
- originY: secondaryY,
352
- overlayX: primaryX,
353
- overlayY: primaryY
354
- },
355
- {
356
- originX: primaryX,
357
- originY: primaryY,
358
- overlayX: primaryX,
359
- overlayY: secondaryY
360
- },
361
- {
362
- originX: secondaryX,
363
- originY: secondaryY,
364
- overlayX: secondaryX,
365
- overlayY: primaryY
366
- },
367
- {
368
- originX: secondaryX,
369
- originY: primaryY,
370
- overlayX: secondaryX,
371
- overlayY: secondaryY
372
- }
373
- ]);
374
- };
375
- var MonthYearPickerComponent_1;
376
- MonthYearPickerComponent.ctorParameters = function () { return [
377
- { type: ElementRef },
378
- { type: ChangeDetectorRef },
379
- { type: Overlay },
380
- { type: NgZone },
381
- { type: ViewContainerRef },
382
- { type: undefined, decorators: [{ type: Inject, args: [GIPI_MONTH_YEAR_SCROLL_STRATEGY,] }] },
383
- { type: Directionality, decorators: [{ type: Optional }] },
384
- { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }
385
- ]; };
386
- __decorate([
387
- ViewChild('inputMonthYearContent', { static: false, }),
388
- __metadata("design:type", ElementRef)
389
- ], MonthYearPickerComponent.prototype, "inputMonthYearContentRef", void 0);
390
- __decorate([
391
- Input(),
392
- __metadata("design:type", String)
393
- ], MonthYearPickerComponent.prototype, "id", void 0);
394
- __decorate([
395
- Input(),
396
- __metadata("design:type", String)
397
- ], MonthYearPickerComponent.prototype, "name", void 0);
398
- __decorate([
399
- Input(),
400
- __metadata("design:type", String)
401
- ], MonthYearPickerComponent.prototype, "label", void 0);
402
- __decorate([
403
- Input(),
404
- __metadata("design:type", String)
405
- ], MonthYearPickerComponent.prototype, "placeholder", void 0);
406
- __decorate([
407
- Input(),
408
- __metadata("design:type", String)
409
- ], MonthYearPickerComponent.prototype, "help", void 0);
410
- __decorate([
411
- Input(),
412
- __metadata("design:type", String)
413
- ], MonthYearPickerComponent.prototype, "locale", void 0);
414
- __decorate([
415
- Input(),
416
- __metadata("design:type", Number)
417
- ], MonthYearPickerComponent.prototype, "year", void 0);
418
- __decorate([
419
- Input(),
420
- __metadata("design:type", Number)
421
- ], MonthYearPickerComponent.prototype, "month", void 0);
422
- __decorate([
423
- Input(),
424
- __metadata("design:type", Boolean)
425
- ], MonthYearPickerComponent.prototype, "multiple", void 0);
426
- __decorate([
427
- Input(),
428
- __metadata("design:type", String)
429
- ], MonthYearPickerComponent.prototype, "xPosition", void 0);
430
- __decorate([
431
- Input(),
432
- __metadata("design:type", String)
433
- ], MonthYearPickerComponent.prototype, "yPosition", void 0);
434
- __decorate([
435
- Input(),
436
- __metadata("design:type", String)
437
- ], MonthYearPickerComponent.prototype, "calendarView", void 0);
438
- __decorate([
439
- Input(),
440
- __metadata("design:type", Boolean),
441
- __metadata("design:paramtypes", [Boolean])
442
- ], MonthYearPickerComponent.prototype, "opened", null);
443
- __decorate([
444
- Input(),
445
- __metadata("design:type", Boolean),
446
- __metadata("design:paramtypes", [Boolean])
447
- ], MonthYearPickerComponent.prototype, "required", null);
448
- __decorate([
449
- Input(),
450
- __metadata("design:type", Boolean),
451
- __metadata("design:paramtypes", [Boolean])
452
- ], MonthYearPickerComponent.prototype, "disabled", null);
453
- __decorate([
454
- Input(),
455
- __metadata("design:type", MonthYear),
456
- __metadata("design:paramtypes", [MonthYear])
457
- ], MonthYearPickerComponent.prototype, "min", null);
458
- __decorate([
459
- Input(),
460
- __metadata("design:type", MonthYear),
461
- __metadata("design:paramtypes", [MonthYear])
462
- ], MonthYearPickerComponent.prototype, "max", null);
463
- __decorate([
464
- Input(),
465
- __metadata("design:type", MonthYear),
466
- __metadata("design:paramtypes", [MonthYear])
467
- ], MonthYearPickerComponent.prototype, "value", null);
468
- __decorate([
469
- Output('opened'),
470
- __metadata("design:type", EventEmitter)
471
- ], MonthYearPickerComponent.prototype, "openedStream", void 0);
472
- __decorate([
473
- Output('closed'),
474
- __metadata("design:type", EventEmitter)
475
- ], MonthYearPickerComponent.prototype, "closedStream", void 0);
476
- MonthYearPickerComponent = MonthYearPickerComponent_1 = __decorate([
477
- Component({
478
- selector: 'gipi-month-year-picker',
479
- template: "<div class=\"input-wrapper\">\n\n <label *ngIf=\"label\"\n class=\"input-label\"\n [attr.for]=\"id\">\n {{ label }}\n <span *ngIf=\"required\"> * </span>\n </label>\n\n <div class=\"input-content\"\n #inputMonthYearContent\n (click)=\"open()\">\n <input matInput\n class=\"input-element\"\n type=\"text\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [readOnly]=\"true\"\n [autocomplete]=\"'off'\"\n [autofocus]=\"false\"\n [ngModel]=\"valueLabel\"\n (click)=\"open()\" />\n\n <div class=\"suffix\">\n <button #button\n mat-icon-button\n type=\"button\"\n class=\"btn-month-year-toggle\"\n [attr.aria-label]=\"'Abrir calend\u00E1rio mensal'\"\n [disabled]=\"disabled\"\n (click)=\"open()\">\n <svg class=\"month-year-toggle-default-icon\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n height=\"24px\"\n fill=\"currentColor\"\n focusable=\"false\">\n <path\n d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\" />\n </svg>\n </button>\n </div>\n </div>\n\n <small *ngIf=\"help\"\n class=\"input-help\">\n {{ help }}\n </small>\n</div>\n",
480
- providers: [
481
- {
482
- provide: NG_VALUE_ACCESSOR,
483
- useExisting: forwardRef(function () { return MonthYearPickerComponent_1; }),
484
- multi: true
485
- },
486
- ],
487
- host: {
488
- 'class': 'gipi-month-year-picker',
489
- },
490
- changeDetection: ChangeDetectionStrategy.OnPush,
491
- styles: [":host{display:block;width:100%}.input-wrapper{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}.input-wrapper .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}.input-wrapper .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}.input-wrapper .input-content{display:flex;font-family:inherit;font-size:inherit;color:inherit;height:4rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.6rem}.input-wrapper .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.prefix:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.suffix:hover){border-color:#6d6f73}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element.ng-invalid:enabled:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:invalid:enabled:hover){border-color:#e07f62}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element.ng-invalid:enabled),.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:invalid:enabled){border-color:#d14014}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element.ng-invalid:enabled:focus),.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:invalid:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #f1c4b6;border-color:#d14014}.input-wrapper .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}.input-wrapper .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}.input-wrapper .input-content .input-element:disabled{cursor:not-allowed}.input-wrapper .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-right:.8rem}.input-wrapper .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#696969}.input-wrapper .input-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-year-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-icon-button .month-year-toggle-default-icon{margin:auto}.btn-month-year-toggle{width:2rem!important;height:2rem!important;line-height:2rem!important}"]
492
- }),
493
- __param(5, Inject(GIPI_MONTH_YEAR_SCROLL_STRATEGY)),
494
- __param(6, Optional()),
495
- __param(7, Optional()), __param(7, Inject(DOCUMENT)),
496
- __metadata("design:paramtypes", [ElementRef,
497
- ChangeDetectorRef,
498
- Overlay,
499
- NgZone,
500
- ViewContainerRef, Object, Directionality, Object])
501
- ], MonthYearPickerComponent);
502
- return MonthYearPickerComponent;
503
- }());
504
- export { MonthYearPickerComponent };
505
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgteWVhci1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy9tb250aC15ZWFyLXBpY2tlci9tb250aC15ZWFyLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN1EsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMs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LFFBQVEsRUFBRSxDQUFBLEVBQUUsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7eUNBUFYsVUFBVTtZQUNELGlCQUFpQjtZQUMzQixPQUFPO1lBQ1IsTUFBTTtZQUNJLGdCQUFnQixVQUVqQixjQUFjO09BckluQyx3QkFBd0IsQ0FzVnBDO0lBQUQsK0JBQUM7Q0FBQSxBQXRWRCxJQXNWQztTQXRWWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBFU0NBUEUsIFVQX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE5nWm9uZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4vLi4vLi4vLi4vY29yZS91dGlscy9vYmplY3QudXRpbCc7XG5cbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbmltcG9ydCB7IENhbGVuZGFyTW9udGhZZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9jYWxlbmRhci1tb250aC15ZWFyL2NhbGVuZGFyLW1vbnRoLXllYXIuY29tcG9uZW50JztcblxuXG5leHBvcnQgY29uc3QgR0lQSV9NT05USF9ZRUFSX1NDUk9MTF9TVFJBVEVHWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjwoKSA9PiBTY3JvbGxTdHJhdGVneT4oJ2dpcGktbW9udGgteWVhci1zY3JvbGwtc3RyYXRlZ3knKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBHSVBJX01PTlRIX1lFQVJfU0NST0xMX1NUUkFURUdZX0ZBQ1RPUlkob3ZlcmxheTogT3ZlcmxheSk6ICgpID0+IFNjcm9sbFN0cmF0ZWd5IHtcbiAgICByZXR1cm4gKCkgPT4gb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcbn1cblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjb25zdCBHSVBJX01PTlRIX1lFQVJfU0NST0xMX1NUUkFURUdZX0ZBQ1RPUllfUFJPVklERVIgPSB7XG4gICAgcHJvdmlkZTogR0lQSV9NT05USF9ZRUFSX1NDUk9MTF9TVFJBVEVHWSxcbiAgICBkZXBzOiBbT3ZlcmxheV0sXG4gICAgdXNlRmFjdG9yeTogR0lQSV9NT05USF9ZRUFSX1NDUk9MTF9TVFJBVEVHWV9GQUNUT1JZLFxufTtcblxuXG5leHBvcnQgY2xhc3MgTW9udGhZZWFyIHtcbiAgICBwcml2YXRlIF9tb250aDogbnVtYmVyO1xuICAgIHByaXZhdGUgX3llYXI6IG51bWJlcjtcblxuICAgIHB1YmxpYyBnZXQgZGF0ZSgpOiBEYXRlIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG1vbWVudCgpLmRheSgxKS5tb250aCh0aGlzLm1vbnRoKS55ZWFyKHRoaXMueWVhcikuc3RhcnRPZignZGF5JykudG9EYXRlKCk7XG4gICAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbW9udGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vbnRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgeWVhcigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5feWVhcjtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihtb250aD86IG51bWJlciwgeWVhcj86IG51bWJlcikge1xuICAgICAgICB0aGlzLl9tb250aCA9IG1vbnRoO1xuICAgICAgICB0aGlzLl95ZWFyID0geWVhcjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNb250aFBpY2tlck1vZGVsIHtcbiAgICBzZWxlY3RlZFllYXJNb21lbnQ6IG1vbWVudC5Nb21lbnQ7XG4gICAgc2VsZWN0ZWRZZWFyVGV4dDogc3RyaW5nO1xuXG4gICAgc2VsZWN0ZWRNb250aE1vbWVudDogbW9tZW50Lk1vbWVudDtcbiAgICBzZWxlY3RlZE1vbnRoSW5kZXg6IG51bWJlcjtcbiAgICBzZWxlY3RlZE1vbnRoWWVhcjogbnVtYmVyO1xuXG4gICAgbW9udGhzOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFllYXJNb21lbnQgPSBtb21lbnQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVZZWFyVGV4dCgpO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aE1vbWVudCA9IG1vbWVudCgpO1xuXG4gICAgICAgIHRoaXMubW9udGhzID0gbW9tZW50Lm1vbnRoc1Nob3J0KCkubWFwKG1vbnRoID0+IGAke21vbnRofS5gKTtcblxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGhJbmRleCA9IHRoaXMuc2VsZWN0ZWRNb250aE1vbWVudC5tb250aCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGhZZWFyID0gdGhpcy5zZWxlY3RlZFllYXJNb21lbnQueWVhcigpO1xuICAgIH1cblxuICAgIHVwZGF0ZVllYXJUZXh0KCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkWWVhclRleHQgPSAhT2JqZWN0VXRpbC5pc051bGwobW9tZW50KSA/IG1vbWVudCh0aGlzLnNlbGVjdGVkWWVhck1vbWVudCkuZm9ybWF0KCdZWVlZJykgOiAnJztcbiAgICB9XG5cbiAgICBzZWxlY3RNb250aChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aE1vbWVudCA9IG1vbWVudCgpLm1vbnRoKGluZGV4KTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoSW5kZXggPSB0aGlzLnNlbGVjdGVkTW9udGhNb21lbnQubW9udGgoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoWWVhciA9IHRoaXMuc2VsZWN0ZWRZZWFyTW9tZW50LnllYXIoKTtcbiAgICB9XG5cbiAgICBpbmNyZW1lbnRZZWFyKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkWWVhck1vbWVudCA9IHRoaXMuc2VsZWN0ZWRZZWFyTW9tZW50LmFkZCgxLCBcInllYXJcIilcbiAgICAgICAgdGhpcy51cGRhdGVZZWFyVGV4dCgpO1xuICAgIH1cblxuICAgIGRlY3JlbWVudFllYXIoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyTW9tZW50ID0gdGhpcy5zZWxlY3RlZFllYXJNb21lbnQuc3VidHJhY3QoMSwgXCJ5ZWFyXCIpXG4gICAgICAgIHRoaXMudXBkYXRlWWVhclRleHQoKTtcbiAgICB9XG59XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dpcGktbW9udGgteWVhci1waWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb250aC15ZWFyLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9udGgteWVhci1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKTogdHlwZW9mIE1vbnRoWWVhclBpY2tlckNvbXBvbmVudCA9PiBNb250aFllYXJQaWNrZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2dpcGktbW9udGgteWVhci1waWNrZXInLFxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1vbnRoWWVhclBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0TW9udGhZZWFyQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSwgfSkgaW5wdXRNb250aFllYXJDb250ZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gICAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nID0gYGdpcGktZGF0ZS1yYW5nZS0ke25leHRVbmlxdWVJZCsrfWA7XG5cbiAgICBwcml2YXRlIF9zY3JvbGxTdHJhdGVneTogKCkgPT4gU2Nyb2xsU3RyYXRlZ3k7XG5cbiAgICBwcml2YXRlIF9wb3B1cFJlZjogT3ZlcmxheVJlZiB8IG51bGw7XG4gICAgcHJpdmF0ZSBfcG9wdXBDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxDYWxlbmRhck1vbnRoWWVhckNvbXBvbmVudD4gfCBudWxsO1xuICAgIHByaXZhdGUgX2ZvY3VzZWRFbGVtZW50QmVmb3JlT3BlbjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9iYWNrZHJvcEhhcm5lc3NDbGFzcyA9IGAke3RoaXMuX25hbWV9LWJhY2tkcm9wYDtcblxuICAgIHJlYWRvbmx5IF9zdGF0ZUNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHVibGljIHZhbHVlTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gICAgcHVibGljIG1vZGVsOiBNb250aFBpY2tlck1vZGVsO1xuXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IGAke3RoaXMuX25hbWV9LWRhdGVgO1xuXG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gYCR7dGhpcy5fbmFtZX0tZGF0ZWA7XG5cbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKSBoZWxwOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpIGxvY2FsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHllYXI6IG51bWJlcjtcbiAgICBASW5wdXQoKSBtb250aDogbnVtYmVyO1xuXG4gICAgLy8gQElucHV0KCkgZW5hYmxlZE1vbnRoczogQXJyYXk8bnVtYmVyPiA9IFtdO1xuICAgIC8vIEBJbnB1dCgpIGRpc2FibGVkTW9udGhzOiBBcnJheTxudW1iZXI+ID0gW107XG5cbiAgICAvLyBASW5wdXQoKSBlbmFibGVkWWVhcnM6IEFycmF5PG51bWJlcj4gPSBbXTtcbiAgICAvLyBASW5wdXQoKSBkaXNhYmxlZFllYXJzOiBBcnJheTxudW1iZXI+ID0gW107XG5cbiAgICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHhQb3NpdGlvbjogJ3N0YXJ0JyB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICAgIEBJbnB1dCgpIHlQb3NpdGlvbjogJ2Fib3ZlJyB8ICdiZWxvdycgPSAnYmVsb3cnO1xuXG4gICAgQElucHV0KCkgY2FsZW5kYXJWaWV3OiAnYm90aCcgfCAneWVhcicgPSAnYm90aCc7XG5cbiAgICBwcml2YXRlIF9vcGVuZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBnZXQgb3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3BlbmVkO1xuICAgIH1cbiAgICBzZXQgb3BlbmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkgPyB0aGlzLm9wZW4oKSA6IHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICAgIH1cbiAgICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbWluOiBNb250aFllYXIgPSBudWxsO1xuICAgIEBJbnB1dCgpIGdldCBtaW4oKTogTW9udGhZZWFyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21pbjtcbiAgICB9XG4gICAgc2V0IG1pbih2YWx1ZTogTW9udGhZZWFyKSB7XG4gICAgICAgIHRoaXMuX21pbiA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX21heDogTW9udGhZZWFyID0gbnVsbDtcbiAgICBASW5wdXQoKSBnZXQgbWF4KCk6IE1vbnRoWWVhciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXg7XG4gICAgfVxuICAgIHNldCBtYXgodmFsdWU6IE1vbnRoWWVhcikge1xuICAgICAgICB0aGlzLl9tYXggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWx1ZTogTW9udGhZZWFyO1xuICAgIEBJbnB1dCgpIGdldCB2YWx1ZSgpOiBNb250aFllYXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuICAgIHNldCB2YWx1ZSh2YWx1ZTogTW9udGhZZWFyKSB7XG4gICAgICAgIGxldCB2YWx1ZUF1eDogTW9udGhZZWFyID0gdmFsdWU7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlQXV4ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWVBdXgpIHtcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5jYWxlbmRhclZpZXcpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdib3RoJzoge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlTGFiZWwgPSBtb21lbnQodmFsdWVBdXguZGF0ZSkuZm9ybWF0KCdNTS9ZWVlZJyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICd5ZWFyJzoge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlTGFiZWwgPSBtb21lbnQodmFsdWVBdXguZGF0ZSkuZm9ybWF0KCdZWVlZJyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVMYWJlbCA9IG1vbWVudCh2YWx1ZUF1eC5kYXRlKS5mb3JtYXQoJ01NL1lZWVknKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZUF1eDtcblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQodGhpcy5fdmFsdWUpO1xuICAgIH1cblxuICAgIEBPdXRwdXQoJ29wZW5lZCcpIG9wZW5lZFN0cmVhbTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoJ2Nsb3NlZCcpIGNsb3NlZFN0cmVhbTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuXG4gICAgb25Ub3VjaGVkOiBGdW5jdGlvbiA9ICgpID0+IHsgfTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQEluamVjdChHSVBJX01PTlRIX1lFQVJfU0NST0xMX1NUUkFURUdZKSBzY3JvbGxTdHJhdGVneTogYW55LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5LFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogYW55LFxuICAgICkge1xuICAgICAgICB0aGlzLl9zY3JvbGxTdHJhdGVneSA9IHNjcm9sbFN0cmF0ZWd5O1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vZGVsID0gbmV3IE1vbnRoUGlja2VyTW9kZWwoKTtcblxuICAgICAgICBpZiAodGhpcy55ZWFyKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLnNlbGVjdGVkWWVhck1vbWVudCA9IG1vbWVudCgpLnllYXIodGhpcy55ZWFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1vbnRoKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLnNlbGVjdGVkTW9udGhJbmRleCA9IHRoaXMubW9udGg7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLnNlbGVjdGVkTW9udGhNb21lbnQgPSBtb21lbnQoKS5tb250aCh0aGlzLm1vbnRoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMueWVhcikge1xuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwuc2VsZWN0ZWRNb250aFllYXIgPSB0aGlzLnllYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vZGVsLnVwZGF0ZVllYXJUZXh0KCk7XG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbCh0aGlzLm1vbnRoKSAmJiBPYmplY3RVdGlsLmlzTnVsbCh0aGlzLnllYXIpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZSh0aGlzLm1vZGVsLnNlbGVjdGVkTW9udGhJbmRleCwgdGhpcy5tb2RlbC5zZWxlY3RlZE1vbnRoWWVhcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uQ2hhbmdlID0gY2hhbmdlc1sneFBvc2l0aW9uJ10gfHwgY2hhbmdlc1sneVBvc2l0aW9uJ107XG5cbiAgICAgICAgaWYgKHBvc2l0aW9uQ2hhbmdlICYmICFwb3NpdGlvbkNoYW5nZS5maXJzdENoYW5nZSAmJiB0aGlzLl9wb3B1cFJlZikge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q29ubmVjdGVkUG9zaXRpb25zKHRoaXMuX3BvcHVwUmVmLmdldENvbmZpZygpLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KTtcblxuICAgICAgICAgICAgaWYgKHRoaXMub3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcG9wdXBSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lQb3B1cCgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IE1vbnRoWWVhcik6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVmFsdWVDaGFuZ2UobW9udGg6IG51bWJlciwgeWVhcjogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IG1vbnRoWWVhcjogTW9udGhZZWFyID0gbmV3IE1vbnRoWWVhcihtb250aCwgeWVhcik7XG4gICAgICAgIHRoaXMudmFsdWUgPSBtb250aFllYXI7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX29wZW5lZCB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmlucHV0TW9udGhZZWFyQ29udGVudFJlZikge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ0F0dGVtcHRlZCB0byBvcGVuIGFuIE1vbnRoWWVhclBpY2tlciB3aXRoIG5vIGFzc29jaWF0ZWQgaW5wdXQuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2RvY3VtZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c2VkRWxlbWVudEJlZm9yZU9wZW4gPSB0aGlzLl9kb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fb3BlbkFzUG9wdXAoKTtcbiAgICAgICAgdGhpcy5fb3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuZWRTdHJlYW0uZW1pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9vcGVuZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fcG9wdXBDb21wb25lbnRSZWYgJiYgdGhpcy5fcG9wdXBSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5fcG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICBpbnN0YW5jZS5fc3RhcnRFeGl0QW5pbWF0aW9uKCk7XG4gICAgICAgICAgICBpbnN0YW5jZS5fYW5pbWF0aW9uRG9uZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9kZXN0cm95UG9wdXAoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb21wbGV0ZUNsb3NlID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX29wZW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX29wZW5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VkU3RyZWFtLmVtaXQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9mb2N1c2VkRWxlbWVudEJlZm9yZU9wZW4gPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh0aGlzLl9mb2N1c2VkRWxlbWVudEJlZm9yZU9wZW4gJiZcbiAgICAgICAgICAgIHR5cGVvZiB0aGlzLl9mb2N1c2VkRWxlbWVudEJlZm9yZU9wZW4uZm9jdXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzZWRFbGVtZW50QmVmb3JlT3Blbi5mb2N1cygpO1xuICAgICAgICAgICAgc2V0VGltZW91dChjb21wbGV0ZUNsb3NlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbXBsZXRlQ2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX29wZW5Bc1BvcHVwKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxDYWxlbmRhck1vbnRoWWVhckNvbXBvbmVudD4gPSBuZXcgQ29tcG9uZW50UG9ydGFsPENhbGVuZGFyTW9udGhZZWFyQ29tcG9uZW50PihDYWxlbmRhck1vbnRoWWVhckNvbXBvbmVudCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XG5cbiAgICAgICAgdGhpcy5fZGVzdHJveVBvcHVwKCk7XG4gICAgICAgIHRoaXMuX2NyZWF0ZVBvcHVwKCk7XG4gICAgICAgIHRoaXMuX3BvcHVwQ29tcG9uZW50UmVmID0gdGhpcy5fcG9wdXBSZWYhLmF0dGFjaChwb3J0YWwpO1xuICAgICAgICB0aGlzLl9wb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5tb250aFllYXJQaWNrZXIgPSB0aGlzO1xuXG4gICAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9wb3B1cFJlZiEudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpOiBFbGVtZW50UmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRNb250aFllYXJDb250ZW50UmVmID8gdGhpcy5pbnB1dE1vbnRoWWVhckNvbnRlbnRSZWYgOiB0aGlzLmVsZW1lbnRSZWY7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlUG9wdXAoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2dldENvbm5lY3RlZE92ZXJsYXlPcmlnaW4oKSlcbiAgICAgICAgICAgIC53aXRoVHJhbnNmb3JtT3JpZ2luT24oJy5tYXQtZGF0ZXBpY2tlci1jb250ZW50JylcbiAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbig4KVxuICAgICAgICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpO1xuXG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9zZXRDb25uZWN0ZWRQb3NpdGlvbnMocG9zaXRpb25TdHJhdGVneSksXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IFsnbWF0LW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLCB0aGlzLl9iYWNrZHJvcEhhcm5lc3NDbGFzc10sXG4gICAgICAgICAgICBkaXJlY3Rpb246IHRoaXMuX2RpciB8fCAnbHRyJyxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9zY3JvbGxTdHJhdGVneSgpLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ21hdC1tb250aC15ZWFyLXBpY2tlci1wb3B1cCcsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3BvcHVwUmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyk7XG4gICAgICAgIHRoaXMuX3BvcHVwUmVmLm92ZXJsYXlFbGVtZW50LnNldEF0dHJpYnV0ZSgncm9sZScsICdkaWFsb2cnKTtcblxuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIHRoaXMuX3BvcHVwUmVmLmJhY2tkcm9wQ2xpY2soKSxcbiAgICAgICAgICAgIHRoaXMuX3BvcHVwUmVmLmRldGFjaG1lbnRzKCksXG4gICAgICAgICAgICB0aGlzLl9wb3B1cFJlZi5rZXlkb3duRXZlbnRzKCkucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFIHx8ICh0aGlzLmlucHV0TW9udGhZZWFyQ29udGVudFJlZiAmJiBldmVudC5hbHRLZXkgJiYgZXZlbnQua2V5Q29kZSA9PT0gVVBfQVJST1cpKSlcbiAgICAgICAgKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kZXN0cm95UG9wdXAoKSB7XG4gICAgICAgIGlmICh0aGlzLl9wb3B1cFJlZikge1xuICAgICAgICAgICAgdGhpcy5fcG9wdXBSZWYuZGlzcG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5fcG9wdXBSZWYgPSB0aGlzLl9wb3B1cENvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRDb25uZWN0ZWRQb3NpdGlvbnMoc3RyYXRlZ3k6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSkge1xuICAgICAgICBjb25zdCBwcmltYXJ5WCA9IHRoaXMueFBvc2l0aW9uID09PSAnZW5kJyA/ICdlbmQnIDogJ3N0YXJ0JztcbiAgICAgICAgY29uc3Qgc2Vjb25kYXJ5WCA9IHByaW1hcnlYID09PSAnc3RhcnQnID8gJ2VuZCcgOiAnc3RhcnQnO1xuICAgICAgICBjb25zdCBwcmltYXJ5WSA9IHRoaXMueVBvc2l0aW9uID09PSAnYWJvdmUnID8gJ2JvdHRvbScgOiAndG9wJztcbiAgICAgICAgY29uc3Qgc2Vjb25kYXJ5WSA9IHByaW1hcnlZID09PSAndG9wJyA/ICdib3R0b20nIDogJ3RvcCc7XG5cbiAgICAgICAgcmV0dXJuIHN0cmF0ZWd5LndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6IHByaW1hcnlYLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6IHNlY29uZGFyeVksXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6IHByaW1hcnlYLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiBwcmltYXJ5WVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiBwcmltYXJ5WCxcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiBwcmltYXJ5WSxcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogcHJpbWFyeVgsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6IHNlY29uZGFyeVlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogc2Vjb25kYXJ5WCxcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiBzZWNvbmRhcnlZLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiBzZWNvbmRhcnlYLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiBwcmltYXJ5WVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiBzZWNvbmRhcnlYLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6IHByaW1hcnlZLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiBzZWNvbmRhcnlYLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiBzZWNvbmRhcnlZXG4gICAgICAgICAgICB9XG4gICAgICAgIF0pO1xuICAgIH1cblxufVxuIl19