keevo-components 2.0.184 → 2.0.185

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 (791) 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 +265 -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 +147 -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 +73 -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 +6 -0
  61. package/{lib/api/types/severity.d.ts → src/lib/api/types/severity.ts} +3 -2
  62. package/src/lib/api/types/stimulsoft.reports.d.ts +67463 -0
  63. package/src/lib/api/webpack/mfe-shared.ts +14 -0
  64. package/src/lib/components/keevo-components.module.ts +108 -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 +57 -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 +231 -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 +172 -0
  111. package/src/lib/components/kv-content-viewer/kv-content-viewer.module.ts +25 -0
  112. package/src/lib/components/kv-detailed-list/kv-detailed-list.component.html +253 -0
  113. package/src/lib/components/kv-detailed-list/kv-detailed-list.component.scss +185 -0
  114. package/src/lib/components/kv-detailed-list/kv-detailed-list.component.spec.ts +23 -0
  115. package/src/lib/components/kv-detailed-list/kv-detailed-list.component.ts +154 -0
  116. package/src/lib/components/kv-error/kv-error.component.html +3 -0
  117. package/src/lib/components/kv-error/kv-error.component.scss +5 -0
  118. package/src/lib/components/kv-error/kv-error.component.ts +27 -0
  119. package/src/lib/components/kv-error/kv-error.module.ts +26 -0
  120. package/src/lib/components/kv-file-upload/kv-file-upload.component.html +134 -0
  121. package/src/lib/components/kv-file-upload/kv-file-upload.component.scss +13 -0
  122. package/src/lib/components/kv-file-upload/kv-file-upload.component.spec.ts +23 -0
  123. package/src/lib/components/kv-file-upload/kv-file-upload.component.ts +200 -0
  124. package/src/lib/components/kv-file-upload/kv-file-upload.module.ts +13 -0
  125. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.html +16 -0
  126. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.scss +18 -0
  127. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.ts +42 -0
  128. package/src/lib/components/kv-file-viewer/kv-file-viewer.module.ts +14 -0
  129. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.html +34 -0
  130. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.scss +17 -0
  131. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.ts +80 -0
  132. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.ts +15 -0
  133. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.html +103 -0
  134. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.scss +153 -0
  135. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.spec.ts +23 -0
  136. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.ts +73 -0
  137. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.module.ts +18 -0
  138. package/src/lib/components/kv-filter-card/kv-filter-card.component.html +12 -0
  139. package/src/lib/components/kv-filter-card/kv-filter-card.component.scss +76 -0
  140. package/src/lib/components/kv-filter-card/kv-filter-card.component.spec.ts +23 -0
  141. package/src/lib/components/kv-filter-card/kv-filter-card.component.ts +18 -0
  142. package/src/lib/components/kv-filter-card/kv-filter-card.module.ts +23 -0
  143. package/src/lib/components/kv-filter-cards/kv-filter-cards.component.html +94 -0
  144. package/src/lib/components/kv-filter-cards/kv-filter-cards.component.scss +189 -0
  145. package/src/lib/components/kv-filter-cards/kv-filter-cards.component.ts +150 -0
  146. package/src/lib/components/kv-filter-cards/kv-filter-cards.module.ts +20 -0
  147. package/src/lib/components/kv-filter-cards/kv-filter-cards.pipe.ts +24 -0
  148. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.html +25 -0
  149. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.scss +22 -0
  150. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.spec.ts +23 -0
  151. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.ts +21 -0
  152. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.ts +20 -0
  153. package/src/lib/components/kv-g-icon/kv-g-icon.component.html +1 -0
  154. package/src/lib/components/kv-g-icon/kv-g-icon.component.scss +0 -0
  155. package/src/lib/components/kv-g-icon/kv-g-icon.component.spec.ts +23 -0
  156. package/src/lib/components/kv-g-icon/kv-g-icon.component.ts +10 -0
  157. package/src/lib/components/kv-g-icon/kv-g-icon.module.ts +11 -0
  158. package/src/lib/components/kv-home-card/kv-home-card.component.html +35 -0
  159. package/src/lib/components/kv-home-card/kv-home-card.component.scss +5 -0
  160. package/src/lib/components/kv-home-card/kv-home-card.component.spec.ts +23 -0
  161. package/src/lib/components/kv-home-card/kv-home-card.component.ts +33 -0
  162. package/src/lib/components/kv-home-card/kv-home-card.module.ts +18 -0
  163. package/src/lib/components/kv-icon/kv-icon.component.html +13 -0
  164. package/src/lib/components/kv-icon/kv-icon.component.scss +82 -0
  165. package/src/lib/components/kv-icon/kv-icon.component.spec.ts +28 -0
  166. package/src/lib/components/kv-icon/kv-icon.component.ts +31 -0
  167. package/{lib/components/kv-icon/kv-icon.model.d.ts → src/lib/components/kv-icon/kv-icon.model.ts} +3 -3
  168. package/src/lib/components/kv-icon/kv-icon.module.ts +16 -0
  169. package/src/lib/components/kv-image-upload/kv-image-upload.component.html +64 -0
  170. package/src/lib/components/kv-image-upload/kv-image-upload.component.scss +0 -0
  171. package/src/lib/components/kv-image-upload/kv-image-upload.component.ts +153 -0
  172. package/src/lib/components/kv-image-upload/kv-image-upload.module.ts +10 -0
  173. package/src/lib/components/kv-inputs/kv-check/kv-check.component.html +12 -0
  174. package/src/lib/components/kv-inputs/kv-check/kv-check.component.scss +42 -0
  175. package/src/lib/components/kv-inputs/kv-check/kv-check.component.ts +32 -0
  176. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.html +104 -0
  177. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.ts +122 -0
  178. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.html +13 -0
  179. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.scss +0 -0
  180. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.spec.ts +23 -0
  181. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.ts +16 -0
  182. package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.html +18 -0
  183. package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.scss +0 -0
  184. package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.ts +41 -0
  185. package/src/lib/components/kv-inputs/kv-editor/config/kv-editor.config.ts +120 -0
  186. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.html +283 -0
  187. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.scss +182 -0
  188. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.ts +319 -0
  189. package/{lib/components/kv-inputs/kv-editor/kv-editor.d.ts → src/lib/components/kv-inputs/kv-editor/kv-editor.ts} +6 -6
  190. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.ts +156 -0
  191. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.ts +190 -0
  192. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.spec.ts +126 -0
  193. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.ts +84 -0
  194. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.spec.ts +176 -0
  195. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.ts +101 -0
  196. package/src/lib/components/kv-inputs/kv-editor/types/kv-editor.types.ts +36 -0
  197. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.html +37 -0
  198. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.scss +23 -0
  199. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.ts +167 -0
  200. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.html +24 -0
  201. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.scss +0 -0
  202. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.ts +35 -0
  203. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.html +23 -0
  204. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.scss +0 -0
  205. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.ts +61 -0
  206. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.html +33 -0
  207. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.scss +5 -0
  208. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.ts +63 -0
  209. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.html +24 -0
  210. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.scss +0 -0
  211. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.ts +26 -0
  212. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.html +23 -0
  213. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.scss +18 -0
  214. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.ts +40 -0
  215. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.html +30 -0
  216. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.scss +26 -0
  217. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.ts +38 -0
  218. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.html +53 -0
  219. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.scss +41 -0
  220. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.spec.ts +23 -0
  221. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.ts +48 -0
  222. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.html +23 -0
  223. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.scss +0 -0
  224. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.ts +40 -0
  225. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.html +24 -0
  226. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.scss +0 -0
  227. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.ts +27 -0
  228. package/src/lib/components/kv-inputs/kv-inputs.module.ts +100 -0
  229. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.html +87 -0
  230. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.scss +62 -0
  231. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.ts +54 -0
  232. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.html +19 -0
  233. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.scss +22 -0
  234. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.ts +63 -0
  235. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.html +26 -0
  236. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.scss +5 -0
  237. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.spec.ts +21 -0
  238. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.ts +30 -0
  239. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.html +31 -0
  240. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.scss +92 -0
  241. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.spec.ts +23 -0
  242. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.ts +92 -0
  243. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.html +23 -0
  244. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.scss +35 -0
  245. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.ts +54 -0
  246. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.html +68 -0
  247. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.scss +86 -0
  248. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.ts +59 -0
  249. package/src/lib/components/kv-label/kv-label.component.html +3 -0
  250. package/src/lib/components/kv-label/kv-label.component.scss +15 -0
  251. package/src/lib/components/kv-label/kv-label.component.spec.ts +23 -0
  252. package/src/lib/components/kv-label/kv-label.component.ts +14 -0
  253. package/src/lib/components/kv-label/kv-label.module.ts +17 -0
  254. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.html +25 -0
  255. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.scss +19 -0
  256. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.spec.ts +28 -0
  257. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.ts +34 -0
  258. package/src/lib/components/kv-layout/kv-layout.module.ts +44 -0
  259. package/src/lib/components/kv-layout/layout/kv-layout.component.html +591 -0
  260. package/src/lib/components/kv-layout/layout/kv-layout.component.scss +268 -0
  261. package/src/lib/components/kv-layout/layout/kv-layout.component.spec.ts +23 -0
  262. package/src/lib/components/kv-layout/layout/kv-layout.component.ts +531 -0
  263. package/src/lib/components/kv-layout/top-icons/top-icons.component.html +26 -0
  264. package/src/lib/components/kv-layout/top-icons/top-icons.component.scss +71 -0
  265. package/src/lib/components/kv-layout/top-icons/top-icons.component.spec.ts +23 -0
  266. package/src/lib/components/kv-layout/top-icons/top-icons.component.ts +26 -0
  267. package/src/lib/components/kv-loader/kv-loader.component.html +1 -0
  268. package/src/lib/components/kv-loader/kv-loader.component.ts +11 -0
  269. package/src/lib/components/kv-loader/kv-loader.module.ts +17 -0
  270. package/src/lib/components/kv-loader/kv-loader.service.ts +29 -0
  271. package/src/lib/components/kv-login/kv-login.component.html +101 -0
  272. package/src/lib/components/kv-login/kv-login.component.scss +99 -0
  273. package/src/lib/components/kv-login/kv-login.component.spec.ts +23 -0
  274. package/src/lib/components/kv-login/kv-login.component.ts +97 -0
  275. package/src/lib/components/kv-login/kv-login.module.ts +33 -0
  276. package/src/lib/components/kv-modal/kv-modal.component.html +20 -0
  277. package/src/lib/components/kv-modal/kv-modal.component.scss +37 -0
  278. package/src/lib/components/kv-modal/kv-modal.component.spec.ts +21 -0
  279. package/src/lib/components/kv-modal/kv-modal.component.ts +111 -0
  280. package/src/lib/components/kv-modal/kv-modal.module.ts +12 -0
  281. package/src/lib/components/kv-orgchart/kv-orgchart.component.html +125 -0
  282. package/src/lib/components/kv-orgchart/kv-orgchart.component.scss +73 -0
  283. package/src/lib/components/kv-orgchart/kv-orgchart.component.ts +283 -0
  284. package/src/lib/components/kv-orgchart/kv-orgchart.module.ts +31 -0
  285. package/src/lib/components/kv-page-form/kv-page-form.component.html +91 -0
  286. package/src/lib/components/kv-page-form/kv-page-form.component.scss +100 -0
  287. package/src/lib/components/kv-page-form/kv-page-form.component.spec.ts +28 -0
  288. package/src/lib/components/kv-page-form/kv-page-form.component.ts +206 -0
  289. package/src/lib/components/kv-page-form/kv-page-form.module.ts +33 -0
  290. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.html +276 -0
  291. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.scss +85 -0
  292. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.spec.ts +23 -0
  293. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.ts +223 -0
  294. package/src/lib/components/kv-page-stepper/kv-page-stepper.module.ts +36 -0
  295. package/src/lib/components/kv-pick-list/kv-pick-list.component.html +32 -0
  296. package/src/lib/components/kv-pick-list/kv-pick-list.component.scss +57 -0
  297. package/src/lib/components/kv-pick-list/kv-pick-list.component.spec.ts +26 -0
  298. package/src/lib/components/kv-pick-list/kv-pick-list.component.ts +461 -0
  299. package/src/lib/components/kv-pick-list/kv-pick-list.module.ts +24 -0
  300. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.html +38 -0
  301. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.scss +128 -0
  302. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.spec.ts +21 -0
  303. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.ts +75 -0
  304. package/src/lib/components/kv-progress-bar/kv-progress-bar.module.ts +19 -0
  305. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.html +43 -0
  306. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.scss +130 -0
  307. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.spec.ts +23 -0
  308. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.ts +82 -0
  309. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.ts +18 -0
  310. package/src/lib/components/kv-report/kv-report.component.html +3 -0
  311. package/src/lib/components/kv-report/kv-report.component.scss +14 -0
  312. package/src/lib/components/kv-report/kv-report.component.spec.ts +28 -0
  313. package/src/lib/components/kv-report/kv-report.component.ts +44 -0
  314. package/src/lib/components/kv-report/kv-report.module.ts +18 -0
  315. package/src/lib/components/kv-stacked-bar-chart/kv-stacked-bar-chart.component.html +23 -0
  316. package/src/lib/components/kv-stacked-bar-chart/kv-stacked-bar-chart.component.scss +48 -0
  317. package/src/lib/components/kv-stacked-bar-chart/kv-stacked-bar-chart.component.spec.ts +28 -0
  318. package/src/lib/components/kv-stacked-bar-chart/kv-stacked-bar-chart.component.ts +68 -0
  319. package/src/lib/components/kv-stepper/kv-stepper.component.html +94 -0
  320. package/src/lib/components/kv-stepper/kv-stepper.component.scss +43 -0
  321. package/src/lib/components/kv-stepper/kv-stepper.component.spec.ts +23 -0
  322. package/src/lib/components/kv-stepper/kv-stepper.component.ts +73 -0
  323. package/src/lib/components/kv-stepper/kv-stepper.module.ts +27 -0
  324. package/src/lib/components/kv-steps/kv-steps.component.html +53 -0
  325. package/src/lib/components/kv-steps/kv-steps.component.scss +120 -0
  326. package/src/lib/components/kv-steps/kv-steps.component.ts +122 -0
  327. package/src/lib/components/kv-table/kv-table.component.html +683 -0
  328. package/src/lib/components/kv-table/kv-table.component.spec.ts +28 -0
  329. package/src/lib/components/kv-table/kv-table.component.ts +795 -0
  330. package/src/lib/components/kv-table/kv-table.module.ts +25 -0
  331. package/src/lib/components/kv-table-draggable/kv-table-draggable.component.html +673 -0
  332. package/src/lib/components/kv-table-draggable/kv-table-draggable.component.scss +201 -0
  333. package/src/lib/components/kv-table-draggable/kv-table-draggable.component.spec.ts +28 -0
  334. package/src/lib/components/kv-table-draggable/kv-table-draggable.component.ts +982 -0
  335. package/src/lib/components/kv-table-draggable/kv-table-draggable.module.ts +28 -0
  336. package/src/lib/components/kv-table-edit/kv-table-edit.component.html +913 -0
  337. package/src/lib/components/kv-table-edit/kv-table-edit.component.scss +757 -0
  338. package/src/lib/components/kv-table-edit/kv-table-edit.component.ts +425 -0
  339. package/src/lib/components/kv-table-edit/kv-table-edit.module.ts +31 -0
  340. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.html +635 -0
  341. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.scss +395 -0
  342. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.ts +546 -0
  343. package/src/lib/components/kv-table-expandable/kv-table-expandable.module.ts +22 -0
  344. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.html +25 -0
  345. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.scss +0 -0
  346. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.spec.ts +23 -0
  347. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.ts +17 -0
  348. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.html +20 -0
  349. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.scss +0 -0
  350. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.spec.ts +23 -0
  351. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.ts +14 -0
  352. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.html +198 -0
  353. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.scss +106 -0
  354. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.spec.ts +23 -0
  355. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.ts +317 -0
  356. package/src/lib/components/kv-tag/kv-tag.component.html +7 -0
  357. package/src/lib/components/kv-tag/kv-tag.component.scss +65 -0
  358. package/src/lib/components/kv-tag/kv-tag.component.spec.ts +23 -0
  359. package/src/lib/components/kv-tag/kv-tag.component.ts +17 -0
  360. package/src/lib/components/kv-tag/kv-tag.module.ts +18 -0
  361. package/src/lib/components/kv-tags/kv-tags.component.html +26 -0
  362. package/src/lib/components/kv-tags/kv-tags.component.scss +34 -0
  363. package/src/lib/components/kv-tags/kv-tags.component.ts +67 -0
  364. package/src/lib/components/kv-tags/kv-tags.module.ts +18 -0
  365. package/src/lib/components/kv-timeline/kv-timeline.component.html +38 -0
  366. package/src/lib/components/kv-timeline/kv-timeline.component.scss +31 -0
  367. package/src/lib/components/kv-timeline/kv-timeline.component.spec.ts +23 -0
  368. package/src/lib/components/kv-timeline/kv-timeline.component.ts +83 -0
  369. package/src/lib/components/kv-tree-environment/components/kv-tree-environment/kv-tree-environment.component.html +57 -0
  370. package/src/lib/components/kv-tree-environment/components/kv-tree-environment/kv-tree-environment.component.scss +11 -0
  371. package/src/lib/components/kv-tree-environment/components/kv-tree-environment/kv-tree-environment.component.spec.ts +28 -0
  372. package/src/lib/components/kv-tree-environment/components/kv-tree-environment/kv-tree-environment.component.ts +342 -0
  373. package/src/lib/components/kv-tree-environment/components/no-arvore/no-arvore.component.html +73 -0
  374. package/src/lib/components/kv-tree-environment/components/no-arvore/no-arvore.component.scss +179 -0
  375. package/src/lib/components/kv-tree-environment/components/no-arvore/no-arvore.component.spec.ts +28 -0
  376. package/src/lib/components/kv-tree-environment/components/no-arvore/no-arvore.component.ts +103 -0
  377. package/src/lib/components/kv-tree-environment/models/no-arvore.model.ts +63 -0
  378. package/src/lib/components/kv-tree-table/kv-tree-table.component.html +452 -0
  379. package/src/lib/components/kv-tree-table/kv-tree-table.component.scss +219 -0
  380. package/src/lib/components/kv-tree-table/kv-tree-table.component.spec.ts +21 -0
  381. package/src/lib/components/kv-tree-table/kv-tree-table.component.ts +355 -0
  382. package/src/lib/components/kv-tree-table/kv-tree-table.module.ts +23 -0
  383. package/src/lib/components/kv-tree-view/kv-tree-view.component.html +16 -0
  384. package/src/lib/components/kv-tree-view/kv-tree-view.component.scss +19 -0
  385. package/src/lib/components/kv-tree-view/kv-tree-view.component.spec.ts +23 -0
  386. package/src/lib/components/kv-tree-view/kv-tree-view.component.ts +73 -0
  387. package/src/lib/components/kv-tree-view/kv-tree-view.module.ts +19 -0
  388. package/src/lib/components/kv-widget-card/kv-widget-card.component.html +65 -0
  389. package/src/lib/components/kv-widget-card/kv-widget-card.component.scss +50 -0
  390. package/src/lib/components/kv-widget-card/kv-widget-card.component.spec.ts +28 -0
  391. package/src/lib/components/kv-widget-card/kv-widget-card.component.ts +116 -0
  392. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.html +22 -0
  393. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.scss +36 -0
  394. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.spec.ts +28 -0
  395. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.ts +41 -0
  396. package/src/lib/components/kv-workspace/kv-workspace.module.ts +45 -0
  397. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.html +20 -0
  398. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.scss +0 -0
  399. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.spec.ts +28 -0
  400. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.ts +18 -0
  401. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.html +35 -0
  402. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.scss +29 -0
  403. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.spec.ts +28 -0
  404. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.ts +98 -0
  405. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.html +63 -0
  406. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.scss +62 -0
  407. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.ts +91 -0
  408. package/{public-api.d.ts → src/public-api.ts} +384 -317
  409. package/tsconfig.lib.json +14 -0
  410. package/tsconfig.lib.prod.json +10 -0
  411. package/tsconfig.spec.json +14 -0
  412. package/esm2022/keevo-components.mjs +0 -5
  413. package/esm2022/lib/api/base-components/base-component-button.mjs +0 -39
  414. package/esm2022/lib/api/base-components/base-component-chart.mjs +0 -104
  415. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +0 -308
  416. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +0 -91
  417. package/esm2022/lib/api/base-components/base-component-crud.mjs +0 -80
  418. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +0 -31
  419. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +0 -242
  420. package/esm2022/lib/api/base-components/base-component-input.mjs +0 -101
  421. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +0 -174
  422. package/esm2022/lib/api/base-components/base-component-table.mjs +0 -354
  423. package/esm2022/lib/api/base-components/base-component.mjs +0 -51
  424. package/esm2022/lib/api/components/chart/chart.config.mjs +0 -2
  425. package/esm2022/lib/api/components/chart/chart.model.mjs +0 -2
  426. package/esm2022/lib/api/components/chart/orchart.config.mjs +0 -2
  427. package/esm2022/lib/api/components/chart/orchartnode.mjs +0 -2
  428. package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +0 -2
  429. package/esm2022/lib/api/components/step/step.model.mjs +0 -2
  430. package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +0 -2
  431. package/esm2022/lib/api/components/table/action-item.mjs +0 -2
  432. package/esm2022/lib/api/components/table/kv-menuitem.mjs +0 -46
  433. package/esm2022/lib/api/components/table/table-dropdown-control.mjs +0 -2
  434. package/esm2022/lib/api/components/table/table.config.column.mjs +0 -2
  435. package/esm2022/lib/api/components/table/table.config.mjs +0 -2
  436. package/esm2022/lib/api/components/table/table.paginate.mjs +0 -10
  437. package/esm2022/lib/api/components/table/tabledit.config.mjs +0 -2
  438. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +0 -2
  439. package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +0 -2
  440. package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +0 -3
  441. package/esm2022/lib/api/directives/directives.module.mjs +0 -30
  442. package/esm2022/lib/api/directives/drag/drag.directive.mjs +0 -52
  443. package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +0 -31
  444. package/esm2022/lib/api/directives/template/template.directive.mjs +0 -24
  445. package/esm2022/lib/api/helpers/component-providers.mjs +0 -16
  446. package/esm2022/lib/api/helpers/keevo-validators.mjs +0 -144
  447. package/esm2022/lib/api/helpers/severity-color.mjs +0 -73
  448. package/esm2022/lib/api/helpers/translate-primeng.mjs +0 -23
  449. package/esm2022/lib/api/modules/primeng.module.mjs +0 -287
  450. package/esm2022/lib/api/pipes/capitalize.pipe.mjs +0 -47
  451. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +0 -25
  452. package/esm2022/lib/api/pipes/mask.pipe.mjs +0 -29
  453. package/esm2022/lib/api/pipes/pipes.module.mjs +0 -39
  454. package/esm2022/lib/api/pipes/telefone.pipe.mjs +0 -45
  455. package/esm2022/lib/api/services/base.api.service.mjs +0 -74
  456. package/esm2022/lib/api/services/breadcrumbs.service.mjs +0 -64
  457. package/esm2022/lib/api/services/chat.service.mjs +0 -37
  458. package/esm2022/lib/api/services/component.service.mjs +0 -37
  459. package/esm2022/lib/api/services/docs.service.mjs +0 -129
  460. package/esm2022/lib/api/services/form.service.mjs +0 -95
  461. package/esm2022/lib/api/services/image.cutter.service.mjs +0 -193
  462. package/esm2022/lib/api/services/imagens.service.mjs +0 -28
  463. package/esm2022/lib/api/services/notification.service.mjs +0 -69
  464. package/esm2022/lib/api/services/object.service.mjs +0 -39
  465. package/esm2022/lib/api/services/orgchart.service.mjs +0 -64
  466. package/esm2022/lib/api/services/pdf.service.mjs +0 -48
  467. package/esm2022/lib/api/types/breadcrumb.model.mjs +0 -2
  468. package/esm2022/lib/api/types/severity.mjs +0 -2
  469. package/esm2022/lib/components/keevo-components.module.mjs +0 -239
  470. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +0 -142
  471. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +0 -55
  472. package/esm2022/lib/components/kv-button/kv-button.component.mjs +0 -54
  473. package/esm2022/lib/components/kv-button/kv-button.module.mjs +0 -28
  474. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +0 -25
  475. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +0 -39
  476. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +0 -17
  477. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +0 -17
  478. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +0 -39
  479. package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +0 -60
  480. package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +0 -31
  481. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +0 -34
  482. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +0 -28
  483. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +0 -166
  484. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +0 -32
  485. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.mjs +0 -32
  486. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.mjs +0 -22
  487. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +0 -186
  488. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +0 -44
  489. package/esm2022/lib/components/kv-detailed-list/kv-detailed-list.component.mjs +0 -171
  490. package/esm2022/lib/components/kv-error/kv-error.component.mjs +0 -26
  491. package/esm2022/lib/components/kv-error/kv-error.module.mjs +0 -35
  492. package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +0 -191
  493. package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +0 -23
  494. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +0 -46
  495. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +0 -20
  496. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +0 -68
  497. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +0 -24
  498. package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +0 -29
  499. package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +0 -34
  500. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.component.mjs +0 -92
  501. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.module.mjs +0 -31
  502. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.pipe.mjs +0 -30
  503. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +0 -29
  504. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +0 -28
  505. package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +0 -11
  506. package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +0 -19
  507. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +0 -27
  508. package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +0 -32
  509. package/esm2022/lib/components/kv-icon/kv-icon.component.mjs +0 -31
  510. package/esm2022/lib/components/kv-icon/kv-icon.model.mjs +0 -2
  511. package/esm2022/lib/components/kv-icon/kv-icon.module.mjs +0 -24
  512. package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +0 -136
  513. package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +0 -18
  514. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +0 -29
  515. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +0 -105
  516. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.mjs +0 -18
  517. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.mjs +0 -40
  518. package/esm2022/lib/components/kv-inputs/kv-editor/config/kv-editor.config.mjs +0 -110
  519. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +0 -271
  520. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.mjs +0 -7
  521. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.mjs +0 -135
  522. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.mjs +0 -168
  523. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.mjs +0 -78
  524. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.mjs +0 -95
  525. package/esm2022/lib/components/kv-inputs/kv-editor/types/kv-editor.types.mjs +0 -2
  526. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +0 -163
  527. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +0 -30
  528. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +0 -59
  529. package/esm2022/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.mjs +0 -66
  530. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +0 -33
  531. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +0 -38
  532. package/esm2022/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.mjs +0 -42
  533. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +0 -50
  534. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +0 -43
  535. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +0 -24
  536. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +0 -165
  537. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +0 -60
  538. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +0 -60
  539. package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +0 -46
  540. package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +0 -53
  541. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +0 -42
  542. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +0 -58
  543. package/esm2022/lib/components/kv-label/kv-label.component.mjs +0 -15
  544. package/esm2022/lib/components/kv-label/kv-label.module.mjs +0 -24
  545. package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +0 -28
  546. package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +0 -72
  547. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +0 -454
  548. package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +0 -15
  549. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +0 -16
  550. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +0 -28
  551. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +0 -29
  552. package/esm2022/lib/components/kv-login/kv-login.component.mjs +0 -62
  553. package/esm2022/lib/components/kv-login/kv-login.module.mjs +0 -47
  554. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +0 -98
  555. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +0 -20
  556. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +0 -225
  557. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +0 -59
  558. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +0 -190
  559. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +0 -41
  560. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +0 -205
  561. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +0 -51
  562. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +0 -386
  563. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +0 -39
  564. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +0 -58
  565. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +0 -28
  566. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.mjs +0 -62
  567. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.mjs +0 -28
  568. package/esm2022/lib/components/kv-report/kv-report.component.mjs +0 -44
  569. package/esm2022/lib/components/kv-report/kv-report.module.mjs +0 -24
  570. package/esm2022/lib/components/kv-stacked-bar-chart/kv-stacked-bar-chart.component.mjs +0 -57
  571. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +0 -74
  572. package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +0 -47
  573. package/esm2022/lib/components/kv-steps/kv-steps.component.mjs +0 -105
  574. package/esm2022/lib/components/kv-table/kv-table.component.mjs +0 -680
  575. package/esm2022/lib/components/kv-table/kv-table.module.mjs +0 -40
  576. package/esm2022/lib/components/kv-table-draggable/kv-table-draggable.component.mjs +0 -852
  577. package/esm2022/lib/components/kv-table-draggable/kv-table-draggable.module.mjs +0 -44
  578. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +0 -341
  579. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +0 -45
  580. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +0 -516
  581. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +0 -40
  582. package/esm2022/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.mjs +0 -17
  583. package/esm2022/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.mjs +0 -18
  584. package/esm2022/lib/components/kv-table-viewer/kv-table-viewer.component.mjs +0 -242
  585. package/esm2022/lib/components/kv-tag/kv-tag.component.mjs +0 -19
  586. package/esm2022/lib/components/kv-tag/kv-tag.module.mjs +0 -24
  587. package/esm2022/lib/components/kv-tags/kv-tags.component.mjs +0 -36
  588. package/esm2022/lib/components/kv-tags/kv-tags.module.mjs +0 -27
  589. package/esm2022/lib/components/kv-timeline/kv-timeline.component.mjs +0 -77
  590. package/esm2022/lib/components/kv-tree-environment/components/kv-tree-environment/kv-tree-environment.component.mjs +0 -290
  591. package/esm2022/lib/components/kv-tree-environment/components/no-arvore/no-arvore.component.mjs +0 -94
  592. package/esm2022/lib/components/kv-tree-environment/models/no-arvore.model.mjs +0 -2
  593. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +0 -334
  594. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +0 -39
  595. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +0 -70
  596. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +0 -28
  597. package/esm2022/lib/components/kv-widget-card/kv-widget-card.component.mjs +0 -102
  598. package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +0 -40
  599. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +0 -68
  600. package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +0 -22
  601. package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +0 -78
  602. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +0 -87
  603. package/esm2022/public-api.mjs +0 -322
  604. package/fesm2022/keevo-components.mjs +0 -13679
  605. package/fesm2022/keevo-components.mjs.map +0 -1
  606. package/index.d.ts +0 -5
  607. package/lib/api/base-components/base-component-button.d.ts +0 -15
  608. package/lib/api/base-components/base-component-chart.d.ts +0 -40
  609. package/lib/api/base-components/base-component-crud-form.d.ts +0 -149
  610. package/lib/api/base-components/base-component-crud-list.d.ts +0 -70
  611. package/lib/api/base-components/base-component-crud.d.ts +0 -36
  612. package/lib/api/base-components/base-component-dropdown-external.d.ts +0 -15
  613. package/lib/api/base-components/base-component-dropdown.d.ts +0 -60
  614. package/lib/api/base-components/base-component-input.d.ts +0 -33
  615. package/lib/api/base-components/base-component-multi-select.d.ts +0 -40
  616. package/lib/api/base-components/base-component-table.d.ts +0 -88
  617. package/lib/api/base-components/base-component.d.ts +0 -22
  618. package/lib/api/components/chart/chart.config.d.ts +0 -14
  619. package/lib/api/components/chart/chart.model.d.ts +0 -12
  620. package/lib/api/components/chart/orchart.config.d.ts +0 -41
  621. package/lib/api/components/chart/orchartnode.d.ts +0 -34
  622. package/lib/api/components/dropdown/filtro.combo.d.ts +0 -4
  623. package/lib/api/components/stepper/kv-stepperpanel.d.ts +0 -9
  624. package/lib/api/components/table/action-item.d.ts +0 -13
  625. package/lib/api/components/table/kv-menuitem.d.ts +0 -152
  626. package/lib/api/components/table/table-dropdown-control.d.ts +0 -6
  627. package/lib/api/components/table/table.config.column.d.ts +0 -38
  628. package/lib/api/components/table/table.config.d.ts +0 -36
  629. package/lib/api/components/table/table.paginate.d.ts +0 -10
  630. package/lib/api/components/table/tableedit.config.column.d.ts +0 -11
  631. package/lib/api/components/tree-table/tree-table-keys.d.ts +0 -12
  632. package/lib/api/components/tree-table/tree-table.config.d.ts +0 -31
  633. package/lib/api/directives/directives.module.d.ts +0 -9
  634. package/lib/api/directives/drag/drag.directive.d.ts +0 -11
  635. package/lib/api/directives/stepper/dynamicinput.directive.d.ts +0 -15
  636. package/lib/api/directives/template/template.directive.d.ts +0 -11
  637. package/lib/api/helpers/component-providers.d.ts +0 -2
  638. package/lib/api/helpers/keevo-validators.d.ts +0 -18
  639. package/lib/api/helpers/severity-color.d.ts +0 -5
  640. package/lib/api/helpers/translate-primeng.d.ts +0 -4
  641. package/lib/api/modules/primeng.module.d.ts +0 -70
  642. package/lib/api/pipes/capitalize.pipe.d.ts +0 -10
  643. package/lib/api/pipes/cpfcnpj.pipe.d.ts +0 -7
  644. package/lib/api/pipes/mask.pipe.d.ts +0 -7
  645. package/lib/api/pipes/pipes.module.d.ts +0 -11
  646. package/lib/api/pipes/telefone.pipe.d.ts +0 -7
  647. package/lib/api/services/base.api.service.d.ts +0 -25
  648. package/lib/api/services/breadcrumbs.service.d.ts +0 -16
  649. package/lib/api/services/chat.service.d.ts +0 -17
  650. package/lib/api/services/component.service.d.ts +0 -11
  651. package/lib/api/services/docs.service.d.ts +0 -12
  652. package/lib/api/services/form.service.d.ts +0 -31
  653. package/lib/api/services/image.cutter.service.d.ts +0 -16
  654. package/lib/api/services/imagens.service.d.ts +0 -10
  655. package/lib/api/services/notification.service.d.ts +0 -26
  656. package/lib/api/services/object.service.d.ts +0 -9
  657. package/lib/api/services/orgchart.service.d.ts +0 -20
  658. package/lib/api/services/pdf.service.d.ts +0 -7
  659. package/lib/api/types/breadcrumb.model.d.ts +0 -6
  660. package/lib/components/keevo-components.module.d.ts +0 -39
  661. package/lib/components/kv-avatar/kv-avatar.component.d.ts +0 -36
  662. package/lib/components/kv-avatar/kv-avatar.module.d.ts +0 -15
  663. package/lib/components/kv-button/kv-button.component.d.ts +0 -25
  664. package/lib/components/kv-button/kv-button.module.d.ts +0 -9
  665. package/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.d.ts +0 -11
  666. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +0 -19
  667. package/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.d.ts +0 -7
  668. package/lib/components/kv-buttons/kv-button-success/kv-button-success.component.d.ts +0 -7
  669. package/lib/components/kv-buttons/kv-button.module.d.ts +0 -11
  670. package/lib/components/kv-card-selection/kv-card-selection.component.d.ts +0 -25
  671. package/lib/components/kv-card-selection/kv-card-selection.module.d.ts +0 -10
  672. package/lib/components/kv-carousel/kv-carousel.component.d.ts +0 -17
  673. package/lib/components/kv-carousel/kv-carousel.module.d.ts +0 -9
  674. package/lib/components/kv-chart/kv-chart.component.d.ts +0 -57
  675. package/lib/components/kv-chart/kv-chart.module.d.ts +0 -10
  676. package/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.d.ts +0 -12
  677. package/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.d.ts +0 -10
  678. package/lib/components/kv-content-viewer/kv-content-viewer.component.d.ts +0 -57
  679. package/lib/components/kv-content-viewer/kv-content-viewer.module.d.ts +0 -14
  680. package/lib/components/kv-detailed-list/kv-detailed-list.component.d.ts +0 -62
  681. package/lib/components/kv-error/kv-error.component.d.ts +0 -12
  682. package/lib/components/kv-error/kv-error.module.d.ts +0 -10
  683. package/lib/components/kv-file-upload/kv-file-upload.component.d.ts +0 -35
  684. package/lib/components/kv-file-upload/kv-file-upload.module.d.ts +0 -10
  685. package/lib/components/kv-file-viewer/kv-file-viewer.component.d.ts +0 -21
  686. package/lib/components/kv-file-viewer/kv-file-viewer.module.d.ts +0 -8
  687. package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.d.ts +0 -24
  688. package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.d.ts +0 -9
  689. package/lib/components/kv-filter-card/kv-filter-card.component.d.ts +0 -13
  690. package/lib/components/kv-filter-card/kv-filter-card.module.d.ts +0 -10
  691. package/lib/components/kv-filter-cards/kv-filter-cards.component.d.ts +0 -31
  692. package/lib/components/kv-filter-cards/kv-filter-cards.module.d.ts +0 -9
  693. package/lib/components/kv-filter-cards/kv-filter-cards.pipe.d.ts +0 -7
  694. package/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.d.ts +0 -11
  695. package/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.d.ts +0 -9
  696. package/lib/components/kv-g-icon/kv-g-icon.component.d.ts +0 -5
  697. package/lib/components/kv-g-icon/kv-g-icon.module.d.ts +0 -9
  698. package/lib/components/kv-home-card/kv-home-card.component.d.ts +0 -24
  699. package/lib/components/kv-home-card/kv-home-card.module.d.ts +0 -11
  700. package/lib/components/kv-icon/kv-icon.component.d.ts +0 -23
  701. package/lib/components/kv-icon/kv-icon.module.d.ts +0 -8
  702. package/lib/components/kv-image-upload/kv-image-upload.component.d.ts +0 -34
  703. package/lib/components/kv-image-upload/kv-image-upload.module.d.ts +0 -8
  704. package/lib/components/kv-inputs/kv-check/kv-check.component.d.ts +0 -12
  705. package/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.d.ts +0 -34
  706. package/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.d.ts +0 -8
  707. package/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.d.ts +0 -14
  708. package/lib/components/kv-inputs/kv-editor/config/kv-editor.config.d.ts +0 -55
  709. package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +0 -70
  710. package/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.d.ts +0 -41
  711. package/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.d.ts +0 -41
  712. package/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.d.ts +0 -28
  713. package/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.d.ts +0 -45
  714. package/lib/components/kv-inputs/kv-editor/types/kv-editor.types.d.ts +0 -32
  715. package/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.d.ts +0 -34
  716. package/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.d.ts +0 -12
  717. package/lib/components/kv-inputs/kv-input-number/kv-input-number.component.d.ts +0 -19
  718. package/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.d.ts +0 -21
  719. package/lib/components/kv-inputs/kv-input-password/kv-input-password.component.d.ts +0 -13
  720. package/lib/components/kv-inputs/kv-input-text/kv-input-text.component.d.ts +0 -11
  721. package/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.d.ts +0 -13
  722. package/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.d.ts +0 -18
  723. package/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.d.ts +0 -16
  724. package/lib/components/kv-inputs/kv-input-time/kv-input-time.component.d.ts +0 -10
  725. package/lib/components/kv-inputs/kv-inputs.module.d.ts +0 -38
  726. package/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.d.ts +0 -20
  727. package/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.d.ts +0 -20
  728. package/lib/components/kv-inputs/kv-select-button/kv-select-button.component.d.ts +0 -19
  729. package/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.d.ts +0 -36
  730. package/lib/components/kv-inputs/kv-switch/kv-switch.component.d.ts +0 -16
  731. package/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.d.ts +0 -25
  732. package/lib/components/kv-label/kv-label.component.d.ts +0 -7
  733. package/lib/components/kv-label/kv-label.module.d.ts +0 -8
  734. package/lib/components/kv-layout/dropdown-master/dropdown-master.component.d.ts +0 -12
  735. package/lib/components/kv-layout/kv-layout.module.d.ts +0 -18
  736. package/lib/components/kv-layout/layout/kv-layout.component.d.ts +0 -159
  737. package/lib/components/kv-layout/top-icons/top-icons.component.d.ts +0 -16
  738. package/lib/components/kv-loader/kv-loader.component.d.ts +0 -7
  739. package/lib/components/kv-loader/kv-loader.module.d.ts +0 -9
  740. package/lib/components/kv-loader/kv-loader.service.d.ts +0 -10
  741. package/lib/components/kv-login/kv-login.component.d.ts +0 -32
  742. package/lib/components/kv-login/kv-login.module.d.ts +0 -13
  743. package/lib/components/kv-modal/kv-modal.component.d.ts +0 -27
  744. package/lib/components/kv-modal/kv-modal.module.d.ts +0 -10
  745. package/lib/components/kv-orgchart/kv-orgchart.component.d.ts +0 -45
  746. package/lib/components/kv-orgchart/kv-orgchart.module.d.ts +0 -17
  747. package/lib/components/kv-page-form/kv-page-form.component.d.ts +0 -98
  748. package/lib/components/kv-page-form/kv-page-form.module.d.ts +0 -12
  749. package/lib/components/kv-page-stepper/kv-page-stepper.component.d.ts +0 -84
  750. package/lib/components/kv-page-stepper/kv-page-stepper.module.d.ts +0 -14
  751. package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +0 -70
  752. package/lib/components/kv-pick-list/kv-pick-list.module.d.ts +0 -11
  753. package/lib/components/kv-progress-bar/kv-progress-bar.component.d.ts +0 -67
  754. package/lib/components/kv-progress-bar/kv-progress-bar.module.d.ts +0 -9
  755. package/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.d.ts +0 -71
  756. package/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.d.ts +0 -9
  757. package/lib/components/kv-report/kv-report.component.d.ts +0 -18
  758. package/lib/components/kv-report/kv-report.module.d.ts +0 -8
  759. package/lib/components/kv-stacked-bar-chart/kv-stacked-bar-chart.component.d.ts +0 -40
  760. package/lib/components/kv-stepper/kv-stepper.component.d.ts +0 -32
  761. package/lib/components/kv-stepper/kv-stepper.module.d.ts +0 -13
  762. package/lib/components/kv-steps/kv-steps.component.d.ts +0 -21
  763. package/lib/components/kv-table/kv-table.component.d.ts +0 -157
  764. package/lib/components/kv-table/kv-table.module.d.ts +0 -12
  765. package/lib/components/kv-table-draggable/kv-table-draggable.component.d.ts +0 -161
  766. package/lib/components/kv-table-draggable/kv-table-draggable.module.d.ts +0 -13
  767. package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +0 -66
  768. package/lib/components/kv-table-edit/kv-table-edit.module.d.ts +0 -15
  769. package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +0 -119
  770. package/lib/components/kv-table-expandable/kv-table-expandable.module.d.ts +0 -13
  771. package/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.d.ts +0 -8
  772. package/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.d.ts +0 -7
  773. package/lib/components/kv-table-viewer/kv-table-viewer.component.d.ts +0 -95
  774. package/lib/components/kv-tag/kv-tag.component.d.ts +0 -8
  775. package/lib/components/kv-tag/kv-tag.module.d.ts +0 -8
  776. package/lib/components/kv-tags/kv-tags.component.d.ts +0 -33
  777. package/lib/components/kv-tags/kv-tags.module.d.ts +0 -8
  778. package/lib/components/kv-timeline/kv-timeline.component.d.ts +0 -20
  779. package/lib/components/kv-tree-environment/components/kv-tree-environment/kv-tree-environment.component.d.ts +0 -49
  780. package/lib/components/kv-tree-environment/components/no-arvore/no-arvore.component.d.ts +0 -24
  781. package/lib/components/kv-tree-environment/models/no-arvore.model.d.ts +0 -57
  782. package/lib/components/kv-tree-table/kv-tree-table.component.d.ts +0 -87
  783. package/lib/components/kv-tree-table/kv-tree-table.module.d.ts +0 -11
  784. package/lib/components/kv-tree-view/kv-tree-view.component.d.ts +0 -21
  785. package/lib/components/kv-tree-view/kv-tree-view.module.d.ts +0 -9
  786. package/lib/components/kv-widget-card/kv-widget-card.component.d.ts +0 -60
  787. package/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.d.ts +0 -14
  788. package/lib/components/kv-workspace/kv-workspace.module.d.ts +0 -19
  789. package/lib/components/kv-workspace/logo/kv-workspace-logo.component.d.ts +0 -11
  790. package/lib/components/kv-workspace/master/kv-workspace-master.component.d.ts +0 -25
  791. package/lib/components/kv-workspace/workspace/kv-workspace.component.d.ts +0 -37
