desy-angular 7.0.1 → 8.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/README.md +2 -2
- package/esm2022/desy-angular.mjs +2 -0
- package/{esm2020 → esm2022}/lib/desy-angular.module.mjs +37 -37
- package/esm2022/lib/desy-buttons/components/button/button.component.mjs +115 -0
- package/esm2022/lib/desy-buttons/components/button-loader/button-loader.component.mjs +63 -0
- package/esm2022/lib/desy-buttons/components/dropdown/dropdown.component.mjs +127 -0
- package/esm2022/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +39 -0
- package/{esm2020 → esm2022}/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +4 -4
- package/esm2022/lib/desy-buttons/components/listbox/listbox.component.mjs +334 -0
- package/esm2022/lib/desy-buttons/components/pill/pill.component.mjs +80 -0
- package/{esm2020 → esm2022}/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +4 -4
- package/esm2022/lib/desy-buttons/components/toggle/toggle.component.mjs +61 -0
- package/esm2022/lib/desy-buttons/desy-buttons.module.mjs +81 -0
- package/{esm2020 → esm2022}/lib/desy-commons/components/content/content.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-commons/components/description/description.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-commons/components/divider/divider.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-commons/components/icon/icon.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-commons/components/title/title.component.mjs +4 -4
- package/esm2022/lib/desy-commons/desy-commons.module.mjs +52 -0
- package/{esm2020 → esm2022}/lib/desy-forms/components/character-count/character-count.component.mjs +10 -10
- package/esm2022/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +222 -0
- package/esm2022/lib/desy-forms/components/checkboxes/checkboxes-parent.component.mjs +15 -0
- package/esm2022/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +268 -0
- package/esm2022/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +55 -0
- package/esm2022/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +19 -0
- package/{esm2020 → esm2022}/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +55 -0
- package/esm2022/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +51 -0
- package/esm2022/lib/desy-forms/components/date-input/date-input.component.mjs +293 -0
- package/esm2022/lib/desy-forms/components/error-message/error-message.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/desy-forms/components/fieldset/fieldset.component.mjs +10 -8
- package/{esm2020 → esm2022}/lib/desy-forms/components/fieldset/legend/legend.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/file-upload/file-upload.component.mjs +67 -0
- package/esm2022/lib/desy-forms/components/form-field/form-field.component.mjs +120 -0
- package/esm2022/lib/desy-forms/components/hint/hint.component.mjs +29 -0
- package/esm2022/lib/desy-forms/components/input/input.component.mjs +98 -0
- package/esm2022/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +20 -0
- package/esm2022/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +59 -0
- package/{esm2020 → esm2022}/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +51 -0
- package/esm2022/lib/desy-forms/components/input-group/input-group.component.mjs +228 -0
- package/esm2022/lib/desy-forms/components/label/label.component.mjs +38 -0
- package/esm2022/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +170 -0
- package/esm2022/lib/desy-forms/components/radios/radios-parent.component.mjs +15 -0
- package/esm2022/lib/desy-forms/components/radios/radios.component.mjs +281 -0
- package/esm2022/lib/desy-forms/components/search-bar/search-bar.component.mjs +60 -0
- package/{esm2020 → esm2022}/lib/desy-forms/components/select/option/option.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/select/option-group/option-group.component.mjs +18 -0
- package/{esm2020 → esm2022}/lib/desy-forms/components/select/select-item/select-item.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/select/select.component.mjs +92 -0
- package/{esm2020 → esm2022}/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-forms/components/textarea/textarea.component.mjs +12 -13
- package/esm2022/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +173 -0
- package/esm2022/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +377 -0
- package/esm2022/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +25 -0
- package/{esm2020 → esm2022}/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/tree/tree.component.mjs +356 -0
- package/esm2022/lib/desy-forms/desy-forms.module.mjs +207 -0
- package/esm2022/lib/desy-forms/directives/condition.directive.mjs +34 -0
- package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-date-input-data.mjs +1 -1
- package/{esm2020 → esm2022}/lib/desy-forms/interfaces/select-item-data.mjs +1 -1
- package/esm2022/lib/desy-modals/components/dialog/dialog.component.mjs +150 -0
- package/esm2022/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +25 -0
- package/esm2022/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +23 -0
- package/esm2022/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +23 -0
- package/esm2022/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +23 -0
- package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +182 -0
- package/esm2022/lib/desy-modals/desy-modals.module.mjs +61 -0
- package/{esm2020 → esm2022}/lib/desy-modals/interfaces/dialog-options.mjs +1 -1
- package/esm2022/lib/desy-modals/interfaces/index.mjs +7 -0
- package/esm2022/lib/desy-modals/services/dialog.service.mjs +114 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +48 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/error-summary/error-summary.component.mjs +64 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +19 -0
- package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +74 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +46 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +36 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +93 -0
- package/esm2022/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +41 -0
- package/esm2022/lib/desy-nav/components/header/header.component.mjs +107 -0
- package/esm2022/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +40 -0
- package/esm2022/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.mjs +14 -0
- package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +42 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +78 -0
- package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +602 -0
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +46 -0
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +18 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +113 -0
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +51 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +36 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +45 -0
- package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +713 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +115 -0
- package/{esm2020 → esm2022}/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +143 -0
- package/esm2022/lib/desy-nav/components/skip-link/skip-link.component.mjs +43 -0
- package/esm2022/lib/desy-nav/desy-nav.module.mjs +240 -0
- package/esm2022/lib/desy-nav/interfaces/header-skiplink-data.mjs +2 -0
- package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +191 -0
- package/{esm2020 → esm2022}/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-pagination/desy-pagination.module.mjs +15 -15
- package/{esm2020 → esm2022}/lib/desy-tables/components/table/components/table-caption.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-tables/components/table/components/table-cell.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table/components/table-header.component.mjs +18 -0
- package/esm2022/lib/desy-tables/components/table/components/table-row.component.mjs +18 -0
- package/esm2022/lib/desy-tables/components/table/table.component.mjs +79 -0
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +50 -0
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +18 -0
- package/{esm2020 → esm2022}/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +27 -0
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +28 -0
- package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +286 -0
- package/{esm2020 → esm2022}/lib/desy-tables/desy-tables.module.mjs +38 -38
- package/esm2022/lib/desy-tables/directives/cell.directive.mjs +25 -0
- package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +81 -0
- package/esm2022/lib/desy-tables/directives/row.directive.mjs +22 -0
- package/{esm2020 → esm2022}/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +61 -0
- package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +199 -0
- package/esm2022/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +41 -0
- package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +19 -0
- package/{esm2020 → esm2022}/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/alert/alert.component.mjs +81 -0
- package/esm2022/lib/desy-views/components/collapsible/collapsible.component.mjs +81 -0
- package/{esm2020 → esm2022}/lib/desy-views/components/description-list/definition/definition.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/description-list/description-item/description-item.component.mjs +36 -0
- package/esm2022/lib/desy-views/components/description-list/description-list.component.mjs +28 -0
- package/{esm2020 → esm2022}/lib/desy-views/components/description-list/term/term.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-views/components/details/details.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/desy-views/components/item/item-item/item-item.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/item/item.component.mjs +121 -0
- package/{esm2020 → esm2022}/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/media-object/media-object.component.mjs +117 -0
- package/{esm2020 → esm2022}/lib/desy-views/components/spinner/spinner.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/status/status.component.mjs +107 -0
- package/esm2022/lib/desy-views/components/status-item/status-item.component.mjs +148 -0
- package/{esm2020 → esm2022}/lib/desy-views/components/tabs/panel/panel.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +39 -0
- package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +200 -0
- package/{esm2020 → esm2022}/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/tooltip/tooltip.component.mjs +206 -0
- package/{esm2020 → esm2022}/lib/desy-views/desy-views.module.mjs +67 -67
- package/esm2022/lib/desy-views/services/alert.service.mjs +88 -0
- package/esm2022/lib/shared/components/accessibility/accessibility.component.mjs +42 -0
- package/{esm2020 → esm2022}/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +4 -4
- package/esm2022/lib/shared/components/content-base/content-base.component.mjs +21 -0
- package/{esm2020 → esm2022}/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +4 -4
- package/esm2022/lib/shared/decorators/desy-content-child.decorator.mjs +30 -0
- package/esm2022/lib/shared/decorators/desy-on-input-change.decorator.mjs +15 -0
- package/esm2022/lib/shared/directives/attribute-change.directive.mjs +50 -0
- package/esm2022/lib/shared/directives/click-outside.directive.mjs +40 -0
- package/esm2022/lib/shared/directives/content-change.directive.mjs +41 -0
- package/esm2022/lib/shared/directives/custom-inner-content.directive.mjs +44 -0
- package/esm2022/lib/shared/directives/inner-content.directive.mjs +37 -0
- package/esm2022/lib/shared/pipes/external-href.pipe.mjs +28 -0
- package/esm2022/lib/shared/pipes/inner-html.pipe.mjs +21 -0
- package/{esm2020 → esm2022}/lib/shared/pipes/make-html-list.pipe.mjs +4 -4
- package/esm2022/lib/shared/shared.module.mjs +83 -0
- package/esm2022/lib/shared/utils/search-utils.mjs +66 -0
- package/esm2022/lib/shared/utils/string-utils.mjs +11 -0
- package/esm2022/public-api.mjs +197 -0
- package/{fesm2020 → fesm2022}/desy-angular.mjs +1964 -2068
- package/fesm2022/desy-angular.mjs.map +1 -0
- package/index.d.ts +0 -3
- package/lib/desy-buttons/components/button/button.component.d.ts +1 -1
- package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -1
- package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +1 -1
- package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +3 -1
- package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +1 -1
- package/lib/desy-buttons/components/listbox/listbox.component.d.ts +16 -5
- package/lib/desy-buttons/components/pill/pill.component.d.ts +1 -1
- package/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.d.ts +1 -1
- package/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.d.ts +1 -1
- package/lib/desy-buttons/components/toggle/toggle.component.d.ts +1 -1
- package/lib/desy-commons/components/content/content.component.d.ts +1 -1
- package/lib/desy-commons/components/description/description.component.d.ts +1 -1
- package/lib/desy-commons/components/divider/divider.component.d.ts +1 -1
- package/lib/desy-commons/components/icon/icon.component.d.ts +1 -1
- package/lib/desy-commons/components/title/title.component.d.ts +1 -1
- package/lib/desy-forms/components/character-count/character-count.component.d.ts +1 -1
- package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +6 -4
- package/lib/desy-forms/components/checkboxes/checkboxes-parent.component.d.ts +13 -0
- package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +13 -31
- package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +2 -1
- package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +1 -1
- package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +2 -1
- package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +2 -1
- package/lib/desy-forms/components/date-input/date-input.component.d.ts +5 -8
- package/lib/desy-forms/components/error-message/error-message.component.d.ts +1 -1
- package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +1 -8
- package/lib/desy-forms/components/fieldset/legend/legend.component.d.ts +1 -1
- package/lib/desy-forms/components/file-upload/file-upload.component.d.ts +1 -6
- package/lib/desy-forms/components/form-field/form-field.component.d.ts +10 -10
- package/lib/desy-forms/components/hint/hint.component.d.ts +1 -1
- package/lib/desy-forms/components/input/input.component.d.ts +1 -1
- package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +2 -1
- package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +1 -1
- package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +2 -1
- package/lib/desy-forms/components/input-group/input-group.component.d.ts +3 -8
- package/lib/desy-forms/components/label/label.component.d.ts +1 -1
- package/lib/desy-forms/components/radios/radio-item/radio-item.component.d.ts +6 -5
- package/lib/desy-forms/components/radios/radios-parent.component.d.ts +13 -0
- package/lib/desy-forms/components/radios/radios.component.d.ts +14 -31
- package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +3 -5
- package/lib/desy-forms/components/select/option/option.component.d.ts +2 -2
- package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +1 -1
- package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +1 -1
- package/lib/desy-forms/components/select/select.component.d.ts +1 -1
- package/lib/desy-forms/components/textarea/textarea.component.d.ts +1 -1
- package/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.d.ts +1 -1
- package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +2 -5
- package/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.d.ts +6 -2
- package/lib/desy-forms/components/tree/tree-sub/tree-sub.component.d.ts +1 -1
- package/lib/desy-forms/components/tree/tree.component.d.ts +2 -59
- package/lib/desy-forms/directives/condition.directive.d.ts +1 -6
- package/lib/desy-forms/interfaces/item-date-input-data.d.ts +1 -0
- package/lib/desy-forms/interfaces/select-item-data.d.ts +1 -1
- package/lib/desy-modals/components/dialog/dialog.component.d.ts +2 -1
- package/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.d.ts +1 -1
- package/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.d.ts +1 -1
- package/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.d.ts +1 -1
- package/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.d.ts +1 -1
- package/lib/desy-modals/components/modal/modal.component.d.ts +1 -1
- package/lib/desy-modals/interfaces/dialog-options.d.ts +1 -0
- package/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.d.ts +1 -1
- package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
- package/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.d.ts +1 -1
- package/lib/desy-nav/components/error-summary/error-summary.component.d.ts +1 -1
- package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +1 -1
- package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +1 -1
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +1 -1
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +1 -1
- package/lib/desy-nav/components/footer/footer.component.d.ts +1 -1
- package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +1 -1
- package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +1 -1
- package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +1 -1
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +1 -8
- package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +1 -1
- package/lib/desy-nav/components/header/header.component.d.ts +3 -2
- package/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.d.ts +20 -0
- package/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.d.ts +7 -0
- package/lib/desy-nav/components/links-list/links-list.component.d.ts +13 -0
- package/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.d.ts +1 -1
- package/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.d.ts +1 -1
- package/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.d.ts +1 -1
- package/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.d.ts +1 -1
- package/lib/desy-nav/components/menu-navigation/menu-navigation.component.d.ts +1 -1
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +1 -1
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +1 -1
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +1 -1
- package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +1 -1
- package/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.d.ts +1 -1
- package/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.d.ts +1 -1
- package/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.d.ts +1 -1
- package/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.d.ts +1 -1
- package/lib/desy-nav/components/menubar/menubar.component.d.ts +1 -8
- package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +1 -1
- package/lib/desy-nav/components/nav/nav.component.d.ts +1 -1
- package/lib/desy-nav/components/notification/notification-item/notification-item.component.d.ts +1 -1
- package/lib/desy-nav/components/notification/notification.component.d.ts +1 -1
- package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +2 -1
- package/lib/desy-nav/desy-nav.module.d.ts +29 -26
- package/lib/desy-nav/interfaces/header-skiplink-data.d.ts +7 -0
- package/lib/desy-pagination/components/pagination/pagination.component.d.ts +12 -7
- package/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.d.ts +1 -1
- package/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.d.ts +1 -1
- package/lib/desy-tables/components/table/components/table-caption.component.d.ts +1 -1
- package/lib/desy-tables/components/table/components/table-cell.component.d.ts +1 -1
- package/lib/desy-tables/components/table/table.component.d.ts +1 -1
- package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +1 -1
- package/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.d.ts +1 -1
- package/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.d.ts +1 -1
- package/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.d.ts +1 -1
- package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +1 -56
- package/lib/desy-tables/directives/cell.directive.d.ts +1 -4
- package/lib/desy-tables/directives/row.directive.d.ts +1 -8
- package/lib/desy-views/components/accordion/accordion-header/accordion-header.component.d.ts +1 -1
- package/lib/desy-views/components/accordion/accordion-item/accordion-item.component.d.ts +1 -1
- package/lib/desy-views/components/accordion/accordion.component.d.ts +1 -1
- package/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.d.ts +1 -1
- package/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.d.ts +1 -1
- package/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.d.ts +1 -1
- package/lib/desy-views/components/alert/alert.component.d.ts +1 -1
- package/lib/desy-views/components/collapsible/collapsible.component.d.ts +1 -1
- package/lib/desy-views/components/description-list/definition/definition.component.d.ts +1 -1
- package/lib/desy-views/components/description-list/description-item/description-item.component.d.ts +1 -1
- package/lib/desy-views/components/description-list/description-list.component.d.ts +1 -1
- package/lib/desy-views/components/description-list/term/term.component.d.ts +1 -1
- package/lib/desy-views/components/details/details.component.d.ts +1 -1
- package/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.d.ts +1 -1
- package/lib/desy-views/components/item/item.component.d.ts +2 -1
- package/lib/desy-views/components/media-object/media-object.component.d.ts +1 -1
- package/lib/desy-views/components/spinner/spinner.component.d.ts +1 -1
- package/lib/desy-views/components/status/status.component.d.ts +3 -1
- package/lib/desy-views/components/status-item/status-item.component.d.ts +1 -1
- package/lib/desy-views/components/tabs/panel/panel.component.d.ts +1 -1
- package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +1 -1
- package/lib/desy-views/components/tabs/tabs.component.d.ts +1 -1
- package/lib/desy-views/components/tooltip/tooltip.component.d.ts +1 -1
- package/lib/shared/components/accessibility/accessibility.component.d.ts +1 -4
- package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +1 -9
- package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +1 -7
- package/lib/shared/components/content-base/content-base.component.d.ts +0 -3
- package/lib/shared/components/text-or-html-required/text-or-html-required.component.d.ts +1 -5
- package/lib/shared/decorators/desy-content-child.decorator.d.ts +0 -11
- package/lib/shared/decorators/desy-on-input-change.decorator.d.ts +0 -4
- package/lib/shared/directives/attribute-change.directive.d.ts +2 -1
- package/lib/shared/directives/click-outside.directive.d.ts +1 -1
- package/lib/shared/directives/content-change.directive.d.ts +1 -5
- package/lib/shared/directives/custom-inner-content.directive.d.ts +1 -7
- package/lib/shared/directives/inner-content.directive.d.ts +1 -1
- package/lib/shared/pipes/external-href.pipe.d.ts +0 -4
- package/lib/shared/utils/search-utils.d.ts +0 -10
- package/lib/shared/utils/string-utils.d.ts +0 -7
- package/package.json +13 -19
- package/public-api.d.ts +4 -0
- package/esm2020/desy-angular.mjs +0 -5
- package/esm2020/lib/desy-buttons/components/button/button.component.mjs +0 -115
- package/esm2020/lib/desy-buttons/components/button-loader/button-loader.component.mjs +0 -63
- package/esm2020/lib/desy-buttons/components/dropdown/dropdown.component.mjs +0 -126
- package/esm2020/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +0 -32
- package/esm2020/lib/desy-buttons/components/listbox/listbox.component.mjs +0 -291
- package/esm2020/lib/desy-buttons/components/pill/pill.component.mjs +0 -80
- package/esm2020/lib/desy-buttons/components/toggle/toggle.component.mjs +0 -59
- package/esm2020/lib/desy-buttons/desy-buttons.module.mjs +0 -82
- package/esm2020/lib/desy-commons/desy-commons.module.mjs +0 -53
- package/esm2020/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +0 -240
- package/esm2020/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +0 -264
- package/esm2020/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +0 -52
- package/esm2020/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +0 -19
- package/esm2020/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +0 -52
- package/esm2020/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +0 -48
- package/esm2020/lib/desy-forms/components/date-input/date-input.component.mjs +0 -266
- package/esm2020/lib/desy-forms/components/error-message/error-message.component.mjs +0 -31
- package/esm2020/lib/desy-forms/components/file-upload/file-upload.component.mjs +0 -72
- package/esm2020/lib/desy-forms/components/form-field/form-field.component.mjs +0 -124
- package/esm2020/lib/desy-forms/components/hint/hint.component.mjs +0 -29
- package/esm2020/lib/desy-forms/components/input/input.component.mjs +0 -99
- package/esm2020/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +0 -20
- package/esm2020/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +0 -53
- package/esm2020/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +0 -45
- package/esm2020/lib/desy-forms/components/input-group/input-group.component.mjs +0 -223
- package/esm2020/lib/desy-forms/components/label/label.component.mjs +0 -38
- package/esm2020/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +0 -185
- package/esm2020/lib/desy-forms/components/radios/radios.component.mjs +0 -270
- package/esm2020/lib/desy-forms/components/search-bar/search-bar.component.mjs +0 -66
- package/esm2020/lib/desy-forms/components/select/option-group/option-group.component.mjs +0 -18
- package/esm2020/lib/desy-forms/components/select/select.component.mjs +0 -93
- package/esm2020/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +0 -167
- package/esm2020/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +0 -397
- package/esm2020/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +0 -25
- package/esm2020/lib/desy-forms/components/tree/tree.component.mjs +0 -425
- package/esm2020/lib/desy-forms/desy-forms.module.mjs +0 -209
- package/esm2020/lib/desy-forms/directives/condition.directive.mjs +0 -34
- package/esm2020/lib/desy-forms/models/checkbox-service-item.component.mjs +0 -9
- package/esm2020/lib/desy-forms/models/radio-service-item.component.mjs +0 -9
- package/esm2020/lib/desy-forms/services/checkbox.service.mjs +0 -61
- package/esm2020/lib/desy-forms/services/radio.service.mjs +0 -53
- package/esm2020/lib/desy-modals/components/dialog/dialog.component.mjs +0 -130
- package/esm2020/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +0 -25
- package/esm2020/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +0 -23
- package/esm2020/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +0 -23
- package/esm2020/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +0 -23
- package/esm2020/lib/desy-modals/components/modal/modal.component.mjs +0 -178
- package/esm2020/lib/desy-modals/desy-modals.module.mjs +0 -62
- package/esm2020/lib/desy-modals/interfaces/index.mjs +0 -8
- package/esm2020/lib/desy-modals/services/dialog.service.mjs +0 -114
- package/esm2020/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +0 -47
- package/esm2020/lib/desy-nav/components/error-summary/error-summary.component.mjs +0 -62
- package/esm2020/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +0 -30
- package/esm2020/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +0 -19
- package/esm2020/lib/desy-nav/components/footer/footer.component.mjs +0 -71
- package/esm2020/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +0 -45
- package/esm2020/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +0 -36
- package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +0 -95
- package/esm2020/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +0 -41
- package/esm2020/lib/desy-nav/components/header/header.component.mjs +0 -103
- package/esm2020/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +0 -79
- package/esm2020/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +0 -49
- package/esm2020/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +0 -616
- package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +0 -45
- package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +0 -18
- package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +0 -113
- package/esm2020/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +0 -51
- package/esm2020/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +0 -36
- package/esm2020/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +0 -45
- package/esm2020/lib/desy-nav/components/menubar/menubar.component.mjs +0 -727
- package/esm2020/lib/desy-nav/components/nav/nav.component.mjs +0 -116
- package/esm2020/lib/desy-nav/components/notification/notification.component.mjs +0 -141
- package/esm2020/lib/desy-nav/components/skip-link/skip-link.component.mjs +0 -37
- package/esm2020/lib/desy-nav/desy-nav.module.mjs +0 -221
- package/esm2020/lib/desy-pagination/components/pagination/pagination.component.mjs +0 -167
- package/esm2020/lib/desy-tables/components/table/components/table-header.component.mjs +0 -18
- package/esm2020/lib/desy-tables/components/table/components/table-row.component.mjs +0 -18
- package/esm2020/lib/desy-tables/components/table/table.component.mjs +0 -78
- package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +0 -47
- package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +0 -18
- package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +0 -27
- package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +0 -28
- package/esm2020/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +0 -342
- package/esm2020/lib/desy-tables/directives/cell.directive.mjs +0 -28
- package/esm2020/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +0 -81
- package/esm2020/lib/desy-tables/directives/row.directive.mjs +0 -29
- package/esm2020/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +0 -57
- package/esm2020/lib/desy-views/components/accordion/accordion.component.mjs +0 -198
- package/esm2020/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +0 -39
- package/esm2020/lib/desy-views/components/accordion-history/accordion-history.component.mjs +0 -19
- package/esm2020/lib/desy-views/components/alert/alert.component.mjs +0 -81
- package/esm2020/lib/desy-views/components/collapsible/collapsible.component.mjs +0 -81
- package/esm2020/lib/desy-views/components/description-list/description-item/description-item.component.mjs +0 -34
- package/esm2020/lib/desy-views/components/description-list/description-list.component.mjs +0 -28
- package/esm2020/lib/desy-views/components/item/item.component.mjs +0 -121
- package/esm2020/lib/desy-views/components/media-object/media-object.component.mjs +0 -115
- package/esm2020/lib/desy-views/components/status/status.component.mjs +0 -97
- package/esm2020/lib/desy-views/components/status-item/status-item.component.mjs +0 -143
- package/esm2020/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +0 -37
- package/esm2020/lib/desy-views/components/tabs/tabs.component.mjs +0 -199
- package/esm2020/lib/desy-views/components/tooltip/tooltip.component.mjs +0 -202
- package/esm2020/lib/desy-views/services/alert.service.mjs +0 -88
- package/esm2020/lib/shared/components/accessibility/accessibility.component.mjs +0 -45
- package/esm2020/lib/shared/components/content-base/content-base.component.mjs +0 -24
- package/esm2020/lib/shared/decorators/desy-content-child.decorator.mjs +0 -41
- package/esm2020/lib/shared/decorators/desy-on-input-change.decorator.mjs +0 -19
- package/esm2020/lib/shared/directives/attribute-change.directive.mjs +0 -45
- package/esm2020/lib/shared/directives/click-outside.directive.mjs +0 -40
- package/esm2020/lib/shared/directives/content-change.directive.mjs +0 -45
- package/esm2020/lib/shared/directives/custom-inner-content.directive.mjs +0 -60
- package/esm2020/lib/shared/directives/inner-content.directive.mjs +0 -37
- package/esm2020/lib/shared/pipes/external-href.pipe.mjs +0 -32
- package/esm2020/lib/shared/pipes/inner-html.pipe.mjs +0 -20
- package/esm2020/lib/shared/shared.module.mjs +0 -99
- package/esm2020/lib/shared/utils/search-utils.mjs +0 -78
- package/esm2020/lib/shared/utils/string-utils.mjs +0 -18
- package/esm2020/public-api.mjs +0 -221
- package/fesm2015/desy-angular.mjs +0 -11752
- package/fesm2015/desy-angular.mjs.map +0 -1
- package/fesm2020/desy-angular.mjs.map +0 -1
- package/lib/desy-forms/models/checkbox-service-item.component.d.ts +0 -13
- package/lib/desy-forms/models/radio-service-item.component.d.ts +0 -12
- package/lib/desy-forms/services/checkbox.service.d.ts +0 -14
- package/lib/desy-forms/services/radio.service.d.ts +0 -13
- /package/{esm2020 → esm2022}/lib/desy-buttons/interfaces/listbox-item-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-buttons/interfaces/listbox-label-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/content-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/description-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/divider-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/icon-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/title-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/components/tree/interfaces/itree-item.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/accesibility-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/error-message-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/fieldset-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/hint-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-checkbox-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-divider-date-input-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-divider-input-group-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-input-group-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-radio-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-radio-with-template-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/label-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/legend-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-button-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-icon-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/open-dialog-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/breadcrumbs.data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/error-summary-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/footer-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-dropdown-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-navigation-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-navigation-item-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-offcanvas-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-subnav-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-horizontal-item-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-horizontal-item-event-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation-item-sub-item.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-items-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-sub-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-sub-items-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub-item.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/nav-item-event.data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/nav-item.data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/notification-items-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/notification-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-pagination/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-pagination/interfaces/pagination-item.data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/cell-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/head-cell-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/recalculate-table-params.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/row-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/wrapper-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-views/interfaces/accordion-header.data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-views/interfaces/accordion-item.data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-views/interfaces/alert-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-views/interfaces/description-item.data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-views/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-views/interfaces/open-alert-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-icon-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-item-title-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-views/interfaces/tabs-items-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-views/interfaces/tabs-panel-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/desy-views/interfaces/term-definition.data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/interfaces/accesibility-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/utils/focus-utils.mjs +0 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, ContentChildren, ElementRef, HostBinding, Input, QueryList, 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 { MediaMatcher } from '@angular/cdk/layout';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/cdk/layout";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
import * as i3 from "../../../shared/directives/custom-inner-content.directive";
|
|
10
|
+
import * as i4 from "../../../shared/pipes/make-html-list.pipe";
|
|
11
|
+
export class TabsComponent extends AccessibilityComponent {
|
|
12
|
+
constructor(changeDetector, media) {
|
|
13
|
+
super();
|
|
14
|
+
this.changeDetector = changeDetector;
|
|
15
|
+
this.currentTab = 0;
|
|
16
|
+
this.mobileQuery = media.matchMedia("(max-width: 600px)");
|
|
17
|
+
this.queryListener = () => changeDetector.detectChanges();
|
|
18
|
+
this.mobileQuery.addEventListener('change', this.queryListener);
|
|
19
|
+
}
|
|
20
|
+
ngOnChanges(changes) {
|
|
21
|
+
this.classes = this.classes ? 'c-tabs ' + this.classes : 'c-tabs';
|
|
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
|
+
ngAfterViewInit() {
|
|
38
|
+
if (this.items) {
|
|
39
|
+
const item = this.getItems();
|
|
40
|
+
this.selectTab(item.findIndex(value => !value.disabled));
|
|
41
|
+
}
|
|
42
|
+
this.changeDetector.detectChanges();
|
|
43
|
+
}
|
|
44
|
+
getItems() {
|
|
45
|
+
const items = (this.itemComponents.length > 0) ? this.itemComponents.toArray() : this.items;
|
|
46
|
+
return items;
|
|
47
|
+
}
|
|
48
|
+
getItemPanel(tab) {
|
|
49
|
+
let panel;
|
|
50
|
+
const items = this.getItems();
|
|
51
|
+
const item = items[tab];
|
|
52
|
+
if (item instanceof TabItemComponent) {
|
|
53
|
+
panel = item.panelComponent;
|
|
54
|
+
}
|
|
55
|
+
return panel;
|
|
56
|
+
}
|
|
57
|
+
getIdPrefix() {
|
|
58
|
+
if (this.idPrefix) {
|
|
59
|
+
return this.idPrefix;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
getItemId(index) {
|
|
63
|
+
let id;
|
|
64
|
+
const item = this.getItems();
|
|
65
|
+
if (item[index].id) {
|
|
66
|
+
id = item[index].id;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
id = this.getIdPrefix() + '-' + index;
|
|
70
|
+
}
|
|
71
|
+
return id;
|
|
72
|
+
}
|
|
73
|
+
isDisabled(item) {
|
|
74
|
+
return item.disabled ? true : null;
|
|
75
|
+
}
|
|
76
|
+
selectTab(i) {
|
|
77
|
+
this.currentTab = i;
|
|
78
|
+
const currentItem = this.getItems()[i];
|
|
79
|
+
this.currentPanel = currentItem instanceof TabItemComponent ? currentItem.panelComponent : currentItem.panel;
|
|
80
|
+
this.tabSrOnly.nativeElement.innerHTML = this.tabSelectorContentWrapper.toArray()[this.currentTab].nativeElement.innerHTML;
|
|
81
|
+
}
|
|
82
|
+
focusFirstTab(event) {
|
|
83
|
+
if (event) {
|
|
84
|
+
event.preventDefault();
|
|
85
|
+
}
|
|
86
|
+
const enabledTabs = this.tabSelectors.filter((item, index) => !item[index].disabled);
|
|
87
|
+
enabledTabs[0].nativeElement.focus();
|
|
88
|
+
}
|
|
89
|
+
focusLastTab(event) {
|
|
90
|
+
if (event) {
|
|
91
|
+
event.preventDefault();
|
|
92
|
+
}
|
|
93
|
+
const enabledTabs = this.tabSelectors.filter((item, index) => !item[index].disabled);
|
|
94
|
+
enabledTabs[enabledTabs.length - 1].nativeElement.focus();
|
|
95
|
+
}
|
|
96
|
+
focusNextTab(focusedTab) {
|
|
97
|
+
const item = this.getItems();
|
|
98
|
+
let nextTab = (focusedTab + 1) % item.length;
|
|
99
|
+
while (nextTab !== focusedTab) {
|
|
100
|
+
if (!item[nextTab].disabled) {
|
|
101
|
+
this.tabSelectors.find((i, index) => index === nextTab).nativeElement.focus();
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
nextTab = (nextTab + 1) % item.length;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
focusPreviousTab(focusedTab) {
|
|
108
|
+
const item = this.getItems();
|
|
109
|
+
let previousTab = (focusedTab - 1 + item.length) % item.length;
|
|
110
|
+
while (previousTab !== focusedTab) {
|
|
111
|
+
if (!item[previousTab].disabled) {
|
|
112
|
+
this.tabSelectors.find((i, index) => index === previousTab).nativeElement.focus();
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
previousTab = (previousTab - 1 + item.length) % item.length;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
getPanelContent(tab) {
|
|
119
|
+
const item = this.getItems();
|
|
120
|
+
return item[tab].panel && item[tab].panel.text ? `<p>${StringUtils.escapeHtml(item[tab].panel.text)}</p>` : null;
|
|
121
|
+
}
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.MediaMatcher }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.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
|
+
}
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TabsComponent, decorators: [{
|
|
126
|
+
type: Component,
|
|
127
|
+
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>" }]
|
|
128
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.MediaMatcher }]; }, propDecorators: { itemComponents: [{
|
|
129
|
+
type: ContentChildren,
|
|
130
|
+
args: [TabItemComponent]
|
|
131
|
+
}], tabSelectors: [{
|
|
132
|
+
type: ViewChildren,
|
|
133
|
+
args: ['tabSelector']
|
|
134
|
+
}], tabSelectorContentWrapper: [{
|
|
135
|
+
type: ViewChildren,
|
|
136
|
+
args: ['tabSelectorContentWrapper']
|
|
137
|
+
}], tabSrOnly: [{
|
|
138
|
+
type: ViewChild,
|
|
139
|
+
args: ['tabSrOnly']
|
|
140
|
+
}], id: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], idPrefix: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], headingLevel: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], title: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], tablistAriaLabel: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], items: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], classes: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}, {
|
|
155
|
+
type: HostBinding,
|
|
156
|
+
args: ['class']
|
|
157
|
+
}], idData: [{
|
|
158
|
+
type: HostBinding,
|
|
159
|
+
args: ['attr.id']
|
|
160
|
+
}], roleData: [{
|
|
161
|
+
type: HostBinding,
|
|
162
|
+
args: ['attr.role']
|
|
163
|
+
}], ariaDescribedbyData: [{
|
|
164
|
+
type: HostBinding,
|
|
165
|
+
args: ['attr.aria-describedby']
|
|
166
|
+
}], ariaErrormessageData: [{
|
|
167
|
+
type: HostBinding,
|
|
168
|
+
args: ['attr.aria-errormessage']
|
|
169
|
+
}], ariaLabelData: [{
|
|
170
|
+
type: HostBinding,
|
|
171
|
+
args: ['attr.aria-label']
|
|
172
|
+
}], ariaLabelledbyData: [{
|
|
173
|
+
type: HostBinding,
|
|
174
|
+
args: ['attr.aria-labelledby']
|
|
175
|
+
}], ariaHiddenData: [{
|
|
176
|
+
type: HostBinding,
|
|
177
|
+
args: ['attr.aria-hidden']
|
|
178
|
+
}], ariaDisabledData: [{
|
|
179
|
+
type: HostBinding,
|
|
180
|
+
args: ['attr.aria-disabled']
|
|
181
|
+
}], ariaControlsData: [{
|
|
182
|
+
type: HostBinding,
|
|
183
|
+
args: ['attr.aria-controls']
|
|
184
|
+
}], ariaCurrentData: [{
|
|
185
|
+
type: HostBinding,
|
|
186
|
+
args: ['attr.aria-current']
|
|
187
|
+
}], ariaLiveData: [{
|
|
188
|
+
type: HostBinding,
|
|
189
|
+
args: ['attr.aria-live']
|
|
190
|
+
}], ariaExpandedData: [{
|
|
191
|
+
type: HostBinding,
|
|
192
|
+
args: ['attr.aria-expanded']
|
|
193
|
+
}], ariaHaspopupData: [{
|
|
194
|
+
type: HostBinding,
|
|
195
|
+
args: ['attr.aria-haspopup']
|
|
196
|
+
}], tabindexData: [{
|
|
197
|
+
type: HostBinding,
|
|
198
|
+
args: ['attr.tabindex']
|
|
199
|
+
}] } });
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXZpZXdzL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGlCQUFpQixFQUNoQyxTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUVMLFNBQVMsRUFFVCxTQUFTLEVBQ1QsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQU1uRCxNQUFNLE9BQU8sYUFBYyxTQUFRLHNCQUFzQjtJQXdDdkQsWUFBb0IsY0FBaUMsRUFBRSxLQUFtQjtRQUN4RSxLQUFLLEVBQUUsQ0FBQztRQURVLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQU5yRCxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBUWIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFR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QUFXO3VCQUFDLGlCQUFpQjtnQkFDTyxrQkFBa0I7c0JBQXRELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNGLGNBQWM7c0JBQTlDLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUNJLGdCQUFnQjtzQkFBbEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0UsZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDQyxlQUFlO3NCQUFoRCxXQUFXO3VCQUFDLG1CQUFtQjtnQkFDRCxZQUFZO3NCQUExQyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFDTSxnQkFBZ0I7c0JBQWxELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNFLGdCQUFnQjtzQkFBbEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0gsWUFBWTtzQkFBekMsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9zdHJpbmctdXRpbHMnO1xuaW1wb3J0IHsgVGFic0l0ZW1zRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWl0ZW0vdGFiLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1lZGlhTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LXRhYnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFicy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVGFic0NvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFiSXRlbUNvbXBvbmVudCkgaXRlbUNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxUYWJJdGVtQ29tcG9uZW50PjtcbiAgQFZpZXdDaGlsZHJlbigndGFiU2VsZWN0b3InKSB0YWJTZWxlY3RvcnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgQFZpZXdDaGlsZHJlbigndGFiU2VsZWN0b3JDb250ZW50V3JhcHBlcicpIHRhYlNlbGVjdG9yQ29udGVudFdyYXBwZXI6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgQFZpZXdDaGlsZCgndGFiU3JPbmx5JykgdGFiU3JPbmx5OiBFbGVtZW50UmVmO1xuXG5cbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcbiAgQElucHV0KCkgaGVhZGluZ0xldmVsOiBudW1iZXI7XG4gIFxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSB0YWJsaXN0QXJpYUxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGl0ZW1zOiBUYWJzSXRlbXNEYXRhW107XG4gIFxuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NlczogYW55O1xuXG4gIC8vQWNjZXNzaWJpbGl0eVxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBpZERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpIGFyaWFEZXNjcmliZWRieURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXJyb3JtZXNzYWdlJykgYXJpYUVycm9ybWVzc2FnZURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKSBhcmlhTGFiZWxEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsbGVkYnknKSBhcmlhTGFiZWxsZWRieURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJykgYXJpYUhpZGRlbkRhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGlzYWJsZWQnKSBhcmlhRGlzYWJsZWREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWNvbnRyb2xzJykgYXJpYUNvbnRyb2xzRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1jdXJyZW50JykgYXJpYUN1cnJlbnREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxpdmUnKSBhcmlhTGl2ZURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKSBhcmlhRXhwYW5kZWREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJykgYXJpYUhhc3BvcHVwRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleERhdGE6IGFueTtcblxuICBjdXJyZW50VGFiID0gMDtcbiAgY3VycmVudFBhbmVsO1xuXG4gIG1vYmlsZVF1ZXJ5OiBNZWRpYVF1ZXJ5TGlzdDtcbiAgcHJpdmF0ZSBxdWVyeUxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLCBtZWRpYTogTWVkaWFNYXRjaGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm1vYmlsZVF1ZXJ5ID0gbWVkaWEubWF0Y2hNZWRpYShcIihtYXgtd2lkdGg6IDYwMHB4KVwiKTtcbiAgICB0aGlzLnF1ZXJ5TGlzdGVuZXIgPSAoKSA9PiBjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tb2JpbGVRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLnF1ZXJ5TGlzdGVuZXIpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NlcyA9IHRoaXMuY2xhc3NlcyA/ICdjLXRhYnMgJyArIHRoaXMuY2xhc3NlcyA6ICdjLXRhYnMnO1xuICAgIHRoaXMuaWREYXRhID0gdGhpcy5pZCA/IHRoaXMuaWQgOiBudWxsO1xuICAgIHRoaXMucm9sZURhdGEgPSB0aGlzLnJvbGUgPyB0aGlzLnJvbGUgOiBudWxsO1xuICAgIHRoaXMuYXJpYURlc2NyaWJlZGJ5RGF0YSA9IHRoaXMuYXJpYURlc2NyaWJlZEJ5ID8gdGhpcy5hcmlhRGVzY3JpYmVkQnkgOiBudWxsO1xuICAgIHRoaXMuYXJpYUVycm9ybWVzc2FnZURhdGEgPSB0aGlzLmFyaWFFcnJvck1lc3NhZ2UgPyB0aGlzLmFyaWFFcnJvck1lc3NhZ2UgOiBudWxsO1xuICAgIHRoaXMuYXJpYUxhYmVsRGF0YSA9IHRoaXMuYXJpYUxhYmVsID8gdGhpcy5hcmlhTGFiZWwgOiBudWxsO1xuICAgIHRoaXMuYXJpYUxhYmVsbGVkYnlEYXRhID0gdGhpcy5hcmlhTGFiZWxsZWRCeSA/IHRoaXMuYXJpYUxhYmVsbGVkQnkgOiBudWxsO1xuICAgIHRoaXMuYXJpYUhpZGRlbkRhdGEgPSB0aGlzLmFyaWFIaWRkZW4gPyB0aGlzLmFyaWFIaWRkZW4gOiBudWxsO1xuICAgIHRoaXMuYXJpYURpc2FibGVkRGF0YSA9IHRoaXMuYXJpYURpc2FibGVkID8gdGhpcy5hcmlhRGlzYWJsZWQgOiBudWxsO1xuICAgIHRoaXMuYXJpYUNvbnRyb2xzRGF0YSA9IHRoaXMuYXJpYUNvbnRyb2xzID8gdGhpcy5hcmlhQ29udHJvbHMgOiBudWxsO1xuICAgIHRoaXMuYXJpYUN1cnJlbnREYXRhID0gdGhpcy5hcmlhQ3VycmVudCA/IHRoaXMuYXJpYUN1cnJlbnQgOiBudWxsO1xuICAgIHRoaXMuYXJpYUxpdmVEYXRhID0gdGhpcy5hcmlhTGl2ZSA/IHRoaXMuYXJpYUxpdmUgOiBudWxsO1xuICAgIHRoaXMuYXJpYUV4cGFuZGVkRGF0YSA9IHRoaXMuYXJpYUV4cGFuZGVkID8gdGhpcy5hcmlhRXhwYW5kZWQgOiBudWxsO1xuICAgIHRoaXMuYXJpYUhhc3BvcHVwRGF0YSA9IHRoaXMuYXJpYUhhc1BvcHVwID8gdGhpcy5hcmlhSGFzUG9wdXAgOiBudWxsO1xuICAgIHRoaXMudGFiaW5kZXhEYXRhID0gdGhpcy50YWJpbmRleCA/IHRoaXMudGFiaW5kZXggOiBudWxsO1xuICB9XG4gIFxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYodGhpcy5pdGVtcyl7XG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRJdGVtcygpO1xuICAgICAgdGhpcy5zZWxlY3RUYWIoaXRlbS5maW5kSW5kZXgodmFsdWUgPT4gIXZhbHVlLmRpc2FibGVkKSk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0SXRlbXMoKTogVGFic0l0ZW1zRGF0YVtdfFRhYkl0ZW1Db21wb25lbnRbXSB7XG4gICAgY29uc3QgaXRlbXMgPSAgKHRoaXMuaXRlbUNvbXBvbmVudHMubGVuZ3RoID4gMCkgPyB0aGlzLml0ZW1Db21wb25lbnRzLnRvQXJyYXkoKSA6IHRoaXMuaXRlbXM7XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG5cbiAgZ2V0SXRlbVBhbmVsKHRhYjogbnVtYmVyKTogVGFiSXRlbUNvbXBvbmVudCB7XG4gICAgbGV0IHBhbmVsO1xuICAgIGNvbnN0IGl0ZW1zID0gIHRoaXMuZ2V0SXRlbXMoKTtcbiAgICBjb25zdCBpdGVtID0gaXRlbXNbdGFiXTtcbiAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIFRhYkl0ZW1Db21wb25lbnQpe1xuICAgICAgcGFuZWwgPSBpdGVtLnBhbmVsQ29tcG9uZW50O1xuICAgIH1cbiAgICByZXR1cm4gcGFuZWw7XG4gIH1cblxuXG4gIGdldElkUHJlZml4KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaWRQcmVmaXgpIHtcbiAgICAgIHJldHVybiB0aGlzLmlkUHJlZml4O1xuICAgIH1cbiAgfVxuXG4gIGdldEl0ZW1JZChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBsZXQgaWQ7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZ2V0SXRlbXMoKTtcbiAgICBpZiAoaXRlbVtpbmRleF0uaWQpIHtcbiAgICAgIGlkID0gaXRlbVtpbmRleF0uaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlkID0gdGhpcy5nZXRJZFByZWZpeCgpICsgJy0nICsgaW5kZXg7XG4gICAgfVxuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIGlzRGlzYWJsZWQoaXRlbTogVGFic0l0ZW1zRGF0YSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IG51bGw7XG4gIH1cblxuXG4gIHNlbGVjdFRhYiggaTogbnVtYmVyICk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFRhYiA9IGk7XG4gICAgY29uc3QgY3VycmVudEl0ZW0gPSB0aGlzLmdldEl0ZW1zKClbaV07XG4gICAgdGhpcy5jdXJyZW50UGFuZWwgPSBjdXJyZW50SXRlbSBpbnN0YW5jZW9mIFRhYkl0ZW1Db21wb25lbnQgPyBjdXJyZW50SXRlbS5wYW5lbENvbXBvbmVudCA6IGN1cnJlbnRJdGVtLnBhbmVsO1xuICAgIHRoaXMudGFiU3JPbmx5Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy50YWJTZWxlY3RvckNvbnRlbnRXcmFwcGVyLnRvQXJyYXkoKVt0aGlzLmN1cnJlbnRUYWJdLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xuICB9XG5cbiAgZm9jdXNGaXJzdFRhYihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgZW5hYmxlZFRhYnMgPSB0aGlzLnRhYlNlbGVjdG9ycy5maWx0ZXIoKGl0ZW0sIGluZGV4KSA9PiAhaXRlbVtpbmRleF0uZGlzYWJsZWQpO1xuICAgIGVuYWJsZWRUYWJzWzBdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGZvY3VzTGFzdFRhYihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgZW5hYmxlZFRhYnMgPSB0aGlzLnRhYlNlbGVjdG9ycy5maWx0ZXIoKGl0ZW0sIGluZGV4KSA9PiAhaXRlbVtpbmRleF0uZGlzYWJsZWQpO1xuICAgIGVuYWJsZWRUYWJzW2VuYWJsZWRUYWJzLmxlbmd0aCAtIDFdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGZvY3VzTmV4dFRhYihmb2N1c2VkVGFiOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRJdGVtcygpO1xuICAgIGxldCBuZXh0VGFiID0gKGZvY3VzZWRUYWIgKyAxKSAlIGl0ZW0ubGVuZ3RoO1xuICAgIHdoaWxlIChuZXh0VGFiICAhPT0gZm9jdXNlZFRhYikge1xuICAgICAgaWYgKCFpdGVtW25leHRUYWJdLmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMudGFiU2VsZWN0b3JzLmZpbmQoKGksIGluZGV4KSA9PiBpbmRleCA9PT0gbmV4dFRhYikubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIG5leHRUYWIgPSAobmV4dFRhYiArIDEpICUgaXRlbS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNQcmV2aW91c1RhYihmb2N1c2VkVGFiOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRJdGVtcygpO1xuICAgIGxldCBwcmV2aW91c1RhYiA9IChmb2N1c2VkVGFiIC0gMSArIGl0ZW0ubGVuZ3RoKSAlIGl0ZW0ubGVuZ3RoO1xuICAgIHdoaWxlIChwcmV2aW91c1RhYiAgIT09IGZvY3VzZWRUYWIpIHtcbiAgICAgIGlmICghaXRlbVtwcmV2aW91c1RhYl0uZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy50YWJTZWxlY3RvcnMuZmluZCgoaSwgaW5kZXgpID0+IGluZGV4ID09PSBwcmV2aW91c1RhYikubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHByZXZpb3VzVGFiID0gKHByZXZpb3VzVGFiIC0gMSArIGl0ZW0ubGVuZ3RoKSAlIGl0ZW0ubGVuZ3RoO1xuICAgIH1cbiAgfVxuXG4gIGdldFBhbmVsQ29udGVudCh0YWI6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZ2V0SXRlbXMoKTtcbiAgICByZXR1cm4gaXRlbVt0YWJdLnBhbmVsICYmIGl0ZW1bdGFiXS5wYW5lbC50ZXh0ID8gYDxwPiR7IFN0cmluZ1V0aWxzLmVzY2FwZUh0bWwoaXRlbVt0YWJdLnBhbmVsLnRleHQpIH08L3A+YCA6IG51bGw7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZVwiPlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJoZWFkaW5nTGV2ZWxcIj5cbiAgICA8aDEgKm5nU3dpdGNoQ2FzZT1cIjFcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+e3t0aXRsZX19PC9oMT5cbiAgICA8aDIgKm5nU3dpdGNoQ2FzZT1cIjJcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+e3t0aXRsZX19PC9oMj5cbiAgICA8aDMgKm5nU3dpdGNoQ2FzZT1cIjNcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+e3t0aXRsZX19PC9oMz5cbiAgICA8aDQgKm5nU3dpdGNoQ2FzZT1cIjRcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+e3t0aXRsZX19PC9oND5cbiAgICA8aDUgKm5nU3dpdGNoQ2FzZT1cIjVcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+e3t0aXRsZX19PC9oNT5cbiAgICA8aDIgKm5nU3dpdGNoRGVmYXVsdCBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+e3t0aXRsZX19PC9oMj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhdGl0bGVcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJoZWFkaW5nTGV2ZWxcIj5cbiAgICAgIDxoMSAqbmdTd2l0Y2hDYXNlPVwiMVwiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj5Db250ZW5pZG88L2gxPlxuICAgICAgPGgyICpuZ1N3aXRjaENhc2U9XCIyXCIgY2xhc3M9XCJsZzpoaWRkZW4gbWItc20gdGV4dC1zbVwiPkNvbnRlbmlkbzwvaDI+XG4gICAgICA8aDMgKm5nU3dpdGNoQ2FzZT1cIjNcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+Q29udGVuaWRvPC9oMz5cbiAgICAgIDxoNCAqbmdTd2l0Y2hDYXNlPVwiNFwiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj5Db250ZW5pZG88L2g0PlxuICAgICAgPGg1ICpuZ1N3aXRjaENhc2U9XCI1XCIgY2xhc3M9XCJsZzpoaWRkZW4gbWItc20gdGV4dC1zbVwiPkNvbnRlbmlkbzwvaDU+XG4gICAgICA8aDIgKm5nU3dpdGNoRGVmYXVsdCBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+Q29udGVuaWRvPC9oMj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiZ2V0SXRlbXMoKVwiPlxuICA8ZGl2IGNsYXNzPVwiYy10YWJzIGxnOmZsZXggbGc6ZmxleC13cmFwIG1iLVstMC4xMjVyZW1dXCIgcm9sZT1cInRhYmxpc3RcIiBbYXR0ci5hcmlhLWxhYmVsXT10YWJsaXN0QXJpYUxhYmVsPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRJdGVtcygpOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gI3RhYlNlbGVjdG9yXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFRhYihpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uaG9tZSk9XCJmb2N1c0ZpcnN0VGFiKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVuZCk9XCJmb2N1c0xhc3RUYWIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dsZWZ0KT1cImZvY3VzUHJldmlvdXNUYWIoaSlcIlxuICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93cmlnaHQpPVwiZm9jdXNOZXh0VGFiKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFyaWEtc2VsZWN0ZWQ6Ymctd2hpdGUgYXJpYS1zZWxlY3RlZDpyb3VuZGVkLXQtWzAuMTg3NXJlbV0gYXJpYS1zZWxlY3RlZDpib3JkZXItYi0wIHJlbGF0aXZlIGZsZXggaXRlbXMtY2VudGVyIHRleHQtYmxhY2sgdW5kZXJsaW5lIHRydW5jYXRlIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgYXJpYS1zZWxlY3RlZDpuby11bmRlcmxpbmUgcHktc20gbGc6cHgtbGcgbGc6cHktYmFzZSBob3Zlcjp0ZXh0LXByaW1hcnktYmFzZSBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb3BhY2l0eS01MCBwb2ludGVyLWV2ZW50cy1ub25lJzogaXNEaXNhYmxlZChpdGVtKSwgJ2FyaWEtc2VsZWN0ZWQ6Ym9yZGVyLVtyZ2IoMTQ2XzE0OF8xNTUvMSldJyA6ICF0aGlzLm1vYmlsZVF1ZXJ5Lm1hdGNoZXN9XCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJnZXRJdGVtSWQoaSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiKGl0ZW0ucm9sZSA/IHJvbGUgOiAndGFiJylcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiY3VycmVudFRhYiA9PT0gaSA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaXRlbS5hcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0uYXJpYUVycm9yTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIml0ZW0uYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIml0ZW0uYXJpYUhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIndGFiLScgKyBnZXRJdGVtSWQoaSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpdGVtLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiaXRlbS5hcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpdGVtLmFyaWFFeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJpdGVtLmFyaWFIYXNQb3B1cFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiKGN1cnJlbnRUYWIgIT09IGkgfHwgaXRlbS5kaXNhYmxlZCA/ICctMScgOiBudWxsKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGl0ZW0pID8gJ3RydWUnIDogKGFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGwpXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAjdGFiU2VsZWN0b3JDb250ZW50V3JhcHBlciBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHBvaW50ZXItZXZlbnRzLW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLmNvbnRlbnRDb21wb25lbnQsIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8ZGl2IFtjbGFzc109XCJbJ3AtYmFzZSBtdC1iYXNlIGxnOm10LTAgYm9yZGVyIGJvcmRlci1uZXV0cmFsLWJhc2UgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOmJvcmRlci1ibGFjayBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cy1pbnB1dCBmb2N1czpyaW5nLTQgZm9jdXM6cmluZy13YXJuaW5nLWJhc2UnLCBjdXJyZW50UGFuZWw/LmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgW2F0dHIuaWRdPVwiJ3RhYi0nICsgZ2V0SXRlbUlkKGN1cnJlbnRUYWIpXCJcbiAgICAgICAgW2F0dHIucm9sZV09XCIoY3VycmVudFBhbmVsPy5yb2xlID8gY3VycmVudFBhbmVsPy5yb2xlIDogJ3RhYnBhbmVsJylcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImN1cnJlbnRQYW5lbD8uYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiY3VycmVudFBhbmVsPy5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjdXJyZW50UGFuZWw/LmFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJnZXRJdGVtSWQoY3VycmVudFRhYilcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJjdXJyZW50UGFuZWw/LmFyaWFIaWRkZW5cIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImN1cnJlbnRQYW5lbD8uYXJpYURpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJjdXJyZW50UGFuZWw/LmFyaWFDb250cm9sc1wiXG4gICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJjdXJyZW50UGFuZWw/LmFyaWFDdXJyZW50XCJcbiAgICAgICAgW2F0dHIuYXJpYS1saXZlXT1cImN1cnJlbnRQYW5lbD8uYXJpYUxpdmVcIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImN1cnJlbnRQYW5lbD8uYXJpYUV4cGFuZGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJjdXJyZW50UGFuZWw/LmFyaWFIYXNQb3B1cFwiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cIihjdXJyZW50UGFuZWw/LnRhYmluZGV4ID8gY3VycmVudFBhbmVsPy50YWJpbmRleCA6ICcwJylcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJoZWFkaW5nTGV2ZWxcIj5cbiAgICAgIDxoMSAqbmdTd2l0Y2hDYXNlPVwiMVwiICN0YWJTck9ubHkgY2xhc3M9XCJsZzpzci1vbmx5IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtYi1iYXNlIGxnOm1iLTAgZm9udC1zZW1pYm9sZFwiPjwvaDE+XG4gICAgICA8aDIgKm5nU3dpdGNoQ2FzZT1cIjJcIiAjdGFiU3JPbmx5IGNsYXNzPVwibGc6c3Itb25seSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgbWItYmFzZSBsZzptYi0wIGZvbnQtc2VtaWJvbGRcIj48L2gyPlxuICAgICAgPGgzICpuZ1N3aXRjaENhc2U9XCIzXCIgI3RhYlNyT25seSBjbGFzcz1cImxnOnNyLW9ubHkgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIG1iLWJhc2UgbGc6bWItMCBmb250LXNlbWlib2xkXCI+PC9oMz5cbiAgICAgIDxoNCAqbmdTd2l0Y2hDYXNlPVwiNFwiICN0YWJTck9ubHkgY2xhc3M9XCJsZzpzci1vbmx5IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtYi1iYXNlIGxnOm1iLTAgZm9udC1zZW1pYm9sZFwiPjwvaDQ+XG4gICAgICA8aDUgKm5nU3dpdGNoQ2FzZT1cIjVcIiAjdGFiU3JPbmx5IGNsYXNzPVwibGc6c3Itb25seSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgbWItYmFzZSBsZzptYi0wIGZvbnQtc2VtaWJvbGRcIj48L2g1PlxuICAgICAgPGgzICpuZ1N3aXRjaERlZmF1bHQgI3RhYlNyT25seSBjbGFzcz1cImxnOnNyLW9ubHkgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIG1iLWJhc2UgbGc6bWItMCBmb250LXNlbWlib2xkXCI+PC9oMz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGdldEl0ZW1QYW5lbChjdXJyZW50VGFiKSwgdGVtcGxhdGU6IGN1cnJlbnRQYW5lbD8uaHRtbCwgaHRtbDogZ2V0UGFuZWxDb250ZW50KGN1cnJlbnRUYWIpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
@@ -2,11 +2,11 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import { ContentBaseComponent } from '../../../../shared/components';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class TooltipContentComponent extends ContentBaseComponent {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TooltipContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.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" }); }
|
|
5
7
|
}
|
|
6
|
-
|
|
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: [{
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TooltipContentComponent, decorators: [{
|
|
9
9
|
type: Component,
|
|
10
10
|
args: [{ selector: 'desy-tooltip-content', template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
11
11
|
}] });
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAtY29udGVudC90b29sdGlwLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS12aWV3cy9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC1jb250ZW50L3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQU1uRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsb0JBQW9COzhHQUFwRCx1QkFBdUI7a0dBQXZCLHVCQUF1QixtRkNQcEMsK0VBR0E7OzJGRElhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRlbnRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdG9vbHRpcC1jb250ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBDb250ZW50QmFzZUNvbXBvbmVudCB7XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { ChangeDetectorRef, Component, ContentChildren, ElementRef, HostBinding, Input, TemplateRef, 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 { inlinePositioning } from 'tippy.js';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common";
|
|
11
|
+
import * as i2 from "../../../shared/directives/custom-inner-content.directive";
|
|
12
|
+
import * as i3 from "ngx-tippy-wrapper";
|
|
13
|
+
import * as i4 from "../../../shared/pipes/make-html-list.pipe";
|
|
14
|
+
export class TooltipComponent extends AccessibilityComponent {
|
|
15
|
+
static { this.KEY_CODE_ESC = 'Escape'; }
|
|
16
|
+
constructor(changeDetectorRef) {
|
|
17
|
+
super();
|
|
18
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
19
|
+
this.hasContent = true;
|
|
20
|
+
this.hasIconComponentContent = true;
|
|
21
|
+
}
|
|
22
|
+
ngOnChanges(changes) {
|
|
23
|
+
this.classes = this.classes ? this.classes : null;
|
|
24
|
+
this.idData = this.id ? this.id : null;
|
|
25
|
+
this.roleData = this.role ? this.role : null;
|
|
26
|
+
this.ariaDescribedbyData = this.ariaDescribedBy ? this.ariaDescribedBy : null;
|
|
27
|
+
this.ariaErrormessageData = this.ariaErrorMessage ? this.ariaErrorMessage : null;
|
|
28
|
+
this.ariaLabelData = this.ariaLabel ? this.ariaLabel : null;
|
|
29
|
+
this.ariaLabelledbyData = this.ariaLabelledBy ? this.ariaLabelledBy : null;
|
|
30
|
+
this.ariaHiddenData = this.ariaHidden ? this.ariaHidden : null;
|
|
31
|
+
this.ariaDisabledData = this.ariaDisabled ? this.ariaDisabled : null;
|
|
32
|
+
this.ariaControlsData = this.ariaControls ? this.ariaControls : null;
|
|
33
|
+
this.ariaCurrentData = this.ariaCurrent ? this.ariaCurrent : null;
|
|
34
|
+
this.ariaLiveData = this.ariaLive ? this.ariaLive : null;
|
|
35
|
+
this.ariaExpandedData = this.ariaExpanded ? this.ariaExpanded : null;
|
|
36
|
+
this.ariaHaspopupData = this.ariaHasPopup ? this.ariaHasPopup : null;
|
|
37
|
+
this.tabindexData = this.tabindex ? this.tabindex : null;
|
|
38
|
+
}
|
|
39
|
+
ngAfterContentInit() {
|
|
40
|
+
const contentTooltip = this.tooltipContent.nativeElement;
|
|
41
|
+
this.tippyProperties = {
|
|
42
|
+
placement: 'top',
|
|
43
|
+
inlinePositioning: true,
|
|
44
|
+
content: contentTooltip,
|
|
45
|
+
allowHTML: true,
|
|
46
|
+
trigger: 'mouseenter focus',
|
|
47
|
+
hideOnClick: false,
|
|
48
|
+
theme: '',
|
|
49
|
+
plugins: [{
|
|
50
|
+
name: 'hideOnEsc',
|
|
51
|
+
defaultValue: true,
|
|
52
|
+
fn({ hide }) {
|
|
53
|
+
function onKeyDown(event) {
|
|
54
|
+
if (event.key === TooltipComponent.KEY_CODE_ESC) {
|
|
55
|
+
hide();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
onShow() {
|
|
60
|
+
document.addEventListener('keydown', onKeyDown);
|
|
61
|
+
},
|
|
62
|
+
onHide() {
|
|
63
|
+
document.removeEventListener('keydown', onKeyDown);
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
},
|
|
67
|
+
}, inlinePositioning],
|
|
68
|
+
role: 'tooltip',
|
|
69
|
+
aria: {
|
|
70
|
+
content: this.complex ? 'describedby' : 'labelledby',
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
getIdButton() {
|
|
75
|
+
return this.id + '-button';
|
|
76
|
+
}
|
|
77
|
+
getIdTooltip() {
|
|
78
|
+
return this.id + '-tooltip';
|
|
79
|
+
}
|
|
80
|
+
handleEmptyContent(isEmpty) {
|
|
81
|
+
this.hasContent = !isEmpty;
|
|
82
|
+
this.changeDetectorRef.detectChanges();
|
|
83
|
+
}
|
|
84
|
+
handleEmptyIconContent(isEmpty) {
|
|
85
|
+
this.hasIconComponentContent = !isEmpty;
|
|
86
|
+
this.changeDetectorRef.detectChanges();
|
|
87
|
+
}
|
|
88
|
+
getMainContent() {
|
|
89
|
+
let content;
|
|
90
|
+
if (this.html) {
|
|
91
|
+
content = this.html;
|
|
92
|
+
}
|
|
93
|
+
else if (this.text) {
|
|
94
|
+
content = `<p>${this.text}</p>`;
|
|
95
|
+
}
|
|
96
|
+
return content;
|
|
97
|
+
}
|
|
98
|
+
getIconContent(icon) {
|
|
99
|
+
let iconContent;
|
|
100
|
+
if (icon.html) {
|
|
101
|
+
iconContent = this.icon.html;
|
|
102
|
+
}
|
|
103
|
+
else if (icon.type === 'info') {
|
|
104
|
+
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>';
|
|
105
|
+
}
|
|
106
|
+
else if (icon.type === 'alert') {
|
|
107
|
+
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>';
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
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>';
|
|
111
|
+
}
|
|
112
|
+
return iconContent;
|
|
113
|
+
}
|
|
114
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TooltipComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
115
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.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
|
+
}
|
|
117
|
+
__decorate([
|
|
118
|
+
DesyContentChild(),
|
|
119
|
+
__metadata("design:type", ContentComponent)
|
|
120
|
+
], TooltipComponent.prototype, "contentComponent", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
DesyContentChild(),
|
|
123
|
+
__metadata("design:type", IconComponent)
|
|
124
|
+
], TooltipComponent.prototype, "iconComponent", void 0);
|
|
125
|
+
__decorate([
|
|
126
|
+
DesyContentChild(),
|
|
127
|
+
__metadata("design:type", TooltipContentComponent)
|
|
128
|
+
], TooltipComponent.prototype, "tooltipContentComponent", void 0);
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
130
|
+
type: Component,
|
|
131
|
+
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" }]
|
|
132
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { contentComponent: [{
|
|
133
|
+
type: ContentChildren,
|
|
134
|
+
args: [ContentComponent]
|
|
135
|
+
}], iconComponent: [{
|
|
136
|
+
type: ContentChildren,
|
|
137
|
+
args: [IconComponent]
|
|
138
|
+
}], tooltipContentComponent: [{
|
|
139
|
+
type: ContentChildren,
|
|
140
|
+
args: [TooltipContentComponent]
|
|
141
|
+
}], tooltipContent: [{
|
|
142
|
+
type: ViewChild,
|
|
143
|
+
args: ['tooltipContent', { read: ElementRef, static: true }]
|
|
144
|
+
}], id: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], text: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], html: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], complex: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], classesTooltip: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], icon: [{
|
|
155
|
+
type: Input
|
|
156
|
+
}], caller: [{
|
|
157
|
+
type: Input
|
|
158
|
+
}], classes: [{
|
|
159
|
+
type: Input
|
|
160
|
+
}, {
|
|
161
|
+
type: HostBinding,
|
|
162
|
+
args: ['class']
|
|
163
|
+
}], idData: [{
|
|
164
|
+
type: HostBinding,
|
|
165
|
+
args: ['attr.id']
|
|
166
|
+
}], roleData: [{
|
|
167
|
+
type: HostBinding,
|
|
168
|
+
args: ['attr.role']
|
|
169
|
+
}], ariaDescribedbyData: [{
|
|
170
|
+
type: HostBinding,
|
|
171
|
+
args: ['attr.aria-describedby']
|
|
172
|
+
}], ariaErrormessageData: [{
|
|
173
|
+
type: HostBinding,
|
|
174
|
+
args: ['attr.aria-errormessage']
|
|
175
|
+
}], ariaLabelData: [{
|
|
176
|
+
type: HostBinding,
|
|
177
|
+
args: ['attr.aria-label']
|
|
178
|
+
}], ariaLabelledbyData: [{
|
|
179
|
+
type: HostBinding,
|
|
180
|
+
args: ['attr.aria-labelledby']
|
|
181
|
+
}], ariaHiddenData: [{
|
|
182
|
+
type: HostBinding,
|
|
183
|
+
args: ['attr.aria-hidden']
|
|
184
|
+
}], ariaDisabledData: [{
|
|
185
|
+
type: HostBinding,
|
|
186
|
+
args: ['attr.aria-disabled']
|
|
187
|
+
}], ariaControlsData: [{
|
|
188
|
+
type: HostBinding,
|
|
189
|
+
args: ['attr.aria-controls']
|
|
190
|
+
}], ariaCurrentData: [{
|
|
191
|
+
type: HostBinding,
|
|
192
|
+
args: ['attr.aria-current']
|
|
193
|
+
}], ariaLiveData: [{
|
|
194
|
+
type: HostBinding,
|
|
195
|
+
args: ['attr.aria-live']
|
|
196
|
+
}], ariaExpandedData: [{
|
|
197
|
+
type: HostBinding,
|
|
198
|
+
args: ['attr.aria-expanded']
|
|
199
|
+
}], ariaHaspopupData: [{
|
|
200
|
+
type: HostBinding,
|
|
201
|
+
args: ['attr.aria-haspopup']
|
|
202
|
+
}], tabindexData: [{
|
|
203
|
+
type: HostBinding,
|
|
204
|
+
args: ['attr.tabindex']
|
|
205
|
+
}] } });
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXZpZXdzL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDYSxpQkFBaUIsRUFDbkMsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFHTCxXQUFXLEVBQ1gsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUVyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7OztBQU03QyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsc0JBQXNCO2FBRTFDLGlCQUFZLEdBQUcsUUFBUSxDQUFDO0lBMkN4QyxZQUFvQixpQkFBb0M7UUFDdEQsS0FBSyxFQUFFLENBQUM7UUFEVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBSHhELGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsNEJBQXVCLEdBQUcsSUFBSSxDQUFDO0lBSS9CLENBQUM7SUFFRCxXQUFXLENB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QUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUV0RCxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUN5QixPQUFPO3NCQUFyQyxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLE9BQU87Z0JBSUwsTUFBTTtzQkFBN0IsV0FBVzt1QkFBQyxTQUFTO2dCQUNJLFFBQVE7c0JBQWpDLFdBQVc7dUJBQUMsV0FBVztnQkFDYyxtQkFBbUI7c0JBQXhELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUNHLG9CQUFvQjtzQkFBMUQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ0wsYUFBYTtzQkFBNUMsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBQ08sa0JBQWtCO3NCQUF0RCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFDRixjQUFjO3NCQUE5QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDSSxnQkFBZ0I7c0JBQWxELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNFLGdCQUFnQjtzQkFBbEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0MsZUFBZTtzQkFBaEQsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBQ0QsWUFBWTtzQkFBMUMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBQ00sZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDRSxnQkFBZ0I7c0JBQWxELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNILFlBQVk7c0JBQXpDLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkRhdGEgfSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUb29sdGlwQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC1jb250ZW50L3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVzeUNvbnRlbnRDaGlsZCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgaW5saW5lUG9zaXRpb25pbmcgfSBmcm9tICd0aXBweS5qcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdG9vbHRpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgc3RhdGljIHJlYWRvbmx5IEtFWV9DT0RFX0VTQyA9ICdFc2NhcGUnO1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihDb250ZW50Q29tcG9uZW50KSBjb250ZW50Q29tcG9uZW50OiBDb250ZW50Q29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihJY29uQ29tcG9uZW50KSBpY29uQ29tcG9uZW50OiBJY29uQ29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihUb29sdGlwQ29udGVudENvbXBvbmVudCkgdG9vbHRpcENvbnRlbnRDb21wb25lbnQ6IFRvb2x0aXBDb250ZW50Q29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBDb250ZW50JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgdG9vbHRpcENvbnRlbnQ6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBodG1sOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbXBsZXg6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNsYXNzZXNUb29sdGlwOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb246IEljb25EYXRhO1xuICBASW5wdXQoKSBjYWxsZXI6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc2VzOiBhbnk7XG4gIC8vIEBIb3N0QmluZGluZygnZGF0YS1tb2R1bGUnKSBkYXRhTW9kdWxlID0gXCJjLXRhYnNcIjtcblxuICAvL0FjY2Vzc2liaWxpdHlcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJykgaWREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKSBhcmlhRGVzY3JpYmVkYnlEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWVycm9ybWVzc2FnZScpIGFyaWFFcnJvcm1lc3NhZ2VEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJykgYXJpYUxhYmVsRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbGxlZGJ5JykgYXJpYUxhYmVsbGVkYnlEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpIGFyaWFIaWRkZW5EYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRpc2FibGVkJykgYXJpYURpc2FibGVkRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1jb250cm9scycpIGFyaWFDb250cm9sc0RhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY3VycmVudCcpIGFyaWFDdXJyZW50RGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1saXZlJykgYXJpYUxpdmVEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJykgYXJpYUV4cGFuZGVkRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oYXNwb3B1cCcpIGFyaWFIYXNwb3B1cERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiaW5kZXhEYXRhOiBhbnk7XG5cbiAgdGlwcHlQcm9wZXJ0aWVzOiBhbnk7XG4gIGhhc0NvbnRlbnQgPSB0cnVlO1xuICBoYXNJY29uQ29tcG9uZW50Q29udGVudCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NlcyA9IHRoaXMuY2xhc3NlcyA/IHRoaXMuY2xhc3NlcyA6IG51bGw7XG4gICAgdGhpcy5pZERhdGEgPSB0aGlzLmlkID8gdGhpcy5pZCA6IG51bGw7XG4gICAgdGhpcy5yb2xlRGF0YSA9IHRoaXMucm9sZSA/IHRoaXMucm9sZSA6IG51bGw7XG4gICAgdGhpcy5hcmlhRGVzY3JpYmVkYnlEYXRhID0gdGhpcy5hcmlhRGVzY3JpYmVkQnkgPyB0aGlzLmFyaWFEZXNjcmliZWRCeSA6IG51bGw7XG4gICAgdGhpcy5hcmlhRXJyb3JtZXNzYWdlRGF0YSA9IHRoaXMuYXJpYUVycm9yTWVzc2FnZSA/IHRoaXMuYXJpYUVycm9yTWVzc2FnZSA6IG51bGw7XG4gICAgdGhpcy5hcmlhTGFiZWxEYXRhID0gdGhpcy5hcmlhTGFiZWwgPyB0aGlzLmFyaWFMYWJlbCA6IG51bGw7XG4gICAgdGhpcy5hcmlhTGFiZWxsZWRieURhdGEgPSB0aGlzLmFyaWFMYWJlbGxlZEJ5ID8gdGhpcy5hcmlhTGFiZWxsZWRCeSA6IG51bGw7XG4gICAgdGhpcy5hcmlhSGlkZGVuRGF0YSA9IHRoaXMuYXJpYUhpZGRlbiA/IHRoaXMuYXJpYUhpZGRlbiA6IG51bGw7XG4gICAgdGhpcy5hcmlhRGlzYWJsZWREYXRhID0gdGhpcy5hcmlhRGlzYWJsZWQgPyB0aGlzLmFyaWFEaXNhYmxlZCA6IG51bGw7XG4gICAgdGhpcy5hcmlhQ29udHJvbHNEYXRhID0gdGhpcy5hcmlhQ29udHJvbHMgPyB0aGlzLmFyaWFDb250cm9scyA6IG51bGw7XG4gICAgdGhpcy5hcmlhQ3VycmVudERhdGEgPSB0aGlzLmFyaWFDdXJyZW50ID8gdGhpcy5hcmlhQ3VycmVudCA6IG51bGw7XG4gICAgdGhpcy5hcmlhTGl2ZURhdGEgPSB0aGlzLmFyaWFMaXZlID8gdGhpcy5hcmlhTGl2ZSA6IG51bGw7XG4gICAgdGhpcy5hcmlhRXhwYW5kZWREYXRhID0gdGhpcy5hcmlhRXhwYW5kZWQgPyB0aGlzLmFyaWFFeHBhbmRlZCA6IG51bGw7XG4gICAgdGhpcy5hcmlhSGFzcG9wdXBEYXRhID0gdGhpcy5hcmlhSGFzUG9wdXAgPyB0aGlzLmFyaWFIYXNQb3B1cCA6IG51bGw7XG4gICAgdGhpcy50YWJpbmRleERhdGEgPSB0aGlzLnRhYmluZGV4ID8gdGhpcy50YWJpbmRleCA6IG51bGw7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudFRvb2x0aXAgPSB0aGlzLnRvb2x0aXBDb250ZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy50aXBweVByb3BlcnRpZXMgPSB7XG4gICAgICBwbGFjZW1lbnQ6ICd0b3AnLFxuICAgICAgaW5saW5lUG9zaXRpb25pbmc6IHRydWUsXG4gICAgICBjb250ZW50OiBjb250ZW50VG9vbHRpcCxcbiAgICAgIGFsbG93SFRNTDogdHJ1ZSwgLy8gTWFrZSBzdXJlIHlvdSBhcmUgc2FuaXRpemluZyBhbnkgdXNlciBkYXRhIGlmIHJlbmRlcmluZyBIVE1MIHRvIHByZXZlbnQgWFNTIGF0dGFja3MuXG4gICAgICB0cmlnZ2VyOiAnbW91c2VlbnRlciBmb2N1cycsXG4gICAgICBoaWRlT25DbGljazogZmFsc2UsXG4gICAgICB0aGVtZTogJycsXG4gICAgICBwbHVnaW5zOiBbe1xuICAgICAgICBuYW1lOiAnaGlkZU9uRXNjJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgICAgICBmbih7IGhpZGUgfSk6IGFueSB7XG5cbiAgICAgICAgICBmdW5jdGlvbiBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09IFRvb2x0aXBDb21wb25lbnQuS0VZX0NPREVfRVNDKSB7XG4gICAgICAgICAgICAgIGhpZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgb25TaG93KCk6IHZvaWQge1xuICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkhpZGUoKTogdm9pZCB7XG4gICAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgfSwgaW5saW5lUG9zaXRpb25pbmddLFxuICAgICAgcm9sZTogJ3Rvb2x0aXAnLFxuICAgICAgYXJpYToge1xuICAgICAgICBjb250ZW50OiB0aGlzLmNvbXBsZXggPyAnZGVzY3JpYmVkYnknIDogJ2xhYmVsbGVkYnknLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0SWRCdXR0b24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZCArICctYnV0dG9uJztcbiAgfVxuXG4gIGdldElkVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkICsgJy10b29sdGlwJztcbiAgfVxuXG4gIGhhbmRsZUVtcHR5Q29udGVudChpc0VtcHR5OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5oYXNDb250ZW50ID0gIWlzRW1wdHk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBoYW5kbGVFbXB0eUljb25Db250ZW50KGlzRW1wdHk6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmhhc0ljb25Db21wb25lbnRDb250ZW50ID0gIWlzRW1wdHk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuXG4gIGdldE1haW5Db250ZW50KCk6IHN0cmluZyB7XG4gICAgbGV0IGNvbnRlbnQ7XG4gICAgaWYgKHRoaXMuaHRtbCkge1xuICAgICAgY29udGVudCA9IHRoaXMuaHRtbDtcbiAgICB9IGVsc2UgaWYgKHRoaXMudGV4dCkge1xuICAgICAgY29udGVudCA9IGA8cD4ke3RoaXMudGV4dH08L3A+YDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBnZXRJY29uQ29udGVudChpY29uOiBJY29uRGF0YSk6IHN0cmluZyB7XG4gICAgbGV0IGljb25Db250ZW50O1xuICAgIGlmIChpY29uLmh0bWwpIHtcbiAgICAgIGljb25Db250ZW50ID0gdGhpcy5pY29uLmh0bWw7XG4gICAgfSBlbHNlIGlmIChpY29uLnR5cGUgPT09ICdpbmZvJykge1xuICAgICAgaWNvbkNvbnRlbnQgPSAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNDAgMTQwXCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiBjbGFzcz1cInctNCBoLTQgdGV4dC1wcmltYXJ5LWJhc2VcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkluZm9ybWFjacOzblwiPjxwYXRoIGQ9XCJNNzAgMGE3MCA3MCAwIDEwNzAgNzBBNzAuMDggNzAuMDggMCAwMDcwIDB6bTcuNSAxMDVhNy41IDcuNSAwIDAxLTE1IDBWNzBhNy41IDcuNSAwIDAxMTUgMHpNNzAgNTBhMTAgMTAgMCAxMTEwLTEwIDEwIDEwIDAgMDEtMTAgMTB6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz4nO1xuICAgIH0gZWxzZSBpZiAoaWNvbi50eXBlID09PSAnYWxlcnQnKSB7XG4gICAgICBpY29uQ29udGVudCA9ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy00IGgtNCB0ZXh0LWFsZXJ0LWJhc2VcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkFsZXJ0YVwiPjxwYXRoIGQ9XCJNMTM4LjQyIDExOC4yOWwtNTUtMTEwYTE1IDE1IDAgMDAtMjYuODQgMGwtNTUgMTEwQTE1IDE1IDAgMDAxNSAxNDBoMTEwYTE1IDE1IDAgMDAxMy40Mi0yMS43MXpNNjIuNSA1MGE3LjUgNy41IDAgMDExNSAwdjMwYTcuNSA3LjUgMCAwMS0xNSAwem03LjUgNzBhMTAgMTAgMCAxMTEwLTEwIDEwIDEwIDAgMDEtMTAgMTB6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz4nO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uQ29udGVudCA9ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy00IGgtNCB0ZXh0LXByaW1hcnktYmFzZVwiIHJvbGU9XCJpbWdcIiBhcmlhLWxhYmVsPVwiQXl1ZGFcIj48cGF0aCBkPVwiTTcwIDBhNzAgNzAgMCAxMDcwIDcwQTcwLjA4IDcwLjA4IDAgMDA3MCAwem0wIDExNy41MWExMCAxMCAwIDExMTAtMTAgMTAgMTAgMCAwMS0xMCAxMHptOS4xNy0zOS4wOGEyLjUgMi41IDAgMDAtMS42NyAyLjM2djEuNzFhNy41IDcuNSAwIDAxLTE1IDB2LTEwQTcuNSA3LjUgMCAwMTcwIDY1YTEyLjUgMTIuNSAwIDEwLTEyLjUtMTIuNSA3LjUgNy41IDAgMDEtMTUgMCAyNy41IDI3LjUgMCAxMTM2LjY3IDI1LjkzelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+PC9zdmc+JztcbiAgICB9XG4gICAgcmV0dXJuIGljb25Db250ZW50O1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwidGlwcHlQcm9wZXJ0aWVzXCIgW2F0dHIuaWRdPVwiZ2V0SWRCdXR0b24oKVwiXG4gICAgICBuZ3hUaXBweSBbdGlwcHlQcm9wc109XCJ0aXBweVByb3BlcnRpZXNcIlxuICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZm9jdXM6Ymctd2FybmluZy1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cyBmb2N1czp0ZXh0LWJsYWNrXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImdldElkQnV0dG9uKCkgKyAnICcgKyBnZXRJZFRvb2x0aXAoKVwiPlxuICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGNvbnRlbnRDb21wb25lbnQsIGh0bWw6IGdldE1haW5Db250ZW50KCkgfVwiPjwvbmctY29udGFpbmVyPlxuICA8c3BhbiAqbmdJZj1cImhhc0NvbnRlbnQgJiYgKCAoaWNvbkNvbXBvbmVudCkgfHwgKGljb24pIClcIiBjbGFzcz1cImlubGluZS1ibG9jayB3LTEuNVwiPjwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJpY29uQ29tcG9uZW50XCIgY2xhc3M9XCJpbmxpbmUtYmxvY2tcIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGljb25Db21wb25lbnQgfVwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNJY29uQ29tcG9uZW50Q29udGVudFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaWNvbkNvbXBvbmVudC50eXBlXCI+XG4gICAgICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cIidpbmZvJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy00IGgtNCB0ZXh0LXByaW1hcnktYmFzZVwiIHJvbGU9XCJpbWdcIiBhcmlhLWxhYmVsPVwiSW5mb3JtYWNpw7NuXCI+PHBhdGggZD1cIk03MCAwYTcwIDcwIDAgMTA3MCA3MEE3MC4wOCA3MC4wOCAwIDAwNzAgMHptNy41IDEwNWE3LjUgNy41IDAgMDEtMTUgMFY3MGE3LjUgNy41IDAgMDExNSAwek03MCA1MGExMCAxMCAwIDExMTAtMTAgMTAgMTAgMCAwMS0xMCAxMHpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPjwvc3ZnPlxuICAgICAgICA8c3ZnICpuZ1N3aXRjaENhc2U9XCInYWxlcnQnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTQgaC00IHRleHQtYWxlcnQtYmFzZVwiIHJvbGU9XCJpbWdcIiBhcmlhLWxhYmVsPVwiQWxlcnRhXCI+PHBhdGggZD1cIk0xMzguNDIgMTE4LjI5bC01NS0xMTBhMTUgMTUgMCAwMC0yNi44NCAwbC01NSAxMTBBMTUgMTUgMCAwMDE1IDE0MGgxMTBhMTUgMTUgMCAwMDEzLjQyLTIxLjcxek02Mi41IDUwYTcuNSA3LjUgMCAwMTE1IDB2MzBhNy41IDcuNSAwIDAxLTE1IDB6bTcuNSA3MGExMCAxMCAwIDExMTAtMTAgMTAgMTAgMCAwMS0xMCAxMHpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPjwvc3ZnPlxuICAgICAgICA8c3ZnICpuZ1N3aXRjaERlZmF1bHQgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTQgaC00IHRleHQtcHJpbWFyeS1iYXNlXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJBeXVkYVwiPjxwYXRoIGQ9XCJNNzAgMGE3MCA3MCAwIDEwNzAgNzBBNzAuMDggNzAuMDggMCAwMDcwIDB6bTAgMTE3LjUxYTEwIDEwIDAgMTExMC0xMCAxMCAxMCAwIDAxLTEwIDEwem05LjE3LTM5LjA4YTIuNSAyLjUgMCAwMC0xLjY3IDIuMzZ2MS43MWE3LjUgNy41IDAgMDEtMTUgMHYtMTBBNy41IDcuNSAwIDAxNzAgNjVhMTIuNSAxMi41IDAgMTAtMTIuNS0xMi41IDcuNSA3LjUgMCAwMS0xNSAwIDI3LjUgMjcuNSAwIDExMzYuNjcgMjUuOTN6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiIWljb25Db21wb25lbnQgJiYgaWNvblwiIGNsYXNzPVwiaW5saW5lLWJsb2NrXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgaHRtbDogZ2V0SWNvbkNvbnRlbnQoaWNvbikgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG48L2Rpdj5cblxuPGRpdiAjdG9vbHRpcENvbnRlbnQgW2F0dHIuaWRdPVwiZ2V0SWRUb29sdGlwKClcIlxuICAgICAgW2NsYXNzXT1cIlsnLW15LXhzIHAtc20gc2hhZG93LW1kIGJnLWJsYWNrIHJvdW5kZWQgdGV4dC13aGl0ZScsIGNsYXNzZXNUb29sdGlwXSB8IG1ha2VIdG1sTGlzdFwiPlxuICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IHRvb2x0aXBDb250ZW50Q29tcG9uZW50LCB0ZW1wbGF0ZTogY2FsbGVyIH1cIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|