keevo-components 2.0.55 → 2.0.56

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 (655) hide show
  1. package/ng-package.json +14 -0
  2. package/package.json +27 -40
  3. package/src/assets/.gitkeep +0 -0
  4. package/src/index.ts +1 -0
  5. package/src/lib/api/base-components/base-component-button.ts +29 -0
  6. package/src/lib/api/base-components/base-component-chart.ts +118 -0
  7. package/src/lib/api/base-components/base-component-crud-form.ts +377 -0
  8. package/src/lib/api/base-components/base-component-crud-list.ts +129 -0
  9. package/src/lib/api/base-components/base-component-crud.ts +92 -0
  10. package/src/lib/api/base-components/base-component-dropdown-external.ts +29 -0
  11. package/src/lib/api/base-components/base-component-dropdown-new.ts +112 -0
  12. package/src/lib/api/base-components/base-component-dropdown.ts +257 -0
  13. package/src/lib/api/base-components/base-component-input.ts +121 -0
  14. package/src/lib/api/base-components/base-component-multi-select.ts +187 -0
  15. package/src/lib/api/base-components/base-component-table.ts +366 -0
  16. package/src/lib/api/base-components/base-component.ts +47 -0
  17. package/src/lib/api/components/chart/chart.config.ts +15 -0
  18. package/src/lib/api/components/chart/chart.model.ts +12 -0
  19. package/src/lib/api/components/chart/orchart.config.ts +51 -0
  20. package/src/lib/api/components/chart/orchartnode.ts +44 -0
  21. package/src/lib/api/components/dropdown/filtro.combo.ts +4 -0
  22. package/{lib/api/components/step/step.model.d.ts → src/lib/api/components/step/step.model.ts} +15 -13
  23. package/src/lib/api/components/stepper/kv-stepperpanel.ts +10 -0
  24. package/src/lib/api/components/table/action-item.ts +13 -0
  25. package/src/lib/api/components/table/kv-menuitem.ts +198 -0
  26. package/src/lib/api/components/table/table-dropdown-control.ts +6 -0
  27. package/src/lib/api/components/table/table.config.column.ts +38 -0
  28. package/src/lib/api/components/table/table.config.ts +37 -0
  29. package/src/lib/api/components/table/table.paginate.ts +7 -0
  30. package/{lib/api/components/table/tabledit.config.d.ts → src/lib/api/components/table/tabledit.config.ts} +9 -8
  31. package/src/lib/api/components/table/tableedit.config.column.ts +11 -0
  32. package/src/lib/api/components/tree-table/tree-table-keys.ts +12 -0
  33. package/src/lib/api/components/tree-table/tree-table.config.ts +34 -0
  34. package/src/lib/api/directives/directives.module.ts +19 -0
  35. package/src/lib/api/directives/drag/drag.directive.ts +40 -0
  36. package/src/lib/api/directives/stepper/dynamicinput.directive.ts +23 -0
  37. package/src/lib/api/directives/template/template.directive.ts +15 -0
  38. package/src/lib/api/helpers/component-providers.ts +16 -0
  39. package/src/lib/api/helpers/keevo-validators.ts +174 -0
  40. package/src/lib/api/helpers/severity-color.ts +77 -0
  41. package/src/lib/api/helpers/translate-primeng.ts +25 -0
  42. package/src/lib/api/modules/primeng.module.ts +144 -0
  43. package/src/lib/api/pipes/capitalize.pipe.ts +47 -0
  44. package/src/lib/api/pipes/cpfcnpj.pipe.ts +21 -0
  45. package/src/lib/api/pipes/mask.pipe.ts +24 -0
  46. package/src/lib/api/pipes/pipes.module.ts +26 -0
  47. package/src/lib/api/pipes/telefone.pipe.ts +38 -0
  48. package/src/lib/api/services/base.api.service.ts +115 -0
  49. package/src/lib/api/services/breadcrumbs.service.ts +71 -0
  50. package/src/lib/api/services/chat.service.ts +39 -0
  51. package/src/lib/api/services/component.service.ts +44 -0
  52. package/src/lib/api/services/docs.service.ts +129 -0
  53. package/src/lib/api/services/form.service.ts +139 -0
  54. package/src/lib/api/services/image.cutter.service.ts +291 -0
  55. package/src/lib/api/services/imagens.service.ts +28 -0
  56. package/src/lib/api/services/notification.service.ts +88 -0
  57. package/src/lib/api/services/object.service.ts +33 -0
  58. package/src/lib/api/services/orgchart.service.ts +77 -0
  59. package/src/lib/api/types/breadcrumb.model.ts +5 -0
  60. package/src/lib/api/types/severity.ts +3 -0
  61. package/src/lib/api/types/stimulsoft.reports.d.ts +67463 -0
  62. package/src/lib/components/keevo-components.module.ts +100 -0
  63. package/src/lib/components/kv-avatar/kv-avatar.component.html +34 -0
  64. package/src/lib/components/kv-avatar/kv-avatar.component.scss +114 -0
  65. package/src/lib/components/kv-avatar/kv-avatar.component.spec.ts +23 -0
  66. package/src/lib/components/kv-avatar/kv-avatar.component.ts +154 -0
  67. package/src/lib/components/kv-avatar/kv-avatar.module.ts +32 -0
  68. package/src/lib/components/kv-button/kv-button.component.html +24 -0
  69. package/src/lib/components/kv-button/kv-button.component.spec.ts +23 -0
  70. package/src/lib/components/kv-button/kv-button.component.ts +54 -0
  71. package/src/lib/components/kv-button/kv-button.module.ts +20 -0
  72. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.html +14 -0
  73. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.scss +6 -0
  74. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.ts +25 -0
  75. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.html +13 -0
  76. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.scss +33 -0
  77. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.ts +41 -0
  78. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.html +12 -0
  79. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.scss +18 -0
  80. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.ts +14 -0
  81. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.html +11 -0
  82. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.scss +17 -0
  83. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.ts +14 -0
  84. package/src/lib/components/kv-buttons/kv-button.module.ts +26 -0
  85. package/src/lib/components/kv-card-selection/kv-card-selection.component.html +63 -0
  86. package/src/lib/components/kv-card-selection/kv-card-selection.component.scss +54 -0
  87. package/src/lib/components/kv-card-selection/kv-card-selection.component.spec.ts +23 -0
  88. package/src/lib/components/kv-card-selection/kv-card-selection.component.ts +73 -0
  89. package/src/lib/components/kv-card-selection/kv-card-selection.module.ts +19 -0
  90. package/src/lib/components/kv-carousel/kv-carousel.component.html +26 -0
  91. package/src/lib/components/kv-carousel/kv-carousel.component.scss +47 -0
  92. package/src/lib/components/kv-carousel/kv-carousel.component.spec.ts +23 -0
  93. package/src/lib/components/kv-carousel/kv-carousel.component.ts +40 -0
  94. package/src/lib/components/kv-carousel/kv-carousel.module.ts +19 -0
  95. package/src/lib/components/kv-chart/kv-chart.component.html +38 -0
  96. package/src/lib/components/kv-chart/kv-chart.component.scss +0 -0
  97. package/src/lib/components/kv-chart/kv-chart.component.spec.ts +28 -0
  98. package/src/lib/components/kv-chart/kv-chart.component.ts +174 -0
  99. package/src/lib/components/kv-chart/kv-chart.module.ts +21 -0
  100. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.html +9 -0
  101. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.scss +7 -0
  102. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.spec.ts +23 -0
  103. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.ts +32 -0
  104. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.ts +14 -0
  105. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.html +229 -0
  106. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.scss +153 -0
  107. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.spec.ts +23 -0
  108. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.ts +171 -0
  109. package/src/lib/components/kv-content-viewer/kv-content-viewer.module.ts +26 -0
  110. package/src/lib/components/kv-error/kv-error.component.html +3 -0
  111. package/src/lib/components/kv-error/kv-error.component.scss +5 -0
  112. package/src/lib/components/kv-error/kv-error.component.ts +27 -0
  113. package/src/lib/components/kv-error/kv-error.module.ts +26 -0
  114. package/src/lib/components/kv-file-upload/kv-file-upload.component.html +56 -0
  115. package/src/lib/components/kv-file-upload/kv-file-upload.component.scss +9 -0
  116. package/src/lib/components/kv-file-upload/kv-file-upload.component.spec.ts +23 -0
  117. package/src/lib/components/kv-file-upload/kv-file-upload.component.ts +164 -0
  118. package/src/lib/components/kv-file-upload/kv-file-upload.module.ts +10 -0
  119. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.html +16 -0
  120. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.scss +18 -0
  121. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.ts +42 -0
  122. package/src/lib/components/kv-file-viewer/kv-file-viewer.module.ts +14 -0
  123. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.html +34 -0
  124. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.scss +17 -0
  125. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.ts +80 -0
  126. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.ts +15 -0
  127. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.html +103 -0
  128. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.scss +153 -0
  129. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.spec.ts +23 -0
  130. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.ts +73 -0
  131. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.module.ts +18 -0
  132. package/src/lib/components/kv-filter-card/kv-filter-card.component.html +12 -0
  133. package/src/lib/components/kv-filter-card/kv-filter-card.component.scss +76 -0
  134. package/src/lib/components/kv-filter-card/kv-filter-card.component.spec.ts +23 -0
  135. package/src/lib/components/kv-filter-card/kv-filter-card.component.ts +18 -0
  136. package/src/lib/components/kv-filter-card/kv-filter-card.module.ts +23 -0
  137. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.html +25 -0
  138. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.scss +22 -0
  139. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.spec.ts +23 -0
  140. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.ts +20 -0
  141. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.ts +20 -0
  142. package/src/lib/components/kv-g-icon/kv-g-icon.component.html +1 -0
  143. package/src/lib/components/kv-g-icon/kv-g-icon.component.scss +0 -0
  144. package/src/lib/components/kv-g-icon/kv-g-icon.component.spec.ts +23 -0
  145. package/src/lib/components/kv-g-icon/kv-g-icon.component.ts +10 -0
  146. package/src/lib/components/kv-g-icon/kv-g-icon.module.ts +11 -0
  147. package/src/lib/components/kv-home-card/kv-home-card.component.html +35 -0
  148. package/src/lib/components/kv-home-card/kv-home-card.component.scss +5 -0
  149. package/src/lib/components/kv-home-card/kv-home-card.component.spec.ts +23 -0
  150. package/src/lib/components/kv-home-card/kv-home-card.component.ts +33 -0
  151. package/src/lib/components/kv-home-card/kv-home-card.module.ts +18 -0
  152. package/src/lib/components/kv-image-upload/kv-image-upload.component.html +64 -0
  153. package/src/lib/components/kv-image-upload/kv-image-upload.component.scss +0 -0
  154. package/src/lib/components/kv-image-upload/kv-image-upload.component.ts +153 -0
  155. package/src/lib/components/kv-image-upload/kv-image-upload.module.ts +10 -0
  156. package/src/lib/components/kv-inputs/kv-check/kv-check.component.html +12 -0
  157. package/src/lib/components/kv-inputs/kv-check/kv-check.component.scss +38 -0
  158. package/src/lib/components/kv-inputs/kv-check/kv-check.component.ts +32 -0
  159. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.html +87 -0
  160. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.ts +119 -0
  161. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.html +102 -0
  162. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.scss +45 -0
  163. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.ts +235 -0
  164. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.html +37 -0
  165. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.scss +23 -0
  166. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.ts +197 -0
  167. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.html +24 -0
  168. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.scss +0 -0
  169. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.ts +35 -0
  170. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.html +23 -0
  171. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.scss +0 -0
  172. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.ts +61 -0
  173. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.html +33 -0
  174. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.scss +5 -0
  175. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.ts +63 -0
  176. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.html +24 -0
  177. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.scss +0 -0
  178. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.ts +26 -0
  179. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.html +23 -0
  180. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.scss +18 -0
  181. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.ts +40 -0
  182. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.html +30 -0
  183. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.scss +26 -0
  184. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.ts +38 -0
  185. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.html +53 -0
  186. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.scss +41 -0
  187. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.spec.ts +23 -0
  188. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.ts +48 -0
  189. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.html +23 -0
  190. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.scss +0 -0
  191. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.ts +40 -0
  192. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.html +24 -0
  193. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.scss +0 -0
  194. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.ts +27 -0
  195. package/src/lib/components/kv-inputs/kv-inputs.module.ts +89 -0
  196. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.html +87 -0
  197. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.scss +62 -0
  198. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.ts +54 -0
  199. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.html +19 -0
  200. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.scss +22 -0
  201. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.ts +63 -0
  202. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.html +26 -0
  203. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.scss +5 -0
  204. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.spec.ts +21 -0
  205. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.ts +30 -0
  206. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.html +28 -0
  207. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.scss +41 -0
  208. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.spec.ts +23 -0
  209. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.ts +43 -0
  210. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.html +23 -0
  211. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.scss +35 -0
  212. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.ts +54 -0
  213. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.html +68 -0
  214. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.scss +86 -0
  215. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.ts +59 -0
  216. package/src/lib/components/kv-label/kv-label.component.html +3 -0
  217. package/src/lib/components/kv-label/kv-label.component.scss +15 -0
  218. package/src/lib/components/kv-label/kv-label.component.spec.ts +23 -0
  219. package/src/lib/components/kv-label/kv-label.component.ts +14 -0
  220. package/src/lib/components/kv-label/kv-label.module.ts +17 -0
  221. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.html +25 -0
  222. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.scss +19 -0
  223. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.spec.ts +28 -0
  224. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.ts +34 -0
  225. package/src/lib/components/kv-layout/kv-layout.module.ts +44 -0
  226. package/src/lib/components/kv-layout/layout/kv-layout.component.html +538 -0
  227. package/src/lib/components/kv-layout/layout/kv-layout.component.scss +265 -0
  228. package/src/lib/components/kv-layout/layout/kv-layout.component.spec.ts +23 -0
  229. package/src/lib/components/kv-layout/layout/kv-layout.component.ts +503 -0
  230. package/src/lib/components/kv-layout/top-icons/top-icons.component.html +26 -0
  231. package/src/lib/components/kv-layout/top-icons/top-icons.component.scss +71 -0
  232. package/src/lib/components/kv-layout/top-icons/top-icons.component.spec.ts +23 -0
  233. package/src/lib/components/kv-layout/top-icons/top-icons.component.ts +26 -0
  234. package/src/lib/components/kv-loader/kv-loader.component.html +1 -0
  235. package/src/lib/components/kv-loader/kv-loader.component.ts +11 -0
  236. package/src/lib/components/kv-loader/kv-loader.module.ts +17 -0
  237. package/src/lib/components/kv-loader/kv-loader.service.ts +29 -0
  238. package/src/lib/components/kv-login/kv-login.component.html +101 -0
  239. package/src/lib/components/kv-login/kv-login.component.scss +99 -0
  240. package/src/lib/components/kv-login/kv-login.component.spec.ts +23 -0
  241. package/src/lib/components/kv-login/kv-login.component.ts +97 -0
  242. package/src/lib/components/kv-login/kv-login.module.ts +33 -0
  243. package/src/lib/components/kv-modal/kv-modal.component.html +20 -0
  244. package/src/lib/components/kv-modal/kv-modal.component.scss +37 -0
  245. package/src/lib/components/kv-modal/kv-modal.component.spec.ts +21 -0
  246. package/src/lib/components/kv-modal/kv-modal.component.ts +111 -0
  247. package/src/lib/components/kv-modal/kv-modal.module.ts +12 -0
  248. package/src/lib/components/kv-orgchart/kv-orgchart.component.html +125 -0
  249. package/src/lib/components/kv-orgchart/kv-orgchart.component.scss +73 -0
  250. package/src/lib/components/kv-orgchart/kv-orgchart.component.ts +283 -0
  251. package/src/lib/components/kv-orgchart/kv-orgchart.module.ts +31 -0
  252. package/src/lib/components/kv-page-form/kv-page-form.component.html +94 -0
  253. package/src/lib/components/kv-page-form/kv-page-form.component.scss +74 -0
  254. package/src/lib/components/kv-page-form/kv-page-form.component.spec.ts +28 -0
  255. package/src/lib/components/kv-page-form/kv-page-form.component.ts +206 -0
  256. package/src/lib/components/kv-page-form/kv-page-form.module.ts +33 -0
  257. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.html +276 -0
  258. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.scss +85 -0
  259. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.spec.ts +23 -0
  260. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.ts +223 -0
  261. package/src/lib/components/kv-page-stepper/kv-page-stepper.module.ts +36 -0
  262. package/src/lib/components/kv-pick-list/kv-pick-list.component.html +32 -0
  263. package/src/lib/components/kv-pick-list/kv-pick-list.component.scss +57 -0
  264. package/src/lib/components/kv-pick-list/kv-pick-list.component.spec.ts +26 -0
  265. package/src/lib/components/kv-pick-list/kv-pick-list.component.ts +461 -0
  266. package/src/lib/components/kv-pick-list/kv-pick-list.module.ts +24 -0
  267. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.html +38 -0
  268. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.scss +128 -0
  269. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.spec.ts +21 -0
  270. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.ts +75 -0
  271. package/src/lib/components/kv-progress-bar/kv-progress-bar.module.ts +19 -0
  272. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.html +43 -0
  273. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.scss +130 -0
  274. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.spec.ts +23 -0
  275. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.ts +82 -0
  276. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.ts +18 -0
  277. package/src/lib/components/kv-report/kv-report.component.html +3 -0
  278. package/src/lib/components/kv-report/kv-report.component.scss +14 -0
  279. package/src/lib/components/kv-report/kv-report.component.spec.ts +28 -0
  280. package/src/lib/components/kv-report/kv-report.component.ts +44 -0
  281. package/src/lib/components/kv-report/kv-report.module.ts +18 -0
  282. package/src/lib/components/kv-stepper/kv-stepper.component.html +94 -0
  283. package/src/lib/components/kv-stepper/kv-stepper.component.scss +43 -0
  284. package/src/lib/components/kv-stepper/kv-stepper.component.spec.ts +23 -0
  285. package/src/lib/components/kv-stepper/kv-stepper.component.ts +73 -0
  286. package/src/lib/components/kv-stepper/kv-stepper.module.ts +27 -0
  287. package/src/lib/components/kv-steps/kv-steps.component.html +53 -0
  288. package/src/lib/components/kv-steps/kv-steps.component.scss +120 -0
  289. package/src/lib/components/kv-steps/kv-steps.component.ts +122 -0
  290. package/src/lib/components/kv-table/kv-table.component.html +652 -0
  291. package/src/lib/components/kv-table/kv-table.component.spec.ts +28 -0
  292. package/src/lib/components/kv-table/kv-table.component.ts +792 -0
  293. package/src/lib/components/kv-table/kv-table.module.ts +25 -0
  294. package/src/lib/components/kv-table-edit/kv-table-edit.component.html +772 -0
  295. package/src/lib/components/kv-table-edit/kv-table-edit.component.scss +731 -0
  296. package/src/lib/components/kv-table-edit/kv-table-edit.component.ts +388 -0
  297. package/src/lib/components/kv-table-edit/kv-table-edit.module.ts +31 -0
  298. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.html +634 -0
  299. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.scss +387 -0
  300. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.ts +546 -0
  301. package/src/lib/components/kv-table-expandable/kv-table-expandable.module.ts +22 -0
  302. package/src/lib/components/kv-tag/kv-tag.component.html +3 -0
  303. package/src/lib/components/kv-tag/kv-tag.component.scss +65 -0
  304. package/src/lib/components/kv-tag/kv-tag.component.spec.ts +23 -0
  305. package/src/lib/components/kv-tag/kv-tag.component.ts +16 -0
  306. package/src/lib/components/kv-tag/kv-tag.module.ts +18 -0
  307. package/src/lib/components/kv-tree-table/kv-tree-table.component.html +492 -0
  308. package/src/lib/components/kv-tree-table/kv-tree-table.component.scss +187 -0
  309. package/src/lib/components/kv-tree-table/kv-tree-table.component.spec.ts +21 -0
  310. package/src/lib/components/kv-tree-table/kv-tree-table.component.ts +355 -0
  311. package/src/lib/components/kv-tree-table/kv-tree-table.module.ts +23 -0
  312. package/src/lib/components/kv-tree-view/kv-tree-view.component.html +16 -0
  313. package/src/lib/components/kv-tree-view/kv-tree-view.component.scss +19 -0
  314. package/src/lib/components/kv-tree-view/kv-tree-view.component.spec.ts +23 -0
  315. package/src/lib/components/kv-tree-view/kv-tree-view.component.ts +73 -0
  316. package/src/lib/components/kv-tree-view/kv-tree-view.module.ts +19 -0
  317. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.html +22 -0
  318. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.scss +36 -0
  319. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.spec.ts +28 -0
  320. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.ts +41 -0
  321. package/src/lib/components/kv-workspace/kv-workspace.module.ts +45 -0
  322. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.html +20 -0
  323. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.scss +0 -0
  324. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.spec.ts +28 -0
  325. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.ts +18 -0
  326. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.html +35 -0
  327. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.scss +29 -0
  328. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.spec.ts +28 -0
  329. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.ts +98 -0
  330. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.html +63 -0
  331. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.scss +62 -0
  332. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.ts +91 -0
  333. package/{public-api.d.ts → src/public-api.ts} +319 -269
  334. package/tsconfig.lib.json +14 -0
  335. package/tsconfig.lib.prod.json +10 -0
  336. package/tsconfig.spec.json +14 -0
  337. package/esm2022/keevo-components.mjs +0 -5
  338. package/esm2022/lib/api/base-components/base-component-button.mjs +0 -39
  339. package/esm2022/lib/api/base-components/base-component-chart.mjs +0 -104
  340. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +0 -308
  341. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +0 -91
  342. package/esm2022/lib/api/base-components/base-component-crud.mjs +0 -80
  343. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +0 -31
  344. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +0 -238
  345. package/esm2022/lib/api/base-components/base-component-input.mjs +0 -101
  346. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +0 -174
  347. package/esm2022/lib/api/base-components/base-component-table.mjs +0 -354
  348. package/esm2022/lib/api/base-components/base-component.mjs +0 -51
  349. package/esm2022/lib/api/components/chart/chart.config.mjs +0 -2
  350. package/esm2022/lib/api/components/chart/chart.model.mjs +0 -2
  351. package/esm2022/lib/api/components/chart/orchart.config.mjs +0 -2
  352. package/esm2022/lib/api/components/chart/orchartnode.mjs +0 -2
  353. package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +0 -2
  354. package/esm2022/lib/api/components/step/step.model.mjs +0 -2
  355. package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +0 -2
  356. package/esm2022/lib/api/components/table/action-item.mjs +0 -2
  357. package/esm2022/lib/api/components/table/kv-menuitem.mjs +0 -46
  358. package/esm2022/lib/api/components/table/table-dropdown-control.mjs +0 -2
  359. package/esm2022/lib/api/components/table/table.config.column.mjs +0 -2
  360. package/esm2022/lib/api/components/table/table.config.mjs +0 -2
  361. package/esm2022/lib/api/components/table/table.paginate.mjs +0 -10
  362. package/esm2022/lib/api/components/table/tabledit.config.mjs +0 -2
  363. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +0 -2
  364. package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +0 -2
  365. package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +0 -3
  366. package/esm2022/lib/api/directives/directives.module.mjs +0 -30
  367. package/esm2022/lib/api/directives/drag/drag.directive.mjs +0 -52
  368. package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +0 -31
  369. package/esm2022/lib/api/directives/template/template.directive.mjs +0 -24
  370. package/esm2022/lib/api/helpers/component-providers.mjs +0 -16
  371. package/esm2022/lib/api/helpers/keevo-validators.mjs +0 -144
  372. package/esm2022/lib/api/helpers/translate-primeng.mjs +0 -23
  373. package/esm2022/lib/api/modules/primeng.module.mjs +0 -283
  374. package/esm2022/lib/api/pipes/capitalize.pipe.mjs +0 -47
  375. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +0 -25
  376. package/esm2022/lib/api/pipes/mask.pipe.mjs +0 -29
  377. package/esm2022/lib/api/pipes/pipes.module.mjs +0 -39
  378. package/esm2022/lib/api/pipes/telefone.pipe.mjs +0 -45
  379. package/esm2022/lib/api/services/base.api.service.mjs +0 -74
  380. package/esm2022/lib/api/services/breadcrumbs.service.mjs +0 -62
  381. package/esm2022/lib/api/services/chat.service.mjs +0 -37
  382. package/esm2022/lib/api/services/component.service.mjs +0 -37
  383. package/esm2022/lib/api/services/docs.service.mjs +0 -129
  384. package/esm2022/lib/api/services/form.service.mjs +0 -95
  385. package/esm2022/lib/api/services/image.cutter.service.mjs +0 -191
  386. package/esm2022/lib/api/services/imagens.service.mjs +0 -28
  387. package/esm2022/lib/api/services/notification.service.mjs +0 -69
  388. package/esm2022/lib/api/services/object.service.mjs +0 -39
  389. package/esm2022/lib/api/services/orgchart.service.mjs +0 -64
  390. package/esm2022/lib/api/types/breadcrumb.model.mjs +0 -2
  391. package/esm2022/lib/components/keevo-components.module.mjs +0 -221
  392. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +0 -133
  393. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +0 -55
  394. package/esm2022/lib/components/kv-button/kv-button.component.mjs +0 -51
  395. package/esm2022/lib/components/kv-button/kv-button.module.mjs +0 -28
  396. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +0 -25
  397. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +0 -39
  398. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +0 -17
  399. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +0 -17
  400. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +0 -39
  401. package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +0 -60
  402. package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +0 -31
  403. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +0 -34
  404. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +0 -28
  405. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +0 -166
  406. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +0 -32
  407. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.mjs +0 -33
  408. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.mjs +0 -22
  409. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +0 -185
  410. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +0 -44
  411. package/esm2022/lib/components/kv-error/kv-error.component.mjs +0 -26
  412. package/esm2022/lib/components/kv-error/kv-error.module.mjs +0 -35
  413. package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +0 -162
  414. package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +0 -18
  415. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +0 -46
  416. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +0 -20
  417. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +0 -68
  418. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +0 -24
  419. package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +0 -29
  420. package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +0 -34
  421. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +0 -26
  422. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +0 -28
  423. package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +0 -11
  424. package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +0 -19
  425. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +0 -27
  426. package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +0 -32
  427. package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +0 -135
  428. package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +0 -18
  429. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +0 -29
  430. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +0 -102
  431. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +0 -181
  432. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +0 -168
  433. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +0 -30
  434. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +0 -59
  435. package/esm2022/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.mjs +0 -66
  436. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +0 -33
  437. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +0 -38
  438. package/esm2022/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.mjs +0 -42
  439. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +0 -50
  440. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +0 -43
  441. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +0 -24
  442. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +0 -141
  443. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +0 -60
  444. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +0 -60
  445. package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +0 -46
  446. package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +0 -37
  447. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +0 -42
  448. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +0 -58
  449. package/esm2022/lib/components/kv-label/kv-label.component.mjs +0 -15
  450. package/esm2022/lib/components/kv-label/kv-label.module.mjs +0 -24
  451. package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +0 -28
  452. package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +0 -72
  453. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +0 -433
  454. package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +0 -15
  455. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +0 -16
  456. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +0 -28
  457. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +0 -29
  458. package/esm2022/lib/components/kv-login/kv-login.component.mjs +0 -62
  459. package/esm2022/lib/components/kv-login/kv-login.module.mjs +0 -47
  460. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +0 -98
  461. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +0 -20
  462. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +0 -225
  463. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +0 -59
  464. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +0 -215
  465. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +0 -41
  466. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +0 -205
  467. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +0 -51
  468. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +0 -386
  469. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +0 -39
  470. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +0 -58
  471. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +0 -28
  472. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.mjs +0 -62
  473. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.mjs +0 -28
  474. package/esm2022/lib/components/kv-report/kv-report.component.mjs +0 -44
  475. package/esm2022/lib/components/kv-report/kv-report.module.mjs +0 -24
  476. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +0 -74
  477. package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +0 -47
  478. package/esm2022/lib/components/kv-steps/kv-steps.component.mjs +0 -105
  479. package/esm2022/lib/components/kv-table/kv-table.component.mjs +0 -673
  480. package/esm2022/lib/components/kv-table/kv-table.module.mjs +0 -40
  481. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +0 -323
  482. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +0 -45
  483. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +0 -516
  484. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +0 -40
  485. package/esm2022/lib/components/kv-tag/kv-tag.component.mjs +0 -18
  486. package/esm2022/lib/components/kv-tag/kv-tag.module.mjs +0 -24
  487. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +0 -331
  488. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +0 -39
  489. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +0 -70
  490. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +0 -28
  491. package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +0 -40
  492. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +0 -68
  493. package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +0 -22
  494. package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +0 -78
  495. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +0 -87
  496. package/esm2022/public-api.mjs +0 -274
  497. package/fesm2022/keevo-components.mjs +0 -10715
  498. package/fesm2022/keevo-components.mjs.map +0 -1
  499. package/index.d.ts +0 -5
  500. package/lib/api/base-components/base-component-button.d.ts +0 -15
  501. package/lib/api/base-components/base-component-chart.d.ts +0 -40
  502. package/lib/api/base-components/base-component-crud-form.d.ts +0 -149
  503. package/lib/api/base-components/base-component-crud-list.d.ts +0 -70
  504. package/lib/api/base-components/base-component-crud.d.ts +0 -36
  505. package/lib/api/base-components/base-component-dropdown-external.d.ts +0 -15
  506. package/lib/api/base-components/base-component-dropdown.d.ts +0 -57
  507. package/lib/api/base-components/base-component-input.d.ts +0 -33
  508. package/lib/api/base-components/base-component-multi-select.d.ts +0 -40
  509. package/lib/api/base-components/base-component-table.d.ts +0 -88
  510. package/lib/api/base-components/base-component.d.ts +0 -22
  511. package/lib/api/components/chart/chart.config.d.ts +0 -14
  512. package/lib/api/components/chart/chart.model.d.ts +0 -12
  513. package/lib/api/components/chart/orchart.config.d.ts +0 -41
  514. package/lib/api/components/chart/orchartnode.d.ts +0 -34
  515. package/lib/api/components/dropdown/filtro.combo.d.ts +0 -4
  516. package/lib/api/components/stepper/kv-stepperpanel.d.ts +0 -9
  517. package/lib/api/components/table/action-item.d.ts +0 -13
  518. package/lib/api/components/table/kv-menuitem.d.ts +0 -152
  519. package/lib/api/components/table/table-dropdown-control.d.ts +0 -6
  520. package/lib/api/components/table/table.config.column.d.ts +0 -38
  521. package/lib/api/components/table/table.config.d.ts +0 -34
  522. package/lib/api/components/table/table.paginate.d.ts +0 -10
  523. package/lib/api/components/table/tableedit.config.column.d.ts +0 -10
  524. package/lib/api/components/tree-table/tree-table-keys.d.ts +0 -12
  525. package/lib/api/components/tree-table/tree-table.config.d.ts +0 -31
  526. package/lib/api/directives/directives.module.d.ts +0 -9
  527. package/lib/api/directives/drag/drag.directive.d.ts +0 -11
  528. package/lib/api/directives/stepper/dynamicinput.directive.d.ts +0 -15
  529. package/lib/api/directives/template/template.directive.d.ts +0 -11
  530. package/lib/api/helpers/component-providers.d.ts +0 -2
  531. package/lib/api/helpers/keevo-validators.d.ts +0 -18
  532. package/lib/api/helpers/translate-primeng.d.ts +0 -4
  533. package/lib/api/modules/primeng.module.d.ts +0 -69
  534. package/lib/api/pipes/capitalize.pipe.d.ts +0 -10
  535. package/lib/api/pipes/cpfcnpj.pipe.d.ts +0 -7
  536. package/lib/api/pipes/mask.pipe.d.ts +0 -7
  537. package/lib/api/pipes/pipes.module.d.ts +0 -11
  538. package/lib/api/pipes/telefone.pipe.d.ts +0 -7
  539. package/lib/api/services/base.api.service.d.ts +0 -25
  540. package/lib/api/services/breadcrumbs.service.d.ts +0 -16
  541. package/lib/api/services/chat.service.d.ts +0 -17
  542. package/lib/api/services/component.service.d.ts +0 -11
  543. package/lib/api/services/docs.service.d.ts +0 -12
  544. package/lib/api/services/form.service.d.ts +0 -31
  545. package/lib/api/services/image.cutter.service.d.ts +0 -15
  546. package/lib/api/services/imagens.service.d.ts +0 -10
  547. package/lib/api/services/notification.service.d.ts +0 -26
  548. package/lib/api/services/object.service.d.ts +0 -9
  549. package/lib/api/services/orgchart.service.d.ts +0 -20
  550. package/lib/api/types/breadcrumb.model.d.ts +0 -5
  551. package/lib/components/keevo-components.module.d.ts +0 -36
  552. package/lib/components/kv-avatar/kv-avatar.component.d.ts +0 -35
  553. package/lib/components/kv-avatar/kv-avatar.module.d.ts +0 -15
  554. package/lib/components/kv-button/kv-button.component.d.ts +0 -24
  555. package/lib/components/kv-button/kv-button.module.d.ts +0 -9
  556. package/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.d.ts +0 -11
  557. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +0 -19
  558. package/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.d.ts +0 -7
  559. package/lib/components/kv-buttons/kv-button-success/kv-button-success.component.d.ts +0 -7
  560. package/lib/components/kv-buttons/kv-button.module.d.ts +0 -11
  561. package/lib/components/kv-card-selection/kv-card-selection.component.d.ts +0 -25
  562. package/lib/components/kv-card-selection/kv-card-selection.module.d.ts +0 -10
  563. package/lib/components/kv-carousel/kv-carousel.component.d.ts +0 -17
  564. package/lib/components/kv-carousel/kv-carousel.module.d.ts +0 -9
  565. package/lib/components/kv-chart/kv-chart.component.d.ts +0 -57
  566. package/lib/components/kv-chart/kv-chart.module.d.ts +0 -10
  567. package/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.d.ts +0 -12
  568. package/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.d.ts +0 -10
  569. package/lib/components/kv-content-viewer/kv-content-viewer.component.d.ts +0 -56
  570. package/lib/components/kv-content-viewer/kv-content-viewer.module.d.ts +0 -14
  571. package/lib/components/kv-error/kv-error.component.d.ts +0 -12
  572. package/lib/components/kv-error/kv-error.module.d.ts +0 -10
  573. package/lib/components/kv-file-upload/kv-file-upload.component.d.ts +0 -32
  574. package/lib/components/kv-file-upload/kv-file-upload.module.d.ts +0 -8
  575. package/lib/components/kv-file-viewer/kv-file-viewer.component.d.ts +0 -21
  576. package/lib/components/kv-file-viewer/kv-file-viewer.module.d.ts +0 -8
  577. package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.d.ts +0 -24
  578. package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.d.ts +0 -9
  579. package/lib/components/kv-filter-card/kv-filter-card.component.d.ts +0 -13
  580. package/lib/components/kv-filter-card/kv-filter-card.module.d.ts +0 -10
  581. package/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.d.ts +0 -10
  582. package/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.d.ts +0 -9
  583. package/lib/components/kv-g-icon/kv-g-icon.component.d.ts +0 -5
  584. package/lib/components/kv-g-icon/kv-g-icon.module.d.ts +0 -9
  585. package/lib/components/kv-home-card/kv-home-card.component.d.ts +0 -24
  586. package/lib/components/kv-home-card/kv-home-card.module.d.ts +0 -11
  587. package/lib/components/kv-image-upload/kv-image-upload.component.d.ts +0 -33
  588. package/lib/components/kv-image-upload/kv-image-upload.module.d.ts +0 -8
  589. package/lib/components/kv-inputs/kv-check/kv-check.component.d.ts +0 -12
  590. package/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.d.ts +0 -33
  591. package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +0 -35
  592. package/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.d.ts +0 -34
  593. package/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.d.ts +0 -12
  594. package/lib/components/kv-inputs/kv-input-number/kv-input-number.component.d.ts +0 -19
  595. package/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.d.ts +0 -21
  596. package/lib/components/kv-inputs/kv-input-password/kv-input-password.component.d.ts +0 -13
  597. package/lib/components/kv-inputs/kv-input-text/kv-input-text.component.d.ts +0 -11
  598. package/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.d.ts +0 -13
  599. package/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.d.ts +0 -18
  600. package/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.d.ts +0 -16
  601. package/lib/components/kv-inputs/kv-input-time/kv-input-time.component.d.ts +0 -10
  602. package/lib/components/kv-inputs/kv-inputs.module.d.ts +0 -32
  603. package/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.d.ts +0 -20
  604. package/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.d.ts +0 -20
  605. package/lib/components/kv-inputs/kv-select-button/kv-select-button.component.d.ts +0 -19
  606. package/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.d.ts +0 -26
  607. package/lib/components/kv-inputs/kv-switch/kv-switch.component.d.ts +0 -16
  608. package/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.d.ts +0 -25
  609. package/lib/components/kv-label/kv-label.component.d.ts +0 -7
  610. package/lib/components/kv-label/kv-label.module.d.ts +0 -8
  611. package/lib/components/kv-layout/dropdown-master/dropdown-master.component.d.ts +0 -12
  612. package/lib/components/kv-layout/kv-layout.module.d.ts +0 -18
  613. package/lib/components/kv-layout/layout/kv-layout.component.d.ts +0 -156
  614. package/lib/components/kv-layout/top-icons/top-icons.component.d.ts +0 -16
  615. package/lib/components/kv-loader/kv-loader.component.d.ts +0 -7
  616. package/lib/components/kv-loader/kv-loader.module.d.ts +0 -9
  617. package/lib/components/kv-loader/kv-loader.service.d.ts +0 -10
  618. package/lib/components/kv-login/kv-login.component.d.ts +0 -32
  619. package/lib/components/kv-login/kv-login.module.d.ts +0 -13
  620. package/lib/components/kv-modal/kv-modal.component.d.ts +0 -27
  621. package/lib/components/kv-modal/kv-modal.module.d.ts +0 -10
  622. package/lib/components/kv-orgchart/kv-orgchart.component.d.ts +0 -45
  623. package/lib/components/kv-orgchart/kv-orgchart.module.d.ts +0 -17
  624. package/lib/components/kv-page-form/kv-page-form.component.d.ts +0 -104
  625. package/lib/components/kv-page-form/kv-page-form.module.d.ts +0 -12
  626. package/lib/components/kv-page-stepper/kv-page-stepper.component.d.ts +0 -84
  627. package/lib/components/kv-page-stepper/kv-page-stepper.module.d.ts +0 -14
  628. package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +0 -70
  629. package/lib/components/kv-pick-list/kv-pick-list.module.d.ts +0 -11
  630. package/lib/components/kv-progress-bar/kv-progress-bar.component.d.ts +0 -67
  631. package/lib/components/kv-progress-bar/kv-progress-bar.module.d.ts +0 -9
  632. package/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.d.ts +0 -71
  633. package/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.d.ts +0 -9
  634. package/lib/components/kv-report/kv-report.component.d.ts +0 -18
  635. package/lib/components/kv-report/kv-report.module.d.ts +0 -8
  636. package/lib/components/kv-stepper/kv-stepper.component.d.ts +0 -32
  637. package/lib/components/kv-stepper/kv-stepper.module.d.ts +0 -13
  638. package/lib/components/kv-steps/kv-steps.component.d.ts +0 -21
  639. package/lib/components/kv-table/kv-table.component.d.ts +0 -154
  640. package/lib/components/kv-table/kv-table.module.d.ts +0 -12
  641. package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +0 -61
  642. package/lib/components/kv-table-edit/kv-table-edit.module.d.ts +0 -15
  643. package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +0 -119
  644. package/lib/components/kv-table-expandable/kv-table-expandable.module.d.ts +0 -13
  645. package/lib/components/kv-tag/kv-tag.component.d.ts +0 -7
  646. package/lib/components/kv-tag/kv-tag.module.d.ts +0 -8
  647. package/lib/components/kv-tree-table/kv-tree-table.component.d.ts +0 -86
  648. package/lib/components/kv-tree-table/kv-tree-table.module.d.ts +0 -11
  649. package/lib/components/kv-tree-view/kv-tree-view.component.d.ts +0 -21
  650. package/lib/components/kv-tree-view/kv-tree-view.module.d.ts +0 -9
  651. package/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.d.ts +0 -14
  652. package/lib/components/kv-workspace/kv-workspace.module.d.ts +0 -19
  653. package/lib/components/kv-workspace/logo/kv-workspace-logo.component.d.ts +0 -11
  654. package/lib/components/kv-workspace/master/kv-workspace-master.component.d.ts +0 -25
  655. package/lib/components/kv-workspace/workspace/kv-workspace.component.d.ts +0 -37
