keevo-components 2.0.107 → 2.0.109

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 (756) hide show
  1. package/esm2022/keevo-components.mjs +5 -0
  2. package/esm2022/lib/api/base-components/base-component-button.mjs +39 -0
  3. package/esm2022/lib/api/base-components/base-component-chart.mjs +104 -0
  4. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +308 -0
  5. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +91 -0
  6. package/esm2022/lib/api/base-components/base-component-crud.mjs +80 -0
  7. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +31 -0
  8. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +238 -0
  9. package/esm2022/lib/api/base-components/base-component-input.mjs +101 -0
  10. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +174 -0
  11. package/esm2022/lib/api/base-components/base-component-table.mjs +354 -0
  12. package/esm2022/lib/api/base-components/base-component.mjs +51 -0
  13. package/esm2022/lib/api/components/chart/chart.config.mjs +2 -0
  14. package/esm2022/lib/api/components/chart/chart.model.mjs +2 -0
  15. package/esm2022/lib/api/components/chart/orchart.config.mjs +2 -0
  16. package/esm2022/lib/api/components/chart/orchartnode.mjs +2 -0
  17. package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +2 -0
  18. package/esm2022/lib/api/components/step/step.model.mjs +2 -0
  19. package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +2 -0
  20. package/esm2022/lib/api/components/table/action-item.mjs +2 -0
  21. package/esm2022/lib/api/components/table/kv-menuitem.mjs +46 -0
  22. package/esm2022/lib/api/components/table/table-dropdown-control.mjs +2 -0
  23. package/esm2022/lib/api/components/table/table.config.column.mjs +2 -0
  24. package/esm2022/lib/api/components/table/table.config.mjs +2 -0
  25. package/esm2022/lib/api/components/table/table.paginate.mjs +10 -0
  26. package/esm2022/lib/api/components/table/tabledit.config.mjs +2 -0
  27. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +2 -0
  28. package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +2 -0
  29. package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +3 -0
  30. package/esm2022/lib/api/directives/directives.module.mjs +30 -0
  31. package/esm2022/lib/api/directives/drag/drag.directive.mjs +52 -0
  32. package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +31 -0
  33. package/esm2022/lib/api/directives/template/template.directive.mjs +24 -0
  34. package/esm2022/lib/api/helpers/component-providers.mjs +16 -0
  35. package/esm2022/lib/api/helpers/keevo-validators.mjs +144 -0
  36. package/esm2022/lib/api/helpers/severity-color.mjs +73 -0
  37. package/esm2022/lib/api/helpers/translate-primeng.mjs +23 -0
  38. package/esm2022/lib/api/modules/primeng.module.mjs +283 -0
  39. package/esm2022/lib/api/pipes/capitalize.pipe.mjs +47 -0
  40. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +25 -0
  41. package/esm2022/lib/api/pipes/mask.pipe.mjs +29 -0
  42. package/esm2022/lib/api/pipes/pipes.module.mjs +39 -0
  43. package/esm2022/lib/api/pipes/telefone.pipe.mjs +45 -0
  44. package/esm2022/lib/api/services/base.api.service.mjs +74 -0
  45. package/esm2022/lib/api/services/breadcrumbs.service.mjs +62 -0
  46. package/esm2022/lib/api/services/chat.service.mjs +37 -0
  47. package/esm2022/lib/api/services/component.service.mjs +37 -0
  48. package/esm2022/lib/api/services/docs.service.mjs +129 -0
  49. package/esm2022/lib/api/services/form.service.mjs +95 -0
  50. package/esm2022/lib/api/services/image.cutter.service.mjs +193 -0
  51. package/esm2022/lib/api/services/imagens.service.mjs +28 -0
  52. package/esm2022/lib/api/services/notification.service.mjs +69 -0
  53. package/esm2022/lib/api/services/object.service.mjs +39 -0
  54. package/esm2022/lib/api/services/orgchart.service.mjs +64 -0
  55. package/esm2022/lib/api/services/pdf.service.mjs +48 -0
  56. package/esm2022/lib/api/types/breadcrumb.model.mjs +2 -0
  57. package/esm2022/lib/api/types/severity.mjs +2 -0
  58. package/esm2022/lib/components/keevo-components.module.mjs +232 -0
  59. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +142 -0
  60. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +55 -0
  61. package/esm2022/lib/components/kv-button/kv-button.component.mjs +51 -0
  62. package/esm2022/lib/components/kv-button/kv-button.module.mjs +28 -0
  63. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +25 -0
  64. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +39 -0
  65. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +17 -0
  66. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +17 -0
  67. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +39 -0
  68. package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +60 -0
  69. package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +31 -0
  70. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +34 -0
  71. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +28 -0
  72. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +166 -0
  73. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +32 -0
  74. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.mjs +32 -0
  75. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.mjs +22 -0
  76. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +185 -0
  77. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +44 -0
  78. package/esm2022/lib/components/kv-error/kv-error.component.mjs +26 -0
  79. package/esm2022/lib/components/kv-error/kv-error.module.mjs +35 -0
  80. package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +191 -0
  81. package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +23 -0
  82. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +46 -0
  83. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +20 -0
  84. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +68 -0
  85. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +24 -0
  86. package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +29 -0
  87. package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +34 -0
  88. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.component.mjs +103 -0
  89. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.module.mjs +31 -0
  90. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.pipe.mjs +30 -0
  91. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +26 -0
  92. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +28 -0
  93. package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +11 -0
  94. package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +19 -0
  95. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +27 -0
  96. package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +32 -0
  97. package/esm2022/lib/components/kv-icon/kv-icon.component.mjs +30 -0
  98. package/esm2022/lib/components/kv-icon/kv-icon.model.mjs +2 -0
  99. package/esm2022/lib/components/kv-icon/kv-icon.module.mjs +24 -0
  100. package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +136 -0
  101. package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +18 -0
  102. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +29 -0
  103. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +102 -0
  104. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.mjs +18 -0
  105. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.mjs +40 -0
  106. package/esm2022/lib/components/kv-inputs/kv-editor/config/kv-editor.config.mjs +110 -0
  107. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +271 -0
  108. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.mjs +7 -0
  109. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.mjs +135 -0
  110. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.mjs +168 -0
  111. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.mjs +78 -0
  112. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.mjs +95 -0
  113. package/esm2022/lib/components/kv-inputs/kv-editor/types/kv-editor.types.mjs +2 -0
  114. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +168 -0
  115. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +30 -0
  116. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +59 -0
  117. package/esm2022/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.mjs +66 -0
  118. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +33 -0
  119. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +38 -0
  120. package/esm2022/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.mjs +42 -0
  121. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +50 -0
  122. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +43 -0
  123. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +24 -0
  124. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +165 -0
  125. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +60 -0
  126. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +60 -0
  127. package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +46 -0
  128. package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +37 -0
  129. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +42 -0
  130. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +58 -0
  131. package/esm2022/lib/components/kv-label/kv-label.component.mjs +15 -0
  132. package/esm2022/lib/components/kv-label/kv-label.module.mjs +24 -0
  133. package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +28 -0
  134. package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +72 -0
  135. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +433 -0
  136. package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +15 -0
  137. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +16 -0
  138. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +28 -0
  139. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +29 -0
  140. package/esm2022/lib/components/kv-login/kv-login.component.mjs +62 -0
  141. package/esm2022/lib/components/kv-login/kv-login.module.mjs +47 -0
  142. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +98 -0
  143. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +20 -0
  144. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +225 -0
  145. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +59 -0
  146. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +190 -0
  147. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +41 -0
  148. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +205 -0
  149. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +51 -0
  150. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +386 -0
  151. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +39 -0
  152. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +58 -0
  153. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +28 -0
  154. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.mjs +62 -0
  155. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.mjs +28 -0
  156. package/esm2022/lib/components/kv-report/kv-report.component.mjs +44 -0
  157. package/esm2022/lib/components/kv-report/kv-report.module.mjs +24 -0
  158. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +74 -0
  159. package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +47 -0
  160. package/esm2022/lib/components/kv-steps/kv-steps.component.mjs +105 -0
  161. package/esm2022/lib/components/kv-table/kv-table.component.mjs +673 -0
  162. package/esm2022/lib/components/kv-table/kv-table.module.mjs +40 -0
  163. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +341 -0
  164. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +45 -0
  165. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +516 -0
  166. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +40 -0
  167. package/esm2022/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.mjs +17 -0
  168. package/esm2022/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.mjs +18 -0
  169. package/esm2022/lib/components/kv-table-viewer/kv-table-viewer.component.mjs +184 -0
  170. package/esm2022/lib/components/kv-tag/kv-tag.component.mjs +18 -0
  171. package/esm2022/lib/components/kv-tag/kv-tag.module.mjs +24 -0
  172. package/esm2022/lib/components/kv-tags/kv-tags.component.mjs +35 -0
  173. package/esm2022/lib/components/kv-tags/kv-tags.module.mjs +27 -0
  174. package/esm2022/lib/components/kv-timeline/kv-timeline.component.mjs +71 -0
  175. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +334 -0
  176. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +39 -0
  177. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +70 -0
  178. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +28 -0
  179. package/esm2022/lib/components/kv-widget-card/kv-widget-card.component.mjs +103 -0
  180. package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +40 -0
  181. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +68 -0
  182. package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +22 -0
  183. package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +78 -0
  184. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +87 -0
  185. package/esm2022/public-api.mjs +303 -0
  186. package/fesm2022/keevo-components.mjs +12127 -0
  187. package/fesm2022/keevo-components.mjs.map +1 -0
  188. package/index.d.ts +5 -0
  189. package/lib/api/base-components/base-component-button.d.ts +15 -0
  190. package/lib/api/base-components/base-component-chart.d.ts +40 -0
  191. package/lib/api/base-components/base-component-crud-form.d.ts +149 -0
  192. package/lib/api/base-components/base-component-crud-list.d.ts +70 -0
  193. package/lib/api/base-components/base-component-crud.d.ts +36 -0
  194. package/lib/api/base-components/base-component-dropdown-external.d.ts +15 -0
  195. package/lib/api/base-components/base-component-dropdown.d.ts +57 -0
  196. package/lib/api/base-components/base-component-input.d.ts +33 -0
  197. package/lib/api/base-components/base-component-multi-select.d.ts +40 -0
  198. package/lib/api/base-components/base-component-table.d.ts +88 -0
  199. package/lib/api/base-components/base-component.d.ts +22 -0
  200. package/lib/api/components/chart/chart.config.d.ts +14 -0
  201. package/lib/api/components/chart/chart.model.d.ts +12 -0
  202. package/lib/api/components/chart/orchart.config.d.ts +41 -0
  203. package/lib/api/components/chart/orchartnode.d.ts +34 -0
  204. package/lib/api/components/dropdown/filtro.combo.d.ts +4 -0
  205. package/{src/lib/api/components/step/step.model.ts → lib/api/components/step/step.model.d.ts} +13 -15
  206. package/lib/api/components/stepper/kv-stepperpanel.d.ts +9 -0
  207. package/lib/api/components/table/action-item.d.ts +13 -0
  208. package/lib/api/components/table/kv-menuitem.d.ts +152 -0
  209. package/lib/api/components/table/table-dropdown-control.d.ts +6 -0
  210. package/lib/api/components/table/table.config.column.d.ts +38 -0
  211. package/lib/api/components/table/table.config.d.ts +36 -0
  212. package/lib/api/components/table/table.paginate.d.ts +10 -0
  213. package/{src/lib/api/components/table/tabledit.config.ts → lib/api/components/table/tabledit.config.d.ts} +8 -9
  214. package/lib/api/components/table/tableedit.config.column.d.ts +11 -0
  215. package/lib/api/components/tree-table/tree-table-keys.d.ts +12 -0
  216. package/lib/api/components/tree-table/tree-table.config.d.ts +31 -0
  217. package/lib/api/directives/directives.module.d.ts +9 -0
  218. package/lib/api/directives/drag/drag.directive.d.ts +11 -0
  219. package/lib/api/directives/stepper/dynamicinput.directive.d.ts +15 -0
  220. package/lib/api/directives/template/template.directive.d.ts +11 -0
  221. package/lib/api/helpers/component-providers.d.ts +2 -0
  222. package/lib/api/helpers/keevo-validators.d.ts +18 -0
  223. package/lib/api/helpers/severity-color.d.ts +5 -0
  224. package/lib/api/helpers/translate-primeng.d.ts +4 -0
  225. package/lib/api/modules/primeng.module.d.ts +69 -0
  226. package/lib/api/pipes/capitalize.pipe.d.ts +10 -0
  227. package/lib/api/pipes/cpfcnpj.pipe.d.ts +7 -0
  228. package/lib/api/pipes/mask.pipe.d.ts +7 -0
  229. package/lib/api/pipes/pipes.module.d.ts +11 -0
  230. package/lib/api/pipes/telefone.pipe.d.ts +7 -0
  231. package/lib/api/services/base.api.service.d.ts +25 -0
  232. package/lib/api/services/breadcrumbs.service.d.ts +16 -0
  233. package/lib/api/services/chat.service.d.ts +17 -0
  234. package/lib/api/services/component.service.d.ts +11 -0
  235. package/lib/api/services/docs.service.d.ts +12 -0
  236. package/lib/api/services/form.service.d.ts +31 -0
  237. package/lib/api/services/image.cutter.service.d.ts +16 -0
  238. package/lib/api/services/imagens.service.d.ts +10 -0
  239. package/lib/api/services/notification.service.d.ts +26 -0
  240. package/lib/api/services/object.service.d.ts +9 -0
  241. package/lib/api/services/orgchart.service.d.ts +20 -0
  242. package/lib/api/services/pdf.service.d.ts +7 -0
  243. package/lib/api/types/breadcrumb.model.d.ts +5 -0
  244. package/{src/lib/api/types/severity.ts → lib/api/types/severity.d.ts} +2 -3
  245. package/lib/components/keevo-components.module.d.ts +38 -0
  246. package/lib/components/kv-avatar/kv-avatar.component.d.ts +36 -0
  247. package/lib/components/kv-avatar/kv-avatar.module.d.ts +15 -0
  248. package/lib/components/kv-button/kv-button.component.d.ts +24 -0
  249. package/lib/components/kv-button/kv-button.module.d.ts +9 -0
  250. package/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.d.ts +11 -0
  251. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +19 -0
  252. package/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.d.ts +7 -0
  253. package/lib/components/kv-buttons/kv-button-success/kv-button-success.component.d.ts +7 -0
  254. package/lib/components/kv-buttons/kv-button.module.d.ts +11 -0
  255. package/lib/components/kv-card-selection/kv-card-selection.component.d.ts +25 -0
  256. package/lib/components/kv-card-selection/kv-card-selection.module.d.ts +10 -0
  257. package/lib/components/kv-carousel/kv-carousel.component.d.ts +17 -0
  258. package/lib/components/kv-carousel/kv-carousel.module.d.ts +9 -0
  259. package/lib/components/kv-chart/kv-chart.component.d.ts +57 -0
  260. package/lib/components/kv-chart/kv-chart.module.d.ts +10 -0
  261. package/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.d.ts +12 -0
  262. package/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.d.ts +10 -0
  263. package/lib/components/kv-content-viewer/kv-content-viewer.component.d.ts +56 -0
  264. package/lib/components/kv-content-viewer/kv-content-viewer.module.d.ts +14 -0
  265. package/lib/components/kv-error/kv-error.component.d.ts +12 -0
  266. package/lib/components/kv-error/kv-error.module.d.ts +10 -0
  267. package/lib/components/kv-file-upload/kv-file-upload.component.d.ts +35 -0
  268. package/lib/components/kv-file-upload/kv-file-upload.module.d.ts +10 -0
  269. package/lib/components/kv-file-viewer/kv-file-viewer.component.d.ts +21 -0
  270. package/lib/components/kv-file-viewer/kv-file-viewer.module.d.ts +8 -0
  271. package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.d.ts +24 -0
  272. package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.d.ts +9 -0
  273. package/lib/components/kv-filter-card/kv-filter-card.component.d.ts +13 -0
  274. package/lib/components/kv-filter-card/kv-filter-card.module.d.ts +10 -0
  275. package/lib/components/kv-filter-cards/kv-filter-cards.component.d.ts +32 -0
  276. package/lib/components/kv-filter-cards/kv-filter-cards.module.d.ts +9 -0
  277. package/lib/components/kv-filter-cards/kv-filter-cards.pipe.d.ts +7 -0
  278. package/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.d.ts +10 -0
  279. package/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.d.ts +9 -0
  280. package/lib/components/kv-g-icon/kv-g-icon.component.d.ts +5 -0
  281. package/lib/components/kv-g-icon/kv-g-icon.module.d.ts +9 -0
  282. package/lib/components/kv-home-card/kv-home-card.component.d.ts +24 -0
  283. package/lib/components/kv-home-card/kv-home-card.module.d.ts +11 -0
  284. package/lib/components/kv-icon/kv-icon.component.d.ts +22 -0
  285. package/{src/lib/components/kv-icon/kv-icon.model.ts → lib/components/kv-icon/kv-icon.model.d.ts} +3 -3
  286. package/lib/components/kv-icon/kv-icon.module.d.ts +8 -0
  287. package/lib/components/kv-image-upload/kv-image-upload.component.d.ts +34 -0
  288. package/lib/components/kv-image-upload/kv-image-upload.module.d.ts +8 -0
  289. package/lib/components/kv-inputs/kv-check/kv-check.component.d.ts +12 -0
  290. package/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.d.ts +33 -0
  291. package/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.d.ts +8 -0
  292. package/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.d.ts +14 -0
  293. package/lib/components/kv-inputs/kv-editor/config/kv-editor.config.d.ts +55 -0
  294. package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +70 -0
  295. package/{src/lib/components/kv-inputs/kv-editor/kv-editor.ts → lib/components/kv-inputs/kv-editor/kv-editor.d.ts} +6 -6
  296. package/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.d.ts +41 -0
  297. package/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.d.ts +41 -0
  298. package/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.d.ts +28 -0
  299. package/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.d.ts +45 -0
  300. package/lib/components/kv-inputs/kv-editor/types/kv-editor.types.d.ts +32 -0
  301. package/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.d.ts +34 -0
  302. package/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.d.ts +12 -0
  303. package/lib/components/kv-inputs/kv-input-number/kv-input-number.component.d.ts +19 -0
  304. package/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.d.ts +21 -0
  305. package/lib/components/kv-inputs/kv-input-password/kv-input-password.component.d.ts +13 -0
  306. package/lib/components/kv-inputs/kv-input-text/kv-input-text.component.d.ts +11 -0
  307. package/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.d.ts +13 -0
  308. package/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.d.ts +18 -0
  309. package/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.d.ts +16 -0
  310. package/lib/components/kv-inputs/kv-input-time/kv-input-time.component.d.ts +10 -0
  311. package/lib/components/kv-inputs/kv-inputs.module.d.ts +38 -0
  312. package/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.d.ts +20 -0
  313. package/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.d.ts +20 -0
  314. package/lib/components/kv-inputs/kv-select-button/kv-select-button.component.d.ts +19 -0
  315. package/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.d.ts +26 -0
  316. package/lib/components/kv-inputs/kv-switch/kv-switch.component.d.ts +16 -0
  317. package/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.d.ts +25 -0
  318. package/lib/components/kv-label/kv-label.component.d.ts +7 -0
  319. package/lib/components/kv-label/kv-label.module.d.ts +8 -0
  320. package/lib/components/kv-layout/dropdown-master/dropdown-master.component.d.ts +12 -0
  321. package/lib/components/kv-layout/kv-layout.module.d.ts +18 -0
  322. package/lib/components/kv-layout/layout/kv-layout.component.d.ts +156 -0
  323. package/lib/components/kv-layout/top-icons/top-icons.component.d.ts +16 -0
  324. package/lib/components/kv-loader/kv-loader.component.d.ts +7 -0
  325. package/lib/components/kv-loader/kv-loader.module.d.ts +9 -0
  326. package/lib/components/kv-loader/kv-loader.service.d.ts +10 -0
  327. package/lib/components/kv-login/kv-login.component.d.ts +32 -0
  328. package/lib/components/kv-login/kv-login.module.d.ts +13 -0
  329. package/lib/components/kv-modal/kv-modal.component.d.ts +27 -0
  330. package/lib/components/kv-modal/kv-modal.module.d.ts +10 -0
  331. package/lib/components/kv-orgchart/kv-orgchart.component.d.ts +45 -0
  332. package/lib/components/kv-orgchart/kv-orgchart.module.d.ts +17 -0
  333. package/lib/components/kv-page-form/kv-page-form.component.d.ts +98 -0
  334. package/lib/components/kv-page-form/kv-page-form.module.d.ts +12 -0
  335. package/lib/components/kv-page-stepper/kv-page-stepper.component.d.ts +84 -0
  336. package/lib/components/kv-page-stepper/kv-page-stepper.module.d.ts +14 -0
  337. package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +70 -0
  338. package/lib/components/kv-pick-list/kv-pick-list.module.d.ts +11 -0
  339. package/lib/components/kv-progress-bar/kv-progress-bar.component.d.ts +67 -0
  340. package/lib/components/kv-progress-bar/kv-progress-bar.module.d.ts +9 -0
  341. package/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.d.ts +71 -0
  342. package/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.d.ts +9 -0
  343. package/lib/components/kv-report/kv-report.component.d.ts +18 -0
  344. package/lib/components/kv-report/kv-report.module.d.ts +8 -0
  345. package/lib/components/kv-stepper/kv-stepper.component.d.ts +32 -0
  346. package/lib/components/kv-stepper/kv-stepper.module.d.ts +13 -0
  347. package/lib/components/kv-steps/kv-steps.component.d.ts +21 -0
  348. package/lib/components/kv-table/kv-table.component.d.ts +154 -0
  349. package/lib/components/kv-table/kv-table.module.d.ts +12 -0
  350. package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +66 -0
  351. package/lib/components/kv-table-edit/kv-table-edit.module.d.ts +15 -0
  352. package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +119 -0
  353. package/lib/components/kv-table-expandable/kv-table-expandable.module.d.ts +13 -0
  354. package/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.d.ts +8 -0
  355. package/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.d.ts +7 -0
  356. package/lib/components/kv-table-viewer/kv-table-viewer.component.d.ts +72 -0
  357. package/lib/components/kv-tag/kv-tag.component.d.ts +7 -0
  358. package/lib/components/kv-tag/kv-tag.module.d.ts +8 -0
  359. package/lib/components/kv-tags/kv-tags.component.d.ts +31 -0
  360. package/lib/components/kv-tags/kv-tags.module.d.ts +8 -0
  361. package/lib/components/kv-timeline/kv-timeline.component.d.ts +18 -0
  362. package/lib/components/kv-tree-table/kv-tree-table.component.d.ts +87 -0
  363. package/lib/components/kv-tree-table/kv-tree-table.module.d.ts +11 -0
  364. package/lib/components/kv-tree-view/kv-tree-view.component.d.ts +21 -0
  365. package/lib/components/kv-tree-view/kv-tree-view.module.d.ts +9 -0
  366. package/lib/components/kv-widget-card/kv-widget-card.component.d.ts +60 -0
  367. package/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.d.ts +14 -0
  368. package/lib/components/kv-workspace/kv-workspace.module.d.ts +19 -0
  369. package/lib/components/kv-workspace/logo/kv-workspace-logo.component.d.ts +11 -0
  370. package/lib/components/kv-workspace/master/kv-workspace-master.component.d.ts +25 -0
  371. package/lib/components/kv-workspace/workspace/kv-workspace.component.d.ts +37 -0
  372. package/package.json +42 -32
  373. package/{src/public-api.ts → public-api.d.ts} +298 -361
  374. package/src/lib/components/kv-table/kv-table.component.scss +4 -4
  375. package/ng-package.json +0 -14
  376. package/src/assets/.gitkeep +0 -0
  377. package/src/index.ts +0 -1
  378. package/src/lib/api/base-components/base-component-button.ts +0 -29
  379. package/src/lib/api/base-components/base-component-chart.ts +0 -118
  380. package/src/lib/api/base-components/base-component-crud-form.ts +0 -377
  381. package/src/lib/api/base-components/base-component-crud-list.ts +0 -129
  382. package/src/lib/api/base-components/base-component-crud.ts +0 -92
  383. package/src/lib/api/base-components/base-component-dropdown-external.ts +0 -29
  384. package/src/lib/api/base-components/base-component-dropdown-new.ts +0 -112
  385. package/src/lib/api/base-components/base-component-dropdown.ts +0 -257
  386. package/src/lib/api/base-components/base-component-input.ts +0 -121
  387. package/src/lib/api/base-components/base-component-multi-select.ts +0 -187
  388. package/src/lib/api/base-components/base-component-table.ts +0 -366
  389. package/src/lib/api/base-components/base-component.ts +0 -47
  390. package/src/lib/api/components/chart/chart.config.ts +0 -15
  391. package/src/lib/api/components/chart/chart.model.ts +0 -12
  392. package/src/lib/api/components/chart/orchart.config.ts +0 -51
  393. package/src/lib/api/components/chart/orchartnode.ts +0 -44
  394. package/src/lib/api/components/dropdown/filtro.combo.ts +0 -4
  395. package/src/lib/api/components/stepper/kv-stepperpanel.ts +0 -10
  396. package/src/lib/api/components/table/action-item.ts +0 -13
  397. package/src/lib/api/components/table/kv-menuitem.ts +0 -198
  398. package/src/lib/api/components/table/table-dropdown-control.ts +0 -6
  399. package/src/lib/api/components/table/table.config.column.ts +0 -38
  400. package/src/lib/api/components/table/table.config.ts +0 -39
  401. package/src/lib/api/components/table/table.paginate.ts +0 -7
  402. package/src/lib/api/components/table/tableedit.config.column.ts +0 -12
  403. package/src/lib/api/components/tree-table/tree-table-keys.ts +0 -12
  404. package/src/lib/api/components/tree-table/tree-table.config.ts +0 -34
  405. package/src/lib/api/directives/directives.module.ts +0 -19
  406. package/src/lib/api/directives/drag/drag.directive.ts +0 -40
  407. package/src/lib/api/directives/stepper/dynamicinput.directive.ts +0 -23
  408. package/src/lib/api/directives/template/template.directive.ts +0 -15
  409. package/src/lib/api/helpers/component-providers.ts +0 -16
  410. package/src/lib/api/helpers/keevo-validators.ts +0 -174
  411. package/src/lib/api/helpers/severity-color.ts +0 -77
  412. package/src/lib/api/helpers/translate-primeng.ts +0 -25
  413. package/src/lib/api/modules/primeng.module.ts +0 -144
  414. package/src/lib/api/pipes/capitalize.pipe.ts +0 -47
  415. package/src/lib/api/pipes/cpfcnpj.pipe.ts +0 -21
  416. package/src/lib/api/pipes/mask.pipe.ts +0 -24
  417. package/src/lib/api/pipes/pipes.module.ts +0 -26
  418. package/src/lib/api/pipes/telefone.pipe.ts +0 -38
  419. package/src/lib/api/services/base.api.service.ts +0 -115
  420. package/src/lib/api/services/breadcrumbs.service.ts +0 -71
  421. package/src/lib/api/services/chat.service.ts +0 -39
  422. package/src/lib/api/services/component.service.ts +0 -44
  423. package/src/lib/api/services/docs.service.ts +0 -129
  424. package/src/lib/api/services/form.service.ts +0 -139
  425. package/src/lib/api/services/image.cutter.service.ts +0 -290
  426. package/src/lib/api/services/imagens.service.ts +0 -28
  427. package/src/lib/api/services/notification.service.ts +0 -88
  428. package/src/lib/api/services/object.service.ts +0 -33
  429. package/src/lib/api/services/orgchart.service.ts +0 -77
  430. package/src/lib/api/services/pdf.service.ts +0 -54
  431. package/src/lib/api/types/breadcrumb.model.ts +0 -5
  432. package/src/lib/api/types/stimulsoft.reports.d.ts +0 -67463
  433. package/src/lib/components/keevo-components.module.ts +0 -105
  434. package/src/lib/components/kv-avatar/kv-avatar.component.html +0 -75
  435. package/src/lib/components/kv-avatar/kv-avatar.component.scss +0 -162
  436. package/src/lib/components/kv-avatar/kv-avatar.component.spec.ts +0 -23
  437. package/src/lib/components/kv-avatar/kv-avatar.component.ts +0 -165
  438. package/src/lib/components/kv-avatar/kv-avatar.module.ts +0 -32
  439. package/src/lib/components/kv-button/kv-button.component.html +0 -26
  440. package/src/lib/components/kv-button/kv-button.component.spec.ts +0 -23
  441. package/src/lib/components/kv-button/kv-button.component.ts +0 -55
  442. package/src/lib/components/kv-button/kv-button.module.ts +0 -20
  443. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.html +0 -14
  444. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.scss +0 -6
  445. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.ts +0 -25
  446. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.html +0 -13
  447. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.scss +0 -33
  448. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.ts +0 -41
  449. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.html +0 -12
  450. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.scss +0 -18
  451. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.ts +0 -14
  452. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.html +0 -11
  453. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.scss +0 -17
  454. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.ts +0 -14
  455. package/src/lib/components/kv-buttons/kv-button.module.ts +0 -26
  456. package/src/lib/components/kv-card-selection/kv-card-selection.component.html +0 -63
  457. package/src/lib/components/kv-card-selection/kv-card-selection.component.scss +0 -54
  458. package/src/lib/components/kv-card-selection/kv-card-selection.component.spec.ts +0 -23
  459. package/src/lib/components/kv-card-selection/kv-card-selection.component.ts +0 -73
  460. package/src/lib/components/kv-card-selection/kv-card-selection.module.ts +0 -19
  461. package/src/lib/components/kv-carousel/kv-carousel.component.html +0 -26
  462. package/src/lib/components/kv-carousel/kv-carousel.component.scss +0 -47
  463. package/src/lib/components/kv-carousel/kv-carousel.component.spec.ts +0 -23
  464. package/src/lib/components/kv-carousel/kv-carousel.component.ts +0 -40
  465. package/src/lib/components/kv-carousel/kv-carousel.module.ts +0 -19
  466. package/src/lib/components/kv-chart/kv-chart.component.html +0 -38
  467. package/src/lib/components/kv-chart/kv-chart.component.scss +0 -0
  468. package/src/lib/components/kv-chart/kv-chart.component.spec.ts +0 -28
  469. package/src/lib/components/kv-chart/kv-chart.component.ts +0 -174
  470. package/src/lib/components/kv-chart/kv-chart.module.ts +0 -21
  471. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.html +0 -9
  472. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.scss +0 -7
  473. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.spec.ts +0 -23
  474. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.ts +0 -32
  475. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.ts +0 -14
  476. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.html +0 -229
  477. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.scss +0 -185
  478. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.spec.ts +0 -23
  479. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.ts +0 -171
  480. package/src/lib/components/kv-content-viewer/kv-content-viewer.module.ts +0 -25
  481. package/src/lib/components/kv-error/kv-error.component.html +0 -3
  482. package/src/lib/components/kv-error/kv-error.component.scss +0 -5
  483. package/src/lib/components/kv-error/kv-error.component.ts +0 -27
  484. package/src/lib/components/kv-error/kv-error.module.ts +0 -26
  485. package/src/lib/components/kv-file-upload/kv-file-upload.component.html +0 -134
  486. package/src/lib/components/kv-file-upload/kv-file-upload.component.scss +0 -13
  487. package/src/lib/components/kv-file-upload/kv-file-upload.component.spec.ts +0 -23
  488. package/src/lib/components/kv-file-upload/kv-file-upload.component.ts +0 -200
  489. package/src/lib/components/kv-file-upload/kv-file-upload.module.ts +0 -13
  490. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.html +0 -16
  491. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.scss +0 -18
  492. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.ts +0 -42
  493. package/src/lib/components/kv-file-viewer/kv-file-viewer.module.ts +0 -14
  494. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.html +0 -34
  495. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.scss +0 -17
  496. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.ts +0 -80
  497. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.ts +0 -15
  498. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.html +0 -103
  499. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.scss +0 -153
  500. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.spec.ts +0 -23
  501. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.ts +0 -73
  502. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.module.ts +0 -18
  503. package/src/lib/components/kv-filter-card/kv-filter-card.component.html +0 -12
  504. package/src/lib/components/kv-filter-card/kv-filter-card.component.scss +0 -76
  505. package/src/lib/components/kv-filter-card/kv-filter-card.component.spec.ts +0 -23
  506. package/src/lib/components/kv-filter-card/kv-filter-card.component.ts +0 -18
  507. package/src/lib/components/kv-filter-card/kv-filter-card.module.ts +0 -23
  508. package/src/lib/components/kv-filter-cards/kv-filter-cards.component.html +0 -81
  509. package/src/lib/components/kv-filter-cards/kv-filter-cards.component.scss +0 -197
  510. package/src/lib/components/kv-filter-cards/kv-filter-cards.component.ts +0 -150
  511. package/src/lib/components/kv-filter-cards/kv-filter-cards.module.ts +0 -20
  512. package/src/lib/components/kv-filter-cards/kv-filter-cards.pipe.ts +0 -24
  513. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.html +0 -25
  514. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.scss +0 -22
  515. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.spec.ts +0 -23
  516. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.ts +0 -20
  517. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.ts +0 -20
  518. package/src/lib/components/kv-g-icon/kv-g-icon.component.html +0 -1
  519. package/src/lib/components/kv-g-icon/kv-g-icon.component.scss +0 -0
  520. package/src/lib/components/kv-g-icon/kv-g-icon.component.spec.ts +0 -23
  521. package/src/lib/components/kv-g-icon/kv-g-icon.component.ts +0 -10
  522. package/src/lib/components/kv-g-icon/kv-g-icon.module.ts +0 -11
  523. package/src/lib/components/kv-home-card/kv-home-card.component.html +0 -35
  524. package/src/lib/components/kv-home-card/kv-home-card.component.scss +0 -5
  525. package/src/lib/components/kv-home-card/kv-home-card.component.spec.ts +0 -23
  526. package/src/lib/components/kv-home-card/kv-home-card.component.ts +0 -33
  527. package/src/lib/components/kv-home-card/kv-home-card.module.ts +0 -18
  528. package/src/lib/components/kv-icon/kv-icon.component.html +0 -13
  529. package/src/lib/components/kv-icon/kv-icon.component.scss +0 -69
  530. package/src/lib/components/kv-icon/kv-icon.component.spec.ts +0 -28
  531. package/src/lib/components/kv-icon/kv-icon.component.ts +0 -30
  532. package/src/lib/components/kv-icon/kv-icon.module.ts +0 -16
  533. package/src/lib/components/kv-image-upload/kv-image-upload.component.html +0 -64
  534. package/src/lib/components/kv-image-upload/kv-image-upload.component.scss +0 -0
  535. package/src/lib/components/kv-image-upload/kv-image-upload.component.ts +0 -153
  536. package/src/lib/components/kv-image-upload/kv-image-upload.module.ts +0 -10
  537. package/src/lib/components/kv-inputs/kv-check/kv-check.component.html +0 -12
  538. package/src/lib/components/kv-inputs/kv-check/kv-check.component.scss +0 -38
  539. package/src/lib/components/kv-inputs/kv-check/kv-check.component.ts +0 -32
  540. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.html +0 -87
  541. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.ts +0 -119
  542. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.html +0 -13
  543. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.scss +0 -0
  544. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.spec.ts +0 -23
  545. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.ts +0 -16
  546. package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.html +0 -18
  547. package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.scss +0 -0
  548. package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.ts +0 -41
  549. package/src/lib/components/kv-inputs/kv-editor/config/kv-editor.config.ts +0 -120
  550. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.html +0 -285
  551. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.scss +0 -182
  552. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.ts +0 -311
  553. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.ts +0 -156
  554. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.ts +0 -190
  555. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.spec.ts +0 -126
  556. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.ts +0 -84
  557. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.spec.ts +0 -176
  558. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.ts +0 -101
  559. package/src/lib/components/kv-inputs/kv-editor/types/kv-editor.types.ts +0 -36
  560. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.html +0 -37
  561. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.scss +0 -23
  562. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.ts +0 -197
  563. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.html +0 -24
  564. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.scss +0 -0
  565. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.ts +0 -35
  566. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.html +0 -23
  567. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.scss +0 -0
  568. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.ts +0 -61
  569. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.html +0 -33
  570. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.scss +0 -5
  571. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.ts +0 -63
  572. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.html +0 -24
  573. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.scss +0 -0
  574. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.ts +0 -26
  575. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.html +0 -23
  576. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.scss +0 -18
  577. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.ts +0 -40
  578. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.html +0 -30
  579. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.scss +0 -26
  580. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.ts +0 -38
  581. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.html +0 -53
  582. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.scss +0 -41
  583. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.spec.ts +0 -23
  584. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.ts +0 -48
  585. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.html +0 -23
  586. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.scss +0 -0
  587. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.ts +0 -40
  588. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.html +0 -24
  589. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.scss +0 -0
  590. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.ts +0 -27
  591. package/src/lib/components/kv-inputs/kv-inputs.module.ts +0 -100
  592. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.html +0 -87
  593. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.scss +0 -62
  594. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.ts +0 -54
  595. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.html +0 -19
  596. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.scss +0 -22
  597. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.ts +0 -63
  598. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.html +0 -26
  599. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.scss +0 -5
  600. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.spec.ts +0 -21
  601. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.ts +0 -30
  602. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.html +0 -28
  603. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.scss +0 -61
  604. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.spec.ts +0 -23
  605. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.ts +0 -43
  606. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.html +0 -23
  607. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.scss +0 -35
  608. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.ts +0 -54
  609. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.html +0 -68
  610. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.scss +0 -86
  611. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.ts +0 -59
  612. package/src/lib/components/kv-label/kv-label.component.html +0 -3
  613. package/src/lib/components/kv-label/kv-label.component.scss +0 -15
  614. package/src/lib/components/kv-label/kv-label.component.spec.ts +0 -23
  615. package/src/lib/components/kv-label/kv-label.component.ts +0 -14
  616. package/src/lib/components/kv-label/kv-label.module.ts +0 -17
  617. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.html +0 -25
  618. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.scss +0 -19
  619. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.spec.ts +0 -28
  620. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.ts +0 -34
  621. package/src/lib/components/kv-layout/kv-layout.module.ts +0 -44
  622. package/src/lib/components/kv-layout/layout/kv-layout.component.html +0 -535
  623. package/src/lib/components/kv-layout/layout/kv-layout.component.scss +0 -267
  624. package/src/lib/components/kv-layout/layout/kv-layout.component.spec.ts +0 -23
  625. package/src/lib/components/kv-layout/layout/kv-layout.component.ts +0 -502
  626. package/src/lib/components/kv-layout/top-icons/top-icons.component.html +0 -26
  627. package/src/lib/components/kv-layout/top-icons/top-icons.component.scss +0 -71
  628. package/src/lib/components/kv-layout/top-icons/top-icons.component.spec.ts +0 -23
  629. package/src/lib/components/kv-layout/top-icons/top-icons.component.ts +0 -26
  630. package/src/lib/components/kv-loader/kv-loader.component.html +0 -1
  631. package/src/lib/components/kv-loader/kv-loader.component.ts +0 -11
  632. package/src/lib/components/kv-loader/kv-loader.module.ts +0 -17
  633. package/src/lib/components/kv-loader/kv-loader.service.ts +0 -29
  634. package/src/lib/components/kv-login/kv-login.component.html +0 -101
  635. package/src/lib/components/kv-login/kv-login.component.scss +0 -99
  636. package/src/lib/components/kv-login/kv-login.component.spec.ts +0 -23
  637. package/src/lib/components/kv-login/kv-login.component.ts +0 -97
  638. package/src/lib/components/kv-login/kv-login.module.ts +0 -33
  639. package/src/lib/components/kv-modal/kv-modal.component.html +0 -20
  640. package/src/lib/components/kv-modal/kv-modal.component.scss +0 -37
  641. package/src/lib/components/kv-modal/kv-modal.component.spec.ts +0 -21
  642. package/src/lib/components/kv-modal/kv-modal.component.ts +0 -111
  643. package/src/lib/components/kv-modal/kv-modal.module.ts +0 -12
  644. package/src/lib/components/kv-orgchart/kv-orgchart.component.html +0 -125
  645. package/src/lib/components/kv-orgchart/kv-orgchart.component.scss +0 -73
  646. package/src/lib/components/kv-orgchart/kv-orgchart.component.ts +0 -283
  647. package/src/lib/components/kv-orgchart/kv-orgchart.module.ts +0 -31
  648. package/src/lib/components/kv-page-form/kv-page-form.component.html +0 -91
  649. package/src/lib/components/kv-page-form/kv-page-form.component.scss +0 -100
  650. package/src/lib/components/kv-page-form/kv-page-form.component.spec.ts +0 -28
  651. package/src/lib/components/kv-page-form/kv-page-form.component.ts +0 -206
  652. package/src/lib/components/kv-page-form/kv-page-form.module.ts +0 -33
  653. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.html +0 -276
  654. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.scss +0 -85
  655. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.spec.ts +0 -23
  656. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.ts +0 -223
  657. package/src/lib/components/kv-page-stepper/kv-page-stepper.module.ts +0 -36
  658. package/src/lib/components/kv-pick-list/kv-pick-list.component.html +0 -32
  659. package/src/lib/components/kv-pick-list/kv-pick-list.component.scss +0 -57
  660. package/src/lib/components/kv-pick-list/kv-pick-list.component.spec.ts +0 -26
  661. package/src/lib/components/kv-pick-list/kv-pick-list.component.ts +0 -461
  662. package/src/lib/components/kv-pick-list/kv-pick-list.module.ts +0 -24
  663. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.html +0 -38
  664. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.scss +0 -128
  665. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.spec.ts +0 -21
  666. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.ts +0 -75
  667. package/src/lib/components/kv-progress-bar/kv-progress-bar.module.ts +0 -19
  668. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.html +0 -43
  669. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.scss +0 -130
  670. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.spec.ts +0 -23
  671. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.ts +0 -82
  672. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.ts +0 -18
  673. package/src/lib/components/kv-report/kv-report.component.html +0 -3
  674. package/src/lib/components/kv-report/kv-report.component.scss +0 -14
  675. package/src/lib/components/kv-report/kv-report.component.spec.ts +0 -28
  676. package/src/lib/components/kv-report/kv-report.component.ts +0 -44
  677. package/src/lib/components/kv-report/kv-report.module.ts +0 -18
  678. package/src/lib/components/kv-stepper/kv-stepper.component.html +0 -94
  679. package/src/lib/components/kv-stepper/kv-stepper.component.scss +0 -43
  680. package/src/lib/components/kv-stepper/kv-stepper.component.spec.ts +0 -23
  681. package/src/lib/components/kv-stepper/kv-stepper.component.ts +0 -73
  682. package/src/lib/components/kv-stepper/kv-stepper.module.ts +0 -27
  683. package/src/lib/components/kv-steps/kv-steps.component.html +0 -53
  684. package/src/lib/components/kv-steps/kv-steps.component.scss +0 -120
  685. package/src/lib/components/kv-steps/kv-steps.component.ts +0 -122
  686. package/src/lib/components/kv-table/kv-table.component.html +0 -655
  687. package/src/lib/components/kv-table/kv-table.component.spec.ts +0 -28
  688. package/src/lib/components/kv-table/kv-table.component.ts +0 -792
  689. package/src/lib/components/kv-table/kv-table.module.ts +0 -25
  690. package/src/lib/components/kv-table-edit/kv-table-edit.component.html +0 -913
  691. package/src/lib/components/kv-table-edit/kv-table-edit.component.scss +0 -829
  692. package/src/lib/components/kv-table-edit/kv-table-edit.component.ts +0 -425
  693. package/src/lib/components/kv-table-edit/kv-table-edit.module.ts +0 -31
  694. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.html +0 -634
  695. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.scss +0 -387
  696. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.ts +0 -546
  697. package/src/lib/components/kv-table-expandable/kv-table-expandable.module.ts +0 -22
  698. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.html +0 -25
  699. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.scss +0 -0
  700. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.spec.ts +0 -23
  701. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.ts +0 -17
  702. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.html +0 -20
  703. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.scss +0 -0
  704. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.spec.ts +0 -23
  705. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.ts +0 -14
  706. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.html +0 -164
  707. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.scss +0 -80
  708. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.spec.ts +0 -23
  709. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.ts +0 -183
  710. package/src/lib/components/kv-tag/kv-tag.component.html +0 -3
  711. package/src/lib/components/kv-tag/kv-tag.component.scss +0 -65
  712. package/src/lib/components/kv-tag/kv-tag.component.spec.ts +0 -23
  713. package/src/lib/components/kv-tag/kv-tag.component.ts +0 -16
  714. package/src/lib/components/kv-tag/kv-tag.module.ts +0 -18
  715. package/src/lib/components/kv-tags/kv-tags.component.html +0 -19
  716. package/src/lib/components/kv-tags/kv-tags.component.scss +0 -28
  717. package/src/lib/components/kv-tags/kv-tags.component.ts +0 -64
  718. package/src/lib/components/kv-tags/kv-tags.module.ts +0 -18
  719. package/src/lib/components/kv-timeline/kv-timeline.component.html +0 -28
  720. package/src/lib/components/kv-timeline/kv-timeline.component.scss +0 -6
  721. package/src/lib/components/kv-timeline/kv-timeline.component.spec.ts +0 -23
  722. package/src/lib/components/kv-timeline/kv-timeline.component.ts +0 -77
  723. package/src/lib/components/kv-tree-table/kv-tree-table.component.html +0 -492
  724. package/src/lib/components/kv-tree-table/kv-tree-table.component.scss +0 -187
  725. package/src/lib/components/kv-tree-table/kv-tree-table.component.spec.ts +0 -21
  726. package/src/lib/components/kv-tree-table/kv-tree-table.component.ts +0 -355
  727. package/src/lib/components/kv-tree-table/kv-tree-table.module.ts +0 -23
  728. package/src/lib/components/kv-tree-view/kv-tree-view.component.html +0 -16
  729. package/src/lib/components/kv-tree-view/kv-tree-view.component.scss +0 -19
  730. package/src/lib/components/kv-tree-view/kv-tree-view.component.spec.ts +0 -23
  731. package/src/lib/components/kv-tree-view/kv-tree-view.component.ts +0 -73
  732. package/src/lib/components/kv-tree-view/kv-tree-view.module.ts +0 -19
  733. package/src/lib/components/kv-widget-card/kv-widget-card.component.html +0 -71
  734. package/src/lib/components/kv-widget-card/kv-widget-card.component.scss +0 -27
  735. package/src/lib/components/kv-widget-card/kv-widget-card.component.spec.ts +0 -28
  736. package/src/lib/components/kv-widget-card/kv-widget-card.component.ts +0 -107
  737. package/src/lib/components/kv-widget-card/kv-widget-card.module.ts +0 -20
  738. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.html +0 -22
  739. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.scss +0 -36
  740. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.spec.ts +0 -28
  741. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.ts +0 -41
  742. package/src/lib/components/kv-workspace/kv-workspace.module.ts +0 -45
  743. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.html +0 -20
  744. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.scss +0 -0
  745. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.spec.ts +0 -28
  746. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.ts +0 -18
  747. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.html +0 -35
  748. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.scss +0 -29
  749. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.spec.ts +0 -28
  750. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.ts +0 -98
  751. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.html +0 -63
  752. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.scss +0 -62
  753. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.ts +0 -91
  754. package/tsconfig.lib.json +0 -14
  755. package/tsconfig.lib.prod.json +0 -10
  756. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,225 @@
