keevo-components 2.0.105 → 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,386 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { PickList } from 'primeng/picklist';
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 "primeng/api";
7
- import * as i4 from "primeng/picklist";
8
- import * as i5 from "../kv-inputs/kv-check/kv-check.component";
9
- export class KvPickListComponent {
10
- constructor(fb) {
11
- this.fb = fb;
12
- this.itemIdField = 'id';
13
- this.breakpoint = "1400px";
14
- this.dragdrop = true;
15
- this.responsive = true;
16
- this.sourceHeader = 'Título da lista de origem';
17
- this.stripedRows = false;
18
- this.targetHeader = 'Título de lista de destino';
19
- this.showSourceControls = true;
20
- this.showTargetControls = true;
21
- this.showCheckBox = false;
22
- this.onMoveToSource = new EventEmitter();
23
- this.onMoveToTarget = new EventEmitter();
24
- this.onMoveAllToSource = new EventEmitter();
25
- this.onMoveAllToTarget = new EventEmitter();
26
- this.onSourceSelect = new EventEmitter();
27
- this.onTargetSelect = new EventEmitter();
28
- this.ngModel = false;
29
- this.selectedItems = {};
30
- this.ultimoItemSelecionado = [];
31
- this.lastDraggedItems = [];
32
- this.draggedIds = [];
33
- this.mouseX = 0;
34
- this.mouseY = 0;
35
- this.previewClones = [];
36
- document.addEventListener('keydown', (event) => this.onKeyDown(event));
37
- }
38
- ngOnInit() {
39
- document.addEventListener('mousemove', (event) => {
40
- this.mouseX = event.clientX;
41
- this.mouseY = event.clientY;
42
- });
43
- }
44
- ngAfterViewInit() {
45
- this.createDropOverlay();
46
- }
47
- createDropOverlay() {
48
- this.dropOverlay = document.createElement('div');
49
- this.dropOverlay.innerText = 'Soltar';
50
- this.dropOverlay.style.position = 'fixed';
51
- this.dropOverlay.style.background = '#BFDBFE'; // Azul claro visível
52
- this.dropOverlay.style.color = '#1E3A8A'; // Azul escuro pro texto
53
- this.dropOverlay.style.border = '9px #1E40AF'; // Borda azul escuro
54
- this.dropOverlay.style.boxShadow = '0 2px 6px rgba(30, 58, 138, 0.2)'; // Shadow reduzida
55
- this.dropOverlay.style.display = 'none';
56
- this.dropOverlay.style.justifyContent = 'center';
57
- this.dropOverlay.style.alignItems = 'center';
58
- this.dropOverlay.style.zIndex = '9999';
59
- this.dropOverlay.style.fontSize = '1.5rem';
60
- this.dropOverlay.style.fontWeight = 'bold';
61
- this.dropOverlay.style.pointerEvents = 'all';
62
- this.dropOverlay.style.transition = 'all 0.2s ease';
63
- // Encaixar no mesmo lugar do target
64
- const targetListEl = document.querySelector('.p-picklist-target');
65
- if (targetListEl) {
66
- const rect = targetListEl.getBoundingClientRect();
67
- this.dropOverlay.style.top = rect.top + 'px';
68
- this.dropOverlay.style.left = rect.left + 'px';
69
- this.dropOverlay.style.width = rect.width + 'px';
70
- this.dropOverlay.style.height = rect.height + 'px';
71
- }
72
- this.dropOverlay.addEventListener('click', () => {
73
- const selectedInSource = this.source.some(item => this.selectedItems[item[this.itemIdField]]);
74
- const selectedInTarget = this.target.some(item => this.selectedItems[item[this.itemIdField]]);
75
- if (selectedInSource) {
76
- this.OnMoveToTarget({});
77
- }
78
- else if (selectedInTarget) {
79
- this.OnMoveToSource({});
80
- }
81
- this.hideDropOverlay();
82
- });
83
- this.dropOverlay.addEventListener('mouseenter', () => {
84
- this.dropOverlay.style.background = '#93C5FD'; // Azul um pouco mais escuro no hover
85
- });
86
- this.dropOverlay.addEventListener('mouseleave', () => {
87
- this.dropOverlay.style.background = '#BFDBFE';
88
- });
89
- document.body.appendChild(this.dropOverlay);
90
- }
91
- handleMouseMove(event) {
92
- this.mouseX = event.clientX;
93
- this.mouseY = event.clientY;
94
- }
95
- clearPreviewClones() {
96
- this.previewClones.forEach(clone => clone.remove());
97
- this.previewClones = [];
98
- }
99
- OnMoveToSource(event) {
100
- this.clearPreviewClones();
101
- this.picklist.moveLeft();
102
- this.onMoveToSource.emit(event);
103
- this.selectedItems = {};
104
- this.hideDropOverlay();
105
- this.clearPreviewClones();
106
- }
107
- OnMoveToTarget(event) {
108
- this.clearPreviewClones();
109
- this.picklist.moveRight();
110
- this.onMoveToTarget.emit(event);
111
- this.selectedItems = {};
112
- this.hideDropOverlay();
113
- this.clearPreviewClones();
114
- }
115
- getSelectedItems() {
116
- // Filtra os itens da lista de origem (source) com base nos itens selecionados
117
- return this.source.filter(item => {
118
- const itemId = item[this.itemIdField]; // Obtém o ID do item
119
- return this.selectedItems[itemId] === true; // Verifica se está marcado como true
120
- });
121
- }
122
- OnMoveAllToSource(event) {
123
- this.onMoveToSource.emit(event);
124
- this.selectedItems = {};
125
- this.hideDropOverlay();
126
- this.clearPreviewClones();
127
- }
128
- OnMoveAllToTarget(event) {
129
- this.onMoveToTarget.emit(event);
130
- this.selectedItems = {};
131
- this.hideDropOverlay();
132
- this.clearPreviewClones();
133
- }
134
- OnSourceSelect(event) {
135
- const selectedItems = this.getSelectedItems();
136
- // Primeiro remove todos os previews antigos
137
- this.clearPreviewClones();
138
- if (selectedItems.length === 0) {
139
- this.hideDropOverlay();
140
- this.onSourceSelect.emit(event);
141
- return;
142
- }
143
- selectedItems.forEach((item, index) => {
144
- const itemId = item[this.itemIdField];
145
- // Se já existe um clone para esse item, não cria novamente
146
- if (!document.getElementById('preview_' + itemId)) {
147
- const original = document.getElementById('id_pick_list' + itemId);
148
- if (original) {
149
- const rect = original.getBoundingClientRect();
150
- const clone = original.cloneNode(true);
151
- clone.classList.add('drag-preview-clone');
152
- clone.classList.add(`level-${index + 1}`);
153
- clone.id = 'preview_' + itemId;
154
- document.body.appendChild(clone);
155
- this.previewClones.push(clone);
156
- this.animateCloneToCursor(clone, rect);
157
- }
158
- }
159
- });
160
- this.showDropOverlay();
161
- this.onSourceSelect.emit(event);
162
- }
163
- getItemId(item) {
164
- return item?.[this.itemIdField];
165
- }
166
- showDropOverlay() {
167
- const selectedInSource = this.source.some(item => this.selectedItems[item[this.itemIdField]]);
168
- const selectedInTarget = this.target.some(item => this.selectedItems[item[this.itemIdField]]);
169
- let targetListEl = null;
170
- if (selectedInSource) {
171
- targetListEl = document.querySelector('.p-picklist-target');
172
- this.dropOverlay.innerText = 'Soltar aqui para mover';
173
- }
174
- else if (selectedInTarget) {
175
- targetListEl = document.querySelector('.p-picklist-source');
176
- this.dropOverlay.innerText = 'Soltar aqui para retornar';
177
- }
178
- if (targetListEl) {
179
- const wrapper = targetListEl.closest('.p-picklist-list-wrapper');
180
- if (!wrapper)
181
- return;
182
- const header = wrapper.querySelector('.p-picklist-header');
183
- const filter = wrapper.querySelector('.p-picklist-filter-container');
184
- const wrapperRect = wrapper.getBoundingClientRect();
185
- const scrollTop = window.scrollY || document.documentElement.scrollTop;
186
- const scrollLeft = window.scrollX || document.documentElement.scrollLeft;
187
- let offsetTop = wrapperRect.top + scrollTop;
188
- let totalOffset = 0;
189
- if (header)
190
- totalOffset += header.offsetHeight;
191
- if (filter)
192
- totalOffset += filter.offsetHeight;
193
- this.dropOverlay.style.top = (offsetTop + totalOffset) + 'px';
194
- this.dropOverlay.style.left = (wrapperRect.left + scrollLeft) + 'px';
195
- this.dropOverlay.style.width = `${wrapper.offsetWidth}px`;
196
- this.dropOverlay.style.height = `${wrapper.offsetHeight - totalOffset}px`;
197
- this.dropOverlay.style.display = 'flex';
198
- }
199
- }
200
- hideDropOverlay() {
201
- if (this.dropOverlay) {
202
- this.dropOverlay.style.display = 'none';
203
- }
204
- }
205
- animateCloneToCursor(clone, originRect) {
206
- // Começa exatamente da posição do original
207
- let posX = originRect.left;
208
- let posY = originRect.top;
209
- clone.style.position = 'fixed';
210
- clone.style.left = `${posX}px`;
211
- clone.style.top = `${posY}px`;
212
- clone.style.width = `${originRect.width}px`;
213
- clone.style.height = `${originRect.height}px`;
214
- clone.style.pointerEvents = 'none';
215
- const animate = () => {
216
- const dx = this.mouseX - posX;
217
- const dy = this.mouseY - posY;
218
- posX += dx * 0.15;
219
- posY += dy * 0.15;
220
- clone.style.left = `${posX}px`;
221
- clone.style.top = `${posY}px`;
222
- if (document.body.contains(clone)) {
223
- requestAnimationFrame(animate);
224
- }
225
- };
226
- animate();
227
- }
228
- OnTargetSelect(event) {
229
- const selectedItems = this.target.filter(item => {
230
- const itemId = item[this.itemIdField];
231
- return this.selectedItems[itemId] === true;
232
- });
233
- // Limpa clones antigos
234
- this.clearPreviewClones();
235
- if (selectedItems.length === 0) {
236
- this.hideDropOverlay();
237
- this.onTargetSelect.emit(event);
238
- return;
239
- }
240
- selectedItems.forEach((item, index) => {
241
- const itemId = item[this.itemIdField];
242
- if (!document.getElementById('preview_' + itemId)) {
243
- const original = document.getElementById('id_pick_list' + itemId);
244
- if (original) {
245
- const rect = original.getBoundingClientRect();
246
- const clone = original.cloneNode(true);
247
- clone.classList.add('drag-preview-clone');
248
- clone.classList.add(`level-${index + 1}`);
249
- clone.id = 'preview_' + itemId;
250
- document.body.appendChild(clone);
251
- this.previewClones.push(clone);
252
- this.animateCloneToCursor(clone, rect);
253
- }
254
- }
255
- });
256
- this.showDropOverlay();
257
- this.onTargetSelect.emit(event);
258
- }
259
- onSelectAll() {
260
- this.selectAllItems(true);
261
- }
262
- selectAllItems(isSelected) {
263
- this.source.forEach(item => {
264
- const itemId = item[this.itemIdField];
265
- this.selectedItems[itemId] = isSelected;
266
- });
267
- this.target.forEach(item => {
268
- const itemId = item[this.itemIdField];
269
- this.selectedItems[itemId] = isSelected;
270
- });
271
- }
272
- onKeyDown(event) {
273
- if (event.ctrlKey && event.key === 'a') {
274
- event.preventDefault();
275
- this.onSelectAll();
276
- }
277
- else if (event.key === 'Enter') {
278
- const sourceSelected = this.picklist.selectedItemsSource;
279
- const selectedItemsIds = Object.entries(this.selectedItems)
280
- .filter(([_, value]) => value === true)
281
- .map(([key, _]) => Number(key));
282
- const notInSelected = sourceSelected.find((item) => !selectedItemsIds.includes(item[this.itemIdField]));
283
- const indexInSource = this.source.findIndex((item) => item[this.itemIdField] === notInSelected?.[this.itemIdField]);
284
- const ultimoItemArray = {
285
- item: notInSelected,
286
- index: indexInSource,
287
- };
288
- const selectedIndexInSource = this.source.findIndex((sourceItem) => selectedItemsIds.includes(sourceItem[this.itemIdField]));
289
- if (notInSelected === undefined) {
290
- const beforeIds = this.ultimoItemSelecionado.map(i => i.item[this.itemIdField]);
291
- const afterIds = this.picklist.selectedItemsSource.map(i => i[this.itemIdField]);
292
- const removedId = beforeIds.find(id => !afterIds.includes(id));
293
- if (removedId != null) {
294
- const removedItem = this.source.find(item => item[this.itemIdField] === removedId);
295
- if (removedItem) {
296
- this.selectCheckBox(removedItem);
297
- this.ultimoItemSelecionado = this.ultimoItemSelecionado.filter((i) => i.item[this.itemIdField] !== removedId);
298
- }
299
- }
300
- else {
301
- const enterIds = this.ultimoItemSelecionado.map(i => i.item[this.itemIdField]);
302
- const selectedItemsIds = Object.entries(this.selectedItems)
303
- .filter(([_, value]) => value === true)
304
- .map(([key, _]) => Number(key));
305
- const clickedIds = selectedItemsIds.filter(id => !enterIds.includes(id));
306
- if (clickedIds.length > 0) {
307
- const clickedItem = this.source.find(item => item[this.itemIdField] === clickedIds[0]);
308
- if (clickedItem) {
309
- this.selectCheckBox(clickedItem);
310
- this.ultimoItemSelecionado = this.ultimoItemSelecionado.filter((i) => i.item[this.itemIdField] !== clickedIds[0]);
311
- }
312
- }
313
- }
314
- return;
315
- }
316
- this.selectCheckBox(notInSelected);
317
- this.ultimoItemSelecionado = this.ultimoItemSelecionado.filter((item) => item.index !== indexInSource);
318
- this.ultimoItemSelecionado.push(ultimoItemArray);
319
- }
320
- }
321
- selectCheckBox(item) {
322
- const itemId = item[this.itemIdField];
323
- this.selectedPreview = item;
324
- this.selectedItems[itemId] = this.selectedItems[itemId] !== undefined
325
- ? !this.selectedItems[itemId]
326
- : true;
327
- this.ngModel = this.selectedItems[itemId];
328
- }
329
- isItemSelected(item) {
330
- return this.selectedPreview === item;
331
- }
332
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPickListComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
333
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvPickListComponent, selector: "kv-picklist", inputs: { itemIdField: "itemIdField", breakpoint: "breakpoint", dragdrop: "dragdrop", filterBy: "filterBy", itemTemplate: "itemTemplate", responsive: "responsive", source: "source", sourceHeader: "sourceHeader", sourceStyle: "sourceStyle", stripedRows: "stripedRows", target: "target", targetHeader: "targetHeader", targetStyle: "targetStyle", showSourceControls: "showSourceControls", showTargetControls: "showTargetControls", showCheckBox: "showCheckBox" }, outputs: { onMoveToSource: "onMoveToSource", onMoveToTarget: "onMoveToTarget", onMoveAllToSource: "onMoveAllToSource", onMoveAllToTarget: "onMoveAllToTarget", onSourceSelect: "onSourceSelect", onTargetSelect: "onTargetSelect" }, viewQueries: [{ propertyName: "picklist", first: true, predicate: PickList, descendants: true }], ngImport: i0, template: "<p-pickList\r\n [source]=\"source\"\r\n [sourceHeader]=\"sourceHeader\"\r\n [sourceStyle]=\"sourceStyle\"\r\n [target]=\"target\" \r\n [targetHeader]=\"targetHeader\"\r\n [targetStyle]=\"targetStyle\"\r\n [dragdrop]=\"dragdrop\"\r\n [responsive]=\"responsive\"\r\n [filterBy]=\"filterBy\"\r\n [breakpoint]=\"breakpoint\"\r\n [stripedRows]=\"stripedRows\"\r\n [showSourceControls]=\"showSourceControls\"\r\n [showTargetControls]=\"showTargetControls\"\r\n (onMoveToSource)=\"OnMoveToSource($event)\"\r\n (onMoveToTarget)=\"OnMoveToTarget($event)\"\r\n (onMoveAllToSource)=\"OnMoveAllToSource($event)\"\r\n (onMoveAllToTarget)=\"OnMoveAllToTarget($event)\"\r\n (onSourceSelect)=\"OnSourceSelect($event)\"\r\n (onTargetSelect)=\"OnTargetSelect($event)\"\r\n>\r\n <ng-template let-item pTemplate=\"item\" *ngIf=\"itemTemplate\" >\r\n <div (click)=\"selectCheckBox(item)\" class=\"flex mr-5\" [id]=\"'id_pick_list' + getItemId(item)\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\">\r\n @if(showCheckBox) {\r\n <kv-check (onCheckChange)=\"selectCheckBox(item)\" [(ngModel)]=\"selectedItems[item[itemIdField]]\" class=\"mr-1\"></kv-check>\r\n }\r\n </ng-container>\r\n </div> \r\n </ng-template>\r\n</p-pickList>\r\n", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-picklist .p-picklist-filter-container{position:sticky!important;top:0!important;z-index:99!important}:host ::ng-deep .p-picklist .p-picklist-filter-container{border-left:0px;border-right:0px}.item-with-checkbox{display:flex;align-items:center}.item-with-checkbox kv-check{margin-right:8px}@keyframes shake-base{0%{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}to{transform:translate(-1px,-1px)}}.drag-preview-clone{animation-name:shake-base;animation-duration:.25s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;position:fixed;z-index:9999;opacity:.85;pointer-events:none;transition:transform .1s ease;box-shadow:0 10px 20px #0000001a;border-radius:6px;padding:8px;padding-bottom:2.5rem;background-color:#fff}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.PickList, selector: "p-pickList", inputs: ["source", "target", "sourceHeader", "tabindex", "rightButtonAriaLabel", "leftButtonAriaLabel", "allRightButtonAriaLabel", "allLeftButtonAriaLabel", "upButtonAriaLabel", "downButtonAriaLabel", "topButtonAriaLabel", "bottomButtonAriaLabel", "targetHeader", "responsive", "filterBy", "filterLocale", "trackBy", "sourceTrackBy", "targetTrackBy", "showSourceFilter", "showTargetFilter", "metaKeySelection", "dragdrop", "style", "styleClass", "sourceStyle", "targetStyle", "showSourceControls", "showTargetControls", "sourceFilterPlaceholder", "targetFilterPlaceholder", "disabled", "ariaSourceFilterLabel", "ariaTargetFilterLabel", "filterMatchMode", "stripedRows", "keepSelection", "breakpoint"], outputs: ["onMoveToSource", "onMoveAllToSource", "onMoveAllToTarget", "onMoveToTarget", "onSourceReorder", "onTargetReorder", "onSourceSelect", "onTargetSelect", "onSourceFilter", "onTargetFilter", "onFocus", "onBlur"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.KvCheckComponent, selector: "kv-check", outputs: ["onCheckChange"] }] }); }
334
- }
335
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPickListComponent, decorators: [{
336
- type: Component,
337
- args: [{ selector: 'kv-picklist', template: "<p-pickList\r\n [source]=\"source\"\r\n [sourceHeader]=\"sourceHeader\"\r\n [sourceStyle]=\"sourceStyle\"\r\n [target]=\"target\" \r\n [targetHeader]=\"targetHeader\"\r\n [targetStyle]=\"targetStyle\"\r\n [dragdrop]=\"dragdrop\"\r\n [responsive]=\"responsive\"\r\n [filterBy]=\"filterBy\"\r\n [breakpoint]=\"breakpoint\"\r\n [stripedRows]=\"stripedRows\"\r\n [showSourceControls]=\"showSourceControls\"\r\n [showTargetControls]=\"showTargetControls\"\r\n (onMoveToSource)=\"OnMoveToSource($event)\"\r\n (onMoveToTarget)=\"OnMoveToTarget($event)\"\r\n (onMoveAllToSource)=\"OnMoveAllToSource($event)\"\r\n (onMoveAllToTarget)=\"OnMoveAllToTarget($event)\"\r\n (onSourceSelect)=\"OnSourceSelect($event)\"\r\n (onTargetSelect)=\"OnTargetSelect($event)\"\r\n>\r\n <ng-template let-item pTemplate=\"item\" *ngIf=\"itemTemplate\" >\r\n <div (click)=\"selectCheckBox(item)\" class=\"flex mr-5\" [id]=\"'id_pick_list' + getItemId(item)\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\">\r\n @if(showCheckBox) {\r\n <kv-check (onCheckChange)=\"selectCheckBox(item)\" [(ngModel)]=\"selectedItems[item[itemIdField]]\" class=\"mr-1\"></kv-check>\r\n }\r\n </ng-container>\r\n </div> \r\n </ng-template>\r\n</p-pickList>\r\n", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-picklist .p-picklist-filter-container{position:sticky!important;top:0!important;z-index:99!important}:host ::ng-deep .p-picklist .p-picklist-filter-container{border-left:0px;border-right:0px}.item-with-checkbox{display:flex;align-items:center}.item-with-checkbox kv-check{margin-right:8px}@keyframes shake-base{0%{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}to{transform:translate(-1px,-1px)}}.drag-preview-clone{animation-name:shake-base;animation-duration:.25s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;position:fixed;z-index:9999;opacity:.85;pointer-events:none;transition:transform .1s ease;box-shadow:0 10px 20px #0000001a;border-radius:6px;padding:8px;padding-bottom:2.5rem;background-color:#fff}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165;--kv-danger-color: 220, 53, 69}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-icon,svg{height:.6rem}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}\n"] }]
338
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { picklist: [{
339
- type: ViewChild,
340
- args: [PickList]
341
- }], itemIdField: [{
342
- type: Input
343
- }], breakpoint: [{
344
- type: Input
345
- }], dragdrop: [{
346
- type: Input
347
- }], filterBy: [{
348
- type: Input
349
- }], itemTemplate: [{
350
- type: Input
351
- }], responsive: [{
352
- type: Input
353
- }], source: [{
354
- type: Input
355
- }], sourceHeader: [{
356
- type: Input
357
- }], sourceStyle: [{
358
- type: Input
359
- }], stripedRows: [{
360
- type: Input
361
- }], target: [{
362
- type: Input
363
- }], targetHeader: [{
364
- type: Input
365
- }], targetStyle: [{
366
- type: Input
367
- }], showSourceControls: [{
368
- type: Input
369
- }], showTargetControls: [{
370
- type: Input
371
- }], showCheckBox: [{
372
- type: Input
373
- }], onMoveToSource: [{
374
- type: Output
375
- }], onMoveToTarget: [{
376
- type: Output
377
- }], onMoveAllToSource: [{
378
- type: Output
379
- }], onMoveAllToTarget: [{
380
- type: Output
381
- }], onSourceSelect: [{
382
- type: Output
383
- }], onTargetSelect: [{
384
- type: Output
385
- }] } });
386
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGljay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBpY2stbGlzdC9rdi1waWNrLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcGljay1saXN0L2t2LXBpY2stbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFVNUMsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUkxQixnQkFBVyxHQUFXLElBQUksQ0FBQztRQUMzQixlQUFVLEdBQVcsUUFBUSxDQUFDO1FBQzlCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFHekIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUUzQixpQkFBWSxHQUFXLDJCQUEyQixDQUFDO1FBRW5ELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLGlCQUFZLEdBQVcsNEJBQTRCLENBQUM7UUFFcEQsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBQ25DLHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUNuQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU3QixtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZELG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUQsc0JB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Q0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFBpY2tMaXN0IH0gZnJvbSAncHJpbWVuZy9waWNrbGlzdCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LXBpY2tsaXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtcGljay1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2t2LXBpY2stbGlzdC5jb21wb25lbnQuc2NzcycsXHJcbiAgICAnLi4va2Vldm8tY29tcG9uZW50cy1zdHlsZXMuc2NzcydcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdlBpY2tMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZChQaWNrTGlzdCkgcGlja2xpc3QhOiBQaWNrTGlzdDtcclxuXHJcbiAgZm9ybSE6IEZvcm1Hcm91cDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZlbnQpID0+IHRoaXMub25LZXlEb3duKGV2ZW50KSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBpdGVtSWRGaWVsZDogc3RyaW5nID0gJ2lkJztcclxuICBASW5wdXQoKSBicmVha3BvaW50OiBzdHJpbmcgPSBcIjE0MDBweFwiO1xyXG4gIEBJbnB1dCgpIGRyYWdkcm9wOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBmaWx0ZXJCeSE6IHN0cmluZztcclxuICBASW5wdXQoKSBpdGVtVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIHJlc3BvbnNpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNvdXJjZSE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIHNvdXJjZUhlYWRlcjogc3RyaW5nID0gJ1TDrXR1bG8gZGEgbGlzdGEgZGUgb3JpZ2VtJztcclxuICBASW5wdXQoKSBzb3VyY2VTdHlsZSE6IGFueTtcclxuICBASW5wdXQoKSBzdHJpcGVkUm93czogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRhcmdldCE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIHRhcmdldEhlYWRlcjogc3RyaW5nID0gJ1TDrXR1bG8gZGUgbGlzdGEgZGUgZGVzdGlubyc7XHJcbiAgQElucHV0KCkgdGFyZ2V0U3R5bGUhOiBhbnk7XHJcbiAgQElucHV0KCkgc2hvd1NvdXJjZUNvbnRyb2xzOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93VGFyZ2V0Q29udHJvbHM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dDaGVja0JveDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgb25Nb3ZlVG9Tb3VyY2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk1vdmVUb1RhcmdldDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uTW92ZUFsbFRvU291cmNlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Nb3ZlQWxsVG9UYXJnZXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNvdXJjZVNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uVGFyZ2V0U2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgc2VsZWN0ZWRQcmV2aWV3ITogYW55O1xyXG4gIG5nTW9kZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWxlY3RlZEl0ZW1zOiB7IFtrZXk6IG51bWJlcl06IGJvb2xlYW4gfSA9IHt9O1xyXG4gIHVsdGltb0l0ZW1TZWxlY2lvbmFkbzogeyBpdGVtOiBhbnksIGluZGV4OiBudW1iZXIgfVtdID0gW107XHJcbiAgbGFzdERyYWdnZWRJdGVtczogYW55W10gPSBbXTtcclxuICBkcmFnZ2VkSWRzOiBudW1iZXJbXSA9IFtdO1xyXG5cclxuICBtb3VzZVggPSAwO1xyXG4gIG1vdXNlWSA9IDA7XHJcbiAgcHJldmlld0Nsb25lczogSFRNTEVsZW1lbnRbXSA9IFtdO1xyXG5cclxubmdPbkluaXQoKSB7XHJcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICB0aGlzLm1vdXNlWCA9IGV2ZW50LmNsaWVudFg7XHJcbiAgICB0aGlzLm1vdXNlWSA9IGV2ZW50LmNsaWVudFk7XHJcbiAgfSk7XHJcbn1cclxuXHJcbm5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICB0aGlzLmNyZWF0ZURyb3BPdmVybGF5KCk7XHJcbn1cclxuXHJcbiAgZHJvcE92ZXJsYXkhOiBIVE1MRGl2RWxlbWVudDtcclxuXHJcbiAgY3JlYXRlRHJvcE92ZXJsYXkoKSB7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LmlubmVyVGV4dCA9ICdTb2x0YXInO1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmJhY2tncm91bmQgPSAnI0JGREJGRSc7IC8vIEF6dWwgY2xhcm8gdmlzw612ZWxcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuY29sb3IgPSAnIzFFM0E4QSc7IC8vIEF6dWwgZXNjdXJvIHBybyB0ZXh0b1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5ib3JkZXIgPSAnOXB4ICMxRTQwQUYnOyAvLyBCb3JkYSBhenVsIGVzY3Vyb1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5ib3hTaGFkb3cgPSAnMCAycHggNnB4IHJnYmEoMzAsIDU4LCAxMzgsIDAuMiknOyAvLyBTaGFkb3cgcmVkdXppZGFcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuanVzdGlmeUNvbnRlbnQgPSAnY2VudGVyJztcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuYWxpZ25JdGVtcyA9ICdjZW50ZXInO1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS56SW5kZXggPSAnOTk5OSc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmZvbnRTaXplID0gJzEuNXJlbSc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmZvbnRXZWlnaHQgPSAnYm9sZCc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnYWxsJztcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUudHJhbnNpdGlvbiA9ICdhbGwgMC4ycyBlYXNlJztcclxuXHJcblxyXG4gICAgLy8gRW5jYWl4YXIgbm8gbWVzbW8gbHVnYXIgZG8gdGFyZ2V0XHJcbiAgICBjb25zdCB0YXJnZXRMaXN0RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1waWNrbGlzdC10YXJnZXQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICh0YXJnZXRMaXN0RWwpIHtcclxuICAgICAgY29uc3QgcmVjdCA9IHRhcmdldExpc3RFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS50b3AgPSByZWN0LnRvcCArICdweCc7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUubGVmdCA9IHJlY3QubGVmdCArICdweCc7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUud2lkdGggPSByZWN0LndpZHRoICsgJ3B4JztcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5oZWlnaHQgPSByZWN0LmhlaWdodCArICdweCc7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRJblNvdXJjZSA9IHRoaXMuc291cmNlLnNvbWUoaXRlbSA9PiB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbVt0aGlzLml0ZW1JZEZpZWxkXV0pO1xyXG4gICAgICBjb25zdCBzZWxlY3RlZEluVGFyZ2V0ID0gdGhpcy50YXJnZXQuc29tZShpdGVtID0+IHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtW3RoaXMuaXRlbUlkRmllbGRdXSk7XHJcbiAgICBcclxuICAgICAgaWYgKHNlbGVjdGVkSW5Tb3VyY2UpIHtcclxuICAgICAgICB0aGlzLk9uTW92ZVRvVGFyZ2V0KHt9KTtcclxuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZEluVGFyZ2V0KSB7XHJcbiAgICAgICAgdGhpcy5Pbk1vdmVUb1NvdXJjZSh7fSk7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpO1xyXG4gICAgfSk7XHJcbiAgICBcclxuXHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuYmFja2dyb3VuZCA9ICcjOTNDNUZEJzsgLy8gQXp1bCB1bSBwb3VjbyBtYWlzIGVzY3VybyBubyBob3ZlclxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuYmFja2dyb3VuZCA9ICcjQkZEQkZFJztcclxuICAgIH0pO1xyXG4gICAgXHJcblxyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmRyb3BPdmVybGF5KTtcclxuICB9XHJcblxyXG5cclxuICBoYW5kbGVNb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMubW91c2VYID0gZXZlbnQuY2xpZW50WDtcclxuICAgIHRoaXMubW91c2VZID0gZXZlbnQuY2xpZW50WTtcclxuICB9XHJcblxyXG4gIGNsZWFyUHJldmlld0Nsb25lcygpIHtcclxuICAgIHRoaXMucHJldmlld0Nsb25lcy5mb3JFYWNoKGNsb25lID0+IGNsb25lLnJlbW92ZSgpKTtcclxuICAgIHRoaXMucHJldmlld0Nsb25lcyA9IFtdO1xyXG4gIH1cclxuICBcclxuICBPbk1vdmVUb1NvdXJjZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmNsZWFyUHJldmlld0Nsb25lcygpO1xyXG4gICAgdGhpcy5waWNrbGlzdC5tb3ZlTGVmdCgpO1xyXG4gICAgdGhpcy5vbk1vdmVUb1NvdXJjZS5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHt9O1xyXG4gICAgdGhpcy5oaWRlRHJvcE92ZXJsYXkoKVxyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICB9XHJcbiAgXHJcbiAgT25Nb3ZlVG9UYXJnZXQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICAgIHRoaXMucGlja2xpc3QubW92ZVJpZ2h0KCk7XHJcbiAgICB0aGlzLm9uTW92ZVRvVGFyZ2V0LmVtaXQoZXZlbnQpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0ge307XHJcbiAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpXHJcbiAgICB0aGlzLmNsZWFyUHJldmlld0Nsb25lcygpO1xyXG4gIH1cclxuICBcclxuXHJcbiAgZ2V0U2VsZWN0ZWRJdGVtcygpOiBhbnlbXSB7XHJcbiAgICAvLyBGaWx0cmEgb3MgaXRlbnMgZGEgbGlzdGEgZGUgb3JpZ2VtIChzb3VyY2UpIGNvbSBiYXNlIG5vcyBpdGVucyBzZWxlY2lvbmFkb3NcclxuICAgIHJldHVybiB0aGlzLnNvdXJjZS5maWx0ZXIoaXRlbSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW1JZCA9IGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF07IC8vIE9idMOpbSBvIElEIGRvIGl0ZW1cclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdID09PSB0cnVlOyAvLyBWZXJpZmljYSBzZSBlc3TDoSBtYXJjYWRvIGNvbW8gdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBPbk1vdmVBbGxUb1NvdXJjZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uTW92ZVRvU291cmNlLmVtaXQoZXZlbnQpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0ge307XHJcbiAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpXHJcbiAgICB0aGlzLmNsZWFyUHJldmlld0Nsb25lcygpO1xyXG4gIH1cclxuXHJcbiAgT25Nb3ZlQWxsVG9UYXJnZXQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vbk1vdmVUb1RhcmdldC5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHt9O1xyXG4gICAgdGhpcy5oaWRlRHJvcE92ZXJsYXkoKVxyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICB9XHJcblxyXG4gIE9uU291cmNlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSB0aGlzLmdldFNlbGVjdGVkSXRlbXMoKTtcclxuICBcclxuICAgIC8vIFByaW1laXJvIHJlbW92ZSB0b2RvcyBvcyBwcmV2aWV3cyBhbnRpZ29zXHJcbiAgICB0aGlzLmNsZWFyUHJldmlld0Nsb25lcygpO1xyXG4gIFxyXG4gICAgaWYgKHNlbGVjdGVkSXRlbXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuaGlkZURyb3BPdmVybGF5KCk7XHJcbiAgICAgIHRoaXMub25Tb3VyY2VTZWxlY3QuZW1pdChldmVudCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICBcclxuICAgIHNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW1JZCA9IGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF07XHJcbiAgXHJcbiAgICAgIC8vIFNlIGrDoSBleGlzdGUgdW0gY2xvbmUgcGFyYSBlc3NlIGl0ZW0sIG7Do28gY3JpYSBub3ZhbWVudGVcclxuICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJldmlld18nICsgaXRlbUlkKSkge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lkX3BpY2tfbGlzdCcgKyBpdGVtSWQpO1xyXG4gICAgICAgIGlmIChvcmlnaW5hbCkge1xyXG4gICAgICAgICAgY29uc3QgcmVjdCA9IG9yaWdpbmFsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgY29uc3QgY2xvbmUgPSBvcmlnaW5hbC5jbG9uZU5vZGUodHJ1ZSkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICBjbG9uZS5jbGFzc0xpc3QuYWRkKCdkcmFnLXByZXZpZXctY2xvbmUnKTtcclxuICAgICAgICAgIGNsb25lLmNsYXNzTGlzdC5hZGQoYGxldmVsLSR7aW5kZXggKyAxfWApO1xyXG4gICAgICAgICAgY2xvbmUuaWQgPSAncHJldmlld18nICsgaXRlbUlkO1xyXG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjbG9uZSk7XHJcbiAgICAgICAgICB0aGlzLnByZXZpZXdDbG9uZXMucHVzaChjbG9uZSk7XHJcbiAgICAgICAgICB0aGlzLmFuaW1hdGVDbG9uZVRvQ3Vyc29yKGNsb25lLCByZWN0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIFxyXG4gICAgdGhpcy5zaG93RHJvcE92ZXJsYXkoKTtcclxuICAgIHRoaXMub25Tb3VyY2VTZWxlY3QuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIFxyXG4gIGdldEl0ZW1JZChpdGVtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW0/Llt0aGlzLml0ZW1JZEZpZWxkXTtcclxuICB9XHJcbiAgXHJcblxyXG4gIHNob3dEcm9wT3ZlcmxheSgpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkSW5Tb3VyY2UgPSB0aGlzLnNvdXJjZS5zb21lKGl0ZW0gPT4gdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1bdGhpcy5pdGVtSWRGaWVsZF1dKTtcclxuICAgIGNvbnN0IHNlbGVjdGVkSW5UYXJnZXQgPSB0aGlzLnRhcmdldC5zb21lKGl0ZW0gPT4gdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1bdGhpcy5pdGVtSWRGaWVsZF1dKTtcclxuICBcclxuICAgIGxldCB0YXJnZXRMaXN0RWw6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgXHJcbiAgICBpZiAoc2VsZWN0ZWRJblNvdXJjZSkge1xyXG4gICAgICB0YXJnZXRMaXN0RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1waWNrbGlzdC10YXJnZXQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5pbm5lclRleHQgPSAnU29sdGFyIGFxdWkgcGFyYSBtb3Zlcic7XHJcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkSW5UYXJnZXQpIHtcclxuICAgICAgdGFyZ2V0TGlzdEVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtcGlja2xpc3Qtc291cmNlJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuaW5uZXJUZXh0ID0gJ1NvbHRhciBhcXVpIHBhcmEgcmV0b3JuYXInO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgaWYgKHRhcmdldExpc3RFbCkge1xyXG4gICAgICBjb25zdCB3cmFwcGVyID0gdGFyZ2V0TGlzdEVsLmNsb3Nlc3QoJy5wLXBpY2tsaXN0LWxpc3Qtd3JhcHBlcicpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBpZiAoIXdyYXBwZXIpIHJldHVybjtcclxuICBcclxuICAgICAgY29uc3QgaGVhZGVyID0gd3JhcHBlci5xdWVyeVNlbGVjdG9yKCcucC1waWNrbGlzdC1oZWFkZXInKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XHJcbiAgICAgIGNvbnN0IGZpbHRlciA9IHdyYXBwZXIucXVlcnlTZWxlY3RvcignLnAtcGlja2xpc3QtZmlsdGVyLWNvbnRhaW5lcicpIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcclxuICBcclxuICAgICAgY29uc3Qgd3JhcHBlclJlY3QgPSB3cmFwcGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBjb25zdCBzY3JvbGxUb3AgPSB3aW5kb3cuc2Nyb2xsWSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xyXG4gICAgICBjb25zdCBzY3JvbGxMZWZ0ID0gd2luZG93LnNjcm9sbFggfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7XHJcbiAgXHJcbiAgICAgIGxldCBvZmZzZXRUb3AgPSB3cmFwcGVyUmVjdC50b3AgKyBzY3JvbGxUb3A7XHJcbiAgICAgIGxldCB0b3RhbE9mZnNldCA9IDA7XHJcbiAgXHJcbiAgICAgIGlmIChoZWFkZXIpIHRvdGFsT2Zmc2V0ICs9IGhlYWRlci5vZmZzZXRIZWlnaHQ7XHJcbiAgICAgIGlmIChmaWx0ZXIpIHRvdGFsT2Zmc2V0ICs9IGZpbHRlci5vZmZzZXRIZWlnaHQ7XHJcbiAgXHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUudG9wID0gKG9mZnNldFRvcCArIHRvdGFsT2Zmc2V0KSArICdweCc7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUubGVmdCA9ICh3cmFwcGVyUmVjdC5sZWZ0ICsgc2Nyb2xsTGVmdCkgKyAncHgnO1xyXG4gICAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLndpZHRoID0gYCR7d3JhcHBlci5vZmZzZXRXaWR0aH1weGA7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuaGVpZ2h0ID0gYCR7d3JhcHBlci5vZmZzZXRIZWlnaHQgLSB0b3RhbE9mZnNldH1weGA7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuZGlzcGxheSA9ICdmbGV4J1xyXG5cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgaGlkZURyb3BPdmVybGF5KCkge1xyXG4gICAgaWYgKHRoaXMuZHJvcE92ZXJsYXkpIHtcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBcclxuICBhbmltYXRlQ2xvbmVUb0N1cnNvcihjbG9uZTogSFRNTEVsZW1lbnQsIG9yaWdpblJlY3Q6IERPTVJlY3QpIHtcclxuICAgIC8vIENvbWXDp2EgZXhhdGFtZW50ZSBkYSBwb3Npw6fDo28gZG8gb3JpZ2luYWxcclxuICAgIGxldCBwb3NYID0gb3JpZ2luUmVjdC5sZWZ0O1xyXG4gICAgbGV0IHBvc1kgPSBvcmlnaW5SZWN0LnRvcDtcclxuICBcclxuICAgIGNsb25lLnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcclxuICAgIGNsb25lLnN0eWxlLmxlZnQgPSBgJHtwb3NYfXB4YDtcclxuICAgIGNsb25lLnN0eWxlLnRvcCA9IGAke3Bvc1l9cHhgO1xyXG4gICAgY2xvbmUuc3R5bGUud2lkdGggPSBgJHtvcmlnaW5SZWN0LndpZHRofXB4YDtcclxuICAgIGNsb25lLnN0eWxlLmhlaWdodCA9IGAke29yaWdpblJlY3QuaGVpZ2h0fXB4YDtcclxuICAgIGNsb25lLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XHJcbiAgXHJcbiAgICBjb25zdCBhbmltYXRlID0gKCkgPT4ge1xyXG4gICAgICBjb25zdCBkeCA9IHRoaXMubW91c2VYIC0gcG9zWDtcclxuICAgICAgY29uc3QgZHkgPSB0aGlzLm1vdXNlWSAtIHBvc1k7XHJcbiAgXHJcbiAgICAgIHBvc1ggKz0gZHggKiAwLjE1O1xyXG4gICAgICBwb3NZICs9IGR5ICogMC4xNTtcclxuICBcclxuICAgICAgY2xvbmUuc3R5bGUubGVmdCA9IGAke3Bvc1h9cHhgO1xyXG4gICAgICBjbG9uZS5zdHlsZS50b3AgPSBgJHtwb3NZfXB4YDtcclxuICBcclxuICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY29udGFpbnMoY2xvbmUpKSB7XHJcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFuaW1hdGUpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIFxyXG4gICAgYW5pbWF0ZSgpO1xyXG4gIH1cclxuICBcclxuICBcclxuXHJcbiAgT25UYXJnZXRTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9IHRoaXMudGFyZ2V0LmZpbHRlcihpdGVtID0+IHtcclxuICAgICAgY29uc3QgaXRlbUlkID0gaXRlbVt0aGlzLml0ZW1JZEZpZWxkXTtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdID09PSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBMaW1wYSBjbG9uZXMgYW50aWdvc1xyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICBcclxuICAgIGlmIChzZWxlY3RlZEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpO1xyXG4gICAgICB0aGlzLm9uVGFyZ2V0U2VsZWN0LmVtaXQoZXZlbnQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzZWxlY3RlZEl0ZW1zLmZvckVhY2goKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBjb25zdCBpdGVtSWQgPSBpdGVtW3RoaXMuaXRlbUlkRmllbGRdO1xyXG4gIFxyXG4gICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcmV2aWV3XycgKyBpdGVtSWQpKSB7XHJcbiAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWRfcGlja19saXN0JyArIGl0ZW1JZCk7XHJcbiAgICAgICAgaWYgKG9yaWdpbmFsKSB7XHJcbiAgICAgICAgICBjb25zdCByZWN0ID0gb3JpZ2luYWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICBjb25zdCBjbG9uZSA9IG9yaWdpbmFsLmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgIGNsb25lLmNsYXNzTGlzdC5hZGQoJ2RyYWctcHJldmlldy1jbG9uZScpO1xyXG4gICAgICAgICAgY2xvbmUuY2xhc3NMaXN0LmFkZChgbGV2ZWwtJHtpbmRleCArIDF9YCk7XHJcbiAgICAgICAgICBjbG9uZS5pZCA9ICdwcmV2aWV3XycgKyBpdGVtSWQ7XHJcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNsb25lKTtcclxuICAgICAgICAgIHRoaXMucHJldmlld0Nsb25lcy5wdXNoKGNsb25lKTtcclxuICAgICAgICAgIHRoaXMuYW5pbWF0ZUNsb25lVG9DdXJzb3IoY2xvbmUsIHJlY3QpOyBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIFxyXG4gICAgdGhpcy5zaG93RHJvcE92ZXJsYXkoKTtcclxuICAgIHRoaXMub25UYXJnZXRTZWxlY3QuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIFxyXG5cclxuICBvblNlbGVjdEFsbCgpIHtcclxuICAgIHRoaXMuc2VsZWN0QWxsSXRlbXModHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGxJdGVtcyhpc1NlbGVjdGVkOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNvdXJjZS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBpdGVtSWQgPSBpdGVtW3RoaXMuaXRlbUlkRmllbGRdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXSA9IGlzU2VsZWN0ZWQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnRhcmdldC5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBpdGVtSWQgPSBpdGVtW3RoaXMuaXRlbUlkRmllbGRdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXSA9IGlzU2VsZWN0ZWQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQua2V5ID09PSAnYScpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgdGhpcy5vblNlbGVjdEFsbCgpO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICBcclxuICAgICAgY29uc3Qgc291cmNlU2VsZWN0ZWQgPSB0aGlzLnBpY2tsaXN0LnNlbGVjdGVkSXRlbXNTb3VyY2U7XHJcbiAgXHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbXNJZHMgPSBPYmplY3QuZW50cmllcyh0aGlzLnNlbGVjdGVkSXRlbXMpXHJcbiAgICAgICAgLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgPT09IHRydWUpXHJcbiAgICAgICAgLm1hcCgoW2tleSwgX10pID0+IE51bWJlcihrZXkpKTtcclxuICBcclxuICAgICAgY29uc3Qgbm90SW5TZWxlY3RlZCA9IHNvdXJjZVNlbGVjdGVkLmZpbmQoXHJcbiAgICAgICAgKGl0ZW06IHsgW2tleTogc3RyaW5nXTogYW55IH0pID0+XHJcbiAgICAgICAgICAhc2VsZWN0ZWRJdGVtc0lkcy5pbmNsdWRlcyhpdGVtW3RoaXMuaXRlbUlkRmllbGRdKVxyXG4gICAgICApO1xyXG4gIFxyXG4gICAgICBjb25zdCBpbmRleEluU291cmNlID0gdGhpcy5zb3VyY2UuZmluZEluZGV4KFxyXG4gICAgICAgIChpdGVtOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSA9PlxyXG4gICAgICAgICAgaXRlbVt0aGlzLml0ZW1JZEZpZWxkXSA9PT0gbm90SW5TZWxlY3RlZD8uW3RoaXMuaXRlbUlkRmllbGRdXHJcbiAgICAgICk7XHJcbiAgXHJcbiAgICAgIGNvbnN0IHVsdGltb0l0ZW1BcnJheSA9IHtcclxuICAgICAgICBpdGVtOiBub3RJblNlbGVjdGVkLFxyXG4gICAgICAgIGluZGV4OiBpbmRleEluU291cmNlLFxyXG4gICAgICB9O1xyXG4gIFxyXG4gICAgICBjb25zdCBzZWxlY3RlZEluZGV4SW5Tb3VyY2UgPSB0aGlzLnNvdXJjZS5maW5kSW5kZXgoKHNvdXJjZUl0ZW06IGFueSkgPT5cclxuICAgICAgICBzZWxlY3RlZEl0ZW1zSWRzLmluY2x1ZGVzKHNvdXJjZUl0ZW1bdGhpcy5pdGVtSWRGaWVsZF0pXHJcbiAgICAgICk7XHJcbiAgXHJcbiAgICAgIGlmIChub3RJblNlbGVjdGVkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBiZWZvcmVJZHMgPSB0aGlzLnVsdGltb0l0ZW1TZWxlY2lvbmFkby5tYXAoaSA9PiBpLml0ZW1bdGhpcy5pdGVtSWRGaWVsZF0pO1xyXG4gICAgICAgIGNvbnN0IGFmdGVySWRzID0gdGhpcy5waWNrbGlzdC5zZWxlY3RlZEl0ZW1zU291cmNlLm1hcChpID0+IGlbdGhpcy5pdGVtSWRGaWVsZF0pO1xyXG4gICAgICBcclxuICAgICAgICBjb25zdCByZW1vdmVkSWQgPSBiZWZvcmVJZHMuZmluZChpZCA9PiAhYWZ0ZXJJZHMuaW5jbHVkZXMoaWQpKTtcclxuICAgICAgXHJcbiAgICAgIFxyXG4gICAgICAgIGlmIChyZW1vdmVkSWQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgcmVtb3ZlZEl0ZW0gPSB0aGlzLnNvdXJjZS5maW5kKGl0ZW0gPT4gaXRlbVt0aGlzLml0ZW1JZEZpZWxkXSA9PT0gcmVtb3ZlZElkKTtcclxuICAgICAgICAgIGlmIChyZW1vdmVkSXRlbSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdENoZWNrQm94KHJlbW92ZWRJdGVtKTtcclxuICAgICAgICAgICAgdGhpcy51bHRpbW9JdGVtU2VsZWNpb25hZG8gPSB0aGlzLnVsdGltb0l0ZW1TZWxlY2lvbmFkby5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgKGkpID0+IGkuaXRlbVt0aGlzLml0ZW1JZEZpZWxkXSAhPT0gcmVtb3ZlZElkXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGVudGVySWRzID0gdGhpcy51bHRpbW9JdGVtU2VsZWNpb25hZG8ubWFwKGkgPT4gaS5pdGVtW3RoaXMuaXRlbUlkRmllbGRdKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW1zSWRzID0gT2JqZWN0LmVudHJpZXModGhpcy5zZWxlY3RlZEl0ZW1zKVxyXG4gICAgICAgICAgICAuZmlsdGVyKChbXywgdmFsdWVdKSA9PiB2YWx1ZSA9PT0gdHJ1ZSlcclxuICAgICAgICAgICAgLm1hcCgoW2tleSwgX10pID0+IE51bWJlcihrZXkpKTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgY29uc3QgY2xpY2tlZElkcyA9IHNlbGVjdGVkSXRlbXNJZHMuZmlsdGVyKGlkID0+ICFlbnRlcklkcy5pbmNsdWRlcyhpZCkpO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBpZiAoY2xpY2tlZElkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNsaWNrZWRJdGVtID0gdGhpcy5zb3VyY2UuZmluZChpdGVtID0+IGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF0gPT09IGNsaWNrZWRJZHNbMF0pO1xyXG4gICAgICAgICAgICBpZiAoY2xpY2tlZEl0ZW0pIHtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdENoZWNrQm94KGNsaWNrZWRJdGVtKTtcclxuICAgICAgICAgICAgICB0aGlzLnVsdGltb0l0ZW1TZWxlY2lvbmFkbyA9IHRoaXMudWx0aW1vSXRlbVNlbGVjaW9uYWRvLmZpbHRlcihcclxuICAgICAgICAgICAgICAgIChpKSA9PiBpLml0ZW1bdGhpcy5pdGVtSWRGaWVsZF0gIT09IGNsaWNrZWRJZHNbMF1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgXHJcbiAgXHJcbiAgICAgIHRoaXMuc2VsZWN0Q2hlY2tCb3gobm90SW5TZWxlY3RlZCk7XHJcbiAgXHJcbiAgICAgIHRoaXMudWx0aW1vSXRlbVNlbGVjaW9uYWRvID0gdGhpcy51bHRpbW9JdGVtU2VsZWNpb25hZG8uZmlsdGVyKFxyXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLmluZGV4ICE9PSBpbmRleEluU291cmNlXHJcbiAgICAgICk7XHJcbiAgXHJcbiAgICAgIHRoaXMudWx0aW1vSXRlbVNlbGVjaW9uYWRvLnB1c2godWx0aW1vSXRlbUFycmF5KTtcclxuICBcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4gIHNlbGVjdENoZWNrQm94KGl0ZW06IGFueSkge1xyXG4gICAgY29uc3QgaXRlbUlkID0gaXRlbVt0aGlzLml0ZW1JZEZpZWxkXTtcclxuXHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFByZXZpZXcgPSBpdGVtO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdID0gdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1JZF0gIT09IHVuZGVmaW5lZFxyXG4gICAgICA/ICF0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXVxyXG4gICAgICA6IHRydWU7XHJcblxyXG5cclxuICAgIHRoaXMubmdNb2RlbCA9IHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdO1xyXG5cclxuICB9XHJcblxyXG4gIGlzSXRlbVNlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRQcmV2aWV3ID09PSBpdGVtO1xyXG4gIH1cclxufVxyXG4iLCI8cC1waWNrTGlzdFxyXG4gIFtzb3VyY2VdPVwic291cmNlXCJcclxuICBbc291cmNlSGVhZGVyXT1cInNvdXJjZUhlYWRlclwiXHJcbiAgW3NvdXJjZVN0eWxlXT1cInNvdXJjZVN0eWxlXCJcclxuICBbdGFyZ2V0XT1cInRhcmdldFwiIFxyXG4gIFt0YXJnZXRIZWFkZXJdPVwidGFyZ2V0SGVhZGVyXCJcclxuICBbdGFyZ2V0U3R5bGVdPVwidGFyZ2V0U3R5bGVcIlxyXG4gIFtkcmFnZHJvcF09XCJkcmFnZHJvcFwiXHJcbiAgW3Jlc3BvbnNpdmVdPVwicmVzcG9uc2l2ZVwiXHJcbiAgW2ZpbHRlckJ5XT1cImZpbHRlckJ5XCJcclxuICBbYnJlYWtwb2ludF09XCJicmVha3BvaW50XCJcclxuICBbc3RyaXBlZFJvd3NdPVwic3RyaXBlZFJvd3NcIlxyXG4gIFtzaG93U291cmNlQ29udHJvbHNdPVwic2hvd1NvdXJjZUNvbnRyb2xzXCJcclxuICBbc2hvd1RhcmdldENvbnRyb2xzXT1cInNob3dUYXJnZXRDb250cm9sc1wiXHJcbiAgKG9uTW92ZVRvU291cmNlKT1cIk9uTW92ZVRvU291cmNlKCRldmVudClcIlxyXG4gIChvbk1vdmVUb1RhcmdldCk9XCJPbk1vdmVUb1RhcmdldCgkZXZlbnQpXCJcclxuICAob25Nb3ZlQWxsVG9Tb3VyY2UpPVwiT25Nb3ZlQWxsVG9Tb3VyY2UoJGV2ZW50KVwiXHJcbiAgKG9uTW92ZUFsbFRvVGFyZ2V0KT1cIk9uTW92ZUFsbFRvVGFyZ2V0KCRldmVudClcIlxyXG4gIChvblNvdXJjZVNlbGVjdCk9XCJPblNvdXJjZVNlbGVjdCgkZXZlbnQpXCJcclxuICAob25UYXJnZXRTZWxlY3QpPVwiT25UYXJnZXRTZWxlY3QoJGV2ZW50KVwiXHJcbj5cclxuICA8bmctdGVtcGxhdGUgIGxldC1pdGVtIHBUZW1wbGF0ZT1cIml0ZW1cIiAqbmdJZj1cIml0ZW1UZW1wbGF0ZVwiID5cclxuICAgICAgPGRpdiAoY2xpY2spPVwic2VsZWN0Q2hlY2tCb3goaXRlbSlcIiBjbGFzcz1cImZsZXggbXItNVwiIFtpZF09XCInaWRfcGlja19saXN0JyArIGdldEl0ZW1JZChpdGVtKVwiXHJcbiAgICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPlxyXG4gICAgICAgIEBpZihzaG93Q2hlY2tCb3gpIHtcclxuICAgICAgICAgICAgPGt2LWNoZWNrIChvbkNoZWNrQ2hhbmdlKT1cInNlbGVjdENoZWNrQm94KGl0ZW0pXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEl0ZW1zW2l0ZW1baXRlbUlkRmllbGRdXVwiIGNsYXNzPVwibXItMVwiPjwva3YtY2hlY2s+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+IFxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvcC1waWNrTGlzdD5cclxuIl19
@@ -1,39 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
- import { NgModule } from "@angular/core";
4
- import { KvPickListComponent } from './kv-pick-list.component';
5
- import { PrimeNgModule } from '../../api/modules/primeng.module';
6
- import { KvInputsModule } from "../kv-inputs/kv-inputs.module";
7
- import * as i0 from "@angular/core";
8
- export class KvPickListModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvPickListModule, declarations: [KvPickListComponent], imports: [CommonModule,
11
- PrimeNgModule,
12
- FormsModule,
13
- KvInputsModule,
14
- ReactiveFormsModule], exports: [KvPickListComponent] }); }
15
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPickListModule, imports: [CommonModule,
16
- PrimeNgModule,
17
- FormsModule,
18
- KvInputsModule,
19
- ReactiveFormsModule] }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPickListModule, decorators: [{
22
- type: NgModule,
23
- args: [{
24
- declarations: [
25
- KvPickListComponent
26
- ],
27
- imports: [
28
- CommonModule,
29
- PrimeNgModule,
30
- FormsModule,
31
- KvInputsModule,
32
- ReactiveFormsModule
33
- ],
34
- exports: [
35
- KvPickListComponent
36
- ]
37
- }]
38
- }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGljay1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBpY2stbGlzdC9rdi1waWNrLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWlCL0QsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBYnpCLG1CQUFtQixhQUduQixZQUFZO1lBQ1osYUFBYTtZQUNiLFdBQVc7WUFDWCxjQUFjO1lBQ2QsbUJBQW1CLGFBR25CLG1CQUFtQjsrR0FHVixnQkFBZ0IsWUFWekIsWUFBWTtZQUNaLGFBQWE7WUFDYixXQUFXO1lBQ1gsY0FBYztZQUNkLG1CQUFtQjs7MkZBTVYsZ0JBQWdCO2tCQWY1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLG1CQUFtQjtxQkFDdEI7b0JBQ0MsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHsgS3ZQaWNrTGlzdENvbXBvbmVudCB9IGZyb20gJy4va3YtcGljay1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByaW1lTmdNb2R1bGUgfSBmcm9tICcuLi8uLi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2SW5wdXRzTW9kdWxlIH0gZnJvbSBcIi4uL2t2LWlucHV0cy9rdi1pbnB1dHMubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgS3ZQaWNrTGlzdENvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUHJpbWVOZ01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgS3ZJbnB1dHNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbl0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgS3ZQaWNrTGlzdENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEt2UGlja0xpc3RNb2R1bGUgeyB9XHJcbiJdfQ==