@coreui/angular-pro 5.2.25 → 5.3.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 +5 -5
- package/fesm2022/coreui-angular-pro.mjs +1064 -1163
- package/fesm2022/coreui-angular-pro.mjs.map +1 -1
- package/lib/grid/col.directive.d.ts +26 -26
- package/lib/smart-table/smart-table-head/smart-table-head.component.d.ts +2 -2
- package/lib/tabs-2/tab/tab.directive.d.ts +4 -3
- package/lib/tabs-2/tabs-list/tabs-list.component.d.ts +1 -1
- package/package.json +9 -11
- package/esm2022/coreui-angular-pro.mjs +0 -5
- package/esm2022/lib/accordion/accordion/accordion.component.mjs +0 -34
- package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +0 -35
- package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +0 -59
- package/esm2022/lib/accordion/accordion.module.mjs +0 -36
- package/esm2022/lib/accordion/accordion.service.mjs +0 -36
- package/esm2022/lib/accordion/index.mjs +0 -2
- package/esm2022/lib/accordion/public_api.mjs +0 -5
- package/esm2022/lib/alert/alert-heading.directive.mjs +0 -15
- package/esm2022/lib/alert/alert-link.directive.mjs +0 -15
- package/esm2022/lib/alert/alert.component.mjs +0 -173
- package/esm2022/lib/alert/alert.module.mjs +0 -30
- package/esm2022/lib/alert/index.mjs +0 -2
- package/esm2022/lib/alert/public_api.mjs +0 -5
- package/esm2022/lib/avatar/avatar.component.mjs +0 -71
- package/esm2022/lib/avatar/avatar.module.mjs +0 -20
- package/esm2022/lib/avatar/index.mjs +0 -2
- package/esm2022/lib/avatar/public_api.mjs +0 -3
- package/esm2022/lib/backdrop/backdrop.service.mjs +0 -82
- package/esm2022/lib/backdrop/index.mjs +0 -2
- package/esm2022/lib/backdrop/public_api.mjs +0 -2
- package/esm2022/lib/badge/badge.component.mjs +0 -77
- package/esm2022/lib/badge/badge.module.mjs +0 -20
- package/esm2022/lib/badge/index.mjs +0 -2
- package/esm2022/lib/badge/public_api.mjs +0 -3
- package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +0 -40
- package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +0 -39
- package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.mjs +0 -2
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +0 -41
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +0 -52
- package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +0 -34
- package/esm2022/lib/breadcrumb/index.mjs +0 -2
- package/esm2022/lib/breadcrumb/public_api.mjs +0 -6
- package/esm2022/lib/button/button-close.directive.mjs +0 -46
- package/esm2022/lib/button/button.directive.mjs +0 -88
- package/esm2022/lib/button/button.module.mjs +0 -25
- package/esm2022/lib/button/index.mjs +0 -2
- package/esm2022/lib/button/public_api.mjs +0 -4
- package/esm2022/lib/button-group/button-group/button-group.component.mjs +0 -41
- package/esm2022/lib/button-group/button-group.module.mjs +0 -17
- package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +0 -24
- package/esm2022/lib/button-group/index.mjs +0 -2
- package/esm2022/lib/button-group/public_api.mjs +0 -4
- package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +0 -20
- package/esm2022/lib/calendar/calendar/calendar.component.mjs +0 -380
- package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +0 -30
- package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +0 -24
- package/esm2022/lib/calendar/calendar-month/calendar-class-row.pipe.mjs +0 -24
- package/esm2022/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +0 -22
- package/esm2022/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +0 -17
- package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +0 -138
- package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +0 -19
- package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +0 -448
- package/esm2022/lib/calendar/calendar-month/calendar-row.directive.mjs +0 -123
- package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +0 -21
- package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +0 -87
- package/esm2022/lib/calendar/calendar.module.mjs +0 -57
- package/esm2022/lib/calendar/calendar.service.mjs +0 -66
- package/esm2022/lib/calendar/calendar.utils.mjs +0 -393
- package/esm2022/lib/calendar/index.mjs +0 -2
- package/esm2022/lib/calendar/public_api.mjs +0 -5
- package/esm2022/lib/callout/callout.component.mjs +0 -25
- package/esm2022/lib/callout/callout.module.mjs +0 -16
- package/esm2022/lib/callout/index.mjs +0 -2
- package/esm2022/lib/callout/public_api.mjs +0 -3
- package/esm2022/lib/card/card-body.component.mjs +0 -16
- package/esm2022/lib/card/card-footer.component.mjs +0 -16
- package/esm2022/lib/card/card-group.component.mjs +0 -16
- package/esm2022/lib/card/card-header-actions.component.mjs +0 -16
- package/esm2022/lib/card/card-header.component.mjs +0 -16
- package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +0 -11
- package/esm2022/lib/card/card-img.directive.mjs +0 -32
- package/esm2022/lib/card/card-link.directive.mjs +0 -15
- package/esm2022/lib/card/card-subtitle.directive.mjs +0 -15
- package/esm2022/lib/card/card-text.directive.mjs +0 -15
- package/esm2022/lib/card/card-title.directive.mjs +0 -15
- package/esm2022/lib/card/card.component.mjs +0 -50
- package/esm2022/lib/card/card.module.mjs +0 -75
- package/esm2022/lib/card/index.mjs +0 -2
- package/esm2022/lib/card/public_api.mjs +0 -14
- package/esm2022/lib/carousel/carousel/carousel.component.mjs +0 -212
- package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +0 -17
- package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +0 -82
- package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +0 -44
- package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +0 -47
- package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +0 -67
- package/esm2022/lib/carousel/carousel-state.mjs +0 -77
- package/esm2022/lib/carousel/carousel-state.type.mjs +0 -2
- package/esm2022/lib/carousel/carousel.animation.mjs +0 -70
- package/esm2022/lib/carousel/carousel.config.mjs +0 -22
- package/esm2022/lib/carousel/carousel.module.mjs +0 -52
- package/esm2022/lib/carousel/carousel.service.mjs +0 -18
- package/esm2022/lib/carousel/index.mjs +0 -2
- package/esm2022/lib/carousel/public_api.mjs +0 -9
- package/esm2022/lib/collapse/collapse.animations.mjs +0 -9
- package/esm2022/lib/collapse/collapse.directive.mjs +0 -145
- package/esm2022/lib/collapse/collapse.module.mjs +0 -19
- package/esm2022/lib/collapse/index.mjs +0 -2
- package/esm2022/lib/collapse/public_api.mjs +0 -3
- package/esm2022/lib/coreui.types.mjs +0 -10
- package/esm2022/lib/date-picker/date-picker.component.mjs +0 -80
- package/esm2022/lib/date-picker/date-picker.module.mjs +0 -16
- package/esm2022/lib/date-picker/index.mjs +0 -2
- package/esm2022/lib/date-picker/public_api.mjs +0 -3
- package/esm2022/lib/date-range-picker/date-range-picker/custom-range-key.pipe.mjs +0 -17
- package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +0 -599
- package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +0 -16
- package/esm2022/lib/date-range-picker/index.mjs +0 -2
- package/esm2022/lib/date-range-picker/public_api.mjs +0 -3
- package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +0 -371
- package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +0 -73
- package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +0 -15
- package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +0 -15
- package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +0 -15
- package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +0 -96
- package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +0 -119
- package/esm2022/lib/dropdown/dropdown.module.mjs +0 -56
- package/esm2022/lib/dropdown/dropdown.service.mjs +0 -18
- package/esm2022/lib/dropdown/index.mjs +0 -2
- package/esm2022/lib/dropdown/public_api.mjs +0 -10
- package/esm2022/lib/element-cover/element-cover.component.mjs +0 -79
- package/esm2022/lib/element-cover/element-cover.module.mjs +0 -16
- package/esm2022/lib/element-cover/index.mjs +0 -2
- package/esm2022/lib/element-cover/public_api.mjs +0 -3
- package/esm2022/lib/footer/footer.component.mjs +0 -39
- package/esm2022/lib/footer/footer.module.mjs +0 -16
- package/esm2022/lib/footer/index.mjs +0 -2
- package/esm2022/lib/footer/public_api.mjs +0 -3
- package/esm2022/lib/form/form/form.directive.mjs +0 -33
- package/esm2022/lib/form/form-check/form-check-input.directive.mjs +0 -78
- package/esm2022/lib/form/form-check/form-check-label.directive.mjs +0 -15
- package/esm2022/lib/form/form-check/form-check.component.mjs +0 -77
- package/esm2022/lib/form/form-control/form-control.directive.mjs +0 -66
- package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +0 -38
- package/esm2022/lib/form/form-floating/form-floating.directive.mjs +0 -32
- package/esm2022/lib/form/form-label/form-label.directive.mjs +0 -41
- package/esm2022/lib/form/form-select/form-select.directive.mjs +0 -36
- package/esm2022/lib/form/form-text/form-text.directive.mjs +0 -15
- package/esm2022/lib/form/form.module.mjs +0 -75
- package/esm2022/lib/form/index.mjs +0 -2
- package/esm2022/lib/form/input-group/input-group.component.mjs +0 -29
- package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +0 -15
- package/esm2022/lib/form/public_api.mjs +0 -14
- package/esm2022/lib/grid/col.component.mjs +0 -12
- package/esm2022/lib/grid/col.directive.mjs +0 -157
- package/esm2022/lib/grid/col.type.mjs +0 -2
- package/esm2022/lib/grid/container.component.mjs +0 -33
- package/esm2022/lib/grid/container.type.mjs +0 -2
- package/esm2022/lib/grid/grid.module.mjs +0 -45
- package/esm2022/lib/grid/gutter.directive.mjs +0 -57
- package/esm2022/lib/grid/gutter.type.mjs +0 -2
- package/esm2022/lib/grid/index.mjs +0 -2
- package/esm2022/lib/grid/public_api.mjs +0 -8
- package/esm2022/lib/grid/row.component.mjs +0 -16
- package/esm2022/lib/grid/row.directive.mjs +0 -47
- package/esm2022/lib/grid/row.type.mjs +0 -2
- package/esm2022/lib/header/header/header.component.mjs +0 -45
- package/esm2022/lib/header/header-brand/header-brand.component.mjs +0 -32
- package/esm2022/lib/header/header-divider/header-divider.component.mjs +0 -21
- package/esm2022/lib/header/header-nav/header-nav.component.mjs +0 -28
- package/esm2022/lib/header/header-text/header-text.component.mjs +0 -21
- package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +0 -55
- package/esm2022/lib/header/header.module.mjs +0 -45
- package/esm2022/lib/header/index.mjs +0 -2
- package/esm2022/lib/header/public_api.mjs +0 -8
- package/esm2022/lib/image/img.directive.mjs +0 -58
- package/esm2022/lib/image/img.module.mjs +0 -16
- package/esm2022/lib/image/index.mjs +0 -2
- package/esm2022/lib/image/public_api.mjs +0 -3
- package/esm2022/lib/list-group/index.mjs +0 -2
- package/esm2022/lib/list-group/list-group-item.directive.mjs +0 -63
- package/esm2022/lib/list-group/list-group.directive.mjs +0 -38
- package/esm2022/lib/list-group/list-group.module.mjs +0 -17
- package/esm2022/lib/list-group/public_api.mjs +0 -4
- package/esm2022/lib/loading-button/index.mjs +0 -2
- package/esm2022/lib/loading-button/loading-button.animations.mjs +0 -26
- package/esm2022/lib/loading-button/loading-button.component.mjs +0 -65
- package/esm2022/lib/loading-button/loading-button.module.mjs +0 -16
- package/esm2022/lib/loading-button/public_api.mjs +0 -3
- package/esm2022/lib/modal/index.mjs +0 -2
- package/esm2022/lib/modal/modal/modal.component.mjs +0 -334
- package/esm2022/lib/modal/modal-body/modal-body.component.mjs +0 -11
- package/esm2022/lib/modal/modal-content/modal-content.component.mjs +0 -16
- package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +0 -32
- package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +0 -28
- package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +0 -16
- package/esm2022/lib/modal/modal-header/modal-header.component.mjs +0 -16
- package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +0 -15
- package/esm2022/lib/modal/modal.module.mjs +0 -57
- package/esm2022/lib/modal/modal.service.mjs +0 -21
- package/esm2022/lib/modal/public_api.mjs +0 -11
- package/esm2022/lib/multi-select/index.mjs +0 -2
- package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +0 -65
- package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +0 -1296
- package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +0 -30
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +0 -11
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +0 -59
- package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +0 -302
- package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +0 -44
- package/esm2022/lib/multi-select/multi-select.module.mjs +0 -37
- package/esm2022/lib/multi-select/multi-select.service.mjs +0 -50
- package/esm2022/lib/multi-select/multi-select.type.mjs +0 -2
- package/esm2022/lib/multi-select/public_api.mjs +0 -6
- package/esm2022/lib/nav/index.mjs +0 -2
- package/esm2022/lib/nav/nav-item.component.mjs +0 -11
- package/esm2022/lib/nav/nav-link.directive.mjs +0 -76
- package/esm2022/lib/nav/nav.component.mjs +0 -25
- package/esm2022/lib/nav/nav.module.mjs +0 -30
- package/esm2022/lib/nav/public_api.mjs +0 -5
- package/esm2022/lib/navbar/index.mjs +0 -2
- package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +0 -18
- package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +0 -29
- package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +0 -16
- package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +0 -63
- package/esm2022/lib/navbar/navbar.component.mjs +0 -107
- package/esm2022/lib/navbar/navbar.module.mjs +0 -40
- package/esm2022/lib/navbar/public_api.mjs +0 -7
- package/esm2022/lib/offcanvas/index.mjs +0 -2
- package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +0 -309
- package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +0 -11
- package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +0 -16
- package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +0 -15
- package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +0 -28
- package/esm2022/lib/offcanvas/offcanvas.module.mjs +0 -49
- package/esm2022/lib/offcanvas/offcanvas.service.mjs +0 -21
- package/esm2022/lib/offcanvas/public_api.mjs +0 -8
- package/esm2022/lib/pagination/index.mjs +0 -2
- package/esm2022/lib/pagination/page-item/page-item.component.mjs +0 -12
- package/esm2022/lib/pagination/page-item/page-item.directive.mjs +0 -64
- package/esm2022/lib/pagination/page-link/page-link.directive.mjs +0 -15
- package/esm2022/lib/pagination/pagination/pagination.component.mjs +0 -41
- package/esm2022/lib/pagination/pagination.module.mjs +0 -35
- package/esm2022/lib/pagination/public_api.mjs +0 -6
- package/esm2022/lib/placeholder/index.mjs +0 -2
- package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +0 -34
- package/esm2022/lib/placeholder/placeholder.directive.mjs +0 -43
- package/esm2022/lib/placeholder/placeholder.module.mjs +0 -25
- package/esm2022/lib/placeholder/public_api.mjs +0 -4
- package/esm2022/lib/popover/index.mjs +0 -2
- package/esm2022/lib/popover/popover/popover.component.mjs +0 -70
- package/esm2022/lib/popover/popover.directive.mjs +0 -204
- package/esm2022/lib/popover/popover.module.mjs +0 -25
- package/esm2022/lib/popover/public_api.mjs +0 -4
- package/esm2022/lib/progress/index.mjs +0 -2
- package/esm2022/lib/progress/progress-bar.component.mjs +0 -40
- package/esm2022/lib/progress/progress-bar.directive.mjs +0 -113
- package/esm2022/lib/progress/progress-stacked.component.mjs +0 -19
- package/esm2022/lib/progress/progress.component.mjs +0 -74
- package/esm2022/lib/progress/progress.module.mjs +0 -35
- package/esm2022/lib/progress/progress.type.mjs +0 -2
- package/esm2022/lib/progress/public_api.mjs +0 -6
- package/esm2022/lib/rating/index.mjs +0 -2
- package/esm2022/lib/rating/public_api.mjs +0 -3
- package/esm2022/lib/rating/rating-item-label/rating-item-label.component.mjs +0 -40
- package/esm2022/lib/rating/rating.component.mjs +0 -355
- package/esm2022/lib/rating/rating.module.mjs +0 -16
- package/esm2022/lib/services/class-toggle.service.mjs +0 -30
- package/esm2022/lib/services/color-mode.service.mjs +0 -78
- package/esm2022/lib/services/in-memory-storage.service.mjs +0 -32
- package/esm2022/lib/services/index.mjs +0 -2
- package/esm2022/lib/services/intersection.service.mjs +0 -51
- package/esm2022/lib/services/listeners.service.mjs +0 -52
- package/esm2022/lib/services/local-storage.service.mjs +0 -45
- package/esm2022/lib/services/public_api.mjs +0 -7
- package/esm2022/lib/shared/element-ref.directive.mjs +0 -18
- package/esm2022/lib/shared/html-attr.directive.mjs +0 -56
- package/esm2022/lib/shared/index.mjs +0 -2
- package/esm2022/lib/shared/public_api.mjs +0 -6
- package/esm2022/lib/shared/shared.module.mjs +0 -24
- package/esm2022/lib/shared/template-id.directive.mjs +0 -20
- package/esm2022/lib/shared/theme.directive.mjs +0 -45
- package/esm2022/lib/sidebar/index.mjs +0 -2
- package/esm2022/lib/sidebar/public_api.mjs +0 -10
- package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +0 -241
- package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +0 -62
- package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +0 -30
- package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +0 -16
- package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +0 -16
- package/esm2022/lib/sidebar/sidebar-nav/index.mjs +0 -2
- package/esm2022/lib/sidebar/sidebar-nav/public_api.mjs +0 -14
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +0 -25
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +0 -17
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +0 -18
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +0 -21
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +0 -34
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +0 -43
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +0 -111
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +0 -23
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +0 -71
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +0 -230
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.mjs +0 -2
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +0 -54
- package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +0 -41
- package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.mjs +0 -39
- package/esm2022/lib/sidebar/sidebar.module.mjs +0 -83
- package/esm2022/lib/sidebar/sidebar.service.mjs +0 -21
- package/esm2022/lib/smart-pagination/index.mjs +0 -2
- package/esm2022/lib/smart-pagination/public_api.mjs +0 -3
- package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +0 -191
- package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +0 -16
- package/esm2022/lib/smart-pagination/smart-pagination.type.mjs +0 -2
- package/esm2022/lib/smart-table/index.mjs +0 -2
- package/esm2022/lib/smart-table/public_api.mjs +0 -5
- package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +0 -526
- package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +0 -27
- package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +0 -69
- package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +0 -42
- package/esm2022/lib/smart-table/smart-table-head/smart-table-column-label.pipe.mjs +0 -18
- package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +0 -229
- package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +0 -46
- package/esm2022/lib/smart-table/smart-table.module.mjs +0 -17
- package/esm2022/lib/smart-table/smart-table.type.mjs +0 -2
- package/esm2022/lib/smart-table/smart-table.utils.mjs +0 -181
- package/esm2022/lib/spinner/index.mjs +0 -2
- package/esm2022/lib/spinner/public_api.mjs +0 -3
- package/esm2022/lib/spinner/spinner.component.mjs +0 -52
- package/esm2022/lib/spinner/spinner.module.mjs +0 -20
- package/esm2022/lib/table/index.mjs +0 -2
- package/esm2022/lib/table/public_api.mjs +0 -5
- package/esm2022/lib/table/table-active.directive.mjs +0 -32
- package/esm2022/lib/table/table-color.directive.mjs +0 -25
- package/esm2022/lib/table/table.directive.mjs +0 -112
- package/esm2022/lib/table/table.module.mjs +0 -30
- package/esm2022/lib/table/table.type.mjs +0 -2
- package/esm2022/lib/tabs/index.mjs +0 -2
- package/esm2022/lib/tabs/public_api.mjs +0 -6
- package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +0 -83
- package/esm2022/lib/tabs/tab-content-ref.directive.mjs +0 -141
- package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +0 -60
- package/esm2022/lib/tabs/tab.service.mjs +0 -21
- package/esm2022/lib/tabs/tabs.module.mjs +0 -36
- package/esm2022/lib/tabs-2/index.mjs +0 -2
- package/esm2022/lib/tabs-2/public_api.mjs +0 -8
- package/esm2022/lib/tabs-2/tab/tab.directive.mjs +0 -96
- package/esm2022/lib/tabs-2/tab-panel/tab-panel.component.mjs +0 -113
- package/esm2022/lib/tabs-2/tabs-content/tabs-content.component.mjs +0 -19
- package/esm2022/lib/tabs-2/tabs-list/tabs-list.component.mjs +0 -93
- package/esm2022/lib/tabs-2/tabs.component.mjs +0 -37
- package/esm2022/lib/tabs-2/tabs.service.mjs +0 -15
- package/esm2022/lib/tabs-2/tabs2.module.mjs +0 -22
- package/esm2022/lib/time-picker/index.mjs +0 -2
- package/esm2022/lib/time-picker/public_api.mjs +0 -3
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +0 -110
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +0 -114
- package/esm2022/lib/time-picker/time-picker.component.mjs +0 -517
- package/esm2022/lib/time-picker/time-picker.module.mjs +0 -16
- package/esm2022/lib/time-picker/time.utils.mjs +0 -645
- package/esm2022/lib/toast/index.mjs +0 -2
- package/esm2022/lib/toast/public_api.mjs +0 -9
- package/esm2022/lib/toast/toast/toast.component.mjs +0 -204
- package/esm2022/lib/toast/toast-body/toast-body.component.mjs +0 -21
- package/esm2022/lib/toast/toast-close.directive.mjs +0 -29
- package/esm2022/lib/toast/toast-header/toast-header.component.mjs +0 -30
- package/esm2022/lib/toast/toast.module.mjs +0 -47
- package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +0 -18
- package/esm2022/lib/toast/toaster/toaster.component.mjs +0 -123
- package/esm2022/lib/toast/toaster/toaster.service.mjs +0 -22
- package/esm2022/lib/tooltip/index.mjs +0 -2
- package/esm2022/lib/tooltip/public_api.mjs +0 -4
- package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +0 -66
- package/esm2022/lib/tooltip/tooltip.directive.mjs +0 -204
- package/esm2022/lib/tooltip/tooltip.module.mjs +0 -25
- package/esm2022/lib/utilities/align.directive.mjs +0 -25
- package/esm2022/lib/utilities/bg-color.directive.mjs +0 -34
- package/esm2022/lib/utilities/border.directive.mjs +0 -67
- package/esm2022/lib/utilities/border.type.mjs +0 -2
- package/esm2022/lib/utilities/index.mjs +0 -2
- package/esm2022/lib/utilities/public_api.mjs +0 -9
- package/esm2022/lib/utilities/rounded.directive.mjs +0 -66
- package/esm2022/lib/utilities/rounded.type.mjs +0 -2
- package/esm2022/lib/utilities/shadow-on-scroll.directive.mjs +0 -48
- package/esm2022/lib/utilities/text-bg-color.directive.mjs +0 -30
- package/esm2022/lib/utilities/text-color.directive.mjs +0 -30
- package/esm2022/lib/utilities/utilities.module.mjs +0 -16
- package/esm2022/lib/widget/index.mjs +0 -2
- package/esm2022/lib/widget/public_api.mjs +0 -8
- package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +0 -55
- package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +0 -57
- package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +0 -71
- package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +0 -36
- package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +0 -36
- package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +0 -96
- package/esm2022/lib/widget/widget.module.mjs +0 -45
- package/esm2022/public-api.mjs +0 -53
package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class MultiSelectNativeSelectComponent {
|
|
4
|
-
constructor(changeDetectorRef) {
|
|
5
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
6
|
-
this.form = '';
|
|
7
|
-
this.id = '';
|
|
8
|
-
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectNativeSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: MultiSelectNativeSelectComponent, isStandalone: true, selector: "c-multi-select-native-select", inputs: { form: "form", id: "id", multiple: ["multiple", "multiple", booleanAttribute], name: "name", options: "options", disabled: ["disabled", "disabled", booleanAttribute] }, ngImport: i0, template: "<select [disabled]=\"disabled\" [id]=\"id\" [multiple]=\"multiple\" [name]=\"name\" style=\"display: none\" tabindex=\"-1\">\n @for (option of options; track option) {\n <option\n [attr.selected]=\"option.selected ? '' : null\"\n [disabled]=\"disabled\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n tabindex=\"-1\"\n ></option>\n }\n</select>\n\n", styles: [":host{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectNativeSelectComponent, decorators: [{
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ selector: 'c-multi-select-native-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<select [disabled]=\"disabled\" [id]=\"id\" [multiple]=\"multiple\" [name]=\"name\" style=\"display: none\" tabindex=\"-1\">\n @for (option of options; track option) {\n <option\n [attr.selected]=\"option.selected ? '' : null\"\n [disabled]=\"disabled\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n tabindex=\"-1\"\n ></option>\n }\n</select>\n\n", styles: [":host{display:none}\n"] }]
|
|
15
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { form: [{
|
|
16
|
-
type: Input
|
|
17
|
-
}], id: [{
|
|
18
|
-
type: Input
|
|
19
|
-
}], multiple: [{
|
|
20
|
-
type: Input,
|
|
21
|
-
args: [{ transform: booleanAttribute }]
|
|
22
|
-
}], name: [{
|
|
23
|
-
type: Input
|
|
24
|
-
}], options: [{
|
|
25
|
-
type: Input
|
|
26
|
-
}], disabled: [{
|
|
27
|
-
type: Input,
|
|
28
|
-
args: [{ transform: booleanAttribute }]
|
|
29
|
-
}] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QvbXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QvbXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMvRyxNQUFNLE9BQU8sZ0NBQWdDO0lBUzNDLFlBQ1MsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFScEMsU0FBSSxHQUFZLEVBQUUsQ0FBQztRQUNuQixPQUFFLEdBQVksRUFBRSxDQUFDO0lBUXRCLENBQUM7K0dBWE0sZ0NBQWdDO21HQUFoQyxnQ0FBZ0MscUlBSXZCLGdCQUFnQix3RUFHaEIsZ0JBQWdCLDZCQ2hCdEMsd1lBWUE7OzRGREhhLGdDQUFnQztrQkFQNUMsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSTtzRkFJUCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNrQyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUM3QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNrQyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtbXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tdWx0aS1zZWxlY3QtbmF0aXZlLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdE5hdGl2ZVNlbGVjdENvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgZm9ybT86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpZD86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbXVsdGlwbGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBuYW1lPzogc3RyaW5nO1xuICBASW5wdXQoKSBvcHRpb25zPzogYW55W107XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHsgfVxufVxuIiwiPHNlbGVjdCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbaWRdPVwiaWRcIiBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIiBbbmFtZV09XCJuYW1lXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgdGFiaW5kZXg9XCItMVwiPlxuICBAZm9yIChvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2sgb3B0aW9uKSB7XG4gICAgPG9wdGlvblxuICAgICAgW2F0dHIuc2VsZWN0ZWRdPVwib3B0aW9uLnNlbGVjdGVkID8gJycgOiBudWxsXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbbGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcbiAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgPjwvb3B0aW9uPlxuICB9XG48L3NlbGVjdD5cblxuIl19
|
package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class MultiSelectOptgroupLabelComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectOptgroupLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MultiSelectOptgroupLabelComponent, isStandalone: true, selector: "c-multi-select-optgroup-label", host: { classAttribute: "form-multi-select-optgroup-label" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6
|
-
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectOptgroupLabelComponent, decorators: [{
|
|
8
|
-
type: Component,
|
|
9
|
-
args: [{ selector: 'c-multi-select-optgroup-label', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, host: { class: 'form-multi-select-optgroup-label' }, styles: [":host{display:block}\n"] }]
|
|
10
|
-
}] });
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGdyb3VwLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC1vcHRncm91cC9tdWx0aS1zZWxlY3Qtb3B0Z3JvdXAtbGFiZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVW5FLE1BQU0sT0FBTyxpQ0FBaUM7K0dBQWpDLGlDQUFpQzttR0FBakMsaUNBQWlDLHVKQU5sQyxnQkFBZ0I7OzRGQU1mLGlDQUFpQztrQkFSN0MsU0FBUzsrQkFDRSwrQkFBK0IsWUFDL0IsZ0JBQWdCLG1CQUVULHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxRQUNWLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLW11bHRpLXNlbGVjdC1vcHRncm91cC1sYWJlbCcsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICBzdHlsZVVybHM6IFsnLi9tdWx0aS1zZWxlY3Qtb3B0Z3JvdXAtbGFiZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdmb3JtLW11bHRpLXNlbGVjdC1vcHRncm91cC1sYWJlbCcgfVxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdE9wdGdyb3VwTGFiZWxDb21wb25lbnQge31cbiJdfQ==
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChildren, DestroyRef, HostBinding, inject, Input, signal } from '@angular/core';
|
|
2
|
-
import { tap } from 'rxjs/operators';
|
|
3
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { MultiSelectOptionComponent } from '../multi-select-option/multi-select-option.component';
|
|
5
|
-
import { MultiSelectOptgroupLabelComponent } from './multi-select-optgroup-label.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../multi-select.service";
|
|
8
|
-
export class MultiSelectOptgroupComponent {
|
|
9
|
-
constructor(multiSelectService) {
|
|
10
|
-
this.multiSelectService = multiSelectService;
|
|
11
|
-
this.#destroyRef = inject(DestroyRef);
|
|
12
|
-
this.visible = signal(true);
|
|
13
|
-
this.disabled = false;
|
|
14
|
-
}
|
|
15
|
-
#destroyRef;
|
|
16
|
-
get hostClasses() {
|
|
17
|
-
return {
|
|
18
|
-
'form-multi-select-options': true,
|
|
19
|
-
'd-none': !this.visible()
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
ngAfterContentInit() {
|
|
23
|
-
this.updateMultiSelectOptions();
|
|
24
|
-
this.watchOptGroupContent();
|
|
25
|
-
}
|
|
26
|
-
ngOnChanges(changes) {
|
|
27
|
-
if (changes['disabled']) {
|
|
28
|
-
this.updateMultiSelectOptions();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
updateMultiSelectOptions() {
|
|
32
|
-
this.multiSelectOptions?.forEach((option) => {
|
|
33
|
-
option.disabled = this.disabled || option.disabled;
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
watchOptGroupContent() {
|
|
37
|
-
this.multiSelectService.optionsArray$.pipe(tap((x) => {
|
|
38
|
-
this.visible.set(this.multiSelectOptions?.some(option => option.visible));
|
|
39
|
-
}), takeUntilDestroyed(this.#destroyRef)).subscribe();
|
|
40
|
-
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectOptgroupComponent, deps: [{ token: i1.MultiSelectService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: MultiSelectOptgroupComponent, isStandalone: true, selector: "c-multi-select-optgroup", inputs: { label: "label", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "class": "this.hostClasses" } }, queries: [{ propertyName: "multiSelectOptions", predicate: MultiSelectOptionComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (label && visible()) {\n <c-multi-select-optgroup-label>{{ label }}</c-multi-select-optgroup-label>\n}\n<ng-content />\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: MultiSelectOptgroupLabelComponent, selector: "c-multi-select-optgroup-label" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectOptgroupComponent, decorators: [{
|
|
45
|
-
type: Component,
|
|
46
|
-
args: [{ selector: 'c-multi-select-optgroup', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MultiSelectOptgroupLabelComponent], template: "@if (label && visible()) {\n <c-multi-select-optgroup-label>{{ label }}</c-multi-select-optgroup-label>\n}\n<ng-content />\n", styles: [":host{display:block}\n"] }]
|
|
47
|
-
}], ctorParameters: () => [{ type: i1.MultiSelectService }], propDecorators: { label: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}], disabled: [{
|
|
50
|
-
type: Input,
|
|
51
|
-
args: [{ transform: booleanAttribute }]
|
|
52
|
-
}], multiSelectOptions: [{
|
|
53
|
-
type: ContentChildren,
|
|
54
|
-
args: [MultiSelectOptionComponent, { descendants: true }]
|
|
55
|
-
}], hostClasses: [{
|
|
56
|
-
type: HostBinding,
|
|
57
|
-
args: ['class']
|
|
58
|
-
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC1vcHRncm91cC9tdWx0aS1zZWxlY3Qtb3B0Z3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LW9wdGdyb3VwL211bHRpLXNlbGVjdC1vcHRncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7QUFVNUYsTUFBTSxPQUFPLDRCQUE0QjtJQUV2QyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUVqRCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxZQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSVEsYUFBUSxHQUFZLEtBQUssQ0FBQztJQVBMLENBQUM7SUFFckQsV0FBVyxDQUFzQjtJQVMxQyxJQUEwQixXQUFXO1FBQ25DLE9BQU87WUFDTCwyQkFBMkIsRUFBRSxJQUFJO1lBQ2pDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7U0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMxQyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxFQUNGLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDckMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDOytHQTVDVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qix3SEFTbkIsZ0JBQWdCLHVIQUVuQiwwQkFBMEIscUVDekM3QywrSEFJQSxnRkR3QlksaUNBQWlDOzs0RkFFaEMsNEJBQTRCO2tCQVJ4QyxTQUFTOytCQUNFLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxpQ0FBaUMsQ0FBQzt1RkFTbkMsS0FBSztzQkFBYixLQUFLO2dCQUVrQyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUU4QixrQkFBa0I7c0JBQXJGLGVBQWU7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUV4QyxXQUFXO3NCQUFwQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERlc3Ryb3lSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBNdWx0aVNlbGVjdFNlcnZpY2UgfSBmcm9tICcuLi9tdWx0aS1zZWxlY3Quc2VydmljZSc7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL211bHRpLXNlbGVjdC1vcHRpb24vbXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RPcHRncm91cExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aS1zZWxlY3Qtb3B0Z3JvdXAtbGFiZWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1tdWx0aS1zZWxlY3Qtb3B0Z3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LW9wdGdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LW9wdGdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTXVsdGlTZWxlY3RPcHRncm91cExhYmVsQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdE9wdGdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG11bHRpU2VsZWN0U2VydmljZTogTXVsdGlTZWxlY3RTZXJ2aWNlKSB7fVxuXG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICByZWFkb25seSB2aXNpYmxlID0gc2lnbmFsKHRydWUpO1xuXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTXVsdGlTZWxlY3RPcHRpb25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgbXVsdGlTZWxlY3RPcHRpb25zITogUXVlcnlMaXN0PE11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50PjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGhvc3RDbGFzc2VzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnZm9ybS1tdWx0aS1zZWxlY3Qtb3B0aW9ucyc6IHRydWUsXG4gICAgICAnZC1ub25lJzogIXRoaXMudmlzaWJsZSgpXG4gICAgfTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZU11bHRpU2VsZWN0T3B0aW9ucygpO1xuICAgIHRoaXMud2F0Y2hPcHRHcm91cENvbnRlbnQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGlzYWJsZWQnXSkge1xuICAgICAgdGhpcy51cGRhdGVNdWx0aVNlbGVjdE9wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU11bHRpU2VsZWN0T3B0aW9ucygpIHtcbiAgICB0aGlzLm11bHRpU2VsZWN0T3B0aW9ucz8uZm9yRWFjaCgob3B0aW9uKSA9PiB7XG4gICAgICBvcHRpb24uZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkIHx8IG9wdGlvbi5kaXNhYmxlZDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgd2F0Y2hPcHRHcm91cENvbnRlbnQoKSB7XG4gICAgdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2Uub3B0aW9uc0FycmF5JC5waXBlKFxuICAgICAgdGFwKCh4KSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZS5zZXQodGhpcy5tdWx0aVNlbGVjdE9wdGlvbnM/LnNvbWUob3B0aW9uID0+IG9wdGlvbi52aXNpYmxlKSk7XG4gICAgICB9KSxcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICkuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIkBpZiAobGFiZWwgJiYgdmlzaWJsZSgpKSB7XG4gIDxjLW11bHRpLXNlbGVjdC1vcHRncm91cC1sYWJlbD57eyBsYWJlbCB9fTwvYy1tdWx0aS1zZWxlY3Qtb3B0Z3JvdXAtbGFiZWw+XG59XG48bmctY29udGVudCAvPlxuIl19
|
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, computed, DestroyRef, EventEmitter, HostBinding, HostListener, inject, Input, NgZone, Output, signal, ViewChild } from '@angular/core';
|
|
2
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { distinctUntilChanged, filter, tap } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/cdk/a11y";
|
|
6
|
-
import * as i2 from "../multi-select.service";
|
|
7
|
-
export class MultiSelectOptionComponent {
|
|
8
|
-
#destroyRef;
|
|
9
|
-
#ngZone;
|
|
10
|
-
constructor(elementRef, changeDetectorRef, focusMonitor, multiSelectService) {
|
|
11
|
-
this.elementRef = elementRef;
|
|
12
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
13
|
-
this.focusMonitor = focusMonitor;
|
|
14
|
-
this.multiSelectService = multiSelectService;
|
|
15
|
-
this.#destroyRef = inject(DestroyRef);
|
|
16
|
-
this.#ngZone = inject(NgZone);
|
|
17
|
-
/**
|
|
18
|
-
* Option style
|
|
19
|
-
* @type ('checkbox' | 'text')
|
|
20
|
-
* @default 'checkbox'
|
|
21
|
-
*/
|
|
22
|
-
this.optionsStyle = this.multiSelectService?.optionsStyle ?? 'checkbox';
|
|
23
|
-
this.#visible = signal(true);
|
|
24
|
-
/**
|
|
25
|
-
* Option disabled.
|
|
26
|
-
* @type boolean
|
|
27
|
-
* @default false
|
|
28
|
-
*/
|
|
29
|
-
this.disabled = false;
|
|
30
|
-
this.#selected = signal(undefined);
|
|
31
|
-
/**
|
|
32
|
-
* Emits option selected change
|
|
33
|
-
* @type boolean
|
|
34
|
-
*/
|
|
35
|
-
this.selectedChange = new EventEmitter();
|
|
36
|
-
this.#value = signal(undefined);
|
|
37
|
-
this.hasContent = signal(true);
|
|
38
|
-
this.#dropdownVisible = signal(false);
|
|
39
|
-
this.#active = signal(false);
|
|
40
|
-
this.#focused = false;
|
|
41
|
-
this.focusChange = new EventEmitter();
|
|
42
|
-
this.#tabIndex = computed(() => {
|
|
43
|
-
return (this.#active() && this.#visible() ? 0 : -1);
|
|
44
|
-
});
|
|
45
|
-
this.#ariaSelected = computed(() => {
|
|
46
|
-
const value = this.#value();
|
|
47
|
-
const selected = this.#selected();
|
|
48
|
-
if ((value !== undefined) && (selected !== undefined)) {
|
|
49
|
-
selected ? this.multiSelectService.selectionModel?.select(value) : this.multiSelectService.selectionModel?.deselect(value);
|
|
50
|
-
this.selectedChange.emit(selected);
|
|
51
|
-
this.changeDetectorRef.markForCheck();
|
|
52
|
-
}
|
|
53
|
-
return selected;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Option visible.
|
|
58
|
-
* @type boolean
|
|
59
|
-
* @default true
|
|
60
|
-
*/
|
|
61
|
-
set visible(value) {
|
|
62
|
-
this.#visible.set(value);
|
|
63
|
-
}
|
|
64
|
-
get visible() {
|
|
65
|
-
return this.#visible();
|
|
66
|
-
}
|
|
67
|
-
#visible;
|
|
68
|
-
/**
|
|
69
|
-
* Option selected.
|
|
70
|
-
* @type boolean
|
|
71
|
-
* @default false
|
|
72
|
-
*/
|
|
73
|
-
set selected(value) {
|
|
74
|
-
if (value !== undefined) {
|
|
75
|
-
const selected = booleanAttribute(value);
|
|
76
|
-
if (this.#selected() !== selected) {
|
|
77
|
-
this.#selected.set(selected);
|
|
78
|
-
if (this.value !== undefined) {
|
|
79
|
-
selected ? this.multiSelectService.selectionModel?.select(this.value) : this.multiSelectService.selectionModel?.deselect(this.value);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
get selected() {
|
|
85
|
-
return this.#selected();
|
|
86
|
-
}
|
|
87
|
-
#selected;
|
|
88
|
-
/**
|
|
89
|
-
* Option value.
|
|
90
|
-
* @type string | number
|
|
91
|
-
* @default undefined
|
|
92
|
-
*/
|
|
93
|
-
set value(value) {
|
|
94
|
-
if (this.#value() !== value) {
|
|
95
|
-
this.#value.set(value);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
get value() {
|
|
99
|
-
return this.#value();
|
|
100
|
-
}
|
|
101
|
-
#value;
|
|
102
|
-
#dropdownVisible;
|
|
103
|
-
set active(value) {
|
|
104
|
-
const active = value && this.#visible() && !this.disabled;
|
|
105
|
-
if (this.#active() !== active) {
|
|
106
|
-
this.#active.set(active);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
get active() {
|
|
110
|
-
return this.#active() && this.#visible();
|
|
111
|
-
}
|
|
112
|
-
#active;
|
|
113
|
-
#focused;
|
|
114
|
-
get role() {
|
|
115
|
-
return 'option';
|
|
116
|
-
}
|
|
117
|
-
get hostClasses() {
|
|
118
|
-
return {
|
|
119
|
-
'form-multi-select-option': true,
|
|
120
|
-
'form-multi-selected': this.#selected(),
|
|
121
|
-
[`form-multi-select-option-with-${this.optionsStyle}`]: !!this.optionsStyle,
|
|
122
|
-
disabled: this.disabled,
|
|
123
|
-
'd-none': !this.#visible(),
|
|
124
|
-
active: this.#active(),
|
|
125
|
-
focused: this.#focused
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
get tabIndex() {
|
|
129
|
-
return (this.disabled || !this.#visible()) ? -1 : this.#tabIndex();
|
|
130
|
-
}
|
|
131
|
-
#tabIndex;
|
|
132
|
-
get ariaDisabled() {
|
|
133
|
-
return this.disabled || null;
|
|
134
|
-
}
|
|
135
|
-
get ariaSelected() {
|
|
136
|
-
return this.#ariaSelected() ?? false;
|
|
137
|
-
}
|
|
138
|
-
#ariaSelected;
|
|
139
|
-
onKeyDown($event) {
|
|
140
|
-
if (['Space'].includes($event.code)) {
|
|
141
|
-
$event.preventDefault();
|
|
142
|
-
}
|
|
143
|
-
if (['Tab'].includes($event.code)) {
|
|
144
|
-
$event.preventDefault();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
onBlur() {
|
|
148
|
-
this.#focused = false;
|
|
149
|
-
}
|
|
150
|
-
onFocus() {
|
|
151
|
-
this.#focused = true;
|
|
152
|
-
}
|
|
153
|
-
onKeyUp($event) {
|
|
154
|
-
if (this.#dropdownVisible()) {
|
|
155
|
-
if (['Enter', 'Space'].includes($event.code)) {
|
|
156
|
-
$event.stopImmediatePropagation();
|
|
157
|
-
$event.preventDefault();
|
|
158
|
-
this.selected = this.disabled ? this.#selected() : !this.#selected();
|
|
159
|
-
this.focus('keyboard');
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
onClick($event) {
|
|
164
|
-
$event.stopPropagation();
|
|
165
|
-
this.selected = this.disabled ? this.#selected() : !this.#selected();
|
|
166
|
-
this.focus('mouse');
|
|
167
|
-
}
|
|
168
|
-
ngAfterViewInit() {
|
|
169
|
-
this.setSubscriptions();
|
|
170
|
-
const hasContent = !!this.contentDiv?.nativeElement.childNodes.length;
|
|
171
|
-
if (!hasContent) {
|
|
172
|
-
this.#ngZone.runOutsideAngular(() => {
|
|
173
|
-
setTimeout(() => {
|
|
174
|
-
this.hasContent.set(hasContent);
|
|
175
|
-
// this.#ngZone.run(() => {
|
|
176
|
-
// this.changeDetectorRef.markForCheck();
|
|
177
|
-
// });
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
if (this.text === undefined) {
|
|
182
|
-
const innerText = this.elementRef.nativeElement.textContent.trim() || this.elementRef.nativeElement.innerText.trim();
|
|
183
|
-
this.text = innerText || this.value?.toString().trim();
|
|
184
|
-
}
|
|
185
|
-
if (this.label === undefined) {
|
|
186
|
-
this.label = this.text?.trim();
|
|
187
|
-
}
|
|
188
|
-
if (this.value === undefined) {
|
|
189
|
-
this.value = this.label?.trim() || '...';
|
|
190
|
-
}
|
|
191
|
-
if (!this.changeDetectorRef.destroyed) {
|
|
192
|
-
// setTimeout(() => {
|
|
193
|
-
this.selected = this.isSelected(this.value);
|
|
194
|
-
this.changeDetectorRef.markForCheck();
|
|
195
|
-
// });
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
/** Get the label for this element which is required by the FocusableOption interface. */
|
|
199
|
-
getLabel() {
|
|
200
|
-
return (this.label ?? this.value);
|
|
201
|
-
}
|
|
202
|
-
focus(origin = 'program') {
|
|
203
|
-
if (this.#dropdownVisible() && !this.disabled) {
|
|
204
|
-
this.focusMonitor.focusVia(this.elementRef.nativeElement, origin, { preventScroll: false });
|
|
205
|
-
this.multiSelectService.focusChange(this);
|
|
206
|
-
this.changeDetectorRef.markForCheck();
|
|
207
|
-
this.focusChange.emit(this);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
setSubscriptions() {
|
|
211
|
-
this.multiSelectService.multiSelectVisible$
|
|
212
|
-
.pipe(tap(visible => {
|
|
213
|
-
this.#dropdownVisible.set(visible);
|
|
214
|
-
}), takeUntilDestroyed(this.#destroyRef))
|
|
215
|
-
.subscribe();
|
|
216
|
-
this.multiSelectService.multiSelectFocus$
|
|
217
|
-
.pipe(distinctUntilChanged(), filter(option => this.active !== (this.value === option.value)), tap(option => {
|
|
218
|
-
this.active = this.value === option.value;
|
|
219
|
-
this.changeDetectorRef.markForCheck();
|
|
220
|
-
}), takeUntilDestroyed(this.#destroyRef))
|
|
221
|
-
.subscribe();
|
|
222
|
-
if (!this.changeDetectorRef.destroyed) {
|
|
223
|
-
this.multiSelectService.selectionModel.changed
|
|
224
|
-
.pipe(filter(change => change.added.includes(this.value) || change.removed.includes(this.value)), tap(change => {
|
|
225
|
-
this.selected = change.added.includes(this.value);
|
|
226
|
-
this.changeDetectorRef.markForCheck();
|
|
227
|
-
}), takeUntilDestroyed(this.#destroyRef))
|
|
228
|
-
.subscribe();
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
isSelected(value = this.value) {
|
|
232
|
-
return (this.#selected() || this.multiSelectService.selectionModel?.isSelected(value)) ?? false;
|
|
233
|
-
}
|
|
234
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectOptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.MultiSelectService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
235
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: MultiSelectOptionComponent, isStandalone: true, selector: "c-multi-select-option", inputs: { optionsStyle: "optionsStyle", label: "label", text: "text", visible: ["visible", "visible", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], selected: "selected", value: "value", active: ["active", "active", booleanAttribute], role: "role" }, outputs: { selectedChange: "selectedChange", focusChange: "focusChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "blur": "onBlur()", "focus": "onFocus()", "keyup": "onKeyUp($event)", "click": "onClick($event)" }, properties: { "role": "this.role", "class": "this.hostClasses", "attr.tabindex": "this.tabIndex", "attr.disabled": "this.ariaDisabled", "attr.aria-disabled": "this.ariaDisabled", "attr.aria-selected": "this.ariaSelected" } }, viewQueries: [{ propertyName: "contentDiv", first: true, predicate: ["contentDiv"], descendants: true }], exportAs: ["cMultiSelectOption"], ngImport: i0, template: "<div #contentDiv>\n <ng-content />\n</div>\n@if (!hasContent()) {\n <div>\n {{ text ?? label ?? value?.toString() }}\n </div>\n}\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}:host.active{border-radius:var(--cui-form-multi-select-option-indicator-border-radius, .375rem);box-shadow:0 0 .125rem 0 var(--cui-gray-400)}:host.focused,:host :focus-visible{box-shadow:0 0 0 .125rem #321fdb40;outline:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
236
|
-
}
|
|
237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectOptionComponent, decorators: [{
|
|
238
|
-
type: Component,
|
|
239
|
-
args: [{ selector: 'c-multi-select-option', exportAs: 'cMultiSelectOption', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div #contentDiv>\n <ng-content />\n</div>\n@if (!hasContent()) {\n <div>\n {{ text ?? label ?? value?.toString() }}\n </div>\n}\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}:host.active{border-radius:var(--cui-form-multi-select-option-indicator-border-radius, .375rem);box-shadow:0 0 .125rem 0 var(--cui-gray-400)}:host.focused,:host :focus-visible{box-shadow:0 0 0 .125rem #321fdb40;outline:none}\n"] }]
|
|
240
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.MultiSelectService }], propDecorators: { optionsStyle: [{
|
|
241
|
-
type: Input
|
|
242
|
-
}], label: [{
|
|
243
|
-
type: Input
|
|
244
|
-
}], text: [{
|
|
245
|
-
type: Input
|
|
246
|
-
}], visible: [{
|
|
247
|
-
type: Input,
|
|
248
|
-
args: [{ transform: booleanAttribute }]
|
|
249
|
-
}], disabled: [{
|
|
250
|
-
type: Input,
|
|
251
|
-
args: [{ transform: booleanAttribute }]
|
|
252
|
-
}], selected: [{
|
|
253
|
-
type: Input
|
|
254
|
-
}], selectedChange: [{
|
|
255
|
-
type: Output
|
|
256
|
-
}], value: [{
|
|
257
|
-
type: Input
|
|
258
|
-
}], contentDiv: [{
|
|
259
|
-
type: ViewChild,
|
|
260
|
-
args: ['contentDiv']
|
|
261
|
-
}], active: [{
|
|
262
|
-
type: Input,
|
|
263
|
-
args: [{ transform: booleanAttribute }]
|
|
264
|
-
}], focusChange: [{
|
|
265
|
-
type: Output
|
|
266
|
-
}], role: [{
|
|
267
|
-
type: Input
|
|
268
|
-
}, {
|
|
269
|
-
type: HostBinding,
|
|
270
|
-
args: ['role']
|
|
271
|
-
}], hostClasses: [{
|
|
272
|
-
type: HostBinding,
|
|
273
|
-
args: ['class']
|
|
274
|
-
}], tabIndex: [{
|
|
275
|
-
type: HostBinding,
|
|
276
|
-
args: ['attr.tabindex']
|
|
277
|
-
}], ariaDisabled: [{
|
|
278
|
-
type: HostBinding,
|
|
279
|
-
args: ['attr.disabled']
|
|
280
|
-
}, {
|
|
281
|
-
type: HostBinding,
|
|
282
|
-
args: ['attr.aria-disabled']
|
|
283
|
-
}], ariaSelected: [{
|
|
284
|
-
type: HostBinding,
|
|
285
|
-
args: ['attr.aria-selected']
|
|
286
|
-
}], onKeyDown: [{
|
|
287
|
-
type: HostListener,
|
|
288
|
-
args: ['keydown', ['$event']]
|
|
289
|
-
}], onBlur: [{
|
|
290
|
-
type: HostListener,
|
|
291
|
-
args: ['blur']
|
|
292
|
-
}], onFocus: [{
|
|
293
|
-
type: HostListener,
|
|
294
|
-
args: ['focus']
|
|
295
|
-
}], onKeyUp: [{
|
|
296
|
-
type: HostListener,
|
|
297
|
-
args: ['keyup', ['$event']]
|
|
298
|
-
}], onClick: [{
|
|
299
|
-
type: HostListener,
|
|
300
|
-
args: ['click', ['$event']]
|
|
301
|
-
}] } });
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3Qtb3B0aW9uL211bHRpLXNlbGVjdC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LW9wdGlvbi9tdWx0aS1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUVWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFZbkUsTUFBTSxPQUFPLDBCQUEwQjtJQUU1QixXQUFXLENBQXNCO0lBQ2pDLE9BQU8sQ0FBa0I7SUFFbEMsWUFDa0IsVUFBc0IsRUFDckIsaUJBQW9DLEVBQ3BDLFlBQTBCLEVBQzFCLGtCQUFzQztRQUh2QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3JCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVBoRCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMs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dCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdSZWYsXG4gIFdyaXRhYmxlU2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9jdXNhYmxlT3B0aW9uLCBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNdWx0aVNlbGVjdFNlcnZpY2UgfSBmcm9tICcuLi9tdWx0aS1zZWxlY3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtbXVsdGktc2VsZWN0LW9wdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aS1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBleHBvcnRBczogJ2NNdWx0aVNlbGVjdE9wdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRm9jdXNhYmxlT3B0aW9uIHtcblxuICByZWFkb25seSAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcmVhZG9ubHkgI25nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtdWx0aVNlbGVjdFNlcnZpY2U6IE11bHRpU2VsZWN0U2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBzdHlsZVxuICAgKiBAdHlwZSAoJ2NoZWNrYm94JyB8ICd0ZXh0JylcbiAgICogQGRlZmF1bHQgJ2NoZWNrYm94J1xuICAgKi9cbiAgQElucHV0KCkgb3B0aW9uc1N0eWxlOiAoJ2NoZWNrYm94JyB8ICd0ZXh0JykgPSB0aGlzLm11bHRpU2VsZWN0U2VydmljZT8ub3B0aW9uc1N0eWxlID8/ICdjaGVja2JveCc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbiBsYWJlbFxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uIGlubmVyIHRleHRcbiAgICogQHR5cGUgc3RyaW5nXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KCkgdGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uIHZpc2libGUuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jdmlzaWJsZS5zZXQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IHZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3Zpc2libGUoKTtcbiAgfVxuXG4gICN2aXNpYmxlID0gc2lnbmFsKHRydWUpO1xuXG4gIC8qKlxuICAgKiBPcHRpb24gZGlzYWJsZWQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBPcHRpb24gc2VsZWN0ZWQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzZWxlY3RlZCh2YWx1ZTogKGJvb2xlYW4gfCB1bmRlZmluZWQpKSB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSk7XG4gICAgICBpZiAodGhpcy4jc2VsZWN0ZWQoKSAhPT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy4jc2VsZWN0ZWQuc2V0KHNlbGVjdGVkKTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHNlbGVjdGVkID8gdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2Uuc2VsZWN0aW9uTW9kZWw/LnNlbGVjdCh0aGlzLnZhbHVlKSA6IHRoaXMubXVsdGlTZWxlY3RTZXJ2aWNlLnNlbGVjdGlvbk1vZGVsPy5kZXNlbGVjdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBzZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy4jc2VsZWN0ZWQoKTtcbiAgfVxuXG4gICNzZWxlY3RlZCA9IHNpZ25hbDxib29sZWFuIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBvcHRpb24gc2VsZWN0ZWQgY2hhbmdlXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogT3B0aW9uIHZhbHVlLlxuICAgKiBAdHlwZSBzdHJpbmcgfCBudW1iZXJcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgIGlmICh0aGlzLiN2YWx1ZSgpICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy4jdmFsdWUuc2V0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3ZhbHVlKCk7XG4gIH1cblxuICAjdmFsdWU6IFdyaXRhYmxlU2lnbmFsPGFueT4gPSBzaWduYWwodW5kZWZpbmVkKTtcblxuICBAVmlld0NoaWxkKCdjb250ZW50RGl2JykgcHJpdmF0ZSBjb250ZW50RGl2PzogRWxlbWVudFJlZjtcbiAgcHVibGljIGhhc0NvbnRlbnQgPSBzaWduYWwodHJ1ZSk7XG5cbiAgI2Ryb3Bkb3duVmlzaWJsZSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHNldCBhY3RpdmUodmFsdWU6IChib29sZWFuKSkge1xuICAgIGNvbnN0IGFjdGl2ZSA9IHZhbHVlICYmIHRoaXMuI3Zpc2libGUoKSAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgICBpZiAodGhpcy4jYWN0aXZlKCkgIT09IGFjdGl2ZSkge1xuICAgICAgdGhpcy4jYWN0aXZlLnNldChhY3RpdmUpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBhY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2FjdGl2ZSgpICYmIHRoaXMuI3Zpc2libGUoKTtcbiAgfVxuXG4gICNhY3RpdmUgPSBzaWduYWwoZmFsc2UpO1xuXG4gICNmb2N1c2VkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGZvY3VzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aVNlbGVjdE9wdGlvbkNvbXBvbmVudD4oKTtcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ3JvbGUnKVxuICBwcml2YXRlIGdldCByb2xlKCkge1xuICAgIHJldHVybiAnb3B0aW9uJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdmb3JtLW11bHRpLXNlbGVjdC1vcHRpb24nOiB0cnVlLFxuICAgICAgJ2Zvcm0tbXVsdGktc2VsZWN0ZWQnOiB0aGlzLiNzZWxlY3RlZCgpLFxuICAgICAgW2Bmb3JtLW11bHRpLXNlbGVjdC1vcHRpb24td2l0aC0ke3RoaXMub3B0aW9uc1N0eWxlfWBdOiAhIXRoaXMub3B0aW9uc1N0eWxlLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAnZC1ub25lJzogIXRoaXMuI3Zpc2libGUoKSxcbiAgICAgIGFjdGl2ZTogdGhpcy4jYWN0aXZlKCksXG4gICAgICBmb2N1c2VkOiB0aGlzLiNmb2N1c2VkXG4gICAgfTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIHByaXZhdGUgZ2V0IHRhYkluZGV4KCkge1xuICAgIHJldHVybiAodGhpcy5kaXNhYmxlZCB8fCAhdGhpcy4jdmlzaWJsZSgpKSA/IC0xIDogdGhpcy4jdGFiSW5kZXgoKTtcbiAgfVxuXG4gICN0YWJJbmRleCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gKHRoaXMuI2FjdGl2ZSgpICYmIHRoaXMuI3Zpc2libGUoKSA/IDAgOiAtMSk7XG4gIH0pO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kaXNhYmxlZCcpXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRpc2FibGVkJylcbiAgcHJpdmF0ZSBnZXQgYXJpYURpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IG51bGw7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1zZWxlY3RlZCcpXG4gIHByaXZhdGUgZ2V0IGFyaWFTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy4jYXJpYVNlbGVjdGVkKCkgPz8gZmFsc2U7XG4gIH1cblxuICAjYXJpYVNlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy4jdmFsdWUoKTtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuI3NlbGVjdGVkKCk7XG4gICAgaWYgKCh2YWx1ZSAhPT0gdW5kZWZpbmVkKSAmJiAoc2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgIHNlbGVjdGVkID8gdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2Uuc2VsZWN0aW9uTW9kZWw/LnNlbGVjdCh2YWx1ZSkgOiB0aGlzLm11bHRpU2VsZWN0U2VydmljZS5zZWxlY3Rpb25Nb2RlbD8uZGVzZWxlY3QodmFsdWUpO1xuICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3RlZDtcbiAgfSk7XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5RG93bigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoWydTcGFjZSddLmluY2x1ZGVzKCRldmVudC5jb2RlKSkge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICAgIGlmIChbJ1RhYiddLmluY2x1ZGVzKCRldmVudC5jb2RlKSkge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gIHByaXZhdGUgb25CbHVyKCkge1xuICAgIHRoaXMuI2ZvY3VzZWQgPSBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgcHJpdmF0ZSBvbkZvY3VzKCkge1xuICAgIHRoaXMuI2ZvY3VzZWQgPSB0cnVlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICBwcml2YXRlIG9uS2V5VXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2Ryb3Bkb3duVmlzaWJsZSgpKSB7XG4gICAgICBpZiAoWydFbnRlcicsICdTcGFjZSddLmluY2x1ZGVzKCRldmVudC5jb2RlKSkge1xuICAgICAgICAkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5kaXNhYmxlZCA/IHRoaXMuI3NlbGVjdGVkKCkgOiAhdGhpcy4jc2VsZWN0ZWQoKTtcbiAgICAgICAgdGhpcy5mb2N1cygna2V5Ym9hcmQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25DbGljaygkZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuZGlzYWJsZWQgPyB0aGlzLiNzZWxlY3RlZCgpIDogIXRoaXMuI3NlbGVjdGVkKCk7XG4gICAgdGhpcy5mb2N1cygnbW91c2UnKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblxuICAgIHRoaXMuc2V0U3Vic2NyaXB0aW9ucygpO1xuXG4gICAgY29uc3QgaGFzQ29udGVudCA9ICEhdGhpcy5jb250ZW50RGl2Py5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoO1xuICAgIGlmICghaGFzQ29udGVudCkge1xuICAgICAgdGhpcy4jbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYXNDb250ZW50LnNldChoYXNDb250ZW50KTtcbiAgICAgICAgICAvLyB0aGlzLiNuZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAvLyAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgLy8gfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBpbm5lclRleHQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudC50cmltKCkgfHwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0LnRyaW0oKTtcbiAgICAgIHRoaXMudGV4dCA9IGlubmVyVGV4dCB8fCB0aGlzLnZhbHVlPy50b1N0cmluZygpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sYWJlbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmxhYmVsID0gdGhpcy50ZXh0Py50cmltKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubGFiZWw/LnRyaW0oKSB8fCAnLi4uJztcbiAgICB9XG5cbiAgICBpZiAoISh0aGlzLmNoYW5nZURldGVjdG9yUmVmIGFzIFZpZXdSZWYpLmRlc3Ryb3llZCkge1xuICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5pc1NlbGVjdGVkKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIC8vIH0pO1xuICAgIH1cblxuICB9XG5cbiAgLyoqIEdldCB0aGUgbGFiZWwgZm9yIHRoaXMgZWxlbWVudCB3aGljaCBpcyByZXF1aXJlZCBieSB0aGUgRm9jdXNhYmxlT3B0aW9uIGludGVyZmFjZS4gKi9cbiAgZ2V0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gPHN0cmluZz4odGhpcy5sYWJlbCA/PyB0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGZvY3VzKG9yaWdpbjogRm9jdXNPcmlnaW4gPSAncHJvZ3JhbScpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jZHJvcGRvd25WaXNpYmxlKCkgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBvcmlnaW4sIHsgcHJldmVudFNjcm9sbDogZmFsc2UgfSk7XG4gICAgICB0aGlzLm11bHRpU2VsZWN0U2VydmljZS5mb2N1c0NoYW5nZSh0aGlzKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLmZvY3VzQ2hhbmdlLmVtaXQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdWJzY3JpcHRpb25zKCkge1xuXG4gICAgdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2UubXVsdGlTZWxlY3RWaXNpYmxlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCh2aXNpYmxlID0+IHtcbiAgICAgICAgICAgIHRoaXMuI2Ryb3Bkb3duVmlzaWJsZS5zZXQodmlzaWJsZSk7XG4gICAgICAgICAgfVxuICAgICAgICApLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMubXVsdGlTZWxlY3RTZXJ2aWNlLm11bHRpU2VsZWN0Rm9jdXMkXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgZmlsdGVyKG9wdGlvbiA9PiB0aGlzLmFjdGl2ZSAhPT0gKHRoaXMudmFsdWUgPT09IG9wdGlvbi52YWx1ZSkpLFxuICAgICAgICB0YXAob3B0aW9uID0+IHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHRoaXMudmFsdWUgPT09IG9wdGlvbi52YWx1ZTtcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAoISh0aGlzLmNoYW5nZURldGVjdG9yUmVmIGFzIFZpZXdSZWYpLmRlc3Ryb3llZCkge1xuICAgICAgdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2Uuc2VsZWN0aW9uTW9kZWwuY2hhbmdlZFxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoY2hhbmdlID0+IGNoYW5nZS5hZGRlZC5pbmNsdWRlcyh0aGlzLnZhbHVlKSB8fCBjaGFuZ2UucmVtb3ZlZC5pbmNsdWRlcyh0aGlzLnZhbHVlKSksXG4gICAgICAgICAgdGFwKGNoYW5nZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gY2hhbmdlLmFkZGVkLmluY2x1ZGVzKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgaXNTZWxlY3RlZCh2YWx1ZSA9IHRoaXMudmFsdWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuI3NlbGVjdGVkKCkgfHwgdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2Uuc2VsZWN0aW9uTW9kZWw/LmlzU2VsZWN0ZWQodmFsdWUpKSA/PyBmYWxzZTtcbiAgfVxufVxuIiwiPGRpdiAjY29udGVudERpdj5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvZGl2PlxuQGlmICghaGFzQ29udGVudCgpKSB7XG4gIDxkaXY+XG4gICAge3sgdGV4dCA/PyBsYWJlbCA/PyB2YWx1ZT8udG9TdHJpbmcoKSB9fVxuICA8L2Rpdj5cbn1cbiJdfQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, inject, Input, Output } from '@angular/core';
|
|
2
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { MultiSelectService } from '../multi-select.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class MultiSelectTagComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.#multiSelectService = inject(MultiSelectService);
|
|
8
|
-
this.multiselectVisible = toSignal(this.#multiSelectService.multiSelectVisible$);
|
|
9
|
-
this.disabled = true;
|
|
10
|
-
this.remove = new EventEmitter();
|
|
11
|
-
}
|
|
12
|
-
#multiSelectService;
|
|
13
|
-
get hostClasses() {
|
|
14
|
-
return {
|
|
15
|
-
'form-multi-select-tag': true
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
handleRemove($event) {
|
|
19
|
-
$event.stopPropagation();
|
|
20
|
-
if (this.value) {
|
|
21
|
-
this.remove.emit(this.value);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: MultiSelectTagComponent, isStandalone: true, selector: "c-multi-select-tag", inputs: { option: "option", disabled: "disabled", label: "label", value: "value" }, outputs: { remove: "remove" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<span class=\"text-truncate\">{{ label ?? value?.toString() ?? '???' }}</span>\n@if (!disabled) {\n <button (click)=\"handleRemove($event)\"\n [disabled]=\"((multiselectVisible()) ?? true) === false\"\n aria-label=\"Clear\"\n class=\"form-multi-select-tag-delete\"\n type=\"button\">\n </button>\n}\n", styles: [":host .btn-xs{padding-left:.125rem;padding-right:.125rem;font-size:.575rem;border-radius:.2rem}:host.form-multi-select-tag{-webkit-user-select:none;user-select:none;pointer-events:all;align-items:center;display:flex}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectTagComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ selector: 'c-multi-select-tag', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"text-truncate\">{{ label ?? value?.toString() ?? '???' }}</span>\n@if (!disabled) {\n <button (click)=\"handleRemove($event)\"\n [disabled]=\"((multiselectVisible()) ?? true) === false\"\n aria-label=\"Clear\"\n class=\"form-multi-select-tag-delete\"\n type=\"button\">\n </button>\n}\n", styles: [":host .btn-xs{padding-left:.125rem;padding-right:.125rem;font-size:.575rem;border-radius:.2rem}:host.form-multi-select-tag{-webkit-user-select:none;user-select:none;pointer-events:all;align-items:center;display:flex}\n"] }]
|
|
30
|
-
}], propDecorators: { option: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], disabled: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}], label: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], value: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], remove: [{
|
|
39
|
-
type: Output
|
|
40
|
-
}], hostClasses: [{
|
|
41
|
-
type: HostBinding,
|
|
42
|
-
args: ['class']
|
|
43
|
-
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LXRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QtdGFnL211bHRpLXNlbGVjdC10YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LXRhZy9tdWx0aS1zZWxlY3QtdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBVTdELE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFTRSx3QkFBbUIsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVqRCx1QkFBa0IsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFJbkUsYUFBUSxHQUFZLElBQUksQ0FBQztRQUl4QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQWdCaEQ7SUExQkMsbUJBQW1CLENBQThCO0lBWWpELElBQ0ksV0FBVztRQUNiLE9BQU87WUFDTCx1QkFBdUIsRUFBRSxJQUFJO1NBQzlCLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWtCO1FBQzdCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQzsrR0ExQlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsd1BDYnBDLG9WQVNBOzs0RkRJYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0Usb0JBQW9CLGNBR2xCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTTs4QkFRdEMsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBR0gsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBNdWx0aVNlbGVjdFNlcnZpY2UgfSBmcm9tICcuLi9tdWx0aS1zZWxlY3Quc2VydmljZSc7XG5pbXBvcnQgeyBJT3B0aW9uIH0gZnJvbSAnLi4vbXVsdGktc2VsZWN0LnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLW11bHRpLXNlbGVjdC10YWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LXRhZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL211bHRpLXNlbGVjdC10YWcuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3RUYWdDb21wb25lbnQge1xuXG4gICNtdWx0aVNlbGVjdFNlcnZpY2UgPSBpbmplY3QoTXVsdGlTZWxlY3RTZXJ2aWNlKTtcblxuICBtdWx0aXNlbGVjdFZpc2libGUgPSB0b1NpZ25hbCh0aGlzLiNtdWx0aVNlbGVjdFNlcnZpY2UubXVsdGlTZWxlY3RWaXNpYmxlJCk7XG5cbiAgQElucHV0KCkgb3B0aW9uPzogSU9wdGlvbjtcblxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSB2YWx1ZT86IGFueTtcblxuICBAT3V0cHV0KCkgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxJT3B0aW9uPigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdmb3JtLW11bHRpLXNlbGVjdC10YWcnOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIGhhbmRsZVJlbW92ZSgkZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMucmVtb3ZlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxzcGFuIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPnt7IGxhYmVsID8/IHZhbHVlPy50b1N0cmluZygpID8/ICc/Pz8nIH19PC9zcGFuPlxuQGlmICghZGlzYWJsZWQpIHtcbiAgPGJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlUmVtb3ZlKCRldmVudClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIoKG11bHRpc2VsZWN0VmlzaWJsZSgpKSA/PyB0cnVlKSA9PT0gZmFsc2VcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXG4gICAgICAgICAgY2xhc3M9XCJmb3JtLW11bHRpLXNlbGVjdC10YWctZGVsZXRlXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gIDwvYnV0dG9uPlxufVxuIl19
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { MultiSelectService } from './multi-select.service';
|
|
3
|
-
import { MultiSelectComponent } from './multi-select/multi-select.component';
|
|
4
|
-
import { MultiSelectOptionComponent } from './multi-select-option/multi-select-option.component';
|
|
5
|
-
import { MultiSelectOptgroupComponent } from './multi-select-optgroup/multi-select-optgroup.component';
|
|
6
|
-
import { MultiSelectOptgroupLabelComponent } from './multi-select-optgroup/multi-select-optgroup-label.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class MultiSelectModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectModule, imports: [MultiSelectComponent,
|
|
11
|
-
MultiSelectOptionComponent,
|
|
12
|
-
MultiSelectOptgroupComponent,
|
|
13
|
-
MultiSelectOptgroupLabelComponent], exports: [MultiSelectComponent,
|
|
14
|
-
MultiSelectOptionComponent,
|
|
15
|
-
MultiSelectOptgroupComponent,
|
|
16
|
-
MultiSelectOptgroupLabelComponent] }); }
|
|
17
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectModule, providers: [MultiSelectService], imports: [MultiSelectComponent] }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectModule, decorators: [{
|
|
20
|
-
type: NgModule,
|
|
21
|
-
args: [{
|
|
22
|
-
imports: [
|
|
23
|
-
MultiSelectComponent,
|
|
24
|
-
MultiSelectOptionComponent,
|
|
25
|
-
MultiSelectOptgroupComponent,
|
|
26
|
-
MultiSelectOptgroupLabelComponent
|
|
27
|
-
],
|
|
28
|
-
exports: [
|
|
29
|
-
MultiSelectComponent,
|
|
30
|
-
MultiSelectOptionComponent,
|
|
31
|
-
MultiSelectOptgroupComponent,
|
|
32
|
-
MultiSelectOptgroupLabelComponent
|
|
33
|
-
],
|
|
34
|
-
providers: [MultiSelectService]
|
|
35
|
-
}]
|
|
36
|
-
}] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7QUFpQmxILE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLFlBYjFCLG9CQUFvQjtZQUNwQiwwQkFBMEI7WUFDMUIsNEJBQTRCO1lBQzVCLGlDQUFpQyxhQUdqQyxvQkFBb0I7WUFDcEIsMEJBQTBCO1lBQzFCLDRCQUE0QjtZQUM1QixpQ0FBaUM7Z0hBSXhCLGlCQUFpQixhQUZqQixDQUFDLGtCQUFrQixDQUFDLFlBWDdCLG9CQUFvQjs7NEZBYVgsaUJBQWlCO2tCQWY3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QixpQ0FBaUM7cUJBQ2xDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QixpQ0FBaUM7cUJBQ2xDO29CQUNELFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE11bHRpU2VsZWN0U2VydmljZSB9IGZyb20gJy4vbXVsdGktc2VsZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IE11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aS1zZWxlY3Qtb3B0aW9uL211bHRpLXNlbGVjdC1vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IE11bHRpU2VsZWN0T3B0Z3JvdXBDb21wb25lbnQgfSBmcm9tICcuL211bHRpLXNlbGVjdC1vcHRncm91cC9tdWx0aS1zZWxlY3Qtb3B0Z3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IE11bHRpU2VsZWN0T3B0Z3JvdXBMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vbXVsdGktc2VsZWN0LW9wdGdyb3VwL211bHRpLXNlbGVjdC1vcHRncm91cC1sYWJlbC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgTXVsdGlTZWxlY3RPcHRpb25Db21wb25lbnQsXG4gICAgTXVsdGlTZWxlY3RPcHRncm91cENvbXBvbmVudCxcbiAgICBNdWx0aVNlbGVjdE9wdGdyb3VwTGFiZWxDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE11bHRpU2VsZWN0Q29tcG9uZW50LFxuICAgIE11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50LFxuICAgIE11bHRpU2VsZWN0T3B0Z3JvdXBDb21wb25lbnQsXG4gICAgTXVsdGlTZWxlY3RPcHRncm91cExhYmVsQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW011bHRpU2VsZWN0U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3RNb2R1bGUge1xufVxuIl19
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { computed, Injectable, signal } from '@angular/core';
|
|
2
|
-
import { SelectionModel } from '@angular/cdk/collections';
|
|
3
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class MultiSelectService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.optionsStyle = 'checkbox';
|
|
8
|
-
this.multiSelectVisible = new BehaviorSubject(false);
|
|
9
|
-
this.multiSelectVisible$ = this.multiSelectVisible.asObservable();
|
|
10
|
-
this.multiSelectFocus = new Subject();
|
|
11
|
-
this.multiSelectFocus$ = this.multiSelectFocus.asObservable();
|
|
12
|
-
this.userOptionsSignal = signal([]);
|
|
13
|
-
this.optionsArray = new BehaviorSubject([]);
|
|
14
|
-
this.optionsArray$ = this.optionsArray.asObservable();
|
|
15
|
-
}
|
|
16
|
-
setSelectionModel(multiple = true, initiallySelectedValues = []) {
|
|
17
|
-
this.selectionModel = new SelectionModel(multiple);
|
|
18
|
-
}
|
|
19
|
-
toggleVisible(visible) {
|
|
20
|
-
this.multiSelectVisible.next(visible);
|
|
21
|
-
}
|
|
22
|
-
focusChange(option) {
|
|
23
|
-
this.multiSelectFocus.next(option);
|
|
24
|
-
}
|
|
25
|
-
getUserOptions() {
|
|
26
|
-
return computed(this.userOptionsSignal);
|
|
27
|
-
}
|
|
28
|
-
addUserOption(option) {
|
|
29
|
-
this.userOptionsSignal.update((options) => [...options, option]);
|
|
30
|
-
}
|
|
31
|
-
removeUserOption(value) {
|
|
32
|
-
const updatedOptions = this.userOptionsSignal().filter((option) => option.value !== value);
|
|
33
|
-
this.userOptionsSignal.set(updatedOptions);
|
|
34
|
-
}
|
|
35
|
-
removeAllUserOptions() {
|
|
36
|
-
this.userOptionsSignal.set([]);
|
|
37
|
-
}
|
|
38
|
-
getOptionsArray() {
|
|
39
|
-
return this.optionsArray$;
|
|
40
|
-
}
|
|
41
|
-
updateOptionsArray(options) {
|
|
42
|
-
this.optionsArray.next(options);
|
|
43
|
-
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
45
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectService }); }
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiSelectService, decorators: [{
|
|
48
|
-
type: Injectable
|
|
49
|
-
}] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtoRCxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBR1MsaUJBQVksR0FBd0IsVUFBVSxDQUFDO1FBUXJDLHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLHdCQUFtQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQU1yRCxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztRQUNyRSxzQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFNbEQsc0JBQWlCLEdBQUcsTUFBTSxDQUFZLEVBQUUsQ0FBQyxDQUFDO1FBbUJ6QyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQzFELGtCQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQVUzRDtJQWhEQyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxFQUFFLDBCQUFvQyxFQUFFO1FBQ3ZFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQU0sUUFBUSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUtELGFBQWEsQ0FBQyxPQUFnQjtRQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFLRCxXQUFXLENBQUMsTUFBa0M7UUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBSUQsY0FBYztRQUNaLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBZTtRQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWE7UUFDNUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFLRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFrQjtRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDOytHQXBEVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL211bHRpLXNlbGVjdC1vcHRpb24vbXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSU9wdGlvbiB9IGZyb20gJy4vbXVsdGktc2VsZWN0LnR5cGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3RTZXJ2aWNlIHtcblxuICBwdWJsaWMgb3B0aW9uc1N0eWxlOiAnY2hlY2tib3gnIHwgJ3RleHQnID0gJ2NoZWNrYm94JztcblxuICBzZWxlY3Rpb25Nb2RlbCE6IFNlbGVjdGlvbk1vZGVsPGFueT47XG5cbiAgc2V0U2VsZWN0aW9uTW9kZWwobXVsdGlwbGUgPSB0cnVlLCBpbml0aWFsbHlTZWxlY3RlZFZhbHVlczogc3RyaW5nW10gPSBbXSkge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55PihtdWx0aXBsZSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IG11bHRpU2VsZWN0VmlzaWJsZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBtdWx0aVNlbGVjdFZpc2libGUkID0gdGhpcy5tdWx0aVNlbGVjdFZpc2libGUuYXNPYnNlcnZhYmxlKCk7XG5cbiAgdG9nZ2xlVmlzaWJsZSh2aXNpYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5tdWx0aVNlbGVjdFZpc2libGUubmV4dCh2aXNpYmxlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgbXVsdGlTZWxlY3RGb2N1cyA9IG5ldyBTdWJqZWN0PE11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50PigpO1xuICByZWFkb25seSBtdWx0aVNlbGVjdEZvY3VzJCA9IHRoaXMubXVsdGlTZWxlY3RGb2N1cy5hc09ic2VydmFibGUoKTtcblxuICBmb2N1c0NoYW5nZShvcHRpb246IE11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50KSB7XG4gICAgdGhpcy5tdWx0aVNlbGVjdEZvY3VzLm5leHQob3B0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB1c2VyT3B0aW9uc1NpZ25hbCA9IHNpZ25hbDxJT3B0aW9uW10+KFtdKTtcblxuICBnZXRVc2VyT3B0aW9ucygpIHtcbiAgICByZXR1cm4gY29tcHV0ZWQodGhpcy51c2VyT3B0aW9uc1NpZ25hbCk7XG4gIH1cblxuICBhZGRVc2VyT3B0aW9uKG9wdGlvbjogSU9wdGlvbikge1xuICAgIHRoaXMudXNlck9wdGlvbnNTaWduYWwudXBkYXRlKChvcHRpb25zKSA9PiBbLi4ub3B0aW9ucywgb3B0aW9uXSk7XG4gIH1cblxuICByZW1vdmVVc2VyT3B0aW9uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB1cGRhdGVkT3B0aW9ucyA9IHRoaXMudXNlck9wdGlvbnNTaWduYWwoKS5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlICE9PSB2YWx1ZSk7XG4gICAgdGhpcy51c2VyT3B0aW9uc1NpZ25hbC5zZXQodXBkYXRlZE9wdGlvbnMpO1xuICB9XG5cbiAgcmVtb3ZlQWxsVXNlck9wdGlvbnMoKSB7XG4gICAgdGhpcy51c2VyT3B0aW9uc1NpZ25hbC5zZXQoW10pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zQXJyYXkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElPcHRpb25bXT4oW10pO1xuICByZWFkb25seSBvcHRpb25zQXJyYXkkID0gdGhpcy5vcHRpb25zQXJyYXkuYXNPYnNlcnZhYmxlKCk7XG5cbiAgZ2V0T3B0aW9uc0FycmF5KCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnNBcnJheSQ7XG4gIH1cblxuICB1cGRhdGVPcHRpb25zQXJyYXkob3B0aW9uczogSU9wdGlvbltdKSB7XG4gICAgdGhpcy5vcHRpb25zQXJyYXkubmV4dChvcHRpb25zKTtcbiAgfVxuXG59XG5cbiJdfQ==
|