desy-angular 2.0.1 → 5.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 +22 -20
- package/bundles/desy-angular.umd.js +8742 -4678
- package/bundles/desy-angular.umd.js.map +1 -1
- package/bundles/desy-angular.umd.min.js +2 -2
- package/bundles/desy-angular.umd.min.js.map +1 -1
- package/desy-angular.d.ts +34 -21
- package/desy-angular.metadata.json +1 -1
- package/esm2015/desy-angular.js +35 -22
- package/esm2015/lib/desy-angular.module.js +38 -35
- package/esm2015/lib/desy-buttons/components/button/button.component.js +92 -103
- package/esm2015/lib/desy-buttons/components/button-loader/button-loader.component.js +50 -45
- package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +108 -49
- package/esm2015/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.js +26 -0
- package/esm2015/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.js +23 -0
- package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +275 -0
- package/esm2015/lib/desy-buttons/components/pill/pill.component.js +64 -66
- package/esm2015/lib/desy-buttons/desy-buttons.module.js +44 -33
- package/esm2015/lib/desy-buttons/interfaces/listbox-item-data.js +2 -0
- package/esm2015/lib/desy-buttons/interfaces/listbox-label-data.js +2 -0
- package/esm2015/lib/desy-commons/components/content/content.component.js +14 -0
- package/esm2015/lib/desy-commons/components/description/description.component.js +14 -0
- package/esm2015/lib/desy-commons/components/icon/icon.component.js +14 -0
- package/esm2015/lib/desy-commons/components/title/title.component.js +14 -0
- package/esm2015/lib/desy-commons/desy-commons.module.js +33 -0
- package/esm2015/lib/desy-commons/interfaces/content-data.js +2 -0
- package/esm2015/lib/desy-commons/interfaces/description-data.js +2 -0
- package/esm2015/lib/desy-commons/interfaces/icon-data.js +2 -0
- package/esm2015/lib/desy-commons/interfaces/index.js +5 -0
- package/esm2015/lib/desy-commons/interfaces/title-data.js +2 -0
- package/esm2015/lib/desy-forms/components/character-count/character-count.component.js +124 -124
- package/esm2015/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.js +190 -0
- package/esm2015/lib/desy-forms/components/checkboxes/checkboxes.component.js +235 -128
- package/esm2015/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.js +46 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.js +19 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.js +13 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.js +46 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.js +44 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input.component.js +228 -123
- package/esm2015/lib/desy-forms/components/error-message/error-message.component.js +28 -16
- package/esm2015/lib/desy-forms/components/fieldset/fieldset.component.js +44 -21
- package/esm2015/lib/desy-forms/components/fieldset/legend/legend.component.js +16 -15
- package/esm2015/lib/desy-forms/components/file-upload/file-upload.component.js +59 -59
- package/esm2015/lib/desy-forms/components/form-field/form-field.component.js +103 -65
- package/esm2015/lib/desy-forms/components/hint/hint.component.js +27 -15
- package/esm2015/lib/desy-forms/components/input/input.component.js +58 -59
- package/esm2015/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.js +20 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.js +46 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.js +13 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.js +42 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group.component.js +190 -96
- package/esm2015/lib/desy-forms/components/label/label.component.js +30 -17
- package/esm2015/lib/desy-forms/components/radios/radio-item/radio-item.component.js +147 -0
- package/esm2015/lib/desy-forms/components/radios/radios.component.js +242 -56
- package/esm2015/lib/desy-forms/components/search-bar/search-bar.component.js +57 -47
- package/esm2015/lib/desy-forms/components/select/option/option.component.js +17 -0
- package/esm2015/lib/desy-forms/components/select/option-group/option-group.component.js +17 -0
- package/esm2015/lib/desy-forms/components/select/select-item/select-item.component.js +14 -0
- package/esm2015/lib/desy-forms/components/select/select.component.js +74 -59
- package/esm2015/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.js +12 -12
- package/esm2015/lib/desy-forms/components/textarea/textarea.component.js +67 -67
- package/esm2015/lib/desy-forms/desy-forms.module.js +116 -79
- package/esm2015/lib/desy-forms/directives/condition.directive.js +35 -35
- package/esm2015/lib/desy-forms/interfaces/accesibility-data.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/error-message-data.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/fieldset-data.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/hint-data.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/index.js +13 -13
- package/esm2015/lib/desy-forms/interfaces/item-checkbox-data.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/item-date-input-data.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/item-divider-date-input-data.js +2 -0
- package/esm2015/lib/desy-forms/interfaces/item-divider-input-group-data.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/item-input-group-data.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/item-radio-data.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/item-radio-with-template-data.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/label-data.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/legend-data.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/select-item-data.js +2 -2
- package/esm2015/lib/desy-modals/components/dialog/dialog.component.js +127 -127
- package/esm2015/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.js +19 -0
- package/esm2015/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.js +19 -0
- package/esm2015/lib/desy-modals/components/modal/modal.component.js +144 -59
- package/esm2015/lib/desy-modals/desy-modals.module.js +35 -29
- package/esm2015/lib/desy-modals/interfaces/dialog-options.js +2 -2
- package/esm2015/lib/desy-modals/interfaces/index.js +8 -8
- package/esm2015/lib/desy-modals/interfaces/modal-button-data.js +2 -2
- package/esm2015/lib/desy-modals/interfaces/modal-data.js +2 -2
- package/esm2015/lib/desy-modals/interfaces/modal-icon-data.js +2 -2
- package/esm2015/lib/desy-modals/interfaces/modal-options.js +2 -2
- package/esm2015/lib/desy-modals/interfaces/open-dialog-result.js +2 -2
- package/esm2015/lib/desy-modals/services/dialog.service.js +118 -118
- package/esm2015/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.js +15 -0
- package/esm2015/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.js +48 -46
- package/esm2015/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.js +15 -0
- package/esm2015/lib/desy-nav/components/error-summary/error-summary.component.js +52 -31
- package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.js +16 -0
- package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta.component.js +23 -0
- package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.js +16 -0
- package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.js +16 -0
- package/esm2015/lib/desy-nav/components/footer/footer.component.js +45 -22
- package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +34 -44
- package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.js +19 -0
- package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation.component.js +32 -25
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.js +25 -0
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.js +11 -0
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.js +88 -26
- package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +37 -47
- package/esm2015/lib/desy-nav/components/header/header.component.js +58 -27
- package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.js +28 -0
- package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.js +81 -61
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.js +32 -0
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.js +16 -0
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.js +24 -0
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical.component.js +95 -142
- package/esm2015/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.js +36 -0
- package/esm2015/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.js +14 -0
- package/esm2015/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.js +29 -0
- package/esm2015/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.js +23 -0
- package/esm2015/lib/desy-nav/components/menubar/directives/menubaritem.directive.js +37 -0
- package/esm2015/lib/desy-nav/components/menubar/menubar.component.js +656 -0
- package/esm2015/lib/desy-nav/components/nav/nav-item/nav-item.component.js +30 -0
- package/esm2015/lib/desy-nav/components/nav/nav.component.js +85 -63
- package/esm2015/lib/desy-nav/components/notification/notification-item/notification-item.component.js +18 -0
- package/esm2015/lib/desy-nav/components/notification/notification.component.js +110 -83
- package/esm2015/lib/desy-nav/components/skip-link/skip-link.component.js +42 -23
- package/esm2015/lib/desy-nav/desy-nav.module.js +123 -57
- package/esm2015/lib/desy-nav/interfaces/breadcrumbs.data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/error-summary-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/footer-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/header-dropdown-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/header-navigation-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/header-navigation-item-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/header-offcanvas-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/header-subnav-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/index.js +17 -21
- package/esm2015/lib/desy-nav/interfaces/menu-horizontal-item-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/menu-horizontal-item-event-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/menu-vertical-items-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/menu-vertical-sub-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/menu-vertical-sub-items-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.js +2 -0
- package/esm2015/lib/desy-nav/interfaces/menubar-item-sub-item.js +2 -0
- package/esm2015/lib/desy-nav/interfaces/menubar-item-sub.js +2 -0
- package/esm2015/lib/desy-nav/interfaces/menubar-item.js +2 -0
- package/esm2015/lib/desy-nav/interfaces/nav-item-event.data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/nav-item.data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/notification-items-data.js +2 -2
- package/esm2015/lib/desy-nav/interfaces/notification-options.js +2 -2
- package/esm2015/lib/desy-pagination/components/pagination/pagination.component.js +104 -139
- package/esm2015/lib/desy-pagination/desy-pagination.module.js +25 -25
- package/esm2015/lib/desy-pagination/interfaces/index.js +2 -2
- package/esm2015/lib/desy-pagination/interfaces/pagination-item.data.js +2 -2
- package/esm2015/lib/desy-tables/components/table/components/table-caption.component.js +14 -0
- package/esm2015/lib/desy-tables/components/table/components/table-cell.component.js +17 -0
- package/esm2015/lib/desy-tables/components/table/components/table-header.component.js +14 -0
- package/esm2015/lib/desy-tables/components/table/components/table-row.component.js +14 -0
- package/esm2015/lib/desy-tables/components/table/table.component.js +67 -34
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.js +20 -0
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.js +14 -0
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.js +17 -0
- package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.js +20 -0
- package/esm2015/lib/desy-tables/components/table-advanced/table-advanced.component.js +288 -264
- package/esm2015/lib/desy-tables/desy-tables.module.js +61 -33
- package/esm2015/lib/desy-tables/directives/cell.directive.js +26 -0
- package/esm2015/lib/desy-tables/directives/focus-clicked-cell.directive.js +78 -74
- package/esm2015/lib/desy-tables/directives/row.directive.js +24 -0
- package/esm2015/lib/desy-tables/interfaces/cell-data.js +2 -2
- package/esm2015/lib/desy-tables/interfaces/head-cell-data.js +7 -7
- package/esm2015/lib/desy-tables/interfaces/index.js +5 -4
- package/esm2015/lib/desy-tables/interfaces/recalculate-table-params.js +2 -0
- package/esm2015/lib/desy-tables/interfaces/row-data.js +2 -2
- package/esm2015/lib/desy-tables/interfaces/wrapper-data.js +2 -0
- package/esm2015/lib/desy-views/components/accordion/accordion-header/accordion-header.component.js +14 -0
- package/esm2015/lib/desy-views/components/accordion/accordion-item/accordion-item.component.js +33 -0
- package/esm2015/lib/desy-views/components/accordion/accordion.component.js +136 -108
- package/esm2015/lib/desy-views/components/alert/alert.component.js +81 -76
- package/esm2015/lib/desy-views/components/collapsible/collapsible.component.js +62 -66
- package/esm2015/lib/desy-views/components/description-list/definition/definition.component.js +15 -0
- package/esm2015/lib/desy-views/components/description-list/description-item/description-item.component.js +26 -0
- package/esm2015/lib/desy-views/components/description-list/description-list.component.js +28 -38
- package/esm2015/lib/desy-views/components/description-list/term/term.component.js +15 -0
- package/esm2015/lib/desy-views/components/details/details.component.js +31 -31
- package/esm2015/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.js +14 -0
- package/esm2015/lib/desy-views/components/item/item-content-right/item-content-right.component.js +11 -0
- package/esm2015/lib/desy-views/components/item/item-item/item-item.component.js +11 -0
- package/esm2015/lib/desy-views/components/item/item.component.js +79 -46
- package/esm2015/lib/desy-views/components/media-object/media-object.component.js +29 -29
- package/esm2015/lib/desy-views/components/spinner/spinner.component.js +16 -16
- package/esm2015/lib/desy-views/components/status/status.component.js +35 -35
- package/esm2015/lib/desy-views/components/status-item/status-item.component.js +63 -50
- package/esm2015/lib/desy-views/components/tabs/panel/panel.component.js +15 -0
- package/esm2015/lib/desy-views/components/tabs/tab-item/tab-item.component.js +28 -0
- package/esm2015/lib/desy-views/components/tabs/tabs.component.js +131 -109
- package/esm2015/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.js +11 -0
- package/esm2015/lib/desy-views/components/tooltip/tooltip.component.js +132 -0
- package/esm2015/lib/desy-views/desy-views.module.js +93 -53
- package/esm2015/lib/desy-views/interfaces/accordion-header.data.js +2 -2
- package/esm2015/lib/desy-views/interfaces/accordion-item.data.js +2 -2
- package/esm2015/lib/desy-views/interfaces/alert-options.js +2 -2
- package/esm2015/lib/desy-views/interfaces/description-item.data.js +2 -0
- package/esm2015/lib/desy-views/interfaces/index.js +11 -11
- package/esm2015/lib/desy-views/interfaces/open-alert-result.js +2 -2
- package/esm2015/lib/desy-views/interfaces/status-data.js +2 -2
- package/esm2015/lib/desy-views/interfaces/status-icon-data.js +2 -2
- package/esm2015/lib/desy-views/interfaces/status-item-title-data.js +2 -2
- package/esm2015/lib/desy-views/interfaces/tabs-items-data.js +2 -2
- package/esm2015/lib/desy-views/interfaces/tabs-panel-data.js +2 -2
- package/esm2015/lib/desy-views/interfaces/term-definition.data.js +2 -0
- package/esm2015/lib/desy-views/services/alert.service.js +90 -90
- package/esm2015/lib/shared/components/accessibility/accessibility.component.js +29 -29
- package/esm2015/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.js +27 -0
- package/esm2015/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.js +26 -26
- package/esm2015/lib/shared/components/content-base/content-base.component.js +20 -0
- package/esm2015/lib/shared/components/index.js +6 -4
- package/esm2015/lib/shared/components/text-or-html-required/text-or-html-required.component.js +26 -26
- package/esm2015/lib/shared/decorators/desy-content-child.decorator.js +41 -0
- package/esm2015/lib/shared/decorators/desy-on-input-change.decorator.js +19 -0
- package/esm2015/lib/shared/directives/attribute-change.directive.js +43 -0
- package/esm2015/lib/shared/directives/click-outside.directive.js +35 -35
- package/esm2015/lib/shared/directives/content-change.directive.js +43 -0
- package/esm2015/lib/shared/directives/content-empty.directive.js +86 -0
- package/esm2015/lib/shared/directives/custom-inner-content.directive.js +62 -0
- package/esm2015/lib/shared/directives/inner-content.directive.js +34 -32
- package/esm2015/lib/shared/interfaces/accesibility-data.js +2 -2
- package/esm2015/lib/shared/pipes/external-href.pipe.js +28 -0
- package/esm2015/lib/shared/pipes/inner-html.pipe.js +19 -19
- package/esm2015/lib/shared/pipes/make-html-list.pipe.js +16 -16
- package/esm2015/lib/shared/shared.module.js +65 -46
- package/esm2015/lib/shared/utils/focus-utils.js +51 -51
- package/esm2015/lib/shared/utils/search-utils.js +57 -57
- package/esm2015/lib/shared/utils/string-utils.js +18 -0
- package/esm2015/public-api.js +189 -130
- package/fesm2015/desy-angular.js +7655 -3964
- package/fesm2015/desy-angular.js.map +1 -1
- package/lib/desy-angular.module.d.ts +2 -2
- package/lib/desy-buttons/components/button/button.component.d.ts +31 -32
- package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +15 -14
- package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +24 -19
- package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +12 -0
- package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +8 -0
- package/lib/desy-buttons/components/listbox/listbox.component.d.ts +54 -0
- package/lib/desy-buttons/components/pill/pill.component.d.ts +22 -22
- package/lib/desy-buttons/desy-buttons.module.d.ts +2 -2
- package/lib/desy-buttons/interfaces/listbox-item-data.d.ts +9 -0
- package/lib/{desy-nav/interfaces/notification-title-data.d.ts → desy-buttons/interfaces/listbox-label-data.d.ts} +5 -5
- package/lib/desy-commons/components/content/content.component.d.ts +5 -0
- package/lib/desy-commons/components/description/description.component.d.ts +5 -0
- package/lib/desy-commons/components/icon/icon.component.d.ts +5 -0
- package/lib/desy-commons/components/title/title.component.d.ts +5 -0
- package/lib/desy-commons/desy-commons.module.d.ts +2 -0
- package/lib/{desy-nav/interfaces/notification-content-data.d.ts → desy-commons/interfaces/content-data.d.ts} +5 -5
- package/lib/desy-commons/interfaces/description-data.d.ts +5 -0
- package/lib/desy-commons/interfaces/icon-data.d.ts +4 -0
- package/lib/desy-commons/interfaces/index.d.ts +4 -0
- package/lib/desy-commons/interfaces/title-data.d.ts +6 -0
- package/lib/desy-forms/components/character-count/character-count.component.d.ts +28 -28
- package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +47 -0
- package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +75 -37
- package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +22 -0
- package/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.d.ts +7 -0
- package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +4 -0
- package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +22 -0
- package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +19 -0
- package/lib/desy-forms/components/date-input/date-input.component.d.ts +54 -37
- package/lib/desy-forms/components/error-message/error-message.component.d.ts +12 -6
- package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +28 -20
- package/lib/desy-forms/components/fieldset/legend/legend.component.d.ts +6 -5
- package/lib/desy-forms/components/file-upload/file-upload.component.d.ts +19 -19
- package/lib/desy-forms/components/form-field/form-field.component.d.ts +40 -51
- package/lib/desy-forms/components/hint/hint.component.d.ts +11 -5
- package/lib/desy-forms/components/input/input.component.d.ts +19 -19
- package/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.d.ts +8 -0
- package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +20 -0
- package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +4 -0
- package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +16 -0
- package/lib/desy-forms/components/input-group/input-group.component.d.ts +54 -36
- package/lib/desy-forms/components/label/label.component.d.ts +14 -7
- package/lib/desy-forms/components/radios/radio-item/radio-item.component.d.ts +43 -0
- package/lib/desy-forms/components/radios/radios.component.d.ts +75 -30
- package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +17 -13
- package/lib/desy-forms/components/select/option/option.component.d.ts +7 -0
- package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +7 -0
- package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +4 -0
- package/lib/desy-forms/components/select/select.component.d.ts +21 -14
- package/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.d.ts +2 -2
- package/lib/desy-forms/components/textarea/textarea.component.d.ts +23 -23
- package/lib/desy-forms/desy-forms.module.d.ts +2 -2
- package/lib/desy-forms/directives/condition.directive.d.ts +15 -15
- package/lib/desy-forms/interfaces/accesibility-data.d.ts +15 -15
- package/lib/desy-forms/interfaces/error-message-data.d.ts +8 -8
- package/lib/desy-forms/interfaces/fieldset-data.d.ts +10 -9
- package/lib/desy-forms/interfaces/hint-data.d.ts +7 -7
- package/lib/desy-forms/interfaces/index.d.ts +12 -12
- package/lib/desy-forms/interfaces/item-checkbox-data.d.ts +21 -20
- package/lib/desy-forms/interfaces/item-date-input-data.d.ts +17 -14
- package/lib/desy-forms/interfaces/item-divider-date-input-data.d.ts +5 -0
- package/lib/desy-forms/interfaces/item-divider-input-group-data.d.ts +5 -5
- package/lib/desy-forms/interfaces/item-input-group-data.d.ts +22 -23
- package/lib/desy-forms/interfaces/item-radio-data.d.ts +20 -17
- package/lib/desy-forms/interfaces/item-radio-with-template-data.d.ts +5 -5
- package/lib/desy-forms/interfaces/label-data.d.ts +9 -9
- package/lib/desy-forms/interfaces/legend-data.d.ts +6 -6
- package/lib/desy-forms/interfaces/select-item-data.d.ts +8 -7
- package/lib/desy-modals/components/dialog/dialog.component.d.ts +35 -35
- package/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.d.ts +7 -0
- package/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.d.ts +7 -0
- package/lib/desy-modals/components/modal/modal.component.d.ts +45 -20
- package/lib/desy-modals/desy-modals.module.d.ts +2 -2
- package/lib/desy-modals/interfaces/dialog-options.d.ts +9 -9
- package/lib/desy-modals/interfaces/index.d.ts +6 -6
- package/lib/desy-modals/interfaces/modal-button-data.d.ts +4 -4
- package/lib/desy-modals/interfaces/modal-data.d.ts +5 -5
- package/lib/desy-modals/interfaces/modal-icon-data.d.ts +4 -4
- package/lib/desy-modals/interfaces/modal-options.d.ts +16 -16
- package/lib/desy-modals/interfaces/open-dialog-result.d.ts +6 -6
- package/lib/desy-modals/services/dialog.service.d.ts +14 -14
- package/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.d.ts +6 -0
- package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +19 -16
- package/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.d.ts +6 -0
- package/lib/desy-nav/components/error-summary/error-summary.component.d.ts +21 -13
- package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +7 -0
- package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +10 -0
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +7 -0
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +8 -0
- package/lib/desy-nav/components/footer/footer.component.d.ts +22 -10
- package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +11 -7
- package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +10 -0
- package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +13 -9
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.d.ts +6 -0
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +31 -10
- package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +12 -9
- package/lib/desy-nav/components/header/header.component.d.ts +29 -18
- package/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.d.ts +15 -0
- package/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.d.ts +18 -17
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +18 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +8 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +15 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +19 -24
- package/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.d.ts +23 -0
- package/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.d.ts +4 -0
- package/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.d.ts +15 -0
- package/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.d.ts +10 -0
- package/lib/desy-nav/components/menubar/directives/menubaritem.directive.d.ts +16 -0
- package/lib/desy-nav/components/menubar/menubar.component.d.ts +88 -0
- package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +17 -0
- package/lib/desy-nav/components/nav/nav.component.d.ts +18 -16
- package/lib/desy-nav/components/notification/notification-item/notification-item.component.d.ts +9 -0
- package/lib/desy-nav/components/notification/notification.component.d.ts +38 -24
- package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +14 -7
- package/lib/desy-nav/desy-nav.module.d.ts +2 -2
- package/lib/desy-nav/interfaces/breadcrumbs.data.d.ts +7 -7
- package/lib/desy-nav/interfaces/error-summary-data.d.ts +7 -7
- package/lib/desy-nav/interfaces/footer-data.d.ts +24 -27
- package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +11 -7
- package/lib/desy-nav/interfaces/header-navigation-data.d.ts +5 -5
- package/lib/desy-nav/interfaces/header-navigation-item-data.d.ts +11 -11
- package/lib/desy-nav/interfaces/header-offcanvas-data.d.ts +8 -9
- package/lib/desy-nav/interfaces/header-subnav-data.d.ts +11 -6
- package/lib/desy-nav/interfaces/index.d.ts +16 -20
- package/lib/desy-nav/interfaces/menu-horizontal-item-data.d.ts +13 -13
- package/lib/desy-nav/interfaces/menu-horizontal-item-event-data.d.ts +5 -5
- package/lib/desy-nav/interfaces/menu-vertical-items-data.d.ts +19 -17
- package/lib/desy-nav/interfaces/menu-vertical-sub-data.d.ts +7 -8
- package/lib/desy-nav/interfaces/menu-vertical-sub-items-data.d.ts +16 -13
- package/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.d.ts +6 -0
- package/lib/desy-nav/interfaces/menubar-item-sub-item.d.ts +9 -0
- package/lib/desy-nav/interfaces/menubar-item-sub.d.ts +6 -0
- package/lib/desy-nav/interfaces/menubar-item.d.ts +18 -0
- package/lib/desy-nav/interfaces/nav-item-event.data.d.ts +5 -5
- package/lib/desy-nav/interfaces/nav-item.data.d.ts +15 -14
- package/lib/desy-nav/interfaces/notification-items-data.d.ts +10 -7
- package/lib/desy-nav/interfaces/notification-options.d.ts +15 -18
- package/lib/desy-pagination/components/pagination/pagination.component.d.ts +33 -38
- package/lib/desy-pagination/desy-pagination.module.d.ts +2 -2
- package/lib/desy-pagination/interfaces/index.d.ts +1 -1
- package/lib/desy-pagination/interfaces/pagination-item.data.d.ts +4 -4
- package/lib/desy-tables/components/table/components/table-caption.component.d.ts +4 -0
- package/lib/desy-tables/components/table/components/table-cell.component.d.ts +8 -0
- package/lib/desy-tables/components/table/components/table-header.component.d.ts +5 -0
- package/lib/desy-tables/components/table/components/table-row.component.d.ts +5 -0
- package/lib/desy-tables/components/table/table.component.d.ts +25 -13
- package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +13 -0
- package/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.d.ts +5 -0
- package/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.d.ts +8 -0
- package/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.d.ts +8 -0
- package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +115 -88
- package/lib/desy-tables/desy-tables.module.d.ts +2 -2
- package/lib/desy-tables/directives/cell.directive.d.ts +14 -0
- package/lib/desy-tables/directives/focus-clicked-cell.directive.d.ts +10 -10
- package/lib/desy-tables/directives/row.directive.d.ts +16 -0
- package/lib/desy-tables/interfaces/cell-data.d.ts +9 -9
- package/lib/desy-tables/interfaces/head-cell-data.d.ts +15 -15
- package/lib/desy-tables/interfaces/index.d.ts +4 -3
- package/lib/desy-tables/interfaces/recalculate-table-params.d.ts +11 -0
- package/lib/desy-tables/interfaces/row-data.d.ts +6 -5
- package/lib/desy-tables/interfaces/wrapper-data.d.ts +4 -0
- package/lib/desy-views/components/accordion/accordion-header/accordion-header.component.d.ts +5 -0
- package/lib/desy-views/components/accordion/accordion-item/accordion-item.component.d.ts +13 -0
- package/lib/desy-views/components/accordion/accordion.component.d.ts +36 -27
- package/lib/desy-views/components/alert/alert.component.d.ts +29 -27
- package/lib/desy-views/components/collapsible/collapsible.component.d.ts +15 -17
- package/lib/desy-views/components/description-list/definition/definition.component.d.ts +6 -0
- package/lib/desy-views/components/description-list/description-item/description-item.component.d.ts +9 -0
- package/lib/desy-views/components/description-list/description-list.component.d.ts +12 -9
- package/lib/desy-views/components/description-list/term/term.component.d.ts +6 -0
- package/lib/desy-views/components/details/details.component.d.ts +14 -14
- package/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.d.ts +5 -0
- package/lib/desy-views/components/item/item-content-right/item-content-right.component.d.ts +3 -0
- package/lib/desy-views/components/item/item-item/item-item.component.d.ts +3 -0
- package/lib/desy-views/components/item/item.component.d.ts +36 -17
- package/lib/desy-views/components/media-object/media-object.component.d.ts +14 -14
- package/lib/desy-views/components/spinner/spinner.component.d.ts +6 -6
- package/lib/desy-views/components/status/status.component.d.ts +11 -11
- package/lib/desy-views/components/status-item/status-item.component.d.ts +31 -20
- package/lib/desy-views/components/tabs/panel/panel.component.d.ts +6 -0
- package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +12 -0
- package/lib/desy-views/components/tabs/tabs.component.d.ts +35 -23
- package/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.d.ts +3 -0
- package/lib/desy-views/components/tooltip/tooltip.component.d.ts +35 -0
- package/lib/desy-views/desy-views.module.d.ts +2 -2
- package/lib/desy-views/interfaces/accordion-header.data.d.ts +5 -5
- package/lib/desy-views/interfaces/accordion-item.data.d.ts +10 -10
- package/lib/desy-views/interfaces/alert-options.d.ts +8 -8
- package/lib/desy-views/interfaces/description-item.data.d.ts +8 -0
- package/lib/desy-views/interfaces/index.d.ts +10 -10
- package/lib/desy-views/interfaces/open-alert-result.d.ts +6 -6
- package/lib/desy-views/interfaces/status-data.d.ts +8 -8
- package/lib/desy-views/interfaces/status-icon-data.d.ts +4 -4
- package/lib/desy-views/interfaces/status-item-title-data.d.ts +5 -5
- package/lib/desy-views/interfaces/tabs-items-data.d.ts +9 -9
- package/lib/desy-views/interfaces/tabs-panel-data.d.ts +8 -8
- package/lib/desy-views/interfaces/term-definition.data.d.ts +7 -0
- package/lib/desy-views/services/alert.service.d.ts +14 -14
- package/lib/shared/components/accessibility/accessibility.component.d.ts +20 -20
- package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +26 -0
- package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +25 -25
- package/lib/shared/components/content-base/content-base.component.d.ts +9 -0
- package/lib/shared/components/index.d.ts +5 -3
- package/lib/shared/components/text-or-html-required/text-or-html-required.component.d.ts +16 -16
- package/lib/shared/decorators/desy-content-child.decorator.d.ts +15 -0
- package/lib/shared/decorators/desy-on-input-change.decorator.d.ts +5 -0
- package/lib/shared/directives/attribute-change.directive.d.ts +10 -0
- package/lib/shared/directives/click-outside.directive.d.ts +9 -9
- package/lib/shared/directives/content-change.directive.d.ts +19 -0
- package/lib/shared/directives/content-empty.directive.d.ts +26 -0
- package/lib/shared/directives/custom-inner-content.directive.d.ts +22 -0
- package/lib/shared/directives/inner-content.directive.d.ts +9 -8
- package/lib/shared/interfaces/accesibility-data.d.ts +16 -16
- package/lib/shared/pipes/external-href.pipe.d.ts +8 -0
- package/lib/shared/pipes/inner-html.pipe.d.ts +7 -7
- package/lib/shared/pipes/make-html-list.pipe.d.ts +4 -4
- package/lib/shared/shared.module.d.ts +2 -2
- package/lib/shared/utils/focus-utils.d.ts +4 -4
- package/lib/shared/utils/search-utils.d.ts +14 -14
- package/lib/shared/utils/string-utils.d.ts +10 -0
- package/package.json +16 -11
- package/public-api.d.ts +160 -110
- package/esm2015/lib/desy-forms/components/checkboxes/item-checkbox/item-checkbox.component.js +0 -100
- package/esm2015/lib/desy-forms/components/radios/item-radio/item-radio.component.js +0 -89
- package/esm2015/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.js +0 -62
- package/esm2015/lib/desy-nav/interfaces/notification-content-data.js +0 -2
- package/esm2015/lib/desy-nav/interfaces/notification-description-data.js +0 -2
- package/esm2015/lib/desy-nav/interfaces/notification-icon-data.js +0 -2
- package/esm2015/lib/desy-nav/interfaces/notification-title-data.js +0 -2
- package/esm2015/lib/desy-views/interfaces/description.data.js +0 -2
- package/esm2015/lib/desy-views/interfaces/item-data.js +0 -2
- package/esm2015/lib/desy-views/interfaces/item-description.data.js +0 -2
- package/esm2015/lib/shared/utils/navigation-utils.js +0 -18
- package/lib/desy-forms/components/checkboxes/item-checkbox/item-checkbox.component.d.ts +0 -39
- package/lib/desy-forms/components/radios/item-radio/item-radio.component.d.ts +0 -36
- package/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.d.ts +0 -19
- package/lib/desy-nav/interfaces/notification-description-data.d.ts +0 -5
- package/lib/desy-nav/interfaces/notification-icon-data.d.ts +0 -3
- package/lib/desy-views/interfaces/description.data.d.ts +0 -7
- package/lib/desy-views/interfaces/item-data.d.ts +0 -19
- package/lib/desy-views/interfaces/item-description.data.d.ts +0 -8
- package/lib/shared/utils/navigation-utils.d.ts +0 -3
|
@@ -1,108 +1,136 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
if (
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, ContentChildren, Input, ViewChildren } from '@angular/core';
|
|
3
|
+
import { AccessibilityComponent } from '../../../shared/components';
|
|
4
|
+
import { AccordionHeaderComponent } from './accordion-header/accordion-header.component';
|
|
5
|
+
import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
|
|
6
|
+
import { AccordionItemComponent } from './accordion-item/accordion-item.component';
|
|
7
|
+
export class AccordionComponent extends AccessibilityComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.showAll = true;
|
|
11
|
+
}
|
|
12
|
+
ngOnChanges(changes) {
|
|
13
|
+
if (!this.idPrefix) {
|
|
14
|
+
throw new Error(`idPrefix is required`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
getItemId(item, index) {
|
|
18
|
+
let id;
|
|
19
|
+
if (item.id) {
|
|
20
|
+
id = item.id;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
if (index === 0) {
|
|
24
|
+
id = this.idPrefix ? this.idPrefix : undefined;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
id = this.idPrefix ? this.idPrefix + '-' + index : index;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return id;
|
|
31
|
+
}
|
|
32
|
+
changeAll() {
|
|
33
|
+
const items = this.getItems();
|
|
34
|
+
items.forEach(item => {
|
|
35
|
+
const isChange = item.open !== this.showAll;
|
|
36
|
+
item.open = this.showAll;
|
|
37
|
+
if (isChange && item instanceof AccordionItemComponent) {
|
|
38
|
+
item.openChange.emit(item.open);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
this.showAll = !this.showAll;
|
|
42
|
+
}
|
|
43
|
+
toggleItem(item) {
|
|
44
|
+
if (!item.open || this.allowToggle) {
|
|
45
|
+
const newOpenValue = !item.open;
|
|
46
|
+
if (!this.allowMultiple) {
|
|
47
|
+
const items = this.getItems();
|
|
48
|
+
items.forEach(it => {
|
|
49
|
+
const wasOpen = it.open;
|
|
50
|
+
it.open = false;
|
|
51
|
+
if (wasOpen && it !== item && it instanceof AccordionItemComponent) {
|
|
52
|
+
it.openChange.emit(it.open);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
item.open = newOpenValue;
|
|
57
|
+
if (item instanceof AccordionItemComponent) {
|
|
58
|
+
item.openChange.emit(item.open);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
focusFirstItem(event) {
|
|
63
|
+
event.preventDefault();
|
|
64
|
+
this.itemSelectors.toArray()[0].nativeElement.focus();
|
|
65
|
+
}
|
|
66
|
+
focusLastItem(event) {
|
|
67
|
+
event.preventDefault();
|
|
68
|
+
this.itemSelectors.toArray()[this.itemSelectors.length - 1].nativeElement.focus();
|
|
69
|
+
}
|
|
70
|
+
focusNextItem(event, focusedItem) {
|
|
71
|
+
event.preventDefault();
|
|
72
|
+
const selectors = this.itemSelectors.toArray();
|
|
73
|
+
if (selectors[(focusedItem + 1) % selectors.length] != null) {
|
|
74
|
+
selectors[(focusedItem + 1) % selectors.length].nativeElement.focus();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
focusPreviousItem(event, focusedItem) {
|
|
78
|
+
event.preventDefault();
|
|
79
|
+
const selectors = this.itemSelectors.toArray();
|
|
80
|
+
if (selectors[(focusedItem + selectors.length - 1) % selectors.length] != null) {
|
|
81
|
+
selectors[(focusedItem + selectors.length - 1) % selectors.length].nativeElement.focus();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
selectItem(i) {
|
|
85
|
+
this.currentItem = i;
|
|
86
|
+
}
|
|
87
|
+
getTitleClasses() {
|
|
88
|
+
let classes = 'c-h2 mb-base';
|
|
89
|
+
if (this.headingComponent && this.headingComponent.classes) {
|
|
90
|
+
classes = this.headingComponent.classes;
|
|
91
|
+
}
|
|
92
|
+
else if (this.heading && this.heading.classes) {
|
|
93
|
+
classes = this.heading.classes;
|
|
94
|
+
}
|
|
95
|
+
return classes;
|
|
96
|
+
}
|
|
97
|
+
getItems() {
|
|
98
|
+
const items = this.itemComponentList && this.itemComponentList.length > 0 ? this.itemComponentList.toArray() : this.items;
|
|
99
|
+
if (!items || items.length === 0) {
|
|
100
|
+
throw new Error(`items are required`);
|
|
101
|
+
}
|
|
102
|
+
return items;
|
|
103
|
+
}
|
|
104
|
+
getItemHeader(item) {
|
|
105
|
+
return item instanceof AccordionItemComponent ? item.headerComponent : null;
|
|
106
|
+
}
|
|
107
|
+
getItemContent(item) {
|
|
108
|
+
return item instanceof AccordionItemComponent ? item.contentComponent : null;
|
|
109
|
+
}
|
|
110
|
+
handleRequiredEmpty(text) {
|
|
111
|
+
throw new Error(text);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
AccordionComponent.decorators = [
|
|
115
|
+
{ type: Component, args: [{
|
|
116
|
+
selector: 'desy-accordion',
|
|
117
|
+
template: "<div [class]=\"classes\"\r\n [attr.role]=\"role\"\r\n [attr.aria-describedby]=\"ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-hidden]=\"ariaHidden\"\r\n [attr.aria-disabled]=\"ariaDisabled\"\r\n [attr.aria-controls]=\"ariaControls\"\r\n [attr.aria-current]=\"ariaCurrent\"\r\n [attr.aria-live]=\"ariaLive\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-haspopup]=\"ariaHasPopup\"\r\n [attr.tabindex]=\"tabindex\">\r\n <div class=\"flex justify-between\">\r\n <ng-container *ngIf=\"headingComponent || heading\">\r\n <ng-container [ngSwitch]=\"headingLevel > 0 && headingLevel < 6 ? headingLevel : 2\">\r\n <h1 *ngSwitchCase=\"1\" [class]=\"getTitleClasses()\" (desyContentEmpty)=\"handleRequiredEmpty('heading content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: headingComponent ? headingComponent : null,\r\n html: heading ? heading.html : null,\r\n text: heading ? heading.text : null\r\n }\"></ng-container>\r\n </h1>\r\n <h2 *ngSwitchCase=\"2\" [class]=\"getTitleClasses()\" (desyContentEmpty)=\"handleRequiredEmpty('heading content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: headingComponent ? headingComponent : null,\r\n html: heading ? heading.html : null,\r\n text: heading ? heading.text : null\r\n }\"></ng-container>\r\n </h2>\r\n <h3 *ngSwitchCase=\"3\" [class]=\"getTitleClasses()\" (desyContentEmpty)=\"handleRequiredEmpty('heading content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: headingComponent ? headingComponent : null,\r\n html: heading ? heading.html : null,\r\n text: heading ? heading.text : null\r\n }\"></ng-container>\r\n </h3>\r\n <h4 *ngSwitchCase=\"4\" [class]=\"getTitleClasses()\" (desyContentEmpty)=\"handleRequiredEmpty('heading content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: headingComponent ? headingComponent : null,\r\n html: heading ? heading.html : null,\r\n text: heading ? heading.text : null\r\n }\"></ng-container>\r\n </h4>\r\n <h5 *ngSwitchCase=\"5\" [class]=\"getTitleClasses()\" (desyContentEmpty)=\"handleRequiredEmpty('heading content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: headingComponent ? headingComponent : null,\r\n html: heading ? heading.html : null,\r\n text: heading ? heading.text : null\r\n }\"></ng-container>\r\n </h5>\r\n </ng-container>\r\n <button *ngIf=\"showControl\" (click)=\"changeAll()\"\r\n class=\"ml-auto py-base text-sm text-neutral-dark underline focus:text-black focus:bg-warning-base focus:outline-none focus:shadow-outline-focus\">\r\n {{showAll ? 'Mostrar' : 'Ocultar'}} todo\r\n </button>\r\n </ng-container>\r\n </div>\r\n <div class=\"Accordion\">\r\n <div *ngFor=\"let item of getItems(); index as i\" class=\"-my-px px-xs py-sm border-t border-b border-neutral-base\"\r\n (keydown.home)=\"focusFirstItem($event)\"\r\n (keydown.end)=\"focusLastItem($event)\"\r\n (keydown.arrowup)=\"focusPreviousItem($event, i)\"\r\n (keydown.arrowdown)=\"focusNextItem($event, i)\"\r\n (click)=\"selectItem(i)\">\r\n\r\n <ng-container [ngSwitch]=\"headingLevel > 0 && headingLevel < 6 ? headingLevel : 2\">\r\n <h2 *ngSwitchCase=\"1\"><ng-container *ngTemplateOutlet=\"itemHeaderContent; context: {item: item, id: getItemId(item, i), index: i}\"></ng-container></h2>\r\n <h3 *ngSwitchCase=\"2\"><ng-container *ngTemplateOutlet=\"itemHeaderContent; context: {item: item, id: getItemId(item, i), index: i}\"></ng-container></h3>\r\n <h4 *ngSwitchCase=\"3\"><ng-container *ngTemplateOutlet=\"itemHeaderContent; context: {item: item, id: getItemId(item, i), index: i}\"></ng-container></h4>\r\n <h5 *ngSwitchCase=\"4\"><ng-container *ngTemplateOutlet=\"itemHeaderContent; context: {item: item, id: getItemId(item, i), index: i}\"></ng-container></h5>\r\n <h6 *ngSwitchCase=\"5\"><ng-container *ngTemplateOutlet=\"itemHeaderContent; context: {item: item, id: getItemId(item, i), index: i}\"></ng-container></h6>\r\n </ng-container>\r\n <p class=\"sr-only\" aria-hidden=\"true\">Haz click en el bot\u00F3n anterior para mostrar u ocultar</p>\r\n <div *ngIf=\"item.open\" class=\"Accordion-panel\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('item content, html or text are required at position ' + i)\"\r\n [attr.id]=\"getItemId(item, i)\"\r\n [attr.role]=\"(item.role ? role : 'accordion')\"\r\n [attr.aria-selected]=\"currentItem === i ? 'true' : 'false'\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\r\n [attr.aria-label]=\"item.ariaLabel\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"item.ariaHidden\"\r\n [attr.aria-controls]=\"'accordion-' + getItemId(item, i)\"\r\n [attr.aria-current]=\"item.ariaCurrent\"\r\n [attr.aria-live]=\"item.ariaLive\"\r\n [attr.aria-expanded]=\"item.ariaExpanded\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup\">\r\n <ng-container *desyCustomInnerContent=\"{ component: getItemContent(item), html: item.html, text: item.text }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemHeaderContent let-item=\"item\" let-id=\"id\" let-index=\"index\">\r\n <button #itemSelector [id]=\"id + '-title'\" class=\"Accordion-trigger group relative w-full py-sm font-semibold text-left cursor-pointer focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('item heading content, html or text are required at position ' + index)\"\r\n [attr.aria-controls]=\"id\" [attr.aria-expanded]=\"item.open\" (click)=\"toggleItem(item)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: getItemHeader(item), html: item.headerHtml, text: item.headerText }\"></ng-container>\r\n <span #desyContentEmptyIgnore *ngIf=\"allowToggle || !item.open\" class=\"absolute inset-y-0 right-0 py-sm font-normal text-sm text-neutral-dark underline group-focus:text-black pointer-events-none\" aria-hidden=\"true\">\r\n {{ item.open ? 'Ocultar' : 'Mostrar' }}\r\n </span>\r\n </button>\r\n</ng-template>\r\n"
|
|
118
|
+
},] }
|
|
119
|
+
];
|
|
120
|
+
AccordionComponent.propDecorators = {
|
|
121
|
+
itemSelectors: [{ type: ViewChildren, args: ['itemSelector',] }],
|
|
122
|
+
idPrefix: [{ type: Input }],
|
|
123
|
+
allowToggle: [{ type: Input }],
|
|
124
|
+
allowMultiple: [{ type: Input }],
|
|
125
|
+
heading: [{ type: Input }],
|
|
126
|
+
headingLevel: [{ type: Input }],
|
|
127
|
+
showControl: [{ type: Input }],
|
|
128
|
+
items: [{ type: Input }],
|
|
129
|
+
classes: [{ type: Input }],
|
|
130
|
+
headingComponent: [{ type: ContentChildren, args: [AccordionHeaderComponent,] }],
|
|
131
|
+
itemComponentList: [{ type: ContentChildren, args: [AccordionItemComponent,] }]
|
|
132
|
+
};
|
|
133
|
+
__decorate([
|
|
134
|
+
DesyContentChild()
|
|
135
|
+
], AccordionComponent.prototype, "headingComponent", void 0);
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQWMsS0FBSyxFQUF1QyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFL0gsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFbEUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDekYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFRakYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHNCQUFzQjtJQUo5RDs7UUFxQkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQWtIakIsQ0FBQztJQS9HQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBYTtRQUMzQixJQUFJLEVBQUUsQ0FBQztRQUNQLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNYLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ2Q7YUFBTTtZQUNMLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRTtnQkFDZixFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2FBQ2hE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LENBQUMsS0FBSyxDQUFDO1FBQzFILElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsYUFBYSxDQUFDLElBQXVCO1FBQ25DLE9BQU8sSUFBSSxZQUFZLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDOUUsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUF1QjtRQUNwQyxPQUFPLElBQUksWUFBWSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDL0UsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVk7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDOzs7WUF0SUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLHExTkFBeUM7YUFDMUM7Ozs0QkFHRSxZQUFZLFNBQUMsY0FBYzt1QkFFM0IsS0FBSzswQkFDTCxLQUFLOzRCQUNMLEtBQUs7c0JBQ0wsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLOytCQUdMLGVBQWUsU0FBQyx3QkFBd0I7Z0NBQ3hDLGVBQWUsU0FBQyxzQkFBc0I7O0FBREk7SUFEMUMsZ0JBQWdCLEVBQUU7NERBQ21FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGRyZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FjY29yZGlvbkhlYWRlckRhdGF9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQge0FjY2Vzc2liaWxpdHlDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHtBY2NvcmRpb25JdGVtRGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7QWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50fSBmcm9tICcuL2FjY29yZGlvbi1oZWFkZXIvYWNjb3JkaW9uLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Rlc3lDb250ZW50Q2hpbGR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xyXG5pbXBvcnQge0FjY29yZGlvbkl0ZW1Db21wb25lbnR9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0vYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHtDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktYWNjb3JkaW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2l0ZW1TZWxlY3RvcicpIGl0ZW1TZWxlY3RvcnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuXHJcbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcclxuICBASW5wdXQoKSBhbGxvd1RvZ2dsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBhbGxvd011bHRpcGxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGhlYWRpbmc6IEFjY29yZGlvbkhlYWRlckRhdGE7XHJcbiAgQElucHV0KCkgaGVhZGluZ0xldmVsO1xyXG4gIEBJbnB1dCgpIHNob3dDb250cm9sOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGl0ZW1zOiBBY2NvcmRpb25JdGVtRGF0YVtdO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oQWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50KSBoZWFkaW5nQ29tcG9uZW50OiBBY2NvcmRpb25IZWFkZXJDb21wb25lbnQ7XHJcbiAgQENvbnRlbnRDaGlsZHJlbihBY2NvcmRpb25JdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9uZW50TGlzdDogUXVlcnlMaXN0PEFjY29yZGlvbkl0ZW1Db21wb25lbnQ+O1xyXG5cclxuICBzaG93QWxsID0gdHJ1ZTtcclxuICBjdXJyZW50SXRlbTogbnVtYmVyO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaWRQcmVmaXgpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBpZFByZWZpeCBpcyByZXF1aXJlZGApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbUlkKGl0ZW0sIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IGlkO1xyXG4gICAgaWYgKGl0ZW0uaWQpIHtcclxuICAgICAgaWQgPSBpdGVtLmlkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGluZGV4ID09PSAwKSB7XHJcbiAgICAgICAgaWQgPSB0aGlzLmlkUHJlZml4ID8gdGhpcy5pZFByZWZpeCA6IHVuZGVmaW5lZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZCA9IHRoaXMuaWRQcmVmaXggPyB0aGlzLmlkUHJlZml4ICsgJy0nICsgaW5kZXggOiBpbmRleDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlkO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlQWxsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1zKCk7XHJcbiAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBpc0NoYW5nZSA9IGl0ZW0ub3BlbiAhPT0gdGhpcy5zaG93QWxsO1xyXG4gICAgICBpdGVtLm9wZW4gPSB0aGlzLnNob3dBbGw7XHJcbiAgICAgIGlmIChpc0NoYW5nZSAmJiBpdGVtIGluc3RhbmNlb2YgQWNjb3JkaW9uSXRlbUNvbXBvbmVudCkge1xyXG4gICAgICAgIGl0ZW0ub3BlbkNoYW5nZS5lbWl0KGl0ZW0ub3Blbik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zaG93QWxsID0gIXRoaXMuc2hvd0FsbDtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUl0ZW0oaXRlbTogQWNjb3JkaW9uSXRlbURhdGEpOiB2b2lkIHtcclxuICAgIGlmICghaXRlbS5vcGVuIHx8IHRoaXMuYWxsb3dUb2dnbGUpIHtcclxuICAgICAgY29uc3QgbmV3T3BlblZhbHVlID0gIWl0ZW0ub3BlbjtcclxuICAgICAgaWYgKCF0aGlzLmFsbG93TXVsdGlwbGUpIHtcclxuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0SXRlbXMoKTtcclxuICAgICAgICBpdGVtcy5mb3JFYWNoKGl0ID0+IHtcclxuICAgICAgICAgIGNvbnN0IHdhc09wZW4gPSBpdC5vcGVuO1xyXG4gICAgICAgICAgaXQub3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgaWYgKHdhc09wZW4gJiYgaXQgIT09IGl0ZW0gJiYgaXQgaW5zdGFuY2VvZiBBY2NvcmRpb25JdGVtQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIGl0Lm9wZW5DaGFuZ2UuZW1pdChpdC5vcGVuKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBpdGVtLm9wZW4gPSBuZXdPcGVuVmFsdWU7XHJcbiAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgQWNjb3JkaW9uSXRlbUNvbXBvbmVudCkge1xyXG4gICAgICAgIGl0ZW0ub3BlbkNoYW5nZS5lbWl0KGl0ZW0ub3Blbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzRmlyc3RJdGVtKGV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5pdGVtU2VsZWN0b3JzLnRvQXJyYXkoKVswXS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBmb2N1c0xhc3RJdGVtKGV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5pdGVtU2VsZWN0b3JzLnRvQXJyYXkoKVt0aGlzLml0ZW1TZWxlY3RvcnMubGVuZ3RoIC0gMV0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNOZXh0SXRlbShldmVudCwgZm9jdXNlZEl0ZW06IG51bWJlcik6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGNvbnN0IHNlbGVjdG9ycyA9IHRoaXMuaXRlbVNlbGVjdG9ycy50b0FycmF5KCk7XHJcbiAgICBpZiAoc2VsZWN0b3JzWyhmb2N1c2VkSXRlbSArIDEpICUgc2VsZWN0b3JzLmxlbmd0aF0gIT0gbnVsbCkge1xyXG4gICAgICBzZWxlY3RvcnNbKGZvY3VzZWRJdGVtICsgMSkgJSBzZWxlY3RvcnMubGVuZ3RoXS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb2N1c1ByZXZpb3VzSXRlbShldmVudCwgZm9jdXNlZEl0ZW06IG51bWJlcik6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGNvbnN0IHNlbGVjdG9ycyA9IHRoaXMuaXRlbVNlbGVjdG9ycy50b0FycmF5KCk7XHJcbiAgICBpZiAoc2VsZWN0b3JzWyhmb2N1c2VkSXRlbSArIHNlbGVjdG9ycy5sZW5ndGggLSAxKSAlIHNlbGVjdG9ycy5sZW5ndGhdICE9IG51bGwpIHtcclxuICAgICAgc2VsZWN0b3JzWyhmb2N1c2VkSXRlbSArIHNlbGVjdG9ycy5sZW5ndGggLSAxKSAlIHNlbGVjdG9ycy5sZW5ndGhdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdEl0ZW0oIGk6IG51bWJlciApOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudEl0ZW0gPSBpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGl0bGVDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgY2xhc3NlcyA9ICdjLWgyIG1iLWJhc2UnO1xyXG4gICAgaWYgKHRoaXMuaGVhZGluZ0NvbXBvbmVudCAmJiB0aGlzLmhlYWRpbmdDb21wb25lbnQuY2xhc3Nlcykge1xyXG4gICAgICBjbGFzc2VzID0gdGhpcy5oZWFkaW5nQ29tcG9uZW50LmNsYXNzZXM7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGVhZGluZyAmJiB0aGlzLmhlYWRpbmcuY2xhc3Nlcykge1xyXG4gICAgICBjbGFzc2VzID0gdGhpcy5oZWFkaW5nLmNsYXNzZXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2xhc3NlcztcclxuICB9XHJcblxyXG4gIGdldEl0ZW1zKCk6IEFjY29yZGlvbkl0ZW1EYXRhW10ge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1Db21wb25lbnRMaXN0ICYmIHRoaXMuaXRlbUNvbXBvbmVudExpc3QubGVuZ3RoID4gMCA/IHRoaXMuaXRlbUNvbXBvbmVudExpc3QudG9BcnJheSgpIDogdGhpcy5pdGVtcztcclxuICAgIGlmICghaXRlbXMgfHwgaXRlbXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgaXRlbXMgYXJlIHJlcXVpcmVkYCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXRlbXM7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtSGVhZGVyKGl0ZW06IEFjY29yZGlvbkl0ZW1EYXRhKTogQWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50IHtcclxuICAgIHJldHVybiBpdGVtIGluc3RhbmNlb2YgQWNjb3JkaW9uSXRlbUNvbXBvbmVudCA/IGl0ZW0uaGVhZGVyQ29tcG9uZW50IDogbnVsbDtcclxuICB9XHJcblxyXG4gIGdldEl0ZW1Db250ZW50KGl0ZW06IEFjY29yZGlvbkl0ZW1EYXRhKTogQ29udGVudENvbXBvbmVudCB7XHJcbiAgICByZXR1cm4gaXRlbSBpbnN0YW5jZW9mIEFjY29yZGlvbkl0ZW1Db21wb25lbnQgPyBpdGVtLmNvbnRlbnRDb21wb25lbnQgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlUmVxdWlyZWRFbXB0eSh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRocm93IG5ldyBFcnJvcih0ZXh0KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,76 +1,81 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, ComponentFactoryResolver, EventEmitter, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import { AccessibilityComponent } from '../../../shared/components';
|
|
3
|
-
import { FocusUtils } from '../../../shared/utils/focus-utils';
|
|
4
|
-
export class AlertComponent extends AccessibilityComponent {
|
|
5
|
-
constructor(cdRef, factoryResolver) {
|
|
6
|
-
super();
|
|
7
|
-
this.cdRef = cdRef;
|
|
8
|
-
this.factoryResolver = factoryResolver;
|
|
9
|
-
this.activeChange = new EventEmitter();
|
|
10
|
-
this.lastActiveState = undefined;
|
|
11
|
-
this.hasViewinit = false;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
this.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
]
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
|
|
1
|
+
import { ChangeDetectorRef, Component, ComponentFactoryResolver, EventEmitter, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { AccessibilityComponent } from '../../../shared/components';
|
|
3
|
+
import { FocusUtils } from '../../../shared/utils/focus-utils';
|
|
4
|
+
export class AlertComponent extends AccessibilityComponent {
|
|
5
|
+
constructor(cdRef, factoryResolver) {
|
|
6
|
+
super();
|
|
7
|
+
this.cdRef = cdRef;
|
|
8
|
+
this.factoryResolver = factoryResolver;
|
|
9
|
+
this.activeChange = new EventEmitter();
|
|
10
|
+
this.lastActiveState = undefined;
|
|
11
|
+
this.hasViewinit = false;
|
|
12
|
+
this.createdCallerFromType = false;
|
|
13
|
+
}
|
|
14
|
+
set active(value) {
|
|
15
|
+
setTimeout(() => {
|
|
16
|
+
this._active = value;
|
|
17
|
+
this.cdRef.detectChanges();
|
|
18
|
+
this.handleActiveState();
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
get active() {
|
|
22
|
+
return this._active;
|
|
23
|
+
}
|
|
24
|
+
ngOnDestroy() {
|
|
25
|
+
this.active = false;
|
|
26
|
+
}
|
|
27
|
+
ngAfterViewInit() {
|
|
28
|
+
if (!this.id) {
|
|
29
|
+
throw Error('id is required');
|
|
30
|
+
}
|
|
31
|
+
if (!this.caller && !this.callerType) {
|
|
32
|
+
throw Error('caller is required');
|
|
33
|
+
}
|
|
34
|
+
this.hasViewinit = true;
|
|
35
|
+
this.handleActiveState();
|
|
36
|
+
}
|
|
37
|
+
dismiss() {
|
|
38
|
+
this.activeChange.emit(false);
|
|
39
|
+
}
|
|
40
|
+
handleActiveState() {
|
|
41
|
+
if (this._active && this.callerType && !this.createdCallerFromType) {
|
|
42
|
+
const factory = this.factoryResolver.resolveComponentFactory(this.callerType);
|
|
43
|
+
const component = this.container.createComponent(factory);
|
|
44
|
+
if (this.onCallerCreationCallback) {
|
|
45
|
+
this.onCallerCreationCallback(this, component);
|
|
46
|
+
}
|
|
47
|
+
this.createdCallerFromType = true;
|
|
48
|
+
}
|
|
49
|
+
if (this._active !== this.lastActiveState && this.hasViewinit) {
|
|
50
|
+
this.lastActiveState = this._active;
|
|
51
|
+
if (this._active && this.focusFirst) {
|
|
52
|
+
this.cdRef.detectChanges();
|
|
53
|
+
const focusElem = FocusUtils.getFirstFocusableElement(this.alertWrapper.nativeElement);
|
|
54
|
+
if (focusElem) {
|
|
55
|
+
focusElem.focus();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
AlertComponent.decorators = [
|
|
62
|
+
{ type: Component, args: [{
|
|
63
|
+
selector: 'desy-alert',
|
|
64
|
+
template: "<div #alertWrapper\r\n [id]=\"id\" [class]=\"classes ? classes : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.aria-modal]=\"ariaModal ? ariaModal : null\">\r\n <ng-container *ngIf=\"active\">\r\n <ng-template #container></ng-template>\r\n <ng-container *ngTemplateOutlet=\"caller; context:callerContext\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n"
|
|
65
|
+
},] }
|
|
66
|
+
];
|
|
67
|
+
AlertComponent.ctorParameters = () => [
|
|
68
|
+
{ type: ChangeDetectorRef },
|
|
69
|
+
{ type: ComponentFactoryResolver }
|
|
70
|
+
];
|
|
71
|
+
AlertComponent.propDecorators = {
|
|
72
|
+
alertWrapper: [{ type: ViewChild, args: ['alertWrapper',] }],
|
|
73
|
+
container: [{ type: ViewChild, args: ['container', { read: ViewContainerRef },] }],
|
|
74
|
+
id: [{ type: Input }],
|
|
75
|
+
classes: [{ type: Input }],
|
|
76
|
+
caller: [{ type: Input }],
|
|
77
|
+
focusFirst: [{ type: Input }],
|
|
78
|
+
active: [{ type: Input }],
|
|
79
|
+
activeChange: [{ type: Output }]
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS12aWV3cy9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFBRSx3QkFBd0IsRUFFbkMsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUFFLGdCQUFnQixFQUM1QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFRL0QsTUFBTSxPQUFPLGNBQWUsU0FBUSxzQkFBc0I7SUErQnhELFlBQW9CLEtBQXdCLEVBQVUsZUFBeUM7UUFDN0YsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQVhyRixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFPN0Msb0JBQWUsR0FBWSxTQUFTLENBQUM7UUFDckMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBSXRDLENBQUM7SUF2QkQsSUFBYSxNQUFNLENBQUMsS0FBYztRQUNoQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQWdCRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNaLE1BQU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDL0I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEMsTUFBTSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUNuQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQ2xFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFELElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFO2dCQUNqQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ2hEO1lBQ0QsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztTQUNuQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBRXBDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMzQixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUE0QixDQUFDLENBQUM7Z0JBQ3RHLElBQUksU0FBUyxFQUFFO29CQUNiLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDbkI7YUFDRjtTQUNGO0lBQ0gsQ0FBQzs7O1lBakZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsMG5DQUFxQzthQUN0Qzs7O1lBbEJDLGlCQUFpQjtZQUNOLHdCQUF3Qjs7OzJCQW9CbEMsU0FBUyxTQUFDLGNBQWM7d0JBQ3hCLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUM7aUJBRS9DLEtBQUs7c0JBQ0wsS0FBSztxQkFDTCxLQUFLO3lCQUNMLEtBQUs7cUJBRUwsS0FBSzsyQkFVTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZiwgVHlwZSxcclxuICBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgRm9jdXNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9mb2N1cy11dGlscyc7XHJcblxyXG50eXBlIEFsZXJ0Q3JlYXRpb25DYWxsYmFjayA9ICgoZGlhbG9nOiBBbGVydENvbXBvbmVudCwgY2FsbGVyOiBDb21wb25lbnRSZWY8YW55PikgPT4gdm9pZCk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktYWxlcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hbGVydC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2FsZXJ0V3JhcHBlcicpIGFsZXJ0V3JhcHBlcjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2FsbGVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGZvY3VzRmlyc3Q6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIHNldCBhY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9hY3RpdmUgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMuaGFuZGxlQWN0aXZlU3RhdGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcclxuICB9XHJcbiAgQE91dHB1dCgpIGFjdGl2ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfYWN0aXZlOiBib29sZWFuO1xyXG4gIHB1YmxpYyBjYWxsZXJDb250ZXh0OiBhbnk7XHJcbiAgcHVibGljIGNhbGxlclR5cGU6IFR5cGU8YW55PjtcclxuICBwdWJsaWMgb25DYWxsZXJDcmVhdGlvbkNhbGxiYWNrOiBBbGVydENyZWF0aW9uQ2FsbGJhY2s7XHJcblxyXG4gIHByaXZhdGUgbGFzdEFjdGl2ZVN0YXRlOiBib29sZWFuID0gdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgaGFzVmlld2luaXQgPSBmYWxzZTtcclxuICBwcml2YXRlIGNyZWF0ZWRDYWxsZXJGcm9tVHlwZSA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBmYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pZCkge1xyXG4gICAgICB0aHJvdyBFcnJvcignaWQgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuY2FsbGVyICYmICF0aGlzLmNhbGxlclR5cGUpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ2NhbGxlciBpcyByZXF1aXJlZCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaGFzVmlld2luaXQgPSB0cnVlO1xyXG4gICAgdGhpcy5oYW5kbGVBY3RpdmVTdGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZGlzbWlzcygpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQWN0aXZlU3RhdGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fYWN0aXZlICYmIHRoaXMuY2FsbGVyVHlwZSAmJiAhdGhpcy5jcmVhdGVkQ2FsbGVyRnJvbVR5cGUpIHtcclxuICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuZmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuY2FsbGVyVHlwZSk7XHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgICAgaWYgKHRoaXMub25DYWxsZXJDcmVhdGlvbkNhbGxiYWNrKSB7XHJcbiAgICAgICAgdGhpcy5vbkNhbGxlckNyZWF0aW9uQ2FsbGJhY2sodGhpcywgY29tcG9uZW50KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNyZWF0ZWRDYWxsZXJGcm9tVHlwZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2FjdGl2ZSAhPT0gdGhpcy5sYXN0QWN0aXZlU3RhdGUgJiYgdGhpcy5oYXNWaWV3aW5pdCkge1xyXG4gICAgICB0aGlzLmxhc3RBY3RpdmVTdGF0ZSA9IHRoaXMuX2FjdGl2ZTtcclxuXHJcbiAgICAgIGlmICh0aGlzLl9hY3RpdmUgJiYgdGhpcy5mb2N1c0ZpcnN0KSB7XHJcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgY29uc3QgZm9jdXNFbGVtID0gRm9jdXNVdGlscy5nZXRGaXJzdEZvY3VzYWJsZUVsZW1lbnQodGhpcy5hbGVydFdyYXBwZXIubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XHJcbiAgICAgICAgaWYgKGZvY3VzRWxlbSkge1xyXG4gICAgICAgICAgZm9jdXNFbGVtLmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|