@@ -1,40 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { KvTableExpandableComponent } from './kv-table-expandable.component';
4
- import { FormsModule } from '@angular/forms';
5
- import { KvButtonsModule } from '../kv-buttons/kv-button.module';
6
- import { KvInputsModule } from '../kv-inputs/kv-inputs.module';
7
- import { PrimeNgModule } from '../../api/modules/primeng.module';
8
- import { KvButtonModule } from '../kv-button/kv-button.module';
9
- import * as i0 from "@angular/core";
10
- export class KvTableExpandableModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableExpandableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvTableExpandableModule, declarations: [KvTableExpandableComponent], imports: [CommonModule,
13
- PrimeNgModule,
14
- FormsModule,
15
- KvInputsModule,
16
- KvButtonsModule,
17
- KvButtonModule], exports: [KvTableExpandableComponent] }); }
18
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableExpandableModule, imports: [CommonModule,
19
- PrimeNgModule,
20
- FormsModule,
21
- KvInputsModule,
22
- KvButtonsModule,
23
- KvButtonModule] }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableExpandableModule, decorators: [{
26
- type: NgModule,
27
- args: [{
28
- declarations: [KvTableExpandableComponent],
29
- imports: [
30
- CommonModule,
31
- PrimeNgModule,
32
- FormsModule,
33
- KvInputsModule,
34
- KvButtonsModule,
35
- KvButtonModule
36
- ],
37
- exports: [KvTableExpandableComponent]
38
- }]
39
- }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtdGFibGUtZXhwYW5kYWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi10YWJsZS1leHBhbmRhYmxlL2t2LXRhYmxlLWV4cGFuZGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBYy9ELE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCLGlCQVhuQiwwQkFBMEIsYUFFdkMsWUFBWTtZQUNaLGFBQWE7WUFDYixXQUFXO1lBQ1gsY0FBYztZQUNkLGVBQWU7WUFDZixjQUFjLGFBRU4sMEJBQTBCOytHQUV6Qix1QkFBdUIsWUFUaEMsWUFBWTtZQUNaLGFBQWE7WUFDYixXQUFXO1lBQ1gsY0FBYztZQUNkLGVBQWU7WUFDZixjQUFjOzsyRkFJTCx1QkFBdUI7a0JBWm5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQzFDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBLdlRhYmxlRXhwYW5kYWJsZUNvbXBvbmVudCB9IGZyb20gJy4va3YtdGFibGUtZXhwYW5kYWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgS3ZCdXR0b25zTW9kdWxlIH0gZnJvbSAnLi4va3YtYnV0dG9ucy9rdi1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi9rdi1pbnB1dHMva3YtaW5wdXRzLm1vZHVsZSc7XHJcbmltcG9ydCB7IFByaW1lTmdNb2R1bGUgfSBmcm9tICcuLi8uLi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4va3YtYnV0dG9uL2t2LWJ1dHRvbi5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtLdlRhYmxlRXhwYW5kYWJsZUNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUHJpbWVOZ01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgS3ZJbnB1dHNNb2R1bGUsXHJcbiAgICBLdkJ1dHRvbnNNb2R1bGUsXHJcbiAgICBLdkJ1dHRvbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0t2VGFibGVFeHBhbmRhYmxlQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZUYWJsZUV4cGFuZGFibGVNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { Component, input } from '@angular/core';
2
- import { KvButtonModule } from '../../../kv-button/kv-button.module';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../kv-button/kv-button.component";
5
- export class ActionsLoteFieldComponent {
6
- constructor() {
7
- this.selectedItems = input([]);
8
- this.actionsLote = input(undefined);
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ActionsLoteFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: ActionsLoteFieldComponent, isStandalone: true, selector: "actions-lote-field", inputs: { selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: true, isRequired: false, transformFunction: null }, actionsLote: { classPropertyName: "actionsLote", publicName: "actionsLote", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\r\n class=\"h-full flex flex-column gap-8 align-items-center justify-content-center\"\r\n>\r\n <div class=\"flex flex-column gap-3 align-items-center justify-content-center\">\r\n <img\r\n src=\"https://work-assets.keevo.com.br/img/Sem_Dados.png\"\r\n class=\"h-5rem w-auto\"\r\n />\r\n <span class=\"text-gray-600 text-sm font-medium\"\r\n >{{ this.selectedItems()?.length }} itens selecionados</span\r\n >\r\n </div>\r\n\r\n <div class=\"flex flex-column gap-2\">\r\n @if(actionsLote()) { @for(action of actionsLote(); track $index) {\r\n <kv-button\r\n [icon]=\"action?.icon || ''\"\r\n [label]=\"action?.label || ''\"\r\n severity=\"secondary\"\r\n type=\"text\"\r\n (onClick)=\"action?.command($event)\"\r\n />\r\n } }\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: KvButtonModule }, { kind: "component", type: i1.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }] }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ActionsLoteFieldComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'actions-lote-field', standalone: true, imports: [KvButtonModule], template: "<div\r\n class=\"h-full flex flex-column gap-8 align-items-center justify-content-center\"\r\n>\r\n <div class=\"flex flex-column gap-3 align-items-center justify-content-center\">\r\n <img\r\n src=\"https://work-assets.keevo.com.br/img/Sem_Dados.png\"\r\n class=\"h-5rem w-auto\"\r\n />\r\n <span class=\"text-gray-600 text-sm font-medium\"\r\n >{{ this.selectedItems()?.length }} itens selecionados</span\r\n >\r\n </div>\r\n\r\n <div class=\"flex flex-column gap-2\">\r\n @if(actionsLote()) { @for(action of actionsLote(); track $index) {\r\n <kv-button\r\n [icon]=\"action?.icon || ''\"\r\n [label]=\"action?.label || ''\"\r\n severity=\"secondary\"\r\n type=\"text\"\r\n (onClick)=\"action?.command($event)\"\r\n />\r\n } }\r\n </div>\r\n</div>\r\n" }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1sb3RlLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLXZpZXdlci9jb21wb25lbnRzL2FjdGlvbnMtbG90ZS1maWVsZC9hY3Rpb25zLWxvdGUtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtdGFibGUtdmlld2VyL2NvbXBvbmVudHMvYWN0aW9ucy1sb3RlLWZpZWxkL2FjdGlvbnMtbG90ZS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUE7OztBQVNwRSxNQUFNLE9BQU8seUJBQXlCO0lBUHRDO1FBU0Usa0JBQWEsR0FBRyxLQUFLLENBQVEsRUFBRSxDQUFDLENBQUM7UUFFakMsZ0JBQVcsR0FBRyxLQUFLLENBQXlCLFNBQVMsQ0FBQyxDQUFDO0tBQ3hEOzhHQUxZLHlCQUF5QjtrR0FBekIseUJBQXlCLG9YQ1h0Qyx3ekJBeUJBLHlERGxCWSxjQUFjOzsyRkFJYix5QkFBeUI7a0JBUHJDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IEt2QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4va3YtYnV0dG9uL2t2LWJ1dHRvbi5tb2R1bGUnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FjdGlvbnMtbG90ZS1maWVsZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbS3ZCdXR0b25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb25zLWxvdGUtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hY3Rpb25zLWxvdGUtZmllbGQuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25zTG90ZUZpZWxkQ29tcG9uZW50IHtcclxuXHJcbiAgc2VsZWN0ZWRJdGVtcyA9IGlucHV0PGFueVtdPihbXSk7XHJcblxyXG4gIGFjdGlvbnNMb3RlID0gaW5wdXQ8TWVudUl0ZW1bXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJoLWZ1bGwgZmxleCBmbGV4LWNvbHVtbiBnYXAtOCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBnYXAtMyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgPGltZ1xyXG4gICAgICBzcmM9XCJodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9pbWcvU2VtX0RhZG9zLnBuZ1wiXHJcbiAgICAgIGNsYXNzPVwiaC01cmVtIHctYXV0b1wiXHJcbiAgICAvPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWdyYXktNjAwIHRleHQtc20gZm9udC1tZWRpdW1cIlxyXG4gICAgICA+e3sgdGhpcy5zZWxlY3RlZEl0ZW1zKCk/Lmxlbmd0aCB9fSBpdGVucyBzZWxlY2lvbmFkb3M8L3NwYW5cclxuICAgID5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gZ2FwLTJcIj5cclxuICAgIEBpZihhY3Rpb25zTG90ZSgpKSB7IEBmb3IoYWN0aW9uIG9mIGFjdGlvbnNMb3RlKCk7IHRyYWNrICRpbmRleCkge1xyXG4gICAgPGt2LWJ1dHRvblxyXG4gICAgICBbaWNvbl09XCJhY3Rpb24/Lmljb24gfHwgJydcIlxyXG4gICAgICBbbGFiZWxdPVwiYWN0aW9uPy5sYWJlbCB8fCAnJ1wiXHJcbiAgICAgIHNldmVyaXR5PVwic2Vjb25kYXJ5XCJcclxuICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAob25DbGljayk9XCJhY3Rpb24/LmNvbW1hbmQoJGV2ZW50KVwiXHJcbiAgICAvPlxyXG4gICAgfSB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Component, input } from '@angular/core';
2
- import { TieredMenuModule } from 'primeng/tieredmenu';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "primeng/tieredmenu";
5
- import * as i2 from "primeng/tooltip";
6
- import * as i3 from "primeng/api";
7
- export class ActionsRowMenuComponent {
8
- constructor() {
9
- this.actionsRow = input(undefined);
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ActionsRowMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.8", type: ActionsRowMenuComponent, isStandalone: true, selector: "actions-row-menu", inputs: { actionsRow: { classPropertyName: "actionsRow", publicName: "actionsRow", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span\r\n class=\"text-lg right-0 pr-2 material-symbols-outlined cursor-pointer text-gray-800 hover:text-gray-600 transition-all transition-duration-300 absolute\"\r\n (click)=\"menu.toggle($event)\"\r\n>\r\n more_vert\r\n</span>\r\n\r\n<p-tieredMenu #menu [popup]=\"true\" [model]=\"actionsRow()\" appendTo=\"body\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div\r\n [pTooltip]=\"item.tooltip\"\r\n tooltipPosition=\"left\"\r\n class=\"cursor-pointer h-2rem flex align-items-center\"\r\n >\r\n <span class=\"text-sm pl-2\">\r\n {{ item.label }}\r\n </span>\r\n </div>\r\n </ng-template>\r\n</p-tieredMenu>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TieredMenuModule }, { kind: "component", type: i1.TieredMenu, selector: "p-tieredMenu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ActionsRowMenuComponent, decorators: [{
15
- type: Component,
16
- args: [{ selector: 'actions-row-menu', standalone: true, imports: [TieredMenuModule], template: "<span\r\n class=\"text-lg right-0 pr-2 material-symbols-outlined cursor-pointer text-gray-800 hover:text-gray-600 transition-all transition-duration-300 absolute\"\r\n (click)=\"menu.toggle($event)\"\r\n>\r\n more_vert\r\n</span>\r\n\r\n<p-tieredMenu #menu [popup]=\"true\" [model]=\"actionsRow()\" appendTo=\"body\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div\r\n [pTooltip]=\"item.tooltip\"\r\n tooltipPosition=\"left\"\r\n class=\"cursor-pointer h-2rem flex align-items-center\"\r\n >\r\n <span class=\"text-sm pl-2\">\r\n {{ item.label }}\r\n </span>\r\n </div>\r\n </ng-template>\r\n</p-tieredMenu>\r\n" }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1yb3ctbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi10YWJsZS12aWV3ZXIvY29tcG9uZW50cy9hY3Rpb25zLXJvdy1tZW51L2FjdGlvbnMtcm93LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtdGFibGUtdmlld2VyL2NvbXBvbmVudHMvYWN0aW9ucy1yb3ctbWVudS9hY3Rpb25zLXJvdy1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQVN0RCxNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBUUUsZUFBVSxHQUFHLEtBQUssQ0FBeUIsU0FBUyxDQUFDLENBQUM7S0FDdkQ7OEdBRlksdUJBQXVCO2tHQUF2Qix1QkFBdUIsK05DWHBDLDJwQkFvQkEseUREYlksZ0JBQWdCOzsyRkFJZix1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgVGllcmVkTWVudU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGllcmVkbWVudSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FjdGlvbnMtcm93LW1lbnUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1RpZXJlZE1lbnVNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb25zLXJvdy1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWN0aW9ucy1yb3ctbWVudS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGlvbnNSb3dNZW51Q29tcG9uZW50IHtcclxuICBhY3Rpb25zUm93ID0gaW5wdXQ8TWVudUl0ZW1bXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxufVxyXG4iLCI8c3BhblxyXG4gIGNsYXNzPVwidGV4dC1sZyByaWdodC0wIHByLTIgbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBjdXJzb3ItcG9pbnRlciB0ZXh0LWdyYXktODAwIGhvdmVyOnRleHQtZ3JheS02MDAgdHJhbnNpdGlvbi1hbGwgdHJhbnNpdGlvbi1kdXJhdGlvbi0zMDAgYWJzb2x1dGVcIlxyXG4gIChjbGljayk9XCJtZW51LnRvZ2dsZSgkZXZlbnQpXCJcclxuPlxyXG4gIG1vcmVfdmVydFxyXG48L3NwYW4+XHJcblxyXG48cC10aWVyZWRNZW51ICNtZW51IFtwb3B1cF09XCJ0cnVlXCIgW21vZGVsXT1cImFjdGlvbnNSb3coKVwiIGFwcGVuZFRvPVwiYm9keVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIFtwVG9vbHRpcF09XCJpdGVtLnRvb2x0aXBcIlxyXG4gICAgICB0b29sdGlwUG9zaXRpb249XCJsZWZ0XCJcclxuICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBoLTJyZW0gZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gcGwtMlwiPlxyXG4gICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLXRpZXJlZE1lbnU+XHJcbiJdfQ==
@@ -1,242 +0,0 @@
1
- import { Component, computed, contentChildren, effect, inject, input, output, signal, untracked, ViewChild } from '@angular/core';
2
- import { ButtonModule } from 'primeng/button';
3
- import { SkeletonModule } from 'primeng/skeleton';
4
- import { TableModule } from 'primeng/table';
5
- import { KvInputsModule } from "../kv-inputs/kv-inputs.module";
6
- import { KvButtonModule } from "../kv-button/kv-button.module";
7
- import { OverlayPanelModule } from 'primeng/overlaypanel';
8
- import { ActionsLoteFieldComponent } from './components/actions-lote-field/actions-lote-field.component';
9
- import { KvTagsModule } from "../kv-tags/kv-tags.module";
10
- import { CommonModule, DatePipe } from '@angular/common';
11
- import { animate, state, style, transition, trigger } from '@angular/animations';
12
- import { TooltipModule } from 'primeng/tooltip';
13
- import { TieredMenuModule } from 'primeng/tieredmenu';
14
- import { ActionsRowMenuComponent } from './components/actions-row-menu/actions-row-menu.component';
15
- import { CpfCnpjPipe } from '../../api/pipes/cpfcnpj.pipe';
16
- import { TelefonePipe } from '../../api/pipes/telefone.pipe';
17
- import { TemplateDirective } from '../../api/directives/template/template.directive';
18
- import { FormsModule } from '@angular/forms';
19
- import { InputTextModule } from 'primeng/inputtext';
20
- import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
21
- import * as i0 from "@angular/core";
22
- import * as i1 from "primeng/inputtext";
23
- import * as i2 from "@angular/common";
24
- import * as i3 from "primeng/tooltip";
25
- import * as i4 from "primeng/table";
26
- import * as i5 from "primeng/api";
27
- import * as i6 from "../kv-button/kv-button.component";
28
- import * as i7 from "primeng/overlaypanel";
29
- import * as i8 from "../kv-tags/kv-tags.component";
30
- import * as i9 from "@angular/forms";
31
- export class KvTableViewerComponent {
32
- constructor() {
33
- this.cpfCnpjPipe = inject(CpfCnpjPipe);
34
- this.telefonePipe = inject(TelefonePipe);
35
- this.datePipe = inject(DatePipe);
36
- this.breakpointObserver = inject(BreakpointObserver);
37
- this.columns = input([]);
38
- this.actionsRow = input([]);
39
- this.actionsHeader = input(undefined);
40
- this.actionsLote = input(undefined);
41
- this.data = input([]);
42
- this.totalRecords = input(0);
43
- this.loading = input(false);
44
- this.rows = input(10);
45
- this.rowsPerPageOptions = input([10, 25, 50]);
46
- this.paginator = input(true);
47
- this.lazy = input(true);
48
- this.scrollable = input(true);
49
- this.pageLinks = input(2);
50
- this.currentPageReportTemplate = input('{first} - {last} de {totalRecords}');
51
- this.selectionPageOnly = input(true);
52
- this.selectableTable = input(true);
53
- this.showHeader = input(true);
54
- this.showHeaderTemplate = input(false);
55
- this.tableViewerSize = input('col-8');
56
- this.searchInput = input(true);
57
- this.filterButton = input(true);
58
- this.idName = input(undefined);
59
- this.emptyTableImg = input('https://work-assets.keevo.com.br/img/Nenhum_registro_localizado.png');
60
- this.isSelectedPrimaryItem = input(false);
61
- this.selectedItems = signal([]);
62
- this.selectedItem = signal(null);
63
- this.first = signal(0);
64
- this.searchValue = signal('');
65
- this.lastEmittedSort = signal(null);
66
- this.isMobile = signal(false);
67
- this.onPageChange = output();
68
- this.onClickRowItem = output();
69
- this.onSelectItems = output();
70
- this.onSearch = output();
71
- this.onSort = output();
72
- this.templates = contentChildren(TemplateDirective);
73
- this._templates = input({}, { alias: 'templates' });
74
- this.getCustomTemplate = computed(() => (templatename) => {
75
- const templates = this._templates();
76
- return templates[templatename];
77
- });
78
- this.isRowSelected = computed(() => {
79
- return this.selectedItems()?.length > 0 || this.selectedItem();
80
- });
81
- this.verifyItemSelecionado = computed(() => (rowData) => {
82
- let isSelected;
83
- let idName = this.idName() || 'id';
84
- if (this.selectableTable())
85
- isSelected = this.selectedItems().find((item) => item[idName] == rowData[idName]);
86
- else
87
- isSelected = this.selectedItem()?.[idName] == rowData[idName];
88
- return isSelected;
89
- });
90
- this.transformData = computed(() => (type, value) => {
91
- if (type === 'cpfcnpj')
92
- return this.cpfCnpjPipe.transform(value);
93
- if (type === 'telefone')
94
- return this.telefonePipe.transform(value);
95
- if (type === 'money')
96
- return this.transformMoney(value);
97
- if (type === 'date')
98
- return this.datePipe.transform(value, 'dd/MM/yyyy', 'UTC');
99
- if (type === 'datetime')
100
- return this.datePipe.transform(value, 'dd/MM/yyyy hh:mm');
101
- if (type === 'dateMonthYear')
102
- return this.datePipe.transform(value, 'MM/yyyy');
103
- else
104
- return value;
105
- });
106
- this.handleTableSize = computed(() => {
107
- const selectedItems = this.selectedItems();
108
- const selectedItem = this.selectedItem();
109
- if (selectedItems?.length == 0 && !selectedItem)
110
- return 'col-12';
111
- else
112
- return this.tableViewerSize();
113
- });
114
- this.isPopupButton = computed(() => (action) => {
115
- return (action.items && action.items?.length > 0) || false;
116
- });
117
- this.hasActionsRow = computed(() => {
118
- return this.actionsRow()?.length > 0;
119
- });
120
- this.showSelectedItem = computed(() => {
121
- return this.selectedItems()?.length == 1 || this.selectedItem();
122
- });
123
- this.hasSelectedItems = computed(() => {
124
- return this.selectedItems()?.length > 1;
125
- });
126
- this.showForce = input(false);
127
- this.returnColspan = computed(() => {
128
- return this.columns().length + 1;
129
- });
130
- this.isEmptyTable = computed(() => {
131
- return this.data()?.length == 0;
132
- });
133
- this.breakpointObserver
134
- .observe([Breakpoints.HandsetPortrait, '(max-width: 768px)'])
135
- .subscribe(state => this.isMobile.set(state.matches));
136
- effect(() => {
137
- this.onSelectItems.emit(this.selectedItems());
138
- this.onSearch.emit(this.searchValue());
139
- });
140
- effect(() => {
141
- const dados = this.data();
142
- const isSelectedPrimaryItem = this.isSelectedPrimaryItem();
143
- if (dados && dados.length > 0 && isSelectedPrimaryItem) {
144
- untracked(() => this.rowSelect(dados[0]));
145
- }
146
- });
147
- }
148
- toggleOverlayPanel(event) {
149
- this.op.toggle(event);
150
- }
151
- closeFilter() {
152
- this.op?.hide();
153
- }
154
- toggleFilter(event) {
155
- this.op?.toggle(event);
156
- }
157
- handlePageChange(event) {
158
- this.first.set(event.first);
159
- this.onPageChange.emit(event);
160
- }
161
- handleSort(event) {
162
- const currentSortState = this.lastEmittedSort();
163
- if (currentSortState && currentSortState.field === event.field && currentSortState.order === event.order) {
164
- return;
165
- }
166
- this.lastEmittedSort.set({ field: event.field, order: event.order });
167
- let ordenacao = `${event.field} ${event.order === 1 ? 'ASC' : 'DESC'} `;
168
- let ordernacaoGroup = { column: event.field, direction: event.order === 1 ? 'ASC' : 'DESC' };
169
- this.onSort.emit({ ordenacao: ordenacao, ordernacaoGroup: ordernacaoGroup });
170
- }
171
- rowSelect(rowData) {
172
- if (this.selectableTable()) {
173
- if (this.selectedItems().includes(rowData))
174
- this.selectedItems.update((items) => items.filter(item => item !== rowData));
175
- else
176
- this.selectedItems.update((items) => [...items, rowData]);
177
- if (this.selectedItems()?.length === 1)
178
- this.onClickRowItem.emit(this.selectedItems()[0]);
179
- else
180
- this.onClickRowItem.emit(rowData);
181
- }
182
- else {
183
- this.selectedItem.set(rowData);
184
- this.onClickRowItem.emit(rowData);
185
- }
186
- }
187
- transformMoney(valor) {
188
- const formatter = new Intl.NumberFormat('pt-BR', {
189
- style: 'currency',
190
- currency: 'BRL',
191
- });
192
- return formatter.format(valor);
193
- }
194
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
195
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTableViewerComponent, isStandalone: true, selector: "kv-table-viewer", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, actionsRow: { classPropertyName: "actionsRow", publicName: "actionsRow", isSignal: true, isRequired: false, transformFunction: null }, actionsHeader: { classPropertyName: "actionsHeader", publicName: "actionsHeader", isSignal: true, isRequired: false, transformFunction: null }, actionsLote: { classPropertyName: "actionsLote", publicName: "actionsLote", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, rowsPerPageOptions: { classPropertyName: "rowsPerPageOptions", publicName: "rowsPerPageOptions", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: true, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, pageLinks: { classPropertyName: "pageLinks", publicName: "pageLinks", isSignal: true, isRequired: false, transformFunction: null }, currentPageReportTemplate: { classPropertyName: "currentPageReportTemplate", publicName: "currentPageReportTemplate", isSignal: true, isRequired: false, transformFunction: null }, selectionPageOnly: { classPropertyName: "selectionPageOnly", publicName: "selectionPageOnly", isSignal: true, isRequired: false, transformFunction: null }, selectableTable: { classPropertyName: "selectableTable", publicName: "selectableTable", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, showHeaderTemplate: { classPropertyName: "showHeaderTemplate", publicName: "showHeaderTemplate", isSignal: true, isRequired: false, transformFunction: null }, tableViewerSize: { classPropertyName: "tableViewerSize", publicName: "tableViewerSize", isSignal: true, isRequired: false, transformFunction: null }, searchInput: { classPropertyName: "searchInput", publicName: "searchInput", isSignal: true, isRequired: false, transformFunction: null }, filterButton: { classPropertyName: "filterButton", publicName: "filterButton", isSignal: true, isRequired: false, transformFunction: null }, idName: { classPropertyName: "idName", publicName: "idName", isSignal: true, isRequired: false, transformFunction: null }, emptyTableImg: { classPropertyName: "emptyTableImg", publicName: "emptyTableImg", isSignal: true, isRequired: false, transformFunction: null }, isSelectedPrimaryItem: { classPropertyName: "isSelectedPrimaryItem", publicName: "isSelectedPrimaryItem", isSignal: true, isRequired: false, transformFunction: null }, _templates: { classPropertyName: "_templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null }, showForce: { classPropertyName: "showForce", publicName: "showForce", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageChange: "onPageChange", onClickRowItem: "onClickRowItem", onSelectItems: "onSelectItems", onSearch: "onSearch", onSort: "onSort" }, queries: [{ propertyName: "templates", predicate: TemplateDirective, isSignal: true }], viewQueries: [{ propertyName: "op", first: true, predicate: ["op"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"h-full flex flex-row p-2 kv-table-viewer overflow-hidden {{\r\n isEmptyTable() ? 'empty-table' : ''\r\n }}\"\r\n>\r\n @if(!this.selectedItem() || !isMobile() && !selectableTable()) {\r\n <div\r\n class=\"h-full {{ handleTableSize() }} m-0 p-0 flex flex-column gap-2\"\r\n [style.transition]=\"'all 0.3s ease-in-out'\"\r\n >\r\n @if(showHeaderTemplate()) {\r\n <div>\r\n <ng-content select=\"[tableHeaderTemplate]\"> </ng-content>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between flex-initial\"\r\n >\r\n <div class=\"flex flex-row align-items-center gap-2\">\r\n @if(searchInput()) {\r\n <input\r\n style=\"height: 1.875rem\"\r\n placeholder=\"Pesquisar...\"\r\n type=\"text\"\r\n pInputText\r\n [(ngModel)]=\"searchValue\"\r\n class=\"text-xs\"\r\n />\r\n\r\n } @if(filterButton()) {\r\n <kv-button\r\n label=\"Filtrar\"\r\n icon=\"filter_alt\"\r\n severity=\"tertiary\"\r\n (onClick)=\"toggleOverlayPanel($event)\"\r\n ></kv-button>\r\n }\r\n\r\n <p-overlayPanel #op [dismissable]=\"false\">\r\n <ng-content select=\"[filtro]\"> </ng-content>\r\n </p-overlayPanel>\r\n </div>\r\n <div class=\"flex flex-row gap-2\">\r\n @if(actionsHeader()) { @for(action of actionsHeader(); track $index) {\r\n <kv-button\r\n [icon]=\"action?.icon || ''\"\r\n [label]=\"action?.label || ''\"\r\n [severity]=\"action['severity'] || 'tertiary'\"\r\n (onClick)=\"action?.command($event)\"\r\n [popupIcon]=\"false\"\r\n [items]=\"action.items || []\"\r\n [popup]=\"isPopupButton()(action)\"\r\n ></kv-button>\r\n } } @if(selectedItem()) {\r\n <kv-button\r\n [pTooltip]=\"'Recolher'\"\r\n icon=\"reorder\"\r\n severity=\"tertiary\"\r\n (onClick)=\"selectedItem.set(null)\"\r\n ></kv-button>\r\n }\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-1 h-full overflow-hidden\">\r\n <p-table\r\n [value]=\"data()\"\r\n [lazy]=\"lazy()\"\r\n [selectionPageOnly]=\"selectionPageOnly()\"\r\n [columns]=\"columns()\"\r\n [paginator]=\"paginator()\"\r\n [rows]=\"rows()\"\r\n [totalRecords]=\"totalRecords()\"\r\n [loading]=\"loading()\"\r\n [pageLinks]=\"pageLinks()\"\r\n [first]=\"first()\"\r\n [scrollable]=\"scrollable()\"\r\n scrollHeight=\"flex\"\r\n [showCurrentPageReport]=\"true\"\r\n [currentPageReportTemplate]=\"currentPageReportTemplate()\"\r\n (onPage)=\"handlePageChange($event)\"\r\n (onSort)=\"handleSort($event)\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\r\n [(selection)]=\"selectedItems\"\r\n styleClass=\"p-datatable-sm text-xs overflow-y-auto h-full flex flex-column h-full\"\r\n >\r\n @if(showHeader()) {\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @if(selectableTable()) {\r\n <th style=\"width: 4rem\"><p-tableHeaderCheckbox /></th>\r\n } @for (col of columns; track col.field) {\r\n <th\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"!col?.sortable\"\r\n [style]=\"{ width: col.width || 'auto' }\"\r\n >\r\n <div class=\"flex flex-row align-items-center gap-1\">\r\n <span>{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon [field]=\"col.field\" class=\"pb-1\"></p-sortIcon>\r\n }\r\n </div>\r\n </th>\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\r\n <tr\r\n class=\"cursor-pointer {{\r\n verifyItemSelecionado()(rowData) && 'bg-gray-100'\r\n }} hover:bg-gray-200\"\r\n >\r\n @if(selectableTable()) {\r\n <td><p-tableCheckbox [value]=\"rowData\" /></td>\r\n } @for (col of columns; track col.field) {\r\n <td (click)=\"rowSelect(rowData)\" style=\"word-break: break-all;\">\r\n @if(col?.template) {\r\n <div class=\"flex flex-row gap-2 align-items-center\">\r\n @if (getCustomTemplate()(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate()(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n />\r\n }\r\n </div>\r\n } @else if(col?.icon) {\r\n <span class=\"material-symbols-outlined text-lg\">\r\n {{ col.icon(rowData) }}\r\n </span>\r\n } @else if(col?.tag) {\r\n <kv-tags [tags]=\"[col.tag(rowData)]\" />\r\n } @else {\r\n {{ transformData()(col.pipe, rowData[col.field]) }}\r\n }\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td [attr.colspan]=\"returnColspan()\">\r\n <div\r\n class=\"w-full h-full flex align-items-center justify-content-center\"\r\n >\r\n <img [src]=\"emptyTableImg()\" class=\"h-10rem w-auto\" />\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n\r\n }\r\n\r\n <div\r\n class=\"shadow-2 p-0 m-0 col selected-item-field ml-2 flex flex-column\"\r\n [@slideInOut]=\"isRowSelected() ? 'i.n' : 'out'\"\r\n [style.overflow]=\"'hidden'\"\r\n >\r\n @if(hasSelectedItems()) {\r\n <actions-lote-field\r\n class=\"h-full\"\r\n [selectedItems]=\"selectedItems()\"\r\n [actionsLote]=\"actionsLote()\"\r\n />\r\n } @else if(showSelectedItem() || showForce()) {\r\n <div class=\"bg-gray-100 w-full h-auto p-2 relative\">\r\n @if(hasActionsRow()) {\r\n <actions-row-menu [actionsRow]=\"actionsRow()\" />\r\n }\r\n\r\n @if(isMobile()) {\r\n <div class=\"h-2rem w-2rem\">\r\n <kv-button\r\n icon=\"arrow_back\"\r\n severity=\"tertiary\"\r\n [pTooltip]=\"'Voltar'\"\r\n (onClick)=\"selectedItem.set(null)\"\r\n />\r\n </div>\r\n }\r\n\r\n <ng-content select=\"[selectedItemHeader]\"></ng-content>\r\n </div>\r\n <div class=\"p-2 overflow-y-auto h-full\">\r\n <ng-content select=\"[selectedItem]\"></ng-content>\r\n </div>\r\n }\r\n\r\n <!-- @else { Nenhum item selecionado } -->\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .kv-table-viewer .p-datatable-wrapper{overflow-x:hidden}::ng-deep .kv-table-viewer .p-paginator .p-paginator-pages .p-paginator-page{font-size:.75rem;min-width:2rem;height:2rem}::ng-deep .kv-table-viewer .p-paginator .p-paginator-current{font-size:.75rem}::ng-deep .kv-table-viewer .p-inputwrapper .p-dropdown{margin:0;height:auto}::ng-deep .p-paginator-rpp-options .p-dropdown-panel .p-dropdown-items{padding:.25rem}::ng-deep .p-paginator-rpp-options .p-dropdown-item{border-radius:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center}::ng-deep .p-paginator-rpp-options .p-dropdown-item .p-dropdown-label{padding:.5rem}::ng-deep .p-paginator-rpp-options .p-dropdown-item .p-dropdown-trigger{width:1.5rem}::ng-deep .p-paginator-bottom .p-link{min-width:2rem;height:2rem}::ng-deep .p-paginator{padding:0rem}::ng-deep .p-dropdown-label{font-size:.75rem}::ng-deep .p-datatable-wrapper::-webkit-scrollbar{width:6px}::ng-deep .p-datatable-wrapper::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-datatable-wrapper::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-datatable-wrapper:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-datatable-wrapper::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .empty-table .p-datatable-table{height:100%}::ng-deep .p-menu{padding:.25rem}::ng-deep .p-menu-list .p-menuitem .p-menuitem-content .p-menuitem-link{font-size:.75rem;padding:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i1.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i4.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i4.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i4.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i4.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: KvInputsModule }, { kind: "ngmodule", type: KvButtonModule }, { kind: "component", type: i6.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i7.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: ActionsLoteFieldComponent, selector: "actions-lote-field", inputs: ["selectedItems", "actionsLote"] }, { kind: "ngmodule", type: KvTagsModule }, { kind: "component", type: i8.KvTagsComponent, selector: "kv-tags", inputs: ["tags", "hover", "clickable"], outputs: ["onClickTag"] }, { kind: "ngmodule", type: TieredMenuModule }, { kind: "component", type: ActionsRowMenuComponent, selector: "actions-row-menu", inputs: ["actionsRow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], animations: [
196
- trigger('slideInOut', [
197
- state('in', style({
198
- width: '*',
199
- opacity: 1,
200
- transform: 'translateX(0)'
201
- })),
202
- state('out', style({
203
- width: '0px',
204
- opacity: 0,
205
- transform: 'translateX(100%)'
206
- })),
207
- transition('out => in', [
208
- animate('300ms ease-in-out')
209
- ]),
210
- transition('in => out', [
211
- animate('200ms ease-in-out')
212
- ])
213
- ])
214
- ] }); }
215
- }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableViewerComponent, decorators: [{
217
- type: Component,
218
- args: [{ selector: 'kv-table-viewer', standalone: true, imports: [InputTextModule, CommonModule, TooltipModule, TableModule, SkeletonModule, ButtonModule, KvInputsModule, KvButtonModule, OverlayPanelModule, ActionsLoteFieldComponent, KvTagsModule, TieredMenuModule, ActionsRowMenuComponent, FormsModule], animations: [
219
- trigger('slideInOut', [
220
- state('in', style({
221
- width: '*',
222
- opacity: 1,
223
- transform: 'translateX(0)'
224
- })),
225
- state('out', style({
226
- width: '0px',
227
- opacity: 0,
228
- transform: 'translateX(100%)'
229
- })),
230
- transition('out => in', [
231
- animate('300ms ease-in-out')
232
- ]),
233
- transition('in => out', [
234
- animate('200ms ease-in-out')
235
- ])
236
- ])
237
- ], template: "<div\r\n class=\"h-full flex flex-row p-2 kv-table-viewer overflow-hidden {{\r\n isEmptyTable() ? 'empty-table' : ''\r\n }}\"\r\n>\r\n @if(!this.selectedItem() || !isMobile() && !selectableTable()) {\r\n <div\r\n class=\"h-full {{ handleTableSize() }} m-0 p-0 flex flex-column gap-2\"\r\n [style.transition]=\"'all 0.3s ease-in-out'\"\r\n >\r\n @if(showHeaderTemplate()) {\r\n <div>\r\n <ng-content select=\"[tableHeaderTemplate]\"> </ng-content>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between flex-initial\"\r\n >\r\n <div class=\"flex flex-row align-items-center gap-2\">\r\n @if(searchInput()) {\r\n <input\r\n style=\"height: 1.875rem\"\r\n placeholder=\"Pesquisar...\"\r\n type=\"text\"\r\n pInputText\r\n [(ngModel)]=\"searchValue\"\r\n class=\"text-xs\"\r\n />\r\n\r\n } @if(filterButton()) {\r\n <kv-button\r\n label=\"Filtrar\"\r\n icon=\"filter_alt\"\r\n severity=\"tertiary\"\r\n (onClick)=\"toggleOverlayPanel($event)\"\r\n ></kv-button>\r\n }\r\n\r\n <p-overlayPanel #op [dismissable]=\"false\">\r\n <ng-content select=\"[filtro]\"> </ng-content>\r\n </p-overlayPanel>\r\n </div>\r\n <div class=\"flex flex-row gap-2\">\r\n @if(actionsHeader()) { @for(action of actionsHeader(); track $index) {\r\n <kv-button\r\n [icon]=\"action?.icon || ''\"\r\n [label]=\"action?.label || ''\"\r\n [severity]=\"action['severity'] || 'tertiary'\"\r\n (onClick)=\"action?.command($event)\"\r\n [popupIcon]=\"false\"\r\n [items]=\"action.items || []\"\r\n [popup]=\"isPopupButton()(action)\"\r\n ></kv-button>\r\n } } @if(selectedItem()) {\r\n <kv-button\r\n [pTooltip]=\"'Recolher'\"\r\n icon=\"reorder\"\r\n severity=\"tertiary\"\r\n (onClick)=\"selectedItem.set(null)\"\r\n ></kv-button>\r\n }\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-1 h-full overflow-hidden\">\r\n <p-table\r\n [value]=\"data()\"\r\n [lazy]=\"lazy()\"\r\n [selectionPageOnly]=\"selectionPageOnly()\"\r\n [columns]=\"columns()\"\r\n [paginator]=\"paginator()\"\r\n [rows]=\"rows()\"\r\n [totalRecords]=\"totalRecords()\"\r\n [loading]=\"loading()\"\r\n [pageLinks]=\"pageLinks()\"\r\n [first]=\"first()\"\r\n [scrollable]=\"scrollable()\"\r\n scrollHeight=\"flex\"\r\n [showCurrentPageReport]=\"true\"\r\n [currentPageReportTemplate]=\"currentPageReportTemplate()\"\r\n (onPage)=\"handlePageChange($event)\"\r\n (onSort)=\"handleSort($event)\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions()\"\r\n [(selection)]=\"selectedItems\"\r\n styleClass=\"p-datatable-sm text-xs overflow-y-auto h-full flex flex-column h-full\"\r\n >\r\n @if(showHeader()) {\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n @if(selectableTable()) {\r\n <th style=\"width: 4rem\"><p-tableHeaderCheckbox /></th>\r\n } @for (col of columns; track col.field) {\r\n <th\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"!col?.sortable\"\r\n [style]=\"{ width: col.width || 'auto' }\"\r\n >\r\n <div class=\"flex flex-row align-items-center gap-1\">\r\n <span>{{ col.header }}</span>\r\n @if (col.sortable) {\r\n <p-sortIcon [field]=\"col.field\" class=\"pb-1\"></p-sortIcon>\r\n }\r\n </div>\r\n </th>\r\n }\r\n </tr>\r\n </ng-template>\r\n }\r\n\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\r\n <tr\r\n class=\"cursor-pointer {{\r\n verifyItemSelecionado()(rowData) && 'bg-gray-100'\r\n }} hover:bg-gray-200\"\r\n >\r\n @if(selectableTable()) {\r\n <td><p-tableCheckbox [value]=\"rowData\" /></td>\r\n } @for (col of columns; track col.field) {\r\n <td (click)=\"rowSelect(rowData)\" style=\"word-break: break-all;\">\r\n @if(col?.template) {\r\n <div class=\"flex flex-row gap-2 align-items-center\">\r\n @if (getCustomTemplate()(col.template.name)) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"getCustomTemplate()(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n />\r\n }\r\n </div>\r\n } @else if(col?.icon) {\r\n <span class=\"material-symbols-outlined text-lg\">\r\n {{ col.icon(rowData) }}\r\n </span>\r\n } @else if(col?.tag) {\r\n <kv-tags [tags]=\"[col.tag(rowData)]\" />\r\n } @else {\r\n {{ transformData()(col.pipe, rowData[col.field]) }}\r\n }\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td [attr.colspan]=\"returnColspan()\">\r\n <div\r\n class=\"w-full h-full flex align-items-center justify-content-center\"\r\n >\r\n <img [src]=\"emptyTableImg()\" class=\"h-10rem w-auto\" />\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n\r\n }\r\n\r\n <div\r\n class=\"shadow-2 p-0 m-0 col selected-item-field ml-2 flex flex-column\"\r\n [@slideInOut]=\"isRowSelected() ? 'i.n' : 'out'\"\r\n [style.overflow]=\"'hidden'\"\r\n >\r\n @if(hasSelectedItems()) {\r\n <actions-lote-field\r\n class=\"h-full\"\r\n [selectedItems]=\"selectedItems()\"\r\n [actionsLote]=\"actionsLote()\"\r\n />\r\n } @else if(showSelectedItem() || showForce()) {\r\n <div class=\"bg-gray-100 w-full h-auto p-2 relative\">\r\n @if(hasActionsRow()) {\r\n <actions-row-menu [actionsRow]=\"actionsRow()\" />\r\n }\r\n\r\n @if(isMobile()) {\r\n <div class=\"h-2rem w-2rem\">\r\n <kv-button\r\n icon=\"arrow_back\"\r\n severity=\"tertiary\"\r\n [pTooltip]=\"'Voltar'\"\r\n (onClick)=\"selectedItem.set(null)\"\r\n />\r\n </div>\r\n }\r\n\r\n <ng-content select=\"[selectedItemHeader]\"></ng-content>\r\n </div>\r\n <div class=\"p-2 overflow-y-auto h-full\">\r\n <ng-content select=\"[selectedItem]\"></ng-content>\r\n </div>\r\n }\r\n\r\n <!-- @else { Nenhum item selecionado } -->\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .kv-table-viewer .p-datatable-wrapper{overflow-x:hidden}::ng-deep .kv-table-viewer .p-paginator .p-paginator-pages .p-paginator-page{font-size:.75rem;min-width:2rem;height:2rem}::ng-deep .kv-table-viewer .p-paginator .p-paginator-current{font-size:.75rem}::ng-deep .kv-table-viewer .p-inputwrapper .p-dropdown{margin:0;height:auto}::ng-deep .p-paginator-rpp-options .p-dropdown-panel .p-dropdown-items{padding:.25rem}::ng-deep .p-paginator-rpp-options .p-dropdown-item{border-radius:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center}::ng-deep .p-paginator-rpp-options .p-dropdown-item .p-dropdown-label{padding:.5rem}::ng-deep .p-paginator-rpp-options .p-dropdown-item .p-dropdown-trigger{width:1.5rem}::ng-deep .p-paginator-bottom .p-link{min-width:2rem;height:2rem}::ng-deep .p-paginator{padding:0rem}::ng-deep .p-dropdown-label{font-size:.75rem}::ng-deep .p-datatable-wrapper::-webkit-scrollbar{width:6px}::ng-deep .p-datatable-wrapper::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-datatable-wrapper::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-datatable-wrapper:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-datatable-wrapper::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .empty-table .p-datatable-table{height:100%}::ng-deep .p-menu{padding:.25rem}::ng-deep .p-menu-list .p-menuitem .p-menuitem-content .p-menuitem-link{font-size:.75rem;padding:.5rem}\n"] }]
238
- }], ctorParameters: () => [], propDecorators: { op: [{
239
- type: ViewChild,
240
- args: ['op']
241
- }] } });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtdGFibGUtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLXZpZXdlci9rdi10YWJsZS12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtdGFibGUtdmlld2VyL2t2LXRhYmxlLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFnQixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFnQixrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFB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QUFDLGNBRzNPO3dCQUNWLE9BQU8sQ0FBQyxZQUFZLEVBQUU7NEJBQ3BCLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2dDQUNoQixLQUFLLEVBQUUsR0FBRztnQ0FDVixPQUFPLEVBQUUsQ0FBQztnQ0FDVixTQUFTLEVBQUUsZUFBZTs2QkFDM0IsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO2dDQUNqQixLQUFLLEVBQUUsS0FBSztnQ0FDWixPQUFPLEVBQUUsQ0FBQztnQ0FDVixTQUFTLEVBQUUsa0JBQWtCOzZCQUM5QixDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLFdBQVcsRUFBRTtnQ0FDdEIsT0FBTyxDQUFDLG1CQUFtQixDQUFDOzZCQUM3QixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0NBQ3RCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzs2QkFDN0IsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIO3dEQUlnQixFQUFFO3NCQUFsQixTQUFTO3VCQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBjb250ZW50Q2hpbGRyZW4sIGVmZmVjdCwgSG9zdExpc3RlbmVyLCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCwgVGVtcGxhdGVSZWYsIHVudHJhY2tlZCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcclxuaW1wb3J0IHsgU2tlbGV0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3NrZWxldG9uJztcclxuaW1wb3J0IHsgVGFibGVNb2R1bGUsIFRhYmxlUGFnZUV2ZW50IH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcbmltcG9ydCB7IEt2SW5wdXRzTW9kdWxlIH0gZnJvbSBcIi4uL2t2LWlucHV0cy9rdi1pbnB1dHMubW9kdWxlXCI7XHJcbmltcG9ydCB7IEt2QnV0dG9uTW9kdWxlIH0gZnJvbSBcIi4uL2t2LWJ1dHRvbi9rdi1idXR0b24ubW9kdWxlXCI7XHJcbmltcG9ydCB7IE92ZXJsYXlQYW5lbCwgT3ZlcmxheVBhbmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9vdmVybGF5cGFuZWwnO1xyXG5pbXBvcnQgeyBBY3Rpb25zTG90ZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FjdGlvbnMtbG90ZS1maWVsZC9hY3Rpb25zLWxvdGUtZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgS3ZUYWdzTW9kdWxlIH0gZnJvbSBcIi4uL2t2LXRhZ3Mva3YtdGFncy5tb2R1bGVcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IFRpZXJlZE1lbnVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RpZXJlZG1lbnUnO1xyXG5pbXBvcnQgeyBBY3Rpb25zUm93TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY3Rpb25zLXJvdy1tZW51L2FjdGlvbnMtcm93LW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3BmQ25walBpcGUgfSBmcm9tICcuLi8uLi9hcGkvcGlwZXMvY3BmY25wai5waXBlJztcclxuaW1wb3J0IHsgVGVsZWZvbmVQaXBlIH0gZnJvbSAnLi4vLi4vYXBpL3BpcGVzL3RlbGVmb25lLnBpcGUnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2FwaS9kaXJlY3RpdmVzL3RlbXBsYXRlL3RlbXBsYXRlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcclxuaW50ZXJmYWNlIENvbHVtblRhYmxlVmlld2VyIHtcclxuICBmaWVsZDogc3RyaW5nO1xyXG4gIGhlYWRlcjogc3RyaW5nO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGljb24/OiAocm93RGF0YTogYW55KSA9PiBzdHJpbmc7XHJcbiAgdGFnPzogKHJvd0RhdGE6IGFueSkgPT4geyBsYWJlbDogc3RyaW5nLCBzZXZlcml0eTogc3RyaW5nLCBpY29uOiBzdHJpbmcgfTtcclxuICBwaXBlPzogJ2NwZmNucGonIHwgJ3RlbGVmb25lJyB8ICdtb25leScgfCAnZGF0ZScgfCAnZGF0ZXRpbWUnIHwgJ2RhdGVNb250aFllYXInIHwgdW5kZWZpbmVkO1xyXG4gIHRlbXBsYXRlPzogeyBuYW1lOiBzdHJpbmcgfTtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi10YWJsZS12aWV3ZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0lucHV0VGV4dE1vZHVsZSwgQ29tbW9uTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBUYWJsZU1vZHVsZSwgU2tlbGV0b25Nb2R1bGUsIEJ1dHRvbk1vZHVsZSwgS3ZJbnB1dHNNb2R1bGUsIEt2QnV0dG9uTW9kdWxlLCBPdmVybGF5UGFuZWxNb2R1bGUsIEFjdGlvbnNMb3RlRmllbGRDb21wb25lbnQsIEt2VGFnc01vZHVsZSwgVGllcmVkTWVudU1vZHVsZSwgQWN0aW9uc1Jvd01lbnVDb21wb25lbnQsIEZvcm1zTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtdGFibGUtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4va3YtdGFibGUtdmlld2VyLmNvbXBvbmVudC5zY3NzJyxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7XHJcbiAgICAgICAgd2lkdGg6ICcqJyxcclxuICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknXHJcbiAgICAgIH0pKSxcclxuICAgICAgc3RhdGUoJ291dCcsIHN0eWxlKHtcclxuICAgICAgICB3aWR0aDogJzBweCcsXHJcbiAgICAgICAgb3BhY2l0eTogMCxcclxuICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJ1xyXG4gICAgICB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ291dCA9PiBpbicsIFtcclxuICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLWluLW91dCcpXHJcbiAgICAgIF0pLFxyXG4gICAgICB0cmFuc2l0aW9uKCdpbiA9PiBvdXQnLCBbXHJcbiAgICAgICAgYW5pbWF0ZSgnMjAwbXMgZWFzZS1pbi1vdXQnKVxyXG4gICAgICBdKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdlRhYmxlVmlld2VyQ29tcG9uZW50IHtcclxuXHJcbiAgQFZpZXdDaGlsZCgnb3AnKSBvcCE6IE92ZXJsYXlQYW5lbDtcclxuXHJcbiAgY3BmQ25walBpcGUgPSBpbmplY3QoQ3BmQ25walBpcGUpO1xyXG4gIHRlbGVmb25lUGlwZSA9IGluamVjdChUZWxlZm9uZVBpcGUpO1xyXG4gIGRhdGVQaXBlID0gaW5qZWN0KERhdGVQaXBlKTtcclxuICBicmVha3BvaW50T2JzZXJ2ZXIgPSBpbmplY3QoQnJlYWtwb2ludE9ic2VydmVyKTtcclxuXHJcbiAgY29sdW1ucyA9IGlucHV0PENvbHVtblRhYmxlVmlld2VyW10+KFtdKTtcclxuXHJcbiAgYWN0aW9uc1JvdyA9IGlucHV0PE1lbnVJdGVtW10gfCBbXT4oW10pO1xyXG4gIGFjdGlvbnNIZWFkZXIgPSBpbnB1dDxNZW51SXRlbVtdIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gIGFjdGlvbnNMb3RlID0gaW5wdXQ8TWVudUl0ZW1bXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuXHJcbiAgZGF0YSA9IGlucHV0PGFueVtdPihbXSk7XHJcbiAgdG90YWxSZWNvcmRzID0gaW5wdXQ8bnVtYmVyPigwKTtcclxuICBsb2FkaW5nID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHJvd3MgPSBpbnB1dDxudW1iZXI+KDEwKTtcclxuICByb3dzUGVyUGFnZU9wdGlvbnMgPSBpbnB1dDxudW1iZXJbXT4oWzEwLCAyNSwgNTBdKTtcclxuICBwYWdpbmF0b3IgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICBsYXp5ID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgc2Nyb2xsYWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gIHBhZ2VMaW5rcyA9IGlucHV0PG51bWJlcj4oMik7XHJcbiAgY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZSA9IGlucHV0PHN0cmluZz4oJ3tmaXJzdH0gLSB7bGFzdH0gZGUge3RvdGFsUmVjb3Jkc30nKTtcclxuICBzZWxlY3Rpb25QYWdlT25seSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cclxuXHJcbiAgc2VsZWN0YWJsZVRhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgc2hvd0hlYWRlciA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gIHNob3dIZWFkZXJUZW1wbGF0ZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICB0YWJsZVZpZXdlclNpemUgPSBpbnB1dDxzdHJpbmc+KCdjb2wtOCcpO1xyXG4gIHNlYXJjaElucHV0ID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgZmlsdGVyQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgaWROYW1lID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gIGVtcHR5VGFibGVJbWcgPSBpbnB1dDxzdHJpbmc+KCdodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9pbWcvTmVuaHVtX3JlZ2lzdHJvX2xvY2FsaXphZG8ucG5nJyk7XHJcbiAgaXNTZWxlY3RlZFByaW1hcnlJdGVtID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHJcbiAgc2VsZWN0ZWRJdGVtcyA9IHNpZ25hbDxhbnlbXT4oW10pO1xyXG4gIHNlbGVjdGVkSXRlbSA9IHNpZ25hbDxhbnk+KG51bGwpO1xyXG4gIGZpcnN0ID0gc2lnbmFsPG51bWJlcj4oMCk7XHJcbiAgc2VhcmNoVmFsdWUgPSBzaWduYWwoJycpO1xyXG4gIGxhc3RFbWl0dGVkU29ydCA9IHNpZ25hbDx7IGZpZWxkOiBzdHJpbmcsIG9yZGVyOiBudW1iZXIgfSB8IG51bGw+KG51bGwpO1xyXG4gIGlzTW9iaWxlID0gc2lnbmFsKGZhbHNlKTtcclxuICBcclxuXHJcbiAgb25QYWdlQ2hhbmdlID0gb3V0cHV0PFRhYmxlUGFnZUV2ZW50PigpO1xyXG4gIG9uQ2xpY2tSb3dJdGVtID0gb3V0cHV0PGFueT4oKTtcclxuICBvblNlbGVjdEl0ZW1zID0gb3V0cHV0PGFueVtdPigpO1xyXG4gIG9uU2VhcmNoID0gb3V0cHV0PHN0cmluZz4oKTtcclxuICBvblNvcnQgPSBvdXRwdXQ8YW55PigpO1xyXG5cclxuICB0ZW1wbGF0ZXMgPSBjb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVEaXJlY3RpdmUpO1xyXG4gIF90ZW1wbGF0ZXMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZVJlZjxhbnk+Pj4oe30sIHsgYWxpYXM6ICd0ZW1wbGF0ZXMnIH0pO1xyXG4gIGdldEN1c3RvbVRlbXBsYXRlID0gY29tcHV0ZWQoKCkgPT4gKHRlbXBsYXRlbmFtZTogc3RyaW5nKTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPT4ge1xyXG4gICAgY29uc3QgdGVtcGxhdGVzID0gdGhpcy5fdGVtcGxhdGVzKCk7XHJcbiAgICByZXR1cm4gdGVtcGxhdGVzW3RlbXBsYXRlbmFtZV07XHJcbiAgfSk7XHJcblxyXG4gIGlzUm93U2VsZWN0ZWQgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zKCk/Lmxlbmd0aCA+IDAgfHwgdGhpcy5zZWxlY3RlZEl0ZW0oKTtcclxuICB9KTtcclxuXHJcbiAgdmVyaWZ5SXRlbVNlbGVjaW9uYWRvID0gY29tcHV0ZWQoKCkgPT4gKHJvd0RhdGE6IGFueSkgPT4ge1xyXG4gICAgbGV0IGlzU2VsZWN0ZWQ7XHJcblxyXG4gICAgbGV0IGlkTmFtZSA9IHRoaXMuaWROYW1lKCkgfHwgJ2lkJztcclxuXHJcbiAgICBpZiAodGhpcy5zZWxlY3RhYmxlVGFibGUoKSlcclxuICAgICAgaXNTZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRJdGVtcygpLmZpbmQoKGl0ZW06IGFueSkgPT4gaXRlbVtpZE5hbWVdID09IHJvd0RhdGFbaWROYW1lXSk7XHJcbiAgICBlbHNlIGlzU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkSXRlbSgpPy5baWROYW1lXSA9PSByb3dEYXRhW2lkTmFtZV07XHJcblxyXG4gICAgcmV0dXJuIGlzU2VsZWN0ZWQ7XHJcbiAgfSlcclxuXHJcbiAgdHJhbnNmb3JtRGF0YSA9IGNvbXB1dGVkKCgpID0+ICh0eXBlOiBzdHJpbmcsIHZhbHVlOiBhbnkpID0+IHtcclxuICAgIGlmICh0eXBlID09PSAnY3BmY25waicpIHJldHVybiB0aGlzLmNwZkNucGpQaXBlLnRyYW5zZm9ybSh2YWx1ZSk7XHJcbiAgICBpZiAodHlwZSA9PT0gJ3RlbGVmb25lJykgcmV0dXJuIHRoaXMudGVsZWZvbmVQaXBlLnRyYW5zZm9ybSh2YWx1ZSk7XHJcbiAgICBpZiAodHlwZSA9PT0gJ21vbmV5JykgcmV0dXJuIHRoaXMudHJhbnNmb3JtTW9uZXkodmFsdWUpO1xyXG4gICAgaWYgKHR5cGUgPT09ICdkYXRlJykgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLCAnZGQvTU0veXl5eScsICdVVEMnKTtcclxuICAgIGlmICh0eXBlID09PSAnZGF0ZXRpbWUnKSByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsICdkZC9NTS95eXl5IGhoOm1tJyk7XHJcbiAgICBpZiAodHlwZSA9PT0gJ2RhdGVNb250aFllYXInKSByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsICdNTS95eXl5Jyk7XHJcblxyXG4gICAgZWxzZSByZXR1cm4gdmFsdWU7XHJcbiAgfSlcclxuXHJcbiAgaGFuZGxlVGFibGVTaXplID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9IHRoaXMuc2VsZWN0ZWRJdGVtcygpO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdGhpcy5zZWxlY3RlZEl0ZW0oKTtcclxuXHJcbiAgICBpZiAoc2VsZWN0ZWRJdGVtcz8ubGVuZ3RoID09IDAgJiYgIXNlbGVjdGVkSXRlbSlcclxuICAgICAgcmV0dXJuICdjb2wtMTInO1xyXG4gICAgZWxzZSByZXR1cm4gdGhpcy50YWJsZVZpZXdlclNpemUoKTtcclxuICB9KVxyXG5cclxuICBpc1BvcHVwQnV0dG9uID0gY29tcHV0ZWQoKCkgPT4gKGFjdGlvbjogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gKGFjdGlvbi5pdGVtcyAmJiBhY3Rpb24uaXRlbXM/Lmxlbmd0aCA+IDApIHx8IGZhbHNlO1xyXG4gIH0pXHJcblxyXG4gIGhhc0FjdGlvbnNSb3cgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25zUm93KCk/Lmxlbmd0aCA+IDA7XHJcbiAgfSlcclxuXHJcbiAgc2hvd1NlbGVjdGVkSXRlbSA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMoKT8ubGVuZ3RoID09IDEgfHwgdGhpcy5zZWxlY3RlZEl0ZW0oKTtcclxuICB9KVxyXG5cclxuICBoYXNTZWxlY3RlZEl0ZW1zID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcygpPy5sZW5ndGggPiAxO1xyXG4gIH0pXHJcblxyXG4gIHNob3dGb3JjZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgcmV0dXJuQ29sc3BhbiA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbHVtbnMoKS5sZW5ndGggKyAxO1xyXG4gIH0pO1xyXG5cclxuICBpc0VtcHR5VGFibGUgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhKCk/Lmxlbmd0aCA9PSAwXHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXHJcbiAgICAgIC5vYnNlcnZlKFtCcmVha3BvaW50cy5IYW5kc2V0UG9ydHJhaXQsICcobWF4LXdpZHRoOiA3NjhweCknXSlcclxuICAgICAgLnN1YnNjcmliZShzdGF0ZSA9PiB0aGlzLmlzTW9iaWxlLnNldChzdGF0ZS5tYXRjaGVzKSk7XHJcblxyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgdGhpcy5vblNlbGVjdEl0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKCkpO1xyXG4gICAgICB0aGlzLm9uU2VhcmNoLmVtaXQodGhpcy5zZWFyY2hWYWx1ZSgpKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZGFkb3MgPSB0aGlzLmRhdGEoKTtcclxuICAgICAgICBjb25zdCBpc1NlbGVjdGVkUHJpbWFyeUl0ZW0gPSB0aGlzLmlzU2VsZWN0ZWRQcmltYXJ5SXRlbSgpO1xyXG5cclxuICAgICAgICBpZihkYWRvcyAmJiBkYWRvcy5sZW5ndGggPiAwICYmIGlzU2VsZWN0ZWRQcmltYXJ5SXRlbSkge1xyXG4gICAgICAgICAgdW50cmFja2VkKCgpID0+IHRoaXMucm93U2VsZWN0KGRhZG9zWzBdKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVPdmVybGF5UGFuZWwoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vcC50b2dnbGUoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlRmlsdGVyKCkge1xyXG4gICAgdGhpcy5vcD8uaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZUZpbHRlcihldmVudD86IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMub3A/LnRvZ2dsZShldmVudCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVQYWdlQ2hhbmdlKGV2ZW50OiBUYWJsZVBhZ2VFdmVudCkge1xyXG4gICAgdGhpcy5maXJzdC5zZXQoZXZlbnQuZmlyc3QpO1xyXG4gICAgdGhpcy5vblBhZ2VDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTb3J0KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRTb3J0U3RhdGUgPSB0aGlzLmxhc3RFbWl0dGVkU29ydCgpO1xyXG5cclxuICAgIGlmIChjdXJyZW50U29ydFN0YXRlICYmIGN1cnJlbnRTb3J0U3RhdGUuZmllbGQgPT09IGV2ZW50LmZpZWxkICYmIGN1cnJlbnRTb3J0U3RhdGUub3JkZXIgPT09IGV2ZW50Lm9yZGVyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxhc3RFbWl0dGVkU29ydC5zZXQoeyBmaWVsZDogZXZlbnQuZmllbGQsIG9yZGVyOiBldmVudC5vcmRlciB9KTtcclxuXHJcbiAgICBsZXQgb3JkZW5hY2FvID0gYCR7ZXZlbnQuZmllbGR9ICR7ZXZlbnQub3JkZXIgPT09IDEgPyAnQVNDJyA6ICdERVNDJ30gYDtcclxuICAgIGxldCBvcmRlcm5hY2FvR3JvdXAgPSB7IGNvbHVtbjogZXZlbnQuZmllbGQsIGRpcmVjdGlvbjogZXZlbnQub3JkZXIgPT09IDEgPyAnQVNDJyA6ICdERVNDJyB9O1xyXG4gICAgdGhpcy5vblNvcnQuZW1pdCh7IG9yZGVuYWNhbzogb3JkZW5hY2FvLCBvcmRlcm5hY2FvR3JvdXA6IG9yZGVybmFjYW9Hcm91cCB9KTtcclxuICB9XHJcblxyXG4gIHJvd1NlbGVjdChyb3dEYXRhOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGFibGVUYWJsZSgpKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMoKS5pbmNsdWRlcyhyb3dEYXRhKSlcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMudXBkYXRlKChpdGVtczogYW55W10pID0+IGl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0gIT09IHJvd0RhdGEpKTtcclxuICAgICAgZWxzZSB0aGlzLnNlbGVjdGVkSXRlbXMudXBkYXRlKChpdGVtczogYW55W10pID0+IFsuLi5pdGVtcywgcm93RGF0YV0pO1xyXG5cclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcygpPy5sZW5ndGggPT09IDEpXHJcbiAgICAgICAgdGhpcy5vbkNsaWNrUm93SXRlbS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtcygpWzBdKTtcclxuICAgICAgZWxzZSB0aGlzLm9uQ2xpY2tSb3dJdGVtLmVtaXQocm93RGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbS5zZXQocm93RGF0YSk7XHJcbiAgICAgIHRoaXMub25DbGlja1Jvd0l0ZW0uZW1pdChyb3dEYXRhKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1Nb25leSh2YWxvcjogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgncHQtQlInLCB7XHJcbiAgICAgIHN0eWxlOiAnY3VycmVuY3knLFxyXG4gICAgICBjdXJyZW5jeTogJ0JSTCcsXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gZm9ybWF0dGVyLmZvcm1hdCh2YWxvcik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImgtZnVsbCBmbGV4IGZsZXgtcm93IHAtMiBrdi10YWJsZS12aWV3ZXIgb3ZlcmZsb3ctaGlkZGVuIHt7XHJcbiAgICBpc0VtcHR5VGFibGUoKSA/ICdlbXB0eS10YWJsZScgOiAnJ1xyXG4gIH19XCJcclxuPlxyXG4gIEBpZighdGhpcy5zZWxlY3RlZEl0ZW0oKSB8fCAhaXNNb2JpbGUoKSAmJiAhc2VsZWN0YWJsZVRhYmxlKCkpIHtcclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImgtZnVsbCB7eyBoYW5kbGVUYWJsZVNpemUoKSB9fSBtLTAgcC0wIGZsZXggZmxleC1jb2x1bW4gZ2FwLTJcIlxyXG4gICAgW3N0eWxlLnRyYW5zaXRpb25dPVwiJ2FsbCAwLjNzIGVhc2UtaW4tb3V0J1wiXHJcbiAgPlxyXG4gICAgQGlmKHNob3dIZWFkZXJUZW1wbGF0ZSgpKSB7XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGFibGVIZWFkZXJUZW1wbGF0ZV1cIj4gPC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZsZXgtaW5pdGlhbFwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgIEBpZihzZWFyY2hJbnB1dCgpKSB7XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBzdHlsZT1cImhlaWdodDogMS44NzVyZW1cIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJQZXNxdWlzYXIuLi5cIlxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgcElucHV0VGV4dFxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiXHJcbiAgICAgICAgICBjbGFzcz1cInRleHQteHNcIlxyXG4gICAgICAgIC8+XHJcblxyXG4gICAgICAgIH0gQGlmKGZpbHRlckJ1dHRvbigpKSB7XHJcbiAgICAgICAgPGt2LWJ1dHRvblxyXG4gICAgICAgICAgbGFiZWw9XCJGaWx0cmFyXCJcclxuICAgICAgICAgIGljb249XCJmaWx0ZXJfYWx0XCJcclxuICAgICAgICAgIHNldmVyaXR5PVwidGVydGlhcnlcIlxyXG4gICAgICAgICAgKG9uQ2xpY2spPVwidG9nZ2xlT3ZlcmxheVBhbmVsKCRldmVudClcIlxyXG4gICAgICAgID48L2t2LWJ1dHRvbj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDxwLW92ZXJsYXlQYW5lbCAjb3AgW2Rpc21pc3NhYmxlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmlsdHJvXVwiPiA8L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9wLW92ZXJsYXlQYW5lbD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC0yXCI+XHJcbiAgICAgICAgQGlmKGFjdGlvbnNIZWFkZXIoKSkgeyBAZm9yKGFjdGlvbiBvZiBhY3Rpb25zSGVhZGVyKCk7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgIFtpY29uXT1cImFjdGlvbj8uaWNvbiB8fCAnJ1wiXHJcbiAgICAgICAgICBbbGFiZWxdPVwiYWN0aW9uPy5sYWJlbCB8fCAnJ1wiXHJcbiAgICAgICAgICBbc2V2ZXJpdHldPVwiYWN0aW9uWydzZXZlcml0eSddIHx8ICd0ZXJ0aWFyeSdcIlxyXG4gICAgICAgICAgKG9uQ2xpY2spPVwiYWN0aW9uPy5jb21tYW5kKCRldmVudClcIlxyXG4gICAgICAgICAgW3BvcHVwSWNvbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICBbaXRlbXNdPVwiYWN0aW9uLml0ZW1zIHx8IFtdXCJcclxuICAgICAgICAgIFtwb3B1cF09XCJpc1BvcHVwQnV0dG9uKCkoYWN0aW9uKVwiXHJcbiAgICAgICAgPjwva3YtYnV0dG9uPlxyXG4gICAgICAgIH0gfSBAaWYoc2VsZWN0ZWRJdGVtKCkpIHtcclxuICAgICAgICA8a3YtYnV0dG9uXHJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiJ1JlY29saGVyJ1wiXHJcbiAgICAgICAgICBpY29uPVwicmVvcmRlclwiXHJcbiAgICAgICAgICBzZXZlcml0eT1cInRlcnRpYXJ5XCJcclxuICAgICAgICAgIChvbkNsaWNrKT1cInNlbGVjdGVkSXRlbS5zZXQobnVsbClcIlxyXG4gICAgICAgID48L2t2LWJ1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtMSBoLWZ1bGwgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgIDxwLXRhYmxlXHJcbiAgICAgICAgW3ZhbHVlXT1cImRhdGEoKVwiXHJcbiAgICAgICAgW2xhenldPVwibGF6eSgpXCJcclxuICAgICAgICBbc2VsZWN0aW9uUGFnZU9ubHldPVwic2VsZWN0aW9uUGFnZU9ubHkoKVwiXHJcbiAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1ucygpXCJcclxuICAgICAgICBbcGFnaW5hdG9yXT1cInBhZ2luYXRvcigpXCJcclxuICAgICAgICBbcm93c109XCJyb3dzKClcIlxyXG4gICAgICAgIFt0b3RhbFJlY29yZHNdPVwidG90YWxSZWNvcmRzKClcIlxyXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmcoKVwiXHJcbiAgICAgICAgW3BhZ2VMaW5rc109XCJwYWdlTGlua3MoKVwiXHJcbiAgICAgICAgW2ZpcnN0XT1cImZpcnN0KClcIlxyXG4gICAgICAgIFtzY3JvbGxhYmxlXT1cInNjcm9sbGFibGUoKVwiXHJcbiAgICAgICAgc2Nyb2xsSGVpZ2h0PVwiZmxleFwiXHJcbiAgICAgICAgW3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJ0cnVlXCJcclxuICAgICAgICBbY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZV09XCJjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlKClcIlxyXG4gICAgICAgIChvblBhZ2UpPVwiaGFuZGxlUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAob25Tb3J0KT1cImhhbmRsZVNvcnQoJGV2ZW50KVwiXHJcbiAgICAgICAgW3Jvd3NQZXJQYWdlT3B0aW9uc109XCJyb3dzUGVyUGFnZU9wdGlvbnMoKVwiXHJcbiAgICAgICAgWyhzZWxlY3Rpb24pXT1cInNlbGVjdGVkSXRlbXNcIlxyXG4gICAgICAgIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zbSB0ZXh0LXhzIG92ZXJmbG93LXktYXV0byBoLWZ1bGwgZmxleCBmbGV4LWNvbHVtbiBoLWZ1bGxcIlxyXG4gICAgICA+XHJcbiAgICAgICAgQGlmKHNob3dIZWFkZXIoKSkge1xyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgQGlmKHNlbGVjdGFibGVUYWJsZSgpKSB7XHJcbiAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA0cmVtXCI+PHAtdGFibGVIZWFkZXJDaGVja2JveCAvPjwvdGg+XHJcbiAgICAgICAgICAgIH0gQGZvciAoY29sIG9mIGNvbHVtbnM7IHRyYWNrIGNvbC5maWVsZCkge1xyXG4gICAgICAgICAgICA8dGhcclxuICAgICAgICAgICAgICBbcFNvcnRhYmxlQ29sdW1uXT1cImNvbC5maWVsZFwiXHJcbiAgICAgICAgICAgICAgW3BTb3J0YWJsZUNvbHVtbkRpc2FibGVkXT1cIiFjb2w/LnNvcnRhYmxlXCJcclxuICAgICAgICAgICAgICBbc3R5bGVdPVwieyB3aWR0aDogY29sLndpZHRoIHx8ICdhdXRvJyB9XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgY29sLmhlYWRlciB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIEBpZiAoY29sLnNvcnRhYmxlKSB7XHJcbiAgICAgICAgICAgICAgICA8cC1zb3J0SWNvbiBbZmllbGRdPVwiY29sLmZpZWxkXCIgY2xhc3M9XCJwYi0xXCI+PC9wLXNvcnRJY29uPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1yb3dEYXRhIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiPlxyXG4gICAgICAgICAgPHRyXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIge3tcclxuICAgICAgICAgICAgICB2ZXJpZnlJdGVtU2VsZWNpb25hZG8oKShyb3dEYXRhKSAmJiAnYmctZ3JheS0xMDAnXHJcbiAgICAgICAgICAgIH19IGhvdmVyOmJnLWdyYXktMjAwXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgQGlmKHNlbGVjdGFibGVUYWJsZSgpKSB7XHJcbiAgICAgICAgICAgIDx0ZD48cC10YWJsZUNoZWNrYm94IFt2YWx1ZV09XCJyb3dEYXRhXCIgLz48L3RkPlxyXG4gICAgICAgICAgICB9IEBmb3IgKGNvbCBvZiBjb2x1bW5zOyB0cmFjayBjb2wuZmllbGQpIHtcclxuICAgICAgICAgICAgPHRkIChjbGljayk9XCJyb3dTZWxlY3Qocm93RGF0YSlcIiBzdHlsZT1cIndvcmQtYnJlYWs6IGJyZWFrLWFsbDtcIj5cclxuICAgICAgICAgICAgICBAaWYoY29sPy50ZW1wbGF0ZSkge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC0yIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgQGlmIChnZXRDdXN0b21UZW1wbGF0ZSgpKGNvbC50ZW1wbGF0ZS5uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJnZXRDdXN0b21UZW1wbGF0ZSgpKGNvbC50ZW1wbGF0ZS5uYW1lKVwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcm93RGF0YSB9XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZihjb2w/Lmljb24pIHtcclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgdGV4dC1sZ1wiPlxyXG4gICAgICAgICAgICAgICAge3sgY29sLmljb24ocm93RGF0YSkgfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZihjb2w/LnRhZykge1xyXG4gICAgICAgICAgICAgIDxrdi10YWdzIFt0YWdzXT1cIltjb2wudGFnKHJvd0RhdGEpXVwiIC8+XHJcbiAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAge3sgdHJhbnNmb3JtRGF0YSgpKGNvbC5waXBlLCByb3dEYXRhW2NvbC5maWVsZF0pIH19XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cclxuICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgPHRkIFthdHRyLmNvbHNwYW5dPVwicmV0dXJuQ29sc3BhbigpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJlbXB0eVRhYmxlSW1nKClcIiBjbGFzcz1cImgtMTByZW0gdy1hdXRvXCIgLz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9wLXRhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIH1cclxuXHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJzaGFkb3ctMiBwLTAgbS0wIGNvbCBzZWxlY3RlZC1pdGVtLWZpZWxkIG1sLTIgZmxleCBmbGV4LWNvbHVtblwiXHJcbiAgICBbQHNsaWRlSW5PdXRdPVwiaXNSb3dTZWxlY3RlZCgpID8gJ2kubicgOiAnb3V0J1wiXHJcbiAgICBbc3R5bGUub3ZlcmZsb3ddPVwiJ2hpZGRlbidcIlxyXG4gID5cclxuICAgIEBpZihoYXNTZWxlY3RlZEl0ZW1zKCkpIHtcclxuICAgIDxhY3Rpb25zLWxvdGUtZmllbGRcclxuICAgICAgY2xhc3M9XCJoLWZ1bGxcIlxyXG4gICAgICBbc2VsZWN0ZWRJdGVtc109XCJzZWxlY3RlZEl0ZW1zKClcIlxyXG4gICAgICBbYWN0aW9uc0xvdGVdPVwiYWN0aW9uc0xvdGUoKVwiXHJcbiAgICAvPlxyXG4gICAgfSBAZWxzZSBpZihzaG93U2VsZWN0ZWRJdGVtKCkgfHwgc2hvd0ZvcmNlKCkpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJiZy1ncmF5LTEwMCB3LWZ1bGwgaC1hdXRvIHAtMiByZWxhdGl2ZVwiPlxyXG4gICAgICBAaWYoaGFzQWN0aW9uc1JvdygpKSB7XHJcbiAgICAgIDxhY3Rpb25zLXJvdy1tZW51IFthY3Rpb25zUm93XT1cImFjdGlvbnNSb3coKVwiIC8+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZihpc01vYmlsZSgpKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImgtMnJlbSB3LTJyZW1cIj5cclxuICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgaWNvbj1cImFycm93X2JhY2tcIlxyXG4gICAgICAgICAgICBzZXZlcml0eT1cInRlcnRpYXJ5XCJcclxuICAgICAgICAgICAgW3BUb29sdGlwXT1cIidWb2x0YXInXCJcclxuICAgICAgICAgICAgKG9uQ2xpY2spPVwic2VsZWN0ZWRJdGVtLnNldChudWxsKVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2VsZWN0ZWRJdGVtSGVhZGVyXVwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInAtMiBvdmVyZmxvdy15LWF1dG8gaC1mdWxsXCI+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzZWxlY3RlZEl0ZW1dXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgPCEtLSBAZWxzZSB7IE5lbmh1bSBpdGVtIHNlbGVjaW9uYWRvIH0gLS0+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,19 +0,0 @@
1
- import { Component, input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Component for displaying a tag.
5
- */
6
- export class KvTagComponent {
7
- constructor() {
8
- this.severity = input('system');
9
- this.border = input(false);
10
- this.color = input(null);
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.8", type: KvTagComponent, selector: "kv-tag", inputs: { severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\r\n class=\"kv-tag {{severity()}} {{!border() && 'no-border'}}\"\r\n [style.backgroundColor]=\"color() ? color() + '0D' : ''\"\r\n [style.color]=\"color()\"\r\n>\r\n <ng-content></ng-content>\r\n</div> \r\n", styles: [".kv-tag{--kv-text-success: 75, 181, 67;--kv-text-info: 0, 123, 255;--kv-text-warn: 194, 91, 12;--kv-text-danger: 220, 53, 69;--kv-text-contrast: 33, 37, 41;--kv-bg-success: 75, 181, 67;--kv-bg-info: 0, 123, 255;--kv-bg-warn: 255, 235, 209;--kv-bg-danger: 220, 53, 69;--kv-bg-contrast: 33, 37, 41;padding:.2rem .5rem;border-radius:.5rem;font-size:.8rem;font-weight:600}.kv-tag.system{background-color:rgba(var(--kv-color-system),.05);border:1px solid rgba(var(--kv-color-system),.1);color:rgba(var(--kv-color-system),1)}.kv-tag.success{background-color:rgba(var(--kv-bg-success),.05);border:1px solid rgba(var(--kv-bg-success),.1);color:rgba(var(--kv-text-success),1)}.kv-tag.info{background-color:rgba(var(--kv-bg-info),.05);border:1px solid rgba(var(--kv-bg-info),.1);color:rgba(var(--kv-text-info),1)}.kv-tag.warn{background-color:rgba(var(--kv-bg-warn),1);border:1px solid rgba(var(--kv-bg-warn),.1);color:rgba(var(--kv-text-warn),1)}.kv-tag.danger{background-color:rgba(var(--kv-bg-danger),.05);border:1px solid rgba(var(--kv-bg-danger),.1);color:rgba(var(--kv-text-danger),1)}.kv-tag.contrast{background-color:rgba(var(--kv-bg-contrast),1);border:1px solid rgba(var(--kv-bg-contrast),.1);color:rgba(var(--kv-background-card),1)}.kv-tag.no-border{border:none}\n"] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTagComponent, decorators: [{
16
- type: Component,
17
- args: [{ selector: 'kv-tag', template: "<div\r\n class=\"kv-tag {{severity()}} {{!border() && 'no-border'}}\"\r\n [style.backgroundColor]=\"color() ? color() + '0D' : ''\"\r\n [style.color]=\"color()\"\r\n>\r\n <ng-content></ng-content>\r\n</div> \r\n", styles: [".kv-tag{--kv-text-success: 75, 181, 67;--kv-text-info: 0, 123, 255;--kv-text-warn: 194, 91, 12;--kv-text-danger: 220, 53, 69;--kv-text-contrast: 33, 37, 41;--kv-bg-success: 75, 181, 67;--kv-bg-info: 0, 123, 255;--kv-bg-warn: 255, 235, 209;--kv-bg-danger: 220, 53, 69;--kv-bg-contrast: 33, 37, 41;padding:.2rem .5rem;border-radius:.5rem;font-size:.8rem;font-weight:600}.kv-tag.system{background-color:rgba(var(--kv-color-system),.05);border:1px solid rgba(var(--kv-color-system),.1);color:rgba(var(--kv-color-system),1)}.kv-tag.success{background-color:rgba(var(--kv-bg-success),.05);border:1px solid rgba(var(--kv-bg-success),.1);color:rgba(var(--kv-text-success),1)}.kv-tag.info{background-color:rgba(var(--kv-bg-info),.05);border:1px solid rgba(var(--kv-bg-info),.1);color:rgba(var(--kv-text-info),1)}.kv-tag.warn{background-color:rgba(var(--kv-bg-warn),1);border:1px solid rgba(var(--kv-bg-warn),.1);color:rgba(var(--kv-text-warn),1)}.kv-tag.danger{background-color:rgba(var(--kv-bg-danger),.05);border:1px solid rgba(var(--kv-bg-danger),.1);color:rgba(var(--kv-text-danger),1)}.kv-tag.contrast{background-color:rgba(var(--kv-bg-contrast),1);border:1px solid rgba(var(--kv-bg-contrast),.1);color:rgba(var(--kv-background-card),1)}.kv-tag.no-border{border:none}\n"] }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXRhZy9rdi10YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtdGFnL2t2LXRhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25FOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFSM0I7UUFVRSxhQUFRLEdBQUcsS0FBSyxDQUFnRSxRQUFRLENBQUMsQ0FBQztRQUMxRixXQUFNLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQy9CLFVBQUssR0FBRyxLQUFLLENBQWdCLElBQUksQ0FBQyxDQUFDO0tBRXBDOzhHQU5ZLGNBQWM7a0dBQWQsY0FBYyw4YUNWM0IsNE5BT0E7OzJGREdhLGNBQWM7a0JBUjFCLFNBQVM7K0JBQ0UsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtdGFnJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtdGFnLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4va3YtdGFnLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG4vKipcclxuICogQ29tcG9uZW50IGZvciBkaXNwbGF5aW5nIGEgdGFnLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEt2VGFnQ29tcG9uZW50IHtcclxuXHJcbiAgc2V2ZXJpdHkgPSBpbnB1dDwnc3lzdGVtJ3wgJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2RhbmdlcicgfCAnY29udHJhc3QnPignc3lzdGVtJyk7XHJcbiAgYm9yZGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGNvbG9yID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XHJcblxyXG59IiwiPGRpdlxyXG4gIGNsYXNzPVwia3YtdGFnIHt7c2V2ZXJpdHkoKX19IHt7IWJvcmRlcigpICYmICduby1ib3JkZXInfX1cIlxyXG4gIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiY29sb3IoKSA/IGNvbG9yKCkgKyAnMEQnIDogJydcIlxyXG4gIFtzdHlsZS5jb2xvcl09XCJjb2xvcigpXCJcclxuPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2Rpdj4gIFxyXG4iXX0=
@@ -1,24 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { KvTagComponent } from './kv-tag.component';
4
- import * as i0 from "@angular/core";
5
- export class KvTagModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvTagModule, declarations: [KvTagComponent], imports: [CommonModule], exports: [KvTagComponent] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTagModule, imports: [CommonModule] }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTagModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [
14
- KvTagComponent
15
- ],
16
- imports: [
17
- CommonModule
18
- ],
19
- exports: [
20
- KvTagComponent
21
- ]
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtdGFnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXRhZy9rdi10YWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFlcEQsTUFBTSxPQUFPLFdBQVc7OEdBQVgsV0FBVzsrR0FBWCxXQUFXLGlCQVRwQixjQUFjLGFBR2QsWUFBWSxhQUdaLGNBQWM7K0dBR0wsV0FBVyxZQU5wQixZQUFZOzsyRkFNSCxXQUFXO2tCQVh2QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3FCQUNmO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgS3ZUYWdDb21wb25lbnQgfSBmcm9tICcuL2t2LXRhZy5jb21wb25lbnQnO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgS3ZUYWdDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgS3ZUYWdDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdlRhZ01vZHVsZSB7IH1cclxuIl19
@@ -1,36 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';
2
- import { mapaSeverityColors } from '../kv-filter-cards/kv-filter-cards.component';
3
- import * as i0 from "@angular/core";
4
- export class KvTagsComponent {
5
- constructor() {
6
- this.tags = input();
7
- this.hover = input(false);
8
- this.color = computed(() => (tag) => {
9
- return mapaSeverityColors[tag.severity || 'info'];
10
- });
11
- this.clickable = input(false);
12
- this.background = computed(() => (tag) => {
13
- return this.getTransparentMix(this.color()(tag), 0.15);
14
- });
15
- this.borderColor = computed(() => (tag) => {
16
- return this.getTransparentMix(this.color()(tag), 0.2);
17
- });
18
- this.onClickTag = output();
19
- }
20
- clickTag(event) {
21
- this.onClickTag.emit(event);
22
- }
23
- getTransparentMix(baseHex, opacity = 0.3) {
24
- const r = parseInt(baseHex.slice(1, 3), 16);
25
- const g = parseInt(baseHex.slice(3, 5), 16);
26
- const b = parseInt(baseHex.slice(5, 7), 16);
27
- return `rgba(${r}, ${g}, ${b}, ${opacity})`;
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTagsComponent, selector: "kv-tags", inputs: { tags: { classPropertyName: "tags", publicName: "tags", isSignal: true, isRequired: false, transformFunction: null }, hover: { classPropertyName: "hover", publicName: "hover", isSignal: true, isRequired: false, transformFunction: null }, clickable: { classPropertyName: "clickable", publicName: "clickable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClickTag: "onClickTag" }, ngImport: i0, template: "@for (tag of tags(); track $index) {\r\n<div\r\n [class.hover-tag]=\"hover()\"\r\n class=\"kv-tag {{clickable() && 'kv-tag-clickable'}}\"\r\n [style.color]=\"color()(tag)\"\r\n (click)=\"clickTag(tag)\"\r\n [style.background]=\"background()(tag)\"\r\n style=\"user-select: none\"\r\n>\r\n @if(tag.icon) {\r\n <span class=\"material-symbols-outlined\" style=\"font-size: 0.75rem\">\r\n {{ tag.icon }}\r\n </span>\r\n }\r\n <span>\r\n {{ tag.label }}\r\n </span>\r\n\r\n @if(tag.value) {\r\n <span\r\n class=\"bg-white border-circle h-1rem w-1rem flex align-items-center justify-content-center\"\r\n >{{ tag.value }}</span\r\n >\r\n }\r\n</div>\r\n}\r\n", styles: [":host{display:block;display:flex;flex-direction:row;gap:10px}.kv-tag{padding:.2rem .5rem;border-radius:2rem;font-size:.7rem;font-weight:400;width:max-content;flex-wrap:nowrap;display:flex;flex-direction:row;align-items:center;gap:.25rem}.kv-tag-clickable:hover{cursor:pointer;transition:all ease-in-out .2s;opacity:.9}.hover-tag{cursor:pointer;transition:all ease-in-out .2s}.hover-tag:hover{font-size:.75rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTagsComponent, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'kv-tags', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (tag of tags(); track $index) {\r\n<div\r\n [class.hover-tag]=\"hover()\"\r\n class=\"kv-tag {{clickable() && 'kv-tag-clickable'}}\"\r\n [style.color]=\"color()(tag)\"\r\n (click)=\"clickTag(tag)\"\r\n [style.background]=\"background()(tag)\"\r\n style=\"user-select: none\"\r\n>\r\n @if(tag.icon) {\r\n <span class=\"material-symbols-outlined\" style=\"font-size: 0.75rem\">\r\n {{ tag.icon }}\r\n </span>\r\n }\r\n <span>\r\n {{ tag.label }}\r\n </span>\r\n\r\n @if(tag.value) {\r\n <span\r\n class=\"bg-white border-circle h-1rem w-1rem flex align-items-center justify-content-center\"\r\n >{{ tag.value }}</span\r\n >\r\n }\r\n</div>\r\n}\r\n", styles: [":host{display:block;display:flex;flex-direction:row;gap:10px}.kv-tag{padding:.2rem .5rem;border-radius:2rem;font-size:.7rem;font-weight:400;width:max-content;flex-wrap:nowrap;display:flex;flex-direction:row;align-items:center;gap:.25rem}.kv-tag-clickable:hover{cursor:pointer;transition:all ease-in-out .2s;opacity:.9}.hover-tag{cursor:pointer;transition:all ease-in-out .2s}.hover-tag:hover{font-size:.75rem}\n"] }]
35
- }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtdGFncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi10YWdzL2t2LXRhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtdGFncy9rdi10YWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFjLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBUzlGLE1BQU0sT0FBTyxlQUFlO0lBUDVCO1FBU0UsU0FBSSxHQUFHLEtBQUssRUFBaUIsQ0FBQTtRQUU3QixVQUFLLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFBO1FBRzdCLFVBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUl2QixFQUFFLEVBQUU7WUFDSCxPQUFPLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLENBQUE7UUFDbkQsQ0FBQyxDQUFDLENBQUE7UUFFRixjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRWxDLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUk1QixFQUFFLEVBQUU7WUFDSCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7UUFFSCxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBSTdCLEVBQUUsRUFBRTtZQUNILE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUlILGVBQVUsR0FBRyxNQUFNLEVBQWUsQ0FBQztLQWFwQztJQVhDLFFBQVEsQ0FBQyxLQUFrQjtRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBZSxFQUFFLFVBQWtCLEdBQUc7UUFDOUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLE9BQU8sR0FBRyxDQUFDO0lBQzlDLENBQUM7OEdBOUNVLGVBQWU7a0dBQWYsZUFBZSxtZENWNUIseXFCQTBCQTs7MkZEaEJhLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLEtBQUssbUJBR0EsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEt2U2V2ZXJpdHksIG1hcGFTZXZlcml0eUNvbG9ycyB9IGZyb20gJy4uL2t2LWZpbHRlci1jYXJkcy9rdi1maWx0ZXItY2FyZHMuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtdGFncycsXHJcbiAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LXRhZ3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9rdi10YWdzLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2VGFnc0NvbXBvbmVudCB7XHJcblxyXG4gIHRhZ3MgPSBpbnB1dDxLdlRhZ0NvbmZpZ1tdPigpXHJcblxyXG4gIGhvdmVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpXHJcblxyXG5cclxuICBjb2xvciA9IGNvbXB1dGVkKCgpID0+ICh0YWc6e1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHNldmVyaXR5PzogS3ZTZXZlcml0eTtcclxuICAgIGljb24/OiBzdHJpbmc7XHJcbiAgfSkgPT4ge1xyXG4gICAgcmV0dXJuIG1hcGFTZXZlcml0eUNvbG9yc1t0YWcuc2V2ZXJpdHkgfHwgJ2luZm8nXVxyXG4gIH0pXHJcblxyXG4gIGNsaWNrYWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgYmFja2dyb3VuZCA9IGNvbXB1dGVkKCgpID0+ICh0YWc6IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBzZXZlcml0eT86IEt2U2V2ZXJpdHk7XHJcbiAgICBpY29uPzogc3RyaW5nO1xyXG4gIH0pID0+IHtcclxuICAgIHJldHVybiB0aGlzLmdldFRyYW5zcGFyZW50TWl4KHRoaXMuY29sb3IoKSh0YWcpLCAwLjE1KTtcclxuICB9KTtcclxuXHJcbiAgYm9yZGVyQ29sb3IgPSBjb21wdXRlZCgoKSA9PiAodGFnOiB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgc2V2ZXJpdHk/OiBLdlNldmVyaXR5O1xyXG4gICAgaWNvbj86IHN0cmluZztcclxuICB9KSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRUcmFuc3BhcmVudE1peCh0aGlzLmNvbG9yKCkodGFnKSwgMC4yKTtcclxuICB9KTtcclxuXHJcblxyXG5cclxuICBvbkNsaWNrVGFnID0gb3V0cHV0PEt2VGFnQ29uZmlnPigpO1xyXG5cclxuICBjbGlja1RhZyhldmVudDogS3ZUYWdDb25maWcgKXtcclxuICAgIHRoaXMub25DbGlja1RhZy5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VHJhbnNwYXJlbnRNaXgoYmFzZUhleDogc3RyaW5nLCBvcGFjaXR5OiBudW1iZXIgPSAwLjMpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgciA9IHBhcnNlSW50KGJhc2VIZXguc2xpY2UoMSwgMyksIDE2KTtcclxuICAgIGNvbnN0IGcgPSBwYXJzZUludChiYXNlSGV4LnNsaWNlKDMsIDUpLCAxNik7XHJcbiAgICBjb25zdCBiID0gcGFyc2VJbnQoYmFzZUhleC5zbGljZSg1LCA3KSwgMTYpO1xyXG4gICAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0sICR7b3BhY2l0eX0pYDtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgS3ZUYWdDb25maWcgPSB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgc2V2ZXJpdHk/OiBLdlNldmVyaXR5O1xyXG4gICAgaWNvbj86IHN0cmluZztcclxuICAgIHZhbHVlPzpudW1iZXI7XHJcbn0iLCJAZm9yICh0YWcgb2YgdGFncygpOyB0cmFjayAkaW5kZXgpIHtcclxuPGRpdlxyXG4gIFtjbGFzcy5ob3Zlci10YWddPVwiaG92ZXIoKVwiXHJcbiAgY2xhc3M9XCJrdi10YWcge3tjbGlja2FibGUoKSAmJiAna3YtdGFnLWNsaWNrYWJsZSd9fVwiXHJcbiAgW3N0eWxlLmNvbG9yXT1cImNvbG9yKCkodGFnKVwiXHJcbiAgKGNsaWNrKT1cImNsaWNrVGFnKHRhZylcIlxyXG4gIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImJhY2tncm91bmQoKSh0YWcpXCJcclxuICBzdHlsZT1cInVzZXItc2VsZWN0OiBub25lXCJcclxuPlxyXG4gIEBpZih0YWcuaWNvbikge1xyXG4gIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiIHN0eWxlPVwiZm9udC1zaXplOiAwLjc1cmVtXCI+XHJcbiAgICB7eyB0YWcuaWNvbiB9fVxyXG4gIDwvc3Bhbj5cclxuICB9XHJcbiAgPHNwYW4+XHJcbiAgICB7eyB0YWcubGFiZWwgfX1cclxuICA8L3NwYW4+XHJcblxyXG4gIEBpZih0YWcudmFsdWUpIHtcclxuICA8c3BhblxyXG4gICAgY2xhc3M9XCJiZy13aGl0ZSBib3JkZXItY2lyY2xlIGgtMXJlbSB3LTFyZW0gZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXHJcbiAgICA+e3sgdGFnLnZhbHVlIH19PC9zcGFuXHJcbiAgPlxyXG4gIH1cclxuPC9kaXY+XHJcbn1cclxuIl19