keevo-components 2.0.106 → 2.0.107

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 (746) hide show
  1. package/ng-package.json +14 -0
  2. package/package.json +32 -42
  3. package/src/assets/.gitkeep +0 -0
  4. package/src/index.ts +1 -0
  5. package/src/lib/api/base-components/base-component-button.ts +29 -0
  6. package/src/lib/api/base-components/base-component-chart.ts +118 -0
  7. package/src/lib/api/base-components/base-component-crud-form.ts +377 -0
  8. package/src/lib/api/base-components/base-component-crud-list.ts +129 -0
  9. package/src/lib/api/base-components/base-component-crud.ts +92 -0
  10. package/src/lib/api/base-components/base-component-dropdown-external.ts +29 -0
  11. package/src/lib/api/base-components/base-component-dropdown-new.ts +112 -0
  12. package/src/lib/api/base-components/base-component-dropdown.ts +257 -0
  13. package/src/lib/api/base-components/base-component-input.ts +121 -0
  14. package/src/lib/api/base-components/base-component-multi-select.ts +187 -0
  15. package/src/lib/api/base-components/base-component-table.ts +366 -0
  16. package/src/lib/api/base-components/base-component.ts +47 -0
  17. package/src/lib/api/components/chart/chart.config.ts +15 -0
  18. package/src/lib/api/components/chart/chart.model.ts +12 -0
  19. package/src/lib/api/components/chart/orchart.config.ts +51 -0
  20. package/src/lib/api/components/chart/orchartnode.ts +44 -0
  21. package/src/lib/api/components/dropdown/filtro.combo.ts +4 -0
  22. package/{lib/api/components/step/step.model.d.ts → src/lib/api/components/step/step.model.ts} +15 -13
  23. package/src/lib/api/components/stepper/kv-stepperpanel.ts +10 -0
  24. package/src/lib/api/components/table/action-item.ts +13 -0
  25. package/src/lib/api/components/table/kv-menuitem.ts +198 -0
  26. package/src/lib/api/components/table/table-dropdown-control.ts +6 -0
  27. package/src/lib/api/components/table/table.config.column.ts +38 -0
  28. package/src/lib/api/components/table/table.config.ts +39 -0
  29. package/src/lib/api/components/table/table.paginate.ts +7 -0
  30. package/{lib/api/components/table/tabledit.config.d.ts → src/lib/api/components/table/tabledit.config.ts} +9 -8
  31. package/src/lib/api/components/table/tableedit.config.column.ts +12 -0
  32. package/src/lib/api/components/tree-table/tree-table-keys.ts +12 -0
  33. package/src/lib/api/components/tree-table/tree-table.config.ts +34 -0
  34. package/src/lib/api/directives/directives.module.ts +19 -0
  35. package/src/lib/api/directives/drag/drag.directive.ts +40 -0
  36. package/src/lib/api/directives/stepper/dynamicinput.directive.ts +23 -0
  37. package/src/lib/api/directives/template/template.directive.ts +15 -0
  38. package/src/lib/api/helpers/component-providers.ts +16 -0
  39. package/src/lib/api/helpers/keevo-validators.ts +174 -0
  40. package/src/lib/api/helpers/severity-color.ts +77 -0
  41. package/src/lib/api/helpers/translate-primeng.ts +25 -0
  42. package/src/lib/api/modules/primeng.module.ts +144 -0
  43. package/src/lib/api/pipes/capitalize.pipe.ts +47 -0
  44. package/src/lib/api/pipes/cpfcnpj.pipe.ts +21 -0
  45. package/src/lib/api/pipes/mask.pipe.ts +24 -0
  46. package/src/lib/api/pipes/pipes.module.ts +26 -0
  47. package/src/lib/api/pipes/telefone.pipe.ts +38 -0
  48. package/src/lib/api/services/base.api.service.ts +115 -0
  49. package/src/lib/api/services/breadcrumbs.service.ts +71 -0
  50. package/src/lib/api/services/chat.service.ts +39 -0
  51. package/src/lib/api/services/component.service.ts +44 -0
  52. package/src/lib/api/services/docs.service.ts +129 -0
  53. package/src/lib/api/services/form.service.ts +139 -0
  54. package/src/lib/api/services/image.cutter.service.ts +290 -0
  55. package/src/lib/api/services/imagens.service.ts +28 -0
  56. package/src/lib/api/services/notification.service.ts +88 -0
  57. package/src/lib/api/services/object.service.ts +33 -0
  58. package/src/lib/api/services/orgchart.service.ts +77 -0
  59. package/src/lib/api/services/pdf.service.ts +54 -0
  60. package/src/lib/api/types/breadcrumb.model.ts +5 -0
  61. package/src/lib/api/types/severity.ts +3 -0
  62. package/src/lib/api/types/stimulsoft.reports.d.ts +67463 -0
  63. package/src/lib/components/keevo-components-styles.scss +5 -0
  64. package/src/lib/components/keevo-components.module.ts +105 -0
  65. package/src/lib/components/kv-avatar/kv-avatar.component.html +75 -0
  66. package/src/lib/components/kv-avatar/kv-avatar.component.scss +162 -0
  67. package/src/lib/components/kv-avatar/kv-avatar.component.spec.ts +23 -0
  68. package/src/lib/components/kv-avatar/kv-avatar.component.ts +165 -0
  69. package/src/lib/components/kv-avatar/kv-avatar.module.ts +32 -0
  70. package/src/lib/components/kv-button/kv-button.component.html +26 -0
  71. package/src/lib/components/kv-button/kv-button.component.spec.ts +23 -0
  72. package/src/lib/components/kv-button/kv-button.component.ts +55 -0
  73. package/src/lib/components/kv-button/kv-button.module.ts +20 -0
  74. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.html +14 -0
  75. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.scss +6 -0
  76. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.ts +25 -0
  77. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.html +13 -0
  78. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.scss +33 -0
  79. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.ts +41 -0
  80. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.html +12 -0
  81. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.scss +18 -0
  82. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.ts +14 -0
  83. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.html +11 -0
  84. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.scss +17 -0
  85. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.ts +14 -0
  86. package/src/lib/components/kv-buttons/kv-button.module.ts +26 -0
  87. package/src/lib/components/kv-card-selection/kv-card-selection.component.html +63 -0
  88. package/src/lib/components/kv-card-selection/kv-card-selection.component.scss +54 -0
  89. package/src/lib/components/kv-card-selection/kv-card-selection.component.spec.ts +23 -0
  90. package/src/lib/components/kv-card-selection/kv-card-selection.component.ts +73 -0
  91. package/src/lib/components/kv-card-selection/kv-card-selection.module.ts +19 -0
  92. package/src/lib/components/kv-carousel/kv-carousel.component.html +26 -0
  93. package/src/lib/components/kv-carousel/kv-carousel.component.scss +47 -0
  94. package/src/lib/components/kv-carousel/kv-carousel.component.spec.ts +23 -0
  95. package/src/lib/components/kv-carousel/kv-carousel.component.ts +40 -0
  96. package/src/lib/components/kv-carousel/kv-carousel.module.ts +19 -0
  97. package/src/lib/components/kv-chart/kv-chart.component.html +38 -0
  98. package/src/lib/components/kv-chart/kv-chart.component.scss +0 -0
  99. package/src/lib/components/kv-chart/kv-chart.component.spec.ts +28 -0
  100. package/src/lib/components/kv-chart/kv-chart.component.ts +174 -0
  101. package/src/lib/components/kv-chart/kv-chart.module.ts +21 -0
  102. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.html +9 -0
  103. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.scss +7 -0
  104. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.spec.ts +23 -0
  105. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.ts +32 -0
  106. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.ts +14 -0
  107. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.html +229 -0
  108. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.scss +185 -0
  109. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.spec.ts +23 -0
  110. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.ts +171 -0
  111. package/src/lib/components/kv-content-viewer/kv-content-viewer.module.ts +25 -0
  112. package/src/lib/components/kv-error/kv-error.component.html +3 -0
  113. package/src/lib/components/kv-error/kv-error.component.scss +5 -0
  114. package/src/lib/components/kv-error/kv-error.component.ts +27 -0
  115. package/src/lib/components/kv-error/kv-error.module.ts +26 -0
  116. package/src/lib/components/kv-file-upload/kv-file-upload.component.html +134 -0
  117. package/src/lib/components/kv-file-upload/kv-file-upload.component.scss +13 -0
  118. package/src/lib/components/kv-file-upload/kv-file-upload.component.spec.ts +23 -0
  119. package/src/lib/components/kv-file-upload/kv-file-upload.component.ts +200 -0
  120. package/src/lib/components/kv-file-upload/kv-file-upload.module.ts +13 -0
  121. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.html +16 -0
  122. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.scss +18 -0
  123. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.ts +42 -0
  124. package/src/lib/components/kv-file-viewer/kv-file-viewer.module.ts +14 -0
  125. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.html +34 -0
  126. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.scss +17 -0
  127. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.ts +80 -0
  128. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.ts +15 -0
  129. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.html +103 -0
  130. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.scss +153 -0
  131. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.spec.ts +23 -0
  132. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.ts +73 -0
  133. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.module.ts +18 -0
  134. package/src/lib/components/kv-filter-card/kv-filter-card.component.html +12 -0
  135. package/src/lib/components/kv-filter-card/kv-filter-card.component.scss +76 -0
  136. package/src/lib/components/kv-filter-card/kv-filter-card.component.spec.ts +23 -0
  137. package/src/lib/components/kv-filter-card/kv-filter-card.component.ts +18 -0
  138. package/src/lib/components/kv-filter-card/kv-filter-card.module.ts +23 -0
  139. package/src/lib/components/kv-filter-cards/kv-filter-cards.component.html +81 -0
  140. package/src/lib/components/kv-filter-cards/kv-filter-cards.component.scss +197 -0
  141. package/src/lib/components/kv-filter-cards/kv-filter-cards.component.ts +150 -0
  142. package/src/lib/components/kv-filter-cards/kv-filter-cards.module.ts +20 -0
  143. package/src/lib/components/kv-filter-cards/kv-filter-cards.pipe.ts +24 -0
  144. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.html +25 -0
  145. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.scss +22 -0
  146. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.spec.ts +23 -0
  147. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.ts +20 -0
  148. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.ts +20 -0
  149. package/src/lib/components/kv-g-icon/kv-g-icon.component.html +1 -0
  150. package/src/lib/components/kv-g-icon/kv-g-icon.component.scss +0 -0
  151. package/src/lib/components/kv-g-icon/kv-g-icon.component.spec.ts +23 -0
  152. package/src/lib/components/kv-g-icon/kv-g-icon.component.ts +10 -0
  153. package/src/lib/components/kv-g-icon/kv-g-icon.module.ts +11 -0
  154. package/src/lib/components/kv-home-card/kv-home-card.component.html +35 -0
  155. package/src/lib/components/kv-home-card/kv-home-card.component.scss +5 -0
  156. package/src/lib/components/kv-home-card/kv-home-card.component.spec.ts +23 -0
  157. package/src/lib/components/kv-home-card/kv-home-card.component.ts +33 -0
  158. package/src/lib/components/kv-home-card/kv-home-card.module.ts +18 -0
  159. package/src/lib/components/kv-icon/kv-icon.component.html +13 -0
  160. package/src/lib/components/kv-icon/kv-icon.component.scss +69 -0
  161. package/src/lib/components/kv-icon/kv-icon.component.spec.ts +28 -0
  162. package/src/lib/components/kv-icon/kv-icon.component.ts +30 -0
  163. package/src/lib/components/kv-icon/kv-icon.model.ts +3 -0
  164. package/src/lib/components/kv-icon/kv-icon.module.ts +16 -0
  165. package/src/lib/components/kv-image-upload/kv-image-upload.component.html +64 -0
  166. package/src/lib/components/kv-image-upload/kv-image-upload.component.scss +0 -0
  167. package/src/lib/components/kv-image-upload/kv-image-upload.component.ts +153 -0
  168. package/src/lib/components/kv-image-upload/kv-image-upload.module.ts +10 -0
  169. package/src/lib/components/kv-inputs/kv-check/kv-check.component.html +12 -0
  170. package/src/lib/components/kv-inputs/kv-check/kv-check.component.scss +38 -0
  171. package/src/lib/components/kv-inputs/kv-check/kv-check.component.ts +32 -0
  172. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.html +87 -0
  173. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.ts +119 -0
  174. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.html +13 -0
  175. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.scss +0 -0
  176. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.spec.ts +23 -0
  177. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.ts +16 -0
  178. package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.html +18 -0
  179. package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.scss +0 -0
  180. package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.ts +41 -0
  181. package/src/lib/components/kv-inputs/kv-editor/config/kv-editor.config.ts +120 -0
  182. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.html +285 -0
  183. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.scss +182 -0
  184. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.ts +311 -0
  185. package/{lib/components/kv-inputs/kv-editor/kv-editor.d.ts → src/lib/components/kv-inputs/kv-editor/kv-editor.ts} +6 -6
  186. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.ts +156 -0
  187. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.ts +190 -0
  188. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.spec.ts +126 -0
  189. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.ts +84 -0
  190. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.spec.ts +176 -0
  191. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.ts +101 -0
  192. package/src/lib/components/kv-inputs/kv-editor/types/kv-editor.types.ts +36 -0
  193. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.html +37 -0
  194. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.scss +23 -0
  195. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.ts +197 -0
  196. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.html +24 -0
  197. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.scss +0 -0
  198. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.ts +35 -0
  199. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.html +23 -0
  200. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.scss +0 -0
  201. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.ts +61 -0
  202. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.html +33 -0
  203. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.scss +5 -0
  204. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.ts +63 -0
  205. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.html +24 -0
  206. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.scss +0 -0
  207. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.ts +26 -0
  208. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.html +23 -0
  209. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.scss +18 -0
  210. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.ts +40 -0
  211. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.html +30 -0
  212. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.scss +26 -0
  213. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.ts +38 -0
  214. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.html +53 -0
  215. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.scss +41 -0
  216. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.spec.ts +23 -0
  217. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.ts +48 -0
  218. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.html +23 -0
  219. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.scss +0 -0
  220. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.ts +40 -0
  221. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.html +24 -0
  222. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.scss +0 -0
  223. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.ts +27 -0
  224. package/src/lib/components/kv-inputs/kv-inputs.module.ts +100 -0
  225. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.html +87 -0
  226. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.scss +62 -0
  227. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.ts +54 -0
  228. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.html +19 -0
  229. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.scss +22 -0
  230. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.ts +63 -0
  231. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.html +26 -0
  232. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.scss +5 -0
  233. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.spec.ts +21 -0
  234. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.ts +30 -0
  235. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.html +28 -0
  236. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.scss +61 -0
  237. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.spec.ts +23 -0
  238. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.ts +43 -0
  239. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.html +23 -0
  240. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.scss +35 -0
  241. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.ts +54 -0
  242. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.html +68 -0
  243. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.scss +86 -0
  244. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.ts +59 -0
  245. package/src/lib/components/kv-label/kv-label.component.html +3 -0
  246. package/src/lib/components/kv-label/kv-label.component.scss +15 -0
  247. package/src/lib/components/kv-label/kv-label.component.spec.ts +23 -0
  248. package/src/lib/components/kv-label/kv-label.component.ts +14 -0
  249. package/src/lib/components/kv-label/kv-label.module.ts +17 -0
  250. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.html +25 -0
  251. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.scss +19 -0
  252. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.spec.ts +28 -0
  253. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.ts +34 -0
  254. package/src/lib/components/kv-layout/kv-layout.module.ts +44 -0
  255. package/src/lib/components/kv-layout/layout/kv-layout.component.html +535 -0
  256. package/src/lib/components/kv-layout/layout/kv-layout.component.scss +267 -0
  257. package/src/lib/components/kv-layout/layout/kv-layout.component.spec.ts +23 -0
  258. package/src/lib/components/kv-layout/layout/kv-layout.component.ts +502 -0
  259. package/src/lib/components/kv-layout/top-icons/top-icons.component.html +26 -0
  260. package/src/lib/components/kv-layout/top-icons/top-icons.component.scss +71 -0
  261. package/src/lib/components/kv-layout/top-icons/top-icons.component.spec.ts +23 -0
  262. package/src/lib/components/kv-layout/top-icons/top-icons.component.ts +26 -0
  263. package/src/lib/components/kv-loader/kv-loader.component.html +1 -0
  264. package/src/lib/components/kv-loader/kv-loader.component.ts +11 -0
  265. package/src/lib/components/kv-loader/kv-loader.module.ts +17 -0
  266. package/src/lib/components/kv-loader/kv-loader.service.ts +29 -0
  267. package/src/lib/components/kv-login/kv-login.component.html +101 -0
  268. package/src/lib/components/kv-login/kv-login.component.scss +99 -0
  269. package/src/lib/components/kv-login/kv-login.component.spec.ts +23 -0
  270. package/src/lib/components/kv-login/kv-login.component.ts +97 -0
  271. package/src/lib/components/kv-login/kv-login.module.ts +33 -0
  272. package/src/lib/components/kv-modal/kv-modal.component.html +20 -0
  273. package/src/lib/components/kv-modal/kv-modal.component.scss +37 -0
  274. package/src/lib/components/kv-modal/kv-modal.component.spec.ts +21 -0
  275. package/src/lib/components/kv-modal/kv-modal.component.ts +111 -0
  276. package/src/lib/components/kv-modal/kv-modal.module.ts +12 -0
  277. package/src/lib/components/kv-orgchart/kv-orgchart.component.html +125 -0
  278. package/src/lib/components/kv-orgchart/kv-orgchart.component.scss +73 -0
  279. package/src/lib/components/kv-orgchart/kv-orgchart.component.ts +283 -0
  280. package/src/lib/components/kv-orgchart/kv-orgchart.module.ts +31 -0
  281. package/src/lib/components/kv-page-form/kv-page-form.component.html +91 -0
  282. package/src/lib/components/kv-page-form/kv-page-form.component.scss +100 -0
  283. package/src/lib/components/kv-page-form/kv-page-form.component.spec.ts +28 -0
  284. package/src/lib/components/kv-page-form/kv-page-form.component.ts +206 -0
  285. package/src/lib/components/kv-page-form/kv-page-form.module.ts +33 -0
  286. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.html +276 -0
  287. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.scss +85 -0
  288. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.spec.ts +23 -0
  289. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.ts +223 -0
  290. package/src/lib/components/kv-page-stepper/kv-page-stepper.module.ts +36 -0
  291. package/src/lib/components/kv-pick-list/kv-pick-list.component.html +32 -0
  292. package/src/lib/components/kv-pick-list/kv-pick-list.component.scss +57 -0
  293. package/src/lib/components/kv-pick-list/kv-pick-list.component.spec.ts +26 -0
  294. package/src/lib/components/kv-pick-list/kv-pick-list.component.ts +461 -0
  295. package/src/lib/components/kv-pick-list/kv-pick-list.module.ts +24 -0
  296. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.html +38 -0
  297. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.scss +128 -0
  298. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.spec.ts +21 -0
  299. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.ts +75 -0
  300. package/src/lib/components/kv-progress-bar/kv-progress-bar.module.ts +19 -0
  301. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.html +43 -0
  302. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.scss +130 -0
  303. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.spec.ts +23 -0
  304. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.ts +82 -0
  305. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.ts +18 -0
  306. package/src/lib/components/kv-report/kv-report.component.html +3 -0
  307. package/src/lib/components/kv-report/kv-report.component.scss +14 -0
  308. package/src/lib/components/kv-report/kv-report.component.spec.ts +28 -0
  309. package/src/lib/components/kv-report/kv-report.component.ts +44 -0
  310. package/src/lib/components/kv-report/kv-report.module.ts +18 -0
  311. package/src/lib/components/kv-stepper/kv-stepper.component.html +94 -0
  312. package/src/lib/components/kv-stepper/kv-stepper.component.scss +43 -0
  313. package/src/lib/components/kv-stepper/kv-stepper.component.spec.ts +23 -0
  314. package/src/lib/components/kv-stepper/kv-stepper.component.ts +73 -0
  315. package/src/lib/components/kv-stepper/kv-stepper.module.ts +27 -0
  316. package/src/lib/components/kv-steps/kv-steps.component.html +53 -0
  317. package/src/lib/components/kv-steps/kv-steps.component.scss +120 -0
  318. package/src/lib/components/kv-steps/kv-steps.component.ts +122 -0
  319. package/src/lib/components/kv-table/kv-table.component.html +655 -0
  320. package/src/lib/components/kv-table/kv-table.component.spec.ts +28 -0
  321. package/src/lib/components/kv-table/kv-table.component.ts +792 -0
  322. package/src/lib/components/kv-table/kv-table.module.ts +25 -0
  323. package/src/lib/components/kv-table-edit/kv-table-edit.component.html +913 -0
  324. package/src/lib/components/kv-table-edit/kv-table-edit.component.scss +829 -0
  325. package/src/lib/components/kv-table-edit/kv-table-edit.component.ts +425 -0
  326. package/src/lib/components/kv-table-edit/kv-table-edit.module.ts +31 -0
  327. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.html +634 -0
  328. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.scss +387 -0
  329. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.ts +546 -0
  330. package/src/lib/components/kv-table-expandable/kv-table-expandable.module.ts +22 -0
  331. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.html +25 -0
  332. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.scss +0 -0
  333. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.spec.ts +23 -0
  334. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.ts +17 -0
  335. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.html +20 -0
  336. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.scss +0 -0
  337. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.spec.ts +23 -0
  338. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.ts +14 -0
  339. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.html +164 -0
  340. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.scss +80 -0
  341. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.spec.ts +23 -0
  342. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.ts +183 -0
  343. package/src/lib/components/kv-tag/kv-tag.component.html +3 -0
  344. package/src/lib/components/kv-tag/kv-tag.component.scss +65 -0
  345. package/src/lib/components/kv-tag/kv-tag.component.spec.ts +23 -0
  346. package/src/lib/components/kv-tag/kv-tag.component.ts +16 -0
  347. package/src/lib/components/kv-tag/kv-tag.module.ts +18 -0
  348. package/src/lib/components/kv-tags/kv-tags.component.html +19 -0
  349. package/src/lib/components/kv-tags/kv-tags.component.scss +28 -0
  350. package/src/lib/components/kv-tags/kv-tags.component.ts +64 -0
  351. package/src/lib/components/kv-tags/kv-tags.module.ts +18 -0
  352. package/src/lib/components/kv-timeline/kv-timeline.component.html +28 -0
  353. package/src/lib/components/kv-timeline/kv-timeline.component.scss +6 -0
  354. package/src/lib/components/kv-timeline/kv-timeline.component.spec.ts +23 -0
  355. package/src/lib/components/kv-timeline/kv-timeline.component.ts +77 -0
  356. package/src/lib/components/kv-tree-table/kv-tree-table.component.html +492 -0
  357. package/src/lib/components/kv-tree-table/kv-tree-table.component.scss +187 -0
  358. package/src/lib/components/kv-tree-table/kv-tree-table.component.spec.ts +21 -0
  359. package/src/lib/components/kv-tree-table/kv-tree-table.component.ts +355 -0
  360. package/src/lib/components/kv-tree-table/kv-tree-table.module.ts +23 -0
  361. package/src/lib/components/kv-tree-view/kv-tree-view.component.html +16 -0
  362. package/src/lib/components/kv-tree-view/kv-tree-view.component.scss +19 -0
  363. package/src/lib/components/kv-tree-view/kv-tree-view.component.spec.ts +23 -0
  364. package/src/lib/components/kv-tree-view/kv-tree-view.component.ts +73 -0
  365. package/src/lib/components/kv-tree-view/kv-tree-view.module.ts +19 -0
  366. package/src/lib/components/kv-widget-card/kv-widget-card.component.html +71 -0
  367. package/src/lib/components/kv-widget-card/kv-widget-card.component.scss +27 -0
  368. package/src/lib/components/kv-widget-card/kv-widget-card.component.spec.ts +28 -0
  369. package/src/lib/components/kv-widget-card/kv-widget-card.component.ts +107 -0
  370. package/src/lib/components/kv-widget-card/kv-widget-card.module.ts +20 -0
  371. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.html +22 -0
  372. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.scss +36 -0
  373. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.spec.ts +28 -0
  374. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.ts +41 -0
  375. package/src/lib/components/kv-workspace/kv-workspace.module.ts +45 -0
  376. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.html +20 -0
  377. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.scss +0 -0
  378. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.spec.ts +28 -0
  379. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.ts +18 -0
  380. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.html +35 -0
  381. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.scss +29 -0
  382. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.spec.ts +28 -0
  383. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.ts +98 -0
  384. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.html +63 -0
  385. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.scss +62 -0
  386. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.ts +91 -0
  387. package/{public-api.d.ts → src/public-api.ts} +361 -288
  388. package/tsconfig.lib.json +14 -0
  389. package/tsconfig.lib.prod.json +10 -0
  390. package/tsconfig.spec.json +14 -0
  391. package/esm2022/keevo-components.mjs +0 -5
  392. package/esm2022/lib/api/base-components/base-component-button.mjs +0 -39
  393. package/esm2022/lib/api/base-components/base-component-chart.mjs +0 -104
  394. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +0 -308
  395. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +0 -91
  396. package/esm2022/lib/api/base-components/base-component-crud.mjs +0 -80
  397. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +0 -31
  398. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +0 -238
  399. package/esm2022/lib/api/base-components/base-component-input.mjs +0 -101
  400. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +0 -174
  401. package/esm2022/lib/api/base-components/base-component-table.mjs +0 -354
  402. package/esm2022/lib/api/base-components/base-component.mjs +0 -51
  403. package/esm2022/lib/api/components/chart/chart.config.mjs +0 -2
  404. package/esm2022/lib/api/components/chart/chart.model.mjs +0 -2
  405. package/esm2022/lib/api/components/chart/orchart.config.mjs +0 -2
  406. package/esm2022/lib/api/components/chart/orchartnode.mjs +0 -2
  407. package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +0 -2
  408. package/esm2022/lib/api/components/step/step.model.mjs +0 -2
  409. package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +0 -2
  410. package/esm2022/lib/api/components/table/action-item.mjs +0 -2
  411. package/esm2022/lib/api/components/table/kv-menuitem.mjs +0 -46
  412. package/esm2022/lib/api/components/table/table-dropdown-control.mjs +0 -2
  413. package/esm2022/lib/api/components/table/table.config.column.mjs +0 -2
  414. package/esm2022/lib/api/components/table/table.config.mjs +0 -2
  415. package/esm2022/lib/api/components/table/table.paginate.mjs +0 -10
  416. package/esm2022/lib/api/components/table/tabledit.config.mjs +0 -2
  417. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +0 -2
  418. package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +0 -2
  419. package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +0 -3
  420. package/esm2022/lib/api/directives/directives.module.mjs +0 -30
  421. package/esm2022/lib/api/directives/drag/drag.directive.mjs +0 -52
  422. package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +0 -31
  423. package/esm2022/lib/api/directives/template/template.directive.mjs +0 -24
  424. package/esm2022/lib/api/helpers/component-providers.mjs +0 -16
  425. package/esm2022/lib/api/helpers/keevo-validators.mjs +0 -144
  426. package/esm2022/lib/api/helpers/translate-primeng.mjs +0 -23
  427. package/esm2022/lib/api/modules/primeng.module.mjs +0 -283
  428. package/esm2022/lib/api/pipes/capitalize.pipe.mjs +0 -47
  429. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +0 -25
  430. package/esm2022/lib/api/pipes/mask.pipe.mjs +0 -29
  431. package/esm2022/lib/api/pipes/pipes.module.mjs +0 -39
  432. package/esm2022/lib/api/pipes/telefone.pipe.mjs +0 -45
  433. package/esm2022/lib/api/services/base.api.service.mjs +0 -74
  434. package/esm2022/lib/api/services/breadcrumbs.service.mjs +0 -62
  435. package/esm2022/lib/api/services/chat.service.mjs +0 -37
  436. package/esm2022/lib/api/services/component.service.mjs +0 -37
  437. package/esm2022/lib/api/services/docs.service.mjs +0 -129
  438. package/esm2022/lib/api/services/form.service.mjs +0 -95
  439. package/esm2022/lib/api/services/image.cutter.service.mjs +0 -193
  440. package/esm2022/lib/api/services/imagens.service.mjs +0 -28
  441. package/esm2022/lib/api/services/notification.service.mjs +0 -69
  442. package/esm2022/lib/api/services/object.service.mjs +0 -39
  443. package/esm2022/lib/api/services/orgchart.service.mjs +0 -64
  444. package/esm2022/lib/api/services/pdf.service.mjs +0 -48
  445. package/esm2022/lib/api/types/breadcrumb.model.mjs +0 -2
  446. package/esm2022/lib/components/keevo-components.module.mjs +0 -232
  447. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +0 -142
  448. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +0 -55
  449. package/esm2022/lib/components/kv-button/kv-button.component.mjs +0 -51
  450. package/esm2022/lib/components/kv-button/kv-button.module.mjs +0 -28
  451. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +0 -25
  452. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +0 -39
  453. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +0 -17
  454. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +0 -17
  455. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +0 -39
  456. package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +0 -60
  457. package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +0 -31
  458. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +0 -34
  459. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +0 -28
  460. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +0 -166
  461. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +0 -32
  462. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.mjs +0 -32
  463. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.mjs +0 -22
  464. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +0 -185
  465. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +0 -44
  466. package/esm2022/lib/components/kv-error/kv-error.component.mjs +0 -26
  467. package/esm2022/lib/components/kv-error/kv-error.module.mjs +0 -35
  468. package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +0 -191
  469. package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +0 -23
  470. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +0 -46
  471. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +0 -20
  472. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +0 -68
  473. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +0 -24
  474. package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +0 -29
  475. package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +0 -34
  476. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.component.mjs +0 -103
  477. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.module.mjs +0 -31
  478. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.pipe.mjs +0 -30
  479. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +0 -26
  480. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +0 -28
  481. package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +0 -11
  482. package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +0 -19
  483. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +0 -27
  484. package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +0 -32
  485. package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +0 -136
  486. package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +0 -18
  487. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +0 -29
  488. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +0 -102
  489. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.mjs +0 -18
  490. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.mjs +0 -40
  491. package/esm2022/lib/components/kv-inputs/kv-editor/config/kv-editor.config.mjs +0 -110
  492. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +0 -266
  493. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.mjs +0 -7
  494. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.mjs +0 -135
  495. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.mjs +0 -168
  496. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.mjs +0 -78
  497. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.mjs +0 -95
  498. package/esm2022/lib/components/kv-inputs/kv-editor/types/kv-editor.types.mjs +0 -2
  499. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +0 -168
  500. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +0 -30
  501. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +0 -59
  502. package/esm2022/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.mjs +0 -66
  503. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +0 -33
  504. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +0 -38
  505. package/esm2022/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.mjs +0 -42
  506. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +0 -50
  507. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +0 -43
  508. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +0 -24
  509. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +0 -165
  510. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +0 -60
  511. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +0 -60
  512. package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +0 -46
  513. package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +0 -37
  514. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +0 -42
  515. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +0 -58
  516. package/esm2022/lib/components/kv-label/kv-label.component.mjs +0 -15
  517. package/esm2022/lib/components/kv-label/kv-label.module.mjs +0 -24
  518. package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +0 -28
  519. package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +0 -72
  520. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +0 -433
  521. package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +0 -15
  522. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +0 -16
  523. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +0 -28
  524. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +0 -29
  525. package/esm2022/lib/components/kv-login/kv-login.component.mjs +0 -62
  526. package/esm2022/lib/components/kv-login/kv-login.module.mjs +0 -47
  527. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +0 -98
  528. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +0 -20
  529. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +0 -225
  530. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +0 -59
  531. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +0 -190
  532. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +0 -41
  533. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +0 -205
  534. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +0 -51
  535. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +0 -386
  536. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +0 -39
  537. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +0 -58
  538. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +0 -28
  539. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.mjs +0 -62
  540. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.mjs +0 -28
  541. package/esm2022/lib/components/kv-report/kv-report.component.mjs +0 -44
  542. package/esm2022/lib/components/kv-report/kv-report.module.mjs +0 -24
  543. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +0 -74
  544. package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +0 -47
  545. package/esm2022/lib/components/kv-steps/kv-steps.component.mjs +0 -105
  546. package/esm2022/lib/components/kv-table/kv-table.component.mjs +0 -673
  547. package/esm2022/lib/components/kv-table/kv-table.module.mjs +0 -40
  548. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +0 -341
  549. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +0 -45
  550. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +0 -516
  551. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +0 -40
  552. package/esm2022/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.mjs +0 -17
  553. package/esm2022/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.mjs +0 -18
  554. package/esm2022/lib/components/kv-table-viewer/kv-table-viewer.component.mjs +0 -184
  555. package/esm2022/lib/components/kv-tag/kv-tag.component.mjs +0 -18
  556. package/esm2022/lib/components/kv-tag/kv-tag.module.mjs +0 -24
  557. package/esm2022/lib/components/kv-tags/kv-tags.component.mjs +0 -35
  558. package/esm2022/lib/components/kv-tags/kv-tags.module.mjs +0 -27
  559. package/esm2022/lib/components/kv-timeline/kv-timeline.component.mjs +0 -71
  560. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +0 -331
  561. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +0 -39
  562. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +0 -70
  563. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +0 -28
  564. package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +0 -40
  565. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +0 -68
  566. package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +0 -22
  567. package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +0 -78
  568. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +0 -87
  569. package/esm2022/public-api.mjs +0 -293
  570. package/fesm2022/keevo-components.mjs +0 -11977
  571. package/fesm2022/keevo-components.mjs.map +0 -1
  572. package/index.d.ts +0 -5
  573. package/lib/api/base-components/base-component-button.d.ts +0 -15
  574. package/lib/api/base-components/base-component-chart.d.ts +0 -40
  575. package/lib/api/base-components/base-component-crud-form.d.ts +0 -149
  576. package/lib/api/base-components/base-component-crud-list.d.ts +0 -70
  577. package/lib/api/base-components/base-component-crud.d.ts +0 -36
  578. package/lib/api/base-components/base-component-dropdown-external.d.ts +0 -15
  579. package/lib/api/base-components/base-component-dropdown.d.ts +0 -57
  580. package/lib/api/base-components/base-component-input.d.ts +0 -33
  581. package/lib/api/base-components/base-component-multi-select.d.ts +0 -40
  582. package/lib/api/base-components/base-component-table.d.ts +0 -88
  583. package/lib/api/base-components/base-component.d.ts +0 -22
  584. package/lib/api/components/chart/chart.config.d.ts +0 -14
  585. package/lib/api/components/chart/chart.model.d.ts +0 -12
  586. package/lib/api/components/chart/orchart.config.d.ts +0 -41
  587. package/lib/api/components/chart/orchartnode.d.ts +0 -34
  588. package/lib/api/components/dropdown/filtro.combo.d.ts +0 -4
  589. package/lib/api/components/stepper/kv-stepperpanel.d.ts +0 -9
  590. package/lib/api/components/table/action-item.d.ts +0 -13
  591. package/lib/api/components/table/kv-menuitem.d.ts +0 -152
  592. package/lib/api/components/table/table-dropdown-control.d.ts +0 -6
  593. package/lib/api/components/table/table.config.column.d.ts +0 -38
  594. package/lib/api/components/table/table.config.d.ts +0 -36
  595. package/lib/api/components/table/table.paginate.d.ts +0 -10
  596. package/lib/api/components/table/tableedit.config.column.d.ts +0 -11
  597. package/lib/api/components/tree-table/tree-table-keys.d.ts +0 -12
  598. package/lib/api/components/tree-table/tree-table.config.d.ts +0 -31
  599. package/lib/api/directives/directives.module.d.ts +0 -9
  600. package/lib/api/directives/drag/drag.directive.d.ts +0 -11
  601. package/lib/api/directives/stepper/dynamicinput.directive.d.ts +0 -15
  602. package/lib/api/directives/template/template.directive.d.ts +0 -11
  603. package/lib/api/helpers/component-providers.d.ts +0 -2
  604. package/lib/api/helpers/keevo-validators.d.ts +0 -18
  605. package/lib/api/helpers/translate-primeng.d.ts +0 -4
  606. package/lib/api/modules/primeng.module.d.ts +0 -69
  607. package/lib/api/pipes/capitalize.pipe.d.ts +0 -10
  608. package/lib/api/pipes/cpfcnpj.pipe.d.ts +0 -7
  609. package/lib/api/pipes/mask.pipe.d.ts +0 -7
  610. package/lib/api/pipes/pipes.module.d.ts +0 -11
  611. package/lib/api/pipes/telefone.pipe.d.ts +0 -7
  612. package/lib/api/services/base.api.service.d.ts +0 -25
  613. package/lib/api/services/breadcrumbs.service.d.ts +0 -16
  614. package/lib/api/services/chat.service.d.ts +0 -17
  615. package/lib/api/services/component.service.d.ts +0 -11
  616. package/lib/api/services/docs.service.d.ts +0 -12
  617. package/lib/api/services/form.service.d.ts +0 -31
  618. package/lib/api/services/image.cutter.service.d.ts +0 -16
  619. package/lib/api/services/imagens.service.d.ts +0 -10
  620. package/lib/api/services/notification.service.d.ts +0 -26
  621. package/lib/api/services/object.service.d.ts +0 -9
  622. package/lib/api/services/orgchart.service.d.ts +0 -20
  623. package/lib/api/services/pdf.service.d.ts +0 -7
  624. package/lib/api/types/breadcrumb.model.d.ts +0 -5
  625. package/lib/components/keevo-components.module.d.ts +0 -38
  626. package/lib/components/kv-avatar/kv-avatar.component.d.ts +0 -36
  627. package/lib/components/kv-avatar/kv-avatar.module.d.ts +0 -15
  628. package/lib/components/kv-button/kv-button.component.d.ts +0 -24
  629. package/lib/components/kv-button/kv-button.module.d.ts +0 -9
  630. package/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.d.ts +0 -11
  631. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +0 -19
  632. package/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.d.ts +0 -7
  633. package/lib/components/kv-buttons/kv-button-success/kv-button-success.component.d.ts +0 -7
  634. package/lib/components/kv-buttons/kv-button.module.d.ts +0 -11
  635. package/lib/components/kv-card-selection/kv-card-selection.component.d.ts +0 -25
  636. package/lib/components/kv-card-selection/kv-card-selection.module.d.ts +0 -10
  637. package/lib/components/kv-carousel/kv-carousel.component.d.ts +0 -17
  638. package/lib/components/kv-carousel/kv-carousel.module.d.ts +0 -9
  639. package/lib/components/kv-chart/kv-chart.component.d.ts +0 -57
  640. package/lib/components/kv-chart/kv-chart.module.d.ts +0 -10
  641. package/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.d.ts +0 -12
  642. package/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.d.ts +0 -10
  643. package/lib/components/kv-content-viewer/kv-content-viewer.component.d.ts +0 -56
  644. package/lib/components/kv-content-viewer/kv-content-viewer.module.d.ts +0 -14
  645. package/lib/components/kv-error/kv-error.component.d.ts +0 -12
  646. package/lib/components/kv-error/kv-error.module.d.ts +0 -10
  647. package/lib/components/kv-file-upload/kv-file-upload.component.d.ts +0 -35
  648. package/lib/components/kv-file-upload/kv-file-upload.module.d.ts +0 -10
  649. package/lib/components/kv-file-viewer/kv-file-viewer.component.d.ts +0 -21
  650. package/lib/components/kv-file-viewer/kv-file-viewer.module.d.ts +0 -8
  651. package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.d.ts +0 -24
  652. package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.d.ts +0 -9
  653. package/lib/components/kv-filter-card/kv-filter-card.component.d.ts +0 -13
  654. package/lib/components/kv-filter-card/kv-filter-card.module.d.ts +0 -10
  655. package/lib/components/kv-filter-cards/kv-filter-cards.component.d.ts +0 -32
  656. package/lib/components/kv-filter-cards/kv-filter-cards.module.d.ts +0 -9
  657. package/lib/components/kv-filter-cards/kv-filter-cards.pipe.d.ts +0 -7
  658. package/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.d.ts +0 -10
  659. package/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.d.ts +0 -9
  660. package/lib/components/kv-g-icon/kv-g-icon.component.d.ts +0 -5
  661. package/lib/components/kv-g-icon/kv-g-icon.module.d.ts +0 -9
  662. package/lib/components/kv-home-card/kv-home-card.component.d.ts +0 -24
  663. package/lib/components/kv-home-card/kv-home-card.module.d.ts +0 -11
  664. package/lib/components/kv-image-upload/kv-image-upload.component.d.ts +0 -34
  665. package/lib/components/kv-image-upload/kv-image-upload.module.d.ts +0 -8
  666. package/lib/components/kv-inputs/kv-check/kv-check.component.d.ts +0 -12
  667. package/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.d.ts +0 -33
  668. package/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.d.ts +0 -8
  669. package/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.d.ts +0 -14
  670. package/lib/components/kv-inputs/kv-editor/config/kv-editor.config.d.ts +0 -55
  671. package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +0 -69
  672. package/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.d.ts +0 -41
  673. package/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.d.ts +0 -41
  674. package/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.d.ts +0 -28
  675. package/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.d.ts +0 -45
  676. package/lib/components/kv-inputs/kv-editor/types/kv-editor.types.d.ts +0 -32
  677. package/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.d.ts +0 -34
  678. package/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.d.ts +0 -12
  679. package/lib/components/kv-inputs/kv-input-number/kv-input-number.component.d.ts +0 -19
  680. package/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.d.ts +0 -21
  681. package/lib/components/kv-inputs/kv-input-password/kv-input-password.component.d.ts +0 -13
  682. package/lib/components/kv-inputs/kv-input-text/kv-input-text.component.d.ts +0 -11
  683. package/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.d.ts +0 -13
  684. package/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.d.ts +0 -18
  685. package/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.d.ts +0 -16
  686. package/lib/components/kv-inputs/kv-input-time/kv-input-time.component.d.ts +0 -10
  687. package/lib/components/kv-inputs/kv-inputs.module.d.ts +0 -38
  688. package/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.d.ts +0 -20
  689. package/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.d.ts +0 -20
  690. package/lib/components/kv-inputs/kv-select-button/kv-select-button.component.d.ts +0 -19
  691. package/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.d.ts +0 -26
  692. package/lib/components/kv-inputs/kv-switch/kv-switch.component.d.ts +0 -16
  693. package/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.d.ts +0 -25
  694. package/lib/components/kv-label/kv-label.component.d.ts +0 -7
  695. package/lib/components/kv-label/kv-label.module.d.ts +0 -8
  696. package/lib/components/kv-layout/dropdown-master/dropdown-master.component.d.ts +0 -12
  697. package/lib/components/kv-layout/kv-layout.module.d.ts +0 -18
  698. package/lib/components/kv-layout/layout/kv-layout.component.d.ts +0 -156
  699. package/lib/components/kv-layout/top-icons/top-icons.component.d.ts +0 -16
  700. package/lib/components/kv-loader/kv-loader.component.d.ts +0 -7
  701. package/lib/components/kv-loader/kv-loader.module.d.ts +0 -9
  702. package/lib/components/kv-loader/kv-loader.service.d.ts +0 -10
  703. package/lib/components/kv-login/kv-login.component.d.ts +0 -32
  704. package/lib/components/kv-login/kv-login.module.d.ts +0 -13
  705. package/lib/components/kv-modal/kv-modal.component.d.ts +0 -27
  706. package/lib/components/kv-modal/kv-modal.module.d.ts +0 -10
  707. package/lib/components/kv-orgchart/kv-orgchart.component.d.ts +0 -45
  708. package/lib/components/kv-orgchart/kv-orgchart.module.d.ts +0 -17
  709. package/lib/components/kv-page-form/kv-page-form.component.d.ts +0 -98
  710. package/lib/components/kv-page-form/kv-page-form.module.d.ts +0 -12
  711. package/lib/components/kv-page-stepper/kv-page-stepper.component.d.ts +0 -84
  712. package/lib/components/kv-page-stepper/kv-page-stepper.module.d.ts +0 -14
  713. package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +0 -70
  714. package/lib/components/kv-pick-list/kv-pick-list.module.d.ts +0 -11
  715. package/lib/components/kv-progress-bar/kv-progress-bar.component.d.ts +0 -67
  716. package/lib/components/kv-progress-bar/kv-progress-bar.module.d.ts +0 -9
  717. package/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.d.ts +0 -71
  718. package/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.d.ts +0 -9
  719. package/lib/components/kv-report/kv-report.component.d.ts +0 -18
  720. package/lib/components/kv-report/kv-report.module.d.ts +0 -8
  721. package/lib/components/kv-stepper/kv-stepper.component.d.ts +0 -32
  722. package/lib/components/kv-stepper/kv-stepper.module.d.ts +0 -13
  723. package/lib/components/kv-steps/kv-steps.component.d.ts +0 -21
  724. package/lib/components/kv-table/kv-table.component.d.ts +0 -154
  725. package/lib/components/kv-table/kv-table.module.d.ts +0 -12
  726. package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +0 -66
  727. package/lib/components/kv-table-edit/kv-table-edit.module.d.ts +0 -15
  728. package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +0 -119
  729. package/lib/components/kv-table-expandable/kv-table-expandable.module.d.ts +0 -13
  730. package/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.d.ts +0 -8
  731. package/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.d.ts +0 -7
  732. package/lib/components/kv-table-viewer/kv-table-viewer.component.d.ts +0 -72
  733. package/lib/components/kv-tag/kv-tag.component.d.ts +0 -7
  734. package/lib/components/kv-tag/kv-tag.module.d.ts +0 -8
  735. package/lib/components/kv-tags/kv-tags.component.d.ts +0 -31
  736. package/lib/components/kv-tags/kv-tags.module.d.ts +0 -8
  737. package/lib/components/kv-timeline/kv-timeline.component.d.ts +0 -18
  738. package/lib/components/kv-tree-table/kv-tree-table.component.d.ts +0 -86
  739. package/lib/components/kv-tree-table/kv-tree-table.module.d.ts +0 -11
  740. package/lib/components/kv-tree-view/kv-tree-view.component.d.ts +0 -21
  741. package/lib/components/kv-tree-view/kv-tree-view.module.d.ts +0 -9
  742. package/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.d.ts +0 -14
  743. package/lib/components/kv-workspace/kv-workspace.module.d.ts +0 -19
  744. package/lib/components/kv-workspace/logo/kv-workspace-logo.component.d.ts +0 -11
  745. package/lib/components/kv-workspace/master/kv-workspace-master.component.d.ts +0 -25
  746. package/lib/components/kv-workspace/workspace/kv-workspace.component.d.ts +0 -37
@@ -1,225 +0,0 @@
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
@@ -1,59 +0,0 @@
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=
@@ -1,190 +0,0 @@
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