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
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild, ElementRef, HostBinding, } from '@angular/core';
|
|
2
|
-
import { AccessibilityAndContentRequiredComponent } from '../../../shared/components';
|
|
3
|
-
import { FocusUtils } from '../../../shared/utils/focus-utils';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "../../../shared/directives/custom-inner-content.directive";
|
|
7
|
-
import * as i3 from "ngx-tippy-wrapper";
|
|
8
|
-
import * as i4 from "../../../shared/pipes/make-html-list.pipe";
|
|
9
|
-
export class DropdownComponent extends AccessibilityAndContentRequiredComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.clickEvent = new EventEmitter();
|
|
13
|
-
this.isOpen = false;
|
|
14
|
-
this.clickOutsideEnabled = false;
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
let contentTooltip;
|
|
18
|
-
if (this.dropdownContent && this.dropdownContent.nativeElement) {
|
|
19
|
-
contentTooltip = this.dropdownContent.nativeElement;
|
|
20
|
-
contentTooltip.style.display = 'block';
|
|
21
|
-
this.tippyProperties = {
|
|
22
|
-
placement: 'bottom-start',
|
|
23
|
-
inlinePositioning: true,
|
|
24
|
-
content: contentTooltip,
|
|
25
|
-
allowHTML: true,
|
|
26
|
-
trigger: 'click',
|
|
27
|
-
hideOnClick: true,
|
|
28
|
-
interactive: true,
|
|
29
|
-
arrow: false,
|
|
30
|
-
offset: [0, -10],
|
|
31
|
-
theme: '',
|
|
32
|
-
plugins: [
|
|
33
|
-
{
|
|
34
|
-
name: 'hideOnPopperBlur',
|
|
35
|
-
defaultValue: true,
|
|
36
|
-
fn(instance) {
|
|
37
|
-
return {
|
|
38
|
-
onCreate() {
|
|
39
|
-
instance.popper.addEventListener('focusout', (event) => {
|
|
40
|
-
if (instance.props.hideOnPopperBlur &&
|
|
41
|
-
event.relatedTarget &&
|
|
42
|
-
!instance.popper.contains(event.relatedTarget)) {
|
|
43
|
-
instance.hide();
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
}, {
|
|
50
|
-
name: 'hideOnEsc',
|
|
51
|
-
defaultValue: true,
|
|
52
|
-
fn({ hide }) {
|
|
53
|
-
function onKeyDown(event) {
|
|
54
|
-
if (event.key === DropdownComponent.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
|
-
}
|
|
68
|
-
],
|
|
69
|
-
role: false,
|
|
70
|
-
aria: {
|
|
71
|
-
content: 'auto',
|
|
72
|
-
},
|
|
73
|
-
onShown(instance) {
|
|
74
|
-
const firstFocusable = FocusUtils.getFirstFocusableElement(contentTooltip);
|
|
75
|
-
if (firstFocusable) {
|
|
76
|
-
firstFocusable.focus();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
ngOnChanges(changes) {
|
|
83
|
-
this.classesContainer = this.classesContainer ? this.classesContainer : 'relative';
|
|
84
|
-
}
|
|
85
|
-
onClick(event) {
|
|
86
|
-
if (!this.isDisabled()) {
|
|
87
|
-
this.clickEvent.emit(event);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
setOpen(isOpen) {
|
|
91
|
-
this.isOpen = isOpen;
|
|
92
|
-
}
|
|
93
|
-
isDisabled() {
|
|
94
|
-
return this.disabled ? true : null;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
DropdownComponent.KEY_CODE_ESC = 'Escape';
|
|
98
|
-
DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
99
|
-
DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DropdownComponent, selector: "desy-dropdown", inputs: { id: "id", disabled: "disabled", hiddenText: "hiddenText", classesContainer: "classesContainer", classesTooltip: "classesTooltip", caller: "caller", classes: "classes" }, outputs: { clickEvent: "clickEvent" }, host: { properties: { "class": "this.classesContainer" } }, viewQueries: [{ propertyName: "dropdownContent", first: true, predicate: ["dropdownContent"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<button (click)=\"onClick($event)\"\n ngxTippy [tippyProps]=\"tippyProperties\"\n [class]=\"['c-dropdown', classes] | makeHtmlList\"\n [attr.disabled]=\"isDisabled() ? 'disabled' : null\"\n aria-haspopup=\"true\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.tabIndex]=\"isDisabled() ? '-1' : tabindex\">\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\">\n <ng-container *desyCustomInnerContent=\"{ html: html, text: text }\"></ng-container>\n <ng-content></ng-content>\n </span>\n <svg class=\"inline-block -mr-2 align-middle -my-px\" viewBox=\"0 0 96 96\" aria-hidden=\"true\" fill=\"currentColor\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\n</button>\n<span *ngIf=\"hiddenText\" class=\"sr-only\">{{ hiddenText }}</span>\n<div #dropdownContent style=\"display: none;\"\n [class]=\"['-ml-sm mt-2 border border-neutral-base shadow-md bg-white', classesTooltip] | makeHtmlList\">\n <ng-container *ngTemplateOutlet=\"caller\"></ng-container>\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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" }] });
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
101
|
-
type: Component,
|
|
102
|
-
args: [{ selector: 'desy-dropdown', template: "<button (click)=\"onClick($event)\"\n ngxTippy [tippyProps]=\"tippyProperties\"\n [class]=\"['c-dropdown', classes] | makeHtmlList\"\n [attr.disabled]=\"isDisabled() ? 'disabled' : null\"\n aria-haspopup=\"true\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.tabIndex]=\"isDisabled() ? '-1' : tabindex\">\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\">\n <ng-container *desyCustomInnerContent=\"{ html: html, text: text }\"></ng-container>\n <ng-content></ng-content>\n </span>\n <svg class=\"inline-block -mr-2 align-middle -my-px\" viewBox=\"0 0 96 96\" aria-hidden=\"true\" fill=\"currentColor\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\n</button>\n<span *ngIf=\"hiddenText\" class=\"sr-only\">{{ hiddenText }}</span>\n<div #dropdownContent style=\"display: none;\"\n [class]=\"['-ml-sm mt-2 border border-neutral-base shadow-md bg-white', classesTooltip] | makeHtmlList\">\n <ng-container *ngTemplateOutlet=\"caller\"></ng-container>\n</div>" }]
|
|
103
|
-
}], propDecorators: { dropdownContent: [{
|
|
104
|
-
type: ViewChild,
|
|
105
|
-
args: ['dropdownContent', { read: ElementRef, static: true }]
|
|
106
|
-
}], id: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], disabled: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], hiddenText: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], classesContainer: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}, {
|
|
115
|
-
type: HostBinding,
|
|
116
|
-
args: ['class']
|
|
117
|
-
}], classesTooltip: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}], caller: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], classes: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], clickEvent: [{
|
|
124
|
-
type: Output
|
|
125
|
-
}] } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1idXR0b25zL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1idXR0b25zL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsVUFBVSxFQUlWLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7OztBQU0vRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsd0NBQXdDO0lBSi9FOztRQWtCWSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUxQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2Ysd0JBQW1CLEdBQUcsS0FBSyxDQUFDO0tBNEY3QjtJQXhGQyxRQUFRO1FBQ04sSUFBSSxjQUEyQixDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRTtZQUM5RCxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUE0QixDQUFDO1lBQ25FLGNBQWMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHO2dCQUNyQixTQUFTLEVBQUUsY0FBYztnQkFDekIsaUJBQWlCLEVBQUUsSUFB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aEYsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFdkQsRUFBRTtzQkFBVixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDeUIsZ0JBQWdCO3NCQUE5QyxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLE9BQU87Z0JBQ3BCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIE9uSW5pdCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBIb3N0QmluZGluZyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5QW5kQ29udGVudFJlcXVpcmVkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRm9jdXNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9mb2N1cy11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUFuZENvbnRlbnRSZXF1aXJlZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgXG4gIHN0YXRpYyByZWFkb25seSBLRVlfQ09ERV9FU0MgPSAnRXNjYXBlJztcblxuICBAVmlld0NoaWxkKCdkcm9wZG93bkNvbnRlbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93bkNvbnRlbnQ6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGRlblRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzZXNDb250YWluZXI6IGFueTtcbiAgQElucHV0KCkgY2xhc3Nlc1Rvb2x0aXA6IHN0cmluZztcbiAgQElucHV0KCkgY2FsbGVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgaXNPcGVuID0gZmFsc2U7XG4gIGNsaWNrT3V0c2lkZUVuYWJsZWQgPSBmYWxzZTtcblxuICB0aXBweVByb3BlcnRpZXM6IGFueTtcblxuICBuZ09uSW5pdCgpOiBhbnkge1xuICAgIGxldCBjb250ZW50VG9vbHRpcDogSFRNTEVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuZHJvcGRvd25Db250ZW50ICYmIHRoaXMuZHJvcGRvd25Db250ZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnRlbnRUb29sdGlwID0gdGhpcy5kcm9wZG93bkNvbnRlbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGNvbnRlbnRUb29sdGlwLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgdGhpcy50aXBweVByb3BlcnRpZXMgPSB7XG4gICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbS1zdGFydCcsXG4gICAgICAgIGlubGluZVBvc2l0aW9uaW5nOiB0cnVlLFxuICAgICAgICBjb250ZW50OiBjb250ZW50VG9vbHRpcCxcbiAgICAgICAgYWxsb3dIVE1MOiB0cnVlLCAvLyBNYWtlIHN1cmUgeW91IGFyZSBzYW5pdGl6aW5nIGFueSB1c2VyIGRhdGEgaWYgcmVuZGVyaW5nIEhUTUwgdG8gcHJldmVudCBYU1MgYXR0YWNrcy5cbiAgICAgICAgdHJpZ2dlcjogJ2NsaWNrJyxcbiAgICAgICAgaGlkZU9uQ2xpY2s6IHRydWUsXG4gICAgICAgIGludGVyYWN0aXZlOiB0cnVlLFxuICAgICAgICBhcnJvdzogZmFsc2UsXG4gICAgICAgIG9mZnNldDogWzAsIC0xMF0sXG4gICAgICAgIHRoZW1lOiAnJyxcbiAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdoaWRlT25Qb3BwZXJCbHVyJyxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGZuKGluc3RhbmNlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgb25DcmVhdGUoKSB7XG4gICAgICAgICAgICAgICAgICBpbnN0YW5jZS5wb3BwZXIuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNvdXQnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLnByb3BzLmhpZGVPblBvcHBlckJsdXIgJiZcbiAgICAgICAgICAgICAgICAgICAgICBldmVudC5yZWxhdGVkVGFyZ2V0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgIWluc3RhbmNlLnBvcHBlci5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSwge1xuICAgICAgICAgICAgbmFtZTogJ2hpZGVPbkVzYycsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgICAgICBmbih7aGlkZX0pOiBhbnkge1xuXG4gICAgICAgICAgICAgIGZ1bmN0aW9uIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09IERyb3Bkb3duQ29tcG9uZW50LktFWV9DT0RFX0VTQykge1xuICAgICAgICAgICAgICAgICAgaGlkZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgb25TaG93KCk6IHZvaWQge1xuICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uS2V5RG93bik7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvbkhpZGUoKTogdm9pZCB7XG4gICAgICAgICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIHJvbGU6IGZhbHNlLFxuICAgICAgICBhcmlhOiB7XG4gICAgICAgICAgY29udGVudDogJ2F1dG8nLFxuICAgICAgICB9LFxuICAgICAgICBvblNob3duKGluc3RhbmNlKTogdm9pZCB7XG4gICAgICAgICAgY29uc3QgZmlyc3RGb2N1c2FibGUgPSBGb2N1c1V0aWxzLmdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudChjb250ZW50VG9vbHRpcCk7XG4gICAgICAgICAgaWYgKGZpcnN0Rm9jdXNhYmxlKSB7XG4gICAgICAgICAgICBmaXJzdEZvY3VzYWJsZS5mb2N1cygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jbGFzc2VzQ29udGFpbmVyID0gdGhpcy5jbGFzc2VzQ29udGFpbmVyID8gdGhpcy5jbGFzc2VzQ29udGFpbmVyIDogJ3JlbGF0aXZlJztcbiAgfVxuXG4gIG9uQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKCkpe1xuICAgICAgdGhpcy5jbGlja0V2ZW50LmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHNldE9wZW4oaXNPcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW4gPSBpc09wZW47XG4gIH1cblxuICBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gdHJ1ZSA6IG51bGw7XG4gIH1cbn1cbiIsIjxidXR0b24gKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIG5neFRpcHB5IFt0aXBweVByb3BzXT1cInRpcHB5UHJvcGVydGllc1wiXG4gICAgICAgIFtjbGFzc109XCJbJ2MtZHJvcGRvd24nLCBjbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImlzRGlzYWJsZWQoKSA/ICdkaXNhYmxlZCcgOiBudWxsXCJcbiAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoKSA/ICd0cnVlJyA6IChhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsKVwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNPcGVuXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnkgPyBhcmlhRGVzY3JpYmVkQnkgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIlxuICAgICAgICBbYXR0ci5yb2xlXT1cInJvbGUgPyByb2xlIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsID8gYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeSA/IGFyaWFMYWJlbGxlZEJ5IDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW4gPyBhcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiYXJpYUNvbnRyb2xzID8gYXJpYUNvbnRyb2xzIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJhcmlhTGl2ZSA/IGFyaWFMaXZlIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgICAgIFthdHRyLnRhYkluZGV4XT1cImlzRGlzYWJsZWQoKSA/ICctMScgOiB0YWJpbmRleFwiPlxuICA8c3BhbiBjbGFzcz1cImlubGluZS1mbGV4IHNlbGYtY2VudGVyIG1heC13LXhzIGFsaWduLW1pZGRsZSB0cnVuY2F0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGh0bWw6IGh0bWwsIHRleHQ6IHRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9zcGFuPlxuICA8c3ZnIGNsYXNzPVwiaW5saW5lLWJsb2NrIC1tci0yICBhbGlnbi1taWRkbGUgLW15LXB4XCIgdmlld0JveD1cIjAgMCA5NiA5NlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBmb2N1c2FibGU9XCJmYWxzZVwiIHdpZHRoPVwiMS41ZW1cIiBoZWlnaHQ9XCIxLjVlbVwiPjxnPjxwYXRoIGQ9XCJNNDYuNzEgNTguMDM3YTEuODIzIDEuODIzIDAgMDAyLjU4MSAwTDYyLjA0OCA0NS4yOGExLjgyMyAxLjgyMyAwIDAwLTEuMjktMy4xMTNIMzUuMjQzYTEuODIzIDEuODIzIDAgMDAtMS4yOTEgMy4xMTN6XCIvPjwvZz48L3N2Zz5cbjwvYnV0dG9uPlxuPHNwYW4gKm5nSWY9XCJoaWRkZW5UZXh0XCIgY2xhc3M9XCJzci1vbmx5XCI+e3sgaGlkZGVuVGV4dCB9fTwvc3Bhbj5cbjxkaXYgI2Ryb3Bkb3duQ29udGVudCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCJcbiAgICAgIFtjbGFzc109XCJbJy1tbC1zbSBtdC0yIGJvcmRlciBib3JkZXItbmV1dHJhbC1iYXNlIHNoYWRvdy1tZCBiZy13aGl0ZScsIGNsYXNzZXNUb29sdGlwXSB8IG1ha2VIdG1sTGlzdFwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FsbGVyXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj4iXX0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { AccessibilityComponent } from '../../../../shared/components';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ListboxItemComponent extends AccessibilityComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.itemChange = new EventEmitter();
|
|
8
|
-
}
|
|
9
|
-
ngOnChanges(changes) {
|
|
10
|
-
this.itemChange.emit(changes);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
ListboxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ListboxItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
-
ListboxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ListboxItemComponent, selector: "desy-listbox-item", inputs: { id: "id", active: "active", classes: "classes", title: "title" }, outputs: { itemChange: "itemChange" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["childComponentTemplate"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #childComponentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ListboxItemComponent, decorators: [{
|
|
16
|
-
type: Component,
|
|
17
|
-
args: [{ selector: 'desy-listbox-item', template: "<ng-template #childComponentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
18
|
-
}], propDecorators: { content: [{
|
|
19
|
-
type: ViewChild,
|
|
20
|
-
args: ['childComponentTemplate']
|
|
21
|
-
}], id: [{
|
|
22
|
-
type: Input
|
|
23
|
-
}], active: [{
|
|
24
|
-
type: Input
|
|
25
|
-
}], classes: [{
|
|
26
|
-
type: Input
|
|
27
|
-
}], title: [{
|
|
28
|
-
type: Input
|
|
29
|
-
}], itemChange: [{
|
|
30
|
-
type: Output
|
|
31
|
-
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYnV0dG9ucy9jb21wb25lbnRzL2xpc3Rib3gvbGlzdGJveC1pdGVtL2xpc3Rib3gtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3gtaXRlbS9saXN0Ym94LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQU1yRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsc0JBQXNCO0lBSmhFOztRQWFZLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBTTNDO0lBSkMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7O2lIQWJVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLDJVQ1JqQyxzRkFHQTsyRkRLYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0UsbUJBQW1COzhCQUtRLE9BQU87c0JBQTNDLFNBQVM7dUJBQUMsd0JBQXdCO2dCQUUxQixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TGlzdGJveEl0ZW1EYXRhfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2xpc3Rib3gtaXRlbS1kYXRhJztcbmltcG9ydCB7QWNjZXNzaWJpbGl0eUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LWxpc3Rib3gtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0Ym94LWl0ZW0uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIExpc3Rib3hJdGVtQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIExpc3Rib3hJdGVtRGF0YSwgT25DaGFuZ2VzIHtcblxuICBAVmlld0NoaWxkKCdjaGlsZENvbXBvbmVudFRlbXBsYXRlJykgY29udGVudDtcblxuICBASW5wdXQoKSBpZD86IHN0cmluZztcbiAgQElucHV0KCkgYWN0aXZlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY2xhc3Nlcz86IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGl0ZW1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuaXRlbUNoYW5nZS5lbWl0KGNoYW5nZXMpO1xuICB9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjY2hpbGRDb21wb25lbnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,291 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Component, ContentChildren, ElementRef, EventEmitter, Input, Output, ViewChild, ViewChildren } from '@angular/core';
|
|
3
|
-
import { AccessibilityAndTextOrHtmlRequiredComponent } from '../../../shared/components';
|
|
4
|
-
import { StringUtils } from '../../../shared/utils/string-utils';
|
|
5
|
-
import { ListboxLabelComponent } from './listbox-label/listbox-label.component';
|
|
6
|
-
import { ListboxItemComponent } from './listbox-item/listbox-item.component';
|
|
7
|
-
import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common";
|
|
10
|
-
import * as i2 from "../../../shared/directives/custom-inner-content.directive";
|
|
11
|
-
import * as i3 from "ngx-tippy-wrapper";
|
|
12
|
-
import * as i4 from "../../../shared/pipes/make-html-list.pipe";
|
|
13
|
-
export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponent {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
this.itemsChange = new EventEmitter();
|
|
17
|
-
this.activeItemChange = new EventEmitter();
|
|
18
|
-
this.isListVisible = false; // Indica si la lista se está mostrando
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
const listboxButtonElement = this.listboxButton.nativeElement;
|
|
22
|
-
if (this.listboxContent && this.listboxContent.nativeElement) {
|
|
23
|
-
const contentTooltip = this.listboxContent.nativeElement;
|
|
24
|
-
this.tippyProperties = {
|
|
25
|
-
placement: 'bottom-start',
|
|
26
|
-
inlinePositioning: true,
|
|
27
|
-
content: contentTooltip,
|
|
28
|
-
allowHTML: true,
|
|
29
|
-
trigger: 'click',
|
|
30
|
-
hideOnClick: true,
|
|
31
|
-
interactive: true,
|
|
32
|
-
arrow: false,
|
|
33
|
-
offset: [0, -10],
|
|
34
|
-
theme: '',
|
|
35
|
-
plugins: [
|
|
36
|
-
{
|
|
37
|
-
name: 'hideOnPopperBlur',
|
|
38
|
-
defaultValue: true,
|
|
39
|
-
fn(instance) {
|
|
40
|
-
return {
|
|
41
|
-
onCreate() {
|
|
42
|
-
instance.popper.addEventListener('focusout', (event) => {
|
|
43
|
-
if (instance.props.hideOnPopperBlur &&
|
|
44
|
-
event.relatedTarget &&
|
|
45
|
-
!instance.popper.contains(event.relatedTarget)) {
|
|
46
|
-
instance.hide();
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
}, {
|
|
53
|
-
name: 'hideOnEsc',
|
|
54
|
-
defaultValue: true,
|
|
55
|
-
fn({ hide }) {
|
|
56
|
-
function onKeyDown(event) {
|
|
57
|
-
if (event.key === ListboxComponent.KEY_CODE_ESC) {
|
|
58
|
-
hide();
|
|
59
|
-
listboxButtonElement.focus();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return {
|
|
63
|
-
onShow() {
|
|
64
|
-
document.addEventListener('keydown', onKeyDown);
|
|
65
|
-
},
|
|
66
|
-
onHide() {
|
|
67
|
-
document.removeEventListener('keydown', onKeyDown);
|
|
68
|
-
},
|
|
69
|
-
};
|
|
70
|
-
},
|
|
71
|
-
}
|
|
72
|
-
],
|
|
73
|
-
role: false,
|
|
74
|
-
aria: {
|
|
75
|
-
content: 'auto',
|
|
76
|
-
},
|
|
77
|
-
onShow: this.onListShow.bind(this),
|
|
78
|
-
onHidden: this.onListClose.bind(this)
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
ngOnChanges() {
|
|
83
|
-
setTimeout(() => {
|
|
84
|
-
if (this.itemComponentList && this.itemComponentList.length > 0) {
|
|
85
|
-
if (this.itemComponentSubscriptions) {
|
|
86
|
-
this.itemComponentSubscriptions.forEach(s => s.unsubscribe());
|
|
87
|
-
}
|
|
88
|
-
this.itemComponentSubscriptions = [];
|
|
89
|
-
this.itemList = [];
|
|
90
|
-
this.itemComponentList.forEach(item => {
|
|
91
|
-
const subscription = item.itemChange.subscribe(() => this.checkActiveItems());
|
|
92
|
-
this.itemComponentSubscriptions.push(subscription);
|
|
93
|
-
this.itemList.push(item);
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
this.itemList = this.items;
|
|
98
|
-
}
|
|
99
|
-
this.checkActiveItems();
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
ngDoCheck() {
|
|
103
|
-
if (!this.items || !this.itemList) {
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
this.checkActiveItems();
|
|
107
|
-
}
|
|
108
|
-
getActiveItemsData() {
|
|
109
|
-
return this.itemList
|
|
110
|
-
.map((item, index) => item.active ? { item, index } : null)
|
|
111
|
-
.filter(item => item !== null);
|
|
112
|
-
}
|
|
113
|
-
checkActiveItems() {
|
|
114
|
-
let activeItems = this.itemList
|
|
115
|
-
.map((item, index) => item.active ? { item, index } : null)
|
|
116
|
-
.filter(item => item !== null);
|
|
117
|
-
let hasActiveItemChange = false;
|
|
118
|
-
if (this.lastActiveItems && activeItems.length === this.lastActiveItems.length) {
|
|
119
|
-
for (let i = 0; i < activeItems.length; i++) {
|
|
120
|
-
if (activeItems[i].index !== this.lastActiveItems[i].index) {
|
|
121
|
-
hasActiveItemChange = true;
|
|
122
|
-
break;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
hasActiveItemChange = true;
|
|
128
|
-
}
|
|
129
|
-
// Si hay cambios externos y es selección única, anulamos la selección anterior
|
|
130
|
-
if (this.lastActiveItems && !this.isMultiselectable && hasActiveItemChange) {
|
|
131
|
-
if (activeItems.length !== this.lastActiveItems.length) {
|
|
132
|
-
for (const newItem of activeItems) {
|
|
133
|
-
if (this.lastActiveItems.findIndex(i => i.index === newItem.index) >= 0) {
|
|
134
|
-
newItem.item.active = false;
|
|
135
|
-
}
|
|
136
|
-
activeItems = activeItems.filter(item => item.item.active);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
this.lastActiveItems = activeItems;
|
|
141
|
-
// Se cambia el contenido del botón
|
|
142
|
-
if (this.doesChangeButtonText && !this.isMultiselectable && activeItems.length > 0) {
|
|
143
|
-
const activeItemOption = this.listboxOptions.find((item, index) => index === activeItems[0].index);
|
|
144
|
-
if (activeItemOption) {
|
|
145
|
-
this.buttonContentHtml = activeItemOption.nativeElement.innerHTML;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
this.buttonContentHtml = this.html ? this.html : null;
|
|
150
|
-
}
|
|
151
|
-
// Si hay cambios, se emiten
|
|
152
|
-
if (hasActiveItemChange) {
|
|
153
|
-
this.itemsChange.emit(this.itemList);
|
|
154
|
-
this.activeItemChange.emit(activeItems.length > 0 ? activeItems[0].item : null);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
onListShow() {
|
|
158
|
-
this.isListVisible = true;
|
|
159
|
-
if (this.listboxList) {
|
|
160
|
-
setTimeout(() => this.listboxList.nativeElement.focus());
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
onListClose() {
|
|
164
|
-
this.isListVisible = false;
|
|
165
|
-
}
|
|
166
|
-
onListFocus() {
|
|
167
|
-
const activeItemsData = this.getActiveItemsData();
|
|
168
|
-
if (activeItemsData.length > 0) {
|
|
169
|
-
const activeElem = document.getElementById(this.getItemId(activeItemsData[0].item, activeItemsData[0].index));
|
|
170
|
-
if (activeElem) {
|
|
171
|
-
activeElem.focus();
|
|
172
|
-
this.currentFocusIndex = activeItemsData[0].index;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
else if (this.itemList && this.itemList.length > 0) {
|
|
176
|
-
this.currentFocusIndex = 0;
|
|
177
|
-
if (!this.isMultiselectable) {
|
|
178
|
-
this.selectItem(0);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
console.warn('No element to focus');
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
moveFocus(position, event) {
|
|
186
|
-
event.preventDefault();
|
|
187
|
-
if (position >= 0 && position < this.itemList.length) {
|
|
188
|
-
if (this.isMultiselectable) {
|
|
189
|
-
this.currentFocusIndex = position;
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
this.selectItem(position);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
onSpace(event) {
|
|
197
|
-
event.preventDefault();
|
|
198
|
-
if (this.isMultiselectable) {
|
|
199
|
-
this.selectItem(this.currentFocusIndex);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
selectItem(index) {
|
|
203
|
-
if (!this.isMultiselectable) {
|
|
204
|
-
this.itemList.forEach(item => item.active = false);
|
|
205
|
-
this.itemList[index].active = true;
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
this.itemList[index].active = !this.itemList[index].active;
|
|
209
|
-
}
|
|
210
|
-
this.currentFocusIndex = index;
|
|
211
|
-
this.checkActiveItems();
|
|
212
|
-
}
|
|
213
|
-
/*
|
|
214
|
-
* Métodos para facilitar contenido al template
|
|
215
|
-
*/
|
|
216
|
-
getIdPrefix() {
|
|
217
|
-
return this.idPrefix ? this.idPrefix : this.id + '-listbox-item';
|
|
218
|
-
}
|
|
219
|
-
getItemId(item, index) {
|
|
220
|
-
let itemId;
|
|
221
|
-
if (item.id) {
|
|
222
|
-
itemId = item.id;
|
|
223
|
-
}
|
|
224
|
-
else {
|
|
225
|
-
itemId = this.getIdPrefix();
|
|
226
|
-
if (index > 0) {
|
|
227
|
-
itemId += `-${index}`;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
return itemId;
|
|
231
|
-
}
|
|
232
|
-
hasLabel() {
|
|
233
|
-
return !!(this.label || this.labelComponent);
|
|
234
|
-
}
|
|
235
|
-
getLabelContent(label) {
|
|
236
|
-
return label.html ? label.html : `<p>${StringUtils.escapeHtml(label.text)}</p>`;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
ListboxComponent.KEY_CODE_ESC = 'Escape';
|
|
240
|
-
ListboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ListboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
241
|
-
ListboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ListboxComponent, selector: "desy-listbox", inputs: { id: "id", isMultiselectable: "isMultiselectable", doesChangeButtonText: "doesChangeButtonText", label: "label", classes: "classes", classesContainer: "classesContainer", classesTooltip: "classesTooltip", idPrefix: "idPrefix", disabled: "disabled", items: "items" }, outputs: { itemsChange: "itemsChange", activeItemChange: "activeItemChange" }, queries: [{ propertyName: "labelComponent", predicate: ListboxLabelComponent }, { propertyName: "itemComponentList", predicate: ListboxItemComponent }], viewQueries: [{ propertyName: "listboxButton", first: true, predicate: ["button"], descendants: true, read: ElementRef, static: true }, { propertyName: "listboxList", first: true, predicate: ["list"], descendants: true, read: ElementRef }, { propertyName: "listboxContent", first: true, predicate: ["tooltip"], descendants: true, read: ElementRef, static: true }, { propertyName: "listboxOptions", predicate: ["option"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"classesContainer ? classesContainer : 'relative'\">\n <div [id]=\"id + '-label'\" [class]=\"['mb-sm', labelComponent?.classes, label?.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{ component: labelComponent, html: label ? getLabelContent(label) : null }\"></ng-container>\n </div>\n <button #button [id]=\"id + '-button'\"\n [class]=\"['c-listbox', classes] | makeHtmlList\"\n ngxTippy [tippyProps]=\"tippyProperties\"\n aria-haspopup=\"listbox\"\n [attr.aria-labelledby]=\"[hasLabel() ? id + '-label' : null, id + '-button'] | makeHtmlList\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-disabled]=\"disabled ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\n [attr.aria-role] = \"role ? role : null\"\n [attr.aria-label] = \"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby] = \"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-hidden] = \"ariaHidden ? ariaHidden : null\"\n [attr.aria-controls] = \"ariaControls ? ariaControls : null\"\n [attr.aria-current] = \"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live] = \"ariaLive ? ariaLive : null\"\n [attr.aria-expanded] = \"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errorMessage] = \"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-hasppup] = \"ariaHasPopup ? ariaHasPopup : null\"\n [attr.aria-tabindex] = \"tabindex ? tabindex : null\">\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\">\n <ng-container *desyCustomInnerContent=\"{ html: buttonContentHtml, text: text }\"></ng-container>\n </span>\n <svg class=\"inline-block -mr-2 align-middle -my-px\" viewBox=\"0 0 96 96\" aria-hidden=\"true\" fill=\"currentColor\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\n </button>\n <div #tooltip [class]=\"['c-listbox__tooltip -ml-sm mt-2 border border-neutral-base shadow-md bg-white', classesTooltip] | makeHtmlList\">\n <ul *ngIf=\"itemList\"\n #list [id]=\"id\"\n (focus)=\"onListFocus()\"\n (keydown.arrowUp)=\"moveFocus(currentFocusIndex - 1, $event)\"\n (keydown.arrowDown)=\"moveFocus(currentFocusIndex + 1, $event)\"\n (keydown.home)=\"moveFocus(0, $event)\"\n (keydown.end)=\"moveFocus(items.length - 1, $event)\"\n (keydown.space)=\"onSpace($event)\"\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"text-sm outline-none\"\n [attr.aria-labelledby]=\"hasLabel() ? id : (ariaLabelledBy ? ariaLabelledBy : null)\"\n [attr.aria-multiselectable]=\"isMultiselectable ? 'true' : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-label] = \"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby] = \"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-hidden] = \"ariaHidden ? ariaHidden : null\"\n [attr.aria-controls] = \"ariaControls ? ariaControls : null\"\n [attr.aria-current] = \"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live] = \"ariaLive ? ariaLive : null\"\n [attr.aria-expanded] = \"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage] = \"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup] = \"ariaHasPopup ? ariaHasPopup : null\"\n [attr.aria-activedescendant] = \"lastActiveItems.length > 0 ? getItemId(lastActiveItems[0].item, lastActiveItems[0].index) : null\">\n <ng-container *ngFor=\"let item of itemList; index as index\">\n <li #option *ngIf=\"item\" role=\"option\" (click)=\"selectItem(index)\"\n [class]=\"['flex items-center pr-base pl-lg py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'focused': index === currentFocusIndex}\"\n [attr.aria-label]=\"item.active ? 'true' : (item.ariaLabel ? item.ariaLabel : null)\"\n [id]=\"getItemId(item, index)\"\n [attr.title]=\"item.title ? item.title : null\"\n\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-hidden] = \"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current] = \"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live] = \"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup] = \"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.aria-tabindex] = \"item.tabindex ? item.tabindex : null\"\n\n [attr.aria-checked]=\"item.active\"\n [attr.aria-selected]=\"item.active\">\n <ng-container *desyCustomInnerContent=\"{ template: item['content'], html: item.html, text: item.text }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: 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" }] });
|
|
242
|
-
__decorate([
|
|
243
|
-
DesyContentChild()
|
|
244
|
-
], ListboxComponent.prototype, "labelComponent", void 0);
|
|
245
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ListboxComponent, decorators: [{
|
|
246
|
-
type: Component,
|
|
247
|
-
args: [{ selector: 'desy-listbox', template: "<div [ngClass]=\"classesContainer ? classesContainer : 'relative'\">\n <div [id]=\"id + '-label'\" [class]=\"['mb-sm', labelComponent?.classes, label?.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{ component: labelComponent, html: label ? getLabelContent(label) : null }\"></ng-container>\n </div>\n <button #button [id]=\"id + '-button'\"\n [class]=\"['c-listbox', classes] | makeHtmlList\"\n ngxTippy [tippyProps]=\"tippyProperties\"\n aria-haspopup=\"listbox\"\n [attr.aria-labelledby]=\"[hasLabel() ? id + '-label' : null, id + '-button'] | makeHtmlList\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-disabled]=\"disabled ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\n [attr.aria-role] = \"role ? role : null\"\n [attr.aria-label] = \"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby] = \"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-hidden] = \"ariaHidden ? ariaHidden : null\"\n [attr.aria-controls] = \"ariaControls ? ariaControls : null\"\n [attr.aria-current] = \"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live] = \"ariaLive ? ariaLive : null\"\n [attr.aria-expanded] = \"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errorMessage] = \"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-hasppup] = \"ariaHasPopup ? ariaHasPopup : null\"\n [attr.aria-tabindex] = \"tabindex ? tabindex : null\">\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\">\n <ng-container *desyCustomInnerContent=\"{ html: buttonContentHtml, text: text }\"></ng-container>\n </span>\n <svg class=\"inline-block -mr-2 align-middle -my-px\" viewBox=\"0 0 96 96\" aria-hidden=\"true\" fill=\"currentColor\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\n </button>\n <div #tooltip [class]=\"['c-listbox__tooltip -ml-sm mt-2 border border-neutral-base shadow-md bg-white', classesTooltip] | makeHtmlList\">\n <ul *ngIf=\"itemList\"\n #list [id]=\"id\"\n (focus)=\"onListFocus()\"\n (keydown.arrowUp)=\"moveFocus(currentFocusIndex - 1, $event)\"\n (keydown.arrowDown)=\"moveFocus(currentFocusIndex + 1, $event)\"\n (keydown.home)=\"moveFocus(0, $event)\"\n (keydown.end)=\"moveFocus(items.length - 1, $event)\"\n (keydown.space)=\"onSpace($event)\"\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"text-sm outline-none\"\n [attr.aria-labelledby]=\"hasLabel() ? id : (ariaLabelledBy ? ariaLabelledBy : null)\"\n [attr.aria-multiselectable]=\"isMultiselectable ? 'true' : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-label] = \"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby] = \"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-hidden] = \"ariaHidden ? ariaHidden : null\"\n [attr.aria-controls] = \"ariaControls ? ariaControls : null\"\n [attr.aria-current] = \"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live] = \"ariaLive ? ariaLive : null\"\n [attr.aria-expanded] = \"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage] = \"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup] = \"ariaHasPopup ? ariaHasPopup : null\"\n [attr.aria-activedescendant] = \"lastActiveItems.length > 0 ? getItemId(lastActiveItems[0].item, lastActiveItems[0].index) : null\">\n <ng-container *ngFor=\"let item of itemList; index as index\">\n <li #option *ngIf=\"item\" role=\"option\" (click)=\"selectItem(index)\"\n [class]=\"['flex items-center pr-base pl-lg py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'focused': index === currentFocusIndex}\"\n [attr.aria-label]=\"item.active ? 'true' : (item.ariaLabel ? item.ariaLabel : null)\"\n [id]=\"getItemId(item, index)\"\n [attr.title]=\"item.title ? item.title : null\"\n\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-hidden] = \"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current] = \"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live] = \"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup] = \"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.aria-tabindex] = \"item.tabindex ? item.tabindex : null\"\n\n [attr.aria-checked]=\"item.active\"\n [attr.aria-selected]=\"item.active\">\n <ng-container *desyCustomInnerContent=\"{ template: item['content'], html: item.html, text: item.text }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n</div>" }]
|
|
248
|
-
}], propDecorators: { listboxButton: [{
|
|
249
|
-
type: ViewChild,
|
|
250
|
-
args: ['button', { read: ElementRef, static: true }]
|
|
251
|
-
}], listboxList: [{
|
|
252
|
-
type: ViewChild,
|
|
253
|
-
args: ['list', { read: ElementRef }]
|
|
254
|
-
}], listboxContent: [{
|
|
255
|
-
type: ViewChild,
|
|
256
|
-
args: ['tooltip', { read: ElementRef, static: true }]
|
|
257
|
-
}], listboxOptions: [{
|
|
258
|
-
type: ViewChildren,
|
|
259
|
-
args: ['option', { read: ElementRef }]
|
|
260
|
-
}], labelComponent: [{
|
|
261
|
-
type: ContentChildren,
|
|
262
|
-
args: [ListboxLabelComponent]
|
|
263
|
-
}], itemComponentList: [{
|
|
264
|
-
type: ContentChildren,
|
|
265
|
-
args: [ListboxItemComponent]
|
|
266
|
-
}], id: [{
|
|
267
|
-
type: Input
|
|
268
|
-
}], isMultiselectable: [{
|
|
269
|
-
type: Input
|
|
270
|
-
}], doesChangeButtonText: [{
|
|
271
|
-
type: Input
|
|
272
|
-
}], label: [{
|
|
273
|
-
type: Input
|
|
274
|
-
}], classes: [{
|
|
275
|
-
type: Input
|
|
276
|
-
}], classesContainer: [{
|
|
277
|
-
type: Input
|
|
278
|
-
}], classesTooltip: [{
|
|
279
|
-
type: Input
|
|
280
|
-
}], idPrefix: [{
|
|
281
|
-
type: Input
|
|
282
|
-
}], disabled: [{
|
|
283
|
-
type: Input
|
|
284
|
-
}], items: [{
|
|
285
|
-
type: Input
|
|
286
|
-
}], itemsChange: [{
|
|
287
|
-
type: Output
|
|
288
|
-
}], activeItemChange: [{
|
|
289
|
-
type: Output
|
|
290
|
-
}] } });
|
|
291
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1idXR0b25zL2NvbXBvbmVudHMvbGlzdGJveC9saXN0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUVaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMkNBQTJDLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUd2RixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFFM0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7Ozs7OztBQU16RixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsMkNBQTJDO0lBSmpGOztRQTJCWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUtoRCxrQkFBYSxHQUFHLEtBQUssQ0FBQyxDQUFLLHVDQUF1QztLQXdQbkU7SUEvT0MsUUFBUTtRQUNOLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDOUQsSUFBSSxJQUFJLENBQUMsY0FBYyxJ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Z0JBQ0MsaUJBQWlCO3NCQUF2RCxlQUFlO3VCQUFDLG9CQUFvQjtnQkFFNUIsRUFBRTtzQkFBVixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5QW5kVGV4dE9ySHRtbFJlcXVpcmVkQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQge0xpc3Rib3hMYWJlbERhdGF9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbGlzdGJveC1sYWJlbC1kYXRhJztcbmltcG9ydCB7TGlzdGJveEl0ZW1EYXRhfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2xpc3Rib3gtaXRlbS1kYXRhJztcbmltcG9ydCB7U3RyaW5nVXRpbHN9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9zdHJpbmctdXRpbHMnO1xuaW1wb3J0IHtMaXN0Ym94TGFiZWxDb21wb25lbnR9IGZyb20gJy4vbGlzdGJveC1sYWJlbC9saXN0Ym94LWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0xpc3Rib3hJdGVtQ29tcG9uZW50fSBmcm9tICcuL2xpc3Rib3gtaXRlbS9saXN0Ym94LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7RGVzeUNvbnRlbnRDaGlsZH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktbGlzdGJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0Ym94LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBMaXN0Ym94Q29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUFuZFRleHRPckh0bWxSZXF1aXJlZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBEb0NoZWNrIHtcblxuICBzdGF0aWMgcmVhZG9ubHkgS0VZX0NPREVfRVNDID0gJ0VzY2FwZSc7XG5cbiAgQFZpZXdDaGlsZCgnYnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgbGlzdGJveEJ1dHRvbjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnbGlzdCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBsaXN0Ym94TGlzdDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgndG9vbHRpcCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGxpc3Rib3hDb250ZW50OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkcmVuKCdvcHRpb24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbGlzdGJveE9wdGlvbnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdGJveExhYmVsQ29tcG9uZW50KSBsYWJlbENvbXBvbmVudDogTGlzdGJveExhYmVsQ29tcG9uZW50O1xuICBAQ29udGVudENoaWxkcmVuKExpc3Rib3hJdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9uZW50TGlzdDogUXVlcnlMaXN0PExpc3Rib3hJdGVtQ29tcG9uZW50PjtcblxuICBASW5wdXQoKSBpZDogc3RyaW5nOyAvLyByZXF1aXJlZFxuICBASW5wdXQoKSBpc011bHRpc2VsZWN0YWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgZG9lc0NoYW5nZUJ1dHRvblRleHQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxhYmVsOiBMaXN0Ym94TGFiZWxEYXRhO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsYXNzZXNDb250YWluZXI6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3Nlc1Rvb2x0aXA6IHN0cmluZztcbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGl0ZW1zOiBMaXN0Ym94SXRlbURhdGFbXTtcbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgYWN0aXZlSXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB0aXBweVByb3BlcnRpZXM6IGFueTsgICAgICAvLyBQcm9waWVkYWRlcyBkZSB0aXBweVxuICBjdXJyZW50Rm9jdXNJbmRleDogbnVtYmVyOyAvLyDDjW5kaWNlIGRlbCBlbGVtZW50byBhY3R1YWwgY29uIGZvY3VzXG4gIGJ1dHRvbkNvbnRlbnRIdG1sOiBzdHJpbmc7IC8vIFB1ZWRlIHNlciBlbCBwYXNhZG8gcG9yIHBhcsOhbWV0cm8gbyBlbCBpdGVtIHNlbGVjY2lvbmFkbyBlbiBjYXNvIGRlIGN1cnJlbnRGb2N1c0luZGV4PXRydWVcbiAgaXNMaXN0VmlzaWJsZSA9IGZhbHNlOyAgICAgLy8gSW5kaWNhIHNpIGxhIGxpc3RhIHNlIGVzdMOhIG1vc3RyYW5kb1xuXG4gIC8vIGNvbmRpdGlvbmFsSWQgeSBjb25kaXRpb25hbEl0ZW0gcmVwcmVzZW50YW4gZW4gZGVzeS1odG1sIGVsIGl0ZW0gYWN0aXZvLiBBcXXDrSBlcyBtZWpvciBvYnRlbmVybG8gY3VhbmRvIHNlIG5lY2VzaXRhXG4gIGxhc3RBY3RpdmVJdGVtczogeyBpdGVtOiBMaXN0Ym94SXRlbURhdGEsIGluZGV4OiBudW1iZXIgfVtdO1xuICBpdGVtQ29tcG9uZW50U3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW107XG5cbiAgaXRlbUxpc3Q6IExpc3Rib3hJdGVtRGF0YVtdO1xuXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgbGlzdGJveEJ1dHRvbkVsZW1lbnQgPSB0aGlzLmxpc3Rib3hCdXR0b24ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAodGhpcy5saXN0Ym94Q29udGVudCAmJiB0aGlzLmxpc3Rib3hDb250ZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnRUb29sdGlwID0gdGhpcy5saXN0Ym94Q29udGVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgdGhpcy50aXBweVByb3BlcnRpZXMgPSB7ICAgICAgICBcbiAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tLXN0YXJ0JyxcbiAgICAgICAgaW5saW5lUG9zaXRpb25pbmc6IHRydWUsICAgICAgICBcbiAgICAgICAgY29udGVudDogY29udGVudFRvb2x0aXAsXG4gICAgICAgIGFsbG93SFRNTDogdHJ1ZSwgLy8gTWFrZSBzdXJlIHlvdSBhcmUgc2FuaXRpemluZyBhbnkgdXNlciBkYXRhIGlmIHJlbmRlcmluZyBIVE1MIHRvIHByZXZlbnQgWFNTIGF0dGFja3MuXG4gICAgICAgIHRyaWdnZXI6ICdjbGljaycsXG4gICAgICAgIGhpZGVPbkNsaWNrOiB0cnVlLFxuICAgICAgICBpbnRlcmFjdGl2ZTogdHJ1ZSxcbiAgICAgICAgYXJyb3c6IGZhbHNlLFxuICAgICAgICBvZmZzZXQ6IFswLCAtMTBdLFxuICAgICAgICB0aGVtZTogJycsXG4gICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnaGlkZU9uUG9wcGVyQmx1cicsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgICAgICBmbihpbnN0YW5jZSkge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG9uQ3JlYXRlKCkge1xuICAgICAgICAgICAgICAgICAgaW5zdGFuY2UucG9wcGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5wcm9wcy5oaWRlT25Qb3BwZXJCbHVyICYmXG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucmVsYXRlZFRhcmdldCAmJlxuICAgICAgICAgICAgICAgICAgICAgICFpbnN0YW5jZS5wb3BwZXIuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgIG5hbWU6ICdoaWRlT25Fc2MnLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZm4oe2hpZGV9KTogYW55IHtcblxuICAgICAgICAgICAgICBmdW5jdGlvbiBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBMaXN0Ym94Q29tcG9uZW50LktFWV9DT0RFX0VTQykge1xuICAgICAgICAgICAgICAgICAgaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgbGlzdGJveEJ1dHRvbkVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG9uU2hvdygpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb25IaWRlKCk6IHZvaWQge1xuICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uS2V5RG93bik7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICByb2xlOiBmYWxzZSxcbiAgICAgICAgYXJpYToge1xuICAgICAgICAgIGNvbnRlbnQ6ICdhdXRvJyxcbiAgICAgICAgfSxcbiAgICAgICAgb25TaG93OiB0aGlzLm9uTGlzdFNob3cuYmluZCh0aGlzKSxcbiAgICAgICAgb25IaWRkZW46IHRoaXMub25MaXN0Q2xvc2UuYmluZCh0aGlzKVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcblxuICAgICAgaWYgKHRoaXMuaXRlbUNvbXBvbmVudExpc3QgJiYgdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1Db21wb25lbnRTdWJzY3JpcHRpb25zKSB7XG4gICAgICAgICAgdGhpcy5pdGVtQ29tcG9uZW50U3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLml0ZW1Db21wb25lbnRTdWJzY3JpcHRpb25zID0gW107XG4gICAgICAgIHRoaXMuaXRlbUxpc3QgPSBbXTtcbiAgICAgICAgdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IGl0ZW0uaXRlbUNoYW5nZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jaGVja0FjdGl2ZUl0ZW1zKCkpO1xuICAgICAgICAgIHRoaXMuaXRlbUNvbXBvbmVudFN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuICAgICAgICAgIHRoaXMuaXRlbUxpc3QucHVzaChpdGVtKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLml0ZW1MaXN0ID0gdGhpcy5pdGVtcztcbiAgICAgIH1cblxuICAgICAgdGhpcy5jaGVja0FjdGl2ZUl0ZW1zKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLml0ZW1zIHx8ICF0aGlzLml0ZW1MaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jaGVja0FjdGl2ZUl0ZW1zKCk7XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2ZUl0ZW1zRGF0YSgpOiB7IGl0ZW06IExpc3Rib3hJdGVtRGF0YSwgaW5kZXg6IG51bWJlciB9W10ge1xuICAgIHJldHVybiB0aGlzLml0ZW1MaXN0XG4gICAgICAubWFwKChpdGVtLCBpbmRleCkgPT4gaXRlbS5hY3RpdmUgPyB7aXRlbSwgaW5kZXh9IDogbnVsbClcbiAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtICE9PSBudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tBY3RpdmVJdGVtcygpOiB2b2lkIHtcbiAgICBsZXQgYWN0aXZlSXRlbXM6IHsgaXRlbTogTGlzdGJveEl0ZW1EYXRhLCBpbmRleDogbnVtYmVyIH1bXSA9IHRoaXMuaXRlbUxpc3RcbiAgICAgIC5tYXAoKGl0ZW0sIGluZGV4KSA9PiBpdGVtLmFjdGl2ZSA/IHtpdGVtLCBpbmRleH0gOiBudWxsKVxuICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0gIT09IG51bGwpO1xuXG4gICAgbGV0IGhhc0FjdGl2ZUl0ZW1DaGFuZ2UgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5sYXN0QWN0aXZlSXRlbXMgJiYgYWN0aXZlSXRlbXMubGVuZ3RoID09PSB0aGlzLmxhc3RBY3RpdmVJdGVtcy5sZW5ndGgpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWN0aXZlSXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGFjdGl2ZUl0ZW1zW2ldLmluZGV4ICE9PSB0aGlzLmxhc3RBY3RpdmVJdGVtc1tpXS5pbmRleCkge1xuICAgICAgICAgIGhhc0FjdGl2ZUl0ZW1DaGFuZ2UgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGhhc0FjdGl2ZUl0ZW1DaGFuZ2UgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIFNpIGhheSBjYW1iaW9zIGV4dGVybm9zIHkgZXMgc2VsZWNjacOzbiDDum5pY2EsIGFudWxhbW9zIGxhIHNlbGVjY2nDs24gYW50ZXJpb3JcbiAgICBpZiAodGhpcy5sYXN0QWN0aXZlSXRlbXMgJiYgIXRoaXMuaXNNdWx0aXNlbGVjdGFibGUgJiYgaGFzQWN0aXZlSXRlbUNoYW5nZSkge1xuICAgICAgaWYgKGFjdGl2ZUl0ZW1zLmxlbmd0aCAhPT0gdGhpcy5sYXN0QWN0aXZlSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgIGZvciAoY29uc3QgbmV3SXRlbSBvZiBhY3RpdmVJdGVtcykge1xuICAgICAgICAgIGlmICh0aGlzLmxhc3RBY3RpdmVJdGVtcy5maW5kSW5kZXgoaSA9PiBpLmluZGV4ID09PSBuZXdJdGVtLmluZGV4KSA+PSAwKSB7XG4gICAgICAgICAgICBuZXdJdGVtLml0ZW0uYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYWN0aXZlSXRlbXMgPSBhY3RpdmVJdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLml0ZW0uYWN0aXZlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubGFzdEFjdGl2ZUl0ZW1zID0gYWN0aXZlSXRlbXM7XG5cbiAgICAvLyBTZSBjYW1iaWEgZWwgY29udGVuaWRvIGRlbCBib3TDs25cbiAgICBpZiAodGhpcy5kb2VzQ2hhbmdlQnV0dG9uVGV4dCAmJiAhdGhpcy5pc011bHRpc2VsZWN0YWJsZSAmJiBhY3RpdmVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBhY3RpdmVJdGVtT3B0aW9uID0gdGhpcy5saXN0Ym94T3B0aW9ucy5maW5kKChpdGVtLCBpbmRleCkgPT4gaW5kZXggPT09IGFjdGl2ZUl0ZW1zWzBdLmluZGV4KTtcbiAgICAgIGlmIChhY3RpdmVJdGVtT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uQ29udGVudEh0bWwgPSBhY3RpdmVJdGVtT3B0aW9uLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJ1dHRvbkNvbnRlbnRIdG1sID0gdGhpcy5odG1sID8gdGhpcy5odG1sIDogbnVsbDtcbiAgICB9XG5cbiAgICAvLyBTaSBoYXkgY2FtYmlvcywgc2UgZW1pdGVuXG4gICAgaWYgKGhhc0FjdGl2ZUl0ZW1DaGFuZ2UpIHtcbiAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1MaXN0KTtcbiAgICAgIHRoaXMuYWN0aXZlSXRlbUNoYW5nZS5lbWl0KGFjdGl2ZUl0ZW1zLmxlbmd0aCA+IDAgPyBhY3RpdmVJdGVtc1swXS5pdGVtIDogbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgb25MaXN0U2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLmlzTGlzdFZpc2libGUgPSB0cnVlO1xuICAgIGlmICh0aGlzLmxpc3Rib3hMaXN0KSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMubGlzdGJveExpc3QubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcbiAgICB9XG4gIH1cblxuICBvbkxpc3RDbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTGlzdFZpc2libGUgPSBmYWxzZTtcbiAgfVxuXG4gIG9uTGlzdEZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUl0ZW1zRGF0YSA9IHRoaXMuZ2V0QWN0aXZlSXRlbXNEYXRhKCk7XG4gICAgaWYgKGFjdGl2ZUl0ZW1zRGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBhY3RpdmVFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5nZXRJdGVtSWQoYWN0aXZlSXRlbXNEYXRhWzBdLml0ZW0sIGFjdGl2ZUl0ZW1zRGF0YVswXS5pbmRleCkpO1xuICAgICAgaWYgKGFjdGl2ZUVsZW0pIHtcbiAgICAgICAgYWN0aXZlRWxlbS5mb2N1cygpO1xuICAgICAgICB0aGlzLmN1cnJlbnRGb2N1c0luZGV4ID0gYWN0aXZlSXRlbXNEYXRhWzBdLmluZGV4O1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtTGlzdCAmJiB0aGlzLml0ZW1MaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY3VycmVudEZvY3VzSW5kZXggPSAwO1xuICAgICAgaWYgKCF0aGlzLmlzTXVsdGlzZWxlY3RhYmxlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0SXRlbSgwKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdObyBlbGVtZW50IHRvIGZvY3VzJyk7XG4gICAgfVxuICB9XG5cbiAgbW92ZUZvY3VzKHBvc2l0aW9uOiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHBvc2l0aW9uID49IDAgJiYgcG9zaXRpb24gPCB0aGlzLml0ZW1MaXN0Lmxlbmd0aCkge1xuICAgICAgaWYgKHRoaXMuaXNNdWx0aXNlbGVjdGFibGUpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50Rm9jdXNJbmRleCA9IHBvc2l0aW9uO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtKHBvc2l0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvblNwYWNlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuaXNNdWx0aXNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0SXRlbSh0aGlzLmN1cnJlbnRGb2N1c0luZGV4KTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNNdWx0aXNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IGl0ZW0uYWN0aXZlID0gZmFsc2UpO1xuICAgICAgdGhpcy5pdGVtTGlzdFtpbmRleF0uYWN0aXZlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pdGVtTGlzdFtpbmRleF0uYWN0aXZlID0gIXRoaXMuaXRlbUxpc3RbaW5kZXhdLmFjdGl2ZTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50Rm9jdXNJbmRleCA9IGluZGV4O1xuXG4gICAgdGhpcy5jaGVja0FjdGl2ZUl0ZW1zKCk7XG4gIH1cblxuICAvKlxuICAgKiBNw6l0b2RvcyBwYXJhIGZhY2lsaXRhciBjb250ZW5pZG8gYWwgdGVtcGxhdGVcbiAgICovXG5cbiAgZ2V0SWRQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiB0aGlzLmlkICsgJy1saXN0Ym94LWl0ZW0nO1xuICB9XG5cbiAgZ2V0SXRlbUlkKGl0ZW06IExpc3Rib3hJdGVtRGF0YSwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IGl0ZW1JZDogc3RyaW5nO1xuICAgIGlmIChpdGVtLmlkKSB7XG4gICAgICBpdGVtSWQgPSBpdGVtLmlkO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtSWQgPSB0aGlzLmdldElkUHJlZml4KCk7XG4gICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgIGl0ZW1JZCArPSBgLSR7aW5kZXh9YDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGl0ZW1JZDtcbiAgfVxuXG4gIGhhc0xhYmVsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh0aGlzLmxhYmVsIHx8IHRoaXMubGFiZWxDb21wb25lbnQpO1xuICB9XG5cbiAgZ2V0TGFiZWxDb250ZW50KGxhYmVsOiBMaXN0Ym94TGFiZWxEYXRhKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbGFiZWwuaHRtbCA/IGxhYmVsLmh0bWwgOiBgPHA+JHsgU3RyaW5nVXRpbHMuZXNjYXBlSHRtbChsYWJlbC50ZXh0KSB9PC9wPmA7XG4gIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiY2xhc3Nlc0NvbnRhaW5lciA/IGNsYXNzZXNDb250YWluZXIgOiAncmVsYXRpdmUnXCI+XG4gIDxkaXYgW2lkXT1cImlkICsgJy1sYWJlbCdcIiBbY2xhc3NdPVwiWydtYi1zbScsIGxhYmVsQ29tcG9uZW50Py5jbGFzc2VzLCBsYWJlbD8uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGxhYmVsQ29tcG9uZW50LCBodG1sOiBsYWJlbCA/IGdldExhYmVsQ29udGVudChsYWJlbCkgOiBudWxsIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxidXR0b24gI2J1dHRvbiBbaWRdPVwiaWQgKyAnLWJ1dHRvbidcIlxuICAgICAgICAgIFtjbGFzc109XCJbJ2MtbGlzdGJveCcsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgICBuZ3hUaXBweSBbdGlwcHlQcm9wc109XCJ0aXBweVByb3BlcnRpZXNcIlxuICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiW2hhc0xhYmVsKCkgPyBpZCArICctbGFiZWwnIDogbnVsbCwgaWQgKyAnLWJ1dHRvbiddIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkID8gJ3RydWUnIDogKGFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGwpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLXJvbGVdID0gXCJyb2xlID8gcm9sZSA6IG51bGxcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdID0gXCJhcmlhTGFiZWwgPyBhcmlhTGFiZWwgOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSA9IFwiYXJpYURlc2NyaWJlZEJ5ID8gYXJpYURlc2NyaWJlZEJ5IDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dID0gXCJhcmlhSGlkZGVuID8gYXJpYUhpZGRlbiA6IG51bGxcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdID0gXCJhcmlhQ29udHJvbHMgPyBhcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdID0gXCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1saXZlXSA9IFwiYXJpYUxpdmUgPyBhcmlhTGl2ZSA6IG51bGxcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdID0gXCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWVycm9yTWVzc2FnZV0gPSBcImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1oYXNwcHVwXSA9IFwiYXJpYUhhc1BvcHVwID8gYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS10YWJpbmRleF0gPSBcInRhYmluZGV4ID8gdGFiaW5kZXggOiBudWxsXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5saW5lLWZsZXggc2VsZi1jZW50ZXIgbWF4LXcteHMgYWxpZ24tbWlkZGxlIHRydW5jYXRlXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgaHRtbDogYnV0dG9uQ29udGVudEh0bWwsIHRleHQ6IHRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgPHN2ZyBjbGFzcz1cImlubGluZS1ibG9jayAtbXItMiAgYWxpZ24tbWlkZGxlIC1teS1weFwiIHZpZXdCb3g9XCIwIDAgOTYgOTZcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiB3aWR0aD1cIjEuNWVtXCIgaGVpZ2h0PVwiMS41ZW1cIj48Zz48cGF0aCBkPVwiTTQ2LjcxIDU4LjAzN2ExLjgyMyAxLjgyMyAwIDAwMi41ODEgMEw2Mi4wNDggNDUuMjhhMS44MjMgMS44MjMgMCAwMC0xLjI5LTMuMTEzSDM1LjI0M2ExLjgyMyAxLjgyMyAwIDAwLTEuMjkxIDMuMTEzelwiLz48L2c+PC9zdmc+XG4gIDwvYnV0dG9uPlxuICA8ZGl2ICN0b29sdGlwIFtjbGFzc109XCJbJ2MtbGlzdGJveF9fdG9vbHRpcCAtbWwtc20gbXQtMiBib3JkZXIgYm9yZGVyLW5ldXRyYWwtYmFzZSBzaGFkb3ctbWQgYmctd2hpdGUnLCBjbGFzc2VzVG9vbHRpcF0gfCBtYWtlSHRtbExpc3RcIj5cbiAgICA8dWwgKm5nSWY9XCJpdGVtTGlzdFwiXG4gICAgICAgICNsaXN0IFtpZF09XCJpZFwiXG4gICAgICAgIChmb2N1cyk9XCJvbkxpc3RGb2N1cygpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dVcCk9XCJtb3ZlRm9jdXMoY3VycmVudEZvY3VzSW5kZXggLSAxLCAkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dEb3duKT1cIm1vdmVGb2N1cyhjdXJyZW50Rm9jdXNJbmRleCArIDEsICRldmVudClcIlxuICAgICAgICAoa2V5ZG93bi5ob21lKT1cIm1vdmVGb2N1cygwLCAkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uZW5kKT1cIm1vdmVGb2N1cyhpdGVtcy5sZW5ndGggLSAxLCAkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25TcGFjZSgkZXZlbnQpXCJcbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtIG91dGxpbmUtbm9uZVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJoYXNMYWJlbCgpID8gaWQgOiAoYXJpYUxhYmVsbGVkQnkgPyBhcmlhTGFiZWxsZWRCeSA6IG51bGwpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1tdWx0aXNlbGVjdGFibGVdPVwiaXNNdWx0aXNlbGVjdGFibGUgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF0gPSBcImFyaWFMYWJlbCA/IGFyaWFMYWJlbCA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSA9IFwiYXJpYURlc2NyaWJlZEJ5ID8gYXJpYURlc2NyaWJlZEJ5IDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXSA9IFwiYXJpYUhpZGRlbiA/IGFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc10gPSBcImFyaWFDb250cm9scyA/IGFyaWFDb250cm9scyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdID0gXCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGl2ZV0gPSBcImFyaWFMaXZlID8gYXJpYUxpdmUgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF0gPSBcImFyaWFFeHBhbmRlZCA/IGFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV0gPSBcImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdID0gXCJhcmlhSGFzUG9wdXAgPyBhcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XSA9IFwibGFzdEFjdGl2ZUl0ZW1zLmxlbmd0aCA+IDAgPyBnZXRJdGVtSWQobGFzdEFjdGl2ZUl0ZW1zWzBdLml0ZW0sIGxhc3RBY3RpdmVJdGVtc1swXS5pbmRleCkgOiBudWxsXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1MaXN0OyBpbmRleCBhcyBpbmRleFwiPlxuICAgICAgICA8bGkgI29wdGlvbiAqbmdJZj1cIml0ZW1cIiByb2xlPVwib3B0aW9uXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaW5kZXgpXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJbJ2ZsZXggaXRlbXMtY2VudGVyIHByLWJhc2UgcGwtbGcgcHktc20gaG92ZXI6YmctcHJpbWFyeS1iYXNlIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6Ymctd2FybmluZy1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cyBmb2N1czp0ZXh0LWJsYWNrJywgaXRlbS5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ZvY3VzZWQnOiBpbmRleCA9PT0gY3VycmVudEZvY3VzSW5kZXh9XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5hY3RpdmUgPyAndHJ1ZScgOiAoaXRlbS5hcmlhTGFiZWwgPyBpdGVtLmFyaWFMYWJlbCA6IG51bGwpXCJcbiAgICAgICAgICAgIFtpZF09XCJnZXRJdGVtSWQoaXRlbSwgaW5kZXgpXCJcbiAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0udGl0bGUgPyBpdGVtLnRpdGxlIDogbnVsbFwiXG5cbiAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaXRlbS5hcmlhRGVzY3JpYmVkQnkgPyBpdGVtLmFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dID0gXCJpdGVtLmFyaWFIaWRkZW4gPyBpdGVtLmFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaXRlbS5hcmlhQ29udHJvbHMgPyBpdGVtLmFyaWFDb250cm9scyA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XSA9IFwiaXRlbS5hcmlhQ3VycmVudCA/IGl0ZW0uYXJpYUN1cnJlbnQgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGl2ZV0gPSBcIml0ZW0uYXJpYUxpdmUgPyBpdGVtLmFyaWFMaXZlIDogbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uYXJpYUV4cGFuZGVkID8gaXRlbS5hcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0uYXJpYUVycm9yTWVzc2FnZSA/IGl0ZW0uYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF0gPSBcIml0ZW0uYXJpYUhhc1BvcHVwID8gaXRlbS5hcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtdGFiaW5kZXhdID0gXCJpdGVtLnRhYmluZGV4ID8gaXRlbS50YWJpbmRleCA6IG51bGxcIlxuXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXRlbS5hY3RpdmVcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpdGVtLmFjdGl2ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IHRlbXBsYXRlOiBpdGVtWydjb250ZW50J10sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|