1
+ import { Component, EventEmitter, Input, model, Output, signal, ViewChild, ViewContainerRef, } from '@angular/core';
2
+ import { OrgChart } from 'd3-org-chart';
3
+ import * as d3 from 'd3';
4
+ import { fromEvent } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../api/services/orgchart.service";
7
+ import * as i2 from "primeng/api";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "primeng/tooltip";
10
+ import * as i5 from "primeng/dropdown";
11
+ import * as i6 from "../kv-button/kv-button.component";
12
+ export class KvOrgchartComponent {
13
+ constructor(cdr, service, filterService) {
14
+ this.cdr = cdr;
15
+ this.service = service;
16
+ this.filterService = filterService;
17
+ this.dataSource = model(null);
18
+ this.filtrosOpt = signal([]);
19
+ this.selectedOpt = null;
20
+ //#region Emissores de evento
21
+ this.onNodeClick = new EventEmitter();
22
+ // #endregion
23
+ this.compact = true;
24
+ this.mostraMenu = false;
25
+ }
26
+ //#region Iniciar OrgChart e Atualização de dados
27
+ ngOnInit() {
28
+ this.iniciarHandlersDeEventos();
29
+ }
30
+ ngAfterViewInit() {
31
+ if (!this.chart) {
32
+ this.chart = new OrgChart();
33
+ }
34
+ this.iniciarChart();
35
+ }
36
+ iniciarChart() {
37
+ if (!this.dataSource() || !this.chart) {
38
+ return;
39
+ }
40
+ const chartContainer = this.chartContainer.nativeElement;
41
+ this.chart
42
+ .createZoom(() => {
43
+ return d3.zoom().filter((e) => {
44
+ const element = e.srcElement;
45
+ if (element.classList.contains('no-zoom')) {
46
+ return false;
47
+ }
48
+ return true;
49
+ });
50
+ })
51
+ .container(chartContainer)
52
+ .data(this.dataSource())
53
+ .nodeWidth(() => this.config.cardWidht)
54
+ .nodeHeight((d) => {
55
+ return d.data.expanded && this.config.cardExpandedHeight
56
+ ? this.config.cardExpandedHeight
57
+ : this.config.cardHeight;
58
+ })
59
+ .compact(false)
60
+ .buttonContent(({ node, state }) => {
61
+ return `<div style="color:#FFFFFF; border-radius:100%;font-size:5px;margin:auto auto;background-color:#64748B;">
62
+ <span>
63
+ ${node.children && node.children.length > 0
64
+ ? `<i class="material-symbols-outlined">
65
+ keyboard_arrow_up
66
+ </i>`
67
+ : `<i class="material-symbols-outlined">
68
+ keyboard_arrow_down
69
+ </i>`}
70
+ </span>
71
+ </div>`;
72
+ })
73
+ .linkUpdate((node, index, nodes) => {
74
+ d3.select(nodes[index])
75
+ .attr('stroke-width', this.config.conectionWidth || '2px')
76
+ .style('stroke', this.config.connectionColor || '#d6d6d6');
77
+ })
78
+ .nodeContent((d) => {
79
+ const node = {
80
+ data: d.data.data,
81
+ children: d.children,
82
+ id: d.data.id,
83
+ parentId: d.data.parentId,
84
+ expanded: d.data.expanded,
85
+ orgConfig: d.orgConfig,
86
+ };
87
+ const x = this.renderNodeTemplate(node);
88
+ return x;
89
+ })
90
+ .nodeUpdate(function (d) {
91
+ d.data.orgConfig.clicks.forEach((click) => {
92
+ d3.select(this)
93
+ .select(click)
94
+ .on('click', (e, d) => {
95
+ const dados = d;
96
+ const node = {
97
+ data: dados.data.data,
98
+ children: dados.children,
99
+ id: dados.data.id,
100
+ parentId: dados.data.parentId,
101
+ expanded: dados.data.expanded,
102
+ orgConfig: dados.orgConfig,
103
+ };
104
+ window.dispatchEvent(new CustomEvent('KvOrgChart_NodeClick', {
105
+ detail: {
106
+ node,
107
+ seletor: click,
108
+ },
109
+ }));
110
+ });
111
+ });
112
+ })
113
+ .defaultFont('Roboto')
114
+ .render();
115
+ this.chart.expandAll();
116
+ }
117
+ ngOnChanges(changes) {
118
+ if (changes['dataSource']) {
119
+ this.iniciarChart();
120
+ }
121
+ }
122
+ //#endregion
123
+ // #region Renderização de template
124
+ renderNodeTemplate(node) {
125
+ this.viewContainerRef.clear();
126
+ const view = this.viewContainerRef.createEmbeddedView(this.nodeTemplate, {
127
+ node: node,
128
+ });
129
+ this.cdr.detectChanges();
130
+ return view.rootNodes[0].outerHTML;
131
+ }
132
+ iniciarHandlersDeEventos() {
133
+ this.nodeClickSubscription = fromEvent(window, 'KvOrgChart_NodeClick').subscribe((event) => {
134
+ this.emitirClick(event.detail.node, event.detail.seletor);
135
+ });
136
+ this.nodeAddSubscription = this.service.nodeAdd$.subscribe((node) => {
137
+ this.adicionarNode(node);
138
+ });
139
+ this.nodeRemoveSubscription = this.service.nodeRemove$.subscribe((id) => {
140
+ this.removerNode(id);
141
+ });
142
+ }
143
+ ngOnDestroy() {
144
+ this.nodeClickSubscription.unsubscribe();
145
+ this.nodeAddSubscription.unsubscribe();
146
+ this.nodeRemoveSubscription.unsubscribe();
147
+ }
148
+ emitirClick(node, seletorCss) {
149
+ const event = {
150
+ node: node,
151
+ seletorCss: seletorCss ?? '',
152
+ };
153
+ this.onNodeClick.emit(event);
154
+ }
155
+ adicionarNode(node) {
156
+ const arr = [...this.dataSource(), node];
157
+ this.dataSource.set(arr);
158
+ this.iniciarChart();
159
+ }
160
+ removerNode(id) {
161
+ const indPai = this.dataSource().some((x) => x.parentId == id);
162
+ if (indPai) {
163
+ alert('Não é possível remover um nó que possui filhos');
164
+ }
165
+ else {
166
+ const arr = this.dataSource().filter((x) => x.id != id);
167
+ this.dataSource.set(arr);
168
+ this.iniciarChart();
169
+ }
170
+ }
171
+ // #endregion
172
+ // #region Funções de utilidade
173
+ pesquisar(e) {
174
+ const valor = e.target.value;
175
+ this.filtrosOpt.set(this.filtrarArray(valor));
176
+ }
177
+ filtrarArray(valor) {
178
+ if (valor && this.config.filters) {
179
+ const dataSource = this.dataSource();
180
+ const valorLower = valor.toLowerCase(); // Converte o valor de busca para minúsculas
181
+ const arr = dataSource.filter((node) => {
182
+ return this.config.filters.every((filter) => {
183
+ // Converte os valores para minúsculas e verifica se contém a string de busca
184
+ return node.data[filter].toLowerCase().includes(valorLower);
185
+ });
186
+ });
187
+ return arr ?? null;
188
+ }
189
+ else {
190
+ return null;
191
+ }
192
+ }
193
+ centralizarNo(id) {
194
+ console.log(id);
195
+ this.chart.setCentered(id).render();
196
+ this.filter.hide();
197
+ this.filter.clear();
198
+ }
199
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvOrgchartComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.OrgChartService }, { token: i2.FilterService }], target: i0.ɵɵFactoryTarget.Component }); }
200
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.8", type: KvOrgchartComponent, selector: "kv-orgchart", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: false, isRequired: false, transformFunction: null }, nodeTemplate: { classPropertyName: "nodeTemplate", publicName: "nodeTemplate", isSignal: false, isRequired: false, transformFunction: null }, filterItemTemplate: { classPropertyName: "filterItemTemplate", publicName: "filterItemTemplate", isSignal: false, isRequired: false, transformFunction: null }, filterSelectedItemTemplate: { classPropertyName: "filterSelectedItemTemplate", publicName: "filterSelectedItemTemplate", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { dataSource: "dataSourceChange", onNodeClick: "onNodeClick" }, viewQueries: [{ propertyName: "chartContainer", first: true, predicate: ["chartContainer"], descendants: true }, { propertyName: "viewContainerRef", first: true, predicate: ["nodeTemplate"], descendants: true, read: ViewContainerRef }, { propertyName: "filter", first: true, predicate: ["filter"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #chartContainer id=\"chartContainer\" [ngClass]=\"{ backGround: true }\">\r\n <div class=\"div-botoes w-full flex gap-1\">\r\n <div\r\n id=\"menubar\"\r\n class=\"shadow-2 flex justify-content-between align-content-center\"\r\n >\r\n <div class=\"grid formgrid p-fluid flex-grow-1\">\r\n <!-- <div #filterContainer class=\"col-4 grid formgrid p-fluid\">\r\n <kv-input-text class=\"col-12\" #filtro (onInput)=\"pesquisar($event)\">\r\n </kv-input-text>\r\n </div>\r\n\r\n @if(filtrosOpt().length > 0) {\r\n \r\n <div id=\"filtro-org-chart\" [style.width.px]=\"filterContainer.offsetWidth*0.9\">\r\n\r\n @for (opt of filtrosOpt(); track $index) {\r\n <div class=\"filtro-org-chart-item\">\r\n {{ opt.data.name }}\r\n\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n\r\n } -->\r\n\r\n <p-dropdown\r\n #filter\r\n placeholder=\"Filtrar...\"\r\n [style]=\"{\r\n height: '30px',\r\n 'display': 'flex',\r\n 'align-items': 'center',\r\n 'margin-left': '15px',\r\n 'max-width': '95%'\r\n }\"\r\n [filter]=\"true\"\r\n [filterFields]=\"config.filters\"\r\n [options]=\"this.dataSource()!\"\r\n [showClear]=\"true\"\r\n (onChange)=\"centralizarNo($event.value.id)\"\r\n >\r\n <!-- [itemTemplate]=\"itemTemplate\"\r\n [selectedItemTemplate]=\"selectedItemTemplate\" -->\r\n <!-- [filteredOptions]=\"this.dataSource()!\" -->\r\n <!-- [filterFields]=\"data.name\" -->\r\n\r\n <ng-template #itemTemplate let-item pTemplate=\"item\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"filterItemTemplate!\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n />\r\n </ng-template>\r\n\r\n <ng-template #selectedItemTemplate let-item pTemplate=\"selectedItem\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"filterSelectedItemTemplate!\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n />\r\n </ng-template>\r\n </p-dropdown>\r\n </div>\r\n\r\n <!-- Actions bar -->\r\n <div class=\"flex gap-1 flex-row flex-grow-0\">\r\n <div style=\"width: 30px\" class=\"mr-2\">\r\n <kv-button\r\n (onClick)=\"chart.expandAll()\"\r\n class=\"button-expand-all\"\r\n [fullWidth]=\"false\"\r\n size=\"small\"\r\n severity=\"tertiary\"\r\n [icon]=\"'expand_all'\"\r\n [pTooltip]=\"'Expandir Todos'\"\r\n >\r\n </kv-button>\r\n </div>\r\n\r\n <div style=\"width: 30px\" class=\"mr-2\">\r\n <kv-button\r\n (onClick)=\"chart.collapseAll()\"\r\n class=\"button-colappse-all\"\r\n [fullWidth]=\"false\"\r\n size=\"small\"\r\n severity=\"tertiary\"\r\n [icon]=\"'collapse_all'\"\r\n [pTooltip]=\"'Recolher Todos'\"\r\n >\r\n </kv-button>\r\n </div>\r\n\r\n <div style=\"width: 30px\" class=\"mr-2\">\r\n <kv-button\r\n (onClick)=\"chart.fit().render()\"\r\n class=\"button-focus-center\"\r\n [fullWidth]=\"false\"\r\n size=\"small\"\r\n severity=\"primary\"\r\n [icon]=\"'center_focus_weak'\"\r\n [pTooltip]=\"'Centralizar Organograma'\"\r\n >\r\n </kv-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n\r\n<div style=\"display: none\">\r\n <ng-template #nodeTemplate let-node>\r\n <div class=\"node-content\">erro</div>\r\n </ng-template>\r\n</div>\r\n", styles: ["#chartContainer{height:100%;overflow:hidden}:host ::ng-deep #chartContainer svg.svg-chart-container{height:100%!important;position:relative;width:100%;top:-56px;z-index:0;background-color:#fff}.div-botoes{z-index:1;width:100%;position:relative}:host ::ng-deep .p-organizationChart{overflow:hidden}svg{width:100%;height:100%}#menubar{width:100%;padding:5px;border-radius:8px;background:#eaeaea}.filtro-input{width:300px}#filtro-org-chart{height:300px;overflow-y:auto;overflow-x:hidden;position:absolute;top:40px;left:8px;background:#fff;color:#4b5563;border:0 none;border-radius:6px;box-shadow:0 2px 12px #0000001a}.filtro-org-chart-item{cursor:pointer;height:35px;padding:3px}.filtro-org-chart-item:hover{background-color:#d9dadb}.filtro-org-chart-item:active{background-color:#c0c1c2}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i5.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i6.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup"], outputs: ["iconChange", "onClick"] }] }); }
201
+ }
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvOrgchartComponent, decorators: [{
203
+ type: Component,
204
+ args: [{ selector: 'kv-orgchart', template: "<div #chartContainer id=\"chartContainer\" [ngClass]=\"{ backGround: true }\">\r\n <div class=\"div-botoes w-full flex gap-1\">\r\n <div\r\n id=\"menubar\"\r\n class=\"shadow-2 flex justify-content-between align-content-center\"\r\n >\r\n <div class=\"grid formgrid p-fluid flex-grow-1\">\r\n <!-- <div #filterContainer class=\"col-4 grid formgrid p-fluid\">\r\n <kv-input-text class=\"col-12\" #filtro (onInput)=\"pesquisar($event)\">\r\n </kv-input-text>\r\n </div>\r\n\r\n @if(filtrosOpt().length > 0) {\r\n \r\n <div id=\"filtro-org-chart\" [style.width.px]=\"filterContainer.offsetWidth*0.9\">\r\n\r\n @for (opt of filtrosOpt(); track $index) {\r\n <div class=\"filtro-org-chart-item\">\r\n {{ opt.data.name }}\r\n\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n\r\n } -->\r\n\r\n <p-dropdown\r\n #filter\r\n placeholder=\"Filtrar...\"\r\n [style]=\"{\r\n height: '30px',\r\n 'display': 'flex',\r\n 'align-items': 'center',\r\n 'margin-left': '15px',\r\n 'max-width': '95%'\r\n }\"\r\n [filter]=\"true\"\r\n [filterFields]=\"config.filters\"\r\n [options]=\"this.dataSource()!\"\r\n [showClear]=\"true\"\r\n (onChange)=\"centralizarNo($event.value.id)\"\r\n >\r\n <!-- [itemTemplate]=\"itemTemplate\"\r\n [selectedItemTemplate]=\"selectedItemTemplate\" -->\r\n <!-- [filteredOptions]=\"this.dataSource()!\" -->\r\n <!-- [filterFields]=\"data.name\" -->\r\n\r\n <ng-template #itemTemplate let-item pTemplate=\"item\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"filterItemTemplate!\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n />\r\n </ng-template>\r\n\r\n <ng-template #selectedItemTemplate let-item pTemplate=\"selectedItem\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"filterSelectedItemTemplate!\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n />\r\n </ng-template>\r\n </p-dropdown>\r\n </div>\r\n\r\n <!-- Actions bar -->\r\n <div class=\"flex gap-1 flex-row flex-grow-0\">\r\n <div style=\"width: 30px\" class=\"mr-2\">\r\n <kv-button\r\n (onClick)=\"chart.expandAll()\"\r\n class=\"button-expand-all\"\r\n [fullWidth]=\"false\"\r\n size=\"small\"\r\n severity=\"tertiary\"\r\n [icon]=\"'expand_all'\"\r\n [pTooltip]=\"'Expandir Todos'\"\r\n >\r\n </kv-button>\r\n </div>\r\n\r\n <div style=\"width: 30px\" class=\"mr-2\">\r\n <kv-button\r\n (onClick)=\"chart.collapseAll()\"\r\n class=\"button-colappse-all\"\r\n [fullWidth]=\"false\"\r\n size=\"small\"\r\n severity=\"tertiary\"\r\n [icon]=\"'collapse_all'\"\r\n [pTooltip]=\"'Recolher Todos'\"\r\n >\r\n </kv-button>\r\n </div>\r\n\r\n <div style=\"width: 30px\" class=\"mr-2\">\r\n <kv-button\r\n (onClick)=\"chart.fit().render()\"\r\n class=\"button-focus-center\"\r\n [fullWidth]=\"false\"\r\n size=\"small\"\r\n severity=\"primary\"\r\n [icon]=\"'center_focus_weak'\"\r\n [pTooltip]=\"'Centralizar Organograma'\"\r\n >\r\n </kv-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n\r\n<div style=\"display: none\">\r\n <ng-template #nodeTemplate let-node>\r\n <div class=\"node-content\">erro</div>\r\n </ng-template>\r\n</div>\r\n", styles: ["#chartContainer{height:100%;overflow:hidden}:host ::ng-deep #chartContainer svg.svg-chart-container{height:100%!important;position:relative;width:100%;top:-56px;z-index:0;background-color:#fff}.div-botoes{z-index:1;width:100%;position:relative}:host ::ng-deep .p-organizationChart{overflow:hidden}svg{width:100%;height:100%}#menubar{width:100%;padding:5px;border-radius:8px;background:#eaeaea}.filtro-input{width:300px}#filtro-org-chart{height:300px;overflow-y:auto;overflow-x:hidden;position:absolute;top:40px;left:8px;background:#fff;color:#4b5563;border:0 none;border-radius:6px;box-shadow:0 2px 12px #0000001a}.filtro-org-chart-item{cursor:pointer;height:35px;padding:3px}.filtro-org-chart-item:hover{background-color:#d9dadb}.filtro-org-chart-item:active{background-color:#c0c1c2}\n"] }]
205
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.OrgChartService }, { type: i2.FilterService }], propDecorators: { config: [{
206
+ type: Input
207
+ }], chartContainer: [{
208
+ type: ViewChild,
209
+ args: ['chartContainer']
210
+ }], viewContainerRef: [{
211
+ type: ViewChild,
212
+ args: ['nodeTemplate', { read: ViewContainerRef }]
213
+ }], nodeTemplate: [{
214
+ type: Input
215
+ }], filterItemTemplate: [{
216
+ type: Input
217
+ }], filterSelectedItemTemplate: [{
218
+ type: Input
219
+ }], onNodeClick: [{
220
+ type: Output
221
+ }], filter: [{
222
+ type: ViewChild,
223
+ args: ['filter']
224
+ }] } });
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3Ytb3JnY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytb3JnY2hhcnQva3Ytb3JnY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytb3JnY2hhcnQva3Ytb3JnY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUlOLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUl6QixPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFZL0MsTUFBTSxPQUFPLG1CQUFtQjtJQThCOUIsWUFDVSxHQUFzQixFQUN0QixPQUF3QixFQUN4QixhQUE0QjtRQUY1QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQTVCdEMsZUFBVSxHQUFHLEtBQUssQ0FBd0IsSUFBSSxDQUFDLENBQUM7UUFFaEQsZUFBVSxHQUFHLE1BQU0sQ0FBaUIsRUFBRSxDQUFDLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxJQUFJLENBQUE7UUFhbEIsNkJBQTZCO1FBRW5CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVoRCxhQUFhO1FBRWIsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QixlQUFVLEdB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Q2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3JCLENBQUM7OEdBclBVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGlqQ0FZSyxnQkFBZ0IscUlDN0NyRCxzbUlBNkhBOzsyRkQ1RmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7Z0pBY2QsTUFBTTtzQkFBZCxLQUFLO2dCQUN1QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFM0IsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUU1QyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBTUksV0FBVztzQkFBcEIsTUFBTTtnQkFzTmMsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgbW9kZWwsXHJcbiAgT3V0cHV0LFxyXG4gIHNpZ25hbCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIHZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE9yZ0NoYXJ0IH0gZnJvbSAnZDMtb3JnLWNoYXJ0JztcclxuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xyXG5cclxuaW1wb3J0IE9yZ0NoYXJ0Q29uZmlnIGZyb20gJy4uLy4uL2FwaS9jb21wb25lbnRzL2NoYXJ0L29yY2hhcnQuY29uZmlnJztcclxuaW1wb3J0IE9yZ0NoYXJ0Tm9kZSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy9jaGFydC9vcmNoYXJ0bm9kZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE9yZ0NoYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9vcmdjaGFydC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IERyb3Bkb3duLCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3Ytb3JnY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1vcmdjaGFydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3Ytb3JnY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2T3JnY2hhcnRDb21wb25lbnQge1xyXG5cclxuXHJcbiAgY2hhcnQhOiBhbnk7XHJcblxyXG4gIGRhdGFTb3VyY2UgPSBtb2RlbDxPcmdDaGFydE5vZGVbXSB8IG51bGw+KG51bGwpO1xyXG5cclxuICBmaWx0cm9zT3B0ID0gc2lnbmFsPE9yZ0NoYXJ0Tm9kZVtdPihbXSk7XHJcbiAgc2VsZWN0ZWRPcHQgPSBudWxsXHJcblxyXG4gIEBJbnB1dCgpIGNvbmZpZyE6IE9yZ0NoYXJ0Q29uZmlnO1xyXG4gIEBWaWV3Q2hpbGQoJ2NoYXJ0Q29udGFpbmVyJykgY2hhcnRDb250YWluZXIhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ25vZGVUZW1wbGF0ZScsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxyXG4gIHZpZXdDb250YWluZXJSZWYhOiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIEBJbnB1dCgpIG5vZGVUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBJbnB1dCgpIGZpbHRlckl0ZW1UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgZmlsdGVyU2VsZWN0ZWRJdGVtVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuXHJcblxyXG4gIC8vI3JlZ2lvbiBFbWlzc29yZXMgZGUgZXZlbnRvXHJcblxyXG4gIEBPdXRwdXQoKSBvbk5vZGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG4gIGNvbXBhY3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIG1vc3RyYU1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IE9yZ0NoYXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgLy8jcmVnaW9uIEluaWNpYXIgT3JnQ2hhcnQgZSBBdHVhbGl6YcOnw6NvIGRlIGRhZG9zXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaWNpYXJIYW5kbGVyc0RlRXZlbnRvcygpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmNoYXJ0KSB7XHJcbiAgICAgIHRoaXMuY2hhcnQgPSBuZXcgT3JnQ2hhcnQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5pY2lhckNoYXJ0KCk7XHJcbiAgfVxyXG5cclxuICBpbmljaWFyQ2hhcnQoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSgpIHx8ICF0aGlzLmNoYXJ0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjaGFydENvbnRhaW5lciA9IHRoaXMuY2hhcnRDb250YWluZXIubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMuY2hhcnRcclxuICAgICAgLmNyZWF0ZVpvb20oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiBkMy56b29tKCkuZmlsdGVyKChlKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IGUuc3JjRWxlbWVudDtcclxuICAgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbm8tem9vbScpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgICAuY29udGFpbmVyKGNoYXJ0Q29udGFpbmVyKVxyXG4gICAgICAuZGF0YSh0aGlzLmRhdGFTb3VyY2UoKSlcclxuICAgICAgLm5vZGVXaWR0aCgoKSA9PiB0aGlzLmNvbmZpZy5jYXJkV2lkaHQpXHJcbiAgICAgIC5ub2RlSGVpZ2h0KChkOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gZC5kYXRhLmV4cGFuZGVkICYmIHRoaXMuY29uZmlnLmNhcmRFeHBhbmRlZEhlaWdodFxyXG4gICAgICAgICAgPyB0aGlzLmNvbmZpZy5jYXJkRXhwYW5kZWRIZWlnaHRcclxuICAgICAgICAgIDogdGhpcy5jb25maWcuY2FyZEhlaWdodDtcclxuICAgICAgfSlcclxuICAgICAgLmNvbXBhY3QoZmFsc2UpXHJcbiAgICAgIC5idXR0b25Db250ZW50KCh7IG5vZGUsIHN0YXRlIH06IHsgbm9kZTogYW55OyBzdGF0ZTogYW55IH0pID0+IHtcclxuICAgICAgICByZXR1cm4gYDxkaXYgc3R5bGU9XCJjb2xvcjojRkZGRkZGOyBib3JkZXItcmFkaXVzOjEwMCU7Zm9udC1zaXplOjVweDttYXJnaW46YXV0byBhdXRvO2JhY2tncm91bmQtY29sb3I6IzY0NzQ4QjtcIj5cclxuICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgJHtcclxuICAgICAgICAgICAgbm9kZS5jaGlsZHJlbiAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCA+IDBcclxuICAgICAgICAgICAgICA/IGA8aSBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5cclxuICAgICAgICAgICAgICBrZXlib2FyZF9hcnJvd191cFxyXG4gICAgICAgICAgICAgIDwvaT5gXHJcbiAgICAgICAgICAgICAgOiBgPGkgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+XHJcbiAgICAgICAgICAgICAga2V5Ym9hcmRfYXJyb3dfZG93blxyXG4gICAgICAgICAgICA8L2k+YFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5gO1xyXG4gICAgICB9KVxyXG4gICAgICAubGlua1VwZGF0ZSgobm9kZTogYW55LCBpbmRleDogYW55LCBub2RlczogYW55KSA9PiB7XHJcbiAgICAgICAgZDMuc2VsZWN0KG5vZGVzW2luZGV4XSlcclxuICAgICAgICAgIC5hdHRyKCdzdHJva2Utd2lkdGgnLCB0aGlzLmNvbmZpZy5jb25lY3Rpb25XaWR0aCB8fCAnMnB4JylcclxuICAgICAgICAgIC5zdHlsZSgnc3Ryb2tlJywgdGhpcy5jb25maWcuY29ubmVjdGlvbkNvbG9yIHx8ICcjZDZkNmQ2Jyk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5ub2RlQ29udGVudCgoZDogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3Qgbm9kZTogT3JnQ2hhcnROb2RlID0ge1xyXG4gICAgICAgICAgZGF0YTogZC5kYXRhLmRhdGEsXHJcbiAgICAgICAgICBjaGlsZHJlbjogZC5jaGlsZHJlbixcclxuICAgICAgICAgIGlkOiBkLmRhdGEuaWQsXHJcbiAgICAgICAgICBwYXJlbnRJZDogZC5kYXRhLnBhcmVudElkLFxyXG4gICAgICAgICAgZXhwYW5kZWQ6IGQuZGF0YS5leHBhbmRlZCxcclxuICAgICAgICAgIG9yZ0NvbmZpZzogZC5vcmdDb25maWcsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCB4ID0gdGhpcy5yZW5kZXJOb2RlVGVtcGxhdGUobm9kZSk7XHJcbiAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5ub2RlVXBkYXRlKGZ1bmN0aW9uICh0aGlzOiBhbnksIGQ6IGFueSkge1xyXG4gICAgICAgIGQuZGF0YS5vcmdDb25maWcuY2xpY2tzLmZvckVhY2goKGNsaWNrOiBhbnkpID0+IHtcclxuICAgICAgICAgIGQzLnNlbGVjdCh0aGlzKVxyXG4gICAgICAgICAgICAuc2VsZWN0KGNsaWNrKVxyXG4gICAgICAgICAgICAub24oJ2NsaWNrJywgKGUsIGQpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBkYWRvczogYW55ID0gZDtcclxuICAgICAgICAgICAgICBjb25zdCBub2RlOiBPcmdDaGFydE5vZGUgPSB7XHJcbiAgICAgICAgICAgICAgICBkYXRhOiBkYWRvcy5kYXRhLmRhdGEsXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogZGFkb3MuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgICAgICBpZDogZGFkb3MuZGF0YS5pZCxcclxuICAgICAgICAgICAgICAgIHBhcmVudElkOiBkYWRvcy5kYXRhLnBhcmVudElkLFxyXG4gICAgICAgICAgICAgICAgZXhwYW5kZWQ6IGRhZG9zLmRhdGEuZXhwYW5kZWQsXHJcbiAgICAgICAgICAgICAgICBvcmdDb25maWc6IGRhZG9zLm9yZ0NvbmZpZyxcclxuICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChcclxuICAgICAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnS3ZPcmdDaGFydF9Ob2RlQ2xpY2snLCB7XHJcbiAgICAgICAgICAgICAgICAgIGRldGFpbDoge1xyXG4gICAgICAgICAgICAgICAgICAgIG5vZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZXRvcjogY2xpY2ssXHJcbiAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgICAuZGVmYXVsdEZvbnQoJ1JvYm90bycpXHJcbiAgICAgIC5yZW5kZXIoKTtcclxuXHJcbiAgICB0aGlzLmNoYXJ0LmV4cGFuZEFsbCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2RhdGFTb3VyY2UnXSkge1xyXG4gICAgICB0aGlzLmluaWNpYXJDaGFydCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8gI3JlZ2lvbiBSZW5kZXJpemHDp8OjbyBkZSB0ZW1wbGF0ZVxyXG4gIHJlbmRlck5vZGVUZW1wbGF0ZShub2RlOiBPcmdDaGFydE5vZGUpOiBzdHJpbmcge1xyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICBjb25zdCB2aWV3ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLm5vZGVUZW1wbGF0ZSwge1xyXG4gICAgICBub2RlOiBub2RlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICByZXR1cm4gdmlldy5yb290Tm9kZXNbMF0ub3V0ZXJIVE1MO1xyXG4gIH1cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG4gIC8vICNyZWdpb24gRXZlbnRvc1xyXG4gIHByaXZhdGUgbm9kZUNsaWNrU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgbm9kZUFkZFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIG5vZGVSZW1vdmVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGluaWNpYXJIYW5kbGVyc0RlRXZlbnRvcygpIHtcclxuICAgIHRoaXMubm9kZUNsaWNrU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50PEN1c3RvbUV2ZW50PihcclxuICAgICAgd2luZG93LFxyXG4gICAgICAnS3ZPcmdDaGFydF9Ob2RlQ2xpY2snXHJcbiAgICApLnN1YnNjcmliZSgoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuZW1pdGlyQ2xpY2soZXZlbnQuZGV0YWlsLm5vZGUsIGV2ZW50LmRldGFpbC5zZWxldG9yKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubm9kZUFkZFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VydmljZS5ub2RlQWRkJC5zdWJzY3JpYmUoXHJcbiAgICAgIChub2RlOiBPcmdDaGFydE5vZGUpID0+IHtcclxuICAgICAgICB0aGlzLmFkaWNpb25hck5vZGUobm9kZSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5ub2RlUmVtb3ZlU3Vic2NyaXB0aW9uID0gdGhpcy5zZXJ2aWNlLm5vZGVSZW1vdmUkLnN1YnNjcmliZShcclxuICAgICAgKGlkOiBudW1iZXIpID0+IHtcclxuICAgICAgICB0aGlzLnJlbW92ZXJOb2RlKGlkKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm5vZGVDbGlja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5ub2RlQWRkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLm5vZGVSZW1vdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGVtaXRpckNsaWNrKG5vZGU6IE5vZGUsIHNlbGV0b3JDc3M/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGV2ZW50ID0ge1xyXG4gICAgICBub2RlOiBub2RlLFxyXG4gICAgICBzZWxldG9yQ3NzOiBzZWxldG9yQ3NzID8/ICcnLFxyXG4gICAgfTtcclxuICAgIHRoaXMub25Ob2RlQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIGFkaWNpb25hck5vZGUobm9kZTogT3JnQ2hhcnROb2RlKSB7XHJcbiAgICBjb25zdCBhcnIgPSBbLi4udGhpcy5kYXRhU291cmNlKCkhLCBub2RlXTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zZXQoYXJyKTtcclxuICAgIHRoaXMuaW5pY2lhckNoYXJ0KCk7XHJcbiAgfVxyXG4gIHJlbW92ZXJOb2RlKGlkOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGluZFBhaSA9IHRoaXMuZGF0YVNvdXJjZSgpIS5zb21lKCh4OiBhbnkpID0+IHgucGFyZW50SWQgPT0gaWQpO1xyXG4gICAgaWYgKGluZFBhaSkge1xyXG4gICAgICBhbGVydCgnTsOjbyDDqSBwb3Nzw612ZWwgcmVtb3ZlciB1bSBuw7MgcXVlIHBvc3N1aSBmaWxob3MnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGFyciA9IHRoaXMuZGF0YVNvdXJjZSgpIS5maWx0ZXIoKHg6IGFueSkgPT4geC5pZCAhPSBpZCk7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5zZXQoYXJyKTtcclxuICAgICAgdGhpcy5pbmljaWFyQ2hhcnQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuXHJcblxyXG4gIC8vICNyZWdpb24gRnVuw6fDtWVzIGRlIHV0aWxpZGFkZVxyXG5cclxuICBwZXNxdWlzYXIoZTogYW55KSB7XHJcbiAgICBjb25zdCB2YWxvciA9IGUudGFyZ2V0LnZhbHVlXHJcbiAgICB0aGlzLmZpbHRyb3NPcHQuc2V0KHRoaXMuZmlsdHJhckFycmF5KHZhbG9yKSEpXHJcbiAgfVxyXG5cclxuICBmaWx0cmFyQXJyYXkodmFsb3I6IHN0cmluZyk6IE9yZ0NoYXJ0Tm9kZVtdIHwgbnVsbCB7XHJcbiAgICBpZiAodmFsb3IgJiYgdGhpcy5jb25maWcuZmlsdGVycykge1xyXG4gICAgICBjb25zdCBkYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlKCkhO1xyXG4gICAgICBjb25zdCB2YWxvckxvd2VyID0gdmFsb3IudG9Mb3dlckNhc2UoKTsgLy8gQ29udmVydGUgbyB2YWxvciBkZSBidXNjYSBwYXJhIG1pbsO6c2N1bGFzXHJcblxyXG4gICAgICBjb25zdCBhcnIgPSBkYXRhU291cmNlLmZpbHRlcigobm9kZTogT3JnQ2hhcnROb2RlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmZpbHRlcnMhLmV2ZXJ5KChmaWx0ZXI6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgLy8gQ29udmVydGUgb3MgdmFsb3JlcyBwYXJhIG1pbsO6c2N1bGFzIGUgdmVyaWZpY2Egc2UgY29udMOpbSBhIHN0cmluZyBkZSBidXNjYVxyXG4gICAgICAgICAgcmV0dXJuIG5vZGUuZGF0YVtmaWx0ZXJdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsb3JMb3dlcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgcmV0dXJuIGFyciA/PyBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdmaWx0ZXInKSBmaWx0ZXIhOiBEcm9wZG93bjtcclxuXHJcblxyXG4gIGNlbnRyYWxpemFyTm8oaWQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coaWQpXHJcbiAgICB0aGlzLmNoYXJ0LnNldENlbnRlcmVkKGlkKS5yZW5kZXIoKVxyXG4gICAgdGhpcy5maWx0ZXIuaGlkZSgpXHJcbiAgICB0aGlzLmZpbHRlci5jbGVhcigpXHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG59XHJcbiIsIjxkaXYgI2NoYXJ0Q29udGFpbmVyIGlkPVwiY2hhcnRDb250YWluZXJcIiBbbmdDbGFzc109XCJ7IGJhY2tHcm91bmQ6IHRydWUgfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkaXYtYm90b2VzIHctZnVsbCBmbGV4IGdhcC0xXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGlkPVwibWVudWJhclwiXHJcbiAgICAgIGNsYXNzPVwic2hhZG93LTIgZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1jb250ZW50LWNlbnRlclwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGZvcm1ncmlkIHAtZmx1aWQgZmxleC1ncm93LTFcIj5cclxuICAgICAgICA8IS0tIDxkaXYgI2ZpbHRlckNvbnRhaW5lciBjbGFzcz1cImNvbC00IGdyaWQgZm9ybWdyaWQgcC1mbHVpZFwiPlxyXG4gICAgICAgICAgICA8a3YtaW5wdXQtdGV4dCBjbGFzcz1cImNvbC0xMlwiICNmaWx0cm8gKG9uSW5wdXQpPVwicGVzcXVpc2FyKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9rdi1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgQGlmKGZpbHRyb3NPcHQoKS5sZW5ndGggPiAwKSB7XHJcbiBcclxuICAgICAgICAgICAgICA8ZGl2IGlkPVwiZmlsdHJvLW9yZy1jaGFydFwiIFtzdHlsZS53aWR0aC5weF09XCJmaWx0ZXJDb250YWluZXIub2Zmc2V0V2lkdGgqMC45XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgQGZvciAob3B0IG9mIGZpbHRyb3NPcHQoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0cm8tb3JnLWNoYXJ0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBvcHQuZGF0YS5uYW1lIH19XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIH0gLS0+XHJcblxyXG4gICAgICAgIDxwLWRyb3Bkb3duXHJcbiAgICAgICAgICAjZmlsdGVyXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZpbHRyYXIuLi5cIlxyXG4gICAgICAgICAgW3N0eWxlXT1cIntcclxuICAgICAgICAgICAgaGVpZ2h0OiAnMzBweCcsXHJcbiAgICAgICAgICAgICdkaXNwbGF5JzogJ2ZsZXgnLFxyXG4gICAgICAgICAgICAnYWxpZ24taXRlbXMnOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgJ21hcmdpbi1sZWZ0JzogJzE1cHgnLFxyXG4gICAgICAgICAgICAnbWF4LXdpZHRoJzogJzk1JSdcclxuICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgW2ZpbHRlcl09XCJ0cnVlXCJcclxuICAgICAgICAgIFtmaWx0ZXJGaWVsZHNdPVwiY29uZmlnLmZpbHRlcnNcIlxyXG4gICAgICAgICAgW29wdGlvbnNdPVwidGhpcy5kYXRhU291cmNlKCkhXCJcclxuICAgICAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAob25DaGFuZ2UpPVwiY2VudHJhbGl6YXJObygkZXZlbnQudmFsdWUuaWQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8IS0tIFtpdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICBbc2VsZWN0ZWRJdGVtVGVtcGxhdGVdPVwic2VsZWN0ZWRJdGVtVGVtcGxhdGVcIiAtLT5cclxuICAgICAgICAgIDwhLS0gW2ZpbHRlcmVkT3B0aW9uc109XCJ0aGlzLmRhdGFTb3VyY2UoKSFcIiAtLT5cclxuICAgICAgICAgIDwhLS0gW2ZpbHRlckZpZWxkc109XCJkYXRhLm5hbWVcIiAtLT5cclxuXHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmaWx0ZXJJdGVtVGVtcGxhdGUhXCJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VsZWN0ZWRJdGVtVGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwic2VsZWN0ZWRJdGVtXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmaWx0ZXJTZWxlY3RlZEl0ZW1UZW1wbGF0ZSFcIlxyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9wLWRyb3Bkb3duPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gQWN0aW9ucyBiYXIgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0xIGZsZXgtcm93IGZsZXgtZ3Jvdy0wXCI+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAzMHB4XCIgY2xhc3M9XCJtci0yXCI+XHJcbiAgICAgICAgICA8a3YtYnV0dG9uXHJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cImNoYXJ0LmV4cGFuZEFsbCgpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tZXhwYW5kLWFsbFwiXHJcbiAgICAgICAgICAgIFtmdWxsV2lkdGhdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICBzZXZlcml0eT1cInRlcnRpYXJ5XCJcclxuICAgICAgICAgICAgW2ljb25dPVwiJ2V4cGFuZF9hbGwnXCJcclxuICAgICAgICAgICAgW3BUb29sdGlwXT1cIidFeHBhbmRpciBUb2RvcydcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9rdi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMzBweFwiIGNsYXNzPVwibXItMlwiPlxyXG4gICAgICAgICAgPGt2LWJ1dHRvblxyXG4gICAgICAgICAgICAob25DbGljayk9XCJjaGFydC5jb2xsYXBzZUFsbCgpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tY29sYXBwc2UtYWxsXCJcclxuICAgICAgICAgICAgW2Z1bGxXaWR0aF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgIHNldmVyaXR5PVwidGVydGlhcnlcIlxyXG4gICAgICAgICAgICBbaWNvbl09XCInY29sbGFwc2VfYWxsJ1wiXHJcbiAgICAgICAgICAgIFtwVG9vbHRpcF09XCInUmVjb2xoZXIgVG9kb3MnXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwva3YtYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDMwcHhcIiBjbGFzcz1cIm1yLTJcIj5cclxuICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgKG9uQ2xpY2spPVwiY2hhcnQuZml0KCkucmVuZGVyKClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1mb2N1cy1jZW50ZXJcIlxyXG4gICAgICAgICAgICBbZnVsbFdpZHRoXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgc2V2ZXJpdHk9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgW2ljb25dPVwiJ2NlbnRlcl9mb2N1c193ZWFrJ1wiXHJcbiAgICAgICAgICAgIFtwVG9vbHRpcF09XCInQ2VudHJhbGl6YXIgT3JnYW5vZ3JhbWEnXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwva3YtYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxsaW5rXHJcbiAgcmVsPVwic3R5bGVzaGVldFwiXHJcbiAgaHJlZj1cImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vaWNvbj9mYW1pbHk9TWF0ZXJpYWwrSWNvbnNcIlxyXG4vPlxyXG5cclxuPGxpbmtcclxuICByZWw9XCJzdHlsZXNoZWV0XCJcclxuICBocmVmPVwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1NYXRlcmlhbCtTeW1ib2xzK091dGxpbmVkOm9wc3osd2dodCxGSUxMLEdSQURANDgsNDAwLDAsMFwiXHJcbi8+XHJcblxyXG48ZGl2IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjbm9kZVRlbXBsYXRlIGxldC1ub2RlPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5vZGUtY29udGVudFwiPmVycm88L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,59 @@
1
+ import { kvErrorModule } from './../kv-error/kv-error.module';
2
+ import { NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import { KvOrgchartComponent } from './kv-orgchart.component';
5
+ import { PrimeNgModule } from '../../api/modules/primeng.module';
6
+ import { OrganizationChartModule } from 'primeng/organizationchart';
7
+ import { KvButtonModule } from '../kv-button/kv-button.module';
8
+ import { KvInputsModule } from '../kv-inputs/kv-inputs.module';
9
+ import { AutoCompleteModule } from 'primeng/autocomplete';
10
+ import { DropdownModule } from 'primeng/dropdown';
11
+ import { FormsModule } from '@angular/forms';
12
+ import { FloatLabelModule } from 'primeng/floatlabel';
13
+ import * as i0 from "@angular/core";
14
+ export class KvOrgchartModule {
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvOrgchartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvOrgchartModule, declarations: [KvOrgchartComponent], imports: [CommonModule,
17
+ PrimeNgModule,
18
+ FormsModule,
19
+ kvErrorModule,
20
+ PrimeNgModule,
21
+ OrganizationChartModule,
22
+ KvButtonModule,
23
+ KvInputsModule,
24
+ AutoCompleteModule,
25
+ DropdownModule,
26
+ FloatLabelModule], exports: [KvOrgchartComponent] }); }
27
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvOrgchartModule, imports: [CommonModule,
28
+ PrimeNgModule,
29
+ FormsModule,
30
+ kvErrorModule,
31
+ PrimeNgModule,
32
+ OrganizationChartModule,
33
+ KvButtonModule,
34
+ KvInputsModule,
35
+ AutoCompleteModule,
36
+ DropdownModule,
37
+ FloatLabelModule] }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvOrgchartModule, decorators: [{
40
+ type: NgModule,
41
+ args: [{
42
+ imports: [
43
+ CommonModule,
44
+ PrimeNgModule,
45
+ FormsModule,
46
+ kvErrorModule,
47
+ PrimeNgModule,
48
+ OrganizationChartModule,
49
+ KvButtonModule,
50
+ KvInputsModule,
51
+ AutoCompleteModule,
52
+ DropdownModule,
53
+ FloatLabelModule
54
+ ],
55
+ declarations: [KvOrgchartComponent],
56
+ exports: [KvOrgchartComponent]
57
+ }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3Ytb3JnY2hhcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytb3JnY2hhcnQva3Ytb3JnY2hhcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUcsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQW1CdEQsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBSFosbUJBQW1CLGFBWmhDLFlBQVk7WUFDWixhQUFhO1lBQ2IsV0FBVztZQUNYLGFBQWE7WUFDYixhQUFhO1lBQ2IsdUJBQXVCO1lBQ3ZCLGNBQWM7WUFDZCxjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxnQkFBZ0IsYUFHUixtQkFBbUI7K0dBRWxCLGdCQUFnQixZQWZ6QixZQUFZO1lBQ1osYUFBYTtZQUNiLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTtZQUNiLHVCQUF1QjtZQUN2QixjQUFjO1lBQ2QsY0FBYztZQUNkLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsZ0JBQWdCOzsyRkFLUCxnQkFBZ0I7a0JBakI1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGdCQUFnQjtxQkFDakI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGt2RXJyb3JNb2R1bGUgfSBmcm9tICcuLy4uL2t2LWVycm9yL2t2LWVycm9yLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEt2T3JnY2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2t2LW9yZ2NoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByaW1lTmdNb2R1bGUgfSBmcm9tICcuLi8uLi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IE9yZ2FuaXphdGlvbkNoYXJ0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9vcmdhbml6YXRpb25jaGFydCc7XHJcbmltcG9ydCB7IEt2QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4va3YtYnV0dG9uL2t2LWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdklucHV0c01vZHVsZSB9IGZyb20gJy4uL2t2LWlucHV0cy9rdi1pbnB1dHMubW9kdWxlJztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyAgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZsb2F0TGFiZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL2Zsb2F0bGFiZWwnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQcmltZU5nTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBrdkVycm9yTW9kdWxlLFxyXG4gICAgUHJpbWVOZ01vZHVsZSxcclxuICAgIE9yZ2FuaXphdGlvbkNoYXJ0TW9kdWxlLFxyXG4gICAgS3ZCdXR0b25Nb2R1bGUsXHJcbiAgICBLdklucHV0c01vZHVsZSxcclxuICAgIEF1dG9Db21wbGV0ZU1vZHVsZSxcclxuICAgIERyb3Bkb3duTW9kdWxlLFxyXG4gICAgRmxvYXRMYWJlbE1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbS3ZPcmdjaGFydENvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW0t2T3JnY2hhcnRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdk9yZ2NoYXJ0TW9kdWxlIHsgfVxyXG4iXX0=
@@ -0,0 +1,190 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../kv-button/kv-button.component";
7
+ export class KvPageFormComponent {
8
+ // pageContainer = viewChild<ElementRef>('pageContainer');
9
+ // pageContentHeight = signal<number>(0);
10
+ constructor(fb) {
11
+ // this.resizeObserver = new ResizeObserver((entries) => {
12
+ // entries.forEach((entry) => {
13
+ // this.setWidthBar();
14
+ // });
15
+ // });
16
+ this.fb = fb;
17
+ /**
18
+ * Configurações do formulário
19
+ */
20
+ this.formGroup = new FormGroup({});
21
+ this.TituloForm = '';
22
+ this.SubTituloForm = '';
23
+ this.popup = false;
24
+ this.locationUseComponent = 'dialog';
25
+ // @Input() expandMenu!: boolean;
26
+ /**
27
+ * Botão cancelar
28
+ */
29
+ this.iconBtnCancel = 'close';
30
+ this.showBtnCancel = true;
31
+ this.txtBtnCancel = 'Cancelar';
32
+ this.iconBtnCancelToogle = 'close';
33
+ this.showBtnCancelToogle = false;
34
+ this.txtBtnCancelToogle = 'Cancelar';
35
+ /**
36
+ * Botão salvar
37
+ */
38
+ this.iconBtnSave = 'save';
39
+ this.showBtnSave = true;
40
+ this.txtBtnSave = 'Salvar';
41
+ this.disableBtnSave = false;
42
+ this.iconBtnSaveToogle = 'pi pi-chevron-down';
43
+ this.showBtnSaveToogle = false;
44
+ this.txtBtnSaveToogle = 'Ações';
45
+ this.showBtnSecundary = false;
46
+ /**
47
+ * @deprecated Essa não é mais utilizado, favor utilizar a propriedade severityBtnSecundary
48
+ */
49
+ this.colorBtnSecundary = '';
50
+ this.iconBtnToogle = 'pi pi-chevron-down';
51
+ this.showBtnToogle = false;
52
+ this.txtBtnToogle = 'Ações';
53
+ this.classBtnToogle = 'bg-glue-500';
54
+ /**
55
+ * Botão fechar
56
+ */
57
+ this.disableBtnSair = true;
58
+ this.showMessageCamposObrigatorios = true;
59
+ /**
60
+ * Salvar dados
61
+ */
62
+ this.onSave = new EventEmitter();
63
+ /**
64
+ * Cancelar
65
+ */
66
+ this.onCancel = new EventEmitter();
67
+ /**
68
+ * Ação do botão Secundary
69
+ */
70
+ this.onClickSecundary = new EventEmitter();
71
+ // effect(() => {
72
+ // if (this.pageContainer())
73
+ // this.resizeObserver.observe(this.pageContainer()?.nativeElement);
74
+ // });
75
+ }
76
+ ngOnInit() {
77
+ this.addSubTitle();
78
+ // this.setPageFormContainerAttributes();
79
+ }
80
+ /**
81
+ * Adiciona sub-título à tela
82
+ */
83
+ addSubTitle() {
84
+ if (this.SubTituloForm) {
85
+ const headerElement = document.querySelector('.p-dialog .p-dialog-header');
86
+ if (headerElement) {
87
+ const subtitleElement = document.createElement('span');
88
+ subtitleElement.textContent = this.SubTituloForm;
89
+ subtitleElement.style.fontSize = '0.75rem';
90
+ subtitleElement.style.width = '100%';
91
+ subtitleElement.style.marginLeft = '2px';
92
+ headerElement.appendChild(subtitleElement);
93
+ }
94
+ }
95
+ }
96
+ /**
97
+ * Dispara o método de cancelamento da tela
98
+ * @param event evento
99
+ */
100
+ cancel(event) {
101
+ this.onCancel.emit(event);
102
+ }
103
+ /**
104
+ * Dispara o método de salvar da tela
105
+ * @param event evento
106
+ */
107
+ save(event) {
108
+ this.onSave.emit(event);
109
+ }
110
+ actionSecundary(event) {
111
+ this.onClickSecundary.emit(event);
112
+ }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvPageFormComponent, selector: "kv-page-form", inputs: { formGroup: "formGroup", TituloForm: "TituloForm", SubTituloForm: "SubTituloForm", isSaveLoading: "isSaveLoading", popup: "popup", locationUseComponent: "locationUseComponent", iconBtnCancel: "iconBtnCancel", showBtnCancel: "showBtnCancel", txtBtnCancel: "txtBtnCancel", actionsCancelToogle: "actionsCancelToogle", iconBtnCancelToogle: "iconBtnCancelToogle", showBtnCancelToogle: "showBtnCancelToogle", txtBtnCancelToogle: "txtBtnCancelToogle", iconBtnSave: "iconBtnSave", showBtnSave: "showBtnSave", txtBtnSave: "txtBtnSave", disableBtnSave: "disableBtnSave", actionsSaveToogle: "actionsSaveToogle", iconBtnSaveToogle: "iconBtnSaveToogle", showBtnSaveToogle: "showBtnSaveToogle", txtBtnSaveToogle: "txtBtnSaveToogle", iconBtnSecundary: "iconBtnSecundary", showBtnSecundary: "showBtnSecundary", txtBtnSecundary: "txtBtnSecundary", colorBtnSecundary: "colorBtnSecundary", actionsToogle: "actionsToogle", iconBtnToogle: "iconBtnToogle", showBtnToogle: "showBtnToogle", txtBtnToogle: "txtBtnToogle", classBtnToogle: "classBtnToogle", disableBtnSair: "disableBtnSair", showMessageCamposObrigatorios: "showMessageCamposObrigatorios" }, outputs: { onSave: "onSave", onCancel: "onCancel", onClickSecundary: "onClickSecundary" }, ngImport: i0, template: "<div\r\n [formGroup]=\"formGroup\"\r\n class=\"h-full flex flex-column overflow-hidden relative p-0 m-0\"\r\n>\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"m-0 {{!popup && 'p-3'}} h-full flex-1 overflow-y-auto page-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <!-- Divider -->\r\n <!-- <p-divider class=\"col-12\"></p-divider> -->\r\n\r\n <!-- Barra de a\u00E7\u00F5es -->\r\n\r\n <div\r\n class=\"flex flex-column md:flex-row md:justify-content-end md:align-items-center col-12 gap-2 barra-acoes flex-init border-round-bottom-md p-2\"\r\n id=\"barra-acoes\"\r\n >\r\n @if(showMessageCamposObrigatorios) {\r\n <span class=\"w-full text-xs text-gray-500 font-medium\">\r\n <span class=\"font-bold\">*</span> Preenchimento obrigat\u00F3rio</span>\r\n }\r\n\r\n <kv-button\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (onClick)=\"cancel($event)\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"secondary\"\r\n type=\"text\"\r\n >\r\n </kv-button>\r\n\r\n <kv-button\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'secondary'\"\r\n type=\"text\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsCancelToogle\"\r\n iconPosition=\"left\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSecundary\"\r\n [label]=\"txtBtnSecundary\"\r\n [icon]=\"iconBtnSecundary\"\r\n [disabled]=\"isSaveLoading\"\r\n severity=\"tertiary\"\r\n (onClick)=\"actionSecundary($event)\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsToogle\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSave\"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave\"\r\n [loading]=\"isSaveLoading\"\r\n (onClick)=\"save($event)\"\r\n severity=\"primary\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'primary'\"\r\n [popup]=\"true\"\r\n [items]=\"actionsSaveToogle\"\r\n />\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .p-dialog .p-dialog-content{padding:.75rem!important}::ng-deep .page-content{overflow-x:hidden}::ng-deep .page-content::-webkit-scrollbar{width:6px}::ng-deep .page-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .page-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .page-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .page-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{bottom:0;right:0;background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i3.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup"], outputs: ["iconChange", "onClick"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
115
+ }
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageFormComponent, decorators: [{
117
+ type: Component,
118
+ args: [{ selector: 'kv-page-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [formGroup]=\"formGroup\"\r\n class=\"h-full flex flex-column overflow-hidden relative p-0 m-0\"\r\n>\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"m-0 {{!popup && 'p-3'}} h-full flex-1 overflow-y-auto page-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <!-- Divider -->\r\n <!-- <p-divider class=\"col-12\"></p-divider> -->\r\n\r\n <!-- Barra de a\u00E7\u00F5es -->\r\n\r\n <div\r\n class=\"flex flex-column md:flex-row md:justify-content-end md:align-items-center col-12 gap-2 barra-acoes flex-init border-round-bottom-md p-2\"\r\n id=\"barra-acoes\"\r\n >\r\n @if(showMessageCamposObrigatorios) {\r\n <span class=\"w-full text-xs text-gray-500 font-medium\">\r\n <span class=\"font-bold\">*</span> Preenchimento obrigat\u00F3rio</span>\r\n }\r\n\r\n <kv-button\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (onClick)=\"cancel($event)\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"secondary\"\r\n type=\"text\"\r\n >\r\n </kv-button>\r\n\r\n <kv-button\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'secondary'\"\r\n type=\"text\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsCancelToogle\"\r\n iconPosition=\"left\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSecundary\"\r\n [label]=\"txtBtnSecundary\"\r\n [icon]=\"iconBtnSecundary\"\r\n [disabled]=\"isSaveLoading\"\r\n severity=\"tertiary\"\r\n (onClick)=\"actionSecundary($event)\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsToogle\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSave\"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave\"\r\n [loading]=\"isSaveLoading\"\r\n (onClick)=\"save($event)\"\r\n severity=\"primary\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'primary'\"\r\n [popup]=\"true\"\r\n [items]=\"actionsSaveToogle\"\r\n />\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .p-dialog .p-dialog-content{padding:.75rem!important}::ng-deep .page-content{overflow-x:hidden}::ng-deep .page-content::-webkit-scrollbar{width:6px}::ng-deep .page-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .page-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .page-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .page-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{bottom:0;right:0;background-color:#fff}\n"] }]
119
+ }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { formGroup: [{
120
+ type: Input
121
+ }], TituloForm: [{
122
+ type: Input
123
+ }], SubTituloForm: [{
124
+ type: Input
125
+ }], isSaveLoading: [{
126
+ type: Input
127
+ }], popup: [{
128
+ type: Input
129
+ }], locationUseComponent: [{
130
+ type: Input
131
+ }], iconBtnCancel: [{
132
+ type: Input
133
+ }], showBtnCancel: [{
134
+ type: Input
135
+ }], txtBtnCancel: [{
136
+ type: Input
137
+ }], actionsCancelToogle: [{
138
+ type: Input
139
+ }], iconBtnCancelToogle: [{
140
+ type: Input
141
+ }], showBtnCancelToogle: [{
142
+ type: Input
143
+ }], txtBtnCancelToogle: [{
144
+ type: Input
145
+ }], iconBtnSave: [{
146
+ type: Input
147
+ }], showBtnSave: [{
148
+ type: Input
149
+ }], txtBtnSave: [{
150
+ type: Input
151
+ }], disableBtnSave: [{
152
+ type: Input
153
+ }], actionsSaveToogle: [{
154
+ type: Input
155
+ }], iconBtnSaveToogle: [{
156
+ type: Input
157
+ }], showBtnSaveToogle: [{
158
+ type: Input
159
+ }], txtBtnSaveToogle: [{
160
+ type: Input
161
+ }], iconBtnSecundary: [{
162
+ type: Input
163
+ }], showBtnSecundary: [{
164
+ type: Input
165
+ }], txtBtnSecundary: [{
166
+ type: Input
167
+ }], colorBtnSecundary: [{
168
+ type: Input
169
+ }], actionsToogle: [{
170
+ type: Input
171
+ }], iconBtnToogle: [{
172
+ type: Input
173
+ }], showBtnToogle: [{
174
+ type: Input
175
+ }], txtBtnToogle: [{
176
+ type: Input
177
+ }], classBtnToogle: [{
178
+ type: Input
179
+ }], disableBtnSair: [{
180
+ type: Input
181
+ }], showMessageCamposObrigatorios: [{
182
+ type: Input
183
+ }], onSave: [{
184
+ type: Output
185
+ }], onCancel: [{
186
+ type: Output
187
+ }], onClickSecundary: [{
188
+ type: Output
189
+ }] } });
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGFnZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBhZ2UtZm9ybS9rdi1wYWdlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcGFnZS1mb3JtL2t2LXBhZ2UtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBVXhELE1BQU0sT0FBTyxtQkFBbUI7SUF1RjlCLDBEQUEwRDtJQUUxRCx5Q0FBeUM7SUFFekMsWUFBb0IsRUFBZTtRQUNqQywwREFBMEQ7UUFDMUQsaUNBQWlDO1FBQ2pDLDBCQUEwQjtRQUMxQixRQUFRO1FBQ1IsTUFBTTtRQUxZLE9BQUUsR0FBRixFQUFFLENBQWE7UUExRm5DOztXQUVHO1FBQ00sY0FBUyxHQUFjLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLGVBQVUsR0FBdUIsRUFBRSxDQUFDO1FBQ3BDLGtCQUFhLEdBQXVCLEVBQUUsQ0FBQztRQUV2QyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLHlCQUFvQixHQUFzQixRQUFRLENBQUM7UUFDNUQsaUNBQWlDO1FBRWpDOztXQUVHO1FBQ00sa0JBQWEsR0FBVyxPQUFPLENBQUM7UUFDaEMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsaUJBQVksR0FBVyxVQUFVLENBQUM7UUFNbEMsd0JBQW1CLEdBQVcsT0FBTyxDQUFDO1FBQ3RDLHdC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QUFwQixLQUFLO2dCQUtHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUtHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBS0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFLRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLDZCQUE2QjtzQkFBckMsS0FBSztnQkFLSSxNQUFNO3NCQUFmLE1BQU07Z0JBS0csUUFBUTtzQkFBakIsTUFBTTtnQkFLRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBlZmZlY3QsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBzaWduYWwsXHJcbiAgdmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEFjdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy90YWJsZS9hY3Rpb24taXRlbSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LXBhZ2UtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LXBhZ2UtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtcGFnZS1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdlBhZ2VGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKipcclxuICAgKiBDb25maWd1cmHDp8O1ZXMgZG8gZm9ybXVsw6FyaW9cclxuICAgKi9cclxuICBASW5wdXQoKSBmb3JtR3JvdXA6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEBJbnB1dCgpIFRpdHVsb0Zvcm06IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xyXG4gIEBJbnB1dCgpIFN1YlRpdHVsb0Zvcm06IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xyXG4gIEBJbnB1dCgpIGlzU2F2ZUxvYWRpbmchOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHBvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbG9jYXRpb25Vc2VDb21wb25lbnQ6ICdwYWdlJyB8ICdkaWFsb2cnID0gJ2RpYWxvZyc7XHJcbiAgLy8gQElucHV0KCkgZXhwYW5kTWVudSE6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvdMOjbyBjYW5jZWxhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb25CdG5DYW5jZWw6IHN0cmluZyA9ICdjbG9zZSc7XHJcbiAgQElucHV0KCkgc2hvd0J0bkNhbmNlbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgdHh0QnRuQ2FuY2VsOiBzdHJpbmcgPSAnQ2FuY2VsYXInO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gZGUgY2FuY2VsYXIgY29tIG9ww6fDtWVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aW9uc0NhbmNlbFRvb2dsZSE6IEFjdGlvbkl0ZW1bXTtcclxuICBASW5wdXQoKSBpY29uQnRuQ2FuY2VsVG9vZ2xlOiBzdHJpbmcgPSAnY2xvc2UnO1xyXG4gIEBJbnB1dCgpIHNob3dCdG5DYW5jZWxUb29nbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB0eHRCdG5DYW5jZWxUb29nbGU6IHN0cmluZyA9ICdDYW5jZWxhcic7XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvdMOjbyBzYWx2YXJcclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uQnRuU2F2ZTogc3RyaW5nID0gJ3NhdmUnO1xyXG4gIEBJbnB1dCgpIHNob3dCdG5TYXZlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB0eHRCdG5TYXZlOiBzdHJpbmcgPSAnU2FsdmFyJztcclxuICBASW5wdXQoKSBkaXNhYmxlQnRuU2F2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gZGUgc2FsdmFyIGNvbSBvcMOnw7Vlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGlvbnNTYXZlVG9vZ2xlITogQWN0aW9uSXRlbVtdO1xyXG4gIEBJbnB1dCgpIGljb25CdG5TYXZlVG9vZ2xlOiBzdHJpbmcgPSAncGkgcGktY2hldnJvbi1kb3duJztcclxuICBASW5wdXQoKSBzaG93QnRuU2F2ZVRvb2dsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHR4dEJ0blNhdmVUb29nbGU6IHN0cmluZyA9ICdBw6fDtWVzJztcclxuXHJcbiAgLyoqXHJcbiAgICogQm90w6NvIGdlbsOpcmljbyAnU2VjdW5kYXJ5J1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb25CdG5TZWN1bmRhcnkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2hvd0J0blNlY3VuZGFyeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHR4dEJ0blNlY3VuZGFyeSE6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWQgRXNzYSBuw6NvIMOpIG1haXMgdXRpbGl6YWRvLCBmYXZvciB1dGlsaXphciBhIHByb3ByaWVkYWRlIHNldmVyaXR5QnRuU2VjdW5kYXJ5XHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sb3JCdG5TZWN1bmRhcnk6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gZ2Vuw6lyaWNvIGNvbSBvcMOnw7Vlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGlvbnNUb29nbGUhOiBBY3Rpb25JdGVtW107XHJcbiAgQElucHV0KCkgaWNvbkJ0blRvb2dsZTogc3RyaW5nID0gJ3BpIHBpLWNoZXZyb24tZG93bic7XHJcbiAgQElucHV0KCkgc2hvd0J0blRvb2dsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHR4dEJ0blRvb2dsZTogc3RyaW5nID0gJ0HDp8O1ZXMnO1xyXG4gIEBJbnB1dCgpIGNsYXNzQnRuVG9vZ2xlOiBzdHJpbmcgPSAnYmctZ2x1ZS01MDAnO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gZmVjaGFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZUJ0blNhaXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBzaG93TWVzc2FnZUNhbXBvc09icmlnYXRvcmlvczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhbHZhciBkYWRvc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBvblNhdmU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBDYW5jZWxhclxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBvbkNhbmNlbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEHDp8OjbyBkbyBib3TDo28gU2VjdW5kYXJ5XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uQ2xpY2tTZWN1bmRhcnk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZU9ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XHJcbiAgLy8gcGFnZUNvbnRhaW5lciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPigncGFnZUNvbnRhaW5lcicpO1xyXG5cclxuICAvLyBwYWdlQ29udGVudEhlaWdodCA9IHNpZ25hbDxudW1iZXI+KDApO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgLy8gdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xyXG4gICAgLy8gICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XHJcbiAgICAvLyAgICAgdGhpcy5zZXRXaWR0aEJhcigpO1xyXG4gICAgLy8gICB9KTtcclxuICAgIC8vIH0pO1xyXG5cclxuICAgIC8vIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAvLyAgIGlmICh0aGlzLnBhZ2VDb250YWluZXIoKSlcclxuICAgIC8vICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5wYWdlQ29udGFpbmVyKCk/Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgLy8gfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYWRkU3ViVGl0bGUoKTtcclxuICAgIC8vIHRoaXMuc2V0UGFnZUZvcm1Db250YWluZXJBdHRyaWJ1dGVzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGljaW9uYSBzdWItdMOtdHVsbyDDoCB0ZWxhXHJcbiAgICovXHJcbiAgYWRkU3ViVGl0bGUoKSB7XHJcbiAgICBpZiAodGhpcy5TdWJUaXR1bG9Gb3JtKSB7XHJcbiAgICAgIGNvbnN0IGhlYWRlckVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICcucC1kaWFsb2cgLnAtZGlhbG9nLWhlYWRlcidcclxuICAgICAgKTtcclxuICAgICAgaWYgKGhlYWRlckVsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCBzdWJ0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5TdWJUaXR1bG9Gb3JtO1xyXG4gICAgICAgIHN1YnRpdGxlRWxlbWVudC5zdHlsZS5mb250U2l6ZSA9ICcwLjc1cmVtJztcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQuc3R5bGUud2lkdGggPSAnMTAwJSc7XHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAnMnB4JztcclxuXHJcbiAgICAgICAgaGVhZGVyRWxlbWVudC5hcHBlbmRDaGlsZChzdWJ0aXRsZUVsZW1lbnQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwYXJhIG8gbcOpdG9kbyBkZSBjYW5jZWxhbWVudG8gZGEgdGVsYVxyXG4gICAqIEBwYXJhbSBldmVudCBldmVudG9cclxuICAgKi9cclxuICBjYW5jZWwoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGFyYSBvIG3DqXRvZG8gZGUgc2FsdmFyIGRhIHRlbGFcclxuICAgKiBAcGFyYW0gZXZlbnQgZXZlbnRvXHJcbiAgICovXHJcbiAgc2F2ZShldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMub25TYXZlLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgYWN0aW9uU2VjdW5kYXJ5KGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5vbkNsaWNrU2VjdW5kYXJ5LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWp1c3RhIG8gdGFtYW5obyBkYSB0ZWxhIGNvbnNpZGVyYW5kbyBvIG1lbnUgbGF0ZXJhbFxyXG4gICAqL1xyXG4gIC8vIHNldFBhZ2VGb3JtQ29udGFpbmVyQXR0cmlidXRlcygpIHtcclxuICAvLyAgIGlmICh0aGlzLmxvY2F0aW9uVXNlQ29tcG9uZW50ID09ICdwYWdlJykge1xyXG4gIC8vICAgICB2YXIgZm9ybSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLWZvcm0tY29udGFpbmVyJyk7XHJcblxyXG4gIC8vICAgICBpZiAoZm9ybSkge1xyXG4gIC8vICAgICAgIHZhciB3aWR0aEZ1bGwgPSBmb3JtLmNsaWVudFdpZHRoO1xyXG4gIC8vICAgICAgIHZhciB3aWR0aEFkanVzdGVkO1xyXG5cclxuICAvLyAgICAgICB3aWR0aEFkanVzdGVkID0gd2lkdGhGdWxsIC0gMzMyO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuXHJcbiAgLy8gc2V0V2lkdGhCYXIoKSB7XHJcbiAgLy8gICBsZXQgZGl2Q2FyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLWZvcm0tY29udGVudCcpO1xyXG5cclxuICAvLyAgIGxldCBkaXZCYXJyYUFjb2VzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhcnJhLWFjb2VzJyk7XHJcblxyXG4gIC8vICAgaWYgKGRpdkNhcmQgJiYgZGl2QmFycmFBY29lcykge1xyXG5cclxuICAvLyAgICAgaWYgKCF0aGlzLnBvcHVwKSB7XHJcbiAgLy8gICAgICAgZGl2QmFycmFBY29lcy5zdHlsZS5ib3R0b20gPSAnMC41cmVtJztcclxuICAvLyAgICAgICBkaXZCYXJyYUFjb2VzLnN0eWxlLm1hcmdpbiA9ICcwIDFyZW0gMCAwJztcclxuICAvLyAgICAgICBkaXZCYXJyYUFjb2VzLnN0eWxlLndpZHRoID0gZGl2Q2FyZC5jbGllbnRXaWR0aCArICdweCc7XHJcbiAgLy8gICAgIH1cclxuXHJcbiAgLy8gICAgIHRoaXMucGFnZUNvbnRlbnRIZWlnaHQuc2V0KGRpdkJhcnJhQWNvZXMuY2xpZW50SGVpZ2h0ICogMC45KTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcclxuICBjbGFzcz1cImgtZnVsbCBmbGV4IGZsZXgtY29sdW1uIG92ZXJmbG93LWhpZGRlbiByZWxhdGl2ZSBwLTAgbS0wXCJcclxuPlxyXG4gIDwhLS0gUmVuZGVyaXphw6fDo28gZG8gZm9ybSAtLT5cclxuICA8ZGl2IGNsYXNzPVwibS0wIHt7IXBvcHVwICYmICdwLTMnfX0gaC1mdWxsIGZsZXgtMSBvdmVyZmxvdy15LWF1dG8gcGFnZS1jb250ZW50XCI+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gRGl2aWRlciAtLT5cclxuICA8IS0tIDxwLWRpdmlkZXIgY2xhc3M9XCJjb2wtMTJcIj48L3AtZGl2aWRlcj4gLS0+XHJcblxyXG4gIDwhLS0gQmFycmEgZGUgYcOnw7VlcyAtLT5cclxuXHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIG1kOmZsZXgtcm93IG1kOmp1c3RpZnktY29udGVudC1lbmQgbWQ6YWxpZ24taXRlbXMtY2VudGVyIGNvbC0xMiBnYXAtMiBiYXJyYS1hY29lcyBmbGV4LWluaXQgYm9yZGVyLXJvdW5kLWJvdHRvbS1tZCBwLTJcIlxyXG4gICAgaWQ9XCJiYXJyYS1hY29lc1wiXHJcbiAgPlxyXG4gICAgQGlmKHNob3dNZXNzYWdlQ2FtcG9zT2JyaWdhdG9yaW9zKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInctZnVsbCB0ZXh0LXhzIHRleHQtZ3JheS01MDAgZm9udC1tZWRpdW1cIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj4qPC9zcGFuPiBQcmVlbmNoaW1lbnRvIG9icmlnYXTDs3Jpbzwvc3Bhbj5cclxuICAgIH1cclxuXHJcbiAgICA8a3YtYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwic2hvd0J0bkNhbmNlbFwiXHJcbiAgICAgIFtsYWJlbF09XCJ0eHRCdG5DYW5jZWxcIlxyXG4gICAgICBbaWNvbl09XCJpY29uQnRuQ2FuY2VsXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImlzU2F2ZUxvYWRpbmdcIlxyXG4gICAgICAob25DbGljayk9XCJjYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgIGNsYXNzPVwidy1mdWxsIG1kOnctYXV0b1wiXHJcbiAgICAgIHNldmVyaXR5PVwic2Vjb25kYXJ5XCJcclxuICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgPlxyXG4gICAgPC9rdi1idXR0b24+XHJcblxyXG4gICAgPGt2LWJ1dHRvblxyXG4gICAgICAqbmdJZj1cImFjdGlvbnNDYW5jZWxUb29nbGUgJiYgc2hvd0J0bkNhbmNlbFRvb2dsZVwiXHJcbiAgICAgIFtsYWJlbF09XCJ0eHRCdG5DYW5jZWxUb29nbGVcIlxyXG4gICAgICBjbGFzcz1cInctZnVsbCBtZDp3LWF1dG9cIlxyXG4gICAgICBbc2V2ZXJpdHldPVwiJ3NlY29uZGFyeSdcIlxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmVMb2FkaW5nXCJcclxuICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICBbaXRlbXNdPVwiYWN0aW9uc0NhbmNlbFRvb2dsZVwiXHJcbiAgICAgIGljb25Qb3NpdGlvbj1cImxlZnRcIlxyXG4gICAgLz5cclxuXHJcbiAgICA8a3YtYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwic2hvd0J0blNlY3VuZGFyeVwiXHJcbiAgICAgIFtsYWJlbF09XCJ0eHRCdG5TZWN1bmRhcnlcIlxyXG4gICAgICBbaWNvbl09XCJpY29uQnRuU2VjdW5kYXJ5XCJcclxuICAgICAgW2Rpc2FibGVkXT1cImlzU2F2ZUxvYWRpbmdcIlxyXG4gICAgICBzZXZlcml0eT1cInRlcnRpYXJ5XCJcclxuICAgICAgKG9uQ2xpY2spPVwiYWN0aW9uU2VjdW5kYXJ5KCRldmVudClcIlxyXG4gICAgICBjbGFzcz1cInctZnVsbCBtZDp3LWF1dG9cIlxyXG4gICAgLz5cclxuXHJcbiAgICA8a3YtYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiYWN0aW9uc1Rvb2dsZSAmJiBzaG93QnRuVG9vZ2xlXCJcclxuICAgICAgW2xhYmVsXT1cInR4dEJ0blRvb2dsZVwiXHJcbiAgICAgIFtpY29uXT1cImljb25CdG5Ub29nbGVcIlxyXG4gICAgICBjbGFzcz1cInctZnVsbCBtZDp3LWF1dG9cIlxyXG4gICAgICBzZXZlcml0eT1cInRlcnRpYXJ5XCJcclxuICAgICAgW2Rpc2FibGVkXT1cImlzU2F2ZUxvYWRpbmdcIlxyXG4gICAgICBbcG9wdXBdPVwidHJ1ZVwiXHJcbiAgICAgIFtpdGVtc109XCJhY3Rpb25zVG9vZ2xlXCJcclxuICAgIC8+XHJcblxyXG4gICAgPGt2LWJ1dHRvblxyXG4gICAgICAqbmdJZj1cInNob3dCdG5TYXZlXCJcclxuICAgICAgW2xhYmVsXT1cInR4dEJ0blNhdmVcIlxyXG4gICAgICBbaWNvbl09XCJpY29uQnRuU2F2ZVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQnRuU2F2ZVwiXHJcbiAgICAgIFtsb2FkaW5nXT1cImlzU2F2ZUxvYWRpbmdcIlxyXG4gICAgICAob25DbGljayk9XCJzYXZlKCRldmVudClcIlxyXG4gICAgICBzZXZlcml0eT1cInByaW1hcnlcIlxyXG4gICAgICBjbGFzcz1cInctZnVsbCBtZDp3LWF1dG9cIlxyXG4gICAgLz5cclxuXHJcbiAgICA8a3YtYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiYWN0aW9uc1NhdmVUb29nbGUgJiYgc2hvd0J0blNhdmVUb29nbGVcIlxyXG4gICAgICBbbGFiZWxdPVwidHh0QnRuU2F2ZVRvb2dsZVwiXHJcbiAgICAgIFtpY29uXT1cImljb25CdG5TYXZlVG9vZ2xlXCJcclxuICAgICAgW2xvYWRpbmddPVwiaXNTYXZlTG9hZGluZ1wiXHJcbiAgICAgIGNsYXNzPVwidy1mdWxsIG1kOnctYXV0b1wiXHJcbiAgICAgIFtzZXZlcml0eV09XCIncHJpbWFyeSdcIlxyXG4gICAgICBbcG9wdXBdPVwidHJ1ZVwiXHJcbiAgICAgIFtpdGVtc109XCJhY3Rpb25zU2F2ZVRvb2dsZVwiXHJcbiAgICAvPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19