@mintplayer/ng-bootstrap 21.30.0 → 21.31.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/fesm2022/mintplayer-ng-bootstrap-a11y.mjs +455 -0
- package/fesm2022/mintplayer-ng-bootstrap-a11y.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +8 -5
- package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +10 -4
- package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +7 -4
- package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +131 -3
- package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +80 -48
- package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +4 -1
- package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +218 -14
- package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +4 -3
- package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +2 -2
- package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +294 -3
- package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +163 -18
- package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +179 -7
- package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +14 -4
- package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +14 -0
- package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs +2 -1
- package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +7 -4
- package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +70 -6
- package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +5 -4
- package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +6 -6
- package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +45 -13
- package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +51 -5
- package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +5 -3
- package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs +18 -4
- package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +6 -6
- package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +61 -6
- package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-priority-nav.mjs +19 -4
- package/fesm2022/mintplayer-ng-bootstrap-priority-nav.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +8 -5
- package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-range.mjs +4 -3
- package/fesm2022/mintplayer-ng-bootstrap-range.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +34 -4
- package/fesm2022/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-reduced-motion.mjs +59 -0
- package/fesm2022/mintplayer-ng-bootstrap-reduced-motion.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +91 -2
- package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +16 -5
- package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +2 -2
- package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +28 -5
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-select.mjs +4 -3
- package/fesm2022/mintplayer-ng-bootstrap-select.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +18 -4
- package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +4 -3
- package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +2 -2
- package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-table.mjs +10 -3
- package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-tile-manager.mjs +143 -29
- package/fesm2022/mintplayer-ng-bootstrap-tile-manager.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +2 -2
- package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +7 -4
- package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +42 -21
- package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +33 -4
- package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs +17 -7
- package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +50 -8
- package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-virtual-datatable.mjs +34 -12
- package/fesm2022/mintplayer-ng-bootstrap-virtual-datatable.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-web-components-a11y.mjs +74 -0
- package/fesm2022/mintplayer-ng-bootstrap-web-components-a11y.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler.mjs +1476 -71
- package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-web-components-splitter.mjs +194 -2
- package/fesm2022/mintplayer-ng-bootstrap-web-components-splitter.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-web-components-tab-control.mjs +4 -0
- package/fesm2022/mintplayer-ng-bootstrap-web-components-tab-control.mjs.map +1 -1
- package/package.json +14 -2
- package/types/mintplayer-ng-bootstrap-a11y.d.ts +196 -0
- package/types/mintplayer-ng-bootstrap-accordion.d.ts +4 -2
- package/types/mintplayer-ng-bootstrap-breadcrumb.d.ts +2 -1
- package/types/mintplayer-ng-bootstrap-button-group.d.ts +2 -1
- package/types/mintplayer-ng-bootstrap-calendar.d.ts +32 -0
- package/types/mintplayer-ng-bootstrap-carousel.d.ts +56 -3
- package/types/mintplayer-ng-bootstrap-code-snippet.d.ts +1 -0
- package/types/mintplayer-ng-bootstrap-color-picker.d.ts +75 -4
- package/types/mintplayer-ng-bootstrap-datatable.d.ts +1 -1
- package/types/mintplayer-ng-bootstrap-dock.d.ts +51 -0
- package/types/mintplayer-ng-bootstrap-dropdown-menu.d.ts +54 -9
- package/types/mintplayer-ng-bootstrap-dropdown.d.ts +57 -2
- package/types/mintplayer-ng-bootstrap-file-upload.d.ts +4 -1
- package/types/mintplayer-ng-bootstrap-has-overlay.d.ts +14 -0
- package/types/mintplayer-ng-bootstrap-marquee.d.ts +2 -1
- package/types/mintplayer-ng-bootstrap-modal.d.ts +25 -1
- package/types/mintplayer-ng-bootstrap-multiselect.d.ts +2 -1
- package/types/mintplayer-ng-bootstrap-navbar-toggler.d.ts +4 -2
- package/types/mintplayer-ng-bootstrap-navbar.d.ts +25 -1
- package/types/mintplayer-ng-bootstrap-offcanvas.d.ts +23 -1
- package/types/mintplayer-ng-bootstrap-pagination.d.ts +3 -1
- package/types/mintplayer-ng-bootstrap-placeholder.d.ts +5 -1
- package/types/mintplayer-ng-bootstrap-playlist-toggler.d.ts +4 -2
- package/types/mintplayer-ng-bootstrap-popover.d.ts +21 -1
- package/types/mintplayer-ng-bootstrap-priority-nav.d.ts +4 -1
- package/types/mintplayer-ng-bootstrap-progress-bar.d.ts +4 -2
- package/types/mintplayer-ng-bootstrap-range.d.ts +2 -1
- package/types/mintplayer-ng-bootstrap-rating.d.ts +3 -0
- package/types/mintplayer-ng-bootstrap-reduced-motion.d.ts +36 -0
- package/types/mintplayer-ng-bootstrap-resizable.d.ts +4 -0
- package/types/mintplayer-ng-bootstrap-scheduler.d.ts +42 -9
- package/types/mintplayer-ng-bootstrap-scrollspy.d.ts +1 -1
- package/types/mintplayer-ng-bootstrap-searchbox.d.ts +8 -1
- package/types/mintplayer-ng-bootstrap-select.d.ts +2 -1
- package/types/mintplayer-ng-bootstrap-select2.d.ts +3 -0
- package/types/mintplayer-ng-bootstrap-signature-pad.d.ts +2 -1
- package/types/mintplayer-ng-bootstrap-table.d.ts +8 -1
- package/types/mintplayer-ng-bootstrap-tile-manager.d.ts +21 -2
- package/types/mintplayer-ng-bootstrap-toast.d.ts +6 -1
- package/types/mintplayer-ng-bootstrap-toggle-button.d.ts +11 -0
- package/types/mintplayer-ng-bootstrap-tooltip.d.ts +5 -0
- package/types/mintplayer-ng-bootstrap-treeview.d.ts +12 -1
- package/types/mintplayer-ng-bootstrap-typeahead.d.ts +11 -3
- package/types/mintplayer-ng-bootstrap-virtual-datatable.d.ts +14 -1
- package/types/mintplayer-ng-bootstrap-web-components-a11y.d.ts +34 -0
- package/types/mintplayer-ng-bootstrap-web-components-scheduler-core.d.ts +35 -11
- package/types/mintplayer-ng-bootstrap-web-components-scheduler.d.ts +246 -0
- package/types/mintplayer-ng-bootstrap-web-components-splitter.d.ts +95 -37
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-modal.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/modal/src/providers/modal-content.provider.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal/modal.component.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal/modal.component.html","../../../../libs/mintplayer-ng-bootstrap/modal/src/providers/portal-factory.provider.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal-host/modal-host.component.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal-host/modal-host.component.html","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal/modal.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-header/modal-header.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-body/modal-body.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-footer/modal-footer.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-close/modal-close.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/mintplayer-ng-bootstrap-modal.ts"],"sourcesContent":["import { InjectionToken, TemplateRef } from \"@angular/core\";\n\nexport const MODAL_CONTENT = new InjectionToken<TemplateRef<any>>('ModalContent');","import { Component, inject, signal, TemplateRef, ChangeDetectionStrategy} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EnterFromTopAnimation, FadeInOutAnimation } from '@mintplayer/ng-animations';\nimport { MODAL_CONTENT } from '../../providers/modal-content.provider';\n\n@Component({\n selector: 'bs-modal-content',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n imports: [NgTemplateOutlet],\n animations: [FadeInOutAnimation, EnterFromTopAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsModalComponent {\n\n template = inject<TemplateRef<any>>(MODAL_CONTENT);\n isOpen = signal(false);\n\n}\n","@if (isOpen()) {\n <div class=\"modal d-block\"\n [@fadeInOut]\n [@enterFromTop]\n role=\"dialog\"\n aria-modal=\"true\"\n tabindex=\"-1\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n </div>\n </div>\n\n <div [@fadeInOut]>\n <div class=\"modal-backdrop fade\" [class.show]=\"isOpen()\" aria-hidden=\"true\"></div>\n </div>\n}","import { ComponentPortal } from \"@angular/cdk/portal\";\nimport { InjectionToken, Injector } from \"@angular/core\";\n\nexport const PORTAL_FACTORY = new InjectionToken<(injector: Injector) => ComponentPortal<any>>('ModalPortalFactory');","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { AfterViewInit, Component, ComponentFactoryResolver, ComponentRef, effect, inject, Injector, input, model, OnDestroy, TemplateRef, ChangeDetectionStrategy} from '@angular/core';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { MODAL_CONTENT } from '../../providers/modal-content.provider';\nimport { PORTAL_FACTORY } from '../../providers/portal-factory.provider';\nimport { BsModalComponent } from '../modal/modal.component';\n\n@Component({\n selector: 'bs-modal',\n templateUrl: './modal-host.component.html',\n styleUrls: ['./modal-host.component.scss'],\n imports: [BsHasOverlayComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: PORTAL_FACTORY,\n useValue: (injector: Injector) => {\n return new ComponentPortal(BsModalComponent, null, injector);\n }\n }],\n host: {\n '(document:keydown)': 'onKeyDown($event)',\n },\n})\nexport class BsModalHostComponent implements AfterViewInit, OnDestroy {\n private overlay = inject(Overlay);\n private parentInjector = inject(Injector);\n private portalFactory = inject<(injector: Injector) => ComponentPortal<BsModalComponent>>(PORTAL_FACTORY);\n private componentFactoryResolver = inject(ComponentFactoryResolver);\n\n overlayRef!: OverlayRef;\n componentInstance?: ComponentRef<BsModalComponent>;\n template!: TemplateRef<any>;\n\n //#region isOpen\n readonly isOpen = model<boolean>(false);\n //#endregion\n readonly closeOnEscape = input(true);\n\n constructor() {\n effect(() => {\n const value = this.isOpen();\n if (this.componentInstance) {\n this.componentInstance.instance.isOpen.set(value);\n }\n });\n }\n\n ngAfterViewInit() {\n const injector = Injector.create({\n providers: [\n { provide: MODAL_CONTENT, useValue: this.template }\n ],\n parent: this.parentInjector\n });\n // const portal = new ComponentPortal(BsModalComponent, null, injector, this.componentFactoryResolver);\n const portal = this.portalFactory(injector);\n this.overlayRef = this.overlay.create({\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy: this.overlay.position()\n .global().centerHorizontally().bottom('0').top('0').left('0').right('0'),\n width: '100%',\n hasBackdrop: false\n });\n this.componentInstance = this.overlayRef.attach<BsModalComponent>(portal);\n this.componentInstance.instance.isOpen.set(this.isOpen());\n }\n\n ngOnDestroy() {\n this.isOpen.set(false);\n setTimeout(() => this.overlayRef && this.overlayRef.dispose(), 500);\n }\n\n onKeyDown(event: Event) {\n const ev = event as KeyboardEvent;\n if (this.isOpen() && this.closeOnEscape() && ev.code === 'Escape') {\n this.isOpen.set(false);\n }\n }\n}","<bs-has-overlay></bs-has-overlay>","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsModalHostComponent } from '../../components/modal-host/modal-host.component';\n\n@Directive({\n selector: '[bsModal]',\n})\nexport class BsModalDirective {\n\n constructor() {\n const template = inject(TemplateRef);\n const host = inject(BsModalHostComponent);\n host.template = template;\n }\n\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[bsModalHeader]',\n host: {\n '[class.modal-header]': 'true',\n },\n})\nexport class BsModalHeaderDirective {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[bsModalBody]',\n host: {\n '[class.modal-body]': 'true',\n },\n})\nexport class BsModalBodyDirective {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[bsModalFooter]',\n host: {\n '[class.modal-footer]': 'true',\n },\n})\nexport class BsModalFooterDirective {\n}\n","import { Directive, inject } from '@angular/core';\nimport { BsModalHostComponent } from '../../components/modal-host/modal-host.component';\n\n@Directive({\n selector: '[bsModalClose]',\n host: {\n '[attr.aria-label]': '\"Close\"',\n '(click)': 'onClick()',\n },\n})\nexport class BsModalCloseDirective {\n private host = inject(BsModalHostComponent);\n\n onClick() {\n this.host.isOpen.set(false);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-modal.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/modal/src/providers/modal-content.provider.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/services/modal-context.service.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal/modal.component.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal/modal.component.html","../../../../libs/mintplayer-ng-bootstrap/modal/src/providers/portal-factory.provider.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal-host/modal-host.component.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal-host/modal-host.component.html","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal/modal.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-header/modal-header.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-body/modal-body.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-footer/modal-footer.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-close/modal-close.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/mintplayer-ng-bootstrap-modal.ts"],"sourcesContent":["import { InjectionToken, TemplateRef } from \"@angular/core\";\n\nexport const MODAL_CONTENT = new InjectionToken<TemplateRef<any>>('ModalContent');","import { Injectable, signal } from '@angular/core';\n\n/**\n * Component-scoped state shared between BsModalComponent (the dialog renderer)\n * and the bsModalHeader / bsModalBody directives applied to the user's template.\n * Provides the ids for aria-labelledby and aria-describedby.\n */\n@Injectable()\nexport class BsModalContextService {\n readonly headerId = signal<string | null>(null);\n readonly bodyId = signal<string | null>(null);\n}\n","import { Component, inject, Injector, signal, TemplateRef, ChangeDetectionStrategy } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EnterFromTopAnimation, FadeInOutAnimation } from '@mintplayer/ng-animations';\nimport { BsOverlayFocusDirective } from '@mintplayer/ng-bootstrap/a11y';\nimport { MODAL_CONTENT } from '../../providers/modal-content.provider';\nimport { BsModalContextService } from '../../services/modal-context.service';\n\n@Component({\n selector: 'bs-modal-content',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n imports: [NgTemplateOutlet, BsOverlayFocusDirective],\n animations: [FadeInOutAnimation, EnterFromTopAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [BsModalContextService],\n})\nexport class BsModalComponent {\n\n template = inject<TemplateRef<any>>(MODAL_CONTENT);\n isOpen = signal(false);\n\n context = inject(BsModalContextService);\n injector = inject(Injector);\n}\n","@if (isOpen()) {\n <div class=\"modal d-block\"\n [@fadeInOut]\n [@enterFromTop]\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"context.headerId()\"\n [attr.aria-describedby]=\"context.bodyId()\"\n [bsOverlayFocus]=\"true\"\n tabindex=\"-1\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"template; injector: injector\"></ng-container>\n </div>\n </div>\n </div>\n\n <div [@fadeInOut]>\n <div class=\"modal-backdrop fade\" [class.show]=\"isOpen()\" aria-hidden=\"true\"></div>\n </div>\n}\n","import { ComponentPortal } from \"@angular/cdk/portal\";\nimport { InjectionToken, Injector } from \"@angular/core\";\n\nexport const PORTAL_FACTORY = new InjectionToken<(injector: Injector) => ComponentPortal<any>>('ModalPortalFactory');","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { AfterViewInit, Component, ComponentFactoryResolver, ComponentRef, effect, inject, Injector, input, model, OnDestroy, TemplateRef, ChangeDetectionStrategy} from '@angular/core';\nimport { BsOverlayStackService } from '@mintplayer/ng-bootstrap/a11y';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { MODAL_CONTENT } from '../../providers/modal-content.provider';\nimport { PORTAL_FACTORY } from '../../providers/portal-factory.provider';\nimport { BsModalComponent } from '../modal/modal.component';\n\n@Component({\n selector: 'bs-modal',\n templateUrl: './modal-host.component.html',\n styleUrls: ['./modal-host.component.scss'],\n imports: [BsHasOverlayComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: PORTAL_FACTORY,\n useValue: (injector: Injector) => {\n return new ComponentPortal(BsModalComponent, null, injector);\n }\n }],\n host: {\n '(document:keydown)': 'onKeyDown($event)',\n },\n})\nexport class BsModalHostComponent implements AfterViewInit, OnDestroy {\n private overlay = inject(Overlay);\n private parentInjector = inject(Injector);\n private portalFactory = inject<(injector: Injector) => ComponentPortal<BsModalComponent>>(PORTAL_FACTORY);\n private componentFactoryResolver = inject(ComponentFactoryResolver);\n private overlayStack = inject(BsOverlayStackService);\n private stackToken: symbol | null = null;\n\n overlayRef!: OverlayRef;\n componentInstance?: ComponentRef<BsModalComponent>;\n template!: TemplateRef<any>;\n\n //#region isOpen\n readonly isOpen = model<boolean>(false);\n //#endregion\n readonly closeOnEscape = input(true);\n\n constructor() {\n effect(() => {\n const value = this.isOpen();\n if (this.componentInstance) {\n this.componentInstance.instance.isOpen.set(value);\n }\n\n if (value && this.stackToken === null) {\n this.stackToken = this.overlayStack.push();\n } else if (!value && this.stackToken !== null) {\n this.overlayStack.release(this.stackToken);\n this.stackToken = null;\n }\n });\n }\n\n ngAfterViewInit() {\n const injector = Injector.create({\n providers: [\n { provide: MODAL_CONTENT, useValue: this.template }\n ],\n parent: this.parentInjector\n });\n // const portal = new ComponentPortal(BsModalComponent, null, injector, this.componentFactoryResolver);\n const portal = this.portalFactory(injector);\n this.overlayRef = this.overlay.create({\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy: this.overlay.position()\n .global().centerHorizontally().bottom('0').top('0').left('0').right('0'),\n width: '100%',\n hasBackdrop: false\n });\n this.componentInstance = this.overlayRef.attach<BsModalComponent>(portal);\n this.componentInstance.instance.isOpen.set(this.isOpen());\n }\n\n ngOnDestroy() {\n this.isOpen.set(false);\n if (this.stackToken !== null) {\n this.overlayStack.release(this.stackToken);\n this.stackToken = null;\n }\n setTimeout(() => this.overlayRef && this.overlayRef.dispose(), 500);\n }\n\n onKeyDown(event: Event) {\n const ev = event as KeyboardEvent;\n if (this.isOpen() && this.closeOnEscape() && ev.code === 'Escape') {\n if (this.stackToken !== null && this.overlayStack.isTop(this.stackToken)) {\n this.isOpen.set(false);\n }\n }\n }\n}","<bs-has-overlay></bs-has-overlay>","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsModalHostComponent } from '../../components/modal-host/modal-host.component';\n\n@Directive({\n selector: '[bsModal]',\n})\nexport class BsModalDirective {\n\n constructor() {\n const template = inject(TemplateRef);\n const host = inject(BsModalHostComponent);\n host.template = template;\n }\n\n}\n","import { afterNextRender, Directive, ElementRef, inject } from '@angular/core';\nimport { BsIdService } from '@mintplayer/ng-bootstrap/a11y';\nimport { BsModalContextService } from '../../services/modal-context.service';\n\n@Directive({\n selector: '[bsModalHeader]',\n host: {\n '[class.modal-header]': 'true',\n },\n})\nexport class BsModalHeaderDirective {\n private el = inject<ElementRef<HTMLElement>>(ElementRef);\n private ids = inject(BsIdService);\n private context = inject(BsModalContextService, { optional: true });\n\n constructor() {\n // After first render, all sibling host bindings + static attrs on this element\n // have applied. Read an existing id if the consumer set one, otherwise generate\n // and assign — then publish it to the modal context for aria-labelledby.\n afterNextRender(() => {\n let id = this.el.nativeElement.id;\n if (!id) {\n id = this.ids.next('bs-modal-header');\n this.el.nativeElement.id = id;\n }\n this.context?.headerId.set(id);\n });\n }\n}\n","import { afterNextRender, Directive, ElementRef, inject } from '@angular/core';\nimport { BsIdService } from '@mintplayer/ng-bootstrap/a11y';\nimport { BsModalContextService } from '../../services/modal-context.service';\n\n@Directive({\n selector: '[bsModalBody]',\n host: {\n '[class.modal-body]': 'true',\n },\n})\nexport class BsModalBodyDirective {\n private el = inject<ElementRef<HTMLElement>>(ElementRef);\n private ids = inject(BsIdService);\n private context = inject(BsModalContextService, { optional: true });\n\n constructor() {\n afterNextRender(() => {\n let id = this.el.nativeElement.id;\n if (!id) {\n id = this.ids.next('bs-modal-body');\n this.el.nativeElement.id = id;\n }\n this.context?.bodyId.set(id);\n });\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[bsModalFooter]',\n host: {\n '[class.modal-footer]': 'true',\n },\n})\nexport class BsModalFooterDirective {\n}\n","import { Directive, inject } from '@angular/core';\nimport { BsModalHostComponent } from '../../components/modal-host/modal-host.component';\n\n@Directive({\n selector: '[bsModalClose]',\n host: {\n '[attr.aria-label]': '\"Close\"',\n '(click)': 'onClick()',\n },\n})\nexport class BsModalCloseDirective {\n private host = inject(BsModalHostComponent);\n\n onClick() {\n this.host.isOpen.set(false);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, model, viewChild, computed, ChangeDetectionStrategy, Component, inject, TemplateRef, Directive,
|
|
2
|
+
import { signal, model, input, viewChild, computed, ChangeDetectionStrategy, Component, inject, TemplateRef, Directive, effect } from '@angular/core';
|
|
3
3
|
import { NgTemplateOutlet } from '@angular/common';
|
|
4
4
|
import * as i1 from '@angular/forms';
|
|
5
5
|
import { FormsModule } from '@angular/forms';
|
|
@@ -18,6 +18,7 @@ class BsMultiselectComponent {
|
|
|
18
18
|
this.colors = Color;
|
|
19
19
|
this.items = model([], ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
20
20
|
this.selectedItems = model([], ...(ngDevMode ? [{ debugName: "selectedItems" }] : /* istanbul ignore next */ []));
|
|
21
|
+
this.ariaLabel = input('Select options', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
21
22
|
this.defaultButtonTemplate = viewChild.required('defaultButtonTemplate');
|
|
22
23
|
this.defaultItemTemplate = viewChild.required('defaultItemTemplate');
|
|
23
24
|
this.resolvedButtonTemplate = computed(() => this.buttonTemplate() ?? this.defaultButtonTemplate(), ...(ngDevMode ? [{ debugName: "resolvedButtonTemplate" }] : /* istanbul ignore next */ []));
|
|
@@ -32,12 +33,12 @@ class BsMultiselectComponent {
|
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsMultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: BsMultiselectComponent, isStandalone: true, selector: "bs-multiselect", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange", selectedItems: "selectedItemsChange" }, viewQueries: [{ propertyName: "defaultButtonTemplate", first: true, predicate: ["defaultButtonTemplate"], descendants: true, isSignal: true }, { propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button type=\"button\" bsDropdownToggle [color]=\"colors.primary\">\n <ng-container *ngTemplateOutlet=\"resolvedButtonTemplate(); context: { $implicit: selectedItems().length }\"></ng-container>\n </button>\n <div *bsDropdownMenu class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n @if (headerTemplate()) {\n <hr class=\"my-2\">\n }\n @for (item of items(); track item) {\n <bs-toggle-button [ngModel]=\"selectedItems().indexOf(item) > -1\" (ngModelChange)=\"itemChange(item, $event)\" class=\"d-block\"><ng-container *ngTemplateOutlet=\"resolvedItemTemplate(); context: { $implicit: item }\"></ng-container></bs-toggle-button>\n }\n @if (footerTemplate()) {\n <hr class=\"my-2\">\n }\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>\n<ng-template #defaultItemTemplate let-item>{{ item }}</ng-template>\n", styles: [".mw-250px{min-width:250px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "directive", type: BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { kind: "directive", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { kind: "component", type: BsToggleButtonComponent, selector: "bs-toggle-button", inputs: ["type", "isToggled", "name", "value", "group"], outputs: ["isToggledChange"] }, { kind: "directive", type: BsButtonTypeDirective, selector: "button[color],input[type=\"button\"][color],input[type=\"submit\"][color],a[color]", inputs: ["color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: BsMultiselectComponent, isStandalone: true, selector: "bs-multiselect", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange", selectedItems: "selectedItemsChange" }, viewQueries: [{ propertyName: "defaultButtonTemplate", first: true, predicate: ["defaultButtonTemplate"], descendants: true, isSignal: true }, { propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button type=\"button\" bsDropdownToggle [color]=\"colors.primary\" [attr.aria-label]=\"ariaLabel()\">\n <ng-container *ngTemplateOutlet=\"resolvedButtonTemplate(); context: { $implicit: selectedItems().length }\"></ng-container>\n </button>\n <div *bsDropdownMenu [attr.aria-label]=\"ariaLabel()\" class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n @if (headerTemplate()) {\n <hr class=\"my-2\">\n }\n @for (item of items(); track item) {\n <bs-toggle-button [ngModel]=\"selectedItems().indexOf(item) > -1\" (ngModelChange)=\"itemChange(item, $event)\" class=\"d-block\"><ng-container *ngTemplateOutlet=\"resolvedItemTemplate(); context: { $implicit: item }\"></ng-container></bs-toggle-button>\n }\n @if (footerTemplate()) {\n <hr class=\"my-2\">\n }\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>\n<ng-template #defaultItemTemplate let-item>{{ item }}</ng-template>\n", styles: [".mw-250px{min-width:250px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "directive", type: BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen", "popupRole"], outputs: ["isOpenChange"], exportAs: ["bsDropdown"] }, { kind: "directive", type: BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { kind: "directive", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { kind: "component", type: BsToggleButtonComponent, selector: "bs-toggle-button", inputs: ["type", "isToggled", "name", "value", "group"], outputs: ["isToggledChange"] }, { kind: "directive", type: BsButtonTypeDirective, selector: "button[color],input[type=\"button\"][color],input[type=\"submit\"][color],a[color]", inputs: ["color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
37
|
}
|
|
37
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsMultiselectComponent, decorators: [{
|
|
38
39
|
type: Component,
|
|
39
|
-
args: [{ selector: 'bs-multiselect', imports: [NgTemplateOutlet, FormsModule, BsHasOverlayComponent, BsDropdownDirective, BsDropdownToggleDirective, BsDropdownMenuDirective, BsToggleButtonComponent, BsButtonTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button type=\"button\" bsDropdownToggle [color]=\"colors.primary\">\n <ng-container *ngTemplateOutlet=\"resolvedButtonTemplate(); context: { $implicit: selectedItems().length }\"></ng-container>\n </button>\n <div *bsDropdownMenu class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n @if (headerTemplate()) {\n <hr class=\"my-2\">\n }\n @for (item of items(); track item) {\n <bs-toggle-button [ngModel]=\"selectedItems().indexOf(item) > -1\" (ngModelChange)=\"itemChange(item, $event)\" class=\"d-block\"><ng-container *ngTemplateOutlet=\"resolvedItemTemplate(); context: { $implicit: item }\"></ng-container></bs-toggle-button>\n }\n @if (footerTemplate()) {\n <hr class=\"my-2\">\n }\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>\n<ng-template #defaultItemTemplate let-item>{{ item }}</ng-template>\n", styles: [".mw-250px{min-width:250px}\n"] }]
|
|
40
|
-
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }, { type: i0.Output, args: ["itemsChange"] }], selectedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItems", required: false }] }, { type: i0.Output, args: ["selectedItemsChange"] }], defaultButtonTemplate: [{ type: i0.ViewChild, args: ['defaultButtonTemplate', { isSignal: true }] }], defaultItemTemplate: [{ type: i0.ViewChild, args: ['defaultItemTemplate', { isSignal: true }] }] } });
|
|
40
|
+
args: [{ selector: 'bs-multiselect', imports: [NgTemplateOutlet, FormsModule, BsHasOverlayComponent, BsDropdownDirective, BsDropdownToggleDirective, BsDropdownMenuDirective, BsToggleButtonComponent, BsButtonTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button type=\"button\" bsDropdownToggle [color]=\"colors.primary\" [attr.aria-label]=\"ariaLabel()\">\n <ng-container *ngTemplateOutlet=\"resolvedButtonTemplate(); context: { $implicit: selectedItems().length }\"></ng-container>\n </button>\n <div *bsDropdownMenu [attr.aria-label]=\"ariaLabel()\" class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n @if (headerTemplate()) {\n <hr class=\"my-2\">\n }\n @for (item of items(); track item) {\n <bs-toggle-button [ngModel]=\"selectedItems().indexOf(item) > -1\" (ngModelChange)=\"itemChange(item, $event)\" class=\"d-block\"><ng-container *ngTemplateOutlet=\"resolvedItemTemplate(); context: { $implicit: item }\"></ng-container></bs-toggle-button>\n }\n @if (footerTemplate()) {\n <hr class=\"my-2\">\n }\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>\n<ng-template #defaultItemTemplate let-item>{{ item }}</ng-template>\n", styles: [".mw-250px{min-width:250px}\n"] }]
|
|
41
|
+
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }, { type: i0.Output, args: ["itemsChange"] }], selectedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItems", required: false }] }, { type: i0.Output, args: ["selectedItemsChange"] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], defaultButtonTemplate: [{ type: i0.ViewChild, args: ['defaultButtonTemplate', { isSignal: true }] }], defaultItemTemplate: [{ type: i0.ViewChild, args: ['defaultItemTemplate', { isSignal: true }] }] } });
|
|
41
42
|
|
|
42
43
|
class BsHeaderTemplateDirective {
|
|
43
44
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-multiselect.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/multiselect/src/component/multiselect.component.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/component/multiselect.component.html","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/header-template/header-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/footer-template/footer-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/button-template/button-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/item-template/item-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/mintplayer-ng-bootstrap-multiselect.ts"],"sourcesContent":["import { Component, computed, model, signal, TemplateRef, viewChild, ChangeDetectionStrategy } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsDropdownDirective, BsDropdownToggleDirective, BsDropdownMenuDirective } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsToggleButtonComponent } from '@mintplayer/ng-bootstrap/toggle-button';\nimport { BsButtonTypeDirective } from '@mintplayer/ng-bootstrap/button-type';\nimport { Color } from '@mintplayer/ng-bootstrap';\n\n@Component({\n selector: 'bs-multiselect',\n templateUrl: './multiselect.component.html',\n styleUrls: ['./multiselect.component.scss'],\n imports: [NgTemplateOutlet, FormsModule, BsHasOverlayComponent, BsDropdownDirective, BsDropdownToggleDirective, BsDropdownMenuDirective, BsToggleButtonComponent, BsButtonTypeDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsMultiselectComponent<T> {\n\n readonly headerTemplate = signal<TemplateRef<any> | undefined>(undefined);\n readonly footerTemplate = signal<TemplateRef<any> | undefined>(undefined);\n readonly buttonTemplate = signal<TemplateRef<any> | undefined>(undefined);\n readonly itemTemplate = signal<TemplateRef<any> | undefined>(undefined);\n readonly colors = Color;\n\n readonly items = model<T[]>([]);\n readonly selectedItems = model<T[]>([]);\n readonly defaultButtonTemplate = viewChild.required<TemplateRef<any>>('defaultButtonTemplate');\n readonly defaultItemTemplate = viewChild.required<TemplateRef<any>>('defaultItemTemplate');\n\n readonly resolvedButtonTemplate = computed(() => this.buttonTemplate() ?? this.defaultButtonTemplate());\n readonly resolvedItemTemplate = computed(() => this.itemTemplate() ?? this.defaultItemTemplate());\n\n itemChange(item: T, value: boolean | null) {\n if (value) {\n this.selectedItems.update(v => [...v, item]);\n } else {\n this.selectedItems.update(v => v.filter(i => i !== item));\n }\n }\n\n}\n","<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button type=\"button\" bsDropdownToggle [color]=\"colors.primary\">\n <ng-container *ngTemplateOutlet=\"resolvedButtonTemplate(); context: { $implicit: selectedItems().length }\"></ng-container>\n </button>\n <div *bsDropdownMenu class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n @if (headerTemplate()) {\n <hr class=\"my-2\">\n }\n @for (item of items(); track item) {\n <bs-toggle-button [ngModel]=\"selectedItems().indexOf(item) > -1\" (ngModelChange)=\"itemChange(item, $event)\" class=\"d-block\"><ng-container *ngTemplateOutlet=\"resolvedItemTemplate(); context: { $implicit: item }\"></ng-container></bs-toggle-button>\n }\n @if (footerTemplate()) {\n <hr class=\"my-2\">\n }\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>\n<ng-template #defaultItemTemplate let-item>{{ item }}</ng-template>\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsHeaderTemplate]',\n})\nexport class BsHeaderTemplateDirective<T> {\n\n constructor() {\n const template = inject(TemplateRef);\n const multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n multiselect.headerTemplate.set(template);\n }\n\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsFooterTemplate]',\n})\nexport class BsFooterTemplateDirective<T> {\n\n constructor() {\n const template = inject(TemplateRef);\n const multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n multiselect.footerTemplate.set(template);\n }\n\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsButtonTemplate]',\n})\nexport class BsButtonTemplateDirective<T> {\n\n constructor() {\n const template = inject(TemplateRef);\n const multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n multiselect.buttonTemplate.set(template);\n }\n\n public static ngTemplateContextGuard<TData>(\n dir: BsButtonTemplateDirective<TData>,\n ctx: any\n ): ctx is BsRButtonTemplateContext {\n return true;\n }\n\n}\n\nexport class BsRButtonTemplateContext {\n public $implicit: number = null!;\n}\n","import { Directive, effect, inject, input, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsItemTemplate]',\n})\nexport class BsItemTemplateDirective<T> {\n private multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n\n constructor() {\n const template = inject(TemplateRef);\n this.multiselect.itemTemplate.set(template);\n\n effect(() => {\n const value = this.bsItemTemplateOf();\n if (value) {\n this.multiselect.items.set(value);\n }\n });\n }\n\n public static ngTemplateContextGuard<TData>(\n dir: BsItemTemplateDirective<TData>,\n ctx: any\n ): ctx is BsItemTemplateContext<Exclude<TData, false | 0 | '' | null | undefined>> {\n return true;\n }\n\n /** Pass the items array — forwards to BsMultiselectComponent.items */\n readonly bsItemTemplateOf = input<T[] | undefined>(undefined);\n}\n\nexport class BsItemTemplateContext<T> {\n public $implicit: T = null!;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-multiselect.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/multiselect/src/component/multiselect.component.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/component/multiselect.component.html","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/header-template/header-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/footer-template/footer-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/button-template/button-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/item-template/item-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/mintplayer-ng-bootstrap-multiselect.ts"],"sourcesContent":["import { Component, computed, input, model, signal, TemplateRef, viewChild, ChangeDetectionStrategy } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsDropdownDirective, BsDropdownToggleDirective, BsDropdownMenuDirective } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsToggleButtonComponent } from '@mintplayer/ng-bootstrap/toggle-button';\nimport { BsButtonTypeDirective } from '@mintplayer/ng-bootstrap/button-type';\nimport { Color } from '@mintplayer/ng-bootstrap';\n\n@Component({\n selector: 'bs-multiselect',\n templateUrl: './multiselect.component.html',\n styleUrls: ['./multiselect.component.scss'],\n imports: [NgTemplateOutlet, FormsModule, BsHasOverlayComponent, BsDropdownDirective, BsDropdownToggleDirective, BsDropdownMenuDirective, BsToggleButtonComponent, BsButtonTypeDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsMultiselectComponent<T> {\n\n readonly headerTemplate = signal<TemplateRef<any> | undefined>(undefined);\n readonly footerTemplate = signal<TemplateRef<any> | undefined>(undefined);\n readonly buttonTemplate = signal<TemplateRef<any> | undefined>(undefined);\n readonly itemTemplate = signal<TemplateRef<any> | undefined>(undefined);\n readonly colors = Color;\n\n readonly items = model<T[]>([]);\n readonly selectedItems = model<T[]>([]);\n readonly ariaLabel = input<string>('Select options');\n readonly defaultButtonTemplate = viewChild.required<TemplateRef<any>>('defaultButtonTemplate');\n readonly defaultItemTemplate = viewChild.required<TemplateRef<any>>('defaultItemTemplate');\n\n readonly resolvedButtonTemplate = computed(() => this.buttonTemplate() ?? this.defaultButtonTemplate());\n readonly resolvedItemTemplate = computed(() => this.itemTemplate() ?? this.defaultItemTemplate());\n\n itemChange(item: T, value: boolean | null) {\n if (value) {\n this.selectedItems.update(v => [...v, item]);\n } else {\n this.selectedItems.update(v => v.filter(i => i !== item));\n }\n }\n\n}\n","<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button type=\"button\" bsDropdownToggle [color]=\"colors.primary\" [attr.aria-label]=\"ariaLabel()\">\n <ng-container *ngTemplateOutlet=\"resolvedButtonTemplate(); context: { $implicit: selectedItems().length }\"></ng-container>\n </button>\n <div *bsDropdownMenu [attr.aria-label]=\"ariaLabel()\" class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n @if (headerTemplate()) {\n <hr class=\"my-2\">\n }\n @for (item of items(); track item) {\n <bs-toggle-button [ngModel]=\"selectedItems().indexOf(item) > -1\" (ngModelChange)=\"itemChange(item, $event)\" class=\"d-block\"><ng-container *ngTemplateOutlet=\"resolvedItemTemplate(); context: { $implicit: item }\"></ng-container></bs-toggle-button>\n }\n @if (footerTemplate()) {\n <hr class=\"my-2\">\n }\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>\n<ng-template #defaultItemTemplate let-item>{{ item }}</ng-template>\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsHeaderTemplate]',\n})\nexport class BsHeaderTemplateDirective<T> {\n\n constructor() {\n const template = inject(TemplateRef);\n const multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n multiselect.headerTemplate.set(template);\n }\n\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsFooterTemplate]',\n})\nexport class BsFooterTemplateDirective<T> {\n\n constructor() {\n const template = inject(TemplateRef);\n const multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n multiselect.footerTemplate.set(template);\n }\n\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsButtonTemplate]',\n})\nexport class BsButtonTemplateDirective<T> {\n\n constructor() {\n const template = inject(TemplateRef);\n const multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n multiselect.buttonTemplate.set(template);\n }\n\n public static ngTemplateContextGuard<TData>(\n dir: BsButtonTemplateDirective<TData>,\n ctx: any\n ): ctx is BsRButtonTemplateContext {\n return true;\n }\n\n}\n\nexport class BsRButtonTemplateContext {\n public $implicit: number = null!;\n}\n","import { Directive, effect, inject, input, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsItemTemplate]',\n})\nexport class BsItemTemplateDirective<T> {\n private multiselect = inject<BsMultiselectComponent<T>>(BsMultiselectComponent);\n\n constructor() {\n const template = inject(TemplateRef);\n this.multiselect.itemTemplate.set(template);\n\n effect(() => {\n const value = this.bsItemTemplateOf();\n if (value) {\n this.multiselect.items.set(value);\n }\n });\n }\n\n public static ngTemplateContextGuard<TData>(\n dir: BsItemTemplateDirective<TData>,\n ctx: any\n ): ctx is BsItemTemplateContext<Exclude<TData, false | 0 | '' | null | undefined>> {\n return true;\n }\n\n /** Pass the items array — forwards to BsMultiselectComponent.items */\n readonly bsItemTemplateOf = input<T[] | undefined>(undefined);\n}\n\nexport class BsItemTemplateContext<T> {\n public $implicit: T = null!;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -5,21 +5,21 @@ class BsNavbarTogglerComponent {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.state = model(false, ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
|
|
7
7
|
this.toggleOnClick = input(true, ...(ngDevMode ? [{ debugName: "toggleOnClick" }] : /* istanbul ignore next */ []));
|
|
8
|
+
this.ariaLabel = input('Toggle navigation', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
9
|
+
this.controls = input(null, ...(ngDevMode ? [{ debugName: "controls" }] : /* istanbul ignore next */ []));
|
|
8
10
|
}
|
|
9
|
-
toggleState(
|
|
11
|
+
toggleState() {
|
|
10
12
|
if (this.toggleOnClick()) {
|
|
11
13
|
this.state.update(v => !v);
|
|
12
14
|
}
|
|
13
15
|
}
|
|
14
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsNavbarTogglerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: BsNavbarTogglerComponent, isStandalone: true, selector: "bs-navbar-toggler", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, toggleOnClick: { classPropertyName: "toggleOnClick", publicName: "toggleOnClick", isSignal: true, isRequired: false, transformFunction: null }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: BsNavbarTogglerComponent, isStandalone: true, selector: "bs-navbar-toggler", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, toggleOnClick: { classPropertyName: "toggleOnClick", publicName: "toggleOnClick", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { state: "stateChange" }, ngImport: i0, template: "<button\n type=\"button\"\n class=\"navbar-toggler float-start\"\n [class.open]=\"state()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-expanded]=\"state()\"\n [attr.aria-controls]=\"controls()\"\n (click)=\"toggleState()\">\n <div></div>\n <div></div>\n <div></div>\n</button>\n", styles: [":host{align-self:start;top:0;right:0}.navbar-toggler{padding:.75rem 1rem;border:none;background:transparent;cursor:pointer}.navbar-toggler>div{width:25px;height:2px;background:#bbb;margin:6px 0;transition:.4s}.navbar-toggler.open>div:nth-of-type(1){-webkit-transform:rotate(-45deg) translate(-7px,5px);transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.open>div:nth-of-type(2){opacity:0}.navbar-toggler.open>div:nth-of-type(3){-webkit-transform:rotate(45deg) translate(-6px,-4px);transform:rotate(45deg) translate(-6px,-4px)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
18
|
}
|
|
17
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsNavbarTogglerComponent, decorators: [{
|
|
18
20
|
type: Component,
|
|
19
|
-
args: [{ selector: 'bs-navbar-toggler', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
20
|
-
|
|
21
|
-
}, template: "<div class=\"navbar-toggler float-left\" [class.open]=\"state()\">\n <div></div>\n <div></div>\n <div></div>\n</div>\n", styles: [":host{align-self:start;top:0;right:0}.navbar-toggler{padding:.75rem 1rem;border:none}.navbar-toggler>div{width:25px;height:2px;background:#bbb;margin:6px 0;transition:.4s}.navbar-toggler.open>div:nth-of-type(1){-webkit-transform:rotate(-45deg) translate(-7px,5px);transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.open>div:nth-of-type(2){opacity:0}.navbar-toggler.open>div:nth-of-type(3){-webkit-transform:rotate(45deg) translate(-6px,-4px);transform:rotate(45deg) translate(-6px,-4px)}\n"] }]
|
|
22
|
-
}], propDecorators: { state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }, { type: i0.Output, args: ["stateChange"] }], toggleOnClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleOnClick", required: false }] }] } });
|
|
21
|
+
args: [{ selector: 'bs-navbar-toggler', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n type=\"button\"\n class=\"navbar-toggler float-start\"\n [class.open]=\"state()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-expanded]=\"state()\"\n [attr.aria-controls]=\"controls()\"\n (click)=\"toggleState()\">\n <div></div>\n <div></div>\n <div></div>\n</button>\n", styles: [":host{align-self:start;top:0;right:0}.navbar-toggler{padding:.75rem 1rem;border:none;background:transparent;cursor:pointer}.navbar-toggler>div{width:25px;height:2px;background:#bbb;margin:6px 0;transition:.4s}.navbar-toggler.open>div:nth-of-type(1){-webkit-transform:rotate(-45deg) translate(-7px,5px);transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.open>div:nth-of-type(2){opacity:0}.navbar-toggler.open>div:nth-of-type(3){-webkit-transform:rotate(45deg) translate(-6px,-4px);transform:rotate(45deg) translate(-6px,-4px)}\n"] }]
|
|
22
|
+
}], propDecorators: { state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }, { type: i0.Output, args: ["stateChange"] }], toggleOnClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleOnClick", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], controls: [{ type: i0.Input, args: [{ isSignal: true, alias: "controls", required: false }] }] } });
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-navbar-toggler.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/navbar-toggler/src/navbar-toggler/navbar-toggler.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar-toggler/src/navbar-toggler/navbar-toggler.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar-toggler/mintplayer-ng-bootstrap-navbar-toggler.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, model } from '@angular/core';\n\n@Component({\n selector: 'bs-navbar-toggler',\n templateUrl: './navbar-toggler.component.html',\n styleUrls: ['./navbar-toggler.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-navbar-toggler.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/navbar-toggler/src/navbar-toggler/navbar-toggler.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar-toggler/src/navbar-toggler/navbar-toggler.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar-toggler/mintplayer-ng-bootstrap-navbar-toggler.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, model } from '@angular/core';\n\n@Component({\n selector: 'bs-navbar-toggler',\n templateUrl: './navbar-toggler.component.html',\n styleUrls: ['./navbar-toggler.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsNavbarTogglerComponent {\n state = model<boolean>(false);\n toggleOnClick = input<boolean>(true);\n ariaLabel = input<string>('Toggle navigation');\n controls = input<string | null>(null);\n\n toggleState() {\n if (this.toggleOnClick()) {\n this.state.update(v => !v);\n }\n }\n}\n","<button\n type=\"button\"\n class=\"navbar-toggler float-start\"\n [class.open]=\"state()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-expanded]=\"state()\"\n [attr.aria-controls]=\"controls()\"\n (click)=\"toggleState()\">\n <div></div>\n <div></div>\n <div></div>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAQa,wBAAwB,CAAA;AANrC,IAAA,WAAA,GAAA;AAOE,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAU,KAAK,4EAAC;AAC7B,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAU,IAAI,oFAAC;AACpC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAS,mBAAmB,gFAAC;AAC9C,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAgB,IAAI,+EAAC;AAOtC,IAAA;IALC,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B;IACF;+GAVW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,yoBCRrC,4TAYA,EAAA,MAAA,EAAA,CAAA,2hBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDJa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;+BACE,mBAAmB,EAAA,eAAA,EAGZ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4TAAA,EAAA,MAAA,EAAA,CAAA,2hBAAA,CAAA,EAAA;;;AENjD;;AAEG;;;;"}
|