@valtimo/components 10.7.0 → 11.0.0
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/assets/css/carbon-beagle-compatibility.scss +1 -1
- package/assets/css/carbon.scss +38 -6
- package/assets/css/design-tokens.css +408 -0
- package/{esm2020 → esm2022}/lib/components/alert/alert.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/alert/alert.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/alert/alert.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/bpmn-js-diagram/bpmn-js-diagram.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/breadcrumb-navigation/breadcrumb-navigation.module.mjs +5 -5
- package/esm2022/lib/components/breadcrumb-navigation/breadcrumb.service.mjs +118 -0
- package/esm2022/lib/components/button/button.component.mjs +99 -0
- package/esm2022/lib/components/button/button.module.mjs +37 -0
- package/{esm2020 → esm2022}/lib/components/camunda/form/camunda-form.components.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/camunda/form/camunda-form.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/camunda/form/custom/camunda-custom-form.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/camunda/form/custom/camunda-custom-form.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/camunda/form/generated/camunda-generated-form.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/camunda/form/generated/camunda-generated-form.module.mjs +14 -14
- package/{esm2020 → esm2022}/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/camunda/form/generated/formfield/camunda-formfield.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.mjs +4 -4
- package/esm2022/lib/components/carbon-list/CarbonListFilterPipe.directive.mjs +34 -0
- package/esm2022/lib/components/carbon-list/carbon-list.component.mjs +360 -0
- package/esm2022/lib/components/carbon-list/carbon-list.module.mjs +75 -0
- package/esm2022/lib/components/carbon-list/no-results/carbon-no-results.component.mjs +39 -0
- package/{esm2020 → esm2022}/lib/components/card/card.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/card/card.module.mjs +5 -5
- package/esm2022/lib/components/confirmation-modal/confirmation-modal.component.mjs +94 -0
- package/{esm2020 → esm2022}/lib/components/confirmation-modal/confirmation-modal.module.mjs +14 -14
- package/{esm2020 → esm2022}/lib/components/data-list/data-list.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/data-list/data-list.module.mjs +5 -5
- package/esm2022/lib/components/date-picker/date-picker.component.mjs +160 -0
- package/esm2022/lib/components/date-picker/date-picker.module.mjs +40 -0
- package/esm2022/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.mjs +223 -0
- package/esm2022/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.module.mjs +74 -0
- package/esm2022/lib/components/dropzone/dropzone.component.mjs +168 -0
- package/{esm2020 → esm2022}/lib/components/dropzone/dropzone.module.mjs +5 -5
- package/esm2022/lib/components/editor/editor.component.mjs +141 -0
- package/esm2022/lib/components/editor/editor.module.mjs +33 -0
- package/esm2022/lib/components/editor/editor.service.mjs +63 -0
- package/esm2022/lib/components/expansion-panel/expansion-panel.component.mjs +41 -0
- package/{esm2020 → esm2022}/lib/components/expansion-panel/expansion-panel.module.mjs +6 -6
- package/{esm2020 → esm2022}/lib/components/field-auto-focus/field-auto-focus.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/field-auto-focus/field-auto-focus.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/file-size/file-size.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/file-size/file-size.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/filter-sidebar/filter-sidebar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/filter-sidebar/filter-sidebar.module.mjs +5 -5
- package/esm2022/lib/components/form/form.component.mjs +136 -0
- package/esm2022/lib/components/form/form.module.mjs +33 -0
- package/{esm2020 → esm2022}/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form-io/form-io-builder.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form-io/form-io-current-user/form-io-current-user.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form-io/form-io-uploader/form-io-uploader.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form-io/form-io.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form-io/form-io.module.mjs +29 -29
- package/{esm2020 → esm2022}/lib/components/form-io/services/form-io-dom.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form-io/services/form-io-state.service.mjs +4 -4
- package/esm2022/lib/components/input/input.component.mjs +168 -0
- package/esm2022/lib/components/input/input.module.mjs +59 -0
- package/esm2022/lib/components/input-label/input-label.component.mjs +81 -0
- package/esm2022/lib/components/input-label/input-label.module.mjs +55 -0
- package/esm2022/lib/components/left-sidebar/left-sidebar.component.mjs +148 -0
- package/{esm2020 → esm2022}/lib/components/left-sidebar/left-sidebar.module.mjs +18 -18
- package/{esm2020 → esm2022}/lib/components/list/ListFilterPipe.directive.mjs +4 -4
- package/esm2022/lib/components/list/list.component.mjs +202 -0
- package/{esm2020 → esm2022}/lib/components/list/list.module.mjs +5 -5
- package/esm2022/lib/components/menu/menu-item-text.component.mjs +54 -0
- package/{esm2020 → esm2022}/lib/components/menu/menu-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/menu/menu.module.mjs +17 -17
- package/esm2022/lib/components/menu/menu.service.mjs +258 -0
- package/{esm2020 → esm2022}/lib/components/modal/modal.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/modal/modal.module.mjs +5 -5
- package/esm2022/lib/components/multi-input/carbon-multi-input.component.mjs +217 -0
- package/esm2022/lib/components/multi-input/carbon-multi-input.module.mjs +64 -0
- package/esm2022/lib/components/multi-input-form/multi-input-form.component.mjs +190 -0
- package/esm2022/lib/components/multi-input-form/multi-input-form.module.mjs +55 -0
- package/{esm2020 → esm2022}/lib/components/multiselect-dropdown/multiselect-dropdown.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/multiselect-dropdown/multiselect-dropdown.module.mjs +5 -5
- package/esm2022/lib/components/page/page-container/page-container.component.mjs +29 -0
- package/esm2022/lib/components/page/page-content/page-content.component.mjs +29 -0
- package/esm2022/lib/components/page/page-header/page-header.component.mjs +29 -0
- package/esm2022/lib/components/page/page-header-actions/page-header-actions.component.mjs +29 -0
- package/esm2022/lib/components/page/page-header-introduction/page-header-introduction.component.mjs +29 -0
- package/esm2022/lib/components/page/page.module.mjs +60 -0
- package/{esm2020 → esm2022}/lib/components/page-header/page-header.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/page-header/page-header.module.mjs +5 -5
- package/esm2022/lib/components/page-title/page-title.component.mjs +105 -0
- package/{esm2020 → esm2022}/lib/components/page-title/page-title.module.mjs +5 -5
- package/esm2022/lib/components/page-title/page-title.service.mjs +107 -0
- package/esm2022/lib/components/paragraph/paragraph.component.mjs +48 -0
- package/esm2022/lib/components/paragraph/paragraph.module.mjs +37 -0
- package/{esm2020 → esm2022}/lib/components/progress-bar/progress-bar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/progress-bar/progress-bar.module.mjs +5 -5
- package/esm2022/lib/components/prompt/prompt.component.mjs +74 -0
- package/esm2022/lib/components/prompt/prompt.module.mjs +39 -0
- package/esm2022/lib/components/radio/radio.component.mjs +116 -0
- package/esm2022/lib/components/radio/radio.module.mjs +55 -0
- package/esm2022/lib/components/right-sidebar/right-sidebar.component.mjs +203 -0
- package/esm2022/lib/components/right-sidebar/right-sidebar.module.mjs +95 -0
- package/esm2022/lib/components/search-fields/search-fields.component.mjs +221 -0
- package/esm2022/lib/components/search-fields/search-fields.module.mjs +75 -0
- package/{esm2020 → esm2022}/lib/components/searchable-dropdown/searchable-dropdown.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/searchable-dropdown/searchable-dropdown.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/searchable-dropdown-select/searchable-dropdown-select.module.mjs +5 -5
- package/esm2022/lib/components/select/select.component.mjs +194 -0
- package/esm2022/lib/components/select/select.module.mjs +37 -0
- package/{esm2020 → esm2022}/lib/components/spinner/spinner.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/spinner/spinner.module.mjs +5 -5
- package/esm2022/lib/components/stepper/stepper-container/stepper-container.component.mjs +91 -0
- package/esm2022/lib/components/stepper/stepper-content/stepper-content.component.mjs +52 -0
- package/esm2022/lib/components/stepper/stepper-footer/stepper-footer.component.mjs +43 -0
- package/esm2022/lib/components/stepper/stepper-footer-step/stepper-footer-step.component.mjs +71 -0
- package/esm2022/lib/components/stepper/stepper-header/stepper-header.component.mjs +37 -0
- package/esm2022/lib/components/stepper/stepper-step/stepper-step.component.mjs +39 -0
- package/esm2022/lib/components/stepper/stepper.module.mjs +67 -0
- package/esm2022/lib/components/table/table.component.mjs +172 -0
- package/esm2022/lib/components/table/table.module.mjs +58 -0
- package/esm2022/lib/components/timeline/timeline.component.mjs +42 -0
- package/{esm2020 → esm2022}/lib/components/timeline/timeline.module.mjs +5 -5
- package/esm2022/lib/components/title/title.component.mjs +57 -0
- package/esm2022/lib/components/title/title.module.mjs +36 -0
- package/esm2022/lib/components/tooltip-icon/tooltip-icon.component.mjs +39 -0
- package/esm2022/lib/components/tooltip-icon/tooltip-icon.module.mjs +39 -0
- package/{esm2020 → esm2022}/lib/components/topbar/topbar.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/topbar/topbar.module.mjs +6 -6
- package/{esm2020 → esm2022}/lib/components/uploader/uploader-drag-drop.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/uploader/uploader.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/uploader/uploader.module.mjs +5 -5
- package/esm2022/lib/components/v-card/card.component.mjs +80 -0
- package/esm2022/lib/components/v-card/card.module.mjs +38 -0
- package/esm2022/lib/components/v-modal/modal.component.mjs +71 -0
- package/esm2022/lib/components/v-modal/modal.module.mjs +37 -0
- package/{esm2020 → esm2022}/lib/components/version/version.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/view-content/view-content.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/webcam/webcam.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/webcam/webcam.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/widget/widget.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/widget/widget.module.mjs +5 -5
- package/esm2022/lib/directives/command-click/command-click-directive.module.mjs +33 -0
- package/esm2022/lib/directives/command-click/command-click.directive.mjs +52 -0
- package/esm2022/lib/directives/digit-only/digit-only.directive.mjs +283 -0
- package/esm2022/lib/directives/render-in-page-header/render-in-page-header-directive.module.mjs +33 -0
- package/esm2022/lib/directives/render-in-page-header/render-in-page-header.directive.mjs +43 -0
- package/esm2022/lib/directives/tooltip/tooltip.component.mjs +42 -0
- package/esm2022/lib/directives/tooltip/tooltip.directive.mjs +74 -0
- package/esm2022/lib/directives/tooltip/tooltip.module.mjs +35 -0
- package/esm2022/lib/directives/valtimo-cds-modal/valtimo-cds-modal-directive.module.mjs +33 -0
- package/esm2022/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.mjs +68 -0
- package/esm2022/lib/models/button.model.mjs +17 -0
- package/esm2022/lib/models/carbon-list.model.mjs +21 -0
- package/esm2022/lib/models/carbon-pagination.model.mjs +21 -0
- package/esm2022/lib/models/editor.model.mjs +17 -0
- package/{esm2020/lib/models/list.model.mjs → esm2022/lib/models/form.model.mjs} +1 -1
- package/esm2022/lib/models/index.mjs +39 -0
- package/esm2022/lib/models/input.model.mjs +17 -0
- package/esm2022/lib/models/modal.model.mjs +17 -0
- package/{esm2020 → esm2022}/lib/models/multi-input.model.mjs +1 -1
- package/esm2022/lib/models/pagination.model.mjs +24 -0
- package/esm2022/lib/models/radio.model.mjs +17 -0
- package/esm2022/lib/models/select.model.mjs +17 -0
- package/esm2022/lib/models/sort.model.mjs +17 -0
- package/esm2022/lib/models/stepper.model.mjs +17 -0
- package/esm2022/lib/models/table.model.mjs +17 -0
- package/esm2022/lib/models/timeline.model.mjs +52 -0
- package/esm2022/lib/models/title.model.mjs +17 -0
- package/{esm2020 → esm2022}/lib/pipes/case-count.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pipes/components-pipes.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/pipes/menu-item-translation.pipe.mjs +4 -4
- package/esm2022/lib/services/index.mjs +7 -0
- package/esm2022/lib/services/modal.service.mjs +128 -0
- package/esm2022/lib/services/prompt.service.mjs +205 -0
- package/esm2022/lib/services/shell.service.mjs +213 -0
- package/esm2022/lib/services/stepper.service.mjs +108 -0
- package/esm2022/lib/services/user-interface.service.mjs +47 -0
- package/{esm2020 → esm2022}/lib/services/valtimo-modal.service.mjs +4 -4
- package/esm2022/public_api.mjs +194 -0
- package/fesm2022/valtimo-components.mjs +12375 -0
- package/fesm2022/valtimo-components.mjs.map +1 -0
- package/lib/components/alert/alert.component.d.ts +1 -1
- package/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.d.ts +1 -1
- package/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.d.ts +1 -1
- package/lib/components/breadcrumb-navigation/breadcrumb.service.d.ts.map +1 -1
- package/lib/components/button/button.component.d.ts +30 -0
- package/lib/components/button/button.component.d.ts.map +1 -0
- package/lib/components/button/button.module.d.ts +13 -0
- package/lib/components/button/button.module.d.ts.map +1 -0
- package/lib/components/camunda/form/camunda-form.components.d.ts +1 -1
- package/lib/components/camunda/form/custom/camunda-custom-form.component.d.ts +1 -1
- package/lib/components/camunda/form/generated/camunda-generated-form.component.d.ts +1 -1
- package/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.d.ts +1 -1
- package/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.d.ts +1 -1
- package/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.d.ts +1 -1
- package/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.d.ts +1 -1
- package/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.d.ts +1 -1
- package/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.d.ts +1 -1
- package/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.d.ts +1 -1
- package/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.d.ts +1 -1
- package/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.d.ts +1 -1
- package/lib/components/carbon-list/CarbonListFilterPipe.directive.d.ts +9 -0
- package/lib/components/carbon-list/CarbonListFilterPipe.directive.d.ts.map +1 -0
- package/lib/components/carbon-list/carbon-list.component.d.ts +86 -0
- package/lib/components/carbon-list/carbon-list.component.d.ts.map +1 -0
- package/lib/components/carbon-list/carbon-list.module.d.ts +16 -0
- package/lib/components/carbon-list/carbon-list.module.d.ts.map +1 -0
- package/lib/components/{carbon-table → carbon-list}/no-results/carbon-no-results.component.d.ts +1 -1
- package/lib/components/{carbon-table → carbon-list}/no-results/carbon-no-results.component.d.ts.map +1 -1
- package/lib/components/card/card.component.d.ts +1 -1
- package/lib/components/confirmation-modal/confirmation-modal.component.d.ts +2 -1
- package/lib/components/confirmation-modal/confirmation-modal.component.d.ts.map +1 -1
- package/lib/components/confirmation-modal/confirmation-modal.module.d.ts +1 -1
- package/lib/components/data-list/data-list.component.d.ts +1 -1
- package/lib/components/date-picker/date-picker.component.d.ts +44 -0
- package/lib/components/date-picker/date-picker.component.d.ts.map +1 -0
- package/lib/components/date-picker/date-picker.module.d.ts +16 -0
- package/lib/components/date-picker/date-picker.module.d.ts.map +1 -0
- package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts +5 -3
- package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts.map +1 -1
- package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.module.d.ts +9 -2
- package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.module.d.ts.map +1 -1
- package/lib/components/dropzone/dropzone.component.d.ts +6 -3
- package/lib/components/dropzone/dropzone.component.d.ts.map +1 -1
- package/lib/components/editor/editor.component.d.ts +38 -0
- package/lib/components/editor/editor.component.d.ts.map +1 -0
- package/lib/components/editor/editor.module.d.ts +9 -0
- package/lib/components/editor/editor.module.d.ts.map +1 -0
- package/lib/components/editor/editor.service.d.ts +12 -0
- package/lib/components/editor/editor.service.d.ts.map +1 -0
- package/lib/components/expansion-panel/expansion-panel.component.d.ts +1 -1
- package/lib/components/field-auto-focus/field-auto-focus.directive.d.ts +1 -1
- package/lib/components/filter-sidebar/filter-sidebar.component.d.ts +1 -1
- package/lib/components/form/form.component.d.ts +31 -0
- package/lib/components/form/form.component.d.ts.map +1 -0
- package/lib/components/form/form.module.d.ts +9 -0
- package/lib/components/form/form.module.d.ts.map +1 -0
- package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.component.d.ts +1 -1
- package/lib/components/form-io/form-io-builder.component.d.ts +1 -1
- package/lib/components/form-io/form-io-current-user/form-io-current-user.component.d.ts +1 -1
- package/lib/components/form-io/form-io-uploader/form-io-uploader.component.d.ts +1 -1
- package/lib/components/form-io/form-io.component.d.ts +1 -1
- package/lib/components/input/input.component.d.ts +52 -0
- package/lib/components/input/input.component.d.ts.map +1 -0
- package/lib/components/input/input.module.d.ts +15 -0
- package/lib/components/input/input.module.d.ts.map +1 -0
- package/lib/components/input-label/input-label.component.d.ts +23 -0
- package/lib/components/input-label/input-label.component.d.ts.map +1 -0
- package/lib/components/input-label/input-label.module.d.ts +14 -0
- package/lib/components/input-label/input-label.module.d.ts.map +1 -0
- package/lib/components/left-sidebar/left-sidebar.component.d.ts +1 -1
- package/lib/components/left-sidebar/left-sidebar.module.d.ts +1 -1
- package/lib/components/list/list.component.d.ts +4 -1
- package/lib/components/list/list.component.d.ts.map +1 -1
- package/lib/components/menu/menu-item-text.component.d.ts +1 -1
- package/lib/components/menu/menu.service.d.ts.map +1 -1
- package/lib/components/modal/modal.component.d.ts +1 -1
- package/lib/components/multi-input/carbon-multi-input.component.d.ts +1 -1
- package/lib/components/multi-input/carbon-multi-input.module.d.ts +6 -4
- package/lib/components/multi-input/carbon-multi-input.module.d.ts.map +1 -1
- package/lib/components/multi-input-form/multi-input-form.component.d.ts +45 -0
- package/lib/components/multi-input-form/multi-input-form.component.d.ts.map +1 -0
- package/lib/components/multi-input-form/multi-input-form.module.d.ts +14 -0
- package/lib/components/multi-input-form/multi-input-form.module.d.ts.map +1 -0
- package/lib/components/multiselect-dropdown/multiselect-dropdown.component.d.ts +1 -1
- package/lib/components/page/page-container/page-container.component.d.ts +9 -0
- package/lib/components/page/page-container/page-container.component.d.ts.map +1 -0
- package/lib/components/page/page-content/page-content.component.d.ts +9 -0
- package/lib/components/page/page-content/page-content.component.d.ts.map +1 -0
- package/lib/components/page/page-header/page-header.component.d.ts +9 -0
- package/lib/components/page/page-header/page-header.component.d.ts.map +1 -0
- package/lib/components/page/page-header-actions/page-header-actions.component.d.ts +9 -0
- package/lib/components/page/page-header-actions/page-header-actions.component.d.ts.map +1 -0
- package/lib/components/page/page-header-introduction/page-header-introduction.component.d.ts +9 -0
- package/lib/components/page/page-header-introduction/page-header-introduction.component.d.ts.map +1 -0
- package/lib/components/page/page.module.d.ts +16 -0
- package/lib/components/page/page.module.d.ts.map +1 -0
- package/lib/components/page-header/page-header.component.d.ts +2 -2
- package/lib/components/page-header/page-header.component.d.ts.map +1 -1
- package/lib/components/page-title/page-title.component.d.ts +4 -4
- package/lib/components/page-title/page-title.component.d.ts.map +1 -1
- package/lib/components/page-title/page-title.service.d.ts.map +1 -1
- package/lib/components/paragraph/paragraph.component.d.ts +14 -0
- package/lib/components/paragraph/paragraph.component.d.ts.map +1 -0
- package/lib/components/paragraph/paragraph.module.d.ts +13 -0
- package/lib/components/paragraph/paragraph.module.d.ts.map +1 -0
- package/lib/components/progress-bar/progress-bar.component.d.ts +1 -1
- package/lib/components/prompt/prompt.component.d.ts +35 -0
- package/lib/components/prompt/prompt.component.d.ts.map +1 -0
- package/lib/components/prompt/prompt.module.d.ts +15 -0
- package/lib/components/prompt/prompt.module.d.ts.map +1 -0
- package/lib/components/radio/radio.component.d.ts +36 -0
- package/lib/components/radio/radio.component.d.ts.map +1 -0
- package/lib/components/radio/radio.module.d.ts +14 -0
- package/lib/components/radio/radio.module.d.ts.map +1 -0
- package/lib/components/right-sidebar/right-sidebar.component.d.ts +2 -7
- package/lib/components/right-sidebar/right-sidebar.component.d.ts.map +1 -1
- package/lib/components/search-fields/search-fields.component.d.ts +3 -2
- package/lib/components/search-fields/search-fields.component.d.ts.map +1 -1
- package/lib/components/search-fields/search-fields.module.d.ts +8 -2
- package/lib/components/search-fields/search-fields.module.d.ts.map +1 -1
- package/lib/components/searchable-dropdown/searchable-dropdown.component.d.ts +1 -1
- package/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.d.ts +1 -1
- package/lib/components/select/select.component.d.ts +50 -0
- package/lib/components/select/select.component.d.ts.map +1 -0
- package/lib/components/select/select.module.d.ts +13 -0
- package/lib/components/select/select.module.d.ts.map +1 -0
- package/lib/components/spinner/spinner.component.d.ts +1 -1
- package/lib/components/stepper/stepper-container/stepper-container.component.d.ts +29 -0
- package/lib/components/stepper/stepper-container/stepper-container.component.d.ts.map +1 -0
- package/lib/components/stepper/stepper-content/stepper-content.component.d.ts +18 -0
- package/lib/components/stepper/stepper-content/stepper-content.component.d.ts.map +1 -0
- package/lib/components/stepper/stepper-footer/stepper-footer.component.d.ts +14 -0
- package/lib/components/stepper/stepper-footer/stepper-footer.component.d.ts.map +1 -0
- package/lib/components/stepper/stepper-footer-step/stepper-footer-step.component.d.ts +27 -0
- package/lib/components/stepper/stepper-footer-step/stepper-footer-step.component.d.ts.map +1 -0
- package/lib/components/stepper/stepper-header/stepper-header.component.d.ts +16 -0
- package/lib/components/stepper/stepper-header/stepper-header.component.d.ts.map +1 -0
- package/lib/components/stepper/stepper-step/stepper-step.component.d.ts +16 -0
- package/lib/components/stepper/stepper-step/stepper-step.component.d.ts.map +1 -0
- package/lib/components/stepper/stepper.module.d.ts +19 -0
- package/lib/components/stepper/stepper.module.d.ts.map +1 -0
- package/lib/components/table/table.component.d.ts +52 -0
- package/lib/components/table/table.component.d.ts.map +1 -0
- package/lib/components/table/table.module.d.ts +17 -0
- package/lib/components/table/table.module.d.ts.map +1 -0
- package/lib/components/timeline/timeline.component.d.ts +2 -1
- package/lib/components/timeline/timeline.component.d.ts.map +1 -1
- package/lib/components/title/title.component.d.ts +19 -0
- package/lib/components/title/title.component.d.ts.map +1 -0
- package/lib/components/title/title.module.d.ts +12 -0
- package/lib/components/title/title.module.d.ts.map +1 -0
- package/lib/components/tooltip-icon/tooltip-icon.component.d.ts +11 -0
- package/lib/components/tooltip-icon/tooltip-icon.component.d.ts.map +1 -0
- package/lib/components/tooltip-icon/tooltip-icon.module.d.ts +15 -0
- package/lib/components/tooltip-icon/tooltip-icon.module.d.ts.map +1 -0
- package/lib/components/topbar/topbar.component.d.ts +1 -1
- package/lib/components/topbar/topbar.module.d.ts +1 -1
- package/lib/components/uploader/uploader-drag-drop.directive.d.ts +1 -1
- package/lib/components/uploader/uploader.component.d.ts +1 -1
- package/lib/components/v-card/card.component.d.ts +23 -0
- package/lib/components/v-card/card.component.d.ts.map +1 -0
- package/lib/components/v-card/card.module.d.ts +14 -0
- package/lib/components/v-card/card.module.d.ts.map +1 -0
- package/lib/components/v-modal/modal.component.d.ts +29 -0
- package/lib/components/v-modal/modal.component.d.ts.map +1 -0
- package/lib/components/v-modal/modal.module.d.ts +13 -0
- package/lib/components/v-modal/modal.module.d.ts.map +1 -0
- package/lib/components/version/version.service.d.ts.map +1 -1
- package/lib/components/webcam/webcam.component.d.ts +1 -1
- package/lib/components/widget/widget.component.d.ts +1 -1
- package/lib/directives/command-click/command-click-directive.module.d.ts.map +1 -0
- package/lib/directives/{command-click.directive.d.ts → command-click/command-click.directive.d.ts} +1 -1
- package/lib/directives/command-click/command-click.directive.d.ts.map +1 -0
- package/lib/directives/digit-only/digit-only.directive.d.ts +35 -0
- package/lib/directives/digit-only/digit-only.directive.d.ts.map +1 -0
- package/lib/directives/render-in-page-header/render-in-page-header-directive.module.d.ts.map +1 -0
- package/lib/directives/{render-in-page-header.directive.d.ts → render-in-page-header/render-in-page-header.directive.d.ts} +2 -2
- package/lib/directives/render-in-page-header/render-in-page-header.directive.d.ts.map +1 -0
- package/lib/directives/tooltip/tooltip.component.d.ts +7 -0
- package/lib/directives/tooltip/tooltip.component.d.ts.map +1 -0
- package/lib/directives/tooltip/tooltip.directive.d.ts +19 -0
- package/lib/directives/tooltip/tooltip.directive.d.ts.map +1 -0
- package/lib/directives/tooltip/tooltip.module.d.ts +11 -0
- package/lib/directives/tooltip/tooltip.module.d.ts.map +1 -0
- package/lib/directives/valtimo-cds-modal/valtimo-cds-modal-directive.module.d.ts.map +1 -0
- package/lib/directives/{valtimo-cds-modal.directive.d.ts → valtimo-cds-modal/valtimo-cds-modal.directive.d.ts} +1 -1
- package/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.d.ts.map +1 -0
- package/lib/models/button.model.d.ts +3 -0
- package/lib/models/button.model.d.ts.map +1 -0
- package/lib/models/carbon-list.model.d.ts +54 -0
- package/lib/models/carbon-list.model.d.ts.map +1 -0
- package/lib/models/carbon-pagination.model.d.ts +6 -5
- package/lib/models/carbon-pagination.model.d.ts.map +1 -1
- package/lib/models/documenten-api-metadata.model.d.ts +4 -4
- package/lib/models/documenten-api-metadata.model.d.ts.map +1 -1
- package/lib/models/editor.model.d.ts +11 -0
- package/lib/models/editor.model.d.ts.map +1 -0
- package/lib/models/form.model.d.ts +5 -0
- package/lib/models/form.model.d.ts.map +1 -0
- package/lib/models/index.d.ts +14 -2
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/input.model.d.ts +3 -0
- package/lib/models/input.model.d.ts.map +1 -0
- package/lib/models/modal.model.d.ts +3 -0
- package/lib/models/modal.model.d.ts.map +1 -0
- package/lib/models/multi-input.model.d.ts +5 -5
- package/lib/models/multi-input.model.d.ts.map +1 -1
- package/lib/models/pagination.model.d.ts +5 -3
- package/lib/models/pagination.model.d.ts.map +1 -1
- package/lib/models/radio.model.d.ts +8 -0
- package/lib/models/radio.model.d.ts.map +1 -0
- package/lib/models/searchable-dropdown.model.d.ts +1 -1
- package/lib/models/searchable-dropdown.model.d.ts.map +1 -1
- package/lib/models/select.model.d.ts +9 -0
- package/lib/models/select.model.d.ts.map +1 -0
- package/lib/models/sort.model.d.ts +11 -0
- package/lib/models/sort.model.d.ts.map +1 -0
- package/lib/models/stepper.model.d.ts +8 -0
- package/lib/models/stepper.model.d.ts.map +1 -0
- package/lib/models/table.model.d.ts +14 -0
- package/lib/models/table.model.d.ts.map +1 -0
- package/lib/models/timeline.model.d.ts +4 -1
- package/lib/models/timeline.model.d.ts.map +1 -1
- package/lib/models/title.model.d.ts +3 -0
- package/lib/models/title.model.d.ts.map +1 -0
- package/lib/services/index.d.ts +7 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/modal.service.d.ts +37 -0
- package/lib/services/modal.service.d.ts.map +1 -0
- package/lib/services/prompt.service.d.ts +68 -0
- package/lib/services/prompt.service.d.ts.map +1 -0
- package/lib/services/shell.service.d.ts +3 -0
- package/lib/services/shell.service.d.ts.map +1 -1
- package/lib/services/stepper.service.d.ts +32 -0
- package/lib/services/stepper.service.d.ts.map +1 -0
- package/lib/services/user-interface.service.d.ts +11 -0
- package/lib/services/user-interface.service.d.ts.map +1 -0
- package/package.json +30 -31
- package/public_api.d.ts +60 -7
- package/public_api.d.ts.map +1 -1
- package/esm2020/lib/components/breadcrumb-navigation/breadcrumb.service.mjs +0 -103
- package/esm2020/lib/components/carbon-table/carbon-table.component.mjs +0 -178
- package/esm2020/lib/components/carbon-table/carbon-table.module.mjs +0 -53
- package/esm2020/lib/components/carbon-table/no-results/carbon-no-results.component.mjs +0 -24
- package/esm2020/lib/components/components.module.mjs +0 -26
- package/esm2020/lib/components/confirmation-modal/confirmation-modal.component.mjs +0 -90
- package/esm2020/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.mjs +0 -215
- package/esm2020/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.module.mjs +0 -67
- package/esm2020/lib/components/dropzone/dropzone.component.mjs +0 -155
- package/esm2020/lib/components/expansion-panel/expansion-panel.component.mjs +0 -41
- package/esm2020/lib/components/left-sidebar/left-sidebar.component.mjs +0 -148
- package/esm2020/lib/components/list/list.component.mjs +0 -199
- package/esm2020/lib/components/menu/menu-item-text.component.mjs +0 -54
- package/esm2020/lib/components/menu/menu.service.mjs +0 -245
- package/esm2020/lib/components/multi-input/carbon-multi-input.component.mjs +0 -216
- package/esm2020/lib/components/multi-input/carbon-multi-input.module.mjs +0 -62
- package/esm2020/lib/components/page-title/page-title.component.mjs +0 -106
- package/esm2020/lib/components/page-title/page-title.service.mjs +0 -92
- package/esm2020/lib/components/right-sidebar/right-sidebar.component.mjs +0 -211
- package/esm2020/lib/components/right-sidebar/right-sidebar.module.mjs +0 -95
- package/esm2020/lib/components/search-fields/search-fields.component.mjs +0 -213
- package/esm2020/lib/components/search-fields/search-fields.module.mjs +0 -69
- package/esm2020/lib/components/timeline/timeline.component.mjs +0 -32
- package/esm2020/lib/directives/command-click-directive.module.mjs +0 -18
- package/esm2020/lib/directives/command-click.directive.mjs +0 -37
- package/esm2020/lib/directives/index.mjs +0 -22
- package/esm2020/lib/directives/render-in-page-header-directive.module.mjs +0 -18
- package/esm2020/lib/directives/render-in-page-header.directive.mjs +0 -27
- package/esm2020/lib/directives/valtimo-cds-modal-directive.module.mjs +0 -33
- package/esm2020/lib/directives/valtimo-cds-modal.directive.mjs +0 -68
- package/esm2020/lib/models/carbon-pagination.model.mjs +0 -9
- package/esm2020/lib/models/carbon-table.model.mjs +0 -21
- package/esm2020/lib/models/index.mjs +0 -27
- package/esm2020/lib/models/pagination.model.mjs +0 -17
- package/esm2020/lib/models/timeline.model.mjs +0 -48
- package/esm2020/lib/services/shell.service.mjs +0 -206
- package/esm2020/public_api.mjs +0 -113
- package/fesm2015/valtimo-components.mjs +0 -7945
- package/fesm2015/valtimo-components.mjs.map +0 -1
- package/fesm2020/valtimo-components.mjs +0 -8060
- package/fesm2020/valtimo-components.mjs.map +0 -1
- package/lib/components/carbon-table/carbon-table.component.d.ts +0 -49
- package/lib/components/carbon-table/carbon-table.component.d.ts.map +0 -1
- package/lib/components/carbon-table/carbon-table.module.d.ts +0 -12
- package/lib/components/carbon-table/carbon-table.module.d.ts.map +0 -1
- package/lib/components/components.module.d.ts +0 -7
- package/lib/components/components.module.d.ts.map +0 -1
- package/lib/directives/command-click-directive.module.d.ts.map +0 -1
- package/lib/directives/command-click.directive.d.ts.map +0 -1
- package/lib/directives/index.d.ts +0 -7
- package/lib/directives/index.d.ts.map +0 -1
- package/lib/directives/render-in-page-header-directive.module.d.ts.map +0 -1
- package/lib/directives/render-in-page-header.directive.d.ts.map +0 -1
- package/lib/directives/valtimo-cds-modal-directive.module.d.ts.map +0 -1
- package/lib/directives/valtimo-cds-modal.directive.d.ts.map +0 -1
- package/lib/models/carbon-table.model.d.ts +0 -33
- package/lib/models/carbon-table.model.d.ts.map +0 -1
- package/lib/models/list.model.d.ts +0 -9
- package/lib/models/list.model.d.ts.map +0 -1
- /package/{esm2020 → esm2022}/lib/components/camunda/form/generated/formfield/formfield.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/camunda/form/generated/formfield/validation/date.validators.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form-io/documenten-api-uploader/documenten-api-uploader-edit-form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.formio.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form-io/form-io-current-user/form-io-current-user-edit-form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form-io/form-io-current-user/form-io-current-user.formio.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form-io/form-io-resource-selector/form-io-resource-selector.formio.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form-io/form-io-uploader/form-io-uploader.formio.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form-io/formio-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/menu/menu.init.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/view-content/type-converters/booleanTypeConverter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/view-content/type-converters/dateTypeConverter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/view-content/type-converters/enumTypeConverter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/view-content/type-converters/relatedFilesTypeConverter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/view-content/type-converters/stringReplaceUnderscoreTypeConverter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/view-content/type-converters/stringTypeConverter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/view-content/type-converters/type-converters.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/constants/carbon.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/constants/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/alert.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/documenten-api-metadata.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/form-io.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/searchable-dropdown.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/version.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/valtimo-components.mjs +0 -0
- /package/lib/directives/{command-click-directive.module.d.ts → command-click/command-click-directive.module.d.ts} +0 -0
- /package/lib/directives/{render-in-page-header-directive.module.d.ts → render-in-page-header/render-in-page-header-directive.module.d.ts} +0 -0
- /package/lib/directives/{valtimo-cds-modal-directive.module.d.ts → valtimo-cds-modal/valtimo-cds-modal-directive.module.d.ts} +0 -0
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
|
-
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
18
|
-
import { map, take } from 'rxjs/operators';
|
|
19
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
import * as i1 from "@angular/common";
|
|
22
|
-
import * as i2 from "@valtimo/user-interface";
|
|
23
|
-
import * as i3 from "carbon-components-angular";
|
|
24
|
-
import * as i4 from "@ngx-translate/core";
|
|
25
|
-
export class CarbonMultiInputComponent {
|
|
26
|
-
constructor() {
|
|
27
|
-
this.name = '';
|
|
28
|
-
this.title = '';
|
|
29
|
-
this.titleTranslationKey = '';
|
|
30
|
-
this.type = 'value';
|
|
31
|
-
this.initialAmountOfRows = 1;
|
|
32
|
-
this.minimumAmountOfRows = 1;
|
|
33
|
-
this.maxRows = null;
|
|
34
|
-
this.addRowText = '';
|
|
35
|
-
this.addRowTranslationKey = '';
|
|
36
|
-
this.deleteRowText = '';
|
|
37
|
-
this.deleteRowTranslationKey = '';
|
|
38
|
-
this.disabled = false;
|
|
39
|
-
this.margin = false;
|
|
40
|
-
this.tooltip = '';
|
|
41
|
-
this.required = false;
|
|
42
|
-
this.keyColumnTitle = '';
|
|
43
|
-
this.valueColumnTitle = '';
|
|
44
|
-
this.dropdownColumnTitle = '';
|
|
45
|
-
this.hideDeleteButton = false;
|
|
46
|
-
this.hideAddButton = false;
|
|
47
|
-
this.dropdownWidth = 250;
|
|
48
|
-
this.fullWidth = false;
|
|
49
|
-
this.valueChange = new EventEmitter();
|
|
50
|
-
this.allValuesValidEvent = new EventEmitter();
|
|
51
|
-
this.values$ = new BehaviorSubject([]);
|
|
52
|
-
this.mappedValues$ = this.values$.pipe(map(values => values
|
|
53
|
-
.map(value => this.getMappedValue(value))
|
|
54
|
-
.filter(value => {
|
|
55
|
-
switch (this.type) {
|
|
56
|
-
case 'value':
|
|
57
|
-
return value;
|
|
58
|
-
case 'keyValue':
|
|
59
|
-
return value.value && value.key;
|
|
60
|
-
case 'keyDropdownValue':
|
|
61
|
-
return (value.value &&
|
|
62
|
-
value.key &&
|
|
63
|
-
value.dropdown);
|
|
64
|
-
}
|
|
65
|
-
})));
|
|
66
|
-
this.addRowEnabled$ = this.values$.pipe(map(values => !!(this.maxRows === null || values.length < this.maxRows)));
|
|
67
|
-
this.dropdownItems$ = new BehaviorSubject([]);
|
|
68
|
-
}
|
|
69
|
-
set dropdownItems(value) {
|
|
70
|
-
this.dropdownItems$.next(value);
|
|
71
|
-
}
|
|
72
|
-
ngOnInit() {
|
|
73
|
-
this.values$.next(this.getInitialRows());
|
|
74
|
-
this.openValuesSubscription();
|
|
75
|
-
}
|
|
76
|
-
ngOnDestroy() {
|
|
77
|
-
this._valuesSubscription?.unsubscribe();
|
|
78
|
-
}
|
|
79
|
-
addRow() {
|
|
80
|
-
combineLatest([this.values$, this.addRowEnabled$])
|
|
81
|
-
.pipe(take(1))
|
|
82
|
-
.subscribe(([values, addRowEnabled]) => {
|
|
83
|
-
if (addRowEnabled) {
|
|
84
|
-
this.values$.next([...values, this.getEmptyValue()]);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
deleteRow(uuid) {
|
|
89
|
-
this.values$.pipe(take(1)).subscribe(values => {
|
|
90
|
-
if (values.length > this.minimumAmountOfRows) {
|
|
91
|
-
this.values$.next(values.filter(value => value.uuid !== uuid));
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
trackByFn(index, value) {
|
|
96
|
-
return value.uuid;
|
|
97
|
-
}
|
|
98
|
-
getDropdownItemsForRow(index) {
|
|
99
|
-
return combineLatest([this.dropdownItems$, this.values$]).pipe(map(([dropdownItems, values]) => {
|
|
100
|
-
const defaultValue = values[index] || this.defaultValues[index];
|
|
101
|
-
return dropdownItems.map(dropdownItem => ({
|
|
102
|
-
...dropdownItem,
|
|
103
|
-
selected: defaultValue ? dropdownItem.id === defaultValue.dropdown : false,
|
|
104
|
-
}));
|
|
105
|
-
}));
|
|
106
|
-
}
|
|
107
|
-
onValueChange(templateValue, inputValue, change) {
|
|
108
|
-
this.values$.pipe(take(1)).subscribe(values => {
|
|
109
|
-
this.values$.next(values.map(stateValue => {
|
|
110
|
-
if (stateValue.uuid === templateValue.uuid) {
|
|
111
|
-
if (change === 'value') {
|
|
112
|
-
return { ...stateValue, value: inputValue };
|
|
113
|
-
}
|
|
114
|
-
else if (change === 'key') {
|
|
115
|
-
return { ...stateValue, key: inputValue };
|
|
116
|
-
}
|
|
117
|
-
else if (change === 'dropdown') {
|
|
118
|
-
return { ...stateValue, dropdown: inputValue };
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return stateValue;
|
|
122
|
-
}));
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
getInitialRows() {
|
|
126
|
-
const minimumRows = this.minimumAmountOfRows;
|
|
127
|
-
const initialRows = this.initialAmountOfRows;
|
|
128
|
-
const amountOfInitalRows = Math.max(minimumRows, initialRows);
|
|
129
|
-
if (!this.defaultValues) {
|
|
130
|
-
return new Array(amountOfInitalRows).fill(this.getEmptyValue());
|
|
131
|
-
}
|
|
132
|
-
return this.defaultValues.map(defaultValue => ({ ...defaultValue, uuid: uuidv4() }));
|
|
133
|
-
}
|
|
134
|
-
getEmptyValue() {
|
|
135
|
-
return {
|
|
136
|
-
key: '',
|
|
137
|
-
value: '',
|
|
138
|
-
uuid: uuidv4(),
|
|
139
|
-
dropdown: '',
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
getMappedValue(valueToMap) {
|
|
143
|
-
if (this.type === 'keyValue') {
|
|
144
|
-
return { key: valueToMap.key, value: valueToMap.value };
|
|
145
|
-
}
|
|
146
|
-
else if (this.type === 'keyDropdownValue') {
|
|
147
|
-
return { key: valueToMap.key, value: valueToMap.value, dropdown: valueToMap.dropdown };
|
|
148
|
-
}
|
|
149
|
-
return valueToMap.value;
|
|
150
|
-
}
|
|
151
|
-
openValuesSubscription() {
|
|
152
|
-
this._valuesSubscription = combineLatest([this.values$, this.mappedValues$]).subscribe(([values, mappedValues]) => {
|
|
153
|
-
this.valueChange.emit(mappedValues);
|
|
154
|
-
this.allValuesValidEvent.emit(values.length === mappedValues.length);
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
CarbonMultiInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CarbonMultiInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
159
|
-
CarbonMultiInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: { name: "name", title: "title", titleTranslationKey: "titleTranslationKey", type: "type", initialAmountOfRows: "initialAmountOfRows", minimumAmountOfRows: "minimumAmountOfRows", maxRows: "maxRows", addRowText: "addRowText", addRowTranslationKey: "addRowTranslationKey", deleteRowText: "deleteRowText", deleteRowTranslationKey: "deleteRowTranslationKey", disabled: "disabled", defaultValues: "defaultValues", margin: "margin", tooltip: "tooltip", required: "required", keyColumnTitle: "keyColumnTitle", valueColumnTitle: "valueColumnTitle", dropdownColumnTitle: "dropdownColumnTitle", hideDeleteButton: "hideDeleteButton", hideAddButton: "hideAddButton", dropdownItems: "dropdownItems", dropdownWidth: "dropdownWidth", fullWidth: "fullWidth" }, outputs: { valueChange: "valueChange", allValuesValidEvent: "allValuesValidEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n addRowText:\n addRowText || addRowTranslationKey\n ? addRowTranslationKey\n ? (addRowTranslationKey | translate)\n : addRowText\n : ('interface.addRow' | translate),\n deleteRowText:\n deleteRowText || deleteRowTranslationKey\n ? deleteRowTranslationKey\n ? (deleteRowTranslationKey | translate)\n : deleteRowText\n : ('interface.deleteRow' | translate)\n } as vars\"\n [ngClass]=\"{'v-multi-input--margin': margin}\"\n class=\"v-multi-input\"\n>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n\n <div class=\"v-multi-input__rows\">\n <div\n *ngFor=\"let value of values$ | async as values; trackBy: trackByFn; index as i\"\n class=\"v-multi-input__row\"\n >\n <ng-container *ngIf=\"type === 'value'\">\n <ng-container *ngTemplateOutlet=\"singleValue; context: {value: value}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'keyValue'\">\n <ng-container\n *ngTemplateOutlet=\"keyValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'keyDropdownValue'\">\n <ng-container\n *ngTemplateOutlet=\"keyDropdownValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <button\n *ngIf=\"!hideDeleteButton\"\n cdsButton=\"danger\"\n [disabled]=\"values?.length <= this.minimumAmountOfRows || disabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"deleteRow(value.uuid)\"\n [title]=\"vars.deleteRowText\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n\n <div class=\"v-multi-input__add-button\">\n <button\n *ngIf=\"!hideAddButton\"\n cdsButton=\"primary\"\n size=\"md\"\n [disabled]=\"(addRowEnabled$ | async) === false || disabled\"\n (click)=\"addRow()\"\n >\n {{ vars.addRowText }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #singleValue let-value=\"value\">\n <div class=\"v-multi-input__input\">\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (change)=\"onValueChange(value, $event, 'value')\"\n />\n </div>\n</ng-template>\n\n<ng-template #keyValue let-value=\"value\" let-index=\"index\">\n <div class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle && valueColumnTitle\">{{\n keyColumnTitle\n }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'key')\"\n />\n </div>\n <div class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle && valueColumnTitle\">{{\n valueColumnTitle\n }}</cds-label>\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n\n<ng-template #keyDropdownValue let-value=\"value\" let-index=\"index\">\n <div [ngClass]=\"{'--full-width': fullWidth}\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'key')\"\n />\n </div>\n\n <div [style.minWidth.px]=\"dropdownWidth\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown (selected)=\"onValueChange(value, $event.item.id, 'dropdown')\">\n <cds-dropdown-list\n [items]=\"getDropdownItemsForRow(index) | async\"\n type=\"multi\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n <div [ngClass]=\"{'--full-width': fullWidth}\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.v-multi-input--margin{margin-block-end:var(--v-input-margin)}.v-multi-input__row{display:flex;flex-direction:row;align-items:flex-end;margin-block-end:var(--v-multi-input-row-spacing-block)}.v-multi-input__input{margin-inline-end:var(--v-multi-input-input-spacing-inline)}.v-multi-input__input.--full-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.InputLabelComponent, selector: "v-input-label", inputs: ["name", "title", "titleTranslationKey", "tooltip", "required", "largeMargin", "small"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CarbonMultiInputComponent, decorators: [{
|
|
161
|
-
type: Component,
|
|
162
|
-
args: [{ selector: 'valtimo-carbon-multi-input', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n addRowText:\n addRowText || addRowTranslationKey\n ? addRowTranslationKey\n ? (addRowTranslationKey | translate)\n : addRowText\n : ('interface.addRow' | translate),\n deleteRowText:\n deleteRowText || deleteRowTranslationKey\n ? deleteRowTranslationKey\n ? (deleteRowTranslationKey | translate)\n : deleteRowText\n : ('interface.deleteRow' | translate)\n } as vars\"\n [ngClass]=\"{'v-multi-input--margin': margin}\"\n class=\"v-multi-input\"\n>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n\n <div class=\"v-multi-input__rows\">\n <div\n *ngFor=\"let value of values$ | async as values; trackBy: trackByFn; index as i\"\n class=\"v-multi-input__row\"\n >\n <ng-container *ngIf=\"type === 'value'\">\n <ng-container *ngTemplateOutlet=\"singleValue; context: {value: value}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'keyValue'\">\n <ng-container\n *ngTemplateOutlet=\"keyValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'keyDropdownValue'\">\n <ng-container\n *ngTemplateOutlet=\"keyDropdownValue; context: {value: value, index: i}\"\n ></ng-container>\n </ng-container>\n\n <button\n *ngIf=\"!hideDeleteButton\"\n cdsButton=\"danger\"\n [disabled]=\"values?.length <= this.minimumAmountOfRows || disabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"deleteRow(value.uuid)\"\n [title]=\"vars.deleteRowText\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n\n <div class=\"v-multi-input__add-button\">\n <button\n *ngIf=\"!hideAddButton\"\n cdsButton=\"primary\"\n size=\"md\"\n [disabled]=\"(addRowEnabled$ | async) === false || disabled\"\n (click)=\"addRow()\"\n >\n {{ vars.addRowText }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #singleValue let-value=\"value\">\n <div class=\"v-multi-input__input\">\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (change)=\"onValueChange(value, $event, 'value')\"\n />\n </div>\n</ng-template>\n\n<ng-template #keyValue let-value=\"value\" let-index=\"index\">\n <div class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle && valueColumnTitle\">{{\n keyColumnTitle\n }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'key')\"\n />\n </div>\n <div class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle && valueColumnTitle\">{{\n valueColumnTitle\n }}</cds-label>\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n\n<ng-template #keyDropdownValue let-value=\"value\" let-index=\"index\">\n <div [ngClass]=\"{'--full-width': fullWidth}\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && keyColumnTitle\">{{ keyColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.key\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'key')\"\n />\n </div>\n\n <div [style.minWidth.px]=\"dropdownWidth\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && dropdownColumnTitle\">{{ dropdownColumnTitle }}</cds-label>\n\n <cds-dropdown (selected)=\"onValueChange(value, $event.item.id, 'dropdown')\">\n <cds-dropdown-list\n [items]=\"getDropdownItemsForRow(index) | async\"\n type=\"multi\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n <div [ngClass]=\"{'--full-width': fullWidth}\" class=\"v-multi-input__input\">\n <cds-label *ngIf=\"index === 0 && valueColumnTitle\">{{ valueColumnTitle }}</cds-label>\n\n <input\n cdsText\n [defaultValue]=\"value.value\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange(value, $event.target.value, 'value')\"\n />\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.v-multi-input--margin{margin-block-end:var(--v-input-margin)}.v-multi-input__row{display:flex;flex-direction:row;align-items:flex-end;margin-block-end:var(--v-multi-input-row-spacing-block)}.v-multi-input__input{margin-inline-end:var(--v-multi-input-input-spacing-inline)}.v-multi-input__input.--full-width{width:100%}\n"] }]
|
|
163
|
-
}], propDecorators: { name: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], title: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], titleTranslationKey: [{
|
|
168
|
-
type: Input
|
|
169
|
-
}], type: [{
|
|
170
|
-
type: Input
|
|
171
|
-
}], initialAmountOfRows: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], minimumAmountOfRows: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], maxRows: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], addRowText: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], addRowTranslationKey: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], deleteRowText: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], deleteRowTranslationKey: [{
|
|
184
|
-
type: Input
|
|
185
|
-
}], disabled: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], defaultValues: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}], margin: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], tooltip: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], required: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], keyColumnTitle: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], valueColumnTitle: [{
|
|
198
|
-
type: Input
|
|
199
|
-
}], dropdownColumnTitle: [{
|
|
200
|
-
type: Input
|
|
201
|
-
}], hideDeleteButton: [{
|
|
202
|
-
type: Input
|
|
203
|
-
}], hideAddButton: [{
|
|
204
|
-
type: Input
|
|
205
|
-
}], dropdownItems: [{
|
|
206
|
-
type: Input
|
|
207
|
-
}], dropdownWidth: [{
|
|
208
|
-
type: Input
|
|
209
|
-
}], fullWidth: [{
|
|
210
|
-
type: Input
|
|
211
|
-
}], valueChange: [{
|
|
212
|
-
type: Output
|
|
213
|
-
}], allValuesValidEvent: [{
|
|
214
|
-
type: Output
|
|
215
|
-
}] } });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyYm9uLW11bHRpLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGktaW5wdXQvY2FyYm9uLW11bHRpLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGktaW5wdXQvY2FyYm9uLW11bHRpLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFReEYsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQTJCLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLEVBQUUsSUFBSSxNQUFNLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7OztBQU9sQyxNQUFNLE9BQU8seUJBQXlCO0lBTHRDO1FBTWtCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsd0JBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLFNBQUksR0FBbUIsT0FBTyxDQUFDO1FBQy9CLHdCQUFtQixHQUFHLENBQUMsQ0FBQztRQUN4Qix3QkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDeEIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLDRCQUF1QixH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QUNFLDRCQUE0Qjs4QkFLdEIsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxtQkFBbUI7c0JBQWxDLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLG9CQUFvQjtzQkFBbkMsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLHVCQUF1QjtzQkFBdEMsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNjLGFBQWE7c0JBQWhDLEtBQUs7Z0JBR1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUVXLFdBQVc7c0JBQTNCLE1BQU07Z0JBQ1UsbUJBQW1CO3NCQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTGlzdEl0ZW1XaXRoSWQsXG4gIE11bHRpSW5wdXRLZXlWYWx1ZSxcbiAgTXVsdGlJbnB1dE91dHB1dCxcbiAgTXVsdGlJbnB1dFR5cGUsXG4gIE11bHRpSW5wdXRWYWx1ZXMsXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge3Y0IGFzIHV1aWR2NH0gZnJvbSAndXVpZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tY2FyYm9uLW11bHRpLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmJvbi1tdWx0aS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhcmJvbi1tdWx0aS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJib25NdWx0aUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwdWJsaWMgbmFtZSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgdGl0bGUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHRpdGxlVHJhbnNsYXRpb25LZXkgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHR5cGU6IE11bHRpSW5wdXRUeXBlID0gJ3ZhbHVlJztcbiAgQElucHV0KCkgcHVibGljIGluaXRpYWxBbW91bnRPZlJvd3MgPSAxO1xuICBASW5wdXQoKSBwdWJsaWMgbWluaW11bUFtb3VudE9mUm93cyA9IDE7XG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhSb3dzID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIGFkZFJvd1RleHQgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGFkZFJvd1RyYW5zbGF0aW9uS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxldGVSb3dUZXh0ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxldGVSb3dUcmFuc2xhdGlvbktleSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGRlZmF1bHRWYWx1ZXMhOiBNdWx0aUlucHV0VmFsdWVzO1xuICBASW5wdXQoKSBwdWJsaWMgbWFyZ2luID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMga2V5Q29sdW1uVGl0bGUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHZhbHVlQ29sdW1uVGl0bGUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGRyb3Bkb3duQ29sdW1uVGl0bGUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGhpZGVEZWxldGVCdXR0b24gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGhpZGVBZGRCdXR0b24gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNldCBkcm9wZG93bkl0ZW1zKHZhbHVlOiBBcnJheTxMaXN0SXRlbVdpdGhJZD4pIHtcbiAgICB0aGlzLmRyb3Bkb3duSXRlbXMkLm5leHQodmFsdWUpO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBkcm9wZG93bldpZHRoID0gMjUwO1xuICBASW5wdXQoKSBwdWJsaWMgZnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPE11bHRpSW5wdXRPdXRwdXQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIGFsbFZhbHVlc1ZhbGlkRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TXVsdGlJbnB1dFZhbHVlcz4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgbWFwcGVkVmFsdWVzJDogT2JzZXJ2YWJsZTxNdWx0aUlucHV0T3V0cHV0PiA9IHRoaXMudmFsdWVzJC5waXBlKFxuICAgIG1hcChcbiAgICAgIHZhbHVlcyA9PlxuICAgICAgICB2YWx1ZXNcbiAgICAgICAgICAubWFwKHZhbHVlID0+IHRoaXMuZ2V0TWFwcGVkVmFsdWUodmFsdWUpKVxuICAgICAgICAgIC5maWx0ZXIodmFsdWUgPT4ge1xuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSAndmFsdWUnOlxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgICAgY2FzZSAna2V5VmFsdWUnOlxuICAgICAgICAgICAgICAgIHJldHVybiAodmFsdWUgYXMgTXVsdGlJbnB1dEtleVZhbHVlKS52YWx1ZSAmJiAodmFsdWUgYXMgTXVsdGlJbnB1dEtleVZhbHVlKS5rZXk7XG4gICAgICAgICAgICAgIGNhc2UgJ2tleURyb3Bkb3duVmFsdWUnOlxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAodmFsdWUgYXMgTXVsdGlJbnB1dEtleVZhbHVlKS52YWx1ZSAmJlxuICAgICAgICAgICAgICAgICAgKHZhbHVlIGFzIE11bHRpSW5wdXRLZXlWYWx1ZSkua2V5ICYmXG4gICAgICAgICAgICAgICAgICAodmFsdWUgYXMgTXVsdGlJbnB1dEtleVZhbHVlKS5kcm9wZG93blxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgYXMgTXVsdGlJbnB1dE91dHB1dFxuICAgIClcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IGFkZFJvd0VuYWJsZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy52YWx1ZXMkLnBpcGUoXG4gICAgbWFwKHZhbHVlcyA9PiAhISh0aGlzLm1heFJvd3MgPT09IG51bGwgfHwgdmFsdWVzLmxlbmd0aCA8IHRoaXMubWF4Um93cykpXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRyb3Bkb3duSXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxMaXN0SXRlbVdpdGhJZD4+KFtdKTtcblxuICBwcml2YXRlIF92YWx1ZXNTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVzJC5uZXh0KHRoaXMuZ2V0SW5pdGlhbFJvd3MoKSk7XG4gICAgdGhpcy5vcGVuVmFsdWVzU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWVzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGFkZFJvdygpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnZhbHVlcyQsIHRoaXMuYWRkUm93RW5hYmxlZCRdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKFt2YWx1ZXMsIGFkZFJvd0VuYWJsZWRdKSA9PiB7XG4gICAgICAgIGlmIChhZGRSb3dFbmFibGVkKSB7XG4gICAgICAgICAgdGhpcy52YWx1ZXMkLm5leHQoWy4uLnZhbHVlcywgdGhpcy5nZXRFbXB0eVZhbHVlKCldKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlUm93KHV1aWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSh2YWx1ZXMgPT4ge1xuICAgICAgaWYgKHZhbHVlcy5sZW5ndGggPiB0aGlzLm1pbmltdW1BbW91bnRPZlJvd3MpIHtcbiAgICAgICAgdGhpcy52YWx1ZXMkLm5leHQodmFsdWVzLmZpbHRlcih2YWx1ZSA9PiB2YWx1ZS51dWlkICE9PSB1dWlkKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIHZhbHVlOiBNdWx0aUlucHV0S2V5VmFsdWUpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZS51dWlkIGFzIHN0cmluZztcbiAgfVxuXG4gIHB1YmxpYyBnZXREcm9wZG93bkl0ZW1zRm9yUm93KGluZGV4OiBudW1iZXIpOiBPYnNlcnZhYmxlPEFycmF5PExpc3RJdGVtV2l0aElkPj4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLmRyb3Bkb3duSXRlbXMkLCB0aGlzLnZhbHVlcyRdKS5waXBlKFxuICAgICAgbWFwKChbZHJvcGRvd25JdGVtcywgdmFsdWVzXSkgPT4ge1xuICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB2YWx1ZXNbaW5kZXhdIHx8IHRoaXMuZGVmYXVsdFZhbHVlc1tpbmRleF07XG5cbiAgICAgICAgcmV0dXJuIGRyb3Bkb3duSXRlbXMubWFwKGRyb3Bkb3duSXRlbSA9PiAoe1xuICAgICAgICAgIC4uLmRyb3Bkb3duSXRlbSxcbiAgICAgICAgICBzZWxlY3RlZDogZGVmYXVsdFZhbHVlID8gZHJvcGRvd25JdGVtLmlkID09PSBkZWZhdWx0VmFsdWUuZHJvcGRvd24gOiBmYWxzZSxcbiAgICAgICAgfSkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uVmFsdWVDaGFuZ2UoXG4gICAgdGVtcGxhdGVWYWx1ZTogTXVsdGlJbnB1dEtleVZhbHVlLFxuICAgIGlucHV0VmFsdWU6IHN0cmluZyxcbiAgICBjaGFuZ2U6ICdrZXknIHwgJ3ZhbHVlJyB8ICdkcm9wZG93bidcbiAgKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZXMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHZhbHVlcyA9PiB7XG4gICAgICB0aGlzLnZhbHVlcyQubmV4dChcbiAgICAgICAgdmFsdWVzLm1hcChzdGF0ZVZhbHVlID0+IHtcbiAgICAgICAgICBpZiAoc3RhdGVWYWx1ZS51dWlkID09PSB0ZW1wbGF0ZVZhbHVlLnV1aWQpIHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2UgPT09ICd2YWx1ZScpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZVZhbHVlLCB2YWx1ZTogaW5wdXRWYWx1ZX07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZSA9PT0gJ2tleScpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZVZhbHVlLCBrZXk6IGlucHV0VmFsdWV9O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2UgPT09ICdkcm9wZG93bicpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZVZhbHVlLCBkcm9wZG93bjogaW5wdXRWYWx1ZX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdGF0ZVZhbHVlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5pdGlhbFJvd3MoKTogTXVsdGlJbnB1dFZhbHVlcyB7XG4gICAgY29uc3QgbWluaW11bVJvd3MgPSB0aGlzLm1pbmltdW1BbW91bnRPZlJvd3M7XG4gICAgY29uc3QgaW5pdGlhbFJvd3MgPSB0aGlzLmluaXRpYWxBbW91bnRPZlJvd3M7XG4gICAgY29uc3QgYW1vdW50T2ZJbml0YWxSb3dzID0gTWF0aC5tYXgobWluaW11bVJvd3MsIGluaXRpYWxSb3dzKTtcblxuICAgIGlmICghdGhpcy5kZWZhdWx0VmFsdWVzKSB7XG4gICAgICByZXR1cm4gbmV3IEFycmF5KGFtb3VudE9mSW5pdGFsUm93cykuZmlsbCh0aGlzLmdldEVtcHR5VmFsdWUoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlcy5tYXAoZGVmYXVsdFZhbHVlID0+ICh7Li4uZGVmYXVsdFZhbHVlLCB1dWlkOiB1dWlkdjQoKX0pKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RW1wdHlWYWx1ZSgpOiBNdWx0aUlucHV0S2V5VmFsdWUge1xuICAgIHJldHVybiB7XG4gICAgICBrZXk6ICcnLFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgdXVpZDogdXVpZHY0KCksXG4gICAgICBkcm9wZG93bjogJycsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWFwcGVkVmFsdWUodmFsdWVUb01hcDogTXVsdGlJbnB1dEtleVZhbHVlKTogTXVsdGlJbnB1dEtleVZhbHVlIHwgc3RyaW5nIHtcbiAgICBpZiAodGhpcy50eXBlID09PSAna2V5VmFsdWUnKSB7XG4gICAgICByZXR1cm4ge2tleTogdmFsdWVUb01hcC5rZXksIHZhbHVlOiB2YWx1ZVRvTWFwLnZhbHVlfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ2tleURyb3Bkb3duVmFsdWUnKSB7XG4gICAgICByZXR1cm4ge2tleTogdmFsdWVUb01hcC5rZXksIHZhbHVlOiB2YWx1ZVRvTWFwLnZhbHVlLCBkcm9wZG93bjogdmFsdWVUb01hcC5kcm9wZG93bn07XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlVG9NYXAudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIG9wZW5WYWx1ZXNTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWVzU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbdGhpcy52YWx1ZXMkLCB0aGlzLm1hcHBlZFZhbHVlcyRdKS5zdWJzY3JpYmUoXG4gICAgICAoW3ZhbHVlcywgbWFwcGVkVmFsdWVzXSkgPT4ge1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobWFwcGVkVmFsdWVzKTtcbiAgICAgICAgdGhpcy5hbGxWYWx1ZXNWYWxpZEV2ZW50LmVtaXQodmFsdWVzLmxlbmd0aCA9PT0gbWFwcGVkVmFsdWVzLmxlbmd0aCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2XG4gICpuZ0lmPVwie1xuICAgIGFkZFJvd1RleHQ6XG4gICAgICBhZGRSb3dUZXh0IHx8IGFkZFJvd1RyYW5zbGF0aW9uS2V5XG4gICAgICAgID8gYWRkUm93VHJhbnNsYXRpb25LZXlcbiAgICAgICAgICA/IChhZGRSb3dUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICA6IGFkZFJvd1RleHRcbiAgICAgICAgOiAoJ2ludGVyZmFjZS5hZGRSb3cnIHwgdHJhbnNsYXRlKSxcbiAgICBkZWxldGVSb3dUZXh0OlxuICAgICAgZGVsZXRlUm93VGV4dCB8fCBkZWxldGVSb3dUcmFuc2xhdGlvbktleVxuICAgICAgICA/IGRlbGV0ZVJvd1RyYW5zbGF0aW9uS2V5XG4gICAgICAgICAgPyAoZGVsZXRlUm93VHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgOiBkZWxldGVSb3dUZXh0XG4gICAgICAgIDogKCdpbnRlcmZhY2UuZGVsZXRlUm93JyB8IHRyYW5zbGF0ZSlcbiAgfSBhcyB2YXJzXCJcbiAgW25nQ2xhc3NdPVwieyd2LW11bHRpLWlucHV0LS1tYXJnaW4nOiBtYXJnaW59XCJcbiAgY2xhc3M9XCJ2LW11bHRpLWlucHV0XCJcbj5cbiAgPHYtaW5wdXQtbGFiZWxcbiAgICAqbmdJZj1cInRpdGxlIHx8IHRpdGxlVHJhbnNsYXRpb25LZXlcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW3RpdGxlVHJhbnNsYXRpb25LZXldPVwidGl0bGVUcmFuc2xhdGlvbktleVwiXG4gICAgW3RpdGxlXT1cInRpdGxlXCJcbiAgICBbdG9vbHRpcF09XCJ0b29sdGlwXCJcbiAgPlxuICA8L3YtaW5wdXQtbGFiZWw+XG5cbiAgPGRpdiBjbGFzcz1cInYtbXVsdGktaW5wdXRfX3Jvd3NcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgdmFsdWVzJCB8IGFzeW5jIGFzIHZhbHVlczsgdHJhY2tCeTogdHJhY2tCeUZuOyBpbmRleCBhcyBpXCJcbiAgICAgIGNsYXNzPVwidi1tdWx0aS1pbnB1dF9fcm93XCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ3ZhbHVlJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2luZ2xlVmFsdWU7IGNvbnRleHQ6IHt2YWx1ZTogdmFsdWV9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICdrZXlWYWx1ZSdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwia2V5VmFsdWU7IGNvbnRleHQ6IHt2YWx1ZTogdmFsdWUsIGluZGV4OiBpfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ2tleURyb3Bkb3duVmFsdWUnXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImtleURyb3Bkb3duVmFsdWU7IGNvbnRleHQ6IHt2YWx1ZTogdmFsdWUsIGluZGV4OiBpfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIWhpZGVEZWxldGVCdXR0b25cIlxuICAgICAgICBjZHNCdXR0b249XCJkYW5nZXJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwidmFsdWVzPy5sZW5ndGggPD0gdGhpcy5taW5pbXVtQW1vdW50T2ZSb3dzIHx8IGRpc2FibGVkXCJcbiAgICAgICAgW2ljb25Pbmx5XT1cInRydWVcIlxuICAgICAgICBzaXplPVwibWRcIlxuICAgICAgICAoY2xpY2spPVwiZGVsZXRlUm93KHZhbHVlLnV1aWQpXCJcbiAgICAgICAgW3RpdGxlXT1cInZhcnMuZGVsZXRlUm93VGV4dFwiXG4gICAgICA+XG4gICAgICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJ0cmFzaC1jYW5cIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInYtbXVsdGktaW5wdXRfX2FkZC1idXR0b25cIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCIhaGlkZUFkZEJ1dHRvblwiXG4gICAgICAgIGNkc0J1dHRvbj1cInByaW1hcnlcIlxuICAgICAgICBzaXplPVwibWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiKGFkZFJvd0VuYWJsZWQkIHwgYXN5bmMpID09PSBmYWxzZSB8fCBkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJhZGRSb3coKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHZhcnMuYWRkUm93VGV4dCB9fVxuXG4gICAgICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJhZGRcIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NpbmdsZVZhbHVlIGxldC12YWx1ZT1cInZhbHVlXCI+XG4gIDxkaXYgY2xhc3M9XCJ2LW11bHRpLWlucHV0X19pbnB1dFwiPlxuICAgIDxpbnB1dFxuICAgICAgY2RzVGV4dFxuICAgICAgW2RlZmF1bHRWYWx1ZV09XCJ2YWx1ZS52YWx1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKHZhbHVlLCAkZXZlbnQsICd2YWx1ZScpXCJcbiAgICAvPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAja2V5VmFsdWUgbGV0LXZhbHVlPVwidmFsdWVcIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICA8ZGl2IGNsYXNzPVwidi1tdWx0aS1pbnB1dF9faW5wdXRcIj5cbiAgICA8Y2RzLWxhYmVsICpuZ0lmPVwiaW5kZXggPT09IDAgJiYga2V5Q29sdW1uVGl0bGUgJiYgdmFsdWVDb2x1bW5UaXRsZVwiPnt7XG4gICAgICBrZXlDb2x1bW5UaXRsZVxuICAgIH19PC9jZHMtbGFiZWw+XG5cbiAgICA8aW5wdXRcbiAgICAgIGNkc1RleHRcbiAgICAgIFtkZWZhdWx0VmFsdWVdPVwidmFsdWUua2V5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAoaW5wdXQpPVwib25WYWx1ZUNoYW5nZSh2YWx1ZSwgJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2tleScpXCJcbiAgICAvPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInYtbXVsdGktaW5wdXRfX2lucHV0XCI+XG4gICAgPGNkcy1sYWJlbCAqbmdJZj1cImluZGV4ID09PSAwICYmIGtleUNvbHVtblRpdGxlICYmIHZhbHVlQ29sdW1uVGl0bGVcIj57e1xuICAgICAgdmFsdWVDb2x1bW5UaXRsZVxuICAgIH19PC9jZHMtbGFiZWw+XG4gICAgPGlucHV0XG4gICAgICBjZHNUZXh0XG4gICAgICBbZGVmYXVsdFZhbHVlXT1cInZhbHVlLnZhbHVlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAoaW5wdXQpPVwib25WYWx1ZUNoYW5nZSh2YWx1ZSwgJGV2ZW50LnRhcmdldC52YWx1ZSwgJ3ZhbHVlJylcIlxuICAgIC8+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNrZXlEcm9wZG93blZhbHVlIGxldC12YWx1ZT1cInZhbHVlXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7Jy0tZnVsbC13aWR0aCc6IGZ1bGxXaWR0aH1cIiBjbGFzcz1cInYtbXVsdGktaW5wdXRfX2lucHV0XCI+XG4gICAgPGNkcy1sYWJlbCAqbmdJZj1cImluZGV4ID09PSAwICYmIGtleUNvbHVtblRpdGxlXCI+e3sga2V5Q29sdW1uVGl0bGUgfX08L2Nkcy1sYWJlbD5cblxuICAgIDxpbnB1dFxuICAgICAgY2RzVGV4dFxuICAgICAgW2RlZmF1bHRWYWx1ZV09XCJ2YWx1ZS5rZXlcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChpbnB1dCk9XCJvblZhbHVlQ2hhbmdlKHZhbHVlLCAkZXZlbnQudGFyZ2V0LnZhbHVlLCAna2V5JylcIlxuICAgIC8+XG4gIDwvZGl2PlxuXG4gIDxkaXYgW3N0eWxlLm1pbldpZHRoLnB4XT1cImRyb3Bkb3duV2lkdGhcIiBjbGFzcz1cInYtbXVsdGktaW5wdXRfX2lucHV0XCI+XG4gICAgPGNkcy1sYWJlbCAqbmdJZj1cImluZGV4ID09PSAwICYmIGRyb3Bkb3duQ29sdW1uVGl0bGVcIj57eyBkcm9wZG93bkNvbHVtblRpdGxlIH19PC9jZHMtbGFiZWw+XG5cbiAgICA8Y2RzLWRyb3Bkb3duIChzZWxlY3RlZCk9XCJvblZhbHVlQ2hhbmdlKHZhbHVlLCAkZXZlbnQuaXRlbS5pZCwgJ2Ryb3Bkb3duJylcIj5cbiAgICAgIDxjZHMtZHJvcGRvd24tbGlzdFxuICAgICAgICBbaXRlbXNdPVwiZ2V0RHJvcGRvd25JdGVtc0ZvclJvdyhpbmRleCkgfCBhc3luY1wiXG4gICAgICAgIHR5cGU9XCJtdWx0aVwiXG4gICAgICA+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICA8L2Nkcy1kcm9wZG93bj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBbbmdDbGFzc109XCJ7Jy0tZnVsbC13aWR0aCc6IGZ1bGxXaWR0aH1cIiBjbGFzcz1cInYtbXVsdGktaW5wdXRfX2lucHV0XCI+XG4gICAgPGNkcy1sYWJlbCAqbmdJZj1cImluZGV4ID09PSAwICYmIHZhbHVlQ29sdW1uVGl0bGVcIj57eyB2YWx1ZUNvbHVtblRpdGxlIH19PC9jZHMtbGFiZWw+XG5cbiAgICA8aW5wdXRcbiAgICAgIGNkc1RleHRcbiAgICAgIFtkZWZhdWx0VmFsdWVdPVwidmFsdWUudmFsdWVcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChpbnB1dCk9XCJvblZhbHVlQ2hhbmdlKHZhbHVlLCAkZXZlbnQudGFyZ2V0LnZhbHVlLCAndmFsdWUnKVwiXG4gICAgLz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { NgModule } from '@angular/core';
|
|
17
|
-
import { CommonModule } from '@angular/common';
|
|
18
|
-
import { CarbonMultiInputComponent } from './carbon-multi-input.component';
|
|
19
|
-
import { ButtonModule, InputLabelModule, InputModule } from '@valtimo/user-interface';
|
|
20
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
21
|
-
import { ButtonModule as CarbonButtonModule, DropdownModule, IconModule, InputModule as CarbonInputModule, } from 'carbon-components-angular';
|
|
22
|
-
import * as i0 from "@angular/core";
|
|
23
|
-
export class CarbonMultiInputModule {
|
|
24
|
-
}
|
|
25
|
-
CarbonMultiInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CarbonMultiInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
26
|
-
CarbonMultiInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: CarbonMultiInputModule, declarations: [CarbonMultiInputComponent], imports: [CommonModule,
|
|
27
|
-
InputLabelModule,
|
|
28
|
-
InputModule,
|
|
29
|
-
ButtonModule,
|
|
30
|
-
TranslateModule,
|
|
31
|
-
CarbonButtonModule,
|
|
32
|
-
IconModule,
|
|
33
|
-
CarbonInputModule,
|
|
34
|
-
DropdownModule], exports: [CarbonMultiInputComponent] });
|
|
35
|
-
CarbonMultiInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CarbonMultiInputModule, imports: [CommonModule,
|
|
36
|
-
InputLabelModule,
|
|
37
|
-
InputModule,
|
|
38
|
-
ButtonModule,
|
|
39
|
-
TranslateModule,
|
|
40
|
-
CarbonButtonModule,
|
|
41
|
-
IconModule,
|
|
42
|
-
CarbonInputModule,
|
|
43
|
-
DropdownModule] });
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CarbonMultiInputModule, decorators: [{
|
|
45
|
-
type: NgModule,
|
|
46
|
-
args: [{
|
|
47
|
-
declarations: [CarbonMultiInputComponent],
|
|
48
|
-
imports: [
|
|
49
|
-
CommonModule,
|
|
50
|
-
InputLabelModule,
|
|
51
|
-
InputModule,
|
|
52
|
-
ButtonModule,
|
|
53
|
-
TranslateModule,
|
|
54
|
-
CarbonButtonModule,
|
|
55
|
-
IconModule,
|
|
56
|
-
CarbonInputModule,
|
|
57
|
-
DropdownModule,
|
|
58
|
-
],
|
|
59
|
-
exports: [CarbonMultiInputComponent],
|
|
60
|
-
}]
|
|
61
|
-
}] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyYm9uLW11bHRpLWlucHV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGktaW5wdXQvY2FyYm9uLW11bHRpLWlucHV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxZQUFZLElBQUksa0JBQWtCLEVBQ2xDLGNBQWMsRUFDZCxVQUFVLEVBQ1YsV0FBVyxJQUFJLGlCQUFpQixHQUNqQyxNQUFNLDJCQUEyQixDQUFDOztBQWlCbkMsTUFBTSxPQUFPLHNCQUFzQjs7bUhBQXRCLHNCQUFzQjtvSEFBdEIsc0JBQXNCLGlCQWRsQix5QkFBeUIsYUFFdEMsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsWUFBWTtRQUNaLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixjQUFjLGFBRU4seUJBQXlCO29IQUV4QixzQkFBc0IsWUFaL0IsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsWUFBWTtRQUNaLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixjQUFjOzJGQUlMLHNCQUFzQjtrQkFmbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLFVBQVU7d0JBQ1YsaUJBQWlCO3dCQUNqQixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NhcmJvbk11bHRpSW5wdXRDb21wb25lbnR9IGZyb20gJy4vY2FyYm9uLW11bHRpLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0J1dHRvbk1vZHVsZSwgSW5wdXRMYWJlbE1vZHVsZSwgSW5wdXRNb2R1bGV9IGZyb20gJ0B2YWx0aW1vL3VzZXItaW50ZXJmYWNlJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSBhcyBDYXJib25CdXR0b25Nb2R1bGUsXG4gIERyb3Bkb3duTW9kdWxlLFxuICBJY29uTW9kdWxlLFxuICBJbnB1dE1vZHVsZSBhcyBDYXJib25JbnB1dE1vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0NhcmJvbk11bHRpSW5wdXRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElucHV0TGFiZWxNb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBDYXJib25CdXR0b25Nb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBDYXJib25JbnB1dE1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW0NhcmJvbk11bHRpSW5wdXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJib25NdWx0aUlucHV0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, ViewChild, ViewContainerRef, ViewEncapsulation, } from '@angular/core';
|
|
17
|
-
import { BehaviorSubject, combineLatest, startWith, Subscription, switchMap } from 'rxjs';
|
|
18
|
-
import { map } from 'rxjs/operators';
|
|
19
|
-
import * as i0 from "@angular/core";
|
|
20
|
-
import * as i1 from "@angular/router";
|
|
21
|
-
import * as i2 from "@angular/platform-browser";
|
|
22
|
-
import * as i3 from "@ngx-translate/core";
|
|
23
|
-
import * as i4 from "ngx-logger";
|
|
24
|
-
import * as i5 from "@valtimo/config";
|
|
25
|
-
import * as i6 from "./page-title.service";
|
|
26
|
-
import * as i7 from "@angular/common";
|
|
27
|
-
import * as i8 from "carbon-components-angular";
|
|
28
|
-
export class PageTitleComponent {
|
|
29
|
-
constructor(router, activatedRoute, titleService, translateService, logger, configService, pageTitleService) {
|
|
30
|
-
this.router = router;
|
|
31
|
-
this.activatedRoute = activatedRoute;
|
|
32
|
-
this.titleService = titleService;
|
|
33
|
-
this.translateService = translateService;
|
|
34
|
-
this.logger = logger;
|
|
35
|
-
this.configService = configService;
|
|
36
|
-
this.pageTitleService = pageTitleService;
|
|
37
|
-
this.hidePageTitle = false;
|
|
38
|
-
this.appTitle = this.configService?.config?.applicationTitle || 'Valtimo';
|
|
39
|
-
this.hasCustomPageTitle$ = this.router.events.pipe(startWith(this.router), switchMap(() => this.activatedRoute.firstChild.data), map(data => !!data?.customPageTitle));
|
|
40
|
-
this.hasCustomPageSubtitle$ = this.router.events.pipe(startWith(this.router), switchMap(() => this.activatedRoute.firstChild.data), map(data => !!data?.customPageSubtitle));
|
|
41
|
-
this.customPageTitle$ = this.pageTitleService.customPageTitle$;
|
|
42
|
-
this.customPageTitleSet$ = this.pageTitleService.customPageTitleSet$;
|
|
43
|
-
this.customPageSubtitle$ = this.pageTitleService.customPageSubtitle$;
|
|
44
|
-
this.customPageSubtitleSet$ = this.pageTitleService.customPageSubtitleSet$;
|
|
45
|
-
this.hasPageActions$ = this.pageTitleService.hasPageActions$;
|
|
46
|
-
this.translatedTitle$ = new BehaviorSubject('');
|
|
47
|
-
this.appTitleAsSuffix = this.configService?.config?.featureToggles?.applicationTitleAsSuffix || false;
|
|
48
|
-
this._subscriptions = new Subscription();
|
|
49
|
-
this._hidePageTitle$ = this.router.events.pipe(startWith(this.router), switchMap(() => this.activatedRoute.firstChild.data), map(data => !!data?.hidePageTitle));
|
|
50
|
-
}
|
|
51
|
-
ngOnInit() {
|
|
52
|
-
this.openRouterTranslateSubscription();
|
|
53
|
-
this.openHidePageTitleSubscription();
|
|
54
|
-
}
|
|
55
|
-
ngAfterViewInit() {
|
|
56
|
-
this.pageTitleService.setPageActionsViewContainerRef(this._pageActionsVcr);
|
|
57
|
-
}
|
|
58
|
-
ngOnDestroy() {
|
|
59
|
-
this._subscriptions.unsubscribe();
|
|
60
|
-
}
|
|
61
|
-
openRouterTranslateSubscription() {
|
|
62
|
-
this._subscriptions.add(combineLatest([this.router.events, this.translateService.stream('key')]).subscribe(() => {
|
|
63
|
-
const routeTitle = this.activatedRoute?.snapshot?.firstChild?.data?.title ||
|
|
64
|
-
this.activatedRoute?.snapshot?.firstChild?.children[0]?.data?.title;
|
|
65
|
-
const routeTitleTranslation = this.translateService.instant(routeTitle);
|
|
66
|
-
const routeTitlePageTranslationString = `pages.${routeTitle.toLowerCase()}.title`;
|
|
67
|
-
const routeTitlePageTranslation = this.translateService.instant(routeTitlePageTranslationString);
|
|
68
|
-
const translatedRouteTitle = routeTitle &&
|
|
69
|
-
((routeTitlePageTranslation !== routeTitlePageTranslationString
|
|
70
|
-
? routeTitlePageTranslation
|
|
71
|
-
: '') ||
|
|
72
|
-
(routeTitle !== routeTitleTranslation ? routeTitleTranslation : '') ||
|
|
73
|
-
routeTitle);
|
|
74
|
-
if (translatedRouteTitle) {
|
|
75
|
-
this.logger.debug('PageTitle: setTitle translated async', translatedRouteTitle);
|
|
76
|
-
this.translatedTitle$.next(translatedRouteTitle);
|
|
77
|
-
if (this.appTitleAsSuffix) {
|
|
78
|
-
this.titleService.setTitle(translatedRouteTitle + ' - ' + this.appTitle);
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
this.titleService.setTitle(this.appTitle + ' - ' + translatedRouteTitle);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
this.logger.debug('PageTitle: setTitle default', this.appTitle);
|
|
86
|
-
this.translatedTitle$.next('');
|
|
87
|
-
this.titleService.setTitle(this.appTitle);
|
|
88
|
-
}
|
|
89
|
-
}));
|
|
90
|
-
}
|
|
91
|
-
openHidePageTitleSubscription() {
|
|
92
|
-
this._subscriptions.add(this._hidePageTitle$.subscribe(hidePageTitle => {
|
|
93
|
-
this.hidePageTitle = hidePageTitle;
|
|
94
|
-
}));
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
PageTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.Title }, { token: i3.TranslateService }, { token: i4.NGXLogger }, { token: i5.ConfigService }, { token: i6.PageTitleService }], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
-
PageTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PageTitleComponent, selector: "valtimo-page-title", viewQueries: [{ propertyName: "_pageActionsVcr", first: true, predicate: ["pageActionsVcr"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div [ngClass]=\"{'--no-margin': hidePageTitle}\" class=\"page-title-container\">\n <ng-container\n *ngIf=\"\n hidePageTitle === false && {\n title: translatedTitle$ | async,\n hasCustomPageTitle: hasCustomPageTitle$ | async,\n hasCustomPageSubtitle: hasCustomPageSubtitle$ | async,\n customPageTitle: customPageTitle$ | async,\n customPageTitleSet: customPageTitleSet$ | async,\n customPageSubtitle: customPageSubtitle$ | async,\n customPageSubtitleSet: customPageSubtitleSet$ | async\n } as obs\n \"\n >\n <div class=\"skeleton-container\" *ngIf=\"obs.hasCustomPageTitle && !obs.customPageTitleSet\">\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <h2\n *ngIf=\"obs.hasCustomPageTitle ? obs.customPageTitleSet : obs.title !== ''\"\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"page-title\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </h2>\n\n <div\n *ngIf=\"obs.hasCustomPageSubtitle && !obs.customPageSubtitleSet\"\n class=\"subtitle-skeleton-container\"\n >\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <span\n *ngIf=\"obs.hasCustomPageSubtitle && obs.customPageSubtitleSet\"\n [innerHtml]=\"obs.customPageSubtitle\"\n [title]=\"obs.customPageSubtitle\"\n class=\"page-subtitle\"\n >\n </span>\n </ng-container>\n\n <div [ngClass]=\"{'--visible': hasPageActions$ | async}\" class=\"page-actions\">\n <ng-container #pageActionsVcr></ng-container>\n </div>\n</div>\n", styles: [".page-title-container{margin-bottom:32px;display:flex;flex-direction:row;align-items:flex-end}.page-title-container.--no-margin{margin-bottom:0}.page-title-container .page-title{font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title-container .page-subtitle{margin-left:16px;padding-bottom:4px;color:var(--cds-text-helper, #6f6f6f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:18px}.page-title-container .page-subtitle b{font-weight:bolder}.page-title-container .skeleton-container .cds--skeleton__placeholder{width:200px;height:40px}.page-title-container .subtitle-skeleton-container .cds--skeleton__placeholder{height:18px;margin-bottom:8px;width:200px;margin-left:16px}.page-title-container .page-actions.--visible{margin-left:auto;padding-left:32px}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.SkeletonPlaceholder, selector: "cds-skeleton-placeholder, ibm-skeleton-placeholder" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PageTitleComponent, decorators: [{
|
|
100
|
-
type: Component,
|
|
101
|
-
args: [{ selector: 'valtimo-page-title', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div [ngClass]=\"{'--no-margin': hidePageTitle}\" class=\"page-title-container\">\n <ng-container\n *ngIf=\"\n hidePageTitle === false && {\n title: translatedTitle$ | async,\n hasCustomPageTitle: hasCustomPageTitle$ | async,\n hasCustomPageSubtitle: hasCustomPageSubtitle$ | async,\n customPageTitle: customPageTitle$ | async,\n customPageTitleSet: customPageTitleSet$ | async,\n customPageSubtitle: customPageSubtitle$ | async,\n customPageSubtitleSet: customPageSubtitleSet$ | async\n } as obs\n \"\n >\n <div class=\"skeleton-container\" *ngIf=\"obs.hasCustomPageTitle && !obs.customPageTitleSet\">\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <h2\n *ngIf=\"obs.hasCustomPageTitle ? obs.customPageTitleSet : obs.title !== ''\"\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"page-title\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </h2>\n\n <div\n *ngIf=\"obs.hasCustomPageSubtitle && !obs.customPageSubtitleSet\"\n class=\"subtitle-skeleton-container\"\n >\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <span\n *ngIf=\"obs.hasCustomPageSubtitle && obs.customPageSubtitleSet\"\n [innerHtml]=\"obs.customPageSubtitle\"\n [title]=\"obs.customPageSubtitle\"\n class=\"page-subtitle\"\n >\n </span>\n </ng-container>\n\n <div [ngClass]=\"{'--visible': hasPageActions$ | async}\" class=\"page-actions\">\n <ng-container #pageActionsVcr></ng-container>\n </div>\n</div>\n", styles: [".page-title-container{margin-bottom:32px;display:flex;flex-direction:row;align-items:flex-end}.page-title-container.--no-margin{margin-bottom:0}.page-title-container .page-title{font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title-container .page-subtitle{margin-left:16px;padding-bottom:4px;color:var(--cds-text-helper, #6f6f6f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:18px}.page-title-container .page-subtitle b{font-weight:bolder}.page-title-container .skeleton-container .cds--skeleton__placeholder{width:200px;height:40px}.page-title-container .subtitle-skeleton-container .cds--skeleton__placeholder{height:18px;margin-bottom:8px;width:200px;margin-left:16px}.page-title-container .page-actions.--visible{margin-left:auto;padding-left:32px}\n"] }]
|
|
102
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.Title }, { type: i3.TranslateService }, { type: i4.NGXLogger }, { type: i5.ConfigService }, { type: i6.PageTitleService }]; }, propDecorators: { _pageActionsVcr: [{
|
|
103
|
-
type: ViewChild,
|
|
104
|
-
args: ['pageActionsVcr', { static: true, read: ViewContainerRef }]
|
|
105
|
-
}] } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFFTCxTQUFTLEVBR1QsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWMsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFJcEcsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBU25DLE1BQU0sT0FBTyxrQkFBa0I7SUE4QjdCLFlBQ21CLE1BQWMsRUFDZCxjQUE4QixFQUM5QixZQUFtQixFQUNuQixnQkFBa0MsRUFDbEMsTUFBaUIsRUFDakIsYUFBNEIsRUFDNUIsZ0JBQWtDO1FBTmxDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQU87UUFDbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFsQzlDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ2IsYUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixJQUFJLFNBQVMsQ0FBQztRQUNyRSx3QkFBbUIsR0FBd0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNoRixTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUN0QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQ3BELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQ3JDLENBQUM7UUFDYywyQkFBc0IsR0FBd0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNuRixTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUN0QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQ3BELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FDeEMsQ0FBQztRQUNjLHFCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUMxRCx3QkFBbUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUM7UUFDaEUsd0JBQW1CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDO1FBQ2hFLDJCQUFzQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQztRQUN0RSxvQkFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7UUFDeEQscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDM0QscUJBQWdCLEdBQ3RCLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsSUFBSSxLQUFLLENBQUM7UUFDL0QsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BDLG9CQUFlLEdBQXdCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDN0UsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDdEIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUNwRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUNuQyxDQUFDO0lBVUMsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU8sK0JBQStCO1FBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RGLE1BQU0sVUFBVSxHQUNkLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSztnQkFDdEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1lBQ3RFLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN4RSxNQUFNLCtCQUErQixHQUFHLFNBQVMsVUFBVSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUM7WUFDbEYsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUM3RCwrQkFBK0IsQ0FDaEMsQ0FBQztZQUNGLE1BQU0sb0JBQW9CLEdBQ3hCLFVBQVU7Z0JBQ1YsQ0FBQyxDQUFDLHlCQUF5QixLQUFLLCtCQUErQjtvQkFDN0QsQ0FBQyxDQUFDLHlCQUF5QjtvQkFDM0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDTCxDQUFDLFVBQVUsS0FBSyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDbkUsVUFBVSxDQUFDLENBQUM7WUFFaEIsSUFBSSxvQkFBb0IsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0NBQXNDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztnQkFDaEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDMUU7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLEdBQUcsb0JBQW9CLENBQUMsQ0FBQztpQkFDMUU7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUMzQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sNkJBQTZCO1FBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7K0dBL0ZVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHdKQUNxQixnQkFBZ0IsMkNDekNwRSw2dkVBOERBOzJGRHRCYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0Usb0JBQW9CLGlCQUdmLGlCQUFpQixDQUFDLElBQUk7Z1FBSXBCLGVBQWU7c0JBRC9CLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtOR1hMb2dnZXJ9IGZyb20gJ25neC1sb2dnZXInO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UGFnZVRpdGxlU2VydmljZX0gZnJvbSAnLi9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXBhZ2UtdGl0bGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2UtdGl0bGUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnZVRpdGxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCdwYWdlQWN0aW9uc1ZjcicsIHtzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWZ9KVxuICBwcml2YXRlIHJlYWRvbmx5IF9wYWdlQWN0aW9uc1ZjciE6IFZpZXdDb250YWluZXJSZWY7XG4gIHB1YmxpYyBoaWRlUGFnZVRpdGxlID0gZmFsc2U7XG4gIHB1YmxpYyByZWFkb25seSBhcHBUaXRsZSA9IHRoaXMuY29uZmlnU2VydmljZT8uY29uZmlnPy5hcHBsaWNhdGlvblRpdGxlIHx8ICdWYWx0aW1vJztcbiAgcHVibGljIHJlYWRvbmx5IGhhc0N1c3RvbVBhZ2VUaXRsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICBzdGFydFdpdGgodGhpcy5yb3V0ZXIpLFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmFjdGl2YXRlZFJvdXRlLmZpcnN0Q2hpbGQuZGF0YSksXG4gICAgbWFwKGRhdGEgPT4gISFkYXRhPy5jdXN0b21QYWdlVGl0bGUpXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBoYXNDdXN0b21QYWdlU3VidGl0bGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgc3RhcnRXaXRoKHRoaXMucm91dGVyKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5maXJzdENoaWxkLmRhdGEpLFxuICAgIG1hcChkYXRhID0+ICEhZGF0YT8uY3VzdG9tUGFnZVN1YnRpdGxlKVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tUGFnZVRpdGxlJCA9IHRoaXMucGFnZVRpdGxlU2VydmljZS5jdXN0b21QYWdlVGl0bGUkO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tUGFnZVRpdGxlU2V0JCA9IHRoaXMucGFnZVRpdGxlU2VydmljZS5jdXN0b21QYWdlVGl0bGVTZXQkO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tUGFnZVN1YnRpdGxlJCA9IHRoaXMucGFnZVRpdGxlU2VydmljZS5jdXN0b21QYWdlU3VidGl0bGUkO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tUGFnZVN1YnRpdGxlU2V0JCA9IHRoaXMucGFnZVRpdGxlU2VydmljZS5jdXN0b21QYWdlU3VidGl0bGVTZXQkO1xuICBwdWJsaWMgcmVhZG9ubHkgaGFzUGFnZUFjdGlvbnMkID0gdGhpcy5wYWdlVGl0bGVTZXJ2aWNlLmhhc1BhZ2VBY3Rpb25zJDtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zbGF0ZWRUaXRsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwcml2YXRlIGFwcFRpdGxlQXNTdWZmaXggPVxuICAgIHRoaXMuY29uZmlnU2VydmljZT8uY29uZmlnPy5mZWF0dXJlVG9nZ2xlcz8uYXBwbGljYXRpb25UaXRsZUFzU3VmZml4IHx8IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9oaWRlUGFnZVRpdGxlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgIHN0YXJ0V2l0aCh0aGlzLnJvdXRlciksXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuYWN0aXZhdGVkUm91dGUuZmlyc3RDaGlsZC5kYXRhKSxcbiAgICBtYXAoZGF0YSA9PiAhIWRhdGE/LmhpZGVQYWdlVGl0bGUpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlU2VydmljZTogVGl0bGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBOR1hMb2dnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZVRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblJvdXRlclRyYW5zbGF0ZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkhpZGVQYWdlVGl0bGVTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlVGl0bGVTZXJ2aWNlLnNldFBhZ2VBY3Rpb25zVmlld0NvbnRhaW5lclJlZih0aGlzLl9wYWdlQWN0aW9uc1Zjcik7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Sb3V0ZXJUcmFuc2xhdGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnJvdXRlci5ldmVudHMsIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpXSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3Qgcm91dGVUaXRsZSA9XG4gICAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZT8uc25hcHNob3Q/LmZpcnN0Q2hpbGQ/LmRhdGE/LnRpdGxlIHx8XG4gICAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZT8uc25hcHNob3Q/LmZpcnN0Q2hpbGQ/LmNoaWxkcmVuWzBdPy5kYXRhPy50aXRsZTtcbiAgICAgICAgY29uc3Qgcm91dGVUaXRsZVRyYW5zbGF0aW9uID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQocm91dGVUaXRsZSk7XG4gICAgICAgIGNvbnN0IHJvdXRlVGl0bGVQYWdlVHJhbnNsYXRpb25TdHJpbmcgPSBgcGFnZXMuJHtyb3V0ZVRpdGxlLnRvTG93ZXJDYXNlKCl9LnRpdGxlYDtcbiAgICAgICAgY29uc3Qgcm91dGVUaXRsZVBhZ2VUcmFuc2xhdGlvbiA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgIHJvdXRlVGl0bGVQYWdlVHJhbnNsYXRpb25TdHJpbmdcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlZFJvdXRlVGl0bGUgPVxuICAgICAgICAgIHJvdXRlVGl0bGUgJiZcbiAgICAgICAgICAoKHJvdXRlVGl0bGVQYWdlVHJhbnNsYXRpb24gIT09IHJvdXRlVGl0bGVQYWdlVHJhbnNsYXRpb25TdHJpbmdcbiAgICAgICAgICAgID8gcm91dGVUaXRsZVBhZ2VUcmFuc2xhdGlvblxuICAgICAgICAgICAgOiAnJykgfHxcbiAgICAgICAgICAgIChyb3V0ZVRpdGxlICE9PSByb3V0ZVRpdGxlVHJhbnNsYXRpb24gPyByb3V0ZVRpdGxlVHJhbnNsYXRpb24gOiAnJykgfHxcbiAgICAgICAgICAgIHJvdXRlVGl0bGUpO1xuXG4gICAgICAgIGlmICh0cmFuc2xhdGVkUm91dGVUaXRsZSkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdQYWdlVGl0bGU6IHNldFRpdGxlIHRyYW5zbGF0ZWQgYXN5bmMnLCB0cmFuc2xhdGVkUm91dGVUaXRsZSk7XG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVkVGl0bGUkLm5leHQodHJhbnNsYXRlZFJvdXRlVGl0bGUpO1xuICAgICAgICAgIGlmICh0aGlzLmFwcFRpdGxlQXNTdWZmaXgpIHtcbiAgICAgICAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRyYW5zbGF0ZWRSb3V0ZVRpdGxlICsgJyAtICcgKyB0aGlzLmFwcFRpdGxlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUodGhpcy5hcHBUaXRsZSArICcgLSAnICsgdHJhbnNsYXRlZFJvdXRlVGl0bGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnUGFnZVRpdGxlOiBzZXRUaXRsZSBkZWZhdWx0JywgdGhpcy5hcHBUaXRsZSk7XG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVkVGl0bGUkLm5leHQoJycpO1xuICAgICAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRoaXMuYXBwVGl0bGUpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5IaWRlUGFnZVRpdGxlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5faGlkZVBhZ2VUaXRsZSQuc3Vic2NyaWJlKGhpZGVQYWdlVGl0bGUgPT4ge1xuICAgICAgICB0aGlzLmhpZGVQYWdlVGl0bGUgPSBoaWRlUGFnZVRpdGxlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgW25nQ2xhc3NdPVwieyctLW5vLW1hcmdpbic6IGhpZGVQYWdlVGl0bGV9XCIgY2xhc3M9XCJwYWdlLXRpdGxlLWNvbnRhaW5lclwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGhpZGVQYWdlVGl0bGUgPT09IGZhbHNlICYmIHtcbiAgICAgICAgdGl0bGU6IHRyYW5zbGF0ZWRUaXRsZSQgfCBhc3luYyxcbiAgICAgICAgaGFzQ3VzdG9tUGFnZVRpdGxlOiBoYXNDdXN0b21QYWdlVGl0bGUkIHwgYXN5bmMsXG4gICAgICAgIGhhc0N1c3RvbVBhZ2VTdWJ0aXRsZTogaGFzQ3VzdG9tUGFnZVN1YnRpdGxlJCB8IGFzeW5jLFxuICAgICAgICBjdXN0b21QYWdlVGl0bGU6IGN1c3RvbVBhZ2VUaXRsZSQgfCBhc3luYyxcbiAgICAgICAgY3VzdG9tUGFnZVRpdGxlU2V0OiBjdXN0b21QYWdlVGl0bGVTZXQkIHwgYXN5bmMsXG4gICAgICAgIGN1c3RvbVBhZ2VTdWJ0aXRsZTogY3VzdG9tUGFnZVN1YnRpdGxlJCB8IGFzeW5jLFxuICAgICAgICBjdXN0b21QYWdlU3VidGl0bGVTZXQ6IGN1c3RvbVBhZ2VTdWJ0aXRsZVNldCQgfCBhc3luY1xuICAgICAgfSBhcyBvYnNcbiAgICBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWNvbnRhaW5lclwiICpuZ0lmPVwib2JzLmhhc0N1c3RvbVBhZ2VUaXRsZSAmJiAhb2JzLmN1c3RvbVBhZ2VUaXRsZVNldFwiPlxuICAgICAgPGNkcy1za2VsZXRvbi1wbGFjZWhvbGRlcj48L2Nkcy1za2VsZXRvbi1wbGFjZWhvbGRlcj5cbiAgICA8L2Rpdj5cblxuICAgIDxoMlxuICAgICAgKm5nSWY9XCJvYnMuaGFzQ3VzdG9tUGFnZVRpdGxlID8gb2JzLmN1c3RvbVBhZ2VUaXRsZVNldCA6IG9icy50aXRsZSAhPT0gJydcIlxuICAgICAgW3RpdGxlXT1cIm9icy5oYXNDdXN0b21QYWdlVGl0bGUgPyBvYnMuY3VzdG9tUGFnZVRpdGxlIDogb2JzLnRpdGxlXCJcbiAgICAgIGNsYXNzPVwicGFnZS10aXRsZVwiXG4gICAgPlxuICAgICAge3sgb2JzLmhhc0N1c3RvbVBhZ2VUaXRsZSA/IG9icy5jdXN0b21QYWdlVGl0bGUgOiBvYnMudGl0bGUgfX1cbiAgICA8L2gyPlxuXG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJvYnMuaGFzQ3VzdG9tUGFnZVN1YnRpdGxlICYmICFvYnMuY3VzdG9tUGFnZVN1YnRpdGxlU2V0XCJcbiAgICAgIGNsYXNzPVwic3VidGl0bGUtc2tlbGV0b24tY29udGFpbmVyXCJcbiAgICA+XG4gICAgICA8Y2RzLXNrZWxldG9uLXBsYWNlaG9sZGVyPjwvY2RzLXNrZWxldG9uLXBsYWNlaG9sZGVyPlxuICAgIDwvZGl2PlxuXG4gICAgPHNwYW5cbiAgICAgICpuZ0lmPVwib2JzLmhhc0N1c3RvbVBhZ2VTdWJ0aXRsZSAmJiBvYnMuY3VzdG9tUGFnZVN1YnRpdGxlU2V0XCJcbiAgICAgIFtpbm5lckh0bWxdPVwib2JzLmN1c3RvbVBhZ2VTdWJ0aXRsZVwiXG4gICAgICBbdGl0bGVdPVwib2JzLmN1c3RvbVBhZ2VTdWJ0aXRsZVwiXG4gICAgICBjbGFzcz1cInBhZ2Utc3VidGl0bGVcIlxuICAgID5cbiAgICA8L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgW25nQ2xhc3NdPVwieyctLXZpc2libGUnOiBoYXNQYWdlQWN0aW9ucyQgfCBhc3luY31cIiBjbGFzcz1cInBhZ2UtYWN0aW9uc1wiPlxuICAgIDxuZy1jb250YWluZXIgI3BhZ2VBY3Rpb25zVmNyPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|