@dev-tcloud/tcloud-ui 0.0.89 → 0.0.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/.browserslistrc +16 -0
  2. package/.editorconfig +16 -0
  3. package/.vscode/extensions.json +4 -0
  4. package/.vscode/launch.json +20 -0
  5. package/.vscode/tasks.json +42 -0
  6. package/README.md +79 -79
  7. package/angular.json +147 -0
  8. package/karma.conf.js +44 -0
  9. package/ng-package.json +7 -0
  10. package/package.json +612 -24
  11. package/projects/tcloud-ui/README.md +80 -0
  12. package/{scss → projects/tcloud-ui/assets/scss}/tcloud/custom/buttons.scss +1 -1
  13. package/projects/tcloud-ui/karma.conf.js +44 -0
  14. package/projects/tcloud-ui/ng-package.json +7 -0
  15. package/projects/tcloud-ui/package.json +11 -0
  16. package/projects/tcloud-ui/src/lib/_directives/align/align.directive.ts +42 -0
  17. package/projects/tcloud-ui/src/lib/_directives/directives.module.ts +18 -0
  18. package/projects/tcloud-ui/src/lib/_directives/hover-parent/hover-parent.directive.ts +52 -0
  19. package/projects/tcloud-ui/src/lib/_directives/tooltip/tooltip.directive.ts +179 -0
  20. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.html +3 -0
  21. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.scss +8 -0
  22. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.ts +26 -0
  23. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.css +31 -0
  24. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.html +17 -0
  25. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.ts +62 -0
  26. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.ts +46 -0
  27. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.css +11 -0
  28. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.html +3 -0
  29. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.ts +77 -0
  30. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.ts +24 -0
  31. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.html +45 -0
  32. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.scss +88 -0
  33. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.ts +95 -0
  34. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.ts +21 -0
  35. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/services/data-list.service.ts +42 -0
  36. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.html +13 -0
  37. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.scss +25 -0
  38. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.ts +64 -0
  39. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.html +58 -0
  40. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.scss +136 -0
  41. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.ts +352 -0
  42. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.ts +25 -0
  43. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.ts +4 -0
  44. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/datepicker/css/datepicker.min.css +1 -0
  45. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/datepicker/css/style.css +4 -0
  46. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.html +45 -0
  47. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.scss +44 -0
  48. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.ts +378 -0
  49. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.ts +21 -0
  50. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.html +95 -0
  51. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.scss +154 -0
  52. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.ts +366 -0
  53. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.ts +23 -0
  54. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.html +56 -0
  55. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.scss +67 -0
  56. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.ts +245 -0
  57. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.html +156 -0
  58. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.scss +69 -0
  59. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.ts +501 -0
  60. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.ts +28 -0
  61. package/{lib/_modules/tcloud-ui-filters/tcloud-ui-filters.d.ts → projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.ts} +12 -6
  62. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.html +14 -0
  63. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.scss +33 -0
  64. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.spec.ts +23 -0
  65. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.ts +69 -0
  66. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.ts +21 -0
  67. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.html +15 -0
  68. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.scss +68 -0
  69. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.ts +102 -0
  70. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.ts +18 -0
  71. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.html +9 -0
  72. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.scss +34 -0
  73. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.ts +74 -0
  74. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.ts +18 -0
  75. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.html +3 -0
  76. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.scss +3 -0
  77. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.ts +15 -0
  78. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.html +30 -0
  79. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.scss +30 -0
  80. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.ts +66 -0
  81. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.html +6 -0
  82. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.scss +32 -0
  83. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.ts +18 -0
  84. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.ts +66 -0
  85. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.html +54 -0
  86. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.scss +83 -0
  87. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.ts +185 -0
  88. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.ts +31 -0
  89. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.ts +4 -0
  90. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.html +43 -0
  91. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.scss +111 -0
  92. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.ts +180 -0
  93. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.ts +15 -0
  94. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.html +54 -0
  95. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.scss +97 -0
  96. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.ts +189 -0
  97. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.ts +15 -0
  98. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.html +182 -0
  99. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.scss +272 -0
  100. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.ts +359 -0
  101. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.ts +23 -0
  102. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.html +6 -0
  103. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.scss +21 -0
  104. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.ts +19 -0
  105. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.ts +16 -0
  106. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.html +33 -0
  107. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.scss +117 -0
  108. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.spec.ts +23 -0
  109. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.ts +106 -0
  110. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.ts +18 -0
  111. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.html +5 -0
  112. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.scss +37 -0
  113. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.spec.ts +23 -0
  114. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.ts +18 -0
  115. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.ts +18 -0
  116. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.html +4 -0
  117. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.scss +7 -0
  118. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.ts +39 -0
  119. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.html +24 -0
  120. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.scss +85 -0
  121. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.ts +76 -0
  122. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.html +3 -0
  123. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.scss +23 -0
  124. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.ts +66 -0
  125. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.html +3 -0
  126. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.scss +74 -0
  127. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.ts +68 -0
  128. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.ts +102 -0
  129. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.html +3 -0
  130. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.scss +13 -0
  131. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.ts +59 -0
  132. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.ts +30 -0
  133. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.ts +4 -0
  134. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.html +4 -0
  135. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.scss +0 -0
  136. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.spec.ts +23 -0
  137. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.ts +18 -0
  138. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.ts +18 -0
  139. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.html +22 -0
  140. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.scss +52 -0
  141. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.ts +22 -0
  142. package/projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.ts +18 -0
  143. package/projects/tcloud-ui/src/lib/_pipes/bytes.ts +17 -0
  144. package/projects/tcloud-ui/src/lib/_pipes/cnpj.ts +27 -0
  145. package/projects/tcloud-ui/src/lib/_pipes/cpf.ts +27 -0
  146. package/projects/tcloud-ui/src/lib/_pipes/datebr.ts +80 -0
  147. package/{lib/_pipes/index.d.ts → projects/tcloud-ui/src/lib/_pipes/index.ts} +1 -1
  148. package/projects/tcloud-ui/src/lib/_pipes/monthname.ts +23 -0
  149. package/projects/tcloud-ui/src/lib/_pipes/respective.ts +79 -0
  150. package/projects/tcloud-ui/src/lib/_pipes/statusinfo.ts +79 -0
  151. package/projects/tcloud-ui/src/lib/_pipes/tcloud-pipes.module.ts +43 -0
  152. package/projects/tcloud-ui/src/lib/_services/loading-transitions.service.ts +59 -0
  153. package/projects/tcloud-ui/src/lib/_services/search-in-object.service.ts +100 -0
  154. package/projects/tcloud-ui/src/lib/tcloud-ui.module.ts +92 -0
  155. package/{public-api.d.ts → projects/tcloud-ui/src/public-api.ts} +107 -59
  156. package/projects/tcloud-ui/src/test.ts +27 -0
  157. package/projects/tcloud-ui/tsconfig.lib.json +15 -0
  158. package/projects/tcloud-ui/tsconfig.lib.prod.json +10 -0
  159. package/projects/tcloud-ui/tsconfig.spec.json +17 -0
  160. package/scripts/copy-artifacts.js +40 -0
  161. package/src/app/app.component.html +151 -0
  162. package/src/app/app.component.scss +0 -0
  163. package/src/app/app.component.ts +16 -0
  164. package/src/app/app.module.ts +77 -0
  165. package/src/app/pages/ui-accordion/ui-accordion.component.html +13 -0
  166. package/src/app/pages/ui-accordion/ui-accordion.component.scss +0 -0
  167. package/src/app/pages/ui-accordion/ui-accordion.component.ts +28 -0
  168. package/src/app/pages/ui-choice-issues/ui-choice-issues.component.html +8 -0
  169. package/src/app/pages/ui-choice-issues/ui-choice-issues.component.scss +0 -0
  170. package/src/app/pages/ui-choice-issues/ui-choice-issues.component.ts +21 -0
  171. package/src/app/pages/ui-data-list/ui-data-list.component.html +41 -0
  172. package/src/app/pages/ui-data-list/ui-data-list.component.scss +0 -0
  173. package/src/app/pages/ui-data-list/ui-data-list.component.ts +82 -0
  174. package/src/app/pages/ui-datepicker/ui-datepicker.component.html +27 -0
  175. package/src/app/pages/ui-datepicker/ui-datepicker.component.scss +0 -0
  176. package/src/app/pages/ui-datepicker/ui-datepicker.component.ts +17 -0
  177. package/src/app/pages/ui-datepicker-time/ui-datepicker-time.component.html +7 -0
  178. package/src/app/pages/ui-datepicker-time/ui-datepicker-time.component.scss +0 -0
  179. package/src/app/pages/ui-datepicker-time/ui-datepicker-time.component.ts +21 -0
  180. package/src/app/pages/ui-filters/ui-filters.component.html +27 -0
  181. package/src/app/pages/ui-filters/ui-filters.component.scss +0 -0
  182. package/src/app/pages/ui-filters/ui-filters.component.ts +147 -0
  183. package/src/app/pages/ui-hover-parent/ui-hover-parent.component.html +14 -0
  184. package/src/app/pages/ui-hover-parent/ui-hover-parent.component.scss +22 -0
  185. package/src/app/pages/ui-hover-parent/ui-hover-parent.component.ts +15 -0
  186. package/src/app/pages/ui-input-search/ui-input-search.component.html +19 -0
  187. package/src/app/pages/ui-input-search/ui-input-search.component.scss +0 -0
  188. package/src/app/pages/ui-input-search/ui-input-search.component.ts +100 -0
  189. package/src/app/pages/ui-line-step-circle/ui-line-step-circle.component.html +1 -0
  190. package/src/app/pages/ui-line-step-circle/ui-line-step-circle.component.scss +0 -0
  191. package/src/app/pages/ui-line-step-circle/ui-line-step-circle.component.ts +21 -0
  192. package/src/app/pages/ui-linha-logo/ui-linha-logo.component.html +1 -0
  193. package/src/app/pages/ui-linha-logo/ui-linha-logo.component.scss +0 -0
  194. package/src/app/pages/ui-linha-logo/ui-linha-logo.component.ts +15 -0
  195. package/src/app/pages/ui-loading-transitions/ui-loading-transitions.component.html +3 -0
  196. package/src/app/pages/ui-loading-transitions/ui-loading-transitions.component.scss +0 -0
  197. package/src/app/pages/ui-loading-transitions/ui-loading-transitions.component.ts +30 -0
  198. package/src/app/pages/ui-modal/ui-modal.component.html +20 -0
  199. package/src/app/pages/ui-modal/ui-modal.component.scss +0 -0
  200. package/src/app/pages/ui-modal/ui-modal.component.ts +18 -0
  201. package/src/app/pages/ui-multi-input/ui-multi-input.component.html +14 -0
  202. package/src/app/pages/ui-multi-input/ui-multi-input.component.scss +0 -0
  203. package/src/app/pages/ui-multi-input/ui-multi-input.component.ts +41 -0
  204. package/src/app/pages/ui-multi-select/ui-multi-select.component.html +14 -0
  205. package/src/app/pages/ui-multi-select/ui-multi-select.component.scss +0 -0
  206. package/src/app/pages/ui-multi-select/ui-multi-select.component.ts +51 -0
  207. package/src/app/pages/ui-multiples-values/ui-multiples-values.component.html +8 -0
  208. package/src/app/pages/ui-multiples-values/ui-multiples-values.component.scss +0 -0
  209. package/src/app/pages/ui-multiples-values/ui-multiples-values.component.ts +25 -0
  210. package/src/app/pages/ui-not-found/ui-not-found.component.html +1 -0
  211. package/src/app/pages/ui-not-found/ui-not-found.component.scss +0 -0
  212. package/src/app/pages/ui-not-found/ui-not-found.component.ts +15 -0
  213. package/src/app/pages/ui-number-step/ui-number-step.component.html +11 -0
  214. package/src/app/pages/ui-number-step/ui-number-step.component.scss +0 -0
  215. package/src/app/pages/ui-number-step/ui-number-step.component.ts +21 -0
  216. package/src/app/pages/ui-scroll-box/ui-scroll-box.component.html +69 -0
  217. package/src/app/pages/ui-scroll-box/ui-scroll-box.component.scss +0 -0
  218. package/src/app/pages/ui-scroll-box/ui-scroll-box.component.ts +15 -0
  219. package/src/app/pages/ui-search-in-object/ui-search-in-object.component.html +27 -0
  220. package/src/app/pages/ui-search-in-object/ui-search-in-object.component.scss +0 -0
  221. package/src/app/pages/ui-search-in-object/ui-search-in-object.component.ts +28 -0
  222. package/src/app/pages/ui-tab-menu/ui-tab-menu.component.html +12 -0
  223. package/src/app/pages/ui-tab-menu/ui-tab-menu.component.scss +0 -0
  224. package/src/app/pages/ui-tab-menu/ui-tab-menu.component.spec.ts +23 -0
  225. package/src/app/pages/ui-tab-menu/ui-tab-menu.component.ts +19 -0
  226. package/src/app/pages/ui-table/ui-table.component.html +37 -0
  227. package/src/app/pages/ui-table/ui-table.component.scss +0 -0
  228. package/src/app/pages/ui-table/ui-table.component.ts +15 -0
  229. package/src/app/pages/ui-tooltip/ui-tooltip.component.html +17 -0
  230. package/src/app/pages/ui-tooltip/ui-tooltip.component.scss +0 -0
  231. package/src/app/pages/ui-tooltip/ui-tooltip.component.ts +15 -0
  232. package/src/app/pages/ui-welcome/ui-welcome.component.html +6 -0
  233. package/src/app/pages/ui-welcome/ui-welcome.component.scss +0 -0
  234. package/src/app/pages/ui-welcome/ui-welcome.component.ts +19 -0
  235. package/src/assets/.gitkeep +0 -0
  236. package/src/assets/css/bootstrap.min.css +7 -0
  237. package/src/assets/css/style.css +8351 -0
  238. package/src/environments/environment.prod.ts +3 -0
  239. package/src/environments/environment.ts +16 -0
  240. package/src/favicon.ico +0 -0
  241. package/src/index.html +18 -0
  242. package/src/main.ts +12 -0
  243. package/src/polyfills.ts +53 -0
  244. package/src/test.ts +26 -0
  245. package/tsconfig.app.json +15 -0
  246. package/tsconfig.json +38 -0
  247. package/tsconfig.spec.json +18 -0
  248. package/esm2020/dev-tcloud-tcloud-ui.mjs +0 -5
  249. package/esm2020/lib/_directives/align/align.directive.mjs +0 -39
  250. package/esm2020/lib/_directives/directives.module.mjs +0 -30
  251. package/esm2020/lib/_directives/hover-parent/hover-parent.directive.mjs +0 -58
  252. package/esm2020/lib/_directives/tooltip/tooltip.directive.mjs +0 -163
  253. package/esm2020/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.mjs +0 -22
  254. package/esm2020/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.mjs +0 -54
  255. package/esm2020/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.mjs +0 -38
  256. package/esm2020/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.mjs +0 -75
  257. package/esm2020/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.mjs +0 -34
  258. package/esm2020/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.mjs +0 -88
  259. package/esm2020/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.mjs +0 -31
  260. package/esm2020/lib/_modules/tcloud-ui-data-list/services/data-list.service.mjs +0 -38
  261. package/esm2020/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.mjs +0 -60
  262. package/esm2020/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.mjs +0 -317
  263. package/esm2020/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.mjs +0 -3
  264. package/esm2020/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.mjs +0 -36
  265. package/esm2020/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.mjs +0 -303
  266. package/esm2020/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.mjs +0 -31
  267. package/esm2020/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.mjs +0 -311
  268. package/esm2020/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.mjs +0 -39
  269. package/esm2020/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.mjs +0 -186
  270. package/esm2020/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.mjs +0 -468
  271. package/esm2020/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.mjs +0 -19
  272. package/esm2020/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.mjs +0 -44
  273. package/esm2020/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.mjs +0 -66
  274. package/esm2020/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.mjs +0 -31
  275. package/esm2020/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.mjs +0 -93
  276. package/esm2020/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.mjs +0 -24
  277. package/esm2020/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.mjs +0 -65
  278. package/esm2020/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.mjs +0 -24
  279. package/esm2020/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.mjs +0 -14
  280. package/esm2020/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.mjs +0 -61
  281. package/esm2020/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.mjs +0 -21
  282. package/esm2020/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.mjs +0 -56
  283. package/esm2020/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.mjs +0 -196
  284. package/esm2020/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.mjs +0 -2
  285. package/esm2020/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.mjs +0 -46
  286. package/esm2020/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.mjs +0 -168
  287. package/esm2020/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.mjs +0 -27
  288. package/esm2020/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.mjs +0 -180
  289. package/esm2020/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.mjs +0 -27
  290. package/esm2020/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.mjs +0 -309
  291. package/esm2020/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.mjs +0 -35
  292. package/esm2020/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.mjs +0 -20
  293. package/esm2020/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.mjs +0 -24
  294. package/esm2020/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.mjs +0 -99
  295. package/esm2020/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.mjs +0 -24
  296. package/esm2020/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.mjs +0 -21
  297. package/esm2020/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.mjs +0 -24
  298. package/esm2020/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.mjs +0 -36
  299. package/esm2020/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.mjs +0 -68
  300. package/esm2020/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.mjs +0 -62
  301. package/esm2020/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.mjs +0 -64
  302. package/esm2020/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.mjs +0 -86
  303. package/esm2020/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.mjs +0 -56
  304. package/esm2020/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.mjs +0 -2
  305. package/esm2020/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.mjs +0 -44
  306. package/esm2020/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.mjs +0 -21
  307. package/esm2020/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.mjs +0 -24
  308. package/esm2020/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.mjs +0 -31
  309. package/esm2020/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.mjs +0 -24
  310. package/esm2020/lib/_pipes/bytes.mjs +0 -23
  311. package/esm2020/lib/_pipes/cnpj.mjs +0 -37
  312. package/esm2020/lib/_pipes/cpf.mjs +0 -37
  313. package/esm2020/lib/_pipes/datebr.mjs +0 -102
  314. package/esm2020/lib/_pipes/index.mjs +0 -8
  315. package/esm2020/lib/_pipes/monthname.mjs +0 -25
  316. package/esm2020/lib/_pipes/respective.mjs +0 -73
  317. package/esm2020/lib/_pipes/statusinfo.mjs +0 -78
  318. package/esm2020/lib/_pipes/tcloud-pipes.module.mjs +0 -69
  319. package/esm2020/lib/_services/loading-transitions.service.mjs +0 -52
  320. package/esm2020/lib/_services/search-in-object.service.mjs +0 -99
  321. package/esm2020/lib/tcloud-ui.module.mjs +0 -181
  322. package/esm2020/public-api.mjs +0 -85
  323. package/fesm2015/dev-tcloud-tcloud-ui.mjs +0 -5169
  324. package/fesm2015/dev-tcloud-tcloud-ui.mjs.map +0 -1
  325. package/fesm2020/dev-tcloud-tcloud-ui.mjs +0 -5151
  326. package/fesm2020/dev-tcloud-tcloud-ui.mjs.map +0 -1
  327. package/index.d.ts +0 -5
  328. package/lib/_directives/align/align.directive.d.ts +0 -13
  329. package/lib/_directives/directives.module.d.ts +0 -9
  330. package/lib/_directives/hover-parent/hover-parent.directive.d.ts +0 -15
  331. package/lib/_directives/tooltip/tooltip.directive.d.ts +0 -34
  332. package/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.d.ts +0 -11
  333. package/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.d.ts +0 -20
  334. package/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.d.ts +0 -20
  335. package/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.d.ts +0 -27
  336. package/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.d.ts +0 -10
  337. package/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.d.ts +0 -27
  338. package/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.d.ts +0 -9
  339. package/lib/_modules/tcloud-ui-data-list/services/data-list.service.d.ts +0 -20
  340. package/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.d.ts +0 -22
  341. package/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.d.ts +0 -75
  342. package/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.d.ts +0 -4
  343. package/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.d.ts +0 -10
  344. package/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.d.ts +0 -46
  345. package/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.d.ts +0 -9
  346. package/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.d.ts +0 -51
  347. package/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.d.ts +0 -11
  348. package/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.d.ts +0 -41
  349. package/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.d.ts +0 -60
  350. package/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.d.ts +0 -12
  351. package/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.d.ts +0 -28
  352. package/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.d.ts +0 -9
  353. package/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.d.ts +0 -28
  354. package/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.d.ts +0 -8
  355. package/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.d.ts +0 -17
  356. package/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.d.ts +0 -8
  357. package/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.d.ts +0 -8
  358. package/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.d.ts +0 -26
  359. package/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.d.ts +0 -10
  360. package/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.d.ts +0 -24
  361. package/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.d.ts +0 -68
  362. package/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.d.ts +0 -4
  363. package/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.d.ts +0 -12
  364. package/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.d.ts +0 -41
  365. package/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.d.ts +0 -9
  366. package/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.d.ts +0 -40
  367. package/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.d.ts +0 -9
  368. package/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.d.ts +0 -63
  369. package/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.d.ts +0 -10
  370. package/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.d.ts +0 -8
  371. package/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.d.ts +0 -8
  372. package/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.d.ts +0 -29
  373. package/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.d.ts +0 -8
  374. package/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.d.ts +0 -10
  375. package/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.d.ts +0 -8
  376. package/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.d.ts +0 -15
  377. package/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.d.ts +0 -21
  378. package/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.d.ts +0 -21
  379. package/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.d.ts +0 -22
  380. package/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.d.ts +0 -28
  381. package/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.d.ts +0 -20
  382. package/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.d.ts +0 -4
  383. package/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.d.ts +0 -12
  384. package/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.d.ts +0 -10
  385. package/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.d.ts +0 -8
  386. package/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.d.ts +0 -13
  387. package/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.d.ts +0 -8
  388. package/lib/_pipes/bytes.d.ts +0 -8
  389. package/lib/_pipes/cnpj.d.ts +0 -9
  390. package/lib/_pipes/cpf.d.ts +0 -9
  391. package/lib/_pipes/datebr.d.ts +0 -11
  392. package/lib/_pipes/monthname.d.ts +0 -8
  393. package/lib/_pipes/respective.d.ts +0 -11
  394. package/lib/_pipes/statusinfo.d.ts +0 -15
  395. package/lib/_pipes/tcloud-pipes.module.d.ts +0 -14
  396. package/lib/_services/loading-transitions.service.d.ts +0 -16
  397. package/lib/_services/search-in-object.service.d.ts +0 -19
  398. package/lib/tcloud-ui.module.d.ts +0 -27
  399. /package/{datepicker → projects/tcloud-ui/assets/datepicker}/js/datepicker-full.min.js +0 -0
  400. /package/{scss → projects/tcloud-ui/assets/scss}/components/custom/loading-transitions.scss +0 -0
  401. /package/{scss → projects/tcloud-ui/assets/scss}/components/custom/table.scss +0 -0
  402. /package/{scss → projects/tcloud-ui/assets/scss}/components/custom/tooltip.scss +0 -0
  403. /package/{scss → projects/tcloud-ui/assets/scss}/components/custom/validation.scss +0 -0
  404. /package/{scss → projects/tcloud-ui/assets/scss}/components/custom/variables.scss +0 -0
  405. /package/{scss → projects/tcloud-ui/assets/scss}/components/styles.scss +0 -0
  406. /package/{scss → projects/tcloud-ui/assets/scss}/tcloud/custom/card.scss +0 -0
  407. /package/{scss → projects/tcloud-ui/assets/scss}/tcloud/custom/colors-prime.scss +0 -0
  408. /package/{scss → projects/tcloud-ui/assets/scss}/tcloud/custom/colors-standard.scss +0 -0
  409. /package/{scss → projects/tcloud-ui/assets/scss}/tcloud/custom/colors.scss +0 -0
  410. /package/{scss → projects/tcloud-ui/assets/scss}/tcloud/custom/forms.scss +0 -0
  411. /package/{scss → projects/tcloud-ui/assets/scss}/tcloud/custom/layout.scss +0 -0
  412. /package/{scss → projects/tcloud-ui/assets/scss}/tcloud/custom/mixins.scss +0 -0
  413. /package/{scss → projects/tcloud-ui/assets/scss}/tcloud/custom/tcloud-prime.scss +0 -0
  414. /package/{scss → projects/tcloud-ui/assets/scss}/tcloud/custom/tcloud-standard.scss +0 -0
  415. /package/{scss → projects/tcloud-ui/assets/scss}/tcloud/custom/text.scss +0 -0
  416. /package/{scss → projects/tcloud-ui/assets/scss}/tcloud/custom/variables.scss +0 -0
  417. /package/{scss → projects/tcloud-ui/assets/scss}/tcloud/styles.scss +0 -0