@@ -1,185 +0,0 @@
1
- import { Component, computed, EventEmitter, input, Input, Output, signal } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../api/services/notification.service";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "primeng/skeleton";
6
- import * as i4 from "../kv-file-viewer-novo/kv-file-viewer-novo.component";
7
- import * as i5 from "ngx-loading";
8
- import * as i6 from "../kv-button/kv-button.component";
9
- export class KvContentViewerComponent {
10
- constructor(notificationService) {
11
- this.notificationService = notificationService;
12
- // #region Signals
13
- this.dataSource = input([]);
14
- this.paginaInicial = signal(1);
15
- this.arquivo = input(undefined);
16
- this.arquivoPreview = signal(undefined);
17
- this.nomeArquivo = signal('');
18
- this.type = input(undefined);
19
- this.blob = input('');
20
- this.idarquivo = signal(undefined);
21
- this.ekpContent = input(undefined);
22
- this.totalItensCarregado = computed(() => this.dataSource()?.length || 0);
23
- this.previewOn = false;
24
- this.selectedItem = {};
25
- this.totalRecords = 0;
26
- this.isLoading = false;
27
- this.displaySidebar = false;
28
- this.isSelected = false;
29
- this.visualizadorDocumentos = false;
30
- this.indvisualizado = false;
31
- this.btnTelaCheia = false;
32
- this.isLoadingSkeleton = false;
33
- this.borderCardNaoVisualizado = true;
34
- this.contentForm = false;
35
- this.contentViewer = false;
36
- this.keyVisualizado = 'indvisualizado';
37
- // #endregion
38
- // #region Outputs
39
- this.onScrollHandler = new EventEmitter();
40
- this.onSelectFile = new EventEmitter();
41
- this.onSave = new EventEmitter();
42
- this.onCancel = new EventEmitter();
43
- }
44
- todayDate() {
45
- const today = new Date();
46
- return today.toLocaleDateString('pt-BR', { day: '2-digit', month: '2-digit', year: 'numeric' });
47
- }
48
- // #endregion
49
- trackByFn(index, item) {
50
- return item.idarquivo;
51
- }
52
- isVisualizado(option) {
53
- return option[this.keyVisualizado] || false;
54
- }
55
- visualizarPreview(arquivo, buttonTemplate) {
56
- if (buttonTemplate) {
57
- this.contentViewer = true;
58
- }
59
- else {
60
- arquivo[this.keyVisualizado] = true;
61
- this.contentViewer = true;
62
- this.arquivoPreview.set(arquivo);
63
- }
64
- this.onSelectFile.emit(arquivo);
65
- }
66
- OnSave() {
67
- this.onSave.emit();
68
- this.contentViewer = false;
69
- this.arquivoPreview.set(undefined);
70
- }
71
- OnCancel() {
72
- this.notificationService.question({
73
- type: 'question',
74
- message: 'Você fez alterações que não foram salvas. Tem certeza que deseja cancelar?',
75
- accept: () => {
76
- this.onCancel.emit();
77
- this.contentViewer = false;
78
- this.arquivoPreview.set(undefined);
79
- },
80
- });
81
- }
82
- alternarTelaCheia() {
83
- const element = document.getElementById('fullscreenDiv');
84
- const button = document.getElementById('fullscreenBtn');
85
- // Verifica se os elementos existem
86
- if (element && button) {
87
- if (!document.fullscreenElement) {
88
- // Expandir para tela cheia
89
- if (element.requestFullscreen) {
90
- element.requestFullscreen();
91
- }
92
- else if (element.mozRequestFullScreen) { // Para Firefox
93
- element.mozRequestFullScreen();
94
- }
95
- else if (element.webkitRequestFullscreen) { // Para Chrome, Safari e Opera
96
- element.webkitRequestFullscreen();
97
- }
98
- else if (element.msRequestFullscreen) { // Para IE/Edge
99
- element.msRequestFullscreen();
100
- }
101
- button.textContent = 'close_fullscreen';
102
- }
103
- else {
104
- // Sair da tela cheia
105
- if (document.exitFullscreen) {
106
- document.exitFullscreen();
107
- }
108
- else if (document.mozCancelFullScreen) { // Para Firefox
109
- document.mozCancelFullScreen();
110
- }
111
- else if (document.webkitExitFullscreen) { // Para Chrome, Safari e Opera
112
- document.webkitExitFullscreen();
113
- }
114
- else if (document.msExitFullscreen) { // Para IE/Edge
115
- document.msExitFullscreen();
116
- }
117
- button.textContent = 'open_in_full';
118
- }
119
- }
120
- }
121
- ngOnInit() {
122
- document.addEventListener('fullscreenchange', () => {
123
- const button = document.getElementById('fullscreenBtn');
124
- if (button) {
125
- if (!document.fullscreenElement) {
126
- button.textContent = 'open_in_full';
127
- }
128
- else {
129
- button.textContent = 'close_fullscreen';
130
- }
131
- }
132
- });
133
- }
134
- scrollHandler($event) {
135
- const element = $event.target;
136
- //se o escroll chegar até o final
137
- if (element.scrollHeight - element.scrollTop === element.clientHeight) {
138
- // this.buscarProximosDocumentos();
139
- this.onScrollHandler.emit($event);
140
- }
141
- }
142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerComponent, deps: [{ token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
143
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvContentViewerComponent, selector: "kv-content-viewer", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, arquivo: { classPropertyName: "arquivo", publicName: "arquivo", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, blob: { classPropertyName: "blob", publicName: "blob", isSignal: true, isRequired: false, transformFunction: null }, ekpContent: { classPropertyName: "ekpContent", publicName: "ekpContent", isSignal: true, isRequired: false, transformFunction: null }, extencaoDocumento: { classPropertyName: "extencaoDocumento", publicName: "extencaoDocumento", isSignal: false, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, visualizadorDocumentos: { classPropertyName: "visualizadorDocumentos", publicName: "visualizadorDocumentos", isSignal: false, isRequired: false, transformFunction: null }, cardTemplate: { classPropertyName: "cardTemplate", publicName: "cardTemplate", isSignal: false, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentSelectedTemplate: { classPropertyName: "noDocumentSelectedTemplate", publicName: "noDocumentSelectedTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentListTemplate: { classPropertyName: "noDocumentListTemplate", publicName: "noDocumentListTemplate", isSignal: false, isRequired: false, transformFunction: null }, buttonTemplate: { classPropertyName: "buttonTemplate", publicName: "buttonTemplate", isSignal: false, isRequired: false, transformFunction: null }, listBottomTemplate: { classPropertyName: "listBottomTemplate", publicName: "listBottomTemplate", isSignal: false, isRequired: false, transformFunction: null }, indvisualizado: { classPropertyName: "indvisualizado", publicName: "indvisualizado", isSignal: false, isRequired: false, transformFunction: null }, btnTelaCheia: { classPropertyName: "btnTelaCheia", publicName: "btnTelaCheia", isSignal: false, isRequired: false, transformFunction: null }, isLoadingSkeleton: { classPropertyName: "isLoadingSkeleton", publicName: "isLoadingSkeleton", isSignal: false, isRequired: false, transformFunction: null }, borderCardNaoVisualizado: { classPropertyName: "borderCardNaoVisualizado", publicName: "borderCardNaoVisualizado", isSignal: false, isRequired: false, transformFunction: null }, contentForm: { classPropertyName: "contentForm", publicName: "contentForm", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onScrollHandler: "onScrollHandler", onSelectFile: "onSelectFile", onSave: "onSave", onCancel: "onCancel" }, ngImport: i0, template: "<div\r\n class=\"flex flex-column md:flex-row gap-2 mt-3 custom-max-height\"\r\n style=\"height: 100%\"\r\n>\r\n <!-- Lista de documentos -->\r\n <div\r\n class=\"card-perfil col-12 md:col-4 lg:col-3 flex flex-column justify-content-between\"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-auto': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; height: 100%; min-height: 15rem\"\r\n >\r\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-naoVisualizado': !isVisualizado(option) && borderCardNaoVisualizado,\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div\r\n class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis\"\r\n style=\"max-width: 100%\"\r\n >\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-file-preview aguardando um template...\r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n @if(isLoadingSkeleton){\r\n <p-skeleton \r\n *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\" \r\n height=\"5rem\" \r\n [style]=\"{ 'margin-bottom': '0.25rem', 'borderRadius': '0.75rem' }\"\r\n ></p-skeleton>\r\n } @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\"flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n <div\r\n class=\"sticky-counter flex flex-column\r\n justify-content-center text-center px-2 p-2\"\r\n style=\"position: sticky; bottom: -10px; background-color: white; \"\r\n >\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n @if(listBottomTemplate) {\r\n <ng-container *ngTemplateOutlet=\"listBottomTemplate\"></ng-container>\r\n }\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n <div\r\n id=\"fullscreenDiv\"\r\n class=\"card-perfil col-12 md:col-8 lg:col-9 flex-1\"\r\n style=\"position: relative; height: 100%\"\r\n [ngStyle]=\"{\r\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\r\n }\"\r\n >\r\n @if(btnTelaCheia && !buttonTemplate) {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span\r\n id=\"fullscreenBtn\"\r\n (click)=\"alternarTelaCheia()\"\r\n class=\"material-symbols-outlined p-2 text-xl cursor-pointer\"\r\n >\r\n open_in_full\r\n </span>\r\n </div>\r\n } @if(!btnTelaCheia && buttonTemplate && !contentViewer) {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span class=\"p-3\">\r\n <span (click)=\"visualizarPreview(null, true)\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </span>\r\n </span>\r\n </div>\r\n } @if(btnTelaCheia && buttonTemplate) {\r\n <div class=\"grid\">\r\n @if(!contentViewer) {\r\n <span class=\"p-3\">\r\n <span (click)=\"visualizarPreview(null, true)\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </span>\r\n </span>\r\n }\r\n <div class=\"col\"></div>\r\n <span\r\n id=\"fullscreenBtn\"\r\n (click)=\"alternarTelaCheia()\"\r\n class=\"material-symbols-outlined p-2 text-xl cursor-pointer\"\r\n >\r\n open_in_full\r\n </span>\r\n </div>\r\n } @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"extencaoDocumento !== 'ekp'\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\"\r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n style=\"max-height: 100%\"\r\n >\r\n </kv-file-viewer-novo>\r\n\r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp'\"\r\n class=\"ekp-content\"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <div class=\"flex flex-column\" style=\"height: 92%;\" >\r\n <ng-container\r\n *ngIf=\"arquivoPreview() || contentViewer; else noDocumentSelected\"\r\n >\r\n <div style=\"flex: 1;\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></ng-container>\r\n </div>\r\n @if(contentForm) {\r\n <div class=\"grid\" style=\"position: sticky; bottom: 0; background-color: white; z-index: 10; padding: 1rem 1rem 0 1rem;\">\r\n <div class=\"col-8\">\r\n <span class=\"text-sm\">\r\n <span class=\"font-bold\">*</span> Campos obrigat\u00F3rios\r\n </span>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Cancelar\"\r\n icon=\"close\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n (onClick)=\"OnCancel()\"\r\n >\r\n </kv-button>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Salvar\"\r\n icon=\"save\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"primary\"\r\n (onClick)=\"OnSave()\"\r\n >\r\n </kv-button>\r\n </div>\r\n </div>\r\n }\r\n </ng-container>\r\n </div> \r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%; overflow-y: auto\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"\r\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\r\n \"\r\n style=\"max-height: 50%; margin-top: 2rem\"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i4.KvFileViewerNovoComponent, selector: "kv-file-viewer-novo", inputs: ["arquivo", "type", "blob", "width", "height"] }, { kind: "component", type: i5.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }, { kind: "component", type: i6.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup"], outputs: ["iconChange", "onClick"] }] }); }
144
- }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerComponent, decorators: [{
146
- type: Component,
147
- args: [{ selector: 'kv-content-viewer', template: "<div\r\n class=\"flex flex-column md:flex-row gap-2 mt-3 custom-max-height\"\r\n style=\"height: 100%\"\r\n>\r\n <!-- Lista de documentos -->\r\n <div\r\n class=\"card-perfil col-12 md:col-4 lg:col-3 flex flex-column justify-content-between\"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-auto': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; height: 100%; min-height: 15rem\"\r\n >\r\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-naoVisualizado': !isVisualizado(option) && borderCardNaoVisualizado,\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div\r\n class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis\"\r\n style=\"max-width: 100%\"\r\n >\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-file-preview aguardando um template...\r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n @if(isLoadingSkeleton){\r\n <p-skeleton \r\n *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\" \r\n height=\"5rem\" \r\n [style]=\"{ 'margin-bottom': '0.25rem', 'borderRadius': '0.75rem' }\"\r\n ></p-skeleton>\r\n } @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\"flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n <div\r\n class=\"sticky-counter flex flex-column\r\n justify-content-center text-center px-2 p-2\"\r\n style=\"position: sticky; bottom: -10px; background-color: white; \"\r\n >\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n @if(listBottomTemplate) {\r\n <ng-container *ngTemplateOutlet=\"listBottomTemplate\"></ng-container>\r\n }\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n <div\r\n id=\"fullscreenDiv\"\r\n class=\"card-perfil col-12 md:col-8 lg:col-9 flex-1\"\r\n style=\"position: relative; height: 100%\"\r\n [ngStyle]=\"{\r\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\r\n }\"\r\n >\r\n @if(btnTelaCheia && !buttonTemplate) {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span\r\n id=\"fullscreenBtn\"\r\n (click)=\"alternarTelaCheia()\"\r\n class=\"material-symbols-outlined p-2 text-xl cursor-pointer\"\r\n >\r\n open_in_full\r\n </span>\r\n </div>\r\n } @if(!btnTelaCheia && buttonTemplate && !contentViewer) {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span class=\"p-3\">\r\n <span (click)=\"visualizarPreview(null, true)\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </span>\r\n </span>\r\n </div>\r\n } @if(btnTelaCheia && buttonTemplate) {\r\n <div class=\"grid\">\r\n @if(!contentViewer) {\r\n <span class=\"p-3\">\r\n <span (click)=\"visualizarPreview(null, true)\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </span>\r\n </span>\r\n }\r\n <div class=\"col\"></div>\r\n <span\r\n id=\"fullscreenBtn\"\r\n (click)=\"alternarTelaCheia()\"\r\n class=\"material-symbols-outlined p-2 text-xl cursor-pointer\"\r\n >\r\n open_in_full\r\n </span>\r\n </div>\r\n } @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"extencaoDocumento !== 'ekp'\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\"\r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n style=\"max-height: 100%\"\r\n >\r\n </kv-file-viewer-novo>\r\n\r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp'\"\r\n class=\"ekp-content\"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <div class=\"flex flex-column\" style=\"height: 92%;\" >\r\n <ng-container\r\n *ngIf=\"arquivoPreview() || contentViewer; else noDocumentSelected\"\r\n >\r\n <div style=\"flex: 1;\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></ng-container>\r\n </div>\r\n @if(contentForm) {\r\n <div class=\"grid\" style=\"position: sticky; bottom: 0; background-color: white; z-index: 10; padding: 1rem 1rem 0 1rem;\">\r\n <div class=\"col-8\">\r\n <span class=\"text-sm\">\r\n <span class=\"font-bold\">*</span> Campos obrigat\u00F3rios\r\n </span>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Cancelar\"\r\n icon=\"close\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n (onClick)=\"OnCancel()\"\r\n >\r\n </kv-button>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Salvar\"\r\n icon=\"save\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"primary\"\r\n (onClick)=\"OnSave()\"\r\n >\r\n </kv-button>\r\n </div>\r\n </div>\r\n }\r\n </ng-container>\r\n </div> \r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%; overflow-y: auto\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"\r\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\r\n \"\r\n style=\"max-height: 50%; margin-top: 2rem\"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"] }]
148
- }], ctorParameters: () => [{ type: i1.NotificationService }], propDecorators: { extencaoDocumento: [{
149
- type: Input
150
- }], totalRecords: [{
151
- type: Input
152
- }], visualizadorDocumentos: [{
153
- type: Input
154
- }], cardTemplate: [{
155
- type: Input
156
- }], contentTemplate: [{
157
- type: Input
158
- }], noDocumentSelectedTemplate: [{
159
- type: Input
160
- }], noDocumentListTemplate: [{
161
- type: Input
162
- }], buttonTemplate: [{
163
- type: Input
164
- }], listBottomTemplate: [{
165
- type: Input
166
- }], indvisualizado: [{
167
- type: Input
168
- }], btnTelaCheia: [{
169
- type: Input
170
- }], isLoadingSkeleton: [{
171
- type: Input
172
- }], borderCardNaoVisualizado: [{
173
- type: Input
174
- }], contentForm: [{
175
- type: Input
176
- }], onScrollHandler: [{
177
- type: Output
178
- }], onSelectFile: [{
179
- type: Output
180
- }], onSave: [{
181
- type: Output
182
- }], onCancel: [{
183
- type: Output
184
- }] } });
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWUsTUFBTSxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFTMUgsTUFBTSxPQUFPLHdCQUF3QjtJQTRDaEMsWUFDUyxtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXpDcEQsa0JBQWtCO1FBQ25CLGVBQVUsR0FBdUIsS0FBSyxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELGtCQUFhLEdBQUcsTUFBTSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLFlBQU8sR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLG1CQUFjLEdBQUcsTUFBTSxDQUFNLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLFNBQUksR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLFNBQUksR0FBRyxLQUFLLENBQU8sRUFBUyxDQUFDLENBQUM7UUFDOUIsY0FBUyxHQUFHLE1BQU0sQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDbEQsZUFBVSxHQUFHLEtBQUssQ0FBdUIsU0FBUyxDQUFD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QUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBaUJJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEV2ZW50RW1pdHRlciwgaW5wdXQsIElucHV0LCBJbnB1dFNpZ25hbCwgT3V0cHV0LCBzaWduYWwsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGkvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1jb250ZW50LXZpZXdlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWNvbnRlbnQtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4va3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkNvbnRlbnRWaWV3ZXJDb21wb25lbnQge1xyXG5cclxuXHJcblxyXG4gIC8vICNyZWdpb24gU2lnbmFsc1xyXG4gZGF0YVNvdXJjZTogSW5wdXRTaWduYWw8YW55W10+ID0gaW5wdXQ8YW55W10+KFtdKTtcclxuIHBhZ2luYUluaWNpYWwgPSBzaWduYWw8bnVtYmVyPigxKTtcclxuIGFycXVpdm8gPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiBhcnF1aXZvUHJldmlldyA9IHNpZ25hbDxhbnk+KHVuZGVmaW5lZCk7XHJcbiBub21lQXJxdWl2byA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcclxuIHR5cGUgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiBibG9iID0gaW5wdXQ8QmxvYj4oJycgYXMgYW55KTtcclxuIGlkYXJxdWl2byA9IHNpZ25hbDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiBla3BDb250ZW50ID0gaW5wdXQ8U2FmZUh0bWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiB0b3RhbEl0ZW5zQ2FycmVnYWRvID0gY29tcHV0ZWQoXHJcbiAgKCkgPT4gdGhpcy5kYXRhU291cmNlKCk/Lmxlbmd0aCB8fCAwXHJcbik7XHJcbi8vICNlbmRyZWdpb25cclxuXHJcbi8vICNyZWdpb24gUHJvcGVydGllc1xyXG5lbXByZXNhU2VsZWNpb25hZGEhOiBhbnk7XHJcbmlkdGlwb2RvY3VtZW50byE6IG51bWJlcltdO1xyXG5ASW5wdXQoKSBleHRlbmNhb0RvY3VtZW50byE6IHN0cmluZztcclxucHJldmlld09uOiBib29sZWFuID0gZmFsc2U7XHJcbnNlbGVjdGVkSXRlbTogYW55ID0ge307XHJcbkBJbnB1dCgpIHRvdGFsUmVjb3JkczogbnVtYmVyID0gMDtcclxuaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbmRpc3BsYXlTaWRlYmFyOiBib29sZWFuID0gZmFsc2U7XHJcbmlzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuQElucHV0KCkgdmlzdWFsaXphZG9yRG9jdW1lbnRvczogYm9vbGVhbiA9IGZhbHNlO1xyXG5ASW5wdXQoKSBjYXJkVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5ASW5wdXQoKSBjb250ZW50VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5ASW5wdXQoKSBub0RvY3VtZW50U2VsZWN0ZWRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbkBJbnB1dCgpIG5vRG9jdW1lbnRMaXN0VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5ASW5wdXQoKSBidXR0b25UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbkBJbnB1dCgpIGxpc3RCb3R0b21UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbkBJbnB1dCgpIGluZHZpc3VhbGl6YWRvOiBib29sZWFuID0gZmFsc2U7XHJcbkBJbnB1dCgpIGJ0blRlbGFDaGVpYTogYm9vbGVhbiA9IGZhbHNlO1xyXG5ASW5wdXQoKSBpc0xvYWRpbmdTa2VsZXRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5ASW5wdXQoKSBib3JkZXJDYXJkTmFvVmlzdWFsaXphZG86IGJvb2xlYW4gPSB0cnVlO1xyXG5ASW5wdXQoKSBjb250ZW50Rm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG5jb250ZW50Vmlld2VyOiBib29sZWFuID0gZmFsc2U7XHJcbmtleVZpc3VhbGl6YWRvOiBzdHJpbmcgPSAnaW5kdmlzdWFsaXphZG8nOyBcclxuXHJcbiAgICAgY29uc3RydWN0b3IoXHJcbiAgICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgICApIHtcclxuXHJcbiAgICAgfVxyXG5cclxudG9kYXlEYXRlKCk6IHN0cmluZyB7XHJcbiAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gIHJldHVybiB0b2RheS50b0xvY2FsZURhdGVTdHJpbmcoJ3B0LUJSJywgeyBkYXk6ICcyLWRpZ2l0JywgbW9udGg6ICcyLWRpZ2l0JywgeWVhcjogJ251bWVyaWMnIH0pO1xyXG59XHJcbi8vICNlbmRyZWdpb25cclxuXHJcbi8vICNyZWdpb24gT3V0cHV0c1xyXG5AT3V0cHV0KCkgb25TY3JvbGxIYW5kbGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuQE91dHB1dCgpIG9uU2VsZWN0RmlsZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbkBPdXRwdXQoKSBvblNhdmU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5AT3V0cHV0KCkgb25DYW5jZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4vLyAjZW5kcmVnaW9uXHJcblxyXG50cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KTogYW55IHtcclxuICByZXR1cm4gaXRlbS5pZGFycXVpdm87IFxyXG59XHJcblxyXG5pc1Zpc3VhbGl6YWRvKG9wdGlvbjogYW55KTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIG9wdGlvblt0aGlzLmtleVZpc3VhbGl6YWRvXSB8fCBmYWxzZTtcclxufVxyXG5cclxudmlzdWFsaXphclByZXZpZXcoYXJxdWl2bzogYW55LCBidXR0b25UZW1wbGF0ZT86IGJvb2xlYW4pOiB2b2lkIHtcclxuICBcclxuICBpZiAoYnV0dG9uVGVtcGxhdGUpIHtcclxuICAgIHRoaXMuY29udGVudFZpZXdlciA9IHRydWU7XHJcbiAgfSBlbHNlIHtcclxuICAgIGFycXVpdm9bdGhpcy5rZXlWaXN1YWxpemFkb10gPSB0cnVlO1xyXG4gICAgdGhpcy5jb250ZW50Vmlld2VyID0gdHJ1ZTtcclxuICAgIHRoaXMuYXJxdWl2b1ByZXZpZXcuc2V0KGFycXVpdm8pO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5vblNlbGVjdEZpbGUuZW1pdChhcnF1aXZvKTtcclxuICBcclxufVxyXG5cclxuICBPblNhdmUoKSB7XHJcbiAgICB0aGlzLm9uU2F2ZS5lbWl0KCk7XHJcbiAgICB0aGlzLmNvbnRlbnRWaWV3ZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuYXJxdWl2b1ByZXZpZXcuc2V0KHVuZGVmaW5lZCk7XHJcbiAgfVxyXG5cclxuICBPbkNhbmNlbCgpIHtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5xdWVzdGlvbih7XHJcbiAgICAgIHR5cGU6ICdxdWVzdGlvbicsXHJcbiAgICAgIG1lc3NhZ2U6ICdWb2PDqiBmZXogYWx0ZXJhw6fDtWVzIHF1ZSBuw6NvIGZvcmFtIHNhbHZhcy4gVGVtIGNlcnRlemEgcXVlIGRlc2VqYSBjYW5jZWxhcj8nLFxyXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcclxuICAgICAgICB0aGlzLmNvbnRlbnRWaWV3ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmFycXVpdm9QcmV2aWV3LnNldCh1bmRlZmluZWQpO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuYWx0ZXJuYXJUZWxhQ2hlaWEoKSB7XHJcbiAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmdWxsc2NyZWVuRGl2Jyk7XHJcbiAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Z1bGxzY3JlZW5CdG4nKTtcclxuXHJcbiAgLy8gVmVyaWZpY2Egc2Ugb3MgZWxlbWVudG9zIGV4aXN0ZW1cclxuICBpZiAoZWxlbWVudCAmJiBidXR0b24pIHtcclxuICAgIGlmICghZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpIHtcclxuICAgICAgLy8gRXhwYW5kaXIgcGFyYSB0ZWxhIGNoZWlhXHJcbiAgICAgIGlmIChlbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgZWxlbWVudC5yZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9IGVsc2UgaWYgKChlbGVtZW50IGFzIGFueSkubW96UmVxdWVzdEZ1bGxTY3JlZW4pIHsgLy8gUGFyYSBGaXJlZm94XHJcbiAgICAgICAgKGVsZW1lbnQgYXMgYW55KS5tb3pSZXF1ZXN0RnVsbFNjcmVlbigpO1xyXG4gICAgICB9IGVsc2UgaWYgKChlbGVtZW50IGFzIGFueSkud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4pIHsgLy8gUGFyYSBDaHJvbWUsIFNhZmFyaSBlIE9wZXJhXHJcbiAgICAgICAgKGVsZW1lbnQgYXMgYW55KS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9IGVsc2UgaWYgKChlbGVtZW50IGFzIGFueSkubXNSZXF1ZXN0RnVsbHNjcmVlbikgeyAvLyBQYXJhIElFL0VkZ2VcclxuICAgICAgICAoZWxlbWVudCBhcyBhbnkpLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfVxyXG4gICAgICBidXR0b24udGV4dENvbnRlbnQgPSAnY2xvc2VfZnVsbHNjcmVlbic7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBTYWlyIGRhIHRlbGEgY2hlaWFcclxuICAgICAgaWYgKGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmICgoZG9jdW1lbnQgYXMgYW55KS5tb3pDYW5jZWxGdWxsU2NyZWVuKSB7IC8vIFBhcmEgRmlyZWZveFxyXG4gICAgICAgIChkb2N1bWVudCBhcyBhbnkpLm1vekNhbmNlbEZ1bGxTY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmICgoZG9jdW1lbnQgYXMgYW55KS53ZWJraXRFeGl0RnVsbHNjcmVlbikgeyAvLyBQYXJhIENocm9tZSwgU2FmYXJpIGUgT3BlcmFcclxuICAgICAgICAoZG9jdW1lbnQgYXMgYW55KS53ZWJraXRFeGl0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9IGVsc2UgaWYgKChkb2N1bWVudCBhcyBhbnkpLm1zRXhpdEZ1bGxzY3JlZW4pIHsgLy8gUGFyYSBJRS9FZGdlXHJcbiAgICAgICAgKGRvY3VtZW50IGFzIGFueSkubXNFeGl0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9XHJcbiAgICAgIGJ1dHRvbi50ZXh0Q29udGVudCA9ICdvcGVuX2luX2Z1bGwnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxubmdPbkluaXQoKTogdm9pZCB7XHJcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZnVsbHNjcmVlbmNoYW5nZScsICgpID0+IHtcclxuICAgIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmdWxsc2NyZWVuQnRuJyk7XHJcbiAgICBcclxuICAgIGlmIChidXR0b24pIHtcclxuICAgICAgaWYgKCFkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudCkge1xyXG4gICAgICAgIGJ1dHRvbi50ZXh0Q29udGVudCA9ICdvcGVuX2luX2Z1bGwnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGJ1dHRvbi50ZXh0Q29udGVudCA9ICdjbG9zZV9mdWxsc2NyZWVuJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5zY3JvbGxIYW5kbGVyKCRldmVudDogRXZlbnQpIHtcclxuICBjb25zdCBlbGVtZW50ID0gJGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgLy9zZSBvIGVzY3JvbGwgY2hlZ2FyIGF0w6kgbyBmaW5hbFxyXG4gIGlmIChlbGVtZW50LnNjcm9sbEhlaWdodCAtIGVsZW1lbnQuc2Nyb2xsVG9wID09PSBlbGVtZW50LmNsaWVudEhlaWdodCkge1xyXG4gICAgLy8gdGhpcy5idXNjYXJQcm94aW1vc0RvY3VtZW50b3MoKTtcclxuICAgIHRoaXMub25TY3JvbGxIYW5kbGVyLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcbn1cclxuXHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtZDpmbGV4LXJvdyBnYXAtMiBtdC0zIGN1c3RvbS1tYXgtaGVpZ2h0XCJcclxuICBzdHlsZT1cImhlaWdodDogMTAwJVwiXHJcbj5cclxuICA8IS0tIExpc3RhIGRlIGRvY3VtZW50b3MgLS0+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjYXJkLXBlcmZpbCBjb2wtMTIgbWQ6Y29sLTQgbGc6Y29sLTMgZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXHJcbiAgICAoc2Nyb2xsKT1cInNjcm9sbEhhbmRsZXIoJGV2ZW50KVwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdvdmVyZmxvdy15LWF1dG8nOiBkYXRhU291cmNlKCkubGVuZ3RoID4gMCxcclxuICAgICAgJ292ZXJmbG93LXktaGlkZGVuJzogZGF0YVNvdXJjZSgpLmxlbmd0aCA9PT0gMFxyXG4gICAgfVwiXHJcbiAgICBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAxMDAlOyBtaW4taGVpZ2h0OiAxNXJlbVwiXHJcbiAgPlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGFTb3VyY2UoKS5sZW5ndGggPiAwOyBlbHNlIGVtcHR5RG9jdW1lbnRMaXN0XCIgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgPCEtLSBMaXN0YSBkZSBjYXJkcyAtLT5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZGF0YVNvdXJjZSgpOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgIGNsYXNzPVwiY2FyZC1ub3JtYWwgb3V0bGluZS1ub25lIGJvcmRlci1yb3VuZC14bCB3LWZ1bGwgcC0yIG0tMSBncmlkIHAtZmx1aWQgZmxleCBmbGV4LXJvdyBmbGV4LW5vd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgKGNsaWNrKT1cInZpc3VhbGl6YXJQcmV2aWV3KG9wdGlvbilcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnY2FyZC1uYW9WaXN1YWxpemFkbyc6ICFpc1Zpc3VhbGl6YWRvKG9wdGlvbikgJiYgYm9yZGVyQ2FyZE5hb1Zpc3VhbGl6YWRvLFxyXG4gICAgICAgICAgICAgICAgICAgICdjYXJkLXNlbGVjdGVkJzogb3B0aW9uID09PSBhcnF1aXZvUHJldmlldygpLFxyXG4gICAgICAgICAgICAgICAgICAgICdjYXJkLW5vcm1hbCc6IG9wdGlvbiAhPT0gYXJxdWl2b1ByZXZpZXcoKSxcclxuICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWdyb3ctMSBtbC0yIGZsZXgtY29sdW1uIGdhcC0xIG0tMCBwLTAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXNcIlxyXG4gICAgICAgICAgc3R5bGU9XCJtYXgtd2lkdGg6IDEwMCVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXJkVGVtcGxhdGU7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNhcmRUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiB9XCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb21tb24tc3R5bGUgZGVmYXVsdC1jYXJkXCI+XHJcbiAgICAgICAgICAgIDxoMSBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWJhc2UgcC0wIG0tMFwiPkJlbS12aW5kbyE8L2gxPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc20gbXQtMlwiPlxyXG4gICAgICAgICAgICAgIEt2LWZpbGUtcHJldmlldyBhZ3VhcmRhbmRvIHVtIHRlbXBsYXRlLi4uXHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJmb250LWJvbGQgdGV4dC1zbSBwLTAgbS0wXCI+RGF0YToge3sgdG9kYXlEYXRlKCkgfX08L3A+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlEb2N1bWVudExpc3Q+XHJcbiAgICAgIEBpZihpc0xvYWRpbmdTa2VsZXRvbil7XHJcbiAgICAgIDxwLXNrZWxldG9uIFxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpIG9mIFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5XVwiIFxyXG4gICAgICAgIGhlaWdodD1cIjVyZW1cIiBcclxuICAgICAgICBbc3R5bGVdPVwieyAnbWFyZ2luLWJvdHRvbSc6ICcwLjI1cmVtJywgJ2JvcmRlclJhZGl1cyc6ICcwLjc1cmVtJyB9XCJcclxuICAgICAgPjwvcC1za2VsZXRvbj5cclxuICAgICAgfSBAaWYoIW5vRG9jdW1lbnRMaXN0VGVtcGxhdGUpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtZ3JheS02MDAgbXQtNCBtLTNcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+IGluYm94IDwvc3Bhbj5cclxuICAgICAgICAgIDxwPk5lbmh1bSBkb2N1bWVudG8gZGlzcG9uw612ZWwuPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC00IG0tM1wiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vRG9jdW1lbnRMaXN0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPCEtLSBDb250YWRvciBkZSBkb2N1bWVudG9zIC0gRml4byBuYSBwYXJ0ZSBpbmZlcmlvciAtLT5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJzdGlja3ktY291bnRlciBmbGV4IGZsZXgtY29sdW1uXHJcbiAgICAgICBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHRleHQtY2VudGVyIHB4LTIgcC0yXCJcclxuICAgICAgc3R5bGU9XCJwb3NpdGlvbjogc3RpY2t5OyBib3R0b206IC0xMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgXCJcclxuICAgID5cclxuICAgICAgPHNwYW4+e3sgdG90YWxJdGVuc0NhcnJlZ2FkbygpIH19IGRlIHt7IHRvdGFsUmVjb3JkcyB9fTwvc3Bhbj5cclxuICAgICAgQGlmKGxpc3RCb3R0b21UZW1wbGF0ZSkge1xyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdEJvdHRvbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBWaXN1YWxpemFkb3IgLS0+XHJcbiAgPGRpdlxyXG4gICAgaWQ9XCJmdWxsc2NyZWVuRGl2XCJcclxuICAgIGNsYXNzPVwiY2FyZC1wZXJmaWwgY29sLTEyIG1kOmNvbC04IGxnOmNvbC05IGZsZXgtMVwiXHJcbiAgICBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAxMDAlXCJcclxuICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgJ292ZXJmbG93LXknOiBhcnF1aXZvUHJldmlldygpID8gJ2F1dG8nIDogJ2hpZGRlbidcclxuICAgIH1cIlxyXG4gID5cclxuICAgIEBpZihidG5UZWxhQ2hlaWEgJiYgIWJ1dHRvblRlbXBsYXRlKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+PC9kaXY+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgaWQ9XCJmdWxsc2NyZWVuQnRuXCJcclxuICAgICAgICAoY2xpY2spPVwiYWx0ZXJuYXJUZWxhQ2hlaWEoKVwiXHJcbiAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHAtMiB0ZXh0LXhsIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIG9wZW5faW5fZnVsbFxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIH0gQGlmKCFidG5UZWxhQ2hlaWEgJiYgYnV0dG9uVGVtcGxhdGUgJiYgIWNvbnRlbnRWaWV3ZXIpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj48L2Rpdj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJwLTNcIj5cclxuICAgICAgICA8c3BhbiAoY2xpY2spPVwidmlzdWFsaXphclByZXZpZXcobnVsbCwgdHJ1ZSlcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBpZihidG5UZWxhQ2hlaWEgJiYgYnV0dG9uVGVtcGxhdGUpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XHJcbiAgICAgIEBpZighY29udGVudFZpZXdlcikge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cInAtM1wiPlxyXG4gICAgICAgIDxzcGFuIChjbGljayk9XCJ2aXN1YWxpemFyUHJldmlldyhudWxsLCB0cnVlKVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPjwvZGl2PlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgIGlkPVwiZnVsbHNjcmVlbkJ0blwiXHJcbiAgICAgICAgKGNsaWNrKT1cImFsdGVybmFyVGVsYUNoZWlhKClcIlxyXG4gICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBwLTIgdGV4dC14bCBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgID5cclxuICAgICAgICBvcGVuX2luX2Z1bGxcclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBpZih2aXN1YWxpemFkb3JEb2N1bWVudG9zKSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXJxdWl2bygpOyBlbHNlIG5vRG9jdW1lbnRTZWxlY3RlZFwiPlxyXG4gICAgICBAaWYoaXNMb2FkaW5nKSB7XHJcbiAgICAgIDxuZ3gtbG9hZGluZ1xyXG4gICAgICAgIFtzaG93XT1cImlzTG9hZGluZ1wiXHJcbiAgICAgICAgW2NvbmZpZ109XCJ7IGJhY2tkcm9wQm9yZGVyUmFkaXVzOiAnM3B4JywgZnVsbFNjcmVlbkJhY2tkcm9wOiBmYWxzZSB9XCJcclxuICAgICAgPjwvbmd4LWxvYWRpbmc+XHJcbiAgICAgIH1cclxuICAgICAgPGt2LWZpbGUtdmlld2VyLW5vdm9cclxuICAgICAgICAqbmdJZj1cImV4dGVuY2FvRG9jdW1lbnRvICE9PSAnZWtwJ1wiXHJcbiAgICAgICAgW2FycXVpdm9dPVwiYXJxdWl2bygpIVwiXHJcbiAgICAgICAgW3R5cGVdPVwidHlwZSgpIVwiXHJcbiAgICAgICAgW2Jsb2JdPVwiYmxvYigpIVwiXHJcbiAgICAgICAgW3dpZHRoXT1cIicxMDAlJ1wiXHJcbiAgICAgICAgW2hlaWdodF09XCInMTAwJSdcIlxyXG4gICAgICAgIGNsYXNzPVwiZmlsZS12aWV3ZXJcIlxyXG4gICAgICAgIHN0eWxlPVwibWF4LWhlaWdodDogMTAwJVwiXHJcbiAgICAgID5cclxuICAgICAgPC9rdi1maWxlLXZpZXdlci1ub3ZvPlxyXG5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGlkPVwiaHRtbC1jb250ZW50XCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cImVrcENvbnRlbnQoKVwiXHJcbiAgICAgICAgKm5nSWY9XCJleHRlbmNhb0RvY3VtZW50byA9PT0gJ2VrcCdcIlxyXG4gICAgICAgIGNsYXNzPVwiZWtwLWNvbnRlbnRcIlxyXG4gICAgICAgIHN0eWxlPVwib3ZlcmZsb3cteTogYXV0bzsgbWF4LWhlaWdodDogMTAwJVwiXHJcbiAgICAgID48L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtblwiIHN0eWxlPVwiaGVpZ2h0OiA5MiU7XCIgPlxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nSWY9XCJhcnF1aXZvUHJldmlldygpIHx8IGNvbnRlbnRWaWV3ZXI7IGVsc2Ugbm9Eb2N1bWVudFNlbGVjdGVkXCJcclxuICAgICAgPlxyXG4gICAgICA8ZGl2IHN0eWxlPVwiZmxleDogMTtcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICBjb250ZW50VGVtcGxhdGU7XHJcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBhcnF1aXZvUHJldmlldygpIH1cclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICBzdHlsZT1cIm92ZXJmbG93LXk6IGF1dG87IG1heC1oZWlnaHQ6IDEwMCVcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgICAgQGlmKGNvbnRlbnRGb3JtKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiIHN0eWxlPVwicG9zaXRpb246IHN0aWNreTsgYm90dG9tOiAwOyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgei1pbmRleDogMTA7IHBhZGRpbmc6IDFyZW0gMXJlbSAwIDFyZW07XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj4qPC9zcGFuPiBDYW1wb3Mgb2JyaWdhdMOzcmlvc1xyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMlwiPlxyXG4gICAgICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgICAgIGxhYmVsPVwiQ2FuY2VsYXJcIlxyXG4gICAgICAgICAgICAgICAgaWNvbj1cImNsb3NlXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIG1kOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICBzZXZlcml0eT1cInRlcnRpYXJ5XCJcclxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cIk9uQ2FuY2VsKClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L2t2LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMlwiPlxyXG4gICAgICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgICAgIGxhYmVsPVwiU2FsdmFyXCJcclxuICAgICAgICAgICAgICAgIGljb249XCJzYXZlXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIG1kOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICBzZXZlcml0eT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiT25TYXZlKClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L2t2LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+IFxyXG4gICAgfVxyXG4gICAgPG5nLXRlbXBsYXRlICNub0RvY3VtZW50U2VsZWN0ZWQ+XHJcbiAgICAgIEBpZighbm9Eb2N1bWVudFNlbGVjdGVkVGVtcGxhdGUpIHtcclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwibm8tZG9jdW1lbnQtbWVzc2FnZSBmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcclxuICAgICAgICBzdHlsZT1cImhlaWdodDogMTAwJTsgb3ZlcmZsb3cteTogYXV0b1wiXHJcbiAgICAgID5cclxuICAgICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtZ3JheS01MDBcIj5cclxuICAgICAgICAgIFNlbGVjaW9uZSB1bSBhcnF1aXZvIHBhcmEgdmlzdWFsaXphw6fDo29cclxuICAgICAgICA8L3A+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgW3NyY109XCJcclxuICAgICAgICAgICAgJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2ltZy9EaWdpdGFsX3BlcnNvbmFsX2ZpbGVzLXBhbmFfMy5wbmcnXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgc3R5bGU9XCJtYXgtaGVpZ2h0OiA1MCU7IG1hcmdpbi10b3A6IDJyZW1cIlxyXG4gICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vRG9jdW1lbnRTZWxlY3RlZFRlbXBsYXRlXCJcclxuICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,44 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { PdfViewerModule } from 'ng2-pdf-viewer';
4
- import { KvContentViewerComponent } from './kv-content-viewer.component';
5
- import { KvFileViewerNovoModule } from '../kv-file-viewer-novo/kv-file-viewer-novo.module';
6
- import { NgxLoadingModule } from 'ngx-loading';
7
- import { PrimeNgModule } from '../../api/modules/primeng.module';
8
- import { KvButtonModule } from '../kv-button/kv-button.module';
9
- import { KvButtonsModule } from '../kv-buttons/kv-button.module';
10
- import * as i0 from "@angular/core";
11
- export class KvContentViewerModule {
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerModule, declarations: [KvContentViewerComponent], imports: [CommonModule,
14
- PdfViewerModule,
15
- PrimeNgModule,
16
- KvFileViewerNovoModule,
17
- NgxLoadingModule,
18
- KvButtonModule,
19
- KvButtonsModule], exports: [KvContentViewerComponent] }); }
20
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerModule, imports: [CommonModule,
21
- PdfViewerModule,
22
- PrimeNgModule,
23
- KvFileViewerNovoModule,
24
- NgxLoadingModule,
25
- KvButtonModule,
26
- KvButtonsModule] }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerModule, decorators: [{
29
- type: NgModule,
30
- args: [{
31
- declarations: [KvContentViewerComponent],
32
- imports: [
33
- CommonModule,
34
- PdfViewerModule,
35
- PrimeNgModule,
36
- KvFileViewerNovoModule,
37
- NgxLoadingModule,
38
- KvButtonModule,
39
- KvButtonsModule
40
- ],
41
- exports: [KvContentViewerComponent]
42
- }]
43
- }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY29udGVudC12aWV3ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBaUJqRSxNQUFNLE9BQU8scUJBQXFCOzhHQUFyQixxQkFBcUI7K0dBQXJCLHFCQUFxQixpQkFaakIsd0JBQXdCLGFBRXJDLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLGVBQWUsYUFFUCx3QkFBd0I7K0dBRXZCLHFCQUFxQixZQVY5QixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixzQkFBc0I7WUFDdEIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxlQUFlOzsyRkFJTixxQkFBcUI7a0JBYmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3hDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixzQkFBc0I7d0JBQ3RCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQZGZWaWV3ZXJNb2R1bGUgfSBmcm9tICduZzItcGRmLXZpZXdlcic7XHJcbmltcG9ydCB7IEt2Q29udGVudFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4va3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgS3ZGaWxlVmlld2VyTm92b01vZHVsZSB9IGZyb20gJy4uL2t2LWZpbGUtdmlld2VyLW5vdm8va3YtZmlsZS12aWV3ZXItbm92by5tb2R1bGUnO1xyXG5pbXBvcnQgeyBOZ3hMb2FkaW5nTW9kdWxlIH0gZnJvbSAnbmd4LWxvYWRpbmcnO1xyXG5pbXBvcnQgeyBQcmltZU5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vYXBpL21vZHVsZXMvcHJpbWVuZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdkJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2t2LWJ1dHRvbi9rdi1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZCdXR0b25zTW9kdWxlIH0gZnJvbSAnLi4va3YtYnV0dG9ucy9rdi1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGknO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbS3ZDb250ZW50Vmlld2VyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQZGZWaWV3ZXJNb2R1bGUsXHJcbiAgICBQcmltZU5nTW9kdWxlLFxyXG4gICAgS3ZGaWxlVmlld2VyTm92b01vZHVsZSxcclxuICAgIE5neExvYWRpbmdNb2R1bGUsXHJcbiAgICBLdkJ1dHRvbk1vZHVsZSxcclxuICAgIEt2QnV0dG9uc01vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0t2Q29udGVudFZpZXdlckNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEt2Q29udGVudFZpZXdlck1vZHVsZSB7IH1cclxuIl19
@@ -1,26 +0,0 @@
1
- import { Component, EventEmitter, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class KvErrorComponent {
5
- set setHasError(value) {
6
- this.hasError = value;
7
- this.emitError.emit(value);
8
- }
9
- ;
10
- constructor() {
11
- this.hasError = false;
12
- this.emitError = new EventEmitter();
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvErrorComponent, selector: "kv-error", inputs: { formControl: "formControl", setHasError: ["hasError", "setHasError"] }, ngImport: i0, template: "<small id=\"error-message\" class=\"p-error block\" style=\"height: 0px !important;\" >\r\n <ng-content *ngIf=\"hasError\"></ng-content>\r\n</small>\r\n", styles: ["#error-message{left:1px;font-size:.625rem!important;font-family:Roboto,Arial,Helvetica,sans-serif!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvErrorComponent, decorators: [{
18
- type: Component,
19
- args: [{ selector: 'kv-error', template: "<small id=\"error-message\" class=\"p-error block\" style=\"height: 0px !important;\" >\r\n <ng-content *ngIf=\"hasError\"></ng-content>\r\n</small>\r\n", styles: ["#error-message{left:1px;font-size:.625rem!important;font-family:Roboto,Arial,Helvetica,sans-serif!important}\n"] }]
20
- }], ctorParameters: () => [], propDecorators: { formControl: [{
21
- type: Input
22
- }], setHasError: [{
23
- type: Input,
24
- args: ['hasError']
25
- }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZXJyb3Iva3YtZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZXJyb3Iva3YtZXJyb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDOzs7QUFTdkIsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixJQUF1QixXQUFXLENBQUMsS0FBMEI7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUFBLENBQUM7SUFJRjtRQVhPLGFBQVEsR0FBd0IsS0FBSyxDQUFDO1FBUzdDLGNBQVMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUUvQyxDQUFDOzhHQVpOLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGtJQ2I3QiwySkFHQTs7MkZEVWEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLFVBQVU7d0RBT1gsV0FBVztzQkFBbkIsS0FBSztnQkFFaUIsV0FBVztzQkFBakMsS0FBSzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtZXJyb3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1lcnJvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtZXJyb3IuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZFcnJvckNvbXBvbmVudCB7XHJcbiAgcHVibGljIGhhc0Vycm9yOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sITogRm9ybUNvbnRyb2w7XHJcblxyXG4gIEBJbnB1dCgnaGFzRXJyb3InKSBzZXQgc2V0SGFzRXJyb3IodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuaGFzRXJyb3IgPSB2YWx1ZTtcclxuICAgIHRoaXMuZW1pdEVycm9yLmVtaXQodmFsdWUpO1xyXG4gIH07XHJcblxyXG4gIGVtaXRFcnJvcjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG59XHJcbiIsIjxzbWFsbCBpZD1cImVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cInAtZXJyb3IgYmxvY2tcIiBzdHlsZT1cImhlaWdodDogMHB4ICFpbXBvcnRhbnQ7XCIgPlxyXG4gIDxuZy1jb250ZW50ICpuZ0lmPVwiaGFzRXJyb3JcIj48L25nLWNvbnRlbnQ+XHJcbjwvc21hbGw+XHJcbiJdfQ==
@@ -1,35 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { KvErrorComponent } from './kv-error.component';
5
- import { PrimeNgModule } from '../../api/modules/primeng.module';
6
- import * as i0 from "@angular/core";
7
- export class kvErrorModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: kvErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: kvErrorModule, declarations: [KvErrorComponent], imports: [CommonModule,
10
- FormsModule,
11
- PrimeNgModule,
12
- ReactiveFormsModule], exports: [KvErrorComponent] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: kvErrorModule, imports: [CommonModule,
14
- FormsModule,
15
- PrimeNgModule,
16
- ReactiveFormsModule] }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: kvErrorModule, decorators: [{
19
- type: NgModule,
20
- args: [{
21
- declarations: [
22
- KvErrorComponent,
23
- ],
24
- imports: [
25
- CommonModule,
26
- FormsModule,
27
- PrimeNgModule,
28
- ReactiveFormsModule,
29
- ],
30
- exports: [
31
- KvErrorComponent,
32
- ]
33
- }]
34
- }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZXJyb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZXJyb3Iva3YtZXJyb3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQWdCakUsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLGlCQVp0QixnQkFBZ0IsYUFHaEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsbUJBQW1CLGFBR25CLGdCQUFnQjsrR0FHUCxhQUFhLFlBVHRCLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLG1CQUFtQjs7MkZBTVYsYUFBYTtrQkFkekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBLdkVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9rdi1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcmltZU5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vYXBpL21vZHVsZXMvcHJpbWVuZy5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEt2RXJyb3JDb21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFByaW1lTmdNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgS3ZFcnJvckNvbXBvbmVudCxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBrdkVycm9yTW9kdWxlIHsgfVxyXG4iXX0=