keevo-components 2.0.107 → 2.0.109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/keevo-components.mjs +5 -0
- package/esm2022/lib/api/base-components/base-component-button.mjs +39 -0
- package/esm2022/lib/api/base-components/base-component-chart.mjs +104 -0
- package/esm2022/lib/api/base-components/base-component-crud-form.mjs +308 -0
- package/esm2022/lib/api/base-components/base-component-crud-list.mjs +91 -0
- package/esm2022/lib/api/base-components/base-component-crud.mjs +80 -0
- package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +31 -0
- package/esm2022/lib/api/base-components/base-component-dropdown.mjs +238 -0
- package/esm2022/lib/api/base-components/base-component-input.mjs +101 -0
- package/esm2022/lib/api/base-components/base-component-multi-select.mjs +174 -0
- package/esm2022/lib/api/base-components/base-component-table.mjs +354 -0
- package/esm2022/lib/api/base-components/base-component.mjs +51 -0
- package/esm2022/lib/api/components/chart/chart.config.mjs +2 -0
- package/esm2022/lib/api/components/chart/chart.model.mjs +2 -0
- package/esm2022/lib/api/components/chart/orchart.config.mjs +2 -0
- package/esm2022/lib/api/components/chart/orchartnode.mjs +2 -0
- package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +2 -0
- package/esm2022/lib/api/components/step/step.model.mjs +2 -0
- package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +2 -0
- package/esm2022/lib/api/components/table/action-item.mjs +2 -0
- package/esm2022/lib/api/components/table/kv-menuitem.mjs +46 -0
- package/esm2022/lib/api/components/table/table-dropdown-control.mjs +2 -0
- package/esm2022/lib/api/components/table/table.config.column.mjs +2 -0
- package/esm2022/lib/api/components/table/table.config.mjs +2 -0
- package/esm2022/lib/api/components/table/table.paginate.mjs +10 -0
- package/esm2022/lib/api/components/table/tabledit.config.mjs +2 -0
- package/esm2022/lib/api/components/table/tableedit.config.column.mjs +2 -0
- package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +2 -0
- package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +3 -0
- package/esm2022/lib/api/directives/directives.module.mjs +30 -0
- package/esm2022/lib/api/directives/drag/drag.directive.mjs +52 -0
- package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +31 -0
- package/esm2022/lib/api/directives/template/template.directive.mjs +24 -0
- package/esm2022/lib/api/helpers/component-providers.mjs +16 -0
- package/esm2022/lib/api/helpers/keevo-validators.mjs +144 -0
- package/esm2022/lib/api/helpers/severity-color.mjs +73 -0
- package/esm2022/lib/api/helpers/translate-primeng.mjs +23 -0
- package/esm2022/lib/api/modules/primeng.module.mjs +283 -0
- package/esm2022/lib/api/pipes/capitalize.pipe.mjs +47 -0
- package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +25 -0
- package/esm2022/lib/api/pipes/mask.pipe.mjs +29 -0
- package/esm2022/lib/api/pipes/pipes.module.mjs +39 -0
- package/esm2022/lib/api/pipes/telefone.pipe.mjs +45 -0
- package/esm2022/lib/api/services/base.api.service.mjs +74 -0
- package/esm2022/lib/api/services/breadcrumbs.service.mjs +62 -0
- package/esm2022/lib/api/services/chat.service.mjs +37 -0
- package/esm2022/lib/api/services/component.service.mjs +37 -0
- package/esm2022/lib/api/services/docs.service.mjs +129 -0
- package/esm2022/lib/api/services/form.service.mjs +95 -0
- package/esm2022/lib/api/services/image.cutter.service.mjs +193 -0
- package/esm2022/lib/api/services/imagens.service.mjs +28 -0
- package/esm2022/lib/api/services/notification.service.mjs +69 -0
- package/esm2022/lib/api/services/object.service.mjs +39 -0
- package/esm2022/lib/api/services/orgchart.service.mjs +64 -0
- package/esm2022/lib/api/services/pdf.service.mjs +48 -0
- package/esm2022/lib/api/types/breadcrumb.model.mjs +2 -0
- package/esm2022/lib/api/types/severity.mjs +2 -0
- package/esm2022/lib/components/keevo-components.module.mjs +232 -0
- package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +142 -0
- package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +55 -0
- package/esm2022/lib/components/kv-button/kv-button.component.mjs +51 -0
- package/esm2022/lib/components/kv-button/kv-button.module.mjs +28 -0
- package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +25 -0
- package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +39 -0
- package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +17 -0
- package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +17 -0
- package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +39 -0
- package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +60 -0
- package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +31 -0
- package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +34 -0
- package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +28 -0
- package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +166 -0
- package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +32 -0
- package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.mjs +32 -0
- package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.mjs +22 -0
- package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +185 -0
- package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +44 -0
- package/esm2022/lib/components/kv-error/kv-error.component.mjs +26 -0
- package/esm2022/lib/components/kv-error/kv-error.module.mjs +35 -0
- package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +191 -0
- package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +23 -0
- package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +46 -0
- package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +20 -0
- package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +68 -0
- package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +24 -0
- package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +29 -0
- package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +34 -0
- package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.component.mjs +103 -0
- package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.module.mjs +31 -0
- package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.pipe.mjs +30 -0
- package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +26 -0
- package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +28 -0
- package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +11 -0
- package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +19 -0
- package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +27 -0
- package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +32 -0
- package/esm2022/lib/components/kv-icon/kv-icon.component.mjs +30 -0
- package/esm2022/lib/components/kv-icon/kv-icon.model.mjs +2 -0
- package/esm2022/lib/components/kv-icon/kv-icon.module.mjs +24 -0
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +136 -0
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +18 -0
- package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +29 -0
- package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +102 -0
- package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.mjs +18 -0
- package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.mjs +40 -0
- package/esm2022/lib/components/kv-inputs/kv-editor/config/kv-editor.config.mjs +110 -0
- package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +271 -0
- package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.mjs +7 -0
- package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.mjs +135 -0
- package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.mjs +168 -0
- package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.mjs +78 -0
- package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.mjs +95 -0
- package/esm2022/lib/components/kv-inputs/kv-editor/types/kv-editor.types.mjs +2 -0
- package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +168 -0
- package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +30 -0
- package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +59 -0
- package/esm2022/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.mjs +66 -0
- package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +33 -0
- package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +38 -0
- package/esm2022/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.mjs +42 -0
- package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +50 -0
- package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +43 -0
- package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +24 -0
- package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +165 -0
- package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +60 -0
- package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +60 -0
- package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +46 -0
- package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +37 -0
- package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +42 -0
- package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +58 -0
- package/esm2022/lib/components/kv-label/kv-label.component.mjs +15 -0
- package/esm2022/lib/components/kv-label/kv-label.module.mjs +24 -0
- package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +28 -0
- package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +72 -0
- package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +433 -0
- package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +15 -0
- package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +16 -0
- package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +28 -0
- package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +29 -0
- package/esm2022/lib/components/kv-login/kv-login.component.mjs +62 -0
- package/esm2022/lib/components/kv-login/kv-login.module.mjs +47 -0
- package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +98 -0
- package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +20 -0
- package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +225 -0
- package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +59 -0
- package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +190 -0
- package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +41 -0
- package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +205 -0
- package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +51 -0
- package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +386 -0
- package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +39 -0
- package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +58 -0
- package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +28 -0
- package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.mjs +62 -0
- package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.mjs +28 -0
- package/esm2022/lib/components/kv-report/kv-report.component.mjs +44 -0
- package/esm2022/lib/components/kv-report/kv-report.module.mjs +24 -0
- package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +74 -0
- package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +47 -0
- package/esm2022/lib/components/kv-steps/kv-steps.component.mjs +105 -0
- package/esm2022/lib/components/kv-table/kv-table.component.mjs +673 -0
- package/esm2022/lib/components/kv-table/kv-table.module.mjs +40 -0
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +341 -0
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +45 -0
- package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +516 -0
- package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +40 -0
- package/esm2022/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.mjs +17 -0
- package/esm2022/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.mjs +18 -0
- package/esm2022/lib/components/kv-table-viewer/kv-table-viewer.component.mjs +184 -0
- package/esm2022/lib/components/kv-tag/kv-tag.component.mjs +18 -0
- package/esm2022/lib/components/kv-tag/kv-tag.module.mjs +24 -0
- package/esm2022/lib/components/kv-tags/kv-tags.component.mjs +35 -0
- package/esm2022/lib/components/kv-tags/kv-tags.module.mjs +27 -0
- package/esm2022/lib/components/kv-timeline/kv-timeline.component.mjs +71 -0
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +334 -0
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +39 -0
- package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +70 -0
- package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +28 -0
- package/esm2022/lib/components/kv-widget-card/kv-widget-card.component.mjs +103 -0
- package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +40 -0
- package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +68 -0
- package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +22 -0
- package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +78 -0
- package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +87 -0
- package/esm2022/public-api.mjs +303 -0
- package/fesm2022/keevo-components.mjs +12127 -0
- package/fesm2022/keevo-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/api/base-components/base-component-button.d.ts +15 -0
- package/lib/api/base-components/base-component-chart.d.ts +40 -0
- package/lib/api/base-components/base-component-crud-form.d.ts +149 -0
- package/lib/api/base-components/base-component-crud-list.d.ts +70 -0
- package/lib/api/base-components/base-component-crud.d.ts +36 -0
- package/lib/api/base-components/base-component-dropdown-external.d.ts +15 -0
- package/lib/api/base-components/base-component-dropdown.d.ts +57 -0
- package/lib/api/base-components/base-component-input.d.ts +33 -0
- package/lib/api/base-components/base-component-multi-select.d.ts +40 -0
- package/lib/api/base-components/base-component-table.d.ts +88 -0
- package/lib/api/base-components/base-component.d.ts +22 -0
- package/lib/api/components/chart/chart.config.d.ts +14 -0
- package/lib/api/components/chart/chart.model.d.ts +12 -0
- package/lib/api/components/chart/orchart.config.d.ts +41 -0
- package/lib/api/components/chart/orchartnode.d.ts +34 -0
- package/lib/api/components/dropdown/filtro.combo.d.ts +4 -0
- package/{src/lib/api/components/step/step.model.ts → lib/api/components/step/step.model.d.ts} +13 -15
- package/lib/api/components/stepper/kv-stepperpanel.d.ts +9 -0
- package/lib/api/components/table/action-item.d.ts +13 -0
- package/lib/api/components/table/kv-menuitem.d.ts +152 -0
- package/lib/api/components/table/table-dropdown-control.d.ts +6 -0
- package/lib/api/components/table/table.config.column.d.ts +38 -0
- package/lib/api/components/table/table.config.d.ts +36 -0
- package/lib/api/components/table/table.paginate.d.ts +10 -0
- package/{src/lib/api/components/table/tabledit.config.ts → lib/api/components/table/tabledit.config.d.ts} +8 -9
- package/lib/api/components/table/tableedit.config.column.d.ts +11 -0
- package/lib/api/components/tree-table/tree-table-keys.d.ts +12 -0
- package/lib/api/components/tree-table/tree-table.config.d.ts +31 -0
- package/lib/api/directives/directives.module.d.ts +9 -0
- package/lib/api/directives/drag/drag.directive.d.ts +11 -0
- package/lib/api/directives/stepper/dynamicinput.directive.d.ts +15 -0
- package/lib/api/directives/template/template.directive.d.ts +11 -0
- package/lib/api/helpers/component-providers.d.ts +2 -0
- package/lib/api/helpers/keevo-validators.d.ts +18 -0
- package/lib/api/helpers/severity-color.d.ts +5 -0
- package/lib/api/helpers/translate-primeng.d.ts +4 -0
- package/lib/api/modules/primeng.module.d.ts +69 -0
- package/lib/api/pipes/capitalize.pipe.d.ts +10 -0
- package/lib/api/pipes/cpfcnpj.pipe.d.ts +7 -0
- package/lib/api/pipes/mask.pipe.d.ts +7 -0
- package/lib/api/pipes/pipes.module.d.ts +11 -0
- package/lib/api/pipes/telefone.pipe.d.ts +7 -0
- package/lib/api/services/base.api.service.d.ts +25 -0
- package/lib/api/services/breadcrumbs.service.d.ts +16 -0
- package/lib/api/services/chat.service.d.ts +17 -0
- package/lib/api/services/component.service.d.ts +11 -0
- package/lib/api/services/docs.service.d.ts +12 -0
- package/lib/api/services/form.service.d.ts +31 -0
- package/lib/api/services/image.cutter.service.d.ts +16 -0
- package/lib/api/services/imagens.service.d.ts +10 -0
- package/lib/api/services/notification.service.d.ts +26 -0
- package/lib/api/services/object.service.d.ts +9 -0
- package/lib/api/services/orgchart.service.d.ts +20 -0
- package/lib/api/services/pdf.service.d.ts +7 -0
- package/lib/api/types/breadcrumb.model.d.ts +5 -0
- package/{src/lib/api/types/severity.ts → lib/api/types/severity.d.ts} +2 -3
- package/lib/components/keevo-components.module.d.ts +38 -0
- package/lib/components/kv-avatar/kv-avatar.component.d.ts +36 -0
- package/lib/components/kv-avatar/kv-avatar.module.d.ts +15 -0
- package/lib/components/kv-button/kv-button.component.d.ts +24 -0
- package/lib/components/kv-button/kv-button.module.d.ts +9 -0
- package/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.d.ts +11 -0
- package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +19 -0
- package/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.d.ts +7 -0
- package/lib/components/kv-buttons/kv-button-success/kv-button-success.component.d.ts +7 -0
- package/lib/components/kv-buttons/kv-button.module.d.ts +11 -0
- package/lib/components/kv-card-selection/kv-card-selection.component.d.ts +25 -0
- package/lib/components/kv-card-selection/kv-card-selection.module.d.ts +10 -0
- package/lib/components/kv-carousel/kv-carousel.component.d.ts +17 -0
- package/lib/components/kv-carousel/kv-carousel.module.d.ts +9 -0
- package/lib/components/kv-chart/kv-chart.component.d.ts +57 -0
- package/lib/components/kv-chart/kv-chart.module.d.ts +10 -0
- package/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.d.ts +12 -0
- package/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.d.ts +10 -0
- package/lib/components/kv-content-viewer/kv-content-viewer.component.d.ts +56 -0
- package/lib/components/kv-content-viewer/kv-content-viewer.module.d.ts +14 -0
- package/lib/components/kv-error/kv-error.component.d.ts +12 -0
- package/lib/components/kv-error/kv-error.module.d.ts +10 -0
- package/lib/components/kv-file-upload/kv-file-upload.component.d.ts +35 -0
- package/lib/components/kv-file-upload/kv-file-upload.module.d.ts +10 -0
- package/lib/components/kv-file-viewer/kv-file-viewer.component.d.ts +21 -0
- package/lib/components/kv-file-viewer/kv-file-viewer.module.d.ts +8 -0
- package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.d.ts +24 -0
- package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.d.ts +9 -0
- package/lib/components/kv-filter-card/kv-filter-card.component.d.ts +13 -0
- package/lib/components/kv-filter-card/kv-filter-card.module.d.ts +10 -0
- package/lib/components/kv-filter-cards/kv-filter-cards.component.d.ts +32 -0
- package/lib/components/kv-filter-cards/kv-filter-cards.module.d.ts +9 -0
- package/lib/components/kv-filter-cards/kv-filter-cards.pipe.d.ts +7 -0
- package/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.d.ts +10 -0
- package/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.d.ts +9 -0
- package/lib/components/kv-g-icon/kv-g-icon.component.d.ts +5 -0
- package/lib/components/kv-g-icon/kv-g-icon.module.d.ts +9 -0
- package/lib/components/kv-home-card/kv-home-card.component.d.ts +24 -0
- package/lib/components/kv-home-card/kv-home-card.module.d.ts +11 -0
- package/lib/components/kv-icon/kv-icon.component.d.ts +22 -0
- package/{src/lib/components/kv-icon/kv-icon.model.ts → lib/components/kv-icon/kv-icon.model.d.ts} +3 -3
- package/lib/components/kv-icon/kv-icon.module.d.ts +8 -0
- package/lib/components/kv-image-upload/kv-image-upload.component.d.ts +34 -0
- package/lib/components/kv-image-upload/kv-image-upload.module.d.ts +8 -0
- package/lib/components/kv-inputs/kv-check/kv-check.component.d.ts +12 -0
- package/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.d.ts +33 -0
- package/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.d.ts +8 -0
- package/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.d.ts +14 -0
- package/lib/components/kv-inputs/kv-editor/config/kv-editor.config.d.ts +55 -0
- package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +70 -0
- package/{src/lib/components/kv-inputs/kv-editor/kv-editor.ts → lib/components/kv-inputs/kv-editor/kv-editor.d.ts} +6 -6
- package/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.d.ts +41 -0
- package/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.d.ts +41 -0
- package/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.d.ts +28 -0
- package/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.d.ts +45 -0
- package/lib/components/kv-inputs/kv-editor/types/kv-editor.types.d.ts +32 -0
- package/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.d.ts +34 -0
- package/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.d.ts +12 -0
- package/lib/components/kv-inputs/kv-input-number/kv-input-number.component.d.ts +19 -0
- package/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.d.ts +21 -0
- package/lib/components/kv-inputs/kv-input-password/kv-input-password.component.d.ts +13 -0
- package/lib/components/kv-inputs/kv-input-text/kv-input-text.component.d.ts +11 -0
- package/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.d.ts +13 -0
- package/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.d.ts +18 -0
- package/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.d.ts +16 -0
- package/lib/components/kv-inputs/kv-input-time/kv-input-time.component.d.ts +10 -0
- package/lib/components/kv-inputs/kv-inputs.module.d.ts +38 -0
- package/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.d.ts +20 -0
- package/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.d.ts +20 -0
- package/lib/components/kv-inputs/kv-select-button/kv-select-button.component.d.ts +19 -0
- package/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.d.ts +26 -0
- package/lib/components/kv-inputs/kv-switch/kv-switch.component.d.ts +16 -0
- package/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.d.ts +25 -0
- package/lib/components/kv-label/kv-label.component.d.ts +7 -0
- package/lib/components/kv-label/kv-label.module.d.ts +8 -0
- package/lib/components/kv-layout/dropdown-master/dropdown-master.component.d.ts +12 -0
- package/lib/components/kv-layout/kv-layout.module.d.ts +18 -0
- package/lib/components/kv-layout/layout/kv-layout.component.d.ts +156 -0
- package/lib/components/kv-layout/top-icons/top-icons.component.d.ts +16 -0
- package/lib/components/kv-loader/kv-loader.component.d.ts +7 -0
- package/lib/components/kv-loader/kv-loader.module.d.ts +9 -0
- package/lib/components/kv-loader/kv-loader.service.d.ts +10 -0
- package/lib/components/kv-login/kv-login.component.d.ts +32 -0
- package/lib/components/kv-login/kv-login.module.d.ts +13 -0
- package/lib/components/kv-modal/kv-modal.component.d.ts +27 -0
- package/lib/components/kv-modal/kv-modal.module.d.ts +10 -0
- package/lib/components/kv-orgchart/kv-orgchart.component.d.ts +45 -0
- package/lib/components/kv-orgchart/kv-orgchart.module.d.ts +17 -0
- package/lib/components/kv-page-form/kv-page-form.component.d.ts +98 -0
- package/lib/components/kv-page-form/kv-page-form.module.d.ts +12 -0
- package/lib/components/kv-page-stepper/kv-page-stepper.component.d.ts +84 -0
- package/lib/components/kv-page-stepper/kv-page-stepper.module.d.ts +14 -0
- package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +70 -0
- package/lib/components/kv-pick-list/kv-pick-list.module.d.ts +11 -0
- package/lib/components/kv-progress-bar/kv-progress-bar.component.d.ts +67 -0
- package/lib/components/kv-progress-bar/kv-progress-bar.module.d.ts +9 -0
- package/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.d.ts +71 -0
- package/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.d.ts +9 -0
- package/lib/components/kv-report/kv-report.component.d.ts +18 -0
- package/lib/components/kv-report/kv-report.module.d.ts +8 -0
- package/lib/components/kv-stepper/kv-stepper.component.d.ts +32 -0
- package/lib/components/kv-stepper/kv-stepper.module.d.ts +13 -0
- package/lib/components/kv-steps/kv-steps.component.d.ts +21 -0
- package/lib/components/kv-table/kv-table.component.d.ts +154 -0
- package/lib/components/kv-table/kv-table.module.d.ts +12 -0
- package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +66 -0
- package/lib/components/kv-table-edit/kv-table-edit.module.d.ts +15 -0
- package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +119 -0
- package/lib/components/kv-table-expandable/kv-table-expandable.module.d.ts +13 -0
- package/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.d.ts +8 -0
- package/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.d.ts +7 -0
- package/lib/components/kv-table-viewer/kv-table-viewer.component.d.ts +72 -0
- package/lib/components/kv-tag/kv-tag.component.d.ts +7 -0
- package/lib/components/kv-tag/kv-tag.module.d.ts +8 -0
- package/lib/components/kv-tags/kv-tags.component.d.ts +31 -0
- package/lib/components/kv-tags/kv-tags.module.d.ts +8 -0
- package/lib/components/kv-timeline/kv-timeline.component.d.ts +18 -0
- package/lib/components/kv-tree-table/kv-tree-table.component.d.ts +87 -0
- package/lib/components/kv-tree-table/kv-tree-table.module.d.ts +11 -0
- package/lib/components/kv-tree-view/kv-tree-view.component.d.ts +21 -0
- package/lib/components/kv-tree-view/kv-tree-view.module.d.ts +9 -0
- package/lib/components/kv-widget-card/kv-widget-card.component.d.ts +60 -0
- package/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.d.ts +14 -0
- package/lib/components/kv-workspace/kv-workspace.module.d.ts +19 -0
- package/lib/components/kv-workspace/logo/kv-workspace-logo.component.d.ts +11 -0
- package/lib/components/kv-workspace/master/kv-workspace-master.component.d.ts +25 -0
- package/lib/components/kv-workspace/workspace/kv-workspace.component.d.ts +37 -0
- package/package.json +42 -32
- package/{src/public-api.ts → public-api.d.ts} +298 -361
- package/src/lib/components/kv-table/kv-table.component.scss +4 -4
- package/ng-package.json +0 -14
- package/src/assets/.gitkeep +0 -0
- package/src/index.ts +0 -1
- package/src/lib/api/base-components/base-component-button.ts +0 -29
- package/src/lib/api/base-components/base-component-chart.ts +0 -118
- package/src/lib/api/base-components/base-component-crud-form.ts +0 -377
- package/src/lib/api/base-components/base-component-crud-list.ts +0 -129
- package/src/lib/api/base-components/base-component-crud.ts +0 -92
- package/src/lib/api/base-components/base-component-dropdown-external.ts +0 -29
- package/src/lib/api/base-components/base-component-dropdown-new.ts +0 -112
- package/src/lib/api/base-components/base-component-dropdown.ts +0 -257
- package/src/lib/api/base-components/base-component-input.ts +0 -121
- package/src/lib/api/base-components/base-component-multi-select.ts +0 -187
- package/src/lib/api/base-components/base-component-table.ts +0 -366
- package/src/lib/api/base-components/base-component.ts +0 -47
- package/src/lib/api/components/chart/chart.config.ts +0 -15
- package/src/lib/api/components/chart/chart.model.ts +0 -12
- package/src/lib/api/components/chart/orchart.config.ts +0 -51
- package/src/lib/api/components/chart/orchartnode.ts +0 -44
- package/src/lib/api/components/dropdown/filtro.combo.ts +0 -4
- package/src/lib/api/components/stepper/kv-stepperpanel.ts +0 -10
- package/src/lib/api/components/table/action-item.ts +0 -13
- package/src/lib/api/components/table/kv-menuitem.ts +0 -198
- package/src/lib/api/components/table/table-dropdown-control.ts +0 -6
- package/src/lib/api/components/table/table.config.column.ts +0 -38
- package/src/lib/api/components/table/table.config.ts +0 -39
- package/src/lib/api/components/table/table.paginate.ts +0 -7
- package/src/lib/api/components/table/tableedit.config.column.ts +0 -12
- package/src/lib/api/components/tree-table/tree-table-keys.ts +0 -12
- package/src/lib/api/components/tree-table/tree-table.config.ts +0 -34
- package/src/lib/api/directives/directives.module.ts +0 -19
- package/src/lib/api/directives/drag/drag.directive.ts +0 -40
- package/src/lib/api/directives/stepper/dynamicinput.directive.ts +0 -23
- package/src/lib/api/directives/template/template.directive.ts +0 -15
- package/src/lib/api/helpers/component-providers.ts +0 -16
- package/src/lib/api/helpers/keevo-validators.ts +0 -174
- package/src/lib/api/helpers/severity-color.ts +0 -77
- package/src/lib/api/helpers/translate-primeng.ts +0 -25
- package/src/lib/api/modules/primeng.module.ts +0 -144
- package/src/lib/api/pipes/capitalize.pipe.ts +0 -47
- package/src/lib/api/pipes/cpfcnpj.pipe.ts +0 -21
- package/src/lib/api/pipes/mask.pipe.ts +0 -24
- package/src/lib/api/pipes/pipes.module.ts +0 -26
- package/src/lib/api/pipes/telefone.pipe.ts +0 -38
- package/src/lib/api/services/base.api.service.ts +0 -115
- package/src/lib/api/services/breadcrumbs.service.ts +0 -71
- package/src/lib/api/services/chat.service.ts +0 -39
- package/src/lib/api/services/component.service.ts +0 -44
- package/src/lib/api/services/docs.service.ts +0 -129
- package/src/lib/api/services/form.service.ts +0 -139
- package/src/lib/api/services/image.cutter.service.ts +0 -290
- package/src/lib/api/services/imagens.service.ts +0 -28
- package/src/lib/api/services/notification.service.ts +0 -88
- package/src/lib/api/services/object.service.ts +0 -33
- package/src/lib/api/services/orgchart.service.ts +0 -77
- package/src/lib/api/services/pdf.service.ts +0 -54
- package/src/lib/api/types/breadcrumb.model.ts +0 -5
- package/src/lib/api/types/stimulsoft.reports.d.ts +0 -67463
- package/src/lib/components/keevo-components.module.ts +0 -105
- package/src/lib/components/kv-avatar/kv-avatar.component.html +0 -75
- package/src/lib/components/kv-avatar/kv-avatar.component.scss +0 -162
- package/src/lib/components/kv-avatar/kv-avatar.component.spec.ts +0 -23
- package/src/lib/components/kv-avatar/kv-avatar.component.ts +0 -165
- package/src/lib/components/kv-avatar/kv-avatar.module.ts +0 -32
- package/src/lib/components/kv-button/kv-button.component.html +0 -26
- package/src/lib/components/kv-button/kv-button.component.spec.ts +0 -23
- package/src/lib/components/kv-button/kv-button.component.ts +0 -55
- package/src/lib/components/kv-button/kv-button.module.ts +0 -20
- package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.html +0 -14
- package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.scss +0 -6
- package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.ts +0 -25
- package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.html +0 -13
- package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.scss +0 -33
- package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.ts +0 -41
- package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.html +0 -12
- package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.scss +0 -18
- package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.ts +0 -14
- package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.html +0 -11
- package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.scss +0 -17
- package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.ts +0 -14
- package/src/lib/components/kv-buttons/kv-button.module.ts +0 -26
- package/src/lib/components/kv-card-selection/kv-card-selection.component.html +0 -63
- package/src/lib/components/kv-card-selection/kv-card-selection.component.scss +0 -54
- package/src/lib/components/kv-card-selection/kv-card-selection.component.spec.ts +0 -23
- package/src/lib/components/kv-card-selection/kv-card-selection.component.ts +0 -73
- package/src/lib/components/kv-card-selection/kv-card-selection.module.ts +0 -19
- package/src/lib/components/kv-carousel/kv-carousel.component.html +0 -26
- package/src/lib/components/kv-carousel/kv-carousel.component.scss +0 -47
- package/src/lib/components/kv-carousel/kv-carousel.component.spec.ts +0 -23
- package/src/lib/components/kv-carousel/kv-carousel.component.ts +0 -40
- package/src/lib/components/kv-carousel/kv-carousel.module.ts +0 -19
- package/src/lib/components/kv-chart/kv-chart.component.html +0 -38
- package/src/lib/components/kv-chart/kv-chart.component.scss +0 -0
- package/src/lib/components/kv-chart/kv-chart.component.spec.ts +0 -28
- package/src/lib/components/kv-chart/kv-chart.component.ts +0 -174
- package/src/lib/components/kv-chart/kv-chart.module.ts +0 -21
- package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.html +0 -9
- package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.scss +0 -7
- package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.spec.ts +0 -23
- package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.ts +0 -32
- package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.ts +0 -14
- package/src/lib/components/kv-content-viewer/kv-content-viewer.component.html +0 -229
- package/src/lib/components/kv-content-viewer/kv-content-viewer.component.scss +0 -185
- package/src/lib/components/kv-content-viewer/kv-content-viewer.component.spec.ts +0 -23
- package/src/lib/components/kv-content-viewer/kv-content-viewer.component.ts +0 -171
- package/src/lib/components/kv-content-viewer/kv-content-viewer.module.ts +0 -25
- package/src/lib/components/kv-error/kv-error.component.html +0 -3
- package/src/lib/components/kv-error/kv-error.component.scss +0 -5
- package/src/lib/components/kv-error/kv-error.component.ts +0 -27
- package/src/lib/components/kv-error/kv-error.module.ts +0 -26
- package/src/lib/components/kv-file-upload/kv-file-upload.component.html +0 -134
- package/src/lib/components/kv-file-upload/kv-file-upload.component.scss +0 -13
- package/src/lib/components/kv-file-upload/kv-file-upload.component.spec.ts +0 -23
- package/src/lib/components/kv-file-upload/kv-file-upload.component.ts +0 -200
- package/src/lib/components/kv-file-upload/kv-file-upload.module.ts +0 -13
- package/src/lib/components/kv-file-viewer/kv-file-viewer.component.html +0 -16
- package/src/lib/components/kv-file-viewer/kv-file-viewer.component.scss +0 -18
- package/src/lib/components/kv-file-viewer/kv-file-viewer.component.ts +0 -42
- package/src/lib/components/kv-file-viewer/kv-file-viewer.module.ts +0 -14
- package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.html +0 -34
- package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.scss +0 -17
- package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.ts +0 -80
- package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.ts +0 -15
- package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.html +0 -103
- package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.scss +0 -153
- package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.spec.ts +0 -23
- package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.ts +0 -73
- package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.module.ts +0 -18
- package/src/lib/components/kv-filter-card/kv-filter-card.component.html +0 -12
- package/src/lib/components/kv-filter-card/kv-filter-card.component.scss +0 -76
- package/src/lib/components/kv-filter-card/kv-filter-card.component.spec.ts +0 -23
- package/src/lib/components/kv-filter-card/kv-filter-card.component.ts +0 -18
- package/src/lib/components/kv-filter-card/kv-filter-card.module.ts +0 -23
- package/src/lib/components/kv-filter-cards/kv-filter-cards.component.html +0 -81
- package/src/lib/components/kv-filter-cards/kv-filter-cards.component.scss +0 -197
- package/src/lib/components/kv-filter-cards/kv-filter-cards.component.ts +0 -150
- package/src/lib/components/kv-filter-cards/kv-filter-cards.module.ts +0 -20
- package/src/lib/components/kv-filter-cards/kv-filter-cards.pipe.ts +0 -24
- package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.html +0 -25
- package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.scss +0 -22
- package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.spec.ts +0 -23
- package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.ts +0 -20
- package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.ts +0 -20
- package/src/lib/components/kv-g-icon/kv-g-icon.component.html +0 -1
- package/src/lib/components/kv-g-icon/kv-g-icon.component.scss +0 -0
- package/src/lib/components/kv-g-icon/kv-g-icon.component.spec.ts +0 -23
- package/src/lib/components/kv-g-icon/kv-g-icon.component.ts +0 -10
- package/src/lib/components/kv-g-icon/kv-g-icon.module.ts +0 -11
- package/src/lib/components/kv-home-card/kv-home-card.component.html +0 -35
- package/src/lib/components/kv-home-card/kv-home-card.component.scss +0 -5
- package/src/lib/components/kv-home-card/kv-home-card.component.spec.ts +0 -23
- package/src/lib/components/kv-home-card/kv-home-card.component.ts +0 -33
- package/src/lib/components/kv-home-card/kv-home-card.module.ts +0 -18
- package/src/lib/components/kv-icon/kv-icon.component.html +0 -13
- package/src/lib/components/kv-icon/kv-icon.component.scss +0 -69
- package/src/lib/components/kv-icon/kv-icon.component.spec.ts +0 -28
- package/src/lib/components/kv-icon/kv-icon.component.ts +0 -30
- package/src/lib/components/kv-icon/kv-icon.module.ts +0 -16
- package/src/lib/components/kv-image-upload/kv-image-upload.component.html +0 -64
- package/src/lib/components/kv-image-upload/kv-image-upload.component.scss +0 -0
- package/src/lib/components/kv-image-upload/kv-image-upload.component.ts +0 -153
- package/src/lib/components/kv-image-upload/kv-image-upload.module.ts +0 -10
- package/src/lib/components/kv-inputs/kv-check/kv-check.component.html +0 -12
- package/src/lib/components/kv-inputs/kv-check/kv-check.component.scss +0 -38
- package/src/lib/components/kv-inputs/kv-check/kv-check.component.ts +0 -32
- package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.html +0 -87
- package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.ts +0 -119
- package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.html +0 -13
- package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.spec.ts +0 -23
- package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.ts +0 -16
- package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.html +0 -18
- package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.ts +0 -41
- package/src/lib/components/kv-inputs/kv-editor/config/kv-editor.config.ts +0 -120
- package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.html +0 -285
- package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.scss +0 -182
- package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.ts +0 -311
- package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.ts +0 -156
- package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.ts +0 -190
- package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.spec.ts +0 -126
- package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.ts +0 -84
- package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.spec.ts +0 -176
- package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.ts +0 -101
- package/src/lib/components/kv-inputs/kv-editor/types/kv-editor.types.ts +0 -36
- package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.html +0 -37
- package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.scss +0 -23
- package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.ts +0 -197
- package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.html +0 -24
- package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.ts +0 -35
- package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.html +0 -23
- package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.ts +0 -61
- package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.html +0 -33
- package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.scss +0 -5
- package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.ts +0 -63
- package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.html +0 -24
- package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.ts +0 -26
- package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.html +0 -23
- package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.scss +0 -18
- package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.ts +0 -40
- package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.html +0 -30
- package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.scss +0 -26
- package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.ts +0 -38
- package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.html +0 -53
- package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.scss +0 -41
- package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.spec.ts +0 -23
- package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.ts +0 -48
- package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.html +0 -23
- package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.ts +0 -40
- package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.html +0 -24
- package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.ts +0 -27
- package/src/lib/components/kv-inputs/kv-inputs.module.ts +0 -100
- package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.html +0 -87
- package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.scss +0 -62
- package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.ts +0 -54
- package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.html +0 -19
- package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.scss +0 -22
- package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.ts +0 -63
- package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.html +0 -26
- package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.scss +0 -5
- package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.spec.ts +0 -21
- package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.ts +0 -30
- package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.html +0 -28
- package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.scss +0 -61
- package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.spec.ts +0 -23
- package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.ts +0 -43
- package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.html +0 -23
- package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.scss +0 -35
- package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.ts +0 -54
- package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.html +0 -68
- package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.scss +0 -86
- package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.ts +0 -59
- package/src/lib/components/kv-label/kv-label.component.html +0 -3
- package/src/lib/components/kv-label/kv-label.component.scss +0 -15
- package/src/lib/components/kv-label/kv-label.component.spec.ts +0 -23
- package/src/lib/components/kv-label/kv-label.component.ts +0 -14
- package/src/lib/components/kv-label/kv-label.module.ts +0 -17
- package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.html +0 -25
- package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.scss +0 -19
- package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.spec.ts +0 -28
- package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.ts +0 -34
- package/src/lib/components/kv-layout/kv-layout.module.ts +0 -44
- package/src/lib/components/kv-layout/layout/kv-layout.component.html +0 -535
- package/src/lib/components/kv-layout/layout/kv-layout.component.scss +0 -267
- package/src/lib/components/kv-layout/layout/kv-layout.component.spec.ts +0 -23
- package/src/lib/components/kv-layout/layout/kv-layout.component.ts +0 -502
- package/src/lib/components/kv-layout/top-icons/top-icons.component.html +0 -26
- package/src/lib/components/kv-layout/top-icons/top-icons.component.scss +0 -71
- package/src/lib/components/kv-layout/top-icons/top-icons.component.spec.ts +0 -23
- package/src/lib/components/kv-layout/top-icons/top-icons.component.ts +0 -26
- package/src/lib/components/kv-loader/kv-loader.component.html +0 -1
- package/src/lib/components/kv-loader/kv-loader.component.ts +0 -11
- package/src/lib/components/kv-loader/kv-loader.module.ts +0 -17
- package/src/lib/components/kv-loader/kv-loader.service.ts +0 -29
- package/src/lib/components/kv-login/kv-login.component.html +0 -101
- package/src/lib/components/kv-login/kv-login.component.scss +0 -99
- package/src/lib/components/kv-login/kv-login.component.spec.ts +0 -23
- package/src/lib/components/kv-login/kv-login.component.ts +0 -97
- package/src/lib/components/kv-login/kv-login.module.ts +0 -33
- package/src/lib/components/kv-modal/kv-modal.component.html +0 -20
- package/src/lib/components/kv-modal/kv-modal.component.scss +0 -37
- package/src/lib/components/kv-modal/kv-modal.component.spec.ts +0 -21
- package/src/lib/components/kv-modal/kv-modal.component.ts +0 -111
- package/src/lib/components/kv-modal/kv-modal.module.ts +0 -12
- package/src/lib/components/kv-orgchart/kv-orgchart.component.html +0 -125
- package/src/lib/components/kv-orgchart/kv-orgchart.component.scss +0 -73
- package/src/lib/components/kv-orgchart/kv-orgchart.component.ts +0 -283
- package/src/lib/components/kv-orgchart/kv-orgchart.module.ts +0 -31
- package/src/lib/components/kv-page-form/kv-page-form.component.html +0 -91
- package/src/lib/components/kv-page-form/kv-page-form.component.scss +0 -100
- package/src/lib/components/kv-page-form/kv-page-form.component.spec.ts +0 -28
- package/src/lib/components/kv-page-form/kv-page-form.component.ts +0 -206
- package/src/lib/components/kv-page-form/kv-page-form.module.ts +0 -33
- package/src/lib/components/kv-page-stepper/kv-page-stepper.component.html +0 -276
- package/src/lib/components/kv-page-stepper/kv-page-stepper.component.scss +0 -85
- package/src/lib/components/kv-page-stepper/kv-page-stepper.component.spec.ts +0 -23
- package/src/lib/components/kv-page-stepper/kv-page-stepper.component.ts +0 -223
- package/src/lib/components/kv-page-stepper/kv-page-stepper.module.ts +0 -36
- package/src/lib/components/kv-pick-list/kv-pick-list.component.html +0 -32
- package/src/lib/components/kv-pick-list/kv-pick-list.component.scss +0 -57
- package/src/lib/components/kv-pick-list/kv-pick-list.component.spec.ts +0 -26
- package/src/lib/components/kv-pick-list/kv-pick-list.component.ts +0 -461
- package/src/lib/components/kv-pick-list/kv-pick-list.module.ts +0 -24
- package/src/lib/components/kv-progress-bar/kv-progress-bar.component.html +0 -38
- package/src/lib/components/kv-progress-bar/kv-progress-bar.component.scss +0 -128
- package/src/lib/components/kv-progress-bar/kv-progress-bar.component.spec.ts +0 -21
- package/src/lib/components/kv-progress-bar/kv-progress-bar.component.ts +0 -75
- package/src/lib/components/kv-progress-bar/kv-progress-bar.module.ts +0 -19
- package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.html +0 -43
- package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.scss +0 -130
- package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.spec.ts +0 -23
- package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.ts +0 -82
- package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.ts +0 -18
- package/src/lib/components/kv-report/kv-report.component.html +0 -3
- package/src/lib/components/kv-report/kv-report.component.scss +0 -14
- package/src/lib/components/kv-report/kv-report.component.spec.ts +0 -28
- package/src/lib/components/kv-report/kv-report.component.ts +0 -44
- package/src/lib/components/kv-report/kv-report.module.ts +0 -18
- package/src/lib/components/kv-stepper/kv-stepper.component.html +0 -94
- package/src/lib/components/kv-stepper/kv-stepper.component.scss +0 -43
- package/src/lib/components/kv-stepper/kv-stepper.component.spec.ts +0 -23
- package/src/lib/components/kv-stepper/kv-stepper.component.ts +0 -73
- package/src/lib/components/kv-stepper/kv-stepper.module.ts +0 -27
- package/src/lib/components/kv-steps/kv-steps.component.html +0 -53
- package/src/lib/components/kv-steps/kv-steps.component.scss +0 -120
- package/src/lib/components/kv-steps/kv-steps.component.ts +0 -122
- package/src/lib/components/kv-table/kv-table.component.html +0 -655
- package/src/lib/components/kv-table/kv-table.component.spec.ts +0 -28
- package/src/lib/components/kv-table/kv-table.component.ts +0 -792
- package/src/lib/components/kv-table/kv-table.module.ts +0 -25
- package/src/lib/components/kv-table-edit/kv-table-edit.component.html +0 -913
- package/src/lib/components/kv-table-edit/kv-table-edit.component.scss +0 -829
- package/src/lib/components/kv-table-edit/kv-table-edit.component.ts +0 -425
- package/src/lib/components/kv-table-edit/kv-table-edit.module.ts +0 -31
- package/src/lib/components/kv-table-expandable/kv-table-expandable.component.html +0 -634
- package/src/lib/components/kv-table-expandable/kv-table-expandable.component.scss +0 -387
- package/src/lib/components/kv-table-expandable/kv-table-expandable.component.ts +0 -546
- package/src/lib/components/kv-table-expandable/kv-table-expandable.module.ts +0 -22
- package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.html +0 -25
- package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.scss +0 -0
- package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.spec.ts +0 -23
- package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.ts +0 -17
- package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.html +0 -20
- package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.scss +0 -0
- package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.spec.ts +0 -23
- package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.ts +0 -14
- package/src/lib/components/kv-table-viewer/kv-table-viewer.component.html +0 -164
- package/src/lib/components/kv-table-viewer/kv-table-viewer.component.scss +0 -80
- package/src/lib/components/kv-table-viewer/kv-table-viewer.component.spec.ts +0 -23
- package/src/lib/components/kv-table-viewer/kv-table-viewer.component.ts +0 -183
- package/src/lib/components/kv-tag/kv-tag.component.html +0 -3
- package/src/lib/components/kv-tag/kv-tag.component.scss +0 -65
- package/src/lib/components/kv-tag/kv-tag.component.spec.ts +0 -23
- package/src/lib/components/kv-tag/kv-tag.component.ts +0 -16
- package/src/lib/components/kv-tag/kv-tag.module.ts +0 -18
- package/src/lib/components/kv-tags/kv-tags.component.html +0 -19
- package/src/lib/components/kv-tags/kv-tags.component.scss +0 -28
- package/src/lib/components/kv-tags/kv-tags.component.ts +0 -64
- package/src/lib/components/kv-tags/kv-tags.module.ts +0 -18
- package/src/lib/components/kv-timeline/kv-timeline.component.html +0 -28
- package/src/lib/components/kv-timeline/kv-timeline.component.scss +0 -6
- package/src/lib/components/kv-timeline/kv-timeline.component.spec.ts +0 -23
- package/src/lib/components/kv-timeline/kv-timeline.component.ts +0 -77
- package/src/lib/components/kv-tree-table/kv-tree-table.component.html +0 -492
- package/src/lib/components/kv-tree-table/kv-tree-table.component.scss +0 -187
- package/src/lib/components/kv-tree-table/kv-tree-table.component.spec.ts +0 -21
- package/src/lib/components/kv-tree-table/kv-tree-table.component.ts +0 -355
- package/src/lib/components/kv-tree-table/kv-tree-table.module.ts +0 -23
- package/src/lib/components/kv-tree-view/kv-tree-view.component.html +0 -16
- package/src/lib/components/kv-tree-view/kv-tree-view.component.scss +0 -19
- package/src/lib/components/kv-tree-view/kv-tree-view.component.spec.ts +0 -23
- package/src/lib/components/kv-tree-view/kv-tree-view.component.ts +0 -73
- package/src/lib/components/kv-tree-view/kv-tree-view.module.ts +0 -19
- package/src/lib/components/kv-widget-card/kv-widget-card.component.html +0 -71
- package/src/lib/components/kv-widget-card/kv-widget-card.component.scss +0 -27
- package/src/lib/components/kv-widget-card/kv-widget-card.component.spec.ts +0 -28
- package/src/lib/components/kv-widget-card/kv-widget-card.component.ts +0 -107
- package/src/lib/components/kv-widget-card/kv-widget-card.module.ts +0 -20
- package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.html +0 -22
- package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.scss +0 -36
- package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.spec.ts +0 -28
- package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.ts +0 -41
- package/src/lib/components/kv-workspace/kv-workspace.module.ts +0 -45
- package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.html +0 -20
- package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.scss +0 -0
- package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.spec.ts +0 -28
- package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.ts +0 -18
- package/src/lib/components/kv-workspace/master/kv-workspace-master.component.html +0 -35
- package/src/lib/components/kv-workspace/master/kv-workspace-master.component.scss +0 -29
- package/src/lib/components/kv-workspace/master/kv-workspace-master.component.spec.ts +0 -28
- package/src/lib/components/kv-workspace/master/kv-workspace-master.component.ts +0 -98
- package/src/lib/components/kv-workspace/workspace/kv-workspace.component.html +0 -63
- package/src/lib/components/kv-workspace/workspace/kv-workspace.component.scss +0 -62
- package/src/lib/components/kv-workspace/workspace/kv-workspace.component.ts +0 -91
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuração padrão para o KV Editor
|
|
3
|
+
* Este arquivo demonstra as melhores práticas de configuração
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Configuração padrão do componente KV Editor
|
|
7
|
+
*/
|
|
8
|
+
export const DEFAULT_KV_EDITOR_CONFIG = {
|
|
9
|
+
contentType: 'html',
|
|
10
|
+
readonly: false,
|
|
11
|
+
debug: false,
|
|
12
|
+
canvaHeigth: '380px'
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Configuração padrão do Quill Editor
|
|
16
|
+
*/
|
|
17
|
+
export const DEFAULT_QUILL_CONFIG = {
|
|
18
|
+
theme: 'snow',
|
|
19
|
+
modules: {
|
|
20
|
+
toolbar: '#kv-editor-toolbar',
|
|
21
|
+
},
|
|
22
|
+
readOnly: false,
|
|
23
|
+
debug: false,
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Configuração de fontes personalizadas
|
|
27
|
+
*/
|
|
28
|
+
export const CUSTOM_FONTS = [
|
|
29
|
+
'monospace',
|
|
30
|
+
'roboto',
|
|
31
|
+
'arial',
|
|
32
|
+
'times-new-roman',
|
|
33
|
+
'serif',
|
|
34
|
+
'inter'
|
|
35
|
+
];
|
|
36
|
+
/**
|
|
37
|
+
* Configuração de tamanhos de fonte
|
|
38
|
+
*/
|
|
39
|
+
export const FONT_SIZES = [
|
|
40
|
+
'15px',
|
|
41
|
+
'20px',
|
|
42
|
+
'30px',
|
|
43
|
+
'40px',
|
|
44
|
+
'50px',
|
|
45
|
+
'70px',
|
|
46
|
+
'90px'
|
|
47
|
+
];
|
|
48
|
+
/**
|
|
49
|
+
* Configuração de estilos CSS para PDF
|
|
50
|
+
*/
|
|
51
|
+
export const PDF_STYLES = `
|
|
52
|
+
<style>
|
|
53
|
+
#temp-pdf-render-area {
|
|
54
|
+
font-family: 'Sans Serif', Arial, sans-serif;
|
|
55
|
+
font-size: 11pt;
|
|
56
|
+
line-height: 1.3;
|
|
57
|
+
text-align: justify;
|
|
58
|
+
}
|
|
59
|
+
#temp-pdf-render-area p {
|
|
60
|
+
min-height: 1.3em;
|
|
61
|
+
margin: 0;
|
|
62
|
+
padding: 0;
|
|
63
|
+
}
|
|
64
|
+
#temp-pdf-render-area h1, #temp-pdf-render-area h2, #temp-pdf-render-area h3,
|
|
65
|
+
#temp-pdf-render-area h4, #temp-pdf-render-area h5, #temp-pdf-render-area h6 {
|
|
66
|
+
page-break-after: avoid;
|
|
67
|
+
}
|
|
68
|
+
#temp-pdf-render-area [style*="text-align: center"] {
|
|
69
|
+
text-align: center !important;
|
|
70
|
+
}
|
|
71
|
+
#temp-pdf-render-area p, #temp-pdf-render-area h1, #temp-pdf-render-area h2,
|
|
72
|
+
#temp-pdf-render-area h3, #temp-pdf-render-area h4, #temp-pdf-render-area h5,
|
|
73
|
+
#temp-pdf-render-area h6, #temp-pdf-render-area blockquote, #temp-pdf-render-area ul,
|
|
74
|
+
#temp-pdf-render-area ol, #temp-pdf-render-area li, #temp-pdf-render-area table,
|
|
75
|
+
#temp-pdf-render-area tr, #temp-pdf-render-area img {
|
|
76
|
+
page-break-inside: avoid;
|
|
77
|
+
}
|
|
78
|
+
</style>
|
|
79
|
+
`;
|
|
80
|
+
/**
|
|
81
|
+
* Configuração de tempo de debounce para auto-save
|
|
82
|
+
*/
|
|
83
|
+
export const DEBOUNCE_TIME = 500;
|
|
84
|
+
/**
|
|
85
|
+
* Configuração de URLs CDN
|
|
86
|
+
*/
|
|
87
|
+
export const CDN_URLS = {
|
|
88
|
+
quillCss: 'https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.snow.css',
|
|
89
|
+
quillJs: 'https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.js',
|
|
90
|
+
robotoFont: 'https://fonts.googleapis.com/css?family=Roboto'
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Configuração de mensagens de erro
|
|
94
|
+
*/
|
|
95
|
+
export const ERROR_MESSAGES = {
|
|
96
|
+
pdfGeneration: 'Ocorreu um erro ao gerar o relatório.',
|
|
97
|
+
quillInit: 'Erro ao inicializar o editor.',
|
|
98
|
+
saveError: 'Erro ao salvar o conteúdo.',
|
|
99
|
+
loadError: 'Erro ao carregar o conteúdo.'
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Configuração de timeouts
|
|
103
|
+
*/
|
|
104
|
+
export const TIMEOUTS = {
|
|
105
|
+
pdfGeneration: 2000,
|
|
106
|
+
editorInit: 1000,
|
|
107
|
+
cssLoad: 5000,
|
|
108
|
+
autoSave: 3000
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3IvY29uZmlnL2t2LWVkaXRvci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBSUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBbUI7SUFDdEQsV0FBVyxFQUFFLE1BQU07SUFDbkIsUUFBUSxFQUFFLEtBQUs7SUFDZixLQUFLLEVBQUUsS0FBSztJQUNaLFdBQVcsRUFBRSxPQUFPO0NBQ3JCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFpQztJQUNoRSxLQUFLLEVBQUUsTUFBTTtJQUNiLE9BQU8sRUFBRTtRQUNQLE9BQU8sRUFBRSxvQkFBb0I7S0FDOUI7SUFDRCxRQUFRLEVBQUUsS0FBSztJQUNmLEtBQUssRUFBRSxLQUFLO0NBQ2IsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLFdBQVc7SUFDWCxRQUFRO0lBQ1IsT0FBTztJQUNQLGlCQUFpQjtJQUNqQixPQUFPO0lBQ1AsT0FBTztDQUNSLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixNQUFNO0lBQ04sTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0NBQ1AsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNEJ6QixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDO0FBRWpDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3RCLFFBQVEsRUFBRSw4REFBOEQ7SUFDeEUsT0FBTyxFQUFFLHdEQUF3RDtJQUNqRSxVQUFVLEVBQUUsZ0RBQWdEO0NBQzdELENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixhQUFhLEVBQUUsdUNBQXVDO0lBQ3RELFNBQVMsRUFBRSwrQkFBK0I7SUFDMUMsU0FBUyxFQUFFLDRCQUE0QjtJQUN2QyxTQUFTLEVBQUUsOEJBQThCO0NBQzFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QixhQUFhLEVBQUUsSUFBSTtJQUNuQixVQUFVLEVBQUUsSUFBSTtJQUNoQixPQUFPLEVBQUUsSUFBSTtJQUNiLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBDb25maWd1cmHDp8OjbyBwYWRyw6NvIHBhcmEgbyBLViBFZGl0b3JcclxuICogRXN0ZSBhcnF1aXZvIGRlbW9uc3RyYSBhcyBtZWxob3JlcyBwcsOhdGljYXMgZGUgY29uZmlndXJhw6fDo29cclxuICovXHJcblxyXG5pbXBvcnQgeyBLdkVkaXRvckNvbmZpZywgS3ZFZGl0b3JRdWlsbENvbmZpZyB9IGZyb20gJy4uL3R5cGVzL2t2LWVkaXRvci50eXBlcyc7XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhw6fDo28gcGFkcsOjbyBkbyBjb21wb25lbnRlIEtWIEVkaXRvclxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfS1ZfRURJVE9SX0NPTkZJRzogS3ZFZGl0b3JDb25maWcgPSB7XHJcbiAgY29udGVudFR5cGU6ICdodG1sJyxcclxuICByZWFkb25seTogZmFsc2UsXHJcbiAgZGVidWc6IGZhbHNlLFxyXG4gIGNhbnZhSGVpZ3RoOiAnMzgwcHgnXHJcbn07XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhw6fDo28gcGFkcsOjbyBkbyBRdWlsbCBFZGl0b3JcclxuICovXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX1FVSUxMX0NPTkZJRzogUGFydGlhbDxLdkVkaXRvclF1aWxsQ29uZmlnPiA9IHtcclxuICB0aGVtZTogJ3Nub3cnLFxyXG4gIG1vZHVsZXM6IHtcclxuICAgIHRvb2xiYXI6ICcja3YtZWRpdG9yLXRvb2xiYXInLFxyXG4gIH0sXHJcbiAgcmVhZE9ubHk6IGZhbHNlLFxyXG4gIGRlYnVnOiBmYWxzZSxcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmHDp8OjbyBkZSBmb250ZXMgcGVyc29uYWxpemFkYXNcclxuICovXHJcbmV4cG9ydCBjb25zdCBDVVNUT01fRk9OVFMgPSBbXHJcbiAgJ21vbm9zcGFjZScsXHJcbiAgJ3JvYm90bycsXHJcbiAgJ2FyaWFsJyxcclxuICAndGltZXMtbmV3LXJvbWFuJyxcclxuICAnc2VyaWYnLFxyXG4gICdpbnRlcidcclxuXTtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmHDp8OjbyBkZSB0YW1hbmhvcyBkZSBmb250ZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IEZPTlRfU0laRVMgPSBbXHJcbiAgJzE1cHgnLFxyXG4gICcyMHB4JyxcclxuICAnMzBweCcsXHJcbiAgJzQwcHgnLFxyXG4gICc1MHB4JyxcclxuICAnNzBweCcsXHJcbiAgJzkwcHgnXHJcbl07XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhw6fDo28gZGUgZXN0aWxvcyBDU1MgcGFyYSBQREZcclxuICovXHJcbmV4cG9ydCBjb25zdCBQREZfU1RZTEVTID0gYFxyXG4gIDxzdHlsZT5cclxuICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSB7IFxyXG4gICAgICBmb250LWZhbWlseTogJ1NhbnMgU2VyaWYnLCBBcmlhbCwgc2Fucy1zZXJpZjsgXHJcbiAgICAgIGZvbnQtc2l6ZTogMTFwdDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgXHJcbiAgICB9XHJcbiAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgcCB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDEuM2VtO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDEsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoMiwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGgzLCBcclxuICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoNCwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGg1LCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDYgeyBcclxuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IFxyXG4gICAgfVxyXG4gICAgI3RlbXAtcGRmLXJlbmRlci1hcmVhIFtzdHlsZSo9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIl0ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBwLCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDEsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoMiwgXHJcbiAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDMsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoNCwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGg1LCBcclxuICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoNiwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGJsb2NrcXVvdGUsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSB1bCwgXHJcbiAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgb2wsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBsaSwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIHRhYmxlLCBcclxuICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSB0ciwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGltZyB7IFxyXG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IFxyXG4gICAgfVxyXG4gIDwvc3R5bGU+XHJcbmA7XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhw6fDo28gZGUgdGVtcG8gZGUgZGVib3VuY2UgcGFyYSBhdXRvLXNhdmVcclxuICovXHJcbmV4cG9ydCBjb25zdCBERUJPVU5DRV9USU1FID0gNTAwO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYcOnw6NvIGRlIFVSTHMgQ0ROXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgQ0ROX1VSTFMgPSB7XHJcbiAgcXVpbGxDc3M6ICdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3F1aWxsQDIuMC4yL2Rpc3QvcXVpbGwuc25vdy5jc3MnLFxyXG4gIHF1aWxsSnM6ICdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3F1aWxsQDIuMC4yL2Rpc3QvcXVpbGwuanMnLFxyXG4gIHJvYm90b0ZvbnQ6ICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvJ1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYcOnw6NvIGRlIG1lbnNhZ2VucyBkZSBlcnJvXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgRVJST1JfTUVTU0FHRVMgPSB7XHJcbiAgcGRmR2VuZXJhdGlvbjogJ09jb3JyZXUgdW0gZXJybyBhbyBnZXJhciBvIHJlbGF0w7NyaW8uJyxcclxuICBxdWlsbEluaXQ6ICdFcnJvIGFvIGluaWNpYWxpemFyIG8gZWRpdG9yLicsXHJcbiAgc2F2ZUVycm9yOiAnRXJybyBhbyBzYWx2YXIgbyBjb250ZcO6ZG8uJyxcclxuICBsb2FkRXJyb3I6ICdFcnJvIGFvIGNhcnJlZ2FyIG8gY29udGXDumRvLidcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmHDp8OjbyBkZSB0aW1lb3V0c1xyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFRJTUVPVVRTID0ge1xyXG4gIHBkZkdlbmVyYXRpb246IDIwMDAsXHJcbiAgZWRpdG9ySW5pdDogMTAwMCxcclxuICBjc3NMb2FkOiA1MDAwLFxyXG4gIGF1dG9TYXZlOiAzMDAwXHJcbn07XHJcbiJdfQ==
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { Component, computed, effect, EventEmitter, inject, input, Input, model, Output, signal, ViewChild, } from '@angular/core';
|
|
2
|
+
import { DialogService } from 'primeng/dynamicdialog';
|
|
3
|
+
import { BaseComponentInput } from '../../../api/base-components/base-component-input';
|
|
4
|
+
import { ComponentProviders } from '../../../api/helpers/component-providers';
|
|
5
|
+
import { KvInstrucoesReportComponent } from './components/kv-instrucoes-report/kv-instrucoes-report.component';
|
|
6
|
+
import { KvEditorQuillService, KvEditorRelatorioService, KvEditorMentionService, KvEditorPdfService } from './kv-editor';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../../api/services/component.service";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
import * as i3 from "@angular/forms";
|
|
11
|
+
import * as i4 from "../../kv-error/kv-error.component";
|
|
12
|
+
import * as i5 from "primeng/tooltip";
|
|
13
|
+
import * as i6 from "primeng/divider";
|
|
14
|
+
import * as i7 from "primeng/progressbar";
|
|
15
|
+
import * as i8 from "primeng/overlaypanel";
|
|
16
|
+
import * as i9 from "primeng/skeleton";
|
|
17
|
+
import * as i10 from "../../kv-tags/kv-tags.component";
|
|
18
|
+
export class KvEditorComponent extends BaseComponentInput {
|
|
19
|
+
constructor(componentService) {
|
|
20
|
+
super(componentService);
|
|
21
|
+
// Injeção de serviços
|
|
22
|
+
this.quillService = inject(KvEditorQuillService);
|
|
23
|
+
this.relatorioService = inject(KvEditorRelatorioService);
|
|
24
|
+
this.mentionService = inject(KvEditorMentionService);
|
|
25
|
+
this.pdfService = inject(KvEditorPdfService);
|
|
26
|
+
this.dialogService = inject(DialogService);
|
|
27
|
+
// Propriedades de configuração
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Essa propriedade não será mais utilizada por esse componente nas próximas versões.
|
|
30
|
+
*/
|
|
31
|
+
this.canvaHeigth = '380px';
|
|
32
|
+
this.contentType = 'html';
|
|
33
|
+
this.debug = false;
|
|
34
|
+
// Eventos
|
|
35
|
+
this.onTextChange = new EventEmitter();
|
|
36
|
+
this.onSelectionChange = new EventEmitter();
|
|
37
|
+
this.outputRaw = new EventEmitter();
|
|
38
|
+
this.outputHtml = new EventEmitter();
|
|
39
|
+
// Propriedades internas
|
|
40
|
+
this.updatingEditor = false;
|
|
41
|
+
this.lastSelectionRange = null;
|
|
42
|
+
this.editorReadyPromise = new Promise((resolve) => {
|
|
43
|
+
this.editorReadyResolver = resolve;
|
|
44
|
+
});
|
|
45
|
+
this.htmlDoEditor = '';
|
|
46
|
+
// Signals para controle de estado
|
|
47
|
+
this.initLoadComplete = signal(false);
|
|
48
|
+
this.isLoading = signal(true);
|
|
49
|
+
this.editorToolbarHeight = signal('3rem');
|
|
50
|
+
// tipoVisualizacao = signal<'valor' | 'descricao'>('descricao');
|
|
51
|
+
this.filteredVariables = signal([]);
|
|
52
|
+
this.clearedTemplate = signal(false);
|
|
53
|
+
// Inputs para relatórios
|
|
54
|
+
this.relatorios = input([]);
|
|
55
|
+
this.idRelatorioInitial = model(0);
|
|
56
|
+
this.printButton = input(true);
|
|
57
|
+
this.labelEmptyDropdown = input('Selecione um relatório');
|
|
58
|
+
this.instrucoesTemplate = input(undefined);
|
|
59
|
+
this.showHeader = input(true);
|
|
60
|
+
this.readonly = input(false);
|
|
61
|
+
// Computed properties para relatórios
|
|
62
|
+
this.idRelatorioSelected = computed(() => this.relatorioService.getIdRelatorioSelected());
|
|
63
|
+
this.relatorio = computed(() => this.relatorioService.getRelatorioSelected());
|
|
64
|
+
this.isLoadingPdf = computed(() => this.pdfService.getIsLoadingPdf());
|
|
65
|
+
this.messages = [{ severity: 'info', detail: 'Message Content' }];
|
|
66
|
+
effect(() => {
|
|
67
|
+
let readonly = this.readonly();
|
|
68
|
+
if (this.quill) {
|
|
69
|
+
this.quill.enable(!readonly);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
// Métodos para gerenciar relatórios
|
|
74
|
+
setRelatorioPorId(id) {
|
|
75
|
+
const relatorio = this.relatorioService.setRelatorioPorId(id);
|
|
76
|
+
if (relatorio) {
|
|
77
|
+
this.setRelatorio(relatorio);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
setRelatorio(relatorio) {
|
|
81
|
+
this.clearedTemplate.set(false);
|
|
82
|
+
this.relatorioService.setRelatorio(relatorio);
|
|
83
|
+
const modelo = relatorio.modeloRelatorio || '';
|
|
84
|
+
const variaveis = relatorio.variaveis || [];
|
|
85
|
+
this.htmlDoEditor = this.relatorioService.renderContrato(modelo, variaveis);
|
|
86
|
+
this.updatingEditor = true;
|
|
87
|
+
this.escrevaValor(this.htmlDoEditor);
|
|
88
|
+
}
|
|
89
|
+
ngOnInit() {
|
|
90
|
+
super.ngOnInit();
|
|
91
|
+
// Inicializa os relatórios no serviço
|
|
92
|
+
this.relatorioService.setRelatorios(this.relatorios());
|
|
93
|
+
if (!this.quill) {
|
|
94
|
+
this.handleInit();
|
|
95
|
+
}
|
|
96
|
+
setTimeout(() => {
|
|
97
|
+
this.isLoading.set(false);
|
|
98
|
+
}, 1000);
|
|
99
|
+
if (this.idRelatorioInitial()) {
|
|
100
|
+
this.clearedTemplate.set(false);
|
|
101
|
+
this.setRelatorioPorId(this.idRelatorioInitial());
|
|
102
|
+
}
|
|
103
|
+
else
|
|
104
|
+
this.clearedTemplate.set(true);
|
|
105
|
+
}
|
|
106
|
+
async handleInit() {
|
|
107
|
+
await this.quillService.loadCss();
|
|
108
|
+
this.initializeQuillEditor();
|
|
109
|
+
}
|
|
110
|
+
initializeQuillEditor() {
|
|
111
|
+
const config = {
|
|
112
|
+
theme: 'snow',
|
|
113
|
+
modules: {
|
|
114
|
+
toolbar: '#kv-editor-toolbar',
|
|
115
|
+
},
|
|
116
|
+
placeholder: this.label ? this.label : '',
|
|
117
|
+
readOnly: this.readonly(),
|
|
118
|
+
debug: this.debug,
|
|
119
|
+
};
|
|
120
|
+
this.quill = this.quillService.createQuillInstance('#kv-editor', config);
|
|
121
|
+
this.setupQuillEvents();
|
|
122
|
+
this.editorReadyResolver();
|
|
123
|
+
this.initLoadComplete.set(true);
|
|
124
|
+
setTimeout(() => {
|
|
125
|
+
const control = this.formControl;
|
|
126
|
+
if (control && control.markAsPristine) {
|
|
127
|
+
control.markAsPristine();
|
|
128
|
+
control.markAsUntouched();
|
|
129
|
+
}
|
|
130
|
+
}, 0);
|
|
131
|
+
}
|
|
132
|
+
setupQuillEvents() {
|
|
133
|
+
this.quill.on('selection-change', (range, oldRange, source) => {
|
|
134
|
+
if (range) {
|
|
135
|
+
this.lastSelectionRange = range;
|
|
136
|
+
}
|
|
137
|
+
this.onSelectionChange.emit({
|
|
138
|
+
range: range,
|
|
139
|
+
oldRange: oldRange,
|
|
140
|
+
source: source,
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
this.quill.on('text-change', (delta, oldContents, source) => {
|
|
144
|
+
if (this.relatorios().length > 0) {
|
|
145
|
+
this.handleMention();
|
|
146
|
+
}
|
|
147
|
+
if (!this.updatingEditor) {
|
|
148
|
+
this.updatingEditor = false;
|
|
149
|
+
this.escrevaValor(this.quill.getSemanticHTML(), this.quill.getText());
|
|
150
|
+
this.onTextChange.emit({
|
|
151
|
+
delta: delta,
|
|
152
|
+
oldContents: oldContents,
|
|
153
|
+
source: source,
|
|
154
|
+
});
|
|
155
|
+
this.outputRaw.emit(this.quill.getText());
|
|
156
|
+
this.outputHtml.emit(this.quill.getSemanticHTML());
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
writeValue(value) {
|
|
161
|
+
this.updatingEditor = true;
|
|
162
|
+
this.escrevaValor(value);
|
|
163
|
+
}
|
|
164
|
+
async escrevaValor(htmlvalue, rawvalue) {
|
|
165
|
+
if (!this.initLoadComplete()) {
|
|
166
|
+
await this.editorReadyPromise;
|
|
167
|
+
}
|
|
168
|
+
if (this.quill) {
|
|
169
|
+
if (this.updatingEditor) {
|
|
170
|
+
this.quill.clipboard.dangerouslyPasteHTML(htmlvalue);
|
|
171
|
+
}
|
|
172
|
+
this.updatingEditor = false;
|
|
173
|
+
this.value = htmlvalue;
|
|
174
|
+
if (rawvalue == "\n" || this.value == "\n") {
|
|
175
|
+
this.value = '';
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
this.updatingEditor = false;
|
|
180
|
+
}
|
|
181
|
+
this.outputHtml.emit(this.quill.getSemanticHTML());
|
|
182
|
+
}
|
|
183
|
+
getEditorSize() {
|
|
184
|
+
let editorFieldHeight = document.getElementById('kv-editor-toolbar')?.offsetHeight;
|
|
185
|
+
if (editorFieldHeight) {
|
|
186
|
+
this.editorToolbarHeight.set(`${editorFieldHeight}px`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
async openRelatorio() {
|
|
190
|
+
if (this.isLoadingPdf())
|
|
191
|
+
return;
|
|
192
|
+
const htmlContent = this.quill.getSemanticHTML();
|
|
193
|
+
const relatorio = this.relatorio();
|
|
194
|
+
// const tipoVisualizacao = this.tipoVisualizacao();
|
|
195
|
+
await this.pdfService.openRelatorio(htmlContent, relatorio, 'valor');
|
|
196
|
+
}
|
|
197
|
+
// Métodos para sistema de menções
|
|
198
|
+
handleMention() {
|
|
199
|
+
if (!this.relatorio())
|
|
200
|
+
return;
|
|
201
|
+
const result = this.mentionService.handleMention(this.quill, this.relatorio().variaveis);
|
|
202
|
+
this.filteredVariables.set(result.filteredVariables);
|
|
203
|
+
if (result.shouldShowPanel && result.mentionBounds) {
|
|
204
|
+
this.showVariablesPanel(result.mentionBounds);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
this.closeVariablesPanel();
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
showVariablesPanel(bounds) {
|
|
211
|
+
const anchorEl = this.mentionAnchor.nativeElement;
|
|
212
|
+
anchorEl.style.top = `${bounds.top}px`;
|
|
213
|
+
anchorEl.style.left = `${bounds.left}px`;
|
|
214
|
+
this.opVariables.show(null, anchorEl);
|
|
215
|
+
}
|
|
216
|
+
selectVariableFromPanel(variable) {
|
|
217
|
+
this.mentionService.insertVariable(this.quill, variable);
|
|
218
|
+
this.closeVariablesPanel();
|
|
219
|
+
}
|
|
220
|
+
closeVariablesPanel() {
|
|
221
|
+
if (this.opVariables) {
|
|
222
|
+
this.opVariables.hide();
|
|
223
|
+
}
|
|
224
|
+
this.mentionService.closeMention();
|
|
225
|
+
}
|
|
226
|
+
showInstrucoes() {
|
|
227
|
+
this.dialogService.open(KvInstrucoesReportComponent, {
|
|
228
|
+
header: 'Instruções',
|
|
229
|
+
width: '40%',
|
|
230
|
+
height: '30%',
|
|
231
|
+
modal: true,
|
|
232
|
+
closable: true,
|
|
233
|
+
data: {
|
|
234
|
+
template: this.instrucoesTemplate()
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
clearTemplate() {
|
|
239
|
+
// Limpa o template do editor
|
|
240
|
+
this.clearedTemplate.set(true);
|
|
241
|
+
this.setRelatorioPorId(0);
|
|
242
|
+
this.writeValue('');
|
|
243
|
+
}
|
|
244
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorComponent, deps: [{ token: i1.ComponentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
245
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvEditorComponent, selector: "kv-editor", inputs: { canvaHeigth: { classPropertyName: "canvaHeigth", publicName: "canvaHeigth", isSignal: false, isRequired: false, transformFunction: null }, contentType: { classPropertyName: "contentType", publicName: "contentType", isSignal: false, isRequired: false, transformFunction: null }, debug: { classPropertyName: "debug", publicName: "debug", isSignal: false, isRequired: false, transformFunction: null }, relatorios: { classPropertyName: "relatorios", publicName: "relatorios", isSignal: true, isRequired: false, transformFunction: null }, idRelatorioInitial: { classPropertyName: "idRelatorioInitial", publicName: "idRelatorioInitial", isSignal: true, isRequired: false, transformFunction: null }, printButton: { classPropertyName: "printButton", publicName: "printButton", isSignal: true, isRequired: false, transformFunction: null }, labelEmptyDropdown: { classPropertyName: "labelEmptyDropdown", publicName: "labelEmptyDropdown", isSignal: true, isRequired: false, transformFunction: null }, instrucoesTemplate: { classPropertyName: "instrucoesTemplate", publicName: "instrucoesTemplate", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onTextChange: "onTextChange", onSelectionChange: "onSelectionChange", outputRaw: "outputRaw", outputHtml: "outputHtml", idRelatorioInitial: "idRelatorioInitialChange" }, providers: ComponentProviders(KvEditorComponent), viewQueries: [{ propertyName: "opVariables", first: true, predicate: ["opVariables"], descendants: true }, { propertyName: "mentionAnchor", first: true, predicate: ["mentionAnchor"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"kv-editor-container h-full w-full max-h-full flex flex-column overflow-hidden\"\r\n>\r\n <div\r\n #editor\r\n id=\"kv-editor-toolbar\"\r\n [ngClass]=\"{ 'error-border-toolbar': hasControlError() }\"\r\n class=\"{{ showHeader() ? 'flex' : 'hidden' }} flex-column flex-initial\"\r\n >\r\n @if(relatorios().length > 0) {\r\n <div class=\"flex flex-row justify-content-between\">\r\n <div class=\"flex flex-row gap-2\">\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 p-2 border-round-lg border-1 border-gray-200 hover:shadow-1 hover:bg-gray-100 cursor-pointer transition-all transition-duration-300\"\r\n (click)=\"op.toggle($event)\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined text-lg text-green-600 font-medium\"\r\n >\r\n contract\r\n </span>\r\n <span class=\"font-semibold text-xs text-gray-600\">{{\r\n !clearedTemplate()\r\n ? relatorio()?.label || labelEmptyDropdown()\r\n : labelEmptyDropdown()\r\n }}</span>\r\n <span class=\"material-symbols-outlined text-lg\">\r\n keyboard_arrow_down\r\n </span>\r\n </div>\r\n\r\n @if(!clearedTemplate()) {\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 p-2 border-round-lg border-1 border-gray-200 hover:shadow-1 hover:bg-gray-100 cursor-pointer transition-all transition-duration-300\"\r\n (click)=\"clearTemplate()\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined text-lg text-orange-600 font-medium\"\r\n [pTooltip]=\"'Limpar Template'\"\r\n >\r\n layers_clear\r\n </span>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 p-2 border-round-lg border-1 border-gray-200 hover:shadow-1 hover:bg-gray-100 cursor-pointer transition-all transition-duration-300\"\r\n (click)=\"showInstrucoes()\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined text-lg text-blue-600 font-medium\"\r\n >\r\n info\r\n </span>\r\n <span class=\"font-semibold text-xs text-gray-600\">Instru\u00E7\u00F5es</span>\r\n </div>\r\n </div>\r\n\r\n @if(printButton()) {\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 p-2 border-round-lg border-1 border-gray-200 hover:shadow-1 hover:bg-gray-100 cursor-pointer transition-all transition-duration-300\"\r\n (click)=\"openRelatorio()\"\r\n >\r\n <span class=\"material-symbols-outlined text-lg font-medium\">\r\n print\r\n </span>\r\n <span class=\"font-semibold text-xs text-gray-600\">Imprimir</span>\r\n </div>\r\n }\r\n </div>\r\n\r\n <p-divider class=\"w-full\"></p-divider>\r\n\r\n }\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between w-full flex-initial\"\r\n >\r\n @if(isLoading()) {\r\n\r\n <div class=\"flex flex-row align-items-center gap-3 w-full\">\r\n <p-skeleton\r\n styleClass=\"w-6rem\"\r\n [style]=\"{ height: '2rem' }\"\r\n ></p-skeleton>\r\n\r\n <p-skeleton\r\n styleClass=\"w-6rem\"\r\n [style]=\"{ height: '2rem' }\"\r\n ></p-skeleton>\r\n\r\n <p-skeleton\r\n styleClass=\"w-6rem\"\r\n [style]=\"{ height: '2rem' }\"\r\n ></p-skeleton>\r\n\r\n <p-skeleton\r\n styleClass=\"w-6rem\"\r\n [style]=\"{ height: '2rem' }\"\r\n ></p-skeleton>\r\n\r\n <p-skeleton\r\n styleClass=\"w-6rem\"\r\n [style]=\"{ height: '2rem' }\"\r\n ></p-skeleton>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"flex-row align-items-center flex-wrap gap-2 {{\r\n isLoading() ? 'hidden' : 'flex'\r\n }} w-full\"\r\n >\r\n <span class=\"ql-formats border-round-md\">\r\n <select class=\"ql-font\">\r\n <option value=\"roboto\">Roboto</option>\r\n <option value=\"arial\">Arial</option>\r\n <option value=\"times-new-roman\">Times New Roman</option>\r\n <option value=\"monospace\">Monospace</option>\r\n <option value=\"inter\">Inter</option>\r\n <option selected>Sans Serif</option>\r\n <option value=\"serif\">Serif</option>\r\n </select>\r\n\r\n <select class=\"ql-header\">\r\n <option value=\"1\">Titulo</option>\r\n <option value=\"2\">Subtitulo</option>\r\n <option selected>Normal</option>\r\n </select>\r\n\r\n <span class=\"ql-format-group\">\r\n <select title=\"Size\" class=\"ql-size\">\r\n <option value=\"15px\">15px</option>\r\n <option value=\"20px\">20px</option>\r\n <option value=\"30px\">30px</option>\r\n <option value=\"40px\">40px</option>\r\n <option value=\"50px\">50px</option>\r\n <option value=\"70px\">70px</option>\r\n <option value=\"90px\">90px</option>\r\n </select>\r\n </span>\r\n </span>\r\n\r\n <p-divider layout=\"vertical\"></p-divider>\r\n\r\n <span class=\"ql-formats border-round-md\">\r\n <button class=\"ql-bold\"></button>\r\n <button class=\"ql-italic\"></button>\r\n <button class=\"ql-underline\"></button>\r\n <button class=\"ql-strike\"></button>\r\n </span>\r\n\r\n <p-divider layout=\"vertical\"></p-divider>\r\n\r\n <span class=\"ql-formats border-round-md\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n\r\n @if(true) {\r\n <!-- <p-divider layout=\"vertical\"></p-divider>\r\n\r\n <span class=\"ql-formats border-round-md\">\r\n <button class=\"ql-header\" value=\"1\"></button>\r\n <button class=\"ql-header\" value=\"2\"></button>\r\n </span> -->\r\n\r\n <p-divider layout=\"vertical\"></p-divider>\r\n\r\n <span class=\"ql-formats border-round-md\">\r\n <button class=\"ql-link\"></button>\r\n <button class=\"ql-image\"></button>\r\n <button class=\"ql-video\"></button>\r\n </span>\r\n\r\n <p-divider layout=\"vertical\"></p-divider>\r\n\r\n <span class=\"ql-formats border-round-md\">\r\n <button class=\"ql-list\" value=\"ordered\"></button>\r\n <button class=\"ql-list\" value=\"bullet\"></button>\r\n <select class=\"ql-align\"></select>\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n style=\"height: 3px; border-top: none; border-bottom: none\"\r\n [style.borderRight]=\"showHeader() ? '1px solid #e5e7eb' : 'none'\"\r\n [style.borderLeft]=\"showHeader() ? '1px solid #e5e7eb' : 'none'\"\r\n >\r\n @if(isLoadingPdf()) {\r\n <p-progressBar mode=\"indeterminate\" [style]=\"{ height: '3px' }\" />\r\n }\r\n </div>\r\n\r\n <div\r\n id=\"kv-editor\"\r\n class=\"overflow-auto w-full flex-1 scrollstyle w-full\"\r\n [ngClass]=\"{\r\n 'error-border': hasControlError(),\r\n 'pointer-events-none opacity-60': isLoadingPdf()\r\n }\"\r\n [style.borderTop]=\"showHeader() ? 'none' : '1px solid #e5e7eb'\"\r\n ></div>\r\n</div>\r\n<kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n\r\n<!-- <link href=\"https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.snow.css\" rel=\"stylesheet\" /> -->\r\n<link href=\"https://fonts.googleapis.com/css?family=Roboto\" rel=\"stylesheet\" />\r\n<script src=\"https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.js\"></script>\r\n<script src=\"https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js\"></script>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.bubble.css\"\r\n/>\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark.min.css\"\r\n/>\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css\"\r\n/>\r\n\r\n<p-overlayPanel #op styleClass=\"overflow-hidden\">\r\n <div\r\n class=\"grid m-0 gap-2 p-2 max-w-20rem overflow-y-auto scrollstyle\"\r\n style=\"max-height: 16rem\"\r\n >\r\n @for(item of relatorios(); track $index) {\r\n <div\r\n class=\"col-12 cursor-pointer hover:bg-gray-100 transition-colors transition-duration-200 border-round-lg shadow-2 flex flex-column gap-2\"\r\n (click)=\"setRelatorio(item)\"\r\n >\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 justify-content-between\"\r\n >\r\n <span class=\"text-sm font-medium w-full\">{{ item.label }}</span>\r\n\r\n <kv-tags\r\n class=\"transition-opacity transition-duration-300 {{\r\n item?.id == idRelatorioSelected() ? 'opacity-100' : 'opacity-0'\r\n }}\"\r\n [tags]=\"[{ label: 'Selecionado', severity: 'primary' }]\"\r\n ></kv-tags>\r\n </div>\r\n <span class=\"text-xs text-gray-500\">{{ item.descricao }}</span>\r\n </div>\r\n }\r\n </div>\r\n</p-overlayPanel>\r\n\r\n<div class=\"kv-editor-container flex flex-column overflow-hidden relative\">\r\n <div\r\n #mentionAnchor\r\n style=\"position: fixed; width: 1px; height: 1px; opacity: 0\"\r\n ></div>\r\n</div>\r\n\r\n<p-overlayPanel\r\n #opVariables\r\n [appendTo]=\"'body'\"\r\n (onHide)=\"closeVariablesPanel()\"\r\n>\r\n <div\r\n class=\"flex flex-column gap-1 p-1 overflow-y-auto scroll-virtual border-round-lg\"\r\n style=\"max-height: 250px; min-width: 250px; background-color: #333333\"\r\n >\r\n @for(variable of filteredVariables(); track variable.id) {\r\n <div\r\n class=\"p-2 cursor-pointer transition-colors transition-duration-200 border-round-lg text-sm text-white option-dropdown\"\r\n (click)=\"selectVariableFromPanel(variable)\"\r\n >\r\n {{ variable.descricao }} (\r\n <span class=\"text-gray-400\">{{ variable.value }}</span> )\r\n </div>\r\n } @empty {\r\n <div class=\"p-2 text-sm text-gray-500\">Nenhuma vari\u00E1vel encontrada.</div>\r\n }\r\n </div>\r\n</p-overlayPanel>\r\n", styles: [":host ::ng-deep .ql-font-roboto{font-family:Roboto,sans-serif}:host ::ng-deep .ql-font-inter{font-family:Inter var,sans-serif}:host ::ng-deep .ql-font-arial{font-family:Arial,Arial,sans-serif}:host ::ng-deep .ql-font-times-new-roman{font-family:Times New Roman,Times,serif}:host ::ng-deep .ql-tooltip.ql-editing[data-mode=video]{transform:translate(40%)}:host ::ng-deep #kv-editor-toolbar{border-radius:6px 6px 0 0;border:1px solid #e5e7eb}:host ::ng-deep #kv-editor{border-radius:0 0 6px 6px;border:1px solid #e5e7eb}.error-border-toolbar{transition:all ease-in .2s;border-top-color:#e24c4c!important;border-bottom-color:#e24c4c!important;border-left-color:#e24c4c!important;border-right-color:#e24c4c!important}.error-border{border-color:#e24c4c!important;transition:all ease-in .2s}:host ::ng-deep .blot-formatter__resize-handle{background:#eaeaea!important}:ng-deep p{text-align:justify!important}::ng-deep .scrollstyle,::ng-deep .ql-editor{overflow-x:hidden}::ng-deep .scrollstyle::-webkit-scrollbar,::ng-deep .ql-editor::-webkit-scrollbar{width:6px}::ng-deep .scrollstyle::-webkit-scrollbar:hover,::ng-deep .ql-editor::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .scrollstyle::-webkit-scrollbar-thumb,::ng-deep .ql-editor::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .scrollstyle:hover::-webkit-scrollbar-thumb,::ng-deep .ql-editor:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .scrollstyle::-webkit-scrollbar-track,::ng-deep .ql-editor::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}:host ::ng-deep .editor-spinner-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#ffffff80;display:flex;justify-content:center;align-items:center;z-index:100000;border-radius:inherit}::ng-deep .p-progressbar-indeterminate .p-progressbar-value:after{background:#002542}::ng-deep .p-progressbar-indeterminate .p-progressbar-value:before{background:#002542}::ng-deep .scroll-virtual{overflow-x:hidden}::ng-deep .scroll-virtual::-webkit-scrollbar{width:8px}::ng-deep .scroll-virtual::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .scroll-virtual::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .scroll-virtual:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .scroll-virtual::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.option-dropdown{background-color:#333;transition:all ease-in .2s}.option-dropdown:hover{background-color:#444}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i4.KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "component", type: i7.ProgressBar, selector: "p-progressBar", inputs: ["value", "showValue", "styleClass", "style", "unit", "mode", "color"] }, { kind: "component", type: i8.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i9.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i10.KvTagsComponent, selector: "kv-tags", inputs: ["tags", "hover"], outputs: ["onClickTag"] }] }); }
|
|
246
|
+
}
|
|
247
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorComponent, decorators: [{
|
|
248
|
+
type: Component,
|
|
249
|
+
args: [{ selector: 'kv-editor', providers: ComponentProviders(KvEditorComponent), template: "<div\r\n class=\"kv-editor-container h-full w-full max-h-full flex flex-column overflow-hidden\"\r\n>\r\n <div\r\n #editor\r\n id=\"kv-editor-toolbar\"\r\n [ngClass]=\"{ 'error-border-toolbar': hasControlError() }\"\r\n class=\"{{ showHeader() ? 'flex' : 'hidden' }} flex-column flex-initial\"\r\n >\r\n @if(relatorios().length > 0) {\r\n <div class=\"flex flex-row justify-content-between\">\r\n <div class=\"flex flex-row gap-2\">\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 p-2 border-round-lg border-1 border-gray-200 hover:shadow-1 hover:bg-gray-100 cursor-pointer transition-all transition-duration-300\"\r\n (click)=\"op.toggle($event)\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined text-lg text-green-600 font-medium\"\r\n >\r\n contract\r\n </span>\r\n <span class=\"font-semibold text-xs text-gray-600\">{{\r\n !clearedTemplate()\r\n ? relatorio()?.label || labelEmptyDropdown()\r\n : labelEmptyDropdown()\r\n }}</span>\r\n <span class=\"material-symbols-outlined text-lg\">\r\n keyboard_arrow_down\r\n </span>\r\n </div>\r\n\r\n @if(!clearedTemplate()) {\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 p-2 border-round-lg border-1 border-gray-200 hover:shadow-1 hover:bg-gray-100 cursor-pointer transition-all transition-duration-300\"\r\n (click)=\"clearTemplate()\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined text-lg text-orange-600 font-medium\"\r\n [pTooltip]=\"'Limpar Template'\"\r\n >\r\n layers_clear\r\n </span>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 p-2 border-round-lg border-1 border-gray-200 hover:shadow-1 hover:bg-gray-100 cursor-pointer transition-all transition-duration-300\"\r\n (click)=\"showInstrucoes()\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined text-lg text-blue-600 font-medium\"\r\n >\r\n info\r\n </span>\r\n <span class=\"font-semibold text-xs text-gray-600\">Instru\u00E7\u00F5es</span>\r\n </div>\r\n </div>\r\n\r\n @if(printButton()) {\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 p-2 border-round-lg border-1 border-gray-200 hover:shadow-1 hover:bg-gray-100 cursor-pointer transition-all transition-duration-300\"\r\n (click)=\"openRelatorio()\"\r\n >\r\n <span class=\"material-symbols-outlined text-lg font-medium\">\r\n print\r\n </span>\r\n <span class=\"font-semibold text-xs text-gray-600\">Imprimir</span>\r\n </div>\r\n }\r\n </div>\r\n\r\n <p-divider class=\"w-full\"></p-divider>\r\n\r\n }\r\n\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between w-full flex-initial\"\r\n >\r\n @if(isLoading()) {\r\n\r\n <div class=\"flex flex-row align-items-center gap-3 w-full\">\r\n <p-skeleton\r\n styleClass=\"w-6rem\"\r\n [style]=\"{ height: '2rem' }\"\r\n ></p-skeleton>\r\n\r\n <p-skeleton\r\n styleClass=\"w-6rem\"\r\n [style]=\"{ height: '2rem' }\"\r\n ></p-skeleton>\r\n\r\n <p-skeleton\r\n styleClass=\"w-6rem\"\r\n [style]=\"{ height: '2rem' }\"\r\n ></p-skeleton>\r\n\r\n <p-skeleton\r\n styleClass=\"w-6rem\"\r\n [style]=\"{ height: '2rem' }\"\r\n ></p-skeleton>\r\n\r\n <p-skeleton\r\n styleClass=\"w-6rem\"\r\n [style]=\"{ height: '2rem' }\"\r\n ></p-skeleton>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"flex-row align-items-center flex-wrap gap-2 {{\r\n isLoading() ? 'hidden' : 'flex'\r\n }} w-full\"\r\n >\r\n <span class=\"ql-formats border-round-md\">\r\n <select class=\"ql-font\">\r\n <option value=\"roboto\">Roboto</option>\r\n <option value=\"arial\">Arial</option>\r\n <option value=\"times-new-roman\">Times New Roman</option>\r\n <option value=\"monospace\">Monospace</option>\r\n <option value=\"inter\">Inter</option>\r\n <option selected>Sans Serif</option>\r\n <option value=\"serif\">Serif</option>\r\n </select>\r\n\r\n <select class=\"ql-header\">\r\n <option value=\"1\">Titulo</option>\r\n <option value=\"2\">Subtitulo</option>\r\n <option selected>Normal</option>\r\n </select>\r\n\r\n <span class=\"ql-format-group\">\r\n <select title=\"Size\" class=\"ql-size\">\r\n <option value=\"15px\">15px</option>\r\n <option value=\"20px\">20px</option>\r\n <option value=\"30px\">30px</option>\r\n <option value=\"40px\">40px</option>\r\n <option value=\"50px\">50px</option>\r\n <option value=\"70px\">70px</option>\r\n <option value=\"90px\">90px</option>\r\n </select>\r\n </span>\r\n </span>\r\n\r\n <p-divider layout=\"vertical\"></p-divider>\r\n\r\n <span class=\"ql-formats border-round-md\">\r\n <button class=\"ql-bold\"></button>\r\n <button class=\"ql-italic\"></button>\r\n <button class=\"ql-underline\"></button>\r\n <button class=\"ql-strike\"></button>\r\n </span>\r\n\r\n <p-divider layout=\"vertical\"></p-divider>\r\n\r\n <span class=\"ql-formats border-round-md\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n\r\n @if(true) {\r\n <!-- <p-divider layout=\"vertical\"></p-divider>\r\n\r\n <span class=\"ql-formats border-round-md\">\r\n <button class=\"ql-header\" value=\"1\"></button>\r\n <button class=\"ql-header\" value=\"2\"></button>\r\n </span> -->\r\n\r\n <p-divider layout=\"vertical\"></p-divider>\r\n\r\n <span class=\"ql-formats border-round-md\">\r\n <button class=\"ql-link\"></button>\r\n <button class=\"ql-image\"></button>\r\n <button class=\"ql-video\"></button>\r\n </span>\r\n\r\n <p-divider layout=\"vertical\"></p-divider>\r\n\r\n <span class=\"ql-formats border-round-md\">\r\n <button class=\"ql-list\" value=\"ordered\"></button>\r\n <button class=\"ql-list\" value=\"bullet\"></button>\r\n <select class=\"ql-align\"></select>\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n style=\"height: 3px; border-top: none; border-bottom: none\"\r\n [style.borderRight]=\"showHeader() ? '1px solid #e5e7eb' : 'none'\"\r\n [style.borderLeft]=\"showHeader() ? '1px solid #e5e7eb' : 'none'\"\r\n >\r\n @if(isLoadingPdf()) {\r\n <p-progressBar mode=\"indeterminate\" [style]=\"{ height: '3px' }\" />\r\n }\r\n </div>\r\n\r\n <div\r\n id=\"kv-editor\"\r\n class=\"overflow-auto w-full flex-1 scrollstyle w-full\"\r\n [ngClass]=\"{\r\n 'error-border': hasControlError(),\r\n 'pointer-events-none opacity-60': isLoadingPdf()\r\n }\"\r\n [style.borderTop]=\"showHeader() ? 'none' : '1px solid #e5e7eb'\"\r\n ></div>\r\n</div>\r\n<kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n\r\n<!-- <link href=\"https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.snow.css\" rel=\"stylesheet\" /> -->\r\n<link href=\"https://fonts.googleapis.com/css?family=Roboto\" rel=\"stylesheet\" />\r\n<script src=\"https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.js\"></script>\r\n<script src=\"https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js\"></script>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.bubble.css\"\r\n/>\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark.min.css\"\r\n/>\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css\"\r\n/>\r\n\r\n<p-overlayPanel #op styleClass=\"overflow-hidden\">\r\n <div\r\n class=\"grid m-0 gap-2 p-2 max-w-20rem overflow-y-auto scrollstyle\"\r\n style=\"max-height: 16rem\"\r\n >\r\n @for(item of relatorios(); track $index) {\r\n <div\r\n class=\"col-12 cursor-pointer hover:bg-gray-100 transition-colors transition-duration-200 border-round-lg shadow-2 flex flex-column gap-2\"\r\n (click)=\"setRelatorio(item)\"\r\n >\r\n <div\r\n class=\"flex flex-row align-items-center gap-2 justify-content-between\"\r\n >\r\n <span class=\"text-sm font-medium w-full\">{{ item.label }}</span>\r\n\r\n <kv-tags\r\n class=\"transition-opacity transition-duration-300 {{\r\n item?.id == idRelatorioSelected() ? 'opacity-100' : 'opacity-0'\r\n }}\"\r\n [tags]=\"[{ label: 'Selecionado', severity: 'primary' }]\"\r\n ></kv-tags>\r\n </div>\r\n <span class=\"text-xs text-gray-500\">{{ item.descricao }}</span>\r\n </div>\r\n }\r\n </div>\r\n</p-overlayPanel>\r\n\r\n<div class=\"kv-editor-container flex flex-column overflow-hidden relative\">\r\n <div\r\n #mentionAnchor\r\n style=\"position: fixed; width: 1px; height: 1px; opacity: 0\"\r\n ></div>\r\n</div>\r\n\r\n<p-overlayPanel\r\n #opVariables\r\n [appendTo]=\"'body'\"\r\n (onHide)=\"closeVariablesPanel()\"\r\n>\r\n <div\r\n class=\"flex flex-column gap-1 p-1 overflow-y-auto scroll-virtual border-round-lg\"\r\n style=\"max-height: 250px; min-width: 250px; background-color: #333333\"\r\n >\r\n @for(variable of filteredVariables(); track variable.id) {\r\n <div\r\n class=\"p-2 cursor-pointer transition-colors transition-duration-200 border-round-lg text-sm text-white option-dropdown\"\r\n (click)=\"selectVariableFromPanel(variable)\"\r\n >\r\n {{ variable.descricao }} (\r\n <span class=\"text-gray-400\">{{ variable.value }}</span> )\r\n </div>\r\n } @empty {\r\n <div class=\"p-2 text-sm text-gray-500\">Nenhuma vari\u00E1vel encontrada.</div>\r\n }\r\n </div>\r\n</p-overlayPanel>\r\n", styles: [":host ::ng-deep .ql-font-roboto{font-family:Roboto,sans-serif}:host ::ng-deep .ql-font-inter{font-family:Inter var,sans-serif}:host ::ng-deep .ql-font-arial{font-family:Arial,Arial,sans-serif}:host ::ng-deep .ql-font-times-new-roman{font-family:Times New Roman,Times,serif}:host ::ng-deep .ql-tooltip.ql-editing[data-mode=video]{transform:translate(40%)}:host ::ng-deep #kv-editor-toolbar{border-radius:6px 6px 0 0;border:1px solid #e5e7eb}:host ::ng-deep #kv-editor{border-radius:0 0 6px 6px;border:1px solid #e5e7eb}.error-border-toolbar{transition:all ease-in .2s;border-top-color:#e24c4c!important;border-bottom-color:#e24c4c!important;border-left-color:#e24c4c!important;border-right-color:#e24c4c!important}.error-border{border-color:#e24c4c!important;transition:all ease-in .2s}:host ::ng-deep .blot-formatter__resize-handle{background:#eaeaea!important}:ng-deep p{text-align:justify!important}::ng-deep .scrollstyle,::ng-deep .ql-editor{overflow-x:hidden}::ng-deep .scrollstyle::-webkit-scrollbar,::ng-deep .ql-editor::-webkit-scrollbar{width:6px}::ng-deep .scrollstyle::-webkit-scrollbar:hover,::ng-deep .ql-editor::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .scrollstyle::-webkit-scrollbar-thumb,::ng-deep .ql-editor::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .scrollstyle:hover::-webkit-scrollbar-thumb,::ng-deep .ql-editor:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .scrollstyle::-webkit-scrollbar-track,::ng-deep .ql-editor::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}:host ::ng-deep .editor-spinner-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#ffffff80;display:flex;justify-content:center;align-items:center;z-index:100000;border-radius:inherit}::ng-deep .p-progressbar-indeterminate .p-progressbar-value:after{background:#002542}::ng-deep .p-progressbar-indeterminate .p-progressbar-value:before{background:#002542}::ng-deep .scroll-virtual{overflow-x:hidden}::ng-deep .scroll-virtual::-webkit-scrollbar{width:8px}::ng-deep .scroll-virtual::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .scroll-virtual::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .scroll-virtual:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .scroll-virtual::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.option-dropdown{background-color:#333;transition:all ease-in .2s}.option-dropdown:hover{background-color:#444}\n"] }]
|
|
250
|
+
}], ctorParameters: () => [{ type: i1.ComponentService }], propDecorators: { canvaHeigth: [{
|
|
251
|
+
type: Input
|
|
252
|
+
}], contentType: [{
|
|
253
|
+
type: Input
|
|
254
|
+
}], debug: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}], onTextChange: [{
|
|
257
|
+
type: Output
|
|
258
|
+
}], onSelectionChange: [{
|
|
259
|
+
type: Output
|
|
260
|
+
}], outputRaw: [{
|
|
261
|
+
type: Output
|
|
262
|
+
}], outputHtml: [{
|
|
263
|
+
type: Output
|
|
264
|
+
}], opVariables: [{
|
|
265
|
+
type: ViewChild,
|
|
266
|
+
args: ['opVariables']
|
|
267
|
+
}], mentionAnchor: [{
|
|
268
|
+
type: ViewChild,
|
|
269
|
+
args: ['mentionAnchor']
|
|
270
|
+
}] } });
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3Iva3YtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3Iva3YtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFFTixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUdMLE1BQU0sRUFFTixNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUUvRyxPQUFPLEVBR0wsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ25CLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7QUFRckIsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUEwQjtJQUUvRCxZQUFZLGdCQUFrQztRQUM1QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQVUxQixzQkFBc0I7UUFDZCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzVDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3BELG1CQUFjLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDaEQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTlDLCtCQUErQjtRQUMvQjs7V0FFRztRQUNNLGdCQUFXLEdBQVcsT0FBTyxDQUFDO1FBRTlCLGdCQUFXLEdBQW9CLE1BQU0sQ0FBQztRQUN0QyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBRWhDLFVBQVU7UUFDQSxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELGNBQVMsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEUsd0JBQXdCO1FBQ2hCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLHVCQUFrQixHQUFRLElBQUksQ0FBQztRQUUvQix1QkFBa0IsR0FBRyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3pELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFJSCxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUVsQixrQ0FBa0M7UUFDbEMscUJBQWdCLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzFDLGNBQVMsR0FBRyxNQUFNLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDbEMsd0JBQW1CLEdBQUcsTUFBTSxDQUFTLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLGlFQUFpRTtRQUNqRSxzQkFBaUIsR0FBRyxNQUFNLENBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELG9CQUFlLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRXpDLHlCQUF5QjtRQUN6QixlQUFVLEdBQUcsS0FBSyxDQUFzQixFQUFFLENBQUMsQ0FBQztRQUM1Qyx1QkFBa0IsR0FBRyxLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDbkMsdUJBQWtCLEdBQUcsS0FBSyxDQUFTLHdCQUF3QixDQUFDLENBQUM7UUFDN0QsdUJBQWtCLEdBQUcsS0FBSyxDQUErQixTQUFTLENBQUMsQ0FBQztRQUNwRSxlQUFVLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHakMsc0NBQXNDO1FBQ3RDLHdCQUFtQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUN6RSxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFNakUsYUFBUSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFyRTNELE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0IsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBaUVELG9DQUFvQztJQUNwQyxpQkFBaUIsQ0FBQyxFQUFVO1FBQzFCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUE0QjtRQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO1FBQy9DLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1FBRTVDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztRQUVELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFVCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQzs7WUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixNQUFNLE1BQU0sR0FBRztZQUNiLEtBQUssRUFBRSxNQUFNO1lBQ2IsT0FBTyxFQUFFO2dCQUNQLE9BQU8sRUFBRSxvQkFBb0I7YUFDOUI7WUFDRCxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN6QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDbEIsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFekUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVoQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNqQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzVCLENBQUM7UUFDSCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUM1RCxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNWLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7WUFDbEMsQ0FBQztZQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLEtBQUssRUFBRSxLQUFLO2dCQUNaLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixNQUFNLEVBQUUsTUFBTTthQUNmLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMxRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixDQUFDO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBRXRFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO29CQUNyQixLQUFLLEVBQUUsS0FBSztvQkFDWixXQUFXLEVBQUUsV0FBVztvQkFDeEIsTUFBTSxFQUFFLE1BQU07aUJBQ2YsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxVQUFVLENBQUMsS0FBVTtRQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQWMsRUFBRSxRQUFjO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1lBQzdCLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ2hDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2RCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFFdkIsSUFBSSxRQUFRLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsRUFBRSxZQUFZLENBQUM7UUFDbkYsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxpQkFBaUIsSUFBSSxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYTtRQUNqQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFBRSxPQUFPO1FBRWhDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25DLG9EQUFvRDtRQUVwRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELGtDQUFrQztJQUNsQyxhQUFhO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFBRSxPQUFPO1FBRTlCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFckQsSUFBSSxNQUFNLENBQUMsZUFBZSxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxNQUFxQztRQUM5RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUNsRCxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN2QyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELHVCQUF1QixDQUFDLFFBQTBCO1FBQ2hELElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDbkQsTUFBTSxFQUFFLFlBQVk7WUFDcEIsS0FBSyxFQUFFLEtBQUs7WUFDWixNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLElBQUk7WUFDZCxJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRTthQUNwQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1gsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7OEdBbFJVLGlCQUFpQjtrR0FBakIsaUJBQWlCLDBtREFGakIsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsOFBDekNsRCwwdlVBMlJBOzsyRkRoUGEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLFdBQVcsYUFHVixrQkFBa0IsbUJBQW1CO3FGQTBCdkMsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBc0NtQixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0ksYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgY29tcHV0ZWQsXHJcbiAgZWZmZWN0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGluamVjdCxcclxuICBpbnB1dCxcclxuICBJbnB1dCxcclxuICBtb2RlbCxcclxuICBPbkluaXQsXHJcbiAgb3V0cHV0LFxyXG4gIE91dHB1dCxcclxuICBSZW5kZXJlcjIsXHJcbiAgc2lnbmFsLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCBRdWlsbCBmcm9tICdxdWlsbCc7XHJcbmltcG9ydCB7IE92ZXJsYXlQYW5lbCB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50SW5wdXQgfSBmcm9tICcuLi8uLi8uLi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWlucHV0JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UHJvdmlkZXJzIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2hlbHBlcnMvY29tcG9uZW50LXByb3ZpZGVycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvc2VydmljZXMvY29tcG9uZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBLdkluc3RydWNvZXNSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMva3YtaW5zdHJ1Y29lcy1yZXBvcnQva3YtaW5zdHJ1Y29lcy1yZXBvcnQuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7XHJcbiAgS3ZFZGl0b3JSZWxhdG9yaW8sXHJcbiAgS3ZFZGl0b3JWYXJpYXZlbCxcclxuICBLdkVkaXRvclF1aWxsU2VydmljZSxcclxuICBLdkVkaXRvclJlbGF0b3Jpb1NlcnZpY2UsXHJcbiAgS3ZFZGl0b3JNZW50aW9uU2VydmljZSxcclxuICBLdkVkaXRvclBkZlNlcnZpY2VcclxufSBmcm9tICcuL2t2LWVkaXRvcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBDb21wb25lbnRQcm92aWRlcnMoS3ZFZGl0b3JDb21wb25lbnQpLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50SW5wdXQ8c3RyaW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbXBvbmVudFNlcnZpY2U6IENvbXBvbmVudFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG5cclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGxldCByZWFkb25seSA9IHRoaXMucmVhZG9ubHkoKTtcclxuICAgICAgaWYgKHRoaXMucXVpbGwpIHtcclxuICAgICAgICB0aGlzLnF1aWxsLmVuYWJsZSghcmVhZG9ubHkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIEluamXDp8OjbyBkZSBzZXJ2acOnb3NcclxuICBwcml2YXRlIHF1aWxsU2VydmljZSA9IGluamVjdChLdkVkaXRvclF1aWxsU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWxhdG9yaW9TZXJ2aWNlID0gaW5qZWN0KEt2RWRpdG9yUmVsYXRvcmlvU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBtZW50aW9uU2VydmljZSA9IGluamVjdChLdkVkaXRvck1lbnRpb25TZXJ2aWNlKTtcclxuICBwcml2YXRlIHBkZlNlcnZpY2UgPSBpbmplY3QoS3ZFZGl0b3JQZGZTZXJ2aWNlKTtcclxuICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XHJcblxyXG4gIC8vIFByb3ByaWVkYWRlcyBkZSBjb25maWd1cmHDp8Ojb1xyXG4gIC8qKlxyXG4gICAqIEBkZXByZWNhdGVkIEVzc2EgcHJvcHJpZWRhZGUgbsOjbyBzZXLDoSBtYWlzIHV0aWxpemFkYSBwb3IgZXNzZSBjb21wb25lbnRlIG5hcyBwcsOzeGltYXMgdmVyc8O1ZXMuXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2FudmFIZWlndGg6IHN0cmluZyA9ICczODBweCc7XHJcblxyXG4gIEBJbnB1dCgpIGNvbnRlbnRUeXBlOiAnaHRtbCcgfCAndGV4dCcgPSAnaHRtbCc7XHJcbiAgQElucHV0KCkgZGVidWc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8gRXZlbnRvc1xyXG4gIEBPdXRwdXQoKSBvblRleHRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG91dHB1dFJhdzogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG91dHB1dEh0bWw6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvLyBQcm9wcmllZGFkZXMgaW50ZXJuYXNcclxuICBwcml2YXRlIHVwZGF0aW5nRWRpdG9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBsYXN0U2VsZWN0aW9uUmFuZ2U6IGFueSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBlZGl0b3JSZWFkeVJlc29sdmVyITogKCkgPT4gdm9pZDtcclxuICBwcml2YXRlIGVkaXRvclJlYWR5UHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICB0aGlzLmVkaXRvclJlYWR5UmVzb2x2ZXIgPSByZXNvbHZlO1xyXG4gIH0pO1xyXG5cclxuICAvLyBJbnN0w6JuY2lhIGRvIFF1aWxsXHJcbiAgcXVpbGwhOiBRdWlsbDtcclxuICBodG1sRG9FZGl0b3IgPSAnJztcclxuXHJcbiAgLy8gU2lnbmFscyBwYXJhIGNvbnRyb2xlIGRlIGVzdGFkb1xyXG4gIGluaXRMb2FkQ29tcGxldGUgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGlzTG9hZGluZyA9IHNpZ25hbDxib29sZWFuPih0cnVlKTtcclxuICBlZGl0b3JUb29sYmFySGVpZ2h0ID0gc2lnbmFsPHN0cmluZz4oJzNyZW0nKTtcclxuICAvLyB0aXBvVmlzdWFsaXphY2FvID0gc2lnbmFsPCd2YWxvcicgfCAnZGVzY3JpY2FvJz4oJ2Rlc2NyaWNhbycpO1xyXG4gIGZpbHRlcmVkVmFyaWFibGVzID0gc2lnbmFsPEt2RWRpdG9yVmFyaWF2ZWxbXT4oW10pO1xyXG4gIGNsZWFyZWRUZW1wbGF0ZSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8vIElucHV0cyBwYXJhIHJlbGF0w7NyaW9zXHJcbiAgcmVsYXRvcmlvcyA9IGlucHV0PEt2RWRpdG9yUmVsYXRvcmlvW10+KFtdKTtcclxuICBpZFJlbGF0b3Jpb0luaXRpYWwgPSBtb2RlbDxudW1iZXI+KDApO1xyXG4gIHByaW50QnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgbGFiZWxFbXB0eURyb3Bkb3duID0gaW5wdXQ8c3RyaW5nPignU2VsZWNpb25lIHVtIHJlbGF0w7NyaW8nKTtcclxuICBpbnN0cnVjb2VzVGVtcGxhdGUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gIHNob3dIZWFkZXIgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICByZWFkb25seSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblxyXG4gIC8vIENvbXB1dGVkIHByb3BlcnRpZXMgcGFyYSByZWxhdMOzcmlvc1xyXG4gIGlkUmVsYXRvcmlvU2VsZWN0ZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlbGF0b3Jpb1NlcnZpY2UuZ2V0SWRSZWxhdG9yaW9TZWxlY3RlZCgpKTtcclxuICByZWxhdG9yaW8gPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlbGF0b3Jpb1NlcnZpY2UuZ2V0UmVsYXRvcmlvU2VsZWN0ZWQoKSk7XHJcbiAgaXNMb2FkaW5nUGRmID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wZGZTZXJ2aWNlLmdldElzTG9hZGluZ1BkZigpKTtcclxuXHJcbiAgLy8gVmlld0NoaWxkIHBhcmEgb3ZlcmxheSBwYW5lbHNcclxuICBAVmlld0NoaWxkKCdvcFZhcmlhYmxlcycpIG9wVmFyaWFibGVzITogT3ZlcmxheVBhbmVsO1xyXG4gIEBWaWV3Q2hpbGQoJ21lbnRpb25BbmNob3InKSBtZW50aW9uQW5jaG9yITogRWxlbWVudFJlZjtcclxuXHJcbiAgbWVzc2FnZXMgPSBbeyBzZXZlcml0eTogJ2luZm8nLCBkZXRhaWw6ICdNZXNzYWdlIENvbnRlbnQnIH1dO1xyXG5cclxuICAvLyBNw6l0b2RvcyBwYXJhIGdlcmVuY2lhciByZWxhdMOzcmlvc1xyXG4gIHNldFJlbGF0b3Jpb1BvcklkKGlkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlbGF0b3JpbyA9IHRoaXMucmVsYXRvcmlvU2VydmljZS5zZXRSZWxhdG9yaW9Qb3JJZChpZCk7XHJcbiAgICBpZiAocmVsYXRvcmlvKSB7XHJcbiAgICAgIHRoaXMuc2V0UmVsYXRvcmlvKHJlbGF0b3Jpbyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRSZWxhdG9yaW8ocmVsYXRvcmlvOiBLdkVkaXRvclJlbGF0b3Jpbyk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhcmVkVGVtcGxhdGUuc2V0KGZhbHNlKTtcclxuICAgIHRoaXMucmVsYXRvcmlvU2VydmljZS5zZXRSZWxhdG9yaW8ocmVsYXRvcmlvKTtcclxuICAgIGNvbnN0IG1vZGVsbyA9IHJlbGF0b3Jpby5tb2RlbG9SZWxhdG9yaW8gfHwgJyc7XHJcbiAgICBjb25zdCB2YXJpYXZlaXMgPSByZWxhdG9yaW8udmFyaWF2ZWlzIHx8IFtdO1xyXG5cclxuICAgIHRoaXMuaHRtbERvRWRpdG9yID0gdGhpcy5yZWxhdG9yaW9TZXJ2aWNlLnJlbmRlckNvbnRyYXRvKG1vZGVsbywgdmFyaWF2ZWlzKTtcclxuICAgIHRoaXMudXBkYXRpbmdFZGl0b3IgPSB0cnVlO1xyXG4gICAgdGhpcy5lc2NyZXZhVmFsb3IodGhpcy5odG1sRG9FZGl0b3IpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG5cclxuICAgIC8vIEluaWNpYWxpemEgb3MgcmVsYXTDs3Jpb3Mgbm8gc2VydmnDp29cclxuICAgIHRoaXMucmVsYXRvcmlvU2VydmljZS5zZXRSZWxhdG9yaW9zKHRoaXMucmVsYXRvcmlvcygpKTtcclxuXHJcbiAgICBpZiAoIXRoaXMucXVpbGwpIHtcclxuICAgICAgdGhpcy5oYW5kbGVJbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICB9LCAxMDAwKTtcclxuXHJcbiAgICBpZiAodGhpcy5pZFJlbGF0b3Jpb0luaXRpYWwoKSkge1xyXG4gICAgICB0aGlzLmNsZWFyZWRUZW1wbGF0ZS5zZXQoZmFsc2UpO1xyXG4gICAgICB0aGlzLnNldFJlbGF0b3Jpb1BvcklkKHRoaXMuaWRSZWxhdG9yaW9Jbml0aWFsKCkpO1xyXG4gICAgfSBlbHNlIHRoaXMuY2xlYXJlZFRlbXBsYXRlLnNldCh0cnVlKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhbmRsZUluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLnF1aWxsU2VydmljZS5sb2FkQ3NzKCk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVRdWlsbEVkaXRvcigpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZVF1aWxsRWRpdG9yKCk6IHZvaWQge1xyXG4gICAgY29uc3QgY29uZmlnID0ge1xyXG4gICAgICB0aGVtZTogJ3Nub3cnLFxyXG4gICAgICBtb2R1bGVzOiB7XHJcbiAgICAgICAgdG9vbGJhcjogJyNrdi1lZGl0b3ItdG9vbGJhcicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLmxhYmVsID8gdGhpcy5sYWJlbCA6ICcnLFxyXG4gICAgICByZWFkT25seTogdGhpcy5yZWFkb25seSgpLFxyXG4gICAgICBkZWJ1ZzogdGhpcy5kZWJ1ZyxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5xdWlsbCA9IHRoaXMucXVpbGxTZXJ2aWNlLmNyZWF0ZVF1aWxsSW5zdGFuY2UoJyNrdi1lZGl0b3InLCBjb25maWcpO1xyXG5cclxuICAgIHRoaXMuc2V0dXBRdWlsbEV2ZW50cygpO1xyXG4gICAgdGhpcy5lZGl0b3JSZWFkeVJlc29sdmVyKCk7XHJcbiAgICB0aGlzLmluaXRMb2FkQ29tcGxldGUuc2V0KHRydWUpO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtQ29udHJvbDtcclxuICAgICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC5tYXJrQXNQcmlzdGluZSkge1xyXG4gICAgICAgIGNvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcclxuICAgICAgICBjb250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xyXG4gICAgICB9XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBRdWlsbEV2ZW50cygpOiB2b2lkIHtcclxuICAgIHRoaXMucXVpbGwub24oJ3NlbGVjdGlvbi1jaGFuZ2UnLCAocmFuZ2UsIG9sZFJhbmdlLCBzb3VyY2UpID0+IHtcclxuICAgICAgaWYgKHJhbmdlKSB7XHJcbiAgICAgICAgdGhpcy5sYXN0U2VsZWN0aW9uUmFuZ2UgPSByYW5nZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlLmVtaXQoe1xyXG4gICAgICAgIHJhbmdlOiByYW5nZSxcclxuICAgICAgICBvbGRSYW5nZTogb2xkUmFuZ2UsXHJcbiAgICAgICAgc291cmNlOiBzb3VyY2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5xdWlsbC5vbigndGV4dC1jaGFuZ2UnLCAoZGVsdGEsIG9sZENvbnRlbnRzLCBzb3VyY2UpID0+IHtcclxuICAgICAgaWYgKHRoaXMucmVsYXRvcmlvcygpLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLmhhbmRsZU1lbnRpb24oKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCF0aGlzLnVwZGF0aW5nRWRpdG9yKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGluZ0VkaXRvciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZXNjcmV2YVZhbG9yKHRoaXMucXVpbGwuZ2V0U2VtYW50aWNIVE1MKCksIHRoaXMucXVpbGwuZ2V0VGV4dCgpKTtcclxuXHJcbiAgICAgICAgdGhpcy5vblRleHRDaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgICBkZWx0YTogZGVsdGEsXHJcbiAgICAgICAgICBvbGRDb250ZW50czogb2xkQ29udGVudHMsXHJcbiAgICAgICAgICBzb3VyY2U6IHNvdXJjZSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5vdXRwdXRSYXcuZW1pdCh0aGlzLnF1aWxsLmdldFRleHQoKSk7XHJcbiAgICAgICAgdGhpcy5vdXRwdXRIdG1sLmVtaXQodGhpcy5xdWlsbC5nZXRTZW1hbnRpY0hUTUwoKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0aW5nRWRpdG9yID0gdHJ1ZTtcclxuICAgIHRoaXMuZXNjcmV2YVZhbG9yKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGVzY3JldmFWYWxvcihodG1sdmFsdWU6IGFueSwgcmF3dmFsdWU/OiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5pbml0TG9hZENvbXBsZXRlKCkpIHtcclxuICAgICAgYXdhaXQgdGhpcy5lZGl0b3JSZWFkeVByb21pc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucXVpbGwpIHtcclxuICAgICAgaWYgKHRoaXMudXBkYXRpbmdFZGl0b3IpIHtcclxuICAgICAgICB0aGlzLnF1aWxsLmNsaXBib2FyZC5kYW5nZXJvdXNseVBhc3RlSFRNTChodG1sdmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudXBkYXRpbmdFZGl0b3IgPSBmYWxzZTtcclxuICAgICAgdGhpcy52YWx1ZSA9IGh0bWx2YWx1ZTtcclxuXHJcbiAgICAgIGlmIChyYXd2YWx1ZSA9PSBcIlxcblwiIHx8IHRoaXMudmFsdWUgPT0gXCJcXG5cIikge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSAnJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy51cGRhdGluZ0VkaXRvciA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub3V0cHV0SHRtbC5lbWl0KHRoaXMucXVpbGwuZ2V0U2VtYW50aWNIVE1MKCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RWRpdG9yU2l6ZSgpOiB2b2lkIHtcclxuICAgIGxldCBlZGl0b3JGaWVsZEhlaWdodCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrdi1lZGl0b3ItdG9vbGJhcicpPy5vZmZzZXRIZWlnaHQ7XHJcbiAgICBpZiAoZWRpdG9yRmllbGRIZWlnaHQpIHtcclxuICAgICAgdGhpcy5lZGl0b3JUb29sYmFySGVpZ2h0LnNldChgJHtlZGl0b3JGaWVsZEhlaWdodH1weGApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgb3BlblJlbGF0b3JpbygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmlzTG9hZGluZ1BkZigpKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgaHRtbENvbnRlbnQgPSB0aGlzLnF1aWxsLmdldFNlbWFudGljSFRNTCgpO1xyXG4gICAgY29uc3QgcmVsYXRvcmlvID0gdGhpcy5yZWxhdG9yaW8oKTtcclxuICAgIC8vIGNvbnN0IHRpcG9WaXN1YWxpemFjYW8gPSB0aGlzLnRpcG9WaXN1YWxpemFjYW8oKTtcclxuXHJcbiAgICBhd2FpdCB0aGlzLnBkZlNlcnZpY2Uub3BlblJlbGF0b3JpbyhodG1sQ29udGVudCwgcmVsYXRvcmlvLCAndmFsb3InKTtcclxuICB9XHJcblxyXG4gIC8vIE3DqXRvZG9zIHBhcmEgc2lzdGVtYSBkZSBtZW7Dp8O1ZXNcclxuICBoYW5kbGVNZW50aW9uKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnJlbGF0b3JpbygpKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5tZW50aW9uU2VydmljZS5oYW5kbGVNZW50aW9uKHRoaXMucXVpbGwsIHRoaXMucmVsYXRvcmlvKCkhLnZhcmlhdmVpcyk7XHJcbiAgICB0aGlzLmZpbHRlcmVkVmFyaWFibGVzLnNldChyZXN1bHQuZmlsdGVyZWRWYXJpYWJsZXMpO1xyXG5cclxuICAgIGlmIChyZXN1bHQuc2hvdWxkU2hvd1BhbmVsICYmIHJlc3VsdC5tZW50aW9uQm91bmRzKSB7XHJcbiAgICAgIHRoaXMuc2hvd1ZhcmlhYmxlc1BhbmVsKHJlc3VsdC5tZW50aW9uQm91bmRzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2xvc2VWYXJpYWJsZXNQYW5lbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93VmFyaWFibGVzUGFuZWwoYm91bmRzOiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSk6IHZvaWQge1xyXG4gICAgY29uc3QgYW5jaG9yRWwgPSB0aGlzLm1lbnRpb25BbmNob3IubmF0aXZlRWxlbWVudDtcclxuICAgIGFuY2hvckVsLnN0eWxlLnRvcCA9IGAke2JvdW5kcy50b3B9cHhgO1xyXG4gICAgYW5jaG9yRWwuc3R5bGUubGVmdCA9IGAke2JvdW5kcy5sZWZ0fXB4YDtcclxuICAgIHRoaXMub3BWYXJpYWJsZXMuc2hvdyhudWxsLCBhbmNob3JFbCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RWYXJpYWJsZUZyb21QYW5lbCh2YXJpYWJsZTogS3ZFZGl0b3JWYXJpYXZlbCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZW50aW9uU2VydmljZS5pbnNlcnRWYXJpYWJsZSh0aGlzLnF1aWxsLCB2YXJpYWJsZSk7XHJcbiAgICB0aGlzLmNsb3NlVmFyaWFibGVzUGFuZWwoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlVmFyaWFibGVzUGFuZWwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vcFZhcmlhYmxlcykge1xyXG4gICAgICB0aGlzLm9wVmFyaWFibGVzLmhpZGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMubWVudGlvblNlcnZpY2UuY2xvc2VNZW50aW9uKCk7XHJcbiAgfVxyXG5cclxuICBzaG93SW5zdHJ1Y29lcygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEt2SW5zdHJ1Y29lc1JlcG9ydENvbXBvbmVudCwge1xyXG4gICAgICBoZWFkZXI6ICdJbnN0cnXDp8O1ZXMnLFxyXG4gICAgICB3aWR0aDogJzQwJScsXHJcbiAgICAgIGhlaWdodDogJzMwJScsXHJcbiAgICAgIG1vZGFsOiB0cnVlLFxyXG4gICAgICBjbG9zYWJsZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHRlbXBsYXRlOiB0aGlzLmluc3RydWNvZXNUZW1wbGF0ZSgpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJUZW1wbGF0ZSgpIHtcclxuICAgIC8vIExpbXBhIG8gdGVtcGxhdGUgZG8gZWRpdG9yXHJcbiAgICB0aGlzLmNsZWFyZWRUZW1wbGF0ZS5zZXQodHJ1ZSk7XHJcbiAgICB0aGlzLnNldFJlbGF0b3Jpb1BvcklkKDApO1xyXG4gICAgdGhpcy53cml0ZVZhbHVlKCcnKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwia3YtZWRpdG9yLWNvbnRhaW5lciBoLWZ1bGwgdy1mdWxsIG1heC1oLWZ1bGwgZmxleCBmbGV4LWNvbHVtbiBvdmVyZmxvdy1oaWRkZW5cIlxyXG4+XHJcbiAgPGRpdlxyXG4gICAgI2VkaXRvclxyXG4gICAgaWQ9XCJrdi1lZGl0b3ItdG9vbGJhclwiXHJcbiAgICBbbmdDbGFzc109XCJ7ICdlcnJvci1ib3JkZXItdG9vbGJhcic6IGhhc0NvbnRyb2xFcnJvcigpIH1cIlxyXG4gICAgY2xhc3M9XCJ7eyBzaG93SGVhZGVyKCkgPyAnZmxleCcgOiAnaGlkZGVuJyB9fSBmbGV4LWNvbHVtbiBmbGV4LWluaXRpYWxcIlxyXG4gID5cclxuICAgIEBpZihyZWxhdG9yaW9zKCkubGVuZ3RoID4gMCkge1xyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTJcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHAtMiBib3JkZXItcm91bmQtbGcgYm9yZGVyLTEgYm9yZGVyLWdyYXktMjAwIGhvdmVyOnNoYWRvdy0xIGhvdmVyOmJnLWdyYXktMTAwIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24tYWxsIHRyYW5zaXRpb24tZHVyYXRpb24tMzAwXCJcclxuICAgICAgICAgIChjbGljayk9XCJvcC50b2dnbGUoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtbGcgdGV4dC1ncmVlbi02MDAgZm9udC1tZWRpdW1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICBjb250cmFjdFxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LXNlbWlib2xkIHRleHQteHMgdGV4dC1ncmF5LTYwMFwiPnt7XHJcbiAgICAgICAgICAgICFjbGVhcmVkVGVtcGxhdGUoKVxyXG4gICAgICAgICAgICAgID8gcmVsYXRvcmlvKCk/LmxhYmVsIHx8IGxhYmVsRW1wdHlEcm9wZG93bigpXHJcbiAgICAgICAgICAgICAgOiBsYWJlbEVtcHR5RHJvcGRvd24oKVxyXG4gICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgdGV4dC1sZ1wiPlxyXG4gICAgICAgICAgICBrZXlib2FyZF9hcnJvd19kb3duXHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIEBpZighY2xlYXJlZFRlbXBsYXRlKCkpIHtcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHAtMiBib3JkZXItcm91bmQtbGcgYm9yZGVyLTEgYm9yZGVyLWdyYXktMjAwIGhvdmVyOnNoYWRvdy0xIGhvdmVyOmJnLWdyYXktMTAwIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24tYWxsIHRyYW5zaXRpb24tZHVyYXRpb24tMzAwXCJcclxuICAgICAgICAgIChjbGljayk9XCJjbGVhclRlbXBsYXRlKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB0ZXh0LWxnIHRleHQtb3JhbmdlLTYwMCBmb250LW1lZGl1bVwiXHJcbiAgICAgICAgICAgIFtwVG9vbHRpcF09XCInTGltcGFyIFRlbXBsYXRlJ1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIGxheWVyc19jbGVhclxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBwLTIgYm9yZGVyLXJvdW5kLWxnIGJvcmRlci0xIGJvcmRlci1ncmF5LTIwMCBob3ZlcjpzaGFkb3ctMSBob3ZlcjpiZy1ncmF5LTEwMCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWFsbCB0cmFuc2l0aW9uLWR1cmF0aW9uLTMwMFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2hvd0luc3RydWNvZXMoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtbGcgdGV4dC1ibHVlLTYwMCBmb250LW1lZGl1bVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIGluZm9cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1zZW1pYm9sZCB0ZXh0LXhzIHRleHQtZ3JheS02MDBcIj5JbnN0cnXDp8O1ZXM8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgQGlmKHByaW50QnV0dG9uKCkpIHtcclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcC0yIGJvcmRlci1yb3VuZC1sZyBib3JkZXItMSBib3JkZXItZ3JheS0yMDAgaG92ZXI6c2hhZG93LTEgaG92ZXI6YmctZ3JheS0xMDAgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbi1hbGwgdHJhbnNpdGlvbi1kdXJhdGlvbi0zMDBcIlxyXG4gICAgICAgIChjbGljayk9XCJvcGVuUmVsYXRvcmlvKClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtbGcgZm9udC1tZWRpdW1cIj5cclxuICAgICAgICAgIHByaW50XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1zZW1pYm9sZCB0ZXh0LXhzIHRleHQtZ3JheS02MDBcIj5JbXByaW1pcjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxwLWRpdmlkZXIgY2xhc3M9XCJ3LWZ1bGxcIj48L3AtZGl2aWRlcj5cclxuXHJcbiAgICB9XHJcblxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctZnVsbCBmbGV4LWluaXRpYWxcIlxyXG4gICAgPlxyXG4gICAgICBAaWYoaXNMb2FkaW5nKCkpIHtcclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMyB3LWZ1bGxcIj5cclxuICAgICAgICA8cC1za2VsZXRvblxyXG4gICAgICAgICAgc3R5bGVDbGFzcz1cInctNnJlbVwiXHJcbiAgICAgICAgICBbc3R5bGVdPVwieyBoZWlnaHQ6ICcycmVtJyB9XCJcclxuICAgICAgICA+PC9wLXNrZWxldG9uPlxyXG5cclxuICAgICAgICA8cC1za2VsZXRvblxyXG4gICAgICAgICAgc3R5bGVDbGFzcz1cInctNnJlbVwiXHJcbiAgICAgICAgICBbc3R5bGVdPVwieyBoZWlnaHQ6ICcycmVtJyB9XCJcclxuICAgICAgICA+PC9wLXNrZWxldG9uPlxyXG5cclxuICAgICAgICA8cC1za2VsZXRvblxyXG4gICAgICAgICAgc3R5bGVDbGFzcz1cInctNnJlbVwiXHJcbiAgICAgICAgICBbc3R5bGVdPVwieyBoZWlnaHQ6ICcycmVtJyB9XCJcclxuICAgICAgICA+PC9wLXNrZWxldG9uPlxyXG5cclxuICAgICAgICA8cC1za2VsZXRvblxyXG4gICAgICAgICAgc3R5bGVDbGFzcz1cInctNnJlbVwiXHJcbiAgICAgICAgICBbc3R5bGVdPVwieyBoZWlnaHQ6ICcycmVtJyB9XCJcclxuICAgICAgICA+PC9wLXNrZWxldG9uPlxyXG5cclxuICAgICAgICA8cC1za2VsZXRvblxyXG4gICAgICAgICAgc3R5bGVDbGFzcz1cInctNnJlbVwiXHJcbiAgICAgICAgICBbc3R5bGVdPVwieyBoZWlnaHQ6ICcycmVtJyB9XCJcclxuICAgICAgICA+PC9wLXNrZWxldG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtd3JhcCBnYXAtMiB7e1xyXG4gICAgICAgICAgaXNMb2FkaW5nKCkgPyAnaGlkZGVuJyA6ICdmbGV4J1xyXG4gICAgICAgIH19IHctZnVsbFwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHMgYm9yZGVyLXJvdW5kLW1kXCI+XHJcbiAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtZm9udFwiPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicm9ib3RvXCI+Um9ib3RvPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJhcmlhbFwiPkFyaWFsPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJ0aW1lcy1uZXctcm9tYW5cIj5UaW1lcyBOZXcgUm9tYW48L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm1vbm9zcGFjZVwiPk1vbm9zcGFjZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiaW50ZXJcIj5JbnRlcjwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPlNhbnMgU2VyaWY8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInNlcmlmXCI+U2VyaWY8L29wdGlvbj5cclxuICAgICAgICAgIDwvc2VsZWN0PlxyXG5cclxuICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjFcIj5UaXR1bG88L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjJcIj5TdWJ0aXR1bG88L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD5Ob3JtYWw8L29wdGlvbj5cclxuICAgICAgICAgIDwvc2VsZWN0PlxyXG5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxzZWxlY3QgdGl0bGU9XCJTaXplXCIgY2xhc3M9XCJxbC1zaXplXCI+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjE1cHhcIj4xNXB4PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjIwcHhcIj4yMHB4PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjMwcHhcIj4zMHB4PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjQwcHhcIj40MHB4PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjUwcHhcIj41MHB4PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjcwcHhcIj43MHB4PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjkwcHhcIj45MHB4PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPHAtZGl2aWRlciBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiPjwvcC1kaXZpZGVyPlxyXG5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHMgYm9yZGVyLXJvdW5kLW1kXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtYm9sZFwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWl0YWxpY1wiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXVuZGVybGluZVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXN0cmlrZVwiPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPHAtZGl2aWRlciBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiPjwvcC1kaXZpZGVyPlxyXG5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHMgYm9yZGVyLXJvdW5kLW1kXCI+XHJcbiAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtY29sb3JcIj48L3NlbGVjdD5cclxuICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1iYWNrZ3JvdW5kXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICBAaWYodHJ1ZSkge1xyXG4gICAgICAgIDwhLS0gPHAtZGl2aWRlciBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiPjwvcC1kaXZpZGVyPlxyXG5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzIGJvcmRlci1yb3VuZC1tZFwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1oZWFkZXJcIiB2YWx1ZT1cIjFcIj48L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaGVhZGVyXCIgdmFsdWU9XCIyXCI+PC9idXR0b24+XHJcbiAgICAgIDwvc3Bhbj4gLS0+XHJcblxyXG4gICAgICAgIDxwLWRpdmlkZXIgbGF5b3V0PVwidmVydGljYWxcIj48L3AtZGl2aWRlcj5cclxuXHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzIGJvcmRlci1yb3VuZC1tZFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWxpbmtcIj48L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbWFnZVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXZpZGVvXCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICA8cC1kaXZpZGVyIGxheW91dD1cInZlcnRpY2FsXCI+PC9wLWRpdmlkZXI+XHJcblxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0cyBib3JkZXItcm91bmQtbWRcIj5cclxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1saXN0XCIgdmFsdWU9XCJvcmRlcmVkXCI+PC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtbGlzdFwiIHZhbHVlPVwiYnVsbGV0XCI+PC9idXR0b24+XHJcbiAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtYWxpZ25cIj48L3NlbGVjdD5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIHN0eWxlPVwiaGVpZ2h0OiAzcHg7IGJvcmRlci10b3A6IG5vbmU7IGJvcmRlci1ib3R0b206IG5vbmVcIlxyXG4gICAgW3N0eWxlLmJvcmRlclJpZ2h0XT1cInNob3dIZWFkZXIoKSA/ICcxcHggc29saWQgI2U1ZTdlYicgOiAnbm9uZSdcIlxyXG4gICAgW3N0eWxlLmJvcmRlckxlZnRdPVwic2hvd0hlYWRlcigpID8gJzFweCBzb2xpZCAjZTVlN2ViJyA6ICdub25lJ1wiXHJcbiAgPlxyXG4gICAgQGlmKGlzTG9hZGluZ1BkZigpKSB7XHJcbiAgICA8cC1wcm9ncmVzc0JhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIFtzdHlsZV09XCJ7IGhlaWdodDogJzNweCcgfVwiIC8+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXZcclxuICAgIGlkPVwia3YtZWRpdG9yXCJcclxuICAgIGNsYXNzPVwib3ZlcmZsb3ctYXV0byB3LWZ1bGwgZmxleC0xIHNjcm9sbHN0eWxlIHctZnVsbFwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdlcnJvci1ib3JkZXInOiBoYXNDb250cm9sRXJyb3IoKSxcclxuICAgICAgJ3BvaW50ZXItZXZlbnRzLW5vbmUgb3BhY2l0eS02MCc6IGlzTG9hZGluZ1BkZigpXHJcbiAgICB9XCJcclxuICAgIFtzdHlsZS5ib3JkZXJUb3BdPVwic2hvd0hlYWRlcigpID8gJ25vbmUnIDogJzFweCBzb2xpZCAjZTVlN2ViJ1wiXHJcbiAgPjwvZGl2PlxyXG48L2Rpdj5cclxuPGt2LWVycm9yIFtoYXNFcnJvcl09XCJoYXNDb250cm9sRXJyb3IoKVwiPnt7IGVycm9NZXNzYWdlKCkgfX08L2t2LWVycm9yPlxyXG5cclxuPCEtLSA8bGluayBocmVmPVwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9xdWlsbEAyLjAuMi9kaXN0L3F1aWxsLnNub3cuY3NzXCIgcmVsPVwic3R5bGVzaGVldFwiIC8+IC0tPlxyXG48bGluayBocmVmPVwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90b1wiIHJlbD1cInN0eWxlc2hlZXRcIiAvPlxyXG48c2NyaXB0IHNyYz1cImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vcXVpbGxAMi4wLjIvZGlzdC9xdWlsbC5qc1wiPjwvc2NyaXB0PlxyXG48c2NyaXB0IHNyYz1cImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0va2F0ZXhAMC4xNi45L2Rpc3Qva2F0ZXgubWluLmpzXCI+PC9zY3JpcHQ+XHJcblxyXG48bGlua1xyXG4gIHJlbD1cInN0eWxlc2hlZXRcIlxyXG4gIGhyZWY9XCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3F1aWxsQDIuMC4yL2Rpc3QvcXVpbGwuYnViYmxlLmNzc1wiXHJcbi8+XHJcbjxsaW5rXHJcbiAgcmVsPVwic3R5bGVzaGVldFwiXHJcbiAgaHJlZj1cImh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2hpZ2hsaWdodC5qcy8xMS45LjAvc3R5bGVzL2F0b20tb25lLWRhcmsubWluLmNzc1wiXHJcbi8+XHJcbjxsaW5rXHJcbiAgcmVsPVwic3R5bGVzaGVldFwiXHJcbiAgaHJlZj1cImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0va2F0ZXhAMC4xNi45L2Rpc3Qva2F0ZXgubWluLmNzc1wiXHJcbi8+XHJcblxyXG48cC1vdmVybGF5UGFuZWwgI29wIHN0eWxlQ2xhc3M9XCJvdmVyZmxvdy1oaWRkZW5cIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImdyaWQgbS0wIGdhcC0yIHAtMiBtYXgtdy0yMHJlbSBvdmVyZmxvdy15LWF1dG8gc2Nyb2xsc3R5bGVcIlxyXG4gICAgc3R5bGU9XCJtYXgtaGVpZ2h0OiAxNnJlbVwiXHJcbiAgPlxyXG4gICAgQGZvcihpdGVtIG9mIHJlbGF0b3Jpb3MoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29sLTEyIGN1cnNvci1wb2ludGVyIGhvdmVyOmJnLWdyYXktMTAwIHRyYW5zaXRpb24tY29sb3JzIHRyYW5zaXRpb24tZHVyYXRpb24tMjAwIGJvcmRlci1yb3VuZC1sZyBzaGFkb3ctMiBmbGV4IGZsZXgtY29sdW1uIGdhcC0yXCJcclxuICAgICAgKGNsaWNrKT1cInNldFJlbGF0b3JpbyhpdGVtKVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bSB3LWZ1bGxcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxyXG5cclxuICAgICAgICA8a3YtdGFnc1xyXG4gICAgICAgICAgY2xhc3M9XCJ0cmFuc2l0aW9uLW9wYWNpdHkgdHJhbnNpdGlvbi1kdXJhdGlvbi0zMDAge3tcclxuICAgICAgICAgICAgaXRlbT8uaWQgPT0gaWRSZWxhdG9yaW9TZWxlY3RlZCgpID8gJ29wYWNpdHktMTAwJyA6ICdvcGFjaXR5LTAnXHJcbiAgICAgICAgICB9fVwiXHJcbiAgICAgICAgICBbdGFnc109XCJbeyBsYWJlbDogJ1NlbGVjaW9uYWRvJywgc2V2ZXJpdHk6ICdwcmltYXJ5JyB9XVwiXHJcbiAgICAgICAgPjwva3YtdGFncz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC14cyB0ZXh0LWdyYXktNTAwXCI+e3sgaXRlbS5kZXNjcmljYW8gfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9wLW92ZXJsYXlQYW5lbD5cclxuXHJcbjxkaXYgY2xhc3M9XCJrdi1lZGl0b3ItY29udGFpbmVyIGZsZXggZmxleC1jb2x1bW4gb3ZlcmZsb3ctaGlkZGVuIHJlbGF0aXZlXCI+XHJcbiAgPGRpdlxyXG4gICAgI21lbnRpb25BbmNob3JcclxuICAgIHN0eWxlPVwicG9zaXRpb246IGZpeGVkOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgb3BhY2l0eTogMFwiXHJcbiAgPjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxwLW92ZXJsYXlQYW5lbFxyXG4gICNvcFZhcmlhYmxlc1xyXG4gIFthcHBlbmRUb109XCInYm9keSdcIlxyXG4gIChvbkhpZGUpPVwiY2xvc2VWYXJpYWJsZXNQYW5lbCgpXCJcclxuPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBnYXAtMSBwLTEgb3ZlcmZsb3cteS1hdXRvIHNjcm9sbC12aXJ0dWFsIGJvcmRlci1yb3VuZC1sZ1wiXHJcbiAgICBzdHlsZT1cIm1heC1oZWlnaHQ6IDI1MHB4OyBtaW4td2lkdGg6IDI1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzXCJcclxuICA+XHJcbiAgICBAZm9yKHZhcmlhYmxlIG9mIGZpbHRlcmVkVmFyaWFibGVzKCk7IHRyYWNrIHZhcmlhYmxlLmlkKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwicC0yIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24tY29sb3JzIHRyYW5zaXRpb24tZHVyYXRpb24tMjAwIGJvcmRlci1yb3VuZC1sZyB0ZXh0LXNtIHRleHQtd2hpdGUgb3B0aW9uLWRyb3Bkb3duXCJcclxuICAgICAgKGNsaWNrKT1cInNlbGVjdFZhcmlhYmxlRnJvbVBhbmVsKHZhcmlhYmxlKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7IHZhcmlhYmxlLmRlc2NyaWNhbyB9fSAoXHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ncmF5LTQwMFwiPnt7IHZhcmlhYmxlLnZhbHVlIH19PC9zcGFuPiApXHJcbiAgICA8L2Rpdj5cclxuICAgIH0gQGVtcHR5IHtcclxuICAgIDxkaXYgY2xhc3M9XCJwLTIgdGV4dC1zbSB0ZXh0LWdyYXktNTAwXCI+TmVuaHVtYSB2YXJpw6F2ZWwgZW5jb250cmFkYS48L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9wLW92ZXJsYXlQYW5lbD5cclxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './types/kv-editor.types';
|
|
2
|
+
export * from './services/kv-editor-quill.service';
|
|
3
|
+
export * from './services/kv-editor-relatorio.service';
|
|
4
|
+
export * from './services/kv-editor-mention.service';
|
|
5
|
+
export * from './services/kv-editor-pdf.service';
|
|
6
|
+
export * from './config/kv-editor.config';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWVkaXRvci9rdi1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3R5cGVzL2t2LWVkaXRvci50eXBlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMva3YtZWRpdG9yLXF1aWxsLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2t2LWVkaXRvci1yZWxhdG9yaW8uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMva3YtZWRpdG9yLW1lbnRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMva3YtZWRpdG9yLXBkZi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25maWcva3YtZWRpdG9yLmNvbmZpZyc7XHJcbiJdfQ==
|