desy-angular 6.0.2 → 7.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/esm2020/desy-angular.mjs +5 -0
- package/esm2020/lib/desy-angular.module.mjs +75 -0
- package/esm2020/lib/desy-buttons/components/button/button.component.mjs +115 -0
- package/esm2020/lib/desy-buttons/components/button-loader/button-loader.component.mjs +63 -0
- package/esm2020/lib/desy-buttons/components/dropdown/dropdown.component.mjs +126 -0
- package/esm2020/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +32 -0
- package/esm2020/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +14 -0
- package/esm2020/lib/desy-buttons/components/listbox/listbox.component.mjs +291 -0
- package/esm2020/lib/desy-buttons/components/pill/pill.component.mjs +80 -0
- package/esm2020/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +17 -0
- package/esm2020/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +17 -0
- package/esm2020/lib/desy-buttons/components/toggle/toggle.component.mjs +59 -0
- package/{esm2015/lib/desy-buttons/desy-buttons.module.js → esm2020/lib/desy-buttons/desy-buttons.module.mjs} +64 -35
- package/esm2020/lib/desy-commons/components/content/content.component.mjs +14 -0
- package/esm2020/lib/desy-commons/components/description/description.component.mjs +19 -0
- package/esm2020/lib/desy-commons/components/divider/divider.component.mjs +16 -0
- package/esm2020/lib/desy-commons/components/icon/icon.component.mjs +16 -0
- package/esm2020/lib/desy-commons/components/title/title.component.mjs +17 -0
- package/esm2020/lib/desy-commons/desy-commons.module.mjs +53 -0
- package/esm2020/lib/desy-forms/components/character-count/character-count.component.mjs +130 -0
- package/esm2020/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +240 -0
- package/esm2020/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +264 -0
- package/esm2020/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +52 -0
- package/esm2020/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +19 -0
- package/esm2020/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +16 -0
- package/esm2020/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +52 -0
- package/esm2020/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +48 -0
- package/esm2020/lib/desy-forms/components/date-input/date-input.component.mjs +266 -0
- package/esm2020/lib/desy-forms/components/error-message/error-message.component.mjs +31 -0
- package/esm2020/lib/desy-forms/components/fieldset/fieldset.component.mjs +56 -0
- package/esm2020/lib/desy-forms/components/fieldset/legend/legend.component.mjs +23 -0
- package/esm2020/lib/desy-forms/components/file-upload/file-upload.component.mjs +72 -0
- package/esm2020/lib/desy-forms/components/form-field/form-field.component.mjs +124 -0
- package/esm2020/lib/desy-forms/components/hint/hint.component.mjs +29 -0
- package/esm2020/lib/desy-forms/components/input/input.component.mjs +99 -0
- package/esm2020/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +20 -0
- package/esm2020/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +53 -0
- package/esm2020/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +16 -0
- package/esm2020/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +45 -0
- package/esm2020/lib/desy-forms/components/input-group/input-group.component.mjs +223 -0
- package/esm2020/lib/desy-forms/components/label/label.component.mjs +38 -0
- package/esm2020/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +185 -0
- package/esm2020/lib/desy-forms/components/radios/radios.component.mjs +270 -0
- package/esm2020/lib/desy-forms/components/search-bar/search-bar.component.mjs +66 -0
- package/esm2020/lib/desy-forms/components/select/option/option.component.mjs +22 -0
- package/esm2020/lib/desy-forms/components/select/option-group/option-group.component.mjs +18 -0
- package/esm2020/lib/desy-forms/components/select/select-item/select-item.component.mjs +14 -0
- package/esm2020/lib/desy-forms/components/select/select.component.mjs +93 -0
- package/esm2020/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +12 -0
- package/esm2020/lib/desy-forms/components/textarea/textarea.component.mjs +86 -0
- package/esm2020/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +167 -0
- package/esm2020/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +397 -0
- package/esm2020/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +25 -0
- package/esm2020/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +15 -0
- package/esm2020/lib/desy-forms/components/tree/tree.component.mjs +425 -0
- package/esm2020/lib/desy-forms/desy-forms.module.mjs +209 -0
- package/esm2020/lib/desy-forms/directives/condition.directive.mjs +34 -0
- package/{esm2015/lib/desy-forms/interfaces/select-item-data.js → esm2020/lib/desy-forms/interfaces/select-item-data.mjs} +1 -1
- package/esm2020/lib/desy-forms/models/checkbox-service-item.component.mjs +9 -0
- package/esm2020/lib/desy-forms/models/radio-service-item.component.mjs +9 -0
- package/esm2020/lib/desy-forms/services/checkbox.service.mjs +61 -0
- package/esm2020/lib/desy-forms/services/radio.service.mjs +53 -0
- package/esm2020/lib/desy-modals/components/dialog/dialog.component.mjs +130 -0
- package/esm2020/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +25 -0
- package/esm2020/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +23 -0
- package/esm2020/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +23 -0
- package/esm2020/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +23 -0
- package/esm2020/lib/desy-modals/components/modal/modal.component.mjs +178 -0
- package/esm2020/lib/desy-modals/desy-modals.module.mjs +62 -0
- package/esm2020/lib/desy-modals/services/dialog.service.mjs +114 -0
- package/esm2020/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +16 -0
- package/esm2020/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +47 -0
- package/esm2020/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +19 -0
- package/esm2020/lib/desy-nav/components/error-summary/error-summary.component.mjs +62 -0
- package/esm2020/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +21 -0
- package/esm2020/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +30 -0
- package/esm2020/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +21 -0
- package/esm2020/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +19 -0
- package/esm2020/lib/desy-nav/components/footer/footer.component.mjs +71 -0
- package/esm2020/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +15 -0
- package/esm2020/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +45 -0
- package/esm2020/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +27 -0
- package/esm2020/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +36 -0
- package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +20 -0
- package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +15 -0
- package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +95 -0
- package/esm2020/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +41 -0
- package/esm2020/lib/desy-nav/components/header/header.component.mjs +103 -0
- package/esm2020/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +40 -0
- package/esm2020/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +79 -0
- package/esm2020/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +49 -0
- package/esm2020/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +43 -0
- package/esm2020/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +616 -0
- package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +45 -0
- package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +18 -0
- package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +34 -0
- package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +113 -0
- package/esm2020/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +51 -0
- package/esm2020/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +14 -0
- package/esm2020/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +36 -0
- package/esm2020/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +27 -0
- package/esm2020/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +45 -0
- package/esm2020/lib/desy-nav/components/menubar/menubar.component.mjs +727 -0
- package/esm2020/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +41 -0
- package/esm2020/lib/desy-nav/components/nav/nav.component.mjs +116 -0
- package/esm2020/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +25 -0
- package/esm2020/lib/desy-nav/components/notification/notification.component.mjs +141 -0
- package/esm2020/lib/desy-nav/components/skip-link/skip-link.component.mjs +37 -0
- package/esm2020/lib/desy-nav/desy-nav.module.mjs +221 -0
- package/{esm2015/lib/desy-nav/interfaces/menu-horizontal-item-data.js → esm2020/lib/desy-nav/interfaces/menu-horizontal-item-data.mjs} +1 -1
- package/{esm2015/lib/desy-nav/interfaces/menu-horizontal-item-event-data.js → esm2020/lib/desy-nav/interfaces/menu-horizontal-item-event-data.mjs} +1 -1
- package/esm2020/lib/desy-nav/interfaces/menu-navigation-item-sub-item.mjs +2 -0
- package/esm2020/lib/desy-pagination/components/pagination/pagination.component.mjs +167 -0
- package/esm2020/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +19 -0
- package/esm2020/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +17 -0
- package/esm2020/lib/desy-pagination/desy-pagination.module.mjs +46 -0
- package/esm2020/lib/desy-tables/components/table/components/table-caption.component.mjs +17 -0
- package/esm2020/lib/desy-tables/components/table/components/table-cell.component.mjs +23 -0
- package/esm2020/lib/desy-tables/components/table/components/table-header.component.mjs +18 -0
- package/esm2020/lib/desy-tables/components/table/components/table-row.component.mjs +18 -0
- package/esm2020/lib/desy-tables/components/table/table.component.mjs +78 -0
- package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +47 -0
- package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +18 -0
- package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +23 -0
- package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +27 -0
- package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +28 -0
- package/esm2020/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +342 -0
- package/esm2020/lib/desy-tables/desy-tables.module.mjs +102 -0
- package/esm2020/lib/desy-tables/directives/cell.directive.mjs +28 -0
- package/esm2020/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +81 -0
- package/esm2020/lib/desy-tables/directives/row.directive.mjs +29 -0
- package/esm2020/lib/desy-tables/interfaces/head-cell-data.mjs +7 -0
- package/esm2020/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +17 -0
- package/esm2020/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +57 -0
- package/esm2020/lib/desy-views/components/accordion/accordion.component.mjs +198 -0
- package/esm2020/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +39 -0
- package/esm2020/lib/desy-views/components/accordion-history/accordion-history.component.mjs +19 -0
- package/esm2020/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +17 -0
- package/esm2020/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +17 -0
- package/esm2020/lib/desy-views/components/alert/alert.component.mjs +81 -0
- package/esm2020/lib/desy-views/components/collapsible/collapsible.component.mjs +81 -0
- package/esm2020/lib/desy-views/components/description-list/definition/definition.component.mjs +19 -0
- package/esm2020/lib/desy-views/components/description-list/description-item/description-item.component.mjs +34 -0
- package/esm2020/lib/desy-views/components/description-list/description-list.component.mjs +28 -0
- package/esm2020/lib/desy-views/components/description-list/term/term.component.mjs +19 -0
- package/esm2020/lib/desy-views/components/details/details.component.mjs +31 -0
- package/esm2020/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +17 -0
- package/esm2020/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +15 -0
- package/esm2020/lib/desy-views/components/item/item-item/item-item.component.mjs +15 -0
- package/esm2020/lib/desy-views/components/item/item.component.mjs +121 -0
- package/esm2020/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +12 -0
- package/esm2020/lib/desy-views/components/media-object/media-object.component.mjs +115 -0
- package/esm2020/lib/desy-views/components/spinner/spinner.component.mjs +77 -0
- package/esm2020/lib/desy-views/components/status/status.component.mjs +97 -0
- package/esm2020/lib/desy-views/components/status-item/status-item.component.mjs +143 -0
- package/esm2020/lib/desy-views/components/tabs/panel/panel.component.mjs +19 -0
- package/esm2020/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +37 -0
- package/esm2020/lib/desy-views/components/tabs/tabs.component.mjs +199 -0
- package/esm2020/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +12 -0
- package/esm2020/lib/desy-views/components/tooltip/tooltip.component.mjs +202 -0
- package/esm2020/lib/desy-views/desy-views.module.mjs +175 -0
- package/{esm2015/lib/desy-views/interfaces/accordion-item.data.js → esm2020/lib/desy-views/interfaces/accordion-item.data.mjs} +1 -1
- package/esm2020/lib/desy-views/interfaces/tabs-items-data.mjs +2 -0
- package/esm2020/lib/desy-views/services/alert.service.mjs +88 -0
- package/esm2020/lib/shared/components/accessibility/accessibility.component.mjs +45 -0
- package/esm2020/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +44 -0
- package/esm2020/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +41 -0
- package/esm2020/lib/shared/components/content-base/content-base.component.mjs +24 -0
- package/esm2020/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +18 -0
- package/esm2020/lib/shared/directives/attribute-change.directive.mjs +45 -0
- package/esm2020/lib/shared/directives/click-outside.directive.mjs +40 -0
- package/esm2020/lib/shared/directives/content-change.directive.mjs +45 -0
- package/esm2020/lib/shared/directives/custom-inner-content.directive.mjs +60 -0
- package/esm2020/lib/shared/directives/inner-content.directive.mjs +37 -0
- package/esm2020/lib/shared/pipes/external-href.pipe.mjs +32 -0
- package/esm2020/lib/shared/pipes/inner-html.pipe.mjs +20 -0
- package/esm2020/lib/shared/pipes/make-html-list.pipe.mjs +20 -0
- package/esm2020/lib/shared/shared.module.mjs +99 -0
- package/esm2020/public-api.mjs +221 -0
- package/fesm2015/desy-angular.mjs +11752 -0
- package/fesm2015/desy-angular.mjs.map +1 -0
- package/fesm2020/desy-angular.mjs +11731 -0
- package/fesm2020/desy-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/desy-angular.module.d.ts +12 -0
- package/lib/desy-buttons/components/button/button.component.d.ts +7 -2
- package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +7 -1
- package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +3 -0
- package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +3 -0
- package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +3 -0
- package/lib/desy-buttons/components/listbox/listbox.component.d.ts +5 -2
- package/lib/desy-buttons/components/pill/pill.component.d.ts +7 -2
- package/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.d.ts +3 -0
- package/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.d.ts +3 -0
- package/lib/desy-buttons/components/toggle/toggle.component.d.ts +3 -0
- package/lib/desy-buttons/desy-buttons.module.d.ts +18 -0
- package/lib/desy-commons/components/content/content.component.d.ts +3 -0
- package/lib/desy-commons/components/description/description.component.d.ts +3 -0
- package/lib/desy-commons/components/divider/divider.component.d.ts +3 -0
- package/lib/desy-commons/components/icon/icon.component.d.ts +3 -0
- package/lib/desy-commons/components/title/title.component.d.ts +3 -0
- package/lib/desy-commons/desy-commons.module.d.ts +12 -0
- package/lib/desy-forms/components/character-count/character-count.component.d.ts +3 -0
- package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +6 -3
- package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +11 -10
- package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +3 -0
- package/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.d.ts +3 -0
- package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +3 -0
- package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +3 -0
- package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +3 -0
- package/lib/desy-forms/components/date-input/date-input.component.d.ts +8 -3
- package/lib/desy-forms/components/error-message/error-message.component.d.ts +3 -0
- package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +3 -0
- package/lib/desy-forms/components/fieldset/legend/legend.component.d.ts +7 -1
- package/lib/desy-forms/components/file-upload/file-upload.component.d.ts +4 -1
- package/lib/desy-forms/components/form-field/form-field.component.d.ts +3 -0
- package/lib/desy-forms/components/hint/hint.component.d.ts +3 -0
- package/lib/desy-forms/components/input/input.component.d.ts +4 -0
- package/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.d.ts +3 -0
- package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +3 -0
- package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +3 -0
- package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +3 -0
- package/lib/desy-forms/components/input-group/input-group.component.d.ts +5 -1
- package/lib/desy-forms/components/label/label.component.d.ts +7 -2
- package/lib/desy-forms/components/radios/radio-item/radio-item.component.d.ts +6 -3
- package/lib/desy-forms/components/radios/radios.component.d.ts +11 -10
- package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +4 -0
- package/lib/desy-forms/components/select/option/option.component.d.ts +3 -0
- package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +3 -0
- package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +3 -0
- package/lib/desy-forms/components/select/select.component.d.ts +4 -0
- package/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.d.ts +3 -0
- package/lib/desy-forms/components/textarea/textarea.component.d.ts +4 -1
- package/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.d.ts +4 -1
- package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +9 -6
- package/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.d.ts +3 -0
- package/lib/desy-forms/components/tree/tree-sub/tree-sub.component.d.ts +3 -0
- package/lib/desy-forms/components/tree/tree.component.d.ts +3 -0
- package/lib/desy-forms/desy-forms.module.d.ts +45 -0
- package/lib/desy-forms/directives/condition.directive.d.ts +3 -0
- package/lib/desy-forms/interfaces/select-item-data.d.ts +3 -0
- package/lib/desy-forms/models/checkbox-service-item.component.d.ts +13 -0
- package/lib/desy-forms/models/radio-service-item.component.d.ts +12 -0
- package/lib/desy-forms/services/checkbox.service.d.ts +14 -0
- package/lib/desy-forms/services/radio.service.d.ts +13 -0
- package/lib/desy-modals/components/dialog/dialog.component.d.ts +5 -2
- package/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.d.ts +3 -0
- package/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.d.ts +3 -0
- package/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.d.ts +3 -0
- package/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.d.ts +3 -0
- package/lib/desy-modals/components/modal/modal.component.d.ts +3 -0
- package/lib/desy-modals/desy-modals.module.d.ts +14 -0
- package/lib/desy-modals/services/dialog.service.d.ts +3 -0
- package/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.d.ts +3 -0
- package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +3 -0
- package/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.d.ts +3 -0
- package/lib/desy-nav/components/error-summary/error-summary.component.d.ts +3 -0
- package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +3 -0
- package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +3 -0
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +3 -0
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +3 -0
- package/lib/desy-nav/components/footer/footer.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header.component.d.ts +3 -0
- package/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.d.ts +3 -0
- package/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.d.ts +3 -0
- package/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.d.ts +3 -0
- package/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.d.ts +3 -0
- package/lib/desy-nav/components/menu-navigation/menu-navigation.component.d.ts +3 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +3 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +3 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +3 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +3 -0
- package/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.d.ts +3 -0
- package/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.d.ts +3 -0
- package/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.d.ts +3 -0
- package/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.d.ts +3 -0
- package/lib/desy-nav/components/menubar/directives/menubaritem.directive.d.ts +3 -0
- package/lib/desy-nav/components/menubar/menubar.component.d.ts +3 -0
- package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +3 -0
- package/lib/desy-nav/components/nav/nav.component.d.ts +6 -3
- package/lib/desy-nav/components/notification/notification-item/notification-item.component.d.ts +3 -0
- package/lib/desy-nav/components/notification/notification.component.d.ts +3 -0
- package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +3 -0
- package/lib/desy-nav/desy-nav.module.d.ts +46 -0
- package/lib/desy-nav/interfaces/menu-horizontal-item-data.d.ts +1 -0
- package/lib/desy-nav/interfaces/menu-horizontal-item-event-data.d.ts +1 -0
- package/lib/desy-nav/interfaces/menu-navigation-item-sub-item.d.ts +8 -0
- package/lib/desy-pagination/components/pagination/pagination.component.d.ts +3 -0
- package/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.d.ts +3 -0
- package/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.d.ts +3 -0
- package/lib/desy-pagination/desy-pagination.module.d.ts +11 -0
- package/lib/desy-tables/components/table/components/table-caption.component.d.ts +3 -0
- package/lib/desy-tables/components/table/components/table-cell.component.d.ts +3 -0
- package/lib/desy-tables/components/table/components/table-header.component.d.ts +3 -0
- package/lib/desy-tables/components/table/components/table-row.component.d.ts +3 -0
- package/lib/desy-tables/components/table/table.component.d.ts +4 -1
- package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +3 -0
- package/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.d.ts +3 -0
- package/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.d.ts +3 -0
- package/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.d.ts +3 -0
- package/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.d.ts +3 -0
- package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +6 -3
- package/lib/desy-tables/desy-tables.module.d.ts +23 -0
- package/lib/desy-tables/directives/cell.directive.d.ts +3 -0
- package/lib/desy-tables/directives/focus-clicked-cell.directive.d.ts +3 -0
- package/lib/desy-tables/directives/row.directive.d.ts +3 -0
- package/lib/desy-tables/interfaces/head-cell-data.d.ts +2 -0
- package/lib/desy-views/components/accordion/accordion-header/accordion-header.component.d.ts +3 -0
- package/lib/desy-views/components/accordion/accordion-item/accordion-item.component.d.ts +3 -0
- package/lib/desy-views/components/accordion/accordion.component.d.ts +3 -0
- package/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.d.ts +3 -0
- package/lib/desy-views/components/accordion-history/accordion-history.component.d.ts +3 -0
- package/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.d.ts +3 -0
- package/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.d.ts +3 -0
- package/lib/desy-views/components/alert/alert.component.d.ts +4 -1
- package/lib/desy-views/components/collapsible/collapsible.component.d.ts +5 -1
- package/lib/desy-views/components/description-list/definition/definition.component.d.ts +3 -0
- package/lib/desy-views/components/description-list/description-item/description-item.component.d.ts +3 -0
- package/lib/desy-views/components/description-list/description-list.component.d.ts +3 -0
- package/lib/desy-views/components/description-list/term/term.component.d.ts +3 -0
- package/lib/desy-views/components/details/details.component.d.ts +7 -1
- package/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.d.ts +3 -0
- package/lib/desy-views/components/item/item-content-right/item-content-right.component.d.ts +3 -0
- package/lib/desy-views/components/item/item-item/item-item.component.d.ts +3 -0
- package/lib/desy-views/components/item/item.component.d.ts +4 -1
- package/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.d.ts +3 -0
- package/lib/desy-views/components/media-object/media-object.component.d.ts +3 -0
- package/lib/desy-views/components/spinner/spinner.component.d.ts +3 -0
- package/lib/desy-views/components/status/status.component.d.ts +7 -2
- package/lib/desy-views/components/status-item/status-item.component.d.ts +3 -0
- package/lib/desy-views/components/tabs/panel/panel.component.d.ts +3 -0
- package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +3 -0
- package/lib/desy-views/components/tabs/tabs.component.d.ts +9 -3
- package/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.d.ts +3 -0
- package/lib/desy-views/components/tooltip/tooltip.component.d.ts +3 -0
- package/lib/desy-views/desy-views.module.d.ts +37 -0
- package/lib/desy-views/interfaces/accordion-item.data.d.ts +1 -0
- package/lib/desy-views/interfaces/tabs-items-data.d.ts +2 -0
- package/lib/desy-views/services/alert.service.d.ts +3 -0
- package/lib/shared/components/accessibility/accessibility.component.d.ts +3 -0
- package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +4 -1
- package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +3 -0
- package/lib/shared/components/content-base/content-base.component.d.ts +3 -0
- package/lib/shared/components/text-or-html-required/text-or-html-required.component.d.ts +3 -0
- package/lib/shared/directives/attribute-change.directive.d.ts +3 -0
- package/lib/shared/directives/click-outside.directive.d.ts +3 -0
- package/lib/shared/directives/content-change.directive.d.ts +3 -0
- package/lib/shared/directives/custom-inner-content.directive.d.ts +3 -0
- package/lib/shared/directives/inner-content.directive.d.ts +3 -0
- package/lib/shared/pipes/external-href.pipe.d.ts +3 -0
- package/lib/shared/pipes/inner-html.pipe.d.ts +3 -0
- package/lib/shared/pipes/make-html-list.pipe.d.ts +3 -0
- package/lib/shared/shared.module.d.ts +19 -0
- package/package.json +33 -20
- package/public-api.d.ts +24 -0
- package/bundles/desy-angular.umd.js +0 -10918
- package/bundles/desy-angular.umd.js.map +0 -1
- package/bundles/desy-angular.umd.min.js +0 -2
- package/bundles/desy-angular.umd.min.js.map +0 -1
- package/desy-angular.d.ts +0 -51
- package/desy-angular.metadata.json +0 -1
- package/esm2015/desy-angular.js +0 -52
- package/esm2015/lib/desy-angular.module.js +0 -38
- package/esm2015/lib/desy-buttons/components/button/button.component.js +0 -92
- package/esm2015/lib/desy-buttons/components/button-loader/button-loader.component.js +0 -50
- package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +0 -111
- package/esm2015/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.js +0 -26
- package/esm2015/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.js +0 -14
- package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +0 -265
- package/esm2015/lib/desy-buttons/components/pill/pill.component.js +0 -64
- package/esm2015/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.js +0 -15
- package/esm2015/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.js +0 -15
- package/esm2015/lib/desy-buttons/components/toggle/toggle.component.js +0 -44
- package/esm2015/lib/desy-commons/components/content/content.component.js +0 -14
- package/esm2015/lib/desy-commons/components/description/description.component.js +0 -15
- package/esm2015/lib/desy-commons/components/divider/divider.component.js +0 -15
- package/esm2015/lib/desy-commons/components/icon/icon.component.js +0 -15
- package/esm2015/lib/desy-commons/components/title/title.component.js +0 -14
- package/esm2015/lib/desy-commons/desy-commons.module.js +0 -36
- package/esm2015/lib/desy-forms/components/character-count/character-count.component.js +0 -109
- package/esm2015/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.js +0 -188
- package/esm2015/lib/desy-forms/components/checkboxes/checkboxes.component.js +0 -226
- package/esm2015/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.js +0 -38
- package/esm2015/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.js +0 -19
- package/esm2015/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.js +0 -13
- package/esm2015/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.js +0 -38
- package/esm2015/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.js +0 -36
- package/esm2015/lib/desy-forms/components/date-input/date-input.component.js +0 -222
- package/esm2015/lib/desy-forms/components/error-message/error-message.component.js +0 -28
- package/esm2015/lib/desy-forms/components/fieldset/fieldset.component.js +0 -44
- package/esm2015/lib/desy-forms/components/fieldset/legend/legend.component.js +0 -16
- package/esm2015/lib/desy-forms/components/file-upload/file-upload.component.js +0 -51
- package/esm2015/lib/desy-forms/components/form-field/form-field.component.js +0 -103
- package/esm2015/lib/desy-forms/components/hint/hint.component.js +0 -27
- package/esm2015/lib/desy-forms/components/input/input.component.js +0 -67
- package/esm2015/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.js +0 -20
- package/esm2015/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.js +0 -39
- package/esm2015/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.js +0 -13
- package/esm2015/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.js +0 -35
- package/esm2015/lib/desy-forms/components/input-group/input-group.component.js +0 -179
- package/esm2015/lib/desy-forms/components/label/label.component.js +0 -30
- package/esm2015/lib/desy-forms/components/radios/radio-item/radio-item.component.js +0 -144
- package/esm2015/lib/desy-forms/components/radios/radios.component.js +0 -233
- package/esm2015/lib/desy-forms/components/search-bar/search-bar.component.js +0 -45
- package/esm2015/lib/desy-forms/components/select/option/option.component.js +0 -17
- package/esm2015/lib/desy-forms/components/select/option-group/option-group.component.js +0 -17
- package/esm2015/lib/desy-forms/components/select/select-item/select-item.component.js +0 -14
- package/esm2015/lib/desy-forms/components/select/select.component.js +0 -64
- package/esm2015/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.js +0 -12
- package/esm2015/lib/desy-forms/components/textarea/textarea.component.js +0 -60
- package/esm2015/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.js +0 -151
- package/esm2015/lib/desy-forms/components/tree/tree-item/tree-item.component.js +0 -370
- package/esm2015/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.js +0 -25
- package/esm2015/lib/desy-forms/components/tree/tree-sub/tree-sub.component.js +0 -14
- package/esm2015/lib/desy-forms/components/tree/tree.component.js +0 -408
- package/esm2015/lib/desy-forms/desy-forms.module.js +0 -130
- package/esm2015/lib/desy-forms/directives/condition.directive.js +0 -32
- package/esm2015/lib/desy-modals/components/dialog/dialog.component.js +0 -121
- package/esm2015/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.js +0 -20
- package/esm2015/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.js +0 -19
- package/esm2015/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.js +0 -19
- package/esm2015/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.js +0 -19
- package/esm2015/lib/desy-modals/components/modal/modal.component.js +0 -145
- package/esm2015/lib/desy-modals/desy-modals.module.js +0 -41
- package/esm2015/lib/desy-modals/services/dialog.service.js +0 -117
- package/esm2015/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.js +0 -15
- package/esm2015/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.js +0 -42
- package/esm2015/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.js +0 -15
- package/esm2015/lib/desy-nav/components/error-summary/error-summary.component.js +0 -46
- package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.js +0 -16
- package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta.component.js +0 -23
- package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.js +0 -16
- package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.js +0 -16
- package/esm2015/lib/desy-nav/components/footer/footer.component.js +0 -52
- package/esm2015/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.js +0 -11
- package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +0 -36
- package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.js +0 -19
- package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation.component.js +0 -29
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.js +0 -22
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.js +0 -11
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.js +0 -88
- package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +0 -34
- package/esm2015/lib/desy-nav/components/header/header.component.js +0 -66
- package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.js +0 -28
- package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.js +0 -68
- package/esm2015/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.js +0 -35
- package/esm2015/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.js +0 -31
- package/esm2015/lib/desy-nav/components/menu-navigation/menu-navigation.component.js +0 -568
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.js +0 -32
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.js +0 -16
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.js +0 -24
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical.component.js +0 -89
- package/esm2015/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.js +0 -36
- package/esm2015/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.js +0 -14
- package/esm2015/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.js +0 -29
- package/esm2015/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.js +0 -23
- package/esm2015/lib/desy-nav/components/menubar/directives/menubaritem.directive.js +0 -37
- package/esm2015/lib/desy-nav/components/menubar/menubar.component.js +0 -672
- package/esm2015/lib/desy-nav/components/nav/nav-item/nav-item.component.js +0 -30
- package/esm2015/lib/desy-nav/components/nav/nav.component.js +0 -105
- package/esm2015/lib/desy-nav/components/notification/notification-item/notification-item.component.js +0 -18
- package/esm2015/lib/desy-nav/components/notification/notification.component.js +0 -102
- package/esm2015/lib/desy-nav/components/skip-link/skip-link.component.js +0 -33
- package/esm2015/lib/desy-nav/desy-nav.module.js +0 -136
- package/esm2015/lib/desy-nav/interfaces/menu-navigation-item-sub-item.js +0 -2
- package/esm2015/lib/desy-pagination/components/pagination/pagination.component.js +0 -138
- package/esm2015/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.js +0 -15
- package/esm2015/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.js +0 -14
- package/esm2015/lib/desy-pagination/desy-pagination.module.js +0 -31
- package/esm2015/lib/desy-tables/components/table/components/table-caption.component.js +0 -14
- package/esm2015/lib/desy-tables/components/table/components/table-cell.component.js +0 -17
- package/esm2015/lib/desy-tables/components/table/components/table-header.component.js +0 -14
- package/esm2015/lib/desy-tables/components/table/components/table-row.component.js +0 -14
- package/esm2015/lib/desy-tables/components/table/table.component.js +0 -55
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.js +0 -33
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.js +0 -14
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.js +0 -17
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.js +0 -20
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.js +0 -22
- package/esm2015/lib/desy-tables/components/table-advanced/table-advanced.component.js +0 -316
- package/esm2015/lib/desy-tables/desy-tables.module.js +0 -64
- package/esm2015/lib/desy-tables/directives/cell.directive.js +0 -26
- package/esm2015/lib/desy-tables/directives/focus-clicked-cell.directive.js +0 -78
- package/esm2015/lib/desy-tables/directives/row.directive.js +0 -24
- package/esm2015/lib/desy-tables/interfaces/head-cell-data.js +0 -7
- package/esm2015/lib/desy-views/components/accordion/accordion-header/accordion-header.component.js +0 -14
- package/esm2015/lib/desy-views/components/accordion/accordion-item/accordion-item.component.js +0 -43
- package/esm2015/lib/desy-views/components/accordion/accordion.component.js +0 -153
- package/esm2015/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.js +0 -31
- package/esm2015/lib/desy-views/components/accordion-history/accordion-history.component.js +0 -15
- package/esm2015/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.js +0 -14
- package/esm2015/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.js +0 -14
- package/esm2015/lib/desy-views/components/alert/alert.component.js +0 -75
- package/esm2015/lib/desy-views/components/collapsible/collapsible.component.js +0 -55
- package/esm2015/lib/desy-views/components/description-list/definition/definition.component.js +0 -15
- package/esm2015/lib/desy-views/components/description-list/description-item/description-item.component.js +0 -26
- package/esm2015/lib/desy-views/components/description-list/description-list.component.js +0 -22
- package/esm2015/lib/desy-views/components/description-list/term/term.component.js +0 -15
- package/esm2015/lib/desy-views/components/details/details.component.js +0 -20
- package/esm2015/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.js +0 -14
- package/esm2015/lib/desy-views/components/item/item-content-right/item-content-right.component.js +0 -11
- package/esm2015/lib/desy-views/components/item/item-item/item-item.component.js +0 -11
- package/esm2015/lib/desy-views/components/item/item.component.js +0 -87
- package/esm2015/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.js +0 -11
- package/esm2015/lib/desy-views/components/media-object/media-object.component.js +0 -67
- package/esm2015/lib/desy-views/components/spinner/spinner.component.js +0 -45
- package/esm2015/lib/desy-views/components/status/status.component.js +0 -58
- package/esm2015/lib/desy-views/components/status-item/status-item.component.js +0 -86
- package/esm2015/lib/desy-views/components/tabs/panel/panel.component.js +0 -15
- package/esm2015/lib/desy-views/components/tabs/tab-item/tab-item.component.js +0 -28
- package/esm2015/lib/desy-views/components/tabs/tabs.component.js +0 -150
- package/esm2015/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.js +0 -11
- package/esm2015/lib/desy-views/components/tooltip/tooltip.component.js +0 -155
- package/esm2015/lib/desy-views/desy-views.module.js +0 -108
- package/esm2015/lib/desy-views/interfaces/tabs-items-data.js +0 -2
- package/esm2015/lib/desy-views/services/alert.service.js +0 -89
- package/esm2015/lib/shared/components/accessibility/accessibility.component.js +0 -29
- package/esm2015/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.js +0 -27
- package/esm2015/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.js +0 -26
- package/esm2015/lib/shared/components/content-base/content-base.component.js +0 -20
- package/esm2015/lib/shared/components/text-or-html-required/text-or-html-required.component.js +0 -14
- package/esm2015/lib/shared/directives/attribute-change.directive.js +0 -43
- package/esm2015/lib/shared/directives/click-outside.directive.js +0 -35
- package/esm2015/lib/shared/directives/content-change.directive.js +0 -43
- package/esm2015/lib/shared/directives/custom-inner-content.directive.js +0 -62
- package/esm2015/lib/shared/directives/inner-content.directive.js +0 -34
- package/esm2015/lib/shared/pipes/external-href.pipe.js +0 -28
- package/esm2015/lib/shared/pipes/inner-html.pipe.js +0 -19
- package/esm2015/lib/shared/pipes/make-html-list.pipe.js +0 -16
- package/esm2015/lib/shared/shared.module.js +0 -62
- package/esm2015/public-api.js +0 -197
- package/fesm2015/desy-angular.js +0 -9650
- package/fesm2015/desy-angular.js.map +0 -1
- /package/{esm2015/lib/desy-buttons/interfaces/listbox-item-data.js → esm2020/lib/desy-buttons/interfaces/listbox-item-data.mjs} +0 -0
- /package/{esm2015/lib/desy-buttons/interfaces/listbox-label-data.js → esm2020/lib/desy-buttons/interfaces/listbox-label-data.mjs} +0 -0
- /package/{esm2015/lib/desy-commons/interfaces/content-data.js → esm2020/lib/desy-commons/interfaces/content-data.mjs} +0 -0
- /package/{esm2015/lib/desy-commons/interfaces/description-data.js → esm2020/lib/desy-commons/interfaces/description-data.mjs} +0 -0
- /package/{esm2015/lib/desy-commons/interfaces/divider-data.js → esm2020/lib/desy-commons/interfaces/divider-data.mjs} +0 -0
- /package/{esm2015/lib/desy-commons/interfaces/icon-data.js → esm2020/lib/desy-commons/interfaces/icon-data.mjs} +0 -0
- /package/{esm2015/lib/desy-commons/interfaces/index.js → esm2020/lib/desy-commons/interfaces/index.mjs} +0 -0
- /package/{esm2015/lib/desy-commons/interfaces/title-data.js → esm2020/lib/desy-commons/interfaces/title-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/components/tree/interfaces/itree-item.js → esm2020/lib/desy-forms/components/tree/interfaces/itree-item.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.js → esm2020/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/accesibility-data.js → esm2020/lib/desy-forms/interfaces/accesibility-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/error-message-data.js → esm2020/lib/desy-forms/interfaces/error-message-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/fieldset-data.js → esm2020/lib/desy-forms/interfaces/fieldset-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/hint-data.js → esm2020/lib/desy-forms/interfaces/hint-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/index.js → esm2020/lib/desy-forms/interfaces/index.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/item-checkbox-data.js → esm2020/lib/desy-forms/interfaces/item-checkbox-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/item-date-input-data.js → esm2020/lib/desy-forms/interfaces/item-date-input-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/item-divider-date-input-data.js → esm2020/lib/desy-forms/interfaces/item-divider-date-input-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/item-divider-input-group-data.js → esm2020/lib/desy-forms/interfaces/item-divider-input-group-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/item-input-group-data.js → esm2020/lib/desy-forms/interfaces/item-input-group-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/item-radio-data.js → esm2020/lib/desy-forms/interfaces/item-radio-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/item-radio-with-template-data.js → esm2020/lib/desy-forms/interfaces/item-radio-with-template-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/label-data.js → esm2020/lib/desy-forms/interfaces/label-data.mjs} +0 -0
- /package/{esm2015/lib/desy-forms/interfaces/legend-data.js → esm2020/lib/desy-forms/interfaces/legend-data.mjs} +0 -0
- /package/{esm2015/lib/desy-modals/interfaces/dialog-options.js → esm2020/lib/desy-modals/interfaces/dialog-options.mjs} +0 -0
- /package/{esm2015/lib/desy-modals/interfaces/index.js → esm2020/lib/desy-modals/interfaces/index.mjs} +0 -0
- /package/{esm2015/lib/desy-modals/interfaces/modal-button-data.js → esm2020/lib/desy-modals/interfaces/modal-button-data.mjs} +0 -0
- /package/{esm2015/lib/desy-modals/interfaces/modal-data.js → esm2020/lib/desy-modals/interfaces/modal-data.mjs} +0 -0
- /package/{esm2015/lib/desy-modals/interfaces/modal-icon-data.js → esm2020/lib/desy-modals/interfaces/modal-icon-data.mjs} +0 -0
- /package/{esm2015/lib/desy-modals/interfaces/modal-options.js → esm2020/lib/desy-modals/interfaces/modal-options.mjs} +0 -0
- /package/{esm2015/lib/desy-modals/interfaces/open-dialog-result.js → esm2020/lib/desy-modals/interfaces/open-dialog-result.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/breadcrumbs.data.js → esm2020/lib/desy-nav/interfaces/breadcrumbs.data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/error-summary-data.js → esm2020/lib/desy-nav/interfaces/error-summary-data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/footer-data.js → esm2020/lib/desy-nav/interfaces/footer-data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/header-dropdown-data.js → esm2020/lib/desy-nav/interfaces/header-dropdown-data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/header-navigation-data.js → esm2020/lib/desy-nav/interfaces/header-navigation-data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/header-navigation-item-data.js → esm2020/lib/desy-nav/interfaces/header-navigation-item-data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/header-offcanvas-data.js → esm2020/lib/desy-nav/interfaces/header-offcanvas-data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/header-subnav-data.js → esm2020/lib/desy-nav/interfaces/header-subnav-data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/index.js → esm2020/lib/desy-nav/interfaces/index.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.js → esm2020/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/menu-navigation.js → esm2020/lib/desy-nav/interfaces/menu-navigation.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/menu-vertical-items-data.js → esm2020/lib/desy-nav/interfaces/menu-vertical-items-data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/menu-vertical-sub-data.js → esm2020/lib/desy-nav/interfaces/menu-vertical-sub-data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/menu-vertical-sub-items-data.js → esm2020/lib/desy-nav/interfaces/menu-vertical-sub-items-data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.js → esm2020/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/menubar-item-sub-item.js → esm2020/lib/desy-nav/interfaces/menubar-item-sub-item.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/menubar-item-sub.js → esm2020/lib/desy-nav/interfaces/menubar-item-sub.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/menubar-item.js → esm2020/lib/desy-nav/interfaces/menubar-item.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/nav-item-event.data.js → esm2020/lib/desy-nav/interfaces/nav-item-event.data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/nav-item.data.js → esm2020/lib/desy-nav/interfaces/nav-item.data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/notification-items-data.js → esm2020/lib/desy-nav/interfaces/notification-items-data.mjs} +0 -0
- /package/{esm2015/lib/desy-nav/interfaces/notification-options.js → esm2020/lib/desy-nav/interfaces/notification-options.mjs} +0 -0
- /package/{esm2015/lib/desy-pagination/interfaces/index.js → esm2020/lib/desy-pagination/interfaces/index.mjs} +0 -0
- /package/{esm2015/lib/desy-pagination/interfaces/pagination-item.data.js → esm2020/lib/desy-pagination/interfaces/pagination-item.data.mjs} +0 -0
- /package/{esm2015/lib/desy-tables/interfaces/cell-data.js → esm2020/lib/desy-tables/interfaces/cell-data.mjs} +0 -0
- /package/{esm2015/lib/desy-tables/interfaces/index.js → esm2020/lib/desy-tables/interfaces/index.mjs} +0 -0
- /package/{esm2015/lib/desy-tables/interfaces/recalculate-table-params.js → esm2020/lib/desy-tables/interfaces/recalculate-table-params.mjs} +0 -0
- /package/{esm2015/lib/desy-tables/interfaces/row-data.js → esm2020/lib/desy-tables/interfaces/row-data.mjs} +0 -0
- /package/{esm2015/lib/desy-tables/interfaces/wrapper-data.js → esm2020/lib/desy-tables/interfaces/wrapper-data.mjs} +0 -0
- /package/{esm2015/lib/desy-views/interfaces/accordion-header.data.js → esm2020/lib/desy-views/interfaces/accordion-header.data.mjs} +0 -0
- /package/{esm2015/lib/desy-views/interfaces/alert-options.js → esm2020/lib/desy-views/interfaces/alert-options.mjs} +0 -0
- /package/{esm2015/lib/desy-views/interfaces/description-item.data.js → esm2020/lib/desy-views/interfaces/description-item.data.mjs} +0 -0
- /package/{esm2015/lib/desy-views/interfaces/index.js → esm2020/lib/desy-views/interfaces/index.mjs} +0 -0
- /package/{esm2015/lib/desy-views/interfaces/open-alert-result.js → esm2020/lib/desy-views/interfaces/open-alert-result.mjs} +0 -0
- /package/{esm2015/lib/desy-views/interfaces/status-data.js → esm2020/lib/desy-views/interfaces/status-data.mjs} +0 -0
- /package/{esm2015/lib/desy-views/interfaces/status-icon-data.js → esm2020/lib/desy-views/interfaces/status-icon-data.mjs} +0 -0
- /package/{esm2015/lib/desy-views/interfaces/status-item-title-data.js → esm2020/lib/desy-views/interfaces/status-item-title-data.mjs} +0 -0
- /package/{esm2015/lib/desy-views/interfaces/tabs-panel-data.js → esm2020/lib/desy-views/interfaces/tabs-panel-data.mjs} +0 -0
- /package/{esm2015/lib/desy-views/interfaces/term-definition.data.js → esm2020/lib/desy-views/interfaces/term-definition.data.mjs} +0 -0
- /package/{esm2015/lib/shared/components/index.js → esm2020/lib/shared/components/index.mjs} +0 -0
- /package/{esm2015/lib/shared/decorators/desy-content-child.decorator.js → esm2020/lib/shared/decorators/desy-content-child.decorator.mjs} +0 -0
- /package/{esm2015/lib/shared/decorators/desy-on-input-change.decorator.js → esm2020/lib/shared/decorators/desy-on-input-change.decorator.mjs} +0 -0
- /package/{esm2015/lib/shared/interfaces/accesibility-data.js → esm2020/lib/shared/interfaces/accesibility-data.mjs} +0 -0
- /package/{esm2015/lib/shared/utils/focus-utils.js → esm2020/lib/shared/utils/focus-utils.mjs} +0 -0
- /package/{esm2015/lib/shared/utils/search-utils.js → esm2020/lib/shared/utils/search-utils.mjs} +0 -0
- /package/{esm2015/lib/shared/utils/string-utils.js → esm2020/lib/shared/utils/string-utils.mjs} +0 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { Component, ContentChildren, HostBinding, Input, ViewChild, ViewChildren } from '@angular/core';
|
|
2
|
+
import { AccessibilityComponent } from '../../../shared/components';
|
|
3
|
+
import { StringUtils } from '../../../shared/utils/string-utils';
|
|
4
|
+
import { TabItemComponent } from './tab-item/tab-item.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/cdk/layout";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
import * as i3 from "../../../shared/directives/custom-inner-content.directive";
|
|
9
|
+
import * as i4 from "../../../shared/pipes/make-html-list.pipe";
|
|
10
|
+
export class TabsComponent extends AccessibilityComponent {
|
|
11
|
+
constructor(changeDetector, media) {
|
|
12
|
+
super();
|
|
13
|
+
this.changeDetector = changeDetector;
|
|
14
|
+
this.currentTab = 0;
|
|
15
|
+
this.mobileQuery = media.matchMedia("(max-width: 600px)");
|
|
16
|
+
this.queryListener = () => changeDetector.detectChanges();
|
|
17
|
+
this.mobileQuery.addEventListener('change', this.queryListener);
|
|
18
|
+
}
|
|
19
|
+
ngOnChanges(changes) {
|
|
20
|
+
this.classes = this.classes ? 'c-tabs ' + this.classes : 'c-tabs';
|
|
21
|
+
this.idData = this.id ? this.id : null;
|
|
22
|
+
this.roleData = this.role ? this.role : null;
|
|
23
|
+
this.ariaDescribedbyData = this.ariaDescribedBy ? this.ariaDescribedBy : null;
|
|
24
|
+
this.ariaErrormessageData = this.ariaErrorMessage ? this.ariaErrorMessage : null;
|
|
25
|
+
this.ariaLabelData = this.ariaLabel ? this.ariaLabel : null;
|
|
26
|
+
this.ariaLabelledbyData = this.ariaLabelledBy ? this.ariaLabelledBy : null;
|
|
27
|
+
this.ariaHiddenData = this.ariaHidden ? this.ariaHidden : null;
|
|
28
|
+
this.ariaDisabledData = this.ariaDisabled ? this.ariaDisabled : null;
|
|
29
|
+
this.ariaControlsData = this.ariaControls ? this.ariaControls : null;
|
|
30
|
+
this.ariaCurrentData = this.ariaCurrent ? this.ariaCurrent : null;
|
|
31
|
+
this.ariaLiveData = this.ariaLive ? this.ariaLive : null;
|
|
32
|
+
this.ariaExpandedData = this.ariaExpanded ? this.ariaExpanded : null;
|
|
33
|
+
this.ariaHaspopupData = this.ariaHasPopup ? this.ariaHasPopup : null;
|
|
34
|
+
this.tabindexData = this.tabindex ? this.tabindex : null;
|
|
35
|
+
}
|
|
36
|
+
ngAfterViewInit() {
|
|
37
|
+
if (this.items) {
|
|
38
|
+
const item = this.getItems();
|
|
39
|
+
this.selectTab(item.findIndex(value => !value.disabled));
|
|
40
|
+
}
|
|
41
|
+
this.changeDetector.detectChanges();
|
|
42
|
+
}
|
|
43
|
+
getItems() {
|
|
44
|
+
const items = (this.itemComponents.length > 0) ? this.itemComponents.toArray() : this.items;
|
|
45
|
+
return items;
|
|
46
|
+
}
|
|
47
|
+
getItemPanel(tab) {
|
|
48
|
+
let panel;
|
|
49
|
+
const items = this.getItems();
|
|
50
|
+
const item = items[tab];
|
|
51
|
+
if (item instanceof TabItemComponent) {
|
|
52
|
+
panel = item.panelComponent;
|
|
53
|
+
}
|
|
54
|
+
return panel;
|
|
55
|
+
}
|
|
56
|
+
getIdPrefix() {
|
|
57
|
+
if (this.idPrefix) {
|
|
58
|
+
return this.idPrefix;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
getItemId(index) {
|
|
62
|
+
let id;
|
|
63
|
+
const item = this.getItems();
|
|
64
|
+
if (item[index].id) {
|
|
65
|
+
id = item[index].id;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
id = this.getIdPrefix() + '-' + index;
|
|
69
|
+
}
|
|
70
|
+
return id;
|
|
71
|
+
}
|
|
72
|
+
isDisabled(item) {
|
|
73
|
+
return item.disabled ? true : null;
|
|
74
|
+
}
|
|
75
|
+
selectTab(i) {
|
|
76
|
+
this.currentTab = i;
|
|
77
|
+
const currentItem = this.getItems()[i];
|
|
78
|
+
this.currentPanel = currentItem instanceof TabItemComponent ? currentItem.panelComponent : currentItem.panel;
|
|
79
|
+
this.tabSrOnly.nativeElement.innerHTML = this.tabSelectorContentWrapper.toArray()[this.currentTab].nativeElement.innerHTML;
|
|
80
|
+
}
|
|
81
|
+
focusFirstTab(event) {
|
|
82
|
+
if (event) {
|
|
83
|
+
event.preventDefault();
|
|
84
|
+
}
|
|
85
|
+
const enabledTabs = this.tabSelectors.filter((item, index) => !item[index].disabled);
|
|
86
|
+
enabledTabs[0].nativeElement.focus();
|
|
87
|
+
}
|
|
88
|
+
focusLastTab(event) {
|
|
89
|
+
if (event) {
|
|
90
|
+
event.preventDefault();
|
|
91
|
+
}
|
|
92
|
+
const enabledTabs = this.tabSelectors.filter((item, index) => !item[index].disabled);
|
|
93
|
+
enabledTabs[enabledTabs.length - 1].nativeElement.focus();
|
|
94
|
+
}
|
|
95
|
+
focusNextTab(focusedTab) {
|
|
96
|
+
const item = this.getItems();
|
|
97
|
+
let nextTab = (focusedTab + 1) % item.length;
|
|
98
|
+
while (nextTab !== focusedTab) {
|
|
99
|
+
if (!item[nextTab].disabled) {
|
|
100
|
+
this.tabSelectors.find((i, index) => index === nextTab).nativeElement.focus();
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
nextTab = (nextTab + 1) % item.length;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
focusPreviousTab(focusedTab) {
|
|
107
|
+
const item = this.getItems();
|
|
108
|
+
let previousTab = (focusedTab - 1 + item.length) % item.length;
|
|
109
|
+
while (previousTab !== focusedTab) {
|
|
110
|
+
if (!item[previousTab].disabled) {
|
|
111
|
+
this.tabSelectors.find((i, index) => index === previousTab).nativeElement.focus();
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
previousTab = (previousTab - 1 + item.length) % item.length;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
getPanelContent(tab) {
|
|
118
|
+
const item = this.getItems();
|
|
119
|
+
return item[tab].panel && item[tab].panel.text ? `<p>${StringUtils.escapeHtml(item[tab].panel.text)}</p>` : null;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
TabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.MediaMatcher }], target: i0.ɵɵFactoryTarget.Component });
|
|
123
|
+
TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TabsComponent, selector: "desy-tabs", inputs: { id: "id", idPrefix: "idPrefix", headingLevel: "headingLevel", title: "title", tablistAriaLabel: "tablistAriaLabel", items: "items", classes: "classes" }, host: { properties: { "class": "this.classes", "attr.id": "this.idData", "attr.role": "this.roleData", "attr.aria-describedby": "this.ariaDescribedbyData", "attr.aria-errormessage": "this.ariaErrormessageData", "attr.aria-label": "this.ariaLabelData", "attr.aria-labelledby": "this.ariaLabelledbyData", "attr.aria-hidden": "this.ariaHiddenData", "attr.aria-disabled": "this.ariaDisabledData", "attr.aria-controls": "this.ariaControlsData", "attr.aria-current": "this.ariaCurrentData", "attr.aria-live": "this.ariaLiveData", "attr.aria-expanded": "this.ariaExpandedData", "attr.aria-haspopup": "this.ariaHaspopupData", "attr.tabindex": "this.tabindexData" } }, queries: [{ propertyName: "itemComponents", predicate: TabItemComponent }], viewQueries: [{ propertyName: "tabSrOnly", first: true, predicate: ["tabSrOnly"], descendants: true }, { propertyName: "tabSelectors", predicate: ["tabSelector"], descendants: true }, { propertyName: "tabSelectorContentWrapper", predicate: ["tabSelectorContentWrapper"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"title\">\n <ng-container [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h1>\n <h2 *ngSwitchCase=\"2\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h2>\n <h3 *ngSwitchCase=\"3\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h3>\n <h4 *ngSwitchCase=\"4\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h4>\n <h5 *ngSwitchCase=\"5\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h5>\n <h2 *ngSwitchDefault class=\"lg:hidden mb-sm text-sm\">{{title}}</h2>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"!title\">\n <ng-container [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" class=\"lg:hidden mb-sm text-sm\">Contenido</h1>\n <h2 *ngSwitchCase=\"2\" class=\"lg:hidden mb-sm text-sm\">Contenido</h2>\n <h3 *ngSwitchCase=\"3\" class=\"lg:hidden mb-sm text-sm\">Contenido</h3>\n <h4 *ngSwitchCase=\"4\" class=\"lg:hidden mb-sm text-sm\">Contenido</h4>\n <h5 *ngSwitchCase=\"5\" class=\"lg:hidden mb-sm text-sm\">Contenido</h5>\n <h2 *ngSwitchDefault class=\"lg:hidden mb-sm text-sm\">Contenido</h2>\n </ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"getItems()\">\n <div class=\"c-tabs lg:flex lg:flex-wrap mb-[-0.125rem]\" role=\"tablist\" [attr.aria-label]=tablistAriaLabel>\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <button #tabSelector\n (click)=\"selectTab(i)\"\n (keydown.home)=\"focusFirstTab($event)\"\n (keydown.end)=\"focusLastTab($event)\"\n (keydown.arrowleft)=\"focusPreviousTab(i)\"\n (keydown.arrowright)=\"focusNextTab(i)\"\n class=\"aria-selected:bg-white aria-selected:rounded-t-[0.1875rem] aria-selected:border-b-0 relative flex items-center text-black underline truncate border border-transparent aria-selected:no-underline py-sm lg:px-lg lg:py-base hover:text-primary-base focus:outline-none\"\n [ngClass]=\"{'opacity-50 pointer-events-none': isDisabled(item), 'aria-selected:border-[rgb(146_148_155/1)]' : !this.mobileQuery.matches}\"\n [attr.id]=\"getItemId(i)\"\n [attr.role]=\"(item.role ? role : 'tab')\"\n [attr.aria-selected]=\"currentTab === i ? 'true' : 'false'\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-controls]=\"'tab-' + getItemId(i)\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"(currentTab !== i || item.disabled ? '-1' : null)\"\n [attr.disabled]=\"isDisabled(item)\"\n [attr.aria-disabled]=\"isDisabled(item) ? 'true' : (ariaDisabled ? ariaDisabled : null)\">\n <span #tabSelectorContentWrapper class=\"flex items-center pointer-events-none\">\n <ng-container *desyCustomInnerContent=\"{ component: item.contentComponent, html: item.html, text: item.text}\"></ng-container>\n </span>\n </button>\n </ng-container>\n </div>\n\n <div [class]=\"['p-base mt-base lg:mt-0 border border-neutral-base focus:outline-none focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-warning-base', currentPanel?.classes] | makeHtmlList\"\n [attr.id]=\"'tab-' + getItemId(currentTab)\"\n [attr.role]=\"(currentPanel?.role ? currentPanel?.role : 'tabpanel')\"\n [attr.aria-describedby]=\"currentPanel?.ariaDescribedBy\"\n [attr.aria-errormessage]=\"currentPanel?.ariaErrorMessage\"\n [attr.aria-label]=\"currentPanel?.ariaLabel\"\n [attr.aria-labelledby]=\"getItemId(currentTab)\"\n [attr.aria-hidden]=\"currentPanel?.ariaHidden\"\n [attr.aria-disabled]=\"currentPanel?.ariaDisabled\"\n [attr.aria-controls]=\"currentPanel?.ariaControls\"\n [attr.aria-current]=\"currentPanel?.ariaCurrent\"\n [attr.aria-live]=\"currentPanel?.ariaLive\"\n [attr.aria-expanded]=\"currentPanel?.ariaExpanded\"\n [attr.aria-haspopup]=\"currentPanel?.ariaHasPopup\"\n [attr.tabindex]=\"(currentPanel?.tabindex ? currentPanel?.tabindex : '0')\">\n <ng-container [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h1>\n <h2 *ngSwitchCase=\"2\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h2>\n <h3 *ngSwitchCase=\"3\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h3>\n <h4 *ngSwitchCase=\"4\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h4>\n <h5 *ngSwitchCase=\"5\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h5>\n <h3 *ngSwitchDefault #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h3>\n </ng-container>\n <ng-container *desyCustomInnerContent=\"{ component: getItemPanel(currentTab), template: currentPanel?.html, html: getPanelContent(currentTab) }\"></ng-container>\n </div>\n</ng-container>", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "pipe", type: i4.MakeHtmlListPipe, name: "makeHtmlList" }] });
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TabsComponent, decorators: [{
|
|
125
|
+
type: Component,
|
|
126
|
+
args: [{ selector: 'desy-tabs', template: "<ng-container *ngIf=\"title\">\n <ng-container [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h1>\n <h2 *ngSwitchCase=\"2\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h2>\n <h3 *ngSwitchCase=\"3\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h3>\n <h4 *ngSwitchCase=\"4\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h4>\n <h5 *ngSwitchCase=\"5\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h5>\n <h2 *ngSwitchDefault class=\"lg:hidden mb-sm text-sm\">{{title}}</h2>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"!title\">\n <ng-container [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" class=\"lg:hidden mb-sm text-sm\">Contenido</h1>\n <h2 *ngSwitchCase=\"2\" class=\"lg:hidden mb-sm text-sm\">Contenido</h2>\n <h3 *ngSwitchCase=\"3\" class=\"lg:hidden mb-sm text-sm\">Contenido</h3>\n <h4 *ngSwitchCase=\"4\" class=\"lg:hidden mb-sm text-sm\">Contenido</h4>\n <h5 *ngSwitchCase=\"5\" class=\"lg:hidden mb-sm text-sm\">Contenido</h5>\n <h2 *ngSwitchDefault class=\"lg:hidden mb-sm text-sm\">Contenido</h2>\n </ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"getItems()\">\n <div class=\"c-tabs lg:flex lg:flex-wrap mb-[-0.125rem]\" role=\"tablist\" [attr.aria-label]=tablistAriaLabel>\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <button #tabSelector\n (click)=\"selectTab(i)\"\n (keydown.home)=\"focusFirstTab($event)\"\n (keydown.end)=\"focusLastTab($event)\"\n (keydown.arrowleft)=\"focusPreviousTab(i)\"\n (keydown.arrowright)=\"focusNextTab(i)\"\n class=\"aria-selected:bg-white aria-selected:rounded-t-[0.1875rem] aria-selected:border-b-0 relative flex items-center text-black underline truncate border border-transparent aria-selected:no-underline py-sm lg:px-lg lg:py-base hover:text-primary-base focus:outline-none\"\n [ngClass]=\"{'opacity-50 pointer-events-none': isDisabled(item), 'aria-selected:border-[rgb(146_148_155/1)]' : !this.mobileQuery.matches}\"\n [attr.id]=\"getItemId(i)\"\n [attr.role]=\"(item.role ? role : 'tab')\"\n [attr.aria-selected]=\"currentTab === i ? 'true' : 'false'\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-controls]=\"'tab-' + getItemId(i)\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"(currentTab !== i || item.disabled ? '-1' : null)\"\n [attr.disabled]=\"isDisabled(item)\"\n [attr.aria-disabled]=\"isDisabled(item) ? 'true' : (ariaDisabled ? ariaDisabled : null)\">\n <span #tabSelectorContentWrapper class=\"flex items-center pointer-events-none\">\n <ng-container *desyCustomInnerContent=\"{ component: item.contentComponent, html: item.html, text: item.text}\"></ng-container>\n </span>\n </button>\n </ng-container>\n </div>\n\n <div [class]=\"['p-base mt-base lg:mt-0 border border-neutral-base focus:outline-none focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-warning-base', currentPanel?.classes] | makeHtmlList\"\n [attr.id]=\"'tab-' + getItemId(currentTab)\"\n [attr.role]=\"(currentPanel?.role ? currentPanel?.role : 'tabpanel')\"\n [attr.aria-describedby]=\"currentPanel?.ariaDescribedBy\"\n [attr.aria-errormessage]=\"currentPanel?.ariaErrorMessage\"\n [attr.aria-label]=\"currentPanel?.ariaLabel\"\n [attr.aria-labelledby]=\"getItemId(currentTab)\"\n [attr.aria-hidden]=\"currentPanel?.ariaHidden\"\n [attr.aria-disabled]=\"currentPanel?.ariaDisabled\"\n [attr.aria-controls]=\"currentPanel?.ariaControls\"\n [attr.aria-current]=\"currentPanel?.ariaCurrent\"\n [attr.aria-live]=\"currentPanel?.ariaLive\"\n [attr.aria-expanded]=\"currentPanel?.ariaExpanded\"\n [attr.aria-haspopup]=\"currentPanel?.ariaHasPopup\"\n [attr.tabindex]=\"(currentPanel?.tabindex ? currentPanel?.tabindex : '0')\">\n <ng-container [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h1>\n <h2 *ngSwitchCase=\"2\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h2>\n <h3 *ngSwitchCase=\"3\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h3>\n <h4 *ngSwitchCase=\"4\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h4>\n <h5 *ngSwitchCase=\"5\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h5>\n <h3 *ngSwitchDefault #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h3>\n </ng-container>\n <ng-container *desyCustomInnerContent=\"{ component: getItemPanel(currentTab), template: currentPanel?.html, html: getPanelContent(currentTab) }\"></ng-container>\n </div>\n</ng-container>" }]
|
|
127
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.MediaMatcher }]; }, propDecorators: { itemComponents: [{
|
|
128
|
+
type: ContentChildren,
|
|
129
|
+
args: [TabItemComponent]
|
|
130
|
+
}], tabSelectors: [{
|
|
131
|
+
type: ViewChildren,
|
|
132
|
+
args: ['tabSelector']
|
|
133
|
+
}], tabSelectorContentWrapper: [{
|
|
134
|
+
type: ViewChildren,
|
|
135
|
+
args: ['tabSelectorContentWrapper']
|
|
136
|
+
}], tabSrOnly: [{
|
|
137
|
+
type: ViewChild,
|
|
138
|
+
args: ['tabSrOnly']
|
|
139
|
+
}], id: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], idPrefix: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], headingLevel: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], title: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], tablistAriaLabel: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], items: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], classes: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}, {
|
|
154
|
+
type: HostBinding,
|
|
155
|
+
args: ['class']
|
|
156
|
+
}], idData: [{
|
|
157
|
+
type: HostBinding,
|
|
158
|
+
args: ['attr.id']
|
|
159
|
+
}], roleData: [{
|
|
160
|
+
type: HostBinding,
|
|
161
|
+
args: ['attr.role']
|
|
162
|
+
}], ariaDescribedbyData: [{
|
|
163
|
+
type: HostBinding,
|
|
164
|
+
args: ['attr.aria-describedby']
|
|
165
|
+
}], ariaErrormessageData: [{
|
|
166
|
+
type: HostBinding,
|
|
167
|
+
args: ['attr.aria-errormessage']
|
|
168
|
+
}], ariaLabelData: [{
|
|
169
|
+
type: HostBinding,
|
|
170
|
+
args: ['attr.aria-label']
|
|
171
|
+
}], ariaLabelledbyData: [{
|
|
172
|
+
type: HostBinding,
|
|
173
|
+
args: ['attr.aria-labelledby']
|
|
174
|
+
}], ariaHiddenData: [{
|
|
175
|
+
type: HostBinding,
|
|
176
|
+
args: ['attr.aria-hidden']
|
|
177
|
+
}], ariaDisabledData: [{
|
|
178
|
+
type: HostBinding,
|
|
179
|
+
args: ['attr.aria-disabled']
|
|
180
|
+
}], ariaControlsData: [{
|
|
181
|
+
type: HostBinding,
|
|
182
|
+
args: ['attr.aria-controls']
|
|
183
|
+
}], ariaCurrentData: [{
|
|
184
|
+
type: HostBinding,
|
|
185
|
+
args: ['attr.aria-current']
|
|
186
|
+
}], ariaLiveData: [{
|
|
187
|
+
type: HostBinding,
|
|
188
|
+
args: ['attr.aria-live']
|
|
189
|
+
}], ariaExpandedData: [{
|
|
190
|
+
type: HostBinding,
|
|
191
|
+
args: ['attr.aria-expanded']
|
|
192
|
+
}], ariaHaspopupData: [{
|
|
193
|
+
type: HostBinding,
|
|
194
|
+
args: ['attr.aria-haspopup']
|
|
195
|
+
}], tabindexData: [{
|
|
196
|
+
type: HostBinding,
|
|
197
|
+
args: ['attr.tabindex']
|
|
198
|
+
}] } });
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXZpZXdzL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBRWYsV0FBVyxFQUNYLEtBQUssRUFJTCxTQUFTLEVBQ1QsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBT2pFLE1BQU0sT0FBTyxhQUFjLFNBQVEsc0JBQXNCO0lBd0N2RCxZQUFvQixjQUFpQyxFQUFFLEtBQW1CO1FBQ3hFLEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBTnJELGVBQVUsR0FBRyxDQUFDLENBQUM7UUFRYixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDbEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDN0MsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM5RSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNqRixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM1RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzNFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQy9ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDckUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNyRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNsRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN6RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDckUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0QsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFHLElBQUksQ0FBQyxLQUFLLEVBQUM7WUFDWixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUMxRDtRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEtBQUssR0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzdGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFXO1FBQ3RCLElBQUksS0FBSyxDQUFDO1FBQ1YsTUFBTSxLQUFLLEdBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9CLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixJQUFJLElBQUksWUFBWSxnQkFBZ0IsRUFBQztZQUNuQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUM3QjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUdELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksRUFBRSxDQUFDO1FBQ1AsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQixFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNyQjthQUFNO1lBQ0wsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO1NBQ3ZDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUdELFNBQVMsQ0FBRSxDQUFTO1FBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsWUFBWSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUM3RyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQzdILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWTtRQUN4QixJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckYsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVk7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDeEI7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JGLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQWtCO1FBQzdCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixJQUFJLE9BQU8sR0FBRyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzdDLE9BQU8sT0FBTyxLQUFNLFVBQVUsRUFBRTtZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM5RSxNQUFNO2FBQ1A7WUFDRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFrQjtRQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxXQUFXLEdBQUcsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQy9ELE9BQU8sV0FBVyxLQUFNLFVBQVUsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNsRixNQUFNO2FBQ1A7WUFDRCxXQUFXLEdBQUcsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFXO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNySCxDQUFDOzswR0FuS1UsYUFBYTs4RkFBYixhQUFhLHc0QkFFUCxnQkFBZ0IsOFdDekJuQyx5b0xBZ0ZlOzJGRHpERixhQUFhO2tCQUp6QixTQUFTOytCQUNFLFdBQVc7bUlBS2MsY0FBYztzQkFBaEQsZUFBZTt1QkFBQyxnQkFBZ0I7Z0JBQ0osWUFBWTtzQkFBeEMsWUFBWTt1QkFBQyxhQUFhO2dCQUNnQix5QkFBeUI7c0JBQW5FLFlBQVk7dUJBQUMsMkJBQTJCO2dCQUNqQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBR2IsRUFBRTtzQkFBVixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFeUIsT0FBTztzQkFBckMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxPQUFPO2dCQUdMLE1BQU07c0JBQTdCLFdBQVc7dUJBQUMsU0FBUztnQkFDSSxRQUFRO3NCQUFqQyxXQUFXO3VCQUFDLFdBQVc7Z0JBQ2MsbUJBQW1CO3NCQUF4RCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDRyxvQkFBb0I7c0JBQTFELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUNMLGFBQWE7c0JBQTVDLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUNPLGtCQUFrQjtzQkFBdEQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0YsY0FBYztzQkFBOUMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBQ0ksZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDRSxnQkFBZ0I7c0JBQWxELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNDLGVBQWU7c0JBQWhELFdBQVc7dUJBQUMsbUJBQW1CO2dCQUNELFlBQVk7c0JBQTFDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNNLGdCQUFnQjtzQkFBbEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0UsZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDSCxZQUFZO3NCQUF6QyxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcbmltcG9ydCB7IFN0cmluZ1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3N0cmluZy11dGlscyc7XG5pbXBvcnQgeyBUYWJzSXRlbXNEYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUYWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdGFicycsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUYWJzQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJJdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9uZW50czogUXVlcnlMaXN0PFRhYkl0ZW1Db21wb25lbnQ+O1xuICBAVmlld0NoaWxkcmVuKCd0YWJTZWxlY3RvcicpIHRhYlNlbGVjdG9yczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICBAVmlld0NoaWxkcmVuKCd0YWJTZWxlY3RvckNvbnRlbnRXcmFwcGVyJykgdGFiU2VsZWN0b3JDb250ZW50V3JhcHBlcjogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICBAVmlld0NoaWxkKCd0YWJTck9ubHknKSB0YWJTck9ubHk6IEVsZW1lbnRSZWY7XG5cblxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBpZFByZWZpeDogc3RyaW5nO1xuICBASW5wdXQoKSBoZWFkaW5nTGV2ZWw6IG51bWJlcjtcbiAgXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRhYmxpc3RBcmlhTGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgaXRlbXM6IFRhYnNJdGVtc0RhdGFbXTtcbiAgXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc2VzOiBhbnk7XG5cbiAgLy9BY2Nlc3NpYmlsaXR5XG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIGlkRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGVEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgYXJpYURlc2NyaWJlZGJ5RGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2UnKSBhcmlhRXJyb3JtZXNzYWdlRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpIGFyaWFMYWJlbERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWxsZWRieScpIGFyaWFMYWJlbGxlZGJ5RGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKSBhcmlhSGlkZGVuRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpIGFyaWFEaXNhYmxlZERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY29udHJvbHMnKSBhcmlhQ29udHJvbHNEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWN1cnJlbnQnKSBhcmlhQ3VycmVudERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGl2ZScpIGFyaWFMaXZlRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpIGFyaWFFeHBhbmRlZERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGFzcG9wdXAnKSBhcmlhSGFzcG9wdXBEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHRhYmluZGV4RGF0YTogYW55O1xuXG4gIGN1cnJlbnRUYWIgPSAwO1xuICBjdXJyZW50UGFuZWw7XG5cbiAgbW9iaWxlUXVlcnk6IE1lZGlhUXVlcnlMaXN0O1xuICBwcml2YXRlIHF1ZXJ5TGlzdGVuZXI6ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIG1lZGlhOiBNZWRpYU1hdGNoZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubW9iaWxlUXVlcnkgPSBtZWRpYS5tYXRjaE1lZGlhKFwiKG1heC13aWR0aDogNjAwcHgpXCIpO1xuICAgIHRoaXMucXVlcnlMaXN0ZW5lciA9ICgpID0+IGNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLm1vYmlsZVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMucXVlcnlMaXN0ZW5lcik7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jbGFzc2VzID0gdGhpcy5jbGFzc2VzID8gJ2MtdGFicyAnICsgdGhpcy5jbGFzc2VzIDogJ2MtdGFicyc7XG4gICAgdGhpcy5pZERhdGEgPSB0aGlzLmlkID8gdGhpcy5pZCA6IG51bGw7XG4gICAgdGhpcy5yb2xlRGF0YSA9IHRoaXMucm9sZSA/IHRoaXMucm9sZSA6IG51bGw7XG4gICAgdGhpcy5hcmlhRGVzY3JpYmVkYnlEYXRhID0gdGhpcy5hcmlhRGVzY3JpYmVkQnkgPyB0aGlzLmFyaWFEZXNjcmliZWRCeSA6IG51bGw7XG4gICAgdGhpcy5hcmlhRXJyb3JtZXNzYWdlRGF0YSA9IHRoaXMuYXJpYUVycm9yTWVzc2FnZSA/IHRoaXMuYXJpYUVycm9yTWVzc2FnZSA6IG51bGw7XG4gICAgdGhpcy5hcmlhTGFiZWxEYXRhID0gdGhpcy5hcmlhTGFiZWwgPyB0aGlzLmFyaWFMYWJlbCA6IG51bGw7XG4gICAgdGhpcy5hcmlhTGFiZWxsZWRieURhdGEgPSB0aGlzLmFyaWFMYWJlbGxlZEJ5ID8gdGhpcy5hcmlhTGFiZWxsZWRCeSA6IG51bGw7XG4gICAgdGhpcy5hcmlhSGlkZGVuRGF0YSA9IHRoaXMuYXJpYUhpZGRlbiA/IHRoaXMuYXJpYUhpZGRlbiA6IG51bGw7XG4gICAgdGhpcy5hcmlhRGlzYWJsZWREYXRhID0gdGhpcy5hcmlhRGlzYWJsZWQgPyB0aGlzLmFyaWFEaXNhYmxlZCA6IG51bGw7XG4gICAgdGhpcy5hcmlhQ29udHJvbHNEYXRhID0gdGhpcy5hcmlhQ29udHJvbHMgPyB0aGlzLmFyaWFDb250cm9scyA6IG51bGw7XG4gICAgdGhpcy5hcmlhQ3VycmVudERhdGEgPSB0aGlzLmFyaWFDdXJyZW50ID8gdGhpcy5hcmlhQ3VycmVudCA6IG51bGw7XG4gICAgdGhpcy5hcmlhTGl2ZURhdGEgPSB0aGlzLmFyaWFMaXZlID8gdGhpcy5hcmlhTGl2ZSA6IG51bGw7XG4gICAgdGhpcy5hcmlhRXhwYW5kZWREYXRhID0gdGhpcy5hcmlhRXhwYW5kZWQgPyB0aGlzLmFyaWFFeHBhbmRlZCA6IG51bGw7XG4gICAgdGhpcy5hcmlhSGFzcG9wdXBEYXRhID0gdGhpcy5hcmlhSGFzUG9wdXAgPyB0aGlzLmFyaWFIYXNQb3B1cCA6IG51bGw7XG4gICAgdGhpcy50YWJpbmRleERhdGEgPSB0aGlzLnRhYmluZGV4ID8gdGhpcy50YWJpbmRleCA6IG51bGw7XG4gIH1cbiAgXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZih0aGlzLml0ZW1zKXtcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW1zKCk7XG4gICAgICB0aGlzLnNlbGVjdFRhYihpdGVtLmZpbmRJbmRleCh2YWx1ZSA9PiAhdmFsdWUuZGlzYWJsZWQpKTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXRJdGVtcygpOiBUYWJzSXRlbXNEYXRhW118VGFiSXRlbUNvbXBvbmVudFtdIHtcbiAgICBjb25zdCBpdGVtcyA9ICAodGhpcy5pdGVtQ29tcG9uZW50cy5sZW5ndGggPiAwKSA/IHRoaXMuaXRlbUNvbXBvbmVudHMudG9BcnJheSgpIDogdGhpcy5pdGVtcztcbiAgICByZXR1cm4gaXRlbXM7XG4gIH1cblxuICBnZXRJdGVtUGFuZWwodGFiOiBudW1iZXIpOiBUYWJJdGVtQ29tcG9uZW50IHtcbiAgICBsZXQgcGFuZWw7XG4gICAgY29uc3QgaXRlbXMgPSAgdGhpcy5nZXRJdGVtcygpO1xuICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1t0YWJdO1xuICAgIGlmIChpdGVtIGluc3RhbmNlb2YgVGFiSXRlbUNvbXBvbmVudCl7XG4gICAgICBwYW5lbCA9IGl0ZW0ucGFuZWxDb21wb25lbnQ7XG4gICAgfVxuICAgIHJldHVybiBwYW5lbDtcbiAgfVxuXG5cbiAgZ2V0SWRQcmVmaXgoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pZFByZWZpeCkge1xuICAgICAgcmV0dXJuIHRoaXMuaWRQcmVmaXg7XG4gICAgfVxuICB9XG5cbiAgZ2V0SXRlbUlkKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBpZDtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRJdGVtcygpO1xuICAgIGlmIChpdGVtW2luZGV4XS5pZCkge1xuICAgICAgaWQgPSBpdGVtW2luZGV4XS5pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWQgPSB0aGlzLmdldElkUHJlZml4KCkgKyAnLScgKyBpbmRleDtcbiAgICB9XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgaXNEaXNhYmxlZChpdGVtOiBUYWJzSXRlbXNEYXRhKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGl0ZW0uZGlzYWJsZWQgPyB0cnVlIDogbnVsbDtcbiAgfVxuXG5cbiAgc2VsZWN0VGFiKCBpOiBudW1iZXIgKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50VGFiID0gaTtcbiAgICBjb25zdCBjdXJyZW50SXRlbSA9IHRoaXMuZ2V0SXRlbXMoKVtpXTtcbiAgICB0aGlzLmN1cnJlbnRQYW5lbCA9IGN1cnJlbnRJdGVtIGluc3RhbmNlb2YgVGFiSXRlbUNvbXBvbmVudCA/IGN1cnJlbnRJdGVtLnBhbmVsQ29tcG9uZW50IDogY3VycmVudEl0ZW0ucGFuZWw7XG4gICAgdGhpcy50YWJTck9ubHkubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLnRhYlNlbGVjdG9yQ29udGVudFdyYXBwZXIudG9BcnJheSgpW3RoaXMuY3VycmVudFRhYl0ubmF0aXZlRWxlbWVudC5pbm5lckhUTUw7XG4gIH1cblxuICBmb2N1c0ZpcnN0VGFiKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbmFibGVkVGFicyA9IHRoaXMudGFiU2VsZWN0b3JzLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+ICFpdGVtW2luZGV4XS5kaXNhYmxlZCk7XG4gICAgZW5hYmxlZFRhYnNbMF0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgZm9jdXNMYXN0VGFiKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbmFibGVkVGFicyA9IHRoaXMudGFiU2VsZWN0b3JzLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+ICFpdGVtW2luZGV4XS5kaXNhYmxlZCk7XG4gICAgZW5hYmxlZFRhYnNbZW5hYmxlZFRhYnMubGVuZ3RoIC0gMV0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgZm9jdXNOZXh0VGFiKGZvY3VzZWRUYWI6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW1zKCk7XG4gICAgbGV0IG5leHRUYWIgPSAoZm9jdXNlZFRhYiArIDEpICUgaXRlbS5sZW5ndGg7XG4gICAgd2hpbGUgKG5leHRUYWIgICE9PSBmb2N1c2VkVGFiKSB7XG4gICAgICBpZiAoIWl0ZW1bbmV4dFRhYl0uZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy50YWJTZWxlY3RvcnMuZmluZCgoaSwgaW5kZXgpID0+IGluZGV4ID09PSBuZXh0VGFiKS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgbmV4dFRhYiA9IChuZXh0VGFiICsgMSkgJSBpdGVtLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICBmb2N1c1ByZXZpb3VzVGFiKGZvY3VzZWRUYWI6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW1zKCk7XG4gICAgbGV0IHByZXZpb3VzVGFiID0gKGZvY3VzZWRUYWIgLSAxICsgaXRlbS5sZW5ndGgpICUgaXRlbS5sZW5ndGg7XG4gICAgd2hpbGUgKHByZXZpb3VzVGFiICAhPT0gZm9jdXNlZFRhYikge1xuICAgICAgaWYgKCFpdGVtW3ByZXZpb3VzVGFiXS5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLnRhYlNlbGVjdG9ycy5maW5kKChpLCBpbmRleCkgPT4gaW5kZXggPT09IHByZXZpb3VzVGFiKS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgcHJldmlvdXNUYWIgPSAocHJldmlvdXNUYWIgLSAxICsgaXRlbS5sZW5ndGgpICUgaXRlbS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgZ2V0UGFuZWxDb250ZW50KHRhYjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRJdGVtcygpO1xuICAgIHJldHVybiBpdGVtW3RhYl0ucGFuZWwgJiYgaXRlbVt0YWJdLnBhbmVsLnRleHQgPyBgPHA+JHsgU3RyaW5nVXRpbHMuZXNjYXBlSHRtbChpdGVtW3RhYl0ucGFuZWwudGV4dCkgfTwvcD5gIDogbnVsbDtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInRpdGxlXCI+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImhlYWRpbmdMZXZlbFwiPlxuICAgIDxoMSAqbmdTd2l0Y2hDYXNlPVwiMVwiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj57e3RpdGxlfX08L2gxPlxuICAgIDxoMiAqbmdTd2l0Y2hDYXNlPVwiMlwiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj57e3RpdGxlfX08L2gyPlxuICAgIDxoMyAqbmdTd2l0Y2hDYXNlPVwiM1wiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj57e3RpdGxlfX08L2gzPlxuICAgIDxoNCAqbmdTd2l0Y2hDYXNlPVwiNFwiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj57e3RpdGxlfX08L2g0PlxuICAgIDxoNSAqbmdTd2l0Y2hDYXNlPVwiNVwiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj57e3RpdGxlfX08L2g1PlxuICAgIDxoMiAqbmdTd2l0Y2hEZWZhdWx0IGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj57e3RpdGxlfX08L2gyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0aXRsZVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImhlYWRpbmdMZXZlbFwiPlxuICAgICAgPGgxICpuZ1N3aXRjaENhc2U9XCIxXCIgY2xhc3M9XCJsZzpoaWRkZW4gbWItc20gdGV4dC1zbVwiPkNvbnRlbmlkbzwvaDE+XG4gICAgICA8aDIgKm5nU3dpdGNoQ2FzZT1cIjJcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+Q29udGVuaWRvPC9oMj5cbiAgICAgIDxoMyAqbmdTd2l0Y2hDYXNlPVwiM1wiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj5Db250ZW5pZG88L2gzPlxuICAgICAgPGg0ICpuZ1N3aXRjaENhc2U9XCI0XCIgY2xhc3M9XCJsZzpoaWRkZW4gbWItc20gdGV4dC1zbVwiPkNvbnRlbmlkbzwvaDQ+XG4gICAgICA8aDUgKm5nU3dpdGNoQ2FzZT1cIjVcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+Q29udGVuaWRvPC9oNT5cbiAgICAgIDxoMiAqbmdTd2l0Y2hEZWZhdWx0IGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj5Db250ZW5pZG88L2gyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJnZXRJdGVtcygpXCI+XG4gIDxkaXYgY2xhc3M9XCJjLXRhYnMgbGc6ZmxleCBsZzpmbGV4LXdyYXAgbWItWy0wLjEyNXJlbV1cIiByb2xlPVwidGFibGlzdFwiIFthdHRyLmFyaWEtbGFiZWxdPXRhYmxpc3RBcmlhTGFiZWw+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldEl0ZW1zKCk7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAjdGFiU2VsZWN0b3JcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VGFiKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5ob21lKT1cImZvY3VzRmlyc3RUYWIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW5kKT1cImZvY3VzTGFzdFRhYigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd2xlZnQpPVwiZm9jdXNQcmV2aW91c1RhYihpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dyaWdodCk9XCJmb2N1c05leHRUYWIoaSlcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXJpYS1zZWxlY3RlZDpiZy13aGl0ZSBhcmlhLXNlbGVjdGVkOnJvdW5kZWQtdC1bMC4xODc1cmVtXSBhcmlhLXNlbGVjdGVkOmJvcmRlci1iLTAgcmVsYXRpdmUgZmxleCBpdGVtcy1jZW50ZXIgdGV4dC1ibGFjayB1bmRlcmxpbmUgdHJ1bmNhdGUgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCBhcmlhLXNlbGVjdGVkOm5vLXVuZGVybGluZSBweS1zbSBsZzpweC1sZyBsZzpweS1iYXNlIGhvdmVyOnRleHQtcHJpbWFyeS1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydvcGFjaXR5LTUwIHBvaW50ZXItZXZlbnRzLW5vbmUnOiBpc0Rpc2FibGVkKGl0ZW0pLCAnYXJpYS1zZWxlY3RlZDpib3JkZXItW3JnYigxNDZfMTQ4XzE1NS8xKV0nIDogIXRoaXMubW9iaWxlUXVlcnkubWF0Y2hlc31cIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImdldEl0ZW1JZChpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIucm9sZV09XCIoaXRlbS5yb2xlID8gcm9sZSA6ICd0YWInKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJjdXJyZW50VGFiID09PSBpID8gJ3RydWUnIDogJ2ZhbHNlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpdGVtLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiaXRlbS5hcmlhSGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIid0YWItJyArIGdldEl0ZW1JZChpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIml0ZW0uYXJpYUN1cnJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJpdGVtLmFyaWFMaXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uYXJpYUV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIml0ZW0uYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCIoY3VycmVudFRhYiAhPT0gaSB8fCBpdGVtLmRpc2FibGVkID8gJy0xJyA6IG51bGwpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoaXRlbSkgPyAndHJ1ZScgOiAoYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbClcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuICN0YWJTZWxlY3RvckNvbnRlbnRXcmFwcGVyIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcG9pbnRlci1ldmVudHMtbm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0uY29udGVudENvbXBvbmVudCwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHR9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgW2NsYXNzXT1cIlsncC1iYXNlIG10LWJhc2UgbGc6bXQtMCBib3JkZXIgYm9yZGVyLW5ldXRyYWwtYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6Ym9yZGVyLWJsYWNrIGZvY3VzOnNoYWRvdy1vdXRsaW5lLWZvY3VzLWlucHV0IGZvY3VzOnJpbmctNCBmb2N1czpyaW5nLXdhcm5pbmctYmFzZScsIGN1cnJlbnRQYW5lbD8uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICBbYXR0ci5pZF09XCIndGFiLScgKyBnZXRJdGVtSWQoY3VycmVudFRhYilcIlxuICAgICAgICBbYXR0ci5yb2xlXT1cIihjdXJyZW50UGFuZWw/LnJvbGUgPyBjdXJyZW50UGFuZWw/LnJvbGUgOiAndGFicGFuZWwnKVwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiY3VycmVudFBhbmVsPy5hcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJjdXJyZW50UGFuZWw/LmFyaWFFcnJvck1lc3NhZ2VcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImN1cnJlbnRQYW5lbD8uYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImdldEl0ZW1JZChjdXJyZW50VGFiKVwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImN1cnJlbnRQYW5lbD8uYXJpYUhpZGRlblwiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiY3VycmVudFBhbmVsPy5hcmlhRGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImN1cnJlbnRQYW5lbD8uYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImN1cnJlbnRQYW5lbD8uYXJpYUN1cnJlbnRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiY3VycmVudFBhbmVsPy5hcmlhTGl2ZVwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiY3VycmVudFBhbmVsPy5hcmlhRXhwYW5kZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImN1cnJlbnRQYW5lbD8uYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiKGN1cnJlbnRQYW5lbD8udGFiaW5kZXggPyBjdXJyZW50UGFuZWw/LnRhYmluZGV4IDogJzAnKVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImhlYWRpbmdMZXZlbFwiPlxuICAgICAgPGgxICpuZ1N3aXRjaENhc2U9XCIxXCIgI3RhYlNyT25seSBjbGFzcz1cImxnOnNyLW9ubHkgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIG1iLWJhc2UgbGc6bWItMCBmb250LXNlbWlib2xkXCI+PC9oMT5cbiAgICAgIDxoMiAqbmdTd2l0Y2hDYXNlPVwiMlwiICN0YWJTck9ubHkgY2xhc3M9XCJsZzpzci1vbmx5IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtYi1iYXNlIGxnOm1iLTAgZm9udC1zZW1pYm9sZFwiPjwvaDI+XG4gICAgICA8aDMgKm5nU3dpdGNoQ2FzZT1cIjNcIiAjdGFiU3JPbmx5IGNsYXNzPVwibGc6c3Itb25seSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgbWItYmFzZSBsZzptYi0wIGZvbnQtc2VtaWJvbGRcIj48L2gzPlxuICAgICAgPGg0ICpuZ1N3aXRjaENhc2U9XCI0XCIgI3RhYlNyT25seSBjbGFzcz1cImxnOnNyLW9ubHkgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIG1iLWJhc2UgbGc6bWItMCBmb250LXNlbWlib2xkXCI+PC9oND5cbiAgICAgIDxoNSAqbmdTd2l0Y2hDYXNlPVwiNVwiICN0YWJTck9ubHkgY2xhc3M9XCJsZzpzci1vbmx5IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtYi1iYXNlIGxnOm1iLTAgZm9udC1zZW1pYm9sZFwiPjwvaDU+XG4gICAgICA8aDMgKm5nU3dpdGNoRGVmYXVsdCAjdGFiU3JPbmx5IGNsYXNzPVwibGc6c3Itb25seSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgbWItYmFzZSBsZzptYi0wIGZvbnQtc2VtaWJvbGRcIj48L2gzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogZ2V0SXRlbVBhbmVsKGN1cnJlbnRUYWIpLCB0ZW1wbGF0ZTogY3VycmVudFBhbmVsPy5odG1sLCBodG1sOiBnZXRQYW5lbENvbnRlbnQoY3VycmVudFRhYikgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
package/esm2020/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { ContentBaseComponent } from '../../../../shared/components';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TooltipContentComponent extends ContentBaseComponent {
|
|
5
|
+
}
|
|
6
|
+
TooltipContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TooltipContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
+
TooltipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TooltipContentComponent, selector: "desy-tooltip-content", usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TooltipContentComponent, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{ selector: 'desy-tooltip-content', template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
11
|
+
}] });
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAtY29udGVudC90b29sdGlwLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS12aWV3cy9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC1jb250ZW50L3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQU1uRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsb0JBQW9COztvSEFBcEQsdUJBQXVCO3dHQUF2Qix1QkFBdUIsbUZDUHBDLCtFQUdBOzJGRElhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRlbnRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdG9vbHRpcC1jb250ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBDb250ZW50QmFzZUNvbXBvbmVudCB7XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, ContentChildren, ElementRef, HostBinding, Input, ViewChild } from '@angular/core';
|
|
3
|
+
import { AccessibilityComponent } from '../../../shared/components';
|
|
4
|
+
import { ContentComponent } from '../../../desy-commons/components/content/content.component';
|
|
5
|
+
import { IconComponent } from '../../../desy-commons/components/icon/icon.component';
|
|
6
|
+
import { TooltipContentComponent } from './tooltip-content/tooltip-content.component';
|
|
7
|
+
import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
import * as i2 from "../../../shared/directives/custom-inner-content.directive";
|
|
11
|
+
import * as i3 from "ngx-tippy-wrapper";
|
|
12
|
+
import * as i4 from "../../../shared/pipes/make-html-list.pipe";
|
|
13
|
+
export class TooltipComponent extends AccessibilityComponent {
|
|
14
|
+
constructor(changeDetectorRef) {
|
|
15
|
+
super();
|
|
16
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
17
|
+
this.hasContent = true;
|
|
18
|
+
this.hasIconComponentContent = true;
|
|
19
|
+
}
|
|
20
|
+
ngOnChanges(changes) {
|
|
21
|
+
this.classes = this.classes ? this.classes : null;
|
|
22
|
+
this.idData = this.id ? this.id : null;
|
|
23
|
+
this.roleData = this.role ? this.role : null;
|
|
24
|
+
this.ariaDescribedbyData = this.ariaDescribedBy ? this.ariaDescribedBy : null;
|
|
25
|
+
this.ariaErrormessageData = this.ariaErrorMessage ? this.ariaErrorMessage : null;
|
|
26
|
+
this.ariaLabelData = this.ariaLabel ? this.ariaLabel : null;
|
|
27
|
+
this.ariaLabelledbyData = this.ariaLabelledBy ? this.ariaLabelledBy : null;
|
|
28
|
+
this.ariaHiddenData = this.ariaHidden ? this.ariaHidden : null;
|
|
29
|
+
this.ariaDisabledData = this.ariaDisabled ? this.ariaDisabled : null;
|
|
30
|
+
this.ariaControlsData = this.ariaControls ? this.ariaControls : null;
|
|
31
|
+
this.ariaCurrentData = this.ariaCurrent ? this.ariaCurrent : null;
|
|
32
|
+
this.ariaLiveData = this.ariaLive ? this.ariaLive : null;
|
|
33
|
+
this.ariaExpandedData = this.ariaExpanded ? this.ariaExpanded : null;
|
|
34
|
+
this.ariaHaspopupData = this.ariaHasPopup ? this.ariaHasPopup : null;
|
|
35
|
+
this.tabindexData = this.tabindex ? this.tabindex : null;
|
|
36
|
+
}
|
|
37
|
+
ngAfterContentInit() {
|
|
38
|
+
const contentTooltip = this.tooltipContent.nativeElement;
|
|
39
|
+
this.tippyProperties = {
|
|
40
|
+
placement: 'top',
|
|
41
|
+
inlinePositioning: true,
|
|
42
|
+
content: contentTooltip,
|
|
43
|
+
allowHTML: true,
|
|
44
|
+
trigger: 'mouseenter focus',
|
|
45
|
+
hideOnClick: false,
|
|
46
|
+
theme: '',
|
|
47
|
+
plugins: [{
|
|
48
|
+
name: 'hideOnEsc',
|
|
49
|
+
defaultValue: true,
|
|
50
|
+
fn({ hide }) {
|
|
51
|
+
function onKeyDown(event) {
|
|
52
|
+
if (event.key === TooltipComponent.KEY_CODE_ESC) {
|
|
53
|
+
hide();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
onShow() {
|
|
58
|
+
document.addEventListener('keydown', onKeyDown);
|
|
59
|
+
},
|
|
60
|
+
onHide() {
|
|
61
|
+
document.removeEventListener('keydown', onKeyDown);
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
}],
|
|
66
|
+
role: 'tooltip',
|
|
67
|
+
aria: {
|
|
68
|
+
content: this.complex ? 'describedby' : 'labelledby',
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
getIdButton() {
|
|
73
|
+
return this.id + '-button';
|
|
74
|
+
}
|
|
75
|
+
getIdTooltip() {
|
|
76
|
+
return this.id + '-tooltip';
|
|
77
|
+
}
|
|
78
|
+
handleEmptyContent(isEmpty) {
|
|
79
|
+
this.hasContent = !isEmpty;
|
|
80
|
+
this.changeDetectorRef.detectChanges();
|
|
81
|
+
}
|
|
82
|
+
handleEmptyIconContent(isEmpty) {
|
|
83
|
+
this.hasIconComponentContent = !isEmpty;
|
|
84
|
+
this.changeDetectorRef.detectChanges();
|
|
85
|
+
}
|
|
86
|
+
getMainContent() {
|
|
87
|
+
let content;
|
|
88
|
+
if (this.html) {
|
|
89
|
+
content = this.html;
|
|
90
|
+
}
|
|
91
|
+
else if (this.text) {
|
|
92
|
+
content = `<p>${this.text}</p>`;
|
|
93
|
+
}
|
|
94
|
+
return content;
|
|
95
|
+
}
|
|
96
|
+
getIconContent(icon) {
|
|
97
|
+
let iconContent;
|
|
98
|
+
if (icon.html) {
|
|
99
|
+
iconContent = this.icon.html;
|
|
100
|
+
}
|
|
101
|
+
else if (icon.type === 'info') {
|
|
102
|
+
iconContent = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 140" width="1em" height="1em" class="w-4 h-4 text-primary-base" role="img" aria-label="Información"><path d="M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm7.5 105a7.5 7.5 0 01-15 0V70a7.5 7.5 0 0115 0zM70 50a10 10 0 1110-10 10 10 0 01-10 10z" fill="currentColor"/></svg>';
|
|
103
|
+
}
|
|
104
|
+
else if (icon.type === 'alert') {
|
|
105
|
+
iconContent = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 140" width="1em" height="1em" class="w-4 h-4 text-alert-base" role="img" aria-label="Alerta"><path d="M138.42 118.29l-55-110a15 15 0 00-26.84 0l-55 110A15 15 0 0015 140h110a15 15 0 0013.42-21.71zM62.5 50a7.5 7.5 0 0115 0v30a7.5 7.5 0 01-15 0zm7.5 70a10 10 0 1110-10 10 10 0 01-10 10z" fill="currentColor"/></svg>';
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
iconContent = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 140" width="1em" height="1em" class="w-4 h-4 text-primary-base" role="img" aria-label="Ayuda"><path d="M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm0 117.51a10 10 0 1110-10 10 10 0 01-10 10zm9.17-39.08a2.5 2.5 0 00-1.67 2.36v1.71a7.5 7.5 0 01-15 0v-10A7.5 7.5 0 0170 65a12.5 12.5 0 10-12.5-12.5 7.5 7.5 0 01-15 0 27.5 27.5 0 1136.67 25.93z" fill="currentColor"/></svg>';
|
|
109
|
+
}
|
|
110
|
+
return iconContent;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
TooltipComponent.KEY_CODE_ESC = 'Escape';
|
|
114
|
+
TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TooltipComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
+
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TooltipComponent, selector: "desy-tooltip", inputs: { id: "id", text: "text", html: "html", complex: "complex", classesTooltip: "classesTooltip", icon: "icon", caller: "caller", classes: "classes" }, host: { properties: { "class": "this.classes", "attr.id": "this.idData", "attr.role": "this.roleData", "attr.aria-describedby": "this.ariaDescribedbyData", "attr.aria-errormessage": "this.ariaErrormessageData", "attr.aria-label": "this.ariaLabelData", "attr.aria-labelledby": "this.ariaLabelledbyData", "attr.aria-hidden": "this.ariaHiddenData", "attr.aria-disabled": "this.ariaDisabledData", "attr.aria-controls": "this.ariaControlsData", "attr.aria-current": "this.ariaCurrentData", "attr.aria-live": "this.ariaLiveData", "attr.aria-expanded": "this.ariaExpandedData", "attr.aria-haspopup": "this.ariaHaspopupData", "attr.tabindex": "this.tabindexData" } }, queries: [{ propertyName: "contentComponent", predicate: ContentComponent }, { propertyName: "iconComponent", predicate: IconComponent }, { propertyName: "tooltipContentComponent", predicate: TooltipContentComponent }], viewQueries: [{ propertyName: "tooltipContent", first: true, predicate: ["tooltipContent"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"tippyProperties\" [attr.id]=\"getIdButton()\"\n ngxTippy [tippyProps]=\"tippyProperties\"\n class=\"inline-flex items-center focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black\"\n tabindex=\"0\" role=\"button\"\n [attr.aria-labelledby]=\"getIdButton() + ' ' + getIdTooltip()\">\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, html: getMainContent() }\"></ng-container>\n <span *ngIf=\"hasContent && ( (iconComponent) || (icon) )\" class=\"inline-block w-1.5\"></span>\n <span *ngIf=\"iconComponent\" class=\"inline-block\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent }\"></ng-container>\n\n <ng-container *ngIf=\"!hasIconComponentContent\">\n <ng-container [ngSwitch]=\"iconComponent.type\">\n <svg *ngSwitchCase=\"'info'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 text-primary-base\" role=\"img\" aria-label=\"Informaci\u00F3n\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm7.5 105a7.5 7.5 0 01-15 0V70a7.5 7.5 0 0115 0zM70 50a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchCase=\"'alert'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 text-alert-base\" role=\"img\" aria-label=\"Alerta\"><path d=\"M138.42 118.29l-55-110a15 15 0 00-26.84 0l-55 110A15 15 0 0015 140h110a15 15 0 0013.42-21.71zM62.5 50a7.5 7.5 0 0115 0v30a7.5 7.5 0 01-15 0zm7.5 70a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchDefault xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 text-primary-base\" role=\"img\" aria-label=\"Ayuda\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm0 117.51a10 10 0 1110-10 10 10 0 01-10 10zm9.17-39.08a2.5 2.5 0 00-1.67 2.36v1.71a7.5 7.5 0 01-15 0v-10A7.5 7.5 0 0170 65a12.5 12.5 0 10-12.5-12.5 7.5 7.5 0 01-15 0 27.5 27.5 0 1136.67 25.93z\" fill=\"currentColor\"/></svg>\n </ng-container>\n </ng-container>\n </span>\n <span *ngIf=\"!iconComponent && icon\" class=\"inline-block\">\n <ng-container *desyCustomInnerContent=\"{ html: getIconContent(icon) }\"></ng-container>\n </span>\n</div>\n\n<div #tooltipContent [attr.id]=\"getIdTooltip()\"\n [class]=\"['-my-xs p-sm shadow-md bg-black rounded text-white', classesTooltip] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{ component: tooltipContentComponent, template: caller }\"></ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i3.NgxTippyDirective, selector: "[ngxTippy]", inputs: ["ngxTippy", "tippyProps", "tippyName", "tippyClassName"] }, { kind: "pipe", type: i4.MakeHtmlListPipe, name: "makeHtmlList" }] });
|
|
116
|
+
__decorate([
|
|
117
|
+
DesyContentChild()
|
|
118
|
+
], TooltipComponent.prototype, "contentComponent", void 0);
|
|
119
|
+
__decorate([
|
|
120
|
+
DesyContentChild()
|
|
121
|
+
], TooltipComponent.prototype, "iconComponent", void 0);
|
|
122
|
+
__decorate([
|
|
123
|
+
DesyContentChild()
|
|
124
|
+
], TooltipComponent.prototype, "tooltipContentComponent", void 0);
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
126
|
+
type: Component,
|
|
127
|
+
args: [{ selector: 'desy-tooltip', template: "<div *ngIf=\"tippyProperties\" [attr.id]=\"getIdButton()\"\n ngxTippy [tippyProps]=\"tippyProperties\"\n class=\"inline-flex items-center focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black\"\n tabindex=\"0\" role=\"button\"\n [attr.aria-labelledby]=\"getIdButton() + ' ' + getIdTooltip()\">\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, html: getMainContent() }\"></ng-container>\n <span *ngIf=\"hasContent && ( (iconComponent) || (icon) )\" class=\"inline-block w-1.5\"></span>\n <span *ngIf=\"iconComponent\" class=\"inline-block\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent }\"></ng-container>\n\n <ng-container *ngIf=\"!hasIconComponentContent\">\n <ng-container [ngSwitch]=\"iconComponent.type\">\n <svg *ngSwitchCase=\"'info'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 text-primary-base\" role=\"img\" aria-label=\"Informaci\u00F3n\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm7.5 105a7.5 7.5 0 01-15 0V70a7.5 7.5 0 0115 0zM70 50a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchCase=\"'alert'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 text-alert-base\" role=\"img\" aria-label=\"Alerta\"><path d=\"M138.42 118.29l-55-110a15 15 0 00-26.84 0l-55 110A15 15 0 0015 140h110a15 15 0 0013.42-21.71zM62.5 50a7.5 7.5 0 0115 0v30a7.5 7.5 0 01-15 0zm7.5 70a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchDefault xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 text-primary-base\" role=\"img\" aria-label=\"Ayuda\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm0 117.51a10 10 0 1110-10 10 10 0 01-10 10zm9.17-39.08a2.5 2.5 0 00-1.67 2.36v1.71a7.5 7.5 0 01-15 0v-10A7.5 7.5 0 0170 65a12.5 12.5 0 10-12.5-12.5 7.5 7.5 0 01-15 0 27.5 27.5 0 1136.67 25.93z\" fill=\"currentColor\"/></svg>\n </ng-container>\n </ng-container>\n </span>\n <span *ngIf=\"!iconComponent && icon\" class=\"inline-block\">\n <ng-container *desyCustomInnerContent=\"{ html: getIconContent(icon) }\"></ng-container>\n </span>\n</div>\n\n<div #tooltipContent [attr.id]=\"getIdTooltip()\"\n [class]=\"['-my-xs p-sm shadow-md bg-black rounded text-white', classesTooltip] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{ component: tooltipContentComponent, template: caller }\"></ng-container>\n</div>\n" }]
|
|
128
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { contentComponent: [{
|
|
129
|
+
type: ContentChildren,
|
|
130
|
+
args: [ContentComponent]
|
|
131
|
+
}], iconComponent: [{
|
|
132
|
+
type: ContentChildren,
|
|
133
|
+
args: [IconComponent]
|
|
134
|
+
}], tooltipContentComponent: [{
|
|
135
|
+
type: ContentChildren,
|
|
136
|
+
args: [TooltipContentComponent]
|
|
137
|
+
}], tooltipContent: [{
|
|
138
|
+
type: ViewChild,
|
|
139
|
+
args: ['tooltipContent', { read: ElementRef, static: true }]
|
|
140
|
+
}], id: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], text: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], html: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], complex: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], classesTooltip: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], icon: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], caller: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], classes: [{
|
|
155
|
+
type: Input
|
|
156
|
+
}, {
|
|
157
|
+
type: HostBinding,
|
|
158
|
+
args: ['class']
|
|
159
|
+
}], idData: [{
|
|
160
|
+
type: HostBinding,
|
|
161
|
+
args: ['attr.id']
|
|
162
|
+
}], roleData: [{
|
|
163
|
+
type: HostBinding,
|
|
164
|
+
args: ['attr.role']
|
|
165
|
+
}], ariaDescribedbyData: [{
|
|
166
|
+
type: HostBinding,
|
|
167
|
+
args: ['attr.aria-describedby']
|
|
168
|
+
}], ariaErrormessageData: [{
|
|
169
|
+
type: HostBinding,
|
|
170
|
+
args: ['attr.aria-errormessage']
|
|
171
|
+
}], ariaLabelData: [{
|
|
172
|
+
type: HostBinding,
|
|
173
|
+
args: ['attr.aria-label']
|
|
174
|
+
}], ariaLabelledbyData: [{
|
|
175
|
+
type: HostBinding,
|
|
176
|
+
args: ['attr.aria-labelledby']
|
|
177
|
+
}], ariaHiddenData: [{
|
|
178
|
+
type: HostBinding,
|
|
179
|
+
args: ['attr.aria-hidden']
|
|
180
|
+
}], ariaDisabledData: [{
|
|
181
|
+
type: HostBinding,
|
|
182
|
+
args: ['attr.aria-disabled']
|
|
183
|
+
}], ariaControlsData: [{
|
|
184
|
+
type: HostBinding,
|
|
185
|
+
args: ['attr.aria-controls']
|
|
186
|
+
}], ariaCurrentData: [{
|
|
187
|
+
type: HostBinding,
|
|
188
|
+
args: ['attr.aria-current']
|
|
189
|
+
}], ariaLiveData: [{
|
|
190
|
+
type: HostBinding,
|
|
191
|
+
args: ['attr.aria-live']
|
|
192
|
+
}], ariaExpandedData: [{
|
|
193
|
+
type: HostBinding,
|
|
194
|
+
args: ['attr.aria-expanded']
|
|
195
|
+
}], ariaHaspopupData: [{
|
|
196
|
+
type: HostBinding,
|
|
197
|
+
args: ['attr.aria-haspopup']
|
|
198
|
+
}], tabindexData: [{
|
|
199
|
+
type: HostBinding,
|
|
200
|
+
args: ['attr.tabindex']
|
|
201
|
+
}] } });
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXZpZXdzL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUlMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUM1RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFFbkYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7Ozs7OztBQU16RixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsc0JBQXNCO0lBNkMxRCxZQUFvQixpQkFBb0M7UUFDdEQsS0FBSyxFQUFFLENBQUM7UUFEVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBSHhELGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsNEJBQXVCLEdBQUcsSUFBSSxDQUFDO0lBSS9CLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FB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T0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDeUIsT0FBTztzQkFBckMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxPQUFPO2dCQUlMLE1BQU07c0JBQTdCLFdBQVc7dUJBQUMsU0FBUztnQkFDSSxRQUFRO3NCQUFqQyxXQUFXO3VCQUFDLFdBQVc7Z0JBQ2MsbUJBQW1CO3NCQUF4RCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDRyxvQkFBb0I7c0JBQTFELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUNMLGFBQWE7c0JBQTVDLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUNPLGtCQUFrQjtzQkFBdEQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0YsY0FBYztzQkFBOUMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBQ0ksZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDRSxnQkFBZ0I7c0JBQWxELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNDLGVBQWU7c0JBQWhELFdBQVc7dUJBQUMsbUJBQW1CO2dCQUNELFlBQVk7c0JBQTFDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNNLGdCQUFnQjtzQkFBbEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0UsZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDSCxZQUFZO3NCQUF6QyxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQge0NvbnRlbnRDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtJY29uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7SWNvbkRhdGF9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9pbnRlcmZhY2VzJztcbmltcG9ydCB7VG9vbHRpcENvbnRlbnRDb21wb25lbnR9IGZyb20gJy4vdG9vbHRpcC1jb250ZW50L3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS10b29sdGlwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcblxuICBzdGF0aWMgcmVhZG9ubHkgS0VZX0NPREVfRVNDID0gJ0VzY2FwZSc7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKENvbnRlbnRDb21wb25lbnQpIGNvbnRlbnRDb21wb25lbnQ6IENvbnRlbnRDb21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKEljb25Db21wb25lbnQpIGljb25Db21wb25lbnQ6IEljb25Db21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKFRvb2x0aXBDb250ZW50Q29tcG9uZW50KSB0b29sdGlwQ29udGVudENvbXBvbmVudDogVG9vbHRpcENvbnRlbnRDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcENvbnRlbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSB0b29sdGlwQ29udGVudDogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGh0bWw6IHN0cmluZztcbiAgQElucHV0KCkgY29tcGxleDogYm9vbGVhbjtcbiAgQElucHV0KCkgY2xhc3Nlc1Rvb2x0aXA6IHN0cmluZztcbiAgQElucHV0KCkgaWNvbjogSWNvbkRhdGE7XG4gIEBJbnB1dCgpIGNhbGxlcjogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzZXM6IGFueTtcbiAgLy8gQEhvc3RCaW5kaW5nKCdkYXRhLW1vZHVsZScpIGRhdGFNb2R1bGUgPSBcImMtdGFic1wiO1xuXG4gIC8vQWNjZXNzaWJpbGl0eVxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBpZERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpIGFyaWFEZXNjcmliZWRieURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXJyb3JtZXNzYWdlJykgYXJpYUVycm9ybWVzc2FnZURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKSBhcmlhTGFiZWxEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsbGVkYnknKSBhcmlhTGFiZWxsZWRieURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJykgYXJpYUhpZGRlbkRhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGlzYWJsZWQnKSBhcmlhRGlzYWJsZWREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWNvbnRyb2xzJykgYXJpYUNvbnRyb2xzRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1jdXJyZW50JykgYXJpYUN1cnJlbnREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxpdmUnKSBhcmlhTGl2ZURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKSBhcmlhRXhwYW5kZWREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJykgYXJpYUhhc3BvcHVwRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleERhdGE6IGFueTtcblxuICB0aXBweVByb3BlcnRpZXM6IGFueTtcbiAgaGFzQ29udGVudCA9IHRydWU7XG4gIGhhc0ljb25Db21wb25lbnRDb250ZW50ID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jbGFzc2VzID0gdGhpcy5jbGFzc2VzID8gdGhpcy5jbGFzc2VzIDogbnVsbDtcbiAgICB0aGlzLmlkRGF0YSA9IHRoaXMuaWQgPyB0aGlzLmlkIDogbnVsbDtcbiAgICB0aGlzLnJvbGVEYXRhID0gdGhpcy5yb2xlID8gdGhpcy5yb2xlIDogbnVsbDtcbiAgICB0aGlzLmFyaWFEZXNjcmliZWRieURhdGEgPSB0aGlzLmFyaWFEZXNjcmliZWRCeSA/IHRoaXMuYXJpYURlc2NyaWJlZEJ5IDogbnVsbDtcbiAgICB0aGlzLmFyaWFFcnJvcm1lc3NhZ2VEYXRhID0gdGhpcy5hcmlhRXJyb3JNZXNzYWdlID8gdGhpcy5hcmlhRXJyb3JNZXNzYWdlIDogbnVsbDtcbiAgICB0aGlzLmFyaWFMYWJlbERhdGEgPSB0aGlzLmFyaWFMYWJlbCA/IHRoaXMuYXJpYUxhYmVsIDogbnVsbDtcbiAgICB0aGlzLmFyaWFMYWJlbGxlZGJ5RGF0YSA9IHRoaXMuYXJpYUxhYmVsbGVkQnkgPyB0aGlzLmFyaWFMYWJlbGxlZEJ5IDogbnVsbDtcbiAgICB0aGlzLmFyaWFIaWRkZW5EYXRhID0gdGhpcy5hcmlhSGlkZGVuID8gdGhpcy5hcmlhSGlkZGVuIDogbnVsbDtcbiAgICB0aGlzLmFyaWFEaXNhYmxlZERhdGEgPSB0aGlzLmFyaWFEaXNhYmxlZCA/IHRoaXMuYXJpYURpc2FibGVkIDogbnVsbDtcbiAgICB0aGlzLmFyaWFDb250cm9sc0RhdGEgPSB0aGlzLmFyaWFDb250cm9scyA/IHRoaXMuYXJpYUNvbnRyb2xzIDogbnVsbDtcbiAgICB0aGlzLmFyaWFDdXJyZW50RGF0YSA9IHRoaXMuYXJpYUN1cnJlbnQgPyB0aGlzLmFyaWFDdXJyZW50IDogbnVsbDtcbiAgICB0aGlzLmFyaWFMaXZlRGF0YSA9IHRoaXMuYXJpYUxpdmUgPyB0aGlzLmFyaWFMaXZlIDogbnVsbDtcbiAgICB0aGlzLmFyaWFFeHBhbmRlZERhdGEgPSB0aGlzLmFyaWFFeHBhbmRlZCA/IHRoaXMuYXJpYUV4cGFuZGVkIDogbnVsbDtcbiAgICB0aGlzLmFyaWFIYXNwb3B1cERhdGEgPSB0aGlzLmFyaWFIYXNQb3B1cCA/IHRoaXMuYXJpYUhhc1BvcHVwIDogbnVsbDtcbiAgICB0aGlzLnRhYmluZGV4RGF0YSA9IHRoaXMudGFiaW5kZXggPyB0aGlzLnRhYmluZGV4IDogbnVsbDtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZW50VG9vbHRpcCA9IHRoaXMudG9vbHRpcENvbnRlbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB0aGlzLnRpcHB5UHJvcGVydGllcyA9IHtcbiAgICAgIHBsYWNlbWVudDogJ3RvcCcsXG4gICAgICBpbmxpbmVQb3NpdGlvbmluZzogdHJ1ZSxcbiAgICAgIGNvbnRlbnQ6IGNvbnRlbnRUb29sdGlwLFxuICAgICAgYWxsb3dIVE1MOiB0cnVlLCAvLyBNYWtlIHN1cmUgeW91IGFyZSBzYW5pdGl6aW5nIGFueSB1c2VyIGRhdGEgaWYgcmVuZGVyaW5nIEhUTUwgdG8gcHJldmVudCBYU1MgYXR0YWNrcy5cbiAgICAgIHRyaWdnZXI6ICdtb3VzZWVudGVyIGZvY3VzJyxcbiAgICAgIGhpZGVPbkNsaWNrOiBmYWxzZSxcbiAgICAgIHRoZW1lOiAnJyxcbiAgICAgIHBsdWdpbnM6IFt7XG4gICAgICAgIG5hbWU6ICdoaWRlT25Fc2MnLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgIGZuKHtoaWRlfSk6IGFueSB7XG5cbiAgICAgICAgICBmdW5jdGlvbiBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09IFRvb2x0aXBDb21wb25lbnQuS0VZX0NPREVfRVNDKSB7XG4gICAgICAgICAgICAgIGhpZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgb25TaG93KCk6IHZvaWQge1xuICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkhpZGUoKTogdm9pZCB7XG4gICAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgfV0sXG4gICAgICByb2xlOiAndG9vbHRpcCcsXG4gICAgICBhcmlhOiB7XG4gICAgICAgIGNvbnRlbnQ6IHRoaXMuY29tcGxleCA/ICdkZXNjcmliZWRieScgOiAnbGFiZWxsZWRieScsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBnZXRJZEJ1dHRvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkICsgJy1idXR0b24nO1xuICB9XG5cbiAgZ2V0SWRUb29sdGlwKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQgKyAnLXRvb2x0aXAnO1xuICB9XG5cbiAgaGFuZGxlRW1wdHlDb250ZW50KGlzRW1wdHk6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmhhc0NvbnRlbnQgPSAhaXNFbXB0eTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGhhbmRsZUVtcHR5SWNvbkNvbnRlbnQoaXNFbXB0eTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaGFzSWNvbkNvbXBvbmVudENvbnRlbnQgPSAhaXNFbXB0eTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG5cbiAgZ2V0TWFpbkNvbnRlbnQoKTogc3RyaW5nIHtcbiAgICBsZXQgY29udGVudDtcbiAgICBpZiAodGhpcy5odG1sKSB7XG4gICAgICBjb250ZW50ID0gdGhpcy5odG1sO1xuICAgIH0gZWxzZSBpZiAodGhpcy50ZXh0KSB7XG4gICAgICBjb250ZW50ID0gYDxwPiR7dGhpcy50ZXh0fTwvcD5gO1xuICAgIH1cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGdldEljb25Db250ZW50KGljb246IEljb25EYXRhKTogc3RyaW5nIHtcbiAgICBsZXQgaWNvbkNvbnRlbnQ7XG4gICAgaWYgKGljb24uaHRtbCkge1xuICAgICAgaWNvbkNvbnRlbnQgPSB0aGlzLmljb24uaHRtbDtcbiAgICB9IGVsc2UgaWYgKGljb24udHlwZSA9PT0gJ2luZm8nKSB7XG4gICAgICBpY29uQ29udGVudCA9ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy00IGgtNCB0ZXh0LXByaW1hcnktYmFzZVwiIHJvbGU9XCJpbWdcIiBhcmlhLWxhYmVsPVwiSW5mb3JtYWNpw7NuXCI+PHBhdGggZD1cIk03MCAwYTcwIDcwIDAgMTA3MCA3MEE3MC4wOCA3MC4wOCAwIDAwNzAgMHptNy41IDEwNWE3LjUgNy41IDAgMDEtMTUgMFY3MGE3LjUgNy41IDAgMDExNSAwek03MCA1MGExMCAxMCAwIDExMTAtMTAgMTAgMTAgMCAwMS0xMCAxMHpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPjwvc3ZnPic7XG4gICAgfSBlbHNlIGlmIChpY29uLnR5cGUgPT09ICdhbGVydCcpIHtcbiAgICAgIGljb25Db250ZW50ID0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTQgaC00IHRleHQtYWxlcnQtYmFzZVwiIHJvbGU9XCJpbWdcIiBhcmlhLWxhYmVsPVwiQWxlcnRhXCI+PHBhdGggZD1cIk0xMzguNDIgMTE4LjI5bC01NS0xMTBhMTUgMTUgMCAwMC0yNi44NCAwbC01NSAxMTBBMTUgMTUgMCAwMDE1IDE0MGgxMTBhMTUgMTUgMCAwMDEzLjQyLTIxLjcxek02Mi41IDUwYTcuNSA3LjUgMCAwMTE1IDB2MzBhNy41IDcuNSAwIDAxLTE1IDB6bTcuNSA3MGExMCAxMCAwIDExMTAtMTAgMTAgMTAgMCAwMS0xMCAxMHpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPjwvc3ZnPic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb25Db250ZW50ID0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTQgaC00IHRleHQtcHJpbWFyeS1iYXNlXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJBeXVkYVwiPjxwYXRoIGQ9XCJNNzAgMGE3MCA3MCAwIDEwNzAgNzBBNzAuMDggNzAuMDggMCAwMDcwIDB6bTAgMTE3LjUxYTEwIDEwIDAgMTExMC0xMCAxMCAxMCAwIDAxLTEwIDEwem05LjE3LTM5LjA4YTIuNSAyLjUgMCAwMC0xLjY3IDIuMzZ2MS43MWE3LjUgNy41IDAgMDEtMTUgMHYtMTBBNy41IDcuNSAwIDAxNzAgNjVhMTIuNSAxMi41IDAgMTAtMTIuNS0xMi41IDcuNSA3LjUgMCAwMS0xNSAwIDI3LjUgMjcuNSAwIDExMzYuNjcgMjUuOTN6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz4nO1xuICAgIH1cbiAgICByZXR1cm4gaWNvbkNvbnRlbnQ7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJ0aXBweVByb3BlcnRpZXNcIiBbYXR0ci5pZF09XCJnZXRJZEJ1dHRvbigpXCJcbiAgICAgIG5neFRpcHB5IFt0aXBweVByb3BzXT1cInRpcHB5UHJvcGVydGllc1wiXG4gICAgICBjbGFzcz1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBmb2N1czpiZy13YXJuaW5nLWJhc2UgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnNoYWRvdy1vdXRsaW5lLWZvY3VzIGZvY3VzOnRleHQtYmxhY2tcIlxuICAgICAgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZ2V0SWRCdXR0b24oKSArICcgJyArIGdldElkVG9vbHRpcCgpXCI+XG4gIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogY29udGVudENvbXBvbmVudCwgaHRtbDogZ2V0TWFpbkNvbnRlbnQoKSB9XCI+PC9uZy1jb250YWluZXI+XG4gIDxzcGFuICpuZ0lmPVwiaGFzQ29udGVudCAmJiAoIChpY29uQ29tcG9uZW50KSB8fCAoaWNvbikgKVwiIGNsYXNzPVwiaW5saW5lLWJsb2NrIHctMS41XCI+PC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cImljb25Db21wb25lbnRcIiBjbGFzcz1cImlubGluZS1ibG9ja1wiPlxuICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaWNvbkNvbXBvbmVudCB9XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0ljb25Db21wb25lbnRDb250ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJpY29uQ29tcG9uZW50LnR5cGVcIj5cbiAgICAgICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiJ2luZm8nXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTQgaC00IHRleHQtcHJpbWFyeS1iYXNlXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJJbmZvcm1hY2nDs25cIj48cGF0aCBkPVwiTTcwIDBhNzAgNzAgMCAxMDcwIDcwQTcwLjA4IDcwLjA4IDAgMDA3MCAwem03LjUgMTA1YTcuNSA3LjUgMCAwMS0xNSAwVjcwYTcuNSA3LjUgMCAwMTE1IDB6TTcwIDUwYTEwIDEwIDAgMTExMC0xMCAxMCAxMCAwIDAxLTEwIDEwelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+PC9zdmc+XG4gICAgICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cIidhbGVydCdcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNDAgMTQwXCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiBjbGFzcz1cInctNCBoLTQgdGV4dC1hbGVydC1iYXNlXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJBbGVydGFcIj48cGF0aCBkPVwiTTEzOC40MiAxMTguMjlsLTU1LTExMGExNSAxNSAwIDAwLTI2Ljg0IDBsLTU1IDExMEExNSAxNSAwIDAwMTUgMTQwaDExMGExNSAxNSAwIDAwMTMuNDItMjEuNzF6TTYyLjUgNTBhNy41IDcuNSAwIDAxMTUgMHYzMGE3LjUgNy41IDAgMDEtMTUgMHptNy41IDcwYTEwIDEwIDAgMTExMC0xMCAxMCAxMCAwIDAxLTEwIDEwelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+PC9zdmc+XG4gICAgICAgIDxzdmcgKm5nU3dpdGNoRGVmYXVsdCB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNDAgMTQwXCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiBjbGFzcz1cInctNCBoLTQgdGV4dC1wcmltYXJ5LWJhc2VcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkF5dWRhXCI+PHBhdGggZD1cIk03MCAwYTcwIDcwIDAgMTA3MCA3MEE3MC4wOCA3MC4wOCAwIDAwNzAgMHptMCAxMTcuNTFhMTAgMTAgMCAxMTEwLTEwIDEwIDEwIDAgMDEtMTAgMTB6bTkuMTctMzkuMDhhMi41IDIuNSAwIDAwLTEuNjcgMi4zNnYxLjcxYTcuNSA3LjUgMCAwMS0xNSAwdi0xMEE3LjUgNy41IDAgMDE3MCA2NWExMi41IDEyLjUgMCAxMC0xMi41LTEyLjUgNy41IDcuNSAwIDAxLTE1IDAgMjcuNSAyNy41IDAgMTEzNi42NyAyNS45M3pcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPjwvc3ZnPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCIhaWNvbkNvbXBvbmVudCAmJiBpY29uXCIgY2xhc3M9XCJpbmxpbmUtYmxvY2tcIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBodG1sOiBnZXRJY29uQ29udGVudChpY29uKSB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuXG48ZGl2ICN0b29sdGlwQ29udGVudCBbYXR0ci5pZF09XCJnZXRJZFRvb2x0aXAoKVwiXG4gICAgICBbY2xhc3NdPVwiWyctbXkteHMgcC1zbSBzaGFkb3ctbWQgYmctYmxhY2sgcm91bmRlZCB0ZXh0LXdoaXRlJywgY2xhc3Nlc1Rvb2x0aXBdIHwgbWFrZUh0bWxMaXN0XCI+XG4gIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogdG9vbHRpcENvbnRlbnRDb21wb25lbnQsIHRlbXBsYXRlOiBjYWxsZXIgfVwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|