@@ -1,186 +0,0 @@
1
- import { Component, Input, Output, EventEmitter, forwardRef } from '@angular/core';
2
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "../../../tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component";
7
- const CUSTOM_INPUT_VALIDATORS = {
8
- provide: NG_VALIDATORS,
9
- useExisting: forwardRef(() => TCloudUiRangeDateComponent),
10
- multi: true
11
- };
12
- const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
13
- provide: NG_VALUE_ACCESSOR,
14
- useExisting: forwardRef(() => TCloudUiRangeDateComponent),
15
- multi: true
16
- };
17
- const noop = () => {
18
- };
19
- export class TCloudUiRangeDateComponent {
20
- constructor() {
21
- this.result = {};
22
- this.options_date_time = [];
23
- this.use_validation_required = false;
24
- this.onChange = new EventEmitter();
25
- this.defaultValuePeriodStartStop = '';
26
- this.descriptionStart = '';
27
- this.descriptionStop = '';
28
- this.UTC = false;
29
- this.mode = 'select';
30
- this.isValid = false;
31
- //Placeholders for the callbacks which are later providesd
32
- //by the Control Value Accessor
33
- this.onTouchedCallback = noop;
34
- this.onChangeCallback = noop;
35
- }
36
- ngOnInit() {
37
- this.setOptionsDateTime();
38
- }
39
- setOptionsDateTime() {
40
- this.options_date_time = [
41
- { value: '7-days', description: '7 dias' },
42
- { value: '15-days', description: '15 dias' },
43
- { value: '30-days', description: '30 dias' },
44
- { value: 'current-month', description: 'Mês atual' },
45
- { value: 'current-year', description: 'Ano atual' }
46
- ];
47
- setTimeout(() => {
48
- if (this.defaultValuePeriodStartStop !== '') {
49
- this.onChangeOptionsDateTime(this.defaultValuePeriodStartStop);
50
- }
51
- });
52
- }
53
- onChangeOptionsDateTime(event) {
54
- this.isValid = false;
55
- // this.description_options_date_time = '';
56
- // this.value_options_date_time = '';
57
- event = (event.value) ? event.value : event;
58
- let now = new Date();
59
- let filter_date = undefined;
60
- if (event === '7-days') {
61
- filter_date = new Date((new Date(now)).setDate(now.getDate() - 7));
62
- filter_date = new Date((filter_date).setSeconds(0));
63
- }
64
- if (event === '15-days') {
65
- filter_date = new Date((new Date(now)).setDate(now.getDate() - 15));
66
- filter_date = new Date((filter_date).setSeconds(0));
67
- }
68
- if (event === '30-days') {
69
- filter_date = new Date((new Date(now)).setDate(now.getDate() - 30));
70
- filter_date = new Date((filter_date).setSeconds(0));
71
- }
72
- if (event === 'current-month') {
73
- filter_date = new Date(now.getFullYear(), now.getMonth(), 1);
74
- }
75
- if (event === 'current-year') {
76
- filter_date = new Date(now.getFullYear(), 0, 1);
77
- }
78
- if (filter_date) {
79
- this.result = {
80
- start: filter_date,
81
- stop: now
82
- };
83
- this.onChange.emit(this.result);
84
- this.isValid = true;
85
- }
86
- else {
87
- this.result = {};
88
- this.onChange.emit(this.result);
89
- this.isValid = false;
90
- }
91
- }
92
- onChangeStartDateTime(event) {
93
- this.isValid = false;
94
- if (this.result && this.result.start && this.result.stop) {
95
- this.onChange.emit(this.result);
96
- this.isValid = true;
97
- }
98
- else {
99
- this.result = {};
100
- this.onChange.emit(this.result);
101
- }
102
- }
103
- onChangeStopDateTime(event) {
104
- this.isValid = false;
105
- if (this.result && this.result.start && this.result.stop) {
106
- this.onChange.emit(this.result);
107
- this.isValid = true;
108
- }
109
- else {
110
- this.result = {};
111
- this.onChange.emit(this.result);
112
- }
113
- }
114
- toggle() {
115
- const mode = (this.mode === 'select') ? 'datepickers' : 'select';
116
- if (mode === 'select') {
117
- this.isValid = false;
118
- this.result = {};
119
- this.onChange.emit(this.result);
120
- }
121
- this.mode = mode;
122
- }
123
- //get accessor
124
- get value() {
125
- return this.innerValue;
126
- }
127
- ;
128
- //set accessor including call the onchange callback
129
- set value(v) {
130
- if (v !== this.innerValue) {
131
- this.innerValue = v;
132
- this.onChangeCallback(v);
133
- }
134
- }
135
- //Set touched on blur
136
- onBlur() {
137
- this.onTouchedCallback();
138
- }
139
- //From ControlValueAccessor interface
140
- writeValue(value) {
141
- if (value !== this.innerValue) {
142
- this.innerValue = value;
143
- //this.toSetDefault(value);
144
- }
145
- }
146
- //From ControlValueAccessor interface
147
- registerOnChange(fn) {
148
- this.onChangeCallback = fn;
149
- }
150
- //From ControlValueAccessor interface
151
- registerOnTouched(fn) {
152
- this.onTouchedCallback = fn;
153
- }
154
- validate(c) {
155
- if (c && (typeof this.required !== 'undefined')) {
156
- this.use_validation_required = true;
157
- return (this.check_is_valid()) ? null : 'required';
158
- }
159
- return null;
160
- }
161
- check_is_valid() {
162
- if (this.result && this.result.start && this.result.stop) {
163
- return true;
164
- }
165
- return false;
166
- }
167
- }
168
- TCloudUiRangeDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiRangeDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
169
- TCloudUiRangeDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiRangeDateComponent, selector: "range-date", inputs: { defaultValuePeriodStartStop: "defaultValuePeriodStartStop", required: "required", descriptionStart: "descriptionStart", descriptionStop: "descriptionStop", UTC: "UTC" }, outputs: { onChange: "onChange" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS], ngImport: i0, template: "<table class=\"area-range-date\">\n <tr>\n\n <td>\n <div *ngIf=\"mode === 'select'\">\n <div class=\"description-period\">Per\u00EDodo</div>\n <select name=\"periodo\" class=\"form-control tc-form-control\" (change)=\"onChangeOptionsDateTime($event.target)\" [(ngModel)]=\"defaultValuePeriodStartStop\" >\n <option value=\"\"></option> \n <ng-container *ngFor=\"let item of options_date_time\">\n <option [value]=\"item.value\">{{ item.description }}</option>\n </ng-container>\n </select>\n </div>\n <div *ngIf=\"mode === 'datepickers'\">\n\n <table class=\"area-range-datepickers\">\n <tr>\n <td>\n <div class=\"description-start\">{{ descriptionStart }}</div>\n <tcloud-ui-datepicker-time \n #_input_start \n [UTC]=\"UTC\"\n [(ngModel)]=\"result.start\" \n name=\"input_start\" \n (eventChange)=\"onChangeStartDateTime(_input_start)\">\n </tcloud-ui-datepicker-time>\n </td>\n <td>\n <div class=\"description-stop\">{{ descriptionStop }}</div>\n <tcloud-ui-datepicker-time \n #_input_stop\n [UTC]=\"UTC\"\n [(ngModel)]=\"result.stop\" \n name=\"input_stop\" \n (eventChange)=\"onChangeStopDateTime(_input_stop)\">\n </tcloud-ui-datepicker-time>\n </td>\n </tr>\n </table>\n\n </div>\n </td>\n\n <td>\n <button class=\"btn-mode-range-date\" [class.active]=\"mode === 'select'\" (click)=\"toggle()\" type=\"button\">\n\n <i *ngIf=\"mode === 'select'\" class=\"far fa-calendar-alt\" title=\"Alterar para calend\u00E1rio\"></i>\n <i *ngIf=\"mode !== 'select'\" class=\"fas fa-calendar-week\" title=\"Selecionar per\u00EDodo\"></i>\n\n <!-- <div *ngIf=\"mode === 'select'\">Exibir<br>Calend\u00E1rio</div> -->\n <!-- <div *ngIf=\"mode !== 'select'\">Exibir<br>Per\u00EDodo</div> -->\n </button>\n </td>\n\n </tr>\n</table>", styles: [".area-range-date{width:100%}.area-range-date tr td:first-child{width:calc(100% - 35px)}.area-range-date tr td:first-child select{color:#535353;border-radius:3px 0 0 3px!important}.area-range-date tr td:first-child .area-range-datepickers{width:100%}.area-range-date tr td:first-child .area-range-datepickers td{width:50%!important}.area-range-date tr td:last-child{width:35px}.area-range-date tr td:last-child .btn-mode-range-date{width:100%;text-align:center;border:1px solid #ccc;background-color:#fff;font-size:17px;line-height:1;cursor:pointer;color:#6c6c6c;height:40px;border-radius:0 3px 3px 0}.area-range-date tr td:last-child .btn-mode-range-date:focus{color:#403d3d}.active{background-color:#eee!important}.description-period,.description-start{position:relative;left:17px;top:-15px;line-height:0}.description-stop{position:relative;top:-15px;line-height:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TCloudUiDatepickerTimeComponent, selector: "tcloud-ui-datepicker-time", inputs: ["UTC", "ngModel", "useOptionsDateTime"], outputs: ["ngModelChange", "onChange", "eventChange"] }] });
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiRangeDateComponent, decorators: [{
171
- type: Component,
172
- args: [{ selector: 'range-date', providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS], template: "<table class=\"area-range-date\">\n <tr>\n\n <td>\n <div *ngIf=\"mode === 'select'\">\n <div class=\"description-period\">Per\u00EDodo</div>\n <select name=\"periodo\" class=\"form-control tc-form-control\" (change)=\"onChangeOptionsDateTime($event.target)\" [(ngModel)]=\"defaultValuePeriodStartStop\" >\n <option value=\"\"></option> \n <ng-container *ngFor=\"let item of options_date_time\">\n <option [value]=\"item.value\">{{ item.description }}</option>\n </ng-container>\n </select>\n </div>\n <div *ngIf=\"mode === 'datepickers'\">\n\n <table class=\"area-range-datepickers\">\n <tr>\n <td>\n <div class=\"description-start\">{{ descriptionStart }}</div>\n <tcloud-ui-datepicker-time \n #_input_start \n [UTC]=\"UTC\"\n [(ngModel)]=\"result.start\" \n name=\"input_start\" \n (eventChange)=\"onChangeStartDateTime(_input_start)\">\n </tcloud-ui-datepicker-time>\n </td>\n <td>\n <div class=\"description-stop\">{{ descriptionStop }}</div>\n <tcloud-ui-datepicker-time \n #_input_stop\n [UTC]=\"UTC\"\n [(ngModel)]=\"result.stop\" \n name=\"input_stop\" \n (eventChange)=\"onChangeStopDateTime(_input_stop)\">\n </tcloud-ui-datepicker-time>\n </td>\n </tr>\n </table>\n\n </div>\n </td>\n\n <td>\n <button class=\"btn-mode-range-date\" [class.active]=\"mode === 'select'\" (click)=\"toggle()\" type=\"button\">\n\n <i *ngIf=\"mode === 'select'\" class=\"far fa-calendar-alt\" title=\"Alterar para calend\u00E1rio\"></i>\n <i *ngIf=\"mode !== 'select'\" class=\"fas fa-calendar-week\" title=\"Selecionar per\u00EDodo\"></i>\n\n <!-- <div *ngIf=\"mode === 'select'\">Exibir<br>Calend\u00E1rio</div> -->\n <!-- <div *ngIf=\"mode !== 'select'\">Exibir<br>Per\u00EDodo</div> -->\n </button>\n </td>\n\n </tr>\n</table>", styles: [".area-range-date{width:100%}.area-range-date tr td:first-child{width:calc(100% - 35px)}.area-range-date tr td:first-child select{color:#535353;border-radius:3px 0 0 3px!important}.area-range-date tr td:first-child .area-range-datepickers{width:100%}.area-range-date tr td:first-child .area-range-datepickers td{width:50%!important}.area-range-date tr td:last-child{width:35px}.area-range-date tr td:last-child .btn-mode-range-date{width:100%;text-align:center;border:1px solid #ccc;background-color:#fff;font-size:17px;line-height:1;cursor:pointer;color:#6c6c6c;height:40px;border-radius:0 3px 3px 0}.area-range-date tr td:last-child .btn-mode-range-date:focus{color:#403d3d}.active{background-color:#eee!important}.description-period,.description-start{position:relative;left:17px;top:-15px;line-height:0}.description-stop{position:relative;top:-15px;line-height:0}\n"] }]
173
- }], ctorParameters: function () { return []; }, propDecorators: { onChange: [{
174
- type: Output
175
- }], defaultValuePeriodStartStop: [{
176
- type: Input
177
- }], required: [{
178
- type: Input
179
- }], descriptionStart: [{
180
- type: Input
181
- }], descriptionStop: [{
182
- type: Input
183
- }], UTC: [{
184
- type: Input
185
- }] } });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktZmlsdGVycy9jb21wb25lbnRzL3JhbmdlLWRhdGUvcmFuZ2UtZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktZmlsdGVycy9jb21wb25lbnRzL3JhbmdlLWRhdGUvcmFuZ2UtZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQWUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRS9FLE1BQU8sdUJBQXVCLEdBQVE7SUFDcEMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztJQUN6RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUE7QUFFRCxNQUFNLG1DQUFtQyxHQUFRO0lBQy9DLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztJQUN6RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUU7QUFDbEIsQ0FBQyxDQUFDO0FBY0YsTUFBTSxPQUFPLDBCQUEwQjtJQXFCckM7UUFuQkEsV0FBTSxHQUFHLEVBQXFCLENBQUM7UUFFL0Isc0JBQWlCLEdBQVEsRUFBRSxDQUFDO1FBQzVCLDRCQUF1QixHQUFZLEtBQUssQ0FBQztRQUUvQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFFaEQsZ0NBQTJCLEdBQVcsRUFBRSxDQUFDO1FBR3pDLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUM5QixvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQUU3QixRQUFHLEdBQVksS0FBSyxDQUFDO1FBRTlCLFNBQUksR0FBVyxRQUFRLENBQUM7UUFFeEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQTJJaEIsMERBQTBEO1FBQzFELCtCQUErQjtRQUN2QixzQkFBaUIsR0FBZSxJQUFJLENBQUM7UUFDckMscUJBQWdCLEdBQXFCLElBQUksQ0FBQztJQTVJbEMsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsaUJBQWlCLEdBQUc7WUFDdkIsRUFBQyxLQUFLLEVBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUM7WUFDdkMsRUFBQyxLQUFLLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUM7WUFDekMsRUFBQyxLQUFLLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUM7WUFDekMsRUFBQyxLQUFLLEVBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUM7WUFDakQsRUFBQyxLQUFLLEVBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUM7U0FDakQsQ0FBQTtRQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQywyQkFBMkIsS0FBSyxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyx1QkFBdUIsQ0FBRSxJQUFJLENBQUMsMkJBQTJCLENBQUUsQ0FBQzthQUNsRTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVELHVCQUF1QixDQUFDLEtBQVU7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsMkNBQTJDO1FBQzNDLHFDQUFxQztRQUNyQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUU1QyxJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksV0FBVyxHQUFRLFNBQVMsQ0FBQztRQUNqQyxJQUFJLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDdEIsV0FBVyxHQUFHLElBQUksSUFBSSxDQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBRSxDQUFFLENBQUM7WUFDdkUsV0FBVyxHQUFHLElBQUksSUFBSSxDQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUM7U0FDdkQ7UUFFRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDdkIsV0FBVyxHQUFHLElBQUksSUFBSSxDQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBRSxDQUFFLENBQUM7WUFDeEUsV0FBVyxHQUFHLElBQUksSUFBSSxDQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUM7U0FDdkQ7UUFFRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDdkIsV0FBVyxHQUFHLElBQUksSUFBSSxDQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBRSxDQUFFLENBQUM7WUFDeEUsV0FBVyxHQUFHLElBQUksSUFBSSxDQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUM7U0FDdkQ7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cE5VLDBCQUEwQjs0R0FBMUIsMEJBQTBCLDRQQUYxQixDQUFDLG1DQUFtQyxFQUFFLHVCQUF1QixDQUFDLDBCQzVCM0UsZ2xGQXVEUTs0RkR6QkssMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLFlBQVksYUFHWCxDQUFDLG1DQUFtQyxFQUFFLHVCQUF1QixDQUFDOzBFQVMvRCxRQUFRO3NCQUFqQixNQUFNO2dCQUVFLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuY29uc3QgIENVU1RPTV9JTlBVVF9WQUxJREFUT1JTOiBhbnkgPSB7IFxuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLCBcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVENsb3VkVWlSYW5nZURhdGVDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufVxuXG5jb25zdCBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVENsb3VkVWlSYW5nZURhdGVDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufTtcblxuY29uc3Qgbm9vcCA9ICgpID0+IHtcbn07XG5cblxuaW50ZXJmYWNlIElSZXN1bHREYXRlVGltZXtcbiAgc3RhcnQ6IGFueTtcbiAgc3RvcDogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyYW5nZS1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLWRhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yYW5nZS1kYXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0NVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SLCBDVVNUT01fSU5QVVRfVkFMSURBVE9SU11cbn0pXG5leHBvcnQgY2xhc3MgVENsb3VkVWlSYW5nZURhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHJlc3VsdCA9IHt9IGFzIElSZXN1bHREYXRlVGltZTtcblxuICBvcHRpb25zX2RhdGVfdGltZTogYW55ID0gW107XG4gIHVzZV92YWxpZGF0aW9uX3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJUmVzdWx0RGF0ZVRpbWU+KCk7XG5cbiAgQElucHV0KCkgZGVmYXVsdFZhbHVlUGVyaW9kU3RhcnRTdG9wOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcmVxdWlyZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKSBkZXNjcmlwdGlvblN0YXJ0OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZGVzY3JpcHRpb25TdG9wOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBVVEM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtb2RlOiBzdHJpbmcgPSAnc2VsZWN0JztcblxuICBpc1ZhbGlkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldE9wdGlvbnNEYXRlVGltZSgpO1xuICB9XG5cbiAgc2V0T3B0aW9uc0RhdGVUaW1lKCl7XG4gICAgdGhpcy5vcHRpb25zX2RhdGVfdGltZSA9IFtcbiAgICAgIHt2YWx1ZTonNy1kYXlzJywgZGVzY3JpcHRpb246ICc3IGRpYXMnfSxcbiAgICAgIHt2YWx1ZTonMTUtZGF5cycsIGRlc2NyaXB0aW9uOiAnMTUgZGlhcyd9LFxuICAgICAge3ZhbHVlOiczMC1kYXlzJywgZGVzY3JpcHRpb246ICczMCBkaWFzJ30sXG4gICAgICB7dmFsdWU6J2N1cnJlbnQtbW9udGgnLCBkZXNjcmlwdGlvbjogJ03DqnMgYXR1YWwnfSxcbiAgICAgIHt2YWx1ZTonY3VycmVudC15ZWFyJywgZGVzY3JpcHRpb246ICdBbm8gYXR1YWwnfVxuICAgIF1cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmKCB0aGlzLmRlZmF1bHRWYWx1ZVBlcmlvZFN0YXJ0U3RvcCAhPT0gJycgKXtcbiAgICAgICAgdGhpcy5vbkNoYW5nZU9wdGlvbnNEYXRlVGltZSggdGhpcy5kZWZhdWx0VmFsdWVQZXJpb2RTdGFydFN0b3AgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBcbiAgfVxuXG4gIG9uQ2hhbmdlT3B0aW9uc0RhdGVUaW1lKGV2ZW50OiBhbnkpe1xuICAgIHRoaXMuaXNWYWxpZCA9IGZhbHNlO1xuICAgIC8vIHRoaXMuZGVzY3JpcHRpb25fb3B0aW9uc19kYXRlX3RpbWUgPSAnJztcbiAgICAvLyB0aGlzLnZhbHVlX29wdGlvbnNfZGF0ZV90aW1lID0gJyc7XG4gICAgZXZlbnQgPSAoZXZlbnQudmFsdWUpID8gZXZlbnQudmFsdWUgOiBldmVudDtcblxuICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGxldCBmaWx0ZXJfZGF0ZTogYW55ID0gdW5kZWZpbmVkO1xuICAgIGlmKCBldmVudCA9PT0gJzctZGF5cycgKXtcbiAgICAgIGZpbHRlcl9kYXRlID0gbmV3IERhdGUoIChuZXcgRGF0ZShub3cpKS5zZXREYXRlKCBub3cuZ2V0RGF0ZSgpIC0gNyApICk7ICBcbiAgICAgIGZpbHRlcl9kYXRlID0gbmV3IERhdGUoIChmaWx0ZXJfZGF0ZSkuc2V0U2Vjb25kcygwKSApOyAgICAgIFxuICAgIH1cblxuICAgIGlmKCBldmVudCA9PT0gJzE1LWRheXMnICl7XG4gICAgICBmaWx0ZXJfZGF0ZSA9IG5ldyBEYXRlKCAobmV3IERhdGUobm93KSkuc2V0RGF0ZSggbm93LmdldERhdGUoKSAtIDE1ICkgKTtcbiAgICAgIGZpbHRlcl9kYXRlID0gbmV3IERhdGUoIChmaWx0ZXJfZGF0ZSkuc2V0U2Vjb25kcygwKSApO1xuICAgIH1cblxuICAgIGlmKCBldmVudCA9PT0gJzMwLWRheXMnICl7XG4gICAgICBmaWx0ZXJfZGF0ZSA9IG5ldyBEYXRlKCAobmV3IERhdGUobm93KSkuc2V0RGF0ZSggbm93LmdldERhdGUoKSAtIDMwICkgKTtcbiAgICAgIGZpbHRlcl9kYXRlID0gbmV3IERhdGUoIChmaWx0ZXJfZGF0ZSkuc2V0U2Vjb25kcygwKSApO1xuICAgIH1cblxuICAgIGlmKCBldmVudCA9PT0gJ2N1cnJlbnQtbW9udGgnICl7XG4gICAgICBmaWx0ZXJfZGF0ZSA9IG5ldyBEYXRlKG5vdy5nZXRGdWxsWWVhcigpLCBub3cuZ2V0TW9udGgoKSwgMSk7XG4gICAgfVxuXG4gICAgaWYoIGV2ZW50ID09PSAnY3VycmVudC15ZWFyJyApe1xuICAgICAgZmlsdGVyX2RhdGUgPSBuZXcgRGF0ZShub3cuZ2V0RnVsbFllYXIoKSwgMCwgMSk7XG4gICAgfVxuXG4gICAgaWYoZmlsdGVyX2RhdGUpeyAgIFxuICAgICAgXG4gICAgICB0aGlzLnJlc3VsdCA9IHtcbiAgICAgICAgc3RhcnQ6IGZpbHRlcl9kYXRlLFxuICAgICAgICBzdG9wOiBub3dcbiAgICAgIH0gYXMgSVJlc3VsdERhdGVUaW1lO1xuICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMucmVzdWx0KTtcbiAgICAgIHRoaXMuaXNWYWxpZCA9IHRydWU7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLnJlc3VsdCA9IHt9IGFzIElSZXN1bHREYXRlVGltZTtcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLnJlc3VsdCk7XG4gICAgICB0aGlzLmlzVmFsaWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgfVxuXG4gIG9uQ2hhbmdlU3RhcnREYXRlVGltZShldmVudDogYW55KXtcbiAgICB0aGlzLmlzVmFsaWQgPSBmYWxzZTtcbiAgICBpZiggdGhpcy5yZXN1bHQgJiYgdGhpcy5yZXN1bHQuc3RhcnQgJiYgdGhpcy5yZXN1bHQuc3RvcCApe1xuICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMucmVzdWx0KTtcbiAgICAgIHRoaXMuaXNWYWxpZCA9IHRydWU7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLnJlc3VsdCA9IHt9IGFzIElSZXN1bHREYXRlVGltZTtcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLnJlc3VsdCk7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2VTdG9wRGF0ZVRpbWUoZXZlbnQ6IGFueSl7XG4gICAgdGhpcy5pc1ZhbGlkID0gZmFsc2U7XG4gICAgaWYoIHRoaXMucmVzdWx0ICYmIHRoaXMucmVzdWx0LnN0YXJ0ICYmIHRoaXMucmVzdWx0LnN0b3AgKXtcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLnJlc3VsdCk7XG4gICAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xuICAgIH1lbHNle1xuICAgICAgdGhpcy5yZXN1bHQgPSB7fSBhcyBJUmVzdWx0RGF0ZVRpbWU7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodGhpcy5yZXN1bHQpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZSgpe1xuICAgIGNvbnN0IG1vZGUgPSAodGhpcy5tb2RlID09PSAnc2VsZWN0JykgPyAnZGF0ZXBpY2tlcnMnIDogJ3NlbGVjdCc7XG4gICAgaWYoIG1vZGUgPT09ICdzZWxlY3QnICl7XG4gICAgICB0aGlzLmlzVmFsaWQgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVzdWx0ID0ge30gYXMgSVJlc3VsdERhdGVUaW1lO1xuICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMucmVzdWx0KTtcbiAgICB9XG4gICAgdGhpcy5tb2RlID0gbW9kZTtcbiAgfVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuICBpbm5lclZhbHVlOiBhbnkgfCB1bmRlZmluZWQ7XG4gIC8vUGxhY2Vob2xkZXJzIGZvciB0aGUgY2FsbGJhY2tzIHdoaWNoIGFyZSBsYXRlciBwcm92aWRlc2RcbiAgLy9ieSB0aGUgQ29udHJvbCBWYWx1ZSBBY2Nlc3NvclxuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcbiAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gbm9vcDtcblxuICAvL2dldCBhY2Nlc3NvclxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICAgIHJldHVybiB0aGlzLmlubmVyVmFsdWU7XG4gIH07XG5cbiAgLy9zZXQgYWNjZXNzb3IgaW5jbHVkaW5nIGNhbGwgdGhlIG9uY2hhbmdlIGNhbGxiYWNrXG4gIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICBpZiAodiAhPT0gdGhpcy5pbm5lclZhbHVlKSB7XG4gICAgICB0aGlzLmlubmVyVmFsdWUgPSB2OyAgICAgIFxuICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHYpO1xuICAgIH1cbiAgfVxuXG4gIC8vU2V0IHRvdWNoZWQgb24gYmx1clxuICBvbkJsdXIoKSB7XG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjaygpO1xuICB9XG5cbiAgLy9Gcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuaW5uZXJWYWx1ZSkge1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgICAvL3RoaXMudG9TZXREZWZhdWx0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvL0Zyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgLy9Gcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGM6IEZvcm1Db250cm9sKTogYW55IHtcbiAgICBpZiggYyAmJiAoIHR5cGVvZiB0aGlzLnJlcXVpcmVkICE9PSAndW5kZWZpbmVkJyApICl7XG4gICAgICB0aGlzLnVzZV92YWxpZGF0aW9uX3JlcXVpcmVkID0gdHJ1ZTtcbiAgICAgIHJldHVybiAodGhpcy5jaGVja19pc192YWxpZCgpKSA/IG51bGwgOiAncmVxdWlyZWQnO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNoZWNrX2lzX3ZhbGlkKCk6IGJvb2xlYW57XG4gICAgaWYoIHRoaXMucmVzdWx0ICYmIHRoaXMucmVzdWx0LnN0YXJ0ICYmIHRoaXMucmVzdWx0LnN0b3AgKXtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxufVxuIiwiPHRhYmxlIGNsYXNzPVwiYXJlYS1yYW5nZS1kYXRlXCI+XG4gICAgPHRyPlxuXG4gICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtb2RlID09PSAnc2VsZWN0J1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvbi1wZXJpb2RcIj5QZXLDrW9kbzwvZGl2PlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT1cInBlcmlvZG9cIiBjbGFzcz1cImZvcm0tY29udHJvbCB0Yy1mb3JtLWNvbnRyb2xcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlT3B0aW9uc0RhdGVUaW1lKCRldmVudC50YXJnZXQpXCIgWyhuZ01vZGVsKV09XCJkZWZhdWx0VmFsdWVQZXJpb2RTdGFydFN0b3BcIiAgPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+PC9vcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wdGlvbnNfZGF0ZV90aW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCI+e3sgaXRlbS5kZXNjcmlwdGlvbiB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1vZGUgPT09ICdkYXRlcGlja2VycydcIj5cblxuICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImFyZWEtcmFuZ2UtZGF0ZXBpY2tlcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvbi1zdGFydFwiPnt7IGRlc2NyaXB0aW9uU3RhcnQgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGNsb3VkLXVpLWRhdGVwaWNrZXItdGltZSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI19pbnB1dF9zdGFydCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1VUQ109XCJVVENcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJlc3VsdC5zdGFydFwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiaW5wdXRfc3RhcnRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50Q2hhbmdlKT1cIm9uQ2hhbmdlU3RhcnREYXRlVGltZShfaW5wdXRfc3RhcnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Y2xvdWQtdWktZGF0ZXBpY2tlci10aW1lPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb24tc3RvcFwiPnt7IGRlc2NyaXB0aW9uU3RvcCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Y2xvdWQtdWktZGF0ZXBpY2tlci10aW1lIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjX2lucHV0X3N0b3BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1VUQ109XCJVVENcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJlc3VsdC5zdG9wXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJpbnB1dF9zdG9wXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChldmVudENoYW5nZSk9XCJvbkNoYW5nZVN0b3BEYXRlVGltZShfaW5wdXRfc3RvcClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RjbG91ZC11aS1kYXRlcGlja2VyLXRpbWU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuXG4gICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4tbW9kZS1yYW5nZS1kYXRlXCIgW2NsYXNzLmFjdGl2ZV09XCJtb2RlID09PSAnc2VsZWN0J1wiIChjbGljayk9XCJ0b2dnbGUoKVwiIHR5cGU9XCJidXR0b25cIj5cblxuICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwibW9kZSA9PT0gJ3NlbGVjdCdcIiBjbGFzcz1cImZhciBmYS1jYWxlbmRhci1hbHRcIiB0aXRsZT1cIkFsdGVyYXIgcGFyYSBjYWxlbmTDoXJpb1wiPjwvaT5cbiAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIm1vZGUgIT09ICdzZWxlY3QnXCIgY2xhc3M9XCJmYXMgZmEtY2FsZW5kYXItd2Vla1wiIHRpdGxlPVwiU2VsZWNpb25hciBwZXLDrW9kb1wiPjwvaT5cblxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cIm1vZGUgPT09ICdzZWxlY3QnXCI+RXhpYmlyPGJyPkNhbGVuZMOhcmlvPC9kaXY+IC0tPlxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cIm1vZGUgIT09ICdzZWxlY3QnXCI+RXhpYmlyPGJyPlBlcsOtb2RvPC9kaXY+IC0tPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdGQ+XG5cbiAgICA8L3RyPlxuPC90YWJsZT4iXX0=